You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
169 lines
4.7 KiB
169 lines
4.7 KiB
# Copyright 1999-2008 Gentoo Foundation
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
# $Header: /var/cvsroot/gentoo-x86/games-roguelike/slashem/slashem-0.0.772.ebuild,v 1.7 2008/03/07 20:17:48 wolf31o2 Exp $
|
|
|
|
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? ( =x11-libs/qt-2* ) 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"
|
|
}
|