commit:     a0b6cc10b76cf556b1d1b2275b2383270b7c9693
Author:     Alexander Tsoy <alexander <AT> tsoy <DOT> me>
AuthorDate: Wed Nov 12 17:56:28 2025 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Thu Nov 13 12:09:33 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a0b6cc10

games-fps/yamagi-quake2: add 8.60

Signed-off-by: Alexander Tsoy <alexander <AT> tsoy.me>
Part-of: https://github.com/gentoo/gentoo/pull/44608
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 games-fps/yamagi-quake2/Manifest                  |   4 +
 games-fps/yamagi-quake2/yamagi-quake2-8.60.ebuild | 152 ++++++++++++++++++++++
 2 files changed, 156 insertions(+)

diff --git a/games-fps/yamagi-quake2/Manifest b/games-fps/yamagi-quake2/Manifest
index afb75604f9f1..91d3e670c071 100644
--- a/games-fps/yamagi-quake2/Manifest
+++ b/games-fps/yamagi-quake2/Manifest
@@ -1,10 +1,14 @@
 DIST quake2-8.41.tar.xz 2161200 BLAKE2B 
19c3f0958854916fa480e3a07be618a4bd5c972a231b5af41accf49979df45c318fedf010eb7c132ddb84d03fa204d1a3132028784a94281fffbac0cb2e4b578
 SHA512 
42870ace797146b2913669cea796b7e5525178078274eac6011183bab90df217fd4aa1c5b7232275b6a0d05a488bd4af6e9757c9f40194a33c7512c56c2caa53
 DIST quake2-8.51.tar.xz 2179516 BLAKE2B 
e8bac5f5216d81d70cb8bf493a0748ac1ff425dc57bdd2b820cf61538a87ad3c7d6d236c45dadb1767990f6dc7979fd908af86ba293f036c9c7c60c7f448f457
 SHA512 
f2d5cefc01fd1cd6d089fe939862a6e1a8bb89496c21834d7e10e7a421ae2fd4e355096113e76857c82a6c03c91b114bc20b1728f45d52e299193d814fb58753
+DIST quake2-8.60.tar.xz 2222192 BLAKE2B 
96917bc78c1f1aeffed1e7b471ed96ed80826ee8f8fe0b44e290b0dd180e49bc43ee70dc0f8632dc1495de3af7aa3b569a99e2112b39d5a52a866d6a71977e7c
 SHA512 
ed7ad1fc039c546d475d387f9788b998a4e715bfeb71cd60b7cdb55b2e61807e78e1a634041fb4e43b37568b9c57a8e34cb53855023623818e479be7cffb9136
 DIST quake2-ctf-1.10.tar.xz 136544 BLAKE2B 
04a374a32b90d4dd77cb7f57f361775310560b29a75b61b7acec1f3694041b04afa9fc7c75b93872368c6af552531ab2aba0d766f2394fd5a77da8017a3f9878
 SHA512 
66734ce71097a8a584408916fe445d56e81ae86c19ecdd178dfe9f14aa1a526a9f098b0f5756441c80b5516c160e7f64454acc5c351f0ed99acc7dea0a2d9027
 DIST quake2-ctf-1.12.tar.xz 137848 BLAKE2B 
465eebfebcef6631e03c5235df2c55c340bec0e29a2b423a76b316843c67ec32d812ff1fc26ab3d8672d5859c34e51cdfb8146a40afedf9099669eb727bab283
 SHA512 
afe8a767cae5b557c375682a40d2bc992ccf40a66bdc4d1e0ce39eb614d3a7ac8327abc17db09dc16bbb7dee0c74df266076455ce2333002d49da4624a44ac37
 DIST quake2-ref_vk-1.0.10.tar.gz 319809 BLAKE2B 
a9616a081ce5793e9e2b4070eab5d1d34d111a9c3946aa8a870f96f25c7b264ec1a6fe99b06590bcd470813533b10809ab764fe7322927e9d8323af68e68fdfd
 SHA512 
92e9f2b99b3076ea51b28c51bd2ab5dfa0b9434d839cf7b4022a7377420873c90e6033312b143f33fd425c89ec008b342c6c441bd334869d89e3a8c4daf84145
+DIST quake2-ref_vk-1.0.11.tar.gz 351527 BLAKE2B 
c6c26202f6853019ed41978eabe3635e4ee5e5f990d3cb8d267c5bdb746138643867f3842791f133764dd462936e5030b733e5794f008fca106d8124d4e4a629
 SHA512 
dfd5ca0c4533aadfafbb94cba0e226cdf1eea99c036de421e8d8edbcb4857744f31bda2288203cadeed3fc25ff9d63fe504bb2ffc7633771befcf6cbc7ab88f6
 DIST quake2-ref_vk-1.0.8.tar.gz 318062 BLAKE2B 
0f9c647b8f8d7919b2ffde9a16b357efd354ebd5ba9d5ce7c2f7e654272d7bd1856a410bc0ccfd5928c9efaf669f91290f911befc532742a3aad05e1097bfcde
 SHA512 
52d6c1336545671304e871c494c122381895dcf6658ed0cefc3fb94aaa2c4c37433a2e2a6c7d3b533864c8de37fe3aa11f482ee02d9fd548d4bd6b9611d13d65
 DIST quake2-rogue-2.12.tar.xz 325864 BLAKE2B 
3fb14d12a5d794dd61e047dbe71134171258632d6cfaf8761036796464eafc4d2b7ab3b551fe192bf8e6f78687e78af8500c99bc66d3add74bcefa10da3ffbb6
 SHA512 
d63b8ecd5297510606f9dae9b09da0924c464a55a25079828af6222a3eeca696fde693702071b2182f2fb99ba44a627614df9a1f77fafbab1f6181d90b2d1198
 DIST quake2-rogue-2.14.tar.xz 327560 BLAKE2B 
4a554de3089cf504dc6788c0377b044c96ce5957077a8acee8a6fe2b3f9f48a22fb43fe6951402d0aa5e4e004692625297c9c4fd30d5384f581951584c85b880
 SHA512 
4f456292fc8fc1324e23a5740073231d248a6b6227772243cccb68a61db9ba4991170c338019b4b7321baba64ecf538eba82d6590dbde46183510766081ac161
+DIST quake2-rogue-2.15.tar.xz 327776 BLAKE2B 
7810e1bcb586b48ec319b35eddbca314a7ac4e4abcf8e0220e63a3d080bc67bb279dff88dca10b5bd5847ed2097a7afed40fec24615401261b2e5c3b79c38371
 SHA512 
f23304c74b85e754880b17fc25c0bbb615d2e7cb59a31bf80cc2f8f3fc2f5e228b7b3817f992f0e23e904e00a1a9c4a21ef1b43062bad207009fa55e9a1001a5
 DIST quake2-xatrix-2.13.tar.xz 218228 BLAKE2B 
08e682ff8f82421817503625c20c7955ba168a8dcce2c40e62a5d99dfb9b97d0c9c9f988a52237ed7d8f8ac1a5ac182f820d00211a8c6034caacbb1f612f0031
 SHA512 
abb9086e7b449b09e01f78bf4a1e17550d962a563af58e5708bbdc39b376508b1f4e9c39249117d2f33b26270275fa60ce75866d591742c0d913827726843382
 DIST quake2-xatrix-2.15.tar.xz 219740 BLAKE2B 
580910de6779b6723e065b4b28a1f7c052f18af78b394f3460854009cd2009916a8e45960167dc47b14d9f8e0ef12ebc548147f125ebc72a3a545ed65124df24
 SHA512 
462d1f36c0347d61bb024db327d224a9a5961058da65384e97b4c4bebf7cc9203e1dcdf682f03af0cce5cb030b9ea1e5ec54f148802f0656c7550c8f8e4f12c4
+DIST quake2-xatrix-2.16.tar.xz 219812 BLAKE2B 
ab544df0ab8b4cc978d7973199234413cd3d9e4fe93ad727e47258a5cd7d2731b1e3dbf358d048999bb4197441161a9a0f1e38abc9f8522dd7e190b9d7ba6544
 SHA512 
5ae55519048e214cb7349d404b7b50de6a386812ac8cb9580ca175a9e22d13692a9506733cb024d144f4d018e76450b8afc04bbd6c73021d773a23884f727c96

diff --git a/games-fps/yamagi-quake2/yamagi-quake2-8.60.ebuild 
b/games-fps/yamagi-quake2/yamagi-quake2-8.60.ebuild
new file mode 100644
index 000000000000..5ea5b8504c62
--- /dev/null
+++ b/games-fps/yamagi-quake2/yamagi-quake2-8.60.ebuild
@@ -0,0 +1,152 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit desktop toolchain-funcs wrapper
+
+CTF_V="1.12"
+ROGUE_V="2.15"
+XATRIX_V="2.16"
+REF_VK_V="1.0.11"
+
+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 ~ppc64 ~x86"
+# TODO: there is also GLES1 renderer since 8.50
+IUSE="+client ctf dedicated gles openal +opengl rogue softrender vulkan xatrix"
+REQUIRED_USE="
+       || ( client dedicated )
+       client? ( || ( opengl gles softrender vulkan ) )
+"
+
+RDEPEND="
+       client? (
+               media-libs/libsdl2[opengl?,video,vulkan?]
+               net-misc/curl
+               gles? (
+                       media-libs/libglvnd
+                       media-libs/libsdl2[gles2]
+               )
+               openal? ( media-libs/openal )
+               !openal? ( media-libs/libsdl2[sound] )
+               opengl? ( media-libs/libglvnd[X] )
+       )
+"
+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 gles && targets+=( ref_gles3 )
+               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
+}

Reply via email to