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
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
|
# Copyright 1999-2008 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/games-strategy/ufo-ai/ufo-ai-2.1.1-r1.ebuild,v 1.4 2008/08/24 14:56:35 tupone Exp $
inherit eutils autotools games
MY_P=${P/-}
DESCRIPTION="UFO: Alien Invasion - X-COM inspired strategy game"
HOMEPAGE="http://ufoai.ninex.info/"
SRC_URI="mirror://sourceforge/ufoai/music.tar.bz2
mirror://sourceforge/ufoai/${MY_P}-data.tar
mirror://sourceforge/ufoai/${MY_P}-source_hotfix.tar.bz2
mirror://sourceforge/ufoai/${MY_P}-i18n.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~x86"
IUSE="alsa arts debug dedicated dga doc ipv6 jack master oss paranoid"
RDEPEND="virtual/opengl
virtual/glu
media-libs/libsdl
media-libs/sdl-ttf
media-libs/jpeg
media-libs/libpng
media-libs/libogg
media-libs/libvorbis
x11-libs/libXxf86vm
virtual/libintl
alsa? ( media-libs/alsa-lib )
arts? ( kde-base/arts )
dga? ( x11-libs/libXxf86dga )
jack? ( media-sound/jack-audio-connection-kit )"
DEPEND="${RDEPEND}
sys-devel/gettext
x11-proto/xf86vidmodeproto
x11-proto/xproto
doc? ( app-doc/doxygen )
dga? ( x11-proto/xf86dgaproto )"
S=${WORKDIR}/${MY_P}-source
dir=${GAMES_DATADIR}/${PN}
src_unpack() {
unpack ${A}
cd "${S}"
local libdir=$(games_get_libdir)/${PN}
# Set libdir
sed -i \
-e "s:libPath, \"\.\":libPath, \"${libdir}\":" \
src/{client,ports/linux}/*.c || die "sed *.c failed"
sed -i \
-e "s:\"s_libdir\", \"\":\"s_libdir\", \"${libdir}\":" \
src/client/snd_ref.c || die "sed snd_ref.c failed"
sed -i \
-e "s:game\.so\", path:game\.so\", \"${libdir}\":" \
src/ports/linux/sys_linux.c || die "sed sys_linux.c failed"
# Set basedir
sed -i \
-e "s:\"fs_basedir\", \"\.\":\"fs_basedir\", \"${dir}\":" \
src/qcommon/files.c || die "sed files.c failed"
sed -i \
-e "s:/usr/local/games/ufoai:${dir}:" \
src/tools/gtkradiant/games/ufoai.game || die "sed ufoai.game failed"
# Fixes bug in finding text files - it should use fs_basedir
sed -i \
-e "s:FS_GetCwd():\"${dir}\":" \
src/qcommon/common.c || die "sed common.c failed"
epatch "${FILESDIR}"/${P}-dprintf.patch
eautoreconf
}
src_compile() {
# Forces building of client.
# gettext is required to show the intro text.
# egamesconf fails with openal.
# $(use_with openal)
egamesconf \
$(use_enable dedicated) \
$(use_enable master) \
$(use_enable !debug release) \
$(use_enable paranoid) \
--with-vid-glx \
--with-vid-vidmode \
--with-sdl \
--with-snd-sdl \
$(use_with alsa snd-alsa) \
$(use_with arts snd-arts) \
$(use_with jack snd-jack) \
$(use_with oss snd-oss) \
$(use_with dga vid-dga) \
$(use_with ipv6) \
--with-gettext \
--without-openal \
|| die "egamesconf failed"
emake || die "emake failed"
if use doc ; then
emake docs || die "emake docs failed"
fi
}
src_install() {
# ufo is usually started by a "ufoai" wrapper script.
# Might as well standardize on the ebuild name, for minimum confusion.
newgamesbin ufo ${PN} || die
newicon src/ports/linux/installer/data/ufo.xpm ${PN}.xpm || die
make_desktop_entry ${PN} "UFO: Alien Invasion" ${PN}
if use dedicated ; then
dogamesbin ufoded || die
fi
if use master ; then
dogamesbin ufomaster || die
fi
if [[ -f ufo2map ]] ; then
dogamesbin ufo2map || die
fi
exeinto "$(games_get_libdir)/${PN}"
doexe *.so base/game.so || die "doexe ${f} failed"
insinto "${dir}"
doins -r "${WORKDIR}"/{base,music} || die "doins -r failed"
if use doc ; then
dohtml -r "${WORKDIR}"/docs/html/*
fi
prepgamesdirs
}
|