# Copyright 1999-2014 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Id$ inherit eutils flag-o-matic games SE_VER="0.0.7E7" SE_FIXVER="${SE_VER}F2" SE_PN="se007e7f2.tar.gz" SE_CONF="conf12s.tar.gz" DESCRIPTION="Super Lotsa Added Stuff Hack - Extended Magic. A Nethack Variant" HOMEPAGE="http://www.slashem.org/" #SRC_URI="http://www.juiblex.co.uk/nethack/slashem/${SE_PN}" SRC_URI="mirror://sourceforge/slashem/${SE_PN} http://www.juiblex.co.uk/nethack/config/${SE_CONF}" LICENSE="nethack" SLOT="0" KEYWORDS="amd64 ppc x86" IUSE="X sdl opengl" XDEPEND="x11-libs/libXaw x11-libs/libXmu x11-libs/libXext x11-libs/libXt x11-libs/libXpm x11-libs/libX11 x11-libs/libSM x11-libs/libICE x11-libs/libXau x11-libs/libXdmcp" # qt? ( =dev-qt/qt2* ) this version has overflow bugs #79720 RDEPEND=">=sys-libs/ncurses-5.2-r5 X? ( ${XDEPEND} ) opengl? ( virtual/opengl media-libs/libsdl ) sdl? ( media-libs/libsdl )" DEPEND="${RDEPEND} dev-util/yacc" HACKDIR=${GAMES_STATEDIR}/${PN} S=${WORKDIR}/slashem-${SE_FIXVER} src_unpack() { unpack ${SE_PN} cd "${S}" EPATCH_SUFFIX="patch" epatch "${FILESDIR}"/${SE_VER} # This copies the /sys/unix Makefile.*s to their correct places for # seding and compiling. append-flags -I../include -I/usr/X11R6/include cd "${S}"/sys/unix source setup.sh || die unpack ${SE_CONF} cp -f "${FILESDIR}"/${SE_VER}/*.configure . || die for c in RedHat9 FHS20 Gentoo prepare-gui Proxy ; do ./config ${c} ../.. done if use X ; then ./config X11 ../.. || die "X config" fi # SDL require X11 for v in sdl ; do #qt use ${v} && { ./config ${v} ../.. || die "${v} config"; } ./config X11 ../.. || die "X config" done # OpenGL requires SDL if use opengl ; then ./config opengl ../.. || die "opengl config" ./config sdl ../.. || die "sdl config" ./config X11 ../.. || die "X config" fi cd "${S}" sed -i \ -e "s:^\(\# define HACKDIR \).*:\1 \"${HACKDIR}\":" \ include/config.h || die "config.h sed" sed -i \ -e "s:^\(CFLAGS =\).*:\1 ${CFLAGS}:" \ src/Makefile || die "src/makefile sed" sed -i \ -e "s:^\(FILE_AREA_UNSHARE =\).*:\1 $(games_get_libdir)/${PN}:" \ Makefile || die "makefile sed" sed -i \ -e "s:^\(\#define FILE_AREA_UNSHARE \).*:\1\"$(games_get_libdir)/${PN}/\":" \ include/unixconf.h || die "unixconf.h sed" } src_compile() { emake all || die "emake all" cd "${S}"/util emake recover || die "emake recover" } src_install() { emake \ GAMEPERM=0750 \ SHELLDIR="${D}/${GAMES_BINDIR}" \ FILE_AREA_VAR="${D}/${HACKDIR}" \ FILE_AREA_SAVE="${D}/${HACKDIR}"/save \ FILE_AREA_SHARE="${D}/${GAMES_DATADIR}"/${PN} \ FILE_AREA_UNSHARE="${D}/$(games_get_libdir)"/${PN} \ FILE_AREA_DOC="${D}"/usr/share/doc/${PF} \ install || die "emake install failed" dodoc doc/*.txt dodoc dat/license doman doc/slashem.6 # The final /usr/bin/slashem is a sh script. This fixes the hard-coded # HACKDIR directory so it doesn't point to ${D}/usr/share/slashemdir dosed "s:^\(HACKDIR=\).*:\1${HACKDIR}:" "${GAMES_BINDIR}"/${PN} dosed "s:^\(HACK=\).*:\1$(games_get_libdir)/${PN}/${PN}:" "${GAMES_BINDIR}"/${PN} newgamesbin util/recover recover-slashem || die "recover install" if use X ; then # install slashem fonts dodir "${GAMES_DATADIR}"/${PN}/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 "${GAMES_DATADIR}"/${PN}/fonts doins *.pcf cd "${D}${GAMES_DATADIR}"/${PN}/fonts mkfontdir || die "The action mkfontdir ${GAMES_DATADIR}/${PN}/fonts failed" # copy slashem X application defaults cd "${S}"/win/X11 sed -i \ -e 's/^\(SlashEM\*font:\).*/\1 fixed/' \ -e 's/^\(SlashEM\*map\*font:\).*/\1 fixed/' \ -e 's:^!\(SlashEM.tile_file.*\):\1:' \ SlashEM.ad || die "Patching SlashEM.ad for X failed" insinto /etc/X11/app-defaults newins SlashEM.ad SlashEM || die "app-defaults failed" fi insinto "${GAMES_DATADIR}"/${PN} doins "${FILESDIR}"/${SE_VER}/dot.slashemrc local windowtypes="tty" #use qt && windowtypes="${windowtypes} qt" use X && windowtypes="${windowtypes} x11" use sdl && windowtypes="${windowtypes} sdl" use opengl && windowtypes="${windowtypes} gl" set -- ${windowtypes} dosed "s:GENTOO_WINDOWTYPES:${windowtypes}:" "${GAMES_DATADIR}"/${PN}/dot.slashemrc insinto /etc/skel newins "${D}/${GAMES_DATADIR}"/${PN}/dot.slashemrc .slashemrc insinto /etc/slashem doins "${FILESDIR}"/${SE_VER}/proxy.slashemrc keepdir "${HACKDIR}"/save prepgamesdirs fperms -R g+w "${HACKDIR}" } pkg_postinst() { games_pkg_postinst elog "You may want to look at /etc/skel/.slashemrc for interesting options" }