From 4f2d7949f03e1c198bc888f2d05f421d35c57e21 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Mon, 9 Oct 2017 18:53:29 +0100 Subject: reinit the tree, so we can have metadata --- games-rpg/eternal-lands/Manifest | 15 + .../eternal-lands/eternal-lands-1.9.2-r1.ebuild | 153 ++++++++++ games-rpg/eternal-lands/eternal-lands-1.9.2.ebuild | 149 ++++++++++ .../eternal-lands/eternal-lands-1.9.3-r2.ebuild | 121 ++++++++ games-rpg/eternal-lands/eternal-lands-1.9.3.ebuild | 153 ++++++++++ .../files/eternal-lands-1.9.1-libpng.patch | 23 ++ .../files/eternal-lands-1.9.2-glext.patch | 11 + .../files/eternal-lands-1.9.3-build.patch | 314 +++++++++++++++++++++ .../files/eternal-lands-1.9.3-glbuild.patch | 25 ++ .../files/eternal-lands-1.9.3-minizip.patch | 75 +++++ games-rpg/eternal-lands/metadata.xml | 14 + 11 files changed, 1053 insertions(+) create mode 100644 games-rpg/eternal-lands/Manifest create mode 100644 games-rpg/eternal-lands/eternal-lands-1.9.2-r1.ebuild create mode 100644 games-rpg/eternal-lands/eternal-lands-1.9.2.ebuild create mode 100644 games-rpg/eternal-lands/eternal-lands-1.9.3-r2.ebuild create mode 100644 games-rpg/eternal-lands/eternal-lands-1.9.3.ebuild create mode 100644 games-rpg/eternal-lands/files/eternal-lands-1.9.1-libpng.patch create mode 100644 games-rpg/eternal-lands/files/eternal-lands-1.9.2-glext.patch create mode 100644 games-rpg/eternal-lands/files/eternal-lands-1.9.3-build.patch create mode 100644 games-rpg/eternal-lands/files/eternal-lands-1.9.3-glbuild.patch create mode 100644 games-rpg/eternal-lands/files/eternal-lands-1.9.3-minizip.patch create mode 100644 games-rpg/eternal-lands/metadata.xml (limited to 'games-rpg/eternal-lands') diff --git a/games-rpg/eternal-lands/Manifest b/games-rpg/eternal-lands/Manifest new file mode 100644 index 000000000000..64ae1959d593 --- /dev/null +++ b/games-rpg/eternal-lands/Manifest @@ -0,0 +1,15 @@ +AUX eternal-lands-1.9.1-libpng.patch 604 SHA256 a60bd9a16aa965e451a747bd43a5650af9d62b53a2e6fae93a6b3d94b2357e60 SHA512 41700e5ffaf749a691b7588006ca28142477690d4d4f1d0b1517e5d5188c2932fa8a08c1538cc36198fc19a7f8fa58646a2e51fd7500e3f175b0e55e0903e0df WHIRLPOOL cc62a5b008b8fe9c6fb51ba139e70f154ca1a1f5f11146accba4ae62a532b009d5c9f9c92b80e6716b833db108b90111317a0bdea97a968df43607a133a9a8aa +AUX eternal-lands-1.9.2-glext.patch 296 SHA256 fa66cc5793df66c804c02395587b1866b9ce843a2eea2a6161003ff9dad37bbc SHA512 523fff594a86e770a573731092e7cc9d02121f183ac1d9d123acff2b082c00f0a9111e2262313f2f208b1b00a6a6a61d19eace36e8da0baa40ca5e3aecc7fdaf WHIRLPOOL 909cf73906dde12b7e17af02ff4ab1722d6325c6f0122db964a72863553ceb388eca35e8ea94b0d982da039ab19e0a4171765799264499aa3585afa9ff4f72ed +AUX eternal-lands-1.9.3-build.patch 16222 SHA256 cc4dea9ea06fb62cd662cf07cd478f6e3d0f5afa2c7730c63943909cf2676ef8 SHA512 b268c0f1dab0f86bfcea3d13122983c4efdbf9941d1851618a01986b2fc36139350e830c6838c229f7ffbb69fd51a46d06277eb43167a47e192b86db710dcfc7 WHIRLPOOL 4672c9bf0ca77703d18e676f072e7bca2354f4a9fa1d048bba2319b63ceabfcc5b2cc653235490fef33f677b59938d37ee0a501122942a21a30932041175e817 +AUX eternal-lands-1.9.3-glbuild.patch 581 SHA256 333e0e0bcc96b6ec3776415ad8a6793e271628b41c3733d9f1aeeb9092142673 SHA512 583b306f98975e8d86314519cfd0034870d07a2d908de9ac2fae9eba50ce90acc7f8949fbe40379a13308ebfdf33379f5801ccfe83d67c318b8edc3ddc0a9ed5 WHIRLPOOL d695d1f9fa668f1246f934fe0ee845b43e56533800ce97513b1d72341e8f88aebc5b8600f005a539253bc21e18426a5ee909f9311bc73797f4189fdda584a638 +AUX eternal-lands-1.9.3-minizip.patch 2142 SHA256 17101affdb96dff6de028dc1729d6d62237d8ff685d986c77806ed8721afcb5d SHA512 2a560c99504a649de7d01d08bb4d92cdd803e6c91b2ef2d1e82449268e8248b468fb8bb855e8e73396e8d4e5e2def44bda9df07f654b730bb25b509550d0f826 WHIRLPOOL 3cbb12da0a6f0a8f25046490a0692a84ed2f91fc1d87f2548f79321478607275c471ed5549df2254f2599713560956607df2f3d4cb781ca9419cdbdf78897577 +DIST elc_1.9.2-20110618.tar.bz2 2164208 SHA256 0226c95dc9e0a93713d2d8efcba7f75fbb97efe9b2b4f3b527e2851db69a0fad SHA512 8ce7465fbe40dbc20efff07578d9abea9711fc134302880368568f1057d32f506c478ee66c63953ea5ed5eabd7ef6afda55524dcf521facc9cd368dbc0273a79 WHIRLPOOL cecb8cf4faf9d14411f09834f885583b9f8d752524f57313e58c831be3be4fd8ef4277ae6ac26b950f661c743c09f3b61fc0762a37d0602c7f2d75015cd4ea26 +DIST elc_1.9.3-20120213.tar.bz2 2401172 SHA256 b5ca11a2fc8db72003c6719ed031f9a7536865647a0278fa45ad8426ce88599e SHA512 3580d3ceb94094443ef25f6e4880c9ffe3fff256c8d8e6657b4e0683a05184da9e6a76264557d2065a8187e3d36febd9d30ff5adff83a17607b1e478be90fabc WHIRLPOOL 12461eb7c4e453c7f9e3b607ce6f0c935e78c37e04a5736dcbf59775324e9280fc7f6302792d35984a7ae21ad4e48e35854568400df279714131de4a39b0a075 +DIST eternal-lands.png 9955 SHA256 dd7d45cd9948fe7875ebd0bfcd1925d9b34e7606a223faf61d37a6dd2cd433fb SHA512 c77571c949bb43fa7f95ae58f863ed972cfc76e184de5d0fa0a3599e4f7539f6334b843233b61fc807c90ef270d87cd57494510ce559427b592d255c198729bf WHIRLPOOL 760a339efeda97dd517ebc6dc4e222a77d35fb936002ff4f3ec571b9845ba53ce677dc3ce1a2206bb49a0b33efda231f5677fff25aadb700c191d9f7e17a778f +EBUILD eternal-lands-1.9.2-r1.ebuild 4055 SHA256 b22bc538bc57bb810a3477b4d485520ec2a08ad963cbb2872d09ce4fc89beb41 SHA512 65977c49f4d113be4ef4f0389ba4e3605f0c72a229a4ee03e7e66a6d0322029dc9e1591cb7e92e22e16c0ce85df8c8b52930874c264ea9de6336cd0aaf09e0ec WHIRLPOOL cdb0423b13753e885e51e5127d8021443de776428e2823a211f2bd339ad396132ac891caedb9968eee593f3cbc7a05a6411ccde4ab1f55091438a63726ad6bd5 +EBUILD eternal-lands-1.9.2.ebuild 3952 SHA256 c3fcf5b4a781d8e854d2dbd08cf81b29015be98c07760bcac4397a990d5ffc1b SHA512 1813a39956d13c65b07c3cb77022bea73b47dfb9767cca63fbf0e6c6f147395ceb90fc231bd3bb9efffdef25a05094917104e647f3d6179e3be50160fabdf78f WHIRLPOOL 2037a7b07ea8c3f1512ed0100a84ef6e870c169432b6e64c9b38b09ce419c9a29b1ed8e55b18a8f762395991379f5e3234ba9392cf9c1ca2961b3b963dc85074 +EBUILD eternal-lands-1.9.3-r2.ebuild 2853 SHA256 0161605e41c09929e1c2428c3fd6c5d97cc8e0774002b3f3697f4ed9c84ac916 SHA512 d67cbfb1b521709f783ddb4429de88500efe327c89cf1a9c37043efa8a86fa28877621c158cd867a600b9b7e93818fc5b78aefa3cb967cb631d76321ec37bfcf WHIRLPOOL 34a4fb022445743a39f115cee34f807ae61defd6ceb8efc5953695ae0f3e18068dd23d77593c0cb25304bfcd4d5b7567e1f2d0d0bdad40ca09eac4031c9a97df +EBUILD eternal-lands-1.9.3.ebuild 4031 SHA256 e02fd8f1c534948000edc12d24f8ed589d43ede8fcb3d092f00e83837bc142f6 SHA512 ae59954a4c34092f7991bfa0e865d3f43a75934fbef70f569561f40307dd6a23fa99b57f95e99d2ef86a1629cd1777cbe4f5e2d93c8409126dd471117470f5a1 WHIRLPOOL c37144be05267b2a44477ecadd4460b782b4704f0b86bbf1627622411c5a626101bb47212d5e9ca3e64445013da4a1a0f2fce7bf6de6d2e829c71f6dc0293c79 +MISC ChangeLog 3471 SHA256 0212366d4ef58e2a42a49f64ce404b4af49c533443ff18bb3a7f509ac3c0c1c1 SHA512 f377a0646ad33cdaa7c75bd40f368e0baad652072e2f2b022be69beb075d8a971403de15edead95f66fc219a6694140b259ed9b207c8a39f3a3616d36bc1c650 WHIRLPOOL eb0ece214fb5b79f8144ad39f6a14f688a2650a7ad9dd3a4581d0fbcd8cfeb98fd4a913a2fdc1562bdef537ca1f006d077df04dbf3f6098c12f4db6d539874cf +MISC ChangeLog-2015 12948 SHA256 87844d1128e65b4a05eadedbed478956e35a21eec339e54fd5946ef4f55abc6f SHA512 e75b0aab2871ba8f5fb1c738208cb7011a3dff2d22c941f9e25ee7647ce7c84baa2d13e7fe69a57852922f9678c962c5396475632afbc132ecbe04dda246102b WHIRLPOOL 46f61f460bcd9b1131ed29ba1896c1f2b7119e7e329e55731a02965bb54172a1fa4a3157a591bd9e2523e5caca380f96db50e2953ebbbdeb2b708d4d2ef5adf2 +MISC metadata.xml 473 SHA256 132dddcc31613183b7094263ea3d8ad5ede1fb2c4dce4a3a90354cbdd4ac26d3 SHA512 155747ce4853628667e2e66717b4d64df8f841194b4b1684aaaadb240393c3763ad0071f98140ed0ec36c47f134f3f0dd4c4d5b8bf91d3ab0df1aeaf7558dec0 WHIRLPOOL 4769424424cef1fa8d5efb3e2dbf82a8300fe533f83671ed4593c07bbfe0dc9326e2b71f28b90941ddeff6665375a401e8d25fabf1b808a174abb16b050eb0d3 diff --git a/games-rpg/eternal-lands/eternal-lands-1.9.2-r1.ebuild b/games-rpg/eternal-lands/eternal-lands-1.9.2-r1.ebuild new file mode 100644 index 000000000000..70023bc26074 --- /dev/null +++ b/games-rpg/eternal-lands/eternal-lands-1.9.2-r1.ebuild @@ -0,0 +1,153 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=2 +inherit eutils flag-o-matic games + +DESCRIPTION="An online MMORPG written in C and SDL" +HOMEPAGE="http://www.eternal-lands.com" +SRC_URI="https://dev.gentoo.org/~rich0/distfiles/elc_1.9.2-20110618.tar.bz2 + https://dev.gentoo.org/~rich0/distfiles/eternal-lands.png" + +LICENSE="eternal_lands" +SLOT="0" +KEYWORDS="~amd64 ~x86 ~x86-fbsd" +IUSE="debug doc kernel_linux" + +RDEPEND="x11-libs/libX11 + x11-libs/libXau + x11-libs/libXdmcp + x11-libs/libXext + virtual/opengl + virtual/glu + media-libs/libsdl[X] + media-libs/sdl-net + media-libs/sdl-image + media-libs/openal + media-libs/freealut + media-libs/libvorbis + dev-libs/libxml2 + media-libs/cal3d[-16bit-indices] + media-libs/libpng + >=games-rpg/eternal-lands-data-1.9.2" + +DEPEND="${RDEPEND} + >=app-eselect/eselect-opengl-1.0.6-r1 + app-arch/unzip + doc? ( app-doc/doxygen + media-gfx/graphviz )" + +#ECVS_SERVER="cvs.elc.berlios.de:/cvsroot/elc" +#ECVS_MODULE="elc" +#ECVS_USER="anonymous" +#ECVS_LOCALNAME="elc" +#ECVS_PASS="" +#ECVS_CVS_OPTIONS="-dP -z3" +#ECVS_BRANCH="elc_1_8_0" + +#S="${WORKDIR}/${ECVS_MODULE}" +S="${WORKDIR}/elc" + +src_unpack() { +# cvs_src_unpack + OPTIONS="-DDATA_DIR="\\\\\"${GAMES_DATADIR}/${PN}/\\\\\""" + S_CLIENT="${WORKDIR}/elc" + BROWSER="firefox" + unpack ${A} + cd "${S}" +} + +src_prepare() { + # Add debugging options + if use debug ; then + OPTIONS="${OPTIONS} -DMEMORY_DEBUG" + append-flags -ggdb + fi + + # Clean compile flags (make Gentoo friendly) + sed -i \ + -e "s@CFLAGS=\$(PLATFORM) \$(CWARN) -O0 -ggdb -pipe@CFLAGS = ${CFLAGS} ${OPTIONS} @g" \ + -e "s@CXXFLAGS=\$(PLATFORM) \$(CXXWARN) -O0 -ggdb -pipe@CXXFLAGS = ${CXXFLAGS} ${OPTIONS} @g" \ + -e 's/lopenal/lopenal -l alut/' \ + Makefile.linux || die "sed failed" + + sed -i \ + -e 's/#browser/browser/g' \ + -e "s/browser = mozilla/#browser = ${BROWSER}/g" \ + -e "s@#data_dir = /usr/local/games/el/@#data_dir = ${GAMES_DATADIR}/${PN}/@g" \ + el.ini || die "sed failed" + + # Support BSD in the Linux makefile - it's easier + use kernel_linux || sed -i \ + -e 's/^CFLAGS=.*/& -DBSD/' \ + Makefile.linux || die "sed failed" + + # Clean up library flag order for --as-needed +# sed -i -e 's/@$(LINK) $(CFLAGS) $(LDFLAGS) -o $(EXE) $(OBJS)/@$(LINK) $(CFLAGS) -o $(EXE) $(OBJS) $(LDFLAGS)/' Makefile.linux + + # Finally, update the server + sed -i -e '/#server_address =/ s/.*/#server_address = game.eternal-lands.com/' \ + el.ini || die "sed failed" + + sed -i -e 's:FEATURES:EL_FEATURES:' make.defaults + sed -i -e 's:FEATURES:EL_FEATURES:' Makefile.linux + + if use debug; then + sed -i -e 's/#\(EL_FEATURES += MEMORY_DEBUG\)/\1/' make.defaults + sed -i -e 's/#\(EL_FEATURES += MEMORY_DEBUG\)/\1/' Makefile.linux + fi + + cp Makefile.linux Makefile + + epatch "${FILESDIR}/${PN}-1.9.2-glext.patch" +# epatch "${FILESDIR}/${PN}-1.9.1-libpng.patch" + +# Fix for Gentoo zlib OF redefine + + sed -i '1i#define OF(x) x' `find -name "*.c"` || die "sed failed" +} + +src_compile() { + emake || die "make failed" + + if use doc; then + emake docs || die "Failed to create documentation, try with USE=-doc" + mv ./docs/html/ ../client || die "Failed to move documentation directory" + fi +} + +src_install() { + doicon "${DISTDIR}/eternal-lands.png" ${PN}.png + + newgamesbin el.x86.linux.bin el \ + || die "newgamesbin failed" + make_desktop_entry el "Eternal Lands" \ + || die "make_desktop_entry failed" + insopts -m 0660 + insinto "${GAMES_DATADIR}/${PN}" + + doins -r *.ini *.txt commands.lst \ + || die "doins failed" + + if use doc ; then + dohtml -r client/* + fi + + prepgamesdirs +} + +pkg_postinst() { + games_pkg_postinst + elog "Auto Update is now enabled in Eternal Lands" + elog "If an update occurs then the client will suddenly exit" + elog "Updates only happen when the game first loads" + elog "Please don't report this behaviour as a bug" + + # Ensure that the files are writable by the game group for auto + # updating. + chmod -R g+rw "${ROOT}/${GAMES_DATADIR}/${PN}" + + # Make sure new files stay in games group + find "${ROOT}/${GAMES_DATADIR}/${PN}" -type d -exec chmod g+sx {} \; + +} diff --git a/games-rpg/eternal-lands/eternal-lands-1.9.2.ebuild b/games-rpg/eternal-lands/eternal-lands-1.9.2.ebuild new file mode 100644 index 000000000000..dfdd692983b3 --- /dev/null +++ b/games-rpg/eternal-lands/eternal-lands-1.9.2.ebuild @@ -0,0 +1,149 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=2 +inherit eutils flag-o-matic games + +DESCRIPTION="An online MMORPG written in C and SDL" +HOMEPAGE="http://www.eternal-lands.com" +SRC_URI="https://dev.gentoo.org/~rich0/distfiles/elc_1.9.2-20110618.tar.bz2 + https://dev.gentoo.org/~rich0/distfiles/eternal-lands.png" + +LICENSE="eternal_lands" +SLOT="0" +KEYWORDS="~amd64 ~x86 ~x86-fbsd" +IUSE="debug doc kernel_linux" + +RDEPEND="x11-libs/libX11 + x11-libs/libXau + x11-libs/libXdmcp + x11-libs/libXext + virtual/opengl + virtual/glu + media-libs/libsdl[X] + media-libs/sdl-net + media-libs/sdl-image + media-libs/openal + media-libs/freealut + media-libs/libvorbis + dev-libs/libxml2 + media-libs/cal3d[-16bit-indices] + media-libs/libpng + >=games-rpg/eternal-lands-data-1.9.2" + +DEPEND="${RDEPEND} + >=app-eselect/eselect-opengl-1.0.6-r1 + app-arch/unzip + doc? ( app-doc/doxygen + media-gfx/graphviz )" + +#ECVS_SERVER="cvs.elc.berlios.de:/cvsroot/elc" +#ECVS_MODULE="elc" +#ECVS_USER="anonymous" +#ECVS_LOCALNAME="elc" +#ECVS_PASS="" +#ECVS_CVS_OPTIONS="-dP -z3" +#ECVS_BRANCH="elc_1_8_0" + +#S="${WORKDIR}/${ECVS_MODULE}" +S="${WORKDIR}/elc" + +src_unpack() { +# cvs_src_unpack + OPTIONS="-DDATA_DIR="\\\\\"${GAMES_DATADIR}/${PN}/\\\\\""" + S_CLIENT="${WORKDIR}/elc" + BROWSER="firefox" + unpack ${A} + cd "${S}" +} + +src_prepare() { + # Add debugging options + if use debug ; then + OPTIONS="${OPTIONS} -DMEMORY_DEBUG" + append-flags -ggdb + fi + + # Clean compile flags (make Gentoo friendly) + sed -i \ + -e "s@CFLAGS=\$(PLATFORM) \$(CWARN) -O0 -ggdb -pipe@CFLAGS = ${CFLAGS} ${OPTIONS} @g" \ + -e "s@CXXFLAGS=\$(PLATFORM) \$(CXXWARN) -O0 -ggdb -pipe@CXXFLAGS = ${CXXFLAGS} ${OPTIONS} @g" \ + -e 's/lopenal/lopenal -l alut/' \ + Makefile.linux || die "sed failed" + + sed -i \ + -e 's/#browser/browser/g' \ + -e "s/browser = mozilla/#browser = ${BROWSER}/g" \ + -e "s@#data_dir = /usr/local/games/el/@#data_dir = ${GAMES_DATADIR}/${PN}/@g" \ + el.ini || die "sed failed" + + # Support BSD in the Linux makefile - it's easier + use kernel_linux || sed -i \ + -e 's/^CFLAGS=.*/& -DBSD/' \ + Makefile.linux || die "sed failed" + + # Clean up library flag order for --as-needed +# sed -i -e 's/@$(LINK) $(CFLAGS) $(LDFLAGS) -o $(EXE) $(OBJS)/@$(LINK) $(CFLAGS) -o $(EXE) $(OBJS) $(LDFLAGS)/' Makefile.linux + + # Finally, update the server + sed -i -e '/#server_address =/ s/.*/#server_address = game.eternal-lands.com/' \ + el.ini || die "sed failed" + + sed -i -e 's:FEATURES:EL_FEATURES:' make.defaults + sed -i -e 's:FEATURES:EL_FEATURES:' Makefile.linux + + if use debug; then + sed -i -e 's/#\(EL_FEATURES += MEMORY_DEBUG\)/\1/' make.defaults + sed -i -e 's/#\(EL_FEATURES += MEMORY_DEBUG\)/\1/' Makefile.linux + fi + + cp Makefile.linux Makefile + + epatch "${FILESDIR}/${PN}-1.9.2-glext.patch" +# epatch "${FILESDIR}/${PN}-1.9.1-libpng.patch" +} + +src_compile() { + emake || die "make failed" + + if use doc; then + emake docs || die "Failed to create documentation, try with USE=-doc" + mv ./docs/html/ ../client || die "Failed to move documentation directory" + fi +} + +src_install() { + doicon "${DISTDIR}/eternal-lands.png" ${PN}.png + + newgamesbin el.x86.linux.bin el \ + || die "newgamesbin failed" + make_desktop_entry el "Eternal Lands" \ + || die "make_desktop_entry failed" + insopts -m 0660 + insinto "${GAMES_DATADIR}/${PN}" + + doins -r *.ini *.txt commands.lst \ + || die "doins failed" + + if use doc ; then + dohtml -r client/* + fi + + prepgamesdirs +} + +pkg_postinst() { + games_pkg_postinst + elog "Auto Update is now enabled in Eternal Lands" + elog "If an update occurs then the client will suddenly exit" + elog "Updates only happen when the game first loads" + elog "Please don't report this behaviour as a bug" + + # Ensure that the files are writable by the game group for auto + # updating. + chmod -R g+rw "${ROOT}/${GAMES_DATADIR}/${PN}" + + # Make sure new files stay in games group + find "${ROOT}/${GAMES_DATADIR}/${PN}" -type d -exec chmod g+sx {} \; + +} diff --git a/games-rpg/eternal-lands/eternal-lands-1.9.3-r2.ebuild b/games-rpg/eternal-lands/eternal-lands-1.9.3-r2.ebuild new file mode 100644 index 000000000000..02a7b89440be --- /dev/null +++ b/games-rpg/eternal-lands/eternal-lands-1.9.3-r2.ebuild @@ -0,0 +1,121 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 +inherit eutils flag-o-matic gnome2-utils games + +DESCRIPTION="An online MMORPG written in C and SDL" +HOMEPAGE="http://www.eternal-lands.com" +SRC_URI="mirror://gentoo/elc_1.9.3-20120213.tar.bz2 + https://dev.gentoo.org/~rich0/distfiles/${PN}.png" + +LICENSE="eternal_lands" +SLOT="0" +KEYWORDS="~amd64 ~x86 ~x86-fbsd" +IUSE="debug doc kernel_linux" + +RDEPEND="dev-libs/libxml2:= + media-libs/cal3d:=[-16bit-indices] + media-libs/freealut + media-libs/libpng:0= + media-libs/libsdl:=[X,opengl,video] + media-libs/libvorbis:= + media-libs/openal:= + media-libs/sdl-image:= + media-libs/sdl-net:= + >=games-rpg/eternal-lands-data-1.9.3 + sys-libs/zlib:=[minizip] + virtual/glu + virtual/opengl + x11-libs/libX11:= + x11-libs/libXau:= + x11-libs/libXdmcp:= + x11-libs/libXext:=" +DEPEND="${RDEPEND} + >=app-eselect/eselect-opengl-1.0.6-r1 + app-arch/unzip + virtual/pkgconfig + doc? ( app-doc/doxygen + media-gfx/graphviz ) + media-libs/glew" + +S="${WORKDIR}/elc" + +src_prepare() { + local BROWSER="firefox" + + sed -i \ + -e 's/#browser/browser/g' \ + -e "s/browser = mozilla/#browser = ${BROWSER}/g" \ + -e "s@#data_dir = /usr/local/games/el/@#data_dir = ${GAMES_DATADIR}/${PN}/@g" \ + el.ini || die "sed failed" + + # Finally, update the server + sed -i -e '/#server_address =/ s/.*/#server_address = game.eternal-lands.com/' \ + el.ini || die "sed failed" + + epatch "${FILESDIR}/${PN}-1.9.3-glbuild.patch" + epatch "${FILESDIR}/${PN}-1.9.3-build.patch" + epatch "${FILESDIR}/${PN}-1.9.3-minizip.patch" + + # remove bundled minizip + rm io/{crypt,ioapi,unzip,zip}.h || die + rm io/{ioapi,unzip,zip}.c || die + + cp Makefile.linux Makefile +} + +src_compile() { + emake \ + DEBUG="$(usex debug)" \ + BSD_KERNEL="$(usex !kernel_linux)" \ + DATADIR="${GAMES_DATADIR}/${PN}/" + + if use doc; then + emake docs + mv ./docs/html/ ../client || die "Failed to move documentation directory" + fi +} + +src_install() { + dogamesbin el + make_desktop_entry el "Eternal Lands" + + insopts -m 0660 + insinto "${GAMES_DATADIR}/${PN}" + + doins -r *.ini *.txt commands.lst + + if use doc ; then + dohtml -r "${WORKDIR}"/client/* + fi + + doicon -s 64 "${DISTDIR}/${PN}.png" + + prepgamesdirs +} + +pkg_preinst() { + games_pkg_preinst + gnome2_icon_savelist +} + +pkg_postinst() { + games_pkg_postinst + gnome2_icon_cache_update + elog "Auto Update is now enabled in Eternal Lands" + elog "If an update occurs then the client will suddenly exit" + elog "Updates only happen when the game first loads" + elog "Please don't report this behaviour as a bug" + + # Ensure that the files are writable by the game group for auto + # updating. + chmod -R g+rw "${ROOT}/${GAMES_DATADIR}/${PN}" + + # Make sure new files stay in games group + find "${ROOT}/${GAMES_DATADIR}/${PN}" -type d -exec chmod g+sx {} \; +} + +pkg_postrm() { + gnome2_icon_cache_update +} diff --git a/games-rpg/eternal-lands/eternal-lands-1.9.3.ebuild b/games-rpg/eternal-lands/eternal-lands-1.9.3.ebuild new file mode 100644 index 000000000000..83bec66837a3 --- /dev/null +++ b/games-rpg/eternal-lands/eternal-lands-1.9.3.ebuild @@ -0,0 +1,153 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=2 +inherit eutils flag-o-matic games + +DESCRIPTION="An online MMORPG written in C and SDL" +HOMEPAGE="http://www.eternal-lands.com" +SRC_URI="mirror://gentoo/elc_1.9.3-20120213.tar.bz2 + https://dev.gentoo.org/~rich0/distfiles/eternal-lands.png" + +LICENSE="eternal_lands" +SLOT="0" +KEYWORDS="~amd64 ~x86 ~x86-fbsd" +IUSE="debug doc kernel_linux" + +RDEPEND="x11-libs/libX11 + x11-libs/libXau + x11-libs/libXdmcp + x11-libs/libXext + virtual/opengl + virtual/glu + media-libs/libsdl[X] + media-libs/sdl-net + media-libs/sdl-image + media-libs/openal + media-libs/freealut + media-libs/libvorbis + dev-libs/libxml2 + media-libs/cal3d[-16bit-indices] + media-libs/libpng + >=games-rpg/eternal-lands-data-1.9.2" + +DEPEND="${RDEPEND} + >=app-eselect/eselect-opengl-1.0.6-r1 + app-arch/unzip + doc? ( app-doc/doxygen + media-gfx/graphviz )" + +#ECVS_SERVER="cvs.elc.berlios.de:/cvsroot/elc" +#ECVS_MODULE="elc" +#ECVS_USER="anonymous" +#ECVS_LOCALNAME="elc" +#ECVS_PASS="" +#ECVS_CVS_OPTIONS="-dP -z3" +#ECVS_BRANCH="elc_1_8_0" + +#S="${WORKDIR}/${ECVS_MODULE}" +S="${WORKDIR}/elc" + +src_unpack() { +# cvs_src_unpack + OPTIONS="-DDATA_DIR="\\\\\"${GAMES_DATADIR}/${PN}/\\\\\""" + S_CLIENT="${WORKDIR}/elc" + BROWSER="firefox" + unpack ${A} + cd "${S}" +} + +src_prepare() { + # Add debugging options + if use debug ; then + OPTIONS="${OPTIONS} -DMEMORY_DEBUG" + append-flags -ggdb + fi + + # Clean compile flags (make Gentoo friendly) + sed -i \ + -e "s@CFLAGS=\$(PLATFORM) \$(CWARN) -O0 -ggdb -pipe@CFLAGS = ${CFLAGS} ${OPTIONS} @g" \ + -e "s@CXXFLAGS=\$(PLATFORM) \$(CXXWARN) -O0 -ggdb -pipe@CXXFLAGS = ${CXXFLAGS} ${OPTIONS} @g" \ + -e 's/lopenal/lopenal -l alut/' \ + Makefile.linux || die "sed failed" + + sed -i \ + -e 's/#browser/browser/g' \ + -e "s/browser = mozilla/#browser = ${BROWSER}/g" \ + -e "s@#data_dir = /usr/local/games/el/@#data_dir = ${GAMES_DATADIR}/${PN}/@g" \ + el.ini || die "sed failed" + + # Support BSD in the Linux makefile - it's easier + use kernel_linux || sed -i \ + -e 's/^CFLAGS=.*/& -DBSD/' \ + Makefile.linux || die "sed failed" + + # Clean up library flag order for --as-needed +# sed -i -e 's/@$(LINK) $(CFLAGS) $(LDFLAGS) -o $(EXE) $(OBJS)/@$(LINK) $(CFLAGS) -o $(EXE) $(OBJS) $(LDFLAGS)/' Makefile.linux + + # Finally, update the server + sed -i -e '/#server_address =/ s/.*/#server_address = game.eternal-lands.com/' \ + el.ini || die "sed failed" + + sed -i -e 's:FEATURES:EL_FEATURES:' make.defaults + sed -i -e 's:FEATURES:EL_FEATURES:' Makefile.linux + + if use debug; then + sed -i -e 's/#\(EL_FEATURES += MEMORY_DEBUG\)/\1/' make.defaults + sed -i -e 's/#\(EL_FEATURES += MEMORY_DEBUG\)/\1/' Makefile.linux + fi + + cp Makefile.linux Makefile + + epatch "${FILESDIR}/${PN}-1.9.2-glext.patch" +# epatch "${FILESDIR}/${PN}-1.9.1-libpng.patch" + +# Fix for Gentoo zlib OF redefine + + sed -i '1i#define OF(x) x' `find -name "*.c"` || die "sed failed" +} + +src_compile() { + emake || die "make failed" + + if use doc; then + emake docs || die "Failed to create documentation, try with USE=-doc" + mv ./docs/html/ ../client || die "Failed to move documentation directory" + fi +} + +src_install() { + doicon "${DISTDIR}/eternal-lands.png" ${PN}.png + + newgamesbin el.x86.linux.bin el \ + || die "newgamesbin failed" + make_desktop_entry el "Eternal Lands" \ + || die "make_desktop_entry failed" + insopts -m 0660 + insinto "${GAMES_DATADIR}/${PN}" + + doins -r *.ini *.txt commands.lst \ + || die "doins failed" + + if use doc ; then + dohtml -r client/* + fi + + prepgamesdirs +} + +pkg_postinst() { + games_pkg_postinst + elog "Auto Update is now enabled in Eternal Lands" + elog "If an update occurs then the client will suddenly exit" + elog "Updates only happen when the game first loads" + elog "Please don't report this behaviour as a bug" + + # Ensure that the files are writable by the game group for auto + # updating. + chmod -R g+rw "${ROOT}/${GAMES_DATADIR}/${PN}" + + # Make sure new files stay in games group + find "${ROOT}/${GAMES_DATADIR}/${PN}" -type d -exec chmod g+sx {} \; + +} diff --git a/games-rpg/eternal-lands/files/eternal-lands-1.9.1-libpng.patch b/games-rpg/eternal-lands/files/eternal-lands-1.9.1-libpng.patch new file mode 100644 index 000000000000..953ab8ffefd7 --- /dev/null +++ b/games-rpg/eternal-lands/files/eternal-lands-1.9.1-libpng.patch @@ -0,0 +1,23 @@ +--- elc.orig/misc.c ++++ elc/misc.c +@@ -311,7 +311,7 @@ int IMG_SavePNG_RW (SDL_Surface *face, S + } + + /* Set error handling. */ +- if (setjmp(png_ptr->jmpbuf)) ++ if (setjmp(png_jmpbuf(png_ptr))) + { + /* If we get here, we had a problem reading the file */ + IMG_SetError("Error writing the PNG file"); +@@ -360,10 +360,7 @@ done: + if (row_pointers != NULL) + free (row_pointers); + +- if (info_ptr != NULL && info_ptr->palette != NULL) +- free (info_ptr->palette); +- +- png_destroy_write_struct (&png_ptr, (png_infopp)NULL); ++ png_destroy_write_struct (&png_ptr, &info_ptr); + + return result; + } diff --git a/games-rpg/eternal-lands/files/eternal-lands-1.9.2-glext.patch b/games-rpg/eternal-lands/files/eternal-lands-1.9.2-glext.patch new file mode 100644 index 000000000000..f096d2fc4253 --- /dev/null +++ b/games-rpg/eternal-lands/files/eternal-lands-1.9.2-glext.patch @@ -0,0 +1,11 @@ +--- platform.h.orig 2011-06-18 13:55:09.704489907 -0400 ++++ platform.h 2011-06-18 13:55:41.675544567 -0400 +@@ -79,7 +79,7 @@ + #define GL_GLEXT_LEGACY + #include + #include +- #include "glext.h" ++ #include + #else // BSD + #include + #include diff --git a/games-rpg/eternal-lands/files/eternal-lands-1.9.3-build.patch b/games-rpg/eternal-lands/files/eternal-lands-1.9.3-build.patch new file mode 100644 index 000000000000..989bf2700d88 --- /dev/null +++ b/games-rpg/eternal-lands/files/eternal-lands-1.9.3-build.patch @@ -0,0 +1,314 @@ +From: Julian Ospald +Date: Sun Jun 24 13:32:38 UTC 2012 +Subject: build system + +respect all flags +respect compiler +add options for DATADIR, BSD_KERNEL and DEBUG +use proper pkgconfig calls +remove needless build types +rename EXE to "el" + +--- elc/Makefile.linux ++++ elc/Makefile.linux +@@ -3,16 +3,54 @@ + -include make.conf + + # basic compiling and linking - rarely changed +-OPTIONS = -DLINUX -DELC $(foreach FEATURE, $(FEATURES), -D$(FEATURE)) -D_7ZIP_ST +-CFLAGS=$(PLATFORM) $(CWARN) -O0 -ggdb -pipe $(OPTIONS) $(shell sdl-config --cflags) $(shell xml2-config --cflags) -fno-strict-aliasing $(EXTRA_INCLUDES) +-_CFLAGS=$(PLATFORM) -O2 -fomit-frame-pointer -ffast-math -pipe $(OPTIONS) $(shell sdl-config --cflags) $(shell xml2-config --cflags) -fno-strict-aliasing $(EXTRA_INCLUDES) +-CXXFLAGS=$(PLATFORM) $(CXXWARN) -O0 -ggdb -pipe $(OPTIONS) $(shell sdl-config --cflags) $(shell xml2-config --cflags) -fno-strict-aliasing $(EXTRA_INCLUDES) +-_CXXFLAGS=$(PLATFORM) -O3 -fomit-frame-pointer -ffast-math -pipe $(OPTIONS) $(shell sdl-config --cflags) $(shell xml2-config --cflags) -fno-strict-aliasing $(EXTRA_INCLUDES) +- +-PNG_SCREENSHOT_LIBS = -lpng +-LDFLAGS=$(shell sdl-config --libs) $(shell xml2-config --libs) -lSDL_net -lSDL_image -lopenal $(XDIR) -lGL -lGLU -lcal3d -lm $(EXTRA_LIBS) -lz -lpng -lvorbis -lvorbisfile \ +- $(foreach FEATURE, $(FEATURES), $($(FEATURE)_LIBS)) +-_LDFLAGS=$(XDIR) -lGL -lpthread -lstdc++ ++CC ?= gcc ++CXX ?= g++ ++ ++# some options ++DATADIR ?= /usr/share/games/eternal-lands ++ ++CPPFLAGS += -DDATA_DIR=\"$(DATADIR)\" \ ++ -DLINUX \ ++ -DELC \ ++ $(foreach FEATURE, $(EL_FEATURES), -D$(FEATURE)) \ ++ -D_7ZIP_ST ++ ++ifeq ($(BSD_KERNEL),yes) ++CPPFLAGS += -DBSD ++endif ++ ++ifeq ($(DEBUG),yes) ++CPPFLAGS += -DMEMORY_DEBUG ++endif ++ ++CFLAGS += $(shell sdl-config --cflags) \ ++ $(shell xml2-config --cflags) \ ++ -fno-strict-aliasing \ ++ $(EXTRA_INCLUDES) ++ ++CXXFLAGS += $(shell sdl-config --cflags) \ ++ $(shell xml2-config --cflags) \ ++ -fno-strict-aliasing \ ++ $(EXTRA_INCLUDES) ++ ++LIBS += $(shell pkg-config --libs x11) \ ++ $(shell sdl-config --libs) \ ++ $(shell xml2-config --libs) \ ++ $(shell pkg-config --libs SDL_net) \ ++ $(shell pkg-config --libs SDL_image) \ ++ $(shell pkg-config --libs openal) \ ++ $(shell pkg-config --libs freealut) \ ++ $(shell pkg-config --libs gl) \ ++ $(shell pkg-config --libs glu) \ ++ $(shell pkg-config --libs cal3d) \ ++ $(shell pkg-config --libs libpng) \ ++ $(shell pkg-config --libs vorbis) \ ++ $(shell pkg-config --libs vorbisfile) \ ++ $(shell pkg-config --libs zlib) \ ++ -lm \ ++ $(EXTRA_LIBS) \ ++ $(foreach FEATURE, $(EL_FEATURES), $($(FEATURE)_LIBS)) \ ++ -lstdc++ + + # This works on Ubuntu 8.04 (LTS) at least + # Install these packages in addition to those required for a standard build +@@ -59,7 +97,7 @@ + xz/CpuArch.o xz/Delta.o xz/LzFind.o xz/Lzma2Dec.o xz/Lzma2Enc.o \ + xz/LzmaDec.o xz/LzmaEnc.o xz/Sha256.o xz/Xz.o xz/XzCrc64.o xz/XzDec.o \ + xz/XzEnc.o \ +- $(foreach FEATURE, $(FEATURES), $($(FEATURE)_COBJ)) ++ $(foreach FEATURE, $(EL_FEATURES), $($(FEATURE)_COBJ)) + + CXXOBJS=actor_init.o cal3d_wrapper.o context_menu.o optimizer.o sendvideoinfo.o \ + exceptions/extendedexception.o xml/xmlhelper.o quest_log.o \ +@@ -80,7 +118,7 @@ + eye_candy/effect_mines.o eye_candy/effect_missile.o \ + eye_candy/orbital_mover.o eye_candy/kepler_orbit.o \ + eye_candy/effect_staff.o \ +- $(foreach FEATURE, $(FEATURES), $($(FEATURE)_CXXOBJ)) ++ $(foreach FEATURE, $(EL_FEATURES), $($(FEATURE)_CXXOBJ)) + + OBJS=$(COBJS) $(CXXOBJS) + HEADER_DIRS = . books eye_candy io pawn fsaa engine xz +@@ -89,24 +127,13 @@ + DEP_FILES=$(foreach OBJ, $(COBJS), .deps/$(OBJ).P) $(foreach OBJ, $(CXXOBJS), .deps/$(OBJ).P) + #(shell echo $OBJ |sed s/\.o/\.P/)) + +-EXE=el.x86.linux.bin +- +-ifndef CC +-CC=gcc +-endif +-ifndef CXX +-CXX=g++ +-endif +-ifndef LINK +-LINK=gcc +-endif ++EXE=el + + all: $(EXE) + + # the compile targets + $(EXE): $(OBJS) +- @echo " LINK $(EXE)" +- @$(LINK) $(CFLAGS) -o $(EXE) $(OBJS) $(LDFLAGS) ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(EXE) $(OBJS) $(LIBS) + + #recompile on Makefile or conf change + #.depend $(OBJS): Makefile.linux make.conf +@@ -114,25 +141,19 @@ + DEPS_MAGIC := $(shell mkdir .deps .deps/io .deps/shader .deps/eye_candy .deps/exceptions .deps/xz .deps/xml .deps/fsaa .deps/engine > /dev/null 2>&1 || :) + + $(COBJS): %.o: %.c Makefile.linux make.conf +- @echo " CC $@" +- @if $(CC) $(CFLAGS) -MT '$@' -MD -MP -MF '.deps/$@.pp' -c $< -o $@; then \ ++ @echo "$(CC) $(CFLAGS) $(CPPFLAGS) -MT '$@' -MD -MP -MF '.deps/$@.pp' -c $< -o $@" ++ @if $(CC) $(CFLAGS) $(CPPFLAGS) -MT '$@' -MD -MP -MF '.deps/$@.pp' -c $< -o $@; then \ + mv ".deps/$@.pp" ".deps/$@.P"; \ + else rm -f ".deps/$@.pp"; exit 1; \ + fi + + $(CXXOBJS): %.o: %.cpp Makefile.linux make.conf +- @echo " CXX $@" +- @if $(CXX) $(CXXFLAGS) -MT '$@' -MD -MP -MF '.deps/$@.pp' -c $< -o $@; then \ ++ @echo "$(CXX) $(CXXFLAGS) $(CPPFLAGS) -MT '$@' -MD -MP -MF '.deps/$@.pp' -c $< -o $@" ++ @if $(CXX) $(CXXFLAGS) $(CPPFLAGS) -MT '$@' -MD -MP -MF '.deps/$@.pp' -c $< -o $@; then \ + mv ".deps/$@.pp" ".deps/$@.P"; \ + else rm -f ".deps/$@.pp"; exit 1; \ + fi + +-release: +- @$(MAKE) -f Makefile.linux 'CFLAGS=$(_CFLAGS)' 'CXXFLAGS=$(_CXXFLAGS)' +- +-static: +- @$(MAKE) -f Makefile.linux 'CFLAGS=$(_CFLAGS)' 'CXXFLAGS=$(_CXXFLAGS)' 'LDFLAGS=$(_LDFLAGS)' 'OBJS=$(OBJS) $(STATICLIBS)' +- + clean: + rm -f $(OBJS) $(EXE) + +@@ -140,8 +161,8 @@ + cd docs && doxygen Doxyfile + + .depend: $(foreach HEADER_DIR, $(HEADER_DIRS), $(wildcard $(HEADER_DIR)/*.h)) +- $(CC) $(CFLAGS) -MM $(patsubst %.o, %.c, $(COBJS)) >.depend +- $(CXX) $(CXXFLAGS) -MM $(patsubst %.o, %.cpp, $(CXXOBJS)) >>.depend ++ $(CC) $(CFLAGS) $(CPPFLAGS) -MM $(patsubst %.o, %.c, $(COBJS)) >.depend ++ $(CXX) $(CXXFLAGS) $(CPPFLAGS) -MM $(patsubst %.o, %.cpp, $(CXXOBJS)) >>.depend + + make.conf: make.defaults + @if (test -f $@ -a '$(UPDATE_CONF)' != 'yes'); \ +@@ -161,7 +182,7 @@ + echo "\t#endinput" >> $@; \ + echo "#endif" >> $@; \ + echo "#define _features_included" >> $@; \ +- for feature in $(FEATURES); do \ ++ for feature in $(EL_FEATURES); do \ + echo "#define $$feature" >> $@; \ + done + +--- elc/make.defaults ++++ elc/make.defaults +@@ -1,71 +1,82 @@ + # set this to "no" if you don't want this file to be overwritten + UPDATE_CONF=yes + ++# set to 'yes' for BSD support ++BSD_KERNEL=no ++ ++# set to 'yes' to enable debug support ++DEBUG=no ++ + # tune these for your setup & compile options + # IMPORTANT: if you are using a linker that needs libraries in correct order, make sure you list EYE_CANDY before PNG_SCREENSHOT if you use both + + ### Current release default options ### +-FEATURES += CLUSTER_INSIDES # Group objects into separate clusters for clipping on inside maps +-FEATURES += CUSTOM_LOOK # allows you to customize your look. +-FEATURES += CUSTOM_UPDATE # allows autoupdating of custom look information +-FEATURES += FUZZY_PATHS # Makes Tab Map walking not always follow exaclty the same path +-FEATURES += NEW_SOUND # Enables extended sound effects system +-FEATURES += PNG_SCREENSHOT # make screenshots in W3C's PNG format in game, requires libpng +-FEATURES += TEXT_ALIASES # Text aliases +-FEATURES += USE_INLINE # enable some optimizations to use inline functions instead of pure function calls ++EL_FEATURES += CLUSTER_INSIDES # Group objects into separate clusters for clipping on inside maps ++EL_FEATURES += CUSTOM_LOOK # allows you to customize your look. ++EL_FEATURES += CUSTOM_UPDATE # allows autoupdating of custom look information ++EL_FEATURES += FUZZY_PATHS # Makes Tab Map walking not always follow exaclty the same path ++EL_FEATURES += NEW_SOUND # Enables extended sound effects system ++EL_FEATURES += PNG_SCREENSHOT # make screenshots in W3C's PNG format in game, requires libpng ++EL_FEATURES += TEXT_ALIASES # Text aliases ++EL_FEATURES += USE_INLINE # enable some optimizations to use inline functions instead of pure function calls + # new for 1.9.0 release +-FEATURES += BANDWIDTH_SAVINGS # enable bandwidth saving changes for message protocol ++EL_FEATURES += BANDWIDTH_SAVINGS # enable bandwidth saving changes for message protocol + # new for 1.9.2 release +-FEATURES += ANIMATION_SCALING # Adds support for animation scaling, depending on the number of animation commands in the actor queue. +-FEATURES += ENCYCL_NAVIGATION # Adds context menus to encyclopedia windows with search and bookmark functions +-FEATURES += FSAA # Adds support for full screen anti-aliasing using OpenGL multisampling. +-FEATURES += NEW_NEW_CHAR_WINDOW # Use the new character creation window; controls always on-screen +-FEATURES += NEW_TEXTURES # Enables the new texture loading and caching system (http://www.eternal-lands.com/forum/index.php?showtopic=54756) ++EL_FEATURES += ANIMATION_SCALING # Adds support for animation scaling, depending on the number of animation commands in the actor queue. ++EL_FEATURES += ENCYCL_NAVIGATION # Adds context menus to encyclopedia windows with search and bookmark functions ++EL_FEATURES += FSAA # Adds support for full screen anti-aliasing using OpenGL multisampling. ++EL_FEATURES += NEW_NEW_CHAR_WINDOW # Use the new character creation window; controls always on-screen ++EL_FEATURES += NEW_TEXTURES # Enables the new texture loading and caching system (http://www.eternal-lands.com/forum/index.php?showtopic=54756) + # new for 1.9.3 release +-FEATURES += FASTER_MAP_LOAD # Enables optimizations to speed up the process of switching between maps +-FEATURES += FASTER_STARTUP # An attempt to reduce the startup time of EL somewhat +-FEATURES += MIDDLE_MOUSE_PASTE # Paste using the middle mouse button from the primary buffer on X systems ++EL_FEATURES += FASTER_MAP_LOAD # Enables optimizations to speed up the process of switching between maps ++EL_FEATURES += FASTER_STARTUP # An attempt to reduce the startup time of EL somewhat ++EL_FEATURES += MIDDLE_MOUSE_PASTE # Paste using the middle mouse button from the primary buffer on X systems + + ### Testing options (these options are possible for the next release and should be tested) ### +-#FEATURES += ANTI_ALIAS # allows to enable/disable anti-aliasing in el.ini +-#FEATURES += DYNAMIC_ANIMATIONS # (appears broken) Synchronizes animation to FPS instead of a fixed timer +-#FEATURES += EXT_ACTOR_DICT # Removes remaining hard-coded actor def dictionaries - requires updated actor defs files (http://el.grug.redirectme.net/actor_defs.zip) +-#FEATURES += NEW_ALPHA # (undocumented) +-#FEATURES += USE_SIMD # Enables usage of simd instructions ++#EL_FEATURES += ANTI_ALIAS # allows to enable/disable anti-aliasing in el.ini ++#EL_FEATURES += DYNAMIC_ANIMATIONS # (appears broken) Synchronizes animation to FPS instead of a fixed timer ++#EL_FEATURES += EXT_ACTOR_DICT # Removes remaining hard-coded actor def dictionaries - requires updated actor defs files (http://el.grug.redirectme.net/actor_defs.zip) ++#EL_FEATURES += NEW_ALPHA # (undocumented) ++#EL_FEATURES += USE_SIMD # Enables usage of simd instructions + + ### Machine specific options (fixes or performance enhancements) ### +-#FEATURES += EL_BIG_ENDIAN # Enable big-endian code (automatically detected for OSX) +-#FEATURES += NO_PF_MACRO # Use a function instead of a macro for pf_get_tile() +-#FEATURES += SIMPLE_LOD # enable a simplistic distance culling to improve performance ++#EL_FEATURES += EL_BIG_ENDIAN # Enable big-endian code (automatically detected for OSX) ++#EL_FEATURES += NO_PF_MACRO # Use a function instead of a macro for pf_get_tile() ++#EL_FEATURES += SIMPLE_LOD # enable a simplistic distance culling to improve performance + + + ### Debug options ### +-#FEATURES += CONTEXT_MENUS_TEST # Enable "#cmtest" command to help test/demo the context menu code +-#FEATURES += DEBUG # (undocumented) +-#FEATURES += DEBUG_XML # Enables missing (optional) XML string property messages +-#FEATURES += DEBUG_POINT_PARTICLES # (undocumented) +-#FEATURES += DEBUG_TIME # Fakes the acceleration of time for use in debugging shadows and the like. +-#FEATURES += DEBUG_MAP_SOUND # Adds (some??) map boundary areas to tab maps and additional logging to stdout +-#FEATURES += ECDEBUGWIN # press ctrl-alt-c to open the Eye Candy debug window: trigger most effects without casting spells or server side events +-#FEATURES += EXTRA_DEBUG # (undocumented) +-#FEATURES += MEMORY_DEBUG # gather information about memory allocation and freeing +-#FEATURES += MISSILES_DEBUG # Enables debug for missiles feature. It will create a file missiles_log.txt file in your settings directory. +-#FEATURES += MUTEX_DEBUG # (undocumented) +-#FEATURES += OPENGL_TRACE # make far more frequent checks for OpenGL errors (requires -DDEBUG to be of any use). Will make error_log.txt a lot larger. +-#FEATURES += TIMER_CHECK # (undocumented) +-#FEATURES += _EXTRA_SOUND_DEBUG # Enable debug for sound effects ++#EL_FEATURES += CONTEXT_MENUS_TEST # Enable "#cmtest" command to help test/demo the context menu code ++#EL_FEATURES += DEBUG # (undocumented) ++#EL_FEATURES += DEBUG_XML # Enables missing (optional) XML string property messages ++#EL_FEATURES += DEBUG_POINT_PARTICLES # (undocumented) ++#EL_FEATURES += DEBUG_TIME # Fakes the acceleration of time for use in debugging shadows and the like. ++#EL_FEATURES += DEBUG_MAP_SOUND # Adds (some??) map boundary areas to tab maps and additional logging to stdout ++#EL_FEATURES += ECDEBUGWIN # press ctrl-alt-c to open the Eye Candy debug window: trigger most effects without casting spells or server side events ++#EL_FEATURES += EXTRA_DEBUG # (undocumented) ++ ++# gather information about memory allocation and freeing ++ifeq ($(DEBUG),yes) ++EL_FEATURES += MEMORY_DEBUG ++endif ++ ++#EL_FEATURES += MISSILES_DEBUG # Enables debug for missiles feature. It will create a file missiles_log.txt file in your settings directory. ++#EL_FEATURES += MUTEX_DEBUG # (undocumented) ++#EL_FEATURES += OPENGL_TRACE # make far more frequent checks for OpenGL errors (requires -DDEBUG to be of any use). Will make error_log.txt a lot larger. ++#EL_FEATURES += TIMER_CHECK # (undocumented) ++#EL_FEATURES += _EXTRA_SOUND_DEBUG # Enable debug for sound effects + + + ### Other options (Experimental, unfinished, defunct or otherwise unknown) ### +-#FEATURES += NEW_CURSOR # New coloured cursors made by Emajekral (Experimental) Extract http://users.on.net/~gingerman/sky_cursor-textures.zip into datadir/textures/ +-#FEATURES += PAWN # Experimental, not for release, will need server support to function properly. This *will* eat your cat. You've been warned. Enables the Pawn abstract machine. +-#FEATURES += UID # use unique ID sent from server for custom looks. (INCOMPLETE) +-#FEATURES += USE_ACTORS_OPTIMIZER # Enables actor optimizations +-#FEATURES += USE_BOOST +-#FEATURES += USE_TR1 # Needs tr1 version of c++ stl, used for NEW_FILE_IO +-#FEATURES += WRITE_XML # dangerous to use, will wipe out some XML files that are part of the main game download +-#FEATURES += ZLIBW # Enables being able to write gzip compressed files, requires -lzlib/-lz needed for map_editor +-#FEATURES += OLD_MISC_OBJ_DIR # if not defined, ./3dobjects/misc_objects/ paths becomes ./3dobjects/ ++#EL_FEATURES += NEW_CURSOR # New coloured cursors made by Emajekral (Experimental) Extract http://users.on.net/~gingerman/sky_cursor-textures.zip into datadir/textures/ ++#EL_FEATURES += PAWN # Experimental, not for release, will need server support to function properly. This *will* eat your cat. You've been warned. Enables the Pawn abstract machine. ++#EL_FEATURES += UID # use unique ID sent from server for custom looks. (INCOMPLETE) ++#EL_FEATURES += USE_ACTORS_OPTIMIZER # Enables actor optimizations ++#EL_FEATURES += USE_BOOST ++#EL_FEATURES += USE_TR1 # Needs tr1 version of c++ stl, used for NEW_FILE_IO ++#EL_FEATURES += WRITE_XML # dangerous to use, will wipe out some XML files that are part of the main game download ++#EL_FEATURES += ZLIBW # Enables being able to write gzip compressed files, requires -lzlib/-lz needed for map_editor ++#EL_FEATURES += OLD_MISC_OBJ_DIR # if not defined, ./3dobjects/misc_objects/ paths becomes ./3dobjects/ + + + +@@ -86,7 +97,3 @@ + #EXTRA_INCLUDES=-IC:\\Programme\\Dev-Cpp\\Include + #EXTRA_LIBS=-lz + #EXTRA_STATICLIBS=libs/zlib.a +- +-CC=gcc +-CXX=g++ +-LINK=gcc diff --git a/games-rpg/eternal-lands/files/eternal-lands-1.9.3-glbuild.patch b/games-rpg/eternal-lands/files/eternal-lands-1.9.3-glbuild.patch new file mode 100644 index 000000000000..972abd9b0d2b --- /dev/null +++ b/games-rpg/eternal-lands/files/eternal-lands-1.9.3-glbuild.patch @@ -0,0 +1,25 @@ +--- gl_init.c 2012-02-13 22:01:54.000000000 -0500 ++++ gl_init.c 2012-12-02 18:09:41.274014922 -0500 +@@ -27,6 +27,8 @@ + #include "fsaa/fsaa.h" + #endif /* FSAA */ + ++#define APIENTRY ++ + Uint32 flags; + + int window_width=640; +--- platform.h 2012-02-13 22:01:54.000000000 -0500 ++++ platform.h 2012-12-02 17:32:46.017627957 -0500 +@@ -87,9 +87,10 @@ + #define APIENTRYP * + #elif !defined(BSD) + #define GL_GLEXT_LEGACY ++ #include + #include + #include +- #include "glext.h" ++ #include + #else // BSD + #include + #include diff --git a/games-rpg/eternal-lands/files/eternal-lands-1.9.3-minizip.patch b/games-rpg/eternal-lands/files/eternal-lands-1.9.3-minizip.patch new file mode 100644 index 000000000000..9edb22254502 --- /dev/null +++ b/games-rpg/eternal-lands/files/eternal-lands-1.9.3-minizip.patch @@ -0,0 +1,75 @@ +From: Julian Ospald +Date: Sun Jun 24 16:33:08 UTC 2012 +Subject: unbundle minizip + +https://bugs.gentoo.org/show_bug.cgi?id=423327 +applied on top of eternal-lands-1.9.3-build.patch + +--- elc/new_update.c ++++ elc/new_update.c +@@ -5,8 +5,8 @@ + #include + #include "md5.h" + #include "elc_private.h" +-#include "io/zip.h" +-#include "io/unzip.h" ++#include ++#include + #include "io/ziputil.h" + #include "io/fileutil.h" + #include "io/elfilewrapper.h" +--- elc/io/ziputil.h ++++ elc/io/ziputil.h +@@ -8,8 +8,8 @@ + + #include + #include "../md5.h" +-#include "zip.h" +-#include "unzip.h" ++#include ++#include + + #ifdef __cplusplus + extern "C" +--- elc/io/elfilewrapper.c ++++ elc/io/elfilewrapper.c +@@ -1,5 +1,5 @@ + #include "elfilewrapper.h" +-#include "unzip.h" ++#include + #include "elpathwrapper.h" + #include "fileutil.h" + #include +--- elc/Makefile.linux ++++ elc/Makefile.linux +@@ -25,11 +25,13 @@ + + CFLAGS += $(shell sdl-config --cflags) \ + $(shell xml2-config --cflags) \ ++ $(shell pkg-config --cflags minizip) \ + -fno-strict-aliasing \ + $(EXTRA_INCLUDES) + + CXXFLAGS += $(shell sdl-config --cflags) \ + $(shell xml2-config --cflags) \ ++ $(shell pkg-config --cflags minizip) \ + -fno-strict-aliasing \ + $(EXTRA_INCLUDES) + +@@ -47,6 +49,7 @@ + $(shell pkg-config --libs vorbis) \ + $(shell pkg-config --libs vorbisfile) \ + $(shell pkg-config --libs zlib) \ ++ $(shell pkg-config --libs minizip) \ + -lm \ + $(EXTRA_LIBS) \ + $(foreach FEATURE, $(EL_FEATURES), $($(FEATURE)_LIBS)) \ +@@ -80,7 +83,7 @@ + gamewin.o gl_init.o hud.o help.o highlight.o \ + ignore.o init.o interface.o items.o io/fileutil.o \ + io/e3d_io.o io/elc_io.o io/map_io.o io/elpathwrapper.o io/xmlcallbacks.o \ +- io/half.o io/normal.o io/elfilewrapper.o io/unzip.o io/ioapi.o io/zip.o io/ziputil.o \ ++ io/half.o io/normal.o io/elfilewrapper.o io/ziputil.o \ + keys.o knowledge.o langselwin.o lights.o list.o load_gl_extensions.o loginwin.o loading_win.o \ + main.o manufacture.o map.o mapwin.o memory.o \ + md5.o mines.o minimap.o misc.o missiles.o multiplayer.o \ diff --git a/games-rpg/eternal-lands/metadata.xml b/games-rpg/eternal-lands/metadata.xml new file mode 100644 index 000000000000..bae7929e7953 --- /dev/null +++ b/games-rpg/eternal-lands/metadata.xml @@ -0,0 +1,14 @@ + + + + + rich0@gentoo.org + Richard Freeman + + + games@gentoo.org + Gentoo Games Project + +Eternal Lands is a FREE MMORPG (massively multiplayer online + role playing game) + -- cgit v1.2.3