From 93eecc849736de39505ee163a6407fe2c566d257 Mon Sep 17 00:00:00 2001 From: David Leverton Date: Mon, 8 Jul 2013 21:58:49 +0100 Subject: [PATCH] Bump Glulxe to 0.5.1 * Drop verify USE flag - upstream turned it on by default, so I think that means it should be considered thoroughly recommended. * Profiling can now be toggled at runtime, so add a USE flag to include that functionality. --- games-engines/glulxe/Manifest | 10 ++--- .../glulxe/files/glulxe-0.4.3-gargoyle.patch | 46 ---------------------- .../glulxe/files/glulxe-0.5.1-gargoyle.patch | 41 +++++++++++++++++++ .../{glulxe-0.4.6.ebuild => glulxe-0.5.1.ebuild} | 21 +++++++--- games-engines/glulxe/metadata.xml | 5 +-- 5 files changed, 63 insertions(+), 60 deletions(-) rewrite games-engines/glulxe/Manifest (100%) delete mode 100644 games-engines/glulxe/files/glulxe-0.4.3-gargoyle.patch create mode 100644 games-engines/glulxe/files/glulxe-0.5.1-gargoyle.patch rename games-engines/glulxe/{glulxe-0.4.6.ebuild => glulxe-0.5.1.ebuild} (64%) diff --git a/games-engines/glulxe/Manifest b/games-engines/glulxe/Manifest dissimilarity index 100% index 8a7b74a..22be419 100644 --- a/games-engines/glulxe/Manifest +++ b/games-engines/glulxe/Manifest @@ -1,5 +1,5 @@ -AUX glulxe-0.4.3-gargoyle.patch 1366 RMD160 a1c51775676aa469474330c1767ff9eafde8eed2 SHA1 17f9791e23d506b0d01581a10c8d95b565a1f557 SHA256 8b7d2ec62f9d24262df79a3a9b2430602e81412f7969305a71fba8bf2f37d229 -AUX glulxe-0.4.6-user-CFLAGS.patch 982 RMD160 f2367703e1a2a2a7c9c46a2a45737174222ef9c0 SHA1 b72fe15fcfe6c8ca5b9e1053c5cb212c6984274f SHA256 d188c594f9ab9497e54b58c35c91ba8e30862805ce7f905d66014cd408bc0b26 -EBUILD glulxe-0.4.6.ebuild 1011 RMD160 04eced0e4cb85db7ad32c128a8a1784da0be72c7 SHA1 63d6e00cee19c1f4e4f3b3d1484249d16c657550 SHA256 6fa72aec7e3f94f59d0ee777eba5bc2d6f4f80e5e2904224a4c3ecfcc291a900 -MISC metadata.xml 359 RMD160 f08a6c957c3914e47629190ef75f193b21c92322 SHA1 d37d49e213fb9b508b0a82751ae31ed848e802b7 SHA256 9d31c2e2ac13452bc54dcd48f278721efc2c58a36e704647c28a59b6c138723a -DIST glulxe-046.tar.gz 60019 RMD160 34a52c12e1c331d2d7f83d8b3d7981e73a5ac2c0 SHA1 978bb029ddaf9daa22f430b4a73744583b4bcce2 SHA256 85c536988cd1642dceca8150fd2c12a86e6b65ca06a26251ba98aefc322678ec +AUX glulxe-0.4.6-user-CFLAGS.patch 982 SHA256 d188c594f9ab9497e54b58c35c91ba8e30862805ce7f905d66014cd408bc0b26 SHA512 97897202005a87cc6108410d660414e97bb5c06d33db940a51131dc70bc819cc93be19a231e2ed3cbc703560b9c0112a0c2dd28162d0b46b32e9219fbd6b143a WHIRLPOOL 2111911292e4c59b7d296f6e4761580b5a391852c08195552965c4d55087d4d0820dcbf65be88b36f8a59cdb126aa098c4f42ac6aebdede5ac7588fb374fd697 +AUX glulxe-0.5.1-gargoyle.patch 1198 SHA256 a5f6c38f0cd71cebf6c3277834effc342f6b09d5c74f5611b09ae8191ab8d52e SHA512 cd549ec5a5a0d6dfc47dcecac092e97593d44083d8f18c039883a0def1f575bbccfd6cca92dc81339800a7671f65249c35e80558c54e8ba385620a1c522192a0 WHIRLPOOL 73087ba2310e91fd767d1dbb51e6174de2d6a160946c669417c059ffd403d5e39e52bfbe444d4d48327450b8bacff2f2c91485b4db34e841b7ba62c6b56ea3cc +DIST glulxe-051.tar.gz 74540 SHA256 33c563bdbd0fdbae625e1a2441e9a6f40f1491f1cdc2a197bbd6cf2c32c3830d SHA512 20c0c812adb7631adcca45f410a3ab4c4d44240ed5885d8c8c54d8f60ce4abeaed5ef0566084fe4603dcf93dff1d977966356f901179be3fa13f18e3593373ff WHIRLPOOL 661a5c816e12a9e99f174834fcfa5fb6355b160e440518ac995658e013ad4b3c2c3d3a07207c57e606ed30e6611c0fb099b26e5ca5c4243ea4d9ba126979d584 +EBUILD glulxe-0.5.1.ebuild 1305 SHA256 cc3809c200eed24520619c4b7261c9a6bb6880db6c9007ee6f4c2e36fb3f96fe SHA512 abdc7e806c3cb5e85b2ba767bdd273a211aa58ef534ec9e198bba6747ac9a0a376b0f0caa68c9f7d4f162405fd66672f25a627ec1de295a4efdfdbe20286078e WHIRLPOOL ed62026f9ba216b0dfacc2be14632de3d57c350e9f766475f3748dbf057a02a3086cc23d6332999f993ccd26011bb9e4fd71b86bae86a7813e6a8e5246afc31a +MISC metadata.xml 322 SHA256 9dcbd779ed59265fd2c639644e19a6efe99ce4082066ec40bea0f429fbb2dbbc SHA512 01b2c88c2dff6ef0a4a4ae3dec7a803d54a3cdbfaf0684306ab17f2e1fefb5cd442b13f3d668194aa9417d943e06e9d9c59f7548b65c770057158a49c8d04017 WHIRLPOOL ddff285e5a0d2883f018576f804ea2711cd716baa5d5809c7f053d0db42b83c65fca67edd390c13a3e876185f0a1e1d1680433fa28568f880dc894b2215d79aa diff --git a/games-engines/glulxe/files/glulxe-0.4.3-gargoyle.patch b/games-engines/glulxe/files/glulxe-0.4.3-gargoyle.patch deleted file mode 100644 index 6f684b6..0000000 --- a/games-engines/glulxe/files/glulxe-0.4.3-gargoyle.patch +++ /dev/null @@ -1,46 +0,0 @@ -Source: extracted from gargoyle-2006-09-17-source.zip and tweaked to - not hard-code the version number -Upstream: Gentoo-specific hack -Reason: use Gargoyle extension functions to set a nice window title - ---- glulxe/unixstrt.c~ 2000-02-10 03:43:34.000000000 +0000 -+++ glulxe/unixstrt.c 2007-12-18 16:02:53.000000000 +0000 -@@ -7,6 +7,8 @@ - #include "glulxe.h" - #include "glkstart.h" /* This comes with the Glk library. */ - -+#include "string.h" -+ - /* The only command-line argument is the filename. */ - glkunix_argumentlist_t glkunix_arguments[] = { - { "", glkunix_arg_ValueFollows, "filename: The game file to load." }, -@@ -21,8 +23,16 @@ - unsigned char buf[12]; - int res; - -+#ifdef GARGLK -+ garglk_set_program_name("Glulxe @PV@"); -+ garglk_set_program_info("Glulxe @PV@ by Andrew Plotkin"); -+#endif -+ - if (data->argc <= 1) { - init_err = "You must supply the name of a game file."; -+#ifdef GARGLK -+ return TRUE; /* Hack! but I want error message in glk window */ -+#endif - return FALSE; - } - cx = data->argv[1]; -@@ -34,6 +44,12 @@ - return TRUE; - } - -+#ifdef GARGLK -+ cx = strrchr(data->argv[1], '/'); -+ if (!cx) cx = strrchr(data->argv[1], '\\'); -+ garglk_set_story_name(cx ? cx + 1 : data->argv[1]); -+#endif -+ - /* Now we have to check to see if it's a Blorb file. */ - - glk_stream_set_position(gamefile, 0, seekmode_Start); diff --git a/games-engines/glulxe/files/glulxe-0.5.1-gargoyle.patch b/games-engines/glulxe/files/glulxe-0.5.1-gargoyle.patch new file mode 100644 index 0000000..c2fb94e --- /dev/null +++ b/games-engines/glulxe/files/glulxe-0.5.1-gargoyle.patch @@ -0,0 +1,41 @@ +Source: extracted from gargoyle-2011.1-sources.zip, updated and + tweaked to not hard-code the version number +Upstream: Gentoo-specific hack +Reason: use Gargoyle extension functions to set a nice window title + +--- glulxe/unixstrt.c~ 2013-03-11 02:09:38.000000000 +0000 ++++ glulxe/unixstrt.c 2013-07-08 21:47:46.000000000 +0100 +@@ -33,7 +33,7 @@ + /* It turns out to be more convenient if we return TRUE from here, even + when an error occurs, and display an error in glk_main(). */ + int ix; +- char *filename = NULL; ++ char *filename = NULL, *cx; + unsigned char buf[12]; + int res; + +@@ -65,6 +65,11 @@ + filename = data->argv[ix]; + } + ++#ifdef GARGLK ++ garglk_set_program_name("Glulxe @PV@"); ++ garglk_set_program_info("Glulxe @PV@ by Andrew Plotkin"); ++#endif ++ + if (!filename) { + init_err = "You must supply the name of a game file."; + return TRUE; +@@ -77,6 +82,12 @@ + return TRUE; + } + ++#ifdef GARGLK ++ cx = strrchr(filename, '/'); ++ if (!cx) cx = strrchr(filename, '\\'); ++ garglk_set_story_name(cx ? cx + 1 : filename); ++#endif ++ + /* Now we have to check to see if it's a Blorb file. */ + + glk_stream_set_position(gamefile, 0, seekmode_Start); diff --git a/games-engines/glulxe/glulxe-0.4.6.ebuild b/games-engines/glulxe/glulxe-0.5.1.ebuild similarity index 64% rename from games-engines/glulxe/glulxe-0.4.6.ebuild rename to games-engines/glulxe/glulxe-0.5.1.ebuild index 9670d1a..48bd60d 100644 --- a/games-engines/glulxe/glulxe-0.4.6.ebuild +++ b/games-engines/glulxe/glulxe-0.5.1.ebuild @@ -1,9 +1,7 @@ -# Copyright 1999-2008 Gentoo Foundation +# Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: $ -EAPI=1 - inherit eutils flag-o-matic games MY_P=${P//./} @@ -14,11 +12,13 @@ SRC_URI="mirror://ifarchive/programming/glulx/interpreters/${PN}/${MY_P}.tar.gz" LICENSE="Zarf" SLOT="0" KEYWORDS="~amd64 ~x86" -IUSE="+verify" +IUSE="profile" RDEPEND="dev-games/glkloader" DEPEND="${RDEPEND} dev-games/glk-headers" +RDEPEND="${RDEPEND} + profile? ( =dev-lang/python-2* )" S=${WORKDIR}/${PN} @@ -27,12 +27,17 @@ src_unpack() { cd "${S}" epatch "${FILESDIR}"/glulxe-0.4.6-user-CFLAGS.patch - epatch "${FILESDIR}"/glulxe-0.4.3-gargoyle.patch + epatch "${FILESDIR}"/glulxe-0.5.1-gargoyle.patch sed -i -e "s,@PV@,${PV}," unixstrt.c || die "sed failed" + + sed -i \ + -e '1s,/usr/bin/python,/usr/bin/python2,' \ + -e 's/profile-analyze\.py/glulxe-&/g' \ + profile-analyze.py || die "sed failed" } src_compile() { - use verify && append-flags -DVERIFY_MEMORY_ACCESS=1 + use profile && append-flags -DVM_PROFILING=1 emake \ GLKINCLUDEDIR=/usr/include/glk \ GLKMAKEFILE=Make.glkloader \ @@ -41,6 +46,10 @@ src_compile() { src_install() { dogamesbin glulxe || die "dogamesbin failed" + if use profile; then + newgamesbin profile-analyze.py glulxe-profile-analyze.py || die "newgamesbin failed" + fi + dodoc README || die "dodoc failed" prepgamesdirs } diff --git a/games-engines/glulxe/metadata.xml b/games-engines/glulxe/metadata.xml index 30eb113..d73d870 100644 --- a/games-engines/glulxe/metadata.xml +++ b/games-engines/glulxe/metadata.xml @@ -6,9 +6,8 @@ levertond@googlemail.com - - Check for invalid memory access made by the game. This is slower - but safer + + Include support for profiling story files -- 2.11.4.GIT