summaryrefslogtreecommitdiff
path: root/media-video
diff options
context:
space:
mode:
Diffstat (limited to 'media-video')
-rw-r--r--media-video/Manifest.gzbin24031 -> 23204 bytes
-rw-r--r--media-video/aegisub/Manifest6
-rw-r--r--media-video/aegisub/aegisub-3.3.3-r1.ebuild (renamed from media-video/aegisub/aegisub-3.2.2_p20160518-r105.ebuild)55
-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/alevt/Manifest7
-rw-r--r--media-video/alevt/alevt-1.6.2.ebuild4
-rw-r--r--media-video/alevt/alevt-1.8.2.ebuild45
-rw-r--r--media-video/alevt/files/alevt-1.8.2-respectflags.patch49
-rw-r--r--media-video/alevt/metadata.xml3
-rw-r--r--media-video/amdgpu-pro-amf/Manifest2
-rw-r--r--media-video/amdgpu-pro-amf/amdgpu-pro-amf-1.4.33.1718238.ebuild2
-rw-r--r--media-video/bdsup2sub/Manifest6
-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/bino/Manifest2
-rw-r--r--media-video/bino/bino-2.2.ebuild34
-rw-r--r--media-video/celluloid/Manifest2
-rw-r--r--media-video/celluloid/celluloid-0.26.ebuild2
-rw-r--r--media-video/cheese/Manifest2
-rw-r--r--media-video/cheese/cheese-44.1.ebuild2
-rw-r--r--media-video/dirac/Manifest2
-rw-r--r--media-video/dirac/dirac-1.0.2-r2.ebuild2
-rw-r--r--media-video/dvdstyler/Manifest1
-rw-r--r--media-video/dvdstyler/dvdstyler-3.2.1.ebuild70
-rw-r--r--media-video/ffmpeg-chromium/Manifest22
-rw-r--r--media-video/ffmpeg-chromium/ffmpeg-chromium-125.ebuild11
-rw-r--r--media-video/ffmpeg-chromium/ffmpeg-chromium-126.ebuild (renamed from media-video/ffmpeg-chromium/ffmpeg-chromium-123.ebuild)18
-rw-r--r--media-video/ffmpeg-chromium/ffmpeg-chromium-127.ebuild (renamed from media-video/ffmpeg-chromium/ffmpeg-chromium-124.ebuild)18
-rw-r--r--media-video/ffmpeg-chromium/ffmpeg-chromium-128.ebuild (renamed from media-video/ffmpeg-chromium/ffmpeg-chromium-120.ebuild)23
-rw-r--r--media-video/ffmpeg-chromium/ffmpeg-chromium-129.ebuild (renamed from media-video/ffmpeg-chromium/ffmpeg-chromium-121.ebuild)23
-rw-r--r--media-video/ffmpeg-chromium/ffmpeg-chromium-130.ebuild239
-rw-r--r--media-video/ffmpeg-chromium/metadata.xml1
-rw-r--r--media-video/ffmpeg/Manifest37
-rw-r--r--media-video/ffmpeg/ffmpeg-4.4.4-r10.ebuild613
-rw-r--r--media-video/ffmpeg/ffmpeg-4.4.4-r9.ebuild11
-rw-r--r--media-video/ffmpeg/ffmpeg-4.4.5.ebuild (renamed from media-video/ffmpeg/ffmpeg-6.0-r12.ebuild)77
-rw-r--r--media-video/ffmpeg/ffmpeg-6.0.1-r4.ebuild11
-rw-r--r--media-video/ffmpeg/ffmpeg-6.1.1-r5.ebuild11
-rw-r--r--media-video/ffmpeg/ffmpeg-6.1.1-r8.ebuild (renamed from media-video/ffmpeg/ffmpeg-6.1.1-r6.ebuild)30
-rw-r--r--media-video/ffmpeg/ffmpeg-6.1.2.ebuild612
-rw-r--r--media-video/ffmpeg/ffmpeg-7.0.1.ebuild614
-rw-r--r--media-video/ffmpeg/ffmpeg-7.0.2.ebuild614
-rw-r--r--media-video/ffmpeg/ffmpeg-9999.ebuild54
-rw-r--r--media-video/ffmpeg/files/ffmpeg-4.4.4-amd-av1-vaapi.patch257
-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-DECLARE_ALIGNED.patch29
-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/ffmpeg/files/ffmpeg-6.1.1-amd-av1-vaapi.patch254
-rw-r--r--media-video/ffmpeg/files/ffmpeg-6.1.1-wint-inconversion-libgcrypt.patch68
-rw-r--r--media-video/ffmpeg/metadata.xml5
-rw-r--r--media-video/ffmpegthumbnailer/Manifest2
-rw-r--r--media-video/ffmpegthumbnailer/ffmpegthumbnailer-2.2.2-r1.ebuild2
-rw-r--r--media-video/gaupol/Manifest4
-rw-r--r--media-video/gaupol/gaupol-1.14.1.ebuild69
-rw-r--r--media-video/gaupol/gaupol-1.15-r1.ebuild74
-rw-r--r--media-video/gnome-video-effects/Manifest2
-rw-r--r--media-video/gnome-video-effects/gnome-video-effects-0.5.0-r1.ebuild2
-rw-r--r--media-video/handbrake/Manifest15
-rw-r--r--media-video/handbrake/files/handbrake-1.3.0-dont-search-for-python.patch2
-rw-r--r--media-video/handbrake/files/handbrake-1.3.3-x265-link.patch4
-rw-r--r--media-video/handbrake/files/handbrake-1.5.1-ffmpeg-5.0.patch9
-rw-r--r--media-video/handbrake/files/handbrake-1.6.1-missing-include.patch20
-rw-r--r--media-video/handbrake/files/handbrake-9999-remove-faac-dependency.patch4
-rw-r--r--media-video/handbrake/files/handbrake-9999-system-tools.patch2
-rw-r--r--media-video/handbrake/handbrake-1.6.1.ebuild4
-rw-r--r--media-video/handbrake/handbrake-9999.ebuild2
-rw-r--r--media-video/hevc-hm/Manifest2
-rw-r--r--media-video/hevc-hm/hevc-hm-17.0.ebuild2
-rw-r--r--media-video/imagination/Manifest7
-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/files/imagination-3.6-cflags.patch13
-rw-r--r--media-video/imagination/imagination-3.0-r2.ebuild41
-rw-r--r--media-video/imagination/imagination-3.6.ebuild55
-rw-r--r--media-video/jellyfin-media-player/Manifest2
-rw-r--r--media-video/jellyfin-media-player/jellyfin-media-player-1.11.1.ebuild68
-rw-r--r--media-video/kaffeine/Manifest7
-rw-r--r--media-video/kaffeine/files/kaffeine-2.0.18-cmake-no-dupl-po-targets.patch11
-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-r3.ebuild (renamed from media-video/kaffeine/kaffeine-2.0.18-r2.ebuild)17
-rw-r--r--media-video/libva-utils/Manifest6
-rw-r--r--media-video/libva-utils/libva-utils-2.20.0.ebuild91
-rw-r--r--media-video/libva-utils/libva-utils-2.22.0.ebuild (renamed from media-video/libva-utils/libva-utils-2.20.1.ebuild)0
-rw-r--r--media-video/lsdvd/Manifest2
-rw-r--r--media-video/lsdvd/lsdvd-0.17.ebuild2
-rw-r--r--media-video/luvcview/Manifest4
-rw-r--r--media-video/luvcview/luvcview-0.2.6-r1.ebuild45
-rw-r--r--media-video/luvcview/metadata.xml8
-rw-r--r--media-video/makemkv/Manifest2
-rw-r--r--media-video/makemkv/makemkv-1.17.7.ebuild2
-rw-r--r--media-video/mediainfo/Manifest6
-rw-r--r--media-video/mediainfo/mediainfo-22.09.ebuild89
-rw-r--r--media-video/mediainfo/mediainfo-23.03.ebuild92
-rw-r--r--media-video/mediainfo/mediainfo-23.04.ebuild92
-rw-r--r--media-video/mjpegtools/Manifest5
-rw-r--r--media-video/mjpegtools/files/mjpegtools-2.2.1-gcc15-template.patch349
-rw-r--r--media-video/mjpegtools/files/mjpegtools-2.2.1-lto.patch24
-rw-r--r--media-video/mjpegtools/files/mjpegtools-2.2.1-puts-c99-configure.patch13
-rw-r--r--media-video/mjpegtools/mjpegtools-2.2.1-r2.ebuild (renamed from media-video/mjpegtools/mjpegtools-2.2.1-r1.ebuild)7
-rw-r--r--media-video/mkclean/Manifest2
-rw-r--r--media-video/mkclean/mkclean-0.8.10-r1.ebuild (renamed from media-video/mkclean/mkclean-0.8.10.ebuild)14
-rw-r--r--media-video/mkvalidator/Manifest2
-rw-r--r--media-video/mkvalidator/metadata.xml3
-rw-r--r--media-video/mkvtoolnix/Manifest22
-rw-r--r--media-video/mkvtoolnix/files/mkvtoolnix-58.0.0-qt5dbus.patch37
-rw-r--r--media-video/mkvtoolnix/files/mkvtoolnix-67.0.0-no-uic-qtwidgets.patch76
-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-84.0.0-fix-libcxx-c++20.patch44
-rw-r--r--media-video/mkvtoolnix/files/mkvtoolnix-86.0-libfmt-11-fix.patch25
-rw-r--r--media-video/mkvtoolnix/mkvtoolnix-83.0.ebuild2
-rw-r--r--media-video/mkvtoolnix/mkvtoolnix-84.0-r1.ebuild (renamed from media-video/mkvtoolnix/mkvtoolnix-81.0.ebuild)65
-rw-r--r--media-video/mkvtoolnix/mkvtoolnix-86.0.ebuild (renamed from media-video/mkvtoolnix/mkvtoolnix-77.0.ebuild)67
-rw-r--r--media-video/mkvtoolnix/mkvtoolnix-9999.ebuild8
-rw-r--r--media-video/motion/Manifest4
-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/Manifest9
-rw-r--r--media-video/mplayer/files/mplayer-1.5_p20231206-incompatible-pointers.patch287
-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.ebuild6
-rw-r--r--media-video/mplayer/mplayer-9999.ebuild2
-rw-r--r--media-video/mpv/Manifest11
-rw-r--r--media-video/mpv/files/mpv-0.37.0-drm-fix.patch41
-rw-r--r--media-video/mpv/metadata.xml2
-rw-r--r--media-video/mpv/mpv-0.38.0-r1.ebuild (renamed from media-video/mpv/mpv-0.38.0.ebuild)3
-rw-r--r--media-video/mpv/mpv-0.39.0.ebuild (renamed from media-video/mpv/mpv-0.37.0.ebuild)47
-rw-r--r--media-video/mpv/mpv-9999.ebuild7
-rw-r--r--media-video/obs-studio/Manifest15
-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.0.ebuild264
-rw-r--r--media-video/obs-studio/obs-studio-30.2.3.ebuild (renamed from media-video/obs-studio/obs-studio-30.1.1.ebuild)18
-rw-r--r--media-video/obs-studio/obs-studio-9999.ebuild51
-rw-r--r--media-video/parole/Manifest2
-rw-r--r--media-video/parole/parole-4.18.1.ebuild2
-rw-r--r--media-video/pipewire/Manifest23
-rw-r--r--media-video/pipewire/files/1.2.0/0001-impl-node-fix-required-state-for-async-driver-nodes.patch82
-rw-r--r--media-video/pipewire/files/1.2.0/0002-module-raop-only-set-softVolume-when-valid.patch30
-rw-r--r--media-video/pipewire/files/1.2.0/0003-context-Fix-node-collect-with-groups-and-sync-enable.patch149
-rw-r--r--media-video/pipewire/files/1.2.0/0004-impl-node-disable-async-for-driver-nodes.patch112
-rw-r--r--media-video/pipewire/files/1.2.0/0005-impl-node-set-INACTIVE-state-on-server.patch30
-rw-r--r--media-video/pipewire/files/pipewire-1.0.7-automagic-gsettings.patch80
-rw-r--r--media-video/pipewire/files/pipewire-1.0.7-automagic-webrtc-audio-processing.patch95
-rw-r--r--media-video/pipewire/pipewire-1.0.4.ebuild512
-rw-r--r--media-video/pipewire/pipewire-1.0.7-r1.ebuild (renamed from media-video/pipewire/pipewire-1.0.6.ebuild)7
-rw-r--r--media-video/pipewire/pipewire-1.2.3.ebuild (renamed from media-video/pipewire/pipewire-1.0.5.ebuild)33
-rw-r--r--media-video/pipewire/pipewire-1.2.4.ebuild (renamed from media-video/pipewire/pipewire-1.0.5-r1.ebuild)17
-rw-r--r--media-video/pipewire/pipewire-9999.ebuild15
-rw-r--r--media-video/pitivi/Manifest2
-rw-r--r--media-video/pitivi/pitivi-2023.03-r2.ebuild4
-rw-r--r--media-video/projectx/Manifest4
-rw-r--r--media-video/projectx/files/build-0.91.0.10.xml77
-rw-r--r--media-video/projectx/projectx-0.91.0.10-r4.ebuild126
-rw-r--r--media-video/projectx/projectx-0.91.0.10-r5.ebuild2
-rw-r--r--media-video/qmplay2/Manifest10
-rw-r--r--media-video/qmplay2/qmplay2-24.03.16.ebuild140
-rw-r--r--media-video/qmplay2/qmplay2-24.04.02.ebuild140
-rw-r--r--media-video/qmplay2/qmplay2-24.06.16.ebuild (renamed from media-video/qmplay2/qmplay2-24.04.07.ebuild)6
-rw-r--r--media-video/qmplay2/qmplay2-9999.ebuild10
-rw-r--r--media-video/raspberrypi-omxplayer/Manifest6
-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/Manifest6
-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/Manifest6
-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/Manifest6
-rw-r--r--media-video/subliminal/subliminal-2.1.0-r2.ebuild6
-rw-r--r--media-video/subliminal/subliminal-2.2.1.ebuild84
-rw-r--r--media-video/subliminal/subliminal-9999.ebuild63
-rw-r--r--media-video/subtitlecomposer/Manifest4
-rw-r--r--media-video/subtitlecomposer/subtitlecomposer-0.8.1.ebuild (renamed from media-video/subtitlecomposer/subtitlecomposer-0.8.0.ebuild)7
-rw-r--r--media-video/totem/Manifest2
-rw-r--r--media-video/totem/totem-43.0-r1.ebuild2
-rw-r--r--media-video/vcdimager/Manifest2
-rw-r--r--media-video/vcdimager/vcdimager-2.0.1.ebuild2
-rw-r--r--media-video/vcsi/Manifest2
-rw-r--r--media-video/vcsi/vcsi-7.0.16.ebuild4
-rw-r--r--media-video/vdr/Manifest15
-rw-r--r--media-video/vdr/files/vdr-2.2.0_gentoo.patch11
-rw-r--r--media-video/vdr/files/vdr-2.4.6_gentoo.patch66
-rw-r--r--media-video/vdr/files/vdr-2.6.7_pinplugin.patch447
-rw-r--r--media-video/vdr/vdr-2.2.0-r7.ebuild2
-rw-r--r--media-video/vdr/vdr-2.6.7.ebuild199
-rw-r--r--media-video/vdr/vdr-2.6.9.ebuild (renamed from media-video/vdr/vdr-2.6.4.ebuild)4
-rw-r--r--media-video/vdr2jpeg/Manifest3
-rw-r--r--media-video/vdr2jpeg/metadata.xml8
-rw-r--r--media-video/vdr2jpeg/vdr2jpeg-0.2.0-r5.ebuild46
-rw-r--r--media-video/vlc/Manifest9
-rw-r--r--media-video/vlc/files/vlc-3.0.21-freerdp-2.patch230
-rw-r--r--media-video/vlc/vlc-3.0.20-r11.ebuild (renamed from media-video/vlc/vlc-3.0.20-r10.ebuild)2
-rw-r--r--media-video/vlc/vlc-3.0.21.ebuild516
-rw-r--r--media-video/vlc/vlc-3.0.9999.ebuild2
-rw-r--r--media-video/vlc/vlc-9999.ebuild2
-rw-r--r--media-video/vstrip/Manifest4
-rw-r--r--media-video/vstrip/files/vstrip-0.8f-gentoo.patch63
-rw-r--r--media-video/vstrip/metadata.xml7
-rw-r--r--media-video/vstrip/vstrip-0.8f.ebuild38
-rw-r--r--media-video/webcamoid/Manifest4
-rw-r--r--media-video/webcamoid/webcamoid-9.1.1.ebuild9
-rw-r--r--media-video/webcamoid/webcamoid-9999.ebuild27
-rw-r--r--media-video/wireplumber/Manifest13
-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.5.3.ebuild (renamed from media-video/wireplumber/wireplumber-0.5.2.ebuild)9
-rw-r--r--media-video/wireplumber/wireplumber-0.5.6-r1.ebuild (renamed from media-video/wireplumber/wireplumber-0.4.17-r1.ebuild)44
-rw-r--r--media-video/wireplumber/wireplumber-9999.ebuild9
-rw-r--r--media-video/x264-encoder/Manifest4
-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/Manifest2
-rw-r--r--media-video/xvid4conf/xvid4conf-1.12.ebuild2
-rw-r--r--media-video/yle-dl/Manifest6
-rw-r--r--media-video/yle-dl/yle-dl-20240429.ebuild57
-rw-r--r--media-video/yle-dl/yle-dl-20240806.ebuild (renamed from media-video/yle-dl/yle-dl-20240130.ebuild)2
230 files changed, 7619 insertions, 3683 deletions
diff --git a/media-video/Manifest.gz b/media-video/Manifest.gz
index c513975ea734..70fbf65ebf71 100644
--- a/media-video/Manifest.gz
+++ b/media-video/Manifest.gz
Binary files differ
diff --git a/media-video/aegisub/Manifest b/media-video/aegisub/Manifest
index 6b86e2077fcb..29a26bd86dbb 100644
--- a/media-video/aegisub/Manifest
+++ b/media-video/aegisub/Manifest
@@ -10,10 +10,10 @@ AUX 3.2.2_p20160518/aegisub-3.2.2_p20160518-luaL_Reg-not-luaL_reg.patch 996 BLAK
AUX 3.2.2_p20160518/aegisub-3.2.2_p20160518-respect-compiler-flags.patch 2186 BLAKE2B 67558c0d8a1227e03d6ab97e4f417ec0ef557609be908b403ea5d4c4b12b58dd33822611b98e42afdbc3e65741094ef52d19812fd4eea5611f12a7e109b0986f SHA512 8584f8b6822642f5afdbe1fb9a1e77b32fa4eefebb473d6a501147d328ca38ecb2f88f4247a7ad06a8dfe3d9cc6695f60652dbc122237a17d097bae2f29a6a7e
AUX 3.2.2_p20160518/aegisub-3.2.2_p20160518-support-system-gtest.patch 2452 BLAKE2B 96b3712ec2f01eecff986b6e7fa8f2844b194e4cf139c0195d87fc7bd7aa77734c1b603c23081179fcbc4699e3c887fbb8069e58a23c44d706d79233a5418a1e SHA512 c3c8e5d13f73257278323bc2bba97b3abf838af0c727dc77aa8ba76b16440354d8d450ac9f6b5ab89cac3b1f44cc883a3ef80f22cf4f3ddd7ade05ee06c59cbb
AUX 3.2.2_p20160518/aegisub-3.2.2_p20160518-tests_luarocks_lua_version.patch 505 BLAKE2B d92ab5c7604b9c04296ea82d3c5b093a900bb9345289539262e5d057bf21d003ce1fdfce7e6f57b8dad3cb62c3e604ada6e9bd596a3673afbbced338230ba638 SHA512 71bc5511bc0fcb9d55e893300066f7e755da5bad04f74e0ba103e622cac6ebf99d1fa7b1ca9f08d2b5169d305a4bee6a7782cb14304352ca108d126931851a5b
+AUX 3.3.3/aegisub-3.3.3-support-icu-75.patch 763 BLAKE2B d816a88c954d3153a3c1ee6b313fff700107489d0d8c88a480030ab82dc74a646f270e93507740d088e3e7f1855e9dc108a5d487e274e6f7bfc85b03ffcc81eb SHA512 d80549dbcf4292af53230b6bc4fdf12d6b6d1efc3e9bbf5322a38aa623677e138ffdb2d867d46093cda7f89101e01545fddaf37338b1d38c5f88136f229be471
AUX 3.3.3/aegisub-3.3.3-support-system-gtest.patch 2932 BLAKE2B e05519e4734f7532f605d63d27fd9386fba7eb0b36055235701ad65ee704f86424fbfc89fa36da6137c11fb149d11e793f37ae1e3c1e7820eaf236a774d2fa83 SHA512 643b7525e6f170d552551b6ebeffc9a5b37b8a38570f654fb93d523d2ccce355403ce50ddb337ee1761a4997235e12440d86684f296619196c418183989727cd
-DIST aegisub-3.2.2_p20160518.tar.gz 7438734 BLAKE2B 3a57e5d6fafac2ca95d64d60e8d68b48177aaa0c5fd1438d0b0a133757ef95443c16324fb7effb41506f2b1eb70aab9d34845a91beef0ef81a3658444e24be07 SHA512 8d8775ba0a12735a9756b9abfd65c89519dae4e21afcaedbd18985d1c1021975b1ae909b3bef1121b707c626e1711d56f1823f3b4746eab49e8386536a5e84e6
DIST aegisub-3.3.3.tar.gz 6580314 BLAKE2B b6a6b6d9a805fb1aec943f00452e5f074c050d7d8970e0fa57da54a7a3c12b86241eafafd957577625bcce395c9f909fe60a22c9d76fcf8f018a4ea03921dacf SHA512 19e44667ad8742560559387c15f6c00339194cd26e1140624c63f34c6b4da6bb0b80be0f636a2d1cd0b15f1598e0580218d648e0622635b12eeaad3a40df9abc
-EBUILD aegisub-3.2.2_p20160518-r105.ebuild 4277 BLAKE2B a0f15d4785fe42e9da2b4d76066130d0df1e08f230c1a1651496ca437fefb453d9765089b9131b1b0de965ccda32a12fe1cb1a97347b7d3be1c20488632c111b SHA512 f990a74d8a767584482eea686eeebf24e8cb5116b59313a346b9cbe56fe7f0bc2fbc79b3d9526d85f064bd4cb93eaf5344c500c21138a7dd971a3c6f61bbdfc3
+EBUILD aegisub-3.3.3-r1.ebuild 3971 BLAKE2B 9e87a96bc66a9ef52337f0e76dace3cbba68b3bc7a1fee75a3341be6db2f637dc83fcbc841b9fa44409a64b7a8bc6f1c7bb681574ce9b1fad937c3d85726ae86 SHA512 52cca502f798cf3c246477319dcb49c44d4b95b8c7e38f7c8a31a7c21595e818a1255169fed589ffa8897932ffc2bd291cb5a3f11204de6044992c1881af23a6
EBUILD aegisub-3.3.3.ebuild 3915 BLAKE2B e23ce10ea46e06315826b446d3f4f00368271432e9ad3d235c7d413c69cf83bebf65e43de5354bb5f52cce57be10963346d6c3abf42713ea10f4a66924d7fad3 SHA512 ddf52ad9a4bb353a048a6c5b406173d6389a65ab1fd5e5765acf785e0f48dcd57f7397ffcafe1153a928e9e225e9bbef76fa1b44d30577f93bf296fecc54e224
-EBUILD aegisub-9999.ebuild 3917 BLAKE2B 3bcc249ae52755ed55e06bc5422532bf460988af45b0da1028e4f22e5531e1d806962a0b13e506e2ba88283edcec550d68bf2dc37882752feb6ad4b6dd334e9c SHA512 648b0a44500379c6be599acef5b53a5dbc5af283b46c783aaeacdf2e4da2844007c41648be3da9c673341675f986d1407c5efa86e98cb8114702f6b2b5f95397
+EBUILD aegisub-9999.ebuild 3971 BLAKE2B 9e87a96bc66a9ef52337f0e76dace3cbba68b3bc7a1fee75a3341be6db2f637dc83fcbc841b9fa44409a64b7a8bc6f1c7bb681574ce9b1fad937c3d85726ae86 SHA512 52cca502f798cf3c246477319dcb49c44d4b95b8c7e38f7c8a31a7c21595e818a1255169fed589ffa8897932ffc2bd291cb5a3f11204de6044992c1881af23a6
MISC metadata.xml 490 BLAKE2B dd77320afb5975e48eae5240c165ed9470fe5ae1ed917b8ba022a9c63d1b446c75b820eafef914c885afb9c32c8634bf6ee55e1340a1efce91d0fe019a589cc8 SHA512 deee9b5cbcbd3fa37a665b333094334c3a298face98c7deb992127191d77cbe0f7781945fd8297ce9f26ca34988539a4abc27877c4dff79228d64dc1c4bfeddd
diff --git a/media-video/aegisub/aegisub-3.2.2_p20160518-r105.ebuild b/media-video/aegisub/aegisub-3.3.3-r1.ebuild
index d629f9e92acf..530606341ba5 100644
--- a/media-video/aegisub/aegisub-3.2.2_p20160518-r105.ebuild
+++ b/media-video/aegisub/aegisub-3.3.3-r1.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
@@ -6,19 +6,25 @@ EAPI=7
LUA_COMPAT=( luajit )
LUA_REQ_USE="lua52compat"
-WX_GTK_VER=3.0
-PLOCALES="ar 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"
-COMMIT_ID="b118fe7e7a5c37540e2f0aa75af105e272bad234"
+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
+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/Aegisub/Aegisub"
-SRC_URI="https://github.com/Aegisub/Aegisub/archive/${COMMIT_ID}.tar.gz -> ${P}.tar.gz"
-
+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"
-KEYWORDS="amd64 x86"
IUSE="+alsa debug +fftw openal oss portaudio pulseaudio spell test +uchardet"
RESTRICT="test"
@@ -40,7 +46,7 @@ RDEPEND="${LUA_DEPS}
fftw? ( >=sci-libs/fftw-3.3:= )
openal? ( media-libs/openal )
portaudio? ( =media-libs/portaudio-19* )
- pulseaudio? ( media-sound/pulseaudio )
+ pulseaudio? ( media-libs/libpulse )
spell? ( app-text/hunspell:= )
uchardet? ( app-i18n/uchardet )
"
@@ -65,23 +71,16 @@ REQUIRED_USE="${LUA_REQUIRED_USE}
|| ( alsa openal oss portaudio pulseaudio )"
PATCHES=(
- "${FILESDIR}/${PV}/${P}-fix-system-luajit-build.patch"
- "${FILESDIR}/${PV}/${P}-respect-compiler-flags.patch"
- "${FILESDIR}/${PV}/${P}-support-system-gtest.patch"
- "${FILESDIR}/${PV}/${P}-fix-icu59-build.patch"
- "${FILESDIR}/${PV}/${P}-fix-icu62-build.patch"
- "${FILESDIR}/${PV}/${P}-fix-boost170-build.patch"
- "${FILESDIR}/${PV}/${P}-fix-makefile-for-make4.3.patch"
- "${FILESDIR}/${PV}/${P}-tests_luarocks_lua_version.patch"
- "${FILESDIR}/${PV}/${P}-avoid-conveying-positional-parameters-to-source-builtin.patch"
- "${FILESDIR}/${PV}/${P}-luaL_Reg-not-luaL_reg.patch"
- "${FILESDIR}/${PV}/${P}-ffmpegsource-2.40-compat2.patch"
- "${FILESDIR}/${PV}/${P}-fix-boost-181-build.patch"
+ "${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++11; then
- die "Your compiler lacks C++11 support. Use GCC>=4.7.0 or Clang>=3.3."
+ if [[ ${MERGE_TYPE} != "binary" ]] && ! test-flag-CXX -std=c++17; then
+ die "Your compiler lacks C++17 support."
fi
}
@@ -111,15 +110,10 @@ src_prepare() {
config_rpath_update "${S}"/config.rpath
eautoreconf
-
- cat <<- EOF > build/git_version.h || die
- #define BUILD_GIT_VERSION_NUMBER 8897
- #define BUILD_GIT_VERSION_STRING "${PV}"
- #define TAGGED_RELEASE 0
- EOF
}
src_configure() {
+ tc-export PKG_CONFIG
# Prevent access violations from OpenAL detection. See Gentoo bug 508184.
use openal && export agi_cv_with_openal="yes"
@@ -138,6 +132,7 @@ src_configure() {
$(use_with spell hunspell)
$(use_with uchardet)
)
+ export FORCE_GIT_VERSION="v${PV}"
econf "${myeconfargs[@]}"
}
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/alevt/Manifest b/media-video/alevt/Manifest
index e520f6a537a5..a1f6fd21bb10 100644
--- a/media-video/alevt/Manifest
+++ b/media-video/alevt/Manifest
@@ -1,5 +1,8 @@
AUX alevt-1.6.2-libpng15.patch 183 BLAKE2B a50dfcd01e7bb0e75206bae94e46cb463580284205a0d58d72d4b77b6c1d5b8ec066247d733ec95218f6c02c4208e814e19011ef205e6831f794629e6b0a7b15 SHA512 c445d02a782ff9d3b9b92418a11ef08af2c3062234ea6d3b1111cfbed41447cfa6d3c67fae8274acd372ca3f751e5414953df283babee1fb70b9fedd75029763
AUX alevt-1.6.2-respectflags.patch 1378 BLAKE2B e337cdac7339238bedad7abe500805d2e7a80dd1af49a6d1edcce3113f252b25d62b38681349d73f4c15c09b1d9a7ec85f5c8b123ab57262d66de94d009652ee SHA512 50350fcb1c4a9e4b44c9cbfcb5d4ca20140f9ef6f8ec0b7031a03658198e3b107ebe9a837a97978107b326ea920e1edf2e11c1df5fb0d70e5756a131b75a28f6
+AUX alevt-1.8.2-respectflags.patch 1347 BLAKE2B fda6bc2d918d2ae17f53523b905cb31c0e4003039b426827b2ec41a74aefe61f7b8412e77f68c6d510a4503d7db5599c35d4ab0790b4558fa083b35bd10fd2dd SHA512 76b657c4933a44ef95b3664426f529462341bf51238614dbe8d91fe0c9e8c5dbdc6926ec7fb2786971a626cc0a75c1c50e94a8d964ffce834a88f77df48eb07d
DIST alevt-1.6.2.tar.gz 133234 BLAKE2B f252fb2ce1fbbad6c1aeb7649fea8b83aacfb62c38b7efa205680b32ad3c5dd7e60efa8be754c42040488860a59ff8a1cee235cf5adb75a5c738a503ee369db1 SHA512 8ddc0b03065b186bff8b705ec6ee8581460c4da4e65f97d15915d3bf708c7898661f61fa5fe004c7634adc9f850747b3fa08fe9ec94a5155482fcda479a884ed
-EBUILD alevt-1.6.2.ebuild 872 BLAKE2B d4f181ac1b4fcd2ed9db1bcd21ff80ff0a435f2b9c84d141f3b164a76ceb10cc4f2928d2256f53002bdd805a04979f6a83b6261465476b9d26ee0dbd372f96c2 SHA512 5b7ec693f2c06e2551b219f952d09c23c427255a978a620a221f54b7d16fec311d97bd4602bffb950dc2793aa102c58dfead662c75b00f12af489ee0a8609bf5
-MISC metadata.xml 167 BLAKE2B 868e3b584722eaacf68273db062bb773d8c7e5d7ab2b81ca7e8397643bf7cc106c3a1033594401c99c54f667bb45d6b73f9048fc335580bbd44b4589ad26a832 SHA512 30caadd1496c3b9969136038239a1d8e01f236726b4022c2d7e19ca7575f25f735e556835e581afbf44fbd3e4104c40f2b5ef5fa70118d75c881fdf871962d0a
+DIST alevt-1.8.2.tar.bz2 137373 BLAKE2B 8d903718eda7a4008fa96c344f2c0719b4b10eb638557840a693f58273de7fbbf11892305224c1ea2aaf840cb47808eff4e9ae403caa11af8707bb4c800ee111 SHA512 ba9e8e3f0831f61f135e41cf703bc9a8f6284d685cda80ab863ca7fe0c7c8f3724e1231a88c5364ff07ab881b48980acca6e86f17ca7a2cc1f40a7abc8e6ef54
+EBUILD alevt-1.6.2.ebuild 874 BLAKE2B c2dcf13faf50fed41ccdf1a773d1742a3c0683e0f598abdb5762d591988970af3ba509fc963451b85a3780aded89f053b1997768e277bdd08ed7599d61805a4f SHA512 07733c31d863510dc8c605d7f2c592195417c854907baf356b779a1eda72ab265596e886cfbf759de97cb7d6b355f05d97e8cd113659f34d3f61a9a31c5c1076
+EBUILD alevt-1.8.2.ebuild 988 BLAKE2B 70415a3b7af889729cc28c24eb04d6eb6fdb11d776f41237528e7fd2a5d678541e19f4d0d910edba00f4dbb3384ac28c95bc2a8918e0063d41e25a326b1253df SHA512 6eb2ed4f0b7dbacf37fae61bd79ac61c99fc33f93494f450cab6bb06864cad266b3f5eb6bdfa0801f464552cf520d5cc33383dc46cfce78403260346e47b00df
+MISC metadata.xml 247 BLAKE2B 3a71326f31709ab58aab3d8726405f0db71f1e278be78c3f4a5965711c62da67a38ee9620d2eddde399a596c1a2a316aa4472e1c1c2944d05f89a0abf667f17a SHA512 e0ee1e2820eb085c3c6a58512b890551126b31dd22b68db57af60884707e4148f6ee74d221ab4f8e4b52199da541f4ed929db0f28b93ca73fdbfb43d5a242b2d
diff --git a/media-video/alevt/alevt-1.6.2.ebuild b/media-video/alevt/alevt-1.6.2.ebuild
index efa778cbc210..30588c1d712e 100644
--- a/media-video/alevt/alevt-1.6.2.ebuild
+++ b/media-video/alevt/alevt-1.6.2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -6,7 +6,7 @@ EAPI=7
inherit desktop flag-o-matic toolchain-funcs
DESCRIPTION="Teletext viewer for X11"
-HOMEPAGE="http://www.goron.de/~froese/"
+HOMEPAGE="https://gitlab.com/alevt/alevt"
SRC_URI="http://www.goron.de/~froese/alevt/${P}.tar.gz"
LICENSE="GPL-2"
diff --git a/media-video/alevt/alevt-1.8.2.ebuild b/media-video/alevt/alevt-1.8.2.ebuild
new file mode 100644
index 000000000000..fb928d7b545f
--- /dev/null
+++ b/media-video/alevt/alevt-1.8.2.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit desktop flag-o-matic toolchain-funcs
+
+MY_P="${PN}-v${PV}"
+DESCRIPTION="Teletext viewer for X11"
+HOMEPAGE="https://gitlab.com/alevt/alevt"
+SRC_URI="https://gitlab.com/${PN}/${PN}/-/archive/v${PV}/${MY_P}.tar.bz2
+ -> ${P}.tar.bz2"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~sparc ~x86"
+RESTRICT="strip"
+
+RDEPEND="
+ x11-libs/libX11
+ media-libs/libpng:="
+DEPEND="${RDEPEND}
+ x11-base/xorg-proto"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-respectflags.patch
+ "${FILESDIR}"/${PN}-1.6.2-libpng15.patch
+)
+
+src_configure() {
+ append-cflags -fno-strict-aliasing
+ tc-export BUILD_CC CC
+}
+
+src_install() {
+ dobin alevt alevt-cap alevt-date
+ doman alevt.1x alevt-date.1 alevt-cap.1
+ einstalldocs
+
+ newicon -s 16 contrib/mini-alevt.xpm alevt.xpm
+ newicon -s 48 contrib/icon48x48.xpm alevt.xpm
+ make_desktop_entry alevt "AleVT" alevt
+}
diff --git a/media-video/alevt/files/alevt-1.8.2-respectflags.patch b/media-video/alevt/files/alevt-1.8.2-respectflags.patch
new file mode 100644
index 000000000000..cdd8fa2e28ba
--- /dev/null
+++ b/media-video/alevt/files/alevt-1.8.2-respectflags.patch
@@ -0,0 +1,49 @@
+--- alevt-v1.8.2/Makefile 2023-04-22 15:44:42.000000000 +0200
++++ alevt-v1.8.2-new/Makefile 2024-07-02 18:48:40.217880449 +0200
+@@ -1,5 +1,4 @@
+ VER=1.8.2
+-OPT=-O2 -g -w
+ #OPT=-O -g
+ DEFS=-DWITH_PNG
+ #DEFS+=-DUSE_LIBZVBI
+@@ -8,13 +7,12 @@
+ #USR_X11R6=/usr
+ MAN_DIR=man
+ #MAN_DIR=share/man
+-HOSTCC=$(CC)
+ # a smaller and thinner font
+ #FONT=neep9
+ DESTDIR=
+ PREFIX=/usr/local
+
+-CFLAGS=$(OPT) -DVERSION=\"$(VER)\" $(DEFS) -I$(USR_X11R6)/include
++CPPFLAGS += -DVERSION=\"$(VER)\" $(DEFS) -I$(USR_X11R6)/include
+
+ PKGS="x11"
+
+@@ -36,13 +34,13 @@
+ all: alevt alevt-date alevt-cap alevt.1x alevt-date.1 alevt-cap.1
+
+ alevt: $(OBJS)
+- $(CC) $(OPT) $(OBJS) -o alevt $(EXPLIBS)
++ $(CC) $(CFLAGS) $(LDFLAGS) $(OBJS) -o alevt $(EXPLIBS)
+
+ alevt-date: $(TOBJS)
+- $(CC) $(OPT) $(TOBJS) -o alevt-date $(EXPLIBS)
++ $(CC) $(CFLAGS) $(LDFLAGS) $(OPT) $(TOBJS) -o alevt-date $(EXPLIBS)
+
+ alevt-cap: $(COBJS)
+- $(CC) $(OPT) $(COBJS) -o alevt-cap $(EXPLIBS)
++ $(CC) $(CFLAGS) $(LDFLAGS) $(OPT) $(COBJS) -o alevt-cap $(EXPLIBS)
+
+ font.o: font1.xbm font2.xbm font3.xbm font4.xbm
+ fontsize.h: font1.xbm font2.xbm font3.xbm font4.xbm
+@@ -61,7 +59,7 @@
+ ./bdf2xbm font4 <vtxt-iso8859-7.bdf >font4.xbm
+
+ bdf2xbm: bdf2xbm.c
+- $(HOSTCC) bdf2xbm.c -o bdf2xbm
++ $(BUILD_CC) bdf2xbm.c -o bdf2xbm
+
+ alevt.1x: alevt.1x.in
+ sed s/VERSION/$(VER)/g <alevt.1x.in >alevt.1x
diff --git a/media-video/alevt/metadata.xml b/media-video/alevt/metadata.xml
index 85e4ed814fa2..ec4f9a9979d6 100644
--- a/media-video/alevt/metadata.xml
+++ b/media-video/alevt/metadata.xml
@@ -2,4 +2,7 @@
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
+ <upstream>
+ <remote-id type="gitlab">alevt/alevt</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/media-video/amdgpu-pro-amf/Manifest b/media-video/amdgpu-pro-amf/Manifest
index 11cd632bb267..3bfcb74720d1 100644
--- a/media-video/amdgpu-pro-amf/Manifest
+++ b/media-video/amdgpu-pro-amf/Manifest
@@ -3,5 +3,5 @@ DIST amdgpu-pro-amf-1.4.29.1580631.deb 1653852 BLAKE2B 5af5250c07e1b99ae8c1ee285
DIST amdgpu-pro-amf-1.4.33.1718238.deb 3311972 BLAKE2B 549ab0cae83e6014ef79ef70981cdb296cebee1cdeeb7d07258523018d9efa89e174fbabe537896e524b69064806dc12bf24aae29f291d76b5bddb3d2e203639 SHA512 ec5771eebe30d749e5fa753600a9fc02ca97b5023cbbd9f58ffbf657a5f6c4d1e2066da1974ad759c6d9089b233c25654fbb0ec019b34232445f9e4f53720388
EBUILD amdgpu-pro-amf-1.4.24.1452059.ebuild 1194 BLAKE2B 27c6a17b1fc3c6f32585c8fb8f71890a7d1b3e0bc9d77e2c439396a32b3814537b210fdd9c77dcce388af871ff6ad5c64e34738b6b087b96fea5c8e3ba920a1a SHA512 b26d38722238628fc31cfb8c8b2d91438d9d844bd89a129555b4541db66d39322ee1341b08cd5d85788b2a58b331a89931325daa35bb27bd5cea977d30094831
EBUILD amdgpu-pro-amf-1.4.29.1580631.ebuild 1213 BLAKE2B 977ac2026b66681d94437fd80e610e10381862b64d8d14a53a395b3620bc90fa7bb61581672b4a49694d4205b1df8c77ac5ba05ce58d48a25eb76491d8f42a62 SHA512 0b569f4007191ef310928aeba52193293f4d90a2a7dca982bff30bb6b63098d1fcd8f268013d28104d2b13e1dc202dc63c7678e533df52a6286823d0ef5ac2fa
-EBUILD amdgpu-pro-amf-1.4.33.1718238.ebuild 1216 BLAKE2B 80a0182dd623e8b21595d22e03b72baddb3cb7d5383e6f00b624e795d7aabd1b635973fc1ed56becf18fa6b28fbf4cf3549c0169213df8692a1d0ee2d3418325 SHA512 61252376888943bfbf886ddc8d68585831507ad2f98493fe725a6b02c0046d5b51e9eb3c1507810eb10c6b59b05b003ef6d0b84fb17901de6076cafc43b7338a
+EBUILD amdgpu-pro-amf-1.4.33.1718238.ebuild 1215 BLAKE2B 63bcf450992b322798b3f31fa81ee7061b06e91c22a2cc0618ace7f05e9d5dbd45f4018ae178829f96baf96da81248e1e4dfd0bb2b8fa26f2309da43b3528597 SHA512 38a08a6f9769171b53ea8b613d3855cdf94aeea285393dfc833d71acedc5af2e6e93e5292a0d3b4aeeafecf7f7f043e6e2474af0d502099000bfcdbded8e0d72
MISC metadata.xml 402 BLAKE2B 45f4e6adffb186b9a9b36b420aaa5727f025206eca039d9f6fbe3eb302f7200cc24c079480d91c9d92ccd932bef86b87401400f17eba2fd8b4baa3fca66cf236 SHA512 dc9e5a699437291c5f768d66bdfd9d2aaa00e931f358e6d0045e764638332a8db14bd19a782aac0918dc4b42b8658a5974bdfec2971690e6718be247fff512b3
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.33.1718238.ebuild
index 3a60f81979fa..79a35e7579e0 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.33.1718238.ebuild
@@ -28,7 +28,7 @@ RESTRICT="bindist mirror"
LICENSE="AMD-GPU-PRO-EULA"
SLOT="0/31"
-KEYWORDS="-* ~amd64"
+KEYWORDS="-* amd64"
RDEPEND="
media-libs/amdgpu-pro-vulkan
diff --git a/media-video/bdsup2sub/Manifest b/media-video/bdsup2sub/Manifest
deleted file mode 100644
index b50df73f4276..000000000000
--- a/media-video/bdsup2sub/Manifest
+++ /dev/null
@@ -1,6 +0,0 @@
-AUX bdsup2sub-4.0.0-xdg.patch 1036 BLAKE2B c87a7b82a66c6bccc4b283a13ecef0d54b15d4b89479192c014ca31b037b8be9d8d7be1584a6a4421a94a056eb0ce98c3c4642651dcace57a0ab2ff31f1e772e SHA512 4f0232f5906cd685daf2b86cbd24a284a96939c653d36479ff271902af1dae0c558391bbf302fcdaac8a01f29aecfe56850407798d2520e22a1f227664e7c254
-AUX build-4.0.0.xml 1836 BLAKE2B 39b481344bee30e17f5a825b8d6eced1f6c410468da5382978a6f07bd9b081d12ba04f7973d3cc127cb6353b7cc1853f8ad196bd1e46994fbffcc42058cbc190 SHA512 ec2f7c82dd00243a692182e8ecf363674703a11fcc59b81bb290bb9ef2afb0617da506459f7dc7e50018560364b2e5bddfb40e766e33cc15111b6984c18c6119
-DIST bdsup2sub-4.0.0.tar.xz 199796 BLAKE2B 293c7d0433103a3087fb057b938b1cf2d42acc01ccdeb8c815f124c3a6b61f20bb211d88f9f4a7e516f4f7aa54200d2c1ec36adbfe700321543f27a9408269f4 SHA512 d12f5ddde2b9fec9dc50a43212db52f068852c972c0ee559dbe7f56490d7082eb1f603413a17737f791450d7f1458ed5ba39fda9a7a1349af03c07a0173c13a6
-DIST xdg-20100731.java.xz 648 BLAKE2B 8bd082c445d64051c65c66e8a22b61e582d04f1f650e3b15ee2f3400d47b10f137d245bd8a7633d96299e2c688f7bf836b59a4dd49ea3c181684a78fa55304c3 SHA512 8b5d8e695f3f052f889002dc93742da8ba9eada173cb10ad1db525e1ad89d1c8f44200d79dc02068ccf93fdbf2e8daa5bb359dae77bacbc89cb6d4895732774b
-EBUILD bdsup2sub-4.0.0-r3.ebuild 1165 BLAKE2B 846d42f26b56867205a74b1d046be73239ee9aaefad681fbed20fb972188015390a3fb554fe4c0603e283d3acb603ae59cdbc70f10a2a10d6286d37568ae6c6b SHA512 82341a030f59dfaa2ef7e7a89ee8994eb37e9b2b8561c290c81e37ff986fa016e51886f0639bcd8515f1519c17a1cae39f499a57af0b2208d8b906e7719d771f
-MISC metadata.xml 260 BLAKE2B ee10cc021112a6e67381cc76d642cabfe9876b9e2da97243070551179a9f8eb2bcb67d8bf96822d40239c350808a8a129882914f1ce9b5f924c99d16ba1300a6 SHA512 0bc4c52638ab97c96d6e1ea6b8199201567dbdac880349e8ab501de49bbfba142e4f2f60baac9c0bc48df6f5d170d81d641277cc01762d720b720764bb162c1a
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/bino/Manifest b/media-video/bino/Manifest
index 18f811dd6544..1c630f04c420 100644
--- a/media-video/bino/Manifest
+++ b/media-video/bino/Manifest
@@ -2,6 +2,8 @@ AUX bino-1.6.8-respect-AR.patch 559 BLAKE2B 2c24d3082cb446ecbc269f93fa6d427f273f
AUX bino-1.6.8-time-include.patch 662 BLAKE2B 6100dd865f2fcac6110e247dcc7576a5cf3a1ab7304e29d45b87331c3814101927193fb704f97a2216eae1878ae1a522502ed0725088ac3e4dfa0ffe4677dd69 SHA512 60426c7cd1f80ea370fe6b38d25f5dfc308e0ea0ed554cffdec2d3cc7b06baaf37d19c63705f34bc27f574ac773d7105880e1244b424f15ea273ccb983217082
DIST bino-1.6.8.tar.xz 836712 BLAKE2B 801d6f1ffbf1a7fbaabcdbb2c4bd649662d3b14b08189431a418702177f5de28a8961763c83962fd72cbf6f762fad34ed0b616efc68a723f65b6c72823618897 SHA512 d8cf5be356add4ed3fb36673038b5ffd92d0dc840798cc616fa4b11fec221c7f114347dfc7cdb7a3a24c5599b56301cddc99f84d3862d8e874612960281319cc
DIST bino-2.0.tar.gz 193004 BLAKE2B cb9f40e6eb3f925ecf83e766d613ce15c2fccf8b52a16c3b8000b8854a1defc5dab271c984db3a3780e5126b0e83e60c675956ee6e287c117874c0ef6b504fbf SHA512 5620c506f4de1a9aa7f21f0a23481c5174e7a6a47e6401a84d048dc87843249ef325e33ebc49790d405eb4697c3c571550b0e202f24e758c446ce8e4014f98b3
+DIST bino-2.2.tar.gz 217784 BLAKE2B 84897edefd3c7ca34bea06bdafe985b2ba8936fc0f5303dfb288589361202537d68ffcfcda7e5daec3b59b72385f840dd5d57bc125fdf6383ca9ebed2194f6ec SHA512 73e6207db4a71673f88ebbd8999054acfc8f70a069fc74089976786082373d0eb7ae675786b1d3cf8907987267d9b1b50ddb05366b8b70f880c6898da765cd7b
EBUILD bino-1.6.8.ebuild 1769 BLAKE2B 1c7604ce9345f541d3c04816dd4f6dff13ba8443b4ac316f19df3944bd9fada0029f73a23619eb664a5cc474d2a15b6d042013e2bc41e55b6847bf72f05673ee SHA512 b8e1699f3e34e307afe3c993c4af6fc6634d32b168f892f1a0a1b9ef3adb41ccc596368278ead3d778bb86385b7870db551a1cc87c33c461302aeb7808e3bb9a
EBUILD bino-2.0.ebuild 597 BLAKE2B 5379a1965f26a5a9da21ffa991aab9ebf63608dbb42993c037a74205eb53c1fbad75f7b725794b808433a57c9d1977d4c1b9023b2baa1efd54523850aecad5c5 SHA512 563f3f1589a3cf8c20048c05ed4f3d4e52e1967ff78520d43682947931741495354381bfce1ecee931115a330e6ccf850db9a9c6f8e29d851816e46ba62a22a2
+EBUILD bino-2.2.ebuild 599 BLAKE2B 3189579bb3f8bc350686236bdfe2f76e7fbc5509d9ca1e2fdac3f774d12d1e05b9aefcb2f023bd5718176d7cc8c176f27169238e5b8a3c54785b0773667d3455 SHA512 4b86ec39d2f7eaa45b5d7e33f4ef5915122becd948a545b0339db2c26fd28991da6bff5651c670706fce7d523f3d43e44c4a0aa2ba19035e9cbc133dea443dfe
MISC metadata.xml 251 BLAKE2B d8d3e540aec003dfab0b6663c9087bee59dbf7dbff2128c27883615d7250c03073926b9e023cf27925cce18736f86ca20ac3cb2a66d5fcaa0c009471ae95f822 SHA512 de4a63914b8a58e54b0d04d2461cc66199ad857191a11668b0f5b1c0f8713a3486cf22ea3d4df58ba8087775524608fb3d399cee3393f64770fdaa872f818467
diff --git a/media-video/bino/bino-2.2.ebuild b/media-video/bino/bino-2.2.ebuild
new file mode 100644
index 000000000000..38365b40dc8c
--- /dev/null
+++ b/media-video/bino/bino-2.2.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake xdg
+
+DESCRIPTION="Stereoscopic and multi-display media player"
+HOMEPAGE="https://bino3d.org/"
+SRC_URI="https://bino3d.org/releases/${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ dev-qt/qtbase:6[gui,opengl,widgets]
+ dev-qt/qtmultimedia:6
+ dev-qt/qtsvg:6
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ dev-qt/qttools:6[linguist]
+ virtual/pandoc
+"
+
+src_compile() {
+ local mycmakeargs=(
+ # Unpackaged
+ -DCMAKE_DISABLE_FIND_PACKAGE_QVR=ON
+ )
+
+ cmake_src_configure
+}
diff --git a/media-video/celluloid/Manifest b/media-video/celluloid/Manifest
index 9c7a1403e274..9d00f569a85b 100644
--- a/media-video/celluloid/Manifest
+++ b/media-video/celluloid/Manifest
@@ -1,5 +1,5 @@
DIST celluloid-0.21.tar.xz 413072 BLAKE2B 726eb035f15c24333151833ded843be611b6d6340d77de13f38d29f92307da1e30c63c657e654327f10b617987f8800e59b72e28bcc65cdcad4ef9ab002214c4 SHA512 6e48d982be127c21cc6afeec8e94ae5c78c667f865690f8fad6db2f0b8290922682334c4d905827e99765dc2084c1b8a36927ff3de485a7a456f4a2fb7058ae6
DIST celluloid-0.26.tar.xz 305420 BLAKE2B d74f5be26427ac0798f67e37066f0840d6af1a5a43e4bf714d02519e57231c57c34e191a678d11ebdca0ccbfd8f40eed4a23410f054394cc9f42559c6bbc934c SHA512 bcbb970b8ce512d4d7e64833a309a2e32631b262989ee7f9e1ec4b7f0015387b3978c8cbc0206a5aa86bd9e74fae3b7d38776e71be8c16996444d234bc37d42f
EBUILD celluloid-0.21-r1.ebuild 717 BLAKE2B 3b4e362fb63f14a372a61e5c960270763d57399f60df5f1e266c8422380355fe78374ecb8b376f670d7eaecbffd2840b22f335eca7329425a972b78687be9720 SHA512 8e4cecfff17f61f1b4c0b8b3dc635bd7b8dce22801ea9638961e56d2b836b6f5cc0e2c4e8edcbb9d14394aa7d6a3ae2249e073e12e72395b46cb90d3d0cbaa9e
-EBUILD celluloid-0.26.ebuild 795 BLAKE2B 269a2ced7d76a7851c02d52bbe1722b91db747065caa79c14b9b0c848d14f16fca12a7d84657d4be27cc363c347244585cfb75c6f87f3ce540bb088a3d214567 SHA512 f441d151ac503fc666fa4396d1445c588303f164a5899ce8a5d50e4dd6851af0cde95d479e641852ea83941ee96c6187049ca4b7fe84342b55a25fb60b321e72
+EBUILD celluloid-0.26.ebuild 799 BLAKE2B 03d8b3a4154e1fbedbc91773a9db509a709bd2daa2201fb7b6840be707c71ec0056457632f04181930f4742e250512d44c265381f061b5516528ead7eaffaa72 SHA512 037740621b4163b6a9bfedc9b4d91728f2dba41f5540fa8354e2432b16f6909c6136bcc84cd5a1c183b8728da22d23c0e319640d6a2670e5745884c31eedc477
MISC metadata.xml 329 BLAKE2B 7434173a6d1de1bb8f30af8945b50699bd2fde6229cef9e094a3c3d2505a726ff273af4f8ecf34b91abb4277b28293af20129c6c2f14724a1fc30921f64bc8d3 SHA512 95c3095211a04591b7bfc01da5d9027a47b94d802d89713cd2df54f5f9bf0d676fa5af63ecd4217d8a8c077a81b6201b3c6948cc7e04faff01f148a2c1d63db9
diff --git a/media-video/celluloid/celluloid-0.26.ebuild b/media-video/celluloid/celluloid-0.26.ebuild
index 00062ed05b0b..9513558c144c 100644
--- a/media-video/celluloid/celluloid-0.26.ebuild
+++ b/media-video/celluloid/celluloid-0.26.ebuild
@@ -11,7 +11,7 @@ SRC_URI="https://github.com/celluloid-player/celluloid/releases/download/v${PV}/
LICENSE="GPL-3+"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~ppc64"
+KEYWORDS="amd64 ~arm64 ~ppc ~ppc64"
RDEPEND=">=dev-libs/glib-2.66:2
>=gui-libs/gtk-4.6.1:4
diff --git a/media-video/cheese/Manifest b/media-video/cheese/Manifest
index 6cb17ae29bce..7d6eb8e4c32d 100644
--- a/media-video/cheese/Manifest
+++ b/media-video/cheese/Manifest
@@ -1,4 +1,4 @@
AUX cheese-43.0-buildfix.patch 762 BLAKE2B be49440d95b627586523da823085c1048186177881ee29f3d378d9d3fa49dac3799bc143cd594e10ecde9539b1e8a4defa1c6559d28376f8af2e8de0c4c24fd8 SHA512 8abb9a01b5b101fc8d6550db9b935ecaabe9eeec75527c189c9f3bb90c928637b953996966164517e71d084bc25c3997a2487771be4713276730013eecfb43e3
DIST cheese-44.1.tar.xz 1095916 BLAKE2B 7558b43a28bc5323a6ccd6e50c86611ee572d32cf190dde401c5d347b70b269ce05875e8a0d2d59e174a66d2cf5330b2530890969445eab00d7da0b4f02ce3e7 SHA512 106f02c0bd6e21039e3d1cdbcb8111c8d76638666b3a3ee65bc81295deaf50acf49023f3f7bf2ca244a9b7f4ac95d04fbc5864c1ded8698c52665c23c3640dc1
-EBUILD cheese-44.1.ebuild 2285 BLAKE2B 9891f74edc0826dbdbbff1298fa2d3ea34fed9b46e75503647a1ff1b6dd0b518bb8ce03d75c60df8cd05dc657f012bce6fdef9280d84ecf5c293457548305e3c SHA512 c119f063676ba926a77520e82e7017e645dfdd5eaf0e281ab060525a0b0c8fc3891a64b5d25d69789e55927e3ac426a1c3295dd9b2bc47af29a3d0bbee060244
+EBUILD cheese-44.1.ebuild 2279 BLAKE2B 243ede3dec3602f1c64852c0a8d8f435d86b043888368db7e4772d5a65167c5f1427bd255f7cb9d79eaaf6639ce441872b1d4279fc826dfedbf78df541b413d8 SHA512 53c04038536ddc75950dd526bd5a29cbdb302320acb45c1c7d0c09ed1bcc2fadea708932376392e0546e9c1e5e5a1af07d7176b7c2ab372c64a2db459874f9f2
MISC metadata.xml 528 BLAKE2B 8bb571eba870c101ab13171963f52397177155b00f7c251542267340c18193db8cfb62162fa3a2b3238c4d759f6252195907ebf6db4e2693cd44da7990f5a52d SHA512 6751fe57feca587302400f15019a00e735a952c9e11bdc8518f0d288b0a5655a9440a092677eecea5279804dab84ed0c1e4043435da901b5211356242452fee0
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/Manifest b/media-video/dirac/Manifest
index 6a72e152a8e3..d37cd84c31b2 100644
--- a/media-video/dirac/Manifest
+++ b/media-video/dirac/Manifest
@@ -1,4 +1,4 @@
AUX dirac-0.5.2-doc.patch 2304 BLAKE2B 1753b2645553deac3479ffc776eba95e9c100ce2d1ee18fd5a43af1d333608ac1df885ff6d10954414357b0cf76110c101d246d9ef66e7691bf4ff03a9387ea1 SHA512 1cac4ce26efd5f28b1d671258d5b8b0612815ac41dff230eda0db2c3a0f7414e2266ed1f92de728c97c40319e5d035f42fd1882233f85e3ccfd83b36b84ac099
DIST dirac-1.0.2.tar.gz 918366 BLAKE2B 16fb215958e0d772c0c7a89ee25603b25115b422a2e669d3256ea1384b5376e4df2bbf3303000ff26f08c3290a96958ace3391898bebe086b29116cf04180046 SHA512 71d49fe17da4069ea28581565d5a4c4f64565848b51d04b39a646bdaa9afc899a265e9ace34af57fba64b03562e8c2259f882f6f17c1e49d1057cd8e69d1250c
-EBUILD dirac-1.0.2-r2.ebuild 1138 BLAKE2B b0559a63e674a2d388963a7cf1a892a6ab9f83f19ba83a9f8c99ee93241358f9457d6a52ee4458628a4578750186a595f57867a9b3c09dc3e9dc17a031def438 SHA512 6f20f92c2722bf6f4e72f161d958d267e58994e856d66c8aa5b0608f9a91bc3389c44adb42dc137ee45ccce05965720c82fa7d6898616558a58f7e62c5680965
+EBUILD dirac-1.0.2-r2.ebuild 1132 BLAKE2B 9dc18aff6c214987e056b01bd2fb1b1bd24d9c6e1eb95416d48c8e696d35d4b75a9ae8223081cfaa88ae10c3dd06d2d5a619ce32db136f4251bb718fea56ec81 SHA512 b99b92e816f28b1872f92d5a717b0f36e05b5b92364663073140b034c67714221092f697cd5f305f60753ff310b8adb2b2d45d84c4c4e33a6e3fa3824e8f516d
MISC metadata.xml 299 BLAKE2B c422a088126043b93d6200f1b0c5d2689b8e74c6ad0f8b13931f68ef5b85c3876c495e080676c19b78fb2730c59d0e8f73683e948d5bd28a68cc2e5c285828f8 SHA512 7bc9431cd2068b8af841d4e63873e6ecfb95e1372017c738eedbc4741212fbbffb46afbb38ee4a9f434090a3e32d37d6d97091601cbdd8de7c713c3bc4fceb6f
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/dvdstyler/Manifest b/media-video/dvdstyler/Manifest
index 464673010c6a..a8351c075848 100644
--- a/media-video/dvdstyler/Manifest
+++ b/media-video/dvdstyler/Manifest
@@ -3,5 +3,4 @@ AUX wx30.patch 624 BLAKE2B fa464a7e39d721e52eec106794ecee23e802e7b57d2448d2d95c5
AUX wx32.patch 424 BLAKE2B 68eb622d8417f4b01391dd1aad10cc0e2575434149bbde54803e97010a2b367014225b17761f34a5b5a52356eb4aef4bc4bb0037cc6efe988918476bff8e5b11 SHA512 7d97ac865b7efb883d054f01a0702e4867a9da132cc1ab7fc2c1cc74d8ee252ce07e9b4a2f1e197ca6dd50d5923cf84c20e6d5908799d7bc214cf9e496221e51
DIST DVDStyler-3.2.1.tar.bz2 9040634 BLAKE2B f6c3ec5d6595b650ead167ae6532a0849cc6545e1531f10483a7dd2f9962ea6cd4494b7eb8224bbc6e70588b1054fc13a13a5e2f5d977b5b80692c7cc2553d53 SHA512 09124a6c8db2b8d8072bfe2f7de98474d736a36a66d5124eab1b925da9ca830901f554ca80d9a4403365616001d869237002a2cb467cf3cc11b37aea12ff9d90
EBUILD dvdstyler-3.2.1-r1.ebuild 1744 BLAKE2B be3cc796d5c57cf09a6d7e39daebcfbb6b3ca8058dd0b6c7bf825a2776ebfb740a7eca54e85dafa7c0f1b218b851b9e9a7b286dcf17924c56a0c45f50c92a6ec SHA512 37657998a7abbb8c7b0f94decb3473a3e0d5ee889d9331e2a278d727a45322fcce48d83c352639b12a19aba393efc6639ac5cf751c87cf9b11cb2071276b0c29
-EBUILD dvdstyler-3.2.1.ebuild 1713 BLAKE2B ab2553216417f24986c4304379ef8e3981e066a02139fba04630014e45e5c24ed943e596ef4d457e4ecb79735a5c9e607d9abcfdd1ee960e50b8687687678e45 SHA512 9389cde89c8cccaf63204f291c063d026531353fc9f31dec9cb56bbdf72830441ea99bc61caa486c7fb6d90aa62b26bb2b779b2fcefd47d3660820d49e0feba3
MISC metadata.xml 303 BLAKE2B 968311b2bad01107bc5da7eb9357989f0d9030ee07696d1ba676a4d5cc59773b8b474bae5167f0cdf1b39e5e182f41aec3b64dd7ac0df04302024ae75481c551 SHA512 8cb99add5aa709b0f9b14bc8c5fab09c958fa0b04f20bf4657e7a125761bec3e59fa6893a4b4633b8dc1d84c598ba518f757adef2ab1a5866a45f8c7cd59cf61
diff --git a/media-video/dvdstyler/dvdstyler-3.2.1.ebuild b/media-video/dvdstyler/dvdstyler-3.2.1.ebuild
deleted file mode 100644
index 71057e8e2202..000000000000
--- a/media-video/dvdstyler/dvdstyler-3.2.1.ebuild
+++ /dev/null
@@ -1,70 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-MY_P=${P/dvds/DVDS}
-WX_GTK_VER=3.0-gtk3
-
-inherit wxwidgets
-
-DESCRIPTION="A cross-platform free DVD authoring application"
-HOMEPAGE="https://www.dvdstyler.org/"
-SRC_URI="https://downloads.sourceforge.net/${PN}/${MY_P}.tar.bz2"
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="debug +udev"
-
-DEPEND="
- app-cdr/cdrtools
- >=app-cdr/dvd+rw-tools-7.1
- media-libs/libexif:=
- >=media-libs/wxsvg-1.5.23:=
- >=media-video/dvdauthor-0.7.1
- >=media-video/ffmpeg-2.6:0=[encode]
- >=media-video/xine-ui-0.99.7
- virtual/jpeg:0
- x11-libs/wxGTK:${WX_GTK_VER}=[gstreamer,X]
- sys-apps/dbus
- udev? ( >=virtual/libudev-215:= )"
-RDEPEND="${DEPEND}
- >=app-cdr/dvdisaster-0.72.4
- media-video/mjpegtools"
-BDEPEND="
- app-arch/zip
- app-text/xmlto
- sys-devel/gettext
- app-alternatives/yacc
- virtual/pkgconfig"
-
-PATCHES=( "${FILESDIR}"/ffmpeg5.patch "${FILESDIR}"/wx30.patch )
-
-src_prepare() {
- default
-
- # disable obsolete GNOME 2.x libraries wrt #508854
- sed -i -e '/PKG_CONFIG/s:libgnomeui-2.0:dIsAbLeAuToMaGiC&:' configure || die
- # rmdir: failed to remove `tempfoobar': Directory not empty
- sed -i -e '/rmdir "$$t"/d' docs/Makefile.in || die
- # fix underlinking wrt #367863
- sed -i -e 's:@LIBS@:& -ljpeg:' wxVillaLib/Makefile.in || die
- # silence desktop-file-validate QA check
- sed -i \
- -e '/Icon/s:.png::' -e '/^Encoding/d' -e '/Categories/s:Application;::' \
- data/dvdstyler.desktop || die
-}
-
-src_configure() {
- setup-wxwidgets unicode
- econf \
- $(use_enable debug) \
- --with-wx-config="${WX_CONFIG}"
-}
-
-src_install() {
- default
- rm "${ED}"/usr/share/doc/${PF}/{COPYING*,INSTALL*} || die
-}
diff --git a/media-video/ffmpeg-chromium/Manifest b/media-video/ffmpeg-chromium/Manifest
index a263cac959e0..f3e148f776f6 100644
--- a/media-video/ffmpeg-chromium/Manifest
+++ b/media-video/ffmpeg-chromium/Manifest
@@ -1,13 +1,15 @@
AUX chromium.patch 1536 BLAKE2B 8caf1ff11f8da710138cbb857bd42e8679f98f3c30a3eaddb51611b7c39fb48c23890257997d3ddfee47244e6ffc0abb241e3118e0e8bcbf63442885445bcee3 SHA512 711b338178fe042aff92375d6593197337529986ea55ac6288df4c725145dd06c41fcfc11df4843e03eeaa4bad90ed558acf8f6945b9b96c9751fff92a41811a
AUX ffmpeg-chromium-120.patch 1485 BLAKE2B 49ece028bf7da100adc7af93e82b6235fb39f12199ce037b730b97012ca787047b45be821cec609cdfa7e00bb1f8c88a9ecae0b7b88fd8db6f53476b94833f9f SHA512 0f3276f75132bd8adbde4305ffa604cfa3d504ed66f883af109c75711d0f9af6dee2d55d7298ec36864a421250a0c4998d3306f0e47750c016c4274545195b49
-DIST ffmpeg-chromium-120.tar.xz 10096036 BLAKE2B 8f24dfed854c713df369e6ef15bc773a3166fdf6eb8c90bcb1d1b7ddddaca0702df7615bc323432a40b5d213352945fa49acf8e864df2caa358764b5068a75f3 SHA512 0e0bfb44225981f91edceeb6f302592a7e108da49c5e6503b43f0e12b91d84dece908efe5e548bb31ccab49c5fba5a8365f5f0793bbf1450d35bfd836f8a3e9b
-DIST ffmpeg-chromium-121.tar.xz 10128048 BLAKE2B ba8e25356b7e0820dffea1b919288ddb3d6ec56fe8d17493529ec978deae629607ff5a5857a313e478193a1fca55fa3e5256e37d57251141e1f0a892cbdcf674 SHA512 e6cef1285237673ce5851cbddf4cda77779821c247a120bf73af2b931745b2886c915a35bb2bc21a8a9c5154be9e540f8abccc3bb64e704f5b859141d0dcc2e1
-DIST ffmpeg-chromium-123.tar.xz 10323756 BLAKE2B b56afd5946513511938feeea4fd60e22fcf241a2380b36990eadf812b3517d6941156de73135efdc873704d27bc3329c71193be5132e462caaf7f2dc29e8a058 SHA512 635e1c5496d6f41fa5dd69efbe6dd335a15705dce8544fc45df440b19965caa130646d16b7c22b2b7cc0809979d28f39245fc5c208637e445b1fc1eb384da418
-DIST ffmpeg-chromium-124.tar.xz 10378648 BLAKE2B 3cb79d356e84d76a241ad81491d22d42b7a768e348d245bda00101e3967c0864e95a1dd83372e6aaf3a9130ff5ae38610fe2bd4ee8e21fc8247af4172af0683a SHA512 627d1ba81c50300e7188e8a2cc5f76ea9e81e817209631f2eecb81b7b9a0be60a12290eba16240dd0b0dce3d59550a8246be54df2035bd75a9e95ae77d67467b
DIST ffmpeg-chromium-125.tar.xz 10372892 BLAKE2B 53b805354b55f1dfbe2341b767aaccca7efea4cced02db9090be88e89a4d2d688904ffc996c206d92a99d4eb93733b7f8cb47fd80dc43019c3bb6690903a1140 SHA512 c1b68b16a3dbd6f96e52c313b9ddf1c193ef302e5cbe7e127c511e54a4453c32c84b3df954e397d7ba834ef17fe1cba6efabfde855d3bb9e497bcde1b66c3d8d
-EBUILD ffmpeg-chromium-120.ebuild 6692 BLAKE2B db110de522d1885bcf2f5d3c45ca3b343943ecdbe594610a427baeae6e5e6521ee9abfebc6126b543da4c35b7715f464916e65a6c44205c69612a68fd7692317 SHA512 fd3b1ded196a4af08742723ab1ca36dda21e13c2899718e64b5ca3046474bb97042402b3870c2b9edeee3027a0f1eaba1f960bd4208c465651ad741ec8c361c8
-EBUILD ffmpeg-chromium-121.ebuild 6692 BLAKE2B 36aafbff5f4c4a7bf81d9fe1293a1962a8632f9df49012f08e7130e6050a2a026ee3b4394eca6456200ba30a2661a7fe7d1b4a3c5c95602d7865802d65587247 SHA512 a47296b03217d345a6465321ed51ae11a0a61991ea6b8790571e7c0754d1a0c9d91f7944f255dd6a05e255d863523b4637e0e9c21cc644541c04fd5abbd3a43d
-EBUILD ffmpeg-chromium-123.ebuild 6629 BLAKE2B ccf9f2604c0440214a1a3670208d192b237be824bfb70294aaf594c0a3f7241c16b1443806b0aa5e78e184c24ad6978f2d588b0953fcd1478f7699d279e7922c SHA512 aa35b07def61daa2b1c4ac575e8c7b9db019dc2be1dd284b20f43e76cb2dd72e8d47d7e5429f9e703de46439a310de4a20d2973fe219de8af1142ec5178430c7
-EBUILD ffmpeg-chromium-124.ebuild 6631 BLAKE2B 5f190273d57e0a20c90d042a231bff16dae975c6153145c74218245b5cd4207fc56033620590fd5e79370ca0e295d1e1075e6113b896e2b43b7af8b6b699977a SHA512 2f69214111249dda6e01535d402d8fc457bcb220e5ae8360f08b686ec2a96a4c78a36e2dd7205b6fffe5b3f9aa0282154c844dae0d59a2edb2e6f183fce5687d
-EBUILD ffmpeg-chromium-125.ebuild 6652 BLAKE2B a747d58bee00928121acf21a257efe26afa101f8cae207756a4e7ea5aa6153748a5245487266102cd90d2d125d766a576820604720cd6439628565160b497bc4 SHA512 ade2685e1bf4291f766d1ff990052ee5db0765b0e9725ca68667d770a01e1f3789d7c92801d2ec575bd6e5b8d800e8c6385e7c700cf4468d6fc7ed81a305359c
-MISC metadata.xml 820 BLAKE2B 666416ef717f7990f3e90e644b82c2833adb4942676f74eac6f15841d0f2a3a841b72906a7079321fb2101ffd672308892f90f536fcefa3837fb49344aeff3e9 SHA512 ffd36a905e6891f5d2134f159e6cb6707d4b37b2c5398474983ffa314fa9c5c140a5b8297de43827dd8108b7b4bcda7859158d2947e5b48730b820660a06962e
+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
+EBUILD ffmpeg-chromium-125.ebuild 6479 BLAKE2B f71dbdd8922f14df1bca7a085645fdf48b843efe57c022bb31e2728e886c57f80b7993c675a71fd25641b995332d6a8b8015ff6eef988d2b005fb8a1ae980878 SHA512 21c167a3ba28277ac66a400fce531848a5a04a4be344ac94a7de421b8e8814f3c7f3b5612ba91c5ef1607bba371211655f7dfc87a44b8c239b473c8a7f7062a1
+EBUILD ffmpeg-chromium-126.ebuild 6479 BLAKE2B 31d1f47cf086e7617bcabc9b342c0155a0bc2782c569e65c391a4d15161165ec6869027b7498d5a20cad433f00d5bc4d64944498170b8b408be4147390ea3910 SHA512 8e7fe997f6ab7ebe4a3e24ab695b8d978296cb368ba2aeda0e5acd4e0dba5ed32bb95b4ae4210ebeef6b178004da153d4fd530ed509c050e777924f786752c37
+EBUILD ffmpeg-chromium-127.ebuild 6479 BLAKE2B 7357fe026fd686a96c6098e5259cbbd745b9b3e16afe088f3f0001a40994599439b2638d387b3dbc2aa66eba28a366ec3d032a4ed5d18948d501f8ab8cad086b SHA512 59380fcf97cc23930f8c3ff4023a8351881e8cf11dcfdad16d8c40ebb9891074ae6661455cd3395f0ca55552e8c0782458a9409bb175401d0af2e8a4222b82f4
+EBUILD ffmpeg-chromium-128.ebuild 6479 BLAKE2B 9b7d9a1d995d0a925979ba122a51821d98e5299329f5453bcf3f80587ebc0e760afc9d9b65a3a444bf3dc00bd3bf495cc1d0fcbd6daa25ad477e2f2ae39c6beb SHA512 8c6b99f807c0b7b6bc6fe9d5c2ff436ffaab41ac4e20c7567f17d8ac6a66ec1007353a1f383052dc707da692002a05cc3a2f447947fce6c5b224e08de3a4eef5
+EBUILD ffmpeg-chromium-129.ebuild 6479 BLAKE2B 291953066345a7e3018ba56e1cd7ebb12c5f14220c19030b78197381764fb5fe5ff48fad423786ef0dbd335ba917886ab2d71765ef7cae43eed324a0cd08eb88 SHA512 e59e8ec78bcdd939b100ba681488d3c212539ee79a441be0dd6d894689b8a37b2b0e7fbf6d18a9cbf3673daec0be9055dc455c1b0d38fb5afb34594319e63206
+EBUILD ffmpeg-chromium-130.ebuild 6481 BLAKE2B 195a106874439d9465ba8674a32c3192c0166ec840f179c8b15b90fc68a68440d4312c649fa4af63100bd1d4da7caf58184bbc1267327604c5027e5b56e8c05a SHA512 c3da69729075c2a4ca3ebb4f76e4d115c3b8b9f8971c89ef2b7489447184d81070a9fb954ba1d23a71b1fd896798dee63cbacdd21a996a9f94e30986b7144ac6
+MISC metadata.xml 695 BLAKE2B 84fa4967572665812d4da8bb1a86a8b28a749892570cb1fca5c0515f860fbe8c472a91240f1d3b7b3109ccdbd32cf8da941c438cd9f332b763f2824e0e193ac8 SHA512 0069bcf32d2aa083c66e13579295e8ef96b9ac72b02f1436620000c71c4d1e335391838f9a9e56f7768bd13dbe13ce6f3f3674a303cf90cc658360825867c3f9
diff --git a/media-video/ffmpeg-chromium/ffmpeg-chromium-125.ebuild b/media-video/ffmpeg-chromium/ffmpeg-chromium-125.ebuild
index 2b5c1d96a3ca..7112d7b23cff 100644
--- a/media-video/ffmpeg-chromium/ffmpeg-chromium-125.ebuild
+++ b/media-video/ffmpeg-chromium/ffmpeg-chromium-125.ebuild
@@ -16,7 +16,7 @@ LICENSE="
"
SLOT="${PV}"
-KEYWORDS="~amd64 ~arm ~arm64 ~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-123.ebuild b/media-video/ffmpeg-chromium/ffmpeg-chromium-126.ebuild
index cdb9ff78f655..30123f9c2d1f 100644
--- a/media-video/ffmpeg-chromium/ffmpeg-chromium-123.ebuild
+++ b/media-video/ffmpeg-chromium/ffmpeg-chromium-126.ebuild
@@ -5,7 +5,7 @@ EAPI=8
inherit flag-o-matic toolchain-funcs
-COMMIT=7c1b0b524c639beeb25363b1d0809ebe5c6efe5e
+COMMIT=092f84b6141055bfab609b6b2666b724eee2e130
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"
@@ -16,7 +16,7 @@ LICENSE="
"
SLOT="${PV}"
-KEYWORDS="amd64 ~arm arm64 ~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)
@@ -99,11 +99,11 @@ RDEPEND="
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.255:= )
+ vulkan? ( >=media-libs/vulkan-loader-1.3.277:= )
"
DEPEND="${RDEPEND}
- vulkan? ( >=dev-util/vulkan-headers-1.3.255 )
+ vulkan? ( >=dev-util/vulkan-headers-1.3.277 )
"
BDEPEND="
>=dev-build/make-3.81
@@ -112,6 +112,7 @@ BDEPEND="
"
REQUIRED_USE="
+ vulkan? ( threads )
${CPU_REQUIRED_USE}"
RESTRICT="
test
@@ -139,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-124.ebuild b/media-video/ffmpeg-chromium/ffmpeg-chromium-127.ebuild
index 74a941cdeb9e..f67cb20d79f3 100644
--- a/media-video/ffmpeg-chromium/ffmpeg-chromium-124.ebuild
+++ b/media-video/ffmpeg-chromium/ffmpeg-chromium-127.ebuild
@@ -5,7 +5,7 @@ EAPI=8
inherit flag-o-matic toolchain-funcs
-COMMIT="52d8ef3799b2f16b66351dd0972bb0bcee1648ac"
+COMMIT=bc1ee906cede137c061bea5a5e8d0743374392a5
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"
@@ -16,7 +16,7 @@ LICENSE="
"
SLOT="${PV}"
-KEYWORDS="amd64 ~arm arm64 ~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)
@@ -99,11 +99,11 @@ RDEPEND="
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.255:= )
+ vulkan? ( >=media-libs/vulkan-loader-1.3.277:= )
"
DEPEND="${RDEPEND}
- vulkan? ( >=dev-util/vulkan-headers-1.3.255 )
+ vulkan? ( >=dev-util/vulkan-headers-1.3.277 )
"
BDEPEND="
>=dev-build/make-3.81
@@ -112,6 +112,7 @@ BDEPEND="
"
REQUIRED_USE="
+ vulkan? ( threads )
${CPU_REQUIRED_USE}"
RESTRICT="
test
@@ -139,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-120.ebuild b/media-video/ffmpeg-chromium/ffmpeg-chromium-128.ebuild
index f5c83cb50871..0669dac8dc36 100644
--- a/media-video/ffmpeg-chromium/ffmpeg-chromium-120.ebuild
+++ b/media-video/ffmpeg-chromium/ffmpeg-chromium-128.ebuild
@@ -5,10 +5,10 @@ EAPI=8
inherit flag-o-matic toolchain-funcs
-COMMIT="bed545c1488e1f95075168dfe02388c16ffe1418"
+COMMIT=d941d9677bb4802f01750fd908ec284fb72c84df
DESCRIPTION="FFmpeg built specifically for codec support in Chromium-based browsers"
HOMEPAGE="https://ffmpeg.org/"
-SRC_URI="https://dev.gentoo.org/~chewi/distfiles/${P}.tar.xz"
+SRC_URI="https://deps.gentoo.zip/media-video/${P}.tar.xz"
LICENSE="
!gpl? ( LGPL-2.1 )
@@ -16,7 +16,7 @@ LICENSE="
"
SLOT="${PV}"
-KEYWORDS="amd64 ~arm ~arm64"
+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)
@@ -26,8 +26,6 @@ FFMPEG_FLAG_MAP=(
cpudetection:runtime-cpudetect debug
+gpl
vaapi vdpau vulkan
- # decoders
- mmal
nvenc:ffnvcodec
# Threads; we only support pthread for now but ffmpeg supports more
+threads:pthreads
@@ -97,16 +95,15 @@ CPU_REQUIRED_USE="
"
RDEPEND="
- mmal? ( media-libs/raspberrypi-userland )
>=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.255:= )
+ vulkan? ( >=media-libs/vulkan-loader-1.3.277:= )
"
DEPEND="${RDEPEND}
- vulkan? ( >=dev-util/vulkan-headers-1.3.255 )
+ vulkan? ( >=dev-util/vulkan-headers-1.3.277 )
"
BDEPEND="
>=dev-build/make-3.81
@@ -115,6 +112,7 @@ BDEPEND="
"
REQUIRED_USE="
+ vulkan? ( threads )
${CPU_REQUIRED_USE}"
RESTRICT="
test
@@ -142,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-121.ebuild b/media-video/ffmpeg-chromium/ffmpeg-chromium-129.ebuild
index 99c72fcc7a81..5c3db3e86611 100644
--- a/media-video/ffmpeg-chromium/ffmpeg-chromium-121.ebuild
+++ b/media-video/ffmpeg-chromium/ffmpeg-chromium-129.ebuild
@@ -5,10 +5,10 @@ EAPI=8
inherit flag-o-matic toolchain-funcs
-COMMIT="3997177624f6b302bbc8a7edbb6f8a6ab47ea978"
+COMMIT=14d16cd143ad1993900c276e37592956702443a9
DESCRIPTION="FFmpeg built specifically for codec support in Chromium-based browsers"
HOMEPAGE="https://ffmpeg.org/"
-SRC_URI="https://dev.gentoo.org/~chewi/distfiles/${P}.tar.xz"
+SRC_URI="https://deps.gentoo.zip/media-video/${P}.tar.xz"
LICENSE="
!gpl? ( LGPL-2.1 )
@@ -16,7 +16,7 @@ LICENSE="
"
SLOT="${PV}"
-KEYWORDS="amd64 ~arm ~arm64"
+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)
@@ -26,8 +26,6 @@ FFMPEG_FLAG_MAP=(
cpudetection:runtime-cpudetect debug
+gpl
vaapi vdpau vulkan
- # decoders
- mmal
nvenc:ffnvcodec
# Threads; we only support pthread for now but ffmpeg supports more
+threads:pthreads
@@ -97,16 +95,15 @@ CPU_REQUIRED_USE="
"
RDEPEND="
- mmal? ( media-libs/raspberrypi-userland )
>=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.255:= )
+ vulkan? ( >=media-libs/vulkan-loader-1.3.277:= )
"
DEPEND="${RDEPEND}
- vulkan? ( >=dev-util/vulkan-headers-1.3.255 )
+ vulkan? ( >=dev-util/vulkan-headers-1.3.277 )
"
BDEPEND="
>=dev-build/make-3.81
@@ -115,6 +112,7 @@ BDEPEND="
"
REQUIRED_USE="
+ vulkan? ( threads )
${CPU_REQUIRED_USE}"
RESTRICT="
test
@@ -142,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-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-chromium/metadata.xml b/media-video/ffmpeg-chromium/metadata.xml
index 026866d3f537..0e2003eeb51b 100644
--- a/media-video/ffmpeg-chromium/metadata.xml
+++ b/media-video/ffmpeg-chromium/metadata.xml
@@ -16,6 +16,5 @@
<use>
<flag name="cpudetection">Enables runtime CPU detection (useful for bindist, compatibility on other CPUs)</flag>
<flag name="gpl">Build GPL code. Should be enabled unless you require LGPL binaries.</flag>
- <flag name="mmal">Enables Multi-Media Abstraction Layer (MMAL) decoding support: Available e.g. on the Raspberry Pi.</flag>
</use>
</pkgmetadata>
diff --git a/media-video/ffmpeg/Manifest b/media-video/ffmpeg/Manifest
index 1c58550008f9..a35758537112 100644
--- a/media-video/ffmpeg/Manifest
+++ b/media-video/ffmpeg/Manifest
@@ -4,41 +4,54 @@ AUX chromium-r2.patch 1602 BLAKE2B e3f5441dfb3b8b6975da9dc6c1283c814fae24d0c373b
AUX chromium.c 215 BLAKE2B 2b5149d401433a362149cd4ff020cdc2217388e3ecac4aef86e7a46c7abb0d13a050eb61eab859578ecb9682e075451e2ccf7c2bda5c7ec397f71b9d06c1cf48 SHA512 552ef0a6316e743be717bdb8f49b69ab0b2acda828ff87f581aaf816d403ff59d5153a57f0bfd3b64e37a4fb8d261f0449b520b7e26feb7fd444cb480dc895b5
AUX ffmpeg-4.4.3-clang-14-ff_seek_frame_binary-crash.patch 1813 BLAKE2B 3fdb56fade5c723fcf387dfe5e31aefbd88e8256fb2ae24a3a90b91902ff18f9ffa9b1e464c0b0b40fad04c7230be7bec78f043b7ce52d70ee94f2a2313dc2b2 SHA512 fb11cb1047d8f44ab9f9f66e52af136b7fea27589929e45afb770e53837954fb03854ea9d839ecee80d3c3d5a493f32bbdbc74e8efc9600d5b53a7d91136abca
AUX ffmpeg-4.4.3-get_cabac_inline_x86-32-bit.patch 1068 BLAKE2B b547cd925bfd506e08d44395c67916fe20b30f397a36adf53fcf277660c45aef9d3d8c014b2bbfcf038539618affb9dd8ff5d93f2fe622e4282c61c4d1b26861 SHA512 779e921e783b800e6bf9bc95af73d44a170287676d17bc22f2b7cd91e393f410ec3f6c7bfa173497443a65496047f39f37cac1d56507271411893c5bdcb37d8b
+AUX ffmpeg-4.4.4-amd-av1-vaapi.patch 11092 BLAKE2B d3561619dd226102116c729475691a4d10382abbe09be3ca79beed61c4b785e76e01d13ef956fce5233a8d525d84b27cb191bb91bc1b9538e72794b98ac31c6a SHA512 3ef47e1f6ab0eacc7a17ee31fcf0ccd6e90812689cd94cbfd4763db57aadff09eafb6dca7a20931bc95208109c6fd00370d6b9a6b3cb9d1bfe55b2436fd5eda8
AUX ffmpeg-4.4.4-fix-build-svt-av1-1.5.0.patch 1882 BLAKE2B e60bb09566cf61018a0e910f32ccc9e9d94695877dccdbeedc0c27996c356c397b59889f5d3997b6cea85acf4228f41bdb8086dfa2dc4b0852f4a8031a6d2c14 SHA512 d29410a1119853c7a7c1762fb557be26b7c38e1787a9ebea744a71438cd701d658d55e4c27350bf2d4ff31a8cdc88e0844fa37b5ade3ef706b3ba1cd1462916e
AUX ffmpeg-4.4.4-glslang.patch 1526 BLAKE2B d64d95f089c3d3aeafb7cc3fb08700641b6252c3cdbfac2e9b16431819007a8fa7b52ae156a1c9727671f00c9281024596183b85f7f74864ef997f660aa47296 SHA512 2bca3ca62bece6696dd6bd30c8cf57e31b9da551ee1f698a09d0a00ecdc96da51b519a8a42c85d1f572d26db92bec72a717d75c1a6e3c8f59a4a0066e6a332b8
AUX ffmpeg-4.4.4-opencl-parallel-gmake-fix.patch 362 BLAKE2B 709a5a79aea781258998f295e539620651dce08820db345ab3d1d8996b076907db5157bfc7cd1fe15b8ce86bd1f6d073f79a2343f74a2548e9a699b92b4efe6f SHA512 0a5ecb29c19505564b4d3d6f362b8885d055c5a93688f3671509764194fb851aaf51483a956b8a150ec6ea17cc7ca2e5e0cca25d5f476f26c3bbdcb3ebd8ce05
AUX ffmpeg-4.4.4-wint-conversion-vulkan.patch 1066 BLAKE2B 1409c97a31ae59500df944ced7efc064486e325e1658ac8f30d74ac926c63de51b610eebb5be9951adcd8ad02c8c143429c6eff57ce789a1c187e0b24221aa6d SHA512 58e33b2f0e94e75ef7acebb221332dc4d618846f8a968011da370743ce80a4ab688112411d3f2a5320d144c25db567780c870a0eb4045152b73957e2d7fe747e
+AUX ffmpeg-4.4.5-incmptbl-pntr-types.patch 502 BLAKE2B 2c4d4416b112d1b4b0c985be7765e18e5d52586252834dd47052e13caa8554fd28dcbc88b37013f36134d5dba06b0c917f485f42a8e12d5cda37a6b13dd48827 SHA512 d3e9730467d52cb75999fa2494996e2b1515cdfb22d134be50240308f2c1167569033c7aaa821efe10dc0ee252863ff3c8826b58fbf2a727639c1bee652edc14
AUX ffmpeg-5.0-backport-ranlib-build-fix.patch 2224 BLAKE2B 1af6c5eee3f2c69c0630a73ec3885b9302cb045a03623ff138939348d6ba7e7deef1bb07c33c5bef5834040c4f6abcd7d22af8b0b849b28efde3d5753b776108 SHA512 e82cd400488ba86e5d039f088e3798b5a66245a8753d275d608284081f4b260fb7a4d8d1310f43acdf81258cc507943c8f07e431c497411744a62ba98c88c5bb
AUX ffmpeg-5.1.2-get_cabac_inline_x86-32-bit.patch 999 BLAKE2B 736a85e60d3ee9b48346e1d7795bd8e075e8bcc2556695ec9db0a48a8d7356d20795ed31e1d6dcda7615e5ad3ff9faf7edf7563ba6e1f822a99d3cd442bd8a72 SHA512 f16c7185a3265710b6638e35322895590b58dffaffcb8fb436b08f945e19c44a1b66a17902b73e89fd53cf5e4cd9e7f2256bef4df4c82be16a807eb6bf663f5a
AUX ffmpeg-5.1.3-binutils-2.41.patch 2217 BLAKE2B f013c5df1cc3495830d101e551e42dfd07b016913c7cfed82920e85e69d857fb8081e19503d7f0306ca2e0313683d00e3b20293fc8ddab491eb10ffdd3a92b1a SHA512 2db666d4e5f3e9e4f32b6a34e537b5af2229c744eebdbc6680e883b88e5d937ab59f8a0fd7da812a28d9d0a3955853cb594ac5352d31a9655da95b735bbc46c0
-AUX ffmpeg-6.0-DECLARE_ALIGNED.patch 1006 BLAKE2B 10bf1b3f618e0fad2dfb33b42fcec611329181d5481f79c42cbfda7054e2ce5f53e5b2ce439965a1beadc346492ac06c6a91a56d979a73bd72ce8952a15b2dd8 SHA512 e2d3e915a6d9ebae11e000b908bd5346de0d7731407dc783088a6d10a8e36de045a90225d16a01366ed1ad3af16fdb3b87803c03833883e7f31b93e7cdea44f7
-AUX ffmpeg-6.0-binutils-2.41.patch 2217 BLAKE2B 2c8e96610fe1d198613405941b8f6ce36c1e8a543769a0dcfa5498dc0b4638e2e936dde8ad6c81a24b31dfc674ab7a2484e1a692f1ea911a1141276c05a5b13e SHA512 ec082acaaeb42061e2c6054f26fb6483170684f148200219ec8bc1fc04cf56a0d9bb31becd367c2cfdde3a9bc6bcf4d9fcdb646a57df3cda6935951e18759f6e
AUX ffmpeg-6.0-fix-lto-type-mismatch.patch 1782 BLAKE2B 4cafd0244136c645e8da072b21c906fba97579f667e57f678b450410759fddc834e5a2428b7d0f078130cfc7ab267cad82a46d369951efddcfc5853dd2118837 SHA512 170114d57af0a0b5fc5da71ae76f4725b8cf1a604b5eca10e60761ef22fb0cdb35a166d1dd5ebc4ef990c383e1d1331f8ef2ceccb8dc7bf4adcc7e9ebb2ba899
AUX ffmpeg-6.0-libplacebo-remove-deprecated-field.patch 4733 BLAKE2B eba46b33bdbb387b90f89491aa638cb941e7fb72d522945394e540fdfadaf83efc6837a13eefedc285b6bce3ef4443ef32f2c04754209c4a47c4d2216574d597 SHA512 0673dab6043466eecf79048f1da8879d89a014b207910bfd6ec6ebf151fe77edf35460035583f803133969d90ab202ce31aaddf322501ac4e34e1270a66f09fe
-AUX ffmpeg-6.0-wint-conversion-vulkan.patch 1647 BLAKE2B 3d0f0de065a615f199cd3a3074f5038bf6652f41afa8f8754ade5f0112327f069d4cf8eddf3bc25139122d258caceb102dad7c2825b99f35c273e993caae817d SHA512 1fa7506eb393e44ba98ebaea1e98831912279d365ef8909f247913b912973f7782cb0ad869da4244b6a09b91f5cbb5a5207cbc5a4de8ec61fc313714ea663a80
AUX ffmpeg-6.0.1-alignment.patch 5048 BLAKE2B 9a9345b84b68442c97258a71b49ed773e40d985ea8f2525a8749a7562d787634ff0b0e5e1d257e94f7cf68fab81790ca2f0b64cfcb27453e1e6912de30c560e9 SHA512 575b71b2d69b0c7b4e0498b9375dad55945adc7178c72ed5fd12addeae3ffb0081ab59d743a2a6da1a3b67d84642c7dd3d04e2fdb9ae2d992968ba52aa1aee41
AUX ffmpeg-6.0.1-libjxl-0.9.patch 5209 BLAKE2B 52c393c8e9b15382dbaf06f0c4651927f9dd87ac5437eb333f84689fafea841aeccf6ce9a43a522e2d4a1ec7e56074b8ee394f8c4b12c521cd48f293d36530f1 SHA512 bd114c62a4692fce9d625acb519900bee48fb604b0b7d7a2dba0a8f6648511be2019612ea8bafde95fa3b115bc9b527ab3267477327ce6e41d34b816f24a2654
AUX ffmpeg-6.1-gcc-14.patch 523 BLAKE2B b82fc06a7eee0c7ab68ef78f3ac205f45a68a7799dc241f0a574afa48e4dbd477c0d67f7c5a7ff46971adc821ef1507f4957156200167a2c59f8c7f7867ac048 SHA512 092cd9bad652ab82c3b160a37c0c92b561577d56b33776e30b79b7abf487fffeb1ef1273b950c4d4eff62d3cd7fec2a6dc2c294285b0b32eda364e47834a4ff9
AUX ffmpeg-6.1-opencl-parallel-gmake-fix.patch 370 BLAKE2B 46afba747d26105e5520389016aa8cc73ebc1425095e7818e0c2e23ff66b822a5428fec8253a6b545456bd94d0e746ed24bc014a7fa25d97b6fc4acf753341d4 SHA512 82b16798e63736dc67ad03e62eb31c7d3653d2e53a775a0a4456e01985da2336ebde587d3acd2272065c5ce82be528ebc051cd6c121832829d7cd0ed2aba3fdd
AUX ffmpeg-6.1-wint-conversion.patch 3514 BLAKE2B fcb65b882af964a8f45f71ea3f885fc016e3f89c3d6f0bd6d661d489715c0f746e763a86c6ade1515e212b01559d90ea9c2a97c965e0c0f9087b8396cdd58414 SHA512 7e09fc1a811a21aee9eef0370e57a37817652229a6b0e58cd2e8723e8336124396fe40f6a7c6c5f860046410596027d27d900371ff86609b86ef94dd0633977f
+AUX ffmpeg-6.1.1-amd-av1-vaapi.patch 11069 BLAKE2B f30d00fd00215b8753ba720bde8b040f03fadb9ae6d1e3ebf98ae20564104a55aa220ac91ab082e3086943677a9be6d8b709170765605ecb681458ad215e44d9 SHA512 cf8127f3e50c28824367ca489568eb1e8ff11207291b2354d4bf8027a2bc4a884e24e76bad4fd023cf80268c04e0893f3d6d1fbd8ccf4b9c5e69b74ae41775d4
AUX ffmpeg-6.1.1-memory-leak.patch 4184 BLAKE2B 93499876d5bab3dede021f646146f449d209f520ace803d9d46b0132d32aaea2bf6047c67f8804545a8eb90530c8884f5c687836cff2af111baeb52bbf1884ba SHA512 926c662c27f379c9f91ee48eb23090ba7d0c429a0e00a1ebc0fcba75657c0091da1a1b11441a61cfa77e6ba659906127bf3a51ad17d9ff921455d5495381b658
AUX ffmpeg-6.1.1-vulkan-rename.patch 5784 BLAKE2B 25e85dc0e5d3915a709d86be60a938f4669d87a370c98bd5d17b94fd3e1fec4ae78a6fc696dd862ce5c932987aac601dfcf8f8c8a6a2acd8adf6166a4368b11d SHA512 f7d2a10b1c143d9ddbc08f0faa96ccabbbadb7ab2e293cef53f77f93b44560bf099b4a40e434295925683963887afaf34ee28052737b4207ca531d399e0243f5
+AUX ffmpeg-6.1.1-wint-inconversion-libgcrypt.patch 3442 BLAKE2B 21d441dd39595c13b7be7407c774a9e3a9d4ae8b2334aeed79d2fa5b88f4c637665b782b0705fabe6283062549138453fb01d1c1d4bbcd799474a7590e59ed75 SHA512 aa8c0c259e7ab98afd608e4c2167eebe4e373000713c84a2052b9836cd04a029d6123bc1ce27a84589048ee3634ab8b30a8e501ff48394d3fccf9f13c85273af
AUX vmaf-models-default-path.patch 1126 BLAKE2B 71f83765dc89b85e929af393f9d1415d119e71a91aaf45e8a32fd4fff270a129ca797c3b383a6074bea32fb582816660022a59d33bb6f557514df038baaf0271 SHA512 4d21f4b1622d8e47d2821ecac6b893847ada74d75db7d8aaac70efc7e6e7a6607c011b6fb2d015cb0c5e05f6a56e4feed43eca7d35b0f686a68261e6d9981b6a
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.0.tar.xz 10234012 BLAKE2B c70884911f3a3e40fe87473f241a2a56b303f5abe7f1d7fa797d05e29e00971f98cbf37832c1c3dc5fa949a5beddef05a6ec55ae6668091976ea870ad93c0e8d SHA512 4d0e8f635d5a1633710f30cb3e0a854b6ca3bf85e33a289d1ec7aca2ad55dc4910010bc9cf3f13eee9f6decb9d50a0df6d7aa5a342f308c3868d2730f3a6b980
-DIST ffmpeg-6.0.tar.xz.asc 520 BLAKE2B be294d375108b57bca3c687620ce2517c54c99012d82dc7aa1a83d5fe6d5453bd3c8620fdfb743df780cf588983a06a66a458c4e3e454dbe535cbba9da30c48c SHA512 a64cd0f8578fcea4537f5a38634c930d66c8ba4abd3e8e9dcffaeb95c3ad2e754d7bc4fbb5272409d4d32abf8180ef83f7204c6a570b52a37e635efd96cb94ed
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
-EBUILD ffmpeg-4.4.4-r9.ebuild 20312 BLAKE2B 50dd3e95cf6277261dc983dc3d807a4a5ed1a06c046fff5d6cb53ab7e17088e04fb62fd5bd45ffdf034a0bd7c419e69afef490145d1da4ac1c89d07d89a44db2 SHA512 9a7da74b1ef83289b697681e4e7f0e699865e156af24617dfabc88934b3374bf8aa8416759d120a016debfded168d3e9c0d4ef07e712e70f778a10d0af872c44
-EBUILD ffmpeg-6.0-r12.ebuild 20022 BLAKE2B 1d27958625368f9748d5a2a4a06bad7042795fd7cc0080285ee07ec98bef187ede3f0a327ce442a2c61d2f60adf84de014a916acd405ae4455ab2acfcf25cb6b SHA512 9469da9701053831748314d4a3ef750e260106113197384ecabca51cdfbacab79018e26096b3b5ea96080f849de9ec032462f093bd41eb57e73064185e40df06
-EBUILD ffmpeg-6.0.1-r4.ebuild 20020 BLAKE2B c19d2af1c04d2c202fc84efda51da246f265b472ab414a3f613542cbc845e8d6e3e78d02ea4ef448866d6a711534ef181c4850bb75fc04c6c499755c0c4046ca SHA512 2f7e5866ce0f1d47332a1d8233b436a6d3680a75e5e406519387f177e3574cb9b7181169d8eb51273cf5fc5695f410ad12e1062ed3fc2d05fbdfa80c37d0a15e
-EBUILD ffmpeg-6.1.1-r5.ebuild 20314 BLAKE2B 7f7024133e2855fe5686d6d8c45374cd1fb2caebfe5eb0b89bab75d46c78d86c793a639df2b5bfd9749897263ccfc9fbf1285df002f09dd31e8d183da8450ae1 SHA512 b87fa32674fec46d064f7e5a191d9b68bb1ef9ebcc3da62e185b43398520dc3a3c864fd112e10ee521858f0a981c6dc514129b27802448fc59720cba3875a47a
-EBUILD ffmpeg-6.1.1-r6.ebuild 20359 BLAKE2B 8df188ef17fd791580f8b99260d9df5d5292756a3a1391d6f856c3ead1e0005d4a6db3522a144720aec1ee4f0034255fe6bebe4334727ee07be2ce79879ec19d SHA512 242dbdda98204543379bf6bf3786b3143330a33010389cc4758a30b33f5821c0669ab577e80b72a56d286d5e0437fe6676b16d51c9c62adf2ff84133da9ac96b
-EBUILD ffmpeg-9999.ebuild 20059 BLAKE2B 10591fc6ed5448828a2208c6e3950aecd007c901844fd7b6b7894c51ec301adcd07935617eba3f975dc9397d226303ccd761b1a0c40edf068cf8729ed10c5981 SHA512 44694bb25edc1fa33657d3da3affa04e682a5336d399d93585c27ae63ac33c26dc0f102e29151621de07727478b836667b8b12e4921ffc4a53a2cc65e141623a
-MISC metadata.xml 7897 BLAKE2B 3ca144eac26a80cd6bd85c51c72e65a879e50ef810bcfc926dabacbcf1e1b217973934488c75f32b9e2a872f3a9f2a1c5e075d01fe048d1076997792fab383a9 SHA512 aa06791277e42ada2f1c3af3f360939f289012f7a1283471b4490c584f88f3f82eb6552218c4bead5d3c85b4514536dd63860fff57f635b189bc78d22a84c43a
+DIST ffmpeg-rpi-7.0.patch 807653 BLAKE2B 2d7d4fb55313c0ea227bf714af08fe17c118969aef972cf85bd8bf33643da08b2a224b2ea7c369a58e62fb758c0e8747c6cc6694672b889016fdb16b3d33f530 SHA512 cf65f68f6b0fa351d273c1b4fd74fca63a40cbd802bcd14124018784164fd1c6a09de3d9b0e0631eaf4c8b4fbcb846cc47a7831ad70eb0cfac6d21a51bd09941
+DIST ffmpeg-rpi-7.0.patch.asc 833 BLAKE2B 3086d77e2cc05b7c295fcaef26a9a0d32775999d1bab9075eeeb0a80804b35928698efe870a432558ece55d7873e016422a00013e7d0cca160b71172c31ab449 SHA512 cc885f01b9547f17c6ef1d26d7d1d053186fdf57aa31c0a411a2ab1c0246cec9c2aeef8687e7f8eb0c998d3379712541c60432bc2521a3db1b45d72d316c2d2b
+EBUILD ffmpeg-4.4.4-r10.ebuild 20175 BLAKE2B 1b7a6853d7e09e6808488eef6fbd20ed6fe87907f7928ef5d7ad34b3c3d1103ed8e6e7a98527c9fcd0b5ab1227e8d7b8c99d70b7baf04760acbd5036ab4d8ac8 SHA512 281eaf4cee361c2af48057a202fb354900e569f97e249d29d7e483072a8f0998c035316aa8f959b66f6d4e3fe12d62e12ff5635b481f8a4e186679cd6e99cd02
+EBUILD ffmpeg-4.4.4-r9.ebuild 20128 BLAKE2B 21bbbed13d81617a9ed7fab67646c7cc21c39101a95d17ba1fd7d19820b4d9bef59f2061a3be49d11138c7cf16e3fb62bfefb75d07c70ee1f04725c4079d492b SHA512 46910d831e7a7f50b403425efb982464b7c75564e1ead9f2f0af25408e2f8f857f97dc890b8fd33974635f3453ca8de69ae7f7d8d0fb0b0c3bcc3ae6b7b2b3aa
+EBUILD ffmpeg-4.4.5.ebuild 19938 BLAKE2B bcc9885825dda5387772cba857017c47902dc206a7314877d0cbea01141d7ae992061cffa34111b0ccaf632bdd4f3e51423cf7d7531287f49295293accb140cf SHA512 ea432de884741b93b62ab32fee95d44c508f7b41a6ff3275099758f1577a138289ac8ff12ab3ca8d267f89d8c976c3af4d04013baf612db3693e51d62eda7a38
+EBUILD ffmpeg-6.0.1-r4.ebuild 19836 BLAKE2B 67279c7430fb09cf4477d243d557c77d41e4cf70279537681bb819d21a9cc610642059f0de70a3336ea398a93d214bb05eb52daa498fe23aa74fcffe651a38a5 SHA512 a5948d7b86c1377b69897591106867b464d17ce4c03ad072bd6f98b5d9b7a31d00cac6c63b6628af55eda2528ec9c38cc6ecc5430ce88016123c1a4e70eff234
+EBUILD ffmpeg-6.1.1-r5.ebuild 20125 BLAKE2B d81aa43ede98fdede59d68854f7710282a74072c31e5aefbb61892a9fca8e9352134dc7d5bce749b87bb1e4345c78b32bb17a2556663bc1c5d925c3c5bbd6120 SHA512 f65d062670fe0e35d7f4ef2e2f627d13e02bf161636809d62996c24a5c226f6068e8eb2cb6c261ce7780d2f266e6c99eef09d24c0d3ade9ccdd87ffd2274fe63
+EBUILD ffmpeg-6.1.1-r8.ebuild 20429 BLAKE2B fd770021185f678c243070b30b0f4834a9d0a96db33f8a4496f3344578b6f67bcc23b4f86543c3677e83fb2c0f77990e5a879ed28c53e89452822196c5c1d22e SHA512 3fd6bc7915cd12cc58343a371dae0af0e464dfea7e4b43ae98c66aca267c26bba4916b97fd05016e04300999601671b06ea0ac27a2c34ba3095d1d676b7e5d40
+EBUILD ffmpeg-6.1.2.ebuild 20344 BLAKE2B 337814806b70e1bc1f8783188b768687602a5c5cf4d45d5cbe0a8c67094e350be2a3306c5680aad458e3ce025d88242d80037af7e0b1849693d8a3f2432d9ee6 SHA512 9adddd81d75d3b6a30e9afb55b814721d562f6b25e644061fc30d5c8567d5792cd8f4ff6dc290b095c2e1846710be8cd86b28c0ee35fd77e1519f49bf7bb0548
+EBUILD ffmpeg-7.0.1.ebuild 20375 BLAKE2B 10e81c8f0651cabf5a489870725f97bb7e96b84a48dcf5dd6f97b15098fb199900ff6a07a28f77849f6a39b3163b64187ca70b8ff17beb7952ff0020ac9a346a SHA512 a8a31b535a4a0d4b8d56b969dbb468245ba3cac0617363c35730f05c6310ad6dda10da352e5d3527b1a5332fc20699ba88889d53dd36e523f804ff4be9af5a44
+EBUILD ffmpeg-7.0.2.ebuild 20375 BLAKE2B 10e81c8f0651cabf5a489870725f97bb7e96b84a48dcf5dd6f97b15098fb199900ff6a07a28f77849f6a39b3163b64187ca70b8ff17beb7952ff0020ac9a346a SHA512 a8a31b535a4a0d4b8d56b969dbb468245ba3cac0617363c35730f05c6310ad6dda10da352e5d3527b1a5332fc20699ba88889d53dd36e523f804ff4be9af5a44
+EBUILD ffmpeg-9999.ebuild 20437 BLAKE2B 7ee1054896be123ee50b3a02ea2d9db4875a8f4d79a7181d2cea21a80c27f217a36783364ae04a4999faa3ce4910344764e074adaed19d4e519999a648aa5d55 SHA512 7c4370147dfe4e44868641c06d3c7a043ca3fb2fbd3a48eb56bf2f65cf52ccea2e9e409a7bb1d7dd29ac914947a1f6adf117aa63aa82de9f73fa39a714a59e2d
+MISC metadata.xml 8343 BLAKE2B 4fa89eaccf10b2b691d66fc20df7cc09b31b848d0c054040664f6d9b132ba422c3a9cae2b239a95f307b4f15d1a5432e751a72fe1e4239376252bee9b814c59a SHA512 9b085513512c323c524d88837a517ebeb6a9db7212e4353ae1330c1db763761aa8114a47337a2f85a18ad2adae210cb56fb0472b09dfd78fdcac0fecf08ea7b3
diff --git a/media-video/ffmpeg/ffmpeg-4.4.4-r10.ebuild b/media-video/ffmpeg/ffmpeg-4.4.4-r10.ebuild
new file mode 100644
index 000000000000..9e0ffd130260
--- /dev/null
+++ b/media-video/ffmpeg/ffmpeg-4.4.4-r10.ebuild
@@ -0,0 +1,613 @@
+# 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+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-texinfo.patch.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-clang-14-ff_seek_frame_binary-crash.patch
+ "${FILESDIR}"/${PN}-4.4.3-get_cabac_inline_x86-32-bit.patch
+ "${FILESDIR}"/${PN}-4.4.4-wint-conversion-vulkan.patch
+ "${FILESDIR}"/${P}-fix-build-svt-av1-1.5.0.patch
+ "${FILESDIR}"/${PN}-5.1.3-binutils-2.41.patch
+ "${FILESDIR}"/${PN}-4.4.4-opencl-parallel-gmake-fix.patch
+ "${FILESDIR}"/${PN}-4.4.4-glslang.patch
+ "${WORKDIR}"/${PN}-4.4.4-texinfo.patch
+ "${FILESDIR}"/${PN}-4.4.4-amd-av1-vaapi.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"
+
+ 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..155021576490 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.
@@ -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-6.0-r12.ebuild b/media-video/ffmpeg/ffmpeg-4.4.5.ebuild
index 27356c86a31d..fcdff1e2f2ef 100644
--- a/media-video/ffmpeg/ffmpeg-6.0-r12.ebuild
+++ b/media-video/ffmpeg/ffmpeg-4.4.5.ebuild
@@ -12,7 +12,7 @@ EAPI=8
# 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
+FFMPEG_SUBSLOT=56.58.58
SCM=""
if [ "${PV#9999}" != "${PV}" ] ; then
@@ -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 ~x64-macos"
fi
# Options to use as use_enable in the foo[:bar] form.
@@ -83,16 +83,15 @@ FFMPEG_FLAG_MAP=(
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 mmal modplug:libmodplug opus:libopus qsv:libvpl libilbc librtmp ssh:libssh
+ 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 vmaf:libvmaf
- fribidi:libfribidi fontconfig ladspa lcms:lcms2 libass libplacebo libtesseract lv2
- truetype:libfreetype vidstab:libvidstab
- rubberband:librubberband zeromq:libzmq zimg:libzimg
+ 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
@@ -101,8 +100,8 @@ FFMPEG_FLAG_MAP=(
# 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
+ 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
)
@@ -217,6 +216,7 @@ RDEPEND="
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}] )
@@ -232,15 +232,12 @@ RDEPEND="
)
jack? ( virtual/jack[${MULTILIB_USEDEP}] )
jpeg2k? ( >=media-libs/openjpeg-2: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}] )
+ 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}] )
- 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}] )
@@ -252,10 +249,10 @@ RDEPEND="
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}] )
+ 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/libvpl[${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}] )
@@ -268,18 +265,18 @@ RDEPEND="
x11-libs/cairo[${MULTILIB_USEDEP}]
)
nvenc? ( <media-libs/nv-codec-headers-12 )
- svt-av1? ( >=media-libs/svt-av1-0.9.0[${MULTILIB_USEDEP}] )
+ 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-2.0.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.2.189:=[${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}]
@@ -298,7 +295,7 @@ RDEPEND="${RDEPEND}
"
DEPEND="${RDEPEND}
- amf? ( >=media-libs/amf-headers-1.4.28 )
+ amf? ( media-libs/amf-headers )
ladspa? ( >=media-libs/ladspa-sdk-1.13-r2[${MULTILIB_USEDEP}] )
v4l? ( sys-kernel/linux-headers )
"
@@ -329,8 +326,9 @@ GPL_REQUIRED_USE="
"
REQUIRED_USE="
cuda? ( nvenc )
- libv4l? ( v4l )
fftools_cws2fws? ( zlib )
+ glslang? ( vulkan )
+ libv4l? ( v4l )
test? ( encode )
${GPL_REQUIRED_USE}
${CPU_REQUIRED_USE}"
@@ -343,12 +341,13 @@ S=${WORKDIR}/${P/_/-}
PATCHES=(
"${FILESDIR}"/chromium-r1.patch
- "${FILESDIR}"/${P}-DECLARE_ALIGNED.patch
- "${FILESDIR}"/${PN}-5.1.2-get_cabac_inline_x86-32-bit.patch
- "${FILESDIR}"/${P}-wint-conversion-vulkan.patch
- "${FILESDIR}"/${P}-libplacebo-remove-deprecated-field.patch
- "${FILESDIR}"/${P}-binutils-2.41.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=(
@@ -373,11 +372,22 @@ pkg_setup() {
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
@@ -390,15 +400,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 )
@@ -438,7 +439,6 @@ multilib_src_configure() {
if use openssl ; then
myconf+=( --disable-gnutls )
- has_version dev-libs/openssl:0/3 && myconf+=( --enable-version3 )
fi
# (temporarily) disable non-multilib deps
@@ -479,6 +479,7 @@ multilib_src_configure() {
# 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
@@ -569,7 +570,7 @@ multilib_src_compile() {
}
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" \
+ 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
}
@@ -604,5 +605,5 @@ 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 [...]`"
+ use amf && newenvd "${FILESDIR}"/amf-env-vulkan-override 99amf-env-vulkan-override
}
diff --git a/media-video/ffmpeg/ffmpeg-6.0.1-r4.ebuild b/media-video/ffmpeg/ffmpeg-6.0.1-r4.ebuild
index 5609d999e0d2..d0a3bb596892 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.
@@ -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 )
diff --git a/media-video/ffmpeg/ffmpeg-6.1.1-r5.ebuild b/media-video/ffmpeg/ffmpeg-6.1.1-r5.ebuild
index 94fe73865b5b..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-r6.ebuild b/media-video/ffmpeg/ffmpeg-6.1.1-r8.ebuild
index 9f5bd8424035..f83fcb1a0176 100644
--- a/media-video/ffmpeg/ffmpeg-6.1.1-r6.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.
@@ -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}]
@@ -383,6 +383,8 @@ PATCHES=(
"${FILESDIR}"/${PN}-6.0.1-alignment.patch
"${FILESDIR}"/${PN}-6.1.1-vulkan-rename.patch
"${FILESDIR}"/${PN}-6.1.1-memory-leak.patch
+ "${FILESDIR}"/${PN}-6.1.1-wint-inconversion-libgcrypt.patch
+ "${FILESDIR}"/${PN}-6.1.1-amd-av1-vaapi.patch
)
MULTILIB_WRAPPED_HEADERS=(
@@ -419,6 +421,14 @@ src_prepare() {
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() {
@@ -427,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 )
@@ -510,12 +511,9 @@ multilib_src_configure() {
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" )
+ if [[ ${ABI} != x86 && ! -z ${LTO_FLAG} ]]; then
+ myconf+=( ${LTO_FLAG} )
fi
- filter-lto
# Mandatory configuration
myconf=(
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..cf2f2c615aaf
--- /dev/null
+++ b/media-video/ffmpeg/ffmpeg-6.1.2.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-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"
+
+ 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-7.0.1.ebuild b/media-video/ffmpeg/ffmpeg-7.0.1.ebuild
new file mode 100644
index 000000000000..467c8c4a6bb7
--- /dev/null
+++ b/media-video/ffmpeg/ffmpeg-7.0.1.ebuild
@@ -0,0 +1,614 @@
+# 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"
+
+ use amf && newenvd "${FILESDIR}"/amf-env-vulkan-override 99amf-env-vulkan-override
+}
diff --git a/media-video/ffmpeg/ffmpeg-7.0.2.ebuild b/media-video/ffmpeg/ffmpeg-7.0.2.ebuild
new file mode 100644
index 000000000000..467c8c4a6bb7
--- /dev/null
+++ b/media-video/ffmpeg/ffmpeg-7.0.2.ebuild
@@ -0,0 +1,614 @@
+# 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"
+
+ use amf && newenvd "${FILESDIR}"/amf-env-vulkan-override 99amf-env-vulkan-override
+}
diff --git a/media-video/ffmpeg/ffmpeg-9999.ebuild b/media-video/ffmpeg/ffmpeg-9999.ebuild
index 867a4147d174..2c36d52fbafe 100644
--- a/media-video/ffmpeg/ffmpeg-9999.ebuild
+++ b/media-video/ffmpeg/ffmpeg-9999.ebuild
@@ -14,7 +14,7 @@ EAPI=8
# doing so since such a case is unlikely.
FFMPEG_SUBSLOT=58.60.60
-SOC_PATCH="ffmpeg-rpi-6.1-r3.patch"
+SOC_PATCH="ffmpeg-rpi-7.0.patch"
SCM=""
if [ "${PV#9999}" != "${PV}" ] ; then
@@ -46,7 +46,7 @@ else # Release
BDEPEND="
verify-sig? (
sec-keys/openpgp-keys-ffmpeg
- soc? ( sec-keys/openpgp-keys-gentoo-developers )
+ soc? ( >=sec-keys/openpgp-keys-gentoo-developers-20240708 )
)
"
@@ -60,7 +60,7 @@ else # Release
fi
FFMPEG_REVISION="${PV#*_p}"
-SLOT="0/${FFMPEG_SUBSLOT}"
+S=${WORKDIR}/${P/_/-}
LICENSE="
!gpl? ( LGPL-2.1 )
gpl? ( GPL-2 )
@@ -84,8 +84,9 @@ LICENSE="
)
samba? ( GPL-3 )
"
+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.
@@ -94,8 +95,9 @@ fi
# 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
+ +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
@@ -104,7 +106,7 @@ FFMPEG_FLAG_MAP=(
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
+ jpeg2k:libopenjpeg jpegxl:libjxl bluray:libbluray gme:libgme gsm:libgsm liblc3
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
@@ -258,12 +260,15 @@ RDEPEND="
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}] )
+ libaom? ( >=media-libs/libaom-2.0.0:=[${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}] )
+ liblc3? ( >=media-sound/liblc3-1.1[${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}] )
@@ -279,6 +284,8 @@ RDEPEND="
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}] )
@@ -293,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}]
@@ -373,8 +380,6 @@ RESTRICT="
gpl? ( openssl? ( bindist ) fdk? ( bindist ) )
"
-S=${WORKDIR}/${P/_/-}
-
PATCHES=(
"${FILESDIR}"/chromium-r2.patch
"${FILESDIR}"/${PN}-6.1-opencl-parallel-gmake-fix.patch
@@ -414,6 +419,14 @@ src_prepare() {
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() {
@@ -422,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 )
@@ -505,16 +509,16 @@ multilib_src_configure() {
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" )
+ if [[ ${ABI} != x86 && ! -z ${LTO_FLAG} ]]; then
+ myconf+=( ${LTO_FLAG} )
fi
- filter-lto
# 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
diff --git a/media-video/ffmpeg/files/ffmpeg-4.4.4-amd-av1-vaapi.patch b/media-video/ffmpeg/files/ffmpeg-4.4.4-amd-av1-vaapi.patch
new file mode 100644
index 000000000000..5f13edf68fca
--- /dev/null
+++ b/media-video/ffmpeg/files/ffmpeg-4.4.4-amd-av1-vaapi.patch
@@ -0,0 +1,257 @@
+https://bugs.gentoo.org/936310
+https://github.com/getsolus/packages/commit/50b029f7801c2c73da655e7dd5ae826244f9ae2c
+https://gitlab.freedesktop.org/mesa/mesa/-/issues/11533#note_2495206
+
+The backport here is from Solus who resolved a conflict for 4.4.x as it
+doesn't apply cleanly there.
+
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: David Rosca <nowrep@gmail.com>
+Date: Wed, 8 May 2024 09:11:11 +0200
+Subject: [PATCH 1/2] lavc/vaapi_decode: Make it possible to send multiple
+ slice params buffers
+
+Reviewed-by: Neal Gompa <ngompa13@gmail.com>
+Signed-off-by: David Rosca <nowrep@gmail.com>
+Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
+--- a/libavcodec/vaapi_av1.c
++++ b/libavcodec/vaapi_av1.c
+@@ -419,7 +419,7 @@ static int vaapi_av1_decode_slice(AVCodecContext *avctx,
+ .tg_end = s->tg_end,
+ };
+
+- err = ff_vaapi_decode_make_slice_buffer(avctx, pic, &slice_param,
++ err = ff_vaapi_decode_make_slice_buffer(avctx, pic, &slice_param, 1,
+ sizeof(VASliceParameterBufferAV1),
+ buffer,
+ size);
+--- a/libavcodec/vaapi_decode.c
++++ b/libavcodec/vaapi_decode.c
+@@ -59,6 +59,7 @@ int ff_vaapi_decode_make_param_buffer(AVCodecContext *avctx,
+ int ff_vaapi_decode_make_slice_buffer(AVCodecContext *avctx,
+ VAAPIDecodePicture *pic,
+ const void *params_data,
++ int nb_params,
+ size_t params_size,
+ const void *slice_data,
+ size_t slice_size)
+@@ -87,7 +88,7 @@ int ff_vaapi_decode_make_slice_buffer(AVCodecContext *avctx,
+
+ vas = vaCreateBuffer(ctx->hwctx->display, ctx->va_context,
+ VASliceParameterBufferType,
+- params_size, 1, (void*)params_data,
++ params_size, nb_params, (void*)params_data,
+ &pic->slice_buffers[index]);
+ if (vas != VA_STATUS_SUCCESS) {
+ av_log(avctx, AV_LOG_ERROR, "Failed to create slice "
+--- a/libavcodec/vaapi_decode.h
++++ b/libavcodec/vaapi_decode.h
+@@ -86,6 +86,7 @@ int ff_vaapi_decode_make_param_buffer(AVCodecContext *avctx,
+ int ff_vaapi_decode_make_slice_buffer(AVCodecContext *avctx,
+ VAAPIDecodePicture *pic,
+ const void *params_data,
++ int nb_params,
+ size_t params_size,
+ const void *slice_data,
+ size_t slice_size);
+--- a/libavcodec/vaapi_h264.c
++++ b/libavcodec/vaapi_h264.c
+@@ -375,7 +375,7 @@ static int vaapi_h264_decode_slice(AVCodecContext *avctx,
+ slice_param.chroma_offset_l1);
+
+ err = ff_vaapi_decode_make_slice_buffer(avctx, pic,
+- &slice_param, sizeof(slice_param),
++ &slice_param, 1, sizeof(slice_param),
+ buffer, size);
+ if (err) {
+ ff_vaapi_decode_cancel(avctx, pic);
+--- a/libavcodec/vaapi_hevc.c
++++ b/libavcodec/vaapi_hevc.c
+@@ -305,7 +305,7 @@ static int vaapi_hevc_end_frame(AVCodecContext *avctx)
+ if (pic->last_size) {
+ last_slice_param->LongSliceFlags.fields.LastSliceOfPic = 1;
+ ret = ff_vaapi_decode_make_slice_buffer(avctx, &pic->pic,
+- &pic->last_slice_param, slice_param_size,
++ &pic->last_slice_param, 1, slice_param_size,
+ pic->last_buffer, pic->last_size);
+ if (ret < 0)
+ goto fail;
+@@ -410,7 +410,7 @@ static int vaapi_hevc_decode_slice(AVCodecContext *avctx,
+
+ if (!sh->first_slice_in_pic_flag) {
+ err = ff_vaapi_decode_make_slice_buffer(avctx, &pic->pic,
+- &pic->last_slice_param, slice_param_size,
++ &pic->last_slice_param, 1, slice_param_size,
+ pic->last_buffer, pic->last_size);
+ pic->last_buffer = NULL;
+ pic->last_size = 0;
+--- a/libavcodec/vaapi_mjpeg.c
++++ b/libavcodec/vaapi_mjpeg.c
+@@ -131,7 +131,7 @@ static int vaapi_mjpeg_decode_slice(AVCodecContext *avctx,
+ sp.components[i].ac_table_selector = s->ac_index[i];
+ }
+
+- err = ff_vaapi_decode_make_slice_buffer(avctx, pic, &sp, sizeof(sp), buffer, size);
++ err = ff_vaapi_decode_make_slice_buffer(avctx, pic, &sp, 1, sizeof(sp), buffer, size);
+ if (err)
+ goto fail;
+
+--- a/libavcodec/vaapi_mpeg2.c
++++ b/libavcodec/vaapi_mpeg2.c
+@@ -162,7 +162,7 @@ static int vaapi_mpeg2_decode_slice(AVCodecContext *avctx, const uint8_t *buffer
+ };
+
+ err = ff_vaapi_decode_make_slice_buffer(avctx, pic,
+- &slice_param, sizeof(slice_param),
++ &slice_param, 1, sizeof(slice_param),
+ buffer, size);
+ if (err < 0) {
+ ff_vaapi_decode_cancel(avctx, pic);
+--- a/libavcodec/vaapi_mpeg4.c
++++ b/libavcodec/vaapi_mpeg4.c
+@@ -167,7 +167,7 @@ static int vaapi_mpeg4_decode_slice(AVCodecContext *avctx, const uint8_t *buffer
+ };
+
+ err = ff_vaapi_decode_make_slice_buffer(avctx, pic,
+- &slice_param, sizeof(slice_param),
++ &slice_param, 1, sizeof(slice_param),
+ buffer, size);
+ if (err < 0) {
+ ff_vaapi_decode_cancel(avctx, pic);
+--- a/libavcodec/vaapi_vc1.c
++++ b/libavcodec/vaapi_vc1.c
+@@ -490,7 +490,7 @@ static int vaapi_vc1_decode_slice(AVCodecContext *avctx, const uint8_t *buffer,
+ };
+
+ err = ff_vaapi_decode_make_slice_buffer(avctx, pic,
+- &slice_param, sizeof(slice_param),
++ &slice_param, 1, sizeof(slice_param),
+ buffer, size);
+ if (err < 0) {
+ ff_vaapi_decode_cancel(avctx, pic);
+--- a/libavcodec/vaapi_vp8.c
++++ b/libavcodec/vaapi_vp8.c
+@@ -209,7 +209,7 @@ static int vaapi_vp8_decode_slice(AVCodecContext *avctx,
+ for (i = 0; i < 8; i++)
+ sp.partition_size[i+1] = s->coeff_partition_size[i];
+
+- err = ff_vaapi_decode_make_slice_buffer(avctx, pic, &sp, sizeof(sp), data, data_size);
++ err = ff_vaapi_decode_make_slice_buffer(avctx, pic, &sp, 1, sizeof(sp), data, data_size);
+ if (err)
+ goto fail;
+
+--- a/libavcodec/vaapi_vp9.c
++++ b/libavcodec/vaapi_vp9.c
+@@ -158,7 +158,7 @@ static int vaapi_vp9_decode_slice(AVCodecContext *avctx,
+ }
+
+ err = ff_vaapi_decode_make_slice_buffer(avctx, pic,
+- &slice_param, sizeof(slice_param),
++ &slice_param, 1, sizeof(slice_param),
+ buffer, size);
+ if (err) {
+ ff_vaapi_decode_cancel(avctx, pic);
+
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: David Rosca <nowrep@gmail.com>
+Date: Wed, 8 May 2024 09:11:13 +0200
+Subject: [PATCH 2/2] lavc/vaapi_av1: Avoid sending the same slice buffer
+ multiple times
+
+When there are multiple tiles in one slice buffer, use multiple slice
+params to avoid sending the same slice buffer multiple times and thus
+increasing the bitstream size the driver will need to upload to hw.
+
+Reviewed-by: Neal Gompa <ngompa13@gmail.com>
+Signed-off-by: David Rosca <nowrep@gmail.com>
+Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
+--- a/libavcodec/vaapi_av1.c
++++ b/libavcodec/vaapi_av1.c
+@@ -19,6 +19,8 @@
+ */
+
+ #include "libavutil/pixdesc.h"
++#include "libavutil/frame.h"
++#include "libavutil/mem.h"
+ #include "hwconfig.h"
+ #include "vaapi_decode.h"
+ #include "internal.h"
+@@ -41,6 +43,9 @@ typedef struct VAAPIAV1DecContext {
+ */
+ VAAPIAV1FrameRef ref_tab[AV1_NUM_REF_FRAMES];
+ ThreadFrame tmp_frame;
++
++ int nb_slice_params;
++ VASliceParameterBufferAV1 *slice_params;
+ } VAAPIAV1DecContext;
+
+ static VASurfaceID vaapi_av1_surface_id(AV1Frame *vf)
+@@ -107,6 +112,8 @@ static int vaapi_av1_decode_uninit(AVCodecContext *avctx)
+ av_frame_free(&ctx->ref_tab[i].frame.f);
+ }
+
++ av_freep(&ctx->slice_params);
++
+ return ff_vaapi_decode_uninit(avctx);
+ }
+
+@@ -403,13 +410,24 @@ static int vaapi_av1_decode_slice(AVCodecContext *avctx,
+ {
+ const AV1DecContext *s = avctx->priv_data;
+ VAAPIDecodePicture *pic = s->cur_frame.hwaccel_picture_private;
+- VASliceParameterBufferAV1 slice_param;
+- int err = 0;
++ VAAPIAV1DecContext *ctx = avctx->internal->hwaccel_priv_data;
++ int err, nb_params;
++
++ nb_params = s->tg_end - s->tg_start + 1;
++ if (ctx->nb_slice_params < nb_params) {
++ ctx->slice_params = av_realloc_array(ctx->slice_params,
++ nb_params,
++ sizeof(*ctx->slice_params));
++ if (!ctx->slice_params) {
++ ctx->nb_slice_params = 0;
++ err = AVERROR(ENOMEM);
++ goto fail;
++ }
++ ctx->nb_slice_params = nb_params;
++ }
+
+ for (int i = s->tg_start; i <= s->tg_end; i++) {
+- memset(&slice_param, 0, sizeof(VASliceParameterBufferAV1));
+-
+- slice_param = (VASliceParameterBufferAV1) {
++ ctx->slice_params[i - s->tg_start] = (VASliceParameterBufferAV1) {
+ .slice_data_size = s->tile_group_info[i].tile_size,
+ .slice_data_offset = s->tile_group_info[i].tile_offset,
+ .slice_data_flag = VA_SLICE_DATA_FLAG_ALL,
+@@ -418,18 +436,20 @@ static int vaapi_av1_decode_slice(AVCodecContext *avctx,
+ .tg_start = s->tg_start,
+ .tg_end = s->tg_end,
+ };
+-
+- err = ff_vaapi_decode_make_slice_buffer(avctx, pic, &slice_param, 1,
+- sizeof(VASliceParameterBufferAV1),
+- buffer,
+- size);
+- if (err) {
+- ff_vaapi_decode_cancel(avctx, pic);
+- return err;
+- }
+ }
+
++ err = ff_vaapi_decode_make_slice_buffer(avctx, pic, ctx->slice_params, nb_params,
++ sizeof(VASliceParameterBufferAV1),
++ buffer,
++ size);
++ if (err)
++ goto fail;
++
+ return 0;
++
++fail:
++ ff_vaapi_decode_cancel(avctx, pic);
++ return err;
+ }
+
+ const AVHWAccel ff_av1_vaapi_hwaccel = {
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-DECLARE_ALIGNED.patch b/media-video/ffmpeg/files/ffmpeg-6.0-DECLARE_ALIGNED.patch
deleted file mode 100644
index 88af1e58458c..000000000000
--- a/media-video/ffmpeg/files/ffmpeg-6.0-DECLARE_ALIGNED.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From: Zhao Zhili <zhilizhao@tencent.com>
-Date: Tue, 28 Feb 2023 18:23:00 +0000 (+0800)
-Subject: avcodec/aacps_tablegen: fix build error after avutil bump
-X-Git-Url: http://git.videolan.org/?p=ffmpeg.git;a=commitdiff_plain;h=46970dd1555b3e50eee48ec95c893ee9a52f7fab
-
-avcodec/aacps_tablegen: fix build error after avutil bump
-
-Fix tickets #10225
-
-DECLARE_ALIGNED has been moved to mem_internal.h.
-
-Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
-Reviewed-by: Anton Khirnov <anton@khirnov.net>
-(cherry picked from commit 814178f92647be2411516bbb82f48532373d2554)
----
-
-diff --git a/libavcodec/aacps_tablegen.h b/libavcodec/aacps_tablegen.h
-index 0ac4f68d68..5fdd7f0a9d 100644
---- a/libavcodec/aacps_tablegen.h
-+++ b/libavcodec/aacps_tablegen.h
-@@ -34,7 +34,7 @@
- #include "libavutil/common.h"
- #include "libavutil/libm.h"
- #include "libavutil/mathematics.h"
--#include "libavutil/mem.h"
-+#include "libavutil/mem_internal.h"
- #define NR_ALLPASS_BANDS20 30
- #define NR_ALLPASS_BANDS34 50
- #define PS_AP_LINKS 3
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/ffmpeg/files/ffmpeg-6.1.1-amd-av1-vaapi.patch b/media-video/ffmpeg/files/ffmpeg-6.1.1-amd-av1-vaapi.patch
new file mode 100644
index 000000000000..41dc17353510
--- /dev/null
+++ b/media-video/ffmpeg/files/ffmpeg-6.1.1-amd-av1-vaapi.patch
@@ -0,0 +1,254 @@
+https://bugs.gentoo.org/936310
+https://gitlab.freedesktop.org/mesa/mesa/-/issues/11533
+https://github.com/FFmpeg/FFmpeg/commit/fe9d889dcd79ea18d4dfaa39df4ddbd4c8c3b15c
+https://github.com/FFmpeg/FFmpeg/commit/d2d911eb9a2fc6eb8d86b3ae025a56c1a2692fba
+
+From fe9d889dcd79ea18d4dfaa39df4ddbd4c8c3b15c Mon Sep 17 00:00:00 2001
+From: David Rosca <nowrep@gmail.com>
+Date: Wed, 8 May 2024 09:11:11 +0200
+Subject: [PATCH] lavc/vaapi_decode: Make it possible to send multiple slice
+ params buffers
+
+Reviewed-by: Neal Gompa <ngompa13@gmail.com>
+Signed-off-by: David Rosca <nowrep@gmail.com>
+Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
+--- a/libavcodec/vaapi_av1.c
++++ b/libavcodec/vaapi_av1.c
+@@ -409,7 +409,7 @@ static int vaapi_av1_decode_slice(AVCodecContext *avctx,
+ .tg_end = s->tg_end,
+ };
+
+- err = ff_vaapi_decode_make_slice_buffer(avctx, pic, &slice_param,
++ err = ff_vaapi_decode_make_slice_buffer(avctx, pic, &slice_param, 1,
+ sizeof(VASliceParameterBufferAV1),
+ buffer,
+ size);
+--- a/libavcodec/vaapi_decode.c
++++ b/libavcodec/vaapi_decode.c
+@@ -63,6 +63,7 @@ int ff_vaapi_decode_make_param_buffer(AVCodecContext *avctx,
+ int ff_vaapi_decode_make_slice_buffer(AVCodecContext *avctx,
+ VAAPIDecodePicture *pic,
+ const void *params_data,
++ int nb_params,
+ size_t params_size,
+ const void *slice_data,
+ size_t slice_size)
+@@ -88,7 +89,7 @@ int ff_vaapi_decode_make_slice_buffer(AVCodecContext *avctx,
+
+ vas = vaCreateBuffer(ctx->hwctx->display, ctx->va_context,
+ VASliceParameterBufferType,
+- params_size, 1, (void*)params_data,
++ params_size, nb_params, (void*)params_data,
+ &pic->slice_buffers[index]);
+ if (vas != VA_STATUS_SUCCESS) {
+ av_log(avctx, AV_LOG_ERROR, "Failed to create slice "
+--- a/libavcodec/vaapi_decode.h
++++ b/libavcodec/vaapi_decode.h
+@@ -73,6 +73,7 @@ int ff_vaapi_decode_make_param_buffer(AVCodecContext *avctx,
+ int ff_vaapi_decode_make_slice_buffer(AVCodecContext *avctx,
+ VAAPIDecodePicture *pic,
+ const void *params_data,
++ int nb_params,
+ size_t params_size,
+ const void *slice_data,
+ size_t slice_size);
+--- a/libavcodec/vaapi_h264.c
++++ b/libavcodec/vaapi_h264.c
+@@ -375,7 +375,7 @@ static int vaapi_h264_decode_slice(AVCodecContext *avctx,
+ slice_param.chroma_offset_l1);
+
+ err = ff_vaapi_decode_make_slice_buffer(avctx, pic,
+- &slice_param, sizeof(slice_param),
++ &slice_param, 1, sizeof(slice_param),
+ buffer, size);
+ if (err) {
+ ff_vaapi_decode_cancel(avctx, pic);
+--- a/libavcodec/vaapi_hevc.c
++++ b/libavcodec/vaapi_hevc.c
+@@ -353,7 +353,7 @@ static int vaapi_hevc_end_frame(AVCodecContext *avctx)
+ if (pic->last_size) {
+ last_slice_param->LongSliceFlags.fields.LastSliceOfPic = 1;
+ ret = ff_vaapi_decode_make_slice_buffer(avctx, &pic->pic,
+- &pic->last_slice_param, slice_param_size,
++ &pic->last_slice_param, 1, slice_param_size,
+ pic->last_buffer, pic->last_size);
+ if (ret < 0)
+ goto fail;
+@@ -471,7 +471,7 @@ static int vaapi_hevc_decode_slice(AVCodecContext *avctx,
+
+ if (!sh->first_slice_in_pic_flag) {
+ err = ff_vaapi_decode_make_slice_buffer(avctx, &pic->pic,
+- &pic->last_slice_param, slice_param_size,
++ &pic->last_slice_param, 1, slice_param_size,
+ pic->last_buffer, pic->last_size);
+ pic->last_buffer = NULL;
+ pic->last_size = 0;
+--- a/libavcodec/vaapi_mjpeg.c
++++ b/libavcodec/vaapi_mjpeg.c
+@@ -131,7 +131,7 @@ static int vaapi_mjpeg_decode_slice(AVCodecContext *avctx,
+ sp.components[i].ac_table_selector = s->ac_index[i];
+ }
+
+- err = ff_vaapi_decode_make_slice_buffer(avctx, pic, &sp, sizeof(sp), buffer, size);
++ err = ff_vaapi_decode_make_slice_buffer(avctx, pic, &sp, 1, sizeof(sp), buffer, size);
+ if (err)
+ goto fail;
+
+--- a/libavcodec/vaapi_mpeg2.c
++++ b/libavcodec/vaapi_mpeg2.c
+@@ -162,7 +162,7 @@ static int vaapi_mpeg2_decode_slice(AVCodecContext *avctx, const uint8_t *buffer
+ };
+
+ err = ff_vaapi_decode_make_slice_buffer(avctx, pic,
+- &slice_param, sizeof(slice_param),
++ &slice_param, 1, sizeof(slice_param),
+ buffer, size);
+ if (err < 0) {
+ ff_vaapi_decode_cancel(avctx, pic);
+--- a/libavcodec/vaapi_mpeg4.c
++++ b/libavcodec/vaapi_mpeg4.c
+@@ -169,7 +169,7 @@ static int vaapi_mpeg4_decode_slice(AVCodecContext *avctx, const uint8_t *buffer
+ };
+
+ err = ff_vaapi_decode_make_slice_buffer(avctx, pic,
+- &slice_param, sizeof(slice_param),
++ &slice_param, 1, sizeof(slice_param),
+ buffer, size);
+ if (err < 0) {
+ ff_vaapi_decode_cancel(avctx, pic);
+--- a/libavcodec/vaapi_vc1.c
++++ b/libavcodec/vaapi_vc1.c
+@@ -490,7 +490,7 @@ static int vaapi_vc1_decode_slice(AVCodecContext *avctx, const uint8_t *buffer,
+ };
+
+ err = ff_vaapi_decode_make_slice_buffer(avctx, pic,
+- &slice_param, sizeof(slice_param),
++ &slice_param, 1, sizeof(slice_param),
+ buffer, size);
+ if (err < 0) {
+ ff_vaapi_decode_cancel(avctx, pic);
+--- a/libavcodec/vaapi_vp8.c
++++ b/libavcodec/vaapi_vp8.c
+@@ -209,7 +209,7 @@ static int vaapi_vp8_decode_slice(AVCodecContext *avctx,
+ for (i = 0; i < 8; i++)
+ sp.partition_size[i+1] = s->coeff_partition_size[i];
+
+- err = ff_vaapi_decode_make_slice_buffer(avctx, pic, &sp, sizeof(sp), data, data_size);
++ err = ff_vaapi_decode_make_slice_buffer(avctx, pic, &sp, 1, sizeof(sp), data, data_size);
+ if (err)
+ goto fail;
+
+--- a/libavcodec/vaapi_vp9.c
++++ b/libavcodec/vaapi_vp9.c
+@@ -158,7 +158,7 @@ static int vaapi_vp9_decode_slice(AVCodecContext *avctx,
+ }
+
+ err = ff_vaapi_decode_make_slice_buffer(avctx, pic,
+- &slice_param, sizeof(slice_param),
++ &slice_param, 1, sizeof(slice_param),
+ buffer, size);
+ if (err) {
+ ff_vaapi_decode_cancel(avctx, pic);
+
+From d2d911eb9a2fc6eb8d86b3ae025a56c1a2692fba Mon Sep 17 00:00:00 2001
+From: David Rosca <nowrep@gmail.com>
+Date: Wed, 8 May 2024 09:11:13 +0200
+Subject: [PATCH] lavc/vaapi_av1: Avoid sending the same slice buffer multiple
+ times
+
+When there are multiple tiles in one slice buffer, use multiple slice
+params to avoid sending the same slice buffer multiple times and thus
+increasing the bitstream size the driver will need to upload to hw.
+
+Reviewed-by: Neal Gompa <ngompa13@gmail.com>
+Signed-off-by: David Rosca <nowrep@gmail.com>
+Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
+--- a/libavcodec/vaapi_av1.c
++++ b/libavcodec/vaapi_av1.c
+@@ -19,6 +19,7 @@
+ */
+
+ #include "libavutil/frame.h"
++#include "libavutil/mem.h"
+ #include "hwaccel_internal.h"
+ #include "vaapi_decode.h"
+ #include "internal.h"
+@@ -42,6 +43,9 @@ typedef struct VAAPIAV1DecContext {
+ */
+ VAAPIAV1FrameRef ref_tab[AV1_NUM_REF_FRAMES];
+ AVFrame *tmp_frame;
++
++ int nb_slice_params;
++ VASliceParameterBufferAV1 *slice_params;
+ } VAAPIAV1DecContext;
+
+ static VASurfaceID vaapi_av1_surface_id(AV1Frame *vf)
+@@ -97,6 +101,8 @@ static int vaapi_av1_decode_uninit(AVCodecContext *avctx)
+ for (int i = 0; i < FF_ARRAY_ELEMS(ctx->ref_tab); i++)
+ av_frame_free(&ctx->ref_tab[i].frame);
+
++ av_freep(&ctx->slice_params);
++
+ return ff_vaapi_decode_uninit(avctx);
+ }
+
+@@ -393,13 +399,24 @@ static int vaapi_av1_decode_slice(AVCodecContext *avctx,
+ {
+ const AV1DecContext *s = avctx->priv_data;
+ VAAPIDecodePicture *pic = s->cur_frame.hwaccel_picture_private;
+- VASliceParameterBufferAV1 slice_param;
+- int err = 0;
++ VAAPIAV1DecContext *ctx = avctx->internal->hwaccel_priv_data;
++ int err, nb_params;
++
++ nb_params = s->tg_end - s->tg_start + 1;
++ if (ctx->nb_slice_params < nb_params) {
++ ctx->slice_params = av_realloc_array(ctx->slice_params,
++ nb_params,
++ sizeof(*ctx->slice_params));
++ if (!ctx->slice_params) {
++ ctx->nb_slice_params = 0;
++ err = AVERROR(ENOMEM);
++ goto fail;
++ }
++ ctx->nb_slice_params = nb_params;
++ }
+
+ for (int i = s->tg_start; i <= s->tg_end; i++) {
+- memset(&slice_param, 0, sizeof(VASliceParameterBufferAV1));
+-
+- slice_param = (VASliceParameterBufferAV1) {
++ ctx->slice_params[i - s->tg_start] = (VASliceParameterBufferAV1) {
+ .slice_data_size = s->tile_group_info[i].tile_size,
+ .slice_data_offset = s->tile_group_info[i].tile_offset,
+ .slice_data_flag = VA_SLICE_DATA_FLAG_ALL,
+@@ -408,18 +425,20 @@ static int vaapi_av1_decode_slice(AVCodecContext *avctx,
+ .tg_start = s->tg_start,
+ .tg_end = s->tg_end,
+ };
+-
+- err = ff_vaapi_decode_make_slice_buffer(avctx, pic, &slice_param, 1,
+- sizeof(VASliceParameterBufferAV1),
+- buffer,
+- size);
+- if (err) {
+- ff_vaapi_decode_cancel(avctx, pic);
+- return err;
+- }
+ }
+
++ err = ff_vaapi_decode_make_slice_buffer(avctx, pic, ctx->slice_params, nb_params,
++ sizeof(VASliceParameterBufferAV1),
++ buffer,
++ size);
++ if (err)
++ goto fail;
++
+ return 0;
++
++fail:
++ ff_vaapi_decode_cancel(avctx, pic);
++ return err;
+ }
+
+ const FFHWAccel ff_av1_vaapi_hwaccel = {
diff --git a/media-video/ffmpeg/files/ffmpeg-6.1.1-wint-inconversion-libgcrypt.patch b/media-video/ffmpeg/files/ffmpeg-6.1.1-wint-inconversion-libgcrypt.patch
new file mode 100644
index 000000000000..d27240ffc557
--- /dev/null
+++ b/media-video/ffmpeg/files/ffmpeg-6.1.1-wint-inconversion-libgcrypt.patch
@@ -0,0 +1,68 @@
+https://bugs.gentoo.org/935377
+https://git.ffmpeg.org/gitweb/ffmpeg.git/commit/42982b5a5d461530a792e69b3e8abdd9d6d67052
+
+From 42982b5a5d461530a792e69b3e8abdd9d6d67052 Mon Sep 17 00:00:00 2001
+From: Frank Plowman <post@frankplowman.com>
+Date: Fri, 22 Dec 2023 12:00:01 +0000
+Subject: [PATCH 1/1] avformat/ffrtmpcrypt: Fix int-conversion warning
+MIME-Version: 1.0
+Content-Type: text/plain; charset=utf8
+Content-Transfer-Encoding: 8bit
+
+The gcrypt definition of `bn_new` used to use the return statement
+on errors, with an AVERROR return value, regardless of the signature
+of the function where the macro is used - it is called in
+`dh_generate_key` and `ff_dh_init` which return pointers. As a result,
+compiling with gcrypt and the ffrtmpcrypt protocol resulted in an
+int-conversion warning. GCC 14 may upgrade these to errors [1].
+
+This patch fixes the problem by changing the macro to remove `AVERROR`
+and instead set `bn` to null if the allocation fails. This is the
+behaviour of all the other `bn_new` implementations and so the result is
+already checked at all the callsites. AFAICT, this should be the only
+change needed to get ffmpeg off Fedora's naughty list of projects with
+warnings which may be upgraded to errors in GCC 14 [2].
+
+[1]: https://gcc.gnu.org/pipermail/gcc/2023-May/241264.html
+[2]: https://www.mail-archive.com/devel@lists.fedoraproject.org/msg196024.html
+
+Signed-off-by: Frank Plowman <post@frankplowman.com>
+Signed-off-by: Martin Storsjö <martin@martin.st>
+---
+ libavformat/rtmpdh.c | 21 ++++++++++++---------
+ 1 file changed, 12 insertions(+), 9 deletions(-)
+
+diff --git a/libavformat/rtmpdh.c b/libavformat/rtmpdh.c
+index 5ddae537a1..6a6c2ccd87 100644
+--- a/libavformat/rtmpdh.c
++++ b/libavformat/rtmpdh.c
+@@ -113,15 +113,18 @@ static int bn_modexp(FFBigNum bn, FFBigNum y, FFBigNum q, FFBigNum p)
+ return 0;
+ }
+ #elif CONFIG_GCRYPT
+-#define bn_new(bn) \
+- do { \
+- if (!gcry_control(GCRYCTL_INITIALIZATION_FINISHED_P)) { \
+- if (!gcry_check_version("1.5.4")) \
+- return AVERROR(EINVAL); \
+- gcry_control(GCRYCTL_DISABLE_SECMEM, 0); \
+- gcry_control(GCRYCTL_INITIALIZATION_FINISHED, 0); \
+- } \
+- bn = gcry_mpi_new(1); \
++#define bn_new(bn) \
++ do { \
++ if (!gcry_control(GCRYCTL_INITIALIZATION_FINISHED_P)) { \
++ if (gcry_check_version("1.5.4")) { \
++ gcry_control(GCRYCTL_DISABLE_SECMEM, 0); \
++ gcry_control(GCRYCTL_INITIALIZATION_FINISHED, 0); \
++ } \
++ } \
++ if (gcry_control(GCRYCTL_INITIALIZATION_FINISHED_P)) \
++ bn = gcry_mpi_new(1); \
++ else \
++ bn = NULL; \
+ } while (0)
+ #define bn_free(bn) gcry_mpi_release(bn)
+ #define bn_set_word(bn, w) gcry_mpi_set_ui(bn, w)
+--
+2.25.1
diff --git a/media-video/ffmpeg/metadata.xml b/media-video/ffmpeg/metadata.xml
index 31380f3cda3d..09dba7627ec5 100644
--- a/media-video/ffmpeg/metadata.xml
+++ b/media-video/ffmpeg/metadata.xml
@@ -47,7 +47,10 @@
<flag name="libaom">Enables <pkg>media-libs/libaom</pkg> based AV1 codec support.</flag>
<flag name="libaribb24">Enables ARIB text and caption decoding via <pkg>media-libs/aribb24</pkg>.</flag>
<flag name="libdrm">Enables <pkg>x11-libs/libdrm</pkg> support for better screen grabbing and hardware accelerated codecs.</flag>
+ <flag name="libdvdnav">Uses <pkg>media-libs/libdvdnav</pkg> to enable DVD demuxing</flag>
+ <flag name="libdvdread">Uses <pkg>media-libs/libdvdread</pkg> to enable DVD demuxing</flag>
<flag name="libilbc">Enables iLBC de/encoding via <pkg>media-libs/libilbc</pkg>.</flag>
+ <flag name="liblc3">Enables LC3 de/encoding via <pkg>media-sound/liblc3</pkg>.</flag>
<flag name="libplacebo">Adds flexible GPU-accelerated processing filter based on <pkg>media-libs/libplacebo</pkg>.</flag>
<flag name="librtmp">Enables Real Time Messaging Protocol using librtmp (<pkg>media-video/rtmpdump</pkg>) in addition to FFmpeg's native implementation.</flag>
<flag name="libsoxr">Enables audio resampling through <pkg>media-libs/soxr</pkg>.</flag>
@@ -65,6 +68,8 @@
<flag name="openssl">Enables <pkg>dev-libs/openssl</pkg> support. Adds support for encrypted network protocols (TLS/HTTPS).</flag>
<flag name="pic">Force shared libraries to be built as PIC (this is slower)</flag>
<flag name="postproc">Build and install libpostproc.</flag>
+ <flag name="qrcode">Enables QR encode generation via <pkg>media-gfx/qrencode</pkg></flag>
+ <flag name="quirc">Enables QR decoding via <pkg>media-libs/quirc</pkg></flag>
<flag name="rav1e">Enables AV1 encoding support via <pkg>media-video/rav1e</pkg>.</flag>
<flag name="rubberband">Adds time-stretching and pitch-shifting audio filter based on <pkg>media-libs/rubberband</pkg>.</flag>
<flag name="shaderc">Use <pkg>media-libs/shaderc</pkg> to compile GLSL</flag>
diff --git a/media-video/ffmpegthumbnailer/Manifest b/media-video/ffmpegthumbnailer/Manifest
index 907617d42a65..c332551c2903 100644
--- a/media-video/ffmpegthumbnailer/Manifest
+++ b/media-video/ffmpegthumbnailer/Manifest
@@ -9,5 +9,5 @@ AUX ffmpeg5-7.patch 1230 BLAKE2B 77b8f2825080d93278187e7abaaa27f558c1bbe52b6abb0
AUX ffmpeg5-8.patch 1953 BLAKE2B 18f207ae5f42be46d00d003add9c2432a086e0e65a799a88ba1bce99db7f9a21a8e74dbe698489161f67e55272cc7af604dbb82fe8479f98fcf07e07ae961a71 SHA512 fcfeb19a00859b0f69a4682300497bdc2e8d93ac66020430816271777216f74d1e79cb6807e4afdc10ab0af50ad4b404cffcfa78ea4e4dd304e2a91e537a0737
AUX ffmpeg5-9.patch 1855 BLAKE2B 7f85c786641825d9f722b63682e1fe63c4e7178890a0b05a02dd7af93ae057f7b259b0a1311df5553c4fbdfee60268036e4004253b395f87f87e27a6918c1264 SHA512 560d0018df15299d527a3a7f218f3899d03f264c434ec5d7d9f411c22f2467d9583d7a94e5c69da03c55abe9774119e1ee1685aa48dda525ab8aae0488c4ef2a
DIST ffmpegthumbnailer-2.2.2.tar.bz2 1201838 BLAKE2B 449a876eaf56feb41c06dc5f3d123b138d66dfe8b6e1bc2e53f1742ef6fbd4ec5d14d77402e13cf8c369ee0cf0707ae5b100ac1d9fb02435b3c3a776cc9dc5f4 SHA512 52760dcf59430e5e85024c9f19dc1fac1d5f0edb4f937b33feac2b3ca8f12bbf549b5f658fc16fc07bf773717b9e10048aa3eb24bf52811c5c88c995ef492612
-EBUILD ffmpegthumbnailer-2.2.2-r1.ebuild 1367 BLAKE2B 606b57fc42dc917adfe8e0f71c32e0c543da7bff54e2dabf430b58df23b12e2227293caa69788f4b636667efa3c56ad5354a81707b2dbf3b4876f62749732d53 SHA512 b8ee92f1708bdd149be9e633c29b7a5c5ef07657923167a3fe916defceec3c0566f82361e33f5e8c8b10a226d37c44d2c656be28bcab910753907643cf116982
+EBUILD ffmpegthumbnailer-2.2.2-r1.ebuild 1361 BLAKE2B 1106d1c6661310e2e0e318e1cd4f679f8268c0b381ab9c2a1281922b0c15f689bb02278c41ceba4a9e6c981d91713174eea2a0372e2706557ae85c29e94ce3f0 SHA512 cd364aced2eb6ec7cf294270c1c7b6aaceefb9344a8fbe886311101f05280ed3c390bb216f81c3dfac433748fe399b0c7cea309972d3066c6ecbcaf781023610
MISC metadata.xml 376 BLAKE2B df0d1b58a98ba2ae162e809f763889e3f84a51363ebb65d7a530217f723198fada6c7e0445ac50057c8ac5a082ecfaada6f6b3479faf8294bf9ee5cef9db53c5 SHA512 b902ffa5d659e09df7635fa70ffde6cd31848bd5c20033b9933217c6331aa9e9a34cfdf90c3f10c5cded9bc9ba6e6601f21d752ad1eca287c4754c01e31bc43e
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/gaupol/Manifest b/media-video/gaupol/Manifest
index 39647d407973..b34c10c523d3 100644
--- a/media-video/gaupol/Manifest
+++ b/media-video/gaupol/Manifest
@@ -1,6 +1,6 @@
AUX gaupol-1.12-fix-prefix.patch 1266 BLAKE2B 0d2c5ae5cb76099f9e91e78e3a7d3c1b1bec73c223a4c5dfcb407a6efd60f42b4d9174faba318005400f2df346929baee5224ebc2d0b6b8f23a868a6f5451b0c SHA512 1d56b2793821a19d3dddb95c7c3a52e2f1e6af54886f77862cde1b3e7585b60990b1a8a61b4056b4676bce4ce722dc77ce0bd1116668118c8f4168884260da6e
DIST gaupol-1.13.tar.gz 592830 BLAKE2B dcde1dd6c5e3e9624f0e7692c4d6cc14452733d1e35bc25de5deaa842cdb069250dee0b2d9eb75d1bb9f3c618c43457718ce91f5a6992ec7797fbb37366fc524 SHA512 ebe2accd962344c07201e46ceff3801483a4c68f9772d1fc868a93d8044b65987f7233eab675a9f3148bce686261a6b5c40d66d3f9471f9515713fbfb46a3f92
-DIST gaupol-1.14.1.tar.gz 593435 BLAKE2B f7ee1f2e70707f54204400d99107a1ee62b721e7ee0be76ce980a261b1b95349aefcc5907dc5cf956fd703a4372065576371cdf0466a32ee206d797b1500d53d SHA512 efaa9910496dcd683be40ff33bf68de313b852d6212f3f43c67e6433eb3b95b64c89707d1a69a54c9f772c44cf04f95ca76d705d396b376ac1c86c4bbe48e4e0
+DIST gaupol-1.15.tar.gz 593412 BLAKE2B af21c3fac16a9e6a861ba93679f59134b68ab780812115048646b74a6524e230bb02a62454e8a42bdc436dfd08441f3e103a04b112c9d721e12d291e5e8cfbc7 SHA512 899dac0a8827e7b1b61ac9745f5fb39376eed1e4ccf928c3442350f6d8bb27f743923e1d321f1215f422b6e1d1d4e13cfe56adc2b4c358f22f6647a642726889
EBUILD gaupol-1.13.ebuild 1704 BLAKE2B c093232a478ae38556b91f01f0f47d7fc194e656436ac300c2b9942c51ff03d70f3a69f01342b1d2785c30a3849052f46694642c6bddb9ff71282228a3eb9e8c SHA512 52f9cffea16ccdda7098cf1a2fa9562635b5bc7b0f95f80d500a9c47d37838df208adbbf8d01f694bd3491c1ae9692eabf21a96071b9d95f38f3c83092bdfc32
-EBUILD gaupol-1.14.1.ebuild 1707 BLAKE2B 3f264cf5876f186ea05b500df2df8c38ee51fb8d8cef0245b28036e21e820216d7d8862fc4436a9ab90ec5c9e086a1a161c53880d6702b8b9a84f2303750554b SHA512 da2bfee4e91e69e1b5a06f17fccca31a5a2093472c2e7666895a01c072cb45b5a6d6ec522b8ef65194d536eda589b2585a117427369742f848704539072f3593
+EBUILD gaupol-1.15-r1.ebuild 2244 BLAKE2B c8bbfcf32ec2d456959ed8bc201c2c9a017e0fdaa8a2459d0721f7bf3f384b4826bafb65ac6829450cc768a8f8214cc10669247ecf3210bba621844165ca3292 SHA512 065f508babbd6cf2a85c9fd52cdc9f76666e4aae0142ac7a6f566b205a886b042ae2334dd3b5860ba4ce14dff196e49096652f522935b044ded56da5010ea7ce
MISC metadata.xml 533 BLAKE2B eb6d56dbe104832c594f306fc020b591b04e4f21d7533740ab613ecf105cdfdc4bc9232fe18bbfc4276cc08063a7a570a1c98025e9c74561b4abda0119e3801e SHA512 49859f8f6b75f20c6cf94f60764c1e688ddf907a7657815574b666fcc7873de0a3105cda9acd9f4bbdb7f658bd0003c67ec1ced72e3d84e15b5d86b64ca91abe
diff --git a/media-video/gaupol/gaupol-1.14.1.ebuild b/media-video/gaupol/gaupol-1.14.1.ebuild
deleted file mode 100644
index 0caa08c6a2f9..000000000000
--- a/media-video/gaupol/gaupol-1.14.1.ebuild
+++ /dev/null
@@ -1,69 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 virtualx xdg-utils
-
-DESCRIPTION="A subtitle editor for text-based subtitles"
-HOMEPAGE="https://otsaloma.io/gaupol/ https://github.com/otsaloma/gaupol/"
-SRC_URI="https://github.com/otsaloma/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-IUSE="spell"
-
-RDEPEND="
- app-text/iso-codes
- dev-python/chardet[${PYTHON_USEDEP}]
- dev-python/pygobject:3[${PYTHON_USEDEP}]
- x11-libs/gtk+:3[introspection]
- spell? ( app-text/gspell[introspection] )
-"
-BDEPEND="
- sys-devel/gettext
- test? (
- app-dicts/myspell-en
- app-text/enchant[hunspell]
- app-text/gspell[introspection]
- )
-"
-
-distutils_enable_tests pytest
-
-DOCS=( AUTHORS.md NEWS.md README.md README.aeidon.md )
-
-PATCHES=(
- "${FILESDIR}/${PN}-1.12-fix-prefix.patch"
-)
-
-python_test() {
- virtx epytest
-}
-
-pkg_postinst() {
- xdg_desktop_database_update
- xdg_icon_cache_update
- if [[ -z ${REPLACING_VERSIONS} ]]; then
- elog "The integrated video player requires media-plugins/gst-plugins-gtk."
- elog ""
- elog "External video previewing support requires MPV, MPlayer or VLC."
- if use spell; then
- elog ""
- elog "Spell-checking requires a dictionary, any of app-dicts/myspell-*"
- elog "or app-text/aspell with the appropriate L10N variable."
- elog ""
- elog "Additionally, make sure that app-text/enchant has the correct flags enabled:"
- elog "USE=hunspell for myspell dictionaries and USE=aspell for aspell dictionaries."
- fi
- fi
-}
-
-pkg_postrm() {
- xdg_desktop_database_update
- xdg_icon_cache_update
-}
diff --git a/media-video/gaupol/gaupol-1.15-r1.ebuild b/media-video/gaupol/gaupol-1.15-r1.ebuild
new file mode 100644
index 000000000000..5f273d5825c3
--- /dev/null
+++ b/media-video/gaupol/gaupol-1.15-r1.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 optfeature virtualx xdg-utils
+
+DESCRIPTION="A subtitle editor for text-based subtitles"
+HOMEPAGE="https://otsaloma.io/gaupol/"
+SRC_URI="https://github.com/otsaloma/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64 arm64 x86"
+
+RDEPEND="
+ app-text/iso-codes
+ dev-python/charset-normalizer[${PYTHON_USEDEP}]
+ dev-python/pygobject:3[${PYTHON_USEDEP}]
+ x11-libs/gtk+:3[introspection]
+"
+BDEPEND="
+ sys-devel/gettext
+ test? (
+ app-dicts/myspell-en
+ || (
+ app-text/enchant[hunspell]
+ >=app-text/enchant-2.2.8[nuspell]
+ )
+ app-text/gspell[introspection]
+ )
+"
+
+distutils_enable_tests pytest
+
+DOCS=( AUTHORS.md NEWS.md README.md README.aeidon.md )
+
+PATCHES=(
+ "${FILESDIR}/${PN}-1.12-fix-prefix.patch"
+)
+
+python_test() {
+ virtx epytest
+}
+
+pkg_postinst() {
+ xdg_desktop_database_update
+ xdg_icon_cache_update
+
+ # To check which GStreamer plugins are required (vaapisink is mentioned in the code but it is not used):
+ # plugins=$(qlist -e gaupol | xargs grep -ho 'Gst.ElementFactory.*' | cut -d'"' -f2 | sort -u | grep -vFx vaapisink)
+ # xargs -n1 gst-inspect-1.0 <<< "$plugins" | awk '/Filename/ {print $2}' | sort -u | xargs qfile
+ optfeature "integrated video player support" \
+ "media-libs/gstreamer[introspection] media-libs/gst-plugins-base[pango] media-plugins/gst-plugins-gtk"
+ optfeature "external video previewing support" "media-video/mpv" "media-video/mplayer" "media-video/vlc"
+
+ optfeature "spellchecking support" "app-text/gspell[introspection]"
+ # To list dictionaries supported by gaupol:
+ # python3 -c 'import aeidon; print(*aeidon.SpellChecker.list_languages(), sep="\n")'
+ optfeature "spellchecking with app-dicts/myspell-* dictionaries using the nuspell backend" \
+ "app-text/enchant[nuspell]"
+ optfeature "spellchecking with app-dicts/myspell-* dictionaries using the hunspell backend" \
+ "app-text/enchant[hunspell]"
+ optfeature "spellchecking with app-dicts/aspell-* dictionaries" \
+ "app-text/enchant[aspell]"
+}
+
+pkg_postrm() {
+ xdg_desktop_database_update
+ xdg_icon_cache_update
+}
diff --git a/media-video/gnome-video-effects/Manifest b/media-video/gnome-video-effects/Manifest
index 252c6b73ba27..5bb0aafe8764 100644
--- a/media-video/gnome-video-effects/Manifest
+++ b/media-video/gnome-video-effects/Manifest
@@ -1,5 +1,5 @@
DIST gnome-video-effects-0.5.0.tar.xz 85424 BLAKE2B 6c3aad12bd3f7c00a0f800d62df0144a4ca1318dbcb771f038f83fd82e252ba79aba379f57dd259c41dac3ba197dd98f52b944b018e39a419bb48b77e3a1d475 SHA512 48d68984913e6732a097b4f235671ecb3442945ec843accfae4b4526ecd27641831a847ea193ac1e13a452700c4a76fa15fa84c2293cbaf7b1b2f4d1b85487ce
DIST gnome-video-effects-0.6.0.tar.xz 91564 BLAKE2B d08e2bc09dc85371290c059a9adc05b5ba602a38bc0884167f3afb4d731fbe78719270cd320203ed17fcc545d012b87b26d3f83cb6f48476e70f42d65a5861ca SHA512 e5a87fd134adc1dce1422d20c47cb87ccbad99841672563ef393ea3816a7fa0a3c865d9fc16047e8fa0eccc8388c019b5a2f91844dc3e448e353bf1ad7a39c21
-EBUILD gnome-video-effects-0.5.0-r1.ebuild 503 BLAKE2B 3e2d915a89ecd4bafbc007bc5f51cbcc47d90d704ede0b9f737207e054e7ba27e08c5a6e2b0548d44bd033cbb513f504640a6b13688895c85eea93a35215ea4e SHA512 4cf715015347c87abbeba65fbc7478216459c65e0b55768b0b808b5df65f8de47ee2cb3b5b110e2a2c217b9a8d78a94f146e0f03540382a284074b0538f5800e
+EBUILD gnome-video-effects-0.5.0-r1.ebuild 497 BLAKE2B 5956fd98e4b89720fbd22b05fbe80f173135027b92fc593fcd4f32c2c52fab39bf101ce44bc6d587534c8b7629783cf764573bcc701eaf63874aa3e029148e1c SHA512 5061fe7697aeba5d3b2dc6c75a1102ec014a1c48492b07a8a85863a9f0382e426d3f7f317b349330fc91af640d6860f391f2e08d82b327ac8d3efae2e6ef4a00
EBUILD gnome-video-effects-0.6.0.ebuild 593 BLAKE2B ea1106abc41f4c1fd2fc75fe75be78db7e854c636e4b48f7fbaa5e2415258e770f1a4df9a090f709bde2f46568b724b102cbb31214b9fb8013c4520c63a78aeb SHA512 072305130b74d3ae1394003117ef34dee105ef640db926ad915c8e0c2e38e554ce0b4415087ce51360866fa1bd0c9b77e4d60131541349ee327e3429e1b2d849
MISC metadata.xml 619 BLAKE2B 896632c544d3707df7e2f08f78f34dc8dae73bf7d69027b592fc6794456775a340eb1d3c0a0c58fe85fb8e0659f5b5259fb1020a5d1f5eeb817ca3a9cd4e2b5c SHA512 f8685c44835fdecdb6002b69e519a6fe207b6728603e7bd561396b81569f164257e3e348902f82bd5c5fa3e3914d6eadbaa7602229e2cedfd1313a56f1886682
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/Manifest b/media-video/handbrake/Manifest
index aad7db54832a..620d7bc156ba 100644
--- a/media-video/handbrake/Manifest
+++ b/media-video/handbrake/Manifest
@@ -1,15 +1,16 @@
-AUX handbrake-1.3.0-dont-search-for-python.patch 691 BLAKE2B 623654494bf61cedb531df3f9b3e64aa17a2a3d03cf9d71577ba1961961d3d058dfa383ef3bb5215eba8a2c84231531b35f1a331850070ae0bcc5b5fa1586c67 SHA512 044b0cb7d9302f74e1ef92e37162135b8ac76d96bf7d647c269ef19b5cf2a8771ce0cc76cbc8817b2480cc3e40af6bafd717888a3982b3e679d831519aad4e64
-AUX handbrake-1.3.3-x265-link.patch 277 BLAKE2B 6e5f7d5f59601ebf3c36116f595040d6e884637c8dc9a900774db9db07d1c0686a1b5c2db9276ca1c14612615e3974a7f9b05cb48c23f8f30ed0851238b92c32 SHA512 a74a2d20972a01b89dbfd7b81c070608d57e646de2ce63d9ae2d2e1486d31ca63e96d5ec803052b52e68bee157d5a1882914e0009ae480d1f8192031d79852eb
-AUX handbrake-1.5.1-ffmpeg-5.0.patch 1338 BLAKE2B b4cd48ac769858779b8870eef7b7a4f66d67cce42d2c3e5c4cbbe7012c9f3f5622eae5b708f88300108539e683218292f395e0d6e32702e5ea3f2039556f9204 SHA512 cec727b44485847f20abb25d2ec6a8d1f59165c984a118f60803bdd70fd42b1b8209b76fe097961a4197e939720443979d5ba92df0857d195d918cd38ba2b733
+AUX handbrake-1.3.0-dont-search-for-python.patch 622 BLAKE2B 4976c3cc58ac58c1236f9e2a0b7f5112417b0f88380be49ae449c7e38d94105f08c104cbcd47be4b7b83bdc7ee099644ebde70b0cdbacb5874eb5c49150d5b53 SHA512 6ba8b62c91741b27a9c270995b768e6fa0773feb15492f78b50cdf9ed5c7c0bd70401051b644e12a52bc41ce1a4fed2151552a703db061ec4302b12ba9b760d3
+AUX handbrake-1.3.3-x265-link.patch 205 BLAKE2B e65b844a3924f2a332112502b9fb627eb876165d24ee4610c10a9d32a6d6e4eb98046d524837e7c1ce603135d40c77fa461128c3900734ae06681cb4d5bebd47 SHA512 d094c5348356ee3fde1ca1a0181b5b9bb64e9d10f956e34aed5033c21abb81db262970efc9fc72ef75b931ddc240dcb275f18dcc118b73dc585c933f537678e7
+AUX handbrake-1.5.1-ffmpeg-5.0.patch 1061 BLAKE2B 768f067caaeacc2fe3a68e4250a2aab98f08cd31fae0ae7d52056ccc36f901f0ee296eb8cacaae638fa841f3d58518dca8874452d422af200bee67cae1637f4d SHA512 b9665ab9658115a753ad62387cb16e27e01b4b0ec3d388eb237ed52e929ed5f87e0d69cde14107e907f595e21b85738941e879c435614ad753866f6881092a56
+AUX handbrake-1.6.1-missing-include.patch 550 BLAKE2B 874c646bd6ce430dd2b273fc80406bee3ab4b405be41f984a6f8600b69a9344996de31e007db3d62c4a423d4e5c75758e47d7d089a5c7b07ea7e866a7b222fd4 SHA512 7b09ad791823f34ca8d64312bbcf0583a087522502625eba043fb9c81db5a135c7585bdd8d8241ecb2a3dd045cee4192b0bab83a9457d419b82204cb1b48432d
AUX handbrake-9999-dont-search-for-python.patch 626 BLAKE2B 25226e243d06fb1a4bf7d7a9a0b2d5f77b37e87fd413c17bad285f10c0cefd33bee9dc193cc3497cd0740a36d3c596579502d3c76eccb514fa09b5976a171e48 SHA512 fd7684b0e312772c4e9e206dad402f3672c600a570cc60da543dc7e984b2bb91c7a3843b1a86dfe11179b86e35396aafa1c7464d6d7d0e93472d740ab6bcc4d9
AUX handbrake-9999-remove-dvdnav-dup.patch 809 BLAKE2B 16cde838dcf59753e5438df0d2c2b81f45667058bd0687a7368c528f61bd2a2fedc4462894daad58c3acb5c51bdd53df3b30e28adba93a0fb2838416e4226217 SHA512 e2005155adf29e8253f4313d209b2ccc642fb1d7f63256d3bdf675ddd0e6b0e15bc6bffd98e19aa7dab3907e161e29c5268dc5656590ce9254b12a91ac3ff6b0
-AUX handbrake-9999-remove-faac-dependency.patch 4037 BLAKE2B fa3d059198f79334d2b4e8109fd5d39d9f02ded8e46c287009bb8486d9c968b5387813f894fb78ccdd584e4f72fbcc4ee42cd00fc834933f90601c7fb08d0737 SHA512 155b8f5585a66167ae39d568d4c12227ffb7cf327707b556ed28532e6f8adce1a81601ae35403e14d6850e3c9411b1b9142c90dc2af50be1083abe21fa3d68f7
-AUX handbrake-9999-system-tools.patch 1489 BLAKE2B 2a3286dc1cd37d85e1edb1312688a354f000d560a767dc4c4fc23b7874bec46692f21a5b7e2c2b6cc7b6efb221a00084355659ee9d9965a28a23c7012adfbd3d SHA512 eb07b8e675cf6a8b4eee1d0fcb682ae7d61c9ec8423202b6c8672fc94f6b011b1e01a5e9654b2e63d15b66c122e8c2c57b385e36a43d3c68fba69bf144beb508
+AUX handbrake-9999-remove-faac-dependency.patch 3869 BLAKE2B 41f5c9499430fbd4e38d22403d1d84dce5c1c0a0cc16c3e544028ee6612175c28913587cdca922d7438fe41761a28e4b1f80eb2073c6619bb2d954e848857451 SHA512 39ee580ff14a4286b9f74557866fb0ceef2521628eeb6f2d311dd46a8cfbc0c5933068deb2bc717cdf29d014a2eb3d54470f17f2214626ceba43a2d89f5be8b8
+AUX handbrake-9999-system-tools.patch 1404 BLAKE2B b18f3149ba5012bc97084c29a1dc4409de6dd7e76a83687fed961c54534c226077e170d227d3d8e1c1d973e8c843ac9c5f796c2dadece1a14e3eb831323c4ac6 SHA512 965eb699193ab22f64621e3776e7af68f0fc13abcf16c779e7dddb3c6aa121afbe8791c63f2a6969842bc11c28c7b0f91f8eb26f1959e2fdb8fb08da4ceb182e
DIST handbrake-1.4.2.tar.bz2 15991593 BLAKE2B 966b54d35dd5544800208edc9045eaf26f3253aa470686b9ea29cdf69393af140829b21072133684661fd881eee7f97b90f9c7edfa87f187058dd1b14d1a748b SHA512 ba8ffe01cd813e9991716eabb2844e1ed414e3a2c547154b89588389e96846af9f2dd47f66d735101fdacd5be1928e34e4bab31e6a189779e77001ffdb0b427e
DIST handbrake-1.5.1.tar.bz2 16137974 BLAKE2B 9ce1f1ae7b2fe514ba1fb6ed30a345d18144829272a6298f2af0831e5ea7533ef2f8b201fd98389269b0ea12bbba15d0b76f09afeff6ed1d9ed313f20cf8f3a1 SHA512 63c5933f77d417a89512abd278a1d844f2b7a36ec9f8ab664c1a1348fd228ee389fc8e349b2df6cbf5d617b912d4634457ebea86490ff5ed4930f39a90dc7568
DIST handbrake-1.6.1.tar.bz2 15934833 BLAKE2B 027457c874bd49ff8a625233a5d09d70bdf76c45e6f2664f3ca65efcd0e1705d5575a81c5ac8f2237b8add7025314f12f0a19d6cc7337e2b0edd28c30ee3334b SHA512 e5cc0fee5bf063c4cdb8f64a772dac6800a7214bfdc65042c121e0e81878599fe615b499ebf6466bb78740314374ad8b8fa364fb24ff86852183e7dbbf565617
EBUILD handbrake-1.4.2-r2.ebuild 4072 BLAKE2B e8d02d4ba17fdea73fe53b242c9860ab450ec1221069aa3dd36b1b7e37c398aef66dca8e6ad6b2c410459b01dd3495f3793e3d5e6654000dd9520676efe21020 SHA512 06d292b5e1a455f9fdbc07bfded936653e892ea7bf1e05e8455a8c76a8b3e66dfa320d6fcd6d85cfaa22a987b1f243421681f947ce5b39c8a2eda2e994875c0d
EBUILD handbrake-1.5.1-r1.ebuild 4246 BLAKE2B 6d29d5701826e2fb45a57b3a4aaab081571e8d0d1d2f506529bbd6ba04bcc94c8ed268989c61dda32a4617dcd87afe88f4eb6ee5ae383f5b88862b5418f64933 SHA512 d3caf8497dd139975729c29ac32b051e27e293ec585b0665b4974372418257d8d6d5763640601ce58ef8dbe84cd116b7bd451d59ff7166311183763e10be66da
-EBUILD handbrake-1.6.1.ebuild 4145 BLAKE2B 0acacbc190d5d57c98aee7737c8245c3dacc3adcc38184e43573a096c197f86278590311e8df4d75ef79158f15171dff6b84bbed2c19c3a8f27d4d13397e560a SHA512 cf9100e8650127c53d289128d02a244a2e2208425bf5bf55583ce20677d890ffc4224d5475ed19de52ebe0000299ba812feb646bf62f3a7473307a0d76f51e4b
-EBUILD handbrake-9999.ebuild 4146 BLAKE2B f9fd388558262b7710ccda4db4cb80038a3f2ae133e9bdaa68226291fcfb5be39739d0e34940eedebda02832893d233013a951b6a478e9decc6ff05d9acb1843 SHA512 be8d7c514ed2602b961f77b46c8e0e69e927182d98a188b9542006c143fd1f150792222cdc618cf6bdaafed2967dd967e125d3850f7f9cf2dbfb9c7787477d40
+EBUILD handbrake-1.6.1.ebuild 4197 BLAKE2B 9ea44d080f1c0808f3bced34af7dc7cb4cd7d98f25bc322fa289553df928aa20922514793d5f71dc15258209e26c932685861e007db58dc4dad53d4121d7119d SHA512 b3da04d14b2294828f24b6681a6d39ae358ac4ac0ba3744ebc1d366f23e93d81452dd750e804a568d41c2448a67a8bd2ce6e7ea95b75980b74869227b870aac1
+EBUILD handbrake-9999.ebuild 4148 BLAKE2B 2ca9fa15b9c576e9b4494b782afb049069411c2c9916f3113c9790f311fd0139c18b5a3fc53e25104d838caf452c32aa37877ef2ebe4462ce1b3b00efe78860c SHA512 2e40ce634fcc90da415e4369beae5da02a28f2b394626dc6036cb085bc4a5354c6548e32195225e9432a1a600738d9c18c4d4f293c95701ac7800f834aeb28d7
MISC metadata.xml 764 BLAKE2B b55002f9d3df7bb894d64f6cbebcf5eb54298f160500a1ba46f132613a903c8a8cdcdd1bc6d425272b850e4142800dbdcec2fcf1208cc84a07961a31fc054ddb SHA512 ba170b59a2b96eb804e34a36845909b781fab783989db97f7c4c15b98d0b5497978bc7ae0b247958532031537d53e1878582d858b1c92a345b82fafecf98f7e1
diff --git a/media-video/handbrake/files/handbrake-1.3.0-dont-search-for-python.patch b/media-video/handbrake/files/handbrake-1.3.0-dont-search-for-python.patch
index 551a64ee3817..851ca0a11072 100644
--- a/media-video/handbrake/files/handbrake-1.3.0-dont-search-for-python.patch
+++ b/media-video/handbrake/files/handbrake-1.3.0-dont-search-for-python.patch
@@ -1,5 +1,3 @@
-diff --git a/configure b/configure
-index 5c870e1d7..2f5834083 100755
--- a/configure
+++ b/configure
@@ -14,20 +14,8 @@ inpath()
diff --git a/media-video/handbrake/files/handbrake-1.3.3-x265-link.patch b/media-video/handbrake/files/handbrake-1.3.3-x265-link.patch
index 6a1464571ec3..779366db543b 100644
--- a/media-video/handbrake/files/handbrake-1.3.3-x265-link.patch
+++ b/media-video/handbrake/files/handbrake-1.3.3-x265-link.patch
@@ -1,5 +1,5 @@
---- a/test/module.defs 2020-06-13 15:05:35.000000000 +0100
-+++ a/test/module.defs 2020-07-03 11:15:53.951205608 +0100
+--- a/test/module.defs
++++ a/test/module.defs
@@ -30,6 +30,10 @@
endif
endif
diff --git a/media-video/handbrake/files/handbrake-1.5.1-ffmpeg-5.0.patch b/media-video/handbrake/files/handbrake-1.5.1-ffmpeg-5.0.patch
index 643605076294..2ec2f3170de1 100644
--- a/media-video/handbrake/files/handbrake-1.5.1-ffmpeg-5.0.patch
+++ b/media-video/handbrake/files/handbrake-1.5.1-ffmpeg-5.0.patch
@@ -9,13 +9,6 @@ avcodec.h stopped including bsf.h per FFmpeg commit
57b5ec6ba7df [1]. Fixes compilation error against
FFmpeg later than the mentioned commit.
[1] https://github.com/FFmpeg/FFmpeg/commit/57b5ec6ba7df442caebc401c4a7ef3ebc066b519
----
- libhb/decavcodec.c | 1 +
- libhb/muxavformat.c | 1 +
- 2 files changed, 2 insertions(+)
-
-diff --git a/libhb/decavcodec.c b/libhb/decavcodec.c
-index 372f86f82cf..e7a63289c0f 100644
--- a/libhb/decavcodec.c
+++ b/libhb/decavcodec.c
@@ -41,6 +41,7 @@
@@ -26,8 +19,6 @@ index 372f86f82cf..e7a63289c0f 100644
#include "libavfilter/avfilter.h"
#include "libavfilter/buffersrc.h"
#include "libavfilter/buffersink.h"
-diff --git a/libhb/muxavformat.c b/libhb/muxavformat.c
-index 232edd0942a..ad8e2a1d8fa 100644
--- a/libhb/muxavformat.c
+++ b/libhb/muxavformat.c
@@ -8,6 +8,7 @@
diff --git a/media-video/handbrake/files/handbrake-1.6.1-missing-include.patch b/media-video/handbrake/files/handbrake-1.6.1-missing-include.patch
new file mode 100644
index 000000000000..cfe16e718fc4
--- /dev/null
+++ b/media-video/handbrake/files/handbrake-1.6.1-missing-include.patch
@@ -0,0 +1,20 @@
+--- a/libhb/muxavformat.c
++++ b/libhb/muxavformat.c
+@@ -7,6 +7,7 @@
+ For full terms see the file COPYING file or visit http://www.gnu.org/licenses/gpl-2.0.html
+ */
+
++#include <time.h>
+ #include <ogg/ogg.h>
+ #include "libavcodec/bsf.h"
+ #include "libavformat/avformat.h"
+--- a/libhb/work.c
++++ b/libhb/work.c
+@@ -7,6 +7,7 @@
+ For full terms see the file COPYING file or visit http://www.gnu.org/licenses/gpl-2.0.html
+ */
+
++#include <time.h>
+ #include "handbrake/handbrake.h"
+ #include "libavformat/avformat.h"
+ #include "handbrake/decomb.h"
diff --git a/media-video/handbrake/files/handbrake-9999-remove-faac-dependency.patch b/media-video/handbrake/files/handbrake-9999-remove-faac-dependency.patch
index a75bb24bf5b3..12a0814fc056 100644
--- a/media-video/handbrake/files/handbrake-9999-remove-faac-dependency.patch
+++ b/media-video/handbrake/files/handbrake-9999-remove-faac-dependency.patch
@@ -1,5 +1,3 @@
-diff --git a/libhb/common.c b/libhb/common.c
-index f43efdbb5..c917151b7 100644
--- a/libhb/common.c
+++ b/libhb/common.c
@@ -375,7 +375,6 @@ hb_encoder_internal_t hb_audio_encoders[] =
@@ -10,8 +8,6 @@ index f43efdbb5..c917151b7 100644
{ { "AAC (ffmpeg)", "ffaac", NULL, HB_ACODEC_FFAAC, HB_MUX_MASK_MP4|HB_MUX_MASK_MKV, }, NULL, 1, 0, HB_GID_ACODEC_AAC, },
{ { "AC3 (ffmpeg)", "ffac3", NULL, HB_ACODEC_AC3, HB_MUX_MASK_MP4|HB_MUX_MASK_MKV, }, NULL, 1, 0, HB_GID_ACODEC_AC3, },
{ { "MP3 (lame)", "lame", NULL, HB_ACODEC_LAME, HB_MUX_MASK_MP4|HB_MUX_MASK_MKV, }, NULL, 1, 0, HB_GID_ACODEC_MP3, },
-diff --git a/scripts/manicure.rb b/scripts/manicure.rb
-index fb4afa9ec..424288298 100755
--- a/scripts/manicure.rb
+++ b/scripts/manicure.rb
@@ -349,7 +349,7 @@ class Display
diff --git a/media-video/handbrake/files/handbrake-9999-system-tools.patch b/media-video/handbrake/files/handbrake-9999-system-tools.patch
index 9d76e628ccbb..820b4af8b3e8 100644
--- a/media-video/handbrake/files/handbrake-9999-system-tools.patch
+++ b/media-video/handbrake/files/handbrake-9999-system-tools.patch
@@ -1,7 +1,5 @@
# https://bugs.gentoo.org/738110
-diff --git a/make/configure.py b/make/configure.py
-index 87118fcbe..df869856d 100644
--- a/make/configure.py
+++ b/make/configure.py
@@ -1626,14 +1626,14 @@ try:
diff --git a/media-video/handbrake/handbrake-1.6.1.ebuild b/media-video/handbrake/handbrake-1.6.1.ebuild
index 7be693401ffa..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
@@ -98,6 +98,8 @@ PATCHES=(
# Fix x265 linkage... again again #730034
"${FILESDIR}/${PN}-1.3.3-x265-link.patch"
+
+ "${FILESDIR}/${PN}-1.6.1-missing-include.patch"
)
src_prepare() {
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/Manifest b/media-video/hevc-hm/Manifest
index bad7fdc6a432..bf94eef0f125 100644
--- a/media-video/hevc-hm/Manifest
+++ b/media-video/hevc-hm/Manifest
@@ -1,3 +1,3 @@
DIST HM-HM-17.0.tar.gz 1692323 BLAKE2B fa620ce66acbc634d9768303fe8d60711759a9d6d1ff91b69680993ae45e4581c9df4f0a4fe36719de9713fd29ba020278cf7ef9a51ebee6b01dc578bfbd8f2f SHA512 e8492ee63326da497d0731ef3f70e9f11043618ab5a7244aed94b248dba3f64e301f0ec2d12447a0ef22cc630cfa425341f65b4cacef184b453ba5125b7f8738
-EBUILD hevc-hm-17.0.ebuild 1177 BLAKE2B 041fb77466b02f1b62f0b2d1ab0972f178ead290ce3c17a7a5ffb4de88f1fa3f738b01964c3bf602448f3c530291a5201a2d09acf21aa8877e17f3f9b25c94bd SHA512 fd402d061521d4b409842ecc1b99b1e52460804e482d8517818c04878d8258caae09b7a22380264aa6a84553a4723f75abf8117c90e44873b35b48c1b4a58ede
+EBUILD hevc-hm-17.0.ebuild 1171 BLAKE2B da5a0c65eb2dcc3433929fe15eaf6f1b3693ad75cfd0d01e6df5f5da167bdda6f9e7179b037f786725820d465155f350c1ff6e4b53e01c2b9b6ad91e10183c76 SHA512 7e12572e493c6151c4bea0e73d9938dcdc512badc20891a8e78beac84df8f0925109c854e828b0619fbe1e6f3988f9045276e8e001aad64147623202ec62fa18
MISC metadata.xml 260 BLAKE2B ee10cc021112a6e67381cc76d642cabfe9876b9e2da97243070551179a9f8eb2bcb67d8bf96822d40239c350808a8a129882914f1ce9b5f924c99d16ba1300a6 SHA512 0bc4c52638ab97c96d6e1ea6b8199201567dbdac880349e8ab501de49bbfba142e4f2f60baac9c0bc48df6f5d170d81d641277cc01762d720b720764bb162c1a
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 513d98c0484c..08b4dae9de2c 100644
--- a/media-video/imagination/Manifest
+++ b/media-video/imagination/Manifest
@@ -1,6 +1,5 @@
-AUX imagination-3.0-cflags.patch 834 BLAKE2B 7f3a995282a4e6fb0c505a6ad6fd1cb813a550c3a43ac131498ab38487a9c286b19518898f87cd11b51bf846a409ce15890c08b4cd466fe76f76f83e89d4bf38 SHA512 0afdeb7b3b4b25c08180eabe74631d3689a7eeff8a4f8ca930d6c093d75c29ae8e6c31fc82dcac65ba4dd5efaff21e64114ef8e7218e379845c8dd72aaa93369
-AUX imagination-3.0-enable-translations.patch 231 BLAKE2B 210deeb69fdc4d9236519f0eec6571789236c4ff2e8a9379312a11f0c8792e3d1ec4e078d805c91ebc21265e5fa90737ef2d3643904829425712da52cd77a5c8 SHA512 5c086aaf8fc28494250c08655b4f6a05f16efd853d42c47cef503e2e846bec2665a6ec339660aad63de47d094aa29cafddcb4ac0e46e24f2fd27660fd2dc417a
AUX imagination-3.0-fix-htmldir.patch 2198 BLAKE2B bca0f907f386ebde1ec46db6c5c5a7952557fa3ef9a16984f133c175c5ee70897bfa88204c00250f9c243dc5e157ef370478a1fe94e53fb03a9a4ffecdb31b24 SHA512 e7537354418f71ffa50666a197cc9dc46a3b4a8441ee75bd3b31b1e8b5636e7f304b8b9df6a1df4012ac31b9538a2c73a26b888e02850c2d6fbda8ae1531ffad
-DIST imagination-3.0.tar.gz 3327784 BLAKE2B 0322a68ab6c44e2b0d47bb89de6522249ca3507808ee3733f2f195923c4269591c2225271ef27b24c648cb6784a5c85bd6ca97142072e52641bdf7f80b9a9bc7 SHA512 0780ab572d8f4fc1e728befef79f974169438d723f67205e677c06cbe0dac06745868936e7d3eab5fc42728902f6b06eb5f9d7e836532c289df005ddab2104b8
-EBUILD imagination-3.0-r2.ebuild 772 BLAKE2B 26928518b1338bc8c9adce8df338b2b4364148a213508084d24b5a905a48b05c392bd6d91442222357acac150ee361b2f96c95b33c3ef2f5050af8bb535eb9a8 SHA512 cef9430730873fb529da197f0eb1106e70c1ff8f663f73af8cd71768f287885b9ade760d6bd45fe7d17d2ee830159a6e0905a4b6470713f95338d802807dd53b
+AUX imagination-3.6-cflags.patch 275 BLAKE2B f27f43ad89d9d4d444bfddfddbe59df393f71d137500371202dfa7624202e98269e46a314601a62e20104a146a1f6cc34b82049e83062bfb473aadbcd65c074c SHA512 e899ed08ea2188ff26ea80693fd9a1c2bd19777069b511141d2177e8080dd1c59bc36adaafd6f4f542078f0626c37cad32cf3c44ba9083f4ea5e1931f754c7bb
+DIST imagination-3.6.tar.gz 3553509 BLAKE2B 39b345b073b123e68ab6a025b03ca23a38191cb2d2f5163d8b7722a8891d254f9fc7b54461c7d741ba6d2e7b25cb2029d9eec55e5115a5b8504dd85985c740aa SHA512 673651cf59baded805ba3993c6f9dff83f20ae9174d5f5e07b99d9d590eb817e6733cbc130a3d32502a84fa29bd78c4f1dd093c01aaedfef5f9425a59125865d
+EBUILD imagination-3.6.ebuild 967 BLAKE2B 88d0a39675c1ad1bb6cee2df27b164e0f846d5f15b22d7c552c960b86fd4bfa155d0774cea20303fafa5068dac7ca674d22c2947f9d851e20793055a6aaab99f SHA512 c7d65d5b7ad89cbf8e068867cb820aa97af730db3a1a54a31e30c5e47fbf3390b1f9fe29f16c4540d371216dd7902111c7d166997f87fea1908c44470f3126a4
MISC metadata.xml 249 BLAKE2B fc87a15c81ffa3a74c326b64bc9a7cd57d053407734ca63b1c3211bb22520522549b16830ec787fcfd4f6494a3ae07faac117e1da6460804aee8d4b97d950820 SHA512 11d82d0f33dd66a691ce86adf94938b19ba1ddda75814cfbe4fa46bec59a5969aedbede7593fd54c28c8d032fbbe8f815e648fc26349cfb1f6edf43c51ab210f
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/files/imagination-3.6-cflags.patch b/media-video/imagination/files/imagination-3.6-cflags.patch
new file mode 100644
index 000000000000..e1f2b1a4de61
--- /dev/null
+++ b/media-video/imagination/files/imagination-3.6-cflags.patch
@@ -0,0 +1,13 @@
+diff --git a/configure.ac b/configure.ac
+index 0be7802..d19c8ec 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -50,7 +55,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/imagination-3.0-r2.ebuild b/media-video/imagination/imagination-3.0-r2.ebuild
deleted file mode 100644
index 5fbaeb15aa72..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="http://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/imagination/imagination-3.6.ebuild b/media-video/imagination/imagination-3.6.ebuild
new file mode 100644
index 000000000000..c09c160a3638
--- /dev/null
+++ b/media-video/imagination/imagination-3.6.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools desktop xdg-utils
+
+DESCRIPTION="Simple DVD slideshow maker"
+HOMEPAGE="https://imagination.sourceforge.net/"
+SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DEPEND="
+ dev-libs/glib:2
+ media-sound/sox:=
+ x11-libs/cairo:=
+ x11-libs/gdk-pixbuf
+ x11-libs/gtk+:3
+ x11-libs/pango"
+RDEPEND="${DEPEND}
+ media-video/ffmpeg"
+BDEPEND="dev-util/intltool"
+
+# restricting tests as they're no practical tests
+# to run ayway, see bug #935691
+RESTRICT="test"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-cflags.patch
+ "${FILESDIR}"/${PN}-3.0-fix-htmldir.patch
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_install() {
+ default
+ doicon icons/48x48/${PN}.png
+
+ # only plugins
+ find "${D}" -name '*.la' -delete || die
+}
+
+pkg_postinst() {
+ xdg_icon_cache_update
+}
+
+pkg_postrm() {
+ xdg_icon_cache_update
+}
diff --git a/media-video/jellyfin-media-player/Manifest b/media-video/jellyfin-media-player/Manifest
index 9a241aa0dea3..9b63f02ec7fe 100644
--- a/media-video/jellyfin-media-player/Manifest
+++ b/media-video/jellyfin-media-player/Manifest
@@ -1,7 +1,9 @@
+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
DIST jellyfin-media-player-1.9.1.tar.gz 519515 BLAKE2B 0240d4f964a48e476531e0e601a62f270defa98ef2d4c0e63e2a552a03e6abf2e069e38b80fa9515b5c3cb62d789c3fc630a1f726cc4aa3bcab7e39869ef4b2f SHA512 c6df563ff343b8b6b570bdbaca9cd0111ed2b3f347c40888a83d338893a0523eb1614fd5fb2f4463e97f9656f71af23d94b110fff473c71226180530822ed0dd
+EBUILD jellyfin-media-player-1.11.1.ebuild 1422 BLAKE2B 3b9715a683b74505d41c4602fdbe4251dca6c714ad48942cc89e0872bb8aa8269a77fa9df8548402211025869b8205cd652da80a876179822fa840ef1faa5463 SHA512 c916cf22629e2093c1ca835499b54a2437b6b4974029c5ae2d7c16529c79c67e4a2d0d8674f41b50beab655e056e8d51f2ae05a46ac8c13a884c2efebc97c05b
EBUILD jellyfin-media-player-1.7.1-r1.ebuild 1751 BLAKE2B 6e08d01764a9543746cf1ac0ad154a37f915ef7a69ed9e2b09527dc7d3359e6a2d2246028ecb962e5e76347fd324992442041038852cf8697c5c69b433260dc1 SHA512 0b6824cd08a9619653ae3d153b674aa303be0bd50178ff3a1f1f7607f16c7ba5d2be8678502cd572e63cb80ca95278a82ec1d44267cb705a28f8c39c4994f6e3
EBUILD jellyfin-media-player-1.8.1.ebuild 1751 BLAKE2B 907c787b1386bdfe8743a692e18dc7b17b7491d545e2faf8f1c1b0a6a106a313eddf703d4d4236fae24cecb24116cbece8268819b22774c5b4754afcaae5ff6f SHA512 e09325b4bd3711c3d4fc312b90ccf765cf01a36d6bad44b1c479b95317dfea9f410ae39b18ab52aee87752e511d47e1fd988c6ccbf2dfee19e943386c7115117
EBUILD jellyfin-media-player-1.9.0.ebuild 1451 BLAKE2B acac909fefaf2258f9dbc6fca1c5ed98305488e2296e3f01fd454413652111b0dcfcdd9b31c1213ff142aa9f2a73994d79311af83d31f96c93ad69725f85bf55 SHA512 3b63895ecac4235327602d28492075d11ee42a3fb4069020ffef3200824abba78a11332c716c8b88c84d54095ba1987bc2b46fea49dbcb156e0c248a86208973
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 266c4028b022..c376fe78a5e0 100644
--- a/media-video/kaffeine/Manifest
+++ b/media-video/kaffeine/Manifest
@@ -1,5 +1,6 @@
-AUX kaffeine-2.0.18-wayland-window-activation.patch 1098 BLAKE2B a129d194ef354f046b6d8b2c6649e0c92bc04d835f89c4d84066d544ea5950f8812c525afd338f97b82788ad4a62564ab7ba5998dd313660ae420d375ec59252 SHA512 d85e749df73be82506dac1fd06784323e944a7091a39d0a25118f9624a3d1a59cb080be1b0d77629e4fca0dfc8e31e9b1d7849ba88a29dd9e0809c7c30142606
-DIST kaffeine-2.0.18-scantable.dvb 1880456 BLAKE2B e435309f0a11cb6ecb9671c0948c6afdf4c946bc0914c0809945002e353383bb539e1c5594a0a52f2968393623c56914b360b37e5b24a0c17a8f3a60b100ad6a SHA512 2d00987eb261e6f52df490dd44b43567f7d4e3bdcfd0eb2f62e064604d91661e9754cf9e5462b491009fcb35bdca681f4be2a9f06b6b6d47a5b44f5819dbf4fe
+AUX kaffeine-2.0.18-cmake-no-dupl-po-targets.patch 299 BLAKE2B bf3bd5dc17af567c9f957604bb6b030742b44fd37008a670f33ed917ab652cfe4f85290b46a9677b4a3591debee794aeaf6321e24d6b310a6743f8d759505266 SHA512 e3619aa01afe2385f80afe5278c2b6200419d4563bd9788978a3980fb9c9b87fb0be0596460aa05db8799980bdb6f66a08b52bcac554aec72ba6c0dd0dd6c64f
+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.tar.xz 6033112 BLAKE2B c9a0fbd58f7ee4ed8ad44cbed59d95cde7df8ba9c2f5f341df74e6a771293756434e38adb7706baf224a684b56453601099fcac9bf27fd7ec935073a0c30ec19 SHA512 60854251f25e7de94928686f647e6e0f07ca40188e8dfd8140985f1dfbb53bb4d92ff42c29e216431500839d7eb83b81f386bac3a8a86dd8c986a611ec0db3a4
-EBUILD kaffeine-2.0.18-r2.ebuild 1746 BLAKE2B 017a0a9f6e789a0e5001e19ee47a7704419a03a656f08f1984b72c3af644aac6cf7ef30326b35c9cf58f8adfe80eadde78e4ff20bfeb258435be99ab08cd58dc SHA512 7c64ae392aba349a2d0aa3dfe7d0a3393a0fda2c67ecdc3a7b0159208af97b34852a60a34146ddece737abd98033be35521518f8008840ab61f587cd7daeb625
+EBUILD kaffeine-2.0.18-r3.ebuild 1881 BLAKE2B 4bd3a6b399883a00da673c321c56e876d1df57415cbc432ffc0dc4dc8db97d237332d8d57eba7eb9adf751adddf0c3d45d75036b128118a4910f5a6db8f3699b SHA512 e781864b1f3d25afc14d9e78229136ac212b497c44d9c77b4fc6edafecc4d8628118e17c02bc0a6625cf4528fe3460bfc10201f04c1620a029c9c150aee9ab4d
MISC metadata.xml 438 BLAKE2B b11cde969ef9af83c7e70ac17615703c8f0b4296113a8ff552a669c3b7bf7b5291106dd1c4ece993fd8195f5af3bcd1b05697b583bd85f4a155fa10351cbbadd SHA512 d32994646bdbfb90e5fde722a905ebf5fa59903de7c36fd8228ce257057ac8523d7219656d1f1a1bdcc3f0eec1ad9f34535d4090078c9e3a6890d58b8e1e3b71
diff --git a/media-video/kaffeine/files/kaffeine-2.0.18-cmake-no-dupl-po-targets.patch b/media-video/kaffeine/files/kaffeine-2.0.18-cmake-no-dupl-po-targets.patch
new file mode 100644
index 000000000000..79482164bc2c
--- /dev/null
+++ b/media-video/kaffeine/files/kaffeine-2.0.18-cmake-no-dupl-po-targets.patch
@@ -0,0 +1,11 @@
+--- a/CMakeLists.txt 2019-05-14 15:04:58.000000000 +0200
++++ b/CMakeLists.txt 2024-08-04 22:36:49.346618444 +0200
+@@ -112,8 +112,3 @@
+ if(BUILD_TOOLS)
+ add_subdirectory(tools)
+ endif(BUILD_TOOLS)
+-
+- find_package(KF5DocTools CONFIG)
+- if(KF5DocTools_FOUND)
+- kdoctools_install(po)
+- endif()
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-r3.ebuild
index f988700d6e1d..c49400b0d90f 100644
--- a/media-video/kaffeine/kaffeine-2.0.18-r2.ebuild
+++ b/media-video/kaffeine/kaffeine-2.0.18-r3.ebuild
@@ -1,16 +1,19 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 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
+PATCHSET="${P}-patchset"
+SCANTABLE="${P}-r3-scantable.dvb"
+KFMIN=5.106.0
+QTMIN=5.15.9
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"
+ 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"
fi
@@ -51,11 +54,13 @@ BDEPEND="
DOCS=( Changelog NOTES README.md )
-PATCHES=( "${FILESDIR}/${P}-wayland-window-activation.patch" )
+PATCHES=(
+ "${WORKDIR}/${PATCHSET}"
+ "${FILESDIR}/${P}-cmake-no-dupl-po-targets.patch")
src_prepare() {
ecm_src_prepare
- cp -av "${DISTDIR}"/kaffeine-2.0.18-scantable.dvb src/scantable.dvb || die
+ cp -av "${DISTDIR}"/${SCANTABLE} src/scantable.dvb || die
}
src_configure() {
diff --git a/media-video/libva-utils/Manifest b/media-video/libva-utils/Manifest
index 7161b94cafd8..5a611144df3f 100644
--- a/media-video/libva-utils/Manifest
+++ b/media-video/libva-utils/Manifest
@@ -1,8 +1,6 @@
-DIST libva-utils-2.20.0.tar.gz 1280967 BLAKE2B b4d80eb3301a27b9e9ea31edf77f0f6d0bad8660d350fbc0ce4502a5f09b613b7d71ded94c1ce94697c3d679f9b06c099ebce4bf6c57b0e02f92f14458a12787 SHA512 e0edf08f90fc5b360c0123cd77fcb125be289700e62e3d53c92312175e0ee082f3714af3784f4b087de1379bb384c1cfc0f5f881e5a9b31d4806bc3216eacbf0
-DIST libva-utils-2.20.1.tar.gz 1281764 BLAKE2B 9561270811a3d9c314a1f3b73a363b1c7fdda2f38a45404a3e1760eb8ee2384288a589e7b6e001e902e8b9d5ee9611839eccec9a9a89fd5676670a5792e3d3ab SHA512 65f7e03a242a520aae4f9e7ea16ea1c437d7915582a21287f23a05c246b92f1691be3e47d9d92cab9eb6eabb190ba77c6cd0bb3a5fec88898a33b352fc70b5a0
DIST libva-utils-2.21.0.tar.gz 1281468 BLAKE2B 9b7027e5e9a46961af5da0883deb5dcde4bb2128ff73a99a4b71385a63afd44b9ce01ca863949c305d4c07ed9d02150e472fed5be42b6bce8f20ff993d2633a7 SHA512 b56b5c29e8210cb448cec34fd057865b9332d219e486a324a9fa716f791d8d10cd83e8c1e91248c11e6387b442142a7d1fafae0ded3caab44179fd6dca23fcbc
-EBUILD libva-utils-2.20.0.ebuild 1887 BLAKE2B af617d30f0280a3db0acd79210fc4a9a87fac15ab625708c334d283213ffe5f195bdffcca9c3f9ce0aa5ad955d7b14f5aac9126ce2d7e7369583a4553832f5df SHA512 b3747cb360cfd2c1f5a39319e9e286d4673afdc3ec4e39155af3d5fea7d680fd0f6faa1f3a7ce67af4cc15a6306afc89daaa710e71a3c34bc973140d3714a98b
-EBUILD libva-utils-2.20.1.ebuild 1894 BLAKE2B 0699d208d7af8bca1692a98daefea2acd5c5602da7fc9f77376dddbfb3be381b1ca86ddbc7dc660fce445cbef0b6798c3220693018cf287d213d8c7162229364 SHA512 953a158fc3e4ab1582a57ddadaf064b910b50d3ed7c36d463ceb7dd7d005ed4798a52ac059c084ad4a4ec7d055c21f3eac7d6f00953aecd8f558058ccdd8ef07
+DIST libva-utils-2.22.0.tar.gz 1281536 BLAKE2B 7544d318c5a0d1e353e5a895f31bd4499bc563a9cf57ed29c1e4044b44794a3e3381a332b155f5bc5e4ea0eb6dcc899f4af6b0c672daa0c6af8d553635fecd27 SHA512 30a7093a544f4081b412f7d9b1ef350426be95880b8eb342bd8c36d2c5ba10606e107587aafb930057e8db4bcec8f3c5e3c327645d7a84013673ff616d09325d
EBUILD libva-utils-2.21.0.ebuild 1894 BLAKE2B 0699d208d7af8bca1692a98daefea2acd5c5602da7fc9f77376dddbfb3be381b1ca86ddbc7dc660fce445cbef0b6798c3220693018cf287d213d8c7162229364 SHA512 953a158fc3e4ab1582a57ddadaf064b910b50d3ed7c36d463ceb7dd7d005ed4798a52ac059c084ad4a4ec7d055c21f3eac7d6f00953aecd8f558058ccdd8ef07
+EBUILD libva-utils-2.22.0.ebuild 1894 BLAKE2B 0699d208d7af8bca1692a98daefea2acd5c5602da7fc9f77376dddbfb3be381b1ca86ddbc7dc660fce445cbef0b6798c3220693018cf287d213d8c7162229364 SHA512 953a158fc3e4ab1582a57ddadaf064b910b50d3ed7c36d463ceb7dd7d005ed4798a52ac059c084ad4a4ec7d055c21f3eac7d6f00953aecd8f558058ccdd8ef07
EBUILD libva-utils-9999.ebuild 1903 BLAKE2B 977bd6b9097f5fc340e8d59ff5fbfcb7ec0e9f81ac9b9b4bdd4b8a3af3647c895e496dd0c671dcbebe48275469e0fde2288333f4e1f87808642293ca1fa46580 SHA512 c85d4d3322e2851e23a528c031f363a5e06c3982b5bcded6b08471ea9f07e8f91608b50b53d7b0564fb16f6c9b57b379dc524ab27344195d96a68cac14514462
MISC metadata.xml 596 BLAKE2B 856d27918d6cd6c983271e4f762f7b1278bd90231d33181b5381dbc425523d637c65902526ed1b48a0df6aadf41d77bd249e886dbc485edf93f5394fa458cd13 SHA512 46e6d1ef1cc966aadb696293fb1b5f86d1f3fe5d0245ca01a2d9be6d1b35f29830cee41d4e04f0c8d557dd20eb41ae927dc60a854ce24862a2b2f7fc8faee766
diff --git a/media-video/libva-utils/libva-utils-2.20.0.ebuild b/media-video/libva-utils/libva-utils-2.20.0.ebuild
deleted file mode 100644
index 28c1a1ca332c..000000000000
--- a/media-video/libva-utils/libva-utils-2.20.0.ebuild
+++ /dev/null
@@ -1,91 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit meson
-
-DESCRIPTION="Collection of utilities and tests for VA-API"
-HOMEPAGE="https://01.org/linuxmedia/vaapi"
-if [[ ${PV} = *9999 ]] ; then
- inherit git-r3
- 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 ppc64 ~riscv x86 ~amd64-linux ~x86-linux"
-fi
-
-LICENSE="MIT"
-SLOT="0"
-IUSE="examples putsurface test +vainfo wayland X"
-RESTRICT="test" # Tests must be run manually
-
-REQUIRED_USE="
- putsurface? ( || ( wayland X ) )
- || ( examples putsurface test vainfo )
-"
-
-DEPEND="
- x11-libs/libdrm
- wayland? ( >=dev-libs/wayland-1.0.6 )
- X? ( >=x11-libs/libX11-1.6.2 )
-"
-if [[ ${PV} = *9999 ]] ; then
- DEPEND+="~media-libs/libva-${PV}:=[wayland?,X?]"
-else
- DEPEND+=">=media-libs/libva-$(ver_cut 1-2).0:=[wayland?,X?]"
-fi
-RDEPEND="${DEPEND}"
-BDEPEND="virtual/pkgconfig"
-
-src_prepare() {
- default
-
- local sed_args=()
-
- if ! use examples ; then
- sed_args+=(
- -e "/^ subdir('decode')$/d"
- -e "/^ subdir('encode')$/d"
- -e "/^ subdir('videoprocess')$/d"
- -e "/^ subdir('vendor\/intel')$/d"
- -e "/^ subdir('vendor\/intel\/sfcsample')$/d"
- )
- fi
-
- if ! use putsurface ; then
- sed_args+=(-e "/^ subdir('putsurface')$/d")
- fi
-
- if ! use vainfo ; then
- sed_args+=(-e "/^subdir('vainfo')$/d")
- fi
-
- if [[ ${#sed_args[@]} -gt 0 ]] ; then
- sed "${sed_args[@]}" -i meson.build || die
- fi
-}
-
-src_configure() {
- local emesonargs=(
- -Ddrm=true
- $(meson_use X x11)
- $(meson_use wayland)
- $(meson_use test tests)
- )
- meson_src_configure
-}
-
-src_install() {
- meson_src_install
-
- if ! use test ; then
- rm -f "${ED}"/usr/bin/test_va_api || die
- fi
-}
-
-pkg_postinst() {
- if use test ; then
- elog "Tests must be run manually with the test_va_api binary"
- fi
-}
diff --git a/media-video/libva-utils/libva-utils-2.20.1.ebuild b/media-video/libva-utils/libva-utils-2.22.0.ebuild
index 4de57531c234..4de57531c234 100644
--- a/media-video/libva-utils/libva-utils-2.20.1.ebuild
+++ b/media-video/libva-utils/libva-utils-2.22.0.ebuild
diff --git a/media-video/lsdvd/Manifest b/media-video/lsdvd/Manifest
index fb9b5cae9aa5..e1ac746f2936 100644
--- a/media-video/lsdvd/Manifest
+++ b/media-video/lsdvd/Manifest
@@ -1,4 +1,4 @@
AUX lsdvd-0.17-autotools.patch 466 BLAKE2B 3ec7a605c54b3808df96bec660e824b29ba8e5dc582c155bab27aa7e28d68041f314e57e495688358a6173ec5f8e0f1047716dfec8ec43c90e0c162e498923c0 SHA512 477a514d25379b11b8c44fcef62481f667c1a839f74e3e731ed3e15291e3e80db7848c1d8606d46bfd18b8b2cc4d931cb4194f5703c524d2251eba5a093299f2
DIST lsdvd-0.17.tar.gz 99250 BLAKE2B 2b3203527aa4aabd43d26de5f983733f5570905a81043f49e18531a29198499ebb2b9c1ed9caf4ff061639ca02f047c13f95948c09bad7b105d8c02bb3ec9c67 SHA512 d217ebe063c9d4c1584abe99cba5c5d09e1d600d26c58f90d542235f9a629433aa24f24fd8399c639e21391e7a5e8bdf54a9c85083aed63eae1090f4c23677e0
-EBUILD lsdvd-0.17.ebuild 599 BLAKE2B 9bed362df8dbf563e887d0d256aab72d8e3939dc40de01894ce126b3f55f578b22cf937d05094acaf9f1f5616b79431958eace7f4ec54f40e5a09c75e312a5a8 SHA512 f2392977285ab5cd27d55f20911e1ae13c8380ac5800381d19e1f13109f8002895dd0e957a5521ca6bbfad9c3a3f0e592e029430056b43918cfbff8946f7eb00
+EBUILD lsdvd-0.17.ebuild 593 BLAKE2B 90d8cc956adb409e511d4aae2de939beebe3bdb725a60d67b544191a1cbb6f3786e533bdeb5f65472ac54803d18a1e2e01e81690ecae23fae794f570baaf9371 SHA512 b708d1f5c9f6baeca3b48f6c7888d019901488564a4a889916a572f8d189a8670e64d55794893917a20151f140067bff3d383ac826d5276fb5660efce0f1f488
MISC metadata.xml 299 BLAKE2B 14baa9779438a685ba4c67b40becb5ecb849fc0605aa1cc60664f59af85776868f5bb4ad2c416b9f163344c07a5c2099ab3b5ef3e9b45200ab71b6ad1ddddac0 SHA512 e145df76dd8df4a6d68ee786b05055ed02632d76f36c818ecb376d50ec5397218fb004cf8d8da1ac0c23c5d8e14b5afaea4049f9723b466d3216504764d3cae7
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/luvcview/Manifest b/media-video/luvcview/Manifest
deleted file mode 100644
index ba51eb487bf9..000000000000
--- a/media-video/luvcview/Manifest
+++ /dev/null
@@ -1,4 +0,0 @@
-DIST luvcview_0.2.6-4.diff.gz 8227 BLAKE2B 10c01541920b24dafd55f969f4e86daa2d4bb7d73fc33b7ed3b592e080ef31a6d4e429585402e291f20898af5d48021d618ca6496a668def767fad4dced47a3f SHA512 ae0f760e08979065a072f28367fd6c399ff8bc821b79d021d0fec8bb62e36b10804f30f708de3e23ccada0596b7c57dec6d0f8b92a777046e1bfa087686e7f87
-DIST luvcview_0.2.6.orig.tar.gz 100318 BLAKE2B 94273fc4635d515c78b9604e3a1bcdfeea5f835f64f6bb1f19c192ebee5f96b7e1d3b1e7921969560e5bd111cb7e84d20806c42b64f4ab6de40e1597ffae3c99 SHA512 6d0b480c51716e36401680ae333c37f179122d04feca3e91056f77abee6dc60dac4e431e8cca999780c343d10170678ace1eb29076c9211c0cfef6d65a4599ab
-EBUILD luvcview-0.2.6-r1.ebuild 936 BLAKE2B c19948ed7a0eac1357777795827027ce496dda0405f58e7ba75b2da810d1b6e23b9bbf0ca2035b58848c480a58585316c2ac22dcbaedb9a95701b31ba2e382fb SHA512 ce60dbed98786dea12665dd1c5b90d797d3b567d63087bb84d8ec272eeda1bff83e807f071d6c9a2163fa99a0a45cc5f4add18cc903cc218357f5fb0f21343c2
-MISC metadata.xml 260 BLAKE2B ee10cc021112a6e67381cc76d642cabfe9876b9e2da97243070551179a9f8eb2bcb67d8bf96822d40239c350808a8a129882914f1ce9b5f924c99d16ba1300a6 SHA512 0bc4c52638ab97c96d6e1ea6b8199201567dbdac880349e8ab501de49bbfba142e4f2f60baac9c0bc48df6f5d170d81d641277cc01762d720b720764bb162c1a
diff --git a/media-video/luvcview/luvcview-0.2.6-r1.ebuild b/media-video/luvcview/luvcview-0.2.6-r1.ebuild
deleted file mode 100644
index 34f1275f979d..000000000000
--- a/media-video/luvcview/luvcview-0.2.6-r1.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-inherit desktop toolchain-funcs
-
-PATCH_LEVEL="4"
-
-DESCRIPTION="USB Video Class grabber"
-HOMEPAGE="https://packages.qa.debian.org/l/luvcview.html"
-SRC_URI="mirror://debian/pool/main/l/${PN}/${PN}_${PV}.orig.tar.gz
- mirror://debian/pool/main/l/${PN}/${PN}_${PV}-${PATCH_LEVEL}.diff.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-RDEPEND="
- media-libs/libsdl
- media-libs/libv4l
- x11-libs/libX11
-"
-DEPEND="${RDEPEND}
- virtual/pkgconfig
-"
-
-src_prepare() {
- default
- eapply "${WORKDIR}"/${PN}_${PV}-${PATCH_LEVEL}.diff
- eapply debian/patches/*.patch
- sed -i -e 's:videodev.h:videodev2.h:' *.{c,h} || die
- sed -i -e 's:-O2::' Makefile || die
-}
-
-src_compile() {
- emake CC="$(tc-getCC) ${LDFLAGS}"
-}
-
-src_install() {
- dobin luvcview
- doman debian/luvcview.1
- dodoc Changelog README ToDo
- make_desktop_entry ${PN}
-}
diff --git a/media-video/luvcview/metadata.xml b/media-video/luvcview/metadata.xml
deleted file mode 100644
index a2dfee954457..000000000000
--- a/media-video/luvcview/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/makemkv/Manifest b/media-video/makemkv/Manifest
index 709647459c45..97f65cf0048b 100644
--- a/media-video/makemkv/Manifest
+++ b/media-video/makemkv/Manifest
@@ -2,5 +2,5 @@ AUX makemkv-path.patch 1579 BLAKE2B 6ca7ed6c854c0357fea864bedc3f65a1051a466a52db
AUX makemkvcon.1 6118 BLAKE2B bf8f7665d7b367e4dc5cfb12136cb91271087991d86bb0c2bfe6fe41def407539276114f95548cd867c49bc10bed25cec51ac00dbd6defe5df7fd82f2fe29b25 SHA512 a9334a96fcc90932a109c2d74b1769ab60e652a1e860399d8a486bd36ba02fbdabf55816059e0c51e3e4826824b7798f86b85cb5e22a4d13c2e18a2944522ac4
DIST makemkv-bin-1.17.7.tar.gz 16420879 BLAKE2B adc54191fd445832b9c4805400746e42d1b3261d076299b5e34beb1f13d80bf7bcbd113699f3d28fce5e21bb8f810a40927924b3d9c7250467d1979b1bf4f72b SHA512 2c93dd6e63c5e59415ad8a9a1370f7a1eddda2b643fa4dcde6383abb6065b84a77b03b977bf2ade50bc2d3560bb245ad2e1e79bab21629f7fc5816598738a5d9
DIST makemkv-oss-1.17.7.tar.gz 6618248 BLAKE2B 18652db1d72ea7287e7e38706afc589e6fe8fb1fbf9d4e24770b9a2bfe670a464b2c21b7c543b23d3c6234f40048358d944b123897c4f569beb31faac8ef3eb7 SHA512 e21bc293133d7f999b3ea4258f01f0b88c5a58610da0185d8f74b724d61578211d35d5d44fae1610887e98f3ff36b2f0df33068d8647ad8983020be49adde037
-EBUILD makemkv-1.17.7.ebuild 3088 BLAKE2B e194e111640c35eb9859d16bfc4f73bd2c7da8d9e2c5d6ff304e853781ebf8067dce7e7a8d150d7478ebf943d1274b7423d9af19fd4064689941004e96542b01 SHA512 99fd71a43d8f14bee088ab65a5452bee9417534c69f019676d7f033142975cd44924f65e6d9aeac326d7bea95dd19d88554abd527ec7e109e759a2bd518c5b20
+EBUILD makemkv-1.17.7.ebuild 3084 BLAKE2B 3990ef9d58c00d8981b7228e80ddc4ea1cb75d26a89d18b13753df9a3a48660093e68265bc051e4ba000ca1b7c800c21df27e50cc0d30e439e3e752f30e50e57 SHA512 72d7cb5d7e8c02d92cee8d1d52b650a4feaf9aa512b2aa791273c6ad16da3320cb3a74c5cad66497b334db6a8a5faba37bf3692b57491450534dcca52a512e7c
MISC metadata.xml 1272 BLAKE2B 7c02bfcb2638d2f33c6fbee2d0e79b6d7d270b8209f7ec82ec51d7cf0e19b94936ee599b618f9a6b9df280fc403b0890b2c8e2323525f6d50b79fc19d26c8756 SHA512 8de92a5802b26a98984be7b5e3c0868b249c14a77a690a186dc4361db1508b79c7ebccd261e7fe9251b2d4abbbe2b93aec8a91efeafc00baada2839020a9207f
diff --git a/media-video/makemkv/makemkv-1.17.7.ebuild b/media-video/makemkv/makemkv-1.17.7.ebuild
index c8dd8c6309b2..aaa63f132a25 100644
--- a/media-video/makemkv/makemkv-1.17.7.ebuild
+++ b/media-video/makemkv/makemkv-1.17.7.ebuild
@@ -15,7 +15,7 @@ SRC_URI="http://www.makemkv.com/download/${MY_P}.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"
+KEYWORDS="amd64 arm arm64 x86"
IUSE="+gui +java"
RESTRICT="bindist mirror"
diff --git a/media-video/mediainfo/Manifest b/media-video/mediainfo/Manifest
index a843c6ac4c81..a42692add632 100644
--- a/media-video/mediainfo/Manifest
+++ b/media-video/mediainfo/Manifest
@@ -1,9 +1,3 @@
-DIST mediainfo_22.09.tar.xz 2016868 BLAKE2B c4b1766c4d49be6e90d11c736e4572e24299ae96efdfbf92ef9d32a418d7777cad2ae60ac7e6234cfa7c3a11996e46fb178996c536b9ce13dd19a0449ae8bf86 SHA512 acdeef13153fd74c29d54b9bdf4e983dd81525ace47550977d99cb5950ab72579cbbfc1ae39d81d89e03c491ea559177a16853d9db20d83a995eff300b864d4d
-DIST mediainfo_23.03.tar.xz 2027676 BLAKE2B 2da17afaccb3a8b4a1e19012cb3bb29284856f9d16e27026701b1c78add444e83c5fbb3e22ff39955ffa1c0b6f62e87224c0b35a0ff007296c4c065f58f83c87 SHA512 5082826a315fefaa48ea65a09a538225f1311cfb48285c939bb7ce2ebc38a2d444e6974ecb8062e02b60fbde27759b5828fc97dd7f9229e0066e9d193137fb5c
-DIST mediainfo_23.04.tar.xz 2022444 BLAKE2B 4e5c1c09b670ee20839c49365f0973d783ec7ed4bd336bed7574b6369f356f8f11fe63fe99dd80a28b2677b3c872bc45941b89c307190fe0b8ab867f66ab7755 SHA512 768ac916da81ea10323be2957a87058ba863015f26a337ba3b3db15e40e52c7cd7b24f2ca2508334e35cdae6476d147ed4c81eeabfe801fa9dc5ca68ceb1e7af
DIST mediainfo_23.10.tar.xz 2025172 BLAKE2B 91816fa74e4f9949e73072bb25748ca350178c4e0bfc33cf5ff8ed5171dbc2d8266e418bfe83ed382f5de3b1e9d7d95e38188082ac2b2e5c8df34324407db184 SHA512 bf5864e5aafd38f64dbdf2ac47b19543ed24ab69d27180606ad49e587e6964e83995dcceffa441fabf0b0aa3c032c9450ad8738d28663a1b4180a9f651f4ba08
-EBUILD mediainfo-22.09.ebuild 1780 BLAKE2B fc5c58923404c035c2bf3f30310a20d9c04c55a4107908d6922d0a84458b3061bb305847371a27d21179fb38566365e2e90ef777b1e32c8e98fba697032bff50 SHA512 493a741ef961dd8871e79bfd5f1e521cabccc434077e49ff58822edd999ac1ffce2a39b7480ef58b4bcf58af025f3629937ecfeecf91856ad22ca620991ef514
-EBUILD mediainfo-23.03.ebuild 1845 BLAKE2B 646434c342e19b3da44642cf5bc58d5a28582d598faa87164d69cb329f6a6cdcada3a57cf9bedec85cbc4a41078d77f3efedfc028a5054ff904657611aa0e7fb SHA512 158d6c501626faf9b87df87cc7afab394157ba3c906cdc48817b1792ebfbe2fb1a79acc3773d13f202fc2b61d7de33d8e92f9bdb91a4a9e2cdd9c54b684d5a5e
-EBUILD mediainfo-23.04.ebuild 1845 BLAKE2B 646434c342e19b3da44642cf5bc58d5a28582d598faa87164d69cb329f6a6cdcada3a57cf9bedec85cbc4a41078d77f3efedfc028a5054ff904657611aa0e7fb SHA512 158d6c501626faf9b87df87cc7afab394157ba3c906cdc48817b1792ebfbe2fb1a79acc3773d13f202fc2b61d7de33d8e92f9bdb91a4a9e2cdd9c54b684d5a5e
EBUILD mediainfo-23.10.ebuild 1848 BLAKE2B df8aef978972cdbf2f052e61a551d87e0aea31d728f7f045c99e8006a225d4a1b75819847c712306ad8bd28393d3d5e2eb0bec2c61b307e941ebf6305473baf1 SHA512 5d242b5c26e70349dd89f03a9428081044d3768e3cb8b7e8105e51da98b691c273fbfefb92605d5146d56ee32e4ec827c6ea1e17774b94562b37e2c7ca90ec96
MISC metadata.xml 344 BLAKE2B c70240ab3644a4c1d2367d1eb094a01b60198549456dfae21604c03bb30298f0abde2afda7dfdcf16425ca90856e98f57869481b85358e1724595454c8fdb308 SHA512 cdf31d4cd6185e0fdf604b611ee54b0bb90ffd369119cfd0bcc759e1e3d63a0d5ce673f508d3963b06c0c6152cdc1ef7d369ad2e84327ebd91c1e4a196e75d2e
diff --git a/media-video/mediainfo/mediainfo-22.09.ebuild b/media-video/mediainfo/mediainfo-22.09.ebuild
deleted file mode 100644
index 68f70427ddc8..000000000000
--- a/media-video/mediainfo/mediainfo-22.09.ebuild
+++ /dev/null
@@ -1,89 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# These must be bumped together:
-# - media-libs/libzen (if a release is available)
-# - media-libs/libmediainfo
-# - media-video/mediainfo
-
-WX_GTK_VER="3.0-gtk3"
-inherit xdg-utils autotools wxwidgets
-
-DESCRIPTION="MediaInfo supplies technical and tag information about media files"
-HOMEPAGE="https://mediaarea.net/mediainfo/ https://github.com/MediaArea/MediaInfo"
-SRC_URI="https://mediaarea.net/download/source/${PN}/${PV}/${P/-/_}.tar.xz"
-S="${WORKDIR}/MediaInfo"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 ~riscv x86"
-IUSE="curl mms wxwidgets"
-
-RDEPEND="~media-libs/libmediainfo-${PV}[curl=,mms=]
- >=media-libs/libzen-0.4.37
- sys-libs/zlib
- wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER}[X] )"
-DEPEND="${RDEPEND}"
-BDEPEND="virtual/pkgconfig"
-
-pkg_setup() {
- TARGETS="CLI"
-
- if use wxwidgets; then
- TARGETS+=" GUI"
- setup-wxwidgets
- fi
-}
-
-src_prepare() {
- default
-
- local target
- for target in ${TARGETS}; do
- cd "${S}"/Project/GNU/${target} || die
- sed -i -e "s:-O2::" configure.ac || die
- eautoreconf
- done
-}
-
-src_configure() {
- local target
-
- for target in ${TARGETS}; do
- cd "${S}"/Project/GNU/${target} || die
- local args=""
- [[ ${target} == "GUI" ]] && args="--with-wxwidgets --with-wx-gui"
- econf ${args}
- done
-}
-
-src_compile() {
- local target
-
- for target in ${TARGETS}; do
- cd "${S}"/Project/GNU/${target} || die
- default
- done
-}
-
-src_install() {
- local target
-
- for target in ${TARGETS}; do
- cd "${S}"/Project/GNU/${target} || die
- default
- dodoc "${S}"/History_${target}.txt
- done
-}
-
-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/mediainfo/mediainfo-23.03.ebuild b/media-video/mediainfo/mediainfo-23.03.ebuild
deleted file mode 100644
index a45f63ada5af..000000000000
--- a/media-video/mediainfo/mediainfo-23.03.ebuild
+++ /dev/null
@@ -1,92 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# These must be bumped together:
-# - media-libs/libzen (if a release is available)
-# - media-libs/libmediainfo
-# - media-video/mediainfo
-
-WX_GTK_VER="3.0-gtk3"
-inherit xdg-utils autotools wxwidgets
-
-DESCRIPTION="MediaInfo supplies technical and tag information about media files"
-HOMEPAGE="https://mediaarea.net/mediainfo/ https://github.com/MediaArea/MediaInfo"
-SRC_URI="https://mediaarea.net/download/source/${PN}/${PV}/${P/-/_}.tar.xz"
-S="${WORKDIR}/MediaInfo"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 ~riscv x86"
-IUSE="curl mms wxwidgets"
-
-# The libzen dep usually needs to be bumped for each release!
-RDEPEND="
- ~media-libs/libmediainfo-${PV}[curl=,mms=]
- >=media-libs/libzen-0.4.41
- sys-libs/zlib
- wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER}[X] )
-"
-DEPEND="${RDEPEND}"
-BDEPEND="virtual/pkgconfig"
-
-pkg_setup() {
- TARGETS="CLI"
-
- if use wxwidgets; then
- TARGETS+=" GUI"
- setup-wxwidgets
- fi
-}
-
-src_prepare() {
- default
-
- local target
- for target in ${TARGETS}; do
- cd "${S}"/Project/GNU/${target} || die
- sed -i -e "s:-O2::" configure.ac || die
- eautoreconf
- done
-}
-
-src_configure() {
- local target
-
- for target in ${TARGETS}; do
- cd "${S}"/Project/GNU/${target} || die
- local args=""
- [[ ${target} == "GUI" ]] && args="--with-wxwidgets --with-wx-gui"
- econf ${args}
- done
-}
-
-src_compile() {
- local target
-
- for target in ${TARGETS}; do
- cd "${S}"/Project/GNU/${target} || die
- default
- done
-}
-
-src_install() {
- local target
-
- for target in ${TARGETS}; do
- cd "${S}"/Project/GNU/${target} || die
- default
- dodoc "${S}"/History_${target}.txt
- done
-}
-
-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/mediainfo/mediainfo-23.04.ebuild b/media-video/mediainfo/mediainfo-23.04.ebuild
deleted file mode 100644
index a45f63ada5af..000000000000
--- a/media-video/mediainfo/mediainfo-23.04.ebuild
+++ /dev/null
@@ -1,92 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# These must be bumped together:
-# - media-libs/libzen (if a release is available)
-# - media-libs/libmediainfo
-# - media-video/mediainfo
-
-WX_GTK_VER="3.0-gtk3"
-inherit xdg-utils autotools wxwidgets
-
-DESCRIPTION="MediaInfo supplies technical and tag information about media files"
-HOMEPAGE="https://mediaarea.net/mediainfo/ https://github.com/MediaArea/MediaInfo"
-SRC_URI="https://mediaarea.net/download/source/${PN}/${PV}/${P/-/_}.tar.xz"
-S="${WORKDIR}/MediaInfo"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 ~riscv x86"
-IUSE="curl mms wxwidgets"
-
-# The libzen dep usually needs to be bumped for each release!
-RDEPEND="
- ~media-libs/libmediainfo-${PV}[curl=,mms=]
- >=media-libs/libzen-0.4.41
- sys-libs/zlib
- wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER}[X] )
-"
-DEPEND="${RDEPEND}"
-BDEPEND="virtual/pkgconfig"
-
-pkg_setup() {
- TARGETS="CLI"
-
- if use wxwidgets; then
- TARGETS+=" GUI"
- setup-wxwidgets
- fi
-}
-
-src_prepare() {
- default
-
- local target
- for target in ${TARGETS}; do
- cd "${S}"/Project/GNU/${target} || die
- sed -i -e "s:-O2::" configure.ac || die
- eautoreconf
- done
-}
-
-src_configure() {
- local target
-
- for target in ${TARGETS}; do
- cd "${S}"/Project/GNU/${target} || die
- local args=""
- [[ ${target} == "GUI" ]] && args="--with-wxwidgets --with-wx-gui"
- econf ${args}
- done
-}
-
-src_compile() {
- local target
-
- for target in ${TARGETS}; do
- cd "${S}"/Project/GNU/${target} || die
- default
- done
-}
-
-src_install() {
- local target
-
- for target in ${TARGETS}; do
- cd "${S}"/Project/GNU/${target} || die
- default
- dodoc "${S}"/History_${target}.txt
- done
-}
-
-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/mjpegtools/Manifest b/media-video/mjpegtools/Manifest
index 5276971e379a..f8cfa27e8bbc 100644
--- a/media-video/mjpegtools/Manifest
+++ b/media-video/mjpegtools/Manifest
@@ -1,5 +1,8 @@
AUX mjpegtools-2.2.1-c++17-no-auto_ptr-fix.patch 521 BLAKE2B 6afa67ce2c4ce924e90a71261216fc3bf225692b9ef3c4c6daceabedfb655069d9916245153d718b3096f28e0c95adee7c1ce3403d92c1842c144b2eeba2389e SHA512 114dc0b9a61af40ea0866320554e7aa048610a0698f79b419b36722f5130f521d18a5abe55d6a8b8ce74623510f7ff63b49fff8bded0f60b9ad31d6ff2d45458
AUX mjpegtools-2.2.1-c++17-register-fix.patch 391 BLAKE2B ec51922fadc66a1500ac3352de0b507d3a2210c36562ba8b72e41a90cf5fc007d3cf5579e8b6813506371989e827833b1b71da0b0444dc8a3481e03884d501e8 SHA512 bc3a6c708af357f67f5d5cd2eb11c931c44d14e698f1d2a30e066c66a7e06cbcc5238b7b7bce775127f56d3c978b44f2986801359eef9836a23ec0ffd25bceca
+AUX mjpegtools-2.2.1-gcc15-template.patch 10735 BLAKE2B e9e171909a435c8e5926f4b0e7d828f834d29556644d7f6774191425c424a2c10c03c5b29ad08d925461906c953f1a26df122fa4e88f3d0d6f2c9c8c73bd45e8 SHA512 04d2331316fb1c61b9fb47f53ca2a61e12e2d327cc9eeb557d00fd7a2f5f1fa3aaf04503e29b94fa49fb3b89d7d95c18623128c14086acaa1b8bc1502d63527b
+AUX mjpegtools-2.2.1-lto.patch 731 BLAKE2B 9bee6eddad066794ec2404d4ca3df363fb66a458d4a296d0878bf4d21a3e242d6f660a5d9d7b2996e5742140d1a5e50b75144386821f78d254f9e5f2b8a81b86 SHA512 68cc4c1e70ac7753fdc7ba036b5407dcb9839fa05ef61c5d3567e9f1efb26a8ce71ee6f1c259fcc1277f90d0d2beb041119a627ff5e8e63bce49c3f542077c8b
+AUX mjpegtools-2.2.1-puts-c99-configure.patch 682 BLAKE2B 36d38e5ad56496647030150728cd86e043a2b3913d28d6aaa964bf51a3ae143e8ed200ae66424ef863ad2588222159d999a9caf7e2976b431880639b44fdc121 SHA512 de3e85d0d96d4ce12c423b4110f31d13082ac2c69ebc146516b03202521696aa4170b12cfc51c9a7959f028317957ed98edcdb33e5e0261133d4c2791843044e
DIST mjpegtools-2.2.1.tar.gz 2326425 BLAKE2B a6f2698dda6b7c92a1a786f39bfb1989587b2c35a1f94e435247f04a01f405808d464470fddf1eddaee73df75daaef460bd62e901b89b2b2e0b095332492b20b SHA512 4d7f4dcf56a0e6079025bf0221ee632d91c4cc635a8c7eb9ddf3f7b86ad7250415c6dc4fd4113081920bc9c8fdc2552b8a3aaf896bf5a778acfacb15c7ded830
-EBUILD mjpegtools-2.2.1-r1.ebuild 2756 BLAKE2B 5ca9a6cc89710c7b7ca156b9770043639672ca7e8263ed6d5c0c48ab182c5420d2daa4a19fc80c01e8d75533f20d773534958748d56200fba7976b177ea18de3 SHA512 4c4d4c4401175849b645268ba878a296c6a7d6111cc686e7025ee48bcd198744307d1c707009ca2d71276808c3e01d305a661b0a4fdc06d15f6d9879f0ce89ef
+EBUILD mjpegtools-2.2.1-r2.ebuild 2887 BLAKE2B 110daff5432fdc62fd4985edf9643ee94681ca4eb8616787f7987e23b044d0bf9f333a8f0e89874f75982093c96c9c9bbd97e9193cf3be18d9266c0e6178489b SHA512 49da2ab074d50146f02ce116cde877e74d02d57634b633c39a2709beea008d2ffd5a9e888183144c6b5ec5e3acf251d56a9725970159b4b85e575a5ee0ab776e
MISC metadata.xml 538 BLAKE2B 420dc5b1516f83aed28539d6c9cb3964135bd67d9a8c334eb5ad72bc95156fe3795ca8098cebc46e7a263e3a84cdb8bfe1a393b7f9a9f47eeaf24527748723a9 SHA512 c53c44b7a0bdea16c3c56d11edde87edea9849ffb37b2eba21701ad5791f1348d61d7216457efa0964c1503d89e2d86c4616d1fda240129f98ab2b68ec5e6926
diff --git a/media-video/mjpegtools/files/mjpegtools-2.2.1-gcc15-template.patch b/media-video/mjpegtools/files/mjpegtools-2.2.1-gcc15-template.patch
new file mode 100644
index 000000000000..66d017233233
--- /dev/null
+++ b/media-video/mjpegtools/files/mjpegtools-2.2.1-gcc15-template.patch
@@ -0,0 +1,349 @@
+https://bugs.gentoo.org/936562
+https://sourceforge.net/p/mjpeg/patches/63/
+--- a/y4mdenoise/Region2D.hh
++++ b/y4mdenoise/Region2D.hh
+@@ -97,35 +97,11 @@
+ // Add the given horizontal extent to the region. Note that
+ // a_tnXEnd is technically one past the end of the extent.
+
+- template <class REGION, class REGION_TEMP>
+- void UnionDebug (Status_t &a_reStatus, INDEX a_tnY,
+- INDEX a_tnXStart, INDEX a_tnXEnd, REGION_TEMP &a_rTemp);
+- // Add the given horizontal extent to the region. Note that
+- // a_tnXEnd is technically one past the end of the extent.
+- // Exhaustively (i.e. slowly) verifies the results, using a
+- // much simpler algorithm.
+- // Requires the use of a temporary region, usually of the
+- // final subclass' type, in order to work. (Since that can't
+- // be known at this level, a template parameter is included for
+- // it.)
+-
+ template <class REGION>
+ void Union (Status_t &a_reStatus, const REGION &a_rOther);
+ // Make the current region represent the union between itself
+ // and the other given region.
+
+- template <class REGION, class REGION_O, class REGION_TEMP>
+- void UnionDebug (Status_t &a_reStatus,
+- REGION_O &a_rOther, REGION_TEMP &a_rTemp);
+- // Make the current region represent the union between itself
+- // and the other given region.
+- // Exhaustively (i.e. slowly) verifies the results, using a
+- // much simpler algorithm.
+- // Requires the use of a temporary region, usually of the
+- // final subclass' type, in order to work. (Since that can't
+- // be known at this level, a template parameter is included for
+- // it.)
+-
+ //void Merge (Status_t &a_reStatus, INDEX a_tnY, INDEX a_tnXStart,
+ // INDEX a_tnXEnd);
+ // Merge this extent into the current region.
+@@ -166,36 +142,11 @@
+ // Subtract the given horizontal extent from the region. Note
+ // that a_tnXEnd is technically one past the end of the extent.
+
+- template <class REGION_TEMP>
+- void SubtractDebug (Status_t &a_reStatus, INDEX a_tnY,
+- INDEX a_tnXStart, INDEX a_tnXEnd, REGION_TEMP &a_rTemp);
+- // Subtract the given horizontal extent from the region. Note
+- // that a_tnXEnd is technically one past the end of the extent.
+- // Exhaustively (i.e. slowly) verifies the results, using a
+- // much simpler algorithm.
+- // Requires the use of a temporary region, usually of the
+- // final subclass' type, in order to work. (Since that can't
+- // be known at this level, a template parameter is included for
+- // it.)
+-
+ template <class REGION>
+ void Subtract (Status_t &a_reStatus, const REGION &a_rOther);
+ // Subtract the other region from the current region, i.e.
+ // remove from the current region any extents that exist in the
+ // other region.
+-
+- template <class REGION, class REGION_O, class REGION_TEMP>
+- void SubtractDebug (Status_t &a_reStatus, REGION_O &a_rOther,
+- REGION_TEMP &a_rTemp);
+- // Subtract the other region from the current region, i.e.
+- // remove from the current region any extents that exist in the
+- // other region.
+- // Exhaustively (i.e. slowly) verifies the results, using a
+- // much simpler algorithm.
+- // Requires the use of a temporary region, usually of the
+- // final subclass' type, in order to work. (Since that can't
+- // be known at this level, a template parameter is included for
+- // it.)
+
+ //typedef ... ConstIterator;
+ //ConstIterator Begin (void) const { return m_setExtents.Begin(); }
+@@ -404,85 +355,6 @@
+
+
+
+-// Add the given horizontal extent to the region.
+-template <class INDEX, class SIZE>
+-template <class REGION, class REGION_TEMP>
+-void
+-Region2D<INDEX,SIZE>::UnionDebug (Status_t &a_reStatus, INDEX a_tnY,
+- INDEX a_tnXStart, INDEX a_tnXEnd, REGION_TEMP &a_rTemp)
+-{
+- typename REGION::ConstIterator itHere;
+- typename REGION_TEMP::ConstIterator itHereO;
+- INDEX tnX;
+- // Used to loop through points.
+-
+- // Make sure they didn't start us off with an error.
+- assert (a_reStatus == g_kNoError);
+-
+- // Calculate the union.
+- a_rTemp.Assign (a_reStatus, *this);
+- if (a_reStatus != g_kNoError)
+- return;
+- a_rTemp.Union (a_reStatus, a_tnY, a_tnXStart, a_tnXEnd);
+- if (a_reStatus != g_kNoError)
+- return;
+-
+- // Loop through every point in the result, make sure it's in
+- // one of the two input regions.
+- for (itHereO = a_rTemp.Begin(); itHereO != a_rTemp.End(); ++itHereO)
+- {
+- const Extent &rHere = *itHereO;
+- for (tnX = rHere.m_tnXStart; tnX < rHere.m_tnXEnd; ++tnX)
+- {
+- if (!((rHere.m_tnY == a_tnY
+- && (tnX >= a_tnXStart && tnX < a_tnXEnd))
+- || this->DoesContainPoint (rHere.m_tnY, tnX)))
+- goto error;
+- }
+- }
+-
+- // Loop through every point in the original region, make sure
+- // it's in the result.
+- for (itHere = this->Begin(); itHere != this->End(); ++itHere)
+- {
+- const Extent &rHere = *itHere;
+- for (tnX = rHere.m_tnXStart; tnX < rHere.m_tnXEnd; ++tnX)
+- {
+- if (!a_rTemp.DoesContainPoint (rHere.m_tnY, tnX))
+- goto error;
+- }
+- }
+-
+- // Loop through every point in the added extent, make sure it's in
+- // the result.
+- for (tnX = a_tnXStart; tnX < a_tnXEnd; ++tnX)
+- {
+- if (!a_rTemp.DoesContainPoint (a_tnY, tnX))
+- goto error;
+- }
+-
+- // The operation succeeded. Commit it.
+- Assign (a_reStatus, a_rTemp);
+- if (a_reStatus != g_kNoError)
+- return;
+-
+- // All done.
+- return;
+-
+-error:
+- // Handle deviations.
+- fprintf (stderr, "Region2D::Union() failed\n");
+- fprintf (stderr, "Input region:\n");
+- PrintRegion (*this);
+- fprintf (stderr, "Input extent: [%d,%d-%d]\n",
+- int (a_tnY), int (a_tnXStart), int (a_tnXEnd));
+- fprintf (stderr, "Result:\n");
+- PrintRegion (a_rTemp);
+- assert (false);
+-}
+-
+-
+-
+ // Make the current region represent the union between itself
+ // and the other given region.
+ template <class INDEX, class SIZE>
+@@ -511,184 +383,6 @@
+ }
+ }
+
+-
+-
+-// Make the current region represent the union between itself
+-// and the other given region.
+-template <class INDEX, class SIZE>
+-template <class REGION, class REGION_O, class REGION_TEMP>
+-void
+-Region2D<INDEX,SIZE>::UnionDebug (Status_t &a_reStatus,
+- REGION_O &a_rOther, REGION_TEMP &a_rTemp)
+-{
+- typename REGION::ConstIterator itHere;
+- typename REGION_O::ConstIterator itHereO;
+- typename REGION_TEMP::ConstIterator itHereT;
+- INDEX tnX;
+- // Used to loop through points.
+-
+- // Make sure they didn't start us off with an error.
+- assert (a_reStatus == g_kNoError);
+-
+- // Calculate the union.
+- a_rTemp.Assign (a_reStatus, *this);
+- if (a_reStatus != g_kNoError)
+- return;
+- a_rTemp.Union (a_reStatus, a_rOther);
+- if (a_reStatus != g_kNoError)
+- return;
+-
+- // Loop through every point in the result, make sure it's in
+- // one of the two input regions.
+- for (itHereT = a_rTemp.Begin(); itHereT != a_rTemp.End(); ++itHereT)
+- {
+- const Extent &rHere = *itHereT;
+- for (tnX = rHere.m_tnXStart; tnX < rHere.m_tnXEnd; ++tnX)
+- {
+- if (!a_rOther.DoesContainPoint (rHere.m_tnY, tnX)
+- && !this->DoesContainPoint (rHere.m_tnY, tnX))
+- goto error;
+- }
+- }
+-
+- // Loop through every point in the first input region, make sure
+- // it's in the result.
+- for (itHere = this->Begin(); itHere != this->End(); ++itHere)
+- {
+- const Extent &rHere = *itHere;
+- for (tnX = rHere.m_tnXStart; tnX < rHere.m_tnXEnd; ++tnX)
+- {
+- if (!a_rTemp.DoesContainPoint (rHere.m_tnY, tnX))
+- goto error;
+- }
+- }
+-
+- // Loop through every point in the second input region, make sure
+- // it's in the result.
+- for (itHereO = a_rOther.Begin();
+- itHereO != a_rOther.End();
+- ++itHereO)
+- {
+- const Extent &rHere = *itHereO;
+- for (tnX = rHere.m_tnXStart; tnX < rHere.m_tnXEnd; ++tnX)
+- {
+- if (!a_rTemp.DoesContainPoint (rHere.m_tnY, tnX))
+- goto error;
+- }
+- }
+-
+- // The operation succeeded. Commit it.
+- Assign (a_reStatus, a_rTemp);
+- if (a_reStatus != g_kNoError)
+- return;
+-
+- // All done.
+- return;
+-
+-error:
+- // Handle deviations.
+- fprintf (stderr, "Region2D::Union() failed\n");
+- fprintf (stderr, "First input region:\n");
+- PrintRegion (*this);
+- fprintf (stderr, "Second input region:\n");
+- PrintRegion (a_rOther);
+- fprintf (stderr, "Result:\n");
+- PrintRegion (a_rTemp);
+- assert (false);
+-}
+-
+-
+-
+-// Subtract the other region from the current region, i.e.
+-// remove from the current region any areas that exist in the
+-// other region.
+-template <class INDEX, class SIZE>
+-template <class REGION, class REGION_O, class REGION_TEMP>
+-void
+-Region2D<INDEX,SIZE>::SubtractDebug (Status_t &a_reStatus,
+- REGION_O &a_rOther, REGION_TEMP &a_rTemp)
+-{
+- typename REGION::ConstIterator itHere;
+- typename REGION_O::ConstIterator itHereO;
+- typename REGION_TEMP::ConstIterator itHereT;
+- INDEX tnX;
+- // Used to loop through points.
+-
+- // Make sure they didn't start us off with an error.
+- assert (a_reStatus == g_kNoError);
+-
+- // Calculate the difference.
+- a_rTemp.Assign (a_reStatus, *this);
+- if (a_reStatus != g_kNoError)
+- return;
+- a_rTemp.Subtract (a_reStatus, a_rOther);
+- if (a_reStatus != g_kNoError)
+- return;
+-
+- // Loop through every point in the result, make sure it's in
+- // the first input region but not the second.
+- for (itHereT = a_rTemp.Begin(); itHereT != a_rTemp.End(); ++itHereT)
+- {
+- const Extent &rHere = *itHereT;
+- for (tnX = rHere.m_tnXStart; tnX < rHere.m_tnXEnd; ++tnX)
+- {
+- if (!(this->DoesContainPoint (rHere.m_tnY, tnX)
+- && !a_rOther.DoesContainPoint (rHere.m_tnY, tnX)))
+- goto error;
+- }
+- }
+-
+- // Loop through every point in the first input region, and if it's
+- // not in the second input region, make sure it's in the result.
+- for (itHere = this->Begin(); itHere != this->End(); ++itHere)
+- {
+- const Extent &rHere = *itHere;
+- for (tnX = rHere.m_tnXStart; tnX < rHere.m_tnXEnd; ++tnX)
+- {
+- if (!a_rOther.DoesContainPoint (rHere.m_tnY, tnX))
+- {
+- if (!a_rTemp.DoesContainPoint (rHere.m_tnY, tnX))
+- goto error;
+- }
+- }
+- }
+-
+- // Loop through every point in the second input region, make sure
+- // it's not in the result.
+- for (itHereO = a_rOther.Begin();
+- itHereO != a_rOther.End();
+- ++itHereO)
+- {
+- const Extent &rHere = *itHere;
+- for (tnX = rHere.m_tnXStart; tnX < rHere.m_tnXEnd; ++tnX)
+- {
+- if (a_rTemp.DoesContainPoint (rHere.m_tnY, tnX))
+- goto error;
+- }
+- }
+-
+- // The operation succeeded. Commit it.
+- Assign (a_reStatus, a_rTemp);
+- if (a_reStatus != g_kNoError)
+- return;
+-
+- // All done.
+- return;
+-
+-error:
+- // Handle deviations.
+- fprintf (stderr, "Region2D::Subtract() failed\n");
+- fprintf (stderr, "First input region:\n");
+- PrintRegion (*this);
+- fprintf (stderr, "Second input region:\n");
+- PrintRegion (a_rOther);
+- fprintf (stderr, "Result:\n");
+- PrintRegion (a_rTemp);
+- assert (false);
+-}
+-
+-
+-
+ // Flood-fill the current region.
+ template <class INDEX, class SIZE>
+ template <class CONTROL>
+
diff --git a/media-video/mjpegtools/files/mjpegtools-2.2.1-lto.patch b/media-video/mjpegtools/files/mjpegtools-2.2.1-lto.patch
new file mode 100644
index 000000000000..b4cf1e14275f
--- /dev/null
+++ b/media-video/mjpegtools/files/mjpegtools-2.2.1-lto.patch
@@ -0,0 +1,24 @@
+https://sourceforge.net/p/mjpeg/bugs/143/
+https://bugs.gentoo.org/927103
+--- a/mpeg2enc/quantize_x86.c
++++ b/mpeg2enc/quantize_x86.c
+@@ -41,7 +41,7 @@
+ #include "quantize_precomp.h"
+ #include "quantize_ref.h"
+
+-int quant_weight_coeff_sum_mmx (int16_t *blk, uint16_t *i_quant_mat );
++int32_t quant_weight_coeff_sum_mmx(int16_t *src, int16_t *i_quant_mat);
+
+ void iquantize_non_intra_m1_mmx(int16_t *src, int16_t *dst, uint16_t *qmat);
+ void iquantize_non_intra_m2_mmx(int16_t *src, int16_t *dst, uint16_t *qmat);
+--- a/lavtools/lav_io.c
++++ b/lavtools/lav_io.c
+@@ -34,7 +34,7 @@
+ #include <libdv/dv.h>
+ #endif
+
+-extern int AVI_errno;
++extern long int AVI_errno;
+
+ static char video_format=' ';
+ static int internal_error=0;
diff --git a/media-video/mjpegtools/files/mjpegtools-2.2.1-puts-c99-configure.patch b/media-video/mjpegtools/files/mjpegtools-2.2.1-puts-c99-configure.patch
new file mode 100644
index 000000000000..6cbc92ee28ff
--- /dev/null
+++ b/media-video/mjpegtools/files/mjpegtools-2.2.1-puts-c99-configure.patch
@@ -0,0 +1,13 @@
+https://sourceforge.net/p/mjpeg/bugs/144/
+https://bugs.gentoo.org/899868
+--- a/configure.ac
++++ b/configure.ac
+@@ -236,7 +236,7 @@ dnl Check to see if __progname is provided by the system
+ dnl ********************************************************************
+ AC_CACHE_CHECK([for __progname],
+ [mjt_cv_extern___progname],
+- [AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],
++ [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <stdio.h>]],
+ [[extern char *__progname;
+ puts(__progname);]])],
+ [mjt_cv_extern___progname=yes],
diff --git a/media-video/mjpegtools/mjpegtools-2.2.1-r1.ebuild b/media-video/mjpegtools/mjpegtools-2.2.1-r2.ebuild
index 501d8c0b77b0..150ce709ca1b 100644
--- a/media-video/mjpegtools/mjpegtools-2.2.1-r1.ebuild
+++ b/media-video/mjpegtools/mjpegtools-2.2.1-r2.ebuild
@@ -1,7 +1,7 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit autotools multilib-minimal
@@ -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 )"
@@ -42,6 +42,9 @@ src_prepare() {
eapply "${FILESDIR}/${P}-c++17-register-fix.patch"
eapply "${FILESDIR}/${P}-c++17-no-auto_ptr-fix.patch"
+ eapply "${FILESDIR}/${P}-gcc15-template.patch"
+ eapply "${FILESDIR}/${P}-lto.patch"
+ eapply "${FILESDIR}/${P}-puts-c99-configure.patch"
eautoreconf
sed -i -e '/ARCHFLAGS=/s:=.*:=:' configure
diff --git a/media-video/mkclean/Manifest b/media-video/mkclean/Manifest
index 898e905bf97b..dc2b7259955b 100644
--- a/media-video/mkclean/Manifest
+++ b/media-video/mkclean/Manifest
@@ -1,3 +1,3 @@
DIST mkclean-0.8.10.tar.bz2 764380 BLAKE2B 94ce2f7eda5865312e6fdc48b001d824b2216625c36a3a728dd78e93444e23a02e07cacb67281f97e77009e15348c99cdfab19f1c066c4b675c124373196fae9 SHA512 8e12ac906205b14c162f0fd29d9e1a56ee854e7946706adf22c3df40376ddeb2c23a02c499d8146aeafc945381eabb96e16ca33da1323dda5929a1fc1f337892
-EBUILD mkclean-0.8.10.ebuild 1062 BLAKE2B 361eef4e832426f474985bfd4e4728affa2654096e71a21bcbbc81864c06fdffb5af104c4d665d3e52b7ce7a1185ee7783f588422b485f39e66f43901d8f6047 SHA512 906710e27bbb95b8a21f396ef915c4d4772cc8c511df41c5079d64ad68983655edc142af90366368e315f88ea78e980822f933f5bba7dc0047e4a0617d832f85
+EBUILD mkclean-0.8.10-r1.ebuild 1284 BLAKE2B 37578e67587826ad47b2c85d305375093b3b00b4b1c0514bb6670f043ececcb923a3b25eca356cbcf97734f9302d57bbf4d54a602fb6d882185b9368aab82bf8 SHA512 bab9c66c19a7efd442826fb4f3634cd045344d6998510db0ca65eee8a63722e1106a5f7c7003a2df6c4e49bca6fddc37e72526a5d703d6939123c36ac197d6b2
MISC metadata.xml 948 BLAKE2B c47e59e7fc9562d77e7aff7a96bc5257f788a45aa8157b3435e4d310e3058e4acc9e936a600233b36dcc4353155ea6107cb2499a0c35b3f91757cd896f2623d6 SHA512 89187ce2ffeb99410d72ae37871b2346f5f38e0f7899c7ec01b9498a2b666b64c9551957587132abb5039e4b57782a68f36f90972481248fdb49569d13aa52df
diff --git a/media-video/mkclean/mkclean-0.8.10.ebuild b/media-video/mkclean/mkclean-0.8.10-r1.ebuild
index ffa8489edb8c..4e916bbb2f48 100644
--- a/media-video/mkclean/mkclean-0.8.10.ebuild
+++ b/media-video/mkclean/mkclean-0.8.10-r1.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-inherit toolchain-funcs
+inherit flag-o-matic toolchain-funcs
DESCRIPTION="mkclean is a command line tool to clean and optimize Matroska files"
HOMEPAGE="https://www.matroska.org/downloads/mkclean.html"
@@ -14,6 +14,14 @@ SLOT="0"
KEYWORDS="~amd64 ~x86"
src_configure() {
+ # -Werror=strict-aliasing
+ # https://bugs.gentoo.org/861134
+ # https://github.com/Matroska-Org/foundation-source/issues/145
+ #
+ # Do not trust with LTO either.
+ append-flags -fno-strict-aliasing
+ filter-lto
+
tc-export CC CXX
emake -C corec/tools/coremake
diff --git a/media-video/mkvalidator/Manifest b/media-video/mkvalidator/Manifest
index d8e087431a53..3a6006e72dfc 100644
--- a/media-video/mkvalidator/Manifest
+++ b/media-video/mkvalidator/Manifest
@@ -1,3 +1,3 @@
DIST mkvalidator-0.5.2.tar.bz2 612382 BLAKE2B a60b64902e068b82f95f61295088dbf56ab122918e46a36043246310fcf7e4a6c7f997866a8802a119e18305acbbe532acfb7cde907499168f75436b86ad7482 SHA512 c87d89ce97f8c701f73932012af8c8df3d6e5ac8b0ee24e48000f93b0e29e02ce74250565f6a662fa0c9c2fbd9910705e1d1403ac6d2ac2fe54331ef150d00cc
EBUILD mkvalidator-0.5.2.ebuild 893 BLAKE2B ba741177b7b5690c7f9da0202b646fe2ca8045908d8f606dc9e06605c9188a681595d9f9e8e570ca3815291be0e7b369ad0c3800a3cc79c36b46c1ded5794cfd SHA512 93284471572c1a13495442a0c912fc266294cc8942a2f272857809d0d0ee886b2d5543cb76771fe664af8c3bf1c652e2bbb0ec9aee5581e5bc5df11002f92217
-MISC metadata.xml 638 BLAKE2B 13b445e0a282a8a988ba4881c848d1e13f8a60d89f8d84b8b758cf86294448b7bc92d2615f7a1d5121e62bd0d37693d50a9b1d689712bea6b7e21123b985d803 SHA512 fb39cc2d70ef6ca50c005109ef2758ffe989adf617a9e68789e5e3c41a2000a0fe96ec44d91afa1f76a064d63978959d489115715897d5c4fa5d4f2cd47b0373
+MISC metadata.xml 559 BLAKE2B 11f62eb6f82a971d5b87e8d983a73e03313f069c87f16a491b674667fdd7052928c01e6d26845d10b093076ea2d76c23d40f1724f3c1fa84e8f83275f42f25e9 SHA512 682c7c6edb8d32d33ce1f21c097f0d5be4976d5c736f70809df03a0bcd72bc3e4195acab7caffa63ff1fe73218d673f7ff56d8de6669ce65d6e59a0dd52465f5
diff --git a/media-video/mkvalidator/metadata.xml b/media-video/mkvalidator/metadata.xml
index e0c459c24054..6fea51690bb5 100644
--- a/media-video/mkvalidator/metadata.xml
+++ b/media-video/mkvalidator/metadata.xml
@@ -8,7 +8,4 @@
<longdescription lang="en">
mkvalidator is a simple command line tool to verify Matroska and WebM files for spec conformance. It checks the various bogus or missing key elements against the EBML DocType version of the file and reports the errors/warnings in the command line.
</longdescription>
- <upstream>
- <remote-id type="sourceforge">downloads</remote-id>
- </upstream>
</pkgmetadata>
diff --git a/media-video/mkvtoolnix/Manifest b/media-video/mkvtoolnix/Manifest
index 52639666a835..0fccc4251bd7 100644
--- a/media-video/mkvtoolnix/Manifest
+++ b/media-video/mkvtoolnix/Manifest
@@ -1,16 +1,14 @@
-AUX mkvtoolnix-58.0.0-qt5dbus.patch 1500 BLAKE2B f85f6a50bd4d4f44470ec6f85729cfca22518859b34e2cf6e1dac25a35d58170b626afe3a1f12f41b1f2d34d4763ab3b180139b402675071794a0dcd29503209 SHA512 6c6ffc83f6c4ed482347cc172467189add3662430a029d74e94d1373a1f0e519fced494812691d7b38c054bc010f1c670f1f6be97819fc142c402d5264c3595e
-AUX mkvtoolnix-67.0.0-no-uic-qtwidgets.patch 2494 BLAKE2B 1d23ca6e908947d80e3ea7567508714cd73461a7571dda88a227bf9d4ca3ec86113ad596ff64dc6bfea641c8b097fffa1b4b359a17f5b24c0305c7e6628103b7 SHA512 982953a7f992def139140298a5a6b2ceeae6afaf5123b8e12c46523ab1f799994aa2f5d435bebb8091ca63e56bb44310a39a6382c313f8e4083cfea67daff41d
-AUX mkvtoolnix-80.0.0-fix-qtmultimedia.patch 808 BLAKE2B 560d85d4ef07677adb63053997a3198cf7348e8172f052a944fefd26c45c269247e3bd9a3831c9ba70fbabffe74ed7c53ac2637c5c0e1d32f1b5faca907aedfb SHA512 c7d3fce5c74d41db6d27a9c03866afce291dcc329257073cc8767e871847d1c80539b72c0c3392efb5010623d932ac0e4cfa3c86135d264faf9607cc2fa11999
-AUX mkvtoolnix-80.0.0-no-uic-qtwidgets.patch 1035 BLAKE2B ff38fb84285d2f496ebe56325dbb3c0059c41ec32bfbf31c2f45659ee17a2b4d29391d5f7b258b2c8c7d2ffcd25644c32ba4f4c0261e51a83bd518cb967c99a1 SHA512 d0b8ebbb246049ec8749dc1dc14575e41f091c758d323a4b7597475eb6422a0886eb9e4408084d4e386467760903e5fc444685d490216cae6642634318a6eef2
-AUX mkvtoolnix-80.0.0-optional-qtdbus.patch 2501 BLAKE2B 9372aee680a4b20adef6e0b9fe444548b40573ee50a9d9ac7593407d1b9e69670fe3c16ecd2dc3d752154a5414f714f201d00a5a1b4a96065265bd553219c1ba SHA512 75eb5344605ef9c461df7e8d92ce5422d241efe01aa49d148cbb337ac29f589ce83e4e258918dd62246c84fead8d971770ca577d7ead47246b5a74b023503fd1
AUX mkvtoolnix-83.0.0-fix-disable-gui.patch 4772 BLAKE2B 9f1244cd93e1292cc91903846af71dac9bf0a81f2eedebe8166cd3516208a815d7054bec4ad77fb51f4adfc71a6ae5d84eb2096f5dc2d2895adde93d900a5f93 SHA512 f8939d53940fe2cd4a3b4e80b2af111934a5cacb9f87e7d17be9c3a34ce4205ec02ac4a2003c1b55ba97d0c5da132cdd8e123105db02cdcf7dfc289fdbc97314
-DIST mkvtoolnix-77.0.tar.xz 11044004 BLAKE2B 5aa43e155c1318dc6c3fd4418fb59ec498ad488a8459cf0aefa0bc0660ff93dd51f2699642ea633695fbf76ae1b4b6cfddddfca1b0e72e16357b579ce8dbee42 SHA512 b310077cfaddef3163c732943f1aaf7e63fb9f7efb19fdb27a35e2d0ad92dfc4536ea29366b44745f3f918703b02e2d52edb63369c23540df1312f3d54c06bb0
-DIST mkvtoolnix-81.0.tar.xz 11067288 BLAKE2B 64bf3cd1872e3b67c6932ed29527e1dff2f913d257464cdca2d54a62bd2154a820d86bce857f55345aba1bcd5701872dbddcb5a029845d0079159358cb154fb0 SHA512 d23f6d1819437ba77576852141256698997e49066158903e1cea4086b9c05302d6661780e911fc258c028a84f2ac95140f6ba15d2ffd11c23cb92e422febf7c7
-DIST mkvtoolnix-81.0.tar.xz.sig 833 BLAKE2B 37e63e92628d3dcb6e9c9129e09dbef1d1d4e80515a05a9a5684d5d542ef54b024e76f1fac50b242e32172ef24493123b6103ae79fa411eefea7704cd63070d5 SHA512 3975c0b217318fdd9eeed23694c0e25536c694fa6cef63560b48ed79db7827be41cbe9a2cd8d8c1d2555beb436a5191a5ad21f0e5e73f93f2ca1c09be13826cb
+AUX mkvtoolnix-84.0.0-fix-libcxx-c++20.patch 1459 BLAKE2B 0836cb4b8d3df74254257b977272d3e6cdc4e9c0b92a95b17b880b722b942ed1a9eafe2b9bb2b822a2a593264d76f8a0941331db08e3377359b357fd5dd7be4f SHA512 8de434ee48cc4021fdbf2b8edf644f85bcfebf1c76a5ebfe11f74c86eb0564f7820db183ea7f2f3103e84a84428694cc946c142da54a5ee86950841feaa7c89e
+AUX mkvtoolnix-86.0-libfmt-11-fix.patch 726 BLAKE2B 0379ba93dfb9669123492335516a3618cb970ea1ed19234202be7a28aa6276b51f982c596319f921ec0476e7d25b8ff74d46247f21af00838eed2bde22f36ab3 SHA512 6085ce904bf2ecb4fd43e469778f634b8e609a4a0f2733477605ead9b275a12be0fc1204ec09b601b5efb4328d65790ec424c2a542e14c962172b43797fc821f
DIST mkvtoolnix-83.0.tar.xz 11278152 BLAKE2B f57b398c747d90021f2a13e58df23655e898a0bb68ad7f050f7a3fe0018866570fb81780f2d68a8c9ed06b66882578b5a9144c3be1bb9b79bc5f79e13f06bde5 SHA512 e70236249f9f72c4ffeab8222c03cdf373a25643f1b106a1abb695184152be8bb22e3fb5dc67b48e6193d9ac37d0b9b2ea317a31214b92648ac75a82c99f9b5d
DIST mkvtoolnix-83.0.tar.xz.sig 833 BLAKE2B 3eddaa4941d84937a7b771bea66be52979437abb54cd178eb6d24b30628db3ee0ad72f23bea7419a7bc13cfd4f84d6d004b46ad63bad0eeeef8fd05f37bcaf4f SHA512 6d3ac46a40139fff67da61c77a802df243764d8c26c55e3b951d407fd3147bcf985f8a62c21b18c12fabe0afdc535a3449a6bfff3f15a5779b2aed1f94fe0ab7
-EBUILD mkvtoolnix-77.0.ebuild 2981 BLAKE2B eaee5dd08153c3efd23fe7006e9c5980df1e6f62fed5d2303ed65918bfe036efdb450340b48f34492b747f0c5c0e2c4b622e529ee29d4458e26dca8935fec3bd SHA512 57dd6092f75d4fb1d794e59029da33e9c318a2e8f9ba0ca1f436ea8ead67ace12125eda560fbabad1c06390c3f3699202ce35e45120cdf02ad8d3d5b0c43f001
-EBUILD mkvtoolnix-81.0.ebuild 3617 BLAKE2B 68232e3bc6f600d7c33c8d9263193457d1eaa21c42c192c7c02749b0cf8db06b02fa7947b33319af7515af7822f4ddfa2d1adfe8a87c868a5e7c0b7d05d94de1 SHA512 f224a17d42ce74aae9ac6d8a9b7b1c8f38f34656707503d0c6f304fb67ca3ba3ce15d511f6fcab7a9a3038b7a156a6956c10a02e9d66b4fc1ba32fc30400028d
-EBUILD mkvtoolnix-83.0.ebuild 3142 BLAKE2B 0729c1fb0b60510c22c4f49f7ca6de33eacbdaaf0159c477a72ee66a0a509cfa78f8794188c92ca39523145aa4f3a1d3fefae9f36794594da0191128a3806512 SHA512 0a9ab9519b11e9feb4c0f954ecc2188f4ba0b3ad32f851ec6de6d3ca5917a9952ff86c1acc02591300d7f359792c25ac25fd0faaa37accbf3c8c3efa74a5eaca
-EBUILD mkvtoolnix-9999.ebuild 3040 BLAKE2B d4501f0109ba20046cd9d85745f3961d956fb80f7e0ca6cf185f4098306c694a59d9e99f7f6833dc49eba04c2820e249601bd679762958632de949b6475c07f4 SHA512 591f3488f22f9b892882ce4a618e4a7d357852436bad128a33b53a0ab6896b3d76e1c299c31125b6ba5256c21e8a1ec479e556c40ec2c2d70d795ba0e90f030f
+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
+EBUILD mkvtoolnix-83.0.ebuild 3138 BLAKE2B 71c5d5528b5a6b1f4fa70e85e9cfe0c2aacb292f0d088d93cd6b441fa0b300e5eef9d8d4e9be0ab32d2004c8a046fb2ea8a398a9b2b77ae75f6471be20d6f997 SHA512 0323f6e04b0d32e9ba2bc9c0fef1dce65ab23b2cd6e959a3b4572aedcf3c1f42e3d8e2411891f96d7bf2c9eade8090caba095422be82326434937e3ee3d828df
+EBUILD mkvtoolnix-84.0-r1.ebuild 3191 BLAKE2B cdbcd27d650f4e193a2fc76ff1e97f06be5b2ab49656332a235655465a87998546a160d18e35574c2814db700988951f6933cb8261752dc3b3f8c8b821e6024e SHA512 f5390992e4a381d5744f998fe624b633b2f141c7ee0d47aaced4d5903f1e33c958f8c33c0924106fa4975de03902071f53d816102a865028f9dddfea74947bfd
+EBUILD mkvtoolnix-86.0.ebuild 3186 BLAKE2B c735b0f489a99e25af136a90ac5b01e2b53bb88a2e0e5d2d4b60a8174f28feb72d50dcf22f4041bc68a36a7375c8fa82c547a7c61fd1744d4c59e4320d47fb60 SHA512 3b5ce2d2ad875d831b21927a1b0b3055f12aed75d5b717d715cdfefa5e8e6c62c77e0a98a6486eeb4d7332f0b173b6b997a42a05777a1e92c61d627981d61edf
+EBUILD mkvtoolnix-9999.ebuild 3122 BLAKE2B 08bd971c6a8eac6d5c328e864692176097b8c10fe00da64d2985626b2fa5eab4dc239f7042ebe152a8c566e047b217924935e2ec0d31a8ac3f6fe60beacd0649 SHA512 3adf6b36985c95a0112274021bb80419ac51a652aa6a6004e46357488bf34e3367849bc35e7ead16e78012b36632d4cfc6aaa0daff7456451628cc72f04fa68c
MISC metadata.xml 343 BLAKE2B b13d9c252a7ad2f27c772c43d3476eee87d9a173c8fcc04a3be28ca9cfb826e6f1de6eade1211b4ff5f4a379b20a0961667fc99eee91495589e0632ad94b4c0a SHA512 cb7fd77f65779de841da03890fd1d0031cea8a95153f116f01f1be7d8ef5b87bb760933fc74f64a1d49ce94bc897cde94fdd4f6b45c016c3c20b842097692dc0
diff --git a/media-video/mkvtoolnix/files/mkvtoolnix-58.0.0-qt5dbus.patch b/media-video/mkvtoolnix/files/mkvtoolnix-58.0.0-qt5dbus.patch
deleted file mode 100644
index fb94686d27ef..000000000000
--- a/media-video/mkvtoolnix/files/mkvtoolnix-58.0.0-qt5dbus.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-Index: mkvtoolnix-58.0.0/ac/qt5.m4
-===================================================================
---- mkvtoolnix-58.0.0.orig/ac/qt5.m4
-+++ mkvtoolnix-58.0.0/ac/qt5.m4
-@@ -98,12 +98,14 @@ 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])
-- fi
-+ 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
-
- with_qt_pkg_config_modules="`echo "$with_qt_pkg_config_modules" | sed -e 's/,/ /g'`"
-@@ -244,6 +246,11 @@ AC_ARG_WITH([qt_pkg_config_modules],
- AC_ARG_WITH([qt_pkg_config],
- AC_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
-
diff --git a/media-video/mkvtoolnix/files/mkvtoolnix-67.0.0-no-uic-qtwidgets.patch b/media-video/mkvtoolnix/files/mkvtoolnix-67.0.0-no-uic-qtwidgets.patch
deleted file mode 100644
index a5f5fd2009b8..000000000000
--- a/media-video/mkvtoolnix/files/mkvtoolnix-67.0.0-no-uic-qtwidgets.patch
+++ /dev/null
@@ -1,76 +0,0 @@
-https://bugs.gentoo.org/844097
-
-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.
-
-First hunk (ac/qt5.m4, removing UIC check): Signed-off-by: Duane Robertson duane@duanerobertson.com
-Second hunk (rest, adding UIC check conditional on enable_gui): Signed-off-by: Sam James <sam@gentoo.org>
---- a/ac/qt5.m4
-+++ b/ac/qt5.m4
-@@ -51,7 +51,6 @@ check_qt5() {
- AC_PATH_PROG(LCONVERT, lconvert,, [$qt_searchpath])
- AC_PATH_PROG(MOC, moc,, [$qt_searchpath])
- AC_PATH_PROG(RCC, rcc,, [$qt_searchpath])
-- AC_PATH_PROG(UIC, uic,, [$qt_searchpath])
-
- if test x"$MOC" = x; then
- AC_MSG_CHECKING(for Qt 5)
-@@ -62,11 +61,6 @@ check_qt5() {
- AC_MSG_CHECKING(for Qt 5)
- AC_MSG_RESULT(no: could not find the rcc executable)
- return
--
-- elif test x"$UIC" = x; then
-- AC_MSG_CHECKING(for Qt 5)
-- AC_MSG_RESULT(no: could not find the uic executable)
-- return
- fi
-
-
-
---- a/ac/qt_common.m4
-+++ b/ac/qt_common.m4
-@@ -5,6 +5,37 @@ fi
- if test x"$enable_gui" = xyes; then
- BUILD_GUI=yes
-
-+ # Copied from ac/qt6.m4.
-+ qmake_properties="`mktemp`"
-+
-+ "$QMAKE" -query > "$qmake_properties"
-+
-+ qmake_ver="`$ac_cv_path_EGREP '^QT_VERSION:' "$qmake_properties" | sed 's/^QT_VERSION://'`"
-+
-+ AC_MSG_CHECKING(for qmake's version)
-+ if test -z "qmake_ver"; then
-+ AC_MSG_RESULT(unknown; please contact the author)
-+ return
-+ elif ! check_version $qt_min_ver $qmake_ver; then
-+ AC_MSG_RESULT(too old: $qmake_ver, neet at least $qt_mIN-ver)
-+ return
-+ else
-+ AC_MSG_RESULT($qmake_ver)
-+ fi
-+
-+ qt_bindir="`$ac_cv_path_EGREP '^QT_INSTALL_BINS:' "$qmake_properties" | sed 's/^QT_INSTALL_BINS://'`"
-+ qt_libexecdir="`$ac_cv_path_EGREP '^QT_INSTALL_LIBEXECS:' "$qmake_properties" | sed 's/^QT_INSTALL_LIBEXECS://'`"
-+ qt_searchpath="$qt_libexecdir:$qt_bindir:$PATH"
-+
-+ rm -f "$qmake_properties"
-+
-+ AC_PATH_PROG(UIC, uic,, [$qt_searchpath])
-+ if test x"$UIC" = x; then
-+ AC_MSG_CHECKING(for Qt 5 UIC (qtwidgets))
-+ AC_MSG_RESULT(no: could not find the uic executable)
-+ exit 1
-+ fi
-+
- if test x"$have_qt6" = "xyes" ; then
- opt_features_yes="$opt_features_yes\n * MKVToolNix GUI (with Qt 6)"
- else
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-84.0.0-fix-libcxx-c++20.patch b/media-video/mkvtoolnix/files/mkvtoolnix-84.0.0-fix-libcxx-c++20.patch
new file mode 100644
index 000000000000..9a45aaa9cb9e
--- /dev/null
+++ b/media-video/mkvtoolnix/files/mkvtoolnix-84.0.0-fix-libcxx-c++20.patch
@@ -0,0 +1,44 @@
+https://bugs.gentoo.org/933417
+https://gitlab.com/mbunkus/mkvtoolnix/-/issues/3695
+https://gitlab.com/mbunkus/mkvtoolnix/-/commit/7e1bea9527616ab6ab38425e7290579f05dd9bb1
+
+From 7e1bea9527616ab6ab38425e7290579f05dd9bb1 Mon Sep 17 00:00:00 2001
+From: Moritz Bunkus <mo@bunkus.online>
+Date: Tue, 30 Apr 2024 16:05:35 +0200
+Subject: [PATCH] replace removed `std::result_of` with `std::invoke_result`
+
+`std::result_of` was deprecated in C++17 & removed in C++20. A lot of
+compilers still make it available even when running in C++20 mode,
+while others don't.
+
+Therefore replace it with equivalent use of `std::invoke_result`.
+
+Fixes #3695.
+--- a/NEWS.md
++++ b/NEWS.md
+@@ -1,3 +1,11 @@
++# Version ?
++
++## Bug fixes
++
++* fixed compilation of `src/common/sorting.h` with certain compilers due to
++ the deprecation & removal of `std::result_of<>` in C++20. Fixes #3695.
++
++
+ # Version 84.0 "Sleeper" 2024-04-28
+
+ ## New features and enhancements
+--- a/src/common/sorting.h
++++ b/src/common/sorting.h
+@@ -27,7 +27,7 @@ namespace mtx::sort {
+
+ template< typename Titer
+ , typename Tcriterion_maker
+- , typename Tcriterion = typename std::result_of< Tcriterion_maker(typename std::iterator_traits<Titer>::value_type) >::type
++ , typename Tcriterion = typename std::invoke_result< Tcriterion_maker, typename std::iterator_traits<Titer>::value_type >::type
+ , typename Tcomparator = std::less<Tcriterion>
+ >
+ void
+--
+GitLab
+
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-83.0.ebuild b/media-video/mkvtoolnix/mkvtoolnix-83.0.ebuild
index 393a62599642..2cef711afba8 100644
--- a/media-video/mkvtoolnix/mkvtoolnix-83.0.ebuild
+++ b/media-video/mkvtoolnix/mkvtoolnix-83.0.ebuild
@@ -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
diff --git a/media-video/mkvtoolnix/mkvtoolnix-81.0.ebuild b/media-video/mkvtoolnix/mkvtoolnix-84.0-r1.ebuild
index 077c325ecc46..f5eaf0cade1f 100644
--- a/media-video/mkvtoolnix/mkvtoolnix-81.0.ebuild
+++ b/media-video/mkvtoolnix/mkvtoolnix-84.0-r1.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-84.0.0-fix-libcxx-c++20.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/mkvtoolnix/mkvtoolnix-77.0.ebuild b/media-video/mkvtoolnix/mkvtoolnix-86.0.ebuild
index 19b76609dc6a..b44d36acb42f 100644
--- a/media-video/mkvtoolnix/mkvtoolnix-77.0.ebuild
+++ b/media-video/mkvtoolnix/mkvtoolnix-86.0.ebuild
@@ -1,17 +1,25 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
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
+
EGIT_REPO_URI="https://gitlab.com/mbunkus/mkvtoolnix.git"
EGIT_SUBMODULES=()
- inherit git-r3
else
- SRC_URI="https://mkvtoolnix.download/sources/${P}.tar.xz"
- KEYWORDS="amd64 ppc ppc64 x86"
+ inherit verify-sig
+
+ SRC_URI="
+ https://mkvtoolnix.download/sources/${P}.tar.xz
+ verify-sig? ( https://mkvtoolnix.download/sources/${P}.tar.xz.sig )
+ "
+ KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
+
+ VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/mkvtoolnix.asc"
fi
DESCRIPTION="Tools to create, alter, and inspect Matroska files"
@@ -19,7 +27,7 @@ HOMEPAGE="https://mkvtoolnix.download/ https://gitlab.com/mbunkus/mkvtoolnix"
LICENSE="GPL-2"
SLOT="0"
-IUSE="dbus debug dvd gui nls pch test"
+IUSE="debug dvd gui nls pch test"
RESTRICT="!test? ( test )"
# check NEWS.md for build system changes entries for boost/libebml/libmatroska
@@ -27,26 +35,23 @@ RESTRICT="!test? ( test )"
RDEPEND="
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-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:=
+ media-libs/libogg
+ media-libs/libvorbis
sys-libs/zlib
dvd? ( media-libs/libdvdread:= )
- dev-qt/qtcore: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
+ 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
)
- app-text/cmark:0=
- dbus? ( dev-qt/qtdbus:5 )
"
DEPEND="${RDEPEND}
>=dev-cpp/nlohmann_json-3.9.1
@@ -64,9 +69,12 @@ BDEPEND="
)
"
+if [[ ${PV} != *9999 ]] ; then
+ BDEPEND+="verify-sig? ( sec-keys/openpgp-keys-mkvtoolnix )"
+fi
+
PATCHES=(
- "${FILESDIR}"/mkvtoolnix-58.0.0-qt5dbus.patch
- "${FILESDIR}"/mkvtoolnix-67.0.0-no-uic-qtwidgets.patch
+ "${FILESDIR}"/mkvtoolnix-86.0-libfmt-11-fix.patch
)
src_prepare() {
@@ -79,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
@@ -92,16 +103,7 @@ src_configure() {
local myeconfargs=(
$(use_enable debug)
$(usex pch "" --disable-precompiled-headers)
- $(use_enable dbus)
-
- # 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.
- --disable-qt6
- --enable-qt5
$(use_enable gui)
- --with-qmake="$(qt5_get_bindir)"/qmake
-
$(use_with dvd dvdread)
$(use_with nls gettext)
#$(use_with nls po4a)
@@ -109,6 +111,11 @@ 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.
+ --with-qmake6="$(qt6_get_bindir)"/qmake
)
# Work around bug #904710.
diff --git a/media-video/mkvtoolnix/mkvtoolnix-9999.ebuild b/media-video/mkvtoolnix/mkvtoolnix-9999.ebuild
index de1b5ed169c7..6731cce63b2d 100644
--- a/media-video/mkvtoolnix/mkvtoolnix-9999.ebuild
+++ b/media-video/mkvtoolnix/mkvtoolnix-9999.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
@@ -33,7 +33,6 @@ 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.5:=
@@ -47,9 +46,11 @@ RDEPEND="
sys-libs/zlib
dvd? ( media-libs/libdvdread:= )
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}
@@ -82,6 +83,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
diff --git a/media-video/motion/Manifest b/media-video/motion/Manifest
index e858f6e4f7d0..3cebbbef5b2c 100644
--- a/media-video/motion/Manifest
+++ b/media-video/motion/Manifest
@@ -4,6 +4,6 @@ AUX motion.confd-r5 884 BLAKE2B 63c497e942ae499271504d308f826f23d718ac968f7735e3
AUX motion.initd-r5 1392 BLAKE2B 87ac71a1e75ace73ac28c52ff0b1d6bbce364e6d43ef8604f3b90c08646fcf4a66abb4d7b16170eb63e7f7f65e5155382c9bf12ff074feffd2c6f3f16479518c SHA512 0060c062e7ce7f3b9c6ae70d0d6830a1676d9a173072bb3464b42fc2bd595d6237524a1ea916f60268533087647e81eef3b39a1b086cf8e8970837d96e48146c
AUX motion.service-r4 497 BLAKE2B 8941424317635d214e74d5d558a443212129c38fed9921b101bd3689d743ed6bd68e30748075ae8c5d26aa10732fc6ce1f08707c9ed559eb89a27322e57e0995 SHA512 44e0fa13e4d93af517a06bac5191d16d528648c6b3eb9d56f80e447db7ef46b311acf6fd1d2159a24fa22200be41bdc62eeef8670ddba918bdd28f6d710f90c0
DIST motion-release-4.5.1.tar.gz 856665 BLAKE2B 59ae638113c7f08ced4b18d7c4f19e3b3f1850ba0cd4c224b300be5ac65ae3b45aa391f26f506a91bb4c38a47b552c71db846d2b3217ccf0b2f5799873ab7ddb SHA512 3b8b60ad4f41c37cc215aa575b0295ee99b15f2d32cbf3393c0f7cdd8d87616cca1c00e11cb7bf74e4afa285caa094f08df3ba62ab21dcb28a48336e3ff5803e
-EBUILD motion-4.5.1-r3.ebuild 2348 BLAKE2B d55e46855de12b6c63cf90540d129aa93f387cf91ff890f00a06215b583b748f0b1528d3b9a6f323424ef343fcec515566b61f26081b2684eab6b80a8feebc30 SHA512 665dcb6486be8eaf3e82c9afd93c47f6fc29361a273159873908fabfe1934d6c017a220251be20ac3a8de4a6ac591c240684646a1ef3bf6d2b72d04364e0d546
-EBUILD motion-4.5.1-r4.ebuild 2281 BLAKE2B 45c63007c6a8e91866412f4bf8b67b7d224c7015ff903dbd0750324d2dbc06744faad2de30468ee1221bdb8ee5d5843b4544a6fdb8a339369c91755d1949c40c SHA512 efef2a9774338ab4951107f08abc523a3d1b7957ccdf68e672f0658c7f3d7179f469fb51c67891f4c847b726d06f94fb57656d66e5e96814240a5746a31b05f4
+EBUILD motion-4.5.1-r3.ebuild 2342 BLAKE2B fc35de7f4f3236dc84afb32727671bbb6baa7d697b7373ce8bfcec8aa82c6adf401d75194ad3b3b931ae0c46f0e811aa56a0f12d28aeb352fe55aec773b840d7 SHA512 0669ddd7b26388f24ea120614dac71c23c3d191ef36cb08598b1418746e9e59aac69b89ac1e66dd98e14f1033a941752459678e53f5268bd23283aa51d999d47
+EBUILD motion-4.5.1-r4.ebuild 2275 BLAKE2B 94b3ff22e3f6080fcc1dca0b104fda2268d967f2b55a376b61c7cd264880910b8ce11b7c5704d7280dc93f9384295c1f51b8506ff38229b3b22ad7c672d4d8de SHA512 2e7aeaf92759636de9c1eb9dd701130a386805cf888725737fd40b23e9e6a1b2a2478fad917720f8bfb1d92c58242b09c4a1fd41044f179b290a7c55cb8c78f4
MISC metadata.xml 766 BLAKE2B 1385dc89a2d67fc06b0c430b7cb6a606ce22af15c633edc78382e48bc14e423a2a4ff1553531e0e373151e48d2fed1ab78f9da67680fda3eea6b3d717b077d22 SHA512 8c944d3b1bb54b25597bae085b3fdc3da3ff3677eb97fee314558597917355a2fa4db4216720dc51aa171bb032eb426ae8b1d3c9bc5efed3662af75d8d49cc54
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/Manifest b/media-video/mplayer/Manifest
index 7e5285c73c1f..2e29f4aa1267 100644
--- a/media-video/mplayer/Manifest
+++ b/media-video/mplayer/Manifest
@@ -1,5 +1,6 @@
AUX dump_ffmpeg.sh 2529 BLAKE2B 2c945fcf0b430d74c85557f82497dbc4a2a8308ecb34c86e42cc3c6a5eed20496691839355c068ccabf6d20d11d62035231aa208341a1ce9affc44b3e30acfde SHA512 12c15efa5cdb99eac92ff808fa56c6137343cca48b73d5875a7a6b08cf36ebeda5022eb3bae0ba567ff9031d2a0f3b5dbe69ee191ae8ecf48b98a779504df66c
AUX mplayer-1.5_p20230618-gcc13.patch 292 BLAKE2B aad7ac768588ffbaa8feae922d27fcc3d6616cc9945aa102fa8d39a6d1e307eb2d6c76701b95ee1bf5112adec43c8798d877d1c43d450a1ccb0f19620e233ab1 SHA512 7aab19376f93b147d53d48aba5ab0a5d1de1d6bae09ca320138cd12b17952c3ab805918ff994abc27d5e84db98265004c063590370ff009e772ed2344d96f97e
+AUX mplayer-1.5_p20231206-incompatible-pointers.patch 12710 BLAKE2B ffb645ea8adfb987ad4cba597184fbc13b11620376962422446172a37addc5f44f7d2e0bafeed26082704d7d16a499a70ded60696e425a287eb5f96cb8cf3342 SHA512 fccfadf4497e5ab6fc80f5b536fd5a1b2f9cf13c4ff58cfbdc1120af88f76c2dce1362878bbd09a37ef6d7c4d88ded271431fb0a9570a00a2b920f8fe2ba82e9
AUX prepare_mplayer.sh 1490 BLAKE2B f322b1165ea0036ce6e4935d0bc8eb35a1e8f31cff0c579743ba35283809ed725a36008b7e4f34f0a397d7083742ac722bf08100a8035d7e2e265c7bdf5cf9ea SHA512 45019f8d5802e8411e55a6cac41b388ccf1ac0d869a30b4d373925291c37f837c59d5b656813029175c6fba342e4145d9e20f2ef2040a8dc2459a33fb265191b
DIST font-arial-cp1250.tar.bz2 249705 BLAKE2B eb4366a110d917dc975b8add168ab43b1e8a0db7342647f69f5421fc1170719015c97ffa770e89892cbb4cee8e5b2fb74a4772c8f6cbef9606ee12c3746d78c9 SHA512 4f77ff5ceb8ec6e5d9f8f34d8950a6a6276d1fd5a947772fcbdb6554988b1ea665c12b82f45164f91fb7bd08000cb4afc26fa35beb4c760464160e22b9b8c340
DIST font-arial-iso-8859-1.tar.bz2 234242 BLAKE2B 0671854e1a257d27b502affb59de681942a93990d3ac2575bbf1a6dd9eef026969f2f9ce4e9c11a68ea3d8aed48063f826a1e153f7468437a39791672c92a5d0 SHA512 a1d03b6f09c48f48b7733f3bc0402ceab239a9abf88b860d852ea9fe69b4da690208a79d6f29d30204f5b37becf10672e8e8c0bfef201846d80ec54df617d029
@@ -7,8 +8,8 @@ DIST font-arial-iso-8859-2.tar.bz2 222208 BLAKE2B 94b1a04672bf9b4b20a0e6981591e7
DIST mplayer-1.5_p20230215.tar.xz 15454028 BLAKE2B 08012f9b955921d832ab268a6e52e22e018b669787ff5e1c1ac734bd85083138551ad1065d5e4f5f9c977b804f8135ee89d2fd0590fb7228d4916b458cc58efa SHA512 f93d222817ff59ac7708956d6e8d5e9ee2084b4e724f66ea9fe4ffd477b864c2d0546d8df97511d499495ee446239645216a1e027d70eed434a3c64331f5ac73
DIST mplayer-1.5_p20230618.tar.xz 15101476 BLAKE2B 74f1d2d579c83330d8bf1e1ce2a89592f62142f361ff0e4107710c80de4351a5807e344869cb55ff5b5856efaedb6cfe242483f8e7f97521b805f84ca23e3818 SHA512 874e76b3edfccb7475349d954ed49860f92a5e99f0374084f5da53af35326365bb064c460fb6527d2fb6d8ae20d9e059ba197f45d4de42bc7a78992b5191a7cb
DIST mplayer-1.5_p20231206.tar.xz 15212032 BLAKE2B c4658a0070296a9e24bb8388787a2ef322fefad4f4ea095bbf3f95b20f2e32b0423814ae311e43c9a6ef20afe0970540abd5d6d0ae0ebd59df74a8beb7abe3df SHA512 480502c735fb8d24ea1761a2b3f7daf1872df268f44791c7141f5b444b583beb0e4ecebe94e04129d27aae27656baddfb2da50406a431f1df39c589baac69432
-EBUILD mplayer-1.5_p20230215.ebuild 17501 BLAKE2B 84cdc744deb52c78e3bed5b8d41a9a64233505b9d851cc0bc402840bd2e9bbabe2af4fd63a68c476c696cf7793fb580bb28391b891bb3985f5ceefe5271a899a SHA512 3fb5a1c6325a0878c8ac9f017502c33f820932be898becfc36625a1115462a358e59a947f80913f4cbb404935bec751fc52ab5d831950567a1dc9d1aa446a847
-EBUILD mplayer-1.5_p20230618.ebuild 17893 BLAKE2B 96f7f68b54ea6940a8a7858c18adbdeb72c35b7078445075dcbe2f956bf6e2e9d23b2a4eed14b34ff5ad395397cbb368517b430db6e5b13d7852aef0973e7d3c SHA512 3e68896891cff03089954a413aedff501c48672306776ad09da74d6b9793a21f1b63d63c26b94709075d42dfd32d2746d95d828c5efd5ebc66be743f584fe384
-EBUILD mplayer-1.5_p20231206.ebuild 17853 BLAKE2B 4407c637b5ae7eb5c9c07661ac617dcf0d48877e1b2447ff50dfc109e5cc14a8993ef10e015ad98db8c76a19dd51735b16da379ca2707b18e03b3286019c2197 SHA512 c33825186eddbd6d1cab2f490663318ec815f880c86466efba09ea80f7dc367a9fbbb7852d5ef109d3b2651d50a67ebfd937728e8fb6471258b50c1fe1ee6480
-EBUILD mplayer-9999.ebuild 17853 BLAKE2B 4407c637b5ae7eb5c9c07661ac617dcf0d48877e1b2447ff50dfc109e5cc14a8993ef10e015ad98db8c76a19dd51735b16da379ca2707b18e03b3286019c2197 SHA512 c33825186eddbd6d1cab2f490663318ec815f880c86466efba09ea80f7dc367a9fbbb7852d5ef109d3b2651d50a67ebfd937728e8fb6471258b50c1fe1ee6480
+EBUILD mplayer-1.5_p20230215.ebuild 17495 BLAKE2B 00fbaddadf64602f68a02c1fadf950081697f749003454165154792c78e0da4a4132e1c766c5fefece67ea98b947324a2e0f1ebc13a733b36368b416fe68850e SHA512 ea127eb56b1a6f5df61e9ed7fabea50ea56b53f9f3c3986acd8aa9fee638fc11495d80d62e8e990489f4488f87aa72d2e1977693dd48304fec50076d506091b2
+EBUILD mplayer-1.5_p20230618.ebuild 17887 BLAKE2B 09ffce401d06826d180e5694469fc2014e97abfe7417f60b00c2469e16c59c3e2d2fb506d5b5573724bd6e391497e0dfb237166e6ef6eef1333a35f341c41bc7 SHA512 7a82ebee32e708ea5133a79f7b3e1d4f1102bbad8c874d3a3bc7def70361fd8703140455f4a35af3752a143b0ec4249208aaa76ff5e655c4639b3eb2bc4aa39a
+EBUILD mplayer-1.5_p20231206.ebuild 17908 BLAKE2B 15016d72084f6dfacee9bb4e21f3d62421b4f8c625b323071f1dc288231850c6c0eb7e216b6e14221edae2041abcae19d7d6a6df6a595d3e561172df561c9235 SHA512 bab83f04006922dfd467e1ecd904d8e206b1468c2d49f449e8b11fc381606f4d11ffd496c620b87b72ff0bf1dc2da9f12d84674d461460503421740a5373bee9
+EBUILD mplayer-9999.ebuild 17847 BLAKE2B 9f9ee521826c84609cb6c7642cf031da978c7b0ed5f52ed4d71dda64b68824a7710d8caa94e062f0aedc68b8076a39ff0e90e3e8edb6fca7088400699417d7b2 SHA512 ab3adb7ce75b94544cbea35f4e4e18792d9103847138529700ef33540dcb3ff68cc23fe1239af23346c6dfd3f1b2b10dcf02911410627787d091e3b9b372c1c7
MISC metadata.xml 2475 BLAKE2B 5a083ce5b8ed729245ec9eaf544be95f6cbdb9fcb5b80d3a21195557c3aede46d09bd93a0d1acd3830fc796f90dd5f15a17a3d3c69ba2a1a54a0676264dd02de SHA512 f04082ffd63adf9102dd82eb5b4c628fbf912701c7dae69f0b00bbad4e0957355e43369912e9422acc087200de982920c212efb60ba9c26675f74fd5f37fd739
diff --git a/media-video/mplayer/files/mplayer-1.5_p20231206-incompatible-pointers.patch b/media-video/mplayer/files/mplayer-1.5_p20231206-incompatible-pointers.patch
new file mode 100644
index 000000000000..2fe47a941685
--- /dev/null
+++ b/media-video/mplayer/files/mplayer-1.5_p20231206-incompatible-pointers.patch
@@ -0,0 +1,287 @@
+--- a/libaf/af_lavcresample.c
++++ b/libaf/af_lavcresample.c
+@@ -156,7 +156,7 @@ static af_data_t* play(struct af_instance_s* af, af_data_t* data)
+
+ memcpy(s->in[0], in, in_len);
+
+- ret = swr_convert(s->swrctx, &s->tmp[0], out_len/chans/2, &s->in[0], in_len/chans/2);
++ ret = swr_convert(s->swrctx, &s->tmp[0], out_len/chans/2, (const uint8_t **)&s->in[0], in_len/chans/2);
+ if (ret < 0) return NULL;
+ out_len= ret*chans*2;
+
+--- a/libmpcodecs/ad_spdif.c
++++ b/libmpcodecs/ad_spdif.c
+@@ -131,7 +131,7 @@ static int init(sh_audio_t *sh)
+ // FORCE USE DTS-HD
+ if (lavf_ctx->streams[0]->codecpar->codec_id == AV_CODEC_ID_DTS)
+ av_dict_set(&opts, "dtshd_rate", "768000" /* 192000*4 */, 0);
+- if ((res = avformat_write_header(lavf_ctx, opts)) < 0) {
++ if ((res = avformat_write_header(lavf_ctx, (AVDictionary **)opts)) < 0) {
+ av_dict_free(&opts);
+ if (res == AVERROR_PATCHWELCOME)
+ mp_msg(MSGT_DECAUDIO,MSGL_INFO,
+--- a/libmpcodecs/vd_ffmpeg.c
++++ b/libmpcodecs/vd_ffmpeg.c
+@@ -739,7 +739,7 @@ static int get_buffer(AVCodecContext *avctx, AVFrame *pic, int isreference){
+ if (ctx->use_vdpau) {
+ VdpVideoSurface surface = (VdpVideoSurface)mpi->priv;
+ avctx->draw_horiz_band= NULL;
+- mpi->planes[3] = surface;
++ mpi->planes[3] = (unsigned char *)surface;
+ }
+ #endif
+ #if CONFIG_XVMC
+--- a/libmpcodecs/vf_pp.c
++++ b/libmpcodecs/vf_pp.c
+@@ -142,7 +142,7 @@ static int put_image(struct vf_instance *vf, mp_image_t *mpi, double pts, double
+
+ if(vf->priv->pp || !(mpi->flags&MP_IMGFLAG_DIRECT)){
+ // do the postprocessing! (or copy if no DR)
+- pp_postprocess(mpi->planes ,mpi->stride,
++ pp_postprocess((const uint8_t **)mpi->planes ,mpi->stride,
+ vf->dmpi->planes,vf->dmpi->stride,
+ (mpi->w+7)&(~7),mpi->h,
+ mpi->qscale, mpi->qstride,
+--- a/libmpcodecs/vf_scale.c
++++ b/libmpcodecs/vf_scale.c
+@@ -439,14 +439,14 @@ static void scale(struct SwsContext *sws1, struct SwsContext *sws2, uint8_t *src
+ int src_stride2[MP_MAX_PLANES]={2*src_stride[0], 2*src_stride[1], 2*src_stride[2], 2*src_stride[3]};
+ int dst_stride2[MP_MAX_PLANES]={2*dst_stride[0], 2*dst_stride[1], 2*dst_stride[2], 2*dst_stride[3]};
+
+- sws_scale(sws1, src2, src_stride2, y>>1, h>>1, dst2, dst_stride2);
++ sws_scale(sws1, (const uint8_t * const*)src2, src_stride2, y>>1, h>>1, dst2, dst_stride2);
+ for(i=0; i<MP_MAX_PLANES; i++){
+ src2[i] += src_stride[i];
+ dst2[i] += dst_stride[i];
+ }
+- sws_scale(sws2, src2, src_stride2, y>>1, h>>1, dst2, dst_stride2);
++ sws_scale(sws2, (const uint8_t * const*)src2, src_stride2, y>>1, h>>1, dst2, dst_stride2);
+ }else{
+- sws_scale(sws1, src2, src_stride, y, h, dst, dst_stride);
++ sws_scale(sws1, (const uint8_t * const*)src2, src_stride, y, h, dst, dst_stride);
+ }
+ }
+
+--- a/libmpcodecs/vf_screenshot.c
++++ b/libmpcodecs/vf_screenshot.c
+@@ -60,7 +60,7 @@ static void draw_slice(struct vf_instance *vf, unsigned char** src,
+ int* stride, int w,int h, int x, int y)
+ {
+ if (vf->priv->store_slices) {
+- sws_scale(vf->priv->ctx, src, stride, y, h, vf->priv->pic->data, vf->priv->pic->linesize);
++ sws_scale(vf->priv->ctx, (const uint8_t * const*)src, stride, y, h, vf->priv->pic->data, vf->priv->pic->linesize);
+ }
+ vf_next_draw_slice(vf,src,stride,w,h,x,y);
+ }
+@@ -158,7 +158,7 @@ static void scale_image(struct vf_priv_s* priv, mp_image_t *mpi)
+ if (!priv->pic->data[0])
+ priv->pic->data[0] = av_malloc(priv->pic->linesize[0]*priv->dh);
+
+- sws_scale(priv->ctx, mpi->planes, mpi->stride, 0, mpi->height, priv->pic->data, priv->pic->linesize);
++ sws_scale(priv->ctx, (const uint8_t * const*)mpi->planes, mpi->stride, 0, mpi->height, priv->pic->data, priv->pic->linesize);
+ }
+
+ static void start_slice(struct vf_instance *vf, mp_image_t *mpi)
+--- a/libmpdemux/demux_film.c
++++ b/libmpdemux/demux_film.c
+@@ -157,7 +157,7 @@ static int demux_film_fill_buffer(demuxer_t *demuxer, demux_stream_t *ds)
+ free(buf);
+ }
+ else {/* for 16bit */
+- unsigned short* tmp = dp->buffer;
++ unsigned short* tmp = (short unsigned int *)dp->buffer;
+ unsigned short* buf = malloc(film_chunk.chunk_size);
+ for(i = 0; i < film_chunk.chunk_size/4; i++) {
+ buf[i*2] = tmp[i];
+--- a/libmpdemux/demux_lavf.c
++++ b/libmpdemux/demux_lavf.c
+@@ -378,7 +378,7 @@ static void handle_stream(demuxer_t *demuxer, AVFormatContext *avfc, int i) {
+ }
+ case AVMEDIA_TYPE_VIDEO:{
+ AVDictionaryEntry *rot = av_dict_get(st->metadata, "rotate", NULL, 0);
+- const int32_t *disp_matrix = av_stream_get_side_data(st, AV_PKT_DATA_DISPLAYMATRIX, NULL);
++ const int32_t *disp_matrix = (const int32_t *)av_stream_get_side_data(st, AV_PKT_DATA_DISPLAYMATRIX, NULL);
+ sh_video_t* sh_video;
+ BITMAPINFOHEADER *bih;
+ sh_video=new_sh_video_vid(demuxer, i, priv->video_streams);
+--- a/libmpdemux/muxer_avi.c
++++ b/libmpdemux/muxer_avi.c
+@@ -142,8 +142,8 @@ static muxer_stream_t* avifile_new_stream(muxer_t *muxer,int type){
+ static void write_avi_chunk(stream_t *stream,unsigned int id,int len,void* data){
+ int le_len = le2me_32(len);
+ int le_id = le2me_32(id);
+- stream_write_buffer(stream, &le_id, 4);
+- stream_write_buffer(stream, &le_len, 4);
++ stream_write_buffer(stream, (unsigned char *)&le_id, 4);
++ stream_write_buffer(stream, (unsigned char *)&le_len, 4);
+
+ if(len>0){
+ if(data){
+@@ -176,9 +176,9 @@ static void write_avi_list(stream_t *stream, unsigned int id, int len)
+ list_id = le2me_32(list_id);
+ le_len = le2me_32(len);
+ le_id = le2me_32(id);
+- stream_write_buffer(stream, &list_id, 4);
+- stream_write_buffer(stream, &le_len, 4);
+- stream_write_buffer(stream, &le_id, 4);
++ stream_write_buffer(stream, (unsigned char *)&list_id, 4);
++ stream_write_buffer(stream, (unsigned char *)&le_len, 4);
++ stream_write_buffer(stream, (unsigned char *)&le_id, 4);
+ }
+
+ static void avifile_odml_new_riff(muxer_t *muxer)
+@@ -199,7 +199,7 @@ static void avifile_odml_new_riff(muxer_t *muxer)
+ riff[0]=le2me_32(mmioFOURCC('R','I','F','F'));
+ riff[1]=0;
+ riff[2]=le2me_32(mmioFOURCC('A','V','I','X'));
+- stream_write_buffer(muxer->stream, riff, 12);
++ stream_write_buffer(muxer->stream, (unsigned char *)riff, 12);
+
+ write_avi_list(muxer->stream,listtypeAVIMOVIE,0);
+
+@@ -251,12 +251,12 @@ static void avifile_write_header(muxer_t *muxer){
+ movilen = le2me_32(rifflen - 12);
+ rifflen = le2me_32(rifflen);
+ stream_seek(muxer->stream, vsi->riffofs[i]+4);
+- stream_write_buffer(muxer->stream,&rifflen,4);
++ stream_write_buffer(muxer->stream,(unsigned char *)&rifflen,4);
+
+ /* fixup movi length */
+ if (i > 0) {
+ stream_seek(muxer->stream, vsi->riffofs[i]+16);
+- stream_write_buffer(muxer->stream,&movilen,4);
++ stream_write_buffer(muxer->stream,(unsigned char *)&movilen,4);
+ }
+ }
+
+@@ -269,7 +269,7 @@ static void avifile_write_header(muxer_t *muxer){
+ riff[0]=le2me_32(riff[0]);
+ riff[1]=le2me_32(riff[1]);
+ riff[2]=le2me_32(riff[2]);
+- stream_write_buffer(muxer->stream,&riff,12);
++ stream_write_buffer(muxer->stream,(unsigned char *)&riff,12);
+ }
+
+ // update AVI header:
+@@ -406,7 +406,7 @@ static void avifile_write_header(muxer_t *muxer){
+ idxhdr[6] = 0;
+ idxhdr[7] = 0;
+
+- stream_write_buffer(muxer->stream,idxhdr,sizeof(idxhdr));
++ stream_write_buffer(muxer->stream,(unsigned char *)idxhdr,sizeof(idxhdr));
+ for (j=0; j<n; j++) {
+ struct avi_odmlsuperidx_entry *entry = &si->superidx[j];
+ unsigned int data[4];
+@@ -414,7 +414,7 @@ static void avifile_write_header(muxer_t *muxer){
+ data[1] = le2me_32(entry->ofs >> 32);
+ data[2] = le2me_32(entry->len);
+ data[3] = le2me_32(entry->duration);
+- stream_write_buffer(muxer->stream,data,sizeof(data));
++ stream_write_buffer(muxer->stream,(unsigned char *)data,sizeof(data));
+ }
+ }
+ }
+@@ -642,13 +642,13 @@ static void avifile_odml_write_index(muxer_t *muxer){
+ si->superidx[j].ofs = stream_tell(muxer->stream);
+ si->superidx[j].duration = duration;
+
+- stream_write_buffer(muxer->stream, idxhdr,sizeof(idxhdr));
++ stream_write_buffer(muxer->stream, (unsigned char *)idxhdr,sizeof(idxhdr));
+ for (k=0; k<entries_per_subidx && idxpos<si->idxpos; k++) {
+ unsigned int entry[2];
+ entry[0] = le2me_32(si->idx[idxpos].ofs - start);
+ entry[1] = le2me_32(si->idx[idxpos].len | si->idx[idxpos].flags);
+ idxpos++;
+- stream_write_buffer(muxer->stream, entry, sizeof(entry));
++ stream_write_buffer(muxer->stream, (unsigned char *)entry, sizeof(entry));
+ }
+ }
+ }
+--- a/libvo/gl_common.c
++++ b/libvo/gl_common.c
+@@ -2239,7 +2239,7 @@ static XVisualInfo *getWindowVisualInfo(Window win) {
+ XVisualInfo vinfo_template;
+ int tmp;
+ if (!XGetWindowAttributes(mDisplay, win, &xw_attr))
+- return DefaultVisual(mDisplay, 0);
++ return (XVisualInfo *)DefaultVisual(mDisplay, 0);
+ vinfo_template.visualid = XVisualIDFromVisual(xw_attr.visual);
+ return XGetVisualInfo(mDisplay, VisualIDMask, &vinfo_template, &tmp);
+ }
+--- a/libvo/vo_matrixview.c
++++ b/libvo/vo_matrixview.c
+@@ -170,7 +170,7 @@ static void flip_page(void)
+
+ static int draw_slice(uint8_t *src[], int stride[], int w, int h, int x, int y)
+ {
+- sws_scale(sws, src, stride, y, h, map_image, map_stride);
++ sws_scale(sws, (const uint8_t * const*)src, stride, y, h, map_image, map_stride);
+ return 0;
+ }
+
+--- a/libvo/vo_x11.c
++++ b/libvo/vo_x11.c
+@@ -492,7 +492,7 @@ static int draw_slice(uint8_t * src[], int stride[], int w, int h,
+ dst[0] += dstStride[0] * (image_height - 1);
+ dstStride[0] = -dstStride[0];
+ }
+- sws_scale(swsContext, src, stride, y, h, dst, dstStride);
++ sws_scale(swsContext, (const uint8_t * const*)src, stride, y, h, dst, dstStride);
+ return 0;
+ }
+
+--- a/loader/qtx/qtxsdk/components.h
++++ b/loader/qtx/qtxsdk/components.h
+@@ -780,7 +780,7 @@ static inline void dump_CodecDecompressParams(void* xxx){
+ printf("dstrect: %d;%d - %d;%d\n",cd->dstRect.top,cd->dstRect.left,cd->dstRect.bottom,cd->dstRect.right);
+ printf("wantedDestinationPixelTypes=%p\n",cd->wantedDestinationPixelTypes);
+ if(cd->wantedDestinationPixelTypes){
+- unsigned int* p=cd->wantedDestinationPixelTypes;
++ unsigned int* p=(unsigned int *)cd->wantedDestinationPixelTypes;
+ while(p[0]){
+ printf(" 0x%08X %p\n",p[0],&p[0]);
+ ++p;
+--- a/mp_msg.c
++++ b/mp_msg.c
+@@ -70,7 +70,7 @@ const char* filename_recode(const char* filename)
+ filename_len = strlen(filename);
+ max_path = MSGSIZE_MAX - 4;
+ precoded = recoded_filename;
+- if (iconv(inv_msgiconv, &filename, &filename_len,
++ if (iconv(inv_msgiconv, (char ** restrict)&filename, &filename_len,
+ &precoded, &max_path) == (size_t)(-1) && errno == E2BIG) {
+ precoded[0] = precoded[1] = precoded[2] = '.';
+ precoded += 3;
+--- a/mplayer.c
++++ b/mplayer.c
+@@ -3536,7 +3536,7 @@ goto_enable_cache:
+ break;
+ if ((mpctx->demuxer->file_format == DEMUXER_TYPE_AVI || mpctx->demuxer->file_format == DEMUXER_TYPE_ASF || mpctx->demuxer->file_format == DEMUXER_TYPE_MOV)
+ && stream_dump_type == 2)
+- stream_write_buffer(os, &in_size, 4);
++ stream_write_buffer(os, (unsigned char *)&in_size, 4);
+ if (in_size > 0) {
+ stream_write_buffer(os, start, in_size);
+ stream_dump_progress(in_size, mpctx->stream);
+--- a/sub/spudec.c
++++ b/sub/spudec.c
+@@ -899,7 +899,7 @@ static void sws_spu_image(unsigned char *d1, unsigned char *d2, int dw, int dh,
+ ctx=sws_getContext(sw, sh, AV_PIX_FMT_GRAY8, dw, dh, AV_PIX_FMT_GRAY8, SWS_GAUSS, &filter, NULL, NULL);
+ sws_scale(ctx,&s1,&ss,0,sh,&d1,&ds);
+ for (i=ss*sh-1; i>=0; i--) s2[i] = -s2[i];
+- sws_scale(ctx,&s2,&ss,0,sh,&d2,&ds);
++ sws_scale(ctx,(const uint8_t * const*)&s2,&ss,0,sh,&d2,&ds);
+ for (i=ds*dh-1; i>=0; i--) d2[i] = -d2[i];
+ sws_freeContext(ctx);
+ }
+--- a/sub/sub.c
++++ b/sub/sub.c
+@@ -727,7 +727,7 @@ static inline void vo_update_text_sub(mp_osd_obj_t *obj, int dxs, int dys)
+ // reading the subtitle words from vo_sub->text[]
+ while (*t) {
+ if (sub_utf8)
+- c = utf8_get_char(&t);
++ c = utf8_get_char((const char **)&t);
+ else if ((c = *t++) >= 0x80 && sub_unicode)
+ c = (c<<8) + *t++;
+ if (k==MAX_UCS){
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 b7e9b5420e81..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
@@ -194,6 +194,10 @@ REQUIRED_USE="
xv? ( X )"
RESTRICT="faac? ( bindist )"
+PATCHES=(
+ "${FILESDIR}/${P}-incompatible-pointers.patch"
+)
+
pkg_setup() {
if [[ ${PV} == *9999* ]]; then
elog
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 02580937dfa5..689726acbb05 100644
--- a/media-video/mpv/Manifest
+++ b/media-video/mpv/Manifest
@@ -1,7 +1,6 @@
-AUX mpv-0.37.0-drm-fix.patch 1444 BLAKE2B e0645e9b12ebbd0088b10aed34cabadbdb1b06d9cab14c40e9108c09d068c1ccba133dd91ba4c1d0735c67d0a8010003c77b85466343504cb220498fa24ac964 SHA512 8ce946f6043abb274b3051e787f5445ad40a3ea404cb2effcf9a4415a589483861381e54762e31f72d03c4975d01b67b662b6fb8a8a9194d7cd7d8acb4cab084
-DIST mpv-0.37.0.tar.gz 3384190 BLAKE2B 31d8d47ed7ae94540189fe05b7ea63f5b0d5c987a22191f931e4bd90664d05dca4c7e0bd0e05fcdf48b977e38e5f8eec0d2572265f2cf4a969a8a9a9dbf83d68 SHA512 a2f7fb3837312ec59c50427af7be3b2b1b6175a53ccc7463e81503284fc4047dff32cb105d665d80be77ee1ae775d4512b71584f324d6d202c9a7fc1fab53257
DIST mpv-0.38.0.tar.gz 3419741 BLAKE2B 3ff59d30bc305394f58a1fff4f24540aa3be9412bc3cad27bec0c3478f4b7c13190e26847f38edc52996bb9f9a36dd6832c6fccebd6d873058acf78a320e42e4 SHA512 b5b2af59039ef4711814f94bbdfedb37f8ce914301670e42d4ed05fe1900025a3d3a2f3d5e69628a8aad115a647a27c386718959e2df1a18740468b3a84f8975
-EBUILD mpv-0.37.0.ebuild 7087 BLAKE2B 322689b3988e47e41ae050e596518ca46d9f12048568d5d8920c98fe92f48adc28430a6fd92734cbf06ee9d01c74dea7f6aed133a9c8eb7aed50e2ffd2b5c0fb SHA512 b38640e3fae2cdaa8db042779516ce4143af50162af42548e49129c259d44bf76b217744d8541a7cc223f4385f1f9c55ba2fc8e7ea1c257a9034994a3b7f859d
-EBUILD mpv-0.38.0.ebuild 6929 BLAKE2B 64266a19d95204f192c7e3ffb4c1fb6020f3345263cf7efc9a30c29c8caeaf6ff5c3cc1e6a07c30f55b5be05d1276de293a501242eb850d62f77aba0221a780c SHA512 800288819c47ccc9b80005136a7398a8432b5ec12807d269a5374c60f41c699878caa566a3fd270b0d1b4648c079f420cfaa275564763e441ad1f51fea511e6a
-EBUILD mpv-9999.ebuild 6934 BLAKE2B 9d16cd097b73eda03f8463869bbf5da9c5f870805c7714ff99ab8aab9af4fcaa20472097e1f74440018e3cdff5270fb245444093a418be489454b327a013db93 SHA512 da5ffbf99beb5e33e37adecebe6c9d7b75538faa3a7423e64fba49fbe4369d49ddd06ee8acebc7f3be80ca71c13a7c24bcbc4b985a6053c8104fa8748c9e0470
-MISC metadata.xml 2248 BLAKE2B 384962e209948418c928a4a8d903f57a226116929db253847e7977d0febbf3fc23b18f947e9896b5a16e816267eb06c0e64145fc15270f66dca4fe7321c36897 SHA512 c4f1191adacde565a5d6ff6fdf10a9dedc84fae3d04792baac456e37fabcd80f04858031f442dcf1dd07c3d59e2343319c955969b23d0aef456c2d927a76bcbf
+DIST mpv-0.39.0.tar.gz 3494313 BLAKE2B 9f96ba225eb0587d50f8c439359b18f752b98024ab6b40f987be4d57b0ce4b595243f49177ffc48840b351ce19fddc84788b5784b508eb685e58fdfb8e1e0520 SHA512 9cf1d7487b1e9e36d2b731bf951c4d3b9deba95109af408ccfc71b88e85f6de2558e7b4950781667bb4d40e0352742e3ed278559ff34d07905dd459969cbf503
+EBUILD mpv-0.38.0-r1.ebuild 6969 BLAKE2B 9e612ecd1738284c89e1ca1d15767bc6894d600c2a56b56a91d3079ba37a89ad0cede33800ae6446c0babf91597ee33f7d69f462162b8ff852fb8359e432953f SHA512 a2fbb84e9ec8a0108201e6b63c520b7a7d4ff245a293588dee452b275fdaa0c55d4295c9098b44da03aa7c33a97165c687dffbc4a533738e9954bce6b36f360c
+EBUILD mpv-0.39.0.ebuild 6974 BLAKE2B d1d925b0f816c1398d448505c4425c2a1054cf129aa4125d163c16a52b0add1786e4b17a617f0026bedce2494b2157f0d11bc58c6eac9e5898124d359c6ce994 SHA512 c3e0318f9e8531e36e4155e495e15b3f7fbd9c61d72a0b4dfc6300a60d91e782e335a8bcedc9572e8ad232df52d9a6e860dce1056e13ee4571720ac7fe3bd20f
+EBUILD mpv-9999.ebuild 6974 BLAKE2B 9802cfb8d945fdc10cb02bbf612552b85530a845b423ea1b82964af182ae3082087185bcbe7652329843cd383ed39ee759478f8c87f4fd188feb12400651ed96 SHA512 f76e586a9084cdd5b5840bd716c3e8273d1541955eaf253882dd418088df23ca393a257794eafbcea215f1d9cd34762dc7b0e0f50789e35c333bbe1bdf954022
+MISC metadata.xml 2053 BLAKE2B dc35c3bcdb29eb08725a4f908575ecc2afed2d772988ff12ad052c39e9b195a68611e8037b82ee5ceefc33c40d8df666e03aa59d836eeb7c6472bd988f49b4ee SHA512 4e7cd2da4df81f9ecafddfe93788cabbc4f0de0ff9b976af2ab3fb0f63b2d7daee6d8c5607685240f41be37a158b9fa0acd030d8c62da835891d19af3870668c
diff --git a/media-video/mpv/files/mpv-0.37.0-drm-fix.patch b/media-video/mpv/files/mpv-0.37.0-drm-fix.patch
deleted file mode 100644
index 7e10c07eebc1..000000000000
--- a/media-video/mpv/files/mpv-0.37.0-drm-fix.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From e575ec4fc3654387c7358bd3640877ef32628d2c Mon Sep 17 00:00:00 2001
-From: Jan Beich <jbeich@FreeBSD.org>
-Date: Wed, 22 Nov 2023 19:44:13 +0100
-Subject: [PATCH] meson: also expose present_sync for VT-only after
- a96d04f19d73
-
-$ meson setup --auto-features=disabled -Ddrm=enabled -Degl=enabled -Dgbm=enabled -Degl-drm=enabled /tmp/mpv_build
-$ meson compile -C /tmp/mpv_build
-[...]
-ld: error: undefined symbol: mp_present_initialize
->>> referenced by drm_common.c
->>> libmpv.so.2.2.0.p/video_out_drm_common.c.o:(vo_drm_init)
-
-ld: error: undefined symbol: present_sync_update_values
->>> referenced by drm_common.c
->>> libmpv.so.2.2.0.p/video_out_drm_common.c.o:(drm_pflip_cb)
-
-ld: error: undefined symbol: present_sync_swap
->>> referenced by drm_common.c
->>> libmpv.so.2.2.0.p/video_out_drm_common.c.o:(drm_pflip_cb)
-
-ld: error: undefined symbol: present_sync_get_info
->>> referenced by vo_drm.c
->>> libmpv.so.2.2.0.p/video_out_vo_drm.c.o:(get_vsync)
----
- meson.build | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/meson.build b/meson.build
-index a3c3430dd47b..6fd5afa5122a 100644
---- a/meson.build
-+++ b/meson.build
-@@ -1049,7 +1049,7 @@ if features['xv']
- sources += files('video/out/vo_xv.c')
- endif
-
--if features['wayland'] or features['x11']
-+if features['wayland'] or features['x11'] or features['drm']
- sources += ('video/out/present_sync.c')
- endif
-
diff --git a/media-video/mpv/metadata.xml b/media-video/mpv/metadata.xml
index 4fb09acf0a6a..2601ee1c24c1 100644
--- a/media-video/mpv/metadata.xml
+++ b/media-video/mpv/metadata.xml
@@ -13,11 +13,9 @@
<flag name="gamepad">Enable gamepad input support</flag>
<flag name="libmpv">Enable the shared library and headers (used by frontends / plugins)</flag>
<flag name="lua">Enable Lua scripting, OSC (On Screen Controller) GUI, and <pkg>net-misc/yt-dlp</pkg> support</flag>
- <flag name="mmal">Enable Multi-Media Abstraction Layer (MMAL) decoding support: Available e.g. on the Raspberry Pi</flag>
<flag name="opengl">Enable support for OpenGL-based video backends
(Note: deprecated for X11, USE=egl provides the newer support for -gpu-api=opengl)</flag>
<flag name="pipewire">Enable sound support via native PipeWire backend</flag>
- <flag name="raspberry-pi">Enable support for the Raspberry Pi</flag>
<flag name="rubberband">Enable high quality pitch correction via <pkg>media-libs/rubberband</pkg></flag>
<flag name="sdl">Enable <pkg>media-libs/libsdl2</pkg> based video and audio outputs
(Note: these outputs exist for compatibility reasons only, avoid if possible)</flag>
diff --git a/media-video/mpv/mpv-0.38.0.ebuild b/media-video/mpv/mpv-0.38.0-r1.ebuild
index a44f459bb171..0c4db6017737 100644
--- a/media-video/mpv/mpv-0.38.0.ebuild
+++ b/media-video/mpv/mpv-0.38.0-r1.ebuild
@@ -91,7 +91,7 @@ COMMON_DEPEND="
pipewire? ( media-video/pipewire:= )
pulseaudio? ( media-libs/libpulse )
rubberband? ( media-libs/rubberband )
- sdl? ( media-libs/libsdl2[sound,threads,video] )
+ sdl? ( media-libs/libsdl2[sound,threads(+),video] )
sixel? ( media-libs/libsixel )
sndio? ( media-sound/sndio:= )
vaapi? ( media-libs/libva:=[X?,drm(+)?,wayland?] )
@@ -115,6 +115,7 @@ 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="
diff --git a/media-video/mpv/mpv-0.37.0.ebuild b/media-video/mpv/mpv-0.39.0.ebuild
index f7dd7257fca2..31b23432e18e 100644
--- a/media-video/mpv/mpv-0.37.0.ebuild
+++ b/media-video/mpv/mpv-0.39.0.ebuild
@@ -4,7 +4,7 @@
EAPI=8
LUA_COMPAT=( lua5-1 luajit )
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit flag-o-matic lua-single meson optfeature pax-utils python-single-r1 xdg
if [[ ${PV} == 9999 ]]; then
@@ -12,7 +12,7 @@ if [[ ${PV} == 9999 ]]; then
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"
+ KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux"
fi
DESCRIPTION="Media player for the command line"
@@ -23,9 +23,9 @@ 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 mmal nvenc openal opengl pipewire pulseaudio raspberry-pi
- rubberband sdl selinux sixel sndio test tools +uchardet vaapi
- vdpau vulkan wayland xv zimg zlib
+ +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}
@@ -44,11 +44,10 @@ REQUIRED_USE="
"
RESTRICT="!test? ( test )"
-# raspberry-pi: default to -bin given non-bin is known broken (bug #893422)
COMMON_DEPEND="
media-libs/libass:=[fontconfig]
- >=media-libs/libplacebo-6.338:=[opengl?,vulkan?]
- >=media-video/ffmpeg-4.4:=[encode,threads,vaapi?,vdpau?]
+ >=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
@@ -91,22 +90,13 @@ COMMON_DEPEND="
opengl? ( media-libs/libglvnd[X?] )
pipewire? ( media-video/pipewire:= )
pulseaudio? ( media-libs/libpulse )
- raspberry-pi? (
- || (
- media-libs/raspberrypi-userland-bin
- media-libs/raspberrypi-userland
- )
- )
rubberband? ( media-libs/rubberband )
- sdl? ( media-libs/libsdl2[sound,threads,video] )
+ 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/shaderc
- media-libs/vulkan-loader[X?,wayland?]
- )
+ vulkan? ( media-libs/vulkan-loader[X?,wayland?] )
wayland? (
dev-libs/wayland
dev-libs/wayland-protocols
@@ -125,6 +115,7 @@ 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="
@@ -134,10 +125,6 @@ BDEPEND="
wayland? ( dev-util/wayland-scanner )
"
-PATCHES=(
- "${FILESDIR}"/${PN}-0.37.0-drm-fix.patch
-)
-
pkg_setup() {
use lua && lua-single_pkg_setup
python-single-r1_pkg_setup
@@ -207,13 +194,12 @@ src_configure() {
$(meson_feature drm)
$(meson_feature jpeg)
$(meson_feature libcaca caca)
- $(meson_feature mmal rpi-mmal)
$(meson_feature sdl sdl2-video)
$(meson_feature sixel)
$(meson_feature wayland)
$(meson_feature xv)
- -Dgl=$(use egl || use libmpv || use opengl || use raspberry-pi &&
+ -Dgl=$(use egl || use libmpv || use opengl &&
echo enabled || echo disabled)
$(meson_feature egl)
$(mpv_feature_multi egl X egl-x11)
@@ -223,10 +209,8 @@ src_configure() {
$(meson_feature libmpv plain-gl)
$(mpv_feature_multi opengl X gl-x11)
$(mpv_feature_multi opengl aqua gl-cocoa)
- $(meson_feature raspberry-pi rpi)
$(meson_feature vulkan)
- $(meson_feature vulkan shaderc)
# hardware decoding
$(meson_feature nvenc cuda-hwaccel)
@@ -251,6 +235,12 @@ src_configure() {
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
@@ -282,5 +272,6 @@ src_install() {
pkg_postinst() {
xdg_pkg_postinst
- optfeature "URL support with USE=lua" net-misc/yt-dlp
+ 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 3825d102d45b..2ddeff6f6a3a 100644
--- a/media-video/mpv/mpv-9999.ebuild
+++ b/media-video/mpv/mpv-9999.ebuild
@@ -46,8 +46,8 @@ RESTRICT="!test? ( test )"
COMMON_DEPEND="
media-libs/libass:=[fontconfig]
- >=media-libs/libplacebo-6.338.2:=[opengl?,vulkan?]
- >=media-video/ffmpeg-4.4:=[encode,soc(-)?,threads,vaapi?,vdpau?]
+ >=media-libs/libplacebo-7.349.0:=[opengl?,vulkan?]
+ >=media-video/ffmpeg-6.1:=[encode,soc(-)?,threads,vaapi?,vdpau?]
X? (
x11-libs/libX11
x11-libs/libXScrnSaver
@@ -91,7 +91,7 @@ COMMON_DEPEND="
pipewire? ( media-video/pipewire:= )
pulseaudio? ( media-libs/libpulse )
rubberband? ( media-libs/rubberband )
- sdl? ( media-libs/libsdl2[sound,threads,video] )
+ sdl? ( media-libs/libsdl2[sound,threads(+),video] )
sixel? ( media-libs/libsixel )
sndio? ( media-sound/sndio:= )
vaapi? ( media-libs/libva:=[X?,drm(+)?,wayland?] )
@@ -115,6 +115,7 @@ 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="
diff --git a/media-video/obs-studio/Manifest b/media-video/obs-studio/Manifest
index 263c0c621bef..20168b1cb938 100644
--- a/media-video/obs-studio/Manifest
+++ b/media-video/obs-studio/Manifest
@@ -1,9 +1,8 @@
+AUX json11-1.0.0-include-cstdint.patch 258 BLAKE2B 2b7cb5abcbaaaf7c44f1b483716cd68e7a68a5d92f0107847aeb514b93c2b34da1311bd9465ba2077ef568cb7d1a7c150fc89e9adb981a9b59fd7821cefb159d SHA512 c7df20caa578d12a707b74fde88f856dbbf5e75176d7b9aca13f7fe9b501f4ca844fee5a4f2250b3c9de4afd1cd9ed1c26717a06ea4b1d239415cc154152305f
DIST cef_binary_5060_linux_x86_64_v3.tar.xz 91352460 BLAKE2B 443f4b1bc638d3fe462fd8b8dd167e96f65aebb2b8de3616beac298449e2786c746f9a1fa4a0dbe2e3ef2d593139938e97538890d3ca3b74018b3afb9c7fc661 SHA512 1fbdf1d4ed117f3b8af20476c57502145d652b451ba8e0a544081403d292cc7a78642e9071b8f0283a19ef7ad507ef6e0d9df32b00afc51605ab74f650a7d755
-DIST obs-browser-996b5a7bc43d912f1f4992e0032d4f263ac8b060.tar.gz 112416 BLAKE2B c82b5b55184130caaca0aad066ce1253c28206522e8d130cb3b940ee283c8a2dffc409a5d4774cad17535f958f52f4fe632a6b4462a18c10a4b5bbe02b60b4e9 SHA512 f6f7dbeb1d28b6c47663f36cb119cbc90a18c46fc6e81ca6db87e901ae4cee1fafd4a4a8c3f8cae94619d2f8f92baf1c52ca5c7df182f3df7521397638b0660d
-DIST obs-studio-30.1.0.tar.gz 16023246 BLAKE2B 7e1caa214501a23c6a99b64ec5254d620836b190f98417763419b894e72b33b79cf6893000b70ef725845463e78cd0f3a32808043c08dba16ed88962ddee0efd SHA512 68ec8665399539846d5759414c07de3ce8005318a9bb433f170cd013d3974cb7686f15e079ec97af51ebda773475b0a1d958bbaf986646f9c88e931557457571
-DIST obs-studio-30.1.1.tar.gz 16023779 BLAKE2B d3a723cd83b1287b0cf24b3b3d7a34a391f6c2699955ba7351cd31c117168fb8643dd9d810697ad4cfde61e4e066761e6f23ce49a837b445c9a7d000b2658ac0 SHA512 31aba14cf9db6b6c41d87ea0b814d38e1ba2794d07f1aff025c810e9dda32b0915d3f6d2679383755d0a4e47fc26c2aef981e26a80b792cf7fb893e672b6609a
-DIST obs-websocket-d2d4bfb3e78cf2b02c8e2f5dda1d805eda8d8f32.tar.gz 246888 BLAKE2B 6e06c85ee47cb088a50b9d5eae9a8d68441989c1f76fdcd7806d59597062af5eb36e1722600b1a8d544e5f11533985b9bac243f7ca1002eed616e2f5c11a9a3f SHA512 31d5e1817aab341e55cbc5c759f28509f442695afb90d08a235c07359a65d2c2d3dfae2bf9c8a5086db310bb127dc59945ebe23fb219fda7408ee82d05b43938
-EBUILD obs-studio-30.1.0.ebuild 6476 BLAKE2B 2cdfe291e3a85adde42db787d24284eba4fa3dcdb45cb9d1845d817698ffdd935a21ac1281edecc4c6f518989d637566c0671e1da745dab22aa73c55ec5b52e2 SHA512 0af5f8c4e8c0d895433f2357a6058c58326b11490e800d1f8171264b1bd8dce476cdcf23c3fd4adb947d92904cb11b93c896af7a863485216a473bf74ca99b95
-EBUILD obs-studio-30.1.1.ebuild 6640 BLAKE2B 241a80f92daea4928520509f91381bccc022afe21aa41ad71f011bc44f90460363912801f02a6073b7453d8d75d224e619c854756fdf22567a6a2388ccb7e8a6 SHA512 d529ac6361cbb04317d204fae7d8aad901bb0a90c656acee0d5bf61c3e880b15090edbf5679c51b53482cdfa9e77488a8e62703627df4eef102f8bdb7e5dcf73
-EBUILD obs-studio-9999.ebuild 6678 BLAKE2B b343916b2d258e544fcbbdacfbe255f79967d9a66817a0ef95d7f623636fa531381334588e00d5df3415452e568511cc4f0c17e3327a6a21da569f3ca205c51c SHA512 6999ce5b91b34b5379c9eedc462c4b586b2cc7165e88258eb07d6acafff8230ecbdccfb956922b2070ab509bab948d71733acc1af16f83d475df828330e8d318
-MISC metadata.xml 1470 BLAKE2B ce34216dcee69e90450a9cce810db3a494db1cafe6a8cd1029b0a749a7d69e0503fc5c5f6f298bebc2422e57f623ef63e17ac3814fd495e14c2b6e02bba1a9bd SHA512 0479dd3a4de659f8ce00b663129ca20ca31b837cd29bfca43bf7cca02d6762dabf0778c96c1b47d9814e3f6045c4793cc8f47f74d2a8940c8b2a1969ed69e895
+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
+EBUILD obs-studio-30.2.3.ebuild 6866 BLAKE2B 837ac56245cfc7a1f627a930b1bbbf4278357600b1ddd7f810948f4110fd45c060f173cafd156d022b5a9a2990a7660074a14118f3dce052fec6fee5802b7801 SHA512 dd621ec4cf061d89f47a78e911d6bdc6527b6f932cda248f4a36239eb2297314eeb2c63e00856a602508fd61ffe7fb1b552b8a3bc98e45e583b5aaa6baa1a5d8
+EBUILD obs-studio-9999.ebuild 6689 BLAKE2B 26d9aff248f3405bbbe9504ac05985aa7bacba9a25ffe216e2db48189056d5006bc357649389962793df0e80bd46d5db8c34505cec3092f4ac1410818a4b189b SHA512 c4ac86d887704f59b2f6865c57dda6c94c00867957709ac595b89a464f8456e7060f609795403c3e236fd174b7beaa9a72d7ad58b685171ce8159f0ffd8e21a8
+MISC metadata.xml 1533 BLAKE2B 7bc778d152d6854330f821d0712da81b54397a35118baf4ba61b3ce4eb7aff5a292d4e4c74c01992761c3cae15b367dcf85450080e920d35ffeb2ee06c74483b SHA512 3dbc5096e3203ec8350e75db78519a061270d52d441e159ab297147a729bda21016a26e15b5c0447dc4a835da59ee822da99265e4f8c3bea3a1e173b134c739c
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.0.ebuild b/media-video/obs-studio/obs-studio-30.1.0.ebuild
deleted file mode 100644
index 7878bb19a448..000000000000
--- a/media-video/obs-studio/obs-studio-30.1.0.ebuild
+++ /dev/null
@@ -1,264 +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 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"
-
-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 )"
-
-DESCRIPTION="Software for Recording and Streaming Live Video Content"
-HOMEPAGE="https://obsproject.com"
-
-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
- 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
-
- 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.1.1.ebuild b/media-video/obs-studio/obs-studio-30.2.3.ebuild
index 6ddcf823b797..043f43465d42 100644
--- a/media-video/obs-studio/obs-studio-30.1.1.ebuild
+++ b/media-video/obs-studio/obs-studio-30.2.3.ebuild
@@ -11,8 +11,8 @@ 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"
+OBS_BROWSER_COMMIT="c710222ec9d7ef9aa5d7099e9019d636e2c89f00"
+OBS_WEBSOCKET_COMMIT="0548c7798a323fe5296c150e13b898a5ee62fc1e"
DESCRIPTION="Software for Recording and Streaming Live Video Content"
HOMEPAGE="https://obsproject.com"
@@ -54,8 +54,10 @@ BDEPEND="
"
# 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]
@@ -79,7 +81,6 @@ DEPEND="
>=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
@@ -110,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} )
@@ -132,12 +134,13 @@ DEPEND="
)
websocket? (
dev-cpp/asio
- dev-cpp/nlohmann_json
dev-cpp/websocketpp
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,6 +202,7 @@ src_configure() {
-DENABLE_FREETYPE=$(usex truetype)
-DENABLE_JACK=$(usex jack)
-DENABLE_LIBFDK=$(usex fdk)
+ -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 dba2fd8a5fb4..78f140d81c76 100644
--- a/media-video/obs-studio/obs-studio-9999.ebuild
+++ b/media-video/obs-studio/obs-studio-9999.ebuild
@@ -5,14 +5,14 @@ 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="996b5a7bc43d912f1f4992e0032d4f263ac8b060"
-OBS_WEBSOCKET_COMMIT="d2d4bfb3e78cf2b02c8e2f5dda1d805eda8d8f32"
+OBS_BROWSER_COMMIT="be9f1b646406d2250b402581b043f1558042d7f0"
+OBS_WEBSOCKET_COMMIT="0548c7798a323fe5296c150e13b898a5ee62fc1e"
DESCRIPTION="Software for Recording and Streaming Live Video Content"
HOMEPAGE="https://obsproject.com"
@@ -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} )
@@ -54,8 +56,10 @@ BDEPEND="
"
# 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]
@@ -64,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
@@ -79,7 +84,6 @@ DEPEND="
>=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
@@ -110,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
@@ -132,12 +136,13 @@ DEPEND="
)
websocket? (
dev-cpp/asio
- dev-cpp/nlohmann_json
dev-cpp/websocketpp
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/Manifest b/media-video/parole/Manifest
index ca96e8bb7687..29bfe7d8ce1e 100644
--- a/media-video/parole/Manifest
+++ b/media-video/parole/Manifest
@@ -1,3 +1,3 @@
DIST parole-4.18.1.tar.bz2 934059 BLAKE2B db5b6345bcf8eae47668bfd504106b8f44bb272a7d9e88fb53824a4141c88a45f4fdcb6df5a5513ebba82ffda9438be91ffe060d1cc19f0ab56887dc3ff606e1 SHA512 ec2b8036f2be594dc13c37aca76b7250ec1792c7166501e9a2775efb731e87cf6894196243e68026437e2bbd4a9edf1aa9cfa076886e333e2ecf4523f8f1d647
-EBUILD parole-4.18.1.ebuild 1549 BLAKE2B 55c6af21b3546f502b80e0a3292ca86dba6bcdde209a21c9b5087dd44c2aecb5c8308937f2444d144630550b482364dd2eda5fa8c412375061d99afbdc67c7bf SHA512 b78d5eb9b08bbb9b685118f647a90fd091fee454c589736cf9ef662e99cd955c4424dd4980de1d05958a6c651c13ff221227b55f460c20671aecf69c0307aabe
+EBUILD parole-4.18.1.ebuild 1543 BLAKE2B f568237ced2baf59669ea6e40cd1649e5c5f775ec4525ea81bc5c72f74c30da575dba655cbcb31df9a2b310c73ed543b56bbb36c114f0cce793d8ed8e19c7850 SHA512 bc2a5eaf66134192e23f726827489cdf854680ebac2d8f6477d2bcc617d7f322197cccd4a3f750b94261ce2e2b211e6d5a22f892c4662ac0d42b05820845e51d
MISC metadata.xml 242 BLAKE2B e489d8bd8fc709502185e0439171cde4402146bc1ec7340bbe41550c06410a49faec8777cb7e79c3ba482feee774350beec5741ed8fe93a85ebed7b746f9200e SHA512 1bcfaf0482a1e7b5a7182d853dafaa2d47687bbc1c9d38b69ba35ce97cdeeff9bd2137a086c5af2a27b730a295e7cbd73d0b43fbe5af331bb7a3113d2117dff3
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 ce03bf496e28..037b0e95420f 100644
--- a/media-video/pipewire/Manifest
+++ b/media-video/pipewire/Manifest
@@ -1,16 +1,23 @@
+AUX 1.2.0/0001-impl-node-fix-required-state-for-async-driver-nodes.patch 3030 BLAKE2B 372d33b155cd8b798265b6dd04296179adcfcddeefd7253a9979f4722b343f68a7cbe128f1f4b24acda9c099d6fc12e75d14c1ec184b5f25a5f3667c5fc85383 SHA512 19803d71e99cc6b79e96b1e8d96c7d279fe345d67df8242dd8589cc8a2eb8549ed879cb8c3a00d9c7d780329dfc3821dca13fb19dea366b5f86f733413586b30
+AUX 1.2.0/0002-module-raop-only-set-softVolume-when-valid.patch 1048 BLAKE2B 326704effb2a904079c33d07c6557c854ef6842a9f3ade996d1a8a4f1e5d073246426d7c94f5e44f9bf195877326972368cecd9cad6883a6c7a33973a4447284 SHA512 a125dd8d7ac121c7fb66211bcac9a9202f654ba5550b237a55588b8153ac6523b350038305df930b3eb5ac640c53387c56b7b8cc3d29a124180425355f32416b
+AUX 1.2.0/0003-context-Fix-node-collect-with-groups-and-sync-enable.patch 5206 BLAKE2B 5d4d6ded0a8cf79c7181c40707329d11a00b4d543b46e0e3bf37985299ca0cdd2782a1c9843469f160332d8bd4a987e10165dc25c99405defc2e02119f665d0b SHA512 37b972529cd4f702863a7e19d1980439daab26ee5feed548a204d969c8af9dcaae29a58ea3b87429c0da0b1220ad4e8b719f294103feebc500ed872d5215c565
+AUX 1.2.0/0004-impl-node-disable-async-for-driver-nodes.patch 4717 BLAKE2B 92ddbc78ff24a385bc54a88c46f3654456c8db27229715a4923790cd0e271b32fe245295b37eda6023e2827c3791dc5bf29411edcdad9a7b91c4e593dbe7c34a SHA512 1fb1b85ee717952b8551dc943c72aa158279aacae5666649b8a2b0c1f63ad9d681817be9d5d1b85f4e51aee6b43febda07d01c85e6ba72c1a31323adc4098a02
+AUX 1.2.0/0005-impl-node-set-INACTIVE-state-on-server.patch 1188 BLAKE2B e54b9973f7529b0a6facdc632a2e9c8fd2080171882e5dc081da6ac7e241266eca5186d11d09670281ae772b3054190d64220d2cf0b3e7ca8853d6a9667f8add SHA512 49261c21e7d41d7e1017a8ab5c2f72056a68b10d4d5ac5ab1fe66418cad727fc0ba915dc8f551640ee1b6a54285981dd19fdc999784dbbac7facdee30c7271f3
AUX 99-pipewire-default-hook.conf 540 BLAKE2B cec76e78db9db290054bf766774c284d7a7a1374c453802eb1bdc19db9289856ec7b8643acbab916a39ca859d543deca111e3b0f110d1904343221c1573ffc17 SHA512 ef891e38c6f40fce2904e240307147a58c48d780e8470dac8e28044cfb86ddeb163885a2362687791779379ad814f58ad5649b75ac4e82931c5bdd3f37a6ed01
AUX gentoo-pipewire-launcher.1 1633 BLAKE2B 36c8888693bd0389dc9b1e49d0501d2679956d88f6b7ac42f0347c3fe2259775dd7082cb0bbdeb54a232fcc8902faa8086203e0fe2437c0eea5f1927ba2d0de4 SHA512 8085c9a989f21ee7f2528d56d5b104c0d14024df06f5cb6cd2aa8168b58469c71b91c788706b11021d9dbddb647a2203175603f4f8aa7b33a63a7b7cf8b59d1f
AUX gentoo-pipewire-launcher.in-r3 2848 BLAKE2B 5e6b8ca2df88cef240ca1ff4de28cc8ed3590fabd29b903b37880baf9cf52c35ca01be25b031898d4ee06f4600a5f0c61025a244778577a562f4a4bfa14e2aca SHA512 43cf3e07058e86bf6651106f7f192022c05c5640ba8e101b88e98a83efcc5614f9474107b6d0daf3d5234a51ebcc0a3a7ae5b359d9ba36b648c125813f4e1334
AUX gentoo-sound-server-enable-audio-bluetooth.conf 106 BLAKE2B 79945d2dac9671d9b85f6334afb43ff3f35db555d460e82bccee0f1f8ec4a8bf5e6de3b340698a4e9db80a5dc181c4824b9265bf0fce43bef61afd50177ef70a SHA512 fede2c9dc6256894aa29cf72ede8ba42874cf0706d81031d724ca5b43fa424d09009ec6eb685737623f3c5eadb9b095060b0ce48b7325d68d4b07225b07aa2fe
AUX pipewire-0.3.25-enable-failed-mlock-warning.patch 704 BLAKE2B dc0732b89b57a258ea6dc54941899134259469675f92ae93aebda09a796c73ace8bc4ed0ab2aef4ea1bcaa30c1bea8c3304288168421ce8f9939ec993c8aa438 SHA512 7456a24276b7b766ff5799acf5b80ef5f85ee7a78fc5b52adff3206c0b0aa1985a0bf72634aacf7818c90136c09bcc11cb0fecec291d961c8b3585c897869f65
+AUX pipewire-1.0.7-automagic-gsettings.patch 3429 BLAKE2B b6184a1edc18396c3fde3b020d2c0222df1086a261d2da18a2d8345f7ef7f813144df0948e8863180afbd5b56b797e5eed2fdf324e9cf2b2b637a4685641a932 SHA512 7a9d71bf631974d88fdc5adb9f4d7ea7d46c589812c3d9b0a4767ed5d9e117ed88db456f723176acc7abe73a59591a57bcffd0384d2d5822e94656a5d9efc293
+AUX pipewire-1.0.7-automagic-webrtc-audio-processing.patch 3745 BLAKE2B 65978f89fb1dd9e4aa56d7e116fd650efb36d9730d9eae2ead02c77f6b9e567c8b881314ed1ca71af45f7ba0f23b482f14036eefdb87d298e0c90eacfecf3ce3 SHA512 d8dcb1eb0234dff76a9a48b54c57e73505d81f29b043d5ef7ad6974fbe976b7ab8480f622c0664e112375875e2b9dc7d78dde5e481376b7cfa488e54119c5bf2
AUX pipewire.desktop-r2 333 BLAKE2B 6a8805bb4ea3f23af535867c0551b8f742543de1fa8d99d2b451575066c3394b01977587078356dab65a640899bf336252b7f81b83072c676110fce9b0732eff SHA512 292fbc7283b30454025be50c657803dcb0592c9a6f0757eebe4de5a98166c3bcfeb5563da3d72489762073fe782b5e1f913c01184fbd2e926d872fc7ade73eb7
DIST pipewire-1.0.0-docs.tar.xz 33632 BLAKE2B be06aa7242f7d2f8627b3bf2a2ae491dbda456a24811a767218eb89b1fd5961a461697e5d8ae2782323fdb927985fa4fd5dd40c21268b1c7939f4cd3c9e1a9ab SHA512 14f794c4152d7d9a4a7d9d4d5c2ff381c2a8262deaff034f993c4d28629fca8cc3d71d3a7c02982703e449fae5f58257fea0c20db02bf95b5aed88a4d99d2c58
-DIST pipewire-1.0.4.tar.bz2 1698660 BLAKE2B 0842a5fca65c8a91eadd9f0594864ae0f0d428b3c03d2c5fecc3b7f62ff6f5d24fc1190eb351279c002e26596148b23b4b576551502be21beb2eeaa0d2ad4dac SHA512 42e8e28b1fd497f5329b5966abd5cfb7d7976fb0ca9f8f39bccf44195dd11f227cdec2448ba7db4559e866ea2dccf64b8172a2ae069c5204cd8f66c0f8a9e2d9
-DIST pipewire-1.0.5.tar.bz2 1698291 BLAKE2B 0f919a01b5f84060fb2ce560a7790a0d59374671f52a941492930fe21ac39178688f27f00cad649d239901f88b392e16895648efae2ec2785c394c1f6d186ddf SHA512 18fbbe36c8752eb0f1df5ee3f3fffee279addcec9825281bd165ad8316f17af7e91bb5759f63c16139c074b03e5a77ef9d596a87f584d1580bbb754101b70a0f
-DIST pipewire-1.0.6.tar.bz2 1698889 BLAKE2B f782efa2aa8fa0976fd3025f58041f450505c63acd9028c3d79368d0c41465a51b4472059a1c13092aa72dc6110fc12589b03de653d7eac3c93bc5498cc17154 SHA512 09e5c951c835dcc2654ec284aaaad6be4254744e943f95556c494cd22a4fc67bdc481982856f2aa439e33ec84e7fbdb6df45a1d4b9ced261b01cd91b0ee4d2ed
-EBUILD pipewire-1.0.4.ebuild 19988 BLAKE2B 49df8fcf2e136537401ebab8673c0815a275c2deb29a2779306a77536d2db0688c81e69bbf768061a2ee3e94888da5e77e12055594bf84b14951fd28f12e248c SHA512 5d6506afa393f6286ba33a88cdf17f739a265e2f09baf1b7f9ff5fb239a7b4d87b32ce553d366bfaf6ba36f4384982cf73a521488118d2e5f33d87b4cc9467e3
-EBUILD pipewire-1.0.5-r1.ebuild 19283 BLAKE2B c873436b2f3cad35aa2d6797085823cc215d621b275634c25c3b79e00a56121a97824f3092df74b13809a9ea7639b669710fb9ae7476441209c9f7aff1496827 SHA512 f290058849e339a64bb897e831618b9f886b9c6b7754a0f3b4301fc94be929c0531ffd6c98754228c30bc308371e508021fa907252028d6a5a57d14314d4b5b6
-EBUILD pipewire-1.0.5.ebuild 19988 BLAKE2B 49df8fcf2e136537401ebab8673c0815a275c2deb29a2779306a77536d2db0688c81e69bbf768061a2ee3e94888da5e77e12055594bf84b14951fd28f12e248c SHA512 5d6506afa393f6286ba33a88cdf17f739a265e2f09baf1b7f9ff5fb239a7b4d87b32ce553d366bfaf6ba36f4384982cf73a521488118d2e5f33d87b4cc9467e3
-EBUILD pipewire-1.0.6.ebuild 19283 BLAKE2B c873436b2f3cad35aa2d6797085823cc215d621b275634c25c3b79e00a56121a97824f3092df74b13809a9ea7639b669710fb9ae7476441209c9f7aff1496827 SHA512 f290058849e339a64bb897e831618b9f886b9c6b7754a0f3b4301fc94be929c0531ffd6c98754228c30bc308371e508021fa907252028d6a5a57d14314d4b5b6
-EBUILD pipewire-9999.ebuild 19274 BLAKE2B 86ec3c9efdaa0fd53839c261ae7e23a570d534df6670fd78cab1f0c31b5065017b4c483f9249407a32a928df9b127586fa523fe27e1dabe359c1e247c7bbcc94 SHA512 bdc4d9a357dd5839614aca7b2fbe52ea27a818bc660db55b08e1d696b648e2801ab2f2b1078123e4bf084479918eaf6ec39a9e7f4a6dfe89b54188989956070d
+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.3.tar.bz2 1813639 BLAKE2B 42bd8a08125e79a67a4adec30541ae7fef3c1e8279d8f84365636f8691a237fc7d6b392ed2576b681a9b9418804978e5a8493d7062567ed89035286fb49977f5 SHA512 8a06ef3a9079b334b0d3248431fe6a09f330ad8078dc378ac465e253d3601c3e4552e2e07f7cf492ff6fbc218e686b30941ea153ccaaf826b5f0ff231f6b214e
+DIST pipewire-1.2.4.tar.bz2 1813941 BLAKE2B 07819879ccd4122ea543fa7dffb45701741520577f09dd6a6fff9931fc571e0a2f1b3d1a023effd57e13148b6d1fb988fbd6444519b5e7c30b2c10fe30aa1cae SHA512 844c3c95b61aa78c21e5e471648f9c4c03839a64ca365ef39cfba6e4b9cc86a72dbfd725cdbbf00db22d3b82ae6faa20911b2bfcb0bc06a87984bfcb73fc4481
+EBUILD pipewire-1.0.7-r1.ebuild 19565 BLAKE2B c0250fdcf5157412d74ef4c020d64b571f84cf75296fe900a4fa964352782f440bc05b413df6475e227c42b526b9e423f23aafa19debc65d18018a43a85452cf SHA512 77f9b34964a14f34a855a8061860b4ce5a6de0ad75f99bc1d599c9c0ad318b6e4604b449e7a0c0483cc4439ce39d4233d2a2cedc1f92ad2b7c3e12ba317841bc
+EBUILD pipewire-1.2.3.ebuild 19596 BLAKE2B bada9a63a09f8ca26fbadeebdc0efba1acd88d15b50a81bbc2ba0ed25273543439c0441d1fdb6596c1a5c30f6efacbf7c14b181c09a329fff674753256e10d33 SHA512 db0183a5bffe627e947684f6414fbdb14986a4f05a9722ff3bf63988bcf95e13bd55817881d19f695737b2882f4145beb107d2c5fac37084989ef9f4c18d9219
+EBUILD pipewire-1.2.4.ebuild 19602 BLAKE2B 0594a1082c02d88befd9d3cdf4eaea883bb905e3a16223e1646be00d6281c1446d4c56b07db6c5873c73a38a80f4219106ac0f5d77a3490ad8f4c88d293ace14 SHA512 f14db8d84c6081b6ea4d59d6b67a83f82cf795794d73c8b4917a67ca037b22a3c041bf2f58020f7d7b342fbbbaaa44cea1e17b9e43847ba388e27a8bcdabf9e5
+EBUILD pipewire-9999.ebuild 19591 BLAKE2B 4c2d6315cad7fb2746817dbc15fe29f3a2007e8abc83a338952ee0f82a1113dbfd8d0426595fd6d5c3c1ea7e4a1d7b87e135b2202e563b95a06ad4403cf684e9 SHA512 f8341246a2c4403375f8493966d42801d1a4846d2a3a6e9464421a50bddf95dca5c3b7832c042e63ef68773550e009235e55d98f3a90178419ee15c73ddad936
MISC metadata.xml 2156 BLAKE2B 974459115e0f3cf4e4c3ac15159740b42e01a093da37d8a27f80e122c9ab2a3fe9194443eaf08f9b66d613db90a14465abbe1b76816bce90e11a46c8409c7513 SHA512 cfe0fdb86c993f167507e22635878d6d7d5dcd48f4c23323231263551ceff986fc454700428ecb7d2ee2abe82093c35d8e7bd491020fd6dd3f3889c09e9020bb
diff --git a/media-video/pipewire/files/1.2.0/0001-impl-node-fix-required-state-for-async-driver-nodes.patch b/media-video/pipewire/files/1.2.0/0001-impl-node-fix-required-state-for-async-driver-nodes.patch
new file mode 100644
index 000000000000..105c8dd1676a
--- /dev/null
+++ b/media-video/pipewire/files/1.2.0/0001-impl-node-fix-required-state-for-async-driver-nodes.patch
@@ -0,0 +1,82 @@
+From b8d07e40d66f12ac28aab710cfeb181bf25bc59a Mon Sep 17 00:00:00 2001
+From: Wim Taymans <wtaymans@redhat.com>
+Date: Mon, 1 Jul 2024 10:36:09 +0200
+Subject: [PATCH 1/5] impl-node: fix required state for async driver nodes
+
+When the node activation.required was incremented because it was a
+driver, only decrement it in that case, regardless of the current driver
+state of the node.
+
+This fixes the case of KODI where the required field gets out of sync
+and things become unschedulable.
+
+Fixes #4087
+---
+ src/pipewire/impl-node.c | 22 ++++++++++++++--------
+ src/pipewire/private.h | 1 +
+ 2 files changed, 15 insertions(+), 8 deletions(-)
+
+diff --git a/src/pipewire/impl-node.c b/src/pipewire/impl-node.c
+index 12629ee64..4def52897 100644
+--- a/src/pipewire/impl-node.c
++++ b/src/pipewire/impl-node.c
+@@ -112,13 +112,17 @@ static inline void activate_target(struct pw_impl_node *node, struct pw_node_tar
+ {
+ struct pw_node_activation_state *state = &t->activation->state[0];
+ if (!t->active) {
+- if ((!node->async || node->driving) && !node->exported) {
+- SPA_ATOMIC_INC(state->required);
+- SPA_ATOMIC_INC(state->pending);
++ if (!node->async || node->driving) {
++ if (!node->exported) {
++ SPA_ATOMIC_INC(state->required);
++ SPA_ATOMIC_INC(state->pending);
++ }
+ }
++ t->active_driving = node->driving;
+ t->active = true;
+- pw_log_debug("%p: target state:%p id:%d pending:%d/%d",
+- node, state, t->id, state->pending, state->required);
++ pw_log_debug("%p: target state:%p id:%d pending:%d/%d %d:%d:%d",
++ node, state, t->id, state->pending, state->required,
++ node->async, node->driving, node->exported);
+ }
+ }
+
+@@ -126,7 +130,7 @@ static inline void deactivate_target(struct pw_impl_node *node, struct pw_node_t
+ {
+ if (t->active) {
+ struct pw_node_activation_state *state = &t->activation->state[0];
+- if (!node->async || node->driving) {
++ if (!node->async || t->active_driving) {
+ /* the driver copies the required to the pending state
+ * so first try to resume the node and then decrement the
+ * required state. This way we either resume with the old value
+@@ -137,8 +141,10 @@ static inline void deactivate_target(struct pw_impl_node *node, struct pw_node_t
+ SPA_ATOMIC_DEC(state->required);
+ }
+ t->active = false;
+- pw_log_debug("%p: target state:%p id:%d pending:%d/%d trigger:%"PRIu64,
+- node, state, t->id, state->pending, state->required, trigger);
++ t->active_driving = false;
++ pw_log_debug("%p: target state:%p id:%d pending:%d/%d %d:%d:%d trigger:%"PRIu64,
++ node, state, t->id, state->pending, state->required,
++ node->async, node->driving, node->exported, trigger);
+ }
+ }
+
+diff --git a/src/pipewire/private.h b/src/pipewire/private.h
+index 8c01fe8d5..25af677ac 100644
+--- a/src/pipewire/private.h
++++ b/src/pipewire/private.h
+@@ -541,6 +541,7 @@ struct pw_node_target {
+ int fd;
+ void (*trigger)(struct pw_node_target *t, uint64_t nsec);
+ unsigned int active:1;
++ unsigned int active_driving:1;
+ unsigned int added:1;
+ };
+
+--
+2.45.2
+
diff --git a/media-video/pipewire/files/1.2.0/0002-module-raop-only-set-softVolume-when-valid.patch b/media-video/pipewire/files/1.2.0/0002-module-raop-only-set-softVolume-when-valid.patch
new file mode 100644
index 000000000000..343b42dfdc8a
--- /dev/null
+++ b/media-video/pipewire/files/1.2.0/0002-module-raop-only-set-softVolume-when-valid.patch
@@ -0,0 +1,30 @@
+From 82b9fa118f2fa009b5eb2891378fe003e2573bbe Mon Sep 17 00:00:00 2001
+From: Wim Taymans <wtaymans@redhat.com>
+Date: Mon, 1 Jul 2024 11:27:17 +0200
+Subject: [PATCH 2/5] module-raop: only set softVolume when valid
+
+---
+ src/modules/module-raop-sink.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/src/modules/module-raop-sink.c b/src/modules/module-raop-sink.c
+index 05e467d24..8ad28693f 100644
+--- a/src/modules/module-raop-sink.c
++++ b/src/modules/module-raop-sink.c
+@@ -1643,10 +1643,10 @@ static void stream_props_changed(struct impl *impl, uint32_t id, const struct sp
+ impl->volume = volume;
+
+ rtsp_send_volume(impl);
++ spa_pod_builder_prop(&b, SPA_PROP_softVolumes, 0);
++ spa_pod_builder_array(&b, sizeof(float), SPA_TYPE_Float,
++ n_vols, soft_vols);
+ }
+- spa_pod_builder_prop(&b, SPA_PROP_softVolumes, 0);
+- spa_pod_builder_array(&b, sizeof(float), SPA_TYPE_Float,
+- n_vols, soft_vols);
+ spa_pod_builder_raw_padded(&b, prop, SPA_POD_PROP_SIZE(prop));
+ break;
+ }
+--
+2.45.2
+
diff --git a/media-video/pipewire/files/1.2.0/0003-context-Fix-node-collect-with-groups-and-sync-enable.patch b/media-video/pipewire/files/1.2.0/0003-context-Fix-node-collect-with-groups-and-sync-enable.patch
new file mode 100644
index 000000000000..5e18550bf193
--- /dev/null
+++ b/media-video/pipewire/files/1.2.0/0003-context-Fix-node-collect-with-groups-and-sync-enable.patch
@@ -0,0 +1,149 @@
+From e6c0014f94e995e49b72bea7ae56b960416e6b29 Mon Sep 17 00:00:00 2001
+From: Wim Taymans <wtaymans@redhat.com>
+Date: Mon, 1 Jul 2024 14:50:34 +0200
+Subject: [PATCH 3/5] context: Fix node collect with groups and sync enabled
+
+Keep track of the sync nodes we added to a driver and bring in the other
+nodes from the same sync group, group or link groups. This makes it
+possible to have disjoint sync groups each with their own driver.
+
+Fixes export in ardour8
+
+Fixes #4083
+---
+ src/pipewire/context.c | 49 +++++++++++++++++++++---------------------
+ 1 file changed, 25 insertions(+), 24 deletions(-)
+
+diff --git a/src/pipewire/context.c b/src/pipewire/context.c
+index 686dd5eee..f3e1b4d76 100644
+--- a/src/pipewire/context.c
++++ b/src/pipewire/context.c
+@@ -1163,13 +1163,14 @@ static inline int run_nodes(struct pw_context *context, struct pw_impl_node *nod
+ * This ensures that we only activate the paths from the runnable nodes to the
+ * driver nodes and leave the other nodes idle.
+ */
+-static int collect_nodes(struct pw_context *context, struct pw_impl_node *node, struct spa_list *collect,
+- char **sync)
++static int collect_nodes(struct pw_context *context, struct pw_impl_node *node, struct spa_list *collect)
+ {
+ struct spa_list queue;
+ struct pw_impl_node *n, *t;
+ struct pw_impl_port *p;
+ struct pw_impl_link *l;
++ uint32_t n_sync;
++ char *sync[MAX_SYNC+1];
+
+ pw_log_debug("node %p: '%s'", node, node->name);
+
+@@ -1178,20 +1179,30 @@ static int collect_nodes(struct pw_context *context, struct pw_impl_node *node,
+ spa_list_append(&queue, &node->sort_link);
+ node->visited = true;
+
++ n_sync = 0;
++ sync[0] = NULL;
++
+ /* now follow all the links from the nodes in the queue
+ * and add the peers to the queue. */
+ spa_list_consume(n, &queue, sort_link) {
+ spa_list_remove(&n->sort_link);
+ spa_list_append(collect, &n->sort_link);
+
+- pw_log_debug(" next node %p: '%s' runnable:%u", n, n->name, n->runnable);
++ pw_log_debug(" next node %p: '%s' runnable:%u active:%d",
++ n, n->name, n->runnable, n->active);
+
+ if (!n->active)
+ continue;
+
+- if (sync[0] != NULL) {
+- if (pw_strv_find_common(n->sync_groups, sync) < 0)
+- continue;
++ if (n->sync) {
++ for (uint32_t i = 0; n->sync_groups[i]; i++) {
++ if (n_sync >= MAX_SYNC)
++ break;
++ if (pw_strv_find(sync, n->sync_groups[i]) >= 0)
++ continue;
++ sync[n_sync++] = n->sync_groups[i];
++ sync[n_sync] = NULL;
++ }
+ }
+
+ spa_list_for_each(p, &n->input_ports, link) {
+@@ -1242,6 +1253,8 @@ static int collect_nodes(struct pw_context *context, struct pw_impl_node *node,
+ spa_list_for_each(t, &context->node_list, link) {
+ if (t->exported || !t->active || t->visited)
+ continue;
++ /* the other node will be scheduled with this one if it's in
++ * the same group or link group */
+ if (pw_strv_find_common(t->groups, n->groups) < 0 &&
+ pw_strv_find_common(t->link_groups, n->link_groups) < 0 &&
+ pw_strv_find_common(t->sync_groups, sync) < 0)
+@@ -1253,7 +1266,8 @@ static int collect_nodes(struct pw_context *context, struct pw_impl_node *node,
+ spa_list_append(&queue, &t->sort_link);
+ }
+ }
+- pw_log_debug(" next node %p: '%s' runnable:%u", n, n->name, n->runnable);
++ pw_log_debug(" next node %p: '%s' runnable:%u %p %p %p", n, n->name, n->runnable,
++ n->groups, n->link_groups, sync);
+ }
+ spa_list_for_each(n, collect, sort_link)
+ if (!n->driving && n->runnable) {
+@@ -1497,10 +1511,9 @@ int pw_context_recalc_graph(struct pw_context *context, const char *reason)
+ struct pw_impl_node *n, *s, *target, *fallback;
+ const uint32_t *rates;
+ uint32_t max_quantum, min_quantum, def_quantum, rate_quantum, floor_quantum, ceil_quantum;
+- uint32_t n_rates, def_rate, n_sync;
++ uint32_t n_rates, def_rate;
+ bool freewheel, global_force_rate, global_force_quantum, transport_start;
+ struct spa_list collect;
+- char *sync[MAX_SYNC+1];
+
+ pw_log_info("%p: busy:%d reason:%s", context, impl->recalc, reason);
+
+@@ -1514,23 +1527,11 @@ again:
+ freewheel = false;
+ transport_start = false;
+
+- /* clean up the flags first and collect sync */
+- n_sync = 0;
+- sync[0] = NULL;
++ /* clean up the flags first */
+ spa_list_for_each(n, &context->node_list, link) {
+ n->visited = false;
+ n->checked = 0;
+ n->runnable = n->always_process && n->active;
+- if (n->sync) {
+- for (uint32_t i = 0; n->sync_groups[i]; i++) {
+- if (n_sync >= MAX_SYNC)
+- break;
+- if (pw_strv_find(sync, n->sync_groups[i]) >= 0)
+- continue;
+- sync[n_sync++] = n->sync_groups[i];
+- sync[n_sync] = NULL;
+- }
+- }
+ }
+
+ get_quantums(context, &def_quantum, &min_quantum, &max_quantum, &rate_quantum,
+@@ -1551,7 +1552,7 @@ again:
+
+ if (!n->visited) {
+ spa_list_init(&collect);
+- collect_nodes(context, n, &collect, sync);
++ collect_nodes(context, n, &collect);
+ move_to_driver(context, &collect, n);
+ }
+ /* from now on we are only interested in active driving nodes
+@@ -1605,7 +1606,7 @@ again:
+
+ /* collect all nodes in this group */
+ spa_list_init(&collect);
+- collect_nodes(context, n, &collect, sync);
++ collect_nodes(context, n, &collect);
+
+ driver = NULL;
+ spa_list_for_each(t, &collect, sort_link) {
+--
+2.45.2
+
diff --git a/media-video/pipewire/files/1.2.0/0004-impl-node-disable-async-for-driver-nodes.patch b/media-video/pipewire/files/1.2.0/0004-impl-node-disable-async-for-driver-nodes.patch
new file mode 100644
index 000000000000..a7528249f1e3
--- /dev/null
+++ b/media-video/pipewire/files/1.2.0/0004-impl-node-disable-async-for-driver-nodes.patch
@@ -0,0 +1,112 @@
+From 525360d70ab1698afaaaf20f7e58002b8756353f Mon Sep 17 00:00:00 2001
+From: Wim Taymans <wtaymans@redhat.com>
+Date: Wed, 3 Jul 2024 13:31:24 +0200
+Subject: [PATCH 4/5] impl-node: disable async for driver nodes
+
+Make it so that a driver node can never be scheduled async. It could
+possibly make sense when the driver node is not currently driving the
+graph but when it drives the graph it always needs to be sync. This
+also simplifies the target activation because we can simply check the
+async state and ignore if the node is driving or not.
+
+Also make sure that we never make an async link with a driver output port.
+This does not make sense because the driver node will always be
+triggered sync first and before the async node so we can simply make
+a sync link.
+
+This fixes the modified (only generate 1 buffer) video-src -> video-play
+case where the buffer never arrives in video-play because of the
+useless async link.
+
+Fixes #4092
+---
+ src/pipewire/impl-link.c | 8 +++++---
+ src/pipewire/impl-node.c | 7 +++----
+ src/pipewire/private.h | 1 -
+ 3 files changed, 8 insertions(+), 8 deletions(-)
+
+diff --git a/src/pipewire/impl-link.c b/src/pipewire/impl-link.c
+index 39e9bd17d..6dc2e1a59 100644
+--- a/src/pipewire/impl-link.c
++++ b/src/pipewire/impl-link.c
+@@ -1321,7 +1321,8 @@ struct pw_impl_link *pw_context_create_link(struct pw_context *context,
+ if (this->passive && str == NULL)
+ pw_properties_set(properties, PW_KEY_LINK_PASSIVE, "true");
+
+- impl->async = (output_node->async || input_node->async) &&
++ impl->async = !output_node->driver &&
++ (output_node->async || input_node->async) &&
+ SPA_FLAG_IS_SET(output->flags, PW_IMPL_PORT_FLAG_ASYNC) &&
+ SPA_FLAG_IS_SET(input->flags, PW_IMPL_PORT_FLAG_ASYNC);
+
+@@ -1375,8 +1376,9 @@ struct pw_impl_link *pw_context_create_link(struct pw_context *context,
+ this->name = spa_aprintf("%d.%d.%d -> %d.%d.%d",
+ output_node->info.id, output->port_id, this->rt.out_mix.port.port_id,
+ input_node->info.id, input->port_id, this->rt.in_mix.port.port_id);
+- pw_log_info("(%s) (%s) -> (%s) async:%04x:%04x:%d", this->name, output_node->name,
+- input_node->name, output->flags, input->flags, impl->async);
++ pw_log_info("(%s) (%s) -> (%s) async:%d:%04x:%04x:%d", this->name, output_node->name,
++ input_node->name, output_node->driving,
++ output->flags, input->flags, impl->async);
+
+ pw_impl_port_emit_link_added(output, this);
+ pw_impl_port_emit_link_added(input, this);
+diff --git a/src/pipewire/impl-node.c b/src/pipewire/impl-node.c
+index 4def52897..c75e5793e 100644
+--- a/src/pipewire/impl-node.c
++++ b/src/pipewire/impl-node.c
+@@ -112,13 +112,12 @@ static inline void activate_target(struct pw_impl_node *node, struct pw_node_tar
+ {
+ struct pw_node_activation_state *state = &t->activation->state[0];
+ if (!t->active) {
+- if (!node->async || node->driving) {
++ if (!node->async) {
+ if (!node->exported) {
+ SPA_ATOMIC_INC(state->required);
+ SPA_ATOMIC_INC(state->pending);
+ }
+ }
+- t->active_driving = node->driving;
+ t->active = true;
+ pw_log_debug("%p: target state:%p id:%d pending:%d/%d %d:%d:%d",
+ node, state, t->id, state->pending, state->required,
+@@ -130,7 +129,7 @@ static inline void deactivate_target(struct pw_impl_node *node, struct pw_node_t
+ {
+ if (t->active) {
+ struct pw_node_activation_state *state = &t->activation->state[0];
+- if (!node->async || t->active_driving) {
++ if (!node->async) {
+ /* the driver copies the required to the pending state
+ * so first try to resume the node and then decrement the
+ * required state. This way we either resume with the old value
+@@ -141,7 +140,6 @@ static inline void deactivate_target(struct pw_impl_node *node, struct pw_node_t
+ SPA_ATOMIC_DEC(state->required);
+ }
+ t->active = false;
+- t->active_driving = false;
+ pw_log_debug("%p: target state:%p id:%d pending:%d/%d %d:%d:%d trigger:%"PRIu64,
+ node, state, t->id, state->pending, state->required,
+ node->async, node->driving, node->exported, trigger);
+@@ -1202,6 +1200,7 @@ static void check_properties(struct pw_impl_node *node)
+ recalc_reason = "transport changed";
+ }
+ async = pw_properties_get_bool(node->properties, PW_KEY_NODE_ASYNC, false);
++ async &= !node->driver;
+ if (async != node->async) {
+ pw_log_info("%p: async %d -> %d", node, node->async, async);
+ node->async = async;
+diff --git a/src/pipewire/private.h b/src/pipewire/private.h
+index 25af677ac..8c01fe8d5 100644
+--- a/src/pipewire/private.h
++++ b/src/pipewire/private.h
+@@ -541,7 +541,6 @@ struct pw_node_target {
+ int fd;
+ void (*trigger)(struct pw_node_target *t, uint64_t nsec);
+ unsigned int active:1;
+- unsigned int active_driving:1;
+ unsigned int added:1;
+ };
+
+--
+2.45.2
+
diff --git a/media-video/pipewire/files/1.2.0/0005-impl-node-set-INACTIVE-state-on-server.patch b/media-video/pipewire/files/1.2.0/0005-impl-node-set-INACTIVE-state-on-server.patch
new file mode 100644
index 000000000000..9821c151c97b
--- /dev/null
+++ b/media-video/pipewire/files/1.2.0/0005-impl-node-set-INACTIVE-state-on-server.patch
@@ -0,0 +1,30 @@
+From d08df293a95ce976df1cc8c3ec367a8d5d84db35 Mon Sep 17 00:00:00 2001
+From: Wim Taymans <wtaymans@redhat.com>
+Date: Wed, 3 Jul 2024 17:42:39 +0200
+Subject: [PATCH 5/5] impl-node: set INACTIVE state on server
+
+Don't wait for the client to set the INACTIVE state, do it on the
+server. We already decremented the target required so we don't want to
+schedule the node anymore.
+
+Fixes some xruns when removing nodes in a stress test.
+---
+ src/pipewire/impl-node.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/pipewire/impl-node.c b/src/pipewire/impl-node.c
+index c75e5793e..be25aa83e 100644
+--- a/src/pipewire/impl-node.c
++++ b/src/pipewire/impl-node.c
+@@ -221,7 +221,7 @@ do_node_unprepare(struct spa_loop *loop, bool async, uint32_t seq,
+ if (!this->rt.prepared)
+ return 0;
+
+- if (!this->remote || this->rt.target.activation->client_version < 1) {
++ if (!this->exported) {
+ /* We mark ourself as finished now, this will avoid going further into the process loop
+ * in case our fd was ready (removing ourselfs from the loop should avoid that as well).
+ * If we were supposed to be scheduled make sure we continue the graph for the peers we
+--
+2.45.2
+
diff --git a/media-video/pipewire/files/pipewire-1.0.7-automagic-gsettings.patch b/media-video/pipewire/files/pipewire-1.0.7-automagic-gsettings.patch
new file mode 100644
index 000000000000..bde229b80b24
--- /dev/null
+++ b/media-video/pipewire/files/pipewire-1.0.7-automagic-gsettings.patch
@@ -0,0 +1,80 @@
+From acc75b21f653873ec1da68bfa08f2945a8dd09d2 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.
+
+(cherry picked from commit b5f031bc15524bbfde577290ad9bbadeab77ae8b)
+Signed-off-by: Eli Schwartz <eschwartz93@gmail.com>
+---
+ meson.build | 4 ++--
+ spa/meson.build | 6 +++---
+ src/modules/meson.build | 4 ++--
+ 3 files changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/meson.build b/meson.build
+index 0ea256e9b..3353a2aec 100644
+--- a/meson.build
++++ b/meson.build
+@@ -343,8 +343,8 @@ 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')
++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')
+
+ gst_option = get_option('gstreamer')
+ gst_deps_def = {
+diff --git a/spa/meson.build b/spa/meson.build
+index db0a84425..e37744b08 100644
+--- a/spa/meson.build
++++ b/spa/meson.build
+@@ -43,12 +43,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 1b434b7f6..52660253e 100644
+--- a/src/modules/meson.build
++++ b/src/modules/meson.build
+@@ -409,11 +409,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)
+ endif
+
+--
+2.44.2
+
diff --git a/media-video/pipewire/files/pipewire-1.0.7-automagic-webrtc-audio-processing.patch b/media-video/pipewire/files/pipewire-1.0.7-automagic-webrtc-audio-processing.patch
new file mode 100644
index 000000000000..ac245dd7cc15
--- /dev/null
+++ b/media-video/pipewire/files/pipewire-1.0.7-automagic-webrtc-audio-processing.patch
@@ -0,0 +1,95 @@
+From acd5bf60b9d4a35d00c90bfdca7f89e4ff4a4ff7 Mon Sep 17 00:00:00 2001
+From: Eli Schwartz <eschwartz93@gmail.com>
+Date: Thu, 30 May 2024 19:44:38 -0400
+Subject: [PATCH] meson: fix webrtc-audio-processing dependency ignoring
+ configure args
+
+Most dependencies use meson "feature" options for optional
+functionality. This allows people to disable them, if they don't want
+them, through the power of tristate decision-making.
+
+This particular dependency does something a bit more complicated than
+can be described by simply passing feature options to the required
+kwarg. It:
+
+- tries to look for two different names of the dependency
+- selects different version ranges, depending on the dependency name
+- has a hole in the middle of the versions
+
+Unfortunately, `required: false` for the first dependency isn't
+equivalent to a tristate decision-making process. We have to manually
+code the logic ourselves.
+
+The problem is that when we look up the first name, we cannot pass the
+feature option in because if the option is force enabled, then the
+dependency lookup fails and configuration never tries to find the older
+version instead.
+
+But also, we can't just say it *isn't* required, because if the option
+is force *disabled* but it is installed on the system, we still find it
+and build against it.
+
+One solution would be using meson 0.60's support for multiple dependency
+names:
+
+```
+dependency('webrtc-audio-processing-1', 'webrtc-audio-processing',
+ version : ['>= 0.2'],
+ required: get_option('echo-cancel-webrtc'),
+)
+```
+
+Unfortunately, this too doesn't work since we could end up detecting 1.1
+(the hole in the middle) which is invalid.
+
+Instead, we do a bit of checking for tristate values before deciding to
+invoke `dependency()`. This lets us guarantee that disabled dependencies
+are well and truly disabled.
+
+Bug: https://bugs.gentoo.org/933218
+Fixes: #3678
+---
+ meson.build | 25 +++++++++++++++----------
+ 1 file changed, 15 insertions(+), 10 deletions(-)
+
+diff --git a/meson.build b/meson.build
+index cda60112f..72d275086 100644
+--- a/meson.build
++++ b/meson.build
+@@ -393,18 +393,23 @@ cdata.set('HAVE_GSTREAMER_DEVICE_PROVIDER', get_option('gstreamer-device-provide
+ summary({'gstreamer DMA_DRM support': gst_dma_drm_found}, bool_yn: true, section: 'Backend')
+ cdata.set('HAVE_GSTREAMER_DMA_DRM', gst_dma_drm_found)
+
+-webrtc_dep = dependency('webrtc-audio-processing-1',
+- version : ['>= 1.2' ],
+- required : false)
+-cdata.set('HAVE_WEBRTC1', webrtc_dep.found())
+-if webrtc_dep.found()
++if get_option('echo-cancel-webrtc').disabled()
++ webrtc_dep = dependency('', required: false)
+ summary({'WebRTC Echo Canceling >= 1.2': webrtc_dep.found()}, bool_yn: true, section: 'Misc dependencies')
+ else
+- webrtc_dep = dependency('webrtc-audio-processing',
+- version : ['>= 0.2', '< 1.0'],
+- required : get_option('echo-cancel-webrtc'))
+- cdata.set('HAVE_WEBRTC', webrtc_dep.found())
+- summary({'WebRTC Echo Canceling < 1.0': webrtc_dep.found()}, bool_yn: true, section: 'Misc dependencies')
++ webrtc_dep = dependency('webrtc-audio-processing-1',
++ version : ['>= 1.2' ],
++ required : false)
++ cdata.set('HAVE_WEBRTC1', webrtc_dep.found())
++ if webrtc_dep.found()
++ summary({'WebRTC Echo Canceling >= 1.2': webrtc_dep.found()}, bool_yn: true, section: 'Misc dependencies')
++ else
++ webrtc_dep = dependency('webrtc-audio-processing',
++ version : ['>= 0.2', '< 1.0'],
++ required : get_option('echo-cancel-webrtc'))
++ cdata.set('HAVE_WEBRTC', webrtc_dep.found())
++ summary({'WebRTC Echo Canceling < 1.0': webrtc_dep.found()}, bool_yn: true, section: 'Misc dependencies')
++ endif
+ endif
+
+ # On FreeBSD and MidnightBSD, epoll-shim library is required for eventfd() and timerfd()
+--
+GitLab
+
diff --git a/media-video/pipewire/pipewire-1.0.4.ebuild b/media-video/pipewire/pipewire-1.0.4.ebuild
deleted file mode 100644
index 0115d177525b..000000000000
--- a/media-video/pipewire/pipewire-1.0.4.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.0.6.ebuild b/media-video/pipewire/pipewire-1.0.7-r1.ebuild
index 1373789d2b11..fa900f161e78 100644
--- a/media-video/pipewire/pipewire-1.0.6.ebuild
+++ b/media-video/pipewire/pipewire-1.0.7-r1.ebuild
@@ -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,6 +175,11 @@ PDEPEND=">=media-video/wireplumber-0.5.2"
PATCHES=(
"${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch
+ # https://bugs.gentoo.org/933218
+ # https://gitlab.freedesktop.org/pipewire/pipewire/-/merge_requests/2028
+ "${FILESDIR}"/${P}-automagic-webrtc-audio-processing.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.0.5.ebuild b/media-video/pipewire/pipewire-1.2.3.ebuild
index 0115d177525b..2f8576568666 100644
--- a/media-video/pipewire/pipewire-1.0.5.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=$(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} )
@@ -124,7 +124,7 @@ RDEPEND="
virtual/libusb:1
)
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 )
@@ -162,9 +162,7 @@ RDEPEND="
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"
+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
@@ -276,8 +274,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
}
@@ -313,16 +324,8 @@ multilib_src_install_all() {
# 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
+ # 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
diff --git a/media-video/pipewire/pipewire-1.0.5-r1.ebuild b/media-video/pipewire/pipewire-1.2.4.ebuild
index 1373789d2b11..408bee308b53 100644
--- a/media-video/pipewire/pipewire-1.0.5-r1.ebuild
+++ b/media-video/pipewire/pipewire-1.2.4.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} )
@@ -124,7 +124,7 @@ RDEPEND="
virtual/libusb:1
)
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 )
@@ -274,8 +274,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 0e1cb10820aa..785496b22c13 100644
--- a/media-video/pipewire/pipewire-9999.ebuild
+++ b/media-video/pipewire/pipewire-9999.ebuild
@@ -124,7 +124,7 @@ RDEPEND="
virtual/libusb:1
)
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 )
@@ -274,8 +274,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/pitivi/Manifest b/media-video/pitivi/Manifest
index 6353e4b59cbe..1308821e902c 100644
--- a/media-video/pitivi/Manifest
+++ b/media-video/pitivi/Manifest
@@ -1,3 +1,3 @@
DIST pitivi-2023.03.tar.xz 11347576 BLAKE2B ff9ff391d2739a4b1617ab010defd63b39f575901297fae427a797cfcffefb58c33a86642fa4d364d681805697d1c31b91fbafa1e810ec9a65030d7f7575f274 SHA512 505c011bb375fcce250a46c958ef06d050f83e73fa41a66f8ba3be6a41332a4a05838b8245233f481146edae9af924b618901b7ed0600f642ebe550c151f52b0
-EBUILD pitivi-2023.03-r2.ebuild 2033 BLAKE2B 2780ef795dab203089319e3db4f05f3bf5b8304d2908e69eacdd3ad8377561b12af3ed4fcb51c5aa374478dee39f3461a3abea5de2e1bfe64c331803de1ac528 SHA512 a9661ea3c16750b36c6261779f62a90f43c5f0c48e4012aa1ef092a9e33305504e8cbf0266ab55dc5fe564894c84080a8ee2195c6f1a540a6fa1f9e7570c8dac
+EBUILD pitivi-2023.03-r2.ebuild 2034 BLAKE2B 5618ca1fa0eef538acfbdc231f01b5395ec414e203c1c303ebf1b175b2a9a84335ec54fce0cb7e44a090cb047578b40dbdc6e33c033096e81edc08ab8b7d2f31 SHA512 ff4b160c5692cbdc56f26c6deb92e0a937b657564e2a3191e01ba2ba838df2def5abccebc9c7335ba1dd8d5cb59b377316f5d4b29071b10f59a3833c5dd469b1
MISC metadata.xml 480 BLAKE2B 63b4d0d0ca6117b20b9fb1c1203990f99f4dfc3bbf91147c399a0a6bb1a7676a716b388b64a393aeb3a8e5e5234a541db1f89349f27abbd8af30b337ea7b3636 SHA512 bae7f4c4eb12078192a4227d6ce2fb5465d475913275a6efae7c74eb236bb6e7fbd01087dbe59b5231bac6e01f15cf9267dfcc84805708c0038357567df8e0cb
diff --git a/media-video/pitivi/pitivi-2023.03-r2.ebuild b/media-video/pitivi/pitivi-2023.03-r2.ebuild
index fdabc77d5fb2..7ecbd86c03c5 100644
--- a/media-video/pitivi/pitivi-2023.03-r2.ebuild
+++ b/media-video/pitivi/pitivi-2023.03-r2.ebuild
@@ -1,8 +1,8 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
PYTHON_REQ_USE="sqlite"
inherit gnome.org meson python-single-r1 xdg
diff --git a/media-video/projectx/Manifest b/media-video/projectx/Manifest
index 04b4ab9fb4c7..5c9ad7125fdb 100644
--- a/media-video/projectx/Manifest
+++ b/media-video/projectx/Manifest
@@ -1,4 +1,3 @@
-AUX build-0.91.0.10.xml 2026 BLAKE2B fd29c13f89695542d16908aae974b17faf52dd0a663954f54a94a8c8cf1c673ae26276a3f94e812461ac0b336db7c0f8a3fa87110b099eed210eca488535e644 SHA512 6fbe6fdb00f814c5fa72dc52542c3d9950ff4229939090161a208c0013ec0e2867ff6fc656249f2de68c58a26ef2bd059ffe767be1498318a8cb9eddadbb72ea
AUX projectx-0.91.0.10-bl2.patch 535 BLAKE2B aeeba4ee7d33c77c64563e48005260c68d5f3da6f126df4d2c0ea3be7276748be944cb80705110dcad0cb5410bfcb084add24ff01d98bc098b690a1012359412 SHA512 88f8602ed85760c5be7ff3db2ce4347cc13c0d440d97c1a878bbef9ba62f7bf5c763c901384615db92cc63755c6534f730b32d253bea18f913d92d6503884427
AUX projectx-0.91.0.10-idctfast.patch 1089 BLAKE2B 9dbef016e8ce6ac93f8554fe0414191434ac9364ddb51dafb9505c125a887e72dcd38e58f6eecd8595f9b735f099592730debf7948f97927ca3930c30731fa62 SHA512 309beac4a582a3abe25a4f28acf2a69d55f3a7824a18d845a2c46cfb3a05bd1fba1021a01da396eb395a633cc999a96527d53654b2b8cf3c5f87add9ebc2e24d
AUX projectx-0.91.0.10-stdout-corrupt.patch 378 BLAKE2B 7a92d7c16688e75e6d0510a93a02ac52fec7aec83ea768b70011d5dc8016c7f31cb4194bfd44f6696b6067c0c4fd179e03bf922d49358846b62c33914641128c SHA512 22f859c66d723f501002ca507a3a246716adf584d94d84fbb75b870b3418d93f073b6f46495232a9a9215007283e0acbe21871a4af74695dcbd0fc3a3ecbb2f3
@@ -7,6 +6,5 @@ DIST projectx-0.91.0.10-r4.tar.xz 830232 BLAKE2B 26171e583dc608c181d3ab3de050beb
DIST projectx-icon.png 1692 BLAKE2B 6da85b69961b81f64638b04860b467e8cf599287513d85157aa71e4575003b8ef6e96cbe4b0b40b54bb15b6ca74c14f4bf1855c80f1f6db89294567a77f9e151 SHA512 33d9e505140d2dd22d34f87ebff040530130bbb7d1e9958d7345f442bd3d6e17dff8d243e22f374217aed20139871e406e46ca6f03ca48eb338dc3630af2417a
DIST projectx-idctfast.tar.xz 12444 BLAKE2B e4b2a6ab235601dbdd1acf8a73a14fecb5da455670bad52598e0dbd8a7300305fad1b22b3d550dd046dcac68975af4b225e042f7c968ce9108f702d01586302f SHA512 85dd6dd0011c166aaefd47a47c4455dda68ba6da65c9eda5a996f7d078ce3900168714c0c72c6250f7b99181fda84c6d81e3afb392ace9c12c3c5690de01c1d8
DIST xdg-20100731.java.xz 648 BLAKE2B 8bd082c445d64051c65c66e8a22b61e582d04f1f650e3b15ee2f3400d47b10f137d245bd8a7633d96299e2c688f7bf836b59a4dd49ea3c181684a78fa55304c3 SHA512 8b5d8e695f3f052f889002dc93742da8ba9eada173cb10ad1db525e1ad89d1c8f44200d79dc02068ccf93fdbf2e8daa5bb359dae77bacbc89cb6d4895732774b
-EBUILD projectx-0.91.0.10-r4.ebuild 3096 BLAKE2B 28381e7606ed1ac8e163bc3f4cc623722e4e7de07974ff341b69d7fa74e243e6e508e4fa873f960176d7e6cfa28529cea9aa61532f89fadbde5dcdd894f4eda1 SHA512 7dfc86db8a7116737aeaf4d8ba1f1663edc2018f6be8ba639f4b042b80115a2ef878fff876ec55e1e3d4dff460b25d1c34aed92a38f3b349c5930448e8ea9eb5
-EBUILD projectx-0.91.0.10-r5.ebuild 2990 BLAKE2B daa1ddf2371c78a7caa164bf3524f33bc94d0742e8bbabcfa9d5ddb6401e7357a7d20d6d39ab76d2ac4ead59d864425bad8fe108f02f51174823e28922f963b2 SHA512 bbd6006d383823ea08ad9c006f307e023a9e408517fe49bd41e44dbef9ccc0217877391f804d4092f58f082ca3cb2f3a7d3576836a72d0de6d6c6caac0c4c9ba
+EBUILD projectx-0.91.0.10-r5.ebuild 2987 BLAKE2B f69eb06144b31edcb40f9f241fe2c78f7f08a12b7ea82b2f6ef3f2e04dd8266f75b572e48282ffa6d3cfd440f40d9e5476c143742e47ddfa649fbde391ba2c79 SHA512 d4813a63deb96484072ad92bde5cae4769383c4e8514c7cb91eba1d996e548e5998c9a43253a6843921c3bc73e475e123bed8259c4a5a24a0d664f5649f6e31a
MISC metadata.xml 743 BLAKE2B 1100ef8186544c4605495d3cee7ba506559e124fd500a20b54a7cbd912a792b6873143040f46d9b30837c6dd79c0e1f18f6464d25b84dc1681b0886c209471b0 SHA512 7644cbc684eaaaec7838c38a7856b3421e4e9069dc208bad12c9b4c40567ecce706633148656d2ceb193ebd925761599856f6290126ecf88405f9b86af49ab25
diff --git a/media-video/projectx/files/build-0.91.0.10.xml b/media-video/projectx/files/build-0.91.0.10.xml
deleted file mode 100644
index f35638733b13..000000000000
--- a/media-video/projectx/files/build-0.91.0.10.xml
+++ /dev/null
@@ -1,77 +0,0 @@
-<?xml version="1.0"?>
-
-<project name="projectx" 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="lib.dir" value="lib" />
- <property name="resources.dir" value="resources" />
- <property name="project.jar" value="${dist.dir}/${ant.project.name}.jar" />
- <property name="target.jdk" value="1.5" />
-
- <!-- classpath -->
- <path id="refcp">
- <fileset dir="${lib.dir}">
- <include name="**/*.jar" />
- </fileset>
- </path>
-
- <!-- 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}"
- classpathref="refcp"
- 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="${manifest.mainclass}" />
- </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/projectx/projectx-0.91.0.10-r4.ebuild b/media-video/projectx/projectx-0.91.0.10-r4.ebuild
deleted file mode 100644
index 57ef227ba394..000000000000
--- a/media-video/projectx/projectx-0.91.0.10-r4.ebuild
+++ /dev/null
@@ -1,126 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-JAVA_PKG_IUSE="doc source"
-
-inherit desktop edos2unix java-pkg-2 java-ant-2 toolchain-funcs xdg
-
-XDG_P="xdg-20100731"
-
-DESCRIPTION="Converts, splits and demuxes DVB and other MPEG recordings"
-HOMEPAGE="https://project-x.sourceforge.net/"
-SRC_URI="https://dev.gentoo.org/~billie/distfiles/${PF}.tar.xz
- https://dev.gentoo.org/~billie/distfiles/${PN}-idctfast.tar.xz
- https://dev.gentoo.org/~billie/distfiles/${XDG_P}.java.xz
- https://dev.gentoo.org/~billie/distfiles/${PN}-icon.png"
-
-S="${WORKDIR}/Project-X"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 ppc64 x86"
-IUSE="X cpu_flags_x86_mmx cpu_flags_x86_sse"
-
-COMMON_DEPEND="
- dev-java/commons-net:0
- X? ( dev-java/browserlauncher2:1.0 )
-"
-RDEPEND="
- ${COMMON_DEPEND}
- >=virtual/jre-1.8:*
-"
-DEPEND="
- ${COMMON_DEPEND}
- >=virtual/jdk-1.8:*
- app-arch/xz-utils
-"
-
-mainclass() {
- # read Main-Class from MANIFEST.MF
- sed -n "s/^Main-Class: \([^ ]\+\).*/\1/p" "${S}/MANIFEST.MF" || die
-}
-
-src_prepare() {
- default
-
- xdg_environment_reset
-
- local X
-
- # apply stdout corruption patch (zzam@gentoo.org)
- eapply "${FILESDIR}/${PN}-0.91.0.10-stdout-corrupt.patch"
-
- # apply BrowserLauncher2 patch
- use X && eapply "${FILESDIR}/${PN}-0.91.0.10-bl2.patch"
- rm -rf src/edu || die
-
- # apply IDCTFast patch
- eapply "${FILESDIR}/${PN}-0.91.0.10-idctfast.patch"
-
- # apply XDG patch
- cp -f "${WORKDIR}/${XDG_P}.java" "${S}/src/xdg.java" || die
- eapply "${FILESDIR}/${PN}-0.91.0.10-xdg.patch"
-
- # copy build.xml
- cp -f "${FILESDIR}/build-0.91.0.10.xml" build.xml || die
-
- # patch executable and icon
- sed -i -e "s:^\(Exec=\).*:\1${PN}_gui:g" \
- -e "s:^\(Icon=\).*:\1${PN}:g" *.desktop || die
-
- # convert CRLF to LF
- edos2unix *.txt MANIFEST.MF
-
- # merge/remove resources depending on USE="X"
- if use X; then
- mv -f htmls resources/ || die
- else
- rm -rf src/net/sourceforge/dvb/projectx/gui || die
- rm resources/*.gif || die
- fi
-
- # update library packages
- cd lib || die
- rm -f {commons-net,jakarta-oro}*.jar || die
- java-pkg_jar-from commons-net
- use X && java-pkg_jar-from browserlauncher2-1.0
- java-pkg_ensure-no-bundled-jars
-}
-
-src_compile() {
- local IDCT="idct-mjpeg" # default IDCT implementation
- if use x86 || use amd64; then
- use cpu_flags_x86_mmx && IDCT="idct-mjpeg-mmx"
- use cpu_flags_x86_sse && IDCT="idct-mjpeg-sse"
- fi
-
- eant build $(use_doc) -Dmanifest.mainclass=$(mainclass)
-
- cd lib/PORTABLE || die
- emake CC="$(tc-getCC)" IDCT="${IDCT}" LDFLAGS="${LDFLAGS}" \
- CPLAT="${CFLAGS} -O3 -ffast-math -fPIC"
-}
-
-src_install() {
- java-pkg_dojar dist/${PN}.jar
- java-pkg_doso lib/PORTABLE/libidctfast.so
-
- java-pkg_dolauncher ${PN}_cli --main $(mainclass) \
- --java_args "-Djava.awt.headless=true -Xmx256m"
-
- if use X; then
- java-pkg_dolauncher ${PN}_gui --main $(mainclass) \
- --java_args "-Xmx256m"
- dosym ${PN}_gui /usr/bin/${PN}
- newicon "${DISTDIR}/${PN}-icon.png" "${PN}.png"
- domenu *.desktop
- else
- dosym ${PN}_cli /usr/bin/${PN}
- fi
-
- dodoc *.txt
- use doc && java-pkg_dojavadoc apidocs
- use source && java-pkg_dosrc src
-}
diff --git a/media-video/projectx/projectx-0.91.0.10-r5.ebuild b/media-video/projectx/projectx-0.91.0.10-r5.ebuild
index 3e5d18a572cc..2b918e744003 100644
--- a/media-video/projectx/projectx-0.91.0.10-r5.ebuild
+++ b/media-video/projectx/projectx-0.91.0.10-r5.ebuild
@@ -20,7 +20,7 @@ S="${WORKDIR}/Project-X"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~amd64 ~ppc64 ~x86"
+KEYWORDS="amd64 ppc64 x86"
IUSE="X cpu_flags_x86_mmx cpu_flags_x86_sse"
COMMON_DEPEND="
diff --git a/media-video/qmplay2/Manifest b/media-video/qmplay2/Manifest
index b70c7ea17e54..53272ea9ddab 100644
--- a/media-video/qmplay2/Manifest
+++ b/media-video/qmplay2/Manifest
@@ -1,8 +1,4 @@
-DIST QMPlay2-src-24.03.16.tar.xz 2013280 BLAKE2B bb241c56a6988659c3810c2d3a922e87f0a7bf324a58d36b4e2efaf5f452c2dbb7aa5a34ff909edc30675f566a2e0c92b1fc1d2524288302cb10fe0a75bfface SHA512 166c4acd2c79cd43693b0c3f8a4802a9b277f519d042a3eabe551d8d277f3f8ec41c74b830c36f0897fe5f247e306e9374eb982441f5a825d355af60b3660495
-DIST QMPlay2-src-24.04.02.tar.xz 2043084 BLAKE2B 481ce8591c362c81569b49a4640e0459d59f31997ab78df86d85551a7e25ae591e80f3c10b73c278f137ac98bba6c89615693f749b9343286e84c4e9811702ca SHA512 958d7dab21e1eecf1b2f18ca980e050c28de4d59f58841b8649b591a4dd9c200e1bb85fa6cd60e4bc317d071b316742ed73502bf3f0d096655aa8d1d2658eae5
-DIST QMPlay2-src-24.04.07.tar.xz 2042608 BLAKE2B 234d21478c090566210f48e62247a22c11f68d7491938d3c59aa201999eb5e0dd54cb9040cf75c655ca0b2337003b7edbe9574e45fb5ca1293e505d0e9824884 SHA512 998929c825db6c92f8a4fa22e998e51ba2aa6d6742d678aef0c380e9131f4de4a9e49c7008b73f8c19b1c8048f17288dd895fc3cade12becb729e5d981e90eac
-EBUILD qmplay2-24.03.16.ebuild 3467 BLAKE2B 8c263c5097e6354688321dcbf606fec24dd3eaacb5d589ddd278fcf88bf863c3b6cbcedcc5d39281808aca3ab19f1240e11f94a4b3364f2eb2642d7d1965fb15 SHA512 c185d8e94fc87d7d12fc62af15bad8a4c55f0d484d0638bc63eebaee46cf1d66b7123b4a3bb3b9846c6a9d8df80dc7ef73bc7aca506da60032cefc28618bae7e
-EBUILD qmplay2-24.04.02.ebuild 3468 BLAKE2B e44c9310d3386dc7674244cd44ade545c1cef92bccfd29d29cfe26c77d759d395324f9e7cf0775b636aa6b63d17e894594552abcf253182d6be727b6664a5b8a SHA512 8eb01b492f63ed9e6fe9258e02d94700c87909b05f984c24739272ea514c6318f955683ab09d27108045b4d1ac12d315b1e3a5687aa8d0f792ad1a13960562c2
-EBUILD qmplay2-24.04.07.ebuild 3462 BLAKE2B 62cc62f2b9bf8b1fff24b3e61ea5ae53cbc0ed5c896c4c9732576f0f36cc8249ea075885f65de716b2d7d173efcbb22667e439c51f81c43853f90908fc59e799 SHA512 7ad8c3585df15e46335946545bd18fb8c272ac230c5721061830498c939fa15dd535d9fda7a04b24d3da863f3b65d7075a5995c1728afb3e0ba0429f022b718c
-EBUILD qmplay2-9999.ebuild 3468 BLAKE2B e6e6aead979834a9624aa9985be5397ba9a5a03119d60a738bde5886456b2e447ccb89617da5f32aa35c7393514001c2e4c550de4f5ac857a4ffda28e685e861 SHA512 6f21c58fe58731da0e923c8cd300efe0cbeb99707ebbca73c8e90ec00435ed66369fc669e683872ba5dd88841ca53b0f090f01ddf72b2558af92acb51fb22a33
+DIST QMPlay2-src-24.06.16.tar.xz 2042180 BLAKE2B ba076fc7cb6c77f16529d082690c4d994e53c62cdf994c1e35afdb5255b203d0ccc72db1195730be60471d5fff48deca47e1348b0b41f22e898818206f8c53bb SHA512 3a8a7b99c7861318cfe0a6e096a27bb86f64cfafacf4ec52bdc4e955dd320d6e0f369dcb466dfd9bb73f8d173a2fc768848e7356f03590e429ae30270daf176b
+EBUILD qmplay2-24.06.16.ebuild 3377 BLAKE2B 0a1decfcdf7c00665f4886f5b027649d071341a373b186328b094eba94411a40cabb60ed6a7027636a619486305b1c74a53fcae426a4944a690bcf2a34cc47dd SHA512 cf9a7cc2bc5d1aa92e12d31954ffec60dd70d5c76eb0bfadc8edd83149f90b437f9f5f863b616608239e5302fdb7032bea50b4f4c6d05ccdec9fca2f0d534e29
+EBUILD qmplay2-9999.ebuild 3378 BLAKE2B 6cc5773edb049423e62502ea823991428a07d737d46a90f1a470ab3214cf7d82212f3706eef61a9981c0c8fa9405b7fcf95101f44cd4019d9c285da38da855f6 SHA512 c6d941954a4887457264c06fec0721b4ae152731bc344923fc77443b35bc38b71c8dc0e5852e7031ad5894359b880762abec56c5c1ebeea4e0bc683827c95c5a
MISC metadata.xml 1225 BLAKE2B 9fc74ea3d0319bc8822e0ff56968efcbe4ab40b758bfeca900883ed4dbbe80608a6954ffe95a1f61d0dd988ae88afd29d2c4485f3d62b2b839b9fea289fe3b72 SHA512 94f8b05578de759be210af0eb26f15d48e15112b07e586b6336737bd9cb3dd768c7dbefc3b667753239c10bdb1fa6ebdd39d5abe234742ead51f189bf63f8173
diff --git a/media-video/qmplay2/qmplay2-24.03.16.ebuild b/media-video/qmplay2/qmplay2-24.03.16.ebuild
deleted file mode 100644
index 2f3804bc8402..000000000000
--- a/media-video/qmplay2/qmplay2-24.03.16.ebuild
+++ /dev/null
@@ -1,140 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit cmake xdg
-
-DESCRIPTION="A Qt-based video player, which can play most formats and codecs"
-HOMEPAGE="https://github.com/zaps166/QMPlay2"
-
-if [[ ${PV} == *9999 ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/zaps166/QMPlay2"
-else
- SRC_URI="https://github.com/zaps166/QMPlay2/releases/download/${PV}/QMPlay2-src-${PV}.tar.xz"
- S="${WORKDIR}/QMPlay2-src-${PV}"
- KEYWORDS="amd64"
-fi
-
-LICENSE="LGPL-3"
-SLOT="0"
-
-IUSE="avdevice +audiofilters +alsa cdio cuvid extensions gme inputs libass
- modplug notifications opengl pipewire portaudio pulseaudio qt6 sid
- shaders +taglib vaapi vdpau videofilters visualizations vulkan xv"
-
-REQUIRED_USE="
- audiofilters? ( || ( alsa pipewire portaudio pulseaudio ) )
- shaders? ( vulkan )
-"
-
-RDEPEND="
- media-video/ffmpeg:=[vaapi?,vdpau?]
- !qt6? (
- dev-qt/qtcore:5
- dev-qt/qtdbus:5
- dev-qt/qtgui:5[X(-),vulkan?]
- dev-qt/qtsvg:5
- dev-qt/qtwidgets:5
- dev-qt/qtx11extras:5
- extensions? ( dev-qt/qtdeclarative:5 )
- videofilters? ( dev-qt/qtconcurrent:5 )
- )
- qt6? (
- dev-qt/qtbase:6[concurrent,dbus,gui,network,opengl?,ssl,vulkan?,widgets]
- dev-qt/qt5compat:6
- dev-qt/qtsvg:6
- extensions? ( dev-qt/qtdeclarative:6 )
- )
- alsa? ( media-libs/alsa-lib )
- cdio? ( dev-libs/libcdio[cddb] )
- gme? ( media-libs/game-music-emu )
- libass? ( media-libs/libass )
- opengl? ( virtual/opengl )
- pipewire? ( media-video/pipewire )
- portaudio? ( media-libs/portaudio )
- pulseaudio? ( media-libs/libpulse )
- sid? ( media-libs/libsidplayfp )
- shaders? ( >=media-libs/shaderc-2020.1 )
- taglib? ( media-libs/taglib )
- vaapi? ( media-libs/libva[X] )
- vulkan? ( >=media-libs/vulkan-loader-1.2.133 )
- xv? ( x11-libs/libXv )
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- !qt6? ( dev-qt/linguist-tools:5 )
- qt6? ( dev-qt/qttools:6[linguist] )
-"
-
-src_prepare() {
- # disable compress man pages
- sed -r \
- -e 's/if\(GZIP\)/if\(TRUE\)/' \
- -e 's/(install.+QMPlay2\.1)\.gz/\1/' \
- -i src/gui/CMakeLists.txt || die
-
- cmake_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DBUILD_WITH_QT6=$(usex qt6)
- # core
- -DUSE_LINK_TIME_OPTIMIZATION=false
- -DUSE_UPDATES=OFF
- -DUSE_ALSA=$(usex alsa)
- -DUSE_AUDIOCD=$(usex cdio)
- -DUSE_DBUS_SUSPEND=ON
- -DUSE_FREEDESKTOP_NOTIFICATIONS=ON
- -DUSE_LIBASS=$(usex libass)
- -DUSE_NOTIFY=$(usex notifications)
- -DUSE_OPENGL=$(usex opengl)
- -DUSE_VULKAN=$(usex vulkan)
- -DUSE_GLSLC=$(usex shaders)
- -DUSE_XVIDEO=$(usex xv)
-
- # ffmpeg
- -DUSE_FFMPEG_AVDEVICE=$(usex avdevice)
- -DUSE_FFMPEG_VAAPI=$(usex vaapi)
- -DUSE_FFMPEG_VDPAU=$(usex vdpau)
-
- # chiptune
- -DUSE_CHIPTUNE_GME=$(usex gme)
- -DUSE_CHIPTUNE_SID=$(usex sid)
-
- # modules
- -DUSE_AUDIOFILTERS=$(usex audiofilters)
- -DUSE_CUVID=$(usex cuvid)
- -DUSE_INPUTS=$(usex inputs)
- -DUSE_MODPLUG=$(usex modplug)
- -DUSE_PIPEWIRE=$(usex pipewire)
- -DUSE_PORTAUDIO=$(usex portaudio)
- -DUSE_PULSEAUDIO=$(usex pulseaudio)
- -DUSE_TAGLIB=$(usex taglib)
- -DUSE_VIDEOFILTERS=$(usex videofilters)
- -DUSE_VISUALIZATIONS=$(usex visualizations)
-
- # extensions
- -DUSE_EXTENSIONS=$(usex extensions)
- )
-
- if use extensions; then
- # Move inside an if, to remove unused option warning
- mycmakeargs+=(
- -DUSE_LASTFM=ON
- -DUSE_LYRICS=ON
- -DUSE_MEDIABROWSER=ON
- -DUSE_MPRIS2=ON
- )
- fi
-
- if [[ ${PV} == *9999 ]]; then
- mycmakeargs+=( -DUSE_GIT_VERSION=true )
- else
- mycmakeargs+=( -DUSE_GIT_VERSION=false )
- fi
-
- cmake_src_configure
-}
diff --git a/media-video/qmplay2/qmplay2-24.04.02.ebuild b/media-video/qmplay2/qmplay2-24.04.02.ebuild
deleted file mode 100644
index 90c70de03992..000000000000
--- a/media-video/qmplay2/qmplay2-24.04.02.ebuild
+++ /dev/null
@@ -1,140 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit cmake xdg
-
-DESCRIPTION="A Qt-based video player, which can play most formats and codecs"
-HOMEPAGE="https://github.com/zaps166/QMPlay2"
-
-if [[ ${PV} == *9999 ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/zaps166/QMPlay2"
-else
- SRC_URI="https://github.com/zaps166/QMPlay2/releases/download/${PV}/QMPlay2-src-${PV}.tar.xz"
- S="${WORKDIR}/QMPlay2-src-${PV}"
- KEYWORDS="~amd64"
-fi
-
-LICENSE="LGPL-3"
-SLOT="0"
-
-IUSE="avdevice +audiofilters +alsa cdio cuvid extensions gme inputs libass
- modplug notifications opengl pipewire portaudio pulseaudio qt6 sid
- shaders +taglib vaapi vdpau videofilters visualizations vulkan xv"
-
-REQUIRED_USE="
- audiofilters? ( || ( alsa pipewire portaudio pulseaudio ) )
- shaders? ( vulkan )
-"
-
-RDEPEND="
- media-video/ffmpeg:=[vaapi?,vdpau?]
- !qt6? (
- dev-qt/qtcore:5
- dev-qt/qtdbus:5
- dev-qt/qtgui:5[X(-),vulkan?]
- dev-qt/qtsvg:5
- dev-qt/qtwidgets:5
- dev-qt/qtx11extras:5
- extensions? ( dev-qt/qtdeclarative:5 )
- videofilters? ( dev-qt/qtconcurrent:5 )
- )
- qt6? (
- dev-qt/qtbase:6[concurrent,dbus,gui,network,opengl?,ssl,vulkan?,widgets]
- dev-qt/qt5compat:6
- dev-qt/qtsvg:6
- extensions? ( dev-qt/qtdeclarative:6 )
- )
- alsa? ( media-libs/alsa-lib )
- cdio? ( dev-libs/libcdio[cddb] )
- gme? ( media-libs/game-music-emu )
- libass? ( media-libs/libass )
- opengl? ( virtual/opengl )
- pipewire? ( media-video/pipewire )
- portaudio? ( media-libs/portaudio )
- pulseaudio? ( media-libs/libpulse )
- sid? ( media-libs/libsidplayfp )
- shaders? ( >=media-libs/shaderc-2020.1 )
- taglib? ( media-libs/taglib )
- vaapi? ( media-libs/libva[X] )
- vulkan? ( >=media-libs/vulkan-loader-1.2.133 )
- xv? ( x11-libs/libXv )
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- !qt6? ( dev-qt/linguist-tools:5 )
- qt6? ( dev-qt/qttools:6[linguist] )
-"
-
-src_prepare() {
- # disable compress man pages
- sed -r \
- -e 's/if\(GZIP\)/if\(TRUE\)/' \
- -e 's/(install.+QMPlay2\.1)\.gz/\1/' \
- -i src/gui/CMakeLists.txt || die
-
- cmake_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DBUILD_WITH_QT6=$(usex qt6)
- # core
- -DUSE_LINK_TIME_OPTIMIZATION=false
- -DUSE_UPDATES=OFF
- -DUSE_ALSA=$(usex alsa)
- -DUSE_AUDIOCD=$(usex cdio)
- -DUSE_DBUS_SUSPEND=ON
- -DUSE_FREEDESKTOP_NOTIFICATIONS=ON
- -DUSE_LIBASS=$(usex libass)
- -DUSE_NOTIFY=$(usex notifications)
- -DUSE_OPENGL=$(usex opengl)
- -DUSE_VULKAN=$(usex vulkan)
- -DUSE_GLSLC=$(usex shaders)
- -DUSE_XVIDEO=$(usex xv)
-
- # ffmpeg
- -DUSE_FFMPEG_AVDEVICE=$(usex avdevice)
- -DUSE_FFMPEG_VAAPI=$(usex vaapi)
- -DUSE_FFMPEG_VDPAU=$(usex vdpau)
-
- # chiptune
- -DUSE_CHIPTUNE_GME=$(usex gme)
- -DUSE_CHIPTUNE_SID=$(usex sid)
-
- # modules
- -DUSE_AUDIOFILTERS=$(usex audiofilters)
- -DUSE_CUVID=$(usex cuvid)
- -DUSE_INPUTS=$(usex inputs)
- -DUSE_MODPLUG=$(usex modplug)
- -DUSE_PIPEWIRE=$(usex pipewire)
- -DUSE_PORTAUDIO=$(usex portaudio)
- -DUSE_PULSEAUDIO=$(usex pulseaudio)
- -DUSE_TAGLIB=$(usex taglib)
- -DUSE_VIDEOFILTERS=$(usex videofilters)
- -DUSE_VISUALIZATIONS=$(usex visualizations)
-
- # extensions
- -DUSE_EXTENSIONS=$(usex extensions)
- )
-
- if use extensions; then
- # Move inside an if, to remove unused option warning
- mycmakeargs+=(
- -DUSE_LASTFM=ON
- -DUSE_LYRICS=ON
- -DUSE_MEDIABROWSER=ON
- -DUSE_MPRIS2=ON
- )
- fi
-
- if [[ ${PV} == *9999 ]]; then
- mycmakeargs+=( -DUSE_GIT_VERSION=true )
- else
- mycmakeargs+=( -DUSE_GIT_VERSION=false )
- fi
-
- cmake_src_configure
-}
diff --git a/media-video/qmplay2/qmplay2-24.04.07.ebuild b/media-video/qmplay2/qmplay2-24.06.16.ebuild
index d0a302ac4801..c1b7e6491d5d 100644
--- a/media-video/qmplay2/qmplay2-24.04.07.ebuild
+++ b/media-video/qmplay2/qmplay2-24.06.16.ebuild
@@ -22,7 +22,7 @@ SLOT="0"
IUSE="avdevice +audiofilters +alsa cdio cuvid extensions gme inputs libass
modplug notifications opengl pipewire portaudio pulseaudio qt6 sid
- shaders +taglib vaapi vdpau videofilters visualizations vulkan xv"
+ shaders +taglib vaapi videofilters visualizations vulkan xv"
REQUIRED_USE="
audiofilters? ( || ( alsa pipewire portaudio pulseaudio ) )
@@ -30,7 +30,7 @@ REQUIRED_USE="
"
RDEPEND="
- media-video/ffmpeg:=[vaapi?,vdpau?]
+ media-video/ffmpeg:=[vaapi?]
!qt6? (
dev-qt/qtcore:5
dev-qt/qtdbus:5
@@ -82,7 +82,6 @@ src_configure() {
local mycmakeargs=(
-DBUILD_WITH_QT6=$(usex qt6)
# core
- -DUSE_LINK_TIME_OPTIMIZATION=false
-DUSE_UPDATES=OFF
-DUSE_ALSA=$(usex alsa)
-DUSE_AUDIOCD=$(usex cdio)
@@ -98,7 +97,6 @@ src_configure() {
# ffmpeg
-DUSE_FFMPEG_AVDEVICE=$(usex avdevice)
-DUSE_FFMPEG_VAAPI=$(usex vaapi)
- -DUSE_FFMPEG_VDPAU=$(usex vdpau)
# chiptune
-DUSE_CHIPTUNE_GME=$(usex gme)
diff --git a/media-video/qmplay2/qmplay2-9999.ebuild b/media-video/qmplay2/qmplay2-9999.ebuild
index 961b70b140c8..1bb22871659a 100644
--- a/media-video/qmplay2/qmplay2-9999.ebuild
+++ b/media-video/qmplay2/qmplay2-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
@@ -22,7 +22,7 @@ SLOT="0"
IUSE="avdevice +audiofilters +alsa cdio cuvid extensions gme inputs libass
modplug notifications opengl pipewire portaudio pulseaudio qt6 sid
- shaders +taglib vaapi vdpau videofilters visualizations vulkan xv"
+ shaders +taglib vaapi videofilters visualizations vulkan xv"
REQUIRED_USE="
audiofilters? ( || ( alsa pipewire portaudio pulseaudio ) )
@@ -30,7 +30,7 @@ REQUIRED_USE="
"
RDEPEND="
- media-video/ffmpeg:=[vaapi?,vdpau?]
+ media-video/ffmpeg:=[vaapi?]
!qt6? (
dev-qt/qtcore:5
dev-qt/qtdbus:5
@@ -82,11 +82,10 @@ src_configure() {
local mycmakeargs=(
-DBUILD_WITH_QT6=$(usex qt6)
# core
- -DUSE_LINK_TIME_OPTIMIZATION=false
-DUSE_UPDATES=OFF
-DUSE_ALSA=$(usex alsa)
-DUSE_AUDIOCD=$(usex cdio)
- -DUSE_DBUS_SUSPEND=ON
+ -DUSE_DBUS_PM=ON
-DUSE_FREEDESKTOP_NOTIFICATIONS=ON
-DUSE_LIBASS=$(usex libass)
-DUSE_NOTIFY=$(usex notifications)
@@ -98,7 +97,6 @@ src_configure() {
# ffmpeg
-DUSE_FFMPEG_AVDEVICE=$(usex avdevice)
-DUSE_FFMPEG_VAAPI=$(usex vaapi)
- -DUSE_FFMPEG_VDPAU=$(usex vdpau)
# chiptune
-DUSE_CHIPTUNE_GME=$(usex gme)
diff --git a/media-video/raspberrypi-omxplayer/Manifest b/media-video/raspberrypi-omxplayer/Manifest
deleted file mode 100644
index 1b64e9b2ef41..000000000000
--- a/media-video/raspberrypi-omxplayer/Manifest
+++ /dev/null
@@ -1,6 +0,0 @@
-AUX Makefile-0_p20160528.patch 1558 BLAKE2B 46ac6fc78241cef74e05b560c7a75d8367f8e191066f40a801b760688c99cd39b36d36ad56c73979bdef988a01906576169232bcf08d8ff0584510018ef28468 SHA512 0774d69992a1a19c4caf7edd17dfb41f5670ad1f8c4a86834064ce1a9fe88db01814b4c6eb8e8c118b94280e5af908bc8806831252617613dbdc745acd99ccc4
-AUX cross-0_p20160528.patch 520 BLAKE2B d7c69d51a04cf7c458ed97e3911ea6732dd7e51c1cec42787de9c5f77bde1e6312c83fc5317c838e2e8d684f22cd2ac7fbc56c36551421b7468868eb811e9688 SHA512 7ac3f7b3cda31ff6277da792d49e18b792646108faa28154bbad719f0181187e22d9ac7065a685edfcbc28076fc8a37d95b9381cc68e39a469a15c85622dec58
-AUX fonts-path.patch 881 BLAKE2B 3d95639c3aa0bc2d724b44477edc3f9699d627822df12504cf0a3e7beed7fc80a1d1b8a30d2dc4012a2ba0c9869dea5f8801610685b472a4a50b9a0d91748440 SHA512 995e9b5850a240e07814697054178fc19e94483d51b11a3786b8eff6c609619be2d7caa97c63ebdc1d194acb1d24a85b8acd34bbb4d5c0c7cc92a14da7b368dd
-DIST raspberrypi-omxplayer-0_p20160528.tar.gz 1207624 BLAKE2B 5b8f8973302718cd06f0b7527eb1cc59bddd4c98a58917c540853e54a5c6d6978b00eb790ac5d18cd2e1b90730543e51c3c6edc221b4df1d9482d5e89af5846b SHA512 c7b00908f52159745dda94f35b9150122ca1e4e97ad1578a89f6db917b1579a8ed94c4ef1592a7c2590240e0fd1e7e0617e3ee8dec7f532368205ee63ce42572
-EBUILD raspberrypi-omxplayer-0_p20160528-r3.ebuild 1208 BLAKE2B 2ad72bf9cd96b3e894543d3fd13b5316dd7e842949e3fa462c21f4f9c2803fe18374585e89ae8542d513a03678411c5c67001b4eef8969154d6ec38291452729 SHA512 59fa8b4f6075c86e3b1fe62f101183e15285a6a28592702b2d5b884d08b75f3d062452119dd826accb54509a7ec00cb6c7d1220e4e3650fd8617d0939b3b27ab
-MISC metadata.xml 335 BLAKE2B f439fa31b97a36c8be72b15959a8fe68afa02e4c14d5efb6bb1a0f9f85edfa2dbe3ec4a6fd7cefed81290eca9404d24c25eea0d6fa7d0d2869d4fd93222194c4 SHA512 d3eea8023c1ea51f78b0f8fa93921bfed2fb8aa7c3b769399e5c517e2160c469621b6f8098d78216839e6e357c8e3c1847ac48ea5a2c54635c9e7d1bfd8aa293
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 a7235112ce64..cb098fed5dec 100644
--- a/media-video/shotcut/Manifest
+++ b/media-video/shotcut/Manifest
@@ -1,6 +1,6 @@
-DIST shotcut-23.09.29.tar.gz 11908874 BLAKE2B e107d5f0284afd54b31eff72220d4224621da7b46fff6345d729ea0464b8967bc3329a12121aeedcdec6bcce7f4c6394065463269708a4bd4d29cc4389bc1706 SHA512 a829c2eda51db4fe20fa207e3e98ce0fb1e777af8ac495aa1ad20407bb91a41fed569298611288e04a528f1120fc89292d0333d3e445dce1ab86a799dea78e16
DIST shotcut-24.02.19.tar.gz 12077171 BLAKE2B ac7ab500f8817007ec981a94a2b7a414a4d981c630bd289fdf70eb2f1d493391dc74e372d82273aa4d81a2a9b685b1275e30ab47f6d6c5ce44812c286f43ed54 SHA512 60fc8874622db7ebb3e345ac8ba23a0d7c5e60c929c5955189b71540bbd5946e4dc0db0ad119a4ba3659f2d6e4dd64652be3dabc82b3c01feefb5619685ec454
-EBUILD shotcut-23.09.29.ebuild 1207 BLAKE2B afb8639799bd29f00cfd325eb884d63359e5d8243464273a5debd68929bcab62bb81048a90b1e34154dcdf8c7ff4530ee69995b8f7e88ecf11af31c9b56d910f SHA512 e2cb5620f3cb6e8a471019fd46be770477e9a2112abcc5171253e5256268e665d3ab4c2430294abc889cf75a94e43cf3a40da3f7065892538c6f86ad76c10e95
+DIST shotcut-24.06.26.tar.gz 12276595 BLAKE2B 0f062f3cb3991291b962fd351cac266bf20fd7d58acb70245655b93cbdbc7147a24e17d4ecf4eaa1bd5e3bbf29a29b73f289d529c539f6540616e3a03bf82ac5 SHA512 282c3f73cedae9b1fcb85d08a18fcd164481307baaca0227f536846ee0fc1c2f09382d0ba40fb0993210c78e7192338fa3577fe9c963e8bfc5a9d5bacc912a8b
EBUILD shotcut-24.02.19.ebuild 1226 BLAKE2B 45e59c078e4e5d5a7d03230abb0217a593d7836219928d4f2e14bb62c7f3f3257eaee16aa3204bf10d3a51ba5b955d68c3cc59ad3887f78970029473e3c9b01f SHA512 2442f8f01b4b7bfd23b084f5e866d51d4c896edd14df5a9fd7a121687a444d84f2d86839e10486ee40c885d5368c605c3f1f7ec392b311f21c3fa4cc8a83fded
-EBUILD shotcut-9999.ebuild 1207 BLAKE2B afb8639799bd29f00cfd325eb884d63359e5d8243464273a5debd68929bcab62bb81048a90b1e34154dcdf8c7ff4530ee69995b8f7e88ecf11af31c9b56d910f SHA512 e2cb5620f3cb6e8a471019fd46be770477e9a2112abcc5171253e5256268e665d3ab4c2430294abc889cf75a94e43cf3a40da3f7065892538c6f86ad76c10e95
+EBUILD shotcut-24.06.26.ebuild 1227 BLAKE2B 529d7aed3e8e423953848ba0877932bc3ab232c159a55803d39bdc8d578cf2a7467e038dd72290da0af5c7378df04567cef99827cb0559e02823bfe0b8c210fa SHA512 0d4a3f48b9f70754c8ff744003f7b4340eadbbf79ff69dc301dc787e16f90f38a8ccc33509619a3fd7d7ac569c42bccfa8d8a9d42c0422fd8c155e0e215c716f
+EBUILD shotcut-9999.ebuild 1227 BLAKE2B 529d7aed3e8e423953848ba0877932bc3ab232c159a55803d39bdc8d578cf2a7467e038dd72290da0af5c7378df04567cef99827cb0559e02823bfe0b8c210fa SHA512 0d4a3f48b9f70754c8ff744003f7b4340eadbbf79ff69dc301dc787e16f90f38a8ccc33509619a3fd7d7ac569c42bccfa8d8a9d42c0422fd8c155e0e215c716f
MISC metadata.xml 481 BLAKE2B 183f296894a3deb21038399eec0a637f2080d029fb8ea539a5a165206868704e472ed554bec67325fb54a4d8aeea54c01857635e32abdd229c91f3ba7855d095 SHA512 95af90837128290393f798b1561ebcbad057da1b5dafb583f9f9ba56878ff1d48245438ea3605601fad608e749235619d2195290c04c5c31eb8bbe627b58f4a7
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 639ab327ae98..71e6a3d85306 100644
--- a/media-video/smplayer/Manifest
+++ b/media-video/smplayer/Manifest
@@ -3,6 +3,10 @@ AUX smplayer-16.4.0-zero-bidi.patch 489 BLAKE2B 50f535154f771e535c244aff2dbd27b6
AUX smplayer-17.1.0-advertisement_crap.patch 1982 BLAKE2B 22a5027e9d20dca47fed1176e13cd9f8f5c912f51352d07f8fc0dd1f0850dc241483e22524c9fab2b9e20e67d1527f391a791afa2ac96285c4a199801ab96b65 SHA512 7bc1a3e9fb916d3a7e0c4f9bba8bb2adb7a3822e34694f79501e228f700b27633cac2eba237ab4af221c50f07295ecab3093c2a7033578a3e0a91a1e6449570d
AUX smplayer-18.2.0-jobserver.patch 423 BLAKE2B 04452fa5992dd2cef5be64dc9a9c78ca775336174dbef69e6054361173886be26d941cabfe2c5b486a05f2b3bee7029b439652d4dfb10e5651a7db68db8b70af SHA512 6bdb6d57be84c1d020c6f2e2f547eda9a0118bfcd0e4d2cdbb940501a0853ec388f359e04a52b8ff9c6c6b38d60f3837ed2c2e127a4df5bf79751486d9ed9ed6
AUX smplayer-18.3.0-disable-werror.patch 367 BLAKE2B 68b0f5b9cb34afb3843de4dd366a0a2e77eea881277d7b8a7928e851d2456f8fe5220ee50ae77296b622187758b7f6f3a4c298c0400becfee0d2fa074e7706e3 SHA512 b330aee54397a3fce5cda3a1244918351831ffe37cc7d45bcfa93384952bdce3166875afd5cd4bae9f1d6e83281b6b6bfc3ad777317a0b2c6c5dcc5593ddcb54
+AUX smplayer-23.6.0-mpv-0.37-resume.patch 524 BLAKE2B 03a63405a339e954b32ff9278cbdb7edbb16ac4c97b828d97e70d3ac1f8bdf6fabdd47e4efbe9b0e73be19550a5331ebac90ce51854e5d859db8dde734fa722d SHA512 17a0d9ac6211cbd9b56c8afd57a5bb22b2c1e8f883f569de5d55d1949b1aa1c486b241af68ac90f80eeb19ffa3706fba0906f415676c3433d61a340a30f3d55e
DIST smplayer-23.6.0.tar.bz2 5164535 BLAKE2B 27200ad658a2acfc3c93c48ed59fca2333b5935d5b7e955cb12dd0c33566aaf0288c68081a68578904076e467bb3b39f9a5bb702d7ad8be0474aa400e40ce6e0 SHA512 097085ffae11b0d065f0822e36466f3e934d4484de29146deba66de14bfd4abcaa8dfd91aa5890921f336a99c3392650e932102812bf401a843d7a86dfc4996d
+DIST smplayer-24.5.0.tar.bz2 5221961 BLAKE2B 6c088b87508ada09fb8712610da76403fbcc9f0d3f2ce1908d99560400aac8351b08453c77f2cf64f13625b09e4d748a7f0a64458e6429aeb29ce1ae49ebcaad SHA512 0de968babbb99a92ef2721d8b30d336433bb99745212da0d7dadec9ec389da0be6cdc5b461960662b4342f80ee6407a814bc6abc3372c07a75ee6804e705851e
+EBUILD smplayer-23.6.0-r1.ebuild 2991 BLAKE2B c1da6177ae5f5783890ddcef9f29f929cc7b343862aff97ba2ed331d54e3f2b3dfea435389f497593ab743a4600edb5a5d7c14d9d69a57fcba7adabff08e119d SHA512 bbfad3d0dbcbf98cc41a02229d3d7fceacbf49923cdcc3ad169a97fe7ff7ceff276d4c18f174d04ab0f55c55613bbdbcd9d5630c11622e42d516b1ebed1d3974
EBUILD smplayer-23.6.0.ebuild 2949 BLAKE2B 755329f4f39cbb197f0b649117711b993b7e47ac5f5984a15012dda4984f656b08af6c22b9a66faf606d102e1681a8073848189e89f2e13b0d6d00bcf9c33ea1 SHA512 0350083c5965481bfd220303f33ad4a3088e4ae16c510bd16ced76c046fd0d66c391325ec55481b9d9bbee4ed1cf87a5a80271135c1d7212b05a67eaa0184725
-MISC metadata.xml 348 BLAKE2B a067bafbbe7dcadc21c51f10caf242c344ffffd431e058cc2a3068c1431f25a631207e4de04c00b3a937d724f1d8b0798e2e84118221282267c909ee4a60a175 SHA512 1d45260220a3025faf008c7ba8199092a3ad22fbdc9e83f09fea1616c0403c419284e9d18da401ba2cba7b738d09d285387643a1e0d4034aadcde7c8587192e5
+EBUILD smplayer-24.5.0.ebuild 2933 BLAKE2B fb98aca286fc75482bd4ee8851f440047a7e9e02fdd5bd5083645df63f82329b1bdd0d5fd7e516c4079b2d9886d9bb46d9ca501a9311bb2ccb3787e56e3169bc SHA512 0688fc1f04cbc628bc86983823aa03482dd5e11d16afa28d1de06b600f9d89fe432000f1d5339c614bf0cde2540e0fd893f5da7d715ed9810cbd3b488d094254
+MISC metadata.xml 411 BLAKE2B 81e72a005d2f58e43de29d290792014d13c8c79ceffab567898d376cdd9fd36a14a88de9a6d9ca8fe9c323f20a3b74a655430557cb3e2ffc2c07354322dbcc36 SHA512 62f0495b08725281602dd806248170300e75c238a574006c11eaf0ac3171726b0efc88d4791510eb1db1da7d124d47e89914822534833e454f595e5298a341f3
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/Manifest b/media-video/subliminal/Manifest
index c044485db911..18851711301e 100644
--- a/media-video/subliminal/Manifest
+++ b/media-video/subliminal/Manifest
@@ -2,6 +2,8 @@ AUX subliminal-2.1.0-fix-pytest-warning.patch 315 BLAKE2B e04d8f7d9dca768cb805f8
AUX subliminal-2.1.0-rarfile-4.0-compat.patch 971 BLAKE2B a26cd6ef8e2602abdcd8f4fa2d188e7a76a5b3a18c556adfb4b4218a852f976c0e85c83ff9e953151a09ac995b48170713ac399a1f89fe6e43f2b3aa215cff57 SHA512 eae1852b7d75f77783bb11f6e77082e3317dbc4be62e1fa04ad5138125a70e100eee42726b0f23d0baed83e973b0d98ac382096c3dc64bafb8b95db2d8a33a3e
DIST matroska_test_w1_1.zip 184550509 BLAKE2B f111725aa08267661942072c2d4ac019d3d322c4e933aad10afb3aa6f69bb3469114c4400d161e53d8a7618b818b22465177460003804a7ac3e69fa4f4db000d SHA512 f170a8e83dab15228f992b3692330163da2402b8e436c7fa195ac1ecc06cf1eaf1a48d8c99a85c031122c158c2d4006023aae75d5b7805385ba25a6d601cb78f
DIST subliminal-2.1.0.tar.gz 5480458 BLAKE2B 249bdd027d99dfb0b81d939af2dc08f62b52dca2c8618f1006ca76eee41c2443b450076eddc1aa533997beca8cdf9016b884d7eceeebbf4e48ced91dae1a2361 SHA512 9b26ae594895470830547eed604aa5b28b75f590e5be12c2d5a478c5daf798d405f209639bd54dce0565b0e27d1b0daa5bef87dfa8590af61f2ab1e287c41060
-EBUILD subliminal-2.1.0-r2.ebuild 2586 BLAKE2B bbc6219055232c804c7eeea502f84c6b52cf3e23014b9c21dea039846f4a8f747ff916f6a395c290547849953852695aba650017ef5e52d56416e37204ea1a6c SHA512 baea1d4289f215c50ae48f034cf3e30a72f5d49b13487b965cd5ab2cba47e8cf322cda206f45d5ac9b8d357643d8c5d5ca9bfac47004c64b7eaed3256e7bab27
-EBUILD subliminal-9999.ebuild 2587 BLAKE2B 8d775b8db016a218601dfb8f0dd94df8b930233c1b4d85f58edcc64f5dd267371aee865bd4f178b53afb7287ad4fcd4a6f426c76cd63f7d355706640c827b3c5 SHA512 d67809d3f55e5dcfda470412e45110372d28d804dfec9b997fe7d750f7db174a849f48a5a03ae3b97dcea8c12e4350fec2782e83cbab2733a4502d5e21e0e198
+DIST subliminal-2.2.1.gh.tar.gz 3165965 BLAKE2B 9b69547540773d1434117a0e81bebcb3da49f97c145285a2bb2349ff8d6a4cb35f42f8fa8c306d2afedaf0ccff275908526a0f6d6c7ba7846aea6acd2b154b92 SHA512 4e59ccfe42419bb33df395aad6c2255ad03cfe7311fc754ea591be7c9e33ef5cc3e980a1da2839afe79e3b22024b3e7b458b03b4e6270ea8bcadc0337d7e37bf
+EBUILD subliminal-2.1.0-r2.ebuild 2745 BLAKE2B 288c4b2344576e480cff2eb3119e2ff6dfd371aee22d94d1bba9f26a65341a8b314aa68f3247095bae583fd2a1af1d2fbed6f7d0219b005a0826f7f195f91eea SHA512 67151fb4aad8038deb2b8636a00cb504c0f9262cb7caa9373b59a055757455b002c135430db32db1207a2152166288583391ecedb2f013c46ec62a003d868538
+EBUILD subliminal-2.2.1.ebuild 2261 BLAKE2B da9bce5aa784b9fb9f97400c3cb2c78cd448005f2327643b9e28000357e20c0e5ee628064fc45a054fe047845dea33a3027676a46c0b607757f5a1dc3ef8ed9f SHA512 02bdf3455b508a13f9838331a332795be5852c9b6397f42364387edfdb673692a1ee87cf0d75d06125f1e99309ac6d95e8bfa44b73c95ad235b7be9ed6fe718d
+EBUILD subliminal-9999.ebuild 2250 BLAKE2B 272763ffa8d84987d4eeb716d0149d1b9339140c7f6576067ab66a3c603ad88742fbd6d1aeb8a7438337352410fb96fe18caec53d31eabddd57c8a1a5bc5ebcc SHA512 67001ae785e7c27adfee96baa867c09efd7042f10304a7270b163216964777c04715b9687e4931c538573e1da6630ea8c59fa5d5cb30cb37a2fa01407057a266
MISC metadata.xml 447 BLAKE2B 42fac15336ea05ed85313259c5571f8e4101a39157973a2c43bc1a77bdb1e6610e9373646d485f8e5a5df1420b8fb3c780393e3191d4069a4e2ec5296733adc1 SHA512 fa0256091da7f65f41cfdd1b4ebd7e485c15c8a72cd916d553003e0d8beca479b0d0d877ad90c6c986b5c24070a89994d359f4672d2dfac513d06e9a8683d826
diff --git a/media-video/subliminal/subliminal-2.1.0-r2.ebuild b/media-video/subliminal/subliminal-2.1.0-r2.ebuild
index 5a960dea62c4..da15a8868b54 100644
--- a/media-video/subliminal/subliminal-2.1.0-r2.ebuild
+++ b/media-video/subliminal/subliminal-2.1.0-r2.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..11} )
+PYTHON_COMPAT=( python3_{10..12} )
PYTHON_REQ_USE='xml(+)'
inherit distutils-r1
@@ -25,6 +25,10 @@ SRC_URI+=" test? ( https://downloads.sourceforge.net/matroska/test_files/matrosk
LICENSE="MIT"
SLOT="0"
+# The cassettes have bitrotted a bit as of 2024-06-01 but there's
+# a lot of movement upstream on the 'develop' branch towards a new release.
+RESTRICT="test"
+
BDEPEND="
test? (
app-arch/unzip
diff --git a/media-video/subliminal/subliminal-2.2.1.ebuild b/media-video/subliminal/subliminal-2.2.1.ebuild
new file mode 100644
index 000000000000..d432d8ef9ca3
--- /dev/null
+++ b/media-video/subliminal/subliminal-2.2.1.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+PYTHON_REQ_USE='xml(+)'
+
+inherit distutils-r1
+
+DESCRIPTION="Python library to search and download subtitles"
+HOMEPAGE="https://github.com/Diaoul/subliminal https://pypi.org/project/subliminal/"
+
+if [[ ${PV} == 9999 ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/Diaoul/${PN}.git"
+ EGIT_BRANCH="develop"
+else
+ SRC_URI="https://github.com/Diaoul/${PN}/archive/${PV}.tar.gz -> ${P}.gh.tar.gz"
+ KEYWORDS="amd64 ~arm64 ~x86"
+fi
+
+SRC_URI+=" test? ( https://downloads.sourceforge.net/matroska/test_files/matroska_test_w1_1.zip )"
+
+LICENSE="MIT"
+SLOT="0"
+
+BDEPEND="
+ test? (
+ app-arch/unzip
+ dev-python/sympy[${PYTHON_USEDEP}]
+ >=dev-python/vcrpy-1.6.1[${PYTHON_USEDEP}]
+ )
+"
+RDEPEND="
+ >=dev-python/babelfish-0.6.1[${PYTHON_USEDEP}]
+ >=dev-python/beautifulsoup4-4.4.0[${PYTHON_USEDEP}]
+ >=dev-python/chardet-5.0[${PYTHON_USEDEP}]
+ >=dev-python/click-8.0[${PYTHON_USEDEP}]
+ >=dev-python/click-option-group-0.5.6[${PYTHON_USEDEP}]
+ dev-python/decorator[${PYTHON_USEDEP}]
+ >=dev-python/dogpile-cache-1.0[${PYTHON_USEDEP}]
+ >=dev-python/enzyme-0.5.0[${PYTHON_USEDEP}]
+ >=dev-python/guessit-2.0.1[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-4.2[${PYTHON_USEDEP}]
+ >=dev-python/pysubs2-1.7[${PYTHON_USEDEP}]
+ >=dev-python/rarfile-2.7[compressed,${PYTHON_USEDEP}]
+ >=dev-python/requests-2.0[${PYTHON_USEDEP}]
+ >=dev-python/srt-3.5[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-3.0[${PYTHON_USEDEP}]
+ >=dev-python/tomli-2[${PYTHON_USEDEP}]
+"
+
+EPYTEST_DESELECT=(
+ # Needs network
+ tests/test_core.py::test_scan_archive_with_one_video
+ tests/test_core.py::test_scan_archive_with_multiple_videos
+ tests/test_core.py::test_scan_archive_with_no_video
+ tests/test_core.py::test_scan_password_protected_archive
+
+ # TODO
+ tests/test_core.py::test_refine_video_metadata
+)
+
+distutils_enable_tests pytest
+
+src_unpack() {
+ # Needed to unpack the test data
+ default
+
+ if [[ ${PV} == 9999 ]] ; then
+ git-r3_src_unpack
+ fi
+}
+
+python_prepare_all() {
+ if use test ; then
+ mkdir -p tests/data/mkv || die
+ ln -s "${WORKDIR}"/test*.mkv tests/data/mkv/ || die
+ fi
+
+ distutils-r1_python_prepare_all
+}
diff --git a/media-video/subliminal/subliminal-9999.ebuild b/media-video/subliminal/subliminal-9999.ebuild
index 68102948a36f..1aa8338f1813 100644
--- a/media-video/subliminal/subliminal-9999.ebuild
+++ b/media-video/subliminal/subliminal-9999.ebuild
@@ -4,22 +4,23 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..11} )
+PYTHON_COMPAT=( python3_{10..13} )
PYTHON_REQ_USE='xml(+)'
inherit distutils-r1
+DESCRIPTION="Python library to search and download subtitles"
+HOMEPAGE="https://github.com/Diaoul/subliminal https://pypi.org/project/subliminal/"
+
if [[ ${PV} == 9999 ]] ; then
inherit git-r3
EGIT_REPO_URI="https://github.com/Diaoul/${PN}.git"
EGIT_BRANCH="develop"
else
- SRC_URI="https://github.com/Diaoul/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+ SRC_URI="https://github.com/Diaoul/${PN}/archive/${PV}.tar.gz -> ${P}.gh.tar.gz"
+ KEYWORDS="~amd64"
fi
-DESCRIPTION="Python library to search and download subtitles"
-HOMEPAGE="https://github.com/Diaoul/subliminal https://pypi.org/project/subliminal/"
SRC_URI+=" test? ( https://downloads.sourceforge.net/matroska/test_files/matroska_test_w1_1.zip )"
LICENSE="MIT"
@@ -33,26 +34,33 @@ BDEPEND="
)
"
RDEPEND="
- >=dev-python/appdirs-1.3[${PYTHON_USEDEP}]
- >=dev-python/babelfish-0.5.2[${PYTHON_USEDEP}]
+ >=dev-python/babelfish-0.6.1[${PYTHON_USEDEP}]
>=dev-python/beautifulsoup4-4.4.0[${PYTHON_USEDEP}]
- >=dev-python/chardet-2.3.0[${PYTHON_USEDEP}]
- >=dev-python/click-4.0[${PYTHON_USEDEP}]
+ >=dev-python/chardet-5.0[${PYTHON_USEDEP}]
+ >=dev-python/click-8.0[${PYTHON_USEDEP}]
+ >=dev-python/click-option-group-0.5.6[${PYTHON_USEDEP}]
dev-python/decorator[${PYTHON_USEDEP}]
- >=dev-python/dogpile-cache-0.6.0[${PYTHON_USEDEP}]
- >=dev-python/enzyme-0.4.1[${PYTHON_USEDEP}]
+ >=dev-python/dogpile-cache-1.0[${PYTHON_USEDEP}]
+ >=dev-python/enzyme-0.5.0[${PYTHON_USEDEP}]
>=dev-python/guessit-2.0.1[${PYTHON_USEDEP}]
- >=dev-python/pysrt-1.0.1[${PYTHON_USEDEP}]
- >=dev-python/pytz-2012c[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-4.2[${PYTHON_USEDEP}]
+ >=dev-python/pysubs2-1.7[${PYTHON_USEDEP}]
>=dev-python/rarfile-2.7[compressed,${PYTHON_USEDEP}]
>=dev-python/requests-2.0[${PYTHON_USEDEP}]
- >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
- >=dev-python/stevedore-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/srt-3.5[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-3.0[${PYTHON_USEDEP}]
+ >=dev-python/tomli-2[${PYTHON_USEDEP}]
"
-PATCHES=(
- "${FILESDIR}"/${P}-fix-pytest-warning.patch
- "${FILESDIR}"/${PN}-2.1.0-rarfile-4.0-compat.patch
+EPYTEST_DESELECT=(
+ # Needs network
+ tests/test_core.py::test_scan_archive_with_one_video
+ tests/test_core.py::test_scan_archive_with_multiple_videos
+ tests/test_core.py::test_scan_archive_with_no_video
+ tests/test_core.py::test_scan_password_protected_archive
+
+ # TODO
+ tests/test_core.py::test_refine_video_metadata
)
distutils_enable_tests pytest
@@ -67,12 +75,6 @@ src_unpack() {
}
python_prepare_all() {
- # Disable code checkers as they require unavailable dependencies.
- sed -i -e 's/--\(pep8\|flakes\)//g' pytest.ini || die
-
- # Disable unconditional dependency on dev-python/pytest-runner.
- sed -i -e "s|'pytest-runner'||g" setup.py || die
-
if use test ; then
mkdir -p tests/data/mkv || die
ln -s "${WORKDIR}"/test*.mkv tests/data/mkv/ || die
@@ -80,16 +82,3 @@ python_prepare_all() {
distutils-r1_python_prepare_all
}
-
-python_test() {
- EPYTEST_DESELECT=(
- tests/test_core.py::test_scan_archive_with_one_video
- tests/test_core.py::test_scan_archive_with_multiple_videos
- tests/test_core.py::test_scan_archive_with_no_video
- tests/test_core.py::test_scan_password_protected_archive
- # NotImplementedError
- tests/test_core.py::test_save_subtitles
- )
-
- epytest
-}
diff --git a/media-video/subtitlecomposer/Manifest b/media-video/subtitlecomposer/Manifest
index a842007bfed1..19f7350b7406 100644
--- a/media-video/subtitlecomposer/Manifest
+++ b/media-video/subtitlecomposer/Manifest
@@ -1,4 +1,4 @@
DIST subtitlecomposer-0.7.1-patchset-1.tar.xz 6868 BLAKE2B 59ae09e6807b0c9eeb094556ec381157701a6d3ae66317c175816f2a779ef3db1874146c5ec0d211a07353bf592c1ff7ad8dcf91a1370916d37290204e7e5909 SHA512 bd7849ee7e4bb449b7f758bf86a45110f0e647d6a35ec31bbab82b7e8f02ac3b81aed958723848a08830a32f1e252dc2231d9a8a736b738b6c105c1a715aea1b
-DIST subtitlecomposer-0.8.0.tar.xz 730800 BLAKE2B f4d89b11f7d0669ee4594739df06f1bac91c1defacc9c27f25bff9709140c0b56a8927b2f4f79544bd35475db558c7fa2e35bff912704dd9d4e5a745a44a373a SHA512 463824631b025c760423244434000c6e7f7d44097fb7a9178ada505daa6329de0649219f563431e98d8e780fce2b1f0a39cbd77a998ece3d131166045ae40dee
-EBUILD subtitlecomposer-0.8.0.ebuild 1515 BLAKE2B 41e5a74c86edabbffc47d01396bf162361da7c5c51ed9207a43ef9117067fc2ee9351039d12416b2e85744a5f17b6b3c4add8d13a11c033d7897af9087167864 SHA512 664ec8268c3a30deba383d62be3136981cf3b749a341309a50d74b8e4f020ba40f9c09e97447eb47bbc93539789b5d77a7fdd09f9f89108f98a9d6e3f6ed9ada
+DIST subtitlecomposer-0.8.1.tar.xz 763276 BLAKE2B eb5eca2505e5b2c859768f2816fae603be8066d3530802c434b78c7754a379bb4d293f5138416ebbcc4b4e0d95cb71f0e11bc5efc72efcc77c4486b096b5e6fc SHA512 28e83ba2429f17d11252b1eb56d5d9ae018f746a4b211292707847ea54659b80b2829e1d482f9740da6951c614dbfc8fff4b4019cee0f5001687282075205d53
+EBUILD subtitlecomposer-0.8.1.ebuild 1514 BLAKE2B 304e05bd2889554678d30609a773f29dff8e128e39460764d33da6383749a381835468889891f843b4200d2c04bb013535b74bbdf0a4f9ff629d3cbe547a11be SHA512 586278663179f2eea2880db82559245d65411f3fa5c1d09d5cf679ac3305d15b30369e5c4dc24993381ada859401ab7ed7a5d318b8e3ae449cb03977596af5d6
MISC metadata.xml 438 BLAKE2B b11cde969ef9af83c7e70ac17615703c8f0b4296113a8ff552a669c3b7bf7b5291106dd1c4ece993fd8195f5af3bcd1b05697b583bd85f4a155fa10351cbbadd SHA512 d32994646bdbfb90e5fde722a905ebf5fa59903de7c36fd8228ce257057ac8523d7219656d1f1a1bdcc3f0eec1ad9f34535d4090078c9e3a6890d58b8e1e3b71
diff --git a/media-video/subtitlecomposer/subtitlecomposer-0.8.0.ebuild b/media-video/subtitlecomposer/subtitlecomposer-0.8.1.ebuild
index 68d991328aa7..e37074328b3e 100644
--- a/media-video/subtitlecomposer/subtitlecomposer-0.8.0.ebuild
+++ b/media-video/subtitlecomposer/subtitlecomposer-0.8.1.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
@@ -49,9 +49,8 @@ BDEPEND="
virtual/pkgconfig
"
-PATCHES=(
- "${WORKDIR}/${PATCHSET}/${PN}-0.7.1-tests-optional.patch" # TODO: upstream
-)
+# TODO: upstream
+PATCHES=( "${WORKDIR}/${PATCHSET}/${PN}-0.7.1-tests-optional.patch" )
src_configure() {
local mycmakeargs=(
diff --git a/media-video/totem/Manifest b/media-video/totem/Manifest
index b5ccc34dcf02..8d62d539b9ae 100644
--- a/media-video/totem/Manifest
+++ b/media-video/totem/Manifest
@@ -1,4 +1,4 @@
AUX 43.0-gst-inspect-sandbox.patch 1470 BLAKE2B e92278c4951deb89d13dc96ddc33606ba0f1d21c0e16f4d49cc637fdd15fc5905509eb040e9857ccc4e56d1f5c9f9afb0f7e7e994371928f67cf26c1ff1fddca SHA512 d248b919ac90b27f51eb2a74127013acbf59e669d83b1d4d9b177ee75881fa98714a36e94232a4caf2ca101efff8df4dde12ad9deae49a2f2072d62c3aef7781
DIST totem-43.0.tar.xz 2486304 BLAKE2B 3b43ad2cbf40472bff3b7369001b9b7784ef52244812d9aae493fffa99982a8f24770d0f5063f0b1f1fd320d6b2cec5e702ded9ccfaece51f7bdf9d862b96230 SHA512 b35d32ebadf4b9900ab234f07f8a7128edbc15593e1447c22f3c7a653fcbd4a2df9d45484e2decce5dd5ab67849fca1003a1ded338a0af0930b6560ee4f764ae
-EBUILD totem-43.0-r1.ebuild 3011 BLAKE2B d428ec694914433b7c54149c77cfb471fb3b828d65bd305284505c383d2271283e8238c7c8121f69caf773908e852c8f016852c1d7cf8174b7c9bdcc8fc58163 SHA512 8c69b319bcfbd0e5ca982d38b2f8ca69936687092757ce15ae15172e4239278e2d3279a2f5cce3d1b505d6c63a3779aba472decc36015b376dcceee1daccff56
+EBUILD totem-43.0-r1.ebuild 3005 BLAKE2B 6948e017da3add7c4961fb02163e050c94042228d6285f61f946d3f12412106beb46b9a0ca62c8a25179424fdef616c6ae8ca7269d653b70bf4489e1a1c84fea SHA512 e2652990bbdcd6768f6677147c9af780fca97841d470d195f1e99718c9e14ef0def101ef59b9abc8948551efee82db21724faaefc6af7456eec45f343e626751
MISC metadata.xml 1144 BLAKE2B 93350ee033585bcb68019b5daed10bdb6fd3f436b234fe7a077695a230868b7733cad41dec152aaa44a2b61b6aea0c057c59896ebe84b8e9bbafbba4b0aecc27 SHA512 5ec35c0372f72d88b19502b561031387b3fa1421e5cd5c642350410918b3b538b4e55fb0cf6f1ee69442ddf3865680c747e70f5196c45c7c91ea708d68a2ad15
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/vcdimager/Manifest b/media-video/vcdimager/Manifest
index 63756bffe24a..dacd0e6757fd 100644
--- a/media-video/vcdimager/Manifest
+++ b/media-video/vcdimager/Manifest
@@ -1,4 +1,4 @@
AUX vcdimager-2.0.1-pkg-config.patch 347 BLAKE2B 082ac47630ce7289967a3dfb17c601ba90c01d15e87bedb61a78a44573a38ac0c0d8790bf2acca540c2dbe91f6a099b57032644dbb32d202c05709dddc17ffbe SHA512 e43827527b656e8813c41266e30a9f9e86a3a7dd67ff01de08088d78a775481914d7a6f1d472b80d53e93f09573e0b922006652626415fd5d7f6a9c3ca534468
DIST vcdimager-2.0.1.tar.gz 1115207 BLAKE2B edf70212e81a89924e64115cae9eab77619f7e639e5529b85cc6a80c6ef4f4028c8a207bec86c41283b9768f6a0f56ef56adfad18c7bba20c315b1e5554a83a9 SHA512 55a9d235149a35fe26576703c623a2c9a3f7deedd2e42e01271fdf1e1fdf14c51ee040ee3b5d15fe1b5860fbd4cbeb437362b1a1f40187c8d4d691b6b89a2230
-EBUILD vcdimager-2.0.1.ebuild 1485 BLAKE2B 4629eac1a302f7bf6fa15887132d8f991f6ed521f82cae3de5f4565d5e6d426a6386fa3b60b940415d9351510f2b2f88dbf99df09b55b6a954509311fd55867b SHA512 1b813458f28a9d40267687e0598274db553a50d66ca560d0a358aaa49fbde507f14f69e7831400bc2265fcf91e134b8d8fadda7bc227adc5731fcd3b88293bb1
+EBUILD vcdimager-2.0.1.ebuild 1479 BLAKE2B 24b3307cce35211c68705a641c13fe82f20a1aaf8cff51612e29fff529548201bed6707060e3e8fe139ab6f456a64a7481901b3d80fe8b31ddc12411dc4f50f7 SHA512 f98428518ffbbce59cff5ceb38630a11f344d15e5feb387a2bc052cd89fee45d33fdf738896c55cb7dfeacebb90cdefc7f537517e4d2cf8fb3ea6cb66a58aace
MISC metadata.xml 308 BLAKE2B be4600e2320c950b7fafee411800508a7bd2c5356663a6f8e7e6c0cb85eff65f73c822d405bcd105eb74918a20e5dca7f531c9a2dfa617c2f43cbac5117d8bb1 SHA512 22f120fa391fa30c71797a0803d90bf0bae6d784b9ff19ee1cf5df2e9779bf8ef4c75160384916f6bc84f3dd8cc796c6eab70d284d7901334e9304a2cad8ef27
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/vcsi/Manifest b/media-video/vcsi/Manifest
index 6ea16d7be766..003ca3115517 100644
--- a/media-video/vcsi/Manifest
+++ b/media-video/vcsi/Manifest
@@ -1,3 +1,3 @@
DIST vcsi-7.0.16-r1.tar.gz 36775 BLAKE2B 02d850c1a2bcf69387d3b3b9bfcddc0a34c746af88604f848bb567ba975763eecf03c122a0ee88ab68b3254f669a2133fb64cffb77270557034d9ceb8ffd7894 SHA512 1e9f77a2cd1f4fca0cf051ea6f0600d2307136d2adbe8b51b2a81371136fd3cac5ea2c18a1ac00ef7e85e10f536582224c613fbbfc7acf1b8eb70fdfb32b0889
-EBUILD vcsi-7.0.16.ebuild 804 BLAKE2B 548cfa8efb4c7f6703ad3102116cc257712c2598f59b70295c726120d951c46131827c3e0ed94b531f9c1e430e7046695b355049fe00e5d39a55e62fe28dc0ba SHA512 c01b71fd052ddb17203f843487ef46566c834af360b64294098b70a778fd3c767f0aac646385b5cbad9d1c82da1c4d70846bbab522683ca354477affa06d0873
+EBUILD vcsi-7.0.16.ebuild 804 BLAKE2B 572e4024e1683a23c748b977736a4e8c934267c46e3667c995b2654437e49d8b4a25709d3b2c8b8679ca60eaebbb282dbc9c0a23db0c4db29ae09352ce3afb07 SHA512 d4a938a5899b433739f33411348c628031ebf7ed0d63236fe0b868cbda82532775660c4f2674c7e99c278047cc023996e685f32f4b560953c79f6f20b38f2af2
MISC metadata.xml 360 BLAKE2B ce24ac556a68afcb83ed4743d9325e022db13f1a7822c48a12d04b1de0bdac9c007d133637a79db2543fa478b518ea2492e52de5f0eb70cdf8b84bb78d43e793 SHA512 e12514604784ae5f5de50c692fada83d0fe7a5735c5d21346f08303d74e0722427fa7c10caaf5c84fb03ff484227948d77c3429a35d3532eea67f7cd9e20f448
diff --git a/media-video/vcsi/vcsi-7.0.16.ebuild b/media-video/vcsi/vcsi-7.0.16.ebuild
index 70c52ec64f44..d855b6fb8cd1 100644
--- a/media-video/vcsi/vcsi-7.0.16.ebuild
+++ b/media-video/vcsi/vcsi-7.0.16.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
DISTUTILS_USE_PEP517=poetry
inherit distutils-r1
diff --git a/media-video/vdr/Manifest b/media-video/vdr/Manifest
index cd407eec51ce..507688076099 100644
--- a/media-video/vdr/Manifest
+++ b/media-video/vdr/Manifest
@@ -2,27 +2,30 @@ AUX channel_alternative.conf 332 BLAKE2B ec01e5109ecff9c2cf218d89ae9498809f45774
AUX vdr-2.2.0-jpeg-9c.patch 917 BLAKE2B 8d5e55585daccbbc94cc57b602bba6df2d364e8841fe4bdc6adff3d10ce5c9ca10edaf14146f43fb35b5d954afcd4e8137b7f003e2349752fe209a9205ca4762 SHA512 162ff2b6aa5cd7df29265de2889ba354140ce2ae2ec1877559db2e9164faed8944bbb8d680963fa3212b9d8916aed34a63d2d4f69e1d742e860a57be58f252c9
AUX vdr-2.2.0_gcc11.patch 1297 BLAKE2B 2dd5c2e2003a29fb1420cd633738ec36818b0162b96790a85bfd499200ba53f35f61b4774b54b4c157492122badc4bac888736717ef13db99c2f9aebeae515c9 SHA512 065fb291a23dc85c3d190f01fd05f9e95cc9b4a6325bb8afcbbdea96b782a98cb9e1ac5bc6a2de9b9b2961239dcde8aa0cc029505936aa9425caf552003815de
AUX vdr-2.2.0_gcc7extpng.patch 705 BLAKE2B da34652e596d39c3a8c210a6034c2c2aba6649f9cd5e194f00a0ed21f3d2b67de68c560a4e6d2e927a262152a1998c5c279e4451248a918a757adc543a4eab03 SHA512 1f319f71c3819d82e83f68979f2876d7169d086c161939c105cd15d2107e68cbc95cda09e7e883a74e6c95c7db5b0dc58eb92662833732c180250322413ac85b
-AUX vdr-2.2.0_gentoo.patch 2395 BLAKE2B 72f238b09ae26f915b9de53c357815a757f158da3b47ec009a5126f38bcfe5adec8657f9ca69dced3202c12f0751e88ce1fec0231feeb9b4e8e019556df3b61b SHA512 64c299db8e2fa0545ba9379330ecc365ec0dda9991ef5e85af3fd3a842bdef196aa811b083b50edca5db757e437e181248b5825e32dd463bd916167b4ddda5c7
+AUX vdr-2.2.0_gentoo.patch 2573 BLAKE2B 37e4363474ad7b7525bc2c47b2ed37b9699ede0394973294c1362eb61bbf4651b3d84252c9e70a1f0d711d0cd9a7cbf5551a8dc23cc6379109d298d176bc0c8e SHA512 cf0e4ddb090157e993921da52dfd514545b2001ffcf64f380aaaddccc8b190c94b43b6a6ff6e40e37bee084d8284544b34eb83e4c300cd12a9bb9cd10f671617
AUX vdr-2.2.0_glibc-2.24.patch 1395 BLAKE2B 83a82c516554c2fce3b47078c494ddbbd0dbdbe148f1e6525532865b6f61a79110da5d55d17e6357887655ba840525f7349b221bb356a180813ae28bdfd7d1de SHA512 73acef83ada40d067b1c7207e527d782de5bc16027571a31f6411a5a075ef6fbdbd3ecd466314aaa08a01b0bf90a35c36306b5533ea4fecc0e024f7df939517a
AUX vdr-2.2.0_glibc-2.31.patch 818 BLAKE2B f63347ecac626d06477e7bf3f5d203dc81d988d8f69590b5c1bcbcefc44657a36f3a3edc7b97c4cbb1f5a6019b5109cf4fb12042b62872c176b8b68d3b032e98 SHA512 b800bc04b984b06b5943473d1726ef198558a62f8c633791272a4ed0ce18ac54b85eefe973b18531beaa8626401c7b38687790692182c787c9b04380b2ebecb0
AUX vdr-2.2.0_unsignedtosigned.patch 5237 BLAKE2B 21c3eddc9e5684337be332ae22c97b6068681ebc8c9ff39a8d673f3511c216fd78ff9bbb43f90fd8f60d8e9bef3b4f0ac4b982469887e91a50919c0d786809ed SHA512 eb740bbfa70d205ee5db66b0aa234a09c54a49cfd60027536af86a208097f0a47dc84e7dae4a6af2cd5c34187b41cd0905ad678c7d610159fe09684b645d6a45
AUX vdr-2.4.1_mainmenuhook-1.0.1.patch 4645 BLAKE2B 3b4bc624f33366da133bb471bb5c3fe0d9058387bdc81e5a38a4979303f25abe3e86317fe68f52a5e07c75b366151f64b007cb257da661d93cbc00a07cc2cff3 SHA512 c13a74a988ab5082898b1e9845724337914909931426639714652960586a81627e5aa67ddd589d0cc0552908eed39ef8dff5e8e2e8d47d66fa0d4b2a8756d61b
AUX vdr-2.4.6_clang.patch 527 BLAKE2B 6f74ee8a96657df7280ea51b55199768ed3bd968cd377df12674b29616b3a43703e4cc76c4c4fa43412a564bc51bdcb32ec565832177397200f5bd7aef9b05c6 SHA512 5ad498c5784551fdcde9911e2890b236c75e47f20dabe85b561bdb0e8771d7d6ce6ab160fa8831361799ed9d5da0cfa4f3788b509dd0eadf1cdb1eeeb6aad8a7
-AUX vdr-2.4.6_gentoo.patch 2236 BLAKE2B c7372e3bfe04ea14f1bb12459d4385d6001c6acafbf96b4d1d8a69e194e076af656b76bb349ce07a30b131dd9e779d39441a34cc41ff0ae651fd14c8f2791fef SHA512 6ff8d20e4c596e3705ac6814e0ea1562e4b1f2809d585440bd5940b7094127fce21e7f6a738281305d6782c9806336f2d030c864e189d2c85e3b302635f07685
AUX vdr-2.4.6_makefile-variables.patch 1094 BLAKE2B eabc93d2bb383b1146c15c8b0bdff5979e172a5190a9c755071f1be66a662f89ce6f92c230a0df14ec5ca1958ac53326624e16c54457d83296a0b117047ac22a SHA512 5ee06df94028fc7bbd70fae718aab544f562a1a4d2cf380c282a24db33cdef1bea7224608c01e5ecb4a92cf1a709706342314918f36c0b6f65f5861c872fe499
AUX vdr-2.4_remove_plugins.patch 876 BLAKE2B 27f36cd30e11ec85f8c91d0b4da77d2a6a94d23d4801dc8dea70dbd617e12a6e0968ad96624688b7ad1463dcc3676ccbccd85e29c7b556b5e989191fb020df2d SHA512 eb5da3977d5a55dfac8871bf638ad320bf03e84c6c667f098f6f39f71beecd861fd5ae8b898ad835b8441ce8bb9dcb82005ba0b0e1b785ac156e478b222515a9
AUX vdr-2.6.1-patch-for-permashift.patch 18981 BLAKE2B 01da7d33401a7d73b37f30e5359a4db695345e24a4eda9dda0c5d1c1bb70cf43c2954f136cd96d37d619707f2a74dfb8960b3346d644ab89ac9720b1eb0da4c3 SHA512 71eb63ff475723fb75a7b35fbfff43728baee4d2a665dd6516c2c4be0bedb5b1744d0653c79d679a38b376cb80627aa05605e469bfab0e0b4a65644136425ec7
AUX vdr-2.6.1_naludump.patch 19594 BLAKE2B 012b92b265c0721ae7baf0f193c9b50fe3bee1e0fd8396e79e05deebef05a34acc5c7eb9ecad225f084449799c8e04a8285b41aa6cac5b24d582e4797dc60888 SHA512 3482d7d921c4b73f12426538cab6d7923d5ca3013efa9d16998bb48bd75557ace04af683401fc93b7c77bf4d619f4ded74f7f4568acdceb0406de0472bef074a
AUX vdr-2.6.1_pinplugin.patch 19274 BLAKE2B 19cc70e16f956087ace9a52d646c7003abba0be5894b05314e96880114f07584309756a4102bf8569c6612c21037ae1a4ec45fbcc91b6e2df42d89e4febfc0c7 SHA512 d5e875f8f51c4f946b9f305a36d15b760720b0495c6abaf6c2fbab4d200799741088026e9edb83458cc75cabc390a72173f33620010aedc4eaf22ed1a3d57973
AUX vdr-2.6.6_gentoo.patch 2012 BLAKE2B a1260419cf4175268fbdee4e4d49ba30c382693915ec6f0681d29d7b216d8ba0149ccac4ff3e1eab95d4f09d6e5be1b616c664f45df24f01b89c97be18797e00 SHA512 de038378218888fb4755aad27508fc51f6e53fc3828e6f62b65e707d7ed8b7989bc8841472589215c5420c6f793f47687d6318c1b758dec513a052cf36654b0c
+AUX vdr-2.6.7_pinplugin.patch 19683 BLAKE2B 3a1d2929db2a435c2cafa06f5c02ae45d4122c68f63f26fccb98d2d13df3ab30334900b105bcaeaa3de2e650c93a4467eb9ae7a974821b2d1a0d3fd986910514 SHA512 680f1992b98fef24710a90d594785fb493b53ba24665d35c4b59e9c6c0273989d4af69e032c60293116f3761e577c51628e2a4713e09824698ad89bbfcc95789
DIST extpng-vdr-2.2.0-gentoo-edition-v1.patch.bz2 34664 BLAKE2B 81b68ebe0ef4588c3676f0b7a2c766d8d4d4f754a987b3be5868f3c6eff9158d4cea8e492ca81df535e637dbdc5baff638d1fafb4163e9d9a2d0125aba17e2e1 SHA512 16d6fbb8201f003dfe653b6a49424b794d7e697e27ad6f2383dbe17b76712ea5a3da88a676900b84d75ff7425bf3eb9084d60a89a4598758f482dc1f013f7b3e
DIST vdr-2.2.0.tar.bz2 922708 BLAKE2B 975e07d6d4c5bd13ee92be5d6a1826d6404b0c59e20fa2e30689b185a61e02d54782ad528e6a4f15e0d36806b30bcf48aa336d63adb3604e78056ff318e0fd2c SHA512 183f58133915c6c0fe8ec2b88becbcb2a36418210e6dcf7931053d3771d727c3581593f9eb5c9693abf39e22e728f7b41c42079cd704610c3636ec05134ea93d
-DIST vdr-2.6.4.tbz2 944257 BLAKE2B 09f2867d84ad6ee722e37cd3f77160ba4d976c25e46394a50ecd53b22da2269a3988e5aaf07eb741aaf0c957e9a001b15767b61eb6b1169206b4434d3885dc2f SHA512 2e69b67c82dd9dd1473c8776524b3888944957d4c6d7cf8f7713de4935819853dc481f04a87936bba8b1f56d9f3d8018f0820a3b1505bec2fceea6863e5d3776
-DIST vdr-2.6.4_ttxtsubs_v2.patch 40549 BLAKE2B 525c05b72fa957372cc1ef91428428f664f42d92eebc06fd0b179afbe99e4ecc4919c69cef000cc15c8340c9a2506d38cbf755fd6665cde1708ce17d4320a35f SHA512 590c43e63818de8be9637cb3b32bf3399b82a181ca151d67e2341232669619020ab78ba9934da3a9c58cdb3bac56fc2a332a5838a92ee0851e42c3707726eb49
DIST vdr-2.6.6.tbz2 946758 BLAKE2B 22ad6d0d4048347ff16a48ad137900f32dda7adfc7fb54bb1501f14cfc426185f942ffa4997de1e0318ca8c6b67a7dfc48d49b30bfda9367d7337b2d601544fc SHA512 4e798d3e39be0e851ec2e7f7cc563b070c3aa9438165a6aab8fcfc1cee5d7255cdc7dd4f6d4c4c84be770223491a9660bb41874e7b4d1ae504bbb16fe11f2a71
DIST vdr-2.6.6_ttxtsubs_v2.patch 40549 BLAKE2B 525c05b72fa957372cc1ef91428428f664f42d92eebc06fd0b179afbe99e4ecc4919c69cef000cc15c8340c9a2506d38cbf755fd6665cde1708ce17d4320a35f SHA512 590c43e63818de8be9637cb3b32bf3399b82a181ca151d67e2341232669619020ab78ba9934da3a9c58cdb3bac56fc2a332a5838a92ee0851e42c3707726eb49
+DIST vdr-2.6.7.tbz2 948424 BLAKE2B 61a8e80feed5a90567093ae2a89e570fb2cba51e7ce8cb47cf5748af9141b0f41deb759c35e8e0a6e0d5e1bb2106834a84d2932b6b0a97f9766d221a60486a15 SHA512 e0d63d0414288bb7c09155f0014ba492a87e46650aaa20cdae098365e227075ae5f5d98f69750ac925e96e5054f7a8a41c59816038ffa0a0bc94b55d4e924f83
+DIST vdr-2.6.7_ttxtsubs_v2.patch 40549 BLAKE2B 525c05b72fa957372cc1ef91428428f664f42d92eebc06fd0b179afbe99e4ecc4919c69cef000cc15c8340c9a2506d38cbf755fd6665cde1708ce17d4320a35f SHA512 590c43e63818de8be9637cb3b32bf3399b82a181ca151d67e2341232669619020ab78ba9934da3a9c58cdb3bac56fc2a332a5838a92ee0851e42c3707726eb49
+DIST vdr-2.6.9.tbz2 949889 BLAKE2B 25416907562b061a38fbe29478010d1d790695f1eab2ad8e7d58548986a84c494232a914f58bbfc00e1d99fc5dd915fa4f715706630c3e3f1d2708c86c548e26 SHA512 a28cd01be43825d8f3d1af076dcb3193fa2f66027d419e4da4fcbac094a966877f52133045488b2e4cd962a2828875f9bd6c582379c8b4fb5db82a737f128aee
+DIST vdr-2.6.9_ttxtsubs_v2.patch 40549 BLAKE2B 525c05b72fa957372cc1ef91428428f664f42d92eebc06fd0b179afbe99e4ecc4919c69cef000cc15c8340c9a2506d38cbf755fd6665cde1708ce17d4320a35f SHA512 590c43e63818de8be9637cb3b32bf3399b82a181ca151d67e2341232669619020ab78ba9934da3a9c58cdb3bac56fc2a332a5838a92ee0851e42c3707726eb49
DIST vdr-menuorg-2.3.x.diff 8852 BLAKE2B 19b98d51a69f52ecda5500f51ef1741a8397953b20c490055eab0393da5f56ff9598c3e1e8ed8b915f5877e08deeb9ba7a9ef8d9356ad3a1fa12e3778869174a SHA512 7b41c3a529858a4953a57f21619ea01864e140cc1755ee0b03caf1c4de41e80c3f805653502bc8d39d02a4dfcddf720acd4a8c8bd91f4871eef31d86e8e915c0
-EBUILD vdr-2.2.0-r7.ebuild 8236 BLAKE2B da3fa4a0871018e4e72e188448a4aa6f8efe3bd843ea3543665f71403bbc0ed4a951b9f87c634a8df361bbb23474270eb14f5b7db77ae5ac2cb27f02f20a0944 SHA512 5e451b6eb64d224c5ea48e5a88335daf03c893a89f3466a798fa3250c442759e5b9d2f8819b48065ea9424c301cbddbfd299f3fa6980f16d9db54f9a87df58d4
-EBUILD vdr-2.6.4.ebuild 5521 BLAKE2B 4a19364f8c1b889c839b05c89bb7c765c4f4758aa7f8181107b0fe4c60674ff0eedf7e1b7126dbaf0938572c8e18dfa99c2f1d63d91bca0a77096a6c3feac6ef SHA512 e0cd45456383445c0005cfc2b61074dba8b7692a3021e5ddf29980632002406d85781e84f5eec8cc5a1a7f9395213758f6a333dbe27fe931df0b225789d2a93e
+EBUILD vdr-2.2.0-r7.ebuild 8236 BLAKE2B 4d528752b314d7400fbdf4bbfc92926f8a3b442794150865c7680a7289ee1e139b1ce1ee7a32f618bd8fcb20b2e8bb26a69252f521d267053bf39d5f7633975e SHA512 3dc086dccd1b3dd6b4b572aabbdce6268a16ec6492c2410f12d47af3b6beef2a0e7e9c0fb2525d9cdf1c107848643fa98547cdc195e77c6524f7d5b2151262ef
EBUILD vdr-2.6.6.ebuild 5514 BLAKE2B 100848bb4fa40be9ba072fbc18f2eee95afb088510a502347d101abdbcbb93df63082244ce6c60f34e4a3d7c89b013fd28ce5bb51bdc3b28e8ed5094d65bab9d SHA512 f0a2d067dac9fbac7a16813c6dca29d3a2d24d021e9d36e56d69f0fdc215aa0c12c022a0bbf6c5a536fbfc11eb3dd49b4ad0315a598d8d8ffc6e3449192715bb
+EBUILD vdr-2.6.7.ebuild 5514 BLAKE2B d6045972603bedd241f2ee6e80de2f2f26d6eb7f3e3a7749aeb508c925cace71693a15f79468d365ffdb1e4518455bac896a3c525efe7a32f2b5810aa9af89b5 SHA512 3f6b081032d03cebf0813d4de8aad0ff330d4b534982607d9eef0b0d3e963f8584dbd33df06540e43cc4e6df76d9bbe9f2792475a0a8aa2f807e81d0db297466
+EBUILD vdr-2.6.9.ebuild 5519 BLAKE2B 9f26de2ec600f28b00fd2a7a6c9098fb31791902ae971ea0c80a3ad857b36d57a07c801e5b2c4409dd1d7c2091e3c10d716e3804f2375422facb6320f3fd2640 SHA512 f7e84b1eb017df12601c0df61761ed07520a91afea263e9cdc6918eabecfa958a50273f103ee49b03c9087cabeb64ab3da1adcbcbc8df2376c0ab804963faad5
MISC metadata.xml 1780 BLAKE2B 179a1948c96a7b237b500a08861799c25ae084d5b9cd6702921acd04cfbf0111bbb11170e4d14bf31ad7355ef0899f285857350131badc411548a3611593ecb6 SHA512 6c8c2073c55f327d4dfe52cb22ae1622d936c43503caf2964594656e1281b07110187c139216a73ed10abd625b43509ecdfe41edb7439950653e038991abfb31
diff --git a/media-video/vdr/files/vdr-2.2.0_gentoo.patch b/media-video/vdr/files/vdr-2.2.0_gentoo.patch
index 70066f5b0c86..9fba406f39fb 100644
--- a/media-video/vdr/files/vdr-2.2.0_gentoo.patch
+++ b/media-video/vdr/files/vdr-2.2.0_gentoo.patch
@@ -1,5 +1,16 @@
--- a/Makefile
+++ b/Makefile
+@@ -54,8 +54,8 @@
+
+ # Mandatory compiler flags:
+
+-CFLAGS += -fPIC
+-CXXFLAGS += -fPIC
++CFLAGS += -fPIC -std=c++14
++CXXFLAGS += -fPIC -std=c++14
+
+ # Common include files:
+
@@ -124,7 +124,7 @@
VDRVERSION = $(shell sed -ne '/define VDRVERSION/s/^.*"\(.*\)".*$$/\1/p' config.h)
APIVERSION = $(shell sed -ne '/define APIVERSION/s/^.*"\(.*\)".*$$/\1/p' config.h)
diff --git a/media-video/vdr/files/vdr-2.4.6_gentoo.patch b/media-video/vdr/files/vdr-2.4.6_gentoo.patch
deleted file mode 100644
index 6ecd2ccfd436..000000000000
--- a/media-video/vdr/files/vdr-2.4.6_gentoo.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-this patch will disable some handling in the core Makefile
-as we use for Linux FHS a different handling in gentoo
-demoplugins from core vdr install disabled
-support from Linguas variable
-
-Signed-off-by: Joerg Bornkessel <hd_brummy@gentoo.org> 2021/Feb/11
-diff -Naur vdr-2.4.6.orig/Makefile vdr-2.4.6/Makefile
---- vdr-2.4.6.orig/Makefile 2020-06-27 11:13:04.000000000 +0200
-+++ vdr-2.4.6/Makefile 2020-08-08 18:16:02.519719542 +0200
-@@ -193,7 +193,7 @@
-
- PODIR = po
- LOCALEDIR = locale
--I18Npo = $(wildcard $(PODIR)/*.po)
-+I18Npo = $(foreach dir,$(LINGUAS),$(wildcard $(PODIR)/$(dir)*.po))
- I18Nmo = $(addsuffix .mo, $(foreach file, $(I18Npo), $(basename $(file))))
- I18Nmsgs = $(addprefix $(LOCALEDIR)/, $(addsuffix /LC_MESSAGES/vdr.mo, $(notdir $(foreach file, $(I18Npo), $(basename $(file))))))
- I18Npot = $(PODIR)/vdr.pot
-@@ -220,7 +220,7 @@
-
- install-i18n: i18n
- @mkdir -p $(DESTDIR)$(LOCDIR)
-- cp -r $(LOCALEDIR)/* $(DESTDIR)$(LOCDIR)
-+ @(cd $(LOCALEDIR); for linguas in $(LINGUAS); do [ "$$linguas" = "en" ] && continue; cp -r --parents $$linguas* $(DESTDIR)$(LOCDIR); done)
-
- # The 'include' directory (for plugins):
-
-@@ -294,12 +294,11 @@
-
- install-dirs:
- @mkdir -p $(DESTDIR)$(VIDEODIR)
-- @mkdir -p $(DESTDIR)$(CONFDIR)
- @mkdir -p $(DESTDIR)$(ARGSDIR)
-- @mkdir -p $(DESTDIR)$(CACHEDIR)
- @mkdir -p $(DESTDIR)$(RESDIR)
-
- install-conf: install-dirs
-+ @mkdir -p $(DESTDIR)$(CONFDIR)
- @cp -pn *.conf $(DESTDIR)$(CONFDIR)
-
- # Documentation:
-@@ -307,9 +306,9 @@
- install-doc:
- @mkdir -p $(DESTDIR)$(MANDIR)/man1
- @mkdir -p $(DESTDIR)$(MANDIR)/man5
-- @gzip -c vdr.1 > $(DESTDIR)$(MANDIR)/man1/vdr.1.gz
-- @gzip -c vdr.5 > $(DESTDIR)$(MANDIR)/man5/vdr.5.gz
-- @gzip -c svdrpsend.1 > $(DESTDIR)$(MANDIR)/man1/svdrpsend.1.gz
-+ @cp vdr.1 $(DESTDIR)$(MANDIR)/man1/
-+ @cp vdr.5 $(DESTDIR)$(MANDIR)/man5/
-+ @cp svdrpsend.1 $(DESTDIR)$(MANDIR)/man1/
-
- # Plugins:
-
-@@ -326,8 +325,9 @@
- # Includes:
-
- install-includes: include-dir
-- @mkdir -p $(DESTDIR)$(INCDIR)
-- @cp -pLR include/vdr include/libsi $(DESTDIR)$(INCDIR)
-+ @mkdir -p $(DESTDIR)$(INCDIR)/vdr $(DESTDIR)$(INCDIR)/vdr/libsi
-+ @cp -pLR include/vdr $(DESTDIR)$(INCDIR)
-+ @cp -pLR include/libsi Make.config $(DESTDIR)$(INCDIR)/vdr
-
- # pkg-config file:
-
diff --git a/media-video/vdr/files/vdr-2.6.7_pinplugin.patch b/media-video/vdr/files/vdr-2.6.7_pinplugin.patch
new file mode 100644
index 000000000000..281a3e2dbf5f
--- /dev/null
+++ b/media-video/vdr/files/vdr-2.6.7_pinplugin.patch
@@ -0,0 +1,447 @@
+original vdr-pinplugin_vdr-2.3.1.diff
+rebased for media-video/vdr-2.6.7
+
+Signed-off-by: Christian Kunkel <ch.kunkel@gmx.de> ( 2021 Feb 12 )
+Reviewed-by: Martin Dummer <martin.dummer@gmx.net> ( 2024-06-18 )
+diff -Naur vdr-2.6.7.orig/Makefile vdr-2.6.7/Makefile
+--- vdr-2.6.7.orig/Makefile 2024-06-18 22:37:59.172119452 +0200
++++ vdr-2.6.7/Makefile 2024-06-18 22:38:53.723925736 +0200
+@@ -356,7 +356,7 @@
+ clean:
+ @$(MAKE) --no-print-directory -C $(LSIDIR) clean
+ @-rm -f $(OBJS) $(DEPFILE) vdr vdr.pc core* *~
+- @-rm -rf $(LOCALEDIR) $(PODIR)/*.mo $(PODIR)/*.pot
++ @-rm -rf $(LOCALEDIR) $(PODIR)/*~ $(PODIR)/*.mo $(PODIR)/*.pot
+ @-rm -rf include
+ @-rm -rf srcdoc
+ CLEAN: clean
+diff -Naur vdr-2.6.7.orig/device.c vdr-2.6.7/device.c
+--- vdr-2.6.7.orig/device.c 2024-04-02 09:05:33.000000000 +0200
++++ vdr-2.6.7/device.c 2024-06-18 22:38:53.727925721 +0200
+@@ -847,6 +847,7 @@
+ const cChannel *Channel;
+ while ((Channel = Channels->GetByNumber(n, Direction)) != NULL) {
+ // try only channels which are currently available
++ if (!cStatus::MsgChannelProtected(0, Channel)) // PIN PATCH
+ if (GetDevice(Channel, LIVEPRIORITY, true, true))
+ break;
+ n = Channel->Number() + Direction;
+@@ -868,6 +869,12 @@
+
+ eSetChannelResult cDevice::SetChannel(const cChannel *Channel, bool LiveView)
+ {
++ // I hope 'LiveView = false' indicates a channel switch for recording, // PIN PATCH
++ // I really don't know, but it works ... // PIN PATCH
++
++ if (LiveView && cStatus::MsgChannelProtected(this, Channel)) // PIN PATCH
++ return scrNotAvailable; // PIN PATCH
++
+ cMutexLock MutexLock(&mutexChannel); // to avoid a race between SVDRP CHAN and HasProgramme()
+ cStatus::MsgChannelSwitch(this, 0, LiveView);
+
+diff -Naur vdr-2.6.7.orig/menu.c vdr-2.6.7/menu.c
+--- vdr-2.6.7.orig/menu.c 2024-04-02 09:05:33.000000000 +0200
++++ vdr-2.6.7/menu.c 2024-06-18 22:38:53.727925721 +0200
+@@ -1035,6 +1035,18 @@
+ Add(new cMenuEditBitItem( tr("VPS"), &data.flags, tfVps));
+ Add(new cMenuEditIntItem( tr("Priority"), &data.priority, 0, MAXPRIORITY));
+ Add(new cMenuEditIntItem( tr("Lifetime"), &data.lifetime, 0, MAXLIFETIME));
++
++ // PIN PATCH
++ if (cOsd::pinValid || !data.fskProtection) Add(new cMenuEditBoolItem(tr("Childlock"),&data.fskProtection));
++ else {
++ char* buf = 0;
++ int res = 0;
++ res = asprintf(&buf, "%s\t%s", tr("Childlock"), data.fskProtection ? tr("yes") : tr("no"));
++ if (res < 0) ; // memory problems :o
++ Add(new cOsdItem(buf));
++ free(buf);
++ }
++
+ Add(file = new cMenuEditStrItem( tr("File"), data.file, sizeof(data.file)));
+ SetFirstDayItem();
+ SetPatternItem(true);
+@@ -3129,7 +3141,8 @@
+ }
+ }
+ }
+- if (*Item->Text() && !LastDir) {
++ if (*Item->Text() && !LastDir
++ && (!cStatus::MsgReplayProtected(Item->Recording(), Item->Name(), base, Item->IsDirectory(), true))) { // PIN PATCH
+ Add(Item);
+ LastItem = Item;
+ if (Item->IsDirectory())
+@@ -3200,6 +3213,9 @@
+ {
+ cMenuRecordingItem *ri = (cMenuRecordingItem *)Get(Current());
+ if (ri) {
++ if (cStatus::MsgReplayProtected(ri->Recording(), ri->Name(), base,
++ ri->IsDirectory()) == true) // PIN PATCH
++ return osContinue;
+ if (ri->IsDirectory())
+ Open();
+ else {
+@@ -4515,28 +4531,32 @@
+
+ // Basic menu items:
+
+- Add(new cOsdItem(hk(tr("Schedule")), osSchedule));
+- Add(new cOsdItem(hk(tr("Channels")), osChannels));
+- Add(new cOsdItem(hk(tr("Timers")), osTimers));
+- Add(new cOsdItem(hk(tr("Recordings")), osRecordings));
++ // PIN PATCH
++ if (!cStatus::MsgMenuItemProtected("Schedule", true)) Add(new cOsdItem(hk(tr("Schedule")), osSchedule));
++ if (!cStatus::MsgMenuItemProtected("Channels", true)) Add(new cOsdItem(hk(tr("Channels")), osChannels));
++ if (!cStatus::MsgMenuItemProtected("Timers", true)) Add(new cOsdItem(hk(tr("Timers")), osTimers));
++ if (!cStatus::MsgMenuItemProtected("Recordings", true)) Add(new cOsdItem(hk(tr("Recordings")), osRecordings));
+
+ // Plugins:
+
+ for (int i = 0; ; i++) {
+ cPlugin *p = cPluginManager::GetPlugin(i);
+ if (p) {
++ if (!cStatus::MsgPluginProtected(p, true)) { // PIN PATCH
+ const char *item = p->MainMenuEntry();
+ if (item)
+ Add(new cMenuPluginItem(hk(item), i));
+ }
++ }
+ else
+ break;
+ }
+
+ // More basic menu items:
+
+- Add(new cOsdItem(hk(tr("Setup")), osSetup));
++ if (!cStatus::MsgMenuItemProtected("Setup", true)) Add(new cOsdItem(hk(tr("Setup")), osSetup)); // PIN PATCH
+ if (Commands.Count())
++ if (!cStatus::MsgMenuItemProtected("Commands", true)) // PIN PATCH
+ Add(new cOsdItem(hk(tr("Commands")), osCommands));
+
+ Update(true);
+@@ -4609,6 +4629,14 @@
+ eOSState state = cOsdMenu::ProcessKey(Key);
+ HadSubMenu |= HasSubMenu();
+
++ // > PIN PATCH
++ cOsdItem* item = Get(Current());
++
++ if (item && item->Text() && state != osContinue && state != osUnknown && state != osBack)
++ if (cStatus::MsgMenuItemProtected(item->Text()))
++ return osContinue;
++ // PIN PATCH <
++
+ switch (state) {
+ case osSchedule: return AddSubMenu(new cMenuSchedule);
+ case osChannels: return AddSubMenu(new cMenuChannels);
+@@ -4633,6 +4661,7 @@
+ if (item) {
+ cPlugin *p = cPluginManager::GetPlugin(item->PluginIndex());
+ if (p) {
++ if (!cStatus::MsgPluginProtected(p)) { // PIN PATCH
+ cOsdObject *menu = p->MainMenuAction();
+ if (menu) {
+ if (menu->IsMenu())
+@@ -4644,6 +4673,7 @@
+ }
+ }
+ }
++ }
+ state = osEnd;
+ }
+ break;
+@@ -4823,6 +4853,7 @@
+ Channel = Direction > 0 ? Channels->Next(Channel) : Channels->Prev(Channel);
+ if (!Channel && Setup.ChannelsWrap)
+ Channel = Direction > 0 ? Channels->First() : Channels->Last();
++ if (!cStatus::MsgChannelProtected(0, Channel)) // PIN PATCH
+ if (Channel && !Channel->GroupSep() && cDevice::GetDevice(Channel, LIVEPRIORITY, true, true))
+ return Channel;
+ }
+@@ -5500,6 +5531,7 @@
+ for (int i = 0; i < MAXRECORDCONTROLS; i++) {
+ if (!RecordControls[i]) {
+ RecordControls[i] = new cRecordControl(device, Timers, Timer, Pause);
++ cStatus::MsgRecordingFile(RecordControls[i]->FileName()); // PIN PATCH
+ return RecordControls[i]->Process(time(NULL));
+ }
+ }
+diff -Naur vdr-2.6.7.orig/osd.c vdr-2.6.7/osd.c
+--- vdr-2.6.7.orig/osd.c 2024-04-02 09:05:33.000000000 +0200
++++ vdr-2.6.7/osd.c 2024-06-18 22:38:53.731925707 +0200
+@@ -1907,6 +1907,7 @@
+ cSize cOsd::maxPixmapSize(INT_MAX, INT_MAX);
+ cVector<cOsd *> cOsd::Osds;
+ cMutex cOsd::mutex;
++bool cOsd::pinValid = false; // PIN PATCH
+
+ cOsd::cOsd(int Left, int Top, uint Level)
+ {
+diff -Naur vdr-2.6.7.orig/osd.h vdr-2.6.7/osd.h
+--- vdr-2.6.7.orig/osd.h 2024-04-02 09:05:33.000000000 +0200
++++ vdr-2.6.7/osd.h 2024-06-18 22:38:53.731925707 +0200
+@@ -994,6 +994,7 @@
+ ///<
+ ///< If a plugin uses a derived cPixmap implementation, it needs to use that
+ ///< type instead of cPixmapMemory.
++ static bool pinValid; // PIN PATCH
+ };
+
+ #define MAXOSDIMAGES 64
+diff -Naur vdr-2.6.7.orig/status.c vdr-2.6.7/status.c
+--- vdr-2.6.7.orig/status.c 2024-04-02 09:05:33.000000000 +0200
++++ vdr-2.6.7/status.c 2024-06-18 22:38:53.731925707 +0200
+@@ -136,3 +136,55 @@
+ for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm))
+ sm->OsdProgramme(PresentTime, PresentTitle, PresentSubtitle, FollowingTime, FollowingTitle, FollowingSubtitle);
+ }
++
++bool cStatus::MsgChannelProtected(const cDevice* Device, const cChannel* Channel) // PIN PATCH
++{
++ for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm))
++ if (sm->ChannelProtected(Device, Channel) == true)
++ return true;
++
++ return false;
++}
++
++bool cStatus::MsgReplayProtected(const cRecording* Recording, const char* Name,
++ const char* Base, bool isDirectory, int menuView) // PIN PATCH
++{
++ for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm))
++ if (sm->ReplayProtected(Recording, Name, Base, isDirectory, menuView) == true)
++ return true;
++ return false;
++}
++
++void cStatus::MsgRecordingFile(const char* FileName)
++{
++ for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm)) // PIN PATCH
++ sm->RecordingFile(FileName);
++}
++
++void cStatus::MsgTimerCreation(cTimer* Timer, const cEvent *Event)
++{
++ for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm)) // PIN PATCH
++ sm->TimerCreation(Timer, Event);
++}
++
++bool cStatus::MsgPluginProtected(cPlugin* Plugin, int menuView) // PIN PATCH
++{
++ for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm))
++ if (sm->PluginProtected(Plugin, menuView) == true)
++ return true;
++ return false;
++}
++
++void cStatus::MsgUserAction(const eKeys key) // PIN PATCH
++{
++ for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm))
++ sm->UserAction(key);
++}
++
++bool cStatus::MsgMenuItemProtected(const char* Name, int menuView) // PIN PATCH
++{
++ for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm))
++ if (sm->MenuItemProtected(Name, menuView) == true)
++ return true;
++ return false;
++}
+diff -Naur vdr-2.6.7.orig/status.h vdr-2.6.7/status.h
+--- vdr-2.6.7.orig/status.h 2024-04-02 09:05:33.000000000 +0200
++++ vdr-2.6.7/status.h 2024-06-18 22:38:53.731925707 +0200
+@@ -14,6 +14,7 @@
+ #include "device.h"
+ #include "player.h"
+ #include "tools.h"
++#include "plugin.h"
+
+ // Several member functions of the following classes are called with a pointer to
+ // an object from a global list (cTimer, cChannel, cRecording or cEvent). In these
+@@ -99,6 +100,22 @@
+ // The OSD displays the single line Text with the current channel information.
+ virtual void OsdProgramme(time_t PresentTime, const char *PresentTitle, const char *PresentSubtitle, time_t FollowingTime, const char *FollowingTitle, const char *FollowingSubtitle) {}
+ // The OSD displays the given programme information.
++ virtual bool ChannelProtected(const cDevice *Device, const cChannel* Channel) { return false; } // PIN PATCH
++ // Checks if a channel is protected.
++ virtual bool ReplayProtected(const cRecording* Recording, const char* Name,
++ const char* Base, bool isDirectory, int menuView = false) { return false; } // PIN PATCH
++ // Checks if a recording is protected.
++ virtual void RecordingFile(const char* FileName) {} // PIN PATCH
++ // The given DVB device has started recording to FileName. FileName is the name of the
++ // recording directory
++ virtual void TimerCreation(cTimer* Timer, const cEvent *Event) {} // PIN PATCH
++ // The given timer is created
++ virtual bool PluginProtected(cPlugin* Plugin, int menuView = false) { return false; } // PIN PATCH
++ // Checks if a plugin is protected.
++ virtual void UserAction(const eKeys key) {} // PIN PATCH
++ // report user action
++ virtual bool MenuItemProtected(const char* Name, int menuView = false) { return false; } // PIN PATCH
++
+ public:
+ cStatus(void);
+ virtual ~cStatus();
+@@ -122,6 +139,14 @@
+ static void MsgOsdTextItem(const char *Text, bool Scroll = false);
+ static void MsgOsdChannel(const char *Text);
+ static void MsgOsdProgramme(time_t PresentTime, const char *PresentTitle, const char *PresentSubtitle, time_t FollowingTime, const char *FollowingTitle, const char *FollowingSubtitle);
++ static bool MsgChannelProtected(const cDevice* Device, const cChannel* Channel); // PIN PATCH
++ static bool MsgReplayProtected(const cRecording* Recording, const char* Name,
++ const char* Base, bool isDirectory, int menuView = false); // PIN PATCH
++ static void MsgRecordingFile(const char* FileName); // PIN PATCH
++ static void MsgTimerCreation(cTimer* Timer, const cEvent *Event); // PIN PATCH
++ static bool MsgPluginProtected(cPlugin* Plugin, int menuView = false); // PIN PATCH
++ static void MsgUserAction(const eKeys key); // PIN PATCH
++ static bool MsgMenuItemProtected(const char* Name, int menuView = false); // PIN PATCH
+ };
+
+ #endif //__STATUS_H
+diff -Naur vdr-2.6.7.orig/timers.c vdr-2.6.7/timers.c
+--- vdr-2.6.7.orig/timers.c 2024-04-02 09:05:33.000000000 +0200
++++ vdr-2.6.7/timers.c 2024-06-18 22:41:36.147349313 +0200
+@@ -85,6 +85,7 @@
+ stop -= 2400;
+ priority = Pause ? Setup.PausePriority : Setup.DefaultPriority;
+ lifetime = Pause ? Setup.PauseLifetime : Setup.DefaultLifetime;
++ fskProtection = 0; // PIN PATCH
+ if (Instant && channel)
+ snprintf(file, sizeof(file), "%s%s", Setup.MarkInstantRecord ? "@" : "", *Setup.NameInstantRecord ? Setup.NameInstantRecord : channel->Name());
+ }
+@@ -218,11 +219,13 @@
+ stop -= 2400;
+ priority = PatternTimer ? PatternTimer->Priority() : Setup.DefaultPriority;
+ lifetime = PatternTimer ? PatternTimer->Lifetime() : Setup.DefaultLifetime;
++ fskProtection = 0; // PIN PATCH
+ if (!FileName)
+ FileName = Event->Title();
+ if (!isempty(FileName))
+ Utf8Strn0Cpy(file, FileName, sizeof(file));
+ SetEvent(Event);
++ cStatus::MsgTimerCreation(this, Event); // PIN PATCH
+ }
+
+ cTimer::cTimer(const cTimer &Timer)
+@@ -261,6 +264,7 @@
+ stop = Timer.stop;
+ priority = Timer.priority;
+ lifetime = Timer.lifetime;
++ fskProtection = Timer.fskProtection; // PIN PATCH
+ vpsNotRunning = 0;
+ vpsActive = false;
+ strncpy(pattern, Timer.pattern, sizeof(pattern));
+@@ -492,6 +496,7 @@
+ result = false;
+ }
+ }
++ fskProtection = aux && strstr(aux, "<pin-plugin><protected>yes</protected></pin-plugin>"); // PIN PATCH
+ free(channelbuffer);
+ free(daybuffer);
+ free(filebuffer);
+@@ -1069,6 +1074,36 @@
+ Matches(); // refresh start and end time
+ }
+
++void cTimer::SetFskProtection(int aFlag) // PIN PATCH
++{
++ char* p;
++ char* tmp = 0;
++ int res = 0;
++
++ fskProtection = aFlag;
++
++ if (fskProtection && (!aux || !strstr(aux, "<pin-plugin><protected>yes</protected></pin-plugin>")))
++ {
++ // add protection info to aux
++
++ if (aux) { tmp = strdup(aux); free(aux); }
++ res = asprintf(&aux, "%s<pin-plugin><protected>yes</protected></pin-plugin>", tmp ? tmp : "");
++ }
++ else if (!fskProtection && aux && (p = strstr(aux, "<pin-plugin><protected>yes</protected></pin-plugin>")))
++ {
++ // remove protection info from aux
++
++ res = asprintf(&tmp, "%.*s%s", (int)(p-aux), aux, p+strlen("<pin-plugin><protected>yes</protected></pin-plugin>"));
++ free(aux);
++ aux = strdup(tmp);
++ }
++
++ if (res < 0) ; // memory problems :o
++
++ if (tmp)
++ free(tmp);
++}
++
+ // --- cTimers ---------------------------------------------------------------
+
+ cTimers cTimers::timers;
+diff -Naur vdr-2.6.7.orig/timers.h vdr-2.6.7/timers.h
+--- vdr-2.6.7.orig/timers.h 2024-04-02 09:05:33.000000000 +0200
++++ vdr-2.6.7/timers.h 2024-06-18 22:38:53.731925707 +0200
+@@ -47,6 +47,7 @@
+ int start; ///< the start and stop time of this timer as given by the user,
+ int stop; ///< in the form hhmm, with hh (00..23) and mm (00..59) added as hh*100+mm
+ int priority;
++ int fskProtection; // PIN PATCH
+ int lifetime;
+ mutable char pattern[NAME_MAX * 2 + 1]; // same size as 'file', to be able to initially fill 'pattern' with 'file' in the 'Edit timer' menu
+ mutable char file[NAME_MAX * 2 + 1]; // *2 to be able to hold 'title' and 'episode', which can each be up to 255 characters long
+@@ -72,6 +73,7 @@
+ int Start(void) const { return start; }
+ int Stop(void) const { return stop; }
+ int Priority(void) const { return priority; }
++ int FskProtection(void) const { return fskProtection; } // PIN PATCH
+ int Lifetime(void) const { return lifetime; }
+ const char *Pattern(void) const { return pattern; }
+ const char *File(void) const { return file; }
+@@ -122,6 +124,7 @@
+ void SetRemote(const char *Remote);
+ void SetDeferred(int Seconds);
+ void SetFlags(uint Flags);
++ void SetFskProtection(int aFlag); // PIN PATCH
+ void ClrFlags(uint Flags);
+ void InvFlags(uint Flags);
+ bool HasFlags(uint Flags) const;
+diff -Naur vdr-2.6.7.orig/vdr.c vdr-2.6.7/vdr.c
+--- vdr-2.6.7.orig/vdr.c 2024-04-02 09:05:33.000000000 +0200
++++ vdr-2.6.7/vdr.c 2024-06-18 22:38:53.735925694 +0200
+@@ -72,6 +72,7 @@
+ #include "tools.h"
+ #include "transfer.h"
+ #include "videodir.h"
++#include "status.h" // PIN PATCH
+
+ #define MINCHANNELWAIT 10 // seconds to wait between failed channel switchings
+ #define ACTIVITYTIMEOUT 60 // seconds before starting housekeeping
+@@ -1217,6 +1218,7 @@
+ if (!Menu)
+ Interact = Control = cControl::Control(ControlMutexLock);
+ if (ISREALKEY(key)) {
++ cStatus::MsgUserAction(key); // PIN PATCH
+ EITScanner.Activity();
+ // Cancel shutdown countdown:
+ if (ShutdownHandler.countdown)
+@@ -1289,10 +1291,12 @@
+ Control->Hide();
+ cPlugin *plugin = cPluginManager::GetPlugin(PluginName);
+ if (plugin) {
++ if (!cStatus::MsgPluginProtected(plugin)) { // PIN PATCH
+ Menu = plugin->MainMenuAction();
+ if (Menu)
+ Menu->Show();
+ }
++ }
+ else
+ esyslog("ERROR: unknown plugin '%s'", PluginName);
+ }
+@@ -1512,9 +1516,11 @@
+ case kPlay:
+ if (cReplayControl::LastReplayed()) {
+ Control = NULL;
++ if (cStatus::MsgReplayProtected(0, cReplayControl::LastReplayed(), 0, false) == false) { // PIN PATCH
+ cControl::Shutdown();
+ cControl::Launch(new cReplayControl);
+ }
++ }
+ else
+ DirectMainFunction(osRecordings); // no last viewed recording, so enter the Recordings menu
+ break;
diff --git a/media-video/vdr/vdr-2.2.0-r7.ebuild b/media-video/vdr/vdr-2.2.0-r7.ebuild
index 1f82375d5508..89490df1119d 100644
--- a/media-video/vdr/vdr-2.2.0-r7.ebuild
+++ b/media-video/vdr/vdr-2.2.0-r7.ebuild
@@ -17,7 +17,6 @@ EXT_PATCH_FLAGS_RENAMED_EXT_NAME="bidi no_kbd sdnotify"
MY_PV="${PV%_p*}"
MY_P="${PN}-${MY_PV}"
-S="${WORKDIR}/${MY_P}"
EXT_P="extpng-${P}-gentoo-edition-v1"
@@ -25,6 +24,7 @@ DESCRIPTION="Video Disk Recorder - turns a pc into a powerful set top box for DV
HOMEPAGE="http://www.tvdr.de/"
SRC_URI="ftp://ftp.tvdr.de/vdr/${MY_P}.tar.bz2
mirror://gentoo/${EXT_P}.patch.bz2"
+S="${WORKDIR}/${MY_P}"
LICENSE="GPL-2+"
SLOT="0"
diff --git a/media-video/vdr/vdr-2.6.7.ebuild b/media-video/vdr/vdr-2.6.7.ebuild
new file mode 100644
index 000000000000..40b47d8d5566
--- /dev/null
+++ b/media-video/vdr/vdr-2.6.7.ebuild
@@ -0,0 +1,199 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic strip-linguas toolchain-funcs user-info
+
+DESCRIPTION="Video Disk Recorder - turns a pc into a powerful set top box for DVB"
+HOMEPAGE="http://www.tvdr.de/"
+SRC_URI="http://git.tvdr.de/?p=vdr.git;a=snapshot;h=refs/tags/${PV};sf=tbz2 -> ${P}.tbz2
+ menuorg? ( https://github.com/vdr-projects/vdr-plugin-menuorg/raw/master/vdr-patch/vdr-menuorg-2.3.x.diff )
+ ttxtsubs? ( https://md11.it.cx/download/${PN}/${P}_ttxtsubs_v2.patch )"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~x86"
+IUSE="bidi debug demoplugins html keyboard mainmenuhooks menuorg naludump permashift pinplugin systemd ttxtsubs verbose"
+
+COMMON_DEPEND="
+ acct-group/vdr
+ acct-user/vdr
+ media-libs/fontconfig
+ media-libs/freetype
+ media-libs/libjpeg-turbo:=
+ sys-libs/libcap"
+DEPEND="${COMMON_DEPEND}
+ sys-kernel/linux-headers"
+RDEPEND="${COMMON_DEPEND}
+ dev-lang/perl
+ media-tv/gentoo-vdr-scripts
+ media-fonts/corefonts
+ bidi? ( dev-libs/fribidi )
+ systemd? ( sys-apps/systemd )"
+BDEPEND="
+ sys-devel/gettext
+ virtual/pkgconfig"
+
+REQUIRED_USE="permashift? ( !naludump !pinplugin )"
+
+CONF_DIR="/etc/vdr"
+CAP_FILE="${S}/capabilities.sh"
+CAPS="# Capabilities of the vdr-executable for use by startscript etc."
+
+pkg_setup() {
+ use debug && append-flags -g
+
+ PLUGIN_LIBDIR="/usr/$(get_libdir)/vdr/plugins"
+ VIDEO_DIR="$(egethome vdr)/video"
+
+ tc-export CC CXX AR
+}
+
+add_cap() {
+ local arg
+ for arg; do
+ CAPS="${CAPS}\n${arg}=1"
+ done
+}
+
+lang_po() {
+ LING_PO=$( ls "${S}"/po | sed -e "s:.po::g" | cut -d_ -f1 | tr \\\012 ' ' )
+}
+
+src_prepare() {
+ # apply maintenance-patches
+ ebegin "Changing paths for gentoo"
+
+ local DVBDIR=/usr/include
+ local i
+ for i in ${DVB_HEADER_PATH} /usr/include/v4l-dvb-hg /usr/include; do
+ [[ -d ${i} ]] || continue
+ if [[ -f ${i}/linux/dvb/dmx.h ]]; then
+ einfo "Found DVB header files in ${i}"
+ DVBDIR=${i}
+ break
+ fi
+ done
+
+ # checking for s2api headers
+ local api_version
+ api_version=$(awk -F' ' '/define DVB_API_VERSION / {print $3}' "${DVBDIR}"/linux/dvb/version.h)
+ api_version=${api_version}*$(awk -F' ' '/define DVB_API_VERSION_MINOR / {print $3}' "${DVBDIR}"/linux/dvb/version.h)
+
+ if [[ ${api_version:-0} -lt 5*3 ]]; then
+ eerror "DVB header files do not contain s2api support or too old for ${P}"
+ eerror "You cannot compile VDR against old dvb-header"
+ die "DVB headers too old"
+ fi
+
+ cat > Make.config <<-EOT || die "cannot write to Make.config"
+ #
+ # Generated by ebuild ${PF}
+ #
+ PREFIX = /usr
+ DVBDIR = ${DVBDIR}
+ PLUGINLIBDIR = ${PLUGIN_LIBDIR}
+ CONFDIR = ${CONF_DIR}
+ ARGSDIR = \$(CONFDIR)/conf.d
+ VIDEODIR = ${VIDEO_DIR}
+ LOCDIR = \$(PREFIX)/share/locale
+ INCDIR = \$(PREFIX)/include
+
+ DEFINES += -DCONFDIR=\"\$(CONFDIR)\"
+ INCLUDES += -I\$(DVBDIR)
+
+ # >=vdr-1.7.36-r1; parameter only used for compiletime on vdr
+ # PLUGINLIBDIR (plugin Makefile old) = LIBDIR (plugin Makefile new)
+ LIBDIR = ${PLUGIN_LIBDIR}
+ PCDIR = /usr/$(get_libdir)/pkgconfig
+
+ EOT
+ eend 0
+
+ eapply "${FILESDIR}/vdr-2.6.6_gentoo.patch"
+ use demoplugins || eapply "${FILESDIR}/vdr-2.4_remove_plugins.patch"
+ eapply "${FILESDIR}/${PN}-2.4.6_makefile-variables.patch"
+
+ # fix clang/LLVM compile
+ eapply "${FILESDIR}/${PN}-2.4.6_clang.patch"
+
+ use naludump && eapply "${FILESDIR}/${PN}-2.6.1_naludump.patch"
+ use permashift && eapply "${FILESDIR}/${PN}-2.6.1-patch-for-permashift.patch"
+ use pinplugin && eapply "${FILESDIR}/${P}_pinplugin.patch"
+ use ttxtsubs && eapply "${DISTDIR}/${P}_ttxtsubs_v2.patch"
+ use menuorg && eapply "${DISTDIR}/vdr-menuorg-2.3.x.diff"
+ use mainmenuhooks && eapply "${FILESDIR}/${PN}-2.4.1_mainmenuhook-1.0.1.patch"
+
+ add_cap CAP_UTF8 \
+ CAP_IRCTRL_RUNTIME_PARAM \
+ CAP_VFAT_RUNTIME_PARAM \
+ CAP_CHUID \
+ CAP_SHUTDOWN_AUTO_RETRY
+
+ echo -e ${CAPS} > "${CAP_FILE}" || die "cannot write to CAP_FILE"
+
+ # LINGUAS support
+ einfo "\n \t VDR supports the LINGUAS values"
+
+ lang_po
+
+ einfo "\t Please set one of this values in your sytem make.conf"
+ einfo "\t LINGUAS=\"${LING_PO}\"\n"
+
+ if [[ -z ${LINGUAS} ]]; then
+ einfo "\n \t No values in LINGUAS="
+ einfo "\t You will get only english text on OSD \n"
+ fi
+
+ strip-linguas ${LING_PO} en
+
+ default
+}
+
+src_configure() {
+ # support languages, written from right to left
+ export "BIDI=$(usex bidi 1 0)"
+ # systemd notification support
+ export "SDNOTIFY=$(usex systemd 1 0)"
+ # with/without keyboard
+ export "USE_KBD=$(usex keyboard 1 0)"
+ # detailed compile output for debug
+ export "VERBOSE=$(usex verbose 1 0)"
+}
+
+src_install() {
+ # trick the makefile to not create a VIDEODIR by supplying it with an
+ # existing directory
+ emake VIDEODIR="/" DESTDIR="${ED}" install
+
+ keepdir "${PLUGIN_LIBDIR}"
+
+ # backup for plugins they don't be able to create this dir
+ keepdir "${CONF_DIR}/plugins"
+
+ if use html; then
+ local HTML_DOCS=( *.html )
+ fi
+ local DOCS=( MANUAL INSTALL README* HISTORY CONTRIBUTORS UPDATE-2* )
+ einstalldocs
+
+ insinto /usr/share/vdr
+ doins "${CAP_FILE}"
+
+ fowners vdr:vdr "${CONF_DIR}" -R
+}
+
+pkg_postinst() {
+ elog "Please read the /usr/share/doc/${PF}/UPDATE-2.4"
+ elog "for major changes in this version\n"
+
+ elog "It is a good idea to run vdrplugin-rebuild now.\n"
+
+ elog "To get nice symbols in OSD we recommend to install"
+ elog "\t1. emerge media-fonts/vdrsymbols-ttf"
+ elog "\t2. select font VDRSymbolsSans in Setup\n"
+
+ elog "To get an idea how to proceed now, have a look at our vdr-guide:"
+ elog "\thttps://wiki.gentoo.org/wiki/VDR"
+}
diff --git a/media-video/vdr/vdr-2.6.4.ebuild b/media-video/vdr/vdr-2.6.9.ebuild
index 2381f57f8276..62092ddacd56 100644
--- a/media-video/vdr/vdr-2.6.4.ebuild
+++ b/media-video/vdr/vdr-2.6.9.ebuild
@@ -111,7 +111,7 @@ src_prepare() {
EOT
eend 0
- eapply "${FILESDIR}/${PN}-2.4.6_gentoo.patch"
+ eapply "${FILESDIR}/vdr-2.6.6_gentoo.patch"
use demoplugins || eapply "${FILESDIR}/vdr-2.4_remove_plugins.patch"
eapply "${FILESDIR}/${PN}-2.4.6_makefile-variables.patch"
@@ -120,7 +120,7 @@ src_prepare() {
use naludump && eapply "${FILESDIR}/${PN}-2.6.1_naludump.patch"
use permashift && eapply "${FILESDIR}/${PN}-2.6.1-patch-for-permashift.patch"
- use pinplugin && eapply "${FILESDIR}/${PN}-2.6.1_pinplugin.patch"
+ use pinplugin && eapply "${FILESDIR}/${PN}-2.6.7_pinplugin.patch"
use ttxtsubs && eapply "${DISTDIR}/${P}_ttxtsubs_v2.patch"
use menuorg && eapply "${DISTDIR}/vdr-menuorg-2.3.x.diff"
use mainmenuhooks && eapply "${FILESDIR}/${PN}-2.4.1_mainmenuhook-1.0.1.patch"
diff --git a/media-video/vdr2jpeg/Manifest b/media-video/vdr2jpeg/Manifest
deleted file mode 100644
index 405b5fba09ca..000000000000
--- a/media-video/vdr2jpeg/Manifest
+++ /dev/null
@@ -1,3 +0,0 @@
-DIST vdr2jpeg-0.2.0.tgz 20027 BLAKE2B c79a84c6e7010eae762fb31bdd9771dcdae1e78761afd07c536a55e834b0271fb55dcd4bb49f87a2d28695496d37f94c90350dd70b50229bb6248026422faee0 SHA512 65f3e0acb2ecd3a5341e527c45fafd454266841f1369c89b10750fce86f2326fba76329abd17a05d67aea3b43a7b1299a49cfa9eee9a784bb99c940253ca5952
-EBUILD vdr2jpeg-0.2.0-r5.ebuild 953 BLAKE2B 5f62adf98f9c41c3b2e523573f1715e3a602d51e851a0374dc8d17782d6596c9b05de9afb237df44f36c07562744289f8521d8d4ecc6d70dd09e7a8019f70b9e SHA512 8dda6d44454acc0195818a608545966eed2e682f46007125f6455bf63ab6786de5a35bdb01cee7948e0f5ce9430f2e4773b68835c7f41d7981888af7cecc5f6a
-MISC metadata.xml 260 BLAKE2B ee10cc021112a6e67381cc76d642cabfe9876b9e2da97243070551179a9f8eb2bcb67d8bf96822d40239c350808a8a129882914f1ce9b5f924c99d16ba1300a6 SHA512 0bc4c52638ab97c96d6e1ea6b8199201567dbdac880349e8ab501de49bbfba142e4f2f60baac9c0bc48df6f5d170d81d641277cc01762d720b720764bb162c1a
diff --git a/media-video/vdr2jpeg/metadata.xml b/media-video/vdr2jpeg/metadata.xml
deleted file mode 100644
index a2dfee954457..000000000000
--- a/media-video/vdr2jpeg/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/vdr2jpeg/vdr2jpeg-0.2.0-r5.ebuild b/media-video/vdr2jpeg/vdr2jpeg-0.2.0-r5.ebuild
deleted file mode 100644
index 64c8bb388969..000000000000
--- a/media-video/vdr2jpeg/vdr2jpeg-0.2.0-r5.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit toolchain-funcs
-
-VERSION="1911" # every bump, new version
-
-RESTRICT="strip"
-
-DESCRIPTION="Addon needed for XXV - WWW Admin for the Video Disk Recorder"
-HOMEPAGE="https://projects.vdr-developer.org/projects/xxv"
-SRC_URI="mirror://vdr-developerorg/${VERSION}/${P}.tgz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-RDEPEND="media-video/ffmpeg:0"
-DEPEND="${RDEPEND}"
-
-BDEPEND="virtual/pkgconfig"
-
-# bug 731212
-QA_FLAGS_IGNORED="usr/bin/vdr2jpeg"
-
-DOCS=( README LIESMICH )
-
-src_prepare() {
- sed -i Makefile \
- -e "s:usr/local:usr:" \
- -e "s:-o vdr2jpeg:\$(LDFLAGS) -shared -o vdr2jpeg:" || die
-
- # bug 727640, 727804 do not call strip directly
- export STRIP="$(tc-getSTRIP)"
- sed -i Makefile -e "s:-s vdr2jpeg:vdr2jpeg:" || die
-
- default
-}
-
-src_install() {
- emake DESTDIR="${D}" install FFMPEG_BIN=/usr/bin/ffmpeg
-
- einstalldocs
-}
diff --git a/media-video/vlc/Manifest b/media-video/vlc/Manifest
index 9cf19c3ad800..765408dfd0e5 100644
--- a/media-video/vlc/Manifest
+++ b/media-video/vlc/Manifest
@@ -5,12 +5,15 @@ AUX vlc-3.0.11.1-configure_lua_version.patch 1598 BLAKE2B 589c90d0c805ff516b7957
AUX vlc-3.0.18-drop-minizip-dep.patch 1024 BLAKE2B f00df51fe46743b760785151fdc4b770347331b80fcb4208860b4cf99555504e634959384c236a3539c9235547d5eb54c0a1b18e0183b0864e0c4fc070359e15 SHA512 5911e0e64d07fd23a67b142adaec684c581125f06295a64dee9aade31e780b6010538007c7477ea9ef69e4e7b4aeb1cc30891dd22bf273c18407f694111a66f8
AUX vlc-3.0.20-c99-2.patch 1062 BLAKE2B 5af148382216fbea0a5fa0e8431c340946eb11a2615cd46dac6ea656c7248ca0c3b274c4f4306f068702a1729a44ddc55b0983e95f16093582ac63554175da40 SHA512 1b5d40171ca9247fe144284eef8bf832626700d3daae76a7b7b2928c774de54e3e646da0ffcc8f2f0874d7fa1f289fa027c44cdc4b8461e0b2f9cdd8bc049f3f
AUX vlc-3.0.20-c99.patch 5600 BLAKE2B 60abb31fde0687232f9d77808836a76e63945a2f805a7830a85b8bc374b2413ee1988d55cd992ad0d39644e66f5ba68f94620d13cb1213c00216539a809d5c43 SHA512 2b609afab28bf57adca34e11d9eeb120d6c61c7d3d3b06c999bac13987d1d4116819ce18d5af68e737c4f2eda727d619d129640d240ffdccdc634eeac91dd27a
+AUX vlc-3.0.21-freerdp-2.patch 8386 BLAKE2B ad8abf54cbf62cac4e67a000c40595a2f1ed13d57c8039aa7a9309dbe3d213e3d6838d31faf2f36d031aa25fd1a5f97fc26435b1dc4e7e082a2e517ed629b285 SHA512 7a43186c6f37aa4d4b2b971f91789c4a9c8d5d192cd9c1ed3fa9609b2d713f47420b983865d0906ca0dd6d15bc1ae6b22e84b03909c0c8e0024b779362d26c92
AUX vlc-3.0.6-fdk-aac-2.0.0.patch 3436 BLAKE2B 022201ed10fef189feeb36f44ab4194ab7994e4fdd8bad922070b54688d34d051fac28177a0e648d55670e0b9f0c6b45f9a05650476b0ae12ebfe759dd561e28 SHA512 68964adda04cd88e80b586984f1af0cfdccff5dbf8529070d5ab985b23402dfb7380b5d39eacfea433c1ba03434139e4f394c1c25d6b426489883d3a42cb7b5b
AUX vlc-9999-configure-lua-version.patch 1840 BLAKE2B 1b9f11c05ed58e12616732c73a8418917870515f9612467b2839e8414f553ba3d0d9ede4c38e15957cc9b271aecae9364961103dafd72b80c6088a826f18777b SHA512 fa6350a02a92b65e5cc1c7b8e65e14045ca279d9d6f3f1ae255ab2a8ac88b3b3ff16102aa7e91e51e65e2500712bd7fccbdc987e760a5753581098afb1259eb9
AUX vlc-9999-fix-libtremor-libs.patch 480 BLAKE2B 86102dc088705f546185023b2f941520b5435f852e0b0e7cdb8763e15df645cdc794087c188fb17ee331be7ba4d953311276583886e3fe0f93d6de32e63e3207 SHA512 93893a0accecc3470f33e505ef2ce86aeb5f2a3a6524adc7de354366bb8e51def2d67957be4ea705ff20c1510e7274691e587e70740d4b3657b35f5c91de7280
AUX vlc-9999-libupnp-slot-1.8.patch 763 BLAKE2B 6bc8cf46f029db27d6d30d96e871d3bcfddee004e4e8469e1526a6a38fb5cc11a24a19888443e5f9062d7145665d594e142c12f3a9693967f195bab3b33ada38 SHA512 dd3375997a1935d3a227231785f35e300e3f992034da6a9c3019e28c68c1f005cbdd67190672264b342abc719e69005f965599f7af975e2bbd4cfccd89e3770d
DIST vlc-3.0.20.tar.xz 25596392 BLAKE2B 4537d6b4b3445a28366cdb7ed7e12d0dc864e19a53d34efcdc0a62226642ec8653cf8d5b74d4aea30c9f324c34166e8fa71653b3b298f5abdebe29c4f21f2865 SHA512 02e58fb52dd75bf483ac4b298aecf86463b13d4782173d164adba6e4552d9262ff5e2ee1cbe1bce2c8a809801b79f328c6a8c475d34ae62aefaea02ae5ade406
-EBUILD vlc-3.0.20-r10.ebuild 13713 BLAKE2B 257afd14cfd7f663cdb05ecd0bc8743e79016461309c828b99c780352dc99e41685f7339432631d9255c58db8dfef784e7670e5a7c86d1b73c7a78b9a5572c84 SHA512 22c1183ad1643d685926e6799fd97be93da08f9613ae49311733d947d36ee04782c55531da8b7bcea4b8a8bec9f013c64e55c1a9f7c3d3036e33792ccbfcea0f
-EBUILD vlc-3.0.9999.ebuild 13640 BLAKE2B 046e11a9895755093d585a379064ceffbce7b25342d0636b4cbd9cb2dabf186899b1244ec0ab7b9c24127a87b4758f882a0fd684216a36c89a64fc7d5c911b6b SHA512 fbaedcb6ba8d47dc39dbba7ec68ef69ee26d041af171eb94c3e76d6ef306e874c21fa0cb160fdd70014982ac96a9e9b47855962a72d8abfc14a249d0f3777493
-EBUILD vlc-9999.ebuild 13468 BLAKE2B 9368b716f838feffe9ffbed08cf002ed5c5ccca0244dad4d5a51f2dd9f942ff3fc9662388391339083a8d4d0b1047dcb0750b22bf924b320dfceda7a3f5b58f9 SHA512 c3c5353ebf8e99a860b6b862a5002f833c35875f26885ed63fc784dc252d15edfa6ff1143123ee5066def0f34763932ce64dfecb15ecbf19e008f82afde648bd
+DIST vlc-3.0.21.tar.xz 25649288 BLAKE2B 0ad05282d624611ba8a2b6ca062c68aabeac8f37410dd427cc9b8c0d107af48ed203b73978e2fe83e8171ea6b78caa51394f3497061b561447dbb41058e1af9f SHA512 cb1af76c8056648c331d7e6e0680d161ed1849eb635987504f45eae02531e9b432651034317fa7e02b0722905dfb9f0f5dad67b5924cc62edcaf0d173ac36aee
+EBUILD vlc-3.0.20-r11.ebuild 13702 BLAKE2B 209d3e1221dcb353400383c6d9e4d1fbec3d9ac337eacfcb478473b46706868551bce7604c0c70d58c7bc10da74f60d4a381d7736a9eb680473385bbaf88eb2d SHA512 0c0b1383526fff2093b93a3afe002026a1766408b55ed589ca36ff9a8d720aa5b956850a4b739c98bab864993a72a1a54d10ef4eb7064047456e8ff972e61d18
+EBUILD vlc-3.0.21.ebuild 13632 BLAKE2B cdf1b077440ba3400b7504018eb5d3af65f2cd18232a2c12072331dedd81ee5a0ddf245145cc55915807c297c07681485cf785361e0dc371261652a0467a3a46 SHA512 ef40a8bc248737c874527774e29107d8d89d36d5cc251ada4ea65c12b7194db850c207a06f982eca2df3982c37f7ac2dc3aca5615be335bfe0ef3a18f93de768
+EBUILD vlc-3.0.9999.ebuild 13629 BLAKE2B 8ae0d493b94834e7209a14f2d2162bdaf6e5f64b0a29ae538ae58da3c41edeaa5bd2262e353d1f021c0edc5d2bfbeaa812ab5438a5ad813501c20c205b06f97f SHA512 01432aeafddf27949afac97047d072031e9254291c7ef840451b22216aa408ecccf072c45a05158cc236ca2b817e94a06dc9254baa1a938990f94541d6b95e8a
+EBUILD vlc-9999.ebuild 13457 BLAKE2B d9b3a9ddda3a2cbf86e8091523d836a5611f54320d17ce3881a23b49668c1bbc3c872d49170c1ea38e0b2c3b92be05bfd6480ae63e9500976557c392c71b259c SHA512 a01a3430cb81d03d61b190da4b2dfbcdf0dfe3448d2605c995b7df05910917e4e719dd02f69f06d0e4208f9eaa563483cda2a24d47428136b734802296f2dd28
MISC metadata.xml 4815 BLAKE2B 90ef1af4058b83694f6b233c0b2daf46f45f6d23517103923b324db6ca167bb0e04226cae62162fc86a39bca5666b969b13f9d53d8b967a14af2595943d8c4e6 SHA512 544df4a6e4ed05f055f0aababa8c396932440f21336705818cbbce1397d0810ea5050ec16cdf2e3ebf0d7d63b70e77cd07c35edffeecde182ae2ecc571a1dbf7
diff --git a/media-video/vlc/files/vlc-3.0.21-freerdp-2.patch b/media-video/vlc/files/vlc-3.0.21-freerdp-2.patch
new file mode 100644
index 000000000000..2c2311d352c4
--- /dev/null
+++ b/media-video/vlc/files/vlc-3.0.21-freerdp-2.patch
@@ -0,0 +1,230 @@
+https://bugs.gentoo.org/590164
+https://bugs.gentoo.org/919296
+https://code.videolan.org/videolan/vlc/-/commit/95e7bba6105bd8c2b8ea9cabc02c8dfe7411cab2
+
+diff --git a/configure.ac b/configure.ac
+index 4870d9f718..ce656be9ae 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -2159,7 +2159,7 @@ PKG_ENABLE_MODULES_VLC([VNC], [vnc], [libvncclient >= 0.9.9], (VNC/rfb client su
+
+ dnl RDP/Remote Desktop access module
+ dnl
+-PKG_ENABLE_MODULES_VLC([FREERDP], [rdp], [freerdp >= 1.0.1], (RDP/Remote Desktop client support) )
++PKG_ENABLE_MODULES_VLC([FREERDP], [rdp], [freerdp2 >= 2.0.0], (RDP/Remote Desktop client support) )
+
+ dnl
+ dnl AVFoundation
+diff --git a/modules/access/rdp.c b/modules/access/rdp.c
+index 51b63ae942..87a55310cb 100644
+--- a/modules/access/rdp.c
++++ b/modules/access/rdp.c
+@@ -45,18 +45,6 @@
+ # include <freerdp/version.h>
+ #endif
+
+-#if !defined(FREERDP_VERSION_MAJOR) || \
+- (defined(FREERDP_VERSION_MAJOR) && !(FREERDP_VERSION_MAJOR > 1 || (FREERDP_VERSION_MAJOR == 1 && FREERDP_VERSION_MINOR >= 1)))
+-# define SoftwareGdi sw_gdi
+-# define Fullscreen fullscreen
+-# define ServerHostname hostname
+-# define Username username
+-# define Password password
+-# define ServerPort port
+-# define EncryptionMethods encryption
+-# define ContextSize context_size
+-#endif
+-
+ #include <errno.h>
+ #ifdef HAVE_POLL_H
+ # include <poll.h>
+@@ -75,6 +63,8 @@
+
+ #define CFG_PREFIX "rdp-"
+
++#define FREERDP_PIXEL_BPP(_format) (_format >> 24)
++
+ /*****************************************************************************
+ * Module descriptor
+ *****************************************************************************/
+@@ -136,11 +126,12 @@ typedef struct vlcrdp_context_t vlcrdp_context_t;
+
+ /* updates handlers */
+
+-static void desktopResizeHandler( rdpContext *p_context )
++static BOOL desktopResizeHandler( rdpContext *p_context )
+ {
+ vlcrdp_context_t * p_vlccontext = (vlcrdp_context_t *) p_context;
+ demux_sys_t *p_sys = p_vlccontext->p_demux->p_sys;
+ rdpGdi *p_gdi = p_context->gdi;
++ int i_colordepth = FREERDP_PIXEL_BPP( p_gdi->dstFormat );
+
+ if ( p_sys->es )
+ {
+@@ -148,11 +139,13 @@ static void desktopResizeHandler( rdpContext *p_context )
+ p_sys->es = NULL;
+ }
+
+- /* Now init and fill es format */
+ vlc_fourcc_t i_chroma;
+- switch( p_gdi->bytesPerPixel )
++ /* Now init and fill es format */
++ switch ( i_colordepth )
+ {
+ default:
++ msg_Dbg( p_vlccontext->p_demux, "invalid color depth %d", i_colordepth);
++ /* fallthrough */
+ case 16:
+ i_chroma = VLC_CODEC_RGB16;
+ break;
+@@ -160,7 +153,7 @@ static void desktopResizeHandler( rdpContext *p_context )
+ i_chroma = VLC_CODEC_RGB24;
+ break;
+ case 32:
+- i_chroma = VLC_CODEC_RGB32;
++ i_chroma = VLC_CODEC_ARGB;
+ break;
+ }
+ es_format_t fmt;
+@@ -173,7 +166,7 @@ static void desktopResizeHandler( rdpContext *p_context )
+ fmt.video.i_height = p_gdi->height;
+ fmt.video.i_frame_rate_base = 1000;
+ fmt.video.i_frame_rate = 1000 * p_sys->f_fps;
+- p_sys->i_framebuffersize = p_gdi->width * p_gdi->height * p_gdi->bytesPerPixel;
++ p_sys->i_framebuffersize = p_gdi->width * p_gdi->height * (i_colordepth >> 3);
+
+ if ( p_sys->p_block )
+ p_sys->p_block = block_Realloc( p_sys->p_block, 0, p_sys->i_framebuffersize );
+@@ -181,20 +174,21 @@ static void desktopResizeHandler( rdpContext *p_context )
+ p_sys->p_block = block_Alloc( p_sys->i_framebuffersize );
+
+ p_sys->es = es_out_Add( p_vlccontext->p_demux->out, &fmt );
++ return TRUE;
+ }
+
+-static void beginPaintHandler( rdpContext *p_context )
++static BOOL beginPaintHandler( rdpContext *p_context )
+ {
+ vlcrdp_context_t * p_vlccontext = (vlcrdp_context_t *) p_context;
+ demux_sys_t *p_sys = p_vlccontext->p_demux->p_sys;
+ rdpGdi *p_gdi = p_context->gdi;
+- p_gdi->primary->hdc->hwnd->invalid->null = 1;
+- p_gdi->primary->hdc->hwnd->ninvalid = 0;
++ p_gdi->primary->hdc->hwnd->invalid->null = TRUE;
+ if ( ! p_sys->p_block && p_sys->i_framebuffersize )
+ p_sys->p_block = block_Alloc( p_sys->i_framebuffersize );
++ return TRUE;
+ }
+
+-static void endPaintHandler( rdpContext *p_context )
++static BOOL endPaintHandler( rdpContext *p_context )
+ {
+ vlcrdp_context_t * p_vlccontext = (vlcrdp_context_t *) p_context;
+ demux_sys_t *p_sys = p_vlccontext->p_demux->p_sys;
+@@ -205,11 +199,12 @@ static void endPaintHandler( rdpContext *p_context )
+ p_sys->p_block->i_buffer = p_sys->i_framebuffersize;
+ memcpy( p_sys->p_block->p_buffer, p_gdi->primary_buffer, p_sys->p_block->i_buffer );
+ }
++ return TRUE;
+ }
+
+ /* instance handlers */
+
+-static bool preConnectHandler( freerdp *p_instance )
++static BOOL preConnectHandler( freerdp *p_instance )
+ {
+ vlcrdp_context_t * p_vlccontext = (vlcrdp_context_t *) p_instance->context;
+ demux_sys_t *p_sys = p_vlccontext->p_demux->p_sys;
+@@ -226,49 +221,54 @@ static bool preConnectHandler( freerdp *p_instance )
+ p_instance->settings->EncryptionMethods =
+ var_InheritBool( p_vlccontext->p_demux, CFG_PREFIX "encrypt" );
+
+- return true;
++ return TRUE;
+ }
+
+-static bool postConnectHandler( freerdp *p_instance )
++static BOOL postConnectHandler( freerdp *p_instance )
+ {
+ vlcrdp_context_t * p_vlccontext = (vlcrdp_context_t *) p_instance->context;
+
+ msg_Dbg( p_vlccontext->p_demux, "connected to desktop %dx%d (%d bpp)",
+-#if defined(FREERDP_VERSION_MAJOR) && (FREERDP_VERSION_MAJOR > 1 || (FREERDP_VERSION_MAJOR == 1 && FREERDP_VERSION_MINOR >= 1))
+ p_instance->settings->DesktopWidth,
+ p_instance->settings->DesktopHeight,
+ p_instance->settings->ColorDepth
+-#else
+- p_instance->settings->width,
+- p_instance->settings->height,
+- p_instance->settings->color_depth
+-#endif
+ );
+
+ p_instance->update->DesktopResize = desktopResizeHandler;
+ p_instance->update->BeginPaint = beginPaintHandler;
+ p_instance->update->EndPaint = endPaintHandler;
++ UINT32 format;
++ switch ( p_instance->settings->ColorDepth )
++ {
++ default:
++ msg_Dbg( p_vlccontext->p_demux, "no valid pixel format found for color depth %d bpp", p_instance->settings->ColorDepth);
++ /* fallthrough */
++ case 16:
++ format = PIXEL_FORMAT_RGB16;
++ break;
++ case 24:
++ format = PIXEL_FORMAT_RGB24;
++ break;
++ case 32:
++ format = PIXEL_FORMAT_ARGB32;
++ break;
++ }
+
+ gdi_init( p_instance,
+- CLRBUF_16BPP |
+-#if defined(FREERDP_VERSION_MAJOR) && defined(FREERDP_VERSION_MINOR) && \
+- !(FREERDP_VERSION_MAJOR > 1 || (FREERDP_VERSION_MAJOR == 1 && FREERDP_VERSION_MINOR >= 2))
+- CLRBUF_24BPP |
+-#endif
+- CLRBUF_32BPP, NULL );
++ format );
+
+ desktopResizeHandler( p_instance->context );
+- return true;
++ return TRUE;
+ }
+
+-static bool authenticateHandler( freerdp *p_instance, char** ppsz_username,
++static BOOL authenticateHandler( freerdp *p_instance, char** ppsz_username,
+ char** ppsz_password, char** ppsz_domain )
+ {
+ VLC_UNUSED(ppsz_domain);
+ vlcrdp_context_t * p_vlccontext = (vlcrdp_context_t *) p_instance->context;
+ *ppsz_username = var_InheritString( p_vlccontext->p_demux, CFG_PREFIX "user" );
+ *ppsz_password = var_InheritString( p_vlccontext->p_demux, CFG_PREFIX "password" );
+- return true;
++ return TRUE;
+ }
+
+ /*****************************************************************************
+@@ -431,10 +431,6 @@ static int Open( vlc_object_t *p_this )
+ if ( p_sys->f_fps <= 0 ) p_sys->f_fps = 1.0;
+ p_sys->i_frame_interval = CLOCK_FREQ / p_sys->f_fps;
+
+-#if FREERDP_VERSION_MAJOR == 1 && FREERDP_VERSION_MINOR < 2
+- freerdp_channels_global_init();
+-#endif
+-
+ p_sys->p_instance = freerdp_new();
+ if ( !p_sys->p_instance )
+ {
+@@ -507,9 +503,6 @@ static void Close( vlc_object_t *p_this )
+
+ freerdp_disconnect( p_sys->p_instance );
+ freerdp_free( p_sys->p_instance );
+-#if FREERDP_VERSION_MAJOR == 1 && FREERDP_VERSION_MINOR < 2
+- freerdp_channels_global_uninit();
+-#endif
+
+ if ( p_sys->p_block )
+ block_Release( p_sys->p_block );
diff --git a/media-video/vlc/vlc-3.0.20-r10.ebuild b/media-video/vlc/vlc-3.0.20-r11.ebuild
index 7e985624bdd5..9559fbe675d4 100644
--- a/media-video/vlc/vlc-3.0.20-r10.ebuild
+++ b/media-video/vlc/vlc-3.0.20-r11.ebuild
@@ -169,7 +169,7 @@ RDEPEND="
>=media-libs/libprojectm-3.1.12:0=
)
pulseaudio? ( media-libs/libpulse )
- rdp? ( >=net-misc/freerdp-2.0.0_rc0:2=[client(+)] )
+ 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 )
diff --git a/media-video/vlc/vlc-3.0.21.ebuild b/media-video/vlc/vlc-3.0.21.ebuild
new file mode 100644
index 000000000000..a133a040f602
--- /dev/null
+++ b/media-video/vlc/vlc-3.0.21.ebuild
@@ -0,0 +1,516 @@
+# 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/"
+
+S="${WORKDIR}/${MY_P}"
+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}-3.0.6-fdk-aac-2.0.0.patch # bug 672290
+ "${FILESDIR}"/${PN}-3.0.11.1-configure_lua_version.patch
+ "${FILESDIR}"/${PN}-3.0.18-drop-minizip-dep.patch
+ "${FILESDIR}"/${PN}-3.0.21-freerdp-2.patch # bug 919296, 590164
+)
+
+DOCS=( AUTHORS THANKS NEWS README doc/fortunes.txt )
+
+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.9999.ebuild b/media-video/vlc/vlc-3.0.9999.ebuild
index 278eb623b4b6..c78279fbee98 100644
--- a/media-video/vlc/vlc-3.0.9999.ebuild
+++ b/media-video/vlc/vlc-3.0.9999.ebuild
@@ -169,7 +169,7 @@ RDEPEND="
>=media-libs/libprojectm-3.1.12:0=
)
pulseaudio? ( media-libs/libpulse )
- rdp? ( >=net-misc/freerdp-2.0.0_rc0:2=[client(+)] )
+ 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 )
diff --git a/media-video/vlc/vlc-9999.ebuild b/media-video/vlc/vlc-9999.ebuild
index 069ca6ec43c2..2d66aaaa613d 100644
--- a/media-video/vlc/vlc-9999.ebuild
+++ b/media-video/vlc/vlc-9999.ebuild
@@ -170,7 +170,7 @@ RDEPEND="
>=media-libs/libprojectm-3.1.12:0=
)
pulseaudio? ( media-libs/libpulse )
- rdp? ( >=net-misc/freerdp-2.0.0_rc0:2=[client(+)] )
+ 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 )
diff --git a/media-video/vstrip/Manifest b/media-video/vstrip/Manifest
deleted file mode 100644
index 90439685db26..000000000000
--- a/media-video/vstrip/Manifest
+++ /dev/null
@@ -1,4 +0,0 @@
-AUX vstrip-0.8f-gentoo.patch 2047 BLAKE2B 253332bd66e176f39a685ced6f49a6478044c8f8d0ceae89aa8ea57d74f8963d19d8a86a31eec28ea8acdae2db0c0997384d907e5772b374b2261b183c68a6d1 SHA512 5c8ac7a49a50b701108b06bc5f3305d2a4553d74fe30c7f628cdc5c9f4391dbf1e75764a2900727ddd6e706bff9386dbbde63269facf563a1b59b96c593de6ed
-DIST vStrip_08f.zip 409157 BLAKE2B cdb31341d014adb10b8d83b09d11896351d298b49eefce2b506eaca26883ca14ad8f007e42363fa961e9839b548ce0c7fd1edf9d4aea17c1a5d135bf0feb9089 SHA512 5b8fa07e923709aa0defcbe3ad6fced02eddd5cacc7c33a5ec777e1d64d1e33f3163c82c7fd74eb80f02833c75593e7fe544fa93a56271926a51dbc663f39276
-EBUILD vstrip-0.8f.ebuild 703 BLAKE2B 2c3205d3d545723ab937940c0248a0e07b9f1d162f5b67b684190fd3d3d1445a273e3ae16c2643381dcab2681c4437da6b41c2ad7c07ca55937f4fedb2270cd6 SHA512 b0194c9298cb601d6d0ddf57089368a29470b2e475c06e23848f5d8b56c4b9667ad557d134906401038ff242c5faabc1f5af91d4a47a4ad33a8b7384ceb88714
-MISC metadata.xml 221 BLAKE2B a8ae02758e29edcbb6f3c9de4eb354eec3dcd1b3d5917639ac518b4085c61eb86187e0046a8076d21ce9fccbf76b9c98e0b3816bbea3f479a1955df68f1ff6c7 SHA512 56dcb24730cb51ba02e3cf46bf03dd27ac4f3afb5781bbf9984100dad25aacee64a13f667de0c988aab9059fb7487e3835f995aa9c515a9680dd8534d30f0d17
diff --git a/media-video/vstrip/files/vstrip-0.8f-gentoo.patch b/media-video/vstrip/files/vstrip-0.8f-gentoo.patch
deleted file mode 100644
index d4be5a2ea783..000000000000
--- a/media-video/vstrip/files/vstrip-0.8f-gentoo.patch
+++ /dev/null
@@ -1,63 +0,0 @@
---- a/Makefile
-+++ b/Makefile 2003-10-12 02:25:31.000000000 +0000
-@@ -4,7 +4,7 @@
-
- ### Sources
-
--SOURCE_FILES=file_io.h file_io.c in_buffer.h in_buffer.c parse_ifo.h parse_ifo.c s_types.h main.c vstrip.h vstrip.c
-+SOURCE_FILES=file_io.h file_io.c in_buffer.h in_buffer.c parse_ifo.h parse_ifo.c s_types.h main.c vstrip.h vstrip.c dvd2avi_plugin.c
-
- ### Objects and executables
-
-@@ -27,8 +27,8 @@
-
- ### Details
-
--vstrip : file_io.o in_buffer.o main.o parse_ifo.o vstrip.o
-- $(CC) -g file_io.o in_buffer.o main.o parse_ifo.o vstrip.o -o vstrip
-+vstrip : file_io.o in_buffer.o main.o parse_ifo.o vstrip.o dvd2avi_plugin.o
-+ $(CC) $(LDFLAGS) file_io.o in_buffer.o main.o parse_ifo.o vstrip.o dvd2avi_plugin.o -o vstrip -lm
- file_io.o : s_types.h file_io.h file_io.c
- in_buffer.o : s_types.h file_io.h in_buffer.h in_buffer.c
- main.o : s_types.h file_io.h vstrip.h main.c
---- a/dvd2avi_plugin.c
-+++ b/dvd2avi_plugin.c 2003-10-12 02:29:23.000000000 +0000
-@@ -6,13 +6,17 @@
-
- *************************************************************************/
-
-+#include <string.h>
-+#include <stdlib.h>
- #include <stdio.h>
--#include <io.h>
-+#include <sys/io.h>
- #include <fcntl.h>
- #include "s_types.h"
- #include "vstrip.h"
- #include "dvd2avi_plugin.h"
-
-+#define max(a,b) a < b ? b : a
-+
- bool dvd2avi_process(byte *data, tp_vs_streaminfo const si, void *user_data)
- {
- t_dvd2avi* d2v = (t_dvd2avi *)user_data;
-@@ -206,7 +210,7 @@
- fp = _open(fname, _O_BINARY | _O_RDONLY); // check size
- if (fp != -1)
- {
-- __int64 fposition = _filelengthi64(fp);
-+ __int64_t fposition = lseek64(fp, 0, SEEK_END);
-
- lba = (dword)(fposition / fio_SECTOR_SIZE);
- _close(fp);
---- a/file_io.c
-+++ b/file_io.c 2003-10-12 02:24:46.000000000 +0000
-@@ -32,7 +32,7 @@
- fp = _open(name, _O_BINARY | _O_RDONLY); // check size
- if (fp != -1)
- {
-- __int64 fposition = _filelengthi64(fp);
-+ __int64_t fposition = lseek64(fp, 0, SEEK_END);
-
- f->written_to = fposition > 0;
- if (fposition > 0)
diff --git a/media-video/vstrip/metadata.xml b/media-video/vstrip/metadata.xml
deleted file mode 100644
index 716be526394b..000000000000
--- a/media-video/vstrip/metadata.xml
+++ /dev/null
@@ -1,7 +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>
-</maintainer>
-</pkgmetadata>
diff --git a/media-video/vstrip/vstrip-0.8f.ebuild b/media-video/vstrip/vstrip-0.8f.ebuild
deleted file mode 100644
index 9e768fa5e9f9..000000000000
--- a/media-video/vstrip/vstrip-0.8f.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit edos2unix toolchain-funcs
-
-DESCRIPTION="A program to split non-css dvd vobs into individual chapters"
-HOMEPAGE="http://www.maven.de/code"
-SRC_URI="http://files.digital-digest.com/downloads/files/encode/vStrip_${PV/./}.zip"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~ppc ~x86"
-
-BDEPEND="app-arch/unzip"
-
-S="${WORKDIR}/${PN}"
-
-src_prepare() {
- eapply "${FILESDIR}"/${P}-gentoo.patch
- edos2unix *.c *.h
-
- local f
- for f in *.c *.h ; do
- echo >> "${f}" || die
- done
-
- default
-}
-
-src_compile() {
- emake CFLAGS="${CFLAGS} -D__UNIX__" CC="$(tc-getCC)"
-}
-
-src_install() {
- dobin vstrip
-}
diff --git a/media-video/webcamoid/Manifest b/media-video/webcamoid/Manifest
index ad57f210f814..0de73a37e10d 100644
--- a/media-video/webcamoid/Manifest
+++ b/media-video/webcamoid/Manifest
@@ -1,6 +1,6 @@
DIST webcamoid-9.0.0.tar.gz 9257331 BLAKE2B df7044650c92fd1e557043e2a721079dcc2531a59fb9859c19e02f95bd091fb33cec5e69bbc323baf8c11faad404824f875afe643e9d21085d3496a78acc04f4 SHA512 0de39dc6a5bc3fb8d6477728d971bca933c57e354a6d041389b33c3e48ec7c7912007f6f87bc9be5db303f58ddc5143bb28dc1b475c9ca361f579e1532b515a4
DIST webcamoid-9.1.1.tar.gz 9288681 BLAKE2B 2444240c6ed90eac761c26860c2aabf2467578fec7eca1d488dad3adff63b1638525ff677c9f7d8a49971c9158f245b826390c45251697c7310fde32787998b4 SHA512 aebf413a358ee3397712d0a0935da0b4a8ae595019197450e1c2cd4ac33f9afc16e174ab06d0f8ca9c7fba25c6d71de14cbbdf36ad8f7bfb55428a432e06bb90
EBUILD webcamoid-9.0.0-r1.ebuild 1942 BLAKE2B 88c603e7ae76ac807729c680205698ec7eafb25dfe3b79c52c6d5d5c000b32d5ecedaa0aa4f2473083226b52e3819659ee74807a61420d7c8b5b754cf8216645 SHA512 1dc39423350cf0cbcfefa98fab112715375d53946c2e448c88df900a5ac1849c5df2abde8c6677c2263caabfd90716a7b18a491e82b2903bee925ae730d9c8b7
-EBUILD webcamoid-9.1.1.ebuild 2242 BLAKE2B de99d3c90f6a5f025d393d8ab2944131259667cf9b3ff82e531f370ef7411075c0495ce99142579f400a4b67347e9b234ab2233cb217a1d93a9a5beb7cedfabe SHA512 58d34e96d62245c9621d4aee99b970286854abc187307b398abefe9ed300c129255bac208e8f2811b1f9873963cef35b5ebd8448552603f877049fe15fa296c3
-EBUILD webcamoid-9999.ebuild 2242 BLAKE2B de99d3c90f6a5f025d393d8ab2944131259667cf9b3ff82e531f370ef7411075c0495ce99142579f400a4b67347e9b234ab2233cb217a1d93a9a5beb7cedfabe SHA512 58d34e96d62245c9621d4aee99b970286854abc187307b398abefe9ed300c129255bac208e8f2811b1f9873963cef35b5ebd8448552603f877049fe15fa296c3
+EBUILD webcamoid-9.1.1.ebuild 2370 BLAKE2B bab09ef659dc8b388bcda1e824767cefeac22a85c605e4b95c4977404a52765cfd64822e97dd3cb949a6c7a9a0a660ee68c58558d7ca4fc94a5fa8afdb64f037 SHA512 3a13460753f3da633b6d2dd9dca4e0ed618578abb9e298b6924175db89e1d9d001c12724002cef9c570551a4b2bf9ed2ed3a75c0a0cd3a85f587e129f251298b
+EBUILD webcamoid-9999.ebuild 2308 BLAKE2B 75204087fa0ed5370d587cf56400cf5241dc2dac9b348317001c0eda44c7585ffaf3d91069b553d4c7bbd3eb67d111a641bfda2ad56bba82b8149c5f2e203719 SHA512 a0ac94014bf839f2feed51c7a7c8581d36d33809e48751bcc4b5f9c5ebf1c7b0bb2a70b7ac7418734d0c47a26c1c26fb2371c3e4823f7c6e60d1735711610738
MISC metadata.xml 678 BLAKE2B 028401bc59fc788005dc114d893c2331d0ab12c26bc86492ea35285152e101e85ef6f51f500e870af5ffba6c5e35cf7fc31a2a70b5f060f326018e7c66a58e75 SHA512 73020b100d9863e747d9b8666c220768e850bb208ff1b4b258d6604cc3b00257bcb71b216d3276f747de14580bc5cd4515c93a097bffbe057ab26eeece0fae34
diff --git a/media-video/webcamoid/webcamoid-9.1.1.ebuild b/media-video/webcamoid/webcamoid-9.1.1.ebuild
index c539d8831d38..012242abe5a0 100644
--- a/media-video/webcamoid/webcamoid-9.1.1.ebuild
+++ b/media-video/webcamoid/webcamoid-9.1.1.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-inherit cmake xdg
+inherit cmake flag-o-matic xdg
DESCRIPTION="Full featured webcam capture application"
HOMEPAGE="https://webcamoid.github.io"
@@ -52,6 +52,11 @@ RDEPEND="${COMMON_DEPEND}
"
src_configure() {
+ # -Werror=odr
+ # https://bugs.gentoo.org/927104
+ # https://github.com/webcamoid/webcamoid/issues/702
+ filter-lto
+
#Disable git in package source. If not disabled the cmake configure process will show
#a lot of "fatal not a git repository" errors
sed -i 's|find_program(GIT_BIN git)|#find_program(GIT_BIN git)|' libAvKys/cmake/ProjectCommons.cmake || die
diff --git a/media-video/webcamoid/webcamoid-9999.ebuild b/media-video/webcamoid/webcamoid-9999.ebuild
index c539d8831d38..2bcfa8ebd343 100644
--- a/media-video/webcamoid/webcamoid-9999.ebuild
+++ b/media-video/webcamoid/webcamoid-9999.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-inherit cmake xdg
+inherit cmake flag-o-matic xdg
DESCRIPTION="Full featured webcam capture application"
HOMEPAGE="https://webcamoid.github.io"
@@ -24,23 +24,16 @@ IUSE="alsa ffmpeg gstreamer jack libuvc oss portaudio pulseaudio qtaudio qtcamer
REQUIRED_USE="v4lutils? ( v4l )"
COMMON_DEPEND="
- dev-qt/qtconcurrent:5
- dev-qt/qtcore:5
- dev-qt/qtdbus:5
- dev-qt/qtdeclarative:5
- dev-qt/qtgui:5
- dev-qt/qtnetwork:5
- dev-qt/qtopengl:5
- dev-qt/qtquickcontrols2:5
- dev-qt/qtsvg:5
- dev-qt/qtwidgets:5
+ dev-qt/qtbase:6[concurrent,dbus,gui,network,opengl,widgets]
+ dev-qt/qtdeclarative:6
+ dev-qt/qtsvg:6
ffmpeg? ( media-video/ffmpeg:= )
gstreamer? ( >=media-libs/gstreamer-1.6.0 )
jack? ( virtual/jack )
libuvc? ( media-libs/libuvc )
pulseaudio? ( media-libs/libpulse )
- qtaudio? ( dev-qt/qtmultimedia:5 )
- qtcamera? ( dev-qt/qtmultimedia:5 )
+ qtaudio? ( dev-qt/qtmultimedia:6 )
+ qtcamera? ( dev-qt/qtmultimedia:6 )
sdl? ( media-libs/libsdl2 )
v4l? ( media-libs/libv4l )
"
@@ -52,6 +45,11 @@ RDEPEND="${COMMON_DEPEND}
"
src_configure() {
+ # -Werror=odr
+ # https://bugs.gentoo.org/927104
+ # https://github.com/webcamoid/webcamoid/issues/702
+ filter-lto
+
#Disable git in package source. If not disabled the cmake configure process will show
#a lot of "fatal not a git repository" errors
sed -i 's|find_program(GIT_BIN git)|#find_program(GIT_BIN git)|' libAvKys/cmake/ProjectCommons.cmake || die
@@ -64,6 +62,7 @@ src_configure() {
"-DNOPIPEWIRE=1"
"-DNOPORTAUDIO=1" # PortAudio not packaged for gentoo
"-DNOALSA=$(usex alsa 0 1)"
+ "-DNOQTAUDIO=$(usex qtaudio 0 1)"
"-DNOQTCAMERA=$(usex qtcamera 0 1)"
"-DNOFFMPEG=$(usex ffmpeg 0 1)"
"-DNOGSTREAMER=$(usex gstreamer 0 1)"
diff --git a/media-video/wireplumber/Manifest b/media-video/wireplumber/Manifest
index 39e4519b9216..29d461b69341 100644
--- a/media-video/wireplumber/Manifest
+++ b/media-video/wireplumber/Manifest
@@ -1,8 +1,9 @@
-AUX wireplumber-0.4.15-config-disable-sound-server-parts.patch 783 BLAKE2B ed172805cd263fa0320563eb2440147e83567cad24bbec253a9d6cddedffd969056e2041110b96fd0b1e210cd7a45c25385174031496f6931f0a6c27257d23b2 SHA512 b1838315d3629560a93f4d1c7065419b592a7cffe69e898147e37b9e56ae0f0e5cb45f1ba0b5217af01f711fb0c20f547dc61797276892a593f644c48992ae47
AUX wireplumber-0.4.81-config-disable-sound-server-parts.patch 906 BLAKE2B 9373bb9cd9234d0fd68ccfba41011083aadd2dfcfd19d7cdda235f075b5cbe02562f8719153ea4e0412614401b3c7f6b60083b3578e9d9450b0a0dfc4b6222a4 SHA512 9fb2c5b5baeebde8dac9c6b6cc192cf85a4b70db3ef7a50233a7c064dc407c763d906063958a5dd06746e1730e2110803eb328105802ea5c4d6bb6d685376a93
-DIST wireplumber-0.4.17.tar.bz2 330355 BLAKE2B fec1cf75bec687bff1cb48416cf22503a79609cf11220ab9353d3b8038cae1db63da8aa269aca034c0c0afd474e2ba89b236bb7e778da111516e3b15d5449f02 SHA512 5efb71091f262458bc912f4670249fac3ef858021785fbee9be749564a3fa452b1c4ff75634132f7d44fd06d7fc5ea2debb022b1f4a8d5c9c3afa992fab7ecf8
-DIST wireplumber-0.5.2.tar.bz2 408788 BLAKE2B 51a9c0268212b353b54099d2d57fd93dec5b42d4ec3151f93b4ebd4df3f4478a19858ec8302af58558a9387afa647a00a0872d471f0f2ea5e681978afbdcf553 SHA512 4cd2949739b8af86f73e072fe8c1d8606fa9be77b6e109aa0825d516f11953c4811ae1162da07ae245f7039f4243d01c43b8e9c083d4e0be1066b180484abbfb
-EBUILD wireplumber-0.4.17-r1.ebuild 3785 BLAKE2B c6108e4a024cb00a63bcc82a215fc80b6fe106903339e892416a017bc6d607d7bfb268a305b30e82988f2dcda793ecfd8fcc4e15d2691b8a6ba248e93e72916a SHA512 4bcda3c48ba1a23f61f6678e26eb420aeb057c193cc61ba5d65cbf560e5d292fe4dbd7dddc8fa7bf1d6f190a6297d4969961b8358707707d6a067e58feb94f89
-EBUILD wireplumber-0.5.2.ebuild 3801 BLAKE2B 67265b726b3267c13a3bc1ac5f393c69a8c65c3dba98e7c647ac1099ce28d449540604c3b0ff9b053843b5adaaba0325558692fcfb15ba995aa12f61b9b66fe5 SHA512 97382f121b1e594b26a8b4fe35b01ac855b70e2c9747d18de7a6d56fc99fbe52bec34ccc315faf0dff297934f2cad7edd4b24a4a2570115c7292b1e63daba128
-EBUILD wireplumber-9999.ebuild 3801 BLAKE2B 67265b726b3267c13a3bc1ac5f393c69a8c65c3dba98e7c647ac1099ce28d449540604c3b0ff9b053843b5adaaba0325558692fcfb15ba995aa12f61b9b66fe5 SHA512 97382f121b1e594b26a8b4fe35b01ac855b70e2c9747d18de7a6d56fc99fbe52bec34ccc315faf0dff297934f2cad7edd4b24a4a2570115c7292b1e63daba128
+AUX wireplumber-0.5.6-bluetooth-only-autoswitch.patch 3011 BLAKE2B 95f015a1c9e2b93bece9377a6ba072fe581053a17dc8586bed1cfb5a5d4eaaaef1713ab5e289f903ac6b47c8bbf958bba2dfc675a866b6bdb2ccc2ce9690e5be SHA512 39b0efe430f6ca7922b01e3d161e8a19ae0773687efe37207f389b96e06973e3bae1149c7ade7ded67a452a64158095d013d2fc78c1d22c612d0313d34a9cebb
+AUX wireplumber-0.5.6-config-disable-sound-server-parts.patch 559 BLAKE2B 8d71fadbfb8b45eeede3c3b322e11205f4b31af098f0798cc9bef2ee92eb74ce5f811233981351097b4da02c70ce42bcd0033fd951a89f8bc8218468d09b235c SHA512 1e6deb4ce2452f22fca6722c22cfa6a61794f8612c9b2baf6ac1a9b4cf6bdae84e3685e1d8957db3121d304fd5842de47a0f319b755dc349f354f55e118d4750
+DIST wireplumber-0.5.3.tar.bz2 411081 BLAKE2B 627cb0adaddd512e2b5f2e706b622972232f76000d690837da5f03a3628669b99c4768de6590ec378684311915626de7ac3316bda1f5d1152c9df448ec41e389 SHA512 1c62f7f919242b2a9586ff6a532f214b564bcf10c838eae4a64078edf6fd461fc65f364c8af79150e33b86594331446516a1a4c926bb245a4b2ba2d9f63f7243
+DIST wireplumber-0.5.6.tar.bz2 415566 BLAKE2B 7f5323ddea415bac31bbb5f05b711e52bd631d9e6c4b22b6055055761a19c0a4c16a36a90ecd0f90c3fbfaddad8be57e823ad0b97327569e94074bee21d5e31c SHA512 58b18c1c1f1040e9954de75488a82ff7504fb908f7e5d57dd219f3479612551c94a1384d399a99b983f66859560aaf71c8ab9414318e48abb6f8cd3b88fcecc8
+EBUILD wireplumber-0.5.3.ebuild 3957 BLAKE2B 1ec67fc3d874a7ce13c0e49e13bcddd5d3abcc19d4d419883b5a53d71fbb3b8c7e7c272cee55e5e348540464e4feaba7e99267c813fedf9d6e4a69a5f16b0b99 SHA512 c37f1a8cb7570a766396647bd15368b9b20ba16f81881facc9e6d6ea02abbcf895d9b8cac8d2f46b4944ed7d156d4bfd5cfdcef8e62fd9395834234765ce6e53
+EBUILD wireplumber-0.5.6-r1.ebuild 4009 BLAKE2B 656bcbfd86fcb883e233dde228164c7a945659bea4628ce9d4bf3f5496205e16c1b1ecf3feb129836e78cdafff6b26953085e14b09b7ec78601b13bce80eab56 SHA512 7864d7f58f430fe4451d1f752cccc5bcf209bfcceb62983573a30eacfef8f817ef07329c36385a5543b6c1d9bcf1ef065869a0fd403d03b172ac1657f1f14a8c
+EBUILD wireplumber-9999.ebuild 3962 BLAKE2B 18dab254c1892c125e4bba512d54b3b060f127793c6618be2d462f626d1123b7c01c3e67a14625344b5ab5cfb567045179cc42467ccbbd85dc614b5f904303a3 SHA512 39047bf258ae5d4c7621993eecceebba1f7fb18719638e762cb78336ba15cbc284b884fae6d86d427eb5ffe824066dd045ec11168f04dcbd923441df7b97e7e8
MISC metadata.xml 719 BLAKE2B 7ad70a19cbc55cb0c399cbc1c8c56a3bab16d2dd477a285a3c142793af3704a8dd6648f6cfa0b9aa6fd8338c9cddd93cc565356a8a2e5031a6874b46ac66c2ee SHA512 a4617e6176a4dab7491103858ed5f663b8dda2a6cd97c348cc274ac959df813a811f70963487ccb670999fd51d107726762d872ce42290d02ea6ed24ea021e55
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.5.2.ebuild b/media-video/wireplumber/wireplumber-0.5.3.ebuild
index ea1b71883dbb..896cdf6df63b 100644
--- a/media-video/wireplumber/wireplumber-0.5.2.ebuild
+++ b/media-video/wireplumber/wireplumber-0.5.3.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"
@@ -95,6 +95,13 @@ src_configure() {
meson_src_configure
}
+src_install() {
+ meson_src_install
+
+ mv "${ED}"/usr/share/doc/wireplumber/* "${ED}"/usr/share/doc/${PF} || die
+ rmdir "${ED}"/usr/share/doc/wireplumber || die
+}
+
pkg_postinst() {
if systemd_is_booted ; then
ewarn "pipewire-media-session.service is no longer installed. You must switch"
diff --git a/media-video/wireplumber/wireplumber-0.4.17-r1.ebuild b/media-video/wireplumber/wireplumber-0.5.6-r1.ebuild
index 747c967706dc..1122490df73a 100644
--- a/media-video/wireplumber/wireplumber-0.4.17-r1.ebuild
+++ b/media-video/wireplumber/wireplumber-0.5.6-r1.ebuild
@@ -14,6 +14,9 @@ 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"
@@ -23,11 +26,8 @@ else
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"
+SLOT="0/0.5"
IUSE="elogind system-service systemd test"
REQUIRED_USE="
@@ -46,21 +46,16 @@ BDEPEND="
sys-devel/gettext
test? ( sys-apps/dbus )
"
-
DEPEND="
${LUA_DEPS}
- >=dev-libs/glib-2.62
- >=media-video/pipewire-0.3.68:=
+ >=dev-libs/glib-2.68
+ >=media-video/pipewire-1.0.5-r1:=
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}
+RDEPEND="
+ ${DEPEND}
system-service? (
acct-user/pipewire
acct-group/pipewire
@@ -70,7 +65,12 @@ RDEPEND="${DEPEND}
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
+ # 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.5.6-config-disable-sound-server-parts.patch
+
+ "${FILESDIR}"/${P}-bluetooth-only-autoswitch.patch
)
src_configure() {
@@ -78,9 +78,11 @@ src_configure() {
-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
+ # 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)
@@ -95,6 +97,13 @@ src_configure() {
meson_src_configure
}
+src_install() {
+ meson_src_install
+
+ mv "${ED}"/usr/share/doc/wireplumber/* "${ED}"/usr/share/doc/${PF} || die
+ rmdir "${ED}"/usr/share/doc/wireplumber || die
+}
+
pkg_postinst() {
if systemd_is_booted ; then
ewarn "pipewire-media-session.service is no longer installed. You must switch"
@@ -109,6 +118,7 @@ pkg_postinst() {
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"
diff --git a/media-video/wireplumber/wireplumber-9999.ebuild b/media-video/wireplumber/wireplumber-9999.ebuild
index ea1b71883dbb..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() {
@@ -95,6 +95,13 @@ src_configure() {
meson_src_configure
}
+src_install() {
+ meson_src_install
+
+ mv "${ED}"/usr/share/doc/wireplumber/* "${ED}"/usr/share/doc/${PF} || die
+ rmdir "${ED}"/usr/share/doc/wireplumber || die
+}
+
pkg_postinst() {
if systemd_is_booted ; then
ewarn "pipewire-media-session.service is no longer installed. You must switch"
diff --git a/media-video/x264-encoder/Manifest b/media-video/x264-encoder/Manifest
index 44ff2075f03f..487720e021b4 100644
--- a/media-video/x264-encoder/Manifest
+++ b/media-video/x264-encoder/Manifest
@@ -1,6 +1,8 @@
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
EBUILD x264-encoder-0.0.20220222.ebuild 2146 BLAKE2B 5aa96436f28c6943e59f2fb8d1b061bb66ebaac901268b73c3651259346d1f1aa429c2f4f4a29bc6b1de7accc093f0e80166a4a7f1d98f0b95cd8065fed94238 SHA512 3a1c20eb9f93ad24c48d7bc5dc7e01195adef29ae90bff6b648f0f8a919a76b2210ea33e4b626aaeefe002e18a7cda684719e2657e6a29014425315b7b649ef7
EBUILD x264-encoder-0.0.20231114.ebuild 2207 BLAKE2B d40d41cd4ea540b2bfe5224345488e0c02bd2fe17081f38b947185d9e06dabe1ffbd3606e3f4b95363f6846a1d2dbbcb0bea28ae7bd500d839e176163edddb8f SHA512 1576b40aa709c903f63f337214ad977fea2fae0d4f6b3890e04149ef73dee1bd0c0e5de6dfdc926ee3088219e8cfca67dd13ef446d37e8b90c624246bd147cd4
-EBUILD x264-encoder-9999.ebuild 2209 BLAKE2B 59667c3997a0e43ab3ff4453ba434a7a6cefd9587f4aabac28e08cb31828bb7038e5a65e2ecbb063f392d9c5ff4c6654c27a89a2f944a335daaf84adb0a7a251 SHA512 2eb37cb0932dc828c23c87b9e9dc14f0066a24fa14f6b239941b6a0a8bd47fe02cd373efa77e6d07006703d967470f3011f4fef683baa31f47c9df051354e041
+EBUILD x264-encoder-0.0.20240513.ebuild 2209 BLAKE2B 20b35fde815abff94a7d0a9d1bab9de138a9caecd2f70ad8303c21e979fd4ef5021688fe9f4a0bbba6b39946d0fc2346944d37c320435c7198fab7cb83291cbb SHA512 7fc1e1bf72e48a7b6a6c8a98f329f728605ae353d7f2fe9314be28331d179ec71b2350b833d7b56e4e9b8d5b2539f5b6118b3855012f13208fb855340c5a7a14
+EBUILD x264-encoder-9999.ebuild 2209 BLAKE2B 20b35fde815abff94a7d0a9d1bab9de138a9caecd2f70ad8303c21e979fd4ef5021688fe9f4a0bbba6b39946d0fc2346944d37c320435c7198fab7cb83291cbb SHA512 7fc1e1bf72e48a7b6a6c8a98f329f728605ae353d7f2fe9314be28331d179ec71b2350b833d7b56e4e9b8d5b2539f5b6118b3855012f13208fb855340c5a7a14
MISC metadata.xml 531 BLAKE2B fbf3d1b3460773bd6cb8deaa7df7d1da8bd9597d8c1c1da2ea19fc8ced206f3424b4f10af6d019941a2a1e2974c53f21db1dc47a2062c6dae401e514051c58a8 SHA512 1a36bbd77bb5e526a42fe35382fef906d741fd51b0569c2255191222c4cf006e12767228ae0fdda9bf32f72cdb24cc1f250b6bd7e57aadb50a3bc09624a2e0c0
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/Manifest b/media-video/xvid4conf/Manifest
index afe487c2afd6..b8d135a4edfd 100644
--- a/media-video/xvid4conf/Manifest
+++ b/media-video/xvid4conf/Manifest
@@ -1,3 +1,3 @@
DIST xvid4conf-1.12.tar.gz 133494 BLAKE2B cafe728bd85d2f34ba382d672d38b60378e632358ea7a03b9e3599c8a415517c6a84678a04383fbb2480e3ef35890a134c8fb6aa98eeeea8aac2fe9566282fc9 SHA512 277b081563b3e9ec2e3c78cf0ea7c504acf0585c0184ee359d0174be38c4c32b931360ce543193df3b323083d21a58d2ff94380647773c71eebed6928c857f57
-EBUILD xvid4conf-1.12.ebuild 429 BLAKE2B 70d5fa25d37f06ed47c9a552935beb46151593d6008ac39c7099ef604ce3039ff2b5831045165bdcf60687b689f9f5a0ec75478975ca72505e12487857b66fff SHA512 6a4fcb03f0458cf8894f5ce0f086bf6d3d7344cb4de99ca622376a5cd7ce46a086b2f3a5a480bc04f82561a28f6dde27272adbeca2d7f0e459e01e8e3c71eee2
+EBUILD xvid4conf-1.12.ebuild 423 BLAKE2B 963933a20993cd58bac1bf86244f244d9881231e1592db105b1d73d7edd6fa4931a72c6ed7c2f0f521ef707a386135607c6dfd361d538d0b881d48510960cc2b SHA512 0ed39d4587f780dbe74a19e93dadb3089bef10da6374d686f5c9dd36c58a9438846e0b7c91b804093d6e4179db54a57a2e2ac22b49e8b9aba1fb0a6fdb78c4d3
MISC metadata.xml 222 BLAKE2B 96fcf0d83a18e2c1f4611d550e7e2123a06fe8b3b2890cb5757284d8fc7d3bebdf1aeb4f82affbc7c51268749cac9fdcbf43888e3bec0e68e1b6548a3f6eca76 SHA512 c3657a6bf2503e6585ee53453bf0ba26b5eed2e894342087358b5f4306a960db915de61036b6c8dc57cdb7a7f3326d57ff3badf7b3ecefaa99291289a73997de
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 fbb65f8eada6..e8ca1f2bd7fd 100644
--- a/media-video/yle-dl/Manifest
+++ b/media-video/yle-dl/Manifest
@@ -1,5 +1,3 @@
-DIST yle-dl-20240130.tar.gz 77787 BLAKE2B b0dd82813a3defb6305cd5b6529d5c5558a0c82d7c8ba9714e836b1d98a09bdad27882c975ca8a98b26a6188194157586fef882437c486bf4c7f480677fc386f SHA512 d803c6703987f4fbd787c608830398ff4081407349146d7fc98de2387f0313e6354b27b1c6d3de14a7a4bc7d44c30d05c63708cc7f780a7534e15f193f988138
-DIST yle-dl-20240429.tar.gz 78464 BLAKE2B d42eaf30bb93125c00007072c1c96fbadccc755bbac3bd11599b58a7b5aad2b1fc0ab06aadfb83a3c66155f7fe1d271f54ad929ea3047758b8719987b74800fa SHA512 73a0eedbfafe97ab9c9857c088d309462e70f916de78be0d2b5399cec8ad50bee5701f0748d07e92dc2c3dca2a73273f367948dd7dd571dd022bce68bcc5f010
-EBUILD yle-dl-20240130.ebuild 1645 BLAKE2B dfaf08491d68989ca75e38acb9affe10072e6a63ef1ff220223a9bf3cbf8c72bb0b21bb30cf7f93927d1cb81774f09c7501267f7f0f229eb331bb32268c575d3 SHA512 be707b7dc0923fe99fbe35de6f1fdec25697691b0e9ac280cc4eb0ec38283f57ad57e423209ef641ddb22df6e3d1d8b453d4acfbdce16bbed068c6ce03bf2fcc
-EBUILD yle-dl-20240429.ebuild 1645 BLAKE2B dfaf08491d68989ca75e38acb9affe10072e6a63ef1ff220223a9bf3cbf8c72bb0b21bb30cf7f93927d1cb81774f09c7501267f7f0f229eb331bb32268c575d3 SHA512 be707b7dc0923fe99fbe35de6f1fdec25697691b0e9ac280cc4eb0ec38283f57ad57e423209ef641ddb22df6e3d1d8b453d4acfbdce16bbed068c6ce03bf2fcc
+DIST yle-dl-20240806.tar.gz 79725 BLAKE2B c09d8ee7ca7f9db30433fb1cfa2ecf7ea2d791a56661341d059c917a498b9a60d7db277a4a186523eb841f0543d07d8caeb8c1adcf4804051e3196cbba4e2e4a SHA512 21b3cbddbdf058b75a5bb1afca0a2ca3573b99a18a85185458227d82f291028c4796e27f53a7a72b07cdd96ef1606ddac6dd467ebe8d1004ad4e9f4e0e62f17e
+EBUILD yle-dl-20240806.ebuild 1645 BLAKE2B 2e8453168ce7ed9399880b4cd514c4ab58cde113eadc9d0999af157922c6d0f821f0d7e1fd9f4bac071411c76f158b783543546d16174a793298a75497b79a82 SHA512 57c7ff304c52eaf16b06d4b2e61a2fb426303798b623a3392a2c2e727f80b0fa9fb717073187d906efd50e4dfe80be953349c9d29e21a64e35a186fb00b4031d
MISC metadata.xml 363 BLAKE2B b27761ed00c4849b5e9a0c51fdf699ab7e1589acc017be236339e8e5044fbe05ad62ad8c7104f6e9e43de0779ad6f9f3fe4144fc57376d87d0304f7c7c3fe7cf SHA512 1b061009279fcf8271bec4958ddb93d93e1455686e42d623a64ef51a65e4f852d23873c59d5e547bbf66d6c596f542fd29f78de5c7b33f484918b01beb76dc92
diff --git a/media-video/yle-dl/yle-dl-20240429.ebuild b/media-video/yle-dl/yle-dl-20240429.ebuild
deleted file mode 100644
index d879b645e845..000000000000
--- a/media-video/yle-dl/yle-dl-20240429.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..12} )
-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
-}
diff --git a/media-video/yle-dl/yle-dl-20240130.ebuild b/media-video/yle-dl/yle-dl-20240806.ebuild
index d879b645e845..63252b50ca2d 100644
--- a/media-video/yle-dl/yle-dl-20240130.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