diff options
author | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 13:49:04 -0700 |
---|---|---|
committer | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 17:38:18 -0700 |
commit | 56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch) | |
tree | 3f91093cdb475e565ae857f1c5a7fd339e2d781e /media-video/vlc | |
download | gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.xz |
proj/gentoo: Initial commit
This commit represents a new era for Gentoo:
Storing the gentoo-x86 tree in Git, as converted from CVS.
This commit is the start of the NEW history.
Any historical data is intended to be grafted onto this point.
Creation process:
1. Take final CVS checkout snapshot
2. Remove ALL ChangeLog* files
3. Transform all Manifests to thin
4. Remove empty Manifests
5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$
5.1. Do not touch files with -kb/-ko keyword flags.
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests
X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project
X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration
X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn
X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts
X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration
X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging
X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'media-video/vlc')
19 files changed, 3237 insertions, 0 deletions
diff --git a/media-video/vlc/Manifest b/media-video/vlc/Manifest new file mode 100644 index 00000000000..e8674edf718 --- /dev/null +++ b/media-video/vlc/Manifest @@ -0,0 +1,3 @@ +DIST vlc-2.1.5.tar.xz 19574208 SHA256 6f6566ab6cd90d381395b7f0e401060b044cd3843e50ceb252b558a88e5d1f72 SHA512 37c6b82b4e89f4a14ed391cc677d9325a032e04bcc51a3e0d7d2ccf9e17a7a0deb90d9129e9dc3baf05a1ea9dae9c05e3177ab17a31098aafa6a2cb23388fa32 WHIRLPOOL c13098f922c7b24f3c718e88807a7dcb656af21bcf2be63d2ec7401583680658bd371e3935ba22537857861e0b1b0c4f0e693c87ed20999c679b4a04cddf7008 +DIST vlc-2.2.0.tar.xz 20861760 SHA256 5e0a27e248c47da723a696420aca3a4dd15cc3ed8cc81618d3f1dc8661b25517 SHA512 41162ff2dcc35edb47721c5a0f5d1346a0bcf3099c641e317ca1ce50baadeec3eef38f10355396a82e029474f6decd1e4355bbf218cadb795ccad3ff81a585bb WHIRLPOOL 83777143ef84177fffb1e034e47012bfe4ac2355883f64d3932dcf0c3edf237d858016523a886d00934da441ae2e7b635dc4111b0fb368083d4b71c43d00f695 +DIST vlc-2.2.1.tar.xz 20940288 SHA256 543d9d7e378ec0fa1ee2e7f7f5acf8c456c7d0ecc32037171523197ef3cf1fcb SHA512 91cd33ac61ebe376c24b3cc0d1dc52d7765fdccbd17e75abbbbf38f52b400e0269dc48f34ed558bff7ec1dd52c4f27098012709a3eb9fe7e8aad1069516de5de WHIRLPOOL 5c889fc5c0137f022b0b3408a5252668a1a946ed45677bb97bbbf0ec14c9411c24e8d1587e987391596774aaf7f1e4592c55b0c0f76742e84296bbfffb08e885 diff --git a/media-video/vlc/files/opencv-3.0.0.patch b/media-video/vlc/files/opencv-3.0.0.patch new file mode 100644 index 00000000000..b09b6515437 --- /dev/null +++ b/media-video/vlc/files/opencv-3.0.0.patch @@ -0,0 +1,12 @@ +http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=b82416d7000a993b33e903095a590fe32212a85e +diff --git a/modules/video_filter/opencv_example.cpp b/modules/video_filter/opencv_example.cpp +index ae3af05..998f286 100644 (file) +--- a/modules/video_filter/opencv_example.cpp ++++ b/modules/video_filter/opencv_example.cpp +@@ -41,6 +41,8 @@ + + #include <opencv2/core/core_c.h> + #include <opencv2/core/core.hpp> ++#include <opencv2/imgproc/imgproc_c.h> ++#include <opencv2/imgproc/imgproc.hpp> + #include <opencv2/objdetect/objdetect.hpp> diff --git a/media-video/vlc/files/qt4-select.patch b/media-video/vlc/files/qt4-select.patch new file mode 100644 index 00000000000..5fcabae79e4 --- /dev/null +++ b/media-video/vlc/files/qt4-select.patch @@ -0,0 +1,51 @@ +https://gist.github.com/karolherbst/fb9e3d8f6ba05f1f5d54 +For use until upstream ever accepts this patch or fixes it themsleves +--- configure.ac.orig 2015-03-01 02:28:48.983932684 +0100 ++++ configure.ac 2015-03-01 02:41:29.641927072 +0100 +@@ -3709,7 +3709,8 @@ + ]) + ]) + AS_IF([test "${enable_qt}" != "no"], [ +- PKG_CHECK_MODULES([QT], [Qt5Core >= 5.1.0 Qt5Widgets Qt5Gui], [ ++ AS_IF([test "${enable_qt}" != "4"], [ ++ PKG_CHECK_MODULES([QT], [Qt5Core >= 5.1.0 Qt5Widgets Qt5Gui], [ + PKG_CHECK_MODULES([QTX11], [Qt5X11Extras], [ + VLC_ADD_LIBS([qt4],[${QTX11_LIBS}]) + VLC_ADD_CXXFLAGS([qt4],[${QTX11_CFLAGS} -DQT5_HAS_X11]) +@@ -3721,20 +3722,23 @@ + AC_PATH_PROGS(MOC, [moc-qt5 moc], moc, ["${QT_HOST_PATH}" "${QT_PATH}/bin" "${CONTRIB_DIR}/bin"]) + AC_PATH_PROGS(RCC, [rcc-qt5 rcc], rcc, ["${QT_HOST_PATH}" "${QT_PATH}/bin" "${CONTRIB_DIR}/bin"]) + AC_PATH_PROGS(UIC, [uic-qt5 uic], uic, ["${QT_HOST_PATH}" "${QT_PATH}/bin" "${CONTRIB_DIR}/bin"]) ++ enable_qt="5" +- ], [ +- PKG_CHECK_MODULES([QT], [QtCore QtGui >= 4.6.0],, [ +- AS_IF([test -n "${enable_qt}"],[ +- AC_MSG_ERROR([${QT_PKG_ERRORS}.]) +- ],[ +- AC_MSG_WARN([${QT_PKG_ERRORS}.]) +- ]) +- enable_qt="no" ++ ]) ++ ]) ++ AS_IF([test "${enable_qt}" != "5"], [ ++ PKG_CHECK_MODULES([QT], [QtCore QtGui >= 4.6.0],, [ ++ AS_IF([test -n "${enable_qt}"],[ ++ AC_MSG_ERROR([${QT_PKG_ERRORS}.]) ++ ],[ ++ AC_MSG_WARN([${QT_PKG_ERRORS}.]) + ]) +- QT_PATH="$(eval $PKG_CONFIG --variable=exec_prefix QtCore)" +- AC_PATH_PROGS(MOC, [moc-qt4 moc], moc, ["${QT_PATH}/bin" "${CONTRIB_DIR}/bin"]) +- AC_PATH_PROG(RCC, rcc, rcc, [${QT_PATH}/bin ${CONTRIB_DIR}/bin]) +- AC_PATH_PROGS(UIC, [uic-qt4 uic], uic, ["${QT_PATH}/bin" "${CONTRIB_DIR}/bin"]) ++ enable_qt="no" + ]) ++ QT_PATH="$(eval $PKG_CONFIG --variable=exec_prefix QtCore)" ++ AC_PATH_PROGS(MOC, [moc-qt4 moc], moc, ["${QT_PATH}/bin" "${CONTRIB_DIR}/bin"]) ++ AC_PATH_PROG(RCC, rcc, rcc, [${QT_PATH}/bin ${CONTRIB_DIR}/bin]) ++ AC_PATH_PROGS(UIC, [uic-qt4 uic], uic, ["${QT_PATH}/bin" "${CONTRIB_DIR}/bin"]) ++ ]) + ]) + AS_IF([test "${enable_qt}" != "no"], [ + VLC_ADD_PLUGIN([qt4]) + diff --git a/media-video/vlc/files/vlc-2.1-mem_undefined_functions.patch b/media-video/vlc/files/vlc-2.1-mem_undefined_functions.patch new file mode 100644 index 00000000000..7289c073641 --- /dev/null +++ b/media-video/vlc/files/vlc-2.1-mem_undefined_functions.patch @@ -0,0 +1,14 @@ +# Fixes gentoo bug 541654 +# https://bugs.gentoo.org/show_bug.cgi?id=541654 +# Committed on behalf of Luca Barbato <lu_zero@gentoo.org> + +--- modules/codec/avcodec/avcommon.h.orig 2015-02-28 15:19:33.449761287 +0000 ++++ modules/codec/avcodec/avcommon.h 2015-02-28 15:20:10.469537179 +0000 +@@ -81,6 +81,7 @@ + #ifdef HAVE_LIBAVUTIL_AVUTIL_H + # include <libavutil/avutil.h> + # include <libavutil/dict.h> ++# include <libavutil/mem.h> + + #define AV_OPTIONS_TEXT "Advanced options." + #define AV_OPTIONS_LONGTEXT "Advanced options, in the form {opt=val,opt2=val2} ." diff --git a/media-video/vlc/files/vlc-2.1.0-TomWij-bisected-PA-broken-underflow.patch b/media-video/vlc/files/vlc-2.1.0-TomWij-bisected-PA-broken-underflow.patch new file mode 100644 index 00000000000..3163410353a --- /dev/null +++ b/media-video/vlc/files/vlc-2.1.0-TomWij-bisected-PA-broken-underflow.patch @@ -0,0 +1,23 @@ +index 2debbcd..72e7fcf 100644 +--- a/modules/audio_output/pulse.c ++++ b/modules/audio_output/pulse.c +@@ -472,8 +472,17 @@ static void stream_underflow_cb(pa_stream *s, void *userdata) + { ++ uint32_t rate = pa_stream_get_sample_spec(s)->rate; + audio_output_t *aout = userdata; + +- msg_Dbg(aout, "underflow"); +- (void) s; ++ msg_Warn(aout, "underflow"); ++ stream_stop(s, aout); ++ ++ aout_sys_t *sys = aout->sys; ++ sys->first_pts = VLC_TS_INVALID; ++ ++ pa_operation *op = pa_stream_update_sample_rate(s, rate, NULL, NULL); ++ if (unlikely(op == NULL)) ++ return; ++ pa_operation_unref(op); + } + + static int stream_wait(pa_stream *stream, pa_threaded_mainloop *mainloop) diff --git a/media-video/vlc/files/vlc-2.1.0-fix-libtremor-libs.patch b/media-video/vlc/files/vlc-2.1.0-fix-libtremor-libs.patch new file mode 100644 index 00000000000..8a58969d0d8 --- /dev/null +++ b/media-video/vlc/files/vlc-2.1.0-fix-libtremor-libs.patch @@ -0,0 +1,11 @@ +--- a/modules/codec/Makefile.am ++++ b/modules/codec/Makefile.am +@@ -215,7 +215,7 @@ + libtremor_plugin_la_SOURCES = codec/vorbis.c + libtremor_plugin_la_CPPFLAGS = $(AM_CPPFLAGS) -DMODULE_NAME_IS_tremor + libtremor_plugin_la_LDFLAGS = $(AM_LDFLAGS) -rpath '$(codecdir)' +-libtremor_plugin_la_LIBADD = -lvorbisdec -logg ++libtremor_plugin_la_LIBADD = $(VORBIS_LIBS) $(OGG_LIBS) + EXTRA_LTLIBRARIES += libtremor_plugin.la + codec_LTLIBRARIES += $(LTLIBtremor) + diff --git a/media-video/vlc/files/vlc-2.1.0-libva-1.2.1-compat.patch b/media-video/vlc/files/vlc-2.1.0-libva-1.2.1-compat.patch new file mode 100644 index 00000000000..db73a4ee42f --- /dev/null +++ b/media-video/vlc/files/vlc-2.1.0-libva-1.2.1-compat.patch @@ -0,0 +1,12 @@ +--- a/modules/codec/avcodec/vaapi.c ++++ b/modules/codec/avcodec/vaapi.c +@@ -36,6 +36,9 @@ + #include <libavcodec/vaapi.h> + #include <X11/Xlib.h> + #include <va/va_x11.h> ++#if VA_MINOR_VERSION >= 34 ++# include <va/va_compat.h> ++#endif + + #include "avcodec.h" + #include "va.h"
\ No newline at end of file diff --git a/media-video/vlc/files/vlc-2.1.0-newer-rdp.patch b/media-video/vlc/files/vlc-2.1.0-newer-rdp.patch new file mode 100644 index 00000000000..aa1957a7150 --- /dev/null +++ b/media-video/vlc/files/vlc-2.1.0-newer-rdp.patch @@ -0,0 +1,47 @@ +--- a/modules/access/rdp.c ++++ b/modules/access/rdp.c +@@ -198,15 +198,15 @@ + demux_sys_t *p_sys = p_vlccontext->p_demux->p_sys; + + /* Configure connexion */ +- p_instance->settings->sw_gdi = true; /* render in buffer */ +- p_instance->settings->fullscreen = true; +- p_instance->settings->hostname = strdup( p_sys->psz_hostname ); +- p_instance->settings->username = ++ p_instance->settings->SoftwareGdi = true; /* render in buffer */ ++ p_instance->settings->Fullscreen = true; ++ p_instance->settings->ServerHostname = strdup( p_sys->psz_hostname ); ++ p_instance->settings->Username = + var_InheritString( p_vlccontext->p_demux, CFG_PREFIX "user" ); +- p_instance->settings->password = ++ p_instance->settings->Password = + var_InheritString( p_vlccontext->p_demux, CFG_PREFIX "password" ); +- p_instance->settings->port = p_sys->i_port; +- p_instance->settings->encryption = ++ p_instance->settings->ServerPort = p_sys->i_port; ++ p_instance->settings->EncryptionMethods = + var_InheritBool( p_vlccontext->p_demux, CFG_PREFIX "encrypt" ); + + return true; +@@ -217,9 +217,9 @@ + vlcrdp_context_t * p_vlccontext = (vlcrdp_context_t *) p_instance->context; + + msg_Dbg( p_vlccontext->p_demux, "connected to desktop %dx%d (%d bpp)", +- p_instance->settings->width, +- p_instance->settings->height, +- p_instance->settings->color_depth ); ++ p_instance->settings->DesktopWidth, ++ p_instance->settings->DesktopHeight, ++ p_instance->settings->ColorDepth ); + + p_instance->update->DesktopResize = desktopResizeHandler; + p_instance->update->BeginPaint = beginPaintHandler; +@@ -415,7 +415,7 @@ + p_sys->p_instance->Authenticate = authenticateHandler; + + /* Set up context handlers and let it be allocated */ +- p_sys->p_instance->context_size = sizeof( vlcrdp_context_t ); ++ p_sys->p_instance->ContextSize = sizeof( vlcrdp_context_t ); + freerdp_context_new( p_sys->p_instance ); + + vlcrdp_context_t * p_vlccontext = (vlcrdp_context_t *) p_sys->p_instance->context; diff --git a/media-video/vlc/files/vlc-2.2.0-fix-xcb.patch b/media-video/vlc/files/vlc-2.2.0-fix-xcb.patch new file mode 100644 index 00000000000..c6a1b94658d --- /dev/null +++ b/media-video/vlc/files/vlc-2.2.0-fix-xcb.patch @@ -0,0 +1,16 @@ +https://github.com/videolan/vlc/commit/c354efa3a2843d479c8fa9e929ff1064e5526bfa +--- modules/hw/vdpau/Makefile.am.orig 2015-04-16 22:29:26.299342749 -0700 ++++ modules/hw/vdpau/Makefile.am 2015-04-16 22:31:40.886340950 -0700 +@@ -45,6 +45,7 @@ + libvdpau_chroma_plugin_la_LIBADD = libvlc_vdpau.la + vdpau_LTLIBRARIES += libvdpau_chroma_plugin.la + ++if HAVE_XCB + libvdpau_display_plugin_la_SOURCES = display.c + libvdpau_display_plugin_la_CPPFLAGS = $(AM_CPPFLAGS) -I$(srcdir)/../../video_output/xcb + libvdpau_display_plugin_la_CFLAGS = $(AM_CFLAGS) $(XCB_CFLAGS) +@@ -52,3 +53,4 @@ + ../../video_output/libvlc_xcb_events.la \ + $(AM_LIBADD) $(X_LIBS) $(X_PRE_LIBS) -lX11 $(XCB_LIBS) + vdpau_LTLIBRARIES += libvdpau_display_plugin.la ++endif diff --git a/media-video/vlc/files/vlc-2.2.0-rdp-1.2.0.patch b/media-video/vlc/files/vlc-2.2.0-rdp-1.2.0.patch new file mode 100644 index 00000000000..19fc70fcc34 --- /dev/null +++ b/media-video/vlc/files/vlc-2.2.0-rdp-1.2.0.patch @@ -0,0 +1,23 @@ +--- a/modules/access/rdp.c 2014-11-22 01:40:52.044973648 -0800 ++++ b/modules/access/rdp.c 2014-11-22 01:36:44.291975380 -0800 +@@ -399,7 +404,9 @@ + if ( p_sys->f_fps <= 0 ) p_sys->f_fps = 1.0; + p_sys->i_frame_interval = 1000000 / p_sys->f_fps; + ++#if defined(FREERDP_VERSION_MAJOR) && defined(FREERDP_VERSION_MINOR) && !(FREERDP_VERSION_MAJOR > 1 || (FREERDP_VERSION_MAJOR == 1 && FREERDP_VERSION_MINOR >= 2)) + freerdp_channels_global_init(); ++#endif + + p_sys->p_instance = freerdp_new(); + if ( !p_sys->p_instance ) +@@ -475,7 +482,10 @@ + + freerdp_disconnect( p_sys->p_instance ); + freerdp_free( p_sys->p_instance ); ++ ++#if defined(FREERDP_VERSION_MAJOR) && defined(FREERDP_VERSION_MINOR) && !(FREERDP_VERSION_MAJOR > 1 || (FREERDP_VERSION_MAJOR == 1 && FREERDP_VERSION_MINOR >= 2)) + freerdp_channels_global_uninit(); ++#endif + + if ( p_sys->p_block ) + block_Release( p_sys->p_block ); diff --git a/media-video/vlc/files/vlc-2.2.0-xcb_vdpau.patch b/media-video/vlc/files/vlc-2.2.0-xcb_vdpau.patch new file mode 100644 index 00000000000..dec6c125af1 --- /dev/null +++ b/media-video/vlc/files/vlc-2.2.0-xcb_vdpau.patch @@ -0,0 +1,15 @@ +--- modules/hw/vdpau/Makefile.am.orig 2015-04-16 22:29:26.299342749 -0700 ++++ modules/hw/vdpau/Makefile.am 2015-04-16 22:31:40.886340950 -0700 +@@ -45,6 +45,7 @@ + libvdpau_chroma_plugin_la_LIBADD = libvlc_vdpau.la + vdpau_LTLIBRARIES += libvdpau_chroma_plugin.la + ++if HAVE_XCB + libvdpau_display_plugin_la_SOURCES = display.c + libvdpau_display_plugin_la_CPPFLAGS = $(AM_CPPFLAGS) -I$(srcdir)/../../video_output/xcb + libvdpau_display_plugin_la_CFLAGS = $(AM_CFLAGS) $(XCB_CFLAGS) +@@ -52,3 +53,4 @@ + ../../video_output/libvlc_xcb_events.la \ + $(AM_LIBADD) $(X_LIBS) $(X_PRE_LIBS) -lX11 $(XCB_LIBS) + vdpau_LTLIBRARIES += libvdpau_display_plugin.la ++endif diff --git a/media-video/vlc/files/vlc-9999-libva-1.2.1-compat.patch b/media-video/vlc/files/vlc-9999-libva-1.2.1-compat.patch new file mode 100644 index 00000000000..adfdefec56a --- /dev/null +++ b/media-video/vlc/files/vlc-9999-libva-1.2.1-compat.patch @@ -0,0 +1,12 @@ +--- a/modules/codec/avcodec/vaapi.c ++++ b/modules/codec/avcodec/vaapi.c +@@ -34,6 +34,9 @@ + #ifdef VLC_VA_BACKEND_XLIB + # include <vlc_xlib.h> + # include <va/va_x11.h> ++#if VA_MINOR_VERSION >= 34 ++# include <va/va_compat.h> ++#endif + #endif + #ifdef VLC_VA_BACKEND_DRM + # include <sys/types.h> diff --git a/media-video/vlc/metadata.xml b/media-video/vlc/metadata.xml new file mode 100644 index 00000000000..e0c31998c33 --- /dev/null +++ b/media-video/vlc/metadata.xml @@ -0,0 +1,78 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <herd>video</herd> + <herd>proxy-maintainers</herd> + <maintainer> + <email>sdnick484@gmail.com</email> + <name>Nick Andrade</name> + <description>Active Maintainer, Assign bugs</description> + </maintainer> + <use> + <flag name="atmo">Enables support for AtmoLight (homebrew Ambient Lighting Technology)</flag> + <flag name="audioqueue">Enables AudioQueue audio module for Mac OS X.</flag> + <flag name="avcodec">Enables libavcodec support for video/audio encoding/decoding. libavcodec is part of FFmpeg.</flag> + <flag name="avformat">Enables libformat support for reading and writing various media containers. libavformat is part of FFmpeg.</flag> + <flag name="bluray">Enables libbluray for Blu-ray disc support.</flag> + <flag name="chromaprint">Enables libchromaprint for Chromaprint based audio fingerprinter support.</flag> + <flag name="dc1394">Enables IIDC cameras support.</flag> + <flag name="dirac">Enable Dirac video support (an advanced royalty-free video compression format) via the reference library: dirac.</flag> + <flag name="directx">Enable Win32 DirectX support.</flag> + <flag name="dvbpsi">Enables support for Mpeg-TS files (.ts, .m2ts, .mts) via <pkg>media-libs/libdvbpsi</pkg>.</flag> + <flag name="dxva2">Enables Win32 DxVA2 support.</flag> + <flag name="egl">Enables EGL video output module.</flag> + <flag name="faad">Enable AAC audio decoding library support via media-libs/faad2.</flag> + <flag name="fdk">Enables the Fraunhofer AAC codec library.</flag> + <flag name="fluidsynth">Enables Fluidsynth MIDI software synthesis (with external sound fonts).</flag> + <flag name="gcrypt">Enables cryptography support via libgcrypt.</flag> + <flag name="gme">Enables support for <pkg>media-libs/game-music-emu</pkg> for playing various video game music formats.</flag> + <flag name="gnome">Adds support for GNOME's filesystem abstraction layer, <pkg>gnome-base/gnome-vfs</pkg>. This flag is not GUI-related.</flag> + <flag name="growl">Enables growl notification support (over UDP for remote access and native on OSX)</flag> + <flag name="httpd">Enables a web based interface for vlc.</flag> + <flag name="ios-vout">Enables iPhone OS video output.</flag> + <flag name="kate">Adds support for Ogg Kate subtitles via libkate.</flag> + <flag name="libtar">Uses libtar instead of the built-in tar reader for reading custom skins.</flag> + <flag name="libtiger">Enables Ogg Kate subtitles rendering using libtiger.</flag> + <flag name="linsys">Enables support for Linux Linear Systems Ltd. SDI and HD-SDI input cards.</flag> + <flag name="live">Enables live555 streaming media support (client support for rtsp).</flag> + <flag name="lua">Enable Lua scripting support, needed for including support for Jamendo (online music platform) and similar things.</flag> + <flag name="macosx">Enables Mac OS X gui support.</flag> + <flag name="macosx-audio">Enables Mac OS X audio module.</flag> + <flag name="macosx-dialog-provider">Enables Mac OS X dialog module.</flag> + <flag name="macosx-eyetv">Enables Mac OS X EyeTV (TNT Tuner) module.</flag> + <flag name="macosx-quartztext">Enables Mac OS X quartz text module.</flag> + <flag name="macosx-qtkit">Enables Mac OS X qtkit module: qtcapture (video) and qtsound (audio) module.</flag> + <flag name="macosx-vout">Enables Mac OS X video output module.</flag> + <flag name="matroska">Enables matroska support using reference libraries (fallback on other existing matroska support if disabled, i.e., matroska enabled FFmpeg)</flag> + <flag name="media-library">Build the (sqlite based) media library.</flag> + <flag name="omxil">Enables OpenMAX Integration Layer codec module.</flag> + <flag name="optimisememory">Enable optimisation for memory rather than performance.</flag> + <flag name="opencv">Enabled OpenCV (computer vision) filter module.</flag> + <flag name="opus">Support opus decoding via libopus.</flag> + <flag name="postproc">Enables image post-processing via libpostproc (part of FFmpeg).</flag> + <flag name="projectm">Enables the projectM visualization plugin.</flag> + <flag name="qt4" restrict=">=media-video/vlc-0.9">Builds a Qt4 based frontend, a graphical interface.</flag> + <flag name="qt5" restrict=">=media-video/vlc-2.2">Builds a Qt5 based frontend, a graphical interface.</flag> + <flag name="rdp">Enables freerdp for RDP/Remote Desktop client support</flag> + <flag name="rtsp">Enables real audio and RTSP modules.</flag> + <flag name="run-as-root">Allows vlc to start for root. Don't enable this unless you have a very specific (e.g. embedded) need for it!</flag> + <flag name="schroedinger">Enable Dirac video support (an advanced royalty-free video compression format) via libschroedinger (high-speed implementation in C of the Dirac codec).</flag> + <flag name="sid">Adds support for playing C64 SID files through <pkg>media-libs/libsidplay-2</pkg>.</flag> + <flag name="sdl-image">Enables sdl image video decoder (depends on sdl)</flag> + <flag name="sftp">Enables libssh2 to support SFTP file transfer.</flag> + <flag name="shout">Enables libshout output.</flag> + <flag name="skins">Enables support for the skins2 interface.</flag> + <flag name="swscale">Enables image scaling and conversion via libswscale (part of FFmpeg).</flag> + <flag name="tremor">Enables tremor, a fixed-point version of the Ogg Vorbis decoder.</flag> + <flag name="twolame">Enables twolame support (MPEG Audio Layer 2 encoder).</flag> + <flag name="upnp">Enables support for the Intel SDK stack based UPnP discovery module instead of CyberLink.</flag> + <flag name="vcdx">Enables VCD with navigation via libvcdinfo (depends on cdio)</flag> + <flag name="vlm">New videolan (media) manager (vlm), a little manager designed to launch and manage multiple streams from within one instance of VLC.</flag> + <flag name="vpx">Enables the decoder(s) from the WebM VP8 / VP9 Codec SDK.</flag> + <flag name="wma-fixed">Enables fixed point WMA decoder.</flag> + <flag name="X">Enables support for, e.g., fullscreen mode via the X Window System. By itself, this flag does not build a graphical interface.</flag> + <flag name="xcb">Support the X C-language Binding, a replacement for Xlib; !!! you will need this option to be able to integrate video in the Qt interface, see bug #500678.</flag> + <flag name="x265">Support X265 Encoder.</flag> + <flag name="zvbi">Enables support for teletext subtitles via the zvbi library.</flag> + </use> +</pkgmetadata> diff --git a/media-video/vlc/vlc-2.1.5-r1.ebuild b/media-video/vlc/vlc-2.1.5-r1.ebuild new file mode 100644 index 00000000000..e2edee1c65e --- /dev/null +++ b/media-video/vlc/vlc-2.1.5-r1.ebuild @@ -0,0 +1,480 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="5" + +SCM="" +if [ "${PV%9999}" != "${PV}" ] ; then + SCM="git-r3" + + if [ "${PV%.9999}" != "${PV}" ] ; then + EGIT_REPO_URI="git://git.videolan.org/vlc/vlc-${PV%.9999}.git" + else + EGIT_REPO_URI="git://git.videolan.org/vlc.git" + fi +fi + +inherit eutils multilib autotools toolchain-funcs flag-o-matic virtualx ${SCM} + +MY_PV="${PV/_/-}" +MY_PV="${MY_PV/-beta/-test}" +MY_P="${PN}-${MY_PV}" + +DESCRIPTION="VLC media player - Video player and streamer" +HOMEPAGE="http://www.videolan.org/vlc/" +if [ "${PV%9999}" != "${PV}" ] ; then # Live ebuild + SRC_URI="" +elif [[ "${MY_P}" == "${P}" ]]; then + SRC_URI="http://download.videolan.org/pub/videolan/${PN}/${PV}/${P}.tar.xz" +else + SRC_URI="http://download.videolan.org/pub/videolan/testing/${MY_P}/${MY_P}.tar.xz" +fi + +LICENSE="LGPL-2.1 GPL-2" +SLOT="0/5-7" # vlc - vlccore + +if [ "${PV%9999}" = "${PV}" ] ; then + KEYWORDS="amd64 ~arm ppc ppc64 -sparc x86 ~x86-fbsd" +else + KEYWORDS="" +fi + +IUSE="a52 aalib alsa altivec atmo +audioqueue avahi +avcodec + +avformat bidi bluray cdda cddb chromaprint dbus dc1394 debug dirac + directfb directx dts dvb +dvbpsi dvd dxva2 elibc_glibc egl +encode faad fdk + fluidsynth +ffmpeg flac fontconfig +gcrypt gme gnome gnutls + growl httpd ieee1394 ios-vout jack kate kde libass libav libcaca libnotify + libsamplerate libtiger linsys libtar lirc live lua +macosx + +macosx-audio +macosx-dialog-provider +macosx-eyetv +macosx-quartztext + +macosx-qtkit +macosx-vout matroska media-library cpu_flags_x86_mmx modplug mp3 mpeg + mtp musepack ncurses neon ogg omxil opencv opengl optimisememory opus + png +postproc projectm pulseaudio +qt4 rdp rtsp run-as-root samba + schroedinger sdl sdl-image sftp shout sid skins speex cpu_flags_x86_sse svg +swscale + taglib theora tremor truetype twolame udev upnp vaapi v4l vcdx vdpau + vlm vnc vorbis wma-fixed +X x264 +xcb xml xv zvbi" + +RDEPEND=" + !<media-video/ffmpeg-1.2:0 + dev-libs/libgpg-error:0 + net-dns/libidn:0 + >=sys-libs/zlib-1.2.5.1-r2:0[minizip] + virtual/libintl:0 + a52? ( >=media-libs/a52dec-0.7.4-r3:0 ) + aalib? ( media-libs/aalib:0 ) + alsa? ( >=media-libs/alsa-lib-1.0.24:0 ) + avahi? ( >=net-dns/avahi-0.6:0[dbus] ) + avcodec? ( + !libav? ( media-video/ffmpeg:0= ) + libav? ( media-video/libav:0= ) + ) + avformat? ( + !libav? ( media-video/ffmpeg:0= ) + libav? ( media-video/libav:0= ) + ) + bidi? ( >=dev-libs/fribidi-0.10.4:0 ) + bluray? ( >=media-libs/libbluray-0.2.1:0 ) + cddb? ( >=media-libs/libcddb-1.2.0:0 ) + chromaprint? ( >=media-libs/chromaprint-0.6:0 ) + dbus? ( >=sys-apps/dbus-1.0.2:0 ) + dc1394? ( >=sys-libs/libraw1394-2.0.1:0 >=media-libs/libdc1394-2.1.0:2 ) + dirac? ( >=media-video/dirac-0.10.0:0 ) + directfb? ( dev-libs/DirectFB:0 sys-libs/zlib:0 ) + dts? ( media-libs/libdca:0 ) + dvbpsi? ( >=media-libs/libdvbpsi-0.2.1:0 ) + dvd? ( media-libs/libdvdread:0 >=media-libs/libdvdnav-0.1.9:0 ) + egl? ( virtual/opengl:0 ) + elibc_glibc? ( >=sys-libs/glibc-2.8:2.2 ) + faad? ( >=media-libs/faad2-2.6.1:0 ) + fdk? ( media-libs/fdk-aac:0 ) + flac? ( media-libs/libogg:0 >=media-libs/flac-1.1.2:0 ) + fluidsynth? ( >=media-sound/fluidsynth-1.1.2:0 ) + fontconfig? ( media-libs/fontconfig:1.0 ) + gcrypt? ( >=dev-libs/libgcrypt-1.2.0:0= ) + gme? ( media-libs/game-music-emu:0 ) + gnome? ( gnome-base/gnome-vfs:2 dev-libs/glib:2 ) + gnutls? ( >=net-libs/gnutls-3.0.20:0 ) + ieee1394? ( >=sys-libs/libraw1394-2.0.1:0 >=sys-libs/libavc1394-0.5.3:0 ) + ios-vout? ( virtual/opengl:0 ) + jack? ( >=media-sound/jack-audio-connection-kit-0.99.0-r1:0 ) + kate? ( >=media-libs/libkate-0.3.0:0 ) + libass? ( >=media-libs/libass-0.9.8:0 media-libs/fontconfig:1.0 ) + libcaca? ( >=media-libs/libcaca-0.99_beta14:0 ) + libnotify? ( x11-libs/libnotify:0 x11-libs/gtk+:2 x11-libs/gdk-pixbuf:2 dev-libs/glib:2 ) + libsamplerate? ( media-libs/libsamplerate:0 ) + libtar? ( >=dev-libs/libtar-1.2.11-r3:0 ) + libtiger? ( >=media-libs/libtiger-0.3.1:0 ) + linsys? ( >=media-libs/zvbi-0.2.28:0 ) + lirc? ( app-misc/lirc:0 ) + live? ( >=media-plugins/live-2011.12.23:0 ) + lua? ( >=dev-lang/lua-5.1:0 ) + macosx-vout? ( virtual/opengl:0 ) + matroska? ( >=dev-libs/libebml-1.0.0:0= >=media-libs/libmatroska-1.0.0:0= ) + modplug? ( >=media-libs/libmodplug-0.8.8.1:0 ) + mp3? ( media-libs/libmad:0 ) + mpeg? ( >=media-libs/libmpeg2-0.3.2:0 ) + mtp? ( >=media-libs/libmtp-1.0.0:0 ) + musepack? ( >=media-sound/musepack-tools-444:0 ) + ncurses? ( sys-libs/ncurses:5[unicode] ) + ogg? ( media-libs/libogg:0 ) + opencv? ( >media-libs/opencv-2.0:0 ) + opengl? ( virtual/opengl:0 >=x11-libs/libX11-1.3.99.901:0 ) + opus? ( >=media-libs/opus-1.0.3:0 ) + png? ( media-libs/libpng:0= sys-libs/zlib:0 ) + postproc? ( + !libav? ( >=media-video/ffmpeg-1.2:0= ) + libav? ( media-libs/libpostproc:0= ) + ) + projectm? ( media-libs/libprojectm:0 media-fonts/dejavu:0 ) + pulseaudio? ( >=media-sound/pulseaudio-0.9.22:0 ) + qt4? ( >=dev-qt/qtgui-4.6.0:4 >=dev-qt/qtcore-4.6.0:4 ) + rdp? ( <net-misc/freerdp-1.2:0= ) + samba? ( || ( >=net-fs/samba-3.4.6:0[smbclient] >=net-fs/samba-4.0.0:0[client] ) ) + schroedinger? ( >=media-libs/schroedinger-1.0.10:0 ) + sdl? ( >=media-libs/libsdl-1.2.10:0 + sdl-image? ( >=media-libs/sdl-image-1.2.10:0 sys-libs/zlib:0 ) ) + sftp? ( net-libs/libssh2:0 ) + shout? ( media-libs/libshout:0 ) + sid? ( media-libs/libsidplay:2 ) + skins? ( x11-libs/libXext:0 x11-libs/libXpm:0 x11-libs/libXinerama:0 ) + speex? ( media-libs/speex:0 ) + svg? ( >=gnome-base/librsvg-2.9.0:2 ) + swscale? ( + !libav? ( media-video/ffmpeg:0= ) + libav? ( media-video/libav:0= ) + ) + taglib? ( >=media-libs/taglib-1.6.1:0 sys-libs/zlib:0 ) + theora? ( >=media-libs/libtheora-1.0_beta3:0 ) + tremor? ( media-libs/tremor:0 ) + truetype? ( media-libs/freetype:2 virtual/ttf-fonts:0 + !fontconfig? ( media-fonts/dejavu:0 ) ) + twolame? ( media-sound/twolame:0 ) + udev? ( >=virtual/udev-142:0 ) + upnp? ( net-libs/libupnp:0 ) + v4l? ( media-libs/libv4l:0 ) + vaapi? ( + x11-libs/libva:0[X] + !libav? ( media-video/ffmpeg:0=[vaapi] ) + libav? ( media-video/libav:0=[vaapi] ) + ) + vcdx? ( >=dev-libs/libcdio-0.78.2:0 >=media-video/vcdimager-0.7.22:0 ) + vdpau? ( >=x11-libs/libvdpau-0.6:0 !<media-video/libav-10_beta1 ) + vnc? ( >=net-libs/libvncserver-0.9.9:0 ) + vorbis? ( media-libs/libvorbis:0 ) + X? ( x11-libs/libX11:0 ) + x264? ( >=media-libs/x264-0.0.20090923:0= ) + xcb? ( >=x11-libs/libxcb-1.6:0 >=x11-libs/xcb-util-0.3.4:0 >=x11-libs/xcb-util-keysyms-0.3.4:0 ) + xml? ( dev-libs/libxml2:2 ) + zvbi? ( >=media-libs/zvbi-0.2.25:0 ) +" + +DEPEND="${RDEPEND} + kde? ( >=kde-base/kdelibs-4:4 ) + xcb? ( x11-proto/xproto:0 ) + app-arch/xz-utils:0 + >=sys-devel/gettext-0.18.3:* + virtual/pkgconfig:* +" + +REQUIRED_USE=" + aalib? ( X ) + bidi? ( truetype ) + cddb? ( cdda ) + dvb? ( dvbpsi ) + dxva2? ( avcodec ) + egl? ( X ) + ffmpeg? ( avcodec avformat swscale postproc ) + fontconfig? ( truetype ) + gnutls? ( gcrypt ) + httpd? ( lua ) + libcaca? ( X ) + libtar? ( skins ) + libtiger? ( kate ) + qt4? ( X ) + sdl? ( X ) + skins? ( truetype X qt4 ) + vaapi? ( avcodec X ) + vlm? ( encode ) + xv? ( xcb ) +" + +S="${WORKDIR}/${MY_P}" + +pkg_setup() { + if [[ "${MERGE_TYPE}" != "binary" && "$(tc-getCC)" == *"gcc"* ]] ; then + if [[ $(gcc-major-version) < 4 || ( $(gcc-major-version) == 4 && $(gcc-minor-version) < 5 ) ]] ; then + die "You need to have at least >=sys-devel/gcc-4.5 to build and/or have a working vlc, see bug #426754." + fi + fi +} + +src_unpack() { + if [ "${PV%9999}" != "${PV}" ] ; then + git-r3_src_unpack + else + unpack ${A} + fi +} + +src_prepare() { + # Remove unnecessary warnings about unimplemented pragmas on gcc for now. + # Need to recheck this with gcc 4.9 and every subsequent minor bump of gcc. + # + # config.h:792: warning: ignoring #pragma STDC FENV_ACCESS [-Wunknown-pragmas] + # config.h:793: warning: ignoring #pragma STDC FP_CONTRACT [-Wunknown-pragmas] + # + # http://gcc.gnu.org/c99status.html + if [[ "$(tc-getCC)" == *"gcc"* ]] ; then + sed -i 's/ifndef __FAST_MATH__/if 0/g' configure.ac || die + fi + + # Bootstrap when we are on a git checkout. + if [[ "${PV%9999}" != "${PV}" ]] ; then + ./bootstrap + fi + + # Make it build with libtool 1.5 + rm -f m4/lt* m4/libtool.m4 || die + + # We are not in a real git checkout due to the absence of a .git directory. + touch src/revision.txt || die + + # Patch up incompatibilities and reconfigure autotools. + epatch "${FILESDIR}"/${PN}-2.1.0-newer-rdp.patch + epatch "${FILESDIR}"/${PN}-2.1.0-libva-1.2.1-compat.patch + + # Fix up broken audio when skipping using a fixed reversed bisected commit. + epatch "${FILESDIR}"/${PN}-2.1.0-TomWij-bisected-PA-broken-underflow.patch + + # Fix bug #541654 + epatch "${FILESDIR}"/${PN}-2.1-mem_undefined_functions.patch + + # Add missed header imgproc_c.h, imgproc.hpp, bug #554562 + epatch "${FILESDIR}"/opencv-3.0.0.patch + + # Disable avcodec checks when avcodec is not used. + if ! use avcodec; then + sed -i 's/^#if LIBAVCODEC_VERSION_CHECK(.*)$/#if 0/' modules/codec/avcodec/fourcc.c || die + fi + + # Don't use --started-from-file when not using dbus. + if ! use dbus ; then + sed -i 's/ --started-from-file//' share/vlc.desktop.in || die + fi + + # Disable a bogus check + sed -i "s:libavcodec < 56:libavcodec < 57:g" configure.ac || die + + epatch_user + + eautoreconf + + # Disable automatic running of tests. + find . -name 'Makefile.in' -exec sed -i 's/\(..*\)check-TESTS/\1/' {} \; || die + + # If qtchooser is installed, it may break the build, because moc,rcc and uic binaries for wrong qt version may be used. + # Setting QT_SELECT environment variable will enforce correct binaries. + if use qt4; then + export QT_SELECT=qt4 + fi +} + +src_configure() { + # Compatibility fix for Samba 4. + use samba && append-cppflags "-I/usr/include/samba-4.0" + + # We need to disable -fstack-check if use >=gcc 4.8.0. + # See bug #499996 + use x86 && append-cflags $(test-flags-CC -fno-stack-check) + + # Needs libresid-builder from libsidplay:2 which is in another directory... + # FIXME! + append-ldflags "-L/usr/$(get_libdir)/sidplay/builders/" + + if use truetype || use projectm ; then + local dejavu="/usr/share/fonts/dejavu/" + myconf="--with-default-font=${dejavu}/DejaVuSans.ttf \ + --with-default-font-family=Sans \ + --with-default-monospace-font=${dejavu}/DejaVuSansMono.ttf + --with-default-monospace-font-family=Monospace" + fi + + econf \ + ${myconf} \ + --enable-vlc \ + --docdir=/usr/share/doc/${PF} \ + --disable-dependency-tracking \ + --disable-optimizations \ + --disable-update-check \ + --enable-fast-install \ + --enable-screen \ + $(use_enable a52) \ + $(use_enable aalib aa) \ + $(use_enable alsa) \ + $(use_enable altivec) \ + $(use_enable atmo) \ + $(use_enable audioqueue) \ + $(use_enable avahi bonjour) \ + $(use_enable avcodec) \ + $(use_enable avformat) \ + $(use_enable bidi fribidi) \ + $(use_enable bluray) \ + $(use_enable cdda vcd) \ + $(use_enable cddb libcddb) \ + $(use_enable chromaprint) \ + $(use_enable dbus) \ + $(use_enable dirac) \ + $(use_enable directfb) \ + $(use_enable directx) \ + $(use_enable dc1394) \ + $(use_enable debug) \ + $(use_enable dts dca) \ + $(use_enable dvbpsi) \ + $(use_enable dvd dvdread) $(use_enable dvd dvdnav) \ + $(use_enable dxva2) \ + $(use_enable egl) \ + $(use_enable encode sout) \ + $(use_enable faad) \ + $(use_enable fdk fdkaac) \ + $(use_enable flac) \ + $(use_enable fluidsynth) \ + $(use_enable fontconfig) \ + $(use_enable gcrypt libgcrypt) \ + $(use_enable gme) \ + $(use_enable gnome gnomevfs) \ + $(use_enable gnutls) \ + $(use_enable growl) \ + $(use_enable httpd) \ + $(use_enable ieee1394 dv1394) \ + $(use_enable ios-vout) \ + $(use_enable ios-vout ios-vout2) \ + $(use_enable jack) \ + $(use_enable kate) \ + $(use_with kde kde-solid) \ + $(use_enable libass) \ + $(use_enable libcaca caca) \ + $(use_enable libnotify notify) \ + $(use_enable libsamplerate samplerate) \ + $(use_enable libtar) \ + $(use_enable libtiger tiger) \ + $(use_enable linsys) \ + $(use_enable lirc) \ + $(use_enable live live555) \ + $(use_enable lua) \ + $(use_enable macosx-audio) \ + $(use_enable macosx-dialog-provider) \ + $(use_enable macosx-eyetv) \ + $(use_enable macosx-qtkit) \ + $(use_enable macosx-quartztext) \ + $(use_enable macosx-vout) \ + $(use_enable matroska mkv) \ + $(use_enable cpu_flags_x86_mmx mmx) \ + $(use_enable modplug mod) \ + $(use_enable mp3 mad) \ + $(use_enable mpeg libmpeg2) \ + $(use_enable mtp) \ + $(use_enable musepack mpc) \ + $(use_enable ncurses) \ + $(use_enable neon) \ + $(use_enable ogg) $(use_enable ogg mux_ogg) \ + $(use_enable omxil) \ + $(use_enable omxil omxil-vout) \ + $(use_enable opencv) \ + $(use_enable opengl glx) \ + $(use_enable opus) \ + $(use_enable optimisememory optimize-memory) \ + $(use_enable png) \ + $(use_enable postproc) \ + $(use_enable projectm) \ + $(use_enable pulseaudio pulse) \ + $(use_enable qt4 qt) \ + $(use_enable rdp libfreerdp) \ + $(use_enable rtsp realrtsp) \ + $(use_enable run-as-root) \ + $(use_enable samba smbclient) \ + $(use_enable schroedinger) \ + $(use_enable sdl) \ + $(use_enable sdl-image) \ + $(use_enable sid) \ + $(use_enable sftp) \ + $(use_enable shout) \ + $(use_enable skins skins2) \ + $(use_enable speex) \ + $(use_enable cpu_flags_x86_sse sse) \ + $(use_enable svg) \ + $(use_enable swscale) \ + $(use_enable taglib) \ + $(use_enable theora) \ + $(use_enable tremor) \ + $(use_enable truetype freetype) \ + $(use_enable twolame) \ + $(use_enable udev) \ + $(use_enable upnp) \ + $(use_enable v4l v4l2) \ + $(use_enable vaapi libva) \ + $(use_enable vcdx) \ + $(use_enable vdpau) \ + $(use_enable vlm) \ + $(use_enable vnc libvnc) \ + $(use_enable vorbis) \ + $(use_enable wma-fixed) \ + $(use_with X x) \ + $(use_enable x264) \ + $(use_enable xcb) \ + $(use_enable xml libxml2) \ + $(use_enable xv xvideo) \ + $(use_enable zvbi) $(use_enable !zvbi telx) \ + --disable-coverage \ + --disable-cprof \ + --disable-crystalhd \ + --disable-decklink \ + --disable-gles1 \ + --disable-gles2 \ + --disable-goom \ + --disable-ios-audio \ + --disable-kai \ + --disable-kva \ + --disable-maintainer-mode \ + --disable-merge-ffmpeg \ + --disable-opensles \ + --disable-oss \ + --disable-quicksync \ + --disable-quicktime \ + --disable-rpi-omxil \ + --disable-shine \ + --disable-sndio \ + --disable-vda \ + --disable-vsxu \ + --disable-wasapi + + # ^ We don't have these disabled libraries in the Portage tree yet. + + # _FORTIFY_SOURCE is set to 2 in config.h, which is also the default value on Gentoo. + # Other values of _FORTIFY_SOURCE may break the build (bug 523144), so definition should not be removed from config.h. + # To prevent redefinition warnings, we undefine _FORTIFY_SOURCE at the very start of config.h file + sed -i '1i#undef _FORTIFY_SOURCE' "${S}"/config.h || die +} + +src_test() { + Xemake check-TESTS +} + +DOCS="AUTHORS THANKS NEWS README doc/fortunes.txt doc/intf-vcd.txt" + +src_install() { + default + + # Punt useless libtool's .la files + find "${D}" -name '*.la' -delete +} + +pkg_postinst() { + if [ "$ROOT" = "/" ] && [ -x "/usr/$(get_libdir)/vlc/vlc-cache-gen" ] ; then + einfo "Running /usr/$(get_libdir)/vlc/vlc-cache-gen on /usr/$(get_libdir)/vlc/plugins/" + "/usr/$(get_libdir)/vlc/vlc-cache-gen" -f "/usr/$(get_libdir)/vlc/plugins/" + else + ewarn "We cannot run vlc-cache-gen (most likely ROOT!=/)" + ewarn "Please run /usr/$(get_libdir)/vlc/vlc-cache-gen manually" + ewarn "If you do not do it, vlc will take a long time to load." + fi +} diff --git a/media-video/vlc/vlc-2.1.9999.ebuild b/media-video/vlc/vlc-2.1.9999.ebuild new file mode 100644 index 00000000000..e80ec35c569 --- /dev/null +++ b/media-video/vlc/vlc-2.1.9999.ebuild @@ -0,0 +1,474 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="5" + +SCM="" +if [ "${PV%9999}" != "${PV}" ] ; then + SCM="git-r3" + + if [ "${PV%.9999}" != "${PV}" ] ; then + EGIT_REPO_URI="git://git.videolan.org/vlc/vlc-${PV%.9999}.git" + else + EGIT_REPO_URI="git://git.videolan.org/vlc.git" + fi +fi + +inherit eutils multilib autotools toolchain-funcs flag-o-matic virtualx ${SCM} + +MY_PV="${PV/_/-}" +MY_PV="${MY_PV/-beta/-test}" +MY_P="${PN}-${MY_PV}" + +DESCRIPTION="VLC media player - Video player and streamer" +HOMEPAGE="http://www.videolan.org/vlc/" +if [ "${PV%9999}" != "${PV}" ] ; then # Live ebuild + SRC_URI="" +elif [[ "${MY_P}" == "${P}" ]]; then + SRC_URI="http://download.videolan.org/pub/videolan/${PN}/${PV}/${P}.tar.xz" +else + SRC_URI="http://download.videolan.org/pub/videolan/testing/${MY_P}/${MY_P}.tar.xz" +fi + +LICENSE="LGPL-2.1 GPL-2" +SLOT="0/5-7" # vlc - vlccore + +if [ "${PV%9999}" = "${PV}" ] ; then + KEYWORDS="~amd64 ~arm ~ppc -sparc ~x86 ~x86-fbsd" +else + KEYWORDS="" +fi + +IUSE="a52 aalib alsa altivec atmo +audioqueue avahi +avcodec + +avformat bidi bluray cdda cddb chromaprint dbus dc1394 debug dirac + directfb directx dts dvb +dvbpsi dvd dxva2 elibc_glibc egl +encode faad fdk + fluidsynth +ffmpeg flac fontconfig +gcrypt gme gnome gnutls + growl httpd ieee1394 ios-vout jack kate kde libass libav libcaca libnotify + +libsamplerate libtiger linsys libtar lirc live lua +macosx + +macosx-audio +macosx-dialog-provider +macosx-eyetv +macosx-quartztext + +macosx-qtkit +macosx-vout matroska media-library cpu_flags_x86_mmx modplug mp3 mpeg + mtp musepack ncurses neon ogg omxil opencv opengl optimisememory opus + png +postproc projectm pulseaudio +qt4 rdp rtsp run-as-root samba + schroedinger sdl sdl-image sftp shout sid skins speex cpu_flags_x86_sse svg +swscale + taglib theora tremor truetype twolame udev upnp vaapi v4l vcdx vdpau + vlm vnc vorbis wma-fixed +X x264 +xcb xml xv zvbi" + +RDEPEND=" + !<media-video/ffmpeg-1.2:0 + dev-libs/libgpg-error:0 + net-dns/libidn:0 + >=sys-libs/zlib-1.2.5.1-r2:0[minizip] + virtual/libintl:0 + a52? ( >=media-libs/a52dec-0.7.4-r3:0 ) + aalib? ( media-libs/aalib:0 ) + alsa? ( >=media-libs/alsa-lib-1.0.24:0 ) + avahi? ( >=net-dns/avahi-0.6:0[dbus] ) + avcodec? ( + !libav? ( media-video/ffmpeg:0= ) + libav? ( media-video/libav:0= ) + ) + avformat? ( + !libav? ( media-video/ffmpeg:0= ) + libav? ( media-video/libav:0= ) + ) + bidi? ( >=dev-libs/fribidi-0.10.4:0 ) + bluray? ( >=media-libs/libbluray-0.2.1:0 ) + cddb? ( >=media-libs/libcddb-1.2.0:0 ) + chromaprint? ( >=media-libs/chromaprint-0.6:0 ) + dbus? ( >=sys-apps/dbus-1.0.2:0 ) + dc1394? ( >=sys-libs/libraw1394-2.0.1:0 >=media-libs/libdc1394-2.1.0:2 ) + dirac? ( >=media-video/dirac-0.10.0:0 ) + directfb? ( dev-libs/DirectFB:0 sys-libs/zlib:0 ) + dts? ( media-libs/libdca:0 ) + dvbpsi? ( >=media-libs/libdvbpsi-0.2.1:0 ) + dvd? ( media-libs/libdvdread:0 >=media-libs/libdvdnav-0.1.9:0 ) + egl? ( virtual/opengl:0 ) + elibc_glibc? ( >=sys-libs/glibc-2.8:2.2 ) + faad? ( >=media-libs/faad2-2.6.1:0 ) + fdk? ( media-libs/fdk-aac:0 ) + flac? ( media-libs/libogg:0 >=media-libs/flac-1.1.2:0 ) + fluidsynth? ( >=media-sound/fluidsynth-1.1.2:0 ) + fontconfig? ( media-libs/fontconfig:1.0 ) + gcrypt? ( >=dev-libs/libgcrypt-1.2.0:0= ) + gme? ( media-libs/game-music-emu:0 ) + gnome? ( gnome-base/gnome-vfs:2 dev-libs/glib:2 ) + gnutls? ( >=net-libs/gnutls-3.0.20:0 ) + ieee1394? ( >=sys-libs/libraw1394-2.0.1:0 >=sys-libs/libavc1394-0.5.3:0 ) + ios-vout? ( virtual/opengl:0 ) + jack? ( >=media-sound/jack-audio-connection-kit-0.99.0-r1:0 ) + kate? ( >=media-libs/libkate-0.3.0:0 ) + libass? ( >=media-libs/libass-0.9.8:0 media-libs/fontconfig:1.0 ) + libcaca? ( >=media-libs/libcaca-0.99_beta14:0 ) + libnotify? ( x11-libs/libnotify:0 x11-libs/gtk+:2 x11-libs/gdk-pixbuf:2 dev-libs/glib:2 ) + libsamplerate? ( media-libs/libsamplerate:0 ) + libtar? ( >=dev-libs/libtar-1.2.11-r3:0 ) + libtiger? ( >=media-libs/libtiger-0.3.1:0 ) + linsys? ( >=media-libs/zvbi-0.2.28:0 ) + lirc? ( app-misc/lirc:0 ) + live? ( >=media-plugins/live-2011.12.23:0 ) + lua? ( >=dev-lang/lua-5.1:0 ) + macosx-vout? ( virtual/opengl:0 ) + matroska? ( >=dev-libs/libebml-1.0.0:0= >=media-libs/libmatroska-1.0.0:0= ) + modplug? ( >=media-libs/libmodplug-0.8.8.1:0 ) + mp3? ( media-libs/libmad:0 ) + mpeg? ( >=media-libs/libmpeg2-0.3.2:0 ) + mtp? ( >=media-libs/libmtp-1.0.0:0 ) + musepack? ( >=media-sound/musepack-tools-444:0 ) + ncurses? ( sys-libs/ncurses:5[unicode] ) + ogg? ( media-libs/libogg:0 ) + opencv? ( >media-libs/opencv-2.0:0 ) + opengl? ( virtual/opengl:0 >=x11-libs/libX11-1.3.99.901:0 ) + opus? ( >=media-libs/opus-1.0.3:0 ) + png? ( media-libs/libpng:0= sys-libs/zlib:0 ) + postproc? ( + !libav? ( >=media-video/ffmpeg-1.2:0= ) + libav? ( media-libs/libpostproc:0= ) + ) + projectm? ( media-libs/libprojectm:0 media-fonts/dejavu:0 ) + pulseaudio? ( >=media-sound/pulseaudio-0.9.22:0 ) + qt4? ( >=dev-qt/qtgui-4.6.0:4 >=dev-qt/qtcore-4.6.0:4 ) + rdp? ( <net-misc/freerdp-1.2:0= ) + samba? ( || ( >=net-fs/samba-3.4.6:0[smbclient] >=net-fs/samba-4.0.0:0[client] ) ) + schroedinger? ( >=media-libs/schroedinger-1.0.10:0 ) + sdl? ( >=media-libs/libsdl-1.2.10:0 + sdl-image? ( >=media-libs/sdl-image-1.2.10:0 sys-libs/zlib:0 ) ) + sftp? ( net-libs/libssh2:0 ) + shout? ( media-libs/libshout:0 ) + sid? ( media-libs/libsidplay:2 ) + skins? ( x11-libs/libXext:0 x11-libs/libXpm:0 x11-libs/libXinerama:0 ) + speex? ( media-libs/speex:0 ) + svg? ( >=gnome-base/librsvg-2.9.0:2 ) + swscale? ( + !libav? ( media-video/ffmpeg:0= ) + libav? ( media-video/libav:0= ) + ) + taglib? ( >=media-libs/taglib-1.6.1:0 sys-libs/zlib:0 ) + theora? ( >=media-libs/libtheora-1.0_beta3:0 ) + tremor? ( media-libs/tremor:0 ) + truetype? ( media-libs/freetype:2 virtual/ttf-fonts:0 + !fontconfig? ( media-fonts/dejavu:0 ) ) + twolame? ( media-sound/twolame:0 ) + udev? ( >=virtual/udev-142:0 ) + upnp? ( net-libs/libupnp:0 ) + v4l? ( media-libs/libv4l:0 ) + vaapi? ( + x11-libs/libva:0[X] + !libav? ( media-video/ffmpeg:0=[vaapi] ) + libav? ( media-video/libav:0=[vaapi] ) + ) + vcdx? ( >=dev-libs/libcdio-0.78.2:0 >=media-video/vcdimager-0.7.22:0 ) + vdpau? ( >=x11-libs/libvdpau-0.6:0 !<media-video/libav-10_beta1 ) + vnc? ( >=net-libs/libvncserver-0.9.9:0 ) + vorbis? ( media-libs/libvorbis:0 ) + X? ( x11-libs/libX11:0 ) + x264? ( >=media-libs/x264-0.0.20090923:0= ) + xcb? ( >=x11-libs/libxcb-1.6:0 >=x11-libs/xcb-util-0.3.4:0 >=x11-libs/xcb-util-keysyms-0.3.4:0 ) + xml? ( dev-libs/libxml2:2 ) + zvbi? ( >=media-libs/zvbi-0.2.25:0 ) +" + +DEPEND="${RDEPEND} + kde? ( >=kde-base/kdelibs-4:4 ) + xcb? ( x11-proto/xproto:0 ) + app-arch/xz-utils:0 + >=sys-devel/gettext-0.18.3:* + virtual/pkgconfig:* +" + +REQUIRED_USE=" + aalib? ( X ) + bidi? ( truetype ) + cddb? ( cdda ) + dvb? ( dvbpsi ) + dxva2? ( avcodec ) + egl? ( X ) + ffmpeg? ( avcodec avformat swscale postproc ) + fontconfig? ( truetype ) + gnutls? ( gcrypt ) + httpd? ( lua ) + libcaca? ( X ) + libtar? ( skins ) + libtiger? ( kate ) + qt4? ( X ) + sdl? ( X ) + skins? ( truetype X qt4 ) + vaapi? ( avcodec X ) + vlm? ( encode ) + xv? ( xcb ) +" + +S="${WORKDIR}/${MY_P}" + +pkg_setup() { + if [[ "${MERGE_TYPE}" != "binary" && "$(tc-getCC)" == *"gcc"* ]] ; then + if [[ $(gcc-major-version) < 4 || ( $(gcc-major-version) == 4 && $(gcc-minor-version) < 5 ) ]] ; then + die "You need to have at least >=sys-devel/gcc-4.5 to build and/or have a working vlc, see bug #426754." + fi + fi +} + +src_unpack() { + if [ "${PV%9999}" != "${PV}" ] ; then + git-r3_src_unpack + else + unpack ${A} + fi +} + +src_prepare() { + # Remove unnecessary warnings about unimplemented pragmas on gcc for now. + # Need to recheck this with gcc 4.9 and every subsequent minor bump of gcc. + # + # config.h:792: warning: ignoring #pragma STDC FENV_ACCESS [-Wunknown-pragmas] + # config.h:793: warning: ignoring #pragma STDC FP_CONTRACT [-Wunknown-pragmas] + # + # http://gcc.gnu.org/c99status.html + if [[ "$(tc-getCC)" == *"gcc"* ]] ; then + sed -i 's/ifndef __FAST_MATH__/if 0/g' configure.ac || die + fi + + # Bootstrap when we are on a git checkout. + if [[ "${PV%9999}" != "${PV}" ]] ; then + ./bootstrap + fi + + # Make it build with libtool 1.5 + rm -f m4/lt* m4/libtool.m4 || die + + # We are not in a real git checkout due to the absence of a .git directory. + touch src/revision.txt || die + + # Patch up incompatibilities and reconfigure autotools. + epatch "${FILESDIR}"/${PN}-2.1.0-newer-rdp.patch + epatch "${FILESDIR}"/${PN}-2.1.0-libva-1.2.1-compat.patch + + # Fix up broken audio when skipping using a fixed reversed bisected commit. + epatch "${FILESDIR}"/${PN}-2.1.0-TomWij-bisected-PA-broken-underflow.patch + + # Disable avcodec checks when avcodec is not used. + if ! use avcodec; then + sed -i 's/^#if LIBAVCODEC_VERSION_CHECK(.*)$/#if 0/' modules/codec/avcodec/fourcc.c || die + fi + + # Don't use --started-from-file when not using dbus. + if ! use dbus ; then + sed -i 's/ --started-from-file//' share/vlc.desktop.in || die + fi + + # Disable a bogus check + sed -i "s:libavcodec < 56:libavcodec < 57:g" configure.ac || die + + epatch_user + + eautoreconf + + # Disable automatic running of tests. + find . -name 'Makefile.in' -exec sed -i 's/\(..*\)check-TESTS/\1/' {} \; || die + + # If qtchooser is installed, it may break the build, because moc,rcc and uic binaries for wrong qt version may be used. + # Setting QT_SELECT environment variable will enforce correct binaries. + if use qt4; then + export QT_SELECT=qt4 + fi +} + +src_configure() { + # Compatibility fix for Samba 4. + use samba && append-cppflags "-I/usr/include/samba-4.0" + + # We need to disable -fstack-check if use >=gcc 4.8.0. + # See bug #499996 + use x86 && append-cflags $(test-flags-CC -fno-stack-check) + + # Needs libresid-builder from libsidplay:2 which is in another directory... + # FIXME! + append-ldflags "-L/usr/$(get_libdir)/sidplay/builders/" + + if use truetype || use projectm ; then + local dejavu="/usr/share/fonts/dejavu/" + myconf="--with-default-font=${dejavu}/DejaVuSans.ttf \ + --with-default-font-family=Sans \ + --with-default-monospace-font=${dejavu}/DejaVuSansMono.ttf + --with-default-monospace-font-family=Monospace" + fi + + econf \ + ${myconf} \ + --enable-vlc \ + --docdir=/usr/share/doc/${PF} \ + --disable-dependency-tracking \ + --disable-optimizations \ + --disable-update-check \ + --enable-fast-install \ + --enable-screen \ + $(use_enable a52) \ + $(use_enable aalib aa) \ + $(use_enable alsa) \ + $(use_enable altivec) \ + $(use_enable atmo) \ + $(use_enable audioqueue) \ + $(use_enable avahi bonjour) \ + $(use_enable avcodec) \ + $(use_enable avformat) \ + $(use_enable bidi fribidi) \ + $(use_enable bluray) \ + $(use_enable cdda vcd) \ + $(use_enable cddb libcddb) \ + $(use_enable chromaprint) \ + $(use_enable dbus) \ + $(use_enable dirac) \ + $(use_enable directfb) \ + $(use_enable directx) \ + $(use_enable dc1394) \ + $(use_enable debug) \ + $(use_enable dts dca) \ + $(use_enable dvbpsi) \ + $(use_enable dvd dvdread) $(use_enable dvd dvdnav) \ + $(use_enable dxva2) \ + $(use_enable egl) \ + $(use_enable encode sout) \ + $(use_enable faad) \ + $(use_enable fdk fdkaac) \ + $(use_enable flac) \ + $(use_enable fluidsynth) \ + $(use_enable fontconfig) \ + $(use_enable gcrypt libgcrypt) \ + $(use_enable gme) \ + $(use_enable gnome gnomevfs) \ + $(use_enable gnutls) \ + $(use_enable growl) \ + $(use_enable httpd) \ + $(use_enable ieee1394 dv1394) \ + $(use_enable ios-vout) \ + $(use_enable ios-vout ios-vout2) \ + $(use_enable jack) \ + $(use_enable kate) \ + $(use_with kde kde-solid) \ + $(use_enable libass) \ + $(use_enable libcaca caca) \ + $(use_enable libnotify notify) \ + $(use_enable libsamplerate samplerate) \ + $(use_enable libtar) \ + $(use_enable libtiger tiger) \ + $(use_enable linsys) \ + $(use_enable lirc) \ + $(use_enable live live555) \ + $(use_enable lua) \ + $(use_enable macosx-audio) \ + $(use_enable macosx-dialog-provider) \ + $(use_enable macosx-eyetv) \ + $(use_enable macosx-qtkit) \ + $(use_enable macosx-quartztext) \ + $(use_enable macosx-vout) \ + $(use_enable matroska mkv) \ + $(use_enable cpu_flags_x86_mmx mmx) \ + $(use_enable modplug mod) \ + $(use_enable mp3 mad) \ + $(use_enable mpeg libmpeg2) \ + $(use_enable mtp) \ + $(use_enable musepack mpc) \ + $(use_enable ncurses) \ + $(use_enable neon) \ + $(use_enable ogg) $(use_enable ogg mux_ogg) \ + $(use_enable omxil) \ + $(use_enable omxil omxil-vout) \ + $(use_enable opencv) \ + $(use_enable opengl glx) \ + $(use_enable opus) \ + $(use_enable optimisememory optimize-memory) \ + $(use_enable png) \ + $(use_enable postproc) \ + $(use_enable projectm) \ + $(use_enable pulseaudio pulse) \ + $(use_enable qt4 qt) \ + $(use_enable rdp libfreerdp) \ + $(use_enable rtsp realrtsp) \ + $(use_enable run-as-root) \ + $(use_enable samba smbclient) \ + $(use_enable schroedinger) \ + $(use_enable sdl) \ + $(use_enable sdl-image) \ + $(use_enable sid) \ + $(use_enable sftp) \ + $(use_enable shout) \ + $(use_enable skins skins2) \ + $(use_enable speex) \ + $(use_enable cpu_flags_x86_sse sse) \ + $(use_enable svg) \ + $(use_enable swscale) \ + $(use_enable taglib) \ + $(use_enable theora) \ + $(use_enable tremor) \ + $(use_enable truetype freetype) \ + $(use_enable twolame) \ + $(use_enable udev) \ + $(use_enable upnp) \ + $(use_enable v4l v4l2) \ + $(use_enable vaapi libva) \ + $(use_enable vcdx) \ + $(use_enable vdpau) \ + $(use_enable vlm) \ + $(use_enable vnc libvnc) \ + $(use_enable vorbis) \ + $(use_enable wma-fixed) \ + $(use_with X x) \ + $(use_enable x264) \ + $(use_enable xcb) \ + $(use_enable xml libxml2) \ + $(use_enable xv xvideo) \ + $(use_enable zvbi) $(use_enable !zvbi telx) \ + --disable-coverage \ + --disable-cprof \ + --disable-crystalhd \ + --disable-decklink \ + --disable-gles1 \ + --disable-gles2 \ + --disable-goom \ + --disable-ios-audio \ + --disable-kai \ + --disable-kva \ + --disable-maintainer-mode \ + --disable-merge-ffmpeg \ + --disable-opensles \ + --disable-oss \ + --disable-quicksync \ + --disable-quicktime \ + --disable-rpi-omxil \ + --disable-shine \ + --disable-sndio \ + --disable-vda \ + --disable-vsxu \ + --disable-wasapi + + # ^ We don't have these disabled libraries in the Portage tree yet. + + # _FORTIFY_SOURCE is set to 2 in config.h, which is also the default value on Gentoo. + # Other values of _FORTIFY_SOURCE may break the build (bug 523144), so definition should not be removed from config.h. + # To prevent redefinition warnings, we undefine _FORTIFY_SOURCE at the very start of config.h file + sed -i '1i#undef _FORTIFY_SOURCE' "${S}"/config.h || die +} + +src_test() { + Xemake check-TESTS +} + +DOCS="AUTHORS THANKS NEWS README doc/fortunes.txt doc/intf-vcd.txt" + +src_install() { + default + + # Punt useless libtool's .la files + find "${D}" -name '*.la' -delete +} + +pkg_postinst() { + if [ "$ROOT" = "/" ] && [ -x "/usr/$(get_libdir)/vlc/vlc-cache-gen" ] ; then + einfo "Running /usr/$(get_libdir)/vlc/vlc-cache-gen on /usr/$(get_libdir)/vlc/plugins/" + "/usr/$(get_libdir)/vlc/vlc-cache-gen" -f "/usr/$(get_libdir)/vlc/plugins/" + else + ewarn "We cannot run vlc-cache-gen (most likely ROOT!=/)" + ewarn "Please run /usr/$(get_libdir)/vlc/vlc-cache-gen manually" + ewarn "If you do not do it, vlc will take a long time to load." + fi +} diff --git a/media-video/vlc/vlc-2.2.0.ebuild b/media-video/vlc/vlc-2.2.0.ebuild new file mode 100644 index 00000000000..a1473a478b3 --- /dev/null +++ b/media-video/vlc/vlc-2.2.0.ebuild @@ -0,0 +1,495 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="5" + +SCM="" +if [ "${PV%9999}" != "${PV}" ] ; then + SCM="git-r3" + + if [ "${PV%.9999}" != "${PV}" ] ; then + EGIT_REPO_URI="git://git.videolan.org/vlc/vlc-${PV%.9999}.git" + else + EGIT_REPO_URI="git://git.videolan.org/vlc.git" + fi +fi + +inherit eutils multilib autotools toolchain-funcs flag-o-matic virtualx ${SCM} + +MY_PV="${PV/_/-}" +MY_PV="${MY_PV/-beta/-test}" +MY_P="${PN}-${MY_PV}" + +DESCRIPTION="VLC media player - Video player and streamer" +HOMEPAGE="http://www.videolan.org/vlc/" +if [ "${PV%9999}" != "${PV}" ] ; then # Live ebuild + SRC_URI="" +elif [[ "${MY_P}" == "${P}" ]]; then + SRC_URI="http://download.videolan.org/pub/videolan/${PN}/${PV}/${P}.tar.xz" +else + SRC_URI="http://download.videolan.org/pub/videolan/testing/${MY_P}/${MY_P}.tar.xz" +fi + +LICENSE="LGPL-2.1 GPL-2" +SLOT="0/5-8" # vlc - vlccore + +if [ "${PV%9999}" = "${PV}" ] ; then + KEYWORDS="~amd64 ~arm -sparc ~x86 ~x86-fbsd" +else + KEYWORDS="" +fi + +IUSE="a52 aalib alsa altivec atmo +audioqueue avahi +avcodec + +avformat bidi bluray cdda cddb chromaprint dbus dc1394 debug + directfb directx dts dvb +dvbpsi dvd dxva2 elibc_glibc +encode faad fdk + fluidsynth +ffmpeg flac fontconfig +gcrypt gme gnome gnutls + growl httpd ieee1394 jack jpeg kate kde libass libav libcaca libnotify + +libsamplerate libtiger linsys libtar lirc live lua + macosx-dialog-provider macosx-eyetv macosx-quartztext macosx-qtkit + matroska media-library cpu_flags_x86_mmx modplug mp3 mpeg + mtp musepack ncurses neon ogg omxil opencv opengl optimisememory opus + png postproc projectm pulseaudio +qt4 qt5 rdp rtsp run-as-root samba + schroedinger sdl sdl-image sftp shout sid skins speex cpu_flags_x86_sse svg +swscale + taglib theora tremor truetype twolame udev upnp vaapi v4l vcdx vdpau + vlm vnc vorbis vpx wma-fixed +X x264 x265 +xcb xml xv zvbi" + +RDEPEND=" + !<media-video/ffmpeg-1.2:0 + dev-libs/libgpg-error:0 + net-dns/libidn:0 + >=sys-libs/zlib-1.2.5.1-r2:0[minizip] + virtual/libintl:0 + a52? ( >=media-libs/a52dec-0.7.4-r3:0 ) + aalib? ( media-libs/aalib:0 ) + alsa? ( >=media-libs/alsa-lib-1.0.24:0 ) + avahi? ( >=net-dns/avahi-0.6:0[dbus] ) + avcodec? ( + !libav? ( media-video/ffmpeg:0= ) + libav? ( >=media-video/libav-11:0= ) + ) + avformat? ( + !libav? ( media-video/ffmpeg:0= ) + libav? ( media-video/libav:0= ) + ) + bidi? ( >=dev-libs/fribidi-0.10.4:0 ) + bluray? ( >=media-libs/libbluray-0.3:0 ) + cddb? ( >=media-libs/libcddb-1.2:0 ) + chromaprint? ( >=media-libs/chromaprint-0.6:0 ) + dbus? ( >=sys-apps/dbus-1.6:0 ) + dc1394? ( >=sys-libs/libraw1394-2.0.1:0 >=media-libs/libdc1394-2.1:2 ) + directfb? ( dev-libs/DirectFB:0 sys-libs/zlib:0 ) + dts? ( >=media-libs/libdca-0.0.5:0 ) + dvbpsi? ( >=media-libs/libdvbpsi-0.2.1:0 ) + dvd? ( >=media-libs/libdvdread-4.9:0 >=media-libs/libdvdnav-4.9:0 ) + elibc_glibc? ( >=sys-libs/glibc-2.8:2.2 ) + faad? ( >=media-libs/faad2-2.6.1:0 ) + fdk? ( media-libs/fdk-aac:0 ) + flac? ( >=media-libs/libogg-1:0 >=media-libs/flac-1.1.2:0 ) + fluidsynth? ( >=media-sound/fluidsynth-1.1.2:0 ) + fontconfig? ( media-libs/fontconfig:1.0 ) + gcrypt? ( >=dev-libs/libgcrypt-1.2.0:0= ) + gme? ( media-libs/game-music-emu:0 ) + gnome? ( gnome-base/gnome-vfs:2 dev-libs/glib:2 ) + gnutls? ( >=net-libs/gnutls-3.0.20:0 ) + ieee1394? ( >=sys-libs/libraw1394-2.0.1:0 >=sys-libs/libavc1394-0.5.3:0 ) + jack? ( >=media-sound/jack-audio-connection-kit-0.99.0-r1:0 ) + jpeg? ( virtual/jpeg:0 ) + kate? ( >=media-libs/libkate-0.3:0 ) + libass? ( >=media-libs/libass-0.9.8:0 media-libs/fontconfig:1.0 ) + libcaca? ( >=media-libs/libcaca-0.99_beta14:0 ) + libnotify? ( x11-libs/libnotify:0 x11-libs/gtk+:2 x11-libs/gdk-pixbuf:2 dev-libs/glib:2 ) + libsamplerate? ( media-libs/libsamplerate:0 ) + libtar? ( >=dev-libs/libtar-1.2.11-r3:0 ) + libtiger? ( >=media-libs/libtiger-0.3.1:0 ) + linsys? ( >=media-libs/zvbi-0.2.28:0 ) + lirc? ( app-misc/lirc:0 ) + live? ( >=media-plugins/live-2011.12.23:0 ) + lua? ( >=dev-lang/lua-5.1:0 ) + matroska? ( >=dev-libs/libebml-1:0= >=media-libs/libmatroska-1:0= ) + modplug? ( >=media-libs/libmodplug-0.8.4:0 !~media-libs/libmodplug-0.8.8 ) + mp3? ( media-libs/libmad:0 ) + mpeg? ( >=media-libs/libmpeg2-0.3.2:0 ) + mtp? ( >=media-libs/libmtp-1:0 ) + musepack? ( >=media-sound/musepack-tools-444:0 ) + ncurses? ( sys-libs/ncurses:5[unicode] ) + ogg? ( >=media-libs/libogg-1:0 ) + opencv? ( >media-libs/opencv-2:0 ) + opengl? ( virtual/opengl:0 >=x11-libs/libX11-1.3.99.901:0 ) + opus? ( >=media-libs/opus-1.0.3:0 ) + png? ( media-libs/libpng:0= sys-libs/zlib:0 ) + postproc? ( + !libav? ( >=media-video/ffmpeg-2.2:0= ) + libav? ( media-libs/libpostproc:0= ) + ) + projectm? ( media-libs/libprojectm:0 media-fonts/dejavu:0 ) + pulseaudio? ( >=media-sound/pulseaudio-1:0 ) + qt4? ( >=dev-qt/qtgui-4.6:4 >=dev-qt/qtcore-4.6:4 ) + qt5? ( >=dev-qt/qtgui-5.1:5 >=dev-qt/qtcore-5.1:5 >=dev-qt/qtwidgets-5.1:5 >=dev-qt/qtx11extras-5.1:5 ) + rdp? ( >=net-misc/freerdp-1.0.1:0= ) + samba? ( || ( >=net-fs/samba-3.4.6:0[smbclient] >=net-fs/samba-4:0[client] ) ) + schroedinger? ( >=media-libs/schroedinger-1.0.10:0 ) + sdl? ( >=media-libs/libsdl-1.2.10:0 + sdl-image? ( >=media-libs/sdl-image-1.2.10:0 sys-libs/zlib:0 ) ) + sftp? ( net-libs/libssh2:0 ) + shout? ( >=media-libs/libshout-2.1:0 ) + sid? ( media-libs/libsidplay:2 ) + skins? ( x11-libs/libXext:0 x11-libs/libXpm:0 x11-libs/libXinerama:0 ) + speex? ( media-libs/speex:0 ) + svg? ( >=gnome-base/librsvg-2.9:2 >=x11-libs/cairo-1.13.1:0 ) + swscale? ( + !libav? ( media-video/ffmpeg:0= ) + libav? ( media-video/libav:0= ) + ) + taglib? ( >=media-libs/taglib-1.9:0 sys-libs/zlib:0 ) + theora? ( >=media-libs/libtheora-1.0_beta3:0 ) + tremor? ( media-libs/tremor:0 ) + truetype? ( media-libs/freetype:2 virtual/ttf-fonts:0 + !fontconfig? ( media-fonts/dejavu:0 ) ) + twolame? ( media-sound/twolame:0 ) + udev? ( >=virtual/udev-142:0 ) + upnp? ( net-libs/libupnp:0 ) + v4l? ( media-libs/libv4l:0 ) + vaapi? ( + x11-libs/libva:0[X,drm] + !libav? ( media-video/ffmpeg:0=[vaapi] ) + libav? ( media-video/libav:0=[vaapi] ) + ) + vcdx? ( >=dev-libs/libcdio-0.78.2:0 >=media-video/vcdimager-0.7.22:0 )" + +# Temporarily block non-live FFMPEG versions as they break vdpau, 9999 works; +# thus we'll have to wait for a new release there. +RDEPEND="${RDEPEND} + vdpau? ( + >=x11-libs/libvdpau-0.6:0 + !libav? ( >=media-video/ffmpeg-2.2:0= ) + libav? ( >=media-video/libav-10:0= ) + ) + vnc? ( >=net-libs/libvncserver-0.9.9:0 ) + vorbis? ( >=media-libs/libvorbis-1.1:0 ) + vpx? ( media-libs/libvpx:0 ) + X? ( x11-libs/libX11:0 ) + x264? ( >=media-libs/x264-0.0.20090923:0= ) + x265? ( media-libs/x265:0= ) + xcb? ( >=x11-libs/libxcb-1.6:0 >=x11-libs/xcb-util-0.3.4:0 >=x11-libs/xcb-util-keysyms-0.3.4:0 ) + xml? ( >=dev-libs/libxml2-2.5:2 ) + zvbi? ( >=media-libs/zvbi-0.2.25:0 ) +" + +DEPEND="${RDEPEND} + kde? ( >=kde-base/kdelibs-4:4 ) + xcb? ( x11-proto/xproto:0 ) + app-arch/xz-utils:0 + x86? ( dev-lang/yasm:* ) + amd64? ( dev-lang/yasm:* ) + >=sys-devel/gettext-0.18.3:* + virtual/pkgconfig:* +" + +REQUIRED_USE=" + aalib? ( X ) + bidi? ( truetype ) + cddb? ( cdda ) + dvb? ( dvbpsi ) + dxva2? ( avcodec ) + ffmpeg? ( avcodec avformat swscale ) + fontconfig? ( truetype ) + gnutls? ( gcrypt ) + httpd? ( lua ) + libcaca? ( X ) + libtar? ( skins ) + libtiger? ( kate ) + qt4? ( X !qt5 ) + qt5? ( X !qt4 ) + sdl? ( X ) + skins? ( truetype X ^^ ( qt4 qt5 ) ) + vaapi? ( avcodec X ) + vlm? ( encode ) + xv? ( xcb ) +" + +S="${WORKDIR}/${MY_P}" + +pkg_setup() { + if [[ "${MERGE_TYPE}" != "binary" && "$(tc-getCC)" == *"gcc"* ]] ; then + if [[ $(gcc-major-version) < 4 || ( $(gcc-major-version) == 4 && $(gcc-minor-version) < 5 ) ]] ; then + die "You need to have at least >=sys-devel/gcc-4.5 to build and/or have a working vlc, see bug #426754." + fi + fi +} + +src_unpack() { + if [ "${PV%9999}" != "${PV}" ] ; then + git-r3_src_unpack + else + unpack ${A} + fi +} + +src_prepare() { + # Remove unnecessary warnings about unimplemented pragmas on gcc for now. + # Need to recheck this with gcc 4.9 and every subsequent minor bump of gcc. + # + # config.h:792: warning: ignoring #pragma STDC FENV_ACCESS [-Wunknown-pragmas] + # config.h:793: warning: ignoring #pragma STDC FP_CONTRACT [-Wunknown-pragmas] + # + # http://gcc.gnu.org/c99status.html + if [[ "$(tc-getCC)" == *"gcc"* ]] ; then + sed -i 's/ifndef __FAST_MATH__/if 0/g' configure.ac || die + fi + + # Bootstrap when we are on a git checkout. + if [[ "${PV%9999}" != "${PV}" ]] ; then + ./bootstrap + fi + + # Make it build with libtool 1.5 + rm -f m4/lt* m4/libtool.m4 || die + + # We are not in a real git checkout due to the absence of a .git directory. + touch src/revision.txt || die + + # Fix build system mistake. + epatch "${FILESDIR}"/${PN}-2.1.0-fix-libtremor-libs.patch + + # Patch up incompatibilities and reconfigure autotools. + epatch "${FILESDIR}"/${PN}-9999-libva-1.2.1-compat.patch + + # Fix up broken audio when skipping using a fixed reversed bisected commit. + epatch "${FILESDIR}"/${PN}-2.1.0-TomWij-bisected-PA-broken-underflow.patch + + # Bug #541928 + epatch "${FILESDIR}"/${P}-fix-xcb.patch + + # Bug #541678 + epatch "${FILESDIR}"/qt4-select.patch + + # Don't use --started-from-file when not using dbus. + if ! use dbus ; then + sed -i 's/ --started-from-file//' share/vlc.desktop.in || die + fi + + epatch_user + + eautoreconf + + # Disable automatic running of tests. + find . -name 'Makefile.in' -exec sed -i 's/\(..*\)check-TESTS/\1/' {} \; || die + + # If qtchooser is installed, it may break the build, because moc,rcc and uic binaries for wrong qt version may be used. + # Setting QT_SELECT environment variable will enforce correct binaries. + if use qt4; then + export QT_SELECT=qt4 + elif use qt5; then + export QT_SELECT=qt5 + fi +} + +src_configure() { + # Compatibility fix for Samba 4. + use samba && append-cppflags "-I/usr/include/samba-4.0" + + # We need to disable -fstack-check if use >=gcc 4.8.0. + # See bug #499996 + use x86 && append-cflags $(test-flags-CC -fno-stack-check) + + # Needs libresid-builder from libsidplay:2 which is in another directory... + # FIXME! + append-ldflags "-L/usr/$(get_libdir)/sidplay/builders/" + + if use truetype || use projectm ; then + local dejavu="/usr/share/fonts/dejavu/" + myconf="--with-default-font=${dejavu}/DejaVuSans.ttf \ + --with-default-font-family=Sans \ + --with-default-monospace-font=${dejavu}/DejaVuSansMono.ttf + --with-default-monospace-font-family=Monospace" + fi + + local qt_flag="" + if use qt4 ; then + qt_flag="--enable-qt=4" + elif use qt5 ; then + qt_flag="--enable-qt=5" + else + qt_flag="--disable-qt" + fi + + econf \ + ${myconf} \ + --enable-vlc \ + --docdir=/usr/share/doc/${PF} \ + --disable-dependency-tracking \ + --disable-optimizations \ + --disable-update-check \ + --enable-fast-install \ + --enable-screen \ + $(use_enable a52) \ + $(use_enable aalib aa) \ + $(use_enable alsa) \ + $(use_enable altivec) \ + $(use_enable atmo) \ + $(use_enable audioqueue) \ + $(use_enable avahi bonjour) \ + $(use_enable avcodec) \ + $(use_enable avformat) \ + $(use_enable bidi fribidi) \ + $(use_enable bluray) \ + $(use_enable cdda vcd) \ + $(use_enable cddb libcddb) \ + $(use_enable chromaprint) \ + $(use_enable dbus) \ + $(use_enable directfb) \ + $(use_enable directx) \ + $(use_enable dc1394) \ + $(use_enable debug) \ + $(use_enable dts dca) \ + $(use_enable dvbpsi) \ + $(use_enable dvd dvdread) $(use_enable dvd dvdnav) \ + $(use_enable dxva2) \ + $(use_enable encode sout) \ + $(use_enable faad) \ + $(use_enable fdk fdkaac) \ + $(use_enable flac) \ + $(use_enable fluidsynth) \ + $(use_enable fontconfig) \ + $(use_enable gcrypt libgcrypt) \ + $(use_enable gme) \ + $(use_enable gnome gnomevfs) \ + $(use_enable gnutls) \ + $(use_enable growl) \ + $(use_enable httpd) \ + $(use_enable ieee1394 dv1394) \ + $(use_enable jack) \ + $(use_enable jpeg) \ + $(use_enable kate) \ + $(use_with kde kde-solid) \ + $(use_enable libass) \ + $(use_enable libcaca caca) \ + $(use_enable libnotify notify) \ + $(use_enable libsamplerate samplerate) \ + $(use_enable libtar) \ + $(use_enable libtiger tiger) \ + $(use_enable linsys) \ + $(use_enable lirc) \ + $(use_enable live live555) \ + $(use_enable lua) \ + $(use_enable macosx-dialog-provider) \ + $(use_enable macosx-eyetv) \ + $(use_enable macosx-qtkit) \ + $(use_enable macosx-quartztext) \ + $(use_enable matroska mkv) \ + $(use_enable cpu_flags_x86_mmx mmx) \ + $(use_enable modplug mod) \ + $(use_enable mp3 mad) \ + $(use_enable mpeg libmpeg2) \ + $(use_enable mtp) \ + $(use_enable musepack mpc) \ + $(use_enable ncurses) \ + $(use_enable neon) \ + $(use_enable ogg) $(use_enable ogg mux_ogg) \ + $(use_enable omxil) \ + $(use_enable omxil omxil-vout) \ + $(use_enable opencv) \ + $(use_enable opengl glspectrum) \ + $(use_enable opus) \ + $(use_enable optimisememory optimize-memory) \ + $(use_enable png) \ + $(use_enable postproc) \ + $(use_enable projectm) \ + $(use_enable pulseaudio pulse) \ + ${qt_flag} \ + $(use_enable rdp freerdp) \ + $(use_enable rtsp realrtsp) \ + $(use_enable run-as-root) \ + $(use_enable samba smbclient) \ + $(use_enable schroedinger) \ + $(use_enable sdl) \ + $(use_enable sdl-image) \ + $(use_enable sid) \ + $(use_enable sftp) \ + $(use_enable shout) \ + $(use_enable skins skins2) \ + $(use_enable speex) \ + $(use_enable cpu_flags_x86_sse sse) \ + $(use_enable svg) \ + $(use_enable svg svgdec) \ + $(use_enable swscale) \ + $(use_enable taglib) \ + $(use_enable theora) \ + $(use_enable tremor) \ + $(use_enable truetype freetype) \ + $(use_enable twolame) \ + $(use_enable udev) \ + $(use_enable upnp) \ + $(use_enable v4l v4l2) \ + $(use_enable vaapi libva) \ + $(use_enable vcdx) \ + $(use_enable vdpau) \ + $(use_enable vlm) \ + $(use_enable vnc) \ + $(use_enable vorbis) \ + $(use_enable vpx) \ + $(use_enable wma-fixed) \ + $(use_with X x) \ + $(use_enable x264) \ + $(use_enable x265) \ + $(use_enable xcb) \ + $(use_enable xml libxml2) \ + $(use_enable xv xvideo) \ + $(use_enable zvbi) $(use_enable !zvbi telx) \ + --disable-asdcp \ + --disable-coverage \ + --disable-cprof \ + --disable-crystalhd \ + --disable-decklink \ + --disable-gles1 \ + --disable-gles2 \ + --disable-goom \ + --disable-kai \ + --disable-kva \ + --disable-maintainer-mode \ + --disable-merge-ffmpeg \ + --disable-mfx \ + --disable-mmal-codec \ + --disable-mmal-vout \ + --disable-opensles \ + --disable-oss \ + --disable-quicktime \ + --disable-rpi-omxil \ + --disable-shine \ + --disable-sndio \ + --disable-vda \ + --disable-vsxu \ + --disable-wasapi + + # ^ We don't have these disabled libraries in the Portage tree yet. + + # _FORTIFY_SOURCE is set to 2 in config.h, which is also the default value on Gentoo. + # Other values of _FORTIFY_SOURCE may break the build (bug 523144), so definition should not be removed from config.h. + # To prevent redefinition warnings, we undefine _FORTIFY_SOURCE at the very start of config.h file + sed -i '1i#undef _FORTIFY_SOURCE' "${S}"/config.h || die +} + +src_test() { + Xemake check-TESTS +} + +DOCS="AUTHORS THANKS NEWS README doc/fortunes.txt doc/intf-vcd.txt" + +src_install() { + default + + # Punt useless libtool's .la files + find "${D}" -name '*.la' -delete +} + +pkg_postinst() { + if [ "$ROOT" = "/" ] && [ -x "/usr/$(get_libdir)/vlc/vlc-cache-gen" ] ; then + einfo "Running /usr/$(get_libdir)/vlc/vlc-cache-gen on /usr/$(get_libdir)/vlc/plugins/" + "/usr/$(get_libdir)/vlc/vlc-cache-gen" -f "/usr/$(get_libdir)/vlc/plugins/" + else + ewarn "We cannot run vlc-cache-gen (most likely ROOT!=/)" + ewarn "Please run /usr/$(get_libdir)/vlc/vlc-cache-gen manually" + ewarn "If you do not do it, vlc will take a long time to load." + fi +} diff --git a/media-video/vlc/vlc-2.2.1.ebuild b/media-video/vlc/vlc-2.2.1.ebuild new file mode 100644 index 00000000000..9f74073b917 --- /dev/null +++ b/media-video/vlc/vlc-2.2.1.ebuild @@ -0,0 +1,502 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="5" + +SCM="" +if [ "${PV%9999}" != "${PV}" ] ; then + SCM="git-r3" + + if [ "${PV%.9999}" != "${PV}" ] ; then + EGIT_REPO_URI="git://git.videolan.org/vlc/vlc-${PV%.9999}.git" + else + EGIT_REPO_URI="git://git.videolan.org/vlc.git" + fi +fi + +inherit eutils multilib autotools toolchain-funcs flag-o-matic virtualx ${SCM} + +MY_PV="${PV/_/-}" +MY_PV="${MY_PV/-beta/-test}" +MY_P="${PN}-${MY_PV}" + +DESCRIPTION="VLC media player - Video player and streamer" +HOMEPAGE="http://www.videolan.org/vlc/" +if [ "${PV%9999}" != "${PV}" ] ; then # Live ebuild + SRC_URI="" +elif [[ "${MY_P}" == "${P}" ]]; then + SRC_URI="http://download.videolan.org/pub/videolan/${PN}/${PV}/${P}.tar.xz" +else + SRC_URI="http://download.videolan.org/pub/videolan/testing/${MY_P}/${MY_P}.tar.xz" +fi + +LICENSE="LGPL-2.1 GPL-2" +SLOT="0/5-8" # vlc - vlccore + +if [ "${PV%9999}" = "${PV}" ] ; then + KEYWORDS="~amd64 ~arm ~ppc ~ppc64 -sparc ~x86 ~x86-fbsd" +else + KEYWORDS="" +fi + +IUSE="a52 aalib alsa altivec atmo +audioqueue +avcodec + +avformat bidi bluray cdda cddb chromaprint dbus dc1394 debug + directfb directx dts dvb +dvbpsi dvd dxva2 elibc_glibc +encode faad fdk + fluidsynth +ffmpeg flac fontconfig +gcrypt gme gnome gnutls + growl httpd ieee1394 jack jpeg kate kde libass libav libcaca libnotify + +libsamplerate libtiger linsys libtar lirc live lua + macosx-dialog-provider macosx-eyetv macosx-quartztext macosx-qtkit + matroska media-library cpu_flags_x86_mmx modplug mp3 mpeg + mtp musepack ncurses neon ogg omxil opencv opengl optimisememory opus + png postproc projectm pulseaudio +qt4 qt5 rdp rtsp run-as-root samba + schroedinger sdl sdl-image sftp shout sid skins speex cpu_flags_x86_sse svg +swscale + taglib theora tremor truetype twolame udev upnp vaapi v4l vcdx vdpau + vlm vnc vorbis vpx wma-fixed +X x264 x265 +xcb xml xv zeroconf zvbi" + +RDEPEND=" + !<media-video/ffmpeg-1.2:0 + dev-libs/libgpg-error:0 + net-dns/libidn:0 + >=sys-libs/zlib-1.2.5.1-r2:0[minizip] + virtual/libintl:0 + a52? ( >=media-libs/a52dec-0.7.4-r3:0 ) + aalib? ( media-libs/aalib:0 ) + alsa? ( >=media-libs/alsa-lib-1.0.24:0 ) + avcodec? ( + !libav? ( media-video/ffmpeg:0= ) + libav? ( >=media-video/libav-11:0= ) + ) + avformat? ( + !libav? ( media-video/ffmpeg:0= ) + libav? ( media-video/libav:0= ) + ) + bidi? ( >=dev-libs/fribidi-0.10.4:0 ) + bluray? ( >=media-libs/libbluray-0.3:0 ) + cddb? ( >=media-libs/libcddb-1.2:0 ) + chromaprint? ( >=media-libs/chromaprint-0.6:0 ) + dbus? ( >=sys-apps/dbus-1.6:0 ) + dc1394? ( >=sys-libs/libraw1394-2.0.1:0 >=media-libs/libdc1394-2.1:2 ) + directfb? ( dev-libs/DirectFB:0 sys-libs/zlib:0 ) + dts? ( >=media-libs/libdca-0.0.5:0 ) + dvbpsi? ( >=media-libs/libdvbpsi-0.2.1:0= ) + dvd? ( >=media-libs/libdvdread-4.9:0 >=media-libs/libdvdnav-4.9:0 ) + elibc_glibc? ( >=sys-libs/glibc-2.8:2.2 ) + faad? ( >=media-libs/faad2-2.6.1:0 ) + fdk? ( media-libs/fdk-aac:0 ) + flac? ( >=media-libs/libogg-1:0 >=media-libs/flac-1.1.2:0 ) + fluidsynth? ( >=media-sound/fluidsynth-1.1.2:0 ) + fontconfig? ( media-libs/fontconfig:1.0 ) + gcrypt? ( >=dev-libs/libgcrypt-1.2.0:0= ) + gme? ( media-libs/game-music-emu:0 ) + gnome? ( gnome-base/gnome-vfs:2 dev-libs/glib:2 ) + gnutls? ( >=net-libs/gnutls-3.0.20:0 ) + ieee1394? ( >=sys-libs/libraw1394-2.0.1:0 >=sys-libs/libavc1394-0.5.3:0 ) + jack? ( >=media-sound/jack-audio-connection-kit-0.99.0-r1:0 ) + jpeg? ( virtual/jpeg:0 ) + kate? ( >=media-libs/libkate-0.3:0 ) + libass? ( >=media-libs/libass-0.9.8:0 media-libs/fontconfig:1.0 ) + libcaca? ( >=media-libs/libcaca-0.99_beta14:0 ) + libnotify? ( x11-libs/libnotify:0 x11-libs/gtk+:2 x11-libs/gdk-pixbuf:2 dev-libs/glib:2 ) + libsamplerate? ( media-libs/libsamplerate:0 ) + libtar? ( >=dev-libs/libtar-1.2.11-r3:0 ) + libtiger? ( >=media-libs/libtiger-0.3.1:0 ) + linsys? ( >=media-libs/zvbi-0.2.28:0 ) + lirc? ( app-misc/lirc:0 ) + live? ( >=media-plugins/live-2011.12.23:0 ) + lua? ( >=dev-lang/lua-5.1:0 ) + matroska? ( >=dev-libs/libebml-1:0= >=media-libs/libmatroska-1:0= ) + modplug? ( >=media-libs/libmodplug-0.8.4:0 !~media-libs/libmodplug-0.8.8 ) + mp3? ( media-libs/libmad:0 ) + mpeg? ( >=media-libs/libmpeg2-0.3.2:0 ) + mtp? ( >=media-libs/libmtp-1:0 ) + musepack? ( >=media-sound/musepack-tools-444:0 ) + ncurses? ( sys-libs/ncurses:5[unicode] ) + ogg? ( >=media-libs/libogg-1:0 ) + opencv? ( >media-libs/opencv-2:0 ) + opengl? ( virtual/opengl:0 >=x11-libs/libX11-1.3.99.901:0 ) + opus? ( >=media-libs/opus-1.0.3:0 ) + png? ( media-libs/libpng:0= sys-libs/zlib:0 ) + postproc? ( + !libav? ( >=media-video/ffmpeg-2.2:0= ) + libav? ( media-libs/libpostproc:0= ) + ) + projectm? ( media-libs/libprojectm:0 media-fonts/dejavu:0 ) + pulseaudio? ( >=media-sound/pulseaudio-1:0 ) + qt4? ( >=dev-qt/qtgui-4.6:4 >=dev-qt/qtcore-4.6:4 ) + qt5? ( >=dev-qt/qtgui-5.1:5 >=dev-qt/qtcore-5.1:5 >=dev-qt/qtwidgets-5.1:5 >=dev-qt/qtx11extras-5.1:5 ) + rdp? ( >=net-misc/freerdp-1.0.1:0= ) + samba? ( || ( >=net-fs/samba-3.4.6:0[smbclient] >=net-fs/samba-4:0[client] ) ) + schroedinger? ( >=media-libs/schroedinger-1.0.10:0 ) + sdl? ( >=media-libs/libsdl-1.2.10:0 + sdl-image? ( >=media-libs/sdl-image-1.2.10:0 sys-libs/zlib:0 ) ) + sftp? ( net-libs/libssh2:0 ) + shout? ( >=media-libs/libshout-2.1:0 ) + sid? ( media-libs/libsidplay:2 ) + skins? ( x11-libs/libXext:0 x11-libs/libXpm:0 x11-libs/libXinerama:0 ) + speex? ( media-libs/speex:0 ) + svg? ( >=gnome-base/librsvg-2.9:2 >=x11-libs/cairo-1.13.1:0 ) + swscale? ( + !libav? ( media-video/ffmpeg:0= ) + libav? ( media-video/libav:0= ) + ) + taglib? ( >=media-libs/taglib-1.9:0 sys-libs/zlib:0 ) + theora? ( >=media-libs/libtheora-1.0_beta3:0 ) + tremor? ( media-libs/tremor:0 ) + truetype? ( media-libs/freetype:2 virtual/ttf-fonts:0 + !fontconfig? ( media-fonts/dejavu:0 ) ) + twolame? ( media-sound/twolame:0 ) + udev? ( >=virtual/udev-142:0 ) + upnp? ( net-libs/libupnp:0 ) + v4l? ( media-libs/libv4l:0 ) + vaapi? ( + x11-libs/libva:0[X,drm] + !libav? ( media-video/ffmpeg:0=[vaapi] ) + libav? ( media-video/libav:0=[vaapi] ) + ) + vcdx? ( >=dev-libs/libcdio-0.78.2:0 >=media-video/vcdimager-0.7.22:0 ) + zeroconf? ( >=net-dns/avahi-0.6:0[dbus] ) +" + +# Temporarily block non-live FFMPEG versions as they break vdpau, 9999 works; +# thus we'll have to wait for a new release there. +RDEPEND="${RDEPEND} + vdpau? ( + >=x11-libs/libvdpau-0.6:0 + !libav? ( >=media-video/ffmpeg-2.2:0= ) + libav? ( >=media-video/libav-10:0= ) + ) + vnc? ( >=net-libs/libvncserver-0.9.9:0 ) + vorbis? ( >=media-libs/libvorbis-1.1:0 ) + vpx? ( media-libs/libvpx:0 ) + X? ( x11-libs/libX11:0 ) + x264? ( >=media-libs/x264-0.0.20090923:0= ) + x265? ( media-libs/x265:0= ) + xcb? ( >=x11-libs/libxcb-1.6:0 >=x11-libs/xcb-util-0.3.4:0 >=x11-libs/xcb-util-keysyms-0.3.4:0 ) + xml? ( >=dev-libs/libxml2-2.5:2 ) + zvbi? ( >=media-libs/zvbi-0.2.25:0 ) +" + +DEPEND="${RDEPEND} + kde? ( >=kde-base/kdelibs-4:4 ) + xcb? ( x11-proto/xproto:0 ) + app-arch/xz-utils:0 + x86? ( dev-lang/yasm:* ) + amd64? ( dev-lang/yasm:* ) + >=sys-devel/gettext-0.18.3:* + virtual/pkgconfig:* +" + +REQUIRED_USE=" + aalib? ( X ) + bidi? ( truetype ) + cddb? ( cdda ) + dvb? ( dvbpsi ) + dxva2? ( avcodec ) + ffmpeg? ( avcodec avformat swscale ) + fontconfig? ( truetype ) + gnutls? ( gcrypt ) + httpd? ( lua ) + libcaca? ( X ) + libtar? ( skins ) + libtiger? ( kate ) + qt4? ( X !qt5 ) + qt5? ( X !qt4 ) + sdl? ( X ) + skins? ( truetype X ^^ ( qt4 qt5 ) ) + vaapi? ( avcodec X ) + vlm? ( encode ) + xv? ( xcb ) +" + +S="${WORKDIR}/${MY_P}" + +pkg_setup() { + if [[ "${MERGE_TYPE}" != "binary" && "$(tc-getCC)" == *"gcc"* ]] ; then + if [[ $(gcc-major-version) < 4 || ( $(gcc-major-version) == 4 && $(gcc-minor-version) < 5 ) ]] ; then + die "You need to have at least >=sys-devel/gcc-4.5 to build and/or have a working vlc, see bug #426754." + fi + fi +} + +src_unpack() { + if [ "${PV%9999}" != "${PV}" ] ; then + git-r3_src_unpack + else + unpack ${A} + fi +} + +src_prepare() { + # Remove unnecessary warnings about unimplemented pragmas on gcc for now. + # Need to recheck this with gcc 4.9 and every subsequent minor bump of gcc. + # + # config.h:792: warning: ignoring #pragma STDC FENV_ACCESS [-Wunknown-pragmas] + # config.h:793: warning: ignoring #pragma STDC FP_CONTRACT [-Wunknown-pragmas] + # + # http://gcc.gnu.org/c99status.html + if [[ "$(tc-getCC)" == *"gcc"* ]] ; then + sed -i 's/ifndef __FAST_MATH__/if 0/g' configure.ac || die + fi + + # Bootstrap when we are on a git checkout. + if [[ "${PV%9999}" != "${PV}" ]] ; then + ./bootstrap + fi + + # Make it build with libtool 1.5 + rm -f m4/lt* m4/libtool.m4 || die + + # We are not in a real git checkout due to the absence of a .git directory. + touch src/revision.txt || die + + # Fix build system mistake. + epatch "${FILESDIR}"/${PN}-2.1.0-fix-libtremor-libs.patch + + # Patch up incompatibilities and reconfigure autotools. + epatch "${FILESDIR}"/${PN}-9999-libva-1.2.1-compat.patch + + # Patch for bug 542414 + epatch "${FILESDIR}"/${PN}-2.2.0-rdp-1.2.0.patch + + # Patch for bug 541928 + epatch "${FILESDIR}"/${PN}-2.2.0-xcb_vdpau.patch + + # Fix up broken audio when skipping using a fixed reversed bisected commit. + epatch "${FILESDIR}"/${PN}-2.1.0-TomWij-bisected-PA-broken-underflow.patch + + # Bug #541678 + epatch "${FILESDIR}"/qt4-select.patch + + # Add missed header imgproc_c.h, imgproc.hpp, bug #554562 + epatch "${FILESDIR}"/opencv-3.0.0.patch + + # Don't use --started-from-file when not using dbus. + if ! use dbus ; then + sed -i 's/ --started-from-file//' share/vlc.desktop.in || die + fi + + epatch_user + + eautoreconf + + # Disable automatic running of tests. + find . -name 'Makefile.in' -exec sed -i 's/\(..*\)check-TESTS/\1/' {} \; || die + + # If qtchooser is installed, it may break the build, because moc,rcc and uic binaries for wrong qt version may be used. + # Setting QT_SELECT environment variable will enforce correct binaries. + if use qt4; then + export QT_SELECT=qt4 + elif use qt5; then + export QT_SELECT=qt5 + fi +} + +src_configure() { + # Compatibility fix for Samba 4. + use samba && append-cppflags "-I/usr/include/samba-4.0" + + # We need to disable -fstack-check if use >=gcc 4.8.0. + # See bug #499996 + use x86 && append-cflags $(test-flags-CC -fno-stack-check) + + # Needs libresid-builder from libsidplay:2 which is in another directory... + # FIXME! + append-ldflags "-L/usr/$(get_libdir)/sidplay/builders/" + + if use truetype || use projectm ; then + local dejavu="/usr/share/fonts/dejavu/" + myconf="--with-default-font=${dejavu}/DejaVuSans.ttf \ + --with-default-font-family=Sans \ + --with-default-monospace-font=${dejavu}/DejaVuSansMono.ttf + --with-default-monospace-font-family=Monospace" + fi + + local qt_flag="" + if use qt4 ; then + qt_flag="--enable-qt=4" + elif use qt5 ; then + qt_flag="--enable-qt=5" + else + qt_flag="--disable-qt" + fi + + econf \ + ${myconf} \ + --enable-vlc \ + --docdir=/usr/share/doc/${PF} \ + --disable-dependency-tracking \ + --disable-optimizations \ + --disable-update-check \ + --enable-fast-install \ + --enable-screen \ + $(use_enable a52) \ + $(use_enable aalib aa) \ + $(use_enable alsa) \ + $(use_enable altivec) \ + $(use_enable atmo) \ + $(use_enable audioqueue) \ + $(use_enable avcodec) \ + $(use_enable avformat) \ + $(use_enable bidi fribidi) \ + $(use_enable bluray) \ + $(use_enable cdda vcd) \ + $(use_enable cddb libcddb) \ + $(use_enable chromaprint) \ + $(use_enable dbus) \ + $(use_enable directfb) \ + $(use_enable directx) \ + $(use_enable dc1394) \ + $(use_enable debug) \ + $(use_enable dts dca) \ + $(use_enable dvbpsi) \ + $(use_enable dvd dvdread) $(use_enable dvd dvdnav) \ + $(use_enable dxva2) \ + $(use_enable encode sout) \ + $(use_enable faad) \ + $(use_enable fdk fdkaac) \ + $(use_enable flac) \ + $(use_enable fluidsynth) \ + $(use_enable fontconfig) \ + $(use_enable gcrypt libgcrypt) \ + $(use_enable gme) \ + $(use_enable gnome gnomevfs) \ + $(use_enable gnutls) \ + $(use_enable growl) \ + $(use_enable httpd) \ + $(use_enable ieee1394 dv1394) \ + $(use_enable jack) \ + $(use_enable jpeg) \ + $(use_enable kate) \ + $(use_with kde kde-solid) \ + $(use_enable libass) \ + $(use_enable libcaca caca) \ + $(use_enable libnotify notify) \ + $(use_enable libsamplerate samplerate) \ + $(use_enable libtar) \ + $(use_enable libtiger tiger) \ + $(use_enable linsys) \ + $(use_enable lirc) \ + $(use_enable live live555) \ + $(use_enable lua) \ + $(use_enable macosx-dialog-provider) \ + $(use_enable macosx-eyetv) \ + $(use_enable macosx-qtkit) \ + $(use_enable macosx-quartztext) \ + $(use_enable matroska mkv) \ + $(use_enable cpu_flags_x86_mmx mmx) \ + $(use_enable modplug mod) \ + $(use_enable mp3 mad) \ + $(use_enable mpeg libmpeg2) \ + $(use_enable mtp) \ + $(use_enable musepack mpc) \ + $(use_enable ncurses) \ + $(use_enable neon) \ + $(use_enable ogg) $(use_enable ogg mux_ogg) \ + $(use_enable omxil) \ + $(use_enable omxil omxil-vout) \ + $(use_enable opencv) \ + $(use_enable opengl glspectrum) \ + $(use_enable opus) \ + $(use_enable optimisememory optimize-memory) \ + $(use_enable png) \ + $(use_enable postproc) \ + $(use_enable projectm) \ + $(use_enable pulseaudio pulse) \ + ${qt_flag} \ + $(use_enable rdp freerdp) \ + $(use_enable rtsp realrtsp) \ + $(use_enable run-as-root) \ + $(use_enable samba smbclient) \ + $(use_enable schroedinger) \ + $(use_enable sdl) \ + $(use_enable sdl-image) \ + $(use_enable sid) \ + $(use_enable sftp) \ + $(use_enable shout) \ + $(use_enable skins skins2) \ + $(use_enable speex) \ + $(use_enable cpu_flags_x86_sse sse) \ + $(use_enable svg) \ + $(use_enable svg svgdec) \ + $(use_enable swscale) \ + $(use_enable taglib) \ + $(use_enable theora) \ + $(use_enable tremor) \ + $(use_enable truetype freetype) \ + $(use_enable twolame) \ + $(use_enable udev) \ + $(use_enable upnp) \ + $(use_enable v4l v4l2) \ + $(use_enable vaapi libva) \ + $(use_enable vcdx) \ + $(use_enable vdpau) \ + $(use_enable vlm) \ + $(use_enable vnc) \ + $(use_enable vorbis) \ + $(use_enable vpx) \ + $(use_enable wma-fixed) \ + $(use_with X x) \ + $(use_enable x264) \ + $(use_enable x265) \ + $(use_enable xcb) \ + $(use_enable xml libxml2) \ + $(use_enable xv xvideo) \ + $(use_enable zeroconf bonjour) \ + $(use_enable zvbi) $(use_enable !zvbi telx) \ + --disable-asdcp \ + --disable-coverage \ + --disable-cprof \ + --disable-crystalhd \ + --disable-decklink \ + --disable-gles1 \ + --disable-gles2 \ + --disable-goom \ + --disable-kai \ + --disable-kva \ + --disable-maintainer-mode \ + --disable-merge-ffmpeg \ + --disable-mfx \ + --disable-mmal-codec \ + --disable-mmal-vout \ + --disable-opensles \ + --disable-oss \ + --disable-quicktime \ + --disable-rpi-omxil \ + --disable-shine \ + --disable-sndio \ + --disable-vda \ + --disable-vsxu \ + --disable-wasapi + + # ^ We don't have these disabled libraries in the Portage tree yet. + + # _FORTIFY_SOURCE is set to 2 in config.h, which is also the default value on Gentoo. + # Other values of _FORTIFY_SOURCE may break the build (bug 523144), so definition should not be removed from config.h. + # To prevent redefinition warnings, we undefine _FORTIFY_SOURCE at the very start of config.h file + sed -i '1i#undef _FORTIFY_SOURCE' "${S}"/config.h || die +} + +src_test() { + Xemake check-TESTS +} + +DOCS="AUTHORS THANKS NEWS README doc/fortunes.txt doc/intf-vcd.txt" + +src_install() { + default + + # Punt useless libtool's .la files + find "${D}" -name '*.la' -delete +} + +pkg_postinst() { + if [ "$ROOT" = "/" ] && [ -x "/usr/$(get_libdir)/vlc/vlc-cache-gen" ] ; then + einfo "Running /usr/$(get_libdir)/vlc/vlc-cache-gen on /usr/$(get_libdir)/vlc/plugins/" + "/usr/$(get_libdir)/vlc/vlc-cache-gen" -f "/usr/$(get_libdir)/vlc/plugins/" + else + ewarn "We cannot run vlc-cache-gen (most likely ROOT!=/)" + ewarn "Please run /usr/$(get_libdir)/vlc/vlc-cache-gen manually" + ewarn "If you do not do it, vlc will take a long time to load." + fi +} diff --git a/media-video/vlc/vlc-2.2.9999.ebuild b/media-video/vlc/vlc-2.2.9999.ebuild new file mode 100644 index 00000000000..929e3d8c022 --- /dev/null +++ b/media-video/vlc/vlc-2.2.9999.ebuild @@ -0,0 +1,484 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="5" + +SCM="" +if [ "${PV%9999}" != "${PV}" ] ; then + SCM="git-r3" + + if [ "${PV%.9999}" != "${PV}" ] ; then + EGIT_REPO_URI="git://git.videolan.org/vlc/vlc-${PV%.9999}.git" + else + EGIT_REPO_URI="git://git.videolan.org/vlc.git" + fi +fi + +inherit eutils multilib autotools toolchain-funcs flag-o-matic virtualx ${SCM} + +MY_PV="${PV/_/-}" +MY_PV="${MY_PV/-beta/-test}" +MY_P="${PN}-${MY_PV}" + +DESCRIPTION="VLC media player - Video player and streamer" +HOMEPAGE="http://www.videolan.org/vlc/" +if [ "${PV%9999}" != "${PV}" ] ; then # Live ebuild + SRC_URI="" +elif [[ "${MY_P}" == "${P}" ]]; then + SRC_URI="http://download.videolan.org/pub/videolan/${PN}/${PV}/${P}.tar.xz" +else + SRC_URI="http://download.videolan.org/pub/videolan/testing/${MY_P}/${MY_P}.tar.xz" +fi + +LICENSE="LGPL-2.1 GPL-2" +SLOT="0/5-8" # vlc - vlccore + +if [ "${PV%9999}" = "${PV}" ] ; then + KEYWORDS="~amd64 ~arm ~ppc -sparc ~x86 ~x86-fbsd" +else + KEYWORDS="" +fi + +IUSE="a52 aalib alsa altivec atmo +audioqueue avahi +avcodec + +avformat bidi bluray cdda cddb chromaprint dbus dc1394 debug + directfb directx dts dvb +dvbpsi dvd dxva2 elibc_glibc +encode faad fdk + fluidsynth +ffmpeg flac fontconfig +gcrypt gme gnome gnutls + growl httpd ieee1394 jack jpeg kate kde libass libav libcaca libnotify + +libsamplerate libtiger linsys libtar lirc live lua + macosx-dialog-provider macosx-eyetv macosx-quartztext macosx-qtkit + matroska media-library cpu_flags_x86_mmx modplug mp3 mpeg + mtp musepack ncurses neon ogg omxil opencv opengl optimisememory opus + png +postproc projectm pulseaudio +qt4 qt5 rdp rtsp run-as-root samba + schroedinger sdl sdl-image sftp shout sid skins speex cpu_flags_x86_sse svg +swscale + taglib theora tremor truetype twolame udev upnp vaapi v4l vcdx vdpau + vlm vnc vorbis vpx wma-fixed +X x264 x265 +xcb xml xv zvbi" + +RDEPEND=" + !<media-video/ffmpeg-1.2:0 + dev-libs/libgpg-error:0 + net-dns/libidn:0 + >=sys-libs/zlib-1.2.5.1-r2:0[minizip] + virtual/libintl:0 + a52? ( >=media-libs/a52dec-0.7.4-r3:0 ) + aalib? ( media-libs/aalib:0 ) + alsa? ( >=media-libs/alsa-lib-1.0.24:0 ) + avahi? ( >=net-dns/avahi-0.6:0[dbus] ) + avcodec? ( + !libav? ( media-video/ffmpeg:0= ) + libav? ( media-video/libav:0= ) + ) + avformat? ( + !libav? ( media-video/ffmpeg:0= ) + libav? ( media-video/libav:0= ) + ) + bidi? ( >=dev-libs/fribidi-0.10.4:0 ) + bluray? ( >=media-libs/libbluray-0.3:0 ) + cddb? ( >=media-libs/libcddb-1.2:0 ) + chromaprint? ( >=media-libs/chromaprint-0.6:0 ) + dbus? ( >=sys-apps/dbus-1.6:0 ) + dc1394? ( >=sys-libs/libraw1394-2.0.1:0 >=media-libs/libdc1394-2.1:2 ) + directfb? ( dev-libs/DirectFB:0 sys-libs/zlib:0 ) + dts? ( >=media-libs/libdca-0.0.5:0 ) + dvbpsi? ( >=media-libs/libdvbpsi-1.0.0:0= ) + dvd? ( >=media-libs/libdvdread-4.9:0 >=media-libs/libdvdnav-4.9:0 ) + elibc_glibc? ( >=sys-libs/glibc-2.8:2.2 ) + faad? ( >=media-libs/faad2-2.6.1:0 ) + fdk? ( media-libs/fdk-aac:0 ) + flac? ( >=media-libs/libogg-1:0 >=media-libs/flac-1.1.2:0 ) + fluidsynth? ( >=media-sound/fluidsynth-1.1.2:0 ) + fontconfig? ( media-libs/fontconfig:1.0 ) + gcrypt? ( >=dev-libs/libgcrypt-1.2.0:0= ) + gme? ( media-libs/game-music-emu:0 ) + gnome? ( gnome-base/gnome-vfs:2 dev-libs/glib:2 ) + gnutls? ( >=net-libs/gnutls-3.0.20:0 ) + ieee1394? ( >=sys-libs/libraw1394-2.0.1:0 >=sys-libs/libavc1394-0.5.3:0 ) + jack? ( >=media-sound/jack-audio-connection-kit-0.99.0-r1:0 ) + jpeg? ( virtual/jpeg:0 ) + kate? ( >=media-libs/libkate-0.3:0 ) + libass? ( >=media-libs/libass-0.9.8:0 media-libs/fontconfig:1.0 ) + libcaca? ( >=media-libs/libcaca-0.99_beta14:0 ) + libnotify? ( x11-libs/libnotify:0 x11-libs/gtk+:2 x11-libs/gdk-pixbuf:2 dev-libs/glib:2 ) + libsamplerate? ( media-libs/libsamplerate:0 ) + libtar? ( >=dev-libs/libtar-1.2.11-r3:0 ) + libtiger? ( >=media-libs/libtiger-0.3.1:0 ) + linsys? ( >=media-libs/zvbi-0.2.28:0 ) + lirc? ( app-misc/lirc:0 ) + live? ( >=media-plugins/live-2011.12.23:0 ) + lua? ( >=dev-lang/lua-5.1:0 ) + matroska? ( >=dev-libs/libebml-1:0= >=media-libs/libmatroska-1:0= ) + modplug? ( >=media-libs/libmodplug-0.8.4:0 !~media-libs/libmodplug-0.8.8 ) + mp3? ( media-libs/libmad:0 ) + mpeg? ( >=media-libs/libmpeg2-0.3.2:0 ) + mtp? ( >=media-libs/libmtp-1:0 ) + musepack? ( >=media-sound/musepack-tools-444:0 ) + ncurses? ( sys-libs/ncurses:5[unicode] ) + ogg? ( >=media-libs/libogg-1:0 ) + opencv? ( >media-libs/opencv-2:0 ) + opengl? ( virtual/opengl:0 >=x11-libs/libX11-1.3.99.901:0 ) + opus? ( >=media-libs/opus-1.0.3:0 ) + png? ( media-libs/libpng:0= sys-libs/zlib:0 ) + postproc? ( + !libav? ( >=media-video/ffmpeg-2.2:0= ) + libav? ( media-libs/libpostproc:0= ) + ) + projectm? ( media-libs/libprojectm:0 media-fonts/dejavu:0 ) + pulseaudio? ( >=media-sound/pulseaudio-1:0 ) + qt4? ( >=dev-qt/qtgui-4.6:4 >=dev-qt/qtcore-4.6:4 ) + qt5? ( >=dev-qt/qtgui-5.1:5 >=dev-qt/qtcore-5.1:5 >=dev-qt/qtwidgets-5.1:5 >=dev-qt/qtx11extras-5.1:5 ) + rdp? ( >=net-misc/freerdp-1.0.1:0= ) + samba? ( || ( >=net-fs/samba-3.4.6:0[smbclient] >=net-fs/samba-4:0[client] ) ) + schroedinger? ( >=media-libs/schroedinger-1.0.10:0 ) + sdl? ( >=media-libs/libsdl-1.2.10:0 + sdl-image? ( >=media-libs/sdl-image-1.2.10:0 sys-libs/zlib:0 ) ) + sftp? ( net-libs/libssh2:0 ) + shout? ( >=media-libs/libshout-2.1:0 ) + sid? ( media-libs/libsidplay:2 ) + skins? ( x11-libs/libXext:0 x11-libs/libXpm:0 x11-libs/libXinerama:0 ) + speex? ( media-libs/speex:0 ) + svg? ( >=gnome-base/librsvg-2.9:2 >=x11-libs/cairo-1.13.1:0 ) + swscale? ( + !libav? ( media-video/ffmpeg:0= ) + libav? ( media-video/libav:0= ) + ) + taglib? ( >=media-libs/taglib-1.9:0 sys-libs/zlib:0 ) + theora? ( >=media-libs/libtheora-1.0_beta3:0 ) + tremor? ( media-libs/tremor:0 ) + truetype? ( media-libs/freetype:2 virtual/ttf-fonts:0 + !fontconfig? ( media-fonts/dejavu:0 ) ) + twolame? ( media-sound/twolame:0 ) + udev? ( >=virtual/udev-142:0 ) + upnp? ( net-libs/libupnp:0 ) + v4l? ( media-libs/libv4l:0 ) + vaapi? ( + x11-libs/libva:0[X,drm] + !libav? ( media-video/ffmpeg:0=[vaapi] ) + libav? ( media-video/libav:0=[vaapi] ) + ) + vcdx? ( >=dev-libs/libcdio-0.78.2:0 >=media-video/vcdimager-0.7.22:0 )" + +# Temporarily block non-live FFMPEG versions as they break vdpau, 9999 works; +# thus we'll have to wait for a new release there. +RDEPEND="${RDEPEND} + vdpau? ( + >=x11-libs/libvdpau-0.6:0 + !libav? ( >=media-video/ffmpeg-2.2:0= ) + libav? ( >=media-video/libav-10:0= ) + ) + vnc? ( >=net-libs/libvncserver-0.9.9:0 ) + vorbis? ( >=media-libs/libvorbis-1.1:0 ) + vpx? ( media-libs/libvpx:0 ) + X? ( x11-libs/libX11:0 ) + x264? ( >=media-libs/x264-0.0.20090923:0= ) + x265? ( media-libs/x265:0= ) + xcb? ( >=x11-libs/libxcb-1.6:0 >=x11-libs/xcb-util-0.3.4:0 >=x11-libs/xcb-util-keysyms-0.3.4:0 ) + xml? ( >=dev-libs/libxml2-2.5:2 ) + zvbi? ( >=media-libs/zvbi-0.2.25:0 ) +" + +DEPEND="${RDEPEND} + kde? ( >=kde-base/kdelibs-4:4 ) + xcb? ( x11-proto/xproto:0 ) + app-arch/xz-utils:0 + dev-lang/yasm:* + >=sys-devel/gettext-0.18.3:* + virtual/pkgconfig:* +" + +REQUIRED_USE=" + aalib? ( X ) + bidi? ( truetype ) + cddb? ( cdda ) + dvb? ( dvbpsi ) + dxva2? ( avcodec ) + ffmpeg? ( avcodec avformat swscale postproc ) + fontconfig? ( truetype ) + gnutls? ( gcrypt ) + httpd? ( lua ) + libcaca? ( X ) + libtar? ( skins ) + libtiger? ( kate ) + qt4? ( X !qt5 ) + qt5? ( X !qt4 ) + sdl? ( X ) + skins? ( truetype X ^^ ( qt4 qt5 ) ) + vaapi? ( avcodec X ) + vlm? ( encode ) + xv? ( xcb ) +" + +S="${WORKDIR}/${MY_P}" + +pkg_setup() { + if [[ "${MERGE_TYPE}" != "binary" && "$(tc-getCC)" == *"gcc"* ]] ; then + if [[ $(gcc-major-version) < 4 || ( $(gcc-major-version) == 4 && $(gcc-minor-version) < 5 ) ]] ; then + die "You need to have at least >=sys-devel/gcc-4.5 to build and/or have a working vlc, see bug #426754." + fi + fi +} + +src_unpack() { + if [ "${PV%9999}" != "${PV}" ] ; then + git-r3_src_unpack + else + unpack ${A} + fi +} + +src_prepare() { + # Remove unnecessary warnings about unimplemented pragmas on gcc for now. + # Need to recheck this with gcc 4.9 and every subsequent minor bump of gcc. + # + # config.h:792: warning: ignoring #pragma STDC FENV_ACCESS [-Wunknown-pragmas] + # config.h:793: warning: ignoring #pragma STDC FP_CONTRACT [-Wunknown-pragmas] + # + # http://gcc.gnu.org/c99status.html + if [[ "$(tc-getCC)" == *"gcc"* ]] ; then + sed -i 's/ifndef __FAST_MATH__/if 0/g' configure.ac || die + fi + + # Bootstrap when we are on a git checkout. + if [[ "${PV%9999}" != "${PV}" ]] ; then + ./bootstrap + fi + + # Make it build with libtool 1.5 + rm -f m4/lt* m4/libtool.m4 || die + + # We are not in a real git checkout due to the absence of a .git directory. + touch src/revision.txt || die + + # Fix build system mistake. + epatch "${FILESDIR}"/${PN}-2.1.0-fix-libtremor-libs.patch + + # Patch up incompatibilities and reconfigure autotools. + epatch "${FILESDIR}"/${PN}-9999-libva-1.2.1-compat.patch + + # Fix up broken audio when skipping using a fixed reversed bisected commit. + epatch "${FILESDIR}"/${PN}-2.1.0-TomWij-bisected-PA-broken-underflow.patch + + # Don't use --started-from-file when not using dbus. + if ! use dbus ; then + sed -i 's/ --started-from-file//' share/vlc.desktop.in || die + fi + + epatch_user + + eautoreconf + + # Disable automatic running of tests. + find . -name 'Makefile.in' -exec sed -i 's/\(..*\)check-TESTS/\1/' {} \; || die + + # If qtchooser is installed, it may break the build, because moc,rcc and uic binaries for wrong qt version may be used. + # Setting QT_SELECT environment variable will enforce correct binaries. + if use qt4; then + export QT_SELECT=qt4 + elif use qt5; then + export QT_SELECT=qt5 + fi +} + +src_configure() { + # Compatibility fix for Samba 4. + use samba && append-cppflags "-I/usr/include/samba-4.0" + + # We need to disable -fstack-check if use >=gcc 4.8.0. + # See bug #499996 + use x86 && append-cflags $(test-flags-CC -fno-stack-check) + + # Needs libresid-builder from libsidplay:2 which is in another directory... + # FIXME! + append-ldflags "-L/usr/$(get_libdir)/sidplay/builders/" + + if use truetype || use projectm ; then + local dejavu="/usr/share/fonts/dejavu/" + myconf="--with-default-font=${dejavu}/DejaVuSans.ttf \ + --with-default-font-family=Sans \ + --with-default-monospace-font=${dejavu}/DejaVuSansMono.ttf + --with-default-monospace-font-family=Monospace" + fi + + local qt_flag="" + if use qt4 || use qt5 ; then + qt_flag="--enable-qt" + fi + + econf \ + ${myconf} \ + --enable-vlc \ + --docdir=/usr/share/doc/${PF} \ + --disable-dependency-tracking \ + --disable-optimizations \ + --disable-update-check \ + --enable-fast-install \ + --enable-screen \ + $(use_enable a52) \ + $(use_enable aalib aa) \ + $(use_enable alsa) \ + $(use_enable altivec) \ + $(use_enable atmo) \ + $(use_enable audioqueue) \ + $(use_enable avahi bonjour) \ + $(use_enable avcodec) \ + $(use_enable avformat) \ + $(use_enable bidi fribidi) \ + $(use_enable bluray) \ + $(use_enable cdda vcd) \ + $(use_enable cddb libcddb) \ + $(use_enable chromaprint) \ + $(use_enable dbus) \ + $(use_enable directfb) \ + $(use_enable directx) \ + $(use_enable dc1394) \ + $(use_enable debug) \ + $(use_enable dts dca) \ + $(use_enable dvbpsi) \ + $(use_enable dvd dvdread) $(use_enable dvd dvdnav) \ + $(use_enable dxva2) \ + $(use_enable encode sout) \ + $(use_enable faad) \ + $(use_enable fdk fdkaac) \ + $(use_enable flac) \ + $(use_enable fluidsynth) \ + $(use_enable fontconfig) \ + $(use_enable gcrypt libgcrypt) \ + $(use_enable gme) \ + $(use_enable gnome gnomevfs) \ + $(use_enable gnutls) \ + $(use_enable growl) \ + $(use_enable httpd) \ + $(use_enable ieee1394 dv1394) \ + $(use_enable jack) \ + $(use_enable jpeg) \ + $(use_enable kate) \ + $(use_with kde kde-solid) \ + $(use_enable libass) \ + $(use_enable libcaca caca) \ + $(use_enable libnotify notify) \ + $(use_enable libsamplerate samplerate) \ + $(use_enable libtar) \ + $(use_enable libtiger tiger) \ + $(use_enable linsys) \ + $(use_enable lirc) \ + $(use_enable live live555) \ + $(use_enable lua) \ + $(use_enable macosx-dialog-provider) \ + $(use_enable macosx-eyetv) \ + $(use_enable macosx-qtkit) \ + $(use_enable macosx-quartztext) \ + $(use_enable matroska mkv) \ + $(use_enable cpu_flags_x86_mmx mmx) \ + $(use_enable modplug mod) \ + $(use_enable mp3 mad) \ + $(use_enable mpeg libmpeg2) \ + $(use_enable mtp) \ + $(use_enable musepack mpc) \ + $(use_enable ncurses) \ + $(use_enable neon) \ + $(use_enable ogg) $(use_enable ogg mux_ogg) \ + $(use_enable omxil) \ + $(use_enable omxil omxil-vout) \ + $(use_enable opencv) \ + $(use_enable opengl glspectrum) \ + $(use_enable opus) \ + $(use_enable optimisememory optimize-memory) \ + $(use_enable png) \ + $(use_enable postproc) \ + $(use_enable projectm) \ + $(use_enable pulseaudio pulse) \ + ${qt_flag} \ + $(use_enable rdp freerdp) \ + $(use_enable rtsp realrtsp) \ + $(use_enable run-as-root) \ + $(use_enable samba smbclient) \ + $(use_enable schroedinger) \ + $(use_enable sdl) \ + $(use_enable sdl-image) \ + $(use_enable sid) \ + $(use_enable sftp) \ + $(use_enable shout) \ + $(use_enable skins skins2) \ + $(use_enable speex) \ + $(use_enable cpu_flags_x86_sse sse) \ + $(use_enable svg) \ + $(use_enable svg svgdec) \ + $(use_enable swscale) \ + $(use_enable taglib) \ + $(use_enable theora) \ + $(use_enable tremor) \ + $(use_enable truetype freetype) \ + $(use_enable twolame) \ + $(use_enable udev) \ + $(use_enable upnp) \ + $(use_enable v4l v4l2) \ + $(use_enable vaapi libva) \ + $(use_enable vcdx) \ + $(use_enable vdpau) \ + $(use_enable vlm) \ + $(use_enable vnc) \ + $(use_enable vorbis) \ + $(use_enable vpx) \ + $(use_enable wma-fixed) \ + $(use_with X x) \ + $(use_enable x264) \ + $(use_enable x265) \ + $(use_enable xcb) \ + $(use_enable xml libxml2) \ + $(use_enable xv xvideo) \ + $(use_enable zvbi) $(use_enable !zvbi telx) \ + --disable-asdcp \ + --disable-coverage \ + --disable-cprof \ + --disable-crystalhd \ + --disable-decklink \ + --disable-gles1 \ + --disable-gles2 \ + --disable-goom \ + --disable-kai \ + --disable-kva \ + --disable-maintainer-mode \ + --disable-merge-ffmpeg \ + --disable-mfx \ + --disable-mmal-codec \ + --disable-mmal-vout \ + --disable-opensles \ + --disable-oss \ + --disable-quicktime \ + --disable-rpi-omxil \ + --disable-shine \ + --disable-sndio \ + --disable-vda \ + --disable-vsxu \ + --disable-wasapi + + # ^ We don't have these disabled libraries in the Portage tree yet. + + # _FORTIFY_SOURCE is set to 2 in config.h, which is also the default value on Gentoo. + # Other values of _FORTIFY_SOURCE may break the build (bug 523144), so definition should not be removed from config.h. + # To prevent redefinition warnings, we undefine _FORTIFY_SOURCE at the very start of config.h file + sed -i '1i#undef _FORTIFY_SOURCE' "${S}"/config.h || die +} + +src_test() { + Xemake check-TESTS +} + +DOCS="AUTHORS THANKS NEWS README doc/fortunes.txt doc/intf-vcd.txt" + +src_install() { + default + + # Punt useless libtool's .la files + find "${D}" -name '*.la' -delete +} + +pkg_postinst() { + if [ "$ROOT" = "/" ] && [ -x "/usr/$(get_libdir)/vlc/vlc-cache-gen" ] ; then + einfo "Running /usr/$(get_libdir)/vlc/vlc-cache-gen on /usr/$(get_libdir)/vlc/plugins/" + "/usr/$(get_libdir)/vlc/vlc-cache-gen" -f "/usr/$(get_libdir)/vlc/plugins/" + else + ewarn "We cannot run vlc-cache-gen (most likely ROOT!=/)" + ewarn "Please run /usr/$(get_libdir)/vlc/vlc-cache-gen manually" + ewarn "If you do not do it, vlc will take a long time to load." + fi +} diff --git a/media-video/vlc/vlc-9999.ebuild b/media-video/vlc/vlc-9999.ebuild new file mode 100644 index 00000000000..289589ef067 --- /dev/null +++ b/media-video/vlc/vlc-9999.ebuild @@ -0,0 +1,485 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="5" + +SCM="" +if [ "${PV%9999}" != "${PV}" ] ; then + SCM="git-r3" + + if [ "${PV%.9999}" != "${PV}" ] ; then + EGIT_REPO_URI="git://git.videolan.org/vlc/vlc-${PV%.9999}.git" + else + EGIT_REPO_URI="git://git.videolan.org/vlc.git" + fi +fi + +inherit eutils multilib autotools toolchain-funcs flag-o-matic virtualx ${SCM} + +MY_PV="${PV/_/-}" +MY_PV="${MY_PV/-beta/-test}" +MY_P="${PN}-${MY_PV}" + +DESCRIPTION="VLC media player - Video player and streamer" +HOMEPAGE="http://www.videolan.org/vlc/" +if [ "${PV%9999}" != "${PV}" ] ; then # Live ebuild + SRC_URI="" +elif [[ "${MY_P}" == "${P}" ]]; then + SRC_URI="http://download.videolan.org/pub/videolan/${PN}/${PV}/${P}.tar.xz" +else + SRC_URI="http://download.videolan.org/pub/videolan/testing/${MY_P}/${MY_P}.tar.xz" +fi + +LICENSE="LGPL-2.1 GPL-2" +SLOT="0/5-8" # vlc - vlccore + +if [ "${PV%9999}" = "${PV}" ] ; then + KEYWORDS="~amd64 ~arm ~ppc -sparc ~x86 ~x86-fbsd" +else + KEYWORDS="" +fi + +IUSE="a52 aalib alsa altivec atmo +audioqueue +avcodec + +avformat bidi bluray cdda cddb chromaprint dbus dc1394 debug + directfb directx dts dvb +dvbpsi dvd dxva2 elibc_glibc +encode faad fdk + fluidsynth +ffmpeg flac fontconfig +gcrypt gme gnome gnutls + growl httpd ieee1394 jack jpeg kate kde libass libav libcaca libnotify + +libsamplerate libtiger linsys libtar lirc live lua + macosx-dialog-provider macosx-eyetv macosx-quartztext macosx-qtkit + matroska media-library cpu_flags_x86_mmx modplug mp3 mpeg + mtp musepack ncurses neon ogg omxil opencv opengl optimisememory opus + png +postproc projectm pulseaudio +qt4 qt5 rdp rtsp run-as-root samba + schroedinger sdl sdl-image sftp shout sid skins speex cpu_flags_x86_sse svg +swscale + taglib theora tremor truetype twolame udev upnp vaapi v4l vcdx vdpau + vlm vnc vorbis vpx wma-fixed +X x264 x265 +xcb xml xv zvbi zeroconf" + +RDEPEND=" + !<media-video/ffmpeg-1.2:0 + dev-libs/libgpg-error:0 + net-dns/libidn:0 + >=sys-libs/zlib-1.2.5.1-r2:0[minizip] + virtual/libintl:0 + a52? ( >=media-libs/a52dec-0.7.4-r3:0 ) + aalib? ( media-libs/aalib:0 ) + alsa? ( >=media-libs/alsa-lib-1.0.24:0 ) + avcodec? ( + !libav? ( media-video/ffmpeg:0= ) + libav? ( media-video/libav:0= ) + ) + avformat? ( + !libav? ( media-video/ffmpeg:0= ) + libav? ( media-video/libav:0= ) + ) + bidi? ( >=dev-libs/fribidi-0.10.4:0 ) + bluray? ( >=media-libs/libbluray-0.3:0 ) + cddb? ( >=media-libs/libcddb-1.2:0 ) + chromaprint? ( >=media-libs/chromaprint-0.6:0 ) + dbus? ( >=sys-apps/dbus-1.6:0 ) + dc1394? ( >=sys-libs/libraw1394-2.0.1:0 >=media-libs/libdc1394-2.1:2 ) + directfb? ( dev-libs/DirectFB:0 sys-libs/zlib:0 ) + dts? ( >=media-libs/libdca-0.0.5:0 ) + dvbpsi? ( >=media-libs/libdvbpsi-1.0.0:0= ) + dvd? ( >=media-libs/libdvdread-4.9:0 >=media-libs/libdvdnav-4.9:0 ) + elibc_glibc? ( >=sys-libs/glibc-2.8:2.2 ) + faad? ( >=media-libs/faad2-2.6.1:0 ) + fdk? ( media-libs/fdk-aac:0 ) + flac? ( >=media-libs/libogg-1:0 >=media-libs/flac-1.1.2:0 ) + fluidsynth? ( >=media-sound/fluidsynth-1.1.2:0 ) + fontconfig? ( media-libs/fontconfig:1.0 ) + gcrypt? ( >=dev-libs/libgcrypt-1.2.0:0= ) + gme? ( media-libs/game-music-emu:0 ) + gnome? ( gnome-base/gnome-vfs:2 dev-libs/glib:2 ) + gnutls? ( >=net-libs/gnutls-3.0.20:0 ) + ieee1394? ( >=sys-libs/libraw1394-2.0.1:0 >=sys-libs/libavc1394-0.5.3:0 ) + jack? ( >=media-sound/jack-audio-connection-kit-0.99.0-r1:0 ) + jpeg? ( virtual/jpeg:0 ) + kate? ( >=media-libs/libkate-0.3:0 ) + libass? ( >=media-libs/libass-0.9.8:0 media-libs/fontconfig:1.0 ) + libcaca? ( >=media-libs/libcaca-0.99_beta14:0 ) + libnotify? ( x11-libs/libnotify:0 x11-libs/gtk+:2 x11-libs/gdk-pixbuf:2 dev-libs/glib:2 ) + libsamplerate? ( media-libs/libsamplerate:0 ) + libtar? ( >=dev-libs/libtar-1.2.11-r3:0 ) + libtiger? ( >=media-libs/libtiger-0.3.1:0 ) + linsys? ( >=media-libs/zvbi-0.2.28:0 ) + lirc? ( app-misc/lirc:0 ) + live? ( >=media-plugins/live-2011.12.23:0 ) + lua? ( >=dev-lang/lua-5.1:0 ) + matroska? ( >=dev-libs/libebml-1:0= >=media-libs/libmatroska-1:0= ) + modplug? ( >=media-libs/libmodplug-0.8.4:0 !~media-libs/libmodplug-0.8.8 ) + mp3? ( media-libs/libmad:0 ) + mpeg? ( >=media-libs/libmpeg2-0.3.2:0 ) + mtp? ( >=media-libs/libmtp-1:0 ) + musepack? ( >=media-sound/musepack-tools-444:0 ) + ncurses? ( sys-libs/ncurses:5[unicode] ) + ogg? ( >=media-libs/libogg-1:0 ) + opencv? ( >media-libs/opencv-2:0 ) + opengl? ( virtual/opengl:0 >=x11-libs/libX11-1.3.99.901:0 ) + opus? ( >=media-libs/opus-1.0.3:0 ) + png? ( media-libs/libpng:0= sys-libs/zlib:0 ) + postproc? ( + !libav? ( >=media-video/ffmpeg-2.2:0= ) + libav? ( media-libs/libpostproc:0= ) + ) + projectm? ( media-libs/libprojectm:0 media-fonts/dejavu:0 ) + pulseaudio? ( >=media-sound/pulseaudio-1:0 ) + qt4? ( >=dev-qt/qtgui-4.6:4 >=dev-qt/qtcore-4.6:4 ) + qt5? ( >=dev-qt/qtgui-5.1:5 >=dev-qt/qtcore-5.1:5 >=dev-qt/qtwidgets-5.1:5 >=dev-qt/qtx11extras-5.1:5 ) + rdp? ( >=net-misc/freerdp-1.0.1:0= ) + samba? ( || ( >=net-fs/samba-3.4.6:0[smbclient] >=net-fs/samba-4:0[client] ) ) + schroedinger? ( >=media-libs/schroedinger-1.0.10:0 ) + sdl? ( >=media-libs/libsdl-1.2.10:0 + sdl-image? ( >=media-libs/sdl-image-1.2.10:0 sys-libs/zlib:0 ) ) + sftp? ( net-libs/libssh2:0 ) + shout? ( >=media-libs/libshout-2.1:0 ) + sid? ( media-libs/libsidplay:2 ) + skins? ( x11-libs/libXext:0 x11-libs/libXpm:0 x11-libs/libXinerama:0 ) + speex? ( media-libs/speex:0 ) + svg? ( >=gnome-base/librsvg-2.9:2 >=x11-libs/cairo-1.13.1:0 ) + swscale? ( + !libav? ( media-video/ffmpeg:0= ) + libav? ( media-video/libav:0= ) + ) + taglib? ( >=media-libs/taglib-1.9:0 sys-libs/zlib:0 ) + theora? ( >=media-libs/libtheora-1.0_beta3:0 ) + tremor? ( media-libs/tremor:0 ) + truetype? ( media-libs/freetype:2 virtual/ttf-fonts:0 + !fontconfig? ( media-fonts/dejavu:0 ) ) + twolame? ( media-sound/twolame:0 ) + udev? ( >=virtual/udev-142:0 ) + upnp? ( net-libs/libupnp:0 ) + v4l? ( media-libs/libv4l:0 ) + vaapi? ( + x11-libs/libva:0[X,drm] + !libav? ( media-video/ffmpeg:0=[vaapi] ) + libav? ( media-video/libav:0=[vaapi] ) + ) + vcdx? ( >=dev-libs/libcdio-0.78.2:0 >=media-video/vcdimager-0.7.22:0 ) + zeroconf? ( >=net-dns/avahi-0.6:0[dbus] ) +" + +# Temporarily block non-live FFMPEG versions as they break vdpau, 9999 works; +# thus we'll have to wait for a new release there. +RDEPEND="${RDEPEND} + vdpau? ( + >=x11-libs/libvdpau-0.6:0 + !libav? ( >=media-video/ffmpeg-2.2:0= ) + libav? ( >=media-video/libav-10:0= ) + ) + vnc? ( >=net-libs/libvncserver-0.9.9:0 ) + vorbis? ( >=media-libs/libvorbis-1.1:0 ) + vpx? ( media-libs/libvpx:0 ) + X? ( x11-libs/libX11:0 ) + x264? ( >=media-libs/x264-0.0.20090923:0= ) + x265? ( media-libs/x265:0= ) + xcb? ( >=x11-libs/libxcb-1.6:0 >=x11-libs/xcb-util-0.3.4:0 >=x11-libs/xcb-util-keysyms-0.3.4:0 ) + xml? ( >=dev-libs/libxml2-2.5:2 ) + zvbi? ( >=media-libs/zvbi-0.2.25:0 ) +" + +DEPEND="${RDEPEND} + kde? ( >=kde-base/kdelibs-4:4 ) + xcb? ( x11-proto/xproto:0 ) + app-arch/xz-utils:0 + dev-lang/yasm:* + >=sys-devel/gettext-0.19.2:* + virtual/pkgconfig:* +" + +REQUIRED_USE=" + aalib? ( X ) + bidi? ( truetype ) + cddb? ( cdda ) + dvb? ( dvbpsi ) + dxva2? ( avcodec ) + ffmpeg? ( avcodec avformat swscale postproc ) + fontconfig? ( truetype ) + gnutls? ( gcrypt ) + httpd? ( lua ) + libcaca? ( X ) + libtar? ( skins ) + libtiger? ( kate ) + qt4? ( X !qt5 ) + qt5? ( X !qt4 ) + sdl? ( X ) + skins? ( truetype X ^^ ( qt4 qt5 ) ) + vaapi? ( avcodec X ) + vlm? ( encode ) + xv? ( xcb ) +" + +S="${WORKDIR}/${MY_P}" + +pkg_setup() { + if [[ "${MERGE_TYPE}" != "binary" && "$(tc-getCC)" == *"gcc"* ]] ; then + if [[ $(gcc-major-version) < 4 || ( $(gcc-major-version) == 4 && $(gcc-minor-version) < 5 ) ]] ; then + die "You need to have at least >=sys-devel/gcc-4.5 to build and/or have a working vlc, see bug #426754." + fi + fi +} + +src_unpack() { + if [ "${PV%9999}" != "${PV}" ] ; then + git-r3_src_unpack + else + unpack ${A} + fi +} + +src_prepare() { + # Remove unnecessary warnings about unimplemented pragmas on gcc for now. + # Need to recheck this with gcc 4.9 and every subsequent minor bump of gcc. + # + # config.h:792: warning: ignoring #pragma STDC FENV_ACCESS [-Wunknown-pragmas] + # config.h:793: warning: ignoring #pragma STDC FP_CONTRACT [-Wunknown-pragmas] + # + # http://gcc.gnu.org/c99status.html + if [[ "$(tc-getCC)" == *"gcc"* ]] ; then + sed -i 's/ifndef __FAST_MATH__/if 0/g' configure.ac || die + fi + + # Bootstrap when we are on a git checkout. + if [[ "${PV%9999}" != "${PV}" ]] ; then + ./bootstrap + fi + + # Make it build with libtool 1.5 + rm -f m4/lt* m4/libtool.m4 || die + + # We are not in a real git checkout due to the absence of a .git directory. + touch src/revision.txt || die + + # Fix build system mistake. + epatch "${FILESDIR}"/${PN}-2.1.0-fix-libtremor-libs.patch + + # Patch up incompatibilities and reconfigure autotools. + epatch "${FILESDIR}"/${P}-libva-1.2.1-compat.patch + + # Fix up broken audio when skipping using a fixed reversed bisected commit. + epatch "${FILESDIR}"/${PN}-2.1.0-TomWij-bisected-PA-broken-underflow.patch + + # Don't use --started-from-file when not using dbus. + if ! use dbus ; then + sed -i 's/ --started-from-file//' share/vlc.desktop.in || die + fi + + epatch_user + + eautoreconf + + # Disable automatic running of tests. + find . -name 'Makefile.in' -exec sed -i 's/\(..*\)check-TESTS/\1/' {} \; || die + + # If qtchooser is installed, it may break the build, because moc,rcc and uic binaries for wrong qt version may be used. + # Setting QT_SELECT environment variable will enforce correct binaries. + if use qt4; then + export QT_SELECT=qt4 + elif use qt5; then + export QT_SELECT=qt5 + fi +} + +src_configure() { + # Compatibility fix for Samba 4. + use samba && append-cppflags "-I/usr/include/samba-4.0" + + # We need to disable -fstack-check if use >=gcc 4.8.0. + # See bug #499996 + use x86 && append-cflags $(test-flags-CC -fno-stack-check) + + # Needs libresid-builder from libsidplay:2 which is in another directory... + # FIXME! + append-ldflags "-L/usr/$(get_libdir)/sidplay/builders/" + + if use truetype || use projectm ; then + local dejavu="/usr/share/fonts/dejavu/" + myconf="--with-default-font=${dejavu}/DejaVuSans.ttf \ + --with-default-font-family=Sans \ + --with-default-monospace-font=${dejavu}/DejaVuSansMono.ttf + --with-default-monospace-font-family=Monospace" + fi + + local qt_flag="" + if use qt4 || use qt5 ; then + qt_flag="--enable-qt" + fi + + econf \ + ${myconf} \ + --enable-vlc \ + --docdir=/usr/share/doc/${PF} \ + --disable-dependency-tracking \ + --disable-optimizations \ + --disable-update-check \ + --enable-fast-install \ + --enable-screen \ + $(use_enable a52) \ + $(use_enable aalib aa) \ + $(use_enable alsa) \ + $(use_enable altivec) \ + $(use_enable atmo) \ + $(use_enable audioqueue) \ + $(use_enable avcodec) \ + $(use_enable avformat) \ + $(use_enable bidi fribidi) \ + $(use_enable bluray) \ + $(use_enable cdda vcd) \ + $(use_enable cddb libcddb) \ + $(use_enable chromaprint) \ + $(use_enable dbus) \ + $(use_enable directfb) \ + $(use_enable directx) \ + $(use_enable dc1394) \ + $(use_enable debug) \ + $(use_enable dts dca) \ + $(use_enable dvbpsi) \ + $(use_enable dvd dvdread) $(use_enable dvd dvdnav) \ + $(use_enable dxva2) \ + $(use_enable encode sout) \ + $(use_enable faad) \ + $(use_enable fdk fdkaac) \ + $(use_enable flac) \ + $(use_enable fluidsynth) \ + $(use_enable fontconfig) \ + $(use_enable gcrypt libgcrypt) \ + $(use_enable gme) \ + $(use_enable gnome gnomevfs) \ + $(use_enable gnutls) \ + $(use_enable growl) \ + $(use_enable httpd) \ + $(use_enable ieee1394 dv1394) \ + $(use_enable jack) \ + $(use_enable jpeg) \ + $(use_enable kate) \ + $(use_with kde kde-solid) \ + $(use_enable libass) \ + $(use_enable libcaca caca) \ + $(use_enable libnotify notify) \ + $(use_enable libsamplerate samplerate) \ + $(use_enable libtar) \ + $(use_enable libtiger tiger) \ + $(use_enable linsys) \ + $(use_enable lirc) \ + $(use_enable live live555) \ + $(use_enable lua) \ + $(use_enable macosx-dialog-provider) \ + $(use_enable macosx-eyetv) \ + $(use_enable macosx-qtkit) \ + $(use_enable macosx-quartztext) \ + $(use_enable matroska mkv) \ + $(use_enable cpu_flags_x86_mmx mmx) \ + $(use_enable modplug mod) \ + $(use_enable mp3 mad) \ + $(use_enable mpeg libmpeg2) \ + $(use_enable mtp) \ + $(use_enable musepack mpc) \ + $(use_enable ncurses) \ + $(use_enable neon) \ + $(use_enable ogg) $(use_enable ogg mux_ogg) \ + $(use_enable omxil) \ + $(use_enable omxil omxil-vout) \ + $(use_enable opencv) \ + $(use_enable opengl glspectrum) \ + $(use_enable opus) \ + $(use_enable optimisememory optimize-memory) \ + $(use_enable png) \ + $(use_enable postproc) \ + $(use_enable projectm) \ + $(use_enable pulseaudio pulse) \ + ${qt_flag} \ + $(use_enable rdp freerdp) \ + $(use_enable rtsp realrtsp) \ + $(use_enable run-as-root) \ + $(use_enable samba smbclient) \ + $(use_enable schroedinger) \ + $(use_enable sdl) \ + $(use_enable sdl-image) \ + $(use_enable sid) \ + $(use_enable sftp) \ + $(use_enable shout) \ + $(use_enable skins skins2) \ + $(use_enable speex) \ + $(use_enable cpu_flags_x86_sse sse) \ + $(use_enable svg) \ + $(use_enable svg svgdec) \ + $(use_enable swscale) \ + $(use_enable taglib) \ + $(use_enable theora) \ + $(use_enable tremor) \ + $(use_enable truetype freetype) \ + $(use_enable twolame) \ + $(use_enable udev) \ + $(use_enable upnp) \ + $(use_enable v4l v4l2) \ + $(use_enable vaapi libva) \ + $(use_enable vcdx) \ + $(use_enable vdpau) \ + $(use_enable vlm) \ + $(use_enable vnc) \ + $(use_enable vorbis) \ + $(use_enable vpx) \ + $(use_enable wma-fixed) \ + $(use_with X x) \ + $(use_enable x264) \ + $(use_enable xcb) \ + $(use_enable xml libxml2) \ + $(use_enable xv xvideo) \ + $(use_enable x265) \ + $(use_enable zeroconf bonjour) \ + $(use_enable zvbi) $(use_enable !zvbi telx) \ + --disable-asdcp \ + --disable-coverage \ + --disable-cprof \ + --disable-crystalhd \ + --disable-decklink \ + --disable-gles1 \ + --disable-gles2 \ + --disable-goom \ + --disable-kai \ + --disable-kva \ + --disable-maintainer-mode \ + --disable-merge-ffmpeg \ + --disable-mfx \ + --disable-mmal-codec \ + --disable-mmal-vout \ + --disable-opensles \ + --disable-oss \ + --disable-quicktime \ + --disable-rpi-omxil \ + --disable-shine \ + --disable-sndio \ + --disable-vda \ + --disable-vsxu \ + --disable-wasapi + + # ^ We don't have these disabled libraries in the Portage tree yet. + + # _FORTIFY_SOURCE is set to 2 in config.h, which is also the default value on Gentoo. + # Other values of _FORTIFY_SOURCE may break the build (bug 523144), so definition should not be removed from config.h. + # To prevent redefinition warnings, we undefine _FORTIFY_SOURCE at the very start of config.h file + sed -i '1i#undef _FORTIFY_SOURCE' "${S}"/config.h || die +} + +src_test() { + Xemake check-TESTS +} + +DOCS="AUTHORS THANKS NEWS README doc/fortunes.txt doc/intf-vcd.txt" + +src_install() { + default + + # Punt useless libtool's .la files + find "${D}" -name '*.la' -delete +} + +pkg_postinst() { + if [ "$ROOT" = "/" ] && [ -x "/usr/$(get_libdir)/vlc/vlc-cache-gen" ] ; then + einfo "Running /usr/$(get_libdir)/vlc/vlc-cache-gen on /usr/$(get_libdir)/vlc/plugins/" + "/usr/$(get_libdir)/vlc/vlc-cache-gen" -f "/usr/$(get_libdir)/vlc/plugins/" + else + ewarn "We cannot run vlc-cache-gen (most likely ROOT!=/)" + ewarn "Please run /usr/$(get_libdir)/vlc/vlc-cache-gen manually" + ewarn "If you do not do it, vlc will take a long time to load." + fi +} |