123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124 |
- # Copyright 1999-2016 Gentoo Foundation
- # Distributed under the terms of the GNU General Public License v2
- # Regarding licenses: libgarglk is licensed under the GPLv2. Bundled
- # interpreters are licensed under GPLv2, BSD or MIT license, except:
- # - glulxe: custom license, see "terps/glulxle/README"
- # - hugo: custom license, see "licenses/HUGO License.txt"
- # Since we don't compile or install any of the bundled fonts, their licenses
- # don't apply. (Fonts are installed through dependencies instead.)
- EAPI=5
- inherit eutils flag-o-matic multiprocessing toolchain-funcs gnome2-utils games
- DESCRIPTION="An Interactive Fiction (IF) player supporting all major formats"
- HOMEPAGE="http://ccxvii.net/gargoyle/"
- SRC_URI="https://garglk.googlecode.com/files/${P}-sources.zip"
- LICENSE="BSD GPL-2 MIT Hugo Glulxe"
- SLOT="0"
- KEYWORDS="amd64 x86"
- IUSE=""
- RDEPEND="
- >=media-fonts/libertine-5
- media-fonts/liberation-fonts
- media-libs/freetype:2
- media-libs/libpng:0
- media-libs/sdl-mixer
- media-libs/sdl-sound[modplug,mp3,vorbis]
- sys-libs/zlib
- virtual/jpeg:0
- x11-libs/gtk+:2"
- DEPEND="${RDEPEND}
- app-arch/unzip
- dev-util/ftjam
- virtual/pkgconfig"
- S=${WORKDIR}
- src_prepare() {
- # Substitute custom CFLAGS/LDFLAGS.
- sed -i -e \
- "/^\s*OPTIM = / {
- s/ \(-O.*\)\? ;/ ;/
- a LINKFLAGS = ${LDFLAGS} ;
- a SHRLINKFLAGS = ${LDFLAGS} ;
- }" Jamrules || die
- # Don't link against libraries used indirectly through SDL_sound.
- sed -i -e "/GARGLKLIBS/s/-lsmpeg -lvorbisfile//g" Jamrules || die
- # Convert garglk.ini to UNIX format.
- edos2unix garglk/garglk.ini
- # The font name of Linux Libertine changed in version 5.
- sed -i -e 's/Linux Libertine O/Linux Libertine/g' garglk/garglk.ini || die
- epatch "${FILESDIR}"/${P}-desktopfile.patch
- append-cflags -std=gnu89 # build with gcc5 (bug #573378)
- }
- src_compile() {
- # build system messes up flags and toolchain completely
- # append flags to compiler commands to have consistent behavior
- jam \
- -sAR="$(tc-getAR) cru" \
- -sCC="$(tc-getCC) ${CFLAGS}" \
- -sCCFLAGS="" \
- -sC++="$(tc-getCXX) ${CXXFLAGS}" \
- -sCXX="$(tc-getCXX) ${CXXFLAGS}" \
- -sC++FLAGS="" \
- -sGARGLKINI="${GAMES_SYSCONFDIR}/garglk.ini" \
- -sUSESDL=yes \
- -sBUNDLEFONTS=no \
- -dx \
- -j$(makeopts_jobs) || die
- }
- src_install() {
- DESTDIR="${D}" \
- _BINDIR="${GAMES_PREFIX}/libexec/${PN}" \
- _APPDIR="${GAMES_PREFIX}/libexec/${PN}" \
- _LIBDIR="$(games_get_libdir)" \
- EXEMODE=755 \
- FILEMODE=755 \
- jam install || die
- # Install config file.
- insinto "${GAMES_SYSCONFDIR}"
- newins garglk/garglk.ini garglk.ini
- # Install application entry and icon.
- domenu garglk/${PN}.desktop
- doicon -s 32 garglk/${PN}-house.png
- # Symlink binaries to avoid name clashes.
- for terp in advsys agility alan2 alan3 frotz geas git glulxe hugo jacl \
- level9 magnetic nitfol scare tadsr
- do
- dosym "${GAMES_PREFIX}/libexec/${PN}/${terp}" \
- "${GAMES_BINDIR}/${PN}-${terp}"
- done
- # Also symlink the main binary since it resides in libexec.
- dosym "${GAMES_PREFIX}/libexec/${PN}/${PN}" \
- "${GAMES_BINDIR}/${PN}"
- prepgamesdirs
- }
- pkg_preinst() {
- games_pkg_preinst
- gnome2_icon_savelist
- }
- pkg_postinst() {
- games_pkg_postinst
- gnome2_icon_cache_update
- }
- pkg_postrm() {
- gnome2_icon_cache_update
- }
|