swift       15/06/09 08:34:25

  Modified:             ChangeLog
  Added:                nethack-3.4.3-r4.ebuild
  Log:
  Move executable from /usr/share/games to /usr/games/bin and fix bug #551176
  
  (Portage version: 2.2.18/cvs/Linux x86_64, signed Manifest commit with key 
0x2EDD52403B68AF47)

Revision  Changes    Path
1.41                 games-roguelike/nethack/ChangeLog

file : 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/games-roguelike/nethack/ChangeLog?rev=1.41&view=markup
plain: 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/games-roguelike/nethack/ChangeLog?rev=1.41&content-type=text/plain
diff : 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/games-roguelike/nethack/ChangeLog?r1=1.40&r2=1.41

Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/games-roguelike/nethack/ChangeLog,v
retrieving revision 1.40
retrieving revision 1.41
diff -u -r1.40 -r1.41
--- ChangeLog   20 Feb 2015 16:29:51 -0000      1.40
+++ ChangeLog   9 Jun 2015 08:34:25 -0000       1.41
@@ -1,6 +1,11 @@
 # 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.40 
2015/02/20 16:29:51 swift Exp $
+# $Header: /var/cvsroot/gentoo-x86/games-roguelike/nethack/ChangeLog,v 1.41 
2015/06/09 08:34:25 swift Exp $
+
+*nethack-3.4.3-r4 (09 Jun 2015)
+
+  09 Jun 2015; Sven Vermeulen <sw...@gentoo.org> +nethack-3.4.3-r4.ebuild:
+  Move executable from /usr/share/games to /usr/games/bin and fix bug #551176
 
   20 Feb 2015; Sven Vermeulen <sw...@gentoo.org> -nethack-3.4.3-r1.ebuild,
   -nethack-3.4.3-r2.ebuild:



1.1                  games-roguelike/nethack/nethack-3.4.3-r4.ebuild

file : 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/games-roguelike/nethack/nethack-3.4.3-r4.ebuild?rev=1.1&view=markup
plain: 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/games-roguelike/nethack/nethack-3.4.3-r4.ebuild?rev=1.1&content-type=text/plain

Index: nethack-3.4.3-r4.ebuild
===================================================================
# 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-r4.ebuild,v 1.1 
2015/06/09 08:34:25 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}/"{nethack,recover,save}

        exeinto "${BINDIR}"
        newexe src/nethack nethack-bin
        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
        # and points HACK to BINDIR/nethack-bin (see above)
        sed -i \
                -e "s:^\(HACKDIR=\).*$:\1${HACKDIR}:;
                        s:^\(HACK=\).*$:\1${BINDIR}/nethack-bin:" \
                "${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"

        fowners "root:${NETHACK_GROUP}" ${BINDIR}/nethack-bin
        fperms g+s ${BINDIR}/nethack-bin
}

pkg_preinst() {
        if has_version "<${CATEGORY}/${PN}-3.4.3-r3" ; then
                migration=true

                # preserve STATEDIR/{logfile,record}
                # (previous ebuild rev mistakenly removes it)
                for f in "${ROOT}/${STATEDIR}/"{logfile,record} ; do
                        if [[ -e "$f" ]] ; then
                                cp "$f" "$T" || die "Failed to preserve 
${ROOT}/${STATEDIR} files"
                        else
                                touch "$T/$f" || die "Failed to preserve 
${ROOT}/${STATEDIR} files"
                        fi
                done
        fi
}

pkg_postinst() {
        cd "${ROOT}/${STATEDIR}" || die "Failed to enter ${STATEDIR} directory"

        if [[ -v migration ]] ; then
                cp "$T/"{logfile,record} . || \
                die "Failed to preserve ${ROOT}/${STATEDIR} files"

                chown -R root:"${NETHACK_GROUP}" . && \
                chmod -R 660 . && \
                chmod 770 . save || \
                die "Adjustment of file permissions in ${ROOT}/${STATEDIR} 
failed"
        fi

        # we don't want to overwrite existing files, as they contain user data
        local files="logfile perm record"

        touch $files && \
        chmod 660 $files && \
        chown root:"${NETHACK_GROUP}" $files || \
        die "Adjustment of file permissions in "${ROOT}/${STATEDIR}" failed"

        elog "You may want to look at /etc/skel/.nethackrc for interesting 
options"
}




Reply via email to