blob: 8a9815363d334afa3439ce012abc47548fa74cdf (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
|
# 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
}
|