summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'games-roguelike/slashem/slashem-0.0.772.ebuild')
-rw-r--r--games-roguelike/slashem/slashem-0.0.772.ebuild168
1 files changed, 168 insertions, 0 deletions
diff --git a/games-roguelike/slashem/slashem-0.0.772.ebuild b/games-roguelike/slashem/slashem-0.0.772.ebuild
new file mode 100644
index 000000000000..a8d0a2662a01
--- /dev/null
+++ b/games-roguelike/slashem/slashem-0.0.772.ebuild
@@ -0,0 +1,168 @@
+# 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"
+}