commit:     9af53ae73a7c59bb5966b4e3badf9e75777c64cb
Author:     Chris Gianelloni <wolf31o2 <AT> gentoo <DOT> org>
AuthorDate: Thu Mar 13 20:13:27 2008 +0000
Commit:     Pavlos Ratis <dastergon <AT> gentoo <DOT> org>
CommitDate: Thu Mar 13 20:13:27 2008 +0000
URL:        
http://git.overlays.gentoo.org/gitweb/?p=proj/games.git;a=commit;h=9af53ae7

Added games-roguelike/nethack ebuild which uses GAMES_SCORES_FILES for testing 
for bug #125902 and added a new games.eclass which uses GAMES_SCORES_FILES.

svn path=/; revision=2

---
 eclass/games.eclass                                | 255 +++++++++++++++++++++
 games-roguelike/nethack/ChangeLog                  | 195 ++++++++++++++++
 games-roguelike/nethack/Manifest                   |  13 ++
 .../nethack/files/3.4.3-GNOME-support.patch        |  28 +++
 .../nethack/files/3.4.3-QT-GNOME-support.patch     |  30 +++
 .../nethack/files/3.4.3-QT-support.patch           |  20 ++
 .../nethack/files/3.4.3-X-support.patch            |  26 +++
 games-roguelike/nethack/files/3.4.3-bison.patch    |  18 ++
 .../nethack/files/3.4.3-default-options.patch      |  29 +++
 .../nethack/files/3.4.3-gentoo-paths.patch         |  18 ++
 games-roguelike/nethack/files/3.4.3-macos.patch    |  11 +
 games-roguelike/nethack/files/dot.nethackrc        |  92 ++++++++
 games-roguelike/nethack/metadata.xml               |   5 +
 games-roguelike/nethack/nethack-3.4.3-r2.ebuild    | 189 +++++++++++++++
 profiles/categories                                |   1 +
 15 files changed, 930 insertions(+)

diff --git a/eclass/games.eclass b/eclass/games.eclass
new file mode 100644
index 0000000..a537042
--- /dev/null
+++ b/eclass/games.eclass
@@ -0,0 +1,255 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/eclass/games.eclass,v 1.124 2008/02/15 
00:15:51 nyhm Exp $
+
+# devlist: {vapier,wolf31o2,mr_bones_}@gentoo.org -> ga...@gentoo.org
+#
+# This is the games eclass for standardizing the install of games ...
+# you better have a *good* reason why you're *not* using games.eclass
+# in a games-* ebuild
+
+inherit multilib eutils
+
+EXPORT_FUNCTIONS pkg_preinst pkg_postinst src_compile pkg_setup
+
+[[ -z ${GAME} ]] && GAME=${PN%%-*}
+
+DESCRIPTION="Based on the ${ECLASS} eclass"
+
+export GAMES_PREFIX=${GAMES_PREFIX:-/usr/games}
+export GAMES_PREFIX_OPT=${GAMES_PREFIX_OPT:-/opt}
+export GAMES_DATADIR=${GAMES_DATADIR:-/usr/share/games}
+export GAMES_DATADIR_BASE=${GAMES_DATADIR_BASE:-/usr/share} # some packages 
auto append 'games'
+export GAMES_SYSCONFDIR=${GAMES_SYSCONFDIR:-/etc/games}
+export GAMES_STATEDIR=${GAMES_STATEDIR:-/var/games}
+export GAMES_LOGDIR=${GAMES_LOGDIR:-/var/log/games}
+export GAMES_BINDIR=${GAMES_BINDIR:-${GAMES_PREFIX}/bin}
+export GAMES_ENVD="90games"
+# if you want to use a different user/group than games.games,
+# just add these two variables to your environment (aka /etc/profile)
+export GAMES_USER=${GAMES_USER:-root}
+export GAMES_USER_DED=${GAMES_USER_DED:-games}
+export GAMES_GROUP=${GAMES_GROUP:-games}
+export GAMES_SCORES_GROUP=${GAMES_GROUP:-scores}
+
+games_get_libdir() {
+       echo ${GAMES_LIBDIR:-${GAMES_PREFIX}/$(get_libdir)}
+}
+
+egamesconf() {
+       econf \
+               --prefix="${GAMES_PREFIX}" \
+               --libdir="$(games_get_libdir)" \
+               --datadir="${GAMES_DATADIR}" \
+               --sysconfdir="${GAMES_SYSCONFDIR}" \
+               --localstatedir="${GAMES_STATEDIR}" \
+               "$@" \
+               || die "egamesconf failed"
+}
+
+egamesinstall() {
+       ewarn "Don't use egamesinstall, use emake DESTDIR=\"\${D}\" install 
instead"
+       epause 30
+       make \
+               prefix="${D}${GAMES_PREFIX}" \
+               mandir="${D}/usr/share/man" \
+               infodir="${D}/usr/share/info" \
+               datadir="${D}${GAMES_DATADIR}" \
+               sysconfdir="${D}${GAMES_SYSCONFDIR}" \
+               localstatedir="${D}${GAMES_STATEDIR}" \
+               "$@" install || die "egamesinstall failed"
+}
+
+gameswrapper() {
+       # dont want to pollute calling env
+       (
+               into "${GAMES_PREFIX}"
+               cmd=$1
+               shift
+               ${cmd} "$@"
+       )
+}
+
+dogamesbin() { gameswrapper ${FUNCNAME/games} "$@"; }
+dogamessbin() { gameswrapper ${FUNCNAME/games} "$@"; }
+dogameslib() { gameswrapper ${FUNCNAME/games} "$@"; }
+dogameslib.a() { gameswrapper ${FUNCNAME/games} "$@"; }
+dogameslib.so() { gameswrapper ${FUNCNAME/games} "$@"; }
+newgamesbin() { gameswrapper ${FUNCNAME/games} "$@"; }
+newgamessbin() { gameswrapper ${FUNCNAME/games} "$@"; }
+
+games_make_wrapper() { gameswrapper ${FUNCNAME/games_} "$@"; }
+
+gamesowners() { chown ${GAMES_USER}:${GAMES_GROUP} "$@"; }
+gamesperms() { chmod u+rw,g+r-w,o-rwx "$@"; }
+prepgamesdirs() {
+       local dir f perms=750
+       for dir in \
+               "${GAMES_PREFIX}" "${GAMES_PREFIX_OPT}" "${GAMES_DATADIR}" \
+               "${GAMES_SYSCONFDIR}" "${GAMES_STATEDIR}" "$(games_get_libdir)" 
\
+               "${GAMES_BINDIR}" "$@"
+       do
+               [[ ! -d ${D}/${dir} ]] && continue
+               (
+                       gamesowners -R "${D}/${dir}"
+                       find "${D}/${dir}" -type d -print0 | xargs -0 chmod 
${perms}
+                       find "${D}/${dir}" -type f -print0 | xargs -0 chmod 
o-rwx,g+r
+               ) &>/dev/null
+               f=$(find "${D}/${dir}" -perm +4000 -a -uid 0 2>/dev/null)
+               if [[ -n ${f} ]] ; then
+                       eerror "A game was detected that is setuid root!"
+                       eerror "${f}"
+                       die "refusing to merge a setuid root game"
+               fi
+       done
+       [[ -d ${D}/${GAMES_BINDIR} ]] || return 0
+       if [[ -n ${GAMES_SCORES_FILES} ]]
+       then
+               perms=4750
+               for dir in "${GAMES_STATEDIR}" "${GAMES_BINDIR}"
+               do
+                       GAMES_GROUP=${GAMES_SCORES_GROUP} gamesowners -R 
"${D}/${dir}"
+               done
+       fi
+       find "${D}/${GAMES_BINDIR}" -maxdepth 1 -type f -exec chmod ${perms} 
'{}' \;
+}
+
+gamesenv() {
+       # As much as I hate doing this, we need to be a bit more flexibility 
with
+       # our library directories.
+       local hasit=0 GAMES_LIBDIRS="" GAMES_LIBDIR=$(games_get_libdir)
+       if has_multilib_profile ; then
+               for libdir in $(get_all_libdirs) ; do
+                       if [[ ${GAMES_LIBDIR} != ${GAMES_PREFIX}/${libdir} ]] ; 
then
+                               
GAMES_LIBDIRS="${GAMES_LIBDIRS}:${GAMES_PREFIX}/${libdir}"
+                       else
+                               hasit=1
+                       fi
+               done
+       fi
+       [[ ${hasit} == "1" ]] \
+               && GAMES_LIBDIRS=${GAMES_LIBDIRS:1} \
+               || GAMES_LIBDIRS="${GAMES_LIBDIR}:${GAMES_LIBDIRS}"
+       # Wish we could use doevnd here, but we dont want the env
+       # file to be tracked in the CONTENTS of every game
+       cat <<-EOF > "${ROOT}"/etc/env.d/${GAMES_ENVD}
+       LDPATH="${GAMES_LIBDIRS}"
+       PATH="${GAMES_BINDIR}"
+       EOF
+}
+
+games_pkg_setup() {
+       [[ ${GAMES_CHECK_LICENSE} == "yes" ]] && check_license ${LICENSE}
+
+       # Make sure SDL was built in a certain way
+       if [[ -n ${GAMES_USE_SDL} ]] ; then
+               if built_with_use -o media-libs/libsdl ${GAMES_USE_SDL} ; then
+                       eerror "You built libsdl with wrong USE flags."
+                       eerror "Make sure you rebuild it like this:"
+                       eerror "USE='-${GAMES_USE_SDL// / -}'"
+                       die "your libsdl sucks"
+               fi
+       fi
+
+       enewgroup "${GAMES_GROUP}" 35
+       [[ ${GAMES_USER} != "root" ]] \
+               && enewuser "${GAMES_USER}" 35 -1 "${GAMES_PREFIX}" 
"${GAMES_GROUP}"
+       [[ ${GAMES_USER_DED} != "root" ]] \
+               && enewuser "${GAMES_USER_DED}" 36 /bin/bash "${GAMES_PREFIX}" 
"${GAMES_GROUP}"
+       [[ -n ${GAMES_SCORES_FILES} ]] && enewgroup "${GAMES_SCORES_GROUP}"
+
+       # Dear portage team, we are so sorry.  Lots of love, games team.
+       # See Bug #61680
+       [[ ${USERLAND} != "GNU" ]] && return 0
+       [[ $(getent passwd "${GAMES_USER_DED}" | cut -f7 -d:) == "/bin/false" 
]] \
+               && usermod -s /bin/bash "${GAMES_USER_DED}"
+}
+
+games_src_compile() {
+       [[ -x ./configure ]] && { egamesconf || die "egamesconf failed"; }
+       [ -e [Mm]akefile ] && { emake || die "emake failed"; }
+}
+
+games_pkg_preinst() {
+       local f
+
+       for f in $(find "${D}/${GAMES_STATEDIR}" -type f -printf '%P ' 
2>/dev/null) ; do
+               if [[ -e ${ROOT}/${GAMES_STATEDIR}/${f} ]] ; then
+                       cp -p \
+                               "${ROOT}/${GAMES_STATEDIR}/${f}" \
+                               "${D}/${GAMES_STATEDIR}/${f}" \
+                               || die "cp failed"
+                       # make the date match the rest of the install
+                       touch "${D}/${GAMES_STATEDIR}/${f}"
+               fi
+       done
+}
+
+# pkg_postinst function ... create env.d entry and warn about games group
+games_pkg_postinst() {
+       gamesenv
+       if [[ -z "${GAMES_SHOW_WARNING}" ]] ; then
+               ewarn "Remember, in order to play games, you have to"
+               ewarn "be in the '${GAMES_GROUP}' group."
+               echo
+               case ${CHOST} in
+                       *-darwin*) ewarn "Just run 'niutil -appendprop / 
/groups/games users <USER>'";;
+                       *-freebsd*|*-dragonfly*) ewarn "Just run 'pw groupmod 
${GAMES_GROUP} -m <USER>'";;
+                       *) ewarn "Just run 'gpasswd -a <USER> ${GAMES_GROUP}', 
then have <USER> re-login.";;
+               esac
+               echo
+               einfo "For more info about Gentoo gaming in general, see our 
website:"
+               einfo "   http://games.gentoo.org/";
+               echo
+       fi
+}
+
+# Unpack .uz2 files for UT2003/UT2004
+# $1: directory or file to unpack
+games_ut_unpack() {
+       local ut_unpack="$1"
+       local f=
+
+       if [[ -z ${ut_unpack} ]] ; then
+               die "You must provide an argument to games_ut_unpack"
+       fi
+       if [[ -f ${ut_unpack} ]] ; then
+               uz2unpack "${ut_unpack}" "${ut_unpack/.uz2/}" &>/dev/null \
+                       || die "uncompressing file ${ut_unpack}"
+       fi
+       if [[ -d ${ut_unpack} ]] ; then
+               for f in $(find "${ut_unpack}" -name '*.uz2' -printf '%f ') ; do
+                       uz2unpack "${ut_unpack}/${f}" "${ut_unpack}/${f/.uz2}" 
&>/dev/null \
+                               || die "uncompressing file ${f}"
+                       rm -f "${ut_unpack}/${f}" || die "deleting compressed 
file ${f}"
+               done
+       fi
+}
+
+# Unpacks .umod/.ut2mod/.ut4mod files for UT/UT2003/UT2004
+# Usage: games_umod_unpack $1
+# oh, and don't forget to set 'dir' and 'Ddir'
+games_umod_unpack() {
+       local umod=$1
+       mkdir -p "${Ddir}"/System
+       cp 
"${dir}"/System/{ucc-bin,{Manifest,Def{ault,User}}.ini,{Engine,Core,zlib,ogg,vorbis}.so,{Engine,Core}.int}
 "${Ddir}"/System
+       cd "${Ddir}"/System
+       UT_DATA_PATH=${Ddir}/System ./ucc-bin umodunpack -x "${S}/${umod}" 
-nohomedir &> /dev/null \
+               || die "uncompressing file ${umod}"
+       rm -f 
"${Ddir}"/System/{ucc-bin,{Manifest,Def{ault,User},User,UT200{3,4}}.ini,{Engine,Core,zlib,ogg,vorbis}.so,{Engine,Core}.int,ucc.log}
 &>/dev/null \
+               || die "Removing temporary files"
+}
+
+# Link mods created by games-mods.eclass into the GAMES_PREFIX_OPT directories
+# so they can be found by binary versions of the games.
+games_link_mods() {
+       if [[ -e ${GAMES_DATADIR}/${GAME} ]] ; then
+               cd "${GAMES_DATADIR}/${GAME}"
+               for mod in $(find . -type d -printf '%P ') ; do
+                       if [[ ! -e ${Ddir}/${mod} ]] ; then
+                               elog "Creating symlink for ${mod}"
+                               dosym "${GAMES_DATADIR}"/${GAME}/${mod} 
"${dir}"/${mod} || die
+                       fi
+               done
+       fi
+}

diff --git a/games-roguelike/nethack/ChangeLog 
b/games-roguelike/nethack/ChangeLog
new file mode 100644
index 0000000..e47e777
--- /dev/null
+++ b/games-roguelike/nethack/ChangeLog
@@ -0,0 +1,195 @@
+# ChangeLog for games-roguelike/nethack
+# Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/games-roguelike/nethack/ChangeLog,v 1.28 
2008/03/07 20:15:59 wolf31o2 Exp $
+
+  13 Mar 2008; Chris Gianelloni <wolf3...@gentoo.org>
+  +files/3.4.3-GNOME-support.patch, +files/3.4.3-QT-GNOME-support.patch,
+  +files/3.4.3-QT-support.patch, +files/3.4.3-X-support.patch,
+  +files/3.4.3-bison.patch, +files/3.4.3-macos.patch,
+  +files/3.4.3-default-options.patch, +files/3.4.3-gentoo-paths.patch,
+  +files/dot.nethackrc, +metadata.xml:
+  Added a -r2 ebuild which uses GAMES_SCORES_FILES for testing for bug #125902.
+
+  07 Mar 2008; Chris Gianelloni <wolf3...@gentoo.org>
+  nethack-3.4.3-r1.ebuild:
+  QA cleanup: Fix quoting.
+
+  14 Jan 2008; Fabian Groffen <grob...@gentoo.org> nethack-3.4.3-r1.ebuild:
+  Dropped ppc-macos keyword, see you in prefix
+
+  01 Apr 2007; Michael Sterrett <mr_bon...@gentoo.org>
+  nethack-3.4.3-r1.ebuild:
+  fix deps for bug #172945
+
+  12 Mar 2007; Marius Mauch <gen...@gentoo.org> nethack-3.4.3-r1.ebuild:
+  Replacing einfo with elog
+
+  07 Mar 2007; Chris Gianelloni <wolf3...@gentoo.org>
+  nethack-3.4.3-r1.ebuild:
+  Change all instances of [ to [[.
+
+  18 Nov 2006; Saleem Abdulrasool <compn...@gentoo.org> 
nethack-3.4.3-r1.ebuild:
+  drop gnome useflag for gnome-1.x removal
+
+  24 Jun 2006; Doug Goldstein <car...@gentoo.org> nethack-3.4.3-r1.ebuild:
+  USE flag change qt->qt3/qt4 bug #137785
+
+  22 May 2006; Diego Pettenò <flamee...@gentoo.org>
+  nethack-3.4.3-r1.ebuild:
+  Add ~x86-fbsd keyword, after setting GAMEUID and GAMEGRP (to install clean
+  on FreeBSD) and set CC on last make call (bug #134054).
+
+  24 Jan 2006; Chris Gianelloni <wolf3...@gentoo.org>
+  nethack-3.4.3-r1.ebuild:
+  Added modular X dependencies and closing bug #119031.
+
+  22 Nov 2005; Fabian Groffen <grob...@gentoo.org> +files/3.4.3-macos.patch,
+  nethack-3.4.3-r1.ebuild:
+  Adding small patch for OSX and compilation helper.  Marked ~ppc-macos (bug
+  #106117)
+
+  22 Nov 2005; <j...@gentoo.org> nethack-3.4.3-r1.ebuild:
+  Added ~hppa keyword (bug 109191).
+
+  16 Oct 2005; Chris Gianelloni <wolf3...@gentoo.org>
+  nethack-3.4.3-r1.ebuild:
+  Added desktop entry using make_desktop_entry and closing bug #100788.
+
+  28 Jul 2005; Caleb Tennis <ca...@gentoo.org> nethack-3.4.3-r1.ebuild:
+  made qt dep qt3 explicit per bug #100235
+
+  17 May 2005; Chris Gianelloni <wolf3...@gentoo.org>
+  nethack-3.4.3-r1.ebuild:
+  Cleanup for bug #92745.
+
+  28 Dec 2004; Ciaran McCreesh <ciar...@gentoo.org> :
+  Change encoding to UTF-8 for GLEP 31 compliance
+
+  24 Sep 2004; Michael Sterrett <mr_bon...@gentoo.org>
+  nethack-3.4.3-r1.ebuild:
+  Bring the help functionality back when using the external pager (bug #57410)
+  sed patch from Benoit Boissinot
+
+  10 Sep 2004; Michael Sterrett <mr_bon...@gentoo.org> -nethack-3.4.2.ebuild,
+  nethack-3.4.3-r1.ebuild, -nethack-3.4.3.ebuild:
+  clean older ebuilds; fix deps
+
+  31 Aug 2004; Chris Gianelloni <wolf3...@gentoo.org>
+  +files/3.4.3-bison.patch, nethack-3.4.3-r1.ebuild:
+  Added bison patch and closing bug #61140.
+
+*nethack-3.4.3-r1 (10 Jul 2004)
+
+  10 Jul 2004; Michael Sterrett <mr_bon...@gentoo.org>
+  +nethack-3.4.3-r1.ebuild:
+  Work around buggy makefiles so we get to use emake
+  Set DEF_PAGER from $PAGER (bug #52122)
+  Use ${GAMES_STATEDIR} saving code in games.eclass instead of hacking it
+  in the ebuild.
+  Error check ; tidy
+
+  30 Mar 2004; Michael Sterrett <mr_bon...@gentoo.org> nethack-3.4.2.ebuild,
+  nethack-3.4.3.ebuild:
+  virtual/x11; use flag cleanup; error check sed
+
+  20 Jan 2004; Jon Portnoy <av...@gentoo.org> :
+  AMD64 keywords.
+
+*nethack-3.4.3 (01 Jan 2003)
+
+  01 Jan 2003; Mike Frysinger <vap...@gentoo.org> :
+  Version bump #35558.
+
+*nethack-3.4.2 (15 Sep 2003)
+
+  17 Sep 2003; Chuck Short <z...@gentoo.org> nethack-3.4.2.ebuild:
+  Marked stable for sparc, closes bug #28449.
+
+  15 Sep 2003; Mike Frysinger <vap...@gentoo.org> :
+  Version bump #27875 + saved games fix #28104 + new qt ver #23149.
+
+*nethack-3.4.1-r1 (07 Aug 2003)
+
+  07 Aug 2003; Mike Frysinger <vap...@gentoo.org> :
+  Fix file permissions/writable file locations #26085
+
+*nethack-3.4.1 (03 Mar 2003)
+
+  11 Jul 2003; Mike Frysinger <vap...@gentoo.org> :
+  Don't overwrite saved games and stuff ... #16428
+
+  22 Jun 2003; Mike Frysinger <vap...@gentoo.org> :
+  Cleaned up ebuild ... move most sed statements to patches.  #16436 #16827
+
+  05 Mar 2003; Bartosch Pixa <darkspec...@gentoo.org> nethack-3.4.1.ebuild:
+  set ~ppc in keywords
+
+  03 Mar 2003; Daniel Ahlberg <a...@gentoo.org> :
+  Version bump.
+
+*nethack-3.4.0-r7 (26 Feb 2003)
+
+  26 Feb 2003; Mike Frysinger <vap...@gentoo.org> :
+  Added errno patch to fix #16436 (#16267).
+
+*nethack-3.4.0-r6 (18 Feb 2003)
+
+  18 Feb 2003; Daniel Ahlberg <a...@gentoo.org> :
+  Security update.
+
+*nethack-3.4.0-r5 (22 Dec 2002)
+
+  22 Dec 2002; J.Alberto Suarez L. <b...@gentoo.org> :
+  Fix bug #12576
+
+*nethack-3.4.0-r4 (16 Dec 2002)
+
+  16 Dec 2002; Mike Frysinger <vap...@gentoo.org> :
+  Added games.eclass support and fix for #9147.
+
+*nethack-3.4.0-r3 (23 Apr 2002)
+
+  17 jul 2002; Jose Alberto Suárez López <b...@gentoo.org> 
nethack-3.4.0-r3.ebuild :
+  Added LICENSE, KEYWORDS, SLOT.
+
+  17 jul 2002; Jose Alberto Suárez López <b...@gentoo.org> 
nethack-3.4.0.ebuild :
+  Added LICENSE, KEYWORDS, SLOT.
+  23 Apr 2002; Spider <spi...@gentoo.org> nethack-3.4.0-r3.ebuild:
+  Fix qt dependency
+
+*nethack-3.4.0-r2 (17 Apr 2002)
+
+  17 jul 2002; Jose Alberto Suárez López <b...@gentoo.org> 
nethack-3.4.0-r2.ebuild :
+  Added LICENSE, KEYWORDS, SLOT.
+  17 Apr 2002; Spider <spi...@gentoo.org> nethack-3.4.0-r2.ebuild:
+  Here is the bulk message from Jason Ritchie <jas...@myrealbox.com>
+  This version I wrote from scratch, but after I got stuck I got a lot of
+  good info from the existing nethack ebuilds.  I have included a
+  CREDITS.gentoo.
+
+  On to the meat.  This ebuild supports USE flags X, qt, and gnome.  I
+  have also included a default .nethackrc file and a FAQ-ish thing about
+  why I made some decisions.  It removes the need for /usr/games as this is to 
be avoided
+  from what I hear.  It will emerge with qt2 or 3 installed, but it will only
+  use 2.  I have tested tty, X, qt, and gnome window types and it seems to run 
very
+  nicely.  
+
+  The whole setup process should be:
+  emerge nethack
+  cp /usr/share/nethackdir/dot.nethackrc ~/.nethackrc
+  nethack
+
+  This was such a fun project.  Let me know if I screwed the pooch.
+
+*nethack-3.4.0-r1 (13 Apr 2002)
+
+  17 jul 2002; Jose Alberto Suárez López <b...@gentoo.org> 
nethack-3.4.0-r1.ebuild :
+  Added LICENSE, KEYWORDS, SLOT.
+  13 Apr 2002; Spider <spi...@gentoo.org> nethack-3.4.0-r1.ebuild :
+  Adding comment on how to get colour support thanks to Ryan Phillips
+  Update dodoc line
+
+  *nethack-3.4.0 (09 Apr 2002)
+  9 Apr 2002; Spider <spi...@gentoo.org> nethack-3.4.0.ebuild :
+  Second release of nethack really, only including the 3.4.0 release though.
+  initial commit to cvs/portage

diff --git a/games-roguelike/nethack/Manifest b/games-roguelike/nethack/Manifest
new file mode 100644
index 0000000..4b406ed
--- /dev/null
+++ b/games-roguelike/nethack/Manifest
@@ -0,0 +1,13 @@
+AUX 3.4.3-GNOME-support.patch 1316 RMD160 
22bbef5460eded0faa3d06e7b2db45334783bf10 SHA1 
b94442d65c13310e36f35e34ad48760206453c78 SHA256 
7298bc971292db8ee2147a5ed04f71e21411bb51c169cc60634633dd1aecbaed
+AUX 3.4.3-QT-GNOME-support.patch 1507 RMD160 
3344bda39533bceb9c6a95102b4b5146aad862c6 SHA1 
288568ecec759c910243adf6b8fc846413278be1 SHA256 
f5d5728a7cf3a32910741d2a89b228a5fa0f0f042c6ef0918d4be06d9206ab47
+AUX 3.4.3-QT-support.patch 792 RMD160 2338e103a24a2284ac1af33f22dc914f506d13e7 
SHA1 d1789562e39ba5f101939c2bd3974c0b74f35398 SHA256 
2e3a72bb31c8b0fe3afaa9933f64cd1858b4f32d6188273586062953b92ae97a
+AUX 3.4.3-X-support.patch 920 RMD160 1cad76af263fa640097ef6f67f1298886df098ea 
SHA1 3fe24974e6e1df078a4a0992c9313f59e2f0c662 SHA256 
e1d3a7110c97b80b1d3e3bd4204f1ea018fbbc03d2a937efdb292cc1f611f525
+AUX 3.4.3-bison.patch 603 RMD160 0fd71789e69640ac8c14183edd5974938d5e6f66 SHA1 
2705d64f5c2692a4f1f561c90b816dce5dbe27b0 SHA256 
8b8eab414c4dfeb20ab60dc543eb023eac90da0a9e1c8a2375833fdf61baec7f
+AUX 3.4.3-default-options.patch 1262 RMD160 
10bdb2cbe10a7396a8f88052d6a61e62629c26d8 SHA1 
678a7d263649b77b25a55290f68074042a64961a SHA256 
5ba428f0c4d476c41b5ab94fb52737e39d32b7944d46755195745d97f14f38bd
+AUX 3.4.3-gentoo-paths.patch 576 RMD160 
84319d80353e1c029d4130a73ae65b18680f2c91 SHA1 
b8cc137b8b5c04071d81c741635fd261250490b6 SHA256 
09b96c2659aab5749e5f16ceedfba40597938c9aa06e6bfc05e6b5f029a2ffb1
+AUX 3.4.3-macos.patch 307 RMD160 460ef1f4279e5c0e09de3cfe77b7984fbab0dede SHA1 
a96ef11b97a9cbf08c9207144986d4355a27e6b1 SHA256 
2df99fde20c8ff4b919da95bb4a36222b9eac564cfc2e02233da95dcbc25bb17
+AUX dot.nethackrc 2717 RMD160 0e9868a1b8f017337d8c37e740399e25512bdb5b SHA1 
27c973b8c336355012e2e2c4f0007bce9cce9f84 SHA256 
19d692014e1b053439f5f818291e32a971942490ca7e3d2b7912b43a4563f98c
+DIST nethack-343-src.tgz 3497458 RMD160 
42f600d24715a0b7e631b357c135761410b3ca95 SHA1 
c26537093c38152bc0fbcec20468d975b35f59fd SHA256 
bb39c3d2a9ee2df4a0c8fdde708fbc63740853a7608d2f4c560b488124866fe4
+EBUILD nethack-3.4.3-r2.ebuild 5150 RMD160 
2e2cc3a031a723285b4515154ccc94fac740a739 SHA1 
b9978cdbd4864ee3919915c85c40406a9381587d SHA256 
17ebdc169309bbd75b7791eca339875a23f6b8e39810aed59f3a16063b686f9c
+MISC ChangeLog 6534 RMD160 b2bf83db715c10aacb27185255d723bbde382f38 SHA1 
3bd16ec71590fc69ce19e5c39ad9dae026818650 SHA256 
ed83d9ec4090d37eaf88d65cee735db4a9df1c7b6d893786a909d190986cad33
+MISC metadata.xml 158 RMD160 cbd9984bb6b426c8c9cee5022fe0a26261612fea SHA1 
be5251fa1dacef5c41b74761bb1c8c54fb633b9e SHA256 
1423a4fdd4a79b1728a2056d9e300f7e1074253095d82726218d9e9b953888a3

diff --git a/games-roguelike/nethack/files/3.4.3-GNOME-support.patch 
b/games-roguelike/nethack/files/3.4.3-GNOME-support.patch
new file mode 100644
index 0000000..3a18fae
--- /dev/null
+++ b/games-roguelike/nethack/files/3.4.3-GNOME-support.patch
@@ -0,0 +1,28 @@
+--- include/config.h.orig      2003-06-21 21:06:38.000000000 -0400
++++ include/config.h   2003-06-21 21:12:00.000000000 -0400
+@@ -48 +48 @@
+-/* #define GNOME_GRAPHICS */  /* Gnome interface */
++#define GNOME_GRAPHICS
+@@ -96 +95,0 @@
+-# define USE_XPM              /* Use XPM format for images (required) */
+--- Makefile.orig      2003-06-21 21:06:38.000000000 -0400
++++ Makefile   2003-06-21 21:13:02.000000000 -0400
+@@ -43 +43 @@
+-VARDATND =  x11tiles pet_mark.xbm rip.xpm
++VARDATND =  x11tiles pet_mark.xbm rip.xpm mapbg.xpm
+--- src/Makefile.orig  2003-06-21 21:06:38.000000000 -0400
++++ src/Makefile       2003-06-21 21:17:33.000000000 -0400
+@@ -142 +142 @@
+-GNOMEINC=-I/usr/lib/glib/include -I/usr/lib/gnome-libs/include -I../win/gnome
++GNOMEINC=-I/usr/lib/glib/include -I/usr/lib/gnome-libs/include -I../win/gnome 
-I/usr/include/gnome-1.0 -DNEED_GNOMESUPPORT_H -I/usr/lib/gnome-libs/include 
-I/usr/include/gtk-1.2 -I/usr/include/glib-1.2 -I/usr/lib/glib/include 
-I/usr/X11R6/include
+@@ -191 +191 @@
+-      gnyesno.o gnworn.o tile.o
++      gnyesno.o gnworn.o
+@@ -207,2 +207,2 @@
+-WINSRC = $(WINTTYSRC) $(WINX11SRC)
+-WINOBJ = $(WINTTYOBJ) $(WINX11OBJ)
++WINSRC = $(WINTTYSRC) $(WINX11SRC) $(WINGNOMESRC)
++WINOBJ = $(WINTTYOBJ) $(WINX11OBJ) $(WINGNOMEOBJ)
+@@ -248 +248 @@
+-WINLIB = $(WINTTYLIB) $(WINX11LIB)
++WINLIB = $(WINTTYLIB) $(WINX11LIB) $(WINGNOMELIB)

diff --git a/games-roguelike/nethack/files/3.4.3-QT-GNOME-support.patch 
b/games-roguelike/nethack/files/3.4.3-QT-GNOME-support.patch
new file mode 100644
index 0000000..2a610d6
--- /dev/null
+++ b/games-roguelike/nethack/files/3.4.3-QT-GNOME-support.patch
@@ -0,0 +1,30 @@
+--- include/config.h.orig      2003-06-21 21:06:38.000000000 -0400
++++ include/config.h   2003-06-21 21:12:00.000000000 -0400
+@@ -48 +48 @@
+-/* #define GNOME_GRAPHICS */  /* Gnome interface */
++#define GNOME_GRAPHICS
+--- Makefile.orig      2003-06-21 21:06:38.000000000 -0400
++++ Makefile   2003-06-21 21:13:02.000000000 -0400
+@@ -43 +43 @@
+-VARDATND =  x11tiles pet_mark.xbm rip.xpm
++VARDATND =  x11tiles pet_mark.xbm rip.xpm mapbg.xpm
+--- src/Makefile.orig  2003-06-21 21:06:38.000000000 -0400
++++ src/Makefile       2003-06-21 21:17:33.000000000 -0400
+@@ -142 +142 @@
+-GNOMEINC=-I/usr/lib/glib/include -I/usr/lib/gnome-libs/include -I../win/gnome
++GNOMEINC=-I/usr/lib/glib/include -I/usr/lib/gnome-libs/include -I../win/gnome 
-I/usr/include/gnome-1.0 -DNEED_GNOMESUPPORT_H -I/usr/lib/gnome-libs/include 
-I/usr/include/gtk-1.2 -I/usr/include/glib-1.2 -I/usr/lib/glib/include 
-I/usr/X11R6/include
+@@ -191 +191 @@
+-      gnyesno.o gnworn.o tile.o
++      gnyesno.o gnworn.o
+@@ -207,2 +207,2 @@
+-WINSRC = $(WINTTYSRC) $(WINX11SRC) $(WINQTSRC)
+-WINOBJ = $(WINTTYOBJ) $(WINX11OBJ) $(WINQTOBJ)
++WINSRC = $(WINTTYSRC) $(WINX11SRC) $(WINQTSRC) $(WINGNOMESRC)
++WINOBJ = $(WINTTYOBJ) $(WINX11OBJ) $(WINQTOBJ) $(WINGNOMEOBJ)
+@@ -248 +248 @@
+-WINLIB = $(WINTTYLIB) $(WINX11LIB) $(WINQTLIB)
++WINLIB = $(WINTTYLIB) $(WINX11LIB) $(WINQTLIB) $(WINGNOMELIB)
+--- include/config.h.orig      2003-06-21 22:04:25.000000000 -0400
++++ include/config.h   2003-06-21 22:04:31.000000000 -0400
+@@ -96 +95,0 @@
+-# define USE_XPM              /* Use XPM format for images (required) */

diff --git a/games-roguelike/nethack/files/3.4.3-QT-support.patch 
b/games-roguelike/nethack/files/3.4.3-QT-support.patch
new file mode 100644
index 0000000..8f8d867
--- /dev/null
+++ b/games-roguelike/nethack/files/3.4.3-QT-support.patch
@@ -0,0 +1,20 @@
+--- include/config.h.orig      2003-06-21 21:03:14.000000000 -0400
++++ include/config.h   2003-06-21 21:03:20.000000000 -0400
+@@ -47 +47 @@
+-/* #define QT_GRAPHICS */     /* Qt interface */
++#define QT_GRAPHICS
+@@ -91 +90,0 @@
+-# define USE_XPM              /* Use XPM format for images (required) */
+--- src/Makefile.orig  2003-06-21 21:04:41.000000000 -0400
++++ src/Makefile       2003-06-21 21:04:58.000000000 -0400
+@@ -189 +189 @@
+-WINQTOBJ = qt_win.o qt_clust.o qttableview.o tile.o
++WINQTOBJ = qt_win.o qt_clust.o qttableview.o
+@@ -217,2 +217,2 @@
+-WINSRC = $(WINTTYSRC) $(WINX11SRC)
+-WINOBJ = $(WINTTYOBJ) $(WINX11OBJ)
++WINSRC = $(WINTTYSRC) $(WINX11SRC) $(WINQTSRC)
++WINOBJ = $(WINTTYOBJ) $(WINX11OBJ) $(WINQTOBJ)
+@@ -258 +258 @@
+-WINLIB = $(WINTTYLIB) $(WINX11LIB)
++WINLIB = $(WINTTYLIB) $(WINX11LIB) $(WINQTLIB)

diff --git a/games-roguelike/nethack/files/3.4.3-X-support.patch 
b/games-roguelike/nethack/files/3.4.3-X-support.patch
new file mode 100644
index 0000000..6687f88
--- /dev/null
+++ b/games-roguelike/nethack/files/3.4.3-X-support.patch
@@ -0,0 +1,26 @@
+--- include/config.h.orig      2003-06-21 20:58:57.000000000 -0400
++++ include/config.h   2003-06-21 20:59:44.000000000 -0400
+@@ -46 +46 @@
+-/* #define X11_GRAPHICS */    /* X11 interface */
++#define X11_GRAPHICS 1
+@@ -127 +127 @@
+-/* # define USE_XPM */                /* Disable if you do not have the XPM 
library */
++# define USE_XPM 1
+--- Makefile.orig      2003-06-21 21:01:03.000000000 -0400
++++ Makefile   2003-06-21 21:01:16.000000000 -0400
+@@ -43 +43 @@
+-VARDATND = 
++VARDATND =  x11tiles pet_mark.xbm rip.xpm
+--- src/Makefile.orig  2003-06-21 21:02:01.000000000 -0400
++++ src/Makefile       2003-06-21 21:02:11.000000000 -0400
+@@ -207,2 +207,2 @@
+-WINSRC = $(WINTTYSRC)
+-WINOBJ = $(WINTTYOBJ)
++WINSRC = $(WINTTYSRC) $(WINX11SRC)
++WINOBJ = $(WINTTYOBJ) $(WINX11OBJ)
+@@ -228 +228 @@
+-WINX11LIB = -lXaw -lXmu -lXext -lXt -lX11
++WINX11LIB = -lXaw -lXmu -lXext -lXt -lX11 -lXpm
+@@ -248 +248 @@
+-WINLIB = $(WINTTYLIB)
++WINLIB = $(WINTTYLIB) $(WINX11LIB)

diff --git a/games-roguelike/nethack/files/3.4.3-bison.patch 
b/games-roguelike/nethack/files/3.4.3-bison.patch
new file mode 100644
index 0000000..0bec63a
--- /dev/null
+++ b/games-roguelike/nethack/files/3.4.3-bison.patch
@@ -0,0 +1,18 @@
+--- nethack-3.4.3/util/Makefile        2004-08-21 01:09:06.724326360 +0200
++++ nethack-3.4.3.new//util/Makefile   2004-08-21 01:08:03.852884272 +0200
+@@ -101,11 +101,11 @@
+ 
+ # yacc/lex programs to use to generate *_comp.h, *_lex.c, and *_yacc.c.
+ # if, instead of yacc/lex you have bison/flex, comment/uncomment the 
following.
+-YACC     = yacc
+-LEX      = lex
+-# YACC     = bison -y
++#YACC     = yacc
++#LEX      = lex
++ YACC     = bison -y
+ # YACC     = byacc
+-# LEX      = flex
++ LEX      = flex
+  
+ # these are the names of the output files from YACC/LEX. Under MS-DOS
+ # and similar systems, they may differ

diff --git a/games-roguelike/nethack/files/3.4.3-default-options.patch 
b/games-roguelike/nethack/files/3.4.3-default-options.patch
new file mode 100644
index 0000000..83ab94a
--- /dev/null
+++ b/games-roguelike/nethack/files/3.4.3-default-options.patch
@@ -0,0 +1,29 @@
+--- include/config.h.orig      2003-06-21 20:44:00.000000000 -0400
++++ include/config.h   2003-06-21 20:46:42.000000000 -0400
+@@ -172,2 +172,2 @@
+-#define COMPRESS "/usr/bin/compress"  /* Lempel-Ziv compression */
+-#define COMPRESS_EXTENSION ".Z"               /* compress's extension */
++#define COMPRESS "/bin/bzip2" /* Lempel-Ziv compression */
++#define COMPRESS_EXTENSION ".bz2"             /* compress's extension */
+@@ -188 +188 @@
+-/* #define DLB */     /* not supported on all platforms */
++#define DLB 1 /* not supported on all platforms */
+@@ -207 +207 @@
+-#  define HACKDIR "/usr/games/lib/nethackdir"
++#  define HACKDIR "GENTOO_HACKDIR"
+@@ -303 +303 @@
+-/* #define VISION_TABLES */ /* use vision tables generated at compile time */
++#define VISION_TABLES 1 /* use vision tables generated at compile time */
+--- include/unixconf.h.orig    2003-06-21 20:47:54.000000000 -0400
++++ include/unixconf.h 2003-06-21 20:48:39.000000000 -0400
+@@ -40 +40 @@
+-/* #define LINUX */   /* Another Unix clone */
++#define LINUX 1       /* Another Unix clone */
+@@ -135 +135 @@
+-/* #define TIMED_DELAY */     /* usleep() */
++#define TIMED_DELAY 1
+--- src/Makefile.orig  2003-06-21 20:55:36.000000000 -0400
++++ src/Makefile       2003-06-21 20:55:49.000000000 -0400
+@@ -234 +234 @@
+-WINTTYLIB = -ltermlib
++WINTTYLIB = -lncurses

diff --git a/games-roguelike/nethack/files/3.4.3-gentoo-paths.patch 
b/games-roguelike/nethack/files/3.4.3-gentoo-paths.patch
new file mode 100644
index 0000000..af86cd1
--- /dev/null
+++ b/games-roguelike/nethack/files/3.4.3-gentoo-paths.patch
@@ -0,0 +1,18 @@
+--- include/unixconf.h.orig    2003-08-07 23:18:03.070299152 -0400
++++ include/unixconf.h 2003-08-07 23:18:39.699730632 -0400
+@@ -96,13 +96,13 @@
+  */
+ 
+ /* #define NO_FILE_LINKS */   /* if no hard links */
+-/* #define LOCKDIR "/usr/games/lib/nethackdir" */     /* where to put locks */
++#define LOCKDIR "GENTOO_STATEDIR"
+ 
+ /*
+  * If you want the static parts of your playground on a read-only file
+  * system, define VAR_PLAYGROUND to be where the variable parts are kept.
+  */
+-/* #define VAR_PLAYGROUND "/var/lib/games/nethack" */
++#define VAR_PLAYGROUND "GENTOO_STATEDIR"
+ 
+ 
+ /*

diff --git a/games-roguelike/nethack/files/3.4.3-macos.patch 
b/games-roguelike/nethack/files/3.4.3-macos.patch
new file mode 100644
index 0000000..d5aad38
--- /dev/null
+++ b/games-roguelike/nethack/files/3.4.3-macos.patch
@@ -0,0 +1,11 @@
+--- nethack-3.4.3/win/Qt/qt_win.cpp.orig       2005-11-22 21:24:03.000000000 
+0100
++++ nethack-3.4.3/win/Qt/qt_win.cpp    2005-11-22 21:25:26.000000000 +0100
+@@ -102,7 +102,7 @@
+ #include "qt_xpms.h"
+ 
+ #include <dirent.h>
+-#ifdef Q_WS_MACX
++#ifdef __APPLE__
+ #  include <sys/malloc.h>
+ #else
+ #  include <malloc.h>

diff --git a/games-roguelike/nethack/files/dot.nethackrc 
b/games-roguelike/nethack/files/dot.nethackrc
new file mode 100644
index 0000000..5589933
--- /dev/null
+++ b/games-roguelike/nethack/files/dot.nethackrc
@@ -0,0 +1,92 @@
+#
+# Nethack configuration file.
+#
+# Please read the Guidebook in /usr/share/doc/nethack or at www.nethack.org.
+#
+# Naming this file $(HOME)/.nethackrc or setting the environment
+# variable NETHACKOPTIONS to point to its full path name elsewhere tells
+# NetHack to use X11 windowing (provided the executable was compiled with 
+# that ability).
+#
+# SET YOUR WINDOW TYPE
+# Your windowtype choices are: GENTOO_WINDOWTYPES
+#
+OPTIONS=windowtype:GENTOO_DEFWINDOWTYPE
+#OPTIONS=color
+#OPTIONS=name:player
+#OPTIONS=gender:male
+#OPTIONS=fruit:mango
+#OPTIONS=dogname:Izchak
+#OPTIONS=catname:Chun-Li
+#OPTIONS=horsename:Marlon
+
+# Suggested for qt:
+#OPTIONS=number_pad,menustyle:partial,!time,showexp
+#OPTIONS=hilite_pet,toptenwin,msghistory:200,windowtype:Qt
+
+# The font settings below are for X11 untiled
+#
+# There are 17 object symbols and various graphics symbols.
+# The descriptions of these symbols can be found in dat/opthelp.
+#
+#
+# Font: nh10 (10x20)
+#
+#OBJECTS= 180 183 188 192 181 184 182 189 190 196 \
+#       191 194 193 187 185 186 195
+#
+#DUNGEON= 032 025 018 013 012 014 011 015 023 024 \
+#       022 021 128 129 130 131 132 035 035 133 \
+#       134 135 136 137 145 146 144 124 143 142 \
+#       141 140 149 150 031 031 147 148 031 161 \
+#       140
+#
+#TRAPS=         138 138 138 138 138 138 138 138 138 138 \
+#       138 138 138 138 138 139 138 138 138 138 \
+#       138 138
+#
+#EFFECTS= 151 152 153 154 155 156 157 158       \
+#       159 160 161 162                         \
+#       163 164 165 166 167 168 169 170         \
+#       171 172 173 174 175 176 177 178 179
+#
+#
+# Font: ibm (8x14)
+#
+#OBJECTS= 207 210 215 219 208 211 209 216 217 223 \
+#       218 221 220 214 212 213 222
+#
+#DUNGEON= 032 128 129 130 131 132 133 134 135 136 \
+#        137 138 139 045 124 142 143 035 035 144 \
+#        145 146 147 148 155 156 227 124 154 153 \
+#        152 151 159 160 200 200 157 158 250 170 \
+#        151
+#
+#TRAPS=   149 149 149 149 149 149 149 149 149 149 \
+#        149 149 149 149 149 150 149 149 149 149 \
+#        149 149
+#
+#EFFECTS= 161 162 163 164 165 166 167 168        \
+#        169 170 171 172                         \
+#        173 174 175 176 177 178 179 180         \
+#        181 182 183 184 185 186 187 188 189
+#
+#
+# Font: a "standard" font like 6x13
+# Note that this version is unlikely to work on a tty on a Unix system because
+# many of these characters are also control characters.
+#
+#DUNGEON = 032 025 018 013 012 014 011 015 023 024 \
+#         022 021 031 045 124 043 043 035 035 031 \
+#         035 001 060 062 060 062 019 124 092 035 \
+#         123 125 031 125 046 046 035 035 046 127 \
+#         125
+#
+#TRAPS=    094 094 094 094 094 094 094 094 094 094 \
+#         094 094 094 094 094 002 094 094 094 094 \
+#         094 094
+#
+#EFFECTS=  124 045 092 047 042 033 041 040        \
+#         048 035 064 042                         \
+#         047 045 092 124 124 092 045 047         \
+#         047 064 092 064 064 064 092 064 047

diff --git a/games-roguelike/nethack/metadata.xml 
b/games-roguelike/nethack/metadata.xml
new file mode 100644
index 0000000..d3c2cc9
--- /dev/null
+++ b/games-roguelike/nethack/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/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"
+}

diff --git a/profiles/categories b/profiles/categories
index 269e05b..836fdb8 100644
--- a/profiles/categories
+++ b/profiles/categories
@@ -1 +1,2 @@
 games-fps
+games-roguelike

Reply via email to