summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--games-roguelike/angband/ChangeLog14
-rw-r--r--games-roguelike/angband/angband-3.2.0.ebuild109
-rw-r--r--games-roguelike/angband/files/angband-3.2.0-array.patch15
3 files changed, 136 insertions, 2 deletions
diff --git a/games-roguelike/angband/ChangeLog b/games-roguelike/angband/ChangeLog
index ecc2c4f5d6da..e17c100d8e2f 100644
--- a/games-roguelike/angband/ChangeLog
+++ b/games-roguelike/angband/ChangeLog
@@ -1,6 +1,16 @@
# ChangeLog for games-roguelike/angband
-# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/games-roguelike/angband/ChangeLog,v 1.34 2010/08/12 03:55:45 josejx Exp $
+# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/games-roguelike/angband/ChangeLog,v 1.35 2011/01/16 02:07:27 mr_bones_ Exp $
+
+ 16 Jan 2011; Michael Sterrett <mr_bones_@gentoo.org>
+ +angband-3.2.0.ebuild, +files/angband-3.2.0-array.patch:
+ version bump - ebuild submitted by Stephen Bridges via bug #350194
+
+*angband-3.2.0 (31 Dec 2010)
+
+ 31 Dec 2010; Michael Sterrett <mr_bones_@gentoo.org>
+ +angband-3.2.0.ebuild, +files/angband-3.2.0-array.patch:
+ version bump (bug #350194)
12 Aug 2010; Joseph Jezak <josejx@gentoo.org> angband-3.1.2_p2.ebuild:
Marked ppc stable for bug #315301.
diff --git a/games-roguelike/angband/angband-3.2.0.ebuild b/games-roguelike/angband/angband-3.2.0.ebuild
new file mode 100644
index 000000000000..3f6ff2de7a8d
--- /dev/null
+++ b/games-roguelike/angband/angband-3.2.0.ebuild
@@ -0,0 +1,109 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/games-roguelike/angband/angband-3.2.0.ebuild,v 1.1 2011/01/16 02:07:31 mr_bones_ Exp $
+
+EAPI=2
+inherit autotools eutils versionator games
+
+MAJOR_PV=$(get_version_component_range 1-2)
+MY_P=${P/_p/v}
+
+DESCRIPTION="A roguelike dungeon exploration game based on the books of J.R.R. Tolkien"
+HOMEPAGE="http://rephial.org/"
+SRC_URI="http://rephial.org/downloads/${MAJOR_PV}/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="gtk ncurses sdl +sound X"
+
+RDEPEND="gtk? ( gnome-base/libglade
+ x11-libs/pango
+ x11-libs/gtk+:2
+ dev-libs/glib:2 )
+ X? ( x11-libs/libSM
+ x11-libs/libX11 )
+ !ncurses? ( !X? ( !sdl? ( !gtk? ( sys-libs/ncurses ) ) ) )
+ sdl? ( media-libs/libsdl[video,X]
+ media-libs/sdl-ttf
+ media-libs/sdl-image
+ sound? ( media-libs/sdl-mixer
+ media-libs/libsdl[audio] ) )"
+DEPEND="${RDEPEND}
+ dev-util/pkgconfig"
+
+S=${WORKDIR}/${MY_P}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-array.patch
+ # The 3.2.0 tarball as of writing is dirty and has object files
+ # in it that foul the build process. Find is quicker than configuring
+ # twice.
+ find "${S}" -name '*.o' -exec rm -f '{}' +
+ eautoreconf || die
+}
+
+src_configure() {
+ local myconf
+
+ if use sdl; then
+ myconf="$(use_enable sound sdl-mixer)"
+ else
+ myconf="--disable-sdl-mixer"
+ fi
+
+ egamesconf \
+ --bindir="${GAMES_BINDIR}" \
+ --with-configpath="${GAMES_SYSCONFDIR}/${PN}" \
+ --with-libpath="${GAMES_DATADIR}/${PN}" \
+ --with-varpath="${GAMES_STATEDIR}/${PN}" \
+ --with-private-dirs \
+ $(use_enable X x11) \
+ $(use_enable gtk) \
+ $(use_enable sdl) \
+ $(use_enable ncurses curses) \
+ $( use !gtk && use !sdl && use !ncurses && use !X && \
+ echo --enable-curses) \
+ ${myconf}
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die
+
+ # Edit files are now system config files in Angband, but
+ # users will be hidden from applying updates by default
+ echo "CONFIG_PROTECT_MASK=\"${GAMES_SYSCONFDIR}/${PN}/edit/\"" \
+ > "${T}"/99${PN}
+ doenvd "${T}"/99${PN} || die
+
+ dodoc changes.txt faq.txt readme.txt thanks.txt || die
+
+ # Create desktop entries if required.
+ ICON_LOC="${GAMES_DATADIR}/${PN}/xtra/icon/att-32.png"
+ if use X; then
+ make_desktop_entry "angband -mx11" "Angband (X11)" "${ICON_LOC}" || die
+ fi
+
+ if use sdl; then
+ make_desktop_entry "angband -msdl" "Angband (SDL)" "${ICON_LOC}" || die
+ fi
+
+ if use gtk; then
+ make_desktop_entry "angband -mgtk" "Angband (GTK)" "${ICON_LOC}" || die
+ fi
+
+ use ncurses || rm -rf "${D}${GAMES_DATADIR}/${PN}/xtra/graf"
+ use sound || rm -rf "${D}${GAMES_DATADIR}/${PN}/xtra/sound"
+
+ prepgamesdirs
+}
+
+pkg_postinst() {
+ echo
+ elog "Angband now uses private savefiles instead of system-wide ones"
+ elog "This version of Angband is not compatible with the save files"
+ elog "of previous versions"
+ echo
+
+ games_pkg_postinst
+}
diff --git a/games-roguelike/angband/files/angband-3.2.0-array.patch b/games-roguelike/angband/files/angband-3.2.0-array.patch
new file mode 100644
index 000000000000..3638a76c5169
--- /dev/null
+++ b/games-roguelike/angband/files/angband-3.2.0-array.patch
@@ -0,0 +1,15 @@
+--- src/init2.c.orig 2010-12-31 12:47:48.270293037 -0500
++++ src/init2.c 2010-12-31 12:50:20.368081626 -0500
+@@ -2719,10 +2719,10 @@
+ if (sval < 0)
+ return PARSE_ERROR_UNRECOGNISED_SVAL;
+
+- for (i = 0; i <= MAX_START_ITEMS; i++)
++ for (i = 0; i < MAX_START_ITEMS; i++)
+ if (!c->start_items[i].min)
+ break;
+- if (i > MAX_START_ITEMS)
++ if (i >= MAX_START_ITEMS)
+ return PARSE_ERROR_TOO_MANY_ENTRIES;
+ c->start_items[i].kind = objkind_get(tval, sval);
+ c->start_items[i].min = parser_getuint(p, "min");