summaryrefslogtreecommitdiff
path: root/games-fps/yamagi-quake2
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
committerV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
commit8376ef56580626e9c0f796d5b85b53a0a1c7d5f5 (patch)
tree7681bbd4e8b05407772df40a4bf04cbbc8afc3fa /games-fps/yamagi-quake2
parent30a9caf154332f12ca60756e1b75d2f0e3e1822d (diff)
gentoo resync : 14.07.2018
Diffstat (limited to 'games-fps/yamagi-quake2')
-rw-r--r--games-fps/yamagi-quake2/Manifest11
-rw-r--r--games-fps/yamagi-quake2/files/yamagi-quake2-addon-respect-flags.patch30
-rw-r--r--games-fps/yamagi-quake2/files/yamagi-quake2-respect-flags.patch40
-rw-r--r--games-fps/yamagi-quake2/files/yamagi-quake2-zlib.patch17
-rw-r--r--games-fps/yamagi-quake2/metadata.xml21
-rw-r--r--games-fps/yamagi-quake2/yamagi-quake2-7.10.ebuild132
-rw-r--r--games-fps/yamagi-quake2/yamagi-quake2-7.20.ebuild146
7 files changed, 397 insertions, 0 deletions
diff --git a/games-fps/yamagi-quake2/Manifest b/games-fps/yamagi-quake2/Manifest
new file mode 100644
index 000000000000..ea0bfa2f217c
--- /dev/null
+++ b/games-fps/yamagi-quake2/Manifest
@@ -0,0 +1,11 @@
+AUX yamagi-quake2-addon-respect-flags.patch 823 BLAKE2B 348115f8a35d61e9dc4a1121bb98cfe1c2d6925fc7fc3bb7965d1f10d8bc4958f222982892216ee312ec245c3e505c9e9b8c20c65539f24145af4355959a4542 SHA512 c570ea602d3d5fedc6defae5c6b8d99f079ea5562b9c864f896a97c01ca504dbbb669e9a43eb5757abca884ad39c7a2f685c3fb915d32bd8dd5ff22f6934a4fd
+AUX yamagi-quake2-respect-flags.patch 1209 BLAKE2B 757b7f1757a752871525ed397f53db8992292dde7a68fb22030ded806e64f4853ac1c2e75304afb2f88f1f2d36edc99758dee4fa6cbfe353fa5004aabb65b982 SHA512 abaa7041640556d1b7272fec820a987e02b4a7d466765a637ddc0ce39c38eafe95e46f91e5bdcf74030df2dff7674e96c8a49ca48b99400f74b85551e0d9a5c3
+AUX yamagi-quake2-zlib.patch 592 BLAKE2B 836093baf5f0a7554d07e8305dfb9fe83ece7069562d7c0d7941c241ba8442d02819234e5a4f89031e9d9b82ad5bdb85cdfd507bab5f3f1f9a53cec9ed948527 SHA512 cc0e0ee7807a4aa0edc540ccde8ee37f4550a34ee24efadb876d0defc08fb06d4d3be7c94e5ebf45247798b4d7d3b98184b0c93a6511fc7369f8ae1c5b4aa2d1
+DIST quake2-7.10.tar.xz 1792748 BLAKE2B 853d6db1eec46ce40952fd413a259653275081599a940941fc883921b310f436be62b80a1d911a0d8f95a33e540e60bd6db2377370cc443cbaa9c3eec6ae055f SHA512 46247c3e2c8e6dcb056dfc7785dd63bf4f896719894a1c5467f2eb313cc3d8a892fda9bafc2ca760a9ac96f6b8e23485a8740b03e118cf9a524f68657183fbb9
+DIST quake2-7.20.tar.xz 1852212 BLAKE2B 87a19be70680866b8b697ea4632239d33fe196dc648553d4a113025d9dc7996a27db2ec0178b28c04ad77854400d9f159bd800681a2bdf5a0121ef764e163ecb SHA512 466c21777e07da6aaec29cf9d3c9246a23d2157398a7e5ff1ad006f0fa7fd89e379b109936780361f03722f896ac34a188d12fc0a51cb543079e07aa6c9240df
+DIST quake2-ctf-1.05.tar.xz 134872 BLAKE2B eb987004b1c1b1743ec532b6bea96a257957377cbdb0571d6c6e7b2dae6c1b7abc154233d4f9d3af6fb546d7810e5c041b8e9293de2e409a7cace88aa455f526 SHA512 9eb951f4a9d7abc5f9a2ca53d886f68b745c1efdf3fea14db2e071b8d1592d33579c5fa56326aa583269a4810e16a7eda8dcd8930e36782cb4fcb8578c44951b
+DIST quake2-rogue-2.04.tar.xz 240436 BLAKE2B e7c3660378fe40b3f514b6e1de8714e3d3550baa244897b98bb81f362fa2b0aa57e3abceb5a38ea77cfec7621e2fcfab342a45bf9b66ccd0e44cc70292888fc2 SHA512 546deb74175c60ed7e5600a3d4b1c983fc0b1fae5922ebdb8fc3cdc5584931a0a5e34914ec2cd4ef9815323ba82cb56d427986d5c91dc040d6b68baff68ca5a8
+DIST quake2-xatrix-2.05.tar.xz 189888 BLAKE2B 9d884af6033d529ce8cca7a70a36608e45db47dab74ab0d88c04f4d928425cf22901b1299a69330bfa83810034c9f1eff2d9618b222db68564d81d569f0596cd SHA512 f7e14bb870eaf4515405f5f1162057669351a334993410101973b75e52d6d576c35c91112911f961ad122ebe664b294649e94e88a2f62b79f51e28d02f50487a
+EBUILD yamagi-quake2-7.10.ebuild 3007 BLAKE2B 5084aa0d925ad93d3f8e27b27b8548625469ba3dfc611583657150c04541b50d3cc71a2b8f2c7ad6816771ddf0a8ada67285e17d030263178a6216db930b79ef SHA512 ecf02bc816b1913d75a4c8b8c8cd01c042f762c825252d4f797cbbe71152db376524f50a0611844cacee7b10dcc385119b5c31960f39008ec77b1997bf35fb27
+EBUILD yamagi-quake2-7.20.ebuild 3403 BLAKE2B b62a57e2a7c11093718dee95ec19bf9a386bd6555ac1c1f960b1088157ecba2f58ba8a79ac97220b2d6cfb0dc5ddbca896f2909199f99f64ee7216bb189ce37e SHA512 7047e2a0c6232396d03a6d7ab538885a0b01b89d653e0072874ac02c4d48ecd2c55a6065e05b2647379f723ca1bf64237dc74a898f6b0a1c2aff9a36135dcb3b
+MISC metadata.xml 731 BLAKE2B 42af3854a50b6c7ef6a715af0a6d20c574a9e8ac8011f3ad3cc0d28af9834a32df3ba8b1e546b7017e634e323a4823610d6ffec111b29f4341b2a4f7bb4e7f96 SHA512 faa5df8f6af6efa7e90e17909ae8659d9b9273ad7ff6684845fde8849ad4eee4a933cd04dfd2b5578d661277da331a58076d87a8a4dde45b8f4afa7e408e4095
diff --git a/games-fps/yamagi-quake2/files/yamagi-quake2-addon-respect-flags.patch b/games-fps/yamagi-quake2/files/yamagi-quake2-addon-respect-flags.patch
new file mode 100644
index 000000000000..d767f04d4b09
--- /dev/null
+++ b/games-fps/yamagi-quake2/files/yamagi-quake2-addon-respect-flags.patch
@@ -0,0 +1,30 @@
+--- a/Makefile 2017-05-25 12:45:51.000000000 +0300
++++ b/Makefile 2018-01-14 17:38:34.540167879 +0300
+@@ -64,11 +64,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
+
+ # ----------
+@@ -80,9 +80,9 @@
+
+ # Base LDFLAGS.
+ ifeq ($(OSTYPE), Darwin)
+-LDFLAGS := -shared -arch i386 -arch x86_64
++LDFLAGS += -shared -arch i386 -arch x86_64
+ else
+-LDFLAGS := -shared
++LDFLAGS += -shared
+ 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
new file mode 100644
index 000000000000..76ac4b60f503
--- /dev/null
+++ b/games-fps/yamagi-quake2/files/yamagi-quake2-respect-flags.patch
@@ -0,0 +1,40 @@
+--- 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/files/yamagi-quake2-zlib.patch b/games-fps/yamagi-quake2/files/yamagi-quake2-zlib.patch
new file mode 100644
index 000000000000..1de79c986907
--- /dev/null
+++ b/games-fps/yamagi-quake2/files/yamagi-quake2-zlib.patch
@@ -0,0 +1,17 @@
+https://bugs.gentoo.org/383179
+
+Upstream removed OF macro definition:
+https://github.com/yquake2/yquake2/commit/716d72a295c9247b3c88ccd180bb7a517ed99e13
+
+--- a/src/common/unzip/ioapi.h 2018-03-10 20:24:21.000000000 +0300
++++ b/src/common/unzip/ioapi.h 2018-04-10 00:34:08.688675097 +0300
+@@ -120,6 +120,9 @@
+ #define ZLIB_FILEFUNC_MODE_EXISTING (4)
+ #define ZLIB_FILEFUNC_MODE_CREATE (8)
+
++#ifdef _Z_OF
++#define OF _Z_OF
++#endif
+
+ #ifndef ZCALLBACK
+ #if (defined(WIN32) || defined(_WIN32) || defined (WINDOWS) || defined (_WINDOWS)) && defined(CALLBACK) && defined (USEWINDOWS_CALLBACK)
diff --git a/games-fps/yamagi-quake2/metadata.xml b/games-fps/yamagi-quake2/metadata.xml
new file mode 100644
index 000000000000..c573477de061
--- /dev/null
+++ b/games-fps/yamagi-quake2/metadata.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>alexander@tsoy.me</email>
+ <name>Alexander Tsoy</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">yquake2/yquake2</remote-id>
+ </upstream>
+ <use>
+ <flag name="client">Build client</flag>
+ <flag name="ctf">Build support for the 'Capture The Flag' addon</flag>
+ <flag name="rogue">Build support for the 'Ground Zero' Mission Pack</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.10.ebuild b/games-fps/yamagi-quake2/yamagi-quake2-7.10.ebuild
new file mode 100644
index 000000000000..09f38aad41cf
--- /dev/null
+++ b/games-fps/yamagi-quake2/yamagi-quake2-7.10.ebuild
@@ -0,0 +1,132 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit desktop eutils
+
+CTF_V=1.05
+ROGUE_V=2.04
+XATRIX_V=2.05
+
+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 ogg openal rogue xatrix"
+REQUIRED_USE="|| ( client dedicated )"
+
+RDEPEND="sys-libs/zlib:0=
+ client? (
+ media-libs/libsdl2[opengl,video]
+ virtual/opengl
+ ogg? (
+ media-libs/libogg
+ media-libs/libvorbis
+ )
+ openal? ( media-libs/openal )
+ !openal? ( media-libs/libsdl2[sound] )
+ )
+"
+
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/quake2-${PV}"
+
+PATCHES=( "${FILESDIR}"/${PN}-respect-flags.patch )
+DOCS=( CHANGELOG CONTRIBUTE README.md )
+
+mymake() {
+ emake \
+ VERBOSE=1 \
+ DLOPEN_OPENAL=no \
+ WITH_CDA=no \
+ WITH_SYSTEMWIDE=yes \
+ WITH_SYSTEMDIR="${EPREFIX}"/usr/share/games/quake2 \
+ WITH_ZIP=yes \
+ WITH_OGG=$(usex ogg) \
+ 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
+ eapply -l -- "${FILESDIR}"/${PN}-addon-respect-flags.patch
+ popd >/dev/null || die
+ done
+
+ default
+}
+
+src_compile() {
+ local targets=( game )
+ use client && targets+=( client ref_gl1 ref_gl3 )
+ 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
+
+ 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}"
+ done
+
+ einstalldocs
+ if use client; then
+ docinto examples
+ dodoc stuff/cdripper.sh
+ fi
+}
diff --git a/games-fps/yamagi-quake2/yamagi-quake2-7.20.ebuild b/games-fps/yamagi-quake2/yamagi-quake2-7.20.ebuild
new file mode 100644
index 000000000000..779346e191f7
--- /dev/null
+++ b/games-fps/yamagi-quake2/yamagi-quake2-7.20.ebuild
@@ -0,0 +1,146 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit desktop eutils
+
+CTF_V=1.05
+ROGUE_V=2.04
+XATRIX_V=2.05
+
+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 ogg openal rogue xatrix"
+REQUIRED_USE="|| ( client dedicated )"
+
+RDEPEND="sys-libs/zlib:0=
+ client? (
+ media-libs/libsdl2[opengl,video]
+ virtual/opengl
+ ogg? (
+ media-libs/libogg
+ media-libs/libvorbis
+ )
+ openal? ( media-libs/openal )
+ !openal? ( media-libs/libsdl2[sound] )
+ )
+"
+
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/quake2-${PV}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-respect-flags.patch
+ "${FILESDIR}"/${PN}-zlib.patch
+)
+DOCS=( CHANGELOG CONTRIBUTE README.md )
+
+mymake() {
+ emake \
+ VERBOSE=1 \
+ DLOPEN_OPENAL=no \
+ WITH_CDA=no \
+ WITH_SYSTEMWIDE=yes \
+ WITH_SYSTEMDIR="${EPREFIX}"/usr/share/games/quake2 \
+ WITH_ZIP=yes \
+ WITH_OGG=$(usex ogg) \
+ 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
+ eapply -l -- "${FILESDIR}"/${PN}-addon-respect-flags.patch
+ popd >/dev/null || die
+ done
+
+ default
+}
+
+src_compile() {
+ local targets=( game )
+ use client && targets+=( client ref_gl1 ref_gl3 )
+ 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
+
+ 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}"
+ 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
+}