summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'media-video')
-rw-r--r--media-video/aegisub/Manifest1
-rw-r--r--media-video/aegisub/aegisub-3.3.3.ebuild155
-rw-r--r--media-video/aegisub/aegisub-9999.ebuild56
-rw-r--r--media-video/aegisub/files/3.3.3/aegisub-3.3.3-support-system-gtest.patch89
-rw-r--r--media-video/aegisub/files/aegisub-9999-git.patch61
-rw-r--r--media-video/aegisub/metadata.xml4
-rw-r--r--media-video/amdgpu-pro-amf/Manifest9
-rw-r--r--media-video/amdgpu-pro-amf/amdgpu-pro-amf-1.4.24.1376756-r1.ebuild58
-rw-r--r--media-video/amdgpu-pro-amf/amdgpu-pro-amf-1.4.24.1384496-r1.ebuild58
-rw-r--r--media-video/amdgpu-pro-amf/amdgpu-pro-amf-1.4.24.1395274.ebuild57
-rw-r--r--media-video/amdgpu-pro-amf/amdgpu-pro-amf-1.4.24.1452059.ebuild (renamed from media-video/amdgpu-pro-amf/amdgpu-pro-amf-1.4.24.1420323.ebuild)2
-rw-r--r--media-video/amdgpu-pro-amf/amdgpu-pro-amf-1.4.29.1580631.ebuild (renamed from media-video/amdgpu-pro-amf/amdgpu-pro-amf-1.4.26.1438747.ebuild)4
-rw-r--r--media-video/amdgpu-pro-amf/amdgpu-pro-amf-1.4.33.1718238.ebuild (renamed from media-video/amdgpu-pro-amf/amdgpu-pro-amf-1.4.26.1462318.ebuild)8
-rw-r--r--media-video/aravis/metadata.xml3
-rw-r--r--media-video/bino/Manifest1
-rw-r--r--media-video/bino/bino-1.6.7.ebuild66
-rw-r--r--media-video/bino/bino-1.6.8.ebuild5
-rw-r--r--media-video/bino/bino-2.0.ebuild3
-rw-r--r--media-video/bino/files/bino-1.6.7-gcc11.patch30
-rw-r--r--media-video/blind/blind-1.1-r1.ebuild (renamed from media-video/blind/blind-1.1.ebuild)20
-rw-r--r--media-video/bluray_info/Manifest2
-rw-r--r--media-video/bluray_info/bluray_info-1.10.ebuild24
-rw-r--r--media-video/bluray_info/bluray_info-1.3.ebuild16
-rw-r--r--media-video/bluray_info/metadata.xml16
-rw-r--r--media-video/chaplin/chaplin-1.10-r3.ebuild (renamed from media-video/chaplin/chaplin-1.10-r2.ebuild)5
-rw-r--r--media-video/chaplin/metadata.xml3
-rw-r--r--media-video/cheese/Manifest3
-rw-r--r--media-video/cheese/cheese-41.1.ebuild100
-rw-r--r--media-video/cheese/cheese-44.1.ebuild (renamed from media-video/cheese/cheese-43.0.ebuild)4
-rw-r--r--media-video/cheese/files/41.1-thumb-view-update-for-new-gnome-desktop-API.patch49
-rw-r--r--media-video/cheese/files/cheese-3.38.0-buildfix.patch17
-rw-r--r--media-video/devedeng/Manifest1
-rw-r--r--media-video/devedeng/devedeng-4.17.0-r2.ebuild (renamed from media-video/devedeng/devedeng-4.17.0-r1.ebuild)9
-rw-r--r--media-video/devedeng/devedeng-4.18.0.ebuild (renamed from media-video/devedeng/devedeng-4.17.0.ebuild)13
-rw-r--r--media-video/devedeng/files/devedeng-4.17.0-locale_install.patch15
-rw-r--r--media-video/devedeng/metadata.xml2
-rw-r--r--media-video/dirac/dirac-1.0.2-r2.ebuild6
-rw-r--r--media-video/droidcam/Manifest6
-rw-r--r--media-video/droidcam/droidcam-2.0.0-r3.ebuild (renamed from media-video/droidcam/droidcam-1.8.2-r1.ebuild)57
-rw-r--r--media-video/droidcam/droidcam-2.1.1.ebuild (renamed from media-video/droidcam/droidcam-1.8.2_p20220831.ebuild)54
-rw-r--r--media-video/droidcam/droidcam-2.1.2.ebuild148
-rw-r--r--media-video/droidcam/droidcam-2.1.3.ebuild148
-rw-r--r--media-video/droidcam/files/droidcam-1.8.2-makefile-fixes.patch61
-rw-r--r--media-video/droidcam/files/droidcam-1.8.2_p20220831-makefile-fixes.patch68
-rw-r--r--media-video/droidcam/files/droidcam-2.0.0-libusbmuxd-20.patch13
-rw-r--r--media-video/dvbsnoop/dvbsnoop-1.4.50-r2.ebuild4
-rw-r--r--media-video/dvbsnoop/dvbsnoop-1.4.50-r3.ebuild29
-rw-r--r--media-video/dvd9to5/Manifest1
-rw-r--r--media-video/dvd9to5/dvd9to5-0.1.7.ebuild25
-rw-r--r--media-video/dvd9to5/metadata.xml7
-rw-r--r--media-video/dvd_info/Manifest3
-rw-r--r--media-video/dvd_info/dvd_info-1.1.ebuild16
-rw-r--r--media-video/dvd_info/dvd_info-1.15.ebuild22
-rw-r--r--media-video/dvd_info/dvd_info-1.16.ebuild30
-rw-r--r--media-video/dvd_info/dvd_info-9999.ebuild30
-rw-r--r--media-video/dvd_info/metadata.xml16
-rw-r--r--media-video/dvdauthor/dvdauthor-0.7.2-r3.ebuild (renamed from media-video/dvdauthor/dvdauthor-0.7.2-r2.ebuild)31
-rw-r--r--media-video/dvdauthor/files/dvdauthor-0.7.2-freetype-pkgconfig.patch (renamed from media-video/dvdauthor/files/dvdauthor-freetype_pkgconfig.patch)2
-rw-r--r--media-video/dvdauthor/metadata.xml1
-rw-r--r--media-video/dvdbackup/dvdbackup-0.4.2-r2.ebuild2
-rw-r--r--media-video/dvdrip/Manifest1
-rw-r--r--media-video/dvdrip/dvdrip-0.98.11-r5.ebuild86
-rw-r--r--media-video/dvdrip/files/dvdrip-0.98.11-r5-fix_parallel_make.patch28
-rw-r--r--media-video/dvdrip/metadata.xml11
-rw-r--r--media-video/dvdstyler/dvdstyler-3.2.1-r1.ebuild77
-rw-r--r--media-video/dvdstyler/files/wx32.patch12
-rw-r--r--media-video/dvgrab/dvgrab-3.5-r2.ebuild (renamed from media-video/dvgrab/dvgrab-3.5-r1.ebuild)12
-rw-r--r--media-video/ffcast/ffcast-2.4.8.ebuild15
-rw-r--r--media-video/ffcast/metadata.xml2
-rw-r--r--media-video/ffdiaporama/Manifest11
-rw-r--r--media-video/ffdiaporama/ffdiaporama-2.2_pre20140701-r2.ebuild77
-rw-r--r--media-video/ffdiaporama/ffdiaporama-2.2_pre20230525.ebuild (renamed from media-video/ffdiaporama/ffdiaporama-2.2_pre20221007.ebuild)6
-rw-r--r--media-video/ffdiaporama/ffdiaporama-2.2_pre20240203.ebuild (renamed from media-video/ffdiaporama/ffdiaporama-2.2_pre20220403.ebuild)8
-rw-r--r--media-video/ffdiaporama/metadata.xml2
-rw-r--r--media-video/ffmpeg-chromium/Manifest7
-rw-r--r--media-video/ffmpeg-chromium/ffmpeg-chromium-120.ebuild (renamed from media-video/ffmpeg-chromium/ffmpeg-chromium-106.ebuild)50
-rw-r--r--media-video/ffmpeg-chromium/ffmpeg-chromium-121.ebuild (renamed from media-video/ffmpeg-chromium/ffmpeg-chromium-102.ebuild)67
-rw-r--r--media-video/ffmpeg-chromium/ffmpeg-chromium-123.ebuild247
-rw-r--r--media-video/ffmpeg-chromium/ffmpeg-chromium-124.ebuild247
-rw-r--r--media-video/ffmpeg-chromium/ffmpeg-chromium-125.ebuild248
-rw-r--r--media-video/ffmpeg-chromium/files/ffmpeg-chromium-100.patch27
-rw-r--r--media-video/ffmpeg-chromium/files/ffmpeg-chromium-120.patch27
-rw-r--r--media-video/ffmpeg-chromium/metadata.xml17
-rw-r--r--media-video/ffmpeg/Manifest19
-rw-r--r--media-video/ffmpeg/ffmpeg-4.4.4-r9.ebuild (renamed from media-video/ffmpeg/ffmpeg-4.4.3.ebuild)78
-rw-r--r--media-video/ffmpeg/ffmpeg-6.0-r12.ebuild (renamed from media-video/ffmpeg/ffmpeg-5.1.2-r1.ebuild)68
-rw-r--r--media-video/ffmpeg/ffmpeg-6.0.1-r4.ebuild (renamed from media-video/ffmpeg/ffmpeg-4.2.8.ebuild)175
-rw-r--r--media-video/ffmpeg/ffmpeg-6.1.1-r5.ebuild (renamed from media-video/ffmpeg/ffmpeg-4.2.7.ebuild)284
-rw-r--r--media-video/ffmpeg/ffmpeg-9999.ebuild197
-rw-r--r--media-video/ffmpeg/files/chromium-r2.patch41
-rw-r--r--media-video/ffmpeg/files/chromium.c8
-rw-r--r--media-video/ffmpeg/files/ffmpeg-4.2.7-libsdl2-new-version-scheme.patch26
-rw-r--r--media-video/ffmpeg/files/ffmpeg-4.4.3-get_cabac_inline_x86-32-bit.patch24
-rw-r--r--media-video/ffmpeg/files/ffmpeg-4.4.4-fix-build-svt-av1-1.5.0.patch44
-rw-r--r--media-video/ffmpeg/files/ffmpeg-4.4.4-glslang.patch25
-rw-r--r--media-video/ffmpeg/files/ffmpeg-4.4.4-opencl-parallel-gmake-fix.patch12
-rw-r--r--media-video/ffmpeg/files/ffmpeg-4.4.4-wint-conversion-vulkan.patch30
-rw-r--r--media-video/ffmpeg/files/ffmpeg-5.1.2-get_cabac_inline_x86-32-bit.patch25
-rw-r--r--media-video/ffmpeg/files/ffmpeg-5.1.3-binutils-2.41.patch76
-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-fix-lto-type-mismatch.patch41
-rw-r--r--media-video/ffmpeg/files/ffmpeg-6.0-libplacebo-remove-deprecated-field.patch103
-rw-r--r--media-video/ffmpeg/files/ffmpeg-6.0-wint-conversion-vulkan.patch43
-rw-r--r--media-video/ffmpeg/files/ffmpeg-6.0.1-alignment.patch114
-rw-r--r--media-video/ffmpeg/files/ffmpeg-6.0.1-libjxl-0.9.patch112
-rw-r--r--media-video/ffmpeg/files/ffmpeg-6.1-gcc-14.patch13
-rw-r--r--media-video/ffmpeg/files/ffmpeg-6.1-opencl-parallel-gmake-fix.patch12
-rw-r--r--media-video/ffmpeg/files/ffmpeg-6.1-wint-conversion.patch88
-rw-r--r--media-video/ffmpeg/files/ffmpeg-6.1.1-vulkan-rename.patch127
-rw-r--r--media-video/ffmpeg/metadata.xml15
-rw-r--r--media-video/ffmpeg2theora/Manifest1
-rw-r--r--media-video/ffmpeg2theora/ffmpeg2theora-0.30-r1.ebuild55
-rw-r--r--media-video/ffmpeg2theora/files/ffmpeg2theora-0.29-swr.patch24
-rw-r--r--media-video/ffmpeg2theora/files/ffmpeg2theora-0.29-underlinking.patch21
-rw-r--r--media-video/ffmpeg2theora/metadata.xml10
-rw-r--r--media-video/ffmpegthumbnailer/ffmpegthumbnailer-2.2.2-r1.ebuild2
-rw-r--r--media-video/ffmpegthumbnailer/ffmpegthumbnailer-2.2.2.ebuild49
-rw-r--r--media-video/gaupol/Manifest3
-rw-r--r--media-video/gaupol/files/gaupol-1.12-fix-prefix.patch30
-rw-r--r--media-video/gaupol/gaupol-1.13.ebuild (renamed from media-video/gaupol/gaupol-1.11-r1.ebuild)9
-rw-r--r--media-video/gaupol/gaupol-1.14.1.ebuild69
-rw-r--r--media-video/gnome-video-effects/Manifest1
-rw-r--r--media-video/gnome-video-effects/gnome-video-effects-0.5.0-r1.ebuild (renamed from media-video/gnome-video-effects/gnome-video-effects-0.5.0.ebuild)3
-rw-r--r--media-video/gnome-video-effects/gnome-video-effects-0.6.0.ebuild26
-rw-r--r--media-video/gpac/Manifest2
-rw-r--r--media-video/gpac/files/gpac-2.2.0-configure.patch104
-rw-r--r--media-video/gpac/files/gpac-2.2.0-ffmpeg6-deux.patch46
-rw-r--r--media-video/gpac/files/gpac-2.2.0-ffmpeg6.patch24
-rw-r--r--media-video/gpac/gpac-2.0.0.ebuild6
-rw-r--r--media-video/gpac/gpac-2.2.0.ebuild152
-rw-r--r--media-video/gpac/gpac-2.2.1-r1.ebuild152
-rw-r--r--media-video/gpac/gpac-9999.ebuild21
-rw-r--r--media-video/guvcview/Manifest1
-rw-r--r--media-video/guvcview/guvcview-2.0.8.ebuild4
-rw-r--r--media-video/guvcview/guvcview-2.1.0.ebuild77
-rw-r--r--media-video/h264enc/h264enc-10.4.7-r1.ebuild4
-rw-r--r--media-video/handbrake/Manifest1
-rw-r--r--media-video/handbrake/files/handbrake-9999-dont-search-for-python.patch26
-rw-r--r--media-video/handbrake/handbrake-1.4.2-r2.ebuild2
-rw-r--r--media-video/handbrake/handbrake-1.5.1-r1.ebuild (renamed from media-video/handbrake/handbrake-1.5.1.ebuild)12
-rw-r--r--media-video/handbrake/handbrake-1.6.1.ebuild163
-rw-r--r--media-video/handbrake/handbrake-9999.ebuild67
-rw-r--r--media-video/handbrake/metadata.xml9
-rw-r--r--media-video/hevc-hm/Manifest1
-rw-r--r--media-video/hevc-hm/hevc-hm-17.0.ebuild41
-rw-r--r--media-video/hevc-hm/metadata.xml (renamed from media-video/subtitleripper/metadata.xml)3
-rw-r--r--media-video/jellyfin-media-player/Manifest3
-rw-r--r--media-video/jellyfin-media-player/jellyfin-media-player-1.8.1.ebuild85
-rw-r--r--media-video/jellyfin-media-player/jellyfin-media-player-1.9.0.ebuild69
-rw-r--r--media-video/jellyfin-media-player/jellyfin-media-player-1.9.1.ebuild69
-rw-r--r--media-video/jellyfin-media-player/metadata.xml13
-rw-r--r--media-video/jellyfin-web-bin/Manifest2
-rw-r--r--media-video/jellyfin-web-bin/jellyfin-web-bin-10.8.10.ebuild28
-rw-r--r--media-video/jellyfin-web-bin/jellyfin-web-bin-10.8.9.ebuild28
-rw-r--r--media-video/jellyfin-web-bin/metadata.xml (renamed from media-video/jubler/metadata.xml)9
-rw-r--r--media-video/jellyfin-web-jmp-bin/Manifest1
-rw-r--r--media-video/jellyfin-web-jmp-bin/jellyfin-web-jmp-bin-10.8.9.ebuild24
-rw-r--r--media-video/jellyfin-web-jmp-bin/metadata.xml13
-rw-r--r--media-video/jubler/Manifest1
-rw-r--r--media-video/jubler/jubler-5.1.ebuild71
-rw-r--r--media-video/libva-utils/Manifest6
-rw-r--r--media-video/libva-utils/files/libva-utils-2.15.0-fix-threads-option.patch29
-rw-r--r--media-video/libva-utils/libva-utils-2.20.0.ebuild (renamed from media-video/libva-utils/libva-utils-2.16.0.ebuild)18
-rw-r--r--media-video/libva-utils/libva-utils-2.20.1.ebuild (renamed from media-video/libva-utils/libva-utils-2.15.0.ebuild)24
-rw-r--r--media-video/libva-utils/libva-utils-2.21.0.ebuild (renamed from media-video/libva-utils/libva-utils-2.14.0.ebuild)39
-rw-r--r--media-video/libva-utils/libva-utils-9999.ebuild22
-rw-r--r--media-video/lxdvdrip/files/lxdvdrip-1.77-clang-16-build.patch38
-rw-r--r--media-video/lxdvdrip/lxdvdrip-1.77-r2.ebuild51
-rw-r--r--media-video/makemkv/Manifest4
-rw-r--r--media-video/makemkv/makemkv-1.17.6.ebuild (renamed from media-video/makemkv/makemkv-1.17.2.ebuild)6
-rw-r--r--media-video/mediainfo/Manifest3
-rw-r--r--media-video/mediainfo/mediainfo-22.09.ebuild7
-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/mediainfo/mediainfo-23.10.ebuild92
-rw-r--r--media-video/mjpegtools/files/mjpegtools-2.2.1-c++17-no-auto_ptr-fix.patch20
-rw-r--r--media-video/mjpegtools/files/mjpegtools-2.2.1-c++17-register-fix.patch17
-rw-r--r--media-video/mjpegtools/mjpegtools-2.2.1-r1.ebuild (renamed from media-video/mjpegtools/mjpegtools-2.2.1.ebuild)13
-rw-r--r--media-video/mjpg-streamer/mjpg-streamer-0_pre20200524-r2.ebuild97
-rw-r--r--media-video/mkclean/metadata.xml2
-rw-r--r--media-video/mkvtoolnix/Manifest6
-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-83.0.0-fix-disable-gui.patch88
-rw-r--r--media-video/mkvtoolnix/mkvtoolnix-77.0.ebuild (renamed from media-video/mkvtoolnix/mkvtoolnix-72.0.0.ebuild)7
-rw-r--r--media-video/mkvtoolnix/mkvtoolnix-81.0.ebuild167
-rw-r--r--media-video/mkvtoolnix/mkvtoolnix-83.0.ebuild139
-rw-r--r--media-video/mkvtoolnix/mkvtoolnix-9999.ebuild64
-rw-r--r--media-video/motion/Manifest2
-rw-r--r--media-video/motion/files/motion-4.5.1-fix-gettext-0.22-format-specifier.patch34
-rw-r--r--media-video/motion/files/motion-4.5.1-webp-underlinking.patch24
-rw-r--r--media-video/motion/files/motion.initd-r514
-rw-r--r--media-video/motion/files/motion.service-r41
-rw-r--r--media-video/motion/motion-4.5.1-r3.ebuild (renamed from media-video/motion/motion-4.3.2-r1.ebuild)16
-rw-r--r--media-video/motion/motion-4.5.1-r4.ebuild89
-rw-r--r--media-video/movit/movit-1.6.3-r1.ebuild4
-rw-r--r--media-video/mpeg-tools/files/0001-fix-K-R-C-on-various-counts.patch98
-rw-r--r--media-video/mpeg-tools/files/0001-fix-missing-prototype-for-internal-jpeg-ABI.patch30
-rw-r--r--media-video/mpeg-tools/mpeg-tools-1.5b-r5.ebuild11
-rw-r--r--media-video/mpgtx/mpgtx-1.3.1-r2.ebuild2
-rw-r--r--media-video/mplayer/Manifest4
-rw-r--r--media-video/mplayer/files/mplayer-1.5_p20230618-gcc13.patch11
-rw-r--r--media-video/mplayer/files/prepare_mplayer.sh42
-rw-r--r--media-video/mplayer/mplayer-1.5_p20230215.ebuild (renamed from media-video/mplayer/mplayer-1.5.ebuild)17
-rw-r--r--media-video/mplayer/mplayer-1.5_p20230618.ebuild650
-rw-r--r--media-video/mplayer/mplayer-1.5_p20231206.ebuild646
-rw-r--r--media-video/mplayer/mplayer-9999.ebuild43
-rw-r--r--media-video/mpv/Manifest6
-rw-r--r--media-video/mpv/files/mpv-0.37.0-drm-fix.patch41
-rw-r--r--media-video/mpv/files/mpv-0.37.0-ffmpeg7.patch45
-rw-r--r--media-video/mpv/metadata.xml6
-rw-r--r--media-video/mpv/mpv-0.34.1-r1.ebuild359
-rw-r--r--media-video/mpv/mpv-0.37.0-r1.ebuild (renamed from media-video/mpv/mpv-0.35.0-r1.ebuild)109
-rw-r--r--media-video/mpv/mpv-0.37.0.ebuild (renamed from media-video/mpv/mpv-0.35.1.ebuild)105
-rw-r--r--media-video/mpv/mpv-0.38.0.ebuild275
-rw-r--r--media-video/mpv/mpv-9999.ebuild107
-rw-r--r--media-video/noad/Manifest1
-rw-r--r--media-video/noad/noad-0.8.7-r1.ebuild (renamed from media-video/noad/noad-0.8.7.ebuild)5
-rw-r--r--media-video/noad/noad-0.8.8.ebuild69
-rw-r--r--media-video/obs-studio/Manifest16
-rw-r--r--media-video/obs-studio/metadata.xml2
-rw-r--r--media-video/obs-studio/obs-studio-30.1.0.ebuild (renamed from media-video/obs-studio/obs-studio-29.0.0-r1.ebuild)95
-rw-r--r--media-video/obs-studio/obs-studio-30.1.1.ebuild (renamed from media-video/obs-studio/obs-studio-28.1.2-r1.ebuild)108
-rw-r--r--media-video/obs-studio/obs-studio-9999.ebuild108
-rw-r--r--media-video/obs-v4l2sink/Manifest1
-rw-r--r--media-video/obs-v4l2sink/files/obs-v4l2sink-0.1.0_p20181012-installdirs.patch22
-rw-r--r--media-video/obs-v4l2sink/metadata.xml11
-rw-r--r--media-video/obs-v4l2sink/obs-v4l2sink-0.1.0_p20181012-r2.ebuild43
-rw-r--r--media-video/openshot/Manifest1
-rw-r--r--media-video/openshot/openshot-2.6.1.ebuild16
-rw-r--r--media-video/openshot/openshot-3.1.1.ebuild55
-rw-r--r--media-video/parole/Manifest2
-rw-r--r--media-video/parole/parole-4.18.1.ebuild (renamed from media-video/parole/parole-4.16.0.ebuild)39
-rw-r--r--media-video/pipewire/Manifest8
-rw-r--r--media-video/pipewire/files/0.3.64/0001-spa-Fix-audioconvert-overflow-when-scaling.patch65
-rw-r--r--media-video/pipewire/files/0.3.64/0002-filter-chain-fix-AVX-dsp_sum-index-increment.patch22
-rw-r--r--media-video/pipewire/files/0.3.64/0003-keys-don-t-remove-deprecated-symbols-by-default.patch61
-rw-r--r--media-video/pipewire/files/0.3.65/0001-modules-also-install-module-combine-stream.patch21
-rw-r--r--media-video/pipewire/files/0.3.65/0002-spa-bluez5-fix-dependency-on-glib-in-bluez5_deps.patch28
-rw-r--r--media-video/pipewire/files/1.0.0/0001-fix-compile-with-no-examples.patch59
-rw-r--r--media-video/pipewire/files/1.0.0/0002-fix-x11-bell-segfault.patch29
-rw-r--r--media-video/pipewire/files/gentoo-pipewire-launcher.152
-rw-r--r--media-video/pipewire/files/gentoo-pipewire-launcher.in29
-rw-r--r--media-video/pipewire/files/gentoo-pipewire-launcher.in-r384
-rw-r--r--media-video/pipewire/files/gentoo-sound-server-enable-audio-bluetooth.conf6
-rw-r--r--media-video/pipewire/files/pipewire-0.3.63-alsa-node-target.patch28
-rw-r--r--media-video/pipewire/files/pipewire-0.3.63-bluetooth-typo.patch21
-rw-r--r--media-video/pipewire/files/pipewire-0.3.63-bluez-ldac_abr.patch22
-rw-r--r--media-video/pipewire/files/pipewire-0.3.63-rate-update.patch39
-rw-r--r--media-video/pipewire/files/pipewire.desktop-r112
-rw-r--r--media-video/pipewire/files/pipewire.desktop-r2 (renamed from media-video/pipewire/files/pipewire.desktop)2
-rw-r--r--media-video/pipewire/metadata.xml2
-rw-r--r--media-video/pipewire/pipewire-0.3.64.ebuild439
-rw-r--r--media-video/pipewire/pipewire-1.0.0-r1.ebuild (renamed from media-video/pipewire/pipewire-0.3.65-r3.ebuild)369
-rw-r--r--media-video/pipewire/pipewire-1.0.3.ebuild (renamed from media-video/pipewire/pipewire-0.3.64-r2.ebuild)393
-rw-r--r--media-video/pipewire/pipewire-1.0.4.ebuild (renamed from media-video/pipewire/pipewire-0.3.63-r3.ebuild)408
-rw-r--r--media-video/pipewire/pipewire-1.0.5.ebuild512
-rw-r--r--media-video/pipewire/pipewire-9999.ebuild380
-rw-r--r--media-video/pitivi/Manifest2
-rw-r--r--media-video/pitivi/pitivi-2023.03-r2.ebuild (renamed from media-video/pitivi/pitivi-2022.06.ebuild)4
-rw-r--r--media-video/popcorntime-bin/Manifest5
-rw-r--r--media-video/popcorntime-bin/popcorntime-bin-0.5.0-r1.ebuild (renamed from media-video/popcorntime-bin/popcorntime-bin-0.4.8.ebuild)29
-rw-r--r--media-video/popcorntime-bin/popcorntime-bin-0.5.1.ebuild102
-rw-r--r--media-video/projectx/projectx-0.91.0.10-r4.ebuild4
-rw-r--r--media-video/qmplay2/Manifest5
-rw-r--r--media-video/qmplay2/files/qmplay2-22.10.23-fix-includes.patch44
-rw-r--r--media-video/qmplay2/metadata.xml2
-rw-r--r--media-video/qmplay2/qmplay2-24.03.16.ebuild (renamed from media-video/qmplay2/qmplay2-22.08.21.ebuild)57
-rw-r--r--media-video/qmplay2/qmplay2-24.04.02.ebuild (renamed from media-video/qmplay2/qmplay2-22.10.23.ebuild)61
-rw-r--r--media-video/qmplay2/qmplay2-24.04.07.ebuild140
-rw-r--r--media-video/qmplay2/qmplay2-9999.ebuild57
-rw-r--r--media-video/rav1e/Manifest480
-rw-r--r--media-video/rav1e/rav1e-0.5.1.ebuild244
-rw-r--r--media-video/rav1e/rav1e-0.6.6.ebuild307
-rw-r--r--media-video/rav1e/rav1e-0.7.1.ebuild319
-rw-r--r--media-video/rav1e/rav1e-9999.ebuild273
-rw-r--r--media-video/recordmydesktop/recordmydesktop-0.3.8.1-r6.ebuild11
-rw-r--r--media-video/rovclock/rovclock-0.6e-r2.ebuild (renamed from media-video/rovclock/rovclock-0.6e-r1.ebuild)14
-rw-r--r--media-video/rtmpdump/rtmpdump-9999.ebuild3
-rw-r--r--media-video/shotcut/Manifest4
-rw-r--r--media-video/shotcut/shotcut-22.04.25-r1.ebuild66
-rw-r--r--media-video/shotcut/shotcut-23.09.29.ebuild (renamed from media-video/shotcut/shotcut-22.09.23.ebuild)37
-rw-r--r--media-video/shotcut/shotcut-24.02.19.ebuild52
-rw-r--r--media-video/shotcut/shotcut-9999.ebuild37
-rw-r--r--media-video/simplescreenrecorder/simplescreenrecorder-0.4.4-r3.ebuild (renamed from media-video/simplescreenrecorder/simplescreenrecorder-0.4.4-r1.ebuild)6
-rw-r--r--media-video/simplescreenrecorder/simplescreenrecorder-0.4.4.ebuild99
-rw-r--r--media-video/simplescreenrecorder/simplescreenrecorder-9999.ebuild6
-rw-r--r--media-video/smplayer/Manifest2
-rw-r--r--media-video/smplayer/metadata.xml10
-rw-r--r--media-video/smplayer/smplayer-23.6.0.ebuild (renamed from media-video/smplayer/smplayer-22.2.0.ebuild)28
-rw-r--r--media-video/sonic-snap/sonic-snap-1.7-r1.ebuild28
-rw-r--r--media-video/subliminal/files/subliminal-2.1.0-rarfile-4.0-compat.patch25
-rw-r--r--media-video/subliminal/subliminal-2.1.0-r2.ebuild (renamed from media-video/subliminal/subliminal-2.1.0-r1.ebuild)21
-rw-r--r--media-video/subliminal/subliminal-9999.ebuild20
-rw-r--r--media-video/subsync/subsync-0.0.1.ebuild5
-rw-r--r--media-video/subtitlecomposer/Manifest3
-rw-r--r--media-video/subtitlecomposer/files/subtitlecomposer-0.7.1-ffmpeg-5.patch65
-rw-r--r--media-video/subtitlecomposer/files/subtitlecomposer-0.7.1-gles-support.patch122
-rw-r--r--media-video/subtitlecomposer/files/subtitlecomposer-0.7.1-tests-optional.patch27
-rw-r--r--media-video/subtitlecomposer/subtitlecomposer-0.8.0.ebuild (renamed from media-video/subtitlecomposer/subtitlecomposer-0.7.1.ebuild)33
-rw-r--r--media-video/subtitleripper/Manifest1
-rw-r--r--media-video/subtitleripper/files/subtitleripper-0.3.4-glibc210.patch21
-rw-r--r--media-video/subtitleripper/files/subtitleripper-0.3.4-libpng.patch25
-rw-r--r--media-video/subtitleripper/files/subtitleripper-0.3.4-linkingorder.patch28
-rw-r--r--media-video/subtitleripper/files/subtitleripper-0.3.4-respect-ldflags.patch28
-rw-r--r--media-video/subtitleripper/subtitleripper-0.3.4-r4.ebuild58
-rw-r--r--media-video/tivodecode/tivodecode-0.2_pre4.ebuild14
-rw-r--r--media-video/totem/totem-43.0-r1.ebuild (renamed from media-video/totem/totem-43.0.ebuild)6
-rw-r--r--media-video/transcode/Manifest3
-rw-r--r--media-video/transcode/files/transcode-1.1.7-gcc10-fno-common.patch48
-rw-r--r--media-video/transcode/files/transcode-1.1.7-glibc-2.32.patch58
-rw-r--r--media-video/transcode/files/transcode-1.1.7-swresample.patch23
-rw-r--r--media-video/transcode/metadata.xml16
-rw-r--r--media-video/transcode/transcode-1.1.7-r6.ebuild148
-rw-r--r--media-video/ttcut/metadata.xml1
-rw-r--r--media-video/ttcut/ttcut-0.19.6_p1-r1.ebuild5
-rw-r--r--media-video/ushare/Manifest2
-rw-r--r--media-video/ushare/ushare-2.1.ebuild (renamed from media-video/ushare/ushare-1.1a_p20210221.ebuild)8
-rw-r--r--media-video/v4l2loopback/Manifest3
-rw-r--r--media-video/v4l2loopback/v4l2loopback-0.12.7.ebuild (renamed from media-video/v4l2loopback/v4l2loopback-0.12.5-r1.ebuild)18
-rw-r--r--media-video/v4l2loopback/v4l2loopback-0.13.1.ebuild59
-rw-r--r--media-video/v4l2loopback/v4l2loopback-9999.ebuild19
-rw-r--r--media-video/vamps/files/vamps-0.99.2-musl.patch146
-rw-r--r--media-video/vamps/vamps-0.99.2-r2.ebuild3
-rw-r--r--media-video/vcdimager/vcdimager-2.0.1.ebuild18
-rw-r--r--media-video/vcsi/Manifest2
-rw-r--r--media-video/vcsi/metadata.xml3
-rw-r--r--media-video/vcsi/vcsi-7.0.16.ebuild (renamed from media-video/vcsi/vcsi-7.0.13-r1.ebuild)5
-rw-r--r--media-video/vdr/Manifest7
-rw-r--r--media-video/vdr/files/vdr-2.6.6_gentoo.patch60
-rw-r--r--media-video/vdr/vdr-2.2.0-r7.ebuild4
-rw-r--r--media-video/vdr/vdr-2.6.4.ebuild (renamed from media-video/vdr/vdr-2.6.3.ebuild)10
-rw-r--r--media-video/vdr/vdr-2.6.6.ebuild (renamed from media-video/vdr/vdr-2.6.1.ebuild)16
-rw-r--r--media-video/vidcutter/Manifest3
-rw-r--r--media-video/vidcutter/metadata.xml4
-rw-r--r--media-video/vidcutter/vidcutter-6.0.5.1_p20230201.ebuild (renamed from media-video/vidcutter/vidcutter-6.0.5.1-r2.ebuild)20
-rw-r--r--media-video/vidcutter/vidcutter-9999.ebuild5
-rw-r--r--media-video/videotrans/videotrans-1.6.1-r2.ebuild4
-rw-r--r--media-video/vidify-audiosync/vidify-audiosync-0.3.0-r2.ebuild (renamed from media-video/vidify-audiosync/vidify-audiosync-0.3.0-r1.ebuild)9
-rw-r--r--media-video/vidify/vidify-2.2.6-r3.ebuild4
-rw-r--r--media-video/vlc/Manifest3
-rw-r--r--media-video/vlc/files/vlc-3.0.14-fix-live-address-api.patch53
-rw-r--r--media-video/vlc/files/vlc-3.0.17.3-dav1d-1.0.0.patch78
-rw-r--r--media-video/vlc/files/vlc-3.0.17.4-gcc13.patch20
-rw-r--r--media-video/vlc/files/vlc-3.0.18-drop-minizip-dep.patch38
-rw-r--r--media-video/vlc/files/vlc-3.0.20-c99-2.patch23
-rw-r--r--media-video/vlc/files/vlc-3.0.20-c99.patch150
-rw-r--r--media-video/vlc/files/vlc-9999-configure-lua-version.patch (renamed from media-video/vlc/files/vlc-configure_lua_version.patch)17
-rw-r--r--media-video/vlc/files/vlc-9999-fix-libtremor-libs.patch11
-rw-r--r--media-video/vlc/metadata.xml1
-rw-r--r--media-video/vlc/vlc-3.0.20-r10.ebuild (renamed from media-video/vlc/vlc-3.0.17.4-r2.ebuild)50
-rw-r--r--media-video/vlc/vlc-3.0.20-r5.ebuild (renamed from media-video/vlc/vlc-3.0.18.ebuild)39
-rw-r--r--media-video/vlc/vlc-3.0.9999.ebuild40
-rw-r--r--media-video/vlc/vlc-9999.ebuild44
-rw-r--r--media-video/vobcopy/Manifest2
-rw-r--r--media-video/vobcopy/metadata.xml11
-rw-r--r--media-video/vobcopy/vobcopy-1.2.0.ebuild29
-rw-r--r--media-video/vobcopy/vobcopy-1.2.1.ebuild21
-rw-r--r--media-video/webcamoid/Manifest2
-rw-r--r--media-video/webcamoid/files/webcamoid-8.7.1-gcc11.patch12
-rw-r--r--media-video/webcamoid/metadata.xml1
-rw-r--r--media-video/webcamoid/webcamoid-8.8.0.ebuild86
-rw-r--r--media-video/webcamoid/webcamoid-9.0.0-r1.ebuild (renamed from media-video/webcamoid/webcamoid-9.0.0.ebuild)18
-rw-r--r--media-video/webcamoid/webcamoid-9.1.1.ebuild84
-rw-r--r--media-video/webcamoid/webcamoid-9999.ebuild34
-rw-r--r--media-video/wireplumber/Manifest2
-rw-r--r--media-video/wireplumber/files/wireplumber-0.4.15-config-disable-sound-server-parts.patch (renamed from media-video/wireplumber/files/wireplumber-0.4.10-config-disable-sound-server-parts.patch)10
-rw-r--r--media-video/wireplumber/files/wireplumber-0.4.81-config-disable-sound-server-parts.patch27
-rw-r--r--media-video/wireplumber/wireplumber-0.4.17-r1.ebuild (renamed from media-video/wireplumber/wireplumber-0.4.13.ebuild)20
-rw-r--r--media-video/wireplumber/wireplumber-9999.ebuild24
-rw-r--r--media-video/x264-encoder/Manifest1
-rw-r--r--media-video/x264-encoder/x264-encoder-0.0.20231114.ebuild77
-rw-r--r--media-video/x264-encoder/x264-encoder-9999.ebuild25
-rw-r--r--media-video/xine-ui/files/xine-ui-0.99.13-configure-c99.patch77
-rw-r--r--media-video/xine-ui/xine-ui-0.99.13-r1.ebuild90
-rw-r--r--media-video/xine-ui/xine-ui-0.99.13.ebuild20
-rw-r--r--media-video/yle-dl/Manifest2
-rw-r--r--media-video/yle-dl/yle-dl-20240130.ebuild (renamed from media-video/yle-dl/yle-dl-20221231.ebuild)8
380 files changed, 12926 insertions, 6423 deletions
diff --git a/media-video/aegisub/Manifest b/media-video/aegisub/Manifest
index a7462e939c7d..3ca44ea3a341 100644
--- a/media-video/aegisub/Manifest
+++ b/media-video/aegisub/Manifest
@@ -1 +1,2 @@
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
diff --git a/media-video/aegisub/aegisub-3.3.3.ebuild b/media-video/aegisub/aegisub-3.3.3.ebuild
new file mode 100644
index 000000000000..1fcbd9356d02
--- /dev/null
+++ b/media-video/aegisub/aegisub-3.3.3.ebuild
@@ -0,0 +1,155 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+LUA_COMPAT=( luajit )
+LUA_REQ_USE="lua52compat"
+
+WX_GTK_VER=3.2-gtk3
+PLOCALES="ar be bg ca cs da de el es eu fa fi fr_FR gl hu id it ja ko nl pl pt_BR pt_PT ru sr_RS sr_RS@latin uk_UA vi zh_CN zh_TW"
+
+inherit autotools flag-o-matic lua-single plocale wxwidgets xdg-utils vcs-snapshot toolchain-funcs
+
+DESCRIPTION="Advanced subtitle editor"
+HOMEPAGE="http://www.aegisub.org/ https://github.com/wangqr/Aegisub"
+
+if [[ ${PV} == *9999 ]]; then
+ EGIT_REPO_URI="https://github.com/wangqr/${PN^}.git"
+ # Submodules are used to pull bundled libraries.
+ EGIT_SUBMODULES=()
+ inherit git-r3
+else
+ SRC_URI="https://github.com/wangqr/Aegisub/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="amd64 x86"
+fi
+LICENSE="BSD MIT"
+SLOT="0"
+IUSE="+alsa debug +fftw openal oss portaudio pulseaudio spell test +uchardet"
+RESTRICT="test"
+
+# aegisub bundles luabins (https://github.com/agladysh/luabins).
+# Unfortunately, luabins upstream is practically dead since 2010.
+# Thus unbundling luabins isn't worth the effort.
+RDEPEND="${LUA_DEPS}
+ x11-libs/wxGTK:${WX_GTK_VER}[X,opengl,debug?]
+ dev-libs/boost:=[icu,nls]
+ dev-libs/icu:=
+ media-libs/ffmpegsource:=
+ media-libs/fontconfig
+ media-libs/freetype
+ media-libs/libass:=[fontconfig]
+ sys-libs/zlib
+ virtual/libiconv
+ virtual/opengl
+ alsa? ( media-libs/alsa-lib )
+ fftw? ( >=sci-libs/fftw-3.3:= )
+ openal? ( media-libs/openal )
+ portaudio? ( =media-libs/portaudio-19* )
+ pulseaudio? ( media-libs/libpulse )
+ spell? ( app-text/hunspell:= )
+ uchardet? ( app-i18n/uchardet )
+"
+DEPEND="${RDEPEND}"
+# luarocks is only used as a command-line tool so there is no need to enforce
+# LUA_SINGLE_USEDEP on it. On the other hand, this means we must use version
+# bounds in order to make sure we use a version migrated to Lua eclasses.
+BDEPEND="dev-util/intltool
+ sys-devel/gettext
+ virtual/pkgconfig
+ test? (
+ ${RDEPEND}
+ >=dev-cpp/gtest-1.8.1
+ >=dev-lua/luarocks-3.4.0-r100
+ $(lua_gen_cond_dep '
+ dev-lua/busted[${LUA_USEDEP}]
+ ')
+ )
+"
+
+REQUIRED_USE="${LUA_REQUIRED_USE}
+ || ( alsa openal oss portaudio pulseaudio )"
+
+PATCHES=(
+ "${FILESDIR}/3.2.2_p20160518/${PN}-3.2.2_p20160518-fix-system-luajit-build.patch"
+ "${FILESDIR}/3.3.3/${PN}-3.3.3-support-system-gtest.patch"
+ "${FILESDIR}/3.2.2_p20160518/${PN}-3.2.2_p20160518-tests_luarocks_lua_version.patch"
+ "${FILESDIR}/3.2.2_p20160518/${PN}-3.2.2_p20160518-fix-boost-181-build.patch"
+)
+
+aegisub_check_compiler() {
+ if [[ ${MERGE_TYPE} != "binary" ]] && ! test-flag-CXX -std=c++14; then
+ die "Your compiler lacks C++14 support."
+ fi
+}
+
+pkg_pretend() {
+ aegisub_check_compiler
+}
+
+pkg_setup() {
+ aegisub_check_compiler
+ lua-single_pkg_setup
+}
+
+src_prepare() {
+ default_src_prepare
+
+ # Remove tests that require unavailable uuid Lua module.
+ rm automation/tests/modules/lfs.moon || die
+
+ remove_locale() {
+ rm "po/${1}.po" || die
+ }
+
+ plocale_find_changes 'po' '' '.po'
+ plocale_for_each_disabled_locale remove_locale
+
+ # See http://devel.aegisub.org/ticket/1914
+ config_rpath_update "${S}"/config.rpath
+
+ eautoreconf
+}
+
+src_configure() {
+ tc-export PKG_CONFIG
+ # Prevent access violations from OpenAL detection. See Gentoo bug 508184.
+ use openal && export agi_cv_with_openal="yes"
+
+ setup-wxwidgets
+ local myeconfargs=(
+ --disable-update-checker
+ --with-ffms2
+ --with-system-luajit
+ $(use_enable debug)
+ $(use_with alsa)
+ $(use_with fftw fftw3)
+ $(use_with openal)
+ $(use_with oss)
+ $(use_with portaudio)
+ $(use_with pulseaudio libpulse)
+ $(use_with spell hunspell)
+ $(use_with uchardet)
+ )
+ export FORCE_GIT_VERSION="v${PV}"
+ econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+ emake WITH_SYSTEM_GTEST=$(usex test)
+}
+
+src_test() {
+ emake test-automation
+ emake test-libaegisub
+}
+
+pkg_postinst() {
+ xdg_icon_cache_update
+ xdg_desktop_database_update
+}
+
+pkg_postrm() {
+ xdg_icon_cache_update
+ xdg_desktop_database_update
+}
diff --git a/media-video/aegisub/aegisub-9999.ebuild b/media-video/aegisub/aegisub-9999.ebuild
index 5805940589bd..208e6b0e5adb 100644
--- a/media-video/aegisub/aegisub-9999.ebuild
+++ b/media-video/aegisub/aegisub-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -6,21 +6,26 @@ EAPI=7
LUA_COMPAT=( luajit )
LUA_REQ_USE="lua52compat"
-WX_GTK_VER=3.0-gtk3
+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 lua-single plocale wxwidgets xdg-utils git-r3
+inherit autotools flag-o-matic lua-single plocale wxwidgets xdg-utils vcs-snapshot toolchain-funcs
DESCRIPTION="Advanced subtitle editor"
HOMEPAGE="http://www.aegisub.org/ https://github.com/wangqr/Aegisub"
-EGIT_REPO_URI="https://github.com/wangqr/${PN^}.git"
-# Submodules are used to pull bundled libraries.
-EGIT_SUBMODULES=()
+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=""
-IUSE="+alsa debug +fftw openal oss portaudio pulseaudio spell +uchardet"
+IUSE="+alsa debug +fftw openal oss portaudio pulseaudio spell test +uchardet"
RESTRICT="test"
# aegisub bundles luabins (https://github.com/agladysh/luabins).
@@ -41,24 +46,49 @@ 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 )
"
DEPEND="${RDEPEND}"
+# luarocks is only used as a command-line tool so there is no need to enforce
+# LUA_SINGLE_USEDEP on it. On the other hand, this means we must use version
+# bounds in order to make sure we use a version migrated to Lua eclasses.
BDEPEND="dev-util/intltool
sys-devel/gettext
virtual/pkgconfig
+ test? (
+ ${RDEPEND}
+ >=dev-cpp/gtest-1.8.1
+ >=dev-lua/luarocks-3.4.0-r100
+ $(lua_gen_cond_dep '
+ dev-lua/busted[${LUA_USEDEP}]
+ ')
+ )
"
REQUIRED_USE="${LUA_REQUIRED_USE}
|| ( alsa openal oss portaudio pulseaudio )"
PATCHES=(
- "${FILESDIR}/${P}-git.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"
)
+aegisub_check_compiler() {
+ if [[ ${MERGE_TYPE} != "binary" ]] && ! test-flag-CXX -std=c++14; then
+ die "Your compiler lacks C++14 support."
+ fi
+}
+
+pkg_pretend() {
+ aegisub_check_compiler
+}
+
pkg_setup() {
+ aegisub_check_compiler
lua-single_pkg_setup
}
@@ -82,6 +112,7 @@ src_prepare() {
}
src_configure() {
+ tc-export PKG_CONFIG
# Prevent access violations from OpenAL detection. See Gentoo bug 508184.
use openal && export agi_cv_with_openal="yes"
@@ -99,14 +130,13 @@ src_configure() {
$(use_with pulseaudio libpulse)
$(use_with spell hunspell)
$(use_with uchardet)
- --disable-compiler-flags
)
+ export FORCE_GIT_VERSION="v${PV}"
econf "${myeconfargs[@]}"
}
src_compile() {
- # Concurrent builds seem to break the build process.
- emake -j1
+ emake WITH_SYSTEM_GTEST=$(usex test)
}
src_test() {
diff --git a/media-video/aegisub/files/3.3.3/aegisub-3.3.3-support-system-gtest.patch b/media-video/aegisub/files/3.3.3/aegisub-3.3.3-support-system-gtest.patch
new file mode 100644
index 000000000000..ac7834e541d8
--- /dev/null
+++ b/media-video/aegisub/files/3.3.3/aegisub-3.3.3-support-system-gtest.patch
@@ -0,0 +1,89 @@
+commit 83f868ea8decbbe97891631fe142e84c883ee33d
+Author: Ilya Tumaykin <itumaykin@gmail.com>
+Date: Wed Jun 1 20:00:37 2016 +0300
+
+Allow to build and run tests with a system copy of gtest (googletest)
+
+Also add LIBS_UCHARDET to the mix only when uchardet is requested.
+
+Closes #1923
+
+Bug: http://devel.aegisub.org/ticket/1923
+---
+
+diff --git a/configure.ac b/configure.ac
+index 856e38993..197d0a788 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++11])
++ AC_CXX_FLAG([-std=c++14])
+
+ # -O* messes with debugging.
+ AS_IF([test x$enable_debug = xyes], [
+diff --git a/tests/Makefile b/tests/Makefile
+index 137430854..bafb59a0f 100644
+--- a/tests/Makefile
++++ b/tests/Makefile
+@@ -1,24 +1,46 @@
+ include $(dir $(lastword $(MAKEFILE_LIST)))../header.mk
+
++WITH_SYSTEM_GTEST ?= no
++
++ifeq (no, $(WITH_SYSTEM_GTEST))
+ GTEST_ROOT ?= $(TOP)vendor/googletest
+ GTEST_FILE := ${GTEST_ROOT}/src/gtest-all
++GTEST_CPPFLAGS := -I$(GTEST_ROOT) -I$(GTEST_ROOT)/include
++GTEST_LIBS := $(LIBS_PTHREAD)
++else
++GTEST_CPPFLAGS := $(shell ${PKG_CONFIG} --cflags-only-I gtest)
++GTEST_LIBS := $(shell ${PKG_CONFIG} --libs gtest)
++endif
++
++GTEST_CXXFLAGS := $(CFLAGS_PTHREAD)
+
+ run_PCH := $(d)support/tests_pre.h
+ run_CPPFLAGS := -I$(TOP)libaegisub/include -I$(TOP) -I$(d)support \
+- -I$(GTEST_ROOT) -I$(GTEST_ROOT)/include $(CPPFLAGS_BOOST) $(CFLAGS_LUA)
+-run_CXXFLAGS := -Wno-unused-value -Wno-sign-compare
+-run_LIBS := $(LIBS_BOOST) $(LIBS_ICU) $(LIBS_UCHARDET) $(LIBS_PTHREAD)
++ $(CPPFLAGS_BOOST) $(CFLAGS_LUA) $(GTEST_CPPFLAGS)
++run_CXXFLAGS := -Wno-unused-value -Wno-sign-compare $(GTEST_CXXFLAGS)
++run_LIBS := $(LIBS_BOOST) $(LIBS_ICU) $(LIBS_UCHARDET) $(LIBS_PTHREAD) $(GTEST_LIBS)
+ run_OBJ := \
+ $(patsubst %.cpp,%.o,$(wildcard $(d)tests/*.cpp)) \
+ $(d)support/main.o \
+ $(d)support/util.o \
+- $(TOP)lib/libaegisub.a \
+- $(GTEST_FILE).o
++ $(TOP)lib/libaegisub.a
++
++ifeq (yes, $(HAVE_UCHARDET))
++run_LIBS += $(LIBS_UCHARDET)
++endif
++
++ifeq (no, $(WITH_SYSTEM_GTEST))
++run_OBJ += $(GTEST_FILE).o
+
+ # This bit of goofiness is to make it only try to build the tests if google
+ # test can be found and silently skip it if not, by using $(wildcard) to check
+ # for file existence
+ PROGRAM += $(subst $(GTEST_FILE).cc,$(d)run,$(wildcard $(GTEST_FILE).cc))
++test: $(subst $(GTEST_FILE).cc,test-libaegisub,$(wildcard $(GTEST_FILE).cc))
++else
++PROGRAM += $(d)run
++test: test-libaegisub
++endif
+
+ ifeq (yes, $(BUILD_DARWIN))
+ run_LIBS += -framework ApplicationServices -framework Foundation
+@@ -31,6 +53,4 @@ gtest_filter ?= *
+ test-libaegisub: $(d)run $(d)data
+ cd $(TOP)tests; ./run --gtest_filter="$(gtest_filter)"
+
+-test: $(subst $(GTEST_FILE).cc,test-libaegisub,$(wildcard $(GTEST_FILE).cc))
+-
+ include $(TOP)Makefile.target
diff --git a/media-video/aegisub/files/aegisub-9999-git.patch b/media-video/aegisub/files/aegisub-9999-git.patch
deleted file mode 100644
index a5883336757b..000000000000
--- a/media-video/aegisub/files/aegisub-9999-git.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-diff --git a/Makefile.target b/Makefile.target
-index 516ef3c24..65de0e767 100644
---- a/Makefile.target
-+++ b/Makefile.target
-@@ -79,13 +79,13 @@ endif
- all: $(LIB_TARGETS)
-
- clean:
-- $(BIN_RM) -f $(OBJ) $(CLEANFILES) $(LIB_TARGETS)
-+ $(BIN_RM) -f -- $(OBJ) $(CLEANFILES) $(LIB_TARGETS)
-
- distclean: clean
-- $(BIN_RM) -rf $(DISTCLEANFILES) $(DEP)
-+ $(BIN_RM) -rf -- $(DISTCLEANFILES) $(DEP)
-
- depclean: clean
-- $(BIN_RM) -rf $(DEP)
-+ $(BIN_RM) -rf -- $(DEP)
-
- install:
-
-diff --git a/header.mk b/header.mk
-index 613b38ff1..2c238e125 100644
---- a/header.mk
-+++ b/header.mk
-@@ -5,15 +5,13 @@ TOP := $(abspath $(dir $(lastword $(MAKEFILE_LIST))))/
- include $(TOP)Makefile.inc
-
- subdirs := \
-- automation \
- libaegisub \
- packages/desktop \
- po \
- src \
- tests \
-- tools \
- vendor/luabins \
-- vendor/luajit
-+ tools
-
- subdirs := $(addprefix $(TOP),$(addsuffix /Makefile,$(subdirs)))
-
-diff --git a/m4macros/ac_agi.m4 b/m4macros/ac_agi.m4
-index e45a54767..1bd0120ed 100644
---- a/m4macros/ac_agi.m4
-+++ b/m4macros/ac_agi.m4
-@@ -20,12 +20,14 @@ AC_DEFUN([AC_AGI_LINK],[
- aegisub_save_CPPFLAGS="$CPPFLAGS"
- CPPFLAGS="$CPPFLAGS $4"
- LIBS="$LIBS $5"
-+ AC_LANG_PUSH(C++)
- AC_CHECK_HEADER([$3], [agi_cv_header="yes"], [agi_cv_header="no"])
- AS_IF([test "x$agi_cv_header" = xyes],
- [AC_CACHE_CHECK(
- [whether $1 works], [agi_cv_with_$2],
- [AC_LINK_IFELSE([AC_LANG_SOURCE([$6])], [eval agi_cv_with_$2="yes"], [eval agi_cv_with_$2="no"])])]
- [eval agi_cv_with_$2="no"])
-+ AC_LANG_POP(C++)
- CPPFLAGS="$aegisub_save_CPPFLAGS"
- LIBS="$aegisub_save_LIBS"
- ])
diff --git a/media-video/aegisub/metadata.xml b/media-video/aegisub/metadata.xml
index be8099ce66c5..331bf705f1d7 100644
--- a/media-video/aegisub/metadata.xml
+++ b/media-video/aegisub/metadata.xml
@@ -9,7 +9,7 @@
<flag name="uchardet">Enable charset discovery via <pkg>app-i18n/uchardet</pkg></flag>
</use>
<upstream>
- <bugs-to>http://devel.aegisub.org/wiki/NewTicket</bugs-to>
- <remote-id type="github">Aegisub/Aegisub</remote-id>
+ <bugs-to>https://github.com/wangqr/Aegisub/issues</bugs-to>
+ <remote-id type="github">wangqr/Aegisub</remote-id>
</upstream>
</pkgmetadata>
diff --git a/media-video/amdgpu-pro-amf/Manifest b/media-video/amdgpu-pro-amf/Manifest
index 3100766abb92..06cdc29d13c0 100644
--- a/media-video/amdgpu-pro-amf/Manifest
+++ b/media-video/amdgpu-pro-amf/Manifest
@@ -1,6 +1,3 @@
-DIST amdgpu-pro-amf-1.4.24.1376756.deb 1302168 BLAKE2B 706528317c317e0319e80decc8a9a59a0c55fed8c4c43c701ba93a2a503fbf5f2ee9fb44cfeb5bd582b013ebb8961514cb5b9faead8f24fdfe2b205f7d2dc656 SHA512 77740014e6bc2c91e822261e4fa247ac0e49747d6ff8af0c3b3046ec993c7c99621b55639ef18582021389a329e52ccc59edb85eb29d9e6a81da6986a487ec3e
-DIST amdgpu-pro-amf-1.4.24.1384496.deb 1304672 BLAKE2B a21e7d2cf9dc4fe139f87d5c61b4ac715e677fb23aa2cc3eb4a62e20776431d26e234d092d9b28ecad22de2f5acda1f21df394f3a51152c9fd36cdfddab78af2 SHA512 4620dda918196e67f99c8a1df8e3e487769bd3ad94881a3769e46a85a12648f50ba8520476c9eec9e982261354ff92f56803fd8731fa7a7e458670011426ce31
-DIST amdgpu-pro-amf-1.4.24.1395274.deb 1304984 BLAKE2B e1b51c6e9dfafcb677314ac881983372cc1d1f09b0112bbe842da06672da8f48e5bd5db358c8067fa23e8a5b4d110b2ea6d998c06357ed32e29accac8ba86c38 SHA512 e809ccf0b93fa8dc44320166ff549e10e1edc6556bb4bf48112de0f20c7e5dda761029aacfa0fd00def30cc647131eb55cf94f01414222c7891d2dad279d33f1
-DIST amdgpu-pro-amf-1.4.24.1420323.deb 1373976 BLAKE2B 64dbcbc079abf523f78663b01066bb74e12f60d56b4a2e7c6765e7b1755a84b1cf5cbe7fcdcc315b42fbb11cfafbf97b0705bb489bead8f84d07f4e81cd84bb6 SHA512 fbe3b24b65bf993dea5bc7d1f6abcb2d0eb938206183962dce1d4634538826e1f4d80f97ee09829af2e745e5f1f97c3bc1c2c8d7cfe4757009157e6996c4b195
-DIST amdgpu-pro-amf-1.4.26.1438747.deb 1501804 BLAKE2B 7be66469a0051fc4ba932d53a232db0487f94ca072580b0d2cc8b51aff2fd922430c632983cac5b02ccd5a9635c92c20b1fbb1d7b51b0425f107b51c4799e0b9 SHA512 f085b07437783295d60a5c1eb1ec46eeb2b6a912f0b80cfd7ab9f9b0c38d360dececcf18d763658af094697447d6486b37a2608c0913e2fd47d68797c085f634
-DIST amdgpu-pro-amf-1.4.26.1462318.deb 1502840 BLAKE2B 69dd0d0a0442a229081d14c733c5905efc91d88b47d18a5d65f5d131d8e0bfe1ff5dc4415d4932c9b227e26ee1f5f452bd3de97ed2be7773d856b5008e3061cf SHA512 8a789d07fdd3e027b343d2b6681b8eebd9974d3b7be59032b1dc1a4d07db4f8937f103feac404a50439cbf54a95f74ced59e9924e79a69006939085493946949
+DIST amdgpu-pro-amf-1.4.24.1452059.deb 1307216 BLAKE2B 2ecae593da961e2ff86e807c017a85fda5459458434c491e538f3845a12b0354e65da568550bbdebb47685aad6b7d22607b5f2a281b49718154ead6f92d30058 SHA512 9e3611ad3cad50da4aeeec2b14ad944e2ff7d83b9b104f65acf5e5915f74644fb25f74bfa51a5802dac828fa6c84e01351fbe58f14e1dde1145ba908d6a0445d
+DIST amdgpu-pro-amf-1.4.29.1580631.deb 1653852 BLAKE2B 5af5250c07e1b99ae8c1ee28507927e28ee7811929c789b5939a06f631b81155d6795e1392830945bf377f5298a5153e9af3541b2d94533661db394a059fb715 SHA512 07568c5e2f92f10274f7ac25a9d68539b8ce2e5d24c87e9b6a3aec2b8d5a32980c8fd802394dfa6eb421d3321dd60e07929e7f481578d23afcf623c5c9aa2fcc
+DIST amdgpu-pro-amf-1.4.33.1718238.deb 3311972 BLAKE2B 549ab0cae83e6014ef79ef70981cdb296cebee1cdeeb7d07258523018d9efa89e174fbabe537896e524b69064806dc12bf24aae29f291d76b5bddb3d2e203639 SHA512 ec5771eebe30d749e5fa753600a9fc02ca97b5023cbbd9f58ffbf657a5f6c4d1e2066da1974ad759c6d9089b233c25654fbb0ec019b34232445f9e4f53720388
diff --git a/media-video/amdgpu-pro-amf/amdgpu-pro-amf-1.4.24.1376756-r1.ebuild b/media-video/amdgpu-pro-amf/amdgpu-pro-amf-1.4.24.1376756-r1.ebuild
deleted file mode 100644
index 28e503e1d763..000000000000
--- a/media-video/amdgpu-pro-amf/amdgpu-pro-amf-1.4.24.1376756-r1.ebuild
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit unpacker
-
-MY_PV_HIGH=$(ver_cut 1)
-MY_PV_MIDDLE=$(ver_cut 2)
-MY_PV_LOW=$(ver_cut 3)
-MY_PV_REV=$(ver_cut 4)
-
-MY_PV="${MY_PV_HIGH}.${MY_PV_MIDDLE}.${MY_PV_LOW}"
-MY_PV_FULL="${MY_PV}-${MY_PV_REV}"
-
-MY_PN="amf-amdgpu-pro"
-
-PRO_VULKAN_PKG_VER="21.50.1"
-
-MY_LINK="https://repo.radeon.com/amdgpu/${PRO_VULKAN_PKG_VER}/ubuntu/pool/proprietary/a/${MY_PN}"
-
-DESCRIPTION="AMD's closed source Advanced Media Framework (AMF) driver"
-HOMEPAGE="https://www.amd.com/en/support"
-SRC_URI="${MY_LINK}/${MY_PN}_${MY_PV_FULL}_amd64.deb -> ${P}.deb"
-
-S="${WORKDIR}"
-
-RESTRICT="bindist mirror"
-
-LICENSE="AMD-GPU-PRO-EULA"
-SLOT="0"
-KEYWORDS="-* ~amd64"
-
-RDEPEND="
- media-libs/amdgpu-pro-vulkan
- media-libs/libglvnd
- x11-libs/libdrm
- x11-libs/libX11
-"
-
-QA_PREBUILT="
- usr/lib64/libamfrt64.so*
-"
-
-src_unpack() {
- mkdir "${S}/${PN}-amd64" || die
- cd "${S}/${PN}-amd64" || die
- unpack_deb "${DISTDIR}/${P}.deb"
-}
-
-src_install() {
- insinto "/usr/$(get_libdir)"
-
- # AMF
- doins "${S}/${PN}-amd64/opt/amdgpu-pro/lib/x86_64-linux-gnu/libamfrt64.so.${MY_PV}"
- dosym "libamfrt64.so.${MY_PV}" "/usr/$(get_libdir)/libamfrt64.so"
- dosym "libamfrt64.so.${MY_PV}" "/usr/$(get_libdir)/libamfrt64.so.1"
-}
diff --git a/media-video/amdgpu-pro-amf/amdgpu-pro-amf-1.4.24.1384496-r1.ebuild b/media-video/amdgpu-pro-amf/amdgpu-pro-amf-1.4.24.1384496-r1.ebuild
deleted file mode 100644
index d90e8996c76e..000000000000
--- a/media-video/amdgpu-pro-amf/amdgpu-pro-amf-1.4.24.1384496-r1.ebuild
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit unpacker
-
-MY_PV_HIGH=$(ver_cut 1)
-MY_PV_MIDDLE=$(ver_cut 2)
-MY_PV_LOW=$(ver_cut 3)
-MY_PV_REV=$(ver_cut 4)
-
-MY_PV="${MY_PV_HIGH}.${MY_PV_MIDDLE}.${MY_PV_LOW}"
-MY_PV_FULL="${MY_PV}-${MY_PV_REV}"
-
-MY_PN="amf-amdgpu-pro"
-
-PRO_VULKAN_PKG_VER="21.50.2"
-
-MY_LINK="https://repo.radeon.com/amdgpu/${PRO_VULKAN_PKG_VER}/ubuntu/pool/proprietary/a/${MY_PN}"
-
-DESCRIPTION="AMD's closed source Advanced Media Framework (AMF) driver"
-HOMEPAGE="https://www.amd.com/en/support"
-SRC_URI="${MY_LINK}/${MY_PN}_${MY_PV_FULL}_amd64.deb -> ${P}.deb"
-
-S="${WORKDIR}"
-
-RESTRICT="bindist mirror"
-
-LICENSE="AMD-GPU-PRO-EULA"
-SLOT="0"
-KEYWORDS="-* ~amd64"
-
-RDEPEND="
- media-libs/amdgpu-pro-vulkan
- media-libs/libglvnd
- x11-libs/libdrm
- x11-libs/libX11
-"
-
-QA_PREBUILT="
- usr/lib64/libamfrt64.so*
-"
-
-src_unpack() {
- mkdir "${S}/${PN}-amd64" || die
- cd "${S}/${PN}-amd64" || die
- unpack_deb "${DISTDIR}/${P}.deb"
-}
-
-src_install() {
- insinto "/usr/$(get_libdir)"
-
- # AMF
- doins "${S}/${PN}-amd64/opt/amdgpu-pro/lib/x86_64-linux-gnu/libamfrt64.so.${MY_PV}"
- dosym "libamfrt64.so.${MY_PV}" "/usr/$(get_libdir)/libamfrt64.so"
- dosym "libamfrt64.so.${MY_PV}" "/usr/$(get_libdir)/libamfrt64.so.1"
-}
diff --git a/media-video/amdgpu-pro-amf/amdgpu-pro-amf-1.4.24.1395274.ebuild b/media-video/amdgpu-pro-amf/amdgpu-pro-amf-1.4.24.1395274.ebuild
deleted file mode 100644
index 9e20d80730c7..000000000000
--- a/media-video/amdgpu-pro-amf/amdgpu-pro-amf-1.4.24.1395274.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit unpacker
-
-MY_PV_HIGH=$(ver_cut 1)
-MY_PV_MIDDLE=$(ver_cut 2)
-MY_PV_LOW=$(ver_cut 3)
-MY_PV_REV=$(ver_cut 4)
-
-MY_PV="${MY_PV_HIGH}.${MY_PV_MIDDLE}.${MY_PV_LOW}"
-MY_PV_FULL="${MY_PV}-${MY_PV_REV}"
-
-MY_PN="amf-amdgpu-pro"
-
-PRO_VULKAN_PKG_VER="22.10"
-
-MY_LINK="https://repo.radeon.com/amdgpu/${PRO_VULKAN_PKG_VER}/ubuntu/pool/proprietary/a/${MY_PN}"
-
-DESCRIPTION="AMD's closed source Advanced Media Framework (AMF) driver"
-HOMEPAGE="https://www.amd.com/en/support"
-SRC_URI="${MY_LINK}/${MY_PN}_${MY_PV_FULL}_amd64.deb -> ${P}.deb"
-
-S="${WORKDIR}"
-
-RESTRICT="bindist mirror"
-
-LICENSE="AMD-GPU-PRO-EULA"
-SLOT="0"
-KEYWORDS="-* ~amd64"
-
-RDEPEND="
- media-libs/amdgpu-pro-vulkan
- media-libs/libglvnd
- x11-libs/libdrm
- x11-libs/libX11
-"
-
-QA_PREBUILT="
- usr/lib64/libamfrt64.so*
-"
-
-src_unpack() {
- mkdir "${S}/${PN}-amd64" || die
- cd "${S}/${PN}-amd64" || die
- unpack_deb "${DISTDIR}/${P}.deb"
-}
-
-src_install() {
- insinto "/usr/$(get_libdir)"
-
- # AMF
- doins "${S}/${PN}-amd64/opt/amdgpu-pro/lib/x86_64-linux-gnu/libamfrt64.so.${MY_PV}"
- dosym "libamfrt64.so.${MY_PV}" "/usr/$(get_libdir)/libamfrt64.so.1"
-}
diff --git a/media-video/amdgpu-pro-amf/amdgpu-pro-amf-1.4.24.1420323.ebuild b/media-video/amdgpu-pro-amf/amdgpu-pro-amf-1.4.24.1452059.ebuild
index 179799c5a6c5..2ae162b65fcb 100644
--- a/media-video/amdgpu-pro-amf/amdgpu-pro-amf-1.4.24.1420323.ebuild
+++ b/media-video/amdgpu-pro-amf/amdgpu-pro-amf-1.4.24.1452059.ebuild
@@ -15,7 +15,7 @@ MY_PV_FULL="${MY_PV}-${MY_PV_REV}"
MY_PN="amf-amdgpu-pro"
-PRO_VULKAN_PKG_VER="22.10.3"
+PRO_VULKAN_PKG_VER="22.10.4"
DESCRIPTION="AMD's closed source Advanced Media Framework (AMF) driver"
HOMEPAGE="https://www.amd.com/en/support"
diff --git a/media-video/amdgpu-pro-amf/amdgpu-pro-amf-1.4.26.1438747.ebuild b/media-video/amdgpu-pro-amf/amdgpu-pro-amf-1.4.29.1580631.ebuild
index 0e02c47bc041..aeace360442d 100644
--- a/media-video/amdgpu-pro-amf/amdgpu-pro-amf-1.4.26.1438747.ebuild
+++ b/media-video/amdgpu-pro-amf/amdgpu-pro-amf-1.4.29.1580631.ebuild
@@ -15,12 +15,12 @@ MY_PV_FULL="${MY_PV}-${MY_PV_REV}"
MY_PN="amf-amdgpu-pro"
-PRO_VULKAN_PKG_VER="22.20"
+INTERNAL_VER="5.4.6"
UBUNTU_VER="22.04"
DESCRIPTION="AMD's closed source Advanced Media Framework (AMF) driver"
HOMEPAGE="https://www.amd.com/en/support"
-SRC_URI="https://repo.radeon.com/amdgpu/${PRO_VULKAN_PKG_VER}/ubuntu/pool/proprietary/a/${MY_PN}/${MY_PN}_${MY_PV_FULL}~${UBUNTU_VER}_amd64.deb -> ${P}.deb"
+SRC_URI="https://repo.radeon.com/amdgpu/${INTERNAL_VER}/ubuntu/pool/proprietary/a/${MY_PN}/${MY_PN}_${MY_PV_FULL}.${UBUNTU_VER}_amd64.deb -> ${P}.deb"
S="${WORKDIR}"
diff --git a/media-video/amdgpu-pro-amf/amdgpu-pro-amf-1.4.26.1462318.ebuild b/media-video/amdgpu-pro-amf/amdgpu-pro-amf-1.4.33.1718238.ebuild
index 9fd0217f66f6..3a60f81979fa 100644
--- a/media-video/amdgpu-pro-amf/amdgpu-pro-amf-1.4.26.1462318.ebuild
+++ b/media-video/amdgpu-pro-amf/amdgpu-pro-amf-1.4.33.1718238.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -15,19 +15,19 @@ MY_PV_FULL="${MY_PV}-${MY_PV_REV}"
MY_PN="amf-amdgpu-pro"
-PRO_VULKAN_PKG_VER="22.20.3"
+INTERNAL_VER="6.0.2"
UBUNTU_VER="22.04"
DESCRIPTION="AMD's closed source Advanced Media Framework (AMF) driver"
HOMEPAGE="https://www.amd.com/en/support"
-SRC_URI="https://repo.radeon.com/amdgpu/${PRO_VULKAN_PKG_VER}/ubuntu/pool/proprietary/a/${MY_PN}/${MY_PN}_${MY_PV_FULL}~${UBUNTU_VER}_amd64.deb -> ${P}.deb"
+SRC_URI="https://repo.radeon.com/amdgpu/${INTERNAL_VER}/ubuntu/pool/proprietary/a/${MY_PN}/${MY_PN}_${MY_PV_FULL}.${UBUNTU_VER}_amd64.deb -> ${P}.deb"
S="${WORKDIR}"
RESTRICT="bindist mirror"
LICENSE="AMD-GPU-PRO-EULA"
-SLOT="0"
+SLOT="0/31"
KEYWORDS="-* ~amd64"
RDEPEND="
diff --git a/media-video/aravis/metadata.xml b/media-video/aravis/metadata.xml
index 741807526669..e5676fcd88a9 100644
--- a/media-video/aravis/metadata.xml
+++ b/media-video/aravis/metadata.xml
@@ -20,4 +20,7 @@
<flag name="packet-socket">Enable packet socket support.</flag>
<flag name="viewer">Build the GTK+-based video viewer.</flag>
</use>
+ <upstream>
+ <remote-id type="github">AravisProject/aravis</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/media-video/bino/Manifest b/media-video/bino/Manifest
index cb1e5a64e75a..0f61dee9e6c9 100644
--- a/media-video/bino/Manifest
+++ b/media-video/bino/Manifest
@@ -1,3 +1,2 @@
-DIST bino-1.6.7.tar.xz 825068 BLAKE2B d9019a793838f33ea1315849aa994b20a1c6127995315dc03972fe6c64a742c73434c07ba06402a1e2bd5357781d18aaf3d19ab2d61788745b2aa99ad3f4c6f4 SHA512 ae8f72b200100664b9fd55963371ce64a2f39e240676494d69b422d662f2295560ba458eb04707b82f88d3c6b3fab98a1ecb40d74799300f96b8eb8be680c9b8
DIST bino-1.6.8.tar.xz 836712 BLAKE2B 801d6f1ffbf1a7fbaabcdbb2c4bd649662d3b14b08189431a418702177f5de28a8961763c83962fd72cbf6f762fad34ed0b616efc68a723f65b6c72823618897 SHA512 d8cf5be356add4ed3fb36673038b5ffd92d0dc840798cc616fa4b11fec221c7f114347dfc7cdb7a3a24c5599b56301cddc99f84d3862d8e874612960281319cc
DIST bino-2.0.tar.gz 193004 BLAKE2B cb9f40e6eb3f925ecf83e766d613ce15c2fccf8b52a16c3b8000b8854a1defc5dab271c984db3a3780e5126b0e83e60c675956ee6e287c117874c0ef6b504fbf SHA512 5620c506f4de1a9aa7f21f0a23481c5174e7a6a47e6401a84d048dc87843249ef325e33ebc49790d405eb4697c3c571550b0e202f24e758c446ce8e4014f98b3
diff --git a/media-video/bino/bino-1.6.7.ebuild b/media-video/bino/bino-1.6.7.ebuild
deleted file mode 100644
index 8c5b35e1714a..000000000000
--- a/media-video/bino/bino-1.6.7.ebuild
+++ /dev/null
@@ -1,66 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit flag-o-matic xdg
-
-DESCRIPTION="Stereoscopic and multi-display media player"
-HOMEPAGE="https://bino3d.org/"
-SRC_URI="https://bino3d.org/releases/${P}.tar.xz"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE="debug doc lirc video_cards_nvidia"
-
-RDEPEND="
- dev-qt/qtcore:5
- dev-qt/qtgui:5
- dev-qt/qtopengl:5
- dev-qt/qtwidgets:5
- >=media-libs/glew-1.6.0:0=
- >=media-libs/libass-0.9.9
- >=media-libs/openal-1.15.1
- virtual/libintl
- >=media-video/ffmpeg-0.7:0=
- lirc? ( app-misc/lirc )
- video_cards_nvidia? ( x11-drivers/nvidia-drivers[tools,static-libs] )"
-DEPEND="${RDEPEND}"
-BDEPEND="sys-devel/gettext
- virtual/pkgconfig"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.6.7-gcc11.patch
-)
-
-src_configure() {
- if use video_cards_nvidia; then
- append-cppflags "-I${ESYSROOT}/usr/include/NVCtrl"
- append-ldflags "-L${ESYSROOT}/usr/$(get_libdir)/opengl/nvidia/lib -L${ESYSROOT}/usr/$(get_libdir)"
- append-libs "Xext"
- fi
-
- if use lirc; then
- append-cppflags "-I${ESYSROOT}/usr/include/lirc"
- append-libs "lirc_client"
- fi
-
- # Fix a compilation error because of a multiple definitions error in glew
- append-ldflags "-zmuldefs"
-
- econf \
- $(use_with video_cards_nvidia xnvctrl) \
- $(use_with lirc) \
- $(use_enable debug) \
- --without-equalizer \
- --with-qt-version=5
-}
-
-src_install() {
- default
-
- if ! use doc; then
- rm -rf "${ED}"/usr/share/doc/${PF}/html || die
- fi
-}
diff --git a/media-video/bino/bino-1.6.8.ebuild b/media-video/bino/bino-1.6.8.ebuild
index d7bdc7c2def6..841c5e2b3aa8 100644
--- a/media-video/bino/bino-1.6.8.ebuild
+++ b/media-video/bino/bino-1.6.8.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -14,6 +14,7 @@ SLOT="0"
KEYWORDS="amd64 x86"
IUSE="debug doc lirc video_cards_nvidia"
+# <ffmpeg-5 for bug #907682 and bug #834400. >=bino-2 uses Qt 6 and drops ffmpeg.
RDEPEND="
dev-qt/qtcore:5
dev-qt/qtgui:5
@@ -23,7 +24,7 @@ RDEPEND="
>=media-libs/libass-0.9.9
>=media-libs/openal-1.15.1
virtual/libintl
- >=media-video/ffmpeg-0.7:0=
+ <media-video/ffmpeg-5:=
lirc? ( app-misc/lirc )
video_cards_nvidia? ( x11-drivers/nvidia-drivers[tools,static-libs] )"
DEPEND="${RDEPEND}"
diff --git a/media-video/bino/bino-2.0.ebuild b/media-video/bino/bino-2.0.ebuild
index aafb2d96915f..852eb60d2b30 100644
--- a/media-video/bino/bino-2.0.ebuild
+++ b/media-video/bino/bino-2.0.ebuild
@@ -11,11 +11,12 @@ SRC_URI="https://bino3d.org/releases/${P}.tar.gz"
LICENSE="GPL-3"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64"
RDEPEND="
dev-qt/qtbase:6[gui,opengl,widgets]
dev-qt/qtmultimedia:6
+ dev-qt/qtsvg:6
"
DEPEND="${RDEPEND}"
BDEPEND="
diff --git a/media-video/bino/files/bino-1.6.7-gcc11.patch b/media-video/bino/files/bino-1.6.7-gcc11.patch
deleted file mode 100644
index 8d4bf4070f36..000000000000
--- a/media-video/bino/files/bino-1.6.7-gcc11.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-https://git.marlam.de/gitweb/?p=bino.git;a=commitdiff;h=7997ad11eefe241bb85a27c50d009c99851d7b0b
-https://bugs.gentoo.org/790128
-
-From 7997ad11eefe241bb85a27c50d009c99851d7b0b Mon Sep 17 00:00:00 2001
-From: Martin Lambers <marlam@marlam.de>
-Date: Sat, 27 Feb 2021 21:28:50 +0100
-Subject: [PATCH] fix compilation with C++ 17 compilers such as gcc 11
-
----
- src/base/dbg.cpp | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/src/base/dbg.cpp b/src/base/dbg.cpp
-index 6c6234f..044be67 100644
---- a/src/base/dbg.cpp
-+++ b/src/base/dbg.cpp
-@@ -74,8 +74,10 @@ namespace dbg
- (void)sigaction(SIGFPE, &signal_handler, NULL);
- (void)sigaction(SIGSEGV, &signal_handler, NULL);
- #endif
-+#if __cplusplus < 201700
- std::set_unexpected(exception_crash);
- std::set_terminate(exception_crash);
-+#endif
- std::set_new_handler(oom_abort);
- }
-
---
-2.20.1
-
diff --git a/media-video/blind/blind-1.1.ebuild b/media-video/blind/blind-1.1-r1.ebuild
index 43fc42d195d8..e018b94b7386 100644
--- a/media-video/blind/blind-1.1.ebuild
+++ b/media-video/blind/blind-1.1-r1.ebuild
@@ -1,10 +1,11 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
+
inherit toolchain-funcs
-DESCRIPTION="a collection of command line video editing utilities"
+DESCRIPTION="Collection of command line video editing utilities"
HOMEPAGE="https://tools.suckless.org/blind/"
SRC_URI="https://dl.suckless.org/tools/${P}.tar.gz"
@@ -12,14 +13,7 @@ LICENSE="ISC"
SLOT="0"
KEYWORDS="~amd64"
-RDEPEND="
-"
-DEPEND="
- ${RDEPEND}
-"
-PATCHES=(
- "${FILESDIR}"/${PN}-1.1-ldflags.patch
-)
+PATCHES=( "${FILESDIR}"/${PN}-1.1-ldflags.patch )
src_prepare() {
default
@@ -36,7 +30,3 @@ src_prepare() {
src_compile() {
emake CC="$(tc-getCC)"
}
-
-src_install() {
- emake DESTDIR="${D}" install MANPREFIX=/usr/share/man
-}
diff --git a/media-video/bluray_info/Manifest b/media-video/bluray_info/Manifest
index 7aa6b9e6701c..41c5db0eef85 100644
--- a/media-video/bluray_info/Manifest
+++ b/media-video/bluray_info/Manifest
@@ -1 +1 @@
-DIST bluray_info-1.3.tar.gz 188192 BLAKE2B f88020721f7295b9bdd46687cd436c6a5bf38efc1fafc1bdfddda41a7c1a14fbee02a93b69b38a1703f089c9ad4a3576c9f750283a94ec2de09841bc1ae679cb SHA512 cf14733bd3b3fe9ebdace130c880fd695f0a60533a4b397f339789b2b11a15515f8ad24e87ccb428e73b74826ddaa5c2df0c1c9bf7907bdc5b1824f73d22c1ed
+DIST bluray_info-1.10.tar.gz 279446 BLAKE2B 651d729380649c1d6846d1897d5f3403c575e481f6206f3303607f80e334adda7b436c485de03a90f309676612dbb45839aced24be4ac8e1306b6466e58869e9 SHA512 fae7866155862fac1766b4dfdd587e0f40e562ca39d6bd19999732fb86203105ed7d350433e815636e2d8823de18e5805e425bd05c39070c5dc1792c8db060b6
diff --git a/media-video/bluray_info/bluray_info-1.10.ebuild b/media-video/bluray_info/bluray_info-1.10.ebuild
new file mode 100644
index 000000000000..e19744928418
--- /dev/null
+++ b/media-video/bluray_info/bluray_info-1.10.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="Blu-ray utilities: bluray_info, bluray_copy, bluray_player"
+HOMEPAGE="https://github.com/beandog/bluray_info https://dvds.beandog.org"
+SRC_URI="https://bluray.beandog.org/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="+mpv"
+
+DEPEND="
+ media-libs/libaacs
+ >=media-libs/libbluray-1.2.0[aacs]
+ mpv? ( media-video/mpv[libmpv,bluray] )
+"
+RDEPEND="${DEPEND}"
+
+src_configure() {
+ econf $(use_with mpv libmpv)
+}
diff --git a/media-video/bluray_info/bluray_info-1.3.ebuild b/media-video/bluray_info/bluray_info-1.3.ebuild
deleted file mode 100644
index 7d6aef069eb6..000000000000
--- a/media-video/bluray_info/bluray_info-1.3.ebuild
+++ /dev/null
@@ -1,16 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-DESCRIPTION="Blu-ray disc tools: bluray_info, bluray_copy"
-HOMEPAGE="https://github.com/beandog/bluray_info"
-SRC_URI="mirror://sourceforge/bluray-info/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-DEPEND=">=media-libs/libbluray-1.0.0"
-RDEPEND="${DEPEND}"
diff --git a/media-video/bluray_info/metadata.xml b/media-video/bluray_info/metadata.xml
index b0fc9141559e..47e7f040a95f 100644
--- a/media-video/bluray_info/metadata.xml
+++ b/media-video/bluray_info/metadata.xml
@@ -1,10 +1,14 @@
<?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>
-<upstream>
-<remote-id type="sourceforge">bluray-info</remote-id>
-</upstream>
+ <maintainer type="project">
+ <email>media-video@gentoo.org</email>
+ </maintainer>
+ <use>
+ <flag name="mpv">Build bluray_player, powered by <pkg>media-video/mpv</pkg></flag>
+ </use>
+ <upstream>
+ <remote-id type="sourceforge">bluray-info</remote-id>
+ <remote-id type="github">beandog/bluray_info</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/media-video/chaplin/chaplin-1.10-r2.ebuild b/media-video/chaplin/chaplin-1.10-r3.ebuild
index 0e12d020955d..71fe08497412 100644
--- a/media-video/chaplin/chaplin-1.10-r2.ebuild
+++ b/media-video/chaplin/chaplin-1.10-r3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -12,13 +12,12 @@ SRC_URI="http://www.lallafa.de/bp/files/${P}.tgz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 ppc x86"
-IUSE="transcode vcd"
+IUSE="vcd"
DEPEND=">=media-libs/libdvdread-0.9.4"
RDEPEND="${DEPEND}
virtual/imagemagick-tools
media-video/mjpegtools
- transcode? ( media-video/transcode )
vcd? ( media-video/vcdimager )"
S=${WORKDIR}/${PN}
diff --git a/media-video/chaplin/metadata.xml b/media-video/chaplin/metadata.xml
index 426c3d247e53..2f4f02782b47 100644
--- a/media-video/chaplin/metadata.xml
+++ b/media-video/chaplin/metadata.xml
@@ -4,7 +4,4 @@
<maintainer type="project">
<email>media-video@gentoo.org</email>
</maintainer>
- <use>
- <flag name="transcode">Enable DVD ripping and transcoding</flag>
- </use>
</pkgmetadata>
diff --git a/media-video/cheese/Manifest b/media-video/cheese/Manifest
index fa260c5eaa37..b042b9698685 100644
--- a/media-video/cheese/Manifest
+++ b/media-video/cheese/Manifest
@@ -1,2 +1 @@
-DIST cheese-41.1.tar.xz 1092912 BLAKE2B 9bbfbc59868f39b344b1102f819ca647d82e9dee327f1d2a2e6b30fcfd2c59dd5f79236355d7148e01a4b07d80d630406708d2a152535b5732cfb52690f9f402 SHA512 2c0922dda97f4ce701add45977b405eff9ddbc24eb286e9e05a9f9bfbd7998e8e77ef2a8f1bbce9f8349ff522ee3cb6d6566fa5df80d782e6d844bff69a30074
-DIST cheese-43.0.tar.xz 1095328 BLAKE2B 728cf913336f09ae073508d6bf18f7bb0cf4bb0e16ad5d6acd5fb77b75577303b1a2d8820b280a31c15ebdcbf231205881440105c390a0f16681dc5274a74446 SHA512 07ed087490b4024ecbc097c1a62e24fdc0c5c8acac23ba3ed246104655a8b1786faee5caa5e59cfa7b725527b5aedc587b0f99a2b43100497f866966818e345e
+DIST cheese-44.1.tar.xz 1095916 BLAKE2B 7558b43a28bc5323a6ccd6e50c86611ee572d32cf190dde401c5d347b70b269ce05875e8a0d2d59e174a66d2cf5330b2530890969445eab00d7da0b4f02ce3e7 SHA512 106f02c0bd6e21039e3d1cdbcb8111c8d76638666b3a3ee65bc81295deaf50acf49023f3f7bf2ca244a9b7f4ac95d04fbc5864c1ded8698c52665c23c3640dc1
diff --git a/media-video/cheese/cheese-41.1.ebuild b/media-video/cheese/cheese-41.1.ebuild
deleted file mode 100644
index 6c679af36fe3..000000000000
--- a/media-video/cheese/cheese-41.1.ebuild
+++ /dev/null
@@ -1,100 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit gnome.org gnome2-utils meson vala virtualx xdg
-
-DESCRIPTION="A cheesy program to take pictures and videos from your webcam"
-HOMEPAGE="https://wiki.gnome.org/Apps/Cheese"
-
-LICENSE="GPL-2+"
-SLOT="0/8" # subslot = libcheese soname version
-KEYWORDS="amd64 ~arm arm64 ~ia64 ~ppc ~ppc64 ~riscv ~sparc x86"
-IUSE="gtk-doc +introspection test"
-RESTRICT="!test? ( test )"
-
-DEPEND="
- >=media-libs/clutter-1.13.2:1.0[introspection?]
- media-libs/clutter-gst:3.0
- >=media-libs/clutter-gtk-0.91.8:1.0
- x11-libs/gdk-pixbuf:2[jpeg,introspection?]
- >=dev-libs/glib-2.39.90:2
- >=gnome-base/gnome-desktop-2.91.6:3=
- >=media-libs/gstreamer-1.4:1.0[introspection?]
- >=media-libs/gst-plugins-base-1.4:1.0[ogg,pango,theora,vorbis]
- >=media-libs/gst-plugins-bad-1.4:1.0
- >=x11-libs/gtk+-3.13.4:3
- >=media-libs/libcanberra-0.26[gtk3]
- x11-libs/libX11
- sys-apps/dbus
- media-video/gnome-video-effects
- introspection? ( >=dev-libs/gobject-introspection-1.56:= )
-
- media-libs/cogl:1.0=[introspection?]
-
-"
-RDEPEND="${DEPEND}
- >=media-libs/gst-plugins-good-1.4:1.0
-
- >=media-plugins/gst-plugins-jpeg-1.4:1.0
- || (
- >=media-plugins/gst-plugins-v4l2-1.4:1.0
- media-video/pipewire[gstreamer,v4l]
- )
- >=media-plugins/gst-plugins-vpx-1.4:1.0
-"
-
-BDEPEND="
- gtk-doc? ( dev-util/gtk-doc )
- dev-libs/libxslt
- app-text/docbook-xml-dtd:4.3
- dev-util/itstool
- dev-libs/appstream-glib
- dev-libs/libxml2:2
- dev-util/glib-utils
- >=sys-devel/gettext-0.19.8
- virtual/pkgconfig
- x11-base/xorg-proto
- test? ( x11-libs/libXtst )
- $(vala_depend)
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-3.38.0-buildfix.patch
- "${FILESDIR}"/${PV}-thumb-view-update-for-new-gnome-desktop-API.patch
-)
-
-src_prepare() {
- xdg_src_prepare
- vala_src_prepare
-}
-
-src_configure() {
- local emesonargs=(
- $(meson_use gtk-doc gtk_doc)
- $(meson_use introspection)
- $(meson_use test tests)
- -Dman=true
- )
-
- meson_src_configure
-
- # Hack: version.xml is not generated if gtk-doc is not enabled
- echo ${PV} > docs/reference/version.xml
-}
-
-src_test() {
- gnome2_environment_reset # Avoid dconf that looks at XDG_DATA_DIRS, which can sandbox fail if flatpak is installed
- virtx meson_src_test
-}
-
-pkg_postinst() {
- xdg_pkg_postinst
- gnome2_schemas_update
-}
-
-pkg_postrm() {
- xdg_pkg_postrm
- gnome2_schemas_update
-}
diff --git a/media-video/cheese/cheese-43.0.ebuild b/media-video/cheese/cheese-44.1.ebuild
index 354d62a26bd6..b6998ae2db97 100644
--- a/media-video/cheese/cheese-43.0.ebuild
+++ b/media-video/cheese/cheese-44.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -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 ~ppc ~ppc64 ~riscv ~sparc ~x86"
+KEYWORDS="amd64 ~arm arm64 ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc x86"
IUSE="gtk-doc +introspection test"
RESTRICT="!test? ( test )"
diff --git a/media-video/cheese/files/41.1-thumb-view-update-for-new-gnome-desktop-API.patch b/media-video/cheese/files/41.1-thumb-view-update-for-new-gnome-desktop-API.patch
deleted file mode 100644
index 3796c721f892..000000000000
--- a/media-video/cheese/files/41.1-thumb-view-update-for-new-gnome-desktop-API.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From d58071c56dc46299357c46da5ef9682d8d0abfa4 Mon Sep 17 00:00:00 2001
-From: Michael Catanzaro <mcatanzaro@redhat.com>
-Date: Mon, 11 Apr 2022 17:07:21 -0500
-Subject: [PATCH] thumb-view: update for new gnome-desktop API
-
-See gnome-desktop!132
----
- src/thumbview/cheese-thumb-view.c | 18 ++++++++++++++++++
- 1 file changed, 18 insertions(+)
-
-diff --git a/src/thumbview/cheese-thumb-view.c b/src/thumbview/cheese-thumb-view.c
-index f01b33df..fce8687d 100644
---- a/src/thumbview/cheese-thumb-view.c
-+++ b/src/thumbview/cheese-thumb-view.c
-@@ -134,6 +134,23 @@ cheese_thumb_view_idle_append_item (gpointer data)
-
- if (!thumb_loc)
- {
-+#if defined(GNOME_DESKTOP_PLATFORM_VERSION) && GNOME_DESKTOP_PLATFORM_VERSION >= 43
-+ pixbuf = gnome_desktop_thumbnail_factory_generate_thumbnail (factory, uri, mime_type, NULL, &error);
-+ if (!pixbuf)
-+ {
-+ g_warning ("could not generate thumbnail for %s (%s): %s\n", filename, mime_type, error->message);
-+ g_clear_error (&error);
-+ }
-+ else
-+ {
-+ gnome_desktop_thumbnail_factory_save_thumbnail (factory, pixbuf, uri, mtime.tv_sec, NULL, &error);
-+ if (error)
-+ {
-+ g_warning ("could not save thumbnail for %s (%s): %s\n", filename, mime_type, error->message);
-+ g_clear_error (&error);
-+ }
-+ }
-+#else
- pixbuf = gnome_desktop_thumbnail_factory_generate_thumbnail (factory, uri, mime_type);
- if (!pixbuf)
- {
-@@ -143,6 +160,7 @@ cheese_thumb_view_idle_append_item (gpointer data)
- {
- gnome_desktop_thumbnail_factory_save_thumbnail (factory, pixbuf, uri, mtime.tv_sec);
- }
-+#endif
- }
- else
- {
---
-2.35.1
-
diff --git a/media-video/cheese/files/cheese-3.38.0-buildfix.patch b/media-video/cheese/files/cheese-3.38.0-buildfix.patch
deleted file mode 100644
index a7d685e68628..000000000000
--- a/media-video/cheese/files/cheese-3.38.0-buildfix.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-diff --git a/meson.build b/meson.build
-index 7ef4075f..36638472 100644
---- a/meson.build
-+++ b/meson.build
-@@ -149,11 +149,7 @@ gnome_video_effects_dep = dependency(
- # Recommend some runtime GStreamer plugins.
- gst_inspect = find_program('gst-inspect-1.0', required: false)
- if gst_inspect.found()
-- foreach plugin: ['camerabin', 'vp8enc', 'webmmux']
-- if run_command(gst_inspect, plugin).returncode() != 0
-- warning(plugin + ' was not found. It needs to be installed before Cheese is run')
-- endif
-- endforeach
-+ warning('unable to check for runtime GStreamer plugin dependencies due to Gentoo\'s sandbox: camerabin, vp8enc, webmmux')
- else
- warning('unable to check for runtime GStreamer plugin dependencies')
- endif
diff --git a/media-video/devedeng/Manifest b/media-video/devedeng/Manifest
index 3e3484c83bd8..005de05234a4 100644
--- a/media-video/devedeng/Manifest
+++ b/media-video/devedeng/Manifest
@@ -1 +1,2 @@
DIST devedeng-4.17.0.tar.bz2 1773455 BLAKE2B 46d91145f94122bb3a9e83368f50dde6f1b25cecf5101c7d79bbc237bad69cb3d80d3b78429be76af2e4652eeb09e99e12c6c014c6bac8e71a7dd01d689ba634 SHA512 942e9a969146ae87bf1f1a5fa7441459801258f7dcac5a2f2ac8def146c6d88d8d3db27c474b7741cdc980c0757f99e6ee03b0da524f71895ebdbe2fe442a179
+DIST devedeng-4.18.0.tar.bz2 1775035 BLAKE2B f8588af82183ad5824a2d9abfa575b8facc592046845e98a4b9beb6dc73db7ba575b176e2edaf2f7e6d1e95a591932e20fa320efda2a44bbe23cf9c9df072b05 SHA512 0e4b816accf55c896d76c96bffb8ca2f2041310a019ef15b5bd3b0b4099edfae384854c670e564534e8eb1d569706e28810dc226ade6595aeea1e1a17e67391a
diff --git a/media-video/devedeng/devedeng-4.17.0-r1.ebuild b/media-video/devedeng/devedeng-4.17.0-r2.ebuild
index 36b0979743be..451ce0cb30ea 100644
--- a/media-video/devedeng/devedeng-4.17.0-r1.ebuild
+++ b/media-video/devedeng/devedeng-4.17.0-r2.ebuild
@@ -3,8 +3,8 @@
EAPI=8
-DISTUTILS_USE_SETUPTOOLS=no
-PYTHON_COMPAT=( python3_{9..11} )
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9..12} )
inherit distutils-r1 xdg
@@ -32,7 +32,10 @@ DEPEND="${PYTHON_DEPS}"
# src/unitests only works against system installed devedeng
RESTRICT="test"
-PATCHES=( "${FILESDIR}"/${PN}-4.14.0-no_compress_man.patch )
+PATCHES=(
+ "${FILESDIR}"/${PN}-4.14.0-no_compress_man.patch
+ "${FILESDIR}"/${P}-locale_install.patch
+)
src_prepare() {
default
diff --git a/media-video/devedeng/devedeng-4.17.0.ebuild b/media-video/devedeng/devedeng-4.18.0.ebuild
index 765cb590e3ee..3537b0871278 100644
--- a/media-video/devedeng/devedeng-4.17.0.ebuild
+++ b/media-video/devedeng/devedeng-4.18.0.ebuild
@@ -3,8 +3,8 @@
EAPI=8
-DISTUTILS_USE_SETUPTOOLS=no
-PYTHON_COMPAT=( python3_{9..10} )
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9..12} )
inherit distutils-r1 xdg
@@ -32,15 +32,18 @@ DEPEND="${PYTHON_DEPS}"
# src/unitests only works against system installed devedeng
RESTRICT="test"
-PATCHES=( "${FILESDIR}"/${PN}-4.14.0-no_compress_man.patch )
+PATCHES=(
+ "${FILESDIR}"/${PN}-4.14.0-no_compress_man.patch
+ "${FILESDIR}"/${PN}-4.17.0-locale_install.patch
+)
src_prepare() {
default
# Documentation path
- sed -e "s#/usr/share/doc/devedeng#/usr/share/doc/${P}#" \
+ sed -e "s#/usr/share/doc/devedeng#/usr/share/doc/${PF}#" \
-i src/devedeng/configuration_data.py || die
- sed -e "/'doc'/s/devedeng/${P}/" -i setup.py || die
+ sed -e "/'doc'/s/devedeng/${PF}/" -i setup.py || die
# Desktop icon
sed -e "/^Icon/s/.svg$//#" -i data/devede_ng.py.desktop || die
diff --git a/media-video/devedeng/files/devedeng-4.17.0-locale_install.patch b/media-video/devedeng/files/devedeng-4.17.0-locale_install.patch
new file mode 100644
index 000000000000..c8cfefad093b
--- /dev/null
+++ b/media-video/devedeng/files/devedeng-4.17.0-locale_install.patch
@@ -0,0 +1,15 @@
+diff -Naur devedeng-4.17.0.orig/setup.py devedeng-4.17.0/setup.py
+--- devedeng-4.17.0.orig/setup.py 2022-03-02 16:03:24.000000000 +0100
++++ devedeng-4.17.0/setup.py 2023-07-09 11:07:43.855950815 +0200
+@@ -33,10 +33,7 @@
+ for lang_name in [f for f in os.listdir('locale')]:
+ mofile = os.path.join('locale', lang_name,
+ 'LC_MESSAGES', 'devedeng.mo')
+- # translations must be always in /usr/share because Gtk.builder only
+- # search there. If someone knows how to fix this...
+- # share/locale/fr/LC_MESSAGES/
+- target = os.path.join('/usr', 'share', 'locale',
++ target = os.path.join('share', 'locale',
+ lang_name, 'LC_MESSAGES')
+ data_files.append((target, [mofile]))
+
diff --git a/media-video/devedeng/metadata.xml b/media-video/devedeng/metadata.xml
index 6fd493ed47c4..45d3c80bfe20 100644
--- a/media-video/devedeng/metadata.xml
+++ b/media-video/devedeng/metadata.xml
@@ -11,6 +11,6 @@ DevedeNG is a program to create video DVDs and CDs (VCD, sVCD or CVD), suitables
The suffix NG is because it is a rewrite from scratch of the old Devede, to work with Python3 and Gtk3, and with a new internal architecture that allows to expand it and easily add new features.
</longdescription>
<upstream>
- <remote-id type="github">rastersoft/devedeng</remote-id>
+ <remote-id type="gitlab">rastersoft/devedeng</remote-id>
</upstream>
</pkgmetadata>
diff --git a/media-video/dirac/dirac-1.0.2-r2.ebuild b/media-video/dirac/dirac-1.0.2-r2.ebuild
index 49b566e64269..8671c2565910 100644
--- a/media-video/dirac/dirac-1.0.2-r2.ebuild
+++ b/media-video/dirac/dirac-1.0.2-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -11,12 +11,12 @@ SRC_URI="mirror://sourceforge/${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 ~sparc-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 arm ~hppa ~ia64 ~mips ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
IUSE="debug doc cpu_flags_x86_mmx"
BDEPEND="
doc? (
- app-doc/doxygen
+ app-text/doxygen
virtual/latex-base
media-gfx/graphviz
>=app-text/texlive-core-2014
diff --git a/media-video/droidcam/Manifest b/media-video/droidcam/Manifest
index 8916866cca0d..582a48688b25 100644
--- a/media-video/droidcam/Manifest
+++ b/media-video/droidcam/Manifest
@@ -1,2 +1,4 @@
-DIST droidcam-1.8.2.tar.gz 84797 BLAKE2B b2458dd04b467106a6d9a8a9f3d44058641a7c8ca429d5c92f498401c07f6bc364dc056755f21b40faac7e7aec1877250afb119ac3b7f979b24cdeb86f45c384 SHA512 507f513c8d0dffa86afe5368ccab5461931e236b6352269a6eb5e970a79e5f9b386808da3466f3b391e955170b47b24a82663632ddc3c3c84e4de5988b7d3f8f
-DIST droidcam-1.8.2_p20220831.tar.gz 84943 BLAKE2B db54f39a9b303b4b06dfdfcb6bf9323ce25f8cea4594cdcec063685fea531fdeb915caab393d0edf72086deb592345d7ca6aefd546d44f06e24855d66fbd8d47 SHA512 c30848c2348c70a15c46f894b1c0547a3e904bbb8582ae2d34009dbc9b0d006a49ab3950fef4491f76f838fd091d68ec1d63d5b1f52e793e98936fe5f2d44b5c
+DIST droidcam-2.0.0.tar.gz 85146 BLAKE2B 95b96e7474ee457589d751caff156f9715f75cab3e54bef151334f8fe6371f5eed919e9a5df050ec683a65f15c2e40a06efc66e80e5323a8b0e6713980c75174 SHA512 68fe4de308df238fc096ad8b658c5d330400113c7ddf54bf0f070c9852e375273f80c7a8293bd9b5e357163305573931c94bb2bd005673086f718121181b2212
+DIST droidcam-2.1.1.tar.gz 85597 BLAKE2B 100a08633d65b13c69e8b46fea87520554f0938832eca339646bc980bac71ab50f7b2a05e925c79525c2dbade415075f403464a9643ee8bdc5b5c2e8446720b5 SHA512 af65049a2b7462d9d9c75e1caf8f8ed1435d424124310b3d2f13c90b7b1ca8383c198461052d86d707968c23c1e9a04c0876fdb7f7e26a969d74937342a560c5
+DIST droidcam-2.1.2.tar.gz 86067 BLAKE2B de33d02c5642453f044b322ed13d246aa21d7d0a11172bbdf150a4451071d7cb9d4daaf5edabb265b8d183582b87a50d66355fd09bf9319886d7b2880b237dd2 SHA512 7879c5c8998618998856fe2a436f6ed5707b9d27609fbd32ac1282643721bf3d364658f5fe5030970946fea82faf9bf2e18add38a78e8a824647fea717c53cc4
+DIST droidcam-2.1.3.tar.gz 86091 BLAKE2B 1e5ef24cdfed7135c411b899e801cb3bc82779f6bee79ea4c7eceabf95ff32c4211bb6c98d1b19e119be9a50b6dfb800490a70d7392382dcbb0cbb1684ab1809 SHA512 74f6973179b383bb12b4b063b2c524c0be99ea9465c0f1423d11ece5aa90ab5d93929f029c1716513ab63a6e8707699e78f64e747a3583b5afaf5205a96e18bc
diff --git a/media-video/droidcam/droidcam-1.8.2-r1.ebuild b/media-video/droidcam/droidcam-2.0.0-r3.ebuild
index 53150f3a9c28..e243b0248cff 100644
--- a/media-video/droidcam/droidcam-1.8.2-r1.ebuild
+++ b/media-video/droidcam/droidcam-2.0.0-r3.ebuild
@@ -1,13 +1,14 @@
-# Copyright 2019-2022 Gentoo Authors
+# Copyright 2019-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-inherit desktop linux-mod xdg
+inherit desktop linux-mod-r1 xdg
DESCRIPTION="Use your phone or tablet as webcam with a v4l device driver and app"
HOMEPAGE="https://www.dev47apps.com/droidcam/linux/"
-SRC_URI="https://github.com/dev47apps/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+SRC_URI="https://github.com/dev47apps/${PN}/archive/v${PV//_rc1/-RC}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${PN}-${PV//_rc1/-RC}"
KEYWORDS="~amd64"
LICENSE="GPL-2"
@@ -22,7 +23,7 @@ DEPEND="
app-pda/libplist
app-pda/libusbmuxd
dev-libs/glib
- dev-libs/libappindicator:3
+ dev-libs/libayatana-appindicator
dev-libs/libxml2
dev-util/android-tools
media-libs/alsa-lib
@@ -39,21 +40,19 @@ DEPEND="
RDEPEND="${DEPEND}"
BDEPEND="virtual/pkgconfig"
-BUILD_TARGETS="all"
-MODULE_NAMES="v4l2loopback-dc(video:${S}/v4l2loopback:${S}/v4l2loopback)"
-MODULESD_V4L2LOOPBACK_DC_ENABLED="yes"
-
CONFIG_CHECK="~SND_ALOOP VIDEO_DEV MEDIA_SUPPORT MEDIA_CAMERA_SUPPORT"
ERROR_SND_ALOOP="CONFIG_SND_ALOOP is optionally required for audio support"
-PATCHES="${FILESDIR}/${PN}-1.8.2-makefile-fixes.patch"
+PATCHES=(
+ "${FILESDIR}/${P}-libusbmuxd-20.patch"
+)
src_prepare() {
if ! use gtk; then
default
sed -i -e '/cflags gtk+/d' Makefile || die
else
- xdg_src_prepare
+ default
# remove path and extension from Icon and Exec entry
sed -i -e 's/Icon=\/opt\/droidcam-icon.png/Icon=droidcam/g' \
-e 's/\/usr\/local\/bin\/droidcam/droidcam/g' \
@@ -69,22 +68,19 @@ src_configure() {
src_compile() {
if use gtk; then
- emake droidcam
+ APPINDICATOR=ayatana-appindicator3-0.1 emake droidcam
fi
- emake droidcam-cli
-
- if linux_chkconfig_present CC_IS_CLANG; then
- BUILD_PARAMS+=' CC=${CHOST}-clang'
- if linux_chkconfig_present LD_IS_LLD; then
- BUILD_PARAMS+=' LD=ld.lld'
- if linux_chkconfig_present LTO_CLANG_THIN; then
- # kernel enables cache by default leading to sandbox violations
- BUILD_PARAMS+=' ldflags-y=--thinlto-cache-dir= LDFLAGS_MODULE=--thinlto-cache-dir='
- fi
- fi
- fi
- export KERNEL_DIR || die
- linux-mod_src_compile
+ APPINDICATOR=ayatana-appindicator3-0.1 emake droidcam-cli
+
+ local modlist=(
+ v4l2loopback-dc=video:v4l2loopback:v4l2loopback:all
+ )
+
+ local modargs=(
+ KERNEL_DIR="${KV_OUT_DIR}"
+ )
+
+ linux-mod-r1_src_compile
}
src_test() {
@@ -103,7 +99,7 @@ src_install() {
fi
dobin droidcam-cli
- # The cli and gui do not auto load the module if unloaded (why not though?)
+ # The cli and gui do not auto load the module if unloaded,
# so we just put it in modules-load.d to make sure it always works
insinto /etc/modules-load.d
if linux_config_exists; then
@@ -119,19 +115,17 @@ src_install() {
fi
fi
- einstalldocs
- linux-mod_src_install
+ linux-mod-r1_src_install
}
pkg_preinst() {
- linux-mod_pkg_preinst
if use gtk; then
xdg_pkg_preinst
fi
}
pkg_postinst() {
- linux-mod_pkg_postinst
+ linux-mod-r1_pkg_postinst
if use gtk; then
xdg_pkg_postinst
else
@@ -148,7 +142,6 @@ pkg_postinst() {
}
pkg_postrm() {
- linux-mod_pkg_postrm
if use gtk; then
xdg_pkg_postrm
fi
diff --git a/media-video/droidcam/droidcam-1.8.2_p20220831.ebuild b/media-video/droidcam/droidcam-2.1.1.ebuild
index 401a7d918546..224f92d74050 100644
--- a/media-video/droidcam/droidcam-1.8.2_p20220831.ebuild
+++ b/media-video/droidcam/droidcam-2.1.1.ebuild
@@ -1,16 +1,14 @@
-# Copyright 2019-2022 Gentoo Authors
+# Copyright 2019-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-inherit desktop linux-mod xdg
-
-COMMIT="d1c3206306f948a8e86c7a256f1ca1be09b114b1"
+inherit desktop linux-mod-r1 xdg
DESCRIPTION="Use your phone or tablet as webcam with a v4l device driver and app"
HOMEPAGE="https://www.dev47apps.com/droidcam/linux/"
-SRC_URI="https://github.com/dev47apps/${PN}/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
-S="${WORKDIR}/${PN}-${COMMIT}"
+SRC_URI="https://github.com/dev47apps/${PN}/archive/v${PV//_rc1/-RC}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${PN}-${PV//_rc1/-RC}"
KEYWORDS="~amd64"
LICENSE="GPL-2"
@@ -42,14 +40,12 @@ DEPEND="
RDEPEND="${DEPEND}"
BDEPEND="virtual/pkgconfig"
-BUILD_TARGETS="all"
-MODULE_NAMES="v4l2loopback-dc(video:${S}/v4l2loopback:${S}/v4l2loopback)"
-MODULESD_V4L2LOOPBACK_DC_ENABLED="yes"
-
CONFIG_CHECK="~SND_ALOOP VIDEO_DEV MEDIA_SUPPORT MEDIA_CAMERA_SUPPORT"
ERROR_SND_ALOOP="CONFIG_SND_ALOOP is optionally required for audio support"
-PATCHES="${FILESDIR}/${PN}-1.8.2_p20220831-makefile-fixes.patch"
+PATCHES=(
+ "${FILESDIR}/${PN}-2.0.0-libusbmuxd-20.patch"
+)
src_prepare() {
if ! use gtk; then
@@ -72,22 +68,19 @@ src_configure() {
src_compile() {
if use gtk; then
- emake droidcam
+ APPINDICATOR=ayatana-appindicator3-0.1 emake droidcam
fi
- emake droidcam-cli
-
- if linux_chkconfig_present CC_IS_CLANG; then
- BUILD_PARAMS+=' CC=${CHOST}-clang'
- if linux_chkconfig_present LD_IS_LLD; then
- BUILD_PARAMS+=' LD=ld.lld'
- if linux_chkconfig_present LTO_CLANG_THIN; then
- # kernel enables cache by default leading to sandbox violations
- BUILD_PARAMS+=' ldflags-y=--thinlto-cache-dir= LDFLAGS_MODULE=--thinlto-cache-dir='
- fi
- fi
- fi
- export KERNEL_DIR || die
- linux-mod_src_compile
+ APPINDICATOR=ayatana-appindicator3-0.1 emake droidcam-cli
+
+ local modlist=(
+ v4l2loopback-dc=video:v4l2loopback:v4l2loopback:all
+ )
+
+ local modargs=(
+ KERNEL_DIR="${KV_OUT_DIR}"
+ )
+
+ linux-mod-r1_src_compile
}
src_test() {
@@ -106,7 +99,7 @@ src_install() {
fi
dobin droidcam-cli
- # The cli and gui do not auto load the module if unloaded (why not though?)
+ # The cli and gui do not auto load the module if unloaded,
# so we just put it in modules-load.d to make sure it always works
insinto /etc/modules-load.d
if linux_config_exists; then
@@ -122,19 +115,17 @@ src_install() {
fi
fi
- einstalldocs
- linux-mod_src_install
+ linux-mod-r1_src_install
}
pkg_preinst() {
- linux-mod_pkg_preinst
if use gtk; then
xdg_pkg_preinst
fi
}
pkg_postinst() {
- linux-mod_pkg_postinst
+ linux-mod-r1_pkg_postinst
if use gtk; then
xdg_pkg_postinst
else
@@ -151,7 +142,6 @@ pkg_postinst() {
}
pkg_postrm() {
- linux-mod_pkg_postrm
if use gtk; then
xdg_pkg_postrm
fi
diff --git a/media-video/droidcam/droidcam-2.1.2.ebuild b/media-video/droidcam/droidcam-2.1.2.ebuild
new file mode 100644
index 000000000000..224f92d74050
--- /dev/null
+++ b/media-video/droidcam/droidcam-2.1.2.ebuild
@@ -0,0 +1,148 @@
+# Copyright 2019-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit desktop linux-mod-r1 xdg
+
+DESCRIPTION="Use your phone or tablet as webcam with a v4l device driver and app"
+HOMEPAGE="https://www.dev47apps.com/droidcam/linux/"
+SRC_URI="https://github.com/dev47apps/${PN}/archive/v${PV//_rc1/-RC}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${PN}-${PV//_rc1/-RC}"
+
+KEYWORDS="~amd64"
+LICENSE="GPL-2"
+SLOT="0"
+
+IUSE="gtk"
+
+# Requires connection to phone/tablet
+RESTRICT="test"
+
+DEPEND="
+ app-pda/libplist
+ app-pda/libusbmuxd
+ dev-libs/glib
+ dev-libs/libayatana-appindicator
+ dev-libs/libxml2
+ dev-util/android-tools
+ media-libs/alsa-lib
+ media-libs/libjpeg-turbo
+ >=media-libs/speex-1.2.0-r1
+ media-video/ffmpeg
+ gtk? (
+ x11-libs/gdk-pixbuf
+ x11-libs/gtk+:3
+ x11-libs/libX11
+ x11-libs/pango
+ )
+"
+RDEPEND="${DEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+CONFIG_CHECK="~SND_ALOOP VIDEO_DEV MEDIA_SUPPORT MEDIA_CAMERA_SUPPORT"
+ERROR_SND_ALOOP="CONFIG_SND_ALOOP is optionally required for audio support"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-2.0.0-libusbmuxd-20.patch"
+)
+
+src_prepare() {
+ if ! use gtk; then
+ default
+ sed -i -e '/cflags gtk+/d' Makefile || die
+ else
+ default
+ # remove path and extension from Icon and Exec entry
+ sed -i -e 's/Icon=\/opt\/droidcam-icon.png/Icon=droidcam/g' \
+ -e 's/\/usr\/local\/bin\/droidcam/droidcam/g' \
+ droidcam.desktop || die
+ sed -i -e 's%/opt/droidcam-icon.png%/usr/share/icons/hicolor/96x96/apps/droidcam.png%g' src/droidcam.c || die
+ fi
+}
+
+src_configure() {
+ set_arch_to_kernel
+ default
+}
+
+src_compile() {
+ if use gtk; then
+ APPINDICATOR=ayatana-appindicator3-0.1 emake droidcam
+ fi
+ APPINDICATOR=ayatana-appindicator3-0.1 emake droidcam-cli
+
+ local modlist=(
+ v4l2loopback-dc=video:v4l2loopback:v4l2loopback:all
+ )
+
+ local modargs=(
+ KERNEL_DIR="${KV_OUT_DIR}"
+ )
+
+ linux-mod-r1_src_compile
+}
+
+src_test() {
+ pushd "v4l2loopback" || die
+ default
+ ./test || die
+ popd || die
+}
+
+src_install() {
+ if use gtk; then
+ dobin droidcam
+ newicon -s 32 icon.png droidcam.png
+ newicon -s 96 icon2.png droidcam.png
+ domenu droidcam.desktop
+ fi
+ dobin droidcam-cli
+
+ # The cli and gui do not auto load the module if unloaded,
+ # so we just put it in modules-load.d to make sure it always works
+ insinto /etc/modules-load.d
+ if linux_config_exists; then
+ if linux_chkconfig_module SND_ALOOP; then
+ newins - "${PN}.conf" <<-EOF
+ v4l2loopback-dc
+ snd_aloop
+ EOF
+ else
+ newins - "${PN}.conf" <<-EOF
+ v4l2loopback-dc
+ EOF
+ fi
+ fi
+
+ linux-mod-r1_src_install
+}
+
+pkg_preinst() {
+ if use gtk; then
+ xdg_pkg_preinst
+ fi
+}
+
+pkg_postinst() {
+ linux-mod-r1_pkg_postinst
+ if use gtk; then
+ xdg_pkg_postinst
+ else
+ elog
+ elog "Only droidcam-cli has been installed since 'gtk' flag was not set"
+ elog
+ fi
+
+ elog "The default resolution for v4l2loopback-dc (i.e. droidcam) is 640x480."
+ elog "You can change this value in /etc/modprobe.d/v4l2loopback-dc.conf"
+ elog
+ elog "Links to the Android/iPhone/iPad apps can be found at"
+ elog "https://www.dev47apps.com/"
+}
+
+pkg_postrm() {
+ if use gtk; then
+ xdg_pkg_postrm
+ fi
+}
diff --git a/media-video/droidcam/droidcam-2.1.3.ebuild b/media-video/droidcam/droidcam-2.1.3.ebuild
new file mode 100644
index 000000000000..a07ed894d5c8
--- /dev/null
+++ b/media-video/droidcam/droidcam-2.1.3.ebuild
@@ -0,0 +1,148 @@
+# Copyright 2019-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit desktop linux-mod-r1 xdg
+
+DESCRIPTION="Use your phone or tablet as webcam with a v4l device driver and app"
+HOMEPAGE="https://www.dev47apps.com/droidcam/linux/"
+SRC_URI="https://github.com/dev47apps/${PN}/archive/v${PV//_rc1/-RC}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${PN}-${PV//_rc1/-RC}"
+
+KEYWORDS="~amd64"
+LICENSE="GPL-2"
+SLOT="0"
+
+IUSE="gtk"
+
+# Requires connection to phone/tablet
+RESTRICT="test"
+
+DEPEND="
+ app-pda/libplist
+ app-pda/libusbmuxd
+ dev-libs/glib
+ dev-libs/libayatana-appindicator
+ dev-libs/libxml2
+ dev-util/android-tools
+ media-libs/alsa-lib
+ media-libs/libjpeg-turbo
+ >=media-libs/speex-1.2.0-r1
+ media-video/ffmpeg
+ gtk? (
+ x11-libs/gdk-pixbuf
+ x11-libs/gtk+:3
+ x11-libs/libX11
+ x11-libs/pango
+ )
+"
+RDEPEND="${DEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+CONFIG_CHECK="~SND_ALOOP VIDEO_DEV MEDIA_SUPPORT MEDIA_CAMERA_SUPPORT"
+ERROR_SND_ALOOP="CONFIG_SND_ALOOP is optionally required for audio support"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-2.0.0-libusbmuxd-20.patch"
+)
+
+src_prepare() {
+ if ! use gtk; then
+ default
+ sed -i -e '/cflags gtk+/d' Makefile || die
+ else
+ default
+ # remove path and extension from Icon and Exec entry
+ sed -i -e 's/Icon=\/opt\/droidcam-icon.png/Icon=droidcam/g' \
+ -e 's/\/usr\/local\/bin\/droidcam/droidcam/g' \
+ droidcam.desktop || die
+ sed -i -e 's%/opt/droidcam-icon.png%/usr/share/icons/hicolor/96x96/apps/droidcam.png%g' src/droidcam.c || die
+ fi
+}
+
+src_configure() {
+ set_arch_to_kernel
+ default
+}
+
+src_compile() {
+ if use gtk; then
+ APPINDICATOR=ayatana-appindicator3-0.1 emake droidcam
+ fi
+ APPINDICATOR=ayatana-appindicator3-0.1 emake droidcam-cli
+
+ local modlist=(
+ v4l2loopback-dc=video:v4l2loopback:v4l2loopback:all
+ )
+
+ local modargs=(
+ KERNEL_DIR="${KV_OUT_DIR}"
+ )
+
+ linux-mod-r1_src_compile
+}
+
+src_test() {
+ pushd "v4l2loopback" || die
+ default
+ ./test || die
+ popd || die
+}
+
+src_install() {
+ if use gtk; then
+ dobin droidcam
+ newicon -s 32 icon.png droidcam.png
+ newicon -s 96 icon2.png droidcam.png
+ domenu droidcam.desktop
+ fi
+ dobin droidcam-cli
+
+ # The cli and gui do not auto load the module if unloaded,
+ # so we just put it in modules-load.d to make sure it always works
+ insinto /etc/modules-load.d
+ if linux_config_exists; then
+ if linux_chkconfig_module SND_ALOOP; then
+ newins - "${PN}.conf" <<-EOF
+ v4l2loopback-dc
+ snd_aloop
+ EOF
+ else
+ newins - "${PN}.conf" <<-EOF
+ v4l2loopback-dc
+ EOF
+ fi
+ fi
+
+ linux-mod-r1_src_install
+}
+
+pkg_preinst() {
+ if use gtk; then
+ xdg_pkg_preinst
+ fi
+}
+
+pkg_postinst() {
+ linux-mod-r1_pkg_postinst
+ if use gtk; then
+ xdg_pkg_postinst
+ else
+ elog
+ elog "Only droidcam-cli has been installed since 'gtk' flag was not set"
+ elog
+ fi
+
+ elog "The default resolution for v4l2loopback-dc (i.e. droidcam) is 640x480."
+ elog "You can change this value in /etc/modprobe.d/v4l2loopback-dc.conf"
+ elog
+ elog "Links to the Android/iPhone/iPad apps can be found at"
+ elog "https://www.dev47apps.com/"
+}
+
+pkg_postrm() {
+ if use gtk; then
+ xdg_pkg_postrm
+ fi
+}
diff --git a/media-video/droidcam/files/droidcam-1.8.2-makefile-fixes.patch b/media-video/droidcam/files/droidcam-1.8.2-makefile-fixes.patch
deleted file mode 100644
index 56b7589b2d12..000000000000
--- a/media-video/droidcam/files/droidcam-1.8.2-makefile-fixes.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-diff --git a/Makefile b/Makefile
-index 7be3c15..85ef623 100644
---- a/Makefile
-+++ b/Makefile
-@@ -6,25 +6,19 @@
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- # Use at your own risk. See README file for more details.
-
--JPEG_DIR ?= /opt/libjpeg-turbo
--JPEG_INCLUDE ?= $(JPEG_DIR)/include
--JPEG_LIB ?= $(JPEG_DIR)/lib`getconf LONG_BIT`
--
--CC = gcc
--CFLAGS = -Wall -O2
- GTK = `pkg-config --libs --cflags gtk+-3.0` `pkg-config --libs x11`
- GTK += `pkg-config --cflags --libs appindicator3-0.1`
- LIBAV = `pkg-config --libs --cflags libswscale libavutil`
- LIBS = -lspeex -lasound -lpthread -lm
--JPEG = -I$(JPEG_INCLUDE) $(JPEG_LIB)/libturbojpeg.a
-+JPEG = `pkg-config --libs --cflags libturbojpeg`
- SRC = src/connection.c src/settings.c src/decoder*.c src/av.c src/usb.c src/queue.c
--USBMUXD = -lusbmuxd
-+USBMUXD = -lusbmuxd-2.0
-
- all: droidcam-cli droidcam
-
- ifneq "$(RELEASE)" ""
--LIBAV = /usr/lib/x86_64-linux-gnu/libswscale.a /usr/lib/x86_64-linux-gnu/libavutil.a
--SRC += src/libusbmuxd.a src/libxml2.a src/libplist-2.0.a
-+LIBAV = /usr/lib/x86_64-linux-gnu/libswscale.so /usr/lib/x86_64-linux-gnu/libavutil.so
-+SRC += src/libusbmuxd-2.0.so src/libxml2.so src/libplist-2.0.so
- package: clean all
- zip "droidcam_$(RELEASE).zip" \
- LICENSE README* icon2.png \
-@@ -40,11 +34,11 @@ gresource: .gresource.xml icon2.png
-
- droidcam-cli: LDLIBS += $(JPEG) $(LIBAV) $(LIBS)
- droidcam-cli: src/droidcam-cli.c $(SRC)
-- $(CC) $(CPPFLAGS) $(CFLAGS) $^ -o $@ $(LDFLAGS) $(LDLIBS)
-+ $(CC) $(CPPFLAGS) $(CXXFLAGS) $(CFLAGS) $^ -o $@ $(LDFLAGS) $(LDLIBS)
-
- droidcam: LDLIBS += $(GTK) $(JPEG) $(LIBAV) $(LIBS)
- droidcam: src/droidcam.c src/resources.c $(SRC)
-- $(CC) $(CPPFLAGS) $(CFLAGS) $^ -o $@ $(LDFLAGS) $(LDLIBS)
-+ $(CC) $(CPPFLAGS) $(CXXFLAGS) $(CFLAGS) $^ -o $@ $(LDFLAGS) $(LDLIBS)
-
- clean:
- rm -f droidcam
-diff --git a/v4l2loopback/Makefile b/v4l2loopback/Makefile
-index 28c4502..02356e9 100644
---- a/v4l2loopback/Makefile
-+++ b/v4l2loopback/Makefile
-@@ -11,7 +11,7 @@ install:
- $(MAKE) -C $(KERNEL_DIR) M=$(PWD) modules_install
-
- test:
-- gcc test.c -o test
-+ $(CC) test.c -o test
-
- clean:
- $(MAKE) -C $(KERNEL_DIR) M=$(PWD) clean
diff --git a/media-video/droidcam/files/droidcam-1.8.2_p20220831-makefile-fixes.patch b/media-video/droidcam/files/droidcam-1.8.2_p20220831-makefile-fixes.patch
deleted file mode 100644
index 60454427e41a..000000000000
--- a/media-video/droidcam/files/droidcam-1.8.2_p20220831-makefile-fixes.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-diff --git a/Makefile b/Makefile
-index b372b09..d18ddba 100644
---- a/Makefile
-+++ b/Makefile
-@@ -11,31 +11,21 @@
- # Example:
- # APPINDICATOR=ayatana-appindicator3-0.1 make droidcam
-
--APPINDICATOR ?= appindicator3-0.1
--JPEG_DIR ?= /opt/libjpeg-turbo
--JPEG_INCLUDE ?= $(JPEG_DIR)/include
--JPEG_LIB ?= $(JPEG_DIR)/lib`getconf LONG_BIT`
--
--
--CC = gcc
--CFLAGS = -Wall -O2
- GTK = `pkg-config --libs --cflags gtk+-3.0` `pkg-config --libs x11`
--GTK += `pkg-config --libs --cflags $(APPINDICATOR)`
-+GTK += `pkg-config --libs --cflags ayatana-appindicator3-0.1`
- LIBAV = `pkg-config --libs --cflags libswscale libavutil`
- LIBS = -lspeex -lasound -lpthread -lm
--JPEG = -I$(JPEG_INCLUDE) $(JPEG_LIB)/libturbojpeg.a
-+JPEG = `pkg-config --libs --cflags libturbojpeg`
- SRC = src/connection.c src/settings.c src/decoder*.c src/av.c src/usb.c src/queue.c
--USBMUXD = -lusbmuxd
-+USBMUXD = -lusbmuxd-2.0
-
--ifneq ($(findstring ayatana,$(APPINDICATOR)),)
-- CFLAGS += -DUSE_AYATANA_APPINDICATOR
--endif
-+CFLAGS += -DUSE_AYATANA_APPINDICATOR
-
-
- all: droidcam-cli droidcam
-
- ifneq "$(RELEASE)" ""
--SRC += src/libusbmuxd.a src/libxml2.a src/libplist-2.0.a
-+SRC += src/libusbmuxd-2.0.s0 src/libxml2.so src/libplist-2.0.so
- package: clean all
- zip "droidcam_$(RELEASE).zip" \
- LICENSE README* icon2.png \
-@@ -51,11 +41,11 @@ gresource: .gresource.xml icon2.png
-
- droidcam-cli: LDLIBS += $(JPEG) $(LIBAV) $(LIBS)
- droidcam-cli: src/droidcam-cli.c $(SRC)
-- $(CC) $(CPPFLAGS) $(CFLAGS) $^ -o $@ $(LDFLAGS) $(LDLIBS)
-+ $(CC) $(CXXFLAGS) $(CPPFLAGS) $(CFLAGS) $^ -o $@ $(LDFLAGS) $(LDLIBS)
-
- droidcam: LDLIBS += $(GTK) $(JPEG) $(LIBAV) $(LIBS)
- droidcam: src/droidcam.c src/resources.c $(SRC)
-- $(CC) $(CPPFLAGS) $(CFLAGS) $^ -o $@ $(LDFLAGS) $(LDLIBS)
-+ $(CC) $(CXXFLAGS) $(CPPFLAGS) $(CFLAGS) $^ -o $@ $(LDFLAGS) $(LDLIBS)
-
- clean:
- rm -f droidcam
-diff --git a/v4l2loopback/Makefile b/v4l2loopback/Makefile
-index 28c4502..02356e9 100644
---- a/v4l2loopback/Makefile
-+++ b/v4l2loopback/Makefile
-@@ -11,7 +11,7 @@ install:
- $(MAKE) -C $(KERNEL_DIR) M=$(PWD) modules_install
-
- test:
-- gcc test.c -o test
-+ $(CC) test.c -o test
-
- clean:
- $(MAKE) -C $(KERNEL_DIR) M=$(PWD) clean
diff --git a/media-video/droidcam/files/droidcam-2.0.0-libusbmuxd-20.patch b/media-video/droidcam/files/droidcam-2.0.0-libusbmuxd-20.patch
new file mode 100644
index 000000000000..71625224aabe
--- /dev/null
+++ b/media-video/droidcam/files/droidcam-2.0.0-libusbmuxd-20.patch
@@ -0,0 +1,13 @@
+diff --git a/Makefile b/Makefile
+index f45cd20..0cf696b 100644
+--- a/Makefile
++++ b/Makefile
+@@ -20,7 +20,7 @@ GTK = `pkg-config --libs --cflags gtk+-3.0` `pkg-config --libs x11`
+ GTK += `pkg-config --libs --cflags $(APPINDICATOR)`
+ LIBAV = `pkg-config --libs --cflags libswscale libavutil`
+ JPEG = `pkg-config --libs --cflags libturbojpeg`
+-USBMUXD = `pkg-config --libs --cflags libusbmuxd`
++USBMUXD = `pkg-config --libs --cflags libusbmuxd-2.0`
+ LIBS = -lspeex -lasound -lpthread -lm
+ SRC = src/connection.c src/settings.c src/decoder*.c src/av.c src/usb.c src/queue.c
+
diff --git a/media-video/dvbsnoop/dvbsnoop-1.4.50-r2.ebuild b/media-video/dvbsnoop/dvbsnoop-1.4.50-r2.ebuild
index 51ab1051f484..cb7dbe43fd2d 100644
--- a/media-video/dvbsnoop/dvbsnoop-1.4.50-r2.ebuild
+++ b/media-video/dvbsnoop/dvbsnoop-1.4.50-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -11,7 +11,7 @@ LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 ~ppc x86"
-DEPEND="virtual/linuxtv-dvb-headers"
+DEPEND="sys-kernel/linux-headers"
PATCHES=(
"${FILESDIR}"/${P}-crc32.patch
diff --git a/media-video/dvbsnoop/dvbsnoop-1.4.50-r3.ebuild b/media-video/dvbsnoop/dvbsnoop-1.4.50-r3.ebuild
new file mode 100644
index 000000000000..0d5d026fa7f2
--- /dev/null
+++ b/media-video/dvbsnoop/dvbsnoop-1.4.50-r3.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools toolchain-funcs
+
+DESCRIPTION="DVB/MPEG stream analyzer program"
+HOMEPAGE="https://sourceforge.net/projects/dvbsnoop/"
+SRC_URI="mirror://sourceforge/dvbsnoop/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+
+DEPEND="sys-kernel/linux-headers"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-crc32.patch
+)
+
+src_configure(){
+ default
+ eautoreconf
+}
+
+src_compile(){
+ emake AR="$(tc-getAR)"
+}
diff --git a/media-video/dvd9to5/Manifest b/media-video/dvd9to5/Manifest
deleted file mode 100644
index 3a5ad4b1197e..000000000000
--- a/media-video/dvd9to5/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST dvd9to5-0.1.7.tar.bz2 11803 BLAKE2B 33ce2e5490f6c1dc3bafb58d628d705fb6fd14c3322e7fd49fbc598852aeedf6fc942604457da3a2e41dd838c58bbedfcac70ff03c61c0ccf8fe926c187b90da SHA512 5329ad810d181b62d3b57b48f21dc8114fb11806745ab611e1aac5980f3e732c740aaddf17de7ef6f23769c9da934e646c01e82c9aed3390b5a2f9ad704f5f84
diff --git a/media-video/dvd9to5/dvd9to5-0.1.7.ebuild b/media-video/dvd9to5/dvd9to5-0.1.7.ebuild
deleted file mode 100644
index 8286c3a01832..000000000000
--- a/media-video/dvd9to5/dvd9to5-0.1.7.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="Perl script to backup the main feature of a DVD-9 on DVD-5"
-HOMEPAGE="https://wiki.gentoo.org/wiki/No_homepage"
-SRC_URI="http://bluray.beandog.org/dvd9to5/${P}.tar.bz2"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 ppc x86"
-IUSE=""
-
-RDEPEND="
- app-cdr/dvd+rw-tools
- dev-lang/perl
- >=media-video/dvdauthor-0.6.10
- >=media-video/mjpegtools-1.6.2
- >=media-video/transcode-0.6.11"
-
-src_install() {
- dobin dvd9to5.pl
- dodoc CHANGELOG README TODO dvd9to5.conf.example
-}
diff --git a/media-video/dvd9to5/metadata.xml b/media-video/dvd9to5/metadata.xml
deleted file mode 100644
index 716be526394b..000000000000
--- a/media-video/dvd9to5/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/dvd_info/Manifest b/media-video/dvd_info/Manifest
index 12601a622bc1..b79edea352b9 100644
--- a/media-video/dvd_info/Manifest
+++ b/media-video/dvd_info/Manifest
@@ -1 +1,2 @@
-DIST dvd_info-1.1.tar.gz 260999 BLAKE2B 38a9a0b69cd507dd663afdcedba196632ecef6d1193886ec02348d2de2200fd51d3315814180a3c9c170d60042ac91972281c5c99108b5d7f41cca1af8ca3c78 SHA512 30c70d96fa79b221a653d67510261f1186e3c7a79045ac53df2219ee896f18030cf27dbef8ca73fd62282670f5781ba75cf6765744b51f66da77979c5688acc0
+DIST dvd_info-1.15.tar.gz 305270 BLAKE2B 99cbf6d1b5c45bb761e02ca71fa8e551b79543acf042967215a1d9b64486633ac1ff34be8c34eecb4e6712acfbb0bce087a258ba239305159f8b1ba72493bc57 SHA512 443876ecad3dca7808b73f5bd9d368ca32a881c741c7f47fd92ab9f095d7ab80d3db4bc4060fb73a24ef0c477f2ba4ab8fb49c82938584fbafd6bfeb7999074d
+DIST dvd_info-1.16.tar.gz 304949 BLAKE2B 3a2e6476fdd5798d95d407c018b80d046b5c1aedbf35bf42308920523fe457aa603851bcc69518530fb3ec89d6fa895de4bd6610fa9f3ec300a1459e87501494 SHA512 43c85a3cf856c0688f8af3226ba87c3e178e63dc0b6b586ee63784be184c0f2529ae090cd07fcb43580c0b08d7fe9dd9e8850cd82a26a2295e82373625bdba15
diff --git a/media-video/dvd_info/dvd_info-1.1.ebuild b/media-video/dvd_info/dvd_info-1.1.ebuild
deleted file mode 100644
index 86a5bd527d02..000000000000
--- a/media-video/dvd_info/dvd_info-1.1.ebuild
+++ /dev/null
@@ -1,16 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-DESCRIPTION="DVD utilities to print information, copy tracks, etc."
-HOMEPAGE="https://github.com/beandog/dvd_info"
-SRC_URI="mirror://sourceforge/dvdinfo/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-DEPEND="media-libs/libdvdread"
-RDEPEND="${DEPEND}"
diff --git a/media-video/dvd_info/dvd_info-1.15.ebuild b/media-video/dvd_info/dvd_info-1.15.ebuild
new file mode 100644
index 000000000000..c42aa4c12410
--- /dev/null
+++ b/media-video/dvd_info/dvd_info-1.15.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="DVD utilities to print information, copy tracks, etc."
+HOMEPAGE="https://github.com/beandog/dvd_info"
+SRC_URI="https://github.com/beandog/dvd_info/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="+libmpv"
+
+DEPEND="media-libs/libdvdread[css]
+ libmpv? ( media-video/mpv[libmpv,dvd] )"
+RDEPEND="${DEPEND}"
+
+src_configure() {
+ econf \
+ $(use_with libmpv)
+}
diff --git a/media-video/dvd_info/dvd_info-1.16.ebuild b/media-video/dvd_info/dvd_info-1.16.ebuild
new file mode 100644
index 000000000000..90d0eecc2622
--- /dev/null
+++ b/media-video/dvd_info/dvd_info-1.16.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/beandog/dvd_info.git"
+else
+ SRC_URI="https://github.com/beandog/dvd_info/archive/${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+DESCRIPTION="DVD utilities to print information, copy tracks, backup, etc"
+HOMEPAGE="https://github.com/beandog/dvd_info"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="+libmpv"
+
+DEPEND="
+ media-libs/libdvdread
+ libmpv? ( media-video/mpv[libmpv,dvd] )
+"
+RDEPEND="${DEPEND}"
+
+src_configure() {
+ econf \
+ $(use_with libmpv)
+}
diff --git a/media-video/dvd_info/dvd_info-9999.ebuild b/media-video/dvd_info/dvd_info-9999.ebuild
new file mode 100644
index 000000000000..90d0eecc2622
--- /dev/null
+++ b/media-video/dvd_info/dvd_info-9999.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/beandog/dvd_info.git"
+else
+ SRC_URI="https://github.com/beandog/dvd_info/archive/${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+DESCRIPTION="DVD utilities to print information, copy tracks, backup, etc"
+HOMEPAGE="https://github.com/beandog/dvd_info"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="+libmpv"
+
+DEPEND="
+ media-libs/libdvdread
+ libmpv? ( media-video/mpv[libmpv,dvd] )
+"
+RDEPEND="${DEPEND}"
+
+src_configure() {
+ econf \
+ $(use_with libmpv)
+}
diff --git a/media-video/dvd_info/metadata.xml b/media-video/dvd_info/metadata.xml
index 20fe1340014c..67ee666ee1e4 100644
--- a/media-video/dvd_info/metadata.xml
+++ b/media-video/dvd_info/metadata.xml
@@ -1,10 +1,14 @@
<?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>
-<upstream>
-<remote-id type="sourceforge">dvdinfo</remote-id>
-</upstream>
+ <maintainer type="project">
+ <email>media-video@gentoo.org</email>
+ </maintainer>
+ <use>
+ <flag name="libmpv">Build DVD player using libmpv</flag>
+ </use>
+ <upstream>
+ <remote-id type="sourceforge">dvdinfo</remote-id>
+ <remote-id type="github">beandog/dvd_info</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/media-video/dvdauthor/dvdauthor-0.7.2-r2.ebuild b/media-video/dvdauthor/dvdauthor-0.7.2-r3.ebuild
index dcd1561b0b16..2ad99789f374 100644
--- a/media-video/dvdauthor/dvdauthor-0.7.2-r2.ebuild
+++ b/media-video/dvdauthor/dvdauthor-0.7.2-r3.ebuild
@@ -1,34 +1,35 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
+
inherit autotools flag-o-matic toolchain-funcs
DESCRIPTION="Tools for generating DVD files to be played on standalone DVD players"
-HOMEPAGE="http://dvdauthor.sourceforge.net/"
+HOMEPAGE="https://dvdauthor.sourceforge.net/"
SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+S="${WORKDIR}/${PN}"
-LICENSE="GPL-2"
+LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="amd64 ppc ppc64 sparc x86"
IUSE="graphicsmagick +imagemagick"
-REQUIRED_USE="^^ ( graphicsmagick imagemagick )"
RDEPEND=">=dev-libs/fribidi-0.19.2
dev-libs/libxml2
>=media-libs/freetype-2
media-libs/libdvdread
media-libs/libpng:0=
- graphicsmagick? ( media-gfx/graphicsmagick:= )
- imagemagick? ( media-gfx/imagemagick:= )"
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
-
-S="${WORKDIR}/${PN}"
-
-DOCS=( AUTHORS ChangeLog README TODO )
-
-PATCHES=( "${FILESDIR}/${PN}-freetype_pkgconfig.patch" )
+ imagemagick? (
+ graphicsmagick? ( media-gfx/graphicsmagick:= )
+ imagemagick? ( media-gfx/imagemagick:= )
+ )"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-freetype-pkgconfig.patch
+)
src_prepare() {
default
diff --git a/media-video/dvdauthor/files/dvdauthor-freetype_pkgconfig.patch b/media-video/dvdauthor/files/dvdauthor-0.7.2-freetype-pkgconfig.patch
index bb9858f437d4..1ddf49403e46 100644
--- a/media-video/dvdauthor/files/dvdauthor-freetype_pkgconfig.patch
+++ b/media-video/dvdauthor/files/dvdauthor-0.7.2-freetype-pkgconfig.patch
@@ -1,3 +1,5 @@
+https://github.com/ldo/dvdauthor/commit/d5bb0bdd542c33214855a7062fcc485f8977934e
+
From 259f892fe61f16c26733506d2511eec7ff136dc4 Mon Sep 17 00:00:00 2001
From: Lars Wendler <polynomial-c@gentoo.org>
Date: Mon, 7 May 2018 09:18:48 +0200
diff --git a/media-video/dvdauthor/metadata.xml b/media-video/dvdauthor/metadata.xml
index 01dfeec842c4..1479cf0f2ecd 100644
--- a/media-video/dvdauthor/metadata.xml
+++ b/media-video/dvdauthor/metadata.xml
@@ -6,5 +6,6 @@
</maintainer>
<upstream>
<remote-id type="sourceforge">dvdauthor</remote-id>
+ <remote-id type="github">ldo/dvdauthor</remote-id>
</upstream>
</pkgmetadata>
diff --git a/media-video/dvdbackup/dvdbackup-0.4.2-r2.ebuild b/media-video/dvdbackup/dvdbackup-0.4.2-r2.ebuild
index d515df7b66d1..9b4aa9ffff47 100644
--- a/media-video/dvdbackup/dvdbackup-0.4.2-r2.ebuild
+++ b/media-video/dvdbackup/dvdbackup-0.4.2-r2.ebuild
@@ -9,7 +9,7 @@ SRC_URI="mirror://sourceforge/${PN}/${P}.tar.xz"
LICENSE="GPL-3"
SLOT="0"
-KEYWORDS="amd64 ppc ppc64 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-solaris"
+KEYWORDS="amd64 ppc ppc64 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
IUSE="nls"
RDEPEND=">=media-libs/libdvdread-4.2.0_pre:=
diff --git a/media-video/dvdrip/Manifest b/media-video/dvdrip/Manifest
deleted file mode 100644
index 46a6d819324c..000000000000
--- a/media-video/dvdrip/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST dvdrip-0.98.11.tar.gz 2075302 BLAKE2B 875ea2d9ee679657b7bebce10ecf037a2467f7e61a8ae8f9417bbb93115368d439e1347b8e0f9c9aae88e8e6d0886ac7dc9b5650420618231550994cca0b65ff SHA512 8bb2e4cb72666ac3f7d1953e02ac868070503f00b05ea39b4961f54042088d07abd4ef020a9cefec11e96e965d84dd95d00288e7562d92551f480ccba88b9dce
diff --git a/media-video/dvdrip/dvdrip-0.98.11-r5.ebuild b/media-video/dvdrip/dvdrip-0.98.11-r5.ebuild
deleted file mode 100644
index 7065ceb972ad..000000000000
--- a/media-video/dvdrip/dvdrip-0.98.11-r5.ebuild
+++ /dev/null
@@ -1,86 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit desktop flag-o-matic perl-module
-
-DESCRIPTION="dvd::rip is a graphical frontend for transcode"
-HOMEPAGE="https://www.exit1.org/dvdrip/"
-SRC_URI="https://www.exit1.org/dvdrip/dist/${P}.tar.gz"
-
-SLOT="0"
-KEYWORDS="amd64 ppc ppc64 x86"
-IUSE="ffmpeg fping mplayer ogg subtitles vcd vorbis xine xvid"
-
-DEPEND=">=dev-perl/Event-ExecFlow-0.64
- >=dev-perl/Event-RPC-0.89
- dev-perl/Gtk2
- >=dev-perl/gtk2-ex-formfactory-0.65
- >=dev-perl/libintl-perl-1.16
- >=media-video/transcode-1.1.0[dvd,jpeg,mp3,ogg,vorbis]
- virtual/imagemagick-tools
- >=virtual/perl-podlators-2.5.3
-"
-RDEPEND="${DEPEND}
- x11-libs/gdk-pixbuf:2[jpeg]
- x11-libs/gtk+:2
- ffmpeg? ( media-video/ffmpeg:0 )
- fping? ( >=net-analyzer/fping-2.2 )
- mplayer? ( media-video/mplayer )
- ogg? ( media-sound/ogmtools )
- subtitles? ( media-video/subtitleripper )
- vcd? (
- media-video/transcode[mjpeg]
- >=media-video/mjpegtools-1.6.0
- )
- vorbis? ( media-sound/vorbis-tools )
- xine? ( media-video/xine-ui )
- xvid? ( media-video/xvid4conf )
- >=media-video/lsdvd-0.15
-"
-
-DOCS=( "Changes*" Credits README TODO )
-
-PATCHES=(
- "${FILESDIR}"/${P}-r5-fix_parallel_make.patch
-)
-
-src_prepare() {
- # bug #333739
- sed -i -e 's:$(CC):$(CC) $(OTHERLDFLAGS):' src/Makefile || die
-
- default
-
- # Fix default device for >=udev-180, bug #224559
- sed -i -e 's:/dev/dvd:/dev/cdrom:' lib/Video/DVDRip/Config.pm || die
-}
-
-src_configure() {
- filter-flags -ftracer
-
- # bug #255269
- export SKIP_UNPACK_REQUIRED_MODULES=1
-
- perl-module_src_configure
-}
-
-src_install() {
- newicon lib/Video/DVDRip/icon.xpm dvdrip.xpm
- make_desktop_entry dvdrip dvd::rip
-
- perl-module_src_install
-}
-
-pkg_postinst() {
- # bug #173924
- if use fping; then
- ewarn "For dvdrip-master to work correctly with cluster mode,"
- ewarn "the fping binary must be setuid."
- ewarn ""
- ewarn "Run this command to fix it:"
- ewarn "chmod u=rwsx,g=rx,o=rx ${EROOT}/usr/sbin/fping"
- ewarn ""
- ewarn "Note that this is a security risk when enabled."
- fi
-}
diff --git a/media-video/dvdrip/files/dvdrip-0.98.11-r5-fix_parallel_make.patch b/media-video/dvdrip/files/dvdrip-0.98.11-r5-fix_parallel_make.patch
deleted file mode 100644
index ded1f69cd28b..000000000000
--- a/media-video/dvdrip/files/dvdrip-0.98.11-r5-fix_parallel_make.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-http://bugs.gentoo.org/266739
-
---- a/src/Makefile
-+++ b/src/Makefile
-@@ -3,10 +3,10 @@
- all: ../bin/dvdrip-splitpipe ../bin/dvdrip-progress
-
- ../bin/dvdrip-splitpipe: dvdrip-splitpipe.c
-- $(CC) $(OTHERLDFLAGS) $(CFLAGS) -o dvdrip-splitpipe dvdrip-splitpipe.c && mv dvdrip-splitpipe ../bin
-+ $(CC) $(OTHERLDFLAGS) $(CFLAGS) -o ../bin/dvdrip-splitpipe dvdrip-splitpipe.c
-
- ../bin/dvdrip-progress: dvdrip-progress.c
-- $(CC) $(OTHERLDFLAGS) $(CFLAGS) -o dvdrip-progress dvdrip-progress.c && mv dvdrip-progress ../bin
-+ $(CC) $(OTHERLDFLAGS) $(CFLAGS) -o ../bin/dvdrip-progress dvdrip-progress.c
-
- clean:
- rm -f dvdrip-splitpipe ../bin/dvdrip-splitpipe dvdrip-progress ../bin/dvdrip-progress
---- a/Makefile.PL
-+++ b/Makefile.PL
-@@ -52,7 +52,7 @@
- sub MY::postamble {
- '
- bin/dvdrip-splitpipe bin/dvdrip-progress: src/Makefile
-- cd src && make
-+ cd src && ( $(MAKE) CC=$(CC) )
- ';
- }
-
diff --git a/media-video/dvdrip/metadata.xml b/media-video/dvdrip/metadata.xml
deleted file mode 100644
index cedf81611d9d..000000000000
--- a/media-video/dvdrip/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="project">
- <email>media-video@gentoo.org</email>
- </maintainer>
- <use>
- <flag name="fping">Enables fping support for cluster rendering</flag>
- <flag name="subtitles">Enables support for subtitle ripping</flag>
- </use>
-</pkgmetadata>
diff --git a/media-video/dvdstyler/dvdstyler-3.2.1-r1.ebuild b/media-video/dvdstyler/dvdstyler-3.2.1-r1.ebuild
new file mode 100644
index 000000000000..d8a814c94575
--- /dev/null
+++ b/media-video/dvdstyler/dvdstyler-3.2.1-r1.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_P=${P/dvds/DVDS}
+WX_GTK_VER=3.2-gtk3
+
+inherit wxwidgets
+
+DESCRIPTION="A cross-platform free DVD authoring application"
+HOMEPAGE="https://www.dvdstyler.org/"
+SRC_URI="mirror://sourceforge/${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
+ "${FILESDIR}"/wx32.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/dvdstyler/files/wx32.patch b/media-video/dvdstyler/files/wx32.patch
new file mode 100644
index 000000000000..1391fb3c1a83
--- /dev/null
+++ b/media-video/dvdstyler/files/wx32.patch
@@ -0,0 +1,12 @@
+Index: b/wxVillaLib/PropDlg.cpp
+===================================================================
+--- a/wxVillaLib/PropDlg.cpp 2021-11-07 10:42:36.000000000 +0200
++++ b/wxVillaLib/PropDlg.cpp 2022-08-01 09:06:10.548828062 +0200
+@@ -12,7 +12,6 @@
+ #include "utils.h"
+ #include <wx/fontdlg.h>
+ #include <wx/colordlg.h>
+-#include <wx/generic/colrdlgg.h>
+ #include <wx/filedlg.h>
+ #include <wx/dirdlg.h>
+ #include <wx/grid.h>
diff --git a/media-video/dvgrab/dvgrab-3.5-r1.ebuild b/media-video/dvgrab/dvgrab-3.5-r2.ebuild
index 4729214c762c..c0a687f01b1f 100644
--- a/media-video/dvgrab/dvgrab-3.5-r1.ebuild
+++ b/media-video/dvgrab/dvgrab-3.5-r2.ebuild
@@ -1,13 +1,13 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
DESCRIPTION="Digital Video (DV) grabber for GNU/Linux"
HOMEPAGE="https://github.com/ddennedy/dvgrab"
SRC_URI="mirror://sourceforge/kino/${P}.tar.gz"
-LICENSE="GPL-2"
+LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="amd64 ppc ~ppc64 x86"
IUSE="jpeg quicktime"
@@ -16,10 +16,10 @@ RDEPEND=">=sys-libs/libraw1394-1.1
>=media-libs/libdv-0.103
>=media-libs/libiec61883-1
>=sys-libs/libavc1394-0.5.1
- jpeg? ( virtual/jpeg:0 )
+ jpeg? ( media-libs/libjpeg-turbo:0= )
quicktime? ( media-libs/libquicktime )"
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
PATCHES=(
"${FILESDIR}/${PN}-3.5-gcc6.patch"
diff --git a/media-video/ffcast/ffcast-2.4.8.ebuild b/media-video/ffcast/ffcast-2.4.8.ebuild
index e1e4a89cbe13..4e151d7fae31 100644
--- a/media-video/ffcast/ffcast-2.4.8.ebuild
+++ b/media-video/ffcast/ffcast-2.4.8.ebuild
@@ -1,18 +1,18 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
inherit autotools
DESCRIPTION="Record screencasts using ffmpeg"
-HOMEPAGE="https://github.com/lolilolicon/ffcast"
-SRC_URI="https://github.com/lolilolicon/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+HOMEPAGE="https://github.com/ropery/ffcast"
+SRC_URI="https://github.com/ropery/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/FFcast-${PV}"
-LICENSE="GPL-3"
+LICENSE="GPL-3+"
SLOT="0"
KEYWORDS="~amd64 ~x86"
-IUSE=""
RDEPEND="x11-apps/xdpyinfo
x11-apps/xprop
@@ -20,9 +20,6 @@ RDEPEND="x11-apps/xdpyinfo
x11-apps/xrectsel
media-video/ffmpeg
>=app-shells/bash-4.3"
-DEPEND=""
-
-S="${WORKDIR}/FFcast-${PV}"
src_prepare() {
rmdir src/xrectsel
diff --git a/media-video/ffcast/metadata.xml b/media-video/ffcast/metadata.xml
index 5c8be46d88e6..242af210b08c 100644
--- a/media-video/ffcast/metadata.xml
+++ b/media-video/ffcast/metadata.xml
@@ -9,6 +9,6 @@
<name>Gentoo Video project</name>
</maintainer>
<upstream>
- <remote-id type="github">lolilolicon/ffcast</remote-id>
+ <remote-id type="github">ropery/ffcast</remote-id>
</upstream>
</pkgmetadata>
diff --git a/media-video/ffdiaporama/Manifest b/media-video/ffdiaporama/Manifest
index 95deb3493d2b..b47a6966a178 100644
--- a/media-video/ffdiaporama/Manifest
+++ b/media-video/ffdiaporama/Manifest
@@ -1,9 +1,2 @@
-DIST ffdiaporama-2.2-ffmpeg-3.0.patch 19635 BLAKE2B 000816945e74033b2620f635f59e762e82988ef60740ac14bfee02850cc6299ec0934a7f48afe03009a94bbb531e9668c9d16fe230db34d03ba54b0c42249348 SHA512 958025fee8df94a600fa4919fe9aa5574556c163a771b36213e90f116c13d0448a86e99a49b2ac4631c1b845ffb8c87789ac00cb8462fed1abbe9233e49a47fc
-DIST ffdiaporama-2.2-ffmpeg-4.0.patch 6648 BLAKE2B 1efaecf9dc6180539bc01a6e4f1403864ea2f9318cc1528aac0bb339d840e3eec40ddc60a531d8af52aae5592c38bbcad9d8dd260cedbe01ab655e2135766e6b SHA512 9588352af7b048ade3b681364a4edc29526241b0631e39314b9466f490d66a4e3b795f4c32afd0aadc2a3d63a9ce4e99a6bb77e4c3f79d959e68e82856882d32
-DIST ffdiaporama-2.2-ffmpeg-4.4.patch 1034 BLAKE2B f6105f5fc9d928c43fc33d2eb154d97843516f42754154690ca1651c90f9cce21ce03a80ca2fd0440611f30463077a67cccc9d2103d6ffecde80f7ca5ba48142 SHA512 14c2c8361836a0f95224577710b72d48fe9aa5c9a330777b8cb709a1ad02f95d9b8ba0f22ff9250e0a6898cfd8f6839658a94f59082d2da767299a81a38e9f8a
-DIST ffdiaporama-2.2-libav11.patch 18781 BLAKE2B 95da6d11fa31f18106184c0c14a524c42f03a169503ad58d72e871edc60ef52b5ee6ac6d757e8ddcaa66ba58a1b78bc1ca1a9b116d69a3526fd6bc3e5817a9d9 SHA512 f24f3f6b624763dcc3ea5bc0c52480d986fbec9b123ad5645c11a525c0eefb7b8708f90df4fb728dfab1d640c6dfab9a550874f59d333cff979e3ef56639416e
-DIST ffdiaporama-2.2_pre20220403.tar.gz 63270245 BLAKE2B 86e5926285b5c38146065cbbc53182eba77c25fa7eddd79e61276b949f5ad4f217f3e2562bed938f06c191493929afa7f24820ef957243f176b3f8e09d4284a9 SHA512 75076eadf1cbef38590ef250746228598ddb00bec2328589a6fb913ee3ae376a6587e6e90494986c5cbeda7aba6c342992cb5e71e5c8ce26e4fda12238ce72e4
-DIST ffdiaporama-2.2_pre20221007.tar.gz 63271591 BLAKE2B 0fbd20e571329bc294554c50a04920b837af4b62cf4cc7ef356dd9372a8f1f3f01c7b2736fba71c52d468261ad778107e332929ab90d2cf768698102d269a00c SHA512 a37966bb31853de42e7c03a9a1e913332e417278fe663f088d9d9ee763db163549993fa7271b53ad2d495cef5e05d11e3f13ab3343cace3cb4c202aadb461beb
-DIST ffdiaporama_bin_2.2.devel.2014.0701.tar.gz 18377677 BLAKE2B 74337dcb935eedfccb769562c9b763f642058d2fc8bf4a3c4a81b1ce857398ee759ce2cf269c31527cece2c18a48505ad46b197e10da8444cbf2131ffb3e1130 SHA512 6531381137c47d3fd2954d09fe922086de1b69638ed4b092faeb9e2982b463c6614314bda56512f6a315bd02b8600d815efb19dca3dae89947df9a48a2ae7b86
-DIST ffdiaporama_rsc_2.2.devel.2014.0503.tar.gz 18390602 BLAKE2B 58c38d1f62ec04b217add232873556cf57d13cd17ef672f2087b44c0aac9ee7bc890de3bb812cb1c57093565b06de51ed0ddb0465d9b7fce21311fedf51042a3 SHA512 73faafe54d7d9a3d8d91719ac56cec7323e0a497f77e0c9f243d84782aa6040677236d9e41d3b539c45d6aca2448d737912ec59bd2a7e417749ee548cd68652d
-DIST ffdiaporama_texturemate_1.0.2014.0125.tar.gz 30352923 BLAKE2B af558994a811508ff6b0f1dc34f33c60fca0a4f40c1cf675e08925b40c8312444a20ea95b0a0c9316225806096e9bbb209faf3e48b74041604c6d81be0175aba SHA512 e9aa9607d670a620b2e3c27d6ec5bf983eb31ab3d3139edf32ebb84d9ffa58b11c822f7db4b3f3c4a430b256719803df4a3a385bd467bdda09f8710d010eb2f5
+DIST ffdiaporama-2.2_pre20230525.tar.gz 63270147 BLAKE2B 26cc3ecd7966a945808481c18b2f9a239132cae5016f33e83ef5588c55b1f2a0d7609cd1bdfaf51ada75e1df5274733b7985f6eb3b3814260102f6c9e406ed68 SHA512 777d110b0948bc3c3bdb14e13b4ce09ec819bfac2759c715a1e247b1d6cf8c8461c1ec28a0315f034e4e5a19b4732ce583d71b2edd9c6375b7dae14868cc8dfe
+DIST ffdiaporama-2.2_pre20240203.tar.gz 63277387 BLAKE2B 466f8c38b4e308b024f1a8961a0efb0ec5f6c5fe651a8165bd74d8e87823bf3134c5234012f1bd7637d339df92d495f1fc4acaf63670b30ec220e1667963caa0 SHA512 e5e46997df7c90016380f15e4b8b5bab4c8df97e536d4f90216e09ab3c09114dba1b034ea8ce23a6b3c04808ba35e92fd850ab1c1bd8fa1db3e7d8ae7cb6d212
diff --git a/media-video/ffdiaporama/ffdiaporama-2.2_pre20140701-r2.ebuild b/media-video/ffdiaporama/ffdiaporama-2.2_pre20140701-r2.ebuild
deleted file mode 100644
index f32094e39d46..000000000000
--- a/media-video/ffdiaporama/ffdiaporama-2.2_pre20140701-r2.ebuild
+++ /dev/null
@@ -1,77 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-MY_PV=${PV%_pre20140701}
-BIN_PV=${MY_PV}.devel.2014.0701
-RSC_PV=${MY_PV}.devel.2014.0503
-TMT_PV=1.0.2014.0125
-inherit qmake-utils xdg-utils
-
-DESCRIPTION="Movie creator from photos and video clips"
-HOMEPAGE="https://ffdiaporama.tuxfamily.org"
-SRC_URI="https://download.tuxfamily.org/${PN}/Packages/Devel/${PN}_bin_${BIN_PV}.tar.gz
- https://download.tuxfamily.org/${PN}/Packages/Devel/${PN}_rsc_${RSC_PV}.tar.gz
- https://raw.githubusercontent.com/laurantino/gentoo-dist/master/ffdiaporama-2.2-libav11.patch
- https://raw.githubusercontent.com/laurantino/gentoo-dist/master/ffdiaporama-2.2-ffmpeg-3.0.patch
- https://raw.githubusercontent.com/laurantino/gentoo-dist/master/ffdiaporama-2.2-ffmpeg-4.0.patch
- https://raw.githubusercontent.com/laurantino/gentoo-dist/master/ffdiaporama-2.2-ffmpeg-4.4.patch
- texturemate? ( https://download.tuxfamily.org/${PN}/Packages/Stable/${PN}_texturemate_${TMT_PV}.tar.gz )"
-
-LICENSE="GPL-2 texturemate? ( CC-BY-3.0 )"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE="openclipart texturemate"
-
-RDEPEND="
- dev-qt/qtconcurrent:5
- dev-qt/qtcore:5
- dev-qt/qtgui:5
- dev-qt/qthelp:5
- dev-qt/qtmultimedia:5
- dev-qt/qtnetwork:5
- dev-qt/qtsql:5[sqlite]
- dev-qt/qtsvg:5
- dev-qt/qtwidgets:5
- dev-qt/qtxml:5
- media-gfx/exiv2:=
- >=media-video/ffmpeg-3:0=[encode]
- openclipart? ( media-gfx/openclipart[svg,-gzip] )"
-DEPEND="${RDEPEND}"
-
-DOCS=( authors.txt )
-PATCHES=( "${DISTDIR}"/${PN}-${MY_PV}-{ffmpeg-3.0,libav11,ffmpeg-4.0,ffmpeg-4.4}.patch )
-
-S="${WORKDIR}/ffDiaporama"
-
-src_prepare() {
- default
- echo "SUBDIRS += ../ffDiaporama_rsc" >> ffDiaporama.pro || die
- if use texturemate; then
- echo "SUBDIRS += ../ffDiaporama_texturemate" >> ffDiaporama.pro || die
- fi
-}
-
-src_configure() {
- eqmake5 QMAKE_CFLAGS_ISYSTEM=
-}
-
-src_install() {
- emake INSTALL_ROOT="${D}" install
- if use openclipart; then
- dosym ../../clipart/openclipart /usr/share/ffDiaporama/clipart/openclipart
- fi
-}
-
-pkg_postinst() {
- xdg_desktop_database_update
- xdg_mimeinfo_database_update
- xdg_icon_cache_update
-}
-
-pkg_postrm() {
- xdg_desktop_database_update
- xdg_mimeinfo_database_update
- xdg_icon_cache_update
-}
diff --git a/media-video/ffdiaporama/ffdiaporama-2.2_pre20221007.ebuild b/media-video/ffdiaporama/ffdiaporama-2.2_pre20230525.ebuild
index acb80e067b23..624ed4d35a2f 100644
--- a/media-video/ffdiaporama/ffdiaporama-2.2_pre20221007.ebuild
+++ b/media-video/ffdiaporama/ffdiaporama-2.2_pre20230525.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-COMMIT="cb0bb696bea9846fc63a43056c01ddc1efa4a2a8"
+COMMIT="6b2587064d705de42a3e88468d4922bc27b97e2a"
inherit qmake-utils xdg-utils
@@ -13,7 +13,7 @@ SRC_URI="https://github.com/laurantino/${PN}/archive/${COMMIT}.tar.gz -> ${P}.ta
LICENSE="GPL-3 CC-BY-3.0"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64 x86"
IUSE="openclipart"
RDEPEND="
diff --git a/media-video/ffdiaporama/ffdiaporama-2.2_pre20220403.ebuild b/media-video/ffdiaporama/ffdiaporama-2.2_pre20240203.ebuild
index f13a63fc974d..09236af881f4 100644
--- a/media-video/ffdiaporama/ffdiaporama-2.2_pre20220403.ebuild
+++ b/media-video/ffdiaporama/ffdiaporama-2.2_pre20240203.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-COMMIT="0557dc2d2489b88c813c695b0d75107be82292f8"
+COMMIT="edf0b29d9e14e0b81d54f9b086ff2f0dd2ed85c5"
inherit qmake-utils xdg-utils
@@ -27,7 +27,7 @@ RDEPEND="
dev-qt/qtwidgets:5
dev-qt/qtxml:5
media-gfx/exiv2:=
- >=media-video/ffmpeg-4:0=[encode]
+ >=media-video/ffmpeg-6:=[encode]
openclipart? ( media-gfx/openclipart[svg,-gzip] )"
DEPEND="${RDEPEND}"
diff --git a/media-video/ffdiaporama/metadata.xml b/media-video/ffdiaporama/metadata.xml
index dc6829f4891b..77033bf869e4 100644
--- a/media-video/ffdiaporama/metadata.xml
+++ b/media-video/ffdiaporama/metadata.xml
@@ -13,6 +13,7 @@
<changelog>http://ffdiaporama.tuxfamily.org/?page_id=7266&amp;lang=en</changelog>
<doc lang="en">http://ffdiaporama.tuxfamily.org/?page_id=6268</doc>
<bugs-to>http://ffdiaporama.tuxfamily.org/Forum/viewforum.php?id=4</bugs-to>
+ <remote-id type="github">laurantino/ffdiaporama</remote-id>
</upstream>
<longdescription lang="en">
ffDiaporama is an application for creating video sequences consisting of
@@ -38,6 +39,5 @@
</longdescription>
<use>
<flag name="openclipart">Support openclipart database</flag>
- <flag name="texturemate">Install extra backgrounds</flag>
</use>
</pkgmetadata>
diff --git a/media-video/ffmpeg-chromium/Manifest b/media-video/ffmpeg-chromium/Manifest
index 58a303503608..154062c50024 100644
--- a/media-video/ffmpeg-chromium/Manifest
+++ b/media-video/ffmpeg-chromium/Manifest
@@ -1,2 +1,5 @@
-DIST ffmpeg-chromium-102.tar.gz 15165192 BLAKE2B ecf9b9ff538730d8a265e25e3d30900b119bfa5baa8e097e58151d744c95b3e768b96f477f6394015cd77a8ae35991c7cdaee5fb2f700d129b6c6d7ee87b34d9 SHA512 f5aa4c47e801d2547321c7995240e004706f9b5835610f9726ac45a63ac58a62de64d463ddeb8c1a001d31d89a4dbaee3a1be568c33316f29dc2b675b2f3161a
-DIST ffmpeg-chromium-106.tar.xz 9707176 BLAKE2B 8ab9b006328e15faa38b8014f2870e7a9fd9eaacc723cd6079bfaadc05db4d1f8c542dff5a331e1f93c9c877eea6d2ed0dc2bf567c77680227b22b2a9baf8834 SHA512 9f04feee42bf548cbda542be16f186bfe0d8179289a1512cf77ec492a8608b2c9d5c758f93fb6d229be67c20762075dd266fa4b203556f8b7ec4bf66579f2b6b
+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
diff --git a/media-video/ffmpeg-chromium/ffmpeg-chromium-106.ebuild b/media-video/ffmpeg-chromium/ffmpeg-chromium-120.ebuild
index dab5245bdb83..f5c83cb50871 100644
--- a/media-video/ffmpeg-chromium/ffmpeg-chromium-106.ebuild
+++ b/media-video/ffmpeg-chromium/ffmpeg-chromium-120.ebuild
@@ -1,22 +1,22 @@
-# Copyright 1999-2022 Gentoo Authors
+# 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="42601c274d7a39f5ded391024c52ff444f144f75"
+COMMIT="bed545c1488e1f95075168dfe02388c16ffe1418"
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"
-SLOT="${PV}"
LICENSE="
!gpl? ( LGPL-2.1 )
gpl? ( GPL-2 )
"
+SLOT="${PV}"
-KEYWORDS="~amd64 ~arm ~arm64"
+KEYWORDS="amd64 ~arm ~arm64"
# Options to use as use_enable in the foo[:bar] form.
# This will feed configure with $(use_enable foo bar)
@@ -27,7 +27,7 @@ FFMPEG_FLAG_MAP=(
+gpl
vaapi vdpau vulkan
# decoders
- mmal +opus:libopus
+ mmal
nvenc:ffnvcodec
# Threads; we only support pthread for now but ffmpeg supports more
+threads:pthreads
@@ -47,16 +47,24 @@ ARM_CPU_FEATURES=(
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_thumb2 cpu_flags_arm_vfp )
+ 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? ( cpu_flags_arm_thumb )
+ 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_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 )
@@ -90,17 +98,18 @@ CPU_REQUIRED_USE="
RDEPEND="
mmal? ( media-libs/raspberrypi-userland )
- opus? ( >=media-libs/opus-1.0.2-r2 )
+ >=media-libs/opus-1.0.2-r2
vaapi? ( >=media-libs/libva-1.2.1-r1:0= )
- nvenc? ( >=media-libs/nv-codec-headers-9.1.23.1 )
+ nvenc? ( >=media-libs/nv-codec-headers-11.1.5.3 )
vdpau? ( >=x11-libs/libvdpau-0.7 )
- vulkan? ( >=media-libs/vulkan-loader-1.2.189:= )
+ vulkan? ( >=media-libs/vulkan-loader-1.3.255:= )
"
DEPEND="${RDEPEND}
+ vulkan? ( >=dev-util/vulkan-headers-1.3.255 )
"
BDEPEND="
- >=sys-devel/make-3.81
+ >=dev-build/make-3.81
virtual/pkgconfig
cpu_flags_x86_mmx? ( || ( >=dev-lang/nasm-2.13 >=dev-lang/yasm-1.3 ) )
"
@@ -112,7 +121,7 @@ RESTRICT="
"
PATCHES=(
- "${FILESDIR}"/${PN}-100.patch
+ "${FILESDIR}"/${PN}-120.patch
"${FILESDIR}"/chromium.patch
)
@@ -130,6 +139,9 @@ src_prepare() {
src_configure() {
local myconf=( )
+ # 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 \
@@ -162,7 +174,11 @@ src_configure() {
done
# LTO support, bug #566282, bug #754654, bug #772854
- is-flagq "-flto*" && myconf+=( "--enable-lto" )
+ 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
@@ -180,9 +196,6 @@ src_configure() {
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
- *freebsd*)
- myconf+=( --target-os=freebsd )
- ;;
*mingw32*)
myconf+=( --target-os=mingw32 )
;;
@@ -215,6 +228,7 @@ src_configure() {
--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 \
diff --git a/media-video/ffmpeg-chromium/ffmpeg-chromium-102.ebuild b/media-video/ffmpeg-chromium/ffmpeg-chromium-121.ebuild
index 73cbdcc5ebc1..99c72fcc7a81 100644
--- a/media-video/ffmpeg-chromium/ffmpeg-chromium-102.ebuild
+++ b/media-video/ffmpeg-chromium/ffmpeg-chromium-121.ebuild
@@ -1,20 +1,20 @@
-# Copyright 1999-2022 Gentoo Authors
+# 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="5cd95cdf972ad92c38a4ea2d059ac9d6167302ca"
+COMMIT="3997177624f6b302bbc8a7edbb6f8a6ab47ea978"
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.gz"
+SRC_URI="https://dev.gentoo.org/~chewi/distfiles/${P}.tar.xz"
-SLOT="${PV}"
LICENSE="
!gpl? ( LGPL-2.1 )
gpl? ( GPL-2 )
"
+SLOT="${PV}"
KEYWORDS="amd64 ~arm ~arm64"
@@ -27,8 +27,8 @@ FFMPEG_FLAG_MAP=(
+gpl
vaapi vdpau vulkan
# decoders
- mmal +opus:libopus
- video_cards_nvidia:ffnvcodec
+ mmal
+ nvenc:ffnvcodec
# Threads; we only support pthread for now but ffmpeg supports more
+threads:pthreads
)
@@ -47,16 +47,24 @@ ARM_CPU_FEATURES=(
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_thumb2 cpu_flags_arm_vfp )
+ 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? ( cpu_flags_arm_thumb )
+ 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_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 )
@@ -90,17 +98,18 @@ CPU_REQUIRED_USE="
RDEPEND="
mmal? ( media-libs/raspberrypi-userland )
- opus? ( >=media-libs/opus-1.0.2-r2 )
+ >=media-libs/opus-1.0.2-r2
vaapi? ( >=media-libs/libva-1.2.1-r1:0= )
- video_cards_nvidia? ( >=media-libs/nv-codec-headers-9.1.23.1 )
+ nvenc? ( >=media-libs/nv-codec-headers-11.1.5.3 )
vdpau? ( >=x11-libs/libvdpau-0.7 )
- vulkan? ( >=media-libs/vulkan-loader-1.2.189:= )
+ vulkan? ( >=media-libs/vulkan-loader-1.3.255:= )
"
DEPEND="${RDEPEND}
+ vulkan? ( >=dev-util/vulkan-headers-1.3.255 )
"
BDEPEND="
- >=sys-devel/make-3.81
+ >=dev-build/make-3.81
virtual/pkgconfig
cpu_flags_x86_mmx? ( || ( >=dev-lang/nasm-2.13 >=dev-lang/yasm-1.3 ) )
"
@@ -111,10 +120,8 @@ RESTRICT="
test
"
-S="${WORKDIR}"
-
PATCHES=(
- "${FILESDIR}"/${PN}-100.patch
+ "${FILESDIR}"/${PN}-120.patch
"${FILESDIR}"/chromium.patch
)
@@ -132,6 +139,9 @@ src_prepare() {
src_configure() {
local myconf=( )
+ # 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 \
@@ -163,9 +173,13 @@ src_configure() {
break
done
- # LTO support, bug #566282, bug #754654
- is-flagq "-flto*" && myconf+=( "--enable-lto" )
- filter-flags "-flto*"
+ # 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=(
@@ -182,9 +196,6 @@ src_configure() {
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
- *freebsd*)
- myconf+=( --target-os=freebsd )
- ;;
*mingw32*)
myconf+=( --target-os=mingw32 )
;;
@@ -194,13 +205,7 @@ src_configure() {
esac
fi
- local extra_libs
- if use arm || use ppc || use mips || [[ ${CHOST} == *i486* ]] ; then
- # bug #782811
- # bug #790590
- extra_libs+="$(test-flags-CCLD -latomic) "
- fi
-
+ # Use --extra-libs if needed for LIBS
set -- "${S}/configure" \
--prefix="${EPREFIX}/usr" \
--libdir="${EPREFIX}/usr/$(get_libdir)" \
@@ -213,7 +218,6 @@ src_configure() {
--ranlib="$(tc-getRANLIB)" \
--pkg-config="$(tc-getPKG_CONFIG)" \
--optflags="${CFLAGS}" \
- --extra-libs="${extra_libs}" \
--disable-all \
--disable-autodetect \
--disable-error-resilience \
@@ -224,6 +228,7 @@ src_configure() {
--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 \
diff --git a/media-video/ffmpeg-chromium/ffmpeg-chromium-123.ebuild b/media-video/ffmpeg-chromium/ffmpeg-chromium-123.ebuild
new file mode 100644
index 000000000000..cdb9ff78f655
--- /dev/null
+++ b/media-video/ffmpeg-chromium/ffmpeg-chromium-123.ebuild
@@ -0,0 +1,247 @@
+# 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=7c1b0b524c639beeb25363b1d0809ebe5c6efe5e
+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 ~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.255:= )
+"
+
+DEPEND="${RDEPEND}
+ vulkan? ( >=dev-util/vulkan-headers-1.3.255 )
+"
+BDEPEND="
+ >=dev-build/make-3.81
+ virtual/pkgconfig
+ cpu_flags_x86_mmx? ( || ( >=dev-lang/nasm-2.13 >=dev-lang/yasm-1.3 ) )
+"
+
+REQUIRED_USE="
+ ${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
+
+ # 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
+ myconf+=( $(use_enable ${i%:*} ${i#*:}) )
+ done
+
+ # CPU features
+ for i in "${CPU_FEATURES_MAP[@]}" ; do
+ use ${i%:*} || myconf+=( --disable-${i#*:} )
+ done
+
+ # Try to get cpu type based on CFLAGS.
+ # Bug #172723
+ # We need to do this so that features of that CPU will be better used
+ # If they contain an unknown CPU it will not hurt since ffmpeg's configure
+ # will just ignore it.
+ for i in $(get-flag mcpu) $(get-flag march) ; do
+ [[ ${i} = native ]] && i="host" # bug #273421
+ myconf+=( --cpu=${i} )
+ break
+ done
+
+ # LTO support, bug #566282, bug #754654, bug #772854
+ if [[ ${ABI} != x86 ]] && tc-is-lto; then
+ # Respect -flto value, e.g -flto=thin
+ local v="$(get-flag flto)"
+ [[ -n ${v} ]] && myconf+=( "--enable-lto=${v}" ) || myconf+=( "--enable-lto" )
+ fi
+ filter-lto
+
+ # Mandatory configuration
+ myconf=(
+ --disable-stripping
+ # This is only for hardcoded cflags; those are used in configure checks that may
+ # interfere with proper detections, bug #671746 and bug #645778
+ # We use optflags, so that overrides them anyway.
+ --disable-optimizations
+ --disable-libcelt # bug #664158
+ "${myconf[@]}"
+ )
+
+ # cross compile support
+ if tc-is-cross-compiler ; then
+ myconf+=( --enable-cross-compile --arch=$(tc-arch-kernel) --cross-prefix=${CHOST}- --host-cc="$(tc-getBUILD_CC)" )
+ case ${CHOST} in
+ *mingw32*)
+ myconf+=( --target-os=mingw32 )
+ ;;
+ *linux*)
+ myconf+=( --target-os=linux )
+ ;;
+ esac
+ fi
+
+ # Use --extra-libs if needed for LIBS
+ set -- "${S}/configure" \
+ --prefix="${EPREFIX}/usr" \
+ --libdir="${EPREFIX}/usr/$(get_libdir)" \
+ --shlibdir="${EPREFIX}/usr/$(get_libdir)" \
+ --cc="$(tc-getCC)" \
+ --cxx="$(tc-getCXX)" \
+ --ar="$(tc-getAR)" \
+ --nm="$(tc-getNM)" \
+ --strip="$(tc-getSTRIP)" \
+ --ranlib="$(tc-getRANLIB)" \
+ --pkg-config="$(tc-getPKG_CONFIG)" \
+ --optflags="${CFLAGS}" \
+ --disable-all \
+ --disable-autodetect \
+ --disable-error-resilience \
+ --disable-everything \
+ --disable-faan \
+ --disable-iconv \
+ --disable-network \
+ --enable-avcodec \
+ --enable-avformat \
+ --enable-avutil \
+ --enable-libopus \
+ --enable-decoder=aac,flac,h264,libopus,mp3,pcm_alaw,pcm_f32le,pcm_mulaw,pcm_s16be,pcm_s16le,pcm_s24be,pcm_s24le,pcm_s32le,pcm_u8,theora,vorbis,vp8 \
+ --enable-demuxer=aac,flac,matroska,mov,mp3,ogg,wav \
+ --enable-parser=aac,flac,h264,mpegaudio,opus,vorbis,vp3,vp8,vp9 \
+ --enable-pic \
+ --enable-static \
+ "${myconf[@]}" \
+ ${EXTRA_FFMPEG_CONF}
+
+ echo "${@}"
+ "${@}" || die
+}
+
+src_compile() {
+ emake V=1 libffmpeg
+}
+
+src_install() {
+ emake V=1 DESTDIR="${D}" install-libffmpeg
+}
diff --git a/media-video/ffmpeg-chromium/ffmpeg-chromium-124.ebuild b/media-video/ffmpeg-chromium/ffmpeg-chromium-124.ebuild
new file mode 100644
index 000000000000..74a941cdeb9e
--- /dev/null
+++ b/media-video/ffmpeg-chromium/ffmpeg-chromium-124.ebuild
@@ -0,0 +1,247 @@
+# 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="52d8ef3799b2f16b66351dd0972bb0bcee1648ac"
+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 ~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.255:= )
+"
+
+DEPEND="${RDEPEND}
+ vulkan? ( >=dev-util/vulkan-headers-1.3.255 )
+"
+BDEPEND="
+ >=dev-build/make-3.81
+ virtual/pkgconfig
+ cpu_flags_x86_mmx? ( || ( >=dev-lang/nasm-2.13 >=dev-lang/yasm-1.3 ) )
+"
+
+REQUIRED_USE="
+ ${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
+
+ # 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
+ myconf+=( $(use_enable ${i%:*} ${i#*:}) )
+ done
+
+ # CPU features
+ for i in "${CPU_FEATURES_MAP[@]}" ; do
+ use ${i%:*} || myconf+=( --disable-${i#*:} )
+ done
+
+ # Try to get cpu type based on CFLAGS.
+ # Bug #172723
+ # We need to do this so that features of that CPU will be better used
+ # If they contain an unknown CPU it will not hurt since ffmpeg's configure
+ # will just ignore it.
+ for i in $(get-flag mcpu) $(get-flag march) ; do
+ [[ ${i} = native ]] && i="host" # bug #273421
+ myconf+=( --cpu=${i} )
+ break
+ done
+
+ # LTO support, bug #566282, bug #754654, bug #772854
+ if [[ ${ABI} != x86 ]] && tc-is-lto; then
+ # Respect -flto value, e.g -flto=thin
+ local v="$(get-flag flto)"
+ [[ -n ${v} ]] && myconf+=( "--enable-lto=${v}" ) || myconf+=( "--enable-lto" )
+ fi
+ filter-lto
+
+ # Mandatory configuration
+ myconf=(
+ --disable-stripping
+ # This is only for hardcoded cflags; those are used in configure checks that may
+ # interfere with proper detections, bug #671746 and bug #645778
+ # We use optflags, so that overrides them anyway.
+ --disable-optimizations
+ --disable-libcelt # bug #664158
+ "${myconf[@]}"
+ )
+
+ # cross compile support
+ if tc-is-cross-compiler ; then
+ myconf+=( --enable-cross-compile --arch=$(tc-arch-kernel) --cross-prefix=${CHOST}- --host-cc="$(tc-getBUILD_CC)" )
+ case ${CHOST} in
+ *mingw32*)
+ myconf+=( --target-os=mingw32 )
+ ;;
+ *linux*)
+ myconf+=( --target-os=linux )
+ ;;
+ esac
+ fi
+
+ # Use --extra-libs if needed for LIBS
+ set -- "${S}/configure" \
+ --prefix="${EPREFIX}/usr" \
+ --libdir="${EPREFIX}/usr/$(get_libdir)" \
+ --shlibdir="${EPREFIX}/usr/$(get_libdir)" \
+ --cc="$(tc-getCC)" \
+ --cxx="$(tc-getCXX)" \
+ --ar="$(tc-getAR)" \
+ --nm="$(tc-getNM)" \
+ --strip="$(tc-getSTRIP)" \
+ --ranlib="$(tc-getRANLIB)" \
+ --pkg-config="$(tc-getPKG_CONFIG)" \
+ --optflags="${CFLAGS}" \
+ --disable-all \
+ --disable-autodetect \
+ --disable-error-resilience \
+ --disable-everything \
+ --disable-faan \
+ --disable-iconv \
+ --disable-network \
+ --enable-avcodec \
+ --enable-avformat \
+ --enable-avutil \
+ --enable-libopus \
+ --enable-decoder=aac,flac,h264,libopus,mp3,pcm_alaw,pcm_f32le,pcm_mulaw,pcm_s16be,pcm_s16le,pcm_s24be,pcm_s24le,pcm_s32le,pcm_u8,theora,vorbis,vp8 \
+ --enable-demuxer=aac,flac,matroska,mov,mp3,ogg,wav \
+ --enable-parser=aac,flac,h264,mpegaudio,opus,vorbis,vp3,vp8,vp9 \
+ --enable-pic \
+ --enable-static \
+ "${myconf[@]}" \
+ ${EXTRA_FFMPEG_CONF}
+
+ echo "${@}"
+ "${@}" || die
+}
+
+src_compile() {
+ emake V=1 libffmpeg
+}
+
+src_install() {
+ emake V=1 DESTDIR="${D}" install-libffmpeg
+}
diff --git a/media-video/ffmpeg-chromium/ffmpeg-chromium-125.ebuild b/media-video/ffmpeg-chromium/ffmpeg-chromium-125.ebuild
new file mode 100644
index 000000000000..2b5c1d96a3ca
--- /dev/null
+++ b/media-video/ffmpeg-chromium/ffmpeg-chromium-125.ebuild
@@ -0,0 +1,248 @@
+# 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=901248a373cbbe7af68fb92faf3be7d4f679150d
+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 ~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
+
+ # 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
+ 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/files/ffmpeg-chromium-100.patch b/media-video/ffmpeg-chromium/files/ffmpeg-chromium-100.patch
deleted file mode 100644
index e0aa000faaa3..000000000000
--- a/media-video/ffmpeg-chromium/files/ffmpeg-chromium-100.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-diff -Naur a/configure b/configure
---- a/configure 2022-03-22 10:20:35.000000000 +0000
-+++ b/configure 2022-03-23 09:17:18.914615584 +0000
-@@ -6600,15 +6600,14 @@
- { require_pkg_config libopenjpeg "libopenjp2 >= 2.1.0" openjpeg.h opj_version -DOPJ_STATIC && add_cppflags -DOPJ_STATIC; } }
- enabled libopenmpt && require_pkg_config libopenmpt "libopenmpt >= 0.2.6557" libopenmpt/libopenmpt.h openmpt_module_create -lstdc++ && append libopenmpt_extralibs "-lstdc++"
- enabled libopenvino && require libopenvino c_api/ie_c_api.h ie_c_api_version -linference_engine_c_api
--# Chromium uses a built in copy of libopus that is not visible to pkg-config.
--# enabled libopus && {
--# enabled libopus_decoder && {
--# require_pkg_config libopus opus opus_multistream.h opus_multistream_decoder_create
--# }
--# enabled libopus_encoder && {
--# require_pkg_config libopus opus opus_multistream.h opus_multistream_surround_encoder_create
--# }
--# }
-+enabled libopus && {
-+ enabled libopus_decoder && {
-+ require_pkg_config libopus opus opus_multistream.h opus_multistream_decoder_create
-+ }
-+ enabled libopus_encoder && {
-+ require_pkg_config libopus opus opus_multistream.h opus_multistream_surround_encoder_create
-+ }
-+}
- enabled libplacebo && require_pkg_config libplacebo "libplacebo >= 4.192.0" libplacebo/vulkan.h pl_vulkan_create
- enabled libpulse && require_pkg_config libpulse libpulse pulse/pulseaudio.h pa_context_new
- enabled librabbitmq && require_pkg_config librabbitmq "librabbitmq >= 0.7.1" amqp.h amqp_new_connection
diff --git a/media-video/ffmpeg-chromium/files/ffmpeg-chromium-120.patch b/media-video/ffmpeg-chromium/files/ffmpeg-chromium-120.patch
new file mode 100644
index 000000000000..43ff3a5c9495
--- /dev/null
+++ b/media-video/ffmpeg-chromium/files/ffmpeg-chromium-120.patch
@@ -0,0 +1,27 @@
+diff --git a/configure b/configure
+index 553cb427d5..5045c4c238 100755
+--- a/configure
++++ b/configure
+@@ -6775,14 +6775,14 @@ enabled libopenvino && { { check_pkg_config libopenvino openvino openvino/
+ { check_pkg_config libopenvino openvino c_api/ie_c_api.h ie_c_api_version ||
+ require libopenvino c_api/ie_c_api.h ie_c_api_version -linference_engine_c_api; } }
+ # Chromium uses a built in copy of libopus that is not visible to pkg-config.
+-# enabled libopus && {
+-# enabled libopus_decoder && {
+-# require_pkg_config libopus opus opus_multistream.h opus_multistream_decoder_create
+-# }
+-# enabled libopus_encoder && {
+-# require_pkg_config libopus opus opus_multistream.h opus_multistream_surround_encoder_create
+-# }
+-# }
++enabled libopus && {
++ enabled libopus_decoder && {
++ require_pkg_config libopus opus opus_multistream.h opus_multistream_decoder_create
++ }
++ enabled libopus_encoder && {
++ require_pkg_config libopus opus opus_multistream.h opus_multistream_surround_encoder_create
++ }
++}
+ enabled libplacebo && require_pkg_config libplacebo "libplacebo >= 4.192.0" libplacebo/vulkan.h pl_vulkan_create
+ enabled libpulse && require_pkg_config libpulse libpulse pulse/pulseaudio.h pa_context_new
+ enabled librabbitmq && require_pkg_config librabbitmq "librabbitmq >= 0.7.1" amqp.h amqp_new_connection
diff --git a/media-video/ffmpeg-chromium/metadata.xml b/media-video/ffmpeg-chromium/metadata.xml
index 5e0aeba3b15e..026866d3f537 100644
--- a/media-video/ffmpeg-chromium/metadata.xml
+++ b/media-video/ffmpeg-chromium/metadata.xml
@@ -1,14 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="person">
- <email>chewi@gentoo.org</email>
- <name>James Le Cuirot</name>
-</maintainer>
+ <maintainer type="person">
+ <email>chewi@gentoo.org</email>
+ <name>James Le Cuirot</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>chromium@gentoo.org</email>
+ <name>Chromium in Gentoo Project</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>kangie@gentoo.org</email>
+ <name>Matt Jolly</name>
+ </maintainer>
<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>
- <flag name="vulkan">Enables support for the vulkan API for GPU offload.</flag>
</use>
</pkgmetadata>
diff --git a/media-video/ffmpeg/Manifest b/media-video/ffmpeg/Manifest
index dd82106c7cdd..d370d825a43e 100644
--- a/media-video/ffmpeg/Manifest
+++ b/media-video/ffmpeg/Manifest
@@ -1,8 +1,11 @@
-DIST ffmpeg-4.2.2-ppc64-altivec.patch.gz 7171 BLAKE2B 6676dadb22d2ab4b0f5c19b418448c5b9b54fd8c803c3f0ab517c6fa7990be08098dd6f6a2b1b3e77a1bed31a069c702366aba79ef9141ff9e23cd8c1b6e2885 SHA512 6653975017de3f7bde420860419fbdddb50ae41dbb811b819f4b5b13807bf885a4c01736f05a684515f97b0d63bd8896d5951a3276af90cc74abfe32dc2e2407
-DIST ffmpeg-4.2.2-ppc64-gcc.patch.gz 750 BLAKE2B 3a9cc7f0135e077c77179a7ca3da917bca3995d99d53b58221b23181a075f330132f83ea90a6110e89f90c7c3b5b2a7837559c5df414d9bd52dbb3ec166b1545 SHA512 701b0635e0819484a31de2062ba52d95ee03883ab56547cd75c3646a9b32bf3ecc7f719690b93f29202cfed0fdeecd26b51b9f3c66e72a999a3e8d9e97389275
-DIST ffmpeg-4.2.7.tar.bz2 10966448 BLAKE2B 91151a3ece19700fbc04f304ebad9f34ffce2de19416992ceccf3a347ab58195f746a0ace0a331cc1f34dafd87e4e8c6467268546b417d3f58a1cbbe41662807 SHA512 ab57fc370005d8f33eed2e0f18ac4f418372f47f03d43566c52f9ffc70de27e6ec1ba49faf6e3356fd8a495cff40a8073f8d85a625f6ee21bd7018e19b31734f
-DIST ffmpeg-4.2.8.tar.xz 9118672 BLAKE2B 7631bac87db7ce046a93c45422f0ffdc2929d9bb71798125dc403872b27f758015a5b0856e2b73edd47cbea2f3b3f6d94787f7d99846c9783826bd42b58b227a SHA512 40c3c0a2b9853220ad48ea7d9b6e6238238d8f914b1a845aa2be0961d88f5602daab79ca38dd21215077649bbd6967c9e9d9a993831a6735f3a00ae6b798c65f
-DIST ffmpeg-4.4.3.tar.xz 9566020 BLAKE2B a8b62a37151173f90821b876cf51e6819eb5519d7fb1f47b55b5f3003cb0e3d18d43c9482d70e32ef2bb6f5c6310260ec2c04ee997aad5ef687d598d838e9bc9 SHA512 0b232b66555237ed1a061807f88dbc5e6cd156e604c5d611bb6ac0c32b9006414cc4f30d632b482d9cb95f526df98b36efa3af9c863c52e7b7aa1a183545d915
-DIST ffmpeg-4.4.3.tar.xz.asc 520 BLAKE2B 999785516beb913d246d5f9de6e189ee644d0dba07f64ac90cbec91961ca181e5d6b95d9e097c362a76b543e3498672b1458edd68c23a86c3123ffc8e6c5ff2b SHA512 347abc8d75f4447296d8f6105b188a187daac158fbd972dc157b8a3597919519c20b8f649b7460df4e9aea249d74c6287e35bc389cc99ae5629490a36b345557
-DIST ffmpeg-5.1.2.tar.xz 10004956 BLAKE2B 4e2682f040205e6344ff1f2cf8ac69c35cac90a14634a2cd4b41fffc0e09264586b014327f7e9cb6417d12210894cdbc180541c07ad02e782bdf79af9f22991f SHA512 04d9ae2a0e9238c469941d2bb9929d59b58f4be3830846cf91b02a440da17803a04b147a4e0168c9ffd6f62ca82187508bc7b53255de9787a97168278e903b9b
-DIST ffmpeg-5.1.2.tar.xz.asc 520 BLAKE2B 57573afa9157e842efc6a22185aab133e5b5bd461c55d63bbb8b218e99f05fb17f4a679ee9e22c14060205894d7e71f011df7b0ceae15be4c7f5980cff739b32 SHA512 6afc898e3898a7d34e21f0f0bd0553765a46257332c6ece6226e3e043b842275a8d885b9ccca34bc90a2f008ae5fa14515276d23f921a518a63a47f6504af115
+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-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-rpi-6.1-r3.patch 800738 BLAKE2B b7e449ee5eec8b50a3b3bba233c5269f3b6845dbd18a619b844c841a97345ce24c7a5d7f4da05b08e3cb49668426b9044f3d3553d9c2ef3a50aec7199bfa3c09 SHA512 aeaf12afabf5f2192fb0b6ef47397d8477b109e49cee8c02a890d1656a27b1985c62c719ef72966d8c97b0709918233b65ea2e0ef988771507e4be137fcd9158
+DIST ffmpeg-rpi-6.1-r3.patch.asc 833 BLAKE2B 31fd5823c06d5884f7b0980de9072c35bbf4e1d6c0ed20b089439325d50956127238ca29469b003dba623b888a5aae3c4d8ad177862534e77b8e51f29cbed96c SHA512 3d8943b7151e20f73e9c14b121c501847bd7e01f2cf57ff135fc8c223653ec9d433bfe4012fa564f70c0471980b66d7ec3d9b5b1b14865187187719ba110cb5f
diff --git a/media-video/ffmpeg/ffmpeg-4.4.3.ebuild b/media-video/ffmpeg/ffmpeg-4.4.4-r9.ebuild
index 3a700cb2f82f..7eb94f61dbb6 100644
--- a/media-video/ffmpeg/ffmpeg-4.4.3.ebuild
+++ b/media-video/ffmpeg/ffmpeg-4.4.4-r9.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -30,9 +30,10 @@ if [ "${PV#9999}" != "${PV}" ] ; then
elif [ "${PV%_p*}" != "${PV}" ] ; then # Snapshot
SRC_URI="mirror://gentoo/${P}.tar.xz"
else # Release
- VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/ffmpeg.asc
+ 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 )"
@@ -84,14 +85,14 @@ FFMPEG_FLAG_MAP=(
# 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 libilbc librtmp ssh:libssh
+ 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 libass 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
@@ -107,7 +108,7 @@ FFMPEG_ENCODER_FLAG_MAP=(
)
IUSE="
- alsa chromium doc +encode oss pic sndio static-libs test v4l
+ alsa chromium doc +encode oss +pic sndio static-libs test v4l
${FFMPEG_FLAG_MAP[@]%:*}
${FFMPEG_ENCODER_FLAG_MAP[@]%:*}
"
@@ -125,11 +126,16 @@ ARM_CPU_FEATURES=(
)
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_thumb2 cpu_flags_arm_vfp )
+ 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? ( cpu_flags_arm_thumb )
+ 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 )
@@ -137,7 +143,8 @@ 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_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 )
@@ -172,12 +179,13 @@ CPU_REQUIRED_USE="
${X86_CPU_REQUIRED_USE}
"
-FFTOOLS=( aviocat cws2fws ffescape ffeval ffhash fourcc2pixfmt graph2dot ismindex pktdumper qt-faststart sidxindex trasher )
+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 )
+ 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}] )
@@ -209,6 +217,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}] )
@@ -244,6 +253,7 @@ RDEPEND="
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}] )
@@ -255,13 +265,13 @@ RDEPEND="
gnome-base/librsvg:2=[${MULTILIB_USEDEP}]
x11-libs/cairo[${MULTILIB_USEDEP}]
)
- nvenc? ( >=media-libs/nv-codec-headers-9.1.23.1 )
+ 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}] )
+ vmaf? ( media-libs/libvmaf:=[${MULTILIB_USEDEP}] )
vorbis? (
>=media-libs/libvorbis-1.3.3-r1[${MULTILIB_USEDEP}]
>=media-libs/libogg-1.3.0[${MULTILIB_USEDEP}]
@@ -281,8 +291,8 @@ RDEPEND="
"
RDEPEND="${RDEPEND}
- openssl? ( >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}] )
- !openssl? ( gnutls? ( >=net-libs/gnutls-2.12.23-r6:=[${MULTILIB_USEDEP}] ) )
+ openssl? ( >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}] )
+ !openssl? ( gnutls? ( >=net-libs/gnutls-2.12.23-r6:=[${MULTILIB_USEDEP}] ) )
"
DEPEND="${RDEPEND}
@@ -293,12 +303,12 @@ DEPEND="${RDEPEND}
# += for verify-sig above
BDEPEND+="
- >=sys-devel/make-3.81
+ >=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 sys-devel/bc )
+ test? ( net-misc/wget app-alternatives/bc )
"
# Code requiring FFmpeg to be built under gpl license
@@ -317,8 +327,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}"
@@ -332,7 +343,14 @@ S=${WORKDIR}/${P/_/-}
PATCHES=(
"${FILESDIR}"/chromium-r1.patch
"${FILESDIR}"/${PN}-5.0-backport-ranlib-build-fix.patch
- "${FILESDIR}"/${P}-clang-14-ff_seek_frame_binary-crash.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
)
MULTILIB_WRAPPED_HEADERS=(
@@ -357,6 +375,15 @@ 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}
@@ -458,7 +485,7 @@ multilib_src_configure() {
done
# LTO support, bug #566282, bug #754654, bug #772854
- [[ ${ABI} != x86 ]] && is-flagq "-flto*" && myconf+=( "--enable-lto" )
+ [[ ${ABI} != x86 ]] && tc-is-lto && myconf+=( "--enable-lto" )
filter-lto
# Mandatory configuration
@@ -478,9 +505,6 @@ multilib_src_configure() {
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
- *freebsd*)
- myconf+=( --target-os=freebsd )
- ;;
*mingw32*)
myconf+=( --target-os=mingw32 )
;;
@@ -559,7 +583,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:${BUILD_DIR}/libavresample" \
- emake V=1 fate
+ emake V=1 fate -k
}
multilib_src_install() {
@@ -593,5 +617,5 @@ multilib_src_install_all() {
dodoc Changelog README.md CREDITS doc/*.txt doc/APIchanges
[ -f "RELEASE_NOTES" ] && dodoc "RELEASE_NOTES"
- use amf && doenvd "${FILESDIR}"/amf-env-vulkan-override
+ use amf && newenvd "${FILESDIR}"/amf-env-vulkan-override 99amf-env-vulkan-override
}
diff --git a/media-video/ffmpeg/ffmpeg-5.1.2-r1.ebuild b/media-video/ffmpeg/ffmpeg-6.0-r12.ebuild
index 3467de2ac40e..27356c86a31d 100644
--- a/media-video/ffmpeg/ffmpeg-5.1.2-r1.ebuild
+++ b/media-video/ffmpeg/ffmpeg-6.0-r12.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -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=57.59.59
+FFMPEG_SUBSLOT=58.60.60
SCM=""
if [ "${PV#9999}" != "${PV}" ] ; then
@@ -30,7 +30,7 @@ if [ "${PV#9999}" != "${PV}" ] ; then
elif [ "${PV%_p*}" != "${PV}" ] ; then # Snapshot
SRC_URI="mirror://gentoo/${P}.tar.xz"
else # Release
- VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/ffmpeg.asc
+ VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/ffmpeg.asc
inherit verify-sig
SRC_URI="https://ffmpeg.org/releases/${P/_/-}.tar.xz"
SRC_URI+=" verify-sig? ( https://ffmpeg.org/releases/${P/_/-}.tar.xz.asc )"
@@ -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 ~x64-macos"
+ KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~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.
@@ -84,7 +84,7 @@ FFMPEG_FLAG_MAP=(
# 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:libmfx libilbc librtmp ssh:libssh
+ libaribb24 mmal 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
@@ -108,7 +108,7 @@ FFMPEG_ENCODER_FLAG_MAP=(
)
IUSE="
- alsa chromium doc +encode oss pic sndio static-libs test v4l
+ alsa chromium doc +encode oss +pic sndio static-libs test v4l
${FFMPEG_FLAG_MAP[@]%:*}
${FFMPEG_ENCODER_FLAG_MAP[@]%:*}
"
@@ -126,11 +126,16 @@ ARM_CPU_FEATURES=(
)
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_thumb2 cpu_flags_arm_vfp )
+ 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? ( cpu_flags_arm_thumb )
+ 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 )
@@ -138,7 +143,8 @@ 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_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 )
@@ -173,12 +179,13 @@ CPU_REQUIRED_USE="
${X86_CPU_REQUIRED_USE}
"
-FFTOOLS=( aviocat cws2fws ffescape ffeval ffhash fourcc2pixfmt graph2dot ismindex pktdumper qt-faststart sidxindex trasher )
+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 )
+ 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}] )
@@ -233,7 +240,7 @@ RDEPEND="
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] )
+ 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}] )
@@ -245,10 +252,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? ( >=virtual/opengl-7.0-r1[${MULTILIB_USEDEP}] )
+ opengl? ( media-libs/libglvnd[X,${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 )
+ 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}] )
@@ -260,13 +267,13 @@ RDEPEND="
gnome-base/librsvg:2=[${MULTILIB_USEDEP}]
x11-libs/cairo[${MULTILIB_USEDEP}]
)
- nvenc? ( >=media-libs/nv-codec-headers-9.1.23.1 )
+ nvenc? ( <media-libs/nv-codec-headers-12 )
svt-av1? ( >=media-libs/svt-av1-0.9.0[${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-2.0.0:=[${MULTILIB_USEDEP}] )
vorbis? (
>=media-libs/libvorbis-1.3.3-r1[${MULTILIB_USEDEP}]
>=media-libs/libogg-1.3.0[${MULTILIB_USEDEP}]
@@ -286,24 +293,24 @@ RDEPEND="
"
RDEPEND="${RDEPEND}
- openssl? ( >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}] )
- !openssl? ( gnutls? ( >=net-libs/gnutls-2.12.23-r6:=[${MULTILIB_USEDEP}] ) )
+ 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 )
+ amf? ( >=media-libs/amf-headers-1.4.28 )
ladspa? ( >=media-libs/ladspa-sdk-1.13-r2[${MULTILIB_USEDEP}] )
v4l? ( sys-kernel/linux-headers )
"
# += for verify-sig above
BDEPEND+="
- >=sys-devel/make-3.81
+ >=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 sys-devel/bc )
+ test? ( net-misc/wget app-alternatives/bc )
"
# Code requiring FFmpeg to be built under gpl license
@@ -336,6 +343,12 @@ 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}-4.4.4-opencl-parallel-gmake-fix.patch
)
MULTILIB_WRAPPED_HEADERS=(
@@ -430,7 +443,7 @@ multilib_src_configure() {
# (temporarily) disable non-multilib deps
if ! multilib_is_native_abi; then
- for i in librav1e libmfx libzmq ; do
+ for i in librav1e libzmq ; do
myconf+=( --disable-${i} )
done
fi
@@ -460,7 +473,7 @@ multilib_src_configure() {
done
# LTO support, bug #566282, bug #754654, bug #772854
- [[ ${ABI} != x86 ]] && is-flagq "-flto*" && myconf+=( "--enable-lto" )
+ [[ ${ABI} != x86 ]] && tc-is-lto && myconf+=( "--enable-lto" )
filter-lto
# Mandatory configuration
@@ -479,9 +492,6 @@ multilib_src_configure() {
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
- *freebsd*)
- myconf+=( --target-os=freebsd )
- ;;
*mingw32*)
myconf+=( --target-os=mingw32 )
;;
@@ -560,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" \
- emake V=1 fate
+ emake V=1 fate -k
}
multilib_src_install() {
@@ -594,5 +604,5 @@ multilib_src_install_all() {
dodoc Changelog README.md CREDITS doc/*.txt doc/APIchanges
[ -f "RELEASE_NOTES" ] && dodoc "RELEASE_NOTES"
- use amf && doenvd "${FILESDIR}"/amf-env-vulkan-override
+ 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-4.2.8.ebuild b/media-video/ffmpeg/ffmpeg-6.0.1-r4.ebuild
index 6f690193e286..5609d999e0d2 100644
--- a/media-video/ffmpeg/ffmpeg-4.2.8.ebuild
+++ b/media-video/ffmpeg/ffmpeg-6.0.1-r4.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
# Subslot: libavutil major.libavcodec major.libavformat major
# Since FFmpeg ships several libraries, subslot is kind of limited here.
@@ -12,7 +12,7 @@ EAPI=7
# 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
+FFMPEG_SUBSLOT=58.60.60
SCM=""
if [ "${PV#9999}" != "${PV}" ] ; then
@@ -30,10 +30,12 @@ if [ "${PV#9999}" != "${PV}" ] ; then
elif [ "${PV%_p*}" != "${PV}" ] ; then # Snapshot
SRC_URI="mirror://gentoo/${P}.tar.xz"
else # Release
- SRC_URI="https://ffmpeg.org/releases/${P/_/-}.tar.xz
- https://dev.gentoo.org/~gyakovlev/distfiles/${PN}-4.2.2-ppc64-altivec.patch.gz
- https://dev.gentoo.org/~gyakovlev/distfiles/${PN}-4.2.2-ppc64-gcc.patch.gz
- "
+ VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/ffmpeg.asc
+ inherit verify-sig
+ SRC_URI="https://ffmpeg.org/releases/${P/_/-}.tar.xz"
+ SRC_URI+=" verify-sig? ( https://ffmpeg.org/releases/${P/_/-}.tar.xz.asc )"
+
+ BDEPEND=" verify-sig? ( sec-keys/openpgp-keys-ffmpeg )"
fi
FFMPEG_REVISION="${PV#*_p}"
@@ -62,7 +64,7 @@ LICENSE="
samba? ( GPL-3 )
"
if [ "${PV#9999}" = "${PV}" ] ; then
- KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ~ppc ppc64 sparc x86 ~amd64-linux ~x86-linux"
+ KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~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.
@@ -70,9 +72,9 @@ fi
# 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
+ +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
+ 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
@@ -80,15 +82,16 @@ FFMPEG_FLAG_MAP=(
# 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 libilbc librtmp ssh:libssh
+ 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
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 ladspa libass libtesseract lv2 truetype:libfreetype vidstab:libvidstab
+ 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
# libswresample options
libsoxr
@@ -98,14 +101,14 @@ FFMPEG_FLAG_MAP=(
# Same as above but for encoders, i.e. they do something only with USE=encode.
FFMPEG_ENCODER_FLAG_MAP=(
- amrenc:libvo-amrwbenc mp3:libmp3lame
- kvazaar:libkvazaar libaom
- openh264:libopenh264 snappy:libsnappy theora:libtheora twolame:libtwolame
- wavpack:libwavpack webp:libwebp x264:libx264 x265:libx265 xvid:libxvid
+ 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 static-libs test v4l
+ alsa chromium doc +encode oss +pic sndio static-libs test v4l
${FFMPEG_FLAG_MAP[@]%:*}
${FFMPEG_ENCODER_FLAG_MAP[@]%:*}
"
@@ -123,11 +126,16 @@ ARM_CPU_FEATURES=(
)
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_thumb2 cpu_flags_arm_vfp )
+ 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? ( cpu_flags_arm_thumb )
+ 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 )
@@ -135,7 +143,8 @@ 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_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 )
@@ -170,11 +179,13 @@ CPU_REQUIRED_USE="
${X86_CPU_REQUIRED_USE}
"
-FFTOOLS=( aviocat cws2fws ffescape ffeval ffhash fourcc2pixfmt graph2dot ismindex pktdumper qt-faststart sidxindex trasher )
+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}] )
@@ -187,14 +198,14 @@ RDEPEND="
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}] )
+ 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/libtheora-1.1.1[encode,${MULTILIB_USEDEP}]
>=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}] )
- wavpack? ( >=media-sound/wavpack-4.60.1-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}] )
@@ -203,7 +214,7 @@ RDEPEND="
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 )
+ 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}] )
gme? ( >=media-libs/game-music-emu-0.6.0[${MULTILIB_USEDEP}] )
@@ -216,17 +227,20 @@ RDEPEND="
>=sys-libs/libavc1394-0.5.4-r1[${MULTILIB_USEDEP}]
)
ieee1394? (
- >=media-libs/libdc1394-2.2.1[${MULTILIB_USEDEP}]
+ >=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}] )
+ 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.10.2:=[${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}] )
@@ -238,55 +252,65 @@ 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? ( >=virtual/opengl-7.0-r1[${MULTILIB_USEDEP}] )
+ opengl? ( media-libs/libglvnd[X,${MULTILIB_USEDEP}] )
opus? ( >=media-libs/opus-1.0.2-r2[${MULTILIB_USEDEP}] )
- pulseaudio? ( >=media-sound/pulseaudio-2.1-r1[${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}] )
+ 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[${MULTILIB_USEDEP}] )
- svg? ( gnome-base/librsvg:2=[${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 )
+ svt-av1? ( >=media-libs/svt-av1-0.9.0[${MULTILIB_USEDEP}] )
truetype? ( >=media-libs/freetype-2.5.0.1:2[${MULTILIB_USEDEP}] )
vaapi? ( >=media-libs/libva-1.2.1-r1:0=[${MULTILIB_USEDEP}] )
- nvenc? ( >=media-libs/nv-codec-headers-9.0.18.0 )
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.2.189:=[${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}]
+ >=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}] )
- postproc? ( !media-libs/libpostproc )
"
RDEPEND="${RDEPEND}
- openssl? ( >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}] )
- !openssl? ( gnutls? ( >=net-libs/gnutls-2.12.23-r6:=[${MULTILIB_USEDEP}] ) )
+ 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-1.4.28 )
ladspa? ( >=media-libs/ladspa-sdk-1.13-r2[${MULTILIB_USEDEP}] )
v4l? ( sys-kernel/linux-headers )
"
-BDEPEND="
- >=sys-devel/make-3.81
+
+# += 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 sys-devel/bc )
+ test? ( net-misc/wget app-alternatives/bc )
"
# Code requiring FFmpeg to be built under gpl license
@@ -295,6 +319,7 @@ GPL_REQUIRED_USE="
frei0r? ( gpl )
cdio? ( gpl )
rubberband? ( gpl )
+ vidstab? ( gpl )
samba? ( gpl )
encode? (
x264? ( gpl )
@@ -318,9 +343,12 @@ S=${WORKDIR}/${P/_/-}
PATCHES=(
"${FILESDIR}"/chromium-r1.patch
- "${WORKDIR}"/${PN}-4.2.2-ppc64-gcc.patch # both ppc patches from
- "${WORKDIR}"/${PN}-4.2.2-ppc64-altivec.patch # https://trac.ffmpeg.org/ticket/7861
- "${FILESDIR}"/${PN}-5.0-backport-ranlib-build-fix.patch
+ "${FILESDIR}"/${PN}-5.1.2-get_cabac_inline_x86-32-bit.patch
+ "${FILESDIR}"/${PN}-6.0-libplacebo-remove-deprecated-field.patch
+ "${FILESDIR}"/${PN}-6.0-fix-lto-type-mismatch.patch
+ "${FILESDIR}"/${PN}-4.4.4-opencl-parallel-gmake-fix.patch
+ "${FILESDIR}"/${PN}-6.0.1-alignment.patch
+ "${FILESDIR}"/${PN}-6.0.1-libjxl-0.9.patch
)
MULTILIB_WRAPPED_HEADERS=(
@@ -331,16 +359,36 @@ 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_prepare() {
if [[ "${PV%_p*}" != "${PV}" ]] ; then # Snapshot
export revision=git-N-${FFMPEG_REVISION}
fi
+
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=( ${EXTRA_FFMPEG_CONF} )
+ local myconf=( )
# bug 842201
use ia64 && tc-is-gcc && append-flags \
@@ -369,12 +417,12 @@ multilib_src_configure() {
# Indevs
use v4l || myconf+=( --disable-indev=v4l2 --disable-outdev=v4l2 )
- for i in alsa oss jack ; do
+ for i in alsa oss jack sndio ; do
use ${i} || myconf+=( --disable-indev=${i} )
done
# Outdevs
- for i in alsa oss ; do
+ for i in alsa oss sndio ; do
use ${i} || myconf+=( --disable-outdev=${i} )
done
@@ -390,11 +438,12 @@ 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
if ! multilib_is_native_abi; then
- for i in frei0r libzmq ; do
+ for i in librav1e libzmq ; do
myconf+=( --disable-${i} )
done
fi
@@ -423,13 +472,13 @@ multilib_src_configure() {
break
done
- # LTO support, bug #566282
- is-flagq "-flto*" && myconf+=( "--enable-lto" )
+ # 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
@@ -443,9 +492,6 @@ multilib_src_configure() {
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
- *freebsd*)
- myconf+=( --target-os=freebsd )
- ;;
*mingw32*)
myconf+=( --target-os=mingw32 )
;;
@@ -462,6 +508,7 @@ multilib_src_configure() {
$(multilib_native_enable manpages)
)
+ # Use --extra-libs if needed for LIBS
set -- "${S}/configure" \
--prefix="${EPREFIX}/usr" \
--libdir="${EPREFIX}/usr/$(get_libdir)" \
@@ -472,10 +519,14 @@ multilib_src_configure() {
--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[@]}"
+ "${myconf[@]}" \
+ ${EXTRA_FFMPEG_CONF}
echo "${@}"
"${@}" || die
@@ -517,6 +568,11 @@ multilib_src_compile() {
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
@@ -547,9 +603,6 @@ multilib_src_install() {
multilib_src_install_all() {
dodoc Changelog README.md CREDITS doc/*.txt doc/APIchanges
[ -f "RELEASE_NOTES" ] && dodoc "RELEASE_NOTES"
-}
-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
+ 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-4.2.7.ebuild b/media-video/ffmpeg/ffmpeg-6.1.1-r5.ebuild
index 2b7fed0039c7..94fe73865b5b 100644
--- a/media-video/ffmpeg/ffmpeg-4.2.7.ebuild
+++ b/media-video/ffmpeg/ffmpeg-6.1.1-r5.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
# Subslot: libavutil major.libavcodec major.libavformat major
# Since FFmpeg ships several libraries, subslot is kind of limited here.
@@ -12,7 +12,9 @@ EAPI=7
# 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
+FFMPEG_SUBSLOT=58.60.60
+
+SOC_PATCH="ffmpeg-rpi-6.1-r3.patch"
SCM=""
if [ "${PV#9999}" != "${PV}" ] ; then
@@ -25,15 +27,36 @@ 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
- SRC_URI=""
+ :
elif [ "${PV%_p*}" != "${PV}" ] ; then # Snapshot
- SRC_URI="mirror://gentoo/${P}.tar.bz2"
+ SRC_URI+=" mirror://gentoo/${P}.tar.xz"
else # Release
- SRC_URI="https://ffmpeg.org/releases/${P/_/-}.tar.bz2
- https://dev.gentoo.org/~gyakovlev/distfiles/${PN}-4.2.2-ppc64-altivec.patch.gz
- https://dev.gentoo.org/~gyakovlev/distfiles/${PN}-4.2.2-ppc64-gcc.patch.gz
+ 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}"
@@ -62,7 +85,7 @@ LICENSE="
samba? ( GPL-3 )
"
if [ "${PV#9999}" = "${PV}" ] ; then
- KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 sparc x86 ~amd64-linux ~x86-linux"
+ KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~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.
@@ -70,9 +93,9 @@ fi
# 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
+ +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
+ 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
@@ -80,16 +103,17 @@ FFMPEG_FLAG_MAP=(
# 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 libilbc librtmp ssh:libssh
+ 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 frei0r
- fribidi:libfribidi fontconfig ladspa libass libtesseract lv2 truetype:libfreetype vidstab:libvidstab
- rubberband:librubberband zeromq:libzmq zimg:libzimg
+ 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
@@ -98,14 +122,14 @@ FFMPEG_FLAG_MAP=(
# Same as above but for encoders, i.e. they do something only with USE=encode.
FFMPEG_ENCODER_FLAG_MAP=(
- amrenc:libvo-amrwbenc mp3:libmp3lame
- kvazaar:libkvazaar libaom
- openh264:libopenh264 snappy:libsnappy theora:libtheora twolame:libtwolame
- wavpack:libwavpack webp:libwebp x264:libx264 x265:libx265 xvid:libxvid
+ 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 static-libs test v4l
+ alsa chromium doc +encode oss +pic sndio static-libs test v4l soc
${FFMPEG_FLAG_MAP[@]%:*}
${FFMPEG_ENCODER_FLAG_MAP[@]%:*}
"
@@ -120,14 +144,21 @@ ARM_CPU_FEATURES=(
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_thumb2 cpu_flags_arm_vfp )
+ 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? ( cpu_flags_arm_thumb )
+ 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 )
@@ -135,7 +166,8 @@ 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_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 )
@@ -170,11 +202,13 @@ CPU_REQUIRED_USE="
${X86_CPU_REQUIRED_USE}
"
-FFTOOLS=( aviocat cws2fws ffescape ffeval ffhash fourcc2pixfmt graph2dot ismindex pktdumper qt-faststart sidxindex trasher )
+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}] )
@@ -182,19 +216,19 @@ RDEPEND="
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}] )
+ 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-1.2.0[${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}] )
+ 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/libtheora-1.1.1[encode,${MULTILIB_USEDEP}]
>=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}] )
- wavpack? ( >=media-sound/wavpack-4.60.1-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}] )
@@ -203,9 +237,10 @@ RDEPEND="
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 )
+ 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}] )
@@ -216,17 +251,20 @@ RDEPEND="
>=sys-libs/libavc1394-0.5.4-r1[${MULTILIB_USEDEP}]
)
ieee1394? (
- >=media-libs/libdc1394-2.2.1[${MULTILIB_USEDEP}]
+ >=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}] )
+ 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.10.2:=[${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}] )
@@ -234,59 +272,74 @@ RDEPEND="
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}] )
+ opengl? ( media-libs/libglvnd[X,${MULTILIB_USEDEP}] )
opus? ( >=media-libs/opus-1.0.2-r2[${MULTILIB_USEDEP}] )
- pulseaudio? ( >=media-sound/pulseaudio-2.1-r1[${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.5.5[${MULTILIB_USEDEP}] )
- svg? ( gnome-base/librsvg:2=[${MULTILIB_USEDEP}] )
- truetype? ( >=media-libs/freetype-2.5.0.1:2[${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}] )
- nvenc? ( >=media-libs/nv-codec-headers-9.0.18.0 )
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}]
+ >=x11-libs/libxcb-1.4:=[${MULTILIB_USEDEP}]
)
- zeromq? ( >=net-libs/zeromq-4.1.6 )
+ 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}] )
- postproc? ( !media-libs/libpostproc )
"
RDEPEND="${RDEPEND}
- openssl? ( >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}] )
- !openssl? ( gnutls? ( >=net-libs/gnutls-2.12.23-r6:=[${MULTILIB_USEDEP}] ) )
+ 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 )
"
-BDEPEND="
- >=sys-devel/make-3.81
+
+# += 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 sys-devel/bc )
+ test? ( net-misc/wget app-alternatives/bc )
"
# Code requiring FFmpeg to be built under gpl license
@@ -295,6 +348,7 @@ GPL_REQUIRED_USE="
frei0r? ( gpl )
cdio? ( gpl )
rubberband? ( gpl )
+ vidstab? ( gpl )
samba? ( gpl )
encode? (
x264? ( gpl )
@@ -303,9 +357,13 @@ GPL_REQUIRED_USE="
)
"
REQUIRED_USE="
+ chromium? ( opus )
cuda? ( nvenc )
- libv4l? ( v4l )
fftools_cws2fws? ( zlib )
+ glslang? ( vulkan !shaderc )
+ libv4l? ( v4l )
+ shaderc? ( vulkan !glslang )
+ soc? ( libdrm )
test? ( encode )
${GPL_REQUIRED_USE}
${CPU_REQUIRED_USE}"
@@ -317,31 +375,57 @@ RESTRICT="
S=${WORKDIR}/${P/_/-}
PATCHES=(
- "${FILESDIR}"/chromium-r1.patch
- "${WORKDIR}"/${PN}-4.2.2-ppc64-gcc.patch # both ppc patches from
- "${WORKDIR}"/${PN}-4.2.2-ppc64-altivec.patch # https://trac.ffmpeg.org/ticket/7861
- "${FILESDIR}"/${PN}-5.0-backport-ranlib-build-fix.patch
- "${FILESDIR}"/${PN}-4.2.7-libsdl2-new-version-scheme.patch
+ "${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}"/ffmpeg-6.1.1-vulkan-rename.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_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
}
multilib_src_configure() {
- local myconf=( ${EXTRA_FFMPEG_CONF} )
+ local myconf=( )
+
+ # Conditional patch options
+ use soc && myconf+=( --enable-v4l2-request --enable-libudev --enable-sand )
# bug 842201
use ia64 && tc-is-gcc && append-flags \
@@ -370,12 +454,12 @@ multilib_src_configure() {
# Indevs
use v4l || myconf+=( --disable-indev=v4l2 --disable-outdev=v4l2 )
- for i in alsa oss jack ; do
+ for i in alsa oss jack sndio ; do
use ${i} || myconf+=( --disable-indev=${i} )
done
# Outdevs
- for i in alsa oss ; do
+ for i in alsa oss sndio ; do
use ${i} || myconf+=( --disable-outdev=${i} )
done
@@ -391,11 +475,12 @@ 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
if ! multilib_is_native_abi; then
- for i in frei0r libzmq ; do
+ for i in librav1e libzmq ; do
myconf+=( --disable-${i} )
done
fi
@@ -424,13 +509,18 @@ multilib_src_configure() {
break
done
- # LTO support, bug #566282
- is-flagq "-flto*" && myconf+=( "--enable-lto" )
+ # 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-libaribcaption # libaribcaption is not packaged (yet?)
--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
@@ -444,9 +534,6 @@ multilib_src_configure() {
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
- *freebsd*)
- myconf+=( --target-os=freebsd )
- ;;
*mingw32*)
myconf+=( --target-os=mingw32 )
;;
@@ -463,6 +550,7 @@ multilib_src_configure() {
$(multilib_native_enable manpages)
)
+ # Use --extra-libs if needed for LIBS
set -- "${S}/configure" \
--prefix="${EPREFIX}/usr" \
--libdir="${EPREFIX}/usr/$(get_libdir)" \
@@ -473,26 +561,16 @@ multilib_src_configure() {
--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[@]}"
+ "${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() {
@@ -505,19 +583,16 @@ multilib_src_compile() {
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
+ 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
@@ -528,29 +603,14 @@ multilib_src_install() {
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
+ 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"
-}
-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
+ 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-9999.ebuild b/media-video/ffmpeg/ffmpeg-9999.ebuild
index 016fa514d08c..867a4147d174 100644
--- a/media-video/ffmpeg/ffmpeg-9999.ebuild
+++ b/media-video/ffmpeg/ffmpeg-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -12,7 +12,9 @@ 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=57.59.59
+FFMPEG_SUBSLOT=58.60.60
+
+SOC_PATCH="ffmpeg-rpi-6.1-r3.patch"
SCM=""
if [ "${PV#9999}" != "${PV}" ] ; then
@@ -25,17 +27,36 @@ 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
- SRC_URI=""
+ :
elif [ "${PV%_p*}" != "${PV}" ] ; then # Snapshot
- SRC_URI="mirror://gentoo/${P}.tar.xz"
+ SRC_URI+=" mirror://gentoo/${P}.tar.xz"
else # Release
- VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/ffmpeg.asc
inherit verify-sig
- SRC_URI="https://ffmpeg.org/releases/${P/_/-}.tar.xz"
- SRC_URI+=" verify-sig? ( https://ffmpeg.org/releases/${P/_/-}.tar.xz.asc )"
- BDEPEND=" verify-sig? ( sec-keys/openpgp-keys-ffmpeg )"
+ 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}"
@@ -64,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 ~x64-macos"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~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.
@@ -84,15 +105,15 @@ FFMPEG_FLAG_MAP=(
# 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
+ 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 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 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
@@ -108,7 +129,7 @@ FFMPEG_ENCODER_FLAG_MAP=(
)
IUSE="
- alsa chromium doc +encode oss pic sndio static-libs test v4l
+ alsa chromium doc +encode oss +pic sndio static-libs test v4l soc
${FFMPEG_FLAG_MAP[@]%:*}
${FFMPEG_ENCODER_FLAG_MAP[@]%:*}
"
@@ -123,14 +144,21 @@ ARM_CPU_FEATURES=(
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_thumb2 cpu_flags_arm_vfp )
+ 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? ( cpu_flags_arm_thumb )
+ 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 )
@@ -138,7 +166,8 @@ 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_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 )
@@ -173,12 +202,13 @@ CPU_REQUIRED_USE="
${X86_CPU_REQUIRED_USE}
"
-FFTOOLS=( aviocat cws2fws ffescape ffeval ffhash fourcc2pixfmt graph2dot ismindex pktdumper qt-faststart sidxindex trasher )
+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 )
+ 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}] )
@@ -186,13 +216,13 @@ RDEPEND="
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}] )
+ 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-1.2.0[${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.4:=[capi] )
+ 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}]
@@ -210,6 +240,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}] )
@@ -224,8 +255,8 @@ RDEPEND="
>=sys-libs/libraw1394-2.1.0-r1[${MULTILIB_USEDEP}]
)
jack? ( virtual/jack[${MULTILIB_USEDEP}] )
- jpeg2k? ( >=media-libs/openjpeg-2:2[${MULTILIB_USEDEP}] )
- jpegxl? ( >=media-libs/libjxl-0.7.0[$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}] )
@@ -233,7 +264,7 @@ RDEPEND="
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] )
+ 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}] )
@@ -241,69 +272,74 @@ RDEPEND="
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}] )
+ opengl? ( media-libs/libglvnd[X,${MULTILIB_USEDEP}] )
opus? ( >=media-libs/opus-1.0.2-r2[${MULTILIB_USEDEP}] )
- pulseaudio? ( >=media-sound/pulseaudio-2.1-r1[${MULTILIB_USEDEP}] )
- qsv? ( media-libs/oneVPL )
+ 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.5.5:=[sftp,${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-9.1.23.1 )
+ 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}] )
+ 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}] )
+ 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.2.189:=[${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.1.6 )
+ 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}] ) )
+ 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+="
- >=sys-devel/make-3.81
+ >=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 sys-devel/bc )
+ test? ( net-misc/wget app-alternatives/bc )
"
# Code requiring FFmpeg to be built under gpl license
@@ -321,10 +357,15 @@ GPL_REQUIRED_USE="
)
"
REQUIRED_USE="
+ chromium? ( opus )
cuda? ( nvenc )
- libv4l? ( v4l )
fftools_cws2fws? ( zlib )
+ glslang? ( vulkan !shaderc )
+ libv4l? ( v4l )
+ shaderc? ( vulkan !glslang )
+ soc? ( libdrm )
test? ( encode )
+ vulkan? ( threads )
${GPL_REQUIRED_USE}
${CPU_REQUIRED_USE}"
RESTRICT="
@@ -335,17 +376,14 @@ RESTRICT="
S=${WORKDIR}/${P/_/-}
PATCHES=(
- "${FILESDIR}"/chromium-r1.patch
+ "${FILESDIR}"/chromium-r2.patch
+ "${FILESDIR}"/${PN}-6.1-opencl-parallel-gmake-fix.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.
@@ -365,18 +403,25 @@ src_prepare() {
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
}
multilib_src_configure() {
local myconf=( )
+ # 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 \
@@ -430,7 +475,7 @@ multilib_src_configure() {
# (temporarily) disable non-multilib deps
if ! multilib_is_native_abi; then
- for i in librav1e libmfx libvpl libzmq ; do
+ for i in librav1e libzmq ; do
myconf+=( --disable-${i} )
done
fi
@@ -460,11 +505,16 @@ multilib_src_configure() {
done
# LTO support, bug #566282, bug #754654, bug #772854
- [[ ${ABI} != x86 ]] && is-flagq "-flto*" && myconf+=( "--enable-lto" )
+ 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-libaribcaption # libaribcaption is not packaged (yet?)
--enable-avfilter
--disable-stripping
# This is only for hardcoded cflags; those are used in configure checks that may
@@ -479,9 +529,6 @@ multilib_src_configure() {
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
- *freebsd*)
- myconf+=( --target-os=freebsd )
- ;;
*mingw32*)
myconf+=( --target-os=mingw32 )
;;
@@ -519,20 +566,6 @@ multilib_src_configure() {
${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() {
@@ -545,22 +578,14 @@ multilib_src_compile() {
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
+ 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
+ emake V=1 fate -k
}
multilib_src_install() {
@@ -573,20 +598,8 @@ multilib_src_install() {
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
+ use chromium &&
+ emake V=1 DESTDIR="${D}" install-libffmpeg
fi
}
@@ -594,5 +607,5 @@ multilib_src_install_all() {
dodoc Changelog README.md CREDITS doc/*.txt doc/APIchanges
[ -f "RELEASE_NOTES" ] && dodoc "RELEASE_NOTES"
- use amf && doenvd "${FILESDIR}"/amf-env-vulkan-override
+ use amf && newenvd "${FILESDIR}"/amf-env-vulkan-override 99amf-env-vulkan-override
}
diff --git a/media-video/ffmpeg/files/chromium-r2.patch b/media-video/ffmpeg/files/chromium-r2.patch
new file mode 100644
index 000000000000..1de86fe09a1e
--- /dev/null
+++ b/media-video/ffmpeg/files/chromium-r2.patch
@@ -0,0 +1,41 @@
+Allow libffmpeg to be built for Chromium-based browsers
+https://patchwork.ffmpeg.org/patch/4500/
+
+NOTE: This patch lacks the Makefile include line. We append it
+manually instead to make patching across different versions easier.
+
+diff --git a/ffbuild/libffmpeg.mak b/ffbuild/libffmpeg.mak
+new file mode 100644
+index 0000000..992cf3c
+--- /dev/null
++++ b/ffbuild/libffmpeg.mak
+@@ -0,0 +1,27 @@
++LIBFFMPEG = $(SLIBPREF)ffmpeg$(SLIBSUF)
++LIBFFMPEG_LINK = $(LD) -shared -Wl,-soname,$(LIBFFMPEG) -Wl,-Bsymbolic -Wl,-z,now -Wl,-z,relro -Wl,-z,defs -Wl,--gc-sections $(LDFLAGS) $(LDLIBFLAGS) -o $(LIBFFMPEG)
++
++ifeq ($(CONFIG_SHARED),yes)
++LIBFFMPEG_DEPS = libavcodec/$(SLIBPREF)avcodec$(SLIBSUF) libavformat/$(SLIBPREF)avformat$(SLIBSUF) libavutil/$(SLIBPREF)avutil$(SLIBSUF)
++else
++LIBFFMPEG_DEPS = libavcodec/$(LIBPREF)avcodec$(LIBSUF) libavformat/$(LIBPREF)avformat$(LIBSUF) libavutil/$(LIBPREF)avutil$(LIBSUF) libswresample/$(LIBPREF)swresample$(LIBSUF)
++endif
++
++$(LIBFFMPEG): $(LIBFFMPEG_DEPS) chromium.o
++ifeq ($(CONFIG_SHARED),yes)
++ $(LIBFFMPEG_LINK) -Wl,--no-as-needed chromium.o -lavcodec -lavformat -lavutil
++else
++ $(LIBFFMPEG_LINK) -Wl,--whole-archive $^ -Wl,--no-whole-archive $(EXTRALIBS-avcodec) $(EXTRALIBS-avformat) $(EXTRALIBS-avutil) $(EXTRALIBS-swresample)
++endif
++
++libffmpeg: $(LIBFFMPEG)
++
++install-libffmpeg: $(LIBFFMPEG)
++ $(Q)mkdir -p "$(SHLIBDIR)/chromium"
++ $(INSTALL) -m 755 $< "$(SHLIBDIR)/chromium/$<"
++ $(STRIP) "$(SHLIBDIR)/chromium/$<"
++
++uninstall-libffmpeg:
++ $(RM) "$(SHLIBDIR)/chromium/$(LIBFFMPEG)"
++
++.PHONY: libffmpeg install-libffmpeg uninstall-libffmpeg
+--
+2.13.1
diff --git a/media-video/ffmpeg/files/chromium.c b/media-video/ffmpeg/files/chromium.c
new file mode 100644
index 000000000000..66c2e9f6614f
--- /dev/null
+++ b/media-video/ffmpeg/files/chromium.c
@@ -0,0 +1,8 @@
+#include "libavformat/avformat.h"
+#include "libavformat/internal.h"
+
+int64_t av_stream_get_first_dts(const AVStream *st);
+int64_t av_stream_get_first_dts(const AVStream *st)
+{
+ return cffstream(st)->first_dts;
+}
diff --git a/media-video/ffmpeg/files/ffmpeg-4.2.7-libsdl2-new-version-scheme.patch b/media-video/ffmpeg/files/ffmpeg-4.2.7-libsdl2-new-version-scheme.patch
deleted file mode 100644
index ce552893d19b..000000000000
--- a/media-video/ffmpeg/files/ffmpeg-4.2.7-libsdl2-new-version-scheme.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/839f98ff6719cf2db0cbd88cd787a1b19b9cbf47
-
-From 839f98ff6719cf2db0cbd88cd787a1b19b9cbf47 Mon Sep 17 00:00:00 2001
-From: Christopher Degawa <ccom@randomderp.com>
-Date: Wed, 11 May 2022 15:11:04 -0500
-Subject: [PATCH] configure: extend SDL check to accept all 2.x versions
-
-sdl2 recently changed their versioning, moving the patch level to minor level
-https://github.com/libsdl-org/SDL/commit/cd7c2f1de7d9e418bb554047d714dd7cacc020ff
-and have said that they will instead ship sdl3.pc for 3.0.0
-
-Fixes ticket 9768
-
-Signed-off-by: Christopher Degawa <ccom@randomderp.com>
-Signed-off-by: Gyan Doshi <ffmpeg@gyani.pro>
---- a/configure
-+++ b/configure
-@@ -6383,7 +6383,7 @@ fi
-
- if enabled sdl2; then
- SDL2_CONFIG="${cross_prefix}sdl2-config"
-- test_pkg_config sdl2 "sdl2 >= 2.0.1 sdl2 < 2.1.0" SDL_events.h SDL_PollEvent
-+ test_pkg_config sdl2 "sdl2 >= 2.0.1 sdl2 < 3.0.0" SDL_events.h SDL_PollEvent
- if disabled sdl2 && "${SDL2_CONFIG}" --version > /dev/null 2>&1; then
- sdl2_cflags=$("${SDL2_CONFIG}" --cflags)
- sdl2_extralibs=$("${SDL2_CONFIG}" --libs)
diff --git a/media-video/ffmpeg/files/ffmpeg-4.4.3-get_cabac_inline_x86-32-bit.patch b/media-video/ffmpeg/files/ffmpeg-4.4.3-get_cabac_inline_x86-32-bit.patch
new file mode 100644
index 000000000000..ed273975452d
--- /dev/null
+++ b/media-video/ffmpeg/files/ffmpeg-4.4.3-get_cabac_inline_x86-32-bit.patch
@@ -0,0 +1,24 @@
+https://bugs.gentoo.org/901099 and partly https://bugs.gentoo.org/900937.
+
+Newer compilers may optimise such that < 7 registers are free on 32-bit x86
+and then we get an "invalid asm" error. This is https://bugs.gentoo.org/901099
+and https://trac.ffmpeg.org/ticket/8903.
+
+Making matters worse, GCC sometimes hangs on invalid asm, so this also
+mitigates a hang with e.g. -O3 -march=znver1. See https://bugs.gentoo.org/900937
+and https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109137.
+
+In future, we may want to adjust the definition of HAVE_7REGS to just exclude
+32-bit x86, but that's a big sledgehammer, so let's avoid it for now until we have
+a reply on the upstream ffmpeg bug.
+--- a/libavcodec/x86/cabac.h
++++ b/libavcodec/x86/cabac.h
+@@ -175,7 +175,7 @@
+
+ #endif /* BROKEN_RELOCATIONS */
+
+-#if HAVE_7REGS && !BROKEN_COMPILER
++#if HAVE_7REGS && !BROKEN_COMPILER && !ARCH_X86_32
+ #define get_cabac_inline get_cabac_inline_x86
+ static av_always_inline int get_cabac_inline_x86(CABACContext *c,
+ uint8_t *const state)
diff --git a/media-video/ffmpeg/files/ffmpeg-4.4.4-fix-build-svt-av1-1.5.0.patch b/media-video/ffmpeg/files/ffmpeg-4.4.4-fix-build-svt-av1-1.5.0.patch
new file mode 100644
index 000000000000..c9c180f06641
--- /dev/null
+++ b/media-video/ffmpeg/files/ffmpeg-4.4.4-fix-build-svt-av1-1.5.0.patch
@@ -0,0 +1,44 @@
+https://bugs.gentoo.org/907478
+https://bugs.gentoo.org/907493
+https://git.videolan.org/?p=ffmpeg.git;a=commit;h=c3c8f97a9804b4234e97f13b0057ffc2c9af27c0
+
+From c3c8f97a9804b4234e97f13b0057ffc2c9af27c0 Mon Sep 17 00:00:00 2001
+From: Christopher Degawa <christopher.degawa@intel.com>
+Date: Thu, 20 Oct 2022 22:55:27 -0500
+Subject: [PATCH] avcodec/libsvtav1: remove compressed_ten_bit_format and
+ simplify alloc_buffer
+
+compressed_ten_bit_format has been deprecated upstream and has no effect
+and can be removed. Plus, technically it was never used in the first place
+since it would require the app (ffmpeg) to set it and do additional
+processing of the input frames.
+
+Also simplify alloc_buffer by removing calculations relating to the
+non-existant processing.
+
+Signed-off-by: Christopher Degawa <christopher.degawa@intel.com>
+(cherry picked from commit 031f1561cd286596cdb374da32f8aa816ce3b135)
+--- a/libavcodec/libsvtav1.c
++++ b/libavcodec/libsvtav1.c
+@@ -120,16 +120,12 @@ static int svt_print_error(void *log_ctx, EbErrorType err,
+
+ static int alloc_buffer(EbSvtAv1EncConfiguration *config, SvtContext *svt_enc)
+ {
+- const int pack_mode_10bit =
+- (config->encoder_bit_depth > 8) && (config->compressed_ten_bit_format == 0) ? 1 : 0;
+- const size_t luma_size_8bit =
+- config->source_width * config->source_height * (1 << pack_mode_10bit);
+- const size_t luma_size_10bit =
+- (config->encoder_bit_depth > 8 && pack_mode_10bit == 0) ? luma_size_8bit : 0;
++ const size_t luma_size = config->source_width * config->source_height *
++ (config->encoder_bit_depth > 8 ? 2 : 1);
+
+ EbSvtIOFormat *in_data;
+
+- svt_enc->raw_size = (luma_size_8bit + luma_size_10bit) * 3 / 2;
++ svt_enc->raw_size = luma_size * 3 / 2;
+
+ // allocate buffer for in and out
+ svt_enc->in_buf = av_mallocz(sizeof(*svt_enc->in_buf));
+--
+2.30.2
diff --git a/media-video/ffmpeg/files/ffmpeg-4.4.4-glslang.patch b/media-video/ffmpeg/files/ffmpeg-4.4.4-glslang.patch
new file mode 100644
index 000000000000..f19bf8e47a42
--- /dev/null
+++ b/media-video/ffmpeg/files/ffmpeg-4.4.4-glslang.patch
@@ -0,0 +1,25 @@
+Bug: https://bugs.gentoo.org/926551
+
+diff -Naur a/configure b/configure
+--- a/configure 2024-03-09 22:07:52.005888104 +0000
++++ b/configure 2024-03-09 22:08:18.634656978 +0000
+@@ -6374,7 +6374,7 @@
+ enabled libfontconfig && require_pkg_config libfontconfig fontconfig "fontconfig/fontconfig.h" FcInit
+ enabled libfreetype && require_pkg_config libfreetype freetype2 "ft2build.h FT_FREETYPE_H" FT_Init_FreeType
+ enabled libfribidi && require_pkg_config libfribidi fribidi fribidi.h fribidi_version_info
+-enabled libglslang && require_cpp libglslang glslang/SPIRV/GlslangToSpv.h "glslang::TIntermediate*" -lglslang -lMachineIndependent -lOSDependent -lHLSL -lOGLCompiler -lGenericCodeGen -lSPVRemapper -lSPIRV -lSPIRV-Tools-opt -lSPIRV-Tools -lpthread -lstdc++
++enabled libglslang && require_cpp libglslang glslang/SPIRV/GlslangToSpv.h "glslang::TIntermediate*" -lglslang -lSPVRemapper -lSPIRV -lSPIRV-Tools-opt -lSPIRV-Tools -lpthread -lstdc++
+ enabled libgme && { check_pkg_config libgme libgme gme/gme.h gme_new_emu ||
+ require libgme gme/gme.h gme_new_emu -lgme -lstdc++; }
+ enabled libgsm && { for gsm_hdr in "gsm.h" "gsm/gsm.h"; do
+diff -Naur a/libavfilter/glslang.cpp b/libavfilter/glslang.cpp
+--- a/libavfilter/glslang.cpp 2023-04-12 19:01:50.000000000 +0100
++++ b/libavfilter/glslang.cpp 2024-03-09 22:08:36.210161783 +0000
+@@ -17,6 +17,7 @@
+ */
+
+ #include <pthread.h>
++#include <cassert>
+
+ extern "C" {
+ #include "libavutil/mem.h"
diff --git a/media-video/ffmpeg/files/ffmpeg-4.4.4-opencl-parallel-gmake-fix.patch b/media-video/ffmpeg/files/ffmpeg-4.4.4-opencl-parallel-gmake-fix.patch
new file mode 100644
index 000000000000..9ac8ec79cf2e
--- /dev/null
+++ b/media-video/ffmpeg/files/ffmpeg-4.4.4-opencl-parallel-gmake-fix.patch
@@ -0,0 +1,12 @@
+Bug: https://bugs.gentoo.org/782553
+
+--- ffmpeg-4.4.4/tools/cl2c.orig 2024-03-14 04:53:45.468507151 +0300
++++ ffmpeg-4.4.4/tools/cl2c 2024-03-14 04:54:53.503086088 +0300
+@@ -24,6 +24,7 @@
+
+ name=$(basename "$input" | sed 's/.cl$//')
+
++mkdir -p "$(dirname "$output")"
+ cat >$output <<EOF
+ // Generated from $input
+ const char *ff_opencl_source_$name =
diff --git a/media-video/ffmpeg/files/ffmpeg-4.4.4-wint-conversion-vulkan.patch b/media-video/ffmpeg/files/ffmpeg-4.4.4-wint-conversion-vulkan.patch
new file mode 100644
index 000000000000..f3766bb69f50
--- /dev/null
+++ b/media-video/ffmpeg/files/ffmpeg-4.4.4-wint-conversion-vulkan.patch
@@ -0,0 +1,30 @@
+https://bugs.gentoo.org/903752
+https://git.videolan.org/?p=ffmpeg.git;a=commit;h=cc76e8340d28438c1ac56ee7dfd774d25e944264
+
+(Dropped second bit for vulkan.h as has changed significantly in >4.4.)
+
+From cc76e8340d28438c1ac56ee7dfd774d25e944264 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>
+--- 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)
+
+
diff --git a/media-video/ffmpeg/files/ffmpeg-5.1.2-get_cabac_inline_x86-32-bit.patch b/media-video/ffmpeg/files/ffmpeg-5.1.2-get_cabac_inline_x86-32-bit.patch
new file mode 100644
index 000000000000..40db3304b564
--- /dev/null
+++ b/media-video/ffmpeg/files/ffmpeg-5.1.2-get_cabac_inline_x86-32-bit.patch
@@ -0,0 +1,25 @@
+https://bugs.gentoo.org/901099 and partly https://bugs.gentoo.org/900937.
+
+Newer compilers may optimise such that < 7 registers are free on 32-bit x86
+and then we get an "invalid asm" error. This is https://bugs.gentoo.org/901099
+and https://trac.ffmpeg.org/ticket/8903.
+
+Making matters worse, GCC sometimes hangs on invalid asm, so this also
+mitigates a hang with e.g. -O3 -march=znver1. See https://bugs.gentoo.org/900937
+and https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109137.
+
+In future, we may want to adjust the definition of HAVE_7REGS to just exclude
+32-bit x86, but that's a big sledgehammer, so let's avoid it for now until we have
+a reply on the upstream ffmpeg bug.
+--- a/libavcodec/x86/cabac.h
++++ b/libavcodec/x86/cabac.h
+@@ -175,7 +175,7 @@
+
+ #endif /* BROKEN_RELOCATIONS */
+
+-#if HAVE_7REGS && !BROKEN_COMPILER
++#if HAVE_7REGS && !BROKEN_COMPILER && !ARCH_X86_32
+ #define get_cabac_inline get_cabac_inline_x86
+ static
+ #if defined(_WIN32) && !defined(_WIN64) && defined(__clang__)
+
diff --git a/media-video/ffmpeg/files/ffmpeg-5.1.3-binutils-2.41.patch b/media-video/ffmpeg/files/ffmpeg-5.1.3-binutils-2.41.patch
new file mode 100644
index 000000000000..7031d1f02ccf
--- /dev/null
+++ b/media-video/ffmpeg/files/ffmpeg-5.1.3-binutils-2.41.patch
@@ -0,0 +1,76 @@
+https://bugs.gentoo.org/911582
+https://trac.ffmpeg.org/ticket/10405
+https://git.videolan.org/?p=ffmpeg.git;a=commit;h=25cd95a9dc3510c3cc0d7aad6f9d83f6a1078c7e
+https://sourceware.org/PR30578
+https://gcc.gnu.org/PR108941
+
+From 25cd95a9dc3510c3cc0d7aad6f9d83f6a1078c7e 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-DECLARE_ALIGNED.patch b/media-video/ffmpeg/files/ffmpeg-6.0-DECLARE_ALIGNED.patch
new file mode 100644
index 000000000000..88af1e58458c
--- /dev/null
+++ b/media-video/ffmpeg/files/ffmpeg-6.0-DECLARE_ALIGNED.patch
@@ -0,0 +1,29 @@
+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
new file mode 100644
index 000000000000..a06b9119666f
--- /dev/null
+++ b/media-video/ffmpeg/files/ffmpeg-6.0-binutils-2.41.patch
@@ -0,0 +1,76 @@
+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-fix-lto-type-mismatch.patch b/media-video/ffmpeg/files/ffmpeg-6.0-fix-lto-type-mismatch.patch
new file mode 100644
index 000000000000..9cc2dd732016
--- /dev/null
+++ b/media-video/ffmpeg/files/ffmpeg-6.0-fix-lto-type-mismatch.patch
@@ -0,0 +1,41 @@
+https://ffmpeg.org//pipermail/ffmpeg-devel/2023-November/317055.html
+https://bugs.gentoo.org/907484
+
+From 408882a387f75ae57524073385b47d68339ec486 Mon Sep 17 00:00:00 2001
+From: Alfred Wingate <parona@protonmail.com>
+Date: Tue, 14 Nov 2023 13:26:47 +0000
+Subject: [PATCH 1/1] swscale/x86/rgb_2_rgb: Add opaque pointer to missed
+ definitions of ff_nv12ToUV
+
+Opaque parameters were previously added to the original definition of
+ff_nv12ToUV, leading to gcc noticing a type mismatch with -Wlto-type-mismatch.
+
+https://git.ffmpeg.org/gitweb/ffmpeg.git/commit/f2de911818fbd7e73343803626b697fd0c968121
+https://bugs.gentoo.org/907484
+
+Signed-off-by: Alfred Wingate <parona@protonmail.com>
+Signed-off-by: Anton Khirnov <anton@khirnov.net>
+--- a/libswscale/x86/rgb2rgb_template.c
++++ b/libswscale/x86/rgb2rgb_template.c
+@@ -1823,7 +1823,8 @@ void RENAME(ff_nv12ToUV)(uint8_t *dstU, uint8_t *dstV,
+ const uint8_t *src1,
+ const uint8_t *src2,
+ int w,
+- uint32_t *unused2);
++ uint32_t *unused2,
++ void *opq);
+ static void RENAME(deinterleaveBytes)(const uint8_t *src, uint8_t *dst1, uint8_t *dst2,
+ int width, int height, int srcStride,
+ int dst1Stride, int dst2Stride)
+@@ -1831,7 +1832,7 @@ static void RENAME(deinterleaveBytes)(const uint8_t *src, uint8_t *dst1, uint8_t
+ int h;
+
+ for (h = 0; h < height; h++) {
+- RENAME(ff_nv12ToUV)(dst1, dst2, NULL, src, NULL, width, NULL);
++ RENAME(ff_nv12ToUV)(dst1, dst2, NULL, src, NULL, width, NULL, NULL);
+ src += srcStride;
+ dst1 += dst1Stride;
+ dst2 += dst2Stride;
+--
+2.43.0
+
diff --git a/media-video/ffmpeg/files/ffmpeg-6.0-libplacebo-remove-deprecated-field.patch b/media-video/ffmpeg/files/ffmpeg-6.0-libplacebo-remove-deprecated-field.patch
new file mode 100644
index 000000000000..ca05c1c56ea4
--- /dev/null
+++ b/media-video/ffmpeg/files/ffmpeg-6.0-libplacebo-remove-deprecated-field.patch
@@ -0,0 +1,103 @@
+Bug: https://bugs.gentoo.org/910406
+
+Backports the following two commits:
+ https://github.com/FFmpeg/FFmpeg/commit/11eca6018c40f5ebe6af93cbc4b4dce447d8b3bc
+ https://github.com/FFmpeg/FFmpeg/commit/1231003c3c6d4839a9e838d06f8e16ee7690958f
+
+--- a/doc/filters.texi
++++ b/doc/filters.texi
+@@ -16242,9 +16242,6 @@
+ @item disable_builtin
+ Disable built-in GPU sampling (forces LUT).
+
+-@item force_icc_lut
+-Force the use of a full ICC 3DLUT for gamut mapping.
+-
+ @item disable_fbos
+ Forcibly disable FBOs, resulting in loss of almost all functionality, but
+ offering the maximum possible speed.
+--- a/libavfilter/version_major.h
++++ b/libavfilter/version_major.h
+@@ -35,4 +35,6 @@
+ * the public API and may change, break or disappear at any time.
+ */
+
++#define FF_API_LIBPLACEBO_OPTS (LIBAVFILTER_VERSION_MAJOR < 10)
++
+ #endif /* AVFILTER_VERSION_MAJOR_H */
+--- a/libavfilter/vf_libplacebo.c
++++ b/libavfilter/vf_libplacebo.c
+@@ -97,7 +97,6 @@
+ float polar_cutoff;
+ int disable_linear;
+ int disable_builtin;
+- int force_icc_lut;
+ int force_dither;
+ int disable_fbos;
+
+@@ -132,11 +131,15 @@
+ int inverse_tonemapping;
+ float crosstalk;
+ int tonemapping_lut_size;
++
++#if FF_API_LIBPLACEBO_OPTS
+ /* for backwards compatibility */
+ float desat_str;
+ float desat_exp;
+ int gamut_warning;
+ int gamut_clipping;
++ int force_icc_lut;
++#endif
+
+ /* pl_dither_params */
+ int dithering;
+@@ -380,6 +383,7 @@
+ pl_rect2df_aspect_set(&target.crop, aspect, s->pad_crop_ratio);
+ }
+
++#if FF_API_LIBPLACEBO_OPTS
+ /* backwards compatibility with older API */
+ if (!tonemapping_mode && (s->desat_str >= 0.0f || s->desat_exp >= 0.0f)) {
+ float str = s->desat_str < 0.0f ? 0.9f : s->desat_str;
+@@ -397,6 +401,7 @@
+ gamut_mode = PL_GAMUT_WARN;
+ if (s->gamut_clipping)
+ gamut_mode = PL_GAMUT_DESATURATE;
++#endif
+
+ /* Update render params */
+ params = (struct pl_render_params) {
+@@ -458,7 +463,6 @@
+ .polar_cutoff = s->polar_cutoff,
+ .disable_linear_scaling = s->disable_linear,
+ .disable_builtin_scalers = s->disable_builtin,
+- .force_icc_lut = s->force_icc_lut,
+ .force_dither = s->force_dither,
+ .disable_fbos = s->disable_fbos,
+ };
+@@ -818,11 +822,14 @@
+ { "inverse_tonemapping", "Inverse tone mapping (range expansion)", OFFSET(inverse_tonemapping), AV_OPT_TYPE_BOOL, {.i64 = 0}, 0, 1, DYNAMIC },
+ { "tonemapping_crosstalk", "Crosstalk factor for tone-mapping", OFFSET(crosstalk), AV_OPT_TYPE_FLOAT, {.dbl = 0.04}, 0.0, 0.30, DYNAMIC },
+ { "tonemapping_lut_size", "Tone-mapping LUT size", OFFSET(tonemapping_lut_size), AV_OPT_TYPE_INT, {.i64 = 256}, 2, 1024, DYNAMIC },
++
++#if FF_API_LIBPLACEBO_OPTS
+ /* deprecated options for backwards compatibility, defaulting to -1 to not override the new defaults */
+ { "desaturation_strength", "Desaturation strength", OFFSET(desat_str), AV_OPT_TYPE_FLOAT, {.dbl = -1.0}, -1.0, 1.0, DYNAMIC | AV_OPT_FLAG_DEPRECATED },
+ { "desaturation_exponent", "Desaturation exponent", OFFSET(desat_exp), AV_OPT_TYPE_FLOAT, {.dbl = -1.0}, -1.0, 10.0, DYNAMIC | AV_OPT_FLAG_DEPRECATED },
+ { "gamut_warning", "Highlight out-of-gamut colors", OFFSET(gamut_warning), AV_OPT_TYPE_BOOL, {.i64 = 0}, 0, 1, DYNAMIC | AV_OPT_FLAG_DEPRECATED },
+ { "gamut_clipping", "Enable colorimetric gamut clipping", OFFSET(gamut_clipping), AV_OPT_TYPE_BOOL, {.i64 = 0}, 0, 1, DYNAMIC | AV_OPT_FLAG_DEPRECATED },
++#endif
+
+ { "dithering", "Dither method to use", OFFSET(dithering), AV_OPT_TYPE_INT, {.i64 = PL_DITHER_BLUE_NOISE}, -1, PL_DITHER_METHOD_COUNT - 1, DYNAMIC, "dither" },
+ { "none", "Disable dithering", 0, AV_OPT_TYPE_CONST, {.i64 = -1}, 0, 0, STATIC, "dither" },
+@@ -847,7 +854,9 @@
+ { "polar_cutoff", "Polar LUT cutoff", OFFSET(polar_cutoff), AV_OPT_TYPE_FLOAT, {.dbl = 0}, 0.0, 1.0, DYNAMIC },
+ { "disable_linear", "Disable linear scaling", OFFSET(disable_linear), AV_OPT_TYPE_BOOL, {.i64 = 0}, 0, 1, DYNAMIC },
+ { "disable_builtin", "Disable built-in scalers", OFFSET(disable_builtin), AV_OPT_TYPE_BOOL, {.i64 = 0}, 0, 1, DYNAMIC },
+- { "force_icc_lut", "Force the use of a full ICC 3DLUT for color mapping", OFFSET(force_icc_lut), AV_OPT_TYPE_BOOL, {.i64 = 0}, 0, 1, DYNAMIC },
++#if FF_API_LIBPLACEBO_OPTS
++ { "force_icc_lut", "Deprecated, does nothing", OFFSET(force_icc_lut), AV_OPT_TYPE_BOOL, {.i64 = 0}, 0, 1, DYNAMIC | AV_OPT_FLAG_DEPRECATED },
++#endif
+ { "force_dither", "Force dithering", OFFSET(force_dither), AV_OPT_TYPE_BOOL, {.i64 = 0}, 0, 1, DYNAMIC },
+ { "disable_fbos", "Force-disable FBOs", OFFSET(disable_fbos), AV_OPT_TYPE_BOOL, {.i64 = 0}, 0, 1, DYNAMIC },
+ { NULL },
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
new file mode 100644
index 000000000000..2c71a189329a
--- /dev/null
+++ b/media-video/ffmpeg/files/ffmpeg-6.0-wint-conversion-vulkan.patch
@@ -0,0 +1,43 @@
+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.0.1-alignment.patch b/media-video/ffmpeg/files/ffmpeg-6.0.1-alignment.patch
new file mode 100644
index 000000000000..256feab8aea2
--- /dev/null
+++ b/media-video/ffmpeg/files/ffmpeg-6.0.1-alignment.patch
@@ -0,0 +1,114 @@
+https://trac.ffmpeg.org/ticket/10549
+https://bugs.gentoo.org/915384
+https://git.videolan.org/?p=ffmpeg.git;a=patch;h=7945d30e91b96d2f4f5b612048169087d214d41e
+
+From 7945d30e91b96d2f4f5b612048169087d214d41e Mon Sep 17 00:00:00 2001
+From: Timo Rothenpieler <timo@rothenpieler.org>
+Date: Sun, 3 Dec 2023 21:01:50 +0100
+Subject: [PATCH] avutil/mem: limit alignment to maximum simd align
+
+FFmpeg has instances of DECLARE_ALIGNED(32, ...) in a lot of structs,
+which then end up heap-allocated.
+By declaring any variable in a struct, or tree of structs, to be 32 byte
+aligned, it allows the compiler to safely assume the entire struct
+itself is also 32 byte aligned.
+
+This might make the compiler emit code which straight up crashes or
+misbehaves in other ways, and at least in one instances is now
+documented to actually do (see ticket 10549 on trac).
+The issue there is that an unrelated variable in SingleChannelElement is
+declared to have an alignment of 32 bytes. So if the compiler does a copy
+in decode_cpe() with avx instructions, but ffmpeg is built with
+--disable-avx, this results in a crash, since the memory is only 16 byte
+aligned.
+
+Mind you, even if the compiler does not emit avx instructions, the code
+is still invalid and could misbehave. It just happens not to. Declaring
+any variable in a struct with a 32 byte alignment promises 32 byte
+alignment of the whole struct to the compiler.
+
+This patch limits the maximum alignment to the maximum possible simd
+alignment according to configure.
+While not perfect, it at the very least gets rid of a lot of UB, by
+matching up the maximum DECLARE_ALIGNED value with the alignment of heap
+allocations done by lavu.
+---
+ libavutil/mem.c | 2 +-
+ libavutil/mem_internal.h | 33 ++++++++++++++++++++++++++++-----
+ 2 files changed, 29 insertions(+), 6 deletions(-)
+
+diff --git a/libavutil/mem.c b/libavutil/mem.c
+index 36b8940a0c..62163b4cb3 100644
+--- a/libavutil/mem.c
++++ b/libavutil/mem.c
+@@ -62,7 +62,7 @@ void free(void *ptr);
+
+ #endif /* MALLOC_PREFIX */
+
+-#define ALIGN (HAVE_AVX512 ? 64 : (HAVE_AVX ? 32 : 16))
++#define ALIGN (HAVE_SIMD_ALIGN_64 ? 64 : (HAVE_SIMD_ALIGN_32 ? 32 : 16))
+
+ /* NOTE: if you want to override these functions with your own
+ * implementations (not recommended) you have to link libav* as
+diff --git a/libavutil/mem_internal.h b/libavutil/mem_internal.h
+index 2448c606f1..b1d89a0605 100644
+--- a/libavutil/mem_internal.h
++++ b/libavutil/mem_internal.h
+@@ -76,27 +76,50 @@
+ */
+
+ #if defined(__INTEL_COMPILER) && __INTEL_COMPILER < 1110 || defined(__SUNPRO_C)
+- #define DECLARE_ALIGNED(n,t,v) t __attribute__ ((aligned (n))) v
++ #define DECLARE_ALIGNED_T(n,t,v) t __attribute__ ((aligned (n))) v
+ #define DECLARE_ASM_ALIGNED(n,t,v) t __attribute__ ((aligned (n))) v
+ #define DECLARE_ASM_CONST(n,t,v) const t __attribute__ ((aligned (n))) v
+ #elif defined(__DJGPP__)
+- #define DECLARE_ALIGNED(n,t,v) t __attribute__ ((aligned (FFMIN(n, 16)))) v
++ #define DECLARE_ALIGNED_T(n,t,v) t __attribute__ ((aligned (FFMIN(n, 16)))) v
+ #define DECLARE_ASM_ALIGNED(n,t,v) t av_used __attribute__ ((aligned (FFMIN(n, 16)))) v
+ #define DECLARE_ASM_CONST(n,t,v) static const t av_used __attribute__ ((aligned (FFMIN(n, 16)))) v
+ #elif defined(__GNUC__) || defined(__clang__)
+- #define DECLARE_ALIGNED(n,t,v) t __attribute__ ((aligned (n))) v
++ #define DECLARE_ALIGNED_T(n,t,v) t __attribute__ ((aligned (n))) v
+ #define DECLARE_ASM_ALIGNED(n,t,v) t av_used __attribute__ ((aligned (n))) v
+ #define DECLARE_ASM_CONST(n,t,v) static const t av_used __attribute__ ((aligned (n))) v
+ #elif defined(_MSC_VER)
+- #define DECLARE_ALIGNED(n,t,v) __declspec(align(n)) t v
++ #define DECLARE_ALIGNED_T(n,t,v) __declspec(align(n)) t v
+ #define DECLARE_ASM_ALIGNED(n,t,v) __declspec(align(n)) t v
+ #define DECLARE_ASM_CONST(n,t,v) __declspec(align(n)) static const t v
+ #else
+- #define DECLARE_ALIGNED(n,t,v) t v
++ #define DECLARE_ALIGNED_T(n,t,v) t v
+ #define DECLARE_ASM_ALIGNED(n,t,v) t v
+ #define DECLARE_ASM_CONST(n,t,v) static const t v
+ #endif
+
++#if HAVE_SIMD_ALIGN_64
++ #define ALIGN_64 64
++ #define ALIGN_32 32
++#elif HAVE_SIMD_ALIGN_32
++ #define ALIGN_64 32
++ #define ALIGN_32 32
++#else
++ #define ALIGN_64 16
++ #define ALIGN_32 16
++#endif
++
++#define DECLARE_ALIGNED(n,t,v) DECLARE_ALIGNED_V(n,t,v)
++
++// Macro needs to be double-wrapped in order to expand
++// possible other macros being passed for n.
++#define DECLARE_ALIGNED_V(n,t,v) DECLARE_ALIGNED_##n(t,v)
++
++#define DECLARE_ALIGNED_4(t,v) DECLARE_ALIGNED_T( 4, t, v)
++#define DECLARE_ALIGNED_8(t,v) DECLARE_ALIGNED_T( 8, t, v)
++#define DECLARE_ALIGNED_16(t,v) DECLARE_ALIGNED_T( 16, t, v)
++#define DECLARE_ALIGNED_32(t,v) DECLARE_ALIGNED_T(ALIGN_32, t, v)
++#define DECLARE_ALIGNED_64(t,v) DECLARE_ALIGNED_T(ALIGN_64, t, v)
++
+ // Some broken preprocessors need a second expansion
+ // to be forced to tokenize __VA_ARGS__
+ #define E1(x) x
+--
+2.30.2
diff --git a/media-video/ffmpeg/files/ffmpeg-6.0.1-libjxl-0.9.patch b/media-video/ffmpeg/files/ffmpeg-6.0.1-libjxl-0.9.patch
new file mode 100644
index 000000000000..10c216ec4c88
--- /dev/null
+++ b/media-video/ffmpeg/files/ffmpeg-6.0.1-libjxl-0.9.patch
@@ -0,0 +1,112 @@
+https://bugs.gentoo.org/924431
+https://git.videolan.org/?p=ffmpeg.git;a=commit;h=75b1a555a70c178a9166629e43ec2f6250219eb2
+https://git.videolan.org/?p=ffmpeg.git;a=commit;h=ac06190a5a11f2b170e7719d769d7c0d65bff3e0
+
+From 75b1a555a70c178a9166629e43ec2f6250219eb2 Mon Sep 17 00:00:00 2001
+From: Leo Izen <leo.izen@gmail.com>
+Date: Sat, 8 Jul 2023 14:43:31 -0400
+Subject: [PATCH] avcodec/libjxldec: build against libjxl 0.9
+
+Git master libjxl changed several function signatures, so this commit
+adds some #ifdefs to handle the new signatures without breaking old
+releases. Do note that old git master development versions of libjxl
+will be broken, but no releases will be.
+
+Signed-off-by: Leo Izen <leo.izen@gmail.com>
+--- a/libavcodec/libjxldec.c
++++ b/libavcodec/libjxldec.c
+@@ -210,14 +210,22 @@ static int libjxl_get_icc(AVCodecContext *avctx)
+ JxlDecoderStatus jret;
+ /* an ICC profile is present, and we can meaningfully get it,
+ * because the pixel data is not XYB-encoded */
++#if JPEGXL_NUMERIC_VERSION < JPEGXL_COMPUTE_NUMERIC_VERSION(0, 9, 0)
+ jret = JxlDecoderGetICCProfileSize(ctx->decoder, &ctx->jxl_pixfmt, JXL_COLOR_PROFILE_TARGET_DATA, &icc_len);
++#else
++ jret = JxlDecoderGetICCProfileSize(ctx->decoder, JXL_COLOR_PROFILE_TARGET_DATA, &icc_len);
++#endif
+ if (jret == JXL_DEC_SUCCESS && icc_len > 0) {
+ av_buffer_unref(&ctx->iccp);
+ ctx->iccp = av_buffer_alloc(icc_len);
+ if (!ctx->iccp)
+ return AVERROR(ENOMEM);
++#if JPEGXL_NUMERIC_VERSION < JPEGXL_COMPUTE_NUMERIC_VERSION(0, 9, 0)
+ jret = JxlDecoderGetColorAsICCProfile(ctx->decoder, &ctx->jxl_pixfmt, JXL_COLOR_PROFILE_TARGET_DATA,
+- ctx->iccp->data, icc_len);
++ ctx->iccp->data, icc_len);
++#else
++ jret = JxlDecoderGetColorAsICCProfile(ctx->decoder, JXL_COLOR_PROFILE_TARGET_DATA, ctx->iccp->data, icc_len);
++#endif
+ if (jret != JXL_DEC_SUCCESS) {
+ av_log(avctx, AV_LOG_WARNING, "Unable to obtain ICC Profile\n");
+ av_buffer_unref(&ctx->iccp);
+@@ -253,12 +261,21 @@ static int libjxl_color_encoding_event(AVCodecContext *avctx, AVFrame *frame)
+ /* set this flag if we need to fall back on wide gamut */
+ int fallback = 0;
+
++#if JPEGXL_NUMERIC_VERSION < JPEGXL_COMPUTE_NUMERIC_VERSION(0, 9, 0)
+ jret = JxlDecoderGetColorAsEncodedProfile(ctx->decoder, NULL, JXL_COLOR_PROFILE_TARGET_ORIGINAL, &jxl_color);
++#else
++ jret = JxlDecoderGetColorAsEncodedProfile(ctx->decoder, JXL_COLOR_PROFILE_TARGET_ORIGINAL, &jxl_color);
++#endif
+ if (jret == JXL_DEC_SUCCESS) {
+ /* enum values describe the colors of this image */
+ jret = JxlDecoderSetPreferredColorProfile(ctx->decoder, &jxl_color);
+ if (jret == JXL_DEC_SUCCESS)
+- jret = JxlDecoderGetColorAsEncodedProfile(ctx->decoder, &ctx->jxl_pixfmt, JXL_COLOR_PROFILE_TARGET_DATA, &jxl_color);
++#if JPEGXL_NUMERIC_VERSION < JPEGXL_COMPUTE_NUMERIC_VERSION(0, 9, 0)
++ jret = JxlDecoderGetColorAsEncodedProfile(ctx->decoder, &ctx->jxl_pixfmt,
++ JXL_COLOR_PROFILE_TARGET_DATA, &jxl_color);
++#else
++ jret = JxlDecoderGetColorAsEncodedProfile(ctx->decoder, JXL_COLOR_PROFILE_TARGET_DATA, &jxl_color);
++#endif
+ /* if we couldn't successfully request the pixel data space, we fall back on wide gamut */
+ /* this code path is very unlikely to happen in practice */
+ if (jret != JXL_DEC_SUCCESS)
+--
+2.30.2
+
+From ac06190a5a11f2b170e7719d769d7c0d65bff3e0 Mon Sep 17 00:00:00 2001
+From: Leo Izen <leo.izen@gmail.com>
+Date: Tue, 23 Jan 2024 17:29:14 -0500
+Subject: [PATCH] avcodec/libjxl.h: include version.h
+
+This file has been exported since our minimum required version (0.7.0),
+but it wasn't documented. Instead it was transitively included by
+<jxl/decode.h> (but not jxl/encode.h), which ffmpeg relied on.
+
+libjxl broke its API in libjxl/libjxl@66b959239355aef5255 by removing
+the transitive include of version.h, and they do not plan on adding
+it back. Instead they are choosing to leave the API backwards-
+incompatible with downstream callers written for some fairly recent
+versions of their API.
+
+As a result, we include <jxl/version.h> to continue to build against
+more recent versions of libjxl. The version macros removed are also
+present in that file, so we no longer need to redefine them.
+
+Signed-off-by: Leo Izen <leo.izen@gmail.com>
+--- a/libavcodec/libjxl.h
++++ b/libavcodec/libjxl.h
+@@ -27,19 +27,8 @@
+ #ifndef AVCODEC_LIBJXL_H
+ #define AVCODEC_LIBJXL_H
+
+-#include <jxl/decode.h>
+ #include <jxl/memory_manager.h>
+-
+-/*
+- * libjxl version 0.7.0 and earlier doesn't contain these macros at all
+- * so to detect version 0.7.0 versus 0.8.0 we need to define them ourselves
+- */
+-#ifndef JPEGXL_COMPUTE_NUMERIC_VERSION
+- #define JPEGXL_COMPUTE_NUMERIC_VERSION(major,minor,patch) ((major<<24) | (minor<<16) | (patch<<8) | 0)
+-#endif
+-#ifndef JPEGXL_NUMERIC_VERSION
+- #define JPEGXL_NUMERIC_VERSION JPEGXL_COMPUTE_NUMERIC_VERSION(0, 7, 0)
+-#endif
++#include <jxl/version.h>
+
+ /**
+ * Transform threadcount in ffmpeg to one used by libjxl.
+--
+2.30.2
diff --git a/media-video/ffmpeg/files/ffmpeg-6.1-gcc-14.patch b/media-video/ffmpeg/files/ffmpeg-6.1-gcc-14.patch
new file mode 100644
index 000000000000..0db7301f18d9
--- /dev/null
+++ b/media-video/ffmpeg/files/ffmpeg-6.1-gcc-14.patch
@@ -0,0 +1,13 @@
+diff --git a/libavutil/hwcontext_vaapi.c b/libavutil/hwcontext_vaapi.c
+index 29fc8bd648..1f85fac7f4 100644
+--- a/libavutil/hwcontext_vaapi.c
++++ b/libavutil/hwcontext_vaapi.c
+@@ -1203,7 +1203,7 @@ static int vaapi_map_from_drm(AVHWFramesContext *src_fc, AVFrame *dst,
+
+ if (!use_prime2 || vas != VA_STATUS_SUCCESS) {
+ int k;
+- unsigned long buffer_handle;
++ uintptr_t buffer_handle;
+ VASurfaceAttribExternalBuffers buffer_desc;
+ VASurfaceAttrib buffer_attrs[2] = {
+ {
diff --git a/media-video/ffmpeg/files/ffmpeg-6.1-opencl-parallel-gmake-fix.patch b/media-video/ffmpeg/files/ffmpeg-6.1-opencl-parallel-gmake-fix.patch
new file mode 100644
index 000000000000..271a18999fb3
--- /dev/null
+++ b/media-video/ffmpeg/files/ffmpeg-6.1-opencl-parallel-gmake-fix.patch
@@ -0,0 +1,12 @@
+Bug: https://bugs.gentoo.org/782553
+
+--- ffmpeg-6.1.1/tools/source2c.orig 2024-03-14 04:53:45.468507151 +0300
++++ ffmpeg-6.1.1/tools/source2c 2024-03-14 04:54:53.503086088 +0300
+@@ -24,6 +24,7 @@
+
+ name=$(basename "$input" | sed 's/.cl$//')
+
++mkdir -p "$(dirname "$output")"
+ cat >$output <<EOF
+ // Generated from $input
+ const char *ff_opencl_source_$name =
diff --git a/media-video/ffmpeg/files/ffmpeg-6.1-wint-conversion.patch b/media-video/ffmpeg/files/ffmpeg-6.1-wint-conversion.patch
new file mode 100644
index 000000000000..c95566117903
--- /dev/null
+++ b/media-video/ffmpeg/files/ffmpeg-6.1-wint-conversion.patch
@@ -0,0 +1,88 @@
+Sent upstream to the mailing list but stuck in moderation queue / not yet on archive.
+
+From 50f34826bcff90f393dfbc6c4e0c908556831d4d Mon Sep 17 00:00:00 2001
+From: Sam James <sam@gentoo.org>
+Date: Wed, 13 Dec 2023 04:25:54 +0000
+Subject: [PATCH] libavcodec: fix -Wint-conversion in vulkan
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+FIx warnings (soon to be errors in GCC 14, already so in Clang 15):
+```
+src/libavcodec/vulkan_av1.c: In function ‘vk_av1_create_params’:
+src/libavcodec/vulkan_av1.c:183:43: error: initialization of ‘long long unsigned int’ from ‘void *’ makes integer from pointer without a cast [-Wint-conversion]
+ 183 | .videoSessionParametersTemplate = NULL,
+ | ^~~~
+src/libavcodec/vulkan_av1.c:183:43: note: (near initialization for ‘(anonymous).videoSessionParametersTemplate’)
+```
+
+Use Vulkan's VK_NULL_HANDLE instead of bare NULL.
+
+Fix Trac ticket #10724.
+
+Was reported downstream in Gentoo at https://bugs.gentoo.org/919067.
+
+Signed-off-by: Sam James <sam@gentoo.org>
+--- a/libavcodec/vulkan_av1.c
++++ b/libavcodec/vulkan_av1.c
+@@ -180,7 +180,7 @@ static int vk_av1_create_params(AVCodecContext *avctx, AVBufferRef **buf)
+ .sType = VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_CREATE_INFO_KHR,
+ .pNext = &av1_params,
+ .videoSession = ctx->common.session,
+- .videoSessionParametersTemplate = NULL,
++ .videoSessionParametersTemplate = VK_NULL_HANDLE,
+ };
+
+ err = ff_vk_decode_create_params(buf, avctx, ctx, &session_params_create);
+--- a/libavcodec/vulkan_decode.c
++++ b/libavcodec/vulkan_decode.c
+@@ -188,9 +188,9 @@ int ff_vk_decode_prepare_frame(FFVulkanDecodeContext *dec, AVFrame *pic,
+ return 0;
+
+ vkpic->dpb_frame = NULL;
+- vkpic->img_view_ref = NULL;
+- vkpic->img_view_out = NULL;
+- vkpic->img_view_dest = NULL;
++ vkpic->img_view_ref = VK_NULL_HANDLE;
++ vkpic->img_view_out = VK_NULL_HANDLE;
++ vkpic->img_view_dest = VK_NULL_HANDLE;
+
+ vkpic->destroy_image_view = vk->DestroyImageView;
+ vkpic->wait_semaphores = vk->WaitSemaphores;
+--- a/libavcodec/vulkan_h264.c
++++ b/libavcodec/vulkan_h264.c
+@@ -315,7 +315,7 @@ static int vk_h264_create_params(AVCodecContext *avctx, AVBufferRef **buf)
+ .sType = VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_CREATE_INFO_KHR,
+ .pNext = &h264_params,
+ .videoSession = ctx->common.session,
+- .videoSessionParametersTemplate = NULL,
++ .videoSessionParametersTemplate = VK_NULL_HANDLE,
+ };
+
+ /* SPS list */
+--- a/libavcodec/vulkan_hevc.c
++++ b/libavcodec/vulkan_hevc.c
+@@ -653,7 +653,7 @@ static int vk_hevc_create_params(AVCodecContext *avctx, AVBufferRef **buf)
+ .sType = VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_CREATE_INFO_KHR,
+ .pNext = &h265_params,
+ .videoSession = ctx->common.session,
+- .videoSessionParametersTemplate = NULL,
++ .videoSessionParametersTemplate = VK_NULL_HANDLE,
+ };
+
+ HEVCHeaderSet *hdr;
+--- a/libavcodec/vulkan_video.c
++++ b/libavcodec/vulkan_video.c
+@@ -287,7 +287,7 @@ av_cold void ff_vk_video_common_uninit(FFVulkanContext *s,
+ if (common->session) {
+ vk->DestroyVideoSessionKHR(s->hwctx->act_dev, common->session,
+ s->hwctx->alloc);
+- common->session = NULL;
++ common->session = VK_NULL_HANDLE;
+ }
+
+ if (common->nb_mem && common->mem)
+--
+2.43.0
+
diff --git a/media-video/ffmpeg/files/ffmpeg-6.1.1-vulkan-rename.patch b/media-video/ffmpeg/files/ffmpeg-6.1.1-vulkan-rename.patch
new file mode 100644
index 000000000000..b564e3874485
--- /dev/null
+++ b/media-video/ffmpeg/files/ffmpeg-6.1.1-vulkan-rename.patch
@@ -0,0 +1,127 @@
+https://bugs.gentoo.org/928593
+https://git.ffmpeg.org/gitweb/ffmpeg.git/commit/fef22c87ada4517441701e6e61e062c9f4399c8e
+
+From fef22c87ada4517441701e6e61e062c9f4399c8e Mon Sep 17 00:00:00 2001
+From: =?utf8?q?Jan=20Ekstr=C3=B6m?= <jeebjp@gmail.com>
+Date: Wed, 14 Feb 2024 22:40:54 +0200
+Subject: [PATCH] {avcodec,tests}: rename the bundled Mesa AV1 vulkan video
+ headers
+
+This together with adjusting the inclusion define allows for the
+build to not fail with latest Vulkan-Headers that contain the
+stabilized Vulkan AV1 decoding definitions.
+
+Compilation fails currently as the AV1 header is getting included
+via hwcontext_vulkan.h -> <vulkan/vulkan.h> -> vulkan_core.h, which
+finally includes vk_video/vulkan_video_codec_av1std.h and the decode
+header, leading to the bundled header to never defining anything
+due to the inclusion define being the same.
+
+This fix is imperfect, as it leads to additional re-definition
+warnings for things such as
+VK_STD_VULKAN_VIDEO_CODEC_AV1_DECODE_SPEC_VERSION. , but it is
+not clear how to otherwise have the bundled version trump the
+actually standardized one for a short-term compilation fix.
+
+(cherry picked from commit e06ce6d2b45edac4a2df04f304e18d4727417d24)
+---
+ libavcodec/Makefile | 4 ++--
+ libavcodec/vulkan_video.h | 4 ++--
+ ...v1std_decode.h => vulkan_video_codec_av1std_decode_mesa.h} | 4 ++--
+ ..._video_codec_av1std.h => vulkan_video_codec_av1std_mesa.h} | 4 ++--
+ tests/ref/fate/source | 4 ++--
+ 5 files changed, 10 insertions(+), 10 deletions(-)
+ rename libavcodec/{vulkan_video_codec_av1std_decode.h => vulkan_video_codec_av1std_decode_mesa.h} (89%)
+ rename libavcodec/{vulkan_video_codec_av1std.h => vulkan_video_codec_av1std_mesa.h} (99%)
+
+diff --git a/libavcodec/Makefile b/libavcodec/Makefile
+index ec57e53e30..eb25707ef5 100644
+--- a/libavcodec/Makefile
++++ b/libavcodec/Makefile
+@@ -1284,7 +1284,7 @@ SKIPHEADERS += %_tablegen.h \
+ aacenc_quantization.h \
+ aacenc_quantization_misc.h \
+ bitstream_template.h \
+- vulkan_video_codec_av1std.h \
++ vulkan_video_codec_av1std_mesa.h \
+ $(ARCH)/vpx_arith.h \
+
+ SKIPHEADERS-$(CONFIG_AMF) += amfenc.h
+@@ -1306,7 +1306,7 @@ SKIPHEADERS-$(CONFIG_XVMC) += xvmc.h
+ SKIPHEADERS-$(CONFIG_VAAPI) += vaapi_decode.h vaapi_hevc.h vaapi_encode.h
+ SKIPHEADERS-$(CONFIG_VDPAU) += vdpau.h vdpau_internal.h
+ SKIPHEADERS-$(CONFIG_VIDEOTOOLBOX) += videotoolbox.h vt_internal.h
+-SKIPHEADERS-$(CONFIG_VULKAN) += vulkan.h vulkan_video.h vulkan_decode.h vulkan_video_codec_av1std_decode.h
++SKIPHEADERS-$(CONFIG_VULKAN) += vulkan.h vulkan_video.h vulkan_decode.h vulkan_video_codec_av1std_decode_mesa.h
+ SKIPHEADERS-$(CONFIG_V4L2_M2M) += v4l2_buffers.h v4l2_context.h v4l2_m2m.h
+ SKIPHEADERS-$(CONFIG_ZLIB) += zlib_wrapper.h
+
+diff --git a/libavcodec/vulkan_video.h b/libavcodec/vulkan_video.h
+index b28e3fe0bd..51f44dd543 100644
+--- a/libavcodec/vulkan_video.h
++++ b/libavcodec/vulkan_video.h
+@@ -23,8 +23,8 @@
+ #include "vulkan.h"
+
+ #include <vk_video/vulkan_video_codecs_common.h>
+-#include "vulkan_video_codec_av1std.h"
+-#include "vulkan_video_codec_av1std_decode.h"
++#include "vulkan_video_codec_av1std_mesa.h"
++#include "vulkan_video_codec_av1std_decode_mesa.h"
+
+ #define CODEC_VER_MAJ(ver) (ver >> 22)
+ #define CODEC_VER_MIN(ver) ((ver >> 12) & ((1 << 10) - 1))
+diff --git a/libavcodec/vulkan_video_codec_av1std_decode.h b/libavcodec/vulkan_video_codec_av1std_decode_mesa.h
+similarity index 89%
+rename from libavcodec/vulkan_video_codec_av1std_decode.h
+rename to libavcodec/vulkan_video_codec_av1std_decode_mesa.h
+index a697c00593..e2f37b4e6e 100644
+--- a/libavcodec/vulkan_video_codec_av1std_decode.h
++++ b/libavcodec/vulkan_video_codec_av1std_decode_mesa.h
+@@ -14,8 +14,8 @@
+ * limitations under the License.
+ */
+
+-#ifndef VULKAN_VIDEO_CODEC_AV1STD_DECODE_H_
+-#define VULKAN_VIDEO_CODEC_AV1STD_DECODE_H_ 1
++#ifndef VULKAN_VIDEO_CODEC_AV1STD_DECODE_MESA_H_
++#define VULKAN_VIDEO_CODEC_AV1STD_DECODE_MESA_H_ 1
+
+ /*
+ ** This header is NOT YET generated from the Khronos Vulkan XML API Registry.
+diff --git a/libavcodec/vulkan_video_codec_av1std.h b/libavcodec/vulkan_video_codec_av1std_mesa.h
+similarity index 99%
+rename from libavcodec/vulkan_video_codec_av1std.h
+rename to libavcodec/vulkan_video_codec_av1std_mesa.h
+index c46236c457..c91589eee2 100644
+--- a/libavcodec/vulkan_video_codec_av1std.h
++++ b/libavcodec/vulkan_video_codec_av1std_mesa.h
+@@ -14,8 +14,8 @@
+ * limitations under the License.
+ */
+
+-#ifndef VULKAN_VIDEO_CODEC_AV1STD_H_
+-#define VULKAN_VIDEO_CODEC_AV1STD_H_ 1
++#ifndef VULKAN_VIDEO_CODEC_AV1STD_MESA_H_
++#define VULKAN_VIDEO_CODEC_AV1STD_MESA_H_ 1
+
+ /*
+ ** This header is NOT YET generated from the Khronos Vulkan XML API Registry.
+diff --git a/tests/ref/fate/source b/tests/ref/fate/source
+index c575789dd5..8bb58b61f1 100644
+--- a/tests/ref/fate/source
++++ b/tests/ref/fate/source
+@@ -23,8 +23,8 @@ compat/djgpp/math.h
+ compat/float/float.h
+ compat/float/limits.h
+ libavcodec/bitstream_template.h
+-libavcodec/vulkan_video_codec_av1std.h
+-libavcodec/vulkan_video_codec_av1std_decode.h
++libavcodec/vulkan_video_codec_av1std_decode_mesa.h
++libavcodec/vulkan_video_codec_av1std_mesa.h
+ tools/decode_simple.h
+ Use of av_clip() where av_clip_uintp2() could be used:
+ Use of av_clip() where av_clip_intp2() could be used:
+--
+2.25.1
+
diff --git a/media-video/ffmpeg/metadata.xml b/media-video/ffmpeg/metadata.xml
index 54cb9b3546d3..31380f3cda3d 100644
--- a/media-video/ffmpeg/metadata.xml
+++ b/media-video/ffmpeg/metadata.xml
@@ -4,6 +4,11 @@
<maintainer type="project">
<email>media-video@gentoo.org</email>
</maintainer>
+ <maintainer type="person">
+ <email>chewi@gentoo.org</email>
+ <name>James Le Cuirot</name>
+ <description>chromium and soc USE flags</description>
+ </maintainer>
<use>
<flag name="amf">Enables support for AMD's Advanced Media Framework (AMF)</flag>
<flag name="amr">Enables Adaptive Multi-Rate Audio support</flag>
@@ -24,6 +29,7 @@
<flag name="fribidi">Enables fribidi support in the drawtext filter.</flag>
<flag name="gcrypt">Enables gcrypt support: Needed for rtmp(t)e support if openssl, librtmp or gmp is not used.</flag>
<flag name="gme">Enables support for <pkg>media-libs/game-music-emu</pkg> for playing various video game music formats.</flag>
+ <flag name="glslang">Use <pkg>dev-util/glslang</pkg> to compile GLSL</flag>
<flag name="gpl">Build GPL code. Should be enabled unless you require LGPL binaries.</flag>
<flag name="hardcoded-tables">
Use pre-calculated tables rather than calculating them on the fly.
@@ -36,7 +42,6 @@
Improvements are being made to the runtime initialization, and so over time, this option will have an impact on fewer and fewer codecs.
</flag>
<flag name="iec61883"> Support for FireWire DV/HDV input device using <pkg>media-libs/libiec61883</pkg>.</flag>
- <flag name="jpegxl">Enable JPEG XL de/encoding via <pkg>media-libs/libjxl</pkg>.</flag>
<flag name="kvazaar">Enables <pkg>media-libs/kvazaar</pkg> based HEVC encoder.</flag>
<flag name="lcms">Enable ICC profile support via <pkg>media-libs/lcms</pkg>.</flag>
<flag name="libaom">Enables <pkg>media-libs/libaom</pkg> based AV1 codec support.</flag>
@@ -53,26 +58,27 @@
<flag name="mipsdspr1">Enables MIPS DSP ASE R1 optimizations.</flag>
<flag name="mipsdspr2">Enables MIPS DSP ASE R2 optimizations.</flag>
<flag name="mipsfpu">Enables floating point MIPS optimizations.</flag>
- <flag name="qsv">Enable Intel Quick Sync Video via <pkg>media-libs/intel-mediasdk</pkg> (ffmpeg versions older than, and including, 5.1) or <pkg>media-libs/oneVPL</pkg> (ffmpeg version newer than 5.1).</flag>
+ <flag name="qsv">Enable Intel Quick Sync Video via <pkg>media-libs/intel-mediasdk</pkg> (ffmpeg versions older than, and including, 5.1) or <pkg>media-libs/libvpl</pkg> (ffmpeg version newer than 5.1).</flag>
<flag name="mmal">Enables Multi-Media Abstraction Layer (MMAL) decoding support: Available e.g. on the Raspberry Pi.</flag>
<flag name="network">Enables network streaming support</flag>
- <flag name="opencl">Enable OpenCL support</flag>
<flag name="openh264">Enables H.264 encoding suppoprt via <pkg>media-libs/openh264</pkg>.</flag>
<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="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>
<flag name="snappy">Enable <pkg>app-arch/snappy</pkg> support. Required for e.g. Vidvox Hap encoder.</flag>
<flag name="sndio">Enable support for the <pkg>media-sound/sndio</pkg> backend</flag>
+ <flag name="soc">Apply additional patches for efficient playback on some SoCs (e.g. ARM, RISC-V).</flag>
<flag name="srt">Enable support for Secure Reliable Transport (SRT) via <pkg>net-libs/srt</pkg></flag>
<flag name="ssh">Enable SSH/sftp support via <pkg>net-libs/libssh</pkg>.</flag>
<flag name="svt-av1">Enables AV1 encoding support via <pkg>media-libs/svt-av1</pkg>.</flag>
+ <flag name="truetype">Enables drawtext filter via <pkg>media-libs/freetype</pkg> and <pkg>media-libs/harfbuzz</pkg>.</flag>
<flag name="twolame">Enables MP2 encoding via <pkg>media-sound/twolame</pkg> as an alternative to the internal encoder.</flag>
<flag name="vidstab">Enables video stabilization filter using vid.stab library (<pkg>media-libs/vidstab</pkg>).</flag>
<flag name="vmaf">Enables Netflix's perceptual video quality assessment filter using the library (<pkg>media-libs/libvmaf</pkg>).</flag>
<flag name="vpx">Enables VP8 and VP9 codec support using libvpx: Decoding does not require this to be enabled but libvpx can also be used for decoding; encoding requires this useflag to be enabled though.</flag>
- <flag name="vulkan">Enables support for the vulkan API for GPU offload.</flag>
<flag name="x265">Enables HEVC encoding with <pkg>media-libs/x265</pkg>.</flag>
<flag name="zeromq">Enables <pkg>net-libs/zeromq</pkg> support with the zmq/azmq filters.</flag>
<flag name="zimg">Enables <pkg>media-libs/zimg</pkg> based scale filter.</flag>
@@ -85,5 +91,6 @@
</slots>
<upstream>
<remote-id type="github">FFmpeg/FFmpeg</remote-id>
+ <remote-id type="cpe">cpe:/a:ffmpeg:ffmpeg</remote-id>
</upstream>
</pkgmetadata>
diff --git a/media-video/ffmpeg2theora/Manifest b/media-video/ffmpeg2theora/Manifest
deleted file mode 100644
index da50db965142..000000000000
--- a/media-video/ffmpeg2theora/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST ffmpeg2theora-0.30.tar.bz2 91269 BLAKE2B e5a57679cb874e7052db184e8e24b60da640ed818affa228cf5353216c64d2805aee375f67cfa2653112beafa36d492a274ced745846e53f81101e0f97418c41 SHA512 2c77d2c5e705751928e2bfd86c4fe4c2b7df2ca2ce70f3dfeb0014a3269eef067587eaa045c11b0db86c69176d8f01a43b3ad75544d181c016a89aa50b6518c1
diff --git a/media-video/ffmpeg2theora/ffmpeg2theora-0.30-r1.ebuild b/media-video/ffmpeg2theora/ffmpeg2theora-0.30-r1.ebuild
deleted file mode 100644
index 89102c0a4714..000000000000
--- a/media-video/ffmpeg2theora/ffmpeg2theora-0.30-r1.ebuild
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{9..10} )
-inherit python-any-r1 scons-utils
-
-DESCRIPTION="A simple converter to create Ogg Theora files"
-HOMEPAGE="http://www.v2v.cc/~j/ffmpeg2theora/"
-SRC_URI="http://www.v2v.cc/~j/${PN}/downloads/${P}.tar.bz2"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="amd64 ~ppc ~ppc64 ~sparc x86"
-IUSE="kate"
-
-RDEPEND="
- media-video/ffmpeg:0=[postproc]
- >=media-libs/libvorbis-1.1
- >=media-libs/libogg-1.1
- >=media-libs/libtheora-1.1[encode]
- kate? ( >=media-libs/libkate-0.3.7 )"
-DEPEND="${RDEPEND}"
-BDEPEND="virtual/pkgconfig"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.29-swr.patch
- "${FILESDIR}"/${PN}-0.29-underlinking.patch
-)
-
-src_prepare() {
- default
-
- 2to3 -n -w --no-diffs SConstruct || die
-}
-
-src_configure() {
- SCONSARGS=(
- APPEND_CCFLAGS="${CFLAGS}"
- APPEND_LINKFLAGS="${LDFLAGS}"
- prefix=/usr
- mandir=PREFIX/share/man
- libkate=$(usex kate 1 0)
- )
-}
-
-src_compile() {
- escons "${SCONSARGS[@]}"
-}
-
-src_install() {
- escons "${SCONSARGS[@]}" destdir="${D}" install
- dodoc AUTHORS ChangeLog README subtitles.txt TODO
-}
diff --git a/media-video/ffmpeg2theora/files/ffmpeg2theora-0.29-swr.patch b/media-video/ffmpeg2theora/files/ffmpeg2theora-0.29-swr.patch
deleted file mode 100644
index b1117a87ea6f..000000000000
--- a/media-video/ffmpeg2theora/files/ffmpeg2theora-0.29-swr.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-commit a72baecd4dc7b01c0785b481460dde0fbab9a90a
-Author: Jan Gerber <j@xiph.org>
-Date: Fri Nov 23 20:21:54 2012 +0100
-
- only depend on libswresample for local branch
-
- libav does not have libswresample so its not in ubuntu.
-
-diff --git a/SConstruct b/SConstruct
-index 90520c3..01d234a 100644
---- a/SConstruct
-+++ b/SConstruct
-@@ -152,10 +152,10 @@ if not env.GetOption('clean'):
- "libavcodec >= 52.30.0",
- "libpostproc",
- "libswscale",
-- "libswresample",
- "libavutil",
- ]
- if os.path.exists("./ffmpeg"):
-+ FFMPEG_LIBS.append('libswresample')
- pkg_path = list(set(map(os.path.dirname, glob('./ffmpeg/*/*.pc'))))
- pkg_path.append(os.environ.get('PKG_CONFIG_PATH', ''))
- os.environ['PKG_CONFIG_PATH'] = ':'.join(pkg_path)
diff --git a/media-video/ffmpeg2theora/files/ffmpeg2theora-0.29-underlinking.patch b/media-video/ffmpeg2theora/files/ffmpeg2theora-0.29-underlinking.patch
deleted file mode 100644
index 791e39d87744..000000000000
--- a/media-video/ffmpeg2theora/files/ffmpeg2theora-0.29-underlinking.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-For example, pow() from mathlib is used directly in src/ffmpeg2theora.c:
-
-<snip>
-v = pow(v, g) * 255.0; // mplayer's vf_eq2.c multiplies with 256 here, strange...
-</snip>
-
-For build failure and log, see Gentoo bug #504698
-
---- a/SConstruct
-+++ b/SConstruct
-@@ -206,9 +206,8 @@
- if env['crossmingw']:
- env.Append(CCFLAGS=['-Wl,-subsystem,windows'])
- env.Append(LIBS=['m'])
-- elif env['static']:
-- env.Append(LIBS=['m', 'dl'])
-
-+ env.Append(LIBS=['m', 'dl'])
-
- env = conf.Finish()
-
diff --git a/media-video/ffmpeg2theora/metadata.xml b/media-video/ffmpeg2theora/metadata.xml
deleted file mode 100644
index dc686e6e5ae1..000000000000
--- a/media-video/ffmpeg2theora/metadata.xml
+++ /dev/null
@@ -1,10 +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>
- <use>
- <flag name="kate">Adds support for Ogg Kate subtitles via libkate.</flag>
- </use>
-</pkgmetadata>
diff --git a/media-video/ffmpegthumbnailer/ffmpegthumbnailer-2.2.2-r1.ebuild b/media-video/ffmpegthumbnailer/ffmpegthumbnailer-2.2.2-r1.ebuild
index 2a14d886589c..fe3bdd09679e 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 ~ia64 ~loong ppc ppc64 ~riscv sparc x86"
IUSE="gnome gtk jpeg png test"
RESTRICT="!test? ( test )"
diff --git a/media-video/ffmpegthumbnailer/ffmpegthumbnailer-2.2.2.ebuild b/media-video/ffmpegthumbnailer/ffmpegthumbnailer-2.2.2.ebuild
deleted file mode 100644
index 009948d53ef0..000000000000
--- a/media-video/ffmpegthumbnailer/ffmpegthumbnailer-2.2.2.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-DESCRIPTION="Lightweight video thumbnailer that can be used by file managers"
-HOMEPAGE="https://github.com/dirkvdb/ffmpegthumbnailer"
-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 ppc ppc64 ~riscv sparc x86"
-IUSE="gnome gtk jpeg png test"
-RESTRICT="!test? ( test )"
-
-REQUIRED_USE="gnome? ( gtk )
- test? ( png jpeg )"
-
-BDEPEND="
- virtual/pkgconfig
-"
-RDEPEND="
- gtk? ( dev-libs/glib:2= )
- jpeg? ( virtual/jpeg:0= )
- >=media-video/ffmpeg-2.7:0=
- png? ( media-libs/libpng:0= )
-"
-DEPEND="${RDEPEND}"
-
-DOCS=( AUTHORS ChangeLog README.md )
-
-src_prepare() {
- rm -rf out* || die
-
- cmake_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DENABLE_GIO=$(usex gtk)
- -DENABLE_TESTS=$(usex test)
- -DENABLE_THUMBNAILER=$(usex gnome)
- -DHAVE_JPEG=$(usex jpeg)
- -DHAVE_PNG=$(usex png)
- )
- cmake_src_configure
-}
diff --git a/media-video/gaupol/Manifest b/media-video/gaupol/Manifest
index 9ac89580c751..df3da67cc1f4 100644
--- a/media-video/gaupol/Manifest
+++ b/media-video/gaupol/Manifest
@@ -1 +1,2 @@
-DIST gaupol-1.11.tar.gz 581799 BLAKE2B d0f4ad7c71086f585138bde79ba49f43e8e71eba7bc5ef5f0ac324ab962049cd1c71030f5a7d6ec859d4ac32dc7a07c8255ab01d98114629055f777f11210a2e SHA512 8c623f6ed8d189a79a994545be3dd96ae7fec399216520bfe89587a9c0b5917e07b6d80fe1f8a7b2d016b9fb1aa544bdabe103428dc97ea78e6d8c05666d0e9c
+DIST gaupol-1.13.tar.gz 592830 BLAKE2B dcde1dd6c5e3e9624f0e7692c4d6cc14452733d1e35bc25de5deaa842cdb069250dee0b2d9eb75d1bb9f3c618c43457718ce91f5a6992ec7797fbb37366fc524 SHA512 ebe2accd962344c07201e46ceff3801483a4c68f9772d1fc868a93d8044b65987f7233eab675a9f3148bce686261a6b5c40d66d3f9471f9515713fbfb46a3f92
+DIST gaupol-1.14.1.tar.gz 593435 BLAKE2B f7ee1f2e70707f54204400d99107a1ee62b721e7ee0be76ce980a261b1b95349aefcc5907dc5cf956fd703a4372065576371cdf0466a32ee206d797b1500d53d SHA512 efaa9910496dcd683be40ff33bf68de313b852d6212f3f43c67e6433eb3b95b64c89707d1a69a54c9f772c44cf04f95ca76d705d396b376ac1c86c4bbe48e4e0
diff --git a/media-video/gaupol/files/gaupol-1.12-fix-prefix.patch b/media-video/gaupol/files/gaupol-1.12-fix-prefix.patch
new file mode 100644
index 000000000000..9aa0dd582c04
--- /dev/null
+++ b/media-video/gaupol/files/gaupol-1.12-fix-prefix.patch
@@ -0,0 +1,30 @@
+From b638bf5352194ba08b1139375e27523ce43834b0 Mon Sep 17 00:00:00 2001
+From: Louis Sautier <sautier.louis@gmail.com>
+Date: Wed, 22 Feb 2023 13:49:26 +0100
+Subject: [PATCH] Rely on sys.prefix instead of setuptools-computed prefix
+
+When using PEP517 mode, we ended up with
+DATA_DIR = '/gaupol-1.12.data/data/share/gaupol'
+LOCALE_DIR = '/gaupol-1.11.data/data/share/locale'
+
+By relying on sys.prefix instead, we work around the issue.
+Bug: https://bugs.gentoo.org/839267
+--- a/setup.py
++++ b/setup.py
+@@ -335,11 +335,11 @@ class InstallLib(install_lib):
+ path = os.path.join(self.build_dir, "aeidon", "paths.py")
+ text = open(path, "r", encoding="utf_8").read()
+ patt = r"^DATA_DIR = .*$"
+- repl = "DATA_DIR = {!r}".format(data_dir)
++ repl = 'DATA_DIR = os.path.join(sys.prefix, "share", "gaupol")'
+ text = re.sub(patt, repl, text, flags=re.MULTILINE)
+ assert text.count(repl) == 1
+ patt = r"^LOCALE_DIR = .*$"
+- repl = "LOCALE_DIR = {!r}".format(locale_dir)
++ repl = 'LOCALE_DIR = os.path.join(sys.prefix, "share", "locale")'
+ text = re.sub(patt, repl, text, flags=re.MULTILINE)
+ assert text.count(repl) == 1
+ open(path, "w", encoding="utf_8").write(text)
+--
+2.39.2
+
diff --git a/media-video/gaupol/gaupol-1.11-r1.ebuild b/media-video/gaupol/gaupol-1.13.ebuild
index 9912107e930f..7892e1af156e 100644
--- a/media-video/gaupol/gaupol-1.11-r1.ebuild
+++ b/media-video/gaupol/gaupol-1.13.ebuild
@@ -3,12 +3,13 @@
EAPI=8
-PYTHON_COMPAT=( python3_{9..11} )
+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/"
+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+"
@@ -36,6 +37,10 @@ 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
}
diff --git a/media-video/gaupol/gaupol-1.14.1.ebuild b/media-video/gaupol/gaupol-1.14.1.ebuild
new file mode 100644
index 000000000000..0caa08c6a2f9
--- /dev/null
+++ b/media-video/gaupol/gaupol-1.14.1.ebuild
@@ -0,0 +1,69 @@
+# 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/gnome-video-effects/Manifest b/media-video/gnome-video-effects/Manifest
index d42f464b53c9..b5f216855ce8 100644
--- a/media-video/gnome-video-effects/Manifest
+++ b/media-video/gnome-video-effects/Manifest
@@ -1 +1,2 @@
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
diff --git a/media-video/gnome-video-effects/gnome-video-effects-0.5.0.ebuild b/media-video/gnome-video-effects/gnome-video-effects-0.5.0-r1.ebuild
index 26995771fc03..9046f8687f34 100644
--- a/media-video/gnome-video-effects/gnome-video-effects-0.5.0.ebuild
+++ b/media-video/gnome-video-effects/gnome-video-effects-0.5.0-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -15,7 +15,6 @@ KEYWORDS="~alpha amd64 ~arm arm64 ~ia64 ~ppc ~ppc64 ~riscv ~sparc x86"
DEPEND=""
RDEPEND=""
BDEPEND="
- >=dev-util/intltool-0.40.0
>=sys-devel/gettext-0.17
"
diff --git a/media-video/gnome-video-effects/gnome-video-effects-0.6.0.ebuild b/media-video/gnome-video-effects/gnome-video-effects-0.6.0.ebuild
new file mode 100644
index 000000000000..4d2d08a10081
--- /dev/null
+++ b/media-video/gnome-video-effects/gnome-video-effects-0.6.0.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit gnome.org meson optfeature
+
+DESCRIPTION="Effects for Cheese, the webcam video and picture application"
+HOMEPAGE="https://wiki.gnome.org/Projects/GnomeVideoEffects"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm arm64 ~loong ~ppc ~ppc64 ~riscv x86"
+
+DEPEND=""
+RDEPEND=""
+BDEPEND="
+ >=sys-devel/gettext-0.17
+"
+
+# This ebuild does not install any binaries
+RESTRICT="binchecks strip"
+
+pkg_postinst() {
+ optfeature "Scanline video effect" media-plugins/frei0r-plugins
+}
diff --git a/media-video/gpac/Manifest b/media-video/gpac/Manifest
index 1eeffa596c2a..59e0c115eaf8 100644
--- a/media-video/gpac/Manifest
+++ b/media-video/gpac/Manifest
@@ -1 +1,3 @@
DIST gpac-2.0.0.tar.gz 11362932 BLAKE2B a8489831efb77c374d13e2edb3951e60a94907c4cd8601919e1390aee0e9002249e97a9200fd006c2aa783c516f701f7695aa84b5f3596a3bc90290916ff4086 SHA512 e95e6d78167fc306917b3ac89e56ba511bbcb0c825da118f5ba374504499352104b5c1f3ee71e7ec018015b8e302f9b07162d22287ddb21c8564b097d900913f
+DIST gpac-2.2.0.tar.gz 11376708 BLAKE2B f50c131912787c274a5b2d37e242e37ddd07f2c6eab3a932ec243f0fc36aeb06d4f16fd861eb3534f93534c291c55fddc2bcd1f573d2ed186e17464512a1f089 SHA512 4ac63a79a5d1057aadb59429af84ca9e4e0c0b863b19beafb60bd1c30425357dec45b5d6d48d452eb94002b059c9eb0c7bb0cc14222194f641604f964b3207c2
+DIST gpac-2.2.1.tar.gz 11377184 BLAKE2B 44b47459da0f203d0e4c0eed5836a59f44fb508db4e601b46e9ffdb53d89bb49e22ccdfe7951b17581130f186c47ae8efc0d9002685d5cf9a3547159356d2d9e SHA512 873df4c2fdc3594a0f3bce66d511cee14669643042ab1ca8d7f370ad3f50636c32c31f79818051d00bf844de30a5533ae30c81ed168baf2626a152771b6a6845
diff --git a/media-video/gpac/files/gpac-2.2.0-configure.patch b/media-video/gpac/files/gpac-2.2.0-configure.patch
new file mode 100644
index 000000000000..1d26b52a6d90
--- /dev/null
+++ b/media-video/gpac/files/gpac-2.2.0-configure.patch
@@ -0,0 +1,104 @@
+* Makes static libs optional
+* Removes auto-SSE2 detection
+
+Index: gpac-2.2.0/Makefile
+===================================================================
+--- gpac-2.2.0.orig/Makefile
++++ gpac-2.2.0/Makefile
+@@ -276,7 +276,9 @@ install-lib:
+ $(INSTALL) $(INSTFLAGS) -m 644 config.h "$(DESTDIR)$(prefix)/include/gpac/configuration.h" || true
+
+ $(INSTALL) -d "$(DESTDIR)$(prefix)/$(lib_dir)"
++ifeq ($(STATIC_LIBS), yes)
+ $(INSTALL) $(INSTFLAGS) -m 644 "./bin/gcc/libgpac_static.a" "$(DESTDIR)$(prefix)/$(lib_dir)" || true
++endif
+
+ $(INSTALL) -d $(DESTDIR)$(prefix)/$(lib_dir)/pkgconfig
+ $(INSTALL) $(INSTFLAGS) -m 644 gpac.pc "$(DESTDIR)$(prefix)/$(lib_dir)/pkgconfig"
+Index: gpac-2.2.0/configure
+===================================================================
+--- gpac-2.2.0.orig/configure
++++ gpac-2.2.0/configure
+@@ -74,6 +74,7 @@ enable_sanitizer="no"
+ libgpac_cflags=""
+ libgpac_extralibs=""
+ static_build="no"
++static_libs="no"
+ static_bin="no"
+ static_modules="no"
+ lm_lib=""
+@@ -273,6 +274,7 @@ GPAC build options:
+ --disable-opt disable GCC optimizations
+ --static-build link statically against libgpac but still allow dependencies to shared libraries (enable --static-modules)
+ --static-bin enable static linking of MP4Box and gpac only (will enable --static-build), disable all libraries not linkable statically.
++ --enable-static-lib GPAC static libraries build
+ --sdl-cfg=SDL_PATH specify path to sdl-config for local install [$sdl_path]
+ --enable-sdl-static use static SDL linking [default=no]
+ --X11-path=X11_PATH specify path for X11 includes and libraries [$X11_PATH]
+@@ -552,6 +554,8 @@ for opt do
+ echo "$opt deprecated, use --static-build instead"
+ static_build="yes";
+ ;;
++ --enable-static-libs) static_libs="yes";
++ ;;
+ --enable-fixed-point) use_fixed_point="yes"
+ ;;
+ --strip) INSTFLAGS="-s $INSTFLAGS"
+@@ -943,14 +947,6 @@ if docc -lz -Wno-pointer-sign ; then
+ fi
+
+
+-#GCC opt
+-if test "$no_gcc_opt" = "no"; then
+- CFLAGS="-O3 $CFLAGS"
+-else
+- CFLAGS="-O0 $CFLAGS"
+-fi
+-
+-
+ #GCC PIC
+ if test "$cross_prefix" != "" ; then
+ want_pic="no"
+@@ -978,11 +974,6 @@ cat > $TMPC << EOF
+ int main( void ) { return 0; }
+ EOF
+
+-if docc -msse2 $LDFLAGS ; then
+- CFLAGS="$CFLAGS -msse2"
+-fi
+-
+-
+ #check dlopen support
+ has_dlopen="no"
+ cat > $TMPC << EOF
+@@ -1888,6 +1879,7 @@ else
+ fi
+ echo "debug version: $debuginfo"
+ echo "GProf enabled: $gprof_build"
++echo "Static libs enabled: $static_libs"
+ echo "Memory tracking enabled: $use_memory_tracking"
+ echo "Sanitizer enabled: $enable_sanitizer"
+ echo "Fixed-Point Version: $use_fixed_point"
+@@ -2604,6 +2596,7 @@ echo "DEBUGBUILD=$debuginfo" >> config.m
+ echo "GPROFBUILD=$gprof_build" >> config.mak
+ echo "STATIC_BINARY=$static_bin" >> config.mak
+ echo "STATIC_BUILD=$static_build" >> config.mak
++echo "STATIC_LIBS=$static_libs" >> config.mak
+
+ echo "CONFIG_IPV6=$has_ipv6" >> config.mak
+ if test "$has_ipv6" = "yes" ; then
+Index: gpac-2.2.0/src/Makefile
+===================================================================
+--- gpac-2.2.0.orig/src/Makefile
++++ gpac-2.2.0/src/Makefile
+@@ -369,8 +369,10 @@ endif
+
+ else
+
++ifeq ($(STATIC_LIBS), yes)
+ $(AR) cr ../bin/gcc/libgpac_static.a $(OBJS)
+ $(RANLIB) ../bin/gcc/libgpac_static.a
++endif
+ ifneq ($(STATIC_BUILD),yes)
+ $(CC) $(SHFLAGS) $(LD_SONAME) -o $@ $(OBJS) $(ALL_LIBS) $(LDFLAGS)
+ mv $@ $@.$(VERSION_SONAME)
diff --git a/media-video/gpac/files/gpac-2.2.0-ffmpeg6-deux.patch b/media-video/gpac/files/gpac-2.2.0-ffmpeg6-deux.patch
new file mode 100644
index 000000000000..695852847395
--- /dev/null
+++ b/media-video/gpac/files/gpac-2.2.0-ffmpeg6-deux.patch
@@ -0,0 +1,46 @@
+https://bugs.gentoo.org/903550
+
+From ba14e34dd7a3c4cef5a56962898e9f863dd4b4f3 Mon Sep 17 00:00:00 2001
+From: jeanlf <jeanlf@gpac.io>
+Date: Mon, 13 Mar 2023 09:43:52 +0100
+Subject: [PATCH] fixed compil with ffmpeg 6 - cf #2406
+
+--- a/src/filters/ff_mx.c
++++ b/src/filters/ff_mx.c
+@@ -503,7 +503,11 @@ static GF_Err ffmx_close_seg(GF_Filter *filter, GF_FFMuxCtx *ctx, Bool send_evt_
+ evt.seg_size.is_init = 0;
+ }
+ evt.seg_size.media_range_start = ctx->offset_at_seg_start;
++#if LIBAVFORMAT_VERSION_MAJOR >= 60
+ evt.seg_size.media_range_end = ctx->muxer->pb ? (ctx->muxer->pb->bytes_written-1) : 0;
++#else
++ evt.seg_size.media_range_end = ctx->muxer->pb ? (ctx->muxer->pb->written-1) : 0;
++#endif
+ ctx->offset_at_seg_start = evt.seg_size.media_range_end;
+
+ gf_filter_pid_send_event(pid, &evt);
+@@ -1013,13 +1017,21 @@ static GF_Err ffmx_configure_pid(GF_Filter *filter, GF_FilterPid *pid, Bool is_r
+ ff_codec_id = ffmpeg_codecid_from_gpac(codec_id, &ff_codec_tag);
+ }
+
++
++ res = 1;
++#if LIBAVFORMAT_VERSION_MAJOR < 60
+ if (ctx->muxer->oformat) {
+ res = avformat_query_codec(ctx->muxer->oformat, ff_codec_id, 1);
+- if (!res) {
+- GF_LOG(GF_LOG_ERROR, GF_LOG_CONTAINER, ("[FFMux] Codec %s not supported in container %s\n", gf_codecid_name(codec_id), ctx->muxer->oformat->name));
+- return GF_NOT_SUPPORTED;
+- }
+ }
++#else
++ res = avformat_query_codec(ctx->muxer->oformat, ff_codec_id, FF_COMPLIANCE_NORMAL);
++#endif
++
++ if (!res) {
++ GF_LOG(GF_LOG_ERROR, GF_LOG_CONTAINER, ("[FFMux] Codec %s not supported in container %s\n", gf_codecid_name(codec_id), ctx->muxer->oformat->name));
++ return GF_NOT_SUPPORTED;
++ }
++
+ const AVCodec *c = avcodec_find_decoder(ff_codec_id);
+ if (!c) return GF_NOT_SUPPORTED;
diff --git a/media-video/gpac/files/gpac-2.2.0-ffmpeg6.patch b/media-video/gpac/files/gpac-2.2.0-ffmpeg6.patch
new file mode 100644
index 000000000000..89bd0492b7ed
--- /dev/null
+++ b/media-video/gpac/files/gpac-2.2.0-ffmpeg6.patch
@@ -0,0 +1,24 @@
+Index: gpac-2.2.0/src/filters/ff_mx.c
+===================================================================
+--- gpac-2.2.0.orig/src/filters/ff_mx.c
++++ gpac-2.2.0/src/filters/ff_mx.c
+@@ -503,7 +503,7 @@ static GF_Err ffmx_close_seg(GF_Filter *
+ evt.seg_size.is_init = 0;
+ }
+ evt.seg_size.media_range_start = ctx->offset_at_seg_start;
+- evt.seg_size.media_range_end = ctx->muxer->pb ? (ctx->muxer->pb->written-1) : 0;
++ evt.seg_size.media_range_end = ctx->muxer->pb ? (ctx->muxer->pb->bytes_written-1) : 0;
+ ctx->offset_at_seg_start = evt.seg_size.media_range_end;
+
+ gf_filter_pid_send_event(pid, &evt);
+@@ -1013,8 +1013,8 @@ static GF_Err ffmx_configure_pid(GF_Filt
+ ff_codec_id = ffmpeg_codecid_from_gpac(codec_id, &ff_codec_tag);
+ }
+
+- if (ctx->muxer->oformat && ctx->muxer->oformat->query_codec) {
+- res = ctx->muxer->oformat->query_codec(ff_codec_id, 1);
++ if (ctx->muxer->oformat) {
++ res = avformat_query_codec(ctx->muxer->oformat, ff_codec_id, 1);
+ if (!res) {
+ GF_LOG(GF_LOG_ERROR, GF_LOG_CONTAINER, ("[FFMux] Codec %s not supported in container %s\n", gf_codecid_name(codec_id), ctx->muxer->oformat->name));
+ return GF_NOT_SUPPORTED;
diff --git a/media-video/gpac/gpac-2.0.0.ebuild b/media-video/gpac/gpac-2.0.0.ebuild
index 34e01f0cc807..884c45073b43 100644
--- a/media-video/gpac/gpac-2.0.0.ebuild
+++ b/media-video/gpac/gpac-2.0.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -64,7 +64,6 @@ DEPEND="
PATCHES=(
"${FILESDIR}/${PN}-2.0.0-configure.patch"
- "${FILESDIR}/${PN}-1.0.0-zlib-compile.patch"
)
DOCS=(
@@ -91,6 +90,9 @@ my_use() {
src_prepare() {
default
sed -i -e "s:\(--disable-.*\)=\*):\1):" configure || die
+
+ # TODO: remove when old zlib is no longer in tree
+ has_version "<sys-libs/zlib-1.3" && eapply "${FILESDIR}/${PN}-1.0.0-zlib-compile.patch"
}
src_configure() {
diff --git a/media-video/gpac/gpac-2.2.0.ebuild b/media-video/gpac/gpac-2.2.0.ebuild
new file mode 100644
index 000000000000..abd67bfaac3c
--- /dev/null
+++ b/media-video/gpac/gpac-2.2.0.ebuild
@@ -0,0 +1,152 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+if [[ ${PV} == *9999 ]] ; then
+ SCM="git-r3"
+ EGIT_REPO_URI="https://github.com/gpac/gpac"
+else
+ SRC_URI="https://github.com/gpac/gpac/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~alpha amd64 ~ppc ppc64 ~sparc x86"
+fi
+
+inherit toolchain-funcs ${SCM} xdg
+
+DESCRIPTION="Implementation of the MPEG-4 Systems standard developed from scratch in ANSI C"
+HOMEPAGE="https://gpac.wp.imt.fr/"
+
+LICENSE="GPL-2"
+# subslot == libgpac major
+SLOT="0/11"
+IUSE="a52 aac alsa cpu_flags_x86_sse2 debug dvb ffmpeg jack jpeg jpeg2k mad opengl oss png
+ pulseaudio sdl ssl static-libs theora truetype vorbis xml xvid X"
+
+BDEPEND="virtual/pkgconfig"
+RDEPEND="
+ media-libs/libogg
+ sys-libs/zlib
+ a52? ( media-libs/a52dec )
+ aac? ( media-libs/faad2 )
+ alsa? ( media-libs/alsa-lib )
+ ffmpeg? ( media-video/ffmpeg:0= )
+ jack? ( virtual/jack )
+ jpeg? ( media-libs/libjpeg-turbo:0= )
+ jpeg2k? ( media-libs/openjpeg:2 )
+ mad? ( media-libs/libmad )
+ opengl? (
+ media-libs/freeglut
+ virtual/glu
+ virtual/opengl
+ )
+ png? ( media-libs/libpng:0= )
+ pulseaudio? ( media-sound/pulseaudio )
+ theora? ( media-libs/libtheora )
+ truetype? ( media-libs/freetype:2 )
+ sdl? ( media-libs/libsdl )
+ ssl? (
+ dev-libs/openssl:0=
+ )
+ vorbis? ( media-libs/libvorbis )
+ X? (
+ x11-libs/libXt
+ x11-libs/libX11
+ x11-libs/libXv
+ x11-libs/libXext
+ )
+ xml? ( dev-libs/libxml2:2= )
+ xvid? ( media-libs/xvid )
+"
+DEPEND="
+ ${RDEPEND}
+ dvb? ( sys-kernel/linux-headers )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-2.2.0-configure.patch"
+ "${FILESDIR}/${PN}-2.2.0-ffmpeg6.patch"
+ "${FILESDIR}/${PN}-2.2.0-ffmpeg6-deux.patch"
+)
+
+DOCS=(
+ share/doc/CODING_STYLE
+ share/doc/GPAC\ UPnP.doc
+ share/doc/ISO\ 639-2\ codes.txt
+ share/doc/SceneGenerators
+ share/doc/ipmpx_syntax.bt
+ Changelog
+ README.md
+)
+
+my_use() {
+ local flag="$1" pflag="${2:-$1}"
+ if use ${flag}; then
+ echo "--use-${pflag}=system"
+ else
+ echo "--use-${pflag}=no"
+ fi
+}
+
+src_prepare() {
+ default
+
+ # TODO: remove when old zlib is no longer in tree
+ has_version "<sys-libs/zlib-1.3" && eapply "${FILESDIR}/${PN}-1.0.0-zlib-compile.patch"
+}
+
+src_configure() {
+ tc-export CC CXX AR RANLIB
+
+ local myeconfargs=(
+ --cc="$(tc-getCC)"
+ --libdir="$(get_libdir)"
+ --verbose
+ --enable-pic
+ --enable-svg
+ --use-ogg=system
+ $(use_enable alsa)
+ $(use_enable debug)
+ $(use_enable dvb dvb4linux)
+ $(use_enable jack jack yes)
+ $(use_enable opengl 3d)
+ $(use_enable oss oss-audio)
+ $(use_enable pulseaudio pulseaudio yes)
+ $(use_enable sdl)
+ $(use_enable ssl)
+ $(use_enable static-libs static-lib)
+ $(use_enable X x11)
+ $(use_enable X x11-shm)
+ $(use_enable X x11-xv)
+ $(my_use a52)
+ $(my_use aac faad)
+ $(use_enable dvb dvbx)
+ $(my_use ffmpeg)
+ $(my_use jpeg)
+ $(my_use jpeg2k openjpeg)
+ $(my_use mad)
+ $(my_use png)
+ $(my_use theora)
+ $(my_use truetype freetype)
+ $(my_use vorbis)
+ $(my_use xvid)
+ )
+
+ if use amd64 || use x86 ; then
+ # Don't pass -mno-sse2 on non amd64/x86
+ myeconfargs+=(
+ --extra-cflags="${CFLAGS} $(usex cpu_flags_x86_sse2 '-msse2' '-mno-sse2')"
+ )
+ else
+ myeconfargs+=(
+ --extra-cflags="${CFLAGS}"
+ )
+ fi
+
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ einstalldocs
+ emake STRIP="true" DESTDIR="${ED}" install
+ emake STRIP="true" DESTDIR="${ED}" install-lib
+}
diff --git a/media-video/gpac/gpac-2.2.1-r1.ebuild b/media-video/gpac/gpac-2.2.1-r1.ebuild
new file mode 100644
index 000000000000..406fedb39196
--- /dev/null
+++ b/media-video/gpac/gpac-2.2.1-r1.ebuild
@@ -0,0 +1,152 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+if [[ ${PV} == *9999 ]] ; then
+ SCM="git-r3"
+ EGIT_REPO_URI="https://github.com/gpac/gpac"
+else
+ SRC_URI="https://github.com/gpac/gpac/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~alpha ~amd64 ~ppc ~ppc64 ~sparc ~x86"
+fi
+
+inherit toolchain-funcs ${SCM} xdg
+
+DESCRIPTION="Implementation of the MPEG-4 Systems standard developed from scratch in ANSI C"
+HOMEPAGE="https://gpac.wp.imt.fr/"
+
+LICENSE="GPL-2"
+# subslot == libgpac major
+SLOT="0/11"
+IUSE="a52 aac alsa cpu_flags_x86_sse2 debug dvb ffmpeg jack jpeg jpeg2k mad opengl oss png
+ pulseaudio sdl ssl static-libs theora truetype vorbis xml xvid X"
+
+BDEPEND="virtual/pkgconfig"
+RDEPEND="
+ media-libs/libogg
+ sys-libs/zlib
+ a52? ( media-libs/a52dec )
+ aac? ( media-libs/faad2 )
+ alsa? ( media-libs/alsa-lib )
+ ffmpeg? ( media-video/ffmpeg:0= )
+ jack? ( virtual/jack )
+ jpeg? ( media-libs/libjpeg-turbo:0= )
+ jpeg2k? ( media-libs/openjpeg:2 )
+ mad? ( media-libs/libmad )
+ opengl? (
+ media-libs/freeglut
+ virtual/glu
+ virtual/opengl
+ )
+ png? ( media-libs/libpng:0= )
+ pulseaudio? ( media-libs/libpulse )
+ theora? ( media-libs/libtheora )
+ truetype? ( media-libs/freetype:2 )
+ sdl? ( media-libs/libsdl )
+ ssl? (
+ dev-libs/openssl:0=
+ )
+ vorbis? ( media-libs/libvorbis )
+ X? (
+ x11-libs/libXt
+ x11-libs/libX11
+ x11-libs/libXv
+ x11-libs/libXext
+ )
+ xml? ( dev-libs/libxml2:2= )
+ xvid? ( media-libs/xvid )
+"
+DEPEND="
+ ${RDEPEND}
+ dvb? ( sys-kernel/linux-headers )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-2.2.0-configure.patch"
+ "${FILESDIR}/${PN}-2.2.0-ffmpeg6.patch"
+ "${FILESDIR}/${PN}-2.2.0-ffmpeg6-deux.patch"
+)
+
+DOCS=(
+ share/doc/CODING_STYLE
+ share/doc/GPAC\ UPnP.doc
+ share/doc/ISO\ 639-2\ codes.txt
+ share/doc/SceneGenerators
+ share/doc/ipmpx_syntax.bt
+ Changelog
+ README.md
+)
+
+my_use() {
+ local flag="$1" pflag="${2:-$1}"
+ if use ${flag}; then
+ echo "--use-${pflag}=system"
+ else
+ echo "--use-${pflag}=no"
+ fi
+}
+
+src_prepare() {
+ default
+
+ # TODO: remove when old zlib is no longer in tree
+ has_version "<sys-libs/zlib-1.3" && eapply "${FILESDIR}/${PN}-1.0.0-zlib-compile.patch"
+}
+
+src_configure() {
+ tc-export CC CXX AR RANLIB
+
+ local myeconfargs=(
+ --cc="$(tc-getCC)"
+ --libdir="$(get_libdir)"
+ --verbose
+ --enable-pic
+ --enable-svg
+ --use-ogg=system
+ $(use_enable alsa)
+ $(use_enable debug)
+ $(use_enable dvb dvb4linux)
+ $(use_enable jack jack yes)
+ $(use_enable opengl 3d)
+ $(use_enable oss oss-audio)
+ $(use_enable pulseaudio pulseaudio yes)
+ $(use_enable sdl)
+ $(use_enable ssl)
+ $(use_enable static-libs static-lib)
+ $(use_enable X x11)
+ $(use_enable X x11-shm)
+ $(use_enable X x11-xv)
+ $(my_use a52)
+ $(my_use aac faad)
+ $(use_enable dvb dvbx)
+ $(my_use ffmpeg)
+ $(my_use jpeg)
+ $(my_use jpeg2k openjpeg)
+ $(my_use mad)
+ $(my_use png)
+ $(my_use theora)
+ $(my_use truetype freetype)
+ $(my_use vorbis)
+ $(my_use xvid)
+ )
+
+ if use amd64 || use x86 ; then
+ # Don't pass -mno-sse2 on non amd64/x86
+ myeconfargs+=(
+ --extra-cflags="${CFLAGS} $(usex cpu_flags_x86_sse2 '-msse2' '-mno-sse2')"
+ )
+ else
+ myeconfargs+=(
+ --extra-cflags="${CFLAGS}"
+ )
+ fi
+
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ einstalldocs
+ emake STRIP="true" DESTDIR="${ED}" install
+ emake STRIP="true" DESTDIR="${ED}" install-lib
+}
diff --git a/media-video/gpac/gpac-9999.ebuild b/media-video/gpac/gpac-9999.ebuild
index 777f20e6208b..963ca68ca30f 100644
--- a/media-video/gpac/gpac-9999.ebuild
+++ b/media-video/gpac/gpac-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -40,7 +40,7 @@ RDEPEND="
virtual/opengl
)
png? ( media-libs/libpng:0= )
- pulseaudio? ( media-sound/pulseaudio )
+ pulseaudio? ( media-libs/libpulse )
theora? ( media-libs/libtheora )
truetype? ( media-libs/freetype:2 )
sdl? ( media-libs/libsdl )
@@ -63,8 +63,8 @@ DEPEND="
"
PATCHES=(
- "${FILESDIR}/${PN}-2.0.0-configure.patch"
- "${FILESDIR}/${PN}-1.0.0-zlib-compile.patch"
+ "${FILESDIR}/${PN}-2.2.0-configure.patch"
+ "${FILESDIR}/${PN}-2.2.0-ffmpeg6.patch"
)
DOCS=(
@@ -77,8 +77,6 @@ DOCS=(
README.md
)
-HTML_DOCS="share/doc/*.html"
-
my_use() {
local flag="$1" pflag="${2:-$1}"
if use ${flag}; then
@@ -90,7 +88,9 @@ my_use() {
src_prepare() {
default
- sed -i -e "s:\(--disable-.*\)=\*):\1):" configure || die
+
+ # TODO: remove when old zlib is no longer in tree
+ has_version "<sys-libs/zlib-1.3" && eapply "${FILESDIR}/${PN}-1.0.0-zlib-compile.patch"
}
src_configure() {
@@ -100,11 +100,8 @@ src_configure() {
--cc="$(tc-getCC)"
--libdir="$(get_libdir)"
--verbose
- --enable-ipv6
--enable-pic
--enable-svg
- --disable-amr
- --use-js=no
--use-ogg=system
$(use_enable alsa)
$(use_enable debug)
@@ -121,14 +118,14 @@ src_configure() {
$(use_enable X x11-xv)
$(my_use a52)
$(my_use aac faad)
- $(my_use dvb dvbx)
+ $(use_enable dvb dvbx)
$(my_use ffmpeg)
$(my_use jpeg)
$(my_use jpeg2k openjpeg)
$(my_use mad)
$(my_use png)
$(my_use theora)
- $(my_use truetype ft)
+ $(my_use truetype freetype)
$(my_use vorbis)
$(my_use xvid)
)
diff --git a/media-video/guvcview/Manifest b/media-video/guvcview/Manifest
index 3ea8c7147ed0..0e58ddb145ed 100644
--- a/media-video/guvcview/Manifest
+++ b/media-video/guvcview/Manifest
@@ -1 +1,2 @@
DIST guvcview-src-2.0.8.tar.bz2 902736 BLAKE2B 3c4ced349a252f365d86dc30c5208d09372796cc6397a9643b31afb9904642c7a88481d6054b3523a4f9d037e69021ae84ced420364e69ab9e7f19fbc0b84c6a SHA512 ba959602bc5518426906786416e433cc8b6de1e0fd73b91378aa231ae4e469935921e87dd37827c3c6b409f0f9551e3e29d0cd3d30afd0e08ad3eb2e6bf5150a
+DIST guvcview-src-2.1.0.tar.bz2 775670 BLAKE2B e6f0fe87b1c44e00265228195b93bb5863170487fd1c3b9741667dc32295406bd920f44150efaecb42ab9396ec67897d3bef517e29ee788c2a6a8a6a95692f81 SHA512 f449e1b1623bb2a96847fc88c4e334ff5bde91f0f9779e37ccbd5777fb96ea4106c3df2c9c30f5d6cacf99e4da04815fc3b739387c2a8fb496c3080b1f99ab70
diff --git a/media-video/guvcview/guvcview-2.0.8.ebuild b/media-video/guvcview/guvcview-2.0.8.ebuild
index 9b1374457984..d8a675832257 100644
--- a/media-video/guvcview/guvcview-2.0.8.ebuild
+++ b/media-video/guvcview/guvcview-2.0.8.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -17,7 +17,7 @@ IUSE="gsl pulseaudio qt5"
BDEPEND="
dev-util/intltool
- sys-devel/autoconf-archive
+ dev-build/autoconf-archive
sys-devel/gettext
virtual/pkgconfig
"
diff --git a/media-video/guvcview/guvcview-2.1.0.ebuild b/media-video/guvcview/guvcview-2.1.0.ebuild
new file mode 100644
index 000000000000..a1da179602af
--- /dev/null
+++ b/media-video/guvcview/guvcview-2.1.0.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_P=${PN}-src-${PV}
+inherit autotools qmake-utils toolchain-funcs
+
+DESCRIPTION="Simple Qt5 or GTK+3 interface for capturing and viewing video from v4l2 devices"
+HOMEPAGE="http://guvcview.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.bz2"
+S="${WORKDIR}/${PN}-src-${PV}"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="gsl pulseaudio qt5"
+
+BDEPEND="
+ dev-util/intltool
+ dev-build/autoconf-archive
+ sys-devel/gettext
+ virtual/pkgconfig
+"
+RDEPEND="
+ >=dev-libs/glib-2.10
+ media-libs/libpng:=
+ media-libs/libsdl2
+ media-libs/libv4l
+ >=media-libs/portaudio-19_pre
+ >=media-video/ffmpeg-2.8:=
+ virtual/libusb:1
+ virtual/udev
+ gsl? ( >=sci-libs/gsl-1.15:= )
+ pulseaudio? ( media-libs/libpulse )
+ qt5? (
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtwidgets:5
+ )
+ !qt5? ( >=x11-libs/gtk+-3.6:3 )
+"
+# linux-headers: bug 448260
+DEPEND="
+ ${RDEPEND}
+ >=sys-kernel/linux-headers-3.4-r2
+ virtual/os-headers
+"
+
+src_prepare() {
+ default
+
+ sed -i '/^docdir/,/^$/d' Makefile.am || die
+ echo "guvcview/gui_qt5_audioctrls.cpp" >> po/POTFILES.skip || die # bug #630984
+ eautoreconf
+}
+
+src_configure() {
+ export MOC="$(qt5_get_bindir)/moc"
+
+ # 599030
+ tc-export CC CXX
+
+ local myeconfargs=(
+ --disable-debian-menu
+ $(use_enable gsl)
+ $(use_enable pulseaudio pulse)
+ $(use_enable qt5)
+ $(use_enable !qt5 gtk3)
+ )
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+ find "${D}" -name '*.la' -type f -delete || die
+}
diff --git a/media-video/h264enc/h264enc-10.4.7-r1.ebuild b/media-video/h264enc/h264enc-10.4.7-r1.ebuild
index 87fc103f2861..8dd214d2571d 100644
--- a/media-video/h264enc/h264enc-10.4.7-r1.ebuild
+++ b/media-video/h264enc/h264enc-10.4.7-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2020-2021 Gentoo Authors
+# Copyright 2020-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -16,7 +16,7 @@ KEYWORDS="~amd64 ~x86"
RDEPEND="media-video/mplayer[encode,x264]
sys-apps/coreutils
sys-apps/pv
- sys-devel/bc
+ app-alternatives/bc
sys-process/time"
PATCHES=( "${FILESDIR}/${P}-libaacplusenc.patch" )
diff --git a/media-video/handbrake/Manifest b/media-video/handbrake/Manifest
index 1838ad0338f1..3e8e31e4f65d 100644
--- a/media-video/handbrake/Manifest
+++ b/media-video/handbrake/Manifest
@@ -1,2 +1,3 @@
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
diff --git a/media-video/handbrake/files/handbrake-9999-dont-search-for-python.patch b/media-video/handbrake/files/handbrake-9999-dont-search-for-python.patch
new file mode 100644
index 000000000000..f9971e508404
--- /dev/null
+++ b/media-video/handbrake/files/handbrake-9999-dont-search-for-python.patch
@@ -0,0 +1,26 @@
+--- a/configure
++++ b/configure
+@@ -14,20 +14,8 @@ inpath()
+ }
+
+ if ( inpath bash ); then
+- pp=""
+- for p in python3 python3.8 python3.7 python3.6 python3.5 python3.4 python3.3 python3.2 python3.1 python2 python2.7 python
+- do
+- if ( inpath $p ); then
+- pp="$p"
+- break
+- fi
+- done
+- if [ "$pp" != "" ]; then
+- exec $pp `dirname $0`/make/configure.py "$@"
+- exit 0
+- else
+- echo "ERROR: no suitable version of python found."
+- fi
++ exec python `dirname $0`/make/configure.py "$@"
++ exit 0
+ else
+ echo "ERROR: bash shell not found."
+ fi
+
diff --git a/media-video/handbrake/handbrake-1.4.2-r2.ebuild b/media-video/handbrake/handbrake-1.4.2-r2.ebuild
index 618137c80e46..5f5a8b0e7e24 100644
--- a/media-video/handbrake/handbrake-1.4.2-r2.ebuild
+++ b/media-video/handbrake/handbrake-1.4.2-r2.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-PYTHON_COMPAT=( python3_{9..10} )
+PYTHON_COMPAT=( python3_{9..11} )
inherit autotools python-any-r1 toolchain-funcs xdg
diff --git a/media-video/handbrake/handbrake-1.5.1.ebuild b/media-video/handbrake/handbrake-1.5.1-r1.ebuild
index a5d8c9da21ac..9c9c548d9e32 100644
--- a/media-video/handbrake/handbrake-1.5.1.ebuild
+++ b/media-video/handbrake/handbrake-1.5.1-r1.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_{9..10} )
+PYTHON_COMPAT=( python3_{10..11} )
inherit autotools python-any-r1 toolchain-funcs xdg
@@ -14,7 +14,7 @@ else
MY_P="HandBrake-${PV}"
SRC_URI="https://github.com/HandBrake/HandBrake/releases/download/${PV}/${MY_P}-source.tar.bz2 -> ${P}.tar.bz2"
S="${WORKDIR}/${MY_P}"
- KEYWORDS="amd64 ~x86"
+ KEYWORDS="amd64 ~arm64 ~x86"
fi
DESCRIPTION="Open-source, GPL-licensed, multiplatform, multithreaded video transcoder"
@@ -26,6 +26,7 @@ IUSE="+fdk gstreamer gtk libav-aac numa nvenc x265"
REQUIRED_USE="^^ ( fdk libav-aac )"
+# < ffmpeg-5.1 dep for bug #907406
RDEPEND="
app-arch/xz-utils
dev-libs/jansson:=
@@ -46,7 +47,7 @@ RDEPEND="
media-libs/x264:=
media-libs/zimg
media-sound/lame
- >=media-video/ffmpeg-4.2.1:0=[postproc,fdk?]
+ <media-video/ffmpeg-5.1:=[postproc,fdk?]
sys-libs/zlib
fdk? ( media-libs/fdk-aac:= )
gstreamer? (
@@ -77,9 +78,8 @@ DEPEND="${RDEPEND}"
# cmake needed for custom script: bug #852701
BDEPEND="
${PYTHON_DEPS}
+ dev-build/cmake
dev-lang/nasm
- dev-util/cmake
- dev-util/intltool
"
PATCHES=(
diff --git a/media-video/handbrake/handbrake-1.6.1.ebuild b/media-video/handbrake/handbrake-1.6.1.ebuild
new file mode 100644
index 000000000000..7be693401ffa
--- /dev/null
+++ b/media-video/handbrake/handbrake-1.6.1.ebuild
@@ -0,0 +1,163 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit autotools edo python-any-r1 toolchain-funcs xdg
+
+if [[ ${PV} == *9999* ]]; then
+ EGIT_REPO_URI="https://github.com/HandBrake/HandBrake.git"
+ inherit git-r3
+else
+ MY_P="HandBrake-${PV}"
+ SRC_URI="https://github.com/HandBrake/HandBrake/releases/download/${PV}/${MY_P}-source.tar.bz2 -> ${P}.tar.bz2"
+ S="${WORKDIR}/${MY_P}"
+ KEYWORDS="amd64 ~arm64 ~x86"
+fi
+
+DESCRIPTION="Open-source, GPL-licensed, multiplatform, multithreaded video transcoder"
+HOMEPAGE="https://handbrake.fr/ https://github.com/HandBrake/HandBrake"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="+fdk gstreamer gtk numa nvenc x265" # TODO: qsv vce
+
+REQUIRED_USE="numa? ( x265 )"
+
+RDEPEND="
+ >=app-arch/xz-utils-5.2.6
+ dev-libs/jansson:=
+ >=dev-libs/libxml2-2.10.3
+ media-libs/a52dec
+ >=media-libs/dav1d-1.0.0:=
+ >=media-libs/libjpeg-turbo-2.1.4:=
+ >=media-libs/libass-0.16.0:=
+ >=media-libs/libbluray-1.3.4:=
+ media-libs/libdvdnav
+ >=media-libs/libdvdread-6.1.3:=
+ media-libs/libsamplerate
+ media-libs/libtheora
+ media-libs/libvorbis
+ >=media-libs/libvpx-1.12.0:=
+ media-libs/opus
+ >=media-libs/speex-1.2.1
+ >=media-libs/svt-av1-1.4.1
+ >=media-libs/x264-0.0.20220222:=
+ >=media-libs/zimg-3.0.4
+ media-sound/lame
+ >=media-video/ffmpeg-5.1.2:=[postproc,fdk?]
+ sys-libs/zlib
+ fdk? ( media-libs/fdk-aac:= )
+ gstreamer? (
+ media-libs/gstreamer:1.0
+ media-libs/gst-plugins-base:1.0
+ media-libs/gst-plugins-good:1.0
+ media-libs/gst-plugins-bad:1.0
+ media-libs/gst-plugins-ugly:1.0
+ media-plugins/gst-plugins-a52dec:1.0
+ media-plugins/gst-plugins-libav:1.0
+ media-plugins/gst-plugins-x264:1.0
+ media-plugins/gst-plugins-gdkpixbuf:1.0
+ )
+ gtk? (
+ >=x11-libs/gtk+-3.10
+ dev-libs/dbus-glib
+ dev-libs/glib:2
+ dev-libs/libgudev:=
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf:2
+ x11-libs/libnotify
+ x11-libs/pango
+ )
+ nvenc? (
+ media-libs/nv-codec-headers
+ media-video/ffmpeg[nvenc]
+ )
+ x265? ( >=media-libs/x265-3.5-r2:=[10bit,12bit,numa?] )
+"
+DEPEND="${RDEPEND}"
+# cmake needed for custom script: bug #852701
+BDEPEND="
+ ${PYTHON_DEPS}
+ dev-build/cmake
+ dev-lang/nasm
+"
+
+PATCHES=(
+ # Remove libdvdnav duplication and call it on the original instead.
+ # It may work this way; if not, we should try to mimic the duplication.
+ "${FILESDIR}/${PN}-9999-remove-dvdnav-dup.patch"
+
+ # Detect system tools - bug 738110
+ "${FILESDIR}/${PN}-9999-system-tools.patch"
+
+ # Use whichever python is set by portage
+ "${FILESDIR}/${PN}-9999-dont-search-for-python.patch"
+
+ # Fix x265 linkage... again again #730034
+ "${FILESDIR}/${PN}-1.3.3-x265-link.patch"
+)
+
+src_prepare() {
+ # Get rid of leftover bundled library build definitions,
+ sed -i 's:.*\(/contrib\|contrib/\).*::g' \
+ "${S}"/make/include/main.defs \
+ || die "Contrib removal failed."
+
+ default
+
+ cd "${S}/gtk" || die
+ eautoreconf
+}
+
+src_configure() {
+ tc-export AR RANLIB STRIP
+
+ # Libav was replaced in 1.2 with ffmpeg by default
+ # but I've elected to not make people change their use flags for AAC
+ # as its the same code anyway
+ local myconfargs=(
+ --force
+ --verbose
+ --prefix="${EPREFIX}/usr"
+ --disable-flatpak
+ $(usex !gtk --disable-gtk)
+ --disable-gtk4
+ $(usex !gstreamer --disable-gst)
+ $(use_enable x265)
+ $(use_enable numa)
+ $(use_enable fdk fdk-aac)
+ --enable-ffmpeg-aac # Forced on
+ $(use_enable nvenc)
+ # TODO: $(use_enable qsv)
+ # TODO: $(use_enable vce)
+ )
+
+ edo ./configure "${myconfargs[@]}"
+}
+
+src_compile() {
+ emake -C build
+}
+
+src_install() {
+ emake -C build DESTDIR="${D}" install
+ dodoc README.markdown AUTHORS.markdown NEWS.markdown THANKS.markdown
+}
+
+pkg_postinst() {
+ einfo "Gentoo builds of HandBrake are NOT SUPPORTED by upstream as they"
+ einfo "do not use the bundled (and often patched) upstream libraries."
+ einfo ""
+ einfo "Please do not raise bugs with upstream because of these ebuilds,"
+ einfo "report bugs to Gentoo's bugzilla or Multimedia forum instead."
+
+ einfo "For the CLI version of HandBrake, you can use \`HandBrakeCLI\`."
+ if use gtk ; then
+ einfo "For the GTK+ version of HandBrake, you can run \`ghb\`."
+ fi
+
+ xdg_pkg_postinst
+}
diff --git a/media-video/handbrake/handbrake-9999.ebuild b/media-video/handbrake/handbrake-9999.ebuild
index 81707377e6f7..0201e9e8dd27 100644
--- a/media-video/handbrake/handbrake-9999.ebuild
+++ b/media-video/handbrake/handbrake-9999.ebuild
@@ -1,20 +1,20 @@
-# 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..10} )
+PYTHON_COMPAT=( python3_{10..12} )
-inherit autotools python-any-r1 toolchain-funcs xdg
+inherit autotools edo python-any-r1 toolchain-funcs xdg
-if [[ ${PV} = *9999* ]]; then
+if [[ ${PV} == *9999* ]]; then
EGIT_REPO_URI="https://github.com/HandBrake/HandBrake.git"
inherit git-r3
else
MY_P="HandBrake-${PV}"
SRC_URI="https://github.com/HandBrake/HandBrake/releases/download/${PV}/${MY_P}-source.tar.bz2 -> ${P}.tar.bz2"
S="${WORKDIR}/${MY_P}"
- KEYWORDS="~amd64 ~x86"
+ KEYWORDS="~amd64 ~arm64 ~x86"
fi
DESCRIPTION="Open-source, GPL-licensed, multiplatform, multithreaded video transcoder"
@@ -22,31 +22,32 @@ HOMEPAGE="https://handbrake.fr/ https://github.com/HandBrake/HandBrake"
LICENSE="GPL-2"
SLOT="0"
-IUSE="+fdk gstreamer gtk libav-aac numa nvenc x265"
+IUSE="+fdk gstreamer gtk numa nvenc x265" # TODO: qsv vce
-REQUIRED_USE="^^ ( fdk libav-aac )"
+REQUIRED_USE="numa? ( x265 )"
RDEPEND="
- app-arch/xz-utils
+ >=app-arch/xz-utils-5.2.6
dev-libs/jansson:=
- dev-libs/libxml2
+ >=dev-libs/libxml2-2.10.3
media-libs/a52dec
- >=media-libs/dav1d-0.5.1:=
- media-libs/libjpeg-turbo:=
- media-libs/libass:=
- >=media-libs/libbluray-1.0:=
+ >=media-libs/dav1d-1.0.0:=
+ >=media-libs/libjpeg-turbo-2.1.4:=
+ >=media-libs/libass-0.16.0:=
+ >=media-libs/libbluray-1.3.4:=
media-libs/libdvdnav
- media-libs/libdvdread:=
+ >=media-libs/libdvdread-6.1.3:=
media-libs/libsamplerate
media-libs/libtheora
media-libs/libvorbis
- >=media-libs/libvpx-1.8:=
+ >=media-libs/libvpx-1.12.0:=
media-libs/opus
- media-libs/speex
- media-libs/x264:=
- media-libs/zimg
+ >=media-libs/speex-1.2.1
+ >=media-libs/svt-av1-1.4.1
+ >=media-libs/x264-0.0.20220222:=
+ >=media-libs/zimg-3.0.4
media-sound/lame
- >=media-video/ffmpeg-4.2.1:0=[postproc,fdk?]
+ >=media-video/ffmpeg-5.1.2:=[postproc,fdk?]
sys-libs/zlib
fdk? ( media-libs/fdk-aac:= )
gstreamer? (
@@ -70,16 +71,18 @@ RDEPEND="
x11-libs/libnotify
x11-libs/pango
)
- nvenc? ( media-libs/nv-codec-headers )
- x265? ( >=media-libs/x265-3.2:0=[10bit,12bit,numa?] )
+ nvenc? (
+ media-libs/nv-codec-headers
+ media-video/ffmpeg[nvenc]
+ )
+ x265? ( >=media-libs/x265-3.5-r2:=[10bit,12bit,numa?] )
"
DEPEND="${RDEPEND}"
# cmake needed for custom script: bug #852701
BDEPEND="
${PYTHON_DEPS}
+ dev-build/cmake
dev-lang/nasm
- dev-util/cmake
- dev-util/intltool
"
PATCHES=(
@@ -87,14 +90,11 @@ PATCHES=(
# It may work this way; if not, we should try to mimic the duplication.
"${FILESDIR}/${PN}-9999-remove-dvdnav-dup.patch"
- # Remove faac dependency; TODO: figure out if we need to do this at all.
- "${FILESDIR}/${PN}-9999-remove-faac-dependency.patch"
-
# Detect system tools - bug 738110
"${FILESDIR}/${PN}-9999-system-tools.patch"
# Use whichever python is set by portage
- "${FILESDIR}/${PN}-1.3.0-dont-search-for-python.patch"
+ "${FILESDIR}/${PN}-9999-dont-search-for-python.patch"
# Fix x265 linkage... again again #730034
"${FILESDIR}/${PN}-1.3.3-x265-link.patch"
@@ -122,19 +122,20 @@ src_configure() {
--force
--verbose
--prefix="${EPREFIX}/usr"
- --disable-gtk-update-checks
--disable-flatpak
- --disable-gtk4
- $(use_enable libav-aac ffmpeg-aac)
- $(use_enable fdk fdk-aac)
$(usex !gtk --disable-gtk)
+ --disable-gtk4
$(usex !gstreamer --disable-gst)
+ $(use_enable x265)
$(use_enable numa)
+ $(use_enable fdk fdk-aac)
+ --enable-ffmpeg-aac # Forced on
$(use_enable nvenc)
- $(use_enable x265)
+ # TODO: $(use_enable qsv)
+ # TODO: $(use_enable vce)
)
- ./configure "${myconfargs[@]}" || die "Configure failed."
+ edo ./configure "${myconfargs[@]}"
}
src_compile() {
diff --git a/media-video/handbrake/metadata.xml b/media-video/handbrake/metadata.xml
index f3a4081b7b29..2a156bc117f3 100644
--- a/media-video/handbrake/metadata.xml
+++ b/media-video/handbrake/metadata.xml
@@ -1,14 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person" proxied="yes">
- <email>telans@posteo.de</email>
- <name>James Beddek</name>
- </maintainer>
- <maintainer type="project" proxied="proxy">
- <name>Proxy Maintainers</name>
- <email>proxy-maint@gentoo.org</email>
- </maintainer>
+ <!-- maintainer-needed -->
<use>
<flag name="gstreamer">Support for the streaming media framework from <pkg>media-libs/gstreamer</pkg>.</flag>
<flag name="gtk">Install the GTK UI, ghb.</flag>
diff --git a/media-video/hevc-hm/Manifest b/media-video/hevc-hm/Manifest
new file mode 100644
index 000000000000..aacbea0eac4d
--- /dev/null
+++ b/media-video/hevc-hm/Manifest
@@ -0,0 +1 @@
+DIST HM-HM-17.0.tar.gz 1692323 BLAKE2B fa620ce66acbc634d9768303fe8d60711759a9d6d1ff91b69680993ae45e4581c9df4f0a4fe36719de9713fd29ba020278cf7ef9a51ebee6b01dc578bfbd8f2f SHA512 e8492ee63326da497d0731ef3f70e9f11043618ab5a7244aed94b248dba3f64e301f0ec2d12447a0ef22cc630cfa425341f65b4cacef184b453ba5125b7f8738
diff --git a/media-video/hevc-hm/hevc-hm-17.0.ebuild b/media-video/hevc-hm/hevc-hm-17.0.ebuild
new file mode 100644
index 000000000000..db7b1b83085a
--- /dev/null
+++ b/media-video/hevc-hm/hevc-hm-17.0.ebuild
@@ -0,0 +1,41 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="HEVC HM reference software"
+HOMEPAGE="https://hevc.hhi.fraunhofer.de/"
+SRC_URI="https://vcgit.hhi.fraunhofer.de/jvet/HM/-/archive/HM-${PV}/HM-HM-${PV}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+S="${WORKDIR}/HM-HM-${PV}"
+
+src_prepare() {
+ sed -i 's/add_compile_options( "-msse4.1" )//g' CMakeLists.txt || die
+ sed -i 's/list( APPEND _bb_warning_options "-Werror" )//g' \
+ cmake/CMakeBuild/cmake/modules/BBuildEnv.cmake || die
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DHIGH_BITDEPTH=ON
+ )
+ cmake_src_configure
+}
+
+src_install() {
+ newbin "${S}/bin/MCTSExtractorStaticp" "MCTSExtractorStatic"
+ newbin "${S}/bin/parcatStaticp" "parcatStatic"
+ newbin "${S}/bin/SEIRemovalAppStaticp" "SEIRemovalAppStatic"
+ newbin "${S}/bin/TAppDecoderAnalyserStaticp" "TAppDecoderAnalyserStatic"
+ newbin "${S}/bin/TAppDecoderStaticp" "TAppDecoderStatic"
+ newbin "${S}/bin/TAppEncoderStaticp" "TAppEncoderStatic"
+ dodoc "${S}/doc/software-manual.pdf"
+}
diff --git a/media-video/subtitleripper/metadata.xml b/media-video/hevc-hm/metadata.xml
index f3ed2a707fcf..a2dfee954457 100644
--- a/media-video/subtitleripper/metadata.xml
+++ b/media-video/hevc-hm/metadata.xml
@@ -5,7 +5,4 @@
<email>media-video@gentoo.org</email>
<name>Gentoo Video project</name>
</maintainer>
- <upstream>
- <remote-id type="sourceforge">subtitleripper</remote-id>
- </upstream>
</pkgmetadata>
diff --git a/media-video/jellyfin-media-player/Manifest b/media-video/jellyfin-media-player/Manifest
index d2544962608b..a67f2b616569 100644
--- a/media-video/jellyfin-media-player/Manifest
+++ b/media-video/jellyfin-media-player/Manifest
@@ -1 +1,4 @@
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
diff --git a/media-video/jellyfin-media-player/jellyfin-media-player-1.8.1.ebuild b/media-video/jellyfin-media-player/jellyfin-media-player-1.8.1.ebuild
new file mode 100644
index 000000000000..6ecd4fca7c3c
--- /dev/null
+++ b/media-video/jellyfin-media-player/jellyfin-media-player-1.8.1.ebuild
@@ -0,0 +1,85 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JWC_VERSION=10.8.9
+
+PYTHON_COMPAT=( python3_{9..11} )
+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
+"
+# GPL-2.0 for JMP itself
+# licenses for code in external/:
+# MIT for qhttp
+# BSD for qslog
+LICENSE="
+ GPL-2
+ BSD
+ MIT
+"
+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}
+ ~media-video/jellyfin-web-jmp-bin-${JWC_VERSION}
+ !dbus? ( x11-misc/xdg-utils )
+"
+
+src_prepare() {
+ # disable jmp installing jwc in it's build system
+ sed -i '/..\/dist\//d' src/CMakeLists.txt || die 'sed failed'
+
+ cmake_src_prepare
+}
+
+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/jellyfin-media-player/jellyfin-media-player-1.9.0.ebuild b/media-video/jellyfin-media-player/jellyfin-media-player-1.9.0.ebuild
new file mode 100644
index 000000000000..5c1b05c835b1
--- /dev/null
+++ b/media-video/jellyfin-media-player/jellyfin-media-player-1.9.0.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..11} )
+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}
+ media-video/jellyfin-web-bin
+ !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/jellyfin-media-player/jellyfin-media-player-1.9.1.ebuild b/media-video/jellyfin-media-player/jellyfin-media-player-1.9.1.ebuild
new file mode 100644
index 000000000000..23b1b45d7776
--- /dev/null
+++ b/media-video/jellyfin-media-player/jellyfin-media-player-1.9.1.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..11} )
+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}
+ ~media-video/jellyfin-web-bin-10.8.10
+ !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/jellyfin-media-player/metadata.xml b/media-video/jellyfin-media-player/metadata.xml
index 604595372ea3..58ee6abd4705 100644
--- a/media-video/jellyfin-media-player/metadata.xml
+++ b/media-video/jellyfin-media-player/metadata.xml
@@ -1,16 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
+ <upstream>
+ <remote-id type="github">jellyfin/jellyfin-media-player</remote-id>
+ </upstream>
<maintainer type="person">
<email>arsen@gentoo.org</email>
<name>Arsen Arsenović</name>
</maintainer>
- <maintainer type="person" proxied="yes">
- <email>telans@posteo.de</email>
- <name>James Beddek</name>
- </maintainer>
- <maintainer type="project" proxied="proxy">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
-</pkgmetadata>
+ </pkgmetadata>
diff --git a/media-video/jellyfin-web-bin/Manifest b/media-video/jellyfin-web-bin/Manifest
new file mode 100644
index 000000000000..c9ab2161ce03
--- /dev/null
+++ b/media-video/jellyfin-web-bin/Manifest
@@ -0,0 +1,2 @@
+DIST jellyfin-web_10.8.10_portable.tar.gz 44617443 BLAKE2B 6bfd14edd91039cd714326950fe420df77e7f5196f63fa704a3d033958acdeabef3d9639cfee63775013b89efac7de96f3d9f118fb79f5580c05d819f97d25b8 SHA512 b87b7cd5dc84abbbff127fc2d4a8ecfc04e2a98b37ed6232758c45251fd1f3e60fdf6a0e66bd994b5eea99d0c60f26562e257059a0fc6ec2b3e6a2a52588b51b
+DIST jellyfin-web_10.8.9_portable.tar.gz 44617681 BLAKE2B c7db2d82c160391d3df1953725da54e4e16d09955ac45a2e844bdf802d47022afbe818b6787571dc0bc19a9db2ab67b254abaab7e17d72d02b8310da6e5a5160 SHA512 3f6fb592bf44e38664554881e931969b3cb173cabcb90d5b6e86a181263b07976fc2dc7d91cb4c08e814cbf2a950b6942ffe2080fe93567ab4d212a8956805f8
diff --git a/media-video/jellyfin-web-bin/jellyfin-web-bin-10.8.10.ebuild b/media-video/jellyfin-web-bin/jellyfin-web-bin-10.8.10.ebuild
new file mode 100644
index 000000000000..5bb80c0c2a83
--- /dev/null
+++ b/media-video/jellyfin-web-bin/jellyfin-web-bin-10.8.10.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="Web Client for Jellyfin"
+HOMEPAGE="https://github.com/jellyfin/jellyfin-media-player"
+SRC_URI="
+ https://repo.jellyfin.org/releases/server/portable/versions/stable/web/${PV}/jellyfin-web_${PV}_portable.tar.gz
+"
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64"
+
+BDEPEND="
+ app-arch/unzip
+"
+
+RDEPEND="
+ !media-video/jellyfin-web-jmp-bin
+"
+
+S="${WORKDIR}/jellyfin-web_${PV}"
+
+src_install() {
+ insinto /usr/share/jellyfinmediaplayer/web-client/desktop
+ doins -r .
+}
diff --git a/media-video/jellyfin-web-bin/jellyfin-web-bin-10.8.9.ebuild b/media-video/jellyfin-web-bin/jellyfin-web-bin-10.8.9.ebuild
new file mode 100644
index 000000000000..5bb80c0c2a83
--- /dev/null
+++ b/media-video/jellyfin-web-bin/jellyfin-web-bin-10.8.9.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="Web Client for Jellyfin"
+HOMEPAGE="https://github.com/jellyfin/jellyfin-media-player"
+SRC_URI="
+ https://repo.jellyfin.org/releases/server/portable/versions/stable/web/${PV}/jellyfin-web_${PV}_portable.tar.gz
+"
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64"
+
+BDEPEND="
+ app-arch/unzip
+"
+
+RDEPEND="
+ !media-video/jellyfin-web-jmp-bin
+"
+
+S="${WORKDIR}/jellyfin-web_${PV}"
+
+src_install() {
+ insinto /usr/share/jellyfinmediaplayer/web-client/desktop
+ doins -r .
+}
diff --git a/media-video/jubler/metadata.xml b/media-video/jellyfin-web-bin/metadata.xml
index 77e1c11c60b3..7acb00ec7ade 100644
--- a/media-video/jubler/metadata.xml
+++ b/media-video/jellyfin-web-bin/metadata.xml
@@ -1,10 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>java@gentoo.org</email>
- </maintainer>
<upstream>
- <remote-id type="google-code">jubler</remote-id>
+ <remote-id type="github">jellyfin/jellyfin-media-player</remote-id>
</upstream>
+ <maintainer type="person">
+ <email>arsen@gentoo.org</email>
+ <name>Arsen Arsenović</name>
+ </maintainer>
</pkgmetadata>
diff --git a/media-video/jellyfin-web-jmp-bin/Manifest b/media-video/jellyfin-web-jmp-bin/Manifest
index b0fb33d35271..4ad675465c87 100644
--- a/media-video/jellyfin-web-jmp-bin/Manifest
+++ b/media-video/jellyfin-web-jmp-bin/Manifest
@@ -1,2 +1,3 @@
DIST jellyfin-web-jmp-bin-10.8.0.zip 44565218 BLAKE2B ecb8ee8d5e8c6ac8d813bdbbce9bb76de807e2f3282586fbcbf5f088b5402a153b0b4e644c940cde064dcfe304ff8486dfa743152aeb7757d36ccf1af38ff3d5 SHA512 1d804a17fcaed760ca16baa912840978745079815c7093f6d85eea5b0d238325df96b951f378822224a43f16a1dfe10617e71573e4e2f63c1e6db947ddbf3b3e
DIST jellyfin-web-jmp-bin-10.8.1.zip 44566480 BLAKE2B 10d6876d78edd841e0d1c0fb0503258e48630654bf4a4b962f79cc853f0741e151cacea391171422527aca24f2f08f2f22699af5a29fd431c4f2c813703443d2 SHA512 afe13e002b99698f0516375f69b391132a341968abc0a24635bcf817f4ee636f10f0b071ce3c1507eb51f530bddd90e42f0425f75e0c344ade7bdf4983183140
+DIST jellyfin-web-jmp-bin-10.8.9.zip 44494601 BLAKE2B 5d551a3ebf4c8c1a952f55dd93a52ee370b240fe8880ce855903d9ebc90635a55085295ad9aed6816ca1c072de72b04b8e36ca84ba011725a00da68a8d222fcb SHA512 8548967732ea49189009daa47a0170c8f7d8ff062da6f206db74e901eb225d852627c2539c09ccd35b8d756e62c32d1c60c7a2d604293d8226e8eaf24d716093
diff --git a/media-video/jellyfin-web-jmp-bin/jellyfin-web-jmp-bin-10.8.9.ebuild b/media-video/jellyfin-web-jmp-bin/jellyfin-web-jmp-bin-10.8.9.ebuild
new file mode 100644
index 000000000000..712ec84b5249
--- /dev/null
+++ b/media-video/jellyfin-web-jmp-bin/jellyfin-web-jmp-bin-10.8.9.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="Modified Jellyfin Web Client for use inside Jellyfin Media Player"
+HOMEPAGE="https://github.com/jellyfin/jellyfin-media-player"
+SRC_URI="
+ https://github.com/iwalton3/${PN%-bin}/releases/download/jwc-${PV}/dist.zip -> ${P}.zip
+"
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64"
+
+BDEPEND="
+ app-arch/unzip
+"
+
+S="${WORKDIR}/dist"
+
+src_install() {
+ insinto /usr/share/jellyfinmediaplayer/web-client/desktop
+ doins -r .
+}
diff --git a/media-video/jellyfin-web-jmp-bin/metadata.xml b/media-video/jellyfin-web-jmp-bin/metadata.xml
index 604595372ea3..58ee6abd4705 100644
--- a/media-video/jellyfin-web-jmp-bin/metadata.xml
+++ b/media-video/jellyfin-web-jmp-bin/metadata.xml
@@ -1,16 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
+ <upstream>
+ <remote-id type="github">jellyfin/jellyfin-media-player</remote-id>
+ </upstream>
<maintainer type="person">
<email>arsen@gentoo.org</email>
<name>Arsen Arsenović</name>
</maintainer>
- <maintainer type="person" proxied="yes">
- <email>telans@posteo.de</email>
- <name>James Beddek</name>
- </maintainer>
- <maintainer type="project" proxied="proxy">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
-</pkgmetadata>
+ </pkgmetadata>
diff --git a/media-video/jubler/Manifest b/media-video/jubler/Manifest
deleted file mode 100644
index 05eb56e5bf4f..000000000000
--- a/media-video/jubler/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST jubler-5.1.tar.bz2 1815531 BLAKE2B 59f9c3c57b906a73e16b32841900ef16450758115d930e767bc4d63882ad2b8a35100a34057ab6bb353f4bea87cb4036e080d8d13a844ae4bfcae8bb361d5b18 SHA512 e2a0da737362a3c8dc12966aec1e9939291237fc714a586186b72daa16abf967c8fea8dac04fb191cb803aa11db20cf6d67468d2383f17f5c6114a643860acef
diff --git a/media-video/jubler/jubler-5.1.ebuild b/media-video/jubler/jubler-5.1.ebuild
deleted file mode 100644
index d69368f42008..000000000000
--- a/media-video/jubler/jubler-5.1.ebuild
+++ /dev/null
@@ -1,71 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit desktop java-pkg-2 java-ant-2 xdg
-
-MY_PN="${PN^}"
-
-DESCRIPTION="Java subtitle editor"
-HOMEPAGE="https://www.jubler.org/"
-SRC_URI="mirror://sourceforge/${PN}/${MY_PN}-source-${PV}.tar.bz2 -> ${P}.tar.bz2"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE="mplayer spell nls"
-
-RDEPEND="
- mplayer? ( media-video/mplayer[libass] )
- spell? ( app-text/aspell )
- >=virtual/jre-1.6"
-
-DEPEND="
- >=virtual/jdk-1.6"
-
-S="${WORKDIR}/${MY_PN}-${PV}"
-
-src_prepare() {
- default
-
- local REMOVE_PLUGINS=() _plugin
- use mplayer || REMOVE_PLUGINS+=( mplayer )
- use spell || REMOVE_PLUGINS+=( aspell zemberek )
- for _plugin in "${REMOVE_PLUGINS[@]}"; do
- rm -rv "plugins/${_plugin}" || die
- done
-}
-
-src_compile() {
- local JUBLER_TARGETS=()
- use nls || JUBLER_TARGETS+=( core help )
- eant -f "${S}/build.xml" "${JUBLER_TARGETS[@]}"
-}
-
-src_install() {
- DESTDIR="${D}" eant linuxdesktopintegration
- rm -rv "${D}/usr/share/menu" || die
-
- doicon "resources/installers/linux/${PN}.png"
- domenu "resources/installers/linux/${PN}.desktop"
-
- java-pkg_dojar dist/Jubler.jar
- java-pkg_dolauncher "${PN}" --main Jubler
-
- if use nls; then
- insinto "/usr/share/${PN}/lib/i18n/"
- doins dist/i18n/*.jar
- fi
-
- insinto "/usr/share/${PN}/lib/themes"
- doins dist/themes/coretheme.jar
- insinto "/usr/share/${PN}/lib/lib"
- doins dist/lib/*.jar
-
- insinto "/usr/share/${PN}/help"
- doins resources/help/*
-
- doman "resources/installers/linux/${PN}.1"
- einstalldocs
-}
diff --git a/media-video/libva-utils/Manifest b/media-video/libva-utils/Manifest
index 893fbad39180..3aaebb2a8cc1 100644
--- a/media-video/libva-utils/Manifest
+++ b/media-video/libva-utils/Manifest
@@ -1,3 +1,3 @@
-DIST libva-utils-2.14.0.tar.gz 1241072 BLAKE2B 17f1e0badb05e39f3979bde652dfe6832e8bfb2accd99fd6c5d972090cfce630e2a93ad96e5d17bc7bd9c393b12c2a7b066cb60a715c2dbb128dd263c480bcca SHA512 631e9becf5b2f6d083906962c004c9080d2e2b2d98b6003638a31dde8ad4e2549606301b97e88822471e29007232fc470a2116be09dc0c55d3cc2df6a45a7be1
-DIST libva-utils-2.15.0.tar.gz 1245559 BLAKE2B 92fe1e7dbd3c953eecb351625213c2b537ad640f61534f3316d3a46070cb3818b4acafbc7a666e24b51d0900cea044074a7a6519f3c4aba6d2a38cf6ed0b2d66 SHA512 90cfa83fb7443fc90558c148c740c9c272796197fba49ff0179af94c40e97c830fc26c534e9a74fa58f597075f9ba68b477aabc784148c14dc09bde07f23cdeb
-DIST libva-utils-2.16.0.tar.gz 1245723 BLAKE2B 3ce3b54f9b8d1e5960fdb7587da9dc4fa9754f3612155e86d99f2f120e31e0e69a40482d7a4571fefc0a8079ba987303cbb433203de9ef6e203e9419b6d91b91 SHA512 d5395c1de4b95f4d0a86621b0338852250a3893b732c6fd69d0622c989bff530461a183c151f322469b1ed7e4815173dbbcf36cc390db9ebbae6fb7d7a90cb9c
+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
diff --git a/media-video/libva-utils/files/libva-utils-2.15.0-fix-threads-option.patch b/media-video/libva-utils/files/libva-utils-2.15.0-fix-threads-option.patch
deleted file mode 100644
index 4683dcbdd557..000000000000
--- a/media-video/libva-utils/files/libva-utils-2.15.0-fix-threads-option.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-https://bugs.gentoo.org/835508
-https://github.com/intel/libva-utils/pull/261
-
-From 83fb9c9bbda86f1bd224b20b082aff6e9f3d6ff6 Mon Sep 17 00:00:00 2001
-From: Matt Turner <mattst88@gmail.com>
-Date: Fri, 18 Mar 2022 10:52:29 -0700
-Subject: [PATCH] meson: Search for threads in top-level meson.build
-
-In Gentoo we allow disabling the tools and putsuface separately, so
-moving the threads check out of the encode subdirectory helps.
---- a/encode/meson.build
-+++ b/encode/meson.build
-@@ -1,4 +1,3 @@
--threads = dependency('threads')
- m = c.find_library('m')
-
-
---- a/meson.build
-+++ b/meson.build
-@@ -10,6 +10,8 @@ project('libva-utils', 'c', 'cpp',
-
- c = meson.get_compiler('c')
-
-+threads = dependency('threads')
-+
- libva_dep = dependency('libva', version: '>= 1.1.0')
-
- libva_utils_flags = [ '-Wno-unused-parameter',
-
diff --git a/media-video/libva-utils/libva-utils-2.16.0.ebuild b/media-video/libva-utils/libva-utils-2.20.0.ebuild
index 0b9d60fb2396..28c1a1ca332c 100644
--- a/media-video/libva-utils/libva-utils-2.16.0.ebuild
+++ b/media-video/libva-utils/libva-utils-2.20.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -31,9 +31,9 @@ DEPEND="
X? ( >=x11-libs/libX11-1.6.2 )
"
if [[ ${PV} = *9999 ]] ; then
- DEPEND+="~media-libs/libva-${PV}:=[drm(+),wayland?,X?]"
+ DEPEND+="~media-libs/libva-${PV}:=[wayland?,X?]"
else
- DEPEND+=">=media-libs/libva-$(ver_cut 1-2).0:=[drm(+),wayland?,X?]"
+ DEPEND+=">=media-libs/libva-$(ver_cut 1-2).0:=[wayland?,X?]"
fi
RDEPEND="${DEPEND}"
BDEPEND="virtual/pkgconfig"
@@ -45,16 +45,16 @@ src_prepare() {
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"
+ -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")
+ sed_args+=(-e "/^ subdir('putsurface')$/d")
fi
if ! use vainfo ; then
diff --git a/media-video/libva-utils/libva-utils-2.15.0.ebuild b/media-video/libva-utils/libva-utils-2.20.1.ebuild
index 908a4fa7da64..4de57531c234 100644
--- a/media-video/libva-utils/libva-utils-2.15.0.ebuild
+++ b/media-video/libva-utils/libva-utils-2.20.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -12,7 +12,7 @@ if [[ ${PV} = *9999 ]] ; then
EGIT_REPO_URI="https://github.com/intel/libva-utils"
else
SRC_URI="https://github.com/intel/libva-utils/archive/${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="amd64 arm64 ppc64 ~riscv x86 ~amd64-linux ~x86-linux"
+ KEYWORDS="amd64 arm64 ~loong ppc64 ~riscv x86 ~amd64-linux ~x86-linux"
fi
LICENSE="MIT"
@@ -31,17 +31,13 @@ DEPEND="
X? ( >=x11-libs/libX11-1.6.2 )
"
if [[ ${PV} = *9999 ]] ; then
- DEPEND+="~media-libs/libva-${PV}:=[drm(+),wayland?,X?]"
+ DEPEND+="~media-libs/libva-${PV}:=[wayland?,X?]"
else
- DEPEND+=">=media-libs/libva-$(ver_cut 1-2).0:=[drm(+),wayland?,X?]"
+ DEPEND+=">=media-libs/libva-$(ver_cut 1-2).0:=[wayland?,X?]"
fi
RDEPEND="${DEPEND}"
BDEPEND="virtual/pkgconfig"
-PATCHES=(
- "${FILESDIR}"/${P}-fix-threads-option.patch
-)
-
src_prepare() {
default
@@ -49,16 +45,16 @@ src_prepare() {
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"
+ -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")
+ sed_args+=(-e "/^ subdir('putsurface')$/d")
fi
if ! use vainfo ; then
diff --git a/media-video/libva-utils/libva-utils-2.14.0.ebuild b/media-video/libva-utils/libva-utils-2.21.0.ebuild
index 9127cfb38dd5..60f57e6e4c4a 100644
--- a/media-video/libva-utils/libva-utils-2.14.0.ebuild
+++ b/media-video/libva-utils/libva-utils-2.21.0.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit meson
@@ -12,7 +12,7 @@ if [[ ${PV} = *9999 ]] ; then
EGIT_REPO_URI="https://github.com/intel/libva-utils"
else
SRC_URI="https://github.com/intel/libva-utils/archive/${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="amd64 arm64 ppc64 ~riscv x86 ~amd64-linux ~x86-linux"
+ KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
fi
LICENSE="MIT"
@@ -25,41 +25,36 @@ REQUIRED_USE="
|| ( examples putsurface test vainfo )
"
-BDEPEND="virtual/pkgconfig"
-
-if [[ ${PV} = *9999 ]] ; then
- DEPEND="~media-libs/libva-${PV}:=[drm(+),wayland?,X?]"
-else
- DEPEND=">=media-libs/libva-$(ver_cut 1-2).0:=[drm(+),wayland?,X?]"
-fi
-
-DEPEND+="
+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=()
- # Fix broken dependency check
- # https://github.com/intel/libva-utils/pull/260
- sed_args+=(-e "s/dependency('drm'/dependency('libdrm'/")
-
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"
+ -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")
+ sed_args+=(-e "/^ subdir('putsurface')$/d")
fi
if ! use vainfo ; then
diff --git a/media-video/libva-utils/libva-utils-9999.ebuild b/media-video/libva-utils/libva-utils-9999.ebuild
index 31994ffa0a15..061e8bcaf812 100644
--- a/media-video/libva-utils/libva-utils-9999.ebuild
+++ b/media-video/libva-utils/libva-utils-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -6,13 +6,13 @@ EAPI=8
inherit meson
DESCRIPTION="Collection of utilities and tests for VA-API"
-HOMEPAGE="https://01.org/linuxmedia/vaapi"
+HOMEPAGE="https://github.com/intel/libva-utils"
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"
+ KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
fi
LICENSE="MIT"
@@ -31,9 +31,9 @@ DEPEND="
X? ( >=x11-libs/libX11-1.6.2 )
"
if [[ ${PV} = *9999 ]] ; then
- DEPEND+="~media-libs/libva-${PV}:=[drm(+),wayland?,X?]"
+ DEPEND+="~media-libs/libva-${PV}:=[wayland?,X?]"
else
- DEPEND+=">=media-libs/libva-$(ver_cut 1-2).0:=[drm(+),wayland?,X?]"
+ DEPEND+=">=media-libs/libva-$(ver_cut 1-2).0:=[wayland?,X?]"
fi
RDEPEND="${DEPEND}"
BDEPEND="virtual/pkgconfig"
@@ -45,16 +45,16 @@ src_prepare() {
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"
+ -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")
+ sed_args+=(-e "/^ subdir('putsurface')$/d")
fi
if ! use vainfo ; then
diff --git a/media-video/lxdvdrip/files/lxdvdrip-1.77-clang-16-build.patch b/media-video/lxdvdrip/files/lxdvdrip-1.77-clang-16-build.patch
new file mode 100644
index 000000000000..98f1ae30220d
--- /dev/null
+++ b/media-video/lxdvdrip/files/lxdvdrip-1.77-clang-16-build.patch
@@ -0,0 +1,38 @@
+https://bugs.gentoo.org/885573
+--- a/dvdbackup.c
++++ b/dvdbackup.c
+@@ -30,6 +30,7 @@ COMMENTAIRE :
+
+ #include "const.h"
+ #include "dvdformat.h"
++#include "dvdcopy.h"
+ #include "dvdinfo.h"
+ #include "globals.h"
+ #include "systools.h"
+--- a/dvdcopy.h
++++ b/dvdcopy.h
+@@ -14,6 +14,7 @@ COMMENTAIRE :
+
+ #ifndef __DVDCOPY_H__
+ #define __DVDCOPY_H__
++#include <dvdread/ifo_read.h>
+ /*@$#[dvdcopy.c] global proto. AutoProtoSigV1.1. date: 106/01/05 21:32:04 */
+ #include "proto.h"
+ #ifdef __cplusplus
+--- a/systools.c
++++ b/systools.c
+@@ -20,12 +20,8 @@ COMMENTAIRE :
+ #include <stdlib.h>
+ #include <sys/types.h>
+ #include <sys/stat.h>
+-#if defined(__sun)
+-# include <sys/statvfs.h>
+-# include <sys/ioctl.h>
+-#else
+-# include <sys/statfs.h>
+-#endif
++#include <sys/statfs.h>
++#include <sys/ioctl.h>
+ #include <fcntl.h>
+ #include <unistd.h>
+ #if defined(__sun)
diff --git a/media-video/lxdvdrip/lxdvdrip-1.77-r2.ebuild b/media-video/lxdvdrip/lxdvdrip-1.77-r2.ebuild
new file mode 100644
index 000000000000..e1f495467a8e
--- /dev/null
+++ b/media-video/lxdvdrip/lxdvdrip-1.77-r2.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="Command line tool to automate the process of ripping and burning DVDs"
+HOMEPAGE="https://sourceforge.net/projects/lxdvdrip/"
+SRC_URI="mirror://sourceforge/lxdvdrip/${P}.tgz"
+S="${WORKDIR}/${PN}"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+
+DEPEND="media-libs/libdvdread"
+RDEPEND="${DEPEND}
+ >=media-video/dvdauthor-0.6.9
+ media-video/streamdvd
+ media-video/mpgtx
+"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-makefile.patch
+ "${FILESDIR}"/${P}-vamps-makefile.patch
+ "${FILESDIR}"/${P}-clang-16-build.patch
+)
+
+src_compile() {
+ tc-export CC
+ emake
+ emake -C vamps
+}
+
+src_install() {
+ dobin lxdvdrip
+ dobin lxac3scan
+ dodoc doc-pak/Changelog* doc-pak/Credits doc-pak/Debugging.*
+ dodoc doc-pak/lxdvdrip.conf* doc-pak/README*
+ doman lxdvdrip.1
+
+ insinto /usr/share
+ doins lxdvdrip.wav
+
+ insinto /etc
+ newins doc-pak/lxdvdrip.conf.EN lxdvdrip.conf
+
+ cd vamps || die
+ emake PREFIX="${D}/usr" install
+}
diff --git a/media-video/makemkv/Manifest b/media-video/makemkv/Manifest
index 65f59d27a9ef..01f177748549 100644
--- a/media-video/makemkv/Manifest
+++ b/media-video/makemkv/Manifest
@@ -1,2 +1,2 @@
-DIST makemkv-bin-1.17.2.tar.gz 16230560 BLAKE2B daf9dbe53cd0ae500c41e4a815645390f0309285e1b963d3fbfb15fce08392855217ebe249a7122651d45359657ac18ff5906dfd91f940b8b73d1b7f9028804d SHA512 fb974ddc20e219db1e5f813e9032b42b4fee8d98d798be7e5902dad042ca4615f1ea2c766e7f86425689e2debb2bbb1dbe40a2083c308c2e84701698b32b792f
-DIST makemkv-oss-1.17.2.tar.gz 6631661 BLAKE2B 97a57318d5d91393e71b3e7b2f9246ad2be27054ba902feeb774ed9107ae177d7fbad25d2374f481068514ad704a49b95bab75ac5c2949cb575e5d635f26aa17 SHA512 30b0510fe007508df06754b63ebc28a2f79de0dffbbd61190d1328d17406e3df1780f36e6cb7ee3d5b8f9462cdce38a7bea0ba25c59063b201e08b9e6c1b695a
+DIST makemkv-bin-1.17.6.tar.gz 16423034 BLAKE2B 01c6cc439f618f722ef7f4d44c67d5f5d8c37c786bbdcb6ab7d628c6b87b8e08a50c9d4ea434d541c0a5d922c64e8ee6dcc5b100fb50f4cdfd963326490da2cf SHA512 9c3f90b23e837251f79e1fd3d1dc27b9de35efd678d40411d530657a766e03a611d09003db473a46436e0fea650f3c96fb2e0f84dc71b69f2d031bea7d3a695e
+DIST makemkv-oss-1.17.6.tar.gz 6618067 BLAKE2B c29966cfd24b97bf7d42ebab41b28357313364b4191922f06a668b43b67072c7bc09e8df50356349cc2f3267b3d8593abba5dbed2e7b083adb4f38c362efe5a3 SHA512 0fb9ee23372f74bad8c3fbbef7c8977d6eeaea73fba85759ecefc60ec9ef6c82fd537c917a9f8000ee8e98f5a225d2e650fac2abb8a6921be96ba590ed5b0dbb
diff --git a/media-video/makemkv/makemkv-1.17.2.ebuild b/media-video/makemkv/makemkv-1.17.6.ebuild
index c92f3258e0e3..f5c346192737 100644
--- a/media-video/makemkv/makemkv-1.17.2.ebuild
+++ b/media-video/makemkv/makemkv-1.17.6.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -15,7 +15,7 @@ SRC_URI="http://www.makemkv.com/download/${MY_P}.tar.gz
LICENSE="GPL-2 LGPL-2.1 MPL-1.1 MakeMKV-EULA openssl"
SLOT="0"
-KEYWORDS="-* ~amd64 ~x86"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
IUSE="+gui +java"
RESTRICT="bindist mirror"
@@ -72,7 +72,7 @@ src_configure() {
src_install() {
local myarch
case "${ARCH}" in
- arm) myarch=armel ;;
+ arm) myarch=armhf ;;
x86) myarch=i386 ;;
*) myarch=${ARCH} ;;
esac
diff --git a/media-video/mediainfo/Manifest b/media-video/mediainfo/Manifest
index 489edf57fec0..fed3d7176f69 100644
--- a/media-video/mediainfo/Manifest
+++ b/media-video/mediainfo/Manifest
@@ -1 +1,4 @@
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
diff --git a/media-video/mediainfo/mediainfo-22.09.ebuild b/media-video/mediainfo/mediainfo-22.09.ebuild
index 76baf622975b..68f70427ddc8 100644
--- a/media-video/mediainfo/mediainfo-22.09.ebuild
+++ b/media-video/mediainfo/mediainfo-22.09.ebuild
@@ -1,9 +1,12 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-# Please bump with media-libs/libmediainfo!
+# 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
diff --git a/media-video/mediainfo/mediainfo-23.03.ebuild b/media-video/mediainfo/mediainfo-23.03.ebuild
new file mode 100644
index 000000000000..a45f63ada5af
--- /dev/null
+++ b/media-video/mediainfo/mediainfo-23.03.ebuild
@@ -0,0 +1,92 @@
+# 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
new file mode 100644
index 000000000000..a45f63ada5af
--- /dev/null
+++ b/media-video/mediainfo/mediainfo-23.04.ebuild
@@ -0,0 +1,92 @@
+# 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.10.ebuild b/media-video/mediainfo/mediainfo-23.10.ebuild
new file mode 100644
index 000000000000..7f6a18286f07
--- /dev/null
+++ b/media-video/mediainfo/mediainfo-23.10.ebuild
@@ -0,0 +1,92 @@
+# Copyright 1999-2024 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.2-gtk3"
+inherit xdg-utils autotools wxwidgets
+
+DESCRIPTION="MediaInfo supplies technical and tag information about media files"
+HOMEPAGE="https://mediaarea.net/en/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/files/mjpegtools-2.2.1-c++17-no-auto_ptr-fix.patch b/media-video/mjpegtools/files/mjpegtools-2.2.1-c++17-no-auto_ptr-fix.patch
new file mode 100644
index 000000000000..cc68c95c2493
--- /dev/null
+++ b/media-video/mjpegtools/files/mjpegtools-2.2.1-c++17-no-auto_ptr-fix.patch
@@ -0,0 +1,20 @@
+--- a/mplex/main.cpp
++++ b/mplex/main.cpp
+@@ -50,7 +50,7 @@
+ #include "multiplexor.hpp"
+
+
+-using std::auto_ptr;
++using std::unique_ptr;
+
+
+ /*************************************************************************
+@@ -138,7 +138,7 @@
+ void
+ FileOutputStream::NextSegment( )
+ {
+- auto_ptr<char> prev_filename_buf( new char[strlen(cur_filename)+1] );
++ unique_ptr<char[]> prev_filename_buf( new char[strlen(cur_filename)+1] );
+ char *prev_filename = prev_filename_buf.get();
+ fclose(strm);
+ ++segment_num;
diff --git a/media-video/mjpegtools/files/mjpegtools-2.2.1-c++17-register-fix.patch b/media-video/mjpegtools/files/mjpegtools-2.2.1-c++17-register-fix.patch
new file mode 100644
index 000000000000..b32cef5129a1
--- /dev/null
+++ b/media-video/mjpegtools/files/mjpegtools-2.2.1-c++17-register-fix.patch
@@ -0,0 +1,17 @@
+--- a/utils/fastintfns.h
++++ b/utils/fastintfns.h
+@@ -2,12 +2,12 @@
+ *
+ * WARNING: Assumes 2's complement arithmetic.
+ */
+-static inline int intmax( register int x, register int y )
++static inline int intmax( int x, int y )
+ {
+ return x < y ? y : x;
+ }
+
+-static inline int intmin( register int x, register int y )
++static inline int intmin( int x, int y )
+ {
+ return x < y ? x : y;
+ }
diff --git a/media-video/mjpegtools/mjpegtools-2.2.1.ebuild b/media-video/mjpegtools/mjpegtools-2.2.1-r1.ebuild
index c87164eacd60..621ff01925ba 100644
--- a/media-video/mjpegtools/mjpegtools-2.2.1.ebuild
+++ b/media-video/mjpegtools/mjpegtools-2.2.1-r1.ebuild
@@ -1,13 +1,13 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-inherit autotools flag-o-matic multilib-minimal toolchain-funcs
+inherit autotools multilib-minimal
DESCRIPTION="Tools for MJPEG video"
-HOMEPAGE="http://mjpeg.sourceforge.net/"
-SRC_URI="mirror://sourceforge/mjpeg/${P}.tar.gz"
+HOMEPAGE="https://mjpeg.sourceforge.io/"
+SRC_URI="mirror://sourceforge/project/mjpeg/mjpegtools/${PV}/${P}.tar.gz"
LICENSE="GPL-2"
# Compare with version in SONAME on major bumps (e.g. 2.1 -> 2.2)
@@ -20,7 +20,7 @@ BDEPEND="
virtual/pkgconfig
"
RDEPEND="
- virtual/jpeg:0=[${MULTILIB_USEDEP}]
+ media-libs/libjpeg-turbo:0[static-libs?,${MULTILIB_USEDEP}]
dv? ( >=media-libs/libdv-1.0.0-r3[${MULTILIB_USEDEP}] )
gtk? ( x11-libs/gtk+:2 )
png? ( media-libs/libpng:0= )
@@ -40,6 +40,9 @@ DEPEND="
src_prepare() {
default
+ eapply "${FILESDIR}/${P}-c++17-register-fix.patch"
+ eapply "${FILESDIR}/${P}-c++17-no-auto_ptr-fix.patch"
+
eautoreconf
sed -i -e '/ARCHFLAGS=/s:=.*:=:' configure
}
diff --git a/media-video/mjpg-streamer/mjpg-streamer-0_pre20200524-r2.ebuild b/media-video/mjpg-streamer/mjpg-streamer-0_pre20200524-r2.ebuild
new file mode 100644
index 000000000000..4348f911ad5d
--- /dev/null
+++ b/media-video/mjpg-streamer/mjpg-streamer-0_pre20200524-r2.ebuild
@@ -0,0 +1,97 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit systemd
+
+DESCRIPTION="MJPG-streamer takes JPGs from Linux-UVC compatible webcams"
+HOMEPAGE="https://github.com/jacksonliam/mjpg-streamer"
+EGIT_COMMIT="85f89a8c321e799fabb1693c5d133f3fb48ee748"
+SRC_URI="https://github.com/jacksonliam/${PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+INPUT_PLUGINS="input-testpicture input-control input-file input-uvc input-http input-ptp2"
+OUTPUT_PLUGINS="output-file output-udp output-http output-autofocus output-rtsp output-viewer output-zmqserver"
+IUSE_PLUGINS="${INPUT_PLUGINS} ${OUTPUT_PLUGINS}"
+IUSE="input-testpicture input-control +input-file input-uvc input-http input-ptp2
+ output-file output-udp +output-http output-autofocus output-rtsp output-viewer output-zmqserver
+ www http-management wxp-compat"
+REQUIRED_USE="|| ( ${INPUT_PLUGINS} )
+ || ( ${OUTPUT_PLUGINS} )"
+
+RDEPEND="media-libs/libjpeg-turbo:=
+ input-uvc? ( media-libs/libv4l acct-group/video )
+ input-ptp2? ( media-libs/libgphoto2 )
+ output-zmqserver? (
+ dev-libs/protobuf-c
+ net-libs/zeromq
+ )"
+DEPEND="${RDEPEND}
+ input-testpicture? ( media-gfx/imagemagick )"
+
+S="${WORKDIR}/${PN}-${EGIT_COMMIT}/${PN}-experimental"
+
+src_prepare() {
+ sed -i -e "s|.*RPATH.*||g" CMakeLists.txt || die
+ if use wxp-compat; then
+ sed -i -e \
+ 's|^add_feature_option(WXP_COMPAT "Enable compatibility with WebcamXP" OFF)|add_feature_option(WXP_COMPAT "Enable compatibility with WebcamXP" ON)|g' \
+ CMakeLists.txt || die
+ fi
+
+ local flag switch
+ for flag in ${IUSE_PLUGINS}; do
+ use ${flag} && switch='' || switch='#'
+ flag=${flag/input-/input_}
+ flag=${flag/output-/output_}
+ sed -i -e \
+ "s|^add_subdirectory(plugins\/${flag})|${switch}add_subdirectory(plugins/${flag})|" \
+ CMakeLists.txt || die
+ done
+ if use http-management; then
+ sed -i -e \
+ 's|^add_feature_option(ENABLE_HTTP_MANAGEMENT "Enable experimental HTTP management option" OFF)|add_feature_option(ENABLE_HTTP_MANAGEMENT "Enable experimental HTTP management option" ON)|g' \
+ plugins/output_http/CMakeLists.txt || die
+ fi
+ sed -e "s|@LIBDIR@|$(get_libdir)/${PN}/$(get_libdir)|g" "${FILESDIR}/${PN}.initd" > ${PN}.initd || die
+
+ default
+}
+
+src_install() {
+ into /usr
+ dobin ${PN//-/_}
+ into "/usr/$(get_libdir)/${PN}"
+ dolib.so *.so
+
+ if use www ; then
+ insinto /usr/share/${PN}
+ doins -r www
+ fi
+
+ dodoc README.md TODO
+
+ newinitd ${PN}.initd ${PN}
+ newconfd "${FILESDIR}"/${PN}.confd ${PN}
+ systemd_dounit mjpg_streamer@.service
+}
+
+pkg_postinst() {
+ einfo
+ elog "Remember to set an input and output plugin for mjpg-streamer."
+
+ if use input-uvc ; then
+ elog "To use the UVC plugin as a regular user, you must be a part of the video group"
+ fi
+
+ if use www ; then
+ einfo
+ elog "An example webinterface has been installed into"
+ elog "/usr/share/mjpg-streamer/www for your usage."
+ fi
+ einfo
+}
diff --git a/media-video/mkclean/metadata.xml b/media-video/mkclean/metadata.xml
index 7bc7e3177558..3a2ce490f891 100644
--- a/media-video/mkclean/metadata.xml
+++ b/media-video/mkclean/metadata.xml
@@ -9,6 +9,6 @@
mkclean is a command line tool to clean and optimize Matroska (.mkv / .mka / .mks / .mk3d) and WebM (.webm / .weba) files that have already been muxed. It reorders the elements with the Cues at the front, so your Matroska files are ready to be streamed efficiently over the web. It also removes elements not found in the Matroska specs and the extra Meta Seek list of Clusters that some program add to their file. It can also optionally remux the Cluster blocks to start each boundary with a keyframe and the matching audio/subtitle blocks for that keyframe.
</longdescription>
<upstream>
- <remote-id type="sourceforge">downloads</remote-id>
+ <remote-id type="sourceforge">matroska</remote-id>
</upstream>
</pkgmetadata>
diff --git a/media-video/mkvtoolnix/Manifest b/media-video/mkvtoolnix/Manifest
index f07ffbf4fa32..a8dfdb18eba3 100644
--- a/media-video/mkvtoolnix/Manifest
+++ b/media-video/mkvtoolnix/Manifest
@@ -1 +1,5 @@
-DIST mkvtoolnix-72.0.0.tar.xz 10994204 BLAKE2B 2118837c01d8d31644e0147dfdec9fd619d18ffbab5d317e5dd84788a83cdf162ea7d72e98549bbc2ffc7953e0b80a0e23018658d8c5ad529fc719b291589a97 SHA512 dc18c6e63e724181e38753921ec3374752dbb7c4d20650cf0787e9049aaec4f6bb6c744e49b3783921804f192de742fba92826615a1edc8516d2a41621be658c
+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
+DIST mkvtoolnix-83.0.tar.xz 11278152 BLAKE2B f57b398c747d90021f2a13e58df23655e898a0bb68ad7f050f7a3fe0018866570fb81780f2d68a8c9ed06b66882578b5a9144c3be1bb9b79bc5f79e13f06bde5 SHA512 e70236249f9f72c4ffeab8222c03cdf373a25643f1b106a1abb695184152be8bb22e3fb5dc67b48e6193d9ac37d0b9b2ea317a31214b92648ac75a82c99f9b5d
+DIST mkvtoolnix-83.0.tar.xz.sig 833 BLAKE2B 3eddaa4941d84937a7b771bea66be52979437abb54cd178eb6d24b30628db3ee0ad72f23bea7419a7bc13cfd4f84d6d004b46ad63bad0eeeef8fd05f37bcaf4f SHA512 6d3ac46a40139fff67da61c77a802df243764d8c26c55e3b951d407fd3147bcf985f8a62c21b18c12fabe0afdc535a3449a6bfff3f15a5779b2aed1f94fe0ab7
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
new file mode 100644
index 000000000000..d31731a266f8
--- /dev/null
+++ b/media-video/mkvtoolnix/files/mkvtoolnix-80.0.0-fix-qtmultimedia.patch
@@ -0,0 +1,29 @@
+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
new file mode 100644
index 000000000000..203721aedcff
--- /dev/null
+++ b/media-video/mkvtoolnix/files/mkvtoolnix-80.0.0-no-uic-qtwidgets.patch
@@ -0,0 +1,31 @@
+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
new file mode 100644
index 000000000000..deb8d59fa6c4
--- /dev/null
+++ b/media-video/mkvtoolnix/files/mkvtoolnix-80.0.0-optional-qtdbus.patch
@@ -0,0 +1,70 @@
+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-83.0.0-fix-disable-gui.patch b/media-video/mkvtoolnix/files/mkvtoolnix-83.0.0-fix-disable-gui.patch
new file mode 100644
index 000000000000..015a92fbd78f
--- /dev/null
+++ b/media-video/mkvtoolnix/files/mkvtoolnix-83.0.0-fix-disable-gui.patch
@@ -0,0 +1,88 @@
+https://bugs.gentoo.org/927380
+
+Allow non-gui builds to configure without gui dependencies.
+
+--- a/ac/qt6.m4
++++ b/ac/qt6.m4
+@@ -113,13 +113,15 @@ HEADERS = configure.h
+ SOURCES = configure.cpp
+ EOT
+
+- "$QMAKE6" -makefile -nocache $QMAKE_SPEC configure.pro 2>&5 > /dev/null
+- result2=$?
++ if test x"$enable_gui" = xyes; then
++ "$QMAKE6" -makefile -nocache $QMAKE_SPEC configure.pro 2>&5 > /dev/null
++ result2=$?
+
+- if test $result2 != 0; then
+- cd "$old_wd"
+- AC_MSG_RESULT(no: not all of the required Qt6 modules were found (needed: core gui widgets network concurrent svg multimedia))
+- return
++ if test $result2 != 0; then
++ cd "$old_wd"
++ AC_MSG_RESULT(no: not all of the required Qt6 modules were found (needed: core gui widgets network concurrent svg multimedia))
++ return
++ fi
+ fi
+
+ if test -f Makefile.Release; then
+@@ -135,7 +137,7 @@ EOT
+
+ cd "$old_wd"
+
+- if test $result != 0 -o $result2 != 0 -o $result3 != 0; then
++ if test $result != 0 -o $result3 != 0; then
+ AC_MSG_CHECKING(for Qt 6)
+ AC_MSG_RESULT(no: qmake6 couldn't be run for a dummy project)
+
+@@ -169,9 +171,15 @@ EOT
+
+ qt_searchpath="$qt_libexecdir:$qt_bindir:$PATH"
+
+- QT_CFLAGS="`$ac_cv_path_EGREP '^DEFINES *=' "$qmake_dir/Makefile" | sed 's/^DEFINES *= *//'`"
+- QT_CFLAGS="$QT_CFLAGS `$ac_cv_path_EGREP '^CXXFLAGS *=' "$qmake_dir/Makefile" | sed -e 's/^CXXFLAGS *= *//' -e 's/-pipe//g' -e 's/-O.//g' -e 's/ -f[[a-z]][[^ ]]*//g' -e 's/ -W[[^ ]]*//g' -e 's/-std=[[^ ]]*//g' -e 's/\$([[^)]]*)//g'`"
+- QT_INCFLAGS="`$ac_cv_path_EGREP '^INCPATH *=' "$qmake_dir/Makefile" | sed -e 's/^INCPATH *= *//'`"
++ if test x"$enable_gui" = xyes; then
++ QT_CFLAGS="`$ac_cv_path_EGREP '^DEFINES *=' "$qmake_dir/Makefile" | sed 's/^DEFINES *= *//'`"
++ QT_CFLAGS="$QT_CFLAGS `$ac_cv_path_EGREP '^CXXFLAGS *=' "$qmake_dir/Makefile" | sed -e 's/^CXXFLAGS *= *//' -e 's/-pipe//g' -e 's/-O.//g' -e 's/ -f[[a-z]][[^ ]]*//g' -e 's/ -W[[^ ]]*//g' -e 's/-std=[[^ ]]*//g' -e 's/\$([[^)]]*)//g'`"
++ QT_INCFLAGS="`$ac_cv_path_EGREP '^INCPATH *=' "$qmake_dir/Makefile" | sed -e 's/^INCPATH *= *//'`"
++ else
++ QT_CFLAGS="`$ac_cv_path_EGREP '^DEFINES *=' "$qmake_dir/Makefile.non_gui" | sed 's/^DEFINES *= *//'`"
++ QT_CFLAGS="$QT_CFLAGS `$ac_cv_path_EGREP '^CXXFLAGS *=' "$qmake_dir/Makefile.non_gui" | sed -e 's/^CXXFLAGS *= *//' -e 's/-pipe//g' -e 's/-O.//g' -e 's/ -f[[a-z]][[^ ]]*//g' -e 's/ -W[[^ ]]*//g' -e 's/-std=[[^ ]]*//g' -e 's/\$([[^)]]*)//g'`"
++ QT_INCFLAGS="`$ac_cv_path_EGREP '^INCPATH *=' "$qmake_dir/Makefile.non_gui" | sed -e 's/^INCPATH *= *//'`"
++ fi
+
+ # If under MinGW/MSYS2, fix relative include paths
+ if ! test -z "${MINGW_PREFIX}"; then
+@@ -181,16 +189,18 @@ EOT
+ QT_INCFLAGS="`echo $QT_INCFLAGS | sed -e 's:-I[[^/]][[^ ]]*::g'`"
+ QT_CFLAGS="$QT_CFLAGS $QT_INCFLAGS"
+ QT_CFLAGS="`echo $QT_CFLAGS | sed -e 's/\$(EXPORT_ARCH_ARGS)//'`"
+- QT_LIBS="`$ac_cv_path_EGREP '^LFLAGS *=' "$qmake_dir/Makefile" | sed -e 's/^LFLAGS *= *//' -e 's/-Wl,-O[[^ ]]*//g' -e 's/ -f[[a-z]][[^ ]]*//g'`"
+- QT_LIBS="$QT_LIBS `$ac_cv_path_EGREP '^LIBS *=' "$qmake_dir/Makefile" | sed -e 's/^LIBS *= *//' -e 's/\$([[^)]]*)//g' -e 's:-L[[^/]][[^ ]]*::g'`"
+- QT_LIBS="`echo $QT_LIBS | sed -e 's/\$(EXPORT_ARCH_ARGS)//'`"
++ if test x"$enable_gui" = xyes; then
++ QT_LIBS="`$ac_cv_path_EGREP '^LFLAGS *=' "$qmake_dir/Makefile" | sed -e 's/^LFLAGS *= *//' -e 's/-Wl,-O[[^ ]]*//g' -e 's/ -f[[a-z]][[^ ]]*//g'`"
++ QT_LIBS="$QT_LIBS `$ac_cv_path_EGREP '^LIBS *=' "$qmake_dir/Makefile" | sed -e 's/^LIBS *= *//' -e 's/\$([[^)]]*)//g' -e 's:-L[[^/]][[^ ]]*::g'`"
++ QT_LIBS="`echo $QT_LIBS | sed -e 's/\$(EXPORT_ARCH_ARGS)//'`"
++ fi
+ QT_LIBS_NON_GUI="`$ac_cv_path_EGREP '^LFLAGS *=' "$qmake_dir/Makefile.non_gui" | sed -e 's/^LFLAGS *= *//' -e 's/-Wl,-O[[^ ]]*//g' -e 's/ -f[[a-z]][[^ ]]*//g'`"
+ QT_LIBS_NON_GUI="$QT_LIBS_NON_GUI `$ac_cv_path_EGREP '^LIBS *=' "$qmake_dir/Makefile.non_gui" | sed -e 's/^LIBS *= *//' -e 's/\$([[^)]]*)//g' -e 's:-L[[^/]][[^ ]]*::g'`"
+ QT_LIBS_NON_GUI="`echo $QT_LIBS_NON_GUI | sed -e 's/\$(EXPORT_ARCH_ARGS)//' -e 's/-Wl,-subsystem,windows *//g'`"
+
+ rm -rf "$qmake_dir"
+
+- if test x"$QT_CFLAGS" = x -o x"$QT_LIBS" = x -o x"$QT_LIBS_NON_GUI" = x; then
++ if test x"$QT_CFLAGS" = x -o [ x"$enable_gui" = xyes -a x"$QT_LIBS" = x ] -o x"$QT_LIBS_NON_GUI" = x; then
+ AC_MSG_CHECKING(for Qt 6)
+ AC_MSG_RESULT(no: could not extract one or more compiler flags from Makefile generated by qmake6)
+ return
+@@ -223,7 +233,7 @@ EOT
+ ac_save_CXXFLAGS="$CXXFLAGS"
+ ac_save_LIBS="$LIBS"
+ CXXFLAGS="$STD_CXX $CXXFLAGS $QT_CFLAGS -fPIC"
+- LIBS="$LDFLAGS $QT_LIBS"
++ LIBS="$LDFLAGS $QT_LIBS_NON_GUI"
+ unset ac_cv_qt_compilation
+
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[
diff --git a/media-video/mkvtoolnix/mkvtoolnix-72.0.0.ebuild b/media-video/mkvtoolnix/mkvtoolnix-77.0.ebuild
index f04b8591f71a..19b76609dc6a 100644
--- a/media-video/mkvtoolnix/mkvtoolnix-72.0.0.ebuild
+++ b/media-video/mkvtoolnix/mkvtoolnix-77.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -104,13 +104,16 @@ src_configure() {
$(use_with dvd dvdread)
$(use_with nls gettext)
- $(usex nls "" --with-po4a-translate=false)
+ #$(use_with nls po4a)
--disable-update-check
--disable-optimization
--with-boost="${ESYSROOT}"/usr
--with-boost-libdir="${ESYSROOT}"/usr/$(get_libdir)
)
+ # Work around bug #904710.
+ use nls || export ac_cv_path_PO4A=
+
econf "${myeconfargs[@]}"
}
diff --git a/media-video/mkvtoolnix/mkvtoolnix-81.0.ebuild b/media-video/mkvtoolnix/mkvtoolnix-81.0.ebuild
new file mode 100644
index 000000000000..077c325ecc46
--- /dev/null
+++ b/media-video/mkvtoolnix/mkvtoolnix-81.0.ebuild
@@ -0,0 +1,167 @@
+# 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
+
+if [[ ${PV} == *9999 ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://gitlab.com/mbunkus/mkvtoolnix.git"
+ EGIT_SUBMODULES=()
+else
+ 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"
+HOMEPAGE="https://mkvtoolnix.download/ https://gitlab.com/mbunkus/mkvtoolnix"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="dbus debug dvd gui nls qt6 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/libfmt-8.0.1:=
+ >=dev-libs/pugixml-1.11
+ 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
+ )
+ )
+"
+DEPEND="${RDEPEND}
+ >=dev-cpp/nlohmann_json-3.9.1
+ >=dev-libs/utfcpp-3.1.2
+ test? ( dev-cpp/gtest )
+"
+BDEPEND="
+ app-text/docbook-xsl-stylesheets
+ dev-libs/libxslt
+ dev-ruby/rake
+ virtual/pkgconfig
+ nls? (
+ sys-devel/gettext
+ app-text/po4a
+ )
+"
+
+if [[ ${PV} != *9999 ]] ; then
+ BDEPEND+="verify-sig? ( sec-keys/openpgp-keys-mkvtoolnix )"
+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
+)
+
+src_prepare() {
+ default
+
+ if [[ ${PV} == *9999 ]]; then
+ ./autogen.sh || die
+ fi
+
+ # bug #692018
+ sed -i -e 's/pandoc/diSaBlEd/' ac/pandoc.m4 || die
+
+ eautoreconf
+
+ # remove bundled libs
+ rm -r lib/{fmt,libebml,libmatroska,nlohmann-json,pugixml,utf8-cpp} || die
+}
+
+src_configure() {
+ # bug #692322, use system dev-libs/utfcpp
+ append-cppflags -I"${ESYSROOT}"/usr/include/utf8cpp
+
+ local myeconfargs=(
+ $(use_enable debug)
+ $(usex pch "" --disable-precompiled-headers)
+ $(use_enable dbus)
+ $(use_enable gui)
+ $(use_with dvd dvdread)
+ $(use_with nls gettext)
+ #$(use_with nls po4a)
+ --disable-update-check
+ --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
+
+ # Work around bug #904710.
+ use nls || export ac_cv_path_PO4A=
+
+ econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+ rake V=1 -j$(makeopts_jobs) || die
+}
+
+src_test() {
+ rake V=1 -j$(makeopts_jobs) tests:unit || die
+ rake V=1 -j$(makeopts_jobs) tests:run_unit || die
+}
+
+src_install() {
+ DESTDIR="${D}" rake -j$(makeopts_jobs) install || die
+
+ einstalldocs
+ dodoc NEWS.md
+ doman doc/man/*.1
+}
diff --git a/media-video/mkvtoolnix/mkvtoolnix-83.0.ebuild b/media-video/mkvtoolnix/mkvtoolnix-83.0.ebuild
new file mode 100644
index 000000000000..393a62599642
--- /dev/null
+++ b/media-video/mkvtoolnix/mkvtoolnix-83.0.ebuild
@@ -0,0 +1,139 @@
+# 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
+
+if [[ ${PV} == *9999 ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://gitlab.com/mbunkus/mkvtoolnix.git"
+ EGIT_SUBMODULES=()
+else
+ 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"
+HOMEPAGE="https://mkvtoolnix.download/ https://gitlab.com/mbunkus/mkvtoolnix"
+
+LICENSE="GPL-2"
+SLOT="0"
+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.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:= )
+ gui? (
+ >=dev-qt/qtbase-6.2:6[concurrent,gui,network,widgets]
+ >=dev-qt/qtmultimedia-6.2:6
+ >=dev-qt/qtsvg-6.2:6
+ )
+"
+DEPEND="${RDEPEND}
+ >=dev-cpp/nlohmann_json-3.9.1
+ >=dev-libs/utfcpp-3.1.2
+ test? ( dev-cpp/gtest )
+"
+BDEPEND="
+ app-text/docbook-xsl-stylesheets
+ dev-libs/libxslt
+ dev-ruby/rake
+ virtual/pkgconfig
+ nls? (
+ sys-devel/gettext
+ app-text/po4a
+ )
+"
+
+if [[ ${PV} != *9999 ]] ; then
+ BDEPEND+="verify-sig? ( sec-keys/openpgp-keys-mkvtoolnix )"
+fi
+
+PATCHES=(
+ # https://bugs.gentoo.org/927380
+ "${FILESDIR}"/mkvtoolnix-83.0.0-fix-disable-gui.patch
+)
+
+src_prepare() {
+ default
+
+ if [[ ${PV} == *9999 ]]; then
+ ./autogen.sh || die
+ fi
+
+ # bug #692018
+ sed -i -e 's/pandoc/diSaBlEd/' ac/pandoc.m4 || die
+
+ eautoreconf
+
+ # remove bundled libs
+ rm -r lib/{fmt,libebml,libmatroska,nlohmann-json,pugixml,utf8-cpp} || die
+}
+
+src_configure() {
+ # bug #692322, use system dev-libs/utfcpp
+ append-cppflags -I"${ESYSROOT}"/usr/include/utf8cpp
+
+ local myeconfargs=(
+ $(use_enable debug)
+ $(usex pch "" --disable-precompiled-headers)
+ $(use_enable gui)
+ $(use_with dvd dvdread)
+ $(use_with nls gettext)
+ #$(use_with nls po4a)
+ --disable-update-check
+ --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.
+ use nls || export ac_cv_path_PO4A=
+
+ econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+ rake V=1 -j$(makeopts_jobs) || die
+}
+
+src_test() {
+ rake V=1 -j$(makeopts_jobs) tests:unit || die
+ rake V=1 -j$(makeopts_jobs) tests:run_unit || die
+}
+
+src_install() {
+ DESTDIR="${D}" rake -j$(makeopts_jobs) install || die
+
+ einstalldocs
+ dodoc NEWS.md
+ doman doc/man/*.1
+}
diff --git a/media-video/mkvtoolnix/mkvtoolnix-9999.ebuild b/media-video/mkvtoolnix/mkvtoolnix-9999.ebuild
index 23a2e80da85d..de1b5ed169c7 100644
--- a/media-video/mkvtoolnix/mkvtoolnix-9999.ebuild
+++ b/media-video/mkvtoolnix/mkvtoolnix-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -6,12 +6,20 @@ EAPI=8
inherit autotools flag-o-matic multiprocessing 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"
+ 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,34 +27,30 @@ 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
# 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-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
+ >=dev-qt/qtbase-6.2:6[concurrent,gui,network,widgets]
+ >=dev-qt/qtmultimedia-6.2:6
+ >=dev-qt/qtsvg-6.2:6
)
- app-text/cmark:0=
- dbus? ( dev-qt/qtdbus:5 )
"
DEPEND="${RDEPEND}
>=dev-cpp/nlohmann_json-3.9.1
@@ -64,10 +68,9 @@ BDEPEND="
)
"
-PATCHES=(
- "${FILESDIR}"/mkvtoolnix-58.0.0-qt5dbus.patch
- "${FILESDIR}"/mkvtoolnix-67.0.0-no-uic-qtwidgets.patch
-)
+if [[ ${PV} != *9999 ]] ; then
+ BDEPEND+="verify-sig? ( sec-keys/openpgp-keys-mkvtoolnix )"
+fi
src_prepare() {
default
@@ -92,25 +95,24 @@ 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)
- $(usex nls "" --with-po4a-translate=false)
+ #$(use_with nls po4a)
--disable-update-check
--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.
+ use nls || export ac_cv_path_PO4A=
+
econf "${myeconfargs[@]}"
}
diff --git a/media-video/motion/Manifest b/media-video/motion/Manifest
index 6e4c76eea570..0973e0ebe198 100644
--- a/media-video/motion/Manifest
+++ b/media-video/motion/Manifest
@@ -1 +1 @@
-DIST motion-release-4.3.2.tar.gz 849378 BLAKE2B 2ff49f44bb1d57123760860ae17cc241ecabf3d045ac0c45e1ca08ce3ac8be2fec308492472c37c0d869bc21a7c04658c923c763f9b8f6b547403fc094b03196 SHA512 df54297eebc44b3bc50fd40890c69a9cbbfc5936224bf7027065364e794d7201ceadd99ac99bf43113ec3368f2b5ca435d2956258b9c774e03a6750b41346a7c
+DIST motion-release-4.5.1.tar.gz 856665 BLAKE2B 59ae638113c7f08ced4b18d7c4f19e3b3f1850ba0cd4c224b300be5ac65ae3b45aa391f26f506a91bb4c38a47b552c71db846d2b3217ccf0b2f5799873ab7ddb SHA512 3b8b60ad4f41c37cc215aa575b0295ee99b15f2d32cbf3393c0f7cdd8d87616cca1c00e11cb7bf74e4afa285caa094f08df3ba62ab21dcb28a48336e3ff5803e
diff --git a/media-video/motion/files/motion-4.5.1-fix-gettext-0.22-format-specifier.patch b/media-video/motion/files/motion-4.5.1-fix-gettext-0.22-format-specifier.patch
new file mode 100644
index 000000000000..531fd3cf235a
--- /dev/null
+++ b/media-video/motion/files/motion-4.5.1-fix-gettext-0.22-format-specifier.patch
@@ -0,0 +1,34 @@
+https://github.com/Motion-Project/motion/pull/1681
+
+From 6c00ca93d87229ee28b052af4a4b4aefad14499b Mon Sep 17 00:00:00 2001
+From: David Seifert <soap@gentoo.org>
+Date: Mon, 26 Jun 2023 19:56:18 +0200
+Subject: [PATCH 1/2] po: fix gettext 0.22 format specifier
+
+Bug: https://bugs.gentoo.org/908965
+Bug: https://savannah.gnu.org/bugs/index.php?64334#comment1
+--- a/po/de.po
++++ b/po/de.po
+@@ -3458,7 +3458,7 @@ msgstr "Sprache: Deutsch"
+ #: src/util.c
+ #, c-format
+ msgid "Could not allocate %llu bytes of memory!"
+-msgstr "%Llu Bytes Speicher konnten nicht zugeordnet werden!"
++msgstr "%llu Bytes Speicher konnten nicht zugeordnet werden!"
+
+ #: src/util.c
+ #, c-format
+--- a/po/fi.po
++++ b/po/fi.po
+@@ -3432,7 +3432,7 @@ msgstr "Kieli: englanti"
+ #: src/util.c
+ #, c-format
+ msgid "Could not allocate %llu bytes of memory!"
+-msgstr "%Llu-tavua muistia ei voitu varata!"
++msgstr "%llu-tavua muistia ei voitu varata!"
+
+ #: src/util.c
+ #, c-format
+--
+2.41.0
+
diff --git a/media-video/motion/files/motion-4.5.1-webp-underlinking.patch b/media-video/motion/files/motion-4.5.1-webp-underlinking.patch
new file mode 100644
index 000000000000..19d111fd3039
--- /dev/null
+++ b/media-video/motion/files/motion-4.5.1-webp-underlinking.patch
@@ -0,0 +1,24 @@
+https://github.com/Motion-Project/motionplus/issues/74
+https://github.com/Motion-Project/motionplus/commit/af632f831127499ee541d9c719a930321718f294
+https://bugs.gentoo.org/910601
+
+From af632f831127499ee541d9c719a930321718f294 Mon Sep 17 00:00:00 2001
+From: Mr-Dave <MotionMrDave@gmail.com>
+Date: Sat, 8 Jul 2023 21:36:06 -0600
+Subject: [PATCH] Fix webp libs. Closes #74
+
+---
+ configure.ac | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/configure.ac 2022-12-17 17:36:49.000000000 -0700
++++ b/configure.ac 2023-09-25 06:39:39.399220672 -0600
+@@ -192,7 +192,7 @@
+ AC_MSG_RESULT(yes)
+ AC_DEFINE([HAVE_WEBP], [1], [Define to 1 if WEBP is around])
+ TEMP_CFLAGS="$TEMP_CFLAGS "`pkg-config --cflags libwebpmux`
+- TEMP_LIBS="$TEMP_LIBS "`pkg-config --libs libwebpmux`
++ TEMP_LIBS="$TEMP_LIBS "`pkg-config --libs libwebpmux libwebp`
+ ],[
+ AC_MSG_RESULT(no)
+ ]
diff --git a/media-video/motion/files/motion.initd-r5 b/media-video/motion/files/motion.initd-r5
index b13ac5d0b5b7..4d7b43af585b 100644
--- a/media-video/motion/files/motion.initd-r5
+++ b/media-video/motion/files/motion.initd-r5
@@ -13,6 +13,8 @@
command=/usr/bin/motion
command_user="${MOTION_USER}:${MOTION_GROUP}"
+extra_started_commands="reload"
+description_reload="Reread the config file"
start_pre() {
if [ "${MOTION_DIR}" ] ; then
@@ -20,7 +22,7 @@ start_pre() {
directory="${MOTION_DIR}"
fi
if [ "${MOTION_LOGFILE}" ] ; then
- checkpath -f -o "${MOTION_USER}":"${MOTION_GROUP}" "${LOGFILE}"
+ checkpath -f -o "${MOTION_USER}":"${MOTION_GROUP}" "${MOTION_LOGFILE}"
fi
if [ "${MOTION_PIDFILE}" ] ; then
pidfile="${MOTION_PIDFILE}"
@@ -35,3 +37,13 @@ depend() {
after bootmisc
use mysql postgresq
}
+
+reload() {
+ ebegin "Reloading ${RC_SVCNAME}"
+ if [ "${MOTION_PIDFILE}" ] ; then
+ start-stop-daemon --signal SIGHUP --pidfile "${MOTION_PIDFILE}"
+ else
+ supervise-daemon ${RC_SVCNAME} --signal SIGHUP
+ fi
+ eend $?
+}
diff --git a/media-video/motion/files/motion.service-r4 b/media-video/motion/files/motion.service-r4
index 1564fb2699c4..66143f0e204b 100644
--- a/media-video/motion/files/motion.service-r4
+++ b/media-video/motion/files/motion.service-r4
@@ -13,6 +13,7 @@ Documentation=man:motion(1)
Type=simple
ExecStart=/usr/bin/motion -n -c /etc/motion/motion.conf
StandardError=null
+ExecReload=/bin/kill -HUP $MAINPID
User=motion
Group=motion
diff --git a/media-video/motion/motion-4.3.2-r1.ebuild b/media-video/motion/motion-4.5.1-r3.ebuild
index 4bf353fb7643..b145c2763090 100644
--- a/media-video/motion/motion-4.3.2-r1.ebuild
+++ b/media-video/motion/motion-4.5.1-r3.ebuild
@@ -1,13 +1,14 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit autotools readme.gentoo-r1 systemd
DESCRIPTION="A software motion detector"
HOMEPAGE="https://motion-project.github.io"
SRC_URI="https://github.com/Motion-Project/${PN}/archive/release-${PV}.tar.gz -> ${PN}-release-${PV}.tar.gz"
+S="${WORKDIR}/${PN}-release-${PV}"
LICENSE="GPL-2"
SLOT="0"
@@ -18,7 +19,8 @@ RDEPEND="
acct-group/motion
acct-user/motion
net-libs/libmicrohttpd:=
- virtual/jpeg:=
+ media-libs/libjpeg-turbo:=
+ >=sys-devel/gettext-0.19
ffmpeg? ( media-video/ffmpeg:0= )
mariadb? ( dev-db/mariadb-connector-c )
mmal? ( media-libs/raspberrypi-userland )
@@ -34,8 +36,10 @@ DEPEND="${RDEPEND}
)
"
-# Breaks src_install(), #727056
-RESTRICT="test"
+PATCHES=(
+ "${FILESDIR}"/${P}-fix-gettext-0.22-format-specifier.patch
+ "${FILESDIR}"/${P}-webp-underlinking.patch
+)
DISABLE_AUTOFORMATTING="yes"
DOC_CONTENTS="
@@ -54,8 +58,6 @@ To install motion as a service, use:
- systemctl enable motion.service # with systemd
"
-S="${WORKDIR}"/${PN}-release-${PV}
-
src_prepare() {
default
eautoreconf
diff --git a/media-video/motion/motion-4.5.1-r4.ebuild b/media-video/motion/motion-4.5.1-r4.ebuild
new file mode 100644
index 000000000000..691023faf1fd
--- /dev/null
+++ b/media-video/motion/motion-4.5.1-r4.ebuild
@@ -0,0 +1,89 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools readme.gentoo-r1 systemd
+
+DESCRIPTION="A software motion detector"
+HOMEPAGE="https://motion-project.github.io"
+SRC_URI="https://github.com/Motion-Project/${PN}/archive/release-${PV}.tar.gz -> ${PN}-release-${PV}.tar.gz"
+S="${WORKDIR}/${PN}-release-${PV}"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE="ffmpeg mariadb mysql postgres sqlite v4l webp"
+
+RDEPEND="
+ acct-group/motion
+ acct-user/motion
+ net-libs/libmicrohttpd:=
+ media-libs/libjpeg-turbo:=
+ >=sys-devel/gettext-0.19
+ ffmpeg? ( media-video/ffmpeg:0= )
+ mariadb? ( dev-db/mariadb-connector-c )
+ mysql? ( dev-db/mysql-connector-c )
+ postgres? ( dev-db/postgresql:= )
+ sqlite? ( dev-db/sqlite:3 )
+ webp? ( media-libs/libwebp:= )
+"
+DEPEND="${RDEPEND}
+ v4l? (
+ media-libs/libv4l
+ virtual/os-headers
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-fix-gettext-0.22-format-specifier.patch
+ "${FILESDIR}"/${P}-webp-underlinking.patch
+)
+
+DISABLE_AUTOFORMATTING="yes"
+DOC_CONTENTS="
+You need to setup a configuraton file (/etc/motion/motion.conf) before
+running motion for the first time.
+
+If motion is built with the mysql or mariadb use flags then please make
+sure to configure a matching database_type in the config file.
+
+Motion runs by default under user motion and group motion:
+- change this if needed in /etc/conf.d/motion
+- or add users who need access to the output files to the motion group
+
+To install motion as a service, use:
+- rc-update add motion default # with OpenRC
+- systemctl enable motion.service # with systemd
+"
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ $(use_with ffmpeg) \
+ $(use_with mariadb) \
+ $(use_with mysql) \
+ $(use_with postgres pgsql) \
+ $(use_with sqlite sqlite3) \
+ $(use_with v4l v4l2) \
+ $(use_with webp) \
+ --without-optimizecpu
+}
+
+src_install() {
+ emake \
+ DESTDIR="${D}" \
+ docdir=/usr/share/doc/${PF} \
+ examplesdir=/usr/share/doc/${PF}/examples \
+ install
+
+ newinitd "${FILESDIR}/motion.initd-r5" ${PN}
+ newconfd "${FILESDIR}/motion.confd-r5" ${PN}
+ systemd_newunit "${FILESDIR}/${PN}.service-r4" "${PN}.service"
+ readme.gentoo_create_doc
+ readme.gentoo_print_elog
+}
diff --git a/media-video/movit/movit-1.6.3-r1.ebuild b/media-video/movit/movit-1.6.3-r1.ebuild
index bc9144f4e5d9..a874a7ac114f 100644
--- a/media-video/movit/movit-1.6.3-r1.ebuild
+++ b/media-video/movit/movit-1.6.3-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -20,7 +20,7 @@ RESTRICT="test"
RDEPEND="media-libs/mesa[X(+)]
>=dev-cpp/eigen-3.2.0:3
- media-libs/libepoxy[egl]
+ media-libs/libepoxy[egl,X]
>=sci-libs/fftw-3:=
media-libs/libsdl2"
DEPEND="${RDEPEND}"
diff --git a/media-video/mpeg-tools/files/0001-fix-K-R-C-on-various-counts.patch b/media-video/mpeg-tools/files/0001-fix-K-R-C-on-various-counts.patch
new file mode 100644
index 000000000000..1bdada074790
--- /dev/null
+++ b/media-video/mpeg-tools/files/0001-fix-K-R-C-on-various-counts.patch
@@ -0,0 +1,98 @@
+From 0905d53337e2d7d72575684a72a466df1b13c610 Mon Sep 17 00:00:00 2001
+From: Eli Schwartz <eschwartz93@gmail.com>
+Date: Thu, 14 Mar 2024 22:37:59 -0400
+Subject: [PATCH] fix K&R C on various counts
+
+---
+ convert/jmovie2jpeg.c | 7 ++-----
+ convert/mpeg_demux.c | 2 +-
+ convert/mtv/movieToVid.c | 16 ++++------------
+ 3 files changed, 7 insertions(+), 18 deletions(-)
+
+diff --git a/convert/jmovie2jpeg.c b/convert/jmovie2jpeg.c
+index 7583135..d77505a 100644
+--- a/convert/jmovie2jpeg.c
++++ b/convert/jmovie2jpeg.c
+@@ -39,17 +39,14 @@
+
+ #define HEADER_SIZE 607 /*JFIF header size used on output images*/
+
+-usage (p)
+-char *p;
++void usage (char *p)
+
+ {
+ fprintf (stderr, "Usage: %s infilename outfilename start-frame-no end-frame-no\n", p);
+ exit (1);
+ }
+
+-main (argc, argv)
+-int argc;
+-char **argv;
++int main (int argc, char **argv)
+ {
+ char *infilename; /* input filename string */
+ char *obase; /* output filename base string=>obase##.jpg */
+diff --git a/convert/mpeg_demux.c b/convert/mpeg_demux.c
+index bcce728..505afd1 100644
+--- a/convert/mpeg_demux.c
++++ b/convert/mpeg_demux.c
+@@ -110,7 +110,7 @@ static int gNumPrivate_2_Packets;
+ static FILE *errorOutput;
+ #endif
+
+-main(int argc, char **argv)
++int main(int argc, char **argv)
+ {
+ unsigned int startCode;
+ int errorCode;
+diff --git a/convert/mtv/movieToVid.c b/convert/mtv/movieToVid.c
+index 4f02a3b..7262db8 100644
+--- a/convert/mtv/movieToVid.c
++++ b/convert/mtv/movieToVid.c
+@@ -1,5 +1,6 @@
+ #include <stdio.h>
+ #include <malloc.h>
++#include <strings.h>
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ #include <sys/mman.h>
+@@ -64,7 +65,7 @@ MapFile (filename)
+ *--------------------------------------------------------------
+ */
+
+-WriteScriptFile (name, dataDir, indexDir, host, headerPtr, offsets, numFrames)
++void WriteScriptFile (name, dataDir, indexDir, host, headerPtr, offsets, numFrames)
+ char *name, *dataDir;
+ char *indexDir, *host;
+ jpheader *headerPtr;
+@@ -120,11 +121,7 @@ WriteScriptFile (name, dataDir, indexDir, host, headerPtr, offsets, numFrames)
+ *--------------------------------------------------------------
+ */
+
+-WriteOfsFile (name, dir, headerPtr, offsets, numFrames)
+- char *name, *dir;
+- jpheader *headerPtr;
+- int *offsets;
+- int numFrames;
++void WriteOfsFile (char *name, char *dir, jpheader *headerPtr, int *offsets, int numFrames)
+ {
+ FILE *outFile;
+ char str[512];
+@@ -172,12 +169,7 @@ WriteOfsFile (name, dir, headerPtr, offsets, numFrames)
+ *--------------------------------------------------------------
+ */
+
+-WriteVidFile (name, dir, headerPtr, fot, numFrames, offset)
+- char *name, *dir;
+- jpheader *headerPtr;
+- int *fot;
+- int numFrames;
+- int *offset;
++void WriteVidFile (char *name, char *dir, jpheader *headerPtr, int *fot, int numFrames, int *offset)
+ {
+ FILE *vidFile;
+ FILE *audFile;
+--
+2.43.2
+
diff --git a/media-video/mpeg-tools/files/0001-fix-missing-prototype-for-internal-jpeg-ABI.patch b/media-video/mpeg-tools/files/0001-fix-missing-prototype-for-internal-jpeg-ABI.patch
new file mode 100644
index 000000000000..ade113830cfa
--- /dev/null
+++ b/media-video/mpeg-tools/files/0001-fix-missing-prototype-for-internal-jpeg-ABI.patch
@@ -0,0 +1,30 @@
+From 4b4d0def00b0a549ea0bf86cfb7452bffc1f9111 Mon Sep 17 00:00:00 2001
+From: Eli Schwartz <eschwartz93@gmail.com>
+Date: Thu, 14 Mar 2024 22:24:51 -0400
+Subject: [PATCH] fix missing prototype for internal jpeg ABI
+
+---
+ mpeg_encode/jpeg.c | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+diff --git a/mpeg_encode/jpeg.c b/mpeg_encode/jpeg.c
+index 2dc9438..b07c9ea 100644
+--- a/mpeg_encode/jpeg.c
++++ b/mpeg_encode/jpeg.c
+@@ -83,6 +83,13 @@
+
+ #define HEADER_SIZE 607 /*JFIF header size used on output images*/
+
++/* This prototype comes from jpegint.h; it is not public, but the code uses it
++ * and libjpeg exports it for internal use. Just keep it building. */
++EXTERN(void) jcopy_sample_rows JPP((JSAMPARRAY input_array, int source_row,
++ JSAMPARRAY output_array, int dest_row,
++ int num_rows, JDIMENSION num_cols));
++
++
+ /*=======================================================================*
+ * *
+ * JMovie2JPEG *
+--
+2.43.2
+
diff --git a/media-video/mpeg-tools/mpeg-tools-1.5b-r5.ebuild b/media-video/mpeg-tools/mpeg-tools-1.5b-r5.ebuild
index acd331b70b3f..27d3b60126f0 100644
--- a/media-video/mpeg-tools/mpeg-tools-1.5b-r5.ebuild
+++ b/media-video/mpeg-tools/mpeg-tools-1.5b-r5.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-inherit toolchain-funcs
+inherit flag-o-matic toolchain-funcs
MY_PN=mpeg_encode
DESCRIPTION="Tools for MPEG video"
@@ -28,6 +28,8 @@ PATCHES=(
"${FILESDIR}"/${P}-jpeg.patch
"${FILESDIR}"/${P}-tempfile-mpeg-encode.patch
"${FILESDIR}"/${P}-tempfile-tests.patch
+ "${FILESDIR}"/0001-fix-missing-prototype-for-internal-jpeg-ABI.patch
+ "${FILESDIR}"/0001-fix-K-R-C-on-various-counts.patch
)
src_prepare() {
@@ -43,6 +45,11 @@ src_prepare() {
}
src_compile() {
+ # -Werror=lto-type-mismatch
+ # https://bugs.gentoo.org/861137
+ # Upstream is thoroughly dead, homepage doesn't even exist anymore.
+ filter-lto
+
emake CC="$(tc-getCC)"
emake -C convert CC="$(tc-getCC)"
emake -C convert/mtv CC="$(tc-getCC)"
diff --git a/media-video/mpgtx/mpgtx-1.3.1-r2.ebuild b/media-video/mpgtx/mpgtx-1.3.1-r2.ebuild
index 5068956f28e9..dc1a6db034c7 100644
--- a/media-video/mpgtx/mpgtx-1.3.1-r2.ebuild
+++ b/media-video/mpgtx/mpgtx-1.3.1-r2.ebuild
@@ -11,7 +11,7 @@ HOMEPAGE="http://mpgtx.sourceforge.net/"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="amd64 ppc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-solaris"
+KEYWORDS="amd64 ppc x86 ~amd64-linux ~x86-linux ~ppc-macos"
PATCHES=(
"${FILESDIR}"/${P}-configure.patch
diff --git a/media-video/mplayer/Manifest b/media-video/mplayer/Manifest
index a97a4832bde1..7be42fef3422 100644
--- a/media-video/mplayer/Manifest
+++ b/media-video/mplayer/Manifest
@@ -1,4 +1,6 @@
-DIST MPlayer-1.5.tar.xz 15379972 BLAKE2B 33c09025a9c521e1bc09a50fabb04e89493cbc4117afb3d5769e17b7dd621e44441a8d9f5a3cce2316c781ed701131a966abb02d64976adee9e5f40b7b475e7f SHA512 05fe1edf23cec53be676333b6299df4b3f1ee746e5ccd96dc0bed550e7a1602ba7ba182c1cc23fcac67aacde849a46628b1dcab8ee3d3d4117415c11b6a6ad74
DIST font-arial-cp1250.tar.bz2 249705 BLAKE2B eb4366a110d917dc975b8add168ab43b1e8a0db7342647f69f5421fc1170719015c97ffa770e89892cbb4cee8e5b2fb74a4772c8f6cbef9606ee12c3746d78c9 SHA512 4f77ff5ceb8ec6e5d9f8f34d8950a6a6276d1fd5a947772fcbdb6554988b1ea665c12b82f45164f91fb7bd08000cb4afc26fa35beb4c760464160e22b9b8c340
DIST font-arial-iso-8859-1.tar.bz2 234242 BLAKE2B 0671854e1a257d27b502affb59de681942a93990d3ac2575bbf1a6dd9eef026969f2f9ce4e9c11a68ea3d8aed48063f826a1e153f7468437a39791672c92a5d0 SHA512 a1d03b6f09c48f48b7733f3bc0402ceab239a9abf88b860d852ea9fe69b4da690208a79d6f29d30204f5b37becf10672e8e8c0bfef201846d80ec54df617d029
DIST font-arial-iso-8859-2.tar.bz2 222208 BLAKE2B 94b1a04672bf9b4b20a0e6981591e761f751bd637deddcb801855296c525bf3b5e8feb1cb11cef282c0269f2c963ded22846089076e7e6763f258b8a932af454 SHA512 5671e628303fd816f64a51ad10e2f4dd9c3dc1b34c379a2ecf489b83931db7af668aaa4e00e96a00cacd63ed98daeae6b6a4d5925edfb06fc98d3a923f70257d
+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
diff --git a/media-video/mplayer/files/mplayer-1.5_p20230618-gcc13.patch b/media-video/mplayer/files/mplayer-1.5_p20230618-gcc13.patch
new file mode 100644
index 000000000000..0aab0273d424
--- /dev/null
+++ b/media-video/mplayer/files/mplayer-1.5_p20230618-gcc13.patch
@@ -0,0 +1,11 @@
+https://bugs.gentoo.org/918113
+--- a/libmpcodecs/mp_image.c
++++ b/libmpcodecs/mp_image.c
+@@ -30,6 +30,7 @@
+ #include "libmpcodecs/mp_image.h"
+ #include "libvo/fastmemcpy.h"
+ #include "libavutil/mem.h"
++#include <limits.h>
+ #include "mp_msg.h"
+
+ void mp_image_alloc_planes(mp_image_t *mpi) {
diff --git a/media-video/mplayer/files/prepare_mplayer.sh b/media-video/mplayer/files/prepare_mplayer.sh
index 57d47425689f..88ae8773cea8 100644
--- a/media-video/mplayer/files/prepare_mplayer.sh
+++ b/media-video/mplayer/files/prepare_mplayer.sh
@@ -1,25 +1,35 @@
-#!/bin/sh
+#!/usr/bin/env bash
+. /lib/gentoo/functions.sh || { echo "Failed to source gentoo-functions!" ; exit 1 ; }
VERSION=$(date +%Y%m%d)
-PACKAGE="mplayer-1.2_pre${VERSION}"
-DUMP_FFMPEG="$(dirname $0)/dump_ffmpeg.sh"
+PACKAGE="mplayer-1.5_p${VERSION}"
+DUMP_FFMPEG="$(realpath $(dirname $0)/dump_ffmpeg.sh)"
+ebegin "Fetching mplayer from svn"
svn checkout svn://svn.mplayerhq.hu/mplayer/trunk ${PACKAGE}
+eend $?
-pushd ${PACKAGE} > /dev/null
- # ffmpeg is in git now so no svn external anymore
- rm -rf ffmpeg
- git clone git://source.ffmpeg.org/ffmpeg.git ffmpeg/
- sh "$DUMP_FFMPEG"
- STORE_VERSION=$(LC_ALL=C svn info 2> /dev/null | grep Revision | cut -d' ' -f2)
- printf "$STORE_VERSION" > snapshot_version
-popd > /dev/null
+pushd ${PACKAGE} > /dev/null || { eerror "Moving to ${PACKAGE} dir failed!" ; exit 1 ; }
+ # ffmpeg is in git now so no svn external anymore
+ rm -rf ffmpeg
+
+ ebegin "Cloning ffmpeg from git"
+ git clone https://git.ffmpeg.org/ffmpeg.git
+ eend $?
+
+ einfo "Extracting version"
+ # This should be fatal but it hasn't been fatal in the live ebuild
+ # for years and it needs fixing, so...
+ bash "${DUMP_FFMPEG}" || ewarn "Dumping ffmpeg failed!"
+ STORE_VERSION=$(LC_ALL=C svn info 2> /dev/null | grep Revision | cut -d' ' -f2)
+ printf "${STORE_VERSION}" > snapshot_version
+ einfo "Got version ${STORE_VERSION}"
+popd > /dev/null || { eerror "Returning to previous dir failed!" ; exit 1 ; }
find "${PACKAGE}" -type d -name '.svn' -prune -print0 | xargs -0 rm -rf
find "${PACKAGE}" -type d -name '.git' -prune -print0 | xargs -0 rm -rf
-tar cJf ${PACKAGE}.tar.xz ${PACKAGE}
-rm -rf ${PACKAGE}/
-
-echo "Tarball: \"${PACKAGE}.tar.xz\""
+tar --exclude-vcs -cJf ${PACKAGE}.tar.xz ${PACKAGE} || { eerror "Tar creation failed! Error: $?" ; exit 1 ; }
+rm -rf ${PACKAGE}/ || { eerror "Removal of ${PACKAGE}? failed! Error: $?" ; exit 1 ; }
-echo "** all done **"
+einfo "Tarball: \"${PACKAGE}.tar.xz\""
+einfo "** all done **"
diff --git a/media-video/mplayer/mplayer-1.5.ebuild b/media-video/mplayer/mplayer-1.5_p20230215.ebuild
index 372909e99730..ae49ee100092 100644
--- a/media-video/mplayer/mplayer-1.5.ebuild
+++ b/media-video/mplayer/mplayer-1.5_p20230215.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
@@ -11,12 +11,16 @@ if [[ ${PV} == *9999* ]]; then
RELEASE_URI=""
inherit subversion git-r3
-elif [[ "${PV%_rc*}" == "${PV}" && "${PV%_pre*}" == "${PV}" ]]; then
+elif [[ "${PV%_rc*}" == "${PV}" && "${PV%_pre*}" == "${PV}" && "${PV%_p*}" == "${PV}" ]]; then
MY_P="MPlayer-${PV}"
S="${WORKDIR}/${MY_P}"
RELEASE_URI="mirror://mplayer/releases/${MY_P}.tar.xz"
else
- RELEASE_URI="mirror://gentoo/${P}.tar.xz"
+ # If necessary, don't be afraid to make a snapshot.
+ # http://www.mplayerhq.hu/design7/dload.html says:
+ # "We recommend to always use the latest SVN to get the all the new
+ # features and bugfixes, especially if the release date above looks old."
+ RELEASE_URI="https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}.tar.xz"
fi
FONT_URI="
@@ -141,7 +145,7 @@ RDEPEND="
DEPEND="
${RDEPEND}
dga? ( x11-base/xorg-proto )
- dvb? ( virtual/linuxtv-dvb-headers )
+ dvb? ( sys-kernel/linux-headers )
X? ( x11-base/xorg-proto )
xinerama? ( x11-base/xorg-proto )
xscreensaver? ( x11-base/xorg-proto )
@@ -259,6 +263,11 @@ src_prepare() {
}
src_configure() {
+ # undefined reference to `sse_int32_map_factor' etc
+ # https://bugs.gentoo.org/650458
+ # https://trac.mplayerhq.hu/ticket/2408
+ use libass && use cpu_flags_x86_sse4_1 && filter-lto
+
local myconf=()
local uses i
diff --git a/media-video/mplayer/mplayer-1.5_p20230618.ebuild b/media-video/mplayer/mplayer-1.5_p20230618.ebuild
new file mode 100644
index 000000000000..60e8cf3cc9e3
--- /dev/null
+++ b/media-video/mplayer/mplayer-1.5_p20230618.ebuild
@@ -0,0 +1,650 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit edo toolchain-funcs flag-o-matic
+
+if [[ ${PV} == *9999* ]]; then
+ EGIT_REPO_URI="https://git.ffmpeg.org/ffmpeg.git"
+ ESVN_REPO_URI="svn://svn.mplayerhq.hu/mplayer/trunk"
+ RELEASE_URI=""
+
+ inherit subversion git-r3
+elif [[ "${PV%_rc*}" == "${PV}" && "${PV%_pre*}" == "${PV}" && "${PV%_p*}" == "${PV}" ]]; then
+ MY_P="MPlayer-${PV}"
+ S="${WORKDIR}/${MY_P}"
+ RELEASE_URI="mirror://mplayer/releases/${MY_P}.tar.xz"
+else
+ # If necessary, don't be afraid to make a snapshot.
+ # http://www.mplayerhq.hu/design7/dload.html says:
+ # "We recommend to always use the latest SVN to get the all the new
+ # features and bugfixes, especially if the release date above looks old."
+ RELEASE_URI="https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}.tar.xz"
+fi
+
+FONT_URI="
+ mirror://mplayer/releases/fonts/font-arial-iso-8859-1.tar.bz2
+ mirror://mplayer/releases/fonts/font-arial-iso-8859-2.tar.bz2
+ mirror://mplayer/releases/fonts/font-arial-cp1250.tar.bz2
+"
+
+DESCRIPTION="Media Player for Linux"
+HOMEPAGE="http://www.mplayerhq.hu/"
+SRC_URI="
+ ${RELEASE_URI}
+ !truetype? ( ${FONT_URI} )
+"
+
+IUSE="cpu_flags_x86_avx cpu_flags_x86_avx2"
+IUSE+=" cpu_flags_x86_fma3 cpu_flags_x86_fma4"
+IUSE+=" cpu_flags_x86_mmx cpu_flags_x86_mmxext"
+IUSE+=" cpu_flags_x86_sse cpu_flags_x86_sse2 cpu_flags_x86_sse3 cpu_flags_x86_ssse3 cpu_flags_x86_sse4_1"
+IUSE+=" cpu_flags_x86_sse4_2 cpu_flags_x86_xop"
+IUSE+=" cpu_flags_x86_3dnow cpu_flags_x86_3dnowext"
+
+IUSE+=" cpu_flags_arm_thumb cpu_flags_arm_neon cpu_flags_arm_vfp cpu_flags_arm_vfpv3"
+IUSE+=" cpu_flags_arm_iwmmxt"
+IUSE+=" cpu_flags_ppc_altivec"
+
+IUSE+=" a52 aalib +alsa aqua bidi bl bluray"
+IUSE+=" bs2b cddb +cdio cdparanoia cpudetection debug dga doc dts dv dvb +dvd +dvdnav +enca +encode faac faad fbcon"
+IUSE+=" ftp ggi gsm +iconv ipv6 jack joystick jpeg ladspa +libass libcaca libmpeg2 lirc live lzo mad md5sum"
+IUSE+=" mng mp3 nas +network openal opengl +osdmenu oss png pnm pulseaudio pvr"
+IUSE+=" radio rar rtc rtmp samba selinux +shm sdl speex"
+IUSE+=" tga theora tremor +truetype toolame twolame +unicode v4l vcd vdpau vidix"
+IUSE+=" vorbis +X x264 xinerama +xscreensaver +xv xvid yuv4mpeg zoran"
+
+VIDEO_CARDS="mga"
+for x in ${VIDEO_CARDS}; do
+ IUSE+=" video_cards_${x}"
+done
+
+FONT_RDEPS="
+ media-libs/fontconfig
+ >=media-libs/freetype-2.2.1:2
+ virtual/ttf-fonts
+"
+X_RDEPS="
+ x11-libs/libXext
+ x11-libs/libXxf86vm
+"
+# - RAR: although -gpl version is nice, it can't do most functions normal rars can
+# nemesi? ( net-libs/libnemesi )
+# - mplayer relies on private APIs in giflib that have been removed:
+# https://sourceforge.net/p/giflib/bugs/132/
+RDEPEND="
+ app-arch/bzip2
+ >=media-video/ffmpeg-4.0:=[vdpau?]
+ sys-libs/ncurses:=
+ sys-libs/zlib
+ a52? ( media-libs/a52dec )
+ aalib? ( media-libs/aalib )
+ alsa? ( media-libs/alsa-lib )
+ bidi? ( dev-libs/fribidi )
+ bluray? ( >=media-libs/libbluray-0.2.1:= )
+ bs2b? ( media-libs/libbs2b )
+ cdio? (
+ dev-libs/libcdio:=
+ dev-libs/libcdio-paranoia
+ )
+ cdparanoia? ( !cdio? ( media-sound/cdparanoia ) )
+ dga? ( x11-libs/libXxf86dga )
+ dts? ( media-libs/libdca )
+ dv? ( media-libs/libdv )
+ dvd? ( >=media-libs/libdvdread-4.1.3:= )
+ dvdnav? ( >=media-libs/libdvdnav-4.1.3:= )
+ encode? (
+ !twolame? ( toolame? ( media-sound/toolame ) )
+ twolame? ( media-sound/twolame )
+ faac? ( media-libs/faac )
+ mp3? ( media-sound/lame )
+ x264? ( >=media-libs/x264-0.0.20100423:= )
+ xvid? ( media-libs/xvid )
+ )
+ enca? ( app-i18n/enca )
+ faad? ( media-libs/faad2 )
+ ggi? ( media-libs/libggi media-libs/libggiwmh )
+ gsm? ( media-sound/gsm )
+ iconv? ( virtual/libiconv )
+ jack? ( virtual/jack )
+ jpeg? ( media-libs/libjpeg-turbo:= )
+ ladspa? ( media-libs/ladspa-sdk )
+ libass? ( >=media-libs/libass-0.9.10:= )
+ libcaca? ( media-libs/libcaca )
+ libmpeg2? ( media-libs/libmpeg2 )
+ lirc? ( app-misc/lirc )
+ live? ( media-plugins/live )
+ lzo? ( >=dev-libs/lzo-2 )
+ mad? ( media-libs/libmad )
+ mng? ( media-libs/libmng:= )
+ mp3? ( media-sound/mpg123 )
+ nas? ( media-libs/nas )
+ openal? ( media-libs/openal )
+ opengl? ( virtual/opengl )
+ png? ( media-libs/libpng:= )
+ pnm? ( media-libs/netpbm )
+ pulseaudio? ( media-sound/pulseaudio )
+ rar? (
+ || (
+ app-arch/unrar
+ app-arch/rar
+ )
+ )
+ rtmp? ( media-video/rtmpdump )
+ samba? ( net-fs/samba )
+ sdl? ( media-libs/libsdl )
+ speex? ( media-libs/speex )
+ theora? ( media-libs/libtheora[encode?] )
+ tremor? ( media-libs/tremor )
+ truetype? ( ${FONT_RDEPS} )
+ vdpau? ( x11-libs/libvdpau )
+ vorbis? ( !tremor? ( media-libs/libvorbis ) )
+ X? ( ${X_RDEPS} )
+ xinerama? ( x11-libs/libXinerama )
+ xscreensaver? ( x11-libs/libXScrnSaver )
+ xv? ( x11-libs/libXv )
+"
+DEPEND="
+ ${RDEPEND}
+ dga? ( x11-base/xorg-proto )
+ dvb? ( sys-kernel/linux-headers )
+ X? ( x11-base/xorg-proto )
+ xinerama? ( x11-base/xorg-proto )
+ xscreensaver? ( x11-base/xorg-proto )
+"
+ASM_DEP="dev-lang/yasm"
+BDEPEND="
+ virtual/pkgconfig
+ amd64? ( ${ASM_DEP} )
+ doc? (
+ app-text/docbook-xml-dtd
+ app-text/docbook-xsl-stylesheets
+ dev-libs/libxslt
+ )
+ x86? ( ${ASM_DEP} )
+"
+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"
+fi
+
+# faac codecs are nonfree
+# libcdio support: prefer libcdio over cdparanoia and don't check for cddb w/cdio
+# dvd navigation requires dvd read support
+# ass and freetype font require iconv and ass requires freetype fonts
+# unicode transformations are usefull only with iconv
+# radio requires oss or alsa backend
+REQUIRED_USE="
+ dga? ( X )
+ dvdnav? ( dvd )
+ enca? ( iconv )
+ ggi? ( X )
+ libass? ( truetype )
+ opengl? ( X )
+ osdmenu? ( X )
+ truetype? ( iconv )
+ vdpau? ( X )
+ vidix? ( X )
+ xinerama? ( X )
+ xscreensaver? ( X )
+ xv? ( X )"
+RESTRICT="faac? ( bindist )"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-gcc13.patch
+)
+
+pkg_setup() {
+ if [[ ${PV} == *9999* ]]; then
+ elog
+ elog "This is a live ebuild which installs the latest from upstream's"
+ elog "subversion repository, and is unsupported by Gentoo."
+ elog "Everything but bugs in the ebuild itself will be ignored."
+ elog
+ fi
+
+ if use cpudetection; then
+ ewarn
+ ewarn "You've enabled the cpudetection flag. This feature is"
+ ewarn "included mainly for people who want to use the same"
+ ewarn "binary on another system with a different CPU architecture."
+ ewarn "MPlayer will already detect your CPU settings by default at"
+ ewarn "buildtime; this flag is used for runtime detection."
+ ewarn "You won't need this turned on if you are only building"
+ ewarn "mplayer for this system. Also, if your compile fails, try"
+ ewarn "disabling this use flag."
+ fi
+}
+
+src_unpack() {
+ if [[ ${PV} == *9999* ]]; then
+ subversion_src_unpack
+
+ cd "${WORKDIR}" || die
+ rm -rf "${WORKDIR}/${P}/ffmpeg/" || die
+ ( EGIT_CHECKOUT_DIR="${WORKDIR}/${P}/ffmpeg/" git-r3_src_unpack )
+ else
+ unpack ${A}
+ fi
+
+ if [[ ${PV} == *9999* || "${PV%_rc*}" == "${PV}" ]]; then
+ cd "${S}" || die
+ cp "${FILESDIR}/dump_ffmpeg.sh" . || die
+ chmod +x dump_ffmpeg.sh || die
+ ./dump_ffmpeg.sh
+ fi
+
+ if ! use truetype; then
+ unpack font-arial-iso-8859-1.tar.bz2 \
+ font-arial-iso-8859-2.tar.bz2 \
+ font-arial-cp1250.tar.bz2
+ fi
+}
+
+src_prepare() {
+ default
+
+ local svf=snapshot_version
+ if [[ ${PV} == *9999* ]]; then
+ # Set SVN version manually
+ subversion_wc_info
+ printf "${ESVN_WC_REVISION}" > ${svf} || die
+ fi
+
+ if [[ ! -f VERSION ]]; then
+ [[ -f "${svf}" ]] || die "Missing ${svf}. Did you generate your snapshot with prepare_mplayer.sh?"
+
+ local sv=$(<${svf})
+ printf "SVN-r${sv} (Gentoo)" > VERSION || die
+ fi
+
+ # Fix path to bash executable in configure scripts
+ sed -i -e "1c\#!${EPREFIX}/bin/bash" configure version.sh || die
+
+ # Use sane default for >=virtual/udev-197
+ sed -i -e '/default_dvd_device/s:/dev/dvd:/dev/cdrom:' configure || die
+}
+
+src_configure() {
+ # undefined reference to `sse_int32_map_factor' etc
+ # https://bugs.gentoo.org/650458
+ # https://trac.mplayerhq.hu/ticket/2408
+ use libass && use cpu_flags_x86_sse4_1 && filter-lto
+
+ local myconf=()
+ local uses i
+
+ # Set LINGUAS
+ [[ -n ${LINGUAS} ]] && LINGUAS="${LINGUAS/da/dk}"
+ [[ -n ${LINGUAS} ]] && LINGUAS="${LINGUAS/zh/zh_CN}" # bug #482968
+
+ # mplayer ebuild uses "use foo || --disable-foo" to forcibly disable
+ # compilation in almost every situation. The reason for this is
+ # because if --enable is used, it will force the build of that option,
+ # regardless of whether the dependency is available or not.
+
+ #####################
+ # Optional features #
+ #####################
+ # Disable svga since we don't want it
+ # Disable arts since we don't have kde3
+ # Always disable internal ass
+ # Disable opus and ilbc since it only controls support in internal
+ # ffmpeg which we do not use
+ myconf+=(
+ --disable-arts
+ --disable-ass-internal
+ --disable-directfb
+ --disable-kai
+ --disable-libilbc
+ --disable-libnut
+ --disable-libopus
+ --disable-svga --disable-svgalib_helper
+ --disable-xvmc
+ $(use_enable network networking)
+ $(use_enable joystick)
+ )
+
+ uses="bl bluray enca ftp rtc vcd" # nemesi <- not working with in-tree ebuild
+ myconf+=( --disable-nemesi ) # nemesi automagic disable
+ for i in ${uses}; do
+ use ${i} || myconf+=( --disable-${i} )
+ done
+ use bidi || myconf+=( --disable-fribidi )
+ use ipv6 || myconf+=( --disable-inet6 )
+ use libass || myconf+=( --disable-ass )
+ use rar || myconf+=( --disable-unrarexec )
+ use samba || myconf+=( --disable-smb )
+ use lirc || myconf+=( --disable-lirc --disable-lircc --disable-apple-ir )
+
+ # libcdio support: prefer libcdio over cdparanoia
+ # don't check for cddb w/cdio
+ if use cdio; then
+ myconf+=( --disable-cdparanoia )
+ else
+ myconf+=( --disable-libcdio )
+ use cdparanoia || myconf+=( --disable-cdparanoia )
+ use cddb || myconf+=( --disable-cddb )
+ fi
+
+ ################################
+ # DVD read, navigation support #
+ ################################
+ #
+ # dvdread - accessing a DVD
+ # dvdnav - navigation of menus
+ use dvd || myconf+=( --disable-dvdread )
+ use dvdnav || myconf+=( --disable-dvdnav )
+
+ #############
+ # Subtitles #
+ #############
+ #
+ # SRT/ASS/SSA (subtitles) requires freetype support
+ # freetype support requires iconv
+ # iconv optionally can use unicode
+ use truetype || myconf+=( --disable-freetype )
+ use iconv || myconf+=( --disable-iconv --charset=noconv )
+ use iconv && use unicode && myconf+=( --charset=UTF-8 )
+
+ #####################################
+ # DVB / Video4Linux / Radio support #
+ #####################################
+ myconf+=( --disable-tv-bsdbt848 )
+ # gone since linux-headers-2.6.38
+ myconf+=( --disable-tv-v4l1 )
+ if { use dvb || use v4l || use pvr || use radio; }; then
+ use dvb || myconf+=( --disable-dvb )
+ use pvr || myconf+=( --disable-pvr )
+ use v4l || myconf+=( --disable-tv-v4l2 )
+ if use radio && { use dvb || use v4l; }; then
+ myconf+=(
+ --enable-radio
+ $(use_enable encode radio-capture)
+ )
+ else
+ myconf+=(
+ --disable-radio-v4l2
+ --disable-radio-bsdbt848
+ )
+ fi
+ else
+ myconf+=(
+ --disable-tv
+ --disable-tv-v4l2
+ --disable-radio
+ --disable-radio-v4l2
+ --disable-radio-bsdbt848
+ --disable-dvb
+ --disable-v4l2
+ --disable-pvr
+ )
+ fi
+
+ ##########
+ # Codecs #
+ ##########
+ myconf+=( --disable-musepack ) # Use internal musepack codecs for SV7 and SV8 support
+ myconf+=( --disable-libmpeg2-internal ) # always use system media-libs/libmpeg2
+ myconf+=( --disable-gif ) # relies on to-be-removed giflib internals https://sourceforge.net/p/giflib/bugs/132/
+ use dts || myconf+=( --disable-libdca )
+ if ! use mp3; then
+ myconf+=(
+ --disable-mp3lame
+ --disable-mpg123
+ )
+ fi
+ uses="a52 bs2b dv gsm lzo rtmp vorbis"
+ for i in ${uses}; do
+ use ${i} || myconf+=( --disable-lib${i} )
+ done
+
+ uses="faad jpeg libmpeg2 live mad mng png pnm speex tga theora tremor"
+ for i in ${uses}; do
+ use ${i} || myconf+=( --disable-${i} )
+ done
+ # Pulls an outdated libopenjpeg, ffmpeg provides better support for it
+ myconf+=( --disable-libopenjpeg )
+
+ # Encoding
+ uses="faac x264 xvid toolame twolame"
+ if use encode; then
+ for i in ${uses}; do
+ use ${i} || myconf+=( --disable-${i} )
+ done
+ else
+ myconf+=( --disable-mencoder )
+ for i in ${uses}; do
+ myconf+=( --disable-${i} )
+ use ${i} && elog "Useflag \"${i}\" will only be useful for encoding, i.e., with \"encode\" useflag enabled."
+ done
+ fi
+
+ #################
+ # Binary codecs #
+ #################
+ myconf+=( --disable-qtx --disable-real --disable-win32dll )
+
+ ################
+ # Video Output #
+ ################
+ uses="md5sum sdl yuv4mpeg"
+ for i in ${uses}; do
+ use ${i} || myconf+=( --disable-${i} )
+ done
+ use aalib || myconf+=( --disable-aa )
+ use fbcon || myconf+=( --disable-fbdev )
+ use libcaca || myconf+=( --disable-caca )
+ use zoran || myconf+=( --disable-zr )
+
+ if ! use kernel_linux || ! use video_cards_mga; then
+ myconf+=( --disable-mga --disable-xmga )
+ fi
+
+ myconf+=(
+ --disable-3dfx
+ --disable-tdfxvid
+ --disable-tdfxfb
+ )
+
+ # sun card, disable by default, see bug #258729
+ myconf+=( --disable-xvr100 )
+
+ ################
+ # Audio Output #
+ ################
+ myconf+=( --disable-esd )
+ uses="alsa jack ladspa nas openal"
+ for i in ${uses}; do
+ use ${i} || myconf+=( --disable-${i} )
+ done
+ use pulseaudio || myconf+=( --disable-pulse )
+ if ! use radio; then
+ use oss || myconf+=( --disable-ossaudio )
+ fi
+
+ ####################
+ # Advanced Options #
+ ####################
+ # Platform specific flags, hardcoded on amd64 (see below)
+ use cpudetection && myconf+=( --enable-runtime-cpudetection )
+
+ local x86_uses="3dnow 3dnowext avx avx2 fma3 fma4 mmx mmxext sse sse2 sse3 ssse3 xop"
+ for i in ${x86_uses}; do
+ myconf+=( $(use_enable cpu_flags_x86_${i} ${i}) )
+ done
+ myconf+=(
+ $(use_enable cpu_flags_x86_sse4_1 sse4)
+ $(use_enable cpu_flags_x86_sse4_2 sse42)
+ )
+
+ myconf+=(
+ $(use_enable cpu_flags_arm_iwmmxt iwmmxt)
+ $(use_enable cpu_flags_arm_thumb thumb)
+ $(use_enable cpu_flags_arm_neon neon)
+ $(use_enable cpu_flags_arm_vfp armvfp)
+ $(use_enable cpu_flags_arm_vfpv3 vfpv3)
+ $(use_enable cpu_flags_ppc_altivec altivec)
+ $(use_enable shm)
+ )
+
+ use debug && myconf+=( --enable-debug=3 )
+
+ if use x86 && gcc-specs-pie; then
+ filter-flags -fPIC -fPIE
+ append-ldflags -nopie
+ fi
+
+ ###########################
+ # X enabled configuration #
+ ###########################
+ myconf+=( --disable-gui )
+ myconf+=( --disable-vesa )
+ uses="ggi vdpau xinerama xv"
+ for i in ${uses}; do
+ use ${i} || myconf+=( --disable-${i} )
+ done
+ use dga || myconf+=( --disable-dga1 --disable-dga2 )
+ use opengl || myconf+=( --disable-gl )
+ use osdmenu && myconf+=( --enable-menu )
+ use vidix || myconf+=( --disable-vidix --disable-vidix-pcidb )
+ use xscreensaver || myconf+=( --disable-xss )
+ use X || myconf+=( --disable-x11 )
+
+ ############################
+ # OSX (aqua) configuration #
+ ############################
+ if use aqua; then
+ myconf+=(
+ --enable-macosx-finder
+ --enable-macosx-bundle
+ )
+ fi
+
+ # Note: --enable-gnutls only makes sense with --enable-ffmpeg_a
+ edo ./configure \
+ --cc="$(tc-getCC)" \
+ --host-cc="$(tc-getBUILD_CC)" \
+ --prefix="${EPREFIX}/usr" \
+ --bindir="${EPREFIX}/usr/bin" \
+ --libdir="${EPREFIX}/usr/$(get_libdir)" \
+ --confdir="${EPREFIX}/etc/mplayer" \
+ --datadir="${EPREFIX}/usr/share/mplayer${namesuf}" \
+ --mandir="${EPREFIX}/usr/share/man" \
+ --disable-ffmpeg_a \
+ --disable-gnutls \
+ "${myconf[@]}"
+}
+
+src_compile() {
+ default
+
+ # Build only user-requested docs if they're available.
+ if use doc ; then
+ # Select available languages from ${LINGUAS}
+ local ALLOWED_LINGUAS="cs de en es fr hu it pl ru zh_CN"
+ local BUILT_DOCS=()
+ local i
+
+ for i in ${LINGUAS} ; do
+ has ${i} ${ALLOWED_LINGUAS} && BUILT_DOCS+=( ${i} )
+ done
+
+ if [[ -z ${BUILT_DOCS[@]} ]]; then
+ emake -j1 html-chunked
+ else
+ for i in ${BUILT_DOCS[@]}; do
+ emake -j1 html-chunked-${i}
+ done
+ fi
+ fi
+}
+
+src_install() {
+ local i
+
+ emake \
+ DESTDIR="${D}" \
+ INSTALLSTRIP="" \
+ install
+
+ dodoc AUTHORS Changelog Copyright README etc/codecs.conf
+
+ docinto tech/
+ dodoc DOCS/tech/{*.txt,MAINTAINERS,mpsub.sub,playtree,TODO,wishlist}
+ docinto TOOLS/
+ dodoc -r TOOLS/*
+ docinto tech/mirrors/
+ dodoc DOCS/tech/mirrors/*
+
+ if use doc; then
+ docinto html/
+ dodoc -r "${S}"/DOCS/HTML/*
+ fi
+
+ if ! use truetype; then
+ dodir /usr/share/mplayer/fonts
+
+ # Do this generic, as the mplayer people like to change the structure
+ # of their zips ...
+ local i
+ for i in $(find "${WORKDIR}/" -type d -name 'font-arial-*'); do
+ cp -pPR "${i}" "${ED}/usr/share/mplayer/fonts"
+ done
+
+ # Fix the font symlink ...
+ rm -rf "${ED}/usr/share/mplayer/font"
+ dosym fonts/font-arial-14-iso-8859-1 /usr/share/mplayer/font
+ fi
+
+ insinto /etc/mplayer
+ newins "${S}/etc/example.conf" mplayer.conf
+ cat >> "${ED}/etc/mplayer/mplayer.conf" <<- _EOF_
+ # Config options can be section specific, global
+ # options should go in the default section
+ [default]
+ _EOF_
+
+ doins "${S}/etc/input.conf"
+ if use osdmenu; then
+ doins "${S}/etc/menu.conf"
+ fi
+
+ if use truetype; then
+ cat >> "${ED}/etc/mplayer/mplayer.conf" <<- _EOF_
+ fontconfig=1
+ subfont-osd-scale=4
+ subfont-text-scale=3
+ _EOF_
+ fi
+
+ # bug #256203
+ if use rar; then
+ cat >> "${ED}/etc/mplayer/mplayer.conf" <<- _EOF_
+ unrarexec=${EPREFIX}/usr/bin/unrar
+ _EOF_
+ fi
+
+ dosym -r /etc/mplayer/mplayer.conf /usr/share/mplayer/mplayer.conf
+ newbin "${S}/TOOLS/midentify.sh" midentify
+}
+
+pkg_preinst() {
+ [[ -d ${EROOT}/usr/share/mplayer/Skin/default ]] && \
+ rm -rf "${EROOT}/usr/share/mplayer/Skin/default"
+}
+
+pkg_postrm() {
+ # Cleanup stale symlinks
+ [[ -L "${EROOT}/usr/share/mplayer/font" &&
+ ! -e "${EROOT}/usr/share/mplayer/font" ]] && \
+ rm -f "${EROOT}/usr/share/mplayer/font"
+
+ [[ -L "${EROOT}/usr/share/mplayer/subfont.ttf" &&
+ ! -e "${EROOT}/usr/share/mplayer/subfont.ttf" ]] && \
+ rm -f "${EROOT}/usr/share/mplayer/subfont.ttf"
+}
diff --git a/media-video/mplayer/mplayer-1.5_p20231206.ebuild b/media-video/mplayer/mplayer-1.5_p20231206.ebuild
new file mode 100644
index 000000000000..b7e9b5420e81
--- /dev/null
+++ b/media-video/mplayer/mplayer-1.5_p20231206.ebuild
@@ -0,0 +1,646 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit edo toolchain-funcs flag-o-matic
+
+if [[ ${PV} == *9999* ]]; then
+ EGIT_REPO_URI="https://git.ffmpeg.org/ffmpeg.git"
+ ESVN_REPO_URI="svn://svn.mplayerhq.hu/mplayer/trunk"
+ RELEASE_URI=""
+
+ inherit subversion git-r3
+elif [[ "${PV%_rc*}" == "${PV}" && "${PV%_pre*}" == "${PV}" && "${PV%_p*}" == "${PV}" ]]; then
+ MY_P="MPlayer-${PV}"
+ S="${WORKDIR}/${MY_P}"
+ RELEASE_URI="mirror://mplayer/releases/${MY_P}.tar.xz"
+else
+ # If necessary, don't be afraid to make a snapshot.
+ # http://www.mplayerhq.hu/design7/dload.html says:
+ # "We recommend to always use the latest SVN to get the all the new
+ # features and bugfixes, especially if the release date above looks old."
+ RELEASE_URI="https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}.tar.xz"
+fi
+
+FONT_URI="
+ mirror://mplayer/releases/fonts/font-arial-iso-8859-1.tar.bz2
+ mirror://mplayer/releases/fonts/font-arial-iso-8859-2.tar.bz2
+ mirror://mplayer/releases/fonts/font-arial-cp1250.tar.bz2
+"
+
+DESCRIPTION="Media Player for Linux"
+HOMEPAGE="http://www.mplayerhq.hu/"
+SRC_URI="
+ ${RELEASE_URI}
+ !truetype? ( ${FONT_URI} )
+"
+
+IUSE="cpu_flags_x86_avx cpu_flags_x86_avx2"
+IUSE+=" cpu_flags_x86_fma3 cpu_flags_x86_fma4"
+IUSE+=" cpu_flags_x86_mmx cpu_flags_x86_mmxext"
+IUSE+=" cpu_flags_x86_sse cpu_flags_x86_sse2 cpu_flags_x86_sse3 cpu_flags_x86_ssse3 cpu_flags_x86_sse4_1"
+IUSE+=" cpu_flags_x86_sse4_2 cpu_flags_x86_xop"
+IUSE+=" cpu_flags_x86_3dnow cpu_flags_x86_3dnowext"
+
+IUSE+=" cpu_flags_arm_thumb cpu_flags_arm_neon cpu_flags_arm_vfp cpu_flags_arm_vfpv3"
+IUSE+=" cpu_flags_arm_iwmmxt"
+IUSE+=" cpu_flags_ppc_altivec"
+
+IUSE+=" a52 aalib +alsa aqua bidi bl bluray"
+IUSE+=" bs2b cddb +cdio cdparanoia cpudetection debug dga doc dts dv dvb +dvd +dvdnav +enca +encode faac faad fbcon"
+IUSE+=" ftp ggi gsm +iconv ipv6 jack joystick jpeg ladspa +libass libcaca libmpeg2 lirc live lzo mad md5sum"
+IUSE+=" mng mp3 nas +network openal opengl +osdmenu oss png pnm pulseaudio pvr"
+IUSE+=" radio rar rtc rtmp samba selinux +shm sdl speex"
+IUSE+=" tga theora tremor +truetype toolame twolame +unicode v4l vcd vdpau vidix"
+IUSE+=" vorbis +X x264 xinerama +xscreensaver +xv xvid yuv4mpeg zoran"
+
+VIDEO_CARDS="mga"
+for x in ${VIDEO_CARDS}; do
+ IUSE+=" video_cards_${x}"
+done
+
+FONT_RDEPS="
+ media-libs/fontconfig
+ >=media-libs/freetype-2.2.1:2
+ virtual/ttf-fonts
+"
+X_RDEPS="
+ x11-libs/libXext
+ x11-libs/libXxf86vm
+"
+# - RAR: although -gpl version is nice, it can't do most functions normal rars can
+# nemesi? ( net-libs/libnemesi )
+# - mplayer relies on private APIs in giflib that have been removed:
+# https://sourceforge.net/p/giflib/bugs/132/
+RDEPEND="
+ app-arch/bzip2
+ >=media-video/ffmpeg-4.0:=[vdpau?]
+ sys-libs/ncurses:=
+ sys-libs/zlib
+ a52? ( media-libs/a52dec )
+ aalib? ( media-libs/aalib )
+ alsa? ( media-libs/alsa-lib )
+ bidi? ( dev-libs/fribidi )
+ bluray? ( >=media-libs/libbluray-0.2.1:= )
+ bs2b? ( media-libs/libbs2b )
+ cdio? (
+ dev-libs/libcdio:=
+ dev-libs/libcdio-paranoia
+ )
+ cdparanoia? ( !cdio? ( media-sound/cdparanoia ) )
+ dga? ( x11-libs/libXxf86dga )
+ dts? ( media-libs/libdca )
+ dv? ( media-libs/libdv )
+ dvd? ( >=media-libs/libdvdread-4.1.3:= )
+ dvdnav? ( >=media-libs/libdvdnav-4.1.3:= )
+ encode? (
+ !twolame? ( toolame? ( media-sound/toolame ) )
+ twolame? ( media-sound/twolame )
+ faac? ( media-libs/faac )
+ mp3? ( media-sound/lame )
+ x264? ( >=media-libs/x264-0.0.20100423:= )
+ xvid? ( media-libs/xvid )
+ )
+ enca? ( app-i18n/enca )
+ faad? ( media-libs/faad2 )
+ ggi? ( media-libs/libggi media-libs/libggiwmh )
+ gsm? ( media-sound/gsm )
+ iconv? ( virtual/libiconv )
+ jack? ( virtual/jack )
+ jpeg? ( media-libs/libjpeg-turbo:= )
+ ladspa? ( media-libs/ladspa-sdk )
+ libass? ( >=media-libs/libass-0.9.10:= )
+ libcaca? ( media-libs/libcaca )
+ libmpeg2? ( media-libs/libmpeg2 )
+ lirc? ( app-misc/lirc )
+ live? ( media-plugins/live )
+ lzo? ( >=dev-libs/lzo-2 )
+ mad? ( media-libs/libmad )
+ mng? ( media-libs/libmng:= )
+ mp3? ( media-sound/mpg123 )
+ nas? ( media-libs/nas )
+ openal? ( media-libs/openal )
+ opengl? ( virtual/opengl )
+ png? ( media-libs/libpng:= )
+ pnm? ( media-libs/netpbm )
+ pulseaudio? ( media-sound/pulseaudio )
+ rar? (
+ || (
+ app-arch/unrar
+ app-arch/rar
+ )
+ )
+ rtmp? ( media-video/rtmpdump )
+ samba? ( net-fs/samba )
+ sdl? ( media-libs/libsdl )
+ speex? ( media-libs/speex )
+ theora? ( media-libs/libtheora[encode?] )
+ tremor? ( media-libs/tremor )
+ truetype? ( ${FONT_RDEPS} )
+ vdpau? ( x11-libs/libvdpau )
+ vorbis? ( !tremor? ( media-libs/libvorbis ) )
+ X? ( ${X_RDEPS} )
+ xinerama? ( x11-libs/libXinerama )
+ xscreensaver? ( x11-libs/libXScrnSaver )
+ xv? ( x11-libs/libXv )
+"
+DEPEND="
+ ${RDEPEND}
+ dga? ( x11-base/xorg-proto )
+ dvb? ( sys-kernel/linux-headers )
+ X? ( x11-base/xorg-proto )
+ xinerama? ( x11-base/xorg-proto )
+ xscreensaver? ( x11-base/xorg-proto )
+"
+ASM_DEP="dev-lang/nasm"
+BDEPEND="
+ virtual/pkgconfig
+ amd64? ( ${ASM_DEP} )
+ doc? (
+ app-text/docbook-xml-dtd
+ app-text/docbook-xsl-stylesheets
+ dev-libs/libxslt
+ )
+ x86? ( ${ASM_DEP} )
+"
+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"
+fi
+
+# faac codecs are nonfree
+# libcdio support: prefer libcdio over cdparanoia and don't check for cddb w/cdio
+# dvd navigation requires dvd read support
+# ass and freetype font require iconv and ass requires freetype fonts
+# unicode transformations are usefull only with iconv
+# radio requires oss or alsa backend
+REQUIRED_USE="
+ dga? ( X )
+ dvdnav? ( dvd )
+ enca? ( iconv )
+ ggi? ( X )
+ libass? ( truetype )
+ opengl? ( X )
+ osdmenu? ( X )
+ truetype? ( iconv )
+ vdpau? ( X )
+ vidix? ( X )
+ xinerama? ( X )
+ xscreensaver? ( X )
+ xv? ( X )"
+RESTRICT="faac? ( bindist )"
+
+pkg_setup() {
+ if [[ ${PV} == *9999* ]]; then
+ elog
+ elog "This is a live ebuild which installs the latest from upstream's"
+ elog "subversion repository, and is unsupported by Gentoo."
+ elog "Everything but bugs in the ebuild itself will be ignored."
+ elog
+ fi
+
+ if use cpudetection; then
+ ewarn
+ ewarn "You've enabled the cpudetection flag. This feature is"
+ ewarn "included mainly for people who want to use the same"
+ ewarn "binary on another system with a different CPU architecture."
+ ewarn "MPlayer will already detect your CPU settings by default at"
+ ewarn "buildtime; this flag is used for runtime detection."
+ ewarn "You won't need this turned on if you are only building"
+ ewarn "mplayer for this system. Also, if your compile fails, try"
+ ewarn "disabling this use flag."
+ fi
+}
+
+src_unpack() {
+ if [[ ${PV} == *9999* ]]; then
+ subversion_src_unpack
+
+ cd "${WORKDIR}" || die
+ rm -rf "${WORKDIR}/${P}/ffmpeg/" || die
+ ( EGIT_CHECKOUT_DIR="${WORKDIR}/${P}/ffmpeg/" git-r3_src_unpack )
+ else
+ unpack ${A}
+ fi
+
+ if [[ ${PV} == *9999* || "${PV%_rc*}" == "${PV}" ]]; then
+ cd "${S}" || die
+ cp "${FILESDIR}/dump_ffmpeg.sh" . || die
+ chmod +x dump_ffmpeg.sh || die
+ ./dump_ffmpeg.sh
+ fi
+
+ if ! use truetype; then
+ unpack font-arial-iso-8859-1.tar.bz2 \
+ font-arial-iso-8859-2.tar.bz2 \
+ font-arial-cp1250.tar.bz2
+ fi
+}
+
+src_prepare() {
+ default
+
+ local svf=snapshot_version
+ if [[ ${PV} == *9999* ]]; then
+ # Set SVN version manually
+ subversion_wc_info
+ printf "${ESVN_WC_REVISION}" > ${svf} || die
+ fi
+
+ if [[ ! -f VERSION ]]; then
+ [[ -f "${svf}" ]] || die "Missing ${svf}. Did you generate your snapshot with prepare_mplayer.sh?"
+
+ local sv=$(<${svf})
+ printf "SVN-r${sv} (Gentoo)" > VERSION || die
+ fi
+
+ # Fix path to bash executable in configure scripts
+ sed -i -e "1c\#!${EPREFIX}/bin/bash" configure version.sh || die
+
+ # Use sane default for >=virtual/udev-197
+ sed -i -e '/default_dvd_device/s:/dev/dvd:/dev/cdrom:' configure || die
+}
+
+src_configure() {
+ # undefined reference to `sse_int32_map_factor' etc
+ # https://bugs.gentoo.org/650458
+ # https://trac.mplayerhq.hu/ticket/2408
+ use libass && use cpu_flags_x86_sse4_1 && filter-lto
+
+ local myconf=()
+ local uses i
+
+ # Set LINGUAS
+ [[ -n ${LINGUAS} ]] && LINGUAS="${LINGUAS/da/dk}"
+ [[ -n ${LINGUAS} ]] && LINGUAS="${LINGUAS/zh/zh_CN}" # bug #482968
+
+ # mplayer ebuild uses "use foo || --disable-foo" to forcibly disable
+ # compilation in almost every situation. The reason for this is
+ # because if --enable is used, it will force the build of that option,
+ # regardless of whether the dependency is available or not.
+
+ #####################
+ # Optional features #
+ #####################
+ # Disable svga since we don't want it
+ # Disable arts since we don't have kde3
+ # Always disable internal ass
+ # Disable opus and ilbc since it only controls support in internal
+ # ffmpeg which we do not use
+ myconf+=(
+ --disable-arts
+ --disable-ass-internal
+ --disable-directfb
+ --disable-kai
+ --disable-libilbc
+ --disable-libnut
+ --disable-libopus
+ --disable-svga --disable-svgalib_helper
+ --disable-xvmc
+ $(use_enable network networking)
+ $(use_enable joystick)
+ )
+
+ uses="bl bluray enca ftp rtc vcd" # nemesi <- not working with in-tree ebuild
+ myconf+=( --disable-nemesi ) # nemesi automagic disable
+ for i in ${uses}; do
+ use ${i} || myconf+=( --disable-${i} )
+ done
+ use bidi || myconf+=( --disable-fribidi )
+ use ipv6 || myconf+=( --disable-inet6 )
+ use libass || myconf+=( --disable-ass )
+ use rar || myconf+=( --disable-unrarexec )
+ use samba || myconf+=( --disable-smb )
+ use lirc || myconf+=( --disable-lirc --disable-lircc --disable-apple-ir )
+
+ # libcdio support: prefer libcdio over cdparanoia
+ # don't check for cddb w/cdio
+ if use cdio; then
+ myconf+=( --disable-cdparanoia )
+ else
+ myconf+=( --disable-libcdio )
+ use cdparanoia || myconf+=( --disable-cdparanoia )
+ use cddb || myconf+=( --disable-cddb )
+ fi
+
+ ################################
+ # DVD read, navigation support #
+ ################################
+ #
+ # dvdread - accessing a DVD
+ # dvdnav - navigation of menus
+ use dvd || myconf+=( --disable-dvdread )
+ use dvdnav || myconf+=( --disable-dvdnav )
+
+ #############
+ # Subtitles #
+ #############
+ #
+ # SRT/ASS/SSA (subtitles) requires freetype support
+ # freetype support requires iconv
+ # iconv optionally can use unicode
+ use truetype || myconf+=( --disable-freetype )
+ use iconv || myconf+=( --disable-iconv --charset=noconv )
+ use iconv && use unicode && myconf+=( --charset=UTF-8 )
+
+ #####################################
+ # DVB / Video4Linux / Radio support #
+ #####################################
+ myconf+=( --disable-tv-bsdbt848 )
+ # gone since linux-headers-2.6.38
+ myconf+=( --disable-tv-v4l1 )
+ if { use dvb || use v4l || use pvr || use radio; }; then
+ use dvb || myconf+=( --disable-dvb )
+ use pvr || myconf+=( --disable-pvr )
+ use v4l || myconf+=( --disable-tv-v4l2 )
+ if use radio && { use dvb || use v4l; }; then
+ myconf+=(
+ --enable-radio
+ $(use_enable encode radio-capture)
+ )
+ else
+ myconf+=(
+ --disable-radio-v4l2
+ --disable-radio-bsdbt848
+ )
+ fi
+ else
+ myconf+=(
+ --disable-tv
+ --disable-tv-v4l2
+ --disable-radio
+ --disable-radio-v4l2
+ --disable-radio-bsdbt848
+ --disable-dvb
+ --disable-v4l2
+ --disable-pvr
+ )
+ fi
+
+ ##########
+ # Codecs #
+ ##########
+ myconf+=( --disable-musepack ) # Use internal musepack codecs for SV7 and SV8 support
+ myconf+=( --disable-libmpeg2-internal ) # always use system media-libs/libmpeg2
+ myconf+=( --disable-gif ) # relies on to-be-removed giflib internals https://sourceforge.net/p/giflib/bugs/132/
+ use dts || myconf+=( --disable-libdca )
+ if ! use mp3; then
+ myconf+=(
+ --disable-mp3lame
+ --disable-mpg123
+ )
+ fi
+ uses="a52 bs2b dv gsm lzo rtmp vorbis"
+ for i in ${uses}; do
+ use ${i} || myconf+=( --disable-lib${i} )
+ done
+
+ uses="faad jpeg libmpeg2 live mad mng png pnm speex tga theora tremor"
+ for i in ${uses}; do
+ use ${i} || myconf+=( --disable-${i} )
+ done
+ # Pulls an outdated libopenjpeg, ffmpeg provides better support for it
+ myconf+=( --disable-libopenjpeg )
+
+ # Encoding
+ uses="faac x264 xvid toolame twolame"
+ if use encode; then
+ for i in ${uses}; do
+ use ${i} || myconf+=( --disable-${i} )
+ done
+ else
+ myconf+=( --disable-mencoder )
+ for i in ${uses}; do
+ myconf+=( --disable-${i} )
+ use ${i} && elog "Useflag \"${i}\" will only be useful for encoding, i.e., with \"encode\" useflag enabled."
+ done
+ fi
+
+ #################
+ # Binary codecs #
+ #################
+ myconf+=( --disable-qtx --disable-real --disable-win32dll )
+
+ ################
+ # Video Output #
+ ################
+ uses="md5sum sdl yuv4mpeg"
+ for i in ${uses}; do
+ use ${i} || myconf+=( --disable-${i} )
+ done
+ use aalib || myconf+=( --disable-aa )
+ use fbcon || myconf+=( --disable-fbdev )
+ use libcaca || myconf+=( --disable-caca )
+ use zoran || myconf+=( --disable-zr )
+
+ if ! use kernel_linux || ! use video_cards_mga; then
+ myconf+=( --disable-mga --disable-xmga )
+ fi
+
+ myconf+=(
+ --disable-3dfx
+ --disable-tdfxvid
+ --disable-tdfxfb
+ )
+
+ # sun card, disable by default, see bug #258729
+ myconf+=( --disable-xvr100 )
+
+ ################
+ # Audio Output #
+ ################
+ myconf+=( --disable-esd )
+ uses="alsa jack ladspa nas openal"
+ for i in ${uses}; do
+ use ${i} || myconf+=( --disable-${i} )
+ done
+ use pulseaudio || myconf+=( --disable-pulse )
+ if ! use radio; then
+ use oss || myconf+=( --disable-ossaudio )
+ fi
+
+ ####################
+ # Advanced Options #
+ ####################
+ # Platform specific flags, hardcoded on amd64 (see below)
+ use cpudetection && myconf+=( --enable-runtime-cpudetection )
+
+ local x86_uses="3dnow 3dnowext avx avx2 fma3 fma4 mmx mmxext sse sse2 sse3 ssse3 xop"
+ for i in ${x86_uses}; do
+ myconf+=( $(use_enable cpu_flags_x86_${i} ${i}) )
+ done
+ myconf+=(
+ $(use_enable cpu_flags_x86_sse4_1 sse4)
+ $(use_enable cpu_flags_x86_sse4_2 sse42)
+ )
+
+ myconf+=(
+ $(use_enable cpu_flags_arm_iwmmxt iwmmxt)
+ $(use_enable cpu_flags_arm_thumb thumb)
+ $(use_enable cpu_flags_arm_neon neon)
+ $(use_enable cpu_flags_arm_vfp armvfp)
+ $(use_enable cpu_flags_arm_vfpv3 vfpv3)
+ $(use_enable cpu_flags_ppc_altivec altivec)
+ $(use_enable shm)
+ )
+
+ use debug && myconf+=( --enable-debug=3 )
+
+ if use x86 && gcc-specs-pie; then
+ filter-flags -fPIC -fPIE
+ append-ldflags -nopie
+ fi
+
+ ###########################
+ # X enabled configuration #
+ ###########################
+ myconf+=( --disable-gui )
+ myconf+=( --disable-vesa )
+ uses="ggi vdpau xinerama xv"
+ for i in ${uses}; do
+ use ${i} || myconf+=( --disable-${i} )
+ done
+ use dga || myconf+=( --disable-dga1 --disable-dga2 )
+ use opengl || myconf+=( --disable-gl )
+ use osdmenu && myconf+=( --enable-menu )
+ use vidix || myconf+=( --disable-vidix --disable-vidix-pcidb )
+ use xscreensaver || myconf+=( --disable-xss )
+ use X || myconf+=( --disable-x11 )
+
+ ############################
+ # OSX (aqua) configuration #
+ ############################
+ if use aqua; then
+ myconf+=(
+ --enable-macosx-finder
+ --enable-macosx-bundle
+ )
+ fi
+
+ # Note: --enable-gnutls only makes sense with --enable-ffmpeg_a
+ edo ./configure \
+ --cc="$(tc-getCC)" \
+ --host-cc="$(tc-getBUILD_CC)" \
+ --prefix="${EPREFIX}/usr" \
+ --bindir="${EPREFIX}/usr/bin" \
+ --libdir="${EPREFIX}/usr/$(get_libdir)" \
+ --confdir="${EPREFIX}/etc/mplayer" \
+ --datadir="${EPREFIX}/usr/share/mplayer${namesuf}" \
+ --mandir="${EPREFIX}/usr/share/man" \
+ --disable-ffmpeg_a \
+ --disable-gnutls \
+ "${myconf[@]}"
+}
+
+src_compile() {
+ default
+
+ # Build only user-requested docs if they're available.
+ if use doc ; then
+ # Select available languages from ${LINGUAS}
+ local ALLOWED_LINGUAS="cs de en es fr hu it pl ru zh_CN"
+ local BUILT_DOCS=()
+ local i
+
+ for i in ${LINGUAS} ; do
+ has ${i} ${ALLOWED_LINGUAS} && BUILT_DOCS+=( ${i} )
+ done
+
+ if [[ -z ${BUILT_DOCS[@]} ]]; then
+ emake -j1 html-chunked
+ else
+ for i in ${BUILT_DOCS[@]}; do
+ emake -j1 html-chunked-${i}
+ done
+ fi
+ fi
+}
+
+src_install() {
+ local i
+
+ emake \
+ DESTDIR="${D}" \
+ INSTALLSTRIP="" \
+ install
+
+ dodoc AUTHORS Changelog Copyright README etc/codecs.conf
+
+ docinto tech/
+ dodoc DOCS/tech/{*.txt,MAINTAINERS,mpsub.sub,playtree,TODO,wishlist}
+ docinto TOOLS/
+ dodoc -r TOOLS/*
+ docinto tech/mirrors/
+ dodoc DOCS/tech/mirrors/*
+
+ if use doc; then
+ docinto html/
+ dodoc -r "${S}"/DOCS/HTML/*
+ fi
+
+ if ! use truetype; then
+ dodir /usr/share/mplayer/fonts
+
+ # Do this generic, as the mplayer people like to change the structure
+ # of their zips ...
+ local i
+ for i in $(find "${WORKDIR}/" -type d -name 'font-arial-*'); do
+ cp -pPR "${i}" "${ED}/usr/share/mplayer/fonts"
+ done
+
+ # Fix the font symlink ...
+ rm -rf "${ED}/usr/share/mplayer/font"
+ dosym fonts/font-arial-14-iso-8859-1 /usr/share/mplayer/font
+ fi
+
+ insinto /etc/mplayer
+ newins "${S}/etc/example.conf" mplayer.conf
+ cat >> "${ED}/etc/mplayer/mplayer.conf" <<- _EOF_
+ # Config options can be section specific, global
+ # options should go in the default section
+ [default]
+ _EOF_
+
+ doins "${S}/etc/input.conf"
+ if use osdmenu; then
+ doins "${S}/etc/menu.conf"
+ fi
+
+ if use truetype; then
+ cat >> "${ED}/etc/mplayer/mplayer.conf" <<- _EOF_
+ fontconfig=1
+ subfont-osd-scale=4
+ subfont-text-scale=3
+ _EOF_
+ fi
+
+ # bug #256203
+ if use rar; then
+ cat >> "${ED}/etc/mplayer/mplayer.conf" <<- _EOF_
+ unrarexec=${EPREFIX}/usr/bin/unrar
+ _EOF_
+ fi
+
+ dosym -r /etc/mplayer/mplayer.conf /usr/share/mplayer/mplayer.conf
+ newbin "${S}/TOOLS/midentify.sh" midentify
+}
+
+pkg_preinst() {
+ [[ -d ${EROOT}/usr/share/mplayer/Skin/default ]] && \
+ rm -rf "${EROOT}/usr/share/mplayer/Skin/default"
+}
+
+pkg_postrm() {
+ # Cleanup stale symlinks
+ [[ -L "${EROOT}/usr/share/mplayer/font" &&
+ ! -e "${EROOT}/usr/share/mplayer/font" ]] && \
+ rm -f "${EROOT}/usr/share/mplayer/font"
+
+ [[ -L "${EROOT}/usr/share/mplayer/subfont.ttf" &&
+ ! -e "${EROOT}/usr/share/mplayer/subfont.ttf" ]] && \
+ rm -f "${EROOT}/usr/share/mplayer/subfont.ttf"
+}
diff --git a/media-video/mplayer/mplayer-9999.ebuild b/media-video/mplayer/mplayer-9999.ebuild
index c938cefbf668..b7e9b5420e81 100644
--- a/media-video/mplayer/mplayer-9999.ebuild
+++ b/media-video/mplayer/mplayer-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -11,12 +11,16 @@ if [[ ${PV} == *9999* ]]; then
RELEASE_URI=""
inherit subversion git-r3
-elif [[ "${PV%_rc*}" == "${PV}" && "${PV%_pre*}" == "${PV}" ]]; then
+elif [[ "${PV%_rc*}" == "${PV}" && "${PV%_pre*}" == "${PV}" && "${PV%_p*}" == "${PV}" ]]; then
MY_P="MPlayer-${PV}"
S="${WORKDIR}/${MY_P}"
RELEASE_URI="mirror://mplayer/releases/${MY_P}.tar.xz"
else
- RELEASE_URI="mirror://gentoo/${P}.tar.xz"
+ # If necessary, don't be afraid to make a snapshot.
+ # http://www.mplayerhq.hu/design7/dload.html says:
+ # "We recommend to always use the latest SVN to get the all the new
+ # features and bugfixes, especially if the release date above looks old."
+ RELEASE_URI="https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}.tar.xz"
fi
FONT_URI="
@@ -32,12 +36,15 @@ SRC_URI="
!truetype? ( ${FONT_URI} )
"
-IUSE="cpu_flags_x86_avx cpu_flags_x86_avx2 cpu_flags_x86_fma3 cpu_flags_x86_fma4"
+IUSE="cpu_flags_x86_avx cpu_flags_x86_avx2"
+IUSE+=" cpu_flags_x86_fma3 cpu_flags_x86_fma4"
IUSE+=" cpu_flags_x86_mmx cpu_flags_x86_mmxext"
IUSE+=" cpu_flags_x86_sse cpu_flags_x86_sse2 cpu_flags_x86_sse3 cpu_flags_x86_ssse3 cpu_flags_x86_sse4_1"
IUSE+=" cpu_flags_x86_sse4_2 cpu_flags_x86_xop"
IUSE+=" cpu_flags_x86_3dnow cpu_flags_x86_3dnowext"
+IUSE+=" cpu_flags_arm_thumb cpu_flags_arm_neon cpu_flags_arm_vfp cpu_flags_arm_vfpv3"
+IUSE+=" cpu_flags_arm_iwmmxt"
IUSE+=" cpu_flags_ppc_altivec"
IUSE+=" a52 aalib +alsa aqua bidi bl bluray"
@@ -141,12 +148,12 @@ RDEPEND="
DEPEND="
${RDEPEND}
dga? ( x11-base/xorg-proto )
- dvb? ( virtual/linuxtv-dvb-headers )
+ dvb? ( sys-kernel/linux-headers )
X? ( x11-base/xorg-proto )
xinerama? ( x11-base/xorg-proto )
xscreensaver? ( x11-base/xorg-proto )
"
-ASM_DEP="dev-lang/yasm"
+ASM_DEP="dev-lang/nasm"
BDEPEND="
virtual/pkgconfig
amd64? ( ${ASM_DEP} )
@@ -259,12 +266,17 @@ src_prepare() {
}
src_configure() {
+ # undefined reference to `sse_int32_map_factor' etc
+ # https://bugs.gentoo.org/650458
+ # https://trac.mplayerhq.hu/ticket/2408
+ use libass && use cpu_flags_x86_sse4_1 && filter-lto
+
local myconf=()
local uses i
# Set LINGUAS
[[ -n ${LINGUAS} ]] && LINGUAS="${LINGUAS/da/dk}"
- [[ -n ${LINGUAS} ]] && LINGUAS="${LINGUAS/zh/zh_CN}" #482968
+ [[ -n ${LINGUAS} ]] && LINGUAS="${LINGUAS/zh/zh_CN}" # bug #482968
# mplayer ebuild uses "use foo || --disable-foo" to forcibly disable
# compilation in almost every situation. The reason for this is
@@ -457,14 +469,21 @@ src_configure() {
# Platform specific flags, hardcoded on amd64 (see below)
use cpudetection && myconf+=( --enable-runtime-cpudetection )
- uses="3dnow 3dnowext avx avx2 fma3 fma4 mmx mmxext sse sse2 sse3 ssse3 xop"
- for i in ${uses}; do
+ local x86_uses="3dnow 3dnowext avx avx2 fma3 fma4 mmx mmxext sse sse2 sse3 ssse3 xop"
+ for i in ${x86_uses}; do
myconf+=( $(use_enable cpu_flags_x86_${i} ${i}) )
done
- myconf+=( $(use_enable cpu_flags_x86_sse4_1 sse4) )
- myconf+=( $(use_enable cpu_flags_x86_sse4_2 sse42) )
+ myconf+=(
+ $(use_enable cpu_flags_x86_sse4_1 sse4)
+ $(use_enable cpu_flags_x86_sse4_2 sse42)
+ )
myconf+=(
+ $(use_enable cpu_flags_arm_iwmmxt iwmmxt)
+ $(use_enable cpu_flags_arm_thumb thumb)
+ $(use_enable cpu_flags_arm_neon neon)
+ $(use_enable cpu_flags_arm_vfp armvfp)
+ $(use_enable cpu_flags_arm_vfpv3 vfpv3)
$(use_enable cpu_flags_ppc_altivec altivec)
$(use_enable shm)
)
@@ -599,7 +618,7 @@ src_install() {
_EOF_
fi
- # bug 256203
+ # bug #256203
if use rar; then
cat >> "${ED}/etc/mplayer/mplayer.conf" <<- _EOF_
unrarexec=${EPREFIX}/usr/bin/unrar
diff --git a/media-video/mpv/Manifest b/media-video/mpv/Manifest
index 17ec75c9053d..0e7c6d471455 100644
--- a/media-video/mpv/Manifest
+++ b/media-video/mpv/Manifest
@@ -1,4 +1,2 @@
-DIST mpv-0.34.1.tar.gz 3288356 BLAKE2B c0e5dc3cd23307449a526bd2cf0df5d870322aa1914a139784fd50d77274d42648a769ee4da3ba74e34a7a080700a5740dae13ed0827df1b3cfef36846f983ab SHA512 77ea349d6999f8cce9b5cce4cebd3506a224fc18ab08d22dd16bd34c34d012bb170879b268ddd62db40d116b4cc0b2d9d651b8097f387ed9115c426834cac77e
-DIST mpv-0.35.0.tar.gz 3365752 BLAKE2B 9b8dca943fc60a68f8474549d75c021dd9157195253c5ec09721969e500b2756c033e86975499f5632f0c943ac7bb54699f47340f0dee73d7284668d4419b17f SHA512 d5c1f734057f6b6c27e7f59de43cf7c0e7f813d842b8c7fd2ae1073dbe649c8187b7686df4efe928db2952e9f1efc171245e6f8780c1d9f174f4d7abff1e073a
-DIST mpv-0.35.1.tar.gz 3367913 BLAKE2B 706a2031a2ca973eb3a092ec7f62ba40ca4dfd78e3ffe5d6e432486b0018852b034152a21805be594054178ccb17856dafe2b860cddcc22d27df895d163871de SHA512 42f3564a9ed4d972d14b2c697b0163f06a8bb68a0606a86c34935181247c783e3cb62286b445799998def0919fb13fce8b8f6453f82652d5bfaea5929119127a
-DIST waf-2.0.22 104880 BLAKE2B 6cae9e764712012ef97f790c723b86a2603dc64e9bafcec02c5251dbc1b23ec629db26c02eee2a72a77cf70c11d2729a626ea71f3cb50a6281257fd6f63eadf0 SHA512 4156cefa65b7e6349ddb1ca643bbdf3e4444449d137e5f595535564271d521362291f257765329015671584ac2c596a0ad98cfdbd621f5d5352141a55d384292
+DIST mpv-0.37.0.tar.gz 3384190 BLAKE2B 31d8d47ed7ae94540189fe05b7ea63f5b0d5c987a22191f931e4bd90664d05dca4c7e0bd0e05fcdf48b977e38e5f8eec0d2572265f2cf4a969a8a9a9dbf83d68 SHA512 a2f7fb3837312ec59c50427af7be3b2b1b6175a53ccc7463e81503284fc4047dff32cb105d665d80be77ee1ae775d4512b71584f324d6d202c9a7fc1fab53257
+DIST mpv-0.38.0.tar.gz 3419741 BLAKE2B 3ff59d30bc305394f58a1fff4f24540aa3be9412bc3cad27bec0c3478f4b7c13190e26847f38edc52996bb9f9a36dd6832c6fccebd6d873058acf78a320e42e4 SHA512 b5b2af59039ef4711814f94bbdfedb37f8ce914301670e42d4ed05fe1900025a3d3a2f3d5e69628a8aad115a647a27c386718959e2df1a18740468b3a84f8975
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
new file mode 100644
index 000000000000..7e10c07eebc1
--- /dev/null
+++ b/media-video/mpv/files/mpv-0.37.0-drm-fix.patch
@@ -0,0 +1,41 @@
+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/files/mpv-0.37.0-ffmpeg7.patch b/media-video/mpv/files/mpv-0.37.0-ffmpeg7.patch
new file mode 100644
index 000000000000..3ac8d9b7b8dc
--- /dev/null
+++ b/media-video/mpv/files/mpv-0.37.0-ffmpeg7.patch
@@ -0,0 +1,45 @@
+https://github.com/mpv-player/mpv/pull/13659
+From: Dudemanguy <random342@airmail.cc>
+Date: Thu, 7 Mar 2024 13:42:25 -0600
+Subject: [PATCH 1/2] ad_spdif: handle const buf pointee in avio_alloc_context
+
+ffmpeg recently changed this field to be const which causes our CI to
+fail on newer versions.
+
+See: https://github.com/FFmpeg/FFmpeg/commit/2a68d945cd74265bb71c3d38b7a2e7f7d7e87be5
+--- a/audio/decode/ad_spdif.c
++++ b/audio/decode/ad_spdif.c
+@@ -59,7 +59,11 @@ struct spdifContext {
+ struct mp_decoder public;
+ };
+
++#if LIBAVCODEC_VERSION_MAJOR < 61
+ static int write_packet(void *p, uint8_t *buf, int buf_size)
++#else
++static int write_packet(void *p, const uint8_t *buf, int buf_size)
++#endif
+ {
+ struct spdifContext *ctx = p;
+
+
+From 7f9eabfb023611565db8b6cce9a3473a6eb6c731 Mon Sep 17 00:00:00 2001
+From: Dudemanguy <random342@airmail.cc>
+Date: Thu, 7 Mar 2024 14:12:15 -0600
+Subject: [PATCH 2/2] filters/f_lavfi: handle removed
+ AV_OPT_TYPE_CHANNEL_LAYOUT
+
+See: https://github.com/FFmpeg/FFmpeg/commit/65ddc74988245a01421a63c5cffa4d900c47117c
+--- a/filters/f_lavfi.c
++++ b/filters/f_lavfi.c
+@@ -1034,7 +1034,11 @@ static const char *get_avopt_type_name(enum AVOptionType type)
+ case AV_OPT_TYPE_VIDEO_RATE: return "fps";
+ case AV_OPT_TYPE_DURATION: return "duration";
+ case AV_OPT_TYPE_COLOR: return "color";
++#if LIBAVUTIL_VERSION_MAJOR < 59
+ case AV_OPT_TYPE_CHANNEL_LAYOUT: return "channellayout";
++#else
++ case AV_OPT_TYPE_CHLAYOUT: return "channellayout";
++#endif
+ case AV_OPT_TYPE_BOOL: return "bool";
+ case AV_OPT_TYPE_CONST: // fallthrough
+ default:
diff --git a/media-video/mpv/metadata.xml b/media-video/mpv/metadata.xml
index 6813c210d437..4fb09acf0a6a 100644
--- a/media-video/mpv/metadata.xml
+++ b/media-video/mpv/metadata.xml
@@ -9,13 +9,9 @@
<flag name="archive">Enable support for various archive formats via <pkg>app-arch/libarchive</pkg></flag>
<flag name="bluray">Enable playback of Blu-ray filesystems</flag>
<flag name="cli">Enable the command-line player</flag>
- <flag name="cplugins">Enable C plugins support</flag>
<flag name="drm">Enable Kernel Mode Setting / Direct Rendering Manager based video outputs</flag>
- <flag name="egl">Enable support for various EGL-based video outputs / backends</flag>
<flag name="gamepad">Enable gamepad input support</flag>
- <flag name="gbm">Enable Graphics Buffer Manager based EGL video backend</flag>
<flag name="libmpv">Enable the shared library and headers (used by frontends / plugins)</flag>
- <flag name="libplacebo">Enable support for GPU accelerated video rendering with <pkg>media-libs/libplacebo</pkg></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
@@ -27,9 +23,9 @@
(Note: these outputs exist for compatibility reasons only, avoid if possible)</flag>
<flag name="sixel">Enable support for the sixel video backend using <pkg>media-libs/libsixel</pkg></flag>
<flag name="sndio">Enable sound support via <pkg>media-sound/sndio</pkg></flag>
+ <flag name="soc">Use additional <pkg>media-video/ffmpeg</pkg> patches for efficient playback on some SoCs (e.g. ARM, RISC-V)</flag>
<flag name="tools">Install extra tools: mpv_identify.sh, mpv_idet.sh, and umpv</flag>
<flag name="uchardet">Enable subtitles charset discovery via <pkg>app-i18n/uchardet</pkg></flag>
- <flag name="vulkan">Enable support for Vulkan-based video backends</flag>
<flag name="zimg">Enable libzimg support (for vf_fingerprint)</flag>
</use>
<upstream>
diff --git a/media-video/mpv/mpv-0.34.1-r1.ebuild b/media-video/mpv/mpv-0.34.1-r1.ebuild
deleted file mode 100644
index 529896f60781..000000000000
--- a/media-video/mpv/mpv-0.34.1-r1.ebuild
+++ /dev/null
@@ -1,359 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-LUA_COMPAT=( lua5-{1..2} luajit )
-PYTHON_COMPAT=( python3_{9..11} )
-PYTHON_REQ_USE='threads(+)'
-
-WAF_PV=2.0.22
-
-inherit bash-completion-r1 flag-o-matic lua-single optfeature pax-utils python-r1 toolchain-funcs waf-utils xdg-utils
-
-DESCRIPTION="Media player based on MPlayer and mplayer2"
-HOMEPAGE="https://mpv.io/ https://github.com/mpv-player/mpv"
-
-if [[ ${PV} != *9999* ]]; then
- SRC_URI="https://github.com/mpv-player/mpv/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~loong ppc ppc64 ~riscv x86 ~amd64-linux"
- DOCS=( RELEASE_NOTES )
-else
- EGIT_REPO_URI="https://github.com/mpv-player/mpv.git"
- inherit git-r3
- DOCS=(); SRC_URI=""
-fi
-SRC_URI+=" https://waf.io/waf-${WAF_PV}"
-DOCS+=( README.md DOCS/{client-api,interface}-changes.rst )
-
-# See Copyright in sources and Gentoo bug 506946. Waf is BSD, libmpv is ISC.
-LICENSE="LGPL-2.1+ GPL-2+ BSD ISC"
-SLOT="0"
-IUSE="+alsa aqua archive bluray cdda +cli coreaudio cplugins debug doc drm dvb
- dvd +egl gamepad gbm +iconv jack javascript jpeg lcms libcaca libmpv +lua
- nvenc openal +opengl pulseaudio raspberry-pi rubberband sdl
- selinux test tools +uchardet vaapi vdpau vulkan wayland +X +xv zlib zimg"
-
-REQUIRED_USE="
- || ( cli libmpv )
- aqua? ( opengl )
- egl? ( || ( gbm X wayland ) )
- gamepad? ( sdl )
- gbm? ( drm egl opengl )
- lcms? ( opengl )
- lua? ( ${LUA_REQUIRED_USE} )
- nvenc? ( opengl )
- opengl? ( || ( aqua egl X raspberry-pi !cli ) )
- raspberry-pi? ( opengl )
- test? ( opengl )
- tools? ( cli )
- uchardet? ( iconv )
- vaapi? ( || ( gbm X wayland ) )
- vdpau? ( X )
- vulkan? ( || ( X wayland ) )
- wayland? ( egl )
- X? ( egl? ( opengl ) )
- xv? ( X )
- ${PYTHON_REQUIRED_USE}
-"
-
-RESTRICT="!test? ( test )"
-
-COMMON_DEPEND="
- >=media-video/ffmpeg-4.0:0=[encode,threads,vaapi?,vdpau?]
- alsa? ( >=media-libs/alsa-lib-1.0.18 )
- archive? ( >=app-arch/libarchive-3.4.0:= )
- bluray? ( >=media-libs/libbluray-0.3.0:= )
- cdda? ( dev-libs/libcdio-paranoia
- dev-libs/libcdio:= )
- drm? ( x11-libs/libdrm )
- dvd? (
- >=media-libs/libdvdnav-4.2.0:=
- >=media-libs/libdvdread-4.1.0:=
- )
- egl? ( media-libs/mesa[egl(+),gbm(+)?,wayland(-)?] )
- gamepad? ( media-libs/libsdl2 )
- iconv? (
- virtual/libiconv
- uchardet? ( app-i18n/uchardet )
- )
- jack? ( virtual/jack )
- javascript? ( >=dev-lang/mujs-1.0.0 )
- jpeg? ( virtual/jpeg:0 )
- lcms? ( >=media-libs/lcms-2.6:2 )
- >=media-libs/libass-0.12.1:=[fontconfig,harfbuzz(+)]
- virtual/ttf-fonts
- libcaca? ( >=media-libs/libcaca-0.99_beta18 )
- lua? ( ${LUA_DEPS} )
- openal? ( >=media-libs/openal-1.13 )
- pulseaudio? ( media-sound/pulseaudio )
- raspberry-pi? ( >=media-libs/raspberrypi-userland-0_pre20160305-r1 )
- rubberband? ( >=media-libs/rubberband-1.8.0 )
- sdl? ( media-libs/libsdl2[sound,threads,video] )
- vaapi? ( media-libs/libva:=[drm(+)?,X?,wayland?] )
- vdpau? ( x11-libs/libvdpau )
- vulkan? (
- >=media-libs/libplacebo-3.104.0:=[vulkan]
- <media-libs/libplacebo-5
- media-libs/shaderc
- )
- wayland? (
- >=dev-libs/wayland-1.6.0
- >=dev-libs/wayland-protocols-1.14
- >=x11-libs/libxkbcommon-0.3.0
- )
- X? (
- x11-libs/libX11
- x11-libs/libXScrnSaver
- x11-libs/libXext
- x11-libs/libXinerama
- x11-libs/libXrandr
- opengl? (
- x11-libs/libXdamage
- virtual/opengl
- )
- xv? ( x11-libs/libXv )
- )
- zlib? ( sys-libs/zlib )
- zimg? ( >=media-libs/zimg-2.9.2 )
-"
-DEPEND="${COMMON_DEPEND}
- ${PYTHON_DEPS}
- dvb? ( virtual/linuxtv-dvb-headers )
- nvenc? ( >=media-libs/nv-codec-headers-8.2.15.7 )
-"
-RDEPEND="${COMMON_DEPEND}
- nvenc? ( x11-drivers/nvidia-drivers[X] )
- selinux? ( sec-policy/selinux-mplayer )
- tools? ( ${PYTHON_DEPS} )
-"
-BDEPEND="dev-python/docutils
- virtual/pkgconfig
- test? ( >=dev-util/cmocka-1.0.0 )
-"
-
-pkg_setup() {
- use lua && lua-single_pkg_setup
-}
-
-src_prepare() {
- cp "${DISTDIR}/waf-${WAF_PV}" "${S}"/waf || die
- chmod +x "${S}"/waf || die
- default
-}
-
-src_configure() {
- python_setup
- tc-export CC PKG_CONFIG AR
-
- if use raspberry-pi; then
- append-cflags -I"${ESYSROOT}/opt/vc/include"
- append-ldflags -L"${ESYSROOT}/opt/vc/lib"
- fi
-
- local mywafargs=(
- --confdir="${EPREFIX}/etc/${PN}"
-
- $(usex cli '' '--disable-cplayer')
- $(use_enable libmpv libmpv-shared)
-
- --disable-libmpv-static
- --disable-static-build
- # See deep down below for build-date.
- --disable-optimize # Don't add '-O2' to CFLAGS.
- $(usex debug '' '--disable-debug-build')
-
- $(use_enable doc html-build)
- --disable-pdf-build
- --enable-manpage-build
- $(use_enable cplugins)
- $(use_enable test)
-
- $(use_enable iconv)
- $(use_enable lua)
- $(use_enable javascript)
- $(use_enable zlib)
- $(use_enable bluray libbluray)
- $(use_enable dvd dvdnav)
- $(use_enable cdda)
- $(use_enable uchardet)
- $(use_enable rubberband)
- $(use_enable lcms lcms2)
- --disable-vapoursynth # Only available in overlays.
- $(use_enable archive libarchive)
-
- --enable-libavdevice
-
- # Audio outputs:
- $(use_enable sdl sdl2) # Listed under audio, but also includes video.
- $(use_enable pulseaudio pulse)
- $(use_enable jack)
- $(use_enable openal)
- --disable-opensles
- $(use_enable alsa)
- $(use_enable coreaudio)
-
- # Video outputs:
- $(use_enable aqua cocoa)
- $(use_enable drm)
- $(use_enable gbm)
- $(use_enable wayland wayland-scanner)
- $(use_enable wayland wayland-protocols)
- $(use_enable wayland)
- $(use_enable X x11)
- $(use_enable xv)
- $(usex opengl "$(use_enable aqua gl-cocoa)" '--disable-gl-cocoa')
- $(usex opengl "$(use_enable X gl-x11)" '--disable-gl-x11')
- $(usex egl "$(use_enable X egl-x11)" '--disable-egl-x11')
- $(usex egl "$(use_enable gbm egl-drm)" '--disable-egl-drm')
- $(usex opengl "$(use_enable wayland gl-wayland)" '--disable-gl-wayland')
- $(use_enable vdpau)
- $(usex vdpau "$(use_enable opengl vdpau-gl-x11)" '--disable-vdpau-gl-x11')
- $(use_enable vaapi) # See below for vaapi-glx, vaapi-x-egl.
- $(usex vaapi "$(use_enable X vaapi-x11)" '--disable-vaapi-x11')
- $(usex vaapi "$(use_enable wayland vaapi-wayland)" '--disable-vaapi-wayland')
- $(usex vaapi "$(use_enable gbm vaapi-drm)" '--disable-vaapi-drm')
- $(use_enable libcaca caca)
- $(use_enable jpeg)
- $(use_enable vulkan shaderc)
- $(use_enable vulkan libplacebo)
- $(use_enable raspberry-pi rpi)
- $(usex libmpv "$(use_enable opengl plain-gl)" '--disable-plain-gl')
- $(usex opengl '' '--disable-gl')
- $(use_enable vulkan)
- $(use_enable gamepad sdl2-gamepad)
-
- # HWaccels:
- # Automagic Video Toolbox HW acceleration. See Gentoo bug 577332.
- $(use_enable nvenc cuda-hwaccel)
- $(use_enable nvenc cuda-interop)
-
- # TV features:
- $(use_enable dvb dvbin)
-
- # Miscellaneous features:
- $(use_enable zimg)
- )
- if use lua; then
- if use lua_single_target_luajit; then
- mywafargs+=( --lua="luajit" )
- else
- # Because it would be too simple to just let the user directly
- # specify the package name to check, wouldn't it.
- mywafargs+=( --lua="$(ver_rs 1 '' $(ver_cut 1-2 $(lua_get_version)))" )
- fi
- fi
-
- if use vaapi && use X; then
- mywafargs+=(
- $(use_enable egl vaapi-x-egl)
- )
- fi
-
- # Not for us
- mywafargs+=(
- --disable-android
- --disable-egl-android
- --disable-uwp
- --disable-audiounit
- --disable-macos-media-player
- --disable-wasapi
- --disable-ios-gl
- --disable-macos-touchbar
- --disable-macos-cocoa-cb
- --disable-tvos
- --disable-egl-angle-win32
- )
-
- mywafargs+=(
- --bashdir="$(get_bashcompdir)"
- --zshdir="${EPREFIX}"/usr/share/zsh/site-functions
-)
-
- # Create reproducible non-live builds.
- [[ ${PV} != *9999* ]] && mywafargs+=(--disable-build-date)
-
- waf-utils_src_configure "${mywafargs[@]}"
-}
-
-src_install() {
- waf-utils_src_install
-
- if use lua; then
- insinto /usr/share/${PN}
- doins -r TOOLS/lua
- fi
-
- if use cli && use lua_single_target_luajit; then
- pax-mark -m "${ED}"/usr/bin/${PN}
- fi
-
- if use tools; then
- dobin TOOLS/{mpv_identify.sh,umpv}
- newbin TOOLS/idet.sh mpv_idet.sh
- python_replicate_script "${ED}"/usr/bin/umpv
- fi
-}
-
-pkg_postinst() {
- local rv softvol_0_18_1=0 osc_0_21_0=0 txtsubs_0_24_0=0 opengl_0_25_0=0
-
- for rv in ${REPLACING_VERSIONS}; do
- ver_test ${rv} -lt 0.18.1 && softvol_0_18_1=1
- ver_test ${rv} -lt 0.21.0 && osc_0_21_0=1
- ver_test ${rv} -lt 0.24.0 && txtsubs_0_24_0=1
- ver_test ${rv} -lt 0.25.0 && ! use opengl && opengl_0_25_0=1
- done
-
- if [[ ${softvol_0_18_1} -eq 1 ]]; then
- elog "Since version 0.18.1 the software volume control is always enabled."
- elog "This means that volume controls don't change the system volume,"
- elog "e.g. per-application volume with PulseAudio."
- elog "If you want to restore the previous behaviour, please refer to"
- elog
- elog "https://wiki.gentoo.org/wiki/Mpv#Volume_in_0.18.1"
- elog
- fi
-
- if [[ ${osc_0_21_0} -eq 1 ]]; then
- elog "In version 0.21.0 the default OSC layout was changed."
- elog "If you want to restore the previous layout, please refer to"
- elog
- elog "https://wiki.gentoo.org/wiki/Mpv#OSC_in_0.21.0"
- elog
- fi
-
- if [[ ${txtsubs_0_24_0} -eq 1 ]]; then
- elog "Since version 0.24.0 subtitles with .txt extension aren't autoloaded."
- elog "If you want to restore the previous behaviour, please refer to"
- elog
- elog "https://wiki.gentoo.org/wiki/Mpv#Subtitles_with_.txt_extension_in_0.24.0"
- elog
- fi
-
- if [[ ${opengl_0_25_0} -eq 1 ]]; then
- elog "Since version 0.25.0 the 'opengl' USE flag is mapped to"
- elog "the 'opengl' video output and no longer explicitly requires"
- elog "X11 or Mac OS Aqua. Consider enabling the 'opengl' USE flag."
- fi
-
- optfeature "URL support" net-misc/yt-dlp
-
- xdg_icon_cache_update
- xdg_desktop_database_update
-}
-
-pkg_postrm() {
- xdg_icon_cache_update
- xdg_desktop_database_update
-}
-
-src_test() {
- cd "${S}"/build/test || die
- local test
- for test in *; do
- if [[ -x ${test} ]]; then
- ./"${test}" || die "Test suite failed"
- fi
- done
-}
diff --git a/media-video/mpv/mpv-0.35.0-r1.ebuild b/media-video/mpv/mpv-0.37.0-r1.ebuild
index a67b869c76cc..a0cb7dee8450 100644
--- a/media-video/mpv/mpv-0.35.0-r1.ebuild
+++ b/media-video/mpv/mpv-0.37.0-r1.ebuild
@@ -1,18 +1,18 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
LUA_COMPAT=( lua5-1 luajit )
-PYTHON_COMPAT=( python3_{9..11} )
-inherit edo flag-o-matic lua-single meson optfeature pax-utils python-single-r1 xdg
+PYTHON_COMPAT=( python3_{10..12} )
+inherit flag-o-matic lua-single meson optfeature pax-utils python-single-r1 xdg
if [[ ${PV} == 9999 ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/mpv-player/mpv.git"
else
SRC_URI="https://github.com/mpv-player/mpv/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="amd64 ~arm ~arm64 ~loong ppc ppc64 ~riscv x86 ~amd64-linux"
+ KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux"
fi
DESCRIPTION="Media player for the command line"
@@ -23,37 +23,35 @@ 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
- +libplacebo +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}
|| ( cli libmpv )
egl? ( || ( X drm wayland ) )
- libplacebo? ( || ( egl opengl vulkan ) )
lua? ( ${LUA_REQUIRED_USE} )
nvenc? ( || ( egl opengl vulkan ) )
opengl? ( || ( X aqua ) )
test? ( cli )
tools? ( cli )
uchardet? ( iconv )
- vaapi? (
- || ( X egl libplacebo wayland )
- wayland? ( drm )
- )
+ vaapi? ( || ( X drm wayland ) )
vdpau? ( X )
- vulkan? ( || ( X wayland ) libplacebo )
- xv? ( X )"
+ vulkan? ( || ( X wayland ) )
+ xv? ( X )
+"
RESTRICT="!test? ( test )"
COMMON_DEPEND="
media-libs/libass:=[fontconfig]
- media-video/ffmpeg:=[encode,threads,vaapi?,vdpau?]
+ >=media-libs/libplacebo-6.338:=[opengl?,vulkan?]
+ >=media-video/ffmpeg-4.4:=[encode,soc(-)?,threads,vaapi?,vdpau?]
X? (
x11-libs/libX11
x11-libs/libXScrnSaver
x11-libs/libXext
- x11-libs/libXinerama
x11-libs/libXpresent
x11-libs/libXrandr
xv? ( x11-libs/libXv )
@@ -66,14 +64,17 @@ COMMON_DEPEND="
dev-libs/libcdio:=
)
drm? (
- media-libs/mesa[gbm(+)]
x11-libs/libdrm
+ egl? ( media-libs/mesa[gbm(+)] )
)
dvd? (
media-libs/libdvdnav
media-libs/libdvdread:=
)
- egl? ( media-libs/libglvnd )
+ egl? (
+ media-libs/libglvnd
+ media-libs/libplacebo[opengl]
+ )
gamepad? ( media-libs/libsdl2[joystick] )
iconv? (
virtual/libiconv
@@ -84,16 +85,11 @@ COMMON_DEPEND="
jpeg? ( media-libs/libjpeg-turbo:= )
lcms? ( media-libs/lcms:2 )
libcaca? ( media-libs/libcaca )
- libplacebo? (
- >=media-libs/libplacebo-4.202:=[opengl?,vulkan?]
- egl? ( media-libs/libplacebo[opengl] )
- )
lua? ( ${LUA_DEPS} )
openal? ( media-libs/openal )
opengl? ( media-libs/libglvnd[X?] )
pipewire? ( media-video/pipewire:= )
pulseaudio? ( media-libs/libpulse )
- raspberry-pi? ( media-libs/raspberrypi-userland )
rubberband? ( media-libs/rubberband )
sdl? ( media-libs/libsdl2[sound,threads,video] )
sixel? ( media-libs/libsixel )
@@ -110,34 +106,37 @@ COMMON_DEPEND="
x11-libs/libxkbcommon
)
zimg? ( media-libs/zimg )
- zlib? ( sys-libs/zlib:= )"
+ zlib? ( sys-libs/zlib:= )
+"
RDEPEND="
${COMMON_DEPEND}
selinux? ( sec-policy/selinux-mplayer )
- tools? ( ${PYTHON_DEPS} )"
+ tools? ( ${PYTHON_DEPS} )
+"
DEPEND="
${COMMON_DEPEND}
X? ( x11-base/xorg-proto )
- dvb? ( virtual/linuxtv-dvb-headers )
+ dvb? ( sys-kernel/linux-headers )
nvenc? ( media-libs/nv-codec-headers )
- wayland? ( dev-libs/wayland-protocols )"
+ wayland? ( dev-libs/wayland-protocols )
+"
BDEPEND="
${PYTHON_DEPS}
virtual/pkgconfig
cli? ( dev-python/docutils )
- wayland? ( dev-util/wayland-scanner )"
+ wayland? ( dev-util/wayland-scanner )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.37.0-drm-fix.patch
+ "${FILESDIR}"/${PN}-0.37.0-ffmpeg7.patch
+)
pkg_setup() {
use lua && lua-single_pkg_setup
python-single-r1_pkg_setup
}
-src_prepare() {
- default
-
- sed -i "s/'rst2html/&.py/" meson.build || die
-}
-
src_configure() {
if use !debug; then
if use test; then
@@ -147,11 +146,6 @@ src_configure() {
fi
fi
- if use raspberry-pi; then
- append-cflags -I"${ESYSROOT}"/opt/vc/include
- append-ldflags -L"${ESYSROOT}"/opt/vc/lib
- fi
-
mpv_feature_multi() {
local use set
for use in ${1} ${2}; do
@@ -205,26 +199,23 @@ src_configure() {
$(meson_feature X x11)
$(meson_feature aqua cocoa)
$(meson_feature drm)
- $(meson_feature drm gbm)
$(meson_feature jpeg)
$(meson_feature libcaca caca)
- $(meson_feature libplacebo)
- $(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)
+ $(mpv_feature_multi egl drm gbm) # gbm is only used by egl-drm
$(mpv_feature_multi egl drm egl-drm)
$(mpv_feature_multi egl wayland egl-wayland)
$(meson_feature libmpv plain-gl)
$(mpv_feature_multi opengl X gl-x11)
$(mpv_feature_multi opengl aqua gl-cocoa)
- $(meson_feature raspberry-pi rpi)
$(meson_feature vulkan)
$(meson_feature vulkan shaderc)
@@ -235,37 +226,27 @@ src_configure() {
$(meson_feature vaapi)
$(mpv_feature_multi vaapi X vaapi-x11)
- $(mpv_feature_multi 'vaapi X' egl vaapi-x-egl)
- $(mpv_feature_multi 'vaapi egl' drm vaapi-drm)
- $(mpv_feature_multi 'vaapi egl' wayland vaapi-wayland)
+ $(mpv_feature_multi vaapi drm vaapi-drm)
+ $(mpv_feature_multi vaapi wayland vaapi-wayland)
$(meson_feature vdpau)
$(mpv_feature_multi vdpau opengl vdpau-gl-x11)
$(mpv_feature_multi aqua opengl videotoolbox-gl)
+
+ # notable options left to automagic
+ #dmabuf-wayland: USE="drm wayland" + plus memfd_create support
+ #vulkan-interop: USE="vulkan" + >=ffmpeg-6.1
+ # TODO?: perhaps few more similar compound options should be left auto
)
meson_src_configure
}
src_test() {
- # https://github.com/mpv-player/mpv/blob/master/DOCS/man/options.rst#debugging
- local tests=($("${BUILD_DIR}"/mpv --no-config --unittest=help | tail -n +2; assert))
- (( ${#tests[@]} )) || die "failed to gather any tests"
-
- local skip=(
- all-simple
-
- # fails on non-issue minor inconsistencies (bug #888639)
- img_format
- repack_sws
- )
-
- local test
- for test in "${tests[@]}"; do
- [[ ${test} == @($(IFS='|'; echo "${skip[*]}")) ]] ||
- edo "${BUILD_DIR}"/mpv -v --no-config --unittest="${test}"
- done
+ # 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() {
diff --git a/media-video/mpv/mpv-0.35.1.ebuild b/media-video/mpv/mpv-0.37.0.ebuild
index b3fb03958f57..f7dd7257fca2 100644
--- a/media-video/mpv/mpv-0.35.1.ebuild
+++ b/media-video/mpv/mpv-0.37.0.ebuild
@@ -1,18 +1,18 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
LUA_COMPAT=( lua5-1 luajit )
-PYTHON_COMPAT=( python3_{9..11} )
-inherit edo flag-o-matic lua-single meson optfeature pax-utils python-single-r1 xdg
+PYTHON_COMPAT=( python3_{10..12} )
+inherit flag-o-matic lua-single meson optfeature pax-utils python-single-r1 xdg
if [[ ${PV} == 9999 ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/mpv-player/mpv.git"
else
SRC_URI="https://github.com/mpv-player/mpv/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux"
+ KEYWORDS="amd64 ~arm arm64 ~loong ppc ppc64 ~riscv x86 ~amd64-linux"
fi
DESCRIPTION="Media player for the command line"
@@ -23,37 +23,36 @@ 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
- +libplacebo +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 mmal nvenc openal opengl pipewire pulseaudio raspberry-pi
+ rubberband sdl selinux sixel sndio test tools +uchardet vaapi
+ vdpau vulkan wayland xv zimg zlib
+"
REQUIRED_USE="
${PYTHON_REQUIRED_USE}
|| ( cli libmpv )
egl? ( || ( X drm wayland ) )
- libplacebo? ( || ( egl opengl vulkan ) )
lua? ( ${LUA_REQUIRED_USE} )
nvenc? ( || ( egl opengl vulkan ) )
opengl? ( || ( X aqua ) )
test? ( cli )
tools? ( cli )
uchardet? ( iconv )
- vaapi? (
- || ( X egl libplacebo wayland )
- wayland? ( drm )
- )
+ vaapi? ( || ( X drm wayland ) )
vdpau? ( X )
- vulkan? ( || ( X wayland ) libplacebo )
- xv? ( X )"
+ vulkan? ( || ( X wayland ) )
+ xv? ( X )
+"
RESTRICT="!test? ( test )"
+# raspberry-pi: default to -bin given non-bin is known broken (bug #893422)
COMMON_DEPEND="
media-libs/libass:=[fontconfig]
- media-video/ffmpeg:=[encode,threads,vaapi?,vdpau?]
+ >=media-libs/libplacebo-6.338:=[opengl?,vulkan?]
+ >=media-video/ffmpeg-4.4:=[encode,threads,vaapi?,vdpau?]
X? (
x11-libs/libX11
x11-libs/libXScrnSaver
x11-libs/libXext
- x11-libs/libXinerama
x11-libs/libXpresent
x11-libs/libXrandr
xv? ( x11-libs/libXv )
@@ -66,14 +65,17 @@ COMMON_DEPEND="
dev-libs/libcdio:=
)
drm? (
- media-libs/mesa[gbm(+)]
x11-libs/libdrm
+ egl? ( media-libs/mesa[gbm(+)] )
)
dvd? (
media-libs/libdvdnav
media-libs/libdvdread:=
)
- egl? ( media-libs/libglvnd )
+ egl? (
+ media-libs/libglvnd
+ media-libs/libplacebo[opengl]
+ )
gamepad? ( media-libs/libsdl2[joystick] )
iconv? (
virtual/libiconv
@@ -84,16 +86,17 @@ COMMON_DEPEND="
jpeg? ( media-libs/libjpeg-turbo:= )
lcms? ( media-libs/lcms:2 )
libcaca? ( media-libs/libcaca )
- libplacebo? (
- >=media-libs/libplacebo-4.202:=[opengl?,vulkan?]
- egl? ( media-libs/libplacebo[opengl] )
- )
lua? ( ${LUA_DEPS} )
openal? ( media-libs/openal )
opengl? ( media-libs/libglvnd[X?] )
pipewire? ( media-video/pipewire:= )
pulseaudio? ( media-libs/libpulse )
- raspberry-pi? ( media-libs/raspberrypi-userland )
+ raspberry-pi? (
+ || (
+ media-libs/raspberrypi-userland-bin
+ media-libs/raspberrypi-userland
+ )
+ )
rubberband? ( media-libs/rubberband )
sdl? ( media-libs/libsdl2[sound,threads,video] )
sixel? ( media-libs/libsixel )
@@ -110,22 +113,30 @@ COMMON_DEPEND="
x11-libs/libxkbcommon
)
zimg? ( media-libs/zimg )
- zlib? ( sys-libs/zlib:= )"
+ zlib? ( sys-libs/zlib:= )
+"
RDEPEND="
${COMMON_DEPEND}
selinux? ( sec-policy/selinux-mplayer )
- tools? ( ${PYTHON_DEPS} )"
+ tools? ( ${PYTHON_DEPS} )
+"
DEPEND="
${COMMON_DEPEND}
X? ( x11-base/xorg-proto )
- dvb? ( virtual/linuxtv-dvb-headers )
+ dvb? ( sys-kernel/linux-headers )
nvenc? ( media-libs/nv-codec-headers )
- wayland? ( dev-libs/wayland-protocols )"
+ wayland? ( dev-libs/wayland-protocols )
+"
BDEPEND="
${PYTHON_DEPS}
virtual/pkgconfig
cli? ( dev-python/docutils )
- wayland? ( dev-util/wayland-scanner )"
+ wayland? ( dev-util/wayland-scanner )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.37.0-drm-fix.patch
+)
pkg_setup() {
use lua && lua-single_pkg_setup
@@ -141,11 +152,6 @@ src_configure() {
fi
fi
- if use raspberry-pi; then
- append-cflags -I"${ESYSROOT}"/opt/vc/include
- append-ldflags -L"${ESYSROOT}"/opt/vc/lib
- fi
-
mpv_feature_multi() {
local use set
for use in ${1} ${2}; do
@@ -199,10 +205,8 @@ src_configure() {
$(meson_feature X x11)
$(meson_feature aqua cocoa)
$(meson_feature drm)
- $(meson_feature drm gbm)
$(meson_feature jpeg)
$(meson_feature libcaca caca)
- $(meson_feature libplacebo)
$(meson_feature mmal rpi-mmal)
$(meson_feature sdl sdl2-video)
$(meson_feature sixel)
@@ -213,6 +217,7 @@ src_configure() {
echo enabled || echo disabled)
$(meson_feature egl)
$(mpv_feature_multi egl X egl-x11)
+ $(mpv_feature_multi egl drm gbm) # gbm is only used by egl-drm
$(mpv_feature_multi egl drm egl-drm)
$(mpv_feature_multi egl wayland egl-wayland)
$(meson_feature libmpv plain-gl)
@@ -229,37 +234,21 @@ src_configure() {
$(meson_feature vaapi)
$(mpv_feature_multi vaapi X vaapi-x11)
- $(mpv_feature_multi 'vaapi X' egl vaapi-x-egl)
- $(mpv_feature_multi 'vaapi egl' drm vaapi-drm)
- $(mpv_feature_multi 'vaapi egl' wayland vaapi-wayland)
+ $(mpv_feature_multi vaapi drm vaapi-drm)
+ $(mpv_feature_multi vaapi wayland vaapi-wayland)
$(meson_feature vdpau)
$(mpv_feature_multi vdpau opengl vdpau-gl-x11)
$(mpv_feature_multi aqua opengl videotoolbox-gl)
- )
-
- meson_src_configure
-}
-src_test() {
- # https://github.com/mpv-player/mpv/blob/master/DOCS/man/options.rst#debugging
- local tests=($("${BUILD_DIR}"/mpv --no-config --unittest=help | tail -n +2; assert))
- (( ${#tests[@]} )) || die "failed to gather any tests"
-
- local skip=(
- all-simple
-
- # fails on non-issue minor inconsistencies (bug #888639)
- img_format
- repack_sws
+ # notable options left to automagic
+ #dmabuf-wayland: USE="drm wayland" + plus memfd_create support
+ #vulkan-interop: USE="vulkan" + >=ffmpeg-6.1
+ # TODO?: perhaps few more similar compound options should be left auto
)
- local test
- for test in "${tests[@]}"; do
- [[ ${test} == @($(IFS='|'; echo "${skip[*]}")) ]] ||
- edo "${BUILD_DIR}"/mpv -v --no-config --unittest="${test}"
- done
+ meson_src_configure
}
src_install() {
diff --git a/media-video/mpv/mpv-0.38.0.ebuild b/media-video/mpv/mpv-0.38.0.ebuild
new file mode 100644
index 000000000000..a79aeac37bd3
--- /dev/null
+++ b/media-video/mpv/mpv-0.38.0.ebuild
@@ -0,0 +1,275 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LUA_COMPAT=( lua5-1 luajit )
+PYTHON_COMPAT=( python3_{10..12} )
+inherit flag-o-matic lua-single meson optfeature pax-utils python-single-r1 xdg
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/mpv-player/mpv.git"
+else
+ SRC_URI="https://github.com/mpv-player/mpv/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux"
+fi
+
+DESCRIPTION="Media player for the command line"
+HOMEPAGE="https://mpv.io/"
+
+LICENSE="LGPL-2.1+ GPL-2+ BSD ISC MIT" #506946
+SLOT="0/2" # soname
+IUSE="
+ +X +alsa aqua archive bluray cdda +cli coreaudio debug +drm dvb
+ dvd +egl gamepad +iconv jack javascript jpeg lcms libcaca +libmpv
+ +lua nvenc openal opengl pipewire pulseaudio rubberband sdl selinux
+ sixel sndio soc test tools +uchardet vaapi vdpau vulkan wayland xv
+ zimg zlib
+"
+REQUIRED_USE="
+ ${PYTHON_REQUIRED_USE}
+ || ( cli libmpv )
+ egl? ( || ( X drm wayland ) )
+ lua? ( ${LUA_REQUIRED_USE} )
+ nvenc? ( || ( egl opengl vulkan ) )
+ opengl? ( || ( X aqua ) )
+ test? ( cli )
+ tools? ( cli )
+ uchardet? ( iconv )
+ vaapi? ( || ( X drm wayland ) )
+ vdpau? ( X )
+ vulkan? ( || ( X wayland ) )
+ xv? ( X )
+"
+RESTRICT="!test? ( test )"
+
+COMMON_DEPEND="
+ media-libs/libass:=[fontconfig]
+ >=media-libs/libplacebo-6.338.2:=[opengl?,vulkan?]
+ >=media-video/ffmpeg-4.4:=[encode,soc(-)?,threads,vaapi?,vdpau?]
+ X? (
+ x11-libs/libX11
+ x11-libs/libXScrnSaver
+ x11-libs/libXext
+ x11-libs/libXpresent
+ x11-libs/libXrandr
+ xv? ( x11-libs/libXv )
+ )
+ alsa? ( media-libs/alsa-lib )
+ archive? ( app-arch/libarchive:= )
+ bluray? ( media-libs/libbluray:= )
+ cdda? (
+ dev-libs/libcdio-paranoia:=
+ dev-libs/libcdio:=
+ )
+ drm? (
+ x11-libs/libdrm
+ egl? ( media-libs/mesa[gbm(+)] )
+ )
+ dvd? (
+ media-libs/libdvdnav
+ media-libs/libdvdread:=
+ )
+ egl? (
+ media-libs/libglvnd
+ media-libs/libplacebo[opengl]
+ )
+ gamepad? ( media-libs/libsdl2[joystick] )
+ iconv? (
+ virtual/libiconv
+ uchardet? ( app-i18n/uchardet )
+ )
+ jack? ( virtual/jack )
+ javascript? ( dev-lang/mujs:= )
+ jpeg? ( media-libs/libjpeg-turbo:= )
+ lcms? ( media-libs/lcms:2 )
+ libcaca? ( media-libs/libcaca )
+ lua? ( ${LUA_DEPS} )
+ openal? ( media-libs/openal )
+ opengl? ( media-libs/libglvnd[X?] )
+ pipewire? ( media-video/pipewire:= )
+ pulseaudio? ( media-libs/libpulse )
+ rubberband? ( media-libs/rubberband )
+ sdl? ( media-libs/libsdl2[sound,threads,video] )
+ sixel? ( media-libs/libsixel )
+ sndio? ( media-sound/sndio:= )
+ vaapi? ( media-libs/libva:=[X?,drm(+)?,wayland?] )
+ vdpau? ( x11-libs/libvdpau )
+ vulkan? ( media-libs/vulkan-loader[X?,wayland?] )
+ wayland? (
+ dev-libs/wayland
+ dev-libs/wayland-protocols
+ x11-libs/libxkbcommon
+ )
+ zimg? ( media-libs/zimg )
+ zlib? ( sys-libs/zlib:= )
+"
+RDEPEND="
+ ${COMMON_DEPEND}
+ selinux? ( sec-policy/selinux-mplayer )
+ tools? ( ${PYTHON_DEPS} )
+"
+DEPEND="
+ ${COMMON_DEPEND}
+ X? ( x11-base/xorg-proto )
+ dvb? ( sys-kernel/linux-headers )
+ nvenc? ( media-libs/nv-codec-headers )
+ wayland? ( dev-libs/wayland-protocols )
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ virtual/pkgconfig
+ cli? ( dev-python/docutils )
+ wayland? ( dev-util/wayland-scanner )
+"
+
+pkg_setup() {
+ use lua && lua-single_pkg_setup
+ python-single-r1_pkg_setup
+}
+
+src_configure() {
+ if use !debug; then
+ if use test; then
+ einfo "Skipping -DNDEBUG due to USE=test"
+ else
+ append-cppflags -DNDEBUG # treated specially
+ fi
+ fi
+
+ mpv_feature_multi() {
+ local use set
+ for use in ${1} ${2}; do
+ use ${use} || set=disabled
+ done
+ echo -D${3-${2}}=${set-enabled}
+ }
+
+ local emesonargs=(
+ $(meson_use cli cplayer)
+ $(meson_use libmpv)
+ $(meson_use test tests)
+
+ $(meson_feature cli html-build)
+ $(meson_feature cli manpage-build)
+ -Dpdf-build=disabled
+
+ -Dbuild-date=false
+
+ # misc options
+ $(meson_feature archive libarchive)
+ $(meson_feature bluray libbluray)
+ $(meson_feature cdda)
+ -Dcplugins=enabled
+ $(meson_feature dvb dvbin)
+ $(meson_feature dvd dvdnav)
+ $(meson_feature gamepad sdl2-gamepad)
+ $(meson_feature iconv)
+ $(meson_feature javascript)
+ -Dlibavdevice=enabled
+ $(meson_feature lcms lcms2)
+ -Dlua=$(usex lua "${ELUA}" disabled)
+ $(meson_feature rubberband)
+ -Dsdl2=$(use gamepad || use sdl && echo enabled || echo disabled) #857156
+ $(meson_feature uchardet)
+ -Dvapoursynth=disabled # only available in overlays
+ $(meson_feature zimg)
+ $(meson_feature zlib)
+
+ # audio output
+ $(meson_feature alsa)
+ $(meson_feature coreaudio)
+ $(meson_feature jack)
+ $(meson_feature openal)
+ $(meson_feature pipewire)
+ $(meson_feature pulseaudio pulse)
+ $(meson_feature sdl sdl2-audio)
+ $(meson_feature sndio)
+
+ # video output
+ $(meson_feature X x11)
+ $(meson_feature aqua cocoa)
+ $(meson_feature drm)
+ $(meson_feature jpeg)
+ $(meson_feature libcaca caca)
+ $(meson_feature sdl sdl2-video)
+ $(meson_feature sixel)
+ $(meson_feature wayland)
+ $(meson_feature xv)
+
+ -Dgl=$(use egl || use libmpv || use opengl &&
+ echo enabled || echo disabled)
+ $(meson_feature egl)
+ $(mpv_feature_multi egl X egl-x11)
+ $(mpv_feature_multi egl drm gbm) # gbm is only used by egl-drm
+ $(mpv_feature_multi egl drm egl-drm)
+ $(mpv_feature_multi egl wayland egl-wayland)
+ $(meson_feature libmpv plain-gl)
+ $(mpv_feature_multi opengl X gl-x11)
+ $(mpv_feature_multi opengl aqua gl-cocoa)
+
+ $(meson_feature vulkan)
+
+ # hardware decoding
+ $(meson_feature nvenc cuda-hwaccel)
+ $(meson_feature nvenc cuda-interop)
+
+ $(meson_feature vaapi)
+ $(mpv_feature_multi vaapi X vaapi-x11)
+ $(mpv_feature_multi vaapi drm vaapi-drm)
+ $(mpv_feature_multi vaapi wayland vaapi-wayland)
+
+ $(meson_feature vdpau)
+ $(mpv_feature_multi vdpau opengl vdpau-gl-x11)
+
+ $(mpv_feature_multi aqua opengl videotoolbox-gl)
+
+ # notable options left to automagic
+ #dmabuf-wayland: USE="drm wayland" + plus memfd_create support
+ #vulkan-interop: USE="vulkan" + >=ffmpeg-6.1
+ # TODO?: perhaps few more similar compound options should be left auto
+ )
+
+ meson_src_configure
+}
+
+src_test() {
+ # ffmpeg tests are picky and easily break without necessarily
+ # meaning that there are runtime issues (bug #921091,#924276)
+ meson_src_test --no-suite ffmpeg
+}
+
+src_install() {
+ meson_src_install
+
+ if use lua; then
+ insinto /usr/share/${PN}
+ doins -r TOOLS/lua
+
+ if use cli && use lua_single_target_luajit; then
+ pax-mark -m "${ED}"/usr/bin/${PN}
+ fi
+ fi
+
+ if use tools; then
+ dobin TOOLS/{mpv_identify.sh,umpv}
+ newbin TOOLS/idet.sh mpv_idet.sh
+ python_fix_shebang "${ED}"/usr/bin/umpv
+ fi
+
+ if use cli; then
+ dodir /usr/share/doc/${PF}/html
+ mv "${ED}"/usr/share/doc/{mpv,${PF}/html}/mpv.html || die
+ mv "${ED}"/usr/share/doc/{mpv,${PF}/examples} || die
+ fi
+
+ local GLOBIGNORE=*/*build*:*/*policy*
+ dodoc RELEASE_NOTES DOCS/*.{md,rst}
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ optfeature "URL support with USE=lua" net-misc/yt-dlp
+}
diff --git a/media-video/mpv/mpv-9999.ebuild b/media-video/mpv/mpv-9999.ebuild
index 2c923f2ec44e..a79aeac37bd3 100644
--- a/media-video/mpv/mpv-9999.ebuild
+++ b/media-video/mpv/mpv-9999.ebuild
@@ -1,18 +1,18 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
LUA_COMPAT=( lua5-1 luajit )
-PYTHON_COMPAT=( python3_{9..11} )
-inherit edo flag-o-matic lua-single meson optfeature pax-utils python-single-r1 xdg
+PYTHON_COMPAT=( python3_{10..12} )
+inherit flag-o-matic lua-single meson optfeature pax-utils python-single-r1 xdg
if [[ ${PV} == 9999 ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/mpv-player/mpv.git"
else
SRC_URI="https://github.com/mpv-player/mpv/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~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,37 +23,35 @@ 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
- +libplacebo +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}
|| ( cli libmpv )
egl? ( || ( X drm wayland ) )
- libplacebo? ( || ( egl opengl vulkan ) )
lua? ( ${LUA_REQUIRED_USE} )
nvenc? ( || ( egl opengl vulkan ) )
opengl? ( || ( X aqua ) )
test? ( cli )
tools? ( cli )
uchardet? ( iconv )
- vaapi? (
- || ( X egl libplacebo wayland )
- wayland? ( drm )
- )
+ vaapi? ( || ( X drm wayland ) )
vdpau? ( X )
- vulkan? ( || ( X wayland ) libplacebo )
- xv? ( X )"
+ vulkan? ( || ( X wayland ) )
+ xv? ( X )
+"
RESTRICT="!test? ( test )"
COMMON_DEPEND="
media-libs/libass:=[fontconfig]
- >=media-video/ffmpeg-4.4:=[encode,threads,vaapi?,vdpau?]
+ >=media-libs/libplacebo-6.338.2:=[opengl?,vulkan?]
+ >=media-video/ffmpeg-4.4:=[encode,soc(-)?,threads,vaapi?,vdpau?]
X? (
x11-libs/libX11
x11-libs/libXScrnSaver
x11-libs/libXext
- x11-libs/libXinerama
x11-libs/libXpresent
x11-libs/libXrandr
xv? ( x11-libs/libXv )
@@ -66,14 +64,17 @@ COMMON_DEPEND="
dev-libs/libcdio:=
)
drm? (
- media-libs/mesa[gbm(+)]
x11-libs/libdrm
+ egl? ( media-libs/mesa[gbm(+)] )
)
dvd? (
media-libs/libdvdnav
media-libs/libdvdread:=
)
- egl? ( media-libs/libglvnd )
+ egl? (
+ media-libs/libglvnd
+ media-libs/libplacebo[opengl]
+ )
gamepad? ( media-libs/libsdl2[joystick] )
iconv? (
virtual/libiconv
@@ -84,48 +85,44 @@ COMMON_DEPEND="
jpeg? ( media-libs/libjpeg-turbo:= )
lcms? ( media-libs/lcms:2 )
libcaca? ( media-libs/libcaca )
- libplacebo? (
- >=media-libs/libplacebo-4.202:=[opengl?,vulkan?]
- egl? ( media-libs/libplacebo[opengl] )
- )
lua? ( ${LUA_DEPS} )
openal? ( media-libs/openal )
opengl? ( media-libs/libglvnd[X?] )
pipewire? ( media-video/pipewire:= )
pulseaudio? ( media-libs/libpulse )
- raspberry-pi? ( media-libs/raspberrypi-userland )
rubberband? ( media-libs/rubberband )
sdl? ( media-libs/libsdl2[sound,threads,video] )
sixel? ( media-libs/libsixel )
sndio? ( media-sound/sndio:= )
vaapi? ( media-libs/libva:=[X?,drm(+)?,wayland?] )
vdpau? ( x11-libs/libvdpau )
- vulkan? (
- media-libs/shaderc
- media-libs/vulkan-loader[X?,wayland?]
- )
+ vulkan? ( media-libs/vulkan-loader[X?,wayland?] )
wayland? (
dev-libs/wayland
dev-libs/wayland-protocols
x11-libs/libxkbcommon
)
zimg? ( media-libs/zimg )
- zlib? ( sys-libs/zlib:= )"
+ zlib? ( sys-libs/zlib:= )
+"
RDEPEND="
${COMMON_DEPEND}
selinux? ( sec-policy/selinux-mplayer )
- tools? ( ${PYTHON_DEPS} )"
+ tools? ( ${PYTHON_DEPS} )
+"
DEPEND="
${COMMON_DEPEND}
X? ( x11-base/xorg-proto )
- dvb? ( virtual/linuxtv-dvb-headers )
+ dvb? ( sys-kernel/linux-headers )
nvenc? ( media-libs/nv-codec-headers )
- wayland? ( dev-libs/wayland-protocols )"
+ wayland? ( dev-libs/wayland-protocols )
+"
BDEPEND="
${PYTHON_DEPS}
virtual/pkgconfig
cli? ( dev-python/docutils )
- wayland? ( dev-util/wayland-scanner )"
+ wayland? ( dev-util/wayland-scanner )
+"
pkg_setup() {
use lua && lua-single_pkg_setup
@@ -141,11 +138,6 @@ src_configure() {
fi
fi
- if use raspberry-pi; then
- append-cflags -I"${ESYSROOT}"/opt/vc/include
- append-ldflags -L"${ESYSROOT}"/opt/vc/lib
- fi
-
mpv_feature_multi() {
local use set
for use in ${1} ${2}; do
@@ -199,29 +191,25 @@ src_configure() {
$(meson_feature X x11)
$(meson_feature aqua cocoa)
$(meson_feature drm)
- $(meson_feature drm gbm)
$(meson_feature jpeg)
$(meson_feature libcaca caca)
- $(meson_feature libplacebo)
- $(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)
+ $(mpv_feature_multi egl drm gbm) # gbm is only used by egl-drm
$(mpv_feature_multi egl drm egl-drm)
$(mpv_feature_multi egl wayland egl-wayland)
$(meson_feature libmpv plain-gl)
$(mpv_feature_multi opengl X gl-x11)
$(mpv_feature_multi opengl aqua gl-cocoa)
- $(meson_feature raspberry-pi rpi)
$(meson_feature vulkan)
- $(meson_feature vulkan shaderc)
# hardware decoding
$(meson_feature nvenc cuda-hwaccel)
@@ -229,40 +217,27 @@ src_configure() {
$(meson_feature vaapi)
$(mpv_feature_multi vaapi X vaapi-x11)
- $(mpv_feature_multi 'vaapi X' egl vaapi-x-egl)
- $(mpv_feature_multi 'vaapi egl' drm vaapi-drm)
- $(mpv_feature_multi 'vaapi egl' wayland vaapi-wayland)
+ $(mpv_feature_multi vaapi drm vaapi-drm)
+ $(mpv_feature_multi vaapi wayland vaapi-wayland)
$(meson_feature vdpau)
$(mpv_feature_multi vdpau opengl vdpau-gl-x11)
$(mpv_feature_multi aqua opengl videotoolbox-gl)
+
+ # notable options left to automagic
+ #dmabuf-wayland: USE="drm wayland" + plus memfd_create support
+ #vulkan-interop: USE="vulkan" + >=ffmpeg-6.1
+ # TODO?: perhaps few more similar compound options should be left auto
)
meson_src_configure
}
src_test() {
- # https://github.com/mpv-player/mpv/blob/master/DOCS/man/options.rst#debugging
- local tests=($("${BUILD_DIR}"/mpv --no-config --unittest=help | tail -n +2; assert))
- (( ${#tests[@]} )) || die "failed to gather any tests"
-
- local skip=(
- all-simple
-
- # fails on non-issue minor inconsistencies (bug #888639)
- img_format
- repack_sws
- )
-
- local test
- for test in "${tests[@]}"; do
- [[ ${test} == @($(IFS='|'; echo "${skip[*]}")) ]] ||
- edo "${BUILD_DIR}"/mpv -v --no-config --unittest="${test}"
- done
-
- # currently only does basic libmpv testing, do in addition to --unittest
- meson_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() {
diff --git a/media-video/noad/Manifest b/media-video/noad/Manifest
index 12a9799f1909..b30786e65f53 100644
--- a/media-video/noad/Manifest
+++ b/media-video/noad/Manifest
@@ -1 +1,2 @@
DIST noad-0.8.7.tar.gz 144339 BLAKE2B e7492f63e7326cdced041332e05051a6bda2e92798f4b694ff626e65306d6ebe606f871eabc37df1613677c2f739b3caed033b443cbe7edce913b83a0365e3e5 SHA512 fa1d0226144175de586f938a594fe0a3c0b8a924a258f1406cf52078d5e6d84f46ae685ee3c9f3ce28e62f9eee719d6a938504e39a6b3b9c96043f4bd4aaf69d
+DIST noad-0.8.8.tar.gz 144269 BLAKE2B 0474c165af16afb93459dd753017e25afe5e9c42439af9e1f2e23e4aeb5d4cd3610a66dec80d63d1c5f71d2ef9f6817ad831a5e368e8aeda53e078d0137f67ae SHA512 1795072e0b416c9904e8769da2bfe08120ea2c55427bd6e7479c6d79bb5a1b25abe82c0ed2cf8b3d5f7a354e2f60b1251e9d1ed102d19b3c45c1cd34a5e8e6d0
diff --git a/media-video/noad/noad-0.8.7.ebuild b/media-video/noad/noad-0.8.7-r1.ebuild
index f89605e63649..25ba24135bd4 100644
--- a/media-video/noad/noad-0.8.7.ebuild
+++ b/media-video/noad/noad-0.8.7-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2021 Gentoo Authors
+# Copyright 2021-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -15,9 +15,10 @@ KEYWORDS="amd64 x86"
IUSE="+ffmpeg imagemagick libmpeg2"
BDEPEND="virtual/pkgconfig"
+# <ffmpeg-5 dep for bug #834408, https://github.com/madmartin/noad/issues/2
DEPEND="
libmpeg2? ( media-libs/libmpeg2:= )
- ffmpeg? ( media-video/ffmpeg )
+ ffmpeg? ( <media-video/ffmpeg-5:= )
imagemagick? ( media-gfx/imagemagick )"
RDEPEND="${DEPEND}"
diff --git a/media-video/noad/noad-0.8.8.ebuild b/media-video/noad/noad-0.8.8.ebuild
new file mode 100644
index 000000000000..408b4c6b7d02
--- /dev/null
+++ b/media-video/noad/noad-0.8.8.ebuild
@@ -0,0 +1,69 @@
+# Copyright 2021-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="Mark commercial breaks in VDR recordings"
+HOMEPAGE="https://github.com/madmartin/noad"
+SRC_URI="https://github.com/madmartin/noad/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="+ffmpeg imagemagick libmpeg2"
+REQUIRED_USE="|| ( ffmpeg libmpeg2 )"
+
+DEPEND="
+ libmpeg2? ( media-libs/libmpeg2 )
+ ffmpeg? ( media-video/ffmpeg:= )
+ imagemagick? ( media-gfx/imagemagick:= )"
+RDEPEND="${DEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ $(usev imagemagick --with-magick) \
+ $(usev !ffmpeg --without-ffmpeg) \
+ $(usev !libmpeg2 --without-libmpeg2) \
+ --with-tools
+}
+
+src_install() {
+ dobin noad showindex checkMarks
+ use imagemagick && dobin markpics
+
+ dodoc README* INSTALL
+ # example scripts are installed as dokumentation
+ dodoc allnewnoad allnoad allnoadnice allnoaduncut checkAllMarks clearlogos noadcall.sh noadifnew stat2html statupd
+
+ newconfd "${FILESDIR}"/confd_vdraddon.noad vdraddon.noad
+
+ insinto /usr/share/vdr/record
+ doins "${FILESDIR}"/record-50-noad.sh
+
+ insinto /usr/share/vdr/shutdown
+ doins "${FILESDIR}"/pre-shutdown-15-noad.sh
+
+ insinto /etc/vdr/reccmds
+ doins "${FILESDIR}"/reccmds.noad.conf
+
+ exeinto /usr/share/vdr/bin
+ doexe "${FILESDIR}"/noad-reccmd
+}
+
+pkg_postinst() {
+ elog
+ elog "To integrate noad in VDR you should do this:"
+ elog
+ elog "start and set Parameter in /etc/conf.d/vdraddon.noad"
+ elog
+ elog "Note: You can use here all parameters for noad,"
+ elog "please look in the documentation of noad."
+}
diff --git a/media-video/obs-studio/Manifest b/media-video/obs-studio/Manifest
index 5475de86801f..765044de5a7f 100644
--- a/media-video/obs-studio/Manifest
+++ b/media-video/obs-studio/Manifest
@@ -1,11 +1,5 @@
-DIST asio-b73dc1d2c0ecb9452a87c26544d7f71e24342df6.tar.gz 1211725 BLAKE2B 8ffe536e9398b23910deab9889136ac5cb2a39e26982826252400737ea68d201e11bf16f13f20bd4c777fc7ff718da5ef8d329747065c62e61306fc1448f3908 SHA512 91245741fe6e7ce8eec6897f222b05cfa9474f93487272d8ca84ec56679afd5cddff2cf07f30cdd6516149e0a138b8a7396b1a7c02a46044b38f4e60addcbf8a
-DIST cef_binary_5060_linux64.tar.bz2 132839531 BLAKE2B f7d342cf12bf435aab3873b666a47c42c6583a88f140c28dabfd2dd860cd0d5c96cc51cc034703bffc6f1094a738bd77008c01839fa5ea53b848bc1c483a0ae4 SHA512 c99ce53858c57becd7822e39ff81d59b7296374fa61b29dfd4a572c2ed8f9ab155114ed179764ea05586e0edb2f1654f0b73c471f1cd9b233660e7f1c8b462c4
-DIST json-a34e011e24beece3b69397a03fdc650546f052c3.tar.gz 6860722 BLAKE2B 433b499f24859153171654f3fd0fa9afd4ceb8b21a159185a424084b940d8496f8952c0291a52d85009dde16c46e45d5a206f354d043f4d010a29a1f18965d87 SHA512 a7c64517377274479bc3060163a2a7ed0a8780c12dc193287c060f04dfd742ffe8832c930bec75eb0b36f8290044c31530260a614aabae90367f6ccfd4b711f3
-DIST obs-browser-e2310b02df3e6c184fe6eb6608244a82e37f582e.tar.gz 109012 BLAKE2B a2f3d9e1a3dbc3aa4d00423e743633038d59ce501626941a21ef0cf78608f4190335b8b846bfef49b2f09976d4ef3bb8b19f955b2a328c375cc045b886cb367c SHA512 76494fc9415db68d2b67d832a7a5c8b035e4e379d9adb6eb8292579d12b88b92350692b24e999b1328e02f729fae4060304594d37c754ff359903193c1464aed
-DIST obs-browser-fc62563ba4232649b7e0ffd772e66ad71ba49377.tar.gz 109571 BLAKE2B 10082c64bd872d52fccf7bd539f7106c5b66fc9d6e5f31ffdb86c2e6a3e97b36a4848f5f6f008cbfb67f94bd1fad01c7683e8575e3e0f8d1808724e740be4e11 SHA512 113f97a21be8deb8bbd1ec98fd565ebb139d4b6901692ed5f61034581da7016b06fa6975b49db3fd2c7aaeac369a09ac98174798abba149aacbfffd2e0b40236
-DIST obs-studio-28.1.2.tar.gz 18859931 BLAKE2B 08fcedb4094d6a03512139e9055116f47fbd6cf706029d2719524bc018d0dce2a774de83b603f9a7665a115e2414775b858020e0be0ccdcc6882478256392646 SHA512 9d5e7e1f2f6236b795c2c49a1a6ba43623c71f16c1c6106fae6ac99b792e15793c169fb62aea271c253b13a0fd9bc9b9ad7880315d9ee787682174a5700f85bd
-DIST obs-studio-29.0.0.tar.gz 18894364 BLAKE2B 3cf120b5bc9bae3d797a55aa0d348a6eabb2c0ccbf71d89e203468c42780212a6ad0ab52eaa913a8942a4b9c1bf07a50dc951891bcf2cbc3639177f983841066 SHA512 14208682fd7c2d5bdc049affe9adcdda73f5d9177277da021aed942518f23c2f3bec8ed55ba58fd8ee3f5f575b13f1083b36248a1073bafed2c4bbb2bd28ec61
-DIST obs-websocket-31f9845b6132e6c1529401292bc1125401e2a324.tar.gz 238884 BLAKE2B 93a41ff9dd33cf2babaef90c961def1ae39d3b4e7d2f2542123973672c2adbd0cff987f58ce72e9c4acd8818c834531e624c376b3d297f4bdfc097e22ee4b293 SHA512 11bf28f574ec2a7b128dae53010484610465c94245881fd98eb750b59e00236f656d1ef706187a41cb42eab3e3668440d83f66399f6917e2d93b7ba6c7241ad3
-DIST obs-websocket-5716577019b1ccda01a12db2cba35a023082b7ad.tar.gz 235118 BLAKE2B 96202cf81389b82b26027680dcaa6e2bf902c9776a89895fbef859dae2986523bc5d34ad30233c29fac043611a942fb4d86e5d9d9cd4ef2a9503154a383002fe SHA512 9bb511c9693889f9837cd001fafe403762d44f2ecc80bad42e592d7555e3807a148ab19638724871b7807e71edf5f62a1e0ea62f362fd1b9a6e9bf49000b8a5c
-DIST qr-8518684c0f33d004fa93971be2c6a8eca3167d1e.tar.gz 135863 BLAKE2B fa6fb9c9e5250b56bdf38f31aa4acaf4ce860c153012984d1266928bd7a62dcf43b271ff53b4322931304670742566dcb016ef65ff2f681bf76224f86eca567c SHA512 ba298de89411fecc8db3dc10850485da01f5183d68b6d91ea91a9e28c1f104eb110adbf143a37e5d1856abbba5d309ab8329a6359ca7225bacb033d8044fa72c
-DIST websocketpp-56123c87598f8b1dd471be83ca841ceae07f95ba.tar.gz 701544 BLAKE2B 61680c31309d8f78b27b82e1bde2c7828eae2777df0629355c557dfd8b0daef6de7d202bbcff372351e135bb62366ffc8eec6c72a99df7c46a9197773c46550c SHA512 f185a66e5a7c783254352a6ef87e2e559f681032b7368765d08393ed12bcae76825abed7dcaea73de09df644320409dad46279701f5f469520542a2c9b6a6163
+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
diff --git a/media-video/obs-studio/metadata.xml b/media-video/obs-studio/metadata.xml
index 0d746963a49f..2e6e1d188e06 100644
--- a/media-video/obs-studio/metadata.xml
+++ b/media-video/obs-studio/metadata.xml
@@ -15,8 +15,10 @@
<flag name="browser">Enable browser source support via (precompiled) CEF.</flag>
<flag name="decklink">Build the Decklink plugin.</flag>
<flag name="fdk">Build with LibFDK AAC support.</flag>
+ <flag name="mpegts">Enable native SRT/RIST mpegts output.</flag>
<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="speex">Build with Speex noise suppression filter support.</flag>
<flag name="ssl">Build with TLS/SSL support for RTMPS connections.</flag>
<flag name="vlc">Build with VLC media source support.</flag>
diff --git a/media-video/obs-studio/obs-studio-29.0.0-r1.ebuild b/media-video/obs-studio/obs-studio-30.1.0.ebuild
index 70779f23ca4f..7878bb19a448 100644
--- a/media-video/obs-studio/obs-studio-29.0.0-r1.ebuild
+++ b/media-video/obs-studio/obs-studio-30.1.0.ebuild
@@ -1,21 +1,18 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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..11} )
+PYTHON_COMPAT=( python3_{9..12} )
inherit cmake lua-single optfeature python-single-r1 xdg
-CEF_DIR="cef_binary_5060_linux64"
-ASIO_COMMIT="b73dc1d2c0ecb9452a87c26544d7f71e24342df6"
-JSON_COMMIT="a34e011e24beece3b69397a03fdc650546f052c3"
-OBS_BROWSER_COMMIT="fc62563ba4232649b7e0ffd772e66ad71ba49377"
-OBS_WEBSOCKET_COMMIT="31f9845b6132e6c1529401292bc1125401e2a324"
-QR_COMMIT="8518684c0f33d004fa93971be2c6a8eca3167d1e"
-WEBSOCKETPP_COMMIT="56123c87598f8b1dd471be83ca841ceae07f95ba"
+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
@@ -23,24 +20,16 @@ if [[ ${PV} == 9999 ]]; then
EGIT_SUBMODULES=(
plugins/obs-browser
plugins/obs-websocket
- plugins/obs-websocket/deps/asio
- plugins/obs-websocket/deps/json
- plugins/obs-websocket/deps/qr
- plugins/obs-websocket/deps/websocketpp
)
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/chriskohlhoff/asio/archive/${ASIO_COMMIT}.tar.gz -> asio-${ASIO_COMMIT}.tar.gz
- https://github.com/nayuki/QR-Code-generator/archive/${QR_COMMIT}.tar.gz -> qr-${QR_COMMIT}.tar.gz
- https://github.com/nlohmann/json/archive/${JSON_COMMIT}.tar.gz -> json-${JSON_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/zaphoyd/websocketpp/archive/${WEBSOCKETPP_COMMIT}.tar.gz -> websocketpp-${WEBSOCKETPP_COMMIT}.tar.gz
"
- KEYWORDS="~amd64 ~ppc64 ~x86"
+ KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
fi
-SRC_URI+=" browser? ( https://cdn-fastly.obsproject.com/downloads/${CEF_DIR}.tar.bz2 )"
+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"
@@ -48,9 +37,10 @@ HOMEPAGE="https://obsproject.com"
LICENSE="Boost-1.0 GPL-2+ MIT Unlicense"
SLOT="0"
IUSE="
- +alsa browser decklink fdk jack lua nvenc pipewire pulseaudio
- python qt6 speex +ssl truetype v4l vlc wayland websocket
+ +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} )
@@ -61,27 +51,34 @@ 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?,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/libxcb:=
+ 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
@@ -108,25 +105,17 @@ DEPEND="
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} )
- qt6? (
- dev-qt/qtbase:6[network,widgets,xml(+)]
- dev-qt/qtsvg:6
- x11-libs/libxkbcommon
- )
- !qt6? (
- dev-qt/qtcore:5
- dev-qt/qtgui:5[wayland?]
- dev-qt/qtnetwork:5
- dev-qt/qtquickcontrols:5
- dev-qt/qtsvg:5
- dev-qt/qtwidgets:5
- dev-qt/qtxml:5
- )
+ qsv? ( media-libs/libvpl )
speex? ( media-libs/speexdsp )
ssl? ( net-libs/mbedtls:= )
+ test? ( dev-util/cmocka )
truetype? (
media-libs/fontconfig
media-libs/freetype
@@ -140,6 +129,12 @@ DEPEND="
dev-libs/wayland
x11-libs/libxkbcommon
)
+ websocket? (
+ dev-cpp/asio
+ dev-cpp/nlohmann_json
+ dev-cpp/websocketpp
+ dev-libs/qr-code-generator
+ )
"
RDEPEND="${DEPEND}"
@@ -170,25 +165,23 @@ src_unpack() {
rm -d ${P}/plugins/obs-websocket || die
mv obs-websocket-${OBS_WEBSOCKET_COMMIT} ${P}/plugins/obs-websocket || die
+ fi
+}
- rm -d ${P}/plugins/obs-websocket/deps/asio || die
- mv asio-${ASIO_COMMIT} ${P}/plugins/obs-websocket/deps/asio || die
-
- rm -d ${P}/plugins/obs-websocket/deps/json || die
- mv json-${JSON_COMMIT} ${P}/plugins/obs-websocket/deps/json || die
+src_prepare() {
+ default
- rm -d ${P}/plugins/obs-websocket/deps/qr || die
- mv QR-Code-generator-${QR_COMMIT} ${P}/plugins/obs-websocket/deps/qr || die
+ sed -i '/-Werror$/d' "${WORKDIR}"/${P}/cmake/Modules/CompilerConfig.cmake || die
- rm -d ${P}/plugins/obs-websocket/deps/websocketpp || die
- mv websocketpp-${WEBSOCKETPP_COMMIT} ${P}/plugins/obs-websocket/deps/websocketpp || die
- fi
+ 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)
@@ -196,18 +189,21 @@ src_configure() {
-DENABLE_FREETYPE=$(usex truetype)
-DENABLE_JACK=$(usex jack)
-DENABLE_LIBFDK=$(usex fdk)
- -DENABLE_NEW_MPEGTS_OUTPUT=OFF # Requires librist and libsrt.
+ -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}
- -DQT_VERSION=$(usex qt6 6 5)
-DUNIX_STRUCTURE=1
)
@@ -263,5 +259,6 @@ pkg_postinst() {
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-28.1.2-r1.ebuild b/media-video/obs-studio/obs-studio-30.1.1.ebuild
index 08e06f6d0ca1..6ddcf823b797 100644
--- a/media-video/obs-studio/obs-studio-28.1.2-r1.ebuild
+++ b/media-video/obs-studio/obs-studio-30.1.1.ebuild
@@ -1,21 +1,21 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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..11} )
+PYTHON_COMPAT=( python3_{9..12} )
-inherit cmake lua-single optfeature python-single-r1 xdg
+inherit cmake flag-o-matic lua-single optfeature python-single-r1 xdg
-CEF_DIR="cef_binary_5060_linux64"
-ASIO_COMMIT="b73dc1d2c0ecb9452a87c26544d7f71e24342df6"
-JSON_COMMIT="a34e011e24beece3b69397a03fdc650546f052c3"
-OBS_BROWSER_COMMIT="e2310b02df3e6c184fe6eb6608244a82e37f582e"
-OBS_WEBSOCKET_COMMIT="5716577019b1ccda01a12db2cba35a023082b7ad"
-QR_COMMIT="8518684c0f33d004fa93971be2c6a8eca3167d1e"
-WEBSOCKETPP_COMMIT="56123c87598f8b1dd471be83ca841ceae07f95ba"
+CEF_DIR="cef_binary_5060_linux_x86_64"
+CEF_REVISION="_v3"
+OBS_BROWSER_COMMIT="996b5a7bc43d912f1f4992e0032d4f263ac8b060"
+OBS_WEBSOCKET_COMMIT="d2d4bfb3e78cf2b02c8e2f5dda1d805eda8d8f32"
+
+DESCRIPTION="Software for Recording and Streaming Live Video Content"
+HOMEPAGE="https://obsproject.com"
if [[ ${PV} == 9999 ]]; then
inherit git-r3
@@ -23,34 +23,25 @@ if [[ ${PV} == 9999 ]]; then
EGIT_SUBMODULES=(
plugins/obs-browser
plugins/obs-websocket
- plugins/obs-websocket/deps/asio
- plugins/obs-websocket/deps/json
- plugins/obs-websocket/deps/qr
- plugins/obs-websocket/deps/websocketpp
)
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/chriskohlhoff/asio/archive/${ASIO_COMMIT}.tar.gz -> asio-${ASIO_COMMIT}.tar.gz
- https://github.com/nayuki/QR-Code-generator/archive/${QR_COMMIT}.tar.gz -> qr-${QR_COMMIT}.tar.gz
- https://github.com/nlohmann/json/archive/${JSON_COMMIT}.tar.gz -> json-${JSON_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/zaphoyd/websocketpp/archive/${WEBSOCKETPP_COMMIT}.tar.gz -> websocketpp-${WEBSOCKETPP_COMMIT}.tar.gz
"
- KEYWORDS="~amd64 ~ppc64 ~x86"
+ KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
fi
-SRC_URI+=" browser? ( https://cdn-fastly.obsproject.com/downloads/${CEF_DIR}.tar.bz2 )"
-DESCRIPTION="Software for Recording and Streaming Live Video Content"
-HOMEPAGE="https://obsproject.com"
+SRC_URI+=" browser? ( https://cdn-fastly.obsproject.com/downloads/${CEF_DIR}${CEF_REVISION}.tar.xz )"
LICENSE="Boost-1.0 GPL-2+ MIT Unlicense"
SLOT="0"
IUSE="
- +alsa browser decklink fdk jack lua nvenc pipewire pulseaudio
- python qt6 speex +ssl truetype v4l vlc wayland websocket
+ +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} )
@@ -61,26 +52,34 @@ 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:=
- media-libs/libglvnd
+ dev-qt/qtbase:6[network,widgets,xml(+)]
+ dev-qt/qtsvg:6
+ media-libs/libglvnd[X]
+ media-libs/libva
+ media-libs/rnnoise
media-libs/x264:=
- media-video/ffmpeg:=[nvenc?,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/libxcb:=
+ 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
@@ -107,25 +106,17 @@ DEPEND="
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} )
- qt6? (
- dev-qt/qtbase:6[network,widgets,xml(+)]
- dev-qt/qtsvg:6
- x11-libs/libxkbcommon
- )
- !qt6? (
- dev-qt/qtcore:5
- dev-qt/qtgui:5[wayland?]
- dev-qt/qtnetwork:5
- dev-qt/qtquickcontrols:5
- dev-qt/qtsvg:5
- dev-qt/qtwidgets:5
- dev-qt/qtxml:5
- )
+ qsv? ( media-libs/libvpl )
speex? ( media-libs/speexdsp )
ssl? ( net-libs/mbedtls:= )
+ test? ( dev-util/cmocka )
truetype? (
media-libs/fontconfig
media-libs/freetype
@@ -139,6 +130,12 @@ DEPEND="
dev-libs/wayland
x11-libs/libxkbcommon
)
+ websocket? (
+ dev-cpp/asio
+ dev-cpp/nlohmann_json
+ dev-cpp/websocketpp
+ dev-libs/qr-code-generator
+ )
"
RDEPEND="${DEPEND}"
@@ -169,25 +166,28 @@ src_unpack() {
rm -d ${P}/plugins/obs-websocket || die
mv obs-websocket-${OBS_WEBSOCKET_COMMIT} ${P}/plugins/obs-websocket || die
+ fi
+}
- rm -d ${P}/plugins/obs-websocket/deps/asio || die
- mv asio-${ASIO_COMMIT} ${P}/plugins/obs-websocket/deps/asio || die
+src_prepare() {
+ default
- rm -d ${P}/plugins/obs-websocket/deps/json || die
- mv json-${JSON_COMMIT} ${P}/plugins/obs-websocket/deps/json || die
+ sed -i '/-Werror$/d' "${WORKDIR}"/${P}/cmake/Modules/CompilerConfig.cmake || die
- rm -d ${P}/plugins/obs-websocket/deps/qr || die
- mv QR-Code-generator-${QR_COMMIT} ${P}/plugins/obs-websocket/deps/qr || die
+ # -Werror=lto-type-mismatch
+ # https://bugs.gentoo.org/867250
+ # https://github.com/obsproject/obs-studio/issues/8988
+ use wayland && filter-lto
- rm -d ${P}/plugins/obs-websocket/deps/websocketpp || die
- mv websocketpp-${WEBSOCKETPP_COMMIT} ${P}/plugins/obs-websocket/deps/websocketpp || die
- fi
+ 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)
@@ -195,18 +195,21 @@ src_configure() {
-DENABLE_FREETYPE=$(usex truetype)
-DENABLE_JACK=$(usex jack)
-DENABLE_LIBFDK=$(usex fdk)
- -DENABLE_NEW_MPEGTS_OUTPUT=OFF # Requires librist and libsrt.
+ -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}
- -DQT_VERSION=$(usex qt6 6 5)
-DUNIX_STRUCTURE=1
)
@@ -262,5 +265,6 @@ pkg_postinst() {
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-9999.ebuild b/media-video/obs-studio/obs-studio-9999.ebuild
index a7bffc5d998a..dba2fd8a5fb4 100644
--- a/media-video/obs-studio/obs-studio-9999.ebuild
+++ b/media-video/obs-studio/obs-studio-9999.ebuild
@@ -1,21 +1,21 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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..11} )
+PYTHON_COMPAT=( python3_{9..12} )
-inherit cmake lua-single optfeature python-single-r1 xdg
+inherit cmake flag-o-matic lua-single optfeature python-single-r1 xdg
-CEF_DIR="cef_binary_5060_linux64"
-ASIO_COMMIT="b73dc1d2c0ecb9452a87c26544d7f71e24342df6"
-JSON_COMMIT="a34e011e24beece3b69397a03fdc650546f052c3"
-OBS_BROWSER_COMMIT="1c2264d722f065646b72ac654f6ddbb6843f9bef"
-OBS_WEBSOCKET_COMMIT="31f9845b6132e6c1529401292bc1125401e2a324"
-QR_COMMIT="8518684c0f33d004fa93971be2c6a8eca3167d1e"
-WEBSOCKETPP_COMMIT="56123c87598f8b1dd471be83ca841ceae07f95ba"
+CEF_DIR="cef_binary_5060_linux_x86_64"
+CEF_REVISION="_v3"
+OBS_BROWSER_COMMIT="996b5a7bc43d912f1f4992e0032d4f263ac8b060"
+OBS_WEBSOCKET_COMMIT="d2d4bfb3e78cf2b02c8e2f5dda1d805eda8d8f32"
+
+DESCRIPTION="Software for Recording and Streaming Live Video Content"
+HOMEPAGE="https://obsproject.com"
if [[ ${PV} == 9999 ]]; then
inherit git-r3
@@ -23,34 +23,25 @@ if [[ ${PV} == 9999 ]]; then
EGIT_SUBMODULES=(
plugins/obs-browser
plugins/obs-websocket
- plugins/obs-websocket/deps/asio
- plugins/obs-websocket/deps/json
- plugins/obs-websocket/deps/qr
- plugins/obs-websocket/deps/websocketpp
)
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/chriskohlhoff/asio/archive/${ASIO_COMMIT}.tar.gz -> asio-${ASIO_COMMIT}.tar.gz
- https://github.com/nayuki/QR-Code-generator/archive/${QR_COMMIT}.tar.gz -> qr-${QR_COMMIT}.tar.gz
- https://github.com/nlohmann/json/archive/${JSON_COMMIT}.tar.gz -> json-${JSON_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/zaphoyd/websocketpp/archive/${WEBSOCKETPP_COMMIT}.tar.gz -> websocketpp-${WEBSOCKETPP_COMMIT}.tar.gz
"
- KEYWORDS="~amd64 ~ppc64 ~x86"
+ KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
fi
-SRC_URI+=" browser? ( https://cdn-fastly.obsproject.com/downloads/${CEF_DIR}.tar.bz2 )"
-DESCRIPTION="Software for Recording and Streaming Live Video Content"
-HOMEPAGE="https://obsproject.com"
+SRC_URI+=" browser? ( https://cdn-fastly.obsproject.com/downloads/${CEF_DIR}${CEF_REVISION}.tar.xz )"
LICENSE="Boost-1.0 GPL-2+ MIT Unlicense"
SLOT="0"
IUSE="
- +alsa browser decklink fdk jack lua nvenc pipewire pulseaudio
- python qt6 speex +ssl truetype v4l vlc wayland websocket
+ +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} )
@@ -61,27 +52,34 @@ 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:=
- media-libs/libglvnd
+ dev-qt/qtbase:6[network,widgets,xml(+)]
+ dev-qt/qtsvg:6
+ media-libs/libglvnd[X]
media-libs/libva
+ media-libs/rnnoise
media-libs/x264:=
- media-video/ffmpeg:=[nvenc?,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/libxcb:=
+ 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
@@ -108,25 +106,17 @@ DEPEND="
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} )
- qt6? (
- dev-qt/qtbase:6[network,widgets,xml(+)]
- dev-qt/qtsvg:6
- x11-libs/libxkbcommon
- )
- !qt6? (
- dev-qt/qtcore:5
- dev-qt/qtgui:5[wayland?]
- dev-qt/qtnetwork:5
- dev-qt/qtquickcontrols:5
- dev-qt/qtsvg:5
- dev-qt/qtwidgets:5
- dev-qt/qtxml:5
- )
+ qsv? ( media-libs/libvpl )
speex? ( media-libs/speexdsp )
ssl? ( net-libs/mbedtls:= )
+ test? ( dev-util/cmocka )
truetype? (
media-libs/fontconfig
media-libs/freetype
@@ -140,6 +130,12 @@ DEPEND="
dev-libs/wayland
x11-libs/libxkbcommon
)
+ websocket? (
+ dev-cpp/asio
+ dev-cpp/nlohmann_json
+ dev-cpp/websocketpp
+ dev-libs/qr-code-generator
+ )
"
RDEPEND="${DEPEND}"
@@ -170,25 +166,28 @@ src_unpack() {
rm -d ${P}/plugins/obs-websocket || die
mv obs-websocket-${OBS_WEBSOCKET_COMMIT} ${P}/plugins/obs-websocket || die
+ fi
+}
- rm -d ${P}/plugins/obs-websocket/deps/asio || die
- mv asio-${ASIO_COMMIT} ${P}/plugins/obs-websocket/deps/asio || die
+src_prepare() {
+ default
- rm -d ${P}/plugins/obs-websocket/deps/json || die
- mv json-${JSON_COMMIT} ${P}/plugins/obs-websocket/deps/json || die
+ sed -i '/-Werror$/d' "${WORKDIR}"/${P}/cmake/Modules/CompilerConfig.cmake || die
- rm -d ${P}/plugins/obs-websocket/deps/qr || die
- mv QR-Code-generator-${QR_COMMIT} ${P}/plugins/obs-websocket/deps/qr || die
+ # -Werror=lto-type-mismatch
+ # https://bugs.gentoo.org/867250
+ # https://github.com/obsproject/obs-studio/issues/8988
+ use wayland && filter-lto
- rm -d ${P}/plugins/obs-websocket/deps/websocketpp || die
- mv websocketpp-${WEBSOCKETPP_COMMIT} ${P}/plugins/obs-websocket/deps/websocketpp || die
- fi
+ 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)
@@ -196,18 +195,22 @@ src_configure() {
-DENABLE_FREETYPE=$(usex truetype)
-DENABLE_JACK=$(usex jack)
-DENABLE_LIBFDK=$(usex fdk)
- -DENABLE_NEW_MPEGTS_OUTPUT=OFF # Requires librist and libsrt.
+ -DENABLE_NATIVE_NVENC=$(usex nvenc)
+ -DENABLE_NEW_MPEGTS_OUTPUT=$(usex mpegts)
-DENABLE_PIPEWIRE=$(usex pipewire)
-DENABLE_PULSEAUDIO=$(usex pulseaudio)
+ -DENABLE_QSV11=$(usex qsv)
+ -DENABLE_RNNOISE=ON
-DENABLE_RTMPS=$(usex ssl ON OFF) # Needed for bug 880861
-DENABLE_SPEEXDSP=$(usex speex)
+ -DENABLE_UNIT_TESTS=$(usex test)
-DENABLE_V4L2=$(usex v4l)
-DENABLE_VLC=$(usex vlc)
-DENABLE_VST=ON
-DENABLE_WAYLAND=$(usex wayland)
+ -DENABLE_WEBRTC=OFF # Requires libdatachannel.
-DENABLE_WEBSOCKET=$(usex websocket)
-DOBS_MULTIARCH_SUFFIX=${libdir#lib}
- -DQT_VERSION=$(usex qt6 6 5)
-DUNIX_STRUCTURE=1
)
@@ -263,5 +266,6 @@ pkg_postinst() {
elog
fi
+ optfeature "VA-API hardware encoding" media-video/ffmpeg[vaapi]
optfeature "virtual camera support" media-video/v4l2loopback
}
diff --git a/media-video/obs-v4l2sink/Manifest b/media-video/obs-v4l2sink/Manifest
deleted file mode 100644
index 9688501c8157..000000000000
--- a/media-video/obs-v4l2sink/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST obs-v4l2sink-0.1.0_p20181012.tar.gz 21392 BLAKE2B 7f024a89c900588a4b3a45d598622e05d25b2eabbd007d5ce701d82ab935fa5a267faaf903925ec19e74071b5f4d32a5f39c810d181c97ea047060bfa69c145c SHA512 c64cff7feff7722e8cfd66f92daa46d8cb189da5adc50dabddd21baaa97e033611b94f1dafb9a9ad9a58504930fb40e05d7e5a4d128ee703b60993be7edc063c
diff --git a/media-video/obs-v4l2sink/files/obs-v4l2sink-0.1.0_p20181012-installdirs.patch b/media-video/obs-v4l2sink/files/obs-v4l2sink-0.1.0_p20181012-installdirs.patch
deleted file mode 100644
index 39af16be2719..000000000000
--- a/media-video/obs-v4l2sink/files/obs-v4l2sink-0.1.0_p20181012-installdirs.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 75d85f0..15e6bc1 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -1,5 +1,6 @@
- cmake_minimum_required(VERSION 3.5)
- project(obs-v4l2sink)
-+include(GNUInstallDirs)
-
-
- include(external/FindLibObs.cmake)
-@@ -44,8 +45,8 @@ endif()
- set_target_properties(v4l2sink PROPERTIES PREFIX "")
-
- install(TARGETS v4l2sink
-- LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/lib/obs-plugins)
-+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/obs-plugins)
-
- install(DIRECTORY locale/
-- DESTINATION "${CMAKE_INSTALL_PREFIX}/share/obs/obs-plugins/v4l2sink/locale")
-+ DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/obs/obs-plugins/v4l2sink/locale")
-
diff --git a/media-video/obs-v4l2sink/metadata.xml b/media-video/obs-v4l2sink/metadata.xml
deleted file mode 100644
index fdb0fd9f762b..000000000000
--- a/media-video/obs-v4l2sink/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>zerochaos@gentoo.org</email>
- <name>Rick Farina</name>
- </maintainer>
- <upstream>
- <remote-id type="github">CatxFish/obs-v4l2sink</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/media-video/obs-v4l2sink/obs-v4l2sink-0.1.0_p20181012-r2.ebuild b/media-video/obs-v4l2sink/obs-v4l2sink-0.1.0_p20181012-r2.ebuild
deleted file mode 100644
index 41cb4b07deae..000000000000
--- a/media-video/obs-v4l2sink/obs-v4l2sink-0.1.0_p20181012-r2.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 2020-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CMAKE_REMOVE_MODULES_LIST="FindLibObs"
-inherit cmake
-
-DESCRIPTION="obs studio output plugin for Video4Linux2 device"
-HOMEPAGE="https://github.com/CatxFish/obs-v4l2sink"
-COMMIT="1ec3c8ada0e1040d867ce567f177be55cd278378"
-SRC_URI="https://github.com/CatxFish/obs-v4l2sink/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
-S="${WORKDIR}/${PN}-${COMMIT}"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-DEPEND=">=media-video/obs-studio-25.0.8-r1
- dev-qt/qtwidgets:5
- dev-qt/qtgui:5
- dev-qt/qtcore:5
-"
-RDEPEND="${DEPEND}"
-BDEPEND=""
-PDEPEND="media-video/v4l2loopback"
-
-PATCHES=(
- "${FILESDIR}/${P}-installdirs.patch"
-)
-
-src_prepare() {
- sed -i -e '/include(external\/FindLibObs.cmake)/d' -e 's#../UI#UI#' CMakeLists.txt
- cmake_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DLIBOBS_INCLUDE_DIR="/usr/include/obs/"
- )
- cmake_src_configure
-}
diff --git a/media-video/openshot/Manifest b/media-video/openshot/Manifest
index c7d5944f54b6..231590e5be23 100644
--- a/media-video/openshot/Manifest
+++ b/media-video/openshot/Manifest
@@ -1 +1,2 @@
DIST openshot-2.6.1.tar.gz 68566443 BLAKE2B b3a163983bdb811103e5d9307beeb38938719747f743dd58520a0166c08eb11f4592d47bf24224062f9db323a66a2f353eb22f087982b929d60a519cd2c40789 SHA512 9e2d1eae5d72ec2deab914e464dac0d84a864ba2ca63104fad57c90fc907764d5683149fb8136d50030cae993cef9a977e995b0783868988de4668e71a3a5ee2
+DIST openshot-3.1.1.tar.gz 95843738 BLAKE2B 4059fe12b064692070278366f787789866dcbe39414d10217fb62b671dda98ebb6d2f76b8e1cfe2284a647e3d7ebc460b620ba0756a4542f5b26e7ef669e9b3e SHA512 4e5a42825abf8e3862957039169905a6f03872d81de454f52a57ace2e636e91b2f4e87ae603bf9669baa7d1bbbd6c0213efd0c72e23f2b209ba266af2fbe380f
diff --git a/media-video/openshot/openshot-2.6.1.ebuild b/media-video/openshot/openshot-2.6.1.ebuild
index cc756b557a00..a013ab34e233 100644
--- a/media-video/openshot/openshot-2.6.1.ebuild
+++ b/media-video/openshot/openshot-2.6.1.ebuild
@@ -3,8 +3,8 @@
EAPI=7
-PYTHON_COMPAT=( python3_{9..10} )
-PYTHON_REQ_USE=xml
+PYTHON_COMPAT=( python3_{10..11} )
+PYTHON_REQ_USE="xml(+)"
DISTUTILS_SINGLE_IMPL=1
inherit distutils-r1 xdg
@@ -18,7 +18,7 @@ S="${WORKDIR}/${MY_PN}-${PV}"
LICENSE="GPL-3+"
SLOT="1"
-KEYWORDS="amd64 x86"
+KEYWORDS="amd64 ~x86"
IUSE="doc"
RDEPEND="$(python_gen_cond_dep '
@@ -44,12 +44,12 @@ python_compile_all() {
use doc && emake -C doc html
}
-python_install_all() {
- use doc && local HTML_DOCS=( doc/_build/html/. )
- distutils-r1_python_install_all
-}
-
python_test() {
distutils_install_for_testing
"${EPYTHON}" src/tests/query_tests.py -v --platform minimal || die
}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/media-video/openshot/openshot-3.1.1.ebuild b/media-video/openshot/openshot-3.1.1.ebuild
new file mode 100644
index 000000000000..e4e04dbc01cd
--- /dev/null
+++ b/media-video/openshot/openshot-3.1.1.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{10..11} )
+PYTHON_REQ_USE="xml(+)"
+DISTUTILS_SINGLE_IMPL=1
+
+inherit distutils-r1 xdg
+
+MY_PN="${PN}-qt"
+
+DESCRIPTION="Award-winning free and open-source video editor"
+HOMEPAGE="https://openshot.org/"
+SRC_URI="https://github.com/OpenShot/${MY_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+LICENSE="GPL-3+"
+SLOT="1"
+KEYWORDS="amd64 ~x86"
+IUSE="doc"
+
+RDEPEND="$(python_gen_cond_dep '
+ dev-python/httplib2[${PYTHON_USEDEP}]
+ dev-python/PyQt5[${PYTHON_USEDEP},gui,svg,widgets]
+ dev-python/PyQtWebEngine[${PYTHON_USEDEP}]
+ dev-python/pyzmq[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ ')
+ >=media-libs/libopenshot-0.3.2:0=[python,${PYTHON_SINGLE_USEDEP}]"
+DEPEND=""
+BDEPEND="$(python_gen_cond_dep '
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ ')"
+
+src_prepare() {
+ distutils-r1_python_prepare_all
+ # prevent setup.py from trying to update MIME databases
+ sed -i 's/^ROOT =.*/ROOT = False/' setup.py || die
+}
+
+python_compile_all() {
+ use doc && emake -C doc html
+}
+
+python_test() {
+ distutils_install_for_testing
+ "${EPYTHON}" src/tests/query_tests.py -v --platform minimal || die
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/media-video/parole/Manifest b/media-video/parole/Manifest
index c864f7f723e5..4bd611f5ad59 100644
--- a/media-video/parole/Manifest
+++ b/media-video/parole/Manifest
@@ -1 +1 @@
-DIST parole-4.16.0.tar.bz2 924955 BLAKE2B 7f5c9994e65ce66aa34211047228840e1747cbbaebe0f03d27501d54ef0372e55f294f37869bfaba378e3ab6447e9824798d0c9906549b7c822ce60c54ac81a5 SHA512 fe4723ce3e2106935b4577647920d6759ade3311ef92d5633a309aeb930b81974dd8e5f65958a304a117e614341cba032a54d0c81bdd386d592c64ed2aa31124
+DIST parole-4.18.1.tar.bz2 934059 BLAKE2B db5b6345bcf8eae47668bfd504106b8f44bb272a7d9e88fb53824a4141c88a45f4fdcb6df5a5513ebba82ffda9438be91ffe060d1cc19f0ab56887dc3ff606e1 SHA512 ec2b8036f2be594dc13c37aca76b7250ec1792c7166501e9a2775efb731e87cf6894196243e68026437e2bbd4a9edf1aa9cfa076886e333e2ecf4523f8f1d647
diff --git a/media-video/parole/parole-4.16.0.ebuild b/media-video/parole/parole-4.18.1.ebuild
index 185f0d300764..22957f3ae0b8 100644
--- a/media-video/parole/parole-4.16.0.ebuild
+++ b/media-video/parole/parole-4.18.1.ebuild
@@ -1,41 +1,52 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit xdg-utils
DESCRIPTION="A simple Xfce4 media player using GStreamer"
-HOMEPAGE="https://docs.xfce.org/apps/parole/start"
+HOMEPAGE="
+ https://docs.xfce.org/apps/parole/start
+ https://gitlab.xfce.org/apps/parole/
+"
SRC_URI="https://archive.xfce.org/src/apps/${PN}/${PV%.*}/${P}.tar.bz2"
LICENSE="GPL-2+"
SLOT="0"
-KEYWORDS="amd64 ~mips x86"
-IUSE="libnotify taglib"
+KEYWORDS="amd64 arm arm64 ~ia64 ~loong ~mips ~ppc ppc64 ~riscv x86"
+IUSE="libnotify taglib wayland X"
+REQUIRED_USE="|| ( wayland X )"
DEPEND="
>=dev-libs/dbus-glib-0.100
- >=dev-libs/glib-2.32:2
+ >=dev-libs/glib-2.38:2
media-libs/gstreamer:1.0
media-libs/gst-plugins-base:1.0
sys-apps/dbus
- >=x11-libs/gtk+-3.20:3
- x11-libs/libX11
+ >=x11-libs/gtk+-3.20:3[wayland?,X?]
>=xfce-base/libxfce4ui-4.11:=[gtk3(+)]
>=xfce-base/libxfce4util-4.11:=
>=xfce-base/xfconf-4.10:=
libnotify? ( >=x11-libs/libnotify-0.7 )
- taglib? ( >=media-libs/taglib-1.6:0= )"
-RDEPEND="${DEPEND}
- media-plugins/gst-plugins-meta:1.0"
+ taglib? ( >=media-libs/taglib-1.6:0= )
+ X? (
+ >=x11-libs/libX11-1.6.7
+ )
+"
+RDEPEND="
+ ${DEPEND}
+ media-plugins/gst-plugins-meta:1.0
+"
DEPEND+="
- x11-base/xorg-proto"
+ x11-base/xorg-proto
+"
BDEPEND="
dev-util/glib-utils
dev-util/intltool
sys-devel/gettext
- virtual/pkgconfig"
+ virtual/pkgconfig
+"
src_configure() {
local myconf=(
@@ -43,6 +54,8 @@ src_configure() {
--disable-clutter
$(use_enable taglib)
$(use_enable libnotify notify-plugin)
+ $(use_enable wayland)
+ $(use_enable X x11)
)
econf "${myconf[@]}"
diff --git a/media-video/pipewire/Manifest b/media-video/pipewire/Manifest
index e51e22391355..575861ba7b97 100644
--- a/media-video/pipewire/Manifest
+++ b/media-video/pipewire/Manifest
@@ -1,3 +1,5 @@
-DIST pipewire-0.3.63.tar.bz2 1485423 BLAKE2B 8629bce6d11959d4b3930d7db4e0ad201981002d52c6b73b3ee2b0ac141518f553f7b0e47aef4157b3c3ef71c6b544889f60f4be0fadb01b8a35c1d457edb1aa SHA512 0a45e9017bbcd74f21c6a1f388c5b58123deec083bbc9a9e695948ea95e67b6384acfff6e5ab685ea7287b4696e01176e257b73286ecd03c2d2e43d80fd60805
-DIST pipewire-0.3.64.tar.bz2 1490475 BLAKE2B 9a4d9e23a5d60da7c5788ce5145ce083f13fe771f3f5bcb3dfd1e9560d982f20415f32f756b875081464e1b175ef80af56d7babb3bbbd7a5eaf034c9c43b810a SHA512 4dff77cf1ab9fefffad1b6f7182115dbb5e4f0339f052dcfcc34b62687b461d25a6f891d1ad0246dab5a8cb80ca190d97d358a6494da8c6a8cc64e0b38452093
-DIST pipewire-0.3.65.tar.bz2 1522095 BLAKE2B d991820e8780773ccf1cd68baa3156428eb099703b82c3e3ad24a86bc634ad43fb474fe362de5e5704ee8b35832b75995fd56096b6539835e8b1f31710450d08 SHA512 0c2402044a04ab6ba724b0808279498e2126dd567920f3241d7d3d5e13ea676e353fc85a73634cf4cae5429454250dfce5cd18ba4a5444a7ed1a5ca2e0ae1eef
+DIST pipewire-1.0.0-docs.tar.xz 33632 BLAKE2B be06aa7242f7d2f8627b3bf2a2ae491dbda456a24811a767218eb89b1fd5961a461697e5d8ae2782323fdb927985fa4fd5dd40c21268b1c7939f4cd3c9e1a9ab SHA512 14f794c4152d7d9a4a7d9d4d5c2ff381c2a8262deaff034f993c4d28629fca8cc3d71d3a7c02982703e449fae5f58257fea0c20db02bf95b5aed88a4d99d2c58
+DIST pipewire-1.0.0.tar.bz2 1682155 BLAKE2B de48de0f486a530ee060acdc6d35e27bf298e195e2c3d21a9444da7459ef02b44d97147b3bd3a820bdf28ebffbee910f77306a28ffb1b12eeaf8ce37f8d97a6f SHA512 8955bd16ba8508d5838e960ae8c089efaeb9dab0c08719baea8f8f8047cd53b84a46b2459ecd7f000f21b0025a52e93f052025e71c07dc4a2aef89237c5c87f1
+DIST pipewire-1.0.3.tar.bz2 1682330 BLAKE2B cf7f69ee8db703b3e441b6ca34aec4e41cc9cd5c0a21344adee2adcbf5b1b9d5fc3913dece88946e34cf7081402d21ea617cfcd0d09bc2780394bc20a5149296 SHA512 e568b9eb328d701c06a93c4f1556bf8db6e972877a7f2a5776fe77a20130a63972b3f78d52da66ccb1b2ee9df5451a403ab83aef5662dc5d93a6dfbedb23f66a
+DIST pipewire-1.0.4.tar.bz2 1698660 BLAKE2B 0842a5fca65c8a91eadd9f0594864ae0f0d428b3c03d2c5fecc3b7f62ff6f5d24fc1190eb351279c002e26596148b23b4b576551502be21beb2eeaa0d2ad4dac SHA512 42e8e28b1fd497f5329b5966abd5cfb7d7976fb0ca9f8f39bccf44195dd11f227cdec2448ba7db4559e866ea2dccf64b8172a2ae069c5204cd8f66c0f8a9e2d9
+DIST pipewire-1.0.5.tar.bz2 1698291 BLAKE2B 0f919a01b5f84060fb2ce560a7790a0d59374671f52a941492930fe21ac39178688f27f00cad649d239901f88b392e16895648efae2ec2785c394c1f6d186ddf SHA512 18fbbe36c8752eb0f1df5ee3f3fffee279addcec9825281bd165ad8316f17af7e91bb5759f63c16139c074b03e5a77ef9d596a87f584d1580bbb754101b70a0f
diff --git a/media-video/pipewire/files/0.3.64/0001-spa-Fix-audioconvert-overflow-when-scaling.patch b/media-video/pipewire/files/0.3.64/0001-spa-Fix-audioconvert-overflow-when-scaling.patch
deleted file mode 100644
index e24b8153ef6d..000000000000
--- a/media-video/pipewire/files/0.3.64/0001-spa-Fix-audioconvert-overflow-when-scaling.patch
+++ /dev/null
@@ -1,65 +0,0 @@
-https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/1d9640af5a7906620f214aa0a39c63128c8506a6.
-
-From 1d9640af5a7906620f214aa0a39c63128c8506a6 Mon Sep 17 00:00:00 2001
-From: Wim Taymans <wtaymans@redhat.com>
-Date: Mon, 16 Jan 2023 18:28:31 +0100
-Subject: [PATCH] spa: Fix audioconvert overflow when scaling
-
-Add SPA_SCALE32_UP that scales a uint32 without overflow.
-Use this for scaling the threshold in ALSA.
-Fix the scaling in audioconvert of the buffer size, the scaling was
-wrong and it was also causing an overflow resulting in choppy sound in
-some cases.
-
-See #2680
---- a/spa/include/spa/utils/defs.h
-+++ b/spa/include/spa/utils/defs.h
-@@ -274,6 +274,14 @@ struct spa_fraction {
- #define SPA_ROUND_DOWN_N(num,align) ((num) & ~SPA_ROUND_MASK(num, align))
- #define SPA_ROUND_UP_N(num,align) ((((num)-1) | SPA_ROUND_MASK(num, align))+1)
-
-+#define SPA_SCALE32_UP(val,num,denom) \
-+({ \
-+ uint64_t _val = (val); \
-+ uint64_t _denom = (denom); \
-+ (uint32_t)(((_val) * (num) + (_denom)-1) / (_denom)); \
-+})
-+
-+
- #define SPA_PTR_ALIGNMENT(p,align) ((intptr_t)(p) & ((align)-1))
- #define SPA_IS_ALIGNED(p,align) (SPA_PTR_ALIGNMENT(p,align) == 0)
- #define SPA_PTR_ALIGN(p,align,type) ((type*)SPA_ROUND_UP_N((intptr_t)(p), (intptr_t)(align)))
---- a/spa/plugins/alsa/alsa-pcm.c
-+++ b/spa/plugins/alsa/alsa-pcm.c
-@@ -1999,7 +1999,7 @@ static inline void check_position_config(struct state *state)
- (state->rate_denom != state->position->clock.rate.denom))) {
- state->duration = state->position->clock.duration;
- state->rate_denom = state->position->clock.rate.denom;
-- state->threshold = (state->duration * state->rate + state->rate_denom-1) / state->rate_denom;
-+ state->threshold = SPA_SCALE32_UP(state->duration, state->rate, state->rate_denom);
- state->max_error = SPA_MAX(256.0f, state->threshold / 2.0f);
- state->resample = ((uint32_t)state->rate != state->rate_denom) || state->matching;
- state->alsa_sync = true;
-@@ -2569,7 +2569,7 @@ int spa_alsa_start(struct state *state)
- setup_matching(state);
-
- spa_dll_init(&state->dll);
-- state->threshold = (state->duration * state->rate + state->rate_denom-1) / state->rate_denom;
-+ state->threshold = SPA_SCALE32_UP(state->duration, state->rate, state->rate_denom);
- state->last_threshold = state->threshold;
- state->max_error = SPA_MAX(256.0f, state->threshold / 2.0f);
-
---- a/spa/plugins/audioconvert/audioconvert.c
-+++ b/spa/plugins/audioconvert/audioconvert.c
-@@ -1755,7 +1755,7 @@ impl_node_port_enum_params(void *object, int seq,
- size = this->quantum_limit * 2;
- /* scale the buffer size when we can. */
- if (irate != 0 && orate != 0)
-- size = size * (irate + orate - 1) / orate;
-+ size = SPA_SCALE32_UP(size, irate, orate);
- }
-
- param = spa_pod_builder_add_object(&b,
---
-2.39.1
-
diff --git a/media-video/pipewire/files/0.3.64/0002-filter-chain-fix-AVX-dsp_sum-index-increment.patch b/media-video/pipewire/files/0.3.64/0002-filter-chain-fix-AVX-dsp_sum-index-increment.patch
deleted file mode 100644
index f33a83ab7a10..000000000000
--- a/media-video/pipewire/files/0.3.64/0002-filter-chain-fix-AVX-dsp_sum-index-increment.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/ccedf1722ae44c97ec0d058b349494c67a0b56dc
-
-From ccedf1722ae44c97ec0d058b349494c67a0b56dc Mon Sep 17 00:00:00 2001
-From: Wim Taymans <wtaymans@redhat.com>
-Date: Tue, 17 Jan 2023 09:24:00 +0100
-Subject: [PATCH] filter-chain: fix AVX dsp_sum index increment
-
-Fixes #2965
---- a/src/modules/module-filter-chain/dsp-ops-avx.c
-+++ b/src/modules/module-filter-chain/dsp-ops-avx.c
-@@ -59,7 +59,7 @@ void dsp_sum_avx(struct dsp_ops *ops, float *r, const float *a, const float *b,
- _mm256_store_ps(&r[n+24], in[3]);
- }
- } else {
-- for (n = 0; n < unrolled; n += 16) {
-+ for (n = 0; n < unrolled; n += 32) {
- in[0] = _mm256_loadu_ps(&a[n+ 0]);
- in[1] = _mm256_loadu_ps(&a[n+ 8]);
- in[2] = _mm256_loadu_ps(&a[n+16]);
---
-2.39.1
-
diff --git a/media-video/pipewire/files/0.3.64/0003-keys-don-t-remove-deprecated-symbols-by-default.patch b/media-video/pipewire/files/0.3.64/0003-keys-don-t-remove-deprecated-symbols-by-default.patch
deleted file mode 100644
index fe022959a913..000000000000
--- a/media-video/pipewire/files/0.3.64/0003-keys-don-t-remove-deprecated-symbols-by-default.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/a979c0f43078cbfefa2ba614ee078579042d2de2
-
-From a979c0f43078cbfefa2ba614ee078579042d2de2 Mon Sep 17 00:00:00 2001
-From: Wim Taymans <wtaymans@redhat.com>
-Date: Tue, 17 Jan 2023 11:58:04 +0100
-Subject: [PATCH] keys: don't remove deprecated symbols by default
-
-Add a new macro to mark deprecated keys. The macro will emit a warning
-about the symbol being deprecated.
-PW_ENABLE_DEPRECATED will suppress the deprecation warning.
-Add PW_REMOVE_DEPRECATED to completely remove the deprecated symbols.
-
-Fixes #2952
---- a/src/pipewire/keys.h
-+++ b/src/pipewire/keys.h
-@@ -29,6 +29,7 @@
- extern "C" {
- #endif
-
-+#include <pipewire/utils.h>
- /**
- * \defgroup pw_keys Key Names
- *
-@@ -337,14 +338,14 @@ extern "C" {
- #define PW_KEY_VIDEO_FORMAT "video.format" /**< a video format */
- #define PW_KEY_VIDEO_SIZE "video.size" /**< a video size as "<width>x<height" */
-
--#ifdef PW_ENABLE_DEPRECATED
--#define PW_KEY_PRIORITY_MASTER "priority.master" /**< deprecated */
--#define PW_KEY_NODE_TARGET "node.target" /**< deprecated since 0.3.64, use target.object. */
--#endif /* PW_ENABLE_DEPRECATED */
--
- #define PW_KEY_TARGET_OBJECT "target.object" /**< a target object to link to. This can be
- * and object name or object.serial */
-
-+#ifndef PW_REMOVE_DEPRECATED
-+#define PW_KEY_PRIORITY_MASTER PW_DEPRECATED("priority.master") /**< deprecated, use priority.driver */
-+#define PW_KEY_NODE_TARGET PW_DEPRECATED("node.target") /**< deprecated since 0.3.64, use target.object. */
-+#endif /* PW_REMOVE_DEPRECATED */
-+
- /** \}
- */
-
---- a/src/pipewire/utils.h
-+++ b/src/pipewire/utils.h
-@@ -94,6 +94,12 @@ ssize_t pw_getrandom(void *buf, size_t buflen, unsigned int flags);
-
- void* pw_reallocarray(void *ptr, size_t nmemb, size_t size);
-
-+#ifdef PW_ENABLE_DEPRECATED
-+#define PW_DEPRECATED(v) (v)
-+#else
-+#define PW_DEPRECATED(v) ({ __typeof__(v) _v SPA_DEPRECATED = (v); (void)_v; (v); })
-+#endif /* PW_ENABLE_DEPRECATED */
-+
- /**
- * \}
- */
---
-2.39.1
-
diff --git a/media-video/pipewire/files/0.3.65/0001-modules-also-install-module-combine-stream.patch b/media-video/pipewire/files/0.3.65/0001-modules-also-install-module-combine-stream.patch
deleted file mode 100644
index 6e7dc42c2704..000000000000
--- a/media-video/pipewire/files/0.3.65/0001-modules-also-install-module-combine-stream.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/fba7083f8ceb210c7c20aceafeb5c9a8767cf705
-
-From fba7083f8ceb210c7c20aceafeb5c9a8767cf705 Mon Sep 17 00:00:00 2001
-From: Wim Taymans <wtaymans@redhat.com>
-Date: Thu, 26 Jan 2023 11:57:45 +0100
-Subject: [PATCH] modules: also install module-combine-stream
-
---- a/src/modules/meson.build
-+++ b/src/modules/meson.build
-@@ -139,7 +139,7 @@ pipewire_module_echo_cancel_sources = [
- pipewire_module_combine_stream = shared_library('pipewire-module-combine-stream',
- [ 'module-combine-stream.c' ],
- include_directories : [configinc],
-- install : false,
-+ install : true,
- install_dir : modules_install_dir,
- install_rpath: modules_install_dir,
- dependencies : [spa_dep, dl_lib, pipewire_dep],
---
-2.39.1
-
diff --git a/media-video/pipewire/files/0.3.65/0002-spa-bluez5-fix-dependency-on-glib-in-bluez5_deps.patch b/media-video/pipewire/files/0.3.65/0002-spa-bluez5-fix-dependency-on-glib-in-bluez5_deps.patch
deleted file mode 100644
index 2763236693d7..000000000000
--- a/media-video/pipewire/files/0.3.65/0002-spa-bluez5-fix-dependency-on-glib-in-bluez5_deps.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-https://gitlab.freedesktop.org/pipewire/pipewire/-/merge_requests/1511
-
-From 18fa7a555cc43c7219a53d836d9561faec6d6310 Mon Sep 17 00:00:00 2001
-From: Sam James <sam@gentoo.org>
-Date: Sat, 28 Jan 2023 11:04:48 +0000
-Subject: [PATCH] spa: bluez5: fix dependency on glib in bluez5_deps
-
-In de595a78ff958b8314d853f6266d5832529d9729, we started to require glib
-for building bluez and introduced dependencies for the needed gio* bits,
-but we only ever check for glib itself for gstreamer or flatpak.
-
-Drop glib from the dep list to match the summary() & subsequent bluez_deps_found
-logic in spa/meson.build.
-
-Fixes: https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/2999
---- a/spa/plugins/bluez5/meson.build
-+++ b/spa/plugins/bluez5/meson.build
-@@ -1,6 +1,6 @@
- gnome = import('gnome')
-
--bluez5_deps = [ mathlib, dbus_dep, glib2_dep, sbc_dep, bluez_dep, gio_dep, gio_unix_dep ]
-+bluez5_deps = [ mathlib, dbus_dep, sbc_dep, bluez_dep, gio_dep, gio_unix_dep ]
- foreach dep: bluez5_deps
- if not dep.found()
- subdir_done()
---
-2.39.1
-
diff --git a/media-video/pipewire/files/1.0.0/0001-fix-compile-with-no-examples.patch b/media-video/pipewire/files/1.0.0/0001-fix-compile-with-no-examples.patch
new file mode 100644
index 000000000000..fee0ac1bc328
--- /dev/null
+++ b/media-video/pipewire/files/1.0.0/0001-fix-compile-with-no-examples.patch
@@ -0,0 +1,59 @@
+https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/3675
+https://gitlab.freedesktop.org/pipewire/pipewire/-/merge_requests/1790
+
+From 6b4cdab57a0678e88992fb4e5b216e481b051808 Mon Sep 17 00:00:00 2001
+From: Pauli Virtanen <pav@iki.fi>
+Date: Sun, 26 Nov 2023 18:31:43 +0200
+Subject: [PATCH] meson.build: fix compile with -Dexamples=disabled
+
+--- a/spa/examples/meson.build
++++ b/spa/examples/meson.build
+@@ -6,6 +6,10 @@ spa_examples = [
+ 'local-v4l2',
+ ]
+
++if not get_option('examples').allowed()
++ subdir_done()
++endif
++
+ spa_examples_extra_deps = {
+ 'local-v4l2': [sdl_dep],
+ 'local-libcamera': [sdl_dep, libcamera_dep],
+--- a/spa/meson.build
++++ b/spa/meson.build
+@@ -113,6 +113,4 @@ endif
+
+ subdir('tools')
+ subdir('tests')
+-if get_option('examples').allowed()
+- subdir('examples')
+-endif
++subdir('examples')
+--- a/src/examples/meson.build
++++ b/src/examples/meson.build
+@@ -22,6 +22,10 @@ examples = [
+ 'local-v4l2',
+ ]
+
++if not get_option('examples').allowed()
++ subdir_done()
++endif
++
+ examples_extra_deps = {
+ 'video-src-fixate': [drm_dep],
+ 'video-play': [sdl_dep],
+--- a/src/meson.build
++++ b/src/meson.build
+@@ -3,9 +3,7 @@ subdir('pipewire')
+ subdir('daemon')
+ subdir('tools')
+ subdir('modules')
+-if get_option('examples').allowed()
+- subdir('examples')
+-endif
++subdir('examples')
+ if get_option('tests').allowed()
+ subdir('tests')
+ endif
+--
+GitLab
diff --git a/media-video/pipewire/files/1.0.0/0002-fix-x11-bell-segfault.patch b/media-video/pipewire/files/1.0.0/0002-fix-x11-bell-segfault.patch
new file mode 100644
index 000000000000..ecf7ded220f4
--- /dev/null
+++ b/media-video/pipewire/files/1.0.0/0002-fix-x11-bell-segfault.patch
@@ -0,0 +1,29 @@
+https://bugs.gentoo.org/919133
+https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/3688
+https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/8ecc61e1177c94e78fa171ee359cfbbd239942bc
+
+From 8ecc61e1177c94e78fa171ee359cfbbd239942bc Mon Sep 17 00:00:00 2001
+From: Wim Taymans <wtaymans@redhat.com>
+Date: Tue, 5 Dec 2023 16:18:30 +0100
+Subject: [PATCH] module-x11-bell: force pulse backend
+
+The libcanberra ALSA backend has some races and causes crashes, we
+should try to not use that one.
+
+Fixes #3688
+--- a/src/modules/module-x11-bell.c
++++ b/src/modules/module-x11-bell.c
+@@ -104,6 +104,11 @@ static int play_sample(struct impl *impl)
+ res = -EIO;
+ goto exit;
+ }
++ if ((res = ca_context_set_driver(ca, "pulse")) < 0) {
++ pw_log_error("canberra context set backend error: %s", ca_strerror(res));
++ res = -EIO;
++ goto exit_destroy;
++ }
+ if ((res = ca_context_open(ca)) < 0) {
+ pw_log_error("canberra context open error: %s", ca_strerror(res));
+ res = -EIO;
+--
+GitLab
diff --git a/media-video/pipewire/files/gentoo-pipewire-launcher.1 b/media-video/pipewire/files/gentoo-pipewire-launcher.1
new file mode 100644
index 000000000000..36e697c632cd
--- /dev/null
+++ b/media-video/pipewire/files/gentoo-pipewire-launcher.1
@@ -0,0 +1,52 @@
+.TH "gentoo-pipewire-launcher" "1" "2023-06-15"
+.SH "NAME"
+gentoo\-pipewire\-launcher \- start instances of PipeWire, PipeWire-Pulse and WirePlumber
+.SH "SYNOPSIS"
+.BR gentoo\-pipewire\-launcher
+[restart]
+.SH "DESCRIPTION"
+\fIgentoo\-pipewire\-launcher\fR starts instances of PipeWire and
+WirePlumber.
+Two instances of PipeWire are started: one as the core sound-server, and
+one for PulseAudio emulation (cf.\&
+.BR pipewire-pulse (1)\fR).
+.PP
+It must be run in an environment with an active D-Bus session bus,
+i.e. one in which the
+.B DBUS_SESSION_BUS_ADDRESS
+environment variable is set appropriately.
+.PP
+\fIgentoo\-pipewire\-launcher\fR
+tries to avoid restarting, in order to avoid audio dropouts.
+However, a restart can be forced by calling
+\fIgentoo\-pipewire\-launcher\fR
+with an argument of \(oqrestart\(cq.
+.PP
+.B ${XDG_CONFIG_HOME}/gentoo\-pipewire\-launcher.conf
+(or, if
+.B ${XDG_CONFIG_HOME}
+is not set,
+.BR ${HOME}/.config/gentoo\-pipewire\-launcher.conf )
+can be used to specify absolute paths of files to which log output
+should be sent, by specifying values for one or more of the
+.B GENTOO_PIPEWIRE_LOG\fR,
+.B GENTOO_PIPEWIRE_PULSE_LOG\fR,
+and
+.B GENTOO_WIREPLUMBER_LOG
+variables, one per line.
+.SH "REPORTING BUGS"
+Please report bugs via https://bugs.gentoo.org/
+.SH "FILES"
+.TP
+.B ${XDG_CONFIG_HOME}/gentoo\-pipewire\-launcher.conf
+configures locations of files for log output.
+.TP
+.B ${HOME}/.config/gentoo\-pipewire\-launcher.conf
+configures locations of files for log output if
+.B ${XDG_CONFIG_HOME}
+is not set.
+.SH "SEE ALSO"
+.BR pipewire (1),
+.BR pipewire-pulse (1),
+.BR wireplumber (1),
+.BR pipewire.conf (5)
diff --git a/media-video/pipewire/files/gentoo-pipewire-launcher.in b/media-video/pipewire/files/gentoo-pipewire-launcher.in
deleted file mode 100644
index 495c47f6c7e1..000000000000
--- a/media-video/pipewire/files/gentoo-pipewire-launcher.in
+++ /dev/null
@@ -1,29 +0,0 @@
-#!/bin/sh
-
-# PipeWire launcher script for XDG compliant desktops on OpenRC.
-#
-# systemd users are very _STRONGLY_ advised to use the much
-# more reliable and predictable user units instead.
-
-# WARNING: This script assumes being run inside XDG compliant session,
-# which means D-Bus session instance is expected to be correctly set up
-# prior to this script starting. If that is not true, things may break!
-
-# Best to reap any existing daemons and only then try to start a new set.
-pkill -u "${USER}" -x pipewire\|wireplumber 1>/dev/null 2>&1
-
-# The core daemon which by itself does probably nothing.
-@GENTOO_PORTAGE_EPREFIX@/usr/bin/pipewire &
-
-# The so called pipewire-pulse daemon used for PulseAudio compatibility.
-# Commenting this out will stop the PA proxying daemon from starting,
-# however ALSA (with pipewire-alsa), JACK (with jack-sdk) and PW API using
-# clients will still have access to audio and may end up clashing with
-# non-PW apps over HW control (most notably, /usr/bin/pulseaudio daemon).
-@GENTOO_PORTAGE_EPREFIX@/usr/bin/pipewire -c pipewire-pulse.conf &
-
-# Hack for bug #822498
-sleep 1
-
-# Finally a session manager is required for PipeWire to do anything.
-exec @GENTOO_PORTAGE_EPREFIX@/usr/bin/wireplumber
diff --git a/media-video/pipewire/files/gentoo-pipewire-launcher.in-r3 b/media-video/pipewire/files/gentoo-pipewire-launcher.in-r3
new file mode 100644
index 000000000000..abe9174c4253
--- /dev/null
+++ b/media-video/pipewire/files/gentoo-pipewire-launcher.in-r3
@@ -0,0 +1,84 @@
+#!/bin/sh
+
+# PipeWire launcher script for XDG compliant desktops on OpenRC.
+#
+# systemd users are very _STRONGLY_ advised to use the much
+# more reliable and predictable user units instead.
+
+# WARNING: This script assumes being run inside XDG compliant session,
+# which means D-Bus session instance is expected to be correctly set up
+# prior to this script starting. If that is not true, things may break!
+
+DATE_FORMAT='+%Y-%m-%dT%H:%M:%S%Z'
+
+CONF="${XDG_CONFIG_HOME:-${HOME}/.config}/gentoo-pipewire-launcher.conf"
+if [ -f "${CONF}" ]
+then
+ . "${CONF}"
+else
+ GENTOO_PIPEWIRE_LOG='/dev/null'
+ GENTOO_PIPEWIRE_PULSE_LOG='/dev/null'
+ GENTOO_WIREPLUMBER_LOG='/dev/null'
+fi
+for L in \
+ "${GENTOO_PIPEWIRE_LOG}" \
+ "${GENTOO_PIPEWIRE_PULSE_LOG}" \
+ "${GENTOO_WIREPLUMBER_LOG}"
+do
+ if [ ! -e "${L}" ]
+ then
+ touch "${L}"
+ fi
+done
+
+restart () {
+ echo "Terminating PipeWire processes ..."
+ pkill -u "${USER}" -x pipewire\|wireplumber 1>/dev/null 2>&1
+
+ # pidwait was renamed to pwait w/ procps-4 (bug #914030)
+ if command -v pidwait > /dev/null ; then
+ pidwait -u "${USER}" -x pipewire\|wireplumber
+ elif command -v pwait > /dev/null ; then
+ pwait -u "${USER}" -x pipewire\|wireplumber
+ fi
+
+ echo "PipeWire terminated."
+}
+
+if [ "${#}" -gt 0 ]
+then
+ if [ "${1}" = 'restart' ]
+ then
+ restart
+ else
+ echo "Unrecognised argument." >&2
+ echo "Usage: gentoo-pipewire-launcher [restart]" >&2
+ exit 1
+ fi
+fi
+
+if pgrep -u "${USER}" -x pipewire\|wireplumber 1>/dev/null 2>&1
+then
+ echo "PipeWire already running, exiting." >&2
+ echo "(Use 'gentoo-pipewire-launcher restart' to restart PipeWire and WirePlumber.)" >&2
+ exit 1
+fi
+
+# The core daemon which by itself does probably nothing.
+echo "[$(@GENTOO_PORTAGE_EPREFIX@/bin/date ${DATE_FORMAT})] Starting PipeWire." 1>>"${GENTOO_PIPEWIRE_LOG}"
+@GENTOO_PORTAGE_EPREFIX@/usr/bin/pipewire 1>>"${GENTOO_PIPEWIRE_LOG}" 2>&1 &
+
+# The so called pipewire-pulse daemon used for PulseAudio compatibility.
+# Commenting this out will stop the PA proxying daemon from starting,
+# however ALSA (with pipewire-alsa), JACK (with jack-sdk) and PW API using
+# clients will still have access to audio and may end up clashing with
+# non-PW apps over HW control (most notably, /usr/bin/pulseaudio daemon).
+echo "[$(@GENTOO_PORTAGE_EPREFIX@/bin/date ${DATE_FORMAT})] Starting PipeWire-Pulse." 1>>"${GENTOO_PIPEWIRE_PULSE_LOG}"
+@GENTOO_PORTAGE_EPREFIX@/usr/bin/pipewire -c pipewire-pulse.conf 1>>"${GENTOO_PIPEWIRE_PULSE_LOG}" 2>&1 &
+
+# Hack for bug #822498
+sleep 1
+
+# Finally a session manager is required for PipeWire to do anything.
+echo "[$(@GENTOO_PORTAGE_EPREFIX@/bin/date ${DATE_FORMAT})] Starting WirePlumber." 1>>"${GENTOO_WIREPLUMBER_LOG}"
+exec @GENTOO_PORTAGE_EPREFIX@/usr/bin/wireplumber 1>>"${GENTOO_WIREPLUMBER_LOG}" 2>&1
diff --git a/media-video/pipewire/files/gentoo-sound-server-enable-audio-bluetooth.conf b/media-video/pipewire/files/gentoo-sound-server-enable-audio-bluetooth.conf
new file mode 100644
index 000000000000..c5b4f8036b54
--- /dev/null
+++ b/media-video/pipewire/files/gentoo-sound-server-enable-audio-bluetooth.conf
@@ -0,0 +1,6 @@
+wireplumber.profiles = {
+ main = {
+ hardware.audio = required
+ hardware.bluetooth = required
+ }
+}
diff --git a/media-video/pipewire/files/pipewire-0.3.63-alsa-node-target.patch b/media-video/pipewire/files/pipewire-0.3.63-alsa-node-target.patch
deleted file mode 100644
index 8a4169b57af5..000000000000
--- a/media-video/pipewire/files/pipewire-0.3.63-alsa-node-target.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/89ac6b353521fb9a6d6eb6bb74724c4fa968f75c
-https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/2893
-
-From 89ac6b353521fb9a6d6eb6bb74724c4fa968f75c Mon Sep 17 00:00:00 2001
-From: Wim Taymans <wtaymans@redhat.com>
-Date: Sat, 17 Dec 2022 18:17:33 +0100
-Subject: [PATCH] =?UTF-8?q?alsa:=20don=C2=B4t=20set=20-1=20as=20node.targe?=
- =?UTF-8?q?t?=
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Leave the target unset when -1, just like what pw-stream does.
-
-See #2893
---- a/pipewire-alsa/alsa-plugins/pcm_pipewire.c
-+++ b/pipewire-alsa/alsa-plugins/pcm_pipewire.c
-@@ -579,7 +579,7 @@ static int snd_pcm_pipewire_prepare(snd_pcm_ioplug_t *io)
- pw_properties_setf(props, PW_KEY_NODE_LATENCY, "%lu/%u", pw->min_avail, io->rate);
- if (pw_properties_get(props, PW_KEY_NODE_RATE) == NULL)
- pw_properties_setf(props, PW_KEY_NODE_RATE, "1/%u", io->rate);
-- if (pw->target != NULL &&
-+ if (pw->target != NULL && !spa_streq(pw->target, "-1") &&
- pw_properties_get(props, PW_KEY_NODE_TARGET) == NULL)
- pw_properties_setf(props, PW_KEY_NODE_TARGET, "%s", pw->target);
-
---
-GitLab
diff --git a/media-video/pipewire/files/pipewire-0.3.63-bluetooth-typo.patch b/media-video/pipewire/files/pipewire-0.3.63-bluetooth-typo.patch
deleted file mode 100644
index 78993a57831e..000000000000
--- a/media-video/pipewire/files/pipewire-0.3.63-bluetooth-typo.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/c7b3ef0d9ff16a1e69a299870860bebcb628e298
-
-From c7b3ef0d9ff16a1e69a299870860bebcb628e298 Mon Sep 17 00:00:00 2001
-From: Pauli Virtanen <pav@iki.fi>
-Date: Wed, 21 Dec 2022 12:54:52 +0200
-Subject: [PATCH] bluez5: backend-native: fix missing brace in CIND reply
-
-It should look like ...,("battchg,(0-5)) not ...,"battchg",(0-5))
---- a/spa/plugins/bluez5/backend-native.c
-+++ b/spa/plugins/bluez5/backend-native.c
-@@ -74,7 +74,7 @@ enum {
- HFP_AG_INITIAL_CODEC_SETUP_WAIT
- };
-
--#define CIND_INDICATORS "(\"service\",(0-1)),(\"call\",(0-1)),(\"callsetup\",(0-3)),(\"callheld\",(0-2)),(\"signal\",(0-5)),(\"roam\",(0-1)),\"battchg\",(0-5))"
-+#define CIND_INDICATORS "(\"service\",(0-1)),(\"call\",(0-1)),(\"callsetup\",(0-3)),(\"callheld\",(0-2)),(\"signal\",(0-5)),(\"roam\",(0-1)),(\"battchg\",(0-5))"
- enum {
- CIND_SERVICE = 1,
- CIND_CALL,
---
-GitLab
diff --git a/media-video/pipewire/files/pipewire-0.3.63-bluez-ldac_abr.patch b/media-video/pipewire/files/pipewire-0.3.63-bluez-ldac_abr.patch
deleted file mode 100644
index a6e237ddd7c7..000000000000
--- a/media-video/pipewire/files/pipewire-0.3.63-bluez-ldac_abr.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/7758240c79a3ed15459da5d150a0b1c3612e3f79
-
-From 7758240c79a3ed15459da5d150a0b1c3612e3f79 Mon Sep 17 00:00:00 2001
-From: Wim Taymans <wtaymans@redhat.com>
-Date: Thu, 15 Dec 2022 12:20:40 +0100
-Subject: [PATCH] bluez: fix compilation without ldac_abr
-
-The define for this constant was removed but it was LDACBT_EQMID_MQ
-before.
---- a/spa/plugins/bluez5/a2dp-codec-ldac.c
-+++ b/spa/plugins/bluez5/a2dp-codec-ldac.c
-@@ -243,7 +243,7 @@ static int codec_reduce_bitpool(void *data)
- #else
- struct impl *this = data;
- int res;
-- if (this->eqmid == LDACBT_EQMID_BITRATE_330000 || !this->enable_abr)
-+ if (this->eqmid == LDACBT_EQMID_MQ || !this->enable_abr)
- return this->eqmid;
- res = ldacBT_alter_eqmid_priority(this->ldac, LDACBT_EQMID_INC_CONNECTION);
- return res;
---
-GitLab
diff --git a/media-video/pipewire/files/pipewire-0.3.63-rate-update.patch b/media-video/pipewire/files/pipewire-0.3.63-rate-update.patch
deleted file mode 100644
index 91487def58e2..000000000000
--- a/media-video/pipewire/files/pipewire-0.3.63-rate-update.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/860b8fc27ffbfd0a095e3fa4b0cd125d536283d3
-https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/2915
-https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/2891
-
-From 860b8fc27ffbfd0a095e3fa4b0cd125d536283d3 Mon Sep 17 00:00:00 2001
-From: Wim Taymans <wtaymans@redhat.com>
-Date: Thu, 29 Dec 2022 12:22:56 +0100
-Subject: [PATCH] modules: fix rate update
-
-Setting the rate with the PROP_rate would actually result in a rate
-adjustment of 1.0f / rate, so do the same here.
-
-See #2891
---- a/src/modules/module-pulse-tunnel.c
-+++ b/src/modules/module-pulse-tunnel.c
-@@ -270,7 +270,7 @@ static void update_rate(struct impl *impl, bool playback)
- impl->current_latency, impl->target_latency);
-
- SPA_FLAG_SET(impl->rate_match->flags, SPA_IO_RATE_MATCH_FLAG_ACTIVE);
-- impl->rate_match->rate = corr;
-+ impl->rate_match->rate = 1.0f / corr;
- }
-
- static void playback_stream_process(void *d)
---- a/src/modules/module-rtp-source.c
-+++ b/src/modules/module-rtp-source.c
-@@ -272,7 +272,7 @@ static void stream_process(void *data)
-
- if (sess->rate_match) {
- SPA_FLAG_SET(sess->rate_match->flags, SPA_IO_RATE_MATCH_FLAG_ACTIVE);
-- sess->rate_match->rate = corr;
-+ sess->rate_match->rate = 1.0f / corr;
- }
- }
- spa_ringbuffer_read_data(&sess->ring,
---
-GitLab
-
-
diff --git a/media-video/pipewire/files/pipewire.desktop-r1 b/media-video/pipewire/files/pipewire.desktop-r1
deleted file mode 100644
index d950312930f6..000000000000
--- a/media-video/pipewire/files/pipewire.desktop-r1
+++ /dev/null
@@ -1,12 +0,0 @@
-[Desktop Entry]
-Version=1.0
-Name[de]=PipeWire Mediensystem
-Name=PipeWire Media System
-Comment[de]=Das PipeWire Mediensystem starten
-Comment=Start the PipeWire Media System
-Exec=/usr/bin/gentoo-pipewire-launcher
-Terminal=false
-Type=Application
-X-GNOME-HiddenUnderSystemd=true
-X-KDE-HiddenUnderSystemd=true
-X-systemd-skip=true
diff --git a/media-video/pipewire/files/pipewire.desktop b/media-video/pipewire/files/pipewire.desktop-r2
index d3786e74f82b..1e8564dbe370 100644
--- a/media-video/pipewire/files/pipewire.desktop
+++ b/media-video/pipewire/files/pipewire.desktop-r2
@@ -4,7 +4,7 @@ Name[de]=PipeWire Mediensystem
Name=PipeWire Media System
Comment[de]=Das PipeWire Mediensystem starten
Comment=Start the PipeWire Media System
-Exec=/usr/libexec/pipewire-launcher
+Exec=/usr/bin/gentoo-pipewire-launcher restart
Terminal=false
Type=Application
X-GNOME-HiddenUnderSystemd=true
diff --git a/media-video/pipewire/metadata.xml b/media-video/pipewire/metadata.xml
index 4401131936e1..1e5541a20ad2 100644
--- a/media-video/pipewire/metadata.xml
+++ b/media-video/pipewire/metadata.xml
@@ -22,9 +22,11 @@
<flag name="gsettings">Use gsettings (<pkg>dev-libs/glib</pkg>) to read/save used modules (useful for e.g. <pkg>media-sound/paprefs</pkg></flag>
<flag name="jack-client">Install a plugin for running PipeWire as a JACK client</flag>
<flag name="jack-sdk">Use PipeWire as JACK replacement</flag>
+ <flag name="liblc3">Allow loading LC3 plugins via <pkg>media-sound/liblc3</pkg></flag>
<flag name="lv2">Allow loading LV2 plugins via <pkg>media-libs/lv2</pkg></flag>
<flag name="modemmanager">Combined with USE=bluetooth, allows PipeWire to perform telephony on mobile devices.</flag>
<flag name="pipewire-alsa">Replace PulseAudio's ALSA plugin with PipeWire's plugin</flag>
+ <flag name="roc">Enable roc support for real-time audio streaming over the network, using <pkg>media-libs/roc-toolkit</pkg>. See https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/Network#roc</flag>
<flag name="ssl">Enable raop-sink support (needs <pkg>dev-libs/openssl</pkg>)</flag>
<flag name="system-service">Install systemd unit files for running as a system service. Not recommended.</flag>
<flag name="X">Enable audible bell for X11</flag>
diff --git a/media-video/pipewire/pipewire-0.3.64.ebuild b/media-video/pipewire/pipewire-0.3.64.ebuild
deleted file mode 100644
index 39cb357fe7da..000000000000
--- a/media-video/pipewire/pipewire-0.3.64.ebuild
+++ /dev/null
@@ -1,439 +0,0 @@
-# Copyright 1999-2023 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.
-
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit flag-o-matic meson-multilib optfeature prefix python-any-r1 systemd udev
-
-if [[ ${PV} == 9999 ]]; then
- 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
-
- KEYWORDS="~amd64 ~arm ~arm64 ~loong ~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="bluetooth dbus doc echo-cancel extra flatpak gstreamer gsettings jack-client jack-sdk lv2
-modemmanager pipewire-alsa readline sound-server ssl system-service systemd test udev 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.
-REQUIRED_USE="
- jack-sdk? ( !jack-client )
- modemmanager? ( bluetooth )
- system-service? ( systemd )
- !sound-server? ( !pipewire-alsa )
- jack-client? ( dbus )
-"
-
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- >=dev-util/meson-0.59
- virtual/pkgconfig
- ${PYTHON_DEPS}
- $(python_gen_any_dep 'dev-python/docutils[${PYTHON_USEDEP}]')
- doc? (
- app-doc/doxygen
- media-gfx/graphviz
- )
-"
-RDEPEND="
- acct-group/audio
- media-libs/alsa-lib
- sys-libs/ncurses:=[unicode(+)]
- virtual/libintl[${MULTILIB_USEDEP}]
- bluetooth? (
- 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:0 )
- extra? (
- >=media-libs/libsndfile-1.0.20
- )
- 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
- )
- jack-client? ( >=media-sound/jack2-1.9.10:2[dbus] )
- jack-sdk? (
- !media-sound/jack-audio-connection-kit
- !media-sound/jack2
- )
- 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(+)]
- !media-sound/pulseaudio-daemon
- )
- readline? ( sys-libs/readline:= )
- ssl? ( dev-libs/openssl:= )
- systemd? ( sys-apps/systemd )
- system-service? (
- acct-user/pipewire
- acct-group/pipewire
- )
- udev? ( virtual/libudev[${MULTILIB_USEDEP}] )
- 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-video/ffmpeg:=
-# media-libs/libsdl2
-# >=media-libs/vulkan-loader-1.1.69
-#
-# Ditto for DEPEND
-# >=dev-util/vulkan-headers-1.1.69
-
-DOCS=( {README,INSTALL}.md NEWS )
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch
-)
-
-# limitsdfile related code taken from =sys-auth/realtime-base-0.1
-# with changes as necessary.
-limitsdfile=40-${PN}.conf
-
-python_check_deps() {
- python_has_version "dev-python/docutils[${PYTHON_USEDEP}]"
-}
-
-src_prepare() {
- default
-
- einfo "Generating ${limitsdfile}"
- cat > ${limitsdfile} <<- EOF || die
- # Start of ${limitsdfile} from ${P}
-
- @audio - memlock 256
-
- $(use system-service && {
- echo @pipewire - rtprio 95
- echo @pipewire - nice -19
- echo @pipewire - memlock 4194304
- })
-
- # End of ${limitsdfile} from ${P}
- EOF
-}
-
-multilib_src_configure() {
- # https://bugs.gentoo.org/838301
- filter-flags -fno-semantic-interposition
-
- 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_enabled examples) # TODO: Figure out if this is still important now that media-session gone
- $(meson_native_enabled man)
- $(meson_feature test tests)
- -Dinstalled_tests=disabled # Matches upstream; Gentoo never installs tests
- $(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
- -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)
- -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 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
- # Not yet packaged.
- -Dbluez5-codec-lc3=disabled
- -Dbluez5-codec-lc3plus=disabled
- -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 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
- $(meson_native_use_feature lv2)
- $(meson_native_use_feature v4l v4l2)
- -Dlibcamera=disabled # libcamera is not in Portage tree
- $(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)
- $(meson_feature udev)
- -Dudevrulesdir="${EPREFIX}$(get_udevdir)/rules.d"
- -Dsdl2=disabled # Controls SDL2 dependent code (currently only examples when -Dinstalled_tests=enabled which we never install)
- $(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
-
- # 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_install() {
- # Our custom DOCS do not exist in multilib source directory
- DOCS= meson_src_install
-}
-
-multilib_src_install_all() {
- einstalldocs
-
- insinto /etc/security/limits.d
- doins ${limitsdfile}
-
- 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
- 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
-
- 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
- fi
-
- if ! use systemd; then
- insinto /etc/xdg/autostart
- newins "${FILESDIR}"/pipewire.desktop-r1 pipewire.desktop
-
- exeinto /usr/bin
- newexe "${FILESDIR}"/gentoo-pipewire-launcher.in gentoo-pipewire-launcher
-
- # 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() {
- use udev && udev_reload
-}
-
-pkg_postinst() {
- use udev && udev_reload
-
- elog "It is recommended to raise RLIMIT_MEMLOCK to 256 for users"
- elog "using PipeWire. Do it either manually or add yourself"
- elog "to the 'audio' group:"
- elog
- elog " usermod -aG audio <youruser>"
- elog
-
- local ver
- for ver in ${REPLACING_VERSIONS} ; do
- if ver_test ${ver} -le 0.3.53-r1 && ! use sound-server ; then
- 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."
-
- break
- fi
- done
-
- if ! use jack-sdk; then
- 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
- 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."
- else
- 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
-
- if use sound-server && ( has_version 'media-sound/pulseaudio[daemon]' || has_version 'media-sound/pulseaudio-daemon' ) ; then
- 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
- elog "NOTE:"
- elog "Starting with PipeWire-0.3.30, this package is no longer installing its config"
- elog "into ${EROOT}/etc/pipewire by default. In case you need to change"
- elog "its config, please start by copying default config from ${EROOT}/usr/share/pipewire"
- elog "and just override the sections you want to change."
- fi
- elog
-
- 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
-
- 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
- ewarn
- fi
-
- if use system-service; then
- ewarn
- ewarn "WARNING: you have enabled the system-service USE flag, which installs"
- ewarn "the system-wide systemd units that enable 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"
- ewarn "box, and you are on your own with configuration."
- ewarn
- fi
-}
diff --git a/media-video/pipewire/pipewire-0.3.65-r3.ebuild b/media-video/pipewire/pipewire-1.0.0-r1.ebuild
index 7e07410dfab4..2a642ac6f537 100644
--- a/media-video/pipewire/pipewire-0.3.65-r3.ebuild
+++ b/media-video/pipewire/pipewire-1.0.0-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=8
@@ -13,11 +13,24 @@ EAPI=8
# continue to move quickly. It's not uncommon for fixes to be made shortly
# after releases.
-PYTHON_COMPAT=( python3_{9..11} )
-
+# 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="${PV}"
+# Default to generating docs (inc. man pages) if no prebuilt; overridden later
+PIPEWIRE_DOCS_USEFLAG="+man"
+PYTHON_COMPAT=( python3_{10..12} )
inherit flag-o-matic 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
@@ -29,7 +42,12 @@ else
SRC_URI="https://gitlab.freedesktop.org/${PN}/${PN}/-/archive/${PV}/${P}.tar.bz2"
fi
- KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
+ 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"
@@ -38,8 +56,8 @@ 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="bluetooth dbus doc echo-cancel extra ffmpeg flatpak gstreamer gsettings jack-client jack-sdk lv2
-modemmanager pipewire-alsa readline sound-server ssl system-service systemd test v4l X zeroconf"
+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
@@ -66,20 +84,32 @@ REQUIRED_USE="
RESTRICT="!test? ( test )"
BDEPEND="
- >=dev-util/meson-0.59
+ >=dev-build/meson-0.59
virtual/pkgconfig
- ${PYTHON_DEPS}
- $(python_gen_any_dep 'dev-python/docutils[${PYTHON_USEDEP}]')
+ dbus? ( dev-util/gdbus-codegen )
doc? (
- app-doc/doxygen
+ ${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 numebr of options,
+# * 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
- media-libs/alsa-lib
+ acct-group/pipewire
+ media-libs/alsa-lib[${MULTILIB_USEDEP}]
sys-libs/ncurses:=[unicode(+)]
virtual/libintl[${MULTILIB_USEDEP}]
virtual/libudev[${MULTILIB_USEDEP}]
@@ -94,43 +124,33 @@ RDEPEND="
virtual/libusb:1
)
dbus? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
- echo-cancel? ( media-libs/webrtc-audio-processing:0 )
- extra? (
- >=media-libs/libsndfile-1.0.20
- )
+ echo-cancel? ( media-libs/webrtc-audio-processing:1 )
+ extra? ( >=media-libs/libsndfile-1.0.20 )
ffmpeg? ( media-video/ffmpeg:= )
- flatpak? (
- dev-libs/glib
- )
+ 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
- )
+ 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(+)]
- !media-sound/pulseaudio-daemon
- )
+ 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
- acct-group/pipewire
- )
+ system-service? ( acct-user/pipewire )
v4l? ( media-libs/libv4l )
X? (
media-libs/libcanberra
@@ -155,18 +175,14 @@ PDEPEND=">=media-video/wireplumber-0.4.8-r3"
# Ditto for DEPEND
# >=dev-util/vulkan-headers-1.1.69
-DOCS=( {README,INSTALL}.md NEWS )
-
PATCHES=(
"${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch
)
-# limitsdfile related code taken from =sys-auth/realtime-base-0.1
-# with changes as necessary.
-limitsdfile=40-${PN}.conf
-
-python_check_deps() {
- python_has_version "dev-python/docutils[${PYTHON_USEDEP}]"
+pkg_setup() {
+ if use doc || use man ; then
+ python-any-r1_pkg_setup
+ fi
}
src_prepare() {
@@ -174,21 +190,6 @@ src_prepare() {
# Used for upstream backports
[[ -d "${FILESDIR}"/${PV} ]] && eapply "${FILESDIR}"/${PV}
-
- einfo "Generating ${limitsdfile}"
- cat > ${limitsdfile} <<- EOF || die
- # Start of ${limitsdfile} from ${P}
-
- @audio - memlock 256
-
- $(use system-service && {
- echo @pipewire - rtprio 95
- echo @pipewire - nice -19
- echo @pipewire - memlock 4194304
- })
-
- # End of ${limitsdfile} from ${P}
- EOF
}
multilib_src_configure() {
@@ -201,10 +202,11 @@ multilib_src_configure() {
$(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_native_enabled man)
$(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)
@@ -216,9 +218,10 @@ multilib_src_configure() {
$(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 # Matches upstream, tinycompress unpackaged too
+ -Dcompress-offload=disabled # TODO: tinycompress unpackaged
-Daudiomixer=enabled # Matches upstream
-Daudioconvert=enabled # Matches upstream
$(meson_native_use_feature bluetooth bluez5)
@@ -231,13 +234,10 @@ multilib_src_configure() {
$(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
- # Not yet packaged.
- # http://www.bluez.org/le-audio-support-in-pipewire/
- -Dbluez5-codec-lc3=disabled
- -Dbluez5-codec-lc3plus=disabled
-Dcontrol=enabled # Matches upstream
-Daudiotestsrc=enabled # Matches upstream
-Dffmpeg=disabled # Disabled by upstream and no major developments to spa/plugins/ffmpeg/ since May 2020
@@ -250,9 +250,12 @@ multilib_src_configure() {
-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
@@ -263,9 +266,15 @@ multilib_src_configure() {
-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)
@@ -275,6 +284,10 @@ multilib_src_configure() {
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
@@ -283,8 +296,9 @@ multilib_src_install() {
multilib_src_install_all() {
einstalldocs
- insinto /etc/security/limits.d
- doins ${limitsdfile}
+ 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
@@ -317,10 +331,12 @@ multilib_src_install_all() {
if ! use systemd; then
insinto /etc/xdg/autostart
- newins "${FILESDIR}"/pipewire.desktop-r1 pipewire.desktop
+ newins "${FILESDIR}"/pipewire.desktop-r2 pipewire.desktop
exeinto /usr/bin
- newexe "${FILESDIR}"/gentoo-pipewire-launcher.in gentoo-pipewire-launcher
+ 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
@@ -335,124 +351,159 @@ 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
- elog "It is recommended to raise RLIMIT_MEMLOCK to 256 for users"
- elog "using PipeWire. Do it either manually or add yourself"
- elog "to the 'audio' group:"
- elog
- elog " usermod -aG audio <youruser>"
- elog
+ use system-service && tmpfiles_process pipewire.conf
local ver
for ver in ${REPLACING_VERSIONS} ; do
- if ver_test ${ver} -le 0.3.53-r1 && ! use sound-server ; then
- 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."
-
- break
+ 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
- done
- if ! use jack-sdk; then
- 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 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 systemd; then
- 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."
- else
- 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
+ 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 use sound-server && ( has_version 'media-sound/pulseaudio[daemon]' || has_version 'media-sound/pulseaudio-daemon' ) ; then
- 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:"
+ 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 " autospawn = no"
+ 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 "Please note that the semicolon (;) must _NOT_ be at the beginning of the line!"
+ elog " systemctl --user enable pipewire.socket pipewire-pulse.socket"
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 "A reboot is recommended to avoid interferences from still running"
+ elog "PulseAudio daemon."
elog
- elog "#${EROOT}/usr/bin/pipewire -c pipewire-pulse.conf &"
+ 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
- elog "NOTE:"
- elog "Starting with PipeWire-0.3.30, this package is no longer installing its config"
- elog "into ${EROOT}/etc/pipewire by default. In case you need to change"
- elog "its config, please start by copying default config from ${EROOT}/usr/share/pipewire"
- elog "and just override the sections you want to change."
- fi
- elog
-
- 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
-
- 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"
+ 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
- ewarn
fi
- if use system-service; then
+ if use system-service && [[ ${HAD_SYSTEM_SERVICE} -eq 0 || -z ${REPLACING_VERSIONS} ]] ; then
ewarn
- ewarn "WARNING: you have enabled the system-service USE flag, which installs"
+ 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"
+ 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-0.3.64-r2.ebuild b/media-video/pipewire/pipewire-1.0.3.ebuild
index ec34788a440c..ddb46df4ee73 100644
--- a/media-video/pipewire/pipewire-0.3.64-r2.ebuild
+++ b/media-video/pipewire/pipewire-1.0.3.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
@@ -13,11 +13,24 @@ EAPI=8
# continue to move quickly. It's not uncommon for fixes to be made shortly
# after releases.
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit flag-o-matic meson-multilib optfeature prefix python-any-r1 systemd udev
+# 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
@@ -29,7 +42,12 @@ else
SRC_URI="https://gitlab.freedesktop.org/${PN}/${PN}/-/archive/${PV}/${P}.tar.bz2"
fi
- KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
+ 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"
@@ -38,8 +56,8 @@ 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="bluetooth dbus doc echo-cancel extra flatpak gstreamer gsettings jack-client jack-sdk lv2
-modemmanager pipewire-alsa readline sound-server ssl system-service systemd test v4l X zeroconf"
+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
@@ -47,12 +65,14 @@ modemmanager pipewire-alsa readline sound-server ssl system-service systemd test
# 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.
+# - 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 )
@@ -64,24 +84,37 @@ REQUIRED_USE="
RESTRICT="!test? ( test )"
BDEPEND="
- >=dev-util/meson-0.59
+ >=dev-build/meson-0.59
virtual/pkgconfig
- ${PYTHON_DEPS}
- $(python_gen_any_dep 'dev-python/docutils[${PYTHON_USEDEP}]')
+ dbus? ( dev-util/gdbus-codegen )
doc? (
- app-doc/doxygen
+ ${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 numebr of options,
+# * 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
- media-libs/alsa-lib
+ 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
@@ -91,42 +124,33 @@ RDEPEND="
virtual/libusb:1
)
dbus? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
- echo-cancel? ( media-libs/webrtc-audio-processing:0 )
- extra? (
- >=media-libs/libsndfile-1.0.20
- )
- flatpak? (
- dev-libs/glib
- )
+ 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
- )
+ 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(+)]
- !media-sound/pulseaudio-daemon
- )
+ 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
- acct-group/pipewire
- )
+ system-service? ( acct-user/pipewire )
v4l? ( media-libs/libv4l )
X? (
media-libs/libcanberra
@@ -145,25 +169,20 @@ 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-video/ffmpeg:=
# media-libs/libsdl2
# >=media-libs/vulkan-loader-1.1.69
#
# Ditto for DEPEND
# >=dev-util/vulkan-headers-1.1.69
-DOCS=( {README,INSTALL}.md NEWS )
-
PATCHES=(
"${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch
)
-# limitsdfile related code taken from =sys-auth/realtime-base-0.1
-# with changes as necessary.
-limitsdfile=40-${PN}.conf
-
-python_check_deps() {
- python_has_version "dev-python/docutils[${PYTHON_USEDEP}]"
+pkg_setup() {
+ if use doc || use man ; then
+ python-any-r1_pkg_setup
+ fi
}
src_prepare() {
@@ -171,37 +190,20 @@ src_prepare() {
# Used for upstream backports
[[ -d "${FILESDIR}"/${PV} ]] && eapply "${FILESDIR}"/${PV}
-
- einfo "Generating ${limitsdfile}"
- cat > ${limitsdfile} <<- EOF || die
- # Start of ${limitsdfile} from ${P}
-
- @audio - memlock 256
-
- $(use system-service && {
- echo @pipewire - rtprio 95
- echo @pipewire - nice -19
- echo @pipewire - memlock 4194304
- })
-
- # End of ${limitsdfile} from ${P}
- EOF
}
multilib_src_configure() {
- # https://bugs.gentoo.org/838301
- filter-flags -fno-semantic-interposition
-
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_native_enabled man)
$(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)
@@ -213,8 +215,10 @@ multilib_src_configure() {
$(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)
@@ -227,15 +231,14 @@ multilib_src_configure() {
$(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
- # Not yet packaged.
- -Dbluez5-codec-lc3=disabled
- -Dbluez5-codec-lc3plus=disabled
-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
@@ -244,9 +247,12 @@ multilib_src_configure() {
-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
@@ -257,9 +263,15 @@ multilib_src_configure() {
-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)
@@ -269,6 +281,10 @@ multilib_src_configure() {
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
@@ -277,8 +293,9 @@ multilib_src_install() {
multilib_src_install_all() {
einstalldocs
- insinto /etc/security/limits.d
- doins ${limitsdfile}
+ 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
@@ -303,12 +320,20 @@ multilib_src_install_all() {
echo "bluez_monitor.enabled = true" > "${ED}"/etc/wireplumber/bluetooth.lua.d/89-gentoo-sound-server-enable-bluez-monitor.lua || die
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-r1 pipewire.desktop
+ newins "${FILESDIR}"/pipewire.desktop-r2 pipewire.desktop
exeinto /usr/bin
- newexe "${FILESDIR}"/gentoo-pipewire-launcher.in gentoo-pipewire-launcher
+ 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
@@ -323,123 +348,159 @@ 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
- elog "It is recommended to raise RLIMIT_MEMLOCK to 256 for users"
- elog "using PipeWire. Do it either manually or add yourself"
- elog "to the 'audio' group:"
- elog
- elog " usermod -aG audio <youruser>"
- elog
+ use system-service && tmpfiles_process pipewire.conf
local ver
for ver in ${REPLACING_VERSIONS} ; do
- if ver_test ${ver} -le 0.3.53-r1 && ! use sound-server ; then
- 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."
-
- break
+ 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
- done
- if ! use jack-sdk; then
- 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 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 systemd; then
- 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."
- else
- 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
+ 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 use sound-server && ( has_version 'media-sound/pulseaudio[daemon]' || has_version 'media-sound/pulseaudio-daemon' ) ; then
- 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:"
+ 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 " autospawn = no"
+ elog " systemctl --user disable pulseaudio.service pulseaudio.socket"
elog
- elog "Please note that the semicolon (;) must _NOT_ be at the beginning of the line!"
+ 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 "Alternatively, if replacing PulseAudio daemon is not desired, edit"
- elog "${EROOT}/usr/bin/gentoo-pipewire-launcher by commenting out the relevant"
- elog "command:"
+ elog " systemctl --user enable pipewire.socket pipewire-pulse.socket"
elog
- elog "#${EROOT}/usr/bin/pipewire -c pipewire-pulse.conf &"
+ 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
- elog "NOTE:"
- elog "Starting with PipeWire-0.3.30, this package is no longer installing its config"
- elog "into ${EROOT}/etc/pipewire by default. In case you need to change"
- elog "its config, please start by copying default config from ${EROOT}/usr/share/pipewire"
- elog "and just override the sections you want to change."
- fi
- elog
-
- 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
-
- 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"
+ 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
- ewarn
fi
- if use system-service; then
+ if use system-service && [[ ${HAD_SYSTEM_SERVICE} -eq 0 || -z ${REPLACING_VERSIONS} ]] ; then
ewarn
- ewarn "WARNING: you have enabled the system-service USE flag, which installs"
+ 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"
+ 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-0.3.63-r3.ebuild b/media-video/pipewire/pipewire-1.0.4.ebuild
index e91c865b5b7e..88312367a689 100644
--- a/media-video/pipewire/pipewire-0.3.63-r3.ebuild
+++ b/media-video/pipewire/pipewire-1.0.4.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
@@ -13,11 +13,24 @@ EAPI=8
# continue to move quickly. It's not uncommon for fixes to be made shortly
# after releases.
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit flag-o-matic meson-multilib optfeature prefix python-any-r1 systemd tmpfiles udev
+# 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
@@ -29,7 +42,12 @@ else
SRC_URI="https://gitlab.freedesktop.org/${PN}/${PN}/-/archive/${PV}/${P}.tar.bz2"
fi
- KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~sparc x86"
+ 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"
@@ -38,8 +56,8 @@ 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="bluetooth dbus doc echo-cancel extra flatpak gstreamer gsettings jack-client jack-sdk lv2
-modemmanager pipewire-alsa readline sound-server ssl system-service systemd test udev v4l X zeroconf"
+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
@@ -47,12 +65,15 @@ modemmanager pipewire-alsa readline sound-server ssl system-service systemd test
# 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.
+# - 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 )
@@ -63,21 +84,37 @@ REQUIRED_USE="
RESTRICT="!test? ( test )"
BDEPEND="
- >=dev-util/meson-0.59
+ >=dev-build/meson-0.59
virtual/pkgconfig
- ${PYTHON_DEPS}
- $(python_gen_any_dep 'dev-python/docutils[${PYTHON_USEDEP}]')
+ dbus? ( dev-util/gdbus-codegen )
doc? (
- app-doc/doxygen
+ ${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
- media-libs/alsa-lib
+ 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
@@ -87,43 +124,33 @@ RDEPEND="
virtual/libusb:1
)
dbus? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
- echo-cancel? ( media-libs/webrtc-audio-processing:0 )
- extra? (
- >=media-libs/libsndfile-1.0.20
- )
- flatpak? (
- dev-libs/glib
- )
+ 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
- )
+ 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(+)]
- !media-sound/pulseaudio-daemon
- )
+ 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
- acct-group/pipewire
- )
- udev? ( virtual/libudev[${MULTILIB_USEDEP}] )
+ system-service? ( acct-user/pipewire )
v4l? ( media-libs/libv4l )
X? (
media-libs/libcanberra
@@ -142,64 +169,41 @@ 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-video/ffmpeg:=
# media-libs/libsdl2
# >=media-libs/vulkan-loader-1.1.69
#
# Ditto for DEPEND
# >=dev-util/vulkan-headers-1.1.69
-DOCS=( {README,INSTALL}.md NEWS )
-
PATCHES=(
"${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch
- "${FILESDIR}"/${P}-alsa-node-target.patch
- "${FILESDIR}"/${P}-bluez-ldac_abr.patch
- "${FILESDIR}"/${P}-bluetooth-typo.patch
- "${FILESDIR}"/${P}-rate-update.patch
)
-# limitsdfile related code taken from =sys-auth/realtime-base-0.1
-# with changes as necessary.
-limitsdfile=40-${PN}.conf
-
-python_check_deps() {
- python_has_version "dev-python/docutils[${PYTHON_USEDEP}]"
+pkg_setup() {
+ if use doc || use man ; then
+ python-any-r1_pkg_setup
+ fi
}
src_prepare() {
default
- einfo "Generating ${limitsdfile}"
- cat > ${limitsdfile} <<- EOF || die
- # Start of ${limitsdfile} from ${P}
-
- @audio - memlock 256
-
- $(use system-service && {
- echo @pipewire - rtprio 95
- echo @pipewire - nice -19
- echo @pipewire - memlock 4194304
- })
-
- # End of ${limitsdfile} from ${P}
- EOF
+ # Used for upstream backports
+ [[ -d "${FILESDIR}"/${PV} ]] && eapply "${FILESDIR}"/${PV}
}
multilib_src_configure() {
- # https://bugs.gentoo.org/838301
- filter-flags -fno-semantic-interposition
-
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_native_enabled man)
$(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)
@@ -211,8 +215,10 @@ multilib_src_configure() {
$(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)
@@ -225,15 +231,14 @@ multilib_src_configure() {
$(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
- # Not yet packaged.
- -Dbluez5-codec-lc3=disabled
- -Dbluez5-codec-lc3plus=disabled
-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
@@ -242,9 +247,12 @@ multilib_src_configure() {
-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
@@ -252,12 +260,18 @@ multilib_src_configure() {
-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)
- $(meson_feature udev)
+ -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)
@@ -267,6 +281,10 @@ multilib_src_configure() {
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
@@ -275,8 +293,9 @@ multilib_src_install() {
multilib_src_install_all() {
einstalldocs
- insinto /etc/security/limits.d
- doins ${limitsdfile}
+ 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
@@ -294,11 +313,17 @@ 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
+ doins "${FILESDIR}"/gentoo-sound-server-enable-audio-bluetooth.conf
fi
if use system-service; then
@@ -309,10 +334,12 @@ multilib_src_install_all() {
if ! use systemd; then
insinto /etc/xdg/autostart
- newins "${FILESDIR}"/pipewire.desktop-r1 pipewire.desktop
+ newins "${FILESDIR}"/pipewire.desktop-r2 pipewire.desktop
exeinto /usr/bin
- newexe "${FILESDIR}"/gentoo-pipewire-launcher.in gentoo-pipewire-launcher
+ 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
@@ -324,127 +351,162 @@ multilib_src_install_all() {
}
pkg_postrm() {
- use udev && udev_reload
+ 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() {
- use udev && udev_reload
- use system-service && tmpfiles_process pipewire.conf
+ udev_reload
- elog "It is recommended to raise RLIMIT_MEMLOCK to 256 for users"
- elog "using PipeWire. Do it either manually or add yourself"
- elog "to the 'audio' group:"
- elog
- elog " usermod -aG audio <youruser>"
- elog
+ use system-service && tmpfiles_process pipewire.conf
local ver
for ver in ${REPLACING_VERSIONS} ; do
- if ver_test ${ver} -le 0.3.53-r1 && ! use sound-server ; then
- 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."
-
- break
+ 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
- done
- if ! use jack-sdk; then
- 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 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 systemd; then
- 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."
- else
- 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
+ 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 use sound-server && ( has_version 'media-sound/pulseaudio[daemon]' || has_version 'media-sound/pulseaudio-daemon' ) ; then
- 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:"
+ 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 " autospawn = no"
+ elog " systemctl --user disable pulseaudio.service pulseaudio.socket"
elog
- elog "Please note that the semicolon (;) must _NOT_ be at the beginning of the line!"
+ 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 "Alternatively, if replacing PulseAudio daemon is not desired, edit"
- elog "${EROOT}/usr/bin/gentoo-pipewire-launcher by commenting out the relevant"
- elog "command:"
+ elog " systemctl --user enable pipewire.socket pipewire-pulse.socket"
elog
- elog "#${EROOT}/usr/bin/pipewire -c pipewire-pulse.conf &"
+ 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
- elog "NOTE:"
- elog "Starting with PipeWire-0.3.30, this package is no longer installing its config"
- elog "into ${EROOT}/etc/pipewire by default. In case you need to change"
- elog "its config, please start by copying default config from ${EROOT}/usr/share/pipewire"
- elog "and just override the sections you want to change."
- fi
- elog
-
- 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
-
- 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"
+ 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
- ewarn
fi
- if use system-service; then
+ if use system-service && [[ ${HAD_SYSTEM_SERVICE} -eq 0 || -z ${REPLACING_VERSIONS} ]] ; then
ewarn
- ewarn "WARNING: you have enabled the system-service USE flag, which installs"
+ 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"
+ ewarn "units. The default configuration files will likely not work out of the"
ewarn "box, and you are on your own with configuration."
ewarn
fi
+
+ elog "For latest tips and tricks, troubleshooting information, and documentation"
+ elog "in general, please refer to https://wiki.gentoo.org/wiki/PipeWire"
+ elog
+
+ optfeature_header "The following can be installed for optional runtime features:"
+ optfeature "restricted realtime capabilities via D-Bus" sys-auth/rtkit
+
+ if use sound-server && ! use pipewire-alsa; then
+ optfeature "ALSA plugin to use PulseAudio interface for output" "media-plugins/alsa-plugins[pulseaudio]"
+ fi
}
diff --git a/media-video/pipewire/pipewire-1.0.5.ebuild b/media-video/pipewire/pipewire-1.0.5.ebuild
new file mode 100644
index 000000000000..88312367a689
--- /dev/null
+++ b/media-video/pipewire/pipewire-1.0.5.ebuild
@@ -0,0 +1,512 @@
+# 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-9999.ebuild b/media-video/pipewire/pipewire-9999.ebuild
index 7e07410dfab4..b792e5bf1639 100644
--- a/media-video/pipewire/pipewire-9999.ebuild
+++ b/media-video/pipewire/pipewire-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
@@ -13,11 +13,24 @@ EAPI=8
# continue to move quickly. It's not uncommon for fixes to be made shortly
# after releases.
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit flag-o-matic meson-multilib optfeature prefix python-any-r1 systemd tmpfiles udev
+# 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="${PV}"
+# 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
@@ -29,7 +42,12 @@ else
SRC_URI="https://gitlab.freedesktop.org/${PN}/${PN}/-/archive/${PV}/${P}.tar.bz2"
fi
- KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
+ 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"
@@ -38,8 +56,8 @@ 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="bluetooth dbus doc echo-cancel extra ffmpeg flatpak gstreamer gsettings jack-client jack-sdk lv2
-modemmanager pipewire-alsa readline sound-server ssl system-service systemd test v4l X zeroconf"
+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
@@ -66,20 +84,32 @@ REQUIRED_USE="
RESTRICT="!test? ( test )"
BDEPEND="
- >=dev-util/meson-0.59
+ >=dev-build/meson-0.59
virtual/pkgconfig
- ${PYTHON_DEPS}
- $(python_gen_any_dep 'dev-python/docutils[${PYTHON_USEDEP}]')
+ dbus? ( dev-util/gdbus-codegen )
doc? (
- app-doc/doxygen
+ ${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 numebr of options,
+# * 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
- media-libs/alsa-lib
+ acct-group/pipewire
+ media-libs/alsa-lib[${MULTILIB_USEDEP}]
sys-libs/ncurses:=[unicode(+)]
virtual/libintl[${MULTILIB_USEDEP}]
virtual/libudev[${MULTILIB_USEDEP}]
@@ -94,43 +124,33 @@ RDEPEND="
virtual/libusb:1
)
dbus? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
- echo-cancel? ( media-libs/webrtc-audio-processing:0 )
- extra? (
- >=media-libs/libsndfile-1.0.20
- )
+ echo-cancel? ( media-libs/webrtc-audio-processing:1 )
+ extra? ( >=media-libs/libsndfile-1.0.20 )
ffmpeg? ( media-video/ffmpeg:= )
- flatpak? (
- dev-libs/glib
- )
+ 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
- )
+ 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(+)]
- !media-sound/pulseaudio-daemon
- )
+ 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
- acct-group/pipewire
- )
+ system-service? ( acct-user/pipewire )
v4l? ( media-libs/libv4l )
X? (
media-libs/libcanberra
@@ -155,18 +175,14 @@ PDEPEND=">=media-video/wireplumber-0.4.8-r3"
# Ditto for DEPEND
# >=dev-util/vulkan-headers-1.1.69
-DOCS=( {README,INSTALL}.md NEWS )
-
PATCHES=(
"${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch
)
-# limitsdfile related code taken from =sys-auth/realtime-base-0.1
-# with changes as necessary.
-limitsdfile=40-${PN}.conf
-
-python_check_deps() {
- python_has_version "dev-python/docutils[${PYTHON_USEDEP}]"
+pkg_setup() {
+ if use doc || use man ; then
+ python-any-r1_pkg_setup
+ fi
}
src_prepare() {
@@ -174,37 +190,20 @@ src_prepare() {
# Used for upstream backports
[[ -d "${FILESDIR}"/${PV} ]] && eapply "${FILESDIR}"/${PV}
-
- einfo "Generating ${limitsdfile}"
- cat > ${limitsdfile} <<- EOF || die
- # Start of ${limitsdfile} from ${P}
-
- @audio - memlock 256
-
- $(use system-service && {
- echo @pipewire - rtprio 95
- echo @pipewire - nice -19
- echo @pipewire - memlock 4194304
- })
-
- # End of ${limitsdfile} from ${P}
- EOF
}
multilib_src_configure() {
- # https://bugs.gentoo.org/838301
- filter-flags -fno-semantic-interposition
-
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_native_enabled man)
$(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)
@@ -216,9 +215,10 @@ multilib_src_configure() {
$(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 # Matches upstream, tinycompress unpackaged too
+ -Dcompress-offload=disabled # TODO: tinycompress unpackaged
-Daudiomixer=enabled # Matches upstream
-Daudioconvert=enabled # Matches upstream
$(meson_native_use_feature bluetooth bluez5)
@@ -231,13 +231,10 @@ multilib_src_configure() {
$(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
- # Not yet packaged.
- # http://www.bluez.org/le-audio-support-in-pipewire/
- -Dbluez5-codec-lc3=disabled
- -Dbluez5-codec-lc3plus=disabled
-Dcontrol=enabled # Matches upstream
-Daudiotestsrc=enabled # Matches upstream
-Dffmpeg=disabled # Disabled by upstream and no major developments to spa/plugins/ffmpeg/ since May 2020
@@ -250,9 +247,12 @@ multilib_src_configure() {
-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
@@ -263,9 +263,15 @@ multilib_src_configure() {
-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)
@@ -275,6 +281,10 @@ multilib_src_configure() {
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
@@ -283,8 +293,9 @@ multilib_src_install() {
multilib_src_install_all() {
einstalldocs
- insinto /etc/security/limits.d
- doins ${limitsdfile}
+ 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
@@ -302,11 +313,17 @@ 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
+ doins "${FILESDIR}"/gentoo-sound-server-enable-audio-bluetooth.conf
fi
if use system-service; then
@@ -317,10 +334,12 @@ multilib_src_install_all() {
if ! use systemd; then
insinto /etc/xdg/autostart
- newins "${FILESDIR}"/pipewire.desktop-r1 pipewire.desktop
+ newins "${FILESDIR}"/pipewire.desktop-r2 pipewire.desktop
exeinto /usr/bin
- newexe "${FILESDIR}"/gentoo-pipewire-launcher.in gentoo-pipewire-launcher
+ 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
@@ -335,124 +354,159 @@ 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
- elog "It is recommended to raise RLIMIT_MEMLOCK to 256 for users"
- elog "using PipeWire. Do it either manually or add yourself"
- elog "to the 'audio' group:"
- elog
- elog " usermod -aG audio <youruser>"
- elog
+ use system-service && tmpfiles_process pipewire.conf
local ver
for ver in ${REPLACING_VERSIONS} ; do
- if ver_test ${ver} -le 0.3.53-r1 && ! use sound-server ; then
- 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."
-
- break
+ 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
- done
- if ! use jack-sdk; then
- 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 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 systemd; then
- 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."
- else
- 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
+ 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 use sound-server && ( has_version 'media-sound/pulseaudio[daemon]' || has_version 'media-sound/pulseaudio-daemon' ) ; then
- 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:"
+ 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 " autospawn = no"
+ elog " systemctl --user disable pulseaudio.service pulseaudio.socket"
elog
- elog "Please note that the semicolon (;) must _NOT_ be at the beginning of the line!"
+ 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 "Alternatively, if replacing PulseAudio daemon is not desired, edit"
- elog "${EROOT}/usr/bin/gentoo-pipewire-launcher by commenting out the relevant"
- elog "command:"
+ elog " systemctl --user enable pipewire.socket pipewire-pulse.socket"
elog
- elog "#${EROOT}/usr/bin/pipewire -c pipewire-pulse.conf &"
+ 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
- elog "NOTE:"
- elog "Starting with PipeWire-0.3.30, this package is no longer installing its config"
- elog "into ${EROOT}/etc/pipewire by default. In case you need to change"
- elog "its config, please start by copying default config from ${EROOT}/usr/share/pipewire"
- elog "and just override the sections you want to change."
- fi
- elog
-
- 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
-
- 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"
+ 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
- ewarn
fi
- if use system-service; then
+ if use system-service && [[ ${HAD_SYSTEM_SERVICE} -eq 0 || -z ${REPLACING_VERSIONS} ]] ; then
ewarn
- ewarn "WARNING: you have enabled the system-service USE flag, which installs"
+ 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"
+ 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/pitivi/Manifest b/media-video/pitivi/Manifest
index 5bba247d761b..51b2a1bfe3c9 100644
--- a/media-video/pitivi/Manifest
+++ b/media-video/pitivi/Manifest
@@ -1 +1 @@
-DIST pitivi-2022.06.tar.xz 11352412 BLAKE2B f7d14f9bff136a8b50c0ce82e66fad92ba7df429d8cf588c526ae04f673617d882a0cc024c5a21c97471d2b31cb0001cefdeb8e32c9f62e1c6600d9500d1e428 SHA512 649c8e61d9545cbf35a0a0c8f648490c14c8bfb6c6637794887c03bffd6998c63cb2cc22102cd2f7a59974f79488a13f29beceadab29ddd1c1c01abff33a85fa
+DIST pitivi-2023.03.tar.xz 11347576 BLAKE2B ff9ff391d2739a4b1617ab010defd63b39f575901297fae427a797cfcffefb58c33a86642fa4d364d681805697d1c31b91fbafa1e810ec9a65030d7f7575f274 SHA512 505c011bb375fcce250a46c958ef06d050f83e73fa41a66f8ba3be6a41332a4a05838b8245233f481146edae9af924b618901b7ed0600f642ebe550c151f52b0
diff --git a/media-video/pitivi/pitivi-2022.06.ebuild b/media-video/pitivi/pitivi-2023.03-r2.ebuild
index 7dacc21dc1ef..fdabc77d5fb2 100644
--- a/media-video/pitivi/pitivi-2022.06.ebuild
+++ b/media-video/pitivi/pitivi-2023.03-r2.ebuild
@@ -35,7 +35,7 @@ RDEPEND="${COMMON_DEPEND}
>=dev-libs/gobject-introspection-1.34:=
- dev-libs/libpeas[${PYTHON_SINGLE_USEDEP}]
+ dev-libs/libpeas:0[${PYTHON_SINGLE_USEDEP}]
$(python_gen_cond_dep '
dev-python/dbus-python[${PYTHON_USEDEP}]
@@ -43,6 +43,7 @@ RDEPEND="${COMMON_DEPEND}
dev-python/matplotlib[${PYTHON_USEDEP}]
dev-python/numpy[${PYTHON_USEDEP}]
>=dev-python/pygobject-3.8:3[${PYTHON_USEDEP}]
+ >=dev-python/scipy-1.9.3[${PYTHON_USEDEP}]
')
gnome-base/librsvg:=
@@ -65,7 +66,6 @@ BDEPEND="
$(python_gen_cond_dep '
dev-python/setuptools[${PYTHON_USEDEP}]
')
- >=dev-util/intltool-0.35.5
dev-util/itstool
sys-devel/gettext
virtual/pkgconfig
diff --git a/media-video/popcorntime-bin/Manifest b/media-video/popcorntime-bin/Manifest
index 3a825ead4738..d0adbee6aadd 100644
--- a/media-video/popcorntime-bin/Manifest
+++ b/media-video/popcorntime-bin/Manifest
@@ -1,4 +1,5 @@
-DIST Popcorn-Time-0.4.8-amd64.deb 101235940 BLAKE2B a967efc4805e14f4292cf6b4652f2c6d9e3050c55789499b055b8cdac39d25d7e3f875f1e2dab79a9eb7199d93bcdf50507ff1eee5e065495d644945a1ac73e5 SHA512 a2f5be372908ae383e23b8f11c49d43865c8b1e3cd6acff1191809fd96e7f8fc8062cffa7b33bde4a8c91436acce75ad89461fb185d23bc0d96d3c81699f1bbd
-DIST Popcorn-Time-0.4.8-i386.deb 104249328 BLAKE2B 46e8b8f34d5d18e6106f0fb32cf5a70a8b0e1f8583838af81a5fd731caf04648e82516152ec4f346f2251b8d23c5c0aeed18b88e6fd7e9fc2f9ff766a19cfd18 SHA512 1719527b038bc170d3fa4659e11ca095753410a5ddc2922e2ebd78dacc1a252522e37be8d9916b95232f175ac9e50ea04eb83bda5e63ec7ca21433282d75501a
DIST Popcorn-Time-0.4.9-amd64.deb 101129244 BLAKE2B a36d4ef4702ec9dd6b353ad0c0dd1c967d3a95eaf18ceb7c18c1e7f8418d7f8c0336a1d6c6b28c6f53bf657af8b00094c72b9729b91cb275ab5539f6450626ff SHA512 7a837d11bbe4a7b51e1996dc4ff579e860285f3589bb8938e44ecfaf4f435b657832286f700c74126bfd4f94c485138eb6a32f65cdc36f90a7efbbd2f00a9586
DIST Popcorn-Time-0.4.9-i386.deb 104225348 BLAKE2B d162f6afc7f57b2cc1ddf8d14a044cdb23a010b6949432418092b1ddfc778197298e61e3e1f0778ddf8becd57ecb72be78a55e39ef02bf6981c0d9e02844a08a SHA512 5513a0e6a7e49a54ce4bca2cd16e82c763cc16a7d92bf6661e18ee6eecceb3d61043c3e106136ad286c85921de86033371abcc602112a3781b1a9e12ce73c660
+DIST Popcorn-Time-0.5.0-amd64.deb 154055688 BLAKE2B e099038e6cd6f3a214209243c0ab3791b607b2c127ea92b8f1a024f64b0ad1fbea7d1f108619a64a40f4531b5b8e1f0cce3371abc30beadf1b4a4decedf7e3dd SHA512 b81ab4c9a2af1dde80b1fea883d481a64ab04babfc3faa5eec993a8f07ab09f0b6bab7c36292988de375cd70f3ce03f325cd833f083072f2aa900191ef0092bf
+DIST Popcorn-Time-0.5.0-i386.deb 159146908 BLAKE2B 2eebf6bd8c473b68dbd8019ae85155b85f249d9b2e5ec74d467606dc6b455b5e03413d6394d2b220eb70326a6b45bd25386a04fc8de546256b49af6b4774cdcd SHA512 6a45fe9c977fbadeb21133a67fb16fa0795b2e7d7af24e5a0e72c57963d11674de03fec89880d61cd7a2f218efc6db8666a1878e12628b346e4f5b6afc03bfa5
+DIST Popcorn-Time-0.5.1-amd64.deb 150323412 BLAKE2B 6c15e01ba8d9a1f6efac0b663b6112a52a5c5aa82b93e627bacad4e1c8e3c29b81898769dc16e58cc0adc6f4f1684c66063a2ded8b6236adebd8c5f3f0168f67 SHA512 ad6646b8f1e6f4ffa40ab4276fabb957a418c764442bca3a775df4af4a6621e9514ef22ceaf435025d8aa515e9bf7a8490f285faacc824c3f26ccf6e5dfe5f79
diff --git a/media-video/popcorntime-bin/popcorntime-bin-0.4.8.ebuild b/media-video/popcorntime-bin/popcorntime-bin-0.5.0-r1.ebuild
index 194dd26d3375..4d14332ff5f3 100644
--- a/media-video/popcorntime-bin/popcorntime-bin-0.4.8.ebuild
+++ b/media-video/popcorntime-bin/popcorntime-bin-0.5.0-r1.ebuild
@@ -1,12 +1,12 @@
-# Copyright 2019-2022 Gentoo Authors
+# Copyright 2019-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
CHROMIUM_LANGS="
- am ar bg bn ca cs da de el en-GB en-US es es-419 et fa fi fil fr gu he hi
+ af am ar bg bn ca cs da de el en-GB en-US es es-419 et fa fi fil fr gu he hi
hr hu id it ja kn ko lt lv ml mr ms nb nl pl pt-BR pt-PT ro ru sk sl sr sv
- sw ta te th tr uk vi zh-CN zh-TW
+ sw ta te th tr uk ur vi zh-CN zh-TW
"
inherit chromium-2 desktop unpacker xdg
@@ -29,8 +29,7 @@ SLOT="0"
RESTRICT="bindist mirror"
RDEPEND="
- app-accessibility/at-spi2-core:2
- dev-libs/atk
+ >=app-accessibility/at-spi2-core-2.46.0:2
dev-libs/expat
dev-libs/nspr
dev-libs/nss
@@ -43,6 +42,7 @@ RDEPEND="
x11-libs/gtk+:3
x11-libs/libX11
x11-libs/libxcb
+ x11-libs/libxkbcommon
x11-libs/libXcomposite
x11-libs/libXcursor
x11-libs/libXdamage
@@ -66,6 +66,8 @@ src_prepare() {
default
# cleanup languages
pushd "opt/Popcorn-Time/locales" || die
+ # No l10n use entries for these langs
+ rm ar-XB.pak* en-XA.pak* || die
chromium_remove_language_paks
popd || die
}
@@ -83,10 +85,21 @@ src_install() {
local DESTDIR="/opt/Popcorn-Time"
pushd "opt/Popcorn-Time" || die
- # Copy all the things in
- dodir "${DESTDIR}"
- mv * "${ED}/${DESTDIR}" || die
+ exeinto "${DESTDIR}/lib"
+ doexe lib/*.so
+
+ insinto "${DESTDIR}/lib"
+ doins *.json
+
+ exeinto "${DESTDIR}"
+ doexe Popcorn-Time nwjc minidump_stackwalk chromedriver chrome_crashpad_handler
+
+ insinto "${DESTDIR}"
+ doins *.pak *.bin *.json *.dat
+ insopts -m0755
+ doins -r locales src node_modules
dosym "${DESTDIR}"/Popcorn-Time /opt/bin/Popcorn-Time
+
popd || die
}
diff --git a/media-video/popcorntime-bin/popcorntime-bin-0.5.1.ebuild b/media-video/popcorntime-bin/popcorntime-bin-0.5.1.ebuild
new file mode 100644
index 000000000000..1a57d5895207
--- /dev/null
+++ b/media-video/popcorntime-bin/popcorntime-bin-0.5.1.ebuild
@@ -0,0 +1,102 @@
+# Copyright 2019-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CHROMIUM_LANGS="
+ af am ar bg bn ca cs da de el en-GB en-US es es-419 et fa fi fil fr gu he hi
+ hr hu id it ja kn ko lt lv ml mr ms nb nl pl pt-BR pt-PT ro ru sk sl sr sv
+ sw ta te th tr uk ur vi zh-CN zh-TW
+"
+
+inherit chromium-2 desktop unpacker xdg
+
+DESCRIPTION="BitTorrent client that includes an integrated media player"
+HOMEPAGE="https://github.com/popcorn-official/popcorn-desktop"
+SRC_URI="https://github.com/popcorn-official/popcorn-desktop/releases/download/v${PV}/Popcorn-Time-${PV}-amd64.deb"
+S="${WORKDIR}"
+
+# Electron bundles a bunch of things
+LICENSE="
+ MIT BSD BSD-2 BSD-4 AFL-2.1 Apache-2.0 Ms-PL GPL-2 LGPL-2.1 APSL-2
+ unRAR OFL CC-BY-SA-3.0 MPL-2.0 android public-domain all-rights-reserved
+"
+SLOT="0"
+KEYWORDS="-* ~amd64"
+RESTRICT="bindist mirror"
+
+RDEPEND="
+ >=app-accessibility/at-spi2-core-2.46.0:2
+ dev-libs/expat
+ dev-libs/nspr
+ dev-libs/nss
+ media-libs/alsa-lib
+ net-print/cups
+ sys-apps/dbus
+ sys-libs/glibc
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf
+ x11-libs/gtk+:3
+ x11-libs/libX11
+ x11-libs/libxcb
+ x11-libs/libxkbcommon
+ x11-libs/libXcomposite
+ x11-libs/libXcursor
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXi
+ x11-libs/libXrandr
+ x11-libs/libXrender
+ x11-libs/libXScrnSaver
+ x11-libs/libXtst
+ x11-libs/pango
+"
+
+QA_PREBUILT="opt/Popcorn-Time/*"
+
+pkg_pretend() {
+ chromium_suid_sandbox_check_kernel_config
+}
+
+src_prepare() {
+ default
+ # cleanup languages
+ pushd "opt/Popcorn-Time/locales" || die
+ # No l10n use entries for these langs
+ rm ar-XB.pak* en-XA.pak* || die
+ chromium_remove_language_paks
+ popd || die
+}
+
+src_configure() {
+ chromium_suid_sandbox_check_kernel_config
+ default
+}
+
+src_install() {
+ doicon -s 256 "usr/share/icons/butter.png"
+
+ domenu usr/share/applications/Popcorn-Time.desktop
+
+ local DESTDIR="/opt/Popcorn-Time"
+ pushd "opt/Popcorn-Time" || die
+
+ exeinto "${DESTDIR}/lib"
+ doexe lib/*.so
+
+ insinto "${DESTDIR}/lib"
+ doins *.json
+
+ exeinto "${DESTDIR}"
+ doexe Popcorn-Time nwjc minidump_stackwalk chromedriver chrome_crashpad_handler
+
+ insinto "${DESTDIR}"
+ doins *.pak *.bin *.json *.dat
+ insopts -m0755
+ doins -r locales src node_modules
+
+ dosym "${DESTDIR}"/Popcorn-Time /opt/bin/Popcorn-Time
+
+ popd || die
+}
diff --git a/media-video/projectx/projectx-0.91.0.10-r4.ebuild b/media-video/projectx/projectx-0.91.0.10-r4.ebuild
index bc9ed20e4ba0..29c0eef255d3 100644
--- a/media-video/projectx/projectx-0.91.0.10-r4.ebuild
+++ b/media-video/projectx/projectx-0.91.0.10-r4.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -10,7 +10,7 @@ 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="http://project-x.sourceforge.net/"
+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
diff --git a/media-video/qmplay2/Manifest b/media-video/qmplay2/Manifest
index 8088d0a7b6c3..8eba01fb8505 100644
--- a/media-video/qmplay2/Manifest
+++ b/media-video/qmplay2/Manifest
@@ -1,2 +1,3 @@
-DIST QMPlay2-src-22.08.21.tar.xz 1618824 BLAKE2B ac980c4ad018749d4ee5dcd2dc580c96cccb82a73ff4fd52c65beb1d7131e294d2af65814c8966ffbe2a04eb489f9b9ba23b2764b83aa3f3d57546125dde4ceb SHA512 a6abc71bf87a8bcb2c2c0c63889f75de4e2de4375de0a528cb6950d2fb1ac6e767386d13a0e3f26b59cfccb88b4db4a8c26cbf57299da2031239a73e4971a4de
-DIST QMPlay2-src-22.10.23.tar.xz 1414804 BLAKE2B c0db1187538be8ab0806abd41fbfdae5a71dda450505af1956989a3ccc10fa52997b8652f280cd66837d12a84a7a058783b65df3d4bd35665c92f1262cd8d004 SHA512 80c9408a9085084857b5b433f009bf62784cf73ceb90218ec09132be227aae97136095811ffa1211375dcbfc1f51cbefaa3690c56fc8df51d9b1cf022ce0709f
+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
diff --git a/media-video/qmplay2/files/qmplay2-22.10.23-fix-includes.patch b/media-video/qmplay2/files/qmplay2-22.10.23-fix-includes.patch
deleted file mode 100644
index eb77927f6ea9..000000000000
--- a/media-video/qmplay2/files/qmplay2-22.10.23-fix-includes.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-https://github.com/zaps166/QMPlay2/pull/541
-
-fix include memory with USE_VULKAN=OFF
-
-Those header files are using std::shared_ptr from memory header even
-when USE_VULKAN is OFF, so we must include them unconditionally.
-
-Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
---- a/src/qmplay2/LibASS.hpp
-+++ b/src/qmplay2/LibASS.hpp
-@@ -23,6 +23,7 @@
- #include <QByteArray>
- #include <QList>
-
-+#include <memory>
- #include <set>
-
- class Settings;
-@@ -35,7 +36,6 @@ struct ass_renderer;
- struct ass_image;
-
- #ifdef USE_VULKAN
--#include <memory>
- namespace QmVk {
- class BufferPool;
- }
---- a/src/qmplay2/QMPlay2OSD.hpp
-+++ b/src/qmplay2/QMPlay2OSD.hpp
-@@ -25,14 +25,13 @@
- #include <QRect>
-
- #include <functional>
-+#include <memory>
- #include <vector>
- #include <mutex>
-
- #ifdef USE_VULKAN
- # include <QVector4D>
-
--# include <memory>
--
- namespace QmVk {
-
- class Buffer;
diff --git a/media-video/qmplay2/metadata.xml b/media-video/qmplay2/metadata.xml
index fc1a5ebde4be..1ff69d3717df 100644
--- a/media-video/qmplay2/metadata.xml
+++ b/media-video/qmplay2/metadata.xml
@@ -19,10 +19,8 @@
<flag name="libass">Build with SSA/ASS subtitles rendering support</flag>
<flag name="notifications">Build additional notifications module</flag>
<flag name="pipewire">Build with PipeWire support</flag>
- <flag name="sid">Build Chiptune with SIDPLAY support</flag>
<flag name="shaders">Compile Vulkan shaders using <pkg>media-libs/shaderc</pkg></flag>
<flag name="videofilters">Build with VideoFilters module</flag>
<flag name="visualizations">Build with Visualizations module</flag>
- <flag name="vulkan">Build with Vulkan support</flag>
</use>
</pkgmetadata>
diff --git a/media-video/qmplay2/qmplay2-22.08.21.ebuild b/media-video/qmplay2/qmplay2-24.03.16.ebuild
index dcf4fed040ad..2f3804bc8402 100644
--- a/media-video/qmplay2/qmplay2-22.08.21.ebuild
+++ b/media-video/qmplay2/qmplay2-24.03.16.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -14,57 +14,59 @@ if [[ ${PV} == *9999 ]]; then
else
SRC_URI="https://github.com/zaps166/QMPlay2/releases/download/${PV}/QMPlay2-src-${PV}.tar.xz"
S="${WORKDIR}/QMPlay2-src-${PV}"
- KEYWORDS="~amd64 ~x86"
+ KEYWORDS="amd64"
fi
LICENSE="LGPL-3"
SLOT="0"
IUSE="avdevice +audiofilters +alsa cdio cuvid extensions gme inputs libass
- modplug notifications opengl pipewire portaudio pulseaudio sid shaders
- +taglib vaapi vdpau videofilters visualizations vulkan xv"
+ 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 )"
+ shaders? ( vulkan )
+"
RDEPEND="
- dev-qt/qtcore:5
- dev-qt/qtdbus:5
- dev-qt/qtsvg:5
- dev-qt/qtwidgets:5
- dev-qt/qtx11extras:5
- media-video/ffmpeg
- || (
- dev-qt/qtgui:5[X(-)]
- dev-qt/qtgui:5[xcb(-)]
+ 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] )
- extensions? ( dev-qt/qtdeclarative:5 )
gme? ( media-libs/game-music-emu )
libass? ( media-libs/libass )
opengl? ( virtual/opengl )
pipewire? ( media-video/pipewire )
portaudio? ( media-libs/portaudio )
- pulseaudio? ( media-sound/pulseaudio )
+ pulseaudio? ( media-libs/libpulse )
sid? ( media-libs/libsidplayfp )
shaders? ( >=media-libs/shaderc-2020.1 )
taglib? ( media-libs/taglib )
- vaapi? (
- >=media-video/ffmpeg-4.1.3[vaapi]
- media-libs/libva
- )
- vdpau? ( media-video/ffmpeg[vdpau] )
- videofilters? ( dev-qt/qtconcurrent:5 )
- vulkan? (
- >=dev-qt/qtgui-5.14.1:5[vulkan]
- >=media-libs/vulkan-loader-1.2.133
- )
+ vaapi? ( media-libs/libva[X] )
+ vulkan? ( >=media-libs/vulkan-loader-1.2.133 )
xv? ( x11-libs/libXv )
"
DEPEND="${RDEPEND}"
-BDEPEND="dev-qt/linguist-tools:5"
+BDEPEND="
+ !qt6? ( dev-qt/linguist-tools:5 )
+ qt6? ( dev-qt/qttools:6[linguist] )
+"
src_prepare() {
# disable compress man pages
@@ -78,6 +80,7 @@ src_prepare() {
src_configure() {
local mycmakeargs=(
+ -DBUILD_WITH_QT6=$(usex qt6)
# core
-DUSE_LINK_TIME_OPTIMIZATION=false
-DUSE_UPDATES=OFF
diff --git a/media-video/qmplay2/qmplay2-22.10.23.ebuild b/media-video/qmplay2/qmplay2-24.04.02.ebuild
index 1ef2e8a50818..90c70de03992 100644
--- a/media-video/qmplay2/qmplay2-22.10.23.ebuild
+++ b/media-video/qmplay2/qmplay2-24.04.02.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -14,61 +14,59 @@ if [[ ${PV} == *9999 ]]; then
else
SRC_URI="https://github.com/zaps166/QMPlay2/releases/download/${PV}/QMPlay2-src-${PV}.tar.xz"
S="${WORKDIR}/QMPlay2-src-${PV}"
- KEYWORDS="~amd64 ~x86"
+ KEYWORDS="~amd64"
fi
LICENSE="LGPL-3"
SLOT="0"
IUSE="avdevice +audiofilters +alsa cdio cuvid extensions gme inputs libass
- modplug notifications opengl pipewire portaudio pulseaudio sid shaders
- +taglib vaapi vdpau videofilters visualizations vulkan xv"
+ 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 )"
+ shaders? ( vulkan )
+"
RDEPEND="
- dev-qt/qtcore:5
- dev-qt/qtdbus:5
- dev-qt/qtsvg:5
- dev-qt/qtwidgets:5
- dev-qt/qtx11extras:5
- media-video/ffmpeg
- || (
- dev-qt/qtgui:5[X(-)]
- dev-qt/qtgui:5[xcb(-)]
+ 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] )
- extensions? ( dev-qt/qtdeclarative:5 )
gme? ( media-libs/game-music-emu )
libass? ( media-libs/libass )
opengl? ( virtual/opengl )
pipewire? ( media-video/pipewire )
portaudio? ( media-libs/portaudio )
- pulseaudio? ( media-sound/pulseaudio )
+ pulseaudio? ( media-libs/libpulse )
sid? ( media-libs/libsidplayfp )
shaders? ( >=media-libs/shaderc-2020.1 )
taglib? ( media-libs/taglib )
- vaapi? (
- >=media-video/ffmpeg-4.1.3[vaapi]
- media-libs/libva[X]
- )
- vdpau? ( media-video/ffmpeg[vdpau] )
- videofilters? ( dev-qt/qtconcurrent:5 )
- vulkan? (
- >=dev-qt/qtgui-5.14.1:5[vulkan]
- >=media-libs/vulkan-loader-1.2.133
- )
+ vaapi? ( media-libs/libva[X] )
+ vulkan? ( >=media-libs/vulkan-loader-1.2.133 )
xv? ( x11-libs/libXv )
"
DEPEND="${RDEPEND}"
-BDEPEND="dev-qt/linguist-tools:5"
-
-PATCHES=(
- "${FILESDIR}/${P}-fix-includes.patch"
-)
+BDEPEND="
+ !qt6? ( dev-qt/linguist-tools:5 )
+ qt6? ( dev-qt/qttools:6[linguist] )
+"
src_prepare() {
# disable compress man pages
@@ -82,6 +80,7 @@ src_prepare() {
src_configure() {
local mycmakeargs=(
+ -DBUILD_WITH_QT6=$(usex qt6)
# core
-DUSE_LINK_TIME_OPTIMIZATION=false
-DUSE_UPDATES=OFF
diff --git a/media-video/qmplay2/qmplay2-24.04.07.ebuild b/media-video/qmplay2/qmplay2-24.04.07.ebuild
new file mode 100644
index 000000000000..d0a302ac4801
--- /dev/null
+++ b/media-video/qmplay2/qmplay2-24.04.07.ebuild
@@ -0,0 +1,140 @@
+# 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_PM=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-9999.ebuild b/media-video/qmplay2/qmplay2-9999.ebuild
index dcf4fed040ad..961b70b140c8 100644
--- a/media-video/qmplay2/qmplay2-9999.ebuild
+++ b/media-video/qmplay2/qmplay2-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -14,57 +14,59 @@ if [[ ${PV} == *9999 ]]; then
else
SRC_URI="https://github.com/zaps166/QMPlay2/releases/download/${PV}/QMPlay2-src-${PV}.tar.xz"
S="${WORKDIR}/QMPlay2-src-${PV}"
- KEYWORDS="~amd64 ~x86"
+ KEYWORDS="~amd64"
fi
LICENSE="LGPL-3"
SLOT="0"
IUSE="avdevice +audiofilters +alsa cdio cuvid extensions gme inputs libass
- modplug notifications opengl pipewire portaudio pulseaudio sid shaders
- +taglib vaapi vdpau videofilters visualizations vulkan xv"
+ 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 )"
+ shaders? ( vulkan )
+"
RDEPEND="
- dev-qt/qtcore:5
- dev-qt/qtdbus:5
- dev-qt/qtsvg:5
- dev-qt/qtwidgets:5
- dev-qt/qtx11extras:5
- media-video/ffmpeg
- || (
- dev-qt/qtgui:5[X(-)]
- dev-qt/qtgui:5[xcb(-)]
+ 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] )
- extensions? ( dev-qt/qtdeclarative:5 )
gme? ( media-libs/game-music-emu )
libass? ( media-libs/libass )
opengl? ( virtual/opengl )
pipewire? ( media-video/pipewire )
portaudio? ( media-libs/portaudio )
- pulseaudio? ( media-sound/pulseaudio )
+ pulseaudio? ( media-libs/libpulse )
sid? ( media-libs/libsidplayfp )
shaders? ( >=media-libs/shaderc-2020.1 )
taglib? ( media-libs/taglib )
- vaapi? (
- >=media-video/ffmpeg-4.1.3[vaapi]
- media-libs/libva
- )
- vdpau? ( media-video/ffmpeg[vdpau] )
- videofilters? ( dev-qt/qtconcurrent:5 )
- vulkan? (
- >=dev-qt/qtgui-5.14.1:5[vulkan]
- >=media-libs/vulkan-loader-1.2.133
- )
+ vaapi? ( media-libs/libva[X] )
+ vulkan? ( >=media-libs/vulkan-loader-1.2.133 )
xv? ( x11-libs/libXv )
"
DEPEND="${RDEPEND}"
-BDEPEND="dev-qt/linguist-tools:5"
+BDEPEND="
+ !qt6? ( dev-qt/linguist-tools:5 )
+ qt6? ( dev-qt/qttools:6[linguist] )
+"
src_prepare() {
# disable compress man pages
@@ -78,6 +80,7 @@ src_prepare() {
src_configure() {
local mycmakeargs=(
+ -DBUILD_WITH_QT6=$(usex qt6)
# core
-DUSE_LINK_TIME_OPTIMIZATION=false
-DUSE_UPDATES=OFF
diff --git a/media-video/rav1e/Manifest b/media-video/rav1e/Manifest
index 444ea3ee4ceb..224283df1add 100644
--- a/media-video/rav1e/Manifest
+++ b/media-video/rav1e/Manifest
@@ -1,172 +1,396 @@
-DIST addr2line-0.17.0.crate 32260 BLAKE2B 23c3715820a04260460a41695d535da3565f76519b7313d0ed684352b339de2ea668c44fe8ca58fc1a5b9f84cc5e9d04d889440abb5985bdc04b267dbdad9d9c SHA512 ef3bbd7c6d1dfdd0b47e3be1fb4c8b15ed61a769bed7e80dce80461a1ee13ef21c75e62e9a66328504f862341f1e808abec5790ac79784e18655afcc16206b95
+DIST addr2line-0.19.0.crate 33210 BLAKE2B a6b393dcddfa0f858297efb6b261d3a23f118be45a3211ee15f6c58808f241dbcf5282f4a86be579360513f23ac4035819e923f2587b7499110af42e9ac3ab88 SHA512 18da72e412bb89028e2ccb838192330535e45300f6fd8edc7d1d64397792a3db12418aa24a3312730c5414e2a1b1d65e6b9d5691ba234c9142b5d885523a5e94
+DIST addr2line-0.21.0.crate 40807 BLAKE2B 9796b9a1177a299797902b7f64247d81d63d3f7e0dcc1256990628e84c5f92e3094ee8d753d9b72187b9aaa73b7ca67c0217899f2226ebd1076f8d25b458475b SHA512 afde7660dda30dee240e79df1fb5b92d4572520bf17a134ef3765e2a077af9e13713952d52e27fae420109b40f6e24dbce1056687dbcbead858ffc21cc7dc69b
DIST adler-1.0.2.crate 12778 BLAKE2B a1dc17786adae945ac09d3525e609ed944e6465690787bbb831a1b9d53793cba1989793d0a5606d5d23ee20d36457923d451b1b3530c9ec7072a487aa3e55bbd SHA512 7ab190d31890fc05b0b55d8e2c6527a505e06793d5496be0b3831e0513412f9ba97f8148f6f68ed0770fa9cd980a5092d885e058becf1d5506b7c74b82674aa1
-DIST adler32-1.2.0.crate 6411 BLAKE2B 51d44ccfd774158687b8244e83377e40ff896364e3d41e9015665131cc2a176d4ca0ab5a84df027dec0869ee735ee36f5687a06c1d2341de666070cdbab89483 SHA512 8ed72612fb78e213fc92963fdae0508ef26988656c939e6c9cddccbe2658d4a956a8ae934d9658262a8b2687dc446b3f1ee7614128b440487c81e606526dfda3
-DIST aho-corasick-0.7.18.crate 112923 BLAKE2B 4f6947d1aacf89ccfab0592cdc55fa61ef09cea38231d3f758765dbce328a810c0b588be4ba96e81d64955379ee005722d22a7aec39caea6e72342245d7ca34f SHA512 7a23b16231a90d23ee60ad4c81bc225410599a4560d33d3a203138fc540c39cf1000100fed3aed40dcc371c3635656a3792545dca5dd1aefbde00d8774eebd00
-DIST ansi_term-0.12.1.crate 24838 BLAKE2B f636772c34e2d68cda7b8d3b2b86abda074585a62bd2654812ce92384244655a9197fa66e6939e19a674c0148ca605313d83de262bb18c2339a8a4eb4438a791 SHA512 b840e28b3e7700689a69a39659b1e066560078dd4a58326b91a028915819e7af883399ee53e920db68fd974c58d35bb1ddf8d427af5937d5f696f57c4376b671
-DIST anyhow-1.0.52.crate 44224 BLAKE2B 79d68d3390d27e0e27f9db784ad10b5d7845dec7949fbc722f944ef3988419acd72c509b44a4544e99bea5e57407da5b1ce40a96277d307fc408c958ea915c31 SHA512 b87e0b304daff85894c34060b97379d8e3d9be03078275313035c7142c76b3e59922b25924ac98a0b1b70fc98746eb174ca4b7ef33a26e115f294c1f1200aa6a
-DIST aom-sys-0.3.0.crate 3064 BLAKE2B 210de17df81b78af866336bc4f3c00803d0c62a503809b288883fcf8bcfab6262b2bec35ab9fc8d8d4ec31d38665ca74069bf5f866daa8a2ab3f04c16ecc91de SHA512 9bb02069b5951dce34a445427f3c49c9995464213104786f0a800f7cb6629e5f6cfb5c4d736dce7963d1bdddee2cc8caf3cfa9df801d5a9cea93397aaf38b53f
+DIST aho-corasick-1.0.1.crate 167320 BLAKE2B f148004140d4f705e93f448020b97c434b93fea6ae34fd74b1f394b076c2727a87f5ec54542a0f52822d716c10ada3c68ae8f50a46c455fc6e828b10b5650ecc SHA512 7cea5b2305b90aebc54f78446cfc91f275b1be8489d2d80c3baa9ff8b913f9b2296adbdf4aefb0d8fce8f57812963fb9450b200d133a9d61e100cef324068070
+DIST aho-corasick-1.1.2.crate 183136 BLAKE2B 2d4306d8968061b9f7e50190be6a92b3f668169ba1b9f9691de08a57c96185f7a4288d20c64cb8488a260eb18d3ed4b0e8358b0cca47aa44759b2e448049cbaa SHA512 61ef5092673ab5a60bec4e92df28a91fe6171ba59d5829ffe41fc55aff3bfb755533a4ad53dc7bf827a0b789fcce593b17e69d1fcfb3694f06ed3b1bd535d40c
+DIST anes-0.1.6.crate 23857 BLAKE2B 9ef464a964709b408c7d7846b9b1e54e52d6ae8f21f22ccfe509ef7197d4694f439084dbdb01fdf88829d181965ea9d1452253789a46fdf6d0520e3413c50d61 SHA512 f9dfaaca9ca327881ec30efaf24e208daae668b1e9d6963c8b0ca9f9fd13be777c793076a87980429f0dfa4db28ef5331ce6652a76da4d5a87485b23fc2fde29
+DIST anstream-0.6.5.crate 30004 BLAKE2B 5ad0b0096a4cf199cc1b958657a69a81d8e12f3d9590049123043d005389f0eabcf69da7fe1e01b1b36eb04e66076699d2020a5d6e9d441ade2062b830e6df09 SHA512 98206c568d8f2204bddcbbd915ed22d214410aa26dc74ef56799c9237681877a7447effdb9ef97cfabef0afd7a1b73e27d82c7e976f1216ac502d625089c6fdc
+DIST anstyle-1.0.4.crate 13998 BLAKE2B fb501700855709e53438461c2f4b48d869613e7bb3bb700db8bd0d95082876d3782dc2cfe3ce110bb4a206994de56afe0e90fe89f9ccd07c60fe1c652123ba59 SHA512 671c6f57106198bcfc2f9000aacba98fabacfadfce2329dfe8d0e0a2af9404da483d7a844ca2b08e1fc0249371f574c13d0082c9f7a4ed90ff581308257a52d3
+DIST anstyle-parse-0.2.3.crate 24699 BLAKE2B 17e8638187ccc1ca0174a8cec7f7daeee7e0d8b8c430f7e74f9b10d8de4b49fd1c6facfdafde305b7a3e55b1ebf2b4e8ec4975a0cce691514ddae9eb5b5e711e SHA512 4a6d0f706d75c9b3c5144f34efdef3ef8fcd075962c594a23a6209ed56112563a34b3c01e05a08a0868d59204272d06211b2585cb9d06ce075ea875bedb2f399
+DIST anstyle-query-1.0.2.crate 8739 BLAKE2B c06643e8616f1f4469a32f9c0512941ce53ac5db9ebfa7a5b2f19233040cd4438dd2ee69ab89ecbc1c239e92b674dea9df15ed673408c6f3fe21787cc17d76f3 SHA512 f409b624cbeecf58fd87c47f85be28cae1fe48f65d692195fb80854c514e38c40d0e0ffad3a5b388a3929c47bd2060302ebb635aa98dc57329f3a5ed7be3e2dc
+DIST anstyle-wincon-3.0.2.crate 11272 BLAKE2B 73e124773f618a744b17017d4680ec6ccc84ff94fbe2e565073fbcc0facecd3cb65356cf27746d07f453bc917cbeb2ade3a618c6b8578d64cff4828c99569868 SHA512 4cc194faacffa01c6989354c1cadbf1134f0945250f67b7020ab5b475e30db34c799176bd335a6265386cb9c5e8b5bcbdf35894ec0c809b140ffe1c406751931
+DIST anyhow-1.0.71.crate 43808 BLAKE2B 1ec6b440758e26b2328738bab7c6b1fe8670959793cc24f61cecd0d8b0ebe60b9855ee1cdac9b5f5a5b238daf796eae5b7c82b903e7c822a5625d95130f8b61f SHA512 401b1c5d04fa0581f303395fcb3af5e7684ead367e2a173b4d90db9c04ac20010c5330a686f3ba91a541e1526a7185091b7dbfddce5134b5a74cc749b0338da5
+DIST anyhow-1.0.79.crate 44931 BLAKE2B 9270f04c6fbbecb535e3081f4275c3df28f6a893c1dfc0a9f7c009994de2deb8ebced04fe5e6f62931b33c3707f4fbfb0c3b28da1a611b413d40d27149d1fd2f SHA512 ecd6fb1367d494df18c0e274b336a133f3acf7b6a5487d20bdd06e08c7f1f729877086a0966e998221daff120504fadd2be2dc4219ed621f81b0a50c2bbc2011
+DIST aom-sys-0.3.2.crate 3043 BLAKE2B edef684249c8e0fb6abfdc656c65e64d311aea2cd1b591044837be4061d89548533c0a1b88fd9349733a38ac97e29d760db27440632cab709ddfb6b455fd99d4 SHA512 0d08bd789cc52d7981dc1d01c98d5d075502bc29e23a851e51f609314d9ebde8d3cf13a32b7fc57290b83152e18b5b39ba946fc1f8a935cbaa8a6b9ec0998b0a
+DIST aom-sys-0.3.3.crate 3736 BLAKE2B 4635dd9608725e8cb880f894ef5d447d1e7379441de3b1e169d44e5c0d5c8fdd6312a64ea1e9e5aecf2537705e484a90b18c606b3a192970bf3b6c2e95516ebf SHA512 d82fb9b4a95fb4bc10698cc2858c448e5226117f886d89b59252c0070e4eee3979eace13a9d29d6329c24bf9f2d444761fe881b9542d2c323d88225b38f09daa
DIST arbitrary-0.4.7.crate 26282 BLAKE2B 1a304154926c9f24a80eced744f13379814377f067f8340672c2588edad22b26088b359b304c1c22f068bf6c7a1da09715caefa28eab046fe79085e67ecb259e SHA512 17968466d1403903a8cb5ec7f8af403e2ecbbbd8beed3df41035c34af1c19bc9d57596e1751f3aaf4c6021fe8fc7e23a7f0c1bbd1a5942d94f9dcafd0b19c1a6
+DIST arbitrary-1.3.2.crate 32037 BLAKE2B f8f6a10a8f42f14eefaad4348b6ff200d0c2fb22faa7a2876247228046359e39c555f3170a1975f64f8537319b97c7ce2030dcab3614229c8334b5d6f9248114 SHA512 faab26c44f25d2c7298add2a657e4010d9fe24b3a61e2270bc6feac05cf2a82895fe225d2fb1c6b63e6c7da54e061955503f39322b96dbdbc4916601bd5e5ccf
DIST arg_enum_proc_macro-0.3.2.crate 5367 BLAKE2B 18a1f8525cde149f459512913f962a2a4f76d1ca0c7733f0569d9a6293f03ff5624e4b4fcd89a6cca4e355dbad258f4568b32a75113b071a4d4cc43c3a96cd40 SHA512 c9aacb2d28c40731328f4aa2d8136745813ee6a373aef91e0c5844bf2e6a53aa90942e2c2662d3420545f86c6ad52aa9ee25206bb0e499926629ca369512f2eb
+DIST arg_enum_proc_macro-0.3.4.crate 5102 BLAKE2B 13979c48ec4f01f6c365d4937768c0f7c123c46b6b9c85786b3ad4054f6c7315cdd4ee74d460d36cbfe2d4789b94b079677a3336956d2db748d5c16d21cc6856 SHA512 d9d48c48eea230cb0d246857e0ba60316a76c0e214ba8fabdd42573559ff574b6867bab67880f1b8b7107ae9980fc026410020c3d3265309950c671b4faef582
DIST arrayvec-0.7.2.crate 29341 BLAKE2B eae9d3f494033ea2d837a6024cb24bd4574683ed1e76ac6be7f7c6b0d8ee65c0eaf03dbae7fea04cf0921299f69234ad91e1cf41342de86f554f74e287dd3ba1 SHA512 80cc6e55b6032f4882362813de970d3d99e600ada774b28ac6a24c9c8e018fda3b35c5750ac3a09fca6fb9496e2e3fe608b58d21b1b84685ebd170f567a0ecbc
-DIST assert_cmd-2.0.2.crate 29433 BLAKE2B d9f2a97bd81d1423afb6bddbc5fcf6e2cb334502c009368ed623015131d2795d705147e2ad347541a276712b45aa9b95ccb333c52b26aa85dbf58707160f68f5 SHA512 346268f1ff00416eb04ce9307bc6261a05edac4a9c10745f428c6a7c35edc7fa8f6b6c8f7fe66befe5b508e60c2763b8bc8acfcefca4b24a9d3e3e1ea85a9935
+DIST arrayvec-0.7.4.crate 29856 BLAKE2B 81ffac1db340e919618351819def3880ab1ef70d0acc47d680f15298eb749bcbc3bf7944ba14159be46b1e734c91b4c0f8cbaf774fd864c17caa3c9fb1fc2e9b SHA512 91e8f70330c515c966d78ae235e890594f9607381ac738a2c3586b53f01411e98d1687494f39ccc365948ae60497df3dfb2be18e26ab7e69bc0966b6c250e1ac
+DIST assert_cmd-2.0.12.crate 25347 BLAKE2B 7ff952782a86203c1dd06611f1c644d8eaa6d85c8aa635bb2cac0423050f0af3c3687dcc82235041fb44e748ed06db16ed7c413d0f31305b6e3d208880494fac SHA512 d14783933521ffbcc0bcad8e52e7e0e4fb58cb609123b2a50e20dbee10d7f2df4eb020cdfde386c8cde6b7e0696a3f98e0dbd698c82c99a2c6903c437ec907e4
+DIST assert_cmd-2.0.8.crate 24347 BLAKE2B b69beb301a11e893ee1c7b59a08ac7860c16a598dc404d7bfd38b2554790898cfb82d1e602750e9b720b4122154e4da140c7b077645786f0a788796d5dafe272 SHA512 886d789af9fe7f8155d393e2742c7982d5c0bb8d44a09f66e5552faed2effcedd000d567f9f00e08ad6d7c17fac9374d7a234ba001f38c9cf444ee41dbe07428
DIST atty-0.2.14.crate 5470 BLAKE2B 2db856a9e898a430258f059aeaf7c844a153293e8856d90ac81f7d91a888c89198768ad5cb09303c23241fe85c560a55148fa56a303651a82b0edb895616bfab SHA512 d7b6c4b9a0f898d91ddbc41a5ee45bbf45d1d269508c8cc87ee3e3990500e41e0ec387afb1f3bc7db55bedac396dd86c6509f4bf9e5148d809c3802edcc5e1d9
-DIST autocfg-1.0.1.crate 12908 BLAKE2B 40c53cab298e4f26634c3acff3ece6a3371188d91dbf377ed664eabedcde20536edaa93daf406618f37edde019f049a6e7b9a47f627344587dbd126bee2b5e3a SHA512 630b348acb98b012e97804e6325d03c89abc22f2157762c59144c04e6c733daf550bdc7f0fe0b9f3b50e15dae8c1c3c4bdfce3d805b02f0fc987311f5332419b
-DIST av-metrics-0.7.2.crate 22690 BLAKE2B 938a6488d9a50c962540cb0dd7488bb0a1fba5db68a2f9ec68338961c5d31c2448f5b9536463b7e287caf3adc901d9df11bb0af8b64e7c21ae440e0df6f17983 SHA512 b98571f685a0a3eadf28b2e889964b0a7ac2853405e179e7af349d416506beb8fe18b39cb9cd452a2c0167054d2203d2fc7914e6eefab164b5973f67a0ffcd61
-DIST backtrace-0.3.63.crate 74280 BLAKE2B 825fcabaddb436d33e179630301657d212c9364b323bfe72e8ed8edda5c0c34abe36142b0bc34501d1885d40d55ab53c0f8bc6387e35ef86f14a9d010c426bf5 SHA512 25cf411ee21c796f39a45e6320374b38f62580ca853e560b3a8ec596f0ca6d60b94539662b1a8a3a3046f481b8b84a5b84983e1d2624aea297090382eb99b25a
-DIST bindgen-0.58.1.crate 201394 BLAKE2B d82f0f35d946eda77029c838660f66b1fcfc95b7369eb7207cdd988e505a489a854591d629211787f47d7cc585a824e66cbbde094563bb54713928b611ac2cc8 SHA512 53a05692d5e76f6b70a057abb9b3f7a5b24076ba69eb4d1477e7daef629c4d50198baceb02234b60c57a598446de16f6558b2dcd535a6e403c6379eb5d7801d1
+DIST autocfg-1.1.0.crate 13272 BLAKE2B 7724055c337d562103f191f4e36cab469e578f0c51cc24d33624dea155d108a07578703766341fd6a4cc1ef52acda406e7dba1650d59115f18261281e5b40203 SHA512 df972c09abbdc0b6cb6bb55b1e29c7fed706ece38a62613d9e275bac46a19574a7f96f0152cccb0239efea04ee90083a146b58b15307696c4c81878cd12de28f
+DIST av-metrics-0.9.0.crate 22812 BLAKE2B 62532067da3cb4a91645f6b65e40514f7e0637bbd060369f509fb14bc7eca089882dd021ae5840364ea63c81f0078da10129cb962dfddf767c3750f3d9ab365a SHA512 22b6b61b08949b0dfb9d340a00cab8af03222a8b8c480771f02850ec8a5165c899c9e7c9411d10cae111e0b984ef48458affa9b46b535695e7fe2c29d9fcf8a2
+DIST av-metrics-0.9.1.crate 22681 BLAKE2B 18a5ad630e75bd4624577e700e9cfbec2215bc6867f980d1cac9d8e96caef4491d4669f0d31c78a03a3a5efbfb65faca4ab441f4698b2610da12fe15cd101cb2 SHA512 5d9c408a4ff66ef2e163a2d83eea91fc317c80d7e36fc782f4a8b577d6a7e930d9d657f924dabb8ca28c1b2c674fe7f3348b28d6012e1fd592aa857fe98c784f
+DIST av1-grain-0.2.2.crate 33763 BLAKE2B 6c1a8967e74f3a776abe7b04fe910f36cdc4ca02d69372fed34292527d8e6946610d77ed929c04cecf621aab329cff7507ccb43c0b2620b50a185082997a4890 SHA512 026bffbf4fd085b0e57ee7d525bb6033cb6cc4343c11ee1e8370dddfe629298868e295b5e4ac7f60ae6d4167fcd28a2d2663b78ec2935d9d8fcc5e01aa30b157
+DIST av1-grain-0.2.3.crate 34703 BLAKE2B af8cec3e381634b38280bdc49d514d73817f2d088873829fe09d67e8e4b75e03ebed88c08b9f57adbe17ede54a702b65eee456bb1061daa22a73e07ca5ad51f8 SHA512 61c0dfe3e6e26210ac9c44616111f4200cdd473c68bb2424de6654637cb09a7089e958076efa69b35b351e5ee0fc7d45e580ce7ab51d5953b924cf208439ddb6
+DIST backtrace-0.3.67.crate 78564 BLAKE2B 8c77d3d182c7e1ec3840fd6c7f4214322e473ba79a71b2d11d98696f8ae4440350f3c84a891b2ec79fffde107fb2ebb99fffca202d6ed235d3abd68215a1089b SHA512 8603a3b63f4f08be315176908134243680bf1a4b0e6cb26ed81f5fc1060279126ca0ef28f209a10289e1a85214b35db6b496affd71ad21524094f3ee3acd31b6
+DIST backtrace-0.3.69.crate 77299 BLAKE2B 594358f1d9171fc369f50cacffab03b8a10a8fe3da5b915611cb74b0dbad0e048c7dc79c53569d89827db583e0f61fb7269147b6258781a1599a811e642414a8 SHA512 6e86de53e1c5003ef68b6a85479cde1e70bf416bdc50e6e32ead9f9f070fa30ad46de22574041c844ddfeabd5d15de01ef746f19f8cb7f257c491ef0bf071244
+DIST bindgen-0.61.0.crate 199472 BLAKE2B 0f471a326f0d9294e7fb7faa83e3eec8a912955d3c75565c94aec13c439d15d59c8b62f9bf87e57410605bb73e04eb48c49338f9571010c666e316c8bfc0f621 SHA512 4e71f03ed614390dc6f54a7b5ddf2600b43e3ca599f68516ed260286b054deddc6edd1c56504ea059e1c6a5abd4e934418fccb56109aba122d5a65be888f6d91
+DIST bindgen-0.69.1.crate 219972 BLAKE2B bbbc5b275134af2070ac7fda7dc757eab460764e773112bfd0f89e6ba1e2e368c2d5c3cdc693db34b9a739101ceace2ce06f5f18bb43e17e0f091bf12dc5b55c SHA512 bfe97f17f6b19ef3fbaa5df2a396e2ebbccf0edd428c88464bd3e6acf2b34119ad3bdc43741c7923dfd3661168c1b3a8987273dec9742dd7cbad1c2148761fff
DIST bitflags-1.3.2.crate 23021 BLAKE2B eb990bb27b2bdeb66fd7212ce582cb36e1c616debbac85df642d0c82b25439e6bf9b1e811fac76b59e58ea3c1bbea6170d03a61e8f9a395e4334a0e2e2987eda SHA512 3c698f757b5cc62f815f9a1cce365c3d2dd88e4db71f331dff8bba86c2865f755b81cb4c9bfc59bd86b7643b0943f9e09a7c4f8ad75eb2ab0e714803d0129f62
-DIST bitstream-io-1.2.0.crate 27108 BLAKE2B 1e22302fa66f9afb8f45abbc319af67fdafdd33b6072b92bf7cf35b3e96750c515285f4d364d5f5160913aca3685d9f48d1a25180f56c9098d935672614ac2b5 SHA512 04c44cde341aadc2acbc38533797039c94b7c46d2c762b7824f4d1ac46518a3812ac8fe6c2853d4b5af163aba61e54b7434212d9444a46936383e72f98e32072
-DIST bstr-0.2.17.crate 330350 BLAKE2B 90c3a48d78b73d7e36a3da9fda0beae6e91ce534d17198ea8ceee0b613d03297f9dd8bca30e1ec5da01d1da359a1da72b2c2771b77c82bebab5006cafd665192 SHA512 883eac8210d14f89517b4dd5e25d02c97cf31602ec74498b5e186112ba0f154d47de8d1c41a8f4e5503f3b53c064e2c976b60bbfd63fc28b186bc006e00f20c2
-DIST bumpalo-3.8.0.crate 79835 BLAKE2B 3937c4ca9d7c5e2ffee229c8f5503c6a59f2fabfa3b7c81fefbf5df816efc5f601aaca4b606a62e647262acafa34146aa0906eedc09368e16eb76b3c6722e8e1 SHA512 c9825e7638bd54f97877adee8ac8f6a2cee308050c3f446f9da3996688ec3d779cb6eb935a440329794fb534958a6e89749b44a9bb27dfd219a963f64a6bcac1
-DIST bytemuck-1.7.3.crate 27879 BLAKE2B b231e200fa8925f71e457a6ae3a6677366cf6a5b1a6c19845b6973f385fdaaa86b6a3d4e8b38356dbc824cde70e8f1120008d21a3d77d06575fd036b0bf20678 SHA512 03569cb6b6532ff62f406f8f6c80ea5cc3a4fc36ebe28f5a4bab32000862192eed2d26163062c62c0749d2f96ebed6968ce76d2e95a6430d9147c3648aff1f64
+DIST bitflags-2.4.1.crate 37043 BLAKE2B f61c45b142265e9c2944c7054e01704de47510735e9ee5351cd02b98676cc4eb42d68b1fc4849ad5f54654617a74f20cb533b4207c2fe76516b724ba9318b414 SHA512 d3fd7abc95acc1cb5bf16d6acc12dbb8eadd250f069268df13c2e8dc3d5f5c15a929cd17ca931c77393b64dce0516ef8674c469789ed32d78e315b5faada062b
+DIST bitstream-io-1.6.0.crate 30445 BLAKE2B 48c078ebb28f36e65f634f545a8a335c47d8e24e6a101204cd16b1aca4425b2fbe20ede37c743d247440fc7fedb71ab2502bac96c8b39d2e07d638c4132b903b SHA512 7b530eb34351f822b6b114d55d33bd9f5ae618d56e336ef84e78f991aa07e901918895e1815a7049460f5167dbd9b73104450715b2c2a18d73b509e71813827c
+DIST bitstream-io-2.2.0.crate 34113 BLAKE2B a449d31429b3aed5ec54c2590d285a532377c7d5e614eb785e11bb208c3541d1df8c439999202ac52227544ca42008a60b0989696ed0888ef2bfdedbc23f6b95 SHA512 51d328fb67df4d89f755769cb8806249349d9d69a4c1c538f72120b058fb7fed81356b867363396234a96061da92446c6e07b6498c7bf9c1f3f99de60aad3f2f
+DIST bstr-1.4.0.crate 345921 BLAKE2B 39a3cb366a7ceb784b7a6626f81338e8047498c5755ed60fce1f6460ea5aa907ab5df4bcf30a07ed699c7af7d2d0dbc48b2c5cb674b863c22fd63b5080b52fae SHA512 98dc7bdcc1a307eae2ed202b2b785a4ad27719c4b3289408edc710beabedb78d16b3042b41de04fca5dbdba19d8567df69c35431e33a3c02924820e1a601df36
+DIST bstr-1.9.0.crate 380170 BLAKE2B 06ae5065a5d566b6333e911a5b97e3999ad2f0bc19b27023187004c81cd01e5315dcac920ff87a6bb87ccfbb949364f1361dc04d342e24f9f54490b5d44a81d1 SHA512 dc313a16c38ad881128977a20bb390e7c95a96d9530596433a7c4fd7f77d5fffd079d436006dd8d2bfc4aacdd7f0aff229504444250418f6aa3f8d6d4df9abba
+DIST built-0.5.2.crate 17621 BLAKE2B 02a59238e4da373a369f3621a08eda6ad6a9138cab6f6973b11542fd9e30cc93ae28243a4a261841f7d642bd91c3868967841d1f42fa37c47d216f80622932f8 SHA512 dd405a96c9f44622f901a90da11715529f23f5576115ef0c464b43d954fd3a05aa702e2cf91d28e1ec6556a4533fabd94f21bea89a8145a4b89939cfe26a0e5e
+DIST built-0.7.1.crate 21085 BLAKE2B 6164f13ce737fb5591a8e62ce2e8fa00b9e24fcdf26f2122c10bda91b4e9f6be625ac5a24fd2f7a34eb54af6f193f5431592c3081542cac8402c0873d6c99628 SHA512 e6718b6bc0eadfc17d190a23b9e6cd33037beb606d1c5ea948d57ab5ef946d202f03e964fb6106ce05e9aa0ea344236baeb69d3081ca8a4be0273b8c34c5583e
+DIST bumpalo-3.12.2.crate 81706 BLAKE2B 50aa1e5f8f1208bd50b8fb0580bb5c5a7baadf36c0a0d8ad041c48b127896b75437118decfb1138e694964b89c8c0f66144cbd44037a67ef376fed312e08ebe8 SHA512 a0571501d2b2cbe25b862197295fddf14dbbbba7472965ab6006fb7cfcdf0f76df3b5e505888c0f1a0be99870b87afe5881a80df4f75756d2d9b65791d94d566
+DIST bumpalo-3.14.0.crate 82400 BLAKE2B 13bde02e2e60ea3099f4e46ff679d07b2e8046740c1855bb81fe8d20a4ef0fb26e565da724f628a00c9154ef16ffc9018f67433d2a32544564b66803b5bab223 SHA512 179c116a5320c5f21163c343ed48add36089d806e35bc303318dcfe09ba1d5f02bf8012726d0c2cb76a73fae05a7c887a91e18f9e5ff3b9f9ad8a2f12838757b
+DIST bytemuck-1.13.1.crate 42309 BLAKE2B 055e031a677823c110e44446e1e371632a0a5a8227ef7053e964bd3f9967705bdedf96b14178818021ffc09182ead805a68813a8a2b9cf7a70b6e8daf733eac4 SHA512 eb0a7e423a3f903fb831369e0c6d1e5fbffd7eff1b56bb7d1ffe4e5e18850cdfb9a7f9bdcfd53ce10b1c659dff11c59190b7b85ad89ca60485878548621f01c0
+DIST bytemuck-1.14.0.crate 44933 BLAKE2B afd34f2becc41484e7bf71fb4a9f0925870a4f2d9d59daff9e91bada000462baeced4314e469a508d4413a8f2442d83a5f3082193653403fbee1340ab5c3f6c5 SHA512 f072a97e5de93228435bb362363ac1af0738b7927832b02a837f44eb21b0b089589b61e73004a06c5e4d4601e66bb42e67b9f707bbf13429a40b6250a0f05ae5
DIST byteorder-1.4.3.crate 22512 BLAKE2B d39c546ba7346df315297fc53da4bfc77ecb1f38567ddb788549ee31cae2719a8bc0b7d1f1705abb3cff033aa57af004987d90748f5a31765273b3223a011c0d SHA512 8c8000eb8ecf40351c9ce36a3a8acd7a02f81786d1b11aab85adfeffa0f2267ed74df29b2ca5d1d38128484d1d3cad2b673aa0d0441dcd0620dfd3934bb888fa
-DIST cast-0.2.7.crate 11222 BLAKE2B 8a09b6493d68b08539b38fef39ac3abae829c8b899d5243bda3c3d8acada44f4c57416e3247c82a9a4b82180d7f96c96f048b8cdbf21a8fc184ca6957b237ad9 SHA512 24d204acf21366e088f721714c48bb6431895882263ef3a08f6644abbca5c06f430729fa8bbb4c9f37c95a6baa1b824d3fad95c5f0889e92587490d51bebb4d6
-DIST cc-1.0.72.crate 57495 BLAKE2B b2057ca53aacafa063a4eaa907bfb65aa32ce01a74a90b9085c8243a87723cee8ce79e4904f9d205f9d451598ee34495f8879d27c189477ca43bd39b88b5ea2e SHA512 e9a5b283b2a1fee1030009068c1f87291ec1dab7584a0892f27cc7e523c8fdfd5d986281d9aec1a00af706af1e61d7e64c245c74be7b39c8c022ae2d4f87de8d
-DIST cexpr-0.4.0.crate 18023 BLAKE2B 4a55c6c80f09c1d4ee86706d8af1f52219ceee99f19ecd0618825ce5bb27535184b64c0a49a540756b0c5e9cce6e39aac271545c504fbfb37c44052d04856cb2 SHA512 31592e38d80414cd07b25f7460775eafce1f91570abc1b94af7452961604574d1ca2374c0177875569b644f615a2b6fede273f37a6ee137f9adc9c0315c59b37
-DIST cfg-expr-0.7.4.crate 34162 BLAKE2B 24314b3e3ae62be22ecbb147272fc2dafec5e7978c98b7dfbd4865387a8219e0b2168aaba42ed0d22b584f7087e46af1d96a9c3a9cb0a4a1c45855f617e9c129 SHA512 13b52f443ea10f28a475aa6c3077a8a97743935d44dfe6567ee044893bbab696af9f95fedc9b89582f388e2eaacc2cb0786ca62d2202973ade9270082ae0f9b7
+DIST byteorder-1.5.0.crate 23288 BLAKE2B 7f85a7948406844070a2c8202e0bd52f73b3dfc7c666a97046128044eb9352195afb80e2bf894c0742ad109e4473339de1365d09591de70dfec6c8c02a8e1453 SHA512 96caf981177f6ded9f27f025922cb94eb0cd9de5303bd91680099912d922092e77b7361efa70011e84f1595e443193e4f1b354443b9980c123f6ae573b236f7f
+DIST cargo-lock-8.0.3.crate 39302 BLAKE2B 63e67288b0201088d25da9246675b4d9bef96d532038655b484996cddcaeeb44b1bcba22f4738001c8593c1c5bea2716896b2f57cb3107c415f08bf85adca629 SHA512 297636b1e573ed42e539d8f9eab40ef516af7eaa60a476ed371900e5a4c1ae61dbc94d5aae8313f7eb684d1e5e9cf0bee698022fc95b9557d6fbc944e38e1140
+DIST cast-0.3.0.crate 11452 BLAKE2B fe6edddd0589fa436cda32342d7beaabe4003afdbdf1d7c5db7e8748adf23b1b2cdcdd286235837c735d2143f29e692c152a5d56fb0458a54961e4dea303b2cb SHA512 4a3e19bc1e9e5ecc03aaef9bcdce01624ac0e6858c065fa1c41693db0ac172b9735ce872064561347cd9e79f00a274129011f6e4ccf9e61d960c8bb684b6d396
+DIST cc-1.0.79.crate 62624 BLAKE2B b3cbed3bd6fcac1c6ea258ec96cd107f859947a35dc89c3dc8f314741b0f668e61518f896ec32ce10c9a7eb20dd350bc177a71810d53ebea59fda062ed9d27db SHA512 cbf0a25f3a23fc540e9d638fabc23f761f1c240ebb4814e761e90437d71fc559cd155768ab9e78fc192220d8a605c66c3af342ed736b719181656170b98d7bf5
+DIST cc-1.0.83.crate 68343 BLAKE2B 33245b33fa845ea2f36da36e3830ec835f937e4319865b357ee9d5ea29a0f9f8392eadb38bf1d95e3c15ed201e561acaa87aedcef744f8db3dabff87a96c7f02 SHA512 742a248c3a7547bb220a0b9c97b67a831fab9b4ac21daa08c85a3966b9fe576088def33e16132fcabec9a2828a6fc437088bb045bfc98b2cea829df6742565a7
+DIST cexpr-0.6.0.crate 17966 BLAKE2B cb46f066eb1f4dbac00ec86dc3e562db7ee8ea5ff17d16a60004fa020405e455b8aeb3d001f669cb33d1b62525bfd04ec657ffca4ed44a83af4a5e75b2c820e3 SHA512 766bff7ca7f9bf0885aee6f014bcfc084e7fdfcd567a49443d5340acfe8f257db109de17b24588504fc35c53f2d4303e2d22da21f73669125cfca984950cf886
+DIST cfg-expr-0.15.1.crate 40860 BLAKE2B 66d7144c6ef87ee78ccb7c11e8dae73221d89039dee77e57207bee666888f5fd2162075ec13ef2cf844ddf05bfddd0ea95bf89f894e647ab4e7c0f4ae4df6dd4 SHA512 cd13158c37ccc01c0cdc23f3d9def013a1dcb0864cf8341b1d8117ab7fef9f9b4a221eceb71bb5ff1704c334e354a4d13b3cb68b8f3a59c4efb956eaa2fe84bd
+DIST cfg-expr-0.15.6.crate 41989 BLAKE2B 16f751a9fc68a0199411fc13618621d1efe858c473b2c194a0a9a0d74d18294599931d72959113980a41eac0a2f162df7e9cb2e934bd9c6d024afb2c56851438 SHA512 b0dbd6d2dd9020aaecd784be78c6594a938e17109d02ad1fbc46a1167964fa6b82c87a0a3daf231807b548ef3458fa62e76fbb3c07d2934ce06a54834fe79c32
DIST cfg-if-1.0.0.crate 7934 BLAKE2B e99a5589c11d79d77a4537b34ce0a45d37b981c123b79b807cea836c89fc3926d693458893baca2882448d3d44e3f64e06141f6d916b748daa10b8cc1ae16d1b SHA512 0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff
-DIST chrono-0.4.19.crate 155663 BLAKE2B c92c273fb6475bbb2546dfb75eaa23321bc8f9a5fa8a7c652f527649b96ff8718fa932f52b500b02a4acae7837df5bdb14f69cb821d4962be2790dbd1d023a54 SHA512 a119349bfc2243a249f1d18b1ae548a04b30fecb75913a56f26d1ff8c0eb53097a2674d9141e2094018191cbbc1620843fbddaf52999824e077c1157f0907980
-DIST clang-sys-1.3.0.crate 37713 BLAKE2B ca7ee0771a970ed67b02d55d9027bab061c52d624540894cd00d09d847f6f35c58e76a1a6153309f8af709474df64b46f4764c2036883a688ffb8154d77ed123 SHA512 80c78c53a877cd8208730885214c135dd65a208cfd047dba7595283bbeec266f4d39cd1e0b3c2c69a474569ba68e4db93636e31a77c350d7bb2337e06ee7cb74
-DIST clap-2.34.0.crate 202210 BLAKE2B f383adf1d757ac4b68995132b33837686ce451f85a02a8d05d2c746da398510d05d46330f3efade063c3952aacb1754cdac73dd0afcae0df5340a89f9353aa1c SHA512 c648a761b9996a7e7464a538bb53621bae22090b846a42c3b729beca3363958ae67e3da9f93f58b10a10e043cadf7ff930388680d168646178c2824177832db8
-DIST cmake-0.1.46.crate 15119 BLAKE2B 0889436835c16bc47cdc671615f421a50acf6c34a3ba3b6b8b4289e11bf1b803abd15d88a65ae9c1588586151f467524517e9c60d5dcc820e41ff21711f3a536 SHA512 e2749309055c85baa242cef8d0f4a91eb7e694664c5e42339df8ccc6644d1563337b835d3d931f5a0a75351efd299a21fe6eea497941802ea041916d665c7311
+DIST ciborium-0.2.1.crate 34974 BLAKE2B 370f4228aa63075cd7a0d41dd83f15211fc69267235905e7f5607f6e6c0baf64db0f6203c97990604de2ae683ca1937acf284c6444702414fe1a685ccfdc12a4 SHA512 4403239badcdb5ea6e754e706472e25c4593a1fbdfc5a07e46409ea3dac41151020204167102dbf401a2e5f31b3731267bc3759be59a73880a022e5f4a3064fc
+DIST ciborium-io-0.2.1.crate 6679 BLAKE2B 1835b1002c2e5f6fb1cc36a6a1f1e3ee10423760646b00a75e5ee5e66dfd2892914705e4456ec440cde27dda04e28329febfbd5c640ec7f86e7c013a9a9d748d SHA512 8860de0a72f07d0d0bb84af3c24635193540c574cc87367c7379222bf97ed68648330511866810265b68076bd1146e0ddb41c269e62db669b1c3390aca679c50
+DIST ciborium-ll-0.2.1.crate 14649 BLAKE2B 02f5ddca41141e426492afe237ef439acca518c448a6f8daea650ceb925f6a13517819df88c93c979ed1ad9e8411cde400ff39ca288d2de8577ec870531453f3 SHA512 214550780734dcb0bb5dc999ecf22283850bf52ee4a9cfb58d86bdac9d4b80db32f0664eef71e8197e7e56a6643ff45d2974b9a36945db2c754a98df42adf9f8
+DIST clang-sys-1.6.1.crate 41346 BLAKE2B b70104e6c6b3c1b85caa111c2b1fb2c20d30eeb85059bc616afc49bce9409f7ee2dd8b800750a466accad6a74ef29d10c6a2ee4459d854a2c0c54050ff51cc4b SHA512 a6c62c1d3faae3796f5e7d98ed4f1a8119f0ffaf8fceee8e728cd4da57b0140e82631012450bb0c551cd13814a97065e9e47015320707a87bdfbb6fd317e952c
+DIST clang-sys-1.7.0.crate 42088 BLAKE2B d1ed314a910c1b676eb780fc1c96f5ac391217ec135480d0a91b11d6f447ad06484b48966ae99115e35d921a506caf6aa7ffbc4ed86aa64367dca321678cfd7d SHA512 e544984d5bd76824ea2093f43f98b59a99e1ca8a5de40e49164b870ed4a91a530f3492faf0678190b91e74aa5d122bdbb32c649998d0ce24912dfb0b83ed6b81
+DIST clap-3.2.25.crate 219403 BLAKE2B 75a8ee36c52e64cf0ac7ed5604d8a575c41c756a588bd418e6c1edccfb358350cdd831b4176f01b987fe7fa5901ca2bccee6b0f68ccba7dbe40baf85a5f3bdb4 SHA512 557c8932175d7ecd077b32b68904924e52dd46d04fd04ba36b3a9dfd7ab1dbe8c2128fecfd75d0388b21fca4aee55a941794181cc2910a4d4eb3c54e9c7e73ea
+DIST clap-4.0.32.crate 207531 BLAKE2B 5a8dedd7d9b6ef3dbd1dbb6a6504b0f6ea694246bfc3cc608f018898ff75b9952bd56dea16ca321d2a3fc208b164cb4016558cf4dce28863bb00ce133d470eb1 SHA512 a054f02385bb9a3539786295c55395ddae398f8d2b05b5d3ab50d065155ccc702c3bd624e6f878ea678bc01a1cbea8979476703856b9a86d8d0d971f22954e37
+DIST clap-4.4.14.crate 55522 BLAKE2B 552b95dd2bbfccb4ec6d237aec852e53c26fd3559f8b47389fd04d157cfa1f58e6a9feeb2350c810eebd01df68c75a5c0bbaf31d2d1ef134291bc61dfb19382c SHA512 028f5a4d00bf505fff82e32f14314c40e6390ca41191d9dd92617d4259772e53df9e7933f25b21a56a8aaa1bb4f1da7fdd51098eac59e2563eae93f068d4c5ce
+DIST clap_builder-4.4.14.crate 163339 BLAKE2B bd3f51b21c82390ffdf9af4e84c604aebd6c0e32592cc66dcddeecf8eedc55a7fa2d538d4be57a09d6dd3de213ae2718e51e8ffe4914956b09569c5230085447 SHA512 a36dedb504459703619b482fca8eea98e3b60c3c43960e0ec746d2ef12fb36418edaf5992a4aa3c732c5216b621cd67e625f9fe45ae425bc37aac51702264261
+DIST clap_complete-4.0.7.crate 32728 BLAKE2B 3798b9209637c88a76e830d7ad32213aa160a6c76b82bfe076cf27a26735370c3d5f643bc8ff6c9af42c0c1a301df1dab623b4a95ccd2e5bfdff477ec9e2af03 SHA512 263c2290e8239820469bb9810494433186e0e9e135083fe82945aa7669d8f08fa68200366815a8280edef8ce541abfaf56e8e984072a2635028c42b13d55da6b
+DIST clap_complete-4.4.6.crate 38177 BLAKE2B b32d0ba3a72f148141389161de9474cce0463ead86a7f31cfe6600f4ffadcc9e94935edd56208636c97331345faa91d9d5e0b1230607ede3610168427a41f3c5 SHA512 7c21ef270ad03843e8933449e2d24666987e863e46c55839c21932dcd99fb5c5274d4111dd8c8966761c13ccd7b01fb37721d666233350cf44bd3425a0409564
+DIST clap_derive-4.0.21.crate 27567 BLAKE2B cbef7e547b0d0a145ee7696a773e1dce541866dd4878797e9b810b7506dd11d75ae9cd2547b4c3330569390568a1039588406ee614b9eaa2b1a619951b0e67e5 SHA512 95bbddfd09de9dc1c64266743e9877aaed086be56f7e0f6e933dc5245724fead7163316a7bb4a744bc81597e4d079fb0abfea891766a17e0b1aafba011dd74df
+DIST clap_derive-4.4.7.crate 29046 BLAKE2B 96ca919b8f9901b2e89c58ee8cf8bd3881ff715ac27999c03c867b317321e4839d9e923f68d411a05b45c34d54557af12b8a173f2445732fb6de16f30dad8e2b SHA512 4be40460468f7ce22906cdc9eea8d01bb07cb206d4ce0c3df2abd929d6925b175a49cf63907925ca16ae6297d6f4d933087fa5b35958e551117ec7ae050be167
+DIST clap_lex-0.2.4.crate 9652 BLAKE2B 5120b508dedf52507068c0c369a45ddfbe0369e5c05b65bc5a78c422b2a4bf488f9ef1e0bed4e335450f2c08b80148eb5f7efed678039b5a94b5bd666385939f SHA512 6c05e5fd850befd45be9005af7252385f2304aa28a107413bbe329d97aea835f7acfd0bd169c99f69f466ab93d6e1c35d73a4e48343457a06fe2d6be5bedde0f
+DIST clap_lex-0.3.0.crate 9671 BLAKE2B 4422495226da19cb7a793d364ba5539ec77f9d327e2f1627e4b547fee0625162b57ddc6bc50585f520d31ec289a53065a2b6e0ba66111959390f756143cd5fb7 SHA512 5e601d540e46e527f6a2ea1959fa5aa035ad823008806f3a5adb4785f1928de4c9fe04e61680c64bcb87ed32b2e991951ec27c5cc5acdcfae51cdc61767ff100
+DIST clap_lex-0.6.0.crate 12272 BLAKE2B 22aa04997fffa15a2efc7013ae27fd223c3247cd31f8fe96aafb4e87e3224f075e887df10a95a2da80b468d4e16088ae9f171ba6551c0ae06d77bf3b8920ff9d SHA512 3651aa5e27ed35b6b75b1d25fd9c20c26a2a6039116e54d84c51469087732a4f0fd71754326456b367e341b017d03749e9a6774cb7b62250ca8745f5af46574e
+DIST cmake-0.1.50.crate 16748 BLAKE2B cd3b131fbc27764e15fcefdac31f97a9d12f82ac9758b2aad256ccb371ce3e2db8aed3c76fbf4816df3483dad9fffe9973940ced65be6d31463d8c059c543646 SHA512 868d5cece75d79382ac6176aabde1723bb7e26dc745383a636516ff45856dc9187fe5a83e139f17e3bb0c114624e9e71b93c8a460b89b8facbafbca50d1d0923
DIST color_quant-1.1.0.crate 6649 BLAKE2B 9a2488dd00b7a33e15e05531ea49ef1961131f0be0922ba41e2d74d2b1a047daed483ac3a9dd87c847a81cce70a347395c557cad8228ab9a8dc5be7cc0f1bcaa SHA512 690c928bda4b7b57425f38ea68ac89cde2473b7a91b7e62c04a8f2c5a0fa3505e26b065d48b7ad0a8bb491f92f600f896fefdad3ce0e86e43cbf4f9a89e94201
-DIST console-0.14.1.crate 22844 BLAKE2B 2e7a1480fc10ba92d4d5c601b87a0dac840b71c6c44679acf0a90667f37a40528ff2155130aa72be2ade1fdef4e6512dfb404b0eff181d77fbafb00c25dd6c5c SHA512 2c85d1938faca5163dd7eede2a8a07569e536c92fd0fbc7f6e6ed91c60fa7f947f0ae101817ed943b0668c4d98ddfd3149033c83614786b5d841b19a8b011c91
-DIST crc32fast-1.3.0.crate 38565 BLAKE2B 4191cbfdf05964a39933f66453752c5f14b177c43fa5fa44de02d74b6fb4e4d874218f5a369c4a1d1ea71461cd541203f42afee259343ea139e305043e155ee7 SHA512 6ff361acfc0bb134672b30fb438f6d3ac93841d06332a6ff156025620b23870a79a4ceacf57d4b14ea1744838cffcfb77b413352d055809e74acd853ae912673
-DIST criterion-0.3.5.crate 110662 BLAKE2B deac65befe648cabfca827b8c37a57a0c48ba1edf34b6e32799117dba9147eceee91b652244b2eb5523c88d8521ae3800d05fbec13b3b3548eabdb13a56f2763 SHA512 ad5d0cf9270c3be5d76c87ada41198d0fbdcdd9831f092ae7179b57e16df153d2aebc0bb70ad7b6fc98966240a902ed5f6fc7adf044be0420bbaa95b951e5be1
-DIST criterion-plot-0.4.4.crate 22546 BLAKE2B ab1326f804cbfbedcb415baadfee2d11b4a67544856fd94dae0f3f3a9bfe46550d23a29a0c8a3a84da6e18565dfb330580aaddfd69a42284499a36b2ae596fef SHA512 4f8fdfdf4ed5e1c410b8e133b36bf9add3d86d56bb23d75d37d92b1095b81850915209c7e4d19fd6aec7cf1b1270a9b968b8e37adc491cfc76b6df71c4619943
-DIST crossbeam-0.8.1.crate 10429 BLAKE2B 4f915d623533a226370eeceefa5c196438b1b332a8b5eb6223853e416385ac4e1a207bf1989646478b219f7a68c8ca0656a808e87db58361f1d77a5554cc2a76 SHA512 564f5623d1a4da7b0253f14946f2e71d14ac9195d80ab3b0ad8e2ba6fc7229745c8c70c2899852d48fc93cef009109d7d7cf2dc9c875273cb8ce9223b92b0beb
-DIST crossbeam-channel-0.5.1.crate 86919 BLAKE2B b223d0dcacbb09850d457825cb2a018494d798d0000a20eed3f54b1152e41ebca4698e7d50e81f467b86543779155ad08566da9496eee36aa06644b69cf5d7eb SHA512 f15aff67e9105584f5fe41e1ee650ae4fdd0d0ca0fa9202ee83c6f6025398a300decaa50d1b4682e8afb9bd6e11e95b69bcf23f68ae117419aa84df14ee7747b
-DIST crossbeam-deque-0.8.1.crate 20852 BLAKE2B 0e7a2616b82c5e501c0f74935adfea3ee09db5475408be83db8f1b6faab4cd5509de2e029bdf6df90435e474ef91f3fc8d482ce3a72966b2a3bec5967666bdc4 SHA512 44a4fe1d4ab7457e2b0950be787b76b15e1bb0b1c108d032381ce3fe99bf7bf76f3d1718085660083d813e2639e66fdd3635d9186e85a9eb7267063b117eaca4
-DIST crossbeam-epoch-0.9.5.crate 43883 BLAKE2B c0ee0879c583bd1051b63d29eccac37ceb9f9446ee8cb64756b2e3d95a30c5c11bc79d9d460be4ef4b62513049e28900a96085031f805d064e81b5eae4bc297a SHA512 ad822e967e5ef45fa0c4a939f057f44146f1f051032fd032355a75c0f45ae4e0a55e1d31c80bc67c01ff8d9c87a51aba7ccfe9a440f061fd8225c879aa663064
-DIST crossbeam-queue-0.3.2.crate 14993 BLAKE2B b22d68d0bebcee8eeb53fe431f54ae2193a837a0ce8dfe7a49c3c1a42c2de895dea1ef1d71b0909abf9e89442efb14c8fde932553ba13dff8af9d155d7e6dab7 SHA512 7e67037b7a7f134a50e34728813b85a4a6e062895b9f482fa4ef7b1e1e9cc15c9c2836b9b5dec2a4ec36eee57065dc2f1066937e1ffc5b77fae253f60cf3f05a
-DIST crossbeam-utils-0.8.5.crate 38414 BLAKE2B 8a10162cbc54f77737602b6f8574b65a02765577f0e2f59d71e1d87662180fe24a781df542f3e765c4d64b7a0666575157e000766dac138bd4fc0356944092ad SHA512 fd4d2ae10340bb96c22b31190b300aab54e96b8089fd62489e102c76a944e6a16c582a90bc40f5e188f13f841293a4b9becf30830c2ece04f3ce78c29066532f
-DIST csv-1.1.6.crate 886999 BLAKE2B b178d0419af671df570f37a4d054391bc883085b0cd3949de5e967aa4ca323fdadfd8c5d91eef1e8882ec112a1111cf255756eace3c7421e455ea2b6e01cb600 SHA512 81dd826f0ee85e7d335d844e9f9b4d2b66f7076c517d8050ee2e35721bfa4ecb8a906dcd9671b1c5381a968dcce0949202f1afe8eea535b6d215363d4f5be6fc
-DIST csv-core-0.1.10.crate 25668 BLAKE2B 8e9a56c26e75f4c4c9e90a21cc30c60cc3fff17515ac93bc858e8ec45e130df2ecabafa7c513b2d2815269fbbd98c418269dfb1bf1425d2fd32fe46823cee6c8 SHA512 2a269d050fbe5d9e0f5dcda2de1e84bfeb69538dde86040ad1ec7307a214eed813a1482acb5029a51f18126d384d5238355e021964e47811db971a0821bcc328
-DIST ctor-0.1.21.crate 9303 BLAKE2B 8feeaacd3d870b721ecfed7c8df60a27005de1f2a099eef816bd6df2d7b07dbfa00badeef44027398ff4505871a69814d7d4ec90b07d36e371099e4d0aebfae6 SHA512 18a914f5bd55172e5ff199778babad9a20dd4214f36f24cc00531db5e169af66f77eacab425e8e64d053907366ebd3b448a0c3275ee1f8244822778b62c4cb71
-DIST dav1d-sys-0.3.4.crate 2748 BLAKE2B 64cb5dc703ca302e2348af9d81951c91dcbb52128ea1b2792e538044fd2e1007baeaab1d27b54982afbb3255b7dfc0c1cf94932e88a0f509542d035e20b8fc75 SHA512 950c1a2e4ab0072321b2e55ec3c7494e0b67bf86721563a8d3ab4ae51dd23b308552cf98cb5e293c4ef4633bade2b02412541dfc2b526352ffd0761ff56ca4fd
-DIST deflate-0.8.6.crate 62365 BLAKE2B 05b1f81e4c423f9fdd823bc33352d8421f2ca0c26d43cf0c5990db12f5e31c46ff7769f1baa3b971166b4146eb448ed0bd3ffe68f7c4aff5885b47826f77d847 SHA512 7e2e23205c56cc4c834ade2a6a22b056253c32e29346907558117714a18d8433882a712711413addb15da79f9f59e089a06dfd680b756ab2725b500a49dc16b2
-DIST diff-0.1.12.crate 10223 BLAKE2B 369f305661f1da31207f3801ed1841dbce12451ac9c3e9d3736f7158ece433af9b2e42c29063e5d93bb86b1d300e503caa9c3ce7dd0b25553f91d72a9eea5298 SHA512 0e81331c0424e9369963e23894a6412b65a3ed4f3154ccc184fc84cf1c5985b81c586a6b34e8c6c0e5c3afba38fb15277cfd89e7f50c85bd5d8d4d24ba670d16
+DIST colorchoice-1.0.0.crate 6857 BLAKE2B a0818be1299717461ffc1bcfb6fc53a0b3b645aa8c45fb72e045cf2d876fa207948610e58d6a837aad24838ea9616e80b0558ca3eae03fdf9bc4c03a8e5ba52f SHA512 53363f2889cd8e8a3b3ed10c48356896c0daa72f3c12c9c7804707ab0dbc07c0e34ef52fa4f0fb1647311ce5913168c1bf62c2407ff86a33f765a9e6fccad551
+DIST console-0.15.5.crate 34788 BLAKE2B 915818e2a5cc6776a3d40f51ac85ba178e738f5cf40e5e3c1450aa731a04d73a617341dead606e043fcf66d0701f625ccdb5c787978d784c3f22f9ec0524e89a SHA512 54dc15a0c0d7e1a96a368e5866e1e5ea9d11b0b7eafd0e086376085efd3f656bcf5ec86f4eb387b42dd8cd4258f9162c401914d519a175331d0c1873794f8d43
+DIST console-0.15.8.crate 36364 BLAKE2B 467de2c2fbfe31688cea20b338558ae9671e50ba1fd07983d21f32d7eacb73e565ebdd6ec5e78b2ae04446f09615c70983c0ee534e25ca5a28fd1b408acfdf34 SHA512 b05e49ed145785e29631d481885788f0cc5574d4d7c4d90280dfedaee7f8c1515072c9c4cfe6bd2e017230cd228157222af7e7d41a9fce697cd1888095df4de9
+DIST crc32fast-1.3.2.crate 38661 BLAKE2B ce3762b03d24d5367d89738991c060f4b3af7840e0a7ac7fc17d01ed438caf964bbaefad0fc4d0c438dafa5a578429ddd353c71197f8b54b1ec441395f2f7ee0 SHA512 a683943e252afdb1b9d626a07533ed11cf7a63af603c19640056c5d2b9c884ad9aff33ac54c0853ffca2f6cf94b0730eae6c05abf3e53e55e709d180c8152357
+DIST criterion-0.4.0.crate 108978 BLAKE2B 8016f306593f91c74039a5cfec759d64bfac04445cdde20d535580f1fa9419cfef94453a4a276f7979551b823578cb7862f88a0f2fd1f5ecce58964a42df8302 SHA512 e6e078ae5be2c8fc018986eb8fc1432ef78fd94b93aed1f05d7b0bb195a440d0a068cc8c26066a970cdd105102131e706bfc3e05f3a44174b5df4184aa3ffdcb
+DIST criterion-0.5.1.crate 110088 BLAKE2B b99018b6a6f97fe47d90a2135e3d483ee624d43088d7881bafb2c35ba385629f1a4353110bf190c04903abc4ee99ad1735bc9c5afc6c2854a1aa9221fd714617 SHA512 6a1a32437bdb95f8472bafb5b04bb5999a6ff6fee4ca5965028ec53b4867d01b529241d01809a003722ec7d5710c323274b6f3b50ca0935919a9dee693f4d3b0
+DIST criterion-plot-0.5.0.crate 22706 BLAKE2B 28a50375f2871ce6f168aafabff46f4368bf55cac379c67a2b4396403259372759dba3355786e695b566b1cddee9091a469755a04c06ee949f00aee8e9a28699 SHA512 971e96dcc64a5afa7488f1a99475f0f5639c0ef63f9eeebcada351868697cbff397e99827cc07c0a52e7d7d1a87856fe1fc48c22075776b3bc9c94af62d79f14
+DIST crossbeam-0.8.2.crate 10502 BLAKE2B 487a7a5f197898ebea0fd41a413647db0fc3380790cfdfc6cb7cf3caef48197bb7c2498579ce676d3c5796480a8541ae37ae03f009d768a6157246b1f7d63a33 SHA512 bd2e54372595daeaddcaa26802780959465bd571cac64f23256b7ecc68ff5c0161a36740a51386ee54abe7c509ad1ff870b6f6877a7921f4335661f2c554c3a0
+DIST crossbeam-0.8.4.crate 10500 BLAKE2B 03212d9789a66c1eee7d1f4c7883eec1267089ab9d652ba5d7d59a22e04ab878e5defeccf8cff4587a34d976488ffa689bffde596588057d814b633ab3d67d1d SHA512 63650fe2d46ff2e593342b398c153facd3cb7cd72dac9b057ee0aac5ef5e9dd9df0e71536d66879676c0edaa89787d1f365eea35c82604ca46090e527749f994
+DIST crossbeam-channel-0.5.11.crate 90434 BLAKE2B 8666f039a0e4ac6f0f8be2d08ce3349d8ad4aa7d0f38c638dfa6dc6a7f30a1629e42f87757d9e054e836941dff6a8efa53b5337706bc5958d33dee61f38e7bcd SHA512 1d37bae1c946d402c1fce37f22a82037d68896770757aa91d209387f947d39c514df52e0ce94317141513784511ac626482f16099cc3b62ca28a52f387b69c71
+DIST crossbeam-channel-0.5.8.crate 90455 BLAKE2B 017132056f1b40e55fbc7a09b75509d72b0a6123a0e5ea5d6104fe822f73b3ccce670d711d3b84b5ce743dcab5f10445297a6701b71213b77c0d56e2c3fd7160 SHA512 47677d6fe63050c51393e4a0537a3c65d7055c9eae118ebe60c5d716b4f47f23c2b1947b1e1b66bfb34a57c4db3a44631d323e996dd545565fe4f58c25863ff4
+DIST crossbeam-deque-0.8.3.crate 21746 BLAKE2B c24025c65d7c1c98e442af95491749dd4f777af0509636ed66886dcf656359ec50dc2a5e26327559c6659f6b355d2b0b992dafa691a36571c99637cb47372d0f SHA512 f3201c9afef7d2d119702696f7e5e7997a104b8f7d67c7adebd1cbed84d3a3415636ff674f1ccdfd95d0dc162384e46c6138c8203ede69577b0d5359a4b44672
+DIST crossbeam-deque-0.8.5.crate 21726 BLAKE2B d97b35e8e8858deaa7fa9a836e836d02914aad29e5c34ab121f52ed65e95213cb2574df82273277365889ea771f04eb40bb2439347c259979f1dd6d5e9853bcf SHA512 0f0c9745763ab156136227cf1415de514952a3f8282ffe413cc249f9f4b345b029940e6a6c87b3be8331a7c783655a35b89c7a2547360ea5ae10aa64ba7ae864
+DIST crossbeam-epoch-0.9.14.crate 48524 BLAKE2B 439eec7e5e0364af0fe0a34ffc9354ae289798ffa7480bc656d4a610101e1ef2d5f484d84f82c87f961bd622434c36adfb7a87f7fbd2c71077b732cc7cc765ad SHA512 543cb60cff7c0823733f6ace191b137a04025a2b40fe4fea5eb273772009627fb705aecf742bc59e01367d4c15a14aca73aa2caf7f4b509f4b25947e14fd1e19
+DIST crossbeam-epoch-0.9.18.crate 46875 BLAKE2B 200c256cad6011a3a14c4664bea6b150fce72d561c4fffc387fa561b08c0480e8756bf51c14874c5fb19f427424547f72d2cd7dd6f56fb8b6666a85f8d52bfd1 SHA512 0a8a199b9d77f4e28e91fe0a0cbff7e0dec58cac283631fd972477fa912d2f6ddfddaed2c695e4978b01cb5440b702822af6333e7c3dfbcb9a2c2086999516b2
+DIST crossbeam-queue-0.3.11.crate 15581 BLAKE2B 91b9797f985af06c854c38b8124cb67864bdb47979d2e253928678118515fbc1257108c7102bad66e1f65fd6f324a93749dde86b4ea28f3bb5a16491f3f56ed2 SHA512 c6007307ef9d219889e6244805ae759998396e1d0548e3664ce9ab366ea78917dee75251c4265b0e3ef4ab15b5c6d42d6a5e9b286d17ad42ec169e7fcddb8ffe
+DIST crossbeam-queue-0.3.8.crate 16731 BLAKE2B 80a8647bf491adc1a5dc736f662c01e77bcceb4bb2b876eaf684cb2a742a2f46d09e1221f6ca8b19340ddc9ed3a10bf07a08305a5bf069338d00873b1296ad96 SHA512 3c4e855184f8e2656305a59463f0170aab99f9c2df1001f54341b62e05e533864f384477a7a9cbc2b8b1a36bbe4b8076531c11b1492485029ef81ade6e7cbf8b
+DIST crossbeam-utils-0.8.15.crate 42326 BLAKE2B 23e6bd2a6535c6fccf7b7d17487fdd4095c92a3f3ae383a72dd6d90c1c49c2ec8d96dc01a94c7127b2681bfaef843585b3ae8665ecbc43b2e7db8434e31c6c8b SHA512 adb9ce1886396bc637299cb8122d102bcc9e561f25d67ef73e98c9ed8a8b13b78bc0f5bbacab19d015e1a7690bc0201f08b3d8e82393ec347e7f2933eb622533
+DIST crossbeam-utils-0.8.19.crate 42328 BLAKE2B b2846f569555818fe7a3ef4aa29f68c638f933ee0251713c2c92624bee5f8013def5527027022963f572815991abb98d5e68d0fa00f478b2762133f84ffc84c0 SHA512 6e742fbb0d2a6371db87e81f8ac583259530a288237d0e8347394581c60004703a822318ec945936c410bb44001b115d8d986bb264e5b2d8091bb63a8edd93a9
+DIST ctor-0.1.26.crate 10803 BLAKE2B 93627949b92651243b7a763d3d45a22fafcf2147a30661c4cc017e222bfc2bc12b4071054e3079adc431fc8a5dd8b86a8d11c53c401be6db846a3d0d2076b9b5 SHA512 3a3d60c976ec02a9edfe04470af4b04b02601c48e2a007393cedfef5c13e22bca58630e9e885e635a71aabc3e0ad8fb70995876551cdbc6a31029d8d2bc2e86d
+DIST dav1d-sys-0.7.1.crate 6820 BLAKE2B 9ea4ec165ec1591f7e7872114da74c768b0aee211ac3445ac290d452456616642ad5643d3e31471cb08197f759c9920bb6bd8ca809d818ea10a115e1d27e91c0 SHA512 c40f63fc48f7b88da48bd372aec9b6a848f9ed02dc6deb4327c07c5a27f94de0a19cefd86aa6d5ef903dc6133610cf95bb1f5b7f92d9c911c106e598c88159f0
+DIST diff-0.1.13.crate 46216 BLAKE2B 27ceeafb7afd45eabbbe22d1f05667f513a6062762e6b77122e267282a8f2a0bf96384989508bf10c9e13af4856bc9f58f09b10055d6fc2c32681e288ffa9f9e SHA512 45e259c9fe7c23bd9e9454891b42d4aef6d681d35ee039d21fdb05ae9ed5856161a40f29889e7880ac2a2daf85f1b7d752d213b4a99a1a74ed2682c18a3ae7fb
DIST difflib-0.4.0.crate 7638 BLAKE2B 57c703de0d467c997bcbedc4d6577569b3d72c612d3ccd929025a98f4bf8f72f2a0d43f3cd3bc616676c2569aed176b3c1362cfa868a4bb1197e05fe4dbce32f SHA512 fcb57859424fea6958a4407061c421599fbca111357b1fe72faa65d8fb0b74425c993a24484e8414f475fa146cd8368c4f82e1ceb4e8dd9f95741149345b37a9
DIST doc-comment-0.3.3.crate 4123 BLAKE2B a82d1c1a7a90af6e111b5e684a1298d7eac5fd8e4bf7d5baf6c7403d26b609958716d57e51122fe7ad7626fe00a2d824dcfef3cc2fd7679fdb7b5099603de1cd SHA512 e98ff9646a3612bd41bb6f278e7b6e9a0c58747f8b82524da814cf51b7f06c76ad4d65b502ac5740e818744abb295f78f15f8262d0b50ced1523f6d1a26939ba
-DIST either-1.6.1.crate 13641 BLAKE2B e5f40c40a5edb6dcb07a10bf79183cbe42438f1f70f3932dce72f6f6e91f75f24d17d82bc447507def4dad4345ffc9dd9162dde778afb253bdb1218e91887949 SHA512 4bfe56920e30cbc8eb4f90162db618f7dca653b42db35ab6a7045d3fd9a24ceb1778b1f79613850bdb1a87ad3794fa0d73015e46c48d513f368d8c3776fc9ddf
+DIST either-1.8.1.crate 16027 BLAKE2B 2fad54b5f20bb8540fff5959ca7b2f9021c814ee610895d770f7081b12ebe2c93ce754c462df9d81824d479ca75e07f4a9e398c07a655f4abe2740b9c9de9c62 SHA512 5e4da301a605e0bc1ee3a269fe449aef044df05b5e833940c7f79bed61bbff4fc248e9c82b45dab92b2688d578ada000b271aaf67f2f4f7c82b35f05663cfe7e
+DIST either-1.9.0.crate 16660 BLAKE2B ad61038bfacb16f678fff5dd9ccf8f345e1bef18bd7aa0aa9c99d44abf8428939362f32fc8dbb1b60ac56016e0096201071d0bf8c0431b660605d0dfa97da466 SHA512 4978d50842386f51e31a47ad037d5e491106a668bc701bb833e6ec3998afe3ebd80efddc47756b2f300f534b39b26fc01386dc878d3b02cc8c1fec6a474c2177
DIST encode_unicode-0.3.6.crate 45741 BLAKE2B e1e3792bc2bf9db7df33a516d0d755eef5eff1249aa9b2fd7f0dfcb155786c566fb619c9b2d73425a8625c8593988b117e9676c341f65e8795ddc838bf9881c4 SHA512 64193d6ac75f66d58ed864169b5d6228ede36dcf100614395e086bc8e847a3ddd287734d88e8ed50f38c679a99c80ec68449175a67d8ee03b02ec1cfa9d55e77
DIST env_logger-0.8.4.crate 33342 BLAKE2B b1bb359be2f34ca6f93f72154c86920b8254f574b48f693b2ae7296cd1ff25d34dea61e95fb2954569fdebb6c522c851ef7499c107005528aa2226df13b0de33 SHA512 9e4478ff609a2e1e1a902a55b221af43a52622fdb5668dc33fb0be354b964708b7b6d13b7f1ef11982f45fa7e71f0712a2ab3fd4ea98155a5115e5a7c3d33049
-DIST fern-0.6.0.crate 299856 BLAKE2B e7adf3beaa2f5fc029acc8d87411c5ef8d3288100b5521d0c1379db6868bcaae73e197f456509bf29f52429ec72bc6e5ef297e971ce9cf6d7cc6232b5d9813fd SHA512 d0524c272cba970b5193d845d4e84698d64bc28c75b38dd2f265f1a132e1c9ea177ebdc38741614f6a6f3d106c7c50565b8562378a50d59ed093e00aee8ca382
-DIST getrandom-0.2.3.crate 26261 BLAKE2B 3e52a87b9355f850e07e5080c20e1ab3acfa927bae28c63bb8bfd6a773ad77be96d3ba770c344631cc0f2d9a95aac920790173168b102e25f50480ee96663569 SHA512 e6da64ed529cb0fc000b613f75187ed6b20f716e721d8a02ac2ae39c507fb9f6189ebb66b522d28584eff1e7e9efc274cad6bfe43f464f58053701e1d51c603d
-DIST gimli-0.26.1.crate 716168 BLAKE2B c138e890457e8724295cc8996f8e60f1f4d3eed46c865dc7ff2379c65e8d470080953eee70718867b73524f57d54d4a91b5d5ba74d79bd3da38084a880f3fed6 SHA512 c341354e13a78c4afeb651a0ed651f60d188957216ba51079512531ab1273b1b79c86c57e904b87064015f8e7efe4280d9edd4acf90e25fb29f8813a4c7bf9a9
-DIST glob-0.3.0.crate 18724 BLAKE2B 1f1dd380e7d668a0c2cff9134279ebda958b4bccdd4a65ff01f9665b45ec4cce8ffbd47eb46e52cf516c5fd5803561e6bcb60cdee21ddfbb8601a95d45500620 SHA512 87098ffdbc518442995c422120cef71f83069c8f88a1970ecec5105b0f284ddd92bcee929f5c230d5b90ae1ead7e1214c3eea26f4a8b26715a00c1ab8b09bc46
+DIST equivalent-1.0.1.crate 6615 BLAKE2B 302d78069d9df05e78b53f0488a9e4eb98fa2bc1e21893dc8a0acf2234347ba7c4df4b9d6b380ae77d8ffb1074b9c790460fe2dae47318aa1c4fe4208244540a SHA512 b2bc60e804c1b02c461dcefcfd60fc37145af710d183ebe65f9a4d63f2b2072d23193f98dc550a9213c7fdc6a2a837af23b04a89294ebbb681a4aaf5d5031140
+DIST errno-0.3.1.crate 10348 BLAKE2B 72831d0b69f95884a69918249cc0e814eb5eade3205331bec6d2021f8b01a42c4c9b494f2717033d65a4c5230c8490b6ce250d349c1e8e177b20e7e84a860020 SHA512 00d64157d066f1e7601c522c0f4e777eb662ca5cce64682f616de0734857765c343396f7161ac2908c3db0c474995ae157bfe9d8a9880743724d9bd428dfdf54
+DIST errno-0.3.8.crate 10645 BLAKE2B 4a7af10845f11b3d8f177a75a692be468e8ef0ee53fb84a4d212335f1499456b6739a59af260894b5c3853d3bf21ef3490d1e3a613305561203ca334a636c3b3 SHA512 29753c421c6f929760cd7565f8171696e4f70e677654a7507253f4fc495edbcf214ace27be46bdfe5c1a0d782f4b688f591476e56f4a1096471cb353c643328d
+DIST errno-dragonfly-0.1.2.crate 1810 BLAKE2B 781fc26dce5c33d83b9a1fd9be2b2ce9ac2559aaa858957ba6777e143b1e44cdfee48e1b47e3c91a95075a51921d1a421d0b45eb3d8de827cf4dd0ad744a7d8c SHA512 f853f1e1b8dd0f359a8f9a0399b3384c1103cd090d96e2b2204f91a40d40a9eb99383d4aa6a11e5470c51557afacf452d4be2049600d4235d27f59870fa3b916
+DIST fdeflate-0.3.0.crate 21790 BLAKE2B 3c96f6395fc42f66e436fbf6b747c2f3c2dfd8c38729bd0eb88be872ad55e5d964ba322b703fae122907d51892619687ac9b7a5e7546f8fe6eb7d80a91c1f398 SHA512 1a1862460745780407892c835b4e3431267044285fdd718dc6b316dbce9520d2955bf36e5e28257f2f758ba7bc3051b446e786d11ace83deec492e4c161664bc
+DIST fdeflate-0.3.3.crate 25011 BLAKE2B 71cac9edaa40c82ae7e8155aaa8a386892672327089442de105c3622c56f13e0cd9e2db06f8ca3baea86999796df2fb49f688f3ce86cb1744edc8dfc8f0366ee SHA512 2de1e3343280d946ae447beca837cdcdbefd722a833e311ae42238fad691ac4d5d8a834f46c08f818fdb0873f82aee21ac69582c0ae2c06784d20b2359305882
+DIST fern-0.6.2.crate 304626 BLAKE2B 7dbfc8a1cf0adc288732a1dcc23e30bfea6668b01e162b60e867b67b995b7eeea5399b9e9a630510e3f56c8f36b79b34913342b7c8834783ddacb2cd7b94e140 SHA512 f9c44d1387f803b567b7254d91cd942c55d30a1c3cd37786101d7d49d346bc2bbc593fa8a3b2e59711c5320c1496354e8d2f3ecf0967030ac1e5199650523fba
+DIST flate2-1.0.26.crate 70832 BLAKE2B acbfad138abf2175822153867413dc89bafa9254494b4f13d958dcc6008a26fca6f934e8010b8c090367b8e25272a4ba3b26a31e59cec69c1359f83ca859d186 SHA512 a9f7b9e4adfd0a22fbf66e1cbcfe377cc03ec248c7fb7113097b839922b569cc96bf080089b8c800b35ec6f81b3f602a5860de55963b85f27ee6d75a9df88f3d
+DIST flate2-1.0.28.crate 73690 BLAKE2B c9f141bde0eda6b9c42da0a3ed69322c12c6c29bc522131f51ad56f6e2758646aa5585382407409257a8301f5f07a1825d150838bbb55822f2d49037f6279aa8 SHA512 9db6f3ddc4e1e91960b07c08712beabd911b297d93db8be3ecb97a392a4262e608c75ed8e9e34d87d58c3e67d1b7987734e14ab3d45fd837a2767e8016380284
+DIST float-cmp-0.9.0.crate 10102 BLAKE2B 46bce5f7e838a947bbbdd22b085435e795b67fd23479780f65bf1586a70e7a35f04f9af086be98bff24e2583eeac7c9688727a2ddbd1ce978526dc01abf67dfd SHA512 f8dad12ecf8a278769054fd78794999dae8dedbcfde5e77bdf6cea12fdeaadeeb2f1f3ca62df9aadc1bc3f61457236c4854d6d6923ad6d03ae7f23af600572e8
+DIST form_urlencoded-1.1.0.crate 8734 BLAKE2B eaca73d73d16242f3fa3e38e23531c67c01404697bc7b7eb7c64fa04167dcb403a41818487fc46c5d9118842818472d549a2f5fcef5e4d962461e1c103d895d1 SHA512 9e245495dbf235b147e4216b313f2e6a96357d2782a66d71c08c2902c6a065701ca8ecdbb6b2035983a83c44cf36c921b5c71d63af0e02dd39bf5f8347117e11
+DIST form_urlencoded-1.2.1.crate 8969 BLAKE2B 383d3a197b73fba199220b7708e16d770591ac16725faf4efc1a8c230c569c381870d4a11b8fba623e761e68f9d318630b22101d461e67dd26c67e13a73358a1 SHA512 c65104e2dc08fad572bb31f981700fd43dd29fcff42b01c7ccdbd3d4c23dec12360aed3f1b5fc4766fee386d418a65349b2941b8735f788cb0d35d631a6a8dd1
+DIST getrandom-0.2.12.crate 36163 BLAKE2B 0afef8504932ea0ea051cde1d14bd5b79edde68d6ebae6fe88fa4aaa532605a16f466d0d9c0d0aa619eaa105600b6d5ee4e191865a3fa041549a78f78ca82396 SHA512 dd97d7dae1a7ba653abdaf2db719e1a9c8eb721b08b4af0f1c45b1ed5079069d1b57e4f6d9d879e7fae3a890763f4b6aea9bc2d945392b98e811e7b348589bee
+DIST getrandom-0.2.9.crate 34457 BLAKE2B ccf7232ece1047000140ed6bb9a1afa784be87b5cf83e2f58dff77abcd79e34120b45336cb05e47fbfde36407957fe9da8b04971092ec05f67b321fde9142d29 SHA512 48e341125223945d1c02c4dfc54df303ae27d3ceca0d5a30b42065f5e40da600cb2010bb59e88af6b990d54b5eb4bf83ae5bbd27e13e56363f5f68be03ea9082
+DIST gimli-0.27.2.crate 721636 BLAKE2B 61a202545529618b44035450c696b52559d5aa8af091dccc613d62b21733dadde0da467d40595aab71f4532d1fc2f2a6b3744e0aefe89f244e54b9eebf422d99 SHA512 1c0bf53754db2503033c17988e1cfa824af4e01f43c874b02fa61a475467185b13657c7ddf891e06f5984db3ef6b1e37586b184443716dbe45db1aa8bd082ba2
+DIST gimli-0.28.1.crate 270497 BLAKE2B 4089e0f871295d464e548610ab5f0c2fd863825416109cf58ca827e482897f00eab23b795295758f1e3af16167b52c77c91df6f707f1f445984a6c4bcd68c6ef SHA512 695e46471fc07813dc4a47744458729b097f6efbfceeb57eb3db4165654e99bebb98dde2d73230b90bb5dd7c0ca0c6e77c7c3dc6f2abf70058b830a2fb386d25
+DIST git2-0.15.0.crate 198983 BLAKE2B 0e340dedef36339cc6ce4cf9ac79014e7bcbdf9ebf688986d1836c3e2f480998a60a2722017381124682edc5dc511368497f03c9bd9a8c4d0e7690682789bf88 SHA512 8ea32850e592cb9bc8caa0d7a04042e284c11b9d46959807d8e6d496d93946342dc37fcdf1ed354010434798a404f415e8e980fee2ce4f5cb998e0f8736b5bc5
+DIST git2-0.18.1.crate 211466 BLAKE2B ce5a8175f734bcc2504015271768ff4bda7bd18f615e5ff2618d06f758f041827aa9e58afb8149cc290619cf4e0fbccca460e4d38bf6f3cbf08193a2548c16cc SHA512 3fb535e820365ac5aecc5a1cd3af869ea952ed6741a7890b095ac6f4509fdee7389949da45e4f66188b5e261fb4c47d49ffc1043b4b2b39020ea21e22bc69fa7
+DIST glob-0.3.1.crate 18880 BLAKE2B dc89b3a664e810264dd7a01ad892e865ce35b504bfe5dba12d7ea8084da7de84feaa94c2208f1a1eefed90297e552636ad61ccebf6fc8cb4d01f27d605ad0a09 SHA512 29368160138bcb7ea5660f9f30c5711cfca8bc8ba836bbade3fbe8c424e7b4118daf27cffa677962e37e36f025fd2bb5a9c2aea865b0ff155cace455dfbb658b
DIST half-1.8.2.crate 41874 BLAKE2B c3c5c01771f05b7af652abb8e5490dde7afd04de130537e67845fe7ed58904e7ad66c7286a4e7deca3641876a6d12c5b6e95883fee2809c8e685d2f79cf96610 SHA512 5eb128e41b8b7f9769a669834b2f8380b115395bf2a2a181732bf6c71234d978dbc4c527fddadaa7bd7fae9add77958b27616bfa1767fd123d3cfb887663292e
-DIST heck-0.3.3.crate 10260 BLAKE2B dc756738081d855583f239908f671e9b5dde72ebfb577f6387b1a169817a03332464cf67071708a4c4f06b1ecb222118e8c719073ccdec1c0f938e5ef378b13f SHA512 b3498e033f44e03206421e565efec5b21d13107b60d35e4476331c44e6effd75c81f7678f2452c822eefd581209a2ffefd2034779cca2d8b4fac4583bbbf777f
+DIST hashbrown-0.12.3.crate 102968 BLAKE2B 492072f27eaec45abd2c5d7405c614c0c6a8221425e901bb6174bfa1688ee524408a618650126d6c683b7285b9bf0a21dcdbff7347e4d8f97bf7111defa1b7e5 SHA512 b3700fcd659a21a6b9b3777c18b37a83bf25542b4e8f2b963779a122f5d22e1742c064cfc03e649583e7dd5c6e90ca8407f8c51a0e8755f6a108682853022f76
+DIST hashbrown-0.14.3.crate 141425 BLAKE2B 23c63a99c6c6b7a6b9b9e8bbbc7f1e342e1eb9d7582fc9eb408d3eec50c99f34502d450170bcfef4da7f2b1e743e1d1619875ec879e4753dffcb84f3c10dc3b2 SHA512 4d344e5c89ce58e04668b80ef10e4e110a3a5daf4d610c52d980577795d0e2050c7d0b151d8ba97128117665e27b92ab0300f85b88bd6e1de943c62d49249356
+DIST heck-0.4.1.crate 11567 BLAKE2B 520aeea740cfa30b0cca12f73594ffa655f32959673b1c9caaca1ea0162e455546ae3033881394c0ba0516bcd5c9a997da02162e1585522d665813b9096eabd9 SHA512 8c80e959d2f10a2893f9a71994720f90747742bb5b61fc0a539eed3ea5679b140c48fd7f7690d7122cd6af5f7f20a19d412e3569fe741c6d31f6b2ce1e0b80e8
DIST hermit-abi-0.1.19.crate 9979 BLAKE2B 801e8052b85341cca388ada9db4b06bb1bd7b64474185b2ad06c0256b9e597639bd3dd4ba0053ea010f922e53969a4ab47b90d451fd9b94c8f2324055d151ea1 SHA512 1c877fcd562b15d2de9c151fd6c5f3ea4bf48abcb799e6139a180ffad5d64b632f0000d5707bbd92ff23a0e5f349157b9e0f5be8b50f03680b0fa47315dbb78a
-DIST humantime-2.1.0.crate 16749 BLAKE2B e2ae8325b037fb175b9200cc5c1944ce579056c6662cce307beb6701894552362a25e371aad65f8fb9384945b48815ca74bb8b544a32e0a5845b7edd30b918c9 SHA512 3bf29ddd1391d82897c22baa0ff3ed58ef6d6959859f1f8ed54d324caba5b6fb4422e56790511ce82f902cd11467f93c8ab7fc7b0e0bdb719308a4d0a446ae0c
-DIST image-0.23.14.crate 226804 BLAKE2B 0debec9484b54cb56eedbf07c246b80afc6de99b03e5f41b5cb9aa29ad2269cb7e9891b7377ef7ff53200959317bd38b24e823ebe5c2125677ef2588eec81ae8 SHA512 4eb07fd698c2d902979ab06ae0baef4a53db74da78493c45f0c32d5903c5399cb8a1a25a2e89bf504ffb612e8153eaba4ae41df3d17f02c27e7991fdca518f63
+DIST hermit-abi-0.2.6.crate 13027 BLAKE2B 4df5306639511a5f69594e903f8ce62482cbbfbfe272a91a12f407483dbac4e87c2d7e5668cc06ca5c0fc149ca93a3152fe6ad4bb3b96cacf56a22cb635e5b7f SHA512 bad8442bb822a9c99f6536db16523c80f5139af6a139bcc359c03725c59ff935816e2ecc5c491dc362ac75ab2dff41ab1e9dd29431f5e9a109b60eb9b7a8dc28
+DIST hermit-abi-0.3.1.crate 13793 BLAKE2B ece7865a09f566a95bfba5f1fba380bf12836c3761fc6d5a3d5543d3e50ca0eac81bb567d50b5643849cf1a752aa651a0db4c053c60faa8f1c74fe2f12819d71 SHA512 a55fe9230e4e8fef63284befff74108f206e76067257439d334d33068875368902dc690926a1feea15611f14123073867d7e9cd21397bc484cef849d6e1dfbf9
+DIST hermit-abi-0.3.3.crate 14253 BLAKE2B 9ed8b40a1cc894addcba2a45562d74359ba55156e2c3a547afce139324b1345df2f158f58978ccd7d343fac5e5d2cda86e2e0a9dafc77af36d4cd8aa0a6d4c03 SHA512 eb162d085e8e0db72571aca925fdb6094d1e5d091766dd62d6a116957459bfadc8d51f1acc67f4da3cf6a8802c0ff445f3ad2516c1df8fcdca0b751632e150a1
+DIST home-0.5.9.crate 8760 BLAKE2B 02277a6d0e54a88e62a50ceb5b50b08cd5dc1ca5ddc17a799db0f49a17fee8560df53f616ae22cd16020ae2a89ce7c6ec22e5e2c0d513405bc2859a6e3ec61f9 SHA512 3f1f7b619f1a47694cda92321a11d66ebbb2dc0b0c33446a7a4b886f547ee88231b61c038de04bb82acd50e617f19b5085893b8401206d32cd54502033e04bf1
+DIST idna-0.3.0.crate 271128 BLAKE2B cf8a2c43760f03e94953c6692423a12f28fe763aabea8785b93cd247b3aedd2aeef2cd99978a027186290016ed924db39d19fe7d397da1ab570be9646bbb630a SHA512 9b7cee27811ee52ed9bb39fe82f724742eef2e5370642b6c756bd134c8cbc20bb6faa9f296053672dba8a66f7356a08b2ca99f176407b173e2d566d85d066441
+DIST idna-0.5.0.crate 271940 BLAKE2B 0b781c2e9bf717af429efb53bdfd18244f2b8c58e5111c3bd3bee50c8a01cc747513fe20db75c38b6b771d5845647bf6c1849ae6667766c9623e018c1f399a9b SHA512 bee6cfbfc99859b113aa8c7b487429a836dabc4e317980f132d28ff8333336f33480bf9f8b186a07115eff33024cd855bc85d346fce85e17c4132e886769c54c
+DIST image-0.24.6.crate 273618 BLAKE2B 3a76d8dbc30540d3b34df2bff54ac8cff024d3edbaf22d0de8acc6e48219b168be98699c823e1173d88316fe7b696d6cb89819d33dc04aafab010fce706ea35d SHA512 559f8396cedcf7141a05e3714f2e8e33e5b5873b0ea81d50f13c8e8ca860c1ec20dc2fe89feb59c8a72eefa1bf74f2b93ab81f28aea0339b2a4c24c5e4a94803
+DIST image-0.24.7.crate 290618 BLAKE2B b8c914f80415208ba0685c96d2bd8346a6f935f654f51e6f9fee3f3babf866b8327897ac571aad2700387196dc20f5b966007ee71e0b4dbb1c99a30dd9657996 SHA512 8c08bb61645a369b5f5713cc296b7de3f245d9b7079801d3cec3d95bd3556d636937898f1bbd1ec18bcba57d4c49f52cf042cbb0244342d030a6dff98c290f6b
+DIST indexmap-1.9.3.crate 54653 BLAKE2B 7bc1768589e74020dc15d3dd064009edaaef39b7aeb682d0ca8e49944e3f020b9c04d64feb102e88b22feb40863479dfaf4722d6a77b5d19e7ca553f4bf64c1b SHA512 2aa8069eb07a814c8fa3e11296c9f032ef60963520d7786ad20cca5cb7e73b8f76d97722a994d65295bb713020aadce5008cd3df5e99d8bd968ef1979f910a37
+DIST indexmap-2.1.0.crate 68224 BLAKE2B 9d833570cbb63ecae138ca234b998bd0e5b11b1a7e3d5ef4a21212bb32d0998395f1fc609f66860bdbab198081687630f583f5a2e495fac1afa40ff48bee8a0f SHA512 9d303eef918b9264b9fe326cc1d71f4095f7ed5639ed8696efa3e9be65dff2c50ada4495409e109e7718997db51ae1fd865cf8e88978107d7823faba14380600
DIST interpolate_name-0.2.3.crate 4165 BLAKE2B 4399a4330a833c45918b94c78a269e9166a616714faec00998a69484e3fcb8cef20b2a0fc266fa6dea5abda2830e0f9bc958f51497b249c01e1f60373e198a59 SHA512 964944384c39d0c085c05a7643ed2e8a25e224e6b28fd9da9d971567b4d56e7c4887a61e107c718cd95c19c6d83f355256d1130206491f7b286a68899eb7b894
-DIST itertools-0.10.3.crate 118661 BLAKE2B 0095d6e7f14ddda69605d09f74e8cc881eec1a1d234f705e667d7f9e738ef157b7ddee066855cbcad7f134bf79b99a4a4c77bff3371397a567cd34d98b68bf97 SHA512 9d17357eb68159edf4f4ccd2eb9895672c7fb633803166d5e24ee12350639eaf66f1c822910518185cd1f1ca5d9c3e228dd37525e6c337ba3fc7ce967f9bfc85
+DIST interpolate_name-0.2.4.crate 4027 BLAKE2B c497f1912ba5c39db3d57b3e0fcaf1df8e45f9f99c6d6abc2e375531a7fbe3d55e6af34ab29fcb1c9618fc65147e7c4659531441a23d586d50ae3ffcedb6fd1b SHA512 87d2b732a9104d1a094a15ba6fa642641690aec10bec065d02aff5830f54a0fed02ff5de4bd5c237a91d34cd81da0ef11cc37ded3d4ac640de9dcb96fb73fe11
+DIST io-lifetimes-1.0.10.crate 37294 BLAKE2B 9b8836c4bf30e6d102fd9973ac66f067c3ff8bc2806e55f26368ebdc9854f2e9cc6eecc8014f9a0b22a968a6eea8be243fcb7a641d2d0dfc747ee08a6a1450bb SHA512 4b2cde9522780a408c5d4e6406286bc5dd3a0de1a99675129e9856e5d889498a127fd5dd7c937a7542135abc2213b60bfb6258b7871b8709dcdd79d60455bea9
+DIST is-terminal-0.4.10.crate 7683 BLAKE2B 9b7cdea9ad36be80fe334a05d89c36154d08a3eee872d77cb63a443868bc07ee13995f00baf154eb710b51053f8aa568d7768eb91981b5a834bc2169787df92c SHA512 d2ef6e60306ed29e1161c3203913393b1b4ad497c285be40961f8b3dd64ef23c2ff97a44c123b6193aa1a308bdbdf4b450f8b33dc4a5e7d54ccb6fafce9194d9
+DIST is-terminal-0.4.7.crate 8356 BLAKE2B f0f42d6f6204c68bc8a9e1290b9b059ec55f5aa2f83f6966711a5f986852befe21ac9281fd611e65cb4fcbf35dfb212748785c7258c44602e7e390c51f09dec5 SHA512 56c00b2942963f8a0b5c40c96a885f85565fb09e247bfd5a3e77ca5c9e0e0e40a17a8d809c0541177e8b496fef87baac4b86c751765491ffffdb631515d8acf5
+DIST itertools-0.10.5.crate 115354 BLAKE2B f24734bdfedf1dba48554e39b43669efcd4a43656eeb2c511096060daeaf049e1ad3eab232e757057750ce94aabad9fc8a0cf29a997edc6c4b167301c3443391 SHA512 d03c3cfba9841776913bbb6daad0c8945830c155f32ae4b48872e0f937c75a443f0ac9a0355f43b359ff75232f38b15f4f6d446b4be30b00b4209cf66ef770c3
+DIST itertools-0.11.0.crate 125074 BLAKE2B 8e686f176764e92e4da3697eb781e1bc30d6c57ac61d97343b4fc3a48e4febf669d5771fa8620005c620cce52c236760ee2e1bc344cf602e878bc168a2e69cab SHA512 8ece00ba0a7cf481ad4586da24385a6f0b1719b9c3f0c25b9b5b373dd1a0ca7b9687a77cd179853392890b7bf4d31e0356a4e5fd540465b4ac62bd74ef717fd8
+DIST itertools-0.12.0.crate 133620 BLAKE2B 73c09adab9b9a621b556d0e9ca0deb9967f25f5f7cd082a65208ada2639e8154704d1df4be06505c8a6697c51b438781ce9921f70ae826a80597d5a682b99c99 SHA512 8f4c1239aa185ba21740dfda7a0c7cd47d62430db21724acdd580a8cd62df6c0adbb11fb8ffa691acd5f1b20a143d57dbf7e30d9596c38a07b5a4b3405e31ce0
DIST itertools-0.8.2.crate 89203 BLAKE2B bcf8c00da5033f36cc205708324fd8eff083d46313ee84f567e4f333d8ac1ebe44474d89835a312a5357a48659e2f51d34d2194d548256118943999a3da8ebaf SHA512 325d87a80c0b217469762ae958c46925d284b37ddd987c3ab977c864f426dc6e4515701864f12fafbe49289b45b1910906f0e7d884ba8aea217cac521c3d1ff3
-DIST itoa-0.4.8.crate 11926 BLAKE2B e5a648b490908d0ffa3a0832342ad11264eb4357939bb39aad014aed3938bb60e82703b7e31929a458525061e9bc40539d33753bdbd722a03b6804e57dd1f70c SHA512 6911d269ff3ed7350e4f0dcfc6e9e0d70e25833e1e7cfcc57d5b8aff1f47b8be4f2e9baf1b92e5517cff63492be489b6d29b48dd9bb642e428acaa431216b68e
-DIST itoa-1.0.1.crate 11059 BLAKE2B 5a2e22ab891ec883a90f652c88f924113252765579c03c783e43210fb2604e9e3ccbd4c1571087791be07bb99c4e85c7f85253be831b3ea883bc0ac18a927980 SHA512 8e7bc1e9bf4fc06871b9fe20caad4e0af965477d724f4c8d0e2a3a4d87aedf99f92e4e583a6440ce574d0fb43fc9d6a2e80add52a2f64210c6aa3b402e424295
-DIST jobserver-0.1.24.crate 21303 BLAKE2B 571e6f18f09d56d8281d2b2d206647666dc6e9ebb0a1fa48f707d3cdf603880b78ac6a2ec2239658a220e70924ed1612dc19ad90fcef883f21972a1df4f67d57 SHA512 0feade0f1f0a458bdbcedafce8fc39f44adeb56772ea94a59f16f038a743f506db1405a7c8deae65a6a5c1695bfb363c19aeea1c82c41c7f4d1101469f32e42e
-DIST js-sys-0.3.55.crate 70499 BLAKE2B 6108d6bf4be72dc93db5c2f45d59dcbd7b94edc02ccb368a05bdc0e259768be4708e449647b254bc3c542a366492a02f0569d08e69c00249f58b07a566cdf97a SHA512 bd51d61684b3683d5b80df42eb80cb2e4688096bf14fcbd30234503709b1730ab25c7b58112516aeb5d7f44ae20e0ba08bdfddb0518a20603bbb4ca74544d4ac
+DIST itoa-1.0.10.crate 10534 BLAKE2B 8ffcb345d07070cc01651fd44c19f3e0659185eda733c407fd4be0955a301879ae1272dae7f425279dae8dcb7f7dc954465c9a09b5c521938a503d34fecfe2a7 SHA512 fc496be0873e31afa6ddf7f2958030f8fcb517cadb86a48280a0c50ce50460afda189af1e6c26e5ff6f85c750d772c21503864c32b526c4fe4bcdb5b07918538
+DIST itoa-1.0.6.crate 10410 BLAKE2B 8b1dc9ae9d55a006bb2abe3b0282e5e77397814b692a87b9becdc2bb74deabf5db09e3d5a2f604964cbff046148025988a5d916480e0402b2b80646fbed32875 SHA512 e1fb82fe16e1248141d48de9e05e7abed0c6fef58f2ff8b77b52aca5f16f3600c46707ff4c7a0f0307047610f29775bda74948d6d1efceb74b37cdd22e1fcf31
+DIST jobserver-0.1.26.crate 22645 BLAKE2B 44bcc15330268ea29650e58605c7f21c35108eb64b790c005968955238e948d27b3d12e6bb06bfc0eb4a3fe5f9e5322bc0657200212bf87e08d9e043e008a5a8 SHA512 ad3ebb693018928daf399e918ce35ed0d4e643cfb5c78bde04697e41dc8adf2861023ea1cf2c5033a3026048ca0ebeb7f2f57a966ba8e420558e42dde8d494f7
+DIST jobserver-0.1.27.crate 24774 BLAKE2B 259c854f3cca79f769dde0a796aef4dc135574d816e7d0b8aed4b3d4e09d4eea600db30f7c8a8f7c68c9040efa1ab99029b1380ba6240dbf21634e7b5ad141d8 SHA512 2681234952be7a5ae67770d45f4d52e8278347f79b349bda594626712b1fba595a4cf46e8fb5426b548c325a23243facf7fbdc01ae0e853e492aff39444879a5
+DIST js-sys-0.3.63.crate 80154 BLAKE2B 378b8da12827a743c2cc996362934cfe249dc9d9dc0de507cef366fef4ed1b9d82b5ffc22f3ac6270c909eef901f494dccc8f01725278876ef2fae1945041111 SHA512 fddab182e0f093d8b600f86688ffe736852b48351abfab1e60073c67901f144bacbcdac867f533056b1213eb75920b08b6249fcfb5a15e650978966e8350918b
+DIST js-sys-0.3.66.crate 80765 BLAKE2B 366f2741a1f7bc76f78068e183080bc221d45fb9adca257da61fd05a3f9044b7c6dd9d1c317e29af30effb28fb969bee2f766ff348f14d9d036f1a7e6bc2e599 SHA512 7244c856b2455d441e02eb12227517a101af28596d676797ae45098512052c09650612a93d912378d27254c5ac64dba9b37057c7493c1e3d3e0d52b2169340ac
DIST lab-0.11.0.crate 15140 BLAKE2B 28763aba9809eaf8ee5d90438ed973fbcde5861d78f51757a23840e5c1823ac30e53cfdcd88c6a8f0cc44c6b0d9ea7e8e50192f40c290c8ef1e93c9c58b35a7b SHA512 bb56ba0af097c5822f6e9ad51f0e4202ddd740953336f9da79af072feb0b40fcb18863f17df4ea8a076e5af719144037303b0fff4fcc0e5c37a018129a08fa91
DIST lazy_static-1.4.0.crate 10443 BLAKE2B 25b2e61bbac48f0dcbc79c81d7bf01f2403d8269ecb6be3ea6147bd00f7a588df15a91f44dfc18ada19b21faa71de4637c7d493a8628cbecd0e547d74e616a23 SHA512 e124c0521ec7c950f3c4a066821918da7a9c6e711115d98009ae7c351928fdddead852e7596fea5937a9c30e4e4ce8eee7099b20248b5d6e3b2494b6a6d88cb8
DIST lazycell-1.3.0.crate 12502 BLAKE2B dca2d3f46823a52dcf87b7d6103fc4f1f83bc5247ce361946ac2d9df239fb43ce4b418104503698dff0242480cd014996e77da4ae0a88f3cedbce4eb9d3c9ef8 SHA512 f9d627afc28b61e9687a3f72260eb013401fd64057647641ff2e763770d7380ab1d2d8cbb4a3c8818d53d504c618a3b46aaf701f72f4d7b25d226042824c2f8d
-DIST libc-0.2.112.crate 571445 BLAKE2B 3936f4fd08cda0ad5be7b1ff417b6dfc9abad14ea5cf647425d8a2e7306275e958fb5cab4de9eeaab95065176bc295065bafec3846ebadb6e15cba20de495280 SHA512 6c1a027eff21d3ef8078ad19b90b06d90790919a848e95a4c878e8c8b850d2e9be3fca36d8db39b24e472f15e5352ead1182d5491a0b382e06f8c3ead379c45f
+DIST libc-0.2.144.crate 682092 BLAKE2B 1f699cb880a65baf9210527789abb35fe8be9565828d061e12b5c76330e21babab67b21e9a44be6a706f643f3c8b98503a3b40482183188b49f33f96a2489a68 SHA512 576da68e3845a7149f64bee425529ffec4bbb8df0272790182e49c8bad5b9744de21ffb5c1206753b57b7fe45af02c6c429e16522b72a77e5262482d64df5692
+DIST libc-0.2.152.crate 740278 BLAKE2B 8eecde477063207d77b6894d6f9194c8dd10e55b69585e3d66296eaa0b9d3f6e2d033e667207182bf4c3cf31f6d38820c9187b2006f4b5ebee898adafb4b2751 SHA512 1722f6f52077efab90026aae3d10306f8c38ebba95366593c3c1adf707fae121ab450064ad9e8be5a667caf6af0b90fad4d1ca1009db0f2220093c44e33c4b5c
+DIST libdav1d-sys-0.6.0.crate 1450473 BLAKE2B 98cbebd4b7d867eb3b2c1d3a8d1cdbe78b74b7115fe4b93511bdac6f6f5415a21b5fe2fc7e56231b3f24da73393815becff1cc40bb3587876f0eb92eae329ef6 SHA512 a3308076187998bb36ffb0a674f9c82cc23fb69fb90b091205de82d894bd861d45dfb0ab66dd51d9563bcdece2c0a7fdf44749ca40346d2aadb0731698d88515
DIST libfuzzer-sys-0.3.5.crate 112480 BLAKE2B 0c566e9f8187e51708b8df88333a9ad92f80e62be22c6dcede44729c87a245f41ad254dd4bcbb76f5f6be3c7c426770b0800e82ad6e4b1e5b598e54ac033ee9e SHA512 d07c49351ff8bdb1cfc62f60cbf9147213bfd524e26dc50ca17f2374868a05581c432822c396222fbb9c72098fe47a57d97423f4b40fc2e7577801b829a8e796
-DIST libloading-0.7.2.crate 27229 BLAKE2B f85ba948aa88e7e3e32984e4a74e34efc01d3c35354ea30bc3d8f0a873094eff8d0c30b8583fbbb57e6afec8d505d4b53c8f2b7bf879921c986d5908ec6354ec SHA512 235ecd8750baef122f3f6ce673e4feae621d806851e842f33f95e8a414915776c33c11e6253da449faa12855f5e444f691c591cbe66efffcbe221d6ca2d32a67
-DIST log-0.4.14.crate 34582 BLAKE2B ddfba35947ae1f5905cd9ecb9eb862a78af6f00ee8b8fe6258b369b140928fe677a02b1b3ca5bdec36ff2b16abd85a9f49688fd5f3d1ba2b2905e7f96b8a84c1 SHA512 796100167663d85a7bc4244cd305e9b3f0a1b1520764b63464698eb136318d0928c40c16f5d19d9f602a5bf769851275bbd48d66b088b0c37be7a6fb62def7cc
-DIST memchr-2.4.1.crate 64977 BLAKE2B 31479718c118093b684bed946eae0706d77d9d275bd49f5aeff4de490f479abd60c7dc462150eafffc6d6fc1da0853123b78be038826b775d2a41a4c39d93ab5 SHA512 d8912e3902a2126f86159bdc998532a2890b882cbb7d59b5a470fffcad4c32281e045f2fff48a235aa4189f1928866bf3d33b699d50866ad6b6c272bba7adb11
-DIST memoffset-0.6.5.crate 7686 BLAKE2B 9a797388702389076c426052c3d54dc62802d5db8bc5c9c83990429f2ffaec4fab4c7dd3f09cd0704d1ea555e87976563bb43408ba54b5e66ce7e406d4604009 SHA512 11bdd9185b99dfee8e659e051b09ee301c7142a372a8117864745a5085c015436d2efbb1478192886f09cbc562529e209d2e3325d94938a64bc75b1d91d2bf3f
-DIST miniz_oxide-0.3.7.crate 44996 BLAKE2B 0e89ec4131e7abdadaa9feb6019b31853976a34434216e0f89ddab519559d0e1feaf2228fbc09906e51fb0242a18abe1a67a5362e080c19fc7cd00c2f95f08ae SHA512 d4eff239f8d6e947b94619e80fe03ed32aabd1a6393f63145d70ed7f08c51c45c7261d8157bf61c78d1637ea1f71ef15f9813ec733efd8afe6aa14810888718e
-DIST miniz_oxide-0.4.4.crate 49938 BLAKE2B 3403416bf9d10b67ef976eb23be64216027c67c56225efd08c87f8269017cb5174ae64f35d18acb66c7a1b831347791cee5af565f3ddfb31ae4210221604b0c4 SHA512 2c6e484a8a53c6b1fb84e2bf9518919e6e5ba84e7716c0bb8e33b53dc0d3432c35f28f19c18368e27c94f6df66b7674f514ef889cf1b19f546bedfb6e6ebaf6f
-DIST nasm-rs-0.2.2.crate 9733 BLAKE2B 60574883ef3215444cc3245e0b789f4f8e87813207720f0abae3b5311ce4426d3ad2629bdbf906d400ab785bac77d4736f055a4a614324481b700d9d850a5494 SHA512 83c6953e7651325b30f58a63a1cff203656dc0facd57b2f6285999e5f77e95706c9e16b2927b237ad6a67bca29253632955b9b49bd6f0600cde2ff03107b1fd7
-DIST nom-5.1.2.crate 136174 BLAKE2B 32387d6ded0fbcdee8a1a0d0a08cd36bf92c38906cd199b574b6b9b24f6c245f2287e04374f7d84e2867d2785aa16d8c01ae3bd3bc811829770232681e2d33a5 SHA512 53b8ddab62475588efae46c78b5fd086a14c0fa505c84e625fbedd6dc74d4ac047e9fbed7312b797f126e9ca1f056458d8ffe0ab13f0117de685ef8b43f86aca
+DIST libfuzzer-sys-0.4.7.crate 128332 BLAKE2B 7e1edd039edccd759a9b188ad4e6a670fefd2ed494694e4af857a97327fc73437e513c00f269cb95873536c78353509d50be0e47f820dc3a1df15eac9156bbcf SHA512 8c1e4d8897edce34020ee3e507fde3da357324c15e5288c6e4fd553ce876d2f9b7b5cc3de39d03aea89faa5fa75bbab52f671ff1777054739a888aefa3651c57
+DIST libgit2-sys-0.14.2+1.5.1.crate 1742257 BLAKE2B 028e6bf6980d7a54b76c918fcd499684869f14cb160e821d6657e59925d142655dae6e018c9f29389de304ef6109197fd71e6e6752d0d0a53152f2c4820ea1a3 SHA512 eb9602706036ea62ecbc08250f297119a1c51ea09ea86ae8630dc6d0521b74db96d8eccc4106343572eb70d9a156415c017c6a91fb5529100fbed091ff8e7921
+DIST libgit2-sys-0.16.1+1.7.1.crate 1773446 BLAKE2B 050b7832dd48c642c3a790481a296fe1b15bcfbddcffcb0f4792735bd135f6c499e5b6f90fe394ddd891c2c055af86041f0b0fcac26832975755a432dd0e44ac SHA512 746e80309af40af7f6d11a7d45721054a6b7f456e10af5b25ea5ddc3ae1f8d934196e9e3b9948f7d7b41b6d9dc45a660874029a39c1c3d67307daebae3f2cb69
+DIST libloading-0.7.4.crate 27580 BLAKE2B 491faef2659270b10bb88ac46e0453f747f35e78d7f28b7d6d9151177b4c7a7aec0a1efdf702eda0988c31e9dafff2990eba4e6a9b0b695c535ea9086ccf36e7 SHA512 34439d9eca68bac8fcbe2bc94a70e07550e7e95d713ab74ed60ba6736ec807fd9c9135c178d436fbeb39afb074b2a9b05775d953340845c088f5f8712f5f56a1
+DIST libloading-0.8.1.crate 27893 BLAKE2B afabb6e07ecd390918344388b5fa63e5aa9223bf3ce513d1ed94cf02b1defe9909d94f0fa05e1516a39dfe4f41636834d3de0386b3c58212103263f2b1423f76 SHA512 f17ca367ef8e62fe80f43e5f3e2d1585be7b78b0fe4a733d80acdde38c20f9f72e710cff082442de6afa323aaafa17eda4491c4430b2d12f398d420e057cadab
+DIST libz-sys-1.1.14.crate 3939803 BLAKE2B e23f8d39ee7ffe654a3c2c142c6c6a83440e892fee0730b5c8f10f828b80a9eb87c3c1807b75eb9d167a4b4ceb95fa53d113fc064728f1c775574db20ac4ee26 SHA512 f02dd44bced6d97a226a51b9bfc85a9b5757cb16f414578dac9889aac8fe2fa1e1a53bc1de6991a0693f183518b53972f4b8d4a42117bab67325ada51b853d6d
+DIST libz-sys-1.1.9.crate 2404387 BLAKE2B ffca4e9993a8ef2af6360d38cc8f2d3c6f1d6ba27c689057bcd99500c05b80aefe5225bcc77ff2a1c75289edb0da617c2ca15c4f2aef7c06745521721caf4728 SHA512 0d474b79aa55f1cdda8f52c87fd2cde84da80db5e18485b3e6845d40c49c6f3b3b92ae73e286b06acbc0e05f36ef3975231fb57e1b5b6546ad90a46752fa88b2
+DIST linux-raw-sys-0.3.7.crate 1013423 BLAKE2B e77b372a391c0389674331647f8f479d96ebfff99f6bbe60b6d8935e035834026e15c056f098c91ed328e512b72b7e25b04534841aac26e658991e41fb9963d6 SHA512 49a84d3e57f3e3985fbb82a2d59df55bd7a259a65a2b2dc180b6a32e92eb1dedad0edfdda1fbd51698dfa31b1ac06777338910c63564a14d1e85d9b7344d21dc
+DIST linux-raw-sys-0.4.12.crate 1465800 BLAKE2B 2f70a344c427093fd55732b68239f771cf6563edfe2db4b2f50cdbc904dfc7565b30bf06454b91482eaeea787b9cd4214979665bfa32f3c1c586551333cf4d2e SHA512 d9564d02d5f41356478066592e438629adb3275df0e5a1a44030cc99bf8856b8af64f18f27371f84122a828b34712aae16495a1a16050fbdbece6d95e9cdace9
+DIST log-0.4.17.crate 38028 BLAKE2B b46be3719fc0a53e50b1f342762e188587e9f1ceb692c72473ce2663edfb8253742d30024e68c1444780ab7fc0e2d5b0601b8ea7228dc3405a9342a57548e605 SHA512 2477d88db42b1d92c30708d88823212e236f613b3465e85eb425f83f8d16fadfaf0352f06c2999a1852102edd2f6ffb10ecb539d8a3b6c48f552a25622ccffa2
+DIST log-0.4.20.crate 38307 BLAKE2B cb9c9a401b49bd68c18d5e42f2ed94446f1aeb184caa23cefacad4ce54a2a357143af54a5595c45d6f3c3d20b054c451d9e6ccdc09c19cca99ffffdaf8bbfc72 SHA512 8661b0c71d3b7fc0d679aa3d7f06910e6d3da1c53862aa06526000e1bcaa0b0b068415a1a9ab317c318f00d15346dba8a4f5d2a60d8850790bed9cfaaf757b3e
+DIST maybe-rayon-0.1.1.crate 2901 BLAKE2B dca587f95e7766a0050b320cac7adb31d3fe9b84688c241c004824da684df0ce5f8c04053cc120d70e4325fac7bddc5d0dfc5aaf29c791b67503e7588bb81182 SHA512 6f4e0e2a342fc86b5d0626a08779075c68911ffd3f837ac6ab2c15c821ba96e50617cfc9df9d16bf96ae57fa1802c5549e21d67f79e4e1c3f10bce04b88115e9
+DIST memchr-2.5.0.crate 65812 BLAKE2B 57966413a1f933dcb2d2d4ccb29c247070f65a83299b2a9f5aa83f5a48a5c5f1c4c7c632fa63bd19f9508e9291e7258db2f16e2813a56fd84e0856f70f1e67ab SHA512 444a163b484c233e78c0e2e4d51f01ce2da93d7d29f516a95e4b0866b20bdfd3f34137653abed53eb70387991ee3e2b5937d8d4360a85bbcb50a93005a75defa
+DIST memchr-2.7.1.crate 96307 BLAKE2B f1a008fbdbfe84852a8ae1d9d9574306b1bf120dd5087903adbcca6af342c9abbb296496eb9bf6cb58915c4444b3edd6ca4e27131ac7d8aed8849815df87a944 SHA512 5120496faa31fc427c8b4178461a262b3a34d70eddb7ad17a19d6db8b9969c9e113d3625b5e6dc677087fc80907377b00ba0421aba9a92cf73ca2849d932f473
+DIST memoffset-0.8.0.crate 8912 BLAKE2B 19ad3abed21fc39461b0382b15a8cc312378aba36f042b1e5335012115d31b350a4e3bc720f1eea300d7d19b9b317f75a28d4ccd78ff3b31defd9e4b3147899c SHA512 47adcae0848ff967035e10543ea599c7af9c5bad387023eb4dc77c9e8d875994ec8139b9941b3ecc4fc17214d80944a47a3be174a45b334661914a5a7382dfbe
+DIST minimal-lexical-0.2.1.crate 94841 BLAKE2B e6b8919b80d938d0b98d60d4f5f29ce43d77ebfcf8b18bde08909141915c6ef4f0d07a543538d4f3ba8527a9f55926d4a8e83473248469d087e80b274d701d61 SHA512 385fab51884bdcc7b0f2728a219ab164d0dc8efe42160b918f2c09f79ecf853fb12bda006d11e649f097bae1499dcd41ddf2a8784ee7d178cf2c28059e46078c
+DIST miniz_oxide-0.6.2.crate 54536 BLAKE2B 8127ebec5a2cee1c2101d9533da573e01ef1a0fcb169bb0fb1419973ddd2e6953d8dfe85f9509a5d1226643ad290f0ee1479fc68f1788ade7ddf9633d90bfe1e SHA512 250782e214572acdd11df87c2788cd5f78e8388d9b285d0a850918219678e262e8b9905cc88728f5b70d13920ef9d19c43d243dad8fbcc18f8c8462662ce1419
+DIST miniz_oxide-0.7.1.crate 55194 BLAKE2B 56afbe0c0b3eca98105ae2d507493f365353cce29a6b04910ff26bc75899400fdbd067756cbda7b3d86f047fb8f3d737de00043a4a7348a813cc43e45824e33f SHA512 5eb6ffe34a866403273ff0267ff7838aeb50722ca57a03d5a1d842a5f19a3b4af570b133a3b9d64d78eafe49e4b9732b92dd63fd9c6b0ce59b3295daf10f6a3c
+DIST nasm-rs-0.2.5.crate 9920 BLAKE2B 2fc889ed1f8c743afb639265d78b3612cc4da8c0185e08de742625b5b34c2381553ef8baa4ab586e0b0120ee3350400e1168ec007a015f912fc2191058e589be SHA512 b636dbd1594f2f0d1f71c3dc76fef94c9940c4a2a735b86c4b7c05838024c86122c9e8342b8f7ae8e8c63c5a56344a1f21346317952552face0aa2b6425b0465
+DIST new_debug_unreachable-1.0.4.crate 2561 BLAKE2B 5c9831b04e2a44b2dd27816df0a331a8108991a84ebdfefe4e42f325ec3519ee50e89a99d490020a65a3d75acc371316c2253d2c6382453a0b15f4c3d5b96520 SHA512 6f964bb322aa8f2ff92078381dd720527600c6449e237b703278cbcf47b39a2581fddfc2f34ebb7cf31229e33d58de48bb5050e083fec6dad9aefddc1d771c85
+DIST nom-7.1.3.crate 117570 BLAKE2B 5643b67990b7305e101b16b8cd27c447e162a7adc6d0dfac00920b0cb50fea98c9d4edca63c34f6845cba05f8d0acb407cf3045cf64a4cb28e53c8b6bc9090cf SHA512 1ffce08dde299bc0e0367ad59c7b6a83e23decfa11115ee076ab91ec53cdd9ef37e4c2103c96eff23a7b6b8b5c3f67c83ce1917928c7d4c6462083bdfa0c9cad
DIST noop_proc_macro-0.3.0.crate 2157 BLAKE2B 0be977f9820fe4cab4035e866d6ebc77a07cf634ee6889dc91581a9eb43f308b0fc60b87c8bcf200742bcea4af14a94c69c5b9dfbb32b95454219a4197fd5228 SHA512 a5ad22e815b8c574b42f7b70486a3fac319c24334ade74726ec07b976a838954d1de2d3632fc55ce6c8de2673e62b987fb4607a49c576f60959b1609e47b3771
+DIST normalize-line-endings-0.3.0.crate 5737 BLAKE2B 935b2d20ccd37ca7469641a37aa0ae9b6872715d6ee88d568d0ee16fb76416cb1a0c585cff861825de8cef11d864b1dc1b350911c28d64e071d8fb444bbdf740 SHA512 f8e2a6e333b0e8972febe8b9cf058c8d899c384fd177e0b6ef1c5f94e0fa18192963970cb1a2ba80e3135a8cca66cdae6796e4d84ac6b325bb369575bdfc6eea
+DIST nu-ansi-term-0.46.0.crate 24311 BLAKE2B d2e678e0eab5ad48534e686b1a4af344996d1b07a0fa40839072df3061bd7e5bc9341363403ea3ef8d19c7725ba3b7a8ed540c63e2209123b1b93f69418288b6 SHA512 b4f37786dc85e0596e2b7b261a5a9fe0265bf1651c39efb358dd649b926b12c3093f307b98bf0c4df3899f0a7cb1854f2596bd5c3e22fbbef42f912ab2eb5043
+DIST num-bigint-0.4.3.crate 97799 BLAKE2B afe9a08bf20dc974dcea12b5f9dd465e8b399a0cb0a6d0028d08f7f753aa4dfc929710e4dae883e67633d9dda073f995287e5315b1487e8f99f8f23f1f70e581 SHA512 4b38eaa8b51119dbc7cd8a1e177f37ec935ee348b693a93378742e9bfa68fe5f7e5062b7f34638283c23f04d2127451d796d310cd8adb64dc8e865b28708374f
+DIST num-bigint-0.4.4.crate 99369 BLAKE2B 09a44754e3a3d4f949b3714d96ddd7f3915164d611036675e3df421d6c0863e368eb0180978a4ec27fbfff529b4999d2593e411903516670c24c08fbed6a79de SHA512 0dcef3344a933509fdfe87d6adb0bb1bf67af3c692ccaeec5663a8f18ad0a251199ef9c7a24c25b95d1b255b413947e70f0a205669d549b13e54b6f4864ab3b5
DIST num-derive-0.3.3.crate 14545 BLAKE2B 3af73d35ced61f8e4fa2f2bef695f72a3cf1f1a67c77982d3518d9383331f34c1222dd7d72802cec22baa108ae08a87805a11942132c565ab8439c4983e99871 SHA512 e0f4d06fff26c2d2b140ff5ec1ba655a46c8d8fda484f03a8ad4910e8cf1392f0130d5c0bfbbe3bfb95da1f93e964f73364de6551fddd81e6fc27bfa35c15053
-DIST num-integer-0.1.44.crate 22216 BLAKE2B e1c08427e006cde6f2084adadb6086e87e6d6f8bb8dfa757a8228aa671e862a366e4bd8ca5e0500008c18bab128aead9bd5b1e53568a4f40afadcaf3882ee98f SHA512 d07e27ede02a1d007373935fd91e57a26e0e84ae14bbe24be66763baae6850788bd64ad2598d2bde4f4fad6c8a4675c40bfe0927164b16b9b69de5e9a83d9771
-DIST num-iter-0.1.42.crate 10450 BLAKE2B 8ef03f8f84bbac51a11d22ad79d745c74c4092bdd6e65b91c472967c006fb3cd6b944c4bef913465e39e6a2fd734ac2b1ce1f21b332b2faece823fe410b54340 SHA512 46b0e05c4f4587121ec300da51cbf02e04ee8f8441eb4dcaab5a2ccee3b40210f1badde56addf053fb876aed3749dfb5f01e757042573fdf99defc77fb265f3e
-DIST num-rational-0.3.2.crate 26359 BLAKE2B 18b58869b55f32396cf3f024f19c1dd1dd7594e0a398f448930c60c338cc5b42f73e92dbca51a71d9017eedab20e6f564504cefc7a21018d1ff029846498e3af SHA512 31141c147ace16505cf63023d399ec7d6824b1cf3a31160419cc8ed8c9e4392993910419ac113b23913f710eff13f730d04328e66328375c61c28010718fb837
-DIST num-traits-0.2.14.crate 45476 BLAKE2B ae310d9d5640acc3e45e1e5d1d2f519539795922c0058ee940c94c94b6654b39358b7c18dd23a276f2c1b16a30dd4de4cbc8575bcda6a5c11e70665d670e6439 SHA512 c3028eca9f7b718de0db3a36cf3e462bdba43562d52c9b809ed4cc0aa6af403aea542d6d4da743cd1dd541397815a3c5a84cef4d6e40122994e4be6a62319b2e
-DIST num_cpus-1.13.1.crate 14752 BLAKE2B 27490aeee349d944c29e50b44e9a84371030459353a9316ffaa0245ce499df4424e39c25a81be59cd0f9a19c3214c78bdc7a84b632059282be476d8f918c44d6 SHA512 91ffe0ec792228621d6c2d5cc544ef4744203d19fc9c86e0aad2610038c43aca0448b6c27d82979417a0f6c939ea73523303a44c28df0d1c1b8d09814d5306d9
-DIST object-0.27.1.crate 228030 BLAKE2B 48ebfff83ebd0c1bad5f956f79a0f8628f9cdcd75638ecb92f040ed84f625425062c16449ce44b29d9d99c3950554fc1a480046fff922bba30348ac14d68d887 SHA512 3f25b663fdbf9a38090c2b1cdc03ca40bead87fb83f99143e79a272dfa4f2fedc387a50d3412d42a53aab228bbcbc6967fdb5a0c8db0a8a3e3ae9cdcf1061589
+DIST num-derive-0.4.1.crate 14840 BLAKE2B 9dbacc6cf946aed6f765fd70ad52e7b6ef036a30cdf7df39afbd8dc8657cb4cfc8954727fff04dd053d46c4f3ed513217d24914f3611c96abcf2eae83992be2d SHA512 ea7bcb94e83698609d055981ac5f112e9b18edc87a767c0ad77d31bfb6fdd0d552f5a23934e2956bff56777e9460c08ea05a5ac636bcc6d45512e4c330260d30
+DIST num-integer-0.1.45.crate 22529 BLAKE2B 4da3e801f71ba8f92c692497e200bfc8d32183c94eaad91260683b09f4697c03175fec7cff5a9ff3782d5db5d514d74f22f7a61a102c0f0d2e67a7a4b4f29222 SHA512 731bdc09c3af7f9d8b171041f2957aa60facef93b06886000d8ba60d410aabbbee358d700bf31b2588b2e077464f290f24a0b712df7bb7f12972675b6c9bd735
+DIST num-rational-0.4.1.crate 27889 BLAKE2B c6db5b2165eb341268cc8b81df44caf25a18242d0ff1cc0959444ed9a51ba9985c1238d6d79433c3927267ceb181da6d491bf282560db6bafd7768b79ec65842 SHA512 a7547ca663543e9da9e18dd079762cde371b85d55874a54d6b343ba775a9373392c85cebad511c53b5af5db298bd5d57ccef6161c1c28587a6c9fa2c5962a0bd
+DIST num-traits-0.2.15.crate 49262 BLAKE2B 942ab170b2acce1cb40e6847f766bf810a79edd293d34f3a27864f464c16fe2b99fb13171ba429cc6d584248de879434beaadf1b231a4001b0e8389ed6c1be04 SHA512 5228498af0f15daeac3c9210f3e6e71cfaaeb30beea81dd37f8eb06b9592c8bf3226a47597cd8592ad4c513964a9a40f1ab2c33102ef3dfe3800d22c8d4528e8
+DIST num-traits-0.2.17.crate 50190 BLAKE2B a549ef00c749dc7f276c4817477d1f9dab70cba01b6a3afa5743f16f16353bc50d992d7446a54859cf750a410d66c8cd3440708a6b91fd89d3b8889f8fff1668 SHA512 4d47d3e2f5a31019e038e609897cb0cef1ba061b35cee7e2a02e65179dcdd4960bd5b9bc759b5c013d699b3fbd9b014940a15e36658f7d4fd12cb0c7841c5b4e
+DIST num_cpus-1.15.0.crate 15680 BLAKE2B a4d98b29ad534de9bc262f58f615ec06bde5d5a2f5252f09b5a0a6ecb06a9daf9709ad9045eb08f7cb744d8a838854b9095aa73918e06624a84efbc11a9a5c1d SHA512 fd4772868def9460a6ee17ef6fc00b0bc74115eec891bb3fdb07ba5b5fe4057a2ac69eb31ba8beddbd3189c7be4545888e5724879f3a89132fbc9b32aa7bb10f
+DIST object-0.30.3.crate 258901 BLAKE2B 73e190fcbf7c47950ac036306ca8e6e03bd1772466cd580fc51e246868cc69c4e49c712601759533ea650c806a8363d0d77582e1363ce2b5f92d4b7439fde91b SHA512 61414475d3fcc7c4c3ad8c1316f6ada7801e28590d98bd425fa246f091d464de4eff7eba7cd74904517dee95ae0673e3d581400adb971306955a0aefa814172c
+DIST object-0.32.2.crate 286994 BLAKE2B b9085200fe0107ab0f8ddd5c5ac82bc681dc6266c6503e4a803ae4dbdec775ae84ca4a736754b770d858ebb058342af45d485d4c9a41f57966ca1466de40a4c5 SHA512 5d03d998f06dc592c3be141f7163bd72a0e73396f95d22ef1e0ffbfc66489bf727a6f6fb813a32739609b619b8e34a471974b2231dcfa23df8bff52007c25a96
+DIST once_cell-1.17.1.crate 32856 BLAKE2B 8bde2aaaf9ef45d1f6b8458686179f1fe9295ee8faea269e9b49779583ce26ab9dafe988c3584e841a9e5d05e28430ca967ef3b25e755f48f0120d9c99cdb7bc SHA512 1302d51801e38bfee23e74c0046f1ecb1d3c27309b5fe11c2b6c99553b357db502ce1718695602f9d8b10429e8ff03f91c016d5d604957083728293824c05904
+DIST once_cell-1.19.0.crate 33046 BLAKE2B c14b374eaf4ac0f60acc2e02f7bba270a0e8e0a6978d749cd3cb0ab3eb26907e4fbea70dd5132982f90290381ed18ff8a87fd530f1415fabffac864f157ea380 SHA512 4154876afd34a699ee650d1a8a1c5ee5a25f0ebd9388b8bef2564e33629fae68f113d7507488c68abbe7ea1acf9bbc41813cbbf3ef3e464e3f3b9cc7a51d870c
DIST oorandom-11.1.3.crate 10068 BLAKE2B 443ced49f63015823866257a36a88e566f75adaa79511c1c73f1190ec8855ca590d2b6ece07c2ad5e9e47a89f7891af6e9e43b7d74d9ac57cb3551e60b50aca1 SHA512 51ae60ef51da56d7673f36a6c5b99b743580c5f5be54fdcb54b69e5e2f6bbba3267f96b74e7cd6dee6962dfa6696fd9ed073f22726a2861b8f2601946a8efab9
-DIST output_vt100-0.1.2.crate 4062 BLAKE2B eed08c0a1800560d4f623f451d818e3c7f0dcd72fa99f4e5e6dd4934e50a9649011ec955e06728fd017d58bb9f36cecbeb9b4aa8c13c040225c24019f774e63a SHA512 b8eb00a541bebef2e0bb44975c4547fadfd4ab88a14aa8e31945f3c73531a550cf5729f1f3d18fae5cf36286b82d1a54fb08b28720f1592ab6cfe0814c8d3036
-DIST paste-1.0.6.crate 17808 BLAKE2B 8659076678f659ab0bc5d9c626d405f1f545742c79222348ad6d974beeef4541663e166247433c617829e5e65fb7a5b4d00656d95d37bad214bcfb2182d45677 SHA512 cf7795c64ded12c16ed7bc90a29bb36156abc8c424066c62d3eff8831a86b4133965d87b8b76b17ed5487ec286fc80e05fff1180833dee4b48f0429016bea25e
+DIST os_str_bytes-6.5.0.crate 23166 BLAKE2B 60f5beced502b7bcf165dd2bca2989f9039fc22cda80bbb09d2ed0eb115831c6e0f80292e656f4bf9c0b0635ad10210c88c1b23bcbb59b8d2729b6cda473ecd7 SHA512 cde7779ba24304256cc57de78208af4d26bc91dae7fbb9c85e3f67c3e35cb6268caf3fc9eef530a8d3cbdc951ec3534223f3559d2a013561912231ebdb1801b2
+DIST output_vt100-0.1.3.crate 4473 BLAKE2B 8c75dbcd413e1273ddf077f3b57996953d70376be6e438ee1a4de83a8c3c535d4cc866849aed91df74aa9b22d41d428b1142cefe035dab7404ec89af9efaa832 SHA512 ccca3b4c582e860b0643dea78302fbcb96f8f86b356041ae9c685e7c48f1721fd3366dd1bea39afc1bcef03b298d0f6c87918a1ba92a56e6b06bc8b4123c0d89
+DIST overload-0.1.1.crate 24439 BLAKE2B acb2dfa6c6c22ea95cf58079f6ec56a2bb5e297a055ce717d40633b789b0d005be2bfd6616448cac61bd032e74aa6eed212f1677461907cea2f7f7cf536c157f SHA512 f79bc3321f45df5e3d0e5fa9c4e60524e4e28dd3729a09956766738adcf99ca42c187a01d48701ebe23d39aee00a19d4a07da798edc781b942e866b339613532
+DIST paste-1.0.12.crate 18156 BLAKE2B ab4426f9f588de4c50114421c4f9a0bb2fb5f144e9cde5d0d8ab14b3a451ff5219a99ee1cfa82dd48cae86f70d205dd8fef591651e443ba118bb27f7446e601b SHA512 fa75129e5463347ebb871f2e409463d2f164e1d9cf7160aca044dd280582354cb3286df05d56acc209174e371b577996a5b99ff35f12810610172bd9de21f98e
+DIST paste-1.0.14.crate 18157 BLAKE2B 35e8548611c51ee75f4d04926149e5e54870d7073d9b635d550a6fa0f85891f57f326bdbcff3dd8618cf40f8e08cf903ef87d9c034d5921d8b91e1db842cdd7c SHA512 3a793f0e5e773a7f7defc798a4c17ae9a40d715144632ea6cb0a8c785e14c4212046491df016bb9838281f8eaf327a79f01c1e2ac5f26785c028bc880faff9ee
DIST peeking_take_while-0.1.2.crate 6697 BLAKE2B 31571604d00872900abcb677a483da93654de523bbdb0331c326dc9a3e531f246e571bebcb983e79dc46e33ed6dd32b978be509841ec0d9f1e7209c06289c22a SHA512 7bf8721987c3e2e1986683dd897746592a909382f02b840b777effec7d8b0a864c1a83b03c73d555e359f22c423168a54b75448a7e7b996b739527ce8c88b721
-DIST pkg-config-0.3.24.crate 16489 BLAKE2B d0bd099bcc39928b6758c22b14291f2dc4f4452c0837aeed8c3ff6086cdcf29518806e4f3f379804c998d752b717a26d5c0054c071c5f4c224a3e03cc6a3ee51 SHA512 be22c609b3d5a9a38bab1d30792cff397cc908f1c53fb2da68a9a7d1258e53ef64c1c5b26d840b0ed1d35b307c98ffb499c82e5796e88be0a6ecc0c6f3b5dbfb
-DIST plotters-0.3.1.crate 8595577 BLAKE2B 7c500c43c2b2875d9dc17e4eab57cbd8a470c6064deadf4e78c429abe2f1e97511f64bc67782b4e03e7cc47c8ac54aadfa5f7cc8c27d3b4453d2ee8252896c99 SHA512 c7bcdf9da56c2d1c03053f61256d44d2384fac1a9a7e0db058090c13b359bce76a2a96bbcbfde04fdcde0a9dd3db8a1a22bc57508b0b6e4a374c8b35ec6c9707
-DIST plotters-backend-0.3.2.crate 13524 BLAKE2B cfd42df0fcea4e5ee944a6b8c48e3b7fcecefd6d97f07e1c333067193c211da9eba29fb56e9fc8b861cfa2d1baa3c042fddb494bb66b9109656b26bde7901f7d SHA512 116bc6866094a2ec40a9ab9363378566ff37eeb4a4e3805562dd3e95f1d5e8664b54d3dc858a2c9974b125e308e46b77c294de2a655f836d342712c32f0242a3
-DIST plotters-svg-0.3.1.crate 7596 BLAKE2B ac8dffc5dea833c0506c472567056be0804e5519828b68f7b3bec9ee63dd59f9aa828c10732a50e004214512df06c7eaf164eb9613cda75b2753270fa358c0d6 SHA512 4d3cd02534440dc26f5eaa3b4966081901626c61d9fabe0092fed87c48929cb9be070d9c34486fc7c7bef308337ff4890d30f9581a613549e507db60dd9d8876
-DIST png-0.16.8.crate 52598 BLAKE2B 03f706591182a89b0566f8a793163372a4db3e7a742f3aadf06fda93068c42a4351722796ddbbb013fdc1be5a88dc02debae50ab1cc3ac81d72d07a814b456ce SHA512 df96f8580d8cc11df54788ff64ab3269b14369a467d7c29964a5b19add5e7a82258e6bfda40eedf135bffa98a2a86afbb725cd085cf37f6c433abf9a7485edee
-DIST ppv-lite86-0.2.15.crate 22002 BLAKE2B 3f967f112ba799f18a3f897c944ea656994abdc7c912868023de90d3885a87d9544159c44b6aeeffd83c1fe0172e326bed4044c2d199ca899da4f8420629736c SHA512 6dac73153d244cca97ea00e429f783a7d03b48f10ee450cf6f8d77581010b28be5048f53322b0c888b425b5085f440b6ea90599ea00c55c641de6e29da42f0b3
-DIST predicates-2.1.0.crate 23141 BLAKE2B 32dc6455d74e4188385e196f9b9042411c0c1278d12121b4aeaffd58d5adbd201ee4a3e51d908dd59528928f5751f53a125b53e1b15542ed6064c753cd8cfe52 SHA512 824cc99e8e904e5257223bba104cc705fb2e1c93ec6b638cd898dd53fb29217978de1a61c2f11caf1e4a0e076a37efbd09a2998457bcf4af1c2e7eb3c089e0af
-DIST predicates-core-1.0.2.crate 8185 BLAKE2B f2525cf9d1444c0b6cfd981fb9f8555e4e797fe2a28edcbd75e719121d55eca593249d32a708e920c83549a2240dd04f154b19e59faf740ada773c3e59d52483 SHA512 bfeee297e7bb81c1cc63908ab47f10e21e53b9f690d9aaf08855bc1824e0c87cf05c92e5a8dbc57eace7490c0ce58bbe2e178ac33ad0553ad2772593d89f8aab
-DIST predicates-tree-1.0.4.crate 7682 BLAKE2B 10e32e4d316bd3bb7015a6ef6d8391381d441acdce0b54a7da2ae4f741175dad7bf92c2488809e233da45360388908f200c2a2756f17210641b0e503728cf150 SHA512 f4d4f3d58c13c9b0344832709709a677d0d1f32e80a2c1e7f38a6f214efaabfc2b8e12d4bb4ac8f0c57def9a44cfe94ce9144132cacc2b6f84002a57aeb4ae5e
-DIST pretty_assertions-0.7.2.crate 79200 BLAKE2B b7736ce11bbc5d2a778c2525e80993858c5d2a7182123c3f5aa2cde6ffe5621ab8033a91d578f4fba9badc3f503a0f14873d234b41974161f8148f2b27510e12 SHA512 edf898bbb15f4f56d2d7688d90d44d0ee7913b7d78b4774548eb7a88e8f75b0de9635c93b107744a2501839202ecf828004d179c6edf84706ae160186d47d177
-DIST proc-macro2-1.0.34.crate 41072 BLAKE2B 6b507e95802fd8dfca422deace25e328b1e4c5a9515c83ae55f8a34b1c1d34ce427afea7d7a748f582abf903245ed8c2b3f4175d78c8c9dc9f467c9805329d47 SHA512 960036a077c3869386ecb5c2019816adc70e9a9b32ceeacd4b14b39a91dbffe0b21764ead7237ab3aa553b26cb6732bbeccacbaf83c8dca9069b11b9a85dd1f8
-DIST quote-1.0.10.crate 29960 BLAKE2B fbd4e3e0e0f452e64b30399fdfaef318cead505d05f0c61db61a7aa3cd5a3300220b4ba2656603f88bc0b535390ab4d0ec101a919ace1d442a3e979f08e8d48f SHA512 08613679b564ea7d750117d3a2907ba957d5d595bdfa8016344f99a232c72c6b08acb882dff45c34c9e4c8f93f879fb308b36125572722aac04fbc6bb0c666f0
-DIST rand-0.8.4.crate 87406 BLAKE2B c09358416d2425a8243b623346fe71bf6f03fddab1a23fc752f4303ba7c241b3606629e4edf0ea720785bda0bca534acd675c2de079b78eac3df24a1ad6ba654 SHA512 77ae0e988e31e12f7d3f2c40814f930eecbc94c4aced827c337be78eeeabf39fde2dc5c4fda059afdc01285ff4afe30393c32694377de004feff16207606558e
+DIST percent-encoding-2.2.0.crate 10075 BLAKE2B 397e59acc3953868c709244b89a2e0db3304c0b574ecba761026b570a485f2cb5b0b2a0159586d1f342ec395ef02ace536da3bc1c72093e1cf93f8b37b26b0ec SHA512 890a5256d2b4290e12e04a02c3529f3a017faa2b6016a4dd0f08b36509f0b1107eacfcb4702024d6a21ff8852a11f263c1adc096b16ef8d12c45a734c087fe68
+DIST percent-encoding-2.3.1.crate 10235 BLAKE2B cf8e2fd7b359a05b7bdaf731f9ae84c7fe6f468a53482eb2db7f93dfdaab64ac812b3664899db260055a93449462e6d219c695942fc5b030517b197b4df9b95f SHA512 5951ea8315e52cf3acfbaa023cb9e13a136b114c54a7da0bd44619ae24cd2159d4a96469d7572a2fdabd94e19513a033387117d7ca81d0eb409fb383e4acda44
+DIST pin-project-lite-0.2.13.crate 29141 BLAKE2B c434a336716c9cdd16ebc297fed393e9106ef167a693c4aa0b12c681e03141b8ba3cdf64c310916cb7d5cc43cbbfcaaeb39bb5fb1e8b3efb9e94a3f72af914eb SHA512 7f12595d751d315de6c0d380e2f501b74154661eb676987d2cab6fdc956091a68c9cac658df45dbff73615e982e6ae2ea138c09ebb708cd6c351f0d18dbbdbee
+DIST pkg-config-0.3.27.crate 18838 BLAKE2B 1295eb4f08751b3663cb2c7c2753f29bf2ccd80f4e5856909fe10b6f006c37fb9672c9518b9b416546469faa18821512673a66543c0bd1e848bddabc456d0a90 SHA512 41e9b8d4fce6b8244c2ac8566318a001b481bd42a182f1a832c81ce93c6a023e18af03aa3500b134c30195219d35080433bdba69b2594e9665081debfbb4533a
+DIST pkg-config-0.3.28.crate 20330 BLAKE2B e38aa3fd2f03bcdca0ca92585ef558841623e38d01cbeb9db988f157ab94a0ad60be2b264dffccd0312594128cdf42fc40b659d1c009265ec274e4ab5801f79d SHA512 1ef92c5cf5320fb2e7d9e337edae08eaef01c762cb18406f732af731e5a94bef95be36cc0e0f5643f47a925aa127c5520a961c034e7b86357715656707a6e0e4
+DIST plotters-0.3.4.crate 143219 BLAKE2B 3121caf7d2a62d3dd337d887ea2343981d23b26ab742fa192456d58a73ebd07d384ad6e1de58671b5c06344c2efea8e32168d830051d425a63299d15746f3a73 SHA512 04d490ad1b822195259a661dbc605ec2f8e190a5bbbbf549741b286aa888b26a2c7468d226cee7718bd69b77e026283944367504db98c0293b3db4ce45103534
+DIST plotters-0.3.5.crate 143975 BLAKE2B 57b9b37d9e5f43f12f1bbd95d0c0789a09b2f34b30278c62d8637f341a901ac4c0d70ce4a4f869429a43cafaab637d2f25af3eff12354b0e85b184f439c91320 SHA512 38bd608db346161ffa04c50aa315bf5d5eb2840490c5ad6722b9e294b8aacc3c434a1c6de073d2a29cb34de6cdc6260a227f9b7995ffbe75fbb8783708f50045
+DIST plotters-backend-0.3.4.crate 13416 BLAKE2B 2b7090fb98ab9c28fd8525e1b3b4ca3410dafdb80563f52b545af70db638899123455254861e95973fb9c9e178e83cccd941c7305977de033091ed957291c28d SHA512 4784da70eda90a48aab38192619cfa7df733519cadc3b9aecd339dc735a9237e03144eee4f22f5f03ca214a732e8807d179d455032dd255a8125092ea489228b
+DIST plotters-backend-0.3.5.crate 13440 BLAKE2B 72ba042a2057f7afebad34a794df17a0c340ae0d15af2631a3f3abbe117dd8a8d17f877dd935ad59f33494c523664cbd4fc11e05f6c7ae0c495b5e9d4c4a8708 SHA512 4468e2619d7fe47cd03fefa8b1d901ddf5cd47b2899b4b9082cfb695f315cbe415fd57efbef6e0a67eb51dd8edad530c15442810fbb87dfc4b7943b1a7f55460
+DIST plotters-svg-0.3.3.crate 6916 BLAKE2B 74c2c71afefe1148c82f8695ca3ae5283bad5b084e542325f3b6d587eac23f9fc087b64033043ff52ebcd661d40bb91c33ccd0de3c424ac0916baaa3a69c63b6 SHA512 1233eece4ab91ec690f93c7134ae8e6405183aaf500b2dce6973b6e212058334b7335aa80915e40363b9d2057398028c57d0b3aa974b88bb42c4e0e4726e7a92
+DIST plotters-svg-0.3.5.crate 6948 BLAKE2B 1e8df5cdf68b1e27e22ef2f383a81caf76ab598d09f31c536e86c543df78a609a33c3c426660a34a37d1313cc2937b0c678c5e1e43fd3d65bce95b59b2531935 SHA512 91c4955f62dbb8d80e01e5cbdc7ad5f1869be6025de1d2baeeb9198fb108ad8f01916cdc0728b7123ed9217abe92cdd8ad30116dd454312c8f63bf9cec98644a
+DIST png-0.17.10.crate 89384 BLAKE2B 4202db161bd974cc9b08ef01adf3ed4cbcaf00a5b8c3c8a42846581976be44e4e0bcf025d0493d39bc395dbaba6bd1336553d00e58f4280e23f41a6027ff4bec SHA512 33fdf0365b3475d7384fac29bfcd95177e822ac33d3adb1d91a1d52ea90a88bcc5facd95daadf02a79190d406f8a855c4ca4b6e09a0012c63ccbe5285d050101
+DIST png-0.17.8.crate 88654 BLAKE2B 2c7d7cf032be40bcb614c2cdea6e41af2d15ca701377af6cae1bac6be7dc154d33a1d31cbaebe4848044ba59e02d56cc4b02bee14ce2d93904ae9bc5e4b6a699 SHA512 65a7a98295f6c4d1da79d17c3ad5a879e43fdafe3a925cf92c9866146032fd223144a84c1e6d95886bdfd07bbf35d1ef38abf2ab4ed09373c9fccc12992019af
+DIST ppv-lite86-0.2.17.crate 22242 BLAKE2B 48c4a31a3b555fa37072c4de083580bb769747c7668748541af472778b5b58c3e7ab2b5e178760f542f973774f09910bdd4058ae5fb9d6b10c103eb76cfd0d3d SHA512 539d916e7e5869d832045c1aa88aec519bd000227f9b01d4dd0bfc9ffb640d5f5eb21b05eba718174773c97192a655ad3cb31b53ceb914dd19179a6699b3583a
+DIST predicates-2.1.5.crate 24165 BLAKE2B a0eb1aa0f26d51140155b8b5e7141a253e298ac2197e59c7023ecc693d68cba01d645792c57467741ee074891438fba2f1439c79a4cef27f3d02eaec8f1d0b10 SHA512 d4b555d7f57ccec5788a957d4a3e130f5549a9333a47654baaef098bb284c64bd5c662677ba7e659b4563b3d0146914f1235e0caa2274af8787d9777141f4dd4
+DIST predicates-3.0.4.crate 23240 BLAKE2B ff0b96b85668dd24e8368479d82210b38f591f67a0793a080670e02b649516be8acda4ae5f80e98113a2030bfc7ec71cffe53a0fea4fb65f98b3a2fc1f6daece SHA512 b2dbfa83760004abce72f2ef576d7ec079c4ea909120a8fe1ec6b87da0fcc2b48406cd6857ed16e131281b4775a6f33ae94f975e381794fd9a98a2c0e11e1f75
+DIST predicates-core-1.0.5.crate 7773 BLAKE2B 6214146a1aa53c127dc4c0ed1bda847c1be41e88f833a6c5095fbdb37abbba9f1726095f3e168a0ce3bded5b458e73a73c1dc467ecc2a31c7b3716b01bd00858 SHA512 d94481797f2fa307391aed01d5276db04663ceac54150f922c8fdc046c3b1417cd93d767843df95985e69e0ba1202a0df82ea1820f9c67b15a91f2feb2e3e7d0
+DIST predicates-core-1.0.6.crate 8084 BLAKE2B 337cbb155bc2859c5a8b891c21d352e998cd1eaaf606cf46c003c9c499a42f12268b071e7a4cca65d50cdfdfd4267f023076e078a0a3eb401ad836755d65298e SHA512 afeb1de4275c76bb1c5950f42bce2f83a21ab217ec60130336286cb48b15f36bf2a1ca346bd652c10a65a1f9e3310d16b23b8333a3e0f7e20fe874c3f728e702
+DIST predicates-tree-1.0.7.crate 8145 BLAKE2B c36af3d8c2c378833515f955970733ca6d71fd7b317f9310e451e32ab6e68d6fed2455b38558b0a9f889126a331301eb631821562fae6e4fea3abe1caa9d7a67 SHA512 0e66884edaa68e5339cae5461beab273d10b0acf9162827b26d6860cdcbaa10cee0412e6bb8191dad84f59d12e01a0684646b66b793b2c9c183244c96c05b6b4
+DIST predicates-tree-1.0.9.crate 7960 BLAKE2B b758c52dcdd0ea237ce25f0a092200604765bc83c5edcaea646c6b1db49431296b61aebddea3b325e62f0ba9bbd5edba7ec92fd031cb597e7e8d642b966b401a SHA512 1fd5d9a84ca8fdd1b3c4759d5e6fb16e3d8fe8b0dfe5afbd16bb509c8558b0750705fff47701c95f7a8df1a222f639116a1b9ba4d89775bf03b06daf34f249a3
+DIST pretty_assertions-1.3.0.crate 79441 BLAKE2B e9d29267ee77532de9432f075daab704e8d80a3d5fd5515a7d3c1c9a58dd98ef0190a592e7fe4d8c22a149beec15fc346a68620a3835c1269f72e563d2a5fb89 SHA512 40a56ae7287552cb66e1066cfb89b26af621f894036b9a0cd49889ec5b25831d52cc07f9e117d905766701fa71786a45955186849d36e00cbdb5f884763efcd3
+DIST pretty_assertions-1.4.0.crate 78846 BLAKE2B 68583c49f81ab0cf5b90f6de10ef3aae9b525288fec25f9d006f2eed0877c0fa742dad5f878fc78233b54c0cd32dda7ac1f7161bfb475288d8858e8e40aa9e1f SHA512 f76d38c787e91b3739272e3bebeb9763d312b85a43cda5e1311ba8d6b0e4da1ef25bd66208e772b1cf56a34553ee560482b5ad19c5290608b2aaf9c0d0f0e995
+DIST prettyplease-0.2.16.crate 57630 BLAKE2B b3548f37a41d1bf46d58e84297142e8d3addf6134e39c07b7fca809cd2f72004947c31bcf7ee2aeef548bc200dfcb9c888e090d3a96f63289bc15aebe1085075 SHA512 f542640f809de6aa77d34d92d9a4454ef2a92153dba38ab41782d9a3fb73cbae2569c3163c21938b908e666303631ca9393ea1166c7ad5e5970145f26238c79e
+DIST proc-macro-error-1.0.4.crate 25293 BLAKE2B ef918c5efaf2545ab38787c8d0c07315af00431139e4dff66346bf798e3a429f91d12a79776c150412fdda0b158a72badd5e1044ac4d6917f8482d4b5a7110b7 SHA512 8a47bc9d3e24e9561d1e384d8f5a633284c2cf9b5e6733c5f9d1dbfe1870ccc8e2152482852e50b551cecb68e009148585b910ffb0508a7b4875598eaf8657db
+DIST proc-macro-error-attr-1.0.4.crate 7971 BLAKE2B 98e2925881c2be186e22c2c439697e91d43f807eb61a5d13e3b0b4321ed50a74f3d699942c04b89b6fea0f156bb5d19ebcf22f9cd4b98a7e6917c437600ed823 SHA512 2606afa9ec78d7dad4500c98d3a5ecbd02c6b53ab829c742bed7f57b322a95238ab4e01cf268746815f1424fd9b02eddfa30e72f98c66106f57765f3d3116495
+DIST proc-macro2-1.0.57.crate 44506 BLAKE2B 6f3535a71213b2403b4ffd088366cb9e6b729def8b31afeb153702d6af24e93b4e90ca3d167ee260d7ae92d0c30ef69675587f63dc2c0b267a9354db05f648b4 SHA512 c812e51f1a85b9592d2259f5568ed39ebbc837a44b31237b943f6f0fe9c6149854597320d009730f5d6337dad59bbf648a0c3764fcfdc74436645c9edb8e9336
+DIST proc-macro2-1.0.76.crate 45660 BLAKE2B 40b538d9d9fec10b9e4b147ce0a86efb10feedf9e0452e5568e8ad7d2b88a201ca6ffd2cd62d8815a1ee72d557fe6280120a913868c3d868c1235686742cd8b8 SHA512 2ea7ade475171166489ab3e745e8c526e49c7521bc39b1bfec6dd2fd0807fd3cc5579235f77534be855f9ecab481205e77e66b14ebb22e66d2c3cff842567247
+DIST profiling-1.0.13.crate 13109 BLAKE2B 3499027da5e5a7debeb64322dfa886cdd529c7f818dd9f7b740cbba83b10d4c561007cd91d07b09af5f20dd0153901290facd002f560791d3321d5f181d39976 SHA512 f34bb00b4b937344090119c0ba627e9d33ca842e91152fe4ec02f93bf226de24971f1f16ee697ac653f45f41b3714dab137846cd4ef2f2a86fcc960d6f827aed
+DIST profiling-procmacros-1.0.13.crate 5598 BLAKE2B 060846a8e659bc5343f42eb7ee2a74369be28f042af55b5596b295fda72070049d3a52be2baf0b47b8b54e2a788630a037bf176e5cd4d1f8bee5e96d4560dcc4 SHA512 d91cdf1805202b5c607b11c36fd9259c47f15330369d1dad07842381dd0a202bc4222df211e4a52cbd2a4e0db9b83212d071571466d35a5de84f68cacd3b806f
+DIST quickcheck-1.0.3.crate 28069 BLAKE2B 5f0ddc8e22fec55e879745a95024abaa03d7bcfc6453286eec072663b36a5d6ae247b3c1622c4743e1ca9b7c4bb21da0d095aa5247f32b0bedc393f92cda6bc0 SHA512 07dd707c9d3fd0b9cedbba545bc8b4fc1ca2770d169e444f8c96f8306d3161a6a3e9189cc5d0d6b3dc4221f7dbc05887dfe2dedc914f88d5e69ab2b94179185a
+DIST quickcheck_macros-1.0.0.crate 5275 BLAKE2B 1681fbc5a476c627da442d601d9f24dfeaa147dbad7c8d6989ad73cf5a204963c29b2b5bf68513ba74c322f74ef5ceea92594953e9034921a2c8132150252779 SHA512 f7de86f76a53fc36063f10f5405979677a2e48a96d13c439a4aa98e89ec7f3c3cae324b8dd789a5236630110ac9a1763f28361442cca08d1a1ef458c7bfadd55
+DIST quote-1.0.27.crate 28416 BLAKE2B 68715000ad56f93c573ebacfbad0987054ef7716e10144cc8de47636812271060e3aa8f0754d105abef46a27024cda03a7054f11cbdecf110735ef845dc59a31 SHA512 5fb5802aa667c60d1a721766081b01bfd6cd929db7a5d71cb74627c2325f7108740752e514db73fb3612c163840e60ef2d4bde31c41978f3d77605418bdf2b4a
+DIST quote-1.0.35.crate 28136 BLAKE2B 81424245e1e2b94459df68bb3a9a866c6a364102b5e1d010ede9c5f8278f8406d7b651957d091c5914e936b494b0f6e9a6a1dd8b7d35cd7d7100f86dee4ec12e SHA512 f5314fb6af17cf36c228e1970c569c29ec248954a450a5f90ba9e2896d04f74904c9cec5a1f74325f2489295a94491eee4ce8fb461e22cd4b34e53f1f881efd2
+DIST rand-0.8.5.crate 87113 BLAKE2B 516f26bb2a969d0d79e957818133f35d2c0b4d9f1b401098ea23c5b80d27599e842b9298c0c5e46e2a6cb6953857bf8a9fb71ec9366c5ce6708cf17df14f179c SHA512 8b33a8988906ba5e2057a9a84bdd11f867a5536c22f5056eec59ed4ec4e3a6da2fd773da4c0510d343762e5a4ea0f007db4c4a7cef87a47f90e36c1a84d86fb2
DIST rand_chacha-0.3.1.crate 15251 BLAKE2B 645771b2c3e274f085e0837a20306b1d59f6e9032fba8eb38a6d1b30180d15e2f89ffa2a162bf6358da41e030098242d81e71dab4321980d0a4f6ddfc2974ce3 SHA512 8198c580b1b9b0429758ffa49cd8138fa3ce724f0dcf73c767ea7e55611d6a2e4c7cad9950896510def500ce4062b594386c947ac3d89425b4e5c9b04d0b8075
-DIST rand_core-0.6.3.crate 21938 BLAKE2B 7c73e2da6d423c68dbbca31f6528bdb3f42fa39b30d0951ca7058e05ce16ef09ef5e047697b33ec17720314f934512c0907aeb892df93d63abd8b63eda2b50a7 SHA512 0fc31f96ca8ebba8c179367de01458e909265e1d627ec0c5620be7c8e83d2f9570471d6ec2cb2bc4bc531505b02fc31f1165708cc1357906791c87123b06ee87
-DIST rand_hc-0.3.1.crate 11891 BLAKE2B b3aa810638390eea4245ebb711de88ccdc2a64350a5c6e14064fea7685d49746b4b77215dbb8374fa7a6cbc2cfd79fb553513d6e551acf64586d8303f7d4f3a0 SHA512 582bb44b81c27e698eb57c6f06444b8a7c9d3f7ee73f4e14be8004c4bfd3bbfd9795c69f7294b5e87107e86b90fa3e91ad080964474af81c92705d356e43fbb5
-DIST rav1e-0.5.1.tar.gz 2697850 BLAKE2B b4c117e28130996970a75132defb619563d2f91c512c9b05f40a70904dfba0e4cb55cdce4f3a9210029e93a9065ccce0bdedc4b01a4452d1c56790ef3175b722 SHA512 54fdc65527e83bed1c57916c48f03b5701cb1c41c3990326130f56c562174a97b571fb58f0f099108ccc00d8c0fd05c8a57be3fc043750dcddf804440ceeff39
-DIST rayon-1.5.1.crate 160424 BLAKE2B 1c31c8e3290f76d02347271cb020e50e8f915b7a064f133a196c12e07ae1551c0e7c31883a31ec419a05198d6c71f0057be1b8ddb21f451db9ba40da511a0e1a SHA512 a68e65aae7040a6f6b0cc33b53b4c22929c15504ed4fdf54f5eb5fcaeab137c220b00c716aed96246b6a762c4f1e8be920356231d6c4a0b3e01132b9ab96ffc9
-DIST rayon-core-1.9.1.crate 64961 BLAKE2B 7201024124324d2cf2d5785b7e79d2195adc7de576b826a9c28603dc44f1b5de46d277b791a741413c85facb4f4a552bfd55989a190f6f5ea3df4bbd32042f66 SHA512 c24c34dc488171ce476df145e8c6953d35fea93412805f6c411ba8b8e9dbbd733610b291203ee91bd265b766b78e14ba15a7b587e8f0ae8bde53f60e0644ef78
-DIST regex-1.5.4.crate 236581 BLAKE2B 6efaf69d1a99dc3a2e04b2d1a96b036f631e9a0ad0d3aa57263febd47f7ec12765526f06f9c52a5497bf0d9b455f1d1b39e011adc4c28530c44b65c8a453efc0 SHA512 1a9208358c4ab87c19ec91bcf5c1e35dede46f3a0c0097061b7b53fa77a1e5ad38090d243aab274956f09c491e5fbe3b3b35a91db079b82a2dde2fd9fbad4c19
+DIST rand_core-0.6.4.crate 22666 BLAKE2B 8b6b66d50aade877f2779c006f8038db450f808c66d73d79efa66c4178dc03db06f12201bf0e7930181c4b0f4030c49b20cce6eb7839763cf2217cad9710789a SHA512 36c67eb845aa2ccca49d6d680f28d418229bbc5a050729e487fe6b9f9f384fdd7b8d67fc6508b90b79ffb3c26688e72feceb3ecae57d3d7f59338aeb62296f79
+DIST rav1e-0.6.6.tar.gz 3002789 BLAKE2B b0151ab424e58f5d85f36e4febaaa08b6a990532d24892e8b1b3bf136cc200f5945c7e6379edb9498dc6a072b450aea96acf5d5a7d679473dc17e0f190709cbb SHA512 4427c75f176989b72d6eca009dfe976ea5daf2dd7a6f01937e14304c9735dea8468b3612801d36a65bf6e818f460ed71890a487e6a2db62f165840c2318f7d3b
+DIST rav1e-0.7.1.tar.gz 3048929 BLAKE2B 6bcc96e70f8e8740efcb2c63fdbbfe07d0a6e465466fe991e77def936ba09380c94bc3355a98ec3d70db0cd1ae152d4e8db72c1733710b5064a2301b7dedfeeb SHA512 15e95401fe43ff5d28f5cf98122a057566faf291540151eda57fdf941e1ab446afb366ca52fea22dc6e46c5b49878269760f27cbda7487558beac8c5f8c727f9
+DIST rayon-1.7.0.crate 169488 BLAKE2B 518f0eda1fcbd1b1b230587ea18cab0023a699e796c819bf35a6492b7edb051137446bfbc49aaab0a68aef8280c970ad14301a9f8f7461d537af119a65b33a38 SHA512 d999c811b701d0aa4e547234bdc20a7df56728e142c4aa882bae081b7b057e8c3a72f4a62fb35535e57501e8c2ba7ff072068b59d6b5374e9ca6bb66cc0984d3
+DIST rayon-1.8.0.crate 170172 BLAKE2B e2df52c64435926a13f4f275c4f25a9694316aeb02b73856c600a1a813686ceb20828676d8272393d1aec18eac4f05bfcdc5ef02ff1e19245c547c0313a2a03c SHA512 ab1cef238530d81c255b6631ecfed9cc4f3f8d7cb6a74701d29c1dcb022cc5b859db1d246cf8247d47702fdadcedfe64a6749e24cf6c7258e8c9411af7e4524a
+DIST rayon-core-1.11.0.crate 73118 BLAKE2B 313d65bb6e3a010569b317b32ac91c72e38282f4fcddbcb56ffa97de42d88c0d34f35f76b62e1ad60ee96b596aa681caf2071a8d5dfdca085fb1fbafb07c3ee4 SHA512 00ac782f49d688da90e823980e83b5ccd858f93769e2d801061fdef78728cff37d3a9fa4fd47a5cddb058f28f3289de349f8c8fdd94fa2f8c400d73bc4529800
+DIST rayon-core-1.12.0.crate 70081 BLAKE2B ef1bb1d430776b0ad49aa523cfe83bb0aa3a381b2e571db74cb8de04bbff884b8c269de31d7afbfd609118c445bf079afd2d4920842c8a8b312d329e4675cfc0 SHA512 588fa479c499e1620e25c5818996f0376d3bf526272af6c50a17ca0ccf0f8f67b03a3a665938575a86a8edc1f101a37ab01133b27f904eb5c291bbfc581135b2
+DIST regex-1.10.2.crate 252839 BLAKE2B 4be7bede72d41634c52eea25566fb13337a84a055aae6fb73d3b18ab9168085ed04ffbfd5b6f87c2f85c9922893b9c9a253a8c874eae9185b2100850443b1517 SHA512 e594f70cc540586e4039e7b905ede9e507757b531f22a94aae185e47732ae0d54bceb2c6aceb815819a9652c01ccf697798d372631f2f864c04ca2eec59759d3
+DIST regex-1.8.1.crate 248412 BLAKE2B 4f1355104def09ec8f7a7d604fb08d0a39af36cdbb5160c63329e8c06ef2d2ad1063fc7280c90ba3748e1766b65f52fd6da24e439d5262209a6137bcbe2eda9c SHA512 fe83c2497b786314cbd9ead0d85a39ca87ae92225e444a41ba381fe80aa381a88806e2c20e1c468b8b59503fdf1c2b7e5bf6eaae0ddf9f14a70c1ca2773e8830
DIST regex-automata-0.1.10.crate 114533 BLAKE2B 0e357229f6825f14339b1d7c40730b83e62bba12115d01ed20313320766e769a653a2fcd2c9d19af51a82c38e9e42c1a31d005e1f44f5b6fbb3ead7c9c74027f SHA512 56d64da361afce82c6cb49e70b99ce1fca3e1969c54bba5f9971db135f8544c65f49feb8827789947b3d1dcefc9c49a7a434a7ffe0d09c5900345a1733723c5f
-DIST regex-syntax-0.6.25.crate 293293 BLAKE2B d5ca0dbc26b03c6a1818026f9a69cd226ec934e7c64094d0ebe843052b648617ffae7aa3a074f8da46d03c46996d8b547d8916576342000bd9711089b3e57d73 SHA512 a3d31f82aadc6be1796f76c03152ff24f37fe42d6ce27fb98e2f55ab102f86502bc37ccd563f6e0eba61aab20d002184c618517b678b3b93cb8f0497cc046ca5
+DIST regex-automata-0.4.3.crate 617011 BLAKE2B e685724eb037411c1a73d6d355c76e9e32c40f1c9029acaf86477796d3f5ad092b0c5619f4df2fc1ce34243f2ad8af147aa31f83a435e5b5adf55b4c9c8a9359 SHA512 4fc82fe3556f829956c3172447589555ef286fd66ee9a445cbdcdbe57970655e35b6eb0895ba02c344d826609257e0c95d3f7f51858aa260103bed7b08d8c1a8
+DIST regex-syntax-0.7.1.crate 339705 BLAKE2B 59dcdb9e0f5a2008db491756fb353745bf4dbaba0d3a8a6782960c990065e1870cc120d7a7e220991b78f89053aa63b1a9c326f5ae3526d47679e4ae30ae5e66 SHA512 ff61e4a075550fce3a16e516f8222a489dfe2bdf9431220c98c33b1f9e6b19da7bc1ca6bf34031235d6f1ad06882b63d606874a14d2e27c615701ecc2f4cdd9a
+DIST regex-syntax-0.8.2.crate 347228 BLAKE2B 211fd1c35ad0f28874d4b4d276e0fb0a27e5a1608f2f16ba2333641b154624e378419daf8d1c955f21ff5f40f6d49c89569b7e11ea5649850846d0fe447a675c SHA512 301dde555f300298f2594490ccd8b92033e4917fe9b8671b8a97db6c827793c73969be85a92999964dcaf3177edda51abeb576811ad6cab9772964dc0a77e728
DIST rust_hawktracer-0.7.0.crate 4718 BLAKE2B 269902116f53e1f50cfb524bedd4594c9c43d481ae5eebb16dc12f4314024afa16e224fbccc97907429534cfb74e06cc263c69da3ac1cc2f04b49ec4b8b29890 SHA512 62756c6c99a1ff1dd78565a522cebec3a9bed637a157b3d5d7ab91f7ce74d6de809604e8406b7e80807f34a7fa7b72fc9b6df51bcbd41e4fb503425d0b8cbc02
DIST rust_hawktracer_normal_macro-0.4.1.crate 3000 BLAKE2B 9126ff8bd5dd0300e4c6df4311a94c96c1b0ffc23973fdde752593c7072ed687393a5165d5e4a27df28ab56490a0cf4af67556c1829103298963f1210dab7161 SHA512 19d2d10da7728d28baf3c5be0f7a9df7b23e63188d7f6f2acae199d081a06fcc6a78c778d56cbaeeb83dfcc5e0c775f1d608074c95461a17b6a1ff84017129a9
DIST rust_hawktracer_proc_macro-0.4.1.crate 3028 BLAKE2B aa2d70be709d0926a2edc4e29c31fb2bb1412d2e9c2144a604d19a4b903e92c59ed2a9892a2182c859963704ea0d6035304e0621e8f8bb432ca7cb888b1bc4a5 SHA512 f23b23cedbf1992a58e238d03acf75d627a9a4442019597c913e8c23d133511c2501e80a839f61af816efd55d6b9d8a6b045454652dced927e06b480dec53140
DIST rust_hawktracer_sys-0.4.2.crate 319968 BLAKE2B 251fd00f03338cd5287c79a58a5589cc03890b9e044fe679b2ede657816256caab8d7b09765b540b1ff50b0fcc52b9138a63b41e6b6def35ead81168e0c3ca13 SHA512 9a145263b5debed91980151229fbf61583f67b187c904cd9976d8837c0c8b348e53b47e58cd0d34b7a23609ecec8cd40d241f08d0da585931a203915e36bcc24
-DIST rustc-demangle-0.1.21.crate 27920 BLAKE2B 73ada923b9b293c5a9893f86fda0586139afbb7d56894cabbd70612d1fb0330a9e491d5143fe3498a0c8d3e1a3f8e63c14b20865926e4c831915592486ae32d0 SHA512 4031b26863a726cc6d3398b48682e0f0f9e5665abf20a5d35343a904ebd7c0d3752dcdd3a049b2bfa3e2a303214dc39a2980700bcc64464f7029be3c7f34727c
+DIST rustc-demangle-0.1.23.crate 28970 BLAKE2B 611d2e41a8a9799db2f8bcb8fc8fefcda361d055a417d2bfaaf2dedcce9d6f388c69d905a28c65e6691b4d408d7922ccdc97ce524c87c3cccb8467e314bc87b9 SHA512 8cd29800254b1305ad50f1fc008838c52d9659f97a51a68e9f2bd6d0a60126f3ebdd1c79760f96445b3bf998d0773526ddf663b174acca81babdc0b423247247
DIST rustc-hash-1.1.0.crate 9331 BLAKE2B 16ac56622897f47a06b661fb59a196b08d48e782ab87549c8bd5c6fe92f374c9bfd44dcb36588512bd9b6125c2fd79a12d648aaa308fd9694bcca3a7c1b49ac9 SHA512 84e673ea9b046f7b989d47f2c4505557fbd5de991e6fc9f56a03605d40e0b4ba5427cd566954890153cc033ccbec6c984306634571935bfe0d4cdfbe56f39544
DIST rustc_version-0.4.0.crate 12175 BLAKE2B 6fda2ce03eab45d7193fa0d70175cc7ffb56b7be85fb1314092bdcfd3948ea145420569ace3a47218a4a2a6e44a818862cea6dd8cfb945475496f63b591c29da SHA512 f66da7c6efe431db06cd01180d84ba67fcd38f8cd6ef693762957c00ccc2211f23c08079d7f184776e08f28d2d6ca3bdb5f5016f7de245c6193d4722891ba1db
-DIST ryu-1.0.9.crate 48391 BLAKE2B d5c1035ffd6340d846009953cb4303fb8c250a3a6ac60b51a2fec77a6cb3648524420064b7380fe31af33c57011f950f6f739a1f0114196675b3b5de4b54efc6 SHA512 4e7c2c7ec73da1ddb32e18d36b8159cb4047b9f4feeb975361e7ba68135e671e11419bb7786df789f5d08e5895231d2c98e36035b515f2c64ac40474d08905cb
+DIST rustix-0.37.19.crate 323809 BLAKE2B 6a01e5128910c4b1333359efdacd5d0c1f0cf0ac4f2615e6891c10e7de3ce8df5ca50955a3e5c27f3b85d3ffee9fe28105aac3baa4fadd05172645e9f7ddb853 SHA512 e1c00f97414313580dfb7a616cd0e9a64d87950b4d4e6b536b5eaea93b8741f769ef62d4ee1461af8266758f9bdc136a445abbb05c8355a11d338a166b498722
+DIST rustix-0.38.28.crate 365398 BLAKE2B cd9401511363c806f0c8de5076031aebd22a9c6cdc49963277bd7a58ebdccaa59c33710ee625bc0a07fe2102f370e39143adca0651d123a0dfeb562d32e7a537 SHA512 a48c959c0fbc9700294b1ab0fb71a303bcef89a01b4407c2d7dc7c83b35dfbdb69bb6ac9a364ba7d68b4e561445e6c227af586cab15d9799de9e6622e89ada12
+DIST ryu-1.0.13.crate 46823 BLAKE2B c6d661cbff5e7b273da5a6bb704bb1910b897c55d854b05bd417f53853a832791afc351e5a5aeaa94ba99a8fe64c8a930221c52a8784519728da748371a4ae04 SHA512 25f60216d91e68cb47695ce4e966fae674d5b3e4b0cf33e740248c1605fdcf0c963acd278a485c5b4bb0a1c1144002e73173592222af4989df7a4ba402508c13
+DIST ryu-1.0.16.crate 47351 BLAKE2B 13c72ec8aa608f6c53cf27c95d06b90839c5bec5e54b0441e9c4f779af3dece30d01a2276c717a733f92406a5a02b09c045b2b5f92714fe492d7263b6c6808e6 SHA512 89e3e18346ae6e4035787766f286a6eb62f5294e39ad902cc29e95c53781c4e5dd629f567f22ecc7e9fe9d1c273323da9b867aadc9cd8a066727c58330b51b10
DIST same-file-1.0.6.crate 10183 BLAKE2B a320c8343e0b38078ba81c4f0159d886bf47764c74efe0d7cd2b3218426e8341b51e523c00a9e5fbc2ee1057618296bd70b576c68751bd55d6ddb352defaca15 SHA512 3ba35309742c8db63210d9ea78bff4ecd80471d69e6238eb96c7bf0673814f221e2d838fe6311bfc5a0e71b4a7ccba33e07859c0b9cff2171969ff08a4214a7c
DIST scan_fmt-0.2.6.crate 9676 BLAKE2B eb314c3e456de46b31d4286016b9194e663f7c3aea0b699a2693d180b2f0fa549448609b845afbbd0053661b5777a8912c2c607ffb26e490f86fd43ee2c2a1ab SHA512 ac24f699aa39d6fb29c309a9716eda9bda7331769114f52ab51f4aa781ecb3c7694ac385c7d60cec9b87e134fa2a5d8f586b54166ee9d58cc4bc34c83943ecc0
DIST scopeguard-1.1.0.crate 11470 BLAKE2B f774eb90b7d3ffb2efba47518e9d1dead4017ab4b38a4bd74914daa84a5af4bf9eb63da0496e3924499d79cd0439c37447aeda4a21226f95645bddcd6becfabe SHA512 368fa5726df8f42b599993681579a9ffd0196480ee3cd0f9f671e8493f3bedd1e1779bdf2beb329e77e0005fa09b816e3385f309490c0f2781568db275d4d17d
-DIST semver-1.0.4.crate 29375 BLAKE2B 534a89125c4483fc99c44f7b104870be1471d478ba4f709819ae700767f4d6d0bdc98955897e33566651cbecadb4d4dc223204e4504ba4820c2d3919ef4fa775 SHA512 82ef2b4a3533360de1c645dba02b57a2670fdc51709a07be4a63b94055335225764d42d70f9617ed3aeb4c4de121da24e73b0e2c5c781501e9ee32dff756ebd9
-DIST serde-1.0.132.crate 75364 BLAKE2B 7485bcf0ae578f02f7c7dcdb284fcd6d8ccb4022b7d487e19593f3b3c9bd03a369410307dbe5ecde8071ca3ab6c7e45a5ddfe332e43076b84d67444d1f105b7b SHA512 8dac512547074a6934315ebae3e7540ef8baa225cdd58f11416b4565a1335ab317e659901fd626beffd6514c5dc6ec9fc705cc1d15e9cdd2051bd28649cca555
-DIST serde_cbor-0.11.2.crate 44570 BLAKE2B facc8d16886dde89125b7d69e9e77ff586c61993c3493fe4089ff03c53e6c0808c6da45a83337d3be7414dd82f3d6a7f3d43167473e49e586a7e817d47ef3014 SHA512 12ddcbd5de0d85f2da6e078e3ccfdf2115125084d57eb93d7e9b45bca6a86daf79dcc79c8e54260c56240c3b5e814b1481ac28c3aa1d1b4b982ef5956b5cc3cd
-DIST serde_derive-1.0.132.crate 54725 BLAKE2B 10ba0e55a498cfb469f1a36368f66515ab3e331f337b9441b08aba857dd6c824ccb718fdc33ab467413bd755db31370d4eb52039bb28e4a6c0775e2be87db896 SHA512 04f1a738b133de752fd1f4d70ffa35bbc144208bc3495ead56cda8ce65a72c501ea9c8e5e6d088cee94a878bf62509fc9f75dfadb320eb942042ee5ea80dc76a
-DIST serde_json-1.0.73.crate 115922 BLAKE2B 5f304d127c3cee17d06cf30ace0fa8c75374293b64751e45938a283a9451e3809ccc0a1cc1b64b33f526585744073b4b35a366a404772fd37856e4fdc128d786 SHA512 0d7bcf06eb2d78f768c4bf54429439a1f6e8b7097fda6e7547b4edee1933a69307ba9b758fabb6ac918cda216c7744a0b906d7a38fd13c51e16e6e25881df748
+DIST semver-1.0.17.crate 29685 BLAKE2B b9beb685eb9f6cffe557d1185997e1a93d0e50ecd8e9719d9855347f12dd430ed1020df81839b7924a984596437ae7fb2951e7ae44c5540692a7f37b591bee2e SHA512 5199923757e675506d68c252182b10f55955e47054880492e5471a0a0f9ad13ef25d552d2ab9bd68fba37121b8026d9989bf15db67e95265b3aa53d06377fda7
+DIST semver-1.0.21.crate 30445 BLAKE2B 1c779c25576723ee7e44e7c831eacc5dc6bb33cbf051bd0748f688573e01595d05808cdef4ae48a6423df15e474cea58a0664ad7fa5cad490a61f89473f426d7 SHA512 bc3ceb11f2b729be086120c06ca2cefc34c5141d2d4af64279b0868456894eb9097b234b326249f2aa83d8b99086fcac4c5b7ef4a1e14b1198ae808fde245c35
+DIST serde-1.0.163.crate 77030 BLAKE2B 0d7ead66faab8ae01c693c9bbcadfd0a7a736c8bf46f50ef43ba261eec9e0f0c43477feadb2e134f0ed6dda3115dcbc3d22daa28592f343739f1ea03d9c25723 SHA512 752738ef5f67f1b4435bdd4e76e740ba192bd93e83cac55fd667809af26ceaf02db7083aaf7b2074644b38964021af206000b6130199e7994c12c9c57cd31a34
+DIST serde-1.0.195.crate 76856 BLAKE2B 6a80b59335f222ae48d5e377c30611f30fe6416e6853ca47a39016e21f649cb9dfbe4964ce19e5da977fb9a963228a6a81c1e85af99ae12d7a0a5722901aa2f5 SHA512 0002ecb933d08fbdc8585ee74efb4048d385459f629261f5a4a8401b794f1c02b8296db79f479013a0b2a47ba99bee6c02d60d0fc2454e32f1b038b4071e8727
+DIST serde-big-array-0.4.1.crate 5707 BLAKE2B 9520b244c92e2dd5d59d91c9414cc4bb44ab20cd6fad773c3df7bc52a33bf00420fb8797636ea0f537792a3db0a1bd368f8057a68e886ee94a803d73ae0267f3 SHA512 0777c2e36c87ca88334559512d9399fb4badccbfb44d6353dda985ad762c7e9ccc375ce5b80ba6a8283458827077851436f717492772cdf0591d200d51733024
+DIST serde-big-array-0.5.1.crate 6618 BLAKE2B f863cb6238e66da9531a74c0b49bfe828ffbb823b8249d3922a07e7745cffe2599cd20268fe37b0ce442caf3b59101c82bfc06affef0d86d9afed635fa332b3b SHA512 bc333f6d92f8a7741774e345490f05a79c191760a714d2066694eedd1625d179e989fc7f209f5c0c91721ba4e608e1fefe13434941ceb2d09d937018cf8ad61c
+DIST serde_derive-1.0.163.crate 54447 BLAKE2B 284d02fcbdd05c53c8da737fac422fd61ff53669b140686d1732ef727a1e873945b1ebdb85fbda1d79f2c563b2c7b81d3ac51c76fe0cf5205dc6ab4d46a9d4d8 SHA512 744c4235330781c8d9c6ab4f49f6ddd11fcd70b97c97fcbf1434ccac02ba7d29eacfed21ee8e005f5541dd8ab4a34023e95d85231f11c5f4d6e24fcf806f7283
+DIST serde_derive-1.0.195.crate 55687 BLAKE2B 4da7916e36f71dfe82defa6c45b3075395cae54631cdff08a4607e962290020e7214288258fd316439c02536073325f5902e7b00144f97269a207fc453496599 SHA512 8a82ae4e7cfe0c3ac27688cc95d74bf4c2e10c1fe845ab28fb57579b2f47f36d13218c2ae603f93f00114065d47c3e46166dea39b205be673f443c34305dacce
+DIST serde_json-1.0.111.crate 146447 BLAKE2B a3509185e78c438f495ee9d5b5b7c23cd3b565d45178500f2b9ceb8cc8b1cc509b8d25d217f2c98bb597bab205566d660c3f60506c836da903c52206e6fb160e SHA512 11851e34a9a40de32654a12ada1d1bd01abb11531c5804f5d0747bbb01bf59025dd92be916104fbc278bbba5c89c77920941b83c0ac2f0da23f5d61a7788e83f
+DIST serde_json-1.0.96.crate 144652 BLAKE2B 2754e63479aa07507015dcb0f989d6447f5b2c01e5f02cf8a843d90c90c6fd0acd3ecb68d80d76c249efdabe0bd0670649a9e576269928d2276ba00a3153131d SHA512 39779419900e1d395d81e70cff0e7a688564a66124b08e74da54ac30f389c912707f4bf5e29afab6fa106faf4bf4e0b841f42fef125cf7bec185482ff6bbba0e
+DIST serde_spanned-0.6.1.crate 7828 BLAKE2B 78d39bca0850b78f0835167ca7786c0bf356d668389aaaf3ace946e91d9a7db8dcba895e833d87e88502b2ba969cac9aad6c1a053c5ecb37f845ebb3b0bb5b32 SHA512 6271aa2af243021002a10cdbd16cb081bf10ab53a61cace104182eb4f28e0c0d7c447b7dcedb350ce78debf5ed6ce6502cb823ae9177d98c5288310094eb22d9
+DIST serde_spanned-0.6.5.crate 8349 BLAKE2B f4f8f798ae3a02c0d5178aa12a94bd1bc08fef88b6a81d782ba07ba36fb0d89927ecf621087faf376b6e53de12f6a96e0880ce0cd01ecc31c5dab7dadc6f3ff4 SHA512 bffe2398629ae5a5a5bb6d5fc2fa0f4b94d02c96e25d1be2fb9ad95d8ca2fa9bfdeb3af11049ee9c050e497f3beca108f03020f88f6de29b208063c3898af354
+DIST sharded-slab-0.1.7.crate 58227 BLAKE2B 9b4c4e4849ed324cf48c2b905f21139d1d65aa5ab13e7fb11817cac9a32ad09f8dbb1e50a93d40cafa0aba872792bc92f7bd2e219f62f80695409e949c07978b SHA512 3be7438d4a75debb14463477f34de6db1ac38abe958ada5d5dae7ae8d5993e245da69fcb989d91aaaffda5f2b085d4bcc88d10e07ec567b7f40a21437de6d4cb
DIST shlex-1.1.0.crate 5199 BLAKE2B 325536bab9c9707566a099a161e7bc8448c7369cd9d7b2f144ed71543d551038ef1fd764376491e8076ccdcc928b5c4e177764a68584267a91386b8d542264c3 SHA512 e51892298dd79dc7cf04d7e6f0a03e4850a57b15cd75e6e3b56e2a0b15d4cb85ee8afcc14e3727d193c8b91baec8c2864a9c800834ee4d18a1be584f17591752
-DIST signal-hook-0.3.13.crate 49252 BLAKE2B 21016fca85e48a2ff7d360b379e06aba6d044a282740e71b0e567e57ec16db0df7cb53e9db47f5875caffb5af00eca2167bd038103674bccc225fbe8faffa1d2 SHA512 c4632d31ca158fdfba5da44585f0d6211469ee17b7e22d86688af11b4ed976b0134e87e0ad686dc2e5a8fac0ecb08838108080ac875a7b55322e0735ff1ccfdb
-DIST signal-hook-registry-1.4.0.crate 17912 BLAKE2B c50ade90e580e5f009832d812299b33529e53f68e6f1b7f5f9b5ac9ee0de502825c7bbd66199a65d4494152809eaf3dcfb676152c5b4f66c7a38b33551fcdd30 SHA512 b564379e5df1061739734179a69897badf9e2e6b469e091954428b05c3c7143885396df4bd008d77e08dae53729d2267d50fc8563121b086e25d8a5adabf6d6d
+DIST shlex-1.2.0.crate 6584 BLAKE2B ac07c648d9affe62512edab307fe07436dce69b428570ba6455aaf21c178145b1026e35704f920fc177b334cf190f57e393e4dd9e522dd26d133f80fb2c15f47 SHA512 cf48c0c47aac44654a48047fed3568c30f53f19cd131615cabbc247dbdf1eb1b7540b0d188f341251b4876dd0d5fcc13792800f0160f7907e8d8fe9a5e75083f
+DIST signal-hook-0.3.15.crate 50138 BLAKE2B feade39b877523dd138a5df3114e13c35d6a2ca281ed4cb7774dc970b3cc88b9dc011db2914c87655c0962ad1cc72293fd105f06fa4297e02fe28d78bc56c1c8 SHA512 8b7703c8ef683868e4b0c315a73fcf6802f3e28730db6b79301e9818532ea62d6d218c9ff3ba465e02ed5c19a33e733ec5f7750ae9e0f823a2ebb35bb911a3cb
+DIST signal-hook-0.3.17.crate 50296 BLAKE2B 5469a11485362b4a76f99c06071c69f6cc083bf4cceea93fce0b43385163ac3621b7a3c98d18ea1fb9e1439460ea37f470a29bfde9dea199e60a12b248be5d25 SHA512 045ac6268e504c5561d3884610a48c930dfd936086f793839f42602e92e4a8cef289955776e8eba8a5ca1a91b5f27ccb3724f49b32091f8f06c8bde984d82298
+DIST signal-hook-registry-1.4.1.crate 17987 BLAKE2B f1df8bba55c72a506b9210347f9dcac4d158948e73f6d1e60f43340ddfae368aff1bbb6a109af326af47246d9738d49f76d380c52208efc3c6f79ea0acd31f0b SHA512 e83acec2b0083967555f6c659dfaacc32d851a9485c9f6f4b4cf257742ae3ffba8c14708c75f1a5520e9d132ea9e21d6eb65aba492eec481e8492af8b798c5d1
+DIST simd-adler32-0.3.5.crate 12132 BLAKE2B 3f757e8232e7115315de750dfaad58da922cf8f87971afac9a62beb9024a85af882362651900556ed131841c2af433491742a3f87f9d2ded09b9bf7903999d92 SHA512 8aaca8ee7a6c884bd12a19164ce1bf913b29b262192e34821f47e5e655b0eacce690b41da6c724a7417ed556d09af9d6a1639bba0b34523a0267eaba3df5c397
+DIST simd-adler32-0.3.7.crate 12086 BLAKE2B 8e0ae18603b344fd8a6573cc3fe1f8594ad542619a6e0d6e8f62e356a3a97409f4de3a215d561b8ed0e063ab431d81b63967a5a0b6561c45537a27ee84eaa362 SHA512 2976bb7fa153854ecd0d68ccdc108bf81d5da374839d53ce9dfb27e80d8db258bb817ea3dac73921e408541d75e2797b6d20fa63c42c1e8a935b6d75dee14bac
DIST simd_helpers-0.1.0.crate 1527 BLAKE2B dc556646a3fc94548f1e16e837e94fa2e28b78b650260aa50535a45e92fdcd952bf0eebddfc2fcb9e653871447e9b9db82f3f8c1090fe09442b7916c65ade3e7 SHA512 20577ab7615f955ee3a88c617630fc6c88703d455629d5b3838a551baebbeae8c64a2587871ec5a4fb6bc203945cace50593a238e4765b5fa2313bac30237ca7
-DIST smallvec-1.7.0.crate 27459 BLAKE2B a740a4b7448a4c8d1bef59cfb6dc9a52145e40eeb38028c64c880f31800cd3a4cb8be17394742239dfa7fb692c749f9edf70e6df02abd7a1bff288eec38ba24e SHA512 d061e0059cd6bd1636424374848aa1d4edd21f75605844a7855ff5d343dbdb71e6eb14bd70de7947ae7ab58f04ff096a5e77aa9a1ac14cef59f657685c846156
-DIST strsim-0.8.0.crate 9309 BLAKE2B 40a8be506c43ee1ffe006ddc7dee98c3d418bdd205d57b78f5d1e4c9312feb57e1eaf952e02d92d4e0932db240c6fba45beb06ea8c4fc6de1cf1faa8b6a3a939 SHA512 1d55a8d946cd55f5f37d06aea536549ded95739fa58c0f2da285a0041154c181f663682bdcac643aa198b3e762d694a04f058db985c62ebe22b5c16327ba6d34
-DIST strum-0.21.0.crate 5296 BLAKE2B 6910f08a5dcbbe6008b777a2948a8f01ca18d30be76ff6a89dcfcb28b05353a860fc1b59412933b9c54b9ad424a1366e0b81773e38b04e9a5f9a038b2d1bf082 SHA512 687a99aa93616e16510213b66f53be35561d19cd19f9776084e9d6d33f8576f5eec7a806a0e48997da2b41e6f563a05424c1d5cb5ab2b4a2310cfe1d3b10a5a6
-DIST strum_macros-0.21.1.crate 16280 BLAKE2B 48e4eb3f5e5431684a4688feb55cbf024a810b39df37fa869b4d417bf16c245c3eb901fe2c544da206f1dd4a3c2e62653b4080a9dc02eb446c6795225b34d857 SHA512 85ea12f8e03f04c427b99e027065279bd559ea1c51532c6f35cc842218e350e27349258f0fe25f5efc9fca047387da3ec5d670f94a50d574b15f4b5f1c99ddea
-DIST syn-1.0.83.crate 234750 BLAKE2B bd4162b01c8f2a1a46b60f4b380fbc1d83292c4c5400e9ecf59bf86ea35f6eda1c3e868ded25c86d6dafe973103c89aaca6dcd67a45a5bcfb111508e60e6ea08 SHA512 83bfe34f52bf20dd5c1465840652066ca8d99b10113048e753a323d7f20fa28fa1977156dd6b420a4e34ee3f674aa1c36da4e84cb8175e9c0281f0bb460b7c11
-DIST system-deps-3.1.2.crate 20920 BLAKE2B 4e5c2e208a35c59522dfbdf23b36bbfe1ab2a9e32bf4c7663de55aee4919de934ccbbe2914e4f32ef1e7f6430f24ef84ef8bd2344c2f443a6df6bc5446037d10 SHA512 ed96a370fdb4e57b575987b1a9a6985088bb4d1d59e8162e043504e7028ec1e814e39cd9b8ecd26513e362c7fde98785c2964b206da2acac8989639ef6dcc716
-DIST termcolor-1.1.2.crate 17287 BLAKE2B 5ff748064c9fb6663befce2fd299edf6a6deb06ea72d21a62d6e77642934cca0933e10340fa84f636631cc08c76ba83ef2284b2212759129d54248e5fccb4c49 SHA512 f37b034345382cd621b1344a3fb301ca3d4d9db8b5858ac1ea82372c983229fce3c0ea8213d6b7e91291b6034affe11e2c3e593dbd95256294ce5c584b33e14c
-DIST terminal_size-0.1.17.crate 9141 BLAKE2B 048d8e8e9dad08aecde12323681d428b9182afb737136cd6699e13d231f7882091c9167cb10a08e5151df912421a6f89132645627e42ccc73d07553cadb1c8cd SHA512 96ec1bc8abd597f01ae59da567036d5d40b422764a4da662e2030c3ef4ce80a983c8b6a4ef1f34d88e649e0b1ea27b206d56a31924bcd2d31ff7e5a2e96d4201
-DIST termtree-0.2.3.crate 6926 BLAKE2B 390aad5f90602785674fddf6dd5ffe5ddb37b5f2eea7cfd330e04e4b3f482c8ab3bca63fa595ee409a8bed3ffd27684bc6a1227ca679763f94cf5a75ad55ee93 SHA512 183a99ece5ba686e6fc9884c3dc702083a6f7918514a20e3af460195d8f171d9ec91fccb8e2a93319f844ca7164455c9490e4a6478ef096f44c1b57e532a7a76
-DIST textwrap-0.11.0.crate 17322 BLAKE2B 257428908342774593bbd3528fcdae710712ff54e8a711393a24356d8ba0e16e466a4b20c05f942c48ca76b3b5b5aaa90ec202f782cad892caa8b71ccf124da6 SHA512 f5c0fe4f28ff1a3a0931e8e235b5157a45f67967985bcc752418c5ec3481fca44a8ae4800088889b37e8cd0533f53d3c456d5ffd19b767b3f83a87b49a2e209a
-DIST thiserror-1.0.30.crate 17748 BLAKE2B b9d8a8f824de03c57af43d0ef8f2e157321e7e6a220660581299a38988e7bd43733126fc9b8d8b8ae38ac1d788ef08fbcb2352beb5ddc014113e0058c2bf60d0 SHA512 0e6cbc160ee1b6236a9073dec225a4290e7a82632ee7cec00bf02797b04851adb2d3071fa268b54f7fa9fe22eeada55a83d44fbddf824520023608eda8ea2e99
-DIST thiserror-impl-1.0.30.crate 15230 BLAKE2B bdfd4451304a2ef4ddbecb48eb1a1307e6eeadab0860c785a2b6a5e7de270ac42ac4f11e46eb9dba77ec5a86b203d9baf8e4fd5c83cdaa10e2af34a95d29d2e5 SHA512 465b1d4eb79075d8abb11f5c260d68847ea52806a2f519515705b03da376fffb3686bebb23c11462b1c59e1ae5b3ee96d834c62cac69862c491001b1ff7cbb46
-DIST time-0.1.43.crate 28653 BLAKE2B 95fe69647e8d52784be1fd3457578896aa38279d00f51f1070eadab111d39450583c63854c73d4384f2e4349b0250f1c9bff9901529b776c596846c057c93335 SHA512 c3e0c68cab1ed2f33f41955f83e632c51924e4d3c1d22dd0c4ae98499e03f3cafde8b0c2d9e69b67a78d6e4055e464ee00d1ed6af5eb9fa75052405b43e24a25
+DIST smallvec-1.10.0.crate 31564 BLAKE2B e3e46a0781d3a7892a739b001592d462d0704f010363984c439e3fe4f75aecb9720648aa1e9bcc56bb3be848dd40cee578212439f78f07a807c9441c3c3e0147 SHA512 a09110184582dcc01d7a0d3fa8f74c17bf726935126d3654667b8e9c4bc43ad16ccfd8fa94feae7d9b31913aa7ee030fe5936e4b44a36302b6ce5fe37372a7ae
+DIST smallvec-1.11.2.crate 34801 BLAKE2B 58645e99db8f02db64d02c75860c7ea41836c427c03ee3b0b23365e73a406e4fd6ac312bf13fc5faef8bb6111c10fcfd5f839d5b3686e9b34d1626f8469fc327 SHA512 5cfb427c3b99b0dbd71f6154ed899abcde9d7d2992977ac7b2ef3a4c3ff51e4efafd133071a69609b4ed6cb269bdc26b79eb72e1988f10dfcaef8185d950cd1d
+DIST syn-1.0.109.crate 237611 BLAKE2B e827445d00c79a8eeb91eacde472f1987addd6ce9e1df95d7abf6446a77ff4173a8006845f3ae71c1da47193cfb72e0ead9a6d6bad2573be12c17e90735d9ad9 SHA512 12816b9e8cf984024b2fbce9f0ae14cf94d4d2c06f08cc54fb793ce78770bb4cc1288eb7df0ba5e8e937756e1e8e295c53fe07a0c5dde1ea8ddba03b6203b37d
+DIST syn-2.0.16.crate 240928 BLAKE2B 776e3cb9ba82f7f42d226d1b631180bc2f6bea259152b39e5005a5492f5416ca9b14403d91252eb92d9c101751091a0425ca44512b46f25e2eeaf2ada0372a72 SHA512 75d6728614a39d7f676536fc345be6777e8dba6198f031e576ecd199e503347c4069fc7294c4da3e829cb919c08347513447dc86fbf0c545df2d347311621da3
+DIST syn-2.0.48.crate 250566 BLAKE2B e46b0863af76c3116c84d01b654a9820b7edc51f75c9c5301a7967d12284f78da602409f34fc40524728350dc6b998a4d738f08b8868f95236b3e5d24c460580 SHA512 926c0ad55cc743df20f9166b6d71fd44421aeb1f073fd86b6ddb53e13cd508b539c0360ce64b07b65597bb14639c8f33acf7e60951e1e9128624517aa3aee325
+DIST system-deps-6.1.0.crate 23942 BLAKE2B 64db60982d69c6a07760d6e2936140992cdd26b7abf83dd41c4a8e6a614a5f4aeefbe59035b3e5017d82253a086f28c5fc7c97c6574383b37409ee0815b90382 SHA512 5a2135f37ac91155cc61db0deaa64954511cd841dfe8a4827802db395d50ba2954c9600ea9c57543051f81fd2580a1983de817d9f987490f5f0b3e8d51e1eaf0
+DIST system-deps-6.2.0.crate 24961 BLAKE2B de59a67e59aeb793dfc7f71aacf93303a4eaa3364aec69fabb7572c07120c447c0b3581ad62aa61292d7c78cda880557e1bc11a3a76bd1a6bd84dd3128c4fa2a SHA512 10bbc503b8f55560a607d764c2575c7b854ae07ed50470d7cededc1e0451e4c7f75e06a655eba90e5470d8c2d1f1911089cd4d82da378a2d15f8e718c8f794c4
+DIST target-lexicon-0.12.13.crate 25424 BLAKE2B 5fcac231c270a59b6589adb79c90cd3bb15ce024e3c5fa3fd267b3226e5514ce77387c57c86ca765b43ee593a55ec99fdc8fbfd464dc01afaa91ad10337b6278 SHA512 323331857bd3db9877a6c7304392e39d378439462ae4f6d6939c02d28914ecddec52696c94ceebfe8a0e7e93ce25c900099bb3922d7783643162e55c7a8769b7
+DIST target-lexicon-0.12.7.crate 24402 BLAKE2B 3715b15649566b9f26fe02aad818325a43b54512008e4ea9fcda9ea15a87b8f4baf4ffd7343fc12456c97d8a6b1e121158c4cb61997de0e2d24d1bce93d86850 SHA512 0f3cdbd7515141315934b6ca61c5666f3bf60e259711f68ed3c33468e2bd400cedf824db7158a80fa07e78cc7ac2a0a1eed2df199352176148e9df34b06511a2
+DIST termcolor-1.2.0.crate 17917 BLAKE2B 5ca7802b0bd29495bcd2deaddcdb4c3ff964073a373eaf39964a24ed91a48c5c33e192d676099e2837064df3149fdd73aba7d241e9aeaad9887bf1bcae9d38f0 SHA512 cf1896523353390b2f90b2a8bf30f47da5fc7c2daa635bd0cd8059bdc73feb243e46e4279562fe45d5726f2840833b1e967c7de19ffc0c853592d9f86c0c1be7
+DIST terminal_size-0.2.6.crate 10585 BLAKE2B 8696b9046c717eec8bf7246346af84a5d0cb740ac6e1335a4d8c20476628f4c0dd7c6106cde33513681466e9701d4b05d73f22a3bd2dfabc4d22045a69d31345 SHA512 95f38bc00f8c5e1a6913bb2a0a7c46d96e02a4f3234af1623ad3d7be41eae677e77f1b5d5d005d1e9d778fcc6c87196f67a51ab37caab5b4d299da79c85d06ed
+DIST terminal_size-0.3.0.crate 10096 BLAKE2B 097ef50a85945128dcfa36d8ea0fb15f11142c206462a32980dbbba4fe2872abd214823fe3c75e804f3159a97d6e929ec338860e9c89587da509fb9e6da5d339 SHA512 f3bc9144aa8a87556543584a2495df6267ce3bb017f3ed3d00fa43e89b5de783e1285ca62dbad9dd9c3b37e3a476a6f3ab0804eba2411cb594a569bbdb310681
+DIST termtree-0.4.1.crate 4557 BLAKE2B d4300b0e6e908c519a0a76f5e08167f4467f428b2926e7739614cef5d3e294dfac15ae8576f7011a852745713c16da93346660ff96520a2bb90a4dd4c23d889c SHA512 ddbe0d3ddd79b182732359f47958ca32aa351d10b1e7d5f6456700b851aa2b5314ce005e1fd120a248b676f219fbd68039cefc071d92c5b5477d053bb6e29062
+DIST textwrap-0.16.0.crate 53722 BLAKE2B 44140aa2dfd5076005749449a56e920418e71e34cb92f1d697eb3f3e7f6fe87b0a3861c8a4050a4a62e03187b6cadc4495e4200bee52ee183541431c73e47209 SHA512 97ae8acece5663e1a6b08b827179e96d5ad0ee67d635888cc3d83454b52cf48fce97eb0eba374ba4747834099c74f43d66d9fec868e84be45369a42c1aaec2c3
+DIST thiserror-1.0.40.crate 18709 BLAKE2B 8057ebcd11546f8b3ae5d760c1dd1764386f3c29dc43bc7a4aef20604970c65356daef137734e80260051d41e39979943bfda496459696b924a95f455159704c SHA512 db1b1fab3aa61dc6bbc672670eb70cee2f838fa713d3a927022900eddde253108d123bded1aa6df8d314e1aa2f8ff37bc72fc9b0803fe3a56447a64290ab2a91
+DIST thiserror-1.0.56.crate 20592 BLAKE2B e98c8bba8d21342c981646e88b72a7cbc146c695a200aae3e076b55948791cc51a29e8818d64451b17233ed4d095d0ef63ba4fb07502f4ffde5af738b8629c37 SHA512 6b7c856745256d6ef9e7ab2ea0027f9c1ed2c75ed5b075068af57cf706abfd835fd4552d9ec7578bece1f820086828c5dec85a9cbada409569838cdc9d63936c
+DIST thiserror-impl-1.0.40.crate 15138 BLAKE2B 7590428b5a97efde6a823440a9c91e1d1835b20df4ad8a700c1eeddd98516f1203605853fc6dc65528c5fd92480d04f9a8412aa7c20a524cb94435b0a0032f1d SHA512 9027f2d4127864c34d2d92ad3b2753a95893d26f5b2dcdec869884a98232c5304db1700a38112ced258e5f3832218cdea3a4bb21223098e1b20d06af1fd7edd2
+DIST thiserror-impl-1.0.56.crate 15367 BLAKE2B 6fad787eb1e2c0f25fee7bef160be794fb8000a0aa292ec0d2d66d7a4d1fcb226c3e2e690ff6a61ba2d8704208014eea84044dba27523d4b2c26d2f7d4ba64d5 SHA512 da66f4674cf699083f7142f3a60c1c9334767b4de3690b4c7af460ffda787fab2089f5bca231e92b6e71724d46fe7dbdcaa19073f5d8100838536d10971efbde
+DIST thread_local-1.1.7.crate 13585 BLAKE2B f497dbcdfaf7dbc8b4b0dd97f77ba93df15b63303e7894c9032c9822a5b8111e0a21db2fa8cfdce5a503f70959ac9cdf48c840b925bdd850dc15e8436ba72379 SHA512 3772452c2a349fb564d29bb06e13c8ae64807db27c3ee217fa04fd0e9847e94adeea582b82ffc2d9116f31ff478eb088550caf1346c263de49b55fa17b431c31
DIST tinytemplate-1.2.1.crate 26490 BLAKE2B af39d96f33f63238e455a4e38fde1d1730fd9661ae68be7b05df6ef9d2ab1a04db1332cc4ec9deb6da3a8e22b124df81b0fa8916d8491b808742bb733c8e48be SHA512 0cc080057e096f0796e72004343e1a8332c2e8a12e43f6ade150ebf632e9c29c7ad04de0b940cd57df81efdc4d07a6607da9b86a30d8383e39ac3d7be185edb9
-DIST toml-0.5.8.crate 54219 BLAKE2B b4f9f563e5ba4574d4f2dcbe244378a2e1e984bd9fbbbfa5a06bdd5f8b8d677394f0db9cb8696f6936c80a52caa86b1b3ebaf3885c53855af23f03d318785f19 SHA512 26b7901ee4b7cbb4cf8ea57d365a99ed05e0a76e73452e47d4bcb3b4eeb7bbd393c13eea9ea33dc13622942efcda39acdba9425b74b40c920c9f19673a1f2082
-DIST unicode-segmentation-1.8.0.crate 94011 BLAKE2B 33440cedd5b51bd6075c9c75541bb8dcc16037b1c937ca72962f6c46be71a30850ab8e8a144d8b7548e5a91c78d551e7bbab5f26a713f1df0311d15f11299af9 SHA512 f0779ec42907b665df53f38ea370e661f10e7c72a75917f4cbd055868428c0eac1c7fc194d4bbf048e00f0f3d3e2b3602ae88d7820ad0c73e94a5228b61f6495
-DIST unicode-width-0.1.9.crate 16745 BLAKE2B 38d4b92e47a284d6881a8073089be59a73d82b91efe5522f55be977f95f479890b6c02cd519544729f1b1e62eb21bcfff8c5f5382917f953603b760e39cf1ea7 SHA512 0f5ec46c57e3b5e50cb8430c89db8d9c129e80ca11a9c398b5312bfe95001e19ca3efbfeb01c3ac09c4ce7e26c6ee1f352f7e114ecef78cefd68c54d2d50f5f4
-DIST unicode-xid-0.2.2.crate 14955 BLAKE2B 6c6da49ac08dbd8b3248272224d6bff96b9cd1f36029b1937a58a0b929c3a48326053305ed49e73edd70f572f5abbc4817cedc899c69e3457805ad056669f6af SHA512 92ffd0dd34e3ca235ecf110b38c447d3ec1faa23d76c112457f28d432f92fa6b5f428bc5e1bfd278f361f55426dd96e19ecb0d3eff6cf250892f069c52bd89a8
-DIST vec_map-0.8.2.crate 14466 BLAKE2B 8f109fbff19604b82ea2aa61c952e2ce9b5597ccc8e1ef4e847648e2de08dece8c4debe92889edeccb8d393645fd0b62436b49d236ded7ad181c4a51239a9539 SHA512 4f1ef59bc2c437e79f1f84fe021bce5aa8ccd581f500f3d5776913d5f17d45b03ccee64f5bd03d47656318cfc9344a1f4311079d471fa409a8e4e94c143973f9
-DIST version-compare-0.0.11.crate 15208 BLAKE2B b2b463f1965739369aa168b4d58775cd35c9a072ddc3775c439026e3b7a9cad5b60e9745980cebf498d22ca85932e1c670409007c4206ee6112d95096d552161 SHA512 dc0871daf7a1eb1890b70d5b876291f10b5f61b19f276a104176901f46671799e0254f0af8bb9c4106e3c8255b4d3fd65f6f408e51f080d79947c2fea4eb3558
-DIST version_check-0.9.3.crate 12547 BLAKE2B 85761c300a8d755e0b376191ef0604728ae641261fdb10682a3134a828eadc4a33216426d286bcdbd8d0c5fcfe6ca8ba20ed078c4f53066b959739a0e73daec0 SHA512 4b3b428214a0322af536a18e6f050438398766af6589389f20a804121a6721962ba411e2dcfded60aaa74313128fb0e831bea31378e2695c29b29bdc24d7cbfd
+DIST tinyvec-1.6.0.crate 45991 BLAKE2B e9699d4d80a78978f0ebfd049f5b33d7f23d401cf4f4439ccb168e8c0e322473ad0ea7e2ff0ff69e9aac3e5c4c9ae5a7102185533bfbf96dbe77b3526e700bc9 SHA512 e5acaf353c58c60ae5556130a934f1048abb79cf6668ae467d308bac44b689d8a9997227ea879f4b5fe50f29cde8761801b088d7149bcd063b973056c381921c
+DIST tinyvec_macros-0.1.1.crate 5865 BLAKE2B 2bf4f68ca11dc19c72232951605a4c809b34ff38ee365ee4f592a3c41360e23c9330cfba961e2692a0ad568fef4aaaac51c40808d491178cf7a0c4b5a1c5d484 SHA512 10008c7b3a3d50c94b9c370015b76ee082f5dfb6dcacf014dc2f2dbe92f903618d10d0202b21f48fcf98a94ae76fb712db55a5e8ad353645d378cf0e6ec74f7e
+DIST toml-0.5.11.crate 54910 BLAKE2B 9ecd5103b33ab47d4be23c897c7095ca381cb79bedcaac4918cddc36fc7cf5d34ab664da52c2273d935f04486e9325241d6b66785d50aac78453c219aab49e1e SHA512 eddb82aeb8fdeb5436579292c6f7a64a90a2c7bb54070beb437bc7890b99795d0505faa8d6451a99e8bcf440f78db8a1b273a697c8ad44275cc4163a9ee49317
+DIST toml-0.7.3.crate 47227 BLAKE2B 8e0709bfe7c26e15b0c5ed4f3f908977242a52cf813e6175195b662792baa91f104da357876b711158d4b55b2426228e278cb9a2057de26d9b167d99208d7d04 SHA512 4f3f7534d07e4f5bc14310c4030b89ae3d42c9e6d7a5d3aefa33ff9bab3d73625367fe9c74fd1ccb8350b7bb3a78f1181654e69736cb7280b89e632c29aa81b5
+DIST toml-0.8.8.crate 50451 BLAKE2B 96d5411e8806c9021409ce232a11fd6d81269ef2f56b2a64d7217c9af8d0b31258b8c650e2bce9ca1d561a5fc58d1e556493d06199842a4d81884085622ae3c9 SHA512 6a583ce29d8179b480d29ca5e4624a4d6a8212cc741cd0c27c88ce46526f664a2f32eafd322b648f145f5ee5024d522a126f56befab5f1d68c32f2fb9866c7e5
+DIST toml_datetime-0.6.1.crate 10765 BLAKE2B d31627732a1a70dce5142ecf6dafa2b52e56b7df7d865b64dc477affbb2cdf148fe4acdba84373c4fa1b8bb8de06380e2a105c10fe34e7591683697d78b17c78 SHA512 024fc32f5c3b8efa764bc3fc59af710627513ba2e536f01f227d36661eaee099ed78320ea65b15a15e39c0fc30ff2b44c501f96d5a2618034daeb290524694e0
+DIST toml_datetime-0.6.5.crate 10910 BLAKE2B 93a21ab2784e96ee2e6b56c7b4f733f6ac4c68c1e7d7dac3fbd8aceedb3580e25b4a9c7d9c3f9b5ed152560353b3e80906e37824956dc4ea90bc6f039768f6cb SHA512 502bdedbcbd2ac9fbaa5f4b51f2e409af185f3633f01f8845de5e3b007f2400215ddeb82ac588bc915ed5a5f9d7251ccf93fe2a57cd40fca2927f4c0966357e6
+DIST toml_edit-0.19.8.crate 94457 BLAKE2B 8fb45302a44f48a5a75db4dd6e3c7c2b3e4cbc357d67e247da36fe631ba66ee64a6786c8a2f9d915a260aa15bafe986ea8085f9dbce5e03fce92330c782b8b65 SHA512 467454b0b55514e039e8049bfe41ffbee7677a0c4fed4cacd96cd8d91d14cbbb2ce77ba3f356d486ddd8deee9b9939ebf519dcb087aa3d5413eb709f7f003ff6
+DIST toml_edit-0.21.0.crate 101265 BLAKE2B 8cf4fcd93fdc99082c3c43e6629348b67c1e2bb4a3605ea119816b4b3c473bb3b9bf9baed8b189a0dda6d92ff5f08ec58e3cce19fe2667bcdb2ca3dee88d06ec SHA512 6889b7c3b6679db874b9ef099e3bfbce75b7f15cf47860e542af42d449d0795113bf7dc84a7f2d394ee0fe037d7f4c0857c3eeba6902a8b42bb9cbfc96f0f324
+DIST tracing-0.1.40.crate 79459 BLAKE2B 33693ee71564fe5925a63dca351e838dfd8612b4b1e49a33a70095e56ca63287c13c772661ace0e540d08c92942d7cbdc51ff2cce4f4b372164d9aa20ec05dee SHA512 5622188a45dddc0d6d3a8244a9b12db6221f4180944ce1019d18f4e613e4bd113dae5d45fb57dd0754f6e8e153b047cdf00c8f200782bb2b868bc2d423d99275
+DIST tracing-attributes-0.1.27.crate 32241 BLAKE2B a20af0f50a90dcd64e5318e55779142da294ba18d1cd40059a8aa964fd3c92834e03ee563e41caaeef71a30e3f027e5c8d167d90e2844da79e0774b267e179b4 SHA512 7dc59f4234c3bf3434fb352baed2b81db4e931eeb3ed207c4a204e480da734be40847b167b808058d2807b5583815625bcd5153e2bbe79804cfa6f069a74ffa0
+DIST tracing-chrome-0.7.1.crate 13796 BLAKE2B dc2aa03525031a305bb1a4d0fe4941febd54427b031a3f939805a0c59ea12a36809ef2ad94561e2a19688437eec942529a09f4c875ea865b7490ae125afb39e5 SHA512 608e8af7cb28109dcc3039b3253dc02321bddb535f5eb5de2f922b993d5e79d2425dd2ed9327b7e8df531a4fb58d60ed1b6c64eda224d00573c3f412c3460cb8
+DIST tracing-core-0.1.32.crate 61221 BLAKE2B a7815c46af9852ce62498083103c6d359351f4d33609b4291330073b6abf4b63f5e1bb1a7dfed3bbf4d6913ad5217e96999416261af8a70609408a29109e4db6 SHA512 164f79cacfcca533a53b7dbbdc2015aaf851a16e00c72fbc4e5f515b6a6dedfa464e964810009b54f08cbcdc5a314e50245ac7b1b01a71fce4c63db135bf5521
+DIST tracing-log-0.2.0.crate 17561 BLAKE2B 701bdadd40f1343f3c4901bd8dd188f1dbc0afcdf50807bd0f6df7539635e239b5095696872103125a4d4cfec24af6336fce6f3931363dd5be4f53a09fa584f2 SHA512 0c1f060e8ffb9ff24cee7b85cc2d7d42c69b2f7623a7faecd7422b23b11ae8d5c7691e4635bae76861d444c369d9701ccb147904668023642b223e442e3c8285
+DIST tracing-subscriber-0.3.18.crate 196312 BLAKE2B bc2f04da63b0313d26073eb4a39b549ae37701e4dbf1fe06a2483279a03d9dde981f0efea6ceb5cd441ab313bfe7eaf812971c3ca60dfd4b5d9cf0d2eb7bacd4 SHA512 72f91855637aa476f03077d5f523cbc94989d40b12d7328167f88b081869ed096e6370450831f6cd5f0686cae5628f14eed4696c06a2ec75f56808b64445e0c1
+DIST unicode-bidi-0.3.13.crate 44477 BLAKE2B 90d80e7c57e93aa9aaa83e7c3c1a93bb6e4d51047803e61ed3f7c80361987947b2029a2b679bd301e8a0766ee8ea7f080e9b9b6ebcbb4354e19813a0f7da2abc SHA512 fb094fcfd907d90fa7232432aca0143209446e4c5c73d8a0fe6d2dc44b9dbb5b8b926c59b5e3f9a5a0a36f91c04613509b6e430c9c4adf526e7445e6e8d7a3d9
+DIST unicode-bidi-0.3.14.crate 56429 BLAKE2B 8670c2bb1ad98d4540d7837e8b395078b5e0eacc0dcb7ef3ecf6ddaff9d69ce136a883b99cc5bdafd3a3d657834432d0145b11a44ea1d8b776a5394e56ba04f1 SHA512 8793d415e33f1f693ba5928d8aa09ad6dc10bca6d8ad338fca527e5b142d1ea1cb84515459a9fa0a821ae68747cae570bd3872646fcf218ebc7167ad41c97379
+DIST unicode-ident-1.0.12.crate 42168 BLAKE2B 4cede03c08758ccd6bf53a0d0057d7542dfdd0c93d342e89f3b90460be85518a9fd24958d8b1da2b5a09b5ddbee8a4263982194158e171c2bba3e394d88d6dac SHA512 bc1824e1e4452a40732fc69874d7e1a66f7803717a314790dcf48867eba34bc9441331ef031e386912e52c385645c25b6ed39d4f149973b5b97371b1b96b1920
+DIST unicode-ident-1.0.8.crate 41962 BLAKE2B 3e3394a421460b0cdd56f96e1149b3816651ffd7064f9ec85c12050917d0b271eeee4bc3f6d3f0a3c1596635df3dac54bd610243d34e459743fe29b3b931a237 SHA512 8104999c6fff002c5aa109e2ca75ce3eaf772155d31dff87bcf39e3eb3da58b6cb543717be7b55acdb0cb1a4bd2a3d2e9c9974f7f75b6528668f5ef665ef4088
+DIST unicode-normalization-0.1.22.crate 122604 BLAKE2B 3f3430b279cc0ce1595392c869442ce676ab097154c688779ebcf726e10c497df59be2cd7bb2f84f99499a9df0654760a10ac92224c17d74775aeebe291241e1 SHA512 a5810d5e9cd93dbb80e013997aa9d38e60834619483a6623eb2859ec5d59a5aec3fc4db123dc7f4e2fe9f2b8799cf6af48bdff22d69a00a23707240e8bf3bb3c
+DIST unicode-width-0.1.10.crate 18968 BLAKE2B 6174e307fd3ee290d0a5d1d31233baaa5315cdb73f19b8580718e9f9eb04cfd3aeaeb474af1e50c4b9fecc6fc777937dedc527c9dc9ed14ccf42af099e591f31 SHA512 9836a8d489d18ea1ecfe1957ed6d5da7dce825e138cd1848aef093fa8d2eb83fcf01eabb1a2446df4f5ede4e67316e9e81b5d58b59d4e8c5d67870e8fa5dca3b
+DIST unicode-width-0.1.11.crate 19187 BLAKE2B 6baf7f3b32eb838925e591792abfe11968206d177facefb89ef51daf44c18f3fef1e41c19a47b88b81be50667af626af2024ccc540b240fb6e1d83fdea57076f SHA512 ee06f4144525424327a17578642565f396802f0eea539b3bebc8d9627376a8bc6c5376d83a6ee577068e99fe75815bd765e6d49fb9ab9b253d00594bb15a5ffe
+DIST url-2.3.1.crate 72777 BLAKE2B 6ca0e537baf373b92269b2531945c1cdf360f1566cae4734dfb96f05a605e5c6c82e3192a1b9dde0ff22b92b87aba2d56e32a1bf17882b4de15efd7cdf52bc76 SHA512 8224010bef067574481e5d84100d944782d52b49db7c396ae2b4dfc145ed58769c15440d97a0fed4d2f9857592a8601417cc5b1bdea959c47a3e7a1f7182ed0d
+DIST url-2.5.0.crate 78605 BLAKE2B f3fec3477248cbbe67866577eebb03f517c284a5e5cb783132b11ef3ad156a03524f4730f188d822dec85169d7474e265099296d6bdd4adf5ffaa0a118821617 SHA512 4aedbc48b85bcc2853189f5fe8265a01c76516b5507f4e958d8d0b860fe2590c69c95f0f4b9fd6fac9b8d5911bcb0a5e9ab7f8e8b600f37a12db1438976ee5c3
+DIST utf8parse-0.2.1.crate 13435 BLAKE2B a1c111d7ffc60690f2aaa86f034c66ba1abe4e126f1774a4377d41eba3269369862f57515af387ea785d69a8adf46338b5e53761b5ee6f4f4380473f4d9cab0a SHA512 51fba8f1e7eb74b7020fd831e30a67fc8353ac2ee07335c8c3374a5570ac8117f165f6905d4b7f0360095b7b5ed3e739001d02a8cc3c89195baf2cd679136050
+DIST v_frame-0.3.3.crate 13327 BLAKE2B e8d36c24b319827d322f2e2fd716ecb1916ddd48cb264f5e0dc77f047b3f00a56753b24112adcb6d984c9b21dd13a267426af6053ef43e93cb1bef9a2e6916de SHA512 ae388118bada3bcfe98e025a1197d63c04865dd0b9661feec4b30847f7a706fdbb7507887e96d524288be75f081802fb3fea5c985363931f66c60716aab9b776
+DIST v_frame-0.3.7.crate 14640 BLAKE2B a9f7544bd56d14f8c3876631555b420cb1bdd138910b2d28757683df6feca3a57e5812cbf24728d3e9ecb7d3e7d19cdda3f90da20397279c1a5a8b332af06db7 SHA512 4d521513d0129ba37458a44bc423df9ae53d3ae108e818125f1611890fdf78f9367589677a3fab84f5f6d37223a0b454fc162f545392f6a19e4c5a7b2b83243e
+DIST valuable-0.1.0.crate 27718 BLAKE2B ef5ded994c9a6dd302bed27f0d757447b0c86dfefa499c1ef0d25c3a6745ce61cfa2c926826534c9f605f9b89b4a19f91f06f94ae7c03f1ddc4c58fab3ae58bb SHA512 a97f65db1f1c5049a276dbb0e45e25c6fc6ce9d27ac1fcd77c945324cd8216ef60344065c79799ca04e338455e4f7422c44078eea32d5fc359dd0211ee7eb387
+DIST vcpkg-0.2.15.crate 228735 BLAKE2B 6b6bacd9a7fa38919241f45a97f58cae957e58d3aac99df208a26aa718e4f1644f4ccefa31b09151e5c1952288e0e5837c363918b98c7f55079a948a952c1c50 SHA512 7322a21e8811b2fe4e79e09dc321458068ecdf1953f05d36233f3278ecc0b1dfc64194db7010dd46fcf692285f42475beb090c6c6cac0c8f9fe0eb5c770e3172
+DIST version-compare-0.1.1.crate 13224 BLAKE2B 4bb1e7db6a4a5b30f4ef950234fa939bd562e8d5693aad42a5dadddde7caee01b4dc42b28d8ef61a769cf573440e57c0dc321f8a8b4b3dfc0cc035507bfed886 SHA512 efc9441440f702518867e2056c0ab066cd2fa6949112479e463802610f25a4d50c4411eb5fd0ba6ca9b187e358fce8d99579188e0ed9ba0297191172ab7af408
+DIST version_check-0.9.4.crate 14895 BLAKE2B fa1fa4008af165bfc1fdbe560488afd9d232cfafee94104fbcc4cbc52f234849bff9ddfa88109a1ac682f6d9c1d86b0459893d223f64e65adc08966aaf93dc89 SHA512 b172dc9a3759a4a683ffc39b9a40b03b9974b626a088217de87090466cef695226557c226cf3e469b2b25ee7297b7eb0d7719878cab42457f80146a81943c0c8
DIST wait-timeout-0.2.0.crate 12441 BLAKE2B a99d3f57bc6e784ac06167f98b2dc2841f730dfab4fb9772b15e67707f756d6ba7daeb3e992d32291bed3daa85eaa8a8ddde64db5e1acf1cc4031fc9bdc82212 SHA512 db3b7aa2acfd44e64451042b8ba98eecab77a82aa5c58ed08dadb119ab36dee4e26d62baad7978ed56d5ad03019c96be5021455362290f56043981137bac8066
-DIST walkdir-2.3.2.crate 23516 BLAKE2B 473f2b51aafd6ac17e5c3da8d545d179b31486b3a65ab39fbd8bd7fbb2ebcc24bebf01781200a26a68f0b1cb464f5763a919aead3b03eba5a7e1be6efec5500b SHA512 6c44071354faf37720ec4117ded34c8d530489542ee107ac26a7a56ef4a882b9003e22e84f1d61f6078643521343e35aa1f7b57c838779e78e5937a667bf82da
-DIST wasi-0.10.2+wasi-snapshot-preview1.crate 27505 BLAKE2B 4eb8644b945633d6e856ad80dd74990be19eb6af99823b147163384f61d471e2d9ec054d78a7064072344be53783e57073e8fffc6d5555c149b4834a9bf31dba SHA512 06977a294d76369a3867c45abdd8a87ea5c84e5a3681075ba0d14af1aee3114ff24495c7e7f7fe1e6e42230e65fba0e062898e69bc89e0209af62c2d14094ec7
-DIST wasm-bindgen-0.2.78.crate 162111 BLAKE2B a3311e67900961b35a59ead7a8972dcee37671921c0f524895c821658a7b1246403d4674bee1735f1b2b94aa789d5376edd02afe4c8ebda110f4344ef58c9225 SHA512 bedeb2828d1e74b1e373bdf34dc2eaec70dd523e9ed96a341da1ab3729a7cf8470a828ddb9cfd4cf15af6e2fff75b4368553ab4f6f02c8dec9419dcdd7578de9
-DIST wasm-bindgen-backend-0.2.78.crate 25576 BLAKE2B 03dc6b255ab9e30f9eb54f81638eb02a05a0b994ddd51f47852bca376a02080fcce596453d688f5e8e7b5a814fd081b9709c1215f7e9f9fec0e4a7a6cba1000c SHA512 00a0ec9afb65c084b64cf9d25f778ab03bf2368a1e0ff213e07b8fe742a125ddae00c7b4d693225d6d798618b0441d4dea3c175cacdb37fdd75b0a46ba3a287b
-DIST wasm-bindgen-macro-0.2.78.crate 11700 BLAKE2B 9f1538d79a39555f643b9ac6bfe026c259dfd129c45fdcc33cfbeeba2acb2a26ff4c9df83a3d11674c5ef8e9393af7a4d0cd7e3bd08b7eca0fa55986c893c5e3 SHA512 3389922198b0d5c19163f4de345e0cd7a3c0609d48ff933bd5af0cfb205463632878b5d60bfeeb8dd8f8a98f28f23c5185dd6d8389f599f31176297c944b595d
-DIST wasm-bindgen-macro-support-0.2.78.crate 17858 BLAKE2B 8378f639a94797d2d149f2cd836f56143a498d3be5fc30eced6fe4fc2e1bfe14a70f3165cdc5cc1c88f0162efec75b64e56aa9819596984afa97003601b933ce SHA512 84d9867407a7caa942ab11f0ad1c343839bf51793930cdc3ebc5279ca370062eda006540448cc401f6afa078dbb1523b348ae69f4c6d7ccc9a7b8fa1ff895236
-DIST wasm-bindgen-shared-0.2.78.crate 7206 BLAKE2B ee60946d3a90a2760d8cb045657de659c6367aed2d98efd60074cb57f6b06aedf9ac44fed3d41c20299c5edc095cac5537a365fdb01183f3e60b6323da581935 SHA512 a808b7a7909e4a287ccced1b251ad4c1230399c84c05e246127b6a91fa4ed328d6a24316dbdc1843db71a5bd78cfd80113424f9984e0777323d74e3125607134
-DIST web-sys-0.3.55.crate 664827 BLAKE2B 1864f320e6c9b80c6b4b4fd8941d66cf9368a9b0cebcb86d3486b99f65456748b46c507a1bb761611c4825d412986f5bd8c8fc38c3bda3dad2e9de213467ee51 SHA512 ddf191f009d49388bf60ee31650eff1ff884f01822989a226c559b9560aebd90681fadd34e7437f555d627a0a3139ebe267375618eadac8c17ace5fd47650764
-DIST which-3.1.1.crate 8071 BLAKE2B b53adc5136f26fc1be6ae18987d0129527cfd6eb2fb1f0876600ff55ac2f935f608337ff89478f3aed2e8c97a08c474109382a56eabe67dc788b744d90c73ad9 SHA512 3677d709eced54a332e68d9c9385708205838301a576da0c4d88049403a81676c3939a97cd1bec4ab261c7e8fb6211956b47afe5d1fee84d9c4ecf4eb30184f5
+DIST walkdir-2.3.3.crate 23125 BLAKE2B 3bd354b9796a31bd4c8f4ca695514101a7837ae2134fa1ffec20df1cc946a67b38c6b50affbc2cb79ffee0934474d8269378dab5ac49a4943ccf8c7aaa51db11 SHA512 2b6e1e27c16e310f636eb1c9ee58435509fb8f7a6c5beba4dd13d87aa1d91599a593bfe720a675d536ce63e217c31e240a57122455d8e18de1282a9e7fc3defe
+DIST walkdir-2.4.0.crate 23550 BLAKE2B b4298c01cb38be0479b7ddfee627af01f889b6b6ff432e368bb67f65134c3958a4fe271a5a7dd61b19259ae88f5680e5ce8e12e50a872b05fcba68f59b7073ec SHA512 09e1bc852c01b452c95b26a369831a97bc5c9e0ada3111c73774570dd73bb5b9e4735317d5572304fb48dca44ce7b9f77bbd17c418b6b047b2ab17b8bb42d9d9
+DIST wasi-0.11.0+wasi-snapshot-preview1.crate 28131 BLAKE2B fe501889f25d65e2d032f885cc50c4f8bf7dd70fd5cbc438de349838370d8699e9627b0a4fc76030ea9fe6d508f41d0c9928a875fdbc47e73bfb17241cf7b155 SHA512 043500ab28cd9cb779475255da5d109ebab7fccca72b64873dc28d77bc5a157ba8d96b9e8f05223b5b36c7089bb7b4ba87657fc69bac16b78972f897294a865f
+DIST wasm-bindgen-0.2.86.crate 174170 BLAKE2B 09146027b7c841ad0ff4dc18d2440330f5fe76d445cb947a5ed47e12455cfef8dee60398be6c32fdb7095535d1c88c7cc61a11c5194c4a0b9e4f55626b1dad0d SHA512 185f513e0e67264842f7ac03f19dfa89c6954de333fd5dcf6ba2e016a459c4a9c98d4ded341e99d0fd1f2795c458acd1e5032b1f74f6cf79c220b156f26c093d
+DIST wasm-bindgen-0.2.89.crate 181935 BLAKE2B 88ff35daace267087750053eacdcf81f1d6cfd7653e1b21cd8436799688615a2840ab733e0196cde747dd4a49ffc3d4efc7c64f48e4e75bd9a240a689f7c037c SHA512 e9e3b95547423ac7acb0f0b327b9fde6c8ef3160296509332fe5d9cbf9eb6a4ed6ad30b29552cdcd113a94e95fab4e3ecc1e7a03811514f84fac569972febf5b
+DIST wasm-bindgen-backend-0.2.86.crate 26792 BLAKE2B 0df16a87b4e3b91b2c66613e49844567ef036dd79532759e07296dacafd4993d2783f88b137b5e6e5d9c7f18c8f4c7eecf11edf666e6dfaa4c1d3dc32872ace8 SHA512 6e62432e29f7ad02e890c5c4943869a166606a7f9ba9a8ee78fbb1d86f9083005da5268e6b18ce1da13c5016e8c89ff3f5576ac3bbe3ae4587bd4c901ed5e436
+DIST wasm-bindgen-backend-0.2.89.crate 28205 BLAKE2B d280d04a6e8df72c0eb0d99b134c017be8c7d378578e23505ebb184510e6eab746fc06ca25333a62c24405565531b6e1c79a5010ae31aebb280c7820d5fe41fd SHA512 9ff63a2401e741013753fbbbc86990948e0e8820ffdb4b16167d2c72f12626306e5d077fef37d8d956acc73eefd699dc7f03250926a5609639b127d4e46daf1b
+DIST wasm-bindgen-macro-0.2.86.crate 13888 BLAKE2B 267d19541474501be9ffaba4ffc6a81d32c3c8bd79ff60cb7588edafcf00a65d4547dfcd6ff12692c49438c270e0611e6726ab03ad2b449f7d4c6d41aac86949 SHA512 f6ae82d9ae6e0316c9d35a02100c7e93d5fa17e23d36f72b04a1365a580323126a514bda71f7c225b51ddc966460e9f3d7855cde15a9264c05375a92a56e4f75
+DIST wasm-bindgen-macro-0.2.89.crate 13906 BLAKE2B 93e4b784eaf75a070f471d7d60b802d42b4bdbfd0c7ec21ecf1dbda554ed2bed62d99c2b28ba1527ad8f6f3e5b6083d132f36f9c36efcfa9f6a9cfab73b1ca0d SHA512 060e0f300bdc42557798f4d7348165ac9dde60e4f7760acca5da6ec02bdf8bac22e2e5b80f733aae625a0c699dbe831e0afc6e66b2af8fe445aa6513c5180381
+DIST wasm-bindgen-macro-support-0.2.86.crate 20027 BLAKE2B bd6363b515400ba393c8f3c7c38e8fcfd19d1eafc377528777254208d3d03cdccbd208c83e70291525b856d88c36f8e13b8c9df3f2d568133357c1e7b047baff SHA512 f4d5a883be6b7e6933e705a112b5efdcb1c5a282b214a592c08c6b5fb423a600c6fe43581cc2f8c13ccf946c5a210e05d0455cf594eccee2077f9a96c5a40902
+DIST wasm-bindgen-macro-support-0.2.89.crate 20008 BLAKE2B 867ed0049f076d37e8c0587928d67209d69071a6beb80afaba35b947c16958d2c61ef1c762d1706de6744f23ed811815cd94f7059b3ad823aa99f30929cc3a33 SHA512 4ff50819d989733b51e6614b8b14992dc7e53e4c283b89c4e21dd50659cdc49a8cec379df7630ee26e04be62f4ff0bc5eeee9153dbeaec213e8217964a149e76
+DIST wasm-bindgen-shared-0.2.86.crate 7246 BLAKE2B b199125c7a65dd2f77e8700d459f1aec0572c6f1ee16198f7212d494daf4a71ec7637803aaec54e3b04bc991281d102e6f4da9d63838919238b2034353ee56df SHA512 e2a557c58185cea726e694617afb108ede9017f2aa492309695cf9a8b339806c0d9e35c4eeb6733acc56f8d0291f34fc236651246e82b450435949a4d2e0002a
+DIST wasm-bindgen-shared-0.2.89.crate 7265 BLAKE2B 78668ee6af47357983788161c2a50562ff37a8d584e6be61142c5609360aa712571c3fac6b3395215c5d132edb864e0ce8e7b648fd7225433a81f2ae3e6a586b SHA512 02b2252b5b2e6bc8723404ee8cc750684f488b3e80ab60210d97fd7b343a67db2ef8d62aa792a5f02bb351467f4ffbc887512a215007f6fd089b29f8d3a23be3
+DIST web-sys-0.3.63.crate 725192 BLAKE2B 188ac3d90a040b2c7f1d9de007c02818bed46175c0f49e729cb41f273bb14de43864e059e257347b8fa0511a058aec6e43a9e99e9be5d8e0288e80921c837b06 SHA512 b919078dadb1e161c1b521b0b0c685a08acb659c7effced3f2a237ab8a29b64fe2d6ac57125857e574a0331b7aa673f9736b53c6df8a63860e7c66f4fb8ab3f4
+DIST web-sys-0.3.66.crate 733024 BLAKE2B 5f9b318d3d6f0395579d7483c2a72325203680a030532c084a63899d8467288d82bbd33eacf66595513bece2d2d94ca7e3450649a62a06585e1012fadbfebd32 SHA512 7fad95dad96e1b4f0d187f116889aa142747b2f44e8fb88ed8579d96cd5491997a7c13dca9745de4536ba7363a51b88615ce57aec25963bcbc8ce9a2e8b4c658
+DIST which-4.4.0.crate 10889 BLAKE2B 3118f923319f260d6574ee0fd28d641f858a1885c3082090f079ca64acd2a3dd996aafd84803f0f2ae2e58b87d5cadf63059d75e72ff836dbf3ebcf4cee82602 SHA512 8380e5ea79f7768c8b1479c2fbb6e6c8b232f3a8d43b6554b78a370f302fb396d53842678d760ce9fc720fe607cfb9da3e0da4180e4a6ecfef48119105555fd7
+DIST which-4.4.2.crate 15953 BLAKE2B 40ca22cd2f625cb035a1d919ed457a300b482c7751dcee4441974c53d56ce13f1f502535e1f7c0746a01981f4de2e2f761c3a255902d6353db1a4c3c62637448 SHA512 2d12aa1d4c2dbc140e39c8f15bd4ee1eeb8e8de71bcdf579479ef4be860fb0839eaf4cdb818addba242d50420f6e08acaf2bfc979a889e092c83644819246fd5
DIST winapi-0.3.9.crate 1200382 BLAKE2B cb5799749ccd935ea2d7068d953cecf19f543d9db7dc16ad4584bb7005373ada34937a3ced7225544d8bc765da599911c7a3190efefb3a25b7c1bb7123b4f673 SHA512 ff8b7b78065f3d8999ec03c725a0460ebc059771bf071c7a3df3f0ecd733edf3b0a2450024d4e24e1aedddaecd9038ce1376c0d8bbf45132068cf45cf4a53a97
DIST winapi-i686-pc-windows-gnu-0.4.0.crate 2918815 BLAKE2B 4d357e4d30f9552972170d65b9a5358b69c46a3e772fe05efc22f3d4ffc1caeeaad7aacdc7abd503a7ad0545f8bd7d22bf351dcb6df76f812fa4d45c34d65df0 SHA512 a672ccefd0730a8166fef1d4e39f9034d9ae426a3f5e28d1f4169fa5c5790767693f281d890e7804773b34acdb0ae1febac33cde8c50c0044a5a6152c7209ec2
DIST winapi-util-0.1.5.crate 10164 BLAKE2B fc800aceae5249a858c806c3e969ef2545766099872d856ebee51c883d9acf1122278db9607d50ca53eac351502b700fd2463900932d342240f97f683d517963 SHA512 7baeb661f397c4693dfa001fdc774b323c51a7c55caad40f2de5112a1cefd1d6151e3df41fa4ee193460a5905917c83d2b1de5fa10b4bd014ad96690af95c0fd
+DIST winapi-util-0.1.6.crate 12234 BLAKE2B b8db8ec9d7ada5532a22a2d070320174c32ece1f48890e9b028708e194fe72a04287b11910dc2ddc7f9c9674a9d8d39449b3e100725e1f59e59e3047a7e3650b SHA512 b1c949f9bcd34c1949a9d3a7bde6ce62fcf3d2cb66df60af41fe67a9d1acb24e571cdd5ac721be9f1ee4b3af5ef5149b5724ad6e02b558e124ef2a4412d12db9
DIST winapi-x86_64-pc-windows-gnu-0.4.0.crate 2947998 BLAKE2B 2ad1ea8b5fa07d544e910ccba043ae925269b76b26c9da356305b34b86741dd8b9aff0b9ffe3d562db4fcd7d7c46a11ce9e3168b782b1d89ae6881742b7ede82 SHA512 4a654af6a5d649dc87e00497245096b35a2894ae66f155cb62389902c3b93ddcc5cf7d0d8b9dd97b291d2d80bc686af2298e80abef6ac69883f4a54e79712513
-DIST y4m-0.7.0.crate 12045 BLAKE2B 4f48eb7ad5be2486e0f723b9beb9109cd1b38a0d0c5ac4a64411fce0bd9371d45496e5e0e839d15e7d1616b3888cfc1a0fc1ca364e65ac508306cad9a4ed44a7 SHA512 b85b0dd6df46c9bf125eee3e51ea39545ea1c794a2a097bba0aa31c682532ed3a9ba141745c61915fff13535fc5fff5a490d7c9e731c75bb5ce38a702075467e
+DIST windows-sys-0.42.0.crate 3006791 BLAKE2B 7a0962364ecc416cf0ae7e49cce1298a12d819003e488f6e77aff1a52710f00378638b6a05db5557a031e1b75659587657971ddc63eaab35495133762f99a7b2 SHA512 b07b119688f3e3ad234d36979947f34e8e19988fb62101afbe18ec8afc9c8a4261128939df8bbb849d5c5982422cb4c50dbcba70f2bf401fbb7c605df1b2b354
+DIST windows-sys-0.48.0.crate 2628884 BLAKE2B 551e900de4f67187ef034b60df9fd0e0d8f82a3100ef28e1eabd543ac129d882dc86ffcc1714071aba09e4cb2ae2d2f07ace1a32b99fd989ce525cf05991edab SHA512 bdf534bcf3face31e9ebe11427a911a53f89f4ff5eaea8cccd094e139bfe14b2aec602b1cab1df774794d999477439d9adc6b627a8e33c20334fc348ba2c47ed
+DIST windows-sys-0.52.0.crate 2576877 BLAKE2B 69d6b560ccfc8f679e2678663ba606060d71fa28efa82c8aef8cceaa2c63b06f2052764d60163964f939649a26bbec6361ee4b094555e941fae92070db566980 SHA512 24ee0df246c2b456a4987a9124786a28acd358768cc7d1305bccd81bc5bb8822b81a03fb18d35174a520b911c6d9b685f81a34ab319fee13da3b985273584f03
+DIST windows-targets-0.48.0.crate 7466 BLAKE2B 4ef6d89ad5b1acf26a1a24348122b86d3943bd95935499bc9032fbc7aa01c04999c723df7fecb4989854cb6b7cceffe141537dfb05a9eaf3902c4cb490533116 SHA512 1d2a29602a1e0846c8577ec9167c5f9972091998a5df449d67b13ad918bf37680e7f97247baf5e3010c166d0b3182418c2925470998b92893ee9469939b91e22
+DIST windows-targets-0.48.5.crate 6904 BLAKE2B 7396bb210f37bd51da86f39fca3425c8f6610721d5c4e94f9fafa0a8a8046303b3fcc6979146bcfaa32f4406d242a0455f6cbb220f84c6ff84650e755acf5223 SHA512 e079eeef255a046be7f8e6a31c14f7b230254ebcf05eed2944827bb3d2a0dc30940d87593cf544d5e7ef35f6312b99430efcfb01421d91b02bb9c4bef7d98709
+DIST windows-targets-0.52.0.crate 6229 BLAKE2B 4b1efdd32202f112d3782b586ce60667f5d3b6f97ccae0d7da833aee2ae81ceece88b5ef4126db2448c9019de3f77e4fe66ed4286bb6275d9a5e8ab74725b804 SHA512 0ea09552d89b802ec0d419b640fa02d0af7af602704a0e88ba10f81d123dee0c907460f6ec91224177ec9a948970abd7414740eb219148a4d66c269c2362740e
+DIST windows_aarch64_gnullvm-0.42.2.crate 364071 BLAKE2B 97c4e3b2a2dd3f936f9bfcdad23639c9c4c499eed220aec361d26d6013d798efa118e6b298f9cf841ac149d2ae5d58ca653731718450fcf2910bb5f6fa39159f SHA512 75cd7eb1def8ce9d0ff3d7468d2b1cc31cc76c08f981a2460c3d1eb09cff7100d7442863a3591621c1f5f3b3f4badf0b5c95285b6ed583e37283a8403f1095f1
+DIST windows_aarch64_gnullvm-0.48.0.crate 366543 BLAKE2B 9b10f65089fe6da3ff38a1061783f635644ae84f567f891eaced280af68f7ff3919b34289e8850aa34554bb0346903273ff0a7fa743ca8794c2d23a9f1b0185f SHA512 80c5aa74c5669f7acff3882a8e7575f15e8d7cc58c11a1cb731ff423eb9cc9ba43cc6b80e52803c0d44e6a9001655ba87de6f43a9fe858da6d6e3a5c983a2711
+DIST windows_aarch64_gnullvm-0.48.5.crate 418492 BLAKE2B 5c6f7d73ad05740f0bac304ed1ef9b2ea63b0d6ca8f875552ae299a0b73b1557e8fe996f1c2b69be9f2df350c9288690f49ee62239a2896991364331d6c55462 SHA512 20158d31454488f6053d3ad7b97d7fc6eae6cf37e4ba0e50c28bd29b368505eed64199ae31104d5f97b66846be54e5ed25c0ad31ea850819205c573a31ac0996
+DIST windows_aarch64_gnullvm-0.52.0.crate 430182 BLAKE2B f23370c62c4ab3fd885e3ee22e8ec2fb5a3a837a57044c1df3f9986dd4e7e9d0a44ec58be1648a41e1ea4d037afa3077f0f03de0204199a82fb8395731815a4a SHA512 b7c3fe0a2ad5149be0df48fc7a4d15879eb130bd9441c58c25fc71b8a91483f0b553fb1bf29a9302acd348e9083a547430a840b059b0cfe19867ecaffcae986f
+DIST windows_aarch64_msvc-0.42.2.crate 666981 BLAKE2B 9f3cc5592cdede08bcdc1e7c455325279e3b763d96942695e10dccf1dfc37a81c749b69a7d6de883d4c0fa6e8a0d2f578fe2a8d6c42ad8ef6282590bf8fc87b7 SHA512 d2dafa8c94d01c1b65ca1bd631d31f2ef842f1db7accb132ff78c3f8483221b991afd3391563e03dcec42bbc9cbdc0ebdab47b991d25af85b5ba2ac1bbf8db63
+DIST windows_aarch64_msvc-0.48.0.crate 671479 BLAKE2B 0c80f210437628e1d878d1d14e884fea532c7539b3030aa76d46f27d02372c715c6e33d7efdbbd770666472b44a66c30711a33d819ede9cdcd51c96355802d45 SHA512 617e47a7202f1db4dbd3ecea509682135ccd85e3a458c0331b9bc7aa1d84e5756b59c881cb098d5c6d4c951248d13c8253a8e8a50938e1997bd19ceba77262df
+DIST windows_aarch64_msvc-0.48.5.crate 798483 BLAKE2B 60c466d6536426425a34b5ca20da97c8127ebeb4fb9b1363911165bada484f8913fcd50e90410b5661e0c27dbfe8f4eeaa62fb17d1f3566bfc82b6255e11619b SHA512 223f016c6f1a44dbc5c8a8428b39438f75380ea06951b7c26ed0877b19d79410c6fde5e4c7f2c839b6e76159131f39a1230e0e3a208dfc425ba9117e3665c4ff
+DIST windows_aarch64_msvc-0.52.0.crate 821663 BLAKE2B e6f772858205f7cd871722136aec4d00daea4793ff9dcae53e6311e74526c46aa11c2b3df7a85e6c577757254cbfa5a713e68c694625ca274b64e7a1c5532c23 SHA512 8446bfe5b9fe538415762c8129ab3bf2fe45482e045bce367475747786602ad4ae1187c6e508dd9d7b6be81bfc8d430e0db9c624e35c7cc52e823023e46f5cf1
+DIST windows_i686_gnu-0.42.2.crate 736236 BLAKE2B 4ef0496462afc73d9d72af7e5da1e6d3506a92f8172930e88ae64ab97596ffd31c4f97fb969e9b677e30159c27f00a8e756deb006b630fb98ce83f03c8b762e2 SHA512 ad09d650a05cb91cb6b40f59025c023a4c286bc1194586697c506016df2b9b0d5b02606b81687bc634795a0d9a9b8a73e486599328ae09c853e8e5ba662fc59c
+DIST windows_i686_gnu-0.48.0.crate 741490 BLAKE2B 5a4a584f8d8ee5bbd2d4c5b6749a66f2d43fc9e4ef90faab2227709b270f0d46fc26578c029edd96877c71309316ddb32d91c39f46d88f9a484c614f866e3dbe SHA512 15149fdd48b61b6d993acd392dbd353d0280d984ea88745217e4207937174bb90cdd9701f69ff0fe06a842f03607cbb57937d20d79ab577181e605a8a8fadc68
+DIST windows_i686_gnu-0.48.5.crate 844891 BLAKE2B fdc37cd74a4982056bf22fdb7b84e1c55dc838f3cb19ff3648730a77e673ef4ecc0380b3e4277bb8df2fcfa25f57b69014713d9e3ed27c28e19b25b3ea2ab774 SHA512 931ba5c1e4eb8ae73248e00d9611298d1c4b4b0dae719fdeb9243930cd420a103a7bc2738e0a4887c42c8f25728d6c5d64ad141dc092bc3f1d0f35dbe37d303a
+DIST windows_i686_gnu-0.52.0.crate 870285 BLAKE2B a7688062a128a1b1394b3978210334e4e2aaa10dce131457c4a11ce0cb3f551e7f4962d1ece1846d8e9526983ced0e0a3ee8c933858e9314b62e76381e086ef9 SHA512 fe993f5bb6e039c257be9b35337e0221f718d23866818bfd19c76aaae236aafc2de4bb5014fcdf919563b5901cdaa14a2136cd086eeed3c83e46a5d02f6aa77e
+DIST windows_i686_msvc-0.42.2.crate 724951 BLAKE2B b084286cd4927efd2889b149abf8a9fe9d3d777130db9e592982660dbf9a96a0f5e723ca121465787aa11877d2d29a5a7d7cf066cdc8fa7e90d7ca7dcb7677f1 SHA512 c1706fc36d4b157c020744a11b3eb5d7dfbf05a0b56775bc717e94b7fd725816b20154fdbcd69ac08dbfb8b8bbfa74fab72d7a9c10399aad6a1cc54cf597e804
+DIST windows_i686_msvc-0.48.0.crate 730056 BLAKE2B 4e4ad6ed94948145199c2ed50fc65e4af08455a0fd058bb0f763d481f30b029f99a2b8dbac087b29e762500a19270f6683baf62ba99d141eb002a5b0b5c8ea05 SHA512 11a50800e709712dbea907275bc0faa46d2eb2969118445ed5b932d9c5957a09592a5b26a40e554c1f5fd56c6d074a07637e6f88eedd2224e1001e62df7b469b
+DIST windows_i686_msvc-0.48.5.crate 864300 BLAKE2B 3d3ea8be55e2d6ced0eeda18abe1dffb925a1a78f456d683e4450d9f2fd287ad2e8494d65b2b770c677a12b3a60d10f0435e16c61880e3867c3657fd44892442 SHA512 70e2fb4fdb006a4cbd43ab2c7e940b277a15fb1790dfa2d1fc1f1fd18bead4886f6dc046e44326603e4894d988578917b8932aba5d9a6a4cc8424911cad9dc7e
+DIST windows_i686_msvc-0.52.0.crate 888693 BLAKE2B 7a6e9d03e503c8f543e80a8c7bcf3f50cfa7eed462e487ae7b581746d7cc4d871b33e307110d3a3a75226d88e837f9452ac56bf3baf71b66cfab2626cc15558a SHA512 817ac796fd00bed51d80133ec873cf3d3d582ba41fec8a6f6407fbd7544f198e928aa5d710f70c13bbf74a1dde4c91c54e65eb9d3b7518a7f011ea42725eb671
+DIST windows_x86_64_gnu-0.42.2.crate 699373 BLAKE2B 01c70809d564b16b268656e47295e99c992d8f9839fac8a51338a0e7c3b9cdcd0429c456ca8c1c139a8c687ed7ed6c43a82250889d881aadaa65bd037223e0a6 SHA512 5767af3c86e717f93137a89d442230e6b60a649057edb3ab104b1f82c0bcd64fe089dcdf2f4fd486a799bece1ddb5f0449641536b678211945e749ae24f35c1f
+DIST windows_x86_64_gnu-0.48.0.crate 703595 BLAKE2B b227efb78a99c43d0538cceadada3fa1840df29adc665787fdcf845b73e77d782da8a9f9aa602e1da61401b550d0107176feb6c397c922a6240b38cc8f04a180 SHA512 38eff1164fb37dbd2bbe53404b20cba92de84cbbd5e4eb9ad60d51fb43d6fdb8b87a1488e2c88ebd4b3ff3b708f93fdc05df4b14a285d3ff11c33ff0d9828602
+DIST windows_x86_64_gnu-0.48.5.crate 801619 BLAKE2B aa7e7e6a6ff9f9553ada3a0a39a9aa798e9d995a8eef36e0b6fdb2a0db93ddecee5548970575271fe43aec74797a420d0ee231d503b5bad1bd999059261e0e33 SHA512 1d6056fae430b3d042bdff3c6217c76be4b8b9f5dada9bad06beaac2db7d7ab9b0a82e44f498ec88e61afa73e99f56d84d445dc3847732b9ce5d947e08485f74
+DIST windows_x86_64_gnu-0.52.0.crate 826213 BLAKE2B 3ca03285ef289fc844261142154e710e996c29940b1c0a7dc3016906ff6452fa50b24f8668fce0ca44bf169ab1228c217fece9f7bddac9ab8bdc54fddafaf8a8 SHA512 2d81af56ad0bc9536f6e066776642a546ce6c6d99551edc0603ffcafe6db15d5d5a32a642b204bbfadf34231daa3894ad7897a9c0c575c2b6bc1e3e58a9a3eb7
+DIST windows_x86_64_gnullvm-0.42.2.crate 364068 BLAKE2B 64bc53e98eb3fc649c9b43a6e734de4e65088e41edacabd49f7afcc5dc6e1065c563ecfc682747dda05978dea2dba4f45c16fcc18c3b00684c3d93681e5a7deb SHA512 d39a8bc948110fe612d3f8d6628b3f0d56620df11d8a49e0fabb6c90389ad407582b3af10e4eab46c79b3d11d2e10753d73d9e55963fbeac085f41e9749bdba3
+DIST windows_x86_64_gnullvm-0.48.0.crate 366536 BLAKE2B 295dc3aef18c604d1579978045f4058b1a315083a8ab842bddf5800ec3460b1530ad88c3464acab712a229290aca235810de8a3b6a253859a354d9fa97277e58 SHA512 8d82fad4c8445030844708aa026a62f1ca43362b8e15f14b0d226c7e9cda04ffa0715087b6a025dbb738e8891de24fcc4a2df071a532917cf03c4a46f934f396
+DIST windows_x86_64_gnullvm-0.48.5.crate 418486 BLAKE2B 12a2199d434617c1df1a839e9f435620ad64b40c579f6d0c3677553ad7a48e5765d12c266b04946402e15c92cff2e4ac4979ce2130750ef426e2672119680284 SHA512 c016d5b5e73832b61ff67929d92fa8c16e154656294357266ad29ce1f44db4ca2d2935dba31a6b571187dc838b1d22f1e3b41fefffd1d719a338439adf1646aa
+DIST windows_x86_64_gnullvm-0.52.0.crate 430165 BLAKE2B af9345a1f6e0ed1392ca1534c68d23f3be0fbb6a42b3c5518cee14373e645038526da15e849d14abe45c53766a30c6c2042a626482ba4a05409f325eb6aa36b1 SHA512 e88af35fd1c694dc189783e5c81aafa61aeffbddce4d7130e1125d0ce3d932fafeb345990ffd98477c41b578b7f5090f4f9c0457b02146309b95549c9f8f44f0
+DIST windows_x86_64_msvc-0.42.2.crate 666936 BLAKE2B bc3a456e7f8bc272f8978ec69506ec9d89f97b7582ebbe05d8bd57bdf8156ef62d0d2dc6137a97e81d54059d70db97a24af9a038adff357f5dfd28805d6193b5 SHA512 53a35f438903fceb59e36bd2ac331773fb8e6c8c5a6d984e79021761f91b3b4a23efe49d219667a4d0d23dcdbf906da9c24e74fb1cff93395b5c55ff524e3788
+DIST windows_x86_64_msvc-0.48.0.crate 671422 BLAKE2B abb063610dcc38581657133182b7d9efeed5553df67bd2bd6f30f1668a645186e4824f9ef556a5abc84ace10b1b437b6325bbda6df5a64ce880d7dcb743ac786 SHA512 6e598b8e3ac54912a8ebac01b0dd2c58fd282072527d7fedc7f6ebecdfb7dcb09ae46c22293bc0117849437f8b053db5e90406e7a38276f0f0afd06be3966795
+DIST windows_x86_64_msvc-0.48.5.crate 798412 BLAKE2B 8abc0721e2fb337fe17c91d278947d36122d9045b839ba0cf3e690202d242265b676f23cc301da5f9d98c56ca4ecb76f7d6f072ee71bf986a1deca87020b90e5 SHA512 fa1c5cd14ca2ff0082e2504cf59d317dc4dc6f7138d35c12f95d4476a9c13d8b7f5537d0ee251eee7c99411ad31b22263171b7fbd391daa5d3ea3488ceaa61a0
+DIST windows_x86_64_msvc-0.52.0.crate 821600 BLAKE2B cc448b65f98fc0fc4949ae622b7020d2dae927ae45310649f6ef71809740eda9d3db0fc035676c201fd9ab9639e9e7f21e2e992b4c789542f12b419d2c752179 SHA512 3aaee31533a1a48a6ab5cd15b3cadfbd906a93a153e53919d0aa74e440d11e29830554e4e014c215f5b88a475bb733fa8ba4ce9d773d3e23a40ea9ad37ddd0a7
+DIST winnow-0.4.1.crate 138177 BLAKE2B 9fb55dc5dbca2250c5921aebc42fd8dff7da6fc70656d5690475cf9d81d569b01e68c5134401f70759a9edbe1704cf76727efe5442961b1d220827130497b735 SHA512 390b3da6688d61d90d9bb221d95c7243968209b692737999b13326204954d1e916b390ac8a3a0e0864695ad9a073ed8a79e592ca565be374cc6e909b4166d52a
+DIST winnow-0.5.33.crate 154059 BLAKE2B 6977ce903cbb37eff53d8bd2d38e3b2ac06ba89e5951441a2034b200675f2d02462cb953315aec945aa50be672969ae28eb0cd2853baea77f71b4a55bfd03672 SHA512 8df4c9569f2e97de3f96392423bbb24d2b25cfe0ed83cb63a857bef2d5cf9c7e70b110bb19f853e182bd23ef30bc1228378eac6b468414be0a662ee6ae5baf97
+DIST y4m-0.8.0.crate 12455 BLAKE2B cd3ef0fcc025f415374c46aeec0461a3ad8a6e88ffc629250eabbc3d6bad34484c29de3ce5eb57f4a6caf16fa9bc591c7f8edb51312c51661d0cb0687d5f5eda SHA512 e80f6c5a650ea06d747dfba8cfc60474e5a3411c60c2d392fcec96699585801524502a9c91fea950aa449845773a5730604317c3533cb0f83e2c8f140cf108e6
+DIST yansi-0.5.1.crate 16525 BLAKE2B 3b5a93b98293daae72f53bf3f13bfc05feba8d5b27921f79595f7448fbcb9a0dfa6cd70f467c5735b914c46b7d3592e6cce080c540a458a904308525eb3aa839 SHA512 7b33005a066cc612408a65df6533e8718d1de43efc0fd57416a19dc2b811497570e6e18f100fb26073565e395e711518c27de7d644ae64777713f1a102eb16d2
diff --git a/media-video/rav1e/rav1e-0.5.1.ebuild b/media-video/rav1e/rav1e-0.5.1.ebuild
deleted file mode 100644
index e43b6e22feb2..000000000000
--- a/media-video/rav1e/rav1e-0.5.1.ebuild
+++ /dev/null
@@ -1,244 +0,0 @@
-# Copyright 2017-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-CRATES="
- addr2line-0.17.0
- adler-1.0.2
- adler32-1.2.0
- aho-corasick-0.7.18
- ansi_term-0.12.1
- anyhow-1.0.52
- aom-sys-0.3.0
- arbitrary-0.4.7
- arg_enum_proc_macro-0.3.2
- arrayvec-0.7.2
- assert_cmd-2.0.2
- atty-0.2.14
- autocfg-1.0.1
- av-metrics-0.7.2
- backtrace-0.3.63
- bindgen-0.58.1
- bitflags-1.3.2
- bitstream-io-1.2.0
- bstr-0.2.17
- bumpalo-3.8.0
- bytemuck-1.7.3
- byteorder-1.4.3
- cast-0.2.7
- cc-1.0.72
- cexpr-0.4.0
- cfg-expr-0.7.4
- cfg-if-1.0.0
- chrono-0.4.19
- clang-sys-1.3.0
- clap-2.34.0
- cmake-0.1.46
- color_quant-1.1.0
- console-0.14.1
- crc32fast-1.3.0
- criterion-0.3.5
- criterion-plot-0.4.4
- crossbeam-0.8.1
- crossbeam-channel-0.5.1
- crossbeam-deque-0.8.1
- crossbeam-epoch-0.9.5
- crossbeam-queue-0.3.2
- crossbeam-utils-0.8.5
- csv-1.1.6
- csv-core-0.1.10
- ctor-0.1.21
- dav1d-sys-0.3.4
- deflate-0.8.6
- diff-0.1.12
- difflib-0.4.0
- doc-comment-0.3.3
- either-1.6.1
- encode_unicode-0.3.6
- env_logger-0.8.4
- fern-0.6.0
- getrandom-0.2.3
- gimli-0.26.1
- glob-0.3.0
- half-1.8.2
- heck-0.3.3
- hermit-abi-0.1.19
- humantime-2.1.0
- image-0.23.14
- interpolate_name-0.2.3
- itertools-0.8.2
- itertools-0.10.3
- itoa-0.4.8
- itoa-1.0.1
- jobserver-0.1.24
- js-sys-0.3.55
- lab-0.11.0
- lazy_static-1.4.0
- lazycell-1.3.0
- libc-0.2.112
- libfuzzer-sys-0.3.5
- libloading-0.7.2
- log-0.4.14
- memchr-2.4.1
- memoffset-0.6.5
- miniz_oxide-0.3.7
- miniz_oxide-0.4.4
- nasm-rs-0.2.2
- nom-5.1.2
- noop_proc_macro-0.3.0
- num-derive-0.3.3
- num-integer-0.1.44
- num-iter-0.1.42
- num-rational-0.3.2
- num-traits-0.2.14
- num_cpus-1.13.1
- object-0.27.1
- oorandom-11.1.3
- output_vt100-0.1.2
- paste-1.0.6
- peeking_take_while-0.1.2
- pkg-config-0.3.24
- plotters-0.3.1
- plotters-backend-0.3.2
- plotters-svg-0.3.1
- png-0.16.8
- ppv-lite86-0.2.15
- predicates-2.1.0
- predicates-core-1.0.2
- predicates-tree-1.0.4
- pretty_assertions-0.7.2
- proc-macro2-1.0.34
- quote-1.0.10
- rand-0.8.4
- rand_chacha-0.3.1
- rand_core-0.6.3
- rand_hc-0.3.1
- rayon-1.5.1
- rayon-core-1.9.1
- regex-1.5.4
- regex-automata-0.1.10
- regex-syntax-0.6.25
- rust_hawktracer-0.7.0
- rust_hawktracer_normal_macro-0.4.1
- rust_hawktracer_proc_macro-0.4.1
- rust_hawktracer_sys-0.4.2
- rustc-demangle-0.1.21
- rustc-hash-1.1.0
- rustc_version-0.4.0
- ryu-1.0.9
- same-file-1.0.6
- scan_fmt-0.2.6
- scopeguard-1.1.0
- semver-1.0.4
- serde-1.0.132
- serde_cbor-0.11.2
- serde_derive-1.0.132
- serde_json-1.0.73
- shlex-1.1.0
- signal-hook-0.3.13
- signal-hook-registry-1.4.0
- simd_helpers-0.1.0
- smallvec-1.7.0
- strsim-0.8.0
- strum-0.21.0
- strum_macros-0.21.1
- syn-1.0.83
- system-deps-3.1.2
- termcolor-1.1.2
- terminal_size-0.1.17
- termtree-0.2.3
- textwrap-0.11.0
- thiserror-1.0.30
- thiserror-impl-1.0.30
- time-0.1.43
- tinytemplate-1.2.1
- toml-0.5.8
- unicode-segmentation-1.8.0
- unicode-width-0.1.9
- unicode-xid-0.2.2
- vec_map-0.8.2
- version-compare-0.0.11
- version_check-0.9.3
- wait-timeout-0.2.0
- walkdir-2.3.2
- wasi-0.10.2+wasi-snapshot-preview1
- wasm-bindgen-0.2.78
- wasm-bindgen-backend-0.2.78
- wasm-bindgen-macro-0.2.78
- wasm-bindgen-macro-support-0.2.78
- wasm-bindgen-shared-0.2.78
- web-sys-0.3.55
- which-3.1.1
- winapi-0.3.9
- winapi-i686-pc-windows-gnu-0.4.0
- winapi-util-0.1.5
- winapi-x86_64-pc-windows-gnu-0.4.0
- y4m-0.7.0
-"
-
-inherit cargo
-
-if [[ ${PV} == *9999 ]] ; then
- EGIT_REPO_URI="https://github.com/xiph/rav1e.git"
- inherit git-r3
-else
- SRC_URI="https://github.com/xiph/rav1e/archive/v${PV}.tar.gz -> ${P}.tar.gz
- $(cargo_crate_uris ${CRATES})"
- KEYWORDS="amd64 arm arm64 ppc64 ~riscv x86"
-fi
-
-DESCRIPTION="The fastest and safest AV1 encoder"
-HOMEPAGE="https://github.com/xiph/rav1e/"
-
-LICENSE="0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD BSD-2 Boost-1.0 ISC MIT UoI-NCSA Unlicense ZLIB"
-SLOT="0"
-IUSE="+capi"
-
-ASM_DEP=">=dev-lang/nasm-2.15"
-BDEPEND="
- amd64? ( ${ASM_DEP} )
- capi? ( >=dev-util/cargo-c-0.6.3 )
-"
-
-# Rust
-QA_FLAGS_IGNORED="usr/lib.*/librav1e.* usr/bin/rav1e"
-
-src_unpack() {
- if [[ ${PV} == *9999* ]]; then
- git-r3_src_unpack
- cargo_live_src_unpack
- else
- default
- cargo_src_unpack
- fi
-}
-
-src_compile() {
- export CARGO_HOME="${ECARGO_HOME}"
- local args=$(usex debug "" --release)
-
- cargo build ${args} \
- || die "cargo build failed"
-
- if use capi; then
- cargo cbuild ${args} --target-dir="capi" \
- --prefix="/usr" --libdir="/usr/$(get_libdir)" \
- --library-type=cdylib \
- || die "cargo cbuild failed"
- fi
-}
-
-src_install() {
- export CARGO_HOME="${ECARGO_HOME}"
- local args=$(usex debug --debug "")
-
- if use capi; then
- cargo cinstall $args --target-dir="capi" \
- --prefix="/usr" --libdir="/usr/$(get_libdir)" --destdir="${ED}" \
- --library-type=cdylib \
- || die "cargo cinstall failed"
- fi
-
- cargo_src_install
-}
diff --git a/media-video/rav1e/rav1e-0.6.6.ebuild b/media-video/rav1e/rav1e-0.6.6.ebuild
new file mode 100644
index 000000000000..7de235fa58a7
--- /dev/null
+++ b/media-video/rav1e/rav1e-0.6.6.ebuild
@@ -0,0 +1,307 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# Autogenerated by pycargoebuild 0.6.2
+
+EAPI=8
+
+CRATES="
+ addr2line-0.19.0
+ adler-1.0.2
+ aho-corasick-1.0.1
+ anes-0.1.6
+ anyhow-1.0.71
+ aom-sys-0.3.2
+ arbitrary-0.4.7
+ arg_enum_proc_macro-0.3.2
+ arrayvec-0.7.2
+ assert_cmd-2.0.8
+ atty-0.2.14
+ autocfg-1.1.0
+ av-metrics-0.9.0
+ av1-grain-0.2.2
+ backtrace-0.3.67
+ bindgen-0.61.0
+ bitflags-1.3.2
+ bitstream-io-1.6.0
+ bstr-1.4.0
+ built-0.5.2
+ bumpalo-3.12.2
+ bytemuck-1.13.1
+ byteorder-1.4.3
+ cargo-lock-8.0.3
+ cast-0.3.0
+ cc-1.0.79
+ cexpr-0.6.0
+ cfg-expr-0.15.1
+ cfg-if-1.0.0
+ ciborium-0.2.1
+ ciborium-io-0.2.1
+ ciborium-ll-0.2.1
+ clang-sys-1.6.1
+ clap-3.2.25
+ clap-4.0.32
+ clap_complete-4.0.7
+ clap_derive-4.0.21
+ clap_lex-0.2.4
+ clap_lex-0.3.0
+ cmake-0.1.50
+ color_quant-1.1.0
+ console-0.15.5
+ crc32fast-1.3.2
+ criterion-0.4.0
+ criterion-plot-0.5.0
+ crossbeam-0.8.2
+ crossbeam-channel-0.5.8
+ crossbeam-deque-0.8.3
+ crossbeam-epoch-0.9.14
+ crossbeam-queue-0.3.8
+ crossbeam-utils-0.8.15
+ ctor-0.1.26
+ dav1d-sys-0.7.1
+ diff-0.1.13
+ difflib-0.4.0
+ doc-comment-0.3.3
+ either-1.8.1
+ encode_unicode-0.3.6
+ env_logger-0.8.4
+ errno-0.3.1
+ errno-dragonfly-0.1.2
+ fdeflate-0.3.0
+ fern-0.6.2
+ flate2-1.0.26
+ float-cmp-0.9.0
+ form_urlencoded-1.1.0
+ getrandom-0.2.9
+ gimli-0.27.2
+ git2-0.15.0
+ glob-0.3.1
+ half-1.8.2
+ hashbrown-0.12.3
+ heck-0.4.1
+ hermit-abi-0.1.19
+ hermit-abi-0.2.6
+ hermit-abi-0.3.1
+ idna-0.3.0
+ image-0.24.6
+ indexmap-1.9.3
+ interpolate_name-0.2.3
+ io-lifetimes-1.0.10
+ is-terminal-0.4.7
+ itertools-0.10.5
+ itertools-0.8.2
+ itoa-1.0.6
+ jobserver-0.1.26
+ js-sys-0.3.63
+ lab-0.11.0
+ lazy_static-1.4.0
+ lazycell-1.3.0
+ libc-0.2.144
+ libfuzzer-sys-0.3.5
+ libgit2-sys-0.14.2+1.5.1
+ libloading-0.7.4
+ libz-sys-1.1.9
+ linux-raw-sys-0.3.7
+ log-0.4.17
+ maybe-rayon-0.1.1
+ memchr-2.5.0
+ memoffset-0.8.0
+ minimal-lexical-0.2.1
+ miniz_oxide-0.6.2
+ miniz_oxide-0.7.1
+ nasm-rs-0.2.5
+ new_debug_unreachable-1.0.4
+ nom-7.1.3
+ noop_proc_macro-0.3.0
+ normalize-line-endings-0.3.0
+ num-bigint-0.4.3
+ num-derive-0.3.3
+ num-integer-0.1.45
+ num-rational-0.4.1
+ num-traits-0.2.15
+ num_cpus-1.15.0
+ object-0.30.3
+ once_cell-1.17.1
+ oorandom-11.1.3
+ os_str_bytes-6.5.0
+ output_vt100-0.1.3
+ paste-1.0.12
+ peeking_take_while-0.1.2
+ percent-encoding-2.2.0
+ pkg-config-0.3.27
+ plotters-0.3.4
+ plotters-backend-0.3.4
+ plotters-svg-0.3.3
+ png-0.17.8
+ ppv-lite86-0.2.17
+ predicates-2.1.5
+ predicates-core-1.0.5
+ predicates-tree-1.0.7
+ pretty_assertions-1.3.0
+ proc-macro-error-1.0.4
+ proc-macro-error-attr-1.0.4
+ proc-macro2-1.0.57
+ quickcheck-1.0.3
+ quickcheck_macros-1.0.0
+ quote-1.0.27
+ rand-0.8.5
+ rand_chacha-0.3.1
+ rand_core-0.6.4
+ rayon-1.7.0
+ rayon-core-1.11.0
+ regex-1.8.1
+ regex-automata-0.1.10
+ regex-syntax-0.7.1
+ rust_hawktracer-0.7.0
+ rust_hawktracer_normal_macro-0.4.1
+ rust_hawktracer_proc_macro-0.4.1
+ rust_hawktracer_sys-0.4.2
+ rustc-demangle-0.1.23
+ rustc-hash-1.1.0
+ rustc_version-0.4.0
+ rustix-0.37.19
+ ryu-1.0.13
+ same-file-1.0.6
+ scan_fmt-0.2.6
+ scopeguard-1.1.0
+ semver-1.0.17
+ serde-1.0.163
+ serde-big-array-0.4.1
+ serde_derive-1.0.163
+ serde_json-1.0.96
+ serde_spanned-0.6.1
+ shlex-1.1.0
+ signal-hook-0.3.15
+ signal-hook-registry-1.4.1
+ simd-adler32-0.3.5
+ simd_helpers-0.1.0
+ smallvec-1.10.0
+ syn-1.0.109
+ syn-2.0.16
+ system-deps-6.1.0
+ target-lexicon-0.12.7
+ termcolor-1.2.0
+ terminal_size-0.2.6
+ termtree-0.4.1
+ textwrap-0.16.0
+ thiserror-1.0.40
+ thiserror-impl-1.0.40
+ tinytemplate-1.2.1
+ tinyvec-1.6.0
+ tinyvec_macros-0.1.1
+ toml-0.5.11
+ toml-0.7.3
+ toml_datetime-0.6.1
+ toml_edit-0.19.8
+ unicode-bidi-0.3.13
+ unicode-ident-1.0.8
+ unicode-normalization-0.1.22
+ unicode-width-0.1.10
+ url-2.3.1
+ v_frame-0.3.3
+ vcpkg-0.2.15
+ version-compare-0.1.1
+ version_check-0.9.4
+ wait-timeout-0.2.0
+ walkdir-2.3.3
+ wasi-0.11.0+wasi-snapshot-preview1
+ wasm-bindgen-0.2.86
+ wasm-bindgen-backend-0.2.86
+ wasm-bindgen-macro-0.2.86
+ wasm-bindgen-macro-support-0.2.86
+ wasm-bindgen-shared-0.2.86
+ web-sys-0.3.63
+ which-4.4.0
+ winapi-0.3.9
+ winapi-i686-pc-windows-gnu-0.4.0
+ winapi-util-0.1.5
+ winapi-x86_64-pc-windows-gnu-0.4.0
+ windows-sys-0.42.0
+ windows-sys-0.48.0
+ windows-targets-0.48.0
+ windows_aarch64_gnullvm-0.42.2
+ windows_aarch64_gnullvm-0.48.0
+ windows_aarch64_msvc-0.42.2
+ windows_aarch64_msvc-0.48.0
+ windows_i686_gnu-0.42.2
+ windows_i686_gnu-0.48.0
+ windows_i686_msvc-0.42.2
+ windows_i686_msvc-0.48.0
+ windows_x86_64_gnu-0.42.2
+ windows_x86_64_gnu-0.48.0
+ windows_x86_64_gnullvm-0.42.2
+ windows_x86_64_gnullvm-0.48.0
+ windows_x86_64_msvc-0.42.2
+ windows_x86_64_msvc-0.48.0
+ winnow-0.4.1
+ y4m-0.8.0
+ yansi-0.5.1
+"
+
+inherit cargo
+
+DESCRIPTION="The fastest and safest AV1 encoder"
+HOMEPAGE="https://github.com/xiph/rav1e/"
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/xiph/rav1e.git"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/xiph/rav1e/archive/v${PV}.tar.gz -> ${P}.tar.gz
+ $(cargo_crate_uris ${CRATES})"
+ KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86"
+fi
+
+LICENSE="BSD-2"
+# Dependent crate licenses
+LICENSE+="
+ Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD ISC MIT
+ Unicode-DFS-2016
+"
+SLOT="0"
+IUSE="+capi"
+
+ASM_DEP=">=dev-lang/nasm-2.15"
+BDEPEND="
+ >=virtual/rust-1.65.0
+ amd64? ( ${ASM_DEP} )
+ capi? ( >=dev-util/cargo-c-0.6.3 )
+"
+
+# Rust
+QA_FLAGS_IGNORED="usr/lib.*/librav1e.* usr/bin/rav1e"
+
+src_unpack() {
+ if [[ ${PV} == *9999* ]]; then
+ git-r3_src_unpack
+ cargo_live_src_unpack
+ else
+ default
+ cargo_src_unpack
+ fi
+}
+
+src_compile() {
+ cargo_src_compile
+
+ if use capi; then
+ local args=$(usev !debug --release)
+ cargo cbuild ${args} --target-dir="capi" \
+ --prefix="/usr" --libdir="/usr/$(get_libdir)" \
+ --library-type=cdylib \
+ || die "cargo cbuild failed"
+ fi
+}
+
+src_install() {
+ export CARGO_HOME="${ECARGO_HOME}"
+ local args=$(usev debug --debug)
+
+ if use capi; then
+ cargo cinstall ${args} --target-dir="capi" \
+ --prefix="/usr" --libdir="/usr/$(get_libdir)" --destdir="${ED}" \
+ --library-type=cdylib \
+ || die "cargo cinstall failed"
+ fi
+
+ cargo_src_install
+}
diff --git a/media-video/rav1e/rav1e-0.7.1.ebuild b/media-video/rav1e/rav1e-0.7.1.ebuild
new file mode 100644
index 000000000000..23fc76363178
--- /dev/null
+++ b/media-video/rav1e/rav1e-0.7.1.ebuild
@@ -0,0 +1,319 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# Autogenerated by pycargoebuild 0.6.2
+
+EAPI=8
+
+CRATES="
+ addr2line@0.21.0
+ adler@1.0.2
+ aho-corasick@1.1.2
+ anes@0.1.6
+ anstream@0.6.5
+ anstyle-parse@0.2.3
+ anstyle-query@1.0.2
+ anstyle-wincon@3.0.2
+ anstyle@1.0.4
+ anyhow@1.0.79
+ aom-sys@0.3.3
+ arbitrary@1.3.2
+ arg_enum_proc_macro@0.3.4
+ arrayvec@0.7.4
+ assert_cmd@2.0.12
+ autocfg@1.1.0
+ av-metrics@0.9.1
+ av1-grain@0.2.3
+ backtrace@0.3.69
+ bindgen@0.69.1
+ bitflags@1.3.2
+ bitflags@2.4.1
+ bitstream-io@2.2.0
+ bstr@1.9.0
+ built@0.7.1
+ bumpalo@3.14.0
+ bytemuck@1.14.0
+ byteorder@1.5.0
+ cast@0.3.0
+ cc@1.0.83
+ cexpr@0.6.0
+ cfg-expr@0.15.6
+ cfg-if@1.0.0
+ ciborium-io@0.2.1
+ ciborium-ll@0.2.1
+ ciborium@0.2.1
+ clang-sys@1.7.0
+ clap@4.4.14
+ clap_builder@4.4.14
+ clap_complete@4.4.6
+ clap_derive@4.4.7
+ clap_lex@0.6.0
+ color_quant@1.1.0
+ colorchoice@1.0.0
+ console@0.15.8
+ crc32fast@1.3.2
+ criterion-plot@0.5.0
+ criterion@0.5.1
+ crossbeam-channel@0.5.11
+ crossbeam-deque@0.8.5
+ crossbeam-epoch@0.9.18
+ crossbeam-queue@0.3.11
+ crossbeam-utils@0.8.19
+ crossbeam@0.8.4
+ diff@0.1.13
+ difflib@0.4.0
+ doc-comment@0.3.3
+ either@1.9.0
+ encode_unicode@0.3.6
+ env_logger@0.8.4
+ equivalent@1.0.1
+ errno@0.3.8
+ fdeflate@0.3.3
+ fern@0.6.2
+ flate2@1.0.28
+ form_urlencoded@1.2.1
+ getrandom@0.2.12
+ gimli@0.28.1
+ git2@0.18.1
+ glob@0.3.1
+ half@1.8.2
+ hashbrown@0.14.3
+ heck@0.4.1
+ hermit-abi@0.3.3
+ home@0.5.9
+ idna@0.5.0
+ image@0.24.7
+ indexmap@2.1.0
+ interpolate_name@0.2.4
+ is-terminal@0.4.10
+ itertools@0.10.5
+ itertools@0.11.0
+ itertools@0.12.0
+ itoa@1.0.10
+ jobserver@0.1.27
+ js-sys@0.3.66
+ lab@0.11.0
+ lazy_static@1.4.0
+ lazycell@1.3.0
+ libc@0.2.152
+ libdav1d-sys@0.6.0
+ libfuzzer-sys@0.4.7
+ libgit2-sys@0.16.1+1.7.1
+ libloading@0.8.1
+ libz-sys@1.1.14
+ linux-raw-sys@0.4.12
+ log@0.4.20
+ maybe-rayon@0.1.1
+ memchr@2.7.1
+ minimal-lexical@0.2.1
+ miniz_oxide@0.7.1
+ nasm-rs@0.2.5
+ new_debug_unreachable@1.0.4
+ nom@7.1.3
+ noop_proc_macro@0.3.0
+ nu-ansi-term@0.46.0
+ num-bigint@0.4.4
+ num-derive@0.4.1
+ num-integer@0.1.45
+ num-rational@0.4.1
+ num-traits@0.2.17
+ object@0.32.2
+ once_cell@1.19.0
+ oorandom@11.1.3
+ overload@0.1.1
+ paste@1.0.14
+ peeking_take_while@0.1.2
+ percent-encoding@2.3.1
+ pin-project-lite@0.2.13
+ pkg-config@0.3.28
+ plotters-backend@0.3.5
+ plotters-svg@0.3.5
+ plotters@0.3.5
+ png@0.17.10
+ ppv-lite86@0.2.17
+ predicates-core@1.0.6
+ predicates-tree@1.0.9
+ predicates@3.0.4
+ pretty_assertions@1.4.0
+ prettyplease@0.2.16
+ proc-macro2@1.0.76
+ profiling-procmacros@1.0.13
+ profiling@1.0.13
+ quickcheck@1.0.3
+ quote@1.0.35
+ rand@0.8.5
+ rand_chacha@0.3.1
+ rand_core@0.6.4
+ rayon-core@1.12.0
+ rayon@1.8.0
+ regex-automata@0.4.3
+ regex-syntax@0.8.2
+ regex@1.10.2
+ rustc-demangle@0.1.23
+ rustc-hash@1.1.0
+ rustix@0.38.28
+ ryu@1.0.16
+ same-file@1.0.6
+ scan_fmt@0.2.6
+ semver@1.0.21
+ serde-big-array@0.5.1
+ serde@1.0.195
+ serde_derive@1.0.195
+ serde_json@1.0.111
+ serde_spanned@0.6.5
+ sharded-slab@0.1.7
+ shlex@1.2.0
+ signal-hook-registry@1.4.1
+ signal-hook@0.3.17
+ simd-adler32@0.3.7
+ simd_helpers@0.1.0
+ smallvec@1.11.2
+ syn@2.0.48
+ system-deps@6.2.0
+ target-lexicon@0.12.13
+ terminal_size@0.3.0
+ termtree@0.4.1
+ thiserror-impl@1.0.56
+ thiserror@1.0.56
+ thread_local@1.1.7
+ tinytemplate@1.2.1
+ tinyvec@1.6.0
+ tinyvec_macros@0.1.1
+ toml@0.8.8
+ toml_datetime@0.6.5
+ toml_edit@0.21.0
+ tracing-attributes@0.1.27
+ tracing-chrome@0.7.1
+ tracing-core@0.1.32
+ tracing-log@0.2.0
+ tracing-subscriber@0.3.18
+ tracing@0.1.40
+ unicode-bidi@0.3.14
+ unicode-ident@1.0.12
+ unicode-normalization@0.1.22
+ unicode-width@0.1.11
+ url@2.5.0
+ utf8parse@0.2.1
+ v_frame@0.3.7
+ valuable@0.1.0
+ vcpkg@0.2.15
+ version-compare@0.1.1
+ wait-timeout@0.2.0
+ walkdir@2.4.0
+ wasi@0.11.0+wasi-snapshot-preview1
+ wasm-bindgen-backend@0.2.89
+ wasm-bindgen-macro-support@0.2.89
+ wasm-bindgen-macro@0.2.89
+ wasm-bindgen-shared@0.2.89
+ wasm-bindgen@0.2.89
+ web-sys@0.3.66
+ which@4.4.2
+ winapi-i686-pc-windows-gnu@0.4.0
+ winapi-util@0.1.6
+ winapi-x86_64-pc-windows-gnu@0.4.0
+ winapi@0.3.9
+ windows-sys@0.48.0
+ windows-sys@0.52.0
+ windows-targets@0.48.5
+ windows-targets@0.52.0
+ windows_aarch64_gnullvm@0.48.5
+ windows_aarch64_gnullvm@0.52.0
+ windows_aarch64_msvc@0.48.5
+ windows_aarch64_msvc@0.52.0
+ windows_i686_gnu@0.48.5
+ windows_i686_gnu@0.52.0
+ windows_i686_msvc@0.48.5
+ windows_i686_msvc@0.52.0
+ windows_x86_64_gnu@0.48.5
+ windows_x86_64_gnu@0.52.0
+ windows_x86_64_gnullvm@0.48.5
+ windows_x86_64_gnullvm@0.52.0
+ windows_x86_64_msvc@0.48.5
+ windows_x86_64_msvc@0.52.0
+ winnow@0.5.33
+ y4m@0.8.0
+ yansi@0.5.1
+"
+
+inherit cargo
+
+DESCRIPTION="The fastest and safest AV1 encoder"
+HOMEPAGE="https://github.com/xiph/rav1e/"
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/xiph/rav1e.git"
+ inherit git-r3
+else
+ SRC_URI="
+ https://github.com/xiph/rav1e/archive/v${PV}.tar.gz -> ${P}.tar.gz
+ ${CARGO_CRATE_URIS}
+ "
+ KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86"
+fi
+
+LICENSE="BSD-2"
+# Dependent crate licenses
+LICENSE+="
+ Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD ISC MIT
+ Unicode-DFS-2016
+"
+SLOT="0/$(ver_cut 1-2)"
+IUSE="+capi"
+
+ASM_DEP=">=dev-lang/nasm-2.15"
+BDEPEND="
+ >=virtual/rust-1.70.0
+ amd64? ( ${ASM_DEP} )
+ capi? ( >=dev-util/cargo-c-0.6.3 )
+"
+# only used as a build script to check the version of rav1e...
+DEPEND="dev-libs/libgit2"
+
+# Rust
+QA_FLAGS_IGNORED="usr/lib.*/librav1e.* usr/bin/rav1e"
+
+src_unpack() {
+ if [[ ${PV} == *9999* ]]; then
+ git-r3_src_unpack
+ cargo_live_src_unpack
+ else
+ default
+ cargo_src_unpack
+ fi
+}
+
+src_prepare() {
+ default
+
+ # libgit2-sys unnecessarily(?) requests <libgit2-1.8.0, bump to 2 for now
+ sed -e '/range_version/s/1\.8\.0/2/' \
+ -i "${ECARGO_VENDOR}"/libgit2-sys-0.16.1+1.7.1/build.rs || die
+}
+
+src_compile() {
+ # used by build script to get rav1e repository info
+ export LIBGIT2_NO_VENDOR=1
+
+ cargo_src_compile
+
+ if use capi; then
+ local args=$(usev !debug --release)
+ cargo cbuild ${args} --target-dir="capi" \
+ --prefix="/usr" --libdir="/usr/$(get_libdir)" \
+ --library-type=cdylib \
+ || die "cargo cbuild failed"
+ fi
+}
+
+src_install() {
+ export CARGO_HOME="${ECARGO_HOME}"
+ local args=$(usev debug --debug)
+
+ if use capi; then
+ cargo cinstall ${args} --target-dir="capi" \
+ --prefix="/usr" --libdir="/usr/$(get_libdir)" --destdir="${ED}" \
+ --library-type=cdylib \
+ || die "cargo cinstall failed"
+ fi
+
+ cargo_src_install
+}
diff --git a/media-video/rav1e/rav1e-9999.ebuild b/media-video/rav1e/rav1e-9999.ebuild
index a13cb191165c..6e51df483cb6 100644
--- a/media-video/rav1e/rav1e-9999.ebuild
+++ b/media-video/rav1e/rav1e-9999.ebuild
@@ -1,33 +1,272 @@
-# Copyright 2017-2021 Gentoo Authors
+# Copyright 2023-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
+# Autogenerated by pycargoebuild 0.6.2
+
EAPI=8
-CRATES=""
+CRATES="
+ addr2line@0.21.0
+ adler@1.0.2
+ aho-corasick@1.1.2
+ anes@0.1.6
+ anstream@0.6.5
+ anstyle-parse@0.2.3
+ anstyle-query@1.0.2
+ anstyle-wincon@3.0.2
+ anstyle@1.0.4
+ anyhow@1.0.79
+ aom-sys@0.3.3
+ arbitrary@1.3.2
+ arg_enum_proc_macro@0.3.4
+ arrayvec@0.7.4
+ assert_cmd@2.0.12
+ autocfg@1.1.0
+ av-metrics@0.9.1
+ av1-grain@0.2.3
+ backtrace@0.3.69
+ bindgen@0.69.1
+ bitflags@1.3.2
+ bitflags@2.4.1
+ bitstream-io@2.2.0
+ bstr@1.9.0
+ built@0.7.1
+ bumpalo@3.14.0
+ bytemuck@1.14.0
+ byteorder@1.5.0
+ cast@0.3.0
+ cc@1.0.83
+ cexpr@0.6.0
+ cfg-expr@0.15.6
+ cfg-if@1.0.0
+ ciborium-io@0.2.1
+ ciborium-ll@0.2.1
+ ciborium@0.2.1
+ clang-sys@1.7.0
+ clap@4.4.14
+ clap_builder@4.4.14
+ clap_complete@4.4.6
+ clap_derive@4.4.7
+ clap_lex@0.6.0
+ color_quant@1.1.0
+ colorchoice@1.0.0
+ console@0.15.8
+ crc32fast@1.3.2
+ criterion-plot@0.5.0
+ criterion@0.5.1
+ crossbeam-channel@0.5.11
+ crossbeam-deque@0.8.5
+ crossbeam-epoch@0.9.18
+ crossbeam-queue@0.3.11
+ crossbeam-utils@0.8.19
+ crossbeam@0.8.4
+ diff@0.1.13
+ difflib@0.4.0
+ doc-comment@0.3.3
+ either@1.9.0
+ encode_unicode@0.3.6
+ env_logger@0.8.4
+ equivalent@1.0.1
+ errno@0.3.8
+ fdeflate@0.3.3
+ fern@0.6.2
+ flate2@1.0.28
+ form_urlencoded@1.2.1
+ getrandom@0.2.12
+ gimli@0.28.1
+ git2@0.18.1
+ glob@0.3.1
+ half@1.8.2
+ hashbrown@0.14.3
+ heck@0.4.1
+ hermit-abi@0.3.3
+ home@0.5.9
+ idna@0.5.0
+ image@0.24.7
+ indexmap@2.1.0
+ interpolate_name@0.2.4
+ is-terminal@0.4.10
+ itertools@0.10.5
+ itertools@0.11.0
+ itertools@0.12.0
+ itoa@1.0.10
+ jobserver@0.1.27
+ js-sys@0.3.66
+ lab@0.11.0
+ lazy_static@1.4.0
+ lazycell@1.3.0
+ libc@0.2.152
+ libdav1d-sys@0.6.0
+ libfuzzer-sys@0.4.7
+ libgit2-sys@0.16.1+1.7.1
+ libloading@0.8.1
+ libz-sys@1.1.14
+ linux-raw-sys@0.4.12
+ log@0.4.20
+ maybe-rayon@0.1.1
+ memchr@2.7.1
+ minimal-lexical@0.2.1
+ miniz_oxide@0.7.1
+ nasm-rs@0.2.5
+ new_debug_unreachable@1.0.4
+ nom@7.1.3
+ noop_proc_macro@0.3.0
+ nu-ansi-term@0.46.0
+ num-bigint@0.4.4
+ num-derive@0.4.1
+ num-integer@0.1.45
+ num-rational@0.4.1
+ num-traits@0.2.17
+ object@0.32.2
+ once_cell@1.19.0
+ oorandom@11.1.3
+ overload@0.1.1
+ paste@1.0.14
+ peeking_take_while@0.1.2
+ percent-encoding@2.3.1
+ pin-project-lite@0.2.13
+ pkg-config@0.3.28
+ plotters-backend@0.3.5
+ plotters-svg@0.3.5
+ plotters@0.3.5
+ png@0.17.10
+ ppv-lite86@0.2.17
+ predicates-core@1.0.6
+ predicates-tree@1.0.9
+ predicates@3.0.4
+ pretty_assertions@1.4.0
+ prettyplease@0.2.16
+ proc-macro2@1.0.76
+ profiling-procmacros@1.0.13
+ profiling@1.0.13
+ quickcheck@1.0.3
+ quote@1.0.35
+ rand@0.8.5
+ rand_chacha@0.3.1
+ rand_core@0.6.4
+ rayon-core@1.12.0
+ rayon@1.8.0
+ regex-automata@0.4.3
+ regex-syntax@0.8.2
+ regex@1.10.2
+ rustc-demangle@0.1.23
+ rustc-hash@1.1.0
+ rustix@0.38.28
+ ryu@1.0.16
+ same-file@1.0.6
+ scan_fmt@0.2.6
+ semver@1.0.21
+ serde-big-array@0.5.1
+ serde@1.0.195
+ serde_derive@1.0.195
+ serde_json@1.0.111
+ serde_spanned@0.6.5
+ sharded-slab@0.1.7
+ shlex@1.2.0
+ signal-hook-registry@1.4.1
+ signal-hook@0.3.17
+ simd-adler32@0.3.7
+ simd_helpers@0.1.0
+ smallvec@1.11.2
+ syn@2.0.48
+ system-deps@6.2.0
+ target-lexicon@0.12.13
+ terminal_size@0.3.0
+ termtree@0.4.1
+ thiserror-impl@1.0.56
+ thiserror@1.0.56
+ thread_local@1.1.7
+ tinytemplate@1.2.1
+ tinyvec@1.6.0
+ tinyvec_macros@0.1.1
+ toml@0.8.8
+ toml_datetime@0.6.5
+ toml_edit@0.21.0
+ tracing-attributes@0.1.27
+ tracing-chrome@0.7.1
+ tracing-core@0.1.32
+ tracing-log@0.2.0
+ tracing-subscriber@0.3.18
+ tracing@0.1.40
+ unicode-bidi@0.3.14
+ unicode-ident@1.0.12
+ unicode-normalization@0.1.22
+ unicode-width@0.1.11
+ url@2.5.0
+ utf8parse@0.2.1
+ v_frame@0.3.7
+ valuable@0.1.0
+ vcpkg@0.2.15
+ version-compare@0.1.1
+ wait-timeout@0.2.0
+ walkdir@2.4.0
+ wasi@0.11.0+wasi-snapshot-preview1
+ wasm-bindgen-backend@0.2.89
+ wasm-bindgen-macro-support@0.2.89
+ wasm-bindgen-macro@0.2.89
+ wasm-bindgen-shared@0.2.89
+ wasm-bindgen@0.2.89
+ web-sys@0.3.66
+ which@4.4.2
+ winapi-i686-pc-windows-gnu@0.4.0
+ winapi-util@0.1.6
+ winapi-x86_64-pc-windows-gnu@0.4.0
+ winapi@0.3.9
+ windows-sys@0.48.0
+ windows-sys@0.52.0
+ windows-targets@0.48.5
+ windows-targets@0.52.0
+ windows_aarch64_gnullvm@0.48.5
+ windows_aarch64_gnullvm@0.52.0
+ windows_aarch64_msvc@0.48.5
+ windows_aarch64_msvc@0.52.0
+ windows_i686_gnu@0.48.5
+ windows_i686_gnu@0.52.0
+ windows_i686_msvc@0.48.5
+ windows_i686_msvc@0.52.0
+ windows_x86_64_gnu@0.48.5
+ windows_x86_64_gnu@0.52.0
+ windows_x86_64_gnullvm@0.48.5
+ windows_x86_64_gnullvm@0.52.0
+ windows_x86_64_msvc@0.48.5
+ windows_x86_64_msvc@0.52.0
+ winnow@0.5.33
+ y4m@0.8.0
+ yansi@0.5.1
+"
inherit cargo
+DESCRIPTION="The fastest and safest AV1 encoder"
+HOMEPAGE="https://github.com/xiph/rav1e/"
if [[ ${PV} == *9999 ]] ; then
EGIT_REPO_URI="https://github.com/xiph/rav1e.git"
inherit git-r3
else
- SRC_URI="https://github.com/xiph/rav1e/archive/v${PV}.tar.gz -> ${P}.tar.gz
- $(cargo_crate_uris ${CRATES})"
- KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+ SRC_URI="
+ https://github.com/xiph/rav1e/archive/v${PV}.tar.gz -> ${P}.tar.gz
+ ${CARGO_CRATE_URIS}
+ "
+ KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
fi
-DESCRIPTION="The fastest and safest AV1 encoder"
-HOMEPAGE="https://github.com/xiph/rav1e/"
-
-LICENSE="0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD BSD-2 Boost-1.0 ISC MIT UoI-NCSA Unlicense ZLIB"
-SLOT="0"
+LICENSE="BSD-2"
+# Dependent crate licenses
+LICENSE+="
+ Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD ISC MIT
+ Unicode-DFS-2016
+"
+SLOT="0/$(ver_cut 1-2)"
IUSE="+capi"
ASM_DEP=">=dev-lang/nasm-2.15"
BDEPEND="
+ >=virtual/rust-1.70.0
amd64? ( ${ASM_DEP} )
- capi? ( dev-util/cargo-c )
+ capi? ( >=dev-util/cargo-c-0.6.3 )
"
+# only used as a build script to check the version of rav1e...
+DEPEND="dev-libs/libgit2"
# Rust
QA_FLAGS_IGNORED="usr/lib.*/librav1e.* usr/bin/rav1e"
@@ -43,13 +282,13 @@ src_unpack() {
}
src_compile() {
- export CARGO_HOME="${ECARGO_HOME}"
- local args=$(usex debug "" --release)
+ # used by build script to get rav1e repository info
+ export LIBGIT2_NO_VENDOR=1
- cargo build ${args} \
- || die "cargo build failed"
+ cargo_src_compile
if use capi; then
+ local args=$(usev !debug --release)
cargo cbuild ${args} --target-dir="capi" \
--prefix="/usr" --libdir="/usr/$(get_libdir)" \
--library-type=cdylib \
@@ -59,10 +298,10 @@ src_compile() {
src_install() {
export CARGO_HOME="${ECARGO_HOME}"
- local args=$(usex debug --debug "")
+ local args=$(usev debug --debug)
if use capi; then
- cargo cinstall $args --target-dir="capi" \
+ cargo cinstall ${args} --target-dir="capi" \
--prefix="/usr" --libdir="/usr/$(get_libdir)" --destdir="${ED}" \
--library-type=cdylib \
|| die "cargo cinstall failed"
diff --git a/media-video/recordmydesktop/recordmydesktop-0.3.8.1-r6.ebuild b/media-video/recordmydesktop/recordmydesktop-0.3.8.1-r6.ebuild
index 940e02981cd0..63486710e2ec 100644
--- a/media-video/recordmydesktop/recordmydesktop-0.3.8.1-r6.ebuild
+++ b/media-video/recordmydesktop/recordmydesktop-0.3.8.1-r6.ebuild
@@ -1,15 +1,15 @@
-# Copyright 1999-2018 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
inherit autotools
-DESCRIPTION="A desktop session recorder producing Ogg video/audio files"
-HOMEPAGE="http://recordmydesktop.sourceforge.net/"
+DESCRIPTION="Desktop session recorder producing Ogg video/audio files"
+HOMEPAGE="https://recordmydesktop.sourceforge.net/"
SRC_URI="mirror://sourceforge/recordmydesktop/${P}.tar.gz"
-LICENSE="GPL-2"
+LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="amd64 ppc ppc64 x86"
IUSE="alsa jack"
@@ -44,7 +44,6 @@ src_prepare() {
src_configure() {
econf \
- --enable-dependency-tracking \
$(use_enable !alsa oss) \
$(use_enable jack)
}
diff --git a/media-video/rovclock/rovclock-0.6e-r1.ebuild b/media-video/rovclock/rovclock-0.6e-r2.ebuild
index b8c5533f085a..84034d717d5e 100644
--- a/media-video/rovclock/rovclock-0.6e-r1.ebuild
+++ b/media-video/rovclock/rovclock-0.6e-r2.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
inherit toolchain-funcs
@@ -9,15 +9,11 @@ DESCRIPTION="Overclocking utility for ATI Radeon cards"
HOMEPAGE="http://www.hasw.net/linux/"
SRC_URI="http://www.hasw.net/linux/${P}.tar.bz2"
-LICENSE="GPL-2"
+LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="amd64 x86"
-IUSE=""
-src_prepare() {
- eapply "${FILESDIR}"/${P}-ldflags.patch
- default
-}
+PATCHES=( "${FILESDIR}"/${P}-ldflags.patch )
src_compile() {
emake CC="$(tc-getCC)" CFLAGS="${CFLAGS}"
@@ -25,5 +21,5 @@ src_compile() {
src_install() {
dosbin rovclock
- dodoc ChangeLog README
+ einstalldocs
}
diff --git a/media-video/rtmpdump/rtmpdump-9999.ebuild b/media-video/rtmpdump/rtmpdump-9999.ebuild
index 8e564b4e273a..1cd90598896a 100644
--- a/media-video/rtmpdump/rtmpdump-9999.ebuild
+++ b/media-video/rtmpdump/rtmpdump-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="8"
@@ -58,7 +58,6 @@ src_prepare() {
-e 's:OPT:OPTS:' \
-e 's:CFLAGS=.*:& $(OPT):' librtmp/Makefile \
|| die "failed to fix Makefile"
- use ssl && use !gnutls && eapply "${FILESDIR}/${PN}-openssl-1.1-v2.patch"
default
multilib_copy_sources
}
diff --git a/media-video/shotcut/Manifest b/media-video/shotcut/Manifest
index 3ee3a2088c56..40c2ec9173eb 100644
--- a/media-video/shotcut/Manifest
+++ b/media-video/shotcut/Manifest
@@ -1,2 +1,2 @@
-DIST shotcut-22.04.25.tar.gz 4600941 BLAKE2B 5f8ba47897c3a8ce078a35c06c90454c8c1df9bd9bd3330466a1be869b7b9c9ec45aaf6d3b5aad0587857ff5613ef22f15c4b5142c8247b97c81bb8345b3ff4d SHA512 e5c51868a7f6e2ead3993d8577b5439408e9c54ee20274658c822666e2ca5fceb7d2360d02b8808b464c69005d83b6742a3a750ec244ffe69f82f2abd5ad39fc
-DIST shotcut-22.09.23.tar.gz 9096319 BLAKE2B 4023ca82f72e5fb3dca9dfed18912f0b8a99ef5915b0bb1ca983269b99b4b057747558801e2dfe65c89e68c4e9fcfc0a1cc9bcc24ce4d44d1e5453b94d639da2 SHA512 3c680a36ed4e22e857a824eaa25a63aa6cb830751e9730d4cd5e0a6fa2b087d9b63900232155fe5f656a4d70ae27dabc5fad52ed39d6b53f99188c954f9896d8
+DIST shotcut-23.09.29.tar.gz 11908874 BLAKE2B e107d5f0284afd54b31eff72220d4224621da7b46fff6345d729ea0464b8967bc3329a12121aeedcdec6bcce7f4c6394065463269708a4bd4d29cc4389bc1706 SHA512 a829c2eda51db4fe20fa207e3e98ce0fb1e777af8ac495aa1ad20407bb91a41fed569298611288e04a528f1120fc89292d0333d3e445dce1ab86a799dea78e16
+DIST shotcut-24.02.19.tar.gz 12077171 BLAKE2B ac7ab500f8817007ec981a94a2b7a414a4d981c630bd289fdf70eb2f1d493391dc74e372d82273aa4d81a2a9b685b1275e30ab47f6d6c5ce44812c286f43ed54 SHA512 60fc8874622db7ebb3e345ac8ba23a0d7c5e60c929c5955189b71540bbd5946e4dc0db0ad119a4ba3659f2d6e4dd64652be3dabc82b3c01feefb5619685ec454
diff --git a/media-video/shotcut/shotcut-22.04.25-r1.ebuild b/media-video/shotcut/shotcut-22.04.25-r1.ebuild
deleted file mode 100644
index beb71ab8d58c..000000000000
--- a/media-video/shotcut/shotcut-22.04.25-r1.ebuild
+++ /dev/null
@@ -1,66 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit qmake-utils xdg
-
-DESCRIPTION="A free, open source, cross-platform video editor"
-HOMEPAGE="https://www.shotcut.org/ https://github.com/mltframework/shotcut/"
-if [[ ${PV} != 9999* ]] ; then
- SRC_URI="https://github.com/mltframework/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~x86"
-else
- inherit git-r3
- EGIT_REPO_URI="https://github.com/mltframework/shotcut/"
-fi
-
-IUSE="debug"
-
-LICENSE="GPL-3+"
-SLOT="0"
-
-BDEPEND="
- dev-qt/linguist-tools:5
-"
-COMMON_DEPEND="
- dev-qt/qtcore:5
- dev-qt/qtdeclarative:5[widgets]
- dev-qt/qtgui:5
- dev-qt/qtmultimedia:5
- dev-qt/qtnetwork:5
- dev-qt/qtopengl:5
- dev-qt/qtprintsupport:5
- dev-qt/qtquickcontrols2:5
- dev-qt/qtsql:5
- dev-qt/qtwebsockets:5
- dev-qt/qtwidgets:5
- dev-qt/qtxml:5
- >=media-libs/mlt-7.6.0[ffmpeg,frei0r,fftw(+),jack,opengl,qt5,sdl,xml]
- media-video/ffmpeg
-"
-DEPEND="${COMMON_DEPEND}
- dev-qt/qtconcurrent:5
- dev-qt/qtx11extras:5
-"
-RDEPEND="${COMMON_DEPEND}
- dev-qt/qtgraphicaleffects:5
- dev-qt/qtquickcontrols:5
- virtual/jack
-"
-
-src_configure() {
- local myqmakeargs=(
- PREFIX="${EPREFIX}/usr"
- SHOTCUT_VERSION="${PV}"
- DEFINES+=SHOTCUT_NOUPGRADE
- )
- use debug || myqmakeargs+=(DEFINES+=NDEBUG)
-
- eqmake5 "${myqmakeargs[@]}"
-}
-
-src_install() {
- emake INSTALL_ROOT="${D}" install
- einstalldocs
-}
diff --git a/media-video/shotcut/shotcut-22.09.23.ebuild b/media-video/shotcut/shotcut-23.09.29.ebuild
index 937c3ecd7cc2..88276adaf800 100644
--- a/media-video/shotcut/shotcut-22.09.23.ebuild
+++ b/media-video/shotcut/shotcut-23.09.29.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -9,7 +9,7 @@ DESCRIPTION="A free, open source, cross-platform video editor"
HOMEPAGE="https://www.shotcut.org/ https://github.com/mltframework/shotcut/"
if [[ ${PV} != 9999* ]] ; then
SRC_URI="https://github.com/mltframework/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~x86"
+ KEYWORDS="~amd64"
else
inherit git-r3
EGIT_REPO_URI="https://github.com/mltframework/shotcut/"
@@ -21,34 +21,29 @@ LICENSE="GPL-3+"
SLOT="0"
BDEPEND="
- dev-qt/linguist-tools:5
+ dev-qt/qttools:6[linguist]
"
-COMMON_DEPEND="
- dev-qt/qtdeclarative:5[widgets]
- dev-qt/qtmultimedia:5
- dev-qt/qtnetwork:5
- dev-qt/qtopengl:5
- dev-qt/qtquickcontrols2:5
- dev-qt/qtsql:5
- dev-qt/qtwebsockets:5
- dev-qt/qtwidgets:5
- dev-qt/qtxml:5
- >=media-libs/mlt-7.8.0[ffmpeg,frei0r,fftw(+),jack,opengl,qt5,sdl,xml]
+DEPEND="
+ dev-qt/qtbase:6[concurrent,gui,network,opengl,sql,widgets,xml]
+ dev-qt/qtdeclarative:6[widgets]
+ dev-qt/qtmultimedia:6
+ >=media-libs/mlt-7.18.0[ffmpeg,frei0r,jack,opengl,sdl,xml]
media-video/ffmpeg
"
-DEPEND="${COMMON_DEPEND}
- dev-qt/qtconcurrent:5
- dev-qt/qtx11extras:5
-"
-RDEPEND="${COMMON_DEPEND}
- dev-qt/qtgraphicaleffects:5
+
+RDEPEND="${DEPEND}
virtual/jack
"
src_configure() {
CMAKE_BUILD_TYPE=$(usex debug Debug Release)
+ if [[ ${PV} != 9999* ]] ; then
+ SHOTCUT_VERSION="${PV}"
+ else
+ SHOTCUT_VERSION="$(git log --date=format:'%y.%m.%d' -1 --format='%ad')"
+ fi
local mycmakeargs=(
- -DSHOTCUT_VERSION="${PV}"
+ -DSHOTCUT_VERSION="${SHOTCUT_VERSION}"
)
use debug || append-cxxflags "-DNDEBUG"
append-cxxflags "-DSHOTCUT_NOUPGRADE"
diff --git a/media-video/shotcut/shotcut-24.02.19.ebuild b/media-video/shotcut/shotcut-24.02.19.ebuild
new file mode 100644
index 000000000000..e631c4436c6a
--- /dev/null
+++ b/media-video/shotcut/shotcut-24.02.19.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake flag-o-matic xdg
+
+DESCRIPTION="A free, open source, cross-platform video editor"
+HOMEPAGE="https://www.shotcut.org/ https://github.com/mltframework/shotcut/"
+if [[ ${PV} != 9999* ]] ; then
+ SRC_URI="https://github.com/mltframework/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64"
+else
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/mltframework/shotcut/"
+fi
+
+IUSE="debug"
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+BDEPEND="
+ dev-qt/qttools:6[linguist]
+"
+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
+"
+
+RDEPEND="${DEPEND}
+ virtual/jack
+"
+
+src_configure() {
+ CMAKE_BUILD_TYPE=$(usex debug Debug Release)
+ if [[ ${PV} != 9999* ]] ; then
+ SHOTCUT_VERSION="${PV}"
+ else
+ SHOTCUT_VERSION="$(git log --date=format:'%y.%m.%d' -1 --format='%ad')"
+ fi
+ local mycmakeargs=(
+ -DSHOTCUT_VERSION="${SHOTCUT_VERSION}"
+ )
+ use debug || append-cxxflags "-DNDEBUG"
+ append-cxxflags "-DSHOTCUT_NOUPGRADE"
+ cmake_src_configure
+}
diff --git a/media-video/shotcut/shotcut-9999.ebuild b/media-video/shotcut/shotcut-9999.ebuild
index 937c3ecd7cc2..88276adaf800 100644
--- a/media-video/shotcut/shotcut-9999.ebuild
+++ b/media-video/shotcut/shotcut-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -9,7 +9,7 @@ DESCRIPTION="A free, open source, cross-platform video editor"
HOMEPAGE="https://www.shotcut.org/ https://github.com/mltframework/shotcut/"
if [[ ${PV} != 9999* ]] ; then
SRC_URI="https://github.com/mltframework/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~x86"
+ KEYWORDS="~amd64"
else
inherit git-r3
EGIT_REPO_URI="https://github.com/mltframework/shotcut/"
@@ -21,34 +21,29 @@ LICENSE="GPL-3+"
SLOT="0"
BDEPEND="
- dev-qt/linguist-tools:5
+ dev-qt/qttools:6[linguist]
"
-COMMON_DEPEND="
- dev-qt/qtdeclarative:5[widgets]
- dev-qt/qtmultimedia:5
- dev-qt/qtnetwork:5
- dev-qt/qtopengl:5
- dev-qt/qtquickcontrols2:5
- dev-qt/qtsql:5
- dev-qt/qtwebsockets:5
- dev-qt/qtwidgets:5
- dev-qt/qtxml:5
- >=media-libs/mlt-7.8.0[ffmpeg,frei0r,fftw(+),jack,opengl,qt5,sdl,xml]
+DEPEND="
+ dev-qt/qtbase:6[concurrent,gui,network,opengl,sql,widgets,xml]
+ dev-qt/qtdeclarative:6[widgets]
+ dev-qt/qtmultimedia:6
+ >=media-libs/mlt-7.18.0[ffmpeg,frei0r,jack,opengl,sdl,xml]
media-video/ffmpeg
"
-DEPEND="${COMMON_DEPEND}
- dev-qt/qtconcurrent:5
- dev-qt/qtx11extras:5
-"
-RDEPEND="${COMMON_DEPEND}
- dev-qt/qtgraphicaleffects:5
+
+RDEPEND="${DEPEND}
virtual/jack
"
src_configure() {
CMAKE_BUILD_TYPE=$(usex debug Debug Release)
+ if [[ ${PV} != 9999* ]] ; then
+ SHOTCUT_VERSION="${PV}"
+ else
+ SHOTCUT_VERSION="$(git log --date=format:'%y.%m.%d' -1 --format='%ad')"
+ fi
local mycmakeargs=(
- -DSHOTCUT_VERSION="${PV}"
+ -DSHOTCUT_VERSION="${SHOTCUT_VERSION}"
)
use debug || append-cxxflags "-DNDEBUG"
append-cxxflags "-DSHOTCUT_NOUPGRADE"
diff --git a/media-video/simplescreenrecorder/simplescreenrecorder-0.4.4-r1.ebuild b/media-video/simplescreenrecorder/simplescreenrecorder-0.4.4-r3.ebuild
index f580b5a24f59..735efe53c501 100644
--- a/media-video/simplescreenrecorder/simplescreenrecorder-0.4.4-r1.ebuild
+++ b/media-video/simplescreenrecorder/simplescreenrecorder-0.4.4-r3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -30,7 +30,7 @@ RDEPEND="
dev-qt/qtwidgets:5
dev-qt/qtx11extras:5
media-libs/alsa-lib:0=
- media-video/ffmpeg[vorbis?,vpx?,x264?,mp3?,theora?]
+ media-video/ffmpeg:=[vorbis?,vpx?,x264?,mp3?,theora?]
x11-libs/libX11[${MULTILIB_USEDEP}]
x11-libs/libXext
x11-libs/libXfixes[${MULTILIB_USEDEP}]
@@ -39,7 +39,7 @@ RDEPEND="
virtual/glu[${MULTILIB_USEDEP}]
jack? ( virtual/jack )
opengl? ( media-libs/libglvnd[${MULTILIB_USEDEP},X] )
- pulseaudio? ( media-sound/pulseaudio )
+ pulseaudio? ( media-libs/libpulse )
v4l? ( media-libs/libv4l )
"
DEPEND="${RDEPEND}"
diff --git a/media-video/simplescreenrecorder/simplescreenrecorder-0.4.4.ebuild b/media-video/simplescreenrecorder/simplescreenrecorder-0.4.4.ebuild
deleted file mode 100644
index e732de6afde8..000000000000
--- a/media-video/simplescreenrecorder/simplescreenrecorder-0.4.4.ebuild
+++ /dev/null
@@ -1,99 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PKGNAME="ssr"
-inherit cmake-multilib flag-o-matic xdg
-
-DESCRIPTION="A Simple Screen Recorder"
-HOMEPAGE="https://www.maartenbaert.be/simplescreenrecorder/"
-if [[ ${PV} = 9999 ]] ; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/MaartenBaert/${PKGNAME}.git"
- EGIT_BOOTSTRAP=""
-else
- SRC_URI="https://github.com/MaartenBaert/${PKGNAME}/archive/${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="amd64 x86"
- S="${WORKDIR}/${PKGNAME}-${PV}"
-fi
-
-LICENSE="GPL-3"
-SLOT="0"
-IUSE="+asm jack mp3 opengl pulseaudio theora v4l vorbis vpx x264"
-
-REQUIRED_USE="abi_x86_32? ( opengl )"
-
-RDEPEND="
- dev-qt/qtcore:5
- dev-qt/qtgui:5
- dev-qt/qtwidgets:5
- dev-qt/qtx11extras:5
- media-libs/alsa-lib:0=
- media-video/ffmpeg[vorbis?,vpx?,x264?,mp3?,theora?]
- x11-libs/libX11[${MULTILIB_USEDEP}]
- x11-libs/libXext
- x11-libs/libXfixes[${MULTILIB_USEDEP}]
- x11-libs/libXi
- x11-libs/libXinerama
- virtual/glu[${MULTILIB_USEDEP}]
- jack? ( virtual/jack )
- opengl? ( media-libs/libglvnd[${MULTILIB_USEDEP},X] )
- pulseaudio? ( media-sound/pulseaudio )
- v4l? ( media-libs/libv4l )
-"
-DEPEND="${RDEPEND}"
-BDEPEND="dev-qt/linguist-tools:5"
-
-pkg_pretend() {
- if [[ "${ABI}" == amd64 ]] ; then
- einfo "You may want to add USE flag 'abi_x86_32' when running a 64bit system"
- einfo "When added 32bit GLInject libraries are also included. This is"
- einfo "required if you want to use OpenGL recording on 32bit applications."
- einfo
- fi
-
- if has_version media-video/ffmpeg[x264] && has_version media-libs/x264[10bit] ; then
- ewarn
- ewarn "media-libs/x264 is currently built with 10bit useflag."
- ewarn "This is known to prevent simplescreenrecorder from recording x264 videos"
- ewarn "correctly. Please build media-libs/x264 without 10bit if you want to "
- ewarn "record videos with x264."
- ewarn
- fi
-}
-
-pkg_setup() {
- # Qt requires -fPIC. Compile fails otherwise.
- # Recently removed from the default compile options upstream
- # https://github.com/MaartenBaert/ssr/commit/25fe1743058f0d1f95f6fbb39014b6ac146b5180
- append-flags -fPIC
-}
-
-multilib_src_configure() {
- local mycmakeargs=(
- -DENABLE_JACK_METADATA="$(multilib_native_usex jack)"
- -DENABLE_X86_ASM="$(usex asm)"
- -DWITH_OPENGL_RECORDING="$(usex opengl)"
- -DWITH_PULSEAUDIO="$(multilib_native_usex pulseaudio)"
- -DWITH_JACK="$(multilib_native_usex jack)"
- -DWITH_GLINJECT="$(usex opengl)"
- -DWITH_V4L2="$(multilib_native_usex v4l)"
- )
-
- if multilib_is_native_abi ; then
- mycmakeargs+=(
- -DENABLE_32BIT_GLINJECT="false"
- -DWITH_QT5="true"
- )
- else
- mycmakeargs+=(
- # https://bugs.gentoo.org/660438
- -DCMAKE_INSTALL_LIB32DIR="$(get_libdir)"
- -DENABLE_32BIT_GLINJECT="true"
- -DWITH_SIMPLESCREENRECORDER="false"
- )
- fi
-
- cmake_src_configure
-}
diff --git a/media-video/simplescreenrecorder/simplescreenrecorder-9999.ebuild b/media-video/simplescreenrecorder/simplescreenrecorder-9999.ebuild
index a365a63c3e5d..5816cb829b9c 100644
--- a/media-video/simplescreenrecorder/simplescreenrecorder-9999.ebuild
+++ b/media-video/simplescreenrecorder/simplescreenrecorder-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -30,7 +30,7 @@ RDEPEND="
dev-qt/qtwidgets:5
dev-qt/qtx11extras:5
media-libs/alsa-lib:0=
- media-video/ffmpeg[vorbis?,vpx?,x264?,mp3?,theora?]
+ media-video/ffmpeg:=[vorbis?,vpx?,x264?,mp3?,theora?]
x11-libs/libX11[${MULTILIB_USEDEP}]
x11-libs/libXext
x11-libs/libXfixes[${MULTILIB_USEDEP}]
@@ -39,7 +39,7 @@ RDEPEND="
virtual/glu[${MULTILIB_USEDEP}]
jack? ( virtual/jack )
opengl? ( media-libs/libglvnd[${MULTILIB_USEDEP},X] )
- pulseaudio? ( media-sound/pulseaudio )
+ pulseaudio? ( media-libs/libpulse )
v4l? ( media-libs/libv4l )
"
DEPEND="${RDEPEND}"
diff --git a/media-video/smplayer/Manifest b/media-video/smplayer/Manifest
index dd1aab8f1721..6f540ff44320 100644
--- a/media-video/smplayer/Manifest
+++ b/media-video/smplayer/Manifest
@@ -1 +1 @@
-DIST smplayer-22.2.0.tar.bz2 5165034 BLAKE2B b10103907dc334f65bf1d0dfc55baef5fe330e84eabb0534d77b4ebeb6b93f677b5f39b9e8ab60f8a7fdaf405fee8ab683e7c5e284256b04a6628603fc476540 SHA512 62916d9df8493efbe810a5de36c2d45fd2e39173e061060c749c87ac498f43ca08caa073bd04b05e3e9de72c5efdf9bece8e08f4c57a0d283d9f78b7687e2d14
+DIST smplayer-23.6.0.tar.bz2 5164535 BLAKE2B 27200ad658a2acfc3c93c48ed59fca2333b5935d5b7e955cb12dd0c33566aaf0288c68081a68578904076e467bb3b39f9a5bb702d7ad8be0474aa400e40ce6e0 SHA512 097085ffae11b0d065f0822e36466f3e934d4484de29146deba66de14bfd4abcaa8dfd91aa5890921f336a99c3392650e932102812bf401a843d7a86dfc4996d
diff --git a/media-video/smplayer/metadata.xml b/media-video/smplayer/metadata.xml
index 967b1ca67274..56452d8c0459 100644
--- a/media-video/smplayer/metadata.xml
+++ b/media-video/smplayer/metadata.xml
@@ -9,16 +9,6 @@
<email>media-video@gentoo.org</email>
<name>Gentoo Video project</name>
</maintainer>
- <use>
- <flag name="autoshutdown">
- Enable the option to shutdown your computer after finishing the playlist.
- This requires <pkg>dev-qt/qtdbus</pkg> as dependency.
- </flag>
- <flag name="mpris">Enable support for MPRIS2 (Media Player Remote
- Interfacing Specification, version 2), a DBus interface for remote
- control, which requires <pkg>dev-qt/qtdbus</pkg> as dependency.
- </flag>
- </use>
<upstream>
<remote-id type="sourceforge">smplayer</remote-id>
</upstream>
diff --git a/media-video/smplayer/smplayer-22.2.0.ebuild b/media-video/smplayer/smplayer-23.6.0.ebuild
index 34a869fc45ab..0e610c410625 100644
--- a/media-video/smplayer/smplayer-22.2.0.ebuild
+++ b/media-video/smplayer/smplayer-23.6.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2007-2022 Gentoo Authors
+# Copyright 2007-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -11,27 +11,24 @@ PLOCALE_BACKUP="en_US"
inherit plocale qmake-utils toolchain-funcs xdg
DESCRIPTION="Great Qt GUI front-end for mplayer/mpv"
-HOMEPAGE="https://www.smplayer.eu/"
+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="autoshutdown bidi debug mpris"
+IUSE="bidi debug"
-BDEPEND="dev-qt/linguist-tools:5"
DEPEND="
dev-qt/qtcore:5
dev-qt/qtdbus:5
dev-qt/qtgui:5=
dev-qt/qtnetwork:5[ssl]
- dev-qt/qtscript:5
dev-qt/qtsingleapplication[X,qt5(+)]
dev-qt/qtwidgets:5
dev-qt/qtxml:5
sys-libs/zlib
- autoshutdown? ( dev-qt/qtdbus:5 )
- mpris? ( dev-qt/qtdbus:5 )
+ x11-libs/libX11
"
RDEPEND="${DEPEND}
|| (
@@ -39,6 +36,7 @@ RDEPEND="${DEPEND}
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
@@ -68,24 +66,12 @@ src_prepare() {
sed -e 's:DEFINES += SHARE_WIDGET:#&:' \
-i src/smplayer.pro || die
- # Toggle autoshutdown option which pulls in dbus, bug #524392
- if ! use autoshutdown ; then
- sed -e 's:DEFINES += AUTO_SHUTDOWN_PC:#&:' \
- -i src/smplayer.pro || die
- fi
-
# Turn debug message flooding off
if ! use debug ; then
sed -e 's:#\(DEFINES += NO_DEBUG_ON_CONSOLE\):\1:' \
-i src/smplayer.pro || die
fi
- # MPRIS2 pulls in dbus, bug #553710
- if ! use mpris ; then
- sed -e 's:DEFINES += MPRIS2:#&:' \
- -i src/smplayer.pro || die
- fi
-
# Commented out because it gives false positives
#plocale_find_changes "${S}"/src/translations ${PN}_ .ts
@@ -96,7 +82,7 @@ src_prepare() {
src_configure() {
cd src || die
- eqmake5
+ eqmake5 QT_MAJOR_VERSION=5
}
gen_translation() {
@@ -116,7 +102,7 @@ src_compile() {
src_install() {
# remove unneeded copies of the GPL
- rm -f Copying* docs/*/gpl.html || die
+ rm Copying* docs/*/gpl.html || die
# don't install empty dirs
rmdir --ignore-fail-on-non-empty docs/* || die
diff --git a/media-video/sonic-snap/sonic-snap-1.7-r1.ebuild b/media-video/sonic-snap/sonic-snap-1.7-r1.ebuild
index aa33db7cb88a..0d703945f44d 100644
--- a/media-video/sonic-snap/sonic-snap-1.7-r1.ebuild
+++ b/media-video/sonic-snap/sonic-snap-1.7-r1.ebuild
@@ -1,12 +1,13 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
+
inherit linux-info toolchain-funcs
DESCRIPTION="Webcam app for sn9c10x based camera controllers (with optional MPEG4 support)"
-HOMEPAGE="http://www.stolk.org/sonic-snap/"
-SRC_URI="http://www.stolk.org/${PN}/downloads/${P}.tar.gz"
+HOMEPAGE="https://www.stolk.org/sonic-snap/"
+SRC_URI="https://www.stolk.org/${PN}/downloads/${P}.tar.gz"
LICENSE="GPL-1"
SLOT="0"
@@ -14,15 +15,15 @@ KEYWORDS="~amd64 ~mips ~ppc ~ppc64 ~sparc ~x86"
IUSE="mpeg"
DEPEND="
- x11-libs/fltk:1
- mpeg? ( >=media-libs/libfame-0.9.1 )
sys-libs/zlib
- x11-libs/libXdmcp
- x11-libs/libXau
- x11-libs/libXrender
+ x11-libs/fltk:1
x11-libs/libX11
+ x11-libs/libXau
+ x11-libs/libXdmcp
x11-libs/libXext
x11-libs/libXft
+ x11-libs/libXrender
+ mpeg? ( >=media-libs/libfame-0.9.1 )
"
RDEPEND="${DEPEND}"
@@ -37,6 +38,7 @@ src_prepare() {
-e "s|\$(HOME)/lib|/usr/$(get_libdir)|" \
-e "s|CFLAGS=|CFLAGS= ${CXXFLAGS} |" \
-e "s|LFLAGS=|LFLAGS= ${LDFLAGS} |" \
+ -e "s|g++-4.0 -O3 -o|$(tc-getCXX) ${CXXFLAGS} ${LDFLAGS} -o|" \
-e "s/g++-4.0 -O3/$(tc-getCXX)/" \
Makefile || die
@@ -45,15 +47,9 @@ src_prepare() {
default
}
-src_compile() {
- make || die '"make" failed.'
-}
-
src_install() {
dodir /usr/bin
- make DESTDIR="${D}" install || die '"make install" failed.'
-
- dodoc ChangeLog README
+ default
doman debian/sonic-snap.1
}
diff --git a/media-video/subliminal/files/subliminal-2.1.0-rarfile-4.0-compat.patch b/media-video/subliminal/files/subliminal-2.1.0-rarfile-4.0-compat.patch
new file mode 100644
index 000000000000..55b8b9484808
--- /dev/null
+++ b/media-video/subliminal/files/subliminal-2.1.0-rarfile-4.0-compat.patch
@@ -0,0 +1,25 @@
+https://github.com/Diaoul/subliminal/pull/1045
+
+From e9ed47e61a63ad0e0cdb036375ffa5a144953f1e Mon Sep 17 00:00:00 2001
+From: Eduardo Soares <eduardosoares.pt@gmail.com>
+Date: Fri, 24 Dec 2021 17:08:04 +0000
+Subject: [PATCH] Fix removal of custom check from rarfile dependency
+
+---
+ subliminal/providers/legendastv.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/subliminal/providers/legendastv.py b/subliminal/providers/legendastv.py
+index 9d696ca24..bf57a22dc 100644
+--- a/subliminal/providers/legendastv.py
++++ b/subliminal/providers/legendastv.py
+@@ -161,7 +161,7 @@ def __init__(self, username=None, password=None):
+
+ # Provider needs UNRAR installed. If not available raise ConfigurationError
+ try:
+- rarfile.custom_check([rarfile.UNRAR_TOOL], True)
++ rarfile.tool_setup(True, False, False, True)
+ except rarfile.RarExecError:
+ raise ConfigurationError('UNRAR tool not available')
+
+
diff --git a/media-video/subliminal/subliminal-2.1.0-r1.ebuild b/media-video/subliminal/subliminal-2.1.0-r2.ebuild
index 9986c6f7daa9..fa63fbe0edd3 100644
--- a/media-video/subliminal/subliminal-2.1.0-r1.ebuild
+++ b/media-video/subliminal/subliminal-2.1.0-r2.ebuild
@@ -1,11 +1,11 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-PYTHON_COMPAT=( python3_{9..10} )
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9..11} )
PYTHON_REQ_USE='xml(+)'
-DISTUTILS_USE_SETUPTOOLS=rdepend
inherit distutils-r1
@@ -15,6 +15,7 @@ if [[ ${PV} == 9999 ]] ; then
EGIT_BRANCH="develop"
else
SRC_URI="https://github.com/Diaoul/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="amd64 ~arm ~arm64 ~x86"
fi
DESCRIPTION="Python library to search and download subtitles"
@@ -23,7 +24,6 @@ SRC_URI+=" test? ( mirror://sourceforge/matroska/test_files/matroska_test_w1_1.z
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~x86"
BDEPEND="
test? (
@@ -51,7 +51,8 @@ RDEPEND="
"
PATCHES=(
- "${FILESDIR}/${P}-fix-pytest-warning.patch"
+ "${FILESDIR}"/${P}-fix-pytest-warning.patch
+ "${FILESDIR}"/${PN}-2.1.0-rarfile-4.0-compat.patch
)
distutils_enable_tests pytest
@@ -81,16 +82,14 @@ python_prepare_all() {
}
python_test() {
- local skipped_tests=(
+ 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
)
- # Two tests that list providers rely on entry points
- # so they need the package to be installed
- distutils_install_for_testing
- pytest -vv --ignore ${PN}/test/test_core.py ${skipped_tests[@]/#/--deselect } \
- || die "Tests fail with ${EPYTHON}"
+ epytest
}
diff --git a/media-video/subliminal/subliminal-9999.ebuild b/media-video/subliminal/subliminal-9999.ebuild
index 792931859484..a3c58afc2d5e 100644
--- a/media-video/subliminal/subliminal-9999.ebuild
+++ b/media-video/subliminal/subliminal-9999.ebuild
@@ -1,11 +1,11 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-PYTHON_COMPAT=( python3_{9..10} )
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9..11} )
PYTHON_REQ_USE='xml(+)'
-DISTUTILS_USE_SETUPTOOLS=rdepend
inherit distutils-r1
@@ -15,6 +15,7 @@ if [[ ${PV} == 9999 ]] ; then
EGIT_BRANCH="develop"
else
SRC_URI="https://github.com/Diaoul/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm ~arm64 ~x86"
fi
DESCRIPTION="Python library to search and download subtitles"
@@ -50,7 +51,8 @@ RDEPEND="
"
PATCHES=(
- "${FILESDIR}/${PN}-2.1.0-fix-pytest-warning.patch"
+ "${FILESDIR}"/${P}-fix-pytest-warning.patch
+ "${FILESDIR}"/${PN}-2.1.0-rarfile-4.0-compat.patch
)
distutils_enable_tests pytest
@@ -80,16 +82,14 @@ python_prepare_all() {
}
python_test() {
- local skipped_tests=(
+ 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
)
- # Two tests that list providers rely on entry points
- # so they need the package to be installed
- distutils_install_for_testing
- pytest -vv --ignore ${PN}/test/test_core.py ${skipped_tests[@]/#/--deselect } \
- || die "Tests fail with ${EPYTHON}"
+ epytest
}
diff --git a/media-video/subsync/subsync-0.0.1.ebuild b/media-video/subsync/subsync-0.0.1.ebuild
index 26f31fe0e7af..bb0fc6a84f3c 100644
--- a/media-video/subsync/subsync-0.0.1.ebuild
+++ b/media-video/subsync/subsync-0.0.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -11,6 +11,3 @@ LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE=""
-
-DEPEND=""
-RDEPEND="${DEPEND}"
diff --git a/media-video/subtitlecomposer/Manifest b/media-video/subtitlecomposer/Manifest
index f88fc4132ffd..4c0e91924bef 100644
--- a/media-video/subtitlecomposer/Manifest
+++ b/media-video/subtitlecomposer/Manifest
@@ -1 +1,2 @@
-DIST subtitlecomposer-0.7.1.tar.xz 636808 BLAKE2B 4c71277c9646a64d59a0cd6923084b39292916e9edf154c026a051253fe8aabab1bdfb9e10c6fab5eb0d754ba428567c2259c637915e93d8d391b7f247c6dc79 SHA512 b486a1be8b414409af4ec2d2ccc86a7e9f34040f114b0efbbf817b5157d85b5f9a37d80272b468a389128f10c12316bf028dd86e2a7434a2b001bfd185208b92
+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
diff --git a/media-video/subtitlecomposer/files/subtitlecomposer-0.7.1-ffmpeg-5.patch b/media-video/subtitlecomposer/files/subtitlecomposer-0.7.1-ffmpeg-5.patch
deleted file mode 100644
index a0314fb06820..000000000000
--- a/media-video/subtitlecomposer/files/subtitlecomposer-0.7.1-ffmpeg-5.patch
+++ /dev/null
@@ -1,65 +0,0 @@
-From 4f4f560e40ba0b760cf688eb024be3cc734ca347 Mon Sep 17 00:00:00 2001
-From: Mladen Milinkovic <maxrd2@smoothware.net>
-Date: Tue, 25 Jan 2022 14:01:56 +0100
-Subject: [PATCH] Fix compilation with ffmpeg5 #63
-
----
- src/streamprocessor/streamprocessor.cpp | 2 +-
- src/videoplayer/backend/decoder.h | 1 +
- src/videoplayer/backend/framequeue.h | 1 +
- src/videoplayer/backend/streamdemuxer.cpp | 2 +-
- 4 files changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/src/streamprocessor/streamprocessor.cpp b/src/streamprocessor/streamprocessor.cpp
-index b86795e..8faf8a2 100644
---- a/src/streamprocessor/streamprocessor.cpp
-+++ b/src/streamprocessor/streamprocessor.cpp
-@@ -195,7 +195,7 @@ StreamProcessor::findStream(int streamType, int streamIndex, bool imageSub)
- int ret;
- char errorText[1024];
-
-- AVCodec *dec = avcodec_find_decoder(m_avStream->codecpar->codec_id);
-+ const AVCodec *dec = avcodec_find_decoder(m_avStream->codecpar->codec_id);
- if(!dec) {
- qWarning() << "Failed to find decoder for stream" << i;
- return false;
-diff --git a/src/videoplayer/backend/decoder.h b/src/videoplayer/backend/decoder.h
-index 4ab95b2..fb6840d 100644
---- a/src/videoplayer/backend/decoder.h
-+++ b/src/videoplayer/backend/decoder.h
-@@ -11,6 +11,7 @@
- #include <QThread>
-
- extern "C" {
-+#include "libavcodec/avcodec.h"
- #include "libavformat/avformat.h"
- }
-
-diff --git a/src/videoplayer/backend/framequeue.h b/src/videoplayer/backend/framequeue.h
-index dc9b2fa..ece1166 100644
---- a/src/videoplayer/backend/framequeue.h
-+++ b/src/videoplayer/backend/framequeue.h
-@@ -9,6 +9,7 @@
- #define FRAMEQUEUE_H
-
- extern "C" {
-+#include "libavcodec/avcodec.h"
- #include "libavformat/avformat.h"
- }
-
-diff --git a/src/videoplayer/backend/streamdemuxer.cpp b/src/videoplayer/backend/streamdemuxer.cpp
-index 1e339b3..e8320ea 100644
---- a/src/videoplayer/backend/streamdemuxer.cpp
-+++ b/src/videoplayer/backend/streamdemuxer.cpp
-@@ -230,7 +230,7 @@ StreamDemuxer::componentOpen(int streamIndex)
- {
- AVFormatContext *ic = m_vs->fmtContext;
- AVCodecContext *avCtx;
-- AVCodec *codec;
-+ const AVCodec *codec;
- AVDictionary *opts = nullptr;
- AVDictionaryEntry *t = nullptr;
- int sampleRate, nbChannels;
---
-GitLab
-
diff --git a/media-video/subtitlecomposer/files/subtitlecomposer-0.7.1-gles-support.patch b/media-video/subtitlecomposer/files/subtitlecomposer-0.7.1-gles-support.patch
deleted file mode 100644
index 98de494cf306..000000000000
--- a/media-video/subtitlecomposer/files/subtitlecomposer-0.7.1-gles-support.patch
+++ /dev/null
@@ -1,122 +0,0 @@
-From 167a941f8070f4a9abacb3aa2f61ee6ee00d6cb8 Mon Sep 17 00:00:00 2001
-From: Mladen Milinkovic <maxrd2@smoothware.net>
-Date: Thu, 7 Oct 2021 19:37:23 +0200
-Subject: [PATCH] GLRenderer: added GLES support
-
----
- src/videoplayer/backend/glrenderer.cpp | 44 ++++++++++++++++++++++----
- 1 file changed, 38 insertions(+), 6 deletions(-)
-
-diff --git a/src/videoplayer/backend/glrenderer.cpp b/src/videoplayer/backend/glrenderer.cpp
-index 7c9c38b..5cb985d 100644
---- a/src/videoplayer/backend/glrenderer.cpp
-+++ b/src/videoplayer/backend/glrenderer.cpp
-@@ -20,6 +20,7 @@ extern "C" {
- }
-
- #define DEBUG_GL 0
-+#define FORCE_GLES 0
- #define OPENGL_CORE 0
- #define OPENGL_VER 2,0
-
-@@ -33,6 +34,17 @@ extern "C" {
- #define asGL(glCall) glCall
- #endif
-
-+#if defined(GL_ES_VERSION_2_0) || FORCE_GLES
-+#define USE_GLES
-+#define TEXTURE_RGB_FORMAT GL_RGBA
-+// NOTE: we don't currently support more than 8bpp on GLES
-+#define TEXTURE_U16_FORMAT GL_R8
-+#else
-+#undef USE_GLES
-+#define TEXTURE_RGB_FORMAT GL_BGRA
-+#define TEXTURE_U16_FORMAT GL_R16
-+#endif
-+
- using namespace SubtitleComposer;
-
- enum { ID_Y, ID_U, ID_V, ID_OVR, ID_SIZE };
-@@ -82,6 +94,9 @@ void
- GLRenderer::setupProfile()
- {
- QSurfaceFormat format(QSurfaceFormat::defaultFormat());
-+#if FORCE_GLES
-+ format.setRenderableType(QSurfaceFormat::OpenGLES);
-+#endif
- format.setVersion(OPENGL_VER);
- #if DEBUG_GL
- format.setOption(QSurfaceFormat::DebugContext);
-@@ -126,7 +141,7 @@ GLRenderer::setFrameFormat(int width, int height, int compBits, int crWidthShift
- m_crHeight = crHeight;
-
- m_glType = compBytes == 1 ? GL_UNSIGNED_BYTE : GL_UNSIGNED_SHORT;
-- m_glFormat = compBytes == 1 ? GL_R8 : GL_R16;
-+ m_glFormat = compBytes == 1 ? GL_R8 : TEXTURE_U16_FORMAT;
-
- delete[] m_bufYUV;
- m_bufSize = bufSize;
-@@ -261,7 +276,11 @@ GLRenderer::initShader()
- delete m_vertShader;
- m_vertShader = new QOpenGLShader(QOpenGLShader::Vertex, this);
- bool success = m_vertShader->compileSourceCode(
-+#ifdef USE_GLES
-+ "#version 100\n"
-+#else
- "#version 120\n"
-+#endif
- "attribute vec4 vPos;"
- "attribute vec2 vVidTex;"
- "attribute vec2 vOvrTex;"
-@@ -288,7 +307,13 @@ GLRenderer::initShader()
- csms.append(QString::number(csm[i], 'g', 10));
- }
-
-- success = m_fragShader->compileSourceCode(QStringLiteral("#version 120\n"
-+ success = m_fragShader->compileSourceCode(QStringLiteral(
-+#ifdef USE_GLES
-+ "#version 100\n"
-+ "precision mediump float;\n"
-+#else
-+ "#version 120\n"
-+#endif
- "varying vec2 vfVidTex;"
- "varying vec2 vfOvrTex;"
- "uniform sampler2D texY;"
-@@ -348,8 +373,15 @@ GLRenderer::initializeGL()
- QMutexLocker l(&m_texMutex);
-
- initializeOpenGLFunctions();
-- qDebug() << "OpenGL version: " << reinterpret_cast<const char *>(glGetString(GL_VERSION));
-- qDebug() << "GLSL version: " << reinterpret_cast<const char *>(glGetString(GL_SHADING_LANGUAGE_VERSION));
-+ qDebug().nospace() << "GL API: OpenGL " << (format().renderableType() == QSurfaceFormat::OpenGLES ? "ES" : "Desktop")
-+ << ' ' << format().majorVersion() << "." << format().minorVersion()
-+#ifdef USE_GLES
-+ << " (compiled for OpenGL ES)";
-+#else
-+ << " (compiled for OpenGL Desktop)";
-+#endif
-+ qDebug() << "OpenGL version:" << reinterpret_cast<const char *>(glGetString(GL_VERSION));
-+ qDebug() << "GLSL version:" << reinterpret_cast<const char *>(glGetString(GL_SHADING_LANGUAGE_VERSION));
-
- if(m_vao.create())
- m_vao.bind();
-@@ -453,13 +485,13 @@ GLRenderer::uploadMM(int texWidth, int texHeight, T *texBuf, const T *texSrc)
- if(D == 1) {
- asGL(glTexImage2D(GL_TEXTURE_2D, level, m_glFormat, texWidth, texHeight, 0, GL_RED, m_glType, texSrc));
- } else { // D == 4
-- asGL(glTexImage2D(GL_TEXTURE_2D, level, GL_RGBA8, texWidth, texHeight, 0, GL_BGRA, GL_UNSIGNED_BYTE, texSrc));
-+ asGL(glTexImage2D(GL_TEXTURE_2D, level, GL_RGBA8, texWidth, texHeight, 0, TEXTURE_RGB_FORMAT, GL_UNSIGNED_BYTE, texSrc));
- }
- } else {
- if(D == 1) {
- asGL(glTexSubImage2D(GL_TEXTURE_2D, level, 0, 0, texWidth, texHeight, GL_RED, m_glType, texSrc));
- } else { // D == 4
-- asGL(glTexSubImage2D(GL_TEXTURE_2D, level, 0, 0, texWidth, texHeight, GL_BGRA, GL_UNSIGNED_BYTE, texSrc));
-+ asGL(glTexSubImage2D(GL_TEXTURE_2D, level, 0, 0, texWidth, texHeight, TEXTURE_RGB_FORMAT, GL_UNSIGNED_BYTE, texSrc));
- }
- }
-
---
-GitLab
-
diff --git a/media-video/subtitlecomposer/files/subtitlecomposer-0.7.1-tests-optional.patch b/media-video/subtitlecomposer/files/subtitlecomposer-0.7.1-tests-optional.patch
deleted file mode 100644
index 75d4f71a2ff7..000000000000
--- a/media-video/subtitlecomposer/files/subtitlecomposer-0.7.1-tests-optional.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 6e25dd4670f0d14bdc8aff050bdacb050e0327ff Mon Sep 17 00:00:00 2001
-From: Andreas Sturmlechner <asturm@gentoo.org>
-Date: Wed, 6 Oct 2021 20:30:03 +0200
-Subject: [PATCH] Make tests optional
-
-Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
----
- src/CMakeLists.txt | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
-index 1cb7098..97d60a3 100644
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -124,7 +124,9 @@ else()
- message(STATUS "ICU Library not found. KEncodingProber fallback will be used for charset detection.")
- endif()
-
-+if(BUILD_TESTING)
- add_subdirectory(tests)
-+endif()
- add_subdirectory(scripting)
-
- add_executable(subtitlecomposer WIN32 main.cpp ${subtitlecomposer_RES_SRC})
---
-2.33.0
-
diff --git a/media-video/subtitlecomposer/subtitlecomposer-0.7.1.ebuild b/media-video/subtitlecomposer/subtitlecomposer-0.8.0.ebuild
index 54143eba37a9..68d991328aa7 100644
--- a/media-video/subtitlecomposer/subtitlecomposer-0.7.1.ebuild
+++ b/media-video/subtitlecomposer/subtitlecomposer-0.8.0.ebuild
@@ -1,25 +1,32 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
ECM_TEST="forceoptional"
-KFMIN=5.82.0
-QTMIN=5.15.2
-VIRTUALX_REQUIRED="test"
+KFMIN=5.106.0
+QTMIN=5.15.9
inherit ecm kde.org
DESCRIPTION="Text-based subtitles editor"
HOMEPAGE="https://subtitlecomposer.kde.org/"
-SRC_URI="mirror://kde/stable/${PN}/${P}.tar.xz"
+
+if [[ ${KDE_BUILD_TYPE} = release ]]; then
+ PATCHSET="${PN}-0.7.1-patchset-1"
+ SRC_URI="mirror://kde/stable/${PN}/${P}.tar.xz
+ https://dev.gentoo.org/~asturm/distfiles/${PATCHSET}.tar.xz"
+ KEYWORDS="amd64 x86"
+fi
LICENSE="GPL-2"
SLOT="5"
-KEYWORDS="amd64 x86"
IUSE="unicode"
DEPEND="
+ dev-libs/openssl:=
+ >=dev-qt/qtdeclarative-${QTMIN}:5
>=dev-qt/qtgui-${QTMIN}:5
+ >=dev-qt/qtnetwork-${QTMIN}:5
>=dev-qt/qtwidgets-${QTMIN}:5
>=kde-frameworks/kcodecs-${KFMIN}:5
>=kde-frameworks/kcompletion-${KFMIN}:5
@@ -28,7 +35,6 @@ DEPEND="
>=kde-frameworks/kcoreaddons-${KFMIN}:5
>=kde-frameworks/ki18n-${KFMIN}:5
>=kde-frameworks/kio-${KFMIN}:5
- >=kde-frameworks/kross-${KFMIN}:5
>=kde-frameworks/ktextwidgets-${KFMIN}:5
>=kde-frameworks/kwidgetsaddons-${KFMIN}:5
>=kde-frameworks/kxmlgui-${KFMIN}:5
@@ -44,23 +50,14 @@ BDEPEND="
"
PATCHES=(
- "${FILESDIR}/${P}-tests-optional.patch"
- "${FILESDIR}/${P}-gles-support.patch" # bug 820035
- "${FILESDIR}/${P}-ffmpeg-5.patch" # bug 834416
+ "${WORKDIR}/${PATCHSET}/${PN}-0.7.1-tests-optional.patch" # TODO: upstream
)
src_configure() {
local mycmakeargs=(
- -DCMAKE_DISABLE_FIND_PACKAGE_PocketSphinx=ON # bug 616706
+ -DCMAKE_DISABLE_FIND_PACKAGE_PocketSphinx=ON # bugs 616706, 610434
$(cmake_use_find_package unicode ICU)
)
ecm_src_configure
}
-
-pkg_postinst() {
- ecm_pkg_postinst
-
- elog "Some example scripts provided by ${PN} require dev-lang/ruby"
- elog "or dev-lang/python to be installed."
-}
diff --git a/media-video/subtitleripper/Manifest b/media-video/subtitleripper/Manifest
deleted file mode 100644
index cc60804cbe89..000000000000
--- a/media-video/subtitleripper/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST subtitleripper-0.3-4.tgz 47299 BLAKE2B e1a25adf55727463cc7aa57e2d005597c92212b1cb1f7edd7a20c5701444967d96af268f3b6feaf6ac29aa2f9dcfe2e0248593f5197228d1d0bbff9fad67c315 SHA512 6d25a43b5b1bf8a6c69200c8bab995265356d1235a872bb641d30dbf27b765be9280325b4dd8aa625c25a865563bd7525dd277682d5baeff3c54951da7b9a86a
diff --git a/media-video/subtitleripper/files/subtitleripper-0.3.4-glibc210.patch b/media-video/subtitleripper/files/subtitleripper-0.3.4-glibc210.patch
deleted file mode 100644
index 8dc2b24f9f6a..000000000000
--- a/media-video/subtitleripper/files/subtitleripper-0.3.4-glibc210.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-diff -Naurp subtitleripper-orig/vobsub.c subtitleripper/vobsub.c
---- subtitleripper-orig/vobsub.c 2003-12-08 03:28:02.000000000 -0600
-+++ subtitleripper/vobsub.c 2009-05-30 19:09:13.266973499 -0600
-@@ -56,7 +56,7 @@ extern ssize_t getline(char **, size_t *
- /* FIXME This should go into a general purpose library or even a
- separate file. */
- static ssize_t
--getline (char **lineptr, size_t *n, FILE *stream)
-+get_line (char **lineptr, size_t *n, FILE *stream)
- {
- size_t res = 0;
- int c;
-@@ -753,7 +753,7 @@ vobsub_parse_one_line(vobsub_t *vob, FIL
- do {
- size_t line_reserve = 0;
- char *line = NULL;
-- line_size = getline(&line, &line_reserve, fd);
-+ line_size = get_line(&line, &line_reserve, fd);
- if (line_size < 0) {
- if (line)
- free(line);
diff --git a/media-video/subtitleripper/files/subtitleripper-0.3.4-libpng.patch b/media-video/subtitleripper/files/subtitleripper-0.3.4-libpng.patch
deleted file mode 100644
index e9869b3bd5dd..000000000000
--- a/media-video/subtitleripper/files/subtitleripper-0.3.4-libpng.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-diff -NrU5 subtitleripper.orig/spudec.c subtitleripper/spudec.c
---- subtitleripper.orig/spudec.c 2009-05-20 03:06:23.000000000 -0600
-+++ subtitleripper/spudec.c 2009-05-20 03:07:47.000000000 -0600
-@@ -34,17 +34,18 @@
-
- #ifdef _HAVE_ZLIB_
- #include <zlib.h>
- #endif
-
-+#ifdef _HAVE_PNG_
-+#include <png.h>
-+#endif
-+
- #ifdef _HAVE_LIB_PPM_
- #include <netpbm/ppm.h>
- #endif
-
--#ifdef _HAVE_PNG_
--#include "png.h"
--#endif
-
- static void spudec_handle_rest(spudec_handle_t *this);
-
- // read a big endian 16 bit value
- static inline unsigned int get_be16(const unsigned char *p)
diff --git a/media-video/subtitleripper/files/subtitleripper-0.3.4-linkingorder.patch b/media-video/subtitleripper/files/subtitleripper-0.3.4-linkingorder.patch
deleted file mode 100644
index 7efe223460fc..000000000000
--- a/media-video/subtitleripper/files/subtitleripper-0.3.4-linkingorder.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-Index: subtitleripper/Makefile
-===================================================================
---- subtitleripper.orig/Makefile
-+++ subtitleripper/Makefile
-@@ -70,19 +70,19 @@ vobsub2pgm.o: vobsub2pgm.c vobsub.h spud
- # Target
- subtitle2pgm: subtitle2pgm.o spudec.o
- @echo "Linking $@"
-- @$(CC) $(LIBS) $^ -o $@
-+ @$(CC) $^ -o $@ $(LIBS)
-
- subtitle2vobsub: subtitle2vobsub.o vobsub.o
- @echo "Linking $@"
-- @$(CC) $(LIBS) $^ -o $@
-+ @$(CC) $^ -o $@ $(LIBS)
-
- srttool: srttool.o
- @echo "Linking $@"
-- @$(CC) $(LIBS) -g $^ -o $@
-+ @$(CC) -g $^ -o $@ $(LIBS)
-
- vobsub2pgm: vobsub2pgm.o vobsub.o spudec.o
- @echo "Linking $@"
-- @$(CC) $(LIBS) -g $^ -o $@
-+ @$(CC) -g $^ -o $@ $(LIBS)
-
- .PHONY: clean dist rpm
- clean:
diff --git a/media-video/subtitleripper/files/subtitleripper-0.3.4-respect-ldflags.patch b/media-video/subtitleripper/files/subtitleripper-0.3.4-respect-ldflags.patch
deleted file mode 100644
index 2af11d257929..000000000000
--- a/media-video/subtitleripper/files/subtitleripper-0.3.4-respect-ldflags.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-Index: subtitleripper/Makefile
-===================================================================
---- subtitleripper.orig/Makefile
-+++ subtitleripper/Makefile
-@@ -70,19 +70,19 @@ vobsub2pgm.o: vobsub2pgm.c vobsub.h spud
- # Target
- subtitle2pgm: subtitle2pgm.o spudec.o
- @echo "Linking $@"
-- @$(CC) $^ -o $@ $(LIBS)
-+ @$(CC) $(LDFLAGS) $^ -o $@ $(LIBS)
-
- subtitle2vobsub: subtitle2vobsub.o vobsub.o
- @echo "Linking $@"
-- @$(CC) $^ -o $@ $(LIBS)
-+ @$(CC) $(LDFLAGS) $^ -o $@ $(LIBS)
-
- srttool: srttool.o
- @echo "Linking $@"
-- @$(CC) -g $^ -o $@ $(LIBS)
-+ @$(CC) $(LDFLAGS) $^ -o $@ $(LIBS)
-
- vobsub2pgm: vobsub2pgm.o vobsub.o spudec.o
- @echo "Linking $@"
-- @$(CC) -g $^ -o $@ $(LIBS)
-+ @$(CC) $(LDFLAGS) $^ -o $@ $(LIBS)
-
- .PHONY: clean dist rpm
- clean:
diff --git a/media-video/subtitleripper/subtitleripper-0.3.4-r4.ebuild b/media-video/subtitleripper/subtitleripper-0.3.4-r4.ebuild
deleted file mode 100644
index ec6c555bf7ed..000000000000
--- a/media-video/subtitleripper/subtitleripper-0.3.4-r4.ebuild
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit toolchain-funcs
-
-MY_PV="$(ver_rs 2 "-")"
-
-DESCRIPTION="DVD Subtitle Ripper for Linux"
-HOMEPAGE="http://subtitleripper.sourceforge.net/"
-SRC_URI="mirror://sourceforge/${PN}/${PN}-${MY_PV}.tgz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 ppc ppc64 x86"
-IUSE=""
-
-RDEPEND=">=media-libs/netpbm-10.41.0
- media-libs/libpng
- sys-libs/zlib
- >=app-text/gocr-0.39"
-DEPEND="${RDEPEND}"
-
-S="${WORKDIR}/${PN}"
-
-PATCHES=(
- "${FILESDIR}"/${P}-linkingorder.patch
- "${FILESDIR}"/${P}-libpng.patch
- "${FILESDIR}"/${P}-glibc210.patch
- "${FILESDIR}"/${P}-respect-ldflags.patch
-)
-
-src_prepare() {
- # PPM library is libnetppm
- sed -i -e "s:ppm:netpbm:g" Makefile || die
- # fix for bug 210435
- sed -i -e "s:#include <ppm.h>:#include <netpbm/ppm.h>:g" \
- spudec.c subtitle2pgm.c || die
- # we will install the gocrfilters into /usr/share/subtitleripper
- sed -i -e 's:~/sourceforge/subtitleripper/src/:/usr/share/subtitleripper:' \
- pgm2txt || die
-
- default
-
- # respect CC
- sed -i -e "s:CC =.*:CC = $(tc-getCC):" \
- -e "/^CFLAGS/s: = :& ${CFLAGS} :" "${S}"/Makefile
-}
-
-src_install() {
- dobin pgm2txt srttool subtitle2pgm subtitle2vobsub vobsub2pgm
-
- insinto /usr/share/subtitleripper
- doins gocrfilter_*.sed
-
- dodoc ChangeLog README*
-}
diff --git a/media-video/tivodecode/tivodecode-0.2_pre4.ebuild b/media-video/tivodecode/tivodecode-0.2_pre4.ebuild
index 511c7c80d240..7596e101e899 100644
--- a/media-video/tivodecode/tivodecode-0.2_pre4.ebuild
+++ b/media-video/tivodecode/tivodecode-0.2_pre4.ebuild
@@ -1,16 +1,20 @@
-# Copyright 1999-2019 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
MY_P=${P/_/}
DESCRIPTION="TiVo File Decoder"
-HOMEPAGE="http://tivodecode.sourceforge.net/"
+HOMEPAGE="https://tivodecode.sourceforge.net/"
SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.gz"
+S="${WORKDIR}/${MY_P}"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64 ~x86"
-IUSE=""
-S="${WORKDIR}/${MY_P}"
+src_compile(){
+ emake AR="$(tc-getAR)"
+}
diff --git a/media-video/totem/totem-43.0.ebuild b/media-video/totem/totem-43.0-r1.ebuild
index f023e9c03a40..b5f233577b01 100644
--- a/media-video/totem/totem-43.0.ebuild
+++ b/media-video/totem/totem-43.0-r1.ebuild
@@ -19,7 +19,7 @@ REQUIRED_USE="
"
RESTRICT="!test? ( test )"
-KEYWORDS="amd64 ~arm arm64 ~ia64 ~ppc ~ppc64 ~riscv x86"
+KEYWORDS="amd64 ~arm arm64 ~ia64 ~loong ~ppc ~ppc64 ~riscv x86"
COMMON_DEPEND="
>=dev-libs/glib-2.72.0:2
@@ -29,7 +29,7 @@ COMMON_DEPEND="
>=media-libs/gst-plugins-base-1.6.0:1.0[pango]
>=media-libs/gst-plugins-good-1.6.0:1.0
>=media-libs/grilo-0.3.0:0.3[playlist]
- >=dev-libs/libpeas-1.1.0[gtk]
+ >=dev-libs/libpeas-1.1.0:0[gtk]
>=dev-libs/totem-pl-parser-3.26.5:0=[introspection]
gnome-base/gnome-desktop:3=
gnome-base/gsettings-desktop-schemas
@@ -53,7 +53,7 @@ RDEPEND="${COMMON_DEPEND}
dev-libs/libportal:0=[gtk]
python? (
x11-libs/pango[introspection]
- >=dev-libs/libpeas-1.1.0[python,${PYTHON_SINGLE_USEDEP}]
+ >=dev-libs/libpeas-1.1.0:0[python,${PYTHON_SINGLE_USEDEP}]
$(python_gen_cond_dep '
dev-python/dbus-python[${PYTHON_USEDEP}]
')
diff --git a/media-video/transcode/Manifest b/media-video/transcode/Manifest
deleted file mode 100644
index 8cf471df29b3..000000000000
--- a/media-video/transcode/Manifest
+++ /dev/null
@@ -1,3 +0,0 @@
-DIST transcode-1.1.7-ffmpeg4.patch.xz 4880 BLAKE2B 92bf63ba3f9cb69aff3cdc0f7250da0452f8bc0977010d024bbd8bbf9f66b86fb31e819ec3d1069e9176fdb58cba6ec510b866ddc44a65fd252f175cc567807a SHA512 8c44fd1b78dbbafbbef090d6115bbe086605f1d5b5286eba83d9c7c0d5457af286cb5d61ab6d260380694b6b3636f751709476915dcab5cc3109dc868785f424
-DIST transcode-1.1.7-patchset.tar.bz2 16379 BLAKE2B fbdc188bffeb8751814abfa7e119a1053e482f194bc1b87a721c48e2b66e107df146d38b3ea11a88d066c49d8862489b88b74f61fa36ce3f8a1a782da3762615 SHA512 bedc82aa4fbc17774e34d8fc24799d70b8460c6c1dd728549bcaa5c387492f56e520674fdf8bb976c0b5fcc9ccefb765f2ee26816e0d2b96a83402a21cee3f6d
-DIST transcode-1.1.7.tar.bz2 2183627 BLAKE2B 25001d4cae83d86e5295917bcd9e2e77dd61637e238394a2d603398baf810201dc61d8b0de5b54a7b8848ac3bcef5fb211e8f2b43ed7da4e56e335b8d4d2fbe1 SHA512 d6f9674f3f5c3346194120585741ca660eb9ee133085cfce9460a14eaa0cf16fdf291761bd1db78e1c784e4d69a9481c7470cf8357dc7638ee3017620500f45f
diff --git a/media-video/transcode/files/transcode-1.1.7-gcc10-fno-common.patch b/media-video/transcode/files/transcode-1.1.7-gcc10-fno-common.patch
deleted file mode 100644
index fcee415deee1..000000000000
--- a/media-video/transcode/files/transcode-1.1.7-gcc10-fno-common.patch
+++ /dev/null
@@ -1,48 +0,0 @@
---- a/import/demux_pass.c
-+++ b/import/demux_pass.c
-@@ -32,8 +32,6 @@
- #include "packets.h"
-
-
--int gop, gop_pts, gop_cnt;
--
- /* if you listen carefully, then you can hear the desesperate
- * whisper of this code calling for a rewrite. Or for a redesign.
- * Or both. -- FR
---- a/import/extract_ac3.c
-+++ b/import/extract_ac3.c
-@@ -334,7 +334,6 @@
- FILE *fd;
-
- #define MAX_BUF 4096
--char audio[MAX_BUF];
-
-
- /* from ac3scan.c */
-@@ -472,6 +471,8 @@
- void extract_ac3(info_t *ipipe)
- {
-
-+ char audio[MAX_BUF];
-+
- int error=0;
-
- avi_t *avifile;
---- a/import/extract_mp3.c
-+++ b/import/extract_mp3.c
-@@ -243,7 +243,6 @@
- }
-
- #define MAX_BUF 4096
--char audio[MAX_BUF];
-
- /* ------------------------------------------------------------
- *
-@@ -258,6 +257,7 @@
-
- void extract_mp3(info_t *ipipe)
- {
-+ char audio[MAX_BUF];
-
- int error=0;
-
diff --git a/media-video/transcode/files/transcode-1.1.7-glibc-2.32.patch b/media-video/transcode/files/transcode-1.1.7-glibc-2.32.patch
deleted file mode 100644
index 12ef638d0263..000000000000
--- a/media-video/transcode/files/transcode-1.1.7-glibc-2.32.patch
+++ /dev/null
@@ -1,58 +0,0 @@
---- a/import/v4l/import_v4l2.c 2020-08-28 08:28:44.311434934 +0000
-+++ b/import/v4l/import_v4l2.c 2020-08-28 08:41:19.279323984 +0000
-@@ -455,7 +455,7 @@
- tc_log_warn(MOD_NAME,
- "driver does not support cropping"
- "(ioctl(VIDIOC_CROPCAP) returns \"%s\"), disabled",
-- errno <= sys_nerr ? sys_errlist[errno] : "unknown");
-+ strerror(errno));
- return TC_ERROR;
- }
- if (verbose_flag > TC_INFO) {
-@@ -485,7 +485,7 @@
- tc_log_warn(MOD_NAME,
- "driver does not support inquiring cropping"
- " parameters (ioctl(VIDIOC_G_CROP) returns \"%s\")",
-- errno <= sys_nerr ? sys_errlist[errno] : "unknown");
-+ strerror(errno));
- return -1;
- }
-
-@@ -513,7 +513,7 @@
- tc_log_warn(MOD_NAME,
- "driver does not support inquering cropping"
- " parameters (ioctl(VIDIOC_G_CROP) returns \"%s\")",
-- errno <= sys_nerr ? sys_errlist[errno] : "unknown");
-+ strerror(errno));
- return -1;
- }
- if (verbose_flag > TC_INFO) {
-@@ -613,7 +613,7 @@
- if (err < 0) {
- if (verbose_flag) {
- tc_log_warn(MOD_NAME, "driver does not support setting parameters (ioctl(VIDIOC_S_PARM) returns \"%s\")",
-- errno <= sys_nerr ? sys_errlist[errno] : "unknown");
-+ strerror(errno));
- }
- }
- return TC_OK;
-@@ -628,7 +628,7 @@
- err = ioctl(vs->video_fd, VIDIOC_G_STD, &stdid);
- if (err < 0) {
- tc_log_warn(MOD_NAME, "driver does not support get std (ioctl(VIDIOC_G_STD) returns \"%s\")",
-- errno <= sys_nerr ? sys_errlist[errno] : "unknown");
-+ strerror(errno));
- memset(&stdid, 0, sizeof(v4l2_std_id));
- }
-
---- a/import/v4l/import_v4lcam.c 2020-10-02 13:28:47.215179051 +0700
-+++ b/import/v4l/import_v4lcam.c 2020-10-02 13:28:40.132224906 +0700
-@@ -368,7 +368,7 @@ static int tc_v4l2_video_setup_stream_pa
- if (err < 0) {
- tc_log_warn(MOD_NAME, "driver does not support setting parameters"
- " (ioctl(VIDIOC_S_PARM) returns \"%s\")",
-- errno <= sys_nerr ? sys_errlist[errno] : "unknown");
-+ strerror(errno));
- }
- return TC_OK;
- }
diff --git a/media-video/transcode/files/transcode-1.1.7-swresample.patch b/media-video/transcode/files/transcode-1.1.7-swresample.patch
deleted file mode 100644
index b9a908d122ef..000000000000
--- a/media-video/transcode/files/transcode-1.1.7-swresample.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-https://bugs.gentoo.org/722296
-https://git.archlinux.org/svntogit/community.git/tree/trunk/transcode-swresample.patch?h=packages/transcode&id=7fb278671fbd0a201de8d32aefee888fd253db44
-
---- transcode-1.1.7/filter/filter_resample.c
-+++ transcode-1.1.7/filter/filter_resample.c
-@@ -37,7 +37,7 @@
- #include "libtc/optstr.h"
- #include "libtc/tcavcodec.h"
- #include "libtc/tcmodule-plugin.h"
--#include <libavresample/avresample.h>
-+#include <libswresample/swresample.h>
-
-
- typedef struct {
-@@ -46,7 +46,7 @@
-
- int bytes_per_sample;
-
-- AVAudioResampleContext *resample_ctx;
-+ SwrContext *resample_ctx;
- } ResamplePrivateData;
-
- static const char resample_help[] = ""
diff --git a/media-video/transcode/metadata.xml b/media-video/transcode/metadata.xml
deleted file mode 100644
index 0b7c5a9df7ca..000000000000
--- a/media-video/transcode/metadata.xml
+++ /dev/null
@@ -1,16 +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>
- <use>
- <flag name="mjpeg">Enables mjpegtools support</flag>
- <flag name="nuv">NuppelVideo container format demuxing</flag>
- <flag name="pic">disable optimized assembly code that is not PIC friendly</flag>
- <flag name="postproc">Build with ffmpeg libpostproc support</flag>
- </use>
- <upstream>
- <remote-id type="bitbucket">france/transcode-tcforge</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/media-video/transcode/transcode-1.1.7-r6.ebuild b/media-video/transcode/transcode-1.1.7-r6.ebuild
deleted file mode 100644
index ba7343990bf2..000000000000
--- a/media-video/transcode/transcode-1.1.7-r6.ebuild
+++ /dev/null
@@ -1,148 +0,0 @@
-# Copyright 2002-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit autotools
-
-DESCRIPTION="Utilities for transcoding video and audio codecs in different containers"
-HOMEPAGE="https://wiki.gentoo.org/wiki/No_homepage"
-SRC_URI="https://www.bitbucket.org/france/${PN}-tcforge/downloads/${P}.tar.bz2
- https://dev.gentoo.org/~mgorny/dist/${P}-patchset.tar.bz2
- https://dev.gentoo.org/~whissi/dist/${PN}/${PN}-1.1.7-ffmpeg4.patch.xz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~arm64 ppc ppc64 ~riscv sparc x86"
-IUSE="cpu_flags_ppc_altivec cpu_flags_x86_3dnow a52 aac alsa dv dvd +iconv imagemagick jpeg lzo mjpeg cpu_flags_x86_mmx mp3 mpeg nuv ogg oss pic postproc quicktime sdl cpu_flags_x86_sse cpu_flags_x86_sse2 theora truetype v4l vorbis X x264 xml xvid"
-
-REQUIRED_USE="
- cpu_flags_x86_sse? ( cpu_flags_x86_mmx )
- cpu_flags_x86_sse2? ( cpu_flags_x86_mmx cpu_flags_x86_sse )
- cpu_flags_x86_3dnow? ( cpu_flags_x86_mmx )
- nuv? ( lzo )
-"
-
-RDEPEND="
- >=media-video/ffmpeg-0.10
- a52? ( media-libs/a52dec )
- aac? ( media-libs/faac )
- alsa? ( media-libs/alsa-lib )
- dv? ( media-libs/libdv )
- dvd? ( media-libs/libdvdread:0= )
- iconv? ( virtual/libiconv )
- imagemagick? ( media-gfx/imagemagick:= )
- jpeg? ( media-libs/libjpeg-turbo:= )
- lzo? ( >=dev-libs/lzo-2 )
- mjpeg? ( media-video/mjpegtools:= )
- mp3? ( media-sound/lame )
- mpeg? ( media-libs/libmpeg2 )
- ogg? ( media-libs/libogg )
- postproc? ( >=media-video/ffmpeg-0.10 )
- quicktime? ( >=media-libs/libquicktime-1 )
- sdl? ( >=media-libs/libsdl-1.2.5[X?] )
- theora? ( media-libs/libtheora )
- truetype? ( >=media-libs/freetype-2 )
- v4l? ( media-libs/libv4l )
- vorbis? ( media-libs/libvorbis )
- X? (
- x11-libs/libXaw
- x11-libs/libXpm
- x11-libs/libXv
- )
- x264? ( media-libs/x264:= )
- xml? ( dev-libs/libxml2 )
- xvid? ( media-libs/xvid )
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- virtual/pkgconfig
- v4l? ( >=sys-kernel/linux-headers-2.6.11 )
-"
-
-PATCHES=(
- "${WORKDIR}"/${P}-patchset/${P}-ffmpeg.patch
- "${WORKDIR}"/${P}-patchset/${P}-ffmpeg-0.10.patch
- "${WORKDIR}"/${P}-patchset/${P}-ffmpeg-0.11.patch
- "${WORKDIR}"/${P}-patchset/${P}-preset-free.patch
- "${WORKDIR}"/${P}-patchset/${P}-libav-9.patch
- "${WORKDIR}"/${P}-patchset/${P}-libav-10.patch
- "${WORKDIR}"/${P}-patchset/${P}-preset-force.patch
- "${WORKDIR}"/${P}-patchset/${P}-ffmpeg2.patch
- "${WORKDIR}"/${P}-patchset/${P}-freetype251.patch
- "${WORKDIR}"/${P}-patchset/${P}-ffmpeg24.patch
- "${FILESDIR}"/${P}-swresample.patch # bug 722296
- "${FILESDIR}"/${P}-gcc10-fno-common.patch
- "${FILESDIR}"/${P}-glibc-2.32.patch
-)
-
-src_prepare() {
- if has_version '>=media-video/ffmpeg-2.8'; then
- PATCHES+=( "${WORKDIR}"/${P}-patchset/${P}-ffmpeg29.patch )
- fi
-
- if has_version '>=media-gfx/imagemagick-7.0.1.0' ; then
- PATCHES+=( "${WORKDIR}"/${P}-patchset/${P}-imagemagick7.patch )
- fi
-
- if has_version '>=media-video/ffmpeg-4' ; then
- PATCHES+=( "${WORKDIR}"/${P}-ffmpeg4.patch )
- fi
-
- default
-
- eautoreconf
-}
-
-src_configure() {
- local myconf
- use x86 && myconf="$(use_enable !pic x86-textrels)" # bug 271476
-
- local myeconfargs=(
- $(use_enable cpu_flags_ppc_altivec altivec)
- $(use_enable cpu_flags_x86_mmx mmx)
- $(use_enable cpu_flags_x86_3dnow 3dnow)
- $(use_enable cpu_flags_x86_sse sse)
- $(use_enable cpu_flags_x86_sse2 sse2)
- $(use_enable v4l libv4l2)
- $(use_enable v4l libv4lconvert)
- $(use_enable mpeg libmpeg2)
- $(use_enable mpeg libmpeg2convert)
- --enable-experimental
- --enable-deprecated
- $(use_enable v4l)
- $(use_enable oss)
- $(use_enable alsa)
- $(use_enable postproc libpostproc)
- $(use_enable truetype freetype2)
- $(use_enable mp3 lame)
- $(use_enable xvid)
- $(use_enable x264)
- $(use_enable ogg)
- $(use_enable vorbis)
- $(use_enable theora)
- $(use_enable dvd libdvdread)
- $(use_enable dv libdv)
- $(use_enable quicktime libquicktime)
- $(use_enable lzo)
- $(use_enable a52)
- $(use_enable aac faac)
- $(use_enable xml libxml2)
- $(use_enable mjpeg mjpegtools)
- $(use_enable sdl)
- $(use_enable imagemagick)
- $(use_enable jpeg libjpeg)
- $(use_enable iconv)
- $(use_enable nuv)
- $(use_with X x)
- --with-mod-path=/usr/$(get_libdir)/transcode
- ${myconf}
- )
- econf "${myeconfargs[@]}"
-}
-
-src_install() {
- emake DESTDIR="${D}" docsdir=/usr/share/doc/${PF} install
- dodoc AUTHORS ChangeLog README STYLE TODO
- find "${ED}" \( -name "*.a" -o -name "*.la" \) -delete || die
-}
diff --git a/media-video/ttcut/metadata.xml b/media-video/ttcut/metadata.xml
index 3c7e68669eb9..a09ab444b6d2 100644
--- a/media-video/ttcut/metadata.xml
+++ b/media-video/ttcut/metadata.xml
@@ -18,5 +18,6 @@
</longdescription>
<upstream>
<remote-id type="sourceforge">ttcut.berlios</remote-id>
+ <remote-id type="github">baltendorf/ttcut</remote-id>
</upstream>
</pkgmetadata>
diff --git a/media-video/ttcut/ttcut-0.19.6_p1-r1.ebuild b/media-video/ttcut/ttcut-0.19.6_p1-r1.ebuild
index bdfcdaa583b5..935aabf75b93 100644
--- a/media-video/ttcut/ttcut-0.19.6_p1-r1.ebuild
+++ b/media-video/ttcut/ttcut-0.19.6_p1-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -6,13 +6,12 @@ EAPI=7
inherit desktop qmake-utils xdg
DESCRIPTION="Tool for cutting MPEG files especially for removing commercials"
-HOMEPAGE="https://github.com/templer/ttcut"
+HOMEPAGE="https://github.com/baltendorf/ttcut"
SRC_URI="https://dev.gentoo.org/~billie/distfiles/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 x86"
-IUSE=""
DEPEND="
>=media-libs/libmpeg2-0.4.0
diff --git a/media-video/ushare/Manifest b/media-video/ushare/Manifest
index bdce3f4facce..dfbbc0f43ce3 100644
--- a/media-video/ushare/Manifest
+++ b/media-video/ushare/Manifest
@@ -1 +1 @@
-DIST ushare-1.1a_p20210221.tar.gz 72759 BLAKE2B e5dd79cba08c3c7554fd19eb98ecf9920dc1939e5dfe34a803669628b2d4031ebb6e2f037550e5129a8cc6f0c84a9a8e234c3c9823108f374375405ea16b5263 SHA512 c3038d7e7da13a6adbf52a20ffa0b33ca92a7b03d39c0fa6f9bea98484cb062f0509d655f853f7eafe3dab54b2bd97e3c8a4f571686bfdf13dccaa012b0c8202
+DIST ushare-2.1.tar.gz 72741 BLAKE2B 36891a8525cc131970f2c03a0dbb011c55c6e80c4b8715b961cf3eb72376edbcfbf728870f5bb24ff0ea806a0cbfd63559df9e8372a7374d9ea299ee1f52d81f SHA512 4712b08af9ec0450f4cc35a7827d1ba34dc72e806022abbbbbfae297ff8f97c9220a8f11b1c0f0a15c425e08a7b1629ac19766567dc3dce225e43d678c8f750d
diff --git a/media-video/ushare/ushare-1.1a_p20210221.ebuild b/media-video/ushare/ushare-2.1.ebuild
index add31f454fe2..733f07e6edf5 100644
--- a/media-video/ushare/ushare-1.1a_p20210221.ebuild
+++ b/media-video/ushare/ushare-2.1.ebuild
@@ -1,15 +1,13 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit readme.gentoo-r1 toolchain-funcs systemd
-COMMIT="79b0d6e41fd9af73c2ef7ee6b110f9b367295a76"
-
DESCRIPTION="uShare is a UPnP (TM) A/V & DLNA Media Server"
HOMEPAGE="https://github.com/ddugovic/uShare/"
-SRC_URI="https://github.com/ddugovic/uShare/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
+SRC_URI="https://github.com/ddugovic/uShare/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-2+"
SLOT="0"
@@ -32,7 +30,7 @@ DOC_CONTENTS="Please edit /etc/ushare.conf to set the shared directories
and other important settings. Check system log if ushare is
not booting."
-S="${WORKDIR}/uShare-${COMMIT}"
+S="${WORKDIR}/uShare-${PV}"
src_configure() {
local myconf
diff --git a/media-video/v4l2loopback/Manifest b/media-video/v4l2loopback/Manifest
index 1421e2da2b68..364a9accd5bf 100644
--- a/media-video/v4l2loopback/Manifest
+++ b/media-video/v4l2loopback/Manifest
@@ -1 +1,2 @@
-DIST v4l2loopback-0.12.5.tar.gz 51468 BLAKE2B 514f686fc6f87feebedb1b047e764fa03938c265c88db0fedfb6aba3544f5b8b495631fc0bcdf4b88c1c4d522f6b4d7546b4d0d10381f6be2efc7f405511033a SHA512 5fd2affbb4a7f38bb78f996179de6570b2bd69cfed2a79c4505e7ea2cdf5b65c0a6807f1f4e03f320b667f5cbe62f26fadd412bc0fec5944e4e394635bf5fb3d
+DIST v4l2loopback-0.12.7.tar.gz 52145 BLAKE2B 08b0dd6dfd065f8bc450aad8d711d1723fe65bbee6be4624038f34e8ad8bc2ed6e544fc5771fb42b0e8c92213c2db71aff5857c0b1fd6343c6900bf27df618d7 SHA512 fcfe55396e9ddad56e592ffccd955c8ceff49c11cfbc5af382123ee0c15b41729b78cb763acbb17d288c48498f2183a4b24f146758ae67e1982b7ab2b07ff973
+DIST v4l2loopback-0.13.1.tar.gz 84323 BLAKE2B ad84826791763107c29ecc79435eb5e6d5bd1c18a18cfeabebaffd2c6f00a17564e8cb2773c35aba40cc181d06a21b2aafc86910b1d160adee98c015497cda7f SHA512 28b8c90f1e5fe48d19f41dbc188bf383ce8a6db33707ef161b55cae3217704a7e45e91a782bc3bf08db338f8ba0f045afd52899026be7e2e9bfeb6799a876628
diff --git a/media-video/v4l2loopback/v4l2loopback-0.12.5-r1.ebuild b/media-video/v4l2loopback/v4l2loopback-0.12.7.ebuild
index 6c4fb6dc4f4b..20dda14f748d 100644
--- a/media-video/v4l2loopback/v4l2loopback-0.12.5-r1.ebuild
+++ b/media-video/v4l2loopback/v4l2loopback-0.12.7.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-inherit linux-mod toolchain-funcs
+inherit linux-mod-r1 toolchain-funcs
case ${PV} in
9999)
@@ -24,11 +24,9 @@ SLOT="0"
IUSE="examples"
CONFIG_CHECK="VIDEO_DEV"
-MODULE_NAMES="v4l2loopback(video:)"
-BUILD_TARGETS="all"
pkg_setup() {
- linux-mod_pkg_setup
+ linux-mod-r1_pkg_setup
export KERNELRELEASE=${KV_FULL}
}
@@ -38,14 +36,18 @@ src_prepare() {
}
src_compile() {
- linux-mod_src_compile
+ local modlist=(
+ v4l2loopback=video:
+ )
+
+ linux-mod-r1_src_compile
if use examples; then
emake CC="$(tc-getCC)" -C examples
fi
}
src_install() {
- linux-mod_src_install
+ linux-mod-r1_src_install
dosbin utils/v4l2loopback-ctl
dodoc doc/kernel_debugging.txt
dodoc doc/docs.txt
diff --git a/media-video/v4l2loopback/v4l2loopback-0.13.1.ebuild b/media-video/v4l2loopback/v4l2loopback-0.13.1.ebuild
new file mode 100644
index 000000000000..545a948b1fb4
--- /dev/null
+++ b/media-video/v4l2loopback/v4l2loopback-0.13.1.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit linux-mod-r1 toolchain-funcs
+
+case ${PV} in
+9999)
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/umlaeute/v4l2loopback.git"
+ ;;
+*)
+ KEYWORDS="~amd64 ~x86"
+ SRC_URI="https://github.com/umlaeute/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ ;;
+esac
+
+DESCRIPTION="v4l2 loopback device whose output is its own input"
+HOMEPAGE="https://github.com/umlaeute/v4l2loopback"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="examples"
+
+CONFIG_CHECK="VIDEO_DEV"
+
+pkg_setup() {
+ linux-mod-r1_pkg_setup
+ export KERNELRELEASE=${KV_FULL}
+}
+
+src_prepare() {
+ default
+ sed -i -e 's/gcc /$(CC) /' examples/Makefile || die
+}
+
+src_compile() {
+ local modlist=(
+ v4l2loopback=video:::all
+ )
+
+ linux-mod-r1_src_compile
+ if use examples; then
+ emake CC="$(tc-getCC)" -C examples
+ fi
+}
+
+src_install() {
+ linux-mod-r1_src_install
+ dosbin utils/v4l2loopback-ctl
+ dodoc doc/kernel_debugging.txt
+ dodoc doc/docs.txt
+ if use examples; then
+ dosbin examples/yuv4mpeg_to_v4l2
+ docinto examples
+ dodoc examples/{*.sh,*.c,Makefile}
+ fi
+}
diff --git a/media-video/v4l2loopback/v4l2loopback-9999.ebuild b/media-video/v4l2loopback/v4l2loopback-9999.ebuild
index 760951059416..545a948b1fb4 100644
--- a/media-video/v4l2loopback/v4l2loopback-9999.ebuild
+++ b/media-video/v4l2loopback/v4l2loopback-9999.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-inherit linux-mod toolchain-funcs
+inherit linux-mod-r1 toolchain-funcs
case ${PV} in
9999)
@@ -11,7 +11,6 @@ case ${PV} in
EGIT_REPO_URI="https://github.com/umlaeute/v4l2loopback.git"
;;
*)
- inherit vcs-snapshot
KEYWORDS="~amd64 ~x86"
SRC_URI="https://github.com/umlaeute/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
;;
@@ -25,11 +24,9 @@ SLOT="0"
IUSE="examples"
CONFIG_CHECK="VIDEO_DEV"
-MODULE_NAMES="v4l2loopback(video:)"
-BUILD_TARGETS="all"
pkg_setup() {
- linux-mod_pkg_setup
+ linux-mod-r1_pkg_setup
export KERNELRELEASE=${KV_FULL}
}
@@ -39,14 +36,18 @@ src_prepare() {
}
src_compile() {
- linux-mod_src_compile
+ local modlist=(
+ v4l2loopback=video:::all
+ )
+
+ linux-mod-r1_src_compile
if use examples; then
emake CC="$(tc-getCC)" -C examples
fi
}
src_install() {
- linux-mod_src_install
+ linux-mod-r1_src_install
dosbin utils/v4l2loopback-ctl
dodoc doc/kernel_debugging.txt
dodoc doc/docs.txt
diff --git a/media-video/vamps/files/vamps-0.99.2-musl.patch b/media-video/vamps/files/vamps-0.99.2-musl.patch
new file mode 100644
index 000000000000..da7fa4b143a4
--- /dev/null
+++ b/media-video/vamps/files/vamps-0.99.2-musl.patch
@@ -0,0 +1,146 @@
+https://bugs.gentoo.org/832384
+--- a/vamps/requant.c
++++ b/vamps/requant.c
+@@ -188,21 +188,21 @@ int old_dc_pred, new_dc_pred;
+
+ // mpeg2 state
+ // seq header
+- static uint horizontal_size_value;
+- static uint vertical_size_value;
++ static unsigned int horizontal_size_value;
++ static unsigned int vertical_size_value;
+
+ // pic header
+- static uint picture_coding_type;
++ static unsigned int picture_coding_type;
+
+ // pic code ext
+- static uint f_code[2][2];
+- static uint intra_dc_precision;
+- static uint picture_structure;
+- static uint frame_pred_frame_dct;
+- static uint concealment_motion_vectors;
+- static uint q_scale_type;
+- static uint intra_vlc_format;
+- static uint alternate_scan;
++ static unsigned int f_code[2][2];
++ static unsigned int intra_dc_precision;
++ static unsigned int picture_structure;
++ static unsigned int frame_pred_frame_dct;
++ static unsigned int concealment_motion_vectors;
++ static unsigned int q_scale_type;
++ static unsigned int intra_vlc_format;
++ static unsigned int alternate_scan;
+
+ // error
+ static int validPicHeader;
+@@ -211,9 +211,9 @@ int old_dc_pred, new_dc_pred;
+ static int sliceError;
+
+ // slice or mb
+- static uint quantizer_scale;
+- static uint new_quantizer_scale;
+- static uint last_coded_scale;
++ static unsigned int quantizer_scale;
++ static unsigned int new_quantizer_scale;
++ static unsigned int last_coded_scale;
+ static int h_offset, v_offset;
+ static int mb_skip, mb_add;
+ static int mb_out;
+@@ -385,7 +385,7 @@ int old_dc_pred, new_dc_pred;
+ assert (wbuf >= owbuf);
+ #endif
+
+-static MINLINE void putbits(uint val, int n)
++static MINLINE void putbits(unsigned int val, int n)
+ {
+ assert(n < 32);
+ assert(!(val & (0xffffffffU << n)));
+@@ -418,7 +418,7 @@ static MINLINE void Refill_bits(void)
+ SEEKR(1)
+ }
+
+-static MINLINE void Flush_Bits(uint n)
++static MINLINE void Flush_Bits(unsigned int n)
+ {
+ assert(inbitcnt >= n);
+
+@@ -430,21 +430,21 @@ static MINLINE void Flush_Bits(uint n)
+ while (unlikely(inbitcnt < 24)) Refill_bits();
+ }
+
+-static MINLINE uint Show_Bits(uint n)
++static MINLINE unsigned int Show_Bits(unsigned int n)
+ {
+ return ((unsigned int)inbitbuf) >> (32 - n);
+ }
+
+-static MINLINE uint Get_Bits(uint n)
++static MINLINE unsigned int Get_Bits(unsigned int n)
+ {
+- uint Val = Show_Bits(n);
++ unsigned int Val = Show_Bits(n);
+ Flush_Bits(n);
+ return Val;
+ }
+
+-static MINLINE uint Copy_Bits(uint n)
++static MINLINE unsigned int Copy_Bits(unsigned int n)
+ {
+- uint Val = Get_Bits(n);
++ unsigned int Val = Get_Bits(n);
+ putbits(Val, n);
+ return Val;
+ }
+@@ -1656,13 +1656,13 @@ static MINLINE void slice_non_intra_DCT (int cur_block)
+ #endif
+ }
+
+-static void motion_fr_frame ( uint f_code[2] )
++static void motion_fr_frame ( unsigned int f_code[2] )
+ {
+ get_motion_delta (f_code[0]);
+ get_motion_delta (f_code[1]);
+ }
+
+-static void motion_fr_field ( uint f_code[2] )
++static void motion_fr_field ( unsigned int f_code[2] )
+ {
+ COPYBITS (bit_buf, bits, 1);
+ get_motion_delta (f_code[0]);
+@@ -1673,7 +1673,7 @@ static void motion_fr_field ( uint f_code[2] )
+ get_motion_delta (f_code[1]);
+ }
+
+-static void motion_fr_dmv ( uint f_code[2] )
++static void motion_fr_dmv ( unsigned int f_code[2] )
+ {
+ get_motion_delta (f_code[0]);
+ get_dmv ();
+@@ -1690,7 +1690,7 @@ static void motion_fr_conceal ( )
+ COPYBITS (bit_buf, bits, 1);
+ }
+
+-static void motion_fi_field ( uint f_code[2] )
++static void motion_fi_field ( unsigned int f_code[2] )
+ {
+ COPYBITS (bit_buf, bits, 1);
+
+@@ -1698,7 +1698,7 @@ static void motion_fi_field ( uint f_code[2] )
+ get_motion_delta (f_code[1]);
+ }
+
+-static void motion_fi_16x8 ( uint f_code[2] )
++static void motion_fi_16x8 ( unsigned int f_code[2] )
+ {
+ COPYBITS (bit_buf, bits, 1);
+
+@@ -1711,7 +1711,7 @@ static void motion_fi_16x8 ( uint f_code[2] )
+ get_motion_delta (f_code[1]);
+ }
+
+-static void motion_fi_dmv ( uint f_code[2] )
++static void motion_fi_dmv ( unsigned int f_code[2] )
+ {
+ get_motion_delta (f_code[0]);
+ get_dmv ();
diff --git a/media-video/vamps/vamps-0.99.2-r2.ebuild b/media-video/vamps/vamps-0.99.2-r2.ebuild
index ffc3f70d3a13..4a474fcebe4b 100644
--- a/media-video/vamps/vamps-0.99.2-r2.ebuild
+++ b/media-video/vamps/vamps-0.99.2-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -20,6 +20,7 @@ RDEPEND="${DEPEND}
PATCHES=(
"${FILESDIR}/${P}-premature-eof.patch"
+ "${FILESDIR}/${P}-musl.patch"
)
src_compile() {
diff --git a/media-video/vcdimager/vcdimager-2.0.1.ebuild b/media-video/vcdimager/vcdimager-2.0.1.ebuild
index 065c2eb6c8ae..ef677b24f99a 100644
--- a/media-video/vcdimager/vcdimager-2.0.1.ebuild
+++ b/media-video/vcdimager/vcdimager-2.0.1.ebuild
@@ -1,15 +1,15 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
-inherit autotools multilib-minimal
+inherit autotools multilib-minimal toolchain-funcs
DESCRIPTION="GNU VCDimager"
HOMEPAGE="https://www.gnu.org/software/vcdimager/"
SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
-LICENSE="GPL-2"
+LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv sparc x86"
IUSE="static-libs +xml"
@@ -19,9 +19,8 @@ RDEPEND="
dev-libs/popt
xml? ( dev-libs/libxml2:2 )
"
-DEPEND="${RDEPEND}
- virtual/pkgconfig
-"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
DOCS=( AUTHORS BUGS ChangeLog FAQ HACKING NEWS README THANKS TODO )
@@ -39,6 +38,11 @@ src_prepare() {
-e 's/noinst_PROGRAMS =/check_PROGRAMS =/' \
example/Makefile.am || die
+ # don't call nm directly. Bug #724838
+ sed -i \
+ -e "s|nm|$(tc-getNM)|" \
+ lib/Makefile.am || die
+
eautoreconf
}
diff --git a/media-video/vcsi/Manifest b/media-video/vcsi/Manifest
index a1bf9ecc990e..eb83ea25222e 100644
--- a/media-video/vcsi/Manifest
+++ b/media-video/vcsi/Manifest
@@ -1 +1 @@
-DIST vcsi-7.0.13-r1.tar.gz 25491 BLAKE2B 64babd9637e7bc01e5b40f33db24309fe7ac7d1eb6c831d9755a313fea1147eccd45951c0d17d874f9f9a417a4fae69b43199f92d30a1f78ea91c724cf9ef92d SHA512 91edd1e82b3a2d8b1cffd0392dd1e807f289a5e4a6885e9d44f39c1393b9bca412b7766b1148233daee611ba9a2ea43af623f50c2c83a24b2250f79f5270d345
+DIST vcsi-7.0.16-r1.tar.gz 36775 BLAKE2B 02d850c1a2bcf69387d3b3b9bfcddc0a34c746af88604f848bb567ba975763eecf03c122a0ee88ab68b3254f669a2133fb64cffb77270557034d9ceb8ffd7894 SHA512 1e9f77a2cd1f4fca0cf051ea6f0600d2307136d2adbe8b51b2a81371136fd3cac5ea2c18a1ac00ef7e85e10f536582224c613fbbfc7acf1b8eb70fdfb32b0889
diff --git a/media-video/vcsi/metadata.xml b/media-video/vcsi/metadata.xml
index 42361307323b..9df76a0edea0 100644
--- a/media-video/vcsi/metadata.xml
+++ b/media-video/vcsi/metadata.xml
@@ -6,4 +6,7 @@
<name>Joonas Niilola</name>
</maintainer>
<stabilize-allarches/>
+ <upstream>
+ <remote-id type="github">amietn/vcsi</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/media-video/vcsi/vcsi-7.0.13-r1.ebuild b/media-video/vcsi/vcsi-7.0.16.ebuild
index 5008444b4815..70c52ec64f44 100644
--- a/media-video/vcsi/vcsi-7.0.13-r1.ebuild
+++ b/media-video/vcsi/vcsi-7.0.16.ebuild
@@ -3,11 +3,12 @@
EAPI=8
-PYTHON_COMPAT=( python3_{9..10} )
+PYTHON_COMPAT=( python3_{10..12} )
+DISTUTILS_USE_PEP517=poetry
inherit distutils-r1
-MY_COMMIT="fa7aa8ca781d0fe3188eea76f79c5702bf9b7330"
+MY_COMMIT="a42353ec9b17e2feb964c0f78830b836625cf148"
DESCRIPTION="Create thumbnail sheets from video files"
HOMEPAGE="https://github.com/amietn/vcsi"
diff --git a/media-video/vdr/Manifest b/media-video/vdr/Manifest
index ad6735144b89..bddcc07e66bd 100644
--- a/media-video/vdr/Manifest
+++ b/media-video/vdr/Manifest
@@ -1,6 +1,7 @@
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.1.tbz2 937103 BLAKE2B d8bbf8cb74f79c328ba7a367cd120d9472be667def851fbdff2f2fda3addbf33ae1f0ab0f20dc0ea6b3a03667e36164a5acf5a17cff8f7934c15f4e61b3a8db2 SHA512 235ffd1654d8f13ba658533bfa5db9c9669e93106a63a770297997f9b8342807f270f26e7a6f5a3c127cd9f760bb94ae77f884dcad42a500615c28e1cf3fd92f
-DIST vdr-2.6.1_ttxtsubs_v2.patch 40549 BLAKE2B 525c05b72fa957372cc1ef91428428f664f42d92eebc06fd0b179afbe99e4ecc4919c69cef000cc15c8340c9a2506d38cbf755fd6665cde1708ce17d4320a35f SHA512 590c43e63818de8be9637cb3b32bf3399b82a181ca151d67e2341232669619020ab78ba9934da3a9c58cdb3bac56fc2a332a5838a92ee0851e42c3707726eb49
-DIST vdr-2.6.3.tbz2 943867 BLAKE2B 48dd2f19125dc60b68d835d3da457b4e2377b7b8ca31b9e1849b9f5ebe29391ed51c9460ec8efc9bdd349adba6d39a2b17f4a3e8f23bea3964b15bcbd9618ec9 SHA512 d84ca2cd797c80134a28cebc28172f45081d4f9580122f823dde396d106a15fa88d5f040252b8ee7caa7d44fa6f1cfba37a13c6a36ecd3fd2734b0140f7c438c
+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-menuorg-2.3.x.diff 8852 BLAKE2B 19b98d51a69f52ecda5500f51ef1741a8397953b20c490055eab0393da5f56ff9598c3e1e8ed8b915f5877e08deeb9ba7a9ef8d9356ad3a1fa12e3778869174a SHA512 7b41c3a529858a4953a57f21619ea01864e140cc1755ee0b03caf1c4de41e80c3f805653502bc8d39d02a4dfcddf720acd4a8c8bd91f4871eef31d86e8e915c0
diff --git a/media-video/vdr/files/vdr-2.6.6_gentoo.patch b/media-video/vdr/files/vdr-2.6.6_gentoo.patch
new file mode 100644
index 000000000000..0fcf4c3de943
--- /dev/null
+++ b/media-video/vdr/files/vdr-2.6.6_gentoo.patch
@@ -0,0 +1,60 @@
+diff -Naur a/Makefile b/Makefile
+--- a/Makefile 2024-01-25 09:44:48.000000000 +0100
++++ b/Makefile 2024-01-28 19:35:17.020243042 +0100
+@@ -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 -n' may be broken, so let's do it the hard way
+ @for i in *.conf; do\
+ if ! [ -e $(DESTDIR)$(CONFDIR)/$$i ] ; then\
+@@ -312,9 +311,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:
+
+@@ -331,8 +330,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/vdr-2.2.0-r7.ebuild b/media-video/vdr/vdr-2.2.0-r7.ebuild
index bba06dbbb477..1f82375d5508 100644
--- a/media-video/vdr/vdr-2.2.0-r7.ebuild
+++ b/media-video/vdr/vdr-2.2.0-r7.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2022 Gentoo Authors
+# Copyright 2022-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -37,7 +37,7 @@ COMMON_DEPEND="
>=media-libs/fontconfig-2.4.2
>=media-libs/freetype-2"
DEPEND="${COMMON_DEPEND}
- >=virtual/linuxtv-dvb-headers-5.3"
+ sys-kernel/linux-headers"
RDEPEND="${COMMON_DEPEND}
dev-lang/perl
>=media-tv/gentoo-vdr-scripts-2.7
diff --git a/media-video/vdr/vdr-2.6.3.ebuild b/media-video/vdr/vdr-2.6.4.ebuild
index dc7302616595..2381f57f8276 100644
--- a/media-video/vdr/vdr-2.6.3.ebuild
+++ b/media-video/vdr/vdr-2.6.4.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2021-2023 Gentoo Authors
+# Copyright 2021-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -9,11 +9,11 @@ DESCRIPTION="Video Disk Recorder - turns a pc into a powerful set top box for DV
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}/${PN}-2.6.1_ttxtsubs_v2.patch )"
+ ttxtsubs? ( https://md11.it.cx/download/${PN}/${P}_ttxtsubs_v2.patch )"
LICENSE="GPL-2+"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~x86"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc x86"
IUSE="bidi debug demoplugins html keyboard mainmenuhooks menuorg naludump permashift pinplugin systemd ttxtsubs verbose"
COMMON_DEPEND="
@@ -24,7 +24,7 @@ COMMON_DEPEND="
media-libs/libjpeg-turbo:=
sys-libs/libcap"
DEPEND="${COMMON_DEPEND}
- >=virtual/linuxtv-dvb-headers-5.3"
+ sys-kernel/linux-headers"
RDEPEND="${COMMON_DEPEND}
dev-lang/perl
media-tv/gentoo-vdr-scripts
@@ -121,7 +121,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 ttxtsubs && eapply "${DISTDIR}/vdr-2.6.1_ttxtsubs_v2.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/vdr/vdr-2.6.1.ebuild b/media-video/vdr/vdr-2.6.6.ebuild
index a59cf1f2c1aa..953a907493f9 100644
--- a/media-video/vdr/vdr-2.6.1.ebuild
+++ b/media-video/vdr/vdr-2.6.6.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2021-2022 Gentoo Authors
+# Copyright 2021-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -9,7 +9,7 @@ DESCRIPTION="Video Disk Recorder - turns a pc into a powerful set top box for DV
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}/${PN}-2.6.1_ttxtsubs_v2.patch )"
+ ttxtsubs? ( https://md11.it.cx/download/${PN}/${P}_ttxtsubs_v2.patch )"
LICENSE="GPL-2+"
SLOT="0"
@@ -21,10 +21,10 @@ COMMON_DEPEND="
acct-user/vdr
media-libs/fontconfig
media-libs/freetype
- media-libs/libjpeg-turbo
+ media-libs/libjpeg-turbo:=
sys-libs/libcap"
DEPEND="${COMMON_DEPEND}
- >=virtual/linuxtv-dvb-headers-5.3"
+ sys-kernel/linux-headers"
RDEPEND="${COMMON_DEPEND}
dev-lang/perl
media-tv/gentoo-vdr-scripts
@@ -111,16 +111,16 @@ src_prepare() {
EOT
eend 0
- eapply "${FILESDIR}/${PN}-2.4.6_gentoo.patch"
+ eapply "${FILESDIR}/${P}_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}/${P}_naludump.patch"
- use permashift && eapply "${FILESDIR}/${P}-patch-for-permashift.patch"
- use pinplugin && eapply "${FILESDIR}/${P}_pinplugin.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}/${PN}-2.6.1_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/vidcutter/Manifest b/media-video/vidcutter/Manifest
index 8c9575a6b569..70fa9d50e525 100644
--- a/media-video/vidcutter/Manifest
+++ b/media-video/vidcutter/Manifest
@@ -1,2 +1 @@
-DIST vidcutter-6.0.5.1-libmpv-api2.patch 2327139 BLAKE2B c2665e2c501a19db86a25145da39e6990843fb11a7bdf3170ec7e268e23a23abb21cd8d4b459a4c862ffc27756106d81e7d9b5d58bf3417fd787c03528eba770 SHA512 063908bf939c03952d623cc0ae7ea301d4605660a548e3088f6c901f3d98cf13a5e49180414c8a1c05931d9c4ca2a251858951676632768ff30954a6df7a4e4a
-DIST vidcutter-6.0.5.1.tar.gz 9909274 BLAKE2B 063c20f6ae0565b0f3a160b5ee298aae05b2ee1876cd4c73d9f37578a9e86a872353c3e2b7b1b6302db3d5a876139bfb19d50bf7cb4dd18e6e1d1a1ca3587fbd SHA512 f2ea2a86d9eaa3c6593e785daad6869c151baa1add529c9edaf2282f7acad762fbb29804790aece5e4fcd89e9e9bc77f61d1f0b68a1b1f3ecf58951ee8f200e9
+DIST vidcutter-6.0.5.1_p20230201.tar.gz 9858362 BLAKE2B da10506810f93f5635a364d35f293a2c587455ee5c29cf28c0636b7441e330e6ab70385c22d9da914a22c71fed9f6d13688bcac9106d4430e5820fdd2b377d28 SHA512 1b355db77f4e78ade6c0553441d9b60739209fde74db6d9f0be3613e31f99806c94f33bf40912a43106dfc77bde09a54768d5786e06116af3dae2f9851823041
diff --git a/media-video/vidcutter/metadata.xml b/media-video/vidcutter/metadata.xml
index 4f7173bae67f..a5d4bcd0c18e 100644
--- a/media-video/vidcutter/metadata.xml
+++ b/media-video/vidcutter/metadata.xml
@@ -2,10 +2,6 @@
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>slashbeast@gentoo.org</email>
- <name>Piotr Karbowski</name>
- </maintainer>
- <maintainer type="person">
<email>zerochaos@gentoo.org</email>
<name>Rick Farina</name>
</maintainer>
diff --git a/media-video/vidcutter/vidcutter-6.0.5.1-r2.ebuild b/media-video/vidcutter/vidcutter-6.0.5.1_p20230201.ebuild
index 7434618fb4e4..e5c3b3b2b5d3 100644
--- a/media-video/vidcutter/vidcutter-6.0.5.1-r2.ebuild
+++ b/media-video/vidcutter/vidcutter-6.0.5.1_p20230201.ebuild
@@ -1,12 +1,14 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-PYTHON_COMPAT=( python3_{9..10} )
+PYTHON_COMPAT=( python3_{9..11} )
+DISTUTILS_USE_PEP517=setuptools
inherit distutils-r1 xdg
+MY_COMMIT="8f01c76f0ec727fa336cb2cb6a645a58e3a29e64"
DESCRIPTION="FFmpeg-based simple video cutter & joiner with a modern PyQt5 GUI"
HOMEPAGE="http://vidcutter.ozmartians.com https://github.com/ozmartian/vidcutter"
@@ -14,8 +16,7 @@ if [[ ${PV} == 9999 ]];then
inherit git-r3
EGIT_REPO_URI="https://github.com/ozmartian/vidcutter"
else
- SRC_URI="https://github.com/ozmartian/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
- SRC_URI+=" https://github.com/ozmartian/${PN}/commit/1d88825feb5a73a50d019914ba9d0008562a58ce.patch -> ${P}-libmpv-api2.patch"
+ SRC_URI="https://github.com/ozmartian/${PN}/archive/${MY_COMMIT}.tar.gz -> ${P}.tar.gz"
KEYWORDS="amd64 x86"
fi
@@ -36,16 +37,7 @@ BDEPEND="
dev-python/setuptools[${PYTHON_USEDEP}]"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-src_prepare() {
- # needed for mpv:0/2 but breaks stable mpv:0/0, do conditional patching
- # for now (we can do has_version given the := binding operator)
- # https://github.com/ozmartian/vidcutter/issues/345
- if has_version -d 'media-video/mpv:0/2'; then
- eapply "${DISTDIR}"/${P}-libmpv-api2.patch
- fi
-
- distutils-r1_src_prepare
-}
+S="${WORKDIR}/${PN}-${MY_COMMIT}"
src_install() {
distutils-r1_src_install
diff --git a/media-video/vidcutter/vidcutter-9999.ebuild b/media-video/vidcutter/vidcutter-9999.ebuild
index 2f533e76bc5f..a8ca07fe5865 100644
--- a/media-video/vidcutter/vidcutter-9999.ebuild
+++ b/media-video/vidcutter/vidcutter-9999.ebuild
@@ -1,9 +1,10 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-PYTHON_COMPAT=( python3_{9..10} )
+PYTHON_COMPAT=( python3_{9..11} )
+DISTUTILS_USE_PEP517=setuptools
inherit distutils-r1 xdg
diff --git a/media-video/videotrans/videotrans-1.6.1-r2.ebuild b/media-video/videotrans/videotrans-1.6.1-r2.ebuild
index 93db7f9ec91e..e1ca3b6b988c 100644
--- a/media-video/videotrans/videotrans-1.6.1-r2.ebuild
+++ b/media-video/videotrans/videotrans-1.6.1-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -22,7 +22,7 @@ DEPEND="
RDEPEND="${DEPEND}
www-client/lynx
app-shells/bash
- sys-devel/bc
+ app-alternatives/bc
"
DOCS=( aspects.txt CHANGES THANKS TODO )
diff --git a/media-video/vidify-audiosync/vidify-audiosync-0.3.0-r1.ebuild b/media-video/vidify-audiosync/vidify-audiosync-0.3.0-r2.ebuild
index c4fb938cae82..ab4c4f67e7ec 100644
--- a/media-video/vidify-audiosync/vidify-audiosync-0.3.0-r1.ebuild
+++ b/media-video/vidify-audiosync/vidify-audiosync-0.3.0-r2.ebuild
@@ -1,10 +1,11 @@
-# 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..11} )
+PYTHON_COMPAT=( python3_{10..12} )
DISTUTILS_USE_PEP517=setuptools
+DISTUTILS_EXT=1
inherit distutils-r1
DESCRIPTION="Audio synchronization feature for vidify"
@@ -19,13 +20,13 @@ IUSE="debug test"
RESTRICT="!test? ( test )"
RDEPEND="
- media-sound/pulseaudio
+ media-libs/libpulse
media-video/ffmpeg[openssl]
media-video/vidify[${PYTHON_USEDEP}]
sci-libs/fftw
debug? ( sci-visualization/gnuplot )
"
-BDEPEND="test? ( dev-util/cmake )"
+BDEPEND="test? ( dev-build/cmake )"
S="${WORKDIR}/old-audiosync-${PV}"
diff --git a/media-video/vidify/vidify-2.2.6-r3.ebuild b/media-video/vidify/vidify-2.2.6-r3.ebuild
index da35e1a7a978..5ca1b5eed6bb 100644
--- a/media-video/vidify/vidify-2.2.6-r3.ebuild
+++ b/media-video/vidify/vidify-2.2.6-r3.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-PYTHON_COMPAT=( python3_{10..11} )
+PYTHON_COMPAT=( python3_{10..12} )
DISTUTILS_USE_PEP517=setuptools
inherit xdg distutils-r1 optfeature virtualx
@@ -28,7 +28,7 @@ RDEPEND="
!dbus? ( dev-python/tekore[${PYTHON_USEDEP}] )
mpv? ( dev-python/python-mpv[${PYTHON_USEDEP}] )
vlc? ( dev-python/python-vlc[${PYTHON_USEDEP}] )
- zeroconf? ( dev-python/python-zeroconf[${PYTHON_USEDEP}] )
+ zeroconf? ( dev-python/zeroconf[${PYTHON_USEDEP}] )
"
# use yt-dlp instead of youtube-dl, otherwise download is too slow for playback
diff --git a/media-video/vlc/Manifest b/media-video/vlc/Manifest
index 61a718d4d063..b565459f5640 100644
--- a/media-video/vlc/Manifest
+++ b/media-video/vlc/Manifest
@@ -1,2 +1 @@
-DIST vlc-3.0.17.4.tar.xz 26567148 BLAKE2B 4f36e7a9695d9e839fbebe92ec85c9411fa5b980b18332caf3dacfe51c6fea30cae71ee4cb0dad8b5536dd7d9b8801987f87a3c978eec17e444eaeacda603881 SHA512 dac14c6586603c064294672eb878253e52b3a7bef431fb10303345e5400591b5c1f2d452a2af03f503db0ca186582a84be06fdf05ab011c33f7b0bd5389c51fb
-DIST vlc-3.0.18.tar.xz 26631372 BLAKE2B 73d80615d5b4789ca980bd631db248e74de13d466e5f19b66a170ca785b46f281a1a242c6fdf14686cfb224aba3ddfeda16ffce11edbef3255c4bbdff36c517d SHA512 6fc8fdaa7e8862ad7133d69b3dab99ab9cd3945846a6ce5e2379b7f68ee9accd385c53b8573fc7c82f732c24678b4932b1154d2ad8accf06305f2f578d6fcd8e
+DIST vlc-3.0.20.tar.xz 25596392 BLAKE2B 4537d6b4b3445a28366cdb7ed7e12d0dc864e19a53d34efcdc0a62226642ec8653cf8d5b74d4aea30c9f324c34166e8fa71653b3b298f5abdebe29c4f21f2865 SHA512 02e58fb52dd75bf483ac4b298aecf86463b13d4782173d164adba6e4552d9262ff5e2ee1cbe1bce2c8a809801b79f328c6a8c475d34ae62aefaea02ae5ade406
diff --git a/media-video/vlc/files/vlc-3.0.14-fix-live-address-api.patch b/media-video/vlc/files/vlc-3.0.14-fix-live-address-api.patch
deleted file mode 100644
index 2d6f86f0aba6..000000000000
--- a/media-video/vlc/files/vlc-3.0.14-fix-live-address-api.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-Needed for https://bugs.gentoo.org/795798 and
-https://code.videolan.org/videolan/vlc/-/issues/25473
-
-From 94845266b705dc9de7921408531b9d7704f4458f Mon Sep 17 00:00:00 2001
-From: Dominic Mayers <dominic.mayers@meditationstudies.org>
-Date: Sun, 28 Mar 2021 04:37:54 -0400
-Subject: [PATCH] Get addr by ref. from getConnectionEndpointAddress.
-
-Fixes issue #25473 in code.videolan.org. The maintainers of live555 changed
-connectionEndpointAddresss to getConnectionEndpointAddress, which now provides
-the address value by reference. Before, connectionEndpointAddresss returned
-the value. So, in modules/access/live555.cpp, we must first get the value and
-then pass it to IsMulticastAddress. The code will not compile with the recent
-live555 unless we also modify modules/access/Makefile.am - a different patch.
----
- modules/access/live555.cpp | 7 +++++--
- 1 file changed, 5 insertions(+), 2 deletions(-)
-
-diff --git a/modules/access/live555.cpp b/modules/access/live555.cpp
-index 01c535ca5b..95e15e35d9 100644
---- a/modules/access/live555.cpp
-+++ b/modules/access/live555.cpp
-@@ -60,6 +60,7 @@
- #include <liveMedia.hh>
- #include <liveMedia_version.hh>
- #include <Base64.hh>
-+#include <NetAddress.hh>
-
- extern "C" {
- #include "../access/mms/asf.h" /* Who said ugly ? */
-@@ -727,7 +728,8 @@ static int SessionsSetup( demux_t *p_demux )
- unsigned const thresh = 200000; /* RTP reorder threshold .2 second (default .1) */
- const char *p_sess_lang = NULL;
- const char *p_lang;
--
-+ struct sockaddr_storage addr;
-+
- b_rtsp_tcp = var_CreateGetBool( p_demux, "rtsp-tcp" ) ||
- var_GetBool( p_demux, "rtsp-http" );
- i_client_port = var_InheritInteger( p_demux, "rtp-client-port" );
-@@ -850,7 +852,8 @@ static int SessionsSetup( demux_t *p_demux )
- if( !p_sys->b_multicast )
- {
- /* We need different rollover behaviour for multicast */
-- p_sys->b_multicast = IsMulticastAddress( sub->connectionEndpointAddress() );
-+ sub->getConnectionEndpointAddress(addr);
-+ p_sys->b_multicast = IsMulticastAddress( addr );
- }
-
- tk = (live_track_t*)malloc( sizeof( live_track_t ) );
---
-2.25.1
-
diff --git a/media-video/vlc/files/vlc-3.0.17.3-dav1d-1.0.0.patch b/media-video/vlc/files/vlc-3.0.17.3-dav1d-1.0.0.patch
deleted file mode 100644
index deb748cdba92..000000000000
--- a/media-video/vlc/files/vlc-3.0.17.3-dav1d-1.0.0.patch
+++ /dev/null
@@ -1,78 +0,0 @@
-https://code.videolan.org/videolan/vlc/-/merge_requests/1618.patch
-https://bugs.gentoo.org/835787
-
-From 0efdfe8799b0100f41c5b8d6e1b43451001386cb Mon Sep 17 00:00:00 2001
-From: Steve Lhomme <robux4@ycbcr.xyz>
-Date: Fri, 18 Mar 2022 11:42:49 +0100
-Subject: [PATCH 1/2] dav1d: fix compilation with (upcoming) dav1d 1.0
-
-(cherry picked from commit dbf45cea2a8abdfbef897b8a71f3eb782bb1b712) (edited)
-edited:
-- 3.0 has the 128 pixels padding elsewhere
-- 3.0 has an extra parameter for add_integer_with_range()
-- 3.0 was setting i_extra_picture_buffers further down in the code
-- 3.0 uses 16 threads max
-
-Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>
---- a/modules/codec/dav1d.c
-+++ b/modules/codec/dav1d.c
-@@ -63,10 +63,16 @@ vlc_module_begin ()
- set_category(CAT_INPUT)
- set_subcategory(SUBCAT_INPUT_VCODEC)
-
-+#if DAV1D_API_VERSION_MAJOR >= 6
-+ add_integer_with_range("dav1d-thread-frames", 0, 0, DAV1D_MAX_THREADS,
-+ THREAD_FRAMES_TEXT, THREAD_FRAMES_LONGTEXT, false)
-+ add_obsolete_string("dav1d-thread-tiles") // unused with dav1d 1.0
-+#else
- add_integer_with_range("dav1d-thread-frames", 0, 0, DAV1D_MAX_FRAME_THREADS,
- THREAD_FRAMES_TEXT, THREAD_FRAMES_LONGTEXT, false)
- add_integer_with_range("dav1d-thread-tiles", 0, 0, DAV1D_MAX_TILE_THREADS,
- THREAD_TILES_TEXT, THREAD_TILES_LONGTEXT, false)
-+#endif
- vlc_module_end ()
-
- /*****************************************************************************
-@@ -294,6 +300,11 @@ static int OpenDecoder(vlc_object_t *p_this)
- return VLC_ENOMEM;
-
- dav1d_default_settings(&p_sys->s);
-+#if DAV1D_API_VERSION_MAJOR >= 6
-+ p_sys->s.n_threads = var_InheritInteger(p_this, "dav1d-thread-frames");
-+ if (p_sys->s.n_threads == 0)
-+ p_sys->s.n_threads = (i_core_count < 16) ? i_core_count : 16;
-+#else
- p_sys->s.n_tile_threads = var_InheritInteger(p_this, "dav1d-thread-tiles");
- if (p_sys->s.n_tile_threads == 0)
- p_sys->s.n_tile_threads =
-@@ -303,6 +314,7 @@ static int OpenDecoder(vlc_object_t *p_this)
- p_sys->s.n_frame_threads = var_InheritInteger(p_this, "dav1d-thread-frames");
- if (p_sys->s.n_frame_threads == 0)
- p_sys->s.n_frame_threads = (i_core_count < 16) ? i_core_count : 16;
-+#endif
- p_sys->s.allocator.cookie = dec;
- p_sys->s.allocator.alloc_picture_callback = NewPicture;
- p_sys->s.allocator.release_picture_callback = FreePicture;
-@@ -313,12 +325,20 @@ static int OpenDecoder(vlc_object_t *p_this)
- return VLC_EGENERIC;
- }
-
-+#if DAV1D_API_VERSION_MAJOR >= 6
-+ msg_Dbg(p_this, "Using dav1d version %s with %d threads",
-+ dav1d_version(), p_sys->s.n_threads);
-+
-+ dec->i_extra_picture_buffers = (p_sys->s.n_threads - 1);
-+#else
- msg_Dbg(p_this, "Using dav1d version %s with %d/%d frame/tile threads",
- dav1d_version(), p_sys->s.n_frame_threads, p_sys->s.n_tile_threads);
-
-+ dec->i_extra_picture_buffers = (p_sys->s.n_frame_threads - 1);
-+#endif
-+
- dec->pf_decode = Decode;
- dec->pf_flush = FlushDecoder;
-- dec->i_extra_picture_buffers = (p_sys->s.n_frame_threads - 1);
-
- dec->fmt_out.video.i_width = dec->fmt_in.video.i_width;
- dec->fmt_out.video.i_height = dec->fmt_in.video.i_height;
-GitLab
diff --git a/media-video/vlc/files/vlc-3.0.17.4-gcc13.patch b/media-video/vlc/files/vlc-3.0.17.4-gcc13.patch
deleted file mode 100644
index 374cd5ada0ac..000000000000
--- a/media-video/vlc/files/vlc-3.0.17.4-gcc13.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-https://code.videolan.org/robUx4/vlc/-/commit/6fca76ebd76bf8fce9b111e31bda64015cdc770f
-https://bugs.gentoo.org/875785
-
-From 6fca76ebd76bf8fce9b111e31bda64015cdc770f Mon Sep 17 00:00:00 2001
-From: Johannes Kauffmann <johanneskauffmann@hotmail.com>
-Date: Mon, 11 Jul 2022 19:35:57 +0000
-Subject: [PATCH] demux: dash: include cstdint, needed for uint64_t
-
-Fixes #27077.
---- a/modules/demux/dash/mpd/TemplatedUri.hpp
-+++ b/modules/demux/dash/mpd/TemplatedUri.hpp
-@@ -21,6 +21,7 @@
- #ifndef TEMPLATEDURI_HPP
- #define TEMPLATEDURI_HPP
-
-+#include <cstdint>
- #include <string>
-
- namespace dash
-GitLab
diff --git a/media-video/vlc/files/vlc-3.0.18-drop-minizip-dep.patch b/media-video/vlc/files/vlc-3.0.18-drop-minizip-dep.patch
new file mode 100644
index 000000000000..6cd7019f6ed0
--- /dev/null
+++ b/media-video/vlc/files/vlc-3.0.18-drop-minizip-dep.patch
@@ -0,0 +1,38 @@
+Nothing uses this.
+
+From 6cd8ac42e8c296eb1c9e154b3e99dab8bffcad0a Mon Sep 17 00:00:00 2001
+From: Steve Lhomme <robux4@ycbcr.xyz>
+Date: Thu, 12 Apr 2018 13:24:38 +0200
+Subject: [PATCH] configure: remove minizip check not referenced anywhere
+
+(cherry picked from commit d22de99eb8c46786ca2feb4abca2e4f25ceeb0a8)
+--- a/configure.ac
++++ b/configure.ac
+@@ -890,23 +890,14 @@ AS_IF([test -n "${PKG_CONFIG}" ],[
+
+
+ dnl
+-dnl Check for zlib.h and -lz along with system -lminizip if available
++dnl Check for zlib.h and -lz if available
+ dnl
+ AC_CHECK_HEADERS(zlib.h, [ have_zlib=yes ], [ have_zlib=no ])
+ AM_CONDITIONAL(HAVE_ZLIB, [ test "${have_zlib}" = "yes" ])
+ if test "${have_zlib}" = "yes"
+ then
+ VLC_ADD_LIBS([sap],[-lz])
+- PKG_CHECK_MODULES([MINIZIP], [minizip] , [ have_minizip=yes ], [
+- AC_CHECK_HEADERS([unzip.h], [
+- have_minizip=yes
+- MINIZIP_LIBS="-lminizip -lz"
+- ], [
+- have_minizip=no
+- ])
+- ])
+ fi
+-AM_CONDITIONAL(HAVE_MINIZIP, [ test "${have_minizip}" = "yes" ])
+
+
+ dnl
+--
+2.41.0
+
diff --git a/media-video/vlc/files/vlc-3.0.20-c99-2.patch b/media-video/vlc/files/vlc-3.0.20-c99-2.patch
new file mode 100644
index 000000000000..56397d913d8e
--- /dev/null
+++ b/media-video/vlc/files/vlc-3.0.20-c99-2.patch
@@ -0,0 +1,23 @@
+https://bugs.gentoo.org/926261
+https://code.videolan.org/videolan/vlc/-/commit/770789f265761fc7ab2de69ca105fec4ad93d9e2
+
+From 770789f265761fc7ab2de69ca105fec4ad93d9e2 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?R=C3=A9mi=20Denis-Courmont?= <remi@remlab.net>
+Date: Mon, 26 Feb 2018 20:36:29 +0200
+Subject: [PATCH] chromaprint: missing cast
+
+(cherry picked from commit 7bd5bab3e43ae187f7219db61ed85d06d2ba0547)
+Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>
+--- a/modules/stream_out/chromaprint.c
++++ b/modules/stream_out/chromaprint.c
+@@ -231,7 +231,7 @@ static int Send( sout_stream_t *p_stream, sout_stream_id_sys_t *id,
+ if ( !p_sys->b_finished && id->i_samples > 0 && p_buf->i_buffer )
+ {
+ if(! chromaprint_feed( p_sys->p_chromaprint_ctx,
+- p_buf->p_buffer,
++ (int16_t *)p_buf->p_buffer,
+ p_buf->i_buffer / BYTESPERSAMPLE ) )
+ msg_Warn( p_stream, "feed error" );
+ id->i_samples -= i_samples;
+--
+GitLab
diff --git a/media-video/vlc/files/vlc-3.0.20-c99.patch b/media-video/vlc/files/vlc-3.0.20-c99.patch
new file mode 100644
index 000000000000..135e1e6b9e5b
--- /dev/null
+++ b/media-video/vlc/files/vlc-3.0.20-c99.patch
@@ -0,0 +1,150 @@
+https://bugs.gentoo.org/919068
+https://code.videolan.org/videolan/vlc/-/issues/28441
+https://code.videolan.org/videolan/vlc/-/merge_requests/4645
+
+From 1e2918115ca2f5c4ffde00dc02ad89525714f6c2 Mon Sep 17 00:00:00 2001
+From: Thomas Guillem <thomas@gllm.fr>
+Date: Tue, 5 Dec 2023 09:23:35 +0100
+Subject: [PATCH 1/5] input: fix incompatible-pointer-types assignment
+
+Fixes #28441
+--- a/src/input/input_internal.h
++++ b/src/input/input_internal.h
+@@ -117,7 +117,7 @@ typedef struct input_thread_private_t
+
+ /* Title infos FIXME multi-input (not easy) ? */
+ int i_title;
+- const input_title_t **title;
++ input_title_t * const *title;
+
+ int i_title_offset;
+ int i_seekpoint_offset;
+--
+GitLab
+
+
+From adcf4e66e2ce2c382bb97957c91bfde040f4f3ca Mon Sep 17 00:00:00 2001
+From: Zhao Zhili <quinkblack@foxmail.com>
+Date: Thu, 1 Mar 2018 14:25:59 +0800
+Subject: [PATCH 2/5] yadif: fix variable type
+
+Signed-off-by: Thomas Guillem <thomas@gllm.fr>
+(cherry picked from commit 77b86f4452be4dbe0d56a9cd1b66da61b116da60)
+Signed-off-by: Thomas Guillem <thomas@gllm.fr>
+--- a/modules/video_filter/deinterlace/yadif.h
++++ b/modules/video_filter/deinterlace/yadif.h
+@@ -140,10 +140,10 @@ static void yadif_filter_line_c(uint8_t *dst, uint8_t *prev, uint8_t *cur, uint8
+ }
+
+ static void yadif_filter_line_c_16bit(uint8_t *dst8, uint8_t *prev8, uint8_t *cur8, uint8_t *next8, int w, int prefs, int mrefs, int parity, int mode) {
+- uint8_t *dst = (uint8_t *)dst8;
+- uint8_t *prev = (uint8_t *)prev8;
+- uint8_t *cur = (uint8_t *)cur8;
+- uint8_t *next = (uint8_t *)next8;
++ uint16_t *dst = (uint16_t *)dst8;
++ uint16_t *prev = (uint16_t *)prev8;
++ uint16_t *cur = (uint16_t *)cur8;
++ uint16_t *next = (uint16_t *)next8;
+ int x;
+ uint16_t *prev2= parity ? prev : cur ;
+ uint16_t *next2= parity ? cur : next;
+--
+GitLab
+
+
+From 45198e5328ff2b2f4eb2fb76add0789fec26270f Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?R=C3=A9mi=20Denis-Courmont?= <remi@remlab.net>
+Date: Sun, 3 Mar 2019 09:59:10 +0200
+Subject: [PATCH 3/5] swscale: avoid invalid pointer conversion
+
+(cherry picked from commit ab00e6c59d42e05ab08893091783d8b5febc0058)
+Signed-off-by: Thomas Guillem <thomas@gllm.fr>
+--- a/modules/video_chroma/swscale.c
++++ b/modules/video_chroma/swscale.c
+@@ -588,8 +588,9 @@ static void Convert( filter_t *p_filter, struct SwsContext *ctx,
+ {
+ filter_sys_t *p_sys = p_filter->p_sys;
+ uint8_t palette[AVPALETTE_SIZE];
+- uint8_t *src[4]; int src_stride[4];
+- uint8_t *dst[4]; int dst_stride[4];
++ uint8_t *src[4], *dst[4];
++ const uint8_t *csrc[4];
++ int src_stride[4], dst_stride[4];
+
+ GetPixels( src, src_stride, p_sys->desc_in, &p_filter->fmt_in.video,
+ p_src, i_plane_count, b_swap_uvi );
+@@ -606,11 +607,14 @@ static void Convert( filter_t *p_filter, struct SwsContext *ctx,
+ GetPixels( dst, dst_stride, p_sys->desc_out, &p_filter->fmt_out.video,
+ p_dst, i_plane_count, b_swap_uvo );
+
++ for (size_t i = 0; i < ARRAY_SIZE(src); i++)
++ csrc[i] = src[i];
++
+ #if LIBSWSCALE_VERSION_INT >= ((0<<16)+(5<<8)+0)
+- sws_scale( ctx, src, src_stride, 0, i_height,
++ sws_scale( ctx, csrc, src_stride, 0, i_height,
+ dst, dst_stride );
+ #else
+- sws_scale_ordered( ctx, src, src_stride, 0, i_height,
++ sws_scale_ordered( ctx, csrc, src_stride, 0, i_height,
+ dst, dst_stride );
+ #endif
+ }
+--
+GitLab
+
+
+From 4431076ad4a21fdcabd3f7ef1d61c45891689b0c Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?R=C3=A9mi=20Denis-Courmont?= <remi@remlab.net>
+Date: Sun, 3 Mar 2019 17:20:04 +0200
+Subject: [PATCH 4/5] dynamicoverlay: fix variable shadowing
+
+(cherry picked from commit d42e05d6b2c061ae352c131d5aebf8c8d8aa6d35)
+Signed-off-by: Thomas Guillem <thomas@gllm.fr>
+--- a/modules/spu/dynamicoverlay/dynamicoverlay_commands.c
++++ b/modules/spu/dynamicoverlay/dynamicoverlay_commands.c
+@@ -899,12 +899,11 @@ static const commanddesc_static_t p_commands[] =
+ void RegisterCommand( filter_t *p_filter )
+ {
+ filter_sys_t *p_sys = (filter_sys_t*) p_filter->p_sys;
+- size_t i_index = 0;
+
+ p_sys->i_commands = ARRAY_SIZE(p_commands);
+ p_sys->pp_commands = (commanddesc_t **) calloc( p_sys->i_commands, sizeof(commanddesc_t*) );
+ if( !p_sys->pp_commands ) return;
+- for( i_index = 0; i_index < p_sys->i_commands; i_index ++ )
++ for( size_t i_index = 0; i_index < p_sys->i_commands; i_index ++ )
+ {
+ p_sys->pp_commands[i_index] = (commanddesc_t *) malloc( sizeof(commanddesc_t) );
+ if( !p_sys->pp_commands[i_index] ) return;
+--
+GitLab
+
+
+From fda14fc7c013eb75291df10cc8b88336c51328ad Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?R=C3=A9mi=20Denis-Courmont?= <remi@remlab.net>
+Date: Mon, 26 Feb 2018 20:43:03 +0200
+Subject: [PATCH 5/5] dynamicoverlay: fix memory corruption
+
+Font alpha is 8-bits, not 32-bits.
+
+(cherry picked from commit 6f14081af7325d334a53126c4eea52bc30fc08a0)
+Signed-off-by: Thomas Guillem <thomas@gllm.fr>
+--- a/modules/spu/dynamicoverlay/dynamicoverlay_commands.c
++++ b/modules/spu/dynamicoverlay/dynamicoverlay_commands.c
+@@ -234,8 +234,12 @@ static int parser_SetTextAlpha( char *psz_command, char *psz_end,
+ skip_space( &psz_command );
+ if( isdigit( (unsigned char)*psz_command ) )
+ {
+- if( parse_digit( &psz_command, &p_params->fontstyle.i_font_alpha ) == VLC_EGENERIC )
++ int32_t value;
++
++ if( parse_digit( &psz_command, &value ) == VLC_EGENERIC )
+ return VLC_EGENERIC;
++
++ p_params->fontstyle.i_font_alpha = value;
+ }
+ return VLC_SUCCESS;
+ }
+--
+GitLab
diff --git a/media-video/vlc/files/vlc-configure_lua_version.patch b/media-video/vlc/files/vlc-9999-configure-lua-version.patch
index 2628075535a6..223841de8a3c 100644
--- a/media-video/vlc/files/vlc-configure_lua_version.patch
+++ b/media-video/vlc/files/vlc-9999-configure-lua-version.patch
@@ -1,10 +1,6 @@
-Only look for one single version of Lua: the one pointed to by the
-pkgconfig package 'lua'. The wrapper set up by lua eclasses will take care
-of the rest.
-
---- a/configure.ac 2021-06-11 12:20:01.222417096 +0200
-+++ b/configure.ac 2021-06-11 12:21:00.257419197 +0200
-@@ -1907,44 +1907,10 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -1847,43 +1847,10 @@ AC_ARG_ENABLE([lua],
[disable LUA scripting support (default enabled)]))
if test "${enable_lua}" != "no"
then
@@ -45,11 +41,10 @@ of the rest.
- AS_IF([test "${have_lua_lib}" = "yes"], [
- AC_CHECK_HEADERS([lua.h lauxlib.h lualib.h], [ have_lua=yes ], []) ])
- ])
--
+ PKG_CHECK_MODULES(LUA, lua,
+ [ have_lua=yes ],
+ [ have_lua=no ]
-+ )
- if test "x${have_lua}" != "xyes" ; then
++ )
+
+ if test "${have_lua}" != "yes" ; then
AC_MSG_ERROR([Could not find lua. Lua is needed for some interfaces (rc, telnet, http) as well as many other custom scripts. Use --disable-lua to ignore this error.])
- fi
diff --git a/media-video/vlc/files/vlc-9999-fix-libtremor-libs.patch b/media-video/vlc/files/vlc-9999-fix-libtremor-libs.patch
new file mode 100644
index 000000000000..3703cea1f10d
--- /dev/null
+++ b/media-video/vlc/files/vlc-9999-fix-libtremor-libs.patch
@@ -0,0 +1,11 @@
+--- a/modules/codec/Makefile.am
++++ b/modules/codec/Makefile.am
+@@ -332,7 +332,7 @@ codec_LTLIBRARIES += $(LTLIBdaala)
+ libtremor_plugin_la_SOURCES = codec/vorbis.c
+ libtremor_plugin_la_CPPFLAGS = $(AM_CPPFLAGS) -DPLUGIN_TREMOR
+ libtremor_plugin_la_LDFLAGS = $(AM_LDFLAGS) -rpath '$(codecdir)'
+-libtremor_plugin_la_LIBADD = -lvorbisdec -logg
++libtremor_plugin_la_LIBADD = $(VORBIS_LIBS) $(OGG_LIBS)
+ EXTRA_LTLIBRARIES += libtremor_plugin.la
+ codec_LTLIBRARIES += $(LTLIBtremor)
+
diff --git a/media-video/vlc/metadata.xml b/media-video/vlc/metadata.xml
index 04d77ec3a18e..9e6c642f023f 100644
--- a/media-video/vlc/metadata.xml
+++ b/media-video/vlc/metadata.xml
@@ -43,7 +43,6 @@
<flag name="sdl-image">Enable sdl image video decoder (depends on sdl)</flag>
<flag name="sftp">Enable libssh2 to support SFTP file transfer</flag>
<flag name="shout">Enable libshout output</flag>
- <flag name="sid">Adds support for playing C64 SID files through <pkg>media-libs/libsidplay</pkg>:2</flag>
<flag name="skins">Enable support for the skins2 interface</flag>
<flag name="soxr">Enable SoX Resampler support via <pkg>media-libs/soxr</pkg></flag>
<flag name="srt">Enable support for Secure Reliable Transport (SRT) via <pkg>net-libs/srt</pkg></flag>
diff --git a/media-video/vlc/vlc-3.0.17.4-r2.ebuild b/media-video/vlc/vlc-3.0.20-r10.ebuild
index 824a5c251898..7e985624bdd5 100644
--- a/media-video/vlc/vlc-3.0.17.4-r2.ebuild
+++ b/media-video/vlc/vlc-3.0.20-r10.ebuild
@@ -1,7 +1,7 @@
-# Copyright 2000-2022 Gentoo Authors
+# Copyright 2000-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
LUA_COMPAT=( lua5-{1..2} )
@@ -32,7 +32,7 @@ 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 gnome-keyring gstreamer +gui ieee1394 jack jpeg kate
+ 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
@@ -48,7 +48,7 @@ REQUIRED_USE="
libtar? ( skins )
libtiger? ( kate )
lua? ( ${LUA_REQUIRED_USE} )
- skins? ( gui truetype X xml )
+ skins? ( archive gui truetype X xml )
ssl? ( gcrypt )
vaapi? ( ffmpeg X )
vdpau? ( ffmpeg X )
@@ -58,12 +58,14 @@ BDEPEND="
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[minizip]
+ sys-libs/zlib
virtual/libintl
virtual/opengl
a52? ( media-libs/a52dec )
@@ -110,7 +112,7 @@ RDEPEND="
dev-libs/libgpg-error
)
gme? ( media-libs/game-music-emu )
- gnome-keyring? ( app-crypt/libsecret )
+ keyring? ( app-crypt/libsecret )
gstreamer? ( >=media-libs/gst-plugins-base-1.4.5:1.0 )
gui? (
dev-qt/qtcore:5
@@ -153,7 +155,7 @@ RDEPEND="
media-libs/libmatroska:=
)
modplug? ( >=media-libs/libmodplug-0.8.9.0 )
- mp3? ( media-sound/mpg123 )
+ mp3? ( media-sound/mpg123-base )
mpeg? ( media-libs/libmpeg2 )
mtp? ( media-libs/libmtp:= )
musepack? ( media-sound/musepack-tools )
@@ -166,8 +168,8 @@ RDEPEND="
media-fonts/dejavu
>=media-libs/libprojectm-3.1.12:0=
)
- pulseaudio? ( media-sound/pulseaudio )
- rdp? ( >=net-misc/freerdp-2.0.0_rc0:=[client(+)] )
+ pulseaudio? ( media-libs/libpulse )
+ rdp? ( >=net-misc/freerdp-2.0.0_rc0:2=[client(+)] )
samba? ( >=net-fs/samba-4.0.0:0[client,-debug(-)] )
sdl-image? ( media-libs/sdl-image )
sftp? ( net-libs/libssh2 )
@@ -201,7 +203,10 @@ RDEPEND="
udev? ( virtual/udev )
upnp? ( net-libs/libupnp:=[ipv6(+)] )
v4l? ( media-libs/libv4l:= )
- vaapi? ( media-libs/libva:=[drm(+),wayland?,X?] )
+ vaapi? (
+ <media-video/ffmpeg-5
+ media-libs/libva:=[drm(+),wayland?,X?]
+ )
vdpau? ( x11-libs/libvdpau )
vnc? ( net-libs/libvncserver )
vpx? ( media-libs/libvpx:= )
@@ -230,9 +235,9 @@ PATCHES=(
"${FILESDIR}"/${PN}-2.2.8-freerdp-2.patch # bug 590164
"${FILESDIR}"/${PN}-3.0.6-fdk-aac-2.0.0.patch # bug 672290
"${FILESDIR}"/${PN}-3.0.11.1-configure_lua_version.patch
- "${FILESDIR}"/${PN}-3.0.14-fix-live-address-api.patch # bug 835072
- "${FILESDIR}"/${PN}-3.0.17.3-dav1d-1.0.0.patch # bug 835787
- "${FILESDIR}"/${PN}-3.0.17.4-gcc13.patch # bug 875785
+ "${FILESDIR}"/${PN}-3.0.18-drop-minizip-dep.patch
+ "${FILESDIR}"/${PN}-3.0.20-c99.patch
+ "${FILESDIR}"/${PN}-3.0.20-c99-2.patch
)
DOCS=( AUTHORS THANKS NEWS README doc/fortunes.txt )
@@ -246,7 +251,10 @@ pkg_setup() {
}
src_prepare() {
- xdg_src_prepare # bug 608256
+ default
+
+ # bug 608256
+ xdg_environment_reset
has_version 'net-libs/libupnp:1.8' && \
eapply "${FILESDIR}"/${PN}-2.2.8-libupnp-slot-1.8.patch
@@ -334,7 +342,7 @@ src_configure() {
$(use_enable fontconfig)
$(use_enable gcrypt libgcrypt)
$(use_enable gme)
- $(use_enable gnome-keyring secret)
+ $(use_enable keyring secret)
$(use_enable gstreamer gst-decode)
$(use_enable gui qt)
$(use_enable ieee1394 dv1394)
@@ -434,8 +442,12 @@ src_configure() {
)
# ^ 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/usr/include/samba-4.0"
+ 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
@@ -444,12 +456,6 @@ src_configure() {
replace-flags -Os -O2
fi
- if use omxil; then
- # bug #723006
- # https://trac.videolan.org/vlc/ticket/24617
- append-cflags -fcommon
- fi
-
# FIXME: Needs libresid-builder from libsidplay:2 which is in another directory...
append-ldflags "-L${ESYSROOT}/usr/$(get_libdir)/sidplay/builders/"
diff --git a/media-video/vlc/vlc-3.0.18.ebuild b/media-video/vlc/vlc-3.0.20-r5.ebuild
index e67e949893de..13f40cc843a3 100644
--- a/media-video/vlc/vlc-3.0.18.ebuild
+++ b/media-video/vlc/vlc-3.0.20-r5.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2000-2022 Gentoo Authors
+# Copyright 2000-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -32,7 +32,7 @@ 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 gnome-keyring gstreamer +gui ieee1394 jack jpeg kate
+ 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
@@ -48,7 +48,7 @@ REQUIRED_USE="
libtar? ( skins )
libtiger? ( kate )
lua? ( ${LUA_REQUIRED_USE} )
- skins? ( gui truetype X xml )
+ skins? ( archive gui truetype X xml )
ssl? ( gcrypt )
vaapi? ( ffmpeg X )
vdpau? ( ffmpeg X )
@@ -58,12 +58,14 @@ BDEPEND="
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[minizip]
+ sys-libs/zlib
virtual/libintl
virtual/opengl
a52? ( media-libs/a52dec )
@@ -110,7 +112,7 @@ RDEPEND="
dev-libs/libgpg-error
)
gme? ( media-libs/game-music-emu )
- gnome-keyring? ( app-crypt/libsecret )
+ keyring? ( app-crypt/libsecret )
gstreamer? ( >=media-libs/gst-plugins-base-1.4.5:1.0 )
gui? (
dev-qt/qtcore:5
@@ -153,7 +155,7 @@ RDEPEND="
media-libs/libmatroska:=
)
modplug? ( >=media-libs/libmodplug-0.8.9.0 )
- mp3? ( media-sound/mpg123 )
+ mp3? ( media-sound/mpg123-base )
mpeg? ( media-libs/libmpeg2 )
mtp? ( media-libs/libmtp:= )
musepack? ( media-sound/musepack-tools )
@@ -166,8 +168,8 @@ RDEPEND="
media-fonts/dejavu
>=media-libs/libprojectm-3.1.12:0=
)
- pulseaudio? ( media-sound/pulseaudio )
- rdp? ( >=net-misc/freerdp-2.0.0_rc0:=[client(+)] )
+ pulseaudio? ( media-libs/libpulse )
+ rdp? ( >=net-misc/freerdp-2.0.0_rc0:0=[client(+)] <net-misc/freerdp-3:0 )
samba? ( >=net-fs/samba-4.0.0:0[client,-debug(-)] )
sdl-image? ( media-libs/sdl-image )
sftp? ( net-libs/libssh2 )
@@ -201,7 +203,10 @@ RDEPEND="
udev? ( virtual/udev )
upnp? ( net-libs/libupnp:=[ipv6(+)] )
v4l? ( media-libs/libv4l:= )
- vaapi? ( media-libs/libva:=[drm(+),wayland?,X?] )
+ vaapi? (
+ <media-video/ffmpeg-5
+ media-libs/libva:=[drm(+),wayland?,X?]
+ )
vdpau? ( x11-libs/libvdpau )
vnc? ( net-libs/libvncserver )
vpx? ( media-libs/libvpx:= )
@@ -230,6 +235,8 @@ PATCHES=(
"${FILESDIR}"/${PN}-2.2.8-freerdp-2.patch # bug 590164
"${FILESDIR}"/${PN}-3.0.6-fdk-aac-2.0.0.patch # bug 672290
"${FILESDIR}"/${PN}-3.0.11.1-configure_lua_version.patch
+ "${FILESDIR}"/${PN}-3.0.18-drop-minizip-dep.patch
+ "${FILESDIR}"/${PN}-3.0.20-c99.patch
)
DOCS=( AUTHORS THANKS NEWS README doc/fortunes.txt )
@@ -334,7 +341,7 @@ src_configure() {
$(use_enable fontconfig)
$(use_enable gcrypt libgcrypt)
$(use_enable gme)
- $(use_enable gnome-keyring secret)
+ $(use_enable keyring secret)
$(use_enable gstreamer gst-decode)
$(use_enable gui qt)
$(use_enable ieee1394 dv1394)
@@ -434,8 +441,12 @@ src_configure() {
)
# ^ 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/usr/include/samba-4.0"
+ 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
@@ -444,12 +455,6 @@ src_configure() {
replace-flags -Os -O2
fi
- if use omxil; then
- # bug #723006
- # https://trac.videolan.org/vlc/ticket/24617
- append-cflags -fcommon
- fi
-
# FIXME: Needs libresid-builder from libsidplay:2 which is in another directory...
append-ldflags "-L${ESYSROOT}/usr/$(get_libdir)/sidplay/builders/"
diff --git a/media-video/vlc/vlc-3.0.9999.ebuild b/media-video/vlc/vlc-3.0.9999.ebuild
index ceca1a3dae1d..278eb623b4b6 100644
--- a/media-video/vlc/vlc-3.0.9999.ebuild
+++ b/media-video/vlc/vlc-3.0.9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2000-2022 Gentoo Authors
+# Copyright 2000-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -20,7 +20,7 @@ else
else
SRC_URI="https://download.videolan.org/pub/videolan/testing/${MY_P}/${MY_P}.tar.xz"
fi
- KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 -sparc ~x86"
+ KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv -sparc ~x86"
fi
inherit autotools flag-o-matic lua-single toolchain-funcs virtualx xdg
@@ -32,7 +32,7 @@ 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 gnome-keyring gstreamer +gui ieee1394 jack jpeg kate
+ 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
@@ -48,7 +48,7 @@ REQUIRED_USE="
libtar? ( skins )
libtiger? ( kate )
lua? ( ${LUA_REQUIRED_USE} )
- skins? ( gui truetype X xml )
+ skins? ( archive gui truetype X xml )
ssl? ( gcrypt )
vaapi? ( ffmpeg X )
vdpau? ( ffmpeg X )
@@ -58,12 +58,14 @@ BDEPEND="
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[minizip]
+ sys-libs/zlib
virtual/libintl
virtual/opengl
a52? ( media-libs/a52dec )
@@ -110,7 +112,7 @@ RDEPEND="
dev-libs/libgpg-error
)
gme? ( media-libs/game-music-emu )
- gnome-keyring? ( app-crypt/libsecret )
+ keyring? ( app-crypt/libsecret )
gstreamer? ( >=media-libs/gst-plugins-base-1.4.5:1.0 )
gui? (
dev-qt/qtcore:5
@@ -153,7 +155,7 @@ RDEPEND="
media-libs/libmatroska:=
)
modplug? ( >=media-libs/libmodplug-0.8.9.0 )
- mp3? ( media-sound/mpg123 )
+ mp3? ( media-sound/mpg123-base )
mpeg? ( media-libs/libmpeg2 )
mtp? ( media-libs/libmtp:= )
musepack? ( media-sound/musepack-tools )
@@ -166,8 +168,8 @@ RDEPEND="
media-fonts/dejavu
>=media-libs/libprojectm-3.1.12:0=
)
- pulseaudio? ( media-sound/pulseaudio )
- rdp? ( >=net-misc/freerdp-2.0.0_rc0:=[client(+)] )
+ pulseaudio? ( media-libs/libpulse )
+ rdp? ( >=net-misc/freerdp-2.0.0_rc0:2=[client(+)] )
samba? ( >=net-fs/samba-4.0.0:0[client,-debug(-)] )
sdl-image? ( media-libs/sdl-image )
sftp? ( net-libs/libssh2 )
@@ -201,7 +203,10 @@ RDEPEND="
udev? ( virtual/udev )
upnp? ( net-libs/libupnp:=[ipv6(+)] )
v4l? ( media-libs/libv4l:= )
- vaapi? ( media-libs/libva:=[drm(+),wayland?,X?] )
+ vaapi? (
+ <media-video/ffmpeg-5
+ media-libs/libva:=[drm(+),wayland?,X?]
+ )
vdpau? ( x11-libs/libvdpau )
vnc? ( net-libs/libvncserver )
vpx? ( media-libs/libvpx:= )
@@ -230,6 +235,7 @@ PATCHES=(
"${FILESDIR}"/${PN}-2.2.8-freerdp-2.patch # bug 590164
"${FILESDIR}"/${PN}-3.0.6-fdk-aac-2.0.0.patch # bug 672290
"${FILESDIR}"/${PN}-3.0.11.1-configure_lua_version.patch
+ "${FILESDIR}"/${PN}-3.0.18-drop-minizip-dep.patch
)
DOCS=( AUTHORS THANKS NEWS README doc/fortunes.txt )
@@ -334,7 +340,7 @@ src_configure() {
$(use_enable fontconfig)
$(use_enable gcrypt libgcrypt)
$(use_enable gme)
- $(use_enable gnome-keyring secret)
+ $(use_enable keyring secret)
$(use_enable gstreamer gst-decode)
$(use_enable gui qt)
$(use_enable ieee1394 dv1394)
@@ -434,8 +440,12 @@ src_configure() {
)
# ^ 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/usr/include/samba-4.0"
+ 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
@@ -444,12 +454,6 @@ src_configure() {
replace-flags -Os -O2
fi
- if use omxil; then
- # bug #723006
- # https://trac.videolan.org/vlc/ticket/24617
- append-cflags -fcommon
- fi
-
# FIXME: Needs libresid-builder from libsidplay:2 which is in another directory...
append-ldflags "-L${ESYSROOT}/usr/$(get_libdir)/sidplay/builders/"
diff --git a/media-video/vlc/vlc-9999.ebuild b/media-video/vlc/vlc-9999.ebuild
index 2485c8f18d35..069ca6ec43c2 100644
--- a/media-video/vlc/vlc-9999.ebuild
+++ b/media-video/vlc/vlc-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2000-2022 Gentoo Authors
+# Copyright 2000-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -32,7 +32,7 @@ SLOT="0/12-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 gnome-keyring gstreamer +gui ieee1394 jack jpeg kate kms
+ fontconfig +gcrypt gme keyring gstreamer +gui ieee1394 jack jpeg kate kms
libass libcaca libnotify libplacebo +libsamplerate libtar libtiger linsys lirc live
loudness lua macosx-notifications mad matroska modplug mp3 mpeg mtp musepack ncurses
nfs ogg omxil optimisememory opus png projectm pulseaudio rdp run-as-root samba
@@ -58,12 +58,13 @@ BDEPEND="
virtual/pkgconfig
lua? ( ${LUA_DEPS} )
amd64? ( dev-lang/yasm )
+ wayland? ( dev-util/wayland-scanner )
x86? ( dev-lang/yasm )
"
RDEPEND="
media-libs/libvorbis
net-dns/libidn:=
- sys-libs/zlib[minizip]
+ sys-libs/zlib
virtual/libintl
virtual/opengl
a52? ( media-libs/a52dec )
@@ -110,7 +111,7 @@ RDEPEND="
dev-libs/libgpg-error
)
gme? ( media-libs/game-music-emu )
- gnome-keyring? ( app-crypt/libsecret )
+ keyring? ( app-crypt/libsecret )
gstreamer? ( >=media-libs/gst-plugins-base-1.4.5:1.0 )
gui? (
dev-qt/qtcore:5
@@ -140,7 +141,7 @@ RDEPEND="
x11-libs/gdk-pixbuf:2
x11-libs/libnotify
)
- libplacebo? ( media-libs/libplacebo )
+ libplacebo? ( media-libs/libplacebo:= )
libsamplerate? ( media-libs/libsamplerate )
libtar? ( dev-libs/libtar )
libtiger? ( media-libs/libtiger )
@@ -155,7 +156,7 @@ RDEPEND="
media-libs/libmatroska:=
)
modplug? ( >=media-libs/libmodplug-0.8.9.0 )
- mp3? ( media-sound/mpg123 )
+ mp3? ( media-sound/mpg123-base )
mpeg? ( media-libs/libmpeg2 )
mtp? ( media-libs/libmtp:= )
musepack? ( media-sound/musepack-tools )
@@ -168,8 +169,8 @@ RDEPEND="
media-fonts/dejavu
>=media-libs/libprojectm-3.1.12:0=
)
- pulseaudio? ( media-sound/pulseaudio )
- rdp? ( >=net-misc/freerdp-2.0.0_rc0:=[client(+)] )
+ pulseaudio? ( media-libs/libpulse )
+ rdp? ( >=net-misc/freerdp-2.0.0_rc0:2=[client(+)] )
samba? ( >=net-fs/samba-4.0.0:0[client,-debug(-)] )
sdl-image? ( media-libs/sdl-image )
sftp? ( net-libs/libssh2 )
@@ -230,9 +231,8 @@ DEPEND="${RDEPEND}
"
PATCHES=(
- "${FILESDIR}"/${PN}-2.1.0-fix-libtremor-libs.patch # build system
- "${FILESDIR}"/${PN}-2.2.8-freerdp-2.patch # bug 590164
- "${FILESDIR}"/${PN}-configure_lua_version.patch
+ "${FILESDIR}"/${PN}-9999-fix-libtremor-libs.patch # build system
+ "${FILESDIR}"/${PN}-9999-configure-lua-version.patch
)
DOCS=( AUTHORS THANKS NEWS README.md doc/fortunes.txt )
@@ -336,7 +336,7 @@ src_configure() {
$(use_enable fontconfig)
$(use_enable gcrypt libgcrypt)
$(use_enable gme)
- $(use_enable gnome-keyring secret)
+ $(use_enable keyring secret)
$(use_enable gstreamer gst-decode)
$(use_enable gui qt)
$(use_enable ieee1394 dv1394)
@@ -434,8 +434,12 @@ src_configure() {
)
# ^ 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/usr/include/samba-4.0"
+ 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
@@ -444,12 +448,6 @@ src_configure() {
replace-flags -Os -O2
fi
- if use omxil; then
- # bug #723006
- # https://trac.videolan.org/vlc/ticket/24617
- append-cflags -fcommon
- fi
-
# FIXME: Needs libresid-builder from libsidplay:2 which is in another directory...
append-ldflags "-L${ESYSROOT}/usr/$(get_libdir)/sidplay/builders/"
@@ -492,12 +490,12 @@ src_install() {
}
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/"
+ if [[ -z "${ROOT}" ]] && [[ -x "${EROOT}"/usr/libexec/vlc/vlc-cache-gen ]] ; then
+ einfo "Running ${EPREFIX}/usr/libexec/vlc/vlc-cache-gen on ${EROOT}/usr/$(get_libdir)/vlc/plugins/"
+ "${EPREFIX}"/usr/libexec/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 "Please run ${EPREFIX}/usr/libexec/vlc/vlc-cache-gen manually"
ewarn "If you do not do it, vlc will take a long time to load."
fi
diff --git a/media-video/vobcopy/Manifest b/media-video/vobcopy/Manifest
index 3dbe0208d2de..ff4b3e296914 100644
--- a/media-video/vobcopy/Manifest
+++ b/media-video/vobcopy/Manifest
@@ -1 +1 @@
-DIST vobcopy-1.2.0.tar.bz2 60102 BLAKE2B 7456ded4df8c001678b0c61fedd66ef8f71ac98280894e803b64fccb96d5ed5e6fc44ef207e861c2f5a019f692aafaf676d718b8c1646bbbc48c6cfcc37a1fe5 SHA512 442849e0e4d379d6289011baa9074b89d579323d1d01faa1531f642d5dd4d25bd76b0286741e79da6e13f71b13ae8f86795c67059b47067d108b00a7b77945a5
+DIST vobcopy-1.2.1.tar.gz 67342 BLAKE2B 8f4b41f9c12a374891030e512d2f608213ff43684ef672b85b4b37c65dbec0bf55df0031b35ad1fe2ac97f887279a0918c9d91ed480b074d6d1aa6101a303b20 SHA512 cf773f7450b0e1ef11b66d6e07459622352d8f590501eca936ef3abcdc1689915bbf6daf40b9896eabaef4d29b1cce389f0d2ccaefcd039aa62837cf3346df72
diff --git a/media-video/vobcopy/metadata.xml b/media-video/vobcopy/metadata.xml
index 047ba8b96207..1b0e6737cd49 100644
--- a/media-video/vobcopy/metadata.xml
+++ b/media-video/vobcopy/metadata.xml
@@ -1,8 +1,11 @@
<?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>
+ <maintainer type="project">
+ <email>media-video@gentoo.org</email>
+ <name>Gentoo Video project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">barak/vobcopy</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/media-video/vobcopy/vobcopy-1.2.0.ebuild b/media-video/vobcopy/vobcopy-1.2.0.ebuild
deleted file mode 100644
index 1d55e359f714..000000000000
--- a/media-video/vobcopy/vobcopy-1.2.0.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 2003-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit toolchain-funcs
-
-DESCRIPTION="copies DVD .vob files to harddisk, decrypting them on the way"
-HOMEPAGE="http://lpn.rnbhq.org/"
-SRC_URI="http://lpn.rnbhq.org/download/${P}.tar.bz2"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 ppc ppc64 sparc x86"
-IUSE=""
-
-DEPEND="media-libs/libdvdread:0="
-RDEPEND=""
-
-src_configure() {
- tc-export CC
- ./configure.sh --with-lfs || die "Configure failed"
-}
-
-src_install() {
- dobin vobcopy
- doman vobcopy.1
- dodoc Changelog README Release-Notes TODO alternative_programs.txt
-}
diff --git a/media-video/vobcopy/vobcopy-1.2.1.ebuild b/media-video/vobcopy/vobcopy-1.2.1.ebuild
new file mode 100644
index 000000000000..57b9dd0e7dab
--- /dev/null
+++ b/media-video/vobcopy/vobcopy-1.2.1.ebuild
@@ -0,0 +1,21 @@
+# Copyright 2003-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="Copies DVD .vob files to harddisk, decrypting them on the way"
+HOMEPAGE="https://github.com/barak/vobcopy"
+SRC_URI="https://github.com/barak/vobcopy/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="amd64 ppc ppc64 sparc x86"
+
+DEPEND="media-libs/libdvdread:0="
+
+src_configure() {
+ eautoreconf
+ econf
+}
diff --git a/media-video/webcamoid/Manifest b/media-video/webcamoid/Manifest
index a9066469db77..d11a0b3cbcc2 100644
--- a/media-video/webcamoid/Manifest
+++ b/media-video/webcamoid/Manifest
@@ -1,2 +1,2 @@
-DIST webcamoid-8.8.0.tar.gz 8887888 BLAKE2B d0c3f0cee1fe487e8e61cb50148415899f2df8bdd1c48f1d944cece167e69fc6872cc7a45dbf441d6b4b88d0ae99c1a227339594a6ad94416b765a89eb1a70e0 SHA512 e21e3f6b7ad4f4031658033e94f377db06e06d5bad8f0540af6ac824972aa2811336d5edfef19c674e9b98d0bf9d96f22ac46623d5cb4c39bc310d248daf0bfa
DIST webcamoid-9.0.0.tar.gz 9257331 BLAKE2B df7044650c92fd1e557043e2a721079dcc2531a59fb9859c19e02f95bd091fb33cec5e69bbc323baf8c11faad404824f875afe643e9d21085d3496a78acc04f4 SHA512 0de39dc6a5bc3fb8d6477728d971bca933c57e354a6d041389b33c3e48ec7c7912007f6f87bc9be5db303f58ddc5143bb28dc1b475c9ca361f579e1532b515a4
+DIST webcamoid-9.1.1.tar.gz 9288681 BLAKE2B 2444240c6ed90eac761c26860c2aabf2467578fec7eca1d488dad3adff63b1638525ff677c9f7d8a49971c9158f245b826390c45251697c7310fde32787998b4 SHA512 aebf413a358ee3397712d0a0935da0b4a8ae595019197450e1c2cd4ac33f9afc16e174ab06d0f8ca9c7fba25c6d71de14cbbdf36ad8f7bfb55428a432e06bb90
diff --git a/media-video/webcamoid/files/webcamoid-8.7.1-gcc11.patch b/media-video/webcamoid/files/webcamoid-8.7.1-gcc11.patch
deleted file mode 100644
index d228210a19ee..000000000000
--- a/media-video/webcamoid/files/webcamoid-8.7.1-gcc11.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/libAvKys/Plugins/VirtualCamera/src/VCamUtils/src/image/videoformat.cpp b/libAvKys/Plugins/VirtualCamera/src/VCamUtils/src/image/videoformat.cpp
-index 2a32732..5175d1d 100644
---- a/libAvKys/Plugins/VirtualCamera/src/VCamUtils/src/image/videoformat.cpp
-+++ b/libAvKys/Plugins/VirtualCamera/src/VCamUtils/src/image/videoformat.cpp
-@@ -19,6 +19,7 @@
-
- #include <map>
- #include <algorithm>
-+#include <limits>
-
- #include "videoformat.h"
- #include "../utils.h"
diff --git a/media-video/webcamoid/metadata.xml b/media-video/webcamoid/metadata.xml
index 2d85ce468c6c..41c3bc23a2d0 100644
--- a/media-video/webcamoid/metadata.xml
+++ b/media-video/webcamoid/metadata.xml
@@ -9,6 +9,7 @@
<flag name="headers">Install development headers</flag>
<flag name="libuvc">Build with libuvc support</flag>
<flag name="qtaudio">Enable audio capture/play via <pkg>dev-qt/qtmultimedia</pkg></flag>
+ <flag name="qtcamera">Enable video capture/play via <pkg>dev-qt/qtmultimedia</pkg></flag>
<flag name="v4lutils">Build with V4L-utils support</flag>
<flag name="videoeffects">Build video effects</flag>
</use>
diff --git a/media-video/webcamoid/webcamoid-8.8.0.ebuild b/media-video/webcamoid/webcamoid-8.8.0.ebuild
deleted file mode 100644
index 80cf1db81110..000000000000
--- a/media-video/webcamoid/webcamoid-8.8.0.ebuild
+++ /dev/null
@@ -1,86 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit qmake-utils xdg-utils
-
-DESCRIPTION="A full featured webcam capture application"
-HOMEPAGE="https://webcamoid.github.io"
-SRC_URI="https://github.com/webcamoid/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-IUSE_AVKYS=( alsa coreaudio ffmpeg gstreamer jack libuvc oss pulseaudio qtaudio v4lutils videoeffects )
-IUSE="${IUSE_AVKYS[@]} debug headers v4l"
-
-REQUIRED_USE="v4lutils? ( v4l )"
-
-RDEPEND="
- dev-qt/qtconcurrent:5
- dev-qt/qtcore: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
- ffmpeg? ( media-video/ffmpeg:= )
- gstreamer? ( >=media-libs/gstreamer-1.6.0 )
- jack? ( virtual/jack )
- libuvc? ( media-libs/libuvc )
- pulseaudio? ( media-sound/pulseaudio )
- qtaudio? ( dev-qt/qtmultimedia:5 )
- v4l? ( media-libs/libv4l )
-"
-DEPEND="${RDEPEND}
- >=sys-kernel/linux-headers-3.6
-"
-BDEPEND="
- dev-qt/linguist-tools:5
- virtual/pkgconfig
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-8.7.1-gcc11.patch
-)
-
-src_configure() {
- local myqmakeargs=(
- "CONFIG+=debug"
- "PREFIX=/usr"
- "BUILDDOCS=0"
- "INSTALLDEVHEADERS=$(usex headers 1 0)"
- "INSTALLQMLDIR=$(qt5_get_libdir)/qt5/qml"
- "LIBDIR=/usr/$(get_libdir)"
- "NOAVFOUNDATION=1"
- "NODSHOW=1"
- "NOVCAMWIN=1"
- "NOWASAPI=1"
- )
-
- use v4l || myqmakeargs+=( "NOV4L2=1" )
-
- local x
- for x in ${IUSE_AVKYS[@]}; do
- use ${x} || myqmakeargs+=( "NO${x^^}=1" )
- done
-
- eqmake5 ${myqmakeargs[@]}
-}
-
-src_install() {
- emake INSTALL_ROOT="${D}" install
- einstalldocs
-}
-
-pkg_postinst() {
- xdg_icon_cache_update
-}
-
-pkg_postrm() {
- xdg_icon_cache_update
-}
diff --git a/media-video/webcamoid/webcamoid-9.0.0.ebuild b/media-video/webcamoid/webcamoid-9.0.0-r1.ebuild
index f7d94e34ed8e..a836fa4160b7 100644
--- a/media-video/webcamoid/webcamoid-9.0.0.ebuild
+++ b/media-video/webcamoid/webcamoid-9.0.0-r1.ebuild
@@ -1,17 +1,17 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-inherit cmake xdg-utils
+inherit cmake xdg
-DESCRIPTION="A full featured webcam capture application"
+DESCRIPTION="Full featured webcam capture application"
HOMEPAGE="https://webcamoid.github.io"
SRC_URI="https://github.com/webcamoid/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
+
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~amd64 ~arm64 ~x86"
-
IUSE="alsa coreaudio ffmpeg gstreamer jack libuvc oss pulseaudio qtaudio v4lutils videoeffects debug headers v4l"
REQUIRED_USE="v4lutils? ( v4l )"
@@ -31,7 +31,7 @@ COMMON_DEPEND="
gstreamer? ( >=media-libs/gstreamer-1.6.0 )
jack? ( virtual/jack )
libuvc? ( media-libs/libuvc )
- pulseaudio? ( media-sound/pulseaudio )
+ pulseaudio? ( media-libs/libpulse )
qtaudio? ( dev-qt/qtmultimedia:5 )
v4l? ( media-libs/libv4l )
"
@@ -71,11 +71,3 @@ src_install() {
docompress -x /usr/share/man/${PN}.1.gz
cmake_src_install
}
-
-pkg_postinst() {
- xdg_icon_cache_update
-}
-
-pkg_postrm() {
- xdg_icon_cache_update
-}
diff --git a/media-video/webcamoid/webcamoid-9.1.1.ebuild b/media-video/webcamoid/webcamoid-9.1.1.ebuild
new file mode 100644
index 000000000000..c539d8831d38
--- /dev/null
+++ b/media-video/webcamoid/webcamoid-9.1.1.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake xdg
+
+DESCRIPTION="Full featured webcam capture application"
+HOMEPAGE="https://webcamoid.github.io"
+if [[ ${PV} = 9999 ]]; then
+ EGIT_REPO_URI="https://github.com/webcamoid/webcamoid.git"
+ EGIT_BRANCH="master"
+ inherit git-r3
+ RESTRICT="mirror"
+else
+ SRC_URI="https://github.com/webcamoid/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm64 ~x86"
+fi
+
+LICENSE="GPL-3"
+SLOT="0"
+IUSE="alsa ffmpeg gstreamer jack libuvc oss portaudio pulseaudio qtaudio qtcamera sdl v4lutils videoeffects debug headers v4l"
+
+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
+ 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 )
+ sdl? ( media-libs/libsdl2 )
+ v4l? ( media-libs/libv4l )
+"
+DEPEND="${COMMON_DEPEND}
+ >=sys-kernel/linux-headers-3.6
+"
+RDEPEND="${COMMON_DEPEND}
+ virtual/opengl
+"
+
+src_configure() {
+ #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
+
+ local mycmakeargs=(
+ "-DNOMEDIAFOUNDATION=1"
+ "-DNODSHOW=1"
+ "-DNOWASAPI=1"
+ "-DNOVLC=1"
+ "-DNOPIPEWIRE=1"
+ "-DNOPORTAUDIO=1" # PortAudio not packaged for gentoo
+ "-DNOALSA=$(usex alsa 0 1)"
+ "-DNOQTCAMERA=$(usex qtcamera 0 1)"
+ "-DNOFFMPEG=$(usex ffmpeg 0 1)"
+ "-DNOGSTREAMER=$(usex gstreamer 0 1)"
+ "-DNOJACK=$(usex jack 0 1)"
+ "-DNOLIBUVC=$(usex libuvc 0 1)"
+ "-DNOPULSEAUDIO=$(usex pulseaudio 0 1)"
+ "-DNOSDL=$(usex sdl 0 1)"
+ "-DNOV4L2=$(usex v4l 0 1)"
+ "-DNOV4LUTILS=$(usex v4lutils 0 1)"
+ "-DNOVIDEOEFFECTS=$(usex videoeffects 0 1)"
+ )
+ cmake_src_configure
+}
+
+src_install() {
+ docompress -x /usr/share/man/man1/${PN}.1.gz
+ cmake_src_install
+}
diff --git a/media-video/webcamoid/webcamoid-9999.ebuild b/media-video/webcamoid/webcamoid-9999.ebuild
index c1ebeeeecd04..c539d8831d38 100644
--- a/media-video/webcamoid/webcamoid-9999.ebuild
+++ b/media-video/webcamoid/webcamoid-9999.ebuild
@@ -1,25 +1,25 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-inherit cmake xdg-utils
+inherit cmake xdg
-DESCRIPTION="A full featured webcam capture application"
+DESCRIPTION="Full featured webcam capture application"
HOMEPAGE="https://webcamoid.github.io"
if [[ ${PV} = 9999 ]]; then
EGIT_REPO_URI="https://github.com/webcamoid/webcamoid.git"
EGIT_BRANCH="master"
inherit git-r3
+ RESTRICT="mirror"
else
SRC_URI="https://github.com/webcamoid/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="~amd64 ~arm64 ~x86"
fi
-RESTRICT="mirror"
+
LICENSE="GPL-3"
SLOT="0"
-
-IUSE="alsa coreaudio ffmpeg gstreamer jack libuvc oss pulseaudio qtaudio v4lutils videoeffects debug headers v4l"
+IUSE="alsa ffmpeg gstreamer jack libuvc oss portaudio pulseaudio qtaudio qtcamera sdl v4lutils videoeffects debug headers v4l"
REQUIRED_USE="v4lutils? ( v4l )"
@@ -38,8 +38,10 @@ COMMON_DEPEND="
gstreamer? ( >=media-libs/gstreamer-1.6.0 )
jack? ( virtual/jack )
libuvc? ( media-libs/libuvc )
- pulseaudio? ( media-sound/pulseaudio )
+ pulseaudio? ( media-libs/libpulse )
qtaudio? ( dev-qt/qtmultimedia:5 )
+ qtcamera? ( dev-qt/qtmultimedia:5 )
+ sdl? ( media-libs/libsdl2 )
v4l? ( media-libs/libv4l )
"
DEPEND="${COMMON_DEPEND}
@@ -50,23 +52,25 @@ RDEPEND="${COMMON_DEPEND}
"
src_configure() {
- #Disable git in package source. If not disabled the cmake configure process will show a lot of "fatal not a git repository" errors
+ #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
local mycmakeargs=(
"-DNOMEDIAFOUNDATION=1"
- "-DNOAVFOUNDATION=1"
"-DNODSHOW=1"
"-DNOWASAPI=1"
"-DNOVLC=1"
"-DNOPIPEWIRE=1"
+ "-DNOPORTAUDIO=1" # PortAudio not packaged for gentoo
"-DNOALSA=$(usex alsa 0 1)"
- "-DNOCOREAUDIO=$(usex coreaudio 0 1)"
+ "-DNOQTCAMERA=$(usex qtcamera 0 1)"
"-DNOFFMPEG=$(usex ffmpeg 0 1)"
"-DNOGSTREAMER=$(usex gstreamer 0 1)"
"-DNOJACK=$(usex jack 0 1)"
"-DNOLIBUVC=$(usex libuvc 0 1)"
"-DNOPULSEAUDIO=$(usex pulseaudio 0 1)"
+ "-DNOSDL=$(usex sdl 0 1)"
"-DNOV4L2=$(usex v4l 0 1)"
"-DNOV4LUTILS=$(usex v4lutils 0 1)"
"-DNOVIDEOEFFECTS=$(usex videoeffects 0 1)"
@@ -75,14 +79,6 @@ src_configure() {
}
src_install() {
- docompress -x /usr/share/man1/${PN}.1.gz
+ docompress -x /usr/share/man/man1/${PN}.1.gz
cmake_src_install
}
-
-pkg_postinst() {
- xdg_icon_cache_update
-}
-
-pkg_postrm() {
- xdg_icon_cache_update
-}
diff --git a/media-video/wireplumber/Manifest b/media-video/wireplumber/Manifest
index 341e3b6309bd..41d841c64527 100644
--- a/media-video/wireplumber/Manifest
+++ b/media-video/wireplumber/Manifest
@@ -1 +1 @@
-DIST wireplumber-0.4.13.tar.bz2 320378 BLAKE2B c245c7e716ba64e28aef6278b1f9d8fdc89881a35c99c645cacf3b356fe90dbdc93a99b0c09792649faadcb685f47a65faeacbeff4ecf3e728f34c1fb4611120 SHA512 b8a43a0ec56037b51a1ddc8ae7f369e0494eab9baf3acded965e2923c5cf8263860d5f1973c83d25a33388243db3ac6e1321ed3b42a01e8cac813d9b47554dbf
+DIST wireplumber-0.4.17.tar.bz2 330355 BLAKE2B fec1cf75bec687bff1cb48416cf22503a79609cf11220ab9353d3b8038cae1db63da8aa269aca034c0c0afd474e2ba89b236bb7e778da111516e3b15d5449f02 SHA512 5efb71091f262458bc912f4670249fac3ef858021785fbee9be749564a3fa452b1c4ff75634132f7d44fd06d7fc5ea2debb022b1f4a8d5c9c3afa992fab7ecf8
diff --git a/media-video/wireplumber/files/wireplumber-0.4.10-config-disable-sound-server-parts.patch b/media-video/wireplumber/files/wireplumber-0.4.15-config-disable-sound-server-parts.patch
index a8bf6f106129..b4f3ecd311f7 100644
--- a/media-video/wireplumber/files/wireplumber-0.4.10-config-disable-sound-server-parts.patch
+++ b/media-video/wireplumber/files/wireplumber-0.4.15-config-disable-sound-server-parts.patch
@@ -3,9 +3,6 @@ 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
-
-diff --git a/src/config/bluetooth.lua.d/50-bluez-config.lua b/src/config/bluetooth.lua.d/50-bluez-config.lua
-index d5727d3..938eae0 100644
--- a/src/config/bluetooth.lua.d/50-bluez-config.lua
+++ b/src/config/bluetooth.lua.d/50-bluez-config.lua
@@ -1,4 +1,4 @@
@@ -13,9 +10,7 @@ index d5727d3..938eae0 100644
+bluez_monitor.enabled = false
bluez_monitor.properties = {
- -- These features do not work on all headsets, so they are enabled
-diff --git a/src/config/main.lua.d/50-alsa-config.lua b/src/config/main.lua.d/50-alsa-config.lua
-index 3468333..d4c065b 100644
+ -- 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 @@
@@ -24,3 +19,6 @@ index 3468333..d4c065b 100644
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.4.81-config-disable-sound-server-parts.patch b/media-video/wireplumber/files/wireplumber-0.4.81-config-disable-sound-server-parts.patch
new file mode 100644
index 000000000000..3a9e828837b5
--- /dev/null
+++ b/media-video/wireplumber/files/wireplumber-0.4.81-config-disable-sound-server-parts.patch
@@ -0,0 +1,27 @@
+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
+
+---
+ src/config/wireplumber.conf | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/config/wireplumber.conf b/src/config/wireplumber.conf
+index 822b7967..ca0faa0a 100644
+--- a/src/config/wireplumber.conf
++++ b/src/config/wireplumber.conf
+@@ -64,8 +64,8 @@ wireplumber.profiles = {
+ support.settings = required
+ support.log-settings = required
+ metadata.sm-objects = required
+- hardware.audio = required
+- hardware.bluetooth = required
++ #hardware.audio = required
++ #hardware.bluetooth = required
+ hardware.video-capture = required
+ policy.standard = required
+ #policy.role-priority-system = optional
+--
+2.43.0
+
diff --git a/media-video/wireplumber/wireplumber-0.4.13.ebuild b/media-video/wireplumber/wireplumber-0.4.17-r1.ebuild
index 8a6b291c4f0f..747c967706dc 100644
--- a/media-video/wireplumber/wireplumber-0.4.13.ebuild
+++ b/media-video/wireplumber/wireplumber-0.4.17-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=8
@@ -20,7 +20,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 ppc ppc64 ~riscv ~sparc x86"
+ KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~sparc x86"
fi
DESCRIPTION="Replacement for pipewire-media-session"
@@ -44,12 +44,13 @@ BDEPEND="
dev-util/gdbus-codegen
dev-util/glib-utils
sys-devel/gettext
+ test? ( sys-apps/dbus )
"
DEPEND="
${LUA_DEPS}
>=dev-libs/glib-2.62
- >=media-video/pipewire-0.3.53-r1:=
+ >=media-video/pipewire-0.3.68:=
virtual/libintl
elogind? ( sys-auth/elogind )
systemd? ( sys-apps/systemd )
@@ -69,7 +70,7 @@ RDEPEND="${DEPEND}
DOCS=( {NEWS,README}.rst )
PATCHES=(
- "${FILESDIR}"/${PN}-0.4.10-config-disable-sound-server-parts.patch # defer enabling sound server parts to media-video/pipewire
+ "${FILESDIR}"/${PN}-0.4.15-config-disable-sound-server-parts.patch # defer enabling sound server parts to media-video/pipewire
)
src_configure() {
@@ -94,17 +95,6 @@ src_configure() {
meson_src_configure
}
-src_install() {
- meson_src_install
-
- # We copy the default config, so that Gentoo tools can pick up on any
- # updates and /etc does not end up with stale overrides.
- # If a reflinking CoW filesystem is used (e.g. Btrfs), then the files
- # will not actually get stored twice until modified.
- insinto /etc
- doins -r "${ED}"/usr/share/wireplumber
-}
-
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-9999.ebuild b/media-video/wireplumber/wireplumber-9999.ebuild
index 0d585bc9a339..88ddf0bb6b0e 100644
--- a/media-video/wireplumber/wireplumber-9999.ebuild
+++ b/media-video/wireplumber/wireplumber-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -20,7 +20,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 ~ppc ~ppc64 ~riscv ~sparc ~x86"
+ KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
fi
DESCRIPTION="Replacement for pipewire-media-session"
@@ -44,12 +44,13 @@ BDEPEND="
dev-util/gdbus-codegen
dev-util/glib-utils
sys-devel/gettext
+ test? ( sys-apps/dbus )
"
DEPEND="
${LUA_DEPS}
- >=dev-libs/glib-2.62
- >=media-video/pipewire-0.3.53-r1:=
+ >=dev-libs/glib-2.68
+ >=media-video/pipewire-1.0.2:=
virtual/libintl
elogind? ( sys-auth/elogind )
systemd? ( sys-apps/systemd )
@@ -68,6 +69,10 @@ RDEPEND="${DEPEND}
DOCS=( {NEWS,README}.rst )
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.4.81-config-disable-sound-server-parts.patch # defer enabling sound server parts to media-video/pipewire
+)
+
src_configure() {
local emesonargs=(
-Ddaemon=true
@@ -90,17 +95,6 @@ src_configure() {
meson_src_configure
}
-src_install() {
- meson_src_install
-
- # We copy the default config, so that Gentoo tools can pick up on any
- # updates and /etc does not end up with stale overrides.
- # If a reflinking CoW filesystem is used (e.g. Btrfs), then the files
- # will not actually get stored twice until modified.
- insinto /etc
- doins -r "${ED}"/usr/share/wireplumber
-}
-
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 4b11d2ba0042..b95b528c7338 100644
--- a/media-video/x264-encoder/Manifest
+++ b/media-video/x264-encoder/Manifest
@@ -1 +1,2 @@
DIST x264-0.0.20220222.tar.bz2 777236 BLAKE2B 45e57c48b4b889f5c7b4ce87d1442d26d907aac47fb7c586b34239317a8b74bb93eac3058eed766728fbca6370656d9a6f070e8992643984a89560e28edf206d SHA512 1cf864059f83731ac47008c1af1d9ac06d06283439cf883a020f8a76e0c7efc3b525791d11efe8784d0e39ded68dd03794f0502fa64cc07df2f2de064a55e1d9
+DIST x264-0.0.20231114.tar.bz2 833229 BLAKE2B e8e60767d16ea11e55f9dd56f1c74535a06b07a498b91d4372872925915563b67fb917c5856e2e40e1f58acbab3142509d036cae8d56820bef0e16ee7bc35196 SHA512 7705c2827c6b280afc7403bce206f82ee94c1ba76c582d3e6ae017b9c4f08c4475ac70373f8a0bcda73046221456efc3f338c57aaf03c11f4d8e63f69bb94db5
diff --git a/media-video/x264-encoder/x264-encoder-0.0.20231114.ebuild b/media-video/x264-encoder/x264-encoder-0.0.20231114.ebuild
new file mode 100644
index 000000000000..14aa1ea30410
--- /dev/null
+++ b/media-video/x264-encoder/x264-encoder-0.0.20231114.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="c196240409e4d7c01b47448d93b1f9683aaa7cf7"
+ 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 f9d72081e46e..f688e3cb2d4e 100644
--- a/media-video/x264-encoder/x264-encoder-9999.ebuild
+++ b/media-video/x264-encoder/x264-encoder-9999.ebuild
@@ -1,39 +1,42 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+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"
- SRC_URI=""
else
- # Download https://code.videolan.org/videolan/x264/-/archive/master/x264-master.tar.bz2
- SRC_URI="https://dev.gentoo.org/~aballier/distfiles/x264-${PV}.tar.bz2"
+ X264_COMMIT="c196240409e4d7c01b47448d93b1f9683aaa7cf7"
+ 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}/x264-master"
+ 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:= )"
-
+ mp4? ( >=media-video/gpac-0.5.2:= )
+"
ASM_DEP=">=dev-lang/nasm-2.13"
-DEPEND="${RDEPEND}
+DEPEND="
+ ${RDEPEND}
amd64? ( ${ASM_DEP} )
- x86? ( ${ASM_DEP} )"
+ x86? ( ${ASM_DEP} )
+"
BDEPEND="virtual/pkgconfig"
src_configure() {
diff --git a/media-video/xine-ui/files/xine-ui-0.99.13-configure-c99.patch b/media-video/xine-ui/files/xine-ui-0.99.13-configure-c99.patch
new file mode 100644
index 000000000000..dfb82175b587
--- /dev/null
+++ b/media-video/xine-ui/files/xine-ui-0.99.13-configure-c99.patch
@@ -0,0 +1,77 @@
+https://sourceforge.net/p/xine/tickets/22/
+https://bugs.gentoo.org/899872
+
+Fix C compatibility issues in the configure script
+
+This is necessary to avoid incorrectly failing probes due to expected
+compiler errors.
+
+Include <stdlib.h> for the exit function, and <string.h> for the
+strdup function.
+
+Use fake prototypes to avoid implicit function declarations in the
+xine_* function probes.
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -198,6 +198,7 @@
+ if test "$ac_cv_header_sys_shm_h" = "yes"; then
+ AC_MSG_CHECKING(whether shmctl IPC_RMID allowes subsequent attaches)
+ AC_TRY_RUN([
++ #include <stdlib.h>
+ #include <sys/types.h>
+ #include <sys/ipc.h>
+ #include <sys/shm.h>
+--- a/m4/aa.m4
++++ b/m4/aa.m4
+@@ -52,6 +52,7 @@
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <aalib.h>
++#include <string.h>
+
+ int main () {
+ int major, minor;
+--- a/m4/_xine.m4
++++ b/m4/_xine.m4
+@@ -218,7 +218,7 @@
+ CFLAGS="$CFLAGS $XINE_CFLAGS"
+ LIBS="$LIBS $XINE_LIBS"
+ AC_LINK_IFELSE(
+- [AC_LANG_PROGRAM([],[xine_open_cloexec();])],
++ [AC_LANG_PROGRAM([char xine_open_cloexec(void);],[xine_open_cloexec();])],
+ [AC_DEFINE([HAVE_XINE_OPEN_CLOEXEC], [1], [Define if xine-lib supports xine_open_cloexec])
+ AC_MSG_RESULT([yes])],
+ [AC_MSG_RESULT([no])])
+@@ -234,7 +234,7 @@
+ CFLAGS="$CFLAGS $XINE_CFLAGS"
+ LIBS="$LIBS $XINE_LIBS"
+ AC_LINK_IFELSE(
+- [AC_LANG_PROGRAM([],[xine_socket_cloexec();])],
++ [AC_LANG_PROGRAM([char xine_socket_cloexec(void);],[xine_socket_cloexec();])],
+ [AC_DEFINE([HAVE_XINE_SOCKET_CLOEXEC], [1], [Define if xine-lib supports xine_socket_cloexec])
+ AC_MSG_RESULT([yes])],
+ [AC_MSG_RESULT([no])])
+@@ -250,7 +250,7 @@
+ CFLAGS="$CFLAGS $XINE_CFLAGS"
+ LIBS="$LIBS $XINE_LIBS"
+ AC_LINK_IFELSE(
+- [AC_LANG_PROGRAM([
++ [AC_LANG_PROGRAM([char xine_list_next_value(void);
+ ],[
+ xine_list_next_value ();
+ ])],
+diff --git a/configure.ac b/configure.ac
+index 5b4fb04..8bcbfea 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -634,7 +634,8 @@ dnl
+ AC_MSG_CHECKING(whether librt is needed)
+ AC_TRY_COMPILE(
+ [#include <unistd.h>
+- #include <sys/time.h>],
++ #include <sys/time.h>
++ #include <time.h>],
+ [#if _POSIX_TIMERS > 0
+ struct timespec ts;
+ clock_gettime(CLOCK_REALTIME, &ts);
diff --git a/media-video/xine-ui/xine-ui-0.99.13-r1.ebuild b/media-video/xine-ui/xine-ui-0.99.13-r1.ebuild
new file mode 100644
index 000000000000..4bebb115b9cc
--- /dev/null
+++ b/media-video/xine-ui/xine-ui-0.99.13-r1.ebuild
@@ -0,0 +1,90 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools xdg
+
+DESCRIPTION="Xine movie player"
+HOMEPAGE="https://xine-project.org/home"
+SRC_URI="mirror://sourceforge/xine/${P}.tar.xz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~x86"
+IUSE="aalib curl debug libcaca lirc nls readline vdr X xinerama"
+
+RDEPEND="
+ || ( app-arch/tar app-arch/libarchive )
+ media-libs/libpng:0=
+ >=media-libs/xine-lib-1.2:=[aalib?,libcaca?]
+ media-libs/libjpeg-turbo:=
+ aalib? ( media-libs/aalib:= )
+ curl? ( >=net-misc/curl-7.10.2:= )
+ libcaca? ( media-libs/libcaca:= )
+ lirc? ( app-misc/lirc:= )
+ nls? ( virtual/libintl )
+ readline? ( >=sys-libs/readline-6.2:= )
+ X? (
+ x11-libs/libICE:=
+ x11-libs/libSM:=
+ x11-libs/libX11:=
+ x11-libs/libXext:=
+ x11-libs/libXft:=
+ x11-libs/libXrender:=
+ x11-libs/libXScrnSaver:=
+ x11-libs/libXtst:=
+ x11-libs/libXv:=
+ x11-libs/libXxf86vm:=
+ xinerama? ( x11-libs/libXinerama:= )
+ )
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ nls? ( >=sys-devel/gettext-0.18.3 )
+ X? (
+ x11-base/xorg-proto
+ x11-libs/libXt
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.99.10-desktop.patch
+ "${FILESDIR}"/${P}-build.patch
+ "${FILESDIR}"/${PN}-0.99.13-configure-c99.patch
+)
+
+src_prepare() {
+ default
+ eautoreconf
+ rm misc/xine-bugreport || die
+}
+
+src_configure() {
+ econf \
+ $(use_enable nls) \
+ $(use_enable xinerama) \
+ $(use_enable lirc) \
+ $(use_enable vdr vdr-keys) \
+ --disable-nvtvsimple \
+ $(use_enable debug) \
+ $(use_with X x) \
+ $(use_with readline) \
+ $(use_with curl) \
+ $(use_with aalib) \
+ $(use_with libcaca caca) \
+ --without-fb
+}
+
+src_install() {
+ # xine-list apparently may cause sandbox violation, bug 654394
+ addpredict /dev/dri
+
+ emake \
+ DESTDIR="${D}" \
+ docdir="/usr/share/doc/${PF}" \
+ docsdir="/usr/share/doc/${PF}" \
+ install
+
+ einstalldocs
+}
diff --git a/media-video/xine-ui/xine-ui-0.99.13.ebuild b/media-video/xine-ui/xine-ui-0.99.13.ebuild
index 417340a777c5..7ba60714ee22 100644
--- a/media-video/xine-ui/xine-ui-0.99.13.ebuild
+++ b/media-video/xine-ui/xine-ui-0.99.13.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
-inherit autotools xdg-utils
+inherit autotools xdg
DESCRIPTION="Xine movie player"
HOMEPAGE="https://xine-project.org/home"
@@ -11,7 +11,7 @@ SRC_URI="mirror://sourceforge/xine/${P}.tar.xz"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="amd64 ~hppa ppc ppc64 ~riscv x86"
+KEYWORDS="amd64 ~arm64 ~hppa ppc ppc64 ~riscv x86"
IUSE="aalib curl debug libcaca lirc nls readline vdr X xinerama"
RDEPEND="
@@ -87,15 +87,3 @@ src_install() {
einstalldocs
}
-
-pkg_postinst() {
- xdg_desktop_database_update
- xdg_mimeinfo_database_update
- gnome2_icon_cache_update
-}
-
-pkg_postrm() {
- xdg_desktop_database_update
- xdg_mimeinfo_database_update
- gnome2_icon_cache_update
-}
diff --git a/media-video/yle-dl/Manifest b/media-video/yle-dl/Manifest
index d52e551198dc..81b0e3055672 100644
--- a/media-video/yle-dl/Manifest
+++ b/media-video/yle-dl/Manifest
@@ -1 +1 @@
-DIST yle-dl-20221231.tar.gz 75559 BLAKE2B 940a7107851ccfee0a93e24fccbac1f58d23a5cd3d6dbdbd5536b2d2c1d797468959453c1727700ae4bbced169e58565384cfbc976b9f89f662447fd51e38daf SHA512 9a08cbbb757cd75a8e2ee61b5c340b9e1bd91f8479f98d434a5e5f716926bfde135f925b5f65a9d043881f6a4e598c4c059aafb1618e5490c46f0f3c6a6dbf2b
+DIST yle-dl-20240130.tar.gz 77787 BLAKE2B b0dd82813a3defb6305cd5b6529d5c5558a0c82d7c8ba9714e836b1d98a09bdad27882c975ca8a98b26a6188194157586fef882437c486bf4c7f480677fc386f SHA512 d803c6703987f4fbd787c608830398ff4081407349146d7fc98de2387f0313e6354b27b1c6d3de14a7a4bc7d44c30d05c63708cc7f780a7534e15f193f988138
diff --git a/media-video/yle-dl/yle-dl-20221231.ebuild b/media-video/yle-dl/yle-dl-20240130.ebuild
index 6f0e9051a517..d879b645e845 100644
--- a/media-video/yle-dl/yle-dl-20221231.ebuild
+++ b/media-video/yle-dl/yle-dl-20240130.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_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
DISTUTILS_USE_PEP517=flit
inherit distutils-r1 optfeature
@@ -40,7 +40,7 @@ BDEPEND="test? (
distutils_enable_tests pytest
-DOCS=( COPYING ChangeLog README.fi.md README.md yledl.conf.sample )
+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"
@@ -51,5 +51,7 @@ 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
}