commit: 26b2cbc52ee22fd87b90c7a8307ae261b68bfcee Author: Alexander Tsoy <alexander <AT> tsoy <DOT> me> AuthorDate: Wed May 21 21:59:53 2025 +0000 Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org> CommitDate: Sat May 24 00:51:16 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=26b2cbc5
games-fps/yamagi-quake2: version bump to 8.51 Signed-off-by: Alexander Tsoy <alexander <AT> tsoy.me> Part-of: https://github.com/gentoo/gentoo/pull/42232 Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org> games-fps/yamagi-quake2/Manifest | 5 + games-fps/yamagi-quake2/yamagi-quake2-8.51.ebuild | 152 ++++++++++++++++++++++ 2 files changed, 157 insertions(+) diff --git a/games-fps/yamagi-quake2/Manifest b/games-fps/yamagi-quake2/Manifest index e636ca9ae110..21df441e1901 100644 --- a/games-fps/yamagi-quake2/Manifest +++ b/games-fps/yamagi-quake2/Manifest @@ -1,9 +1,14 @@ DIST quake2-8.30.tar.xz 2165532 BLAKE2B cc0d42d643d066368450f2d789a987a978a3c0f319fdba2593e5275c4af3b2e7833913326d6cee39ddf854564638a3e2dc27c8333afbf0ff36691c31f5b093d8 SHA512 2801cc167f6780c93b9abb5462b6f57c4487ba8745f61dd4732ec9fccd0c07b5058b9e6640dae71b74eece5248fbae72ce071cc5b96e0d9a9e0540389e1fa413 DIST quake2-8.41.tar.xz 2161200 BLAKE2B 19c3f0958854916fa480e3a07be618a4bd5c972a231b5af41accf49979df45c318fedf010eb7c132ddb84d03fa204d1a3132028784a94281fffbac0cb2e4b578 SHA512 42870ace797146b2913669cea796b7e5525178078274eac6011183bab90df217fd4aa1c5b7232275b6a0d05a488bd4af6e9757c9f40194a33c7512c56c2caa53 +DIST quake2-8.51.tar.xz 2179516 BLAKE2B e8bac5f5216d81d70cb8bf493a0748ac1ff425dc57bdd2b820cf61538a87ad3c7d6d236c45dadb1767990f6dc7979fd908af86ba293f036c9c7c60c7f448f457 SHA512 f2d5cefc01fd1cd6d089fe939862a6e1a8bb89496c21834d7e10e7a421ae2fd4e355096113e76857c82a6c03c91b114bc20b1728f45d52e299193d814fb58753 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.7.tar.gz 315716 BLAKE2B b12996f3f09f07ebd8ed10fe138115046061941b70db7c7da9d0c639ddb2553fd040f9552db107757ea4f86e496665c520b4d4c2b3611a6d51692bdb5c6cc9b4 SHA512 52a05e64e6d41be78945b6908a08839507e1c14d9d16661ba45eda3bb4147ca4c89cc767343a5ad96e2bcef5c7773ed4fa128eaf829c0433f363873fafd326a4 DIST quake2-ref_vk-1.0.8.tar.gz 318062 BLAKE2B 0f9c647b8f8d7919b2ffde9a16b357efd354ebd5ba9d5ce7c2f7e654272d7bd1856a410bc0ccfd5928c9efaf669f91290f911befc532742a3aad05e1097bfcde SHA512 52d6c1336545671304e871c494c122381895dcf6658ed0cefc3fb94aaa2c4c37433a2e2a6c7d3b533864c8de37fe3aa11f482ee02d9fd548d4bd6b9611d13d65 DIST quake2-rogue-2.11.tar.xz 324220 BLAKE2B c2c4b9b65238302f81f31f02b3576fd29507d276482c74b6b3720ceb4664e49109afc0e14a759de2866125b98e775e9417461682d14b11895e2470cb293e9da9 SHA512 9ff487c7907cb809efe2f327adb9547f65ca4dbaeec638ddc8e9e7b52da4d1b1574107e835a6975ab626ce5c0bf0cec0a7cc5880e45a973a208b7ebf051f80ce 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-xatrix-2.12.tar.xz 216216 BLAKE2B db4e59a852a7e6f37532a79f5b74661390dd28782d0ee1ea4cc0ea77d191922adaefba8e8046b38c7b4231bd5a151562f92d56e0ee15b962cb9154fd8de36374 SHA512 291360583777dedab9935634a825f8859c12c851f103136d36c028d185bec2409a6634a6bf83db479c1b3fd3fece11698b1bd274eff75f41d51a9e498f0ba804 DIST quake2-xatrix-2.13.tar.xz 218228 BLAKE2B 08e682ff8f82421817503625c20c7955ba168a8dcce2c40e62a5d99dfb9b97d0c9c9f988a52237ed7d8f8ac1a5ac182f820d00211a8c6034caacbb1f612f0031 SHA512 abb9086e7b449b09e01f78bf4a1e17550d962a563af58e5708bbdc39b376508b1f4e9c39249117d2f33b26270275fa60ce75866d591742c0d913827726843382 +DIST quake2-xatrix-2.15.tar.xz 219740 BLAKE2B 580910de6779b6723e065b4b28a1f7c052f18af78b394f3460854009cd2009916a8e45960167dc47b14d9f8e0ef12ebc548147f125ebc72a3a545ed65124df24 SHA512 462d1f36c0347d61bb024db327d224a9a5961058da65384e97b4c4bebf7cc9203e1dcdf682f03af0cce5cb030b9ea1e5ec54f148802f0656c7550c8f8e4f12c4 diff --git a/games-fps/yamagi-quake2/yamagi-quake2-8.51.ebuild b/games-fps/yamagi-quake2/yamagi-quake2-8.51.ebuild new file mode 100644 index 000000000000..602b6f23ae8c --- /dev/null +++ b/games-fps/yamagi-quake2/yamagi-quake2-8.51.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.14" +XATRIX_V="2.15" +REF_VK_V="1.0.10" + +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 ) + ) +" +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 +}
