diff options
Diffstat (limited to 'games-fps')
266 files changed, 5751 insertions, 2854 deletions
diff --git a/games-fps/alephone-durandal/Manifest b/games-fps/alephone-durandal/Manifest new file mode 100644 index 000000000000..8c577f82cfda --- /dev/null +++ b/games-fps/alephone-durandal/Manifest @@ -0,0 +1 @@ +DIST Marathon2-20221126-Data.zip 29711060 BLAKE2B aa65a575a2b36a9b07cfc978042aa31485e2e02de7886fc7505ca430e7c8e67d1b2b9a77578777abe1042192f82bd7a40f2ab5e848d6a5d4a2e48ddd0b8f075d SHA512 18911eb415b66d6a698c56a6343eb319d9fd2baa34b408d26e0800f2028e0a5724556530beda8660b5f6b071e1544ad7ee59307888e6d021c7628c295e813147 diff --git a/games-fps/alephone-durandal/alephone-durandal-20221126.ebuild b/games-fps/alephone-durandal/alephone-durandal-20221126.ebuild new file mode 100644 index 000000000000..ae8fcfa41812 --- /dev/null +++ b/games-fps/alephone-durandal/alephone-durandal-20221126.ebuild @@ -0,0 +1,37 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit desktop + +DESCRIPTION="Aleph One - Marathon 2 (Durandal)" +HOMEPAGE="https://alephone.lhowon.org/" +SRC_URI="https://github.com/Aleph-One-Marathon/alephone/releases/download/release-${PV}/Marathon2-${PV}-Data.zip" +S="${WORKDIR}/Marathon 2" + +LICENSE="bungie-marathon" +SLOT="0" +KEYWORDS="~amd64" +RESTRICT="mirror" + +RDEPEND="games-fps/alephone" +BDEPEND="app-arch/unzip" + +MY_NAME="durandal" +MY_DIR="/usr/share/alephone-${MY_NAME}" + +src_install() { + insinto "${MY_DIR}" + doins -r * + + make_desktop_entry "alephone.sh ${MY_NAME}" "${DESCRIPTION}" + + # Make sure the extra dirs exist in case the user wants to add some data + keepdir "${MY_DIR}"/{Scripts,"Physics Models",Textures,Themes} +} + +pkg_postinst() { + elog "To play this scenario, run:" + elog "alephone.sh ${MY_NAME}" +} diff --git a/games-fps/alephone-durandal/metadata.xml b/games-fps/alephone-durandal/metadata.xml new file mode 100644 index 000000000000..9c1f70adf763 --- /dev/null +++ b/games-fps/alephone-durandal/metadata.xml @@ -0,0 +1,16 @@ +<?xml version='1.0' encoding='UTF-8'?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>games@gentoo.org</email> + <name>Gentoo Games Project</name> + </maintainer> + <maintainer type="person"> + <email>kangie@gentoo.org</email> + <name>Matt Jolly</name> + </maintainer> + <upstream> + <remote-id type="github">Aleph-One-Marathon/alephone</remote-id> + <remote-id type="sourceforge">marathon</remote-id> + </upstream> +</pkgmetadata> diff --git a/games-fps/alephone-infinity/Manifest b/games-fps/alephone-infinity/Manifest new file mode 100644 index 000000000000..9c29ddec2a66 --- /dev/null +++ b/games-fps/alephone-infinity/Manifest @@ -0,0 +1 @@ +DIST MarathonInfinity-20221126-Data.zip 32204262 BLAKE2B 35292a53b9983411c4fd07f4c424950c8d2588132f75153ce88d6b97fbb43638985be3f254c7ce847a5eb63fbaf757a0b3914d23fd3025bd1f4d8a7f374691da SHA512 8e245618d0ed9ed3b7944360fa2db36f9cc255510c04c8d45f168a43ed398965ebc5551b604cc59b51b37cacbf41ac0e4aaced046704cb095dadd4e585d2763a diff --git a/games-fps/alephone-infinity/alephone-infinity-20221126.ebuild b/games-fps/alephone-infinity/alephone-infinity-20221126.ebuild new file mode 100644 index 000000000000..4c0369226bad --- /dev/null +++ b/games-fps/alephone-infinity/alephone-infinity-20221126.ebuild @@ -0,0 +1,37 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit desktop + +DESCRIPTION="Aleph One - Marathon Infinity" +HOMEPAGE="https://alephone.lhowon.org/" +SRC_URI="https://github.com/Aleph-One-Marathon/alephone/releases/download/release-${PV}/MarathonInfinity-${PV}-Data.zip" +S="${WORKDIR}/Marathon Infinity" + +LICENSE="bungie-marathon" +SLOT="0" +KEYWORDS="~amd64" +RESTRICT="mirror" + +RDEPEND="games-fps/alephone" +BDEPEND="app-arch/unzip" + +MY_NAME="infinity" +MY_DIR="/usr/share/alephone-${MY_NAME}" + +src_install() { + insinto "${MY_DIR}" + doins -r * + + make_desktop_entry "alephone.sh ${MY_NAME}" "${DESCRIPTION}" + + # Make sure the extra dirs exist in case the user wants to add some data + keepdir "${MY_DIR}"/{Scripts,"Physics Models",Textures,Themes} +} + +pkg_postinst() { + elog "To play this scenario, run:" + elog "alephone.sh ${MY_NAME}" +} diff --git a/games-fps/alephone-infinity/metadata.xml b/games-fps/alephone-infinity/metadata.xml new file mode 100644 index 000000000000..9c1f70adf763 --- /dev/null +++ b/games-fps/alephone-infinity/metadata.xml @@ -0,0 +1,16 @@ +<?xml version='1.0' encoding='UTF-8'?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>games@gentoo.org</email> + <name>Gentoo Games Project</name> + </maintainer> + <maintainer type="person"> + <email>kangie@gentoo.org</email> + <name>Matt Jolly</name> + </maintainer> + <upstream> + <remote-id type="github">Aleph-One-Marathon/alephone</remote-id> + <remote-id type="sourceforge">marathon</remote-id> + </upstream> +</pkgmetadata> diff --git a/games-fps/alephone-marathon/Manifest b/games-fps/alephone-marathon/Manifest new file mode 100644 index 000000000000..3f12b7f3582d --- /dev/null +++ b/games-fps/alephone-marathon/Manifest @@ -0,0 +1 @@ +DIST Marathon-20221126-Data.zip 26473388 BLAKE2B 16e93da81942c77ff399364d16a9b554c9f13320f08604006dc991b0be24db69d2a6496c45053d2ebb66628f3f2024d09953cec565d6fbdf8d6380f593f47e3e SHA512 4fcf16fcf0a04ccb5ce1fc4dc0ef95a09ff9010f444438c830977490401d3ca01e10d1ffe429df804d3ed6683e8b8f5aed982ca5a3e3049a23b074c783fb7c61 diff --git a/games-fps/alephone-marathon/alephone-marathon-20221126.ebuild b/games-fps/alephone-marathon/alephone-marathon-20221126.ebuild new file mode 100644 index 000000000000..020967a4d7da --- /dev/null +++ b/games-fps/alephone-marathon/alephone-marathon-20221126.ebuild @@ -0,0 +1,37 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit desktop + +DESCRIPTION="Aleph One - Marathon (M1A1)" +HOMEPAGE="https://alephone.lhowon.org/" +SRC_URI="https://github.com/Aleph-One-Marathon/alephone/releases/download/release-${PV}/Marathon-${PV}-Data.zip" +S="${WORKDIR}/Marathon" + +LICENSE="bungie-marathon" +SLOT="0" +KEYWORDS="~amd64" +RESTRICT="mirror" + +RDEPEND="games-fps/alephone" +BDEPEND="app-arch/unzip" + +MY_NAME="marathon" +MY_DIR="/usr/share/alephone-${MY_NAME}" + +src_install() { + insinto "${MY_DIR}" + doins -r * + + make_desktop_entry "alephone.sh ${MY_NAME}" "${DESCRIPTION}" + + # Make sure the extra dirs exist in case the user wants to add some data + keepdir "${MY_DIR}"/{Scripts,"Physics Models",Textures,Themes} +} + +pkg_postinst() { + elog "To play this scenario, run:" + elog "alephone.sh ${MY_NAME}" +} diff --git a/games-fps/alephone-marathon/metadata.xml b/games-fps/alephone-marathon/metadata.xml new file mode 100644 index 000000000000..9c1f70adf763 --- /dev/null +++ b/games-fps/alephone-marathon/metadata.xml @@ -0,0 +1,16 @@ +<?xml version='1.0' encoding='UTF-8'?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>games@gentoo.org</email> + <name>Gentoo Games Project</name> + </maintainer> + <maintainer type="person"> + <email>kangie@gentoo.org</email> + <name>Matt Jolly</name> + </maintainer> + <upstream> + <remote-id type="github">Aleph-One-Marathon/alephone</remote-id> + <remote-id type="sourceforge">marathon</remote-id> + </upstream> +</pkgmetadata> diff --git a/games-fps/alephone/Manifest b/games-fps/alephone/Manifest new file mode 100644 index 000000000000..24554b54aee2 --- /dev/null +++ b/games-fps/alephone/Manifest @@ -0,0 +1 @@ +DIST release-20230119.tar.gz 6968352 BLAKE2B 06bc87b4c2bc6a311ee90f854f7c35fb4da2862c417b192a4364dbd38cac9c0c02c4439abf07e6bc7c2d68899fae4dd938464896039943f1fa6ae5a4a644260f SHA512 d1ede53c20a24b74f5525e2e8c09fdbbb05fa0262bbd8f6c1abe6c3698cdfd1dea2436487ec8f64c79a7e1f150367e40ea48838f8a42031b45c0b1498a0e77d1 diff --git a/games-fps/alephone/alephone-20230119.ebuild b/games-fps/alephone/alephone-20230119.ebuild new file mode 100644 index 000000000000..895dc7325c50 --- /dev/null +++ b/games-fps/alephone/alephone-20230119.ebuild @@ -0,0 +1,107 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools flag-o-matic optfeature prefix toolchain-funcs xdg + +DESCRIPTION="An enhanced version of the game engine from the classic Mac game, Marathon" +HOMEPAGE="https://alephone.lhowon.org/" +if [[ ${PV} = 9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/Aleph-One-Marathon/alephone/" + EGIT_SUBMODULES=() # Upstream includes game data as submodules, we only want the engine +else + SRC_URI="https://github.com/Aleph-One-Marathon/alephone/archive/refs/tags/release-${PV}.tar.gz" + S="${WORKDIR}/${PN}-release-${PV}" + KEYWORDS="~amd64" +fi + +LICENSE="GPL-3+ BitstreamVera OFL-1.1" +SLOT="0" + +IUSE="alsa curl speex upnp" + +# ffmpeg covers most audio/video use cases and the package doesn't configure +# with alternatives enabled (media-libs/smpeg) +# When resolved upstream, +# !ffmpeg ( media-libs/libmad media-libs/libsndfile media-libs/libvorbis media-libs/smpeg ) +# with an appropriate REQUIRED_USE may be added. +# See https://github.com/Aleph-One-Marathon/alephone/issues/85 +RDEPEND=" + dev-libs/boost:= + dev-libs/zziplib:= + media-libs/libpng + media-libs/libsdl2 + media-libs/sdl2-image[png] + media-libs/sdl2-net + media-libs/sdl2-ttf + media-video/ffmpeg:=[mp3,vorbis] + sys-libs/zlib + virtual/opengl + virtual/glu + alsa? ( media-libs/alsa-lib ) + curl? ( net-misc/curl ) + speex? ( + media-libs/speex + media-libs/speexdsp + ) + upnp? ( net-libs/miniupnpc ) +" + +DEPEND=" + ${RDEPEND} +" + +BDEPEND=" + virtual/pkgconfig +" + +PATCHES=( "${FILESDIR}/${P}-c99.patch" ) + +src_prepare() { + default + eautoreconf +} + +src_configure() { + # -Werror=odr + # https://bugs.gentoo.org/873298 + # https://github.com/Aleph-One-Marathon/alephone/issues/475 + filter-lto + + econf \ + --enable-lua \ + --enable-opengl \ + --with-ffmpeg \ + --without-mad \ + --without-smpeg \ + --without-sndfile \ + --without-vorbis \ + $(use_with alsa) \ + $(use_with curl) \ + $(use_with speex) \ + $(use_with upnp miniupnpc) +} + +src_compile() { + tc-export AR + default +} + +src_install() { + default + prefixify_ro "${FILESDIR}"/${PN}.sh + dobin "${T}"/${PN}.sh + doman docs/${PN}.6 + docinto html/ + dodoc docs/*.html +} + +pkg_postinst() { + xdg_pkg_postinst + optfeature_header "Install game data:" + optfeature "Marathon data files" games-fps/alephone-marathon + optfeature "Marathon 2 Durandal data files" games-fps/alephone-durandal + optfeature "Marathon: Infinity data files" games-fps/alephone-infinity +} diff --git a/games-fps/alephone/alephone-99999999.ebuild b/games-fps/alephone/alephone-99999999.ebuild new file mode 100644 index 000000000000..9a32dc2729ec --- /dev/null +++ b/games-fps/alephone/alephone-99999999.ebuild @@ -0,0 +1,105 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools flag-o-matic optfeature prefix toolchain-funcs xdg + +DESCRIPTION="An enhanced version of the game engine from the classic Mac game, Marathon" +HOMEPAGE="https://alephone.lhowon.org/" +if [[ ${PV} = 9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/Aleph-One-Marathon/alephone/" + EGIT_SUBMODULES=() # Upstream includes game data as submodules, we only want the engine +else + SRC_URI="https://github.com/Aleph-One-Marathon/alephone/archive/refs/tags/release-${PV}.tar.gz" + S="${WORKDIR}/${PN}-release-${PV}" + KEYWORDS="~amd64" +fi + +LICENSE="GPL-3+ BitstreamVera OFL-1.1" +SLOT="0" + +IUSE="alsa curl speex upnp" + +# ffmpeg covers most audio/video use cases and the package doesn't configure +# with alternatives enabled (media-libs/smpeg) +# When resolved upstream, +# !ffmpeg ( media-libs/libmad media-libs/libsndfile media-libs/libvorbis media-libs/smpeg ) +# with an appropriate REQUIRED_USE may be added. +# See https://github.com/Aleph-One-Marathon/alephone/issues/85 +RDEPEND=" + dev-libs/boost:= + dev-libs/zziplib:= + media-libs/libpng + media-libs/libsdl2 + media-libs/sdl2-image[png] + media-libs/sdl2-net + media-libs/sdl2-ttf + media-video/ffmpeg:=[mp3,vorbis] + sys-libs/zlib + virtual/opengl + virtual/glu + alsa? ( media-libs/alsa-lib ) + curl? ( net-misc/curl ) + speex? ( + media-libs/speex + media-libs/speexdsp + ) + upnp? ( net-libs/miniupnpc ) +" + +DEPEND=" + ${RDEPEND} +" + +BDEPEND=" + virtual/pkgconfig +" + +src_prepare() { + default + eautoreconf +} + +src_configure() { + # -Werror=odr + # https://bugs.gentoo.org/873298 + # https://github.com/Aleph-One-Marathon/alephone/issues/475 + filter-lto + + econf \ + --enable-lua \ + --enable-opengl \ + --with-ffmpeg \ + --without-mad \ + --without-smpeg \ + --without-sndfile \ + --without-vorbis \ + $(use_with alsa) \ + $(use_with curl) \ + $(use_with speex) \ + $(use_with upnp miniupnpc) +} + +src_compile() { + tc-export AR + default +} + +src_install() { + default + prefixify_ro "${FILESDIR}"/${PN}.sh + dobin "${T}"/${PN}.sh + doman docs/${PN}.6 + docinto html/ + dodoc docs/*.html +} + +pkg_postinst() { + xdg_pkg_postinst + optfeature_header "Install game data:" + optfeature "Marathon data files" games-fps/alephone-marathon + optfeature "Marathon 2 Durandal data files" games-fps/alephone-durandal + optfeature "Marathon: Infinity data files" games-fps/alephone-infinity +} diff --git a/games-fps/alephone/files/alephone-20230119-c99.patch b/games-fps/alephone/files/alephone-20230119-c99.patch new file mode 100644 index 000000000000..7340e1fb2be0 --- /dev/null +++ b/games-fps/alephone/files/alephone-20230119-c99.patch @@ -0,0 +1,99 @@ +https://github.com/Aleph-One-Marathon/alephone/pull/405 +From: Matt Jolly <Matt.Jolly@footclan.ninja> +Date: Sat, 28 Jan 2023 18:03:51 +1100 +Subject: [PATCH] use designated initialisers for SDL_ffmpegCodec* + +These were failing to compile under clang16 as the old `audioBitrate` +was being jammed into `crf`, causing an incompatible integer conversion. +--- a/Source_Files/FFmpeg/SDL_ffmpeg.c ++++ b/Source_Files/FFmpeg/SDL_ffmpeg.c +@@ -155,41 +155,55 @@ int SDL_ffmpegDecodeVideoFrame( SDL_ffmpegFile*, AVPacket*, SDL_ffmpegVideoFrame + + const SDL_ffmpegCodec SDL_ffmpegCodecAUTO = + { +- -1, +- 720, 576, +- 1, 25, +- 6000000, +- -1, -1, +- -1, +- 2, 48000, +- 192000, +- -1, -1 ++ .videoCodecID=-1, ++ .width=720, ++ .height=576, ++ .framerateNum=1, ++ .framerateDen=25, ++ .videoBitrate=6000000, ++ .videoMinRate=-1, ++ .videoMaxRate=-1, ++ .audioCodecID=-1, ++ .channels=2, ++ .sampleRate=48000, ++ .cpuCount=-1, ++ .audioQuality=-1 + }; + ++ ++ + const SDL_ffmpegCodec SDL_ffmpegCodecPALDVD = + { +- AV_CODEC_ID_MPEG2VIDEO, +- 720, 576, +- 1, 25, +- 6000000, +- -1, -1, +- AV_CODEC_ID_MP2, +- 2, 48000, +- 192000, +- -1, -1 ++ .videoCodecID=AV_CODEC_ID_MPEG2VIDEO, ++ .width=720, ++ .height=576, ++ .framerateNum=1, ++ .framerateDen=25, ++ .videoBitrate=6000000, ++ .videoMinRate=-1, ++ .videoMaxRate=-1, ++ .audioCodecID=AV_CODEC_ID_MP2, ++ .channels=2, ++ .sampleRate=48000, ++ .cpuCount=-1, ++ .audioQuality=-1 + }; + + const SDL_ffmpegCodec SDL_ffmpegCodecPALDV = + { +- AV_CODEC_ID_DVVIDEO, +- 720, 576, +- 1, 25, +- 6553600, +- -1, -1, +- AV_CODEC_ID_DVAUDIO, +- 2, 48000, +- 256000, +- -1, -1 ++ .videoCodecID=AV_CODEC_ID_DVVIDEO, ++ .width=720, ++ .height=576, ++ .framerateNum=1, ++ .framerateDen=25, ++ .videoBitrate=6553600, ++ .videoMinRate=-1, ++ .videoMaxRate=-1, ++ .audioCodecID=AV_CODEC_ID_DVAUDIO, ++ .channels=2, ++ .sampleRate=48000, ++ .cpuCount=-1, ++ .audioQuality=-1 + }; + + SDL_ffmpegFile* SDL_ffmpegCreateFile() +@@ -2269,4 +2283,4 @@ int SDL_ffmpegDecodeVideoFrame( SDL_ffmpegFile* file, AVPacket *pack, SDL_ffmpeg + /** + \endcond + */ +-#endif +\ No newline at end of file ++#endif diff --git a/games-fps/alephone/files/alephone.sh b/games-fps/alephone/files/alephone.sh new file mode 100644 index 000000000000..3bb51c26b67c --- /dev/null +++ b/games-fps/alephone/files/alephone.sh @@ -0,0 +1,28 @@ +#!/usr/bin/env bash + +DIR=$(dirname "${0}") +CMD=$(basename "${0}") +ALEPHONE=${CMD%%.sh} + +if [[ -z "${1}" ]] +then + echo "Usage: ${0} SCENARIO FLAGS" + echo "Where SCENARIO is one of:" + for d in @GENTOO_PORTAGE_EPREFIX@/usr/share/alephone-* + do + echo " ${d##*/alephone-}" + done + exit 2 +fi + +DATA="@GENTOO_PORTAGE_EPREFIX@/usr/share/alephone-${1}" + +shift + +# kill ARTS, because we're just that nice +if artsshell terminate 2> /dev/null +then + sleep 2 +fi + +"${DIR}"/"${ALEPHONE}" "$@" "${DATA}" diff --git a/games-fps/alephone/metadata.xml b/games-fps/alephone/metadata.xml new file mode 100644 index 000000000000..f0f5b0080bc7 --- /dev/null +++ b/games-fps/alephone/metadata.xml @@ -0,0 +1,17 @@ +<?xml version='1.0' encoding='UTF-8'?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>games@gentoo.org</email> + <name>Gentoo Games Project</name> + </maintainer> + <maintainer type="person"> + <email>kangie@gentoo.org</email> + <name>Matt Jolly</name> + </maintainer> + <upstream> + <remote-id type="github">Aleph-One-Marathon/alephone</remote-id> + <remote-id type="sourceforge">marathon</remote-id> + <bugs-to>https://github.com/Aleph-One-Marathon/alephone/issues</bugs-to> + </upstream> +</pkgmetadata> diff --git a/games-fps/alienarena/alienarena-20130827-r1.ebuild b/games-fps/alienarena/alienarena-20130827-r1.ebuild deleted file mode 100644 index 8f32fffbdf54..000000000000 --- a/games-fps/alienarena/alienarena-20130827-r1.ebuild +++ /dev/null @@ -1,73 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 -inherit desktop gnome2-utils - -MY_PN="alienarena-7.66" - -DESCRIPTION="Fast-paced multiplayer deathmatch game" -HOMEPAGE="http://red.planetarena.org/" -SRC_URI="http://icculus.org/alienarena/Files/${MY_PN}-linux${PV}.tar.gz - http://red.planetarena.org/files/${MY_PN}-linux${PV}.tar.gz" - -LICENSE="GPL-2 free-noncomm" -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="dedicated +dga +vidmode +zlib" - -UIRDEPEND=" - virtual/jpeg:0 - media-libs/openal - media-libs/libvorbis - media-libs/freetype:2 - virtual/glu - virtual/opengl - dga? ( x11-libs/libXxf86dga ) - vidmode? ( x11-libs/libXxf86vm ) - zlib? ( sys-libs/zlib ) - net-misc/curl -" -UIDEPEND=" - dga? ( x11-base/xorg-proto ) - vidmode? ( x11-base/xorg-proto ) -" -RDEPEND="!dedicated? ( ${UIRDEPEND} )" -DEPEND="${RDEPEND} - !dedicated? ( ${UIDEPEND} ) - virtual/pkgconfig -" - -S="${WORKDIR}/${MY_PN/_/.}" - -PATCHES=( "${FILESDIR}"/${P}-format.patch ) - -src_configure() { - econf \ - --with-icondir=/usr/share/icons/hicolor/48x48/apps/ \ - --without-system-libode \ - --disable-documents \ - $(use_enable !dedicated client) \ - $(use_with zlib) \ - $(use_with vidmode xf86vm) \ - $(use_with dga xf86dga) -} - -src_install() { - DOCS="docs/README.txt README" default - if ! use dedicated ; then - make_desktop_entry ${PN} "Alien Arena" - fi -} - -pkg_preinst() { - gnome2_icon_savelist -} - -pkg_postinst() { - gnome2_icon_cache_update -} - -pkg_postrm() { - gnome2_icon_cache_update -} diff --git a/games-fps/alienarena/alienarena-7.66.ebuild b/games-fps/alienarena/alienarena-7.66.ebuild new file mode 100644 index 000000000000..1630e7efd263 --- /dev/null +++ b/games-fps/alienarena/alienarena-7.66.ebuild @@ -0,0 +1,71 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit autotools desktop flag-o-matic xdg + +MY_P="${P}-linux20130827" + +DESCRIPTION="Fast-paced multiplayer deathmatch game" +HOMEPAGE="http://red.planetarena.org/" +SRC_URI=" + http://icculus.org/alienarena/Files/${MY_P}.tar.gz + http://red.planetarena.org/files/${MY_P}.tar.gz" + +LICENSE="GPL-2 free-noncomm" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="dedicated +dga +vidmode +zlib" + +RDEPEND=" + !dedicated? ( + media-libs/freetype:2 + media-libs/libvorbis + media-libs/openal + net-misc/curl + virtual/glu + virtual/jpeg:0 + virtual/opengl + dga? ( x11-libs/libXxf86dga ) + vidmode? ( x11-libs/libXxf86vm ) + zlib? ( sys-libs/zlib ) + )" +DEPEND="${RDEPEND} + !dedicated? ( + dga? ( x11-base/xorg-proto ) + vidmode? ( x11-base/xorg-proto ) + )" +BDEPEND="virtual/pkgconfig" + +PATCHES=( + "${FILESDIR}"/${P}-format.patch + "${FILESDIR}"/${P}-ar.patch + "${FILESDIR}"/${P}-C99-inline.patch +) + +src_prepare() { + default + eautoreconf +} + +src_configure() { + # too many variables defined in .h to patch, https://bugs.gentoo.org/707814 + append-cflags -fcommon + + econf \ + --with-icondir="${EPREFIX}/usr/share/icons/hicolor/48x48/apps/" \ + --without-system-libode \ + --disable-documents \ + $(use_enable !dedicated client) \ + $(use_with zlib) \ + $(use_with vidmode xf86vm) \ + $(use_with dga xf86dga) +} + +src_install() { + DOCS=( docs/README.txt README ) + default + + use !dedicated && make_desktop_entry ${PN} "Alien Arena" +} diff --git a/games-fps/alienarena/files/alienarena-7.66-C99-inline.patch b/games-fps/alienarena/files/alienarena-7.66-C99-inline.patch new file mode 100644 index 000000000000..0b9166a2631f --- /dev/null +++ b/games-fps/alienarena/files/alienarena-7.66-C99-inline.patch @@ -0,0 +1,25 @@ +From: Markus Koschany <apo@debian.org> +Date: Fri, 18 Aug 2017 23:24:22 +0200 +Subject: gcc7 + +Fix FTBFS with GCC 7. + +Bug-Debian: https://bugs.debian.org/871218 +Forwarded: no +--- + source/ref_gl/r_iqm.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/source/ref_gl/r_iqm.c b/source/ref_gl/r_iqm.c +index ba5d178..cb3d2da 100644 +--- a/source/ref_gl/r_iqm.c ++++ b/source/ref_gl/r_iqm.c +@@ -1263,7 +1263,7 @@ void IQM_Vlight (vec3_t baselight, mnormal_t *normal, vec3_t angles, vec3_t ligh + void R_Mesh_SetupShell (int shell_skinnum, qboolean ragdoll, qboolean using_varray, vec3_t lightcolor);
+ void R_Mesh_SetupGLSL (int skinnum, rscript_t *rs, vec3_t lightcolor);
+
+-inline void IQM_DrawVBO (qboolean tangents)
++void IQM_DrawVBO (qboolean tangents)
+ {
+ qglEnableClientState( GL_VERTEX_ARRAY );
+ GL_BindVBO(vbo_xyz);
diff --git a/games-fps/alienarena/files/alienarena-7.66-ar.patch b/games-fps/alienarena/files/alienarena-7.66-ar.patch new file mode 100644 index 000000000000..7674e00e561d --- /dev/null +++ b/games-fps/alienarena/files/alienarena-7.66-ar.patch @@ -0,0 +1,13 @@ +Fix for -native-symlinks + +diff -r 262952236ff5 configure.ac +--- a/configure.ac Sun Oct 11 11:33:09 2020 +0000 ++++ b/configure.ac Sun Oct 11 11:33:37 2020 +0000 +@@ -65,6 +65,7 @@ + AC_PROG_RANLIB + AC_PROG_MKDIR_P + AM_PROG_CC_C_O ++AM_PROG_AR + PKG_PROG_PKG_CONFIG + + diff --git a/games-fps/alienarena/files/alienarena-20130827-format.patch b/games-fps/alienarena/files/alienarena-7.66-format.patch index 3162a558afad..3162a558afad 100644 --- a/games-fps/alienarena/files/alienarena-20130827-format.patch +++ b/games-fps/alienarena/files/alienarena-7.66-format.patch diff --git a/games-fps/alienarena/metadata.xml b/games-fps/alienarena/metadata.xml index 6767cd3e05d6..4c43e69f2702 100644 --- a/games-fps/alienarena/metadata.xml +++ b/games-fps/alienarena/metadata.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="project"> <email>games@gentoo.org</email> diff --git a/games-fps/avp/avp-20150214-r1.ebuild b/games-fps/avp/avp-20150214-r1.ebuild index 7a41b588eaad..42bb6956dc15 100644 --- a/games-fps/avp/avp-20150214-r1.ebuild +++ b/games-fps/avp/avp-20150214-r1.ebuild @@ -1,8 +1,9 @@ -# Copyright 1999-2017 Gentoo Foundation +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=6 -inherit eutils cmake-utils +EAPI=7 + +inherit cmake DESCRIPTION="Linux port of Aliens vs Predator" HOMEPAGE="http://www.icculus.org/avp/" @@ -11,36 +12,33 @@ SRC_URI="http://www.icculus.org/avp/files/${P}.tar.gz" LICENSE="AvP" SLOT="0" KEYWORDS="~amd64 ~x86" -IUSE="" +RESTRICT="bindist mirror" RDEPEND=" media-libs/libsdl[video,joystick,opengl] media-libs/openal" -DEPEND="${RDEPEND} - virtual/pkgconfig" +DEPEND="${RDEPEND}" +BDEPEND="virtual/pkgconfig" -CMAKE_BUILD_TYPE=Release +PATCHES=( + "${FILESDIR}"/${P}-fno-common.patch + "${FILESDIR}"/${P}-gcc-11-minmax.patch +) src_configure() { local mycmakeargs=( - "-DCMAKE_VERBOSE_MAKEFILE=TRUE" -DSDL_TYPE=SDL -DOPENGL_TYPE=OPENGL ) - - cmake-utils_src_configure -} - -src_compile() { - cmake-utils_src_compile + cmake_src_configure } src_install() { - dobin "${BUILD_DIR}/${PN}" - dodoc README + dobin "${BUILD_DIR}"/avp + einstalldocs } pkg_postinst() { - elog "Please follow the instructions in /usr/share/doc/${PF}" + elog "Please follow the instructions in ${EROOT}/usr/share/doc/${PF}" elog "to install the rest of the game." } diff --git a/games-fps/avp/files/avp-20150214-fno-common.patch b/games-fps/avp/files/avp-20150214-fno-common.patch new file mode 100644 index 000000000000..0f25b1cf267f --- /dev/null +++ b/games-fps/avp/files/avp-20150214-fno-common.patch @@ -0,0 +1,22 @@ +--- a/src/avp/win95/d3d_render.cpp ++++ b/src/avp/win95/d3d_render.cpp +@@ -2990,7 +2990,7 @@ + //#define WATER_POLY_SCALE 256 + int MeshXScale; + int MeshZScale; +-int WaterFallBase; ++extern int WaterFallBase; + void PostLandscapeRendering(void) + { + extern int NumOnScreenBlocks; +--- a/src/opengl.c ++++ b/src/opengl.c +@@ -2796,7 +2796,7 @@ + + int MeshXScale; + int MeshZScale; +-int WaterFallBase; ++extern int WaterFallBase; + + int WaterXOrigin; + int WaterZOrigin; diff --git a/games-fps/avp/files/avp-20150214-gcc-11-minmax.patch b/games-fps/avp/files/avp-20150214-gcc-11-minmax.patch new file mode 100644 index 000000000000..20ec1c29690f --- /dev/null +++ b/games-fps/avp/files/avp-20150214-gcc-11-minmax.patch @@ -0,0 +1,281 @@ +https://bugs.gentoo.org/790230 + +Avod std::min / #define min() macro clash. +--- a/src/avp/bh_cable.c ++++ b/src/avp/bh_cable.c +@@ -100 +100 @@ void PowerCableBehaveFun(STRATEGYBLOCK* sbptr) +- health_gained=min(pc_bhv->current_charge,max_health-current_health); ++ health_gained=avp_min(pc_bhv->current_charge,max_health-current_health); +--- a/src/avp/bh_deathvol.c ++++ b/src/avp/bh_deathvol.c +@@ -96 +96 @@ void DeathVolumeBehaveFun(STRATEGYBLOCK* vol_sbptr) +- if(max(miny,dv_bhv->volume_min.vy) > min(maxy,dv_bhv->volume_max.vy)) continue; ++ if(avp_max(miny,dv_bhv->volume_min.vy) > avp_min(maxy,dv_bhv->volume_max.vy)) continue; +--- a/src/avp/bh_gener.c ++++ b/src/avp/bh_gener.c +@@ -159,2 +159,2 @@ void GeneratorBehaviour(STRATEGYBLOCK *sbPtr) +- genBlock->GenerationRate=min(genBlock->GenerationRate,GENSPERMINUTE_MAX*100); +- genBlock->GenerationRate=max(genBlock->GenerationRate,GENSPERMINUTE_MIN*100); ++ genBlock->GenerationRate=avp_min(genBlock->GenerationRate,GENSPERMINUTE_MAX*100); ++ genBlock->GenerationRate=avp_max(genBlock->GenerationRate,GENSPERMINUTE_MIN*100); +@@ -1174 +1174 @@ static int GeneratorBalance_LocalLimit(int normal_limit) +- int shift = min(GeneratorBalance.MaxAIShift,4); ++ int shift = avp_min(GeneratorBalance.MaxAIShift,4); +@@ -1178 +1178 @@ static int GeneratorBalance_LocalLimit(int normal_limit) +- return(normal_limit + min(alien_shortfall,shift)); ++ return(normal_limit + avp_min(alien_shortfall,shift)); +--- a/src/avp/bh_queen.c ++++ b/src/avp/bh_queen.c +@@ -3464 +3464 @@ void QueenBehaviour(STRATEGYBLOCK *sbPtr) +- Player->ObStrategyBlock->DynPtr->LinImpulse.vx=min(Player->ObStrategyBlock->DynPtr->LinImpulse.vx,-3000); ++ Player->ObStrategyBlock->DynPtr->LinImpulse.vx=avp_min(Player->ObStrategyBlock->DynPtr->LinImpulse.vx,-3000); +@@ -4639 +4639 @@ void HandleHangarAirlock() +- AirlockTimeOpen=max(AirlockTimeOpen,30*ONE_FIXED); ++ AirlockTimeOpen=avp_max(AirlockTimeOpen,30*ONE_FIXED); +@@ -4692 +4692 @@ void HandleHangarAirlock() +- cur_impulse->vx=min(cur_impulse->vx,impulse.vx); ++ cur_impulse->vx=avp_min(cur_impulse->vx,impulse.vx); +@@ -4700 +4700 @@ void HandleHangarAirlock() +- cur_impulse->vx=max(cur_impulse->vx,impulse.vx); ++ cur_impulse->vx=avp_max(cur_impulse->vx,impulse.vx); +@@ -4709 +4709 @@ void HandleHangarAirlock() +- cur_impulse->vy=min(cur_impulse->vy,impulse.vy); ++ cur_impulse->vy=avp_min(cur_impulse->vy,impulse.vy); +@@ -4717 +4717 @@ void HandleHangarAirlock() +- cur_impulse->vy=max(cur_impulse->vy,impulse.vy); ++ cur_impulse->vy=avp_max(cur_impulse->vy,impulse.vy); +@@ -4727 +4727 @@ void HandleHangarAirlock() +- cur_impulse->vz=min(cur_impulse->vz,impulse.vz); ++ cur_impulse->vz=avp_min(cur_impulse->vz,impulse.vz); +@@ -4735 +4735 @@ void HandleHangarAirlock() +- cur_impulse->vz=max(cur_impulse->vz,impulse.vz); ++ cur_impulse->vz=avp_max(cur_impulse->vz,impulse.vz); +--- a/src/avp/hud.c ++++ b/src/avp/hud.c +@@ -946 +946 @@ static void DisplayHealthAndArmour(void) +- health = min(health,99); ++ health = avp_min(health,99); +@@ -951 +951 @@ static void DisplayHealthAndArmour(void) +- armour = min(armour,99); ++ armour = avp_min(armour,99); +--- a/src/avp/win95/avpchunk.cpp ++++ b/src/avp/win95/avpchunk.cpp +@@ -283 +283 @@ AVP_Generator_Extended_Settings_Chunk::AVP_Generator_Extended_Settings_Chunk(Chu +- size_t size=max(*(int*) data,(int)sizeof(AVP_Generator_Weighting)); ++ size_t size=avp_max(*(int*) data,(int)sizeof(AVP_Generator_Weighting)); +@@ -554 +554 @@ AVP_Environment_Settings_Chunk::AVP_Environment_Settings_Chunk(Chunk_With_Childr +- size_t size=max(data_size,sizeof(AVP_Environment_Settings)); ++ size_t size=avp_max(data_size,sizeof(AVP_Environment_Settings)); +@@ -645 +645 @@ AVP_Decal_Chunk::AVP_Decal_Chunk(Chunk_With_Children* parent,const char* data,si +- decal_size=max(loaded_decal_size,(int)sizeof(AVP_Decal)); ++ decal_size=avp_max(loaded_decal_size,(int)sizeof(AVP_Decal)); +--- a/src/avp/win95/objsetup.cpp ++++ b/src/avp/win95/objsetup.cpp +@@ -959 +959 @@ void add_placed_hierarchy(Placed_Hierarchy_Chunk* phc,const char* fname,const ch +- phtt->num_sounds=max(phtt->num_sounds,isc->index+1); ++ phtt->num_sounds=avp_max(phtt->num_sounds,isc->index+1); +@@ -993 +993 @@ void add_placed_hierarchy(Placed_Hierarchy_Chunk* phc,const char* fname,const ch +- phtt->num_sequences=max(phtt->num_sequences,phsc->index+1); ++ phtt->num_sequences=avp_max(phtt->num_sequences,phsc->index+1); +@@ -1780,5 +1780,5 @@ static void add_placed_light(Object_Chunk* ob,int list_pos,AVP_Strategy_Chunk* a +- pltd->fade_up_time=(max(lchunk->light.fade_up_time,1)*ONE_FIXED)/1000; +- pltd->fade_down_time=(max(lchunk->light.fade_down_time,1)*ONE_FIXED)/1000; +- pltd->up_time=(max(lchunk->light.up_time,1)*ONE_FIXED)/1000; +- pltd->down_time=(max(lchunk->light.down_time,1)*ONE_FIXED)/1000; +- pltd->timer=(max(lchunk->light.start_time,1)*ONE_FIXED)/1000; ++ pltd->fade_up_time=(avp_max(lchunk->light.fade_up_time,1)*ONE_FIXED)/1000; ++ pltd->fade_down_time=(avp_max(lchunk->light.fade_down_time,1)*ONE_FIXED)/1000; ++ pltd->up_time=(avp_max(lchunk->light.up_time,1)*ONE_FIXED)/1000; ++ pltd->down_time=(avp_max(lchunk->light.down_time,1)*ONE_FIXED)/1000; ++ pltd->timer=(avp_max(lchunk->light.start_time,1)*ONE_FIXED)/1000; +@@ -3811 +3811 @@ void setup_particle_generators(Environment_Data_Chunk * envd) +- part_temp->frequency=ONE_FIXED/max(data_chunk->quantity,1); ++ part_temp->frequency=ONE_FIXED/avp_max(data_chunk->quantity,1); +--- a/src/avp/win95/pldnet.c ++++ b/src/avp/win95/pldnet.c +@@ -1612 +1612 @@ void NetSendMessages(void) +- netGameData.sendTimer=max(0,netGameData.sendTimer); ++ netGameData.sendTimer=avp_max(0,netGameData.sendTimer); +@@ -2018,3 +2018,3 @@ void AddNetMsg_GameDescription(void) +- messagePtr->numDeaths[0]=(unsigned char) min(netGameData.numDeaths[0],255); +- messagePtr->numDeaths[1]=(unsigned char) min(netGameData.numDeaths[1],255); +- messagePtr->numDeaths[2]=(unsigned char) min(netGameData.numDeaths[2],255); ++ messagePtr->numDeaths[0]=(unsigned char) avp_min(netGameData.numDeaths[0],255); ++ messagePtr->numDeaths[1]=(unsigned char) avp_min(netGameData.numDeaths[1],255); ++ messagePtr->numDeaths[2]=(unsigned char) avp_min(netGameData.numDeaths[2],255); +@@ -9825,2 +9825,2 @@ static int GetDynamicScoreMultiplier(int playerKilledIndex,int killerIndex) +- scoreFor=max(500,scoreFor+500); +- scoreAgainst=max(500,scoreAgainst+500); ++ scoreFor=avp_max(500,scoreFor+500); ++ scoreAgainst=avp_max(500,scoreAgainst+500); +@@ -10536 +10536 @@ int DetermineAvailableCharacterTypes(BOOL ConsiderUsedCharacters) +- CharacterTypesAvailable[i]=max(0,CharacterTypesAvailable[i]); ++ CharacterTypesAvailable[i]=avp_max(0,CharacterTypesAvailable[i]); +@@ -10540 +10540 @@ int DetermineAvailableCharacterTypes(BOOL ConsiderUsedCharacters) +- CharacterSubTypesAvailable[i]=max(0,CharacterSubTypesAvailable[i]); ++ CharacterSubTypesAvailable[i]=avp_max(0,CharacterSubTypesAvailable[i]); +@@ -10550 +10550 @@ int DetermineAvailableCharacterTypes(BOOL ConsiderUsedCharacters) +- CharacterSubTypesAvailable[i]=min(CharacterSubTypesAvailable[i],CharacterTypesAvailable[NGCT_Marine]); ++ CharacterSubTypesAvailable[i]=avp_min(CharacterSubTypesAvailable[i],CharacterTypesAvailable[NGCT_Marine]); +@@ -10553 +10553 @@ int DetermineAvailableCharacterTypes(BOOL ConsiderUsedCharacters) +- CharacterTypesAvailable[NGCT_Marine]=min(CharacterTypesAvailable[NGCT_Marine],maxMarines); ++ CharacterTypesAvailable[NGCT_Marine]=avp_min(CharacterTypesAvailable[NGCT_Marine],maxMarines); +--- a/src/avp/win95/projload.cpp ++++ b/src/avp/win95/projload.cpp +@@ -170 +170 @@ void setup_paths(RIFFHANDLE h) +- PathArraySize=max(PathArraySize,apc->PathID+1); ++ PathArraySize=avp_max(PathArraySize,apc->PathID+1); +@@ -190 +190 @@ void setup_paths(RIFFHANDLE h) +- length=max(length,(length-1)*2); ++ length=avp_max(length,(length-1)*2); +@@ -466 +466 @@ Global_Hierarchy_Store::Global_Hierarchy_Store (RIFFHANDLE h) +- max_index=max(max_index,isc->index); ++ max_index=avp_max(max_index,isc->index); +@@ -719 +719 @@ void Global_Hierarchy_Store::setup_alternate_shape_sets(List <Object_ShapeNum_Pa +- max_index=max(max_index,coll->Set_Collection_Num); ++ max_index=avp_max(max_index,coll->Set_Collection_Num); +@@ -991 +991 @@ SECTION * Global_Hierarchy_Store::build_hierarchy (Object_Hierarchy_Chunk * ohc, +- kfd->Sequence_Length =(unsigned short) min(seq->frames[frame_no].at_frame_no - this_frame_no,65535); ++ kfd->Sequence_Length =(unsigned short) avp_min(seq->frames[frame_no].at_frame_no - this_frame_no,65535); +@@ -995 +995 @@ SECTION * Global_Hierarchy_Store::build_hierarchy (Object_Hierarchy_Chunk * ohc, +- kfd->Sequence_Length =(unsigned short) min(65536 - this_frame_no,65535); ++ kfd->Sequence_Length =(unsigned short) avp_min(65536 - this_frame_no,65535); +@@ -1199 +1199 @@ SECTION * Global_Hierarchy_Store::build_hierarchy (Object_Hierarchy_Chunk * ohc, +- kfd->Sequence_Length =(unsigned short) min(frame_array[frame_no]->at_frame_no - this_frame_no,65535); ++ kfd->Sequence_Length =(unsigned short) avp_min(frame_array[frame_no]->at_frame_no - this_frame_no,65535); +@@ -1203 +1203 @@ SECTION * Global_Hierarchy_Store::build_hierarchy (Object_Hierarchy_Chunk * ohc, +- kfd->Sequence_Length =(unsigned short) min(65536 - this_frame_no , 65535); ++ kfd->Sequence_Length =(unsigned short) avp_min(65536 - this_frame_no , 65535); +--- a/src/files.c ++++ b/src/files.c +@@ -668 +668 @@ void InitGameDirectories(char *argv0) +- copylen = min(len, PATH_MAX-1); ++ copylen = avp_min(len, PATH_MAX-1); +--- a/src/fixer.h ++++ b/src/fixer.h +@@ -50,7 +50,2 @@ extern "C" { +-#ifndef min +-#define min(a, b) (((a) < (b)) ? (a) : (b)) +-#endif +- +-#ifndef max +-#define max(a, b) (((a) > (b)) ? (a) : (b)) +-#endif ++#define avp_min(a, b) (((a) < (b)) ? (a) : (b)) ++#define avp_max(a, b) (((a) > (b)) ? (a) : (b)) +--- a/src/main.c ++++ b/src/main.c +@@ -461 +461 @@ static void load_opengl_library(const char *lib) +- copylen = min(len, PATH_MAX-1); ++ copylen = avp_min(len, PATH_MAX-1); +--- a/src/win95/bmpnames.cpp ++++ b/src/win95/bmpnames.cpp +@@ -131 +131 @@ Chunk_With_BMPs::Chunk_With_BMPs (Chunk_With_Children * parent, const char * con +- max_index = max (bn.index, max_index); ++ max_index = avp_max (bn.index, max_index); +--- a/src/win95/chnkload.cpp ++++ b/src/win95/chnkload.cpp +@@ -675 +675 @@ static void setup_tex_conv_array ( +- max_indices = max(bns().index,max_indices); ++ max_indices = avp_max(bns().index,max_indices); +@@ -1180 +1180 @@ BOOL load_rif_bitmaps (RIFFHANDLE h, int/* flags*/) +- h->max_index = max(bns().index,h->max_index); ++ h->max_index = avp_max(bns().index,h->max_index); +@@ -1622 +1622 @@ void DeallocateRifLoadedShapeheader(SHAPEHEADER * shp) +- max_num_texs = max (max_num_texs, shp->items[i][3] &0x7fff); ++ max_num_texs = avp_max (max_num_texs, shp->items[i][3] &0x7fff); +@@ -2141 +2141 @@ void SetupAnimatingShape(Shape_Chunk* sc,SHAPEHEADER* shp, Shape_Merge_Data_Chun +- numseq=max(assc->sequence_data.SequenceNum+1,numseq); ++ numseq=avp_max(assc->sequence_data.SequenceNum+1,numseq); +@@ -2176,3 +2176,3 @@ void SetupAnimatingShape(Shape_Chunk* sc,SHAPEHEADER* shp, Shape_Merge_Data_Chun +- int x=max(-sas->min_x,sas->max_x); +- int y=max(-sas->min_y,sas->max_y); +- int z=max(-sas->min_z,sas->max_z); ++ int x=avp_max(-sas->min_x,sas->max_x); ++ int y=avp_max(-sas->min_y,sas->max_y); ++ int z=avp_max(-sas->min_z,sas->max_z); +@@ -2612 +2612 @@ BOOL copy_sprite_to_shapeheader (RIFFHANDLE h, SHAPEHEADER *& shphd,Sprite_Heade +- local_max_index = max(bns().index,local_max_index); ++ local_max_index = avp_max(bns().index,local_max_index); +@@ -2774 +2774 @@ BOOL copy_sprite_to_shapeheader (RIFFHANDLE h, SHAPEHEADER *& shphd,Sprite_Heade +- MaxSeq=max(MaxSeq,((Sprite_Action_Chunk*)chlif())->Action); ++ MaxSeq=avp_max(MaxSeq,((Sprite_Action_Chunk*)chlif())->Action); +--- a/src/win95/chnktype.cpp ++++ b/src/win95/chnktype.cpp +@@ -1047,3 +1047,3 @@ void ChunkAnimSequence::UpdateNormalsAndExtents(ChunkShape const * cs,List<int>* +- max.x = max(max.x, caf->v_list[j].x); +- max.y = max(max.y, caf->v_list[j].y); +- max.z = max(max.z, caf->v_list[j].z); ++ max.x = avp_max(max.x, caf->v_list[j].x); ++ max.y = avp_max(max.y, caf->v_list[j].y); ++ max.z = avp_max(max.z, caf->v_list[j].z); +@@ -1051,3 +1051,3 @@ void ChunkAnimSequence::UpdateNormalsAndExtents(ChunkShape const * cs,List<int>* +- min.x = min(min.x, caf->v_list[j].x); +- min.y = min(min.y, caf->v_list[j].y); +- min.z = min(min.z, caf->v_list[j].z); ++ min.x = avp_min(min.x, caf->v_list[j].x); ++ min.y = avp_min(min.y, caf->v_list[j].y); ++ min.z = avp_min(min.z, caf->v_list[j].z); +@@ -1057 +1057 @@ void ChunkAnimSequence::UpdateNormalsAndExtents(ChunkShape const * cs,List<int>* +- radius = max (radius, (float)temp_rad); ++ radius = avp_max (radius, (float)temp_rad); +--- a/src/win95/inline.h ++++ b/src/win95/inline.h +@@ -4,7 +4,2 @@ +-#ifndef min +-#define min(a, b) (((a) < (b)) ? (a) : (b)) +-#endif +- +-#ifndef max +-#define max(a, b) (((a) > (b)) ? (a) : (b)) +-#endif ++#define avp_min(a, b) (((a) < (b)) ? (a) : (b)) ++#define avp_max(a, b) (((a) > (b)) ? (a) : (b)) +--- a/src/win95/ltchunk.cpp ++++ b/src/win95/ltchunk.cpp +@@ -334,2 +334,2 @@ int Light_Scale_Chunk::ApplyPrelightScale(int l) +- l=min(l,255); +- return max(l,prelight_multiply_above); ++ l=avp_min(l,255); ++ return avp_max(l,prelight_multiply_above); +@@ -343,2 +343,2 @@ int Light_Scale_Chunk::ApplyRuntimeScale(int l) +- l=min(l,255); +- return max(l,runtime_multiply_above); ++ l=avp_min(l,255); ++ return avp_max(l,runtime_multiply_above); +--- a/src/win95/mishchnk.cpp ++++ b/src/win95/mishchnk.cpp +@@ -628 +628 @@ void File_Chunk::post_input_processing() +- Shape_Chunk::max_id = max (Shape_Chunk::max_id,sli()->get_header()->file_id_num); ++ Shape_Chunk::max_id = avp_max (Shape_Chunk::max_id,sli()->get_header()->file_id_num); +@@ -1518 +1518 @@ void File_Chunk::build_object_array() +- object_array_size=max(object_array_size,oblif()->object_data.index_num+1); ++ object_array_size=avp_max(object_array_size,oblif()->object_data.index_num+1); +@@ -1867 +1867 @@ void RIF_File_Chunk::post_input_processing() +- Shape_Chunk::max_id = max (Shape_Chunk::max_id,sli()->get_header()->file_id_num); ++ Shape_Chunk::max_id = avp_max (Shape_Chunk::max_id,sli()->get_header()->file_id_num); +--- a/src/win95/shpchunk.cpp ++++ b/src/win95/shpchunk.cpp +@@ -194,3 +194,3 @@ void Shape_Chunk::post_input_processing() +- max.x = max(max.x, shape_data_store->v_list[i].x); +- max.y = max(max.y, shape_data_store->v_list[i].y); +- max.z = max(max.z, shape_data_store->v_list[i].z); ++ max.x = avp_max(max.x, shape_data_store->v_list[i].x); ++ max.y = avp_max(max.y, shape_data_store->v_list[i].y); ++ max.z = avp_max(max.z, shape_data_store->v_list[i].z); +@@ -198,3 +198,3 @@ void Shape_Chunk::post_input_processing() +- min.x = min(min.x, shape_data_store->v_list[i].x); +- min.y = min(min.y, shape_data_store->v_list[i].y); +- min.z = min(min.z, shape_data_store->v_list[i].z); ++ min.x = avp_min(min.x, shape_data_store->v_list[i].x); ++ min.y = avp_min(min.y, shape_data_store->v_list[i].y); ++ min.z = avp_min(min.z, shape_data_store->v_list[i].z); +@@ -204 +204 @@ void Shape_Chunk::post_input_processing() +- radius = max (radius, temp_rad); ++ radius = avp_max (radius, temp_rad); +@@ -1462 +1462 @@ void Shape_Header_Chunk::prepare_for_output() +- Shape_Chunk::max_id = max(Shape_Chunk::max_id, file_id_num); ++ Shape_Chunk::max_id = avp_max(Shape_Chunk::max_id, file_id_num); +@@ -1786 +1786 @@ void Shape_Morphing_Data_Chunk::prepare_for_output() +- max_id = max (max_id, ((Shape_Sub_Shape_Chunk *)cli())->get_header()->file_id_num); ++ max_id = avp_max (max_id, ((Shape_Sub_Shape_Chunk *)cli())->get_header()->file_id_num); diff --git a/games-fps/avp/metadata.xml b/games-fps/avp/metadata.xml index 78274e0fa550..1c3ba213c494 100644 --- a/games-fps/avp/metadata.xml +++ b/games-fps/avp/metadata.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="project"> <email>games@gentoo.org</email> diff --git a/games-fps/blackshades/blackshades-20070723-r1.ebuild b/games-fps/blackshades/blackshades-20070723-r1.ebuild index a531ebbe5987..afd60bab4f02 100644 --- a/games-fps/blackshades/blackshades-20070723-r1.ebuild +++ b/games-fps/blackshades/blackshades-20070723-r1.ebuild @@ -1,19 +1,20 @@ -# Copyright 1999-2017 Gentoo Foundation +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=6 -inherit eutils +EAPI=7 + +inherit desktop toolchain-funcs DESCRIPTION="You control a psychic bodyguard, and try to protect the VIP" HOMEPAGE="http://www.wolfire.com/blackshades.html http://www.icculus.org/blackshades/" SRC_URI="http://filesingularity.timedoctor.org/Textures.tar.bz2 mirror://gentoo/${P}.tar.bz2" +S="${WORKDIR}"/${PN} LICENSE="blackshades" SLOT="0" KEYWORDS="~amd64 ~x86" -IUSE="" DEPEND=" media-libs/freealut @@ -24,10 +25,9 @@ DEPEND=" virtual/opengl" RDEPEND="${DEPEND}" -S=${WORKDIR}/${PN} - PATCHES=( "${FILESDIR}"/${PN}-datadir.patch + "${FILESDIR}"/${P}-gcc-11.patch ) src_prepare() { @@ -36,25 +36,41 @@ src_prepare() { rm -rf Data/Textures || die rm -f ../Textures/{,Blood/}._* || die mv -f ../Textures Data || die "mv failed" + sed -i \ -e "s/-O2 \(-Wall\) -g/${CXXFLAGS} \1/" \ -e "/^LINKER/s:$: ${LDFLAGS}:" \ Makefile \ || die "sed Makefile failed" + + sed -i \ + -e "s/CC := gcc/CC ?= gcc/" \ + -e "s/CXX := g++/CXX ?= g++/" \ + -e "s/LINKER := g++/LINKER ?= g++/" \ + -e "s/LDFLAGS := /LDFLAGS := ${LDFLAGS} /" \ + Makefile || die + sed -i "s:@DATADIR@:/usr/share/${PN}:" \ Source/Main.cpp \ || die "sed Main.cpp failed" } src_compile() { + tc-export CC CXX + + export LINKER="${CXX}" + emake bindir emake } src_install() { newbin objs/blackshades ${PN} + insinto /usr/share/${PN} doins -r Data + dodoc IF_THIS_IS_A_README_YOU_HAVE_WON Readme TODO uDevGame_Readme + make_desktop_entry ${PN} "Black Shades" } diff --git a/games-fps/blackshades/files/blackshades-20070723-gcc-11.patch b/games-fps/blackshades/files/blackshades-20070723-gcc-11.patch new file mode 100644 index 000000000000..5d76ad638cb9 --- /dev/null +++ b/games-fps/blackshades/files/blackshades-20070723-gcc-11.patch @@ -0,0 +1,55 @@ +https://bugs.gentoo.org/787740 +--- a/Source/Globals.cpp ++++ b/Source/Globals.cpp +@@ -62,7 +62,7 @@ XYZ n,pa1,pa2,pa3; + float u0, u1, u2; + float v0, v1, v2; + float a, b; +-float max; ++float _max; + int i, j; + bool bInter; + float pointv[3]; +--- a/Source/Quaternions.cpp ++++ b/Source/Quaternions.cpp +@@ -316,7 +316,7 @@ float normaldotproduct(XYZ point1, XYZ point2){ + extern float u0, u1, u2; + extern float v0, v1, v2; + extern float a, b; +-extern float max; ++extern float _max; + extern int i, j; + extern bool bInter; + extern float pointv[3]; +@@ -352,11 +352,11 @@ bool PointInTriangle(Vector *p, Vector normal, float p11, float p12, float p13, + + #define ABS(X) (((X)<0.f)?-(X):(X) ) + #define MAX(A, B) (((A)<(B))?(B):(A)) +- max = MAX(MAX(ABS(normalv[0]), ABS(normalv[1])), ABS(normalv[2])); ++ _max = MAX(MAX(ABS(normalv[0]), ABS(normalv[1])), ABS(normalv[2])); + #undef MAX +- if (max == ABS(normalv[0])) {i = 1; j = 2;} // y, z +- if (max == ABS(normalv[1])) {i = 0; j = 2;} // x, z +- if (max == ABS(normalv[2])) {i = 0; j = 1;} // x, y ++ if (_max == ABS(normalv[0])) {i = 1; j = 2;} // y, z ++ if (_max == ABS(normalv[1])) {i = 0; j = 2;} // x, z ++ if (_max == ABS(normalv[2])) {i = 0; j = 1;} // x, y + #undef ABS + + u0 = pointv[i] - p1v[i]; +@@ -447,11 +447,11 @@ bool PointInTriangle(XYZ *p, XYZ normal, XYZ *p1, XYZ *p2, XYZ *p3) + + #define ABS(X) (((X)<0.f)?-(X):(X) ) + #define MAX(A, B) (((A)<(B))?(B):(A)) +- max = MAX(MAX(ABS(normalv[0]), ABS(normalv[1])), ABS(normalv[2])); ++ _max = MAX(MAX(ABS(normalv[0]), ABS(normalv[1])), ABS(normalv[2])); + #undef MAX +- if (max == ABS(normalv[0])) {i = 1; j = 2;} // y, z +- if (max == ABS(normalv[1])) {i = 0; j = 2;} // x, z +- if (max == ABS(normalv[2])) {i = 0; j = 1;} // x, y ++ if (_max == ABS(normalv[0])) {i = 1; j = 2;} // y, z ++ if (_max == ABS(normalv[1])) {i = 0; j = 2;} // x, z ++ if (_max == ABS(normalv[2])) {i = 0; j = 1;} // x, y + #undef ABS + + u0 = pointv[i] - p1v[i]; diff --git a/games-fps/blackshades/metadata.xml b/games-fps/blackshades/metadata.xml index 78274e0fa550..1c3ba213c494 100644 --- a/games-fps/blackshades/metadata.xml +++ b/games-fps/blackshades/metadata.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="project"> <email>games@gentoo.org</email> diff --git a/games-fps/chocolate-doom/Manifest b/games-fps/chocolate-doom/Manifest new file mode 100644 index 000000000000..b2cd839d0fdd --- /dev/null +++ b/games-fps/chocolate-doom/Manifest @@ -0,0 +1,2 @@ +DIST chocolate-doom-3.0.1-overhaul-manpages-add-parameters.patch 26736 BLAKE2B 3b75eaf6ea38280eb649eb0a35cf72376fc8daafda51a79bb321e1ac9311bd7d7edc6b7740b235288c32142c01fcf346045091783912739317556a78eb07751a SHA512 64512c47d404de1a85f84948bcf780257070f5b22dce6fa7dba66ba65027a15e93e39145424be327de4abd1f1f3b994fcd936e3dcdc564f1f96238b133a3a554 +DIST chocolate-doom-3.0.1.tar.gz 2245563 BLAKE2B 0c9babfbc9e52ea7822ca00c0dbf84e471bfe6d6ec94f729d3d0f72243205b060e5a3b5f1f99728da7764e81af735b45d001bb368dd2b5796666554e3c911090 SHA512 2a81905cf619ea2def7e2f9ebe65b38543d01bd83a95e535e88d04a79f2676f8ba0da64031a650bd905e1345cda1b9d28a398ad87c10c92f2d3d50f3253ec214 diff --git a/games-fps/chocolate-doom/chocolate-doom-3.0.1-r1.ebuild b/games-fps/chocolate-doom/chocolate-doom-3.0.1-r1.ebuild new file mode 100644 index 000000000000..28becfd4f811 --- /dev/null +++ b/games-fps/chocolate-doom/chocolate-doom-3.0.1-r1.ebuild @@ -0,0 +1,87 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{9..11} ) +inherit autotools prefix python-any-r1 xdg + +DESCRIPTION="A Doom source port that is minimalist and historically accurate" +HOMEPAGE="https://www.chocolate-doom.org" +SRC_URI="https://github.com/${PN}/${PN}/archive/${P}.tar.gz + https://gist.githubusercontent.com/vilhelmgray/28d4713cb6387ad62ab76cfac1443355/raw/f7600d93ca45a5102969b8f89974a3c36a3563f5/${P}-overhaul-manpages-add-parameters.patch" + +LICENSE="BSD GPL-2+" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86" +IUSE="doc libsamplerate +midi png vorbis" + +DEPEND=" + media-libs/libsdl2[video] + media-libs/sdl2-mixer[midi?,vorbis?] + media-libs/sdl2-net + libsamplerate? ( media-libs/libsamplerate ) + png? ( media-libs/libpng:= )" +RDEPEND="${DEPEND}" +# ${PYTHON_DEPS} for bash-completion +BDEPEND=" + ${PYTHON_DEPS} + doc? ( ${PYTHON_DEPS} )" + +S="${WORKDIR}/${PN}-${P}" + +PATCHES=( + "${DISTDIR}/${P}-overhaul-manpages-add-parameters.patch" + "${FILESDIR}/${P}-further-manpage-substitutions-and-fixes.patch" + "${FILESDIR}/${P}-bash-completion-run-docgen-with-z-argument.patch" + "${FILESDIR}/${P}-install-AppStream-metadata-into-the-proper-location.patch" + "${FILESDIR}/${P}-Update-AppStream-XML-files-to-current-0.11-standards.patch" + "${FILESDIR}/${P}-bash-completion-Build-from-actual-shell-script-templ.patch" + "${FILESDIR}/${P}-configure-add-AM_PROG_AR-macro.patch" + "${FILESDIR}/${P}-bash-completion-always-install-into-datadir-bash-com.patch" + "${FILESDIR}/${P}-Update-to-latest-AppStream-formerly-AppData-standard.patch" + "${FILESDIR}/${P}-use-reverse-DNS-naming-for-installing-.desktop-files.patch" + "${FILESDIR}/${P}-Remove-redundant-demoextend-definition.patch" + "${FILESDIR}/${P}-Introduce-configure-options-for-bash-completion-doc-.patch" + "${FILESDIR}/${P}-Add-support-for-usr-share-doom-IWAD-search-path.patch" + "${FILESDIR}/${P}-Update-documentation-about-usr-share-doom-IWAD-locat.patch" + "${FILESDIR}/${P}-Fix-Python-check.patch" +) + +DOCS=( + "AUTHORS" + "ChangeLog" + "NEWS.md" + "NOT-BUGS.md" + "PHILOSOPHY.md" + "README.md" + "README.Music.md" + "README.Strife.md" +) + +src_prepare() { + default + + hprefixify src/d_iwad.c + + eautoreconf +} + +src_configure() { + econf \ + --enable-bash-completion \ + $(use_enable doc) \ + --disable-fonts \ + --disable-icons \ + $(use_with libsamplerate) \ + $(use_with png libpng) +} + +src_install() { + emake DESTDIR="${D}" install + + # Remove redundant documentation files + rm -r "${ED}/usr/share/doc/"* || die + + einstalldocs +} diff --git a/games-fps/chocolate-doom/files/chocolate-doom-3.0.1-Add-support-for-usr-share-doom-IWAD-search-path.patch b/games-fps/chocolate-doom/files/chocolate-doom-3.0.1-Add-support-for-usr-share-doom-IWAD-search-path.patch new file mode 100644 index 000000000000..719ec12a93dc --- /dev/null +++ b/games-fps/chocolate-doom/files/chocolate-doom-3.0.1-Add-support-for-usr-share-doom-IWAD-search-path.patch @@ -0,0 +1,27 @@ +From 405662edfda15bd4ba2a6e32023eeb8c5e73646f Mon Sep 17 00:00:00 2001 +From: William Breathitt Gray <vilhelm.gray@gmail.com> +Date: Thu, 25 Jun 2020 11:13:55 -0400 +Subject: [PATCH] Add support for /usr/share/doom IWAD search path + +Some Linux distros such as Gentoo have deprecated the /usr/share/games +directory. IWADs are typically installed under the /usr/share directory +for these distros. +--- + src/d_iwad.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/d_iwad.c b/src/d_iwad.c +index 09853a64..e112e4f4 100644 +--- a/src/d_iwad.c ++++ b/src/d_iwad.c +@@ -657,6 +657,7 @@ static void AddXdgDirs(void) + // source ports is /usr/share/games/doom - we support this through the + // XDG_DATA_DIRS mechanism, through which it can be overridden. + AddIWADPath(env, "/games/doom"); ++ AddIWADPath(env, "/doom"); + + // The convention set by RBDOOM-3-BFG is to install Doom 3: BFG + // Edition into this directory, under which includes the Doom +-- +2.26.2 + diff --git a/games-fps/chocolate-doom/files/chocolate-doom-3.0.1-Fix-Python-check.patch b/games-fps/chocolate-doom/files/chocolate-doom-3.0.1-Fix-Python-check.patch new file mode 100644 index 000000000000..8d4f169bd03e --- /dev/null +++ b/games-fps/chocolate-doom/files/chocolate-doom-3.0.1-Fix-Python-check.patch @@ -0,0 +1,54 @@ +From ab1a38d8e902baebc7183fb511bd58c50e2b4571 Mon Sep 17 00:00:00 2001 +From: William Breathitt Gray <vilhelm.gray@gmail.com> +Date: Mon, 24 Aug 2020 09:03:57 -0400 +Subject: [PATCH] Fix Python check for doc, bash-completion, fonts, and icons + options + +Fixes: cfc56fa6 ("Introduce configure options for bash-completion, doc, fonts, and icons") +--- + configure.ac | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 9bef517a..4dbd2db7 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -40,7 +40,7 @@ AC_ARG_ENABLE([bash-completion], + AS_HELP_STRING([--disable-bash-completion], [Disable bash-completion]) + ) + AS_IF([test "x$enable_bash_completion" != xno], [ +- AS_IF([test HAVE_PYTHON = false], [ ++ AS_IF([test "x$HAVE_PYTHON" = xfalse], [ + AC_MSG_WARN([Building bash-completion requires Python, but Python not found]) + enable_bash_completion=no + ]) +@@ -51,7 +51,7 @@ AC_ARG_ENABLE([doc], + AS_HELP_STRING([--disable-doc], [Disable documentation]) + ) + AS_IF([test "x$enable_doc" != xno], [ +- AS_IF([test HAVE_PYTHON = false], [ ++ AS_IF([test "x$HAVE_PYTHON" = xfalse], [ + AC_MSG_WARN([Building documentation requires Python, but Python not found]) + enable_doc=no + ]) +@@ -62,7 +62,7 @@ AC_ARG_ENABLE([fonts], + AS_HELP_STRING([--disable-fonts], [Disable fonts]) + ) + AS_IF([test "x$enable_fonts" != xno], [ +- AS_IF([test HAVE_PYTHON = false], [ ++ AS_IF([test "x$HAVE_PYTHON" = xfalse], [ + AC_MSG_WARN([Building fonts require Python, but Python not found]) + enable_fonts=no + ]) +@@ -73,7 +73,7 @@ AC_ARG_ENABLE([icons], + AS_HELP_STRING([--disable-icons], [Disable icons]) + ) + AS_IF([test "x$enable_icons" != xno], [ +- AS_IF([test HAVE_PYTHON = false], [ ++ AS_IF([test "x$HAVE_PYTHON" = xfalse], [ + AC_MSG_WARN([Building icons require Python, but Python not found]) + enable_icons=no + ]) +-- +2.28.0 + diff --git a/games-fps/chocolate-doom/files/chocolate-doom-3.0.1-Introduce-configure-options-for-bash-completion-doc-.patch b/games-fps/chocolate-doom/files/chocolate-doom-3.0.1-Introduce-configure-options-for-bash-completion-doc-.patch new file mode 100644 index 000000000000..bb1e000460a5 --- /dev/null +++ b/games-fps/chocolate-doom/files/chocolate-doom-3.0.1-Introduce-configure-options-for-bash-completion-doc-.patch @@ -0,0 +1,171 @@ +From cfc56fa6a5809c2dbc7276df3579836e586d9193 Mon Sep 17 00:00:00 2001 +From: William Breathitt Gray <vilhelm.gray@gmail.com> +Date: Tue, 23 Jun 2020 12:56:01 -0400 +Subject: [PATCH] Introduce configure options for bash-completion, doc, fonts, + and icons + +This patch introduces the --enable-bash-completion, --enable-doc, +--enable-fonts, and --enable-icons configuration options to control the +build of bash-completion, documentation, fonts, and icons respectively. +This is useful for users of systems such as Gentoo which allow custom +configuration of packages, or for package maintainers in general who +would like finer control over the components built when compiling +Chocolate Doom. +--- + Makefile.am | 2 +- + configure.ac | 49 ++++++++++++++++++++++++++++++++- + man/Makefile.am | 2 +- + man/bash-completion/Makefile.am | 2 +- + src/Makefile.am | 2 +- + src/setup/Makefile.am | 2 +- + textscreen/fonts/Makefile.am | 2 +- + 7 files changed, 54 insertions(+), 7 deletions(-) + +diff --git a/Makefile.am b/Makefile.am +index 1bd91a43..70f2e5b9 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -50,7 +50,7 @@ SUBDIRS=textscreen midiproc opl pcsound data src man + + DIST_SUBDIRS=pkg $(SUBDIRS) + +-if HAVE_PYTHON ++if HAVE_DOC + + INSTALL : man/INSTALL.template man/simplecpp + ./man/simplecpp -DDOOM -DHERETIC -DHEXEN -DSTRIFE \ +diff --git a/configure.ac b/configure.ac +index 8e18a0e9..9bef517a 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -35,6 +35,50 @@ PKG_CHECK_MODULES(SDL, [sdl2 >= 2.0.1]) + PKG_CHECK_MODULES(SDLMIXER, [SDL2_mixer >= 2.0.0]) + PKG_CHECK_MODULES(SDLNET, [SDL2_net >= 2.0.0]) + ++# Check for bash-completion. ++AC_ARG_ENABLE([bash-completion], ++AS_HELP_STRING([--disable-bash-completion], [Disable bash-completion]) ++) ++AS_IF([test "x$enable_bash_completion" != xno], [ ++ AS_IF([test HAVE_PYTHON = false], [ ++ AC_MSG_WARN([Building bash-completion requires Python, but Python not found]) ++ enable_bash_completion=no ++ ]) ++]) ++ ++# Check for doc. ++AC_ARG_ENABLE([doc], ++AS_HELP_STRING([--disable-doc], [Disable documentation]) ++) ++AS_IF([test "x$enable_doc" != xno], [ ++ AS_IF([test HAVE_PYTHON = false], [ ++ AC_MSG_WARN([Building documentation requires Python, but Python not found]) ++ enable_doc=no ++ ]) ++]) ++ ++# Check for fonts. ++AC_ARG_ENABLE([fonts], ++AS_HELP_STRING([--disable-fonts], [Disable fonts]) ++) ++AS_IF([test "x$enable_fonts" != xno], [ ++ AS_IF([test HAVE_PYTHON = false], [ ++ AC_MSG_WARN([Building fonts require Python, but Python not found]) ++ enable_fonts=no ++ ]) ++]) ++ ++# Check for icons. ++AC_ARG_ENABLE([icons], ++AS_HELP_STRING([--disable-icons], [Disable icons]) ++) ++AS_IF([test "x$enable_icons" != xno], [ ++ AS_IF([test HAVE_PYTHON = false], [ ++ AC_MSG_WARN([Building icons require Python, but Python not found]) ++ enable_icons=no ++ ]) ++]) ++ + # Check for libsamplerate. + AC_ARG_WITH([libsamplerate], + AS_HELP_STRING([--without-libsamplerate], +@@ -106,7 +150,10 @@ AS_IF([test "x$enable_werror" = "xyes"], [ + ]) + + AM_CONDITIONAL(HAVE_WINDRES, test "$WINDRES" != "") +-AM_CONDITIONAL(HAVE_PYTHON, $HAVE_PYTHON) ++AM_CONDITIONAL(HAVE_BASH_COMPLETION, [test "x$enable_bash_completion" != xno]) ++AM_CONDITIONAL(HAVE_DOC, [test "x$enable_doc" != xno]) ++AM_CONDITIONAL(HAVE_FONTS, [test "x$enable_fonts" != xno]) ++AM_CONDITIONAL(HAVE_ICONS, [test "x$enable_icons" != xno]) + + dnl Automake v1.8.0 is required, please upgrade! + +diff --git a/man/Makefile.am b/man/Makefile.am +index 915cb206..5a886fc9 100644 +--- a/man/Makefile.am ++++ b/man/Makefile.am +@@ -15,7 +15,7 @@ hereticdocsdir = ${docdir}/../${PROGRAM_PREFIX}heretic + hexendocsdir = ${docdir}/../${PROGRAM_PREFIX}hexen + strifedocsdir = ${docdir}/../${PROGRAM_PREFIX}strife + +-if HAVE_PYTHON ++if HAVE_DOC + + GENERATED_MAN_PAGES = \ + @PROGRAM_PREFIX@doom.6 \ +diff --git a/man/bash-completion/Makefile.am b/man/bash-completion/Makefile.am +index 9c1400f1..a79fe623 100644 +--- a/man/bash-completion/Makefile.am ++++ b/man/bash-completion/Makefile.am +@@ -6,7 +6,7 @@ BASH_COMPLETION_TEMPLATES = \ + hexen.template \ + strife.template + +-if HAVE_PYTHON ++if HAVE_BASH_COMPLETION + + BASH_COMPLETION_SCRIPTLETS = \ + @PROGRAM_PREFIX@doom \ +diff --git a/src/Makefile.am b/src/Makefile.am +index 19a42598..698d2ce0 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -271,7 +271,7 @@ CLEANFILES = $(execgames_SCRIPTS) $(app_DATA) $(screensaver_DATA) + %.o : %.rc + $(WINDRES) $< -o $@ + +-if HAVE_PYTHON ++if HAVE_ICONS + + icon.c : $(top_builddir)/data/doom.png + $(top_builddir)/data/convert-icon $(top_builddir)/data/doom.png $@ +diff --git a/src/setup/Makefile.am b/src/setup/Makefile.am +index a9dd240c..493b0b47 100644 +--- a/src/setup/Makefile.am ++++ b/src/setup/Makefile.am +@@ -33,7 +33,7 @@ CLEANFILES = $(app_DATA) + @PACKAGE_RDNS@.Setup.desktop : Setup.desktop + cp Setup.desktop $@ + +-if HAVE_PYTHON ++if HAVE_ICONS + + setup_icon.c : $(top_builddir)/data/setup.png + $(top_builddir)/data/convert-icon $(top_builddir)/data/setup.png $@ +diff --git a/textscreen/fonts/Makefile.am b/textscreen/fonts/Makefile.am +index 67ae8a21..5f6ad066 100644 +--- a/textscreen/fonts/Makefile.am ++++ b/textscreen/fonts/Makefile.am +@@ -3,7 +3,7 @@ EXTRA_DIST = small.png normal.png large.png convert-font $(FONT_HDRS) + + noinst_DATA = $(FONT_HDRS) + +-if HAVE_PYTHON ++if HAVE_FONTS + + small.h: small.png convert-font + ./convert-font small small.png small.h +-- +2.26.2 + diff --git a/games-fps/chocolate-doom/files/chocolate-doom-3.0.1-Remove-redundant-demoextend-definition.patch b/games-fps/chocolate-doom/files/chocolate-doom-3.0.1-Remove-redundant-demoextend-definition.patch new file mode 100644 index 000000000000..9c087769a26c --- /dev/null +++ b/games-fps/chocolate-doom/files/chocolate-doom-3.0.1-Remove-redundant-demoextend-definition.patch @@ -0,0 +1,28 @@ +From a8fd4b1f563d24d4296c3e8225c8404e2724d4c2 Mon Sep 17 00:00:00 2001 +From: Jordan Christiansen <xordspar0@gmail.com> +Date: Sun, 15 Mar 2020 16:55:33 -0500 +Subject: [PATCH] Remove redundant demoextend definition + +GCC 10 enables -fno-common by default, which causes the linker to fail when +there are multple definitions of a global variable. + +See https://gcc.gnu.org/gcc-10/porting_to.html +--- + src/hexen/mn_menu.c | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/src/hexen/mn_menu.c b/src/hexen/mn_menu.c +index 059f45b3..a97b7fcd 100644 +--- a/src/hexen/mn_menu.c ++++ b/src/hexen/mn_menu.c +@@ -131,7 +131,6 @@ boolean MenuActive; + int InfoType; + int messageson = true; + boolean mn_SuicideConsole; +-boolean demoextend; // from h2def.h + + // PRIVATE DATA DEFINITIONS ------------------------------------------------ + +-- +2.28.0 + diff --git a/games-fps/chocolate-doom/files/chocolate-doom-3.0.1-Update-AppStream-XML-files-to-current-0.11-standards.patch b/games-fps/chocolate-doom/files/chocolate-doom-3.0.1-Update-AppStream-XML-files-to-current-0.11-standards.patch new file mode 100644 index 000000000000..7c2bfa48de29 --- /dev/null +++ b/games-fps/chocolate-doom/files/chocolate-doom-3.0.1-Update-AppStream-XML-files-to-current-0.11-standards.patch @@ -0,0 +1,106 @@ +From 35827930553ca522270bd74df37a378d6b2dea8a Mon Sep 17 00:00:00 2001 +From: Mike Swanson <mikeonthecomputer@gmail.com> +Date: Mon, 22 Jan 2018 20:41:16 -0800 +Subject: [PATCH] Update AppStream XML files to current (0.11) standards + +<id> tag is changed to a Reverse-DNS form, and an accommodating +PACKAGE_RDNS is set in configure.ac to use it. + +<name> and <summary> tags have been added, using existing autoconf +variable values. + +The `appstream-util validate` command will complain about some +optionally-missing tags and a strict string length limit on some of +the <caption> tags. `validate-relax` passes, and by the letter of the +AppStream specification, we should be completely valid. +--- + configure.ac | 2 ++ + src/doom.appdata.xml.in | 4 +++- + src/heretic.appdata.xml.in | 4 +++- + src/hexen.appdata.xml.in | 4 +++- + src/strife.appdata.xml.in | 4 +++- + 5 files changed, 14 insertions(+), 4 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 17299714..2190a32b 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -7,6 +7,7 @@ PACKAGE_COPYRIGHT="Copyright (C) 1993-2017" + PACKAGE_LICENSE="GNU General Public License, version 2" + PACKAGE_MAINTAINER="Simon Howard" + PACKAGE_URL="https://www.chocolate-doom.org/" ++PACKAGE_RDNS="org.chocolate_doom" + PACKAGE_ISSUES="https://github.com/chocolate-doom/chocolate-doom/issues" + + AC_CONFIG_AUX_DIR(autotools) +@@ -142,6 +143,7 @@ AC_SUBST(PACKAGE_COPYRIGHT) + AC_SUBST(PACKAGE_LICENSE) + AC_SUBST(PACKAGE_MAINTAINER) + AC_SUBST(PACKAGE_URL) ++AC_SUBST(PACKAGE_RDNS) + AC_SUBST(PACKAGE_ISSUES) + + AC_SUBST(bashcompletiondir) +diff --git a/src/doom.appdata.xml.in b/src/doom.appdata.xml.in +index ed499f47..42747251 100644 +--- a/src/doom.appdata.xml.in ++++ b/src/doom.appdata.xml.in +@@ -1,7 +1,9 @@ + <?xml version="1.0" encoding="UTF-8"?> + + <component type="desktop"> +- <id>@PROGRAM_PREFIX@doom.desktop</id> ++ <id>@PACKAGE_RDNS@.Doom</id> ++ <name>@PACKAGE_SHORTNAME@ Doom</name> ++ <summary>@PACKAGE_SHORTDESC@</summary> + <metadata_license>CC0-1.0</metadata_license> + <project_license>GPL-2.0+</project_license> + <developer_name>@PACKAGE_MAINTAINER@</developer_name> +diff --git a/src/heretic.appdata.xml.in b/src/heretic.appdata.xml.in +index 36a1739a..dc8093de 100644 +--- a/src/heretic.appdata.xml.in ++++ b/src/heretic.appdata.xml.in +@@ -1,7 +1,9 @@ + <?xml version="1.0" encoding="UTF-8"?> + + <component type="desktop"> +- <id>@PROGRAM_PREFIX@heretic.desktop</id> ++ <id>@PACKAGE_RDNS@.Heretic</id> ++ <name>@PACKAGE_SHORTNAME@ Heretic</name> ++ <summary>@PACKAGE_SHORTDESC@</summary> + <metadata_license>CC0-1.0</metadata_license> + <project_license>GPL-2.0+</project_license> + <developer_name>@PACKAGE_MAINTAINER@</developer_name> +diff --git a/src/hexen.appdata.xml.in b/src/hexen.appdata.xml.in +index b5a526f2..7583cca8 100644 +--- a/src/hexen.appdata.xml.in ++++ b/src/hexen.appdata.xml.in +@@ -1,7 +1,9 @@ + <?xml version="1.0" encoding="UTF-8"?> + + <component type="desktop"> +- <id>@PROGRAM_PREFIX@hexen.desktop</id> ++ <id>@PACKAGE_RDNS@.Hexen</id> ++ <name>@PACKAGE_SHORTNAME@ Hexen</name> ++ <summary>@PACKAGE_SHORTDESC@</summary> + <metadata_license>CC0-1.0</metadata_license> + <project_license>GPL-2.0+</project_license> + <developer_name>@PACKAGE_MAINTAINER@</developer_name> +diff --git a/src/strife.appdata.xml.in b/src/strife.appdata.xml.in +index 7be869c3..6db4fad4 100644 +--- a/src/strife.appdata.xml.in ++++ b/src/strife.appdata.xml.in +@@ -1,7 +1,9 @@ + <?xml version="1.0" encoding="UTF-8"?> + + <component type="desktop"> +- <id>@PROGRAM_PREFIX@strife.desktop</id> ++ <id>@PACKAGE_RDNS@.Strife</id> ++ <name>@PACKAGE_SHORTNAME@ Strife</name> ++ <summary>@PACKAGE_SHORTDESC@</summary> + <metadata_license>CC0-1.0</metadata_license> + <project_license>GPL-2.0+</project_license> + <developer_name>@PACKAGE_MAINTAINER@</developer_name> +-- +2.26.2 + diff --git a/games-fps/chocolate-doom/files/chocolate-doom-3.0.1-Update-documentation-about-usr-share-doom-IWAD-locat.patch b/games-fps/chocolate-doom/files/chocolate-doom-3.0.1-Update-documentation-about-usr-share-doom-IWAD-locat.patch new file mode 100644 index 000000000000..90cd352a5874 --- /dev/null +++ b/games-fps/chocolate-doom/files/chocolate-doom-3.0.1-Update-documentation-about-usr-share-doom-IWAD-locat.patch @@ -0,0 +1,39 @@ +From: William Breathitt Gray <vilhelm.gray@gmail.com> +Date: Thu, 25 Jun 2020 11:30:42 -0400 +Subject: [PATCH] Update documentation about /usr/share/doom IWAD location + +--- + man/INSTALL.template | 2 ++ + man/iwad_paths.man | 3 ++- + 2 files changed, 4 insertions(+), 1 deletion(-) + +diff --git a/man/INSTALL.template b/man/INSTALL.template +index f04e98e6..9c9f7601 100644 +--- a/man/INSTALL.template ++++ b/man/INSTALL.template +@@ -199,6 +199,8 @@ do one of the following: + * Put the file into one of the following directories: + ++ /usr/share/doom + /usr/share/games/doom ++ /usr/local/share/doom + /usr/local/share/games/doom + + * Set the environment variable DOOMWADDIR to specify the path to a +diff --git a/man/iwad_paths.man b/man/iwad_paths.man +index 98058154..a41aba41 100644 +--- a/man/iwad_paths.man ++++ b/man/iwad_paths.man +@@ -35,7 +35,8 @@ Writeable directory in the user's home directory. The path can be overridden + using the \fBXDG_DATA_HOME\fR environment variable (see the XDG Base Directory + Specification). + .TP +-\fB/usr/local/share/games/doom, /usr/share/games/doom\fR ++\fB/usr/local/share/doom, /usr/local/share/games/doom, /usr/share/doom, ++/usr/share/games/doom\fR + System-wide locations that can be accessed by all users. The path + \fB/usr/share/games/doom\fR is a standard path that is supported by most + Doom source ports. These paths can be overridden using the \fBXDG_DATA_DIRS\fR +-- +2.26.2 + diff --git a/games-fps/chocolate-doom/files/chocolate-doom-3.0.1-Update-to-latest-AppStream-formerly-AppData-standard.patch b/games-fps/chocolate-doom/files/chocolate-doom-3.0.1-Update-to-latest-AppStream-formerly-AppData-standard.patch new file mode 100644 index 000000000000..39cef73483e9 --- /dev/null +++ b/games-fps/chocolate-doom/files/chocolate-doom-3.0.1-Update-to-latest-AppStream-formerly-AppData-standard.patch @@ -0,0 +1,119 @@ +From: Mike Swanson <mikeonthecomputer@gmail.com> +Date: Sat, 7 Sep 2019 10:43:57 -0700 +Subject: [PATCH] Update to latest AppStream (formerly AppData) standards + +Install files into ${prefix}/share/metainfo rather than +${prefix}/share/appdata, name files by reverse-DNS and suffixed +.metainfo.xml. + +"appstream-util validate" still complains about a missing +update_contact tag and issues with the caption tags being either short +or long, but the specification at +https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html +says these are not errors. +--- + configure.ac | 8 +++--- + ...om.appdata.xml.in => Doom.metainfo.xml.in} | 0 + ...appdata.xml.in => Heretic.metainfo.xml.in} | 0 + ...n.appdata.xml.in => Hexen.metainfo.xml.in} | 0 + src/Makefile.am | 28 +++++++++---------- + ....appdata.xml.in => Strife.metainfo.xml.in} | 0 + 7 files changed, 19 insertions(+), 19 deletions(-) + rename src/{doom.appdata.xml.in => Doom.metainfo.xml.in} (100%) + rename src/{heretic.appdata.xml.in => Heretic.metainfo.xml.in} (100%) + rename src/{hexen.appdata.xml.in => Hexen.metainfo.xml.in} (100%) + rename src/{strife.appdata.xml.in => Strife.metainfo.xml.in} (100%) + +diff --git a/configure.ac b/configure.ac +index 5ec9dfbf..8a3e1bbc 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -167,14 +167,14 @@ pkg/osx/Info.plist + rpm.spec + data/Makefile + src/Makefile +-src/doom.appdata.xml ++src/Doom.metainfo.xml + src/doom.desktop + src/doom-screensaver.desktop + src/doom/Makefile +-src/heretic.appdata.xml ++src/Heretic.metainfo.xml + src/heretic.desktop + src/heretic/Makefile +-src/hexen.appdata.xml ++src/Hexen.metainfo.xml + src/hexen.desktop + src/hexen/Makefile + src/resource.rc +@@ -182,7 +182,7 @@ src/setup-res.rc + src/setup/Makefile + src/setup/setup.desktop + src/setup/setup-manifest.xml +-src/strife.appdata.xml ++src/Strife.metainfo.xml + src/strife.desktop + src/strife/Makefile + textscreen/Makefile +diff --git a/src/doom.appdata.xml.in b/src/Doom.metainfo.xml.in +similarity index 100% +rename from src/doom.appdata.xml.in +rename to src/Doom.metainfo.xml.in +diff --git a/src/heretic.appdata.xml.in b/src/Heretic.metainfo.xml.in +similarity index 100% +rename from src/heretic.appdata.xml.in +rename to src/Heretic.metainfo.xml.in +diff --git a/src/hexen.appdata.xml.in b/src/Hexen.metainfo.xml.in +similarity index 100% +rename from src/hexen.appdata.xml.in +rename to src/Hexen.metainfo.xml.in +diff --git a/src/Makefile.am b/src/Makefile.am +index e54aeead..6880bd3c 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -220,24 +220,24 @@ EXTRA_DIST = \ + doom-screensaver.desktop.in \ + manifest.xml + +-appdatadir = $(prefix)/share/metainfo +-appdata_DATA = \ +- @PROGRAM_PREFIX@doom.appdata.xml \ +- @PROGRAM_PREFIX@heretic.appdata.xml \ +- @PROGRAM_PREFIX@hexen.appdata.xml \ +- @PROGRAM_PREFIX@strife.appdata.xml ++metainfodir = $(prefix)/share/metainfo ++metainfo_DATA = \ ++ @PACKAGE_RDNS@.Doom.metainfo.xml \ ++ @PACKAGE_RDNS@.Heretic.metainfo.xml \ ++ @PACKAGE_RDNS@.Hexen.metainfo.xml \ ++ @PACKAGE_RDNS@.Strife.metainfo.xml + +-@PROGRAM_PREFIX@doom.appdata.xml : doom.appdata.xml +- cp doom.appdata.xml $@ ++@PACKAGE_RDNS@.Doom.metainfo.xml : Doom.metainfo.xml ++ cp Doom.metainfo.xml $@ + +-@PROGRAM_PREFIX@heretic.appdata.xml : heretic.appdata.xml +- cp heretic.appdata.xml $@ ++@PACKAGE_RDNS@.Heretic.metainfo.xml : Heretic.metainfo.xml ++ cp Heretic.metainfo.xml $@ + +-@PROGRAM_PREFIX@hexen.appdata.xml : hexen.appdata.xml +- cp hexen.appdata.xml $@ ++@PACKAGE_RDNS@.Hexen.metainfo.xml : Hexen.metainfo.xml ++ cp Hexen.metainfo.xml $@ + +-@PROGRAM_PREFIX@strife.appdata.xml : strife.appdata.xml +- cp strife.appdata.xml $@ ++@PACKAGE_RDNS@.Strife.metainfo.xml : Strife.metainfo.xml ++ cp Strife.metainfo.xml $@ + + appdir = $(prefix)/share/applications + app_DATA = \ +diff --git a/src/strife.appdata.xml.in b/src/Strife.metainfo.xml.in +similarity index 100% +rename from src/strife.appdata.xml.in +rename to src/Strife.metainfo.xml.in +-- +2.26.2 + diff --git a/games-fps/chocolate-doom/files/chocolate-doom-3.0.1-bash-completion-Build-from-actual-shell-script-templ.patch b/games-fps/chocolate-doom/files/chocolate-doom-3.0.1-bash-completion-Build-from-actual-shell-script-templ.patch new file mode 100644 index 000000000000..48445cf6efc2 --- /dev/null +++ b/games-fps/chocolate-doom/files/chocolate-doom-3.0.1-bash-completion-Build-from-actual-shell-script-templ.patch @@ -0,0 +1,53 @@ +From da88012088dad9f7a5d53c26aa40aa393cb5b703 Mon Sep 17 00:00:00 2001 +From: Mike Swanson <mikeonthecomputer@gmail.com> +Date: Sat, 27 Jan 2018 04:49:08 -0800 +Subject: [PATCH] bash-completion: Build from actual shell script templates. + +At some point, the Makefile was inerrantly modified so that it +generated manpage sources instead of shell script, making completions +very screwed up. +--- + man/bash-completion/Makefile.am | 11 +++++------ + 1 file changed, 5 insertions(+), 6 deletions(-) + +diff --git a/man/bash-completion/Makefile.am b/man/bash-completion/Makefile.am +index 60e7ae9c..bb706fc7 100644 +--- a/man/bash-completion/Makefile.am ++++ b/man/bash-completion/Makefile.am +@@ -17,28 +17,27 @@ BASH_COMPLETION_SCRIPTLETS = \ + bashcompletion_DATA = $(BASH_COMPLETION_SCRIPTLETS) + CLEANFILES = $(BASH_COMPLETION_SCRIPTLETS) + +-MANDIR = $(top_srcdir)/man +-DOCGEN = $(MANDIR)/docgen ++DOCGEN = $(top_srcdir)/man/docgen + DOCGEN_COMMON_ARGS = -n "@PROGRAM_SPREFIX@" -s "@PACKAGE_NAME@" -z "@PACKAGE_SHORTNAME@" + + @PROGRAM_PREFIX@doom: $(top_srcdir)/src $(DOCGEN) $(BASH_COMPLETION_TEMPLATES) + $(DOCGEN) $(DOCGEN_COMMON_ARGS) \ +- -g doom -b $(MANDIR)/doom.template \ ++ -g doom -b doom.template \ + $(top_srcdir)/src $(top_srcdir)/src/doom > $@ + + @PROGRAM_PREFIX@heretic: $(top_srcdir)/src $(DOCGEN) $(BASH_COMPLETION_TEMPLATES) + $(DOCGEN) $(DOCGEN_COMMON_ARGS) \ +- -g heretic -b $(MANDIR)/heretic.template \ ++ -g heretic -b heretic.template \ + $(top_srcdir)/src $(top_srcdir)/src/heretic > $@ + + @PROGRAM_PREFIX@hexen: $(top_srcdir)/src $(DOCGEN) $(BASH_COMPLETION_TEMPLATES) + $(DOCGEN) $(DOCGEN_COMMON_ARGS) \ +- -g hexen -b $(MANDIR)/hexen.template \ ++ -g hexen -b hexen.template \ + $(top_srcdir)/src $(top_srcdir)/src/hexen > $@ + + @PROGRAM_PREFIX@strife: $(top_srcdir)/src $(DOCGEN) $(BASH_COMPLETION_TEMPLATES) + $(DOCGEN) $(DOCGEN_COMMON_ARGS) \ +- -g strife -b $(MANDIR)/strife.template \ ++ -g strife -b strife.template \ + $(top_srcdir)/src $(top_srcdir)/src/strife > $@ + + EXTRA_DIST = \ +-- +2.26.2 + diff --git a/games-fps/chocolate-doom/files/chocolate-doom-3.0.1-bash-completion-always-install-into-datadir-bash-com.patch b/games-fps/chocolate-doom/files/chocolate-doom-3.0.1-bash-completion-always-install-into-datadir-bash-com.patch new file mode 100644 index 000000000000..3931166599f9 --- /dev/null +++ b/games-fps/chocolate-doom/files/chocolate-doom-3.0.1-bash-completion-always-install-into-datadir-bash-com.patch @@ -0,0 +1,61 @@ +From b9d4c04c840321f5ec70787d8afb1256766aaa01 Mon Sep 17 00:00:00 2001 +From: Mike Swanson <mikeonthecomputer@gmail.com> +Date: Tue, 6 Aug 2019 15:40:46 -0700 +Subject: [PATCH] bash-completion: always install into $datadir/bash-completion +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +The bash-completion package by default searches in $HOME/.local and +/usr/local first before /usr, and we should respect local installation +locations instead of always trying to write to a path that is +accessible only to root and could conflict with a package manager. + +This removes a toggle in the configure script, which neither actually +worked properly (setting DIR didn’t work) and I believe did the wrong +thing by default anyway. +--- + configure.ac | 9 --------- + man/bash-completion/Makefile.am | 2 +- + 2 files changed, 1 insertion(+), 10 deletions(-) + +diff --git a/configure.ac b/configure.ac +index f12eae68..5ec9dfbf 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -87,13 +87,6 @@ AC_CHECK_DECLS([strcasecmp, strncasecmp], [], [], [[#include <strings.h>]]) + AC_CHECK_LIB(i386, i386_iopl) + AC_CHECK_LIB(amd64, amd64_iopl) + +-AC_ARG_WITH([bashcompletiondir], +- AS_HELP_STRING([--with-bashcompletiondir=DIR], [Bash completion directory]), +- [], +- [AS_IF([$($PKG_CONFIG --exists bash-completion 2> /dev/null)], +- [bashcompletiondir=$($PKG_CONFIG --variable=completionsdir bash-completion)], +- [bashcompletiondir=${datadir}/bash-completion/completions])]) +- + case "$host" in + *-*-mingw* | *-*-cygwin* | *-*-msvc* ) + AC_CHECK_TOOL(WINDRES, windres, ) +@@ -153,8 +146,6 @@ AC_SUBST(PACKAGE_URL) + AC_SUBST(PACKAGE_RDNS) + AC_SUBST(PACKAGE_ISSUES) + +-AC_SUBST(bashcompletiondir) +- + dnl Shut up the datarootdir warnings. + AC_DEFUN([AC_DATAROOTDIR_CHECKED]) + +diff --git a/man/bash-completion/Makefile.am b/man/bash-completion/Makefile.am +index bb706fc7..9c1400f1 100644 +--- a/man/bash-completion/Makefile.am ++++ b/man/bash-completion/Makefile.am +@@ -1,4 +1,4 @@ +-bashcompletiondir=@bashcompletiondir@ ++bashcompletiondir=@datadir@/bash-completion/completions + + BASH_COMPLETION_TEMPLATES = \ + doom.template \ +-- +2.26.2 + diff --git a/games-fps/chocolate-doom/files/chocolate-doom-3.0.1-bash-completion-run-docgen-with-z-argument.patch b/games-fps/chocolate-doom/files/chocolate-doom-3.0.1-bash-completion-run-docgen-with-z-argument.patch new file mode 100644 index 000000000000..d9df5743d765 --- /dev/null +++ b/games-fps/chocolate-doom/files/chocolate-doom-3.0.1-bash-completion-run-docgen-with-z-argument.patch @@ -0,0 +1,25 @@ +From ccfbd4a046de9590cadb522d1f754c78ee9f8d4e Mon Sep 17 00:00:00 2001 +From: Jonathan Dowland <jon@dow.land> +Date: Mon, 15 Jan 2018 19:10:16 +0000 +Subject: [PATCH] bash-completion: run docgen with -z argument + +--- + man/bash-completion/Makefile.am | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/man/bash-completion/Makefile.am b/man/bash-completion/Makefile.am +index 801dd212..60e7ae9c 100644 +--- a/man/bash-completion/Makefile.am ++++ b/man/bash-completion/Makefile.am +@@ -19,7 +19,7 @@ CLEANFILES = $(BASH_COMPLETION_SCRIPTLETS) + + MANDIR = $(top_srcdir)/man + DOCGEN = $(MANDIR)/docgen +-DOCGEN_COMMON_ARGS = -n "@PROGRAM_SPREFIX@" -s "@PACKAGE_NAME@" ++DOCGEN_COMMON_ARGS = -n "@PROGRAM_SPREFIX@" -s "@PACKAGE_NAME@" -z "@PACKAGE_SHORTNAME@" + + @PROGRAM_PREFIX@doom: $(top_srcdir)/src $(DOCGEN) $(BASH_COMPLETION_TEMPLATES) + $(DOCGEN) $(DOCGEN_COMMON_ARGS) \ +-- +2.26.2 + diff --git a/games-fps/chocolate-doom/files/chocolate-doom-3.0.1-configure-add-AM_PROG_AR-macro.patch b/games-fps/chocolate-doom/files/chocolate-doom-3.0.1-configure-add-AM_PROG_AR-macro.patch new file mode 100644 index 000000000000..725ddb2dba55 --- /dev/null +++ b/games-fps/chocolate-doom/files/chocolate-doom-3.0.1-configure-add-AM_PROG_AR-macro.patch @@ -0,0 +1,28 @@ +From 560cdc3e4572cc84d493c5450092b6ce1694bd89 Mon Sep 17 00:00:00 2001 +From: Simon Howard <fraggle@soulsphere.org> +Date: Sun, 30 Sep 2018 23:34:52 -0400 +Subject: [PATCH] configure: add AM_PROG_AR macro. + +Some platforms (eg. Emscripten) have their own version of the ar tool, +so it is important to pick one that matches the target architecture. +Without this macro we always use the default system-installed version +of ar. +--- + configure.ac | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/configure.ac b/configure.ac +index 175d7f3b..6dfced8d 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -15,6 +15,7 @@ AC_CANONICAL_HOST + + orig_CFLAGS="$CFLAGS" + ++AM_PROG_AR + AC_PROG_CC + AC_PROG_RANLIB + AC_CHECK_PROG(HAVE_PYTHON, python, true, false) +-- +2.26.2 + diff --git a/games-fps/chocolate-doom/files/chocolate-doom-3.0.1-further-manpage-substitutions-and-fixes.patch b/games-fps/chocolate-doom/files/chocolate-doom-3.0.1-further-manpage-substitutions-and-fixes.patch new file mode 100644 index 000000000000..62fc424f42b9 --- /dev/null +++ b/games-fps/chocolate-doom/files/chocolate-doom-3.0.1-further-manpage-substitutions-and-fixes.patch @@ -0,0 +1,322 @@ +From c1f553b92a7a4873b33026463866101e18be8e76 Mon Sep 17 00:00:00 2001 +From: Jonathan Dowland <jon@dow.land> +Date: Mon, 27 Nov 2017 22:24:04 +0000 +Subject: [PATCH] further manpage substitutions and fixes + +Convert chocolate-setup.6 into a template file and generate outputs +based on @PROGRAM_PREFIX@. + +Add @PACKAGE_SHORTNAME@ to the list of parameters handed to docgen +and make appropriate substitutions in the manpage templates. +--- + man/Makefile.am | 15 ++++++++---- + man/docgen | 30 ++++++++++++++--------- + man/heretic.template | 8 +++--- + man/hexen.template | 8 +++--- + man/{chocolate-setup.6 => setup.template} | 4 +-- + man/strife.template | 14 +++++------ + 6 files changed, 45 insertions(+), 34 deletions(-) + rename man/{chocolate-setup.6 => setup.template} (94%) + +diff --git a/man/Makefile.am b/man/Makefile.am +index 5916edf9..f0099c79 100644 +--- a/man/Makefile.am ++++ b/man/Makefile.am +@@ -30,6 +30,7 @@ GENERATED_MAN_PAGES = \ + @PROGRAM_PREFIX@strife.6 \ + strife.cfg.5 \ + @PROGRAM_PREFIX@strife.cfg.5 \ ++ @PROGRAM_PREFIX@setup.6 \ + @PROGRAM_PREFIX@server.6 + + SETUP_MAN_PAGES = \ +@@ -38,8 +39,7 @@ SETUP_MAN_PAGES = \ + @PROGRAM_PREFIX@hexen-setup.6 \ + @PROGRAM_PREFIX@strife-setup.6 + +-man_MANS = chocolate-setup.6 \ +- $(GENERATED_MAN_PAGES) \ ++man_MANS = $(GENERATED_MAN_PAGES) \ + $(SETUP_MAN_PAGES) + + doomdocs_DATA = INSTALL.doom CMDLINE.doom +@@ -51,10 +51,10 @@ CLEANFILES = $(GENERATED_MAN_PAGES) $(SETUP_MAN_PAGES) \ + $(doomdocs_DATA) $(hereticdocs_DATA) \ + $(hexendocs_DATA) $(strifedocs_DATA) + DOCGEN = $(srcdir)/docgen +-DOCGEN_COMMON_ARGS = -n "@PROGRAM_SPREFIX@" -s "@PACKAGE_NAME@" ++DOCGEN_COMMON_ARGS = -n "@PROGRAM_SPREFIX@" -s "@PACKAGE_NAME@" -z "@PACKAGE_SHORTNAME@" + +-$(SETUP_MAN_PAGES): chocolate-setup.6 +- cp $(srcdir)/chocolate-setup.6 $@ ++$(SETUP_MAN_PAGES): @PROGRAM_PREFIX@setup.6 ++ cp $(srcdir)/@PROGRAM_PREFIX@setup.6 $@ + + @PROGRAM_PREFIX@doom.6: $(top_srcdir)/src $(MANPAGE_GEN_FILES) + $(DOCGEN) $(DOCGEN_COMMON_ARGS) \ +@@ -138,6 +138,11 @@ INSTALL.hexen: INSTALL.template + -g server -m $(srcdir)/server.template \ + $(top_srcdir)/src > $@ + ++@PROGRAM_PREFIX@setup.6: $(top_srcdir)/src $(MANPAGE_GEN_FILES) ++ $(DOCGEN) $(DOCGEN_COMMON_ARGS) \ ++ -g setup -m $(srcdir)/setup.template \ ++ $(top_srcdir)/src > $@ ++ + strife.cfg.5: $(top_srcdir)/src default.cfg.template + $(DOCGEN) $(DOCGEN_COMMON_ARGS) \ + -g strife -m $(srcdir)/default.cfg.template \ +diff --git a/man/docgen b/man/docgen +index defb9060..1c8a2471 100755 +--- a/man/docgen ++++ b/man/docgen +@@ -430,7 +430,7 @@ def process_files(path): + + process_file(path) + +-def print_template(template_file, program_prefix, package_name, content): ++def print_template(template_file, program_prefix, package_name, package_shortname, content): + f = io.open(template_file, encoding='UTF-8') + + try: +@@ -440,16 +440,18 @@ def print_template(template_file, program_prefix, package_name, content): + filename = match.group(1) + filename = os.path.join(os.path.dirname(template_file), + filename) +- print_template(filename, program_prefix, package_name, content) ++ print_template(filename, program_prefix, package_name, package_shortname, content) + else: + line = line.replace("@content", content) + line = line.replace("@PROGRAM_SPREFIX@", program_prefix) +- line = line.replace("@PACKAGE_SHORTNAME@", package_name) ++ line = line.replace("@PACKAGE_NAME@", package_name) ++ if package_shortname: ++ line = line.replace("@PACKAGE_SHORTNAME@", package_shortname) + stdout(line.rstrip().encode('UTF-8') + b'\n') + finally: + f.close() + +-def manpage_output(targets, program_prefix, package_name, template_file): ++def manpage_output(targets, program_prefix, package_name, package_shortname, template_file): + + content = "" + +@@ -458,7 +460,7 @@ def manpage_output(targets, program_prefix, package_name, template_file): + + content = content.replace("-", "\\-") + +- print_template(template_file, program_prefix, package_name, content) ++ print_template(template_file, program_prefix, package_name, package_shortname, content) + + def wiki_output(targets, template): + read_wikipages() +@@ -466,30 +468,31 @@ def wiki_output(targets, template): + for t in targets: + stdout(t.wiki_output().encode('UTF-8') + b'\n') + +-def plaintext_output(targets, program_prefix, package_name, template_file): ++def plaintext_output(targets, program_prefix, package_name, package_shortname, template_file): + + content = "" + + for t in targets: + content += t.plaintext_output() + "\n" + +- print_template(template_file, program_prefix, package_name, content) ++ print_template(template_file, program_prefix, package_name, package_shortname, content) + +-def completion_output(targets, program_prefix, package_name, template_file): ++def completion_output(targets, program_prefix, package_name, package_shortname, template_file): + + content = "" + + for t in targets: + content += t.completion_output() + "\n" + +- print_template(template_file, program_prefix, package_name, content) ++ print_template(template_file, program_prefix, package_name, package_shortname, content) + + def usage(): +- print("Usage: %s [-V] [-c tag] [-g game] -n name ( -m | -w | -p ) <dir>..." \ ++ print("Usage: %s [-V] [-c tag] [-g game] -n program_name -s package_name [ -z shortname ] ( -m | -w | -p ) <dir>..." \ + % sys.argv[0]) + print(" -c : Provide documentation for the specified configuration file") + print(" (matches the given tag name in the source file)") + print(" -s : Package name (for substitution)") ++ print(" -z : Package short-name (for substitution)") + print(" -n : Program name (for substitution)") + print(" -m : Manpage output") + print(" -w : Wikitext output") +@@ -501,7 +504,7 @@ def usage(): + + # Parse command line + +-opts, args = getopt.getopt(sys.argv[1:], "n:s:m:wp:b:c:g:V") ++opts, args = getopt.getopt(sys.argv[1:], "n:s:z:m:wp:b:c:g:V") + + output_function = None + template = None +@@ -509,12 +512,15 @@ doc_config_file = None + match_game = None + program_prefix = None + package_name = None ++package_shortname = None + + for opt in opts: + if opt[0] == "-n": + program_prefix = opt[1] + if opt[0] == "-s": + package_name = opt[1] ++ if opt[0] == "-z": ++ package_shortname = opt[1] + if opt[0] == "-m": + output_function = manpage_output + template = opt[1] +@@ -556,5 +562,5 @@ else: + + # Generate the output + +- output_function(documentation_targets, program_prefix, package_name, template) ++ output_function(documentation_targets, program_prefix, package_name, package_shortname, template) + +diff --git a/man/heretic.template b/man/heretic.template +index c078c7c6..3fa4ce1d 100644 +--- a/man/heretic.template ++++ b/man/heretic.template +@@ -6,7 +6,7 @@ + [\fIOPTIONS\fR] + .SH DESCRIPTION + .PP +-Chocolate Heretic is a port of Raven Software's 1994 game "Heretic" that ++@PACKAGE_SHORTNAME@ Heretic is a port of Raven Software's 1994 game "Heretic" that + aims to behave as similar to the original DOS version of Heretic as + possible. + .br +@@ -14,16 +14,16 @@ possible. + .SH IWAD SEARCH PATHS + @include iwad_paths.man + .SH ENVIRONMENT +-This section describes environment variables that control Chocolate Heretic's ++This section describes environment variables that control @PACKAGE_SHORTNAME@ Heretic's + behavior. + @include environ.man + .SH FILES + .TP + \fB$HOME/.local/share/@PROGRAM_SPREFIX@\-doom/heretic.cfg\fR +-The main configuration file for Chocolate Heretic. See \fBheretic.cfg\fR(5). ++The main configuration file for @PACKAGE_SHORTNAME@ Heretic. See \fBheretic.cfg\fR(5). + .TP + \fB$HOME/.local/share/@PROGRAM_SPREFIX@\-doom/@PROGRAM_SPREFIX@\-heretic.cfg\fR +-Extra configuration values that are specific to Chocolate Heretic and not ++Extra configuration values that are specific to @PACKAGE_SHORTNAME@ Heretic and not + present in Vanilla Heretic. See \fB@PROGRAM_SPREFIX@\-heretic.cfg\fR(5). + .SH SEE ALSO + \fB@PROGRAM_SPREFIX@\-doom\fR(6), +diff --git a/man/hexen.template b/man/hexen.template +index 9184a27e..fc953edf 100644 +--- a/man/hexen.template ++++ b/man/hexen.template +@@ -6,7 +6,7 @@ + [\fIOPTIONS\fR] + .SH DESCRIPTION + .PP +-Chocolate Hexen is a port of Raven Software's 1995 game "Hexen" that ++@PACKAGE_SHORTNAME@ Hexen is a port of Raven Software's 1995 game "Hexen" that + aims to behave as similar to the original DOS version of Hexen as + possible. + .br +@@ -14,16 +14,16 @@ possible. + .SH IWAD SEARCH PATHS + @include iwad_paths.man + .SH ENVIRONMENT +-This section describes environment variables that control Chocolate Hexen's ++This section describes environment variables that control @PACKAGE_SHORTNAME@ Hexen's + behavior. + @include environ.man + .SH FILES + .TP + \fB$HOME/.local/share/@PROGRAM_SPREFIX@\-doom/hexen.cfg\fR +-The main configuration file for Chocolate Hexen. See \fBhexen.cfg\fR(5). ++The main configuration file for @PACKAGE_SHORTNAME@ Hexen. See \fBhexen.cfg\fR(5). + .TP + \fB$HOME/.local/share/@PROGRAM_SPREFIX@\-doom/@PROGRAM_SPREFIX@\-hexen.cfg\fR +-Extra configuration values that are specific to Chocolate Hexen and not ++Extra configuration values that are specific to @PACKAGE_SHORTNAME@ Hexen and not + present in Vanilla Hexen. See \fB@PROGRAM_SPREFIX@\-hexen.cfg\fR(5). + .SH SEE ALSO + \fB@PROGRAM_SPREFIX@\-doom\fR(6), +diff --git a/man/chocolate-setup.6 b/man/setup.template +similarity index 94% +rename from man/chocolate-setup.6 +rename to man/setup.template +index 64f65937..2b5a45ea 100644 +--- a/man/chocolate-setup.6 ++++ b/man/setup.template +@@ -25,9 +25,9 @@ Load configuration from the specified file, instead of default.cfg. + \fB-extraconfig <file>\fR + Load extra configuration from the specified file, instead of @PROGRAM_SPREFIX@\-doom.cfg. + .SH SEE ALSO +-\fB@CHOCOLATE_SPREFIX@\-doom\fR(6), ++\fB@PROGRAM_SPREFIX@\-doom\fR(6), + \fBdefault.cfg\fR(5), +-\fB@CHOCOLATE_SPREFIX@\-doom.cfg\fR(5) ++\fB@PROGRAM_SPREFIX@\-doom.cfg\fR(5) + .SH AUTHOR + Chocolate Doom is written and maintained by Simon Howard. + .PP +diff --git a/man/strife.template b/man/strife.template +index 9ca7f14e..b82c39d4 100644 +--- a/man/strife.template ++++ b/man/strife.template +@@ -6,7 +6,7 @@ + [\fIOPTIONS\fR] + .SH DESCRIPTION + .PP +-Chocolate Strife is an accurate and complete recreation of Rogue ++@PACKAGE_SHORTNAME@ Strife is an accurate and complete recreation of Rogue + Entertainment's "Strife: Quest for the Sigil". It was created through + more than two years of reverse engineering effort with the blessings + of the original programmers of the game (see the section HISTORY below). +@@ -16,17 +16,17 @@ of the original programmers of the game (see the section HISTORY below). + .SH IWAD SEARCH PATHS + @include iwad_paths.man + .SH ENVIRONMENT +-This section describes environment variables that control Chocolate Strife's ++This section describes environment variables that control @PACKAGE_SHORTNAME@ Strife's + behavior. + @include environ.man + + .SH FILES + .TP + \fB$HOME/.local/share/@PROGRAM_SPREFIX@\-doom/strife.cfg\fR +-The main configuration file for Chocolate Strife. See \fBstrife.cfg\fR(5). ++The main configuration file for @PACKAGE_SHORTNAME@ Strife. See \fBstrife.cfg\fR(5). + .TP + \fB$HOME/.local/share/@PROGRAM_SPREFIX@\-doom/@PROGRAM_SPREFIX@\-strife.cfg\fR +-Extra configuration values that are specific to Chocolate Strife and not ++Extra configuration values that are specific to @PACKAGE_SHORTNAME@ Strife and not + present in Vanilla Strife. See \fB@PROGRAM_SPREFIX@\-strife.cfg\fR(5). + .SH SEE ALSO + \fB@PROGRAM_SPREFIX@\-doom\fR(6), +@@ -57,15 +57,15 @@ and neither Rogue nor their publisher, Velocity, Inc., exist any longer as + legal entities, this is effectively legal permission. + + .SH BUGS +-Chocolate Strife is almost, but not entirely perfect, in recreating the ++@PACKAGE_SHORTNAME@ Strife is almost, but not entirely perfect, in recreating the + behavior of Vanilla Strife. Help us by reporting any discrepancies you + might notice between this executable and the vanilla DOS program. + + However, do *not* report any glitch that you can replicate in the vanilla EXE +-as a bug. The point of Chocolate Strife, like Chocolate Doom before it, is to ++as a bug. The point of @PACKAGE_SHORTNAME Strife, like Chocolate Doom before it, is to + be as bug-compatible with the original game as possible. Also be aware that + some glitches are impossible to compatibly recreate, and wherever this is the +-case, Chocolate Strife has erred on the side of not crashing the program, ++case, @PACKAGE_SHORTNAME@ Strife has erred on the side of not crashing the program, + for example by initializing pointers to NULL rather than using them without + setting a value first. + +-- +2.26.2 + diff --git a/games-fps/chocolate-doom/files/chocolate-doom-3.0.1-install-AppStream-metadata-into-the-proper-location.patch b/games-fps/chocolate-doom/files/chocolate-doom-3.0.1-install-AppStream-metadata-into-the-proper-location.patch new file mode 100644 index 000000000000..025ccf0ad179 --- /dev/null +++ b/games-fps/chocolate-doom/files/chocolate-doom-3.0.1-install-AppStream-metadata-into-the-proper-location.patch @@ -0,0 +1,26 @@ +From 12d69a4ee62094b48b37f550d31113e84cca0043 Mon Sep 17 00:00:00 2001 +From: Fabian Greffrath <fabian@greffrath.com> +Date: Mon, 22 Jan 2018 17:24:41 +0100 +Subject: [PATCH] install AppStream metadata into the proper location + +AppStream metadata is to be placed in the /usr/share/metainfo/ directory, /usr/share/appdata is a legacy location. +--- + src/Makefile.am | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/Makefile.am b/src/Makefile.am +index e3bc7bb1..04474ab3 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -212,7 +212,7 @@ EXTRA_DIST = \ + doom-screensaver.desktop.in \ + manifest.xml + +-appdatadir = $(prefix)/share/appdata ++appdatadir = $(prefix)/share/metainfo + appdata_DATA = \ + @PROGRAM_PREFIX@doom.appdata.xml \ + @PROGRAM_PREFIX@heretic.appdata.xml \ +-- +2.26.2 + diff --git a/games-fps/chocolate-doom/files/chocolate-doom-3.0.1-use-reverse-DNS-naming-for-installing-.desktop-files.patch b/games-fps/chocolate-doom/files/chocolate-doom-3.0.1-use-reverse-DNS-naming-for-installing-.desktop-files.patch new file mode 100644 index 000000000000..ceed45834ff0 --- /dev/null +++ b/games-fps/chocolate-doom/files/chocolate-doom-3.0.1-use-reverse-DNS-naming-for-installing-.desktop-files.patch @@ -0,0 +1,162 @@ +From bc50bd123e2b43ff404599b2a017a98261a66e47 Mon Sep 17 00:00:00 2001 +From: Mike Swanson <mikeonthecomputer@gmail.com> +Date: Sat, 7 Sep 2019 10:57:50 -0700 +Subject: [PATCH] use reverse-DNS naming for installing *.desktop files + +This is similar to and consistent with the previous commit, and the +desktop entry specification recommends doing this as well. +--- + configure.ac | 12 +++---- + src/{doom.desktop.in => Doom.desktop.in} | 0 + ...desktop.in => Doom_Screensaver.desktop.in} | 0 + ...{heretic.desktop.in => Heretic.desktop.in} | 0 + src/{hexen.desktop.in => Hexen.desktop.in} | 0 + src/Makefile.am | 32 +++++++++---------- + src/{strife.desktop.in => Strife.desktop.in} | 0 + src/setup/Makefile.am | 6 ++-- + .../{setup.desktop.in => Setup.desktop.in} | 0 + 9 files changed, 25 insertions(+), 25 deletions(-) + rename src/{doom.desktop.in => Doom.desktop.in} (100%) + rename src/{doom-screensaver.desktop.in => Doom_Screensaver.desktop.in} (100%) + rename src/{heretic.desktop.in => Heretic.desktop.in} (100%) + rename src/{hexen.desktop.in => Hexen.desktop.in} (100%) + rename src/{strife.desktop.in => Strife.desktop.in} (100%) + rename src/setup/{setup.desktop.in => Setup.desktop.in} (100%) + +diff --git a/configure.ac b/configure.ac +index 8a3e1bbc..032a8be2 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -168,22 +168,22 @@ rpm.spec + data/Makefile + src/Makefile + src/Doom.metainfo.xml +-src/doom.desktop +-src/doom-screensaver.desktop ++src/Doom.desktop ++src/Doom_Screensaver.desktop + src/doom/Makefile + src/Heretic.metainfo.xml +-src/heretic.desktop ++src/Heretic.desktop + src/heretic/Makefile + src/Hexen.metainfo.xml +-src/hexen.desktop ++src/Hexen.desktop + src/hexen/Makefile + src/resource.rc + src/setup-res.rc + src/setup/Makefile +-src/setup/setup.desktop ++src/setup/Setup.desktop + src/setup/setup-manifest.xml + src/Strife.metainfo.xml +-src/strife.desktop ++src/Strife.desktop + src/strife/Makefile + textscreen/Makefile + textscreen/examples/Makefile +diff --git a/src/doom.desktop.in b/src/Doom.desktop.in +similarity index 100% +rename from src/doom.desktop.in +rename to src/Doom.desktop.in +diff --git a/src/doom-screensaver.desktop.in b/src/Doom_Screensaver.desktop.in +similarity index 100% +rename from src/doom-screensaver.desktop.in +rename to src/Doom_Screensaver.desktop.in +diff --git a/src/heretic.desktop.in b/src/Heretic.desktop.in +similarity index 100% +rename from src/heretic.desktop.in +rename to src/Heretic.desktop.in +diff --git a/src/hexen.desktop.in b/src/Hexen.desktop.in +similarity index 100% +rename from src/hexen.desktop.in +rename to src/Hexen.desktop.in +diff --git a/src/Makefile.am b/src/Makefile.am +index 6880bd3c..19a42598 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -217,7 +217,7 @@ endif + EXTRA_DIST = \ + CMakeLists.txt \ + icon.c \ +- doom-screensaver.desktop.in \ ++ Doom_Screensaver.desktop.in \ + manifest.xml + + metainfodir = $(prefix)/share/metainfo +@@ -241,28 +241,28 @@ metainfo_DATA = \ + + appdir = $(prefix)/share/applications + app_DATA = \ +- @PROGRAM_PREFIX@doom.desktop \ +- @PROGRAM_PREFIX@heretic.desktop \ +- @PROGRAM_PREFIX@hexen.desktop \ +- @PROGRAM_PREFIX@strife.desktop ++ @PACKAGE_RDNS@.Doom.desktop \ ++ @PACKAGE_RDNS@.Heretic.desktop \ ++ @PACKAGE_RDNS@.Hexen.desktop \ ++ @PACKAGE_RDNS@.Strife.desktop + +-@PROGRAM_PREFIX@doom.desktop : doom.desktop +- cp doom.desktop $@ ++@PACKAGE_RDNS@.Doom.desktop : Doom.desktop ++ cp Doom.desktop $@ + +-@PROGRAM_PREFIX@heretic.desktop : heretic.desktop +- cp heretic.desktop $@ ++@PACKAGE_RDNS@.Heretic.desktop : Heretic.desktop ++ cp Heretic.desktop $@ + +-@PROGRAM_PREFIX@hexen.desktop : hexen.desktop +- cp hexen.desktop $@ ++@PACKAGE_RDNS@.Hexen.desktop : Hexen.desktop ++ cp Hexen.desktop $@ + +-@PROGRAM_PREFIX@strife.desktop : strife.desktop +- cp strife.desktop $@ ++@PACKAGE_RDNS@.Strife.desktop : Strife.desktop ++ cp Strife.desktop $@ + + screensaverdir = $(prefix)/share/applications/screensavers +-screensaver_DATA = @PROGRAM_PREFIX@doom-screensaver.desktop ++screensaver_DATA = @PACKAGE_RDNS@.Doom_Screensaver.desktop + +-@PROGRAM_PREFIX@doom-screensaver.desktop: doom-screensaver.desktop +- cp doom-screensaver.desktop $@ ++@PACKAGE_RDNS@.Doom_Screensaver.desktop: Doom_Screensaver.desktop ++ cp Doom_Screensaver.desktop $@ + + CLEANFILES = $(execgames_SCRIPTS) $(app_DATA) $(screensaver_DATA) + +diff --git a/src/strife.desktop.in b/src/Strife.desktop.in +similarity index 100% +rename from src/strife.desktop.in +rename to src/Strife.desktop.in +diff --git a/src/setup/Makefile.am b/src/setup/Makefile.am +index 76db29cf..a9dd240c 100644 +--- a/src/setup/Makefile.am ++++ b/src/setup/Makefile.am +@@ -26,12 +26,12 @@ EXTRA_DIST= \ + setup_icon.c + + appdir = $(prefix)/share/applications +-app_DATA = @PROGRAM_PREFIX@setup.desktop ++app_DATA = @PACKAGE_RDNS@.Setup.desktop + + CLEANFILES = $(app_DATA) + +-@PROGRAM_PREFIX@setup.desktop : setup.desktop +- cp setup.desktop $@ ++@PACKAGE_RDNS@.Setup.desktop : Setup.desktop ++ cp Setup.desktop $@ + + if HAVE_PYTHON + +diff --git a/src/setup/setup.desktop.in b/src/setup/Setup.desktop.in +similarity index 100% +rename from src/setup/setup.desktop.in +rename to src/setup/Setup.desktop.in +-- +2.26.2 + diff --git a/games-fps/chocolate-doom/metadata.xml b/games-fps/chocolate-doom/metadata.xml new file mode 100644 index 000000000000..e457eb8c59dc --- /dev/null +++ b/games-fps/chocolate-doom/metadata.xml @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <longdescription lang="en"> + Chocolate Doom aims to accurately reproduce the original DOS version of Doom and other games based on the Doom engine in a form that can be run on modern computers. + </longdescription> + <maintainer type="project"> + <email>games@gentoo.org</email> + <name>Gentoo Games Project</name> + </maintainer> + <use> + <flag name="midi">basic support for MIDI files</flag> + </use> + <upstream> + <bugs-to>https://github.com/chocolate-doom/chocolate-doom/issues</bugs-to> + <doc lang="en">https://www.chocolate-doom.org</doc> + <remote-id type="github">chocolate-doom/chocolate-doom</remote-id> + </upstream> +</pkgmetadata> diff --git a/games-fps/darkplaces/darkplaces-20140513-r1.ebuild b/games-fps/darkplaces/darkplaces-20140513-r2.ebuild index 7ba3bcdb4ce9..5f728ab6f31e 100644 --- a/games-fps/darkplaces/darkplaces-20140513-r1.ebuild +++ b/games-fps/darkplaces/darkplaces-20140513-r2.ebuild @@ -1,8 +1,9 @@ -# Copyright 1999-2018 Gentoo Foundation +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=6 -inherit eutils flag-o-matic unpacker +EAPI=7 + +inherit desktop flag-o-matic toolchain-funcs wrapper unpacker # Latest versions are in http://icculus.org/twilight/darkplaces/files/ MY_PV="${PV/_beta/beta}" @@ -18,6 +19,7 @@ SRC_URI="http://icculus.org/twilight/${PN}/files/${MY_ENGINE} lights? ( http://www.fuhquake.net/files/extras/${MY_LIGHTS} http://www.kgbsyndicate.com/romi/id1.pk3 )" +S="${WORKDIR}/${PN}" LICENSE="GPL-2" SLOT="0" @@ -30,7 +32,7 @@ UIRDEPEND=" media-libs/libvorbis virtual/opengl alsa? ( media-libs/alsa-lib ) - sdl? ( media-libs/libsdl ) + sdl? ( media-libs/libsdl[joystick] ) x11-libs/libX11 x11-libs/libXpm x11-libs/libXxf86dga @@ -60,14 +62,19 @@ DEPEND="lights? ( || ( !opengl? ( !sdl? ( !dedicated? ( ${UIRDEPEND} ${UIDEPEND} ) ) ) - virtual/pkgconfig +" +BDEPEND=" app-arch/unzip + virtual/pkgconfig " -S="${WORKDIR}/${PN}" +PATCHES=("${FILESDIR}"/${P}-gcc-11.patch) + dir="/usr/share/quake1" -opengl_client() { use opengl || ( ! use dedicated && ! use sdl ) } +opengl_client() { + use opengl || ( ! use dedicated && ! use sdl ) +} src_unpack() { if use lights ; then @@ -76,6 +83,7 @@ src_unpack() { mv *.lit maps/ || die mv ReadMe.txt rtlights.txt fi + unpack "${MY_ENGINE}" unpack ./${PN}*.zip } @@ -92,7 +100,7 @@ src_prepare() { # Only additional CFLAGS optimization is the -march flag local march=$(get-flag -march) sed -i \ - -e "s:-lasound:$(pkg-config --libs alsa):" \ + -e "s:-lasound:$($(tc-getPKG_CONFIG) --libs alsa):" \ -e "/^CPUOPTIMIZATIONS/d" \ -e '/^OPTIM_RELEASE/s/=.*/=$(CFLAGS)/' \ -e '/^OPTIM_DEBUG/s/=.*/=$(CFLAGS)/' \ @@ -115,6 +123,17 @@ src_prepare() { src_compile() { local opts="DP_FS_BASEDIR=\"${dir}\" DP_LINK_TO_LIBJPEG=1" + # Protect against people choosing a strip implementation + # bug #739194 + unset STRIP + + # Strict aliasing violations (bug #858740), but they seem to be fixed in git. + # Check on next release (>20140513) / snapshot. + append-flags -fno-strict-aliasing + filter-lto + + tc-export CC + # Preferred sound is alsa local sound_api="NULL" use oss && sound_api="OSS" @@ -168,6 +187,7 @@ src_install() { if use lights ; then insinto "${dir}"/id1 doins -r "${WORKDIR}"/{cubemaps,maps} + if use demo ; then # Set up symlinks, for the demo levels to include the lights local d diff --git a/games-fps/darkplaces/files/darkplaces-20140513-gcc-11.patch b/games-fps/darkplaces/files/darkplaces-20140513-gcc-11.patch new file mode 100644 index 000000000000..5670b053cef7 --- /dev/null +++ b/games-fps/darkplaces/files/darkplaces-20140513-gcc-11.patch @@ -0,0 +1,43 @@ +https://bugs.gentoo.org/786288 + +Attach alignment annotation to strict, not it's typedef alias. +--- a/dpsoftrast.c ++++ b/dpsoftrast.c +@@ -177,7 +177,7 @@ typedef ALIGN(struct DPSOFTRAST_State_Triangle_s + float w[3]; + ALIGN(float attribs[DPSOFTRAST_ARRAY_TOTAL][3][4]); + } +-DPSOFTRAST_State_Triangle); ++) DPSOFTRAST_State_Triangle; + + #define DPSOFTRAST_CALCATTRIB(triangle, span, data, slope, arrayindex) { \ + slope = _mm_load_ps((triangle)->attribs[arrayindex][0]); \ +@@ -209,7 +209,7 @@ typedef ALIGN(struct DPSOFTRAST_State_Span_s + int depthbase; // depthbuffer value at x (add depthslope*startx to get first pixel's depthbuffer value) + int depthslope; // depthbuffer value pixel delta + } +-DPSOFTRAST_State_Span); ++) DPSOFTRAST_State_Span; + + #define DPSOFTRAST_DRAW_MAXSPANS 1024 + #define DPSOFTRAST_DRAW_MAXTRIANGLES 128 +@@ -299,8 +299,8 @@ typedef ALIGN(struct DPSOFTRAST_State_Thread_s + DPSOFTRAST_State_Span spans[DPSOFTRAST_DRAW_MAXSPANS]; + DPSOFTRAST_State_Triangle triangles[DPSOFTRAST_DRAW_MAXTRIANGLES]; + unsigned char pixelmaskarray[DPSOFTRAST_DRAW_MAXSPANLENGTH+4]; // LordHavoc: padded to allow some termination bytes +-} +-DPSOFTRAST_State_Thread); ++}) ++DPSOFTRAST_State_Thread; + + typedef ALIGN(struct DPSOFTRAST_State_s + { +@@ -358,7 +358,7 @@ typedef ALIGN(struct DPSOFTRAST_State_s + + DPSOFTRAST_State_Command_Pool commandpool; + } +-DPSOFTRAST_State); ++) DPSOFTRAST_State; + + DPSOFTRAST_State dpsoftrast; + diff --git a/games-fps/darkplaces/metadata.xml b/games-fps/darkplaces/metadata.xml index f8d65d3d1216..9ccc2564b2fb 100644 --- a/games-fps/darkplaces/metadata.xml +++ b/games-fps/darkplaces/metadata.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="project"> <email>games@gentoo.org</email> @@ -11,4 +11,7 @@ <flag name="lights">Install and setup the updated light maps</flag> <flag name="textures">Install and setup the updated textures</flag> </use> + <upstream> + <remote-id type="github">DarkPlacesEngine/darkplaces</remote-id> + </upstream> </pkgmetadata> diff --git a/games-fps/doom-data-gog/Manifest b/games-fps/doom-data-gog/Manifest new file mode 100644 index 000000000000..bf463064281f --- /dev/null +++ b/games-fps/doom-data-gog/Manifest @@ -0,0 +1 @@ +DIST setup_the_ultimate_doom_1.9_(28044).exe 19165952 BLAKE2B e4455b247907eb125f5f38da9dddadc02595f252cfc0df5460407f7e8d5e978188e371368d9a98fec5507be0293fcb17069fb8cf552ab737ba443a45b7f71c71 SHA512 b04044e0bae290d018ee4f876508f80d45042705573f479ddf4cd26ed0c8cb37bf44a680ad79f56cce2e0450f60706cf4405c202a4db88e0d39be5889ed95b23 diff --git a/games-fps/doom-data-gog/doom-data-gog-1.9.ebuild b/games-fps/doom-data-gog/doom-data-gog-1.9.ebuild new file mode 100644 index 000000000000..2156a471e23a --- /dev/null +++ b/games-fps/doom-data-gog/doom-data-gog-1.9.ebuild @@ -0,0 +1,37 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="Data files for The Ultimate DOOM from gog.com" +HOMEPAGE="https://www.gog.com/en/game/the_ultimate_doom" +SRC_URI="setup_the_ultimate_doom_${PV}_(28044).exe" +LICENSE="GOG-EULA" +SLOT="0" +KEYWORDS="~amd64 ~arm ~m68k ~x86" +RESTRICT="bindist fetch" + +BDEPEND="app-arch/innoextract" + +S="${WORKDIR}" + +pkg_nofetch() { + einfo "Please buy and download ${SRC_URI} from:" + einfo " ${HOMEPAGE}" + einfo "and move it to your distfiles directory." +} + +src_install() { + innoextract --extract --lowercase \ + --include=/DOOM.WAD \ + --include=/Manual.pdf \ + --include=/Doom\ Bible.pdf \ + "${DISTDIR}/${A}" || die + + insinto /usr/share/doom + doins doom.wad + dosym doom.wad /usr/share/doom/udoom.wad + + dodoc manual.pdf + newdoc "doom bible.pdf" doom-bible.pdf +} diff --git a/games-fps/duke3d-demodata/metadata.xml b/games-fps/doom-data-gog/metadata.xml index 26079e608bed..88274e035679 100644 --- a/games-fps/duke3d-demodata/metadata.xml +++ b/games-fps/doom-data-gog/metadata.xml @@ -1,6 +1,10 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> + <maintainer type="person"> + <email>chewi@gentoo.org</email> + <name>James Le Cuirot</name> + </maintainer> <maintainer type="project"> <email>games@gentoo.org</email> <name>Gentoo Games Project</name> diff --git a/games-fps/doom-data/doom-data-1.9.ebuild b/games-fps/doom-data/doom-data-1.9.ebuild index b83f5c1f8e5b..e272c5dd08e5 100644 --- a/games-fps/doom-data/doom-data-1.9.ebuild +++ b/games-fps/doom-data/doom-data-1.9.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -9,7 +9,7 @@ SRC_URI="http://distro.ibiblio.org/pub/linux/distributions/slitaz/sources/packag LICENSE="freedist" SLOT="0" -KEYWORDS="~amd64 ~arm ~x86" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86" S="${DISTDIR}" diff --git a/games-fps/doom-data/metadata.xml b/games-fps/doom-data/metadata.xml index 4ec24fa26e96..1c2cadb08991 100644 --- a/games-fps/doom-data/metadata.xml +++ b/games-fps/doom-data/metadata.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <longdescription lang="en"> DOOM1.WAD is the IWAD used by the shareware version of Doom. It is a cut-down version of DOOM.WAD which contains only the first episode. Later on, "Doom 1" became a retronym for Doom after the release of Doom II. diff --git a/games-fps/doom2-data-gog/Manifest b/games-fps/doom2-data-gog/Manifest new file mode 100644 index 000000000000..268ae4869e6e --- /dev/null +++ b/games-fps/doom2-data-gog/Manifest @@ -0,0 +1 @@ +DIST setup_doom_ii_with_master_levels_1.9_(28044).exe 21288152 BLAKE2B f09df33a5fc7c6d0037d49663de0e515f30ce97a8acc3f7feadc2744eb5d1e5541372b1e00e8e3e1c4ab2ec7fc7d275b637002a3080f8792c85ebcc05e1113bf SHA512 e28bc4a76d85de70a198905e7ce76810d163d6b84c1d51a341fa35490eaa609d29fddbca17280f434847d3fce20b698cabeb561be587b165243f1da48273b7bc diff --git a/games-fps/doom2-data-gog/doom2-data-gog-1.9.ebuild b/games-fps/doom2-data-gog/doom2-data-gog-1.9.ebuild new file mode 100644 index 000000000000..dc0ca5749174 --- /dev/null +++ b/games-fps/doom2-data-gog/doom2-data-gog-1.9.ebuild @@ -0,0 +1,40 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="Data files for DOOM II and the Master Levels from gog.com" +HOMEPAGE="https://www.gog.com/en/game/doom_ii_final_doom" +SRC_URI="setup_doom_ii_with_master_levels_${PV}_(28044).exe" +LICENSE="GOG-EULA" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~m68k ~x86" +RESTRICT="bindist fetch" + +BDEPEND="app-arch/innoextract" + +S="${WORKDIR}" + +pkg_nofetch() { + einfo "Please buy and download ${SRC_URI} from:" + einfo " ${HOMEPAGE}" + einfo "and move it to your distfiles directory." +} + +src_install() { + innoextract --extract --lowercase \ + --include=/doom2/DOOM2.WAD \ + --include=/master/wads \ + --include=/Manual.pdf \ + "${DISTDIR}/${A}" || die + + insinto /usr/share/doom + doins doom2/doom2.wad + + insinto /usr/share/doom/master + doins master/wads/*.wad + + dodoc manual.pdf + docinto master + dodoc master/wads/*.txt +} diff --git a/games-fps/doom2-data-gog/metadata.xml b/games-fps/doom2-data-gog/metadata.xml new file mode 100644 index 000000000000..88274e035679 --- /dev/null +++ b/games-fps/doom2-data-gog/metadata.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>chewi@gentoo.org</email> + <name>James Le Cuirot</name> + </maintainer> + <maintainer type="project"> + <email>games@gentoo.org</email> + <name>Gentoo Games Project</name> + </maintainer> +</pkgmetadata> diff --git a/games-fps/doomsday/Manifest b/games-fps/doomsday/Manifest index 4726ace45e3f..861c3c165935 100644 --- a/games-fps/doomsday/Manifest +++ b/games-fps/doomsday/Manifest @@ -1 +1 @@ -DIST doomsday-2.1.1.tar.gz 47526008 BLAKE2B bf941048d160058273df09d67b09e140c10d141cd73ff56d0f3162045696d81533aba9a8c9ff39fc29530248ee8b2f6dd2b3da76a929fb6263c311e65bcbdd82 SHA512 9df0afa0465ef3c3bb30cccf8ca51596e8e6e5584775a695c9c3278f15bcf7e9f7aaeaa0917f0a1de9fbb1174f2ae83a1ee85fba63bef6e49be957836f1107a3 +DIST doomsday-2.3.1.tar.gz 47840812 BLAKE2B 5a45c9e0f781f0cc67367c703504568ee7f7cd0a96c57266ccf6bfbdf0d1e4ef838b2605b7dcecafe91f18d29c40ddbf9f6b5b0c049e94a95ce9fbbba4bddd1a SHA512 ca952fe0191529fe1192b16331d6c17d14e106f2366f5517177e51fdb50ea32baa2bf70d22bde5946101fac2926333fce6a8a317bc662df9f7662c5e023a669c diff --git a/games-fps/doomsday/doomsday-2.1.1-r1.ebuild b/games-fps/doomsday/doomsday-2.3.1.ebuild index eb08301295ed..26cd12c34b90 100644 --- a/games-fps/doomsday/doomsday-2.1.1-r1.ebuild +++ b/games-fps/doomsday/doomsday-2.3.1.ebuild @@ -1,19 +1,19 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 -PYTHON_COMPAT=( python3_{6,7} ) - -inherit cmake python-any-r1 readme.gentoo-r1 +PYTHON_COMPAT=( python3_{9..10} ) +inherit cmake flag-o-matic python-any-r1 qmake-utils readme.gentoo-r1 xdg DESCRIPTION="A modern gaming engine for Doom, Heretic, and Hexen" HOMEPAGE="https://www.dengine.net" SRC_URI="https://downloads.sourceforge.net/project/deng/Doomsday%20Engine/${PV}/${P}.tar.gz" + LICENSE="GPL-3+ LGPL-3+" SLOT="0" -KEYWORDS="~amd64 ~arm ~x86" -IUSE="demo fmod freedoom fluidsynth openal tools" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86" +IUSE="demo +display-mode freedoom fluidsynth openal tools" RDEPEND=" dev-qt/qtcore:5= @@ -22,17 +22,20 @@ RDEPEND=" dev-qt/qtopengl:5= dev-qt/qtwidgets:5= dev-qt/qtx11extras:5= - media-libs/assimp + media-libs/assimp:= net-misc/curl sys-libs/zlib - fmod? ( media-libs/fmod:1 ) + x11-libs/libX11 + display-mode? ( + x11-libs/libXrandr + x11-libs/libXxf86vm + ) fluidsynth? ( media-sound/fluidsynth:= ) openal? ( media-libs/openal ) tools? ( sys-libs/ncurses:0= ) " DEPEND="${RDEPEND}" -BDEPEND=" - ${PYTHON_DEPS} +BDEPEND="${PYTHON_DEPS} virtual/pkgconfig " PDEPEND=" @@ -52,11 +55,20 @@ src_prepare() { } src_configure() { - export QT_SELECT=qt5 + # -Werror=odr, -Werror=lto-type-mismatch + # https://bugs.gentoo.org/858743 + # + # Currently working on reporting an upstream bug. Four different websites + # including sourceforge and github but the only place for submitting bugs + # is a self-hosted redmine that has disabled registration. + filter-lto + local mycmakeargs=( - -DDENG_ASSIMP_EMBEDDED="OFF" - -DDENG_ENABLE_TOOLS="$(usex tools)" + -DDENG_ASSIMP_EMBEDDED=OFF + -DDENG_ENABLE_DISPLAYMODE=$(usex display-mode) + -DDENG_ENABLE_TOOLS=$(usex tools) -DPYTHON_EXECUTABLE="${PYTHON}" + -DQMAKE=$(qt5_get_bindir)/qmake ) cmake_src_configure } @@ -72,6 +84,7 @@ src_install() { } pkg_postinst() { + xdg_pkg_postinst readme.gentoo_print_elog if use tools; then diff --git a/games-fps/doomsday/metadata.xml b/games-fps/doomsday/metadata.xml index 0efa03a4eb6a..0b45508d1e96 100644 --- a/games-fps/doomsday/metadata.xml +++ b/games-fps/doomsday/metadata.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="project"> <email>games@gentoo.org</email> @@ -7,12 +7,14 @@ </maintainer> <use> <flag name="demo">Install launcher dor doom1.wad from <pkg>games-fps/doom-data</pkg></flag> + <flag name="display-mode">Include the ability to set the display mode</flag> <flag name="fluidsynth">Build the FluidSynth sound driver</flag> - <flag name="fmod">Enable support for fmod music and sound effects lib</flag> <flag name="freedoom">Install launcher for doom1.wad from <pkg>games-fps/freedoom</pkg></flag> <flag name="tools">Build additional tools such as doomsday-shell, md2tool and texc</flag> </use> <upstream> <remote-id type="sourceforge">deng</remote-id> + <remote-id type="github">skyjake/Doomsday-Engine</remote-id> + <bugs-to>https://tracker.dengine.net/projects/deng</bugs-to> </upstream> </pkgmetadata> diff --git a/games-fps/duke3d-data/Manifest b/games-fps/duke3d-data/Manifest index af0c417af3be..872c196b3459 100644 --- a/games-fps/duke3d-data/Manifest +++ b/games-fps/duke3d-data/Manifest @@ -1 +1,2 @@ +DIST 3dduke13.zip 5924374 BLAKE2B 177329f04defdd2a2ab35a1926a321bbc8de023878ad6bec610669b5578cbe2f38bc0b03a37c0d0d2dcc99acf2b473ddf683b498b971b857b20964bcdbc7d7c8 SHA512 eb92daa88b4e7cfeebe1fb3d2c021e0a4a66262d0d6e76b5e27fe3cedd382e381d23b392a6d9adb42a418b9318e011c2d8adfbdc77d7c5371e61d8c091c7eb65 DIST gog_duke_nukem_3d_atomic_edition_2.0.0.9.sh 31969896 BLAKE2B 7e93515f8aedaedf6f0dc90faf5e7fef165c000414ae9dc62bad77c78568ecdec1f16b72befe1c80c7c9c8c4bd7fb11f2fd3c36f53aa9ef9d787f8b7215228f3 SHA512 d06f20bc1334172b80e4a75bd3321c3835cd95ac823836899fda8d5f8667ac83471b04a5863646aa953a39fd1cb64eb1818ee668340ede62d0a356ebdcb4065c diff --git a/games-fps/duke3d-data/duke3d-data-1.0-r4.ebuild b/games-fps/duke3d-data/duke3d-data-1.0-r4.ebuild deleted file mode 100644 index a367bad4e4be..000000000000 --- a/games-fps/duke3d-data/duke3d-data-1.0-r4.ebuild +++ /dev/null @@ -1,75 +0,0 @@ -# Copyright 1999-2018 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=5 - -CDROM_OPTIONAL="yes" -inherit eutils cdrom unpacker - -GOG_FILE="gog_duke_nukem_3d_atomic_edition_2.0.0.9.sh" -DESCRIPTION="Duke Nukem 3D data files" -HOMEPAGE="http://www.3drealms.com/" -SRC_URI="gog? ( ${GOG_FILE} )" - -LICENSE="DUKE3D gog? ( GOG-EULA )" -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="gog" -REQUIRED_USE="^^ ( cdinstall gog )" -RESTRICT="mirror bindist gog? ( fetch )" - -RDEPEND="games-fps/eduke32" -DEPEND="gog? ( app-arch/unzip )" - -S=${WORKDIR} - -pkg_nofetch() { - einfo "Please download ${GOG_FILE} from your GOG.com account after buying Duke Nukem 3d" - einfo "and put it into your DISTDIR directory." -} - -src_unpack() { - if use cdinstall ; then - export CDROM_NAME_SET=( - "Existing Install" - "Duke Nukem 3D CD" - "Duke Nukem 3D Atomic Edition CD" - ) - cdrom_get_cds duke3d.grp:dvd/dn3dinst/duke3d.grp:atominst/duke3d.grp - - if [[ ${CDROM_SET} -ne 0 - && ${CDROM_SET} -ne 1 - && ${CDROM_SET} -ne 2 ]] - then - die "Error locating data files."; - fi - else - unpack_zip "${DISTDIR}"/${GOG_FILE} - cd data/noarch/data || die - - # convert to lowercase - find . -type f \ - -execdir sh -c 'echo "converting ${1} to lowercase" - lower="`echo "${1}" | tr [:upper:] [:lower:]`" - [ "${1}" = "${lower}" ] || mv "${1}" "${lower}"' - {} \; - fi -} - -src_install() { - local DATAROOT - - insinto /usr/share/duke3d - - if use cdinstall ; then - case ${CDROM_SET} in - 0) DATAROOT="" ;; - 1) DATAROOT="dn3dinst/" ;; - 2) DATAROOT="atominst/" ;; - esac - - # avoid double slash - doins "${CDROM_ROOT}"/${DATAROOT}{duke3d.grp,duke.rts,game.con,user.con,demo?.dmo,defs.con} - else - doins data/noarch/data/{duke3d.grp,duke.rts,game.con,user.con,demo?.dmo,defs.con} - fi -} diff --git a/games-fps/duke3d-data/duke3d-data-1.0-r5.ebuild b/games-fps/duke3d-data/duke3d-data-1.0-r5.ebuild new file mode 100644 index 000000000000..3f20abbff21c --- /dev/null +++ b/games-fps/duke3d-data/duke3d-data-1.0-r5.ebuild @@ -0,0 +1,111 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +CDROM_OPTIONAL="yes" +MY_PN_DEMO="3dduke" +MY_PN_GOG="gog_duke_nukem_3d_atomic_edition" +MY_PV_DEMO="13" +MY_PV_GOG="2.0.0.9" +MY_P_DEMO="${MY_PN_DEMO}${MY_PV_DEMO}" +MY_P_GOG="${MY_PN_GOG}_${MY_PV_GOG}" + +inherit cdrom + +DESCRIPTION="Duke Nukem 3D (Atomic Edition) data files" +HOMEPAGE="https://www.3drealms.com/" +SRC_URI=" + demo? ( "ftp://ftp.3drealms.com/share/${MY_P_DEMO}.zip" ) + gog? ( "${MY_P_GOG}.sh" ) +" +S="${WORKDIR}" + +LICENSE="DUKE3D gog? ( GOG-EULA )" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86" +IUSE="+demo gog" +REQUIRED_USE="^^ ( cdinstall demo gog )" +RESTRICT="bindist gog? ( fetch ) mirror" + +BDEPEND=" + demo? ( app-arch/unzip ) + gog? ( app-arch/unzip ) +" + +pkg_nofetch() { + if use gog; then + einfo "Please download ${MY_P_GOG}.sh from your GOG.com account after" + einfo "buying Duke Nukem 3D and place it into your DISTDIR directory." + fi +} + +src_unpack() { + if use cdinstall ; then + local CDROM_NAMES=( + "Existing installation" + "Duke Nukem 3D CD" + "Duke Nukem 3D Atomic Edition CD" + ) + + cdrom_get_cds duke3d.grp:dn3dinst/duke3d.grp:atominst/duke3d.grp + + ! [[ "${CDROM_SET}" -ge 0 && "${CDROM_SET}" -le 2 ]] && die "Could not locate data files." + fi + + if use demo; then + # Use '-LL' to extract everything in lowercase. + unzip "${DISTDIR}/${MY_P_DEMO}.zip" || die + unzip -LL "DN3DSW${MY_PV_DEMO}.SHR" || die + fi + + if use gog; then + # Since 'unpacker' eclass does not support options, + # doing manual unpack and checking for return code, + # as all non-fatal errors should be ignored, because + # it's a self-extracting archive and will fail otherwise. + # Also use '-LL' to extract everything in lowercase. + unzip -LL "${DISTDIR}/${MY_P_GOG}.sh" + [[ $? -le 1 ]] || die + fi +} + +src_install() { + if use cdinstall; then + local DATAROOT + + case ${CDROM_SET} in + 0) DATAROOT="" ;; + 1) DATAROOT="dn3dinst" ;; + 2) DATAROOT="atominst" ;; + esac + + pushd "${CDROM_ROOT}/${DATAROOT}" || die + fi + + if use gog; then + pushd "${S}/data/noarch/data" || die + fi + + insinto /usr/share/duke3d + for file in *.con *.dmo *.grp *.rts; do + newins "${file}" "${file,,}" + done + + if ! use demo; then + if use cdinstall && [[ "${CDROM_SET}" -ne 0 ]]; then + doins ../goodies/build/*.map + else + doins *.map + fi + + popd || die + fi +} + +pkg_postinst() { + if use demo; then + einfo "Please keep in mind, that many addons for Duke Nukem 3D will require" + einfo "the registered version and will not work with the shareware version." + fi +} diff --git a/games-fps/duke3d-data/metadata.xml b/games-fps/duke3d-data/metadata.xml index bb71cbd28b6a..2f4a6d3f1957 100644 --- a/games-fps/duke3d-data/metadata.xml +++ b/games-fps/duke3d-data/metadata.xml @@ -1,11 +1,16 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> + <maintainer type="person"> + <email>conikost@gentoo.org</email> + <name>Conrad Kostecki</name> + </maintainer> <maintainer type="project"> <email>games@gentoo.org</email> <name>Gentoo Games Project</name> </maintainer> <use> - <flag name="gog">Extract the data from the GOG.com installer.</flag> + <flag name="demo">Extract data files from the shareware version.</flag> + <flag name="gog">Extract data files from the GOG.com version.</flag> </use> </pkgmetadata> diff --git a/games-fps/duke3d-demodata/Manifest b/games-fps/duke3d-demodata/Manifest deleted file mode 100644 index f92f7a8b1707..000000000000 --- a/games-fps/duke3d-demodata/Manifest +++ /dev/null @@ -1 +0,0 @@ -DIST 3dduke13.zip 5924374 BLAKE2B 177329f04defdd2a2ab35a1926a321bbc8de023878ad6bec610669b5578cbe2f38bc0b03a37c0d0d2dcc99acf2b473ddf683b498b971b857b20964bcdbc7d7c8 SHA512 eb92daa88b4e7cfeebe1fb3d2c021e0a4a66262d0d6e76b5e27fe3cedd382e381d23b392a6d9adb42a418b9318e011c2d8adfbdc77d7c5371e61d8c091c7eb65 diff --git a/games-fps/duke3d-demodata/duke3d-demodata-1.3.ebuild b/games-fps/duke3d-demodata/duke3d-demodata-1.3.ebuild deleted file mode 100644 index dbe45f7cb3f2..000000000000 --- a/games-fps/duke3d-demodata/duke3d-demodata-1.3.ebuild +++ /dev/null @@ -1,50 +0,0 @@ -# Copyright 1999-2014 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=5 - -inherit games - -DESCRIPTION="Duke Nukem 3D 1.3d shareware data" -HOMEPAGE="http://www.3drealms.com/duke3d/" -SRC_URI="ftp://ftp.3drealms.com/share/3dduke13.zip" - -LICENSE="DUKE3D" -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="" - -DEPEND="app-arch/unzip" -RDEPEND="games-fps/eduke32" - -S=${WORKDIR} - -src_unpack() { - default - rm LICENSE.TXT || die - mv DN3DSW13.SHR DN3DSW13.SHR.zip || die - unpack ./DN3DSW13.SHR.zip -} - -src_install() { - insinto "${GAMES_DATADIR}"/duke3d - - # convert to lowercase - find . \( -iname "*.CON" -o -iname "*.DMO" -o -iname "*.RTS" -o -iname "*.GRP" -o -iname "*.PCK" -o -iname "*.INI" \) \ - -exec sh -c 'echo "${1}" - mv "${1}" "$(echo "${1}" | tr [:upper:] [:lower:])"' - {} \; - - doins {defs,game,user}.con demo{1,2,3}.dmo duke.rts duke3d.grp modem.pck ultramid.ini - - dodoc FILE_ID.DIZ README.DOC - - prepgamesdirs -} - -pkg_postinst() { - games_pkg_postinst - echo - einfo "Please note that many addons for Duke Nukem 3D require the registered version" - einfo "and will not work with this shareware version." - echo -} diff --git a/games-fps/eduke32/Manifest b/games-fps/eduke32/Manifest index 717c7f433f81..a13f59b9c6b3 100644 --- a/games-fps/eduke32/Manifest +++ b/games-fps/eduke32/Manifest @@ -5,4 +5,4 @@ DIST duke3d_psx-1.11.zip 7636016 BLAKE2B 63094c0eb2343e443f98844675ddc23a138d87c DIST duke3d_voxels-1.21.zip 2997999 BLAKE2B dcb3103a82b45cfcf906d00147a57fe47997680ff7550973ed9741e62e78f9a099c1a13f65eaa133076d6551fcdfbf34e28ff59f2ad59f91ece98753e7d39523 SHA512 4b55dcc192cb2aa8830250fd222664272176bea8f6c6e4ac6d488abfecb1332b5793986c164fde78901904e2bde37e6ee4aa020c5eb578002de8f6102f44df15 DIST duke3d_xxx-1.33.zip 26586453 BLAKE2B 7e3c46172d3db1b2eb49eb07f243a9ead4f260d6b1dcae9f8bd599b8e9ba3a19068032afeb4ec2cf61742b6216e3a06c24f2b7e8903f9636f9d00f4d57ada47f SHA512 4783d159610fc178e748446b7a5f9c13d90e1aca3cef34deb82e99655b7f4a254f1130e16dbcfad9013b95bc07161d5c5dccfcc552fbb7a88404b4b9cedbadbf DIST eduke32_classic.png 5129 BLAKE2B 332ad44b7f6b4f51362387aa6870e7db54423ca5a1f0586cb5019322fb72317d8e88e0bbf46ac89b56290db7e2e4a8442179a6eb87a615fd741b5f00ce96a1c8 SHA512 b41dece8f1ddcadde3367a83f6029ffdc5805811b40380e270169684fb3b368258bd8caeb55623dadffb6fb9d72faf9a3d75907722623f4fac94a4347f8ce833 -DIST eduke32_src_20200808-9208-16a4d06be.tar.xz 19787360 BLAKE2B 3344a660fd5dec951e27e74a0680ba506692991c96438af53901bd5c090ca4c14be90db37ad4cc454c7f0dc2b7628a9bb9abce4e55c4dd9713a1fe90af28c53d SHA512 0b88ed5a0c3a5134aaabe9c30eb2d9a2a17c4833388788c4e1d3bf6bc76aa0edb3b6189c503f614894d480d25a27d498df11fb13ea64c465253a9b564c43b78c +DIST eduke32_src_20240316-10564-0bc78c53d.tar.xz 19232976 BLAKE2B 321183f3c41edcdcff1b72b91974e1a338eabaa42a7b34abff562b2f22c69fcd3cb5bacef9a5776328d6c66dba7267cd94b4c57ad642c29a23d20039bc0702d7 SHA512 111a86be4a516638b2e54883cc4af1a99346cdd410acaecc3ab5feed25a5799c8531b64a56f10e10efc987611801c1c807fd6161098f9e36674071d4cdaf648b diff --git a/games-fps/eduke32/eduke32-20200808.9208.ebuild b/games-fps/eduke32/eduke32-20240316.10564.ebuild index e1fadcfdc493..b4ffbd52df70 100644 --- a/games-fps/eduke32/eduke32-20200808.9208.ebuild +++ b/games-fps/eduke32/eduke32-20240316.10564.ebuild @@ -1,11 +1,11 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 inherit desktop toolchain-funcs xdg-utils -EGIT_COMMIT="16a4d06be" +EGIT_COMMIT="0bc78c53d" MY_BUILD="$(ver_cut 2)" MY_DATE="$(ver_cut 1)" MY_PV_HRP="5.4" @@ -18,8 +18,8 @@ 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=" - https://dukeworld.com/eduke32/synthesis/latest/${PN}_src_${MY_DATE}-${MY_BUILD}-${EGIT_COMMIT}.tar.xz - https://www.eduke32.com/images/eduke32_classic.png + http://dukeworld.com/eduke32/synthesis/${MY_DATE}-${MY_BUILD}-${EGIT_COMMIT}/${PN}_src_${MY_DATE}-${MY_BUILD}-${EGIT_COMMIT}.tar.xz + http://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 ) @@ -27,22 +27,18 @@ SRC_URI=" 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 ~x86" -IUSE="cdinstall demo flac fluidsynth gtk hrp offensive opengl opl png psx sc-55 server sdk timidity tools vorbis voxels vpx xmp" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86" +IUSE="duke3d fluidsynth gtk hrp offensive opengl opl png psx sc-55 server sdk timidity tools voidsw voxels vpx xmp" REQUIRED_USE=" - cdinstall? ( !demo ) - demo? ( !cdinstall ) - hrp? ( ^^ ( demo cdinstall ) - !voxels ) - offensive? ( ^^ ( demo cdinstall ) ) - opl? ( ^^ ( demo cdinstall ) - !sc-55 ) - psx? ( ^^ ( demo cdinstall ) ) - sc-55? ( ^^ ( demo cdinstall ) - !opl ) + hrp? ( duke3d !voxels ) + offensive? ( duke3d ) + opl? ( duke3d !sc-55 ) + psx? ( duke3d ) + sc-55? ( duke3d !opl ) voxels? ( !hrp ) vpx? ( opengl ) " @@ -51,13 +47,13 @@ REQUIRED_USE=" # instead it tries to build a test game, which does not compile RESTRICT="bindist test" -S="${WORKDIR}/${PN}_${MY_DATE}-${MY_BUILD}-${EGIT_COMMIT}" - RDEPEND=" - media-libs/libsdl2[joystick,opengl?,sound,video] - media-libs/sdl2-mixer[flac?,fluidsynth?,midi,timidity?,vorbis?] + 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 - flac? ( media-libs/flac ) gtk? ( x11-libs/gtk+:2 ) opengl? ( virtual/glu @@ -65,17 +61,11 @@ RDEPEND=" ) png? ( media-libs/libpng:0= ) vpx? ( media-libs/libvpx:= ) - vorbis? ( - media-libs/libogg - media-libs/libvorbis - ) xmp? ( media-libs/exempi:2= ) " DEPEND=" ${RDEPEND} - cdinstall? ( games-fps/duke3d-data ) - demo? ( games-fps/duke3d-demodata ) timidity? ( media-sound/timidity++ ) " @@ -84,10 +74,12 @@ BDEPEND=" x86? ( dev-lang/nasm ) " +PDEPEND="duke3d? ( games-fps/duke3d-data )" + PATCHES=( - "${FILESDIR}/${PN}-20190820.8043-log-to-tmpdir.patch" - "${FILESDIR}/${PN}-20190820.8043-search-duke3d-path.patch" "${FILESDIR}/${PN}-20200505.8904-gcc10.patch" + "${FILESDIR}/${PN}-20220204.9957-log-to-tmpdir.patch" + "${FILESDIR}/${PN}-20230926.10459-search-duke3d-path.patch" ) src_unpack() { @@ -116,18 +108,17 @@ src_unpack() { src_compile() { local myemakeopts=( ALLOCACHE_AS_MALLOC=0 - AS=$(tc-getAS) - CC=$(tc-getCC) - CXX=$(tc-getCXX) + AS="$(tc-getAS)" + CC="$(tc-getCC)" + CXX="$(tc-getCXX)" CLANG=0 CPLUSPLUS=1 CUSTOMOPT="" DEBUGANYWAY=0 F_JUMP_TABLES="" FORCEDEBUG=0 - HAVE_FLAC=$(usex flac 1 0) + HAVE_FLAC=1 HAVE_GTK2=$(usex gtk 1 0) - HAVE_VORBIS=$(usex vorbis 1 0) HAVE_XMP=$(usex xmp 1 0) LINKED_GTK=$(usex gtk 1 0) LTO=1 @@ -148,7 +139,7 @@ src_compile() { SDL_TARGET=2 SIMPLE_MENU=0 STRIP="" - TANDALONE=0 + STANDALONE=0 STARTUP_WINDOW=$(usex gtk 1 0) USE_OPENGL=$(usex opengl 1 0) USE_LIBVPX=$(usex vpx 1 0) @@ -159,13 +150,13 @@ src_compile() { emake "${myemakeopts[@]}" - if use tools; then - emake utils "${myemakeopts[@]}" - fi + 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=( @@ -206,6 +197,7 @@ src_install() { 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 ) diff --git a/games-fps/eduke32/files/eduke32-20190820.8043-log-to-tmpdir.patch b/games-fps/eduke32/files/eduke32-20190820.8043-log-to-tmpdir.patch deleted file mode 100644 index 24cec1b00af1..000000000000 --- a/games-fps/eduke32/files/eduke32-20190820.8043-log-to-tmpdir.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/source/duke3d/src/game.cpp 2018-05-08 19:32:19.000000000 +0200 -+++ b/source/duke3d/src/game.cpp 2018-05-10 23:46:21.540213019 +0200 -@@ -6234,7 +6234,7 @@ - } - else - #endif -- OSD_SetLogFile(APPBASENAME ".log"); -+ OSD_SetLogFile("/tmp/" APPBASENAME ".log"); - - OSD_SetFunctions(GAME_drawosdchar, - GAME_drawosdstr, diff --git a/games-fps/eduke32/files/eduke32-20190820.8043-search-duke3d-path.patch b/games-fps/eduke32/files/eduke32-20190820.8043-search-duke3d-path.patch deleted file mode 100644 index c35af40c749e..000000000000 --- a/games-fps/eduke32/files/eduke32-20190820.8043-search-duke3d-path.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/source/duke3d/src/common.cpp 2018-04-12 23:03:47.000000000 +0200 -+++ b/source/duke3d/src/common.cpp 2018-05-11 00:04:36.590712915 +0200 -@@ -794,6 +794,8 @@ - - addsearchpath("/usr/share/games/jfduke3d"); - addsearchpath("/usr/local/share/games/jfduke3d"); -+ addsearchpath("/usr/share/games/duke3d"); -+ addsearchpath("/usr/share/duke3d"); - addsearchpath("/usr/share/games/eduke32"); - addsearchpath("/usr/local/share/games/eduke32"); - #elif defined EDUKE32_OSX diff --git a/games-fps/eduke32/files/eduke32-20220204.9957-log-to-tmpdir.patch b/games-fps/eduke32/files/eduke32-20220204.9957-log-to-tmpdir.patch new file mode 100644 index 000000000000..5296f0ac71a9 --- /dev/null +++ b/games-fps/eduke32/files/eduke32-20220204.9957-log-to-tmpdir.patch @@ -0,0 +1,11 @@ +--- a/source/sw/src/game.cpp ++++ b/source/sw/src/game.cpp +@@ -3467,7 +3467,7 @@ + } + else + #endif +- OSD_SetLogFile(APPBASENAME ".log"); ++ OSD_SetLogFile("/tmp/" APPBASENAME ".log"); + + wm_setapptitle(APPNAME); + diff --git a/games-fps/eduke32/files/eduke32-20230926.10459-search-duke3d-path.patch b/games-fps/eduke32/files/eduke32-20230926.10459-search-duke3d-path.patch new file mode 100644 index 000000000000..0bb66794b401 --- /dev/null +++ b/games-fps/eduke32/files/eduke32-20230926.10459-search-duke3d-path.patch @@ -0,0 +1,11 @@ +--- a/source/duke3d/src/common.cpp ++++ b/source/duke3d/src/common.cpp +@@ -642,6 +642,8 @@ + + addsearchpath("/usr/share/games/jfduke3d"); + addsearchpath("/usr/local/share/games/jfduke3d"); ++ addsearchpath("/usr/share/games/duke3d"); ++ addsearchpath("/usr/share/duke3d"); + addsearchpath("/usr/share/games/" APPBASENAME); + addsearchpath("/usr/local/share/games/" APPBASENAME); + addsearchpath("/app/extensions/extra"); diff --git a/games-fps/eduke32/files/voidsw-bin b/games-fps/eduke32/files/voidsw-bin new file mode 100644 index 000000000000..5d572204848d --- /dev/null +++ b/games-fps/eduke32/files/voidsw-bin @@ -0,0 +1,12 @@ +#!/bin/sh + +# Get all installed zip files +zips=$(ls /usr/share/games/eduke32/*.zip) + +# Create opts for voidsw +for zip in ${zips[@]}; do + opts+="-g ${zip} " +done + +# Switch to /tmp, for writing there the log file and run voidsw with set opts +cd /tmp && voidsw ${opts} diff --git a/games-fps/eduke32/metadata.xml b/games-fps/eduke32/metadata.xml index 0ce346f0721f..970fd2d68d82 100644 --- a/games-fps/eduke32/metadata.xml +++ b/games-fps/eduke32/metadata.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="person"> <email>conikost@gentoo.org</email> @@ -15,7 +15,7 @@ for short to Windows, Linux, Mac OS X, FreeBSD and several handhelds. </longdescription> <use> - <flag name="demo">Install the Duke Nukem 3D demo files, provided by <pkg>games-fps/duke3d-demodata</pkg>.</flag> + <flag name="duke3d">Install the Duke Nukem 3D data files, provided by <pkg>games-fps/duke3d-data</pkg>.</flag> <flag name="fluidsynth">Install <pkg>media-libs/sdl2-mixer</pkg> with fluidsynth support.</flag> <flag name="hrp">Install the Duke Nukem 3D High Resolution Pack.</flag> <flag name="offensive">Install the Duke Nukem 3D XXX Pack.</flag> @@ -25,6 +25,7 @@ <flag name="server">Enable support for multiplayer.</flag> <flag name="sdk">Install the SDK files.</flag> <flag name="tools">Install the support tools for mapster32.</flag> + <flag name="voidsw">Enable support for Shadow Warrior (Classic) through VoidSW.</flag> <flag name="voxels">Install the Duke Nukem 3D Voxels Pack.</flag> <flag name="vpx">Enable support for <pkg>media-libs/libvpx</pkg>.</flag> <flag name="xmp">Enable support for <pkg>media-libs/exempi</pkg>.</flag> diff --git a/games-fps/etqw-bin/etqw-bin-1.5-r2.ebuild b/games-fps/etqw-bin/etqw-bin-1.5-r4.ebuild index 75458580db7e..f2cb2e988b1d 100644 --- a/games-fps/etqw-bin/etqw-bin-1.5-r2.ebuild +++ b/games-fps/etqw-bin/etqw-bin-1.5-r4.ebuild @@ -1,12 +1,14 @@ -# Copyright 1999-2019 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=5 -inherit eutils games +EAPI=7 + +inherit desktop wrapper DESCRIPTION="Enemy Territory: Quake Wars" -HOMEPAGE="http://zerowing.idsoftware.com/linux/etqw/ETQWFrontPage/" +HOMEPAGE="https://zerowing.idsoftware.com/linux/etqw/ETQWFrontPage/index.html" SRC_URI="http://ftp.jeuxlinux.fr/files/ETQW-client-${PV}-full.x86.run" +S="${WORKDIR}"/data LICENSE="ETQW" SLOT="0" @@ -14,57 +16,57 @@ KEYWORDS="-* ~amd64 ~x86" IUSE="cdinstall" RESTRICT="bindist mirror strip" -DEPEND="app-arch/unzip" -RDEPEND="sys-libs/glibc - amd64? ( sys-libs/glibc[multilib] ) - >=sys-libs/zlib-1.2.8-r1[abi_x86_32(-)] - virtual/jpeg-compat:62[abi_x86_32(-)] +RDEPEND=" >=media-libs/libsdl-1.2.15-r4[video,sound,opengl,abi_x86_32(-)] >=media-libs/alsa-lib-1.0.27.2[abi_x86_32(-)] + sys-libs/glibc + >=sys-libs/zlib-1.2.8-r1[abi_x86_32(-)] >=x11-libs/libX11-1.6.2[abi_x86_32(-)] >=x11-libs/libXext-1.3.2[abi_x86_32(-)] - cdinstall? ( games-fps/etqw-data )" + virtual/jpeg-compat:62[abi_x86_32(-)] + amd64? ( sys-libs/glibc[multilib] ) + cdinstall? ( games-fps/etqw-data ) +" +BDEPEND="app-arch/unzip" -S=${WORKDIR}/data -dir=${GAMES_PREFIX_OPT}/etqw +MY_DIR=/opt/etqw -QA_PREBUILT="${dir:1}/*.x86 - ${dir:1}/*.so*" +QA_PREBUILT=" + ${MY_DIR#/}/*.x86 + ${MY_DIR#/}/*.so* +" src_unpack() { tail -c +194885 "${DISTDIR}"/${A} > ${A}.zip unpack ./${A}.zip - rm -f ${A}.zip + rm -f ${A}.zip || die } src_install() { - insinto "${dir}" + insinto ${MY_DIR} doins -r base pb *.png dodoc *.txt - exeinto "${dir}" + exeinto ${MY_DIR} doexe etqw{,ded,-rthread}.x86 openurl.sh libCgx86.so libSDL*.id.so* newicon etqw_icon.png etqw.png - games_make_wrapper etqw ./etqw.x86 "${dir}" "${dir}" + make_wrapper etqw ./etqw.x86 "${MY_DIR}" "${MY_DIR}" make_desktop_entry etqw "Enemy Territory: Quake Wars" etqw - games_make_wrapper etqw-dedicated ./etqwded.x86 "${dir}" "${dir}" + make_wrapper etqw-dedicated ./etqwded.x86 "${MY_DIR}" "${MY_DIR}" make_desktop_entry etqw-dedicated "Enemy Territory: Quake Wars (dedicated server)" etqw - games_make_wrapper etqw-rthread ./etqw-rthread.x86 "${dir}" "${dir}" + make_wrapper etqw-rthread ./etqw-rthread.x86 "${MY_DIR}" "${MY_DIR}" make_desktop_entry etqw-rthread "Enemy Territory: Quake Wars (SMP)" etqw - - prepgamesdirs } pkg_postinst() { - games_pkg_postinst - if ! use cdinstall ; then elog "You need to copy pak00*.pk4, zpak_*.pk4 and the megatextures" - elog "directory to ${dir}/base before running the game." + elog "directory to ${MY_DIR}/base before running the game." fi + elog "To change the game language from English, add" elog "seta sys_lang \"your_language\" to your autoexec.cfg file." elog "Menu fonts may not show up until you do so." diff --git a/games-fps/etqw-bin/metadata.xml b/games-fps/etqw-bin/metadata.xml index 3c186688e265..9de68a7b7983 100644 --- a/games-fps/etqw-bin/metadata.xml +++ b/games-fps/etqw-bin/metadata.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="project"> <email>games@gentoo.org</email> diff --git a/games-fps/etqw-data/etqw-data-1.0-r1.ebuild b/games-fps/etqw-data/etqw-data-1.0-r1.ebuild index 4daa9a4603a1..16aca76db81a 100644 --- a/games-fps/etqw-data/etqw-data-1.0-r1.ebuild +++ b/games-fps/etqw-data/etqw-data-1.0-r1.ebuild @@ -1,11 +1,11 @@ -# Copyright 1999-2019 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 inherit cdrom DESCRIPTION="Enemy Territory: Quake Wars data files" -HOMEPAGE="http://zerowing.idsoftware.com/linux/etqw/ETQWFrontPage/" +HOMEPAGE="https://zerowing.idsoftware.com/linux/etqw/ETQWFrontPage/index.html" SRC_URI="" LICENSE="ETQW" diff --git a/games-fps/etqw-data/metadata.xml b/games-fps/etqw-data/metadata.xml index 3c186688e265..9de68a7b7983 100644 --- a/games-fps/etqw-data/metadata.xml +++ b/games-fps/etqw-data/metadata.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="project"> <email>games@gentoo.org</email> diff --git a/games-fps/etqw-demo/etqw-demo-2.0_p1-r2.ebuild b/games-fps/etqw-demo/etqw-demo-2.0_p1-r4.ebuild index 862cea3fb0da..a5b05126980f 100644 --- a/games-fps/etqw-demo/etqw-demo-2.0_p1-r2.ebuild +++ b/games-fps/etqw-demo/etqw-demo-2.0_p1-r4.ebuild @@ -1,37 +1,43 @@ -# Copyright 1999-2019 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=5 -inherit unpacker eutils versionator games +EAPI=7 -MY_MAJOR=$(get_major_version) -MY_REV=$(get_version_component_range 3) +inherit desktop unpacker wrapper + +MY_MAJOR=$(ver_cut 1) +MY_REV=$(ver_cut 3-) MY_BODY="ETQW-demo${MY_MAJOR}-client-full.r${MY_REV/p/}.x86" DESCRIPTION="Enemy Territory: Quake Wars demo" -HOMEPAGE="http://zerowing.idsoftware.com/linux/etqw/" +HOMEPAGE="https://zerowing.idsoftware.com/linux/etqw/ETQWFrontPage/index.html" SRC_URI="mirror://idsoftware/etqw/${MY_BODY}.run" +S="${WORKDIR}" # See copyrights.txt LICENSE="ETQW" SLOT="0" KEYWORDS="~amd64 ~x86" -IUSE="" RESTRICT="bindist strip mirror" -DEPEND="app-arch/unzip" -RDEPEND=">=sys-libs/zlib-1.2.8-r1[abi_x86_32(-)] - virtual/jpeg-compat:62[abi_x86_32(-)] +RDEPEND=" >=media-libs/libsdl-1.2.15-r4[video,sound,opengl,abi_x86_32(-)] + sys-libs/ncurses-compat[abi_x86_32(-)] + >=sys-libs/zlib-1.2.8-r1[abi_x86_32(-)] + virtual/jpeg-compat:62[abi_x86_32(-)] >=x11-libs/libX11-1.6.2[abi_x86_32(-)] - >=x11-libs/libXext-1.3.2[abi_x86_32(-)]" + >=x11-libs/libXext-1.3.2[abi_x86_32(-)] +" -S=${WORKDIR} -dir=${GAMES_PREFIX_OPT}/${PN} +BDEPEND="app-arch/unzip" -QA_PREBUILT="${dir:1}/guis/libmojosetupgui_ncurses.so - ${dir:1}/data/* - ${dir:1}/data/pb/*.so" +dir=/opt/${PN} + +QA_PREBUILT=" + ${dir#/}/guis/libmojosetupgui_ncurses.so + ${dir#/}/data/* + ${dir#/}/data/pb/*.so +" src_unpack() { # exit status of 1 should just be warnings, not corrupt archive @@ -42,7 +48,7 @@ src_install() { insinto "${dir}" doins -r guis scripts - cd data + cd data || die insinto "${dir}"/data doins -r base pb etqw_icon.png dodoc README.txt EULA.txt copyrights.txt etqwtv.txt @@ -50,11 +56,9 @@ src_install() { exeinto "${dir}"/data doexe etqw *\.x86 etqw-* libCgx86* libSDL* *.sh - games_make_wrapper ${PN} ./etqw.x86 "${dir}"/data "${dir}"/data + make_wrapper ${PN} ./etqw.x86 "${dir}"/data "${dir}"/data # Matches with desktop entry for enemy-territory-truecombat make_desktop_entry ${PN} "Enemy Territory - Quake Wars (Demo)" - games_make_wrapper ${PN}-ded ./etqwded.x86 "${dir}"/data "${dir}"/data - - prepgamesdirs + make_wrapper ${PN}-ded ./etqwded.x86 "${dir}"/data "${dir}"/data } diff --git a/games-fps/etqw-demo/metadata.xml b/games-fps/etqw-demo/metadata.xml index 78274e0fa550..1c3ba213c494 100644 --- a/games-fps/etqw-demo/metadata.xml +++ b/games-fps/etqw-demo/metadata.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="project"> <email>games@gentoo.org</email> diff --git a/games-fps/ezquake-bin/ezquake-bin-2.2-r3.ebuild b/games-fps/ezquake-bin/ezquake-bin-2.2-r3.ebuild new file mode 100644 index 000000000000..c3e055e100fd --- /dev/null +++ b/games-fps/ezquake-bin/ezquake-bin-2.2-r3.ebuild @@ -0,0 +1,72 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit wrapper + +MY_FULL_PV=1.9.3 +MY_PN="${PN/-bin/}" +DESCRIPTION="Quakeworld client with mqwcl functionality and many more features" +HOMEPAGE="https://ezquake.sourceforge.net/" +SRC_URI=" + amd64? ( https://downloads.sourceforge.net/${MY_PN}/${MY_PN}_linux-x86_64.${MY_FULL_PV}.tar.gz + https://downloads.sourceforge.net/${MY_PN}/${MY_PN}_linux64_${PV}.tar.gz ) + x86? ( https://downloads.sourceforge.net/${MY_PN}/${MY_PN}_linux-x86_${MY_FULL_PV}.tar.gz + https://downloads.sourceforge.net/${MY_PN}/${MY_PN}_linux32_${PV}.tar.gz ) +" +S="${WORKDIR}"/${MY_PN} + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="-* ~amd64 ~x86" +IUSE="cdinstall" + +RESTRICT="strip mirror" + +DEPEND="cdinstall? ( games-fps/quake1-data )" +RDEPEND=" + ${DEPEND} + virtual/opengl + x11-libs/libXpm + x11-libs/libXxf86dga + x11-libs/libXxf86vm +" + +MY_DIR=/opt/${PN} +QA_PREBUILT="${MY_DIR#/}/ezquake*" + +src_unpack() { + unpack ${A} + + if use amd64; then + mv ${MY_PN}_linux-x86_64.${MY_FULL_PV} "${MY_PN}" || die + mv ezquake-gl_linux-x64.glx "${MY_PN}"/ezquake-gl.glx || die + else + mv ${MY_PN}_linux-x86.${MY_FULL_PV} "${MY_PN}" || die + mv ezquake-gl_linux-x86.glx "${MY_PN}"/ezquake-gl.glx || die + fi +} + +src_install() { + exeinto ${MY_DIR} + doexe ezquake-gl.glx + + insinto ${MY_DIR} + doins -r ezquake qw + dosym ../../usr/share/quake1/id1 ${MY_DIR}/id1 + make_wrapper ezquake-gl.glx ./ezquake-gl.glx "${MY_DIR}" "${MY_DIR}" +} + +pkg_postinst() { + if ! use cdinstall; then + elog "NOTE that this client doesn't include .pak files. You *should*" + elog "enable \"cdinstall\" flag or install quake1-demodata with the symlink use flag." + elog "You can also copy the files from your Quake1 CD to" + elog " ${MY_DIR}/quake1/id1 (all names lowercase)" + elog "" + elog "You may also want to check:" + elog " http://fuhquake.quakeworld.nu - complete howto on commands and variables" + elog " http://equake.quakeworld.nu - free package containing various files" + fi +} diff --git a/games-fps/ezquake-bin/ezquake-bin-2.2.ebuild b/games-fps/ezquake-bin/ezquake-bin-2.2.ebuild deleted file mode 100644 index 5e6fe5800999..000000000000 --- a/games-fps/ezquake-bin/ezquake-bin-2.2.ebuild +++ /dev/null @@ -1,71 +0,0 @@ -# Copyright 1999-2014 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=5 -inherit games - -MY_FULL_PV=1.9.3 -MY_PN="${PN/-bin/}" -DESCRIPTION="Quakeworld client with mqwcl functionality and many more features" -HOMEPAGE="http://ezquake.sf.net/" -SRC_URI=" - amd64? ( mirror://sourceforge/${MY_PN}/${MY_PN}_linux-x86_64.${MY_FULL_PV}.tar.gz - mirror://sourceforge/${MY_PN}/${MY_PN}_linux64_${PV}.tar.gz ) - x86? ( mirror://sourceforge/${MY_PN}/${MY_PN}_linux-x86_${MY_FULL_PV}.tar.gz - mirror://sourceforge/${MY_PN}/${MY_PN}_linux32_${PV}.tar.gz )" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~amd64 ~x86" -RESTRICT="strip mirror" -IUSE="cdinstall" - -DEPEND="cdinstall? ( games-fps/quake1-data )" -RDEPEND="${DEPEND} - virtual/opengl - x11-libs/libXxf86dga - x11-libs/libXxf86vm" - -S=${WORKDIR}/${MY_PN} - -dir=${GAMES_PREFIX_OPT}/${PN} - -QA_PREBUILT="${dir:1}/ezquake*" - -src_unpack() { - unpack ${A} - if use amd64; then - mv ${MY_PN}_linux-x86_64.${MY_FULL_PV} "${MY_PN}" - mv ezquake-gl_linux-x64.glx "${MY_PN}"/ezquake-gl.glx - else - mv ${MY_PN}_linux-x86.${MY_FULL_PV} "${MY_PN}" - mv ezquake-gl_linux-x86.glx "${MY_PN}"/ezquake-gl.glx - fi -} - -src_install() { - exeinto "${dir}" - insinto "${dir}" - - doexe ezquake-gl.glx - doins -r ezquake qw - dosym "${GAMES_DATADIR}"/quake1/id1 "${dir}"/id1 - games_make_wrapper ezquake-gl.glx ./ezquake-gl.glx "${dir}" "${dir}" - - prepgamesdirs -} - -pkg_postinst() { - games_pkg_postinst - - if ! use cdinstall; then - elog "NOTE that this client doesn't include .pak files. You *should*" - elog "enable \"cdinstall\" flag or install quake1-demodata with the symlink use flag." - elog "You can also copy the files from your Quake1 CD to" - elog " ${dir}/quake1/id1 (all names lowercase)" - elog "" - elog "You may also want to check:" - elog " http://fuhquake.quakeworld.nu - complete howto on commands and variables" - elog " http://equake.quakeworld.nu - free package containing various files" - fi -} diff --git a/games-fps/ezquake-bin/metadata.xml b/games-fps/ezquake-bin/metadata.xml index 8789378885ba..84ffb0e36eee 100644 --- a/games-fps/ezquake-bin/metadata.xml +++ b/games-fps/ezquake-bin/metadata.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="project"> <email>games@gentoo.org</email> diff --git a/games-fps/final-doom-data-gog/Manifest b/games-fps/final-doom-data-gog/Manifest new file mode 100644 index 000000000000..7794370ee76d --- /dev/null +++ b/games-fps/final-doom-data-gog/Manifest @@ -0,0 +1 @@ +DIST setup_final_doom_1.9_(28044).exe 28883648 BLAKE2B e5b8657011eca1b06e9b04a3cdc57cc731b0009d32dee4e375ac308f71f568f4cfed9e8f030b89d7fad46b98076ede762a5635e81317a668c1b1e9c4c0b0e14a SHA512 e4c454609f2c3f08be3b0064768a76ca171a44ea3c822ec632ceee3616e1d9d2df7b5dd0cb8730160184b862bfccba0ac1da05e32a8f90cf3dc2a7314b196e6d diff --git a/games-fps/final-doom-data-gog/final-doom-data-gog-1.9.ebuild b/games-fps/final-doom-data-gog/final-doom-data-gog-1.9.ebuild new file mode 100644 index 000000000000..8ff5f5a2491b --- /dev/null +++ b/games-fps/final-doom-data-gog/final-doom-data-gog-1.9.ebuild @@ -0,0 +1,35 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="Data files for Final DOOM from gog.com" +HOMEPAGE="https://www.gog.com/en/game/doom_ii_final_doom" +SRC_URI="setup_final_doom_${PV}_(28044).exe" +LICENSE="GOG-EULA" +SLOT="0" +KEYWORDS="~amd64 ~arm ~m68k ~x86" +RESTRICT="bindist fetch" + +BDEPEND="app-arch/innoextract" + +S="${WORKDIR}" + +pkg_nofetch() { + einfo "Please buy and download ${SRC_URI} from:" + einfo " ${HOMEPAGE}" + einfo "and move it to your distfiles directory." +} + +src_install() { + innoextract --extract --lowercase \ + --include=/Plutonia/PLUTONIA.WAD \ + --include=/TNT/TNT.WAD \ + --include=/Manual.pdf \ + "${DISTDIR}/${A}" || die + + insinto /usr/share/doom + doins plutonia/plutonia.wad tnt/tnt.wad + + dodoc manual.pdf +} diff --git a/games-fps/final-doom-data-gog/metadata.xml b/games-fps/final-doom-data-gog/metadata.xml new file mode 100644 index 000000000000..88274e035679 --- /dev/null +++ b/games-fps/final-doom-data-gog/metadata.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>chewi@gentoo.org</email> + <name>James Le Cuirot</name> + </maintainer> + <maintainer type="project"> + <email>games@gentoo.org</email> + <name>Gentoo Games Project</name> + </maintainer> +</pkgmetadata> diff --git a/games-fps/freedm-data/files/freedm-data-0.12.1-Python-PIL-10.0.0-support.patch b/games-fps/freedm-data/files/freedm-data-0.12.1-Python-PIL-10.0.0-support.patch new file mode 100644 index 000000000000..9cc65812de85 --- /dev/null +++ b/games-fps/freedm-data/files/freedm-data-0.12.1-Python-PIL-10.0.0-support.patch @@ -0,0 +1,43 @@ +https://bugs.gentoo.org/909540 +https://github.com/freedoom/freedoom/issues/1015 +https://github.com/freedoom/freedoom/pull/1027 + +From d64ddc6ea90406e21b4b93f5a1e7f99abfaac0d9 Mon Sep 17 00:00:00 2001 +From: Steven Elliott <selliott512@gmail.com> +Date: Sun, 16 Jul 2023 14:52:04 -0400 +Subject: [PATCH] create_caption: Python PIL 10.0.0 support (#1027) + +To support Python PIL 10.0.0 this change uses newer API textbbox() when +available, and older API textsize() when not. +--- + graphics/text/create_caption | 17 +++++++++++++++-- + 1 file changed, 15 insertions(+), 2 deletions(-) + +diff --git a/graphics/text/create_caption b/graphics/text/create_caption +index 7ddbd8d66..22bc0507d 100755 +--- a/graphics/text/create_caption ++++ b/graphics/text/create_caption +@@ -18,8 +18,21 @@ background_image.load() + background_image = background_image.convert("RGBA") + image = Image.new("RGBA", background_image.size, (0, 0, 0, 0)) + draw = ImageDraw.Draw(image) +-txt1_size = draw.textsize(txt1, font=font) +-txt2_size = draw.textsize(txt2, font=font) ++ ++# Getting the text size is tricky since for newer PIL, such as 10.0.0, only ++# textbbox() is supported, but for older PIL, such 7.2.0, only textsize() ++# is supported. The solution is to default to the newer API, but fallback to ++# the older one when it is not available. ++try: ++ # This newer API returns a four item tuple. The "xy" kwarg is returned in ++ # the first two items, and last two items is the size needed, but with "xy" ++ # added, so passing "(0, 0)" returns the size needed. ++ txt1_size = draw.textbbox(xy=(0, 0), text=txt1, font=font)[2:] ++ txt2_size = draw.textbbox(xy=(0, 0), text=txt2, font=font)[2:] ++except: ++ # This older API simply returns the size needed. ++ txt1_size = draw.textsize(txt1, font=font) ++ txt2_size = draw.textsize(txt2, font=font) + + draw.text( + (5, int(image.height - txt1_size[1] - 5)), diff --git a/games-fps/freedm-data/freedm-data-0.12.1.ebuild b/games-fps/freedm-data/freedm-data-0.12.1-r1.ebuild index ee96b6571c08..29b53f429e6a 100644 --- a/games-fps/freedm-data/freedm-data-0.12.1.ebuild +++ b/games-fps/freedm-data/freedm-data-0.12.1-r1.ebuild @@ -1,9 +1,9 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 -PYTHON_COMPAT=( python3_{6,7} ) +PYTHON_COMPAT=( python3_{9..11} ) inherit prefix python-any-r1 xdg @@ -13,24 +13,27 @@ SRC_URI="https://github.com/freedoom/freedoom/archive/v${PV}.tar.gz -> freedoom- LICENSE="BSD" SLOT="0" -KEYWORDS="~amd64 ~arm ~x86" +KEYWORDS="~amd64 ~arm ~arm64 ~x86" BDEPEND=" - $(python_gen_any_dep 'dev-python/pillow[${PYTHON_USEDEP}]') + $(python_gen_any_dep 'dev-python/pillow[${PYTHON_USEDEP},zlib]') app-text/asciidoc - games-util/deutex" + games-util/deutex[png]" + +PATCHES=( + "${FILESDIR}"/${PN}-0.12.1-Python-PIL-10.0.0-support.patch +) S="${WORKDIR}/freedoom-${PV}" DOOMWADPATH=share/doom python_check_deps() { - has_version -b "dev-python/pillow[${PYTHON_USEDEP}]" + has_version -b "dev-python/pillow[${PYTHON_USEDEP},zlib]" } src_prepare() { xdg_src_prepare - eapply_user hprefixify dist/freedoom } @@ -45,7 +48,7 @@ src_install() { emake install-freedm \ prefix="${ED}/usr/" \ bindir="bin/" \ - docdir="share/doc/${P}" \ + docdir="share/doc/${PF}" \ mandir="share/man/" \ waddir="${DOOMWADPATH}/" } diff --git a/games-fps/freedm-data/metadata.xml b/games-fps/freedm-data/metadata.xml index 5a1b13afef99..a9c261e3dc0b 100644 --- a/games-fps/freedm-data/metadata.xml +++ b/games-fps/freedm-data/metadata.xml @@ -1,5 +1,5 @@ -<?xml version='1.0' encoding='UTF-8'?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <longdescription lang="en"> FreeDM is a fast-paced competitive deathmatch game, part of the Freedoom @@ -16,14 +16,6 @@ powers Doom is free; Freedoom complements this with free levels, artwork, sound effects and music to make a completely free game. </longdescription> - <maintainer type="person"> - <email>vilhelm.gray@gmail.com</email> - <name>William Breathitt Gray</name> - </maintainer> - <maintainer type="project"> - <email>proxy-maint@gentoo.org</email> - <name>Proxy Maintainers</name> - </maintainer> <maintainer type="project"> <email>games@gentoo.org</email> <name>Gentoo Games Project</name> diff --git a/games-fps/freedm/freedm-0.12.1.ebuild b/games-fps/freedm/freedm-0.12.1.ebuild index 992811543c68..5736e33f77a3 100644 --- a/games-fps/freedm/freedm-0.12.1.ebuild +++ b/games-fps/freedm/freedm-0.12.1.ebuild @@ -1,20 +1,21 @@ -# Copyright 1999-2019 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 -DESCRIPTION="A 32-level game designed for competitive deathmatch play." +DESCRIPTION="A 32-level game designed for competitive deathmatch play" HOMEPAGE="https://freedoom.github.io" -LICENSE="BSD" +LICENSE="metapackage" SLOT="0" -KEYWORDS="~amd64 ~arm ~x86" +KEYWORDS="~amd64 ~arm ~arm64 ~x86" RDEPEND=" ~games-fps/freedm-data-${PV} || ( games-fps/gzdoom[nonfree(+)] games-engines/odamex + games-fps/chocolate-doom games-fps/doomsday games-fps/prboom-plus ) diff --git a/games-fps/freedm/metadata.xml b/games-fps/freedm/metadata.xml index 5a1b13afef99..a9c261e3dc0b 100644 --- a/games-fps/freedm/metadata.xml +++ b/games-fps/freedm/metadata.xml @@ -1,5 +1,5 @@ -<?xml version='1.0' encoding='UTF-8'?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <longdescription lang="en"> FreeDM is a fast-paced competitive deathmatch game, part of the Freedoom @@ -16,14 +16,6 @@ powers Doom is free; Freedoom complements this with free levels, artwork, sound effects and music to make a completely free game. </longdescription> - <maintainer type="person"> - <email>vilhelm.gray@gmail.com</email> - <name>William Breathitt Gray</name> - </maintainer> - <maintainer type="project"> - <email>proxy-maint@gentoo.org</email> - <name>Proxy Maintainers</name> - </maintainer> <maintainer type="project"> <email>games@gentoo.org</email> <name>Gentoo Games Project</name> diff --git a/games-fps/freedoom-data/files/freedoom-data-0.12.1-Python-PIL-10.0.0-support.patch b/games-fps/freedoom-data/files/freedoom-data-0.12.1-Python-PIL-10.0.0-support.patch new file mode 100644 index 000000000000..333bff6d2598 --- /dev/null +++ b/games-fps/freedoom-data/files/freedoom-data-0.12.1-Python-PIL-10.0.0-support.patch @@ -0,0 +1,43 @@ +https://bugs.gentoo.org/909548 +https://github.com/freedoom/freedoom/issues/1015 +https://github.com/freedoom/freedoom/pull/1027 + +From d64ddc6ea90406e21b4b93f5a1e7f99abfaac0d9 Mon Sep 17 00:00:00 2001 +From: Steven Elliott <selliott512@gmail.com> +Date: Sun, 16 Jul 2023 14:52:04 -0400 +Subject: [PATCH] create_caption: Python PIL 10.0.0 support (#1027) + +To support Python PIL 10.0.0 this change uses newer API textbbox() when +available, and older API textsize() when not. +--- + graphics/text/create_caption | 17 +++++++++++++++-- + 1 file changed, 15 insertions(+), 2 deletions(-) + +diff --git a/graphics/text/create_caption b/graphics/text/create_caption +index 7ddbd8d66..22bc0507d 100755 +--- a/graphics/text/create_caption ++++ b/graphics/text/create_caption +@@ -18,8 +18,21 @@ background_image.load() + background_image = background_image.convert("RGBA") + image = Image.new("RGBA", background_image.size, (0, 0, 0, 0)) + draw = ImageDraw.Draw(image) +-txt1_size = draw.textsize(txt1, font=font) +-txt2_size = draw.textsize(txt2, font=font) ++ ++# Getting the text size is tricky since for newer PIL, such as 10.0.0, only ++# textbbox() is supported, but for older PIL, such 7.2.0, only textsize() ++# is supported. The solution is to default to the newer API, but fallback to ++# the older one when it is not available. ++try: ++ # This newer API returns a four item tuple. The "xy" kwarg is returned in ++ # the first two items, and last two items is the size needed, but with "xy" ++ # added, so passing "(0, 0)" returns the size needed. ++ txt1_size = draw.textbbox(xy=(0, 0), text=txt1, font=font)[2:] ++ txt2_size = draw.textbbox(xy=(0, 0), text=txt2, font=font)[2:] ++except: ++ # This older API simply returns the size needed. ++ txt1_size = draw.textsize(txt1, font=font) ++ txt2_size = draw.textsize(txt2, font=font) + + draw.text( + (5, int(image.height - txt1_size[1] - 5)), diff --git a/games-fps/freedoom-data/freedoom-data-0.12.1.ebuild b/games-fps/freedoom-data/freedoom-data-0.12.1-r1.ebuild index 2fc22d4f026b..38169472ccd2 100644 --- a/games-fps/freedoom-data/freedoom-data-0.12.1.ebuild +++ b/games-fps/freedoom-data/freedoom-data-0.12.1-r1.ebuild @@ -1,9 +1,9 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 -PYTHON_COMPAT=( python3_{6,7} ) +PYTHON_COMPAT=( python3_{9..11} ) inherit prefix python-any-r1 xdg @@ -13,24 +13,27 @@ SRC_URI="https://github.com/freedoom/freedoom/archive/v${PV}.tar.gz -> freedoom- LICENSE="BSD" SLOT="0" -KEYWORDS="~amd64 ~arm ~x86" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86" BDEPEND=" - $(python_gen_any_dep 'dev-python/pillow[${PYTHON_USEDEP}]') + $(python_gen_any_dep 'dev-python/pillow[${PYTHON_USEDEP},zlib]') app-text/asciidoc - games-util/deutex" + games-util/deutex[png]" + +PATCHES=( + "${FILESDIR}"/${PN}-0.12.1-Python-PIL-10.0.0-support.patch +) S="${WORKDIR}/freedoom-${PV}" DOOMWADPATH=share/doom python_check_deps() { - has_version -b "dev-python/pillow[${PYTHON_USEDEP}]" + has_version -b "dev-python/pillow[${PYTHON_USEDEP},zlib]" } src_prepare() { xdg_src_prepare - eapply_user hprefixify dist/freedoom } @@ -45,7 +48,7 @@ src_install() { emake install-freedoom \ prefix="${ED}/usr/" \ bindir="bin/" \ - docdir="share/doc/${P}" \ + docdir="share/doc/${PF}" \ mandir="share/man/" \ waddir="${DOOMWADPATH}/" } diff --git a/games-fps/freedoom-data/metadata.xml b/games-fps/freedoom-data/metadata.xml index 08a722785b1d..aafdae7a61d2 100644 --- a/games-fps/freedoom-data/metadata.xml +++ b/games-fps/freedoom-data/metadata.xml @@ -1,5 +1,5 @@ -<?xml version='1.0' encoding='UTF-8'?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <longdescription lang="en"> The Freedoom project aims to create a complete free content first person @@ -22,14 +22,6 @@ The levels in this game tend to demand more skillful play than the previous chapters. It is compatible with mods for Doom II. </longdescription> - <maintainer type="person"> - <email>vilhelm.gray@gmail.com</email> - <name>William Breathitt Gray</name> - </maintainer> - <maintainer type="project"> - <email>proxy-maint@gentoo.org</email> - <name>Proxy Maintainers</name> - </maintainer> <maintainer type="project"> <email>games@gentoo.org</email> <name>Gentoo Games Project</name> diff --git a/games-fps/freedoom/freedoom-0.12.1.ebuild b/games-fps/freedoom/freedoom-0.12.1.ebuild index b9f2e765a9a3..b7bd5cd1f59e 100644 --- a/games-fps/freedoom/freedoom-0.12.1.ebuild +++ b/games-fps/freedoom/freedoom-0.12.1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2019 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -6,15 +6,16 @@ EAPI=7 DESCRIPTION="A complete free-content single-player focused game based on the Doom engine" HOMEPAGE="https://freedoom.github.io" -LICENSE="BSD" +LICENSE="metapackage" SLOT="0" -KEYWORDS="~amd64 ~arm ~x86" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86" RDEPEND=" ~games-fps/freedoom-data-${PV} || ( games-fps/gzdoom[nonfree(+)] games-engines/odamex + games-fps/chocolate-doom games-fps/doomsday games-fps/prboom-plus ) diff --git a/games-fps/freedoom/metadata.xml b/games-fps/freedoom/metadata.xml index 08a722785b1d..aafdae7a61d2 100644 --- a/games-fps/freedoom/metadata.xml +++ b/games-fps/freedoom/metadata.xml @@ -1,5 +1,5 @@ -<?xml version='1.0' encoding='UTF-8'?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <longdescription lang="en"> The Freedoom project aims to create a complete free content first person @@ -22,14 +22,6 @@ The levels in this game tend to demand more skillful play than the previous chapters. It is compatible with mods for Doom II. </longdescription> - <maintainer type="person"> - <email>vilhelm.gray@gmail.com</email> - <name>William Breathitt Gray</name> - </maintainer> - <maintainer type="project"> - <email>proxy-maint@gentoo.org</email> - <name>Proxy Maintainers</name> - </maintainer> <maintainer type="project"> <email>games@gentoo.org</email> <name>Gentoo Games Project</name> diff --git a/games-fps/glxquake-bin/glxquake-bin-0-r2.ebuild b/games-fps/glxquake-bin/glxquake-bin-0-r3.ebuild index 14f81de25338..eb9cce08a4ba 100644 --- a/games-fps/glxquake-bin/glxquake-bin-0-r2.ebuild +++ b/games-fps/glxquake-bin/glxquake-bin-0-r3.ebuild @@ -1,42 +1,40 @@ -# Copyright 1999-2015 Gentoo Foundation +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=5 -inherit games +EAPI=7 DESCRIPTION="A binary that works with any 3D-graphics-card that supports the glx X-extension" HOMEPAGE="http://mfcn.ilo.de/glxquake/" SRC_URI="http://www.wh-hms.uni-ulm.de/~mfcn/shared/glxquake/glxquake.tar.gz" +S="${WORKDIR}"/glxquake LICENSE="GPL-2" SLOT="0" KEYWORDS="-* ~amd64 ~x86" RESTRICT="strip" -IUSE="" -RDEPEND="sys-libs/glibc +RDEPEND=" + sys-libs/glibc amd64? ( sys-libs/glibc[multilib] ) virtual/opengl[abi_x86_32(-)] x11-libs/libX11[abi_x86_32(-)] x11-libs/libXext[abi_x86_32(-)] x11-libs/libXxf86vm[abi_x86_32(-)] - x11-libs/libXxf86dga[abi_x86_32(-)]" + x11-libs/libXxf86dga[abi_x86_32(-)] +" -S=${WORKDIR}/glxquake - -QA_PREBUILT="${GAMES_BINDIR:1}/glquake" +QA_PREBUILT="usr/bin/glquake" src_install() { - dogamesbin glquake + dobin glquake dodoc README - prepgamesdirs } pkg_postinst() { - games_pkg_postinst - elog "To play with it, create a subdirectory called id1" + elog "To play with ${PN}, create a subdirectory called id1" elog "Copy the pak0.pak, and eventually pak1.pak into this subdirectory" - elog "You can eventually get pak0.pak emerging games-fps/quake1-demodata" - elog "The file pak0.pak will be on the ${GAMES_DATADIR}/quake1/demo/" + elog "You can get pak0.pa by emerging games-fps/quake1-demodata" + elog "(or use the disc)" + elog "The file pak0.pak will be in /usr/share/quake1/demo/" elog "You can now run glxquake by executing glquake" } diff --git a/games-fps/glxquake-bin/metadata.xml b/games-fps/glxquake-bin/metadata.xml index 78274e0fa550..1c3ba213c494 100644 --- a/games-fps/glxquake-bin/metadata.xml +++ b/games-fps/glxquake-bin/metadata.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="project"> <email>games@gentoo.org</email> diff --git a/games-fps/gzdoom/Manifest b/games-fps/gzdoom/Manifest index c7de0cf9fa70..a0775c9f044a 100644 --- a/games-fps/gzdoom/Manifest +++ b/games-fps/gzdoom/Manifest @@ -1 +1,2 @@ -DIST gzdoom-4.3.3.tar.gz 13704956 BLAKE2B 4c9338b8958a408bee268eadadd779be8488540e68d5f46d7d0b18a825cd6391368b2c5149eff965685dd97f7ee51f12050e07f558c7f62551c8e239049110ea SHA512 ef8e3a7cfa4d03a98536deddb53ded4b23609b834dd07af4224cd2eb1136bca2a318a99a959a36b2e423038938a2175c015c48d89510f124bd32b7656004e1d1 +DIST gzdoom-4.10.0.tar.gz 24319337 BLAKE2B a683182ed1bb091d19cff127352068faa846f0a10bc0ade07f8277dca7a5367d0bc19d2828c485fba11cefdb47aa8d99224bb8babbebe3df0b99a6fde577a586 SHA512 fd2f6e34aaa59e3d153de6359211082398878dae3d396ab55fc736f94e1378d5e03193d7912a29a531cf1dc255d30af63ad1c6472784e3745db6ac4a3a9e6fe6 +DIST gzdoom-4.12.2.tar.gz 25910359 BLAKE2B 3f456136cfc161d67451d8bf1f359d748d6f30f4461a3bff4ab6b02fd949e4057dcbee79eae9ebc0566e33d2f1f3f42add18417b1932e3bccf8b4d5cae9b9a38 SHA512 1e9f34af0d5bf9f3797e0cfef01f993c0b8a742ba0af53b4b13cbce9ecefa15f22949bdbbba5a09e890a01dc32af81806fcb6fc632e0dc9261494580782a5007 diff --git a/games-fps/gzdoom/files/gzdoom-4.10.0-gcc-13.patch b/games-fps/gzdoom/files/gzdoom-4.10.0-gcc-13.patch new file mode 100644 index 000000000000..d34cb749e7f5 --- /dev/null +++ b/games-fps/gzdoom/files/gzdoom-4.10.0-gcc-13.patch @@ -0,0 +1,14 @@ +https://bugs.gentoo.org/907087 + +diff --git a/src/common/rendering/vulkan/thirdparty/vk_mem_alloc/vk_mem_alloc.h b/src/common/rendering/vulkan/thirdparty/vk_mem_alloc/vk_mem_alloc.h +index fd44722..7189d0e 100644 +--- a/src/common/rendering/vulkan/thirdparty/vk_mem_alloc/vk_mem_alloc.h ++++ b/src/common/rendering/vulkan/thirdparty/vk_mem_alloc/vk_mem_alloc.h +@@ -20,6 +20,8 @@ + // THE SOFTWARE. + // + ++#include <cstdio> ++ + #ifndef AMD_VULKAN_MEMORY_ALLOCATOR_H + #define AMD_VULKAN_MEMORY_ALLOCATOR_H diff --git a/games-fps/gzdoom/files/gzdoom-4.10.0-headers.patch b/games-fps/gzdoom/files/gzdoom-4.10.0-headers.patch new file mode 100644 index 000000000000..3a3a153b5a6e --- /dev/null +++ b/games-fps/gzdoom/files/gzdoom-4.10.0-headers.patch @@ -0,0 +1,106 @@ +From b95dbaf914618cccaeaa95c650e02be669e477f8 Mon Sep 17 00:00:00 2001 +From: James Le Cuirot <chewi@gentoo.org> +Date: Sat, 1 Jul 2023 13:36:48 +0100 +Subject: [PATCH] Ensure local headers are used over system headers to avoid + breakage + +types.h was being picked up from webp rather than locally due to the +`include_directories` call for GTK (and therefore its -I arguments) +coming before the same call for the local sources. webp can be pulled in +via GTK -> gdk-pixbuf -> tiff -> webp. + +This can be avoided by specifying `SYSTEM` or `BEFORE` as appropriate +when calling `include_directories`. I have done both for good measure. +--- + src/CMakeLists.txt | 18 ++++++++++-------- + tools/zipdir/CMakeLists.txt | 2 +- + 2 files changed, 11 insertions(+), 9 deletions(-) + +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index cf254ad6a..b4d06f9ce 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -97,7 +97,7 @@ else() + if( NOT DYN_GTK ) + set( PROJECT_LIBRARIES ${PROJECT_LIBRARIES} ${GTK3_LIBRARIES} ) + endif() +- include_directories( ${GTK3_INCLUDE_DIRS} ) ++ include_directories( SYSTEM ${GTK3_INCLUDE_DIRS} ) + link_directories( ${GTK3_LIBRARY_DIRS} ) + else() + pkg_check_modules( GTK2 gtk+-2.0 ) +@@ -105,7 +105,7 @@ else() + if( NOT DYN_GTK ) + set( PROJECT_LIBRARIES ${PROJECT_LIBRARIES} ${GTK2_LIBRARIES} ) + endif() +- include_directories( ${GTK2_INCLUDE_DIRS} ) ++ include_directories( SYSTEM ${GTK2_INCLUDE_DIRS} ) + link_directories( ${GTK2_LIBRARY_DIRS} ) + else() + set( NO_GTK ON ) +@@ -132,7 +132,7 @@ else() + # Non-Windows version also needs SDL except native OS X backend + if( NOT APPLE OR NOT OSX_COCOA_BACKEND ) + find_package( SDL2 REQUIRED ) +- include_directories( "${SDL2_INCLUDE_DIR}" ) ++ include_directories( SYSTEM "${SDL2_INCLUDE_DIR}" ) + set( PROJECT_LIBRARIES ${PROJECT_LIBRARIES} "${SDL2_LIBRARY}" ) + endif() + +@@ -143,7 +143,7 @@ if( NOT NO_OPENAL ) + find_package( OpenAL ) + mark_as_advanced(CLEAR OPENAL_INCLUDE_DIR) + if( OPENAL_INCLUDE_DIR ) +- include_directories( ${OPENAL_INCLUDE_DIR} ) ++ include_directories( SYSTEM ${OPENAL_INCLUDE_DIR} ) + mark_as_advanced(CLEAR OPENAL_LIBRARY) + if( OPENAL_LIBRARY ) + set( PROJECT_LIBRARIES ${OPENAL_LIBRARY} ${PROJECT_LIBRARIES} ) +@@ -373,17 +373,17 @@ endif() + + if( VPX_FOUND ) + add_definitions( "-DUSE_LIBVPX=1" ) +- include_directories( "${VPX_INCLUDE_DIR}" ) ++ include_directories( SYSTEM "${VPX_INCLUDE_DIR}" ) + set( PROJECT_LIBRARIES ${PROJECT_LIBRARIES} ${VPX_LIBRARIES} ) + else() + message( SEND_ERROR "Could not find libvpx" ) + endif() + +-include_directories( "${ZLIB_INCLUDE_DIR}" "${BZIP2_INCLUDE_DIR}" "${LZMA_INCLUDE_DIR}" "${JPEG_INCLUDE_DIR}" "${ZMUSIC_INCLUDE_DIR}" "${DRPC_INCLUDE_DIR}") ++include_directories( SYSTEM "${ZLIB_INCLUDE_DIR}" "${BZIP2_INCLUDE_DIR}" "${LZMA_INCLUDE_DIR}" "${JPEG_INCLUDE_DIR}" "${ZMUSIC_INCLUDE_DIR}" "${DRPC_INCLUDE_DIR}") + + if( ${HAVE_VM_JIT} ) + add_definitions( -DHAVE_VM_JIT ) +- include_directories( "${ASMJIT_INCLUDE_DIR}" ) ++ include_directories( SYSTEM "${ASMJIT_INCLUDE_DIR}" ) + set( PROJECT_LIBRARIES ${PROJECT_LIBRARIES} "${ASMJIT_LIBRARIES}") + endif() + +@@ -1243,7 +1243,9 @@ endif() + + target_link_libraries( zdoom ${PROJECT_LIBRARIES} gdtoa lzma ${ZMUSIC_LIBRARIES} ) + +-include_directories( . ++include_directories( ++ BEFORE ++ . + common/audio/sound + common/audio/music + common/2d +diff --git a/tools/zipdir/CMakeLists.txt b/tools/zipdir/CMakeLists.txt +index 65eb2fb72..762d9027f 100644 +--- a/tools/zipdir/CMakeLists.txt ++++ b/tools/zipdir/CMakeLists.txt +@@ -1,7 +1,7 @@ + cmake_minimum_required( VERSION 3.1.0 ) + + if( NOT CMAKE_CROSSCOMPILING ) +- include_directories( "${ZLIB_INCLUDE_DIR}" "${BZIP2_INCLUDE_DIR}" "${LZMA_INCLUDE_DIR}" ) ++ include_directories( SYSTEM "${ZLIB_INCLUDE_DIR}" "${BZIP2_INCLUDE_DIR}" "${LZMA_INCLUDE_DIR}" ) + add_executable( zipdir + zipdir.c ) + target_link_libraries( zipdir ${ZLIB_LIBRARIES} ${BZIP2_LIBRARIES} lzma ) +-- +2.41.0 + diff --git a/games-fps/gzdoom/files/gzdoom-4.2.1-Introduce-the-BUILD_NONFREE-option.patch b/games-fps/gzdoom/files/gzdoom-4.2.1-Introduce-the-BUILD_NONFREE-option.patch deleted file mode 100644 index 5a8460e64199..000000000000 --- a/games-fps/gzdoom/files/gzdoom-4.2.1-Introduce-the-BUILD_NONFREE-option.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 1e09b211a000c649aae6eea736647daa650141bc Mon Sep 17 00:00:00 2001 -From: William Breathitt Gray <vilhelm.gray@gmail.com> -Date: Sat, 31 Aug 2019 21:23:23 +0900 -Subject: [PATCH] Introduce the BUILD_NONFREE option - -This allow users to disable building nonfree components (brightmaps.pk3 -and game_support.pk3) if they so desire. ---- - CMakeLists.txt | 9 +++++++-- - 1 file changed, 7 insertions(+), 2 deletions(-) - -diff -Naur a/CMakeLists.txt b/CMakeLists.txt ---- a/CMakeLists.txt 2019-10-20 15:16:08.000000000 +0100 -+++ b/CMakeLists.txt 2019-10-24 21:27:58.104006569 +0100 -@@ -444,10 +444,15 @@ - add_subdirectory( libraries/wildmidi ) - add_subdirectory( libraries/oplsynth ) - add_subdirectory( libraries/zmusic ) -+ - add_subdirectory( wadsrc ) --add_subdirectory( wadsrc_bm ) - add_subdirectory( wadsrc_lights ) --add_subdirectory( wadsrc_extra ) -+option (BUILD_NONFREE "Build nonfree components" ON) -+if( BUILD_NONFREE ) -+ add_subdirectory( wadsrc_bm ) -+ add_subdirectory( wadsrc_extra ) -+endif() -+ - add_subdirectory( src ) - - if( NOT CMAKE_CROSSCOMPILING ) --- -2.23.0 - diff --git a/games-fps/gzdoom/files/gzdoom-4.2.1-install_soundfonts.patch b/games-fps/gzdoom/files/gzdoom-4.2.1-install_soundfonts.patch deleted file mode 100644 index 1fe0b99d9a8e..000000000000 --- a/games-fps/gzdoom/files/gzdoom-4.2.1-install_soundfonts.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 2d1c7ba17cac3ccd201e77ad01a9dd06ab22cb2e Mon Sep 17 00:00:00 2001 -From: William Breathitt Gray <vilhelm.gray@gmail.com> -Date: Thu, 13 Jun 2019 18:01:08 +0900 -Subject: [PATCH] Install soundfonts and WOPL/WOPN banks - -The INSTALL_SOUNDFONT_PATH cache entry is used to configure the -installation directory. ---- - src/CMakeLists.txt | 9 +++++++++ - 1 file changed, 9 insertions(+) - -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 0bb16f39e..4ff15062d 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -1451,6 +1451,15 @@ add_custom_command(TARGET zdoom POST_BUILD - ${CMAKE_SOURCE_DIR}/fm_banks/gs-by-papiezak-and-sneakernets.wopn $<TARGET_FILE_DIR:zdoom>/fm_banks/gs-by-papiezak-and-sneakernets.wopn - ) - -+if( WIN32 ) -+ set( INSTALL_SOUNDFONT_PATH . CACHE STRING "Directory where soundfonts and WOPL/WOPN banks will be placed during install." ) -+else() -+ set( INSTALL_SOUNDFONT_PATH share/games/doom CACHE STRING "Directory where soundfonts and WOPL/WOPN banks will be placed during install." ) -+endif() -+install(FILES "${PROJECT_BINARY_DIR}/soundfonts" "${PROJECT_BINARY_DIR}/fm_banks" -+ DESTINATION ${INSTALL_SOUNDFONT_PATH} -+ COMPONENT "Soundfont resources") -+ - if( CMAKE_COMPILER_IS_GNUCXX ) - # GCC misoptimizes this file - set_source_files_properties( oplsynth/fmopl.cpp PROPERTIES COMPILE_FLAGS "-fno-tree-dominator-opts -fno-tree-fre" ) --- -2.21.0 - diff --git a/games-fps/gzdoom/files/gzdoom-4.7.1-Introduce-the-BUILD_NONFREE-option.patch b/games-fps/gzdoom/files/gzdoom-4.7.1-Introduce-the-BUILD_NONFREE-option.patch new file mode 100644 index 000000000000..9e012a25307f --- /dev/null +++ b/games-fps/gzdoom/files/gzdoom-4.7.1-Introduce-the-BUILD_NONFREE-option.patch @@ -0,0 +1,36 @@ +From d164cfcde29980c23ece15f0be1b09dac5853843 Mon Sep 17 00:00:00 2001 +From: William Breathitt Gray <vilhelm.gray@gmail.com> +Date: Sat, 31 Aug 2019 21:23:23 +0900 +Subject: [PATCH] Introduce the BUILD_NONFREE option + +This allow users to disable building nonfree components (brightmaps.pk3, +game_support.pk3, and game_widescreen_gfx.pk3) if they so desire. +--- + CMakeLists.txt | 9 ++++++--- + 1 file changed, 6 insertions(+), 3 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 9013d8921..77bd703b1 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -411,11 +411,14 @@ add_subdirectory( libraries/lzma ) + add_subdirectory( tools ) + add_subdirectory( libraries/gdtoa ) + add_subdirectory( wadsrc ) +-add_subdirectory( wadsrc_bm ) + add_subdirectory( wadsrc_lights ) +-add_subdirectory( wadsrc_extra ) +-add_subdirectory( wadsrc_widepix ) + add_subdirectory( src ) ++option (BUILD_NONFREE "Build nonfree components" ON) ++if( BUILD_NONFREE ) ++ add_subdirectory( wadsrc_bm ) ++ add_subdirectory( wadsrc_extra ) ++ add_subdirectory( wadsrc_widepix ) ++endif() + + if( NOT CMAKE_CROSSCOMPILING ) + export(TARGETS ${CROSS_EXPORTS} FILE "${CMAKE_BINARY_DIR}/ImportExecutables.cmake" ) +-- +2.33.1 + diff --git a/games-fps/gzdoom/gzdoom-4.3.3.ebuild b/games-fps/gzdoom/gzdoom-4.10.0.ebuild index 1ba984d753b4..0d69df1faeac 100644 --- a/games-fps/gzdoom/gzdoom-4.3.3.ebuild +++ b/games-fps/gzdoom/gzdoom-4.10.0.ebuild @@ -1,69 +1,72 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 -inherit cmake desktop xdg +inherit cmake desktop xdg flag-o-matic DESCRIPTION="A modder-friendly OpenGL source port based on the DOOM engine" HOMEPAGE="https://zdoom.org" SRC_URI="https://github.com/coelckers/${PN}/archive/g${PV}.tar.gz -> ${P}.tar.gz" -LICENSE="BSD BZIP2 DUMB-0.9.3 GPL-3 LGPL-3 MIT - non-free? ( Activision ChexQuest3 DOOM-COLLECTORS-EDITION freedist )" +LICENSE="Apache-2.0 BSD BZIP2 GPL-3 LGPL-2.1+ LGPL-3 MIT + non-free? ( Activision ChexQuest3 DOOM-COLLECTORS-EDITION freedist WidePix )" SLOT="0" -KEYWORDS="~amd64 ~arm ~x86" -IUSE="alsa fluidsynth gtk gtk2 mpg123 +non-free openmp sndfile" +KEYWORDS="~amd64 ~arm64 ~ppc64" +IUSE="debug gles2 gtk +non-free openmp +swr telemetry vulkan" DEPEND=" - media-libs/libsdl2[opengl] + app-arch/bzip2 + media-libs/libjpeg-turbo:0= + media-libs/libsdl2[gles2?,opengl,vulkan?] + media-libs/libvpx:= media-libs/openal + media-libs/zmusic sys-libs/zlib - virtual/jpeg:0 - alsa? ( media-libs/alsa-lib ) - fluidsynth? ( media-sound/fluidsynth:= ) - gtk? ( - gtk2? ( x11-libs/gtk+:2 ) - !gtk2? ( x11-libs/gtk+:3 ) - ) - mpg123? ( media-sound/mpg123 ) - sndfile? ( media-libs/libsndfile )" + gtk? ( x11-libs/gtk+:3 )" RDEPEND="${DEPEND}" S="${WORKDIR}/${PN}-g${PV}" PATCHES=( - "${FILESDIR}/${PN}-4.2.1-install_soundfonts.patch" - "${FILESDIR}/${PN}-4.2.1-Introduce-the-BUILD_NONFREE-option.patch" + "${FILESDIR}"/${PN}-4.7.1-Introduce-the-BUILD_NONFREE-option.patch + "${FILESDIR}"/${P}-gcc-13.patch + "${FILESDIR}"/${P}-headers.patch ) src_prepare() { rm -rf docs/licenses || die + rm -rf libraries/{bzip2,jpeg,zlib} || die if ! use non-free ; then - rm -rf wadsrc_bm wadsrc_extra || die + rm -rf wadsrc_bm wadsrc_extra wadsrc_widepix || die fi cmake_src_prepare } src_configure() { + # https://bugs.gentoo.org/858749 + filter-lto + append-flags -fno-strict-aliasing + local mycmakeargs=( + -DBUILD_SHARED_LIBS=OFF -DINSTALL_DOCS_PATH="${EPREFIX}/usr/share/doc/${PF}" -DINSTALL_PK3_PATH="${EPREFIX}/usr/share/doom" -DINSTALL_SOUNDFONT_PATH="${EPREFIX}/usr/share/doom" - -DDYN_FLUIDSYNTH=OFF -DDYN_OPENAL=OFF - -DDYN_SNDFILE=OFF - -DDYN_MPG123=OFF -DNO_GTK="$(usex !gtk)" -DNO_OPENAL=OFF + -DHAVE_VULKAN="$(usex vulkan)" + -DHAVE_GLES2="$(usex gles2)" -DNO_OPENMP="$(usex !openmp)" + -DZDOOM_ENABLE_SWR="$(usex swr)" -DBUILD_NONFREE="$(usex non-free)" - -DCMAKE_DISABLE_FIND_PACKAGE_ALSA="$(usex !alsa)" - -DCMAKE_DISABLE_FIND_PACKAGE_FluidSynth="$(usex !fluidsynth)" - -DCMAKE_DISABLE_FIND_PACKAGE_MPG123="$(usex !mpg123)" - -DCMAKE_DISABLE_FIND_PACKAGE_SndFile="$(usex !sndfile)" ) + + use debug || append-cppflags -DNDEBUG + use telemetry || append-cppflags -DNO_SEND_STATS + cmake_src_configure } diff --git a/games-fps/gzdoom/gzdoom-4.12.2.ebuild b/games-fps/gzdoom/gzdoom-4.12.2.ebuild new file mode 100644 index 000000000000..b308fb3d0b50 --- /dev/null +++ b/games-fps/gzdoom/gzdoom-4.12.2.ebuild @@ -0,0 +1,99 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake desktop xdg flag-o-matic + +DESCRIPTION="A modder-friendly OpenGL source port based on the DOOM engine" +HOMEPAGE="https://zdoom.org" +SRC_URI="https://github.com/coelckers/${PN}/archive/g${PV}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}/${PN}-g${PV}" + +LICENSE="Apache-2.0 BSD BZIP2 GPL-3 LGPL-2.1+ LGPL-3 MIT + non-free? ( Activision ChexQuest3 DOOM-COLLECTORS-EDITION freedist WidePix )" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~ppc64" +IUSE="debug gles2 gtk +non-free openmp +swr telemetry vulkan" + +DEPEND=" + app-arch/bzip2 + media-libs/libjpeg-turbo:0= + media-libs/libsdl2[gles2?,opengl,vulkan?] + media-libs/libvpx:= + media-libs/libwebp + media-libs/openal + media-libs/zmusic + sys-libs/zlib + gtk? ( x11-libs/gtk+:3 )" +RDEPEND="${DEPEND}" + +PATCHES=( + "${FILESDIR}"/${PN}-4.7.1-Introduce-the-BUILD_NONFREE-option.patch +) + +src_prepare() { + rm -rf docs/licenses || die + rm -rf libraries/{bzip2,jpeg,zlib} || die + if ! use non-free ; then + rm -rf wadsrc_bm wadsrc_extra wadsrc_widepix || die + fi + + { + echo "// 0" + echo "// The above line prevents UpdateRevision.cmake from replacing this file." + echo "// This file was generated by the Gentoo ebuild." + echo + echo "#define GIT_DESCRIPTION \"g${PV}\"" + echo "#define GIT_HASH \"0\"" + echo "#define GIT_TIME \"\"" + } > "${S}/src/gitinfo.h" || die + + cmake_src_prepare +} + +src_configure() { + # https://bugs.gentoo.org/858749 + filter-lto + append-flags -fno-strict-aliasing + + local mycmakeargs=( + -DBUILD_SHARED_LIBS=OFF + -DINSTALL_DOCS_PATH="${EPREFIX}/usr/share/doc/${PF}" + -DINSTALL_PK3_PATH="${EPREFIX}/usr/share/doom" + -DINSTALL_SOUNDFONT_PATH="${EPREFIX}/usr/share/doom" + -DDYN_OPENAL=OFF + -DNO_GTK="$(usex !gtk)" + -DNO_OPENAL=OFF + -DHAVE_VULKAN="$(usex vulkan)" + -DHAVE_GLES2="$(usex gles2)" + -DNO_OPENMP="$(usex !openmp)" + -DZDOOM_ENABLE_SWR="$(usex swr)" + -DBUILD_NONFREE="$(usex non-free)" + ) + + use debug || append-cppflags -DNDEBUG + use telemetry || append-cppflags -DNO_SEND_STATS + + cmake_src_configure +} + +src_install() { + newicon src/posix/zdoom.xpm "${PN}.xpm" + make_desktop_entry "${PN}" "GZDoom" "${PN}" "Game;ActionGame" + cmake_src_install +} + +pkg_postinst() { + xdg_pkg_postinst + + if ! use non-free ; then + ewarn + ewarn "GZDoom installed without non-free components." + ewarn "Note: The non-free game_support.pk3 file is needed to play" + ewarn " games natively supported by GZDoom." + ewarn "A list of games natively supported by GZDoom is available" + ewarn "on the ZDoom wiki: https://zdoom.org/wiki/IWAD" + ewarn + fi +} diff --git a/games-fps/gzdoom/metadata.xml b/games-fps/gzdoom/metadata.xml index 5e66764ba70e..dc9f81322c53 100644 --- a/games-fps/gzdoom/metadata.xml +++ b/games-fps/gzdoom/metadata.xml @@ -1,26 +1,13 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <longdescription lang="en"> - GZDoom is a modder-friendly OpenGL source port based on the DOOM engine - </longdescription> - <maintainer type="person"> - <email>vilhelm.gray@gmail.com</email> - <name>William Breathitt Gray</name> - </maintainer> - <maintainer type="project"> - <email>proxy-maint@gentoo.org</email> - <name>Proxy Maintainers</name> - </maintainer> <maintainer type="project"> <email>games@gentoo.org</email> <name>Gentoo Games Project</name> </maintainer> <use> - <flag name="fluidsynth">Enable support for MIDI via <pkg>media-sound/fluidsynth</pkg></flag> - <flag name="gtk2">Enable support for GTK+2 instead of GTK+3</flag> - <flag name="mpg123">Enable support for MPEG audio playback via <pkg>media-sound/mpg123</pkg></flag> <flag name="non-free">Enable non-free components</flag> + <flag name="swr">Enable software renderer</flag> </use> <upstream> <bugs-to>https://forum.zdoom.org/viewforum.php?f=2</bugs-to> diff --git a/games-fps/industri/files/industri-1.01-exec-stack.patch b/games-fps/industri/files/industri-1.01-exec-stack.patch index bc74e951fe6a..abc8bd4a2b87 100644 --- a/games-fps/industri/files/industri-1.01-exec-stack.patch +++ b/games-fps/industri/files/industri-1.01-exec-stack.patch @@ -1,5 +1,5 @@ ---- math.s -+++ math.s +--- a/math.s ++++ b/math.s @@ -416,3 +416,6 @@ call C(BOPS_Error) @@ -7,8 +7,8 @@ +#if defined(__linux__) && defined(__ELF__) +.section .note.GNU-stack,"",%progbits +#endif ---- snd_mixa.s -+++ snd_mixa.s +--- a/snd_mixa.s ++++ b/snd_mixa.s @@ -216,3 +216,6 @@ #endif // id386 @@ -16,8 +16,8 @@ +#if defined(__linux__) && defined(__ELF__) +.section .note.GNU-stack,"",%progbits +#endif ---- sys_dosa.s -+++ sys_dosa.s +--- a/sys_dosa.s ++++ b/sys_dosa.s @@ -93,3 +93,6 @@ ret @@ -25,8 +25,8 @@ +#if defined(__linux__) && defined(__ELF__) +.section .note.GNU-stack,"",%progbits +#endif ---- worlda.s -+++ worlda.s +--- a/worlda.s ++++ b/worlda.s @@ -142,3 +142,6 @@ #endif // id386 diff --git a/games-fps/industri/files/industri-1.01-glext.patch b/games-fps/industri/files/industri-1.01-glext.patch index 8a5042e431f2..9c23bebd965a 100644 --- a/games-fps/industri/files/industri-1.01-glext.patch +++ b/games-fps/industri/files/industri-1.01-glext.patch @@ -1,5 +1,5 @@ ---- glquake.h.old 2011-04-29 12:36:53.000000000 +0200 -+++ glquake.h 2011-04-29 12:44:39.000000000 +0200 +--- a/glquake.h ++++ b/glquake.h @@ -977,6 +977,7 @@ #define GL_MAP2_VERTEX_ATTRIB15_4_NV 0x867F diff --git a/games-fps/industri/files/industri-1.01-ldflags.patch b/games-fps/industri/files/industri-1.01-ldflags.patch index 987d464f6b48..2ce762d82988 100644 --- a/games-fps/industri/files/industri-1.01-ldflags.patch +++ b/games-fps/industri/files/industri-1.01-ldflags.patch @@ -1,5 +1,5 @@ ---- linux/Makefile.old 2010-10-13 11:37:27.000000000 +0200 -+++ linux/Makefile 2010-10-13 11:38:20.000000000 +0200 +--- a/linux/Makefile ++++ b/linux/Makefile @@ -42,7 +42,7 @@ RELEASE_CFLAGS = $(BASE_CFLAGS) -O2 -march=pentium4 -pipe -msse -mfpmath=sse \ -fomit-frame-pointer -fexpensive-optimizations diff --git a/games-fps/industri/industri-1.01.ebuild b/games-fps/industri/industri-1.01.ebuild index 70c8dba417f3..80543d6a62f9 100644 --- a/games-fps/industri/industri-1.01.ebuild +++ b/games-fps/industri/industri-1.01.ebuild @@ -1,13 +1,15 @@ -# Copyright 1999-2011 Gentoo Foundation +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=5 -inherit eutils toolchain-funcs games +EAPI=7 + +inherit toolchain-funcs DESCRIPTION="Quake/Tenebrae based, single player game" HOMEPAGE="http://industri.sourceforge.net/" -SRC_URI="mirror://sourceforge/industri/industri_BIN-${PV}-src.tar.gz - mirror://sourceforge/industri/industri-1.00.zip" +SRC_URI="https://downloads.sourceforge.net/industri/industri_BIN-${PV}-src.tar.gz + https://downloads.sourceforge.net/industri/industri-1.00.zip" +S="${WORKDIR}"/industri_BIN LICENSE="GPL-2" SLOT="0" @@ -21,15 +23,24 @@ RDEPEND="virtual/opengl x11-libs/libXxf86vm media-libs/libpng:0 cdinstall? ( games-fps/quake1-data )" -DEPEND="${RDEPEND} +DEPEND=" + ${RDEPEND} x11-base/xorg-proto - app-arch/unzip" +" +BDEPEND="app-arch/unzip" -S=${WORKDIR}/industri_BIN +PATCHES=( + "${FILESDIR}"/${P}-exec-stack.patch + "${FILESDIR}"/${P}-ldflags.patch + "${FILESDIR}"/${P}-glext.patch +) src_prepare() { - mv linux/Makefile{.i386linux,} - sed -i -e "s:-mpentiumpro.*:${CFLAGS} \\\\:" linux/Makefile || die + mv linux/Makefile{.i386linux,} || die + sed -i \ + -e "s:-mpentiumpro.*:${CFLAGS} \\\\:" \ + -e "s:CC.*= /usr/bin/gcc:CC?=/usr/bin/gcc:" \ + linux/Makefile || die # Remove duplicated typedefs #71841 for typ in PFNGLFLUSHVERTEXARRAYRANGEAPPLEPROC PFNGLVERTEXARRAYRANGEAPPLEPROC ; do @@ -44,34 +55,35 @@ src_prepare() { -e 's:png_set_gray_1_2_4_to_8:png_set_expand_gray_1_2_4_to_8:g' \ gl_warp.c || die - epatch "${FILESDIR}"/${P}-exec-stack.patch \ - "${FILESDIR}"/${P}-ldflags.patch \ - "${FILESDIR}"/${P}-glext.patch + default } src_compile() { + tc-export CC + emake \ -C linux \ - MASTER_DIR="${GAMES_DATADIR}"/quake1 \ + MASTER_DIR=/usr/share/quake1 \ build_release } src_install() { - newgamesbin linux/release*/bin/industri.run industri - dogamesbin "${FILESDIR}"/industri.pretty + newbin linux/release*/bin/industri.run industri + dobin "${FILESDIR}"/industri.pretty + insinto /usr/share/icons doins industri.ico quake.ico dodoc linux/README - cd "${WORKDIR}"/${PN} + + cd "${WORKDIR}"/${PN} || die dodoc *.txt - insinto "${GAMES_DATADIR}"/quake1/${PN} + + insinto /usr/share/quake1/${PN} doins *.pak *.cfg - prepgamesdirs } pkg_postinst() { - games_pkg_postinst if ! use cdinstall ; then - elog "You need to copy pak0.pak to ${GAMES_DATADIR}/quake1 to play." + elog "You need to copy pak0.pak to /usr/share/quake1 to play." fi } diff --git a/games-fps/industri/metadata.xml b/games-fps/industri/metadata.xml index 4ed41644ffca..1e0acb875f0a 100644 --- a/games-fps/industri/metadata.xml +++ b/games-fps/industri/metadata.xml @@ -1,19 +1,19 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="project"> <email>games@gentoo.org</email> <name>Gentoo Games Project</name> </maintainer> <longdescription> -industri is a Quake based, single player game using a modified version of the -Tenebrae 1.x engine. The Tenebrae engine is an Open Source (GNU GPL) modification -of Quake that brings per-pixel lighting, stencil shadows, hi-res textures, -bumpmap and normalmaps to the gaming experince. + industri is a Quake based, single player game using a modified version of the + Tenebrae 1.x engine. The Tenebrae engine is an Open Source (GNU GPL) modification + of Quake that brings per-pixel lighting, stencil shadows, hi-res textures, + bumpmap and normalmaps to the gaming experince. -The focus of industri is a rich single-player game and engine. There is no -multi-player at all. -</longdescription> + The focus of industri is a rich single-player game and engine. There is no + multi-player at all. + </longdescription> <upstream> <remote-id type="sourceforge">industri</remote-id> </upstream> diff --git a/games-fps/legends/legends-0.4.1.43-r2.ebuild b/games-fps/legends/legends-0.4.1.43-r2.ebuild index e516f30fffca..f94214861731 100644 --- a/games-fps/legends/legends-0.4.1.43-r2.ebuild +++ b/games-fps/legends/legends-0.4.1.43-r2.ebuild @@ -1,8 +1,9 @@ -# Copyright 1999-2017 Gentoo Foundation +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=6 -inherit eutils unpacker +EAPI=7 + +inherit desktop unpacker wrapper MY_P=${PN}_linux-${PV} dir=/opt/${PN} @@ -11,6 +12,7 @@ DESCRIPTION="Fast-paced first-person-shooter online multiplayer game, similar to HOMEPAGE="http://legendsthegame.net/" SRC_URI="http://legendsthegame.net/files/${MY_P}.run mirror://gentoo/${PN}.png" +S="${WORKDIR}" LICENSE="Legends LGPL-2.1+" SLOT="0" @@ -21,7 +23,6 @@ RESTRICT="strip" QA_TEXTRELS="${dir:1}/libSDL-1.3.so.0" QA_FLAGS_IGNORED="${dir:1}/libSDL-1.3.so.0 ${dir:1}/LinLegends ${dir:1}/lindedicated" -DEPEND="" RDEPEND="sys-libs/glibc amd64? ( sys-libs/glibc[multilib] ) media-fonts/font-adobe-75dpi @@ -32,11 +33,9 @@ RDEPEND="sys-libs/glibc media-libs/libvorbis[abi_x86_32(-)] media-libs/openal[abi_x86_32(-)]" -S=${WORKDIR} - src_unpack() { unpack_makeself ${MY_P}.run - cd "${S}" + cd "${S}" || die # keep libSDL-1.3.so because legends requires it as of 0.4.0, and # 1.2.6 is highest in portage @@ -48,7 +47,7 @@ src_install() { insinto "${dir}" doins -r * - rm "${D}/${dir}/"/{lindedicated,LinLegends,*.so.0} + rm "${ED}/${dir}/"/{lindedicated,LinLegends,*.so.0} || die exeinto "${dir}" doexe lindedicated LinLegends *.so.0 diff --git a/games-fps/legends/metadata.xml b/games-fps/legends/metadata.xml index f1ba53514225..b911c1e9c061 100644 --- a/games-fps/legends/metadata.xml +++ b/games-fps/legends/metadata.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="project"> <email>games@gentoo.org</email> diff --git a/games-fps/metadata.xml b/games-fps/metadata.xml index 9df41d653f06..38c906e88640 100644 --- a/games-fps/metadata.xml +++ b/games-fps/metadata.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE catmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE catmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <catmetadata> <longdescription lang="en"> The games-fps category contains first person shooter games. @@ -31,4 +31,3 @@ osoby. </longdescription> </catmetadata> - diff --git a/games-fps/nexuiz/metadata.xml b/games-fps/nexuiz/metadata.xml index 8655ab7fd6f6..e823835abde4 100644 --- a/games-fps/nexuiz/metadata.xml +++ b/games-fps/nexuiz/metadata.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="project"> <email>games@gentoo.org</email> diff --git a/games-fps/nexuiz/nexuiz-2.5.2-r1.ebuild b/games-fps/nexuiz/nexuiz-2.5.2-r1.ebuild index 2778fcff0c04..247670d951db 100644 --- a/games-fps/nexuiz/nexuiz-2.5.2-r1.ebuild +++ b/games-fps/nexuiz/nexuiz-2.5.2-r1.ebuild @@ -1,20 +1,21 @@ -# Copyright 1999-2017 Gentoo Foundation +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=6 -inherit eutils +EAPI=7 + +inherit desktop toolchain-funcs MY_PN=Nexuiz MY_P=${PN}-${PV//./} MAPS=nexmappack_r2 DESCRIPTION="Deathmatch FPS based on DarkPlaces, an advanced Quake 1 engine" HOMEPAGE="http://www.nexuiz.com/" -SRC_URI="mirror://sourceforge/${PN}/${MY_P}.zip - maps? ( mirror://sourceforge/${PN}/${MAPS}.zip )" +SRC_URI="https://downloads.sourceforge.net/${PN}/${MY_P}.zip + maps? ( https://downloads.sourceforge.net/${PN}/${MAPS}.zip )" LICENSE="GPL-2" SLOT="0" -KEYWORDS="~amd64 ~x86" +KEYWORDS="~amd64 ~arm64 ~x86" IUSE="alsa dedicated maps opengl sdl" # no headers for libpng needed @@ -69,15 +70,14 @@ src_prepare() { # Make the game automatically look in the correct data directory sed -i \ - -e "/^CC=/d" \ - -e "s:-O2:${CFLAGS}:" \ - -e "/-lm/s:$: ${LDFLAGS}:" \ + -e 's:-O2:$(CFLAGS):' \ + -e '/-lm/s:$: $(LDFLAGS):' \ -e '/^STRIP/s/strip/true/' \ makefile.inc || die sed -i \ -e '1i DP_LINK_TO_LIBJPEG=1' \ - -e "s:ifdef DP_.*:DP_FS_BASEDIR=/usr/share/${PN}\n&:" \ + -e "s:ifdef DP_.*:DP_FS_BASEDIR=${EPREFIX}/usr/share/${PN}\n&:" \ makefile || die if ! use alsa ; then @@ -88,6 +88,13 @@ src_prepare() { } src_compile() { + # Unset STRIP because the build system by default will not strip + # If users express a preference, this triggers strip + # bug #739294 + unset STRIP + + tc-export CC + if use opengl || ! use dedicated ; then emake cl-${PN} if use sdl ; then diff --git a/games-fps/prboom-plus/Manifest b/games-fps/prboom-plus/Manifest index 9acad2caf4b3..100d5304041c 100644 --- a/games-fps/prboom-plus/Manifest +++ b/games-fps/prboom-plus/Manifest @@ -1 +1 @@ -DIST prboom-plus-2.5.1.7.82.tar.gz 1541604 BLAKE2B 7c10754aa5f85879b63a3778d87e8e2fcd21fcd5092f96a31dc087e878ca080b9ce48d2e7d8f5cac9aa05c8a69cf5f6e9661a5b581de7afe21d59a18af2e57e9 SHA512 55f0ec4edcbac80174aadc63f1f77f3b868a6d1e8efc309ed6f71898d486a3c31d18e08130c9b4a6afd63185003bfd11e6b5940b550071f60168b3c716845f0f +DIST prboom-plus-2.6.2.tar.gz 1557494 BLAKE2B 1ce63a893ffa6cb0e04fa3bcb34a06fdef47e2d6886f88bb7df9407f9342c81ddee6a245c15b614c15535fbfd889633f63f4532196b7ae46fd3ce32d20dda559 SHA512 7005fa55bdbfffa1b6b24ff470f5e1962e89367eaa28b23e95ebde0d1385dbe14e1c0f2d67d8ebefb1adfeeca8d551ec2b7b04a23a6af3a0f708b36da09613b3 diff --git a/games-fps/prboom-plus/files/prboom-plus-2.5.1.7.82-Add-CMake-install-targets.patch b/games-fps/prboom-plus/files/prboom-plus-2.5.1.7.82-Add-CMake-install-targets.patch deleted file mode 100644 index b506fdd6aacc..000000000000 --- a/games-fps/prboom-plus/files/prboom-plus-2.5.1.7.82-Add-CMake-install-targets.patch +++ /dev/null @@ -1,59 +0,0 @@ -From b123022530997df901abbfc7f8dab2846e7d1d7a Mon Sep 17 00:00:00 2001 -From: William Breathitt Gray <vilhelm.gray@gmail.com> -Date: Sat, 6 Jun 2020 13:39:46 -0400 -Subject: [PATCH] Add CMake install targets - -Fixes: https://github.com/coelckers/prboom-plus/issues/70 ---- - prboom2/CMakeLists.txt | 2 +- - prboom2/data/CMakeLists.txt | 2 ++ - prboom2/src/CMakeLists.txt | 3 +++ - 3 files changed, 6 insertions(+), 1 deletion(-) - -diff --git a/prboom2/CMakeLists.txt b/prboom2/CMakeLists.txt -index 4aba6b94..932182b6 100644 ---- a/prboom2/CMakeLists.txt -+++ b/prboom2/CMakeLists.txt -@@ -150,7 +150,7 @@ check_symbol_exists(SDL_JoystickGetAxis "SDL.h" HAVE_SDL_JOYSTICKGETAXIS) - set(CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES_PREV}) - set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES_PREV}) - --set(DOOMWADDIR "${CMAKE_INSTALL_PREFIX}/share/games/doom" CACHE PATH "Path to install prboom.wad and look for other WAD files") -+set(DOOMWADDIR "${CMAKE_INSTALL_PREFIX}/share/games/doom" CACHE PATH "Path to look for WAD files") - - option(SIMPLECHECKS "Enable checks which only impose significant overhead if a posible error is detected" ON) - option(ZONEIDCHECK "Enable id checks on zone blocks, to detect corrupted and illegally freed blocks" ON) -diff --git a/prboom2/data/CMakeLists.txt b/prboom2/data/CMakeLists.txt -index b855e9e5..33e1d873 100644 ---- a/prboom2/data/CMakeLists.txt -+++ b/prboom2/data/CMakeLists.txt -@@ -362,3 +362,5 @@ add_custom_command( - DEPENDS rdatawad ${WAD_SRC} - ) - add_custom_target(prboomwad DEPENDS ${WAD_DATA_PATH}) -+set(WAD_INSTALL_PATH ${DOOMWADDIR} CACHE PATH "Path to install prboom.wad") -+install(FILES ${WAD_DATA_PATH} DESTINATION ${WAD_INSTALL_PATH} COMPONENT "PrBoom-Plus internal WAD") -diff --git a/prboom2/src/CMakeLists.txt b/prboom2/src/CMakeLists.txt -index b5a0f6bd..89505603 100644 ---- a/prboom2/src/CMakeLists.txt -+++ b/prboom2/src/CMakeLists.txt -@@ -340,6 +340,8 @@ function(AddGameExecutable TARGET SOURCES) - COMMAND ${CMAKE_COMMAND} -E copy_if_different ${WAD_DATA_PATH} $<TARGET_FILE_DIR:prboom-plus> - ) - endif() -+ -+ install(TARGETS ${TARGET} COMPONENT "Game executable") - endfunction() - - AddGameExecutable(prboom-plus "${PRBOOM_PLUS_SOURCES}") -@@ -426,6 +428,7 @@ if(BUILD_SERVER AND SDL2_NET_FOUND) - RUNTIME_OUTPUT_DIRECTORY ${PRBOOM_OUTPUT_PATH} - ) - ApplySDL2NetOptions(prboom-plus-game-server) -+ install(TARGETS prboom-plus-game-server COMPONENT "Game server executable") - endif() - - --- -2.26.2 - diff --git a/games-fps/prboom-plus/files/prboom-plus-2.6.2-Revert-force-overriding-of-the-documentation-install.patch b/games-fps/prboom-plus/files/prboom-plus-2.6.2-Revert-force-overriding-of-the-documentation-install.patch new file mode 100644 index 000000000000..856786ccd938 --- /dev/null +++ b/games-fps/prboom-plus/files/prboom-plus-2.6.2-Revert-force-overriding-of-the-documentation-install.patch @@ -0,0 +1,27 @@ +From 395fd2519f9f855b872fc59884cf88f643386a73 Mon Sep 17 00:00:00 2001 +From: William Breathitt Gray <vilhelm.gray@gmail.com> +Date: Fri, 18 Feb 2022 13:54:35 +0900 +Subject: [PATCH] Revert "force overriding of the documentation installation + directory" + +This reverts commit daa454465c80231762f66aa2fa2794b547bbaa55. +--- + prboom2/CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/prboom2/CMakeLists.txt b/prboom2/CMakeLists.txt +index b5f92c87..18152ea0 100644 +--- a/prboom2/CMakeLists.txt ++++ b/prboom2/CMakeLists.txt +@@ -38,7 +38,7 @@ set(PACKAGE_TARNAME "prboom-plus") + set(PACKAGE_VERSION "${PROJECT_VERSION}") + set(PACKAGE_HOMEPAGE "${PROJECT_HOMEPAGE_URL}") + set(PACKAGE_STRING "${PROJECT_NAME} ${PROJECT_VERSION}") +-set(CMAKE_INSTALL_DOCDIR "${CMAKE_INSTALL_DATAROOTDIR}/doc/${PACKAGE_TARNAME}" CACHE PATH "" FORCE) ++set(CMAKE_INSTALL_DOCDIR "${CMAKE_INSTALL_DATAROOTDIR}/doc/${PACKAGE_TARNAME}" CACHE PATH "") + + include(CheckSymbolExists) + +-- +2.35.1 + diff --git a/games-fps/prboom-plus/metadata.xml b/games-fps/prboom-plus/metadata.xml index aa68b85edb34..ae4c8f954cf9 100644 --- a/games-fps/prboom-plus/metadata.xml +++ b/games-fps/prboom-plus/metadata.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <longdescription lang="en"> PrBoom+ is an enhanced source port of the classic 3D first-person @@ -12,11 +12,11 @@ variable gamespeed, re-record, walkcam, chasecam, full mouselook, FOV, and other features without loss of compatibility with the original Doom. </longdescription> - <maintainer type="person"> + <maintainer type="person" proxied="yes"> <email>vilhelm.gray@gmail.com</email> <name>William Breathitt Gray</name> </maintainer> - <maintainer type="project"> + <maintainer type="project" proxied="proxy"> <email>proxy-maint@gentoo.org</email> <name>Proxy Maintainers</name> </maintainer> diff --git a/games-fps/prboom-plus/prboom-plus-2.5.1.7.82.ebuild b/games-fps/prboom-plus/prboom-plus-2.6.2.ebuild index ec37137ed260..e4120351b849 100644 --- a/games-fps/prboom-plus/prboom-plus-2.5.1.7.82.ebuild +++ b/games-fps/prboom-plus/prboom-plus-2.6.2.ebuild @@ -1,23 +1,23 @@ -# Copyright 2019-2020 Gentoo Authors +# Copyright 2019-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 inherit cmake desktop xdg -MY_PV=$(ver_rs 4 "um+git") DESCRIPTION="An enhanced clone of the classic first-person shooter Doom" HOMEPAGE="https://github.com/coelckers/prboom-plus/" -SRC_URI="http://deb.debian.org/debian/pool/main/p/prboom-plus/${PN}_${MY_PV}.orig.tar.gz -> ${P}.tar.gz" +SRC_URI="http://deb.debian.org/debian/pool/main/p/prboom-plus/${PN}_${PV}.orig.tar.gz -> ${P}.tar.gz" LICENSE="GPL-2+ GPL-3+ BSD BSD-2 BSD-with-disclosure CC-BY-3.0 CC0-1.0 LGPL-2.1+ MIT public-domain" SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="dumb fluidsynth mad net +opengl +pcre portmidi sdl2-image +sdl2-mixer server vorbis zlib" +KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86" +IUSE="alsa dumb fluidsynth mad net +opengl +pcre portmidi sdl2-image +sdl2-mixer server vorbis zlib" REQUIRED_USE="server? ( net )" DEPEND=" media-libs/libsdl2[opengl?,joystick,sound,video] + alsa? ( media-libs/alsa-lib:= ) dumb? ( media-libs/dumb:= ) fluidsynth? ( media-sound/fluidsynth:= ) mad? ( media-libs/libmad ) @@ -30,10 +30,10 @@ DEPEND=" zlib? ( sys-libs/zlib )" RDEPEND="${DEPEND}" -S="${WORKDIR}/${PN}-master/prboom2" +S="${WORKDIR}/${P}/prboom2" src_prepare() { - eapply -p2 "${FILESDIR}"/prboom-plus-2.5.1.7.82-Add-CMake-install-targets.patch + eapply -p2 "${FILESDIR}/${P}-Revert-force-overriding-of-the-documentation-install.patch" cmake_src_prepare } @@ -50,8 +50,10 @@ src_configure() { -DWITH_DUMB="$(usex dumb)" -DWITH_VORBISFILE="$(usex vorbis)" -DWITH_PORTMIDI="$(usex portmidi)" + -DWITH_ALSA="$(usex alsa)" -DDOOMWADDIR="${EPREFIX}/usr/share/doom" - -DWAD_INSTALL_PATH="${EPREFIX}/usr/share/doom" + -DPRBOOMDATADIR="${EPREFIX}/usr/share/${PF}" + -DWAD_DATA_PATH="${EPREFIX}/usr/share/doom" -DBUILD_SERVER="$(usex server)" ) cmake_src_configure diff --git a/games-fps/quake1-data/metadata.xml b/games-fps/quake1-data/metadata.xml index 78274e0fa550..1c3ba213c494 100644 --- a/games-fps/quake1-data/metadata.xml +++ b/games-fps/quake1-data/metadata.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="project"> <email>games@gentoo.org</email> diff --git a/games-fps/quake1-data/quake1-data-2.40.ebuild b/games-fps/quake1-data/quake1-data-2.40-r1.ebuild index 6c3c9e1eb193..974117cb7bf2 100644 --- a/games-fps/quake1-data/quake1-data-2.40.ebuild +++ b/games-fps/quake1-data/quake1-data-2.40-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # TODO: if installing off of the 1.01 cd, need to fetch the @@ -6,51 +6,54 @@ # http://linux.omnipotent.net/article.php?article_id=11287 # ftp://ftp.cdrom.com/pub/idgames/idstuff/quake/quake106.zip -EAPI=5 -inherit eutils cdrom games +EAPI=7 + +inherit cdrom DESCRIPTION="iD Software's Quake 1 ... the data files" HOMEPAGE="https://www.idsoftware.com/games/quake/quake/" -SRC_URI="" +S="${WORKDIR}" LICENSE="all-rights-reserved" SLOT="0" KEYWORDS="~amd64 ~x86" -IUSE="" +RESTRICT="bindist" -DEPEND="app-arch/lha" RDEPEND="!games-fps/quake1-demodata[symlink]" - -S=${WORKDIR} +BDEPEND="app-arch/lha" src_unpack() { export CDROM_NAME_SET=("Existing Install" "Quake CD (1.01)" "Ultimate Quake Collection" "Quake CD (newer)") cdrom_get_cds id1:q101_int.1:Setup/ID1:resource.1 + if [[ ${CDROM_SET} == "1" ]] ; then - echo ">>> Unpacking q101_int.lha to ${PWD}" + elog "Unpacking q101_int.lha to ${PWD}" cat "${CDROM_ROOT}"/q101_int.1 "${CDROM_ROOT}"/q101_int.2 > \ "${S}"/q101_int.exe + lha xqf "${S}"/q101_int.exe || die - rm -f q101_int.exe + rm -f q101_int.exe || die elif [[ ${CDROM_SET} == "3" ]] ; then - echo ">>> Unpacking resource.1 to ${PWD}" + elog "Unpacking resource.1 to ${PWD}" lha xqf "${CDROM_ROOT}"/resource.1 || die fi } src_install() { - insinto "${GAMES_DATADIR}"/quake1/id1 + insinto /usr/share/quake1/id1 case ${CDROM_SET} in - 0) doins "${CDROM_ROOT}"/id1/* + 0) + doins "${CDROM_ROOT}"/id1/* dodoc "${CDROM_ROOT}"/*.txt ;; - 1|3)doins id1/* + 1|3) + doins id1/* dodoc *.txt ;; - 2) newins "${CDROM_ROOT}"/Setup/ID1/PAK0.PAK pak0.pak + 2) + newins "${CDROM_ROOT}"/Setup/ID1/PAK0.PAK pak0.pak newins "${CDROM_ROOT}"/Setup/ID1/PAK1.PAK pak1.pak dodoc "${CDROM_ROOT}"/Docs/* ;; esac - prepgamesdirs } diff --git a/games-fps/quake1-demodata/metadata.xml b/games-fps/quake1-demodata/metadata.xml index 78274e0fa550..1c3ba213c494 100644 --- a/games-fps/quake1-demodata/metadata.xml +++ b/games-fps/quake1-demodata/metadata.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="project"> <email>games@gentoo.org</email> diff --git a/games-fps/quake1-demodata/quake1-demodata-1.06.ebuild b/games-fps/quake1-demodata/quake1-demodata-1.06-r1.ebuild index 102d80da46f6..b5931771e141 100644 --- a/games-fps/quake1-demodata/quake1-demodata-1.06.ebuild +++ b/games-fps/quake1-demodata/quake1-demodata-1.06-r1.ebuild @@ -1,15 +1,15 @@ -# Copyright 1999-2019 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=5 -inherit eutils versionator games +EAPI=7 -MY_PV=$(delete_all_version_separators) +MY_PV=$(ver_rs 1- '') MY_PN="quake" DESCRIPTION="Demo data for Quake 1" HOMEPAGE="https://en.wikipedia.org/wiki/Quake_I" SRC_URI="mirror://idsoftware/${MY_PN}/${MY_PN}${MY_PV}.zip" +S="${WORKDIR}" # See licinfo.txt LICENSE="quake1-demodata" @@ -18,15 +18,14 @@ KEYWORDS="~amd64 ~x86" IUSE="symlink" RDEPEND="symlink? ( !games-fps/quake1-data )" -DEPEND="app-arch/lha - app-arch/unzip" +BDEPEND=" + app-arch/lha + app-arch/unzip +" -S=${WORKDIR} -dir=${GAMES_DATADIR}/${MY_PN}1 +dir=usr/share/${MY_PN}1 pkg_setup() { - games_pkg_setup - if has_version "games-fps/quake1-data" ; then ewarn "games-fps/quake1-data already includes the demo data," ewarn "so this installation is not very useful." @@ -37,31 +36,28 @@ src_unpack() { unpack ${A} # File rename for bug #159100 - mv resource.{1,x} + mv resource.{1,x} || die lha xfq resource.x || die "lha failed" # Don't want to conflict with the cdinstall files - mv id1 demo + mv ID1 demo || die } src_install() { - insinto "${dir}" + insinto ${dir} doins -r demo - dodoc *.txt + dodoc *.TXT if use symlink ; then # Make the demo the default, so that people can just run it, # without having to mess with command-line options. - cd "${D}/${dir}" && ln -sfn demo id1 + cd "${ED}/${dir}" || die + ln -sfn demo id1 || die fi - - prepgamesdirs } pkg_postinst() { - games_pkg_postinst - elog "This is just the demo data." elog "You will still need a Quake 1 client, to play, such as darkplaces." echo diff --git a/games-fps/quake1-killer/metadata.xml b/games-fps/quake1-killer/metadata.xml index 78274e0fa550..1c3ba213c494 100644 --- a/games-fps/quake1-killer/metadata.xml +++ b/games-fps/quake1-killer/metadata.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="project"> <email>games@gentoo.org</email> diff --git a/games-fps/quake1-killer/quake1-killer-2.2z.ebuild b/games-fps/quake1-killer/quake1-killer-2.2z-r1.ebuild index 258296f7f514..f7b2c4a6652c 100644 --- a/games-fps/quake1-killer/quake1-killer-2.2z.ebuild +++ b/games-fps/quake1-killer/quake1-killer-2.2z-r1.ebuild @@ -1,31 +1,26 @@ -# Copyright 1999-2017 Gentoo Foundation +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=5 -inherit games +EAPI=7 DESCRIPTION="The Killer Quake Patch" HOMEPAGE="http://kqp.horoy.com/" SRC_URI="http://www.gamers.org/pub/idgames2/quakec/compilations/kqp220z.zip mirror://gentoo/kqp220z.zip" +S="${WORKDIR}" LICENSE="quake1-killer" SLOT="0" KEYWORDS="~amd64 ~x86" -IUSE="" -RDEPEND="" -DEPEND="app-arch/unzip" - -S=${WORKDIR} +BDEPEND="app-arch/unzip" src_unpack() { - echo ">>> Unpacking kqp220z.zip to ${PWD}" + elog "Unpacking kqp220z.zip to ${PWD}" unzip -qoL "${DISTDIR}"/kqp220z.zip || die "unpacking kqp220z.zip failed" } src_install() { - insinto "${GAMES_DATADIR}/quake1/killer" + insinto /usr/share/quake1/killer doins -r * - prepgamesdirs } diff --git a/games-fps/quake1-rally/metadata.xml b/games-fps/quake1-rally/metadata.xml index 78274e0fa550..1c3ba213c494 100644 --- a/games-fps/quake1-rally/metadata.xml +++ b/games-fps/quake1-rally/metadata.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="project"> <email>games@gentoo.org</email> diff --git a/games-fps/quake1-rally/quake1-rally-1.2.ebuild b/games-fps/quake1-rally/quake1-rally-1.2-r1.ebuild index e7c086e83cbe..8623924bac22 100644 --- a/games-fps/quake1-rally/quake1-rally-1.2.ebuild +++ b/games-fps/quake1-rally/quake1-rally-1.2-r1.ebuild @@ -1,38 +1,39 @@ -# Copyright 1999-2017 Gentoo Foundation +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=5 -inherit eutils games +EAPI=7 + +inherit edos2unix DESCRIPTION="TC which turns Quake into a Rally racing game" HOMEPAGE="http://wiki.quakeworld.nu/Quake_Rally" -SRC_URI="http://ehall.freeshell.org/quake/qr12.zip +SRC_URI="http://ehall.freeshell.org/quake/qr$(ver_rs 1-2 '').zip http://ehall.freeshell.org/quake/qrlo1.zip" +S="${WORKDIR}" LICENSE="all-rights-reserved" SLOT="0" KEYWORDS="~amd64 ~x86" -IUSE="" -RESTRICT="mirror bindist" -RDEPEND="" -DEPEND="app-arch/unzip" +RESTRICT="mirror bindist" -S=${WORKDIR} +BDEPEND="app-arch/unzip" src_unpack() { - echo ">>> Unpacking qr12.zip to ${PWD}" + einfo "Unpacking qr12.zip to ${PWD}" unzip -qoLL "${DISTDIR}"/qr12.zip || die "unpacking qr12.zip failed" - echo ">>> Unpacking qrlo1.zip to ${PWD}" + + einfo "Unpacking qrlo1.zip to ${PWD}" unzip -qoLL "${DISTDIR}"/qrlo1.zip || die "unpacking qrlo1.zip failed" - rm -f button.wav qrally.exe - cd rally - edos2unix $(find . -name '*.txt' -o -name '*.cfg') - mv rally{,.example}.cfg + + rm -f button.wav qrally.exe || die + cd rally || die + + edos2unix $(find . -name '*.txt' -o -name '*.cfg' || die) + mv rally{,.example}.cfg || die } src_install() { - insinto "${GAMES_DATADIR}/quake1" + insinto /usr/share/quake1 doins -r * - prepgamesdirs } diff --git a/games-fps/quake1-teamfortress/metadata.xml b/games-fps/quake1-teamfortress/metadata.xml index 78274e0fa550..1c3ba213c494 100644 --- a/games-fps/quake1-teamfortress/metadata.xml +++ b/games-fps/quake1-teamfortress/metadata.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="project"> <email>games@gentoo.org</email> diff --git a/games-fps/quake1-teamfortress/quake1-teamfortress-2.9.ebuild b/games-fps/quake1-teamfortress/quake1-teamfortress-2.9-r1.ebuild index 19e52511fc51..92573dc42b6e 100644 --- a/games-fps/quake1-teamfortress/quake1-teamfortress-2.9.ebuild +++ b/games-fps/quake1-teamfortress/quake1-teamfortress-2.9-r1.ebuild @@ -1,37 +1,35 @@ -# Copyright 1999-2017 Gentoo Foundation +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=5 -inherit eutils games +EAPI=7 + +inherit edos2unix DESCRIPTION="The classic Team Fortress Quake World mod" HOMEPAGE="http://www.planetfortress.com/teamfortress/" SRC_URI="mirror://gentoo/tf28.zip mirror://gentoo/tf29qw.zip" +S="${WORKDIR}" LICENSE="quake1-teamfortress" SLOT="0" KEYWORDS="~amd64 ~x86" -IUSE="" - -RDEPEND="" -DEPEND="app-arch/unzip" -S=${WORKDIR} +BDEPEND="app-arch/unzip" src_unpack() { - echo ">>> Unpacking tf28.zip to ${PWD}" + elog "Unpacking tf28.zip to ${PWD}" unzip -qoL "${DISTDIR}"/tf28.zip || die "unpacking tf28.zip failed" - cd fortress - echo ">>> Unpacking tf29qw.zip to ${PWD}" + + cd fortress || die + elog "Unpacking tf29qw.zip to ${PWD}" unzip -qoL "${DISTDIR}"/tf29qw.zip || die "unpacking tf29qw.zip failed" - edos2unix $(find . -name '*.txt' -o -name '*.cfg') - mv server.cfg server.example.cfg + edos2unix $(find . -name '*.txt' -o -name '*.cfg' || die) + mv server.cfg server.example.cfg || die } src_install() { - insinto "${GAMES_DATADIR}/quake1" + insinto /usr/share/quake1 doins -r * - prepgamesdirs } diff --git a/games-fps/quake1-textures/metadata.xml b/games-fps/quake1-textures/metadata.xml index 78274e0fa550..1c3ba213c494 100644 --- a/games-fps/quake1-textures/metadata.xml +++ b/games-fps/quake1-textures/metadata.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="project"> <email>games@gentoo.org</email> diff --git a/games-fps/quake1-textures/quake1-textures-20050820.ebuild b/games-fps/quake1-textures/quake1-textures-20050820-r1.ebuild index 4489581ed4ad..38e4e9a9dfa7 100644 --- a/games-fps/quake1-textures/quake1-textures-20050820.ebuild +++ b/games-fps/quake1-textures/quake1-textures-20050820-r1.ebuild @@ -1,8 +1,7 @@ -# Copyright 1999-2017 Gentoo Foundation +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=5 -inherit eutils games +EAPI=7 MY_SKINS="SKINSbmodels-48files-4-23-05.zip" MY_TEXTURES="textures-486files-8-20-05.rar" @@ -11,41 +10,36 @@ DESCRIPTION="Collection of graphical improvements for Quake 1" HOMEPAGE="http://facelift.quakedev.com/" SRC_URI="http://facelift.quakedev.com/download/${MY_SKINS} http://facelift.quakedev.com/download/${MY_TEXTURES}" +S="${WORKDIR}" LICENSE="quake1-textures" SLOT="0" KEYWORDS="~amd64 ~x86" -IUSE="" -RDEPEND="" -DEPEND="app-arch/unzip +BDEPEND=" + app-arch/unzip || ( app-arch/unrar - app-arch/rar )" - -S=${WORKDIR} -dir=${GAMES_DATADIR}/quake1 + app-arch/rar + ) +" src_unpack() { unpack ${A} - mv readme.txt skins.txt + mv readme.txt skins.txt || die } src_install() { - insinto "${dir}"/id1/textures + local dir=/usr/share/quake1 + insinto ${dir}/id1/textures doins -r *.tga # Set up symlink, for the demo levels to include the textures - dosym "${dir}/id1/textures" "${dir}/demo/textures" - + dosym ../id1/textures ${dir}/demo/textures dodoc *.txt - - prepgamesdirs } pkg_postinst() { - games_pkg_postinst - elog "Use a Quake 1 client (e.g. darkplaces) to take advantage of these." } diff --git a/games-fps/quake2-data/metadata.xml b/games-fps/quake2-data/metadata.xml index 78274e0fa550..1c3ba213c494 100644 --- a/games-fps/quake2-data/metadata.xml +++ b/games-fps/quake2-data/metadata.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="project"> <email>games@gentoo.org</email> diff --git a/games-fps/quake2-data/quake2-data-3.20.ebuild b/games-fps/quake2-data/quake2-data-3.20-r1.ebuild index d7eda8747829..2aa94b7063e0 100644 --- a/games-fps/quake2-data/quake2-data-3.20.ebuild +++ b/games-fps/quake2-data/quake2-data-3.20-r1.ebuild @@ -1,30 +1,23 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=5 -inherit unpacker eutils cdrom games +EAPI=7 + +inherit cdrom unpacker DESCRIPTION="iD Software's Quake 2 ... the data files" HOMEPAGE="https://www.idsoftware.com/" SRC_URI="mirror://idsoftware/quake2/q2-${PV}-x86-full-ctf.exe" +S="${WORKDIR}" LICENSE="Q2EULA" SLOT="0" -KEYWORDS="~alpha ~amd64 ~x86" +KEYWORDS="~amd64 ~x86" IUSE="videos" +RESTRICT="bindist" -DEPEND="app-arch/unzip" -RDEPEND="" - -S=${WORKDIR} - -pkg_setup() { - games_pkg_setup - if has_version "games-fps/quake2-demodata[symlink]" ; then - eerror "The symlink for the demo data conflicts with the cdinstall data" - die "Unmerge games-fps/quake2-demodata to remove the conflict" - fi -} +RDEPEND="!games-fps/quake2-demodata[symlink]" +BDEPEND="app-arch/unzip" src_unpack() { export CDROM_NAME_SET=("Existing Install" "Ultimate Quake Edition" "Quake2 CD" "Quake4 Bonus DVD") @@ -36,10 +29,11 @@ src_unpack() { src_install() { dodoc DOCS/* 3.20_Changes.txt newdoc ctf/readme.txt ctf-readme.txt + case ${CDROM_SET} in - 0) dohtml -r "${CDROM_ROOT}"/Install/DOCS/quake2_manual/* ;; - 1) dohtml -r "${CDROM_ROOT}"/Install/Docs/quake2_manual/* ;; - 2) dohtml -r "${CDROM_ROOT}"/Install/DOCS/quake2_manual/* ;; + 0) { docinto html && dodoc -r "${CDROM_ROOT}"/Install/DOCS/quake2_manual/* ; } ;; + 1) { docinto html && dodoc -r "${CDROM_ROOT}"/Install/Docs/quake2_manual/* ; } ;; + 2) { docinto html && dodoc -r "${CDROM_ROOT}"/Install/DOCS/quake2_manual/* ; } ;; 3) dodoc "${CDROM_ROOT}"/Docs/* ;; esac @@ -51,35 +45,34 @@ src_install() { 3) baseq2_cdpath=${CDROM_ROOT}/setup/Data/baseq2;; esac - dodir "${GAMES_DATADIR}"/quake2/baseq2 + dodir /usr/share/quake2/baseq2 if use videos ; then - insinto "${GAMES_DATADIR}"/quake2/baseq2/video + insinto /usr/share/quake2/baseq2/video doins "${baseq2_cdpath}"/video/* fi - insinto "${GAMES_DATADIR}"/quake2/baseq2 + insinto /usr/share/quake2/baseq2 doins "${baseq2_cdpath}"/pak0.pak doins baseq2/*.pak baseq2/maps.lst - dodir "${GAMES_DATADIR}"/quake2/baseq2/players + + dodir /usr/share/quake2/baseq2/players cp -R "${baseq2_cdpath}"/players/* baseq2/players/* \ - "${D}/${GAMES_DATADIR}"/quake2/baseq2/players/ || die + "${ED}"/usr/share/quake2/baseq2/players/ || die for mod in ctf rogue xatrix ; do if [[ -d ${baseq2_cdpath}/../${mod} ]] ; then if use videos && [[ -d ${baseq2_cdpath}/../${mod}/video ]] ; then - insinto "${GAMES_DATADIR}"/quake2/${mod}/video + insinto /usr/share/quake2/${mod}/video doins "${baseq2_cdpath}"/../${mod}/video/* 2>/dev/null fi if [[ -n $(ls "${baseq2_cdpath}"/../${mod}/*.pak 2>/dev/null) ]] ; then - insinto "${GAMES_DATADIR}"/quake2/${mod} + insinto /usr/share/quake2/${mod} doins "${baseq2_cdpath}"/../${mod}/*.pak fi fi done - insinto "${GAMES_DATADIR}"/quake2/ctf + insinto /usr/share/quake2/ctf doins ctf/*.{cfg,ico,pak} - - prepgamesdirs } diff --git a/games-fps/quake2-demodata/metadata.xml b/games-fps/quake2-demodata/metadata.xml index 78274e0fa550..1c3ba213c494 100644 --- a/games-fps/quake2-demodata/metadata.xml +++ b/games-fps/quake2-demodata/metadata.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="project"> <email>games@gentoo.org</email> diff --git a/games-fps/quake2-demodata/quake2-demodata-3.14.ebuild b/games-fps/quake2-demodata/quake2-demodata-3.14-r1.ebuild index 0eeeb6467571..fc2d0953a824 100644 --- a/games-fps/quake2-demodata/quake2-demodata-3.14.ebuild +++ b/games-fps/quake2-demodata/quake2-demodata-3.14-r1.ebuild @@ -1,36 +1,37 @@ -# Copyright 1999-2017 Gentoo Foundation +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=5 -inherit unpacker eutils versionator games +EAPI=7 -MY_PV=$(delete_all_version_separators) +inherit unpacker + +#MY_PV=$(delete_all_version_separators) +MY_PV=$(ver_rs 1- '') MY_PN="quake2" FILE="q2-${MY_PV}-demo-x86.exe" DESCRIPTION="Demo data for Quake 2" HOMEPAGE="https://en.wikipedia.org/wiki/Quake_II" SRC_URI="mirror://idsoftware/${MY_PN}/${FILE}" +S="${WORKDIR}" # See license.txt - it's a bit different to Q2EULA in Portage LICENSE="quake2-demodata" SLOT="0" -KEYWORDS="~alpha ~amd64 ~x86" +KEYWORDS="~amd64 ~x86" IUSE="symlink" -RDEPEND="" -DEPEND="app-arch/unzip - !games-fps/quake2-data" # games-fps/quake2-data already includes the demo data +RDEPEND="!games-fps/quake2-data" # games-fps/quake2-data already includes the demo data +BDEPEND="app-arch/unzip" -S=${WORKDIR} -dir=${GAMES_DATADIR}/${MY_PN} +dir=usr/share/${MY_PN} src_unpack() { unpack_zip ${A} } src_install() { - insinto "${dir}"/demo + insinto ${dir}/demo doins -r Install/Data/baseq2/{pak0.pak,players} dodoc Install/Data/DOCS/*.txt @@ -38,15 +39,12 @@ src_install() { if use symlink ; then # Make the demo the default, so that people can just run it, # without having to mess with command-line options. - cd "${D}/${dir}" && ln -sfn demo baseq2 + cd "${ED}"/${dir} || die + ln -sfn demo baseq2 || die fi - - prepgamesdirs } pkg_postinst() { - games_pkg_postinst - elog "This is just the demo data. To play, install a client" elog "such as games-fps/qudos" echo diff --git a/games-fps/quake2-icculus/files/0.16-rogue-armor.patch b/games-fps/quake2-icculus/files/0.16-rogue-armor.patch index 194f965a0501..bed337e4ce31 100644 --- a/games-fps/quake2-icculus/files/0.16-rogue-armor.patch +++ b/games-fps/quake2-icculus/files/0.16-rogue-armor.patch @@ -1,5 +1,5 @@ ---- src/rogue/g_local.h.orig -+++ src/rogue/g_local.h +--- a/rogue/g_local.h ++++ b/rogue/g_local.h @@ -545,9 +545,6 @@ extern int sm_meat_index; extern int snd_fry; diff --git a/games-fps/quake2-icculus/files/0.16-rogue-nan.patch b/games-fps/quake2-icculus/files/0.16-rogue-nan.patch index 0961fa68a985..09da62bee201 100644 --- a/games-fps/quake2-icculus/files/0.16-rogue-nan.patch +++ b/games-fps/quake2-icculus/files/0.16-rogue-nan.patch @@ -1,5 +1,5 @@ ---- src/rogue/g_local.h.orig -+++ src/rogue/g_local.h +--- a/rogue/g_local.h ++++ b/rogue/g_local.h @@ -24,3 +24,3 @@ #ifndef _WIN32 -#include <nan.h> diff --git a/games-fps/quake2-icculus/files/quake2-icculus-0.16.1-alsa.patch b/games-fps/quake2-icculus/files/quake2-icculus-0.16.1-alsa.patch index 185359373c4b..a27fc035cd4c 100644 --- a/games-fps/quake2-icculus/files/quake2-icculus-0.16.1-alsa.patch +++ b/games-fps/quake2-icculus/files/quake2-icculus-0.16.1-alsa.patch @@ -1,5 +1,5 @@ ---- src/linux/snd_alsa.c.old -+++ src/linux/snd_alsa.c +--- a/src/linux/snd_alsa.c ++++ b/src/linux/snd_alsa.c @@ -22,13 +22,22 @@ $Id: quake2-icculus-0.16.1-alsa.patch,v 1.2 2015/03/27 06:40:34 mr_bones_ Exp $ */ diff --git a/games-fps/quake2-icculus/files/quake2-icculus-0.16.1-amd64.patch b/games-fps/quake2-icculus/files/quake2-icculus-0.16.1-amd64.patch index b3291827996c..30966c813d7c 100644 --- a/games-fps/quake2-icculus/files/quake2-icculus-0.16.1-amd64.patch +++ b/games-fps/quake2-icculus/files/quake2-icculus-0.16.1-amd64.patch @@ -4,8 +4,8 @@ glx renderer by default. http://bugs.gentoo.org/show_bug.cgi?id=86552 ---- src/linux/vid_so.c -+++ src/linux/vid_so.c +--- a/src/linux/vid_so.c ++++ b/src/linux/vid_so.c @@ -435,6 +440,9 @@ VID_Init */ void VID_Init (void) diff --git a/games-fps/quake2-icculus/files/quake2-icculus-0.16.1-fno-common.patch b/games-fps/quake2-icculus/files/quake2-icculus-0.16.1-fno-common.patch new file mode 100644 index 000000000000..8392ec63b784 --- /dev/null +++ b/games-fps/quake2-icculus/files/quake2-icculus-0.16.1-fno-common.patch @@ -0,0 +1,10 @@ +--- a/src/client/client.h ++++ b/src/client/client.h +@@ -49,7 +49,6 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + #ifdef QMAX + #define random() ((rand () & 0x7fff) / ((float)0x7fff)) + #define crandom() (2.0 * (random() - 0.5)) +-vec3_t clientOrg; //lerped org of client for server->client side effects + + void vectoangles2 (vec3_t value1, vec3_t angles); + diff --git a/games-fps/quake2-icculus/files/quake2-icculus-0.16.1-gcc41.patch b/games-fps/quake2-icculus/files/quake2-icculus-0.16.1-gcc41.patch index 626cf5a1b64d..1ea4d41df80a 100644 --- a/games-fps/quake2-icculus/files/quake2-icculus-0.16.1-gcc41.patch +++ b/games-fps/quake2-icculus/files/quake2-icculus-0.16.1-gcc41.patch @@ -1,5 +1,5 @@ ---- src/xatrix/g_local.h.old -+++ src/xatrix/g_local.h +--- a/src/xatrix/g_local.h ++++ b/src/xatrix/g_local.h @@ -446,11 +446,6 @@ extern int sm_meat_index; extern int snd_fry; diff --git a/games-fps/quake2-icculus/files/quake2-icculus-0.16.1-gentoo-paths.patch b/games-fps/quake2-icculus/files/quake2-icculus-0.16.1-gentoo-paths.patch index 61f0bb2286e5..4631d3ca92f4 100644 --- a/games-fps/quake2-icculus/files/quake2-icculus-0.16.1-gentoo-paths.patch +++ b/games-fps/quake2-icculus/files/quake2-icculus-0.16.1-gentoo-paths.patch @@ -1,5 +1,5 @@ ---- Makefile -+++ Makefile +--- a/Makefile ++++ b/Makefile @@ -74,35 +74,46 @@ endif CC=gcc @@ -85,8 +85,8 @@ targets: $(TARGETS) ---- src/linux/qgl_linux.c -+++ src/linux/qgl_linux.c +--- a/src/linux/qgl_linux.c ++++ b/src/linux/qgl_linux.c @@ -3006,13 +3006,17 @@ qboolean QGL_Init( const char *dllname ) // dllname, dlerror()); @@ -108,8 +108,8 @@ } Com_Printf ("Using %s for OpenGL...", fn); } else { ---- src/linux/vid_so.c -+++ src/linux/vid_so.c +--- a/src/linux/vid_so.c ++++ b/src/linux/vid_so.c @@ -237,13 +237,17 @@ qboolean VID_LoadRefresh( char *name ) //regain root seteuid(saved_euid); @@ -154,8 +154,8 @@ } /*****************************************************************************/ ---- src/qcommon/files.c -+++ src/qcommon/files.c +--- a/src/qcommon/files.c ++++ b/src/qcommon/files.c @@ -60,6 +60,7 @@ typedef struct pack_s char fs_gamedir[MAX_OSPATH]; @@ -195,8 +195,8 @@ // // then add a '.quake2/baseq2' directory in home directory by default ---- src/qcommon/qcommon.h -+++ src/qcommon/qcommon.h +--- a/src/qcommon/qcommon.h ++++ b/src/qcommon/qcommon.h @@ -74,6 +74,13 @@ Foundation, Inc., 59 Temple Place - Suit #endif diff --git a/games-fps/quake2-icculus/files/quake2-icculus-0.16.1-gnusource.patch b/games-fps/quake2-icculus/files/quake2-icculus-0.16.1-gnusource.patch index ad1f37309c30..42041978509f 100644 --- a/games-fps/quake2-icculus/files/quake2-icculus-0.16.1-gnusource.patch +++ b/games-fps/quake2-icculus/files/quake2-icculus-0.16.1-gnusource.patch @@ -1,5 +1,5 @@ ---- quake2-r0.16.1/src/linux/q_shlinux.c -+++ quake2-r0.16.1-modified/src/linux/q_shlinux.c +--- a/src/linux/q_shlinux.c ++++ b/src/linux/q_shlinux.c @@ -17,6 +17,9 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. diff --git a/games-fps/quake2-icculus/files/quake2-icculus-0.16.1-ia64.patch b/games-fps/quake2-icculus/files/quake2-icculus-0.16.1-ia64.patch index ae1aa2e4068c..fe61bf501658 100644 --- a/games-fps/quake2-icculus/files/quake2-icculus-0.16.1-ia64.patch +++ b/games-fps/quake2-icculus/files/quake2-icculus-0.16.1-ia64.patch @@ -1,5 +1,5 @@ ---- quake2-r0.16.1.orig/Makefile -+++ quake2-r0.16.1/Makefile +--- a/Makefile ++++ b/Makefile @@ -54,24 +54,26 @@ endif @@ -74,8 +74,8 @@ ifeq ($(strip $(BUILD_SVGA)),YES) $(warning Warning: SVGAlib support not supported for $(ARCH)) endif ---- quake2-r0.16.1.orig/src/linux/sys_linux.c -+++ quake2-r0.16.1/src/linux/sys_linux.c +--- a/src/linux/sys_linux.c ++++ b/src/linux/sys_linux.c @@ -216,16 +216,18 @@ void *Sys_GetGameAPI (void *parms) char *path; char *str_p; diff --git a/games-fps/quake2-icculus/files/quake2-icculus-0.16.1-ldflags.patch b/games-fps/quake2-icculus/files/quake2-icculus-0.16.1-ldflags.patch index 978c9c9820ea..765c146dd4ec 100644 --- a/games-fps/quake2-icculus/files/quake2-icculus-0.16.1-ldflags.patch +++ b/games-fps/quake2-icculus/files/quake2-icculus-0.16.1-ldflags.patch @@ -1,5 +1,5 @@ ---- Makefile.old -+++ Makefile +--- a/Makefile ++++ b/Makefile @@ -169,18 +169,18 @@ DEBUG_CFLAGS=$(BASE_CFLAGS) -g diff --git a/games-fps/quake2-icculus/files/quake2-icculus-0.16.1-no-asm-io.patch b/games-fps/quake2-icculus/files/quake2-icculus-0.16.1-no-asm-io.patch index d94925b83e4b..0a1eecef2afa 100644 --- a/games-fps/quake2-icculus/files/quake2-icculus-0.16.1-no-asm-io.patch +++ b/games-fps/quake2-icculus/files/quake2-icculus-0.16.1-no-asm-io.patch @@ -3,8 +3,8 @@ http://bugs.gentoo.org/193107 asm/io.h does not exist with sanitized kernel headers, nor do these source files actually need the header, so punt it ---- src/linux/rw_in_aa.c -+++ src/linux/rw_in_aa.c +--- a/src/linux/rw_in_aa.c ++++ b/src/linux/rw_in_aa.c @@ -46,7 +46,6 @@ #include <sys/mman.h>
@@ -13,8 +13,8 @@ files actually need the header, so punt it #include <sys/vt.h>
#endif
---- src/linux/rw_aa.c -+++ src/linux/rw_aa.c +--- a/src/linux/rw_aa.c ++++ b/src/linux/rw_aa.c @@ -63,7 +63,6 @@ #include <dlfcn.h>
#if defined (__linux__)
diff --git a/games-fps/quake2-icculus/files/quake2-icculus-0.16.1-x11_mouse.patch b/games-fps/quake2-icculus/files/quake2-icculus-0.16.1-x11_mouse.patch index 6dc6f0f1ddfb..5d2a85a68e9b 100644 --- a/games-fps/quake2-icculus/files/quake2-icculus-0.16.1-x11_mouse.patch +++ b/games-fps/quake2-icculus/files/quake2-icculus-0.16.1-x11_mouse.patch @@ -1,5 +1,5 @@ ---- src/linux/rw_x11.c.old -+++ src/linux/rw_x11.c +--- a/src/linux/rw_x11.c ++++ b/src/linux/rw_x11.c @@ -989,8 +989,8 @@ } else diff --git a/games-fps/quake2-icculus/files/quake2-icculus-0.16.1-x11_soft.patch b/games-fps/quake2-icculus/files/quake2-icculus-0.16.1-x11_soft.patch index e23caf9db09f..cd0f2c807ae0 100644 --- a/games-fps/quake2-icculus/files/quake2-icculus-0.16.1-x11_soft.patch +++ b/games-fps/quake2-icculus/files/quake2-icculus-0.16.1-x11_soft.patch @@ -1,8 +1,8 @@ the x11 software renderer just needs some tweaks to get working ---- Makefile.old -+++ Makefile +--- a/Makefile ++++ b/Makefile @@ -358,7 +358,7 @@ endif @@ -12,8 +12,8 @@ the x11 software renderer just needs some tweaks to get working endif ifeq ($(strip $(BUILD_GLX)),YES) ---- src/linux/rw_x11.c.old -+++ src/linux/rw_x11.c +--- a/src/linux/rw_x11.c ++++ b/src/linux/rw_x11.c @@ -53,7 +53,7 @@ #include <X11/Xatom.h> #include <X11/keysym.h> @@ -32,8 +32,8 @@ the x11 software renderer just needs some tweaks to get working #ifdef REDBLUE static PIXEL16 st2d_8to16table_s[2][256]; static PIXEL24 st2d_8to24table_s[2][256]; ---- src/ref_soft/r_poly.c.old -+++ src/ref_soft/r_poly.c +--- a/src/ref_soft/r_poly.c ++++ b/src/ref_soft/r_poly.c @@ -994,7 +994,7 @@ scale = yscale * pout->zi; pout->v = (ycenter - scale * transformed[1]); diff --git a/games-fps/quake2-icculus/metadata.xml b/games-fps/quake2-icculus/metadata.xml index 62d0273c2558..2a6294aa8c7b 100644 --- a/games-fps/quake2-icculus/metadata.xml +++ b/games-fps/quake2-icculus/metadata.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="project"> <email>games@gentoo.org</email> diff --git a/games-fps/quake2-icculus/quake2-icculus-0.16.1-r1.ebuild b/games-fps/quake2-icculus/quake2-icculus-0.16.1-r2.ebuild index 13756e436dc6..ef6f7b8b34a4 100644 --- a/games-fps/quake2-icculus/quake2-icculus-0.16.1-r1.ebuild +++ b/games-fps/quake2-icculus/quake2-icculus-0.16.1-r2.ebuild @@ -1,8 +1,9 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=5 -inherit eutils toolchain-funcs games +EAPI=7 + +inherit desktop toolchain-funcs MY_P="quake2-r${PV}" DESCRIPTION="The icculus.org Linux port of iD's Quake 2 engine" @@ -11,6 +12,7 @@ SRC_URI="http://icculus.org/quake2/files/${MY_P}.tar.gz qmax? ( http://icculus.org/quake2/files/maxpak.pak ) rogue? ( mirror://idsoftware/quake2/source/roguesrc320.shar.Z ) xatrix? ( mirror://idsoftware/quake2/source/xatrixsrc320.shar.Z )" +S="${WORKDIR}"/${MY_P} LICENSE="GPL-2" SLOT="0" @@ -33,11 +35,21 @@ DEPEND="${UIDEPEND} rogue? ( app-arch/sharutils ) xatrix? ( app-arch/sharutils )" -S=${WORKDIR}/${MY_P} +PATCHES=( + # -amd64.patch # make sure this is still needed in future versions + "${FILESDIR}"/${P}-amd64.patch + "${FILESDIR}"/${P}-gentoo-paths.patch + "${FILESDIR}"/${P}-ldflags.patch + "${FILESDIR}"/${P}-no-asm-io.patch + "${FILESDIR}"/${P}-gnusource.patch + "${FILESDIR}"/${P}-x11_soft.patch + "${FILESDIR}"/${P}-x11_mouse.patch + "${FILESDIR}"/${P}-alsa.patch + "${FILESDIR}"/${P}-ia64.patch + "${FILESDIR}"/${P}-fno-common.patch +) pkg_setup() { - games_pkg_setup - if ! use qmax && $( use opengl || use sdl ) ; then elog "The 'qmax' graphical improvements are recommended." echo @@ -46,38 +58,33 @@ pkg_setup() { src_prepare() { # Now we deal with the silly rogue / xatrix addons ... this is ugly :/ - ln -s $(type -P echo) "${T}"/more + ln -s $(type -P echo) "${T}"/more || die + for g in rogue xatrix ; do use ${g} || continue - mkdir -p src/${g} - pushd src/${g} + mkdir -p src/${g} || die + + pushd src/${g} || die + local shar=../../../${g}src320.shar sed -i -e 's:^read ans:ans=yes :' ${shar} || die - echo ">>> Unpacking ${shar} to ${PWD}" + elog "Unpacking ${shar} to ${PWD}" env PATH="${T}:${PATH}" unshar ${shar} || die - popd + + popd || die done - sed -i -e 's:jpeg_mem_src:_&:' src/ref_candygl/gl_image.c || die + sed -i -e 's:jpeg_mem_src:_&:' src/ref_candygl/gl_image.c || die sed -i -e 's:BUILD_SOFTX:BUILD_X11:' Makefile || die - # -amd64.patch # make sure this is still needed in future versions - epatch \ - "${FILESDIR}"/${P}-amd64.patch \ - "${FILESDIR}"/${P}-gentoo-paths.patch \ - "${FILESDIR}"/${P}-ldflags.patch \ - "${FILESDIR}"/${P}-no-asm-io.patch \ - "${FILESDIR}"/${P}-gnusource.patch \ - "${FILESDIR}"/${P}-x11_soft.patch \ - "${FILESDIR}"/${P}-x11_mouse.patch \ - "${FILESDIR}"/${P}-alsa.patch \ - "${FILESDIR}"/${P}-ia64.patch + + default if use xatrix ; then - epatch "${FILESDIR}/${P}"-gcc41.patch + eapply "${FILESDIR}/${P}"-gcc41.patch fi if use rogue ; then - cd src - epatch \ + cd src || die + eapply \ "${FILESDIR}"/0.16-rogue-nan.patch \ "${FILESDIR}"/0.16-rogue-armor.patch fi @@ -122,38 +129,41 @@ src_compile() { BUILD_ARTS=NO \ BUILD_ALSA=$(yesno alsa) \ SDLDIR=/usr/lib \ - DEFAULT_BASEDIR="${GAMES_DATADIR}/quake2" \ - DEFAULT_LIBDIR="$(games_get_libdir)/${PN}${libsuffix}" \ + DEFAULT_BASEDIR="/usr/share/quake2" \ + DEFAULT_LIBDIR="/usr/$(get_libdir)/${PN}${libsuffix}" \ OPT_CFLAGS="${CFLAGS}" \ CC="$(tc-getCC)" + # now we save the build dir ... except for the object files ... - rm release*/*/*.o - mv release* my-rel-${BUILD_QMAX} - cd my-rel-${BUILD_QMAX} - rm -rf ref_{gl,soft} ded game client ctf/*.o - mkdir baseq2 - mv game*.so baseq2/ - cd .. + rm release*/*/*.o || die + mv release* my-rel-${BUILD_QMAX} || die + cd my-rel-${BUILD_QMAX} || die + rm -rf ref_{gl,soft} ded game client ctf/*.o || die + mkdir baseq2 || die + mv game*.so baseq2/ || die + cd .. || die done } src_install() { - local q2dir=$(games_get_libdir)/${PN} - local q2maxdir=$(games_get_libdir)/${PN}-qmax + local q2dir=/usr/$(get_libdir)/${PN} + local q2maxdir=/usr/$(get_libdir)/${PN}-qmax dodoc readme.txt README TODO "${FILESDIR}"/README-postinstall # regular q2 files dodir "${q2dir}" - cp -rf my-rel-NO/* "${D}/${q2dir}"/ - dogamesbin "${D}/${q2dir}"/quake2 - rm "${D}/${q2dir}"/quake2 + cp -rf my-rel-NO/* "${ED}/${q2dir}"/ || die + + dobin "${ED}/${q2dir}"/quake2 + rm "${ED}/${q2dir}"/quake2 || die + use dedicated \ - && dogamesbin "${D}/${q2dir}"/q2ded \ - && rm "${D}/${q2dir}"/q2ded + && dobin "${ED}/${q2dir}"/q2ded \ + && rm "${ED}/${q2dir}"/q2ded use sdl \ - && dogamesbin "${D}/${q2dir}"/sdlquake2 \ - && rm "${D}/${q2dir}"/sdlquake2 + && dobin "${ED}/${q2dir}"/sdlquake2 \ + && rm "${ED}/${q2dir}"/sdlquake2 doicon "${FILESDIR}"/quake2.xpm make_desktop_entry quake2 "Quake 2" quake2 @@ -161,30 +171,32 @@ src_install() { # q2max files if use qmax ; then dodir "${q2maxdir}" - cp -rf my-rel-YES/* "${D}/${q2maxdir}"/ || die - newgamesbin "${D}/${q2maxdir}"/quake2 quake2-qmax - rm "${D}/${q2maxdir}"/quake2 - use dedicated \ - && newgamesbin "${D}/${q2maxdir}"/q2ded q2ded-qmax \ - && rm "${D}/${q2maxdir}"/q2ded - use sdl \ - && newgamesbin "${D}/${q2maxdir}"/sdlquake2 sdlquake2-qmax \ - && rm "${D}/${q2maxdir}"/sdlquake2 + + cp -rf my-rel-YES/* "${ED}/${q2maxdir}"/ || die + + newbin "${ED}/${q2maxdir}"/quake2 quake2-qmax + rm "${ED}/${q2maxdir}"/quake2 || die + + if use dedicated ; then + newbin "${ED}/${q2maxdir}"/q2ded q2ded-qmax + rm "${ED}/${q2maxdir}"/q2ded || die + fi + + if use sdl ; then + newbin "${ED}/${q2maxdir}"/sdlquake2 sdlquake2-qmax + rm "${ED}/${q2maxdir}"/sdlquake2 || die + fi insinto "${q2maxdir}"/baseq2 doins "${DISTDIR}"/maxpak.pak make_desktop_entry quake2-qmax Quake2-qmax quake2 fi - - prepgamesdirs } pkg_postinst() { - games_pkg_postinst - elog "Go read README-postinstall in /usr/share/doc/${PF}" - elog "right now! It's important - This install is just the engine, you still need" + elog "right now! It's important - this install is just the engine, you still need" elog "the data paks. Go read." if use demo && ! has_version "games-fps/quake2-demodata[symlink]" ; then diff --git a/games-fps/quake2-textures/metadata.xml b/games-fps/quake2-textures/metadata.xml index 78274e0fa550..1c3ba213c494 100644 --- a/games-fps/quake2-textures/metadata.xml +++ b/games-fps/quake2-textures/metadata.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="project"> <email>games@gentoo.org</email> diff --git a/games-fps/quake2-textures/quake2-textures-0_beta8.ebuild b/games-fps/quake2-textures/quake2-textures-0_beta8-r1.ebuild index 7c3cf3832513..c26a14c1fc59 100644 --- a/games-fps/quake2-textures/quake2-textures-0_beta8.ebuild +++ b/games-fps/quake2-textures/quake2-textures-0_beta8-r1.ebuild @@ -1,40 +1,31 @@ -# Copyright 1999-2017 Gentoo Foundation +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=5 -inherit eutils versionator games +EAPI=7 -MY_PV=$(get_version_component_range 2-2) +MY_PV=$(ver_cut 2-) MY_PV=${MY_PV/beta/} DESCRIPTION="High-resolution textures for Quake 2" HOMEPAGE="http://jdolan.tastyspleen.net/" SRC_URI="http://jdolan.tastyspleen.net/pak${MY_PV}.zip" +S="${WORKDIR}" LICENSE="all-rights-reserved" SLOT="0" KEYWORDS="~amd64 ~x86" -IUSE="" -RESTRICT="mirror bindist" -RDEPEND="" -DEPEND="app-arch/unzip" +RESTRICT="bindist mirror" -S=${WORKDIR} -dir=${GAMES_DATADIR}/quake2 +BDEPEND="app-arch/unzip" src_install() { - insinto "${dir}"/baseq2 + insinto /usr/share/quake2/baseq2 doins *.pak - dodoc README - - prepgamesdirs } pkg_postinst() { - games_pkg_postinst - elog "Use a recent Quake 2 client to take advantage of" elog "these textures, e.g. qudos or quake2-icculus." echo diff --git a/games-fps/quakeforge/Manifest b/games-fps/quakeforge/Manifest index e34227e6aee9..8b9eb11acfb9 100644 --- a/games-fps/quakeforge/Manifest +++ b/games-fps/quakeforge/Manifest @@ -1 +1 @@ -DIST quakeforge-0.7.2.tar.bz2 2887823 BLAKE2B 27526b0e5491cc9a052f70c387c46b0d5518c0d63264f799cac81e471a87b978c9edcf22f4a68db25b8c05b7b51371504459e8ba5de450719e92aae712940cc7 SHA512 d296e10b86466aee0a4be527a5fea7a44bae60ebef52ad86381744dc96e2bed2ad14d3b790b4514a5c59ac897662e91b80a9d49c822910930742a1d2b8a2ec55 +DIST quakeforge-0.7.2_p20210722.tar.gz 3157720 BLAKE2B 9757ed10a5f78d9b5f09029c149c3fc121daf4bef2cc5a1687d00d2d85c36065663407318478c801a4ae62dee03713e35009c91f590d1686678756da1aab7824 SHA512 1c3778ff73cffbb5cadc33e0b544935f822a0f983ed67945dbbd7f6624752b68e3da46f1836f38f22cbae9a9ac191eeacc256ca5da540c5448dfc1fb56b68aa4 diff --git a/games-fps/quakeforge/files/quakeforge-0.7.2-gentoo.patch b/games-fps/quakeforge/files/quakeforge-0.7.2-gentoo.patch deleted file mode 100644 index 38fb0c187689..000000000000 --- a/games-fps/quakeforge/files/quakeforge-0.7.2-gentoo.patch +++ /dev/null @@ -1,33 +0,0 @@ ---- a/nq/source/Makefile.am 2012-11-18 16:57:56.658388682 +0100 -+++ b/nq/source/Makefile.am 2012-11-18 16:58:11.470268607 +0100 -@@ -138,7 +138,7 @@ - nq_x11_SOURCES= sys_unix.c - nq_x11_LDADD= $(nq_x11_libs) \ - $(VIDMODE_LIBS) $(DGA_LIBS) $(X_LIBS) -lX11 \ -- $(X_EXTRA_LIBS) $(X_SHM_LIB) $(NET_LIBS) -+ $(X_EXTRA_LIBS) $(X_SHM_LIB) $(NET_LIBS) -ldl - nq_x11_LDFLAGS= $(common_ldflags) - nq_x11_DEPENDENCIES= $(nq_x11_libs) - ---- a/qw/source/Makefile.am 2012-11-18 17:10:59.148172332 +0100 -+++ b/qw/source/Makefile.am 2012-11-18 17:11:55.866876762 +0100 -@@ -168,7 +168,7 @@ - qw_client_x11_SOURCES= cl_sys_unix.c - qw_client_x11_LDADD= $(qw_client_x11_libs) \ - $(VIDMODE_LIBS) $(DGA_LIBS) $(X_LIBS) -lX11 \ -- $(X_EXTRA_LIBS) $(X_SHM_LIB) $(NET_LIBS) $(LIBCURL_LIBS) -+ $(X_EXTRA_LIBS) $(X_SHM_LIB) $(NET_LIBS) $(LIBCURL_LIBS) -ldl - qw_client_x11_LDFLAGS= $(common_ldflags) - qw_client_x11_DEPENDENCIES= $(qw_client_x11_libs) - ---- a/tools/qwaq/Makefile.am 2012-11-18 17:15:16.024714317 +0100 -+++ b/tools/qwaq/Makefile.am 2012-11-18 17:15:41.955749660 +0100 -@@ -38,7 +38,7 @@ - qwaq_x11_SOURCES=qwaq.c qwaq-bi.c - qwaq_x11_LDADD= $(qwaq_x11_libs) $(QWAQ_LIBS) \ - $(VIDMODE_LIBS) $(DGA_LIBS) $(X_LIBS) -lX11 \ -- $(X_EXTRA_LIBS) $(X_SHM_LIB) -+ $(X_EXTRA_LIBS) $(X_SHM_LIB) -ldl - qwaq_x11_LDFLAGS= - qwaq_x11_DEPENDENCIES= $(qwaq_x11_libs) $(QWAQ_DEPS) - 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 bd3de0628e47..5114e2157d9b 100644 --- a/games-fps/quakeforge/metadata.xml +++ b/games-fps/quakeforge/metadata.xml @@ -1,39 +1,40 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="project"> <email>games@gentoo.org</email> <name>Gentoo Games Project</name> </maintainer> <longdescription> -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. -</longdescription> + 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. + </longdescription> <use> - <flag name="wildmidi">enable libWildMidi support</flag> - <flag name="xdg">enable XDG support</flag> + <flag name="client">Build Normal and QuakeWorld clients alongside the servers</flag> + <flag name="wildmidi">Use <pkg>media-sound/wildmidi</pkg> for midi support</flag> </use> <upstream> + <remote-id type="github">quakeforge/quakeforge</remote-id> <remote-id type="sourceforge">quake</remote-id> </upstream> </pkgmetadata> diff --git a/games-fps/quakeforge/quakeforge-0.7.2-r1.ebuild b/games-fps/quakeforge/quakeforge-0.7.2-r1.ebuild deleted file mode 100644 index 37a670a5b276..000000000000 --- a/games-fps/quakeforge/quakeforge-0.7.2-r1.ebuild +++ /dev/null @@ -1,126 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 -inherit eutils flag-o-matic autotools - -DESCRIPTION="New 3d engine based off of id Softwares's Quake and QuakeWorld game engine" -HOMEPAGE="http://www.quakeforge.net/" -SRC_URI="mirror://sourceforge/quake/${P}.tar.bz2" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="alsa cdinstall debug dga fbcon flac ipv6 ncurses oss png sdl vorbis wildmidi X xdg xv zlib" -RESTRICT="userpriv" - -RDEPEND=" - media-libs/libsamplerate - net-misc/curl - virtual/opengl - alsa? ( media-libs/alsa-lib ) - dga? ( x11-libs/libXxf86dga ) - flac? ( media-libs/flac ) - ncurses? ( sys-libs/ncurses:0 ) - png? ( media-libs/libpng:0 ) - sdl? ( media-libs/libsdl[video] ) - vorbis? ( - media-libs/libogg - media-libs/libvorbis - ) - wildmidi? ( media-sound/wildmidi ) - X? ( - x11-libs/libX11 - x11-libs/libXext - x11-libs/libXxf86vm - ) - xv? ( - x11-libs/libX11 - x11-libs/libXext - x11-libs/libXxf86vm - ) - zlib? ( sys-libs/zlib )" -DEPEND="${RDEPEND} - cdinstall? ( games-fps/quake1-data ) - >=sys-devel/bison-2.6 - sys-devel/flex - virtual/pkgconfig" - -PATCHES=( - "${FILESDIR}"/${P}-gentoo.patch -) - -src_prepare() { - default - eautoreconf - append-cflags -std=gnu89 # build with gcc5 (bug #570392) -} - -src_configure() { - local debugopts - use debug \ - && debugopts="--enable-debug --disable-optimize --enable-profile" \ - || debugopts="--disable-debug --disable-profile" - - local clients=${QF_CLIENTS} - use fbcon && clients="${clients},fbdev" - use sdl && clients="${clients},sdl" - use X && clients="${clients},x11" - [ "${clients:0:1}" == "," ] && clients=${clients:1} - - local servers=${QF_SERVERS:-master,nq,qw,qtv} - - local tools=${QF_TOOLS:-all} - - econf \ - --enable-dependency-tracking \ - $(use_enable ncurses curses) \ - $(use_enable vorbis) \ - $(use_enable png) \ - $(use_enable zlib) \ - $(use_with ipv6) \ - $(use_with fbcon fbdev) \ - $(use_with X x) \ - $(use_enable xv vidmode) \ - $(use_enable dga) \ - $(use_enable sdl) \ - --disable-xmms \ - $(use_enable alsa) \ - $(use_enable flac) \ - $(use_enable oss) \ - $(use_enable xdg) \ - $(use_enable wildmidi) \ - --enable-sound \ - --disable-optimize \ - --disable-Werror \ - --without-svga \ - ${debugopts} \ - --with-global-cfg=/etc/quakeforge.conf \ - --with-sharepath=/usr/share/quake1 \ - --with-clients=${clients} \ - --with-servers=${servers} \ - --with-tools=${tools} -} - -src_install() { - emake -j1 DESTDIR="${D}" install - dodoc ChangeLog NEWS TODO -} - -pkg_postinst() { - # same warning used in quake1 / quakeforge / nprquake-sdl - echo - elog "Before you can play, you must make sure" - elog "${PN} can find your Quake .pak files" - elog - elog "You have 2 choices to do this" - elog "1 Copy pak*.pak files to /usr/share/quake1/id1" - elog "2 Symlink pak*.pak files in /usr/share/quake1/id1" - elog - elog "Example:" - elog "my pak*.pak files are in /mnt/secondary/Games/Quake/Id1/" - elog "ln -s /mnt/secondary/Games/Quake/Id1/pak0.pak /usr/share/quake1/id1/pak0.pak" - elog - elog "You only need pak0.pak to play the demo version," - elog "the others are needed for registered version" -} diff --git a/games-fps/quakeforge/quakeforge-0.7.2_p20210722-r2.ebuild b/games-fps/quakeforge/quakeforge-0.7.2_p20210722-r2.ebuild new file mode 100644 index 000000000000..49370b798b8c --- /dev/null +++ b/games-fps/quakeforge/quakeforge-0.7.2_p20210722-r2.ebuild @@ -0,0 +1,166 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools flag-o-matic 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-text/doxygen[dot] + >=media-gfx/fig2dev-3.2.9-r1 + )" + +PATCHES=( + "${FILESDIR}"/${P}-skipped-tests.patch +) + +src_prepare() { + default + + echo ${PV} > .tarball-version || die + eautoreconf +} + +src_configure() { + filter-lto #858755 + unset LEX YACC #902997,884287 + + 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..51a4a3e89b0f --- /dev/null +++ b/games-fps/quakeforge/quakeforge-9999.ebuild @@ -0,0 +1,156 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools flag-o-matic readme.gentoo-r1 toolchain-funcs + +if [[ ${PV} == 9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/quakeforge/quakeforge.git" +else + QUAKEFORGE_COMMIT="" + SRC_URI="https://github.com/quakeforge/quakeforge/archive/${QUAKEFORGE_COMMIT}.tar.gz -> ${P}.tar.gz" + S="${WORKDIR}/${PN}-${QUAKEFORGE_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/libXfixes + x11-libs/libXi + 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-text/doxygen[dot] + >=media-gfx/fig2dev-3.2.9-r1 + )" + +src_prepare() { + default + + # These seem to fail at high precision and shouldn't affect normal use. + # quat/simd: may fail with -mavx, sebvf: random? (likely hardware related) + sed -i '/test-\(quat\|simd\|sebvf\)/d' libs/util/test/Makemodule.am || die + + echo ${PV} > .tarball-version || die + eautoreconf +} + +src_configure() { + filter-lto #858755 + unset LEX YACC #902997,884287 + + qf_client() { + 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 + --disable-simd # all this does is append -mavx2 and similar + --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 +} diff --git a/games-fps/qudos/Manifest b/games-fps/qudos/Manifest deleted file mode 100644 index 7670e0050d3f..000000000000 --- a/games-fps/qudos/Manifest +++ /dev/null @@ -1,2 +0,0 @@ -DIST QuDos-0.40.1-src.tar.bz2 2031636 BLAKE2B 4940f589cc6239e1489bb81f2e0c0afd6efb36930595c57131927b777913c904ada04883eb5f12f9aaf0ba06d687bf4be8b03f369dd9684fe21d7b1068240599 SHA512 97b9c6bac0d09c060ab33174604deb2781f0ebdc48b00bd0bc402523fb04cdf84edd8abc18507bba8c7e616f6d460a1de6debc96ec39bb5562b20a7f06eea734 -DIST QuDos-0.40.1.pk3 4210489 BLAKE2B 98e07682368e52f4c318e7b9ab98d01b0363986bfea54edff3b13f7f2f4cad20de0146eb498569d024d22200830b341b02f135bf50df4a317915429bb1437439 SHA512 19c3c6b3d17cbd9642320d8eb7a83d667afeafd0ee5eb818e9f07be71e2ab69182474c1f529ecbcfcfa59590bafedb0de3c70dfff10e4bc7a6e07a1546f27d4b diff --git a/games-fps/qudos/files/qudos-0.40.1-gnusource.patch b/games-fps/qudos/files/qudos-0.40.1-gnusource.patch deleted file mode 100644 index dd2113b0c3bb..000000000000 --- a/games-fps/qudos/files/qudos-0.40.1-gnusource.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- src/unix/qsh_unix.c.orig 2011-10-22 17:46:37.665993357 -0500 -+++ src/unix/qsh_unix.c 2011-10-22 17:46:40.965972209 -0500 -@@ -17,6 +17,9 @@ - * Temple Place - Suite 330, Boston, MA 02111-1307, USA. - * - */ -+#if !defined(_GNU_SOURCE) -+ #define _GNU_SOURCE -+#endif - #include <sys/types.h> - #include <sys/stat.h> - #include <sys/time.h> diff --git a/games-fps/qudos/files/qudos-0.40.1-libpng15.patch b/games-fps/qudos/files/qudos-0.40.1-libpng15.patch deleted file mode 100644 index ecf9de9370e9..000000000000 --- a/games-fps/qudos/files/qudos-0.40.1-libpng15.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- src/ref_gl/gl_local.h -+++ src/ref_gl/gl_local.h -@@ -29,6 +29,7 @@ - #include <GL/glu.h> - #include <GL/glext.h> - -+#include <zlib.h> /* Z_DEFAULT_COMPRESSION */ - #include <png.h> - #include <jpeglib.h> - diff --git a/games-fps/qudos/metadata.xml b/games-fps/qudos/metadata.xml deleted file mode 100644 index 114138906332..000000000000 --- a/games-fps/qudos/metadata.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version='1.0' encoding='UTF-8'?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> -<pkgmetadata> - <maintainer type="project"> - <email>games@gentoo.org</email> - <name>Gentoo Games Project</name> - </maintainer> - <use> - <flag name="demo">Install the demo files (quake2-demodata) and configure for use</flag> - <flag name="mods">Build support for the quake2 mission packs</flag> - <flag name="qmax">Build the pretty version (quake max)</flag> - <flag name="textures">Install the enhanced textures (quake2-textures)</flag> - </use> - <upstream> - <remote-id type="github">ZwS/qudos</remote-id> - </upstream> -</pkgmetadata> diff --git a/games-fps/qudos/qudos-0.40.1.ebuild b/games-fps/qudos/qudos-0.40.1.ebuild deleted file mode 100644 index 27988248d7dd..000000000000 --- a/games-fps/qudos/qudos-0.40.1.ebuild +++ /dev/null @@ -1,174 +0,0 @@ -# Copyright 1999-2016 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=5 -inherit eutils toolchain-funcs games - -FILE_STEM="QuDos-${PV}-src" -PK3_FILE="QuDos-${PV}.pk3" -MY_PN="quake2" - -DESCRIPTION="Enhanced Quake 2 engine" -HOMEPAGE="https://github.com/ZwS/qudos" -SRC_URI="mirror://gentoo/${FILE_STEM}.tar.bz2 - https://github.com/ZwS/qudos/raw/master/quake2/baseq2/qudos.pk3 -> ${PK3_FILE}" - -LICENSE="GPL-2+" -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="cdinstall debug dedicated demo dga ipv6 joystick mods opengl qmax oss sdl textures" - -DEPEND="opengl? ( - virtual/opengl - virtual/glu ) - sdl? ( media-libs/libsdl[joystick?,opengl,sound,video] - virtual/opengl - virtual/glu ) - virtual/jpeg:0 - media-libs/libogg - media-libs/libpng:0 - media-libs/libvorbis - sys-libs/zlib - x11-libs/libX11 - x11-libs/libXext - x11-libs/libXxf86dga - x11-libs/libXxf86vm" -RDEPEND="${DEPEND} - cdinstall? ( games-fps/quake2-data ) - demo? ( games-fps/quake2-demodata[symlink] ) - textures? ( games-fps/quake2-textures )" - -S=${WORKDIR}/${FILE_STEM} -dir=${GAMES_DATADIR}/${MY_PN} - -default_client() { - if use opengl || use sdl || ! use dedicated ; then - # Build default client - return 0 - fi - return 1 -} - -pkg_setup() { - games_pkg_setup - - if ! use qmax && $( use opengl || use sdl ) ; then - elog "The 'qmax' graphical improvements are recommended." - echo - fi - - if use debug ; then - ewarn "The 'debug' USE flag may cause compilation to fail with:" - ewarn - ewarn "src/qcommon/cmd.c:364: warning: dereferencing type-punned" - ewarn "pointer will break strict-aliasing rules." - echo - fi - - # Determine the default sound driver, in order of preference - # snd_drv is not a local variable - snd_drv="" - [[ -z "${snd_drv}" ]] && use oss && snd_drv="oss" - [[ -z "${snd_drv}" ]] && use sdl && snd_drv="sdl" - # Default if nothing else chosen - [[ -z "${snd_drv}" ]] && snd_drv="oss" - - if default_client ; then - elog "Selected the ${snd_drv} sound driver as the default." - echo - fi -} - -src_unpack() { - unpack "${FILE_STEM}.tar.bz2" -} - -src_prepare() { - rm docs/gnu.txt - - # Change default sound driver and its location - sed -i \ - -e "s:\"oss\":\"${snd_drv}\":" \ - -e "s:\"\./snd:\"$(games_get_libdir)/${PN}/snd:" \ - src/client/snd_dma.c || die - - sed -i \ - -e 's:jpeg_mem_src:qudos_jpeg_mem_src:g' \ - src/ref_gl/gl_image.c || die - - if has_version '>=sys-libs/zlib-1.2.5.1-r1' ; then - sed -i \ - -e '1i#define OF(x) x' \ - src/qcommon/unzip/ioapi.h || die - fi - sed -i -e '106,119 s/CFL/LED/' Makefile || die - - epatch \ - "${FILESDIR}"/${P}-libpng15.patch \ - "${FILESDIR}"/${P}-gnusource.patch -} - -src_compile() { - yesno() { usex $1 YES NO; } - - local client="YES" - default_client || client="NO" - - local type="release" - use debug && type="debug" - - emake \ - BUILD_QUAKE2="${client}" \ - BUILD_DEDICATED=$(yesno dedicated) \ - BUILD_GLX=$(yesno opengl) \ - BUILD_SDLGL=$(yesno sdl) \ - BUILD_ALSA_SND=NO \ - BUILD_SDL_SND=$(yesno sdl) \ - BUILD_OSS_SND=$(yesno oss) \ - WITH_XMMS=NO \ - WITH_DGA_MOUSE=$(yesno dga) \ - WITH_JOYSTICK=$(yesno joystick) \ - TYPE="${type}" \ - DATADIR="${dir}" \ - LOCALBASE=/usr \ - LIBDIR="$(games_get_libdir)"/${PN} \ - WITH_QMAX=$(yesno qmax) \ - BUILD_3ZB2=$(yesno mods) \ - BUILD_CTF=$(yesno mods) \ - BUILD_JABOT=$(yesno mods) \ - BUILD_ROGUE=$(yesno mods) \ - BUILD_XATRIX=$(yesno mods) \ - BUILD_ZAERO=$(yesno mods) \ - WITH_BOTS=$(yesno mods) \ - HAVE_IPV6=$(yesno ipv6) \ - CC="$(tc-getCC)" \ - WITH_X86_ASM=NO \ - WITH_DATADIR=YES \ - WITH_LIBDIR=YES \ - BUILD_DEBUG_DIR=release \ - BUILD_RELEASE_DIR=release -} - -src_install() { - if default_client ; then - newgamesbin ${MY_PN}/QuDos ${PN} - # Change from gif to png in next version? - newicon docs/q2_orig/quake2.gif ${PN}.gif - make_desktop_entry ${PN} "QuDos" ${PN}.gif - fi - - if use dedicated ; then - newgamesbin ${MY_PN}/QuDos-ded ${PN}-ded - fi - - insinto "$(games_get_libdir)"/${PN} - doins -r ${MY_PN}/* - rm "${D}/$(games_get_libdir)"/${PN}/QuDos - - insinto "$(games_get_libdir)"/${PN}/baseq2 - newins "${DISTDIR}/${PK3_FILE}" qudos.pk3 - - dodoc $(find docs -name \*.txt) docs/q2_orig/README* - - prepgamesdirs -} diff --git a/games-fps/red-blue-quake2/files/0.1-gentoo.patch b/games-fps/red-blue-quake2/files/0.1-gentoo.patch index fd13df9bcb45..e283e6e3bc03 100644 --- a/games-fps/red-blue-quake2/files/0.1-gentoo.patch +++ b/games-fps/red-blue-quake2/files/0.1-gentoo.patch @@ -1,6 +1,6 @@ diff -ur Makefile.old Makefile ---- Makefile 2001-12-29 20:37:22.000000000 -0500 -+++ Makefile 2003-07-17 22:14:50.000000000 -0400 +--- a/linux/Makefile ++++ b/linux/Makefile @@ -54,7 +54,7 @@ RELEASE_CFLAGS=$(BASE_CFLAGS) -O6 -ffast-math -funroll-loops \ -fomit-frame-pointer -fexpensive-optimizations @@ -11,8 +11,8 @@ diff -ur Makefile.old Makefile endif diff -ur sys_linux.c.old sys_linux.c ---- sys_linux.c.old 2001-12-22 18:45:58.000000000 -0500 -+++ sys_linux.c 2003-07-17 22:34:11.000000000 -0400 +--- a/linux/sys_linux.c ++++ b/linux/sys_linux.c @@ -220,7 +220,7 @@ char curpath[MAX_OSPATH];
char *path;
@@ -38,8 +38,8 @@ diff -ur sys_linux.c.old sys_linux.c }
diff -ur ../qcommon/files.c ../qcommon/files.c ---- ../qcommon/files.c 2001-12-22 16:32:26.000000000 -0500 -+++ ../qcommon/files.c 2003-07-17 22:34:29.000000000 -0400 +--- a/qcommon/files.c ++++ b/qcommon/files.c @@ -865,7 +865,7 @@ //
// start up with baseq2 by default
@@ -50,8 +50,8 @@ diff -ur ../qcommon/files.c ../qcommon/files.c // any set gamedirs will be freed up to here
fs_base_searchpaths = fs_searchpaths;
diff -ur ../qcommon/qcommon.h ../qcommon/qcommon.h ---- ../qcommon/qcommon.h 2001-12-22 16:32:26.000000000 -0500 -+++ ../qcommon/qcommon.h 2003-07-17 21:20:03.000000000 -0400 +--- a/qcommon/qcommon.h ++++ b/qcommon/qcommon.h @@ -25,7 +25,7 @@ #define VERSION 3.21
diff --git a/games-fps/red-blue-quake2/files/red-blue-quake2-0.1-gcc41.patch b/games-fps/red-blue-quake2/files/red-blue-quake2-0.1-gcc41.patch index 1f933d33537e..22ca5c56a54f 100644 --- a/games-fps/red-blue-quake2/files/red-blue-quake2-0.1-gcc41.patch +++ b/games-fps/red-blue-quake2/files/red-blue-quake2-0.1-gcc41.patch @@ -1,5 +1,5 @@ ---- ../game/g_local.h.old 2006-05-07 00:27:45.000000000 +0200 -+++ ../game/g_local.h 2006-05-07 00:28:06.000000000 +0200 +--- a/game/g_local.h ++++ b/game/g_local.h @@ -458,11 +458,6 @@ extern int sm_meat_index;
extern int snd_fry;
@@ -12,8 +12,8 @@ // means of death
#define MOD_UNKNOWN 0
#define MOD_BLASTER 1
---- ../ctf/g_local.h.old 2006-05-07 00:36:21.000000000 +0200 -+++ ../ctf/g_local.h 2006-05-07 00:36:38.000000000 +0200 +--- a/ctf/g_local.h ++++ b/ctf/g_local.h @@ -466,11 +466,6 @@ extern int sm_meat_index;
extern int snd_fry;
diff --git a/games-fps/red-blue-quake2/files/red-blue-quake2-0.1-ldflags.patch b/games-fps/red-blue-quake2/files/red-blue-quake2-0.1-ldflags.patch index 58beb0f3cec5..547b9045a869 100644 --- a/games-fps/red-blue-quake2/files/red-blue-quake2-0.1-ldflags.patch +++ b/games-fps/red-blue-quake2/files/red-blue-quake2-0.1-ldflags.patch @@ -1,5 +1,5 @@ ---- Makefile.old 2010-10-18 09:09:48.000000000 +0200 -+++ Makefile 2010-10-18 09:15:59.000000000 +0200 +--- a/linux/Makefile ++++ b/linux/Makefile @@ -59,7 +59,7 @@ endif diff --git a/games-fps/red-blue-quake2/metadata.xml b/games-fps/red-blue-quake2/metadata.xml index 78274e0fa550..1c3ba213c494 100644 --- a/games-fps/red-blue-quake2/metadata.xml +++ b/games-fps/red-blue-quake2/metadata.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="project"> <email>games@gentoo.org</email> diff --git a/games-fps/red-blue-quake2/red-blue-quake2-0.1-r1.ebuild b/games-fps/red-blue-quake2/red-blue-quake2-0.1-r1.ebuild new file mode 100644 index 000000000000..01e871966b25 --- /dev/null +++ b/games-fps/red-blue-quake2/red-blue-quake2-0.1-r1.ebuild @@ -0,0 +1,73 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit toolchain-funcs + +DESCRIPTION="Red-blue Quake II! Play quake2 with 3D glasses!" +HOMEPAGE="https://www.jfedor.org/red-blue-quake2/" +SRC_URI="mirror://idsoftware/source/q2source-3.21.zip + https://www.jfedor.org/red-blue-quake2/${P}.tar.gz" +S="${WORKDIR}"/quake2-3.21 + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~x86" + +RDEPEND="x11-libs/libX11" +DEPEND="${RDEPEND}" +BDEPEND="app-arch/unzip" + +PATCHES=( + "${FILESDIR}"/${PV}-gentoo.patch + "${FILESDIR}"/${P}-gcc41.patch + "${FILESDIR}"/${P}-ldflags.patch +) + +src_prepare() { + default + + cd linux || die + + sed -i \ + -e "s:GENTOO_DIR:$(get_libdir)/${PN}:" \ + sys_linux.c || die + + sed -i \ + -e "s:/etc/quake2.conf:/etc/${PN}.conf:" \ + sys_linux.c vid_so.c || die + + sed -i \ + -e 's:-O6::' \ + -e 's:-g::' \ + Makefile || die + + echo "$(get_libdir)"/${PN} > "${T}"/${PN}.conf || die +} + +src_compile() { + cd linux || die + + mkdir -p releasei386-glibc/ref_soft || die + + emake \ + CC="$(tc-getCC)" \ + GENTOO_CFLAGS="${CFLAGS}" \ + GENTOO_DATADIR=/usr/share/quake2/baseq2/ \ + build_release +} + +src_install() { + cd linux/release* || die + + exeinto "$(get_libdir)"/${PN} + doexe gamei386.so ref_softx.so + + exeinto "$(get_libdir)"/${PN}/ctf + doexe ctf/gamei386.so + newbin quake2 red-blue-quake2 + + insinto /etc + doins "${T}"/${PN}.conf +} diff --git a/games-fps/red-blue-quake2/red-blue-quake2-0.1.ebuild b/games-fps/red-blue-quake2/red-blue-quake2-0.1.ebuild deleted file mode 100644 index 96715daaab62..000000000000 --- a/games-fps/red-blue-quake2/red-blue-quake2-0.1.ebuild +++ /dev/null @@ -1,57 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=5 -inherit eutils games - -DESCRIPTION="red-blue Quake II ! play quake2 w/3d glasses !" -HOMEPAGE="https://www.jfedor.org/red-blue-quake2/" -SRC_URI="mirror://idsoftware/source/q2source-3.21.zip - https://www.jfedor.org/red-blue-quake2/${P}.tar.gz" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~x86" -IUSE="" - -RDEPEND="x11-libs/libX11" -DEPEND="${RDEPEND} - app-arch/unzip" - -S=${WORKDIR}/quake2-3.21/linux - -src_prepare() { - epatch "${FILESDIR}"/${PV}-gentoo.patch \ - "${FILESDIR}/${P}"-gcc41.patch \ - "${FILESDIR}/${P}"-ldflags.patch - sed -i \ - -e "s:GENTOO_DIR:$(games_get_libdir)/${PN}:" \ - sys_linux.c || die - sed -i \ - -e "s:/etc/quake2.conf:${GAMES_SYSCONFDIR}/${PN}.conf:" \ - sys_linux.c vid_so.c || die - echo "$(games_get_libdir)"/${PN} > "${T}"/${PN}.conf || die -} - -src_compile() { - mkdir -p releasei386-glibc/ref_soft - emake \ - GENTOO_CFLAGS="${CFLAGS}" \ - GENTOO_DATADIR="${GAMES_DATADIR}"/quake2/baseq2/ \ - build_release -} - -src_install() { - cd release* - - exeinto "$(games_get_libdir)"/${PN} - doexe gamei386.so ref_softx.so - exeinto "$(games_get_libdir)"/${PN}/ctf - doexe ctf/gamei386.so - newgamesbin quake2 red-blue-quake2 - - insinto "${GAMES_SYSCONFDIR}" - doins "${T}"/${PN}.conf - - prepgamesdirs -} diff --git a/games-fps/redeclipse/Manifest b/games-fps/redeclipse/Manifest index a4c91aa7a866..01ebe9068941 100644 --- a/games-fps/redeclipse/Manifest +++ b/games-fps/redeclipse/Manifest @@ -1,2 +1 @@ -DIST redeclipse_1.6.0_nix.tar.bz2 898467399 BLAKE2B 85b4d02ea95cc44d902f6512ec5ce512583353107deb690ec24608d9b96fd4a6b7fd720250413a192cf7229b2f66294ddeb81230e5ace06abdcd4f6f3dc8d92f SHA512 e944aed8155b5e89e8df000516d4a019a63d38d7ad9c3982b2e111f8a20bc848a98e30c1b60f4fdaf006c2ff9e2cb04647c07778eb2562eaf7db733dbce11233 DIST redeclipse_2.0.0_nix.tar.bz2 948705751 BLAKE2B 00cb03320f80433db1cc5bb9b895cdc829453e64e32d0e481eeac6c5dec9332b2e763f511bee4e9917b334d3f383c2c2a2605dfbd07cc73ffeb3f8efb90278fc SHA512 179a8177ddafefb09de38629c7cc15e8843cd49ad3580093c9f4243dd0d2d2fe095e8df770c2a8f3996d4e273822d6bc955acca73f8191266adb95a34beaf6dd diff --git a/games-fps/redeclipse/metadata.xml b/games-fps/redeclipse/metadata.xml index 82f11922de55..bb382631e939 100644 --- a/games-fps/redeclipse/metadata.xml +++ b/games-fps/redeclipse/metadata.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="person"> + <maintainer type="person" proxied="yes"> <email>kitsunenokenja@protonmail.ch</email> <name>Rob Levitsky</name> </maintainer> @@ -9,7 +9,7 @@ <email>games@gentoo.org</email> <name>Gentoo Games Project</name> </maintainer> - <maintainer type="project"> + <maintainer type="project" proxied="proxy"> <email>proxy-maint@gentoo.org</email> <name>Proxy Maintainers</name> </maintainer> diff --git a/games-fps/redeclipse/redeclipse-1.6.0-r2.ebuild b/games-fps/redeclipse/redeclipse-1.6.0-r2.ebuild deleted file mode 100644 index a752c8763624..000000000000 --- a/games-fps/redeclipse/redeclipse-1.6.0-r2.ebuild +++ /dev/null @@ -1,82 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -inherit desktop - -DESCRIPTION="First-person ego-shooter, built as a total conversion of Cube Engine 2" -HOMEPAGE="https://www.redeclipse.net" -SRC_URI="https://github.com/red-eclipse/base/releases/download/v${PV}/${PN}_${PV}_nix.tar.bz2" - -# According to doc/license.txt file -LICENSE="HPND ZLIB CC-BY-SA-3.0" -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="dedicated" - -DEPEND="!dedicated? ( - media-libs/freetype:2 - media-libs/libsdl:0[opengl] - media-libs/sdl2-image:0[jpeg,png] - media-libs/sdl2-mixer:0[mp3,vorbis] - virtual/opengl - x11-libs/libX11 - ) - >=net-libs/enet-1.3.9 - sys-libs/zlib" -RDEPEND="${DEPEND}" - -src_prepare() { - sed -e "s:@APPNAME@:${PN}:" \ - src/install/nix/redeclipse.desktop.am \ - > src/install/nix/redeclipse.desktop || die - - if ! use dedicated; then - sed -e "s:@LIBEXECDIR@:/usr/libexec:g" \ - -e "s:@DATADIR@:/usr/share:g" \ - -e "s:@DOCDIR@:/usr/share/doc/${PF}:" \ - -e "s:@CAPPNAME@:${PN^^}:g" \ - -e "s:@APPNAME@:${PN}:g" \ - doc/man/redeclipse.6.am \ - > doc/man/redeclipse.6 || die - fi - - sed -e "s:@LIBEXECDIR@:/usr/libexec:g" \ - -e "s:@DATADIR@:/usr/share:g" \ - -e "s:@DOCDIR@:/usr/share/doc/${PF}:" \ - -e "s:@CAPPNAME@:${PN^^}:g" \ - -e "s:@APPNAME@:${PN}:g" \ - doc/man/redeclipse-server.6.am \ - > doc/man/redeclipse-server.6 || die - - default -} - -src_compile() { - if ! use dedicated; then - emake CXXFLAGS="${CXXFLAGS}" STRIP= -C src client server - else - emake CXXFLAGS="${CXXFLAGS}" STRIP= -C src server - fi -} - -src_install() { - insinto /usr/share/redeclipse - doins -r config data - - dobin src/redeclipse_server_linux - - if ! use dedicated; then - dobin src/redeclipse_linux - newicon "src/install/nix/${PN}_x128.png" "${PN}.png" - domenu "src/install/nix/${PN}.desktop" - doman doc/man/redeclipse.6 - fi - - doman doc/man/redeclipse-server.6 - dodoc readme.txt doc/examples/servinit.cfg - - dobin "${FILESDIR}/redeclipse" - dosym redeclipse /usr/bin/redeclipse_server -} diff --git a/games-fps/redeclipse/redeclipse-2.0.0.ebuild b/games-fps/redeclipse/redeclipse-2.0.0-r1.ebuild index 8af7b5e88911..6b310ddfc6f2 100644 --- a/games-fps/redeclipse/redeclipse-2.0.0.ebuild +++ b/games-fps/redeclipse/redeclipse-2.0.0-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -11,18 +11,18 @@ SRC_URI="https://github.com/${PN}/base/releases/download/v${PV}/${PN}_${PV}_nix. # According to doc/license.txt file LICENSE="ZLIB CC-BY-SA-4.0" SLOT="0" -KEYWORDS="~amd64 ~x86" +KEYWORDS="~amd64 ~arm64 ~x86" IUSE="dedicated" DEPEND="!dedicated? ( media-libs/freetype:2 - media-libs/libsdl:0[opengl] + media-libs/libsdl2[opengl] media-libs/sdl2-image:0[jpeg,png] media-libs/sdl2-mixer:0[mp3,vorbis] virtual/opengl x11-libs/libX11 ) - >=net-libs/enet-1.3.9 + >=net-libs/enet-1.3.9:= sys-libs/zlib" RDEPEND="${DEPEND}" diff --git a/games-fps/rott/metadata.xml b/games-fps/rott/metadata.xml index 5bc2b194722d..d54cf0f05440 100644 --- a/games-fps/rott/metadata.xml +++ b/games-fps/rott/metadata.xml @@ -1,24 +1,24 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="project"> <email>games@gentoo.org</email> <name>Gentoo Games Project</name> </maintainer> <longdescription> -THE STORY + THE STORY -You are part of an elite group of operatives called HUNT (High-risk -United Nations Taskforce), and you must stop a maniac cult leader from -killing millions of people. While scouting a remote island, you are -suddenly surrounded by enemy troops with guns blaring. In the distance -you see your boat--your only chance to escape--explode into matchsticks. -In front of you is a huge fortress monastery, and your only chance to -stop the madness. You are e quipped with awesome, high-tech weaponry -like heat-seeking missiles, split missiles, and the Flamewall cannon, -which leaves a trail of charred skeletons in its wake. You'll also find -magical instruments and weapons so incredible they defy description. -</longdescription> + You are part of an elite group of operatives called HUNT (High-risk + United Nations Taskforce), and you must stop a maniac cult leader from + killing millions of people. While scouting a remote island, you are + suddenly surrounded by enemy troops with guns blaring. In the distance + you see your boat--your only chance to escape--explode into matchsticks. + In front of you is a huge fortress monastery, and your only chance to + stop the madness. You are e quipped with awesome, high-tech weaponry + like heat-seeking missiles, split missiles, and the Flamewall cannon, + which leaves a trail of charred skeletons in its wake. You'll also find + magical instruments and weapons so incredible they defy description. + </longdescription> <use> <flag name="demo">Install the shareware version</flag> </use> diff --git a/games-fps/rott/rott-1.1.2-r1.ebuild b/games-fps/rott/rott-1.1.2-r1.ebuild index 5eabd67d2f86..7b80302df3e4 100644 --- a/games-fps/rott/rott-1.1.2-r1.ebuild +++ b/games-fps/rott/rott-1.1.2-r1.ebuild @@ -1,25 +1,27 @@ -# Copyright 1999-2017 Gentoo Foundation +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=6 -inherit eutils +EAPI=8 + +inherit flag-o-matic toolchain-funcs DESCRIPTION="Rise of the Triad for Linux!" -HOMEPAGE="http://www.icculus.org/rott/" -SRC_URI="http://www.icculus.org/rott/releases/${P}.tar.gz +HOMEPAGE="https://www.icculus.org/rott/" +SRC_URI="https://www.icculus.org/rott/releases/${P}.tar.gz demo? ( http://filesingularity.timedoctor.org/swdata.zip )" -LICENSE="GPL-2" +LICENSE="GPL-2+" SLOT="0" KEYWORDS="~amd64 ~x86" IUSE="demo" -RDEPEND="media-libs/libsdl[sound,joystick,video] +RDEPEND=" + media-libs/libsdl[sound,joystick,video] media-libs/sdl-mixer" DEPEND="${RDEPEND} app-arch/unzip" -S=${WORKDIR}/${P}/rott +S="${WORKDIR}/${P}/rott" src_prepare() { default @@ -31,6 +33,19 @@ src_prepare() { } src_compile() { + # -Werror=lto-type-mismatch + # https://bugs.gentoo.org/858758 + # + # The upstream homepage notes that you should send bug reports and feature + # requests to your distro. Rationale: "1.1.2 contains all the debian + # patches from the previous 2.5 years" and "1.1.1. contains all the debian + # and fedora patches that accumulated during the past year." + # + # This is an interesting collaborative model that unfortunately means there + # will be NO bug report. + filter-lto + + tc-export CC emake -j1 \ EXTRACFLAGS="${CFLAGS} -DDATADIR=\\\"/usr/share/${PN}/\\\"" \ SHAREWARE=$(usex demo "1" "0") diff --git a/games-fps/sauerbraten/Manifest b/games-fps/sauerbraten/Manifest index 85124398a06f..71010ab94cfb 100644 --- a/games-fps/sauerbraten/Manifest +++ b/games-fps/sauerbraten/Manifest @@ -1 +1 @@ -DIST sauerbraten_2013_02_03_collect_edition_linux.tar.bz2 589941180 BLAKE2B b8a1c929dcf7a32bc289262fffcbcd4e7bbab3a9030c12bce7d086d63aaddee0c573c5d38f9ac845b3080aeac38d1b548aa9d243b462c3c682b158a379fe8cc2 SHA512 7864e346cc2bc86d78973db1b341fd8256cc2e1953be51263ef91a5374f9ec00276ba2940850e6d5bba7a57c71190b670dc7ba97021be2935c31f8694fed4897 +DIST sauerbraten_2020_12_27_linux.tar.bz2 985815649 BLAKE2B 4ec9caf705766aed76153a8631b1990c6432db8c816d579e891263b36adf0e7ed4831d2fee010b7692f6457989c0acea552f72c95e0924e97182d2a03dc947f2 SHA512 60487e0493478b9dd8940a9239834d8f3f6b6ca529f3c5b718f91caf5116073942ca6908d7fff26ab37b7ec590114ab07f24cdcea5c355288d3c2706d626ea28 diff --git a/games-fps/sauerbraten/files/sauerbraten-2013.02.03-QA.patch b/games-fps/sauerbraten/files/sauerbraten-2013.02.03-QA.patch deleted file mode 100644 index 21f1b13c7a2a..000000000000 --- a/games-fps/sauerbraten/files/sauerbraten-2013.02.03-QA.patch +++ /dev/null @@ -1,50 +0,0 @@ -applied on top of sauerbraten-2013.01.04-system-enet.patch - -respect LDFLAGS, CXXFLAGS and CPPFLAGS ---- sauerbraten/src/Makefile -+++ sauerbraten/src/Makefile -@@ -1,4 +1,4 @@ --CXXFLAGS= -O3 -fomit-frame-pointer -+CXXFLAGS ?= -O3 -fomit-frame-pointer - override CXXFLAGS+= -Wall -fsigned-char -fno-exceptions -fno-rtti - - PLATFORM= $(shell uname -s) -@@ -139,11 +139,11 @@ - -$(RM) $(CLIENT_PCH) $(CLIENT_OBJS) $(SERVER_OBJS) $(MASTER_OBJS) sauer_client sauer_server sauer_master - - %.h.gch: %.h -- $(CXX) $(CXXFLAGS) -o $(subst .h.gch,.tmp.h.gch,$@) $(subst .h.gch,.h,$@) -+ $(CXX) $(CPPFLAGS) $(CXXFLAGS) -o $(subst .h.gch,.tmp.h.gch,$@) $(subst .h.gch,.h,$@) - $(MV) $(subst .h.gch,.tmp.h.gch,$@) $@ - - %-standalone.o: %.cpp -- $(CXX) $(CXXFLAGS) -c -o $@ $(subst -standalone.o,.cpp,$@) -+ $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c -o $@ $(subst -standalone.o,.cpp,$@) - - $(CLIENT_OBJS): CXXFLAGS += $(CLIENT_INCLUDES) - $(filter shared/%,$(CLIENT_OBJS)): $(filter shared/%,$(CLIENT_PCH)) -@@ -168,19 +168,19 @@ - install: all - else - client: $(CLIENT_OBJS) -- $(CXX) $(CXXFLAGS) -o sauer_client $(CLIENT_OBJS) $(CLIENT_LIBS) -+ $(CXX) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS) -o sauer_client $(CLIENT_OBJS) $(CLIENT_LIBS) - - server: $(SERVER_OBJS) -- $(CXX) $(CXXFLAGS) -o sauer_server $(SERVER_OBJS) $(SERVER_LIBS) -+ $(CXX) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS) -o sauer_server $(SERVER_OBJS) $(SERVER_LIBS) - - master: $(MASTER_OBJS) -- $(CXX) $(CXXFLAGS) -o sauer_master $(MASTER_OBJS) $(MASTER_LIBS) -+ $(CXX) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS) -o sauer_master $(MASTER_OBJS) $(MASTER_LIBS) - - shared/cube2font.o: shared/cube2font.c -- $(CXX) $(CXXFLAGS) -c -o $@ $< `freetype-config --cflags` -+ $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c -o $@ $< `freetype-config --cflags` - - cube2font: shared/cube2font.o -- $(CXX) $(CXXFLAGS) -o cube2font shared/cube2font.o `freetype-config --libs` -lz -+ $(CXX) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS) -o cube2font shared/cube2font.o `freetype-config --libs` -lz - - install: all - cp sauer_client ../bin_unix/$(PLATFORM_PREFIX)_client diff --git a/games-fps/sauerbraten/files/sauerbraten-2013.02.03-system-enet.patch b/games-fps/sauerbraten/files/sauerbraten-2013.02.03-system-enet.patch deleted file mode 100644 index e87b280ba0c1..000000000000 --- a/games-fps/sauerbraten/files/sauerbraten-2013.02.03-system-enet.patch +++ /dev/null @@ -1,64 +0,0 @@ ---- sauerbraten/src/Makefile -+++ sauerbraten/src/Makefile -@@ -4,7 +4,7 @@ - PLATFORM= $(shell uname -s) - PLATFORM_PREFIX= native - --INCLUDES= -Ishared -Iengine -Ifpsgame -Ienet/include -+INCLUDES= -Ishared -Iengine -Ifpsgame - - STRIP= - ifeq (,$(findstring -g,$(CXXFLAGS))) -@@ -36,8 +36,8 @@ - endif - CLIENT_LIBS= -mwindows $(STD_LIBS) -L$(WINBIN) -L$(WINLIB) -lSDL -lSDL_image -lSDL_mixer -lzlib1 -lopengl32 -lenet -lws2_32 -lwinmm - else --CLIENT_INCLUDES= $(INCLUDES) -I/usr/X11R6/include `sdl-config --cflags` --CLIENT_LIBS= -Lenet/.libs -lenet -L/usr/X11R6/lib -lX11 `sdl-config --libs` -lSDL_image -lSDL_mixer -lz -lGL -+CLIENT_INCLUDES= $(INCLUDES) `sdl-config --cflags` -+CLIENT_LIBS= -lenet -lX11 `sdl-config --libs` -lSDL_image -lSDL_mixer -lz -lGL - endif - ifeq ($(PLATFORM),Linux) - CLIENT_LIBS+= -lrt -@@ -106,7 +106,7 @@ - MASTER_LIBS= $(STD_LIBS) -L$(WINBIN) -L$(WINLIB) -lzlib1 -lenet -lws2_32 -lwinmm - else - SERVER_INCLUDES= -DSTANDALONE $(INCLUDES) --SERVER_LIBS= -Lenet/.libs -lenet -lz -+SERVER_LIBS= -lenet -lz - MASTER_LIBS= $(SERVER_LIBS) - endif - SERVER_OBJS= \ -@@ -135,15 +135,6 @@ - - all: client server - --enet/Makefile: -- cd enet; ./configure --enable-shared=no --enable-static=yes -- --libenet: enet/Makefile -- $(MAKE) -C enet/ all -- --clean-enet: enet/Makefile -- $(MAKE) -C enet/ clean -- - clean: - -$(RM) $(CLIENT_PCH) $(CLIENT_OBJS) $(SERVER_OBJS) $(MASTER_OBJS) sauer_client sauer_server sauer_master - -@@ -176,13 +167,13 @@ - - install: all - else --client: libenet $(CLIENT_OBJS) -+client: $(CLIENT_OBJS) - $(CXX) $(CXXFLAGS) -o sauer_client $(CLIENT_OBJS) $(CLIENT_LIBS) - --server: libenet $(SERVER_OBJS) -+server: $(SERVER_OBJS) - $(CXX) $(CXXFLAGS) -o sauer_server $(SERVER_OBJS) $(SERVER_LIBS) - --master: libenet $(MASTER_OBJS) -+master: $(MASTER_OBJS) - $(CXX) $(CXXFLAGS) -o sauer_master $(MASTER_OBJS) $(MASTER_LIBS) - - shared/cube2font.o: shared/cube2font.c diff --git a/games-fps/sauerbraten/files/sauerbraten-2020.12.27-respect-FLAGS-don-t-strip-symbols.patch b/games-fps/sauerbraten/files/sauerbraten-2020.12.27-respect-FLAGS-don-t-strip-symbols.patch new file mode 100644 index 000000000000..6d0dc3b1f082 --- /dev/null +++ b/games-fps/sauerbraten/files/sauerbraten-2020.12.27-respect-FLAGS-don-t-strip-symbols.patch @@ -0,0 +1,146 @@ +From: Sam James <sam@gentoo.org> +Date: Thu, 22 Apr 2021 13:47:33 +0000 +Subject: Respect *FLAGS, don't strip symbols + +--- a/src/enet/Makefile ++++ b/src/enet/Makefile +@@ -1,4 +1,3 @@ +-CFLAGS=-O3 -fomit-frame-pointer + override CFLAGS:= $(CFLAGS) -Iinclude $(shell ./check_cflags.sh $(CC) $(CFLAGS)) + + OBJS= \ +--- a/src/rpggame/Makefile ++++ b/src/rpggame/Makefile +@@ -1,4 +1,3 @@ +-CXXFLAGS= -Os + override CXXFLAGS+= -Wall -fsigned-char -fno-exceptions -fno-rtti + + PLATFORM= $(shell uname -s) +@@ -7,11 +6,6 @@ PLATFORM_PREFIX= native + INCLUDES= -I../shared -I../engine -I../rpggame -I../enet/include + + STRIP= +-ifeq (,$(findstring -g,$(CXXFLAGS))) +-ifeq (,$(findstring -pg,$(CXXFLAGS))) +- STRIP=strip +-endif +-endif + + MV=mv + +@@ -118,7 +112,7 @@ clean: + $(filter-out shared/%,$(CLIENT_PCH)): $(filter shared/%,$(CLIENT_PCH)) + + %.h.gch: %.h +- $(CXX) $(CXXFLAGS) -x c++-header -o $@.tmp $< ++ $(CXX) $(CPPFLAGS) $(CXXFLAGS) -x c++-header -o $@.tmp $< + $(MV) $@.tmp $@ + + $(CLIENT_OBJS): CXXFLAGS += $(CLIENT_INCLUDES) +@@ -129,13 +123,13 @@ $(filter ../rpggame/%,$(CLIENT_OBJS)): $(filter ../rpggame/%,$(CLIENT_PCH)) + ifneq (,$(findstring MINGW,$(PLATFORM))) + client: $(CLIENT_OBJS) + $(WINDRES) -I ../vcpp -i ../vcpp/mingw.rc -J rc -o ../vcpp/mingw.res -O coff +- $(CXX) $(CXXFLAGS) -o ../$(WINBIN)/rpg.exe ../vcpp/mingw.res $(CLIENT_OBJS) $(CLIENT_LIBS) ++ $(CXX) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS) -o ../$(WINBIN)/rpg.exe ../vcpp/mingw.res $(CLIENT_OBJS) $(CLIENT_LIBS) + ifneq (,$(STRIP)) + $(STRIP) ../../bin/rpg.exe + endif + else + client: libenet $(CLIENT_OBJS) +- $(CXX) $(CXXFLAGS) -o rpg_client $(CLIENT_OBJS) $(CLIENT_LIBS) ++ $(CXX) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS) -o rpg_client $(CLIENT_OBJS) $(CLIENT_LIBS) + endif + + depend: +--- a/src/Makefile ++++ b/src/Makefile +@@ -1,4 +1,3 @@ +-CXXFLAGS= -O3 -fomit-frame-pointer -ffast-math + override CXXFLAGS+= -Wall -fsigned-char -fno-exceptions -fno-rtti + + PLATFORM= $(shell uname -s | tr '[:lower:]' '[:upper:]') +@@ -7,12 +6,6 @@ PLATFORM_PREFIX= native + INCLUDES= -Ishared -Iengine -Ifpsgame -Ienet/include + + STRIP= +-ifeq (,$(findstring -g,$(CXXFLAGS))) +-ifeq (,$(findstring -pg,$(CXXFLAGS))) +- STRIP=strip +-endif +-endif +- + MV=mv + + ifneq (,$(findstring MINGW,$(PLATFORM))) +@@ -65,8 +58,8 @@ CLIENT_LIBS= -F../sauerbraten.app/Contents/Frameworks/ -framework SDL2 -framewor + CLIENT_LIBS+= -framework SDL2_mixer -framework CoreAudio -framework AudioToolbox + CLIENT_LIBS+= -framework AudioUnit -framework OpenGL -framework Cocoa -lz -Lenet -lenet + else +-CLIENT_INCLUDES= $(INCLUDES) -I/usr/X11R6/include `sdl2-config --cflags` +-CLIENT_LIBS= -Lenet -lenet -L/usr/X11R6/lib -lX11 `sdl2-config --libs` -lSDL2_image -lSDL2_mixer -lz -lGL ++CLIENT_INCLUDES= $(INCLUDES) `sdl2-config --cflags` ++CLIENT_LIBS= -Lenet -lenet -lX11 `sdl2-config --libs` -lSDL2_image -lSDL2_mixer -lz -lGL + endif + endif + ifeq ($(PLATFORM),LINUX) +@@ -173,11 +166,11 @@ clean: + $(filter-out shared/%,$(CLIENT_PCH)): $(filter shared/%,$(CLIENT_PCH)) + + %.h.gch: %.h +- $(CXX) $(CXXFLAGS) -x c++-header -o $@.tmp $< ++ $(CXX) $(CPPFLAGS) $(CXXFLAGS) -x c++-header -o $@.tmp $< + $(MV) $@.tmp $@ + + %-standalone.o: %.cpp +- $(CXX) $(CXXFLAGS) -c -o $@ $< ++ $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c -o $@ $< + + $(CLIENT_OBJS): CXXFLAGS += $(CLIENT_INCLUDES) + $(filter shared/%,$(CLIENT_OBJS)): $(filter shared/%,$(CLIENT_PCH)) +@@ -188,35 +181,35 @@ $(SERVER_MASTER_OBJS): CXXFLAGS += $(SERVER_INCLUDES) + + ifneq (,$(findstring MINGW,$(PLATFORM))) + client: $(CLIENT_OBJS) +- $(WINDRES) -I vcpp -i vcpp/mingw.rc -J rc -o vcpp/mingw.res -O coff +- $(CXX) $(CXXFLAGS) -o $(WINBIN)/sauerbraten.exe vcpp/mingw.res $(CLIENT_OBJS) $(CLIENT_LIBS) ++ $(WINDRES) -I vcpp -i vcpp/mingw.rc -J rc $(LDFLAGS) -o vcpp/mingw.res $(LDFLAGS) -o coff ++ $(CXX) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS) -o $(WINBIN)/sauerbraten.exe vcpp/mingw.res $(CLIENT_OBJS) $(CLIENT_LIBS) + + server: $(SERVER_OBJS) +- $(WINDRES) -I vcpp -i vcpp/mingw.rc -J rc -o vcpp/mingw.res -O coff +- $(CXX) $(CXXFLAGS) -o $(WINBIN)/sauer_server.exe vcpp/mingw.res $(SERVER_OBJS) $(SERVER_LIBS) ++ $(WINDRES) -I vcpp -i vcpp/mingw.rc -J rc $(LDFLAGS) -o vcpp/mingw.res $(LDFLAGS) -o coff ++ $(CXX) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS) -o $(WINBIN)/sauer_server.exe vcpp/mingw.res $(SERVER_OBJS) $(SERVER_LIBS) + + master: $(MASTER_OBJS) +- $(CXX) $(CXXFLAGS) -o $(WINBIN)/sauer_master.exe $(MASTER_OBJS) $(MASTER_LIBS) ++ $(CXX) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS) -o $(WINBIN)/sauer_master.exe $(MASTER_OBJS) $(MASTER_LIBS) + + install: all + else + client: libenet $(CLIENT_OBJS) +- $(CXX) $(CXXFLAGS) -o sauer_client $(CLIENT_OBJS) $(CLIENT_LIBS) ++ $(CXX) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS) -o sauer_client $(CLIENT_OBJS) $(CLIENT_LIBS) + ifneq (,$(findstring DARWIN,$(PLATFORM))) + install_name_tool -add_rpath @executable_path/../Frameworks sauer_client + endif + + server: libenet $(SERVER_OBJS) +- $(CXX) $(CXXFLAGS) -o sauer_server $(SERVER_OBJS) $(SERVER_LIBS) ++ $(CXX) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS) -o sauer_server $(SERVER_OBJS) $(SERVER_LIBS) + + master: libenet $(MASTER_OBJS) +- $(CXX) $(CXXFLAGS) -o sauer_master $(MASTER_OBJS) $(MASTER_LIBS) ++ $(CXX) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS) -o sauer_master $(MASTER_OBJS) $(MASTER_LIBS) + + shared/cube2font.o: shared/cube2font.c +- $(CXX) $(CXXFLAGS) -c -o $@ $< `freetype-config --cflags` ++ $(CXX) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS) -c -o $@ $< `freetype-config --cflags` + + cube2font: shared/cube2font.o +- $(CXX) $(CXXFLAGS) -o cube2font shared/cube2font.o `freetype-config --libs` -lz ++ $(CXX) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS) -o cube2font shared/cube2font.o `freetype-config --libs` -lz + + ifneq (,$(findstring DARWIN,$(PLATFORM))) + install: client diff --git a/games-fps/sauerbraten/files/sauerbraten-2020.12.27-unbundle-enet.patch b/games-fps/sauerbraten/files/sauerbraten-2020.12.27-unbundle-enet.patch new file mode 100644 index 000000000000..ad7494b55385 --- /dev/null +++ b/games-fps/sauerbraten/files/sauerbraten-2020.12.27-unbundle-enet.patch @@ -0,0 +1,113 @@ +From f269af0dc953ee79d95beabd2679e4c91992ac8d Mon Sep 17 00:00:00 2001 +From: Sam James <sam@gentoo.org> +Date: Thu, 22 Apr 2021 14:06:00 +0000 +Subject: [PATCH] Unbundle enet + +--- a/src/Makefile ++++ b/src/Makefile +@@ -4,7 +4,7 @@ override CXXFLAGS+= -Wall -fsigned-char -fno-exceptions -fno-rtti + PLATFORM= $(shell uname -s | tr '[:lower:]' '[:upper:]') + PLATFORM_PREFIX= native + +-INCLUDES= -Ishared -Iengine -Ifpsgame -Ienet/include ++INCLUDES= -Ishared -Iengine -Ifpsgame + + STRIP= + MV=mv +@@ -57,10 +57,10 @@ override CXX+= -arch x86_64 -mmacosx-version-min=$(OSXMIN) + CLIENT_INCLUDES= $(INCLUDES) -Iinclude + CLIENT_LIBS= -F../sauerbraten.app/Contents/Frameworks/ -framework SDL2 -framework SDL2_image + CLIENT_LIBS+= -framework SDL2_mixer -framework CoreAudio -framework AudioToolbox +-CLIENT_LIBS+= -framework AudioUnit -framework OpenGL -framework Cocoa -lz -Lenet -lenet ++CLIENT_LIBS+= -framework AudioUnit -framework OpenGL -framework Cocoa -lz -lenet + else +-CLIENT_INCLUDES= $(INCLUDES) `sdl2-config --cflags` +-CLIENT_LIBS= -Lenet -lenet -lX11 `sdl2-config --libs` -lSDL2_image -lSDL2_mixer -lz -lGL ++CLIENT_INCLUDES= $(INCLUDES) `sdl2-config --cflags` ++CLIENT_LIBS= -lenet -lX11 `sdl2-config --libs` -lSDL2_image -lSDL2_mixer -lz -lGL + endif + endif + ifeq ($(PLATFORM),LINUX) +@@ -135,7 +135,7 @@ SERVER_LIBS= -mwindows $(STD_LIBS) -L$(WINBIN) -L$(WINLIB) -lzlib1 -lenet -lws2_ + MASTER_LIBS= $(STD_LIBS) -L$(WINBIN) -L$(WINLIB) -lzlib1 -lenet -lws2_32 -lwinmm + else + SERVER_INCLUDES= -DSTANDALONE $(INCLUDES) +-SERVER_LIBS= -Lenet -lenet -lz ++SERVER_LIBS= -lenet -lz + MASTER_LIBS= $(SERVER_LIBS) + endif + SERVER_OBJS= \ +@@ -226,10 +226,6 @@ endif + endif + endif + +-enet/libenet.a: +- $(MAKE) -C enet CC='$(CC)' AR='$(AR)' +-libenet: enet/libenet.a +- + depend: + makedepend -Y -Ishared -Iengine -Ifpsgame $(CLIENT_OBJS:.o=.cpp) + makedepend -a -o.h.gch -Y -Ishared -Iengine -Ifpsgame $(CLIENT_PCH:.h.gch=.h) + +--- a/src/Makefile ++++ b/src/Makefile +@@ -193,16 +193,16 @@ master: $(MASTER_OBJS) + + install: all + else +-client: libenet $(CLIENT_OBJS) ++client: $(CLIENT_OBJS) + $(CXX) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS) -o sauer_client $(CLIENT_OBJS) $(CLIENT_LIBS) + ifneq (,$(findstring DARWIN,$(PLATFORM))) + install_name_tool -add_rpath @executable_path/../Frameworks sauer_client + endif + +-server: libenet $(SERVER_OBJS) ++server: $(SERVER_OBJS) + $(CXX) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS) -o sauer_server $(SERVER_OBJS) $(SERVER_LIBS) + +-master: libenet $(MASTER_OBJS) ++master: $(MASTER_OBJS) + $(CXX) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS) -o sauer_master $(MASTER_OBJS) $(MASTER_LIBS) + + shared/cube2font.o: shared/cube2font.c +--- a/src/rpggame/Makefile ++++ b/src/rpggame/Makefile +@@ -3,7 +3,7 @@ override CXXFLAGS+= -Wall -fsigned-char -fno-exceptions -fno-rtti + PLATFORM= $(shell uname -s) + PLATFORM_PREFIX= native + +-INCLUDES= -I../shared -I../engine -I../rpggame -I../enet/include ++INCLUDES= -I../shared -I../engine -I../rpggame + + STRIP= + +@@ -41,7 +41,7 @@ STD_LIBS= -static-libgcc -static-libstdc++ + CLIENT_LIBS= -mwindows $(STD_LIBS) -L../$(WINBIN) -L../$(WINLIB) -lSDL2 -lSDL2_image -lSDL2_mixer -lzlib1 -lopengl32 -lenet -lws2_32 -lwinmm + else + CLIENT_INCLUDES= $(INCLUDES) -I/usr/X11R6/include `sdl2-config --cflags` +-CLIENT_LIBS= -L../enet -lenet -L/usr/X11R6/lib -lX11 `sdl2-config --libs` -lSDL2_image -lSDL2_mixer -lz -lGL ++CLIENT_LIBS= -lenet -L/usr/X11R6/lib -lX11 `sdl2-config --libs` -lSDL2_image -lSDL2_mixer -lz -lGL + endif + ifeq ($(PLATFORM),Linux) + CLIENT_LIBS+= -lrt +@@ -102,10 +102,6 @@ default: all + + all: client + +-enet/libenet.a: +- $(MAKE) -C ../enet/ +-libenet: enet/libenet.a +- + clean: + -$(RM) $(CLIENT_PCH) $(CLIENT_OBJS) rpg_client + +@@ -128,7 +124,7 @@ ifneq (,$(STRIP)) + $(STRIP) ../../bin/rpg.exe + endif + else +-client: libenet $(CLIENT_OBJS) ++client: $(CLIENT_OBJS) + $(CXX) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS) -o rpg_client $(CLIENT_OBJS) $(CLIENT_LIBS) + endif + diff --git a/games-fps/sauerbraten/files/sauerbraten-2020.12.27-use-pkg-config-for-freetype2.patch b/games-fps/sauerbraten/files/sauerbraten-2020.12.27-use-pkg-config-for-freetype2.patch new file mode 100644 index 000000000000..ae4a43b43f98 --- /dev/null +++ b/games-fps/sauerbraten/files/sauerbraten-2020.12.27-use-pkg-config-for-freetype2.patch @@ -0,0 +1,28 @@ +From: Sam James <sam@gentoo.org> +Date: Thu, 22 Apr 2021 14:33:15 +0000 +Subject: [PATCH] Use pkg-config for freetype2 + +--- a/src/Makefile ++++ b/src/Makefile +@@ -1,5 +1,7 @@ + override CXXFLAGS+= -Wall -fsigned-char -fno-exceptions -fno-rtti + ++PKG_CONFIG?=pkg-config ++ + PLATFORM= $(shell uname -s | tr '[:lower:]' '[:upper:]') + PLATFORM_PREFIX= native + +@@ -206,10 +208,10 @@ master: libenet $(MASTER_OBJS) + $(CXX) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS) -o sauer_master $(MASTER_OBJS) $(MASTER_LIBS) + + shared/cube2font.o: shared/cube2font.c +- $(CXX) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS) -c -o $@ $< `freetype-config --cflags` ++ $(CXX) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS) -c -o $@ $< `${PKG_CONFIG} --cflags freetype2` + + cube2font: shared/cube2font.o +- $(CXX) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS) -o cube2font shared/cube2font.o `freetype-config --libs` -lz ++ $(CXX) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS) -o cube2font shared/cube2font.o `${PKG_CONFIG} --libs freetype2` -lz + + ifneq (,$(findstring DARWIN,$(PLATFORM))) + install: client +-- diff --git a/games-fps/sauerbraten/files/sauerbraten.conf b/games-fps/sauerbraten/files/sauerbraten.conf index 8d93bf62b788..f0c2896b2bea 100644 --- a/games-fps/sauerbraten/files/sauerbraten.conf +++ b/games-fps/sauerbraten/files/sauerbraten.conf @@ -1,15 +1,15 @@ # Config file for /etc/init.d/sauerbraten # Owner of Sauerbraten server processes (must be existing) -USER="%GAMES_USER_DED%" -GROUP="%GAMES_GROUP%" +USER="sauerbraten" +GROUP="sauerbraten" # Whether to run the dedicated server RUNSERVER="Yes" # Location of the dedicated server config directory -SERVERCONFIG="%SYSCONFDIR%" +SERVERCONFIG="/var/lib/sauerbraten" # Additional command line arguments to the dedicated server SERVERARGS="" @@ -19,7 +19,7 @@ SERVERARGS="" RUNMASTER="No" # Location of the master server config directory -MASTERCONFIG="%SYSCONFDIR%" +MASTERCONFIG="/var/lib/sauerbraten" # What port should the masterserver use MASTERPORT="28787" diff --git a/games-fps/sauerbraten/files/sauerbraten.init b/games-fps/sauerbraten/files/sauerbraten.init index a5a7bb32966d..14248bc88959 100644 --- a/games-fps/sauerbraten/files/sauerbraten.init +++ b/games-fps/sauerbraten/files/sauerbraten.init @@ -24,7 +24,7 @@ start_server() { start-stop-daemon \ --quiet --start --user ${USER}:${GROUP} --chdir ${SERVERCONFIG} \ - --make-pidfile --pidfile %GAMES_STATEDIR%/run/sauerbraten/server.pid \ + --make-pidfile --pidfile /var/run/sauerbraten/server.pid \ --background --exec %LIBEXECDIR%/sauer_server -- ${SERVERARGS} eend $? } @@ -45,7 +45,7 @@ start_master() { start-stop-daemon \ --quiet --start --user ${USER}:${GROUP} \ - --make-pidfile --pidfile %GAMES_STATEDIR%/run/sauerbraten/master.pid \ + --make-pidfile --pidfile /var/run/sauerbraten/master.pid \ --background --exec %LIBEXECDIR%/sauer_master -- ${MASTERARGS} eend $? } @@ -58,13 +58,13 @@ stop() { stop_server() { ebegin "Stopping Sauerbraten dedicated server" - start-stop-daemon --stop --retry 3 --pidfile %GAMES_STATEDIR%/run/sauerbraten/server.pid + start-stop-daemon --stop --retry 3 --pidfile /var/run/sauerbraten/server.pid eend $? } stop_master() { ebegin "Stopping Sauerbraten master server" - start-stop-daemon --stop --retry 3 --pidfile %GAMES_STATEDIR%/run/sauerbraten/master.pid + start-stop-daemon --stop --retry 3 --pidfile /var/run/sauerbraten/master.pid eend $? } diff --git a/games-fps/sauerbraten/metadata.xml b/games-fps/sauerbraten/metadata.xml index ee6f39587e0e..438f4f0f9813 100644 --- a/games-fps/sauerbraten/metadata.xml +++ b/games-fps/sauerbraten/metadata.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="project"> <email>games@gentoo.org</email> diff --git a/games-fps/sauerbraten/sauerbraten-2013.02.03.ebuild b/games-fps/sauerbraten/sauerbraten-2020.12.27.ebuild index 6671f8f3e87c..586071487332 100644 --- a/games-fps/sauerbraten/sauerbraten-2013.02.03.ebuild +++ b/games-fps/sauerbraten/sauerbraten-2020.12.27.ebuild @@ -1,54 +1,75 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=5 -inherit eutils flag-o-matic gnome2-utils games vcs-clean +EAPI=7 + +inherit desktop flag-o-matic toolchain-funcs wrapper xdg -EDITION="collect_edition" DESCRIPTION="Sauerbraten is a FOSS game engine (Cube 2) with freeware game data (Sauerbraten)" HOMEPAGE="http://sauerbraten.org/" -SRC_URI="mirror://sourceforge/sauerbraten/sauerbraten/2013_02_03/sauerbraten_${PV//./_}_${EDITION}_linux.tar.bz2" +SRC_URI="https://downloads.sourceforge.net/sauerbraten/sauerbraten/2020_11_29/sauerbraten_${PV//./_}_linux.tar.bz2" +S="${WORKDIR}"/${PN} LICENSE="ZLIB freedist" SLOT="0" KEYWORDS="~amd64 ~x86" IUSE="debug dedicated server" -RDEPEND=" - sys-libs/zlib +DEPEND=" >=net-libs/enet-1.3.6:1.3 + sys-libs/zlib !dedicated? ( - media-libs/libsdl[X,opengl] - media-libs/sdl-mixer[vorbis] - media-libs/sdl-image[png,jpeg] + media-libs/libsdl2[X,opengl] + media-libs/sdl2-image + media-libs/sdl2-mixer virtual/opengl virtual/glu - x11-libs/libX11 )" -DEPEND="${RDEPEND}" + x11-libs/libX11 + ) +" +RDEPEND=" + ${DEPEND} + acct-group/sauerbraten + dedicated? ( acct-user/sauerbraten ) +" +BDEPEND="virtual/pkgconfig" -S=${WORKDIR}/${PN} +PATCHES=( + # Respect CXXFLAGS, LDFLAGS + "${FILESDIR}"/${PN}-2020.12.27-respect-FLAGS-don-t-strip-symbols.patch + + # Patch Makefile to use system enet instead of bundled + "${FILESDIR}"/${PN}-2020.12.27-unbundle-enet.patch + + # Don't use freetype-config, it's obsolete + "${FILESDIR}"/${PN}-2020.12.27-use-pkg-config-for-freetype2.patch +) src_prepare() { - ecvs_clean - rm -rf sauerbraten_unix bin_unix src/{include,lib,vcpp} + rm -rf sauerbraten_unix bin_unix src/{include,lib,vcpp} || die - # Patch makefile to use system enet instead of bundled - # respect CXXFLAGS, LDFLAGS - epatch "${FILESDIR}"/${P}-{system-enet,QA}.patch + default # Fix links so they point to the correct directory sed -i -e 's:docs/::' README.html || die } src_compile() { - use debug && append-cppflags -D_DEBUG - emake -C src master $(usex dedicated "server" "$(usex server "server client" "client")") + tc-export CXX PKG_CONFIG + + if use debug ; then + append-cppflags -D_DEBUG + fi + + emake -C src \ + master \ + $(usex dedicated "server" "$(usex server "server client" "client")") } src_install() { - local LIBEXECDIR="${GAMES_PREFIX}/lib" - local DATADIR="${GAMES_DATADIR}/${PN}" - local STATEDIR="${GAMES_STATEDIR}/${PN}" + local LIBEXECDIR="/usr/lib" + local DATADIR="/usr/share/${PN}" + local STATEDIR="/var/lib/${PN}" if ! use dedicated ; then # Install the game data @@ -60,7 +81,7 @@ src_install() { doexe src/sauer_client # Install the client wrapper - games_make_wrapper "${PN}-client" "${LIBEXECDIR}/sauer_client -q\$HOME/.${PN} -r" "${DATADIR}" + make_wrapper "${PN}-client" "${LIBEXECDIR}/sauer_client -q\$HOME/.${PN} -r" "${DATADIR}" # Create menu entry newicon -s 256 data/cube.png ${PN}.png @@ -69,55 +90,48 @@ src_install() { # Install the server config files insinto "${STATEDIR}" - doins "server-init.cfg" + doins server-init.cfg # Install the server executables exeinto "${LIBEXECDIR}" doexe src/sauer_master - use dedicated || use server && doexe src/sauer_server - games_make_wrapper "${PN}-server" \ + if use dedicated || use server ; then + doexe src/sauer_server + fi + + make_wrapper "${PN}-server" \ "${LIBEXECDIR}/sauer_server -k${DATADIR} -q${STATEDIR}" - games_make_wrapper "${PN}-master" \ + make_wrapper "${PN}-master" \ "${LIBEXECDIR}/sauer_master ${STATEDIR}" # Install the server init script - keepdir "${GAMES_STATEDIR}/run/${PN}" cp "${FILESDIR}"/${PN}.init "${T}" || die sed -i \ -e "s:%SYSCONFDIR%:${STATEDIR}:g" \ -e "s:%LIBEXECDIR%:${LIBEXECDIR}:g" \ - -e "s:%GAMES_STATEDIR%:${GAMES_STATEDIR}:g" \ + -e "s:%/var/lib/%:/var/run:g" \ "${T}"/${PN}.init || die + newinitd "${T}"/${PN}.init ${PN} cp "${FILESDIR}"/${PN}.conf "${T}" || die sed -i \ -e "s:%SYSCONFDIR%:${STATEDIR}:g" \ -e "s:%LIBEXECDIR%:${LIBEXECDIR}:g" \ - -e "s:%GAMES_USER_DED%:${GAMES_USER_DED}:g" \ - -e "s:%GAMES_GROUP%:${GAMES_GROUP}:g" \ + -e "s:%GAMES_USER_DED%:sauerbraten:g" \ + -e "s:%GAMES_GROUP%:sauerbraten:g" \ "${T}"/${PN}.conf || die newconfd "${T}"/${PN}.conf ${PN} dodoc src/*.txt docs/dev/*.txt - dohtml -r README.html docs/* - prepgamesdirs -} - -pkg_preinst() { - games_pkg_preinst - gnome2_icon_savelist + docinto html + dodoc -r README.html docs/* } pkg_postinst() { - games_pkg_postinst - gnome2_icon_cache_update + xdg_pkg_postinst elog "If you plan to use map editor feature copy all map data from ${DATADIR}" elog "to corresponding folder in your HOME/.${PN}" } - -pkg_postrm() { - gnome2_icon_cache_update -} diff --git a/games-fps/serious-sam-tse/Manifest b/games-fps/serious-sam-tse/Manifest deleted file mode 100644 index 455f22799ffc..000000000000 --- a/games-fps/serious-sam-tse/Manifest +++ /dev/null @@ -1 +0,0 @@ -DIST ssamtse-beta1.sh.bin 7952607 BLAKE2B 775c5f22b5c2d8418e69a6ac9d8e46f7f3d958108900ca0bc2135a889b4ee34d4d6528b2dfbe1de343fc8cd28af3f0d86cc764014875d8bb4d7a32ee55f361ea SHA512 43f07fbaef0bf8f90644a748931220331ed5f9179412e5a37daf0472aa98c5bb2455148c54254eae1af0b38ba8a3fde9c310cd8d488ea6b2806fa0f6fb1e1644 diff --git a/games-fps/serious-sam-tse/metadata.xml b/games-fps/serious-sam-tse/metadata.xml deleted file mode 100644 index 7a38bb900964..000000000000 --- a/games-fps/serious-sam-tse/metadata.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> -<pkgmetadata> - <!-- maintainer-needed --> -</pkgmetadata> diff --git a/games-fps/serious-sam-tse/serious-sam-tse-1_beta1-r1.ebuild b/games-fps/serious-sam-tse/serious-sam-tse-1_beta1-r1.ebuild deleted file mode 100644 index 0a0dc429f256..000000000000 --- a/games-fps/serious-sam-tse/serious-sam-tse-1_beta1-r1.ebuild +++ /dev/null @@ -1,135 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -inherit cdrom eutils versionator unpacker - -# MY_PV will be e.g. "beta1" -MY_PN="ssamtse" -MY_PV=$(get_version_component_range 2-2) - -DESCRIPTION="Serious Sam: The Second Encounter" -HOMEPAGE="http://www.croteam.com/ - http://www.seriouszone.com/" -SRC_URI="http://icculus.org/betas/ssam/${MY_PN}-${MY_PV}.sh.bin" - -LICENSE="LOKI-EULA" -SLOT="0" -KEYWORDS="-* ~amd64 ~x86" -RESTRICT="bindist mirror strip" -IUSE="alsa" - -DEPEND=">=app-arch/unshield-0.6" -RDEPEND=" - >=media-libs/libogg-1.3.1[abi_x86_32(-)] - >=media-libs/libsdl-1.2.15-r5[X,joystick,opengl,video,abi_x86_32(-)] - virtual/opengl[abi_x86_32(-)] - alsa? ( - >=media-libs/libsdl-1.2.15-r5[alsa,sound,abi_x86_32(-)] - >=media-libs/libvorbis-1.3.3-r1[abi_x86_32(-)] - ) -" - -S=${WORKDIR} - -QA_TEXTRELS=" -opt/ssamtse/Bin/libEntitiesMP.so -opt/ssamtse/Bin/libGameMP.so -opt/ssamtse/Bin/libamp11lib.so -opt/ssamtse/Bin/libShaders.so -" - -QA_FLAGS_IGNORED=" -opt/ssamtse/Bin/libEntitiesMP.so -opt/ssamtse/Bin/libGameMP.so -opt/ssamtse/Bin/libamp11lib.so -opt/ssamtse/Bin/libShaders.so -opt/ssamtse/Bin/ssam_lnxded -opt/ssamtse/Bin/ssam_lnxded.dynamic -opt/ssamtse/Bin/ssam_lnx.dynamic -opt/ssamtse/Bin/ssam_lnx -" - -pkg_setup() { - cdrom_get_cds "Install/SE1_00.gro" -} - -src_unpack() { - mkdir Levels Mods - - unpack_makeself "${MY_PN}-${MY_PV}.sh.bin" - unpack ./setupstuff.tar.gz - unpack ./bins.tar.bz2 -} - -src_prepare() { - # Switch to dynamic executable - runs at sane speeds on modern hardware - sed -i -e 's;exec "./ssam_lnx";exec "./ssam_lnx.dynamic";' bin/${MY_PN} \ - || die "dynamic binary update failed" -} - -src_install() { - local dir="/opt/${MY_PN}" - - # Remove bundled libs - rm -f Bin/{libogg.so,libvorbis.so,libvorbisfile.so} || die "failed to remove bundled libs" - - einfo "Copying from ${CDROM_ROOT}" - insinto "${dir}" - doins -r "${CDROM_ROOT}"/Install/* - - # Correct paths of copied resource files - mv "${D}/${dir}"/Locales/eng/Controls/* "${D}/${dir}"/Controls/ || die "Failed to move file" - mv "${D}/${dir}"/Locales/eng/Data/Var/* "${D}/${dir}"/Data/Var/ || die "Failed to move file" - mv "${D}/${dir}"/Locales/eng/Demos/* "${D}/${dir}"/Demos/ || die "Failed to move file" - mv "${D}/${dir}"/Locales/eng/Help/* "${D}/${dir}"/Help/ || die "Failed to move file" - mv "${D}/${dir}"/Locales/eng/Mods/Warped/Scripts/Addons/WarpedTweak.des "${D}/${dir}"/Mods/Warped/Scripts/Addons/ || die "Failed to move file" - mv "${D}/${dir}"/Locales/eng/Mods/Warped/Readme.html "${D}/${dir}"/Mods/Warped/ || die "Failed to move file" - mv "${D}/${dir}"/Locales/eng/Mods/*.des "${D}/${dir}"/Mods/ || die "Failed to move file" - mv "${D}/${dir}"/Locales/eng/Scripts/Addons/* "${D}/${dir}"/Scripts/Addons/ || die "Failed to move file" - mv "${D}/${dir}"/Locales/eng/Scripts/CustomOptions/* "${D}/${dir}"/Scripts/CustomOptions/ || die "Failed to move file" - mv "${D}/${dir}"/Locales/eng/Scripts/NetSettings/* "${D}/${dir}"/Scripts/NetSettings/ || die "Failed to move file" - rm -rf "${D}/${dir}"/Locales || die "failed to removed Locales dir" - - # The data CABs contain optional multiplayer maps in the "Levels" directory - einfo "Extracting additional levels" - unshield x "${D}/${dir}"/data1.cab >/dev/null || die "unshield data1.cab failed" - rm "${D}/${dir}"/data?.cab || die "Failed to remove cab" - - # Correct paths of extracted levels - mv Levels/Levels/LevelsMP/* Levels/LevelsMP/ || die "Failed to move file" - rm -rf Levels/Levels || die "Failed to remove dir" - mv Levels/LevelsMP/Technology/* Levels/ || die "Failed to move file" - rmdir Levels/LevelsMP/Technology || die "Failed to remove dir" - mv Levels/Mods/Warped/ Mods/ || die "Failed to move file" - rmdir Levels/Mods/ || die "Failed to remove dir" - - doins -r Bin Data Levels Mods *.txt README* - - # Install bins last to ensure they are marked executable - exeinto "${dir}" - doexe bin/${MY_PN} - exeinto "${dir}"/Bin - doexe Bin/{ssam_lnx*,*.so} - - # Remove useless Windows files - rm -rf "${D}/${dir}/Bin"/{*.exe,*.dll,*.DLL,GameSpy} || die "Failed to remove windows cruft" - rm -f "${D}/${dir}"/{*.exe,*.ex_,*.bmp,*.inx,*.hdr,*.bin} || die "Failed to remove windows cruft" - - dodoc README.linux - - newicon ssam.xpm ${MY_PN}.xpm - make_wrapper ${MY_PN} ./${MY_PN} "${dir}" "${dir}" - make_desktop_entry ${MY_PN} "Serious Sam - Second Encounter" ${MY_PN} - - # Ensure that file datestamps from the CD are sane - find "${D}/${dir}" -exec touch '{}' \; || die "touch failed" -} - -pkg_postinst() { - elog "The warning regarding 'XiG-SUNDRY-NONSTANDARD missing' is harmless." - elog "Important information about the Linux port is at:" - elog " http://files.seriouszone.com/download.php?fileid=616" - echo -} diff --git a/games-fps/serioussam-tfe-data/Manifest b/games-fps/serioussam-tfe-data/Manifest new file mode 100644 index 000000000000..be0fb14292c0 --- /dev/null +++ b/games-fps/serioussam-tfe-data/Manifest @@ -0,0 +1 @@ +DIST serioussamfe-patch_1.05_FE.tar.xz 1221836 BLAKE2B 0ae7103151ee42f3c1ff88afd2d77037e0c3e5c49c19adf213068f87eed524c7aa6552d020c3337f5457847f167c1a2e4ca1fda7572e96b9630fb2dbfd3e6b0f SHA512 18c5a5f66e1fbe3864eca3274d20e525f50c223507e0c1c793a642aed66edfeb723cf3d4ffc583afa4d9a10388cbed14af7035bf6a1b9c214dac79c5eb1d2548 diff --git a/games-fps/serioussam-tfe-data/metadata.xml b/games-fps/serioussam-tfe-data/metadata.xml new file mode 100644 index 000000000000..e76bc72b6a01 --- /dev/null +++ b/games-fps/serioussam-tfe-data/metadata.xml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person" proxied="yes"> + <email>t.x00100x.t@yandex.ru</email> + <name>Alexander Pavlov</name> + </maintainer> + <maintainer type="project" proxied="proxy"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> + <upstream> + <remote-id type="github">tx00100xt/serioussam-mods</remote-id> + </upstream> +</pkgmetadata> diff --git a/games-fps/serioussam-tfe-data/serioussam-tfe-data-1.5-r1.ebuild b/games-fps/serioussam-tfe-data/serioussam-tfe-data-1.5-r1.ebuild new file mode 100644 index 000000000000..8b0b3f73ea37 --- /dev/null +++ b/games-fps/serioussam-tfe-data/serioussam-tfe-data-1.5-r1.ebuild @@ -0,0 +1,70 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cdrom unpacker + +# Game name +GN="serioussam" +PATCH_PREFIX="${GN}fe-patch_1.05_FE" + +DESCRIPTION="Croteam's Serious Sam Classic The First Encounter ... the data files" +HOMEPAGE="https://www.croteam.com/ + https://store.steampowered.com/app/41050/Serious_Sam_Classic_The_First_Encounter/" +SRC_URI="https://github.com/tx00100xt/serioussam-mods/raw/main/Patches/${PATCH_PREFIX}.tar.xz" +S="${WORKDIR}" + +LICENSE="all-rights-reserved" +SLOT="0" +KEYWORDS="~amd64 ~x86" +RESTRICT="bindist" + +pkg_setup() { + cdrom_get_cds "Install/1_00_music.gro" +} + +src_unpack() { + mkdir Levels Mods || die "failed create dirs" + cat "${DISTDIR}/${PATCH_PREFIX}.tar.xz" > "${PATCH_PREFIX}.tar.xz" \ + || die "failed to copy patch 1.05" + unpack "${WORKDIR}/${PATCH_PREFIX}.tar.xz" +} + +src_install() { + local dir="/usr/share/${GN}" + + einfo "Copying from ${CDROM_ROOT}" + insinto "${dir}" + doins -r "${CDROM_ROOT}"/Install/* + + mv "${WORKDIR}"/*.gro "${ED}${dir}" || die "failed to moved patch 1.05" + mv "${ED}${dir}"/Scripts/PersistentSymbols.ini "${WORKDIR}" \ + || die "failed to moved PersistentSymbols.ini" + + rm -rf \ + "${ED}${dir}"/{Bin,Controls,Data,Demos,Mods,Players,Scripts} \ + || die "failed to remove directories" + rm -rf \ + "${ED}${dir}"/{VirtualTrees,Locales,Help/ShellSymbols.txt} \ + || die "failed to remove directories" + mkdir "${ED}${dir}/Scripts" || die "failed create Scripts dir" + mv "${WORKDIR}"/PersistentSymbols.ini "${ED}${dir}/Scripts" \ + || die "failed to moved PersistentSymbols.ini" + + # Remove useless Windows files + rm -f "${ED}${dir}"/{*.exe,*.ex_,*.bmp,*.inx,*.hdr,*.bin,*.cab,*.ini,*.log} \ + || die "Failed to remove windows cruft" + + # Ensure that file datestamps from the CD are sane + find "${ED}${dir}"/Levels -exec touch -d '09 May 2020 14:00' '{}' \; \ + || die "touch failed" +} + +pkg_postinst() { + elog "Important information about the Linux port is at:" + elog " https://github.com/tx00100xt/SeriousSamClassic-VK" + elog " look at:" + elog " https://github.com/tx00100xt/SeriousSamClassic-VK/wiki" + elog " For information about of the game" +} diff --git a/games-fps/serioussam-tse-data/Manifest b/games-fps/serioussam-tse-data/Manifest new file mode 100644 index 000000000000..17920efbe1b7 --- /dev/null +++ b/games-fps/serioussam-tse-data/Manifest @@ -0,0 +1 @@ +DIST serioussamse-patch_1.07_SE.tar.xz 33172 BLAKE2B bc185d0b504e7aa01862a57ba97691881e19d0031ac88187ec80fb52d8bd758c0dac6b932a333fa4f9df09264232ab87e97875a8ae7a58cd0816153a082ffc45 SHA512 1c0e2ac2503584d26ac7fc59f72b0dcb6903bfc4897acc5732b426fe691928c1f49839b3a893809e635e178e447aa72fb9969179806a1703d412c4ea321ca637 diff --git a/games-fps/serioussam-tse-data/metadata.xml b/games-fps/serioussam-tse-data/metadata.xml new file mode 100644 index 000000000000..e76bc72b6a01 --- /dev/null +++ b/games-fps/serioussam-tse-data/metadata.xml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person" proxied="yes"> + <email>t.x00100x.t@yandex.ru</email> + <name>Alexander Pavlov</name> + </maintainer> + <maintainer type="project" proxied="proxy"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> + <upstream> + <remote-id type="github">tx00100xt/serioussam-mods</remote-id> + </upstream> +</pkgmetadata> diff --git a/games-fps/serioussam-tse-data/serioussam-tse-data-1.7-r1.ebuild b/games-fps/serioussam-tse-data/serioussam-tse-data-1.7-r1.ebuild new file mode 100644 index 000000000000..3f46d0d019f9 --- /dev/null +++ b/games-fps/serioussam-tse-data/serioussam-tse-data-1.7-r1.ebuild @@ -0,0 +1,70 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cdrom unpacker + +# Game name +GN="serioussamse" +PATCH_PREFIX="${GN}-patch_1.07_SE" + +DESCRIPTION="Croteam's Serious Sam Classic The Second Encounter ... the data files" +HOMEPAGE="https://www.croteam.com/ + https://store.steampowered.com/app/41060/Serious_Sam_Classic_The_Second_Encounter/" +SRC_URI="https://github.com/tx00100xt/serioussam-mods/raw/main/Patches/${PATCH_PREFIX}.tar.xz" +S="${WORKDIR}" + +LICENSE="all-rights-reserved" +SLOT="0" +KEYWORDS="~amd64 ~x86" +RESTRICT="bindist" + +pkg_setup() { + cdrom_get_cds "Install/SE1_00_Levels.gro" +} + +src_unpack() { + mkdir Levels Mods || die "failed create dirs" + cat "${DISTDIR}/${PATCH_PREFIX}.tar.xz" > "${PATCH_PREFIX}.tar.xz" \ + || die "failed to copy patch 1.07" + unpack "${WORKDIR}/${PATCH_PREFIX}.tar.xz" +} + +src_install() { + local dir="/usr/share/${GN}" + + einfo "Copying from ${CDROM_ROOT}" + insinto "${dir}" + doins -r "${CDROM_ROOT}"/Install/* + + mv "${WORKDIR}"/*.gro "${ED}${dir}" || die "failed to moved patch 1.07" + mv "${ED}${dir}"/Scripts/PersistentSymbols.ini "${WORKDIR}" \ + || die "failed to moved PersistentSymbols.ini" + + rm -rf \ + "${ED}${dir}"/{Bin,Controls,Data,Demos,Mods,Players,Scripts,Locales} \ + || die "failed to remove directories" + rm -rf \ + "${ED}${dir}"/{VirtualTrees,ModEXT.txt,Help/ShellSymbols.txt} \ + || die "failed to remove directories" + mkdir "${ED}${dir}/Scripts" || die "failed create Scripts dir" + mv "${WORKDIR}"/PersistentSymbols.ini "${ED}${dir}/Scripts" \ + || die "failed to moved PersistentSymbols.ini" + + # Remove useless Windows files + rm -f "${ED}${dir}"/{*.exe,*.ex_,*.bmp,*.inx,*.hdr,*.bin,*.cab,*.ini,*.log} \ + || die "Failed to remove windows cruft" + + # Ensure that file datestamps from the CD are sane + find "${ED}${dir}"/Levels -exec touch -d '09 May 2020 14:00' '{}' \; \ + || die "touch failed" +} + +pkg_postinst() { + elog "Important information about the Linux port is at:" + elog " https://github.com/tx00100xt/SeriousSamClassic-VK" + elog " look at:" + elog " https://github.com/tx00100xt/SeriousSamClassic-VK/wiki" + elog " For information about of the game" +} diff --git a/games-fps/serioussam/Manifest b/games-fps/serioussam/Manifest new file mode 100644 index 000000000000..a3473b88b03b --- /dev/null +++ b/games-fps/serioussam/Manifest @@ -0,0 +1,2 @@ +DIST serioussam-1.10.6c.tar.gz 47908208 BLAKE2B 90af9f8c11b474ce0e114c3390e1afd5c746c1b2ca4e61bd6085f1dc42f6f73981cc4434ff8fdcc1306178ae9d2707026765a3a1da006d5adb841d2d314a4214 SHA512 de1ba536c84977d1e7335833b8a2080b13a22ca25efba88363972dceb4bcbfda1db448de42d262fa003fe9df393327509e76afc3cc501f96ed6495d29b74b6bb +DIST serioussam-1.10.6d.tar.gz 47922084 BLAKE2B b035df25f897e498e8e6bf4707c3003e0aeb79eff8d0067b5887716acd3630640e2d599434288635f4ae7d6aeb522a0e814c0b5acb64dc6166d7b7487e9ee88c SHA512 1a71e1277f6d2e7d0d059a15c51877d3d838e1c97ea6d8c61cdeb4ff0a4c2640be6a412db2c099b78d15b657d3b0bf8f324416d9258f7867fee6cf54923a542d diff --git a/games-fps/serioussam/metadata.xml b/games-fps/serioussam/metadata.xml new file mode 100644 index 000000000000..c9c22cde71e7 --- /dev/null +++ b/games-fps/serioussam/metadata.xml @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person" proxied="yes"> + <email>t.x00100x.t@yandex.ru</email> + <name>Alexander Pavlov</name> + </maintainer> + <maintainer type="project" proxied="proxy"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> + <use> + <flag name="alsa">Enable support ALSA sound.</flag> + <flag name="pipewire">Enable support for pipewire.</flag> + <flag name="vulkan">Enable support Vulkan render.</flag> + </use> + <upstream> + <remote-id type="github">tx00100xt/SeriousSamClassic-VK</remote-id> + <bugs-to>https://github.com/tx00100xt/SeriousSamClassic-VK/issues</bugs-to> + <changelog>https://github.com/tx00100xt/SeriousSamClassic-VK/releases</changelog> + </upstream> +</pkgmetadata> diff --git a/games-fps/serioussam/serioussam-1.10.6c.ebuild b/games-fps/serioussam/serioussam-1.10.6c.ebuild new file mode 100644 index 000000000000..79d84e4d8acf --- /dev/null +++ b/games-fps/serioussam/serioussam-1.10.6c.ebuild @@ -0,0 +1,106 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake desktop + +MY_PN1="SamTFE" +MY_PN2="SamTSE" +# Game name +GN1="serioussam" +GN2="serioussamse" + +DESCRIPTION="Linux port of Serious Sam Classic with Vulkan support" +HOMEPAGE="https://github.com/tx00100xt/SeriousSamClassic-VK" +SRC_URI="https://github.com/tx00100xt/SeriousSamClassic-VK/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}/SeriousSamClassic-VK-${PV}" + +MY_CONTENT1="${WORKDIR}/SeriousSamClassic-VK-${PV}/${MY_PN1}" +MY_CONTENT2="${WORKDIR}/SeriousSamClassic-VK-${PV}/${MY_PN2}" + +LICENSE="GPL-2 ZLIB" +SLOT="0" +KEYWORDS="-* ~amd64 ~x86" +IUSE="alsa pipewire vulkan" + +RDEPEND=" + games-fps/serioussam-tfe-data + games-fps/serioussam-tse-data + media-libs/libsdl2[video,joystick,opengl] + media-libs/libvorbis + sys-libs/zlib + alsa? ( + >=media-libs/libsdl2-2.0.6[alsa,sound] + ) + pipewire? ( + >=media-libs/libsdl2-2.0.6[pipewire,sound] + ) + vulkan? ( + dev-util/vulkan-headers + media-libs/vulkan-loader + media-libs/libsdl2[video,joystick,opengl,vulkan] + ) +" + +DEPEND="${RDEPEND}" +BDEPEND=" + virtual/pkgconfig + app-alternatives/lex + app-alternatives/yacc + media-gfx/imagemagick +" + +src_configure() { + einfo "Remove Win32 stuff..." + rm -rf "${MY_CONTENT1}"/Tools.Win32 || die "Failed to remove stuff Win32" + rm -rf "${MY_CONTENT2}"/Tools.Win32 || die "Failed to remove stuff Win32" + + einfo "Setting build type Release..." + CMAKE_BUILD_TYPE="Release" + local mycmakeargs=( + -DUSE_SYSTEM_INSTALL=ON + -DUSE_SYSTEM_VULKAN=$(usex vulkan ON OFF) + -DUSE_ASM=$(usex x86 OFF ON) + ) + cmake_src_configure +} + +src_install() { + local dir1="/usr/share/${GN1}" + local dir2="/usr/share/${GN2}" + local dir3="/usr/share/applications" + cmake_src_install + + # install man pages + mv "${S}"/man/gentoo/serioussam-vk.1 "${S}"/man/gentoo/serioussam.1 \ + || die "Failed move man pages" + doman "${S}"/man/gentoo/serioussam.1 + + # removing repo stuff + rm -fr "${MY_CONTENT1}/Sources" && rm -fr "${MY_CONTENT2}/Sources" \ + || die "Failed to remove Sources" + rm -f "${MY_CONTENT1}"/{*.png,*.desktop} \ + || die "Failed to remove serioussam icon and desktop file" + rm -f "${MY_CONTENT2}"/{*.png,*.desktop} \ + || die "Failed to remove serioussamse icon and desktop file" + rm -f "${ED}${dir3}/${GN1}.desktop" "${ED}${dir3}/${GN2}.desktop" \ + || die "Failed to remove desktop file" + + # moving repo content (Scripts, Data, Settings ...) + cp -fr "${MY_CONTENT1}"/* "${ED}${dir1}" \ + || die "Failed to copy repo content (Scripts, Settings)" + cp -fr "${MY_CONTENT2}"/* "${ED}${dir2}" \ + || die "Failed to copy repo content (Scripts, Settings)" + + make_desktop_entry ${GN1} "Serious Sam The First Encounter" ${GN1} + make_desktop_entry ${GN2} "Serious Sam The Second Encounter" ${GN2} +} + +pkg_postinst() { + elog " Look at:" + elog " man serioussam" + elog " https://github.com/tx00100xt/SeriousSamClassic-VK" + elog " https://github.com/tx00100xt/SeriousSamClassic-VK/wiki" + elog " For information on the first launch of the game" +} diff --git a/games-fps/serioussam/serioussam-1.10.6d.ebuild b/games-fps/serioussam/serioussam-1.10.6d.ebuild new file mode 100644 index 000000000000..4df47b2386ee --- /dev/null +++ b/games-fps/serioussam/serioussam-1.10.6d.ebuild @@ -0,0 +1,106 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake desktop + +MY_PN1="SamTFE" +MY_PN2="SamTSE" +# Game name +GN1="serioussam" +GN2="serioussamse" + +DESCRIPTION="Linux port of Serious Sam Classic with Vulkan support" +HOMEPAGE="https://github.com/tx00100xt/SeriousSamClassic-VK" +SRC_URI="https://github.com/tx00100xt/SeriousSamClassic-VK/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}/SeriousSamClassic-VK-${PV}" + +MY_CONTENT1="${WORKDIR}/SeriousSamClassic-VK-${PV}/${MY_PN1}" +MY_CONTENT2="${WORKDIR}/SeriousSamClassic-VK-${PV}/${MY_PN2}" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="-* ~amd64 ~x86" +IUSE="alsa pipewire vulkan" + +RDEPEND=" + games-fps/serioussam-tfe-data + games-fps/serioussam-tse-data + media-libs/libsdl2[video,joystick,opengl] + media-libs/libvorbis + sys-libs/zlib + alsa? ( + >=media-libs/libsdl2-2.0.6[alsa,sound] + ) + pipewire? ( + >=media-libs/libsdl2-2.0.6[pipewire,sound] + ) + vulkan? ( + dev-util/vulkan-headers + media-libs/vulkan-loader + media-libs/libsdl2[video,joystick,opengl,vulkan] + ) +" + +DEPEND="${RDEPEND}" +BDEPEND=" + virtual/pkgconfig + app-alternatives/lex + app-alternatives/yacc + media-gfx/imagemagick +" + +src_configure() { + einfo "Remove Win32 stuff..." + rm -rf "${MY_CONTENT1}"/Tools.Win32 || die "Failed to remove stuff Win32" + rm -rf "${MY_CONTENT2}"/Tools.Win32 || die "Failed to remove stuff Win32" + + einfo "Setting build type Release..." + CMAKE_BUILD_TYPE="Release" + local mycmakeargs=( + -DUSE_SYSTEM_INSTALL=ON + -DUSE_SYSTEM_VULKAN=$(usex vulkan ON OFF) + -DUSE_ASM=$(usex x86 OFF ON) + ) + cmake_src_configure +} + +src_install() { + local dir1="/usr/share/${GN1}" + local dir2="/usr/share/${GN2}" + local dir3="/usr/share/applications" + cmake_src_install + + # install man pages + mv "${S}"/man/gentoo/serioussam-vk.1 "${S}"/man/gentoo/serioussam.1 \ + || die "Failed move man pages" + doman "${S}"/man/gentoo/serioussam.1 + + # removing repo stuff + rm -fr "${MY_CONTENT1}/Sources" && rm -fr "${MY_CONTENT2}/Sources" \ + || die "Failed to remove Sources" + rm -f "${MY_CONTENT1}"/{*.png,*.desktop} \ + || die "Failed to remove serioussam icon and desktop file" + rm -f "${MY_CONTENT2}"/{*.png,*.desktop} \ + || die "Failed to remove serioussamse icon and desktop file" + rm -f "${ED}${dir3}/${GN1}.desktop" "${ED}${dir3}/${GN2}.desktop" \ + || die "Failed to remove desktop file" + + # moving repo content (Scripts, Data, Settings ...) + cp -fr "${MY_CONTENT1}"/* "${ED}${dir1}" \ + || die "Failed to copy repo content (Scripts, Settings)" + cp -fr "${MY_CONTENT2}"/* "${ED}${dir2}" \ + || die "Failed to copy repo content (Scripts, Settings)" + + make_desktop_entry ${GN1} "Serious Sam The First Encounter" ${GN1} + make_desktop_entry ${GN2} "Serious Sam The Second Encounter" ${GN2} +} + +pkg_postinst() { + elog " Look at:" + elog " man serioussam" + elog " https://github.com/tx00100xt/SeriousSamClassic-VK" + elog " https://github.com/tx00100xt/SeriousSamClassic-VK/wiki" + elog " For information on the first launch of the game" +} diff --git a/games-fps/soldieroffortune/metadata.xml b/games-fps/soldieroffortune/metadata.xml index dc508d82ecaa..d2e45524c8e9 100644 --- a/games-fps/soldieroffortune/metadata.xml +++ b/games-fps/soldieroffortune/metadata.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="project"> <email>games@gentoo.org</email> diff --git a/games-fps/soldieroffortune/soldieroffortune-1.06a-r1.ebuild b/games-fps/soldieroffortune/soldieroffortune-1.06a-r2.ebuild index b10d3fa33648..ad644fc95b44 100644 --- a/games-fps/soldieroffortune/soldieroffortune-1.06a-r1.ebuild +++ b/games-fps/soldieroffortune/soldieroffortune-1.06a-r2.ebuild @@ -1,36 +1,36 @@ -# Copyright 1999-2019 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=5 -inherit check-reqs eutils unpacker cdrom games +EAPI=7 + +CHECKREQS_DISK_BUILD="1450M" +CHECKREQS_DISK_USR="725M" +inherit cdrom check-reqs desktop unpacker wrapper DESCRIPTION="First-person shooter based on the mercenary trade" HOMEPAGE="http://www.lokigames.com/products/sof/" SRC_URI="mirror://lokigames/sof/sof-${PV}-cdrom-x86.run" +S="${WORKDIR}" LICENSE="LOKI-EULA" SLOT="0" KEYWORDS="~amd64 ~x86" RESTRICT="strip mirror bindist" -IUSE="" -DEPEND="games-util/loki_patch" -RDEPEND="sys-libs/glibc - amd64? ( sys-libs/glibc[multilib] ) - virtual/opengl[abi_x86_32(-)] +RDEPEND=" media-libs/libsdl[X,opengl,sound,abi_x86_32(-)] + media-libs/smpeg[abi_x86_32(-)] + sys-libs/glibc + virtual/opengl[abi_x86_32(-)] x11-libs/libXrender[abi_x86_32(-)] x11-libs/libXrandr[abi_x86_32(-)] - media-libs/smpeg[abi_x86_32(-)]" - -S=${WORKDIR} - -dir=${GAMES_PREFIX_OPT}/${PN} -Ddir=${ED}/${dir} -unpackDir=${T}/unpack + amd64? ( sys-libs/glibc[multilib] ) +" +BDEPEND="games-util/loki_patch" -CHECKREQS_DISK_BUILD="1450M" -CHECKREQS_DISK_USR="725M" +dir=opt/${PN} +Ddir="${ED}"/${dir} +unpackDir="${T}"/unpack pkg_pretend() { check-reqs_pkg_pretend @@ -46,38 +46,37 @@ src_unpack() { src_install() { einfo "Copying files... this may take a while..." - exeinto "${dir}" + + exeinto ${dir} doexe "${CDROM_ROOT}"/bin/x86/glibc-2.1/sof - insinto "${dir}" + + insinto ${dir} doins -r "${unpackDir}"/* doins "${CDROM_ROOT}"/{README,kver.pub,sof.xpm} - cd "${S}" + cd "${S}" || die export _POSIX2_VERSION=199209 - loki_patch --verify patch.dat + loki_patch --verify patch.dat || die loki_patch patch.dat "${Ddir}" >& /dev/null || die # now, since these files are coming off a cd, the times/sizes/md5sums wont # be different ... that means portage will try to unmerge some files (!) # we run touch on ${D} so as to make sure portage doesnt do any such thing - find "${Ddir}" -exec touch '{}' + + find "${Ddir}" -exec touch '{}' + || die - games_make_wrapper sof ./sof "${dir}" "${dir}" + make_wrapper sof ./sof "${dir}" "${dir}" - # fix buffer overflow + # Fix buffer overflow sed -i -e '/^exec/i \ export MESA_EXTENSION_MAX_YEAR=2003 \ export __GL_ExtensionStringVersion=17700' \ - "${ED}/${GAMES_BINDIR}/sof" || die + "${ED}/usr/bin/sof" || die doicon "${CDROM_ROOT}"/sof.xpm make_desktop_entry sof "Soldier of Fortune" sof - - prepgamesdirs } pkg_postinst() { - games_pkg_postinst elog "To play the game run:" elog " sof" } diff --git a/games-fps/tenebrae/files/1.04-glhax.patch b/games-fps/tenebrae/files/1.04-glhax.patch index a185d8e10c7d..ffabf36f1768 100644 --- a/games-fps/tenebrae/files/1.04-glhax.patch +++ b/games-fps/tenebrae/files/1.04-glhax.patch @@ -1,5 +1,5 @@ ---- tenebrae_0/glquake.h 2004-12-25 00:28:28.707288592 -0500 -+++ tenebrae_0/glquake.h 2004-12-25 00:27:35.000000000 -0500 +--- a/glquake.h ++++ b/glquake.h @@ -34,6 +34,7 @@ #else #include <GL/gl.h> diff --git a/games-fps/tenebrae/files/tenebrae-1.04-redef.patch b/games-fps/tenebrae/files/tenebrae-1.04-redef.patch index 8bd89aa18e6f..abcfacec180c 100644 --- a/games-fps/tenebrae/files/tenebrae-1.04-redef.patch +++ b/games-fps/tenebrae/files/tenebrae-1.04-redef.patch @@ -1,5 +1,5 @@ ---- a/sys_dosa.s 2017-09-06 16:41:31.875358788 -0500 -+++ b/sys_dosa.s 2017-09-06 16:41:35.947376646 -0500 +--- a/sys_dosa.s ++++ b/sys_dosa.s @@ -44,6 +44,8 @@ .text diff --git a/games-fps/tenebrae/metadata.xml b/games-fps/tenebrae/metadata.xml index 04edb8b61c7e..22b67990e52c 100644 --- a/games-fps/tenebrae/metadata.xml +++ b/games-fps/tenebrae/metadata.xml @@ -1,17 +1,17 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="project"> <email>games@gentoo.org</email> <name>Gentoo Games Project</name> </maintainer> <longdescription> -Tenebrae is a modification of the quake source that adds stencil shadows -and per pixel lights to quake. Stencil shadows allow for realistic -shadow effects on every object in the game world. Per pixel lighting -allows you to have fine surface details correctly lit. These are -essentially the same algorithms as used by the new Doom game. -</longdescription> + Tenebrae is a modification of the quake source that adds stencil shadows + and per pixel lights to quake. Stencil shadows allow for realistic + shadow effects on every object in the game world. Per pixel lighting + allows you to have fine surface details correctly lit. These are + essentially the same algorithms as used by the new Doom game. + </longdescription> <upstream> <remote-id type="sourceforge">tenebrae</remote-id> </upstream> diff --git a/games-fps/tenebrae/tenebrae-1.04-r1.ebuild b/games-fps/tenebrae/tenebrae-1.04-r1.ebuild index 85a7552e4015..433bb4b09774 100644 --- a/games-fps/tenebrae/tenebrae-1.04-r1.ebuild +++ b/games-fps/tenebrae/tenebrae-1.04-r1.ebuild @@ -1,42 +1,41 @@ -# Copyright 1999-2017 Gentoo Foundation +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=6 +EAPI=7 #ECVS_SERVER="cvs.tenebrae.sourceforge.net:/cvsroot/tenebrae" #ECVS_MODULE="tenebrae_0" -#inherit cvs -inherit eutils -DESCRIPTION="adds stencil shadows and per pixel lights to quake" -HOMEPAGE="http://tenebrae.sourceforge.net/" -SRC_URI="mirror://sourceforge/tenebrae/tenebraedata.zip +inherit toolchain-funcs + +DESCRIPTION="Adds stencil shadows and per pixel lights to quake" +HOMEPAGE="https://tenebrae.sourceforge.net/" +SRC_URI="https://downloads.sourceforge.net/tenebrae/tenebraedata.zip mirror://gentoo/${P}.tbz2" +S="${WORKDIR}" LICENSE="GPL-2" SLOT="0" KEYWORDS="~x86" -IUSE="" RDEPEND=" + media-libs/libpng:0 virtual/glu virtual/opengl - media-libs/libpng:0 x11-libs/libXxf86dga - x11-libs/libXxf86vm" -DEPEND="${RDEPEND} - app-arch/unzip - x11-base/xorg-proto" - -S=${WORKDIR} + x11-libs/libXxf86vm +" +DEPEND=" + ${RDEPEND} + x11-base/xorg-proto +" +BDEPEND="app-arch/unzip" -src_unpack() { - if [[ -z ${ECVS_MODULE} ]] ; then - unpack ${A} - else - cvs_src_unpack - fi -} +PATCHES=( + "${FILESDIR}"/${PV}-glhax.patch + "${FILESDIR}"/${P}-exec-stack.patch + "${FILESDIR}"/${P}-redef.patch +) src_prepare() { cd tenebrae_0 || die "cd failed" @@ -45,27 +44,27 @@ src_prepare() { -e 's:png_set_gray_1_2_4_to_8:png_set_expand_gray_1_2_4_to_8:g' \ gl_warp.c || die - eapply "${FILESDIR}"/${PV}-glhax.patch - eapply "${FILESDIR}"/${P}-exec-stack.patch - eapply "${FILESDIR}"/${P}-redef.patch - default cd linux || die "cd failed" sed \ -e "/^LDFLAGS/s:=:+=:" \ -e "s:-mpentiumpro -O6:${CFLAGS}:" \ + -e "s:CC.*= /usr/bin/gcc:CC?=/usr/bin/gcc:" \ Makefile.i386linux > Makefile || die } src_compile() { + tc-export CC + cd "${S}"/tenebrae_0/linux || die "cd failed" emake MASTER_DIR="/usr/share/quake1" build_release } src_install() { newbin tenebrae_0/linux/release*/bin/tenebrae.run tenebrae - insinto "/usr/share/quake1/tenebrae" + + insinto /usr/share/quake1/tenebrae doins "${WORKDIR}"/tenebrae/* dodoc tenebrae_0/linux/README "${WORKDIR}"/Tenebrae_Readme.txt } diff --git a/games-fps/transfusion-bin/metadata.xml b/games-fps/transfusion-bin/metadata.xml index ca74fa8ae7a2..ef8189577b9b 100644 --- a/games-fps/transfusion-bin/metadata.xml +++ b/games-fps/transfusion-bin/metadata.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="project"> <email>games@gentoo.org</email> diff --git a/games-fps/transfusion-bin/transfusion-bin-1.01-r1.ebuild b/games-fps/transfusion-bin/transfusion-bin-1.01-r1.ebuild index beeb5e9eb35f..c81d6d5611f9 100644 --- a/games-fps/transfusion-bin/transfusion-bin-1.01-r1.ebuild +++ b/games-fps/transfusion-bin/transfusion-bin-1.01-r1.ebuild @@ -1,27 +1,35 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=6 -inherit eutils +EAPI=7 + +inherit desktop wrapper MY_PN="${PN/-bin/}" DESCRIPTION="Blood remake" HOMEPAGE="https://www.transfusion-game.com/" -SRC_URI="mirror://sourceforge/blood/${MY_PN}-1.0-linux.i386.zip - mirror://sourceforge/blood/${MY_PN}-patch-${PV}-linux.i386.zip +SRC_URI="https://downloads.sourceforge.net/blood/${MY_PN}-1.0-linux.i386.zip + https://downloads.sourceforge.net/blood/${MY_PN}-patch-${PV}-linux.i386.zip mirror://gentoo/${MY_PN}.png" +S="${WORKDIR}/${MY_PN}" LICENSE="GPL-2" SLOT="0" KEYWORDS="-* ~amd64 ~x86" -IUSE="" RESTRICT="strip" -RDEPEND="sys-libs/glibc" -DEPEND="${RDEPEND} - app-arch/unzip" +RDEPEND=" + sys-libs/glibc + x11-libs/libX11 + x11-libs/libXext +" +DEPEND="${RDEPEND}" +BDEPEND="app-arch/unzip" -S="${WORKDIR}/${MY_PN}" +QA_PREBUILT=" + opt/transfusion/transfusion-dedicated + opt/transfusion/transfusion-glx +" dir="/opt/${MY_PN}" Ddir="${D}/${dir}" @@ -32,14 +40,14 @@ src_install() { HTML_DOCS="${MY_PN}/doc/*.html" einstalldocs #...then mass copy everything to the install dir... - dodir "${dir}" + dodir ${dir} cp -R * "${Ddir}" || die # ...and remove the docs since we don't need them installed twice. rm -rf \ "${Ddir}"/${MY_PN}/doc \ "${Ddir}"/qw/*txt \ - "${Ddir}"/${MY_PN}/*txt + "${Ddir}"/${MY_PN}/*txt || die doicon "${DISTDIR}"/${MY_PN}.png make_wrapper ${MY_PN} ./${MY_PN}-glx "${dir}" "${dir}" diff --git a/games-fps/tribes2/metadata.xml b/games-fps/tribes2/metadata.xml index 78274e0fa550..1c3ba213c494 100644 --- a/games-fps/tribes2/metadata.xml +++ b/games-fps/tribes2/metadata.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="project"> <email>games@gentoo.org</email> diff --git a/games-fps/tribes2/tribes2-25034.ebuild b/games-fps/tribes2/tribes2-25034.ebuild index b6863191127a..225678114969 100644 --- a/games-fps/tribes2/tribes2-25034.ebuild +++ b/games-fps/tribes2/tribes2-25034.ebuild @@ -1,12 +1,14 @@ -# Copyright 1999-2019 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=5 -inherit eutils unpacker cdrom games +EAPI=7 + +inherit cdrom desktop unpacker wrapper DESCRIPTION="Tribes 2 - Team Combat on an Epic Scale" HOMEPAGE="http://www.lokigames.com/products/tribes2/" SRC_URI="http://www.libsdl.org/projects/${PN}/release/${P}-cdrom-x86.run" +S="${WORKDIR}" LICENSE="LOKI-EULA" SLOT="0" @@ -14,21 +16,21 @@ SLOT="0" # time to try to figure it out but this definitely needs to stay -amd64 until # someone does fix the patching. KEYWORDS="-amd64 ~x86" -IUSE="" RESTRICT="mirror bindist strip" -DEPEND="sys-libs/glibc - games-util/loki_patch" -RDEPEND="${DEPEND} - virtual/opengl" - -S=${WORKDIR} +DEPEND=" + sys-libs/glibc +" +RDEPEND=" + ${DEPEND} + virtual/opengl +" +BDEPEND="games-util/loki_patch" -dir=${GAMES_PREFIX_OPT}/${PN} -Ddir=${D}/${dir} +dir=opt/${PN} +Ddir="${ED}"/${dir} pkg_setup() { - games_pkg_setup ewarn "The installed game takes about 507MB of space!" } @@ -59,17 +61,14 @@ src_install() { # now, since these files are coming off a cd, the times/sizes/md5sums wont # be different ... that means portage will try to unmerge some files (!) # we run touch on ${D} so as to make sure portage doesnt do any such thing - find "${Ddir}" -exec touch '{}' + + find "${Ddir}" -exec touch '{}' + || die newicon "${CDROM_ROOT}"/icon.xpm tribes2.xpm - games_make_wrapper t2launch ./t2launch "${dir}" "${dir}" + make_wrapper t2launch ./t2launch "${dir}" "${dir}" make_desktop_entry t2launch "Tribes 2" tribes2 - - prepgamesdirs } pkg_postinst() { - games_pkg_postinst elog "To play the game run:" elog " t2launch" } diff --git a/games-fps/turtlearena/metadata.xml b/games-fps/turtlearena/metadata.xml index 76847d643c80..80b2d76ead56 100644 --- a/games-fps/turtlearena/metadata.xml +++ b/games-fps/turtlearena/metadata.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="project"> <email>games@gentoo.org</email> @@ -10,4 +10,7 @@ <flag name="server">Build server target</flag> <flag name="voice">Adds VoIP support</flag> </use> + <upstream> + <remote-id type="github">Turtle-Arena/turtle-arena-code</remote-id> + </upstream> </pkgmetadata> diff --git a/games-fps/turtlearena/turtlearena-0.6.1-r1.ebuild b/games-fps/turtlearena/turtlearena-0.6.1-r1.ebuild index ee3525548a70..11be86191560 100644 --- a/games-fps/turtlearena/turtlearena-0.6.1-r1.ebuild +++ b/games-fps/turtlearena/turtlearena-0.6.1-r1.ebuild @@ -1,16 +1,16 @@ -# Copyright 1999-2017 Gentoo Foundation +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=6 +EAPI=8 -inherit eutils gnome2-utils - -MY_P=${PN/-/}-${PV} +inherit desktop toolchain-funcs DESCRIPTION="A turtle featuring free and open source third-person action game (ioq3 engine)" -HOMEPAGE="http://ztm.x10host.com/ta/index.htm" -SRC_URI="https://turtlearena.googlecode.com/files/${MY_P}-0-src.tar.bz2 - https://turtlearena.googlecode.com/files/${MY_P}-0.zip" +HOMEPAGE="https://clover.moe/turtlearena/" +SRC_URI=" + https://turtlearena.googlecode.com/files/${P}-0-src.tar.bz2 + https://turtlearena.googlecode.com/files/${P}-0.zip" +S="${WORKDIR}/${P}-0-src" LICENSE="GPL-2+ CC-BY-SA-3.0 mplus-fonts lcc" SLOT="0" @@ -18,36 +18,36 @@ KEYWORDS="~amd64 ~x86" IUSE="+curl debug dedicated mumble openal server theora voice vorbis" RDEPEND=" - sys-libs/zlib[minizip] + sys-libs/zlib:=[minizip] !dedicated? ( media-libs/freetype:2 - media-libs/libsdl[X,sound,joystick,opengl,video] - virtual/jpeg:0 + media-libs/libsdl[X,joystick,opengl,sound,video] + virtual/jpeg virtual/opengl curl? ( net-misc/curl ) openal? ( media-libs/openal ) theora? ( media-libs/libtheora ) voice? ( media-libs/speex - mumble? ( media-sound/mumble ) + mumble? ( net-voip/mumble ) ) vorbis? ( media-libs/libvorbis ) )" -DEPEND="${RDEPEND} +DEPEND="${RDEPEND}" +BDEPEND=" app-arch/unzip virtual/pkgconfig" -S=${WORKDIR}/${MY_P}-0-src +PATCHES=( + "${FILESDIR}"/${P}-build.patch + "${FILESDIR}"/${P}-freetype.patch +) src_prepare() { default - eapply "${FILESDIR}"/${P}-build.patch - eapply "${FILESDIR}"/${P}-freetype.patch - - sed -i \ - -e 's:JPEG_LIB_VERSION < 80:JPEG_LIB_VERSION < 62:' \ - engine/code/renderer/tr_image_jpg.c || die #479822 + sed -e 's|JPEG_LIB_VERSION < 80|JPEG_LIB_VERSION < 62|' \ + -i engine/code/renderer/tr_image_jpg.c || die #479822 rm -r engine/code/{AL,libcurl,libogg,libspeex,libtheora,libvorbis,SDL12,zlib} \ engine/code/freetype* engine/code/jpeg-* \ @@ -55,68 +55,60 @@ src_prepare() { } src_compile() { - buildit() { use $1 && echo 1 || echo 0 ; } - nobuildit() { use $1 && echo 0 || echo 1 ; } - - myarch=$(usex amd64 "x86_64" "x86") - emake -C engine \ - Q="" \ - ARCH=${myarch} \ - CROSS_COMPILING=0 \ - BUILD_GAME_QVM=0 \ - BUILD_GAME_SO=0 \ - BUILD_CLIENT=$(nobuildit dedicated) \ - BUILD_SERVER=$(usex dedicated "1" "$(buildit server)") \ - DEFAULT_BASEDIR="/usr/share/${PN}" \ - GENERATE_DEPENDENCIES=0 \ - OPTIMIZEVM="" \ - OPTIMIZE="" \ - DEBUG_CFLAGS="" \ - USE_MUMBLE=$(buildit mumble) \ - USE_VOIP=$(buildit voice) \ - USE_INTERNAL_SPEEX=0 \ - USE_INTERNAL_OGG=0 \ - USE_INTERNAL_ZLIB=0 \ - USE_INTERNAL_JPEG=0 \ - USE_INTERNAL_FREETYPE=0 \ - USE_CODEC_VORBIS=$(buildit vorbis) \ - USE_INTERNAL_VORBIS=0 \ - USE_CODEC_THEORA=$(buildit theora) \ - USE_OPENAL=$(buildit openal) \ - USE_OPENAL_DLOPEN=0 \ - USE_CURL=$(buildit curl) \ - USE_CURL_DLOPEN=0 \ - USE_LOCAL_HEADERS=0 \ - $(usex debug "debug" "release") + tc-export CC + + MY_ARCH=$(usex amd64 x86_64 x86) + MY_RELEASE=$(usex debug debug release) + + local emakeargs=( + ARCH=${MY_ARCH} + BUILD_CLIENT=$(usex dedicated 0 1) + BUILD_SERVER=$(usex dedicated 1 $(usex server 1 0)) + BUILD_GAME_QVM=0 + BUILD_GAME_SO=0 + CROSS_COMPILING=0 + DEBUG_CFLAGS= + DEFAULT_BASEDIR="${EPREFIX}"/usr/share/${PN} + GENERATE_DEPENDENCIES=0 + OPTIMIZE= + OPTIMIZEVM= + Q= + USE_CODEC_THEORA=$(usex theora 1 0) + USE_CODEC_VORBIS=$(usex vorbis 1 0) + USE_CURL=$(usex curl 1 0) + USE_CURL_DLOPEN=0 + USE_INTERNAL_FREETYPE=0 + USE_INTERNAL_JPEG=0 + USE_INTERNAL_OGG=0 + USE_INTERNAL_SPEEX=0 + USE_INTERNAL_VORBIS=0 + USE_INTERNAL_ZLIB=0 + USE_LOCAL_HEADERS=0 + USE_MUMBLE=$(usex mumble 1 0) + USE_OPENAL=$(usex openal 1 0) + USE_OPENAL_DLOPEN=0 + USE_VOIP=$(usex voice 1 0) + ) + + emake -C engine "${emakeargs[@]}" ${MY_RELEASE} } src_install() { - dodoc engine/{ChangeLog,BUGS,TODO} - use voice && dodoc engine/voip-readme.txt + if ! use dedicated; then + newbin engine/build/${MY_RELEASE}-linux-${MY_ARCH}/turtlearena.${MY_ARCH} turtlearena - if ! use dedicated ; then - newbin engine/build/$(usex debug "debug" "release")-linux-${myarch}/turtlearena.${myarch} turtlearena - newicon -s scalable engine/misc/quake3-tango.svg ${PN}.svg - newicon -s 256 engine/misc/quake3-tango.png ${PN}.png - make_desktop_entry ${PN} - fi + use voice && dodoc engine/voip-readme.txt - if use dedicated || use server ; then - newbin engine/build/$(usex debug "debug" "release")-linux-${myarch}/turtlearena-server.${myarch} turtlearena-server + newicon engine/misc/quake3-tango.svg ${PN}.svg + make_desktop_entry ${PN} "Turtle Arena" fi - insinto "/usr/share/${PN}" - doins -r "${WORKDIR}"/${MY_P}-0/base -} - -pkg_preinst() { - use dedicated || gnome2_icon_savelist -} + if use dedicated || use server; then + newbin engine/build/${MY_RELEASE}-linux-${MY_ARCH}/turtlearena-server.${MY_ARCH} turtlearena-server + fi -pkg_postinst() { - use dedicated || gnome2_icon_cache_update -} + insinto /usr/share/${PN} + doins -r ../${P}-0/base -pkg_postrm() { - use dedicated || gnome2_icon_cache_update + dodoc engine/{ChangeLog,BUGS,TODO} } diff --git a/games-fps/urbanterror-data/metadata.xml b/games-fps/urbanterror-data/metadata.xml index 866bc44b9828..992dc299fa65 100644 --- a/games-fps/urbanterror-data/metadata.xml +++ b/games-fps/urbanterror-data/metadata.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="person"> + <maintainer type="person" proxied="yes"> <email>holgersson@posteo.de</email> <name>Nils Freydank</name> </maintainer> @@ -9,7 +9,7 @@ <email>games@gentoo.org</email> <name>Gentoo Games Project</name> </maintainer> - <maintainer type="project"> + <maintainer type="project" proxied="proxy"> <email>proxy-maint@gentoo.org</email> <name>Proxy Maintainers</name> </maintainer> diff --git a/games-fps/urbanterror-data/urbanterror-data-4.3.4.ebuild b/games-fps/urbanterror-data/urbanterror-data-4.3.4.ebuild index a3c4a290fb5a..cb0421234916 100644 --- a/games-fps/urbanterror-data/urbanterror-data-4.3.4.ebuild +++ b/games-fps/urbanterror-data/urbanterror-data-4.3.4.ebuild @@ -1,21 +1,23 @@ -# Copyright 1999-2019 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI="6" +EAPI=7 + +CHECKREQS_DISK_BUILD="3300M" +CHECKREQS_DISK_USR="1400M" inherit check-reqs ENGINE_PV=${PV} - MY_PN=UrbanTerror MY_PV=43_full DESCRIPTION="Data files for UrbanTerror" HOMEPAGE="https://www.urbanterror.info" - # load the base image and save it as .0 file # use 43_full-2.zip as upstream fixed something back then SRC_URI="https://up.barbatos.fr/urt/${MY_PN}${MY_PV}_2.zip -> ${PN}-4.3.0.zip" +S="${WORKDIR}/${MY_PN}43" # fetch updates recursively for |4.3.x-4.3.0| if [[ "${PV}" != "4.3.0" ]]; then @@ -30,13 +32,9 @@ unset MY_CTR LICENSE="Q3AEULA-20000111 urbanterror-4.2-maps" SLOT="0" KEYWORDS="~amd64 ~x86" -RESTRICT="bindist" -DEPEND="app-arch/unzip" - -S="${WORKDIR}/${MY_PN}43" +RESTRICT="bindist mirror" -CHECKREQS_DISK_BUILD="3300M" -CHECKREQS_DISK_USR="1400M" +BDEPEND="app-arch/unzip" src_prepare() { default diff --git a/games-fps/urbanterror/Manifest b/games-fps/urbanterror/Manifest index 247eede61620..c979f83b10ba 100644 --- a/games-fps/urbanterror/Manifest +++ b/games-fps/urbanterror/Manifest @@ -1 +1 @@ -DIST urbanterror-4.3.4_p20200519.tar.gz 6188257 BLAKE2B 931bc1c1f5b29dfc57c104400a5ea35fc2741ec1e2187ddd33e77a55aeb1580ec7dd21aa9670f0c94ee033b869ce2e6be05e9342e87d1a9707b9874f59c5cf06 SHA512 f555586cbef8c0baa70baaa0de4ef380c72c98990940cec2b1050201c6878f7ababfb2ef44c37766519f25990badcb12c89c61aa7a7b123c44cc151ac0ef8d56 +DIST urbanterror-4.3.4_p20211208.tar.gz 6187667 BLAKE2B 7901ad0d23d9b80634a3e4e68973227f302bb7004bdb1f450f7ab520f1a3243821aa49712a486d1e577e5bb055504d4005555fa273e64a2e2b57a75661044370 SHA512 24c0fe6775a165ddcc6b919bc46872fdcfff7e471c6ff88b635e6926bce051cc034e7ef8a5145996d67c79632cef763e4cc6c5c988d36088de0f69bb5626ff86 diff --git a/games-fps/urbanterror/files/urbanterror-4.3.4_p20180708-fix-build_system.patch b/games-fps/urbanterror/files/urbanterror-4.3.4_p20211208-respect-flags.patch index fddd8df5bf37..d6938f3a4609 100644 --- a/games-fps/urbanterror/files/urbanterror-4.3.4_p20180708-fix-build_system.patch +++ b/games-fps/urbanterror/files/urbanterror-4.3.4_p20211208-respect-flags.patch @@ -1,21 +1,7 @@ -Author: Nils Freydank <holgersson@posteo.de> -Date: Fri Nov 17 20:30:00 2017 +0100 - -Respect CFLAGS, CPPFLAGS etc. This patch is inspired -by hasufell’s patch. - -Edit 2018-03-19: Now with server support! -Edit 2018-09-01: Update to take Makefile changes into account. - ---- a/Makefile 2018-07-08 11:00:00.000000000 +0200 -+++ b/Makefile 2018-09-01 11:00:00.000000001 +0200 -@@ -308,34 +308,33 @@ - CLIENT_EXTRA_FILES= - - ifneq (,$(findstring "$(PLATFORM)", "linux" "gnu_kfreebsd" "kfreebsd-gnu" "gnu")) -- BASE_CFLAGS = -Wall -fno-strict-aliasing -Wimplicit -Wstrict-prototypes \ -- -pipe -DUSE_ICON -DARCH_STRING=\\\"$(ARCH)\\\" -+ BASE_CFLAGS = -DUSE_ICON -DARCH_STRING=\\\"$(ARCH)\\\" +--- a/Makefile ++++ b/Makefile +@@ -322,30 +322,30 @@ ifneq (,$(findstring "$(PLATFORM)", "linux" "gnu_kfreebsd" "kfreebsd-gnu" "gnu") + -pipe -DUSE_ICON -DARCH_STRING=\\\"$(ARCH)\\\" CLIENT_CFLAGS += $(SDL_CFLAGS) - OPTIMIZEVM = -O3 @@ -55,7 +41,7 @@ Edit 2018-09-01: Update to take Makefile changes into account. HAVE_VM_COMPILED=true endif ifeq ($(ARCH),armv7l) -@@ -1143,7 +1142,7 @@ +@@ -1153,7 +1153,7 @@ endif define DO_CC $(echo_cmd) "CC $<" @@ -64,7 +50,7 @@ Edit 2018-09-01: Update to take Makefile changes into account. endef define DO_CC_ALTIVEC -@@ -1153,7 +1152,7 @@ +@@ -1163,7 +1163,7 @@ endef define DO_REF_CC $(echo_cmd) "REF_CC $<" @@ -73,7 +59,7 @@ Edit 2018-09-01: Update to take Makefile changes into account. endef define DO_REF_CC_ALTIVEC -@@ -1171,7 +1170,7 @@ +@@ -1181,7 +1181,7 @@ endef define DO_BOT_CC $(echo_cmd) "BOT_CC $<" @@ -82,7 +68,7 @@ Edit 2018-09-01: Update to take Makefile changes into account. endef ifeq ($(GENERATE_DEPENDENCIES),1) -@@ -1185,7 +1184,7 @@ +@@ -1195,7 +1195,7 @@ endef define DO_DED_CC $(echo_cmd) "DED_CC $<" @@ -91,4 +77,3 @@ Edit 2018-09-01: Update to take Makefile changes into account. endef define DO_WINDRES - diff --git a/games-fps/urbanterror/metadata.xml b/games-fps/urbanterror/metadata.xml index c57b90db2fc0..b4768f36b429 100644 --- a/games-fps/urbanterror/metadata.xml +++ b/games-fps/urbanterror/metadata.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="person"> + <maintainer type="person" proxied="yes"> <email>holgersson@posteo.de</email> <name>Nils Freydank</name> </maintainer> @@ -9,7 +9,7 @@ <email>games@gentoo.org</email> <name>Gentoo Games Project</name> </maintainer> - <maintainer type="project"> + <maintainer type="project" proxied="proxy"> <email>proxy-maint@gentoo.org</email> <name>Proxy Maintainers</name> </maintainer> diff --git a/games-fps/urbanterror/urbanterror-4.3.4_p20200519.ebuild b/games-fps/urbanterror/urbanterror-4.3.4_p20211208.ebuild index 902878edb277..28b623b2193d 100644 --- a/games-fps/urbanterror/urbanterror-4.3.4_p20200519.ebuild +++ b/games-fps/urbanterror/urbanterror-4.3.4_p20211208.ebuild @@ -1,7 +1,7 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI="7" +EAPI=8 inherit desktop flag-o-matic toolchain-funcs xdg-utils @@ -13,7 +13,7 @@ if [[ ${PV} == *9999 ]]; then EGIT_REPO_URI="https://github.com/mickael9/ioq3.git" EGIT_BRANCH="urt" else - COMMIT_ID="58d8e9942101e0ca28a434b92e1d45d42eb2bd9a" + COMMIT_ID="c988f7669bd70b59beb384563d4c8304062ae011" SRC_URI="https://github.com/mickael9/ioq3/archive/${COMMIT_ID}.tar.gz -> ${P}.tar.gz" S="${WORKDIR}/ioq3-${COMMIT_ID}" KEYWORDS="~amd64 ~x86" @@ -22,27 +22,31 @@ fi LICENSE="GPL-2" SLOT="0" IUSE="+altgamma +client +curl debug mumble openal +opus server +skeetshootmod voip vorbis" -REQUIRED_USE="|| ( client server ) - voip? ( opus )" +REQUIRED_USE=" + || ( client server ) + voip? ( opus ) +" DOCS=( ChangeLog README.md README.ioq3.md md4-readme.txt ) PATCHES=( - "${FILESDIR}"/${PN}-4.3.4_p20180708-fix-build_system.patch + "${FILESDIR}"/${PN}-4.3.4_p20211208-respect-flags.patch ) RDEPEND=" client? ( - media-libs/libsdl2:=[X,sound,joystick,opengl,video] - mumble? ( media-sound/mumble:= ) + media-libs/libsdl2[X,sound,joystick,opengl,video] + mumble? ( net-voip/mumble:= ) openal? ( media-libs/openal:= ) - opus? ( media-libs/opusfile:= ) - vorbis? ( media-libs/libvorbis:= ) + opus? ( media-libs/opusfile ) + vorbis? ( media-libs/libvorbis ) ) curl? ( net-misc/curl ) ~games-fps/urbanterror-data-4.3.4 sys-libs/zlib:=[minizip] virtual/jpeg:0 + x11-libs/libX11 + x11-libs/libXxf86vm " DEPEND="${RDEPEND}" @@ -57,15 +61,14 @@ pkg_pretend() { } src_configure() { - default - tc-export CC + default } src_compile() { # Workaround for used zlib macro, which got renamed in Gentoo # wrt bug #449510 - append-cppflags "-DOF=_Z_OF" + has_version "<sys-libs/zlib-1.3" && append-cppflags "-DOF=_Z_OF" local myemakeargs=( ARCH=$(usex amd64 "x86_64" "i686" ) diff --git a/games-fps/ut2003-bonuspack-cm/metadata.xml b/games-fps/ut2003-bonuspack-cm/metadata.xml index e716a53e0747..dff2122c8937 100644 --- a/games-fps/ut2003-bonuspack-cm/metadata.xml +++ b/games-fps/ut2003-bonuspack-cm/metadata.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="project"> <email>games@gentoo.org</email> diff --git a/games-fps/ut2003-bonuspack-cm/ut2003-bonuspack-cm-1-r1.ebuild b/games-fps/ut2003-bonuspack-cm/ut2003-bonuspack-cm-1-r1.ebuild new file mode 100644 index 000000000000..a40e978c7e73 --- /dev/null +++ b/games-fps/ut2003-bonuspack-cm/ut2003-bonuspack-cm-1-r1.ebuild @@ -0,0 +1,53 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit unpacker + +DESCRIPTION="Community Bonus Pack for UT2003" +HOMEPAGE="https://liandri.beyondunreal.com/Unreal_Tournament_2003" +SRC_URI="https://downloads.unrealadmin.org/UT2003/BonusPack/cbp2003.zip" +S="${WORKDIR}" + +LICENSE="ut2003" +SLOT="1" +KEYWORDS="~x86" +# Needs signup to download +RESTRICT="bindist fetch mirror strip" + +RDEPEND="games-fps/ut2003" +DEPEND="${RDEPEND}" +BDEPEND="app-arch/unzip" + +src_unpack() { + unpack_zip "${DISTDIR}"/${A} +} + +src_install() { + # Inlined from games.eclass + local dir="${EPREFIX}"/opt/ut2003 + local Ddir="${D}${dir}" + + # Inlined from games.eclass + _games_umod_unpack() { + local umod=${1} + + mkdir -p "${Ddir}"/System || die + cp "${dir}"/System/{ucc-bin,Manifest.ini,{Engine,Core,zlib,ogg,vorbis}.so,{Engine,Core}.int} "${Ddir}"/System || die + # Don't die here (for now) in case Default.ini, DefUser.ini are missing + cp "${dir}"/System/Def{ault,User}.ini "${Ddir}"/System &> /dev/null + + cd "${Ddir}"/System || die + UT_DATA_PATH="${Ddir}"/System ./ucc-bin umodunpack -x "${S}/${umod}" -nohomedir &> /dev/null || die "uncompressing file ${umod}" + rm -f "${Ddir}"/System/{ucc-bin,{Manifest,Def{ault,User},User,UT200{3,4}}.ini,{Engine,Core,zlib,ogg,vorbis}.so,{Engine,Core}.int,ucc.log &>/dev/null || die "Removing temporary files" + } + + for i in Animations Help Music Maps StaticMeshes Textures System; do + mkdir -p "${Ddir}"/${i} || die + done + + _games_umod_unpack CBP2003.ut2mod + + rm "${Ddir}"/Readme.txt "${Ddir}/cbp installer logo1.bmp" || die +} diff --git a/games-fps/ut2003-bonuspack-cm/ut2003-bonuspack-cm-1.ebuild b/games-fps/ut2003-bonuspack-cm/ut2003-bonuspack-cm-1.ebuild deleted file mode 100644 index d42bd801c5ed..000000000000 --- a/games-fps/ut2003-bonuspack-cm/ut2003-bonuspack-cm-1.ebuild +++ /dev/null @@ -1,38 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=5 - -inherit games unpacker - -DESCRIPTION="Community Bonus Pack for UT2003" -HOMEPAGE="https://liandri.beyondunreal.com/Unreal_Tournament_2003" -SRC_URI="https://downloads.unrealadmin.org/UT2003/BonusPack/cbp2003.zip" - -LICENSE="ut2003" -SLOT="1" -KEYWORDS="~x86" -RESTRICT="bindist mirror strip" - -RDEPEND="games-fps/ut2003" -DEPEND="${RDEPEND} - app-arch/unzip" - -S=${WORKDIR} - -dir=${GAMES_PREFIX_OPT}/ut2003 -Ddir=${D}/${dir} - -src_unpack() { - unpack_zip "${DISTDIR}"/${A} -} - -src_install() { - for i in Animations Help Music Maps StaticMeshes Textures System - do - mkdir -p "${Ddir}"/${i} || die - done - games_umod_unpack CBP2003.ut2mod - rm "${Ddir}/Readme.txt" "${Ddir}/cbp installer logo1.bmp" - prepgamesdirs -} diff --git a/games-fps/ut2003-bonuspack-de/metadata.xml b/games-fps/ut2003-bonuspack-de/metadata.xml index e716a53e0747..dff2122c8937 100644 --- a/games-fps/ut2003-bonuspack-de/metadata.xml +++ b/games-fps/ut2003-bonuspack-de/metadata.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="project"> <email>games@gentoo.org</email> diff --git a/games-fps/ut2003-bonuspack-de/ut2003-bonuspack-de-1-r1.ebuild b/games-fps/ut2003-bonuspack-de/ut2003-bonuspack-de-1-r1.ebuild new file mode 100644 index 000000000000..6e54cd2f15ee --- /dev/null +++ b/games-fps/ut2003-bonuspack-de/ut2003-bonuspack-de-1-r1.ebuild @@ -0,0 +1,46 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +MY_P="debonus.ut2mod.zip" +DESCRIPTION="Digital Extremes Bonus Pack for UT2003" +HOMEPAGE="https://www.moddb.com/games/unreal-tournament-2003" +SRC_URI="http://ftp.student.utwente.nl/pub/games/UT2003/BonusPack/${MY_P}" +S="${WORKDIR}" + +LICENSE="ut2003" +SLOT="1" +KEYWORDS="~x86" +RESTRICT="bindist mirror strip" + +RDEPEND="games-fps/ut2003" +DEPEND="${RDEPEND}" +BDEPEND="app-arch/unzip" + +src_unpack() { + unzip -qq "${DISTDIR}"/${A} || die +} + +src_install() { + local dir="${EPREFIX}"/opt/ut2003 + local Ddir="${D}${dir}" + + # Inlined from games.eclass + _games_umod_unpack() { + local umod=${1} + + mkdir -p "${Ddir}"/System || die + cp "${dir}"/System/{ucc-bin,Manifest.ini,{Engine,Core,zlib,ogg,vorbis}.so,{Engine,Core}.int} "${Ddir}"/System || die + # Don't die here (for now) in case Default.ini, DefUser.ini are missing + cp "${dir}"/System/Def{ault,User}.ini "${Ddir}"/System &> /dev/null + + cd "${Ddir}"/System || die + UT_DATA_PATH="${Ddir}"/System ./ucc-bin umodunpack -x "${S}/${umod}" -nohomedir &> /dev/null || die "uncompressing file ${umod}" + rm -f "${Ddir}"/System/{ucc-bin,{Manifest,Def{ault,User},User,UT200{3,4}}.ini,{Engine,Core,zlib,ogg,vorbis}.so,{Engine,Core}.int,ucc.log &>/dev/null || die "Removing temporary files" + } + + mkdir -p "${Ddir}"/{System,Maps,StaticMeshes,Textures,Music,Help} || die + + _games_umod_unpack DEBonus.ut2mod +} diff --git a/games-fps/ut2003-bonuspack-de/ut2003-bonuspack-de-1.ebuild b/games-fps/ut2003-bonuspack-de/ut2003-bonuspack-de-1.ebuild deleted file mode 100644 index 7fc87147a470..000000000000 --- a/games-fps/ut2003-bonuspack-de/ut2003-bonuspack-de-1.ebuild +++ /dev/null @@ -1,35 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=5 -inherit games - -MY_P="debonus.ut2mod.zip" -DESCRIPTION="Digital Extremes Bonus Pack for UT2003" -HOMEPAGE="https://www.moddb.com/games/unreal-tournament-2003" -SRC_URI="http://ftp.student.utwente.nl/pub/games/UT2003/BonusPack/${MY_P}" - -LICENSE="ut2003" -SLOT="1" -KEYWORDS="~x86" -IUSE="" -RESTRICT="bindist mirror strip" - -RDEPEND="games-fps/ut2003" -DEPEND="${RDEPEND} - app-arch/unzip" - -S=${WORKDIR} - -dir=${GAMES_PREFIX_OPT}/ut2003 -Ddir=${D}/${dir} - -src_unpack() { - unzip -qq "${DISTDIR}"/${A} || die -} - -src_install() { - mkdir -p "${Ddir}"/{System,Maps,StaticMeshes,Textures,Music,Help} || die - games_umod_unpack DEBonus.ut2mod - prepgamesdirs -} diff --git a/games-fps/ut2003-bonuspack-epic/metadata.xml b/games-fps/ut2003-bonuspack-epic/metadata.xml index 78274e0fa550..1c3ba213c494 100644 --- a/games-fps/ut2003-bonuspack-epic/metadata.xml +++ b/games-fps/ut2003-bonuspack-epic/metadata.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="project"> <email>games@gentoo.org</email> diff --git a/games-fps/ut2003-bonuspack-epic/ut2003-bonuspack-epic-1.ebuild b/games-fps/ut2003-bonuspack-epic/ut2003-bonuspack-epic-1-r1.ebuild index 00d2d8927eef..6a7219759cf8 100644 --- a/games-fps/ut2003-bonuspack-epic/ut2003-bonuspack-epic-1.ebuild +++ b/games-fps/ut2003-bonuspack-epic/ut2003-bonuspack-epic-1-r1.ebuild @@ -1,29 +1,30 @@ -# Copyright 1999-2018 Gentoo Foundation +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=5 -inherit games +EAPI=7 DESCRIPTION="Epic Bonus Pack for UT2003" HOMEPAGE="https://www.moddb.com/games/unreal-tournament-2003" SRC_URI="http://ftp.student.utwente.nl/pub/games/UT2003/BonusPack/UT2003-epicbonuspackone.exe" +S="${WORKDIR}"/UT2003-BonusPack LICENSE="ut2003" SLOT="1" KEYWORDS="~x86" -IUSE="" -RESTRICT="strip" +RESTRICT="bindist mirror strip" -DEPEND="app-arch/unzip" -RDEPEND="games-fps/ut2003" +RDEPEND=" + acct-group/gamestat + games-fps/ut2003 +" +BDEPEND="app-arch/unzip" -S=${WORKDIR}/UT2003-BonusPack - -dir=${GAMES_PREFIX_OPT}/ut2003 -Ddir=${D}/${dir} +dir=opt/ut2003 +Ddir="${ED}"/${dir} src_unpack() { unzip -qq "${DISTDIR}"/${A} || die + # This is done since the files are the same rm -f "${S}"/Textures/LastManStanding.utx || die } @@ -39,12 +40,9 @@ src_install() { cp -r "${S}"/{Maps,Sounds,StaticMeshes,Textures} "${Ddir}" || die cp "${S}"/System/{*.{det,est,frt,int,itt,kot,tmt,u},User.ini} "${Ddir}"/System || die cp -v "${S}"/System/Manifest.ini "${Ddir}"/System/Manifest.ini.epic || die - - prepgamesdirs } pkg_postinst() { - games_pkg_postinst elog "You will need to run:" elog "emerge --config =${CATEGORY}/${PF}" elog "to make the necessary changes to the system .ini files." @@ -106,5 +104,5 @@ EOT cp DefUser.ini DefUser.ini.pre-epic || die sed -i 's/^F11=.*$/F11=MusicMenu/g' DefUser.ini || die - chown games:games ${dir}/System/*.ini || die + chown :gamestat "${dir}"/System/*.ini || die } diff --git a/games-fps/ut2003-data/metadata.xml b/games-fps/ut2003-data/metadata.xml index e716a53e0747..dff2122c8937 100644 --- a/games-fps/ut2003-data/metadata.xml +++ b/games-fps/ut2003-data/metadata.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="project"> <email>games@gentoo.org</email> diff --git a/games-fps/ut2003-data/ut2003-data-2107.ebuild b/games-fps/ut2003-data/ut2003-data-2107-r2.ebuild index 4a77c1f15e5a..ac69da5ef178 100644 --- a/games-fps/ut2003-data/ut2003-data-2107.ebuild +++ b/games-fps/ut2003-data/ut2003-data-2107-r2.ebuild @@ -1,30 +1,30 @@ -# Copyright 1999-2012 Gentoo Foundation +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=5 -inherit eutils unpacker cdrom games +EAPI=7 + +inherit desktop cdrom unpacker DESCRIPTION="Unreal Tournament 2003 - Sequel to the 1999 multi-player first-person shooter" HOMEPAGE="http://www.unrealtournament2003.com/" -SRC_URI="http://download.factoryunreal.com/mirror/UT2003CrashFix.zip" +SRC_URI="https://dev.gentoo.org/~chewi/distfiles/UT2003CrashFix.zip" # MIT licensed (bug #754360) +S="${WORKDIR}" -LICENSE="ut2003" +LICENSE="ut2003 MIT" SLOT="0" KEYWORDS="~amd64 ~x86" IUSE="" -RESTRICT="strip" - -RDEPEND="" -DEPEND="app-arch/unzip - games-util/uz2unpack" +RESTRICT="bindist mirror strip" -S=${WORKDIR} +BDEPEND=" + app-arch/unzip + games-util/uz2unpack +" -dir=${GAMES_PREFIX_OPT}/ut2003 -Ddir=${D}/${dir} +dir=opt/ut2003 +Ddir="${ED}"/${dir} pkg_setup() { - games_pkg_setup ewarn "The installed game takes about 2.7GB of space!" } @@ -35,6 +35,27 @@ src_unpack() { } src_install() { + # Inlined from games.eclass + _games_ut_unpack() { + local ut_unpack="${1}" + local f= + + if [[ -z ${ut_unpack} ]] ; then + die "You must provide an argument to games_ut_unpack" + fi + + if [[ -f ${ut_unpack} ]] ; then + uz2unpack "${ut_unpack}" "${ut_unpack%.uz2}" || die "failed uncompressing file ${ut_unpack}" + fi + + if [[ -d ${ut_unpack} ]] ; then + while read f ; do + uz2unpack "${ut_unpack}/${f}" "${ut_unpack}/${f%.uz2}" || die "failed uncompressing file ${f}" + rm -f "${ut_unpack}/${f}" || die "failed deleting compressed file ${f}" + done < <(find "${ut_unpack}" -maxdepth 1 -name '*.uz2' -printf '%f\n' 2>/dev/null) + fi + } + insinto "${dir}" # Disk 1 einfo "Copying files from Disk 1..." @@ -83,7 +104,7 @@ src_install() { insinto "${dir}"/System doins "${S}"/System/Def{ault,User}.ini - # install eula + # install EULA insinto "${dir}" doins "${S}"/eula/License.int @@ -98,19 +119,19 @@ src_install() { # uncompressing files einfo "Uncompressing files... this may take a while..." for j in {Animations,Maps,Sounds,StaticMeshes,Textures} ; do - games_ut_unpack "${Ddir}"/${j} || die "uncompressing files" + _games_ut_unpack "${Ddir}"/${j} || die "uncompressing files" done # installing documentation/icon dodoc "${S}"/README.linux - newicon "${S}"/Unreal.xpm ut2003.xpm || die "copying icon" + newicon "${S}"/Unreal.xpm ut2003.xpm doins "${S}"/README.linux "${S}"/Unreal.xpm # copy ut2003/ucc exeinto "${dir}" doexe "${S}"/bin/ut2003 "${S}"/ucc # Here we apply DrSiN's crash patch - cp "${S}"/CrashFix/System/crashfix.u "${Ddir}"/System + cp "${S}"/CrashFix/System/crashfix.u "${Ddir}"/System || die ed "${Ddir}"/System/Default.ini >/dev/null 2>&1 <<EOT $ @@ -130,6 +151,4 @@ EOT # be different ... that means portage will try to unmerge some files (!) # we run touch on ${D} so as to make sure portage doesnt do any such thing find "${Ddir}" -exec touch '{}' + || die - - prepgamesdirs } diff --git a/games-fps/ut2003-demo/metadata.xml b/games-fps/ut2003-demo/metadata.xml index a7cd2290aab2..dfc265db7673 100644 --- a/games-fps/ut2003-demo/metadata.xml +++ b/games-fps/ut2003-demo/metadata.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="project"> <email>games@gentoo.org</email> diff --git a/games-fps/ut2003-demo/ut2003-demo-2206-r4.ebuild b/games-fps/ut2003-demo/ut2003-demo-2206-r5.ebuild index 2f1817e72c8e..92c5ea481614 100644 --- a/games-fps/ut2003-demo/ut2003-demo-2206-r4.ebuild +++ b/games-fps/ut2003-demo/ut2003-demo-2206-r5.ebuild @@ -1,42 +1,42 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=5 +EAPI=7 -inherit eutils unpacker games +inherit desktop unpacker DESCRIPTION="Demo for the sequel to the 1999 multi-player first-person shooter" HOMEPAGE="http://www.ut2003.com/" SRC_URI="http://unreal.epicgames.com/linux/ut2003/ut2003demo-lnx-${PV}.sh.bin http://download.factoryunreal.com/mirror/UT2003CrashFix.zip https://dev.gentoo.org/~wolf31o2/sources/${PN}/${PN}-misc.tar.bz2" +S="${WORKDIR}" LICENSE="ut2003-demo" SLOT="0" KEYWORDS="-* ~amd64 ~x86" -IUSE="" -RESTRICT="strip" +RESTRICT="bindist mirror strip" -DEPEND="app-arch/unzip" RDEPEND=" - sys-devel/bc + app-alternatives/bc + sys-libs/glibc sys-libs/libstdc++-v3:5 virtual/opengl[abi_x86_32(-)] x11-libs/libX11[abi_x86_32(-)] x11-libs/libXext[abi_x86_32(-)] " +BDEPEND="app-arch/unzip" -S=${WORKDIR} +dir=opt/${PN} +Ddir="${ED}"/${dir} -dir=${GAMES_PREFIX_OPT}/${PN} -Ddir=${D}/${dir} - -QA_PREBUILT="${dir:1}/*.so ${dir:1}/*-bin ${dir:1}/System/libSDL-1.2.so.0" +QA_PREBUILT="${dir}/*.so ${dir}/*-bin ${dir}/System/libSDL-1.2.so.0" src_unpack() { unpack_makeself "${DISTDIR}"/ut2003demo-lnx-${PV}.sh.bin || die unzip "${DISTDIR}"/UT2003CrashFix.zip || die - cd "${S}" + + cd "${S}" || die unpack ./setupstuff.tar.gz || die unpack ./ut2003lnx_demo.tar.bz2 || die unpack ${PN}-misc.tar.bz2 || die @@ -48,16 +48,14 @@ src_install() { local i for i in Animations Benchmark Help KarmaData Maps Music Sounds \ - StaticMeshes System Textures Web extras - do + StaticMeshes System Textures Web extras ; do dodir "${dir}"/${i} - cp -pPR "${S}"/${i}/* "${Ddir}"/${i} + cp -pPR "${S}"/${i}/* "${Ddir}"/${i} || die done # Fix the benchmark configurations to use SDL rather than the Windows driver local f - for f in MaxDetail.ini MinDetail.ini - do + for f in MaxDetail.ini MinDetail.ini ; do sed -i \ -e 's/RenderDevice=D3DDrv.D3DRenderDevice/\;RenderDevice=D3DDrv.D3DRenderDevice/' \ -e 's/ViewportManager=WinDrv.WindowsClient/\;ViewportManager=WinDrv.WindowsClient/' \ @@ -74,11 +72,13 @@ src_install() { done # Wrapper and benchmark-scripts - dogamesbin "${FILESDIR}"/ut2003-demo + dobin "${FILESDIR}"/ut2003-demo exeinto "${dir}"/Benchmark doexe "${FILESDIR}/"{benchmark,results.sh} - sed -i -e "s:GAMES_PREFIX_OPT:${GAMES_PREFIX_OPT}:" \ - "${ED}/${GAMES_BINDIR}/${PN}" "${ED}/${dir}"/Benchmark/benchmark || die + sed -i \ + -e "s:GAMES_PREFIX_OPT:/opt:" \ + "${ED}/usr/bin/${PN}" \ + "${ED}/${dir}"/Benchmark/benchmark || die # Here we apply DrSiN's crash patch cp "${S}"/CrashFix/System/crashfix.u "${Ddir}"/System || die @@ -99,25 +99,26 @@ EOT doexe ucc ut2003_demo newicon Unreal.xpm ut2003-demo.xpm make_desktop_entry ut2003-demo "Unreal Tournament 2003 (Demo)" ${PN} - - prepgamesdirs } pkg_postinst() { - games_pkg_postinst elog "You can run benchmarks by typing 'ut2003-demo --bench' (MinDetail seems" elog "to not be working for some unknown reason :/)" + echo elog "Read ${dir}/README.linux for instructions on how to run a" elog "dedicated server." + echo ewarn "If you are not installing for the first time and you plan on running" ewarn "a server, you will probably need to edit your" ewarn "~/.ut2003demo/System/UT2003.ini file and add a line that says" ewarn "AccessControlClass=crashfix.iaccesscontrolini to your" ewarn "[Engine.GameInfo] section to close a security issue." + echo elog "To play the demo run:" elog " ut2003-demo" + echo } diff --git a/games-fps/ut2003/metadata.xml b/games-fps/ut2003/metadata.xml index e716a53e0747..dff2122c8937 100644 --- a/games-fps/ut2003/metadata.xml +++ b/games-fps/ut2003/metadata.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="project"> <email>games@gentoo.org</email> diff --git a/games-fps/ut2003/ut2003-2225-r6.ebuild b/games-fps/ut2003/ut2003-2225-r6.ebuild index 0f36cd042f78..a3f18e9121c3 100644 --- a/games-fps/ut2003/ut2003-2225-r6.ebuild +++ b/games-fps/ut2003/ut2003-2225-r6.ebuild @@ -1,9 +1,9 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 -inherit desktop eutils +inherit desktop wrapper DESCRIPTION="Sequel to the 1999 Game of the Year multi-player first-person shooter" HOMEPAGE="https://en.wikipedia.org/wiki/Unreal_Tournament_2003" @@ -12,7 +12,6 @@ SRC_URI="https://ftp.snt.utwente.nl/pub/games/UT2003/Patches/Linux/${PN}lnx_patc LICENSE="ut2003" SLOT="0" KEYWORDS="-* ~amd64 ~x86" -IUSE="dedicated" RESTRICT="bindist mirror strip" RDEPEND=" diff --git a/games-fps/ut2004-bonuspack-cbp1/metadata.xml b/games-fps/ut2004-bonuspack-cbp1/metadata.xml index 78274e0fa550..1c3ba213c494 100644 --- a/games-fps/ut2004-bonuspack-cbp1/metadata.xml +++ b/games-fps/ut2004-bonuspack-cbp1/metadata.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="project"> <email>games@gentoo.org</email> diff --git a/games-fps/ut2004-bonuspack-cbp1/ut2004-bonuspack-cbp1-1-r3.ebuild b/games-fps/ut2004-bonuspack-cbp1/ut2004-bonuspack-cbp1-1-r3.ebuild index e2723ebdde7d..76aca526c4b4 100644 --- a/games-fps/ut2004-bonuspack-cbp1/ut2004-bonuspack-cbp1-1-r3.ebuild +++ b/games-fps/ut2004-bonuspack-cbp1/ut2004-bonuspack-cbp1-1-r3.ebuild @@ -1,11 +1,11 @@ -# Copyright 1999-2019 Gentoo Authors +# Copyright 1999-2020 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 DESCRIPTION="UT2003 Community Bonus Pack for UT2004 Volume 1" HOMEPAGE="https://liandri.beyondunreal.com/Unreal_Tournament_2004" -SRC_URI="https://ut2004.ut-files.com/BonusPacks/cbp1.zip" +SRC_URI="http://ut2004.ut-files.com/BonusPacks/cbp1.zip" LICENSE="free-noncomm" SLOT="0" KEYWORDS="~amd64 ~x86" diff --git a/games-fps/ut2004-bonuspack-cbp2/metadata.xml b/games-fps/ut2004-bonuspack-cbp2/metadata.xml index 78274e0fa550..1c3ba213c494 100644 --- a/games-fps/ut2004-bonuspack-cbp2/metadata.xml +++ b/games-fps/ut2004-bonuspack-cbp2/metadata.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="project"> <email>games@gentoo.org</email> diff --git a/games-fps/ut2004-bonuspack-cbp2/ut2004-bonuspack-cbp2-1-r3.ebuild b/games-fps/ut2004-bonuspack-cbp2/ut2004-bonuspack-cbp2-1-r3.ebuild index a25036f26be7..c67e88e17741 100644 --- a/games-fps/ut2004-bonuspack-cbp2/ut2004-bonuspack-cbp2-1-r3.ebuild +++ b/games-fps/ut2004-bonuspack-cbp2/ut2004-bonuspack-cbp2-1-r3.ebuild @@ -1,12 +1,12 @@ -# Copyright 1999-2019 Gentoo Authors +# Copyright 1999-2020 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 DESCRIPTION="UT2004 Community Bonus Pack 2 Volume 1 and 2" HOMEPAGE="https://liandri.beyondunreal.com/Unreal_Tournament_2004" -SRC_URI="https://ut2004.ut-files.com/BonusPacks/cbp2-volume1_zip.zip - https://ut2004.ut-files.com/BonusPacks/cbp2-volume2_zip.zip" +SRC_URI="http://ut2004.ut-files.com/BonusPacks/cbp2-volume1_zip.zip + http://ut2004.ut-files.com/BonusPacks/cbp2-volume2_zip.zip" LICENSE="free-noncomm all-rights-reserved" SLOT="0" KEYWORDS="~amd64 ~x86" diff --git a/games-fps/ut2004-bonuspack-ece/metadata.xml b/games-fps/ut2004-bonuspack-ece/metadata.xml index 78274e0fa550..1c3ba213c494 100644 --- a/games-fps/ut2004-bonuspack-ece/metadata.xml +++ b/games-fps/ut2004-bonuspack-ece/metadata.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="project"> <email>games@gentoo.org</email> diff --git a/games-fps/ut2004-bonuspack-ece/ut2004-bonuspack-ece-1-r4.ebuild b/games-fps/ut2004-bonuspack-ece/ut2004-bonuspack-ece-1-r4.ebuild index 5460ac93230a..0bd06e11ea1e 100644 --- a/games-fps/ut2004-bonuspack-ece/ut2004-bonuspack-ece-1-r4.ebuild +++ b/games-fps/ut2004-bonuspack-ece/ut2004-bonuspack-ece-1-r4.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2019 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -14,6 +14,7 @@ SRC_URI=" LICENSE="ut2003" SLOT="0" KEYWORDS="~amd64 ~x86" +RESTRICT="bindist mirror" BDEPEND="app-arch/unzip" diff --git a/games-fps/ut2004-bonuspack-mega/metadata.xml b/games-fps/ut2004-bonuspack-mega/metadata.xml index 78274e0fa550..1c3ba213c494 100644 --- a/games-fps/ut2004-bonuspack-mega/metadata.xml +++ b/games-fps/ut2004-bonuspack-mega/metadata.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="project"> <email>games@gentoo.org</email> diff --git a/games-fps/ut2004-bonuspack-mega/ut2004-bonuspack-mega-1-r3.ebuild b/games-fps/ut2004-bonuspack-mega/ut2004-bonuspack-mega-1-r3.ebuild index 4beb21b3c8aa..76d8760255cb 100644 --- a/games-fps/ut2004-bonuspack-mega/ut2004-bonuspack-mega-1-r3.ebuild +++ b/games-fps/ut2004-bonuspack-mega/ut2004-bonuspack-mega-1-r3.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2019 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -6,14 +6,12 @@ EAPI=7 DESCRIPTION="UT2004 Megapack - Megapack bonus pack" HOMEPAGE="http://www.unrealtournament2004.com/" SRC_URI="http://ut2004.ut-files.com/BonusPacks/ut2004megapack-linux.tar.bz2" +S="${WORKDIR}" LICENSE="ut2003" SLOT="0" KEYWORDS="~amd64 ~x86" - -BDEPEND="app-arch/unzip" - -S="${WORKDIR}" +RESTRICT="bindist mirror" src_prepare() { default diff --git a/games-fps/ut2004-data/metadata.xml b/games-fps/ut2004-data/metadata.xml index 78274e0fa550..1c3ba213c494 100644 --- a/games-fps/ut2004-data/metadata.xml +++ b/games-fps/ut2004-data/metadata.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="project"> <email>games@gentoo.org</email> diff --git a/games-fps/ut2004-data/ut2004-data-3186-r5.ebuild b/games-fps/ut2004-data/ut2004-data-3186-r5.ebuild index 21e88f8ad6ac..1afad93fd0c1 100644 --- a/games-fps/ut2004-data/ut2004-data-3186-r5.ebuild +++ b/games-fps/ut2004-data/ut2004-data-3186-r5.ebuild @@ -1,9 +1,9 @@ -# Copyright 1999-2019 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 -inherit cdrom desktop eutils portability unpacker xdg-utils +inherit cdrom desktop portability unpacker xdg-utils DESCRIPTION="Unreal Tournament 2004 - This is the data portion of UT2004" HOMEPAGE="https://liandri.beyondunreal.com/Unreal_Tournament_2004" @@ -12,6 +12,8 @@ LICENSE="ut2003" SLOT="0" KEYWORDS="~amd64 ~x86" +RESTRICT="bindist" + BDEPEND=" games-util/uz2unpack >=app-arch/unshield-0.5-r1 diff --git a/games-fps/ut2004-demo/metadata.xml b/games-fps/ut2004-demo/metadata.xml index 78274e0fa550..1c3ba213c494 100644 --- a/games-fps/ut2004-demo/metadata.xml +++ b/games-fps/ut2004-demo/metadata.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="project"> <email>games@gentoo.org</email> diff --git a/games-fps/ut2004-demo/ut2004-demo-3334-r1.ebuild b/games-fps/ut2004-demo/ut2004-demo-3334-r3.ebuild index 51bc3e089f0b..c63c698427b0 100644 --- a/games-fps/ut2004-demo/ut2004-demo-3334-r1.ebuild +++ b/games-fps/ut2004-demo/ut2004-demo-3334-r3.ebuild @@ -1,33 +1,32 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=5 -inherit eutils unpacker games +EAPI=7 + +inherit desktop unpacker wrapper MY_P="ut2004-lnx-demo${PV}.run" DESCRIPTION="Demo for the critically-acclaimed first-person shooter" HOMEPAGE="http://www.unrealtournament.com/" SRC_URI="mirror://gentoo/${MY_P}" +S="${WORKDIR}" LICENSE="ut2003-demo" SLOT="0" KEYWORDS="-* ~amd64 ~x86" -RESTRICT="strip" -IUSE="" +RESTRICT="bindist mirror strip" -DEPEND="" RDEPEND=" + sys-libs/glibc sys-libs/libstdc++-v3:5 x11-libs/libX11[abi_x86_32(-)] x11-libs/libXext[abi_x86_32(-)] virtual/opengl[abi_x86_32(-)] " -S=${WORKDIR} - -dir=${GAMES_PREFIX_OPT}/${PN} -Ddir=${D}/${dir} -QA_PREBUILT="${dir:1}/System/*" +dir=/opt/${PN} +Ddir="${ED}"/${dir#/} +QA_PREBUILT="${dir#/}/System/*" src_unpack() { unpack_makeself @@ -35,37 +34,31 @@ src_unpack() { } src_install() { - dodir "${dir}" + dodir ${dir} tar xjf ut2004demo.tar.bz2 -C "${Ddir}" || die - if use x86 - then + if use x86 ; then tar xjf linux-x86.tar.bz2 || die - fi - if use amd64 - then + elif use amd64 ; then tar xjf linux-amd64.tar.bz2 || die fi - insinto "${dir}" + insinto ${dir} doins README.linux ut2004.xpm newicon ut2004.xpm ut2004-demo.xpm - exeinto "${dir}" + exeinto ${dir} doexe bin/ut2004-demo - exeinto "${dir}"/System + exeinto ${dir}/System doexe System/{libSDL-1.2.so.0,openal.so,ucc-bin,ut2004-bin} - games_make_wrapper ut2004-demo ./ut2004-demo "${dir}" "${dir}" + make_wrapper ut2004-demo ./ut2004-demo "${dir}" "${dir}" make_desktop_entry ut2004-demo "Unreal Tournament 2004 (Demo)" ut2004-demo - - prepgamesdirs } pkg_postinst() { - games_pkg_postinst echo elog "For Text To Speech:" elog " 1) emerge festival speechd" diff --git a/games-fps/ut2004/metadata.xml b/games-fps/ut2004/metadata.xml index 78274e0fa550..1c3ba213c494 100644 --- a/games-fps/ut2004/metadata.xml +++ b/games-fps/ut2004/metadata.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="project"> <email>games@gentoo.org</email> diff --git a/games-fps/ut2004/ut2004-3369.3-r3.ebuild b/games-fps/ut2004/ut2004-3369.3-r3.ebuild index 13d59140205d..3011645a2d0a 100644 --- a/games-fps/ut2004/ut2004-3369.3-r3.ebuild +++ b/games-fps/ut2004/ut2004-3369.3-r3.ebuild @@ -1,15 +1,15 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 -inherit desktop eutils +inherit desktop wrapper PATCH_P="${PN}-lnxpatch${PV%.*}-2.tar.bz2" DESCRIPTION="Editor's Choice Edition plus Mega Pack for the well-known first-person shooter" HOMEPAGE="https://liandri.beyondunreal.com/Unreal_Tournament_2004" SRC_URI=" - https://ut2004.ut-files.com/Patches/Linux/${PATCH_P} + http://ut2004.ut-files.com/Patches/Linux/${PATCH_P} https://dev.gentoo.org/~chewi/distfiles/ut2004-v${PV/./-}-linux-dedicated.7z " diff --git a/games-fps/wolfgl/metadata.xml b/games-fps/wolfgl/metadata.xml index 92093a34cff1..d601ba94dc9f 100644 --- a/games-fps/wolfgl/metadata.xml +++ b/games-fps/wolfgl/metadata.xml @@ -1,10 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="person"> - <email>chainsaw@gentoo.org</email> - <name>Tony Vroon</name> - </maintainer> <maintainer type="project"> <email>games@gentoo.org</email> <name>Gentoo Games Project</name> diff --git a/games-fps/wolfgl/wolfgl-0.93-r2.ebuild b/games-fps/wolfgl/wolfgl-0.93-r2.ebuild index 8bb95ed031e2..84efaf3dc759 100644 --- a/games-fps/wolfgl/wolfgl-0.93-r2.ebuild +++ b/games-fps/wolfgl/wolfgl-0.93-r2.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2017 Gentoo Foundation +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=6 @@ -6,15 +6,13 @@ EAPI=6 #ECVS_MODULE="wolfgl" #inherit cvs -inherit eutils - DESCRIPTION="Wolfenstein and Spear of Destiny port using OpenGL" HOMEPAGE="http://wolfgl.sourceforge.net/" SRC_URI="mirror://gentoo/${P}.tbz2 - mirror://sourceforge/wolfgl/wolfdata.zip - mirror://sourceforge/wolfgl/sdmdata.zip" -# mirror://sourceforge/wolfgl/wolfglx-wl6-${PV}.zip -# mirror://sourceforge/wolfgl/wolfglx-sod-${PV}.zip + https://downloads.sourceforge.net/wolfgl/wolfdata.zip + https://downloads.sourceforge.net/wolfgl/sdmdata.zip" +# https://downloads.sourceforge.net/wolfgl/wolfglx-wl6-${PV}.zip +# https://downloads.sourceforge.net/wolfgl/wolfglx-sod-${PV}.zip LICENSE="GPL-2" SLOT="0" diff --git a/games-fps/worldofpadman/files/worldofpadman-1.6-gentoo.patch b/games-fps/worldofpadman/files/worldofpadman-1.6-gentoo.patch index d55e43ffcf52..a8b46098eb76 100644 --- a/games-fps/worldofpadman/files/worldofpadman-1.6-gentoo.patch +++ b/games-fps/worldofpadman/files/worldofpadman-1.6-gentoo.patch @@ -1,5 +1,5 @@ ---- a/Makefile.old 2012-04-26 21:40:25.277417417 +0200 -+++ b/Makefile 2012-04-26 21:43:34.300835150 +0200 +--- a/Makefile ++++ b/Makefile @@ -344,11 +344,11 @@ endif diff --git a/games-fps/worldofpadman/metadata.xml b/games-fps/worldofpadman/metadata.xml index 3450a58db130..dc2167e82ba6 100644 --- a/games-fps/worldofpadman/metadata.xml +++ b/games-fps/worldofpadman/metadata.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="project"> <email>games@gentoo.org</email> diff --git a/games-fps/worldofpadman/worldofpadman-1.6-r1.ebuild b/games-fps/worldofpadman/worldofpadman-1.6-r2.ebuild index 523ca7b597b2..d655faeeb278 100644 --- a/games-fps/worldofpadman/worldofpadman-1.6-r1.ebuild +++ b/games-fps/worldofpadman/worldofpadman-1.6-r2.ebuild @@ -1,13 +1,15 @@ -# Copyright 1999-2018 Gentoo Foundation +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=6 +EAPI=7 + inherit desktop DESCRIPTION="A cartoon style multiplayer first-person shooter" HOMEPAGE="https://worldofpadman.net/" -SRC_URI="mirror://sourceforge/${PN}/wop-1.5-unified.zip - mirror://sourceforge/${PN}/wop-1.5.x-to-1.6-patch-unified.zip" +SRC_URI="https://downloads.sourceforge.net/${PN}/wop-1.5-unified.zip + https://downloads.sourceforge.net/${PN}/wop-1.5.x-to-1.6-patch-unified.zip" +S="${WORKDIR}/${P}_svn2178-src" LICENSE="GPL-2 worldofpadman" SLOT="0" @@ -19,7 +21,7 @@ RDEPEND="sys-libs/zlib >=media-libs/speex-1.2.0 media-libs/speexdsp virtual/jpeg:0 - media-libs/libsdl[opengl,video,X] + media-libs/libsdl[joystick,opengl,video,X] virtual/opengl virtual/glu openal? ( media-libs/openal ) @@ -31,11 +33,8 @@ RDEPEND="sys-libs/zlib ) ) " -DEPEND="${RDEPEND} - app-arch/unzip -" - -S="${WORKDIR}/${P}_svn2178-src" +DEPEND="${RDEPEND}" +BDEPEND="app-arch/unzip" src_unpack() { unpack ${A} @@ -79,11 +78,13 @@ src_compile() { src_install() { newbin build/release-*/wopded.* ${PN}-ded + if ! use dedicated ; then newbin build/release-*/wop.* ${PN} newicon misc/quake3.png ${PN}.png make_desktop_entry ${PN} "World of Padman" fi + insinto /usr/share/${PN} doins -r ../wop @@ -92,5 +93,6 @@ src_install() { voip-readme.txt \ ../XTRAS/changelog.txt \ ../XTRAS/sounds_readme.txt + HTML_DOCS="../XTRAS/readme ../XTRAS/readme.html" einstalldocs } diff --git a/games-fps/xonotic/Manifest b/games-fps/xonotic/Manifest index aa9efcbb4121..0416a5788373 100644 --- a/games-fps/xonotic/Manifest +++ b/games-fps/xonotic/Manifest @@ -1 +1 @@ -DIST xonotic-0.8.2.zip 991045679 BLAKE2B 3005473da954492bb7387f9e0e13c2415e638877fa8b83e14872f3b04ed0fc21b82e18f51aa6c68e8bf02d09d4a73f290cbcaebdfa8c0a12ceb6582309baee8a SHA512 0787fcf326827ae0292e5917c7ff2c7fd79947209d4b62e7f83b8b828bec15b575da304e0631f9f163c9b0bd93bed13616e142398ff08cbdaaea890a939dfca5 +DIST xonotic-0.8.6.zip 1238439495 BLAKE2B f9a9823a2ef8a1a8790c92fe898599938ff39fe9a32bb1f3595a4b451237f7fca29385feeaf8164216713a2cbe2db4d78cadeee91bb08093dae4a7ad1588e4d4 SHA512 cb39879e96f19abb2877588c2d50c5d3e64dd68153bec3dd1bebedf4d765e506afa419c28381d7005aed664cb1a042571c132b5b319e4308cab67745d996c2a6 diff --git a/games-fps/xonotic/metadata.xml b/games-fps/xonotic/metadata.xml index 2b46931205d2..6f0500eb437d 100644 --- a/games-fps/xonotic/metadata.xml +++ b/games-fps/xonotic/metadata.xml @@ -1,11 +1,14 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> -<maintainer type="project"> - <email>games@gentoo.org</email> - <name>Gentoo Games Project</name> -</maintainer> -<use> - <flag name="ode">Enable support for physics engine from <pkg>dev-games/ode</pkg></flag> -</use> + <maintainer type="project"> + <email>games@gentoo.org</email> + <name>Gentoo Games Project</name> + </maintainer> + <use> + <flag name="ode">Enable support for physics engine from <pkg>dev-games/ode</pkg></flag> + </use> + <upstream> + <remote-id type="gitlab">xonotic/xonotic</remote-id> + </upstream> </pkgmetadata> diff --git a/games-fps/xonotic/xonotic-0.8.2.ebuild b/games-fps/xonotic/xonotic-0.8.2.ebuild deleted file mode 100644 index 41f326a13222..000000000000 --- a/games-fps/xonotic/xonotic-0.8.2.ebuild +++ /dev/null @@ -1,114 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit desktop check-reqs toolchain-funcs - -MY_PN="${PN^}" -DESCRIPTION="Fork of Nexuiz, Deathmatch FPS based on DarkPlaces, an advanced Quake 1 engine" -HOMEPAGE="https://www.xonotic.org/" -SRC_URI="https://dl.xonotic.org/${P}.zip" - -LICENSE="GPL-2+" -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="alsa debug dedicated doc ode sdl" - -UIRDEPEND=" - media-libs/libogg - media-libs/libtheora - media-libs/libvorbis - media-libs/libmodplug - x11-libs/libX11 - x11-libs/libXau - x11-libs/libXpm - x11-libs/libXext - x11-libs/libXdmcp - x11-libs/libXxf86dga - x11-libs/libXxf86vm - virtual/opengl - media-libs/freetype:2 - alsa? ( media-libs/alsa-lib ) - ode? ( dev-games/ode[double-precision] ) - sdl? ( media-libs/libsdl2[X,sound,joystick,opengl,video,alsa?] )" -UIDEPEND=" - x11-base/xorg-proto" -RDEPEND=" - sys-libs/zlib - virtual/jpeg:0 - media-libs/libpng:0 - net-misc/curl - ~dev-libs/d0_blind_id-1.0 - !dedicated? ( ${UIRDEPEND} )" -DEPEND="${RDEPEND} - !dedicated? ( ${UIDEPEND} )" -BDEPEND="app-arch/unzip" - -DOCS="Docs/*.txt" - -CHECKREQS_DISK_BUILD="1200M" -CHECKREQS_DISK_USR="950M" - -S="${WORKDIR}/${MY_PN}" - -pkg_pretend() { - check-reqs_pkg_pretend -} - -pkg_setup() { - check-reqs_pkg_setup -} - -src_prepare() { - default - - sed -i \ - -e "/^EXE_/s|darkplaces|${PN}|" \ - -e "s|-O3|${CFLAGS}|" \ - -e "/-lm/s|$| ${LDFLAGS}|" \ - -e '/^STRIP/s|strip|true|' \ - source/darkplaces/makefile.inc || die - - if ! use alsa; then - sed -i \ - -e "/DEFAULT_SNDAPI/s|ALSA|OSS|" \ - source/darkplaces/makefile || die - fi -} - -src_compile() { - local t="$(usex debug debug release)" - local i - - tc-export CC CXX LD AR RANLIB - - # use a for-loop wrt bug 473352 - for i in sv-${t} $(usex !dedicated "cl-${t} $(usex sdl "sdl-${t}" "")" "") ; do - emake \ - -C source/darkplaces \ - DP_LINK_ODE=$(usex ode shared no) \ - DP_FS_BASEDIR="/usr/share/${PN}" \ - ${i} - done -} - -src_install() { - if ! use dedicated; then - dobin source/darkplaces/${PN}-glx - newicon misc/logos/${PN}_icon.svg ${PN}.svg - make_desktop_entry ${PN}-glx "${MY_PN} (GLX)" - - if use sdl; then - dobin source/darkplaces/${PN}-sdl - make_desktop_entry ${PN}-sdl "${MY_PN} (SDL)" - fi - fi - dobin source/darkplaces/${PN}-dedicated - - use doc && local HTML_DOCS=( Docs/htmlfiles Docs/faq.html ) - einstalldocs - - insinto "/usr/share/${PN}" - doins -r key_0.d0pk server data -} diff --git a/games-fps/xonotic/xonotic-0.8.6.ebuild b/games-fps/xonotic/xonotic-0.8.6.ebuild new file mode 100644 index 000000000000..9848e246cedb --- /dev/null +++ b/games-fps/xonotic/xonotic-0.8.6.ebuild @@ -0,0 +1,107 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit desktop check-reqs toolchain-funcs xdg + +DESCRIPTION="Fork of Nexuiz, Deathmatch FPS based on DarkPlaces, an advanced Quake 1 engine" +HOMEPAGE="https://xonotic.org/" +SRC_URI="https://dl.xonotic.org/${P}.zip" +S="${WORKDIR}/${PN^}" + +LICENSE="GPL-3+ GPL-2+" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" +IUSE="X +alsa ode +sdl" + +# note: many dependencies are used through dlopen() +COMMON_UIDEPEND=" + media-libs/libogg + media-libs/libtheora + media-libs/libvorbis" +RDEPEND=" + dev-libs/d0_blind_id + media-libs/libjpeg-turbo:= + media-libs/libpng + media-libs/freetype:2 + net-misc/curl + sys-libs/zlib:= + X? ( + ${COMMON_UIDEPEND} + media-libs/libglvnd[X] + x11-libs/libX11 + x11-libs/libXext + x11-libs/libXpm + x11-libs/libXxf86vm + alsa? ( media-libs/alsa-lib ) + ) + ode? ( dev-games/ode:=[double-precision] ) + sdl? ( + ${COMMON_UIDEPEND} + media-libs/libsdl2[joystick,opengl,sound,video] + )" +DEPEND=" + ${RDEPEND} + X? ( x11-base/xorg-proto )" +BDEPEND="app-arch/unzip" + +CHECKREQS_DISK_BUILD="1500M" +CHECKREQS_DISK_USR="1200M" + +src_prepare() { + default + + sed -e 's|-O3 ||' \ + -e '/^LDFLAGS_RELEASE/s/$(OPTIM_RELEASE)/$(GENTOO_LDFLAGS)/' \ + -i source/darkplaces/makefile.inc || die +} + +src_compile() { + tc-export CC + + # do not pass in array to keep the makefile.inc's += flags + local -x CPUOPTIMIZATIONS=${CFLAGS} + + local emakeargs=( + -C source/darkplaces + DEFAULT_SNDAPI=$(usex alsa ALSA OSS) + DP_FS_BASEDIR="${EPREFIX}"/usr/share/${PN} + DP_LINK_ODE=$(usex ode shared no) + STRIP=: + GENTOO_LDFLAGS="${LDFLAGS}" + ) + + # split for bug 473352 + emake "${emakeargs[@]}" sv-release + use X && emake "${emakeargs[@]}" cl-release + use sdl && emake "${emakeargs[@]}" sdl-release +} + +src_install() { + newbin {source/darkplaces/darkplaces,${PN}}-dedicated + + if use X || use sdl; then + if use X; then + newbin {source/darkplaces/darkplaces,${PN}}-glx + domenu misc/logos/${PN}-glx.desktop + fi + if use sdl; then + newbin {source/darkplaces/darkplaces,${PN}}-sdl + domenu misc/logos/${PN}.desktop + fi + + local size + for size in 16 22 24 32 48 128 256 512; do + newicon -s ${size} misc/logos/icons_png/${PN}_${size}.png ${PN}.png + done + newicon -s scalable misc/logos/${PN}_icon.svg ${PN}.svg + fi + + dodoc Docs/*.{md,txt} + + insinto /usr/share/${PN} + doins -r key_0.d0pk server data + + rm "${ED}"/usr/share/${PN}/server/.gitattributes || die +} diff --git a/games-fps/yamagi-quake2/Manifest b/games-fps/yamagi-quake2/Manifest index d0d709747450..ccd0dc65a67d 100644 --- a/games-fps/yamagi-quake2/Manifest +++ b/games-fps/yamagi-quake2/Manifest @@ -1,8 +1,10 @@ -DIST quake2-7.42.tar.xz 1987332 BLAKE2B 63ced75746eb031faf949c6b094ec607076f481b8d97eca242f9bf6fd6325afc8dfb5f98fe4f8ba5c5e87b721392f613031fc204b775634fc5292a26fef1d76c SHA512 0f51204fcf14ecb3f1f654e6ee19207836cf4642022569ef202bc12f312f76dbd43695aa4d9f9fb70c8b023f42d1a8fcec25f472a32175ebb0a308211fa40cc0 -DIST quake2-7.43.tar.xz 1989812 BLAKE2B dbce9e3b65a63637726dda375f0fc64193529a3c1744643290778ee8f1a0eff3067f96dd3e76fa4d138cfbb5e9237f7517f608277e4f5b21729473849b7c8ac3 SHA512 c728609e277330b39fc423d66bbd098e360e7fc8c54500fa5accbc4aaeb9145a00c8ff8be67ce8f36047dbe6d98480bdbe1f330da5b0037517607ada8a63e4b8 -DIST quake2-ctf-1.06.tar.xz 135464 BLAKE2B 457ab883ba9ecfb723d890f5c9e3da710aae4ed5fa4e530c8028b0fa93186350e6ed1b483b89ddf98cbb3f3b1992a15c33af5d181073395b61e5b9a7c9987d88 SHA512 24c58f895d4056127e6f714c618d53b80bd75968758d8aa729deba750297efd5d6c40bd69afd98ebbf0d231bd59909e6438ec64b258883d8cfd33d33e928b2f9 -DIST quake2-ctf-1.07.tar.xz 135880 BLAKE2B 7501d5db676cbc7b523313bf4e5d572cc8711efd09e2390d6aa6980d45bc682e7f137581b8a9a8d4b491de8f8ed7dd1cb32a66c9ed2cc456e114f672cedf2a1c SHA512 de2ab94fc7bb43327170f6aefbaf811e7a0071da2e5c4602354854e46e4c8cfc687a6300e7162c8f1be2f0b42cf2d3edc255c2f44fb0e39adc873a521197a316 -DIST quake2-rogue-2.06.tar.xz 243872 BLAKE2B fa289bb9ecd988dd77dd4d581212fc1c2f964371109123ed77ea0a740b65bc117d787c144d9f246d091df3ff19f1c9f5ed42571cd2d450061de63f032cc3c1d6 SHA512 4f8646f6b6cc2b522291e89f63a6d0273353e27bcafed6fcd5c2e509e938ab76504bfe9e92d398c8cee708af64ffbb7d81e98ea0df1e13ba593db4dff8ddfcf6 -DIST quake2-rogue-2.07.tar.xz 243828 BLAKE2B f292bc7318ee8094b0dae0219fbf7882fb9a168ee2b311c254b5cabdb53f6a65350be80ea09185f66b5e3af4e670c3dd21235a06aeec2f334dc84cb474cb02da SHA512 21b0dca16240307c1e7a6c2a2c08e380fabf4f6bdbf1981a2183056ccd5f05f7003f41b38b4b131f9b16909b4c714ff2ef23638601b0c420003674bc9a9d0789 -DIST quake2-xatrix-2.07.tar.xz 192404 BLAKE2B 54772f1158af82211a5c925676e1399bd9debfa8f336a566dd7c22c6f50eb488030c871a7952b9eb00a7a8498560aed332dfd388074bb5a733ed5e979d59d9dc SHA512 72400afa98faf38559dfbc6dcfd01a16902adc782065bc1bbae4d773b5c139543d79f465195db72f0dbaf33999c667c65fd3582a8029db5b50ea5295d278b2a7 -DIST quake2-xatrix-2.08.tar.xz 192760 BLAKE2B ce6d4bae8ed2970e9ca9971c32fba6b226d7d7616dc7e5168d1504f6ae62ece286c21c22f0f8a3d2df48f7b63b53ec681efa92074f918ef4e5c9b98667e2682b SHA512 cc8fd7add3ded10ad88f1a1629c7222c26a398fa47c2c1aa6091dc310b7f2f5830c997c534b38cc0f6d4153357d76901ba48dbd505ce96f95d84f97f2f0dddd9 +DIST quake2-8.20.tar.xz 2152184 BLAKE2B 6616666bcc48f7d97d06e71744f6ebdd3ef6a2701b628fe6d7c26293f8b62586bd03037877a77c3c56660e6e11704e6149e8bd7aad3c5fe28964ee25278cd16f SHA512 5dbdbbf582494d16d00b9880ddea6de4b098a307dbe4ddf6bc90aa6b2bd2928c10fab40cf5dd63861e7a37f9c75b9afae6f43f8bfff3ee6704ca94f78ff9b7d2 +DIST quake2-8.30.tar.xz 2165532 BLAKE2B cc0d42d643d066368450f2d789a987a978a3c0f319fdba2593e5275c4af3b2e7833913326d6cee39ddf854564638a3e2dc27c8333afbf0ff36691c31f5b093d8 SHA512 2801cc167f6780c93b9abb5462b6f57c4487ba8745f61dd4732ec9fccd0c07b5058b9e6640dae71b74eece5248fbae72ce071cc5b96e0d9a9e0540389e1fa413 +DIST quake2-ctf-1.09.tar.xz 136564 BLAKE2B 352dd4a8a7a10b28ecff49bf61517fa39f4836e3f40fc41f234d5bb845467e1e87a385d4f4786d61228e2d9bcbb8647b660f054ea72af826b7fefb052f946d7d SHA512 2ba40ef7c973cc57aa632e3a102784f5819109019dc5e614ff376e69ba85a21a85171c713c1c55a023f17ba2f2f8f888acbf37e103e39d4f21cc498d167a0aa6 +DIST quake2-ctf-1.10.tar.xz 136544 BLAKE2B 04a374a32b90d4dd77cb7f57f361775310560b29a75b61b7acec1f3694041b04afa9fc7c75b93872368c6af552531ab2aba0d766f2394fd5a77da8017a3f9878 SHA512 66734ce71097a8a584408916fe445d56e81ae86c19ecdd178dfe9f14aa1a526a9f098b0f5756441c80b5516c160e7f64454acc5c351f0ed99acc7dea0a2d9027 +DIST quake2-ref_vk-1.0.4.tar.gz 301286 BLAKE2B f5b03e451a5e341fcce4db353d71dd80f579326e7d7d6db899e17490f74d4d2b74b6186a57a614bb82b8460f59d3b0ad0f60f8045ff6ad35bbc14ebb54cb8e1e SHA512 9db1b75c2676d22e10fe0d9954349585d055eb29a58d63e04a023670d1a60f8bc8fc0b8ecfc854edd1f464d6200a58d56dd8fdd3489389047e2e5198fdf756a3 +DIST quake2-ref_vk-1.0.7.tar.gz 315716 BLAKE2B b12996f3f09f07ebd8ed10fe138115046061941b70db7c7da9d0c639ddb2553fd040f9552db107757ea4f86e496665c520b4d4c2b3611a6d51692bdb5c6cc9b4 SHA512 52a05e64e6d41be78945b6908a08839507e1c14d9d16661ba45eda3bb4147ca4c89cc767343a5ad96e2bcef5c7773ed4fa128eaf829c0433f363873fafd326a4 +DIST quake2-rogue-2.10.tar.xz 306052 BLAKE2B 3b77949857014dd0fa96ad14eabe9548f18cdc47a7620c2dba89709d5d0747e05a22a5b50fe6ee7599ae61969572fa4b26334615947991008b8187df6eb1d19a SHA512 52929c3d483b569a90f4e3183ffe0525ee5f73cd50ef12148e9c3894ee5e9ec73b3458677fcdeae4df4a93bd49ef9e43d6ff3c4ab989e982018d3e76a76e4fc0 +DIST quake2-rogue-2.11.tar.xz 324220 BLAKE2B c2c4b9b65238302f81f31f02b3576fd29507d276482c74b6b3720ceb4664e49109afc0e14a759de2866125b98e775e9417461682d14b11895e2470cb293e9da9 SHA512 9ff487c7907cb809efe2f327adb9547f65ca4dbaeec638ddc8e9e7b52da4d1b1574107e835a6975ab626ce5c0bf0cec0a7cc5880e45a973a208b7ebf051f80ce +DIST quake2-xatrix-2.11.tar.xz 215284 BLAKE2B d763005e33d4d5db7c8ca9c93597e6a2d207cb9fb6f3fdbc758c148833226006caa7ebdb23865a6aa434e367d2259e630da177033a6760c7b1e51044cff4cb0b SHA512 a9f668804feb942a65eae1a537a4c26c079511d9dc7bf339fb9e1dff1de4dce8d0795813387e15947d0906044a75de7411d1c84f290b64e37f417d3fdf2fa5b0 +DIST quake2-xatrix-2.12.tar.xz 216216 BLAKE2B db4e59a852a7e6f37532a79f5b74661390dd28782d0ee1ea4cc0ea77d191922adaefba8e8046b38c7b4231bd5a151562f92d56e0ee15b962cb9154fd8de36374 SHA512 291360583777dedab9935634a825f8859c12c851f103136d36c028d185bec2409a6634a6bf83db479c1b3fd3fece11698b1bd274eff75f41d51a9e498f0ba804 diff --git a/games-fps/yamagi-quake2/files/yamagi-quake2-7.42-fno-common.patch b/games-fps/yamagi-quake2/files/yamagi-quake2-7.42-fno-common.patch deleted file mode 100644 index 6dc8794b874a..000000000000 --- a/games-fps/yamagi-quake2/files/yamagi-quake2-7.42-fno-common.patch +++ /dev/null @@ -1,92 +0,0 @@ -From 60a4bd330689b2378e49f2335209bd64a653fab2 Mon Sep 17 00:00:00 2001 -From: Alexander Tsoy <alexander@tsoy.me> -Date: Mon, 10 Feb 2020 16:09:09 +0300 -Subject: [PATCH] Fix build with -fno-common - -GCC 10 defaults to -fno-common. - -Closes #516 ---- - src/client/cl_main.c | 18 ------------------ - src/client/header/client.h | 1 + - src/client/input/sdl.c | 2 -- - 3 files changed, 1 insertion(+), 20 deletions(-) - -diff --git a/src/client/cl_main.c b/src/client/cl_main.c -index 135407d1..7fc1e6df 100644 ---- a/src/client/cl_main.c -+++ b/src/client/cl_main.c -@@ -35,8 +35,6 @@ void CL_Connect_f(void); - void CL_Rcon_f(void); - void CL_CheckForResend(void); - --cvar_t *freelook; -- - cvar_t *rcon_client_password; - cvar_t *rcon_address; - -@@ -58,14 +56,6 @@ cvar_t *cl_showclamp; - cvar_t *cl_paused; - cvar_t *cl_loadpaused; - --cvar_t *lookstrafe; --cvar_t *sensitivity; -- --cvar_t *m_pitch; --cvar_t *m_yaw; --cvar_t *m_forward; --cvar_t *m_side; -- - cvar_t *cl_lightlevel; - - /* userinfo */ -@@ -516,14 +506,6 @@ CL_InitLocal(void) - cl_anglespeedkey = Cvar_Get("cl_anglespeedkey", "1.5", 0); - - cl_run = Cvar_Get("cl_run", "0", CVAR_ARCHIVE); -- freelook = Cvar_Get("freelook", "1", CVAR_ARCHIVE); -- lookstrafe = Cvar_Get("lookstrafe", "0", CVAR_ARCHIVE); -- sensitivity = Cvar_Get("sensitivity", "3", CVAR_ARCHIVE); -- -- m_pitch = Cvar_Get("m_pitch", "0.022", CVAR_ARCHIVE); -- m_yaw = Cvar_Get("m_yaw", "0.022", 0); -- m_forward = Cvar_Get("m_forward", "1", 0); -- m_side = Cvar_Get("m_side", "1", 0); - - cl_shownet = Cvar_Get("cl_shownet", "0", 0); - cl_showmiss = Cvar_Get("cl_showmiss", "0", 0); -diff --git a/src/client/header/client.h b/src/client/header/client.h -index 1a31a1ca..b42abc02 100644 ---- a/src/client/header/client.h -+++ b/src/client/header/client.h -@@ -302,6 +302,7 @@ extern cvar_t *cl_timedemo; - extern cvar_t *cl_vwep; - extern cvar_t *horplus; - extern cvar_t *cin_force43; -+extern cvar_t *vid_fullscreen; - - typedef struct - { -diff --git a/src/client/input/sdl.c b/src/client/input/sdl.c -index 3c7356fa..c8055f3b 100644 ---- a/src/client/input/sdl.c -+++ b/src/client/input/sdl.c -@@ -62,7 +62,6 @@ int sys_frame_time; - qboolean joy_altselector_pressed = false; - - // Console Variables --cvar_t *vid_fullscreen; - cvar_t *freelook; - cvar_t *lookstrafe; - cvar_t *m_forward; -@@ -1246,7 +1245,6 @@ IN_Init(void) - joy_axis_triggerleft_threshold = Cvar_Get("joy_axis_triggerleft_threshold", "0.15", CVAR_ARCHIVE); - joy_axis_triggerright_threshold = Cvar_Get("joy_axis_triggerright_threshold", "0.15", CVAR_ARCHIVE); - -- vid_fullscreen = Cvar_Get("vid_fullscreen", "0", CVAR_ARCHIVE); - windowed_mouse = Cvar_Get("windowed_mouse", "1", CVAR_USERINFO | CVAR_ARCHIVE); - - Cmd_AddCommand("+mlook", IN_MLookDown); --- -2.24.1 - 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 <alexander@tsoy.me> +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/files/yamagi-quake2-addon-respect-flags-r2.patch b/games-fps/yamagi-quake2/files/yamagi-quake2-addon-respect-flags-r2.patch deleted file mode 100644 index bb800aeaf3c9..000000000000 --- a/games-fps/yamagi-quake2/files/yamagi-quake2-addon-respect-flags-r2.patch +++ /dev/null @@ -1,33 +0,0 @@ ---- quake2-xatrix-2.06.orig/Makefile 2019-02-05 10:56:06.000000000 +0300 -+++ quake2-xatrix-2.06/Makefile 2019-04-08 01:24:04.124176498 +0300 -@@ -75,11 +75,11 @@ - # - # -MMD to generate header dependencies. - ifeq ($(OSTYPE), Darwin) --CFLAGS := -O2 -fno-strict-aliasing -fomit-frame-pointer \ -- -Wall -pipe -g -fwrapv -arch i386 -arch x86_64 -+CFLAGS += -fno-strict-aliasing -fomit-frame-pointer \ -+ -Wall -fwrapv -arch i386 -arch x86_64 - else --CFLAGS := -O2 -fno-strict-aliasing -fomit-frame-pointer \ -- -Wall -pipe -g -MMD -fwrapv -+CFLAGS += -fno-strict-aliasing -fomit-frame-pointer \ -+ -Wall -MMD -fwrapv - endif - - # ---------- -@@ -107,11 +107,11 @@ - - # Base LDFLAGS. - ifeq ($(OSTYPE), Darwin) --LDFLAGS := -shared -arch i386 -arch x86_64 -+LDFLAGS += -shared -arch i386 -arch x86_64 - else ifeq ($(OSTYPE), Windows) --LDFLAGS := -shared -static-libgcc -+LDFLAGS += -shared -static-libgcc - else --LDFLAGS := -shared -+LDFLAGS += -shared - endif - - # ---------- diff --git a/games-fps/yamagi-quake2/files/yamagi-quake2-addon-respect-flags-r3.patch b/games-fps/yamagi-quake2/files/yamagi-quake2-addon-respect-flags-r3.patch deleted file mode 100644 index c7cf611ab96d..000000000000 --- a/games-fps/yamagi-quake2/files/yamagi-quake2-addon-respect-flags-r3.patch +++ /dev/null @@ -1,33 +0,0 @@ ---- quake2-xatrix-2.06.orig/Makefile 2019-02-05 10:56:06.000000000 +0300 -+++ quake2-xatrix-2.06/Makefile 2019-04-08 01:24:04.124176498 +0300 -@@ -75,11 +75,11 @@ - # - # -MMD to generate header dependencies. - ifeq ($(OSTYPE), Darwin) --CFLAGS := -O2 -fno-strict-aliasing -fomit-frame-pointer \ -- -Wall -pipe -g -fwrapv -arch i386 -arch x86_64 -+CFLAGS += -fno-strict-aliasing -fomit-frame-pointer \ -+ -Wall -fwrapv -arch i386 -arch x86_64 - else --CFLAGS := -std=gnu99 -O2 -fno-strict-aliasing -fomit-frame-pointer \ -- -Wall -pipe -g -MMD -fwrapv -+CFLAGS += -std=gnu99 -fno-strict-aliasing -fomit-frame-pointer \ -+ -Wall -MMD -fwrapv - endif - - # ---------- -@@ -107,11 +107,11 @@ - - # Base LDFLAGS. - ifeq ($(OSTYPE), Darwin) --LDFLAGS := -shared -arch i386 -arch x86_64 -+LDFLAGS += -shared -arch i386 -arch x86_64 - else ifeq ($(OSTYPE), Windows) --LDFLAGS := -shared -static-libgcc -+LDFLAGS += -shared -static-libgcc - else --LDFLAGS := -shared -lm -+LDFLAGS += -shared -lm - endif - - # ---------- diff --git a/games-fps/yamagi-quake2/files/yamagi-quake2-addon-respect-flags-r4.patch b/games-fps/yamagi-quake2/files/yamagi-quake2-addon-respect-flags-r4.patch deleted file mode 100644 index 86c794b99e5e..000000000000 --- a/games-fps/yamagi-quake2/files/yamagi-quake2-addon-respect-flags-r4.patch +++ /dev/null @@ -1,33 +0,0 @@ ---- a/Makefile 2020-02-24 19:01:11.000000000 +0300 -+++ b/Makefile 2020-03-08 03:07:40.480074095 +0300 -@@ -66,11 +66,11 @@ endif - # - # -MMD to generate header dependencies. - ifeq ($(OSTYPE), Darwin) --CFLAGS := -O2 -fno-strict-aliasing -fomit-frame-pointer \ -- -Wall -pipe -g -fwrapv -arch x86_64 -+CFLAGS += -fno-strict-aliasing -fomit-frame-pointer \ -+ -Wall -fwrapv -arch x86_64 - else --CFLAGS := -O2 -fno-strict-aliasing -fomit-frame-pointer \ -- -Wall -pipe -g -MMD -fwrapv -+CFLAGS += -fno-strict-aliasing -fomit-frame-pointer \ -+ -Wall -MMD -fwrapv - endif - - # ---------- -@@ -93,11 +93,11 @@ endif - - # Base LDFLAGS. - ifeq ($(OSTYPE), Darwin) --LDFLAGS := -shared -arch x86_64 -+LDFLAGS += -shared -arch x86_64 - else ifeq ($(OSTYPE), Windows) --LDFLAGS := -shared -static-libgcc -+LDFLAGS += -shared -static-libgcc - else --LDFLAGS := -shared -lm -+LDFLAGS += -shared -lm - endif - - # ---------- diff --git a/games-fps/yamagi-quake2/files/yamagi-quake2-respect-flags.patch b/games-fps/yamagi-quake2/files/yamagi-quake2-respect-flags.patch deleted file mode 100644 index 76ac4b60f503..000000000000 --- a/games-fps/yamagi-quake2/files/yamagi-quake2-respect-flags.patch +++ /dev/null @@ -1,40 +0,0 @@ ---- a/Makefile 2017-12-08 12:22:59.000000000 +0300 -+++ b/Makefile 2018-01-14 15:42:56.804047742 +0300 -@@ -165,12 +165,12 @@ - # -MMD to generate header dependencies. (They cannot be - # generated if building universal binaries on OSX) - ifeq ($(YQ2_OSTYPE), Darwin) --CFLAGS := -O2 -fno-strict-aliasing -fomit-frame-pointer \ -- -Wall -pipe -g -fwrapv -+CFLAGS += -fno-strict-aliasing -fomit-frame-pointer \ -+ -Wall -fwrapv - CFLAGS += $(OSX_ARCH) - else --CFLAGS := -std=gnu99 -O2 -fno-strict-aliasing \ -- -Wall -pipe -g -ggdb -MMD -fwrapv -+CFLAGS += -std=gnu99 -fno-strict-aliasing \ -+ -Wall -MMD -fwrapv - endif - - # ---------- -@@ -263,15 +263,15 @@ - - # Base LDFLAGS. - ifeq ($(YQ2_OSTYPE),Linux) --LDFLAGS := -L/usr/lib -lm -ldl -rdynamic -+LDFLAGS += -lm -ldl -rdynamic - else ifeq ($(YQ2_OSTYPE),FreeBSD) --LDFLAGS := -L/usr/local/lib -lm -+LDFLAGS += -lm - else ifeq ($(YQ2_OSTYPE),OpenBSD) --LDFLAGS := -L/usr/local/lib -lm -+LDFLAGS += -lm - else ifeq ($(YQ2_OSTYPE),Windows) --LDFLAGS := -L/usr/lib -lws2_32 -lwinmm -static-libgcc -+LDFLAGS += -lws2_32 -lwinmm -static-libgcc - else ifeq ($(YQ2_OSTYPE), Darwin) --LDFLAGS := $(OSX_ARCH) -lm -+LDFLAGS += $(OSX_ARCH) -lm - endif - - CFLAGS += -fvisibility=hidden diff --git a/games-fps/yamagi-quake2/metadata.xml b/games-fps/yamagi-quake2/metadata.xml index 62861e43ce57..109c79bc1f83 100644 --- a/games-fps/yamagi-quake2/metadata.xml +++ b/games-fps/yamagi-quake2/metadata.xml @@ -1,11 +1,11 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="person"> + <maintainer type="person" proxied="yes"> <email>alexander@tsoy.me</email> <name>Alexander Tsoy</name> </maintainer> - <maintainer type="project"> + <maintainer type="project" proxied="proxy"> <email>proxy-maint@gentoo.org</email> <name>Proxy Maintainers</name> </maintainer> @@ -19,8 +19,10 @@ <use> <flag name="client">Build client</flag> <flag name="ctf">Build support for the 'Capture The Flag' addon</flag> + <flag name="gles">Build GLES3 renderer</flag> <flag name="rogue">Build support for the 'Ground Zero' Mission Pack</flag> <flag name="softrender">Build software renderer</flag> + <flag name="vulkan">Build experimental Vulkan renderer</flag> <flag name="xatrix">Build support for the 'The Reckoning' Mission Pack</flag> </use> </pkgmetadata> diff --git a/games-fps/yamagi-quake2/yamagi-quake2-7.43.ebuild b/games-fps/yamagi-quake2/yamagi-quake2-8.20.ebuild index 335ae177e9f9..8d465fc19a55 100644 --- a/games-fps/yamagi-quake2/yamagi-quake2-7.43.ebuild +++ b/games-fps/yamagi-quake2/yamagi-quake2-8.20.ebuild @@ -1,91 +1,85 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 -inherit desktop eutils +inherit desktop toolchain-funcs wrapper -CTF_V="1.07" -ROGUE_V="2.07" -XATRIX_V="2.08" +CTF_V="1.09" +ROGUE_V="2.10" +XATRIX_V="2.11" +REF_VK_V="1.0.4" 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 )" + 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 xatrix" +KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86" +IUSE="+client ctf dedicated gles openal +opengl rogue softrender vulkan xatrix" REQUIRED_USE=" || ( client dedicated ) - client? ( || ( opengl softrender ) ) + client? ( || ( opengl gles softrender vulkan ) ) " -DEPEND=" +RDEPEND=" client? ( - media-libs/libsdl2[video] - !openal? ( media-libs/libsdl2[sound] ) - opengl? ( - media-libs/libsdl2[opengl] - virtual/opengl + 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] ) ) " -RDEPEND="${DEPEND} - client? ( openal? ( media-libs/openal ) ) +DEPEND="${RDEPEND} + client? ( vulkan? ( dev-util/vulkan-headers ) ) " -PATCHES=( - "${FILESDIR}"/${PN}-respect-flags.patch -) -DOCS=( CHANGELOG README.md doc ) - -mymake() { - emake \ - VERBOSE=1 \ - WITH_SYSTEMWIDE=yes \ - WITH_SYSTEMDIR="${EPREFIX}"/usr/share/games/quake2 \ - WITH_OPENAL=$(usex openal) \ - "$@" -} +PATCHES=( "${FILESDIR}"/${PN}-8.01-execinfo.patch ) -src_prepare() { - local addon - for addon in ctf rogue xatrix; do - use ${addon} || continue - - pushd "${WORKDIR}"/quake2-${addon}-* >/dev/null || die - if [[ ${addon} = ctf ]]; then - eapply -l -- "${FILESDIR}"/${PN}-addon-respect-flags-r4.patch - else - eapply -l -- "${FILESDIR}"/${PN}-addon-respect-flags-r3.patch - fi - popd >/dev/null || die - done - - default -} +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 ) - mymake config - mymake "${targets[@]}" + 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 ctf rogue xatrix; do - use ${addon} || continue + for addon in $(usev ctf) $(usev rogue) $(usev xatrix); do emake -C "${WORKDIR}"/quake2-${addon}-* VERBOSE=1 done } @@ -93,7 +87,7 @@ src_compile() { src_install() { insinto /usr/lib/yamagi-quake2 # Yamagi Quake II expects all binaries to be in the same directory - # See stuff/packaging.md for more info + # See doc/070_packaging.md for more info exeinto /usr/lib/yamagi-quake2 doins -r release/. @@ -103,6 +97,10 @@ src_install() { 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 @@ -114,9 +112,7 @@ src_install() { doins stuff/yq2.cfg local addon - for addon in ctf rogue xatrix; do - use ${addon} || continue - + for addon in $(usev ctf) $(usev rogue) $(usev xatrix); do insinto /usr/lib/yamagi-quake2/${addon} doins "${WORKDIR}"/quake2-${addon}-*/release/game.so @@ -133,6 +129,8 @@ src_install() { fi done + keepdir /usr/share/quake2 + einstalldocs if use client; then docinto examples @@ -143,10 +141,11 @@ src_install() { pkg_postinst() { if [[ -z ${REPLACING_VERSIONS} ]]; then elog - elog "In order to play, you must at least install:" - elog "games-fps/quake2-data or games-fps/quake2-demodata or copy game" - elog "data files to ~/.yq2/ or ${EPREFIX}/usr/share/games/quake2/ manually." - elog "Read ${EPREFIX}/usr/share/doc/${PF}/README.md* for more information." + 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-7.42.ebuild b/games-fps/yamagi-quake2/yamagi-quake2-8.30.ebuild index 052af9137a45..250ea6612a77 100644 --- a/games-fps/yamagi-quake2/yamagi-quake2-7.42.ebuild +++ b/games-fps/yamagi-quake2/yamagi-quake2-8.30.ebuild @@ -1,94 +1,85 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 -inherit desktop eutils +inherit desktop toolchain-funcs wrapper -CTF_V="1.06" -ROGUE_V="2.06" -XATRIX_V="2.07" +CTF_V="1.10" +ROGUE_V="2.11" +XATRIX_V="2.12" +REF_VK_V="1.0.7" 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 )" + 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 ~x86" -IUSE="+client ctf dedicated openal +opengl rogue softrender xatrix" +KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86" +IUSE="+client ctf dedicated gles openal +opengl rogue softrender vulkan xatrix" REQUIRED_USE=" || ( client dedicated ) - client? ( || ( opengl softrender ) ) + client? ( || ( opengl gles softrender vulkan ) ) " -COMMON_DEPEND=" +RDEPEND=" client? ( - media-libs/libsdl2[video] - !openal? ( media-libs/libsdl2[sound] ) - opengl? ( - media-libs/libsdl2[opengl] - virtual/opengl + 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] ) ) " -RDEPEND="${COMMON_DEPEND} - client? ( openal? ( media-libs/openal ) ) +DEPEND="${RDEPEND} + client? ( vulkan? ( dev-util/vulkan-headers ) ) " -DEPEND="${COMMON_DEPEND}" -S="${WORKDIR}/quake2-${PV}" +PATCHES=( "${FILESDIR}"/${PN}-8.01-execinfo.patch ) -PATCHES=( - "${FILESDIR}"/${PN}-respect-flags.patch - "${FILESDIR}"/${PN}-7.42-fno-common.patch -) -DOCS=( CHANGELOG README.md doc/. ) - -mymake() { - emake \ - VERBOSE=1 \ - WITH_SYSTEMWIDE=yes \ - WITH_SYSTEMDIR="${EPREFIX}"/usr/share/games/quake2 \ - WITH_OPENAL=$(usex openal) \ - "$@" -} - -src_prepare() { - local addon - for addon in ctf rogue xatrix; do - use ${addon} || continue - - pushd "${WORKDIR}"/quake2-${addon}-* >/dev/null || die - if [[ ${addon} = ctf ]]; then - eapply -l -- "${FILESDIR}"/${PN}-addon-respect-flags-r2.patch - else - eapply -l -- "${FILESDIR}"/${PN}-addon-respect-flags-r3.patch - fi - popd >/dev/null || die - done - - default -} +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 ) - mymake config - mymake "${targets[@]}" + 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 ctf rogue xatrix; do - use ${addon} || continue + for addon in $(usev ctf) $(usev rogue) $(usev xatrix); do emake -C "${WORKDIR}"/quake2-${addon}-* VERBOSE=1 done } @@ -96,7 +87,7 @@ src_compile() { src_install() { insinto /usr/lib/yamagi-quake2 # Yamagi Quake II expects all binaries to be in the same directory - # See stuff/packaging.md for more info + # See doc/070_packaging.md for more info exeinto /usr/lib/yamagi-quake2 doins -r release/. @@ -106,6 +97,10 @@ src_install() { 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 @@ -117,9 +112,7 @@ src_install() { doins stuff/yq2.cfg local addon - for addon in ctf rogue xatrix; do - use ${addon} || continue - + for addon in $(usev ctf) $(usev rogue) $(usev xatrix); do insinto /usr/lib/yamagi-quake2/${addon} doins "${WORKDIR}"/quake2-${addon}-*/release/game.so @@ -136,6 +129,8 @@ src_install() { fi done + keepdir /usr/share/quake2 + einstalldocs if use client; then docinto examples @@ -146,10 +141,11 @@ src_install() { pkg_postinst() { if [[ -z ${REPLACING_VERSIONS} ]]; then elog - elog "In order to play, you must at least install:" - elog "games-fps/quake2-data or games-fps/quake2-demodata or copy game" - elog "data files to ~/.yq2/ or ${EPREFIX}/usr/share/games/quake2/ manually." - elog "Read ${EPREFIX}/usr/share/doc/${PF}/README.md* for more information." + 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 } |