summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorConrad Kostecki <conikost@gentoo.org>2021-08-08 00:46:35 +0200
committerConrad Kostecki <conikost@gentoo.org>2021-08-08 00:46:35 +0200
commit20595f517e3d1048bfbe4fc3eb14cffa625e8cb2 (patch)
treee525981c9cca253de47153e8e96b02fd58c64a00 /games-fps/eduke32
parentapp-crypt/acme-sh: drop old version (diff)
downloadgentoo-20595f517e3d1048bfbe4fc3eb14cffa625e8cb2.tar.gz
gentoo-20595f517e3d1048bfbe4fc3eb14cffa625e8cb2.tar.bz2
gentoo-20595f517e3d1048bfbe4fc3eb14cffa625e8cb2.zip
games-fps/eduke32: bump to version 20210805.9498
Package-Manager: Portage-3.0.20, Repoman-3.0.3 Signed-off-by: Conrad Kostecki <conikost@gentoo.org>
Diffstat (limited to 'games-fps/eduke32')
-rw-r--r--games-fps/eduke32/Manifest1
-rw-r--r--games-fps/eduke32/eduke32-20210805.9498.ebuild219
2 files changed, 220 insertions, 0 deletions
diff --git a/games-fps/eduke32/Manifest b/games-fps/eduke32/Manifest
index 3abf5dcfdcd7..188735c0e2bb 100644
--- a/games-fps/eduke32/Manifest
+++ b/games-fps/eduke32/Manifest
@@ -7,3 +7,4 @@ DIST duke3d_xxx-1.33.zip 26586453 BLAKE2B 7e3c46172d3db1b2eb49eb07f243a9ead4f260
DIST eduke32_classic.png 5129 BLAKE2B 332ad44b7f6b4f51362387aa6870e7db54423ca5a1f0586cb5019322fb72317d8e88e0bbf46ac89b56290db7e2e4a8442179a6eb87a615fd741b5f00ce96a1c8 SHA512 b41dece8f1ddcadde3367a83f6029ffdc5805811b40380e270169684fb3b368258bd8caeb55623dadffb6fb9d72faf9a3d75907722623f4fac94a4347f8ce833
DIST eduke32_src_20210624-9393-39e8f1852.tar.xz 20562500 BLAKE2B 46bb0fe5777040f3222c46ca5840b89f3173803891015a7a03344c87d8c7b00141e6838ed2ff6a74bd57b537bd61214e8ca7320b25dd103dc39056320ce51216 SHA512 59bd76fc35dc7031fe0a08fd5b2e3e24f4b8cc72fe410222f288457e8f290ebc5cf9a818961a45a4ca6086ebe4eb5d589185f254c1843169306a993dc0abf3c8
DIST eduke32_src_20210707-9468-73aac5b2d.tar.xz 20683656 BLAKE2B 5dfab0d8f0cd35ae34f5190333ac89caca00edbfe5cf18f0b58b61ed9421f93f7cbc2757b7b07a34a06aa12897753e5bfafb46bb4cf1de9797e59fdf996c8f11 SHA512 426d5a6a1d9decb4deeac3125b91d9f0e7b7565771aca2013dd76f3749625185cb64d056a0c37ea24da0c1266965012a4485636eeb85df933f23c12136e08585
+DIST eduke32_src_20210805-9498-54ac18bcf.tar.xz 20099028 BLAKE2B cae770fde1eda2d862d4483f8cc9d51bc800202752c0e666fb625a9d688b51efaae6d0d841767e36acacf78b675382c418d33d4f9a80778d33b1ac4d75281ee8 SHA512 a4cb0b56019207f61dfc092497082f5a4fb93a5ff76ab4cd9d76a9b7d3254ccf0be835052660e2243b067352514c38e83bb49c35cb098b70c5e4f5a33d952516
diff --git a/games-fps/eduke32/eduke32-20210805.9498.ebuild b/games-fps/eduke32/eduke32-20210805.9498.ebuild
new file mode 100644
index 000000000000..c781946c5fba
--- /dev/null
+++ b/games-fps/eduke32/eduke32-20210805.9498.ebuild
@@ -0,0 +1,219 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit desktop toolchain-funcs xdg-utils
+
+EGIT_COMMIT="54ac18bcf"
+MY_BUILD="$(ver_cut 2)"
+MY_DATE="$(ver_cut 1)"
+MY_PV_HRP="5.4"
+MY_PV_OFFENSIVE_XXX="1.33"
+MY_PV_OPL="2.01"
+MY_PV_PSX="1.11"
+MY_PV_SC55="4.02"
+MY_PV_VOXELS="1.21"
+
+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}-${EGIT_COMMIT}/${PN}_src_${MY_DATE}-${MY_BUILD}-${EGIT_COMMIT}.tar.xz
+ https://www.eduke32.com/images/eduke32_classic.png
+ hrp? ( http://www.duke4.org/files/nightfright/hrp/duke3d_hrp.zip -> duke3d_hrp-${MY_PV_HRP}.zip )
+ offensive? ( http://www.duke4.org/files/nightfright/related/duke3d_xxx.zip -> duke3d_xxx-${MY_PV_OFFENSIVE_XXX}.zip )
+ opl? ( https://www.moddb.com/downloads/mirror/95750/102/ce9e8f422c6cccdb297852426e96740a -> duke3d_musopl-${MY_PV_OPL}.zip )
+ psx? ( http://www.duke4.org/files/nightfright/related/duke3d_psx.zip -> duke3d_psx-${MY_PV_PSX}.zip )
+ sc-55? ( http://www.duke4.org/files/nightfright/music/duke3d_music-sc55.zip -> duke3d_music-sc55-${MY_PV_SC55}.zip )
+ voxels? ( https://www.dropbox.com/s/yaxfahyvskyvt4r/duke3d_voxels.zip -> duke3d_voxels-${MY_PV_VOXELS}.zip )
+"
+
+LICENSE="BUILDLIC GPL-2 HRP"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+IUSE="duke3d fluidsynth gtk hrp offensive opengl opl png psx sc-55 server sdk timidity tools voidsw voxels vpx xmp"
+REQUIRED_USE="
+ hrp? ( duke3d !voxels )
+ offensive? ( duke3d )
+ opl? ( duke3d !sc-55 )
+ psx? ( duke3d )
+ sc-55? ( duke3d !opl )
+ voxels? ( !hrp )
+ vpx? ( opengl )
+"
+
+# There are no tests,
+# instead it tries to build a test game, which does not compile
+RESTRICT="bindist test"
+
+S="${WORKDIR}/${PN}_${MY_DATE}-${MY_BUILD}-${EGIT_COMMIT}"
+
+RDEPEND="
+ media-libs/flac
+ media-libs/libogg
+ media-libs/libsdl2[alsa,joystick,opengl?,sound,video]
+ media-libs/libvorbis
+ media-libs/sdl2-mixer[flac,fluidsynth?,midi,timidity?,vorbis]
+ sys-libs/zlib
+ gtk? ( x11-libs/gtk+:2 )
+ opengl? (
+ virtual/glu
+ virtual/opengl
+ )
+ png? ( media-libs/libpng:0= )
+ vpx? ( media-libs/libvpx:= )
+ xmp? ( media-libs/exempi:2= )
+"
+
+DEPEND="
+ ${RDEPEND}
+ timidity? ( media-sound/timidity++ )
+"
+
+BDEPEND="
+ app-arch/unzip
+ x86? ( dev-lang/nasm )
+"
+
+PDEPEND="duke3d? ( games-fps/duke3d-data )"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-20190820.8043-log-to-tmpdir.patch"
+ "${FILESDIR}/${PN}-20190820.8043-search-duke3d-path.patch"
+ "${FILESDIR}/${PN}-20200505.8904-gcc10.patch"
+)
+
+src_unpack() {
+ # Extract only the eduke32 archive
+ unpack ${PN}_src_${MY_DATE}-${MY_BUILD}-${EGIT_COMMIT}.tar.xz
+
+ # Unpack only the documentation
+ if use hrp; then
+ unzip -q "${DISTDIR}"/duke3d_hrp-${MY_PV_HRP}.zip hrp_readme.txt hrp_todo.txt || die
+ fi
+ if use offensive; then
+ unzip -q "${DISTDIR}"/duke3d_xxx-${MY_PV_OFFENSIVE_XXX}.zip xxx_readme.txt || die
+ fi
+ if use opl; then
+ unzip -q "${DISTDIR}"/duke3d_musopl-${MY_PV_OPL}.zip readme.txt || die
+ mv readme.txt opl_readme.txt || die
+ fi
+ if use sc-55; then
+ unzip -q "${DISTDIR}"/duke3d_music-sc55-${MY_PV_SC55}.zip readme/music_readme.txt || die
+ fi
+ if use voxels; then
+ unzip -q "${DISTDIR}"/duke3d_voxels-${MY_PV_VOXELS}.zip voxelpack_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=1
+ HAVE_GTK2=$(usex gtk 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[@]}"
+
+ use tools && emake utils "${myemakeopts[@]}"
+ use voidsw && emake sw "${myemakeopts[@]}"
+}
+
+src_install() {
+ dobin eduke32 mapster32 "${FILESDIR}"/eduke32-bin
+ use voidsw && dobin voidsw "${FILESDIR}"/voidsw-bin
+
+ if use tools; then
+ local tools=(
+ arttool
+ bsuite
+ cacheinfo
+ generateicon
+ givedepth
+ ivfrate
+ kextract
+ kgroup
+ kmd2tool
+ makesdlkeytrans
+ map2stl
+ md2tool
+ mkpalette
+ transpal
+ unpackssi
+ wad2art
+ wad2map
+ )
+
+ dobin "${tools[@]}"
+ fi
+
+ keepdir /usr/share/games/eduke32
+ insinto /usr/share/games/eduke32
+
+ use hrp && doins "${DISTDIR}"/duke3d_hrp-${MY_PV_HRP}.zip
+ use offensive && doins "${DISTDIR}"/duke3d_xxx-${MY_PV_OFFENSIVE_XXX}.zip
+ use opl && doins "${DISTDIR}"/duke3d_musopl-${MY_PV_OPL}.zip
+ use psx && doins "${DISTDIR}"/duke3d_psx-${MY_PV_PSX}.zip
+ use sc-55 && doins "${DISTDIR}"/duke3d_music-sc55-${MY_PV_SC55}.zip
+ use sdk && doins -r package/sdk
+ use voxels && doins "${DISTDIR}"/duke3d_voxels-${MY_PV_VOXELS}.zip
+
+ newicon "${DISTDIR}"/eduke32_classic.png eduke32.png
+
+ make_desktop_entry eduke32-bin EDuke32 eduke32 Game
+ make_desktop_entry mapster32 Mapster32 eduke32 Game
+ use voidsw && make_desktop_entry voidsw-bin VoidSW voidsw Game
+
+ local DOCS=( package/sdk/samples/*.txt source/build/doc/*.txt )
+ use hrp && DOCS+=( "${WORKDIR}"/hrp_readme.txt "${WORKDIR}"/hrp_todo.txt )
+ use offensive && DOCS+=( "${WORKDIR}"/xxx_readme.txt )
+ use opl && DOCS+=( "${WORKDIR}"/opl_readme.txt )
+ use sc-55 && DOCS+=( "${WORKDIR}"/readme/music_readme.txt )
+ use voxels && DOCS+=( "${WORKDIR}"/voxelpack_readme.txt )
+
+ einstalldocs
+}
+
+pkg_postinst() {
+ xdg_icon_cache_update
+}
+
+pkg_postrm() {
+ xdg_icon_cache_update
+}