games-fps/prboom: Stop using games.eclass
authorPacho Ramos <pacho@gentoo.org>
Tue, 1 May 2018 08:16:16 +0000 (10:16 +0200)
committerPacho Ramos <pacho@gentoo.org>
Tue, 1 May 2018 19:31:26 +0000 (21:31 +0200)
Package-Manager: Portage-2.3.31, Repoman-2.3.9

games-fps/prboom/files/prboom-2.5.0-libpng14.patch
games-fps/prboom/files/prboom-2.5.0-nvidia.patch
games-fps/prboom/prboom-2.5.0-r1.ebuild [new file with mode: 0644]

index d0e3c48299f073a9aeebbdccff1558997007fb00..3dea0e7a983b1c81ea6186084b6476bb128b9bb7 100644 (file)
@@ -1,7 +1,7 @@
 https://bugs.gentoo.org/show_bug.cgi?id=308739
 
---- src/SDL/i_sshot.c
-+++ src/SDL/i_sshot.c
+--- a/src/SDL/i_sshot.c
++++ b/src/SDL/i_sshot.c
 @@ -231,7 +231,7 @@
    if (fp)
    {
index 2b7aa9b32d464491a91f67016cdacf858fca2ea9..c602c784c13f84b0a458017bacdaf38d17bdad40 100644 (file)
@@ -1,5 +1,5 @@
---- 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
+--- 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
@@ -8,8 +8,8 @@
 +//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
+--- 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)
@@ -35,8 +35,8 @@
      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
+--- 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;
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 (file)
index 0000000..64e9895
--- /dev/null
@@ -0,0 +1,92 @@
+# 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 ${GAMES_DATADIR}/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
+       emake DESTDIR="${D}" install
+
+       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        
+}