summaryrefslogtreecommitdiff
path: root/games-fps/industri
diff options
context:
space:
mode:
Diffstat (limited to 'games-fps/industri')
-rw-r--r--games-fps/industri/Manifest8
-rw-r--r--games-fps/industri/files/industri-1.01-exec-stack.patch36
-rw-r--r--games-fps/industri/files/industri-1.01-glext.patch18
-rw-r--r--games-fps/industri/files/industri-1.01-ldflags.patch20
-rw-r--r--games-fps/industri/files/industri.pretty2
-rw-r--r--games-fps/industri/industri-1.01.ebuild77
-rw-r--r--games-fps/industri/metadata.xml20
7 files changed, 181 insertions, 0 deletions
diff --git a/games-fps/industri/Manifest b/games-fps/industri/Manifest
new file mode 100644
index 000000000000..641cc08c2f07
--- /dev/null
+++ b/games-fps/industri/Manifest
@@ -0,0 +1,8 @@
+AUX industri-1.01-exec-stack.patch 642 BLAKE2B cc7ab05c14499a2075605bb2a3b818eed7b219e92b49d90ad777d74481387ac20cae3e85611e9150644ffdb99014c25aceb2c678889332ec4d97b1801f27824e SHA512 c23b38be46b3b692f7b04415b2893c9884d76e627910f9e93579c286e2142fd36bff0c335beffd541226920ce22dfbdb6ffc51537b42afe6d660466905c7be3e
+AUX industri-1.01-glext.patch 983 BLAKE2B 370d7c55d61e38716e84d0af84772b186312a46e12d3bcabf74e2a3d43708798ad7ffda2f1881e8355246ea67b0b7a5f4caddcfa3b5f670dca181e11d95b5e51 SHA512 0d17e3c54fdce139a25b9c51892cf7d9c9b04b0fe2d4f543cabdce141cfe321892dbc630f40ba3e75ffb1612f6c1df5d4108f95d3a06bce3b7f49601cbb2282a
+AUX industri-1.01-ldflags.patch 840 BLAKE2B a4187070a6205de7187cb606baf9e7ae7ab5332d6e4c53c24cc3329fbc29fdd4e10bcf3f340dca9f2df5abfa594b10e902a7625940a411df4cbbb102479dddce SHA512 fc45f5edb2dfabf8815186c66cf071f119cb0c83cd785fa3be083bbcb1be11c1c898f73f7b1b3d3af83c95daddbc0fe226cfaa0ed9c0b9776d718a10562b496e
+AUX industri.pretty 42 BLAKE2B 2a53501c32d6b88a2d56c3560a6f55b4fe62c53a5aa659854b0c2dc2e440bc36572dee3e11bde73bcda30c03e0532d3977e7a17810bd721571a13a74ce0d63e1 SHA512 4cd0732b3a9cc3a48a759b68b03c249c854ce90234984ca770f8e3fc61e7bd01651012d64320d9114eb4567ccab254b183af15bdce51dee25a71c35613013df1
+DIST industri-1.00.zip 30339989 BLAKE2B e673bef0e5b79a9081ffe48c9e106de8f3900c3e57d8a9af3f48942a2257305e58b74a41c0338f5349c0414847415547c5bb86c8f4c42a8f41adb7b8621215e0 SHA512 e0eea9d881819fbcc039d91ed613bb4603e76302c892ed315bf1535b023173b742f4b881dc345f9eaca255a5531e3afc5584c2da948a9c6127c9a815a6bfcae9
+DIST industri_BIN-1.01-src.tar.gz 1086838 BLAKE2B 82a88fc640834c8c56deb9a30ea36cfaf7a631b4d1773a4bde588b64b56ab1471f54975fc5a250546685201829a790fd334f973826372dfb32f1abc0a2c3a761 SHA512 023dfcc72faa685a042afcf66b21e040b21c881f3d936af9e4da3e7836320a262c014296ab6fa564d93038c34a106f70f7cc8dd760c6b79e11689df92bff3625
+EBUILD industri-1.01.ebuild 1837 BLAKE2B 28e1565e2214fe15a5b1cdcd480e7950c8454ab7cc2c60312a73c6f6a09456fce8874f61a88c3367175671166d6e2f45777e5aec23b3c7a753e4971f9660d707 SHA512 092ed982e86942cb9d81aef4f26d530b4385fcb0a70b2442a918f3ffb6aa40f561c7097d4c5e193ffccb2b6bc85b132ea7de4861d94b9db226b256956e000f6d
+MISC metadata.xml 753 BLAKE2B 58d04346b2529f24ebb8558c2ae7c15b0677f2c22951a0ecfb5367e706632b92a5c2e8196a2d010409214aa0da24b655c5a9b0055ff0cc144b8210ff4c257248 SHA512 fe652528480dd111ae034805ffe48a75682fef68562e8ad55218f0b41b3ab05fd99d1b33b0959a09ed3fad97fe66d8171efd8e79f5472956aa42ac3263e6f9b0
diff --git a/games-fps/industri/files/industri-1.01-exec-stack.patch b/games-fps/industri/files/industri-1.01-exec-stack.patch
new file mode 100644
index 000000000000..bc74e951fe6a
--- /dev/null
+++ b/games-fps/industri/files/industri-1.01-exec-stack.patch
@@ -0,0 +1,36 @@
+--- math.s
++++ math.s
+@@ -416,3 +416,6 @@
+ call C(BOPS_Error)
+
+ #endif // id386
++#if defined(__linux__) && defined(__ELF__)
++.section .note.GNU-stack,"",%progbits
++#endif
+--- snd_mixa.s
++++ 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
+@@ -93,3 +93,6 @@
+
+ ret
+
++#if defined(__linux__) && defined(__ELF__)
++.section .note.GNU-stack,"",%progbits
++#endif
+--- worlda.s
++++ worlda.s
+@@ -142,3 +142,6 @@
+
+ #endif // id386
+
++#if defined(__linux__) && defined(__ELF__)
++.section .note.GNU-stack,"",%progbits
++#endif
diff --git a/games-fps/industri/files/industri-1.01-glext.patch b/games-fps/industri/files/industri-1.01-glext.patch
new file mode 100644
index 000000000000..8a5042e431f2
--- /dev/null
+++ b/games-fps/industri/files/industri-1.01-glext.patch
@@ -0,0 +1,18 @@
+--- glquake.h.old 2011-04-29 12:36:53.000000000 +0200
++++ glquake.h 2011-04-29 12:44:39.000000000 +0200
+@@ -977,6 +977,7 @@
+ #define GL_MAP2_VERTEX_ATTRIB15_4_NV 0x867F
+
+ /* NV_vertex_program */
++#ifndef GL_NV_vertex_program
+ typedef GLboolean (APIENTRY * PFNGLAREPROGRAMSRESIDENTNVPROC) (GLsizei n, const GLuint *programs, GLboolean *residences);
+ typedef void (APIENTRY * PFNGLBINDPROGRAMNVPROC) (GLenum target, GLuint id);
+ typedef void (APIENTRY * PFNGLDELETEPROGRAMSNVPROC) (GLsizei n, const GLuint *programs);
+@@ -1040,6 +1041,7 @@
+ typedef void (APIENTRY * PFNGLVERTEXATTRIBS4FVNVPROC) (GLuint index, GLsizei count, const GLfloat *v);
+ typedef void (APIENTRY * PFNGLVERTEXATTRIBS4SVNVPROC) (GLuint index, GLsizei count, const GLshort *v);
+ typedef void (APIENTRY * PFNGLVERTEXATTRIBS4UBVNVPROC) (GLuint index, GLsizei count, const GLubyte *v);
++#endif
+
+ extern PFNGLAREPROGRAMSRESIDENTNVPROC qglAreProgramsResidentNV ;
+ extern PFNGLBINDPROGRAMNVPROC qglBindProgramNV ;
diff --git a/games-fps/industri/files/industri-1.01-ldflags.patch b/games-fps/industri/files/industri-1.01-ldflags.patch
new file mode 100644
index 000000000000..987d464f6b48
--- /dev/null
+++ b/games-fps/industri/files/industri-1.01-ldflags.patch
@@ -0,0 +1,20 @@
+--- linux/Makefile.old 2010-10-13 11:37:27.000000000 +0200
++++ linux/Makefile 2010-10-13 11:38:20.000000000 +0200
+@@ -42,7 +42,7 @@
+ RELEASE_CFLAGS = $(BASE_CFLAGS) -O2 -march=pentium4 -pipe -msse -mfpmath=sse \
+ -fomit-frame-pointer -fexpensive-optimizations
+ DEBUG_CFLAGS = $(BASE_CFLAGS) -g
+-LDFLAGS = -lm -ldl $(X11_LIBS) $(OPENGL_LIBS) $(PNG_LIBS) $(OPENAL_LIBS)
++LDLIBS = -lm -ldl $(X11_LIBS) $(OPENGL_LIBS) $(PNG_LIBS) $(OPENAL_LIBS)
+
+ DO_GL_CC = $(CC) $(CFLAGS) -o $@ -c $<
+ DO_GL_AS = $(CC) $(CFLAGS) -DELF -x assembler-with-cpp -o $@ -c $<
+@@ -156,7 +156,7 @@
+
+
+ $(BUILDDIR)/bin/industri.run : $(GLQUAKE_OBJS)
+- $(CC) $(CFLAGS) -o $@ $(GLQUAKE_OBJS) $(LDFLAGS)
++ $(CC) $(LDFLAGS) $(CFLAGS) -o $@ $(GLQUAKE_OBJS) $(LDLIBS)
+
+ $(BUILDDIR)/glquake/cl_demo.o : $(MOUNT_DIR)/cl_demo.c
+ $(DO_GL_CC)
diff --git a/games-fps/industri/files/industri.pretty b/games-fps/industri/files/industri.pretty
new file mode 100644
index 000000000000..b328c803b9df
--- /dev/null
+++ b/games-fps/industri/files/industri.pretty
@@ -0,0 +1,2 @@
+#!/bin/sh
+exec industri +sh_glares 1 "$@"
diff --git a/games-fps/industri/industri-1.01.ebuild b/games-fps/industri/industri-1.01.ebuild
new file mode 100644
index 000000000000..70c8dba417f3
--- /dev/null
+++ b/games-fps/industri/industri-1.01.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit eutils toolchain-funcs games
+
+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"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~x86"
+IUSE="cdinstall"
+
+RDEPEND="virtual/opengl
+ x11-libs/libXxf86dga
+ x11-libs/libXext
+ x11-libs/libX11
+ x11-libs/libXxf86vm
+ media-libs/libpng:0
+ cdinstall? ( games-fps/quake1-data )"
+DEPEND="${RDEPEND}
+ x11-base/xorg-proto
+ app-arch/unzip"
+
+S=${WORKDIR}/industri_BIN
+
+src_prepare() {
+ mv linux/Makefile{.i386linux,}
+ sed -i -e "s:-mpentiumpro.*:${CFLAGS} \\\\:" linux/Makefile || die
+
+ # Remove duplicated typedefs #71841
+ for typ in PFNGLFLUSHVERTEXARRAYRANGEAPPLEPROC PFNGLVERTEXARRAYRANGEAPPLEPROC ; do
+ if echo '#include <GL/gl.h>' | $(tc-getCC) -E - 2>/dev/null | grep -sq ${typ} ; then
+ sed -i \
+ -e "/^typedef.*${typ}/d" \
+ glquake.h || die
+ fi
+ done
+
+ 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}"/${P}-exec-stack.patch \
+ "${FILESDIR}"/${P}-ldflags.patch \
+ "${FILESDIR}"/${P}-glext.patch
+}
+
+src_compile() {
+ emake \
+ -C linux \
+ MASTER_DIR="${GAMES_DATADIR}"/quake1 \
+ build_release
+}
+
+src_install() {
+ newgamesbin linux/release*/bin/industri.run industri
+ dogamesbin "${FILESDIR}"/industri.pretty
+ insinto /usr/share/icons
+ doins industri.ico quake.ico
+ dodoc linux/README
+ cd "${WORKDIR}"/${PN}
+ dodoc *.txt
+ insinto "${GAMES_DATADIR}"/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."
+ fi
+}
diff --git a/games-fps/industri/metadata.xml b/games-fps/industri/metadata.xml
new file mode 100644
index 000000000000..4ed41644ffca
--- /dev/null
+++ b/games-fps/industri/metadata.xml
@@ -0,0 +1,20 @@
+<?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>
+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>
+ <upstream>
+ <remote-id type="sourceforge">industri</remote-id>
+ </upstream>
+</pkgmetadata>