From b49088575eb777ced2551f484da86317332d6087 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sat, 24 Jul 2021 02:11:45 +0100 Subject: gentoo resync : 24.07.2021 --- games-fps/Manifest.gz | Bin 10861 -> 10867 bytes games-fps/quakeforge/Manifest | 6 +- .../quakeforge-0.7.2_p20210722-skipped-tests.patch | 16 ++ games-fps/quakeforge/metadata.xml | 41 +++--- .../quakeforge/quakeforge-0.7.2_p20210722.ebuild | 163 +++++++++++++++++++++ games-fps/quakeforge/quakeforge-9999.ebuild | 163 +++++++++++++++++++++ 6 files changed, 368 insertions(+), 21 deletions(-) create mode 100644 games-fps/quakeforge/files/quakeforge-0.7.2_p20210722-skipped-tests.patch create mode 100644 games-fps/quakeforge/quakeforge-0.7.2_p20210722.ebuild create mode 100644 games-fps/quakeforge/quakeforge-9999.ebuild (limited to 'games-fps') diff --git a/games-fps/Manifest.gz b/games-fps/Manifest.gz index 3c313a058810..6af12cd53498 100644 Binary files a/games-fps/Manifest.gz and b/games-fps/Manifest.gz differ diff --git a/games-fps/quakeforge/Manifest b/games-fps/quakeforge/Manifest index d8dc3e3678b1..b3a0d873f9a2 100644 --- a/games-fps/quakeforge/Manifest +++ b/games-fps/quakeforge/Manifest @@ -1,5 +1,9 @@ AUX quakeforge-0.7.2_p20210601-png-stub.patch 230 BLAKE2B fb1185bcbb377186bcacff8156dd4f5724882057b75af0cc42745471fa68fc30b672f589465d05603ded336b5370f9220aa6fb23546923317ca512056f5a0077 SHA512 cd5e88b23042a6462996d88034770211a59018e9ea81a498bbe4e5abd2aa4c01847c607bcd9670f6e1748bef1c4508668ed2b6f3b3b1690b392e9f9a9c93660e AUX quakeforge-0.7.2_p20210601-skipped-tests.patch 473 BLAKE2B a5ee046cd5b351741afe1953ddfc039df415d46d6d4f3085555466d052b0b61f58ce2684c8ea3b94817e754a12f5a423b0c98951daaa998970a89f89230a9952 SHA512 8d2f0b5f78b56e564fbf7b8602ded77f2403b0ce19d43c981e5f71d9fa7555529953447241effa209609480822e8a30e69a53b66b53618391887658435dd82aa +AUX quakeforge-0.7.2_p20210722-skipped-tests.patch 491 BLAKE2B e9124ae690ee78825b921655f0ad297386a46b66151bcb7f0e9eff2bfc1a3f533b1b0beebdc863399519a104c098d4d2387fefa9a69d0dcfef7b442a7a5d73be SHA512 72e4a8f04cbc46f066fc3543a069a9d94a275c8f1a67028d90791c4c21d92ddd5e912b724c916ddee712b736fc098c747705f11619da2fc8162a8ad818c3b362 DIST quakeforge-0.7.2_p20210601.tar.gz 3140318 BLAKE2B 4359c2e92a52bc314bca82dcf6f90aebe2fb7260e9c2e1444d3ca239c53adf1ca912093c5c0ccacb4cf9375e199c244f1b8787196c2f8f3bbc7eb00962b0d8da SHA512 a27e4317b3c01f129f1f32209c02b86abf7148c3e0b2e39306324d6b4758d9165883c169ebfde03fc7350b499088cd685991483911b5ae57ccb9b80baaefa733 +DIST quakeforge-0.7.2_p20210722.tar.gz 3157720 BLAKE2B 9757ed10a5f78d9b5f09029c149c3fc121daf4bef2cc5a1687d00d2d85c36065663407318478c801a4ae62dee03713e35009c91f590d1686678756da1aab7824 SHA512 1c3778ff73cffbb5cadc33e0b544935f822a0f983ed67945dbbd7f6624752b68e3da46f1836f38f22cbae9a9ac191eeacc256ca5da540c5448dfc1fb56b68aa4 EBUILD quakeforge-0.7.2_p20210601.ebuild 4879 BLAKE2B dd2ce56a125af5b069e16e159fb9d6a3c413263983d4ce1a730f6e2a53979d9247b5d1b8f953a53ddb7711e7c09853000632aefd121c74340f8ef03621c6ae8c SHA512 17da66fdac3ced92859908bc52878594661970e0fb03492ca720008c54f1a81e068f92a642b8b0b8749b65c76438799b92e6095102b4c6354784d1857da7bd59 -MISC metadata.xml 1814 BLAKE2B 88bcd7f96f83c035c1f84ec910895f7a197d5d29ac4d4c10b40baae21ecf37143a771c3f74deec60a906a6c36cf29ae2a2260362b6a891c216e1a2f40774e2d8 SHA512 c87273afde2a0776677b4c2b524eda78590311c70351101c0e6cc3c341fad95ad0c7636ac31822959722e55eb64d976c9bb777fc7a931ef946d31bf8a0826919 +EBUILD quakeforge-0.7.2_p20210722.ebuild 4386 BLAKE2B 268b9ede927ffd7d89b3d2cd6167e03a2666c33dd9def759bd537324cfc9dd462188a1df2c53ca3ed302b1e47c419153819a942bd554c6355bfe17d5814574b9 SHA512 f6808224222281798a853a83a455e77672185fd719c24ec680fc6ae5418db13ae693d2727ceea413bb5e62636c316708fbd4490b2135a9fab543196945548678 +EBUILD quakeforge-9999.ebuild 4363 BLAKE2B 239332acaa1be6a9d7424c905838594e7472415aee36b9b22f669ab7c8028e0fce6367f84f10a2eda1c7794cb91a5ee2ca92573a91ef113c473073a101f27a02 SHA512 8ce407d46a3a19e3a78be764b5c5bd98d3d018163a00eba5223a3a938ab7e9967cec054a00965b4bf1df225fe0a63141367464938a95e88be58cbe288d16e239 +MISC metadata.xml 1905 BLAKE2B 5c3af0de1b06ea4c5ff458d3859d10fc314361fca005e47da1f932e8aa9828dda8dff1fe3226a7ba7db03cc03b3da36854adff2eb9157a2014260fdeec46e4e0 SHA512 85ef7143bfb6fd8efaeb444cd66e561f6d2a4b787cc2d25fbae593cfdbc3ce7dcc899939bcd8489edd8506997f26023a87f8c128b66d2fb53f14082178dcd7c3 diff --git a/games-fps/quakeforge/files/quakeforge-0.7.2_p20210722-skipped-tests.patch b/games-fps/quakeforge/files/quakeforge-0.7.2_p20210722-skipped-tests.patch new file mode 100644 index 000000000000..df312bab7626 --- /dev/null +++ b/games-fps/quakeforge/files/quakeforge-0.7.2_p20210722-skipped-tests.patch @@ -0,0 +1,16 @@ +These are only failing at high precision and +should not affect normal usage. + quat/simd: may fail with -mavx + sebvf: random failure, usually pass, likely hardware related +--- a/libs/util/test/Makemodule.am ++++ b/libs/util/test/Makemodule.am +@@ -15,8 +15,5 @@ + libs/util/test/test-qfs \ +- libs/util/test/test-quat \ + libs/util/test/test-seb \ +- libs/util/test/test-sebvf \ + libs/util/test/test-seg \ +- libs/util/test/test-set \ +- libs/util/test/test-simd ++ libs/util/test/test-set + diff --git a/games-fps/quakeforge/metadata.xml b/games-fps/quakeforge/metadata.xml index a5c31dd9bfe4..c0d9251c3559 100644 --- a/games-fps/quakeforge/metadata.xml +++ b/games-fps/quakeforge/metadata.xml @@ -6,31 +6,32 @@ Gentoo Games Project -QuakeForge is a 3D graphics game engine based on id Software's legendary -Quake and QuakeWorld game engine. Our purpose? To improve the state of -the game by improving the engine and making it accessable to the largest -number of players we can. + QuakeForge is a 3D graphics game engine based on id Software's legendary + Quake and QuakeWorld game engine. Our purpose? To improve the state of + the game by improving the engine and making it accessable to the largest + number of players we can. -Arguably the single most important issue on the minds of players today -is the rampant cheating which is currently happening on many of the -larger servers. It's a serious problem and it really makes a good game -hard to find. We're working hard to fix these problems at the engine -level. + Arguably the single most important issue on the minds of players today + is the rampant cheating which is currently happening on many of the + larger servers. It's a serious problem and it really makes a good game + hard to find. We're working hard to fix these problems at the engine + level. -But what good is that if you have to have a copy of our client and the -server has to run our server? There are other projects out there and -some of them have very unique qualities. QuakeForge is cooperating with -QSG, a group comprised of representatives from nearly every known Quake -source project to ensure that our clients and servers run with other -clients and servers just fine. We have all agreed to implement any -effective cheat prevention methods. + But what good is that if you have to have a copy of our client and the + server has to run our server? There are other projects out there and + some of them have very unique qualities. QuakeForge is cooperating with + QSG, a group comprised of representatives from nearly every known Quake + source project to ensure that our clients and servers run with other + clients and servers just fine. We have all agreed to implement any + effective cheat prevention methods. -Other things we're doing include merging the two code trees, adding -features, and improving the OpenGL renderer. And QuakeForge is still the -most portable source tree based on the id Software code. - + Other things we're doing include merging the two code trees, adding + features, and improving the OpenGL renderer. And QuakeForge is still the + most portable source tree based on the id Software code. + Build Normal and QuakeWorld clients alongside the servers + Enable vulkan renderer (experimental) Use media-sound/wildmidi for midi support diff --git a/games-fps/quakeforge/quakeforge-0.7.2_p20210722.ebuild b/games-fps/quakeforge/quakeforge-0.7.2_p20210722.ebuild new file mode 100644 index 000000000000..1a58d8f86151 --- /dev/null +++ b/games-fps/quakeforge/quakeforge-0.7.2_p20210722.ebuild @@ -0,0 +1,163 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools readme.gentoo-r1 toolchain-funcs + +if [[ ${PV} == 9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/quakeforge/quakeforge.git" +else + MY_COMMIT="e799a7ae45b0ab2ad7b642953277db8ccf256cf8" + SRC_URI="https://github.com/quakeforge/quakeforge/archive/${MY_COMMIT}.tar.gz -> ${P}.tar.gz" + S="${WORKDIR}/${PN}-${MY_COMMIT}" + KEYWORDS="~amd64 ~x86" +fi + +DESCRIPTION="3D engine based on id Software's Quake and QuakeWorld game engines" +HOMEPAGE="http://www.quakeforge.net/" + +LICENSE="GPL-2+" +SLOT="0" +IUSE="alsa +client debug doc flac jack ncurses oss png sdl vorbis vulkan wildmidi zlib" + +RDEPEND=" + client? ( + media-libs/libsamplerate + net-misc/curl + virtual/opengl + x11-libs/libX11 + x11-libs/libXext + x11-libs/libXxf86vm + alsa? ( media-libs/alsa-lib ) + flac? ( media-libs/flac ) + jack? ( virtual/jack ) + sdl? ( media-libs/libsdl[sound] ) + vorbis? ( media-libs/libvorbis ) + vulkan? ( media-libs/vulkan-loader ) + wildmidi? ( media-sound/wildmidi ) + ) + ncurses? ( sys-libs/ncurses:= ) + png? ( media-libs/libpng:= ) + zlib? ( sys-libs/zlib:= )" +DEPEND=" + ${RDEPEND} + client? ( + x11-base/xorg-proto + vulkan? ( dev-util/vulkan-headers ) + )" +BDEPEND=" + sys-devel/bison + sys-devel/flex + virtual/pkgconfig + doc? ( + app-doc/doxygen[dot] + media-gfx/transfig + )" + +PATCHES=( + "${FILESDIR}"/${P}-skipped-tests.patch +) + +src_prepare() { + default + + echo ${PV} > .tarball-version || die + eautoreconf +} + +src_configure() { + qf_client() { + echo $(usex client $(use_enable ${1}) --disable-${1}) + } + + local econfargs=( + $(qf_client alsa) + $(qf_client flac) + $(qf_client jack) + $(qf_client oss) + $(qf_client sdl) + $(qf_client vorbis) + $(qf_client vulkan) + $(qf_client wildmidi) + $(use_enable client sound) + $(use_enable client vidmode) + $(use_enable debug) + $(use_enable ncurses curses) + $(use_enable png) + $(use_enable zlib) + $(use_with client x) + --disable-Werror + --disable-dga + --enable-xdg + # non-x11 clients are mostly abandoned/broken (SDL1 still useful for pulseaudio) + --with-clients=$(usev client x11) + --with-cpp="$(tc-getCPP) -x c %u %d %s -o %o %i" # see config.d/qfcc.m4 + --with-global-cfg="${EPREFIX}"/etc/quakeforge.conf + --with-sharepath="${EPREFIX}"/usr/share/quake1 + ) + + econf "${econfargs[@]}" +} + +src_compile() { + default + + use doc && emake doc +} + +src_install() { + use doc && local HTML_DOCS=( doxygen/html/. ) + + emake -j1 DESTDIR="${D}" install + einstalldocs + + find "${ED}" -name '*.la' -delete || die + + local DISABLE_AUTOFORMATTING="yes" + local DOC_CONTENTS=\ +"Before you can play (using nq-x11 or qw-client-x11), you must ensure +that ${PN} can find your Quake pak0.pak (and optionally pak1.pak) +at one of these locations with lowercase filenames: + - '~/.local/share/${PN}/id1/pak0.pak' + - '${EPREFIX}/usr/share/quake1/id1/pak0.pak' + +You can add them yourself or use either of: + - games-fps/quake1-data: install from a Quake CD-ROM + - games-fps/quake1-demodata: pak0.pak only (limited demo) + +Key binds notes: + Defaults ('imt_mod' table) expect you to set key binds manually in: + - '~/.local/share/${PN}/id1/autoexec.cfg' (or '${EPREFIX}/usr/share/quake1/id1') + For the in-game bind menu to be usable ('imt_0' table), bring up the + console with backtick \`, and run 'imt imt_0' (only needed once). + A mouse-grab bind ('toggle in_grab') and using freelook is recommended. + +Audio/Video notes: + Can add settings in: + - '~/.config/${PN}/${PN}.conf' (or '${EPREFIX}/etc/${PN}.conf') + Examples: + - set vid_width 800 + - set vid_height 600 + - set snd_output sdl (or alsa, jack, oss -- sdl can do pulseaudio) + - setrom vid_render gl (or vulkan, sw for software rendering)" + readme.gentoo_create_doc +} + +pkg_postinst() { + readme.gentoo_print_elog + + if [[ ${REPLACING_VERSIONS} ]] && ver_test ${REPLACING_VERSIONS} -le 0.7.2-r1; then + elog "Migration may be needed for ${PN}'s home paths, now using:" + elog " ~/.${PN}rc -> ~/.config/${PN}/${PN}.conf" + elog " ~/.${PN}/ -> ~/.local/share/${PN}/" + elog "Also, nq-sdl / qw-client-sdl are no longer available (use -x11 instead)." + fi + + if use vulkan; then + ewarn "You've enabled the new vulkan support that is still experimental and yet" + ewarn "used by default. If have issues, can use '+setrom vid_render gl' command" + ewarn "line option to revert to GL." + fi +} diff --git a/games-fps/quakeforge/quakeforge-9999.ebuild b/games-fps/quakeforge/quakeforge-9999.ebuild new file mode 100644 index 000000000000..03d46dcf580a --- /dev/null +++ b/games-fps/quakeforge/quakeforge-9999.ebuild @@ -0,0 +1,163 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools readme.gentoo-r1 toolchain-funcs + +if [[ ${PV} == 9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/quakeforge/quakeforge.git" +else + MY_COMMIT="" + SRC_URI="https://github.com/quakeforge/quakeforge/archive/${MY_COMMIT}.tar.gz -> ${P}.tar.gz" + S="${WORKDIR}/${PN}-${MY_COMMIT}" + KEYWORDS="~amd64 ~x86" +fi + +DESCRIPTION="3D engine based on id Software's Quake and QuakeWorld game engines" +HOMEPAGE="http://www.quakeforge.net/" + +LICENSE="GPL-2+" +SLOT="0" +IUSE="alsa +client debug doc flac jack ncurses oss png sdl vorbis vulkan wildmidi zlib" + +RDEPEND=" + client? ( + media-libs/libsamplerate + net-misc/curl + virtual/opengl + x11-libs/libX11 + x11-libs/libXext + x11-libs/libXxf86vm + alsa? ( media-libs/alsa-lib ) + flac? ( media-libs/flac ) + jack? ( virtual/jack ) + sdl? ( media-libs/libsdl[sound] ) + vorbis? ( media-libs/libvorbis ) + vulkan? ( media-libs/vulkan-loader ) + wildmidi? ( media-sound/wildmidi ) + ) + ncurses? ( sys-libs/ncurses:= ) + png? ( media-libs/libpng:= ) + zlib? ( sys-libs/zlib:= )" +DEPEND=" + ${RDEPEND} + client? ( + x11-base/xorg-proto + vulkan? ( dev-util/vulkan-headers ) + )" +BDEPEND=" + sys-devel/bison + sys-devel/flex + virtual/pkgconfig + doc? ( + app-doc/doxygen[dot] + media-gfx/transfig + )" + +PATCHES=( + "${FILESDIR}"/${PN}-0.7.2_p20210722-skipped-tests.patch +) + +src_prepare() { + default + + echo ${PV} > .tarball-version || die + eautoreconf +} + +src_configure() { + qf_client() { + echo $(usex client $(use_enable ${1}) --disable-${1}) + } + + local econfargs=( + $(qf_client alsa) + $(qf_client flac) + $(qf_client jack) + $(qf_client oss) + $(qf_client sdl) + $(qf_client vorbis) + $(qf_client vulkan) + $(qf_client wildmidi) + $(use_enable client sound) + $(use_enable client vidmode) + $(use_enable debug) + $(use_enable ncurses curses) + $(use_enable png) + $(use_enable zlib) + $(use_with client x) + --disable-Werror + --disable-dga + --enable-xdg + # non-x11 clients are mostly abandoned/broken (SDL1 still useful for pulseaudio) + --with-clients=$(usev client x11) + --with-cpp="$(tc-getCPP) -x c %u %d %s -o %o %i" # see config.d/qfcc.m4 + --with-global-cfg="${EPREFIX}"/etc/quakeforge.conf + --with-sharepath="${EPREFIX}"/usr/share/quake1 + ) + + econf "${econfargs[@]}" +} + +src_compile() { + default + + use doc && emake doc +} + +src_install() { + use doc && local HTML_DOCS=( doxygen/html/. ) + + emake -j1 DESTDIR="${D}" install + einstalldocs + + find "${ED}" -name '*.la' -delete || die + + local DISABLE_AUTOFORMATTING="yes" + local DOC_CONTENTS=\ +"Before you can play (using nq-x11 or qw-client-x11), you must ensure +that ${PN} can find your Quake pak0.pak (and optionally pak1.pak) +at one of these locations with lowercase filenames: + - '~/.local/share/${PN}/id1/pak0.pak' + - '${EPREFIX}/usr/share/quake1/id1/pak0.pak' + +You can add them yourself or use either of: + - games-fps/quake1-data: install from a Quake CD-ROM + - games-fps/quake1-demodata: pak0.pak only (limited demo) + +Key binds notes: + Defaults ('imt_mod' table) expect you to set key binds manually in: + - '~/.local/share/${PN}/id1/autoexec.cfg' (or '${EPREFIX}/usr/share/quake1/id1') + For the in-game bind menu to be usable ('imt_0' table), bring up the + console with backtick \`, and run 'imt imt_0' (only needed once). + A mouse-grab bind ('toggle in_grab') and using freelook is recommended. + +Audio/Video notes: + Can add settings in: + - '~/.config/${PN}/${PN}.conf' (or '${EPREFIX}/etc/${PN}.conf') + Examples: + - set vid_width 800 + - set vid_height 600 + - set snd_output sdl (or alsa, jack, oss -- sdl can do pulseaudio) + - setrom vid_render gl (or vulkan, sw for software rendering)" + readme.gentoo_create_doc +} + +pkg_postinst() { + readme.gentoo_print_elog + + if [[ ${REPLACING_VERSIONS} ]] && ver_test ${REPLACING_VERSIONS} -le 0.7.2-r1; then + elog "Migration may be needed for ${PN}'s home paths, now using:" + elog " ~/.${PN}rc -> ~/.config/${PN}/${PN}.conf" + elog " ~/.${PN}/ -> ~/.local/share/${PN}/" + elog "Also, nq-sdl / qw-client-sdl are no longer available (use -x11 instead)." + fi + + if use vulkan; then + ewarn "You've enabled the new vulkan support that is still experimental and yet" + ewarn "used by default. If have issues, can use '+setrom vid_render gl' command" + ewarn "line option to revert to GL." + fi +} -- cgit v1.2.3