commit:     d73a80c2782da7ee89ef5fb4e3491ebf348ee8c8
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sat Nov 23 20:18:29 2024 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sat Nov 23 20:28:45 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d73a80c2

media-video/vlc: Allow IUSE=vaapi without building avcodec_vaapi

Using a Fedora patch.

IUSE taglib: Restrict to <media-libs/taglib-2

Sync 3.0.9999 live ebuild, dropping obsolete patch.

Bug: https://bugs.gentoo.org/864721
Bug: https://bugs.gentoo.org/938946
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 media-video/vlc/files/vlc-2.2.8-freerdp-2.patch    | 131 ---------------------
 .../files/vlc-3.0.21-vaapi-without-ffmepg4.patch   |  18 +++
 .../{vlc-3.0.9999.ebuild => vlc-3.0.21-r1.ebuild}  |  14 +--
 media-video/vlc/vlc-3.0.9999.ebuild                |  14 +--
 4 files changed, 28 insertions(+), 149 deletions(-)

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
deleted file mode 100644
index 5cee1336505f..000000000000
--- a/media-video/vlc/files/vlc-2.2.8-freerdp-2.patch
+++ /dev/null
@@ -1,131 +0,0 @@
---- 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-3.0.21-vaapi-without-ffmepg4.patch 
b/media-video/vlc/files/vlc-3.0.21-vaapi-without-ffmepg4.patch
new file mode 100644
index 000000000000..c71a39910733
--- /dev/null
+++ b/media-video/vlc/files/vlc-3.0.21-vaapi-without-ffmepg4.patch
@@ -0,0 +1,18 @@
+avcodec_vaapi requires ffmpeg-4, but other vaapi modules can be built
+
+diff --git a/configure.ac b/configure.ac
+index 69beb77..c7f7142 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -2454,9 +2454,9 @@ AS_IF([test "${have_vaapi}" = "yes" -a "${have_avcodec}" 
= "yes"], [
+     have_avcodec_vaapi="yes"
+   ],[
+     AS_IF([test -n "${enable_libva}"], [
+-      AC_MSG_ERROR([libva is present but libavcodec/vaapi.h is missing])
++      AC_MSG_WARN([libva is present but libavcodec/vaapi.h is missing])
+     ], [
+-      AC_MSG_WARN([libva is present but libavcodec/vaapi.h is missing ])
++      AC_MSG_NOTICE([libva is present but libavcodec/vaapi.h is missing ])
+     ])
+   ])
+   VLC_RESTORE_FLAGS

diff --git a/media-video/vlc/vlc-3.0.9999.ebuild 
b/media-video/vlc/vlc-3.0.21-r1.ebuild
similarity index 98%
copy from media-video/vlc/vlc-3.0.9999.ebuild
copy to media-video/vlc/vlc-3.0.21-r1.ebuild
index c78279fbee98..863da84818a5 100644
--- a/media-video/vlc/vlc-3.0.9999.ebuild
+++ b/media-video/vlc/vlc-3.0.21-r1.ebuild
@@ -20,6 +20,7 @@ else
        else
                
SRC_URI="https://download.videolan.org/pub/videolan/testing/${MY_P}/${MY_P}.tar.xz";
        fi
+       S="${WORKDIR}/${MY_P}"
        KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv -sparc ~x86"
 fi
 inherit autotools flag-o-matic lua-single toolchain-funcs virtualx xdg
@@ -61,7 +62,6 @@ BDEPEND="
        wayland? ( dev-util/wayland-scanner )
        x86? ( dev-lang/yasm )
 "
-# <ffmpeg-5 dep for USE="ffmpeg vaapi" for bug #864721
 RDEPEND="
        media-libs/libvorbis
        net-dns/libidn:=
@@ -191,7 +191,7 @@ RDEPEND="
                gnome-base/librsvg:2
                x11-libs/cairo
        )
-       taglib? ( >=media-libs/taglib-1.9 )
+       taglib? ( <media-libs/taglib-2 )
        theora? ( media-libs/libtheora )
        tremor? ( media-libs/tremor )
        truetype? (
@@ -203,10 +203,7 @@ RDEPEND="
        udev? ( virtual/udev )
        upnp? ( net-libs/libupnp:=[ipv6(+)] )
        v4l? ( media-libs/libv4l:= )
-       vaapi? (
-               <media-video/ffmpeg-5
-               media-libs/libva:=[drm(+),wayland?,X?]
-       )
+       vaapi? ( media-libs/libva:=[drm(+),wayland?,X?] )
        vdpau? ( x11-libs/libvdpau )
        vnc? ( net-libs/libvncserver )
        vpx? ( media-libs/libvpx:= )
@@ -232,16 +229,15 @@ DEPEND="${RDEPEND}
 
 PATCHES=(
        "${FILESDIR}"/${PN}-2.1.0-fix-libtremor-libs.patch # build system
-       "${FILESDIR}"/${PN}-2.2.8-freerdp-2.patch # bug 590164
        "${FILESDIR}"/${PN}-3.0.6-fdk-aac-2.0.0.patch # bug 672290
        "${FILESDIR}"/${PN}-3.0.11.1-configure_lua_version.patch
        "${FILESDIR}"/${PN}-3.0.18-drop-minizip-dep.patch
+       "${FILESDIR}"/${PN}-3.0.21-freerdp-2.patch # bug 919296, 590164
+       "${FILESDIR}"/${PN}-3.0.21-vaapi-without-ffmepg4.patch # bug 864721, 
thx Fedora
 )
 
 DOCS=( AUTHORS THANKS NEWS README doc/fortunes.txt )
 
-S="${WORKDIR}/${MY_P}"
-
 pkg_setup() {
        if use lua; then
                lua-single_pkg_setup

diff --git a/media-video/vlc/vlc-3.0.9999.ebuild 
b/media-video/vlc/vlc-3.0.9999.ebuild
index c78279fbee98..863da84818a5 100644
--- a/media-video/vlc/vlc-3.0.9999.ebuild
+++ b/media-video/vlc/vlc-3.0.9999.ebuild
@@ -20,6 +20,7 @@ else
        else
                
SRC_URI="https://download.videolan.org/pub/videolan/testing/${MY_P}/${MY_P}.tar.xz";
        fi
+       S="${WORKDIR}/${MY_P}"
        KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv -sparc ~x86"
 fi
 inherit autotools flag-o-matic lua-single toolchain-funcs virtualx xdg
@@ -61,7 +62,6 @@ BDEPEND="
        wayland? ( dev-util/wayland-scanner )
        x86? ( dev-lang/yasm )
 "
-# <ffmpeg-5 dep for USE="ffmpeg vaapi" for bug #864721
 RDEPEND="
        media-libs/libvorbis
        net-dns/libidn:=
@@ -191,7 +191,7 @@ RDEPEND="
                gnome-base/librsvg:2
                x11-libs/cairo
        )
-       taglib? ( >=media-libs/taglib-1.9 )
+       taglib? ( <media-libs/taglib-2 )
        theora? ( media-libs/libtheora )
        tremor? ( media-libs/tremor )
        truetype? (
@@ -203,10 +203,7 @@ RDEPEND="
        udev? ( virtual/udev )
        upnp? ( net-libs/libupnp:=[ipv6(+)] )
        v4l? ( media-libs/libv4l:= )
-       vaapi? (
-               <media-video/ffmpeg-5
-               media-libs/libva:=[drm(+),wayland?,X?]
-       )
+       vaapi? ( media-libs/libva:=[drm(+),wayland?,X?] )
        vdpau? ( x11-libs/libvdpau )
        vnc? ( net-libs/libvncserver )
        vpx? ( media-libs/libvpx:= )
@@ -232,16 +229,15 @@ DEPEND="${RDEPEND}
 
 PATCHES=(
        "${FILESDIR}"/${PN}-2.1.0-fix-libtremor-libs.patch # build system
-       "${FILESDIR}"/${PN}-2.2.8-freerdp-2.patch # bug 590164
        "${FILESDIR}"/${PN}-3.0.6-fdk-aac-2.0.0.patch # bug 672290
        "${FILESDIR}"/${PN}-3.0.11.1-configure_lua_version.patch
        "${FILESDIR}"/${PN}-3.0.18-drop-minizip-dep.patch
+       "${FILESDIR}"/${PN}-3.0.21-freerdp-2.patch # bug 919296, 590164
+       "${FILESDIR}"/${PN}-3.0.21-vaapi-without-ffmepg4.patch # bug 864721, 
thx Fedora
 )
 
 DOCS=( AUTHORS THANKS NEWS README doc/fortunes.txt )
 
-S="${WORKDIR}/${MY_P}"
-
 pkg_setup() {
        if use lua; then
                lua-single_pkg_setup

Reply via email to