commit:     d1af6bbd5b01107ee0598a859aa5902c9fcf3c2a
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Sun Apr 27 00:34:33 2025 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Sun Apr 27 00:47:40 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d1af6bbd

media-video/ffmpeg: tighten vulkan dependencies with libplacebo

See bug #954764 comment #2 for explanations.

Technically needs a revbump, but do not want to revbump ffmpeg too much
given still a decently long build that is on many users' systems, and
most of them do not enable libplacebo. At worst, if a user does -vulkan
on dependencies after a successful build, only ffplay or specific
filters will be broken and not the ffmpeg libraries thanks to stubs.

Closes: https://bugs.gentoo.org/954764
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 media-video/ffmpeg/ffmpeg-6.1.2-r1.ebuild | 9 ++++++---
 media-video/ffmpeg/ffmpeg-7.1.1.ebuild    | 9 ++++++---
 media-video/ffmpeg/ffmpeg-9999.ebuild     | 9 ++++++---
 profiles/arch/hppa/package.use.mask       | 4 +++-
 4 files changed, 21 insertions(+), 10 deletions(-)

diff --git a/media-video/ffmpeg/ffmpeg-6.1.2-r1.ebuild 
b/media-video/ffmpeg/ffmpeg-6.1.2-r1.ebuild
index ba67b50cb7bc..cbcdab0ce4c4 100644
--- a/media-video/ffmpeg/ffmpeg-6.1.2-r1.ebuild
+++ b/media-video/ffmpeg/ffmpeg-6.1.2-r1.ebuild
@@ -157,7 +157,7 @@ REQUIRED_USE="
        cuda? ( nvenc )
        fribidi? ( truetype )
        gmp? ( !librtmp )
-       libplacebo? ( || ( sdl vulkan ) )
+       libplacebo? ( vulkan )
        npp? ( nvenc )
        shaderc? ( vulkan )
        libaribb24? ( gpl ) cdio? ( gpl ) frei0r? ( gpl ) postproc? ( gpl )
@@ -220,7 +220,7 @@ COMMON_DEPEND="
        libass? ( media-libs/libass:=[${MULTILIB_USEDEP}] )
        libcaca? ( media-libs/libcaca[${MULTILIB_USEDEP}] )
        libilbc? ( media-libs/libilbc:=[${MULTILIB_USEDEP}] )
-       libplacebo? ( media-libs/libplacebo:=[$MULTILIB_USEDEP] )
+       libplacebo? ( media-libs/libplacebo:=[vulkan,$MULTILIB_USEDEP] )
        librtmp? ( media-video/rtmpdump[${MULTILIB_USEDEP}] )
        libsoxr? ( media-libs/soxr[${MULTILIB_USEDEP}] )
        libtesseract? ( app-text/tesseract:=[${MULTILIB_USEDEP}] )
@@ -244,7 +244,10 @@ COMMON_DEPEND="
        rav1e? ( >=media-video/rav1e-0.5:=[capi] )
        rubberband? ( media-libs/rubberband:=[${MULTILIB_USEDEP}] )
        samba? ( net-fs/samba:=[client,${MULTILIB_USEDEP}] )
-       sdl? ( media-libs/libsdl2[sound(+),video(+),${MULTILIB_USEDEP}] )
+       sdl? (
+               media-libs/libsdl2[sound(+),video(+),${MULTILIB_USEDEP}]
+               libplacebo? ( media-libs/libsdl2[vulkan] )
+       )
        shaderc? ( media-libs/shaderc[${MULTILIB_USEDEP}] )
        snappy? ( app-arch/snappy:=[${MULTILIB_USEDEP}] )
        sndio? ( media-sound/sndio:=[${MULTILIB_USEDEP}] )

diff --git a/media-video/ffmpeg/ffmpeg-7.1.1.ebuild 
b/media-video/ffmpeg/ffmpeg-7.1.1.ebuild
index da5d8c15aaf4..3e4823d2699f 100644
--- a/media-video/ffmpeg/ffmpeg-7.1.1.ebuild
+++ b/media-video/ffmpeg/ffmpeg-7.1.1.ebuild
@@ -160,7 +160,7 @@ REQUIRED_USE="
        cuda? ( nvenc )
        fribidi? ( truetype )
        gmp? ( !librtmp )
-       libplacebo? ( || ( sdl vulkan ) )
+       libplacebo? ( vulkan )
        npp? ( nvenc )
        shaderc? ( vulkan )
        libaribb24? ( gpl ) cdio? ( gpl ) dvd? ( gpl ) frei0r? ( gpl )
@@ -228,7 +228,7 @@ COMMON_DEPEND="
        libcaca? ( media-libs/libcaca[${MULTILIB_USEDEP}] )
        libilbc? ( media-libs/libilbc:=[${MULTILIB_USEDEP}] )
        liblc3? ( >=media-sound/liblc3-1.1[${MULTILIB_USEDEP}] )
-       libplacebo? ( media-libs/libplacebo:=[$MULTILIB_USEDEP] )
+       libplacebo? ( media-libs/libplacebo:=[vulkan,$MULTILIB_USEDEP] )
        librtmp? ( media-video/rtmpdump[${MULTILIB_USEDEP}] )
        libsoxr? ( media-libs/soxr[${MULTILIB_USEDEP}] )
        libtesseract? ( app-text/tesseract:=[${MULTILIB_USEDEP}] )
@@ -254,7 +254,10 @@ COMMON_DEPEND="
        rav1e? ( >=media-video/rav1e-0.5:=[capi] )
        rubberband? ( media-libs/rubberband:=[${MULTILIB_USEDEP}] )
        samba? ( net-fs/samba:=[client,${MULTILIB_USEDEP}] )
-       sdl? ( media-libs/libsdl2[sound(+),video(+),${MULTILIB_USEDEP}] )
+       sdl? (
+               media-libs/libsdl2[sound(+),video(+),${MULTILIB_USEDEP}]
+               libplacebo? ( media-libs/libsdl2[vulkan] )
+       )
        shaderc? ( media-libs/shaderc[${MULTILIB_USEDEP}] )
        snappy? ( app-arch/snappy:=[${MULTILIB_USEDEP}] )
        sndio? ( media-sound/sndio:=[${MULTILIB_USEDEP}] )

diff --git a/media-video/ffmpeg/ffmpeg-9999.ebuild 
b/media-video/ffmpeg/ffmpeg-9999.ebuild
index b9a498871367..e93641d67638 100644
--- a/media-video/ffmpeg/ffmpeg-9999.ebuild
+++ b/media-video/ffmpeg/ffmpeg-9999.ebuild
@@ -160,7 +160,7 @@ REQUIRED_USE="
        cuda? ( nvenc )
        fribidi? ( truetype )
        gmp? ( !librtmp )
-       libplacebo? ( || ( sdl vulkan ) )
+       libplacebo? ( vulkan )
        npp? ( nvenc )
        shaderc? ( vulkan )
        libaribb24? ( gpl ) cdio? ( gpl ) dvd? ( gpl ) frei0r? ( gpl )
@@ -228,7 +228,7 @@ COMMON_DEPEND="
        libcaca? ( media-libs/libcaca[${MULTILIB_USEDEP}] )
        libilbc? ( media-libs/libilbc:=[${MULTILIB_USEDEP}] )
        liblc3? ( >=media-sound/liblc3-1.1[${MULTILIB_USEDEP}] )
-       libplacebo? ( media-libs/libplacebo:=[$MULTILIB_USEDEP] )
+       libplacebo? ( media-libs/libplacebo:=[vulkan,$MULTILIB_USEDEP] )
        librtmp? ( media-video/rtmpdump[${MULTILIB_USEDEP}] )
        libsoxr? ( media-libs/soxr[${MULTILIB_USEDEP}] )
        libtesseract? ( app-text/tesseract:=[${MULTILIB_USEDEP}] )
@@ -254,7 +254,10 @@ COMMON_DEPEND="
        rav1e? ( >=media-video/rav1e-0.5:=[capi] )
        rubberband? ( media-libs/rubberband:=[${MULTILIB_USEDEP}] )
        samba? ( net-fs/samba:=[client,${MULTILIB_USEDEP}] )
-       sdl? ( media-libs/libsdl2[sound(+),video(+),${MULTILIB_USEDEP}] )
+       sdl? (
+               media-libs/libsdl2[sound(+),video(+),${MULTILIB_USEDEP}]
+               libplacebo? ( media-libs/libsdl2[vulkan] )
+       )
        shaderc? ( media-libs/shaderc[${MULTILIB_USEDEP}] )
        snappy? ( app-arch/snappy:=[${MULTILIB_USEDEP}] )
        sndio? ( media-sound/sndio:=[${MULTILIB_USEDEP}] )

diff --git a/profiles/arch/hppa/package.use.mask 
b/profiles/arch/hppa/package.use.mask
index 3b95e5e65b3e..b875a6e8f826 100644
--- a/profiles/arch/hppa/package.use.mask
+++ b/profiles/arch/hppa/package.use.mask
@@ -119,8 +119,10 @@ media-video/ffmpeg-compat shaderc vulkan
 app-alternatives/ninja samurai
 
 # Ionen Wolkens <[email protected]> (2023-10-09)
-# Vulkan is not available here, including packages for related USE.
+# Vulkan is not available here, ffmpeg also wants libplacebo[vulkan].
 media-libs/libplacebo shaderc vulkan
+media-video/ffmpeg libplacebo
+media-video/ffmpeg-compat libplacebo
 
 # Andreas Sturmlechner <[email protected]> (2023-10-08)
 # Vulkan is not available on hppa.

Reply via email to