---- math.s
-+++ math.s
+--- a/math.s
++++ b/math.s
@@ -416,3 +416,6 @@
call C(BOPS_Error)
+#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
+#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
+#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
--- /dev/null
+--- 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):
--- /dev/null
+# 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
+}