games-fps/eduke32: Bump to version 20180508.6885 and drop old
authorConrad Kostecki <conrad@kostecki.com>
Fri, 11 May 2018 00:35:05 +0000 (02:35 +0200)
committerJames Le Cuirot <chewi@gentoo.org>
Sun, 13 May 2018 09:54:42 +0000 (10:54 +0100)
Closes: https://bugs.gentoo.org/640488
Package-Manager: Portage-2.3.36, Repoman-2.3.9
Closes: https://github.com/gentoo/gentoo/pull/8340

games-fps/eduke32/Manifest
games-fps/eduke32/eduke32-20131119.4169.ebuild [deleted file]
games-fps/eduke32/eduke32-20180508.6885.ebuild [new file with mode: 0644]
games-fps/eduke32/files/eduke32-20131119.4169-QA.patch [deleted file]
games-fps/eduke32/files/eduke32-bin [new file with mode: 0755]
games-fps/eduke32/files/fix-build-transpal.patch [new file with mode: 0644]
games-fps/eduke32/files/log-to-tmpdir.patch [new file with mode: 0644]
games-fps/eduke32/files/search-duke3d-path.patch [new file with mode: 0644]
games-fps/eduke32/metadata.xml
licenses/HRP [moved from licenses/hrp_art with 97% similarity]

index b50036303042791b3e7d8af6db11161bd8cabca8..6ebc26603a114cf112f8510b22ccd7718fedc1c0 100644 (file)
@@ -1,6 +1,7 @@
-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
+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
diff --git a/games-fps/eduke32/eduke32-20131119.4169.ebuild b/games-fps/eduke32/eduke32-20131119.4169.ebuild
deleted file mode 100644 (file)
index a5884e1..0000000
+++ /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 (file)
index 0000000..c7c7bba
--- /dev/null
@@ -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 (file)
index 38e9b36..0000000
+++ /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 (executable)
index 0000000..18e5b08
--- /dev/null
@@ -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 (file)
index 0000000..3c22bc4
--- /dev/null
@@ -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 (file)
index 0000000..24cec1b
--- /dev/null
@@ -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 (file)
index 0000000..c35af40
--- /dev/null
@@ -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
index 418a07b7ce84b959401ae9831e8339554b785179..801a1769ecb5d8cfb54067dab9793550966f5149 100644 (file)
@@ -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>
similarity index 97%
rename from licenses/hrp_art
rename to licenses/HRP
index eb8dc3c251c9c8390079e8a39fe1c76552b1a632..ad4a6e6849e82ec28a8276b173c3b89fad44822c 100644 (file)
@@ -1,76 +1,76 @@
-High Resolution Pack Art License
-
-This Work is provided under the terms of this License.
-The Work is protected by copyright and/or other applicable law. Any use of the 
-Work other than as authorized under this license is prohibited by law.
-
-BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE 
-BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY BE CONSIDERED 
-TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN 
-CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS.
-
-
-Definitions:
-------------
-
-"Adaptation" means a work based upon the Work, or upon the Work and other 
-pre-existing works, such as a translation, modification, derivative work, 
-arrangement or other alterations of an artistic work, or phonogram or 
-performance and includes cinematographic adaptations or any other form in 
-which the Work may be recast, transformed, or adapted including in any form 
-recognizably derived from the original.
-
-"Distribute" means to make available to the public the original and copies of 
-the Work or Adaptation, as appropriate, through any transfer of ownership.
-
-"Licensor" means the individual, individuals, entity or entities that offer(s) 
-the Work under the terms of this License.
-
-"Author" means, in the case of a literary or artistic work, the individual, 
-individuals, entity or entities who created the Work or if no individual or 
-entity can be identified, the publisher.
-
-"Work" means the artistic and/or musical content offered under the terms of 
-this License including without limitation any production in the literary, 
-scientific and artistic domain, whatever may be the mode or form of its 
-expression including digital form.
-
-"You" means an individual or entity exercising rights under this License who 
-has not previously violated the terms of this License with respect to the Work, 
-or who has received express permission from the Licensor to exercise rights 
-under this License despite a previous violation.
-
-"Reproduce" means to make copies of the Work by any means.
-
-
-Terms:
-------
-
-You are free to copy, alter, distribute, reproduce and transmit this Work, 
-subject to the following conditions:
-
-1. You may not use this Work or anything contained in this Work for commercial 
-   purposes.
-
-2. You must attribute this Work in the manner specified by the authors or 
-   licensor.
-
-3. Any likenesses, characters, sounds, phrases or references specific to 
-   Duke Nukem, 3D Realms Entertainment, or Apogee Software Ltd. appear in this 
-   Work courtesy of 3D Realms Entertainment and are the exclusive property of 
-   3D Realms Entertainment, and are provided only to be used with a legally 
-   acquired copy of Duke Nukem 3D. You may not alter, transform, build upon or 
-   adapt any portion of this Work specifically related to or derived from the 
-   Duke Nukem intellectual property, including likenesses, characters, sounds, 
-   phrases or references for any purpose other than use with a legally acquired 
-   copy of Duke Nukem 3D.
-
-4. Any works based upon altered, transformed, or copied parts of this Work must 
-   be distributed under a license identical or similar to this one.
-
-5. For any reuse or distribution of this Work, you must make clear to others 
-   the license terms of this Work.
-
-6. The producers and/or authors of this Work explicity reject any liability for 
-   any damages resulting from use or misuse of this Work by any Licensee or 
-   other third party.
+High Resolution Pack Art License\r
+\r
+This Work is provided under the terms of this License.\r
+The Work is protected by copyright and/or other applicable law. Any use of the \r
+Work other than as authorized under this license is prohibited by law.\r
+\r
+BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE \r
+BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY BE CONSIDERED \r
+TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN \r
+CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS.\r
+\r
+\r
+Definitions:\r
+------------\r
+\r
+"Adaptation" means a work based upon the Work, or upon the Work and other \r
+pre-existing works, such as a translation, modification, derivative work, \r
+arrangement or other alterations of an artistic work, or phonogram or \r
+performance and includes cinematographic adaptations or any other form in \r
+which the Work may be recast, transformed, or adapted including in any form \r
+recognizably derived from the original.\r
+\r
+"Distribute" means to make available to the public the original and copies of \r
+the Work or Adaptation, as appropriate, through any transfer of ownership.\r
+\r
+"Licensor" means the individual, individuals, entity or entities that offer(s) \r
+the Work under the terms of this License.\r
+\r
+"Author" means, in the case of a literary or artistic work, the individual, \r
+individuals, entity or entities who created the Work or if no individual or \r
+entity can be identified, the publisher.\r
+\r
+"Work" means the artistic and/or musical content offered under the terms of \r
+this License including without limitation any production in the literary, \r
+scientific and artistic domain, whatever may be the mode or form of its \r
+expression including digital form.\r
+\r
+"You" means an individual or entity exercising rights under this License who \r
+has not previously violated the terms of this License with respect to the Work, \r
+or who has received express permission from the Licensor to exercise rights \r
+under this License despite a previous violation.\r
+\r
+"Reproduce" means to make copies of the Work by any means.\r
+\r
+\r
+Terms:\r
+------\r
+\r
+You are free to copy, alter, distribute, reproduce and transmit this Work, \r
+subject to the following conditions:\r
+\r
+1. You may not use this Work or anything contained in this Work for commercial \r
+   purposes.\r
+\r
+2. You must attribute this Work in the manner specified by the authors or \r
+   licensor.\r
+\r
+3. Any likenesses, characters, sounds, phrases or references specific to \r
+   Duke Nukem, 3D Realms Entertainment, or Apogee Software Ltd. appear in this \r
+   Work courtesy of 3D Realms Entertainment and are the exclusive property of \r
+   3D Realms Entertainment, and are provided only to be used with a legally \r
+   acquired copy of Duke Nukem 3D. You may not alter, transform, build upon or \r
+   adapt any portion of this Work specifically related to or derived from the \r
+   Duke Nukem intellectual property, including likenesses, characters, sounds, \r
+   phrases or references for any purpose other than use with a legally acquired \r
+   copy of Duke Nukem 3D.\r
+\r
+4. Any works based upon altered, transformed, or copied parts of this Work must \r
+   be distributed under a license identical or similar to this one.\r
+\r
+5. For any reuse or distribution of this Work, you must make clear to others \r
+   the license terms of this Work.\r
+\r
+6. The producers and/or authors of this Work explicity reject any liability for \r
+   any damages resulting from use or misuse of this Work by any Licensee or \r
+   other third party.\r