diff options
Diffstat (limited to 'games-fps/eduke32')
-rw-r--r-- | games-fps/eduke32/Manifest | 22 | ||||
-rw-r--r-- | games-fps/eduke32/eduke32-20131119.4169.ebuild | 218 | ||||
-rw-r--r-- | games-fps/eduke32/eduke32-20180508.6885.ebuild | 233 | ||||
-rw-r--r-- | games-fps/eduke32/files/eduke32-20131119.4169-QA.patch | 150 | ||||
-rwxr-xr-x | games-fps/eduke32/files/eduke32-bin | 12 | ||||
-rw-r--r-- | games-fps/eduke32/files/fix-build-transpal.patch | 20 | ||||
-rw-r--r-- | games-fps/eduke32/files/log-to-tmpdir.patch | 11 | ||||
-rw-r--r-- | games-fps/eduke32/files/search-duke3d-path.patch | 11 | ||||
-rw-r--r-- | games-fps/eduke32/metadata.xml | 42 |
9 files changed, 325 insertions, 394 deletions
diff --git a/games-fps/eduke32/Manifest b/games-fps/eduke32/Manifest index 0d02951d4256..f6a6d0209e04 100644 --- a/games-fps/eduke32/Manifest +++ b/games-fps/eduke32/Manifest @@ -1,9 +1,13 @@ -AUX eduke32-20131119.4169-QA.patch 4485 BLAKE2B d4d538cf3e4dcc0f996dcf577ed27a0bef2bfa4c7fb18b71dcc58cd8e47434e91ccde116f86991f7173c07efa89333dda7960bcb3181784cae1e2a790e75ff5b SHA512 6b23e5d9de1d6fbdf32fced01e9432f1d96442c44fdb591cf3e51830b57622c5734c10c2c0de8ef6849f75697fd9394c14ce5ab16271774a7bd46bde08502c4e -DIST duke3d_hrp_5.2.zip 709961560 BLAKE2B 3b436e729a04c0794c6f766bdadd2eaed6a046f8eae6a3bba03c56c7e3e5838f1d9e826d71a071142fc13042523d6513cabc3ba1fc648e827decb3195e8fc01b SHA512 6b80739082d01e879ee77c85d3702269a605bc5f5b9393ce2f391d50c2a14e8fd0cd274a7e3010636646c3b7725591f45f107503c04a84655621a197f5f3c69e -DIST duke3d_mus_3.0.zip 129992841 BLAKE2B 93e8c30769ffb79a4831fccbab62c410338bb845b5f9b7967bd5c85eab24c09270bed811ec9f1fd637b8e3f0df014671cc5fdfc8c65b6b9341014fd4d91890b4 SHA512 9b782a2b6bb006a01e7ca2a8c395fcbe0884cc7648fce03f7760d67e67e4b03d73e31fff5964a604270ffddf09df69f306147dffd115efcd738de416939060cf -DIST duke3d_musopl_2.0.zip 266444907 BLAKE2B 1f087851a9cdb1d4f3fc1cb78d49b8bcedf746248e7b623469cca803c49dc6a56ac578f5a38f8f4efd2ba194b1ae6ef90b6cb90a809de784d6152af48679a1ff SHA512 e9ae69727f84ff71bf9abffa283fda1fcaf56fd6ae6b865d12f138d64b0fca0d36fd9695b1e60a64716154055373eecd6499ebd8801a4ecb55ddc4722208eff7 -DIST duke3d_xxx_1.33.zip 26586453 BLAKE2B 7e3c46172d3db1b2eb49eb07f243a9ead4f260d6b1dcae9f8bd599b8e9ba3a19068032afeb4ec2cf61742b6216e3a06c24f2b7e8903f9636f9d00f4d57ada47f SHA512 4783d159610fc178e748446b7a5f9c13d90e1aca3cef34deb82e99655b7f4a254f1130e16dbcfad9013b95bc07161d5c5dccfcc552fbb7a88404b4b9cedbadbf -DIST eduke32-icons.tar 102400 BLAKE2B d53d43ce2479e21db6d7771de875fac3fb631f35e3a00c70813ba3da4518c3bae61daf9db6df6def24b4066ec93f16ea9cbbced2345ebd7e6a0aa282d603f742 SHA512 797f76cfc0e253ce3364e80f70b616fc004811c08519020727871addc90c7780b475ee7769398e13859f93893ccbb916bd4229a39f4c119169a69231e6fd411c -DIST eduke32_src_20131119-4169.tar.xz 12228040 BLAKE2B 6a0574689b5de921424802a32c4820987279f249afdcae2754b1de765085a025a9a8087709b88214d44304dce07667eddf6e395271bd4590d9e75e336305bb88 SHA512 6ab7babc18c80e111603b9b731f37963f3bfe2ee753a2e383d58a21e77ad5a561cf95f5392adcf76259e6ded2dcd5eb5d0fc484edf65ec6887a746c4f422f292 -EBUILD eduke32-20131119.4169.ebuild 6367 BLAKE2B a5aa1d05774bd7e9c146781e1a0f0a61f02deaf5790c05da00a50ccf7c59c57e31153f3067cb638ac9177040221e4f83e1d8e763a1d259c19c7db02d2027fe98 SHA512 1649360dd83cd3dc36744d868dddb5b6a8963d358dcf98a0d8d55df8a31365530896606b69b79ae9d370645fe108f5889e91a3995d9431cc1c5a28d1f7ee8309 -MISC metadata.xml 1019 BLAKE2B a392bb826ea11e6bf6617d9f3785035d78e9534eddb06acad3a20d5b6f13a471ae94baabc35faf07ff8cb165f7bcad5210aa08c813c7f19f426aa0965268fee6 SHA512 7ccc4e4e8280f550d73d63def883319f452ba18205aa9af98ce26544143409d3b9a7ebadb71a3263c31b28c49e18d6c955fd583f57a0fcf34acc933a7af4836a +AUX eduke32-bin 268 BLAKE2B 20941b736b5062f237a39d769a28bbbe1442116259bfe8ff5de4e4c5d9ea2a6139a10efcfd687ee681f56a99382e817f9ad00c2eb2da9c0f1e817912b783261e SHA512 f7a472eb7225800f09d22b617aa12d75dca50892a462a128f901f8df1efc3684d324948f553e1fb44a1e9b786aa60279311ee52d1a6d695cdac0b457a8eee937 +AUX fix-build-transpal.patch 719 BLAKE2B ce6334dbd4b70a97ea4595693c6548214bb4de53853adc1a54d82df8bbd06c93086f197c45b404ced8f85cacf05eeff83baa6223c39541c583feac5819828bea SHA512 c378913d34a2297412afbcca9877bc38f3ab1a632c80cc24c452dccacc61cc3ca361b9c627bacfb5d9fe660933a4477be7a47068fde6cd334ac960c5cf162eb5 +AUX log-to-tmpdir.patch 356 BLAKE2B 9cdb65c0e15270b4970144d57e126bef5c5b468c8142b797717536852c71f5f8183f63c5a6adffd6d411b2972831320d5a4f214e05d54bca67129ab84c3b0608 SHA512 f1ac030d0d9bed2cc4e67d33563dc7d2f34d2cda75835ec875ce0c3957191c7a61b8d9a16a1d040ee7d5ca8e98e8a2660fe9ff1d8047bbd86953425124140512 +AUX search-duke3d-path.patch 485 BLAKE2B 5a21dec8abc4cc13922a306107d968d1ad6341e5a0c62802d3069a6ad9d2378ae8d19ab6018c86b9e9ec9553a053bbbd45a04d9dd32eb5a31bc1dd1afb4aa757 SHA512 2c3fa40564bfd8c99090f46aaa03f0ff38f965a65e6e03c93f5c469dbcb1feb32c0092ff7aa13b15f5a531731045ab2cbeb6ec746ca56197d28439b36f591a96 +DIST duke3d_hrp-5.4.zip 933440151 BLAKE2B 20749d6e1bdd07d0e5f28ac2f7e3aff60e8638223b934795320046922311533d6ecaefa3923650568aaa4e026927b53087032415d2d343fc4bd179c9e9ddd640 SHA512 fd5aba0a09193ccd49781d3f06a040000a134ad90f099ab7bf10a8abe474c3a742f922f8fa31522b8993828d516bdd0b5ded327e9c4615c2c101fe655d533f4d +DIST duke3d_music-sc55-4.02.zip 155441427 BLAKE2B 7fa0c98927dd9a18411ad473269a795d1bc809fa8f9479deef06e12cd0dc97953680e7519c9d22e2d32b6ff79726682746820f78429ad11cb5edf1b64d2e4fe7 SHA512 70d3d7b4705e30cdb19ddc95e11a88afff1dc01dfc6495a488ea665f8097c1200695ec67246ac47a2480d0e68cd7d74e1d61c2120485f53bb93d9c0fb16ba9b2 +DIST duke3d_musopl-2.01.zip 266444823 BLAKE2B 5255c671782279c7723fb1f848a331645a89fdc8dd5336250d06e6eed5b63511c37bfbb07d22d7e7ce29707efe2c55406f2ee81522374de3633f2b448c7dbd6b SHA512 08308b672516a6f3a3b9b85fd836f2a29a24c8fa5f353953f5f55a281dea370046817ccfb8467b4ce25385277ced8afd83c00882e8a246b03afa5e0e349efd35 +DIST duke3d_psx-1.11.zip 7636016 BLAKE2B 63094c0eb2343e443f98844675ddc23a138d87c17b1163107e1f8c6eab4be2b5a2ed74f302604f5769d3bb71d3ce8355b69b75352dc470918ebd5c0c73d68665 SHA512 e98f3bbfb2055fa72c4376ebbdb64814b1bca7c66968ffea8ca4d980d432f59f6ae013c889a57a28b2961bbeca2cc80b83b573dc0cbc2550cd9f428cf9d2a625 +DIST duke3d_xxx-1.33.zip 26586453 BLAKE2B 7e3c46172d3db1b2eb49eb07f243a9ead4f260d6b1dcae9f8bd599b8e9ba3a19068032afeb4ec2cf61742b6216e3a06c24f2b7e8903f9636f9d00f4d57ada47f SHA512 4783d159610fc178e748446b7a5f9c13d90e1aca3cef34deb82e99655b7f4a254f1130e16dbcfad9013b95bc07161d5c5dccfcc552fbb7a88404b4b9cedbadbf +DIST eduke32_classic.png 5129 BLAKE2B 332ad44b7f6b4f51362387aa6870e7db54423ca5a1f0586cb5019322fb72317d8e88e0bbf46ac89b56290db7e2e4a8442179a6eb87a615fd741b5f00ce96a1c8 SHA512 b41dece8f1ddcadde3367a83f6029ffdc5805811b40380e270169684fb3b368258bd8caeb55623dadffb6fb9d72faf9a3d75907722623f4fac94a4347f8ce833 +DIST eduke32_src_20180508-6885.tar.xz 14703224 BLAKE2B 8b90bf5771c2c27701316df8b9e738082d03552dddbd4d8be7e25195fd2da746afb2857e166ac6e6c0c78ad43e3c21f809538f0c54936ce82b5f2a3f93f80f94 SHA512 2b1be82a1bfbb0cf2a9b7bb0b73e69232bc2ce7adf343e25319b16c4240a6b3acf0fb8708e6ab8c7daa18f5a3039772472fd6542f6ea6dbe0530c8c3361c791c +EBUILD eduke32-20180508.6885.ebuild 5647 BLAKE2B c67e49b7f24535fca3f84423848bc75de9c4f1180eab87303e13064225d47ce4a635589eec6a639f22353bc6806321e07f3330b7babe96a2385aa7364bc3ebad SHA512 733e6e58058275a988a2b162b487e93f442c1164b46ff6b9272b9d09fd1789f112ff81759da6e19b05a5e44d971dd0f4da0f78eb1f2a348c96f6662bd80b48d5 +MISC metadata.xml 1659 BLAKE2B 2114f1b5ec7101a54c8506bb2d3877453f58057de782f399cd8126f82d8e390d9816a2d0f706d2f98ef13e54169d22eaa8de3cf8509884a145c9b602e37a2c36 SHA512 6ba7e12733147190ed307b02c80ba7224be49b30a795d04e5b4c466e929665b75690be81c8aea80cfc754981edbc9bfdabd93c1c6424ecc92a8d645c5b13484d diff --git a/games-fps/eduke32/eduke32-20131119.4169.ebuild b/games-fps/eduke32/eduke32-20131119.4169.ebuild deleted file mode 100644 index a5884e14d059..000000000000 --- a/games-fps/eduke32/eduke32-20131119.4169.ebuild +++ /dev/null @@ -1,218 +0,0 @@ -# Copyright 1999-2014 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -# TODO/FIXME: -# lunatic broken -# lunatic? ( >=dev-lang/luajit-2.0.0_beta10:2 ) -# $(usex lunatic "LUNATIC=1" "LUNATIC=0") -# -# extras? ( games-fps/${PN}-extras ) - -EAPI=5 - -inherit eutils gnome2-utils games - -MY_PV=${PV%.*} -MY_BUILD=${PV#*.} - -# extensions -MY_HRP=5.2 -MY_SC55=3.0 -MY_OPL=2.0 -MY_XXX=1.33 - -DESCRIPTION="Port of Duke Nukem 3D for SDL" -HOMEPAGE="http://www.eduke32.com/ http://hrp.duke4.net/" -SRC_URI="http://dukeworld.duke4.net/eduke32/synthesis/${MY_PV}-${MY_BUILD}/${PN}_src_${MY_PV}-${MY_BUILD}.tar.xz - https://dev.gentoo.org/~hasufell/distfiles/eduke32-icons.tar - textures? ( http://www.duke4.org/files/nightfright/duke3d_hrp.zip -> duke3d_hrp_${MY_HRP}.zip ) - sc55-musicpack? ( http://www.duke4.org/files/nightfright/music/duke3d_mus.zip -> duke3d_mus_${MY_SC55}.zip ) - opl-musicpack? ( http://www.duke4.org/files/nightfright/music/duke3d_musopl.zip -> duke3d_musopl_${MY_OPL}.zip ) - offensive? ( http://www.duke4.org/files/nightfright/duke3d_xxx.zip -> duke3d_xxx_${MY_XXX}.zip )" - -LICENSE="GPL-2 BUILDLIC textures? ( hrp_art )" -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="cdinstall debug demo gtk offensive +opengl opl-musicpack +png samples sc55-musicpack +server textures tools +vpx" -REQUIRED_USE="?? ( opl-musicpack sc55-musicpack )" - -RDEPEND="media-libs/flac - media-libs/libogg - media-libs/libsdl[X,joystick,opengl?,video] - media-libs/libvorbis - media-libs/sdl-mixer[timidity] - sys-libs/zlib - gtk? ( x11-libs/gtk+:2 ) - opengl? ( - virtual/glu - virtual/opengl - vpx? ( media-libs/libvpx ) - ) - png? ( media-libs/libpng:0= - sys-libs/zlib ) - " -DEPEND="${RDEPEND} - app-arch/unzip - app-arch/xz-utils - x86? ( dev-lang/nasm )" -PDEPEND="cdinstall? ( games-fps/duke3d-data ) - demo? ( games-fps/duke3d-demodata )" - -S=${WORKDIR}/${PN}_${MY_PV}-${MY_BUILD} - -src_unpack() { - unpack ${PN}_src_${MY_PV}-${MY_BUILD}.tar.xz eduke32-icons.tar - - if use textures; then - unzip -q "${DISTDIR}"/duke3d_hrp_${MY_HRP}.zip "hrp_readme.txt" \ - || die "unzip hrp readme" - if use offensive; then - unzip -q "${DISTDIR}"/duke3d_xxx_${MY_XXX}.zip "xxx_readme.txt" \ - || die "unzip xxx readme" - fi - fi - if use opl-musicpack; then - unzip -q "${DISTDIR}"/duke3d_musopl_${MY_OPL}.zip "readme.txt" \ - || die "unzip musopl readme" - mv readme.txt musopl_readme.txt || die "mv musopl_readme" - elif use sc55-musicpack; then - unzip -q "${DISTDIR}"/duke3d_mus_${MY_SC55}.zip "music_readme.txt" \ - || die "unzip mus readme" - fi -} - -src_prepare() { - epatch "${FILESDIR}"/${P}-QA.patch - - # Point eduke32 to data files in shared duke3d folder. - # Multiple search paths can be defined, so that with the default configuration as of - # the 20130128 release, this adds /usr/share/games/duke3d in ADDITION to - # /usr/share/games/eduke32 so that eduke32 and duke3d's base data can be kept separate. - # also redirect log file so it's not always written in $PWD - sed -i \ - -e "s;/usr/local/share/games/${PN};${GAMES_DATADIR}/duke3d;" \ - source/common.c || die "sed common.c path update failed" - sed -i \ - -e "/OSD_SetLogFile/s;mapster32.log;${GAMES_LOGDIR}/mapster32.log;" \ - source/astub.c || die "sed astub.c path update failed" - sed -i \ - -e "/OSD_SetLogFile/s;${PN}.log;${GAMES_LOGDIR}/${PN}.log;" \ - source/game.c || die "sed game.c path update failed" -} - -src_compile() { - local MY_OPTS=( - AS=$(type -P nasm) - ARCH= - SYSARCH= - LTO=0 - PRETTY_OUTPUT=0 - RELEASE=1 - LUNATIC=0 - STRIP=touch - LINKED_GTK=1 - CPLUSPLUS=0 - SDL_TARGET=1 - F_JUMP_TABLES="" - $(usex gtk "WITHOUT_GTK=0" "WITHOUT_GTK=1") - $(usex debug "DEBUGANYWAY=1" "DEBUGANYWAY=0") - $(usex x86 "NOASM=0" "NOASM=1") - $(usex server "NETCODE=1" "NETCODE=0") - $(usex opengl "USE_OPENGL=1 POLYMER=1" "USE_OPENGL=0 POLYMER=0") - $(usex png "USE_LIBPNG=1" "USE_LIBPNG=0") - $(usex opengl "$(usex vpx "USE_LIBVPX=1" "USE_LIBVPX=0")" "USE_LIBVPX=0") - ) - - emake ${MY_OPTS[@]} - - if use tools; then - emake -C build ${MY_OPTS[@]} - fi -} - -src_install() { - local ARGS - - newgamesbin ${PN} ${PN}.bin - dogamesbin mapster32 - - if use tools; then - dobin build/{arttool,bsuite,cacheinfo,generateicon,givedepth,kextract,kgroup,kmd2tool,md2tool,mkpalette,transpal,unpackssi,wad2art,wad2map} - dodoc build/doc/*.txt - fi - - insinto "${GAMES_DATADIR}/${PN}" - # Install optional components - if use textures; then - newins "${DISTDIR}"/duke3d_hrp_${MY_HRP}.zip duke3d_hrp.zip - dodoc "${WORKDIR}"/hrp_readme.txt - ARGS+=" -g duke3d_hrp.zip" - - if use offensive; then - newins "${DISTDIR}"/duke3d_xxx_${MY_XXX}.zip duke3d_xxx.zip - dodoc "${WORKDIR}"/xxx_readme.txt - ARGS+=" -g duke3d_xxx.zip" - fi - fi - - if use opl-musicpack; then - newins "${DISTDIR}"/duke3d_musopl_${MY_OPL}.zip duke3d_musopl.zip - dodoc "${WORKDIR}"/musopl_readme.txt - ARGS+=" -g duke3d_musopl.zip" - elif use sc55-musicpack; then - newins "${DISTDIR}"/duke3d_mus_${MY_SC55}.zip duke3d_mus.zip - dodoc "${WORKDIR}"/music_readme.txt - ARGS+=" -g duke3d_mus.zip" - fi - - # Install game data - doins package/sdk/{SEHELP.HLP,STHELP.HLP,m32help.hlp,names.h,tiles.cfg} - use samples && doins -r package/samples - - local i - for i in 16 32 128 256 ; do - newicon -s ${i} "${WORKDIR}"/${PN}_${i}x${i}x32.png ${PN}.png - newicon -s ${i} "${WORKDIR}"/mapster32_${i}x${i}x32.png mapster32.png - done - - games_make_wrapper "${PN}" "${GAMES_BINDIR}/${PN}.bin ${ARGS}" - make_desktop_entry ${PN} EDuke32 ${PN} - make_desktop_entry mapster32 Mapster32 mapster32 - - dodoc build/buildlic.txt - - keepdir "${GAMES_LOGDIR}" - - prepgamesdirs -} - -pkg_preinst() { - games_pkg_preinst - gnome2_icon_savelist -} - -pkg_postinst() { - games_pkg_postinst - gnome2_icon_cache_update - - use cdinstall || use demo || { - elog "Note: You must also install the game data files, either manually or with" - elog "games-fps/duke3d-demodata or games-fps/duke3d-data before playing." - } - - einfo - elog "${PN} reads data files from ${GAMES_DATADIR}/duke3d" - einfo - - [[ -e ${ROOT}/${GAMES_LOGDIR} ]] || mkdir -p "${ROOT}/${GAMES_LOGDIR}" - touch "${ROOT}/${GAMES_LOGDIR}"/${PN}.log - touch "${ROOT}/${GAMES_LOGDIR}"/mapster32.log - chown ${GAMES_USER}:${GAMES_GROUP} "${ROOT}/${GAMES_LOGDIR}"/${PN}.log - chown ${GAMES_USER}:${GAMES_GROUP} "${ROOT}/${GAMES_LOGDIR}"/mapster32.log - chmod g+w "${ROOT}/${GAMES_LOGDIR}"/${PN}.log - chmod g+w "${ROOT}/${GAMES_LOGDIR}"/mapster32.log -} - -pkg_postrm() { - gnome2_icon_cache_update -} diff --git a/games-fps/eduke32/eduke32-20180508.6885.ebuild b/games-fps/eduke32/eduke32-20180508.6885.ebuild new file mode 100644 index 000000000000..c7c7bba616d1 --- /dev/null +++ b/games-fps/eduke32/eduke32-20180508.6885.ebuild @@ -0,0 +1,233 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit desktop eapi7-ver gnome2-utils toolchain-funcs + +MY_BUILD="$(ver_cut 2)" +MY_DATE="$(ver_cut 1)" + +MY_PN_HRP="duke3d_hrp" +MY_PN_OPL="duke3d_musopl" +MY_PN_PSX="duke3d_psx" +MY_PN_SC55="duke3d_music-sc55" +MY_PN_XXX="duke3d_xxx" + +MY_PV_HRP="5.4" +MY_PV_OPL="2.01" +MY_PV_PSX="1.11" +MY_PV_SC55="4.02" +MY_PV_XXX="1.33" + +DESCRIPTION="An open source engine port of the classic PC first person shooter Duke Nukem 3D" +HOMEPAGE="http://www.eduke32.com/" +SRC_URI="http://dukeworld.com/eduke32/synthesis/${MY_DATE}-${MY_BUILD}/${PN}_src_${MY_DATE}-${MY_BUILD}.tar.xz + http://www.eduke32.com/images/eduke32_classic.png + hrp? ( http://www.duke4.org/files/nightfright/hrp/duke3d_hrp.zip -> ${MY_PN_HRP}-${MY_PV_HRP}.zip ) + offensive? ( http://www.duke4.org/files/nightfright/related/${MY_PN_XXX}.zip -> ${MY_PN_XXX}-${MY_PV_XXX}.zip ) + opl? ( http://www.moddb.com/downloads/mirror/95750/102/ce9e8f422c6cccdb297852426e96740a -> ${MY_PN_OPL}-${MY_PV_OPL}.zip ) + psx? ( http://www.duke4.org/files/nightfright/related/duke3d_psx.zip -> ${MY_PN_PSX}-${MY_PV_PSX}.zip ) + sc-55? ( http://www.duke4.org/files/nightfright/music/${MY_PN_SC55}.zip -> ${MY_PN_SC55}-${MY_PV_SC55}.zip )" + +KEYWORDS="~amd64 ~x86" +LICENSE="BUILDLIC GPL-2 HRP" +SLOT="0" +IUSE="cdinstall demo flac fluidsynth gtk hrp offensive opengl opl png psx sc-55 server sdk timidity tools vorbis vpx xmp" +REQUIRED_USE="cdinstall? ( !demo ) + demo? ( !cdinstall ) + hrp? ( ^^ ( demo cdinstall ) ) + offensive? ( ^^ ( demo cdinstall ) ) + opl? ( ^^ ( demo cdinstall ) + !sc-55 ) + psx? ( ^^ ( demo cdinstall ) ) + sc-55? ( ^^ ( demo cdinstall ) + !opl ) + vpx? ( opengl )" + +S="${WORKDIR}/${PN}_${MY_DATE}-${MY_BUILD}" + +MY_DEPEND_RDEPEND="media-libs/libsdl2[joystick,opengl?,sound,video,X] + media-libs/sdl2-mixer[flac?,fluidsynth?,midi,timidity?,vorbis?] + sys-libs/zlib:= + flac? ( media-libs/flac ) + gtk? ( x11-libs/gtk+:2 ) + opengl? ( virtual/glu + virtual/opengl ) + png? ( media-libs/libpng:0= ) + timidity? ( media-sound/timidity-freepats ) + vpx? ( media-libs/libvpx:= ) + vorbis? ( media-libs/libogg + media-libs/libvorbis ) + xmp? ( media-libs/exempi:= )" + +RDEPEND="${MY_DEPEND_RDEPEND} + cdinstall? ( games-fps/duke3d-data ) + demo? ( games-fps/duke3d-demodata )" + +DEPEND="${MY_DEPEND_RDEPEND} + app-arch/unzip + x86? ( dev-lang/nasm )" + +PATCHES=( "${FILESDIR}/fix-build-transpal.patch" "${FILESDIR}/log-to-tmpdir.patch" "${FILESDIR}/search-duke3d-path.patch" ) + +src_unpack() { + # Extract only the eduke32 archive + unpack ${PN}_src_${MY_DATE}-${MY_BUILD}.tar.xz + + # Unpack only the documentation + if use hrp; then + unzip -q "${DISTDIR}"/${MY_PN_HRP}-${MY_PV_HRP}.zip hrp_readme.txt hrp_todo.txt || die + fi + if use offensive; then + unzip -q "${DISTDIR}"/${MY_PN_XXX}-${MY_PV_XXX}.zip xxx_readme.txt || die + fi + if use opl; then + unzip -q "${DISTDIR}"/${MY_PN_OPL}-${MY_PV_OPL}.zip readme.txt || die + fi + if use sc-55; then + unzip -q "${DISTDIR}"/${MY_PN_SC55}-${MY_PV_SC55}.zip readme/music_readme.txt || die + fi +} + +src_compile() { + local myemakeopts=( + ALLOCACHE_AS_MALLOC=0 + AS=$(tc-getAS) + CC=$(tc-getCC) + CXX=$(tc-getCXX) + CLANG=0 + CPLUSPLUS=1 + CUSTOMOPT="" + DEBUGANYWAY=0 + F_JUMP_TABLES="" + FORCEDEBUG=0 + HAVE_FLAC=$(usex flac 1 0) + HAVE_GTK2=$(usex gtk 1 0) + HAVE_VORBIS=$(usex vorbis 1 0) + HAVE_XMP=$(usex xmp 1 0) + LINKED_GTK=$(usex gtk 1 0) + LTO=1 + LUNATIC=0 + KRANDDEBUG=0 + MEMMAP=0 + MIXERTYPE=SDL + NETCODE=$(usex server 1 0) + NOASM=0 + OPTLEVEL=0 + OPTOPT="" + PACKAGE_REPOSITORY=1 + POLYMER=$(usex opengl 1 0) + PRETTY_OUTPUT=0 + PROFILER=0 + RELEASE=1 + RENDERTYPE=SDL + SDL_TARGET=2 + SIMPLE_MENU=0 + STRIP="" + TANDALONE=0 + STARTUP_WINDOW=$(usex gtk 1 0) + USE_OPENGL=$(usex opengl 1 0) + USE_LIBVPX=$(usex vpx 1 0) + USE_LIBPNG=$(usex png 1 0) + USE_LUAJIT_2_1=0 + WITHOUT_GTK=$(usex gtk 0 1) + ) + + emake "${myemakeopts[@]}" + + if use tools; then + emake utils "${myemakeopts[@]}" + fi +} + +src_install() { + local binary + local binaries=( + eduke32 + mapster32 + "${FILESDIR}"/eduke32-bin + ) + for binary in "${binaries[@]}"; do + dobin "${binary}" + done + + if use tools; then + local tool + local tools=( + arttool + bsuite + cacheinfo + generateicon + givedepth + ivfrate + kextract + kgroup + kmd2tool + makesdlkeytrans + map2stl + md2tool + mkpalette + transpal + unpackssi + wad2art + wad2map + ) + for tool in "${tools[@]}"; do + dobin ${tool} + done + fi + + keepdir /usr/share/games/eduke32 + insinto /usr/share/games/eduke32 + if use hrp; then + doins "${DISTDIR}"/${MY_PN_HRP}-${MY_PV_HRP}.zip + fi + if use offensive; then + doins "${DISTDIR}"/${MY_PN_XXX}-${MY_PV_XXX}.zip + fi + if use opl; then + doins "${DISTDIR}"/${MY_PN_OPL}-${MY_PV_OPL}.zip + fi + if use psx; then + doins "${DISTDIR}"/${MY_PN_PSX}-${MY_PV_PSX}.zip + fi + if use sc-55; then + doins "${DISTDIR}"/${MY_PN_SC55}-${MY_PV_SC55}.zip + fi + if use sdk; then + doins -r package/sdk + fi + + newicon "${DISTDIR}"/eduke32_classic.png eduke32.png + + make_desktop_entry eduke32-bin EDuke32 eduke32 Game + make_desktop_entry mapster32 Mapster32 eduke32 Game + + local DOCS=( package/sdk/samples/*.txt source/build/doc/*.txt source/duke3d/src/lunatic/doc/*.txt ) + if use hrp; then + DOCS+=( "${WORKDIR}"/hrp_readme.txt "${WORKDIR}"/hrp_todo.txt ) + fi + if use offensive; then + DOCS+=( "${WORKDIR}"/xxx_readme.txt ) + fi + if use opl; then + DOCS+=( "${WORKDIR}"/readme.txt ) + fi + if use sc-55; then + DOCS+=( "${WORKDIR}"/readme/music_readme.txt ) + fi + einstalldocs +} + +pkg_preinst() { + gnome2_icon_savelist +} + +pkg_postinst() { + gnome2_icon_cache_update +} + +pkg_postrm() { + gnome2_icon_cache_update +} diff --git a/games-fps/eduke32/files/eduke32-20131119.4169-QA.patch b/games-fps/eduke32/files/eduke32-20131119.4169-QA.patch deleted file mode 100644 index 38e9b36fa2b3..000000000000 --- a/games-fps/eduke32/files/eduke32-20131119.4169-QA.patch +++ /dev/null @@ -1,150 +0,0 @@ -From: Julian Ospald <hasufell@gentoo.org> -Date: Sat Feb 2 01:16:21 UTC 2013 -Subject: build system - - respect CC/CXX etc and CFLAGS/CXXFLAGS/LDFLAGS - ---- eduke32_20130201-3453/Makefile -+++ eduke32_20130201-3453/Makefile -@@ -311,10 +311,10 @@ - endif - - COMPILER=$(CC) $(OURCONLYFLAGS) --LINKER=$(L_CC) -+LINKER=$(L_CC) $(OURCFLAGS) $(OURCONLYFLAGS) - ifneq ($(CPLUSPLUS),0) - COMPILER=$(CXX) $(OURCXXFLAGS) -- LINKER=$(L_CXX) -+ LINKER=$(L_CXX) $(OURCXXFLAGS) - endif - - ifeq ($(PRETTY_OUTPUT),1) ---- eduke32_20130201-3453/Makefile.common -+++ eduke32_20130201-3453/Makefile.common -@@ -10,13 +10,14 @@ - - # Tools - CROSS= --CC=$(CROSS)gcc --CXX=$(CROSS)g++ --AS=$(CROSS)nasm --AR=$(CROSS)ar --RC=$(CROSS)windres --RANLIB=$(CROSS)ranlib --STRIP=$(CROSS)strip -+CC ?= $(CROSS)gcc -+CXX ?= $(CROSS)g++ -+AS ?= $(CROSS)nasm -+AR ?= $(CROSS)ar -+RC ?= $(CROSS)windres -+RANLIB ?= $(CROSS)ranlib -+STRIP ?= $(CROSS)strip -+PKG_CONFIG ?= pkgconfig - - L_CC=$(CC) - L_CXX=$(CXX) -@@ -164,7 +165,6 @@ - # FORCEWARNINGS - 1 = do not disable any compiler warnings within the source - # KRANDDEBUG - 1 = include logging of krand() calls for debugging the demo system - # EFENCE - 1 = compile with Electric Fence for malloc() debugging --# OPTLEVEL - 0..3 = GCC optimization strategy - # LTO - 1 = enable link-time optimization, for GCC 4.5 and up - # - CPLUSPLUS?=0 -@@ -178,13 +178,6 @@ - PROFILER?=0 - MUDFLAP?=0 - --# Select the default optimization level for release and debug builds. --ifeq ($(RELEASE),0) -- OPTLEVEL?=0 --else -- OPTLEVEL?=2 --endif -- - ifeq ($(RELEASE),0) - override STRIP= - endif -@@ -293,10 +286,9 @@ - - # compiler flags etc. - BASECFLAGS= --BASECONLYFLAGS=-Wimplicit -Wdeclaration-after-statement --BASECXXFLAGS= -fno-exceptions -fno-rtti -fpermissive -Wno-write-strings --BASEASFLAGS=-s #-g --BASELDFLAGS= -+BASECONLYFLAGS = $(CFLAGS) -std=gnu89 -Wimplicit -Wdeclaration-after-statement -+BASECXXFLAGS = $(CXXFLAGS) -fno-exceptions -fno-rtti -fpermissive -Wno-write-strings -Wno-narrowing -+BASELDFLAGS = $(LDFLAGS) - - - ifeq (1,$(strip $(shell expr $(GCC_MAJOR) \>= 4))) -@@ -330,19 +322,6 @@ - endif - - --ifneq ($(RELEASE)$(DEBUGANYWAY),10) -- # debug build or DEBUGANYWAY=1 --> -g flag -- ifneq (0,$(CLANG)) -- debug=-g -- else ifeq ($(PLATFORM), WII) -- debug=-g -- else -- debug=-ggdb -- endif --endif -- --debug+= -O$(OPTLEVEL) -- - # See http://clang.llvm.org/docs/UsersManual.html#controlling-code-generation - # for a list of possible UBSan options. - # Clang 3.2 does only supports -fsanitize=address for the AddressSanitizer -@@ -458,7 +437,7 @@ - - #### Lunatic development - # LuaJIT standalone interpreter executable: --LUAJIT:=luajit -+LUAJIT:=$(shell command -v luajit || command -v luajit-2 || command -v luajit-2.0) - # Options to "luajit -b" for synthesis. Since it runs on Linux, we need to tell - # the native LuaJIT to emit PE object files. - ifneq ($(SYNTHESIS),0) -@@ -487,7 +466,8 @@ - ifeq ($(PLATFORM),WINDOWS) - BASELIBS+= -lluajit - else -- BASELIBS+= -lluajit-5.1 -+ BASECOMMONFLAGS+= $(shell $(PKG_CONFIG) --cflags luajit 2>/dev/null || $(PKG_CONFIG) --cflags luajit-2.0) -+ BASELIBS+= $(shell $(PKG_CONFIG) --libs luajit 2>/dev/null || $(PKG_CONFIG) --libs luajit-2.0) - endif - endif - ---- eduke32_20130201-3453/build/Makefile -+++ eduke32_20130201-3453/build/Makefile -@@ -167,13 +167,15 @@ - OURCOMMONFLAGS+= $(BUILDCOMMONFLAGS) - - COMPILER=$(CC) $(OURCONLYFLAGS) --LINKER=$(L_CC) -+LINKER=$(L_CC) $(OURCFLAGS) $(OURCONLYFLAGS) - ifneq ($(CPLUSPLUS),0) - COMPILER=$(CXX) $(OURCXXFLAGS) -- LINKER=$(L_CXX) -+ LINKER=$(L_CXX) $(OURCXXFLAGS) - endif - --.SILENT: -+ifeq ($(PRETTY_OUTPUT),1) -+ .SILENT: -+endif - .PHONY: clean cleanutils veryclean all utils dxutils sdlutils printutils printsdlutils printdxutils enginelib editorlib - - # TARGETS -@@ -266,7 +268,7 @@ - if $(LINKER) -o $@ $^ $(OURLDFLAGS) $(UTILLIBS) -I$(SDLROOT)/include -I$(SDLROOT)/include/SDL; then $(ONESTEP_OK); else $(ONESTEP_FAILED); fi - arttool$(EXESUFFIX): $(OBJ)/arttool.$o $(UTILADDOBJS) - $(ONESTEP_STATUS) -- if $(L_CXX) -o $@ $^ $(OURLDFLAGS) $(STATICSTDCPP) $(STDCPPLIB) $(UTILLIBS); then $(ONESTEP_OK); else $(ONESTEP_FAILED); fi -+ if $(L_CXX) $(OURCXXFLAGS) -o $@ $^ $(OURLDFLAGS) $(STATICSTDCPP) $(STDCPPLIB) $(UTILLIBS); then $(ONESTEP_OK); else $(ONESTEP_FAILED); fi - givedepth$(EXESUFFIX): $(OBJ)/givedepth.$o $(UTILADDOBJS) - $(ONESTEP_STATUS) - if $(LINKER) -o $@ $^ $(OURLDFLAGS) $(UTILLIBS); then $(ONESTEP_OK); else $(ONESTEP_FAILED); fi diff --git a/games-fps/eduke32/files/eduke32-bin b/games-fps/eduke32/files/eduke32-bin new file mode 100755 index 000000000000..18e5b08e1eaa --- /dev/null +++ b/games-fps/eduke32/files/eduke32-bin @@ -0,0 +1,12 @@ +#!/bin/sh + +# Get all installed zip files +zips=$(ls /usr/share/games/eduke32/*.zip) + +# Create opts for eduke32 +for zip in ${zips[@]}; do + opts+="-g ${zip} " +done + +# Switch to /tmp, for writing there the log file and run eduke32 with set opts +cd /tmp && eduke32 ${opts} diff --git a/games-fps/eduke32/files/fix-build-transpal.patch b/games-fps/eduke32/files/fix-build-transpal.patch new file mode 100644 index 000000000000..3c22bc405507 --- /dev/null +++ b/games-fps/eduke32/files/fix-build-transpal.patch @@ -0,0 +1,20 @@ +--- a/source/tools/src/transpal.cpp 2017-02-01 11:01:11.000000000 +0100 ++++ b/source/tools/src/transpal.cpp 2018-05-11 00:06:37.329712454 +0200 +@@ -26,7 +26,7 @@ + r = ((ptr[0]*t+32768)>>16); + g = ((ptr[1]*t+32768)>>16); + b = ((ptr[2]*t+32768)>>16); +- return(getclosestcol(r,g,b)); ++ return(paletteGetClosestColor(r,g,b)); + } + + static char gettrans(char dat1, char dat2, int datransratio) +@@ -39,7 +39,7 @@ + r = ptr[0]; r += (((ptr2[0]-r)*datransratio+128)>>8); + g = ptr[1]; g += (((ptr2[1]-g)*datransratio+128)>>8); + b = ptr[2]; b += (((ptr2[2]-b)*datransratio+128)>>8); +- return(getclosestcol(r,g,b)); ++ return(paletteGetClosestColor(r,g,b)); + } + + int main(int argc, char **argv) diff --git a/games-fps/eduke32/files/log-to-tmpdir.patch b/games-fps/eduke32/files/log-to-tmpdir.patch new file mode 100644 index 000000000000..24cec1b00af1 --- /dev/null +++ b/games-fps/eduke32/files/log-to-tmpdir.patch @@ -0,0 +1,11 @@ +--- a/source/duke3d/src/game.cpp 2018-05-08 19:32:19.000000000 +0200 ++++ b/source/duke3d/src/game.cpp 2018-05-10 23:46:21.540213019 +0200 +@@ -6234,7 +6234,7 @@ + } + else + #endif +- OSD_SetLogFile(APPBASENAME ".log"); ++ OSD_SetLogFile("/tmp/" APPBASENAME ".log"); + + OSD_SetFunctions(GAME_drawosdchar, + GAME_drawosdstr, diff --git a/games-fps/eduke32/files/search-duke3d-path.patch b/games-fps/eduke32/files/search-duke3d-path.patch new file mode 100644 index 000000000000..c35af40c749e --- /dev/null +++ b/games-fps/eduke32/files/search-duke3d-path.patch @@ -0,0 +1,11 @@ +--- a/source/duke3d/src/common.cpp 2018-04-12 23:03:47.000000000 +0200 ++++ b/source/duke3d/src/common.cpp 2018-05-11 00:04:36.590712915 +0200 +@@ -794,6 +794,8 @@ + + addsearchpath("/usr/share/games/jfduke3d"); + addsearchpath("/usr/local/share/games/jfduke3d"); ++ addsearchpath("/usr/share/games/duke3d"); ++ addsearchpath("/usr/share/duke3d"); + addsearchpath("/usr/share/games/eduke32"); + addsearchpath("/usr/local/share/games/eduke32"); + #elif defined EDUKE32_OSX diff --git a/games-fps/eduke32/metadata.xml b/games-fps/eduke32/metadata.xml index 418a07b7ce84..801a1769ecb5 100644 --- a/games-fps/eduke32/metadata.xml +++ b/games-fps/eduke32/metadata.xml @@ -1,27 +1,35 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> + <maintainer type="person"> + <email>ck+gentoo@bl4ckb0x.de</email> + <name>Conrad Kostecki</name> + </maintainer> <maintainer type="project"> <email>games@gentoo.org</email> <name>Gentoo Games Project</name> </maintainer> + <maintainer type="project"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> + <longdescription> + EDuke32 is an awesome, free homebrew game engine and source port + of the classic PC first person shooter Duke Nukem 3D - Duke3D + for short to Windows, Linux, Mac OS X, FreeBSD and several handhelds. + </longdescription> <use> - <flag name="demo">Install <pkg>games-fps/duke3d-demodata</pkg> - as well</flag> - <flag name="gtk">Compile with gtk launcher</flag> - <flag name="offensive">Include optional XXX texture pack - (needs USE 'textures')</flag> - <flag name="opl-musicpack">Include optional OPL (AdLib) - music pack</flag> - <flag name="samples">Install samples</flag> - <flag name="sc55-musicpack">Include optional Roland SC-55 - music pack</flag> - <flag name="server">Compile with server support</flag> - <flag name="textures">Include optional high-resolution - textures (needs USE 'opengl')</flag> - <flag name="tools">Build several tools for modding and - development</flag> - <flag name="vpx">Enable support for WebM VP8 Codecs - (needs USE 'opengl')</flag> + <flag name="demo">Install the Duke Nukem 3D demo files, provided by <pkg>games-fps/duke3d-demodata</pkg>.</flag> + <flag name="fluidsynth">Install <pkg>media-libs/sdl2-mixer</pkg> with fluidsynth support.</flag> + <flag name="hrp">Install the Duke Nukem 3D High Resolution Pack.</flag> + <flag name="offensive">Install the Duke Nukem 3D XXX Pack.</flag> + <flag name="opl">Install the Duke Nukem 3D OPL music files.</flag> + <flag name="psx">Install the Duke Nukem 3D PSX high resolution voice files.</flag> + <flag name="sc-55">Install the Duke Nukem 3D Roland SC-55 music files.</flag> + <flag name="server">Enable support for multiplayer.</flag> + <flag name="sdk">Install the SDK files.</flag> + <flag name="tools">Install the support tools for mapster32.</flag> + <flag name="vpx">Enable support for <pkg>media-libs/libvpx</pkg>.</flag> + <flag name="xmp">Enable support for <pkg>media-libs/exempi</pkg>.</flag> </use> </pkgmetadata> |