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
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
|
# Copyright 1999-2008 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/net-www/gnash/gnash-0.8.3.ebuild,v 1.7 2008/10/19 11:49:10 loki_val Exp $
EAPI=1
inherit autotools nsplugins kde-functions qt3 multilib
set-kdedir 3.5
DESCRIPTION="Gnash is a GNU Flash movie player that supports many SWF v7 features"
HOMEPAGE="http://www.gnu.org/software/gnash"
SRC_URI="mirror://gnu/${PN}/${PV}/${P}.tar.bz2"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~x86"
IUSE="+agg -cairo dbus -fbcon -ffmpeg +gstreamer +gtk +kde +nsplugin -opengl -qt3 -sdl test video_cards_i810"
RDEPEND="
agg? ( >=x11-libs/agg-2.5 )
opengl? (
!agg? (
virtual/opengl
gtk? ( x11-libs/gtkglext )
)
)
cairo? (
!opengl? (
!agg? (
x11-libs/cairo
)
)
)
!agg? ( !cairo? ( !opengl? ( >=x11-libs/agg-2.5 ) ) )
gtk? (
x11-libs/gtk+:2
x11-libs/pango
dev-libs/glib
dev-libs/atk
)
kde? ( kde-base/kdelibs:3.5 )
qt3? ( x11-libs/qt:3 )
sdl? ( media-libs/libsdl )
!gtk? ( !kde? ( !qt3? ( !sdl? ( !fbcon? (
x11-libs/gtk+:2
x11-libs/pango
dev-libs/glib
dev-libs/atk
kde-base/kdelibs:3.5
) ) ) ) )
dev-libs/libxml2
sys-libs/zlib
media-libs/jpeg
media-libs/libpng
net-misc/curl
ffmpeg? (
!gstreamer? (
media-libs/libsdl
=media-video/ffmpeg-0.4.9_p20080326
)
)
gstreamer? (
media-plugins/gst-plugins-ffmpeg
media-plugins/gst-plugins-mad
)
>=dev-libs/boost-1.35.0
x11-libs/libX11
x11-libs/libXi
x11-libs/libXmu
x11-libs/libXt
x11-proto/xproto
dbus? ( sys-apps/dbus )
sys-devel/libtool
"
DEPEND="${RDEPEND}
dev-util/pkgconfig
test? ( dev-util/dejagnu
media-gfx/swftools
>=media-libs/ming-0.4.0_beta5 )"
pkg_setup() {
if use !gtk && use !kde && use !fbcon && use !qt3
then
einfo "No Graphical User Interface selected. Enabling kde and gtk"
einfo "since they are the defaults."
export defaultguis=1
fi
if use !agg && use !opengl && use cairo && use kde
then
eerror "The cairo renderer and the kde gui were selected"
eerror "They are incompatible with each other"
eerror "Disable one of them through the respective USE flag"
die "cairo and kde USE flags enabled at the same time"
fi
if use !agg && use opengl && use fbcon
then
eerror "The opengl renderer and the fbcon gui were selected"
eerror "They are incompatible with each other"
eerror "Disable one of them through the respective USE flag"
die "opengl and fbcon USE flags enabled at the same time"
fi
if use nsplugin && use !gtk && [ -z ${defaultguis} ]
then
eerror "The Firefox plugin was selected but not the GTK frontend."
eerror "Disable the nsplugin USE flag or enable the gtk USE flag"
die "nsplugin USE flag enabled with required gtk USE flag disabled"
fi
if use ffmpeg && use gstreamer
then
einfo "Only 1 audio output source can be compiled into ${PN}."
einfo "Selecting gstreamer, since that's upstream default."
einfo "To enable ffmpeg you must also disable gstreamer."
fi
if use agg
then
if use opengl || use cairo
then
einfo "Only 1 renderer can be activated at any one time."
einfo "If more than one renderer is activated, the order of preference is:"
einfo "agg > opengl > cairo"
fi
else
if use !opengl && use !cairo
then
einfo "No renderer selected from agg, opengl, cairo"
einfo "Default renderer agg selected."
fi
fi
if use !ffmpeg && use !gstreamer
then
ewarn "You did not select any media: ffmpeg gstreamer"
ewarn "You will not have sound!"
fi
}
src_unpack() {
unpack ${A}
cd "${S}"
sed -i \
-e 's,config.h,gnashconfig.h,' \
./extensions/dbus/dbus_ext.h || die
epatch "${FILESDIR}"/${P}-boost-dynamic-link.patch
epatch "${FILESDIR}"/${P}-libtool-2.2.patch
eautoreconf
}
src_compile() {
local myconf
if use nsplugin ; then
myconf="${myconf} --enable-nsapi --with-npapi-plugindir=/opt/netscape/plugins"
else
myconf="${myconf} --disable-nsapi"
fi
#Select renderer.
if use agg ; then
myconf="${myconf} --enable-renderer=agg"
elif use opengl ; then
myconf="${myconf} --enable-renderer=ogl"
elif use cairo ; then
myconf="${myconf} --enable-renderer=cairo"
else
myconf="${myconf} --enable-renderer=agg"
fi
#Select which Graphical User Interfaces to build.
local guis="" \
gui=""
for gui in fbcon-FB gtk-GTK2 kde-KDE qt3-QT sdl-SDL
do
use ${gui/-*} && guis="${guis},${gui/*-}"
done
guis=${guis#,}
if [ -z "${guis}" ]
then
guis="GTK2,KDE"
fi
#Select which extensions to build.
local extensions="FILEIO" \
extension=""
for extension in dbus-DBUS gtk-GTK2 test-DEJAGNU
do
use ${extension%-*} && extensions="${extensions},${extension#*-}"
done
#Select audio output extension.
if use gstreamer
then
myconf="${myconf} --enable-media=gst"
elif use ffmpeg
then
myconf="${myconf} --enable-media=ffmpeg"
else
myconf="${myconf} --enable-media=none"
fi
econf \
$(use_enable video_cards_i810 i810-lod-bias) \
--enable-gui=${guis} \
--with-extensions=${extensions} \
--with-ffmpeg-incl=/usr/include \
--with-kde-pluginprefix=${KDEDIR} \
--without-included-ltdl \
--with-ltdl-include=/usr/include \
--with-ltdl-lib=/usr/lib \
${myconf} \
|| die "econf failed"
emake || die "emake failed"
}
src_test() {
cd testsuite
make check || die "make check failed"
./anaylse-results.sh > TESTRESULTS.txt
cat TESTRESULTS.txt
}
src_install() {
emake DESTDIR="${D}" install || die "emake install failed"
if use nsplugin
then
emake DESTDIR="${D}" install-plugin \
|| die "emake install-plugin failed"
inst_plugin /opt/netscape/plugins/libgnashplugin.so
else
rm -rf "${D}/opt"
fi
if use kde
then
pushd plugin/klash &> /dev/null
make DESTDIR="${D}" install-plugin
popd &> /dev/null
fi
use test && dodoc testsuite/TESTRESULTS.txt
dodoc AUTHORS ChangeLog* NEWS README
}
pkg_postinst() {
ewarn "BETA"
ewarn "gnash is still in heavy development"
ewarn "please report gnash bugs upstream to the gnash devs"
if use test
then
ewarn "Test results can be found in /usr/share/doc/${PF}/TESTRESULTS.txt"
ewarn "Currently \"acceptable\" failing tests:"
ewarn "Unexpected failures follow:"
ewarn " --=[ ./actionscript.all ]=--"
ewarn "FAIL: astests-v5-Runner: expected: 584 obtained: 64 [./Date.as:549]"
ewarn "FAIL: astests-v5-Runner: expected: 0 obtained: 8 [./Date.as:550]"
ewarn "FAIL: astests-v5-Runner: expected: 4 obtained: 45 [./Date.as:551]"
ewarn "FAIL: astests-v6-Runner: expected: 584 obtained: 64 [./Date.as:549]"
ewarn "FAIL: astests-v6-Runner: expected: 0 obtained: 8 [./Date.as:550]"
ewarn "FAIL: astests-v6-Runner: expected: 4 obtained: 45 [./Date.as:551]"
ewarn "FAIL: astests-v7-Runner: expected: 584 obtained: 64 [./Date.as:549]"
ewarn "FAIL: astests-v7-Runner: expected: 0 obtained: 8 [./Date.as:550]"
ewarn "FAIL: astests-v7-Runner: expected: 4 obtained: 45 [./Date.as:551]"
ewarn "FAIL: astests-v8-Runner: expected: 584 obtained: 64 [./Date.as:549]"
ewarn "FAIL: astests-v8-Runner: expected: 0 obtained: 8 [./Date.as:550]"
ewarn "FAIL: astests-v8-Runner: expected: 4 obtained: 45 [./Date.as:551]"
fi
}
|