summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'media-video')
-rw-r--r--media-video/aegisub/aegisub-3.3.3-r1.ebuild156
-rw-r--r--media-video/aegisub/aegisub-9999.ebuild7
-rw-r--r--media-video/aegisub/files/3.3.3/aegisub-3.3.3-support-icu-75.patch26
-rw-r--r--media-video/amdgpu-pro-amf/Manifest5
-rw-r--r--media-video/amdgpu-pro-amf/amdgpu-pro-amf-1.4.24.1452059.ebuild55
-rw-r--r--media-video/amdgpu-pro-amf/amdgpu-pro-amf-1.4.29.1580631.ebuild56
-rw-r--r--media-video/amdgpu-pro-amf/amdgpu-pro-amf-1.4.34.1787253.ebuild (renamed from media-video/amdgpu-pro-amf/amdgpu-pro-amf-1.4.33.1718238.ebuild)34
-rw-r--r--media-video/amdgpu-pro-amf/metadata.xml4
-rw-r--r--media-video/bdsup2sub/Manifest2
-rw-r--r--media-video/bdsup2sub/bdsup2sub-4.0.0-r3.ebuild55
-rw-r--r--media-video/bdsup2sub/files/bdsup2sub-4.0.0-xdg.patch40
-rw-r--r--media-video/bdsup2sub/files/build-4.0.0.xml68
-rw-r--r--media-video/bdsup2sub/metadata.xml8
-rw-r--r--media-video/cheese/cheese-44.1.ebuild2
-rw-r--r--media-video/dirac/dirac-1.0.2-r2.ebuild2
-rw-r--r--media-video/ffmpeg-chromium/Manifest2
-rw-r--r--media-video/ffmpeg-chromium/ffmpeg-chromium-125.ebuild9
-rw-r--r--media-video/ffmpeg-chromium/ffmpeg-chromium-126.ebuild9
-rw-r--r--media-video/ffmpeg-chromium/ffmpeg-chromium-127.ebuild9
-rw-r--r--media-video/ffmpeg-chromium/ffmpeg-chromium-128.ebuild11
-rw-r--r--media-video/ffmpeg-chromium/ffmpeg-chromium-129.ebuild239
-rw-r--r--media-video/ffmpeg-chromium/ffmpeg-chromium-130.ebuild239
-rw-r--r--media-video/ffmpeg/Manifest6
-rw-r--r--media-video/ffmpeg/ffmpeg-4.4.4-r11.ebuild (renamed from media-video/ffmpeg/ffmpeg-4.4.4-r10.ebuild)15
-rw-r--r--media-video/ffmpeg/ffmpeg-4.4.4-r9.ebuild13
-rw-r--r--media-video/ffmpeg/ffmpeg-4.4.5-r1.ebuild607
-rw-r--r--media-video/ffmpeg/ffmpeg-6.0.1-r4.ebuild15
-rw-r--r--media-video/ffmpeg/ffmpeg-6.1.1-r5.ebuild11
-rw-r--r--media-video/ffmpeg/ffmpeg-6.1.1-r8.ebuild17
-rw-r--r--media-video/ffmpeg/ffmpeg-6.1.2.ebuild610
-rw-r--r--media-video/ffmpeg/ffmpeg-7.0.1-r1.ebuild (renamed from media-video/ffmpeg/ffmpeg-7.0.1.ebuild)17
-rw-r--r--media-video/ffmpeg/ffmpeg-7.0.2-r1.ebuild612
-rw-r--r--media-video/ffmpeg/ffmpeg-9999.ebuild17
-rw-r--r--media-video/ffmpeg/files/amf-env-vulkan-override1
-rw-r--r--media-video/ffmpeg/files/ffmpeg-4.4.5-incmptbl-pntr-types.patch15
-rw-r--r--media-video/ffmpeg/files/ffmpeg-6.0-binutils-2.41.patch76
-rw-r--r--media-video/ffmpeg/files/ffmpeg-6.0-wint-conversion-vulkan.patch43
-rw-r--r--media-video/ffmpegthumbnailer/ffmpegthumbnailer-2.2.2-r1.ebuild2
-rw-r--r--media-video/gnome-video-effects/gnome-video-effects-0.5.0-r1.ebuild2
-rw-r--r--media-video/handbrake/handbrake-1.6.1.ebuild2
-rw-r--r--media-video/handbrake/handbrake-9999.ebuild2
-rw-r--r--media-video/hevc-hm/hevc-hm-17.0.ebuild2
-rw-r--r--media-video/imagination/Manifest1
-rw-r--r--media-video/imagination/files/imagination-3.0-cflags.patch34
-rw-r--r--media-video/imagination/files/imagination-3.0-enable-translations.patch11
-rw-r--r--media-video/imagination/imagination-3.0-r2.ebuild41
-rw-r--r--media-video/jellyfin-media-player/Manifest1
-rw-r--r--media-video/jellyfin-media-player/jellyfin-media-player-1.11.1.ebuild68
-rw-r--r--media-video/kaffeine/Manifest1
-rw-r--r--media-video/kaffeine/files/kaffeine-2.0.18-wayland-window-activation.patch35
-rw-r--r--media-video/kaffeine/kaffeine-2.0.18-r2.ebuild69
-rw-r--r--media-video/kaffeine/kaffeine-2.0.18-r3.ebuild2
-rw-r--r--media-video/libva-utils/libva-utils-2.22.0.ebuild2
-rw-r--r--media-video/lsdvd/lsdvd-0.17.ebuild2
-rw-r--r--media-video/makemkv/Manifest2
-rw-r--r--media-video/makemkv/makemkv-1.17.8.ebuild126
-rw-r--r--media-video/mjpegtools/mjpegtools-2.2.1-r2.ebuild2
-rw-r--r--media-video/mkvtoolnix/Manifest4
-rw-r--r--media-video/mkvtoolnix/files/mkvtoolnix-80.0.0-fix-qtmultimedia.patch29
-rw-r--r--media-video/mkvtoolnix/files/mkvtoolnix-80.0.0-no-uic-qtwidgets.patch31
-rw-r--r--media-video/mkvtoolnix/files/mkvtoolnix-80.0.0-optional-qtdbus.patch70
-rw-r--r--media-video/mkvtoolnix/files/mkvtoolnix-86.0-libfmt-11-fix.patch25
-rw-r--r--media-video/mkvtoolnix/mkvtoolnix-86.0.ebuild (renamed from media-video/mkvtoolnix/mkvtoolnix-81.0.ebuild)65
-rw-r--r--media-video/motion/motion-4.5.1-r3.ebuild2
-rw-r--r--media-video/motion/motion-4.5.1-r4.ebuild2
-rw-r--r--media-video/mplayer/mplayer-1.5_p20230215.ebuild2
-rw-r--r--media-video/mplayer/mplayer-1.5_p20230618.ebuild2
-rw-r--r--media-video/mplayer/mplayer-1.5_p20231206.ebuild2
-rw-r--r--media-video/mplayer/mplayer-9999.ebuild2
-rw-r--r--media-video/mpv/Manifest1
-rw-r--r--media-video/mpv/mpv-0.39.0.ebuild277
-rw-r--r--media-video/mpv/mpv-9999.ebuild2
-rw-r--r--media-video/obs-studio/Manifest10
-rw-r--r--media-video/obs-studio/files/json11-1.0.0-include-cstdint.patch12
-rw-r--r--media-video/obs-studio/metadata.xml3
-rw-r--r--media-video/obs-studio/obs-studio-30.1.2.ebuild270
-rw-r--r--media-video/obs-studio/obs-studio-30.2.0-r1.ebuild271
-rw-r--r--media-video/obs-studio/obs-studio-30.2.3.ebuild (renamed from media-video/obs-studio/obs-studio-30.2.1.ebuild)13
-rw-r--r--media-video/obs-studio/obs-studio-9999.ebuild45
-rw-r--r--media-video/parole/parole-4.18.1.ebuild2
-rw-r--r--media-video/pipewire/Manifest7
-rw-r--r--media-video/pipewire/files/pipewire-1.2.0-automagic-gsettings.patch79
-rw-r--r--media-video/pipewire/pipewire-1.0.5-r1.ebuild502
-rw-r--r--media-video/pipewire/pipewire-1.0.5.ebuild512
-rw-r--r--media-video/pipewire/pipewire-1.2.3.ebuild (renamed from media-video/pipewire/pipewire-1.2.0-r2.ebuild)6
-rw-r--r--media-video/pipewire/pipewire-1.2.4.ebuild (renamed from media-video/pipewire/pipewire-1.2.1.ebuild)2
-rw-r--r--media-video/pipewire/pipewire-1.2.5.ebuild (renamed from media-video/pipewire/pipewire-1.0.6.ebuild)31
-rw-r--r--media-video/pipewire/pipewire-9999.ebuild14
-rw-r--r--media-video/raspberrypi-omxplayer/Manifest1
-rw-r--r--media-video/raspberrypi-omxplayer/files/Makefile-0_p20160528.patch26
-rw-r--r--media-video/raspberrypi-omxplayer/files/cross-0_p20160528.patch15
-rw-r--r--media-video/raspberrypi-omxplayer/files/fonts-path.patch15
-rw-r--r--media-video/raspberrypi-omxplayer/metadata.xml11
-rw-r--r--media-video/raspberrypi-omxplayer/raspberrypi-omxplayer-0_p20160528-r3.ebuild59
-rw-r--r--media-video/shotcut/Manifest2
-rw-r--r--media-video/shotcut/shotcut-24.06.26.ebuild (renamed from media-video/shotcut/shotcut-23.09.29.ebuild)6
-rw-r--r--media-video/shotcut/shotcut-9999.ebuild6
-rw-r--r--media-video/smplayer/Manifest1
-rw-r--r--media-video/smplayer/files/smplayer-23.6.0-mpv-0.37-resume.patch15
-rw-r--r--media-video/smplayer/metadata.xml1
-rw-r--r--media-video/smplayer/smplayer-23.6.0-r1.ebuild126
-rw-r--r--media-video/smplayer/smplayer-24.5.0.ebuild125
-rw-r--r--media-video/subliminal/subliminal-2.2.1.ebuild2
-rw-r--r--media-video/totem/totem-43.0-r1.ebuild2
-rw-r--r--media-video/ttcut/Manifest1
-rw-r--r--media-video/ttcut/ttcut-0.19.6_p2.ebuild48
-rw-r--r--media-video/vcdimager/vcdimager-2.0.1.ebuild2
-rw-r--r--media-video/vdr/vdr-2.6.9.ebuild2
-rw-r--r--media-video/vlc/Manifest1
-rw-r--r--media-video/vlc/files/vlc-3.0.20-c99-2.patch23
-rw-r--r--media-video/vlc/files/vlc-3.0.20-c99.patch150
-rw-r--r--media-video/vlc/vlc-3.0.20-r11.ebuild519
-rw-r--r--media-video/vlc/vlc-3.0.21.ebuild2
-rw-r--r--media-video/wireplumber/Manifest4
-rw-r--r--media-video/wireplumber/files/wireplumber-0.4.15-config-disable-sound-server-parts.patch24
-rw-r--r--media-video/wireplumber/files/wireplumber-0.5.6-bluetooth-only-autoswitch.patch64
-rw-r--r--media-video/wireplumber/files/wireplumber-0.5.6-config-disable-sound-server-parts.patch18
-rw-r--r--media-video/wireplumber/wireplumber-0.4.17-r1.ebuild122
-rw-r--r--media-video/wireplumber/wireplumber-0.5.2.ebuild123
-rw-r--r--media-video/wireplumber/wireplumber-0.5.6-r1.ebuild (renamed from media-video/wireplumber/wireplumber-0.5.5.ebuild)6
-rw-r--r--media-video/wireplumber/wireplumber-9999.ebuild2
-rw-r--r--media-video/x264-encoder/Manifest1
-rw-r--r--media-video/x264-encoder/x264-encoder-0.0.20240513.ebuild77
-rw-r--r--media-video/x264-encoder/x264-encoder-9999.ebuild4
-rw-r--r--media-video/xvid4conf/xvid4conf-1.12.ebuild2
-rw-r--r--media-video/yle-dl/Manifest3
-rw-r--r--media-video/yle-dl/yle-dl-20240806.ebuild (renamed from media-video/yle-dl/yle-dl-20240706.ebuild)2
-rw-r--r--media-video/yle-dl/yle-dl-20240927.ebuild57
128 files changed, 3763 insertions, 3722 deletions
diff --git a/media-video/aegisub/aegisub-3.3.3-r1.ebuild b/media-video/aegisub/aegisub-3.3.3-r1.ebuild
new file mode 100644
index 000000000000..530606341ba5
--- /dev/null
+++ b/media-video/aegisub/aegisub-3.3.3-r1.ebuild
@@ -0,0 +1,156 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+LUA_COMPAT=( luajit )
+LUA_REQ_USE="lua52compat"
+
+WX_GTK_VER=3.2-gtk3
+PLOCALES="ar be bg ca cs da de el es eu fa fi fr_FR gl hu id it ja ko nl pl pt_BR pt_PT ru sr_RS sr_RS@latin uk_UA vi zh_CN zh_TW"
+
+inherit autotools flag-o-matic lua-single plocale wxwidgets xdg-utils vcs-snapshot toolchain-funcs
+
+DESCRIPTION="Advanced subtitle editor"
+HOMEPAGE="http://www.aegisub.org/ https://github.com/wangqr/Aegisub"
+
+if [[ ${PV} == *9999 ]]; then
+ EGIT_REPO_URI="https://github.com/wangqr/${PN^}.git"
+ # Submodules are used to pull bundled libraries.
+ EGIT_SUBMODULES=()
+ inherit git-r3
+else
+ SRC_URI="https://github.com/wangqr/Aegisub/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+LICENSE="BSD MIT"
+SLOT="0"
+IUSE="+alsa debug +fftw openal oss portaudio pulseaudio spell test +uchardet"
+RESTRICT="test"
+
+# aegisub bundles luabins (https://github.com/agladysh/luabins).
+# Unfortunately, luabins upstream is practically dead since 2010.
+# Thus unbundling luabins isn't worth the effort.
+RDEPEND="${LUA_DEPS}
+ x11-libs/wxGTK:${WX_GTK_VER}[X,opengl,debug?]
+ dev-libs/boost:=[icu,nls]
+ dev-libs/icu:=
+ media-libs/ffmpegsource:=
+ media-libs/fontconfig
+ media-libs/freetype
+ media-libs/libass:=[fontconfig]
+ sys-libs/zlib
+ virtual/libiconv
+ virtual/opengl
+ alsa? ( media-libs/alsa-lib )
+ fftw? ( >=sci-libs/fftw-3.3:= )
+ openal? ( media-libs/openal )
+ portaudio? ( =media-libs/portaudio-19* )
+ pulseaudio? ( media-libs/libpulse )
+ spell? ( app-text/hunspell:= )
+ uchardet? ( app-i18n/uchardet )
+"
+DEPEND="${RDEPEND}"
+# luarocks is only used as a command-line tool so there is no need to enforce
+# LUA_SINGLE_USEDEP on it. On the other hand, this means we must use version
+# bounds in order to make sure we use a version migrated to Lua eclasses.
+BDEPEND="dev-util/intltool
+ sys-devel/gettext
+ virtual/pkgconfig
+ test? (
+ ${RDEPEND}
+ >=dev-cpp/gtest-1.8.1
+ >=dev-lua/luarocks-3.4.0-r100
+ $(lua_gen_cond_dep '
+ dev-lua/busted[${LUA_USEDEP}]
+ ')
+ )
+"
+
+REQUIRED_USE="${LUA_REQUIRED_USE}
+ || ( alsa openal oss portaudio pulseaudio )"
+
+PATCHES=(
+ "${FILESDIR}/3.2.2_p20160518/${PN}-3.2.2_p20160518-fix-system-luajit-build.patch"
+ "${FILESDIR}/3.3.3/${PN}-3.3.3-support-system-gtest.patch"
+ "${FILESDIR}/3.2.2_p20160518/${PN}-3.2.2_p20160518-tests_luarocks_lua_version.patch"
+ "${FILESDIR}/3.2.2_p20160518/${PN}-3.2.2_p20160518-fix-boost-181-build.patch"
+ "${FILESDIR}/3.3.3/${PN}-3.3.3-support-icu-75.patch"
+)
+
+aegisub_check_compiler() {
+ if [[ ${MERGE_TYPE} != "binary" ]] && ! test-flag-CXX -std=c++17; then
+ die "Your compiler lacks C++17 support."
+ fi
+}
+
+pkg_pretend() {
+ aegisub_check_compiler
+}
+
+pkg_setup() {
+ aegisub_check_compiler
+ lua-single_pkg_setup
+}
+
+src_prepare() {
+ default_src_prepare
+
+ # Remove tests that require unavailable uuid Lua module.
+ rm automation/tests/modules/lfs.moon || die
+
+ remove_locale() {
+ rm "po/${1}.po" || die
+ }
+
+ plocale_find_changes 'po' '' '.po'
+ plocale_for_each_disabled_locale remove_locale
+
+ # See http://devel.aegisub.org/ticket/1914
+ config_rpath_update "${S}"/config.rpath
+
+ eautoreconf
+}
+
+src_configure() {
+ tc-export PKG_CONFIG
+ # Prevent access violations from OpenAL detection. See Gentoo bug 508184.
+ use openal && export agi_cv_with_openal="yes"
+
+ setup-wxwidgets
+ local myeconfargs=(
+ --disable-update-checker
+ --with-ffms2
+ --with-system-luajit
+ $(use_enable debug)
+ $(use_with alsa)
+ $(use_with fftw fftw3)
+ $(use_with openal)
+ $(use_with oss)
+ $(use_with portaudio)
+ $(use_with pulseaudio libpulse)
+ $(use_with spell hunspell)
+ $(use_with uchardet)
+ )
+ export FORCE_GIT_VERSION="v${PV}"
+ econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+ emake WITH_SYSTEM_GTEST=$(usex test)
+}
+
+src_test() {
+ emake test-automation
+ emake test-libaegisub
+}
+
+pkg_postinst() {
+ xdg_icon_cache_update
+ xdg_desktop_database_update
+}
+
+pkg_postrm() {
+ xdg_icon_cache_update
+ xdg_desktop_database_update
+}
diff --git a/media-video/aegisub/aegisub-9999.ebuild b/media-video/aegisub/aegisub-9999.ebuild
index 208e6b0e5adb..530606341ba5 100644
--- a/media-video/aegisub/aegisub-9999.ebuild
+++ b/media-video/aegisub/aegisub-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -75,11 +75,12 @@ PATCHES=(
"${FILESDIR}/3.3.3/${PN}-3.3.3-support-system-gtest.patch"
"${FILESDIR}/3.2.2_p20160518/${PN}-3.2.2_p20160518-tests_luarocks_lua_version.patch"
"${FILESDIR}/3.2.2_p20160518/${PN}-3.2.2_p20160518-fix-boost-181-build.patch"
+ "${FILESDIR}/3.3.3/${PN}-3.3.3-support-icu-75.patch"
)
aegisub_check_compiler() {
- if [[ ${MERGE_TYPE} != "binary" ]] && ! test-flag-CXX -std=c++14; then
- die "Your compiler lacks C++14 support."
+ if [[ ${MERGE_TYPE} != "binary" ]] && ! test-flag-CXX -std=c++17; then
+ die "Your compiler lacks C++17 support."
fi
}
diff --git a/media-video/aegisub/files/3.3.3/aegisub-3.3.3-support-icu-75.patch b/media-video/aegisub/files/3.3.3/aegisub-3.3.3-support-icu-75.patch
new file mode 100644
index 000000000000..0287527117ba
--- /dev/null
+++ b/media-video/aegisub/files/3.3.3/aegisub-3.3.3-support-icu-75.patch
@@ -0,0 +1,26 @@
+From 5ef040ffe2fc743ecff0d744b82a24e5c9b521a8 Mon Sep 17 00:00:00 2001
+From: Nick Sarnie <sarnex@gentoo.org>
+Date: Thu, 8 Aug 2024 17:21:31 -0400
+Subject: [PATCH] Fix build with icu 75
+
+Signed-off-by: Nick Sarnie <sarnex@gentoo.org>
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 197d0a788..02cb56052 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -144,7 +144,7 @@ AS_IF([test x$enable_compiler_flags != xno], [
+ CXXFLAGS="$CXXFLAGS -Wall -Wextra -Wno-unused-parameter -fno-strict-aliasing"
+
+ # For mac compiler which still stuck on c++98
+- AC_CXX_FLAG([-std=c++14])
++ AC_CXX_FLAG([-std=c++17])
+
+ # -O* messes with debugging.
+ AS_IF([test x$enable_debug = xyes], [
+--
+2.45.2
+
diff --git a/media-video/amdgpu-pro-amf/Manifest b/media-video/amdgpu-pro-amf/Manifest
index 06cdc29d13c0..c396df9e0527 100644
--- a/media-video/amdgpu-pro-amf/Manifest
+++ b/media-video/amdgpu-pro-amf/Manifest
@@ -1,3 +1,2 @@
-DIST amdgpu-pro-amf-1.4.24.1452059.deb 1307216 BLAKE2B 2ecae593da961e2ff86e807c017a85fda5459458434c491e538f3845a12b0354e65da568550bbdebb47685aad6b7d22607b5f2a281b49718154ead6f92d30058 SHA512 9e3611ad3cad50da4aeeec2b14ad944e2ff7d83b9b104f65acf5e5915f74644fb25f74bfa51a5802dac828fa6c84e01351fbe58f14e1dde1145ba908d6a0445d
-DIST amdgpu-pro-amf-1.4.29.1580631.deb 1653852 BLAKE2B 5af5250c07e1b99ae8c1ee28507927e28ee7811929c789b5939a06f631b81155d6795e1392830945bf377f5298a5153e9af3541b2d94533661db394a059fb715 SHA512 07568c5e2f92f10274f7ac25a9d68539b8ce2e5d24c87e9b6a3aec2b8d5a32980c8fd802394dfa6eb421d3321dd60e07929e7f481578d23afcf623c5c9aa2fcc
-DIST amdgpu-pro-amf-1.4.33.1718238.deb 3311972 BLAKE2B 549ab0cae83e6014ef79ef70981cdb296cebee1cdeeb7d07258523018d9efa89e174fbabe537896e524b69064806dc12bf24aae29f291d76b5bddb3d2e203639 SHA512 ec5771eebe30d749e5fa753600a9fc02ca97b5023cbbd9f58ffbf657a5f6c4d1e2066da1974ad759c6d9089b233c25654fbb0ec019b34232445f9e4f53720388
+DIST amdgpu-pro-amf-1.4.34.1787253-enc.deb 256792 BLAKE2B 91948608c6f298eb3757d12f3bd60f10c28a81cbfe973d4a025ebb9d1806efbc7d36e647f7fbd7d4d6f5cfdb36f54e21066bdf040762070b5f30ed7bb8f7c739 SHA512 38b0ac921326d9b9aa47c9c281bb8708f6cbc1de82b979eb4491fde3d78205898e638ca4704fa00c1d0b0d73291efc85e818762cd0880d0ce6672172e09402ef
+DIST amdgpu-pro-amf-1.4.34.1787253.deb 3203792 BLAKE2B 3dc70fd3b68f7a2d2ba0706cc2203afeca28b297c2e7c1cd60fdcba373d0b32553e6630c537cbfeed8c849873ebc41cac2868ace9c9fc1764aee03b04f94a0a8 SHA512 d6773b3dfb1176ea14663b4a1f2827fb7b4ce2baeed1a9b457382c5cbe2536673a9729215586177819be26e8272c8db22a663880a0366194057bb957aa6f8e76
diff --git a/media-video/amdgpu-pro-amf/amdgpu-pro-amf-1.4.24.1452059.ebuild b/media-video/amdgpu-pro-amf/amdgpu-pro-amf-1.4.24.1452059.ebuild
deleted file mode 100644
index 2ae162b65fcb..000000000000
--- a/media-video/amdgpu-pro-amf/amdgpu-pro-amf-1.4.24.1452059.ebuild
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit unpacker
-
-MY_PV_HIGH=$(ver_cut 1)
-MY_PV_MIDDLE=$(ver_cut 2)
-MY_PV_LOW=$(ver_cut 3)
-MY_PV_REV=$(ver_cut 4)
-
-MY_PV="${MY_PV_HIGH}.${MY_PV_MIDDLE}.${MY_PV_LOW}"
-MY_PV_FULL="${MY_PV}-${MY_PV_REV}"
-
-MY_PN="amf-amdgpu-pro"
-
-PRO_VULKAN_PKG_VER="22.10.4"
-
-DESCRIPTION="AMD's closed source Advanced Media Framework (AMF) driver"
-HOMEPAGE="https://www.amd.com/en/support"
-SRC_URI="https://repo.radeon.com/amdgpu/${PRO_VULKAN_PKG_VER}/ubuntu/pool/proprietary/a/${MY_PN}/${MY_PN}_${MY_PV_FULL}_amd64.deb -> ${P}.deb"
-
-S="${WORKDIR}"
-
-RESTRICT="bindist mirror"
-
-LICENSE="AMD-GPU-PRO-EULA"
-SLOT="0"
-KEYWORDS="-* ~amd64"
-
-RDEPEND="
- media-libs/amdgpu-pro-vulkan
- media-libs/libglvnd
- x11-libs/libdrm
- x11-libs/libX11
-"
-
-QA_PREBUILT="
- usr/lib64/libamfrt64.so*
-"
-
-src_unpack() {
- mkdir "${S}/${PN}-amd64" || die
- cd "${S}/${PN}-amd64" || die
- unpack_deb "${DISTDIR}/${P}.deb"
-}
-
-src_install() {
- insinto "/usr/$(get_libdir)"
-
- # AMF
- doins "${S}/${PN}-amd64/opt/amdgpu-pro/lib/x86_64-linux-gnu/libamfrt64.so.${MY_PV}"
- dosym "libamfrt64.so.${MY_PV}" "/usr/$(get_libdir)/libamfrt64.so.1"
-}
diff --git a/media-video/amdgpu-pro-amf/amdgpu-pro-amf-1.4.29.1580631.ebuild b/media-video/amdgpu-pro-amf/amdgpu-pro-amf-1.4.29.1580631.ebuild
deleted file mode 100644
index aeace360442d..000000000000
--- a/media-video/amdgpu-pro-amf/amdgpu-pro-amf-1.4.29.1580631.ebuild
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit unpacker
-
-MY_PV_HIGH=$(ver_cut 1)
-MY_PV_MIDDLE=$(ver_cut 2)
-MY_PV_LOW=$(ver_cut 3)
-MY_PV_REV=$(ver_cut 4)
-
-MY_PV="${MY_PV_HIGH}.${MY_PV_MIDDLE}.${MY_PV_LOW}"
-MY_PV_FULL="${MY_PV}-${MY_PV_REV}"
-
-MY_PN="amf-amdgpu-pro"
-
-INTERNAL_VER="5.4.6"
-UBUNTU_VER="22.04"
-
-DESCRIPTION="AMD's closed source Advanced Media Framework (AMF) driver"
-HOMEPAGE="https://www.amd.com/en/support"
-SRC_URI="https://repo.radeon.com/amdgpu/${INTERNAL_VER}/ubuntu/pool/proprietary/a/${MY_PN}/${MY_PN}_${MY_PV_FULL}.${UBUNTU_VER}_amd64.deb -> ${P}.deb"
-
-S="${WORKDIR}"
-
-RESTRICT="bindist mirror"
-
-LICENSE="AMD-GPU-PRO-EULA"
-SLOT="0"
-KEYWORDS="-* ~amd64"
-
-RDEPEND="
- media-libs/amdgpu-pro-vulkan
- media-libs/libglvnd
- x11-libs/libdrm
- x11-libs/libX11
-"
-
-QA_PREBUILT="
- usr/lib64/libamfrt64.so*
-"
-
-src_unpack() {
- mkdir "${S}/${PN}-amd64" || die
- cd "${S}/${PN}-amd64" || die
- unpack_deb "${DISTDIR}/${P}.deb"
-}
-
-src_install() {
- insinto "/usr/$(get_libdir)"
-
- # AMF
- doins "${S}/${PN}-amd64/opt/amdgpu-pro/lib/x86_64-linux-gnu/libamfrt64.so.${MY_PV}"
- dosym "libamfrt64.so.${MY_PV}" "/usr/$(get_libdir)/libamfrt64.so.1"
-}
diff --git a/media-video/amdgpu-pro-amf/amdgpu-pro-amf-1.4.33.1718238.ebuild b/media-video/amdgpu-pro-amf/amdgpu-pro-amf-1.4.34.1787253.ebuild
index 79a35e7579e0..fa004817f5f6 100644
--- a/media-video/amdgpu-pro-amf/amdgpu-pro-amf-1.4.33.1718238.ebuild
+++ b/media-video/amdgpu-pro-amf/amdgpu-pro-amf-1.4.34.1787253.ebuild
@@ -14,43 +14,61 @@ MY_PV="${MY_PV_HIGH}.${MY_PV_MIDDLE}.${MY_PV_LOW}"
MY_PV_FULL="${MY_PV}-${MY_PV_REV}"
MY_PN="amf-amdgpu-pro"
+MY_PN_ENC="libamdenc-amdgpu-pro"
-INTERNAL_VER="6.0.2"
+INTERNAL_VER="6.1.3"
UBUNTU_VER="22.04"
-DESCRIPTION="AMD's closed source Advanced Media Framework (AMF) driver"
+DESCRIPTION="AMD's closed source Advanced Media Framework (AMF) driver for AMD GPUs"
HOMEPAGE="https://www.amd.com/en/support"
-SRC_URI="https://repo.radeon.com/amdgpu/${INTERNAL_VER}/ubuntu/pool/proprietary/a/${MY_PN}/${MY_PN}_${MY_PV_FULL}.${UBUNTU_VER}_amd64.deb -> ${P}.deb"
-S="${WORKDIR}"
+URI_PREFIX="repo.radeon.com/amdgpu/${INTERNAL_VER}/ubuntu/pool/proprietary"
-RESTRICT="bindist mirror"
+SRC_URI="
+ https://${URI_PREFIX}/a/${MY_PN}/${MY_PN}_${MY_PV_FULL}.${UBUNTU_VER}_amd64.deb -> ${P}.deb
+ https://${URI_PREFIX}/liba/${MY_PN_ENC}/${MY_PN_ENC}_1.0-${MY_PV_REV}.${UBUNTU_VER}_amd64.deb -> ${P}-enc.deb
+"
+
+S="${WORKDIR}"
LICENSE="AMD-GPU-PRO-EULA"
-SLOT="0/31"
+SLOT="0"
KEYWORDS="-* amd64"
+IUSE="+radv pro video_cards_amdgpu"
+REQUIRED_USE="
+ video_cards_amdgpu
+ || ( radv pro )
+"
+
+RESTRICT="bindist mirror"
+
RDEPEND="
- media-libs/amdgpu-pro-vulkan
media-libs/libglvnd
x11-libs/libdrm
x11-libs/libX11
+ pro? ( media-libs/amdgpu-pro-vulkan )
+ radv? ( media-libs/mesa[proprietary-codecs,vulkan] )
"
QA_PREBUILT="
usr/lib64/libamfrt64.so*
+ usr/lib64/libamdenc64.so*
"
src_unpack() {
mkdir "${S}/${PN}-amd64" || die
cd "${S}/${PN}-amd64" || die
unpack_deb "${DISTDIR}/${P}.deb"
+ unpack_deb "${DISTDIR}/${P}-enc.deb"
}
src_install() {
insinto "/usr/$(get_libdir)"
- # AMF
doins "${S}/${PN}-amd64/opt/amdgpu-pro/lib/x86_64-linux-gnu/libamfrt64.so.${MY_PV}"
dosym "libamfrt64.so.${MY_PV}" "/usr/$(get_libdir)/libamfrt64.so.1"
+
+ doins "${S}/${PN}-amd64/opt/amdgpu-pro/lib/x86_64-linux-gnu/libamdenc64.so.1.0"
+ doins "${S}/${PN}-amd64/opt/amdgpu-pro/lib/x86_64-linux-gnu/libamdenc64.so"
}
diff --git a/media-video/amdgpu-pro-amf/metadata.xml b/media-video/amdgpu-pro-amf/metadata.xml
index 6d07c8aa6259..fbd4c6cd9424 100644
--- a/media-video/amdgpu-pro-amf/metadata.xml
+++ b/media-video/amdgpu-pro-amf/metadata.xml
@@ -9,4 +9,8 @@
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
+ <use>
+ <flag name="radv">Pull media-libs/amdgpu-pro-vulkan as dependency</flag>
+ <flag name="pro">Pull media-libs/mesa as dependency</flag>
+ </use>
</pkgmetadata>
diff --git a/media-video/bdsup2sub/Manifest b/media-video/bdsup2sub/Manifest
deleted file mode 100644
index d48b0ef5b348..000000000000
--- a/media-video/bdsup2sub/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST bdsup2sub-4.0.0.tar.xz 199796 BLAKE2B 293c7d0433103a3087fb057b938b1cf2d42acc01ccdeb8c815f124c3a6b61f20bb211d88f9f4a7e516f4f7aa54200d2c1ec36adbfe700321543f27a9408269f4 SHA512 d12f5ddde2b9fec9dc50a43212db52f068852c972c0ee559dbe7f56490d7082eb1f603413a17737f791450d7f1458ed5ba39fda9a7a1349af03c07a0173c13a6
-DIST xdg-20100731.java.xz 648 BLAKE2B 8bd082c445d64051c65c66e8a22b61e582d04f1f650e3b15ee2f3400d47b10f137d245bd8a7633d96299e2c688f7bf836b59a4dd49ea3c181684a78fa55304c3 SHA512 8b5d8e695f3f052f889002dc93742da8ba9eada173cb10ad1db525e1ad89d1c8f44200d79dc02068ccf93fdbf2e8daa5bb359dae77bacbc89cb6d4895732774b
diff --git a/media-video/bdsup2sub/bdsup2sub-4.0.0-r3.ebuild b/media-video/bdsup2sub/bdsup2sub-4.0.0-r3.ebuild
deleted file mode 100644
index 8246c205b408..000000000000
--- a/media-video/bdsup2sub/bdsup2sub-4.0.0-r3.ebuild
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-JAVA_PKG_IUSE="doc source"
-
-inherit desktop java-pkg-2 java-ant-2
-
-XDG_P="xdg-20100731"
-
-MY_PN="BDSup2Sub"
-
-DESCRIPTION="A tool to convert and tweak bitmap based subtitle streams"
-HOMEPAGE="http://bdsup2sub.javaforge.com/help.htm"
-SRC_URI="
- http://sbriesen.de/gentoo/distfiles/${P}.tar.xz
- http://sbriesen.de/gentoo/distfiles/${XDG_P}.java.xz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- >=virtual/jre-1.8:*"
-
-DEPEND="
- >=virtual/jdk-1.8:*"
-
-S="${WORKDIR}/${PN}/${PV}"
-
-PATCHES=( "${FILESDIR}/${P}-xdg.patch" )
-
-src_prepare() {
- default
-
- # apply XDG patch
- cp -v "${WORKDIR}/${XDG_P}.java" "${S}/src/xdg.java" || die
-
- # copy build.xml
- cp -f "${FILESDIR}/build-${PV}.xml" build.xml || die
-}
-
-src_compile() {
- eant build $(use_doc)
-}
-
-src_install() {
- java-pkg_dojar "dist/${MY_PN}.jar"
- java-pkg_dolauncher "${PN}" --main "${MY_PN}" --java_args -Xmx256m
- newicon bin_copy/icon_32.png "${MY_PN}.png"
- make_desktop_entry "${MY_PN}" "${MY_PN}" "${MY_PN}"
- use doc && java-pkg_dojavadoc apidocs
- use source && java-pkg_dosrc src
-}
diff --git a/media-video/bdsup2sub/files/bdsup2sub-4.0.0-xdg.patch b/media-video/bdsup2sub/files/bdsup2sub-4.0.0-xdg.patch
deleted file mode 100644
index 3f68beb6d495..000000000000
--- a/media-video/bdsup2sub/files/bdsup2sub-4.0.0-xdg.patch
+++ /dev/null
@@ -1,40 +0,0 @@
---- a/src/deadbeef/SupTools/Core.java 2010-07-29 13:01:48.000000000 +0200
-+++ b/src/deadbeef/SupTools/Core.java 2010-08-01 02:19:25.215473885 +0200
-@@ -22,6 +22,8 @@
- import deadbeef.Tools.Props;
- import deadbeef.Tools.ToolBox;
-
-+import xdg.*;
-+
- /*
- * Copyright 2009 Volker Oth (0xdeadbeef)
- *
-@@ -750,6 +752,7 @@
- cliMode = false;
- String s = c.getClass().getName().replace('.','/') + ".class";
- URL url = c.getClass().getClassLoader().getResource(s);
-+ /*
- int pos;
- try {
- fnameProps = URLDecoder.decode(url.getPath(),"UTF-8");
-@@ -767,6 +770,8 @@
- fnameProps = fnameProps.substring(0,pos+1);
- }
- fnameProps += Core.iniName;
-+ */
-+ fnameProps = xdg.config_home() + "/" + Core.iniName;
-
- // read properties from ini file
- props = new Props();
-@@ -905,8 +910,10 @@
- * Write properties
- */
- public static void storeProps() {
-- if (props != null)
-+ if (props != null) {
-+ xdg.mkdirs_file(fnameProps);
- props.save(fnameProps);
-+ }
- }
-
- /**
diff --git a/media-video/bdsup2sub/files/build-4.0.0.xml b/media-video/bdsup2sub/files/build-4.0.0.xml
deleted file mode 100644
index 9aab31c3a5e1..000000000000
--- a/media-video/bdsup2sub/files/build-4.0.0.xml
+++ /dev/null
@@ -1,68 +0,0 @@
-<?xml version="1.0"?>
-
-<project name="BDSup2Sub" default="jar">
- <!-- some properties -->
- <property name="src.dir" value="src" />
- <property name="build.dir" value="build" />
- <property name="docs.dir" value="apidocs" />
- <property name="dist.dir" value="dist" />
- <property name="resources.dir" value="bin_copy" />
- <property name="project.jar" value="${dist.dir}/${ant.project.name}.jar" />
- <property name="target.jdk" value="1.6" />
-
- <!-- init -->
- <target name="init">
- <mkdir dir="${dist.dir}" />
- <mkdir dir="${docs.dir}" />
- <mkdir dir="${build.dir}" />
- </target>
-
- <!-- compile everything -->
- <target name="compile" depends="init">
- <javac srcdir="${src.dir}"
- destdir="${build.dir}"
- source="${target.jdk}"
- target="${target.jdk}"
- encoding="ISO-8859-1"/>
- <copy todir="${build.dir}">
- <fileset dir="${resources.dir}" />
- </copy>
- </target>
-
- <!-- build the jar files -->
- <target name="build" depends="compile">
- <jar jarfile="${project.jar}" basedir="${build.dir}">
- <manifest>
- <attribute name="Main-Class" value="${ant.project.name}" />
- </manifest>
- </jar>
- </target>
-
- <!-- generate javadocs -->
- <target name="javadoc" depends="init">
- <javadoc sourcepath="${src.dir}"
- packagenames="*"
- destdir="${docs.dir}"
- author="true"
- version="true"
- use="true"
- charset="UTF-8"
- encoding="ISO-8859-1"
- windowtitle="${ant.project.name} API" />
- </target>
-
- <!-- clean up -->
- <target name="clean">
- <delete dir="${build.dir}" />
- <delete dir="${docs.dir}" />
- <delete dir="${dist.dir}" />
- </target>
-
- <!-- zip the sources -->
- <target name="sourcezip">
- <zip destfile="${dist.dir}/${ant.project.name}-src.zip">
- <zipfileset dir="${src.dir}" />
- </zip>
- </target>
-
-</project>
diff --git a/media-video/bdsup2sub/metadata.xml b/media-video/bdsup2sub/metadata.xml
deleted file mode 100644
index a2dfee954457..000000000000
--- a/media-video/bdsup2sub/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>media-video@gentoo.org</email>
- <name>Gentoo Video project</name>
- </maintainer>
-</pkgmetadata>
diff --git a/media-video/cheese/cheese-44.1.ebuild b/media-video/cheese/cheese-44.1.ebuild
index b6998ae2db97..b229a7621fcd 100644
--- a/media-video/cheese/cheese-44.1.ebuild
+++ b/media-video/cheese/cheese-44.1.ebuild
@@ -10,7 +10,7 @@ HOMEPAGE="https://wiki.gnome.org/Apps/Cheese"
LICENSE="GPL-2+"
SLOT="0/8" # subslot = libcheese soname version
-KEYWORDS="amd64 ~arm arm64 ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc x86"
+KEYWORDS="amd64 ~arm arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc x86"
IUSE="gtk-doc +introspection test"
RESTRICT="!test? ( test )"
diff --git a/media-video/dirac/dirac-1.0.2-r2.ebuild b/media-video/dirac/dirac-1.0.2-r2.ebuild
index c69be76aff2a..180b12111cfa 100644
--- a/media-video/dirac/dirac-1.0.2-r2.ebuild
+++ b/media-video/dirac/dirac-1.0.2-r2.ebuild
@@ -11,7 +11,7 @@ SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz"
LICENSE="MPL-1.1"
SLOT="0"
-KEYWORDS="~alpha amd64 arm ~hppa ~ia64 ~mips ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+KEYWORDS="~alpha amd64 arm ~hppa ~mips ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
IUSE="debug doc cpu_flags_x86_mmx"
BDEPEND="
diff --git a/media-video/ffmpeg-chromium/Manifest b/media-video/ffmpeg-chromium/Manifest
index 5c5c58f892d0..ed477c1c8d90 100644
--- a/media-video/ffmpeg-chromium/Manifest
+++ b/media-video/ffmpeg-chromium/Manifest
@@ -2,3 +2,5 @@ DIST ffmpeg-chromium-125.tar.xz 10372892 BLAKE2B 53b805354b55f1dfbe2341b767aaccc
DIST ffmpeg-chromium-126.tar.xz 10402160 BLAKE2B 96a92ff2a5ece8668693f5ef7ed5da3e61a523b98a91d00316494df91edfc42c1622663719a3c192de2a4ebf7a6258f08c53393201ee3fc3261f162e1b529dcd SHA512 8fc10b1d5fe159a1dd718229bf8ec50ed0bea1fedd917859b3a0703f15e94809087e67ccf2031eb14ae8b06ad32d958ed71ff54621fd667f5507abd9738a6f0c
DIST ffmpeg-chromium-127.tar.xz 10418192 BLAKE2B 2a623ee8e2c0940e4067e6ebecaecdc64c45b16022327a84d77323348c210b091c58eb52b4afea1f2918cd29a27c3457a3294f561a5e6ee2db28c63f432b23bd SHA512 0cddb21761ad3b54f5393d3963ca94518cb4ab8183f2bbe975f8419bd94d8b20131750a22d75fd56b304a2b83be364993a839f727342b7eed6a2d1868f79af4c
DIST ffmpeg-chromium-128.tar.xz 10420280 BLAKE2B 0b5b3ca891445042c9c1a27713b57a0d99f75fd2d57116b89afa1020dde61a1b2d3d14e0c6d639a17fd0b45359e803580100c600e6ac99eb383630512ab8402b SHA512 a420da69c49c11bf49229066f7f08d837d8bfacfa47c659b8c3e5bb28426b65749a16ce221bf2996541902f2d55750c43e75596102a6449cdf4a845cbad777dc
+DIST ffmpeg-chromium-129.tar.xz 10424032 BLAKE2B dbe0b8c2d799958660b6a3ca0f1a8e68a8f5b81ef813f2837b1c66bc03a9200cc8273b6c077fec5402157701cd341ce75055d39aac7b78e5af39537285a0bb8a SHA512 c6ac36f41cc7eed353b92809a481dd783ca52eabc15a10d6a41cb241e2ad8a25cb2467b62c671f303f90b6b3bb1497a196b4488457832fb5b51a796de20ca49c
+DIST ffmpeg-chromium-130.tar.xz 10420352 BLAKE2B 1b7711a3ee349d1e0d8ad8f761c8a38f78a5088dcf985d5da6423938fd93512b177d749949d4a6a3894f6b1faa4e4a0a0584067448d2ac5c886c00bbc25db89c SHA512 ee1a13634695ef5fb3e1a812420662e17449cab5e3c4e29611f9503b771ccb60c4821136160c51faeb4e18919efc3138ca8e034a27f44739a60cc3452d31572a
diff --git a/media-video/ffmpeg-chromium/ffmpeg-chromium-125.ebuild b/media-video/ffmpeg-chromium/ffmpeg-chromium-125.ebuild
index 3186f0ec2b6a..7112d7b23cff 100644
--- a/media-video/ffmpeg-chromium/ffmpeg-chromium-125.ebuild
+++ b/media-video/ffmpeg-chromium/ffmpeg-chromium-125.ebuild
@@ -140,15 +140,6 @@ src_configure() {
# Bug #918997. Will probably be fixed upstream in the next release.
use vulkan && append-ldflags -Wl,-z,muldefs
- # bug 842201
- use ia64 && tc-is-gcc && append-flags \
- -fno-tree-ccp \
- -fno-tree-dominator-opts \
- -fno-tree-fre \
- -fno-code-hoisting \
- -fno-tree-pre \
- -fno-tree-vrp
-
local ffuse=( "${FFMPEG_FLAG_MAP[@]}" )
for i in "${ffuse[@]#+}" ; do
diff --git a/media-video/ffmpeg-chromium/ffmpeg-chromium-126.ebuild b/media-video/ffmpeg-chromium/ffmpeg-chromium-126.ebuild
index e4db10a00285..30123f9c2d1f 100644
--- a/media-video/ffmpeg-chromium/ffmpeg-chromium-126.ebuild
+++ b/media-video/ffmpeg-chromium/ffmpeg-chromium-126.ebuild
@@ -140,15 +140,6 @@ src_configure() {
# Bug #918997. Will probably be fixed upstream in the next release.
use vulkan && append-ldflags -Wl,-z,muldefs
- # bug 842201
- use ia64 && tc-is-gcc && append-flags \
- -fno-tree-ccp \
- -fno-tree-dominator-opts \
- -fno-tree-fre \
- -fno-code-hoisting \
- -fno-tree-pre \
- -fno-tree-vrp
-
local ffuse=( "${FFMPEG_FLAG_MAP[@]}" )
for i in "${ffuse[@]#+}" ; do
diff --git a/media-video/ffmpeg-chromium/ffmpeg-chromium-127.ebuild b/media-video/ffmpeg-chromium/ffmpeg-chromium-127.ebuild
index 91d93d2a4d58..f67cb20d79f3 100644
--- a/media-video/ffmpeg-chromium/ffmpeg-chromium-127.ebuild
+++ b/media-video/ffmpeg-chromium/ffmpeg-chromium-127.ebuild
@@ -140,15 +140,6 @@ src_configure() {
# Bug #918997. Will probably be fixed upstream in the next release.
use vulkan && append-ldflags -Wl,-z,muldefs
- # bug 842201
- use ia64 && tc-is-gcc && append-flags \
- -fno-tree-ccp \
- -fno-tree-dominator-opts \
- -fno-tree-fre \
- -fno-code-hoisting \
- -fno-tree-pre \
- -fno-tree-vrp
-
local ffuse=( "${FFMPEG_FLAG_MAP[@]}" )
for i in "${ffuse[@]#+}" ; do
diff --git a/media-video/ffmpeg-chromium/ffmpeg-chromium-128.ebuild b/media-video/ffmpeg-chromium/ffmpeg-chromium-128.ebuild
index 6b5bd6600a97..0669dac8dc36 100644
--- a/media-video/ffmpeg-chromium/ffmpeg-chromium-128.ebuild
+++ b/media-video/ffmpeg-chromium/ffmpeg-chromium-128.ebuild
@@ -16,7 +16,7 @@ LICENSE="
"
SLOT="${PV}"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64"
+KEYWORDS="amd64 ~arm arm64 ~loong ~ppc64"
# Options to use as use_enable in the foo[:bar] form.
# This will feed configure with $(use_enable foo bar)
@@ -140,15 +140,6 @@ src_configure() {
# Bug #918997. Will probably be fixed upstream in the next release.
use vulkan && append-ldflags -Wl,-z,muldefs
- # bug 842201
- use ia64 && tc-is-gcc && append-flags \
- -fno-tree-ccp \
- -fno-tree-dominator-opts \
- -fno-tree-fre \
- -fno-code-hoisting \
- -fno-tree-pre \
- -fno-tree-vrp
-
local ffuse=( "${FFMPEG_FLAG_MAP[@]}" )
for i in "${ffuse[@]#+}" ; do
diff --git a/media-video/ffmpeg-chromium/ffmpeg-chromium-129.ebuild b/media-video/ffmpeg-chromium/ffmpeg-chromium-129.ebuild
new file mode 100644
index 000000000000..5c3db3e86611
--- /dev/null
+++ b/media-video/ffmpeg-chromium/ffmpeg-chromium-129.ebuild
@@ -0,0 +1,239 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic toolchain-funcs
+
+COMMIT=14d16cd143ad1993900c276e37592956702443a9
+DESCRIPTION="FFmpeg built specifically for codec support in Chromium-based browsers"
+HOMEPAGE="https://ffmpeg.org/"
+SRC_URI="https://deps.gentoo.zip/media-video/${P}.tar.xz"
+
+LICENSE="
+ !gpl? ( LGPL-2.1 )
+ gpl? ( GPL-2 )
+"
+SLOT="${PV}"
+
+KEYWORDS="amd64 ~arm arm64 ~loong ~ppc64"
+
+# Options to use as use_enable in the foo[:bar] form.
+# This will feed configure with $(use_enable foo bar)
+# or $(use_enable foo foo) if no :bar is set.
+# foo is added to IUSE.
+FFMPEG_FLAG_MAP=(
+ cpudetection:runtime-cpudetect debug
+ +gpl
+ vaapi vdpau vulkan
+ nvenc:ffnvcodec
+ # Threads; we only support pthread for now but ffmpeg supports more
+ +threads:pthreads
+)
+
+IUSE="
+ ${FFMPEG_FLAG_MAP[@]%:*}
+"
+
+# Strings for CPU features in the useflag[:configure_option] form
+# if :configure_option isn't set, it will use 'useflag' as configure option
+ARM_CPU_FEATURES=(
+ cpu_flags_arm_thumb:armv5te
+ cpu_flags_arm_v6:armv6
+ cpu_flags_arm_thumb2:armv6t2
+ cpu_flags_arm_neon:neon
+ cpu_flags_arm_vfp:vfp
+ cpu_flags_arm_vfpv3:vfpv3
+ cpu_flags_arm_v8:armv8
+ cpu_flags_arm_asimddp:dotprod
+ cpu_flags_arm_i8mm:i8mm
+)
+ARM_CPU_REQUIRED_USE="
+ arm64? ( cpu_flags_arm_v8 )
+ cpu_flags_arm_v8? ( cpu_flags_arm_vfpv3 cpu_flags_arm_neon )
+ cpu_flags_arm_neon? (
+ cpu_flags_arm_vfp
+ arm? ( cpu_flags_arm_thumb2 )
+ )
+ cpu_flags_arm_vfpv3? ( cpu_flags_arm_vfp )
+ cpu_flags_arm_thumb2? ( cpu_flags_arm_v6 )
+ cpu_flags_arm_v6? (
+ arm? ( cpu_flags_arm_thumb )
+ )
+"
+X86_CPU_FEATURES_RAW=( 3dnow:amd3dnow 3dnowext:amd3dnowext aes:aesni avx:avx avx2:avx2 fma3:fma3 fma4:fma4 mmx:mmx
+ mmxext:mmxext sse:sse sse2:sse2 sse3:sse3 ssse3:ssse3 sse4_1:sse4 sse4_2:sse42 xop:xop )
+X86_CPU_FEATURES=( ${X86_CPU_FEATURES_RAW[@]/#/cpu_flags_x86_} )
+X86_CPU_REQUIRED_USE="
+ cpu_flags_x86_avx2? ( cpu_flags_x86_avx )
+ cpu_flags_x86_fma4? ( cpu_flags_x86_avx )
+ cpu_flags_x86_fma3? ( cpu_flags_x86_avx )
+ cpu_flags_x86_xop? ( cpu_flags_x86_avx )
+ cpu_flags_x86_avx? ( cpu_flags_x86_sse4_2 )
+ cpu_flags_x86_aes? ( cpu_flags_x86_sse4_2 )
+ cpu_flags_x86_sse4_2? ( cpu_flags_x86_sse4_1 )
+ cpu_flags_x86_sse4_1? ( cpu_flags_x86_ssse3 )
+ cpu_flags_x86_ssse3? ( cpu_flags_x86_sse3 )
+ cpu_flags_x86_sse3? ( cpu_flags_x86_sse2 )
+ cpu_flags_x86_sse2? ( cpu_flags_x86_sse )
+ cpu_flags_x86_sse? ( cpu_flags_x86_mmxext )
+ cpu_flags_x86_mmxext? ( cpu_flags_x86_mmx )
+ cpu_flags_x86_3dnowext? ( cpu_flags_x86_3dnow )
+ cpu_flags_x86_3dnow? ( cpu_flags_x86_mmx )
+"
+
+CPU_FEATURES_MAP=(
+ ${ARM_CPU_FEATURES[@]}
+ ${X86_CPU_FEATURES[@]}
+)
+IUSE="${IUSE}
+ ${CPU_FEATURES_MAP[@]%:*}"
+
+CPU_REQUIRED_USE="
+ ${ARM_CPU_REQUIRED_USE}
+ ${X86_CPU_REQUIRED_USE}
+"
+
+RDEPEND="
+ >=media-libs/opus-1.0.2-r2
+ vaapi? ( >=media-libs/libva-1.2.1-r1:0= )
+ nvenc? ( >=media-libs/nv-codec-headers-11.1.5.3 )
+ vdpau? ( >=x11-libs/libvdpau-0.7 )
+ vulkan? ( >=media-libs/vulkan-loader-1.3.277:= )
+"
+
+DEPEND="${RDEPEND}
+ vulkan? ( >=dev-util/vulkan-headers-1.3.277 )
+"
+BDEPEND="
+ >=dev-build/make-3.81
+ virtual/pkgconfig
+ cpu_flags_x86_mmx? ( || ( >=dev-lang/nasm-2.13 >=dev-lang/yasm-1.3 ) )
+"
+
+REQUIRED_USE="
+ vulkan? ( threads )
+ ${CPU_REQUIRED_USE}"
+RESTRICT="
+ test
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-120.patch
+ "${FILESDIR}"/chromium.patch
+)
+
+src_prepare() {
+ export revision=git-N-g${COMMIT:0:10}
+ default
+
+ # -fdiagnostics-color=auto gets appended after user flags which
+ # will ignore user's preference.
+ sed -i -e '/check_cflags -fdiagnostics-color=auto/d' configure || die
+
+ echo 'include $(SRC_PATH)/ffbuild/libffmpeg.mak' >> Makefile || die
+}
+
+src_configure() {
+ local myconf=( )
+
+ # Bug #918997. Will probably be fixed upstream in the next release.
+ use vulkan && append-ldflags -Wl,-z,muldefs
+
+ local ffuse=( "${FFMPEG_FLAG_MAP[@]}" )
+
+ for i in "${ffuse[@]#+}" ; do
+ myconf+=( $(use_enable ${i%:*} ${i#*:}) )
+ done
+
+ # CPU features
+ for i in "${CPU_FEATURES_MAP[@]}" ; do
+ use ${i%:*} || myconf+=( --disable-${i#*:} )
+ done
+
+ # Try to get cpu type based on CFLAGS.
+ # Bug #172723
+ # We need to do this so that features of that CPU will be better used
+ # If they contain an unknown CPU it will not hurt since ffmpeg's configure
+ # will just ignore it.
+ for i in $(get-flag mcpu) $(get-flag march) ; do
+ [[ ${i} = native ]] && i="host" # bug #273421
+ myconf+=( --cpu=${i} )
+ break
+ done
+
+ # LTO support, bug #566282, bug #754654, bug #772854
+ if [[ ${ABI} != x86 ]] && tc-is-lto; then
+ # Respect -flto value, e.g -flto=thin
+ local v="$(get-flag flto)"
+ [[ -n ${v} ]] && myconf+=( "--enable-lto=${v}" ) || myconf+=( "--enable-lto" )
+ fi
+ filter-lto
+
+ # Mandatory configuration
+ myconf=(
+ --disable-stripping
+ # This is only for hardcoded cflags; those are used in configure checks that may
+ # interfere with proper detections, bug #671746 and bug #645778
+ # We use optflags, so that overrides them anyway.
+ --disable-optimizations
+ --disable-libcelt # bug #664158
+ "${myconf[@]}"
+ )
+
+ # cross compile support
+ if tc-is-cross-compiler ; then
+ myconf+=( --enable-cross-compile --arch=$(tc-arch-kernel) --cross-prefix=${CHOST}- --host-cc="$(tc-getBUILD_CC)" )
+ case ${CHOST} in
+ *mingw32*)
+ myconf+=( --target-os=mingw32 )
+ ;;
+ *linux*)
+ myconf+=( --target-os=linux )
+ ;;
+ esac
+ fi
+
+ # Use --extra-libs if needed for LIBS
+ set -- "${S}/configure" \
+ --prefix="${EPREFIX}/usr" \
+ --libdir="${EPREFIX}/usr/$(get_libdir)" \
+ --shlibdir="${EPREFIX}/usr/$(get_libdir)" \
+ --cc="$(tc-getCC)" \
+ --cxx="$(tc-getCXX)" \
+ --ar="$(tc-getAR)" \
+ --nm="$(tc-getNM)" \
+ --strip="$(tc-getSTRIP)" \
+ --ranlib="$(tc-getRANLIB)" \
+ --pkg-config="$(tc-getPKG_CONFIG)" \
+ --optflags="${CFLAGS}" \
+ --disable-all \
+ --disable-autodetect \
+ --disable-error-resilience \
+ --disable-everything \
+ --disable-faan \
+ --disable-iconv \
+ --disable-network \
+ --enable-avcodec \
+ --enable-avformat \
+ --enable-avutil \
+ --enable-libopus \
+ --enable-decoder=aac,flac,h264,libopus,mp3,pcm_alaw,pcm_f32le,pcm_mulaw,pcm_s16be,pcm_s16le,pcm_s24be,pcm_s24le,pcm_s32le,pcm_u8,theora,vorbis,vp8 \
+ --enable-demuxer=aac,flac,matroska,mov,mp3,ogg,wav \
+ --enable-parser=aac,flac,h264,mpegaudio,opus,vorbis,vp3,vp8,vp9 \
+ --enable-pic \
+ --enable-static \
+ "${myconf[@]}" \
+ ${EXTRA_FFMPEG_CONF}
+
+ echo "${@}"
+ "${@}" || die
+}
+
+src_compile() {
+ emake V=1 libffmpeg
+}
+
+src_install() {
+ emake V=1 DESTDIR="${D}" install-libffmpeg
+}
diff --git a/media-video/ffmpeg-chromium/ffmpeg-chromium-130.ebuild b/media-video/ffmpeg-chromium/ffmpeg-chromium-130.ebuild
new file mode 100644
index 000000000000..e2cbf285339c
--- /dev/null
+++ b/media-video/ffmpeg-chromium/ffmpeg-chromium-130.ebuild
@@ -0,0 +1,239 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic toolchain-funcs
+
+COMMIT=91903c28af60a732a051c343b496e1188eec9b05
+DESCRIPTION="FFmpeg built specifically for codec support in Chromium-based browsers"
+HOMEPAGE="https://ffmpeg.org/"
+SRC_URI="https://deps.gentoo.zip/media-video/${P}.tar.xz"
+
+LICENSE="
+ !gpl? ( LGPL-2.1 )
+ gpl? ( GPL-2 )
+"
+SLOT="${PV}"
+
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64"
+
+# Options to use as use_enable in the foo[:bar] form.
+# This will feed configure with $(use_enable foo bar)
+# or $(use_enable foo foo) if no :bar is set.
+# foo is added to IUSE.
+FFMPEG_FLAG_MAP=(
+ cpudetection:runtime-cpudetect debug
+ +gpl
+ vaapi vdpau vulkan
+ nvenc:ffnvcodec
+ # Threads; we only support pthread for now but ffmpeg supports more
+ +threads:pthreads
+)
+
+IUSE="
+ ${FFMPEG_FLAG_MAP[@]%:*}
+"
+
+# Strings for CPU features in the useflag[:configure_option] form
+# if :configure_option isn't set, it will use 'useflag' as configure option
+ARM_CPU_FEATURES=(
+ cpu_flags_arm_thumb:armv5te
+ cpu_flags_arm_v6:armv6
+ cpu_flags_arm_thumb2:armv6t2
+ cpu_flags_arm_neon:neon
+ cpu_flags_arm_vfp:vfp
+ cpu_flags_arm_vfpv3:vfpv3
+ cpu_flags_arm_v8:armv8
+ cpu_flags_arm_asimddp:dotprod
+ cpu_flags_arm_i8mm:i8mm
+)
+ARM_CPU_REQUIRED_USE="
+ arm64? ( cpu_flags_arm_v8 )
+ cpu_flags_arm_v8? ( cpu_flags_arm_vfpv3 cpu_flags_arm_neon )
+ cpu_flags_arm_neon? (
+ cpu_flags_arm_vfp
+ arm? ( cpu_flags_arm_thumb2 )
+ )
+ cpu_flags_arm_vfpv3? ( cpu_flags_arm_vfp )
+ cpu_flags_arm_thumb2? ( cpu_flags_arm_v6 )
+ cpu_flags_arm_v6? (
+ arm? ( cpu_flags_arm_thumb )
+ )
+"
+X86_CPU_FEATURES_RAW=( 3dnow:amd3dnow 3dnowext:amd3dnowext aes:aesni avx:avx avx2:avx2 fma3:fma3 fma4:fma4 mmx:mmx
+ mmxext:mmxext sse:sse sse2:sse2 sse3:sse3 ssse3:ssse3 sse4_1:sse4 sse4_2:sse42 xop:xop )
+X86_CPU_FEATURES=( ${X86_CPU_FEATURES_RAW[@]/#/cpu_flags_x86_} )
+X86_CPU_REQUIRED_USE="
+ cpu_flags_x86_avx2? ( cpu_flags_x86_avx )
+ cpu_flags_x86_fma4? ( cpu_flags_x86_avx )
+ cpu_flags_x86_fma3? ( cpu_flags_x86_avx )
+ cpu_flags_x86_xop? ( cpu_flags_x86_avx )
+ cpu_flags_x86_avx? ( cpu_flags_x86_sse4_2 )
+ cpu_flags_x86_aes? ( cpu_flags_x86_sse4_2 )
+ cpu_flags_x86_sse4_2? ( cpu_flags_x86_sse4_1 )
+ cpu_flags_x86_sse4_1? ( cpu_flags_x86_ssse3 )
+ cpu_flags_x86_ssse3? ( cpu_flags_x86_sse3 )
+ cpu_flags_x86_sse3? ( cpu_flags_x86_sse2 )
+ cpu_flags_x86_sse2? ( cpu_flags_x86_sse )
+ cpu_flags_x86_sse? ( cpu_flags_x86_mmxext )
+ cpu_flags_x86_mmxext? ( cpu_flags_x86_mmx )
+ cpu_flags_x86_3dnowext? ( cpu_flags_x86_3dnow )
+ cpu_flags_x86_3dnow? ( cpu_flags_x86_mmx )
+"
+
+CPU_FEATURES_MAP=(
+ ${ARM_CPU_FEATURES[@]}
+ ${X86_CPU_FEATURES[@]}
+)
+IUSE="${IUSE}
+ ${CPU_FEATURES_MAP[@]%:*}"
+
+CPU_REQUIRED_USE="
+ ${ARM_CPU_REQUIRED_USE}
+ ${X86_CPU_REQUIRED_USE}
+"
+
+RDEPEND="
+ >=media-libs/opus-1.0.2-r2
+ vaapi? ( >=media-libs/libva-1.2.1-r1:0= )
+ nvenc? ( >=media-libs/nv-codec-headers-11.1.5.3 )
+ vdpau? ( >=x11-libs/libvdpau-0.7 )
+ vulkan? ( >=media-libs/vulkan-loader-1.3.277:= )
+"
+
+DEPEND="${RDEPEND}
+ vulkan? ( >=dev-util/vulkan-headers-1.3.277 )
+"
+BDEPEND="
+ >=dev-build/make-3.81
+ virtual/pkgconfig
+ cpu_flags_x86_mmx? ( || ( >=dev-lang/nasm-2.13 >=dev-lang/yasm-1.3 ) )
+"
+
+REQUIRED_USE="
+ vulkan? ( threads )
+ ${CPU_REQUIRED_USE}"
+RESTRICT="
+ test
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-120.patch
+ "${FILESDIR}"/chromium.patch
+)
+
+src_prepare() {
+ export revision=git-N-g${COMMIT:0:10}
+ default
+
+ # -fdiagnostics-color=auto gets appended after user flags which
+ # will ignore user's preference.
+ sed -i -e '/check_cflags -fdiagnostics-color=auto/d' configure || die
+
+ echo 'include $(SRC_PATH)/ffbuild/libffmpeg.mak' >> Makefile || die
+}
+
+src_configure() {
+ local myconf=( )
+
+ # Bug #918997. Will probably be fixed upstream in the next release.
+ use vulkan && append-ldflags -Wl,-z,muldefs
+
+ local ffuse=( "${FFMPEG_FLAG_MAP[@]}" )
+
+ for i in "${ffuse[@]#+}" ; do
+ myconf+=( $(use_enable ${i%:*} ${i#*:}) )
+ done
+
+ # CPU features
+ for i in "${CPU_FEATURES_MAP[@]}" ; do
+ use ${i%:*} || myconf+=( --disable-${i#*:} )
+ done
+
+ # Try to get cpu type based on CFLAGS.
+ # Bug #172723
+ # We need to do this so that features of that CPU will be better used
+ # If they contain an unknown CPU it will not hurt since ffmpeg's configure
+ # will just ignore it.
+ for i in $(get-flag mcpu) $(get-flag march) ; do
+ [[ ${i} = native ]] && i="host" # bug #273421
+ myconf+=( --cpu=${i} )
+ break
+ done
+
+ # LTO support, bug #566282, bug #754654, bug #772854
+ if [[ ${ABI} != x86 ]] && tc-is-lto; then
+ # Respect -flto value, e.g -flto=thin
+ local v="$(get-flag flto)"
+ [[ -n ${v} ]] && myconf+=( "--enable-lto=${v}" ) || myconf+=( "--enable-lto" )
+ fi
+ filter-lto
+
+ # Mandatory configuration
+ myconf=(
+ --disable-stripping
+ # This is only for hardcoded cflags; those are used in configure checks that may
+ # interfere with proper detections, bug #671746 and bug #645778
+ # We use optflags, so that overrides them anyway.
+ --disable-optimizations
+ --disable-libcelt # bug #664158
+ "${myconf[@]}"
+ )
+
+ # cross compile support
+ if tc-is-cross-compiler ; then
+ myconf+=( --enable-cross-compile --arch=$(tc-arch-kernel) --cross-prefix=${CHOST}- --host-cc="$(tc-getBUILD_CC)" )
+ case ${CHOST} in
+ *mingw32*)
+ myconf+=( --target-os=mingw32 )
+ ;;
+ *linux*)
+ myconf+=( --target-os=linux )
+ ;;
+ esac
+ fi
+
+ # Use --extra-libs if needed for LIBS
+ set -- "${S}/configure" \
+ --prefix="${EPREFIX}/usr" \
+ --libdir="${EPREFIX}/usr/$(get_libdir)" \
+ --shlibdir="${EPREFIX}/usr/$(get_libdir)" \
+ --cc="$(tc-getCC)" \
+ --cxx="$(tc-getCXX)" \
+ --ar="$(tc-getAR)" \
+ --nm="$(tc-getNM)" \
+ --strip="$(tc-getSTRIP)" \
+ --ranlib="$(tc-getRANLIB)" \
+ --pkg-config="$(tc-getPKG_CONFIG)" \
+ --optflags="${CFLAGS}" \
+ --disable-all \
+ --disable-autodetect \
+ --disable-error-resilience \
+ --disable-everything \
+ --disable-faan \
+ --disable-iconv \
+ --disable-network \
+ --enable-avcodec \
+ --enable-avformat \
+ --enable-avutil \
+ --enable-libopus \
+ --enable-decoder=aac,flac,h264,libopus,mp3,pcm_alaw,pcm_f32le,pcm_mulaw,pcm_s16be,pcm_s16le,pcm_s24be,pcm_s24le,pcm_s32le,pcm_u8,theora,vorbis,vp8 \
+ --enable-demuxer=aac,flac,matroska,mov,mp3,ogg,wav \
+ --enable-parser=aac,flac,h264,mpegaudio,opus,vorbis,vp3,vp8,vp9 \
+ --enable-pic \
+ --enable-static \
+ "${myconf[@]}" \
+ ${EXTRA_FFMPEG_CONF}
+
+ echo "${@}"
+ "${@}" || die
+}
+
+src_compile() {
+ emake V=1 libffmpeg
+}
+
+src_install() {
+ emake V=1 DESTDIR="${D}" install-libffmpeg
+}
diff --git a/media-video/ffmpeg/Manifest b/media-video/ffmpeg/Manifest
index 745b007c9410..2c622807c410 100644
--- a/media-video/ffmpeg/Manifest
+++ b/media-video/ffmpeg/Manifest
@@ -1,12 +1,18 @@
DIST ffmpeg-4.4.4-texinfo.patch.xz 19136 BLAKE2B 591b46180fccdb58c5b6b102c5e12075ff4388dc6bc0ab1752531d4f9f2802c1fd09ed1353ed70a539fdc5c2298f9cfc84ec24e3a04d371ef0d9f3f30d8e8f38 SHA512 f86a324efe261801a5192d4f204f48de581466550cca49b54432fdf5430f1b3bc9a9d31b9b52e2f23481def67ad55b5ad315752c482709aa67b1f3a3e6c17a4f
DIST ffmpeg-4.4.4.tar.xz 9565584 BLAKE2B 8cd76a91ae6e485e56c6e5ae7b31d678e2fc2d634b1c56240619a4b6924dae4ec7adb445932bf4455f409dbc03fdc6d52b4fc270da55393e329ccd3d129f5770 SHA512 253799eccd129dad331db85def5352178ae22303e42af47fc013a6adfd4b60d1e59ff5f9ac6118fe3b403affa56ea1f3ba658042f526a914fba27050c3065daf
DIST ffmpeg-4.4.4.tar.xz.asc 520 BLAKE2B c8bf944883e375555b6dd69029fe863c23f68a3584d84aa3e9c4278ae45aee0bfa3697cc1d8a768b95a1ebd7a9cb91553671072f88f46f6a9c947faa74344a44 SHA512 47afa042d8b529d0bfce391455a25cda261f39f8510601d7de2aba6398483ecb623992626e8489aa2a636e3cb93008f26b32080e526143254226d4e2651accea
+DIST ffmpeg-4.4.5.tar.xz 9575596 BLAKE2B 546df09f7731d22e532a18d9ba9be184283f62b7a2e9470e745e536802bc2263a00f11ed6ab0aee8fc60c5f728826311cbf3542084ba3a64b65a61d76295cd64 SHA512 70df4e63ef507a7ec76da34438142499139769728fd5130d9cf48d56c110ec82c3d6a7e6d1622da03c70167fa861d901d016bbe52c21d2b284b8a0d9f30811dc
+DIST ffmpeg-4.4.5.tar.xz.asc 520 BLAKE2B 505987208ed58b548f910299adb1324e6eba655cc37e6f03cac32c8623e16a4a884e822c745fb72b1934129a8c0a2706bb8bfb785715e6a68e43f737cb8ed365 SHA512 bcfee8986681dfbefd3add741fcbbc5e223bb06c9800797e68fde968c114055ac3fc02ce8731ed269bf30c92d6c990c7f636f82d42379920012e8a0ace8d527e
DIST ffmpeg-6.0.1.tar.xz 10240172 BLAKE2B 1e21862f1f4eac04b8e9ef5597853d9e105bac4e858960c07e244ec3dbcea8f9e9fbdec4ff20b64227afad5ea5d0b05eff79a905f8002314ab4e9c37116c1908 SHA512 8a86b2db4a9abb68bb86d770ba1babb76c8b8313cfb0258ae70c88e736a93b99c342a6ecda94b739e8e7c103bed75d4afd756dd94e08c6255f424ef62c264741
DIST ffmpeg-6.0.1.tar.xz.asc 520 BLAKE2B dc7222c7c55e9af28c54dcfae4fce33fb44aa2a7e9d2ca4af85a961568b67f63116a6597234cd7ce009669b8ecf6576defd9380c389356435ffc3026b1126f03 SHA512 314f9ef996b85bc93c9fb823d582697c7415ac35f56bfc9cd906893491c8076df90bd852cf6e5e757b1fa94bd415ed108488c1220add49eb1f4854fc253c178c
DIST ffmpeg-6.1.1.tar.xz 10458600 BLAKE2B 77827ff92b47c773ed82e7b7793dbb135c370fe23501169cb1eab08ff5ede77cfd5b397e8fb1d38756812cc82277898fd5c74b7d8495842556570c0c5570daeb SHA512 fca3f8635f29182e3ae0fe843a8a53614e4b47e22c11508df3ff7cdbafbb4b5ee0d82d9b3332871f7c1032033b1cad2f67557d7c5f7f7d85e2adadca122965d5
DIST ffmpeg-6.1.1.tar.xz.asc 520 BLAKE2B 801cd976d10363d1f9fc302351b330cb57e609a266407627ef378172f28974f4a18435b8a77b9cc7a8ff7b75701185211739f685629bbda961c3588c15af1221 SHA512 0e10c1f560bab0812d759d286656593dea5940f02bb52d88d9ba7f10b12b9cc3d7aa2a41c5f7a45b319069e04dce22dc1286b3c1ba685b35cd6d04cd81c5a0f5
+DIST ffmpeg-6.1.2.tar.xz 10466152 BLAKE2B ff1f2b2bb60ccc4c37b6ffda2a0e6a0be80c451dc99f6d4a99bd95a1bdc44c494d62377c53383ccfb5b818573a1971948d7db34119099dbc56d7258724831d3c SHA512 3a009184d971fc3168e1322d1d724aae787ed0e9c152d8d1813ea0b9099bda3b35c41fcabbd7b140560e7a8fa9fa1ffd7f0938432d5d498c43829fc6cc3d9e08
+DIST ffmpeg-6.1.2.tar.xz.asc 520 BLAKE2B f26a2d6f5423f93090f2a448172e49f3858aeb5a00f326207d374bbb70fa8942c7ee1a7c55338b2db664b647c983cd5ab4fd8d71efe5c37af4c90385ca17d0ab SHA512 a26dba1f4870b964080b45f8468f5ce3591eb6aa69be426bf4afbe5a60c3cbd0fe5056dc86ca7bb817c04ae30d39160cb7773772a9a2123ae7f095b18a6d7050
DIST ffmpeg-7.0.1.tar.xz 10793572 BLAKE2B 7468bb0768da56794c57b43db5fb8a1c5471f86dc7789ba342e494907b2f05fd0edbaa93159b05927a749d878c431ad8ac56cafc2434b54c5190b91ca6a6116a SHA512 94e06c4ce64ed3888620547db0e33b29c68a9e78b3ea748346f34280f69723a6d4b7485911f45f1849f9aa3036c0699334abbcf7126d2763bdaa7276673b7daa
DIST ffmpeg-7.0.1.tar.xz.asc 520 BLAKE2B 3fe3bdd8da390591849ac3784bf8e68e021124715de1a8d142a42096d625df9d9a27b224258f2f0c24b20397bfea7a8035ced4202904ca12fe0eef109516dbf1 SHA512 bd787bfa6dbb147800f5f79a3fe5e4c20054d48ea9e6af4d5c84ace68c19459f4ea677f5921b084eab889ed7b9f81dc138fa2ecf9ae306ac7fb19434a68aeced
+DIST ffmpeg-7.0.2.tar.xz 10795332 BLAKE2B f6536f41f784f1b49ed0728d80a522676dfe1facbeb7fec3f7796683ce28c73e41508f9a5dd1e5cd18d3ff787d562bb1e6a5085ee0660076b84a76040587e5a8 SHA512 2fc66e919db53f6b12f845c0f9b92f3d8a7ec1db1ff533d29e679a6524f32567babf2d0791da039dcf2918c4d4cbb3f99c2898d3795345f03112238af8edcbd9
+DIST ffmpeg-7.0.2.tar.xz.asc 520 BLAKE2B edaadb45588938a524b64d82f96d224c2060648c10649adeba4a3546863eea45b674ebca80e7839e92138ae0b375afd22e0b4552d4d5a68dbb021e706f965b6d SHA512 b41eeb8044754bfcf2cf67a3ed4a4e74194ee6e5f4ed5f03aa03bb68772f6bacd7a1839d8e9740573889230a71d3bc7d52b4625542f4c892e8de8c61deda2c51
DIST ffmpeg-rpi-6.1-r3.patch 800738 BLAKE2B b7e449ee5eec8b50a3b3bba233c5269f3b6845dbd18a619b844c841a97345ce24c7a5d7f4da05b08e3cb49668426b9044f3d3553d9c2ef3a50aec7199bfa3c09 SHA512 aeaf12afabf5f2192fb0b6ef47397d8477b109e49cee8c02a890d1656a27b1985c62c719ef72966d8c97b0709918233b65ea2e0ef988771507e4be137fcd9158
DIST ffmpeg-rpi-6.1-r3.patch.asc 833 BLAKE2B 31fd5823c06d5884f7b0980de9072c35bbf4e1d6c0ed20b089439325d50956127238ca29469b003dba623b888a5aae3c4d8ad177862534e77b8e51f29cbed96c SHA512 3d8943b7151e20f73e9c14b121c501847bd7e01f2cf57ff135fc8c223653ec9d433bfe4012fa564f70c0471980b66d7ec3d9b5b1b14865187187719ba110cb5f
DIST ffmpeg-rpi-7.0.patch 807653 BLAKE2B 2d7d4fb55313c0ea227bf714af08fe17c118969aef972cf85bd8bf33643da08b2a224b2ea7c369a58e62fb758c0e8747c6cc6694672b889016fdb16b3d33f530 SHA512 cf65f68f6b0fa351d273c1b4fd74fca63a40cbd802bcd14124018784164fd1c6a09de3d9b0e0631eaf4c8b4fbcb846cc47a7831ad70eb0cfac6d21a51bd09941
diff --git a/media-video/ffmpeg/ffmpeg-4.4.4-r10.ebuild b/media-video/ffmpeg/ffmpeg-4.4.4-r11.ebuild
index e54372178894..875c7a9c72f7 100644
--- a/media-video/ffmpeg/ffmpeg-4.4.4-r10.ebuild
+++ b/media-video/ffmpeg/ffmpeg-4.4.4-r11.ebuild
@@ -65,7 +65,7 @@ LICENSE="
samba? ( GPL-3 )
"
if [ "${PV#9999}" = "${PV}" ] ; then
- KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
+ KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
fi
# Options to use as use_enable in the foo[:bar] form.
@@ -185,7 +185,7 @@ IUSE="${IUSE} ${FFTOOLS[@]/#/+fftools_}"
RDEPEND="
alsa? ( >=media-libs/alsa-lib-1.0.27.2[${MULTILIB_USEDEP}] )
- amf? ( media-video/amdgpu-pro-amf:= )
+ amf? ( media-video/amdgpu-pro-amf )
amr? ( >=media-libs/opencore-amr-0.1.3-r1[${MULTILIB_USEDEP}] )
bluray? ( >=media-libs/libbluray-0.3.0-r1:=[${MULTILIB_USEDEP}] )
bs2b? ( >=media-libs/libbs2b-3.1.0-r1[${MULTILIB_USEDEP}] )
@@ -404,15 +404,6 @@ src_prepare() {
multilib_src_configure() {
local myconf=( )
- # bug 842201
- use ia64 && tc-is-gcc && append-flags \
- -fno-tree-ccp \
- -fno-tree-dominator-opts \
- -fno-tree-fre \
- -fno-code-hoisting \
- -fno-tree-pre \
- -fno-tree-vrp
-
local ffuse=( "${FFMPEG_FLAG_MAP[@]}" )
use openssl && myconf+=( --enable-nonfree )
use samba && myconf+=( --enable-version3 )
@@ -617,6 +608,4 @@ multilib_src_install() {
multilib_src_install_all() {
dodoc Changelog README.md CREDITS doc/*.txt doc/APIchanges
[ -f "RELEASE_NOTES" ] && dodoc "RELEASE_NOTES"
-
- use amf && newenvd "${FILESDIR}"/amf-env-vulkan-override 99amf-env-vulkan-override
}
diff --git a/media-video/ffmpeg/ffmpeg-4.4.4-r9.ebuild b/media-video/ffmpeg/ffmpeg-4.4.4-r9.ebuild
index 7eb94f61dbb6..9d18868440b4 100644
--- a/media-video/ffmpeg/ffmpeg-4.4.4-r9.ebuild
+++ b/media-video/ffmpeg/ffmpeg-4.4.4-r9.ebuild
@@ -65,7 +65,7 @@ LICENSE="
samba? ( GPL-3 )
"
if [ "${PV#9999}" = "${PV}" ] ; then
- KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
+ KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
fi
# Options to use as use_enable in the foo[:bar] form.
@@ -185,7 +185,7 @@ IUSE="${IUSE} ${FFTOOLS[@]/#/+fftools_}"
RDEPEND="
alsa? ( >=media-libs/alsa-lib-1.0.27.2[${MULTILIB_USEDEP}] )
- amf? ( media-video/amdgpu-pro-amf:= )
+ amf? ( media-video/amdgpu-pro-amf )
amr? ( >=media-libs/opencore-amr-0.1.3-r1[${MULTILIB_USEDEP}] )
bluray? ( >=media-libs/libbluray-0.3.0-r1:=[${MULTILIB_USEDEP}] )
bs2b? ( >=media-libs/libbs2b-3.1.0-r1[${MULTILIB_USEDEP}] )
@@ -403,15 +403,6 @@ src_prepare() {
multilib_src_configure() {
local myconf=( )
- # bug 842201
- use ia64 && tc-is-gcc && append-flags \
- -fno-tree-ccp \
- -fno-tree-dominator-opts \
- -fno-tree-fre \
- -fno-code-hoisting \
- -fno-tree-pre \
- -fno-tree-vrp
-
local ffuse=( "${FFMPEG_FLAG_MAP[@]}" )
use openssl && myconf+=( --enable-nonfree )
use samba && myconf+=( --enable-version3 )
diff --git a/media-video/ffmpeg/ffmpeg-4.4.5-r1.ebuild b/media-video/ffmpeg/ffmpeg-4.4.5-r1.ebuild
new file mode 100644
index 000000000000..1786ce09a903
--- /dev/null
+++ b/media-video/ffmpeg/ffmpeg-4.4.5-r1.ebuild
@@ -0,0 +1,607 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Subslot: libavutil major.libavcodec major.libavformat major
+# Since FFmpeg ships several libraries, subslot is kind of limited here.
+# Most consumers will use those three libraries, if a "less used" library
+# changes its soname, consumers will have to be rebuilt the old way
+# (preserve-libs).
+# If, for example, a package does not link to libavformat and only libavformat
+# changes its ABI then this package will be rebuilt needlessly. Hence, such a
+# package is free _not_ to := depend on FFmpeg but I would strongly encourage
+# doing so since such a case is unlikely.
+FFMPEG_SUBSLOT=56.58.58
+
+SCM=""
+if [ "${PV#9999}" != "${PV}" ] ; then
+ SCM="git-r3"
+ EGIT_MIN_CLONE_TYPE="single"
+ EGIT_REPO_URI="https://git.ffmpeg.org/ffmpeg.git"
+fi
+
+inherit flag-o-matic multilib multilib-minimal toolchain-funcs ${SCM}
+
+DESCRIPTION="Complete solution to record/convert/stream audio and video. Includes libavcodec"
+HOMEPAGE="https://ffmpeg.org/"
+if [ "${PV#9999}" != "${PV}" ] ; then
+ SRC_URI=""
+elif [ "${PV%_p*}" != "${PV}" ] ; then # Snapshot
+ SRC_URI="mirror://gentoo/${P}.tar.xz"
+else # Release
+ VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/ffmpeg.asc
+ inherit verify-sig
+ SRC_URI="https://ffmpeg.org/releases/${P/_/-}.tar.xz"
+ SRC_URI+=" verify-sig? ( https://ffmpeg.org/releases/${P/_/-}.tar.xz.asc )"
+
+ BDEPEND=" verify-sig? ( sec-keys/openpgp-keys-ffmpeg )"
+fi
+FFMPEG_REVISION="${PV#*_p}"
+
+SLOT="0/${FFMPEG_SUBSLOT}"
+LICENSE="
+ !gpl? ( LGPL-2.1 )
+ gpl? ( GPL-2 )
+ amr? (
+ gpl? ( GPL-3 )
+ !gpl? ( LGPL-3 )
+ )
+ gmp? (
+ gpl? ( GPL-3 )
+ !gpl? ( LGPL-3 )
+ )
+ libaribb24? (
+ gpl? ( GPL-3 )
+ !gpl? ( LGPL-3 )
+ )
+ encode? (
+ amrenc? (
+ gpl? ( GPL-3 )
+ !gpl? ( LGPL-3 )
+ )
+ )
+ samba? ( GPL-3 )
+"
+if [ "${PV#9999}" = "${PV}" ] ; then
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
+fi
+
+# Options to use as use_enable in the foo[:bar] form.
+# This will feed configure with $(use_enable foo bar)
+# or $(use_enable foo foo) if no :bar is set.
+# foo is added to IUSE.
+FFMPEG_FLAG_MAP=(
+ +bzip2:bzlib cpudetection:runtime-cpudetect debug gcrypt +gnutls gmp
+ +gpl hardcoded-tables +iconv libxml2 lzma +network opencl
+ openssl +postproc samba:libsmbclient sdl:ffplay sdl:sdl2 vaapi vdpau vulkan
+ X:xlib X:libxcb X:libxcb-shm X:libxcb-xfixes +zlib
+ # libavdevice options
+ cdio:libcdio iec61883:libiec61883 ieee1394:libdc1394 libcaca openal
+ opengl
+ # indevs
+ libv4l:libv4l2 pulseaudio:libpulse libdrm jack:libjack
+ # decoders
+ amr:libopencore-amrwb amr:libopencore-amrnb codec2:libcodec2 +dav1d:libdav1d fdk:libfdk-aac
+ jpeg2k:libopenjpeg bluray:libbluray gme:libgme gsm:libgsm
+ libaribb24 mmal modplug:libmodplug opus:libopus qsv:libmfx libilbc librtmp ssh:libssh
+ speex:libspeex srt:libsrt svg:librsvg nvenc:ffnvcodec
+ vorbis:libvorbis vpx:libvpx zvbi:libzvbi
+ # libavfilter options
+ appkit
+ bs2b:libbs2b chromaprint cuda:cuda-llvm flite:libflite frei0r fribidi:libfribidi
+ fontconfig glslang:libglslang ladspa libass libtesseract lv2 truetype:libfreetype
+ vidstab:libvidstab vmaf:libvmaf rubberband:librubberband zeromq:libzmq zimg:libzimg
+ # libswresample options
+ libsoxr
+ # Threads; we only support pthread for now but ffmpeg supports more
+ +threads:pthreads
+)
+
+# Same as above but for encoders, i.e. they do something only with USE=encode.
+FFMPEG_ENCODER_FLAG_MAP=(
+ amf amrenc:libvo-amrwbenc kvazaar:libkvazaar libaom mp3:libmp3lame
+ openh264:libopenh264 rav1e:librav1e snappy:libsnappy svt-av1:libsvtav1
+ theora:libtheora twolame:libtwolame webp:libwebp x264:libx264
+ x265:libx265 xvid:libxvid
+)
+
+IUSE="
+ alsa chromium doc +encode oss +pic sndio static-libs test v4l
+ ${FFMPEG_FLAG_MAP[@]%:*}
+ ${FFMPEG_ENCODER_FLAG_MAP[@]%:*}
+"
+
+# Strings for CPU features in the useflag[:configure_option] form
+# if :configure_option isn't set, it will use 'useflag' as configure option
+ARM_CPU_FEATURES=(
+ cpu_flags_arm_thumb:armv5te
+ cpu_flags_arm_v6:armv6
+ cpu_flags_arm_thumb2:armv6t2
+ cpu_flags_arm_neon:neon
+ cpu_flags_arm_vfp:vfp
+ cpu_flags_arm_vfpv3:vfpv3
+ cpu_flags_arm_v8:armv8
+)
+ARM_CPU_REQUIRED_USE="
+ arm64? ( cpu_flags_arm_v8 )
+ cpu_flags_arm_v8? ( cpu_flags_arm_vfpv3 cpu_flags_arm_neon )
+ cpu_flags_arm_neon? (
+ cpu_flags_arm_vfp
+ arm? ( cpu_flags_arm_thumb2 )
+ )
+ cpu_flags_arm_vfpv3? ( cpu_flags_arm_vfp )
+ cpu_flags_arm_thumb2? ( cpu_flags_arm_v6 )
+ cpu_flags_arm_v6? (
+ arm? ( cpu_flags_arm_thumb )
+ )
+"
+MIPS_CPU_FEATURES=( mipsdspr1:mipsdsp mipsdspr2 mipsfpu )
+PPC_CPU_FEATURES=( cpu_flags_ppc_altivec:altivec cpu_flags_ppc_vsx:vsx cpu_flags_ppc_vsx2:power8 )
+PPC_CPU_REQUIRED_USE="
+ cpu_flags_ppc_vsx? ( cpu_flags_ppc_altivec )
+ cpu_flags_ppc_vsx2? ( cpu_flags_ppc_vsx )
+"
+X86_CPU_FEATURES_RAW=( 3dnow:amd3dnow 3dnowext:amd3dnowext aes:aesni avx:avx avx2:avx2 fma3:fma3 fma4:fma4 mmx:mmx
+ mmxext:mmxext sse:sse sse2:sse2 sse3:sse3 ssse3:ssse3 sse4_1:sse4 sse4_2:sse42 xop:xop )
+X86_CPU_FEATURES=( ${X86_CPU_FEATURES_RAW[@]/#/cpu_flags_x86_} )
+X86_CPU_REQUIRED_USE="
+ cpu_flags_x86_avx2? ( cpu_flags_x86_avx )
+ cpu_flags_x86_fma4? ( cpu_flags_x86_avx )
+ cpu_flags_x86_fma3? ( cpu_flags_x86_avx )
+ cpu_flags_x86_xop? ( cpu_flags_x86_avx )
+ cpu_flags_x86_avx? ( cpu_flags_x86_sse4_2 )
+ cpu_flags_x86_aes? ( cpu_flags_x86_sse4_2 )
+ cpu_flags_x86_sse4_2? ( cpu_flags_x86_sse4_1 )
+ cpu_flags_x86_sse4_1? ( cpu_flags_x86_ssse3 )
+ cpu_flags_x86_ssse3? ( cpu_flags_x86_sse3 )
+ cpu_flags_x86_sse3? ( cpu_flags_x86_sse2 )
+ cpu_flags_x86_sse2? ( cpu_flags_x86_sse )
+ cpu_flags_x86_sse? ( cpu_flags_x86_mmxext )
+ cpu_flags_x86_mmxext? ( cpu_flags_x86_mmx )
+ cpu_flags_x86_3dnowext? ( cpu_flags_x86_3dnow )
+ cpu_flags_x86_3dnow? ( cpu_flags_x86_mmx )
+"
+
+CPU_FEATURES_MAP=(
+ ${ARM_CPU_FEATURES[@]}
+ ${MIPS_CPU_FEATURES[@]}
+ ${PPC_CPU_FEATURES[@]}
+ ${X86_CPU_FEATURES[@]}
+)
+IUSE="${IUSE}
+ ${CPU_FEATURES_MAP[@]%:*}"
+
+CPU_REQUIRED_USE="
+ ${ARM_CPU_REQUIRED_USE}
+ ${PPC_CPU_REQUIRED_USE}
+ ${X86_CPU_REQUIRED_USE}
+"
+
+FFTOOLS=( aviocat cws2fws ffescape ffeval ffhash fourcc2pixfmt
+ graph2dot ismindex pktdumper qt-faststart sidxindex trasher )
+IUSE="${IUSE} ${FFTOOLS[@]/#/+fftools_}"
+
+RDEPEND="
+ alsa? ( >=media-libs/alsa-lib-1.0.27.2[${MULTILIB_USEDEP}] )
+ amf? ( media-video/amdgpu-pro-amf )
+ amr? ( >=media-libs/opencore-amr-0.1.3-r1[${MULTILIB_USEDEP}] )
+ bluray? ( >=media-libs/libbluray-0.3.0-r1:=[${MULTILIB_USEDEP}] )
+ bs2b? ( >=media-libs/libbs2b-3.1.0-r1[${MULTILIB_USEDEP}] )
+ bzip2? ( >=app-arch/bzip2-1.0.6-r4[${MULTILIB_USEDEP}] )
+ cdio? ( >=dev-libs/libcdio-paranoia-0.90_p1-r1[${MULTILIB_USEDEP}] )
+ chromaprint? ( >=media-libs/chromaprint-1.2-r1[${MULTILIB_USEDEP}] )
+ codec2? ( media-libs/codec2[${MULTILIB_USEDEP}] )
+ dav1d? ( >=media-libs/dav1d-0.4.0:0=[${MULTILIB_USEDEP}] )
+ encode? (
+ amrenc? ( >=media-libs/vo-amrwbenc-0.1.2-r1[${MULTILIB_USEDEP}] )
+ kvazaar? ( >=media-libs/kvazaar-1.2.0[${MULTILIB_USEDEP}] )
+ mp3? ( >=media-sound/lame-3.99.5-r1[${MULTILIB_USEDEP}] )
+ openh264? ( >=media-libs/openh264-1.4.0-r1:=[${MULTILIB_USEDEP}] )
+ rav1e? ( >=media-video/rav1e-0.4:=[capi] )
+ snappy? ( >=app-arch/snappy-1.1.2-r1:=[${MULTILIB_USEDEP}] )
+ theora? (
+ >=media-libs/libogg-1.3.0[${MULTILIB_USEDEP}]
+ >=media-libs/libtheora-1.1.1[encode,${MULTILIB_USEDEP}]
+ )
+ twolame? ( >=media-sound/twolame-0.3.13-r1[${MULTILIB_USEDEP}] )
+ webp? ( >=media-libs/libwebp-0.3.0:=[${MULTILIB_USEDEP}] )
+ x264? ( >=media-libs/x264-0.0.20130506:=[${MULTILIB_USEDEP}] )
+ x265? ( >=media-libs/x265-1.6:=[${MULTILIB_USEDEP}] )
+ xvid? ( >=media-libs/xvid-1.3.2-r1[${MULTILIB_USEDEP}] )
+ )
+ fdk? ( >=media-libs/fdk-aac-0.1.3:=[${MULTILIB_USEDEP}] )
+ flite? ( >=app-accessibility/flite-1.4-r4[${MULTILIB_USEDEP}] )
+ fontconfig? ( >=media-libs/fontconfig-2.10.92[${MULTILIB_USEDEP}] )
+ frei0r? ( media-plugins/frei0r-plugins[${MULTILIB_USEDEP}] )
+ fribidi? ( >=dev-libs/fribidi-0.19.6[${MULTILIB_USEDEP}] )
+ gcrypt? ( >=dev-libs/libgcrypt-1.6:0=[${MULTILIB_USEDEP}] )
+ glslang? ( dev-util/glslang:=[${MULTILIB_USEDEP}] )
+ gme? ( >=media-libs/game-music-emu-0.6.0[${MULTILIB_USEDEP}] )
+ gmp? ( >=dev-libs/gmp-6:0=[${MULTILIB_USEDEP}] )
+ gsm? ( >=media-sound/gsm-1.0.13-r1[${MULTILIB_USEDEP}] )
+ iconv? ( >=virtual/libiconv-0-r1[${MULTILIB_USEDEP}] )
+ iec61883? (
+ >=media-libs/libiec61883-1.2.0-r1[${MULTILIB_USEDEP}]
+ >=sys-libs/libraw1394-2.1.0-r1[${MULTILIB_USEDEP}]
+ >=sys-libs/libavc1394-0.5.4-r1[${MULTILIB_USEDEP}]
+ )
+ ieee1394? (
+ >=media-libs/libdc1394-2.2.1:2=[${MULTILIB_USEDEP}]
+ >=sys-libs/libraw1394-2.1.0-r1[${MULTILIB_USEDEP}]
+ )
+ jack? ( virtual/jack[${MULTILIB_USEDEP}] )
+ jpeg2k? ( >=media-libs/openjpeg-2:2[${MULTILIB_USEDEP}] )
+ libaom? ( >=media-libs/libaom-1.0.0-r1:=[${MULTILIB_USEDEP}] )
+ libaribb24? ( >=media-libs/aribb24-1.0.3-r2[${MULTILIB_USEDEP}] )
+ libass? ( >=media-libs/libass-0.10.2:=[${MULTILIB_USEDEP}] )
+ libcaca? ( >=media-libs/libcaca-0.99_beta18-r1[${MULTILIB_USEDEP}] )
+ libdrm? ( x11-libs/libdrm[${MULTILIB_USEDEP}] )
+ libilbc? ( >=media-libs/libilbc-2[${MULTILIB_USEDEP}] )
+ librtmp? ( >=media-video/rtmpdump-2.4_p20131018[${MULTILIB_USEDEP}] )
+ libsoxr? ( >=media-libs/soxr-0.1.0[${MULTILIB_USEDEP}] )
+ libtesseract? ( >=app-text/tesseract-4.1.0-r1[${MULTILIB_USEDEP}] )
+ libv4l? ( >=media-libs/libv4l-0.9.5[${MULTILIB_USEDEP}] )
+ libxml2? ( dev-libs/libxml2:=[${MULTILIB_USEDEP}] )
+ lv2? ( media-libs/lv2[${MULTILIB_USEDEP}] media-libs/lilv[${MULTILIB_USEDEP}] )
+ lzma? ( >=app-arch/xz-utils-5.0.5-r1[${MULTILIB_USEDEP}] )
+ mmal? ( media-libs/raspberrypi-userland )
+ modplug? ( >=media-libs/libmodplug-0.8.8.4-r1[${MULTILIB_USEDEP}] )
+ openal? ( >=media-libs/openal-1.15.1[${MULTILIB_USEDEP}] )
+ opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
+ opengl? ( >=virtual/opengl-7.0-r1[${MULTILIB_USEDEP}] )
+ opus? ( >=media-libs/opus-1.0.2-r2[${MULTILIB_USEDEP}] )
+ pulseaudio? ( >=media-sound/pulseaudio-2.1-r1[${MULTILIB_USEDEP}] )
+ qsv? ( media-libs/intel-mediasdk[${MULTILIB_USEDEP}] )
+ rubberband? ( >=media-libs/rubberband-1.8.1-r1[${MULTILIB_USEDEP}] )
+ samba? ( >=net-fs/samba-3.6.23-r1[client,${MULTILIB_USEDEP}] )
+ sdl? ( media-libs/libsdl2[sound,video,${MULTILIB_USEDEP}] )
+ sndio? ( media-sound/sndio:=[${MULTILIB_USEDEP}] )
+ speex? ( >=media-libs/speex-1.2_rc1-r1[${MULTILIB_USEDEP}] )
+ srt? ( >=net-libs/srt-1.3.0:=[${MULTILIB_USEDEP}] )
+ ssh? ( >=net-libs/libssh-0.5.5:=[sftp,${MULTILIB_USEDEP}] )
+ svg? (
+ gnome-base/librsvg:2=[${MULTILIB_USEDEP}]
+ x11-libs/cairo[${MULTILIB_USEDEP}]
+ )
+ nvenc? ( <media-libs/nv-codec-headers-12 )
+ svt-av1? ( >=media-libs/svt-av1-0.8.4[${MULTILIB_USEDEP}] )
+ truetype? ( >=media-libs/freetype-2.5.0.1:2[${MULTILIB_USEDEP}] )
+ vaapi? ( >=media-libs/libva-1.2.1-r1:0=[${MULTILIB_USEDEP}] )
+ vdpau? ( >=x11-libs/libvdpau-0.7[${MULTILIB_USEDEP}] )
+ vidstab? ( >=media-libs/vidstab-1.1.0[${MULTILIB_USEDEP}] )
+ vmaf? ( media-libs/libvmaf:=[${MULTILIB_USEDEP}] )
+ vorbis? (
+ >=media-libs/libvorbis-1.3.3-r1[${MULTILIB_USEDEP}]
+ >=media-libs/libogg-1.3.0[${MULTILIB_USEDEP}]
+ )
+ vpx? ( >=media-libs/libvpx-1.4.0:=[${MULTILIB_USEDEP}] )
+ vulkan? ( >=media-libs/vulkan-loader-1.1.97:=[${MULTILIB_USEDEP}] )
+ X? (
+ >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
+ >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}]
+ >=x11-libs/libXv-1.0.10[${MULTILIB_USEDEP}]
+ >=x11-libs/libxcb-1.4:=[${MULTILIB_USEDEP}]
+ )
+ zeromq? ( >=net-libs/zeromq-4.1.6 )
+ zimg? ( >=media-libs/zimg-2.7.4:=[${MULTILIB_USEDEP}] )
+ zlib? ( >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] )
+ zvbi? ( >=media-libs/zvbi-0.2.35[${MULTILIB_USEDEP}] )
+"
+
+RDEPEND="${RDEPEND}
+ openssl? ( >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}] )
+ !openssl? ( gnutls? ( >=net-libs/gnutls-2.12.23-r6:=[${MULTILIB_USEDEP}] ) )
+"
+
+DEPEND="${RDEPEND}
+ amf? ( media-libs/amf-headers:= )
+ ladspa? ( >=media-libs/ladspa-sdk-1.13-r2[${MULTILIB_USEDEP}] )
+ v4l? ( sys-kernel/linux-headers )
+"
+
+# += for verify-sig above
+BDEPEND+="
+ >=dev-build/make-3.81
+ virtual/pkgconfig
+ cpu_flags_x86_mmx? ( || ( >=dev-lang/nasm-2.13 >=dev-lang/yasm-1.3 ) )
+ cuda? ( >=sys-devel/clang-7[llvm_targets_NVPTX] )
+ doc? ( sys-apps/texinfo )
+ test? ( net-misc/wget app-alternatives/bc )
+"
+
+# Code requiring FFmpeg to be built under gpl license
+GPL_REQUIRED_USE="
+ postproc? ( gpl )
+ frei0r? ( gpl )
+ cdio? ( gpl )
+ rubberband? ( gpl )
+ vidstab? ( gpl )
+ samba? ( gpl )
+ encode? (
+ x264? ( gpl )
+ x265? ( gpl )
+ xvid? ( gpl )
+ )
+"
+REQUIRED_USE="
+ cuda? ( nvenc )
+ fftools_cws2fws? ( zlib )
+ glslang? ( vulkan )
+ libv4l? ( v4l )
+ test? ( encode )
+ ${GPL_REQUIRED_USE}
+ ${CPU_REQUIRED_USE}"
+RESTRICT="
+ !test? ( test )
+ gpl? ( openssl? ( bindist ) fdk? ( bindist ) )
+"
+
+S=${WORKDIR}/${P/_/-}
+
+PATCHES=(
+ "${FILESDIR}"/chromium-r1.patch
+ "${FILESDIR}"/${PN}-5.0-backport-ranlib-build-fix.patch
+ "${FILESDIR}"/${PN}-4.4.3-get_cabac_inline_x86-32-bit.patch
+ "${FILESDIR}"/${PN}-4.4.4-wint-conversion-vulkan.patch
+ "${FILESDIR}"/${PN}-4.4.4-opencl-parallel-gmake-fix.patch
+ "${FILESDIR}"/${PN}-4.4.4-glslang.patch
+ "${FILESDIR}"/${PN}-4.4.4-amd-av1-vaapi.patch
+ "${FILESDIR}"/${PN}-4.4.5-incmptbl-pntr-types.patch
+)
+
+MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/libavutil/avconfig.h
+)
+
+build_separate_libffmpeg() {
+ use opencl
+}
+
+pkg_setup() {
+ # ffmpeg[chromaprint] depends on chromaprint, and chromaprint[tools] depends on ffmpeg.
+ # May cause breakage while updating, #862996, #625210, #833821.
+ if has_version media-libs/chromaprint[tools] && use chromaprint; then
+ ewarn "You have media-libs/chromaprint installed with 'tools' USE flag, which "
+ ewarn "links to ffmpeg, and you have enabled 'chromaprint' USE flag for ffmpeg, "
+ ewarn "which links to chromaprint. This may cause issues while rebuilding ffmpeg."
+ ewarn ""
+ ewarn "If your build fails to 'ERROR: chromaprint not found', rebuild chromaprint "
+ ewarn "without the 'tools' use flag first, then rebuild ffmpeg, and then finally enable "
+ ewarn "'tools' USE flag for chromaprint. See #862996."
+ fi
+}
+
+src_unpack() {
+ if use verify-sig ; then
+ # Needed for downloaded patch (which is unsigned, which is fine)
+ verify-sig_verify_detached "${DISTDIR}"/${P/_/-}.tar.xz{,.asc}
+ fi
+
+ default
+}
+
+src_prepare() {
+ if [[ "${PV%_p*}" != "${PV}" ]] ; then # Snapshot
+ export revision=git-N-${FFMPEG_REVISION}
+ fi
+
+ eapply "${FILESDIR}/vmaf-models-default-path.patch"
+
+ default
+
+ # -fdiagnostics-color=auto gets appended after user flags which
+ # will ignore user's preference.
+ sed -i -e '/check_cflags -fdiagnostics-color=auto/d' configure || die
+
+ echo 'include $(SRC_PATH)/ffbuild/libffmpeg.mak' >> Makefile || die
+}
+
+multilib_src_configure() {
+ local myconf=( )
+
+ local ffuse=( "${FFMPEG_FLAG_MAP[@]}" )
+ use openssl && myconf+=( --enable-nonfree )
+ use samba && myconf+=( --enable-version3 )
+
+ # Encoders
+ if use encode ; then
+ ffuse+=( "${FFMPEG_ENCODER_FLAG_MAP[@]}" )
+
+ # Licensing.
+ if use amrenc ; then
+ myconf+=( --enable-version3 )
+ fi
+ else
+ myconf+=( --disable-encoders )
+ fi
+
+ # Indevs
+ use v4l || myconf+=( --disable-indev=v4l2 --disable-outdev=v4l2 )
+ for i in alsa oss jack sndio ; do
+ use ${i} || myconf+=( --disable-indev=${i} )
+ done
+
+ # Outdevs
+ for i in alsa oss sndio ; do
+ use ${i} || myconf+=( --disable-outdev=${i} )
+ done
+
+ # Decoders
+ use amr && myconf+=( --enable-version3 )
+ use gmp && myconf+=( --enable-version3 )
+ use libaribb24 && myconf+=( --enable-version3 )
+ use fdk && use gpl && myconf+=( --enable-nonfree )
+
+ for i in "${ffuse[@]#+}" ; do
+ myconf+=( $(use_enable ${i%:*} ${i#*:}) )
+ done
+
+ if use openssl ; then
+ myconf+=( --disable-gnutls )
+ fi
+
+ # (temporarily) disable non-multilib deps
+ if ! multilib_is_native_abi; then
+ for i in librav1e libzmq ; do
+ myconf+=( --disable-${i} )
+ done
+ fi
+
+ # CPU features
+ for i in "${CPU_FEATURES_MAP[@]}" ; do
+ use ${i%:*} || myconf+=( --disable-${i#*:} )
+ done
+
+ if use pic ; then
+ myconf+=( --enable-pic )
+ # disable asm code if PIC is required
+ # as the provided asm decidedly is not PIC for x86.
+ [[ ${ABI} == x86 ]] && myconf+=( --disable-asm )
+ fi
+ [[ ${ABI} == x32 ]] && myconf+=( --disable-asm ) #427004
+
+ # Try to get cpu type based on CFLAGS.
+ # Bug #172723
+ # We need to do this so that features of that CPU will be better used
+ # If they contain an unknown CPU it will not hurt since ffmpeg's configure
+ # will just ignore it.
+ for i in $(get-flag mcpu) $(get-flag march) ; do
+ [[ ${i} = native ]] && i="host" # bug #273421
+ myconf+=( --cpu=${i} )
+ break
+ done
+
+ # LTO support, bug #566282, bug #754654, bug #772854
+ [[ ${ABI} != x86 ]] && tc-is-lto && myconf+=( "--enable-lto" )
+ filter-lto
+
+ # Mandatory configuration
+ myconf=(
+ --enable-avfilter
+ --enable-avresample
+ --disable-stripping
+ # This is only for hardcoded cflags; those are used in configure checks that may
+ # interfere with proper detections, bug #671746 and bug #645778
+ # We use optflags, so that overrides them anyway.
+ --disable-optimizations
+ --disable-libcelt # bug #664158
+ "${myconf[@]}"
+ )
+
+ # cross compile support
+ if tc-is-cross-compiler ; then
+ myconf+=( --enable-cross-compile --arch=$(tc-arch-kernel) --cross-prefix=${CHOST}- --host-cc="$(tc-getBUILD_CC)" )
+ case ${CHOST} in
+ *mingw32*)
+ myconf+=( --target-os=mingw32 )
+ ;;
+ *linux*)
+ myconf+=( --target-os=linux )
+ ;;
+ esac
+ fi
+
+ # doc
+ myconf+=(
+ $(multilib_native_use_enable doc)
+ $(multilib_native_use_enable doc htmlpages)
+ $(multilib_native_enable manpages)
+ )
+
+ # Use --extra-libs if needed for LIBS
+ set -- "${S}/configure" \
+ --prefix="${EPREFIX}/usr" \
+ --libdir="${EPREFIX}/usr/$(get_libdir)" \
+ --shlibdir="${EPREFIX}/usr/$(get_libdir)" \
+ --docdir="${EPREFIX}/usr/share/doc/${PF}/html" \
+ --mandir="${EPREFIX}/usr/share/man" \
+ --enable-shared \
+ --cc="$(tc-getCC)" \
+ --cxx="$(tc-getCXX)" \
+ --ar="$(tc-getAR)" \
+ --nm="$(tc-getNM)" \
+ --strip="$(tc-getSTRIP)" \
+ --ranlib="$(tc-getRANLIB)" \
+ --pkg-config="$(tc-getPKG_CONFIG)" \
+ --optflags="${CFLAGS}" \
+ $(use_enable static-libs static) \
+ "${myconf[@]}" \
+ ${EXTRA_FFMPEG_CONF}
+ echo "${@}"
+ "${@}" || die
+
+ if multilib_is_native_abi && use chromium && build_separate_libffmpeg; then
+ einfo "Configuring for Chromium"
+ mkdir -p ../chromium || die
+ pushd ../chromium >/dev/null || die
+ set -- "${@}" \
+ --disable-shared \
+ --enable-static \
+ --enable-pic \
+ --disable-opencl
+ echo "${@}"
+ "${@}" || die
+ popd >/dev/null || die
+ fi
+}
+
+multilib_src_compile() {
+ emake V=1
+
+ if multilib_is_native_abi; then
+ for i in "${FFTOOLS[@]}" ; do
+ if use fftools_${i} ; then
+ emake V=1 tools/${i}$(get_exeext)
+ fi
+ done
+
+ if use chromium; then
+ if build_separate_libffmpeg; then
+ einfo "Compiling for Chromium"
+ pushd ../chromium >/dev/null || die
+ emake V=1 libffmpeg
+ popd >/dev/null || die
+ else
+ emake V=1 libffmpeg
+ fi
+ fi
+ fi
+}
+
+multilib_src_test() {
+ LD_LIBRARY_PATH="${BUILD_DIR}/libpostproc:${BUILD_DIR}/libswscale:${BUILD_DIR}/libswresample:${BUILD_DIR}/libavcodec:${BUILD_DIR}/libavdevice:${BUILD_DIR}/libavfilter:${BUILD_DIR}/libavformat:${BUILD_DIR}/libavutil:${BUILD_DIR}/libavresample" \
+ emake V=1 fate -k
+}
+
+multilib_src_install() {
+ emake V=1 DESTDIR="${D}" install install-doc
+
+ if multilib_is_native_abi; then
+ for i in "${FFTOOLS[@]}" ; do
+ if use fftools_${i} ; then
+ dobin tools/${i}$(get_exeext)
+ fi
+ done
+
+ if use chromium; then
+ if build_separate_libffmpeg; then
+ einfo "Installing for Chromium"
+ pushd ../chromium >/dev/null || die
+ emake V=1 DESTDIR="${D}" install-libffmpeg
+ popd >/dev/null || die
+ else
+ emake V=1 DESTDIR="${D}" install-libffmpeg
+
+ # When not built separately, libffmpeg has no code of
+ # its own so this QA check raises a false positive.
+ QA_FLAGS_IGNORED+=" usr/$(get_libdir)/chromium/.*"
+ fi
+ fi
+ fi
+}
+
+multilib_src_install_all() {
+ dodoc Changelog README.md CREDITS doc/*.txt doc/APIchanges
+ [ -f "RELEASE_NOTES" ] && dodoc "RELEASE_NOTES"
+}
diff --git a/media-video/ffmpeg/ffmpeg-6.0.1-r4.ebuild b/media-video/ffmpeg/ffmpeg-6.0.1-r4.ebuild
index 5609d999e0d2..d29404297015 100644
--- a/media-video/ffmpeg/ffmpeg-6.0.1-r4.ebuild
+++ b/media-video/ffmpeg/ffmpeg-6.0.1-r4.ebuild
@@ -64,7 +64,7 @@ LICENSE="
samba? ( GPL-3 )
"
if [ "${PV#9999}" = "${PV}" ] ; then
- KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
+ KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
fi
# Options to use as use_enable in the foo[:bar] form.
@@ -185,7 +185,7 @@ IUSE="${IUSE} ${FFTOOLS[@]/#/+fftools_}"
RDEPEND="
alsa? ( >=media-libs/alsa-lib-1.0.27.2[${MULTILIB_USEDEP}] )
- amf? ( media-video/amdgpu-pro-amf:= )
+ amf? ( media-video/amdgpu-pro-amf )
amr? ( >=media-libs/opencore-amr-0.1.3-r1[${MULTILIB_USEDEP}] )
bluray? ( >=media-libs/libbluray-0.3.0-r1:=[${MULTILIB_USEDEP}] )
bs2b? ( >=media-libs/libbs2b-3.1.0-r1[${MULTILIB_USEDEP}] )
@@ -390,15 +390,6 @@ src_prepare() {
multilib_src_configure() {
local myconf=( )
- # bug 842201
- use ia64 && tc-is-gcc && append-flags \
- -fno-tree-ccp \
- -fno-tree-dominator-opts \
- -fno-tree-fre \
- -fno-code-hoisting \
- -fno-tree-pre \
- -fno-tree-vrp
-
local ffuse=( "${FFMPEG_FLAG_MAP[@]}" )
use openssl && myconf+=( --enable-nonfree )
use samba && myconf+=( --enable-version3 )
@@ -603,6 +594,4 @@ multilib_src_install() {
multilib_src_install_all() {
dodoc Changelog README.md CREDITS doc/*.txt doc/APIchanges
[ -f "RELEASE_NOTES" ] && dodoc "RELEASE_NOTES"
-
- use amf && elog "To use AMF, prefix the ffmpeg call with the 'vk_pro' wrapper script, e.g. `vk_pro ffmpeg -vcodec h264_amf [...]`"
}
diff --git a/media-video/ffmpeg/ffmpeg-6.1.1-r5.ebuild b/media-video/ffmpeg/ffmpeg-6.1.1-r5.ebuild
index 29d671d9c23a..8ca3ffa196ed 100644
--- a/media-video/ffmpeg/ffmpeg-6.1.1-r5.ebuild
+++ b/media-video/ffmpeg/ffmpeg-6.1.1-r5.ebuild
@@ -85,7 +85,7 @@ LICENSE="
samba? ( GPL-3 )
"
if [ "${PV#9999}" = "${PV}" ] ; then
- KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
+ KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
fi
# Options to use as use_enable in the foo[:bar] form.
@@ -427,15 +427,6 @@ multilib_src_configure() {
# Conditional patch options
use soc && myconf+=( --enable-v4l2-request --enable-libudev --enable-sand )
- # bug 842201
- use ia64 && tc-is-gcc && append-flags \
- -fno-tree-ccp \
- -fno-tree-dominator-opts \
- -fno-tree-fre \
- -fno-code-hoisting \
- -fno-tree-pre \
- -fno-tree-vrp
-
local ffuse=( "${FFMPEG_FLAG_MAP[@]}" )
use openssl && myconf+=( --enable-nonfree )
use samba && myconf+=( --enable-version3 )
diff --git a/media-video/ffmpeg/ffmpeg-6.1.1-r8.ebuild b/media-video/ffmpeg/ffmpeg-6.1.1-r8.ebuild
index 2c4afcc40118..906e3e77d5e4 100644
--- a/media-video/ffmpeg/ffmpeg-6.1.1-r8.ebuild
+++ b/media-video/ffmpeg/ffmpeg-6.1.1-r8.ebuild
@@ -85,7 +85,7 @@ LICENSE="
samba? ( GPL-3 )
"
if [ "${PV#9999}" = "${PV}" ] ; then
- KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
+ KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
fi
# Options to use as use_enable in the foo[:bar] form.
@@ -208,7 +208,7 @@ IUSE="${IUSE} ${FFTOOLS[@]/#/+fftools_}"
RDEPEND="
alsa? ( >=media-libs/alsa-lib-1.0.27.2[${MULTILIB_USEDEP}] )
- amf? ( media-video/amdgpu-pro-amf:= )
+ amf? ( media-video/amdgpu-pro-amf )
amr? ( >=media-libs/opencore-amr-0.1.3-r1[${MULTILIB_USEDEP}] )
bluray? ( >=media-libs/libbluray-0.3.0-r1:=[${MULTILIB_USEDEP}] )
bs2b? ( >=media-libs/libbs2b-3.1.0-r1[${MULTILIB_USEDEP}] )
@@ -293,7 +293,7 @@ RDEPEND="
x11-libs/cairo[${MULTILIB_USEDEP}]
)
nvenc? ( >=media-libs/nv-codec-headers-11.1.5.3 )
- svt-av1? ( >=media-libs/svt-av1-0.9.0[${MULTILIB_USEDEP}] )
+ svt-av1? ( >=media-libs/svt-av1-0.9.0:=[${MULTILIB_USEDEP}] )
truetype? (
>=media-libs/freetype-2.5.0.1:2[${MULTILIB_USEDEP}]
media-libs/harfbuzz:=[${MULTILIB_USEDEP}]
@@ -437,15 +437,6 @@ multilib_src_configure() {
# Conditional patch options
use soc && myconf+=( --enable-v4l2-request --enable-libudev --enable-sand )
- # bug 842201
- use ia64 && tc-is-gcc && append-flags \
- -fno-tree-ccp \
- -fno-tree-dominator-opts \
- -fno-tree-fre \
- -fno-code-hoisting \
- -fno-tree-pre \
- -fno-tree-vrp
-
local ffuse=( "${FFMPEG_FLAG_MAP[@]}" )
use openssl && myconf+=( --enable-nonfree )
use samba && myconf+=( --enable-version3 )
@@ -618,6 +609,4 @@ multilib_src_install() {
multilib_src_install_all() {
dodoc Changelog README.md CREDITS doc/*.txt doc/APIchanges
[ -f "RELEASE_NOTES" ] && dodoc "RELEASE_NOTES"
-
- use amf && elog "To use AMF, prefix the ffmpeg call with the 'vk_pro' wrapper script, e.g. `vk_pro ffmpeg -vcodec h264_amf [...]`"
}
diff --git a/media-video/ffmpeg/ffmpeg-6.1.2.ebuild b/media-video/ffmpeg/ffmpeg-6.1.2.ebuild
new file mode 100644
index 000000000000..c913e481816f
--- /dev/null
+++ b/media-video/ffmpeg/ffmpeg-6.1.2.ebuild
@@ -0,0 +1,610 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Subslot: libavutil major.libavcodec major.libavformat major
+# Since FFmpeg ships several libraries, subslot is kind of limited here.
+# Most consumers will use those three libraries, if a "less used" library
+# changes its soname, consumers will have to be rebuilt the old way
+# (preserve-libs).
+# If, for example, a package does not link to libavformat and only libavformat
+# changes its ABI then this package will be rebuilt needlessly. Hence, such a
+# package is free _not_ to := depend on FFmpeg but I would strongly encourage
+# doing so since such a case is unlikely.
+FFMPEG_SUBSLOT=58.60.60
+
+SOC_PATCH="ffmpeg-rpi-6.1-r3.patch"
+
+SCM=""
+if [ "${PV#9999}" != "${PV}" ] ; then
+ SCM="git-r3"
+ EGIT_MIN_CLONE_TYPE="single"
+ EGIT_REPO_URI="https://git.ffmpeg.org/ffmpeg.git"
+fi
+
+inherit flag-o-matic multilib multilib-minimal toolchain-funcs ${SCM}
+
+DESCRIPTION="Complete solution to record/convert/stream audio and video. Includes libavcodec"
+HOMEPAGE="https://ffmpeg.org/"
+SRC_URI="soc? ( https://dev.gentoo.org/~chewi/distfiles/${SOC_PATCH} )"
+if [ "${PV#9999}" != "${PV}" ] ; then
+ :
+elif [ "${PV%_p*}" != "${PV}" ] ; then # Snapshot
+ SRC_URI+=" mirror://gentoo/${P}.tar.xz"
+else # Release
+ inherit verify-sig
+
+ SRC_URI+="
+ https://ffmpeg.org/releases/${P/_/-}.tar.xz
+ verify-sig? (
+ https://ffmpeg.org/releases/${P/_/-}.tar.xz.asc
+ soc? ( https://dev.gentoo.org/~chewi/distfiles/${SOC_PATCH}.asc )
+ )
+ "
+
+ BDEPEND="
+ verify-sig? (
+ sec-keys/openpgp-keys-ffmpeg
+ soc? ( sec-keys/openpgp-keys-gentoo-developers )
+ )
+ "
+
+ src_unpack() {
+ if use verify-sig; then
+ verify-sig_verify_detached "${DISTDIR}"/${P/_/-}.tar.xz{,.asc} /usr/share/openpgp-keys/ffmpeg.asc
+ use soc && verify-sig_verify_detached "${DISTDIR}"/${SOC_PATCH}{,.asc} /usr/share/openpgp-keys/gentoo-developers.asc
+ fi
+ default
+ }
+fi
+FFMPEG_REVISION="${PV#*_p}"
+
+SLOT="0/${FFMPEG_SUBSLOT}"
+LICENSE="
+ !gpl? ( LGPL-2.1 )
+ gpl? ( GPL-2 )
+ amr? (
+ gpl? ( GPL-3 )
+ !gpl? ( LGPL-3 )
+ )
+ gmp? (
+ gpl? ( GPL-3 )
+ !gpl? ( LGPL-3 )
+ )
+ libaribb24? (
+ gpl? ( GPL-3 )
+ !gpl? ( LGPL-3 )
+ )
+ encode? (
+ amrenc? (
+ gpl? ( GPL-3 )
+ !gpl? ( LGPL-3 )
+ )
+ )
+ samba? ( GPL-3 )
+"
+if [ "${PV#9999}" = "${PV}" ] ; then
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
+fi
+
+# Options to use as use_enable in the foo[:bar] form.
+# This will feed configure with $(use_enable foo bar)
+# or $(use_enable foo foo) if no :bar is set.
+# foo is added to IUSE.
+FFMPEG_FLAG_MAP=(
+ +bzip2:bzlib cpudetection:runtime-cpudetect debug gcrypt +gnutls gmp
+ +gpl hardcoded-tables +iconv libxml2 lzma +network opencl
+ openssl +postproc samba:libsmbclient sdl:ffplay sdl:sdl2 vaapi vdpau vulkan
+ X:xlib X:libxcb X:libxcb-shm X:libxcb-xfixes +zlib
+ # libavdevice options
+ cdio:libcdio iec61883:libiec61883 ieee1394:libdc1394 libcaca openal
+ opengl
+ # indevs
+ libv4l:libv4l2 pulseaudio:libpulse libdrm jack:libjack
+ # decoders
+ amr:libopencore-amrwb amr:libopencore-amrnb codec2:libcodec2 +dav1d:libdav1d fdk:libfdk-aac
+ jpeg2k:libopenjpeg jpegxl:libjxl bluray:libbluray gme:libgme gsm:libgsm
+ libaribb24 modplug:libmodplug opus:libopus qsv:libvpl libilbc librtmp ssh:libssh
+ speex:libspeex srt:libsrt svg:librsvg nvenc:ffnvcodec
+ vorbis:libvorbis vpx:libvpx zvbi:libzvbi
+ # libavfilter options
+ appkit
+ bs2b:libbs2b chromaprint cuda:cuda-llvm flite:libflite fontconfig frei0r
+ fribidi:libfribidi glslang:libglslang ladspa lcms:lcms2 libass libplacebo
+ libtesseract lv2 rubberband:librubberband shaderc:libshaderc truetype:libfreetype
+ truetype:libharfbuzz vidstab:libvidstab vmaf:libvmaf zeromq:libzmq zimg:libzimg
+ # libswresample options
+ libsoxr
+ # Threads; we only support pthread for now but ffmpeg supports more
+ +threads:pthreads
+)
+
+# Same as above but for encoders, i.e. they do something only with USE=encode.
+FFMPEG_ENCODER_FLAG_MAP=(
+ amf amrenc:libvo-amrwbenc kvazaar:libkvazaar libaom mp3:libmp3lame
+ openh264:libopenh264 rav1e:librav1e snappy:libsnappy svt-av1:libsvtav1
+ theora:libtheora twolame:libtwolame webp:libwebp x264:libx264
+ x265:libx265 xvid:libxvid
+)
+
+IUSE="
+ alsa chromium doc +encode oss +pic sndio static-libs test v4l soc
+ ${FFMPEG_FLAG_MAP[@]%:*}
+ ${FFMPEG_ENCODER_FLAG_MAP[@]%:*}
+"
+
+# Strings for CPU features in the useflag[:configure_option] form
+# if :configure_option isn't set, it will use 'useflag' as configure option
+ARM_CPU_FEATURES=(
+ cpu_flags_arm_thumb:armv5te
+ cpu_flags_arm_v6:armv6
+ cpu_flags_arm_thumb2:armv6t2
+ cpu_flags_arm_neon:neon
+ cpu_flags_arm_vfp:vfp
+ cpu_flags_arm_vfpv3:vfpv3
+ cpu_flags_arm_v8:armv8
+ cpu_flags_arm_asimddp:dotprod
+ cpu_flags_arm_i8mm:i8mm
+)
+ARM_CPU_REQUIRED_USE="
+ arm64? ( cpu_flags_arm_v8 )
+ cpu_flags_arm_v8? ( cpu_flags_arm_vfpv3 cpu_flags_arm_neon )
+ cpu_flags_arm_neon? (
+ cpu_flags_arm_vfp
+ arm? ( cpu_flags_arm_thumb2 )
+ )
+ cpu_flags_arm_vfpv3? ( cpu_flags_arm_vfp )
+ cpu_flags_arm_thumb2? ( cpu_flags_arm_v6 )
+ cpu_flags_arm_v6? (
+ arm? ( cpu_flags_arm_thumb )
+ )
+"
+MIPS_CPU_FEATURES=( mipsdspr1:mipsdsp mipsdspr2 mipsfpu )
+PPC_CPU_FEATURES=( cpu_flags_ppc_altivec:altivec cpu_flags_ppc_vsx:vsx cpu_flags_ppc_vsx2:power8 )
+PPC_CPU_REQUIRED_USE="
+ cpu_flags_ppc_vsx? ( cpu_flags_ppc_altivec )
+ cpu_flags_ppc_vsx2? ( cpu_flags_ppc_vsx )
+"
+X86_CPU_FEATURES_RAW=( 3dnow:amd3dnow 3dnowext:amd3dnowext aes:aesni avx:avx avx2:avx2 fma3:fma3 fma4:fma4 mmx:mmx
+ mmxext:mmxext sse:sse sse2:sse2 sse3:sse3 ssse3:ssse3 sse4_1:sse4 sse4_2:sse42 xop:xop )
+X86_CPU_FEATURES=( ${X86_CPU_FEATURES_RAW[@]/#/cpu_flags_x86_} )
+X86_CPU_REQUIRED_USE="
+ cpu_flags_x86_avx2? ( cpu_flags_x86_avx )
+ cpu_flags_x86_fma4? ( cpu_flags_x86_avx )
+ cpu_flags_x86_fma3? ( cpu_flags_x86_avx )
+ cpu_flags_x86_xop? ( cpu_flags_x86_avx )
+ cpu_flags_x86_avx? ( cpu_flags_x86_sse4_2 )
+ cpu_flags_x86_aes? ( cpu_flags_x86_sse4_2 )
+ cpu_flags_x86_sse4_2? ( cpu_flags_x86_sse4_1 )
+ cpu_flags_x86_sse4_1? ( cpu_flags_x86_ssse3 )
+ cpu_flags_x86_ssse3? ( cpu_flags_x86_sse3 )
+ cpu_flags_x86_sse3? ( cpu_flags_x86_sse2 )
+ cpu_flags_x86_sse2? ( cpu_flags_x86_sse )
+ cpu_flags_x86_sse? ( cpu_flags_x86_mmxext )
+ cpu_flags_x86_mmxext? ( cpu_flags_x86_mmx )
+ cpu_flags_x86_3dnowext? ( cpu_flags_x86_3dnow )
+ cpu_flags_x86_3dnow? ( cpu_flags_x86_mmx )
+"
+
+CPU_FEATURES_MAP=(
+ ${ARM_CPU_FEATURES[@]}
+ ${MIPS_CPU_FEATURES[@]}
+ ${PPC_CPU_FEATURES[@]}
+ ${X86_CPU_FEATURES[@]}
+)
+IUSE="${IUSE}
+ ${CPU_FEATURES_MAP[@]%:*}"
+
+CPU_REQUIRED_USE="
+ ${ARM_CPU_REQUIRED_USE}
+ ${PPC_CPU_REQUIRED_USE}
+ ${X86_CPU_REQUIRED_USE}
+"
+
+FFTOOLS=( aviocat cws2fws ffescape ffeval ffhash fourcc2pixfmt
+ graph2dot ismindex pktdumper qt-faststart sidxindex trasher )
+IUSE="${IUSE} ${FFTOOLS[@]/#/+fftools_}"
+
+RDEPEND="
+ alsa? ( >=media-libs/alsa-lib-1.0.27.2[${MULTILIB_USEDEP}] )
+ amf? ( media-video/amdgpu-pro-amf )
+ amr? ( >=media-libs/opencore-amr-0.1.3-r1[${MULTILIB_USEDEP}] )
+ bluray? ( >=media-libs/libbluray-0.3.0-r1:=[${MULTILIB_USEDEP}] )
+ bs2b? ( >=media-libs/libbs2b-3.1.0-r1[${MULTILIB_USEDEP}] )
+ bzip2? ( >=app-arch/bzip2-1.0.6-r4[${MULTILIB_USEDEP}] )
+ cdio? ( >=dev-libs/libcdio-paranoia-0.90_p1-r1[${MULTILIB_USEDEP}] )
+ chromaprint? ( >=media-libs/chromaprint-1.2-r1[${MULTILIB_USEDEP}] )
+ codec2? ( media-libs/codec2[${MULTILIB_USEDEP}] )
+ dav1d? ( >=media-libs/dav1d-0.5.0:0=[${MULTILIB_USEDEP}] )
+ encode? (
+ amrenc? ( >=media-libs/vo-amrwbenc-0.1.2-r1[${MULTILIB_USEDEP}] )
+ kvazaar? ( >=media-libs/kvazaar-2.0.0[${MULTILIB_USEDEP}] )
+ mp3? ( >=media-sound/lame-3.99.5-r1[${MULTILIB_USEDEP}] )
+ openh264? ( >=media-libs/openh264-1.4.0-r1:=[${MULTILIB_USEDEP}] )
+ rav1e? ( >=media-video/rav1e-0.5:=[capi] )
+ snappy? ( >=app-arch/snappy-1.1.2-r1:=[${MULTILIB_USEDEP}] )
+ theora? (
+ >=media-libs/libogg-1.3.0[${MULTILIB_USEDEP}]
+ >=media-libs/libtheora-1.1.1[encode,${MULTILIB_USEDEP}]
+ )
+ twolame? ( >=media-sound/twolame-0.3.13-r1[${MULTILIB_USEDEP}] )
+ webp? ( >=media-libs/libwebp-0.3.0:=[${MULTILIB_USEDEP}] )
+ x264? ( >=media-libs/x264-0.0.20130506:=[${MULTILIB_USEDEP}] )
+ x265? ( >=media-libs/x265-1.6:=[${MULTILIB_USEDEP}] )
+ xvid? ( >=media-libs/xvid-1.3.2-r1[${MULTILIB_USEDEP}] )
+ )
+ fdk? ( >=media-libs/fdk-aac-0.1.3:=[${MULTILIB_USEDEP}] )
+ flite? ( >=app-accessibility/flite-1.4-r4[${MULTILIB_USEDEP}] )
+ fontconfig? ( >=media-libs/fontconfig-2.10.92[${MULTILIB_USEDEP}] )
+ frei0r? ( media-plugins/frei0r-plugins[${MULTILIB_USEDEP}] )
+ fribidi? ( >=dev-libs/fribidi-0.19.6[${MULTILIB_USEDEP}] )
+ gcrypt? ( >=dev-libs/libgcrypt-1.6:0=[${MULTILIB_USEDEP}] )
+ glslang? ( dev-util/glslang:=[${MULTILIB_USEDEP}] )
+ gme? ( >=media-libs/game-music-emu-0.6.0[${MULTILIB_USEDEP}] )
+ gmp? ( >=dev-libs/gmp-6:0=[${MULTILIB_USEDEP}] )
+ gsm? ( >=media-sound/gsm-1.0.13-r1[${MULTILIB_USEDEP}] )
+ iconv? ( >=virtual/libiconv-0-r1[${MULTILIB_USEDEP}] )
+ iec61883? (
+ >=media-libs/libiec61883-1.2.0-r1[${MULTILIB_USEDEP}]
+ >=sys-libs/libraw1394-2.1.0-r1[${MULTILIB_USEDEP}]
+ >=sys-libs/libavc1394-0.5.4-r1[${MULTILIB_USEDEP}]
+ )
+ ieee1394? (
+ >=media-libs/libdc1394-2.2.1:2=[${MULTILIB_USEDEP}]
+ >=sys-libs/libraw1394-2.1.0-r1[${MULTILIB_USEDEP}]
+ )
+ jack? ( virtual/jack[${MULTILIB_USEDEP}] )
+ jpeg2k? ( >=media-libs/openjpeg-2.1:2=[${MULTILIB_USEDEP}] )
+ jpegxl? ( >=media-libs/libjxl-0.7.0:=[$MULTILIB_USEDEP] )
+ lcms? ( >=media-libs/lcms-2.13:2[$MULTILIB_USEDEP] )
+ libaom? ( >=media-libs/libaom-1.0.0-r1:=[${MULTILIB_USEDEP}] )
+ libaribb24? ( >=media-libs/aribb24-1.0.3-r2[${MULTILIB_USEDEP}] )
+ libass? ( >=media-libs/libass-0.11.0:=[${MULTILIB_USEDEP}] )
+ libcaca? ( >=media-libs/libcaca-0.99_beta18-r1[${MULTILIB_USEDEP}] )
+ libdrm? ( x11-libs/libdrm[${MULTILIB_USEDEP}] )
+ libilbc? ( >=media-libs/libilbc-2[${MULTILIB_USEDEP}] )
+ libplacebo? ( >=media-libs/libplacebo-4.192.0:=[$MULTILIB_USEDEP] )
+ librtmp? ( >=media-video/rtmpdump-2.4_p20131018[${MULTILIB_USEDEP}] )
+ libsoxr? ( >=media-libs/soxr-0.1.0[${MULTILIB_USEDEP}] )
+ libtesseract? ( >=app-text/tesseract-4.1.0-r1[${MULTILIB_USEDEP}] )
+ libv4l? ( >=media-libs/libv4l-0.9.5[${MULTILIB_USEDEP}] )
+ libxml2? ( dev-libs/libxml2:=[${MULTILIB_USEDEP}] )
+ lv2? ( media-libs/lv2[${MULTILIB_USEDEP}] media-libs/lilv[${MULTILIB_USEDEP}] )
+ lzma? ( >=app-arch/xz-utils-5.0.5-r1[${MULTILIB_USEDEP}] )
+ modplug? ( >=media-libs/libmodplug-0.8.8.4-r1[${MULTILIB_USEDEP}] )
+ openal? ( >=media-libs/openal-1.15.1[${MULTILIB_USEDEP}] )
+ opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
+ opengl? ( media-libs/libglvnd[X,${MULTILIB_USEDEP}] )
+ opus? ( >=media-libs/opus-1.0.2-r2[${MULTILIB_USEDEP}] )
+ pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] )
+ qsv? ( media-libs/libvpl[${MULTILIB_USEDEP}] )
+ rubberband? ( >=media-libs/rubberband-1.8.1-r1[${MULTILIB_USEDEP}] )
+ samba? ( >=net-fs/samba-3.6.23-r1[client,${MULTILIB_USEDEP}] )
+ sdl? ( media-libs/libsdl2[sound,video,${MULTILIB_USEDEP}] )
+ shaderc? ( media-libs/shaderc[${MULTILIB_USEDEP}] )
+ sndio? ( media-sound/sndio:=[${MULTILIB_USEDEP}] )
+ soc? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
+ speex? ( >=media-libs/speex-1.2_rc1-r1[${MULTILIB_USEDEP}] )
+ srt? ( >=net-libs/srt-1.3.0:=[${MULTILIB_USEDEP}] )
+ ssh? ( >=net-libs/libssh-0.6.0:=[sftp,${MULTILIB_USEDEP}] )
+ svg? (
+ gnome-base/librsvg:2=[${MULTILIB_USEDEP}]
+ x11-libs/cairo[${MULTILIB_USEDEP}]
+ )
+ nvenc? ( >=media-libs/nv-codec-headers-11.1.5.3 )
+ svt-av1? ( >=media-libs/svt-av1-0.9.0:=[${MULTILIB_USEDEP}] )
+ truetype? (
+ >=media-libs/freetype-2.5.0.1:2[${MULTILIB_USEDEP}]
+ media-libs/harfbuzz:=[${MULTILIB_USEDEP}]
+ )
+ vaapi? ( >=media-libs/libva-1.2.1-r1:0=[${MULTILIB_USEDEP}] )
+ vdpau? ( >=x11-libs/libvdpau-0.7[${MULTILIB_USEDEP}] )
+ vidstab? ( >=media-libs/vidstab-1.1.0[${MULTILIB_USEDEP}] )
+ vmaf? ( >=media-libs/libvmaf-2.0.0:=[${MULTILIB_USEDEP}] )
+ vorbis? (
+ >=media-libs/libvorbis-1.3.3-r1[${MULTILIB_USEDEP}]
+ >=media-libs/libogg-1.3.0[${MULTILIB_USEDEP}]
+ )
+ vpx? ( >=media-libs/libvpx-1.4.0:=[${MULTILIB_USEDEP}] )
+ vulkan? ( >=media-libs/vulkan-loader-1.3.255:=[${MULTILIB_USEDEP}] )
+ X? (
+ >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
+ >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}]
+ >=x11-libs/libXv-1.0.10[${MULTILIB_USEDEP}]
+ >=x11-libs/libxcb-1.4:=[${MULTILIB_USEDEP}]
+ )
+ zeromq? ( >=net-libs/zeromq-4.2.1:= )
+ zimg? ( >=media-libs/zimg-2.7.4:=[${MULTILIB_USEDEP}] )
+ zlib? ( >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] )
+ zvbi? ( >=media-libs/zvbi-0.2.35[${MULTILIB_USEDEP}] )
+"
+
+RDEPEND="${RDEPEND}
+ openssl? ( >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}] )
+ !openssl? ( gnutls? ( >=net-libs/gnutls-2.12.23-r6:=[${MULTILIB_USEDEP}] ) )
+"
+
+DEPEND="${RDEPEND}
+ amf? ( media-libs/amf-headers )
+ ladspa? ( >=media-libs/ladspa-sdk-1.13-r2[${MULTILIB_USEDEP}] )
+ v4l? ( sys-kernel/linux-headers )
+ vulkan? ( >=dev-util/vulkan-headers-1.3.255 )
+"
+
+# += for verify-sig above
+BDEPEND+="
+ >=dev-build/make-3.81
+ virtual/pkgconfig
+ cpu_flags_x86_mmx? ( || ( >=dev-lang/nasm-2.13 >=dev-lang/yasm-1.3 ) )
+ cuda? ( >=sys-devel/clang-7[llvm_targets_NVPTX] )
+ doc? ( sys-apps/texinfo )
+ test? ( net-misc/wget app-alternatives/bc )
+"
+
+# Code requiring FFmpeg to be built under gpl license
+GPL_REQUIRED_USE="
+ postproc? ( gpl )
+ frei0r? ( gpl )
+ cdio? ( gpl )
+ rubberband? ( gpl )
+ vidstab? ( gpl )
+ samba? ( gpl )
+ encode? (
+ x264? ( gpl )
+ x265? ( gpl )
+ xvid? ( gpl )
+ )
+"
+REQUIRED_USE="
+ chromium? ( opus )
+ cuda? ( nvenc )
+ fftools_cws2fws? ( zlib )
+ glslang? ( vulkan !shaderc )
+ libv4l? ( v4l )
+ shaderc? ( vulkan !glslang )
+ soc? ( libdrm )
+ test? ( encode )
+ ${GPL_REQUIRED_USE}
+ ${CPU_REQUIRED_USE}"
+RESTRICT="
+ !test? ( test )
+ gpl? ( openssl? ( bindist ) fdk? ( bindist ) )
+"
+
+S=${WORKDIR}/${P/_/-}
+
+PATCHES=(
+ "${FILESDIR}"/chromium-r2.patch
+ "${FILESDIR}"/${PN}-6.1-wint-conversion.patch
+ "${FILESDIR}"/${PN}-6.0-fix-lto-type-mismatch.patch
+ "${FILESDIR}"/${PN}-6.1-opencl-parallel-gmake-fix.patch
+ "${FILESDIR}"/${PN}-6.1-gcc-14.patch
+ "${FILESDIR}"/${PN}-6.0.1-alignment.patch
+ "${FILESDIR}"/${PN}-6.1.1-wint-inconversion-libgcrypt.patch
+ "${FILESDIR}"/${PN}-6.1.1-amd-av1-vaapi.patch
+)
+
+MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/libavutil/avconfig.h
+)
+
+pkg_setup() {
+ # ffmpeg[chromaprint] depends on chromaprint, and chromaprint[tools] depends on ffmpeg.
+ # May cause breakage while updating, #862996, #625210, #833821.
+ if has_version media-libs/chromaprint[tools] && use chromaprint; then
+ ewarn "You have media-libs/chromaprint installed with 'tools' USE flag, which "
+ ewarn "links to ffmpeg, and you have enabled 'chromaprint' USE flag for ffmpeg, "
+ ewarn "which links to chromaprint. This may cause issues while rebuilding ffmpeg."
+ ewarn ""
+ ewarn "If your build fails to 'ERROR: chromaprint not found', rebuild chromaprint "
+ ewarn "without the 'tools' use flag first, then rebuild ffmpeg, and then finally enable "
+ ewarn "'tools' USE flag for chromaprint. See #862996."
+ fi
+}
+
+src_prepare() {
+ if [[ "${PV%_p*}" != "${PV}" ]] ; then # Snapshot
+ export revision=git-N-${FFMPEG_REVISION}
+ fi
+
+ use soc &&
+ eapply "${DISTDIR}"/${SOC_PATCH}
+
+ default
+
+ # -fdiagnostics-color=auto gets appended after user flags which
+ # will ignore user's preference.
+ sed -i -e '/check_cflags -fdiagnostics-color=auto/d' configure || die
+
+ ln -snf "${FILESDIR}"/chromium.c chromium.c || die
+ echo 'include $(SRC_PATH)/ffbuild/libffmpeg.mak' >> Makefile || die
+
+ # We need to detect LTO usage before multilib stuff and filter-lto is called (bug #923491)
+ if tc-is-lto ; then
+ # Respect -flto value, e.g -flto=thin
+ local v="$(get-flag flto)"
+ [[ ${v} != -flto ]] && LTO_FLAG="--enable-lto=${v}" || LTO_FLAG="--enable-lto"
+ fi
+ filter-lto
+}
+
+multilib_src_configure() {
+ local myconf=( )
+
+ # Conditional patch options
+ use soc && myconf+=( --enable-v4l2-request --enable-libudev --enable-sand )
+
+ local ffuse=( "${FFMPEG_FLAG_MAP[@]}" )
+ use openssl && myconf+=( --enable-nonfree )
+ use samba && myconf+=( --enable-version3 )
+
+ # Encoders
+ if use encode ; then
+ ffuse+=( "${FFMPEG_ENCODER_FLAG_MAP[@]}" )
+
+ # Licensing.
+ if use amrenc ; then
+ myconf+=( --enable-version3 )
+ fi
+ else
+ myconf+=( --disable-encoders )
+ fi
+
+ # Indevs
+ use v4l || myconf+=( --disable-indev=v4l2 --disable-outdev=v4l2 )
+ for i in alsa oss jack sndio ; do
+ use ${i} || myconf+=( --disable-indev=${i} )
+ done
+
+ # Outdevs
+ for i in alsa oss sndio ; do
+ use ${i} || myconf+=( --disable-outdev=${i} )
+ done
+
+ # Decoders
+ use amr && myconf+=( --enable-version3 )
+ use gmp && myconf+=( --enable-version3 )
+ use libaribb24 && myconf+=( --enable-version3 )
+ use fdk && use gpl && myconf+=( --enable-nonfree )
+
+ for i in "${ffuse[@]#+}" ; do
+ myconf+=( $(use_enable ${i%:*} ${i#*:}) )
+ done
+
+ if use openssl ; then
+ myconf+=( --disable-gnutls )
+ has_version dev-libs/openssl:0/3 && myconf+=( --enable-version3 )
+ fi
+
+ # (temporarily) disable non-multilib deps
+ if ! multilib_is_native_abi; then
+ for i in librav1e libzmq ; do
+ myconf+=( --disable-${i} )
+ done
+ fi
+
+ # CPU features
+ for i in "${CPU_FEATURES_MAP[@]}" ; do
+ use ${i%:*} || myconf+=( --disable-${i#*:} )
+ done
+
+ if use pic ; then
+ myconf+=( --enable-pic )
+ # disable asm code if PIC is required
+ # as the provided asm decidedly is not PIC for x86.
+ [[ ${ABI} == x86 ]] && myconf+=( --disable-asm )
+ fi
+ [[ ${ABI} == x32 ]] && myconf+=( --disable-asm ) #427004
+
+ # Try to get cpu type based on CFLAGS.
+ # Bug #172723
+ # We need to do this so that features of that CPU will be better used
+ # If they contain an unknown CPU it will not hurt since ffmpeg's configure
+ # will just ignore it.
+ for i in $(get-flag mcpu) $(get-flag march) ; do
+ [[ ${i} = native ]] && i="host" # bug #273421
+ myconf+=( --cpu=${i} )
+ break
+ done
+
+ # LTO support, bug #566282, bug #754654, bug #772854
+ if [[ ${ABI} != x86 && ! -z ${LTO_FLAG} ]]; then
+ myconf+=( ${LTO_FLAG} )
+ fi
+
+ # Mandatory configuration
+ myconf=(
+ --disable-libaribcaption # libaribcaption is not packaged (yet?)
+ --enable-avfilter
+ --disable-stripping
+ # This is only for hardcoded cflags; those are used in configure checks that may
+ # interfere with proper detections, bug #671746 and bug #645778
+ # We use optflags, so that overrides them anyway.
+ --disable-optimizations
+ --disable-libcelt # bug #664158
+ "${myconf[@]}"
+ )
+
+ # cross compile support
+ if tc-is-cross-compiler ; then
+ myconf+=( --enable-cross-compile --arch=$(tc-arch-kernel) --cross-prefix=${CHOST}- --host-cc="$(tc-getBUILD_CC)" )
+ case ${CHOST} in
+ *mingw32*)
+ myconf+=( --target-os=mingw32 )
+ ;;
+ *linux*)
+ myconf+=( --target-os=linux )
+ ;;
+ esac
+ fi
+
+ # doc
+ myconf+=(
+ $(multilib_native_use_enable doc)
+ $(multilib_native_use_enable doc htmlpages)
+ $(multilib_native_enable manpages)
+ )
+
+ # Use --extra-libs if needed for LIBS
+ set -- "${S}/configure" \
+ --prefix="${EPREFIX}/usr" \
+ --libdir="${EPREFIX}/usr/$(get_libdir)" \
+ --shlibdir="${EPREFIX}/usr/$(get_libdir)" \
+ --docdir="${EPREFIX}/usr/share/doc/${PF}/html" \
+ --mandir="${EPREFIX}/usr/share/man" \
+ --enable-shared \
+ --cc="$(tc-getCC)" \
+ --cxx="$(tc-getCXX)" \
+ --ar="$(tc-getAR)" \
+ --nm="$(tc-getNM)" \
+ --strip="$(tc-getSTRIP)" \
+ --ranlib="$(tc-getRANLIB)" \
+ --pkg-config="$(tc-getPKG_CONFIG)" \
+ --optflags="${CFLAGS}" \
+ $(use_enable static-libs static) \
+ "${myconf[@]}" \
+ ${EXTRA_FFMPEG_CONF}
+ echo "${@}"
+ "${@}" || die
+}
+
+multilib_src_compile() {
+ emake V=1
+
+ if multilib_is_native_abi; then
+ for i in "${FFTOOLS[@]}" ; do
+ if use fftools_${i} ; then
+ emake V=1 tools/${i}$(get_exeext)
+ fi
+ done
+
+ use chromium &&
+ emake V=1 libffmpeg
+ fi
+}
+
+multilib_src_test() {
+ LD_LIBRARY_PATH="${BUILD_DIR}/libpostproc:${BUILD_DIR}/libswscale:${BUILD_DIR}/libswresample:${BUILD_DIR}/libavcodec:${BUILD_DIR}/libavdevice:${BUILD_DIR}/libavfilter:${BUILD_DIR}/libavformat:${BUILD_DIR}/libavutil" \
+ emake V=1 fate -k
+}
+
+multilib_src_install() {
+ emake V=1 DESTDIR="${D}" install install-doc
+
+ if multilib_is_native_abi; then
+ for i in "${FFTOOLS[@]}" ; do
+ if use fftools_${i} ; then
+ dobin tools/${i}$(get_exeext)
+ fi
+ done
+
+ use chromium &&
+ emake V=1 DESTDIR="${D}" install-libffmpeg
+ fi
+}
+
+multilib_src_install_all() {
+ dodoc Changelog README.md CREDITS doc/*.txt doc/APIchanges
+ [ -f "RELEASE_NOTES" ] && dodoc "RELEASE_NOTES"
+}
diff --git a/media-video/ffmpeg/ffmpeg-7.0.1.ebuild b/media-video/ffmpeg/ffmpeg-7.0.1-r1.ebuild
index 797aa00fb30e..a4d91f76c9bf 100644
--- a/media-video/ffmpeg/ffmpeg-7.0.1.ebuild
+++ b/media-video/ffmpeg/ffmpeg-7.0.1-r1.ebuild
@@ -86,7 +86,7 @@ LICENSE="
"
SLOT="0/${FFMPEG_SUBSLOT}"
if [ "${PV#9999}" = "${PV}" ] ; then
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
fi
# Options to use as use_enable in the foo[:bar] form.
@@ -210,7 +210,7 @@ IUSE="${IUSE} ${FFTOOLS[@]/#/+fftools_}"
RDEPEND="
alsa? ( >=media-libs/alsa-lib-1.0.27.2[${MULTILIB_USEDEP}] )
- amf? ( media-video/amdgpu-pro-amf:= )
+ amf? ( media-video/amdgpu-pro-amf )
amr? ( >=media-libs/opencore-amr-0.1.3-r1[${MULTILIB_USEDEP}] )
bluray? ( >=media-libs/libbluray-0.3.0-r1:=[${MULTILIB_USEDEP}] )
bs2b? ( >=media-libs/libbs2b-3.1.0-r1[${MULTILIB_USEDEP}] )
@@ -299,7 +299,7 @@ RDEPEND="
x11-libs/cairo[${MULTILIB_USEDEP}]
)
nvenc? ( >=media-libs/nv-codec-headers-11.1.5.3 )
- svt-av1? ( >=media-libs/svt-av1-0.9.0[${MULTILIB_USEDEP}] )
+ svt-av1? ( >=media-libs/svt-av1-0.9.0:=[${MULTILIB_USEDEP}] )
truetype? (
>=media-libs/freetype-2.5.0.1:2[${MULTILIB_USEDEP}]
media-libs/harfbuzz:=[${MULTILIB_USEDEP}]
@@ -434,15 +434,6 @@ multilib_src_configure() {
# Conditional patch options
use soc && myconf+=( --enable-v4l2-request --enable-libudev --enable-sand )
- # bug 842201
- use ia64 && tc-is-gcc && append-flags \
- -fno-tree-ccp \
- -fno-tree-dominator-opts \
- -fno-tree-fre \
- -fno-code-hoisting \
- -fno-tree-pre \
- -fno-tree-vrp
-
local ffuse=( "${FFMPEG_FLAG_MAP[@]}" )
use openssl && myconf+=( --enable-nonfree )
use samba && myconf+=( --enable-version3 )
@@ -618,6 +609,4 @@ multilib_src_install() {
multilib_src_install_all() {
dodoc Changelog README.md CREDITS doc/*.txt doc/APIchanges
[ -f "RELEASE_NOTES" ] && dodoc "RELEASE_NOTES"
-
- use amf && newenvd "${FILESDIR}"/amf-env-vulkan-override 99amf-env-vulkan-override
}
diff --git a/media-video/ffmpeg/ffmpeg-7.0.2-r1.ebuild b/media-video/ffmpeg/ffmpeg-7.0.2-r1.ebuild
new file mode 100644
index 000000000000..a4d91f76c9bf
--- /dev/null
+++ b/media-video/ffmpeg/ffmpeg-7.0.2-r1.ebuild
@@ -0,0 +1,612 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Subslot: libavutil major.libavcodec major.libavformat major
+# Since FFmpeg ships several libraries, subslot is kind of limited here.
+# Most consumers will use those three libraries, if a "less used" library
+# changes its soname, consumers will have to be rebuilt the old way
+# (preserve-libs).
+# If, for example, a package does not link to libavformat and only libavformat
+# changes its ABI then this package will be rebuilt needlessly. Hence, such a
+# package is free _not_ to := depend on FFmpeg but I would strongly encourage
+# doing so since such a case is unlikely.
+FFMPEG_SUBSLOT=58.60.60
+
+SOC_PATCH="ffmpeg-rpi-7.0.patch"
+
+SCM=""
+if [ "${PV#9999}" != "${PV}" ] ; then
+ SCM="git-r3"
+ EGIT_MIN_CLONE_TYPE="single"
+ EGIT_REPO_URI="https://git.ffmpeg.org/ffmpeg.git"
+fi
+
+inherit flag-o-matic multilib multilib-minimal toolchain-funcs ${SCM}
+
+DESCRIPTION="Complete solution to record/convert/stream audio and video. Includes libavcodec"
+HOMEPAGE="https://ffmpeg.org/"
+SRC_URI="soc? ( https://dev.gentoo.org/~chewi/distfiles/${SOC_PATCH} )"
+if [ "${PV#9999}" != "${PV}" ] ; then
+ :
+elif [ "${PV%_p*}" != "${PV}" ] ; then # Snapshot
+ SRC_URI+=" mirror://gentoo/${P}.tar.xz"
+else # Release
+ inherit verify-sig
+
+ SRC_URI+="
+ https://ffmpeg.org/releases/${P/_/-}.tar.xz
+ verify-sig? (
+ https://ffmpeg.org/releases/${P/_/-}.tar.xz.asc
+ soc? ( https://dev.gentoo.org/~chewi/distfiles/${SOC_PATCH}.asc )
+ )
+ "
+
+ BDEPEND="
+ verify-sig? (
+ sec-keys/openpgp-keys-ffmpeg
+ soc? ( >=sec-keys/openpgp-keys-gentoo-developers-20240708 )
+ )
+ "
+
+ src_unpack() {
+ if use verify-sig; then
+ verify-sig_verify_detached "${DISTDIR}"/${P/_/-}.tar.xz{,.asc} /usr/share/openpgp-keys/ffmpeg.asc
+ use soc && verify-sig_verify_detached "${DISTDIR}"/${SOC_PATCH}{,.asc} /usr/share/openpgp-keys/gentoo-developers.asc
+ fi
+ default
+ }
+fi
+FFMPEG_REVISION="${PV#*_p}"
+
+S=${WORKDIR}/${P/_/-}
+LICENSE="
+ !gpl? ( LGPL-2.1 )
+ gpl? ( GPL-2 )
+ amr? (
+ gpl? ( GPL-3 )
+ !gpl? ( LGPL-3 )
+ )
+ gmp? (
+ gpl? ( GPL-3 )
+ !gpl? ( LGPL-3 )
+ )
+ libaribb24? (
+ gpl? ( GPL-3 )
+ !gpl? ( LGPL-3 )
+ )
+ encode? (
+ amrenc? (
+ gpl? ( GPL-3 )
+ !gpl? ( LGPL-3 )
+ )
+ )
+ samba? ( GPL-3 )
+"
+SLOT="0/${FFMPEG_SUBSLOT}"
+if [ "${PV#9999}" = "${PV}" ] ; then
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
+fi
+
+# Options to use as use_enable in the foo[:bar] form.
+# This will feed configure with $(use_enable foo bar)
+# or $(use_enable foo foo) if no :bar is set.
+# foo is added to IUSE.
+FFMPEG_FLAG_MAP=(
+ +bzip2:bzlib cpudetection:runtime-cpudetect debug gcrypt +gnutls gmp
+ +gpl hardcoded-tables +iconv libxml2 libdvdnav libdvdread lzma +network
+ opencl openssl +postproc qrcode:libqrencode quirc:libquirc
+ samba:libsmbclient sdl:ffplay sdl:sdl2 vaapi vdpau vulkan
+ X:xlib X:libxcb X:libxcb-shm X:libxcb-xfixes +zlib
+ # libavdevice options
+ cdio:libcdio iec61883:libiec61883 ieee1394:libdc1394 libcaca openal
+ opengl
+ # indevs
+ libv4l:libv4l2 pulseaudio:libpulse libdrm jack:libjack
+ # decoders
+ amr:libopencore-amrwb amr:libopencore-amrnb codec2:libcodec2 +dav1d:libdav1d fdk:libfdk-aac
+ jpeg2k:libopenjpeg jpegxl:libjxl bluray:libbluray gme:libgme gsm:libgsm
+ libaribb24 modplug:libmodplug opus:libopus qsv:libvpl libilbc librtmp ssh:libssh
+ speex:libspeex srt:libsrt svg:librsvg nvenc:ffnvcodec
+ vorbis:libvorbis vpx:libvpx zvbi:libzvbi
+ # libavfilter options
+ appkit
+ bs2b:libbs2b chromaprint cuda:cuda-llvm flite:libflite fontconfig frei0r
+ fribidi:libfribidi glslang:libglslang ladspa lcms:lcms2 libass libplacebo
+ libtesseract lv2 rubberband:librubberband shaderc:libshaderc truetype:libfreetype
+ truetype:libharfbuzz vidstab:libvidstab vmaf:libvmaf zeromq:libzmq zimg:libzimg
+ # libswresample options
+ libsoxr
+ # Threads; we only support pthread for now but ffmpeg supports more
+ +threads:pthreads
+)
+
+# Same as above but for encoders, i.e. they do something only with USE=encode.
+FFMPEG_ENCODER_FLAG_MAP=(
+ amf amrenc:libvo-amrwbenc kvazaar:libkvazaar libaom mp3:libmp3lame
+ openh264:libopenh264 rav1e:librav1e snappy:libsnappy svt-av1:libsvtav1
+ theora:libtheora twolame:libtwolame webp:libwebp x264:libx264
+ x265:libx265 xvid:libxvid
+)
+
+IUSE="
+ alsa chromium doc +encode oss +pic sndio static-libs test v4l soc
+ ${FFMPEG_FLAG_MAP[@]%:*}
+ ${FFMPEG_ENCODER_FLAG_MAP[@]%:*}
+"
+
+# Strings for CPU features in the useflag[:configure_option] form
+# if :configure_option isn't set, it will use 'useflag' as configure option
+ARM_CPU_FEATURES=(
+ cpu_flags_arm_thumb:armv5te
+ cpu_flags_arm_v6:armv6
+ cpu_flags_arm_thumb2:armv6t2
+ cpu_flags_arm_neon:neon
+ cpu_flags_arm_vfp:vfp
+ cpu_flags_arm_vfpv3:vfpv3
+ cpu_flags_arm_v8:armv8
+ cpu_flags_arm_asimddp:dotprod
+ cpu_flags_arm_i8mm:i8mm
+)
+ARM_CPU_REQUIRED_USE="
+ arm64? ( cpu_flags_arm_v8 )
+ cpu_flags_arm_v8? ( cpu_flags_arm_vfpv3 cpu_flags_arm_neon )
+ cpu_flags_arm_neon? (
+ cpu_flags_arm_vfp
+ arm? ( cpu_flags_arm_thumb2 )
+ )
+ cpu_flags_arm_vfpv3? ( cpu_flags_arm_vfp )
+ cpu_flags_arm_thumb2? ( cpu_flags_arm_v6 )
+ cpu_flags_arm_v6? (
+ arm? ( cpu_flags_arm_thumb )
+ )
+"
+MIPS_CPU_FEATURES=( mipsdspr1:mipsdsp mipsdspr2 mipsfpu )
+PPC_CPU_FEATURES=( cpu_flags_ppc_altivec:altivec cpu_flags_ppc_vsx:vsx cpu_flags_ppc_vsx2:power8 )
+PPC_CPU_REQUIRED_USE="
+ cpu_flags_ppc_vsx? ( cpu_flags_ppc_altivec )
+ cpu_flags_ppc_vsx2? ( cpu_flags_ppc_vsx )
+"
+X86_CPU_FEATURES_RAW=( 3dnow:amd3dnow 3dnowext:amd3dnowext aes:aesni avx:avx avx2:avx2 fma3:fma3 fma4:fma4 mmx:mmx
+ mmxext:mmxext sse:sse sse2:sse2 sse3:sse3 ssse3:ssse3 sse4_1:sse4 sse4_2:sse42 xop:xop )
+X86_CPU_FEATURES=( ${X86_CPU_FEATURES_RAW[@]/#/cpu_flags_x86_} )
+X86_CPU_REQUIRED_USE="
+ cpu_flags_x86_avx2? ( cpu_flags_x86_avx )
+ cpu_flags_x86_fma4? ( cpu_flags_x86_avx )
+ cpu_flags_x86_fma3? ( cpu_flags_x86_avx )
+ cpu_flags_x86_xop? ( cpu_flags_x86_avx )
+ cpu_flags_x86_avx? ( cpu_flags_x86_sse4_2 )
+ cpu_flags_x86_aes? ( cpu_flags_x86_sse4_2 )
+ cpu_flags_x86_sse4_2? ( cpu_flags_x86_sse4_1 )
+ cpu_flags_x86_sse4_1? ( cpu_flags_x86_ssse3 )
+ cpu_flags_x86_ssse3? ( cpu_flags_x86_sse3 )
+ cpu_flags_x86_sse3? ( cpu_flags_x86_sse2 )
+ cpu_flags_x86_sse2? ( cpu_flags_x86_sse )
+ cpu_flags_x86_sse? ( cpu_flags_x86_mmxext )
+ cpu_flags_x86_mmxext? ( cpu_flags_x86_mmx )
+ cpu_flags_x86_3dnowext? ( cpu_flags_x86_3dnow )
+ cpu_flags_x86_3dnow? ( cpu_flags_x86_mmx )
+"
+
+CPU_FEATURES_MAP=(
+ ${ARM_CPU_FEATURES[@]}
+ ${MIPS_CPU_FEATURES[@]}
+ ${PPC_CPU_FEATURES[@]}
+ ${X86_CPU_FEATURES[@]}
+)
+IUSE="${IUSE}
+ ${CPU_FEATURES_MAP[@]%:*}"
+
+CPU_REQUIRED_USE="
+ ${ARM_CPU_REQUIRED_USE}
+ ${PPC_CPU_REQUIRED_USE}
+ ${X86_CPU_REQUIRED_USE}
+"
+
+FFTOOLS=( aviocat cws2fws ffescape ffeval ffhash fourcc2pixfmt
+ graph2dot ismindex pktdumper qt-faststart sidxindex trasher )
+IUSE="${IUSE} ${FFTOOLS[@]/#/+fftools_}"
+
+RDEPEND="
+ alsa? ( >=media-libs/alsa-lib-1.0.27.2[${MULTILIB_USEDEP}] )
+ amf? ( media-video/amdgpu-pro-amf )
+ amr? ( >=media-libs/opencore-amr-0.1.3-r1[${MULTILIB_USEDEP}] )
+ bluray? ( >=media-libs/libbluray-0.3.0-r1:=[${MULTILIB_USEDEP}] )
+ bs2b? ( >=media-libs/libbs2b-3.1.0-r1[${MULTILIB_USEDEP}] )
+ bzip2? ( >=app-arch/bzip2-1.0.6-r4[${MULTILIB_USEDEP}] )
+ cdio? ( >=dev-libs/libcdio-paranoia-0.90_p1-r1[${MULTILIB_USEDEP}] )
+ chromaprint? ( >=media-libs/chromaprint-1.2-r1[${MULTILIB_USEDEP}] )
+ codec2? ( media-libs/codec2[${MULTILIB_USEDEP}] )
+ dav1d? ( >=media-libs/dav1d-0.5.0:0=[${MULTILIB_USEDEP}] )
+ encode? (
+ amrenc? ( >=media-libs/vo-amrwbenc-0.1.2-r1[${MULTILIB_USEDEP}] )
+ kvazaar? ( >=media-libs/kvazaar-2.0.0[${MULTILIB_USEDEP}] )
+ mp3? ( >=media-sound/lame-3.99.5-r1[${MULTILIB_USEDEP}] )
+ openh264? ( >=media-libs/openh264-1.4.0-r1:=[${MULTILIB_USEDEP}] )
+ rav1e? ( >=media-video/rav1e-0.5:=[capi] )
+ snappy? ( >=app-arch/snappy-1.1.2-r1:=[${MULTILIB_USEDEP}] )
+ theora? (
+ >=media-libs/libogg-1.3.0[${MULTILIB_USEDEP}]
+ >=media-libs/libtheora-1.1.1[encode,${MULTILIB_USEDEP}]
+ )
+ twolame? ( >=media-sound/twolame-0.3.13-r1[${MULTILIB_USEDEP}] )
+ webp? ( >=media-libs/libwebp-0.3.0:=[${MULTILIB_USEDEP}] )
+ x264? ( >=media-libs/x264-0.0.20130506:=[${MULTILIB_USEDEP}] )
+ x265? ( >=media-libs/x265-1.6:=[${MULTILIB_USEDEP}] )
+ xvid? ( >=media-libs/xvid-1.3.2-r1[${MULTILIB_USEDEP}] )
+ )
+ fdk? ( >=media-libs/fdk-aac-0.1.3:=[${MULTILIB_USEDEP}] )
+ flite? ( >=app-accessibility/flite-1.4-r4[${MULTILIB_USEDEP}] )
+ fontconfig? ( >=media-libs/fontconfig-2.10.92[${MULTILIB_USEDEP}] )
+ frei0r? ( media-plugins/frei0r-plugins[${MULTILIB_USEDEP}] )
+ fribidi? ( >=dev-libs/fribidi-0.19.6[${MULTILIB_USEDEP}] )
+ gcrypt? ( >=dev-libs/libgcrypt-1.6:0=[${MULTILIB_USEDEP}] )
+ glslang? ( dev-util/glslang:=[${MULTILIB_USEDEP}] )
+ gme? ( >=media-libs/game-music-emu-0.6.0[${MULTILIB_USEDEP}] )
+ gmp? ( >=dev-libs/gmp-6:0=[${MULTILIB_USEDEP}] )
+ gsm? ( >=media-sound/gsm-1.0.13-r1[${MULTILIB_USEDEP}] )
+ iconv? ( >=virtual/libiconv-0-r1[${MULTILIB_USEDEP}] )
+ iec61883? (
+ >=media-libs/libiec61883-1.2.0-r1[${MULTILIB_USEDEP}]
+ >=sys-libs/libraw1394-2.1.0-r1[${MULTILIB_USEDEP}]
+ >=sys-libs/libavc1394-0.5.4-r1[${MULTILIB_USEDEP}]
+ )
+ ieee1394? (
+ >=media-libs/libdc1394-2.2.1:2=[${MULTILIB_USEDEP}]
+ >=sys-libs/libraw1394-2.1.0-r1[${MULTILIB_USEDEP}]
+ )
+ jack? ( virtual/jack[${MULTILIB_USEDEP}] )
+ jpeg2k? ( >=media-libs/openjpeg-2.1:2=[${MULTILIB_USEDEP}] )
+ jpegxl? ( >=media-libs/libjxl-0.7.0:=[$MULTILIB_USEDEP] )
+ lcms? ( >=media-libs/lcms-2.13:2[$MULTILIB_USEDEP] )
+ libaom? ( >=media-libs/libaom-1.0.0-r1:=[${MULTILIB_USEDEP}] )
+ libaribb24? ( >=media-libs/aribb24-1.0.3-r2[${MULTILIB_USEDEP}] )
+ libass? ( >=media-libs/libass-0.11.0:=[${MULTILIB_USEDEP}] )
+ libcaca? ( >=media-libs/libcaca-0.99_beta18-r1[${MULTILIB_USEDEP}] )
+ libdrm? ( x11-libs/libdrm[${MULTILIB_USEDEP}] )
+ libdvdnav? ( media-libs/libdvdnav[${MULTILIB_USEDEP}] )
+ libdvdread? ( media-libs/libdvdread:=[${MULTILIB_USEDEP}] )
+ libilbc? ( >=media-libs/libilbc-2[${MULTILIB_USEDEP}] )
+ libplacebo? ( >=media-libs/libplacebo-4.192.0:=[$MULTILIB_USEDEP] )
+ librtmp? ( >=media-video/rtmpdump-2.4_p20131018[${MULTILIB_USEDEP}] )
+ libsoxr? ( >=media-libs/soxr-0.1.0[${MULTILIB_USEDEP}] )
+ libtesseract? ( >=app-text/tesseract-4.1.0-r1[${MULTILIB_USEDEP}] )
+ libv4l? ( >=media-libs/libv4l-0.9.5[${MULTILIB_USEDEP}] )
+ libxml2? ( dev-libs/libxml2:=[${MULTILIB_USEDEP}] )
+ lv2? ( media-libs/lv2[${MULTILIB_USEDEP}] media-libs/lilv[${MULTILIB_USEDEP}] )
+ lzma? ( >=app-arch/xz-utils-5.0.5-r1[${MULTILIB_USEDEP}] )
+ modplug? ( >=media-libs/libmodplug-0.8.8.4-r1[${MULTILIB_USEDEP}] )
+ openal? ( >=media-libs/openal-1.15.1[${MULTILIB_USEDEP}] )
+ opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
+ opengl? ( media-libs/libglvnd[X,${MULTILIB_USEDEP}] )
+ opus? ( >=media-libs/opus-1.0.2-r2[${MULTILIB_USEDEP}] )
+ pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] )
+ qsv? ( media-libs/libvpl[${MULTILIB_USEDEP}] )
+ qrcode? ( media-gfx/qrencode:=[${MULTILIB_USEDEP}] )
+ quirc? ( media-libs/quirc:=[${MULTILIB_USEDEP}] )
+ rubberband? ( >=media-libs/rubberband-1.8.1-r1[${MULTILIB_USEDEP}] )
+ samba? ( >=net-fs/samba-3.6.23-r1[client,${MULTILIB_USEDEP}] )
+ sdl? ( media-libs/libsdl2[sound,video,${MULTILIB_USEDEP}] )
+ shaderc? ( media-libs/shaderc[${MULTILIB_USEDEP}] )
+ sndio? ( media-sound/sndio:=[${MULTILIB_USEDEP}] )
+ soc? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
+ speex? ( >=media-libs/speex-1.2_rc1-r1[${MULTILIB_USEDEP}] )
+ srt? ( >=net-libs/srt-1.3.0:=[${MULTILIB_USEDEP}] )
+ ssh? ( >=net-libs/libssh-0.6.0:=[sftp,${MULTILIB_USEDEP}] )
+ svg? (
+ gnome-base/librsvg:2=[${MULTILIB_USEDEP}]
+ x11-libs/cairo[${MULTILIB_USEDEP}]
+ )
+ nvenc? ( >=media-libs/nv-codec-headers-11.1.5.3 )
+ svt-av1? ( >=media-libs/svt-av1-0.9.0:=[${MULTILIB_USEDEP}] )
+ truetype? (
+ >=media-libs/freetype-2.5.0.1:2[${MULTILIB_USEDEP}]
+ media-libs/harfbuzz:=[${MULTILIB_USEDEP}]
+ )
+ vaapi? ( >=media-libs/libva-1.2.1-r1:0=[${MULTILIB_USEDEP}] )
+ vdpau? ( >=x11-libs/libvdpau-0.7[${MULTILIB_USEDEP}] )
+ vidstab? ( >=media-libs/vidstab-1.1.0[${MULTILIB_USEDEP}] )
+ vmaf? ( >=media-libs/libvmaf-2.0.0:=[${MULTILIB_USEDEP}] )
+ vorbis? (
+ >=media-libs/libvorbis-1.3.3-r1[${MULTILIB_USEDEP}]
+ >=media-libs/libogg-1.3.0[${MULTILIB_USEDEP}]
+ )
+ vpx? ( >=media-libs/libvpx-1.4.0:=[${MULTILIB_USEDEP}] )
+ vulkan? ( >=media-libs/vulkan-loader-1.3.277:=[${MULTILIB_USEDEP}] )
+ X? (
+ >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
+ >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}]
+ >=x11-libs/libXv-1.0.10[${MULTILIB_USEDEP}]
+ >=x11-libs/libxcb-1.4:=[${MULTILIB_USEDEP}]
+ )
+ zeromq? ( >=net-libs/zeromq-4.2.1:= )
+ zimg? ( >=media-libs/zimg-2.7.4:=[${MULTILIB_USEDEP}] )
+ zlib? ( >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] )
+ zvbi? ( >=media-libs/zvbi-0.2.35[${MULTILIB_USEDEP}] )
+"
+
+RDEPEND="${RDEPEND}
+ openssl? ( >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}] )
+ !openssl? ( gnutls? ( >=net-libs/gnutls-2.12.23-r6:=[${MULTILIB_USEDEP}] ) )
+"
+
+DEPEND="${RDEPEND}
+ amf? ( media-libs/amf-headers )
+ ladspa? ( >=media-libs/ladspa-sdk-1.13-r2[${MULTILIB_USEDEP}] )
+ v4l? ( sys-kernel/linux-headers )
+ vulkan? ( >=dev-util/vulkan-headers-1.3.277 )
+"
+
+# += for verify-sig above
+BDEPEND+="
+ >=dev-build/make-3.81
+ virtual/pkgconfig
+ cpu_flags_x86_mmx? ( || ( >=dev-lang/nasm-2.13 >=dev-lang/yasm-1.3 ) )
+ cuda? ( >=sys-devel/clang-7[llvm_targets_NVPTX] )
+ doc? ( sys-apps/texinfo )
+ test? ( net-misc/wget app-alternatives/bc )
+"
+
+# Code requiring FFmpeg to be built under gpl license
+GPL_REQUIRED_USE="
+ postproc? ( gpl )
+ frei0r? ( gpl )
+ cdio? ( gpl )
+ rubberband? ( gpl )
+ vidstab? ( gpl )
+ samba? ( gpl )
+ encode? (
+ x264? ( gpl )
+ x265? ( gpl )
+ xvid? ( gpl )
+ )
+"
+REQUIRED_USE="
+ chromium? ( opus )
+ cuda? ( nvenc )
+ fftools_cws2fws? ( zlib )
+ glslang? ( vulkan !shaderc )
+ libv4l? ( v4l )
+ shaderc? ( vulkan !glslang )
+ soc? ( libdrm )
+ test? ( encode )
+ vulkan? ( threads )
+ ${GPL_REQUIRED_USE}
+ ${CPU_REQUIRED_USE}"
+RESTRICT="
+ !test? ( test )
+ gpl? ( openssl? ( bindist ) fdk? ( bindist ) )
+"
+
+PATCHES=(
+ "${FILESDIR}"/chromium-r2.patch
+ "${FILESDIR}"/${PN}-6.1-opencl-parallel-gmake-fix.patch
+)
+
+MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/libavutil/avconfig.h
+)
+
+pkg_setup() {
+ # ffmpeg[chromaprint] depends on chromaprint, and chromaprint[tools] depends on ffmpeg.
+ # May cause breakage while updating, #862996, #625210, #833821.
+ if has_version media-libs/chromaprint[tools] && use chromaprint; then
+ ewarn "You have media-libs/chromaprint installed with 'tools' USE flag, which "
+ ewarn "links to ffmpeg, and you have enabled 'chromaprint' USE flag for ffmpeg, "
+ ewarn "which links to chromaprint. This may cause issues while rebuilding ffmpeg."
+ ewarn ""
+ ewarn "If your build fails to 'ERROR: chromaprint not found', rebuild chromaprint "
+ ewarn "without the 'tools' use flag first, then rebuild ffmpeg, and then finally enable "
+ ewarn "'tools' USE flag for chromaprint. See #862996."
+ fi
+}
+
+src_prepare() {
+ if [[ "${PV%_p*}" != "${PV}" ]] ; then # Snapshot
+ export revision=git-N-${FFMPEG_REVISION}
+ fi
+
+ use soc &&
+ eapply "${DISTDIR}"/${SOC_PATCH}
+
+ default
+
+ # -fdiagnostics-color=auto gets appended after user flags which
+ # will ignore user's preference.
+ sed -i -e '/check_cflags -fdiagnostics-color=auto/d' configure || die
+
+ ln -snf "${FILESDIR}"/chromium.c chromium.c || die
+ echo 'include $(SRC_PATH)/ffbuild/libffmpeg.mak' >> Makefile || die
+
+ # We need to detect LTO usage before multilib stuff and filter-lto is called (bug #923491)
+ if tc-is-lto ; then
+ # Respect -flto value, e.g -flto=thin
+ local v="$(get-flag flto)"
+ [[ ${v} != -flto ]] && LTO_FLAG="--enable-lto=${v}" || LTO_FLAG="--enable-lto"
+ fi
+ filter-lto
+}
+
+multilib_src_configure() {
+ local myconf=( )
+
+ # Conditional patch options
+ use soc && myconf+=( --enable-v4l2-request --enable-libudev --enable-sand )
+
+ local ffuse=( "${FFMPEG_FLAG_MAP[@]}" )
+ use openssl && myconf+=( --enable-nonfree )
+ use samba && myconf+=( --enable-version3 )
+
+ # Encoders
+ if use encode ; then
+ ffuse+=( "${FFMPEG_ENCODER_FLAG_MAP[@]}" )
+
+ # Licensing.
+ if use amrenc ; then
+ myconf+=( --enable-version3 )
+ fi
+ else
+ myconf+=( --disable-encoders )
+ fi
+
+ # Indevs
+ use v4l || myconf+=( --disable-indev=v4l2 --disable-outdev=v4l2 )
+ for i in alsa oss jack sndio ; do
+ use ${i} || myconf+=( --disable-indev=${i} )
+ done
+
+ # Outdevs
+ for i in alsa oss sndio ; do
+ use ${i} || myconf+=( --disable-outdev=${i} )
+ done
+
+ # Decoders
+ use amr && myconf+=( --enable-version3 )
+ use gmp && myconf+=( --enable-version3 )
+ use libaribb24 && myconf+=( --enable-version3 )
+ use fdk && use gpl && myconf+=( --enable-nonfree )
+
+ for i in "${ffuse[@]#+}" ; do
+ myconf+=( $(use_enable ${i%:*} ${i#*:}) )
+ done
+
+ if use openssl ; then
+ myconf+=( --disable-gnutls )
+ has_version dev-libs/openssl:0/3 && myconf+=( --enable-version3 )
+ fi
+
+ # (temporarily) disable non-multilib deps
+ if ! multilib_is_native_abi; then
+ for i in librav1e libzmq ; do
+ myconf+=( --disable-${i} )
+ done
+ fi
+
+ # CPU features
+ for i in "${CPU_FEATURES_MAP[@]}" ; do
+ use ${i%:*} || myconf+=( --disable-${i#*:} )
+ done
+
+ if use pic ; then
+ myconf+=( --enable-pic )
+ # disable asm code if PIC is required
+ # as the provided asm decidedly is not PIC for x86.
+ [[ ${ABI} == x86 ]] && myconf+=( --disable-asm )
+ fi
+ [[ ${ABI} == x32 ]] && myconf+=( --disable-asm ) #427004
+
+ # Try to get cpu type based on CFLAGS.
+ # Bug #172723
+ # We need to do this so that features of that CPU will be better used
+ # If they contain an unknown CPU it will not hurt since ffmpeg's configure
+ # will just ignore it.
+ for i in $(get-flag mcpu) $(get-flag march) ; do
+ [[ ${i} = native ]] && i="host" # bug #273421
+ myconf+=( --cpu=${i} )
+ break
+ done
+
+ # LTO support, bug #566282, bug #754654, bug #772854
+ if [[ ${ABI} != x86 && ! -z ${LTO_FLAG} ]]; then
+ myconf+=( ${LTO_FLAG} )
+ fi
+
+ # Mandatory configuration
+ myconf=(
+ --disable-libaribcaption # libaribcaption is not packaged (yet?)
+ --disable-libxeve
+ --disable-libxevd
+ --disable-d3d12va
+ --enable-avfilter
+ --disable-stripping
+ # This is only for hardcoded cflags; those are used in configure checks that may
+ # interfere with proper detections, bug #671746 and bug #645778
+ # We use optflags, so that overrides them anyway.
+ --disable-optimizations
+ --disable-libcelt # bug #664158
+ "${myconf[@]}"
+ )
+
+ # cross compile support
+ if tc-is-cross-compiler ; then
+ myconf+=( --enable-cross-compile --arch=$(tc-arch-kernel) --cross-prefix=${CHOST}- --host-cc="$(tc-getBUILD_CC)" )
+ case ${CHOST} in
+ *mingw32*)
+ myconf+=( --target-os=mingw32 )
+ ;;
+ *linux*)
+ myconf+=( --target-os=linux )
+ ;;
+ esac
+ fi
+
+ # doc
+ myconf+=(
+ $(multilib_native_use_enable doc)
+ $(multilib_native_use_enable doc htmlpages)
+ $(multilib_native_enable manpages)
+ )
+
+ # Use --extra-libs if needed for LIBS
+ set -- "${S}/configure" \
+ --prefix="${EPREFIX}/usr" \
+ --libdir="${EPREFIX}/usr/$(get_libdir)" \
+ --shlibdir="${EPREFIX}/usr/$(get_libdir)" \
+ --docdir="${EPREFIX}/usr/share/doc/${PF}/html" \
+ --mandir="${EPREFIX}/usr/share/man" \
+ --enable-shared \
+ --cc="$(tc-getCC)" \
+ --cxx="$(tc-getCXX)" \
+ --ar="$(tc-getAR)" \
+ --nm="$(tc-getNM)" \
+ --strip="$(tc-getSTRIP)" \
+ --ranlib="$(tc-getRANLIB)" \
+ --pkg-config="$(tc-getPKG_CONFIG)" \
+ --optflags="${CFLAGS}" \
+ $(use_enable static-libs static) \
+ "${myconf[@]}" \
+ ${EXTRA_FFMPEG_CONF}
+ echo "${@}"
+ "${@}" || die
+}
+
+multilib_src_compile() {
+ emake V=1
+
+ if multilib_is_native_abi; then
+ for i in "${FFTOOLS[@]}" ; do
+ if use fftools_${i} ; then
+ emake V=1 tools/${i}$(get_exeext)
+ fi
+ done
+
+ use chromium &&
+ emake V=1 libffmpeg
+ fi
+}
+
+multilib_src_test() {
+ LD_LIBRARY_PATH="${BUILD_DIR}/libpostproc:${BUILD_DIR}/libswscale:${BUILD_DIR}/libswresample:${BUILD_DIR}/libavcodec:${BUILD_DIR}/libavdevice:${BUILD_DIR}/libavfilter:${BUILD_DIR}/libavformat:${BUILD_DIR}/libavutil" \
+ emake V=1 fate -k
+}
+
+multilib_src_install() {
+ emake V=1 DESTDIR="${D}" install install-doc
+
+ if multilib_is_native_abi; then
+ for i in "${FFTOOLS[@]}" ; do
+ if use fftools_${i} ; then
+ dobin tools/${i}$(get_exeext)
+ fi
+ done
+
+ use chromium &&
+ emake V=1 DESTDIR="${D}" install-libffmpeg
+ fi
+}
+
+multilib_src_install_all() {
+ dodoc Changelog README.md CREDITS doc/*.txt doc/APIchanges
+ [ -f "RELEASE_NOTES" ] && dodoc "RELEASE_NOTES"
+}
diff --git a/media-video/ffmpeg/ffmpeg-9999.ebuild b/media-video/ffmpeg/ffmpeg-9999.ebuild
index 8294c24da0d7..357a04d67a61 100644
--- a/media-video/ffmpeg/ffmpeg-9999.ebuild
+++ b/media-video/ffmpeg/ffmpeg-9999.ebuild
@@ -86,7 +86,7 @@ LICENSE="
"
SLOT="0/${FFMPEG_SUBSLOT}"
if [ "${PV#9999}" = "${PV}" ] ; then
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
fi
# Options to use as use_enable in the foo[:bar] form.
@@ -210,7 +210,7 @@ IUSE="${IUSE} ${FFTOOLS[@]/#/+fftools_}"
RDEPEND="
alsa? ( >=media-libs/alsa-lib-1.0.27.2[${MULTILIB_USEDEP}] )
- amf? ( media-video/amdgpu-pro-amf:= )
+ amf? ( media-video/amdgpu-pro-amf )
amr? ( >=media-libs/opencore-amr-0.1.3-r1[${MULTILIB_USEDEP}] )
bluray? ( >=media-libs/libbluray-0.3.0-r1:=[${MULTILIB_USEDEP}] )
bs2b? ( >=media-libs/libbs2b-3.1.0-r1[${MULTILIB_USEDEP}] )
@@ -300,7 +300,7 @@ RDEPEND="
x11-libs/cairo[${MULTILIB_USEDEP}]
)
nvenc? ( >=media-libs/nv-codec-headers-11.1.5.3 )
- svt-av1? ( >=media-libs/svt-av1-0.9.0[${MULTILIB_USEDEP}] )
+ svt-av1? ( >=media-libs/svt-av1-0.9.0:=[${MULTILIB_USEDEP}] )
truetype? (
>=media-libs/freetype-2.5.0.1:2[${MULTILIB_USEDEP}]
media-libs/harfbuzz:=[${MULTILIB_USEDEP}]
@@ -435,15 +435,6 @@ multilib_src_configure() {
# Conditional patch options
use soc && myconf+=( --enable-v4l2-request --enable-libudev --enable-sand )
- # bug 842201
- use ia64 && tc-is-gcc && append-flags \
- -fno-tree-ccp \
- -fno-tree-dominator-opts \
- -fno-tree-fre \
- -fno-code-hoisting \
- -fno-tree-pre \
- -fno-tree-vrp
-
local ffuse=( "${FFMPEG_FLAG_MAP[@]}" )
use openssl && myconf+=( --enable-nonfree )
use samba && myconf+=( --enable-version3 )
@@ -619,6 +610,4 @@ multilib_src_install() {
multilib_src_install_all() {
dodoc Changelog README.md CREDITS doc/*.txt doc/APIchanges
[ -f "RELEASE_NOTES" ] && dodoc "RELEASE_NOTES"
-
- use amf && newenvd "${FILESDIR}"/amf-env-vulkan-override 99amf-env-vulkan-override
}
diff --git a/media-video/ffmpeg/files/amf-env-vulkan-override b/media-video/ffmpeg/files/amf-env-vulkan-override
deleted file mode 100644
index 41ee27911178..000000000000
--- a/media-video/ffmpeg/files/amf-env-vulkan-override
+++ /dev/null
@@ -1 +0,0 @@
-VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/amd_pro_icd64.json
diff --git a/media-video/ffmpeg/files/ffmpeg-4.4.5-incmptbl-pntr-types.patch b/media-video/ffmpeg/files/ffmpeg-4.4.5-incmptbl-pntr-types.patch
new file mode 100644
index 000000000000..a47a62917a29
--- /dev/null
+++ b/media-video/ffmpeg/files/ffmpeg-4.4.5-incmptbl-pntr-types.patch
@@ -0,0 +1,15 @@
+https://bugs.gentoo.org/936433
+
+diff --git a/libavutil/hwcontext_vaapi.c b/libavutil/hwcontext_vaapi.c
+index 4b81bd1..4e7f49f 100644
+--- a/libavutil/hwcontext_vaapi.c
++++ b/libavutil/hwcontext_vaapi.c
+@@ -1032,7 +1032,7 @@ static int vaapi_map_from_drm(AVHWFramesContext *src_fc, AVFrame *dst,
+ uint32_t va_fourcc;
+ int err, i, j, k;
+
+- unsigned long buffer_handle;
++ uintptr_t buffer_handle;
+ VASurfaceAttribExternalBuffers buffer_desc;
+ VASurfaceAttrib attrs[2] = {
+ {
diff --git a/media-video/ffmpeg/files/ffmpeg-6.0-binutils-2.41.patch b/media-video/ffmpeg/files/ffmpeg-6.0-binutils-2.41.patch
deleted file mode 100644
index a06b9119666f..000000000000
--- a/media-video/ffmpeg/files/ffmpeg-6.0-binutils-2.41.patch
+++ /dev/null
@@ -1,76 +0,0 @@
-https://bugs.gentoo.org/911582
-https://trac.ffmpeg.org/ticket/10405
-https://git.videolan.org/?p=ffmpeg.git;a=commit;h=cc703cf60759d9798f440a9417e4efa2fcbe2747
-https://sourceware.org/PR30578
-https://gcc.gnu.org/PR108941
-
-From cc703cf60759d9798f440a9417e4efa2fcbe2747 Mon Sep 17 00:00:00 2001
-From: =?utf8?q?R=C3=A9mi=20Denis-Courmont?= <remi@remlab.net>
-Date: Sun, 16 Jul 2023 18:18:02 +0300
-Subject: [PATCH] avcodec/x86/mathops: clip constants used with shift
- instructions within inline assembly
-
-Fixes assembling with binutil as >= 2.41
-
-Signed-off-by: James Almer <jamrial@gmail.com>
-(cherry picked from commit effadce6c756247ea8bae32dc13bb3e6f464f0eb)
---- a/libavcodec/x86/mathops.h
-+++ b/libavcodec/x86/mathops.h
-@@ -35,12 +35,20 @@
- static av_always_inline av_const int MULL(int a, int b, unsigned shift)
- {
- int rt, dummy;
-+ if (__builtin_constant_p(shift))
- __asm__ (
- "imull %3 \n\t"
- "shrdl %4, %%edx, %%eax \n\t"
- :"=a"(rt), "=d"(dummy)
-- :"a"(a), "rm"(b), "ci"((uint8_t)shift)
-+ :"a"(a), "rm"(b), "i"(shift & 0x1F)
- );
-+ else
-+ __asm__ (
-+ "imull %3 \n\t"
-+ "shrdl %4, %%edx, %%eax \n\t"
-+ :"=a"(rt), "=d"(dummy)
-+ :"a"(a), "rm"(b), "c"((uint8_t)shift)
-+ );
- return rt;
- }
-
-@@ -113,19 +121,31 @@ __asm__ volatile(\
- // avoid +32 for shift optimization (gcc should do that ...)
- #define NEG_SSR32 NEG_SSR32
- static inline int32_t NEG_SSR32( int32_t a, int8_t s){
-+ if (__builtin_constant_p(s))
- __asm__ ("sarl %1, %0\n\t"
- : "+r" (a)
-- : "ic" ((uint8_t)(-s))
-+ : "i" (-s & 0x1F)
- );
-+ else
-+ __asm__ ("sarl %1, %0\n\t"
-+ : "+r" (a)
-+ : "c" ((uint8_t)(-s))
-+ );
- return a;
- }
-
- #define NEG_USR32 NEG_USR32
- static inline uint32_t NEG_USR32(uint32_t a, int8_t s){
-+ if (__builtin_constant_p(s))
- __asm__ ("shrl %1, %0\n\t"
- : "+r" (a)
-- : "ic" ((uint8_t)(-s))
-+ : "i" (-s & 0x1F)
- );
-+ else
-+ __asm__ ("shrl %1, %0\n\t"
-+ : "+r" (a)
-+ : "c" ((uint8_t)(-s))
-+ );
- return a;
- }
-
---
-2.30.2
diff --git a/media-video/ffmpeg/files/ffmpeg-6.0-wint-conversion-vulkan.patch b/media-video/ffmpeg/files/ffmpeg-6.0-wint-conversion-vulkan.patch
deleted file mode 100644
index 2c71a189329a..000000000000
--- a/media-video/ffmpeg/files/ffmpeg-6.0-wint-conversion-vulkan.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-https://git.videolan.org/?p=ffmpeg.git;a=commit;h=58f18df430d48e47a82c5e740d6e63a50c97d75f
-
-From 58f18df430d48e47a82c5e740d6e63a50c97d75f Mon Sep 17 00:00:00 2001
-From: =?utf8?q?Kacper=20Michaj=C5=82ow?= <kasper93@gmail.com>
-Date: Thu, 2 Mar 2023 17:27:30 +0100
-Subject: [PATCH] lavu/vulkan: fix handle type for 32-bit targets
-MIME-Version: 1.0
-Content-Type: text/plain; charset=utf8
-Content-Transfer-Encoding: 8bit
-
-Fixes compilation with clang which errors out on Wint-conversion.
-
-Signed-off-by: Kacper MichajÅow <kasper93@gmail.com>
-Signed-off-by: Martin Storsjö <martin@martin.st>
-(cherry picked from commit cc76e8340d28438c1ac56ee7dfd774d25e944264)
-Signed-off-by: Martin Storsjö <martin@martin.st>
---- a/libavutil/hwcontext_vulkan.c
-+++ b/libavutil/hwcontext_vulkan.c
-@@ -1149,7 +1149,7 @@ static void free_exec_ctx(AVHWFramesContext *hwfc, VulkanExecCtx *cmd)
-
- av_freep(&cmd->queues);
- av_freep(&cmd->bufs);
-- cmd->pool = NULL;
-+ cmd->pool = VK_NULL_HANDLE;
- }
-
- static VkCommandBuffer get_buf_exec_ctx(AVHWFramesContext *hwfc, VulkanExecCtx *cmd)
---- a/libavutil/vulkan.h
-+++ b/libavutil/vulkan.h
-@@ -122,7 +122,11 @@ typedef struct FFVulkanPipeline {
- VkDescriptorSetLayout *desc_layout;
- VkDescriptorPool desc_pool;
- VkDescriptorSet *desc_set;
-+#if VK_USE_64_BIT_PTR_DEFINES == 1
- void **desc_staging;
-+#else
-+ uint64_t *desc_staging;
-+#endif
- VkDescriptorSetLayoutBinding **desc_binding;
- VkDescriptorUpdateTemplate *desc_template;
- int *desc_set_initialized;
---
-2.30.2
diff --git a/media-video/ffmpegthumbnailer/ffmpegthumbnailer-2.2.2-r1.ebuild b/media-video/ffmpegthumbnailer/ffmpegthumbnailer-2.2.2-r1.ebuild
index fe3bdd09679e..6a940ef78356 100644
--- a/media-video/ffmpegthumbnailer/ffmpegthumbnailer-2.2.2-r1.ebuild
+++ b/media-video/ffmpegthumbnailer/ffmpegthumbnailer-2.2.2-r1.ebuild
@@ -11,7 +11,7 @@ SRC_URI="https://github.com/dirkvdb/${PN}/releases/download/${PV}/${P}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv sparc x86"
IUSE="gnome gtk jpeg png test"
RESTRICT="!test? ( test )"
diff --git a/media-video/gnome-video-effects/gnome-video-effects-0.5.0-r1.ebuild b/media-video/gnome-video-effects/gnome-video-effects-0.5.0-r1.ebuild
index 9046f8687f34..5149615fad73 100644
--- a/media-video/gnome-video-effects/gnome-video-effects-0.5.0-r1.ebuild
+++ b/media-video/gnome-video-effects/gnome-video-effects-0.5.0-r1.ebuild
@@ -10,7 +10,7 @@ HOMEPAGE="https://wiki.gnome.org/Projects/GnomeVideoEffects"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~alpha amd64 ~arm arm64 ~ia64 ~ppc ~ppc64 ~riscv ~sparc x86"
+KEYWORDS="~alpha amd64 ~arm arm64 ~ppc ~ppc64 ~riscv ~sparc x86"
DEPEND=""
RDEPEND=""
diff --git a/media-video/handbrake/handbrake-1.6.1.ebuild b/media-video/handbrake/handbrake-1.6.1.ebuild
index 427b5614f5b4..2fbb8d88ba6b 100644
--- a/media-video/handbrake/handbrake-1.6.1.ebuild
+++ b/media-video/handbrake/handbrake-1.6.1.ebuild
@@ -43,7 +43,7 @@ RDEPEND="
>=media-libs/libvpx-1.12.0:=
media-libs/opus
>=media-libs/speex-1.2.1
- >=media-libs/svt-av1-1.4.1
+ >=media-libs/svt-av1-1.4.1:=
>=media-libs/x264-0.0.20220222:=
>=media-libs/zimg-3.0.4
media-sound/lame
diff --git a/media-video/handbrake/handbrake-9999.ebuild b/media-video/handbrake/handbrake-9999.ebuild
index 0201e9e8dd27..d12123f0bf5e 100644
--- a/media-video/handbrake/handbrake-9999.ebuild
+++ b/media-video/handbrake/handbrake-9999.ebuild
@@ -43,7 +43,7 @@ RDEPEND="
>=media-libs/libvpx-1.12.0:=
media-libs/opus
>=media-libs/speex-1.2.1
- >=media-libs/svt-av1-1.4.1
+ >=media-libs/svt-av1-1.4.1:=
>=media-libs/x264-0.0.20220222:=
>=media-libs/zimg-3.0.4
media-sound/lame
diff --git a/media-video/hevc-hm/hevc-hm-17.0.ebuild b/media-video/hevc-hm/hevc-hm-17.0.ebuild
index db7b1b83085a..958e4a2525ca 100644
--- a/media-video/hevc-hm/hevc-hm-17.0.ebuild
+++ b/media-video/hevc-hm/hevc-hm-17.0.ebuild
@@ -11,7 +11,7 @@ SRC_URI="https://vcgit.hhi.fraunhofer.de/jvet/HM/-/archive/HM-${PV}/HM-HM-${PV}.
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
S="${WORKDIR}/HM-HM-${PV}"
diff --git a/media-video/imagination/Manifest b/media-video/imagination/Manifest
index f62bd64e44c3..f48464c853f6 100644
--- a/media-video/imagination/Manifest
+++ b/media-video/imagination/Manifest
@@ -1,2 +1 @@
-DIST imagination-3.0.tar.gz 3327784 BLAKE2B 0322a68ab6c44e2b0d47bb89de6522249ca3507808ee3733f2f195923c4269591c2225271ef27b24c648cb6784a5c85bd6ca97142072e52641bdf7f80b9a9bc7 SHA512 0780ab572d8f4fc1e728befef79f974169438d723f67205e677c06cbe0dac06745868936e7d3eab5fc42728902f6b06eb5f9d7e836532c289df005ddab2104b8
DIST imagination-3.6.tar.gz 3553509 BLAKE2B 39b345b073b123e68ab6a025b03ca23a38191cb2d2f5163d8b7722a8891d254f9fc7b54461c7d741ba6d2e7b25cb2029d9eec55e5115a5b8504dd85985c740aa SHA512 673651cf59baded805ba3993c6f9dff83f20ae9174d5f5e07b99d9d590eb817e6733cbc130a3d32502a84fa29bd78c4f1dd093c01aaedfef5f9425a59125865d
diff --git a/media-video/imagination/files/imagination-3.0-cflags.patch b/media-video/imagination/files/imagination-3.0-cflags.patch
deleted file mode 100644
index 1b38a9aeff71..000000000000
--- a/media-video/imagination/files/imagination-3.0-cflags.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-diff --git a/configure.in b/configure.in
-index 0be7802..d19c8ec 100644
---- a/configure.in
-+++ b/configure.in
-@@ -24,7 +24,7 @@
- AM_PROG_LIBTOOL
- LIBTOOL="$LIBTOOL --silent"
-
--pkg_modules="gtk+-2.0 >= 2.14.0 gthread-2.0"
-+pkg_modules="gtk+-2.0 >= 2.14.0 gthread-2.0 gmodule-2.0"
- PKG_CHECK_MODULES(PACKAGE, [$pkg_modules])
-
- sox_modules="sox >= 14.2.0"
-@@ -33,6 +33,11 @@
- plugins_modules="cairo >= 1.6 glib-2.0 > 2.18.0"
- PKG_CHECK_MODULES(PLUGINS, [$plugins_modules])
-
-+dnl Check for libm for sqrtf()
-+AC_SEARCH_LIBS([sqrtf], [m], [], [
-+ AC_MSG_ERROR([unable to find the sqrtf() function])
-+])
-+
- # get svn revision
- REVISION="r0"
- if test "x${REVISION}" = "xr0"
-@@ -46,7 +51,7 @@
- if test "x${REVISION}" != "xr0"
- then
- # force debug mode for a SVN working copy
-- CFLAGS="-g -Wall"
-+ CFLAGS +="-Wall"
- else
- REVISION="-1"
- fi
diff --git a/media-video/imagination/files/imagination-3.0-enable-translations.patch b/media-video/imagination/files/imagination-3.0-enable-translations.patch
deleted file mode 100644
index d829129d8c77..000000000000
--- a/media-video/imagination/files/imagination-3.0-enable-translations.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/src/support.h
-+++ b/src/support.h
-@@ -20,7 +20,7 @@
- #ifndef __IMAGINATION_SUPPORT_H
- #define __IMAGINATION_SUPPORT_H
-
--#define PLUGINS_INSTALLED 0
-+#define PLUGINS_INSTALLED 1
-
- #ifdef HAVE_CONFIG_H
- # include <config.h>
diff --git a/media-video/imagination/imagination-3.0-r2.ebuild b/media-video/imagination/imagination-3.0-r2.ebuild
deleted file mode 100644
index ccbedf7474e0..000000000000
--- a/media-video/imagination/imagination-3.0-r2.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools desktop
-
-DESCRIPTION="Simple DVD slideshow maker"
-HOMEPAGE="https://imagination.sourceforge.net/"
-SRC_URI="https://downloads.sourceforge.net/${PN}/${PN}/${PV}/${P}.tar.gz"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-DEPEND="
- media-sound/sox:=
- x11-libs/cairo:=
- x11-libs/gtk+:2"
-RDEPEND="${DEPEND}
- media-video/ffmpeg"
-
-PATCHES=(
- "${FILESDIR}"/${P}-cflags.patch
- "${FILESDIR}"/${P}-enable-translations.patch
- "${FILESDIR}"/${P}-fix-htmldir.patch
-)
-
-src_prepare() {
- default
- mv configure.{in,ac} || die
- eautoreconf
-}
-
-src_install() {
- default
- doicon icons/48x48/${PN}.png
-
- # only plugins
- find "${D}" -name '*.la' -delete || die
-}
diff --git a/media-video/jellyfin-media-player/Manifest b/media-video/jellyfin-media-player/Manifest
index a67f2b616569..1f37a26d2c55 100644
--- a/media-video/jellyfin-media-player/Manifest
+++ b/media-video/jellyfin-media-player/Manifest
@@ -1,3 +1,4 @@
+DIST jellyfin-media-player-1.11.1.tar.gz 514141 BLAKE2B 00984b9241613a94ab0c27f21c4202ca064ff42cba8ba3d01b7bda20af53e80aa4ce14df9a8e906574d94fb3146a68cc84bc61e2be94d4e16ce087c97494de5b SHA512 24616c36e92e168655f6c37ef214ad7aa46df1cb331e1bff225b83b83da18fa91fb66d13145744c20cf49d2b92132cff065f6e8429bc111fd1be1a3d68a9c8ec
DIST jellyfin-media-player-1.7.1.tar.gz 575001 BLAKE2B b650f981427721a254fd1dcaa58ebf9f93aba47de50f8c24db27e917de8cd8ebb3da67afa68990845f9e019aac0c8d81f5440dd72f604aa74cdc71d8cc476d8f SHA512 7f8cd4c9094254a133430b1d1594d44a92696cd769323ecc51ef973dde1f09b013f9ade0affb9e364d922935994613f662667af46f90aae2ae04d6cb9deb86f0
DIST jellyfin-media-player-1.8.1.tar.gz 582343 BLAKE2B a5fa8d20cd3ec6e4444c1e9d90b93622f7435c2ccbf886c02ce744aa7aeb5a2440b07b3e5b3edb81bb6675d82958f5d63147412dd3d28fced60060de5724e52b SHA512 821bfa42e981d996c7f32f3951e625749a74636ebcb6a6c68c606282fb0db6d4c205419887828cc0dcdd3005d88b237977a01a82e2800a489c8bf3abac33630f
DIST jellyfin-media-player-1.9.0.tar.gz 519208 BLAKE2B c64bb40011dd3761144e70c9549329c921156d9b0c46425e9812d6210baa8b90df7ac8f5af3379da76f6b8c6a55a3d8ac903ce5481895135eaea720d2ce936a2 SHA512 58c35530d61405ed5ff5a73c8a4f3869b21e0b0b0eb5cef7cf15b846543f1070d5c2b4dbfc102c6b4fbce5cb844fea711045d39c1a6bae9c882ad24c6ccd0333
diff --git a/media-video/jellyfin-media-player/jellyfin-media-player-1.11.1.ebuild b/media-video/jellyfin-media-player/jellyfin-media-player-1.11.1.ebuild
new file mode 100644
index 000000000000..f2716ede9ed4
--- /dev/null
+++ b/media-video/jellyfin-media-player/jellyfin-media-player-1.11.1.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+inherit cmake python-any-r1
+
+DESCRIPTION="Jellyfin Desktop Client based on Plex Media Player"
+HOMEPAGE="https://github.com/jellyfin/jellyfin-media-player"
+
+SRC_URI="
+ https://github.com/jellyfin/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz
+"
+
+LICENSE="GPL-2"
+SLOT="0"
+
+KEYWORDS="~amd64"
+IUSE="+dbus"
+
+DEPEND="
+ dev-libs/libcec
+ dev-qt/qtcore:5
+ dev-qt/qtdeclarative:5
+ dev-qt/qtgui:5
+ dev-qt/qtnetwork:5
+ dev-qt/qtquickcontrols:5
+ dev-qt/qtwebchannel:5
+ dev-qt/qtwebengine:5
+ dev-qt/qtwidgets:5
+ dev-qt/qtwidgets:5
+ dev-qt/qtx11extras:5
+ dev-qt/qtxml:5
+ media-libs/libsdl2
+ media-video/mpv:=[libmpv]
+ sys-libs/zlib
+ virtual/opengl
+ x11-libs/libX11
+ x11-libs/libXrandr
+ dbus? ( dev-qt/qtdbus:5 )
+"
+
+BDEPEND="
+ ${PYTHON_DEPS}
+ virtual/pkgconfig
+"
+
+# x11-misc/xdg-utils is used for xdg-screensaver, which is used to inhibit
+# screen locking
+
+RDEPEND="
+ ${DEPEND}
+ !dbus? ( x11-misc/xdg-utils )
+"
+
+src_configure() {
+ local mycmakeargs=(
+ -DOpenGL_GL_PREFERENCE=GLVND
+ # PMP, at least prior to the fork into JMP, used to download codecs,
+ # for safe measure, disable that.
+ -DENABLE_CODECS=OFF
+ # LINUX_X11POWER instructs JMP to use xdg-screensaver instead of dbus
+ # for inhibiting screen saving.
+ -DLINUX_X11POWER="$(usex dbus OFF ON)"
+ )
+ cmake_src_configure
+}
diff --git a/media-video/kaffeine/Manifest b/media-video/kaffeine/Manifest
index 2a7daee2655a..c15a50861660 100644
--- a/media-video/kaffeine/Manifest
+++ b/media-video/kaffeine/Manifest
@@ -1,4 +1,3 @@
DIST kaffeine-2.0.18-patchset.tar.xz 29600 BLAKE2B b7e4fa7c367ded01ddbdc258d2b6cac904fefe44b34668e64f7c4d9d2933abe42aeaee64c4889cee050d131ac6aac8bb58b6685523d0e6bdb019430fdd2a269d SHA512 66d9a2f1820fd284b601245c6b7d5eac927e8e1c22e86ef2d84177c0e3f23f2bf6dacfe51f6512dfcaed3d7c59aad522ee9e3555ec2940179fe6b2b3a4fb7f98
DIST kaffeine-2.0.18-r3-scantable.dvb 1980400 BLAKE2B dcc43fcd04cc155ae99e35a32de15f9823007f68041a4b3fc6fce143d2b66e3c209d945a24e9aea968b195b782d8ffb5d21533cba21fb48ffedb77d82f28d5f2 SHA512 de93c5dbecdb7549b03a1809891a33ee216a1592a140fcce81649e4355ac9e51898ca6a2d7b0d302e3e92191800fbd50033902a06fc6672ca3590eb4d7be2f98
-DIST kaffeine-2.0.18-scantable.dvb 1880456 BLAKE2B e435309f0a11cb6ecb9671c0948c6afdf4c946bc0914c0809945002e353383bb539e1c5594a0a52f2968393623c56914b360b37e5b24a0c17a8f3a60b100ad6a SHA512 2d00987eb261e6f52df490dd44b43567f7d4e3bdcfd0eb2f62e064604d91661e9754cf9e5462b491009fcb35bdca681f4be2a9f06b6b6d47a5b44f5819dbf4fe
DIST kaffeine-2.0.18.tar.xz 6033112 BLAKE2B c9a0fbd58f7ee4ed8ad44cbed59d95cde7df8ba9c2f5f341df74e6a771293756434e38adb7706baf224a684b56453601099fcac9bf27fd7ec935073a0c30ec19 SHA512 60854251f25e7de94928686f647e6e0f07ca40188e8dfd8140985f1dfbb53bb4d92ff42c29e216431500839d7eb83b81f386bac3a8a86dd8c986a611ec0db3a4
diff --git a/media-video/kaffeine/files/kaffeine-2.0.18-wayland-window-activation.patch b/media-video/kaffeine/files/kaffeine-2.0.18-wayland-window-activation.patch
deleted file mode 100644
index 2c4cc7a6f862..000000000000
--- a/media-video/kaffeine/files/kaffeine-2.0.18-wayland-window-activation.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 389c812c3afffc5184492039a80bee24a8104815 Mon Sep 17 00:00:00 2001
-From: Nicolas Fella <nicolas.fella@gmx.de>
-Date: Sun, 15 May 2022 18:38:07 +0200
-Subject: [PATCH] Fix activating existing window
-
-Also raise window when no arguments were passed
-
-Use KWindowSystem API that also works on Wayland
----
- src/main.cpp | 11 +++++++----
- 1 file changed, 7 insertions(+), 4 deletions(-)
-
-diff --git a/src/main.cpp b/src/main.cpp
-index 68677fd..b5a07dc 100644
---- a/src/main.cpp
-+++ b/src/main.cpp
-@@ -178,12 +178,11 @@ KaffeineApplication::KaffeineApplication(int &argc, char **argv) : QApplication(
- void KaffeineApplication::activateRequested(const QStringList &arguments,
- const QString &workingDirectory)
- {
-- if (arguments.isEmpty())
-- return;
--
- parser.parse(arguments);
-+
-+ KWindowSystem::updateStartupId(mainWindow->windowHandle());
-+ KWindowSystem::activateWindow(mainWindow->windowHandle());
-- KStartupInfo::setNewStartupId(mainWindow, KStartupInfo::startupId());
- KWindowSystem::forceActiveWindow(mainWindow->winId());
- mainWindow->parseArgs(workingDirectory);
- }
-
---
-GitLab
-
diff --git a/media-video/kaffeine/kaffeine-2.0.18-r2.ebuild b/media-video/kaffeine/kaffeine-2.0.18-r2.ebuild
deleted file mode 100644
index f988700d6e1d..000000000000
--- a/media-video/kaffeine/kaffeine-2.0.18-r2.ebuild
+++ /dev/null
@@ -1,69 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-ECM_HANDBOOK="optional"
-KFMIN=5.92.0
-QTMIN=5.15.5
-inherit ecm kde.org
-
-if [[ ${KDE_BUILD_TYPE} == release ]]; then
- SRC_URI="mirror://kde/stable/${PN}/${P}.tar.xz
- https://linuxtv.org/downloads/dtv-scan-tables/${PN}/scantable.dvb -> ${P}-scantable.dvb"
- KEYWORDS="amd64 x86"
-fi
-
-DESCRIPTION="Media player with digital TV support by KDE"
-HOMEPAGE="https://apps.kde.org/kaffeine/ https://userbase.kde.org/Kaffeine"
-
-LICENSE="GPL-2+ handbook? ( FDL-1.3 )"
-SLOT="5"
-IUSE="dvb"
-
-DEPEND="
- >=dev-qt/qtdbus-${QTMIN}:5
- >=dev-qt/qtgui-${QTMIN}:5
- >=dev-qt/qtnetwork-${QTMIN}:5
- >=dev-qt/qtsql-${QTMIN}:5[sqlite]
- >=dev-qt/qtwidgets-${QTMIN}:5
- >=dev-qt/qtx11extras-${QTMIN}:5
- >=dev-qt/qtxml-${QTMIN}:5
- >=kde-frameworks/kconfig-${KFMIN}:5
- >=kde-frameworks/kconfigwidgets-${KFMIN}:5
- >=kde-frameworks/kcoreaddons-${KFMIN}:5
- >=kde-frameworks/kdbusaddons-${KFMIN}:5
- >=kde-frameworks/ki18n-${KFMIN}:5
- >=kde-frameworks/kio-${KFMIN}:5
- >=kde-frameworks/kwidgetsaddons-${KFMIN}:5
- >=kde-frameworks/kwindowsystem-${KFMIN}:5
- >=kde-frameworks/kxmlgui-${KFMIN}:5
- >=kde-frameworks/solid-${KFMIN}:5
- media-video/vlc[X]
- x11-libs/libXScrnSaver
- dvb? ( media-libs/libv4l[dvb] )
-"
-RDEPEND="${DEPEND}"
-BDEPEND="
- sys-devel/gettext
- virtual/pkgconfig
-"
-
-DOCS=( Changelog NOTES README.md )
-
-PATCHES=( "${FILESDIR}/${P}-wayland-window-activation.patch" )
-
-src_prepare() {
- ecm_src_prepare
- cp -av "${DISTDIR}"/kaffeine-2.0.18-scantable.dvb src/scantable.dvb || die
-}
-
-src_configure() {
- # tools working on $HOME directory for a local git checkout
- local mycmakeargs=(
- -DBUILD_TOOLS=OFF
- $(cmake_use_find_package dvb Libdvbv5)
- )
-
- ecm_src_configure
-}
diff --git a/media-video/kaffeine/kaffeine-2.0.18-r3.ebuild b/media-video/kaffeine/kaffeine-2.0.18-r3.ebuild
index bb6e662ce6a2..c49400b0d90f 100644
--- a/media-video/kaffeine/kaffeine-2.0.18-r3.ebuild
+++ b/media-video/kaffeine/kaffeine-2.0.18-r3.ebuild
@@ -14,7 +14,7 @@ if [[ ${KDE_BUILD_TYPE} == release ]]; then
SRC_URI="mirror://kde/stable/${PN}/${P}.tar.xz
https://linuxtv.org/downloads/dtv-scan-tables/${PN}/scantable.dvb -> ${SCANTABLE}"
SRC_URI+=" https://dev.gentoo.org/~asturm/distfiles/${PATCHSET}.tar.xz"
- KEYWORDS="~amd64 ~x86"
+ KEYWORDS="amd64 x86"
fi
DESCRIPTION="Media player with digital TV support by KDE"
diff --git a/media-video/libva-utils/libva-utils-2.22.0.ebuild b/media-video/libva-utils/libva-utils-2.22.0.ebuild
index 60f57e6e4c4a..4de57531c234 100644
--- a/media-video/libva-utils/libva-utils-2.22.0.ebuild
+++ b/media-video/libva-utils/libva-utils-2.22.0.ebuild
@@ -12,7 +12,7 @@ if [[ ${PV} = *9999 ]] ; then
EGIT_REPO_URI="https://github.com/intel/libva-utils"
else
SRC_URI="https://github.com/intel/libva-utils/archive/${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
+ KEYWORDS="amd64 arm64 ~loong ppc64 ~riscv x86 ~amd64-linux ~x86-linux"
fi
LICENSE="MIT"
diff --git a/media-video/lsdvd/lsdvd-0.17.ebuild b/media-video/lsdvd/lsdvd-0.17.ebuild
index 8e7ad78a3d30..1f6f3484592a 100644
--- a/media-video/lsdvd/lsdvd-0.17.ebuild
+++ b/media-video/lsdvd/lsdvd-0.17.ebuild
@@ -11,7 +11,7 @@ SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~alpha amd64 ~ia64 ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
+KEYWORDS="~alpha amd64 ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
RDEPEND="media-libs/libdvdread:0="
DEPEND="${RDEPEND}"
diff --git a/media-video/makemkv/Manifest b/media-video/makemkv/Manifest
index a81343186078..fa550f132047 100644
--- a/media-video/makemkv/Manifest
+++ b/media-video/makemkv/Manifest
@@ -1,2 +1,4 @@
DIST makemkv-bin-1.17.7.tar.gz 16420879 BLAKE2B adc54191fd445832b9c4805400746e42d1b3261d076299b5e34beb1f13d80bf7bcbd113699f3d28fce5e21bb8f810a40927924b3d9c7250467d1979b1bf4f72b SHA512 2c93dd6e63c5e59415ad8a9a1370f7a1eddda2b643fa4dcde6383abb6065b84a77b03b977bf2ade50bc2d3560bb245ad2e1e79bab21629f7fc5816598738a5d9
+DIST makemkv-bin-1.17.8.tar.gz 17859805 BLAKE2B 0ddbcd50a44a98c118420485c7c8e48a1c03290ac840b22ab8119d5cd6db0743e746ca9cbdd7fd714f49a2a37420645c820477c5c7d7b189763b5a46de342e9d SHA512 033c51a818ccf6537f9709d6d19ce81d89edded7dfa1c24fb080c4c7caf6ae267e18722b39ee27e70752f18d502c819c8c582fc53fbc153013713046ef756c01
DIST makemkv-oss-1.17.7.tar.gz 6618248 BLAKE2B 18652db1d72ea7287e7e38706afc589e6fe8fb1fbf9d4e24770b9a2bfe670a464b2c21b7c543b23d3c6234f40048358d944b123897c4f569beb31faac8ef3eb7 SHA512 e21bc293133d7f999b3ea4258f01f0b88c5a58610da0185d8f74b724d61578211d35d5d44fae1610887e98f3ff36b2f0df33068d8647ad8983020be49adde037
+DIST makemkv-oss-1.17.8.tar.gz 6627058 BLAKE2B 76ffcf0a67c2ee6b05820006ff7926accef7939374b328d709dbbf6c746f010e273f89748a2a3386679b83f2af0b4f3e41f31e8acaf29cdbaeffccaf25b57500 SHA512 4c8d462933138a614afdf4fe5a896400e92299f9ed1882596dd28168c65a654b51ed89c4b0571d60255c2709c0f1dc8b108d4e7d3bbb84842813a661b28f504b
diff --git a/media-video/makemkv/makemkv-1.17.8.ebuild b/media-video/makemkv/makemkv-1.17.8.ebuild
new file mode 100644
index 000000000000..c8dd8c6309b2
--- /dev/null
+++ b/media-video/makemkv/makemkv-1.17.8.ebuild
@@ -0,0 +1,126 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic linux-info xdg
+
+MY_P=makemkv-oss-${PV}
+MY_PB=makemkv-bin-${PV}
+
+DESCRIPTION="Tool for ripping and streaming Blu-ray, HD-DVD and DVD discs"
+HOMEPAGE="http://www.makemkv.com/"
+SRC_URI="http://www.makemkv.com/download/${MY_P}.tar.gz
+ http://www.makemkv.com/download/${MY_PB}.tar.gz"
+S="${WORKDIR}/${MY_P}"
+LICENSE="GPL-2 LGPL-2.1 MPL-1.1 MakeMKV-EULA openssl"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+IUSE="+gui +java"
+RESTRICT="bindist mirror"
+
+QA_PREBUILT="usr/bin/makemkvcon usr/bin/mmdtsdec"
+
+DEPEND="
+ dev-libs/expat
+ dev-libs/openssl:0=[-bindist(-)]
+ >=media-video/ffmpeg-1.0.0:0=
+ sys-libs/glibc
+ sys-libs/zlib
+ gui? (
+ dev-qt/qtcore:5
+ dev-qt/qtdbus:5
+ dev-qt/qtgui:5
+ dev-qt/qtwidgets:5
+ )
+"
+RDEPEND="
+ ${DEPEND}
+ java? ( >=virtual/jre-1.8 )
+"
+BDEPEND="
+ virtual/pkgconfig
+ gui? ( dev-qt/qtcore:5 )
+"
+
+CONFIG_CHECK="~CHR_DEV_SG"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-path.patch
+)
+
+src_prepare() {
+ default
+
+ if ! use java; then
+ rm -v "${WORKDIR}/${MY_PB}"/src/share/blues.* || die
+ fi
+}
+
+src_configure() {
+ # See bug #439380.
+ replace-flags -O* -Os
+
+ econf \
+ --enable-debug \
+ --disable-noec \
+ $(use_enable gui) \
+ $(use_enable gui qt5)
+}
+
+src_install() {
+ local myarch
+ case "${ARCH}" in
+ arm) myarch=armhf ;;
+ x86) myarch=i386 ;;
+ *) myarch=${ARCH} ;;
+ esac
+
+ default
+
+ # add missing symlinks for QA
+ dosym libdriveio.so.0 /usr/$(get_libdir)/libdriveio.so.0.${PV}
+ dosym libdriveio.so.0 /usr/$(get_libdir)/libdriveio.so
+ dosym libmakemkv.so.1 /usr/$(get_libdir)/libmakemkv.so.1.${PV}
+ dosym libmakemkv.so.1 /usr/$(get_libdir)/libmakemkv.so
+ dosym libmmbd.so.0 /usr/$(get_libdir)/libmmbd.so
+ dosym libmmbd.so.0 /usr/$(get_libdir)/libmmbd.so.0.${PV}
+
+ cd "${WORKDIR}"/${MY_PB} || die
+
+ # install prebuilt bin
+ dobin bin/"${myarch}"/makemkvcon
+
+ # additional tool is actually part of makemkvcon
+ dosym makemkvcon /usr/bin/sdftool
+
+ # install profiles and locales
+ insinto /usr/share/MakeMKV
+ doins src/share/*
+
+ # install unofficial man page
+ doman "${FILESDIR}"/makemkvcon.1
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ elog "While MakeMKV is in beta mode, upstream has provided a license"
+ elog "to use if you do not want to purchase one."
+ elog ""
+ elog "See this forum thread for more information, including the key:"
+ elog "https://www.makemkv.com/forum/viewtopic.php?f=5&t=1053"
+ elog ""
+ elog "Note that beta license may have an expiration date and you will"
+ elog "need to check for newer licenses/releases. "
+ elog ""
+ elog "We previously said to copy default.mmcp.xml to ~/.MakeMKV/. This"
+ elog "is no longer necessary and you should delete it from there to"
+ elog "avoid warning messages."
+ elog ""
+ elog "MakeMKV can also act as a drop-in replacement for libaacs and"
+ elog "libbdplus, allowing transparent decryption of a wider range of"
+ elog "titles under players like VLC and mplayer. To enable this, set"
+ elog "the following variables when launching the player:"
+ elog "LIBAACS_PATH=libmmbd LIBBDPLUS_PATH=libmmbd"
+}
diff --git a/media-video/mjpegtools/mjpegtools-2.2.1-r2.ebuild b/media-video/mjpegtools/mjpegtools-2.2.1-r2.ebuild
index b6700e97964f..150ce709ca1b 100644
--- a/media-video/mjpegtools/mjpegtools-2.2.1-r2.ebuild
+++ b/media-video/mjpegtools/mjpegtools-2.2.1-r2.ebuild
@@ -12,7 +12,7 @@ SRC_URI="https://downloads.sourceforge.net/project/mjpeg/mjpegtools/${PV}/${P}.t
LICENSE="GPL-2"
# Compare with version in SONAME on major bumps (e.g. 2.1 -> 2.2)
SLOT="1/2.2"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc x86"
+KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv sparc x86"
IUSE="cpu_flags_x86_mmx dv gtk png quicktime sdl sdlgfx static-libs"
REQUIRED_USE="sdlgfx? ( sdl )"
diff --git a/media-video/mkvtoolnix/Manifest b/media-video/mkvtoolnix/Manifest
index 27593459ae9f..6f92e2e55130 100644
--- a/media-video/mkvtoolnix/Manifest
+++ b/media-video/mkvtoolnix/Manifest
@@ -1,6 +1,6 @@
-DIST mkvtoolnix-81.0.tar.xz 11067288 BLAKE2B 64bf3cd1872e3b67c6932ed29527e1dff2f913d257464cdca2d54a62bd2154a820d86bce857f55345aba1bcd5701872dbddcb5a029845d0079159358cb154fb0 SHA512 d23f6d1819437ba77576852141256698997e49066158903e1cea4086b9c05302d6661780e911fc258c028a84f2ac95140f6ba15d2ffd11c23cb92e422febf7c7
-DIST mkvtoolnix-81.0.tar.xz.sig 833 BLAKE2B 37e63e92628d3dcb6e9c9129e09dbef1d1d4e80515a05a9a5684d5d542ef54b024e76f1fac50b242e32172ef24493123b6103ae79fa411eefea7704cd63070d5 SHA512 3975c0b217318fdd9eeed23694c0e25536c694fa6cef63560b48ed79db7827be41cbe9a2cd8d8c1d2555beb436a5191a5ad21f0e5e73f93f2ca1c09be13826cb
DIST mkvtoolnix-83.0.tar.xz 11278152 BLAKE2B f57b398c747d90021f2a13e58df23655e898a0bb68ad7f050f7a3fe0018866570fb81780f2d68a8c9ed06b66882578b5a9144c3be1bb9b79bc5f79e13f06bde5 SHA512 e70236249f9f72c4ffeab8222c03cdf373a25643f1b106a1abb695184152be8bb22e3fb5dc67b48e6193d9ac37d0b9b2ea317a31214b92648ac75a82c99f9b5d
DIST mkvtoolnix-83.0.tar.xz.sig 833 BLAKE2B 3eddaa4941d84937a7b771bea66be52979437abb54cd178eb6d24b30628db3ee0ad72f23bea7419a7bc13cfd4f84d6d004b46ad63bad0eeeef8fd05f37bcaf4f SHA512 6d3ac46a40139fff67da61c77a802df243764d8c26c55e3b951d407fd3147bcf985f8a62c21b18c12fabe0afdc535a3449a6bfff3f15a5779b2aed1f94fe0ab7
DIST mkvtoolnix-84.0.tar.xz 11325260 BLAKE2B 147878e796c3ce9b3dc03e026eaeb45c21946d0a80ff76d090a8a11a22e1e02fddfe158192df264c5a006ad9007a73d68ddd5c79f0ccd1d103e827e4d0123974 SHA512 3a73bb2497a227fd2e0a65d58e72bf479662828a7b4201b37b7bfdd7f88d294a6690aee024661d8b5615036f64a4ce1c2ba64d7b24ebd352f8f5ce3ffdac543a
DIST mkvtoolnix-84.0.tar.xz.sig 833 BLAKE2B 903530d5968d9409a9b0fe1f236c254386a33ce1224b36d4e6f33d603851eec2ed27aac2923d59a3f2e729a48bd7724d8b697cbdff5213bec338417f1632ef29 SHA512 2338a226e0df776e1b3c78f93793900e62c391fd7fd4e56c317840f3d00fccc20d6ede3118ad47266b6772459d1959a221f2e475a4b96bd9c2d58caab3dae184
+DIST mkvtoolnix-86.0.tar.xz 11369476 BLAKE2B a18ed1534f693f98924bc5c4bb1d3acedd154dacede17691a88b1d1a14c99d5ba4bc5483060d67624e682058e8af1a91ea0f77b095f35af340dea84a441dedc1 SHA512 ca1009439d662f32c75ee915f89ed1ccf1475f84782a5da977521e1ab1a558400d844d689ba37d3e5bcc2cb0ec70d3fac5db5594d0088668dd0ba3ac759819c6
+DIST mkvtoolnix-86.0.tar.xz.sig 833 BLAKE2B d53e8f8198f5ce5faec0b6c991ecf64a43f42395182aa7ead970f17e56b01c986392922b052cc2ac5e380983b937345838a96cde84e575d72bfcff2dd3084b09 SHA512 19901f9f61e108b8c4db0dab833e0998ab2bdc227130fe6d1aea6b9f495e66aa796bd4d3f70f14dadc906226884f03aaca90e710233e58fb604f66b28fb4abee
diff --git a/media-video/mkvtoolnix/files/mkvtoolnix-80.0.0-fix-qtmultimedia.patch b/media-video/mkvtoolnix/files/mkvtoolnix-80.0.0-fix-qtmultimedia.patch
deleted file mode 100644
index d31731a266f8..000000000000
--- a/media-video/mkvtoolnix/files/mkvtoolnix-80.0.0-fix-qtmultimedia.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 246f824a6a0d2bc93ec4ad2ebfde7c92b42c879a Mon Sep 17 00:00:00 2001
-From: Alfred Wingate <parona@protonmail.com>
-Date: Tue, 21 Nov 2023 01:10:23 +0200
-Subject: [PATCH] Fix detection of QtDBus and QtMultimedia
-
-* Sometimes you may have qtdbus and qtmultimedia present at the same
- time.
-
-Signed-off-by: Alfred Wingate <parona@protonmail.com>
---- a/ac/qt6.m4
-+++ b/ac/qt6.m4
-@@ -95,10 +95,12 @@ EOT
-
- if test $result2 != 0; then
- continue
-- elif test $qt_module = dbus; then
-+ fi
-+ if test $qt_module = dbus; then
- qmake_qt_ui="$qmake_qt_ui dbus"
- AC_DEFINE(HAVE_QTDBUS, 1, [Define if QtDBus is present])
-- elif test $qt_module = multimedia; then
-+ fi
-+ if test $qt_module = multimedia; then
- qmake_qt_ui="$qmake_qt_ui multimedia"
- fi
- done
---
-2.43.0
-
diff --git a/media-video/mkvtoolnix/files/mkvtoolnix-80.0.0-no-uic-qtwidgets.patch b/media-video/mkvtoolnix/files/mkvtoolnix-80.0.0-no-uic-qtwidgets.patch
deleted file mode 100644
index 203721aedcff..000000000000
--- a/media-video/mkvtoolnix/files/mkvtoolnix-80.0.0-no-uic-qtwidgets.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 196e704d9bd44a5bb7655d8a85b6f270b2165b3c Mon Sep 17 00:00:00 2001
-From: Alfred Wingate <parona@protonmail.com>
-Date: Mon, 20 Nov 2023 23:41:06 +0200
-Subject: [PATCH] Only check for uic in qt5 if gui is enabled
-
-We should only check for UIC (provided by qtwidgets) if we're building the GUI.
-
-Qt (just qtcore) itself is *always* needed to build mkvtoolnix (it's used
-for e.g. MIME type detection since 59.0.0), but the rest of Qt
-(like qtwidgets) is only needed for the GUI build.
-
-The build system incorrectly unconditionally checks for UIC. We fix it here
-to only check for it when doing a GUI build.
-
-https://bugs.gentoo.org/844097
-
-Signed-off-by: Alfred Wingate <parona@protonmail.com>
---- a/ac/qt5.m4
-+++ b/ac/qt5.m4
-@@ -63,7 +63,7 @@ check_qt5() {
- AC_MSG_RESULT(no: could not find the rcc executable)
- return
-
-- elif test x"$UIC" = x; then
-+ elif test x"$UIC" = x && test x"$enable_gui" = xyes; then
- AC_MSG_CHECKING(for Qt 5)
- AC_MSG_RESULT(no: could not find the uic executable)
- return
---
-2.43.0
-
diff --git a/media-video/mkvtoolnix/files/mkvtoolnix-80.0.0-optional-qtdbus.patch b/media-video/mkvtoolnix/files/mkvtoolnix-80.0.0-optional-qtdbus.patch
deleted file mode 100644
index deb8d59fa6c4..000000000000
--- a/media-video/mkvtoolnix/files/mkvtoolnix-80.0.0-optional-qtdbus.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-From 998cd9baa8edbbc0a02509728c7ff21ddaaaad51 Mon Sep 17 00:00:00 2001
-From: Alfred Wingate <parona@protonmail.com>
-Date: Mon, 20 Nov 2023 23:18:56 +0200
-Subject: [PATCH] Add an option for qtdbus support
-
-Signed-off-by: Alfred Wingate <parona@protonmail.com>
---- a/ac/qt5.m4
-+++ b/ac/qt5.m4
-@@ -103,11 +103,13 @@ check_qt5() {
- return
- fi
-
-- if test x"$MINGW" != x1 && ! echo "$host" | grep -q -i apple ; then
-- PKG_CHECK_EXISTS([Qt5DBus],[dbus_found=yes],[dbus_found=no])
-- if test x"$dbus_found" = xyes; then
-- with_qt_pkg_config_modules="$with_qt_pkg_config_modules,Qt5DBus"
-- AC_DEFINE(HAVE_QTDBUS, 1, [Define if QtDBus is present])
-+ if test x"$enable_dbus" = xyes; then
-+ if test x"$MINGW" != x1 && ! echo "$host" | grep -q -i apple ; then
-+ PKG_CHECK_EXISTS([Qt5DBus],[dbus_found=yes],[dbus_found=no])
-+ if test x"$dbus_found" = xyes; then
-+ with_qt_pkg_config_modules="$with_qt_pkg_config_modules,Qt5DBus"
-+ AC_DEFINE(HAVE_QTDBUS, 1, [Define if QtDBus is present])
-+ fi
- fi
- fi
-
-@@ -254,6 +256,11 @@ AC_ARG_WITH([qt_pkg_config_modules],
- AC_ARG_WITH([qt_pkg_config],
- AS_HELP_STRING([--without-qt-pkg-config],[do not use pkg-config for detecting Qt 5; instead rely on QT_CFLAGS/QT_LIBS being set correctly already]),
- [ with_qt_pkg_config=${withval} ], [ with_qt_pkg_config=yes ])
-+AC_ARG_ENABLE([dbus],
-+ AC_HELP_STRING([--enable-dbus],[enable/disable qtdbus/dbus from being included in build (yes)]),
-+ [],[enable_dbus=yes])
-+
-+
-
- have_qt5=no
-
---- a/ac/qt6.m4
-+++ b/ac/qt6.m4
-@@ -96,9 +96,12 @@ EOT
- if test $result2 != 0; then
- continue
- fi
-- if test $qt_module = dbus; then
-- qmake_qt_ui="$qmake_qt_ui dbus"
-- AC_DEFINE(HAVE_QTDBUS, 1, [Define if QtDBus is present])
-+ if test x"$enable_dbus" = xyes; then
-+ PKG_CHECK_EXISTS([Qt6DBus],[dbus_found=yes],[dbus_found=no])
-+ if test x"$dbus_found" = xyes; then
-+ qmake_qt_ui="$qmake_qt_ui dbus"
-+ AC_DEFINE(HAVE_QTDBUS, 1, [Define if QtDBus is present])
-+ fi
- fi
- if test $qt_module = multimedia; then
- qmake_qt_ui="$qmake_qt_ui multimedia"
-@@ -272,6 +275,9 @@ AC_ARG_ENABLE([gui],
- AC_ARG_ENABLE([qt6],
- AS_HELP_STRING([--enable-qt6],[compile with Qt 6 (yes)]),
- [],[enable_qt6=yes])
-+AC_ARG_ENABLE([dbus],
-+ AC_HELP_STRING([--enable-dbus],[enable/disable qtdbus/dbus from being included in build (yes)]),
-+ [],[enable_dbus=yes])
-
- have_qt6=no
-
---
-2.43.0
-
diff --git a/media-video/mkvtoolnix/files/mkvtoolnix-86.0-libfmt-11-fix.patch b/media-video/mkvtoolnix/files/mkvtoolnix-86.0-libfmt-11-fix.patch
new file mode 100644
index 000000000000..3b4b1b9fca52
--- /dev/null
+++ b/media-video/mkvtoolnix/files/mkvtoolnix-86.0-libfmt-11-fix.patch
@@ -0,0 +1,25 @@
+https://gitlab.com/mbunkus/mkvtoolnix/-/merge_requests/2259
+https://gitlab.com/mbunkus/mkvtoolnix/-/commit/b57dde69dc80b151844e0762a2ae6bca3ba86d95
+
+From b57dde69dc80b151844e0762a2ae6bca3ba86d95 Mon Sep 17 00:00:00 2001
+From: Kefu Chai <tchaikov@gmail.com>
+Date: Mon, 15 Jul 2024 11:10:09 +0800
+Subject: [PATCH] fix build with fmt v11
+
+fmt::join() was moved into fmt/ranges.h since fmt 11, so let's
+include this header for using it.
+
+Signed-off-by: Kefu Chai <tchaikov@gmail.com>
+--- a/src/common/common.h
++++ b/src/common/common.h
+@@ -35,6 +35,7 @@
+
+ #include <fmt/format.h>
+ #include <fmt/ostream.h>
++#include <fmt/ranges.h>
+
+ #include <boost/algorithm/string.hpp>
+ #include <boost/multiprecision/cpp_int.hpp>
+--
+GitLab
+
diff --git a/media-video/mkvtoolnix/mkvtoolnix-81.0.ebuild b/media-video/mkvtoolnix/mkvtoolnix-86.0.ebuild
index 077c325ecc46..b44d36acb42f 100644
--- a/media-video/mkvtoolnix/mkvtoolnix-81.0.ebuild
+++ b/media-video/mkvtoolnix/mkvtoolnix-86.0.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-inherit autotools flag-o-matic multiprocessing qmake-utils xdg
+inherit autotools flag-o-matic multiprocessing prefix qmake-utils xdg
if [[ ${PV} == *9999 ]] ; then
inherit git-r3
@@ -17,7 +17,7 @@ else
https://mkvtoolnix.download/sources/${P}.tar.xz
verify-sig? ( https://mkvtoolnix.download/sources/${P}.tar.xz.sig )
"
- KEYWORDS="amd64 ppc ppc64 x86"
+ KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/mkvtoolnix.asc"
fi
@@ -27,43 +27,30 @@ HOMEPAGE="https://mkvtoolnix.download/ https://gitlab.com/mbunkus/mkvtoolnix"
LICENSE="GPL-2"
SLOT="0"
-IUSE="dbus debug dvd gui nls qt6 pch test"
+IUSE="debug dvd gui nls pch test"
RESTRICT="!test? ( test )"
# check NEWS.md for build system changes entries for boost/libebml/libmatroska
# version requirement updates and other packaging info
RDEPEND="
- app-text/cmark:0=
dev-libs/boost:=
dev-libs/gmp:=
- >=dev-libs/libebml-1.4.4:=
+ >=dev-libs/libebml-1.4.5:=
>=dev-libs/libfmt-8.0.1:=
>=dev-libs/pugixml-1.11
+ >=dev-qt/qtbase-6.2:6[dbus]
media-libs/flac:=
>=media-libs/libmatroska-1.7.1:=
media-libs/libogg
media-libs/libvorbis
sys-libs/zlib
dvd? ( media-libs/libdvdread:= )
- !qt6? (
- dev-qt/qtcore:5
- dbus? ( dev-qt/qtdbus:5 )
- gui? (
- dev-qt/qtsvg:5
- dev-qt/qtgui:5
- dev-qt/qtnetwork:5
- dev-qt/qtwidgets:5
- dev-qt/qtconcurrent:5
- dev-qt/qtmultimedia:5
- )
- )
- qt6? (
- dev-qt/qtbase:6[dbus?]
- gui? (
- dev-qt/qtbase:6[concurrent,gui,network,widgets]
- dev-qt/qtmultimedia:6
- dev-qt/qtsvg:6
- )
+ gui? (
+ app-text/cmark:0=
+ >=dev-qt/qtbase-6.2:6[concurrent,gui,network,widgets]
+ >=dev-qt/qtmultimedia-6.2:6
+ >=dev-qt/qtsvg-6.2:6
+ media-libs/libglvnd
)
"
DEPEND="${RDEPEND}
@@ -87,9 +74,7 @@ if [[ ${PV} != *9999 ]] ; then
fi
PATCHES=(
- "${FILESDIR}"/mkvtoolnix-80.0.0-no-uic-qtwidgets.patch
- "${FILESDIR}"/mkvtoolnix-80.0.0-fix-qtmultimedia.patch
- "${FILESDIR}"/mkvtoolnix-80.0.0-optional-qtdbus.patch
+ "${FILESDIR}"/mkvtoolnix-86.0-libfmt-11-fix.patch
)
src_prepare() {
@@ -102,6 +87,9 @@ src_prepare() {
# bug #692018
sed -i -e 's/pandoc/diSaBlEd/' ac/pandoc.m4 || die
+ # bug #928463
+ hprefixify "${S}/ac/ax_docbook.m4"
+
eautoreconf
# remove bundled libs
@@ -115,7 +103,6 @@ src_configure() {
local myeconfargs=(
$(use_enable debug)
$(usex pch "" --disable-precompiled-headers)
- $(use_enable dbus)
$(use_enable gui)
$(use_with dvd dvdread)
$(use_with nls gettext)
@@ -124,24 +111,12 @@ src_configure() {
--disable-optimization
--with-boost="${ESYSROOT}"/usr
--with-boost-libdir="${ESYSROOT}"/usr/$(get_libdir)
- )
- # Qt (of some version) is always needed, even for non-GUI builds,
- # to do e.g. MIME detection. See e.g. bug #844097.
- # But most of the Qt deps are conditional on a GUI build.
- if use qt6; then
- myeconfargs+=(
- --enable-qt6
- --disable-qt5
- --with-qmake6="$(qt6_get_bindir)"/qmake
- )
- else
- myeconfargs+=(
- --disable-qt6
- --enable-qt5
- --with-qmake="$(qt5_get_bindir)"/qmake
- )
- fi
+ # Qt (of some version) is always needed, even for non-GUI builds,
+ # to do e.g. MIME detection. See e.g. bug #844097.
+ # But most of the Qt deps are conditional on a GUI build.
+ --with-qmake6="$(qt6_get_bindir)"/qmake
+ )
# Work around bug #904710.
use nls || export ac_cv_path_PO4A=
diff --git a/media-video/motion/motion-4.5.1-r3.ebuild b/media-video/motion/motion-4.5.1-r3.ebuild
index b145c2763090..4147689f41f8 100644
--- a/media-video/motion/motion-4.5.1-r3.ebuild
+++ b/media-video/motion/motion-4.5.1-r3.ebuild
@@ -12,7 +12,7 @@ S="${WORKDIR}/${PN}-release-${PV}"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc x86"
+KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~sparc x86"
IUSE="ffmpeg mariadb mmal mysql postgres sqlite v4l webp"
RDEPEND="
diff --git a/media-video/motion/motion-4.5.1-r4.ebuild b/media-video/motion/motion-4.5.1-r4.ebuild
index 691023faf1fd..6c898913fac2 100644
--- a/media-video/motion/motion-4.5.1-r4.ebuild
+++ b/media-video/motion/motion-4.5.1-r4.ebuild
@@ -12,7 +12,7 @@ S="${WORKDIR}/${PN}-release-${PV}"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~sparc ~x86"
IUSE="ffmpeg mariadb mysql postgres sqlite v4l webp"
RDEPEND="
diff --git a/media-video/mplayer/mplayer-1.5_p20230215.ebuild b/media-video/mplayer/mplayer-1.5_p20230215.ebuild
index ae49ee100092..73222bdf8321 100644
--- a/media-video/mplayer/mplayer-1.5_p20230215.ebuild
+++ b/media-video/mplayer/mplayer-1.5_p20230215.ebuild
@@ -166,7 +166,7 @@ RDEPEND+="selinux? ( sec-policy/selinux-mplayer )"
LICENSE="GPL-2"
SLOT="0"
if [[ ${PV} != *9999* ]]; then
- KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~sparc x86"
+ KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ppc ppc64 ~riscv ~sparc x86"
fi
# faac codecs are nonfree
diff --git a/media-video/mplayer/mplayer-1.5_p20230618.ebuild b/media-video/mplayer/mplayer-1.5_p20230618.ebuild
index 60e8cf3cc9e3..7d5a5877ad06 100644
--- a/media-video/mplayer/mplayer-1.5_p20230618.ebuild
+++ b/media-video/mplayer/mplayer-1.5_p20230618.ebuild
@@ -169,7 +169,7 @@ RDEPEND+="selinux? ( sec-policy/selinux-mplayer )"
LICENSE="GPL-2"
SLOT="0"
if [[ ${PV} != *9999* ]]; then
- KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~sparc x86"
+ KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ppc ppc64 ~riscv ~sparc x86"
fi
# faac codecs are nonfree
diff --git a/media-video/mplayer/mplayer-1.5_p20231206.ebuild b/media-video/mplayer/mplayer-1.5_p20231206.ebuild
index 54ab8bf0f878..2fcc4c0f3ffe 100644
--- a/media-video/mplayer/mplayer-1.5_p20231206.ebuild
+++ b/media-video/mplayer/mplayer-1.5_p20231206.ebuild
@@ -169,7 +169,7 @@ RDEPEND+="selinux? ( sec-policy/selinux-mplayer )"
LICENSE="GPL-2"
SLOT="0"
if [[ ${PV} != *9999* ]]; then
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86"
fi
# faac codecs are nonfree
diff --git a/media-video/mplayer/mplayer-9999.ebuild b/media-video/mplayer/mplayer-9999.ebuild
index b7e9b5420e81..2257a9dbf343 100644
--- a/media-video/mplayer/mplayer-9999.ebuild
+++ b/media-video/mplayer/mplayer-9999.ebuild
@@ -169,7 +169,7 @@ RDEPEND+="selinux? ( sec-policy/selinux-mplayer )"
LICENSE="GPL-2"
SLOT="0"
if [[ ${PV} != *9999* ]]; then
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86"
fi
# faac codecs are nonfree
diff --git a/media-video/mpv/Manifest b/media-video/mpv/Manifest
index bf9c05f949be..b36b129e6d2c 100644
--- a/media-video/mpv/Manifest
+++ b/media-video/mpv/Manifest
@@ -1 +1,2 @@
DIST mpv-0.38.0.tar.gz 3419741 BLAKE2B 3ff59d30bc305394f58a1fff4f24540aa3be9412bc3cad27bec0c3478f4b7c13190e26847f38edc52996bb9f9a36dd6832c6fccebd6d873058acf78a320e42e4 SHA512 b5b2af59039ef4711814f94bbdfedb37f8ce914301670e42d4ed05fe1900025a3d3a2f3d5e69628a8aad115a647a27c386718959e2df1a18740468b3a84f8975
+DIST mpv-0.39.0.tar.gz 3494313 BLAKE2B 9f96ba225eb0587d50f8c439359b18f752b98024ab6b40f987be4d57b0ce4b595243f49177ffc48840b351ce19fddc84788b5784b508eb685e58fdfb8e1e0520 SHA512 9cf1d7487b1e9e36d2b731bf951c4d3b9deba95109af408ccfc71b88e85f6de2558e7b4950781667bb4d40e0352742e3ed278559ff34d07905dd459969cbf503
diff --git a/media-video/mpv/mpv-0.39.0.ebuild b/media-video/mpv/mpv-0.39.0.ebuild
new file mode 100644
index 000000000000..31b23432e18e
--- /dev/null
+++ b/media-video/mpv/mpv-0.39.0.ebuild
@@ -0,0 +1,277 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LUA_COMPAT=( lua5-1 luajit )
+PYTHON_COMPAT=( python3_{10..13} )
+inherit flag-o-matic lua-single meson optfeature pax-utils python-single-r1 xdg
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/mpv-player/mpv.git"
+else
+ SRC_URI="https://github.com/mpv-player/mpv/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux"
+fi
+
+DESCRIPTION="Media player for the command line"
+HOMEPAGE="https://mpv.io/"
+
+LICENSE="LGPL-2.1+ GPL-2+ BSD ISC MIT" #506946
+SLOT="0/2" # soname
+IUSE="
+ +X +alsa aqua archive bluray cdda +cli coreaudio debug +drm dvb
+ dvd +egl gamepad +iconv jack javascript jpeg lcms libcaca +libmpv
+ +lua nvenc openal opengl pipewire pulseaudio rubberband sdl selinux
+ sixel sndio soc test tools +uchardet vaapi vdpau vulkan wayland xv
+ zimg zlib
+"
+REQUIRED_USE="
+ ${PYTHON_REQUIRED_USE}
+ || ( cli libmpv )
+ egl? ( || ( X drm wayland ) )
+ lua? ( ${LUA_REQUIRED_USE} )
+ nvenc? ( || ( egl opengl vulkan ) )
+ opengl? ( || ( X aqua ) )
+ test? ( cli )
+ tools? ( cli )
+ uchardet? ( iconv )
+ vaapi? ( || ( X drm wayland ) )
+ vdpau? ( X )
+ vulkan? ( || ( X wayland ) )
+ xv? ( X )
+"
+RESTRICT="!test? ( test )"
+
+COMMON_DEPEND="
+ media-libs/libass:=[fontconfig]
+ >=media-libs/libplacebo-6.338.2:=[opengl?,vulkan?]
+ >=media-video/ffmpeg-6.1:=[encode,soc(-)?,threads,vaapi?,vdpau?]
+ X? (
+ x11-libs/libX11
+ x11-libs/libXScrnSaver
+ x11-libs/libXext
+ x11-libs/libXpresent
+ x11-libs/libXrandr
+ xv? ( x11-libs/libXv )
+ )
+ alsa? ( media-libs/alsa-lib )
+ archive? ( app-arch/libarchive:= )
+ bluray? ( media-libs/libbluray:= )
+ cdda? (
+ dev-libs/libcdio-paranoia:=
+ dev-libs/libcdio:=
+ )
+ drm? (
+ x11-libs/libdrm
+ egl? ( media-libs/mesa[gbm(+)] )
+ )
+ dvd? (
+ media-libs/libdvdnav
+ media-libs/libdvdread:=
+ )
+ egl? (
+ media-libs/libglvnd
+ media-libs/libplacebo[opengl]
+ )
+ gamepad? ( media-libs/libsdl2[joystick] )
+ iconv? (
+ virtual/libiconv
+ uchardet? ( app-i18n/uchardet )
+ )
+ jack? ( virtual/jack )
+ javascript? ( dev-lang/mujs:= )
+ jpeg? ( media-libs/libjpeg-turbo:= )
+ lcms? ( media-libs/lcms:2 )
+ libcaca? ( media-libs/libcaca )
+ lua? ( ${LUA_DEPS} )
+ openal? ( media-libs/openal )
+ opengl? ( media-libs/libglvnd[X?] )
+ pipewire? ( media-video/pipewire:= )
+ pulseaudio? ( media-libs/libpulse )
+ rubberband? ( media-libs/rubberband )
+ sdl? ( media-libs/libsdl2[sound,threads(+),video] )
+ sixel? ( media-libs/libsixel )
+ sndio? ( media-sound/sndio:= )
+ vaapi? ( media-libs/libva:=[X?,drm(+)?,wayland?] )
+ vdpau? ( x11-libs/libvdpau )
+ vulkan? ( media-libs/vulkan-loader[X?,wayland?] )
+ wayland? (
+ dev-libs/wayland
+ dev-libs/wayland-protocols
+ x11-libs/libxkbcommon
+ )
+ zimg? ( media-libs/zimg )
+ zlib? ( sys-libs/zlib:= )
+"
+RDEPEND="
+ ${COMMON_DEPEND}
+ selinux? ( sec-policy/selinux-mplayer )
+ tools? ( ${PYTHON_DEPS} )
+"
+DEPEND="
+ ${COMMON_DEPEND}
+ X? ( x11-base/xorg-proto )
+ dvb? ( sys-kernel/linux-headers )
+ nvenc? ( media-libs/nv-codec-headers )
+ vulkan? ( dev-util/vulkan-headers )
+ wayland? ( dev-libs/wayland-protocols )
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ virtual/pkgconfig
+ cli? ( dev-python/docutils )
+ wayland? ( dev-util/wayland-scanner )
+"
+
+pkg_setup() {
+ use lua && lua-single_pkg_setup
+ python-single-r1_pkg_setup
+}
+
+src_configure() {
+ if use !debug; then
+ if use test; then
+ einfo "Skipping -DNDEBUG due to USE=test"
+ else
+ append-cppflags -DNDEBUG # treated specially
+ fi
+ fi
+
+ mpv_feature_multi() {
+ local use set
+ for use in ${1} ${2}; do
+ use ${use} || set=disabled
+ done
+ echo -D${3-${2}}=${set-enabled}
+ }
+
+ local emesonargs=(
+ $(meson_use cli cplayer)
+ $(meson_use libmpv)
+ $(meson_use test tests)
+
+ $(meson_feature cli html-build)
+ $(meson_feature cli manpage-build)
+ -Dpdf-build=disabled
+
+ -Dbuild-date=false
+
+ # misc options
+ $(meson_feature archive libarchive)
+ $(meson_feature bluray libbluray)
+ $(meson_feature cdda)
+ -Dcplugins=enabled
+ $(meson_feature dvb dvbin)
+ $(meson_feature dvd dvdnav)
+ $(meson_feature gamepad sdl2-gamepad)
+ $(meson_feature iconv)
+ $(meson_feature javascript)
+ -Dlibavdevice=enabled
+ $(meson_feature lcms lcms2)
+ -Dlua=$(usex lua "${ELUA}" disabled)
+ $(meson_feature rubberband)
+ -Dsdl2=$(use gamepad || use sdl && echo enabled || echo disabled) #857156
+ $(meson_feature uchardet)
+ -Dvapoursynth=disabled # only available in overlays
+ $(meson_feature zimg)
+ $(meson_feature zlib)
+
+ # audio output
+ $(meson_feature alsa)
+ $(meson_feature coreaudio)
+ $(meson_feature jack)
+ $(meson_feature openal)
+ $(meson_feature pipewire)
+ $(meson_feature pulseaudio pulse)
+ $(meson_feature sdl sdl2-audio)
+ $(meson_feature sndio)
+
+ # video output
+ $(meson_feature X x11)
+ $(meson_feature aqua cocoa)
+ $(meson_feature drm)
+ $(meson_feature jpeg)
+ $(meson_feature libcaca caca)
+ $(meson_feature sdl sdl2-video)
+ $(meson_feature sixel)
+ $(meson_feature wayland)
+ $(meson_feature xv)
+
+ -Dgl=$(use egl || use libmpv || use opengl &&
+ echo enabled || echo disabled)
+ $(meson_feature egl)
+ $(mpv_feature_multi egl X egl-x11)
+ $(mpv_feature_multi egl drm gbm) # gbm is only used by egl-drm
+ $(mpv_feature_multi egl drm egl-drm)
+ $(mpv_feature_multi egl wayland egl-wayland)
+ $(meson_feature libmpv plain-gl)
+ $(mpv_feature_multi opengl X gl-x11)
+ $(mpv_feature_multi opengl aqua gl-cocoa)
+
+ $(meson_feature vulkan)
+
+ # hardware decoding
+ $(meson_feature nvenc cuda-hwaccel)
+ $(meson_feature nvenc cuda-interop)
+
+ $(meson_feature vaapi)
+ $(mpv_feature_multi vaapi X vaapi-x11)
+ $(mpv_feature_multi vaapi drm vaapi-drm)
+ $(mpv_feature_multi vaapi wayland vaapi-wayland)
+
+ $(meson_feature vdpau)
+ $(mpv_feature_multi vdpau opengl vdpau-gl-x11)
+
+ $(mpv_feature_multi aqua opengl videotoolbox-gl)
+
+ # notable options left to automagic
+ #dmabuf-wayland: USE="drm wayland" + plus memfd_create support
+ #vulkan-interop: USE="vulkan" + >=ffmpeg-6.1
+ # TODO?: perhaps few more similar compound options should be left auto
+ )
+
+ meson_src_configure
+}
+
+src_test() {
+ # ffmpeg tests are picky and easily break without necessarily
+ # meaning that there are runtime issues (bug #921091,#924276)
+ meson_src_test --no-suite ffmpeg
+}
+
+src_install() {
+ meson_src_install
+
+ if use lua; then
+ insinto /usr/share/${PN}
+ doins -r TOOLS/lua
+
+ if use cli && use lua_single_target_luajit; then
+ pax-mark -m "${ED}"/usr/bin/${PN}
+ fi
+ fi
+
+ if use tools; then
+ dobin TOOLS/{mpv_identify.sh,umpv}
+ newbin TOOLS/idet.sh mpv_idet.sh
+ python_fix_shebang "${ED}"/usr/bin/umpv
+ fi
+
+ if use cli; then
+ dodir /usr/share/doc/${PF}/html
+ mv "${ED}"/usr/share/doc/{mpv,${PF}/html}/mpv.html || die
+ mv "${ED}"/usr/share/doc/{mpv,${PF}/examples} || die
+ fi
+
+ local GLOBIGNORE=*/*build*:*/*policy*
+ dodoc RELEASE_NOTES DOCS/*.{md,rst}
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ optfeature "various websites URL support$(usev !lua \
+ " (requires ${PN} with USE=lua)")" net-misc/yt-dlp
+}
diff --git a/media-video/mpv/mpv-9999.ebuild b/media-video/mpv/mpv-9999.ebuild
index 31b23432e18e..2ddeff6f6a3a 100644
--- a/media-video/mpv/mpv-9999.ebuild
+++ b/media-video/mpv/mpv-9999.ebuild
@@ -46,7 +46,7 @@ RESTRICT="!test? ( test )"
COMMON_DEPEND="
media-libs/libass:=[fontconfig]
- >=media-libs/libplacebo-6.338.2:=[opengl?,vulkan?]
+ >=media-libs/libplacebo-7.349.0:=[opengl?,vulkan?]
>=media-video/ffmpeg-6.1:=[encode,soc(-)?,threads,vaapi?,vdpau?]
X? (
x11-libs/libX11
diff --git a/media-video/obs-studio/Manifest b/media-video/obs-studio/Manifest
index 9f311bc29cbd..7fe20340b6f5 100644
--- a/media-video/obs-studio/Manifest
+++ b/media-video/obs-studio/Manifest
@@ -1,10 +1,4 @@
DIST cef_binary_5060_linux_x86_64_v3.tar.xz 91352460 BLAKE2B 443f4b1bc638d3fe462fd8b8dd167e96f65aebb2b8de3616beac298449e2786c746f9a1fa4a0dbe2e3ef2d593139938e97538890d3ca3b74018b3afb9c7fc661 SHA512 1fbdf1d4ed117f3b8af20476c57502145d652b451ba8e0a544081403d292cc7a78642e9071b8f0283a19ef7ad507ef6e0d9df32b00afc51605ab74f650a7d755
-DIST obs-browser-2a2879b5a69f4a99cd7459d8595af46cdb23115c.tar.gz 112519 BLAKE2B 94b0e46d83865ff5b85ffa07c082a561ad14205512502976e555555449441a0f701d14445b97b2084d2e10bc9289dd51e28fcf7057cb4584e6ef025bfde93062 SHA512 5ad219dacf50a4187ff79ee8d5d3e2bcc978b6dd91396669e76c56af2af26424c74151b15d9185a87c06aeb694a0a2f5d80e66a6c18c60ce843009c6f97e9b3a
-DIST obs-browser-996b5a7bc43d912f1f4992e0032d4f263ac8b060.tar.gz 112416 BLAKE2B c82b5b55184130caaca0aad066ce1253c28206522e8d130cb3b940ee283c8a2dffc409a5d4774cad17535f958f52f4fe632a6b4462a18c10a4b5bbe02b60b4e9 SHA512 f6f7dbeb1d28b6c47663f36cb119cbc90a18c46fc6e81ca6db87e901ae4cee1fafd4a4a8c3f8cae94619d2f8f92baf1c52ca5c7df182f3df7521397638b0660d
-DIST obs-browser-c81851a1d7696c2d7ba319122eec387c1568ad44.tar.gz 112521 BLAKE2B 184d398941e8055c89f9a80664ce0b3a900fc0df75c5f45c30e3c80e7645c23052ab4ff6816169136c7d9ae4da7754ab0a64bc075a7ee9036effa64860c88f21 SHA512 78e09171d173ff756ce60f6ac1da201cc87ac317b3f5839632813a177b7eb126a376e8d194eb2b6d64a7cf0d1292640d6c216cfd4e82f71f54b44e8a85e86c49
-DIST obs-studio-30.1.2.tar.gz 16023853 BLAKE2B 8886b7c07240e5f83a37f046c0a68aad6432cfc7056959caa25c33dd9a830de44f27c821809116000f82939e1684222c1f8343bc83b362f0f3f3338923bbf196 SHA512 8d6102f3431c1c6c530f22b09612cb955c1877e5aba07aa0ba1d7b014471ebf9f0c1f8e898eb9373c64417455e75d8b9cf2ae4d9010b6a09330bac9f4e5aa01e
-DIST obs-studio-30.2.0.tar.gz 16122672 BLAKE2B 7c91c1a3691035fb3503ac25a22bad416de506488cb9bf2f4567b6048f40f4bd93ca17a92e92c535c9ead6e70b7610200b335d203978b47feee7e642310d86d2 SHA512 546374e0efbe9f23ecc2580d9d118e930afd576471b8931baa00cd4fbafe6bcba5f3a4b15769338860472aad616ccd2bd952bdef416acd85e637bbefd8c9d581
-DIST obs-studio-30.2.1.tar.gz 16150144 BLAKE2B 4e50f90af43ba785619bb90a793bbfe63e5d914d046c4da109883a3f21f98f9a55efd6600374046623e87f47733167236a2390b0ba90d4e9c7c310e24a4d5792 SHA512 d8bbe71305d3aac3d64db1d3c9bee0a849bffcad4ba1019c9028d69511a4c2ed341b878a3fd5818abda707fcecb2bc90c3f35a453d84317c782d24c299a15a13
+DIST obs-browser-c710222ec9d7ef9aa5d7099e9019d636e2c89f00.tar.gz 112527 BLAKE2B abfdd7cff3ec4479cc78d1f85a404ac48c2ebee1ba679a48e4e7abeb685ee08faa00059bda1cee2d5abf16b69ad0aa843898f612b3ee9d46f0950bd546aa6e44 SHA512 1ec2f48ce986c0d44cddf4332c8b58b8eb1fcb6a662504dd7ec580f9eb45b2a570542424d4c31ed6f96060746f21082661d43bf50b94469b4ef0c1f0b9190f7c
+DIST obs-studio-30.2.3.tar.gz 16150339 BLAKE2B b3ed65060881a731bd2e48d8b490cde4a0cf2886bfbdfb2f09536b4aae15c8230c6f6fc20eed3943b88c194b46509dca702d7e955b5b148b5f3577db410f0889 SHA512 1fea762b8fb4d5401516d9e547fe20db389633fb1abbdb52e4b9559ab6aaf3b9f4c25e055896b4063c6a693bfeb78e6463486b4c66e3994a6d1ceb0b7f65865f
DIST obs-websocket-0548c7798a323fe5296c150e13b898a5ee62fc1e.tar.gz 250611 BLAKE2B fefeab4a637528138152d6e1bd374d6e3f08e4a4e20698665adf4dd925e7831df5bdb1068e402def71b6e12e239db823dac2944e6549c00e914abca175d16fc0 SHA512 f24f520c4a08ad2b80d97c5dfba14421fcd48661d3b0fb694af5d11e063c711e7bf49a4baa95d9de8aff07b6fbbd4b4681ce10a4074506d98cf25c793cc2844d
-DIST obs-websocket-d2d4bfb3e78cf2b02c8e2f5dda1d805eda8d8f32.tar.gz 246888 BLAKE2B 6e06c85ee47cb088a50b9d5eae9a8d68441989c1f76fdcd7806d59597062af5eb36e1722600b1a8d544e5f11533985b9bac243f7ca1002eed616e2f5c11a9a3f SHA512 31d5e1817aab341e55cbc5c759f28509f442695afb90d08a235c07359a65d2c2d3dfae2bf9c8a5086db310bb127dc59945ebe23fb219fda7408ee82d05b43938
-DIST obs-websocket-f8bc7c4f593c7957ecdb45a24faaff3e95f24e8b.tar.gz 250582 BLAKE2B 13a93a00b8f7d3cc775641243ffb14b98490b2190386663a05621376dc9f70838005768039c236083e8767e1951378341a242df2fefdd74b7172090a4526a0d0 SHA512 38e02f346042d6c71bab6f0dc3c706953b996d0c8a92a3c0922b04955ea0152857005f924c5a0fccfaa64a6fef5b0dd597bce658c152be38081d1dc02ed2be19
diff --git a/media-video/obs-studio/files/json11-1.0.0-include-cstdint.patch b/media-video/obs-studio/files/json11-1.0.0-include-cstdint.patch
new file mode 100644
index 000000000000..29648cf15825
--- /dev/null
+++ b/media-video/obs-studio/files/json11-1.0.0-include-cstdint.patch
@@ -0,0 +1,12 @@
+diff --git a/json11.cpp b/json11.cpp
+index 9647846..8266a14 100644
+--- a/json11.cpp
++++ b/json11.cpp
+@@ -22,6 +22,7 @@
+ #include "json11.hpp"
+ #include <cassert>
+ #include <cmath>
++#include <cstdint>
+ #include <cstdlib>
+ #include <cstdio>
+ #include <limits>
diff --git a/media-video/obs-studio/metadata.xml b/media-video/obs-studio/metadata.xml
index 2e6e1d188e06..be051ff610c3 100644
--- a/media-video/obs-studio/metadata.xml
+++ b/media-video/obs-studio/metadata.xml
@@ -19,8 +19,9 @@
<flag name="pipewire">Build with PipeWire support.</flag>
<flag name="python">Build with scripting support for Python 3.</flag>
<flag name="qsv">Build with Intel Quick Sync Video support.</flag>
+ <flag name="sndio">Build with sndio support.</flag>
<flag name="speex">Build with Speex noise suppression filter support.</flag>
- <flag name="ssl">Build with TLS/SSL support for RTMPS connections.</flag>
+ <flag name="test-input">Build and install input sources used for testing.</flag>
<flag name="vlc">Build with VLC media source support.</flag>
<flag name="websocket">Build with WebSocket API support.</flag>
</use>
diff --git a/media-video/obs-studio/obs-studio-30.1.2.ebuild b/media-video/obs-studio/obs-studio-30.1.2.ebuild
deleted file mode 100644
index 6ddcf823b797..000000000000
--- a/media-video/obs-studio/obs-studio-30.1.2.ebuild
+++ /dev/null
@@ -1,270 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-CMAKE_REMOVE_MODULES_LIST=( FindFreetype )
-LUA_COMPAT=( luajit )
-PYTHON_COMPAT=( python3_{9..12} )
-
-inherit cmake flag-o-matic lua-single optfeature python-single-r1 xdg
-
-CEF_DIR="cef_binary_5060_linux_x86_64"
-CEF_REVISION="_v3"
-OBS_BROWSER_COMMIT="996b5a7bc43d912f1f4992e0032d4f263ac8b060"
-OBS_WEBSOCKET_COMMIT="d2d4bfb3e78cf2b02c8e2f5dda1d805eda8d8f32"
-
-DESCRIPTION="Software for Recording and Streaming Live Video Content"
-HOMEPAGE="https://obsproject.com"
-
-if [[ ${PV} == 9999 ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/obsproject/obs-studio.git"
- EGIT_SUBMODULES=(
- plugins/obs-browser
- plugins/obs-websocket
- )
-else
- SRC_URI="
- https://github.com/obsproject/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz
- https://github.com/obsproject/obs-browser/archive/${OBS_BROWSER_COMMIT}.tar.gz -> obs-browser-${OBS_BROWSER_COMMIT}.tar.gz
- https://github.com/obsproject/obs-websocket/archive/${OBS_WEBSOCKET_COMMIT}.tar.gz -> obs-websocket-${OBS_WEBSOCKET_COMMIT}.tar.gz
- "
- KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
-fi
-
-SRC_URI+=" browser? ( https://cdn-fastly.obsproject.com/downloads/${CEF_DIR}${CEF_REVISION}.tar.xz )"
-
-LICENSE="Boost-1.0 GPL-2+ MIT Unlicense"
-SLOT="0"
-IUSE="
- +alsa browser decklink fdk jack lua mpegts nvenc pipewire pulseaudio
- python qsv speex +ssl test truetype v4l vlc wayland websocket
-"
-RESTRICT="!test? ( test )"
-REQUIRED_USE="
- browser? ( || ( alsa pulseaudio ) )
- lua? ( ${LUA_REQUIRED_USE} )
- python? ( ${PYTHON_REQUIRED_USE} )
-"
-
-BDEPEND="
- lua? ( dev-lang/swig )
- python? ( dev-lang/swig )
-"
-# media-video/ffmpeg[opus] required due to bug 909566
-DEPEND="
- dev-libs/glib:2
- dev-libs/jansson:=
- dev-qt/qtbase:6[network,widgets,xml(+)]
- dev-qt/qtsvg:6
- media-libs/libglvnd[X]
- media-libs/libva
- media-libs/rnnoise
- media-libs/x264:=
- media-video/ffmpeg:=[nvenc?,opus,x264]
- net-misc/curl
- sys-apps/dbus
- sys-apps/pciutils
- sys-apps/util-linux
- sys-libs/zlib:=
- x11-libs/libX11
- x11-libs/libxcb:=
- x11-libs/libXcomposite
- x11-libs/libXfixes
- x11-libs/libxkbcommon
- alsa? ( media-libs/alsa-lib )
- browser? (
- || (
- >=app-accessibility/at-spi2-core-2.46.0:2
- ( app-accessibility/at-spi2-atk dev-libs/atk )
- )
- dev-cpp/nlohmann_json
- dev-libs/expat
- dev-libs/glib
- dev-libs/nspr
- dev-libs/nss
- dev-libs/wayland
- media-libs/alsa-lib
- media-libs/fontconfig
- media-libs/mesa[gbm(+)]
- net-print/cups
- x11-libs/cairo
- x11-libs/libdrm
- x11-libs/libXcursor
- x11-libs/libXdamage
- x11-libs/libXext
- x11-libs/libXi
- x11-libs/libxkbcommon
- x11-libs/libXrandr
- x11-libs/libXrender
- x11-libs/libXScrnSaver
- x11-libs/libxshmfence
- x11-libs/libXtst
- x11-libs/pango
- )
- fdk? ( media-libs/fdk-aac:= )
- jack? ( virtual/jack )
- lua? ( ${LUA_DEPS} )
- mpegts? (
- net-libs/librist
- net-libs/srt
- )
- pipewire? ( media-video/pipewire:= )
- pulseaudio? ( media-libs/libpulse )
- python? ( ${PYTHON_DEPS} )
- qsv? ( media-libs/libvpl )
- speex? ( media-libs/speexdsp )
- ssl? ( net-libs/mbedtls:= )
- test? ( dev-util/cmocka )
- truetype? (
- media-libs/fontconfig
- media-libs/freetype
- )
- v4l? (
- media-libs/libv4l
- virtual/udev
- )
- vlc? ( media-video/vlc:= )
- wayland? (
- dev-libs/wayland
- x11-libs/libxkbcommon
- )
- websocket? (
- dev-cpp/asio
- dev-cpp/nlohmann_json
- dev-cpp/websocketpp
- dev-libs/qr-code-generator
- )
-"
-RDEPEND="${DEPEND}"
-
-QA_PREBUILT="
- usr/lib*/obs-plugins/chrome-sandbox
- usr/lib*/obs-plugins/libcef.so
- usr/lib*/obs-plugins/libEGL.so
- usr/lib*/obs-plugins/libGLESv2.so
- usr/lib*/obs-plugins/libvk_swiftshader.so
- usr/lib*/obs-plugins/libvulkan.so.1
- usr/lib*/obs-plugins/swiftshader/libEGL.so
- usr/lib*/obs-plugins/swiftshader/libGLESv2.so
-"
-
-pkg_setup() {
- use lua && lua-single_pkg_setup
- use python && python-single-r1_pkg_setup
-}
-
-src_unpack() {
- default
-
- if [[ ${PV} == 9999 ]]; then
- git-r3_src_unpack
- else
- rm -d ${P}/plugins/obs-browser || die
- mv obs-browser-${OBS_BROWSER_COMMIT} ${P}/plugins/obs-browser || die
-
- rm -d ${P}/plugins/obs-websocket || die
- mv obs-websocket-${OBS_WEBSOCKET_COMMIT} ${P}/plugins/obs-websocket || die
- fi
-}
-
-src_prepare() {
- default
-
- sed -i '/-Werror$/d' "${WORKDIR}"/${P}/cmake/Modules/CompilerConfig.cmake || die
-
- # -Werror=lto-type-mismatch
- # https://bugs.gentoo.org/867250
- # https://github.com/obsproject/obs-studio/issues/8988
- use wayland && filter-lto
-
- cmake_src_prepare
-}
-
-src_configure() {
- local libdir=$(get_libdir)
- local mycmakeargs=(
- $(usev browser -DCEF_ROOT_DIR=../${CEF_DIR})
- -DCALM_DEPRECATION=ON
- -DCCACHE_SUPPORT=OFF
- -DENABLE_ALSA=$(usex alsa)
- -DENABLE_AJA=OFF
- -DENABLE_BROWSER=$(usex browser)
- -DENABLE_DECKLINK=$(usex decklink)
- -DENABLE_FREETYPE=$(usex truetype)
- -DENABLE_JACK=$(usex jack)
- -DENABLE_LIBFDK=$(usex fdk)
- -DENABLE_NEW_MPEGTS_OUTPUT=$(usex mpegts)
- -DENABLE_PIPEWIRE=$(usex pipewire)
- -DENABLE_PULSEAUDIO=$(usex pulseaudio)
- -DENABLE_QSV11=$(usex qsv)
- -DENABLE_RNNOISE=ON
- -DENABLE_RTMPS=$(usex ssl ON OFF) # Needed for bug 880861
- -DENABLE_SPEEXDSP=$(usex speex)
- -DENABLE_UNIT_TESTS=$(usex test)
- -DENABLE_V4L2=$(usex v4l)
- -DENABLE_VLC=$(usex vlc)
- -DENABLE_VST=ON
- -DENABLE_WAYLAND=$(usex wayland)
- -DENABLE_WEBRTC=OFF # Requires libdatachannel.
- -DENABLE_WEBSOCKET=$(usex websocket)
- -DOBS_MULTIARCH_SUFFIX=${libdir#lib}
- -DUNIX_STRUCTURE=1
- )
-
- if [[ ${PV} != 9999 ]]; then
- mycmakeargs+=(
- -DOBS_VERSION_OVERRIDE=${PV}
- )
- fi
-
- if use lua || use python; then
- mycmakeargs+=(
- -DENABLE_SCRIPTING_LUA=$(usex lua)
- -DENABLE_SCRIPTING_PYTHON=$(usex python)
- -DENABLE_SCRIPTING=ON
- )
- else
- mycmakeargs+=( -DENABLE_SCRIPTING=OFF )
- fi
-
- if use browser && use ssl; then
- mycmakeargs+=( -DENABLE_WHATSNEW=ON )
- else
- mycmakeargs+=( -DENABLE_WHATSNEW=OFF )
- fi
-
- cmake_src_configure
-}
-
-src_install() {
- cmake_src_install
-
- # external plugins may need some things not installed by default, install them here
- insinto /usr/include/obs/UI/obs-frontend-api
- doins UI/obs-frontend-api/obs-frontend-api.h
-}
-
-pkg_postinst() {
- xdg_pkg_postinst
-
- if ! use alsa && ! use pulseaudio; then
- elog
- elog "For the audio capture features to be available,"
- elog "at least one of the 'alsa' or 'pulseaudio' USE-flags needs to"
- elog "be enabled."
- elog
- fi
-
- if use v4l && has_version media-video/v4l2loopback; then
- elog
- elog "Depending on system configuration, the v4l2loopback kernel module"
- elog "may need to be loaded manually, and needs to be re-built after"
- elog "kernel changes."
- elog
- fi
-
- optfeature "VA-API hardware encoding" media-video/ffmpeg[vaapi]
- optfeature "virtual camera support" media-video/v4l2loopback
-}
diff --git a/media-video/obs-studio/obs-studio-30.2.0-r1.ebuild b/media-video/obs-studio/obs-studio-30.2.0-r1.ebuild
deleted file mode 100644
index c2bb6f445487..000000000000
--- a/media-video/obs-studio/obs-studio-30.2.0-r1.ebuild
+++ /dev/null
@@ -1,271 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-CMAKE_REMOVE_MODULES_LIST=( FindFreetype )
-LUA_COMPAT=( luajit )
-PYTHON_COMPAT=( python3_{9..12} )
-
-inherit cmake flag-o-matic lua-single optfeature python-single-r1 xdg
-
-CEF_DIR="cef_binary_5060_linux_x86_64"
-CEF_REVISION="_v3"
-OBS_BROWSER_COMMIT="c81851a1d7696c2d7ba319122eec387c1568ad44"
-OBS_WEBSOCKET_COMMIT="f8bc7c4f593c7957ecdb45a24faaff3e95f24e8b"
-
-DESCRIPTION="Software for Recording and Streaming Live Video Content"
-HOMEPAGE="https://obsproject.com"
-
-if [[ ${PV} == 9999 ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/obsproject/obs-studio.git"
- EGIT_SUBMODULES=(
- plugins/obs-browser
- plugins/obs-websocket
- )
-else
- SRC_URI="
- https://github.com/obsproject/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz
- https://github.com/obsproject/obs-browser/archive/${OBS_BROWSER_COMMIT}.tar.gz -> obs-browser-${OBS_BROWSER_COMMIT}.tar.gz
- https://github.com/obsproject/obs-websocket/archive/${OBS_WEBSOCKET_COMMIT}.tar.gz -> obs-websocket-${OBS_WEBSOCKET_COMMIT}.tar.gz
- "
- KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
-fi
-
-SRC_URI+=" browser? ( https://cdn-fastly.obsproject.com/downloads/${CEF_DIR}${CEF_REVISION}.tar.xz )"
-
-LICENSE="Boost-1.0 GPL-2+ MIT Unlicense"
-SLOT="0"
-IUSE="
- +alsa browser decklink fdk jack lua mpegts nvenc pipewire pulseaudio
- python qsv speex +ssl test truetype v4l vlc wayland websocket
-"
-RESTRICT="!test? ( test )"
-REQUIRED_USE="
- browser? ( || ( alsa pulseaudio ) )
- lua? ( ${LUA_REQUIRED_USE} )
- python? ( ${PYTHON_REQUIRED_USE} )
-"
-
-BDEPEND="
- lua? ( dev-lang/swig )
- python? ( dev-lang/swig )
-"
-# media-video/ffmpeg[opus] required due to bug 909566
-DEPEND="
- dev-cpp/nlohmann_json
- dev-libs/glib:2
- dev-libs/jansson:=
- dev-libs/uthash
- dev-qt/qtbase:6[network,widgets,xml(+)]
- dev-qt/qtsvg:6
- media-libs/libglvnd[X]
- media-libs/libva
- media-libs/rnnoise
- media-libs/x264:=
- media-video/ffmpeg:=[nvenc?,opus,x264]
- net-misc/curl
- sys-apps/dbus
- sys-apps/pciutils
- sys-apps/util-linux
- sys-libs/zlib:=
- x11-libs/libX11
- x11-libs/libxcb:=
- x11-libs/libXcomposite
- x11-libs/libXfixes
- x11-libs/libxkbcommon
- alsa? ( media-libs/alsa-lib )
- browser? (
- || (
- >=app-accessibility/at-spi2-core-2.46.0:2
- ( app-accessibility/at-spi2-atk dev-libs/atk )
- )
- dev-libs/expat
- dev-libs/glib
- dev-libs/nspr
- dev-libs/nss
- dev-libs/wayland
- media-libs/alsa-lib
- media-libs/fontconfig
- media-libs/mesa[gbm(+)]
- net-print/cups
- x11-libs/cairo
- x11-libs/libdrm
- x11-libs/libXcursor
- x11-libs/libXdamage
- x11-libs/libXext
- x11-libs/libXi
- x11-libs/libxkbcommon
- x11-libs/libXrandr
- x11-libs/libXrender
- x11-libs/libXScrnSaver
- x11-libs/libxshmfence
- x11-libs/libXtst
- x11-libs/pango
- )
- fdk? ( media-libs/fdk-aac:= )
- jack? ( virtual/jack )
- lua? ( ${LUA_DEPS} )
- mpegts? (
- net-libs/librist
- net-libs/srt
- )
- pipewire? ( media-video/pipewire:= )
- pulseaudio? ( media-libs/libpulse )
- python? ( ${PYTHON_DEPS} )
- qsv? ( media-libs/libvpl )
- speex? ( media-libs/speexdsp )
- ssl? ( net-libs/mbedtls:= )
- test? ( dev-util/cmocka )
- truetype? (
- media-libs/fontconfig
- media-libs/freetype
- )
- v4l? (
- media-libs/libv4l
- virtual/udev
- )
- vlc? ( media-video/vlc:= )
- wayland? (
- dev-libs/wayland
- x11-libs/libxkbcommon
- )
- websocket? (
- dev-cpp/asio
- dev-cpp/websocketpp
- dev-libs/qr-code-generator
- )
-"
-RDEPEND="${DEPEND}"
-
-QA_PREBUILT="
- usr/lib*/obs-plugins/chrome-sandbox
- usr/lib*/obs-plugins/libcef.so
- usr/lib*/obs-plugins/libEGL.so
- usr/lib*/obs-plugins/libGLESv2.so
- usr/lib*/obs-plugins/libvk_swiftshader.so
- usr/lib*/obs-plugins/libvulkan.so.1
- usr/lib*/obs-plugins/swiftshader/libEGL.so
- usr/lib*/obs-plugins/swiftshader/libGLESv2.so
-"
-
-pkg_setup() {
- use lua && lua-single_pkg_setup
- use python && python-single-r1_pkg_setup
-}
-
-src_unpack() {
- default
-
- if [[ ${PV} == 9999 ]]; then
- git-r3_src_unpack
- else
- rm -d ${P}/plugins/obs-browser || die
- mv obs-browser-${OBS_BROWSER_COMMIT} ${P}/plugins/obs-browser || die
-
- rm -d ${P}/plugins/obs-websocket || die
- mv obs-websocket-${OBS_WEBSOCKET_COMMIT} ${P}/plugins/obs-websocket || die
- fi
-}
-
-src_prepare() {
- default
-
- sed -i '/-Werror$/d' "${WORKDIR}"/${P}/cmake/Modules/CompilerConfig.cmake || die
-
- # -Werror=lto-type-mismatch
- # https://bugs.gentoo.org/867250
- # https://github.com/obsproject/obs-studio/issues/8988
- use wayland && filter-lto
-
- cmake_src_prepare
-}
-
-src_configure() {
- local libdir=$(get_libdir)
- local mycmakeargs=(
- $(usev browser -DCEF_ROOT_DIR=../${CEF_DIR})
- -DCALM_DEPRECATION=ON
- -DCCACHE_SUPPORT=OFF
- -DENABLE_ALSA=$(usex alsa)
- -DENABLE_AJA=OFF
- -DENABLE_BROWSER=$(usex browser)
- -DENABLE_DECKLINK=$(usex decklink)
- -DENABLE_FREETYPE=$(usex truetype)
- -DENABLE_JACK=$(usex jack)
- -DENABLE_LIBFDK=$(usex fdk)
- -DENABLE_NATIVE_NVENC=$(usex nvenc)
- -DENABLE_NEW_MPEGTS_OUTPUT=$(usex mpegts)
- -DENABLE_PIPEWIRE=$(usex pipewire)
- -DENABLE_PULSEAUDIO=$(usex pulseaudio)
- -DENABLE_QSV11=$(usex qsv)
- -DENABLE_RNNOISE=ON
- -DENABLE_RTMPS=$(usex ssl ON OFF) # Needed for bug 880861
- -DENABLE_SPEEXDSP=$(usex speex)
- -DENABLE_UNIT_TESTS=$(usex test)
- -DENABLE_V4L2=$(usex v4l)
- -DENABLE_VLC=$(usex vlc)
- -DENABLE_VST=ON
- -DENABLE_WAYLAND=$(usex wayland)
- -DENABLE_WEBRTC=OFF # Requires libdatachannel.
- -DENABLE_WEBSOCKET=$(usex websocket)
- -DOBS_MULTIARCH_SUFFIX=${libdir#lib}
- -DUNIX_STRUCTURE=1
- )
-
- if [[ ${PV} != 9999 ]]; then
- mycmakeargs+=(
- -DOBS_VERSION_OVERRIDE=${PV}
- )
- fi
-
- if use lua || use python; then
- mycmakeargs+=(
- -DENABLE_SCRIPTING_LUA=$(usex lua)
- -DENABLE_SCRIPTING_PYTHON=$(usex python)
- -DENABLE_SCRIPTING=ON
- )
- else
- mycmakeargs+=( -DENABLE_SCRIPTING=OFF )
- fi
-
- if use browser && use ssl; then
- mycmakeargs+=( -DENABLE_WHATSNEW=ON )
- else
- mycmakeargs+=( -DENABLE_WHATSNEW=OFF )
- fi
-
- cmake_src_configure
-}
-
-src_install() {
- cmake_src_install
-
- # external plugins may need some things not installed by default, install them here
- insinto /usr/include/obs/UI/obs-frontend-api
- doins UI/obs-frontend-api/obs-frontend-api.h
-}
-
-pkg_postinst() {
- xdg_pkg_postinst
-
- if ! use alsa && ! use pulseaudio; then
- elog
- elog "For the audio capture features to be available,"
- elog "at least one of the 'alsa' or 'pulseaudio' USE-flags needs to"
- elog "be enabled."
- elog
- fi
-
- if use v4l && has_version media-video/v4l2loopback; then
- elog
- elog "Depending on system configuration, the v4l2loopback kernel module"
- elog "may need to be loaded manually, and needs to be re-built after"
- elog "kernel changes."
- elog
- fi
-
- optfeature "VA-API hardware encoding" media-video/ffmpeg[vaapi]
- optfeature "virtual camera support" media-video/v4l2loopback
-}
diff --git a/media-video/obs-studio/obs-studio-30.2.1.ebuild b/media-video/obs-studio/obs-studio-30.2.3.ebuild
index d5800bb8e299..043f43465d42 100644
--- a/media-video/obs-studio/obs-studio-30.2.1.ebuild
+++ b/media-video/obs-studio/obs-studio-30.2.3.ebuild
@@ -11,7 +11,7 @@ inherit cmake flag-o-matic lua-single optfeature python-single-r1 xdg
CEF_DIR="cef_binary_5060_linux_x86_64"
CEF_REVISION="_v3"
-OBS_BROWSER_COMMIT="2a2879b5a69f4a99cd7459d8595af46cdb23115c"
+OBS_BROWSER_COMMIT="c710222ec9d7ef9aa5d7099e9019d636e2c89f00"
OBS_WEBSOCKET_COMMIT="0548c7798a323fe5296c150e13b898a5ee62fc1e"
DESCRIPTION="Software for Recording and Streaming Live Video Content"
@@ -111,6 +111,7 @@ DEPEND="
net-libs/librist
net-libs/srt
)
+ nvenc? ( >=media-libs/nv-codec-headers-12 )
pipewire? ( media-video/pipewire:= )
pulseaudio? ( media-libs/libpulse )
python? ( ${PYTHON_DEPS} )
@@ -137,7 +138,9 @@ DEPEND="
dev-libs/qr-code-generator
)
"
-RDEPEND="${DEPEND}"
+RDEPEND="${DEPEND}
+ qsv? ( media-libs/intel-mediasdk )
+"
QA_PREBUILT="
usr/lib*/obs-plugins/chrome-sandbox
@@ -180,6 +183,10 @@ src_prepare() {
use wayland && filter-lto
cmake_src_prepare
+
+ pushd deps/json11 &> /dev/null || die
+ eapply "${FILESDIR}/json11-1.0.0-include-cstdint.patch"
+ popd &> /dev/null || die
}
src_configure() {
@@ -195,7 +202,7 @@ src_configure() {
-DENABLE_FREETYPE=$(usex truetype)
-DENABLE_JACK=$(usex jack)
-DENABLE_LIBFDK=$(usex fdk)
- -DENABLE_NATIVE_NVENC=$(usex nvenc)
+ -DENABLE_NATIVE_NVENC=OFF
-DENABLE_NEW_MPEGTS_OUTPUT=$(usex mpegts)
-DENABLE_PIPEWIRE=$(usex pipewire)
-DENABLE_PULSEAUDIO=$(usex pulseaudio)
diff --git a/media-video/obs-studio/obs-studio-9999.ebuild b/media-video/obs-studio/obs-studio-9999.ebuild
index d5800bb8e299..78f140d81c76 100644
--- a/media-video/obs-studio/obs-studio-9999.ebuild
+++ b/media-video/obs-studio/obs-studio-9999.ebuild
@@ -5,13 +5,13 @@ EAPI=8
CMAKE_REMOVE_MODULES_LIST=( FindFreetype )
LUA_COMPAT=( luajit )
-PYTHON_COMPAT=( python3_{9..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit cmake flag-o-matic lua-single optfeature python-single-r1 xdg
CEF_DIR="cef_binary_5060_linux_x86_64"
CEF_REVISION="_v3"
-OBS_BROWSER_COMMIT="2a2879b5a69f4a99cd7459d8595af46cdb23115c"
+OBS_BROWSER_COMMIT="be9f1b646406d2250b402581b043f1558042d7f0"
OBS_WEBSOCKET_COMMIT="0548c7798a323fe5296c150e13b898a5ee62fc1e"
DESCRIPTION="Software for Recording and Streaming Live Video Content"
@@ -26,9 +26,12 @@ if [[ ${PV} == 9999 ]]; then
)
else
SRC_URI="
- https://github.com/obsproject/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz
- https://github.com/obsproject/obs-browser/archive/${OBS_BROWSER_COMMIT}.tar.gz -> obs-browser-${OBS_BROWSER_COMMIT}.tar.gz
- https://github.com/obsproject/obs-websocket/archive/${OBS_WEBSOCKET_COMMIT}.tar.gz -> obs-websocket-${OBS_WEBSOCKET_COMMIT}.tar.gz
+ https://github.com/obsproject/${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz
+ https://github.com/obsproject/obs-browser/archive/${OBS_BROWSER_COMMIT}.tar.gz
+ -> obs-browser-${OBS_BROWSER_COMMIT}.tar.gz
+ https://github.com/obsproject/obs-websocket/archive/${OBS_WEBSOCKET_COMMIT}.tar.gz
+ -> obs-websocket-${OBS_WEBSOCKET_COMMIT}.tar.gz
"
KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
fi
@@ -39,9 +42,8 @@ LICENSE="Boost-1.0 GPL-2+ MIT Unlicense"
SLOT="0"
IUSE="
+alsa browser decklink fdk jack lua mpegts nvenc pipewire pulseaudio
- python qsv speex +ssl test truetype v4l vlc wayland websocket
+ python qsv sndio speex test-input truetype v4l vlc wayland websocket
"
-RESTRICT="!test? ( test )"
REQUIRED_USE="
browser? ( || ( alsa pulseaudio ) )
lua? ( ${LUA_REQUIRED_USE} )
@@ -66,6 +68,7 @@ DEPEND="
media-libs/x264:=
media-video/ffmpeg:=[nvenc?,opus,x264]
net-misc/curl
+ net-libs/mbedtls:=
sys-apps/dbus
sys-apps/pciutils
sys-apps/util-linux
@@ -111,13 +114,13 @@ DEPEND="
net-libs/librist
net-libs/srt
)
+ nvenc? ( >=media-libs/nv-codec-headers-12 )
pipewire? ( media-video/pipewire:= )
pulseaudio? ( media-libs/libpulse )
python? ( ${PYTHON_DEPS} )
qsv? ( media-libs/libvpl )
+ sndio? ( media-sound/sndio )
speex? ( media-libs/speexdsp )
- ssl? ( net-libs/mbedtls:= )
- test? ( dev-util/cmocka )
truetype? (
media-libs/fontconfig
media-libs/freetype
@@ -137,7 +140,9 @@ DEPEND="
dev-libs/qr-code-generator
)
"
-RDEPEND="${DEPEND}"
+RDEPEND="${DEPEND}
+ qsv? ( media-libs/intel-mediasdk )
+"
QA_PREBUILT="
usr/lib*/obs-plugins/chrome-sandbox
@@ -172,46 +177,46 @@ src_unpack() {
src_prepare() {
default
- sed -i '/-Werror$/d' "${WORKDIR}"/${P}/cmake/Modules/CompilerConfig.cmake || die
-
# -Werror=lto-type-mismatch
# https://bugs.gentoo.org/867250
# https://github.com/obsproject/obs-studio/issues/8988
use wayland && filter-lto
cmake_src_prepare
+
+ pushd deps/json11 &> /dev/null || die
+ eapply "${FILESDIR}/json11-1.0.0-include-cstdint.patch"
+ popd &> /dev/null || die
}
src_configure() {
local libdir=$(get_libdir)
local mycmakeargs=(
$(usev browser -DCEF_ROOT_DIR=../${CEF_DIR})
- -DCALM_DEPRECATION=ON
- -DCCACHE_SUPPORT=OFF
-DENABLE_ALSA=$(usex alsa)
-DENABLE_AJA=OFF
-DENABLE_BROWSER=$(usex browser)
+ -DENABLE_CCACHE=OFF
-DENABLE_DECKLINK=$(usex decklink)
+ -DENABLE_FFMPEG_NVENC=$(usex nvenc)
-DENABLE_FREETYPE=$(usex truetype)
-DENABLE_JACK=$(usex jack)
-DENABLE_LIBFDK=$(usex fdk)
- -DENABLE_NATIVE_NVENC=$(usex nvenc)
-DENABLE_NEW_MPEGTS_OUTPUT=$(usex mpegts)
+ -DENABLE_NVENC=$(usex nvenc)
-DENABLE_PIPEWIRE=$(usex pipewire)
-DENABLE_PULSEAUDIO=$(usex pulseaudio)
-DENABLE_QSV11=$(usex qsv)
-DENABLE_RNNOISE=ON
- -DENABLE_RTMPS=$(usex ssl ON OFF) # Needed for bug 880861
+ -DENABLE_SNDIO=$(usex sndio)
-DENABLE_SPEEXDSP=$(usex speex)
- -DENABLE_UNIT_TESTS=$(usex test)
+ -DENABLE_TEST_INPUT=$(usex test-input)
-DENABLE_V4L2=$(usex v4l)
-DENABLE_VLC=$(usex vlc)
-DENABLE_VST=ON
-DENABLE_WAYLAND=$(usex wayland)
-DENABLE_WEBRTC=OFF # Requires libdatachannel.
-DENABLE_WEBSOCKET=$(usex websocket)
- -DOBS_MULTIARCH_SUFFIX=${libdir#lib}
- -DUNIX_STRUCTURE=1
)
if [[ ${PV} != 9999 ]]; then
@@ -230,7 +235,7 @@ src_configure() {
mycmakeargs+=( -DENABLE_SCRIPTING=OFF )
fi
- if use browser && use ssl; then
+ if use browser; then
mycmakeargs+=( -DENABLE_WHATSNEW=ON )
else
mycmakeargs+=( -DENABLE_WHATSNEW=OFF )
diff --git a/media-video/parole/parole-4.18.1.ebuild b/media-video/parole/parole-4.18.1.ebuild
index 22957f3ae0b8..8e2685ebdb8e 100644
--- a/media-video/parole/parole-4.18.1.ebuild
+++ b/media-video/parole/parole-4.18.1.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://archive.xfce.org/src/apps/${PN}/${PV%.*}/${P}.tar.bz2"
LICENSE="GPL-2+"
SLOT="0"
-KEYWORDS="amd64 arm arm64 ~ia64 ~loong ~mips ~ppc ppc64 ~riscv x86"
+KEYWORDS="amd64 arm arm64 ~loong ~mips ~ppc ppc64 ~riscv x86"
IUSE="libnotify taglib wayland X"
REQUIRED_USE="|| ( wayland X )"
diff --git a/media-video/pipewire/Manifest b/media-video/pipewire/Manifest
index b9866a1db072..930bf08c5cb1 100644
--- a/media-video/pipewire/Manifest
+++ b/media-video/pipewire/Manifest
@@ -1,7 +1,6 @@
DIST pipewire-1.0.0-docs.tar.xz 33632 BLAKE2B be06aa7242f7d2f8627b3bf2a2ae491dbda456a24811a767218eb89b1fd5961a461697e5d8ae2782323fdb927985fa4fd5dd40c21268b1c7939f4cd3c9e1a9ab SHA512 14f794c4152d7d9a4a7d9d4d5c2ff381c2a8262deaff034f993c4d28629fca8cc3d71d3a7c02982703e449fae5f58257fea0c20db02bf95b5aed88a4d99d2c58
-DIST pipewire-1.0.5.tar.bz2 1698291 BLAKE2B 0f919a01b5f84060fb2ce560a7790a0d59374671f52a941492930fe21ac39178688f27f00cad649d239901f88b392e16895648efae2ec2785c394c1f6d186ddf SHA512 18fbbe36c8752eb0f1df5ee3f3fffee279addcec9825281bd165ad8316f17af7e91bb5759f63c16139c074b03e5a77ef9d596a87f584d1580bbb754101b70a0f
-DIST pipewire-1.0.6.tar.bz2 1698889 BLAKE2B f782efa2aa8fa0976fd3025f58041f450505c63acd9028c3d79368d0c41465a51b4472059a1c13092aa72dc6110fc12589b03de653d7eac3c93bc5498cc17154 SHA512 09e5c951c835dcc2654ec284aaaad6be4254744e943f95556c494cd22a4fc67bdc481982856f2aa439e33ec84e7fbdb6df45a1d4b9ced261b01cd91b0ee4d2ed
DIST pipewire-1.0.7.tar.bz2 1698775 BLAKE2B be075eb82fe516116de0a6a4d390dd99d7ea3b41e53c9079219978649845df4e9c16cb8e2dcfe594c2ace65fe63976ec432e9ce97eb048df5103d17f3e8ff353 SHA512 3fb46376cdf061b3ea7be55249399d0036c2728bb4deeb6f5c6d708141234e75f563e6a3dc749fbd40dadba72ad2db5fda358b368a480479157731cc67f3303d
DIST pipewire-1.2.0-docs.tar.xz 58528 BLAKE2B b7abdfecd46239050ab80695c8f3d1a4e6a2aded3f9d64c435c64c7dc54a4e6ae32c3526da0fb4f6e2a22a6dbc8c768450ac2c0824b685022284eb1e1990c038 SHA512 25792090f258acc6cd52231be3918f0edaefeeb6c757acc748710a2e6f40ff7861a44e376dc9651742173c40153d3f848c9532257036ab874940270559d9c7f3
-DIST pipewire-1.2.0.tar.bz2 1810104 BLAKE2B a20caae515d800f80f607aeba585609ce9f47d0a38c48cc2eb3534f64049f774c119e36d27a585b5f7537e4eef6b2a56881e7db1e2ca2eedd52248ee9f331209 SHA512 3b9ceb02d3ea9fcadd2e009750d0c5b2435c8648c79f2fa9dc8dc83c772759985b140a02381a6c7be819b23d2a5a7671e456e81cf9b5be3437e994ef610bda59
-DIST pipewire-1.2.1.tar.bz2 1812153 BLAKE2B a95d3ba69ef6ee8d001c9081fec4392ef0c219c154b0f78851dd15e5a60f6daccc33fdf80a9ea653bd32d14109c5e1a5885e0c5ce392747be8e08c37a239a2e2 SHA512 e5bf5b712e2d96c96dd907780cd4b1a3d153f01261977bd75a11823bcc2be17b6c858d2967821862660d97426c8ed5f8ebd7bfde27dafe9f30c5b459b17e587f
+DIST pipewire-1.2.3.tar.bz2 1813639 BLAKE2B 42bd8a08125e79a67a4adec30541ae7fef3c1e8279d8f84365636f8691a237fc7d6b392ed2576b681a9b9418804978e5a8493d7062567ed89035286fb49977f5 SHA512 8a06ef3a9079b334b0d3248431fe6a09f330ad8078dc378ac465e253d3601c3e4552e2e07f7cf492ff6fbc218e686b30941ea153ccaaf826b5f0ff231f6b214e
+DIST pipewire-1.2.4.tar.bz2 1813941 BLAKE2B 07819879ccd4122ea543fa7dffb45701741520577f09dd6a6fff9931fc571e0a2f1b3d1a023effd57e13148b6d1fb988fbd6444519b5e7c30b2c10fe30aa1cae SHA512 844c3c95b61aa78c21e5e471648f9c4c03839a64ca365ef39cfba6e4b9cc86a72dbfd725cdbbf00db22d3b82ae6faa20911b2bfcb0bc06a87984bfcb73fc4481
+DIST pipewire-1.2.5.tar.bz2 1814091 BLAKE2B 734fc6e70eab6d7c145a6d6614d6a0a49941b00b51d072f8ba318264d8cb0ec9937da63cf0c1725e90c8a2e6730ae0d590d530cd171aba325611cd916170d902 SHA512 c6b3c59882fe9261c14fb28d3ac3887566c56aeb98b3ec3ad965a007a51519c9597ca88ef76432872220bdd8c802fa1abe1dc043523410f4186321bbd353dc67
diff --git a/media-video/pipewire/files/pipewire-1.2.0-automagic-gsettings.patch b/media-video/pipewire/files/pipewire-1.2.0-automagic-gsettings.patch
deleted file mode 100644
index ab102a606c82..000000000000
--- a/media-video/pipewire/files/pipewire-1.2.0-automagic-gsettings.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-From b5f031bc15524bbfde577290ad9bbadeab77ae8b Mon Sep 17 00:00:00 2001
-From: Eli Schwartz <eschwartz93@gmail.com>
-Date: Sun, 30 Jun 2024 13:44:06 -0400
-Subject: [PATCH] meson: fix conflicting use of feature-based dependency
- lookups
-
-When spa-plugins is enabled, the gio-2.0 global dependency is
-overwritten.
-
-When bluez support is enabled, OR when gsettings is enabled, the gio-2.0
-dependency is then detected as found. This means that
-pipewire-module-protocol-pulse can end up enabling gsettings support
-even if it has been forcibly turned off.
-
-Rename the meson variables to ensure they are looked up separately.
----
- meson.build | 6 +++---
- spa/meson.build | 6 +++---
- src/modules/meson.build | 4 ++--
- 3 files changed, 8 insertions(+), 8 deletions(-)
-
-diff --git a/meson.build b/meson.build
-index 2607c5c8f4..38b6b59d00 100644
---- a/meson.build
-+++ b/meson.build
-@@ -346,9 +346,9 @@ summary({'GLib-2.0 (Flatpak support)': glib2_dep.found()}, bool_yn: true, sectio
- flatpak_support = glib2_dep.found()
- cdata.set('HAVE_GLIB2', flatpak_support)
-
--gio_dep = dependency('gio-2.0', version : '>= 2.26.0', required : get_option('gsettings'))
--summary({'GIO (GSettings)': gio_dep.found()}, bool_yn: true, section: 'Misc dependencies')
--if not gio_dep.found() and get_option('gsettings-pulse-schema').enabled()
-+gsettings_gio_dep = dependency('gio-2.0', version : '>= 2.26.0', required : get_option('gsettings'))
-+summary({'GIO (GSettings)': gsettings_gio_dep.found()}, bool_yn: true, section: 'Misc dependencies')
-+if not gsettings_gio_dep.found() and get_option('gsettings-pulse-schema').enabled()
- error('`gsettings-pulse-schema` is enabled but `gio` was not found.')
- endif
-
-diff --git a/spa/meson.build b/spa/meson.build
-index 67e4b5c506..cf25609dab 100644
---- a/spa/meson.build
-+++ b/spa/meson.build
-@@ -47,12 +47,12 @@ if get_option('spa-plugins').allowed()
- summary({'ALSA': alsa_dep.found()}, bool_yn: true, section: 'Backend')
-
- bluez_dep = dependency('bluez', version : '>= 4.101', required: get_option('bluez5'))
-- gio_dep = dependency('gio-2.0', required : get_option('bluez5'))
-- gio_unix_dep = dependency('gio-unix-2.0', required : get_option('bluez5'))
-+ bluez_gio_dep = dependency('gio-2.0', required : get_option('bluez5'))
-+ bluez_gio_unix_dep = dependency('gio-unix-2.0', required : get_option('bluez5'))
- bluez_glib2_dep = dependency('glib-2.0', required : get_option('bluez5'))
- sbc_dep = dependency('sbc', required: get_option('bluez5'))
- summary({'SBC': sbc_dep.found()}, bool_yn: true, section: 'Bluetooth audio codecs')
-- bluez5_deps = [ mathlib, dbus_dep, sbc_dep, bluez_dep, bluez_glib2_dep, gio_dep, gio_unix_dep ]
-+ bluez5_deps = [ mathlib, dbus_dep, sbc_dep, bluez_dep, bluez_glib2_dep, bluez_gio_dep, bluez_gio_unix_dep ]
- bluez_deps_found = get_option('bluez5').allowed()
- foreach dep: bluez5_deps
- if get_option('bluez5').enabled() and not dep.found()
-diff --git a/src/modules/meson.build b/src/modules/meson.build
-index ceaa7013d9..3f400f0877 100644
---- a/src/modules/meson.build
-+++ b/src/modules/meson.build
-@@ -433,11 +433,11 @@ if avahi_dep.found()
- cdata.set('HAVE_AVAHI', true)
- endif
-
--if gio_dep.found()
-+if gsettings_gio_dep.found()
- pipewire_module_protocol_pulse_sources += [
- 'module-protocol-pulse/modules/module-gsettings.c',
- ]
-- pipewire_module_protocol_pulse_deps += gio_dep
-+ pipewire_module_protocol_pulse_deps += gsettings_gio_dep
- cdata.set('HAVE_GIO', true)
- if get_option('gsettings-pulse-schema').enabled()
- install_data(['module-protocol-pulse/modules/org.freedesktop.pulseaudio.gschema.xml'],
---
-GitLab
-
diff --git a/media-video/pipewire/pipewire-1.0.5-r1.ebuild b/media-video/pipewire/pipewire-1.0.5-r1.ebuild
deleted file mode 100644
index 1373789d2b11..000000000000
--- a/media-video/pipewire/pipewire-1.0.5-r1.ebuild
+++ /dev/null
@@ -1,502 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# 1. Please regularly check (even at the point of bumping) Fedora's packaging
-# for needed backports at https://src.fedoraproject.org/rpms/pipewire/tree/rawhide.
-#
-# 2. Upstream also sometimes amend release notes for the previous release to mention
-# needed patches, e.g. https://gitlab.freedesktop.org/pipewire/pipewire/-/tags/0.3.55#distros
-#
-# 3. Keep an eye on git master (for both PipeWire and WirePlumber) as things
-# continue to move quickly. It's not uncommon for fixes to be made shortly
-# after releases.
-
-# TODO: Maybe get upstream to produce `meson dist` tarballs:
-# - https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/3663
-# - https://gitlab.freedesktop.org/pipewire/pipewire/-/merge_requests/1788
-#
-# Generate using https://github.com/thesamesam/sam-gentoo-scripts/blob/main/niche/generate-pipewire-docs
-# Set to 1 if prebuilt, 0 if not
-# (the construct below is to allow overriding from env for script)
-: ${PIPEWIRE_DOCS_PREBUILT:=1}
-
-PIPEWIRE_DOCS_PREBUILT_DEV=sam
-PIPEWIRE_DOCS_VERSION=$(ver_cut 1-2).0
-# Default to generating docs (inc. man pages) if no prebuilt; overridden later
-PIPEWIRE_DOCS_USEFLAG="+man"
-PYTHON_COMPAT=( python3_{10..12} )
-inherit meson-multilib optfeature prefix python-any-r1 systemd tmpfiles udev
-
-if [[ ${PV} == 9999 ]]; then
- PIPEWIRE_DOCS_PREBUILT=0
- EGIT_REPO_URI="https://gitlab.freedesktop.org/${PN}/${PN}.git"
- inherit git-r3
-else
- if [[ ${PV} == *_p* ]] ; then
- MY_COMMIT=""
- SRC_URI="https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/${MY_COMMIT}/pipewire-${MY_COMMIT}.tar.bz2 -> ${P}.tar.bz2"
- S="${WORKDIR}"/${PN}-${MY_COMMIT}
- else
- SRC_URI="https://gitlab.freedesktop.org/${PN}/${PN}/-/archive/${PV}/${P}.tar.bz2"
- fi
-
- if [[ ${PIPEWIRE_DOCS_PREBUILT} == 1 ]] ; then
- SRC_URI+=" !man? ( https://dev.gentoo.org/~${PIPEWIRE_DOCS_PREBUILT_DEV}/distfiles/${CATEGORY}/${PN}/${PN}-${PIPEWIRE_DOCS_VERSION}-docs.tar.xz )"
- PIPEWIRE_DOCS_USEFLAG="man"
- fi
-
- KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
-fi
-
-DESCRIPTION="Multimedia processing graphs"
-HOMEPAGE="https://pipewire.org/"
-
-LICENSE="MIT LGPL-2.1+ GPL-2"
-# ABI was broken in 0.3.42 for https://gitlab.freedesktop.org/pipewire/wireplumber/-/issues/49
-SLOT="0/0.4"
-IUSE="${PIPEWIRE_DOCS_USEFLAG} bluetooth dbus doc echo-cancel extra ffmpeg flatpak gstreamer gsettings ieee1394 jack-client jack-sdk liblc3 lv2"
-IUSE+=" modemmanager pipewire-alsa readline roc selinux sound-server ssl system-service systemd test v4l X zeroconf"
-
-# Once replacing system JACK libraries is possible, it's likely that
-# jack-client IUSE will need blocking to avoid users accidentally
-# configuring their systems to send PW sink output to the emulated
-# JACK's sink - doing so is likely to yield no audio, cause a CPU
-# cycles consuming loop (and may even cause GUI crashes)!
-
-# - TODO: There should be "sound-server? ( || ( alsa bluetooth ) )" here, but ALSA is always enabled
-# - TODO: Pulseaudio alsa plugin performs runtime check that pulseaudio server connection will work
-# which provides adequate guarantee that alsa-lib will be able to provide audio services.
-# If that works, pulseaudio defaults are loaded into alsa-lib runtime replacing default PCM and CTL.
-# When pipewire-alsa will be able to perform similar check, pipewire-alsa can be enabled unconditionally.
-# - ffmpeg is only used for pw-cat. We don't build the spa plugin which receives barely any activity.
-REQUIRED_USE="
- ffmpeg? ( extra )
- bluetooth? ( dbus )
- jack-sdk? ( !jack-client )
- modemmanager? ( bluetooth )
- system-service? ( systemd )
- !sound-server? ( !pipewire-alsa )
- jack-client? ( dbus )
-"
-
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- >=dev-build/meson-0.59
- virtual/pkgconfig
- dbus? ( dev-util/gdbus-codegen )
- doc? (
- ${PYTHON_DEPS}
- >=app-text/doxygen-1.9.8
- media-gfx/graphviz
- )
- man? (
- ${PYTHON_DEPS}
- >=app-text/doxygen-1.9.8
- )
-"
-# * While udev could technically be optional, it's needed for a number of options,
-# and not really worth it, bug #877769.
-#
-# * Supports both legacy webrtc-audio-processing:0 and new webrtc-audio-processing:1.
-# We depend on :1 as it prefers that, it's not legacy, and to avoid automagic.
-#
-# * Older Doxygen (<1.9.8) may work but inferior output is created:
-# - https://gitlab.freedesktop.org/pipewire/pipewire/-/merge_requests/1778
-# - https://github.com/doxygen/doxygen/issues/9254
-RDEPEND="
- acct-group/audio
- acct-group/pipewire
- media-libs/alsa-lib[${MULTILIB_USEDEP}]
- sys-libs/ncurses:=[unicode(+)]
- virtual/libintl[${MULTILIB_USEDEP}]
- virtual/libudev[${MULTILIB_USEDEP}]
- bluetooth? (
- dev-libs/glib
- media-libs/fdk-aac
- media-libs/libldac
- media-libs/libfreeaptx
- media-libs/opus
- media-libs/sbc
- >=net-wireless/bluez-4.101:=
- virtual/libusb:1
- )
- dbus? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
- echo-cancel? ( media-libs/webrtc-audio-processing:1 )
- extra? ( >=media-libs/libsndfile-1.0.20 )
- ffmpeg? ( media-video/ffmpeg:= )
- flatpak? ( dev-libs/glib )
- gstreamer? (
- >=dev-libs/glib-2.32.0:2
- >=media-libs/gstreamer-1.10.0:1.0
- media-libs/gst-plugins-base:1.0
- )
- gsettings? ( >=dev-libs/glib-2.26.0:2 )
- ieee1394? ( media-libs/libffado[${MULTILIB_USEDEP}] )
- jack-client? ( >=media-sound/jack2-1.9.10:2[dbus] )
- jack-sdk? (
- !media-sound/jack-audio-connection-kit
- !media-sound/jack2
- )
- liblc3? ( media-sound/liblc3 )
- lv2? ( media-libs/lilv )
- modemmanager? ( >=net-misc/modemmanager-1.10.0 )
- pipewire-alsa? ( >=media-libs/alsa-lib-1.1.7[${MULTILIB_USEDEP}] )
- sound-server? ( !media-sound/pulseaudio-daemon )
- roc? ( >=media-libs/roc-toolkit-0.3.0:= )
- readline? ( sys-libs/readline:= )
- selinux? ( sys-libs/libselinux )
- ssl? ( dev-libs/openssl:= )
- systemd? ( sys-apps/systemd )
- system-service? ( acct-user/pipewire )
- v4l? ( media-libs/libv4l )
- X? (
- media-libs/libcanberra
- x11-libs/libX11
- x11-libs/libXfixes
- )
- zeroconf? ( net-dns/avahi )
-"
-
-DEPEND="${RDEPEND}"
-
-PDEPEND=">=media-video/wireplumber-0.5.2"
-
-# Present RDEPEND that are currently always disabled due to the PW
-# code using them being required to be disabled by Gentoo guidelines
-# (i.e. developer binaries not meant for users) and unready code
-# media-libs/libsdl2
-# >=media-libs/vulkan-loader-1.1.69
-#
-# Ditto for DEPEND
-# >=dev-util/vulkan-headers-1.1.69
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch
-)
-
-pkg_setup() {
- if use doc || use man ; then
- python-any-r1_pkg_setup
- fi
-}
-
-src_prepare() {
- default
-
- # Used for upstream backports
- [[ -d "${FILESDIR}"/${PV} ]] && eapply "${FILESDIR}"/${PV}
-}
-
-multilib_src_configure() {
- local emesonargs=(
- -Ddocdir="${EPREFIX}"/usr/share/doc/${PF}
-
- $(meson_feature dbus)
- $(meson_native_use_feature zeroconf avahi)
- $(meson_native_use_feature doc docs)
- $(meson_native_use_feature man)
- $(meson_native_enabled examples) # TODO: Figure out if this is still important now that media-session gone
- $(meson_feature test tests)
- -Dinstalled_tests=disabled # Matches upstream; Gentoo never installs tests
- $(meson_feature ieee1394 libffado)
- $(meson_native_use_feature gstreamer)
- $(meson_native_use_feature gstreamer gstreamer-device-provider)
- $(meson_native_use_feature gsettings)
- $(meson_native_use_feature systemd)
-
- $(meson_native_use_feature system-service systemd-system-service)
- -Dsystemd-system-unit-dir="$(systemd_get_systemunitdir)"
- -Dsystemd-user-unit-dir="$(systemd_get_userunitdir)"
-
- $(meson_native_use_feature systemd systemd-user-service)
- $(meson_feature pipewire-alsa) # Allows integrating ALSA apps into PW graph
- $(meson_feature selinux)
- -Dspa-plugins=enabled
- -Dalsa=enabled # Allows using kernel ALSA for sound I/O (NOTE: media-session is gone so IUSE=alsa/spa_alsa/alsa-backend might be possible)
- -Dcompress-offload=disabled # TODO: tinycompress unpackaged
- -Daudiomixer=enabled # Matches upstream
- -Daudioconvert=enabled # Matches upstream
- $(meson_native_use_feature bluetooth bluez5)
- $(meson_native_use_feature bluetooth bluez5-backend-hsp-native)
- $(meson_native_use_feature bluetooth bluez5-backend-hfp-native)
- # https://gitlab.freedesktop.org/pipewire/pipewire/-/merge_requests/1379
- $(meson_native_use_feature modemmanager bluez5-backend-native-mm)
- $(meson_native_use_feature bluetooth bluez5-backend-ofono)
- $(meson_native_use_feature bluetooth bluez5-backend-hsphfpd)
- $(meson_native_use_feature bluetooth bluez5-codec-aac)
- $(meson_native_use_feature bluetooth bluez5-codec-aptx)
- $(meson_native_use_feature bluetooth bluez5-codec-ldac)
- $(meson_native_use_feature bluetooth opus)
- $(meson_native_use_feature bluetooth bluez5-codec-opus)
- $(meson_native_use_feature bluetooth libusb) # At least for now only used by bluez5 native (quirk detection of adapters)
- $(meson_native_use_feature echo-cancel echo-cancel-webrtc) #807889
- -Dcontrol=enabled # Matches upstream
- -Daudiotestsrc=enabled # Matches upstream
- -Dffmpeg=disabled # Disabled by upstream and no major developments to spa/plugins/ffmpeg/ since May 2020
- $(meson_native_use_feature ffmpeg pw-cat-ffmpeg)
- $(meson_native_use_feature flatpak)
- -Dpipewire-jack=enabled # Allows integrating JACK apps into PW graph
- $(meson_native_use_feature jack-client jack) # Allows PW to act as a JACK client
- $(meson_use jack-sdk jack-devel)
- $(usex jack-sdk "-Dlibjack-path=${EPREFIX}/usr/$(get_libdir)" '')
- -Dsupport=enabled # Miscellaneous/common plugins, such as null sink
- -Devl=disabled # Matches upstream
- -Dtest=disabled # fakesink and fakesource plugins
- -Dbluez5-codec-lc3plus=disabled # unpackaged
- $(meson_native_use_feature liblc3 bluez5-codec-lc3)
- $(meson_native_use_feature lv2)
- $(meson_native_use_feature v4l v4l2)
- -Dlibcamera=disabled # libcamera is not in Portage tree
- $(meson_native_use_feature roc)
- $(meson_native_use_feature readline)
- $(meson_native_use_feature ssl raop)
- -Dvideoconvert=enabled # Matches upstream
- -Dvideotestsrc=enabled # Matches upstream
- -Dvolume=enabled # Matches upstream
- -Dvulkan=disabled # Uses pre-compiled Vulkan compute shader to provide a CGI video source (dev thing; disabled by upstream)
- $(meson_native_use_feature extra pw-cat)
- -Dudev=enabled
- -Dudevrulesdir="${EPREFIX}$(get_udevdir)/rules.d"
- -Dsdl2=disabled # Controls SDL2 dependent code (currently only examples when -Dinstalled_tests=enabled which we never install)
- -Dlibmysofa=disabled # libmysofa is unpackaged
- $(meson_native_use_feature extra sndfile) # Enables libsndfile dependent code (currently only pw-cat)
- -Dsession-managers="[]" # All available session managers are now their own projects, so there's nothing to build
-
- # We still have <5.16 kernels packaged in Gentoo and 6.1 (LTS) only
- # just became stable, with 5.15 being the previous LTS. Many people
- # are still on it.
- -Dpam-defaults-install=true
-
- # Just for bell sounds in X11 right now.
- $(meson_native_use_feature X x11)
- $(meson_native_use_feature X x11-xfixes)
- $(meson_native_use_feature X libcanberra)
- )
-
- meson_src_configure
-}
-
-multilib_src_test() {
- meson_src_test --timeout-multiplier 10
-}
-
-multilib_src_install() {
- # Our custom DOCS do not exist in multilib source directory
- DOCS= meson_src_install
-}
-
-multilib_src_install_all() {
- einstalldocs
-
- if ! use man && [[ ${PIPEWIRE_DOCS_PREBUILT} == 1 ]] ; then
- doman "${WORKDIR}"/${PN}-${PIPEWIRE_DOCS_VERSION}-docs/man/*/*.[0-8]
- fi
-
- if use pipewire-alsa; then
- dodir /etc/alsa/conf.d
-
- # Install pipewire conf loader hook
- insinto /usr/share/alsa/alsa.conf.d
- doins "${FILESDIR}"/99-pipewire-default-hook.conf
- eprefixify "${ED}"/usr/share/alsa/alsa.conf.d/99-pipewire-default-hook.conf
-
- # These will break if someone has /etc that is a symbolic link to a subfolder! See #724222
- # And the current dosym8 -r implementation is likely affected by the same issue, too.
- dosym ../../../usr/share/alsa/alsa.conf.d/50-pipewire.conf /etc/alsa/conf.d/50-pipewire.conf
- dosym ../../../usr/share/alsa/alsa.conf.d/99-pipewire-default-hook.conf /etc/alsa/conf.d/99-pipewire-default-hook.conf
- fi
-
- # Enable required wireplumber alsa and bluez monitors
- if use sound-server; then
- # Install sound-server enabler for wireplumber 0.5.0+ conf syntax
- insinto /etc/wireplumber/wireplumber.conf.d
- doins "${FILESDIR}"/gentoo-sound-server-enable-audio-bluetooth.conf
- fi
-
- if use system-service; then
- newtmpfiles - pipewire.conf <<-EOF || die
- d /run/pipewire 0755 pipewire pipewire - -
- EOF
- fi
-
- if ! use systemd; then
- insinto /etc/xdg/autostart
- newins "${FILESDIR}"/pipewire.desktop-r2 pipewire.desktop
-
- exeinto /usr/bin
- newexe "${FILESDIR}"/gentoo-pipewire-launcher.in-r3 gentoo-pipewire-launcher
-
- doman "${FILESDIR}"/gentoo-pipewire-launcher.1
-
- # Disable pipewire-pulse if sound-server is disabled.
- if ! use sound-server ; then
- sed -i -s '/pipewire -c pipewire-pulse.conf/s/^/#/' "${ED}"/usr/bin/gentoo-pipewire-launcher || die
- fi
-
- eprefixify "${ED}"/usr/bin/gentoo-pipewire-launcher
- fi
-}
-
-pkg_postrm() {
- udev_reload
-}
-
-pkg_preinst() {
- HAD_SOUND_SERVER=0
- HAD_SYSTEM_SERVICE=0
-
- if has_version "media-video/pipewire[sound-server(-)]" ; then
- HAD_SOUND_SERVER=1
- fi
-
- if has_version "media-video/pipewire[system-service(-)]" ; then
- HAD_SYSTEM_SERVICE=1
- fi
-}
-
-pkg_postinst() {
- udev_reload
-
- use system-service && tmpfiles_process pipewire.conf
-
- local ver
- for ver in ${REPLACING_VERSIONS} ; do
- if has_version kde-plasma/kwin[screencast] || has_version x11-wm/mutter[screencast] ; then
- # https://bugs.gentoo.org/908490
- # https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/3243
- ewarn "Please restart KWin/Mutter after upgrading PipeWire."
- ewarn "Screencasting may not work until you do."
- fi
-
- if ver_test ${ver} -le 0.3.66-r1 ; then
- elog ">=pipewire-0.3.66 uses the 'pipewire' group to manage permissions"
- elog "and limits needed to function smoothly:"
- elog
- elog "1. Please make sure your user is in the 'pipewire' group for"
- elog "the best experience with realtime scheduling (PAM limits behavior)!"
- elog "You can add your account with:"
- elog " usermod -aG pipewire <youruser>"
- elog
- elog "2. For the best experience with fast user switching, it is recommended"
- elog "that you remove your user from the 'audio' group unless you rely on the"
- elog "audio group for device access control or ACLs.:"
- elog " usermod -rG audio <youruser>"
- elog
-
- if ! use jack-sdk ; then
- elog
- elog "JACK emulation is incomplete and not all programs will work. PipeWire's"
- elog "alternative libraries have been installed to a non-default location."
- elog "To use them, put pw-jack <application> before every JACK application."
- elog "When using pw-jack, do not run jackd/jackdbus. However, a virtual/jack"
- elog "provider is still needed to compile the JACK applications themselves."
- elog
- fi
-
- if use systemd ; then
- ewarn
- ewarn "PipeWire daemon startup has been moved to a launcher script!"
- ewarn "Make sure that ${EROOT}/etc/pipewire/pipewire.conf either does not exist or no"
- ewarn "longer is set to start a session manager or PulseAudio compatibility daemon (all"
- ewarn "lines similar to '{ path = /usr/bin/pipewire*' should be commented out)"
- ewarn
- ewarn "Those manually starting /usr/bin/pipewire via .xinitrc or similar _must_ from"
- ewarn "now on start ${EROOT}/usr/bin/gentoo-pipewire-launcher instead! It is highly"
- ewarn "advised that a D-Bus user session is set up before starting the script."
- ewarn
- fi
-
- if use sound-server && ( has_version 'media-sound/pulseaudio[daemon]' || has_version 'media-sound/pulseaudio-daemon' ) ; then
- elog
- elog "This ebuild auto-enables PulseAudio replacement. Because of that, users"
- elog "are recommended to edit pulseaudio client configuration files:"
- elog "${EROOT}/etc/pulse/client.conf and ${EROOT}/etc/pulse/client.conf.d/enable-autospawn.conf"
- elog "if it exists, and disable autospawning of the original daemon by setting:"
- elog
- elog " autospawn = no"
- elog
- elog "Please note that the semicolon (;) must _NOT_ be at the beginning of the line!"
- elog
- elog "Alternatively, if replacing PulseAudio daemon is not desired, edit"
- elog "${EROOT}/usr/bin/gentoo-pipewire-launcher by commenting out the relevant"
- elog "command:"
- elog
- elog "#${EROOT}/usr/bin/pipewire -c pipewire-pulse.conf &"
- elog
- fi
-
- if has_version 'net-misc/ofono' ; then
- ewarn "Native backend has become default. Please disable oFono via:"
- if systemd_is_booted ; then
- ewarn "systemctl disable ofono"
- else
- ewarn "rc-update delete ofono"
- fi
- fi
- fi
- done
-
- if [[ ${HAD_SOUND_SERVER} -eq 0 || -z ${REPLACING_VERSIONS} ]] ; then
- # TODO: We could drop most of this if we set up systemd presets?
- # They're worth looking into because right now, the out-of-the-box experience
- # is automatic on OpenRC, while it needs manual intervention on systemd.
- if use sound-server && use systemd ; then
- elog
- elog "When switching from PulseAudio, you may need to disable PulseAudio:"
- elog
- elog " systemctl --user disable pulseaudio.service pulseaudio.socket"
- elog
- elog "To use PipeWire, the user units must be manually enabled"
- elog "by running this command as each user you use for desktop activities:"
- elog
- elog " systemctl --user enable pipewire.socket pipewire-pulse.socket"
- elog
- elog "A reboot is recommended to avoid interferences from still running"
- elog "PulseAudio daemon."
- elog
- elog "Both new users and those upgrading need to enable WirePlumber"
- elog "for relevant users:"
- elog
- elog " systemctl --user disable pipewire-media-session.service"
- elog " systemctl --user --force enable wireplumber.service"
- elog
- elog "Root user may replace --user with --global to change system default"
- elog "configuration for all of the above commands."
- elog
- fi
-
- if ! use sound-server ; then
- ewarn
- ewarn "USE=sound-server is disabled! If you want PipeWire to provide"
- ewarn "your sound, please enable it. See the wiki at"
- ewarn "https://wiki.gentoo.org/wiki/PipeWire#Replacing_PulseAudio"
- ewarn "for more details."
- ewarn
- fi
- fi
-
- if use system-service && [[ ${HAD_SYSTEM_SERVICE} -eq 0 || -z ${REPLACING_VERSIONS} ]] ; then
- ewarn
- ewarn "You have enabled the system-service USE flag, which installs"
- ewarn "the system-wide systemd units that enable PipeWire to run as a system"
- ewarn "service. This is more than likely NOT what you want. You are strongly"
- ewarn "advised not to enable this mode and instead stick with systemd user"
- ewarn "units. The default configuration files will likely not work out of the"
- ewarn "box, and you are on your own with configuration."
- ewarn
- fi
-
- elog "For latest tips and tricks, troubleshooting information, and documentation"
- elog "in general, please refer to https://wiki.gentoo.org/wiki/PipeWire"
- elog
-
- optfeature_header "The following can be installed for optional runtime features:"
- optfeature "restricted realtime capabilities via D-Bus" sys-auth/rtkit
-
- if use sound-server && ! use pipewire-alsa; then
- optfeature "ALSA plugin to use PulseAudio interface for output" "media-plugins/alsa-plugins[pulseaudio]"
- fi
-}
diff --git a/media-video/pipewire/pipewire-1.0.5.ebuild b/media-video/pipewire/pipewire-1.0.5.ebuild
deleted file mode 100644
index 0115d177525b..000000000000
--- a/media-video/pipewire/pipewire-1.0.5.ebuild
+++ /dev/null
@@ -1,512 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# 1. Please regularly check (even at the point of bumping) Fedora's packaging
-# for needed backports at https://src.fedoraproject.org/rpms/pipewire/tree/rawhide.
-#
-# 2. Upstream also sometimes amend release notes for the previous release to mention
-# needed patches, e.g. https://gitlab.freedesktop.org/pipewire/pipewire/-/tags/0.3.55#distros
-#
-# 3. Keep an eye on git master (for both PipeWire and WirePlumber) as things
-# continue to move quickly. It's not uncommon for fixes to be made shortly
-# after releases.
-
-# TODO: Maybe get upstream to produce `meson dist` tarballs:
-# - https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/3663
-# - https://gitlab.freedesktop.org/pipewire/pipewire/-/merge_requests/1788
-#
-# Generate using https://github.com/thesamesam/sam-gentoo-scripts/blob/main/niche/generate-pipewire-docs
-# Set to 1 if prebuilt, 0 if not
-# (the construct below is to allow overriding from env for script)
-: ${PIPEWIRE_DOCS_PREBUILT:=1}
-
-PIPEWIRE_DOCS_PREBUILT_DEV=sam
-PIPEWIRE_DOCS_VERSION=$(ver_cut 1-2).0
-# Default to generating docs (inc. man pages) if no prebuilt; overridden later
-PIPEWIRE_DOCS_USEFLAG="+man"
-PYTHON_COMPAT=( python3_{10..12} )
-inherit meson-multilib optfeature prefix python-any-r1 systemd tmpfiles udev
-
-if [[ ${PV} == 9999 ]]; then
- PIPEWIRE_DOCS_PREBUILT=0
- EGIT_REPO_URI="https://gitlab.freedesktop.org/${PN}/${PN}.git"
- inherit git-r3
-else
- if [[ ${PV} == *_p* ]] ; then
- MY_COMMIT=""
- SRC_URI="https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/${MY_COMMIT}/pipewire-${MY_COMMIT}.tar.bz2 -> ${P}.tar.bz2"
- S="${WORKDIR}"/${PN}-${MY_COMMIT}
- else
- SRC_URI="https://gitlab.freedesktop.org/${PN}/${PN}/-/archive/${PV}/${P}.tar.bz2"
- fi
-
- if [[ ${PIPEWIRE_DOCS_PREBUILT} == 1 ]] ; then
- SRC_URI+=" !man? ( https://dev.gentoo.org/~${PIPEWIRE_DOCS_PREBUILT_DEV}/distfiles/${CATEGORY}/${PN}/${PN}-${PIPEWIRE_DOCS_VERSION}-docs.tar.xz )"
- PIPEWIRE_DOCS_USEFLAG="man"
- fi
-
- KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~sparc x86"
-fi
-
-DESCRIPTION="Multimedia processing graphs"
-HOMEPAGE="https://pipewire.org/"
-
-LICENSE="MIT LGPL-2.1+ GPL-2"
-# ABI was broken in 0.3.42 for https://gitlab.freedesktop.org/pipewire/wireplumber/-/issues/49
-SLOT="0/0.4"
-IUSE="${PIPEWIRE_DOCS_USEFLAG} bluetooth dbus doc echo-cancel extra ffmpeg flatpak gstreamer gsettings ieee1394 jack-client jack-sdk liblc3 lv2"
-IUSE+=" modemmanager pipewire-alsa readline roc selinux sound-server ssl system-service systemd test v4l X zeroconf"
-
-# Once replacing system JACK libraries is possible, it's likely that
-# jack-client IUSE will need blocking to avoid users accidentally
-# configuring their systems to send PW sink output to the emulated
-# JACK's sink - doing so is likely to yield no audio, cause a CPU
-# cycles consuming loop (and may even cause GUI crashes)!
-
-# - TODO: There should be "sound-server? ( || ( alsa bluetooth ) )" here, but ALSA is always enabled
-# - TODO: Pulseaudio alsa plugin performs runtime check that pulseaudio server connection will work
-# which provides adequate guarantee that alsa-lib will be able to provide audio services.
-# If that works, pulseaudio defaults are loaded into alsa-lib runtime replacing default PCM and CTL.
-# When pipewire-alsa will be able to perform similar check, pipewire-alsa can be enabled unconditionally.
-# - ffmpeg is only used for pw-cat. We don't build the spa plugin which receives barely any activity.
-REQUIRED_USE="
- ffmpeg? ( extra )
- bluetooth? ( dbus )
- jack-sdk? ( !jack-client )
- modemmanager? ( bluetooth )
- system-service? ( systemd )
- !sound-server? ( !pipewire-alsa )
- jack-client? ( dbus )
-"
-
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- >=dev-build/meson-0.59
- virtual/pkgconfig
- dbus? ( dev-util/gdbus-codegen )
- doc? (
- ${PYTHON_DEPS}
- >=app-text/doxygen-1.9.8
- media-gfx/graphviz
- )
- man? (
- ${PYTHON_DEPS}
- >=app-text/doxygen-1.9.8
- )
-"
-# * While udev could technically be optional, it's needed for a number of options,
-# and not really worth it, bug #877769.
-#
-# * Supports both legacy webrtc-audio-processing:0 and new webrtc-audio-processing:1.
-# We depend on :1 as it prefers that, it's not legacy, and to avoid automagic.
-#
-# * Older Doxygen (<1.9.8) may work but inferior output is created:
-# - https://gitlab.freedesktop.org/pipewire/pipewire/-/merge_requests/1778
-# - https://github.com/doxygen/doxygen/issues/9254
-RDEPEND="
- acct-group/audio
- acct-group/pipewire
- media-libs/alsa-lib[${MULTILIB_USEDEP}]
- sys-libs/ncurses:=[unicode(+)]
- virtual/libintl[${MULTILIB_USEDEP}]
- virtual/libudev[${MULTILIB_USEDEP}]
- bluetooth? (
- dev-libs/glib
- media-libs/fdk-aac
- media-libs/libldac
- media-libs/libfreeaptx
- media-libs/opus
- media-libs/sbc
- >=net-wireless/bluez-4.101:=
- virtual/libusb:1
- )
- dbus? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
- echo-cancel? ( media-libs/webrtc-audio-processing:1 )
- extra? ( >=media-libs/libsndfile-1.0.20 )
- ffmpeg? ( media-video/ffmpeg:= )
- flatpak? ( dev-libs/glib )
- gstreamer? (
- >=dev-libs/glib-2.32.0:2
- >=media-libs/gstreamer-1.10.0:1.0
- media-libs/gst-plugins-base:1.0
- )
- gsettings? ( >=dev-libs/glib-2.26.0:2 )
- ieee1394? ( media-libs/libffado[${MULTILIB_USEDEP}] )
- jack-client? ( >=media-sound/jack2-1.9.10:2[dbus] )
- jack-sdk? (
- !media-sound/jack-audio-connection-kit
- !media-sound/jack2
- )
- liblc3? ( media-sound/liblc3 )
- lv2? ( media-libs/lilv )
- modemmanager? ( >=net-misc/modemmanager-1.10.0 )
- pipewire-alsa? ( >=media-libs/alsa-lib-1.1.7[${MULTILIB_USEDEP}] )
- sound-server? ( !media-sound/pulseaudio-daemon )
- roc? ( >=media-libs/roc-toolkit-0.3.0:= )
- readline? ( sys-libs/readline:= )
- selinux? ( sys-libs/libselinux )
- ssl? ( dev-libs/openssl:= )
- systemd? ( sys-apps/systemd )
- system-service? ( acct-user/pipewire )
- v4l? ( media-libs/libv4l )
- X? (
- media-libs/libcanberra
- x11-libs/libX11
- x11-libs/libXfixes
- )
- zeroconf? ( net-dns/avahi )
-"
-
-DEPEND="${RDEPEND}"
-
-# TODO: Consider use cases where pipewire is not used for driving audio
-# Doing so with WirePlumber currently involves editing Lua scripts
-PDEPEND=">=media-video/wireplumber-0.4.8-r3"
-
-# Present RDEPEND that are currently always disabled due to the PW
-# code using them being required to be disabled by Gentoo guidelines
-# (i.e. developer binaries not meant for users) and unready code
-# media-libs/libsdl2
-# >=media-libs/vulkan-loader-1.1.69
-#
-# Ditto for DEPEND
-# >=dev-util/vulkan-headers-1.1.69
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch
-)
-
-pkg_setup() {
- if use doc || use man ; then
- python-any-r1_pkg_setup
- fi
-}
-
-src_prepare() {
- default
-
- # Used for upstream backports
- [[ -d "${FILESDIR}"/${PV} ]] && eapply "${FILESDIR}"/${PV}
-}
-
-multilib_src_configure() {
- local emesonargs=(
- -Ddocdir="${EPREFIX}"/usr/share/doc/${PF}
-
- $(meson_feature dbus)
- $(meson_native_use_feature zeroconf avahi)
- $(meson_native_use_feature doc docs)
- $(meson_native_use_feature man)
- $(meson_native_enabled examples) # TODO: Figure out if this is still important now that media-session gone
- $(meson_feature test tests)
- -Dinstalled_tests=disabled # Matches upstream; Gentoo never installs tests
- $(meson_feature ieee1394 libffado)
- $(meson_native_use_feature gstreamer)
- $(meson_native_use_feature gstreamer gstreamer-device-provider)
- $(meson_native_use_feature gsettings)
- $(meson_native_use_feature systemd)
-
- $(meson_native_use_feature system-service systemd-system-service)
- -Dsystemd-system-unit-dir="$(systemd_get_systemunitdir)"
- -Dsystemd-user-unit-dir="$(systemd_get_userunitdir)"
-
- $(meson_native_use_feature systemd systemd-user-service)
- $(meson_feature pipewire-alsa) # Allows integrating ALSA apps into PW graph
- $(meson_feature selinux)
- -Dspa-plugins=enabled
- -Dalsa=enabled # Allows using kernel ALSA for sound I/O (NOTE: media-session is gone so IUSE=alsa/spa_alsa/alsa-backend might be possible)
- -Dcompress-offload=disabled # TODO: tinycompress unpackaged
- -Daudiomixer=enabled # Matches upstream
- -Daudioconvert=enabled # Matches upstream
- $(meson_native_use_feature bluetooth bluez5)
- $(meson_native_use_feature bluetooth bluez5-backend-hsp-native)
- $(meson_native_use_feature bluetooth bluez5-backend-hfp-native)
- # https://gitlab.freedesktop.org/pipewire/pipewire/-/merge_requests/1379
- $(meson_native_use_feature modemmanager bluez5-backend-native-mm)
- $(meson_native_use_feature bluetooth bluez5-backend-ofono)
- $(meson_native_use_feature bluetooth bluez5-backend-hsphfpd)
- $(meson_native_use_feature bluetooth bluez5-codec-aac)
- $(meson_native_use_feature bluetooth bluez5-codec-aptx)
- $(meson_native_use_feature bluetooth bluez5-codec-ldac)
- $(meson_native_use_feature bluetooth opus)
- $(meson_native_use_feature bluetooth bluez5-codec-opus)
- $(meson_native_use_feature bluetooth libusb) # At least for now only used by bluez5 native (quirk detection of adapters)
- $(meson_native_use_feature echo-cancel echo-cancel-webrtc) #807889
- -Dcontrol=enabled # Matches upstream
- -Daudiotestsrc=enabled # Matches upstream
- -Dffmpeg=disabled # Disabled by upstream and no major developments to spa/plugins/ffmpeg/ since May 2020
- $(meson_native_use_feature ffmpeg pw-cat-ffmpeg)
- $(meson_native_use_feature flatpak)
- -Dpipewire-jack=enabled # Allows integrating JACK apps into PW graph
- $(meson_native_use_feature jack-client jack) # Allows PW to act as a JACK client
- $(meson_use jack-sdk jack-devel)
- $(usex jack-sdk "-Dlibjack-path=${EPREFIX}/usr/$(get_libdir)" '')
- -Dsupport=enabled # Miscellaneous/common plugins, such as null sink
- -Devl=disabled # Matches upstream
- -Dtest=disabled # fakesink and fakesource plugins
- -Dbluez5-codec-lc3plus=disabled # unpackaged
- $(meson_native_use_feature liblc3 bluez5-codec-lc3)
- $(meson_native_use_feature lv2)
- $(meson_native_use_feature v4l v4l2)
- -Dlibcamera=disabled # libcamera is not in Portage tree
- $(meson_native_use_feature roc)
- $(meson_native_use_feature readline)
- $(meson_native_use_feature ssl raop)
- -Dvideoconvert=enabled # Matches upstream
- -Dvideotestsrc=enabled # Matches upstream
- -Dvolume=enabled # Matches upstream
- -Dvulkan=disabled # Uses pre-compiled Vulkan compute shader to provide a CGI video source (dev thing; disabled by upstream)
- $(meson_native_use_feature extra pw-cat)
- -Dudev=enabled
- -Dudevrulesdir="${EPREFIX}$(get_udevdir)/rules.d"
- -Dsdl2=disabled # Controls SDL2 dependent code (currently only examples when -Dinstalled_tests=enabled which we never install)
- -Dlibmysofa=disabled # libmysofa is unpackaged
- $(meson_native_use_feature extra sndfile) # Enables libsndfile dependent code (currently only pw-cat)
- -Dsession-managers="[]" # All available session managers are now their own projects, so there's nothing to build
-
- # We still have <5.16 kernels packaged in Gentoo and 6.1 (LTS) only
- # just became stable, with 5.15 being the previous LTS. Many people
- # are still on it.
- -Dpam-defaults-install=true
-
- # Just for bell sounds in X11 right now.
- $(meson_native_use_feature X x11)
- $(meson_native_use_feature X x11-xfixes)
- $(meson_native_use_feature X libcanberra)
- )
-
- meson_src_configure
-}
-
-multilib_src_test() {
- meson_src_test --timeout-multiplier 10
-}
-
-multilib_src_install() {
- # Our custom DOCS do not exist in multilib source directory
- DOCS= meson_src_install
-}
-
-multilib_src_install_all() {
- einstalldocs
-
- if ! use man && [[ ${PIPEWIRE_DOCS_PREBUILT} == 1 ]] ; then
- doman "${WORKDIR}"/${PN}-${PIPEWIRE_DOCS_VERSION}-docs/man/*/*.[0-8]
- fi
-
- if use pipewire-alsa; then
- dodir /etc/alsa/conf.d
-
- # Install pipewire conf loader hook
- insinto /usr/share/alsa/alsa.conf.d
- doins "${FILESDIR}"/99-pipewire-default-hook.conf
- eprefixify "${ED}"/usr/share/alsa/alsa.conf.d/99-pipewire-default-hook.conf
-
- # These will break if someone has /etc that is a symbolic link to a subfolder! See #724222
- # And the current dosym8 -r implementation is likely affected by the same issue, too.
- dosym ../../../usr/share/alsa/alsa.conf.d/50-pipewire.conf /etc/alsa/conf.d/50-pipewire.conf
- dosym ../../../usr/share/alsa/alsa.conf.d/99-pipewire-default-hook.conf /etc/alsa/conf.d/99-pipewire-default-hook.conf
- fi
-
- # Enable required wireplumber alsa and bluez monitors
- if use sound-server; then
- # Install sound-server enabler, alsa part, wireplumber 0.4.15 syntax, clean this up with wireplumber dep bump
- dodir /etc/wireplumber/main.lua.d
- echo "alsa_monitor.enabled = true" > "${ED}"/etc/wireplumber/main.lua.d/89-gentoo-sound-server-enable-alsa-monitor.lua || die
-
- # Install sound-server enabler, bluetooth part, wireplumber 0.4.15 syntax, clean this up with wireplumber dep bump
- dodir /etc/wireplumber/bluetooth.lua.d
- echo "bluez_monitor.enabled = true" > "${ED}"/etc/wireplumber/bluetooth.lua.d/89-gentoo-sound-server-enable-bluez-monitor.lua || die
-
- # Install sound-server enabler for wireplumber 0.4.81+ conf syntax
- insinto /etc/pipewire/wireplumber.conf.d
- doins "${FILESDIR}"/gentoo-sound-server-enable-audio-bluetooth.conf
- fi
-
- if use system-service; then
- newtmpfiles - pipewire.conf <<-EOF || die
- d /run/pipewire 0755 pipewire pipewire - -
- EOF
- fi
-
- if ! use systemd; then
- insinto /etc/xdg/autostart
- newins "${FILESDIR}"/pipewire.desktop-r2 pipewire.desktop
-
- exeinto /usr/bin
- newexe "${FILESDIR}"/gentoo-pipewire-launcher.in-r3 gentoo-pipewire-launcher
-
- doman "${FILESDIR}"/gentoo-pipewire-launcher.1
-
- # Disable pipewire-pulse if sound-server is disabled.
- if ! use sound-server ; then
- sed -i -s '/pipewire -c pipewire-pulse.conf/s/^/#/' "${ED}"/usr/bin/gentoo-pipewire-launcher || die
- fi
-
- eprefixify "${ED}"/usr/bin/gentoo-pipewire-launcher
- fi
-}
-
-pkg_postrm() {
- udev_reload
-}
-
-pkg_preinst() {
- HAD_SOUND_SERVER=0
- HAD_SYSTEM_SERVICE=0
-
- if has_version "media-video/pipewire[sound-server(-)]" ; then
- HAD_SOUND_SERVER=1
- fi
-
- if has_version "media-video/pipewire[system-service(-)]" ; then
- HAD_SYSTEM_SERVICE=1
- fi
-}
-
-pkg_postinst() {
- udev_reload
-
- use system-service && tmpfiles_process pipewire.conf
-
- local ver
- for ver in ${REPLACING_VERSIONS} ; do
- if has_version kde-plasma/kwin[screencast] || has_version x11-wm/mutter[screencast] ; then
- # https://bugs.gentoo.org/908490
- # https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/3243
- ewarn "Please restart KWin/Mutter after upgrading PipeWire."
- ewarn "Screencasting may not work until you do."
- fi
-
- if ver_test ${ver} -le 0.3.66-r1 ; then
- elog ">=pipewire-0.3.66 uses the 'pipewire' group to manage permissions"
- elog "and limits needed to function smoothly:"
- elog
- elog "1. Please make sure your user is in the 'pipewire' group for"
- elog "the best experience with realtime scheduling (PAM limits behavior)!"
- elog "You can add your account with:"
- elog " usermod -aG pipewire <youruser>"
- elog
- elog "2. For the best experience with fast user switching, it is recommended"
- elog "that you remove your user from the 'audio' group unless you rely on the"
- elog "audio group for device access control or ACLs.:"
- elog " usermod -rG audio <youruser>"
- elog
-
- if ! use jack-sdk ; then
- elog
- elog "JACK emulation is incomplete and not all programs will work. PipeWire's"
- elog "alternative libraries have been installed to a non-default location."
- elog "To use them, put pw-jack <application> before every JACK application."
- elog "When using pw-jack, do not run jackd/jackdbus. However, a virtual/jack"
- elog "provider is still needed to compile the JACK applications themselves."
- elog
- fi
-
- if use systemd ; then
- ewarn
- ewarn "PipeWire daemon startup has been moved to a launcher script!"
- ewarn "Make sure that ${EROOT}/etc/pipewire/pipewire.conf either does not exist or no"
- ewarn "longer is set to start a session manager or PulseAudio compatibility daemon (all"
- ewarn "lines similar to '{ path = /usr/bin/pipewire*' should be commented out)"
- ewarn
- ewarn "Those manually starting /usr/bin/pipewire via .xinitrc or similar _must_ from"
- ewarn "now on start ${EROOT}/usr/bin/gentoo-pipewire-launcher instead! It is highly"
- ewarn "advised that a D-Bus user session is set up before starting the script."
- ewarn
- fi
-
- if use sound-server && ( has_version 'media-sound/pulseaudio[daemon]' || has_version 'media-sound/pulseaudio-daemon' ) ; then
- elog
- elog "This ebuild auto-enables PulseAudio replacement. Because of that, users"
- elog "are recommended to edit pulseaudio client configuration files:"
- elog "${EROOT}/etc/pulse/client.conf and ${EROOT}/etc/pulse/client.conf.d/enable-autospawn.conf"
- elog "if it exists, and disable autospawning of the original daemon by setting:"
- elog
- elog " autospawn = no"
- elog
- elog "Please note that the semicolon (;) must _NOT_ be at the beginning of the line!"
- elog
- elog "Alternatively, if replacing PulseAudio daemon is not desired, edit"
- elog "${EROOT}/usr/bin/gentoo-pipewire-launcher by commenting out the relevant"
- elog "command:"
- elog
- elog "#${EROOT}/usr/bin/pipewire -c pipewire-pulse.conf &"
- elog
- fi
-
- if has_version 'net-misc/ofono' ; then
- ewarn "Native backend has become default. Please disable oFono via:"
- if systemd_is_booted ; then
- ewarn "systemctl disable ofono"
- else
- ewarn "rc-update delete ofono"
- fi
- fi
- fi
- done
-
- if [[ ${HAD_SOUND_SERVER} -eq 0 || -z ${REPLACING_VERSIONS} ]] ; then
- # TODO: We could drop most of this if we set up systemd presets?
- # They're worth looking into because right now, the out-of-the-box experience
- # is automatic on OpenRC, while it needs manual intervention on systemd.
- if use sound-server && use systemd ; then
- elog
- elog "When switching from PulseAudio, you may need to disable PulseAudio:"
- elog
- elog " systemctl --user disable pulseaudio.service pulseaudio.socket"
- elog
- elog "To use PipeWire, the user units must be manually enabled"
- elog "by running this command as each user you use for desktop activities:"
- elog
- elog " systemctl --user enable pipewire.socket pipewire-pulse.socket"
- elog
- elog "A reboot is recommended to avoid interferences from still running"
- elog "PulseAudio daemon."
- elog
- elog "Both new users and those upgrading need to enable WirePlumber"
- elog "for relevant users:"
- elog
- elog " systemctl --user disable pipewire-media-session.service"
- elog " systemctl --user --force enable wireplumber.service"
- elog
- elog "Root user may replace --user with --global to change system default"
- elog "configuration for all of the above commands."
- elog
- fi
-
- if ! use sound-server ; then
- ewarn
- ewarn "USE=sound-server is disabled! If you want PipeWire to provide"
- ewarn "your sound, please enable it. See the wiki at"
- ewarn "https://wiki.gentoo.org/wiki/PipeWire#Replacing_PulseAudio"
- ewarn "for more details."
- ewarn
- fi
- fi
-
- if use system-service && [[ ${HAD_SYSTEM_SERVICE} -eq 0 || -z ${REPLACING_VERSIONS} ]] ; then
- ewarn
- ewarn "You have enabled the system-service USE flag, which installs"
- ewarn "the system-wide systemd units that enable PipeWire to run as a system"
- ewarn "service. This is more than likely NOT what you want. You are strongly"
- ewarn "advised not to enable this mode and instead stick with systemd user"
- ewarn "units. The default configuration files will likely not work out of the"
- ewarn "box, and you are on your own with configuration."
- ewarn
- fi
-
- elog "For latest tips and tricks, troubleshooting information, and documentation"
- elog "in general, please refer to https://wiki.gentoo.org/wiki/PipeWire"
- elog
-
- optfeature_header "The following can be installed for optional runtime features:"
- optfeature "restricted realtime capabilities via D-Bus" sys-auth/rtkit
-
- if use sound-server && ! use pipewire-alsa; then
- optfeature "ALSA plugin to use PulseAudio interface for output" "media-plugins/alsa-plugins[pulseaudio]"
- fi
-}
diff --git a/media-video/pipewire/pipewire-1.2.0-r2.ebuild b/media-video/pipewire/pipewire-1.2.3.ebuild
index f4aeba1f7ea4..2f8576568666 100644
--- a/media-video/pipewire/pipewire-1.2.0-r2.ebuild
+++ b/media-video/pipewire/pipewire-1.2.3.ebuild
@@ -23,7 +23,7 @@ EAPI=8
: ${PIPEWIRE_DOCS_PREBUILT:=1}
PIPEWIRE_DOCS_PREBUILT_DEV=sam
-PIPEWIRE_DOCS_VERSION="${PV}"
+PIPEWIRE_DOCS_VERSION="$(ver_cut 1-2).0"
# Default to generating docs (inc. man pages) if no prebuilt; overridden later
PIPEWIRE_DOCS_USEFLAG="+man"
PYTHON_COMPAT=( python3_{10..12} )
@@ -47,7 +47,7 @@ else
PIPEWIRE_DOCS_USEFLAG="man"
fi
- KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+ KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~sparc x86"
fi
DESCRIPTION="Multimedia processing graphs"
@@ -175,8 +175,6 @@ PDEPEND=">=media-video/wireplumber-0.5.2"
PATCHES=(
"${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch
- # https://gitlab.freedesktop.org/pipewire/pipewire/-/merge_requests/2061
- "${FILESDIR}"/${P}-automagic-gsettings.patch
)
pkg_setup() {
diff --git a/media-video/pipewire/pipewire-1.2.1.ebuild b/media-video/pipewire/pipewire-1.2.4.ebuild
index 537951c763cc..408bee308b53 100644
--- a/media-video/pipewire/pipewire-1.2.1.ebuild
+++ b/media-video/pipewire/pipewire-1.2.4.ebuild
@@ -175,8 +175,6 @@ PDEPEND=">=media-video/wireplumber-0.5.2"
PATCHES=(
"${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch
- # https://gitlab.freedesktop.org/pipewire/pipewire/-/merge_requests/2061
- "${FILESDIR}"/${PN}-1.2.0-automagic-gsettings.patch
)
pkg_setup() {
diff --git a/media-video/pipewire/pipewire-1.0.6.ebuild b/media-video/pipewire/pipewire-1.2.5.ebuild
index 1373789d2b11..600cb6e439b3 100644
--- a/media-video/pipewire/pipewire-1.0.6.ebuild
+++ b/media-video/pipewire/pipewire-1.2.5.ebuild
@@ -23,7 +23,7 @@ EAPI=8
: ${PIPEWIRE_DOCS_PREBUILT:=1}
PIPEWIRE_DOCS_PREBUILT_DEV=sam
-PIPEWIRE_DOCS_VERSION=$(ver_cut 1-2).0
+PIPEWIRE_DOCS_VERSION="$(ver_cut 1-2).0"
# Default to generating docs (inc. man pages) if no prebuilt; overridden later
PIPEWIRE_DOCS_USEFLAG="+man"
PYTHON_COMPAT=( python3_{10..12} )
@@ -56,7 +56,7 @@ HOMEPAGE="https://pipewire.org/"
LICENSE="MIT LGPL-2.1+ GPL-2"
# ABI was broken in 0.3.42 for https://gitlab.freedesktop.org/pipewire/wireplumber/-/issues/49
SLOT="0/0.4"
-IUSE="${PIPEWIRE_DOCS_USEFLAG} bluetooth dbus doc echo-cancel extra ffmpeg flatpak gstreamer gsettings ieee1394 jack-client jack-sdk liblc3 lv2"
+IUSE="${PIPEWIRE_DOCS_USEFLAG} bluetooth elogind dbus doc echo-cancel extra ffmpeg flatpak gstreamer gsettings ieee1394 jack-client jack-sdk liblc3 lv2"
IUSE+=" modemmanager pipewire-alsa readline roc selinux sound-server ssl system-service systemd test v4l X zeroconf"
# Once replacing system JACK libraries is possible, it's likely that
@@ -123,8 +123,9 @@ RDEPEND="
>=net-wireless/bluez-4.101:=
virtual/libusb:1
)
+ elogind? ( sys-auth/elogind )
dbus? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
- echo-cancel? ( media-libs/webrtc-audio-processing:1 )
+ echo-cancel? ( >=media-libs/webrtc-audio-processing-1.2:1 )
extra? ( >=media-libs/libsndfile-1.0.20 )
ffmpeg? ( media-video/ffmpeg:= )
flatpak? ( dev-libs/glib )
@@ -191,6 +192,15 @@ src_prepare() {
}
multilib_src_configure() {
+ local logind=disabled
+ if multilib_is_native_abi ; then
+ if use systemd ; then
+ logind=enabled
+ elif use elogind ; then
+ logind=enabled
+ fi
+ fi
+
local emesonargs=(
-Ddocdir="${EPREFIX}"/usr/share/doc/${PF}
@@ -206,6 +216,8 @@ multilib_src_configure() {
$(meson_native_use_feature gstreamer gstreamer-device-provider)
$(meson_native_use_feature gsettings)
$(meson_native_use_feature systemd)
+ -Dlogind=${logind}
+ -Dlogind-provider=$(usex systemd 'libsystemd' 'libelogind')
$(meson_native_use_feature system-service systemd-system-service)
-Dsystemd-system-unit-dir="$(systemd_get_systemunitdir)"
@@ -274,8 +286,21 @@ multilib_src_configure() {
$(meson_native_use_feature X x11)
$(meson_native_use_feature X x11-xfixes)
$(meson_native_use_feature X libcanberra)
+
+ # TODO
+ -Dsnap=disabled
)
+ # This installs the schema file for pulseaudio-daemon, iff we are replacing
+ # the official sound-server
+ if use !sound-server; then
+ emesonargs+=( '-Dgsettings-pulse-schema=disabled' )
+ else
+ emesonargs+=(
+ $(meson_native_use_feature gsettings gsettings-pulse-schema)
+ )
+ fi
+
meson_src_configure
}
diff --git a/media-video/pipewire/pipewire-9999.ebuild b/media-video/pipewire/pipewire-9999.ebuild
index 785496b22c13..235f514e441f 100644
--- a/media-video/pipewire/pipewire-9999.ebuild
+++ b/media-video/pipewire/pipewire-9999.ebuild
@@ -56,7 +56,7 @@ HOMEPAGE="https://pipewire.org/"
LICENSE="MIT LGPL-2.1+ GPL-2"
# ABI was broken in 0.3.42 for https://gitlab.freedesktop.org/pipewire/wireplumber/-/issues/49
SLOT="0/0.4"
-IUSE="${PIPEWIRE_DOCS_USEFLAG} bluetooth dbus doc echo-cancel extra ffmpeg flatpak gstreamer gsettings ieee1394 jack-client jack-sdk liblc3 lv2"
+IUSE="${PIPEWIRE_DOCS_USEFLAG} bluetooth elogind dbus doc echo-cancel extra ffmpeg flatpak gstreamer gsettings ieee1394 jack-client jack-sdk liblc3 lv2"
IUSE+=" modemmanager pipewire-alsa readline roc selinux sound-server ssl system-service systemd test v4l X zeroconf"
# Once replacing system JACK libraries is possible, it's likely that
@@ -123,6 +123,7 @@ RDEPEND="
>=net-wireless/bluez-4.101:=
virtual/libusb:1
)
+ elogind? ( sys-auth/elogind )
dbus? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
echo-cancel? ( >=media-libs/webrtc-audio-processing-1.2:1 )
extra? ( >=media-libs/libsndfile-1.0.20 )
@@ -191,6 +192,15 @@ src_prepare() {
}
multilib_src_configure() {
+ local logind=disabled
+ if multilib_is_native_abi ; then
+ if use systemd ; then
+ logind=enabled
+ elif use elogind ; then
+ logind=enabled
+ fi
+ fi
+
local emesonargs=(
-Ddocdir="${EPREFIX}"/usr/share/doc/${PF}
@@ -206,6 +216,8 @@ multilib_src_configure() {
$(meson_native_use_feature gstreamer gstreamer-device-provider)
$(meson_native_use_feature gsettings)
$(meson_native_use_feature systemd)
+ -Dlogind=${logind}
+ -Dlogind-provider=$(usex systemd 'libsystemd' 'libelogind')
$(meson_native_use_feature system-service systemd-system-service)
-Dsystemd-system-unit-dir="$(systemd_get_systemunitdir)"
diff --git a/media-video/raspberrypi-omxplayer/Manifest b/media-video/raspberrypi-omxplayer/Manifest
deleted file mode 100644
index be77ff186208..000000000000
--- a/media-video/raspberrypi-omxplayer/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST raspberrypi-omxplayer-0_p20160528.tar.gz 1207624 BLAKE2B 5b8f8973302718cd06f0b7527eb1cc59bddd4c98a58917c540853e54a5c6d6978b00eb790ac5d18cd2e1b90730543e51c3c6edc221b4df1d9482d5e89af5846b SHA512 c7b00908f52159745dda94f35b9150122ca1e4e97ad1578a89f6db917b1579a8ed94c4ef1592a7c2590240e0fd1e7e0617e3ee8dec7f532368205ee63ce42572
diff --git a/media-video/raspberrypi-omxplayer/files/Makefile-0_p20160528.patch b/media-video/raspberrypi-omxplayer/files/Makefile-0_p20160528.patch
deleted file mode 100644
index d71e6b376080..000000000000
--- a/media-video/raspberrypi-omxplayer/files/Makefile-0_p20160528.patch
+++ /dev/null
@@ -1,26 +0,0 @@
---- a/Makefile
-+++ b/Makefile
-@@ -2,9 +2,11 @@
-
- CFLAGS+=-std=c++0x -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -DTARGET_POSIX -DTARGET_LINUX -fPIC -DPIC -D_REENTRANT -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DHAVE_CMAKE_CONFIG -D__VIDEOCORE4__ -U_FORTIFY_SOURCE -Wall -DHAVE_OMXLIB -DUSE_EXTERNAL_FFMPEG -DHAVE_LIBAVCODEC_AVCODEC_H -DHAVE_LIBAVUTIL_OPT_H -DHAVE_LIBAVUTIL_MEM_H -DHAVE_LIBAVUTIL_AVUTIL_H -DHAVE_LIBAVFORMAT_AVFORMAT_H -DHAVE_LIBAVFILTER_AVFILTER_H -DHAVE_LIBSWRESAMPLE_SWRESAMPLE_H -DOMX -DOMX_SKIP64BIT -ftree-vectorize -DUSE_EXTERNAL_OMX -DTARGET_RASPBERRY_PI -DUSE_EXTERNAL_LIBBCM_HOST
-
--LDFLAGS+=-L./ -Lffmpeg_compiled/usr/local/lib/ -lc -lWFC -lGLESv2 -lEGL -lbcm_host -lopenmaxil -lfreetype -lz
-+PKGS=freetype2 dbus-1 libavcodec libavutil libavformat libswresample libswscale libpcre
-+
-+LIBS+=-lrt -lpthread $(shell ${PKG_CONFIG} --libs $(PKGS)) -L/opt/vc/lib
-
--INCLUDES+=-I./ -Ilinux -Iffmpeg_compiled/usr/local/include/ -I /usr/include/dbus-1.0 -I /usr/lib/arm-linux-gnueabihf/dbus-1.0/include
-+INCLUDES+=$(shell ${PKG_CONFIG} --cflags $(PKGS)) -I/opt/vc/include -I. -Ilinux
-
- DIST ?= omxplayer-dist
-
-@@ -51,8 +47,7 @@
- bash gen_version.sh > version.h
-
- omxplayer.bin: version $(OBJS)
-- $(CXX) $(LDFLAGS) -o omxplayer.bin $(OBJS) -lvchiq_arm -lvchostif -lvcos -ldbus-1 -lrt -lpthread -lavutil -lavcodec -lavformat -lswscale -lswresample -lpcre
-- $(STRIP) omxplayer.bin
-+ $(CXX) $(LDFLAGS) -o omxplayer.bin $(OBJS) $(LIBS)
-
- help.h: README.md Makefile
- awk '/SYNOPSIS/{p=1;print;next} p&&/KEY BINDINGS/{p=0};p' $< \
diff --git a/media-video/raspberrypi-omxplayer/files/cross-0_p20160528.patch b/media-video/raspberrypi-omxplayer/files/cross-0_p20160528.patch
deleted file mode 100644
index bd35d6283d21..000000000000
--- a/media-video/raspberrypi-omxplayer/files/cross-0_p20160528.patch
+++ /dev/null
@@ -1,15 +0,0 @@
---- a/Makefile
-+++ b/Makefile
-@@ -4,9 +4,11 @@
-
- PKGS=freetype2 dbus-1 libavcodec libavutil libavformat libswresample libswscale libpcre
-
--LIBS+=-lrt -lpthread $(shell pkg-config --libs $(PKGS)) -L/opt/vc/lib
-+PKG_CONFIG ?= pkg-config
-
--INCLUDES+=$(shell pkg-config --cflags $(PKGS)) -I/opt/vc/include -I. -Ilinux
-+LIBS+=-lrt -lpthread $(shell $(PKG_CONFIG) --libs $(PKGS)) -L${SYSROOT}/opt/vc/lib
-+
-+INCLUDES+=$(shell $(PKG_CONFIG) --cflags $(PKGS)) -I${SYSROOT}/opt/vc/include -I. -Ilinux
-
- DIST ?= omxplayer-dist
diff --git a/media-video/raspberrypi-omxplayer/files/fonts-path.patch b/media-video/raspberrypi-omxplayer/files/fonts-path.patch
deleted file mode 100644
index 6683145f6833..000000000000
--- a/media-video/raspberrypi-omxplayer/files/fonts-path.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff --git a/omxplayer.cpp b/omxplayer.cpp
-index 0626e2e..8450bf2 100644
---- a/omxplayer.cpp
-+++ b/omxplayer.cpp
-@@ -83,8 +83,8 @@ bool m_osd = true;
- bool m_no_keys = false;
- std::string m_external_subtitles_path;
- bool m_has_external_subtitles = false;
--std::string m_font_path = "/usr/share/fonts/truetype/freefont/FreeSans.ttf";
--std::string m_italic_font_path = "/usr/share/fonts/truetype/freefont/FreeSansOblique.ttf";
-+std::string m_font_path = "/usr/share/fonts/freefont/FreeSans.ttf";
-+std::string m_italic_font_path = "/usr/share/fonts/freefont/FreeSansOblique.ttf";
- std::string m_dbus_name = "org.mpris.MediaPlayer2.omxplayer";
- bool m_asked_for_font = false;
- bool m_asked_for_italic_font = false;
diff --git a/media-video/raspberrypi-omxplayer/metadata.xml b/media-video/raspberrypi-omxplayer/metadata.xml
deleted file mode 100644
index a3222eacca00..000000000000
--- a/media-video/raspberrypi-omxplayer/metadata.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>fordfrog@gentoo.org</email>
- <name>Miroslav Šulc</name>
- </maintainer>
- <upstream>
- <remote-id type="github">popcornmix/omxplayer</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/media-video/raspberrypi-omxplayer/raspberrypi-omxplayer-0_p20160528-r3.ebuild b/media-video/raspberrypi-omxplayer/raspberrypi-omxplayer-0_p20160528-r3.ebuild
deleted file mode 100644
index 67b8ee489721..000000000000
--- a/media-video/raspberrypi-omxplayer/raspberrypi-omxplayer-0_p20160528-r3.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit flag-o-matic toolchain-funcs
-
-GIT_COMMIT="791d7df"
-DESCRIPTION="Command line media player for the Raspberry Pi"
-HOMEPAGE="https://github.com/popcornmix/omxplayer"
-SRC_URI="https://github.com/popcornmix/omxplayer/archive/${GIT_COMMIT}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~arm"
-IUSE="X"
-
-RDEPEND="dev-libs/libpcre
- media-fonts/freefont
- || ( media-libs/raspberrypi-userland media-libs/raspberrypi-userland-bin )
- sys-apps/dbus
- sys-apps/fbset
- media-video/ffmpeg
- dev-libs/boost
- media-libs/freetype:2
- X? (
- x11-apps/xrefresh
- x11-apps/xset
- )"
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
-
-PATCHES=(
- "${FILESDIR}"/Makefile-0_p20160528.patch
- "${FILESDIR}"/fonts-path.patch
- "${FILESDIR}"/cross-0_p20160528.patch
-)
-
-DOCS=( README.md )
-
-S="${WORKDIR}/popcornmix-omxplayer-${GIT_COMMIT}"
-
-src_prepare() {
- default
- cat > Makefile.include << EOF
-LIBS=-lvchostif -lvchiq_arm -lvcos -lbcm_host -lEGL -lGLESv2 -lopenmaxil -lrt -lpthread
-EOF
-
- tc-export CXX PKG_CONFIG
-}
-
-src_compile() {
- emake omxplayer.bin
-}
-
-src_install() {
- dobin omxplayer omxplayer.bin
- einstalldocs
-}
diff --git a/media-video/shotcut/Manifest b/media-video/shotcut/Manifest
index 40c2ec9173eb..6b436d457909 100644
--- a/media-video/shotcut/Manifest
+++ b/media-video/shotcut/Manifest
@@ -1,2 +1,2 @@
-DIST shotcut-23.09.29.tar.gz 11908874 BLAKE2B e107d5f0284afd54b31eff72220d4224621da7b46fff6345d729ea0464b8967bc3329a12121aeedcdec6bcce7f4c6394065463269708a4bd4d29cc4389bc1706 SHA512 a829c2eda51db4fe20fa207e3e98ce0fb1e777af8ac495aa1ad20407bb91a41fed569298611288e04a528f1120fc89292d0333d3e445dce1ab86a799dea78e16
DIST shotcut-24.02.19.tar.gz 12077171 BLAKE2B ac7ab500f8817007ec981a94a2b7a414a4d981c630bd289fdf70eb2f1d493391dc74e372d82273aa4d81a2a9b685b1275e30ab47f6d6c5ce44812c286f43ed54 SHA512 60fc8874622db7ebb3e345ac8ba23a0d7c5e60c929c5955189b71540bbd5946e4dc0db0ad119a4ba3659f2d6e4dd64652be3dabc82b3c01feefb5619685ec454
+DIST shotcut-24.06.26.tar.gz 12276595 BLAKE2B 0f062f3cb3991291b962fd351cac266bf20fd7d58acb70245655b93cbdbc7147a24e17d4ecf4eaa1bd5e3bbf29a29b73f289d529c539f6540616e3a03bf82ac5 SHA512 282c3f73cedae9b1fcb85d08a18fcd164481307baaca0227f536846ee0fc1c2f09382d0ba40fb0993210c78e7192338fa3577fe9c963e8bfc5a9d5bacc912a8b
diff --git a/media-video/shotcut/shotcut-23.09.29.ebuild b/media-video/shotcut/shotcut-24.06.26.ebuild
index 88276adaf800..b72aafd2d6c0 100644
--- a/media-video/shotcut/shotcut-23.09.29.ebuild
+++ b/media-video/shotcut/shotcut-24.06.26.ebuild
@@ -15,11 +15,12 @@ else
EGIT_REPO_URI="https://github.com/mltframework/shotcut/"
fi
-IUSE="debug"
-
LICENSE="GPL-3+"
+
SLOT="0"
+IUSE="debug"
+
BDEPEND="
dev-qt/qttools:6[linguist]
"
@@ -27,6 +28,7 @@ DEPEND="
dev-qt/qtbase:6[concurrent,gui,network,opengl,sql,widgets,xml]
dev-qt/qtdeclarative:6[widgets]
dev-qt/qtmultimedia:6
+ dev-qt/qtcharts:6
>=media-libs/mlt-7.18.0[ffmpeg,frei0r,jack,opengl,sdl,xml]
media-video/ffmpeg
"
diff --git a/media-video/shotcut/shotcut-9999.ebuild b/media-video/shotcut/shotcut-9999.ebuild
index 88276adaf800..b72aafd2d6c0 100644
--- a/media-video/shotcut/shotcut-9999.ebuild
+++ b/media-video/shotcut/shotcut-9999.ebuild
@@ -15,11 +15,12 @@ else
EGIT_REPO_URI="https://github.com/mltframework/shotcut/"
fi
-IUSE="debug"
-
LICENSE="GPL-3+"
+
SLOT="0"
+IUSE="debug"
+
BDEPEND="
dev-qt/qttools:6[linguist]
"
@@ -27,6 +28,7 @@ DEPEND="
dev-qt/qtbase:6[concurrent,gui,network,opengl,sql,widgets,xml]
dev-qt/qtdeclarative:6[widgets]
dev-qt/qtmultimedia:6
+ dev-qt/qtcharts:6
>=media-libs/mlt-7.18.0[ffmpeg,frei0r,jack,opengl,sdl,xml]
media-video/ffmpeg
"
diff --git a/media-video/smplayer/Manifest b/media-video/smplayer/Manifest
index 6f540ff44320..d468036d934a 100644
--- a/media-video/smplayer/Manifest
+++ b/media-video/smplayer/Manifest
@@ -1 +1,2 @@
DIST smplayer-23.6.0.tar.bz2 5164535 BLAKE2B 27200ad658a2acfc3c93c48ed59fca2333b5935d5b7e955cb12dd0c33566aaf0288c68081a68578904076e467bb3b39f9a5bb702d7ad8be0474aa400e40ce6e0 SHA512 097085ffae11b0d065f0822e36466f3e934d4484de29146deba66de14bfd4abcaa8dfd91aa5890921f336a99c3392650e932102812bf401a843d7a86dfc4996d
+DIST smplayer-24.5.0.tar.bz2 5221961 BLAKE2B 6c088b87508ada09fb8712610da76403fbcc9f0d3f2ce1908d99560400aac8351b08453c77f2cf64f13625b09e4d748a7f0a64458e6429aeb29ce1ae49ebcaad SHA512 0de968babbb99a92ef2721d8b30d336433bb99745212da0d7dadec9ec389da0be6cdc5b461960662b4342f80ee6407a814bc6abc3372c07a75ee6804e705851e
diff --git a/media-video/smplayer/files/smplayer-23.6.0-mpv-0.37-resume.patch b/media-video/smplayer/files/smplayer-23.6.0-mpv-0.37-resume.patch
new file mode 100644
index 000000000000..d2ff738e76d8
--- /dev/null
+++ b/media-video/smplayer/files/smplayer-23.6.0-mpv-0.37-resume.patch
@@ -0,0 +1,15 @@
+https://bugs.gentoo.org/919917#c2
+https://github.com/smplayer-dev/smplayer/issues/837
+--- a/src/mpvoptions.cpp
++++ b/src/mpvoptions.cpp
+@@ -848,6 +848,10 @@ void MPVProcess::mute(bool b) {
+
+ void MPVProcess::setPause(bool b) {
+ sendCommand(QString("set pause %1").arg(b ? "yes" : "no"));
++
++ // Workaround for mpv 0.37, playback not resuming after pause
++ // It seems mpv reports the pause state in the status line with some delay
++ if (b) sendCommand("no-osd seek 0 relative exact");
+ }
+
+ void MPVProcess::frameStep() {
diff --git a/media-video/smplayer/metadata.xml b/media-video/smplayer/metadata.xml
index 9b4c43a953d1..e414faa507d5 100644
--- a/media-video/smplayer/metadata.xml
+++ b/media-video/smplayer/metadata.xml
@@ -7,5 +7,6 @@
</maintainer>
<upstream>
<remote-id type="sourceforge">smplayer</remote-id>
+ <remote-id type="github">smplayer-dev/smplayer</remote-id>
</upstream>
</pkgmetadata>
diff --git a/media-video/smplayer/smplayer-23.6.0-r1.ebuild b/media-video/smplayer/smplayer-23.6.0-r1.ebuild
new file mode 100644
index 000000000000..b0f6f1eccfd3
--- /dev/null
+++ b/media-video/smplayer/smplayer-23.6.0-r1.ebuild
@@ -0,0 +1,126 @@
+# Copyright 2007-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PLOCALES="am ar_SY ar bg ca cs da de el en_GB en en_US es et eu fa fi fr gl
+he_IL hr hu id it ja ka ko ku lt mk ms_MY nl nn_NO pl pt_BR pt ro_RO ru_RU
+sk sl_SI sq_AL sr sv th tr uk_UA uz vi_VN zh_CN zh_TW"
+PLOCALE_BACKUP="en_US"
+
+inherit plocale qmake-utils toolchain-funcs xdg
+
+DESCRIPTION="Great Qt GUI front-end for mplayer/mpv"
+HOMEPAGE="https://www.smplayer.info/"
+SRC_URI="https://github.com/smplayer-dev/${PN}/releases/download/v${PV}/${P}.tar.bz2"
+
+LICENSE="GPL-2+ BSD-2"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~hppa ~ppc ~ppc64 x86 ~amd64-linux"
+IUSE="bidi debug"
+
+DEPEND="
+ dev-qt/qtcore:5
+ dev-qt/qtdbus:5
+ dev-qt/qtgui:5=
+ dev-qt/qtnetwork:5[ssl]
+ dev-qt/qtsingleapplication[X,qt5(+)]
+ dev-qt/qtwidgets:5
+ dev-qt/qtxml:5
+ sys-libs/zlib
+ x11-libs/libX11
+"
+RDEPEND="${DEPEND}
+ || (
+ media-video/mpv[libass(+),X]
+ media-video/mplayer[bidi?,libass,png,X]
+ )
+"
+BDEPEND="dev-qt/linguist-tools:5"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-14.9.0.6966-unbundle-qtsingleapplication.patch" # bug 487544
+ "${FILESDIR}/${PN}-17.1.0-advertisement_crap.patch"
+ "${FILESDIR}/${PN}-18.2.0-jobserver.patch"
+ "${FILESDIR}/${PN}-18.3.0-disable-werror.patch"
+ "${FILESDIR}/${P}-mpv-0.37-resume.patch"
+)
+
+src_prepare() {
+ use bidi || PATCHES+=( "${FILESDIR}"/${PN}-16.4.0-zero-bidi.patch )
+
+ default
+
+ # Upstream Makefile sucks
+ sed -i -e "/^PREFIX=/ s:/usr/local:${EPREFIX}/usr:" \
+ -e "/^DOC_PATH=/ s:packages/smplayer:${PF}:" \
+ -e '/\.\/get_svn_revision\.sh/,+2c\
+ cd src && $(DEFS) $(MAKE)' \
+ Makefile || die
+
+ # Turn off online update checker, bug #479902
+ sed -e 's:DEFINES += UPDATE_CHECKER:#&:' \
+ -e 's:DEFINES += CHECK_UPGRADED:#&:' \
+ -i src/smplayer.pro || die
+
+ # Turn off intrusive share widget
+ sed -e 's:DEFINES += SHARE_WIDGET:#&:' \
+ -i src/smplayer.pro || die
+
+ # Turn debug message flooding off
+ if ! use debug ; then
+ sed -e 's:#\(DEFINES += NO_DEBUG_ON_CONSOLE\):\1:' \
+ -i src/smplayer.pro || die
+ fi
+
+ # Commented out because it gives false positives
+ #plocale_find_changes "${S}"/src/translations ${PN}_ .ts
+
+ # Do not default compress man page
+ sed '/gzip -9.*\.1$/d' -i Makefile || die
+ sed 's@\.gz$@@' -i smplayer.spec || die
+}
+
+src_configure() {
+ cd src || die
+ eqmake5 QT_MAJOR_VERSION=5
+}
+
+gen_translation() {
+ local mydir="$(qt5_get_bindir)"
+
+ ebegin "Generating $1 translation"
+ "${mydir}"/lrelease ${PN}_${1}.ts
+ eend $? || die "failed to generate $1 translation"
+}
+
+src_compile() {
+ emake CC="$(tc-getCC)"
+
+ cd src/translations || die
+ plocale_for_each_locale gen_translation
+}
+
+src_install() {
+ # remove unneeded copies of the GPL
+ rm Copying* docs/*/gpl.html || die
+ # don't install empty dirs
+ rmdir --ignore-fail-on-non-empty docs/* || die
+
+ default
+}
+
+pkg_preinst() {
+ xdg_pkg_preinst
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ elog "If you want URL support with media-video/mpv, please install"
+ elog "net-misc/yt-dlp."
+}
+
+pkg_postrm() {
+ xdg_pkg_postrm
+}
diff --git a/media-video/smplayer/smplayer-24.5.0.ebuild b/media-video/smplayer/smplayer-24.5.0.ebuild
new file mode 100644
index 000000000000..6ae116a3af27
--- /dev/null
+++ b/media-video/smplayer/smplayer-24.5.0.ebuild
@@ -0,0 +1,125 @@
+# Copyright 2007-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PLOCALES="am ar_SY ar bg ca cs da de el en_GB en en_US es et eu fa fi fr gl
+he_IL hr hu id it ja ka ko ku lt mk ms_MY nl nn_NO pl pt_BR pt ro_RO ru_RU
+sk sl_SI sq_AL sr sv th tr uk_UA uz vi_VN zh_CN zh_TW"
+PLOCALE_BACKUP="en_US"
+
+inherit optfeature plocale qmake-utils toolchain-funcs xdg
+
+DESCRIPTION="Great Qt GUI front-end for mplayer/mpv"
+HOMEPAGE="https://www.smplayer.info/"
+SRC_URI="https://github.com/smplayer-dev/${PN}/releases/download/v${PV}/${P}.tar.bz2"
+
+LICENSE="GPL-2+ BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~hppa ~ppc ~ppc64 ~x86 ~amd64-linux"
+IUSE="bidi debug"
+
+DEPEND="
+ dev-qt/qtcore:5
+ dev-qt/qtdbus:5
+ dev-qt/qtgui:5=
+ dev-qt/qtnetwork:5[ssl]
+ dev-qt/qtsingleapplication[X,qt5(+)]
+ dev-qt/qtwidgets:5
+ dev-qt/qtxml:5
+ sys-libs/zlib
+ x11-libs/libX11
+"
+RDEPEND="
+ ${DEPEND}
+ || (
+ media-video/mpv[libass(+),X]
+ media-video/mplayer[bidi?,libass,png,X]
+ )
+"
+BDEPEND="dev-qt/linguist-tools:5"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-14.9.0.6966-unbundle-qtsingleapplication.patch" # bug 487544
+ "${FILESDIR}/${PN}-17.1.0-advertisement_crap.patch"
+ "${FILESDIR}/${PN}-18.2.0-jobserver.patch"
+ "${FILESDIR}/${PN}-18.3.0-disable-werror.patch"
+)
+
+src_prepare() {
+ use bidi || PATCHES+=( "${FILESDIR}"/${PN}-16.4.0-zero-bidi.patch )
+
+ default
+
+ # Upstream Makefile sucks
+ sed -i -e "/^PREFIX=/ s:/usr/local:${EPREFIX}/usr:" \
+ -e "/^DOC_PATH=/ s:packages/smplayer:${PF}:" \
+ -e '/\.\/get_svn_revision\.sh/,+2c\
+ cd src && $(DEFS) $(MAKE)' \
+ Makefile || die
+
+ # Turn off online update checker, bug #479902
+ sed -e 's:DEFINES += UPDATE_CHECKER:#&:' \
+ -e 's:DEFINES += CHECK_UPGRADED:#&:' \
+ -i src/smplayer.pro || die
+
+ # Turn off intrusive share widget
+ sed -e 's:DEFINES += SHARE_WIDGET:#&:' \
+ -i src/smplayer.pro || die
+
+ # Turn debug message flooding off
+ if ! use debug ; then
+ sed -e 's:#\(DEFINES += NO_DEBUG_ON_CONSOLE\):\1:' \
+ -i src/smplayer.pro || die
+ fi
+
+ # Commented out because it gives false positives
+ #plocale_find_changes "${S}"/src/translations ${PN}_ .ts
+
+ # Do not default compress man page
+ sed '/gzip -9.*\.1$/d' -i Makefile || die
+ sed 's@\.gz$@@' -i smplayer.spec || die
+}
+
+src_configure() {
+ cd src || die
+ eqmake5 QT_MAJOR_VERSION=5
+}
+
+gen_translation() {
+ local mydir="$(qt5_get_bindir)"
+
+ ebegin "Generating $1 translation"
+ "${mydir}"/lrelease ${PN}_${1}.ts
+ eend $? || die "failed to generate $1 translation"
+}
+
+src_compile() {
+ emake CC="$(tc-getCC)"
+
+ cd src/translations || die
+ plocale_for_each_locale gen_translation
+}
+
+src_install() {
+ # remove unneeded copies of the GPL
+ rm Copying* docs/*/gpl.html || die
+ # don't install empty dirs
+ rmdir --ignore-fail-on-non-empty docs/* || die
+
+ default
+}
+
+pkg_preinst() {
+ xdg_pkg_preinst
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ optfeature "URL support with media-video/mpv" net-misc/yt-dlp
+}
+
+pkg_postrm() {
+ xdg_pkg_postrm
+}
diff --git a/media-video/subliminal/subliminal-2.2.1.ebuild b/media-video/subliminal/subliminal-2.2.1.ebuild
index 2ced5f8b3782..d432d8ef9ca3 100644
--- a/media-video/subliminal/subliminal-2.2.1.ebuild
+++ b/media-video/subliminal/subliminal-2.2.1.ebuild
@@ -18,7 +18,7 @@ if [[ ${PV} == 9999 ]] ; then
EGIT_BRANCH="develop"
else
SRC_URI="https://github.com/Diaoul/${PN}/archive/${PV}.tar.gz -> ${P}.gh.tar.gz"
- KEYWORDS="~amd64 ~arm64 ~x86"
+ KEYWORDS="amd64 ~arm64 ~x86"
fi
SRC_URI+=" test? ( https://downloads.sourceforge.net/matroska/test_files/matroska_test_w1_1.zip )"
diff --git a/media-video/totem/totem-43.0-r1.ebuild b/media-video/totem/totem-43.0-r1.ebuild
index 99c261c6b5ea..500638a0f4ac 100644
--- a/media-video/totem/totem-43.0-r1.ebuild
+++ b/media-video/totem/totem-43.0-r1.ebuild
@@ -19,7 +19,7 @@ REQUIRED_USE="
"
RESTRICT="!test? ( test )"
-KEYWORDS="amd64 ~arm arm64 ~ia64 ~loong ~ppc ~ppc64 ~riscv x86"
+KEYWORDS="amd64 ~arm arm64 ~loong ~ppc ~ppc64 ~riscv x86"
COMMON_DEPEND="
>=dev-libs/glib-2.72.0:2
diff --git a/media-video/ttcut/Manifest b/media-video/ttcut/Manifest
index 5662cf041df6..08af0393fab4 100644
--- a/media-video/ttcut/Manifest
+++ b/media-video/ttcut/Manifest
@@ -1 +1,2 @@
DIST ttcut-0.19.6_p1.tar.gz 283304 BLAKE2B ee0d000a1cc091be1848746d3b32930ae5f59865d7fc04779be9aac4bc9621eaace88a6d9263c767671643d9ce381af2cf57fc5b87707903a5abe8a59eb6cb99 SHA512 9d104436145ef209db4eaca1566d718ccdf84636a391e3f47bd829a165741f57a6123942f37ba2eb361dd46716e78e36832cb9a459ca9ed0130a70af92287494
+DIST ttcut-0.19.6_p2.tar.gz 290868 BLAKE2B 9dfc140d720aca17966dff5be3581f35903fd7122a5385d1e576ce4d64aa96953dee231ffbadb14e83762b7a46973aa3f65202394c4c2ef35f87824c31014aa8 SHA512 61338658d35c4392dd3f3a85792dd6d502577a73c955257eee745a3be46f8761d92912e5d8150445346c799bcf5c0ffc30bc15682fc50e3c1798d5c0985c9baa
diff --git a/media-video/ttcut/ttcut-0.19.6_p2.ebuild b/media-video/ttcut/ttcut-0.19.6_p2.ebuild
new file mode 100644
index 000000000000..be8a11b21141
--- /dev/null
+++ b/media-video/ttcut/ttcut-0.19.6_p2.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit desktop qmake-utils xdg
+
+DESCRIPTION="Tool for cutting MPEG files especially for removing commercials"
+HOMEPAGE="https://github.com/baltendorf/ttcut"
+SRC_URI="https://dev.gentoo.org/~billie/distfiles/${P}.tar.gz"
+
+S=${WORKDIR}/${PN}
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DEPEND="
+ >=media-libs/libmpeg2-0.4.0
+ dev-qt/qtbase:6
+ dev-qt/qtbase:6[gui]
+ dev-qt/qtbase:6[opengl]
+ dev-qt/qtbase:6[widgets]
+ virtual/glu
+ virtual/opengl
+"
+RDEPEND="
+ ${DEPEND}
+ media-video/mjpegtools
+ media-video/mplayer
+ >=media-video/ffmpeg-1.0.8[encode]
+"
+
+src_prepare() {
+ default
+
+ xdg_environment_reset
+
+ eqmake6 ttcut.pro
+}
+
+src_install() {
+ dobin ttcut
+
+ domenu "${FILESDIR}"/${PN}.desktop
+
+ dodoc AUTHORS BUGS CHANGELOG README.* TODO
+}
diff --git a/media-video/vcdimager/vcdimager-2.0.1.ebuild b/media-video/vcdimager/vcdimager-2.0.1.ebuild
index ef677b24f99a..e426f812b722 100644
--- a/media-video/vcdimager/vcdimager-2.0.1.ebuild
+++ b/media-video/vcdimager/vcdimager-2.0.1.ebuild
@@ -11,7 +11,7 @@ SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
LICENSE="GPL-2+"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ppc ppc64 ~riscv sparc x86"
IUSE="static-libs +xml"
RDEPEND="
diff --git a/media-video/vdr/vdr-2.6.9.ebuild b/media-video/vdr/vdr-2.6.9.ebuild
index b6cea5c029fe..62092ddacd56 100644
--- a/media-video/vdr/vdr-2.6.9.ebuild
+++ b/media-video/vdr/vdr-2.6.9.ebuild
@@ -13,7 +13,7 @@ SRC_URI="http://git.tvdr.de/?p=vdr.git;a=snapshot;h=refs/tags/${PV};sf=tbz2 -> $
LICENSE="GPL-2+"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~x86"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc x86"
IUSE="bidi debug demoplugins html keyboard mainmenuhooks menuorg naludump permashift pinplugin systemd ttxtsubs verbose"
COMMON_DEPEND="
diff --git a/media-video/vlc/Manifest b/media-video/vlc/Manifest
index 8cf48b2f4863..6d8c4a110fc2 100644
--- a/media-video/vlc/Manifest
+++ b/media-video/vlc/Manifest
@@ -1,2 +1 @@
-DIST vlc-3.0.20.tar.xz 25596392 BLAKE2B 4537d6b4b3445a28366cdb7ed7e12d0dc864e19a53d34efcdc0a62226642ec8653cf8d5b74d4aea30c9f324c34166e8fa71653b3b298f5abdebe29c4f21f2865 SHA512 02e58fb52dd75bf483ac4b298aecf86463b13d4782173d164adba6e4552d9262ff5e2ee1cbe1bce2c8a809801b79f328c6a8c475d34ae62aefaea02ae5ade406
DIST vlc-3.0.21.tar.xz 25649288 BLAKE2B 0ad05282d624611ba8a2b6ca062c68aabeac8f37410dd427cc9b8c0d107af48ed203b73978e2fe83e8171ea6b78caa51394f3497061b561447dbb41058e1af9f SHA512 cb1af76c8056648c331d7e6e0680d161ed1849eb635987504f45eae02531e9b432651034317fa7e02b0722905dfb9f0f5dad67b5924cc62edcaf0d173ac36aee
diff --git a/media-video/vlc/files/vlc-3.0.20-c99-2.patch b/media-video/vlc/files/vlc-3.0.20-c99-2.patch
deleted file mode 100644
index 56397d913d8e..000000000000
--- a/media-video/vlc/files/vlc-3.0.20-c99-2.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-https://bugs.gentoo.org/926261
-https://code.videolan.org/videolan/vlc/-/commit/770789f265761fc7ab2de69ca105fec4ad93d9e2
-
-From 770789f265761fc7ab2de69ca105fec4ad93d9e2 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?R=C3=A9mi=20Denis-Courmont?= <remi@remlab.net>
-Date: Mon, 26 Feb 2018 20:36:29 +0200
-Subject: [PATCH] chromaprint: missing cast
-
-(cherry picked from commit 7bd5bab3e43ae187f7219db61ed85d06d2ba0547)
-Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>
---- a/modules/stream_out/chromaprint.c
-+++ b/modules/stream_out/chromaprint.c
-@@ -231,7 +231,7 @@ static int Send( sout_stream_t *p_stream, sout_stream_id_sys_t *id,
- if ( !p_sys->b_finished && id->i_samples > 0 && p_buf->i_buffer )
- {
- if(! chromaprint_feed( p_sys->p_chromaprint_ctx,
-- p_buf->p_buffer,
-+ (int16_t *)p_buf->p_buffer,
- p_buf->i_buffer / BYTESPERSAMPLE ) )
- msg_Warn( p_stream, "feed error" );
- id->i_samples -= i_samples;
---
-GitLab
diff --git a/media-video/vlc/files/vlc-3.0.20-c99.patch b/media-video/vlc/files/vlc-3.0.20-c99.patch
deleted file mode 100644
index 135e1e6b9e5b..000000000000
--- a/media-video/vlc/files/vlc-3.0.20-c99.patch
+++ /dev/null
@@ -1,150 +0,0 @@
-https://bugs.gentoo.org/919068
-https://code.videolan.org/videolan/vlc/-/issues/28441
-https://code.videolan.org/videolan/vlc/-/merge_requests/4645
-
-From 1e2918115ca2f5c4ffde00dc02ad89525714f6c2 Mon Sep 17 00:00:00 2001
-From: Thomas Guillem <thomas@gllm.fr>
-Date: Tue, 5 Dec 2023 09:23:35 +0100
-Subject: [PATCH 1/5] input: fix incompatible-pointer-types assignment
-
-Fixes #28441
---- a/src/input/input_internal.h
-+++ b/src/input/input_internal.h
-@@ -117,7 +117,7 @@ typedef struct input_thread_private_t
-
- /* Title infos FIXME multi-input (not easy) ? */
- int i_title;
-- const input_title_t **title;
-+ input_title_t * const *title;
-
- int i_title_offset;
- int i_seekpoint_offset;
---
-GitLab
-
-
-From adcf4e66e2ce2c382bb97957c91bfde040f4f3ca Mon Sep 17 00:00:00 2001
-From: Zhao Zhili <quinkblack@foxmail.com>
-Date: Thu, 1 Mar 2018 14:25:59 +0800
-Subject: [PATCH 2/5] yadif: fix variable type
-
-Signed-off-by: Thomas Guillem <thomas@gllm.fr>
-(cherry picked from commit 77b86f4452be4dbe0d56a9cd1b66da61b116da60)
-Signed-off-by: Thomas Guillem <thomas@gllm.fr>
---- a/modules/video_filter/deinterlace/yadif.h
-+++ b/modules/video_filter/deinterlace/yadif.h
-@@ -140,10 +140,10 @@ static void yadif_filter_line_c(uint8_t *dst, uint8_t *prev, uint8_t *cur, uint8
- }
-
- static void yadif_filter_line_c_16bit(uint8_t *dst8, uint8_t *prev8, uint8_t *cur8, uint8_t *next8, int w, int prefs, int mrefs, int parity, int mode) {
-- uint8_t *dst = (uint8_t *)dst8;
-- uint8_t *prev = (uint8_t *)prev8;
-- uint8_t *cur = (uint8_t *)cur8;
-- uint8_t *next = (uint8_t *)next8;
-+ uint16_t *dst = (uint16_t *)dst8;
-+ uint16_t *prev = (uint16_t *)prev8;
-+ uint16_t *cur = (uint16_t *)cur8;
-+ uint16_t *next = (uint16_t *)next8;
- int x;
- uint16_t *prev2= parity ? prev : cur ;
- uint16_t *next2= parity ? cur : next;
---
-GitLab
-
-
-From 45198e5328ff2b2f4eb2fb76add0789fec26270f Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?R=C3=A9mi=20Denis-Courmont?= <remi@remlab.net>
-Date: Sun, 3 Mar 2019 09:59:10 +0200
-Subject: [PATCH 3/5] swscale: avoid invalid pointer conversion
-
-(cherry picked from commit ab00e6c59d42e05ab08893091783d8b5febc0058)
-Signed-off-by: Thomas Guillem <thomas@gllm.fr>
---- a/modules/video_chroma/swscale.c
-+++ b/modules/video_chroma/swscale.c
-@@ -588,8 +588,9 @@ static void Convert( filter_t *p_filter, struct SwsContext *ctx,
- {
- filter_sys_t *p_sys = p_filter->p_sys;
- uint8_t palette[AVPALETTE_SIZE];
-- uint8_t *src[4]; int src_stride[4];
-- uint8_t *dst[4]; int dst_stride[4];
-+ uint8_t *src[4], *dst[4];
-+ const uint8_t *csrc[4];
-+ int src_stride[4], dst_stride[4];
-
- GetPixels( src, src_stride, p_sys->desc_in, &p_filter->fmt_in.video,
- p_src, i_plane_count, b_swap_uvi );
-@@ -606,11 +607,14 @@ static void Convert( filter_t *p_filter, struct SwsContext *ctx,
- GetPixels( dst, dst_stride, p_sys->desc_out, &p_filter->fmt_out.video,
- p_dst, i_plane_count, b_swap_uvo );
-
-+ for (size_t i = 0; i < ARRAY_SIZE(src); i++)
-+ csrc[i] = src[i];
-+
- #if LIBSWSCALE_VERSION_INT >= ((0<<16)+(5<<8)+0)
-- sws_scale( ctx, src, src_stride, 0, i_height,
-+ sws_scale( ctx, csrc, src_stride, 0, i_height,
- dst, dst_stride );
- #else
-- sws_scale_ordered( ctx, src, src_stride, 0, i_height,
-+ sws_scale_ordered( ctx, csrc, src_stride, 0, i_height,
- dst, dst_stride );
- #endif
- }
---
-GitLab
-
-
-From 4431076ad4a21fdcabd3f7ef1d61c45891689b0c Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?R=C3=A9mi=20Denis-Courmont?= <remi@remlab.net>
-Date: Sun, 3 Mar 2019 17:20:04 +0200
-Subject: [PATCH 4/5] dynamicoverlay: fix variable shadowing
-
-(cherry picked from commit d42e05d6b2c061ae352c131d5aebf8c8d8aa6d35)
-Signed-off-by: Thomas Guillem <thomas@gllm.fr>
---- a/modules/spu/dynamicoverlay/dynamicoverlay_commands.c
-+++ b/modules/spu/dynamicoverlay/dynamicoverlay_commands.c
-@@ -899,12 +899,11 @@ static const commanddesc_static_t p_commands[] =
- void RegisterCommand( filter_t *p_filter )
- {
- filter_sys_t *p_sys = (filter_sys_t*) p_filter->p_sys;
-- size_t i_index = 0;
-
- p_sys->i_commands = ARRAY_SIZE(p_commands);
- p_sys->pp_commands = (commanddesc_t **) calloc( p_sys->i_commands, sizeof(commanddesc_t*) );
- if( !p_sys->pp_commands ) return;
-- for( i_index = 0; i_index < p_sys->i_commands; i_index ++ )
-+ for( size_t i_index = 0; i_index < p_sys->i_commands; i_index ++ )
- {
- p_sys->pp_commands[i_index] = (commanddesc_t *) malloc( sizeof(commanddesc_t) );
- if( !p_sys->pp_commands[i_index] ) return;
---
-GitLab
-
-
-From fda14fc7c013eb75291df10cc8b88336c51328ad Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?R=C3=A9mi=20Denis-Courmont?= <remi@remlab.net>
-Date: Mon, 26 Feb 2018 20:43:03 +0200
-Subject: [PATCH 5/5] dynamicoverlay: fix memory corruption
-
-Font alpha is 8-bits, not 32-bits.
-
-(cherry picked from commit 6f14081af7325d334a53126c4eea52bc30fc08a0)
-Signed-off-by: Thomas Guillem <thomas@gllm.fr>
---- a/modules/spu/dynamicoverlay/dynamicoverlay_commands.c
-+++ b/modules/spu/dynamicoverlay/dynamicoverlay_commands.c
-@@ -234,8 +234,12 @@ static int parser_SetTextAlpha( char *psz_command, char *psz_end,
- skip_space( &psz_command );
- if( isdigit( (unsigned char)*psz_command ) )
- {
-- if( parse_digit( &psz_command, &p_params->fontstyle.i_font_alpha ) == VLC_EGENERIC )
-+ int32_t value;
-+
-+ if( parse_digit( &psz_command, &value ) == VLC_EGENERIC )
- return VLC_EGENERIC;
-+
-+ p_params->fontstyle.i_font_alpha = value;
- }
- return VLC_SUCCESS;
- }
---
-GitLab
diff --git a/media-video/vlc/vlc-3.0.20-r11.ebuild b/media-video/vlc/vlc-3.0.20-r11.ebuild
deleted file mode 100644
index 9559fbe675d4..000000000000
--- a/media-video/vlc/vlc-3.0.20-r11.ebuild
+++ /dev/null
@@ -1,519 +0,0 @@
-# Copyright 2000-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-LUA_COMPAT=( lua5-{1..2} )
-
-MY_PV="${PV/_/-}"
-MY_PV="${MY_PV/-beta/-test}"
-MY_P="${PN}-${MY_PV}"
-if [[ ${PV} = *9999 ]] ; then
- if [[ ${PV%.9999} != ${PV} ]] ; then
- EGIT_BRANCH="3.0.x"
- fi
- EGIT_REPO_URI="https://code.videolan.org/videolan/vlc.git"
- inherit 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 ~loong ppc ppc64 ~riscv -sparc x86"
-fi
-inherit autotools flag-o-matic lua-single toolchain-funcs virtualx xdg
-
-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 aom archive aribsub bidi bluray cddb chromaprint chromecast dav1d dbus
- dc1394 debug directx dts +dvbpsi dvd +encode faad fdk +ffmpeg flac fluidsynth
- fontconfig +gcrypt gme keyring gstreamer +gui ieee1394 jack jpeg kate
- libass libcaca libnotify +libsamplerate libtar libtiger linsys lirc live lua
- macosx-notifications mad matroska modplug mp3 mpeg mtp musepack ncurses nfs ogg
- omxil optimisememory opus png projectm pulseaudio rdp run-as-root samba sdl-image
- sftp shout sid skins soxr speex srt ssl svg taglib theora tremor truetype twolame
- udev upnp vaapi v4l vdpau vnc vpx wayland +X x264 x265 xml zeroconf zvbi
- cpu_flags_arm_neon cpu_flags_ppc_altivec cpu_flags_x86_mmx cpu_flags_x86_sse
-"
-REQUIRED_USE="
- chromecast? ( encode )
- directx? ( ffmpeg )
- fontconfig? ( truetype )
- libcaca? ( X )
- libtar? ( skins )
- libtiger? ( kate )
- lua? ( ${LUA_REQUIRED_USE} )
- skins? ( archive gui truetype X xml )
- ssl? ( gcrypt )
- vaapi? ( ffmpeg X )
- vdpau? ( ffmpeg X )
-"
-BDEPEND="
- >=sys-devel/gettext-0.19.8
- virtual/pkgconfig
- lua? ( ${LUA_DEPS} )
- amd64? ( dev-lang/yasm )
- 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:=
- sys-libs/zlib
- virtual/libintl
- virtual/opengl
- a52? ( media-libs/a52dec )
- alsa? ( media-libs/alsa-lib )
- aom? ( media-libs/libaom:= )
- archive? ( app-arch/libarchive:= )
- aribsub? ( media-libs/aribb24 )
- bidi? (
- dev-libs/fribidi
- media-libs/freetype:2[harfbuzz]
- media-libs/harfbuzz:=
- virtual/ttf-fonts
- )
- bluray? ( >=media-libs/libbluray-1.3.0:= )
- cddb? ( media-libs/libcddb )
- chromaprint? ( media-libs/chromaprint:= )
- chromecast? (
- >=dev-libs/protobuf-2.5.0:=
- >=net-libs/libmicrodns-0.1.2:=
- )
- dav1d? ( media-libs/dav1d:= )
- dbus? ( sys-apps/dbus )
- dc1394? (
- media-libs/libdc1394:2
- sys-libs/libraw1394
- )
- dts? ( media-libs/libdca )
- dvbpsi? ( >=media-libs/libdvbpsi-1.2.0:= )
- dvd? (
- >=media-libs/libdvdnav-6.1.1:=
- >=media-libs/libdvdread-6.1.2:=
- )
- faad? ( media-libs/faad2 )
- fdk? ( media-libs/fdk-aac:= )
- ffmpeg? ( >=media-video/ffmpeg-3.1.3:=[postproc,vaapi?,vdpau?] )
- flac? (
- media-libs/flac:=
- media-libs/libogg
- )
- fluidsynth? ( media-sound/fluidsynth:= )
- fontconfig? ( media-libs/fontconfig:1.0 )
- gcrypt? (
- dev-libs/libgcrypt:=
- dev-libs/libgpg-error
- )
- gme? ( media-libs/game-music-emu )
- keyring? ( app-crypt/libsecret )
- gstreamer? ( >=media-libs/gst-plugins-base-1.4.5:1.0 )
- gui? (
- dev-qt/qtcore:5
- dev-qt/qtgui:5
- dev-qt/qtsvg:5
- dev-qt/qtwidgets:5
- X? (
- dev-qt/qtx11extras:5
- x11-libs/libX11
- )
- )
- ieee1394? (
- sys-libs/libavc1394
- sys-libs/libraw1394
- )
- jack? ( virtual/jack )
- jpeg? ( media-libs/libjpeg-turbo:0 )
- kate? ( media-libs/libkate )
- libass? (
- media-libs/fontconfig:1.0
- media-libs/libass:=
- )
- libcaca? ( media-libs/libcaca )
- libnotify? (
- dev-libs/glib:2
- x11-libs/gdk-pixbuf:2
- x11-libs/gtk+:3
- x11-libs/libnotify
- )
- libsamplerate? ( media-libs/libsamplerate )
- libtar? ( dev-libs/libtar )
- libtiger? ( media-libs/libtiger )
- linsys? ( media-libs/zvbi )
- lirc? ( app-misc/lirc )
- live? ( media-plugins/live:= )
- lua? ( ${LUA_DEPS} )
- mad? ( media-libs/libmad )
- matroska? (
- >=dev-libs/libebml-1.4.2:=
- media-libs/libmatroska:=
- )
- modplug? ( >=media-libs/libmodplug-0.8.9.0 )
- mp3? ( media-sound/mpg123-base )
- mpeg? ( media-libs/libmpeg2 )
- mtp? ( media-libs/libmtp:= )
- musepack? ( media-sound/musepack-tools )
- ncurses? ( sys-libs/ncurses:=[unicode(+)] )
- nfs? ( >=net-fs/libnfs-0.10.0:= )
- ogg? ( media-libs/libogg )
- opus? ( >=media-libs/opus-1.0.3 )
- png? ( media-libs/libpng:0= )
- projectm? (
- media-fonts/dejavu
- >=media-libs/libprojectm-3.1.12:0=
- )
- pulseaudio? ( media-libs/libpulse )
- rdp? ( >=net-misc/freerdp-2.0.0_rc0:2= )
- samba? ( >=net-fs/samba-4.0.0:0[client,-debug(-)] )
- sdl-image? ( media-libs/sdl-image )
- sftp? ( net-libs/libssh2 )
- shout? ( media-libs/libshout )
- sid? ( media-libs/libsidplay:2 )
- skins? (
- x11-libs/libXext
- x11-libs/libXinerama
- x11-libs/libXpm
- )
- soxr? ( >=media-libs/soxr-0.1.2 )
- speex? (
- >=media-libs/speex-1.2.0
- media-libs/speexdsp
- )
- srt? ( >=net-libs/srt-1.4.2:= )
- ssl? ( net-libs/gnutls:= )
- svg? (
- gnome-base/librsvg:2
- x11-libs/cairo
- )
- taglib? ( >=media-libs/taglib-1.9 )
- theora? ( media-libs/libtheora )
- tremor? ( media-libs/tremor )
- truetype? (
- media-libs/freetype:2
- virtual/ttf-fonts
- !fontconfig? ( media-fonts/dejavu )
- )
- twolame? ( media-sound/twolame )
- udev? ( virtual/udev )
- upnp? ( net-libs/libupnp:=[ipv6(+)] )
- v4l? ( media-libs/libv4l:= )
- vaapi? (
- <media-video/ffmpeg-5
- media-libs/libva:=[drm(+),wayland?,X?]
- )
- vdpau? ( x11-libs/libvdpau )
- vnc? ( net-libs/libvncserver )
- vpx? ( media-libs/libvpx:= )
- 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.0.20190214:= )
- x265? ( media-libs/x265:= )
- xml? ( dev-libs/libxml2:2 )
- zeroconf? ( net-dns/avahi[dbus] )
- zvbi? ( media-libs/zvbi )
-"
-DEPEND="${RDEPEND}
- X? ( x11-base/xorg-proto )
-"
-
-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.20-c99.patch
- "${FILESDIR}"/${PN}-3.0.20-c99-2.patch
-)
-
-DOCS=( AUTHORS THANKS NEWS README doc/fortunes.txt )
-
-S="${WORKDIR}/${MY_P}"
-
-pkg_setup() {
- if use lua; then
- lua-single_pkg_setup
- fi
-}
-
-src_prepare() {
- default
-
- # bug 608256
- xdg_environment_reset
-
- has_version 'net-libs/libupnp:1.8' && \
- 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"
-
- # Fix gettext version mismatch errors.
- sed -i -e s/GETTEXT_VERSION/GETTEXT_REQUIRE_VERSION/ configure.ac || die
-
- eautoreconf
-
- # Disable automatic running of tests.
- find . -name 'Makefile.in' -exec sed -i 's/\(..*\)check-TESTS/\1/' {} \; || die
-}
-
-src_configure() {
- local -x BUILDCC="$(tc-getBUILD_CC)"
-
- local myeconfargs=(
- --disable-aa
- --disable-optimizations
- --disable-rpath
- --disable-update-check
- --enable-fast-install
- --enable-screen
- --enable-vcd
- --enable-vlc
- --enable-vorbis
- $(use_enable a52)
- $(use_enable alsa)
- $(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_arm_neon neon)
- $(use_enable cpu_flags_ppc_altivec altivec)
- $(use_enable cpu_flags_x86_mmx mmx)
- $(use_enable cpu_flags_x86_sse sse)
- $(use_enable dav1d)
- $(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 postproc)
- $(use_enable ffmpeg swscale)
- $(use_enable flac)
- $(use_enable fluidsynth)
- $(use_enable fontconfig)
- $(use_enable gcrypt libgcrypt)
- $(use_enable gme)
- $(use_enable keyring secret)
- $(use_enable gstreamer gst-decode)
- $(use_enable gui qt)
- $(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 mad)
- $(use_enable matroska)
- $(use_enable modplug mod)
- $(use_enable mp3 mpg123)
- $(use_enable mpeg libmpeg2)
- $(use_enable mtp)
- $(use_enable musepack mpc)
- $(use_enable ncurses)
- $(use_enable nfs)
- $(use_enable ogg)
- $(use_enable omxil)
- $(use_enable omxil omxil-vout)
- $(use_enable optimisememory optimize-memory)
- $(use_enable opus)
- $(use_enable png)
- $(use_enable projectm)
- $(use_enable pulseaudio pulse)
- $(use_enable rdp freerdp)
- $(use_enable run-as-root)
- $(use_enable samba smbclient)
- $(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 vpx)
- $(use_enable wayland)
- $(use_with X x)
- $(use_enable X xcb)
- $(use_enable X xvideo)
- $(use_enable x264)
- $(use_enable x264 x26410b)
- $(use_enable x265)
- $(use_enable xml libxml2)
- $(use_enable zeroconf avahi)
- $(use_enable zvbi)
- $(use_enable !zvbi telx)
- --with-kde-solid="${EPREFIX}"/usr/share/solid/actions
- --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-opencv
- --disable-opensles
- --disable-oss
- --disable-rpi-omxil
- --disable-schroedinger
- --disable-shine
- --disable-sndio
- --disable-spatialaudio
- --disable-vsxu
- --disable-wasapi
- --disable-wma-fixed
- )
- # ^ We don't have these disabled libraries in the Portage tree yet.
-
- # https://code.videolan.org/videolan/vlc/-/issues/17626 (bug #861143)
- append-flags -fno-strict-aliasing
- filter-lto
-
- # Compatibility fix for Samba 4.
- use samba && append-cppflags "-I${ESYSROOT}/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
-
- # FIXME: Needs libresid-builder from libsidplay:2 which is in another directory...
- append-ldflags "-L${ESYSROOT}/usr/$(get_libdir)/sidplay/builders/"
-
- if use riscv; then
- # bug #803473
- append-libs -latomic
- fi
-
- if use truetype || use bidi; then
- myeconfargs+=( --enable-freetype )
- else
- myeconfargs+=( --disable-freetype )
- fi
-
- if use truetype || use projectm; then
- local dejavu="${EPREFIX}/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 "${ED}" -name '*.la' -delete || die
-}
-
-pkg_postinst() {
- if [[ -z "${ROOT}" ]] && [[ -x "${EROOT}/usr/$(get_libdir)/vlc/vlc-cache-gen" ]] ; then
- einfo "Running ${EPREFIX}/usr/$(get_libdir)/vlc/vlc-cache-gen on ${EROOT}/usr/$(get_libdir)/vlc/plugins/"
- "${EPREFIX}/usr/$(get_libdir)/vlc/vlc-cache-gen" "${EROOT}/usr/$(get_libdir)/vlc/plugins/"
- else
- ewarn "We cannot run vlc-cache-gen (most likely ROOT != /)"
- ewarn "Please run ${EPREFIX}/usr/$(get_libdir)/vlc/vlc-cache-gen manually"
- ewarn "If you do not do it, vlc will take a long time to load."
- fi
-
- xdg_pkg_postinst
-}
-
-pkg_postrm() {
- if [[ -e "${EROOT}"/usr/$(get_libdir)/vlc/plugins/plugins.dat ]]; then
- rm "${EROOT}"/usr/$(get_libdir)/vlc/plugins/plugins.dat || die "Failed to rm plugins.dat"
- fi
-
- xdg_pkg_postrm
-}
diff --git a/media-video/vlc/vlc-3.0.21.ebuild b/media-video/vlc/vlc-3.0.21.ebuild
index 68f0efe4be9a..a133a040f602 100644
--- a/media-video/vlc/vlc-3.0.21.ebuild
+++ b/media-video/vlc/vlc-3.0.21.ebuild
@@ -20,7 +20,7 @@ else
else
SRC_URI="https://download.videolan.org/pub/videolan/testing/${MY_P}/${MY_P}.tar.xz"
fi
- KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv -sparc ~x86"
+ KEYWORDS="amd64 ~arm arm64 ~loong ppc ppc64 ~riscv -sparc x86"
fi
inherit autotools flag-o-matic lua-single toolchain-funcs virtualx xdg
diff --git a/media-video/wireplumber/Manifest b/media-video/wireplumber/Manifest
index 05bb9ac24752..f05acee20f6e 100644
--- a/media-video/wireplumber/Manifest
+++ b/media-video/wireplumber/Manifest
@@ -1,4 +1,2 @@
-DIST wireplumber-0.4.17.tar.bz2 330355 BLAKE2B fec1cf75bec687bff1cb48416cf22503a79609cf11220ab9353d3b8038cae1db63da8aa269aca034c0c0afd474e2ba89b236bb7e778da111516e3b15d5449f02 SHA512 5efb71091f262458bc912f4670249fac3ef858021785fbee9be749564a3fa452b1c4ff75634132f7d44fd06d7fc5ea2debb022b1f4a8d5c9c3afa992fab7ecf8
-DIST wireplumber-0.5.2.tar.bz2 408788 BLAKE2B 51a9c0268212b353b54099d2d57fd93dec5b42d4ec3151f93b4ebd4df3f4478a19858ec8302af58558a9387afa647a00a0872d471f0f2ea5e681978afbdcf553 SHA512 4cd2949739b8af86f73e072fe8c1d8606fa9be77b6e109aa0825d516f11953c4811ae1162da07ae245f7039f4243d01c43b8e9c083d4e0be1066b180484abbfb
DIST wireplumber-0.5.3.tar.bz2 411081 BLAKE2B 627cb0adaddd512e2b5f2e706b622972232f76000d690837da5f03a3628669b99c4768de6590ec378684311915626de7ac3316bda1f5d1152c9df448ec41e389 SHA512 1c62f7f919242b2a9586ff6a532f214b564bcf10c838eae4a64078edf6fd461fc65f364c8af79150e33b86594331446516a1a4c926bb245a4b2ba2d9f63f7243
-DIST wireplumber-0.5.5.tar.bz2 411519 BLAKE2B 016641b6b21b6176b0f3f70c0c96ccd32ea4d3609bf337a3c9af6e8219cb160a92e30027e3187adb023d0c35ad822ce9be374d098eab76508f218a7ae2528754 SHA512 50ddc6f275bba89ddac0e55dd2a572a13ca19953bce6bdbca14eadd44f3669c7ad4b39ae857770543567a05ea3e437ccee36a2538fad1f4caa777036ace04f77
+DIST wireplumber-0.5.6.tar.bz2 415566 BLAKE2B 7f5323ddea415bac31bbb5f05b711e52bd631d9e6c4b22b6055055761a19c0a4c16a36a90ecd0f90c3fbfaddad8be57e823ad0b97327569e94074bee21d5e31c SHA512 58b18c1c1f1040e9954de75488a82ff7504fb908f7e5d57dd219f3479612551c94a1384d399a99b983f66859560aaf71c8ab9414318e48abb6f8cd3b88fcecc8
diff --git a/media-video/wireplumber/files/wireplumber-0.4.15-config-disable-sound-server-parts.patch b/media-video/wireplumber/files/wireplumber-0.4.15-config-disable-sound-server-parts.patch
deleted file mode 100644
index b4f3ecd311f7..000000000000
--- a/media-video/wireplumber/files/wireplumber-0.4.15-config-disable-sound-server-parts.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-commit 3d86f51d2c43fd76be2450a8c27836fdd8619cfa
-Author: Igor V. Kovalenko <igor.v.kovalenko@gmail.com>
-Date: Sun May 15 18:19:03 2022 +0300
-
- config: Disable alsa and bluez monitors by default
---- a/src/config/bluetooth.lua.d/50-bluez-config.lua
-+++ b/src/config/bluetooth.lua.d/50-bluez-config.lua
-@@ -1,4 +1,4 @@
--bluez_monitor.enabled = true
-+bluez_monitor.enabled = false
-
- bluez_monitor.properties = {
- -- Enabled roles (default: [ a2dp_sink a2dp_source bap_sink bap_source hfp_hf hfp_ag ])
---- a/src/config/main.lua.d/50-alsa-config.lua
-+++ b/src/config/main.lua.d/50-alsa-config.lua
-@@ -1,4 +1,4 @@
--alsa_monitor.enabled = true
-+alsa_monitor.enabled = false
-
- alsa_monitor.properties = {
- -- Create a JACK device. This is not enabled by default because
---
-2.42.0
-
diff --git a/media-video/wireplumber/files/wireplumber-0.5.6-bluetooth-only-autoswitch.patch b/media-video/wireplumber/files/wireplumber-0.5.6-bluetooth-only-autoswitch.patch
new file mode 100644
index 000000000000..779a4d4f21bf
--- /dev/null
+++ b/media-video/wireplumber/files/wireplumber-0.5.6-bluetooth-only-autoswitch.patch
@@ -0,0 +1,64 @@
+https://gitlab.freedesktop.org/pipewire/wireplumber/-/issues/715
+https://gitlab.freedesktop.org/pipewire/wireplumber/-/merge_requests/669
+https://gitlab.freedesktop.org/pipewire/wireplumber/-/commit/b68a6794cd5c3702a2144be60c41a9ca982c416b
+
+From b68a6794cd5c3702a2144be60c41a9ca982c416b Mon Sep 17 00:00:00 2001
+From: Pauli Virtanen <pav@iki.fi>
+Date: Sun, 8 Sep 2024 20:22:41 +0300
+Subject: [PATCH] autoswitch-bluetooth-profile: switch only Bluetooth devices
+
+Handle only devices associated with Bluetooth loopback nodes.
+
+Make sure the node.link-group iteration cannot get stuck if there is a
+loop in the link graph.
+--- a/src/scripts/device/autoswitch-bluetooth-profile.lua
++++ b/src/scripts/device/autoswitch-bluetooth-profile.lua
+@@ -301,13 +301,14 @@ end
+
+ -- We consider a Stream of interest if it is linked to a bluetooth loopback
+ -- source filter
+-local function checkStreamStatus (stream, node_om)
++local function checkStreamStatus (stream, node_om, visited_link_groups)
+ -- check if the stream is linked to a bluetooth loopback source
+ local stream_id = tonumber(stream["bound-id"])
+ local peer_id = lutils.getNodePeerId (stream_id)
+ if peer_id ~= nil then
+ local bt_node = node_om:lookup {
+- Constraint { "bound-id", "=", peer_id, type = "gobject" }
++ Constraint { "bound-id", "=", peer_id, type = "gobject" },
++ Constraint { "bluez5.loopback", "=", "true", type = "pw" }
+ }
+ if bt_node ~= nil then
+ local dev_id = bt_node.properties["device.id"]
+@@ -325,18 +326,27 @@ local function checkStreamStatus (stream, node_om)
+ else
+ -- Check if it is linked to a filter main node, and recursively advance if so
+ local filter_main_node = node_om:lookup {
+- Constraint { "bound-id", "=", peer_id, type = "gobject" }
++ Constraint { "bound-id", "=", peer_id, type = "gobject" },
++ Constraint { "node.link-group", "+", type = "pw" }
+ }
+ if filter_main_node ~= nil then
+ -- Now check all stream nodes for this filter
+ local filter_link_group = filter_main_node.properties ["node.link-group"]
++ if visited_link_groups == nil then
++ visited_link_groups = {}
++ end
++ if visited_link_groups [filter_link_group] then
++ return nil
++ else
++ visited_link_groups [filter_link_group] = true
++ end
+ for filter_stream_node in node_om:iterate {
+ Constraint { "media.class", "matches", "Stream/Input/Audio", type = "pw-global" },
+ Constraint { "stream.monitor", "!", "true", type = "pw" },
+ Constraint { "bluez5.loopback", "!", "true", type = "pw" },
+ Constraint { "node.link-group", "=", filter_link_group, type = "pw" }
+ } do
+- local dev_id = checkStreamStatus (filter_stream_node, node_om)
++ local dev_id = checkStreamStatus (filter_stream_node, node_om, visited_link_groups)
+ if dev_id ~= nil then
+ return dev_id
+ end
+--
+GitLab
diff --git a/media-video/wireplumber/files/wireplumber-0.5.6-config-disable-sound-server-parts.patch b/media-video/wireplumber/files/wireplumber-0.5.6-config-disable-sound-server-parts.patch
new file mode 100644
index 000000000000..4e691e5790b3
--- /dev/null
+++ b/media-video/wireplumber/files/wireplumber-0.5.6-config-disable-sound-server-parts.patch
@@ -0,0 +1,18 @@
+From ed5ce9c176db2e26ac9915b4d86c3a076a8093ae Mon Sep 17 00:00:00 2001
+From: "Igor V. Kovalenko" <igor.v.kovalenko@gmail.com>
+Date: Fri, 2 Feb 2024 22:00:03 +0300
+Subject: [PATCH] config: Disable alsa and bluez monitors by default
+
+--- a/src/config/wireplumber.conf
++++ b/src/config/wireplumber.conf
+@@ -72,8 +72,8 @@ wireplumber.profiles = {
+
+ policy.standard = required
+
+- hardware.audio = required
+- hardware.bluetooth = required
++ #hardware.audio = required
++ #hardware.bluetooth = required
+ hardware.video-capture = required
+ }
+
diff --git a/media-video/wireplumber/wireplumber-0.4.17-r1.ebuild b/media-video/wireplumber/wireplumber-0.4.17-r1.ebuild
deleted file mode 100644
index 747c967706dc..000000000000
--- a/media-video/wireplumber/wireplumber-0.4.17-r1.ebuild
+++ /dev/null
@@ -1,122 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# 1. Please regularly check (even at the point of bumping) Fedora's packaging
-# for needed backports at https://src.fedoraproject.org/rpms/wireplumber/tree/rawhide
-#
-# 2. Keep an eye on git master (for both PipeWire and WirePlumber) as things
-# continue to move quickly. It's not uncommon for fixes to be made shortly
-# after releases.
-
-LUA_COMPAT=( lua5-{3,4} )
-
-inherit lua-single meson systemd
-
-if [[ ${PV} == 9999 ]]; then
- EGIT_REPO_URI="https://gitlab.freedesktop.org/pipewire/${PN}.git"
- EGIT_BRANCH="master"
- inherit git-r3
-else
- SRC_URI="https://gitlab.freedesktop.org/pipewire/${PN}/-/archive/${PV}/${P}.tar.bz2"
- KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~sparc x86"
-fi
-
-DESCRIPTION="Replacement for pipewire-media-session"
-HOMEPAGE="https://gitlab.freedesktop.org/pipewire/wireplumber"
-
-LICENSE="MIT"
-SLOT="0/0.4"
-IUSE="elogind system-service systemd test"
-
-REQUIRED_USE="
- ${LUA_REQUIRED_USE}
- ?? ( elogind systemd )
- system-service? ( systemd )
-"
-
-RESTRICT="!test? ( test )"
-
-# introspection? ( dev-libs/gobject-introspection ) is valid but likely only used for doc building
-BDEPEND="
- dev-libs/glib
- dev-util/gdbus-codegen
- dev-util/glib-utils
- sys-devel/gettext
- test? ( sys-apps/dbus )
-"
-
-DEPEND="
- ${LUA_DEPS}
- >=dev-libs/glib-2.62
- >=media-video/pipewire-0.3.68:=
- virtual/libintl
- elogind? ( sys-auth/elogind )
- systemd? ( sys-apps/systemd )
-"
-
-# Any dev-lua/* deps get declared like this inside RDEPEND:
-# $(lua_gen_cond_dep '
-# dev-lua/<NAME>[${LUA_USEDEP}]
-# ')
-RDEPEND="${DEPEND}
- system-service? (
- acct-user/pipewire
- acct-group/pipewire
- )
-"
-
-DOCS=( {NEWS,README}.rst )
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.4.15-config-disable-sound-server-parts.patch # defer enabling sound server parts to media-video/pipewire
-)
-
-src_configure() {
- local emesonargs=(
- -Ddaemon=true
- -Dtools=true
- -Dmodules=true
- -Ddoc=disabled # Ebuild not wired up yet (Sphinx, Doxygen?)
- -Dintrospection=disabled # Only used for Sphinx doc generation
- -Dsystem-lua=true # We always unbundle everything we can
- -Dsystem-lua-version=$(ver_cut 1-2 $(lua_get_version))
- $(meson_feature elogind)
- $(meson_feature systemd)
- $(meson_use system-service systemd-system-service)
- $(meson_use systemd systemd-user-service)
- -Dsystemd-system-unit-dir=$(systemd_get_systemunitdir)
- -Dsystemd-user-unit-dir=$(systemd_get_userunitdir)
- $(meson_use test tests)
- $(meson_use test dbus-tests)
- )
-
- meson_src_configure
-}
-
-pkg_postinst() {
- if systemd_is_booted ; then
- ewarn "pipewire-media-session.service is no longer installed. You must switch"
- ewarn "to wireplumber.service user unit before your next logout/reboot:"
- ewarn "systemctl --user disable pipewire-media-session.service"
- ewarn "systemctl --user --force enable wireplumber.service"
- else
- ewarn "Switch to WirePlumber will happen the next time gentoo-pipewire-launcher"
- ewarn "is started (a replacement for directly calling pipewire binary)."
- ewarn
- ewarn "Please ensure that ${EROOT}/etc/pipewire/pipewire.conf either does not exist"
- ewarn "or, if it does exist, that any reference to"
- ewarn "${EROOT}/usr/bin/pipewire-media-session is commented out (begins with a #)."
- fi
- if use system-service; then
- ewarn
- ewarn "WARNING: you have enabled the system-service USE flag, which installs"
- ewarn "the system-wide systemd units that enable WirePlumber to run as a system"
- ewarn "service. This is more than likely NOT what you want. You are strongly"
- ewarn "advised not to enable this mode and instead stick with systemd user"
- ewarn "units. The default configuration files will likely not work out of"
- ewarn "box, and you are on your own with configuration."
- ewarn
- fi
-}
diff --git a/media-video/wireplumber/wireplumber-0.5.2.ebuild b/media-video/wireplumber/wireplumber-0.5.2.ebuild
deleted file mode 100644
index ea1b71883dbb..000000000000
--- a/media-video/wireplumber/wireplumber-0.5.2.ebuild
+++ /dev/null
@@ -1,123 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# 1. Please regularly check (even at the point of bumping) Fedora's packaging
-# for needed backports at https://src.fedoraproject.org/rpms/wireplumber/tree/rawhide
-#
-# 2. Keep an eye on git master (for both PipeWire and WirePlumber) as things
-# continue to move quickly. It's not uncommon for fixes to be made shortly
-# after releases.
-
-LUA_COMPAT=( lua5-{3,4} )
-
-inherit lua-single meson systemd
-
-DESCRIPTION="Replacement for pipewire-media-session"
-HOMEPAGE="https://gitlab.freedesktop.org/pipewire/wireplumber"
-
-if [[ ${PV} == 9999 ]]; then
- EGIT_REPO_URI="https://gitlab.freedesktop.org/pipewire/${PN}.git"
- EGIT_BRANCH="master"
- inherit git-r3
-else
- SRC_URI="https://gitlab.freedesktop.org/pipewire/${PN}/-/archive/${PV}/${P}.tar.bz2"
- KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
-fi
-
-LICENSE="MIT"
-SLOT="0/0.5"
-IUSE="elogind system-service systemd test"
-
-REQUIRED_USE="
- ${LUA_REQUIRED_USE}
- ?? ( elogind systemd )
- system-service? ( systemd )
-"
-
-RESTRICT="!test? ( test )"
-
-# introspection? ( dev-libs/gobject-introspection ) is valid but likely only used for doc building
-BDEPEND="
- dev-libs/glib
- dev-util/gdbus-codegen
- dev-util/glib-utils
- sys-devel/gettext
- test? ( sys-apps/dbus )
-"
-DEPEND="
- ${LUA_DEPS}
- >=dev-libs/glib-2.68
- >=media-video/pipewire-1.0.5-r1:=
- virtual/libintl
- elogind? ( sys-auth/elogind )
- systemd? ( sys-apps/systemd )
-"
-RDEPEND="
- ${DEPEND}
- system-service? (
- acct-user/pipewire
- acct-group/pipewire
- )
-"
-
-DOCS=( {NEWS,README}.rst )
-
-PATCHES=(
- # Defer enabling sound server parts to media-video/pipewire
- # TODO: Soon, we should be able to migrate to just a dropin at
- # /usr/share. See https://gitlab.freedesktop.org/pipewire/wireplumber/-/issues/652#note_2399735.
- "${FILESDIR}"/${PN}-0.4.81-config-disable-sound-server-parts.patch
-)
-
-src_configure() {
- local emesonargs=(
- -Ddaemon=true
- -Dtools=true
- -Dmodules=true
- # Ebuild not wired up yet (Sphinx, Doxygen?)
- -Ddoc=disabled
- # Only used for Sphinx doc generation
- -Dintrospection=disabled
- -Dsystem-lua=true
- -Dsystem-lua-version=$(ver_cut 1-2 $(lua_get_version))
- $(meson_feature elogind)
- $(meson_feature systemd)
- $(meson_use system-service systemd-system-service)
- $(meson_use systemd systemd-user-service)
- -Dsystemd-system-unit-dir=$(systemd_get_systemunitdir)
- -Dsystemd-user-unit-dir=$(systemd_get_userunitdir)
- $(meson_use test tests)
- $(meson_use test dbus-tests)
- )
-
- meson_src_configure
-}
-
-pkg_postinst() {
- if systemd_is_booted ; then
- ewarn "pipewire-media-session.service is no longer installed. You must switch"
- ewarn "to wireplumber.service user unit before your next logout/reboot:"
- ewarn "systemctl --user disable pipewire-media-session.service"
- ewarn "systemctl --user --force enable wireplumber.service"
- else
- ewarn "Switch to WirePlumber will happen the next time gentoo-pipewire-launcher"
- ewarn "is started (a replacement for directly calling pipewire binary)."
- ewarn
- ewarn "Please ensure that ${EROOT}/etc/pipewire/pipewire.conf either does not exist"
- ewarn "or, if it does exist, that any reference to"
- ewarn "${EROOT}/usr/bin/pipewire-media-session is commented out (begins with a #)."
- fi
-
- if use system-service; then
- ewarn
- ewarn "WARNING: you have enabled the system-service USE flag, which installs"
- ewarn "the system-wide systemd units that enable WirePlumber to run as a system"
- ewarn "service. This is more than likely NOT what you want. You are strongly"
- ewarn "advised not to enable this mode and instead stick with systemd user"
- ewarn "units. The default configuration files will likely not work out of"
- ewarn "box, and you are on your own with configuration."
- ewarn
- fi
-}
diff --git a/media-video/wireplumber/wireplumber-0.5.5.ebuild b/media-video/wireplumber/wireplumber-0.5.6-r1.ebuild
index a3a02062c4c1..1122490df73a 100644
--- a/media-video/wireplumber/wireplumber-0.5.5.ebuild
+++ b/media-video/wireplumber/wireplumber-0.5.6-r1.ebuild
@@ -23,7 +23,7 @@ if [[ ${PV} == 9999 ]]; then
inherit git-r3
else
SRC_URI="https://gitlab.freedesktop.org/pipewire/${PN}/-/archive/${PV}/${P}.tar.bz2"
- KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+ KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~sparc x86"
fi
LICENSE="MIT"
@@ -68,7 +68,9 @@ PATCHES=(
# Defer enabling sound server parts to media-video/pipewire
# TODO: Soon, we should be able to migrate to just a dropin at
# /usr/share. See https://gitlab.freedesktop.org/pipewire/wireplumber/-/issues/652#note_2399735.
- "${FILESDIR}"/${PN}-0.4.81-config-disable-sound-server-parts.patch
+ "${FILESDIR}"/${PN}-0.5.6-config-disable-sound-server-parts.patch
+
+ "${FILESDIR}"/${P}-bluetooth-only-autoswitch.patch
)
src_configure() {
diff --git a/media-video/wireplumber/wireplumber-9999.ebuild b/media-video/wireplumber/wireplumber-9999.ebuild
index a3a02062c4c1..05daac42ad03 100644
--- a/media-video/wireplumber/wireplumber-9999.ebuild
+++ b/media-video/wireplumber/wireplumber-9999.ebuild
@@ -68,7 +68,7 @@ PATCHES=(
# Defer enabling sound server parts to media-video/pipewire
# TODO: Soon, we should be able to migrate to just a dropin at
# /usr/share. See https://gitlab.freedesktop.org/pipewire/wireplumber/-/issues/652#note_2399735.
- "${FILESDIR}"/${PN}-0.4.81-config-disable-sound-server-parts.patch
+ "${FILESDIR}"/${PN}-0.5.6-config-disable-sound-server-parts.patch
)
src_configure() {
diff --git a/media-video/x264-encoder/Manifest b/media-video/x264-encoder/Manifest
index b95b528c7338..df3438c35d15 100644
--- a/media-video/x264-encoder/Manifest
+++ b/media-video/x264-encoder/Manifest
@@ -1,2 +1,3 @@
DIST x264-0.0.20220222.tar.bz2 777236 BLAKE2B 45e57c48b4b889f5c7b4ce87d1442d26d907aac47fb7c586b34239317a8b74bb93eac3058eed766728fbca6370656d9a6f070e8992643984a89560e28edf206d SHA512 1cf864059f83731ac47008c1af1d9ac06d06283439cf883a020f8a76e0c7efc3b525791d11efe8784d0e39ded68dd03794f0502fa64cc07df2f2de064a55e1d9
DIST x264-0.0.20231114.tar.bz2 833229 BLAKE2B e8e60767d16ea11e55f9dd56f1c74535a06b07a498b91d4372872925915563b67fb917c5856e2e40e1f58acbab3142509d036cae8d56820bef0e16ee7bc35196 SHA512 7705c2827c6b280afc7403bce206f82ee94c1ba76c582d3e6ae017b9c4f08c4475ac70373f8a0bcda73046221456efc3f338c57aaf03c11f4d8e63f69bb94db5
+DIST x264-0.0.20240513.tar.bz2 841594 BLAKE2B fe88195c52d90e635a0aedef7d18886160147ba41cd1a692ae9a661b76608ac11e05aa5bc4628030f833d6a822cee187f3fbc4c015e094eb1b30c96783147124 SHA512 6d0d9e079d6c7650abb5c00ad60cf3cfe72a220b3ee7cd030d4daeefdd9feeb4d056cf2e01b2f8d2fb0a66ccc15cdde860237f8ac5eac42ede6e5444a81346f8
diff --git a/media-video/x264-encoder/x264-encoder-0.0.20240513.ebuild b/media-video/x264-encoder/x264-encoder-0.0.20240513.ebuild
new file mode 100644
index 000000000000..488b1f76ddb7
--- /dev/null
+++ b/media-video/x264-encoder/x264-encoder-0.0.20240513.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Bump with media-libs/x264
+
+inherit flag-o-matic toolchain-funcs
+
+DESCRIPTION="A free commandline encoder for X264/AVC streams"
+HOMEPAGE="https://www.videolan.org/developers/x264.html"
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://code.videolan.org/videolan/x264.git"
+else
+ X264_COMMIT="4613ac3c15fd75cebc4b9f65b7fb95e70a3acce1"
+ SRC_URI="https://code.videolan.org/videolan/x264/-/archive/${X264_COMMIT}/x264-${X264_COMMIT}.tar.bz2 -> ${P/-encoder}.tar.bz2"
+ KEYWORDS="~alpha ~amd64 ~ppc ~ppc64 ~sparc ~x86"
+ S="${WORKDIR}/${PN/-encoder}-${X264_COMMIT}"
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="avs custom-cflags ffmpeg ffmpegsource +interlaced mp4 +threads"
+REQUIRED_USE="ffmpegsource? ( ffmpeg )"
+
+RDEPEND="
+ ~media-libs/x264-${PV}[interlaced=,threads=]
+ ffmpeg? ( media-video/ffmpeg:= )
+ ffmpegsource? ( media-libs/ffmpegsource )
+ mp4? ( >=media-video/gpac-0.5.2:= )
+"
+ASM_DEP=">=dev-lang/nasm-2.13"
+DEPEND="
+ ${RDEPEND}
+ amd64? ( ${ASM_DEP} )
+ x86? ( ${ASM_DEP} )
+"
+BDEPEND="virtual/pkgconfig"
+
+src_configure() {
+ tc-export CC
+
+ if [[ ${ABI} == x86 || ${ABI} == amd64 ]]; then
+ export AS="nasm"
+ else
+ export AS="${CC}"
+ fi
+
+ # let upstream pick the optimization level by default
+ use custom-cflags || filter-flags -O?
+
+ ./configure \
+ --prefix="${EPREFIX}"/usr \
+ --libdir="${EPREFIX}"/usr/$(get_libdir) \
+ --system-libx264 \
+ --host="${CHOST}" \
+ --disable-lsmash \
+ $(usex avs "" "--disable-avs") \
+ $(usex ffmpeg "" "--disable-lavf --disable-swscale") \
+ $(usex ffmpegsource "" "--disable-ffms") \
+ $(usex interlaced "" "--disable-interlaced") \
+ $(usex mp4 "" "--disable-gpac") \
+ $(usex threads "" "--disable-thread") || die
+
+ # this is a nasty workaround for bug #376925 for x264 that also applies
+ # here, needed because as upstream doesn't like us fiddling with their CFLAGS
+ if use custom-cflags; then
+ local cflags
+ cflags="$(grep "^CFLAGS=" config.mak | sed 's/CFLAGS=//')"
+ cflags="${cflags//$(get-flag O)/}"
+ cflags="${cflags//-O? /$(get-flag O) }"
+ cflags="${cflags//-g /}"
+ sed -i "s:^CFLAGS=.*:CFLAGS=${cflags//:/\\:}:" config.mak
+ fi
+}
diff --git a/media-video/x264-encoder/x264-encoder-9999.ebuild b/media-video/x264-encoder/x264-encoder-9999.ebuild
index f688e3cb2d4e..488b1f76ddb7 100644
--- a/media-video/x264-encoder/x264-encoder-9999.ebuild
+++ b/media-video/x264-encoder/x264-encoder-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -14,7 +14,7 @@ if [[ ${PV} == 9999 ]]; then
inherit git-r3
EGIT_REPO_URI="https://code.videolan.org/videolan/x264.git"
else
- X264_COMMIT="c196240409e4d7c01b47448d93b1f9683aaa7cf7"
+ X264_COMMIT="4613ac3c15fd75cebc4b9f65b7fb95e70a3acce1"
SRC_URI="https://code.videolan.org/videolan/x264/-/archive/${X264_COMMIT}/x264-${X264_COMMIT}.tar.bz2 -> ${P/-encoder}.tar.bz2"
KEYWORDS="~alpha ~amd64 ~ppc ~ppc64 ~sparc ~x86"
S="${WORKDIR}/${PN/-encoder}-${X264_COMMIT}"
diff --git a/media-video/xvid4conf/xvid4conf-1.12.ebuild b/media-video/xvid4conf/xvid4conf-1.12.ebuild
index 1abd32b45fc1..9132080a0b58 100644
--- a/media-video/xvid4conf/xvid4conf-1.12.ebuild
+++ b/media-video/xvid4conf/xvid4conf-1.12.ebuild
@@ -9,7 +9,7 @@ SRC_URI="mirror://gentoo/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~alpha amd64 ~hppa ~ia64 ppc ppc64 sparc x86"
+KEYWORDS="~alpha amd64 ~hppa ppc ppc64 sparc x86"
RDEPEND=">=x11-libs/gtk+-2.2.4:2"
DEPEND="${RDEPEND}"
diff --git a/media-video/yle-dl/Manifest b/media-video/yle-dl/Manifest
index 7af50726cdfc..7aac41366e46 100644
--- a/media-video/yle-dl/Manifest
+++ b/media-video/yle-dl/Manifest
@@ -1 +1,2 @@
-DIST yle-dl-20240706.tar.gz 78964 BLAKE2B 5ed0a9ba391853566c3abbbd88d6fcce33c7f7e88183e89f3c272f6cae6c519ff272f648934e8fa58e0a7d59f87677189e14f1532cbadbbd6f73312810b4994e SHA512 c54a99bfa1ff71296e4ae40cb62408338942144e60f8df25fa8e7a9d53ff8d3c61e0b3c85e8404c716a18f54986e242b72dd4424c65ffe24f2ea4b128f7cf27a
+DIST yle-dl-20240806.tar.gz 79725 BLAKE2B c09d8ee7ca7f9db30433fb1cfa2ecf7ea2d791a56661341d059c917a498b9a60d7db277a4a186523eb841f0543d07d8caeb8c1adcf4804051e3196cbba4e2e4a SHA512 21b3cbddbdf058b75a5bb1afca0a2ca3573b99a18a85185458227d82f291028c4796e27f53a7a72b07cdd96ef1606ddac6dd467ebe8d1004ad4e9f4e0e62f17e
+DIST yle-dl-20240927.tar.gz 80008 BLAKE2B b6dfd38bae52de4265d904550124bef96f1f9e75c952a63fc3dabe71ccaf99a9a9cbbb6d2dc10e3ffab0bc1f0ff6b7b42d25e9378c1bfbc06229227bf544ed76 SHA512 e063807ec2e4ad80d69cd6ad10c3973bb32b890c3874a1ce4047f925173d66b198f5d1b4f40dd51056040476f499a972237830e71dd15eb18c38799aa16c5552
diff --git a/media-video/yle-dl/yle-dl-20240706.ebuild b/media-video/yle-dl/yle-dl-20240806.ebuild
index d879b645e845..63252b50ca2d 100644
--- a/media-video/yle-dl/yle-dl-20240706.ebuild
+++ b/media-video/yle-dl/yle-dl-20240806.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
DISTUTILS_USE_PEP517=flit
inherit distutils-r1 optfeature
diff --git a/media-video/yle-dl/yle-dl-20240927.ebuild b/media-video/yle-dl/yle-dl-20240927.ebuild
new file mode 100644
index 000000000000..63252b50ca2d
--- /dev/null
+++ b/media-video/yle-dl/yle-dl-20240927.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+DISTUTILS_USE_PEP517=flit
+
+inherit distutils-r1 optfeature
+
+DESCRIPTION="Download media files from Yle Areena"
+HOMEPAGE="https://aajanki.github.io/yle-dl/ https://github.com/aajanki/yle-dl"
+SRC_URI="https://github.com/aajanki/yle-dl/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+IUSE="test"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+# Requires an active internet connection during tests,
+PROPERTIES="test_network"
+RESTRICT="test"
+
+RDEPEND="media-video/ffmpeg
+ net-misc/wget
+ >=dev-python/attrs-18.1.0[${PYTHON_USEDEP}]
+ >=dev-python/ConfigArgParse-0.13.0[${PYTHON_USEDEP}]
+ dev-python/lxml[${PYTHON_USEDEP}]
+ dev-python/progress[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]"
+BDEPEND="test? (
+ ${RDEPEND}
+ media-video/ffmpeg[gnutls]
+ dev-python/pip[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/wheel[${PYTHON_USEDEP}]
+ )"
+
+distutils_enable_tests pytest
+
+DOCS=( COPYING ChangeLog README.fi.md README.sv.md README.md yledl.conf.sample )
+
+src_install() {
+ docompress -x "/usr/share/doc/${PF}/yledl.conf.sample"
+ distutils-r1_src_install
+}
+
+pkg_postinst() {
+ elog "Sample configuration file has been installed to "
+ elog " /usr/share/doc/yle-dl-${PVR}/yledl.conf.sample"
+ elog
+ optfeature "automatically detect filesystems that require restricted character sets" dev-python/psutil
+ optfeature "store metadata as extended file attributes" dev-python/pyxattr
+ optfeature "youtube-dl download engine" net-misc/yt-dlp
+}