summaryrefslogtreecommitdiff
path: root/games-fps/prboom
diff options
context:
space:
mode:
Diffstat (limited to 'games-fps/prboom')
-rw-r--r--games-fps/prboom/Manifest9
-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.ebuild79
6 files changed, 172 insertions, 0 deletions
diff --git a/games-fps/prboom/Manifest b/games-fps/prboom/Manifest
new file mode 100644
index 000000000000..989f1a27c9a5
--- /dev/null
+++ b/games-fps/prboom/Manifest
@@ -0,0 +1,9 @@
+AUX prboom-2.5.0-libpng14.patch 543 SHA256 da7f5d63600db223d3f27dcd18e2eb7a0f4be2cb7f83683d4c3a743ee28e3152 SHA512 84d7b6cb8f8887443b74904a906eb37d08c3a90a96be2c115edaea280a72aeec851964f475fc2a1689a286ee5de481f150a71f952452b590562b912b8f782dce WHIRLPOOL aad89626aba29e65c73e1d974292bf444e5bc8d74db54b363aa2f6847e1beb527f2452e54841db2a1a98a407f66bfeb6fd34ad557adc7952214e26b685ca98ac
+AUX prboom-2.5.0-nvidia-test.c 90 SHA256 5df0930928328c700cafba8ac3367dc799118dddcd16d71d2bb0d65eb3a2d185 SHA512 2b864be0a40c213c4dfbef18b25db34ac62968f932f534dbe549019f0000ff7ce524e345740aff8c5b8aecdd2e5df9e42fef298d11f5d2366ad324c3003c4466 WHIRLPOOL d5b5825310562b626aabb61b7f8363bc7926a5ee42efe13d5a0253ca3839c15144b7e1750d7c8159807d4cc337bbb6e030388ca3fd07b3336caffc89dec50dea
+AUX prboom-2.5.0-nvidia.patch 1734 SHA256 db77ce8107f97f2886d89c53777b2f9c7ef5e2559dcdd4ea455f3cf0ae2491fe SHA512 d3048ea2f500c6bbfb1e24c75fdc05dbe0f6fbf8d8e71a37aec0f30c6c6ca97a9bc193dee60de3083df15320660908f97bb90fde795cb1d07e3877d27d4a55ea WHIRLPOOL 0b632aa835adf0818fb58ee0c59f6c9196dfab5757bdfca3849c6939ff1116c4f30352bc3417571b5a758836ead94b87f40dbd844c6430796cae33d5e1bceba4
+DIST prboom-2.5.0.tar.gz 1049505 SHA256 226c1c470f8cc983327536404f405a1d026cf0a5188c694a1243cc8630014bae SHA512 9e25b55047c66931ea010751fb64484e466395b04dfb738ed9dc515bd8b78e1124a337da33bf7be6e97280016ed1f01c852d8bc12704bdb82074488d7b5d2894 WHIRLPOOL 1aa458514266c107a5c4883b970cdaac157ded0ef4348e6666647e9426a8f28c4c98ff32de93be20c3d0dc3dd740d725e3c4bd9c767bb0aa3c3f7752a719a5a8
+DIST prboom.png 4254 SHA256 ed79c4712b57b0c5e8ef975412e22d6936fa4b62657707e8f1cda63302008542 SHA512 72631d253c6754484ab1c96c953ed37a734197fa851dc88156fd3d4fb8396a77347805233481470b936a504d08e06d994de1eba613e6bf70a89db8fc7ee9b1ac WHIRLPOOL b7e91c2b43ea57951dfcf0ed2b9916c8053d75d0119965079c2806ba1d9a9c13e36506dd65cd82e01e1e2f64b276dbe0bac2c2eaf2a3f80a26ab777feeeca75e
+EBUILD prboom-2.5.0.ebuild 2025 SHA256 981d6e54455ebbb53e5914b31667b9937bdbcabbb59c135624f47cd256d51cd4 SHA512 2b1b9c8c29f32e160d309a173126097d249ae5e7291e82837e5516cf2d8f42a94ad070c7d429165c8864f46e4a7b5301efff6ef8d47dfbad13f7ee238a0b4af1 WHIRLPOOL 380816b61c1e6a3d802e27e999bca79f3c279054b02f3d127c87d6037427ec8767d9cea09c965ffc2169af5174eb655d719f4a551686132f190f91912b56d8f6
+MISC ChangeLog 2532 SHA256 05770314a56b52b01d7fc5474be8b216f854f27f84960a5ff34ebf7582e901f4 SHA512 2cc645e76276719167ceb865ac67262b260eefb26f7740a84d8ef9324591d11c0c8a90d59b70e25062cc532c924ab4451f51a066c8e27713126244ef135501d0 WHIRLPOOL 4f750d13de0e95eda899db60d5c5f9db9a697b3a90d927a7af001eb0e4073be4add5deff2bb826a6d99185794c9ad7ff750aa33f4d9651eadf6ec405d0c40376
+MISC ChangeLog-2015 6279 SHA256 0718b023775f26384cdd28f9fb784025e035f890f16b5c4e0c10f9edf632d89d SHA512 981a43e56318c71e0dbdb139b7e6023cdd7026a08370eedcd53e69c7306e08796890f8de1fcb3d683e1964839df9fa3435a0ae9489111c0a08d6f337a89de623 WHIRLPOOL 75a54f9c52d420cf8a931b00413826a17d5e81600b35e703979d48e1cf5f48788368e826349a333f8e55eb4ad0de8760f2706446e088658fa1851a2f45acfa27
+MISC metadata.xml 329 SHA256 2bb374403dd9f5f2cd3d6f26409054f84bf31f384444bcfebfaf46153bd88580 SHA512 a1c50442cb2fb1e0b536fd7b2402f74f4edf3a8edb0ff45ea6873cf24402fd5c37535006604e98b3c0073f9788763efaff2e51a91cd44b7fc37343549be87e80 WHIRLPOOL d7522131155f7bfe619d69c936e18996d28a66b2846f4e6943f5bf05aff1a6a23ae960293080f495a3e8abd62657727054cb1ff308415583fd9977874d0cd54d
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..d0e3c48299f0
--- /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
+
+--- src/SDL/i_sshot.c
++++ 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..2b7aa9b32d46
--- /dev/null
+++ b/games-fps/prboom/files/prboom-2.5.0-nvidia.patch
@@ -0,0 +1,48 @@
+--- src/gl_intern.h.orig 2003-09-21 16:39:30.247451624 -0400
++++ 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
+--- src/gl_main.c.orig 2003-09-21 16:39:55.436622288 -0400
++++ 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)
+--- src/gl_texture.c.orig 2003-09-21 16:43:18.450759448 -0400
++++ 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.ebuild b/games-fps/prboom/prboom-2.5.0.ebuild
new file mode 100644
index 000000000000..c5e44d420eef
--- /dev/null
+++ b/games-fps/prboom/prboom-2.5.0.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit eutils toolchain-funcs games
+
+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=""
+
+DEPEND="media-libs/libsdl[joystick,video]
+ media-libs/sdl-mixer
+ media-libs/sdl-net
+ !<games-fps/lsdldoom-1.5
+ virtual/opengl
+ virtual/glu"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ 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 ] || epatch "${FILESDIR}"/${P}-nvidia.patch
+ epatch "${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 ...
+ egamesconf \
+ --enable-gl \
+ --disable-i386-asm \
+ --disable-cpu-opt \
+ --with-waddir="${GAMES_DATADIR}/doom-data"
+}
+
+src_install() {
+ default
+ emake DESTDIR="${D}" install
+ doman doc/*.{5,6}
+ dodoc doc/README.* doc/*.txt
+ doicon "${DISTDIR}"/${PN}.png
+ make_desktop_entry ${PN} "PrBoom"
+ prepgamesdirs
+}
+
+pkg_postinst() {
+ games_pkg_postinst
+ elog "To play the original Doom levels, place doom.wad and/or doom2.wad"
+ elog "into ${GAMES_DATADIR}/doom-data"
+ elog "Then run ${PN} accordingly."
+ elog
+ elog "doom1.wad is the shareware demo wad consisting of 1 episode,"
+ elog "and doom.wad is the full Doom 1 set of 3 episodes"
+ elog "(or 4 in the Ultimate Doom wad)."
+ elog
+ elog "You can even emerge doom-data and/or freedoom to play for free."
+}