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