From 752d6256e5204b958b0ef7905675a940b5e9172f Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Thu, 12 May 2022 16:42:50 +0300 Subject: gentoo resync : 12.05.2022 --- games-fps/Manifest.gz | Bin 11372 -> 11375 bytes games-fps/eduke32/Manifest | 2 + games-fps/eduke32/eduke32-20220422.10033.ebuild | 218 +++++++++++++++++++++ games-fps/yamagi-quake2/Manifest | 5 +- .../files/yamagi-quake2-8.01-execinfo.patch | 49 +++++ games-fps/yamagi-quake2/yamagi-quake2-8.00.ebuild | 143 -------------- games-fps/yamagi-quake2/yamagi-quake2-8.01.ebuild | 146 ++++++++++++++ 7 files changed, 418 insertions(+), 145 deletions(-) create mode 100644 games-fps/eduke32/eduke32-20220422.10033.ebuild create mode 100644 games-fps/yamagi-quake2/files/yamagi-quake2-8.01-execinfo.patch delete mode 100644 games-fps/yamagi-quake2/yamagi-quake2-8.00.ebuild create mode 100644 games-fps/yamagi-quake2/yamagi-quake2-8.01.ebuild (limited to 'games-fps') diff --git a/games-fps/Manifest.gz b/games-fps/Manifest.gz index 96e82813edc2..5895d72f63ea 100644 Binary files a/games-fps/Manifest.gz and b/games-fps/Manifest.gz differ diff --git a/games-fps/eduke32/Manifest b/games-fps/eduke32/Manifest index 6db99eaa81e5..28fea3391404 100644 --- a/games-fps/eduke32/Manifest +++ b/games-fps/eduke32/Manifest @@ -14,6 +14,8 @@ DIST duke3d_xxx-1.33.zip 26586453 BLAKE2B 7e3c46172d3db1b2eb49eb07f243a9ead4f260 DIST eduke32_classic.png 5129 BLAKE2B 332ad44b7f6b4f51362387aa6870e7db54423ca5a1f0586cb5019322fb72317d8e88e0bbf46ac89b56290db7e2e4a8442179a6eb87a615fd741b5f00ce96a1c8 SHA512 b41dece8f1ddcadde3367a83f6029ffdc5805811b40380e270169684fb3b368258bd8caeb55623dadffb6fb9d72faf9a3d75907722623f4fac94a4347f8ce833 DIST eduke32_src_20211202-9831-a7ab79e69.tar.xz 19902936 BLAKE2B 9626a23599f0f187ace392abb47212908b991e3970043fa22382b2396f5617f3004e38117d39c4b191c857a5cd2662b5eefb6102390fd88c67fa47631e3cac5c SHA512 ab1cfe3fbbaa65d4e7ad2d9d7d39b8970a8ce4d9531f348770f62edee5d85438d9a382e618c88c637f23e5b5792c905f30fcbb56202ec56a9284e25697dd9b72 DIST eduke32_src_20220204-9957-6df591a07.tar.xz 20207948 BLAKE2B 2c907520c2ea6545000ca7daaf197cab745b46c14ccd2d199a2d2587a398fbff34b705a985dd898c6f28363daffa75d854efadfa38af15a77173cf762035dc02 SHA512 ca70bb49e8470a2af54857d743418933c98b3af245b3488b840aefb234ba08dc6ff288f9a44594b7e7c612dd9318523cfda5a86c737668c0f6de9eea84e8996f +DIST eduke32_src_20220422-10033-3927367ba.tar.xz 20777836 BLAKE2B 7c62a831c8daa5ba2f30e4dd80261aad87cb808eca28d0036f116c537de4d14b3fc2ca6fd325379aca21e7a2a6ab01dccce16907e108d932d5d62e3e0228aca5 SHA512 aac039500e9babc85d50d616868abff145ea145b3f53e9512c905acc084e9a193a7e0bbbd18c9976ad8ad306deccf6e23a66686edb06970b4b943a31938f0229 EBUILD eduke32-20211202.9831.ebuild 5788 BLAKE2B ca8c4b7dad374d72271c13b7e87f0a778491712a0a0f4f2e471d71beafa29cdf61f5215718932496d1a0218828120c06e691ac9eb6d548f34589170e8470a837 SHA512 5883aa4463c841d8786c60d5d809acce155635ed2e21cb7e284102e34d5b3aed7777e387f48f8b6ae732a37945acc11d6eed20b446b9d6ead57bef00aa776c3a EBUILD eduke32-20220204.9957.ebuild 5847 BLAKE2B ef16cefa271874c71c94219d90fd8afeb8257eaf38a8797bca3dbb5d6f2fbe92c43a702540f4b4e50d4b54819d92a16f788093f24eb2ca2b05698c398ba0be7b SHA512 d63c1c736431b32770f9e16cd25e4011eb6e3190ddd6739a1c83e768e4adab017e5cf41090c80a3743a127d2f1684d138db9df6dad4d25837ac1f79fc98b674b +EBUILD eduke32-20220422.10033.ebuild 5788 BLAKE2B 4041ca5bacd246028f316f2eee1a0afe3f6f53cfbb1e1e8fed83753462e815ee400bd5cddadfc05670dff8a44c7ca933cad4904cc0509e1d9b86ed9312376e45 SHA512 6d39ac181c0e8357fa883ee24cf4d6fe202ec9d1e9d5ff228e656262cc0f15090e790c87f7f1d22727924b35330dc87096997672222d438dbbabfb62334644ed MISC metadata.xml 1696 BLAKE2B 76d8cb27f0b64251519778ed51c1497807772d552eef3972312b8971e606087f4d44e4fda17499fea766233c1b7aa25ccf1467e76cc74bf1aee58d8cd21f158c SHA512 46dbbacbdcc05ef6907431f8d6bf1385af78c2d717653026ae565a26db2d0c8f05f242aaa78f4b14791c16c40862dc2e4d9a02892f650e222ee8fb4222603a8d diff --git a/games-fps/eduke32/eduke32-20220422.10033.ebuild b/games-fps/eduke32/eduke32-20220422.10033.ebuild new file mode 100644 index 000000000000..cb1de6ec3bd9 --- /dev/null +++ b/games-fps/eduke32/eduke32-20220422.10033.ebuild @@ -0,0 +1,218 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit desktop toolchain-funcs xdg-utils + +EGIT_COMMIT="3927367ba" +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 ) +" +S="${WORKDIR}/${PN}_${MY_DATE}-${MY_BUILD}-${EGIT_COMMIT}" + +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" + +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-search-duke3d-path.patch" + "${FILESDIR}/${PN}-20200505.8904-gcc10.patch" + "${FILESDIR}/${PN}-20220204.9957-log-to-tmpdir.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 +} diff --git a/games-fps/yamagi-quake2/Manifest b/games-fps/yamagi-quake2/Manifest index 97aa95882193..66a891c4536a 100644 --- a/games-fps/yamagi-quake2/Manifest +++ b/games-fps/yamagi-quake2/Manifest @@ -1,7 +1,8 @@ -DIST quake2-8.00.tar.xz 2086776 BLAKE2B 6a525b0d3703e17ca6ff85cbef7cf0c0522308fb71f8db4649e7bfbe3326c610d878d6a4af36ed6a578c700c5e1d004be7c0a9dd86cb495a27c8deb8b761eab9 SHA512 886c0df687e7e64a534f6e6f0b212084212d4d5c1278d2567b25bdd48df9ffab9ce75894ab6cfc2fd3a070adf9c1e3d7bb2e823d4f5aef8ef2cbc21c21c063bd +AUX yamagi-quake2-8.01-execinfo.patch 1356 BLAKE2B 0e2ca61efc754046b4b66179f00ac176b24f7a76b27a2706abcadcacf74eddda7dcc042a0932ce04988b60ceb2682ac5870f67fd929440649a5007d3da20a89a SHA512 0daeb4621cdc93a2477cc84b9eb7f70a46d17aee3eab52991f90f17a38bada6e815a5164637629ae481ce0a5520089dfce14fad97eb986823885aadebbb34827 +DIST quake2-8.01.tar.xz 2109408 BLAKE2B a68fe6ea3a0ab44ba9776bf99a3a826afe0ee25c842d6169296eb8837a3b22146f481defd7a66294dc9e42e75e5848225199e4314bf94756606e7325ba789db2 SHA512 8f616f8f09ad9e44bb34227d5492cc0d63180cecebcc39760582590078f4a63a0a4433d66cdffefb26a68d070b2ea1223334de9ae7c32e6c46e42a5aab721a06 DIST quake2-ctf-1.08.tar.xz 136468 BLAKE2B cce9f75333c03494dccc1a693c3c0a62194457673c17c59cd5d08a06a11daa769dabaf787c04d9de291c7cc255b4decef06ae5f045c5bc7bc3f4008f0e6babdb SHA512 3d3343ae5287c5f01efd3363ede19f2e41cc8d083691c928afd9e4a81c0b46f6002eb2ed99d11742b7c04f8ea728a1dbb3b5d26ce4fd1066b4f49e3fb664317e DIST quake2-ref_vk-1.0.1.tar.gz 290799 BLAKE2B 0716d539704a58067fd2d6d4f21b27976c6bd073b2722584a804c9702f2886b252701d81f2fe1e5aba22ab83fbddd1e35ce3574c3e3d41b609ebac417ee7cfe4 SHA512 99a6b7191a2eed714f70ec389a1f1972f430b9ba324e6880ce96101336beac640fef2d45adc1a6bf04c386a1d088fafd401d303704079ed7207fe7b56d2758db DIST quake2-rogue-2.08.tar.xz 282140 BLAKE2B e4ead304f35028010f4ffea6eed15753feac99cfa301975f8cae88d9ac10313c9e1a9e29e37d4f186df34abf659dd45b79bda04b5f420565f256bde8b69ab199 SHA512 216b8a9862c7f189bdabc68770306ead4fa2173f9051a8fd2a7927eae8aa4e42116bbde947591432d200832a3038c79316325549822fa531fc0e76a2bec57762 DIST quake2-xatrix-2.09.tar.xz 214096 BLAKE2B a4115da0d5624245d1065a67379d95a2b22330e1a5a999d7493d832d5edca4c83752f3a447ab1934c6709b7ed9247d5edd2b3f4b9b398a04982a9428381f2f9d SHA512 a4cf351eca2a72e6b5d8eeecf5d582a3c2c677b71dcf6bcdea310f1503f55ad8ccaf7225461bd78fc695e90d57525fd9a53c5d17e1eabd3a1d28e9386331399c -EBUILD yamagi-quake2-8.00.ebuild 3608 BLAKE2B 52f857ec1e61ac6a73a0186f5c96acc7350214a0b2731ac5e13eb46a63a7b6bc22fd052c996c9c8701d927de49cc11701c07163e9070c0472a1b62750d309692 SHA512 a5b07b47fc3c4e56845f900b8fce24ff7edc94eb287c864aa62f312d8edae7f3772010c5284c4fea55321a0088452fd8302da9e7426e3eaf3967fffa9dd66dd4 +EBUILD yamagi-quake2-8.01.ebuild 3703 BLAKE2B ff516ec4856871b12181bb3ce7632dc175e8b7afa012fc65901b126c32edf64ceb6cc03c5293f79b356e08cf54e009bcc5f66c8ec3ba012268df587a5c30975e SHA512 4f64b0e621ca5bb6c3538bac755f55578237bf9364614a5a1a60d5588e6d4f9bca37453d78cd80392e55149a43074776ff8ff1731a21678de31478432f9f8866 MISC metadata.xml 997 BLAKE2B 66368300709fa3d96efe1ef99188a77f0aab83526a0685e9f10d91100233352e115082eaf00713d2df6a4b42a7607efc0099fa4176d7b8b739061592969a51cc SHA512 7127d9fc2234157ad10a801fd27c6c84f132d7a05fb0a8bc4c4d31f2e0294827f416747cf0298680d99e29a87c1f261273e960c42c96708d67ee99b72f402284 diff --git a/games-fps/yamagi-quake2/files/yamagi-quake2-8.01-execinfo.patch b/games-fps/yamagi-quake2/files/yamagi-quake2-8.01-execinfo.patch new file mode 100644 index 000000000000..40de2342fa8e --- /dev/null +++ b/games-fps/yamagi-quake2/files/yamagi-quake2-8.01-execinfo.patch @@ -0,0 +1,49 @@ +From e4a23de95ac1b1333a8f349a1ead82999bca3862 Mon Sep 17 00:00:00 2001 +From: Alexander Tsoy +Date: Sun, 17 Apr 2022 17:07:28 +0300 +Subject: [PATCH] build: Make execinfo optional + +--- + Makefile | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/Makefile b/Makefile +index 3f9d72ce..99048a82 100644 +--- a/Makefile ++++ b/Makefile +@@ -62,6 +62,8 @@ WITH_SYSTEMWIDE:=no + # MUST NOT be surrounded by quotation marks! + WITH_SYSTEMDIR:="" + ++WITH_EXECINFO:=yes ++ + # This will set the build options to create an MacOS .app-bundle. + # The app-bundle itself will not be created, but the runtime paths + # will be set to expect the game-data in *.app/ +@@ -406,6 +408,7 @@ config: + @echo "WITH_RPATH = $(WITH_RPATH)" + @echo "WITH_SYSTEMWIDE = $(WITH_SYSTEMWIDE)" + @echo "WITH_SYSTEMDIR = $(WITH_SYSTEMDIR)" ++ @echo "WITH_EXECINFO = $(WITH_EXECINFO)" + @echo "============================" + @echo "" + +@@ -492,6 +495,7 @@ release/quake2 : CFLAGS += -DUSE_OPENAL -DDEFAULT_OPENAL_DRIVER='"libopenal.so.1 + endif + endif + ++ifeq ($(WITH_EXECINFO),yes) + ifeq ($(YQ2_OSTYPE), Linux) + release/quake2 : CFLAGS += -DHAVE_EXECINFO + endif +@@ -523,6 +527,7 @@ ifeq ($(YQ2_OSTYPE), Haiku) + release/quake2 : CFLAGS += -DHAVE_EXECINFO + release/quake2 : LDLIBS += -lexecinfo + endif ++endif + + ifeq ($(WITH_RPATH),yes) + ifeq ($(YQ2_OSTYPE), Darwin) +-- +2.35.1 + diff --git a/games-fps/yamagi-quake2/yamagi-quake2-8.00.ebuild b/games-fps/yamagi-quake2/yamagi-quake2-8.00.ebuild deleted file mode 100644 index 195061628b29..000000000000 --- a/games-fps/yamagi-quake2/yamagi-quake2-8.00.ebuild +++ /dev/null @@ -1,143 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit desktop toolchain-funcs wrapper - -CTF_V="1.08" -ROGUE_V="2.08" -XATRIX_V="2.09" -REF_VK_V="1.0.1" - -DESCRIPTION="Quake 2 engine focused on single player" -HOMEPAGE="https://www.yamagi.org/quake2/" -SRC_URI="https://deponie.yamagi.org/quake2/quake2-${PV}.tar.xz - ctf? ( https://deponie.yamagi.org/quake2/quake2-ctf-${CTF_V}.tar.xz ) - rogue? ( https://deponie.yamagi.org/quake2/quake2-rogue-${ROGUE_V}.tar.xz ) - xatrix? ( https://deponie.yamagi.org/quake2/quake2-xatrix-${XATRIX_V}.tar.xz ) - vulkan? ( https://github.com/yquake2/ref_vk/archive/refs/tags/v${REF_VK_V}.tar.gz -> - quake2-ref_vk-${REF_VK_V}.tar.gz ) -" -S="${WORKDIR}/quake2-${PV}" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x86" -IUSE="+client ctf dedicated openal +opengl rogue softrender vulkan xatrix" -REQUIRED_USE=" - || ( client dedicated ) - client? ( || ( opengl softrender vulkan ) ) -" - -RDEPEND=" - client? ( - media-libs/libsdl2[opengl?,video,vulkan?] - net-misc/curl - openal? ( media-libs/openal ) - !openal? ( media-libs/libsdl2[sound] ) - opengl? ( virtual/opengl ) - ) -" -DEPEND="${RDEPEND} - client? ( vulkan? ( dev-util/vulkan-headers ) ) -" - -DOCS=( CHANGELOG README.md doc ) - -src_compile() { - tc-export CC - - local targets=( game ) - local emakeargs=( - VERBOSE=1 - WITH_SYSTEMWIDE=yes - WITH_SYSTEMDIR="${EPREFIX}"/usr/share/quake2 - WITH_OPENAL=$(usex openal) - ) - - if use client; then - targets+=( client ) - use opengl && targets+=( ref_gl1 ref_gl3 ) - use softrender && targets+=( ref_soft ) - fi - use dedicated && targets+=( server ) - - emake "${emakeargs[@]}" config - emake "${emakeargs[@]}" "${targets[@]}" - - if use client && use vulkan; then - emake -C "${WORKDIR}"/ref_vk-${REF_VK_V} VERBOSE=1 - fi - - local addon - for addon in $(usev ctf) $(usev rogue) $(usev xatrix); do - emake -C "${WORKDIR}"/quake2-${addon}-* VERBOSE=1 - done -} - -src_install() { - insinto /usr/lib/yamagi-quake2 - # Yamagi Quake II expects all binaries to be in the same directory - # See doc/070_packaging.md for more info - exeinto /usr/lib/yamagi-quake2 - doins -r release/. - - if use client; then - doexe release/quake2 - dosym ../lib/yamagi-quake2/quake2 /usr/bin/yquake2 - - newicon stuff/icon/Quake2.svg "yamagi-quake2.svg" - make_desktop_entry "yquake2" "Yamagi Quake II" - - if use vulkan; then - doins "${WORKDIR}"/ref_vk-${REF_VK_V}/release/ref_vk.so - fi - fi - - if use dedicated; then - doexe release/q2ded - dosym ../lib/yamagi-quake2/q2ded /usr/bin/yq2ded - fi - - insinto /usr/lib/yamagi-quake2/baseq2 - doins stuff/yq2.cfg - - local addon - for addon in $(usev ctf) $(usev rogue) $(usev xatrix); do - insinto /usr/lib/yamagi-quake2/${addon} - doins "${WORKDIR}"/quake2-${addon}-*/release/game.so - - if use client; then - local addon_name - case ${addon} in - ctf) addon_name="CTF" ;; - rogue) addon_name="Ground Zero" ;; - xatrix) addon_name="The Reckoning" ;; - esac - - make_wrapper "yquake2-${addon}" "yquake2 +set game ${addon}" - make_desktop_entry "yquake2-${addon}" "Yamagi Quake II: ${addon_name}" - fi - done - - keepdir /usr/share/quake2 - - einstalldocs - if use client; then - docinto examples - dodoc stuff/cdripper.sh - fi -} - -pkg_postinst() { - if [[ -z ${REPLACING_VERSIONS} ]]; then - elog - elog "In order to play, you should do one of the following things:" - elog " - install games-fps/quake2-data or games-fps/quake2-demodata;" - elog " - manually copy game data files into ~/.yq2/ or" - elog " ${EROOT}/usr/share/quake2/." - elog "Read ${EROOT}/usr/share/doc/${PF}/README.md* for more information." - elog - fi -} diff --git a/games-fps/yamagi-quake2/yamagi-quake2-8.01.ebuild b/games-fps/yamagi-quake2/yamagi-quake2-8.01.ebuild new file mode 100644 index 000000000000..12f94411a485 --- /dev/null +++ b/games-fps/yamagi-quake2/yamagi-quake2-8.01.ebuild @@ -0,0 +1,146 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit desktop toolchain-funcs wrapper + +CTF_V="1.08" +ROGUE_V="2.08" +XATRIX_V="2.09" +REF_VK_V="1.0.1" + +DESCRIPTION="Quake 2 engine focused on single player" +HOMEPAGE="https://www.yamagi.org/quake2/" +SRC_URI="https://deponie.yamagi.org/quake2/quake2-${PV}.tar.xz + ctf? ( https://deponie.yamagi.org/quake2/quake2-ctf-${CTF_V}.tar.xz ) + rogue? ( https://deponie.yamagi.org/quake2/quake2-rogue-${ROGUE_V}.tar.xz ) + xatrix? ( https://deponie.yamagi.org/quake2/quake2-xatrix-${XATRIX_V}.tar.xz ) + vulkan? ( https://github.com/yquake2/ref_vk/archive/refs/tags/v${REF_VK_V}.tar.gz -> + quake2-ref_vk-${REF_VK_V}.tar.gz ) +" +S="${WORKDIR}/quake2-${PV}" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" +IUSE="+client ctf dedicated openal +opengl rogue softrender vulkan xatrix" +REQUIRED_USE=" + || ( client dedicated ) + client? ( || ( opengl softrender vulkan ) ) +" + +RDEPEND=" + client? ( + media-libs/libsdl2[opengl?,video,vulkan?] + net-misc/curl + openal? ( media-libs/openal ) + !openal? ( media-libs/libsdl2[sound] ) + opengl? ( virtual/opengl ) + ) +" +DEPEND="${RDEPEND} + client? ( vulkan? ( dev-util/vulkan-headers ) ) +" + +PATCHES=( "${FILESDIR}"/${PN}-8.01-execinfo.patch ) + +DOCS=( CHANGELOG README.md doc ) + +src_compile() { + tc-export CC + + local targets=( game ) + local emakeargs=( + VERBOSE=1 + WITH_EXECINFO=$(usex elibc_musl no yes) + WITH_SYSTEMWIDE=yes + WITH_SYSTEMDIR="${EPREFIX}"/usr/share/quake2 + WITH_OPENAL=$(usex openal) + ) + + if use client; then + targets+=( client ) + use opengl && targets+=( ref_gl1 ref_gl3 ) + use softrender && targets+=( ref_soft ) + fi + use dedicated && targets+=( server ) + + emake "${emakeargs[@]}" config + emake "${emakeargs[@]}" "${targets[@]}" + + if use client && use vulkan; then + emake -C "${WORKDIR}"/ref_vk-${REF_VK_V} VERBOSE=1 + fi + + local addon + for addon in $(usev ctf) $(usev rogue) $(usev xatrix); do + emake -C "${WORKDIR}"/quake2-${addon}-* VERBOSE=1 + done +} + +src_install() { + insinto /usr/lib/yamagi-quake2 + # Yamagi Quake II expects all binaries to be in the same directory + # See doc/070_packaging.md for more info + exeinto /usr/lib/yamagi-quake2 + doins -r release/. + + if use client; then + doexe release/quake2 + dosym ../lib/yamagi-quake2/quake2 /usr/bin/yquake2 + + newicon stuff/icon/Quake2.svg "yamagi-quake2.svg" + make_desktop_entry "yquake2" "Yamagi Quake II" + + if use vulkan; then + doins "${WORKDIR}"/ref_vk-${REF_VK_V}/release/ref_vk.so + fi + fi + + if use dedicated; then + doexe release/q2ded + dosym ../lib/yamagi-quake2/q2ded /usr/bin/yq2ded + fi + + insinto /usr/lib/yamagi-quake2/baseq2 + doins stuff/yq2.cfg + + local addon + for addon in $(usev ctf) $(usev rogue) $(usev xatrix); do + insinto /usr/lib/yamagi-quake2/${addon} + doins "${WORKDIR}"/quake2-${addon}-*/release/game.so + + if use client; then + local addon_name + case ${addon} in + ctf) addon_name="CTF" ;; + rogue) addon_name="Ground Zero" ;; + xatrix) addon_name="The Reckoning" ;; + esac + + make_wrapper "yquake2-${addon}" "yquake2 +set game ${addon}" + make_desktop_entry "yquake2-${addon}" "Yamagi Quake II: ${addon_name}" + fi + done + + keepdir /usr/share/quake2 + + einstalldocs + if use client; then + docinto examples + dodoc stuff/cdripper.sh + fi +} + +pkg_postinst() { + if [[ -z ${REPLACING_VERSIONS} ]]; then + elog + elog "In order to play, you should do one of the following things:" + elog " - install games-fps/quake2-data or games-fps/quake2-demodata;" + elog " - manually copy game data files into ~/.yq2/ or" + elog " ${EROOT}/usr/share/quake2/." + elog "Read ${EROOT}/usr/share/doc/${PF}/README.md* for more information." + elog + fi +} -- cgit v1.2.3