summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'games-roguelike/nethack/nethack-3.4.3-r2.ebuild')
-rw-r--r--games-roguelike/nethack/nethack-3.4.3-r2.ebuild189
1 files changed, 189 insertions, 0 deletions
diff --git a/games-roguelike/nethack/nethack-3.4.3-r2.ebuild b/games-roguelike/nethack/nethack-3.4.3-r2.ebuild
new file mode 100644
index 0000000..c8d754b
--- /dev/null
+++ b/games-roguelike/nethack/nethack-3.4.3-r2.ebuild
@@ -0,0 +1,189 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/games-roguelike/nethack/nethack-3.4.3-r1.ebuild,v 1.21 2008/03/07 20:15:59 wolf31o2 Exp $
+
+inherit eutils toolchain-funcs flag-o-matic games
+
+MY_PV=${PV//.}
+DESCRIPTION="The ultimate old-school single player dungeon exploration game"
+HOMEPAGE="http://www.nethack.org/"
+SRC_URI="mirror://sourceforge/nethack/${PN}-${MY_PV}-src.tgz"
+#SRC_URI="ftp://ftp.nethack.org/pub/nethack/nh340/src/nethack-340.tgz"
+
+LICENSE="nethack"
+SLOT="0"
+KEYWORDS="~amd64 ~hppa ~ppc ~sparc ~x86 ~x86-fbsd"
+IUSE="X qt3"
+
+RDEPEND="virtual/libc
+ >=sys-libs/ncurses-5.2-r5
+ X? (
+ x11-libs/libXaw
+ x11-libs/libXpm
+ x11-libs/libXt
+ )
+ qt3? ( =x11-libs/qt-3* )"
+DEPEND="${RDEPEND}
+ X? (
+ x11-proto/xproto
+ x11-apps/bdftopcf
+ x11-apps/mkfontdir
+ )"
+
+HACKDIR="${GAMES_DATADIR}/${PN}"
+GAMES_SCORES_FILES="${GAMES_STATEDIR}/${PN}/logfile
+ ${GAMES_STATEDIR}/${PN}/perm
+ ${GAMES_STATEDIR}/${PN}/record"
+
+
+src_unpack() {
+ unpack ${A}
+
+ # This copies the /sys/unix Makefile.*s to their correct places for
+ # seding and compiling.
+ cd "${S}/sys/unix"
+ source setup.sh || die
+
+ cd "${S}"
+ epatch \
+ "${FILESDIR}"/${PV}-gentoo-paths.patch \
+ "${FILESDIR}"/${PV}-default-options.patch \
+ "${FILESDIR}"/${PV}-bison.patch \
+ "${FILESDIR}"/${PV}-macos.patch
+
+ sed -i \
+ -e "s:GENTOO_STATEDIR:${GAMES_STATEDIR}/${PN}:" include/unixconf.h \
+ || die "setting statedir"
+ sed -i \
+ -e "s:GENTOO_HACKDIR:${HACKDIR}:" include/config.h \
+ || die "setting hackdir"
+ # set the default pager from the environment bug #52122
+ if [[ -n "${PAGER}" ]] ; then
+ sed -i \
+ -e "115c\#define DEF_PAGER \"${PAGER}\"" \
+ include/unixconf.h \
+ || die "setting statedir"
+ # bug #57410
+ sed -i \
+ -e "s/^DATNODLB =/DATNODLB = \$(DATHELP)/" Makefile \
+ || die "sed Makefile failed"
+ fi
+
+ if use X ; then
+ epatch "${FILESDIR}/${PV}-X-support.patch"
+ if use qt3 ; then
+ epatch "${FILESDIR}/${PV}-QT-support.patch"
+ fi
+ fi
+}
+
+src_compile() {
+ local qtver=
+ local lflags="-L/usr/X11R6/lib"
+
+ has_version =x11-libs/qt-3* \
+ && qtver=3 \
+ || qtver=2
+ cd "${S}"/src
+ append-flags -I../include
+
+ emake \
+ QTDIR=/usr/qt/${qtver} \
+ CC="$(tc-getCC)" \
+ CFLAGS="${CFLAGS}" \
+ LFLAGS="${lflags}" \
+ ../util/makedefs \
+ || die "initial makedefs build failed"
+ emake \
+ QTDIR=/usr/qt/${qtver} \
+ CC="$(tc-getCC)" \
+ CFLAGS="${CFLAGS}" \
+ LFLAGS="${lflags}" \
+ || die "main build failed"
+ cd "${S}"/util
+ emake CC="$(tc-getCC)" CFLAGS="${CFLAGS}" recover || die "util build failed"
+}
+
+src_install() {
+ make \
+ CC="$(tc-getCC)" \
+ CFLAGS="${CFLAGS}" \
+ LFLAGS="-L/usr/X11R6/lib" \
+ GAMEPERM=0755 \
+ GAMEUID="${GAMES_USER}" GAMEGRP="${GAMES_GROUP}" \
+ PREFIX="${D}/usr" \
+ GAMEDIR="${D}${HACKDIR}" \
+ SHELLDIR="${D}/${GAMES_BINDIR}" \
+ install \
+ || die "make install failed"
+
+ # We keep this stuff in ${GAMES_STATEDIR} instead so tidy up.
+ rm -rf "${D}/usr/share/games/nethack/save"
+
+ newgamesbin util/recover recover-nethack || die "newgamesbin failed"
+
+ # The final nethack is a sh script. This fixes the hard-coded
+ # HACKDIR directory so it doesn't point to ${D}/usr/share/nethackdir
+ sed -i \
+ -e "s:^\(HACKDIR=\).*:\1${HACKDIR}:" \
+ "${D}${GAMES_BINDIR}/nethack" \
+ || die "sed ${GAMES_BINDIR}/nethack failed"
+
+ doman doc/*.6
+ dodoc doc/*.txt
+
+ # Can be copied to ~/.nethackrc to set options
+ # Add this to /etc/.skel as well, thats the place for default configs
+ insinto "${HACKDIR}"
+ doins "${FILESDIR}/dot.nethackrc"
+
+ local windowtypes="tty"
+ use qt3 && windowtypes="${windowtypes} qt"
+ use X && windowtypes="${windowtypes} x11"
+ set -- ${windowtypes}
+ sed -i \
+ -e "s:GENTOO_WINDOWTYPES:${windowtypes}:" \
+ -e "s:GENTOO_DEFWINDOWTYPE:$1:" \
+ "${D}${HACKDIR}/dot.nethackrc" \
+ || die "sed ${HACKDIR}/dot.nethackrc failed"
+ insinto /etc/skel
+ newins "${D}/${HACKDIR}/dot.nethackrc" .nethackrc
+
+ if use X ; then
+ # install nethack fonts
+ cd "${S}/win/X11"
+ bdftopcf -o nh10.pcf nh10.bdf || die "Converting fonts failed"
+ bdftopcf -o ibm.pcf ibm.bdf || die "Converting fonts failed"
+ insinto "${HACKDIR}/fonts"
+ doins *.pcf
+ cd "${D}/${HACKDIR}/fonts"
+ mkfontdir || die "The action mkfontdir ${HACKDIR}/fonts failed"
+
+ # copy nethack x application defaults
+ cd "${S}/win/X11"
+ insinto /etc/X11/app-defaults
+ newins NetHack.ad NetHack || die "Failed to install NetHack X app defaults"
+ sed -i \
+ -e 's:^!\(NetHack.tile_file.*\):\1:' \
+ "${D}/etc/X11/app-defaults/NetHack" \
+ || die "sed /etc/X11/app-defaults/NetHack failed"
+ fi
+
+ local statedir="${GAMES_STATEDIR}/${PN}"
+ keepdir "${statedir}/save"
+ mv "${D}/${HACKDIR}/"{record,logfile,perm} "${D}/${statedir}/"
+ make_desktop_entry nethack "Nethack"
+
+ prepgamesdirs
+ chmod -R 660 "${D}/${statedir}"
+ chmod 770 "${D}/${statedir}" "${D}/${statedir}/save"
+}
+
+pkg_postinst() {
+ games_pkg_postinst
+ if use qt3 && has_version '=x11-libs/qt-3.1*' ; then
+ ewarn "the qt frontend may be a little unstable with this version of qt"
+ ewarn "please see Bug 32629 for more information"
+ fi
+ elog "You may want to look at /etc/skel/.nethackrc for interesting options"
+}