/[gentoo-x86]/media-video/vlc/vlc-9999.ebuild
Gentoo

Contents of /media-video/vlc/vlc-9999.ebuild

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.198 - (show annotations) (download)
Sat Oct 26 17:16:29 2013 UTC (4 years ago) by tomwij
Branch: MAIN
Changes since 1.197: +6 -3 lines
Version bump to 2.1.0; summary of the commits leading up to this: Removed and added USE flags so users are adviced to check them, dependencies were also revised, Qt5 support has been added, increased freerdp and libva compatibility, downstream bisected and/or backported fixes of broken audio, default fonts are now set trough econf based on USE flags, configure flags were revised and automagic dependencies have been fixed. Fixes bug #479566. Unrelated to this summary; for the other versions (>=2.0.8) the freerdp and gettext dependencies were updated in this commit to reflect what vlc needs and provides, thanks to Nikoli and Mike Gilbert (floppym) for reporting this last issue on IRC.

(Portage version: HEAD/cvs/Linux x86_64, signed Manifest commit with key 6D34E57D)

1 # Copyright 1999-2013 Gentoo Foundation
2 # Distributed under the terms of the GNU General Public License v2
3 # $Header: /var/cvsroot/gentoo-x86/media-video/vlc/vlc-9999.ebuild,v 1.197 2013/10/26 08:29:54 tomwij Exp $
4
5 EAPI="5"
6
7 SCM=""
8 if [ "${PV%9999}" != "${PV}" ] ; then
9 SCM="git-r3"
10
11 if [ "${PV%.9999}" != "${PV}" ] ; then
12 EGIT_REPO_URI="git://git.videolan.org/vlc/vlc-${PV%.9999}.git"
13 else
14 EGIT_REPO_URI="git://git.videolan.org/vlc.git"
15 fi
16 fi
17
18 inherit eutils multilib autotools toolchain-funcs flag-o-matic virtualx ${SCM}
19
20 MY_PV="${PV/_/-}"
21 MY_PV="${MY_PV/-beta/-test}"
22 MY_P="${PN}-${MY_PV}"
23
24 DESCRIPTION="VLC media player - Video player and streamer"
25 HOMEPAGE="http://www.videolan.org/vlc/"
26 if [ "${PV%9999}" != "${PV}" ] ; then # Live ebuild
27 SRC_URI=""
28 elif [[ "${MY_P}" == "${P}" ]]; then
29 SRC_URI="http://download.videolan.org/pub/videolan/${PN}/${PV}/${P}.tar.xz"
30 else
31 SRC_URI="http://download.videolan.org/pub/videolan/testing/${MY_P}/${MY_P}.tar.xz"
32 fi
33
34 LICENSE="LGPL-2.1 GPL-2"
35 SLOT="0"
36
37 if [ "${PV%9999}" = "${PV}" ] ; then
38 KEYWORDS="~alpha ~amd64 ~arm ~ppc ~ppc64 -sparc ~x86 ~amd64-fbsd ~x86-fbsd"
39 else
40 KEYWORDS=""
41 fi
42
43 IUSE="a52 aalib alsa altivec atmo +audioqueue avahi +avcodec
44 +avformat bidi bluray cdda cddb chromaprint dbus dc1394 debug dirac
45 directfb directx dts dvb +dvbpsi dvd dxva2 elibc_glibc egl +encode faad fdk
46 fluidsynth +ffmpeg flac fontconfig +gcrypt gme gnome gnutls
47 growl httpd ieee1394 ios-vout jack kate kde libass libcaca libnotify
48 libsamplerate libtiger linsys libtar lirc live lua +macosx
49 +macosx-audio +macosx-dialog-provider +macosx-eyetv +macosx-quartztext
50 +macosx-qtkit +macosx-vout matroska media-library mmx modplug mp3 mpeg
51 mtp musepack ncurses neon ogg omxil opencv opengl optimisememory opus
52 png +postproc projectm pulseaudio +qt4 qt5 rdp rtsp run-as-root samba
53 schroedinger sdl sdl-image sftp shout sid skins speex sse svg +swscale
54 taglib theora tremor truetype twolame udev upnp vaapi v4l vcdx vdpau
55 vlm vnc vorbis vpx wma-fixed +X x264 +xcb xml xv zvbi"
56
57 RDEPEND="
58 dev-libs/libgpg-error:0
59 net-dns/libidn:0
60 >=sys-devel/gettext-0.18.3:0
61 >=sys-libs/zlib-1.2.5.1-r2:0[minizip]
62 a52? ( >=media-libs/a52dec-0.7.4-r3:0 )
63 aalib? ( media-libs/aalib:0 )
64 alsa? ( >=media-libs/alsa-lib-1.0.23:0 )
65 avahi? ( >=net-dns/avahi-0.6:0[dbus] )
66 avcodec? ( virtual/ffmpeg:0 )
67 avformat? ( virtual/ffmpeg:0 )
68 bidi? ( >=dev-libs/fribidi-0.10.4:0 )
69 bluray? ( >=media-libs/libbluray-0.2.1:0 )
70 cddb? ( >=media-libs/libcddb-1.2.0:0 )
71 chromaprint? ( >=media-libs/chromaprint-0.6:0 )
72 dbus? ( >=sys-apps/dbus-1.0.2:0 )
73 dc1394? ( >=sys-libs/libraw1394-2.0.1:0 >=media-libs/libdc1394-2.0.2:2 )
74 dirac? ( >=media-video/dirac-0.10.0:0 )
75 directfb? ( dev-libs/DirectFB:0 sys-libs/zlib:0 )
76 dts? ( media-libs/libdca:0 )
77 dvbpsi? ( >=media-libs/libdvbpsi-0.2.1:0 )
78 dvd? ( media-libs/libdvdread:0 >=media-libs/libdvdnav-0.1.9:0 )
79 egl? ( virtual/opengl:0 )
80 elibc_glibc? ( >=sys-libs/glibc-2.8:2.2 )
81 faad? ( >=media-libs/faad2-2.6.1:0 )
82 fdk? ( media-libs/fdk-aac:0 )
83 flac? ( media-libs/libogg:0 >=media-libs/flac-1.1.2:0 )
84 fluidsynth? ( >=media-sound/fluidsynth-1.1.0:0 )
85 fontconfig? ( media-libs/fontconfig:1.0 )
86 gcrypt? ( >=dev-libs/libgcrypt-1.2.0:0 )
87 gme? ( media-libs/game-music-emu:0 )
88 gnome? ( gnome-base/gnome-vfs:2 dev-libs/glib:2 )
89 gnutls? ( >=net-libs/gnutls-2.0.0:0 )
90 ieee1394? ( >=sys-libs/libraw1394-2.0.1:0 >=sys-libs/libavc1394-0.5.3:0 )
91 ios-vout? ( virtual/opengl:0 )
92 jack? ( >=media-sound/jack-audio-connection-kit-0.99.0-r1:0 )
93 kate? ( >=media-libs/libkate-0.1.1:0 )
94 libass? ( >=media-libs/libass-0.9.8:0 media-libs/fontconfig:1.0 )
95 libcaca? ( >=media-libs/libcaca-0.99_beta14:0 )
96 libnotify? ( x11-libs/libnotify:0 x11-libs/gtk+:2 x11-libs/gdk-pixbuf:2 dev-libs/glib:2 )
97 libsamplerate? ( media-libs/libsamplerate:0 )
98 libtar? ( >=dev-libs/libtar-1.2.11-r3:0 )
99 libtiger? ( media-libs/libtiger:0 )
100 linsys? ( >=media-libs/zvbi-0.2.28:0 )
101 lirc? ( app-misc/lirc:0 )
102 live? ( >=media-plugins/live-2011.12.23:0 )
103 lua? ( >=dev-lang/lua-5.1:0 )
104 macosx-vout? ( virtual/opengl:0 )
105 matroska? ( >=dev-libs/libebml-1.0.0:0= >=media-libs/libmatroska-1.0.0:0= )
106 modplug? ( >=media-libs/libmodplug-0.8.8.1:0 )
107 mp3? ( media-libs/libmad:0 )
108 mpeg? ( >=media-libs/libmpeg2-0.3.2:0 )
109 mtp? ( >=media-libs/libmtp-1.0.0:0 )
110 musepack? ( >=media-sound/musepack-tools-444:0 )
111 ncurses? ( sys-libs/ncurses:5[unicode] )
112 ogg? ( media-libs/libogg:0 )
113 opencv? ( >=media-libs/opencv-2.0:0 )
114 opengl? ( virtual/opengl:0 >=x11-libs/libX11-1.3.99.901:0 )
115 opus? ( >=media-libs/opus-1.0.3:0 )
116 png? ( media-libs/libpng:0= sys-libs/zlib:0 )
117 postproc? ( || ( media-video/ffmpeg:0= media-libs/libpostproc:0 ) )
118 projectm? ( media-libs/libprojectm:0 media-fonts/dejavu:0 )
119 pulseaudio? ( >=media-sound/pulseaudio-0.9.22:0 )
120 qt4? ( dev-qt/qtgui:4 dev-qt/qtcore:4 )
121 qt5? ( dev-qt/qtgui:5 dev-qt/qtcore:5 )
122 rdp? ( net-misc/freerdp:0= )
123 samba? ( || ( >=net-fs/samba-3.4.6:0[smbclient] >=net-fs/samba-4.0.0:0[client] ) )
124 schroedinger? ( >=media-libs/schroedinger-1.0.10:0 )
125 sdl? ( >=media-libs/libsdl-1.2.8:0
126 sdl-image? ( media-libs/sdl-image:0 sys-libs/zlib:0 ) )
127 sftp? ( net-libs/libssh2:0 )
128 shout? ( media-libs/libshout:0 )
129 sid? ( media-libs/libsidplay:2 )
130 skins? ( x11-libs/libXext:0 x11-libs/libXpm:0 x11-libs/libXinerama:0 )
131 speex? ( media-libs/speex:0 )
132 svg? ( >=gnome-base/librsvg-2.9.0:2 )
133 swscale? ( virtual/ffmpeg:0 )
134 taglib? ( >=media-libs/taglib-1.5:0 sys-libs/zlib:0 )
135 theora? ( >=media-libs/libtheora-1.0_beta3:0 )
136 tremor? ( media-libs/tremor:0 )
137 truetype? ( media-libs/freetype:2 virtual/ttf-fonts:0
138 !fontconfig? ( media-fonts/dejavu:0 ) )
139 twolame? ( media-sound/twolame:0 )
140 udev? ( virtual/udev:0 )
141 upnp? ( net-libs/libupnp:0 )
142 v4l? ( media-libs/libv4l:0 )
143 vaapi? ( x11-libs/libva:0 )
144 vcdx? ( >=dev-libs/libcdio-0.78.2:0 >=media-video/vcdimager-0.7.22:0 )
145 vdpau? ( >=x11-libs/libvdpau-0.6:0 )
146 vnc? ( >=net-libs/libvncserver-0.9.9:0 )
147 vorbis? ( media-libs/libvorbis:0 )
148 vpx? ( media-libs/libvpx:0 )
149 X? ( x11-libs/libX11:0 )
150 x264? ( >=media-libs/x264-0.0.20090923:0= )
151 xcb? ( >=x11-libs/libxcb-1.6:0 >=x11-libs/xcb-util-0.3.4:0 x11-libs/xcb-util-keysyms:0 )
152 xml? ( dev-libs/libxml2:2 )
153 zvbi? ( >=media-libs/zvbi-0.2.25:0 )
154 "
155
156 DEPEND="${RDEPEND}
157 kde? ( >=kde-base/kdelibs-4:4 )
158 xcb? ( x11-proto/xproto:0 )
159 app-arch/xz-utils:0
160 virtual/pkgconfig:0
161 "
162
163 REQUIRED_USE="
164 aalib? ( X )
165 bidi? ( truetype )
166 cddb? ( cdda )
167 dvb? ( dvbpsi )
168 dxva2? ( avcodec )
169 egl? ( X )
170 ffmpeg? ( avcodec avformat swscale postproc )
171 fontconfig? ( truetype )
172 gnutls? ( gcrypt )
173 httpd? ( lua )
174 libcaca? ( X )
175 libtar? ( skins )
176 libtiger? ( kate )
177 qt4? ( X !qt5 )
178 qt5? ( X !qt4 )
179 sdl? ( X )
180 skins? ( truetype X ^^ ( qt4 qt5 ) )
181 vaapi? ( avcodec X )
182 vlm? ( encode )
183 xv? ( xcb )
184 "
185
186 S="${WORKDIR}/${MY_P}"
187
188 pkg_setup() {
189 if [[ "$(tc-getCC)" == *"gcc"* ]] ; then
190 if [[ $(gcc-major-version) < 4 || ( $(gcc-major-version) == 4 && $(gcc-minor-version) < 5 ) ]] ; then
191 die "You need to have at least >=sys-devel/gcc-4.5 to build and/or have a working vlc, see bug #426754."
192 fi
193 fi
194 }
195
196 src_unpack() {
197 if [ "${PV%9999}" != "${PV}" ] ; then
198 git-r3_src_unpack
199 else
200 unpack ${A}
201 fi
202 }
203
204 src_prepare() {
205 # Support for Qt5.
206 if use qt5 ; then
207 export UIC="/usr/lib64/qt5/bin/uic"
208 export MOC="/usr/lib64/qt5/bin/moc"
209 fi
210
211 # Remove unnecessary warnings about unimplemented pragmas on gcc for now.
212 # Need to recheck this with gcc 4.9 and every subsequent minor bump of gcc.
213 #
214 # config.h:792: warning: ignoring #pragma STDC FENV_ACCESS [-Wunknown-pragmas]
215 # config.h:793: warning: ignoring #pragma STDC FP_CONTRACT [-Wunknown-pragmas]
216 #
217 # http://gcc.gnu.org/c99status.html
218 if [[ "$(tc-getCC)" == *"gcc"* ]] ; then
219 sed -i 's/ifndef __FAST_MATH__/if 0/g' configure.ac || die
220 fi
221
222 # _FORTIFY_SOURCE is set to 2 by default on Gentoo, remove redefine warnings.
223 sed -i '/_FORTIFY_SOURCE.*, 2,/d' configure.ac || die
224
225 # Bootstrap when we are on a git checkout.
226 if [[ "${PV%9999}" != "${PV}" ]] ; then
227 ./bootstrap
228 fi
229
230 # Make it build with libtool 1.5
231 rm -f m4/lt* m4/libtool.m4 || die
232
233 # We are not in a real git checkout due to the absence of a .git directory.
234 touch src/revision.txt || die
235
236 # Fix build system mistake.
237 epatch "${FILESDIR}"/${PN}-2.1.0-fix-libtremor-libs.patch
238
239 # Patch up incompatibilities and reconfigure autotools.
240 epatch "${FILESDIR}"/${PN}-2.1.0-newer-rdp.patch
241 epatch "${FILESDIR}"/${PN}-2.1.0-libva-1.2.1-compat.patch
242
243 # Fix up broken audio when skipping using a fixed reversed bisected commit.
244 epatch "${FILESDIR}"/${PN}-2.1.0-TomWij-bisected-PA-broken-underflow.patch
245
246 eautoreconf
247
248 # Disable automatic running of tests.
249 find . -name 'Makefile.in' -exec sed -i 's/\(..*\)check-TESTS/\1/' {} \; || die
250 }
251
252 src_configure() {
253 # Compatibility fix for Samba 4.
254 use samba && append-cppflags "-I/usr/include/samba-4.0"
255
256 # Needs libresid-builder from libsidplay:2 which is in another directory...
257 # FIXME!
258 append-ldflags "-L/usr/$(get_libdir)/sidplay/builders/"
259
260 if use truetype || use projectm ; then
261 local dejavu="/usr/share/fonts/dejavu/"
262 myconf="--with-default-font=${dejavu}/DejaVuSans.ttf \
263 --with-default-font-family=Sans \
264 --with-default-monospace-font=${dejavu}/DejaVuSansMono.ttf
265 --with-default-monospace-font-family=Monospace"
266 fi
267
268 local qt_flag=""
269 if use qt4 || use qt5 ; then
270 qt_flag="--enable-qt"
271 fi
272
273 econf \
274 ${myconf} \
275 --enable-vlc \
276 --docdir=/usr/share/doc/${PF} \
277 --disable-dependency-tracking \
278 --disable-optimizations \
279 --disable-update-check \
280 --enable-fast-install \
281 --enable-screen \
282 $(use_enable a52) \
283 $(use_enable aalib aa) \
284 $(use_enable alsa) \
285 $(use_enable altivec) \
286 $(use_enable atmo) \
287 $(use_enable audioqueue) \
288 $(use_enable avahi bonjour) \
289 $(use_enable avcodec) \
290 $(use_enable avformat) \
291 $(use_enable bidi fribidi) \
292 $(use_enable bluray) \
293 $(use_enable cdda vcd) \
294 $(use_enable cddb libcddb) \
295 $(use_enable chromaprint) \
296 $(use_enable dbus) \
297 $(use_enable dirac) \
298 $(use_enable directfb) \
299 $(use_enable directx) \
300 $(use_enable dc1394) \
301 $(use_enable debug) \
302 $(use_enable dts dca) \
303 $(use_enable dvbpsi) \
304 $(use_enable dvd dvdread) $(use_enable dvd dvdnav) \
305 $(use_enable dxva2) \
306 $(use_enable egl) \
307 $(use_enable encode sout) \
308 $(use_enable faad) \
309 $(use_enable fdk fdkaac) \
310 $(use_enable flac) \
311 $(use_enable fluidsynth) \
312 $(use_enable fontconfig) \
313 $(use_enable gcrypt libgcrypt) \
314 $(use_enable gme) \
315 $(use_enable gnome gnomevfs) \
316 $(use_enable gnutls) \
317 $(use_enable growl) \
318 $(use_enable httpd) \
319 $(use_enable ieee1394 dv1394) \
320 $(use_enable ios-vout) \
321 $(use_enable jack) \
322 $(use_enable kate) \
323 $(use_with kde kde-solid) \
324 $(use_enable libass) \
325 $(use_enable libcaca caca) \
326 $(use_enable libnotify notify) \
327 $(use_enable libsamplerate samplerate) \
328 $(use_enable libtar) \
329 $(use_enable libtiger tiger) \
330 $(use_enable linsys) \
331 $(use_enable lirc) \
332 $(use_enable live live555) \
333 $(use_enable lua) \
334 $(use_enable macosx-audio) \
335 $(use_enable macosx-dialog-provider) \
336 $(use_enable macosx-eyetv) \
337 $(use_enable macosx-qtkit) \
338 $(use_enable macosx-quartztext) \
339 $(use_enable macosx-vout) \
340 $(use_enable matroska mkv) \
341 $(use_enable mmx) \
342 $(use_enable modplug mod) \
343 $(use_enable mp3 mad) \
344 $(use_enable mpeg libmpeg2) \
345 $(use_enable mtp) \
346 $(use_enable musepack mpc) \
347 $(use_enable ncurses) \
348 $(use_enable neon) \
349 $(use_enable ogg) $(use_enable ogg mux_ogg) \
350 $(use_enable omxil) \
351 $(use_enable opencv) \
352 $(use_enable opengl glx) $(use_enable opengl glspectrum) \
353 $(use_enable opus) \
354 $(use_enable optimisememory optimize-memory) \
355 $(use_enable png) \
356 $(use_enable postproc) \
357 $(use_enable projectm) \
358 $(use_enable pulseaudio pulse) \
359 ${qt_flag} \
360 $(use_enable rdp freerdp) \
361 $(use_enable rtsp realrtsp) \
362 $(use_enable run-as-root) \
363 $(use_enable samba smbclient) \
364 $(use_enable schroedinger) \
365 $(use_enable sdl) \
366 $(use_enable sdl-image) \
367 $(use_enable sid) \
368 $(use_enable sftp) \
369 $(use_enable shout) \
370 $(use_enable skins skins2) \
371 $(use_enable speex) \
372 $(use_enable sse) \
373 $(use_enable svg) \
374 $(use_enable swscale) \
375 $(use_enable taglib) \
376 $(use_enable theora) \
377 $(use_enable tremor) \
378 $(use_enable truetype freetype) \
379 $(use_enable twolame) \
380 $(use_enable udev) \
381 $(use_enable upnp) \
382 $(use_enable v4l v4l2) \
383 $(use_enable vaapi libva) \
384 $(use_enable vcdx) \
385 $(use_enable vdpau) \
386 $(use_enable vlm) \
387 $(use_enable vnc) \
388 $(use_enable vorbis) \
389 $(use_enable vpx) \
390 $(use_enable wma-fixed) \
391 $(use_with X x) \
392 $(use_enable x264) \
393 $(use_enable xcb) \
394 $(use_enable xml libxml2) \
395 $(use_enable xv xvideo) \
396 $(use_enable zvbi) $(use_enable !zvbi telx) \
397 --disable-crystalhd \
398 --disable-decklink \
399 --disable-goom \
400 --disable-kai \
401 --disable-kva \
402 --disable-mfx \
403 --disable-oss \
404 --disable-shine \
405 --disable-sndio \
406 --disable-x265 \
407 --disable-vda \
408 --disable-vsxu
409
410 # ^ We don't have these disables libraries in the Portage tree yet.
411 }
412
413 src_test() {
414 Xemake check-TESTS
415 }
416
417 DOCS="AUTHORS THANKS NEWS README doc/fortunes.txt doc/intf-vcd.txt"
418
419 src_install() {
420 default
421
422 # Punt useless libtool's .la files
423 find "${D}" -name '*.la' -delete
424 }
425
426 pkg_postinst() {
427 if [ "$ROOT" = "/" ] && [ -x "/usr/$(get_libdir)/vlc/vlc-cache-gen" ] ; then
428 einfo "Running /usr/$(get_libdir)/vlc/vlc-cache-gen on /usr/$(get_libdir)/vlc/plugins/"
429 "/usr/$(get_libdir)/vlc/vlc-cache-gen" -f "/usr/$(get_libdir)/vlc/plugins/"
430 else
431 ewarn "We cannot run vlc-cache-gen (most likely ROOT!=/)"
432 ewarn "Please run /usr/$(get_libdir)/vlc/vlc-cache-gen manually"
433 ewarn "If you do not do it, vlc will take a long time to load."
434 fi
435 }

  ViewVC Help
Powered by ViewVC 1.1.20