summaryrefslogtreecommitdiff
path: root/games-fps/tenebrae
diff options
context:
space:
mode:
Diffstat (limited to 'games-fps/tenebrae')
-rw-r--r--games-fps/tenebrae/Manifest10
-rw-r--r--games-fps/tenebrae/files/1.04-glhax.patch32
-rw-r--r--games-fps/tenebrae/files/tenebrae-1.04-exec-stack.patch36
-rw-r--r--games-fps/tenebrae/files/tenebrae-1.04-redef.patch19
-rw-r--r--games-fps/tenebrae/metadata.xml18
-rw-r--r--games-fps/tenebrae/tenebrae-1.04-r1.ebuild73
-rw-r--r--games-fps/tenebrae/tenebrae-1.04.ebuild69
7 files changed, 257 insertions, 0 deletions
diff --git a/games-fps/tenebrae/Manifest b/games-fps/tenebrae/Manifest
new file mode 100644
index 000000000000..4dc733d89b44
--- /dev/null
+++ b/games-fps/tenebrae/Manifest
@@ -0,0 +1,10 @@
+AUX 1.04-glhax.patch 1086 SHA256 7ce45eeb8d3d73a0a931842e0d3db35af7af1051c8fcc5cc6d561aeee4e37355 SHA512 6641a82ba17909aa3ab1d583595d45d0abb1ac34cb8997dc17d1bda736b6a07417276f6ec358b73c08f74d84ca9168e76ed224d2d5220ec773f4a2077dd09800 WHIRLPOOL d066ea59c28b9a941a7d0e100f1631a64562dffb7b82f949183231f367194d4185c99ccdba4e75af38e9f73f7d74e0ae2d1643ad2debefbcd20b9ef2952a5038
+AUX tenebrae-1.04-exec-stack.patch 658 SHA256 b2b58ad17394a490dc2fc44182427a257b1cfdb81a31b3a855c0b8ea0a0d388d SHA512 d3b6c712f79612265a31eaeccae3b9688bcfb7916be34e1b9dc6e698c33750f82b323fa51cb09768546c3cdf55bc80fadf0cbc46d4e478ca126ac4124fa06765 WHIRLPOOL 90ce449b48f337a72a64d5a7273bfe941cd9f30781fa382d4889eadbc017aad419e1d6107eb676f50ca7e949a02f251e4d13ec515fb5375122e5f0d734dce40d
+AUX tenebrae-1.04-redef.patch 393 SHA256 bc1fe7532cafae22c4ec145a5303e81097528e18b5d58cb6f8fa33c98042cb0f SHA512 57f63560f3cdf3f0070954109f753cad5ace8828d5f81dc87044a37ac2144594e6bca68d12de186077349c9f42ea17bacbf32a2481216be79569e27bfe1065a6 WHIRLPOOL 78b5e7bea8bbcac3ce2b468f1493275f8903fa48ec84361ede1e0e5c17d62274bac69f95562d49f9b2e8e9581b56e2de4a06a3793b5c6d5845722da6ad16a4bd
+DIST tenebrae-1.04.tbz2 625988 SHA256 61277ecb41dc7c4adbfbad81cd5bfd69e3d63a8e7b41a4860bd879011a735f6c SHA512 f74d1dcaf5b29fcc047f93e4c99c8b5264751c5687370ba4605cad76f85fe346e0e17a6546b8766acedabf23fed69d6894dda6499c854ef0736dddeddc89e18e WHIRLPOOL e9624209ed20f7e8efe2abcac759abf19c269bd60abc92f32e34e601fb2ebc50a061055c2a023a48661f9a551c6645ef0ca244a0d98ff8361c338b88177ca092
+DIST tenebraedata.zip 3989498 SHA256 35db2e1dfe917ec5e62d8ad50fb5ccc73418a7dc3ef1e16cba9eb01f1e1177b8 SHA512 c69e8e18ab0c7d10b5e1c9ad3b396b0906302e6d75c0969d8c2b513df0a11b410de86736a67632378bf28d564c04c3e937f164cb3850742e183616ddc8ac4742 WHIRLPOOL a14167d2268b8def364cabd79b0b338092ec53aba57fc30c4143287edb5e2682ad4d36f3b2eabda1797dd408887c16abd1331144c5e8151b05abef80f18d459b
+EBUILD tenebrae-1.04-r1.ebuild 1555 SHA256 eb201e4fe328e9519b152e2a32593de802515b072b7d7d99177634a02a4c6866 SHA512 569fce0fce35a24dfef7692b70405d4c602d5e9d15797d0cd331e90099b5610ab19653a9ef95fc9b277f86be76ef9f14cbde2cb8804b370a1c7b31a6c0764160 WHIRLPOOL bdea8f396941e5f8acce5ad3d55a3fdceb5777efc6f493d4944dfcd299fa938cfa911f89378753b730e38692b26f3e9bf39c7b451df36d5ed9a5bbc2585afc22
+EBUILD tenebrae-1.04.ebuild 1482 SHA256 bc9fbe6b72550acfb604febc90ceb7ce3a26d3b99e7da6c38c53cc56db46b5d7 SHA512 9fec7dcbc8b7d1ad9dc843da45b16a997a22e08ed578f83952b4c293cd8feb465111e987a7cf60fd1d1169f35a6ff1158babc2af231c3d8f3196ee377cbb279b WHIRLPOOL 90218402236bc1a604fd57bc195dcf980881082258212bced3372928c43334267ab51f0fd3bf313f08906b64a61e2de82c93f2bbc33d025d739255a52d3a7505
+MISC ChangeLog 2657 SHA256 197a2d42f6ff63dec61c9643ad78c23eada61a7f892c12efed18bdb92f0e99c5 SHA512 87ad1b24209577d22daf179ddd2863b4156ace68efee7511db08cb22ddb688238a3e5c4be95c9cd45bdee97e3e1cc62e6eef1e51ae4b1c529b1a355444ddae97 WHIRLPOOL 4f0ca5a0aed1173f94302301b97794689106154b9e84bf0c5ca23587b3b8f7a9a8b422202b73da4251f9ec2af9e6ae9316145b1d301b9bed698d70176a7d9e90
+MISC ChangeLog-2015 1571 SHA256 982c98922fd91a3c4c9053c7034db45d1c06be6fc93f6a19bae98bf3d8ea0a1f SHA512 f066b86ed44fcca29b33d6e25015dcaed624ece49de322e2d2338c4c974bb1e6dc73a0ec92f044b89f1153e4992144a2fc90db9c5904a6ac90ad80029eb3101a WHIRLPOOL a6ca207dafc46e6c61cccf14819892b06dfaea67f5115630092e1de782b1c009f6186fd82ded7f48b49ff89307abbeb8ee78a63474ea500d3ef450ee90ae2ae4
+MISC metadata.xml 709 SHA256 b77e4028c023cafd13a72064ba79afa016b5b0a43e889eec56d85a814a7bc6bf SHA512 15881aa13e08c8803a638ff40c022871116ffdd6de8141b149433d09c98055163f0661aa299ad041215612fe2ea149a5e04e44dbb1afb1de18a53cadcd196107 WHIRLPOOL 727a0ee13c4da242575787fe181b7d9a97fd44f4ef9a55878d48ab399261d834a2daa2394a682536897a3f1fc5d01f329494c61b0faa0fee66b6b5d5bd73fdd2
diff --git a/games-fps/tenebrae/files/1.04-glhax.patch b/games-fps/tenebrae/files/1.04-glhax.patch
new file mode 100644
index 000000000000..a185d8e10c7d
--- /dev/null
+++ b/games-fps/tenebrae/files/1.04-glhax.patch
@@ -0,0 +1,32 @@
+--- tenebrae_0/glquake.h 2004-12-25 00:28:28.707288592 -0500
++++ tenebrae_0/glquake.h 2004-12-25 00:27:35.000000000 -0500
+@@ -34,6 +34,7 @@
+ #else
+ #include <GL/gl.h>
+ #include <GL/glu.h>
++#include <GL/glext.h>
+ #endif /* __APPLE__ ||ÊMACOSX */
+
+ /* use the correct dynamic function address binder */
+@@ -420,8 +421,10 @@
+ void GL_Bind (int texnum);
+
+ #ifndef _WIN32
++#ifndef APIENTRY
+ #define APIENTRY /* */
+ #endif
++#endif
+
+ #if !defined (__APPLE__) && !defined (MACOSX)
+
+@@ -1134,8 +1137,10 @@
+ // <AWE> There are some diffs with the function parameters. wgl stuff not present with MacOS X. -DC- and SDL
+ #if defined (__APPLE__) || defined (MACOSX) || defined(SDL) || defined (__glx__)
+
++#ifndef GL_APPLE_vertex_array_range
+ typedef void (APIENTRY * PFNGLFLUSHVERTEXARRAYRANGEAPPLEPROC) (GLsizei length, const GLvoid *pointer);
+ typedef void (APIENTRY * PFNGLVERTEXARRAYRANGEAPPLEPROC) (GLsizei size, const GLvoid *pointer);
++#endif
+
+ extern PFNGLFLUSHVERTEXARRAYRANGEAPPLEPROC qglFlushVertexArrayRangeAPPLE;
+ extern PFNGLVERTEXARRAYRANGEAPPLEPROC qglVertexArrayRangeAPPLE;
diff --git a/games-fps/tenebrae/files/tenebrae-1.04-exec-stack.patch b/games-fps/tenebrae/files/tenebrae-1.04-exec-stack.patch
new file mode 100644
index 000000000000..abc8bd4a2b87
--- /dev/null
+++ b/games-fps/tenebrae/files/tenebrae-1.04-exec-stack.patch
@@ -0,0 +1,36 @@
+--- a/math.s
++++ b/math.s
+@@ -416,3 +416,6 @@
+ call C(BOPS_Error)
+
+ #endif // id386
++#if defined(__linux__) && defined(__ELF__)
++.section .note.GNU-stack,"",%progbits
++#endif
+--- a/snd_mixa.s
++++ b/snd_mixa.s
+@@ -216,3 +216,6 @@
+
+ #endif // id386
+
++#if defined(__linux__) && defined(__ELF__)
++.section .note.GNU-stack,"",%progbits
++#endif
+--- a/sys_dosa.s
++++ b/sys_dosa.s
+@@ -93,3 +93,6 @@
+
+ ret
+
++#if defined(__linux__) && defined(__ELF__)
++.section .note.GNU-stack,"",%progbits
++#endif
+--- a/worlda.s
++++ b/worlda.s
+@@ -142,3 +142,6 @@
+
+ #endif // id386
+
++#if defined(__linux__) && defined(__ELF__)
++.section .note.GNU-stack,"",%progbits
++#endif
diff --git a/games-fps/tenebrae/files/tenebrae-1.04-redef.patch b/games-fps/tenebrae/files/tenebrae-1.04-redef.patch
new file mode 100644
index 000000000000..8bd89aa18e6f
--- /dev/null
+++ b/games-fps/tenebrae/files/tenebrae-1.04-redef.patch
@@ -0,0 +1,19 @@
+--- a/sys_dosa.s 2017-09-06 16:41:31.875358788 -0500
++++ b/sys_dosa.s 2017-09-06 16:41:35.947376646 -0500
+@@ -44,6 +44,8 @@
+
+ .text
+
++// Falls back to an empty stub on non-i386, in sys_linux.c
++#if id386
+ .globl C(Sys_LowFPPrecision)
+ C(Sys_LowFPPrecision):
+ fldcw single_cw
+@@ -55,6 +57,7 @@
+ fldcw full_cw
+
+ ret
++#endif
+
+ .globl C(Sys_PushFPCW_SetHigh)
+ C(Sys_PushFPCW_SetHigh):
diff --git a/games-fps/tenebrae/metadata.xml b/games-fps/tenebrae/metadata.xml
new file mode 100644
index 000000000000..04edb8b61c7e
--- /dev/null
+++ b/games-fps/tenebrae/metadata.xml
@@ -0,0 +1,18 @@
+<?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>
+ <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>
+</pkgmetadata>
diff --git a/games-fps/tenebrae/tenebrae-1.04-r1.ebuild b/games-fps/tenebrae/tenebrae-1.04-r1.ebuild
new file mode 100644
index 000000000000..82648759b40f
--- /dev/null
+++ b/games-fps/tenebrae/tenebrae-1.04-r1.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+#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
+ mirror://gentoo/${P}.tbz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~x86"
+IUSE=""
+
+RDEPEND="
+ virtual/glu
+ virtual/opengl
+ media-libs/libpng:0
+ x11-libs/libXxf86dga
+ x11-libs/libXxf86vm"
+DEPEND="${RDEPEND}
+ app-arch/unzip
+ x11-proto/xextproto
+ x11-proto/xf86dgaproto
+ x11-proto/xf86vidmodeproto"
+
+S=${WORKDIR}
+
+src_unpack() {
+ if [[ -z ${ECVS_MODULE} ]] ; then
+ unpack ${A}
+ else
+ cvs_src_unpack
+ fi
+}
+
+src_prepare() {
+ cd tenebrae_0 || die "cd failed"
+
+ sed -i \
+ -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}:" \
+ Makefile.i386linux > Makefile || die
+}
+
+src_compile() {
+ 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"
+ doins "${WORKDIR}"/tenebrae/*
+ dodoc tenebrae_0/linux/README "${WORKDIR}"/Tenebrae_Readme.txt
+}
diff --git a/games-fps/tenebrae/tenebrae-1.04.ebuild b/games-fps/tenebrae/tenebrae-1.04.ebuild
new file mode 100644
index 000000000000..7e023b4d833a
--- /dev/null
+++ b/games-fps/tenebrae/tenebrae-1.04.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+#ECVS_SERVER="cvs.tenebrae.sourceforge.net:/cvsroot/tenebrae"
+#ECVS_MODULE="tenebrae_0"
+#inherit cvs
+inherit eutils games
+
+DESCRIPTION="adds stencil shadows and per pixel lights to quake"
+HOMEPAGE="http://tenebrae.sourceforge.net/"
+SRC_URI="mirror://sourceforge/tenebrae/tenebraedata.zip
+ mirror://gentoo/${P}.tbz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="x86"
+IUSE=""
+
+RDEPEND="virtual/opengl
+ virtual/glu
+ media-libs/libpng:0
+ x11-libs/libXxf86vm
+ x11-libs/libXxf86dga"
+DEPEND="${RDEPEND}
+ x11-proto/xextproto
+ x11-proto/xf86dgaproto
+ x11-proto/xf86vidmodeproto
+ app-arch/unzip"
+
+S=${WORKDIR}
+
+src_unpack() {
+ if [[ -z ${ECVS_MODULE} ]] ; then
+ unpack ${A}
+ else
+ cvs_src_unpack
+ fi
+}
+
+src_prepare() {
+ cd tenebrae_0
+
+ sed -i \
+ -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}"/${PV}-glhax.patch \
+ "${FILESDIR}"/${P}-exec-stack.patch
+ cd linux
+ sed \
+ -e "/^LDFLAGS/s:=:+=:" \
+ -e "s:-mpentiumpro -O6:${CFLAGS}:" \
+ Makefile.i386linux > Makefile || die
+}
+
+src_compile() {
+ cd "${S}"/tenebrae_0/linux
+ emake MASTER_DIR="${GAMES_DATADIR}/quake1" build_release
+}
+
+src_install() {
+ newgamesbin tenebrae_0/linux/release*/bin/tenebrae.run tenebrae
+ insinto "${GAMES_DATADIR}/quake1/tenebrae"
+ doins "${WORKDIR}"/tenebrae/*
+ dodoc tenebrae_0/linux/README "${WORKDIR}"/Tenebrae_Readme.txt
+ prepgamesdirs
+}