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 +}
