diff options
Diffstat (limited to 'games-roguelike/nethack/nethack-3.4.2.ebuild')
-rw-r--r-- | games-roguelike/nethack/nethack-3.4.2.ebuild | 141 |
1 files changed, 141 insertions, 0 deletions
diff --git a/games-roguelike/nethack/nethack-3.4.2.ebuild b/games-roguelike/nethack/nethack-3.4.2.ebuild new file mode 100644 index 000000000000..964553723c5a --- /dev/null +++ b/games-roguelike/nethack/nethack-3.4.2.ebuild @@ -0,0 +1,141 @@ +# Copyright 1999-2003 Gentoo Technologies, Inc. +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/games-roguelike/nethack/nethack-3.4.2.ebuild,v 1.1 2003/09/15 06:55:29 vapier Exp $ + +inherit games eutils flag-o-matic gcc +append-flags -I../include + +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}.tgz" +#SRC_URI="ftp://ftp.nethack.org/pub/nethack/nh340/src/nethack-340.tgz" + +KEYWORDS="x86 ppc" +SLOT="0" +LICENSE="nethack" +IUSE="X qt gnome" + +DEPEND="virtual/glibc + dev-util/yacc + >=sys-libs/ncurses-5.2-r5 + X? ( x11-base/xfree ) + qt? ( x11-libs/qt ) + gnome? ( >=gnome-base/gnome-libs-1.4.1.4-r2 )" + +HACKDIR=${GAMES_DATADIR}/${PN} + +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 + epatch ${FILESDIR}/${PV}-errno.patch + epatch ${FILESDIR}/${PV}-default-options.patch + + sed -i "s:GENTOO_STATEDIR:${GAMES_STATEDIR}/${PN}:" include/unixconf.h || die "setting statedir" + sed -i "s:GENTOO_HACKDIR:${HACKDIR}:" include/config.h || die "seting hackdir" + + if [ `use X` ] ; then + epatch ${FILESDIR}/${PV}-X-support.patch + if [ `use qt` ] ; then + epatch ${FILESDIR}/${PV}-QT-support.patch + [ `use gnome` ] && epatch ${FILESDIR}/${PV}-QT-GNOME-support.patch + elif [ `use gnome` ] ; then + epatch ${FILESDIR}/${PV}-GNOME-support.patch + fi + fi +} + +src_compile() { + local qtver= + has_version =x11-libs/qt-3* \ + && qtver=3 \ + || qtver=2 + cd ${S}/src + make \ + QTDIR=/usr/qt/${qtver} \ + CC="$(gcc-getCC)" \ + CFLAGS="${CFLAGS}" \ + LFLAGS="-L/usr/X11R6/lib" \ + || die + cd ${S}/util + make CFLAGS="${CFLAGS}" recover || die +} + +src_install() { + make \ + CC="$(gcc-getCC)" \ + CFLAGS="${CFLAGS}" \ + LFLAGS="-L/usr/X11R6/lib" \ + GAMEPERM=0755 \ + PREFIX=${D}/usr \ + GAMEDIR=${D}${HACKDIR} \ + SHELLDIR=${D}/${GAMES_BINDIR} \ + install \ + || die "make install failed" + newgamesbin util/recover recover-nethack + + # The final nethack is a sh script. This fixes the hard-coded + # HACKDIR directory so it doesn't point to ${D}/usr/share/nethackdir + dosed "s:^\(HACKDIR=\).*:\1${HACKDIR}:" ${GAMES_BINDIR}/nethack + + 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 gnome` ] && windowtypes="${windowtypes} gnome" + [ `use qt` ] && windowtypes="${windowtypes} qt" + [ `use X` ] && windowtypes="${windowtypes} x11" + set -- ${windowtypes} + dosed "s:GENTOO_WINDOWTYPES:${windowtypes}:" ${HACKDIR}/dot.nethackrc + dosed "s:GENTOO_DEFWINDOWTYPE:$1:" ${HACKDIR}/dot.nethackrc + 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 ${D}${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" + dosed 's:^!\(NetHack.tile_file.*\):\1:' /etc/X11/app-defaults/NetHack + fi + + # make sure we dont overwrite previous settings #16428 + local statedir=${GAMES_STATEDIR}/${PN} + dodir ${statedir} + mv ${D}/${HACKDIR}/{record,logfile,perm} ${D}/${statedir}/ + for f in record logfile perm ; do + [ ! -e ${statedir}/${f} ] && continue + mv ${D}/${statedir}/${f}{,.sample} + done + keepdir ${statedir}/save + + prepgamesdirs + chmod -R 660 ${D}/${statedir} + chmod 770 ${D}/${statedir} ${D}/${statedir}/save +} + +pkg_postinst() { + games_pkg_postinst + einfo "you may want to look at /etc/skel/.nethackrc for interesting options" +} |