summaryrefslogtreecommitdiff
path: root/games-fps/prboom
diff options
context:
space:
mode:
Diffstat (limited to 'games-fps/prboom')
-rw-r--r--games-fps/prboom/Manifest7
-rw-r--r--games-fps/prboom/files/prboom-2.5.0-libpng14.patch22
-rw-r--r--games-fps/prboom/files/prboom-2.5.0-nvidia-test.c3
-rw-r--r--games-fps/prboom/files/prboom-2.5.0-nvidia.patch48
-rw-r--r--games-fps/prboom/metadata.xml11
-rw-r--r--games-fps/prboom/prboom-2.5.0-r1.ebuild91
6 files changed, 182 insertions, 0 deletions
diff --git a/games-fps/prboom/Manifest b/games-fps/prboom/Manifest
new file mode 100644
index 000000000000..b558a0db3d4b
--- /dev/null
+++ b/games-fps/prboom/Manifest
@@ -0,0 +1,7 @@
+AUX prboom-2.5.0-libpng14.patch 547 BLAKE2B b159e7e2654aad0c9d37109c5d6919ca4cc5d29401f839c45690a73ce6b8391aa5ab4f4f1495d48635f87eca0c25b671ef60753ad636f8ee8be0bebd3db56c0b SHA512 0ecebc1f9b8db2662ba643ee36422f11152870e95305cd0e7fda351b4397df002ba8a770664be451fc86c46afd85bd7122aa3a1ed75901d48197accdf35464cf
+AUX prboom-2.5.0-nvidia-test.c 90 BLAKE2B 60afd518380bb119087a3ddde1ce1af2490a650184677e7720dd40be601c227ccf450d68bf1f8afaa54c62ff4272d4a7351b36d7eb1f000b19b48c68ef6f6a6e SHA512 2b864be0a40c213c4dfbef18b25db34ac62968f932f534dbe549019f0000ff7ce524e345740aff8c5b8aecdd2e5df9e42fef298d11f5d2366ad324c3003c4466
+AUX prboom-2.5.0-nvidia.patch 1746 BLAKE2B 94acec8ebe5a1ce554c257790ac1721c68e5adf8537acf600b0ea8b3d291f29d80bab1f689c3e1d436a86412f07479a23c231f610f313ae38d8cb101f9d9754b SHA512 f9f99aa310b82e467fda789630a156c6d96b0cf7ff65678365a4b466f5d9a98773daf529f79a35178cd127460199be589a443d9562932332a5a82f7804269592
+DIST prboom-2.5.0.tar.gz 1049505 BLAKE2B eb044c091279e04bfb65f9fea26bb706be213510b82a95ebe9d482a7c5d2c2ca5a51776afb3af6e8cebeba5df2441922f2298e52c54414b56e98e637c6feb544 SHA512 9e25b55047c66931ea010751fb64484e466395b04dfb738ed9dc515bd8b78e1124a337da33bf7be6e97280016ed1f01c852d8bc12704bdb82074488d7b5d2894
+DIST prboom.png 4254 BLAKE2B cf70f0ee9d41ad41c3f326b30a12df90f76fdb788d252b29bce1925ef253ec272feedc7040a8bf33146f313517afdc038c66324b9c671d90a7db89a5da2569db SHA512 72631d253c6754484ab1c96c953ed37a734197fa851dc88156fd3d4fb8396a77347805233481470b936a504d08e06d994de1eba613e6bf70a89db8fc7ee9b1ac
+EBUILD prboom-2.5.0-r1.ebuild 2010 BLAKE2B f1b0a15691446d91f2143ee808e1d0b285c5223607416936b50def2c304287d080427627e332482399252d6e8e1910821d947c75c40976aa9fb66ce04a717b15 SHA512 15b2d4337f9d9d9b4ad909a7096bc4b533988e7fe6f27f0852ecbb95f76f4833274d5092eaf48beb7ec24c5599bf5d95f84794f60d83d66a13bacd6961fd21df
+MISC metadata.xml 329 BLAKE2B 6c5388579683b49a47404b9f68b46ac1f1a67596bbb523a80fe247ec6fe48d3a4b59ea15aa7be0201879c5f8f050d1713cc2d8c28f128009ba92c8662f71a28f SHA512 a1c50442cb2fb1e0b536fd7b2402f74f4edf3a8edb0ff45ea6873cf24402fd5c37535006604e98b3c0073f9788763efaff2e51a91cd44b7fc37343549be87e80
diff --git a/games-fps/prboom/files/prboom-2.5.0-libpng14.patch b/games-fps/prboom/files/prboom-2.5.0-libpng14.patch
new file mode 100644
index 000000000000..3dea0e7a983b
--- /dev/null
+++ b/games-fps/prboom/files/prboom-2.5.0-libpng14.patch
@@ -0,0 +1,22 @@
+https://bugs.gentoo.org/show_bug.cgi?id=308739
+
+--- a/src/SDL/i_sshot.c
++++ b/src/SDL/i_sshot.c
+@@ -231,7 +231,7 @@
+ if (fp)
+ {
+ png_struct *png_ptr = png_create_write_struct(
+- PNG_LIBPNG_VER_STRING, png_error_ptr_NULL, error_fn, warning_fn);
++ PNG_LIBPNG_VER_STRING, NULL, error_fn, warning_fn);
+
+ if (png_ptr)
+ {
+@@ -279,7 +279,7 @@
+ break;
+ }
+ }
+- png_destroy_write_struct(&png_ptr, png_infopp_NULL);
++ png_destroy_write_struct(&png_ptr, NULL);
+ }
+ fclose(fp);
+ }
diff --git a/games-fps/prboom/files/prboom-2.5.0-nvidia-test.c b/games-fps/prboom/files/prboom-2.5.0-nvidia-test.c
new file mode 100644
index 000000000000..f9e4bd700f8a
--- /dev/null
+++ b/games-fps/prboom/files/prboom-2.5.0-nvidia-test.c
@@ -0,0 +1,3 @@
+#include <SDL/SDL_opengl.h>
+PFNGLCOLORTABLEEXTPROC glColorTableEXT;
+int main(){return 0;}
diff --git a/games-fps/prboom/files/prboom-2.5.0-nvidia.patch b/games-fps/prboom/files/prboom-2.5.0-nvidia.patch
new file mode 100644
index 000000000000..c602c784c13f
--- /dev/null
+++ b/games-fps/prboom/files/prboom-2.5.0-nvidia.patch
@@ -0,0 +1,48 @@
+--- a/src/gl_intern.h.orig 2003-09-21 16:39:30.247451624 -0400
++++ b/src/gl_intern.h 2003-09-21 16:39:41.610724144 -0400
+@@ -84,6 +84,6 @@
+ #define min(a,b) ((a)<(b)?(a):(b))
+ #endif
+
+-PFNGLCOLORTABLEEXTPROC gld_ColorTableEXT;
++//PFNGLCOLORTABLEEXTPROC gld_ColorTableEXT;
+
+ #endif // _GL_INTERN_H
+--- a/src/gl_main.c.orig 2003-09-21 16:39:55.436622288 -0400
++++ b/src/gl_main.c 2003-09-21 16:43:00.943420968 -0400
+@@ -285,6 +285,7 @@
+
+ if (strcasecmp(extension, "GL_EXT_texture_filter_anisotropic") == 0)
+ gl_texture_filter_anisotropic = true;
++/*
+ else if (strcasecmp(extension, "GL_EXT_paletted_texture") == 0) {
+ if (gl_use_paletted_texture) {
+ gl_paletted_texture = true;
+@@ -304,6 +305,7 @@
+ else
+ lprintf(LO_INFO,"using GL_EXT_shared_texture_palette\n",glGetString(GL_VENDOR));
+ }
++*/
+
+ extension = p;
+ } while (*extension != '\0');
+@@ -761,7 +763,7 @@
+ pal[transparent_pal_index*4+1]=0;
+ pal[transparent_pal_index*4+2]=0;
+ pal[transparent_pal_index*4+3]=0;
+- gld_ColorTableEXT(GL_SHARED_TEXTURE_PALETTE_EXT, GL_RGBA, 256, GL_RGBA, GL_UNSIGNED_BYTE, pal);
++// gld_ColorTableEXT(GL_SHARED_TEXTURE_PALETTE_EXT, GL_RGBA, 256, GL_RGBA, GL_UNSIGNED_BYTE, pal);
+ W_UnlockLumpName("PLAYPAL");
+ } else {
+ if (palette>0)
+--- a/src/gl_texture.c.orig 2003-09-21 16:43:18.450759448 -0400
++++ b/src/gl_texture.c 2003-09-21 16:43:39.549551944 -0400
+@@ -178,7 +178,7 @@
+ pal[transparent_pal_index*4+1]=0;
+ pal[transparent_pal_index*4+2]=0;
+ pal[transparent_pal_index*4+3]=0;
+- gld_ColorTableEXT(target, GL_RGBA, 256, GL_RGBA, GL_UNSIGNED_BYTE, pal);
++// gld_ColorTableEXT(target, GL_RGBA, 256, GL_RGBA, GL_UNSIGNED_BYTE, pal);
+ W_UnlockLumpName("PLAYPAL");
+ }
+
diff --git a/games-fps/prboom/metadata.xml b/games-fps/prboom/metadata.xml
new file mode 100644
index 000000000000..55dd7e52946f
--- /dev/null
+++ b/games-fps/prboom/metadata.xml
@@ -0,0 +1,11 @@
+<?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>
+ <upstream>
+ <remote-id type="sourceforge">prboom</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-fps/prboom/prboom-2.5.0-r1.ebuild b/games-fps/prboom/prboom-2.5.0-r1.ebuild
new file mode 100644
index 000000000000..9cb1017bc0a2
--- /dev/null
+++ b/games-fps/prboom/prboom-2.5.0-r1.ebuild
@@ -0,0 +1,91 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit desktop readme.gentoo-r1 toolchain-funcs
+
+DESCRIPTION="Port of ID's doom to SDL and OpenGL"
+HOMEPAGE="http://prboom.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz
+ mirror://gentoo/${PN}.png"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE=""
+
+RDEPEND="
+ media-libs/libsdl[joystick,video]
+ media-libs/sdl-mixer
+ media-libs/sdl-net
+ !<games-fps/lsdldoom-1.5
+ virtual/opengl
+ virtual/glu
+"
+DEPEND="${RDEPEND}"
+
+DISABLE_AUTOFORMATTING="yes"
+DOC_CONTENTS="
+To play the original Doom levels, place doom.wad and/or doom2.wad
+into /usr/share/doom-data
+Then run ${PN} accordingly.
+
+doom1.wad is the shareware demo wad consisting of 1 episode,
+and doom.wad is the full Doom 1 set of 3 episodes
+(or 4 in the Ultimate Doom wad).
+
+You can even emerge doom-data and/or freedoom to play for free.
+"
+
+src_prepare() {
+ default
+
+ ebegin "Detecting NVidia GL/prboom bug"
+ $(tc-getCC) "${FILESDIR}"/${P}-nvidia-test.c 2> /dev/null
+ local ret=$?
+ eend ${ret} "NVidia GL/prboom bug found ;("
+ [ ${ret} -eq 0 ] || eapply "${FILESDIR}"/${P}-nvidia.patch
+
+ eapply "${FILESDIR}"/${P}-libpng14.patch
+
+ sed -i \
+ -e '/^gamesdir/ s/\/games/\/bin/' \
+ src/Makefile.in \
+ || die "sed failed"
+ sed -i \
+ -e 's/: install-docDATA/:/' \
+ -e '/^SUBDIRS/ s/doc//' \
+ Makefile.in \
+ || die "sed failed"
+ sed -i \
+ -e 's:-ffast-math $CFLAGS_OPT::' \
+ configure \
+ || die "sed configure failed"
+}
+
+src_configure() {
+ # leave --disable-cpu-opt in otherwise the configure script
+ # will append -march=i686 and crap ... let the user's CFLAGS
+ # handle this ...
+ econf \
+ --enable-gl \
+ --disable-i386-asm \
+ --disable-cpu-opt \
+ --with-waddir="/usr/share/doom-data"
+}
+
+src_install() {
+ default
+
+ doman doc/*.{5,6}
+
+ dodoc doc/README.* doc/*.txt
+ readme.gentoo_create_doc
+
+ doicon "${DISTDIR}"/${PN}.png
+ make_desktop_entry ${PN} "PrBoom"
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+}