forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
games-fps/eduke32: bump to version 20200201.8603
Package-Manager: Portage-2.3.87, Repoman-2.3.20 Signed-off-by: Conrad Kostecki <[email protected]>
- Loading branch information
Showing
2 changed files
with
226 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,225 @@ | ||
# Copyright 1999-2020 Gentoo Authors | ||
# Distributed under the terms of the GNU General Public License v2 | ||
|
||
EAPI=7 | ||
|
||
inherit desktop toolchain-funcs xdg-utils | ||
|
||
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=" | ||
https://dukeworld.com/eduke32/synthesis/${MY_DATE}-${MY_BUILD}/${PN}_src_${MY_DATE}-${MY_BUILD}.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 ~hppa ~x86" | ||
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 ) | ||
" | ||
|
||
# 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}" | ||
|
||
RDEPEND=" | ||
media-libs/libsdl2[joystick,opengl?,sound,video] | ||
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= ) | ||
vpx? ( media-libs/libvpx:= ) | ||
vorbis? ( | ||
media-libs/libogg | ||
media-libs/libvorbis | ||
) | ||
xmp? ( media-libs/exempi:2= ) | ||
" | ||
|
||
DEPEND=" | ||
${RDEPEND} | ||
cdinstall? ( games-fps/duke3d-data ) | ||
demo? ( games-fps/duke3d-demodata ) | ||
timidity? ( media-sound/timidity++ ) | ||
" | ||
|
||
BDEPEND=" | ||
app-arch/unzip | ||
x86? ( dev-lang/nasm ) | ||
" | ||
|
||
PATCHES=( | ||
"${FILESDIR}/${PN}-20190419.7615-wad2map-buildfix.patch" | ||
"${FILESDIR}/${PN}-20190820.8043-log-to-tmpdir.patch" | ||
"${FILESDIR}/${PN}-20190820.8043-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}"/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=$(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() { | ||
dobin eduke32 mapster32 "${FILESDIR}"/eduke32-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 | ||
|
||
local DOCS=( package/sdk/samples/*.txt source/build/doc/*.txt source/duke3d/src/lunatic/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 | ||
} |