commit:     3cb9d9e6a70b1cb5aba3fbffd632d48a073b366e
Author:     ILMostro <ilmostro7 <AT> gmail <DOT> com>
AuthorDate: Wed Aug 29 02:32:31 2018 +0000
Commit:     ILMostro <ilmostro7 <AT> gmail <DOT> com>
CommitDate: Wed Aug 29 02:32:31 2018 +0000
URL:        https://gitweb.gentoo.org/repo/user/ag-ops.git/commit/?id=3cb9d9e6

media-video/vlc: added vlc ebuilds

 media-video/vlc/Manifest                           |  13 +
 .../vlc/files/vlc-2.1.0-fix-libtremor-libs.patch   |  11 +
 media-video/vlc/files/vlc-2.2.4-libav-11.7.patch   |  10 +
 media-video/vlc/files/vlc-2.2.8-freerdp-2.patch    | 131 ++++++
 .../vlc/files/vlc-2.2.8-libupnp-slot-1.8.patch     |  24 +
 media-video/vlc/files/vlc-3.0.1-qt-5.11.patch      |  10 +
 .../vlc/files/vlc-3.0.3-fix-disable-vlm.patch      |  42 ++
 media-video/vlc/files/vlc-3.0.3-fribidi-1.patch    |  80 ++++
 .../vlc/files/vlc-9999-libupnp-slot-1.8.patch      |  24 +
 media-video/vlc/metadata.xml                       |  63 +++
 media-video/vlc/vlc-3.0.3-r1.ebuild                | 500 +++++++++++++++++++++
 media-video/vlc/vlc-3.0.9999.ebuild                | 493 ++++++++++++++++++++
 media-video/vlc/vlc-9999.ebuild                    | 493 ++++++++++++++++++++
 13 files changed, 1894 insertions(+)

diff --git a/media-video/vlc/Manifest b/media-video/vlc/Manifest
new file mode 100644
index 0000000..aaa0ac5
--- /dev/null
+++ b/media-video/vlc/Manifest
@@ -0,0 +1,13 @@
+AUX vlc-2.1.0-fix-libtremor-libs.patch 453 BLAKE2B 
526934642617384224faee8d26c0a7fa4dec9891f718816e44fd08970a5477cdc7ae34510b26af9971fe5d20b25c96595901117c804c7679341e1e8cd5309a14
 SHA512 
6c25995a518aeb1d501fa217d897962e1e81f66a4f28b6bb164dde3afe7f91772bb608f946d802857fa9a272cab1f88d3990d582be89ab8e37b1a8b6681798ae
+AUX vlc-2.2.4-libav-11.7.patch 291 BLAKE2B 
9ad8bac7897976ba50b98ce1063baab311f0ad8e267cbad751b1378280b2f8238e22096448889b4eb69bbec34d08225269c7d2f653676828dc7a7d755fe676bf
 SHA512 
f216833dc1ad5ddbf6a19b497238e9c850582f16eae452862a4c7c9acd110a0033879b3e3555177ac0ef30663cdd3f72d1a1020999c44e1f577ef665dd658315
+AUX vlc-2.2.8-freerdp-2.patch 4478 BLAKE2B 
24b34ae2015de5197a275e393a761535d3386138ca1cdd67f0254a8bb916c9b0b40e553846299036882da5e5389fd8b8722f6f0cdf3e114a05fe1d445b48801c
 SHA512 
e71bf81d87e7d0daf6d5820ba8e6a365cb8041eca82674ef69cc0d1eabbb29349a9ac193b0c2ad212e6d231dda7cf07a71e76317b8e8fc44b5ef0467d8f86b2f
+AUX vlc-2.2.8-libupnp-slot-1.8.patch 725 BLAKE2B 
eb217ef57f0709fa1d0bdf1644610588f373e17d18c2642ee6489ca00311772307d8fc67a07ecc8d29810b80aa8f14c40298285c3319d8ddede2552d28d2837e
 SHA512 
890b91405cbf6105c932566fd7799fdccd1b27f1e0df0c6dae1511aeead2c28eb5fea7642b01af1abbcf546aae0559408c0ddf2ec82c92809f3b02d1d477bb51
+AUX vlc-3.0.1-qt-5.11.patch 350 BLAKE2B 
e0980ebbefa94d9388785c12fa5cba666eb3681fa94b0c512018475477974502ce0df4aa4939865f43c2bf393654db902df5f070edd802296f1d3ef71b8caeb0
 SHA512 
66aad0ec32d1a96f65566b04eb9c0b4574824e281940fe5c0de54ac5f92189693a9f2576203d2c8562d7174ec5315cbbd683d93c481d16119d3038e30a58cbf5
+AUX vlc-3.0.3-fix-disable-vlm.patch 1366 BLAKE2B 
a0ebb75f8b171063dfc4490ed8abfcad515cac85a618bcd0e157fda71a6673023d45682a5c5507ffbc1412e15f1edb3cd0e3f1e5095d9d5ce5dfb0ae51488e36
 SHA512 
544c3f57112e7c37c1fc3a853e45b6ca3c186ee70734cd755365b233cbd481257ec0a7be8e8213c55ee6c6110a2ee8c0d4bce50eab67cdd57cb4e74a9edab862
+AUX vlc-3.0.3-fribidi-1.patch 3406 BLAKE2B 
d7c670a57a442a1f093f4ca72c84b633bafcf5a631f0a31af45109cf0cedc1761f93817c26b412fc1af0a7ee8a9f84b5e318d210d4e78c95a989af37d99410f4
 SHA512 
403524d92607e8862836fbbdd4f32c064ee67dac521fbbfdd474d4b057b76e006cca6e9541d95765451eb147320111ef1774b6399e05ce9d32db61430ab4ef2a
+AUX vlc-9999-libupnp-slot-1.8.patch 763 BLAKE2B 
6bc8cf46f029db27d6d30d96e871d3bcfddee004e4e8469e1526a6a38fb5cc11a24a19888443e5f9062d7145665d594e142c12f3a9693967f195bab3b33ada38
 SHA512 
dd3375997a1935d3a227231785f35e300e3f992034da6a9c3019e28c68c1f005cbdd67190672264b342abc719e69005f965599f7af975e2bbd4cfccd89e3770d
+DIST vlc-3.0.3.tar.xz 24941592 BLAKE2B 
dd6e27b10064ecae1c6f64459d2ed172d09f8dc1414c4d96bf66e8b3104154154229bb5d638955c855b6cf471b8630196b170db94b61506c7e0dd42bec8fbb20
 SHA512 
1569cefa6623b2631a832679bc9a63ebeba222901e5221d254e896a68d2ee467054da8de9eda566924e80a11bb29a673a9f0c4243793845547d8027b58a238ab
+EBUILD vlc-3.0.3-r1.ebuild 13450 BLAKE2B 
90c0942f1018dc8bae1bc15c4417bb7555aede9e6ec7d3a87ddd048af03d816855cc3f96e1042a2f6c0d2949ca76dd8b9d80b240509413af3bb61e212ffd11ad
 SHA512 
072af5095c8fda41fe7c29d4254a4147687b64a8593b117d37466dc8012d1c64bb7291ecf6a5ef0f806f6de0522dd90eb796568f73201cd1a327d85efd3f7218
+EBUILD vlc-3.0.9999.ebuild 13261 BLAKE2B 
b014ff22f70752b739d22521c06a642093d25037cc2355dcd19dda351b4d4c8cbc44ff0e8b86e2410a15ca8529048f6c61601c412e83cbfd32188ead64a3fcfd
 SHA512 
e6f34bb0e1c9f0c31fcd46f5f2e22e6ebf5834ad1140ee2178cae581049bb99b0c1fd6d96bca4765ec38c0611d1ca4740b3dc4e550b62a85642716df3af2af01
+EBUILD vlc-9999.ebuild 13209 BLAKE2B 
47add64565abb5e7f4fc44729f67de84d6bfe7bc025819d3f986d9497207bdb12c4a27462d917ae18197fe31899a252eed8aaf3efd80a0350e7c2c32d21e7706
 SHA512 
86bfd49188514a5ccd813590f8ec8eff9bd55d751b8c2f6057d250031bbcbe3dade0a18a55bfaba07ea7b11f42208d431fe04dc7c79a500679268a9cdf4fc49b
+MISC metadata.xml 5187 BLAKE2B 
43c8474284bb05268e6846e646ff382a1cb0f3ffa1a9ee65aa5beb95c157c427cef3df82abdaafa60f3ede953506987342de284a06fad2fcf83b5fc3b7054ca2
 SHA512 
c518a431a420a40e0f627e0cc713980b660db1acfb837bf20bf80220df1773bdea325998e5b8270dc7d4ad2af6290bdefb45c30a1ed07f62c73c99d57a5ca77a

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 0000000..8a58969
--- /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.2.4-libav-11.7.patch 
b/media-video/vlc/files/vlc-2.2.4-libav-11.7.patch
new file mode 100644
index 0000000..9322236
--- /dev/null
+++ b/media-video/vlc/files/vlc-2.2.4-libav-11.7.patch
@@ -0,0 +1,10 @@
+--- a/modules/codec/avcodec/audio.c    2016-09-10 13:46:51.066453337 -0700
++++ a/modules/codec/avcodec/audio.c    2016-09-10 13:42:26.061451090 -0700
+@@ -38,6 +38,7 @@ 
+ 
+ #include <libavcodec/avcodec.h>
+ #include <libavutil/mem.h>
++#include <libavutil/channel_layout.h>
+ 
+ #include "avcodec.h"
+ 

diff --git a/media-video/vlc/files/vlc-2.2.8-freerdp-2.patch 
b/media-video/vlc/files/vlc-2.2.8-freerdp-2.patch
new file mode 100644
index 0000000..5cee133
--- /dev/null
+++ b/media-video/vlc/files/vlc-2.2.8-freerdp-2.patch
@@ -0,0 +1,131 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -1957,7 +1957,7 @@ PKG_ENABLE_MODULES_VLC([VNC], [vnc], [li
+ 
+ dnl  RDP/Remote Desktop access module
+ dnl
+-PKG_ENABLE_MODULES_VLC([FREERDP], [rdp], [freerdp >= 1.0.1], (RDP/Remote 
Desktop client support) )
++PKG_ENABLE_MODULES_VLC([FREERDP], [rdp], [freerdp2 >= 1.0.1], (RDP/Remote 
Desktop client support) )
+ 
+ dnl
+ dnl  Real RTSP plugin
+--- a/modules/access/rdp.c     2017-12-25 17:45:32.964429170 +0100
++++ b/modules/access/rdp.c     2017-12-25 17:53:15.114093670 +0100
+@@ -45,18 +45,6 @@
+ # include <freerdp/version.h>
+ #endif
+ 
+-#if !defined(FREERDP_VERSION_MAJOR) || \
+-    (defined(FREERDP_VERSION_MAJOR) && !(FREERDP_VERSION_MAJOR > 1 || 
(FREERDP_VERSION_MAJOR == 1 && FREERDP_VERSION_MINOR >= 1)))
+-# define SoftwareGdi sw_gdi
+-# define Fullscreen fullscreen
+-# define ServerHostname hostname
+-# define Username username
+-# define Password password
+-# define ServerPort port
+-# define EncryptionMethods encryption
+-# define ContextSize context_size
+-#endif
+-
+ #include <errno.h>
+ #ifdef HAVE_POLL
+ # include <poll.h>
+@@ -140,6 +128,7 @@
+     vlcrdp_context_t * p_vlccontext = (vlcrdp_context_t *) p_context;
+     demux_sys_t *p_sys = p_vlccontext->p_demux->p_sys;
+     rdpGdi *p_gdi = p_context->gdi;
++    unsigned bytesPerPixel;
+ 
+     if ( p_sys->es )
+     {
+@@ -149,19 +138,23 @@
+ 
+     /* Now init and fill es format */
+     vlc_fourcc_t i_chroma;
+-    switch( p_gdi->bytesPerPixel )
++    switch( p_gdi->dstFormat )
+     {
+         default:
+-        case 16:
++            msg_Dbg( p_vlccontext->p_demux, "unhandled dstFormat %x bpp", 
p_gdi->dstFormat);
++        case PIXEL_FORMAT_BGR16:
+             i_chroma = VLC_CODEC_RGB16;
++            bytesPerPixel = 16;
+             break;
+-        case 24:
++        case PIXEL_FORMAT_BGR24:
+             i_chroma = VLC_CODEC_RGB24;
++            bytesPerPixel = 24;
+             break;
+-        case 32:
++        case PIXEL_FORMAT_BGRA32:
+             i_chroma = VLC_CODEC_RGB32;
++            bytesPerPixel = 32;
+             break;
+     }
+     es_format_t fmt;
+     es_format_Init( &fmt, VIDEO_ES, i_chroma );
+ 
+@@ -172,7 +165,7 @@
+     fmt.video.i_height = p_gdi->height;
+     fmt.video.i_frame_rate_base = 1000;
+     fmt.video.i_frame_rate = 1000 * p_sys->f_fps;
+-    p_sys->i_framebuffersize = p_gdi->width * p_gdi->height * 
p_gdi->bytesPerPixel;
++    p_sys->i_framebuffersize = p_gdi->width * p_gdi->height * bytesPerPixel;
+ 
+     if ( p_sys->p_block )
+         p_sys->p_block = block_Realloc( p_sys->p_block, 0, 
p_sys->i_framebuffersize );
+@@ -233,28 +226,19 @@
+     vlcrdp_context_t * p_vlccontext = (vlcrdp_context_t *) 
p_instance->context;
+ 
+     msg_Dbg( p_vlccontext->p_demux, "connected to desktop %dx%d (%d bpp)",
+-#if defined(FREERDP_VERSION_MAJOR) && (FREERDP_VERSION_MAJOR > 1 || 
(FREERDP_VERSION_MAJOR == 1 && FREERDP_VERSION_MINOR >= 1))
+              p_instance->settings->DesktopWidth,
+              p_instance->settings->DesktopHeight,
+              p_instance->settings->ColorDepth
+-#else
+-             p_instance->settings->width,
+-             p_instance->settings->height,
+-             p_instance->settings->color_depth
+-#endif
+              );
+ 
+     p_instance->update->DesktopResize = desktopResizeHandler;
+     p_instance->update->BeginPaint = beginPaintHandler;
+     p_instance->update->EndPaint = endPaintHandler;
+ 
+-    gdi_init( p_instance,
+-                CLRBUF_16BPP |
+-#if defined(FREERDP_VERSION_MAJOR) && defined(FREERDP_VERSION_MINOR) && \
+-    !(FREERDP_VERSION_MAJOR > 1 || (FREERDP_VERSION_MAJOR == 1 && 
FREERDP_VERSION_MINOR >= 2))
+-                CLRBUF_24BPP |
+-#endif
+-                CLRBUF_32BPP, NULL );
++    if ( p_instance->settings->ColorDepth > 16 )
++        gdi_init( p_instance, PIXEL_FORMAT_XRGB32);
++    else
++        gdi_init( p_instance, PIXEL_FORMAT_RGB16);
+ 
+     desktopResizeHandler( p_instance->context );
+     return true;
+@@ -428,10 +412,6 @@
+     if ( p_sys->f_fps <= 0 ) p_sys->f_fps = 1.0;
+     p_sys->i_frame_interval = 1000000 / p_sys->f_fps;
+ 
+-#if FREERDP_VERSION_MAJOR == 1 && FREERDP_VERSION_MINOR < 2
+-    freerdp_channels_global_init();
+-#endif
+-
+     p_sys->p_instance = freerdp_new();
+     if ( !p_sys->p_instance )
+     {
+@@ -506,9 +486,6 @@
+ 
+     freerdp_disconnect( p_sys->p_instance );
+     freerdp_free( p_sys->p_instance );
+-#if 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.8-libupnp-slot-1.8.patch 
b/media-video/vlc/files/vlc-2.2.8-libupnp-slot-1.8.patch
new file mode 100644
index 0000000..ab501e4
--- /dev/null
+++ b/media-video/vlc/files/vlc-2.2.8-libupnp-slot-1.8.patch
@@ -0,0 +1,24 @@
+--- a/modules/services_discovery/upnp.hpp      2015-05-19 15:32:38.000000000 
+0200
++++ b/modules/services_discovery/upnp.hpp      2017-12-09 14:07:08.551654458 
+0100
+@@ -28,8 +28,8 @@
+ #include <vector>
+ #include <string>
+ 
+-#include <upnp/upnp.h>
+-#include <upnp/upnptools.h>
++#include <upnp-1.8/upnp.h>
++#include <upnp-1.8/upnptools.h>
+ 
+ #include <vlc_common.h>
+ 
+--- a/configure.ac     2017-12-09 14:09:12.956370304 +0100
++++ b/configure.ac     2017-12-09 14:13:25.236710362 +0100
+@@ -4046,7 +4046,7 @@
+ dnl
+ dnl UPnP Plugin (Intel SDK)
+ dnl
+-PKG_ENABLE_MODULES_VLC([UPNP], [upnp], [libupnp], [Intel UPNP SDK],[auto])
++PKG_ENABLE_MODULES_VLC([UPNP], [upnp], [libupnp-1.8], [Intel UPNP SDK],[auto])
+ 
+ EXTEND_HELP_STRING([Misc options:])
+ 

diff --git a/media-video/vlc/files/vlc-3.0.1-qt-5.11.patch 
b/media-video/vlc/files/vlc-3.0.1-qt-5.11.patch
new file mode 100644
index 0000000..c99d898
--- /dev/null
+++ b/media-video/vlc/files/vlc-3.0.1-qt-5.11.patch
@@ -0,0 +1,10 @@
+--- a/modules/gui/qt/components/simple_preferences.cpp 2018-01-25 
17:57:40.000000000 +0100
++++ b/modules/gui/qt/components/simple_preferences.cpp 2018-03-18 
21:08:51.212556781 +0100
+@@ -33,6 +33,7 @@
+ #include <vlc_config_cat.h>
+ #include <vlc_configuration.h>
+ 
++#include <QButtonGroup>
+ #include <QString>
+ #include <QFont>
+ #include <QToolButton>

diff --git a/media-video/vlc/files/vlc-3.0.3-fix-disable-vlm.patch 
b/media-video/vlc/files/vlc-3.0.3-fix-disable-vlm.patch
new file mode 100644
index 0000000..fe4eecb
--- /dev/null
+++ b/media-video/vlc/files/vlc-3.0.3-fix-disable-vlm.patch
@@ -0,0 +1,42 @@
+From 49450a4ab90bba8530764c5cdb95d648aeda7d52 Mon Sep 17 00:00:00 2001
+From: =?utf8?q?Hugo=20Beauz=C3=A9e-Luyssen?= <h...@beauzee.fr>
+Date: Mon, 28 May 2018 18:25:15 +0200
+Subject: [PATCH] qt: Fix build with --disable-vlm
+MIME-Version: 1.0
+Content-Type: text/plain; charset=utf8
+Content-Transfer-Encoding: 8bit
+
+Fix #20495
+
+(cherry picked from commit 44a635bd4ae16fec5295f6f8aee4dd2ffd7e97d8)
+Signed-off-by: Hugo Beauzée-Luyssen <h...@beauzee.fr>
+---
+ modules/gui/qt/Makefile.am | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/modules/gui/qt/Makefile.am b/modules/gui/qt/Makefile.am
+index cb77b14d96..c67f4afc13 100644
+--- a/modules/gui/qt/Makefile.am
++++ b/modules/gui/qt/Makefile.am
+@@ -191,7 +191,6 @@ nodist_libqt_plugin_la_SOURCES = \
+       gui/qt/dialogs/open.moc.cpp \
+       gui/qt/dialogs/openurl.moc.cpp \
+       gui/qt/dialogs/podcast_configuration.moc.cpp \
+-      gui/qt/dialogs/vlm.moc.cpp \
+       gui/qt/dialogs/firstrun.moc.cpp \
+       gui/qt/dialogs/extensions.moc.cpp \
+       gui/qt/dialogs/fingerprintdialog.moc.cpp \
+@@ -445,6 +444,10 @@ EXTRA_DIST += gui/qt/vlc.qrc $(libqt_plugin_la_RES)
+ 
+ nodist_libqt_plugin_la_SOURCES += gui/qt/resources.cpp
+ 
++if ENABLE_VLM
++nodist_libqt_plugin_la_SOURCES += gui/qt/dialogs/vlm.moc.cpp
++endif
++
+ gui/qt/resources.cpp: gui/qt/vlc.qrc $(libqt_plugin_la_RES)
+       $(AM_V_GEN)$(RCC) -name vlc -o $@ $<
+ 
+-- 
+2.11.0
+

diff --git a/media-video/vlc/files/vlc-3.0.3-fribidi-1.patch 
b/media-video/vlc/files/vlc-3.0.3-fribidi-1.patch
new file mode 100644
index 0000000..4431025
--- /dev/null
+++ b/media-video/vlc/files/vlc-3.0.3-fribidi-1.patch
@@ -0,0 +1,80 @@
+From 26e2d3906658c30f2f88f4b1bc9630ec43bf5525 Mon Sep 17 00:00:00 2001
+From: Shaleen Jain <shal...@jain.sh>
+Date: Sun, 25 Feb 2018 18:42:27 +0530
+Subject: [PATCH] fribidi: update for version 1.0
+
+Update functions deprecated in version 1.0 when building with release 1.0 and
+above.
+
+Signed-off-by: Thomas Guillem <tho...@gllm.fr>
+---
+ modules/text_renderer/freetype/text_layout.c | 24 ++++++++++++++++++++
+ 1 file changed, 24 insertions(+)
+
+diff --git a/modules/text_renderer/freetype/text_layout.c 
b/modules/text_renderer/freetype/text_layout.c
+index 13efd567b46..1a28786d097 100644
+--- a/modules/text_renderer/freetype/text_layout.c
++++ b/modules/text_renderer/freetype/text_layout.c
+@@ -153,6 +153,9 @@ typedef struct paragraph_t
+ 
+ #ifdef HAVE_FRIBIDI
+     FriBidiCharType     *p_types;
++#if FRIBIDI_MAJOR_VERSION >= 1
++    FriBidiBracketType  *p_btypes;
++#endif
+     FriBidiLevel        *p_levels;
+     FriBidiStrIndex     *pi_reordered_indices;
+     FriBidiParType       paragraph_type;
+@@ -361,6 +364,9 @@ static paragraph_t *NewParagraph( filter_t *p_filter,
+ #ifdef HAVE_FRIBIDI
+     p_paragraph->p_levels = vlc_alloc( i_size, sizeof( *p_paragraph->p_levels 
) );
+     p_paragraph->p_types = vlc_alloc( i_size, sizeof( *p_paragraph->p_types ) 
);
++#if FRIBIDI_MAJOR_VERSION >= 1
++    p_paragraph->p_btypes = vlc_alloc( i_size, sizeof( *p_paragraph->p_btypes 
) );
++#endif
+     p_paragraph->pi_reordered_indices =
+             vlc_alloc( i_size, sizeof( *p_paragraph->pi_reordered_indices ) );
+ 
+@@ -398,6 +404,9 @@ static paragraph_t *NewParagraph( filter_t *p_filter,
+ #ifdef HAVE_FRIBIDI
+     if( p_paragraph->p_levels ) free( p_paragraph->p_levels );
+     if( p_paragraph->p_types ) free( p_paragraph->p_types );
++#if FRIBIDI_MAJOR_VERSION >= 1
++    if( p_paragraph->p_btypes ) free( p_paragraph->p_btypes );
++#endif
+     if( p_paragraph->pi_reordered_indices )
+         free( p_paragraph->pi_reordered_indices );
+ #endif
+@@ -424,6 +433,9 @@ static void FreeParagraph( paragraph_t *p_paragraph )
+ #ifdef HAVE_FRIBIDI
+     free( p_paragraph->pi_reordered_indices );
+     free( p_paragraph->p_types );
++#if FRIBIDI_MAJOR_VERSION >= 1
++    free( p_paragraph->p_btypes );
++#endif
+     free( p_paragraph->p_levels );
+ #endif
+ 
+@@ -436,10 +448,22 @@ static int AnalyzeParagraph( paragraph_t *p_paragraph )
+     fribidi_get_bidi_types(  p_paragraph->p_code_points,
+                              p_paragraph->i_size,
+                              p_paragraph->p_types );
++#if FRIBIDI_MAJOR_VERSION >= 1
++    fribidi_get_bracket_types( p_paragraph->p_code_points,
++                               p_paragraph->i_size,
++                               p_paragraph->p_types,
++                               p_paragraph->p_btypes );
++    fribidi_get_par_embedding_levels_ex( p_paragraph->p_types,
++                                      p_paragraph->p_btypes,
++                                      p_paragraph->i_size,
++                                      &p_paragraph->paragraph_type,
++                                      p_paragraph->p_levels );
++#else
+     fribidi_get_par_embedding_levels( p_paragraph->p_types,
+                                       p_paragraph->i_size,
+                                       &p_paragraph->paragraph_type,
+                                       p_paragraph->p_levels );
++#endif
+ 
+ #ifdef HAVE_HARFBUZZ
+     hb_unicode_funcs_t *p_funcs = hb_unicode_funcs_get_default();

diff --git a/media-video/vlc/files/vlc-9999-libupnp-slot-1.8.patch 
b/media-video/vlc/files/vlc-9999-libupnp-slot-1.8.patch
new file mode 100644
index 0000000..15ffc6a
--- /dev/null
+++ b/media-video/vlc/files/vlc-9999-libupnp-slot-1.8.patch
@@ -0,0 +1,24 @@
+--- a/modules/services_discovery/upnp-wrapper.hpp      2017-12-25 
18:17:33.358015500 +0100
++++ b/modules/services_discovery/upnp-wrapper.hpp      2017-12-25 
18:30:45.158167813 +0100
+@@ -35,8 +35,8 @@
+ #include <algorithm>
+ #include <assert.h>
+ 
+-#include <upnp.h>
+-#include <upnptools.h>
++#include <upnp-1.8/upnp.h>
++#include <upnp-1.8/upnptools.h>
+ 
+ #if UPNP_VERSION < 10800
+ typedef void* UpnpEventPtr;
+
+--- a/configure.ac     2017-12-09 14:09:12.956370304 +0100
++++ b/configure.ac     2017-12-09 14:13:25.236710362 +0100
+@@ -4046,7 +4046,7 @@
+ dnl
+ dnl UPnP Plugin (Intel SDK)
+ dnl
+-PKG_ENABLE_MODULES_VLC([UPNP], [upnp], [libupnp], [Intel UPNP SDK],[auto])
++PKG_ENABLE_MODULES_VLC([UPNP], [upnp], [libupnp-1.8], [Intel UPNP SDK],[auto])
+ 
+ EXTEND_HELP_STRING([Misc options:])

diff --git a/media-video/vlc/metadata.xml b/media-video/vlc/metadata.xml
new file mode 100644
index 0000000..63d4bab
--- /dev/null
+++ b/media-video/vlc/metadata.xml
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd";>
+<pkgmetadata>
+       <maintainer type="project">
+               <email>media-vi...@gentoo.org</email>
+               <name>Gentoo Video project</name>
+       </maintainer>
+       <use>
+               <flag name="aom">Enable experimental support for AV1 
codec</flag>
+               <flag name="archive">Enable support for libarchive stream 
extractor</flag>
+               <flag name="aribsub">Enable support for decoding ARIB STD-B24 
subtitles</flag>
+               <flag name="bluray">Enable libbluray for Blu-ray disc 
support</flag>
+               <flag name="chromaprint">Enable libchromaprint for Chromaprint 
based audio fingerprinter support</flag>
+               <flag name="chromecast">Enable experimental support for Google 
Chromecast</flag>
+               <flag name="dc1394">Enable IIDC cameras support</flag>
+               <flag name="directx">Enable Win32 DirectX, D3D11va and DxVA2 
support</flag>
+               <flag name="dvbpsi">Enable support for Mpeg-TS files (.ts, 
.m2ts, .mts) via <pkg>media-libs/libdvbpsi</pkg></flag>
+               <flag name="encode">Enable streaming-output support and 
videolan manager to control multiple streams from within one instance</flag>
+               <flag name="faad">Enable AAC audio decoding library support via 
media-libs/faad2</flag>
+               <flag name="fdk">Enable the Fraunhofer AAC codec library</flag>
+               <flag name="fluidsynth">Enable Fluidsynth MIDI software 
synthesis (with external sound fonts)</flag>
+               <flag name="gcrypt">Enable cryptography support via 
libgcrypt</flag>
+               <flag name="gme">Enable support for 
<pkg>media-libs/game-music-emu</pkg> for playing various video game music 
formats</flag>
+               <flag name="gstreamer">Enable GStreamer based decoding support 
(currently supports only video decoding)</flag>
+               <flag name="kate">Adds support for Ogg Kate subtitles via 
libkate</flag>
+               <flag name="kms">Enable kernel mode setting video output plugin 
via <pkg>x11-libs/libdrm</pkg></flag>
+               <flag name="libtar">Uses libtar instead of the built-in tar 
reader for reading custom skins</flag>
+               <flag name="libtiger">Enable Ogg Kate subtitles rendering using 
libtiger</flag>
+               <flag name="linsys">Enable support for Linux Linear Systems 
Ltd. SDI and HD-SDI input cards</flag>
+               <flag name="live">Enable 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-notifications">Enable Mac OS X notifications 
module (formerly growl)</flag>
+               <flag name="macosx-qtkit">Enable Mac OS X qtkit module: 
qtcapture (video) and qtsound (audio) module</flag>
+               <flag name="matroska">Enable matroska support using reference 
libraries (fallback on other existing matroska support if disabled, i.e., 
matroska enabled FFmpeg)</flag>
+               <flag name="mpeg">Add libmpeg2 support for mpeg-1 and mpeg-2 
video streams</flag>
+               <flag name="nfs">Enable support for nfs protocol via 
<pkg>net-fs/libnfs</pkg></flag>
+               <flag name="omxil">Enable OpenMAX Integration Layer codec 
module</flag>
+               <flag name="opencv">Enable OpenCV (computer vision) filter 
module</flag>
+               <flag name="optimisememory">Enable optimisation for memory 
rather than performance</flag>
+               <flag name="opus">Support opus decoding via libopus</flag>
+               <flag name="postproc">Enable image post-processing via 
libpostproc (part of FFmpeg)</flag>
+               <flag name="projectm">Enable the projectM visualization 
plugin</flag>
+               <flag name="rtsp">Enable 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="sdl-image">Enable sdl image video decoder (depends 
on sdl)</flag>
+               <flag name="sftp">Enable libssh2 to support SFTP file 
transfer</flag>
+               <flag name="shout">Enable libshout output</flag>
+               <flag name="sid">Adds support for playing C64 SID files through 
<pkg>media-libs/libsidplay</pkg>:2</flag>
+               <flag name="skins">Enable support for the skins2 
interface</flag>
+               <flag name="soxr">Enable SoX Resampler support via 
<pkg>media-libs/soxr</pkg></flag>
+               <flag name="srt">Enable support for Secure Reliable Transport 
(SRT) via <pkg>net-libs/srt</pkg></flag>
+               <flag name="tremor">Enable tremor, a fixed-point version of the 
Ogg Vorbis decoder</flag>
+               <flag name="twolame">Enable twolame support (MPEG Audio Layer 2 
encoder)</flag>
+               <flag name="upnp">Enable support for the Intel SDK stack based 
UPnP discovery module instead of CyberLink</flag>
+               <flag name="vpx">Enable the decoder(s) from the WebM VP8 / VP9 
Codec SDK</flag>
+               <flag name="wma-fixed">Enable fixed point WMA decoder</flag>
+               <flag name="X">Enable support for e.g. fullscreen mode via X 
and the X C-language binding. It does not build a graphical interface</flag>
+               <flag name="x265">Support X265 Encoder</flag>
+               <flag name="zeroconf">Enable support for zero-configuration 
networking via avahi</flag>
+               <flag name="zvbi">Enable support for teletext subtitles via the 
zvbi library</flag>
+       </use>
+</pkgmetadata>

diff --git a/media-video/vlc/vlc-3.0.3-r1.ebuild 
b/media-video/vlc/vlc-3.0.3-r1.ebuild
new file mode 100644
index 0000000..be1767e
--- /dev/null
+++ b/media-video/vlc/vlc-3.0.3-r1.ebuild
@@ -0,0 +1,500 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+MY_PV="${PV/_/-}"
+MY_PV="${MY_PV/-beta/-test}"
+MY_P="${PN}-${MY_PV}"
+if [[ ${PV} = *9999 ]] ; then
+       if [[ ${PV%.9999} != ${PV} ]] ; then
+               
EGIT_REPO_URI="https://git.videolan.org/git/vlc/vlc-${PV%.9999}.git";
+       else
+               EGIT_REPO_URI="https://git.videolan.org/git/vlc.git";
+       fi
+       SCM="git-r3"
+else
+       if [[ ${MY_P} = ${P} ]] ; then
+               
SRC_URI="https://download.videolan.org/pub/videolan/${PN}/${PV}/${P}.tar.xz";
+       else
+               
SRC_URI="https://download.videolan.org/pub/videolan/testing/${MY_P}/${MY_P}.tar.xz";
+       fi
+       KEYWORDS="amd64 ~arm ~arm64 ppc ppc64 -sparc x86 ~x86-fbsd"
+fi
+inherit autotools flag-o-matic gnome2-utils toolchain-funcs versionator 
virtualx xdg-utils ${SCM}
+
+DESCRIPTION="Media player and framework with support for most multimedia files 
and streaming"
+HOMEPAGE="https://www.videolan.org/vlc/";
+
+LICENSE="LGPL-2.1 GPL-2"
+SLOT="0/5-9" # vlc - vlccore
+
+IUSE="a52 alsa altivec aom archive bidi bluray cddb chromaprint chromecast 
dbus dc1394
+       debug directx dts +dvbpsi dvd +encode faad fdk +ffmpeg flac fluidsynth 
fontconfig
+       +gcrypt gme gnome-keyring gstreamer ieee1394 jack jpeg kate libass 
libav libcaca
+       libnotify +libsamplerate libtar libtiger linsys lirc live lua 
macosx-notifications
+       macosx-qtkit matroska modplug mp3 mpeg mtp musepack ncurses neon nfs ogg
+       omxil opencv optimisememory opus png postproc projectm pulseaudio +qt5 
rdp rtsp
+       run-as-root samba schroedinger sdl-image sftp shout sid skins soxr 
speex srt ssl svg
+       taglib theora tremor truetype twolame udev upnp vaapi v4l vdpau vnc 
vorbis vpx
+       wayland wma-fixed +X x264 x265 xml zeroconf zvbi cpu_flags_x86_mmx 
cpu_flags_x86_sse
+"
+REQUIRED_USE="
+       chromecast? ( encode )
+       directx? ( ffmpeg )
+       fontconfig? ( truetype )
+       libcaca? ( X )
+       libtar? ( skins )
+       libtiger? ( kate )
+       postproc? ( ffmpeg )
+       skins? ( qt5 truetype X xml )
+       ssl? ( gcrypt )
+       vaapi? ( ffmpeg X )
+       vdpau? ( ffmpeg X )
+"
+RDEPEND="
+       net-dns/libidn:=
+       sys-libs/zlib:0[minizip]
+       virtual/libintl:0
+       virtual/opengl
+       a52? ( media-libs/a52dec:0 )
+       alsa? ( media-libs/alsa-lib:0 )
+       aom? ( media-libs/libaom:= )
+       archive? ( app-arch/libarchive:= )
+       bidi? (
+               dev-libs/fribidi:0
+               media-libs/freetype:2[harfbuzz]
+               media-libs/harfbuzz
+               virtual/ttf-fonts:0
+       )
+       bluray? ( media-libs/libbluray:0= )
+       cddb? ( media-libs/libcddb:0 )
+       chromaprint? ( media-libs/chromaprint:0= )
+       chromecast? (
+               >=dev-libs/protobuf-2.5.0:=
+               >=net-libs/libmicrodns-0.0.9:=
+       )
+       dbus? ( sys-apps/dbus:0 )
+       dc1394? (
+               media-libs/libdc1394:2
+               sys-libs/libraw1394:0
+       )
+       dts? ( media-libs/libdca:0 )
+       dvbpsi? ( >=media-libs/libdvbpsi-1.2.0:0= )
+       dvd? (
+               >=media-libs/libdvdnav-4.9:0
+               >=media-libs/libdvdread-4.9:0
+       )
+       faad? ( media-libs/faad2:0 )
+       fdk? ( media-libs/fdk-aac:0= )
+       ffmpeg? (
+               !libav? ( >=media-video/ffmpeg-3.1.3:0=[vaapi?,vdpau?] )
+               libav? ( >=media-video/libav-12.2:0=[vaapi?,vdpau?] )
+       )
+       flac? (
+               media-libs/flac:0
+               media-libs/libogg:0
+       )
+       fluidsynth? ( media-sound/fluidsynth:0 )
+       fontconfig? ( media-libs/fontconfig:1.0 )
+       gcrypt? (
+               dev-libs/libgcrypt:0=
+               dev-libs/libgpg-error:0
+       )
+       gme? ( media-libs/game-music-emu:0 )
+       gnome-keyring? ( app-crypt/libsecret )
+       gstreamer? ( >=media-libs/gst-plugins-base-1.4.5:1.0 )
+       ieee1394? (
+               sys-libs/libavc1394:0
+               sys-libs/libraw1394:0
+       )
+       jack? ( virtual/jack )
+       jpeg? ( virtual/jpeg:0 )
+       kate? ( media-libs/libkate:0 )
+       libass? (
+               media-libs/fontconfig:1.0
+               media-libs/libass:0=
+       )
+       libcaca? ( media-libs/libcaca:0 )
+       libnotify? (
+               dev-libs/glib:2
+               x11-libs/gdk-pixbuf:2
+               x11-libs/gtk+:3
+               x11-libs/libnotify:0
+       )
+       libsamplerate? ( media-libs/libsamplerate:0 )
+       libtar? ( dev-libs/libtar:0 )
+       libtiger? ( media-libs/libtiger:0 )
+       linsys? ( media-libs/zvbi )
+       lirc? ( app-misc/lirc:0 )
+       live? ( media-plugins/live:0 )
+       lua? ( >=dev-lang/lua-5.1:0 )
+       matroska? (
+               dev-libs/libebml:0=
+               media-libs/libmatroska:0=
+       )
+       modplug? ( media-libs/libmodplug:0 )
+       mp3? ( media-libs/libmad:0 )
+       mpeg? ( media-libs/libmpeg2:0 )
+       mtp? ( media-libs/libmtp:0= )
+       musepack? ( media-sound/musepack-tools:0 )
+       ncurses? ( sys-libs/ncurses:0=[unicode] )
+       nfs? ( >=net-fs/libnfs-0.10.0:= )
+       ogg? ( media-libs/libogg:0 )
+       opencv? ( media-libs/opencv:0= )
+       opus? ( >=media-libs/opus-1.0.3:0 )
+       png? ( media-libs/libpng:0= )
+       postproc? ( libav? ( media-libs/libpostproc:0= ) )
+       projectm? (
+               media-fonts/dejavu:0
+               media-libs/libprojectm:0
+       )
+       pulseaudio? ( media-sound/pulseaudio:0 )
+       qt5? (
+               dev-qt/qtcore:5
+               dev-qt/qtgui:5
+               dev-qt/qtsvg:5
+               dev-qt/qtwidgets:5
+               X? (
+                       dev-qt/qtx11extras:5
+                       x11-libs/libX11
+               )
+       )
+       rdp? ( >=net-misc/freerdp-2.0.0_rc0:0=[client] )
+       samba? ( >=net-fs/samba-4.0.0:0[client,-debug(-)] )
+       schroedinger? ( >=media-libs/schroedinger-1.0.10:0 )
+       sdl-image? ( media-libs/sdl-image:0 )
+       sftp? ( net-libs/libssh2:0 )
+       shout? ( media-libs/libshout:0 )
+       sid? ( media-libs/libsidplay:2 )
+       skins? (
+               x11-libs/libXext:0
+               x11-libs/libXinerama:0
+               x11-libs/libXpm:0
+       )
+       soxr? ( media-libs/soxr )
+       speex? (
+               >=media-libs/speex-1.2.0:0
+               media-libs/speexdsp:0
+       )
+       srt? ( net-libs/srt )
+       ssl? ( net-libs/gnutls:0 )
+       svg? (
+               gnome-base/librsvg:2
+               x11-libs/cairo:0
+       )
+       taglib? ( >=media-libs/taglib-1.9:0 )
+       theora? ( media-libs/libtheora: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:0 )
+       upnp? ( net-libs/libupnp:= )
+       v4l? ( media-libs/libv4l:0 )
+       vaapi? ( x11-libs/libva:0=[drm,wayland?,X?] )
+       vdpau? ( x11-libs/libvdpau:0 )
+       vnc? ( net-libs/libvncserver:0 )
+       vorbis? ( media-libs/libvorbis:0 )
+       vpx? ( media-libs/libvpx:0= )
+       wayland? (
+               || (
+                       >=dev-libs/wayland-1.15
+                       (
+                               <dev-libs/wayland-1.15
+                               <media-libs/mesa-18.1.1-r1[egl]
+                       )
+               )
+               dev-libs/wayland-protocols
+       )
+       X? (
+               x11-libs/libX11
+               x11-libs/libxcb
+               x11-libs/xcb-util
+               x11-libs/xcb-util-keysyms
+       )
+       x264? ( media-libs/x264:0= )
+       x265? ( media-libs/x265:0= )
+       xml? ( dev-libs/libxml2:2 )
+       zeroconf? ( net-dns/avahi:0[dbus] )
+       zvbi? ( media-libs/zvbi )
+"
+DEPEND="${RDEPEND}
+       >=sys-devel/gettext-0.19.8:*
+       virtual/pkgconfig:*
+       amd64? ( dev-lang/yasm:* )
+       x86? ( dev-lang/yasm:* )
+       X? ( x11-base/xorg-proto )
+"
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-2.1.0-fix-libtremor-libs.patch # build system
+       "${FILESDIR}"/${PN}-2.2.4-libav-11.7.patch # bug #593460
+       "${FILESDIR}"/${PN}-2.2.8-freerdp-2.patch # bug 590164
+       "${FILESDIR}"/${PN}-3.0.1-qt-5.11.patch # TODO upstream
+       "${FILESDIR}"/${P}-fix-disable-vlm.patch # bug 649798
+       "${FILESDIR}"/${P}-fribidi-1.patch # bug 662662
+)
+
+DOCS=( AUTHORS THANKS NEWS README doc/fortunes.txt )
+
+S="${WORKDIR}/${MY_P}"
+
+src_prepare() {
+       default
+
+       has_version '>=net-libs/libupnp-1.8.0' && \
+               eapply "${FILESDIR}"/${PN}-2.2.8-libupnp-slot-1.8.patch
+
+       # Bootstrap when we are on a git checkout.
+       if [[ ${PV} = *9999 ]] ; then
+               ./bootstrap
+       fi
+
+       # Make it build with libtool 1.5
+       rm 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
+
+       # 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 running of vlc-cache-gen, we do that in pkg_postinst
+       sed -e "/test.*build.*host/s/\$(host)/nothanks/" \
+               -i Makefile.am -i bin/Makefile.am || die "Failed to disable 
vlc-cache-gen"
+
+       eautoreconf
+
+       # Disable automatic running of tests.
+       find . -name 'Makefile.in' -exec sed -i 's/\(..*\)check-TESTS/\1/' {} 
\; || die
+}
+
+src_configure() {
+       local myeconfargs=(
+               --disable-aa
+               --disable-dependency-tracking
+               --disable-optimizations
+               --disable-update-check
+               --enable-fast-install
+               --enable-screen
+               --enable-vcd
+               --enable-vlc
+               $(use_enable a52)
+               $(use_enable alsa)
+               $(use_enable altivec)
+               $(use_enable aom)
+               $(use_enable archive)
+               $(use_enable bidi fribidi)
+               $(use_enable bidi harfbuzz)
+               $(use_enable bluray)
+               $(use_enable cddb libcddb)
+               $(use_enable chromaprint)
+               $(use_enable chromecast)
+               $(use_enable chromecast microdns)
+               $(use_enable cpu_flags_x86_mmx mmx)
+               $(use_enable cpu_flags_x86_sse sse)
+               $(use_enable dbus)
+               $(use_enable dbus kwallet)
+               $(use_enable dc1394)
+               $(use_enable debug)
+               $(use_enable directx)
+               $(use_enable directx d3d11va)
+               $(use_enable directx dxva2)
+               $(use_enable dts dca)
+               $(use_enable dvbpsi)
+               $(use_enable dvd dvdnav)
+               $(use_enable dvd dvdread)
+               $(use_enable encode sout)
+               $(use_enable encode vlm)
+               $(use_enable faad)
+               $(use_enable fdk fdkaac)
+               $(use_enable ffmpeg avcodec)
+               $(use_enable ffmpeg avformat)
+               $(use_enable ffmpeg swscale)
+               $(use_enable flac)
+               $(use_enable fluidsynth)
+               $(use_enable fontconfig)
+               $(use_enable gcrypt libgcrypt)
+               $(use_enable gme)
+               $(use_enable gnome-keyring secret)
+               $(use_enable gstreamer gst-decode)
+               $(use_enable ieee1394 dv1394)
+               $(use_enable jack)
+               $(use_enable jpeg)
+               $(use_enable kate)
+               $(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-notifications osx-notifications)
+               $(use_enable macosx-qtkit)
+               $(use_enable matroska)
+               $(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 omxil)
+               $(use_enable omxil omxil-vout)
+               $(use_enable opencv)
+               $(use_enable optimisememory optimize-memory)
+               $(use_enable opus)
+               $(use_enable png)
+               $(use_enable postproc)
+               $(use_enable projectm)
+               $(use_enable pulseaudio pulse)
+               $(use_enable qt5 qt)
+               $(use_enable rdp freerdp)
+               $(use_enable rtsp realrtsp)
+               $(use_enable run-as-root)
+               $(use_enable samba smbclient)
+               $(use_enable schroedinger)
+               $(use_enable sdl-image)
+               $(use_enable sftp)
+               $(use_enable shout)
+               $(use_enable sid)
+               $(use_enable skins skins2)
+               $(use_enable soxr)
+               $(use_enable speex)
+               $(use_enable srt)
+               $(use_enable ssl gnutls)
+               $(use_enable svg)
+               $(use_enable svg svgdec)
+               $(use_enable taglib)
+               $(use_enable theora)
+               $(use_enable tremor)
+               $(use_enable twolame)
+               $(use_enable udev)
+               $(use_enable upnp)
+               $(use_enable v4l v4l2)
+               $(use_enable vaapi libva)
+               $(use_enable vdpau)
+               $(use_enable vnc)
+               $(use_enable vorbis)
+               $(use_enable vpx)
+               $(use_enable wayland)
+               $(use_enable wma-fixed)
+               $(use_with X x)
+               $(use_enable X xcb)
+               $(use_enable X xvideo)
+               $(use_enable x264)
+               $(use_enable x265)
+               $(use_enable xml libxml2)
+               $(use_enable zeroconf avahi)
+               $(use_enable zvbi)
+               $(use_enable !zvbi telx)
+               --disable-asdcp
+               --disable-coverage
+               --disable-cprof
+               --disable-crystalhd
+               --disable-decklink
+               --disable-gles2
+               --disable-goom
+               --disable-kai
+               --disable-kva
+               --disable-libplacebo
+               --disable-maintainer-mode
+               --disable-merge-ffmpeg
+               --disable-mfx
+               --disable-mmal
+               --disable-opensles
+               --disable-oss
+               --disable-rpi-omxil
+               --disable-shine
+               --disable-sndio
+               --disable-spatialaudio
+               --disable-vsxu
+               --disable-wasapi
+       )
+       # ^ We don't have these disabled libraries in the Portage tree yet.
+
+       # Compatibility fix for Samba 4.
+       use samba && append-cppflags "-I/usr/include/samba-4.0"
+
+       if use x86; then
+               # We need to disable -fstack-check if use >=gcc 4.8.0. bug 
#499996
+               append-cflags $(test-flags-CC -fno-stack-check)
+               # Bug 569774
+               replace-flags -Os -O2
+       fi
+
+       # VLC now requires C++11 after commit 
4b1c9dcdda0bbff801e47505ff9dfd3f274eb0d8
+       append-cxxflags -std=c++11
+
+       # FIXME: Needs libresid-builder from libsidplay:2 which is in another 
directory...
+       append-ldflags "-L/usr/$(get_libdir)/sidplay/builders/"
+
+       xdg_environment_reset # bug 608256
+
+       if use truetype || use bidi; then
+               myeconfargs+=( --enable-freetype )
+       else
+               myeconfargs+=( --disable-freetype )
+       fi
+
+       if use truetype || use projectm; then
+               local dejavu="/usr/share/fonts/dejavu/"
+               myeconfargs+=(
+                       --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 ${myeconfargs[@]}
+
+       # _FORTIFY_SOURCE is set to 2 in config.h, which is also the default 
value on Gentoo.
+       # Other values may break the build (bug 523144), so definition should 
not be removed.
+       # To prevent redefinition warnings, we undefine _FORTIFY_SOURCE at the 
start of config.h
+       sed -i '1i#undef _FORTIFY_SOURCE' config.h || die
+}
+
+src_test() {
+       virtx emake check-TESTS
+}
+
+src_install() {
+       default
+       find "${D}" -name '*.la' -delete || die
+}
+
+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" 
"/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
+
+       gnome2_icon_cache_update
+       xdg_mimeinfo_database_update
+       xdg_desktop_database_update
+}
+
+pkg_postrm() {
+       if [[ -e /usr/$(get_libdir)/vlc/plugins/plugins.dat ]]; then
+               rm /usr/$(get_libdir)/vlc/plugins/plugins.dat || die "Failed to 
rm plugins.dat"
+       fi
+
+       gnome2_icon_cache_update
+       xdg_mimeinfo_database_update
+       xdg_desktop_database_update
+}

diff --git a/media-video/vlc/vlc-3.0.9999.ebuild 
b/media-video/vlc/vlc-3.0.9999.ebuild
new file mode 100644
index 0000000..de11890
--- /dev/null
+++ b/media-video/vlc/vlc-3.0.9999.ebuild
@@ -0,0 +1,493 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+MY_PV="${PV/_/-}"
+MY_PV="${MY_PV/-beta/-test}"
+MY_P="${PN}-${MY_PV}"
+if [[ ${PV} = *9999 ]] ; then
+       if [[ ${PV%.9999} != ${PV} ]] ; then
+               
EGIT_REPO_URI="https://git.videolan.org/git/vlc/vlc-${PV%.9999}.git";
+       else
+               EGIT_REPO_URI="https://git.videolan.org/git/vlc.git";
+       fi
+       SCM="git-r3"
+else
+       if [[ ${MY_P} = ${P} ]] ; then
+               
SRC_URI="https://download.videolan.org/pub/videolan/${PN}/${PV}/${P}.tar.xz";
+       else
+               
SRC_URI="https://download.videolan.org/pub/videolan/testing/${MY_P}/${MY_P}.tar.xz";
+       fi
+       KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 -sparc ~x86 ~x86-fbsd"
+fi
+inherit autotools flag-o-matic gnome2-utils toolchain-funcs virtualx xdg-utils 
${SCM}
+
+DESCRIPTION="Media player and framework with support for most multimedia files 
and streaming"
+HOMEPAGE="https://www.videolan.org/vlc/";
+
+LICENSE="LGPL-2.1 GPL-2"
+SLOT="0/5-9" # vlc - vlccore
+
+IUSE="a52 alsa altivec aom archive aribsub bidi bluray cddb chromaprint 
chromecast dbus
+       dc1394 debug directx dts +dvbpsi dvd +encode faad fdk +ffmpeg flac 
fluidsynth
+       fontconfig +gcrypt gme gnome-keyring gstreamer ieee1394 jack jpeg kate 
libass
+       libav libcaca libnotify +libsamplerate libtar libtiger linsys lirc live 
lua
+       macosx-notifications macosx-qtkit matroska modplug mp3 mpeg mtp 
musepack ncurses
+       neon nfs ogg omxil opencv optimisememory opus png postproc projectm 
pulseaudio +qt5
+       rdp rtsp run-as-root samba schroedinger sdl-image sftp shout sid skins 
soxr speex srt ssl
+       svg taglib theora tremor truetype twolame udev upnp vaapi v4l vdpau vnc 
vorbis vpx
+       wayland wma-fixed +X x264 x265 xml zeroconf zvbi cpu_flags_x86_mmx 
cpu_flags_x86_sse
+"
+REQUIRED_USE="
+       chromecast? ( encode )
+       directx? ( ffmpeg )
+       fontconfig? ( truetype )
+       libcaca? ( X )
+       libtar? ( skins )
+       libtiger? ( kate )
+       postproc? ( ffmpeg )
+       skins? ( qt5 truetype X xml )
+       ssl? ( gcrypt )
+       vaapi? ( ffmpeg X )
+       vdpau? ( ffmpeg X )
+"
+RDEPEND="
+       net-dns/libidn:=
+       sys-libs/zlib:0[minizip]
+       virtual/libintl:0
+       virtual/opengl
+       a52? ( media-libs/a52dec:0 )
+       alsa? ( media-libs/alsa-lib:0 )
+       aom? ( media-libs/libaom:= )
+       archive? ( app-arch/libarchive:= )
+       aribsub? ( media-libs/aribb24 )
+       bidi? (
+               dev-libs/fribidi:0
+               media-libs/freetype:2[harfbuzz]
+               media-libs/harfbuzz
+               virtual/ttf-fonts:0
+       )
+       bluray? ( media-libs/libbluray:0= )
+       cddb? ( media-libs/libcddb:0 )
+       chromaprint? ( media-libs/chromaprint:0= )
+       chromecast? (
+               >=dev-libs/protobuf-2.5.0:=
+               >=net-libs/libmicrodns-0.0.9:=
+       )
+       dbus? ( sys-apps/dbus:0 )
+       dc1394? (
+               media-libs/libdc1394:2
+               sys-libs/libraw1394:0
+       )
+       dts? ( media-libs/libdca:0 )
+       dvbpsi? ( >=media-libs/libdvbpsi-1.2.0:0= )
+       dvd? (
+               >=media-libs/libdvdnav-4.9:0
+               >=media-libs/libdvdread-4.9:0
+       )
+       faad? ( media-libs/faad2:0 )
+       fdk? ( media-libs/fdk-aac:0= )
+       ffmpeg? (
+               !libav? ( >=media-video/ffmpeg-3.1.3:0=[vaapi?,vdpau?] )
+               libav? ( >=media-video/libav-12.2:0=[vaapi?,vdpau?] )
+       )
+       flac? (
+               media-libs/flac:0
+               media-libs/libogg:0
+       )
+       fluidsynth? ( media-sound/fluidsynth:0 )
+       fontconfig? ( media-libs/fontconfig:1.0 )
+       gcrypt? (
+               dev-libs/libgcrypt:0=
+               dev-libs/libgpg-error:0
+       )
+       gme? ( media-libs/game-music-emu:0 )
+       gnome-keyring? ( app-crypt/libsecret )
+       gstreamer? ( >=media-libs/gst-plugins-base-1.4.5:1.0 )
+       ieee1394? (
+               sys-libs/libavc1394:0
+               sys-libs/libraw1394:0
+       )
+       jack? ( virtual/jack )
+       jpeg? ( virtual/jpeg:0 )
+       kate? ( media-libs/libkate:0 )
+       libass? (
+               media-libs/fontconfig:1.0
+               media-libs/libass:0=
+       )
+       libcaca? ( media-libs/libcaca:0 )
+       libnotify? (
+               dev-libs/glib:2
+               x11-libs/gdk-pixbuf:2
+               x11-libs/gtk+:3
+               x11-libs/libnotify:0
+       )
+       libsamplerate? ( media-libs/libsamplerate:0 )
+       libtar? ( dev-libs/libtar:0 )
+       libtiger? ( media-libs/libtiger:0 )
+       linsys? ( media-libs/zvbi )
+       lirc? ( app-misc/lirc:0 )
+       live? ( media-plugins/live:0 )
+       lua? ( >=dev-lang/lua-5.1:0 )
+       matroska? (
+               dev-libs/libebml:0=
+               media-libs/libmatroska:0=
+       )
+       modplug? ( media-libs/libmodplug:0 )
+       mp3? ( media-libs/libmad:0 )
+       mpeg? ( media-libs/libmpeg2:0 )
+       mtp? ( media-libs/libmtp:0= )
+       musepack? ( media-sound/musepack-tools:0 )
+       ncurses? ( sys-libs/ncurses:0=[unicode] )
+       nfs? ( >=net-fs/libnfs-0.10.0:= )
+       ogg? ( media-libs/libogg:0 )
+       opencv? ( media-libs/opencv:0= )
+       opus? ( >=media-libs/opus-1.0.3:0 )
+       png? ( media-libs/libpng:0= )
+       postproc? ( libav? ( media-libs/libpostproc:0= ) )
+       projectm? (
+               media-fonts/dejavu:0
+               media-libs/libprojectm:0
+       )
+       pulseaudio? ( media-sound/pulseaudio:0 )
+       qt5? (
+               dev-qt/qtcore:5
+               dev-qt/qtgui:5
+               dev-qt/qtsvg:5
+               dev-qt/qtwidgets:5
+               X? (
+                       dev-qt/qtx11extras:5
+                       x11-libs/libX11
+               )
+       )
+       rdp? ( >=net-misc/freerdp-2.0.0_rc0:0=[client] )
+       samba? ( >=net-fs/samba-4.0.0:0[client,-debug(-)] )
+       schroedinger? ( >=media-libs/schroedinger-1.0.10:0 )
+       sdl-image? ( media-libs/sdl-image:0 )
+       sftp? ( net-libs/libssh2:0 )
+       shout? ( media-libs/libshout:0 )
+       sid? ( media-libs/libsidplay:2 )
+       skins? (
+               x11-libs/libXext:0
+               x11-libs/libXinerama:0
+               x11-libs/libXpm:0
+       )
+       soxr? ( media-libs/soxr )
+       speex? (
+               >=media-libs/speex-1.2.0:0
+               media-libs/speexdsp:0
+       )
+       srt? ( net-libs/srt )
+       ssl? ( net-libs/gnutls:0 )
+       svg? (
+               gnome-base/librsvg:2
+               x11-libs/cairo:0
+       )
+       taglib? ( >=media-libs/taglib-1.9:0 )
+       theora? ( media-libs/libtheora: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:0 )
+       upnp? ( net-libs/libupnp:= )
+       v4l? ( media-libs/libv4l:0 )
+       vaapi? ( x11-libs/libva:0=[drm,wayland?,X?] )
+       vdpau? ( x11-libs/libvdpau:0 )
+       vnc? ( net-libs/libvncserver:0 )
+       vorbis? ( media-libs/libvorbis:0 )
+       vpx? ( media-libs/libvpx:0= )
+       wayland? (
+               >=dev-libs/wayland-1.15
+               dev-libs/wayland-protocols
+       )
+       X? (
+               x11-libs/libX11
+               x11-libs/libxcb
+               x11-libs/xcb-util
+               x11-libs/xcb-util-keysyms
+       )
+       x264? ( media-libs/x264:0= )
+       x265? ( media-libs/x265:0= )
+       xml? ( dev-libs/libxml2:2 )
+       zeroconf? ( net-dns/avahi:0[dbus] )
+       zvbi? ( media-libs/zvbi )
+"
+DEPEND="${RDEPEND}
+       >=sys-devel/gettext-0.19.8:*
+       virtual/pkgconfig:*
+       amd64? ( dev-lang/yasm:* )
+       x86? ( dev-lang/yasm:* )
+       X? ( x11-base/xorg-proto )
+"
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-2.1.0-fix-libtremor-libs.patch # build system
+       "${FILESDIR}"/${PN}-2.2.4-libav-11.7.patch # bug #593460
+       "${FILESDIR}"/${PN}-2.2.8-freerdp-2.patch # bug 590164
+)
+
+DOCS=( AUTHORS THANKS NEWS README doc/fortunes.txt )
+
+S="${WORKDIR}/${MY_P}"
+
+src_prepare() {
+       default
+
+       has_version '>=net-libs/libupnp-1.8.0' && \
+               eapply "${FILESDIR}"/${PN}-2.2.8-libupnp-slot-1.8.patch
+
+       # Bootstrap when we are on a git checkout.
+       if [[ ${PV} = *9999 ]] ; then
+               ./bootstrap
+       fi
+
+       # Make it build with libtool 1.5
+       rm 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
+
+       # 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 running of vlc-cache-gen, we do that in pkg_postinst
+       sed -e "/test.*build.*host/s/\$(host)/nothanks/" \
+               -i Makefile.am -i bin/Makefile.am || die "Failed to disable 
vlc-cache-gen"
+
+       eautoreconf
+
+       # Disable automatic running of tests.
+       find . -name 'Makefile.in' -exec sed -i 's/\(..*\)check-TESTS/\1/' {} 
\; || die
+}
+
+src_configure() {
+       local myeconfargs=(
+               --disable-aa
+               --disable-dependency-tracking
+               --disable-optimizations
+               --disable-update-check
+               --enable-fast-install
+               --enable-screen
+               --enable-vcd
+               --enable-vlc
+               $(use_enable a52)
+               $(use_enable alsa)
+               $(use_enable altivec)
+               $(use_enable aom)
+               $(use_enable archive)
+               $(use_enable aribsub)
+               $(use_enable bidi fribidi)
+               $(use_enable bidi harfbuzz)
+               $(use_enable bluray)
+               $(use_enable cddb libcddb)
+               $(use_enable chromaprint)
+               $(use_enable chromecast)
+               $(use_enable chromecast microdns)
+               $(use_enable cpu_flags_x86_mmx mmx)
+               $(use_enable cpu_flags_x86_sse sse)
+               $(use_enable dbus)
+               $(use_enable dbus kwallet)
+               $(use_enable dc1394)
+               $(use_enable debug)
+               $(use_enable directx)
+               $(use_enable directx d3d11va)
+               $(use_enable directx dxva2)
+               $(use_enable dts dca)
+               $(use_enable dvbpsi)
+               $(use_enable dvd dvdnav)
+               $(use_enable dvd dvdread)
+               $(use_enable encode sout)
+               $(use_enable encode vlm)
+               $(use_enable faad)
+               $(use_enable fdk fdkaac)
+               $(use_enable ffmpeg avcodec)
+               $(use_enable ffmpeg avformat)
+               $(use_enable ffmpeg swscale)
+               $(use_enable flac)
+               $(use_enable fluidsynth)
+               $(use_enable fontconfig)
+               $(use_enable gcrypt libgcrypt)
+               $(use_enable gme)
+               $(use_enable gnome-keyring secret)
+               $(use_enable gstreamer gst-decode)
+               $(use_enable ieee1394 dv1394)
+               $(use_enable jack)
+               $(use_enable jpeg)
+               $(use_enable kate)
+               $(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-notifications osx-notifications)
+               $(use_enable macosx-qtkit)
+               $(use_enable matroska)
+               $(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 omxil)
+               $(use_enable omxil omxil-vout)
+               $(use_enable opencv)
+               $(use_enable optimisememory optimize-memory)
+               $(use_enable opus)
+               $(use_enable png)
+               $(use_enable postproc)
+               $(use_enable projectm)
+               $(use_enable pulseaudio pulse)
+               $(use_enable qt5 qt)
+               $(use_enable rdp freerdp)
+               $(use_enable rtsp realrtsp)
+               $(use_enable run-as-root)
+               $(use_enable samba smbclient)
+               $(use_enable schroedinger)
+               $(use_enable sdl-image)
+               $(use_enable sftp)
+               $(use_enable shout)
+               $(use_enable sid)
+               $(use_enable skins skins2)
+               $(use_enable soxr)
+               $(use_enable speex)
+               $(use_enable srt)
+               $(use_enable ssl gnutls)
+               $(use_enable svg)
+               $(use_enable svg svgdec)
+               $(use_enable taglib)
+               $(use_enable theora)
+               $(use_enable tremor)
+               $(use_enable twolame)
+               $(use_enable udev)
+               $(use_enable upnp)
+               $(use_enable v4l v4l2)
+               $(use_enable vaapi libva)
+               $(use_enable vdpau)
+               $(use_enable vnc)
+               $(use_enable vorbis)
+               $(use_enable vpx)
+               $(use_enable wayland)
+               $(use_enable wma-fixed)
+               $(use_with X x)
+               $(use_enable X xcb)
+               $(use_enable X xvideo)
+               $(use_enable x264)
+               $(use_enable x265)
+               $(use_enable xml libxml2)
+               $(use_enable zeroconf avahi)
+               $(use_enable zvbi)
+               $(use_enable !zvbi telx)
+               --disable-asdcp
+               --disable-coverage
+               --disable-cprof
+               --disable-crystalhd
+               --disable-decklink
+               --disable-gles2
+               --disable-goom
+               --disable-kai
+               --disable-kva
+               --disable-libplacebo
+               --disable-maintainer-mode
+               --disable-merge-ffmpeg
+               --disable-mfx
+               --disable-mmal
+               --disable-opensles
+               --disable-oss
+               --disable-rpi-omxil
+               --disable-shine
+               --disable-sndio
+               --disable-spatialaudio
+               --disable-vsxu
+               --disable-wasapi
+       )
+       # ^ We don't have these disabled libraries in the Portage tree yet.
+
+       # Compatibility fix for Samba 4.
+       use samba && append-cppflags "-I/usr/include/samba-4.0"
+
+       if use x86; then
+               # We need to disable -fstack-check if use >=gcc 4.8.0. bug 
#499996
+               append-cflags $(test-flags-CC -fno-stack-check)
+               # Bug 569774
+               replace-flags -Os -O2
+       fi
+
+       # VLC now requires C++11 after commit 
4b1c9dcdda0bbff801e47505ff9dfd3f274eb0d8
+       append-cxxflags -std=c++11
+
+       # FIXME: Needs libresid-builder from libsidplay:2 which is in another 
directory...
+       append-ldflags "-L/usr/$(get_libdir)/sidplay/builders/"
+
+       xdg_environment_reset # bug 608256
+
+       if use truetype || use bidi; then
+               myeconfargs+=( --enable-freetype )
+       else
+               myeconfargs+=( --disable-freetype )
+       fi
+
+       if use truetype || use projectm; then
+               local dejavu="/usr/share/fonts/dejavu/"
+               myeconfargs+=(
+                       --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 ${myeconfargs[@]}
+
+       # _FORTIFY_SOURCE is set to 2 in config.h, which is also the default 
value on Gentoo.
+       # Other values may break the build (bug 523144), so definition should 
not be removed.
+       # To prevent redefinition warnings, we undefine _FORTIFY_SOURCE at the 
start of config.h
+       sed -i '1i#undef _FORTIFY_SOURCE' config.h || die
+}
+
+src_test() {
+       virtx emake check-TESTS
+}
+
+src_install() {
+       default
+       find "${D}" -name '*.la' -delete || die
+}
+
+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" 
"/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
+
+       gnome2_icon_cache_update
+       xdg_mimeinfo_database_update
+       xdg_desktop_database_update
+}
+
+pkg_postrm() {
+       if [[ -e /usr/$(get_libdir)/vlc/plugins/plugins.dat ]]; then
+               rm /usr/$(get_libdir)/vlc/plugins/plugins.dat || die "Failed to 
rm plugins.dat"
+       fi
+
+       gnome2_icon_cache_update
+       xdg_mimeinfo_database_update
+       xdg_desktop_database_update
+}

diff --git a/media-video/vlc/vlc-9999.ebuild b/media-video/vlc/vlc-9999.ebuild
new file mode 100644
index 0000000..bc8a566
--- /dev/null
+++ b/media-video/vlc/vlc-9999.ebuild
@@ -0,0 +1,493 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+MY_PV="${PV/_/-}"
+MY_PV="${MY_PV/-beta/-test}"
+MY_P="${PN}-${MY_PV}"
+if [[ ${PV} = *9999 ]] ; then
+       if [[ ${PV%.9999} != ${PV} ]] ; then
+               
EGIT_REPO_URI="https://git.videolan.org/git/vlc/vlc-${PV%.9999}.git";
+       else
+               EGIT_REPO_URI="https://git.videolan.org/git/vlc.git";
+       fi
+       SCM="git-r3"
+else
+       if [[ ${MY_P} = ${P} ]] ; then
+               
SRC_URI="https://download.videolan.org/pub/videolan/${PN}/${PV}/${P}.tar.xz";
+       else
+               
SRC_URI="https://download.videolan.org/pub/videolan/testing/${MY_P}/${MY_P}.tar.xz";
+       fi
+       KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 -sparc ~x86 ~x86-fbsd"
+fi
+inherit autotools flag-o-matic gnome2-utils toolchain-funcs virtualx xdg-utils 
${SCM}
+
+DESCRIPTION="Media player and framework with support for most multimedia files 
and streaming"
+HOMEPAGE="https://www.videolan.org/vlc/";
+
+LICENSE="LGPL-2.1 GPL-2"
+SLOT="0/5-9" # vlc - vlccore
+
+IUSE="a52 alsa altivec aom archive aribsub bidi bluray cddb chromaprint 
chromecast dbus
+       dc1394 debug directx dts +dvbpsi dvd +encode faad fdk +ffmpeg flac 
fluidsynth
+       fontconfig +gcrypt gme gnome-keyring gstreamer ieee1394 jack jpeg kate 
kms libass
+       libav libcaca libnotify +libsamplerate libtar libtiger linsys lirc live 
lua
+       macosx-notifications macosx-qtkit matroska modplug mp3 mpeg mtp 
musepack ncurses
+       neon nfs ogg omxil opencv optimisememory opus png postproc projectm 
pulseaudio +qt5
+       rdp run-as-root samba schroedinger sdl-image sftp shout sid skins soxr 
speex srt ssl
+       svg taglib theora tremor truetype twolame udev upnp vaapi v4l vdpau vnc 
vorbis vpx
+       wayland wma-fixed +X x264 x265 xml zeroconf zvbi cpu_flags_x86_mmx 
cpu_flags_x86_sse
+"
+REQUIRED_USE="
+       chromecast? ( encode )
+       directx? ( ffmpeg )
+       fontconfig? ( truetype )
+       libcaca? ( X )
+       libtar? ( skins )
+       libtiger? ( kate )
+       postproc? ( ffmpeg )
+       skins? ( qt5 truetype X xml )
+       ssl? ( gcrypt )
+       vaapi? ( ffmpeg X )
+       vdpau? ( ffmpeg X )
+"
+RDEPEND="
+       net-dns/libidn:=
+       sys-libs/zlib:0[minizip]
+       virtual/libintl:0
+       virtual/opengl
+       a52? ( media-libs/a52dec:0 )
+       alsa? ( media-libs/alsa-lib:0 )
+       aom? ( media-libs/libaom:= )
+       archive? ( app-arch/libarchive:= )
+       aribsub? ( media-libs/aribb24 )
+       bidi? (
+               dev-libs/fribidi:0
+               media-libs/freetype:2[harfbuzz]
+               media-libs/harfbuzz
+               virtual/ttf-fonts:0
+       )
+       bluray? ( media-libs/libbluray:0= )
+       cddb? ( media-libs/libcddb:0 )
+       chromaprint? ( media-libs/chromaprint:0= )
+       chromecast? (
+               >=dev-libs/protobuf-2.5.0:=
+               >=net-libs/libmicrodns-0.0.9:=
+       )
+       dbus? ( sys-apps/dbus:0 )
+       dc1394? (
+               media-libs/libdc1394:2
+               sys-libs/libraw1394:0
+       )
+       dts? ( media-libs/libdca:0 )
+       dvbpsi? ( >=media-libs/libdvbpsi-1.2.0:0= )
+       dvd? (
+               >=media-libs/libdvdnav-4.9:0
+               >=media-libs/libdvdread-4.9:0
+       )
+       faad? ( media-libs/faad2:0 )
+       fdk? ( media-libs/fdk-aac:0= )
+       ffmpeg? (
+               !libav? ( >=media-video/ffmpeg-3.1.3:0=[vaapi?,vdpau?] )
+               libav? ( >=media-video/libav-12.2:0=[vaapi?,vdpau?] )
+       )
+       flac? (
+               media-libs/flac:0
+               media-libs/libogg:0
+       )
+       fluidsynth? ( media-sound/fluidsynth:0 )
+       fontconfig? ( media-libs/fontconfig:1.0 )
+       gcrypt? (
+               dev-libs/libgcrypt:0=
+               dev-libs/libgpg-error:0
+       )
+       gme? ( media-libs/game-music-emu:0 )
+       gnome-keyring? ( app-crypt/libsecret )
+       gstreamer? ( >=media-libs/gst-plugins-base-1.4.5:1.0 )
+       ieee1394? (
+               sys-libs/libavc1394:0
+               sys-libs/libraw1394:0
+       )
+       jack? ( virtual/jack )
+       jpeg? ( virtual/jpeg:0 )
+       kate? ( media-libs/libkate:0 )
+       kms? ( x11-libs/libdrm )
+       libass? (
+               media-libs/fontconfig:1.0
+               media-libs/libass:0=
+       )
+       libcaca? ( media-libs/libcaca:0 )
+       libnotify? (
+               dev-libs/glib:2
+               x11-libs/gdk-pixbuf:2
+               x11-libs/gtk+:3
+               x11-libs/libnotify:0
+       )
+       libsamplerate? ( media-libs/libsamplerate:0 )
+       libtar? ( dev-libs/libtar:0 )
+       libtiger? ( media-libs/libtiger:0 )
+       linsys? ( media-libs/zvbi )
+       lirc? ( app-misc/lirc:0 )
+       live? ( media-plugins/live:0 )
+       lua? ( >=dev-lang/lua-5.1:0 )
+       matroska? (
+               dev-libs/libebml:0=
+               media-libs/libmatroska:0=
+       )
+       modplug? ( media-libs/libmodplug:0 )
+       mp3? ( media-libs/libmad:0 )
+       mpeg? ( media-libs/libmpeg2:0 )
+       mtp? ( media-libs/libmtp:0= )
+       musepack? ( media-sound/musepack-tools:0 )
+       ncurses? ( sys-libs/ncurses:0=[unicode] )
+       nfs? ( >=net-fs/libnfs-0.10.0:= )
+       ogg? ( media-libs/libogg:0 )
+       opencv? ( media-libs/opencv:0= )
+       opus? ( >=media-libs/opus-1.0.3:0 )
+       png? ( media-libs/libpng:0= )
+       postproc? ( libav? ( media-libs/libpostproc:0= ) )
+       projectm? (
+               media-fonts/dejavu:0
+               media-libs/libprojectm:0
+       )
+       pulseaudio? ( media-sound/pulseaudio:0 )
+       qt5? (
+               dev-qt/qtcore:5
+               dev-qt/qtgui:5
+               dev-qt/qtsvg:5
+               dev-qt/qtwidgets:5
+               X? (
+                       dev-qt/qtx11extras:5
+                       x11-libs/libX11
+               )
+       )
+       rdp? ( >=net-misc/freerdp-2.0.0_rc0:0=[client] )
+       samba? ( >=net-fs/samba-4.0.0:0[client,-debug(-)] )
+       schroedinger? ( >=media-libs/schroedinger-1.0.10:0 )
+       sdl-image? ( media-libs/sdl-image:0 )
+       sftp? ( net-libs/libssh2:0 )
+       shout? ( media-libs/libshout:0 )
+       sid? ( media-libs/libsidplay:2 )
+       skins? (
+               x11-libs/libXext:0
+               x11-libs/libXinerama:0
+               x11-libs/libXpm:0
+       )
+       soxr? ( media-libs/soxr )
+       speex? (
+               >=media-libs/speex-1.2.0:0
+               media-libs/speexdsp:0
+       )
+       srt? ( net-libs/srt )
+       ssl? ( net-libs/gnutls:0 )
+       svg? (
+               gnome-base/librsvg:2
+               x11-libs/cairo:0
+       )
+       taglib? ( >=media-libs/taglib-1.9:0 )
+       theora? ( media-libs/libtheora: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:0 )
+       upnp? ( net-libs/libupnp:= )
+       v4l? ( media-libs/libv4l:0 )
+       vaapi? ( x11-libs/libva:0=[drm,wayland?,X?] )
+       vdpau? ( x11-libs/libvdpau:0 )
+       vnc? ( net-libs/libvncserver:0 )
+       vorbis? ( media-libs/libvorbis:0 )
+       vpx? ( media-libs/libvpx:0= )
+       wayland? (
+               >=dev-libs/wayland-1.15
+               >=dev-libs/wayland-protocols-1.12
+       )
+       X? (
+               x11-libs/libX11
+               x11-libs/libxcb[xkb]
+               x11-libs/libXcursor
+               x11-libs/libxkbcommon[X]
+               x11-libs/xcb-util
+               x11-libs/xcb-util-keysyms
+       )
+       x264? ( media-libs/x264:0= )
+       x265? ( media-libs/x265:0= )
+       xml? ( dev-libs/libxml2:2 )
+       zeroconf? ( net-dns/avahi:0[dbus] )
+       zvbi? ( media-libs/zvbi )
+"
+DEPEND="${RDEPEND}
+       >=sys-devel/gettext-0.19.8:*
+       virtual/pkgconfig:*
+       amd64? ( dev-lang/yasm:* )
+       x86? ( dev-lang/yasm:* )
+       X? ( x11-base/xorg-proto )
+"
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-2.1.0-fix-libtremor-libs.patch # build system
+       "${FILESDIR}"/${PN}-2.2.4-libav-11.7.patch # bug #593460
+       "${FILESDIR}"/${PN}-2.2.8-freerdp-2.patch # bug 590164
+)
+
+DOCS=( AUTHORS THANKS NEWS README doc/fortunes.txt )
+
+S="${WORKDIR}/${MY_P}"
+
+src_prepare() {
+       default
+
+       has_version '>=net-libs/libupnp-1.8.0' && \
+               eapply "${FILESDIR}"/${P}-libupnp-slot-1.8.patch
+
+       # Bootstrap when we are on a git checkout.
+       if [[ ${PV} = *9999 ]] ; then
+               ./bootstrap
+       fi
+
+       # Make it build with libtool 1.5
+       rm 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
+
+       # 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 running of vlc-cache-gen, we do that in pkg_postinst
+       sed -e "/test.*build.*host/s/\$(host)/nothanks/" \
+               -i Makefile.am -i bin/Makefile.am || die "Failed to disable 
vlc-cache-gen"
+
+       eautoreconf
+
+       # Disable automatic running of tests.
+       find . -name 'Makefile.in' -exec sed -i 's/\(..*\)check-TESTS/\1/' {} 
\; || die
+}
+
+src_configure() {
+       local myeconfargs=(
+               --disable-dependency-tracking
+               --disable-optimizations
+               --disable-update-check
+               --enable-fast-install
+               --enable-screen
+               --enable-vcd
+               --enable-vlc
+               $(use_enable a52)
+               $(use_enable alsa)
+               $(use_enable altivec)
+               $(use_enable aom)
+               $(use_enable archive)
+               $(use_enable aribsub)
+               $(use_enable bidi fribidi)
+               $(use_enable bidi harfbuzz)
+               $(use_enable bluray)
+               $(use_enable cddb libcddb)
+               $(use_enable chromaprint)
+               $(use_enable chromecast)
+               $(use_enable chromecast microdns)
+               $(use_enable cpu_flags_x86_mmx mmx)
+               $(use_enable cpu_flags_x86_sse sse)
+               $(use_enable dbus)
+               $(use_enable dbus kwallet)
+               $(use_enable dc1394)
+               $(use_enable debug)
+               $(use_enable directx)
+               $(use_enable directx d3d11va)
+               $(use_enable directx dxva2)
+               $(use_enable dts dca)
+               $(use_enable dvbpsi)
+               $(use_enable dvd dvdnav)
+               $(use_enable dvd dvdread)
+               $(use_enable encode sout)
+               $(use_enable encode vlm)
+               $(use_enable faad)
+               $(use_enable fdk fdkaac)
+               $(use_enable ffmpeg avcodec)
+               $(use_enable ffmpeg avformat)
+               $(use_enable ffmpeg swscale)
+               $(use_enable flac)
+               $(use_enable fluidsynth)
+               $(use_enable fontconfig)
+               $(use_enable gcrypt libgcrypt)
+               $(use_enable gme)
+               $(use_enable gnome-keyring secret)
+               $(use_enable gstreamer gst-decode)
+               $(use_enable ieee1394 dv1394)
+               $(use_enable jack)
+               $(use_enable jpeg)
+               $(use_enable kate)
+               $(use_enable kms)
+               $(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-notifications osx-notifications)
+               $(use_enable macosx-qtkit)
+               $(use_enable matroska)
+               $(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 omxil)
+               $(use_enable opencv)
+               $(use_enable optimisememory optimize-memory)
+               $(use_enable opus)
+               $(use_enable png)
+               $(use_enable postproc)
+               $(use_enable projectm)
+               $(use_enable pulseaudio pulse)
+               $(use_enable qt5 qt)
+               $(use_enable rdp freerdp)
+               $(use_enable run-as-root)
+               $(use_enable samba smbclient)
+               $(use_enable schroedinger)
+               $(use_enable sdl-image)
+               $(use_enable sftp)
+               $(use_enable shout)
+               $(use_enable sid)
+               $(use_enable skins skins2)
+               $(use_enable soxr)
+               $(use_enable speex)
+               $(use_enable srt)
+               $(use_enable ssl gnutls)
+               $(use_enable svg)
+               $(use_enable svg svgdec)
+               $(use_enable taglib)
+               $(use_enable theora)
+               $(use_enable tremor)
+               $(use_enable twolame)
+               $(use_enable udev)
+               $(use_enable upnp)
+               $(use_enable v4l v4l2)
+               $(use_enable vaapi libva)
+               $(use_enable vdpau)
+               $(use_enable vnc)
+               $(use_enable vorbis)
+               $(use_enable vpx)
+               $(use_enable wayland)
+               $(use_enable wma-fixed)
+               $(use_with X x)
+               $(use_enable X xcb)
+               $(use_enable x264)
+               $(use_enable x265)
+               $(use_enable xml libxml2)
+               $(use_enable zeroconf avahi)
+               $(use_enable zvbi)
+               $(use_enable !zvbi telx)
+               --disable-asdcp
+               --disable-coverage
+               --disable-cprof
+               --disable-crystalhd
+               --disable-decklink
+               --disable-gles2
+               --disable-goom
+               --disable-kai
+               --disable-kva
+               --disable-libplacebo
+               --disable-maintainer-mode
+               --disable-merge-ffmpeg
+               --disable-mfx
+               --disable-mmal
+               --disable-opensles
+               --disable-oss
+               --disable-rpi-omxil
+               --disable-shine
+               --disable-sndio
+               --disable-spatialaudio
+               --disable-vsxu
+               --disable-wasapi
+       )
+       # ^ We don't have these disabled libraries in the Portage tree yet.
+
+       # Compatibility fix for Samba 4.
+       use samba && append-cppflags "-I/usr/include/samba-4.0"
+
+       if use x86; then
+               # We need to disable -fstack-check if use >=gcc 4.8.0. bug 
#499996
+               append-cflags $(test-flags-CC -fno-stack-check)
+               # Bug 569774
+               replace-flags -Os -O2
+       fi
+
+       # VLC now requires C++11 after commit 
4b1c9dcdda0bbff801e47505ff9dfd3f274eb0d8
+       append-cxxflags -std=c++11
+
+       # FIXME: Needs libresid-builder from libsidplay:2 which is in another 
directory...
+       append-ldflags "-L/usr/$(get_libdir)/sidplay/builders/"
+
+       xdg_environment_reset # bug 608256
+
+       if use truetype || use bidi; then
+               myeconfargs+=( --enable-freetype )
+       else
+               myeconfargs+=( --disable-freetype )
+       fi
+
+       if use truetype || use projectm; then
+               local dejavu="/usr/share/fonts/dejavu/"
+               myeconfargs+=(
+                       --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 ${myeconfargs[@]}
+
+       # _FORTIFY_SOURCE is set to 2 in config.h, which is also the default 
value on Gentoo.
+       # Other values may break the build (bug 523144), so definition should 
not be removed.
+       # To prevent redefinition warnings, we undefine _FORTIFY_SOURCE at the 
start of config.h
+       sed -i '1i#undef _FORTIFY_SOURCE' config.h || die
+}
+
+src_test() {
+       virtx emake check-TESTS
+}
+
+src_install() {
+       default
+       find "${D}" -name '*.la' -delete || die
+}
+
+pkg_postinst() {
+       if [[ "$ROOT" = "/" ]] && [[ -x "/usr/libexec/vlc/vlc-cache-gen" ]] ; 
then
+               einfo "Running /usr/libexec/vlc/vlc-cache-gen on 
/usr/libexec/vlc/plugins/"
+               "/usr/libexec/vlc/vlc-cache-gen" "/usr/libexec/vlc/plugins/"
+       else
+               ewarn "We cannot run vlc-cache-gen (most likely ROOT!=/)"
+               ewarn "Please run /usr/libexec/vlc/vlc-cache-gen manually"
+               ewarn "If you do not do it, vlc will take a long time to load."
+       fi
+
+       gnome2_icon_cache_update
+       xdg_mimeinfo_database_update
+       xdg_desktop_database_update
+}
+
+pkg_postrm() {
+       if [[ -e /usr/libexec/vlc/plugins/plugins.dat ]]; then
+               rm /usr/libexec/vlc/plugins/plugins.dat || die "Failed to rm 
plugins.dat"
+       fi
+
+       gnome2_icon_cache_update
+       xdg_mimeinfo_database_update
+       xdg_desktop_database_update
+}

Reply via email to