From ceeeb463cc1eef97fd62eaee8bf2196ba04bc384 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sat, 29 Feb 2020 18:01:47 +0000 Subject: gentoo (leap year) resync : 29.02.2020 --- games-fps/yamagi-quake2/Manifest | 6 + .../files/yamagi-quake2-7.42-fno-common.patch | 92 ++++++++++++ .../yamagi-quake2-addon-respect-flags-r3.patch | 33 +++++ games-fps/yamagi-quake2/yamagi-quake2-7.42.ebuild | 155 +++++++++++++++++++++ 4 files changed, 286 insertions(+) create mode 100644 games-fps/yamagi-quake2/files/yamagi-quake2-7.42-fno-common.patch create mode 100644 games-fps/yamagi-quake2/files/yamagi-quake2-addon-respect-flags-r3.patch create mode 100644 games-fps/yamagi-quake2/yamagi-quake2-7.42.ebuild (limited to 'games-fps/yamagi-quake2') diff --git a/games-fps/yamagi-quake2/Manifest b/games-fps/yamagi-quake2/Manifest index ba45874d1f2e..a45279d4fb38 100644 --- a/games-fps/yamagi-quake2/Manifest +++ b/games-fps/yamagi-quake2/Manifest @@ -1,8 +1,14 @@ +AUX yamagi-quake2-7.42-fno-common.patch 2725 BLAKE2B 231b4e9ee57e3885c78e1469a7f729e430f03485535b81af315c971d632a6b7d8bd0a28f8c552e69afaa06fc5105f6ae757bfac327e23aa91c3299f8a5136000 SHA512 107a157bba10ad82bae0a767e00dc445c45b2b3acb5123fb81ea9b38ae4ff361dc38d575ba3dcc0960e46ee29fe4f97b6b2d580947e54f056705c8e144f027bb AUX yamagi-quake2-addon-respect-flags-r2.patch 966 BLAKE2B 08c2259fbbbc45ea41e2472ff544f8a51082069f0c340c548694d26dafc8f7d86418deed928b8150f52115cf23c399f4886c90570185ff78fe7c6a9d5b6c5286 SHA512 4f5d0402f9b3c227363681bdd38cb098795b18589d2a44f3ab5d9682cf58d6315015c22747167298a63f1fcbca00109208894b1c35ac2e6e4dec3900e25e7780 +AUX yamagi-quake2-addon-respect-flags-r3.patch 996 BLAKE2B 7d3c6f13b4973db9d63e15de469953699df48668d5bc5d69607f090f6bac57ea4119174f6de3306f1fc8cd2acdbfb90b8808eebfa7af7e4b4b5996d3b2546d93 SHA512 7136ccc0d666ef14f040e7ca19506dd0be5debe21f0eb819c74851e80445187f98ae60f76d8038d2ead40b1ef0f56643f769d6f9e4241e2b175ea11a19a676da AUX yamagi-quake2-respect-flags.patch 1209 BLAKE2B 757b7f1757a752871525ed397f53db8992292dde7a68fb22030ded806e64f4853ac1c2e75304afb2f88f1f2d36edc99758dee4fa6cbfe353fa5004aabb65b982 SHA512 abaa7041640556d1b7272fec820a987e02b4a7d466765a637ddc0ce39c38eafe95e46f91e5bdcf74030df2dff7674e96c8a49ca48b99400f74b85551e0d9a5c3 DIST quake2-7.41.tar.xz 1978952 BLAKE2B 9d3626f102b652c443caea294f7f66dc46869612b64d16c5f2e9b7f28a83800a0653450f8fc44ebaa83e01ddfaf2b2cd5dd9c6feb8001b5cabd7df32171e035b SHA512 fd2c991274415eb38cf3deb7562f7c51c7f8e935cf7215eba7e8ae088f25cddf95e86221fcbbb5fcc8bd97e264b147951bf5f4aecb8ee54973d46af7ef39d3af +DIST quake2-7.42.tar.xz 1987332 BLAKE2B 63ced75746eb031faf949c6b094ec607076f481b8d97eca242f9bf6fd6325afc8dfb5f98fe4f8ba5c5e87b721392f613031fc204b775634fc5292a26fef1d76c SHA512 0f51204fcf14ecb3f1f654e6ee19207836cf4642022569ef202bc12f312f76dbd43695aa4d9f9fb70c8b023f42d1a8fcec25f472a32175ebb0a308211fa40cc0 DIST quake2-ctf-1.06.tar.xz 135464 BLAKE2B 457ab883ba9ecfb723d890f5c9e3da710aae4ed5fa4e530c8028b0fa93186350e6ed1b483b89ddf98cbb3f3b1992a15c33af5d181073395b61e5b9a7c9987d88 SHA512 24c58f895d4056127e6f714c618d53b80bd75968758d8aa729deba750297efd5d6c40bd69afd98ebbf0d231bd59909e6438ec64b258883d8cfd33d33e928b2f9 DIST quake2-rogue-2.05.tar.xz 241120 BLAKE2B 58be655bfcba9c6ee66616dbedaf01c4329d656c205ad99910dccb095981a8f29b09d557e76f9e43df21f36eebeb5ad0c0f2788d2bee2bc1cfe68dda824df5d1 SHA512 521860cc3c46e8679f0dee2b9bc6c3a643439f560ad2437e2961e746285a95fa118201d516eefefdd8b5fe7da8ec5ea0c9fae8910751256a0d986300497631ff +DIST quake2-rogue-2.06.tar.xz 243872 BLAKE2B fa289bb9ecd988dd77dd4d581212fc1c2f964371109123ed77ea0a740b65bc117d787c144d9f246d091df3ff19f1c9f5ed42571cd2d450061de63f032cc3c1d6 SHA512 4f8646f6b6cc2b522291e89f63a6d0273353e27bcafed6fcd5c2e509e938ab76504bfe9e92d398c8cee708af64ffbb7d81e98ea0df1e13ba593db4dff8ddfcf6 DIST quake2-xatrix-2.06.tar.xz 190560 BLAKE2B 945e80159cd7630280290f6930e1343fdf9dccdbd44d14cd5b36eccae9499d2cd6eddb1a3967721b61349fa60e48c720e4db66fdc1d8930628864c7fe2cd4ada SHA512 98557ed3fc4fddcd36d47dab207b8101b82f40bd976b11195b229a1073ec04216c06dc119269f287fbd9da0418671521ab6393008f2486ab113940d5fec6bfdc +DIST quake2-xatrix-2.07.tar.xz 192404 BLAKE2B 54772f1158af82211a5c925676e1399bd9debfa8f336a566dd7c22c6f50eb488030c871a7952b9eb00a7a8498560aed332dfd388074bb5a733ed5e979d59d9dc SHA512 72400afa98faf38559dfbc6dcfd01a16902adc782065bc1bbae4d773b5c139543d79f465195db72f0dbaf33999c667c65fd3582a8029db5b50ea5295d278b2a7 EBUILD yamagi-quake2-7.41.ebuild 3506 BLAKE2B bcd0bfd72fe5d400340b30d68409d62ec56460e8ea294c602c3a9517d5a70a0b3c4aed25a5e580cebe3bbdbb4a3e389e66e363591466e206f786431062a30929 SHA512 7adc7b327244e9e4a409a03522830552d5f150d697f2e2c8169224916fb63aa4b8663f86f2d939d8f71e6ee4ace54cc9876284b5ee855acec9ea8aae36f0323a +EBUILD yamagi-quake2-7.42.ebuild 3636 BLAKE2B 50b15d9a17697e8191fd9ead2575162536b9c08f56d098a6e45c41093a9c20804cce9e2f0a09e4a623edb119d675d161c3e4141b07523347592ca4fc3cc6088f SHA512 e9707a7b71e4937d9a717c02005e76e9a10bddad7860983b96df5d3e17ea036196125984f9c2900df71fbc8adf6d8f9779085b9a5c9b77f7810351e7da857443 MISC metadata.xml 902 BLAKE2B 5431861cde41e065d91af512cbac3e1f41c8c28dc253d54124eef822a38a021be9e9fd6b000bf6571ae242fc87009ea2a4c5045a568adaa37a99302eb1fe8e7f SHA512 7303da58e949237b5d1c6a6fe83c597c4e5dd955ce07368876ee03114cb124cedc44c8d4c51bb4e530c3194ed7041c694167a4495a698fb3b8a6beaf4b8b6f77 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 new file mode 100644 index 000000000000..6dc8794b874a --- /dev/null +++ b/games-fps/yamagi-quake2/files/yamagi-quake2-7.42-fno-common.patch @@ -0,0 +1,92 @@ +From 60a4bd330689b2378e49f2335209bd64a653fab2 Mon Sep 17 00:00:00 2001 +From: Alexander Tsoy +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-addon-respect-flags-r3.patch b/games-fps/yamagi-quake2/files/yamagi-quake2-addon-respect-flags-r3.patch new file mode 100644 index 000000000000..c7cf611ab96d --- /dev/null +++ b/games-fps/yamagi-quake2/files/yamagi-quake2-addon-respect-flags-r3.patch @@ -0,0 +1,33 @@ +--- 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/yamagi-quake2-7.42.ebuild b/games-fps/yamagi-quake2/yamagi-quake2-7.42.ebuild new file mode 100644 index 000000000000..052af9137a45 --- /dev/null +++ b/games-fps/yamagi-quake2/yamagi-quake2-7.42.ebuild @@ -0,0 +1,155 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit desktop eutils + +CTF_V="1.06" +ROGUE_V="2.06" +XATRIX_V="2.07" + +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 )" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="+client ctf dedicated openal +opengl rogue softrender xatrix" +REQUIRED_USE=" + || ( client dedicated ) + client? ( || ( opengl softrender ) ) +" + +COMMON_DEPEND=" + client? ( + media-libs/libsdl2[video] + !openal? ( media-libs/libsdl2[sound] ) + opengl? ( + media-libs/libsdl2[opengl] + virtual/opengl + ) + ) +" +RDEPEND="${COMMON_DEPEND} + client? ( openal? ( media-libs/openal ) ) +" +DEPEND="${COMMON_DEPEND}" + +S="${WORKDIR}/quake2-${PV}" + +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 +} + +src_compile() { + local targets=( game ) + if use client; then + targets+=( client ) + use opengl && targets+=( ref_gl1 ref_gl3 ) + use softrender && targets+=( ref_soft ) + fi + use dedicated && targets+=( server ) + + mymake config + mymake "${targets[@]}" + + local addon + for addon in ctf rogue xatrix; do + use ${addon} || continue + emake -C "${WORKDIR}"/quake2-${addon}-* VERBOSE=1 + done +} + +src_install() { + insinto /usr/lib/yamagi-quake2 + # Yamagi Quake II expects all binaries to be in the same directory + # See stuff/packaging.md for more info + exeinto /usr/lib/yamagi-quake2 + doins -r release/. + + if use client; then + doexe release/quake2 + dosym ../lib/yamagi-quake2/quake2 /usr/bin/yquake2 + + newicon stuff/icon/Quake2.svg "yamagi-quake2.svg" + make_desktop_entry "yquake2" "Yamagi Quake II" + fi + + if use dedicated; then + doexe release/q2ded + dosym ../lib/yamagi-quake2/q2ded /usr/bin/yq2ded + fi + + insinto /usr/lib/yamagi-quake2/baseq2 + doins stuff/yq2.cfg + + local addon + for addon in ctf rogue xatrix; do + use ${addon} || continue + + insinto /usr/lib/yamagi-quake2/${addon} + doins "${WORKDIR}"/quake2-${addon}-*/release/game.so + + if use client; then + local addon_name + case ${addon} in + ctf) addon_name="CTF" ;; + rogue) addon_name="Ground Zero" ;; + xatrix) addon_name="The Reckoning" ;; + esac + + make_wrapper "yquake2-${addon}" "yquake2 +set game ${addon}" + make_desktop_entry "yquake2-${addon}" "Yamagi Quake II: ${addon_name}" + fi + done + + einstalldocs + if use client; then + docinto examples + dodoc stuff/cdripper.sh + fi +} + +pkg_postinst() { + if [[ -z ${REPLACING_VERSIONS} ]]; then + elog + elog "In order to play, you 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 + fi +} -- cgit v1.2.3