Update ebuild to reflect QA policy on games and gamestats, with thanks to Luis "arane...
authorSven Vermeulen <swift@gentoo.org>
Fri, 20 Feb 2015 16:25:05 +0000 (16:25 +0000)
committerSven Vermeulen <swift@gentoo.org>
Fri, 20 Feb 2015 16:25:05 +0000 (16:25 +0000)
Package-Manager: portage-2.2.14/cvs/Linux x86_64
Manifest-Sign-Key: 0x2EDD52403B68AF47

games-roguelike/nethack/ChangeLog
games-roguelike/nethack/Manifest
games-roguelike/nethack/nethack-3.4.3-r3.ebuild [new file with mode: 0644]

index 82fc33fb3c1a310fc1e430f5b4cbee67013acc09..b12b7cffc742190bdf3d87c8d18c064a63684f95 100644 (file)
@@ -1,6 +1,12 @@
 # ChangeLog for games-roguelike/nethack
 # Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/games-roguelike/nethack/ChangeLog,v 1.38 2015/02/20 09:42:15 ulm Exp $
+# $Header: /var/cvsroot/gentoo-x86/games-roguelike/nethack/ChangeLog,v 1.39 2015/02/20 16:24:58 swift Exp $
+
+*nethack-3.4.3-r3 (20 Feb 2015)
+
+  20 Feb 2015; Sven Vermeulen <swift@gentoo.org> +nethack-3.4.3-r3.ebuild:
+  Update ebuild to reflect QA policy on games and gamestats, with thanks to Luis
+  "aranea" Ressel
 
   20 Feb 2015; Ulrich Müller <ulm@gentoo.org> nethack-3.4.3-r2.ebuild:
   [QA] Mask package, see bug 125902 comment #102. (Double masked by removing
index b8937618fe6c84419ba5e17c313d35c5ffd8d9eb..be14f85c62b082da647343e3f67de9fcd12905fc 100644 (file)
@@ -12,19 +12,23 @@ AUX nethack-3.4.3-recover.patch 2542 SHA256 ce309d4b1d4ebb2c865754de905e5e16470f
 DIST nethack-343-src.tgz 3497458 SHA256 bb39c3d2a9ee2df4a0c8fdde708fbc63740853a7608d2f4c560b488124866fe4 SHA512 052342c19619219f291571d48cf7799f962eb6ec6f8a276427225c0abbd833eada18abeff9fbd647919f2a9e3bb097d7f154675e283fe48abc4752f24c192d8f WHIRLPOOL 397c787f83149d96ddbfa6a2235c20c3724ed67946889d432774901cb7ddc71b177e2cbd6c3029f4eb0b4df21c81c6a427494dad550fdbace01876a3d9c79d75
 EBUILD nethack-3.4.3-r1.ebuild 4777 SHA256 904cd8a525a5f84aedbef0d6eb88399bef04cc6109e3a218d3f91893aac81666 SHA512 95b9174386533dc8bdf9c56dc8e34984205bbd27489f2da4f0815c781bc0eafd4dde0e3c0a430994bf91e8d7e5279a56f35a767fffa31efb5f1aa3fd6ddede62 WHIRLPOOL 4da489d43aed289b07881929110dd503910d4782c40cda281b600db4473f4d57605bc17772d28a9e5234084f2b0b28b056ae564870d08d20abcd3a94f284bb78
 EBUILD nethack-3.4.3-r2.ebuild 4541 SHA256 943a641fe56f708355282dcf51b6c50718242329fe9042ee63859932dec280b6 SHA512 a3fd4f2a81623b28a6ae690c56fbd493a0262d9639a1886743756b2dd918faac571288bd923a1b02dc6c053d6db8664a7a6d9ea84d35913f6a455b2bf63fdf51 WHIRLPOOL 705e6dd5c0b96e1c104ab2ba90744e207b81c06e0ef12176462c0e7c59c1f8f914336f9f726c2fa682f0a1e60b36cefa30157db2e2af830a923ab9ccd9649556
-MISC ChangeLog 7904 SHA256 cbdb1e04dd062542887866d75494d2bdf4cdc5ff5df42cd82b1f168030768cf9 SHA512 4414cc21e6611f81aec82d6e5fe9641819ed52a7df276a3cd471e8c186d1d184fffed956811437490db6c1111fb879266b63a5a3f66df9583ce6e08a9aac536b WHIRLPOOL 49cf18551591a8c76b8f796fa46c9dcb51b3ceab308a2e24c29fac4bbb3ab4d8e1fe12e7cc35f5cf2279170124946e41c3b8ae2d712cd8818e3f10e59ca28568
+EBUILD nethack-3.4.3-r3.ebuild 5935 SHA256 ca1c8e16270f593f24d791361763a653f22d9d4ef4240464f9e33cf065746570 SHA512 d686eae04c6281a89822ad2d3bcc126c9cea63e731f3e6f4e6d870e7d0df4ef35314cd538a55f3bfe20a6ddbc05b4f156aa9e8bbbb0321e89592a2f8142978d9 WHIRLPOOL 50179bc4e560058090ab09f2cc29629862714b0b47bbf6879e68e8c97439ad16f6a713680e776ac4a80c3e0820392daa64fa5f9b19b10e3d862cbbbe024c221f
+MISC ChangeLog 8114 SHA256 ed7f10bd01dadc63db36909e0eb433c5b7398743fc6079abb8081809598271af SHA512 0f2a05e2cf6e1a88c5a2b6e7fda1e84c12d93f939c0457268e2057d37d4eefe02dd40ab66778bb3bcb1a19de30c13b1bdd3fb82d9899417dbf929523347eaa17 WHIRLPOOL 389787eb1ca6fa53f66f8740092a2e4f44a1a0ee10b289b0a435cad4e0d6579e10cfe2ce2668eff5112dcbf0a4352baeda061b994dcdab50f151cc6ff88db26b
 MISC metadata.xml 309 SHA256 2005cc1606b9c79a29209548d26024b75235e819bd5d96ce12a27ebf6b96c545 SHA512 5e4b98d6a3acf460bca83b8e0f0a08cfc4e8c932b59b6b5f0496e9892c5736a467048d3f3cc3e501055978d1a5b33f22073b9cdb9fc03249c7ffbbe19fc5158a WHIRLPOOL e54645a988abc7dc96c7ded87f278ce73fab73b53a9a3e03bfda3997abddb3a913a747222a23a045d37a77bc8052b3aba7b2864358e08e83a0265120ce82e185
 -----BEGIN PGP SIGNATURE-----
-Version: GnuPG v2
+Version: GnuPG v2.0
 
-iQGcBAEBCAAGBQJU5wMWAAoJEJQzkH1pP7W4vGYL/31p1cGW5zzVZaR63F1PJOyQ
-c15rFicSRtuXPCC/Jr1anyHnraC5lKs6KDkl1/b9ry6sTThHlzB3NmmHIP4O1YJG
-E445hhlzrQ02UoZ3hHC94pzriW6KzNN6aMtuQ4M+O7JQIujYX68i6vCCqs7dpt+l
-nmCX08ujtO/sZfMBoLfmrTXrVFGFe1wJz10hIjd39s1YnGePPgIGCgPVIKG0L4hh
-oOc5XvL8/J/xeJ2JDR33wvoW8wQTOSrzmROlq0L+IiKTEo9G/LLePmI/c6oT/+nW
-akBG4WPdufZg5GMJhfqOn+sOA09WkW7/IKZBNXHLvI/Bc+r/G5Bh7QjPEs5ccx/1
-dDtNh2Elp7LOW540rggHdJ4kaQh4OSqqQ+O0bMAL7wY1lQWyFzKmGg4eRVU6TfuS
-9HH6VYvldiFqveghB+7s2jZjTRK7U8zc+rC8gvKdiTpKzQSZSmJuxBs8ap4jwLqO
-eQW+T9uxItU5D0YLOk+AQ2M/cF0V0/sjEJT6AhB9Jg==
-=rwDR
+iQIcBAEBCAAGBQJU519tAAoJEC7dUkA7aK9HCIcQAJD0Xk2zMwCR72Ecsl3lYIAO
+C4XnIGN43x1rT9B6I9WCHAoI5G5CzCTZFiTCvhnJOVJ5+tm02HyH4istky9yXeBH
+2p7KK5K/A/bkGFQT+WYGDPtOXwSwhINumNbXPLOG89XoNqmq4vgyBnDLIsCd4sBq
+sycHuDbyAcIL+h8jHPZHmtmqw7NzIMU3Ocsk5vZSu3sHpZUJtLBv3kIHvf+S/mMO
+1mQ8sw/A8ErY9+MyHCbVVclfREz4qKqXXOjDkvqcMSto56A88WfwBNVNw8FLeG2J
+8hqQPCfLU20ba+VKme1uOVM8ktG2J5nn0NY9uLP9QyO61np8ei7Yk38wE8igSIRT
+CJjQ5tu5uTOGn6EcA0ooa24X9gd5qJ8LZ3BvZWsgkIaXoMiyISNleHDCP8/png9l
+nRiyXWVEwjYk6rOD4sGN599JUBmBgLDCVM2mr+WdJktQOSOVF3j/WOGUme3TLSjH
+bTKUlVZOylZ3HGTaCDH6QA2ZvLRVenNGa+TWbxV9wRTH1AK7H5qZ94rOmFNBVC41
+kdimJtyY5KuSQ/opJrdbrNKB39edLd0Bnz2cWnNJxXRvMfN0Xs78WTn1gjMf9WyD
+6mw/fbR1IhYkcHYdoIByh19XCE01j/XBLBT1m1PdJ6SDVZtc/ivynZdS5NsKxfdF
+QQ5ITP0sT8k+q7ccLasb
+=TUKl
 -----END PGP SIGNATURE-----
diff --git a/games-roguelike/nethack/nethack-3.4.3-r3.ebuild b/games-roguelike/nethack/nethack-3.4.3-r3.ebuild
new file mode 100644 (file)
index 0000000..eecd0ef
--- /dev/null
@@ -0,0 +1,218 @@
+# Copyright 1999-2015 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-r3.ebuild,v 1.1 2015/02/20 16:24:58 swift Exp $
+
+EAPI=5
+inherit eutils toolchain-funcs flag-o-matic user
+
+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"
+
+LICENSE="nethack"
+SLOT="0"
+KEYWORDS="~amd64 ~hppa ~ppc ~sparc ~x86 ~x86-fbsd"
+IUSE="X"
+
+RDEPEND=">=sys-libs/ncurses-5.2-r5
+       X? (
+               x11-libs/libXaw
+               x11-libs/libXpm
+               x11-libs/libXt
+       )"
+DEPEND="${RDEPEND}
+       virtual/pkgconfig
+       X? (
+               x11-proto/xproto
+               x11-apps/bdftopcf
+               x11-apps/mkfontdir
+       )"
+
+BINDIR="/usr/games/bin"
+HACKDIR="/usr/share/games/${PN}"
+STATEDIR="/var/games/${PN}"
+
+NETHACK_GROUP="gamestat"
+
+pkg_setup() {
+       enewgroup gamestat 36
+}
+
+src_prepare() {
+       # This copies the /sys/unix Makefile.*s to their correct places for
+       # seding and compiling.
+       cd "sys/unix" || die "Could not go into sys/unix directory"
+       source setup.sh || die
+
+       cd ../.. || die "Failed to get back to main directory"
+       epatch \
+               "${FILESDIR}"/${PV}-gentoo-paths.patch \
+               "${FILESDIR}"/${PV}-default-options.patch \
+               "${FILESDIR}"/${PV}-bison.patch \
+               "${FILESDIR}"/${PV}-macos.patch \
+               "${FILESDIR}"/${P}-gibc210.patch \
+               "${FILESDIR}"/${P}-recover.patch
+
+       epatch_user
+
+       mv doc/recover.6 doc/nethack-recover.6 || die "Could not rename recover.6 to nethack-recover.6"
+
+       sed -i \
+               -e "s:GENTOO_STATEDIR:${STATEDIR}:" 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
+
+       # sys-libs/ncurses[tinfo]
+       sed -i \
+               -e '/^WINTTYLIB/s| = .*| = '"$(
+                               $(tc-getPKG_CONFIG) --libs ncurses
+                       )"'|g' \
+               src/Makefile || die
+
+       if use X ; then
+               epatch "${FILESDIR}/${PV}-X-support.patch"
+       fi
+}
+
+src_compile() {
+       local lflags="${LDFLAGS}"
+
+       cd "${S}"/src || die "Failed to enter src directory"
+       append-flags -I../include
+
+       emake \
+               CC="$(tc-getCC)" \
+               CFLAGS="${CFLAGS}" \
+               LFLAGS="${lflags}" \
+               ../util/makedefs
+       emake \
+               CC="$(tc-getCC)" \
+               CFLAGS="${CFLAGS}" \
+               LFLAGS="${lflags}"
+       cd "${S}"/util || die "Failed to enter util directory"
+       emake \
+               CC="$(tc-getCC)" \
+               CFLAGS="${CFLAGS}" \
+               LFLAGS="${lflags}" \
+               recover
+}
+
+src_install() {
+       emake \
+               CC="$(tc-getCC)" \
+               CFLAGS="${CFLAGS}" \
+               LFLAGS="-L/usr/X11R6/lib" \
+               GAMEPERM=02755 \
+               GAMEUID="root" GAMEGRP="${NETHACK_GROUP}" \
+               PREFIX="${D}/usr" \
+               GAMEDIR="${D}/${HACKDIR}" \
+               SHELLDIR="${D}/${BINDIR}" \
+               install
+
+       # We keep this stuff in STATEDIR instead so tidy up.
+       rm -rf "${D}/${HACKDIR}/"{recover,save}
+
+       exeinto "${BINDIR}"
+       newexe 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
+       sed -i \
+               -e "s:^\(HACKDIR=\).*:\1${HACKDIR}:" \
+               "${D}/${BINDIR}/nethack" \
+               || die "sed /${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 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" || die "Failed to enter win/X11 directory"
+               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" || die "Failed to enter fonts directory"
+               mkfontdir || die "The action mkfontdir ${HACKDIR}/fonts failed"
+
+               # copy nethack x application defaults
+               cd "${S}/win/X11" || die "Failed to enter win/X11 directory again"
+               insinto /etc/X11/app-defaults
+               newins NetHack.ad NetHack
+               sed -i \
+                       -e 's:^!\(NetHack.tile_file.*\):\1:' \
+                       "${D}/etc/X11/app-defaults/NetHack" \
+                       || die "sed /etc/X11/app-defaults/NetHack failed"
+       fi
+
+       keepdir "${STATEDIR}/save"
+       rm "${D}/${HACKDIR}/"{logfile,perm,record}
+       make_desktop_entry nethack "Nethack"
+
+       fowners -R "root:${NETHACK_GROUP}" "${STATEDIR}"
+       fperms -R 660 "${STATEDIR}"
+       fperms 770 "${STATEDIR}" "${STATEDIR}/save"
+
+       # FIXME: main executable in /usr/games/share
+}
+
+pkg_preinst() {
+       if has_version "<${CATEGORY}/${PN}-3.4.3-r3" ; then
+               migration=true
+
+               # preserve STATEDIR/{logfile,record} (previous ebuild rev mistakenly removes it)
+               cp "${ROOT}/${STATEDIR}/"{logfile,record} "$T"  # nonfatal
+       fi
+}
+
+pkg_postinst() {
+       # we don't want to overwrite existing files, as they contain user data
+       cd "${ROOT}/${STATEDIR}" || die "Failed to enter ${STATEDIR} directory"
+       local files="logfile perm record"
+
+       touch $files && \
+       chmod 660 $files && \
+       chown root:"${NETHACK_GROUP}" $files || \
+       die "Adjustment of file permissions in "${ROOT}/${STATEDIR}" failed"
+
+       if [[ -v migration ]] ; then
+               cp "$T/"{logfile,record} "${ROOT}/${STATEDIR}"  # nonfatal
+
+               chown -R root:"${NETHACK_GROUP}" "${ROOT}/${STATEDIR}" && \
+               chmod -R 660 "${ROOT}/${STATEDIR}" && \
+               chmod 770 "${ROOT}/${STATEDIR}" "${ROOT}/${STATEDIR}/save" || \
+               die "Adjustment of file permissions in "${ROOT}/${STATEDIR}" failed"
+       fi
+
+       elog "You may want to look at /etc/skel/.nethackrc for interesting options"
+}