summaryrefslogtreecommitdiff
path: root/games-fps/eduke32
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
committerV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
commit8376ef56580626e9c0f796d5b85b53a0a1c7d5f5 (patch)
tree7681bbd4e8b05407772df40a4bf04cbbc8afc3fa /games-fps/eduke32
parent30a9caf154332f12ca60756e1b75d2f0e3e1822d (diff)
gentoo resync : 14.07.2018
Diffstat (limited to 'games-fps/eduke32')
-rw-r--r--games-fps/eduke32/Manifest13
-rw-r--r--games-fps/eduke32/eduke32-20180702.6937.ebuild247
-rwxr-xr-xgames-fps/eduke32/files/eduke32-bin12
-rw-r--r--games-fps/eduke32/files/log-to-tmpdir.patch11
-rw-r--r--games-fps/eduke32/files/search-duke3d-path.patch11
-rw-r--r--games-fps/eduke32/metadata.xml36
6 files changed, 330 insertions, 0 deletions
diff --git a/games-fps/eduke32/Manifest b/games-fps/eduke32/Manifest
new file mode 100644
index 000000000000..19ca4a0b2b8f
--- /dev/null
+++ b/games-fps/eduke32/Manifest
@@ -0,0 +1,13 @@
+AUX eduke32-bin 268 BLAKE2B 20941b736b5062f237a39d769a28bbbe1442116259bfe8ff5de4e4c5d9ea2a6139a10efcfd687ee681f56a99382e817f9ad00c2eb2da9c0f1e817912b783261e SHA512 f7a472eb7225800f09d22b617aa12d75dca50892a462a128f901f8df1efc3684d324948f553e1fb44a1e9b786aa60279311ee52d1a6d695cdac0b457a8eee937
+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_voxels-1.21.zip 2997999 BLAKE2B dcb3103a82b45cfcf906d00147a57fe47997680ff7550973ed9741e62e78f9a099c1a13f65eaa133076d6551fcdfbf34e28ff59f2ad59f91ece98753e7d39523 SHA512 4b55dcc192cb2aa8830250fd222664272176bea8f6c6e4ac6d488abfecb1332b5793986c164fde78901904e2bde37e6ee4aa020c5eb578002de8f6102f44df15
+DIST duke3d_xxx-1.33.zip 26586453 BLAKE2B 7e3c46172d3db1b2eb49eb07f243a9ead4f260d6b1dcae9f8bd599b8e9ba3a19068032afeb4ec2cf61742b6216e3a06c24f2b7e8903f9636f9d00f4d57ada47f SHA512 4783d159610fc178e748446b7a5f9c13d90e1aca3cef34deb82e99655b7f4a254f1130e16dbcfad9013b95bc07161d5c5dccfcc552fbb7a88404b4b9cedbadbf
+DIST eduke32_classic.png 5129 BLAKE2B 332ad44b7f6b4f51362387aa6870e7db54423ca5a1f0586cb5019322fb72317d8e88e0bbf46ac89b56290db7e2e4a8442179a6eb87a615fd741b5f00ce96a1c8 SHA512 b41dece8f1ddcadde3367a83f6029ffdc5805811b40380e270169684fb3b368258bd8caeb55623dadffb6fb9d72faf9a3d75907722623f4fac94a4347f8ce833
+DIST eduke32_src_20180702-6937.tar.xz 14703496 BLAKE2B b1028551621bf12cbf8e6b0626cfb9634aa096d59a9dcc173cdb89614e68006d56468e2507e8f44f9c7a81e3c2bb392b79ccdafda420d456e169f135f78e106b SHA512 f219c30c6b5892846cc1f2a025e192d868610607213671658a62bcc833a5e0d8f5a3841681475574451e9938a8b8f47410e5f7f34267b618d03a2f154539cfef
+EBUILD eduke32-20180702.6937.ebuild 6076 BLAKE2B e3e92d3a8fbca3591855495294ec06bedd7b545f8d618f3730e9544df02a7559229291915db32ed0ae236fdcd0c9eb058c3ee2ec6345daabfe7c469e20ab88e2 SHA512 ab65151e77139a4805a6a2292540e6c30c8eec695195bc28d2ff294ddac29fbbac42eacc00a35e61e4270aa25dbfe483b2c0448cb265421e1d5b1439d2c5e2d5
+MISC metadata.xml 1727 BLAKE2B 3448f8633a915311ffb9ccc6d53bf8a94928df2625eaba9e21952dab0c6eb6ec1d5da514c8ad6f810a94005571e69d1d00d1d4ecc2e2afc6ea99ee5aa9de73f5 SHA512 8aeb500968ff3b161f244cc0374f9d6b2261ad11104f92f496ab501675cc50e68981a28f0482b06845a2e058ac63464db92c0250373d2036c249739e2954063a
diff --git a/games-fps/eduke32/eduke32-20180702.6937.ebuild b/games-fps/eduke32/eduke32-20180702.6937.ebuild
new file mode 100644
index 000000000000..c42e95c4417b
--- /dev/null
+++ b/games-fps/eduke32/eduke32-20180702.6937.ebuild
@@ -0,0 +1,247 @@
+# 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_VOXELS="duke3d_voxels"
+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_VOXELS="1.21"
+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 )
+ voxels? ( https://www.dropbox.com/s/yaxfahyvskyvt4r/duke3d_voxels.zip -> ${MY_PN_VOXELS}-${MY_PV_VOXELS}.zip )"
+
+KEYWORDS="~amd64 ~hppa ~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 voxels vpx xmp"
+REQUIRED_USE="cdinstall? ( !demo )
+ demo? ( !cdinstall )
+ hrp? ( ^^ ( demo cdinstall )
+ !voxels )
+ offensive? ( ^^ ( demo cdinstall ) )
+ opl? ( ^^ ( demo cdinstall )
+ !sc-55 )
+ psx? ( ^^ ( demo cdinstall ) )
+ sc-55? ( ^^ ( demo cdinstall )
+ !opl )
+ voxels? ( !hrp )
+ 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}/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
+ if use voxels; then
+ unzip -q "${DISTDIR}"/${MY_PN_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=$(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
+ if use voxels; then
+ doins "${DISTDIR}"/${MY_PN_VOXELS}-${MY_PV_VOXELS}.zip
+ 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
+ if use voxels; then
+ DOCS+=( "${WORKDIR}"/voxelpack_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-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/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
new file mode 100644
index 000000000000..15de77d47f59
--- /dev/null
+++ b/games-fps/eduke32/metadata.xml
@@ -0,0 +1,36 @@
+<?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 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="voxels">Install the Duke Nukem 3D Voxels Pack.</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>