summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'games-roguelike/zangband')
-rw-r--r--games-roguelike/zangband/Manifest1
-rw-r--r--games-roguelike/zangband/files/zangband-2.7.4c-configure.patch51
-rw-r--r--games-roguelike/zangband/files/zangband-2.7.4c-makefile.patch29
-rw-r--r--games-roguelike/zangband/files/zangband-2.7.4c-rng.patch11
-rw-r--r--games-roguelike/zangband/files/zangband-2.7.4c-tk85.patch19
-rw-r--r--games-roguelike/zangband/metadata.xml5
-rw-r--r--games-roguelike/zangband/zangband-2.7.4c.ebuild63
7 files changed, 179 insertions, 0 deletions
diff --git a/games-roguelike/zangband/Manifest b/games-roguelike/zangband/Manifest
new file mode 100644
index 00000000000..fd1834b1abc
--- /dev/null
+++ b/games-roguelike/zangband/Manifest
@@ -0,0 +1 @@
+DIST zangband-2.7.4c.tar.gz 2821355 SHA256 3033fc52d0daab6098394a8caaa6572ba64585d7b9deb62800328ca7ba592cdc SHA512 491dfeb72b6eb34f7feaa45d5360014da8eaeccd173dd75b3f7a1c2034e4fb634817493957b75babc0d9600077a80d88529cf2e86769948fc86d05e59958356e WHIRLPOOL 4a6cb2cdcb27449d4f1967c1e502cf111aa703b19ed77b2285a63f4cbd7ed70bb081a30a5d95ca3268c7b65bd975ef6b67179b92cd7357da59dc9e63291986f0
diff --git a/games-roguelike/zangband/files/zangband-2.7.4c-configure.patch b/games-roguelike/zangband/files/zangband-2.7.4c-configure.patch
new file mode 100644
index 00000000000..756ea757845
--- /dev/null
+++ b/games-roguelike/zangband/files/zangband-2.7.4c-configure.patch
@@ -0,0 +1,51 @@
+--- configure.in.orig
++++ configure.in
+@@ -236,48 +236,5 @@
+ AC_CHECK_FUNCS([Tk_SetClassProcs TkpSync])
+ AC_CHECK_FUNCS([mkstemp usleep getpwuid getpwnam shmget])
+
+-dnl A nice function to test compiler options (like warnings)
+-AC_DEFUN(AC_CHECK_CC_OPT,
+-[FLAG=`echo zangband_cv_cflag_$1 | sed s/-/_/g`
+-AC_CACHE_CHECK([whether ${CC-cc} accepts $1],
+-[$FLAG],
+-[echo 'void f(void); void f(){}' > conftest.c
+-if test -z "`${CC-cc} -c ${CFLAGS} $1 conftest.c 2>&1`"; then
+- eval $FLAG=yes
+-else
+- eval $FLAG=no
+-fi])
+-if test ${!FLAG} = yes ; then
+- CFLAGS="$1 $CFLAGS"
+-fi
+-])
+-
+-dnl Check for lots of extra warning options
+-AC_CHECK_CC_OPT(-pedantic)
+-AC_CHECK_CC_OPT(-W)
+-AC_CHECK_CC_OPT(-Wall)
+-AC_CHECK_CC_OPT(-Wmissing-prototypes)
+-AC_CHECK_CC_OPT(-Wmissing-declarations)
+-AC_CHECK_CC_OPT(-Wno-long-long)
+-AC_CHECK_CC_OPT(-Wwrite-strings)
+-AC_CHECK_CC_OPT(-Wpointer-arith)
+-AC_CHECK_CC_OPT(-Wbad-function-cast)
+-AC_CHECK_CC_OPT(-Waggregate-return)
+-AC_CHECK_CC_OPT(-Wstrict-prototypes)
+-AC_CHECK_CC_OPT(-Wredundant-decls)
+-dnl AC_CHECK_CC_OPT(-Wunreachable-code)
+-AC_CHECK_CC_OPT(-Wchar-subscripts)
+-AC_CHECK_CC_OPT(-Wimplicit)
+-AC_CHECK_CC_OPT(-Wparentheses)
+-AC_CHECK_CC_OPT(-Wsequence-point)
+-AC_CHECK_CC_OPT(-Wreturn-type)
+-AC_CHECK_CC_OPT(-Wswitch)
+-AC_CHECK_CC_OPT(-Wunused)
+-AC_CHECK_CC_OPT(-Wuninitialized)
+-AC_CHECK_CC_OPT(-Wundef)
+-AC_CHECK_CC_OPT(-Wnested-externs)
+-AC_CHECK_CC_OPT(-Wdeclaration-after-statement)
+-AC_CHECK_CC_OPT(-Wsign-compare)
+-
+ AC_CONFIG_FILES([makefile])
+ AC_OUTPUT
diff --git a/games-roguelike/zangband/files/zangband-2.7.4c-makefile.patch b/games-roguelike/zangband/files/zangband-2.7.4c-makefile.patch
new file mode 100644
index 00000000000..bae74904cf0
--- /dev/null
+++ b/games-roguelike/zangband/files/zangband-2.7.4c-makefile.patch
@@ -0,0 +1,29 @@
+--- makefile.in.orig
++++ makefile.in
+@@ -111,17 +111,6 @@
+ %.o: %.c
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) $< -c -o $@ $(DEFS)
+
+-##
+-## Hack - make sure the build system is consistant.
+-##
+-makefile: configure makefile.in
+- $(CONFIGURE)
+-
+-configure: configure.in
+- aclocal
+- autoheader
+- autoconf
+-
+ dirs:
+ -mkdir $(DESTDIR)
+ -mkdir $(addprefix $(DESTDIR),$(filter-out $(srcdirlist), $(dirlist)))
+@@ -205,7 +194,7 @@
+ @echo $(srcdirlist) $(srcfiles)
+
+ # Hack to remake files depending on DEFAULT_PATH
+-.default_path: makefile
++.default_path:
+ @if [ ! -r .default_path ]; then \
+ echo "$(DESTDIR)" > .default_path; \
+ fi
diff --git a/games-roguelike/zangband/files/zangband-2.7.4c-rng.patch b/games-roguelike/zangband/files/zangband-2.7.4c-rng.patch
new file mode 100644
index 00000000000..4ac1b101dc8
--- /dev/null
+++ b/games-roguelike/zangband/files/zangband-2.7.4c-rng.patch
@@ -0,0 +1,11 @@
+--- zangband/src/z-rand.c
++++ zangband/src/z-rand.c
+@@ -168,7 +168,7 @@
+ r = (Rand_state[j] += Rand_state[Rand_place]);
+
+ /* Hack -- extract a 28-bit "random" number */
+- r = (r >> 4) / n;
++ r = ((r >> 4) & 0x0FFFFFFF) / n;
+
+ /* Advance the index */
+ Rand_place = j;
diff --git a/games-roguelike/zangband/files/zangband-2.7.4c-tk85.patch b/games-roguelike/zangband/files/zangband-2.7.4c-tk85.patch
new file mode 100644
index 00000000000..73ea2ab5f9d
--- /dev/null
+++ b/games-roguelike/zangband/files/zangband-2.7.4c-tk85.patch
@@ -0,0 +1,19 @@
+--- configure.in.orig
++++ configure.in
+@@ -141,12 +141,12 @@
+ ])
+
+ if test "x$with_tcltk" != "xno" ; then
+- AC_SEARCH_LIBS([Tcl_Init], [tcl84 tcl8.4 tcl83 tcl8.3],
+- AC_SEARCH_LIBS([Tk_Init], [tk84 tk8.4 tk83 tk8.3],
+- [AC_SEARCH_HEADERS(/usr/local/include/tcl.h /usr/local/include/tcl/tcl.h /usr/include/tcl.h /usr/include/tcl8.4/tcl.h /usr/local/include/tcl8.4/tcl.h /usr/include/tcl8.3/tcl.h /usr/local/include/tcl8.3/tcl.h
++ AC_SEARCH_LIBS([Tcl_Init], [tcl86 tcl8.6 tcl85 tcl8.5 tcl84 tcl8.4 tcl83 tcl8.3],
++ AC_SEARCH_LIBS([Tk_Init], [tk86 tk8.6 tk85 tk8.5 tk84 tk8.4 tk83 tk8.3],
++ [AC_SEARCH_HEADERS(/usr/local/include/tcl.h /usr/local/include/tcl/tcl.h /usr/include/tcl.h /usr/include/tcl8.5/tcl.h /usr/include/tcl8.4/tcl.h /usr/local/include/tcl8.4/tcl.h /usr/include/tcl8.3/tcl.h /usr/local/include/tcl8.3/tcl.h
+ ,BASE_TCL_DIR)
+
+- AC_SEARCH_HEADERS("$BASE_TCL_DIR/tk.h" /usr/local/include/tk.h /usr/local/include/tcl/tk.h /usr/include/tk.h /usr/include/tk8.4/tk.h /usr/local/include/tk8.4/tk.h /usr/include/tk8.3/tk.h /usr/local/include/tk8.3/tk.h
++ AC_SEARCH_HEADERS("$BASE_TCL_DIR/tk.h" /usr/local/include/tk.h /usr/local/include/tcl/tk.h /usr/include/tk.h /usr/include/tk8.6/tk.h /usr/include/tk8.5/tk.h /usr/include/tk8.4/tk.h /usr/local/include/tk8.4/tk.h /usr/include/tk8.3/tk.h /usr/local/include/tk8.3/tk.h
+ ,BASE_TK_DIR)
+
+ dnl Checks for libraries.
diff --git a/games-roguelike/zangband/metadata.xml b/games-roguelike/zangband/metadata.xml
new file mode 100644
index 00000000000..d3c2cc926f0
--- /dev/null
+++ b/games-roguelike/zangband/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>games</herd>
+</pkgmetadata>
diff --git a/games-roguelike/zangband/zangband-2.7.4c.ebuild b/games-roguelike/zangband/zangband-2.7.4c.ebuild
new file mode 100644
index 00000000000..cea114a98d5
--- /dev/null
+++ b/games-roguelike/zangband/zangband-2.7.4c.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools eutils games
+
+DESCRIPTION="An enhanced version of the Roguelike game Angband"
+HOMEPAGE="http://www.zangband.org/"
+SRC_URI="ftp://ftp.sunet.se/pub/games/Angband/Variant/ZAngband/${P}.tar.gz"
+
+LICENSE="Moria"
+SLOT="0"
+KEYWORDS="amd64 ppc x86 ~x86-fbsd"
+IUSE="tk"
+
+RDEPEND="
+ tk? (
+ dev-lang/tcl:0=
+ dev-lang/tk:0=
+ )
+ x11-libs/libXaw"
+DEPEND="${RDEPEND}
+ x11-proto/xextproto"
+
+S=${WORKDIR}/${PN}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-tk85.patch \
+ "${FILESDIR}"/${P}-rng.patch \
+ "${FILESDIR}"/${P}-configure.patch \
+ "${FILESDIR}"/${P}-makefile.patch
+ mv configure.in configure.ac || die
+ eautoreconf
+}
+
+src_configure() {
+ egamesconf \
+ --datadir="${GAMES_DATADIR_BASE}" \
+ --with-setgid="${GAMES_GROUP}" \
+ --without-gtk \
+ $(use_with tk tcltk)
+}
+
+src_install() {
+ # Keep some important dirs we want to chmod later
+ keepdir "${GAMES_DATADIR}"/${PN}/lib/{apex,user,save,bone,info,xtra/help,xtra/music}
+
+ # Install the basic files but remove unneeded crap
+ emake DESTDIR="${D}/${GAMES_DATADIR}"/${PN}/ installbase
+ rm "${D}${GAMES_DATADIR}"/${PN}/{angdos.cfg,readme,z_faq.txt,z_update.txt}
+
+ # Install everything else and fix the permissions
+ dogamesbin zangband
+ dodoc readme z_faq.txt z_update.txt
+ find "${D}${GAMES_DATADIR}/zangband/lib" -type f -exec chmod a-x \{\} +
+
+ prepgamesdirs
+ # All users in the games group need write permissions to
+ # some important dirs
+ fperms -R g+w "${GAMES_DATADIR}"/zangband/lib/{apex,data,save,user}
+}