summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'media-video')
-rw-r--r--media-video/acidrip/acidrip-0.14-r4.ebuild20
-rw-r--r--media-video/acidrip/files/acidrip-mplayer.patch4
-rw-r--r--media-video/aegisub/Manifest1
-rw-r--r--media-video/aegisub/aegisub-3.2.2_p20160518-r105.ebuild (renamed from media-video/aegisub/aegisub-3.2.2_p20160518-r102.ebuild)9
-rw-r--r--media-video/aegisub/aegisub-3.3.3.ebuild155
-rw-r--r--media-video/aegisub/aegisub-9999.ebuild58
-rw-r--r--media-video/aegisub/files/3.2.2_p20160518/aegisub-3.2.2_p20160518-ffmpegsource-2.40-compat2.patch106
-rw-r--r--media-video/aegisub/files/3.2.2_p20160518/aegisub-3.2.2_p20160518-fix-boost-181-build.patch56
-rw-r--r--media-video/aegisub/files/3.2.2_p20160518/aegisub-3.2.2_p20160518-luaL_Reg-not-luaL_reg.patch35
-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/Manifest3
-rw-r--r--media-video/amdgpu-pro-amf/amdgpu-pro-amf-1.4.24.1452059.ebuild55
-rw-r--r--media-video/amdgpu-pro-amf/amdgpu-pro-amf-1.4.29.1580631.ebuild56
-rw-r--r--media-video/amdgpu-pro-amf/amdgpu-pro-amf-1.4.33.1718238.ebuild56
-rw-r--r--media-video/amdgpu-pro-amf/metadata.xml12
-rw-r--r--media-video/aravis/Manifest1
-rw-r--r--media-video/aravis/aravis-0.7.2.ebuild68
-rw-r--r--media-video/aravis/metadata.xml3
-rw-r--r--media-video/asfrecorder/asfrecorder-1.1-r2.ebuild (renamed from media-video/asfrecorder/asfrecorder-1.1-r1.ebuild)21
-rw-r--r--media-video/asfrecorder/files/asfrecorder-1.1-headers.patch11
-rw-r--r--media-video/atomicparsley-wez/Manifest1
-rw-r--r--media-video/atomicparsley-wez/atomicparsley-wez-0.9.6.ebuild37
-rw-r--r--media-video/atomicparsley-wez/metadata.xml11
-rw-r--r--media-video/atomicparsley/Manifest2
-rw-r--r--media-video/atomicparsley/atomicparsley-0.9.0.ebuild38
-rw-r--r--media-video/atomicparsley/atomicparsley-0.9.6_p20210715_p151551.ebuild32
-rw-r--r--media-video/atomicparsley/files/atomicparsley-0.9.0-environment.patch80
-rw-r--r--media-video/atomicparsley/files/atomicparsley-0.9.0-glibc-2.10.patch39
-rw-r--r--media-video/avidemux/Manifest4
-rw-r--r--media-video/avidemux/avidemux-2.8.1.ebuild (renamed from media-video/avidemux/avidemux-2.7.6-r1.ebuild)79
-rw-r--r--media-video/avidemux/metadata.xml4
-rw-r--r--media-video/baka-mplayer/baka-mplayer-2.0.4-r2.ebuild (renamed from media-video/baka-mplayer/baka-mplayer-2.0.4-r1.ebuild)7
-rw-r--r--media-video/baka-mplayer/baka-mplayer-2.0.4.ebuild51
-rw-r--r--media-video/baka-mplayer/baka-mplayer-9999.ebuild2
-rw-r--r--media-video/baka-mplayer/files/baka-mplayer-2.0.4-libmpv-api2.patch78
-rw-r--r--media-video/baka-mplayer/metadata.xml4
-rw-r--r--media-video/bino/Manifest3
-rw-r--r--media-video/bino/bino-1.6.8.ebuild (renamed from media-video/bino/bino-1.6.7.ebuild)22
-rw-r--r--media-video/bino/bino-2.0.ebuild34
-rw-r--r--media-video/bino/files/bino-1.6.7-gcc11.patch30
-rw-r--r--media-video/bino/files/bino-1.6.8-respect-AR.patch21
-rw-r--r--media-video/bino/files/bino-1.6.8-time-include.patch23
-rw-r--r--media-video/bino/metadata.xml3
-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/blinkensim/blinkensim-2.7-r2.ebuild (renamed from media-video/blinkensim/blinkensim-2.7-r1.ebuild)19
-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/ccextractor/Manifest1
-rw-r--r--media-video/ccextractor/ccextractor-0.85-r2.ebuild32
-rw-r--r--media-video/ccextractor/ccextractor-0.88.ebuild6
-rw-r--r--media-video/ccextractor/files/ccextractor-0.85-cmake.patch76
-rw-r--r--media-video/ccextractor/files/ccextractor-0.85-fno-common.patch13
-rw-r--r--media-video/ccextractor/metadata.xml5
-rw-r--r--media-video/cclive/cclive-0.9.3-r2.ebuild6
-rw-r--r--media-video/celluloid/Manifest2
-rw-r--r--media-video/celluloid/celluloid-0.21-r1.ebuild (renamed from media-video/celluloid/celluloid-0.20.ebuild)10
-rw-r--r--media-video/celluloid/celluloid-0.26.ebuild (renamed from media-video/celluloid/celluloid-0.21.ebuild)19
-rw-r--r--media-video/celluloid/metadata.xml3
-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/Manifest2
-rw-r--r--media-video/cheese/cheese-3.38.0.ebuild96
-rw-r--r--media-video/cheese/cheese-44.1.ebuild (renamed from media-video/cheese/cheese-3.38.0-r1.ebuild)20
-rw-r--r--media-video/cheese/files/cheese-3.38.0-Fix-infinite-loop-if-thumbnailer-is-not-available.patch88
-rw-r--r--media-video/cheese/files/cheese-3.38.0-vala-genericarray.patch177
-rw-r--r--media-video/cheese/files/cheese-43.0-buildfix.patch (renamed from media-video/cheese/files/cheese-3.38.0-buildfix.patch)7
-rw-r--r--media-video/cheese/metadata.xml19
-rw-r--r--media-video/clive/Manifest1
-rw-r--r--media-video/clive/clive-2.3.0.1.ebuild59
-rw-r--r--media-video/clive/metadata.xml18
-rw-r--r--media-video/devedeng/Manifest3
-rw-r--r--media-video/devedeng/devedeng-4.17.0-r2.ebuild (renamed from media-video/devedeng/devedeng-4.16.0-r1.ebuild)20
-rw-r--r--media-video/devedeng/devedeng-4.18.0.ebuild50
-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.ebuild (renamed from media-video/dirac/dirac-1.0.2-r1.ebuild)43
-rw-r--r--media-video/droidcam/Manifest5
-rw-r--r--media-video/droidcam/droidcam-2.0.0-r3.ebuild (renamed from media-video/droidcam/droidcam-1.8.0.ebuild)48
-rw-r--r--media-video/droidcam/droidcam-2.1.1.ebuild (renamed from media-video/droidcam/droidcam-1.8.0-r1.ebuild)60
-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-2.0.0-libusbmuxd-20.patch13
-rw-r--r--media-video/droidcam/files/droidcam-makefile-fixes.patch47
-rw-r--r--media-video/dv2sub/dv2sub-0.3-r1.ebuild32
-rw-r--r--media-video/dv2sub/dv2sub-0.3-r2.ebuild15
-rw-r--r--media-video/dv2sub/metadata.xml3
-rw-r--r--media-video/dvbackup/dvbackup-0.0.4-r2.ebuild4
-rw-r--r--media-video/dvbsnoop/dvbsnoop-1.4.50-r1.ebuild27
-rw-r--r--media-video/dvbsnoop/dvbsnoop-1.4.50-r2.ebuild18
-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/Manifest1
-rw-r--r--media-video/dvdauthor/dvdauthor-0.7.1-r1.ebuild48
-rw-r--r--media-video/dvdauthor/dvdauthor-0.7.2-r3.ebuild (renamed from media-video/dvdauthor/dvdauthor-0.7.2-r2.ebuild)33
-rw-r--r--media-video/dvdauthor/files/dvdauthor-0.7.1-glibc220.patch162
-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.ebuild6
-rw-r--r--media-video/dvdrip/Manifest1
-rw-r--r--media-video/dvdrip/dvdrip-0.98.11-r4.ebuild74
-rw-r--r--media-video/dvdrip/files/dvdrip-0.98.11-fix_parallel_make.patch28
-rw-r--r--media-video/dvdrip/metadata.xml11
-rw-r--r--media-video/dvdstyler/Manifest2
-rw-r--r--media-video/dvdstyler/dvdstyler-3.2.1-r1.ebuild77
-rw-r--r--media-video/dvdstyler/dvdstyler-3.2.1.ebuild (renamed from media-video/dvdstyler/dvdstyler-3.0.4.ebuild)12
-rw-r--r--media-video/dvdstyler/files/ffmpeg4.patch13
-rw-r--r--media-video/dvdstyler/files/ffmpeg5.patch89
-rw-r--r--media-video/dvdstyler/files/wx30.patch14
-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)14
-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/Manifest9
-rw-r--r--media-video/ffdiaporama/ffdiaporama-2.2_pre20140701-r2.ebuild77
-rw-r--r--media-video/ffdiaporama/ffdiaporama-2.2_pre20230525.ebuild59
-rw-r--r--media-video/ffdiaporama/ffdiaporama-2.2_pre20240203.ebuild59
-rw-r--r--media-video/ffdiaporama/metadata.xml2
-rw-r--r--media-video/ffmpeg-chromium/Manifest6
-rw-r--r--media-video/ffmpeg-chromium/ffmpeg-chromium-120.ebuild (renamed from media-video/ffmpeg-chromium/ffmpeg-chromium-94.ebuild)81
-rw-r--r--media-video/ffmpeg-chromium/ffmpeg-chromium-121.ebuild250
-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-120.patch27
-rw-r--r--media-video/ffmpeg-chromium/files/ffmpeg-chromium-94.patch26
-rw-r--r--media-video/ffmpeg-chromium/metadata.xml17
-rw-r--r--media-video/ffmpeg/Manifest17
-rw-r--r--media-video/ffmpeg/ffmpeg-4.4.4-r9.ebuild (renamed from media-video/ffmpeg/ffmpeg-4.4-r1.ebuild)164
-rw-r--r--media-video/ffmpeg/ffmpeg-6.0-r12.ebuild (renamed from media-video/ffmpeg/ffmpeg-4.3.2-r1.ebuild)161
-rw-r--r--media-video/ffmpeg/ffmpeg-6.0.1-r4.ebuild (renamed from media-video/ffmpeg/ffmpeg-4.3.1-r1.ebuild)173
-rw-r--r--media-video/ffmpeg/ffmpeg-6.1.1-r5.ebuild (renamed from media-video/ffmpeg/ffmpeg-4.2.4-r1.ebuild)297
-rw-r--r--media-video/ffmpeg/ffmpeg-6.1.1-r6.ebuild616
-rw-r--r--media-video/ffmpeg/ffmpeg-9999.ebuild257
-rw-r--r--media-video/ffmpeg/files/amf-env-vulkan-override1
-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.3-altivec-novsx-yuv2rgb.patch23
-rw-r--r--media-video/ffmpeg/files/ffmpeg-4.3-fix-build-without-SSSE3.patch22
-rw-r--r--media-video/ffmpeg/files/ffmpeg-4.3.1-srt-1.4.2-build.patch52
-rw-r--r--media-video/ffmpeg/files/ffmpeg-4.4.3-clang-14-ff_seek_frame_binary-crash.patch46
-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.0-backport-ranlib-build-fix.patch59
-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-memory-leak.patch129
-rw-r--r--media-video/ffmpeg/files/ffmpeg-6.1.1-vulkan-rename.patch127
-rw-r--r--media-video/ffmpeg/files/vmaf-models-default-path.patch13
-rw-r--r--media-video/ffmpeg/metadata.xml158
-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/Manifest1
-rw-r--r--media-video/ffmpegthumbnailer/ffmpegthumbnailer-2.2.2-r1.ebuild (renamed from media-video/ffmpegthumbnailer/ffmpegthumbnailer-2.2.0-r1.ebuild)18
-rw-r--r--media-video/ffmpegthumbnailer/ffmpegthumbnailer-2.2.2.ebuild49
-rw-r--r--media-video/ffmpegthumbnailer/files/ffmpeg5-1.patch22
-rw-r--r--media-video/ffmpegthumbnailer/files/ffmpeg5-10.patch22
-rw-r--r--media-video/ffmpegthumbnailer/files/ffmpeg5-2.patch28
-rw-r--r--media-video/ffmpegthumbnailer/files/ffmpeg5-3.patch26
-rw-r--r--media-video/ffmpegthumbnailer/files/ffmpeg5-4.patch32
-rw-r--r--media-video/ffmpegthumbnailer/files/ffmpeg5-5.patch37
-rw-r--r--media-video/ffmpegthumbnailer/files/ffmpeg5-6.patch23
-rw-r--r--media-video/ffmpegthumbnailer/files/ffmpeg5-7.patch27
-rw-r--r--media-video/ffmpegthumbnailer/files/ffmpeg5-8.patch54
-rw-r--r--media-video/ffmpegthumbnailer/files/ffmpeg5-9.patch62
-rw-r--r--media-video/ffmpegthumbnailer/files/ffmpegthumbnailer-2.2.0-pkgconfig-libdir.patch21
-rw-r--r--media-video/flvstreamer/flvstreamer-2.1c.ebuild4
-rw-r--r--media-video/flvstreamer/metadata.xml3
-rw-r--r--media-video/gaupol/Manifest4
-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.9.ebuild)18
-rw-r--r--media-video/gaupol/gaupol-1.14.1.ebuild (renamed from media-video/gaupol/gaupol-1.10.1.ebuild)14
-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/gnome-video-effects/metadata.xml27
-rw-r--r--media-video/google2srt/Manifest2
-rw-r--r--media-video/google2srt/files/build.xml85
-rw-r--r--media-video/google2srt/google2srt-0.5.6-r1.ebuild64
-rw-r--r--media-video/google2srt/metadata.xml20
-rw-r--r--media-video/gpac/Manifest4
-rw-r--r--media-video/gpac/files/gpac-2.0.0-configure.patch (renamed from media-video/gpac/files/gpac-1.0.1-configure.patch)88
-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.ebuild (renamed from media-video/gpac/gpac-1.0.1.ebuild)12
-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.ebuild29
-rw-r--r--media-video/guvcview/Manifest3
-rw-r--r--media-video/guvcview/guvcview-2.0.8.ebuild (renamed from media-video/guvcview/guvcview-2.0.6-r2.ebuild)10
-rw-r--r--media-video/guvcview/guvcview-2.1.0.ebuild77
-rw-r--r--media-video/gxine/Manifest1
-rw-r--r--media-video/gxine/files/gxine-0.5.909-fno-common.patch22
-rw-r--r--media-video/gxine/gxine-0.5.909-r1.ebuild71
-rw-r--r--media-video/gxine/metadata.xml10
-rw-r--r--media-video/h264enc/h264enc-10.4.7-r1.ebuild6
-rw-r--r--media-video/handbrake/Manifest4
-rw-r--r--media-video/handbrake/files/handbrake-1.3.3-libhb-fix-audio-encoders-when-linking-to-FFmpeg-4.4.patch28
-rw-r--r--media-video/handbrake/files/handbrake-1.5.1-ffmpeg-5.0.patch40
-rw-r--r--media-video/handbrake/files/handbrake-9999-dont-search-for-python.patch26
-rw-r--r--media-video/handbrake/files/handbrake-9999-remove-faac-dependency.patch32
-rw-r--r--media-video/handbrake/files/handbrake-9999-system-tools.patch24
-rw-r--r--media-video/handbrake/handbrake-1.4.2-r2.ebuild (renamed from media-video/handbrake/handbrake-1.3.3-r2.ebuild)94
-rw-r--r--media-video/handbrake/handbrake-1.5.1-r1.ebuild (renamed from media-video/handbrake/handbrake-1.3.3-r3.ebuild)100
-rw-r--r--media-video/handbrake/handbrake-1.6.1.ebuild163
-rw-r--r--media-video/handbrake/handbrake-9999.ebuild119
-rw-r--r--media-video/handbrake/metadata.xml1
-rw-r--r--media-video/harvid/Manifest2
-rw-r--r--media-video/harvid/files/harvid-0.9.0-ffmpeg.patch21
-rw-r--r--media-video/harvid/files/harvid-0.9.0-parallel-build.patch40
-rw-r--r--media-video/harvid/files/jpeg.patch13
-rw-r--r--media-video/harvid/harvid-0.9.0.ebuild (renamed from media-video/harvid/harvid-0.8.3-r1.ebuild)28
-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/shrip/metadata.xml)3
-rw-r--r--media-video/imagination/imagination-3.0-r2.ebuild4
-rw-r--r--media-video/isight-firmware-tools/files/isight-firmware-tools-1.5.90-build-O0.patch12
-rw-r--r--media-video/isight-firmware-tools/isight-firmware-tools-1.6-r2.ebuild (renamed from media-video/isight-firmware-tools/isight-firmware-tools-1.6-r1.ebuild)33
-rw-r--r--media-video/jellyfin-media-player/Manifest4
-rw-r--r--media-video/jellyfin-media-player/jellyfin-media-player-1.7.1-r1.ebuild85
-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.xml11
-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/streamdeck-ui/metadata.xml)10
-rw-r--r--media-video/jellyfin-web-jmp-bin/Manifest3
-rw-r--r--media-video/jellyfin-web-jmp-bin/jellyfin-web-jmp-bin-10.8.0.ebuild24
-rw-r--r--media-video/jellyfin-web-jmp-bin/jellyfin-web-jmp-bin-10.8.1.ebuild24
-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.xml11
-rw-r--r--media-video/jubler/Manifest1
-rw-r--r--media-video/jubler/jubler-5.1.ebuild71
-rw-r--r--media-video/jubler/metadata.xml10
-rw-r--r--media-video/kaffeine/Manifest1
-rw-r--r--media-video/kaffeine/files/kaffeine-2.0.18-kwindowsystem-5.82.patch28
-rw-r--r--media-video/kaffeine/files/kaffeine-2.0.18-wayland-window-activation.patch35
-rw-r--r--media-video/kaffeine/kaffeine-2.0.18-r2.ebuild (renamed from media-video/kaffeine/kaffeine-2.0.18-r1.ebuild)22
-rw-r--r--media-video/kino/Manifest1
-rw-r--r--media-video/kino/files/kino-1.3.4-desktop.patch14
-rw-r--r--media-video/kino/files/kino-1.3.4-ffmpeg3.patch157
-rw-r--r--media-video/kino/files/kino-1.3.4-ffmpeg4.patch13
-rw-r--r--media-video/kino/files/kino-1.3.4-libav-0.7.patch60
-rw-r--r--media-video/kino/files/kino-1.3.4-libav-0.8.patch57
-rw-r--r--media-video/kino/files/kino-1.3.4-libavcodec-pkg-config.patch11
-rw-r--r--media-video/kino/files/kino-1.3.4-v4l1.patch22
-rw-r--r--media-video/kino/kino-1.3.4-r2.ebuild105
-rw-r--r--media-video/kino/metadata.xml14
-rw-r--r--media-video/libva-utils/Manifest10
-rw-r--r--media-video/libva-utils/files/libva-utils-2.10.0_test_in_sandbox.patch17
-rw-r--r--media-video/libva-utils/libva-utils-2.10.0.ebuild61
-rw-r--r--media-video/libva-utils/libva-utils-2.11.1.ebuild96
-rw-r--r--media-video/libva-utils/libva-utils-2.12.0.ebuild97
-rw-r--r--media-video/libva-utils/libva-utils-2.20.0.ebuild91
-rw-r--r--media-video/libva-utils/libva-utils-2.20.1.ebuild91
-rw-r--r--media-video/libva-utils/libva-utils-2.21.0.ebuild91
-rw-r--r--media-video/libva-utils/libva-utils-2.4.0.ebuild62
-rw-r--r--media-video/libva-utils/libva-utils-2.8.0-r1.ebuild74
-rw-r--r--media-video/libva-utils/libva-utils-2.8.0-r2.ebuild61
-rw-r--r--media-video/libva-utils/libva-utils-2.8.0.ebuild63
-rw-r--r--media-video/libva-utils/libva-utils-2.9.1-r1.ebuild61
-rw-r--r--media-video/libva-utils/libva-utils-2.9.1.ebuild62
-rw-r--r--media-video/libva-utils/libva-utils-9999.ebuild94
-rw-r--r--media-video/libva-utils/metadata.xml8
-rw-r--r--media-video/lsdvd/lsdvd-0.17.ebuild4
-rw-r--r--media-video/lxdvdrip/files/lxdvdrip-1.77-clang-16-build.patch38
-rw-r--r--media-video/lxdvdrip/files/lxdvdrip-1.77-makefile.patch4
-rw-r--r--media-video/lxdvdrip/files/lxdvdrip-1.77-vamps-makefile.patch11
-rw-r--r--media-video/lxdvdrip/lxdvdrip-1.77-r1.ebuild (renamed from media-video/lxdvdrip/lxdvdrip-1.77.ebuild)32
-rw-r--r--media-video/lxdvdrip/lxdvdrip-1.77-r2.ebuild51
-rw-r--r--media-video/makemkv/Manifest4
-rw-r--r--media-video/makemkv/files/makemkv-flags.patch11
-rw-r--r--media-video/makemkv/files/makemkvcon.1242
-rw-r--r--media-video/makemkv/makemkv-1.17.6.ebuild (renamed from media-video/makemkv/makemkv-1.16.4.ebuild)13
-rw-r--r--media-video/matroxset/matroxset-0.4-r2.ebuild (renamed from media-video/matroxset/matroxset-0.4-r1.ebuild)31
-rw-r--r--media-video/mediainfo/Manifest5
-rw-r--r--media-video/mediainfo/mediainfo-22.09.ebuild (renamed from media-video/mediainfo/mediainfo-20.09.ebuild)24
-rw-r--r--media-video/mediainfo/mediainfo-23.03.ebuild (renamed from media-video/mediainfo/mediainfo-20.09-r1.ebuild)22
-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/Manifest1
-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.0-r1.ebuild112
-rw-r--r--media-video/mjpegtools/mjpegtools-2.2.1-r1.ebuild (renamed from media-video/mjpegtools/mjpegtools-2.2.1.ebuild)20
-rw-r--r--media-video/mjpg-streamer/files/mjpg-streamer.initd21
-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/mkvalidator/mkvalidator-0.5.2.ebuild5
-rw-r--r--media-video/mkvtoolnix/Manifest8
-rw-r--r--media-video/mkvtoolnix/files/mkvtoolnix-49.0.0-qt5dbus.patch32
-rw-r--r--media-video/mkvtoolnix/files/mkvtoolnix-56.1.0-optlevel.patch15
-rw-r--r--media-video/mkvtoolnix/files/mkvtoolnix-67.0.0-no-uic-qtwidgets.patch76
-rw-r--r--media-video/mkvtoolnix/files/mkvtoolnix-80.0.0-fix-qtmultimedia.patch29
-rw-r--r--media-video/mkvtoolnix/files/mkvtoolnix-80.0.0-no-uic-qtwidgets.patch31
-rw-r--r--media-video/mkvtoolnix/files/mkvtoolnix-80.0.0-optional-qtdbus.patch70
-rw-r--r--media-video/mkvtoolnix/files/mkvtoolnix-83.0.0-fix-disable-gui.patch88
-rw-r--r--media-video/mkvtoolnix/metadata.xml11
-rw-r--r--media-video/mkvtoolnix/mkvtoolnix-57.0.0.ebuild131
-rw-r--r--media-video/mkvtoolnix/mkvtoolnix-77.0.ebuild (renamed from media-video/mkvtoolnix/mkvtoolnix-61.0.0.ebuild)54
-rw-r--r--media-video/mkvtoolnix/mkvtoolnix-81.0.ebuild167
-rw-r--r--media-video/mkvtoolnix/mkvtoolnix-83.0.ebuild (renamed from media-video/mkvtoolnix/mkvtoolnix-60.0.0.ebuild)89
-rw-r--r--media-video/mkvtoolnix/mkvtoolnix-9999.ebuild82
-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/motiontrack/motiontrack-0.1.3-r2.ebuild4
-rw-r--r--media-video/movit/Manifest5
-rw-r--r--media-video/movit/files/movit-1.6.3-gcc12.patch12
-rw-r--r--media-video/movit/movit-1.6.2.ebuild48
-rw-r--r--media-video/movit/movit-1.6.3-r1.ebuild44
-rw-r--r--media-video/movit/movit-1.7.1.ebuild44
-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/mpeg2vidcodec/Manifest1
-rw-r--r--media-video/mpeg2vidcodec/files/mpeg2vidcodec-12-Wimplicit-function-declaration.patch54
-rw-r--r--media-video/mpeg2vidcodec/files/mpeg2vidcodec-12-fix-build-system.patch78
-rw-r--r--media-video/mpeg2vidcodec/metadata.xml7
-rw-r--r--media-video/mpeg2vidcodec/mpeg2vidcodec-12-r1.ebuild33
-rw-r--r--media-video/mpgtx/files/mpgtx-1.3.1-configure.patch4
-rw-r--r--media-video/mpgtx/files/mpgtx-1.3.1-dont-ignore-cxx-flags.patch4
-rw-r--r--media-video/mpgtx/mpgtx-1.3.1-r2.ebuild36
-rw-r--r--media-video/mplayer-sh/Manifest2
-rw-r--r--media-video/mplayer-sh/files/mplayer-sh-0.8.6-parameter-aid.diff84
-rw-r--r--media-video/mplayer-sh/files/mplayer-sh-0.8.7-parameter-aid.diff84
-rw-r--r--media-video/mplayer-sh/metadata.xml8
-rw-r--r--media-video/mplayer-sh/mplayer-sh-0.8.6-r2.ebuild42
-rw-r--r--media-video/mplayer-sh/mplayer-sh-0.8.7.ebuild42
-rw-r--r--media-video/mplayer/Manifest4
-rw-r--r--media-video/mplayer/files/ffmpeg44.patch12
-rw-r--r--media-video/mplayer/files/mplayer-1.3-CVE-2016-4352.patch24
-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/metadata.xml2
-rw-r--r--media-video/mplayer/mplayer-1.5_p20230215.ebuild (renamed from media-video/mplayer/mplayer-1.4-r1.ebuild)400
-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.ebuild413
-rw-r--r--media-video/mpv/Manifest4
-rw-r--r--media-video/mpv/files/mpv-0.37.0-drm-fix.patch41
-rw-r--r--media-video/mpv/metadata.xml27
-rw-r--r--media-video/mpv/mpv-0.33.1-r1.ebuild358
-rw-r--r--media-video/mpv/mpv-0.37.0.ebuild286
-rw-r--r--media-video/mpv/mpv-0.38.0.ebuild276
-rw-r--r--media-video/mpv/mpv-9999.ebuild492
-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/nvidia-video-codec/Manifest4
-rw-r--r--media-video/nvidia-video-codec/metadata.xml10
-rw-r--r--media-video/nvidia-video-codec/nvidia-video-codec-7.0.1.ebuild23
-rw-r--r--media-video/nvidia-video-codec/nvidia-video-codec-7.1.9.ebuild23
-rw-r--r--media-video/nvidia-video-codec/nvidia-video-codec-8.0.14.ebuild23
-rw-r--r--media-video/nvidia-video-codec/nvidia-video-codec-8.2.16.ebuild23
-rw-r--r--media-video/nvidia_video_sdk/Manifest1
-rw-r--r--media-video/nvidia_video_sdk/metadata.xml10
-rw-r--r--media-video/nvidia_video_sdk/nvidia_video_sdk-6.0.1.ebuild52
-rw-r--r--media-video/obs-studio/Manifest10
-rw-r--r--media-video/obs-studio/files/obs-studio-26.1.2-python-3.8.patch18
-rw-r--r--media-video/obs-studio/metadata.xml10
-rw-r--r--media-video/obs-studio/obs-studio-27.0.1-r1.ebuild218
-rw-r--r--media-video/obs-studio/obs-studio-27.1.3.ebuild214
-rw-r--r--media-video/obs-studio/obs-studio-30.1.0.ebuild264
-rw-r--r--media-video/obs-studio/obs-studio-30.1.1.ebuild270
-rw-r--r--media-video/obs-studio/obs-studio-9999.ebuild207
-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/ogmrip/Manifest1
-rw-r--r--media-video/ogmrip/metadata.xml15
-rw-r--r--media-video/ogmrip/ogmrip-1.0.1.ebuild82
-rw-r--r--media-video/openshot/Manifest1
-rw-r--r--media-video/openshot/metadata.xml16
-rw-r--r--media-video/openshot/openshot-2.6.0.ebuild55
-rw-r--r--media-video/oxine/oxine-0.7.1-r6.ebuild (renamed from media-video/oxine/oxine-0.7.1-r4.ebuild)66
-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/peek/peek-1.5.1-r1.ebuild (renamed from media-video/peek/peek-1.5.1.ebuild)22
-rw-r--r--media-video/pipewire/Manifest8
-rw-r--r--media-video/pipewire/files/99-pipewire-default-hook.conf17
-rw-r--r--media-video/pipewire/files/gentoo-pipewire-launcher.152
-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.25-non-systemd-integration.patch18
-rw-r--r--media-video/pipewire/files/pipewire-0.3.29-revert-openaptx-restriction.patch30
-rw-r--r--media-video/pipewire/files/pipewire-0.3.35-non-systemd-integration.patch20
-rw-r--r--media-video/pipewire/files/pipewire-0.3.36-fix-crash-uaf-media-session.patch36
-rw-r--r--media-video/pipewire/files/pipewire-0.3.36-fix-version.patch25
-rw-r--r--media-video/pipewire/files/pipewire-0.3.36-missing-limits-include.patch17
-rw-r--r--media-video/pipewire/files/pipewire-0.3.36-non-systemd-integration.patch19
-rw-r--r--media-video/pipewire/files/pipewire-0.3.38-find-readline.patch36
-rw-r--r--media-video/pipewire/files/pipewire-0.3.38-fix-arm-build.patch18
-rw-r--r--media-video/pipewire/files/pipewire-0.3.38-libcamera-null-deref.patch70
-rw-r--r--media-video/pipewire/files/pipewire-launcher.sh6
-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.xml23
-rw-r--r--media-video/pipewire/pipewire-0.3.30-r2.ebuild274
-rw-r--r--media-video/pipewire/pipewire-0.3.36.ebuild284
-rw-r--r--media-video/pipewire/pipewire-0.3.37.ebuild285
-rw-r--r--media-video/pipewire/pipewire-0.3.38.ebuild290
-rw-r--r--media-video/pipewire/pipewire-1.0.4.ebuild512
-rw-r--r--media-video/pipewire/pipewire-1.0.5-r1.ebuild502
-rw-r--r--media-video/pipewire/pipewire-1.0.5.ebuild512
-rw-r--r--media-video/pipewire/pipewire-1.0.6.ebuild502
-rw-r--r--media-video/pipewire/pipewire-9999.ebuild464
-rw-r--r--media-video/pitivi/Manifest2
-rw-r--r--media-video/pitivi/files/pitivi-0.999-metainfo.patch12
-rw-r--r--media-video/pitivi/files/pitivi-0.999-optional-tests.patch18
-rw-r--r--media-video/pitivi/files/pitivi-0.999-python38.patch49
-rw-r--r--media-video/pitivi/metadata.xml19
-rw-r--r--media-video/pitivi/pitivi-2023.03-r2.ebuild (renamed from media-video/pitivi/pitivi-0.999-r4.ebuild)61
-rw-r--r--media-video/popcorntime-bin/Manifest5
-rw-r--r--media-video/popcorntime-bin/metadata.xml12
-rw-r--r--media-video/popcorntime-bin/popcorntime-bin-0.4.9.ebuild92
-rw-r--r--media-video/popcorntime-bin/popcorntime-bin-0.5.0-r2.ebuild105
-rw-r--r--media-video/popcorntime-bin/popcorntime-bin-0.5.1-r1.ebuild102
-rw-r--r--media-video/projectx/Manifest2
-rw-r--r--media-video/projectx/projectx-0.91.0.10-r4.ebuild (renamed from media-video/projectx/projectx-0.91.0.10-r3.ebuild)22
-rw-r--r--media-video/projectx/projectx-0.91.0.10-r5.ebuild123
-rw-r--r--media-video/qmplay2/Manifest6
-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-21.03.09.ebuild)95
-rw-r--r--media-video/qmplay2/qmplay2-24.04.02.ebuild (renamed from media-video/qmplay2/qmplay2-20.07.04.ebuild)113
-rw-r--r--media-video/qmplay2/qmplay2-24.04.07.ebuild (renamed from media-video/qmplay2/qmplay2-21.06.07-r2.ebuild)90
-rw-r--r--media-video/qmplay2/qmplay2-9999.ebuild90
-rw-r--r--media-video/rage/Manifest1
-rw-r--r--media-video/rage/metadata.xml (renamed from media-video/unifi-video/metadata.xml)8
-rw-r--r--media-video/rage/rage-0.4.0-r1.ebuild26
-rw-r--r--media-video/raspberrypi-omxplayer/raspberrypi-omxplayer-0_p20160528-r3.ebuild4
-rw-r--r--media-video/rav1e/Manifest585
-rw-r--r--media-video/rav1e/metadata.xml3
-rw-r--r--media-video/rav1e/rav1e-0.4.1-r1.ebuild329
-rw-r--r--media-video/rav1e/rav1e-0.4.1.ebuild327
-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.ebuild283
-rw-r--r--media-video/recmpeg/recmpeg-1.0.5.ebuild4
-rw-r--r--media-video/recordmydesktop/recordmydesktop-0.3.8.1-r6.ebuild13
-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/Manifest1
-rw-r--r--media-video/rtmpdump/files/rtmpdump-2.4_p20210219-gcc-11-missing-include.patch23
-rw-r--r--media-video/rtmpdump/files/rtmpdump-fix-chunk-size.patch46
-rw-r--r--media-video/rtmpdump/rtmpdump-2.4_p20210219.ebuild93
-rw-r--r--media-video/rtmpdump/rtmpdump-9999.ebuild12
-rw-r--r--media-video/setpwc/files/setpwc-1.3-clang16.patch8
-rw-r--r--media-video/setpwc/setpwc-1.3.ebuild7
-rw-r--r--media-video/shotcut/Manifest4
-rw-r--r--media-video/shotcut/shotcut-21.03.21.ebuild66
-rw-r--r--media-video/shotcut/shotcut-21.09.20.ebuild66
-rw-r--r--media-video/shotcut/shotcut-23.09.29.ebuild51
-rw-r--r--media-video/shotcut/shotcut-24.02.19.ebuild52
-rw-r--r--media-video/shotcut/shotcut-9999.ebuild57
-rw-r--r--media-video/shrip/Manifest1
-rw-r--r--media-video/shrip/shrip-0.6.0-r1.ebuild39
-rw-r--r--media-video/simplescreenrecorder/Manifest3
-rw-r--r--media-video/simplescreenrecorder/files/simplescreenrecorder-0.4.2-cmake.patch28
-rw-r--r--media-video/simplescreenrecorder/files/simplescreenrecorder-0.4.4-ffmpeg5.patch54
-rw-r--r--media-video/simplescreenrecorder/metadata.xml5
-rw-r--r--media-video/simplescreenrecorder/simplescreenrecorder-0.4.2.ebuild101
-rw-r--r--media-video/simplescreenrecorder/simplescreenrecorder-0.4.4-r3.ebuild (renamed from media-video/simplescreenrecorder/simplescreenrecorder-0.4.3.ebuild)45
-rw-r--r--media-video/simplescreenrecorder/simplescreenrecorder-9999.ebuild43
-rw-r--r--media-video/smplayer/Manifest4
-rw-r--r--media-video/smplayer/metadata.xml14
-rw-r--r--media-video/smplayer/smplayer-21.1.0.ebuild138
-rw-r--r--media-video/smplayer/smplayer-21.8.0.ebuild139
-rw-r--r--media-video/smplayer/smplayer-23.6.0.ebuild (renamed from media-video/smplayer/smplayer-20.6.0.ebuild)35
-rw-r--r--media-video/sonic-snap/sonic-snap-1.7-r1.ebuild30
-rw-r--r--media-video/streamdeck-ui/Manifest1
-rw-r--r--media-video/streamdeck-ui/streamdeck-ui-0.0_p20200102-r1.ebuild44
-rw-r--r--media-video/streamdeck-ui/streamdeck-ui-9999.ebuild44
-rw-r--r--media-video/subcheck/subcheck-0.78.2-r1.ebuild4
-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)25
-rw-r--r--media-video/subliminal/subliminal-9999.ebuild24
-rw-r--r--media-video/subsync/subsync-0.0.1.ebuild7
-rw-r--r--media-video/subtitlecomposer/Manifest4
-rw-r--r--media-video/subtitlecomposer/files/subtitlecomposer-0.7.0-mpv-0.33.patch260
-rw-r--r--media-video/subtitlecomposer/files/subtitlecomposer-0.7.0-tests-optional.patch9
-rw-r--r--media-video/subtitlecomposer/files/subtitlecomposer-0.7.0-valid-desktop-file.patch21
-rw-r--r--media-video/subtitlecomposer/files/subtitlecomposer-0.7.1-tests-optional.patch27
-rw-r--r--media-video/subtitlecomposer/metadata.xml3
-rw-r--r--media-video/subtitlecomposer/subtitlecomposer-0.7.0.ebuild83
-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/subtitleeditor/metadata.xml20
-rw-r--r--media-video/subtitleeditor/subtitleeditor-0.54.0-r1.ebuild58
-rw-r--r--media-video/subtitleeditor/subtitleeditor-0.54.0_p5.ebuild4
-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/metadata.xml11
-rw-r--r--media-video/subtitleripper/subtitleripper-0.3.4-r4.ebuild58
-rw-r--r--media-video/tcmplex-panteltje/files/tcmplex-panteltje-0.4.7-clang16.patch7
-rw-r--r--media-video/tcmplex-panteltje/tcmplex-panteltje-0.4.7-r2.ebuild (renamed from media-video/tcmplex-panteltje/tcmplex-panteltje-0.4.7-r1.ebuild)24
-rw-r--r--media-video/tivodecode/tivodecode-0.2_pre4.ebuild16
-rw-r--r--media-video/totem/Manifest2
-rw-r--r--media-video/totem/files/3.38.0-gst-inspect-sandbox.patch42
-rw-r--r--media-video/totem/files/43.0-gst-inspect-sandbox.patch30
-rw-r--r--media-video/totem/metadata.xml42
-rw-r--r--media-video/totem/totem-43.0-r1.ebuild (renamed from media-video/totem/totem-3.38.1.ebuild)40
-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.ebuild144
-rw-r--r--media-video/tsmuxer/Manifest2
-rw-r--r--media-video/tsmuxer/metadata.xml3
-rw-r--r--media-video/tsmuxer/tsmuxer-2.6.11-r1.ebuild38
-rw-r--r--media-video/tsmuxer/tsmuxer-2.6.16_p20220706.ebuild40
-rw-r--r--media-video/ttcut/metadata.xml1
-rw-r--r--media-video/ttcut/ttcut-0.19.6_p1-r1.ebuild9
-rw-r--r--media-video/unifi-video/Manifest1
-rw-r--r--media-video/unifi-video/files/commons-daemon-move.patch12
-rw-r--r--media-video/unifi-video/files/unifi-video.initd20
-rw-r--r--media-video/unifi-video/files/unifi-video.service11
-rw-r--r--media-video/unifi-video/unifi-video-3.10.13-r2.ebuild86
-rw-r--r--media-video/unifi-video/unifi-video-3.10.13-r3.ebuild86
-rw-r--r--media-video/unifi-video/unifi-video-3.10.13-r4.ebuild87
-rw-r--r--media-video/ushare/Manifest2
-rw-r--r--media-video/ushare/metadata.xml3
-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)20
-rw-r--r--media-video/v4l2loopback/v4l2loopback-0.13.1.ebuild59
-rw-r--r--media-video/v4l2loopback/v4l2loopback-9999.ebuild21
-rw-r--r--media-video/vamps/files/vamps-0.99.2-musl.patch146
-rw-r--r--media-video/vamps/vamps-0.99.2-r2.ebuild5
-rw-r--r--media-video/vcdimager/metadata.xml9
-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.ebuild)11
-rw-r--r--media-video/vdr/Manifest10
-rw-r--r--media-video/vdr/files/vdr-2.4.1_mainmenuhook-1.0.1.patch114
-rw-r--r--media-video/vdr/files/vdr-2.4.7_gcc11.patch26
-rw-r--r--media-video/vdr/files/vdr-2.6.1-patch-for-permashift.patch517
-rw-r--r--media-video/vdr/files/vdr-2.6.1_naludump.patch598
-rw-r--r--media-video/vdr/files/vdr-2.6.1_pinplugin.patch447
-rw-r--r--media-video/vdr/files/vdr-2.6.6_gentoo.patch60
-rw-r--r--media-video/vdr/metadata.xml4
-rw-r--r--media-video/vdr/vdr-2.2.0-r6.ebuild301
-rw-r--r--media-video/vdr/vdr-2.2.0-r7.ebuild17
-rw-r--r--media-video/vdr/vdr-2.6.4.ebuild (renamed from media-video/vdr/vdr-2.4.7-r1.ebuild)80
-rw-r--r--media-video/vdr/vdr-2.6.6.ebuild199
-rw-r--r--media-video/vdr2jpeg/metadata.xml4
-rw-r--r--media-video/vdr2jpeg/vdr2jpeg-0.2.0-r5.ebuild4
-rw-r--r--media-video/vdr2jpeg/vdr2jpeg-0.2.0.ebuild37
-rw-r--r--media-video/vdrsync/vdrsync-0.1.3_pre050322-r1.ebuild41
-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.ebuild)18
-rw-r--r--media-video/vidcutter/vidcutter-6.0.5.ebuild41
-rw-r--r--media-video/vidcutter/vidcutter-9999.ebuild11
-rw-r--r--media-video/videotrans/videotrans-1.6.1-r2.ebuild15
-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.ebuild)13
-rw-r--r--media-video/vidify/files/vidify-2.2.6-python310.patch16
-rw-r--r--media-video/vidify/files/vidify-2.2.6-yt-dlp.patch122
-rw-r--r--media-video/vidify/vidify-2.2.6-r3.ebuild (renamed from media-video/vidify/vidify-2.2.6.ebuild)20
-rw-r--r--media-video/vlc/Manifest3
-rw-r--r--media-video/vlc/files/vlc-3.0.11.1-srt-1.4.2.patch25
-rw-r--r--media-video/vlc/files/vlc-3.0.12.1-limits-p1.patch32
-rw-r--r--media-video/vlc/files/vlc-3.0.12.1-limits-p2.patch48
-rw-r--r--media-video/vlc/files/vlc-3.0.13-srt-1.3.0.patch11
-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.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.xml3
-rw-r--r--media-video/vlc/vlc-3.0.20-r10.ebuild (renamed from media-video/vlc/vlc-3.0.14-r7.ebuild)145
-rw-r--r--media-video/vlc/vlc-3.0.20-r5.ebuild (renamed from media-video/vlc/vlc-3.0.16-r7.ebuild)144
-rw-r--r--media-video/vlc/vlc-3.0.9999.ebuild82
-rw-r--r--media-video/vlc/vlc-9999.ebuild92
-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/Manifest3
-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.7.1.ebuild77
-rw-r--r--media-video/webcamoid/webcamoid-9.0.0-r1.ebuild73
-rw-r--r--media-video/webcamoid/webcamoid-9.1.1.ebuild84
-rw-r--r--media-video/webcamoid/webcamoid-9999.ebuild84
-rw-r--r--media-video/wireplumber/Manifest4
-rw-r--r--media-video/wireplumber/files/wireplumber-0.4.15-config-disable-sound-server-parts.patch24
-rw-r--r--media-video/wireplumber/files/wireplumber-0.4.2-bluez-add-basic-check-for-nil-monitor.patch42
-rw-r--r--media-video/wireplumber/files/wireplumber-0.4.2-lib-wp-device-demote-missing-SPA-warning-to-message.patch28
-rw-r--r--media-video/wireplumber/files/wireplumber-0.4.2-lua-api-fix-object-constructors-to-fail-gracefully.patch100
-rw-r--r--media-video/wireplumber/files/wireplumber-0.4.2-meson-Build-tests-conditionally.patch41
-rw-r--r--media-video/wireplumber/files/wireplumber-0.4.2-v4l-add-basic-check-for-nil-monitor.patch42
-rw-r--r--media-video/wireplumber/files/wireplumber-0.4.81-config-disable-sound-server-parts.patch27
-rw-r--r--media-video/wireplumber/metadata.xml12
-rw-r--r--media-video/wireplumber/wireplumber-0.4.17-r1.ebuild122
-rw-r--r--media-video/wireplumber/wireplumber-0.4.2-r1.ebuild89
-rw-r--r--media-video/wireplumber/wireplumber-0.4.4.ebuild86
-rw-r--r--media-video/wireplumber/wireplumber-0.5.2.ebuild123
-rw-r--r--media-video/wireplumber/wireplumber-9999.ebuild97
-rw-r--r--media-video/x264-encoder/Manifest3
-rw-r--r--media-video/x264-encoder/files/gpac.patch13
-rw-r--r--media-video/x264-encoder/x264-encoder-0.0.20220222.ebuild (renamed from media-video/x264-encoder/x264-encoder-0.0.20190903.ebuild)13
-rw-r--r--media-video/x264-encoder/x264-encoder-0.0.20231114.ebuild77
-rw-r--r--media-video/x264-encoder/x264-encoder-9999.ebuild26
-rw-r--r--media-video/xine-ui/Manifest2
-rw-r--r--media-video/xine-ui/files/xine-ui-0.99.13-build.patch43
-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.ebuild (renamed from media-video/xine-ui/xine-ui-0.99.12.ebuild)23
-rw-r--r--media-video/yle-dl/Manifest3
-rw-r--r--media-video/yle-dl/metadata.xml3
-rw-r--r--media-video/yle-dl/yle-dl-20240130.ebuild (renamed from media-video/yle-dl/yle-dl-20210917.ebuild)19
-rw-r--r--media-video/yle-dl/yle-dl-20240429.ebuild57
651 files changed, 22709 insertions, 14439 deletions
diff --git a/media-video/acidrip/acidrip-0.14-r4.ebuild b/media-video/acidrip/acidrip-0.14-r4.ebuild
index 030214ae78a7..88b0b061ce2b 100644
--- a/media-video/acidrip/acidrip-0.14-r4.ebuild
+++ b/media-video/acidrip/acidrip-0.14-r4.ebuild
@@ -1,8 +1,9 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=5
-inherit epatch perl-module
+EAPI=8
+
+inherit perl-module
DESCRIPTION="A gtk-perl mplayer/mencoder frontend for ripping DVDs"
HOMEPAGE="https://sourceforge.net/projects/acidrip/"
@@ -13,14 +14,15 @@ SLOT="0"
KEYWORDS="amd64 ~ppc x86"
IUSE="encode"
-RDEPEND="dev-perl/Gtk2
+RDEPEND="
+ dev-perl/Gtk2
media-video/lsdvd
media-video/mplayer[encode]
- encode? ( >=media-sound/lame-3.92 )"
+ encode? ( >=media-sound/lame-3.92 )
+"
DEPEND="${RDEPEND}"
-src_prepare() {
- epatch "${FILESDIR}"/${PN}-mplayer.patch #168012
- epatch "${FILESDIR}/${P}-makefile.patch" #299173
- perl-module_src_prepare
-}
+PATCHES=(
+ "${FILESDIR}"/${PN}-mplayer.patch #168012
+ "${FILESDIR}/${P}-makefile.patch" #299173
+)
diff --git a/media-video/acidrip/files/acidrip-mplayer.patch b/media-video/acidrip/files/acidrip-mplayer.patch
index 5d9c84701d5e..edb2100aeb45 100644
--- a/media-video/acidrip/files/acidrip-mplayer.patch
+++ b/media-video/acidrip/files/acidrip-mplayer.patch
@@ -1,7 +1,7 @@
http://bugs.gentoo.org/168012
---- AcidRip/acidrip.pm
-+++ AcidRip/acidrip.pm
+--- a/AcidRip/acidrip.pm
++++ b/AcidRip/acidrip.pm
@@ -680,7 +680,7 @@
message( "Running " . get_command("cropdetect") );
open( CROP, get_command("cropdetect") . " 2>&1 |" );
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.2.2_p20160518-r102.ebuild b/media-video/aegisub/aegisub-3.2.2_p20160518-r105.ebuild
index a9ce3414a7ab..d629f9e92acf 100644
--- a/media-video/aegisub/aegisub-3.2.2_p20160518-r102.ebuild
+++ b/media-video/aegisub/aegisub-3.2.2_p20160518-r105.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
@@ -20,14 +20,14 @@ LICENSE="BSD MIT"
SLOT="0"
KEYWORDS="amd64 x86"
IUSE="+alsa debug +fftw openal oss portaudio pulseaudio spell test +uchardet"
-RESTRICT="!test? ( test )"
+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,threads(+)]
+ dev-libs/boost:=[icu,nls]
dev-libs/icu:=
media-libs/ffmpegsource:=
media-libs/fontconfig
@@ -74,6 +74,9 @@ PATCHES=(
"${FILESDIR}/${PV}/${P}-fix-makefile-for-make4.3.patch"
"${FILESDIR}/${PV}/${P}-tests_luarocks_lua_version.patch"
"${FILESDIR}/${PV}/${P}-avoid-conveying-positional-parameters-to-source-builtin.patch"
+ "${FILESDIR}/${PV}/${P}-luaL_Reg-not-luaL_reg.patch"
+ "${FILESDIR}/${PV}/${P}-ffmpegsource-2.40-compat2.patch"
+ "${FILESDIR}/${PV}/${P}-fix-boost-181-build.patch"
)
aegisub_check_compiler() {
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 3d41b6d75d2a..208e6b0e5adb 100644
--- a/media-video/aegisub/aegisub-9999.ebuild
+++ b/media-video/aegisub/aegisub-9999.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
@@ -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).
@@ -28,7 +33,7 @@ RESTRICT="test"
# 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,threads(+)]
+ dev-libs/boost:=[icu,nls]
dev-libs/icu:=
media-libs/ffmpegsource:=
media-libs/fontconfig
@@ -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.2.2_p20160518/aegisub-3.2.2_p20160518-ffmpegsource-2.40-compat2.patch b/media-video/aegisub/files/3.2.2_p20160518/aegisub-3.2.2_p20160518-ffmpegsource-2.40-compat2.patch
new file mode 100644
index 000000000000..17dc3f2dbabc
--- /dev/null
+++ b/media-video/aegisub/files/3.2.2_p20160518/aegisub-3.2.2_p20160518-ffmpegsource-2.40-compat2.patch
@@ -0,0 +1,106 @@
+commit 89c4e8d34ab77c3322f097b91fd9de22cbea7a37
+Author: Thomas Goyne <plorkyeran@aegisub.org>
+Date: Wed Nov 21 16:41:05 2018 -0800
+
+ Update ffmpeg and ffms2
+
+diff --git a/src/video_provider_ffmpegsource.cpp b/src/video_provider_ffmpegsource.cpp
+index 8bd68fbbf..f4ed6a2f2 100644
+--- a/src/video_provider_ffmpegsource.cpp
++++ b/src/video_provider_ffmpegsource.cpp
+@@ -44,6 +44,23 @@
+ #include <libaegisub/make_unique.h>
+
+ namespace {
++typedef enum AGI_ColorSpaces {
++ AGI_CS_RGB = 0,
++ AGI_CS_BT709 = 1,
++ AGI_CS_UNSPECIFIED = 2,
++ AGI_CS_FCC = 4,
++ AGI_CS_BT470BG = 5,
++ AGI_CS_SMPTE170M = 6,
++ AGI_CS_SMPTE240M = 7,
++ AGI_CS_YCOCG = 8,
++ AGI_CS_BT2020_NCL = 9,
++ AGI_CS_BT2020_CL = 10,
++ AGI_CS_SMPTE2085 = 11,
++ AGI_CS_CHROMATICITY_DERIVED_NCL = 12,
++ AGI_CS_CHROMATICITY_DERIVED_CL = 13,
++ AGI_CS_ICTCP = 14
++} AGI_ColorSpaces;
++
+ /// @class FFmpegSourceVideoProvider
+ /// @brief Implements video loading through the FFMS library.
+ class FFmpegSourceVideoProvider final : public VideoProvider, FFmpegSourceProvider {
+@@ -78,7 +95,7 @@ public:
+ if (matrix == RealColorSpace)
+ FFMS_SetInputFormatV(VideoSource, CS, CR, FFMS_GetPixFmt(""), nullptr);
+ else if (matrix == "TV.601")
+- FFMS_SetInputFormatV(VideoSource, FFMS_CS_BT470BG, CR, FFMS_GetPixFmt(""), nullptr);
++ FFMS_SetInputFormatV(VideoSource, AGI_CS_BT470BG, CR, FFMS_GetPixFmt(""), nullptr);
+ else
+ return;
+ ColorSpace = matrix;
+@@ -103,16 +120,16 @@ std::string colormatrix_description(int cs, int cr) {
+ std::string str = cr == FFMS_CR_JPEG ? "PC" : "TV";
+
+ switch (cs) {
+- case FFMS_CS_RGB:
++ case AGI_CS_RGB:
+ return "None";
+- case FFMS_CS_BT709:
++ case AGI_CS_BT709:
+ return str + ".709";
+- case FFMS_CS_FCC:
++ case AGI_CS_FCC:
+ return str + ".FCC";
+- case FFMS_CS_BT470BG:
+- case FFMS_CS_SMPTE170M:
++ case AGI_CS_BT470BG:
++ case AGI_CS_SMPTE170M:
+ return str + ".601";
+- case FFMS_CS_SMPTE240M:
++ case AGI_CS_SMPTE240M:
+ return str + ".240M";
+ default:
+ throw VideoOpenError("Unknown video color space");
+@@ -206,8 +223,10 @@ void FFmpegSourceVideoProvider::LoadVideo(agi::fs::path const& filename, std::st
+
+ // set thread count
+ int Threads = OPT_GET("Provider/Video/FFmpegSource/Decoding Threads")->GetInt();
++#if FFMS_VERSION < ((2 << 24) | (30 << 16) | (0 << 8) | 0)
+ if (FFMS_GetVersion() < ((2 << 24) | (17 << 16) | (2 << 8) | 1) && FFMS_GetSourceType(Index) == FFMS_SOURCE_LAVF)
+ Threads = 1;
++#endif
+
+ // set seekmode
+ // TODO: give this its own option?
+@@ -235,18 +254,22 @@ void FFmpegSourceVideoProvider::LoadVideo(agi::fs::path const& filename, std::st
+ else
+ DAR = double(Width) / Height;
+
+- CS = TempFrame->ColorSpace;
++ int VideoCS = CS = TempFrame->ColorSpace;
+ CR = TempFrame->ColorRange;
+
+- if (CS == FFMS_CS_UNSPECIFIED)
+- CS = Width > 1024 || Height >= 600 ? FFMS_CS_BT709 : FFMS_CS_BT470BG;
++ if (CS == AGI_CS_UNSPECIFIED)
++ CS = Width > 1024 || Height >= 600 ? AGI_CS_BT709 : AGI_CS_BT470BG;
+ RealColorSpace = ColorSpace = colormatrix_description(CS, CR);
+
+ #if FFMS_VERSION >= ((2 << 24) | (17 << 16) | (1 << 8) | 0)
+- if (CS != FFMS_CS_RGB && CS != FFMS_CS_BT470BG && ColorSpace != colormatrix && (colormatrix == "TV.601" || OPT_GET("Video/Force BT.601")->GetBool())) {
+- if (FFMS_SetInputFormatV(VideoSource, FFMS_CS_BT470BG, CR, FFMS_GetPixFmt(""), &ErrInfo))
++ if (CS != AGI_CS_RGB && CS != AGI_CS_BT470BG && ColorSpace != colormatrix && (colormatrix == "TV.601" || OPT_GET("Video/Force BT.601")->GetBool())) {
++ CS = AGI_CS_BT470BG;
++ ColorSpace = colormatrix_description(AGI_CS_BT470BG, CR);
++ }
++
++ if (CS != VideoCS) {
++ if (FFMS_SetInputFormatV(VideoSource, CS, CR, FFMS_GetPixFmt(""), &ErrInfo))
+ throw VideoOpenError(std::string("Failed to set input format: ") + ErrInfo.Buffer);
+- ColorSpace = colormatrix_description(FFMS_CS_BT470BG, CR);
+ }
+ #endif
+
diff --git a/media-video/aegisub/files/3.2.2_p20160518/aegisub-3.2.2_p20160518-fix-boost-181-build.patch b/media-video/aegisub/files/3.2.2_p20160518/aegisub-3.2.2_p20160518-fix-boost-181-build.patch
new file mode 100644
index 000000000000..ac264bc70676
--- /dev/null
+++ b/media-video/aegisub/files/3.2.2_p20160518/aegisub-3.2.2_p20160518-fix-boost-181-build.patch
@@ -0,0 +1,56 @@
+diff --git a/libaegisub/include/libaegisub/lua/utils.h b/libaegisub/include/libaegisub/lua/utils.h
+index c5a65d6e4..f4921d582 100644
+--- a/libaegisub/include/libaegisub/lua/utils.h
++++ b/libaegisub/include/libaegisub/lua/utils.h
+@@ -87,7 +87,10 @@ int exception_wrapper(lua_State *L) {
+
+ template<typename T>
+ void set_field(lua_State *L, const char *name, T value) {
+- push_value(L, value);
++ if constexpr(std::is_convertible<T, std::string>::value)
++ push_value(L, static_cast<std::string>(value));
++ else
++ push_value(L, value);
+ lua_setfield(L, -2, name);
+ }
+
+diff --git a/src/auto4_lua.cpp b/src/auto4_lua.cpp
+index 245689679..6d479b2c3 100644
+--- a/src/auto4_lua.cpp
++++ b/src/auto4_lua.cpp
+@@ -115,7 +115,8 @@ namespace {
+ int get_translation(lua_State *L)
+ {
+ wxString str(check_wxstring(L, 1));
+- push_value(L, _(str).utf8_str());
++ const char* val = static_cast<const char*>( _(str).utf8_str());
++ push_value(L, val);
+ return 1;
+ }
+
+diff --git a/src/command/video.cpp b/src/command/video.cpp
+index fb2bcb0ba..77e3e9ca7 100644
+--- a/src/command/video.cpp
++++ b/src/command/video.cpp
+@@ -475,7 +475,7 @@ static void save_snapshot(agi::Context *c, bool raw) {
+ // If where ever that is isn't defined, we can't save there
+ if ((basepath == "\\") || (basepath == "/")) {
+ // So save to the current user's home dir instead
+- basepath = wxGetHomeDir().c_str();
++ basepath = static_cast<const char*>(wxGetHomeDir().c_str());
+ }
+ }
+ // Actual fixed (possibly relative) path, decode it
+diff --git a/src/dialog_attachments.cpp b/src/dialog_attachments.cpp
+index 38ff53027..e30339f81 100644
+--- a/src/dialog_attachments.cpp
++++ b/src/dialog_attachments.cpp
+@@ -161,7 +161,7 @@ void DialogAttachments::OnExtract(wxCommandEvent &) {
+
+ // Multiple or single?
+ if (listView->GetNextSelected(i) != -1)
+- path = wxDirSelector(_("Select the path to save the files to:"), to_wx(OPT_GET("Path/Fonts Collector Destination")->GetString())).c_str();
++ path = static_cast<const char*>(wxDirSelector(_("Select the path to save the files to:"), to_wx(OPT_GET("Path/Fonts Collector Destination")->GetString())).c_str());
+ else {
+ path = SaveFileSelector(
+ _("Select the path to save the file to:"),
diff --git a/media-video/aegisub/files/3.2.2_p20160518/aegisub-3.2.2_p20160518-luaL_Reg-not-luaL_reg.patch b/media-video/aegisub/files/3.2.2_p20160518/aegisub-3.2.2_p20160518-luaL_Reg-not-luaL_reg.patch
new file mode 100644
index 000000000000..1704630ea53f
--- /dev/null
+++ b/media-video/aegisub/files/3.2.2_p20160518/aegisub-3.2.2_p20160518-luaL_Reg-not-luaL_reg.patch
@@ -0,0 +1,35 @@
+diff --git a/libaegisub/lua/modules/lpeg.c b/libaegisub/lua/modules/lpeg.c
+index 8d67335ab..5261c2061 100644
+--- a/libaegisub/lua/modules/lpeg.c
++++ b/libaegisub/lua/modules/lpeg.c
+@@ -2334,7 +2334,7 @@ static int matchl (lua_State *L) {
+ }
+
+
+-static struct luaL_reg pattreg[] = {
++static struct luaL_Reg pattreg[] = {
+ {"match", matchl},
+ {"print", printpat_l},
+ {"locale", locale_l},
+@@ -2360,7 +2360,7 @@ static struct luaL_reg pattreg[] = {
+ };
+
+
+-static struct luaL_reg metapattreg[] = {
++static struct luaL_Reg metapattreg[] = {
+ {"__add", union_l},
+ {"__pow", star_l},
+ {"__sub", diff_l},
+diff --git a/vendor/luabins/src/luabins.c b/vendor/luabins/src/luabins.c
+index 60668213f..35b177629 100644
+--- a/vendor/luabins/src/luabins.c
++++ b/vendor/luabins/src/luabins.c
+@@ -54,7 +54,7 @@ static int l_load(lua_State * L)
+ }
+
+ /* luabins Lua module API */
+-static const struct luaL_reg R[] =
++static const struct luaL_Reg R[] =
+ {
+ { "save", l_save },
+ { "load", l_load },
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
new file mode 100644
index 000000000000..06cdc29d13c0
--- /dev/null
+++ b/media-video/amdgpu-pro-amf/Manifest
@@ -0,0 +1,3 @@
+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.1452059.ebuild b/media-video/amdgpu-pro-amf/amdgpu-pro-amf-1.4.24.1452059.ebuild
new file mode 100644
index 000000000000..2ae162b65fcb
--- /dev/null
+++ b/media-video/amdgpu-pro-amf/amdgpu-pro-amf-1.4.24.1452059.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit unpacker
+
+MY_PV_HIGH=$(ver_cut 1)
+MY_PV_MIDDLE=$(ver_cut 2)
+MY_PV_LOW=$(ver_cut 3)
+MY_PV_REV=$(ver_cut 4)
+
+MY_PV="${MY_PV_HIGH}.${MY_PV_MIDDLE}.${MY_PV_LOW}"
+MY_PV_FULL="${MY_PV}-${MY_PV_REV}"
+
+MY_PN="amf-amdgpu-pro"
+
+PRO_VULKAN_PKG_VER="22.10.4"
+
+DESCRIPTION="AMD's closed source Advanced Media Framework (AMF) driver"
+HOMEPAGE="https://www.amd.com/en/support"
+SRC_URI="https://repo.radeon.com/amdgpu/${PRO_VULKAN_PKG_VER}/ubuntu/pool/proprietary/a/${MY_PN}/${MY_PN}_${MY_PV_FULL}_amd64.deb -> ${P}.deb"
+
+S="${WORKDIR}"
+
+RESTRICT="bindist mirror"
+
+LICENSE="AMD-GPU-PRO-EULA"
+SLOT="0"
+KEYWORDS="-* ~amd64"
+
+RDEPEND="
+ media-libs/amdgpu-pro-vulkan
+ media-libs/libglvnd
+ x11-libs/libdrm
+ x11-libs/libX11
+"
+
+QA_PREBUILT="
+ usr/lib64/libamfrt64.so*
+"
+
+src_unpack() {
+ mkdir "${S}/${PN}-amd64" || die
+ cd "${S}/${PN}-amd64" || die
+ unpack_deb "${DISTDIR}/${P}.deb"
+}
+
+src_install() {
+ insinto "/usr/$(get_libdir)"
+
+ # AMF
+ doins "${S}/${PN}-amd64/opt/amdgpu-pro/lib/x86_64-linux-gnu/libamfrt64.so.${MY_PV}"
+ dosym "libamfrt64.so.${MY_PV}" "/usr/$(get_libdir)/libamfrt64.so.1"
+}
diff --git a/media-video/amdgpu-pro-amf/amdgpu-pro-amf-1.4.29.1580631.ebuild b/media-video/amdgpu-pro-amf/amdgpu-pro-amf-1.4.29.1580631.ebuild
new file mode 100644
index 000000000000..aeace360442d
--- /dev/null
+++ b/media-video/amdgpu-pro-amf/amdgpu-pro-amf-1.4.29.1580631.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit unpacker
+
+MY_PV_HIGH=$(ver_cut 1)
+MY_PV_MIDDLE=$(ver_cut 2)
+MY_PV_LOW=$(ver_cut 3)
+MY_PV_REV=$(ver_cut 4)
+
+MY_PV="${MY_PV_HIGH}.${MY_PV_MIDDLE}.${MY_PV_LOW}"
+MY_PV_FULL="${MY_PV}-${MY_PV_REV}"
+
+MY_PN="amf-amdgpu-pro"
+
+INTERNAL_VER="5.4.6"
+UBUNTU_VER="22.04"
+
+DESCRIPTION="AMD's closed source Advanced Media Framework (AMF) driver"
+HOMEPAGE="https://www.amd.com/en/support"
+SRC_URI="https://repo.radeon.com/amdgpu/${INTERNAL_VER}/ubuntu/pool/proprietary/a/${MY_PN}/${MY_PN}_${MY_PV_FULL}.${UBUNTU_VER}_amd64.deb -> ${P}.deb"
+
+S="${WORKDIR}"
+
+RESTRICT="bindist mirror"
+
+LICENSE="AMD-GPU-PRO-EULA"
+SLOT="0"
+KEYWORDS="-* ~amd64"
+
+RDEPEND="
+ media-libs/amdgpu-pro-vulkan
+ media-libs/libglvnd
+ x11-libs/libdrm
+ x11-libs/libX11
+"
+
+QA_PREBUILT="
+ usr/lib64/libamfrt64.so*
+"
+
+src_unpack() {
+ mkdir "${S}/${PN}-amd64" || die
+ cd "${S}/${PN}-amd64" || die
+ unpack_deb "${DISTDIR}/${P}.deb"
+}
+
+src_install() {
+ insinto "/usr/$(get_libdir)"
+
+ # AMF
+ doins "${S}/${PN}-amd64/opt/amdgpu-pro/lib/x86_64-linux-gnu/libamfrt64.so.${MY_PV}"
+ dosym "libamfrt64.so.${MY_PV}" "/usr/$(get_libdir)/libamfrt64.so.1"
+}
diff --git a/media-video/amdgpu-pro-amf/amdgpu-pro-amf-1.4.33.1718238.ebuild b/media-video/amdgpu-pro-amf/amdgpu-pro-amf-1.4.33.1718238.ebuild
new file mode 100644
index 000000000000..3a60f81979fa
--- /dev/null
+++ b/media-video/amdgpu-pro-amf/amdgpu-pro-amf-1.4.33.1718238.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit unpacker
+
+MY_PV_HIGH=$(ver_cut 1)
+MY_PV_MIDDLE=$(ver_cut 2)
+MY_PV_LOW=$(ver_cut 3)
+MY_PV_REV=$(ver_cut 4)
+
+MY_PV="${MY_PV_HIGH}.${MY_PV_MIDDLE}.${MY_PV_LOW}"
+MY_PV_FULL="${MY_PV}-${MY_PV_REV}"
+
+MY_PN="amf-amdgpu-pro"
+
+INTERNAL_VER="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/${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/31"
+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/metadata.xml b/media-video/amdgpu-pro-amf/metadata.xml
new file mode 100644
index 000000000000..6d07c8aa6259
--- /dev/null
+++ b/media-video/amdgpu-pro-amf/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person" proxied="yes">
+ <name>Adel Kara Slimane</name>
+ <email>adel.ks@zegrapher.com</email>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/media-video/aravis/Manifest b/media-video/aravis/Manifest
index 9cf2ceb0ae54..4104137379ee 100644
--- a/media-video/aravis/Manifest
+++ b/media-video/aravis/Manifest
@@ -1,2 +1 @@
-DIST aravis-0.7.2.tar.gz 940928 BLAKE2B 67b6772aaf6195e393caf2f3fcf6d24acace9d7160023c801f93d479e9d488e4082dcd11d40a8db18dea6cd516e0b24cb78e46de09d455a3c822208d9f33af5b SHA512 5cc6c01f77462c595a87a5899df752a5018e72b4de108fc3bcebbb39542482fc535401a7f10732270d98998fe807c929ae9e7750cc7ac0ce089763d1eb148e2a
DIST aravis-0.8.5.tar.gz 966208 BLAKE2B abeb87911e20898765a41a663a539932cafe65a297ae3887379ca2760132150fde1fb87dbd5f718618b90f5eb2f2fd4941a85ebf7139b0d4ae8a6be458338450 SHA512 2e6ab898be0d1e9a93555bcf83bb447f19c46c5d3c3a8713b9a2174fd165992d5737393f417f6e46504d120d15955dc67e89342449f11356a3fd1e6968ac233e
diff --git a/media-video/aravis/aravis-0.7.2.ebuild b/media-video/aravis/aravis-0.7.2.ebuild
deleted file mode 100644
index f2dd9137fe00..000000000000
--- a/media-video/aravis/aravis-0.7.2.ebuild
+++ /dev/null
@@ -1,68 +0,0 @@
-# Copyright 2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-inherit meson xdg
-
-DESCRIPTION="Library for video acquisition using Genicam cameras"
-HOMEPAGE="https://github.com/AravisProject/aravis"
-
-if [[ ${PV} = 9999 ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/AravisProject/${PN}"
-else
- MY_P="${PN^^}_${PV//./_}"
- SRC_URI="https://github.com/AravisProject/${PN}/archive/${MY_P}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~x86"
-fi
-
-LICENSE="LGPL-2+"
-SLOT="0"
-# FIXME: As of right now tests are always built, once that changes a USE flag
-# should be added. c.f. https://github.com/AravisProject/aravis/issues/286
-IUSE="gtk-doc fast-heartbeat gstreamer introspection packet-socket usb viewer"
-
-GST_DEPEND="
- media-libs/gstreamer:1.0
- media-libs/gst-plugins-base:1.0
-"
-BDEPEND="
- dev-util/glib-utils
- virtual/pkgconfig
- gtk-doc? (
- dev-util/gtk-doc
- app-text/docbook-xml-dtd:4.3
- )
- introspection? ( dev-libs/gobject-introspection:= )
-"
-DEPEND="
- dev-libs/glib:2[gtk-doc?]
- dev-libs/libxml2:2
- sys-libs/zlib
- gstreamer? ( ${GST_DEPEND} )
- packet-socket? ( sys-process/audit )
- usb? ( virtual/libusb:1 )
- viewer? (
- ${GST_DEPEND}
- x11-libs/gtk+:3
- x11-libs/libnotify
- )
-"
-RDEPEND="${DEPEND}"
-
-if [[ ${PV} != 9999 ]]; then
- S="${WORKDIR}/${PN}-${MY_P}"
-fi
-
-src_configure() {
- local emesonargs=(
- $(meson_use gtk-doc documentation)
- $(meson_use fast-heartbeat)
- $(meson_use gstreamer gst-plugin)
- $(meson_use introspection)
- $(meson_use packet-socket)
- $(meson_use usb)
- $(meson_use viewer)
- )
- meson_src_configure
-}
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/asfrecorder/asfrecorder-1.1-r1.ebuild b/media-video/asfrecorder/asfrecorder-1.1-r2.ebuild
index bcb8f73a2cf7..4affdf5ebb9a 100644
--- a/media-video/asfrecorder/asfrecorder-1.1-r1.ebuild
+++ b/media-video/asfrecorder/asfrecorder-1.1-r2.ebuild
@@ -1,14 +1,16 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit toolchain-funcs
MY_PN="${PN/asfr/ASFR}"
+
DESCRIPTION="Linux WindowsMedia streaming client"
HOMEPAGE="https://sourceforge.net/projects/asfrecorder/"
-SRC_URI="mirror://sourceforge/${PN}/${MY_PN}.zip"
+SRC_URI="mirror://gentoo/${MY_PN}.zip"
+S="${WORKDIR}/${MY_PN}"
LICENSE="public-domain"
SLOT="0"
@@ -16,17 +18,16 @@ KEYWORDS="~amd64 ppc x86 ~x86-linux ~ppc-macos"
BDEPEND="app-arch/unzip"
-S=${WORKDIR}/${MY_PN}
+PATCHES=(
+ "${FILESDIR}"/${P}-headers.patch
+)
src_compile() {
- # There is a Makefile, but it only works for Cygwin, so we
- # only compile this single program.
- cd "${S}"/source || die
- $(tc-getCC) -o ${PN} ${CFLAGS} ${LDFLAGS} ${PN}.c || die "Build failed"
+ tc-export CC
+ emake -C source ${PN}
}
src_install() {
- # Again, no makefiles, so just take what we want.
dobin source/${PN}
- dodoc README.TXT
+ einstalldocs
}
diff --git a/media-video/asfrecorder/files/asfrecorder-1.1-headers.patch b/media-video/asfrecorder/files/asfrecorder-1.1-headers.patch
new file mode 100644
index 000000000000..4da22e2d662c
--- /dev/null
+++ b/media-video/asfrecorder/files/asfrecorder-1.1-headers.patch
@@ -0,0 +1,11 @@
+https://bugs.gentoo.org/874558
+--- a/source/asfrecorder.c
++++ b/source/asfrecorder.c
+@@ -127,2 +127,7 @@
+ #include <time.h>
++#include <ctype.h>
++#include <unistd.h>
++#include <sys/socket.h>
++#include <netinet/in.h>
++#include <arpa/inet.h>
+
diff --git a/media-video/atomicparsley-wez/Manifest b/media-video/atomicparsley-wez/Manifest
deleted file mode 100644
index 8f9d4d6c2704..000000000000
--- a/media-video/atomicparsley-wez/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST atomicparsley-wez-0.9.6.tar.bz2 178956 BLAKE2B e7c9bc2f3b923194fef173b72b98e4654745e0811457a1e8cb29150ab265447c2bfa71b645869661f6fd92bb30a58f25ae3aa29b20255aa09ee63f3ab738b8c5 SHA512 1f094fd4d43f652319abd2eee70529d9a57e7843b4b725815b9939ad90cf56e3f061ffd9104507a7d74cabbdd9b7cb24ca12d30c88a89832629da3091bbcf1b6
diff --git a/media-video/atomicparsley-wez/atomicparsley-wez-0.9.6.ebuild b/media-video/atomicparsley-wez/atomicparsley-wez-0.9.6.ebuild
deleted file mode 100644
index 7f1cfc0f1f1d..000000000000
--- a/media-video/atomicparsley-wez/atomicparsley-wez-0.9.6.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit autotools flag-o-matic
-
-MY_PN=${PN/-wez}
-
-DESCRIPTION="command line program for reading, parsing and setting iTunes-style metadata in MPEG4 files"
-HOMEPAGE="https://github.com/wez/atomicparsley"
-SRC_URI="https://bitbucket.org/wez/${MY_PN}/get/${PV}.tar.bz2 -> ${P}.tar.bz2"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~riscv ~x86"
-IUSE=""
-
-RDEPEND="sys-libs/zlib
- !media-video/atomicparsley"
-DEPEND="${RDEPEND}"
-
-DOCS="Changes.txt CREDITS"
-
-src_unpack() {
- unpack ${A}
- mv *-${MY_PN}-* "${S}"
-}
-
-src_prepare() {
- eautoreconf
-}
-
-src_configure() {
- append-flags -fno-strict-aliasing
- econf
-}
diff --git a/media-video/atomicparsley-wez/metadata.xml b/media-video/atomicparsley-wez/metadata.xml
deleted file mode 100644
index 77ffb7932054..000000000000
--- a/media-video/atomicparsley-wez/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>
- <upstream>
- <remote-id type="github">wez/atomicparsley</remote-id>
- <remote-id type="bitbucket">wez/atomicparsley</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/media-video/atomicparsley/Manifest b/media-video/atomicparsley/Manifest
index 928a889fce2d..03adcdbb13ee 100644
--- a/media-video/atomicparsley/Manifest
+++ b/media-video/atomicparsley/Manifest
@@ -1 +1 @@
-DIST AtomicParsley-source-0.9.0.zip 172616 BLAKE2B 6e2fa904cde622524ec51e3d084d89dd86c04db9942a27fae67b0d12db0542705d28e723c26db94d234f26c7249c6b8d4fd01a2bce891d2310a3a912667e1d84 SHA512 a4733893bb0d8bf824ee46d7da7f8c2ab9338ae56ea89810db1ac40282554e7e095b3e88631786b248a66aba878f166b9ac403769c66ef3ad45ac8ff7d411982
+DIST atomicparsley-0.9.6_p20210715_p151551.tar.gz 230214 BLAKE2B 986058a8e80b84f30df03f5dfc6e2019ef6949469d8554a5a06ecc75716463b3047820265fd22556f9087a64498e07e994fa2162660f440086eab276be496a9d SHA512 9f58fe7426c9728f8e5624250ff57d7707a4b040365135fa5149909d84c536ecbddaa3820dae85ca8a4c31fc8009685bf56875f1d4ff6f5c854f05a30da6974a
diff --git a/media-video/atomicparsley/atomicparsley-0.9.0.ebuild b/media-video/atomicparsley/atomicparsley-0.9.0.ebuild
deleted file mode 100644
index c60e09385f43..000000000000
--- a/media-video/atomicparsley/atomicparsley-0.9.0.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-MY_P=AtomicParsley-source-${PV}
-
-inherit flag-o-matic toolchain-funcs
-
-DESCRIPTION="Command line program for manipulating iTunes-style metadata in MPEG4 files"
-HOMEPAGE="http://atomicparsley.sourceforge.net"
-SRC_URI="mirror://sourceforge/${PN}/${MY_P}.zip"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 ppc ppc64 ~riscv sparc x86"
-
-BDEPEND="app-arch/unzip"
-
-S="${WORKDIR}/${MY_P}"
-
-PATCHES=(
- "${FILESDIR}"/${P}-glibc-2.10.patch
- "${FILESDIR}"/${P}-environment.patch
-)
-
-src_compile() {
- # APar_sha1.cpp:116:47 and 117:43: warning: dereferencing type-punned
- # pointer will break strict-aliasing rules
- append-flags -fno-strict-aliasing
- tc-export CXX
- ./build || die
-}
-
-src_install() {
- dobin AtomicParsley
- dodoc *.{txt,rtf}
-}
diff --git a/media-video/atomicparsley/atomicparsley-0.9.6_p20210715_p151551.ebuild b/media-video/atomicparsley/atomicparsley-0.9.6_p20210715_p151551.ebuild
new file mode 100644
index 000000000000..1f890ecdfbaa
--- /dev/null
+++ b/media-video/atomicparsley/atomicparsley-0.9.6_p20210715_p151551.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# The fork at https://github.com/wez/atomicparsley uses unusual versioning, so
+# we sadly need to hardcode the hash and update it per-release.
+MY_COMMIT_HASH="e7ad03a"
+MY_PV="$(ver_cut 5).$(ver_cut 7).${MY_COMMIT_HASH}"
+inherit cmake flag-o-matic
+
+DESCRIPTION="Command line program for manipulating iTunes-style metadata in MPEG4 files"
+HOMEPAGE="https://github.com/wez/atomicparsley http://atomicparsley.sourceforge.net"
+SRC_URI="https://github.com/wez/atomicparsley/archive/refs/tags/${MY_PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}"/${PN}-${MY_PV}
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc ppc64 ~riscv sparc x86"
+
+src_configure() {
+ # APar_sha1.cpp:116:47 and 117:43: warning: dereferencing type-punned
+ # pointer will break strict-aliasing rules
+ append-flags -fno-strict-aliasing
+
+ cmake_src_configure
+}
+
+src_test() {
+ ln -s "${BUILD_DIR}"/AtomicParsley || die
+ tests/test.sh || die
+}
diff --git a/media-video/atomicparsley/files/atomicparsley-0.9.0-environment.patch b/media-video/atomicparsley/files/atomicparsley-0.9.0-environment.patch
deleted file mode 100644
index 6db9c79a3275..000000000000
--- a/media-video/atomicparsley/files/atomicparsley-0.9.0-environment.patch
+++ /dev/null
@@ -1,80 +0,0 @@
-diff -ur AtomicParsley-source-0.9.0.orig/build AtomicParsley-source-0.9.0/build
---- AtomicParsley-source-0.9.0.orig/build 2006-09-10 18:02:58.000000000 +0300
-+++ AtomicParsley-source-0.9.0/build 2009-07-22 01:19:39.000000000 +0300
-@@ -39,45 +39,45 @@
-
- echo "Compiling AP_commons.cpp ..."
-
--g++ -g -O2 -Wall -MT obj_files/AP_commons.o -MD -MP -MF "./obj_files/AP_commons.Tpo" -c -o obj_files/AP_commons.o AP_commons.cpp
-+${CXX} ${CXXFLAGS} -Wall -MT obj_files/AP_commons.o -MD -MP -MF "./obj_files/AP_commons.Tpo" -c -o obj_files/AP_commons.o AP_commons.cpp
-
- echo "Compiling AtomicParsley_genres.cpp ..."
-
--g++ -g -O2 -Wall -MT obj_files/AtomicParsley_genres.o -MD -MP -MF "./obj_files/AtomicParsley_genres.Tpo" -c -o obj_files/AtomicParsley_genres.o AtomicParsley_genres.cpp
-+${CXX} ${CXXFLAGS} -Wall -MT obj_files/AtomicParsley_genres.o -MD -MP -MF "./obj_files/AtomicParsley_genres.Tpo" -c -o obj_files/AtomicParsley_genres.o AtomicParsley_genres.cpp
-
- echo "Compiling AP_iconv.cpp ..."
-
--g++ -g -O2 -Wall $EXTRA_CPP_FLAGS -MT AP_iconv.o -MD -MP -MF "./obj_files/AP_iconv.Tpo" -c -o obj_files/AP_iconv.o AP_iconv.cpp
-+${CXX} ${CXXFLAGS} -Wall $EXTRA_CPP_FLAGS -MT AP_iconv.o -MD -MP -MF "./obj_files/AP_iconv.Tpo" -c -o obj_files/AP_iconv.o AP_iconv.cpp
-
- if test $OS = Darwin ; then
- echo "Compiling AP_NSFile_utils.mm ..."
-
-- g++ -g -O2 -Wall -MT obj_files/AP_NSFile_utils.o -MD -MP -MF "./obj_files/AP_NSFile_utils.Tpo" -c -o obj_files/AP_NSFile_utils.o AP_NSFile_utils.mm
-+ ${CXX} ${CXXFLAGS} -Wall -MT obj_files/AP_NSFile_utils.o -MD -MP -MF "./obj_files/AP_NSFile_utils.Tpo" -c -o obj_files/AP_NSFile_utils.o AP_NSFile_utils.mm
-
- echo "Compiling AP_NSImage.mm ..."
-
-- g++ -g -O2 -Wall -MT obj_files/AP_NSImage.o -MD -MP -MF "./obj_files/AP_NSImage.Tpo" -c -o obj_files/AP_NSImage.o AP_NSImage.mm
-+ ${CXX} ${CXXFLAGS} -Wall -MT obj_files/AP_NSImage.o -MD -MP -MF "./obj_files/AP_NSImage.Tpo" -c -o obj_files/AP_NSImage.o AP_NSImage.mm
- fi
-
- echo "Compiling AtomicParsley.cpp ..."
-
--g++ -g -O2 -Wall -Wno-unused $EXTRA_CPP_FLAGS -MT obj_files/AtomicParsley.o -MD -MP -MF "./obj_files/AtomicParsley.Tpo" -c -o obj_files/AtomicParsley.o AtomicParsley.cpp
-+${CXX} ${CXXFLAGS} -Wall -Wno-unused $EXTRA_CPP_FLAGS -MT obj_files/AtomicParsley.o -MD -MP -MF "./obj_files/AtomicParsley.Tpo" -c -o obj_files/AtomicParsley.o AtomicParsley.cpp
-
- echo "Compiling AP_AtomExtracts.cpp ..."
-
--g++ -g -O2 -Wall $EXTRA_CPP_FLAGS -I../AtomicParsley -MT obj_files/AP_AtomExtracts.o -MD -MP -MF "./obj_files/AP_AtomExtracts.Tpo" -c -o obj_files/AP_AtomExtracts.o AP_AtomExtracts.cpp
-+${CXX} ${CXXFLAGS} -Wall $EXTRA_CPP_FLAGS -I../AtomicParsley -MT obj_files/AP_AtomExtracts.o -MD -MP -MF "./obj_files/AP_AtomExtracts.Tpo" -c -o obj_files/AP_AtomExtracts.o AP_AtomExtracts.cpp
-
- echo "Compiling APar_sha1.cpp ..."
-
--g++ -g -O2 -Wall $EXTRA_CPP_FLAGS -I../AtomicParsley -MT obj_files/APar_sha1.o -MD -MP -MF "./obj_files/APar_sha1.Tpo" -c -o obj_files/APar_sha1.o APar_sha1.cpp
-+${CXX} ${CXXFLAGS} -Wall $EXTRA_CPP_FLAGS -I../AtomicParsley -MT obj_files/APar_sha1.o -MD -MP -MF "./obj_files/APar_sha1.Tpo" -c -o obj_files/APar_sha1.o APar_sha1.cpp
-
- echo "Compiling APar_uuid.cpp ..."
-
--g++ -g -O2 -Wall $EXTRA_CPP_FLAGS -I../AtomicParsley -MT obj_files/APar_uuid.o -MD -MP -MF "./obj_files/APar_uuid.Tpo" -c -o obj_files/APar_uuid.o APar_uuid.cpp
-+${CXX} ${CXXFLAGS} -Wall $EXTRA_CPP_FLAGS -I../AtomicParsley -MT obj_files/APar_uuid.o -MD -MP -MF "./obj_files/APar_uuid.Tpo" -c -o obj_files/APar_uuid.o APar_uuid.cpp
-
- echo "Compiling main.cpp ..."
-
--g++ -g -O2 -Wall $EXTRA_CPP_FLAGS -I../AtomicParsley -MT obj_files/main.o -MD -MP -MF "./obj_files/main.Tpo" -c -o obj_files/main.o main.cpp
-+${CXX} ${CXXFLAGS} -Wall $EXTRA_CPP_FLAGS -I../AtomicParsley -MT obj_files/main.o -MD -MP -MF "./obj_files/main.Tpo" -c -o obj_files/main.o main.cpp
-
- #---------------------------------------------#
- # Linking #
-@@ -85,16 +85,16 @@
- echo "Linking AtomicParsley..."
-
- if test $OS = Darwin ; then
-- g++ -g -O2 -Wall -framework Cocoa -o AtomicParsley obj_files/APar_sha1.o obj_files/APar_uuid.o obj_files/AP_commons.o obj_files/AtomicParsley_genres.o obj_files/AP_iconv.o obj_files/AP_NSFile_utils.o obj_files/AP_NSImage.o obj_files/AP_AtomExtracts.o obj_files/AtomicParsley.o obj_files/main.o
-+ ${CXX} ${LDFLAGS} -Wall -framework Cocoa -o AtomicParsley obj_files/APar_sha1.o obj_files/APar_uuid.o obj_files/AP_commons.o obj_files/AtomicParsley_genres.o obj_files/AP_iconv.o obj_files/AP_NSFile_utils.o obj_files/AP_NSImage.o obj_files/AP_AtomExtracts.o obj_files/AtomicParsley.o obj_files/main.o
-
- elif test $OS = Linux ; then
-- g++ -O2 -Wall -o AtomicParsley obj_files/APar_sha1.o obj_files/APar_uuid.o obj_files/AP_commons.o obj_files/AtomicParsley_genres.o obj_files/AP_iconv.o obj_files/AP_AtomExtracts.o obj_files/AtomicParsley.o obj_files/main.o
-+ ${CXX} ${LDFLAGS} -Wall -o AtomicParsley obj_files/APar_sha1.o obj_files/APar_uuid.o obj_files/AP_commons.o obj_files/AtomicParsley_genres.o obj_files/AP_iconv.o obj_files/AP_AtomExtracts.o obj_files/AtomicParsley.o obj_files/main.o
-
- elif test $OS = CYGWIN ; then
-- g++ -g -O2 -Wall -o AtomicParsley.exe obj_files/APar_sha1.o obj_files/APar_uuid.o obj_files/AP_commons.o obj_files/AtomicParsley_genres.o obj_files/AP_iconv.o obj_files/AP_AtomExtracts.o obj_files/AtomicParsley.o obj_files/main.o -lgcc
-+ ${CXX} ${LDFLAGS} -Wall -o AtomicParsley.exe obj_files/APar_sha1.o obj_files/APar_uuid.o obj_files/AP_commons.o obj_files/AtomicParsley_genres.o obj_files/AP_iconv.o obj_files/AP_AtomExtracts.o obj_files/AtomicParsley.o obj_files/main.o -lgcc
-
- else
-- g++ -g -O2 -Wall -o AtomicParsley.exe obj_files/APar_sha1.o obj_files/APar_uuid.o obj_files/AP_commons.o obj_files/AtomicParsley_genres.o obj_files/AP_iconv.o obj_files/AP_AtomExtracts.o obj_files/AtomicParsley.o obj_files/main.o
-+ ${CXX} ${CXXFLAGS} -Wall -o AtomicParsley.exe obj_files/APar_sha1.o obj_files/APar_uuid.o obj_files/AP_commons.o obj_files/AtomicParsley_genres.o obj_files/AP_iconv.o obj_files/AP_AtomExtracts.o obj_files/AtomicParsley.o obj_files/main.o
- fi
-
- #---------------------------------------------#
diff --git a/media-video/atomicparsley/files/atomicparsley-0.9.0-glibc-2.10.patch b/media-video/atomicparsley/files/atomicparsley-0.9.0-glibc-2.10.patch
deleted file mode 100644
index 0397a4e42bca..000000000000
--- a/media-video/atomicparsley/files/atomicparsley-0.9.0-glibc-2.10.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-diff -ur AtomicParsley-source-0.9.0.orig/AtomicParsley.cpp AtomicParsley-source-0.9.0/AtomicParsley.cpp
---- AtomicParsley-source-0.9.0.orig/AtomicParsley.cpp 2006-09-16 02:22:33.000000000 +0300
-+++ AtomicParsley-source-0.9.0/AtomicParsley.cpp 2009-07-22 00:52:48.000000000 +0300
-@@ -1447,7 +1447,7 @@
- uint32_t atom_offsets = 0;
- char* uuid_outfile = (char*)calloc(1, sizeof(char)*MAXPATHLEN+1); //malloc a new string because it may be a cli arg for a specific output path
- if (output_path == NULL) {
-- char* orig_suffix = strrchr(originating_file, '.');
-+ const char* orig_suffix = strrchr(originating_file, '.');
- if (orig_suffix == NULL) {
- fprintf(stdout, "AP warning: a file extension for the input file was not found.\n\tGlobbing onto original filename...\n");
- path_len = strlen(originating_file);
-@@ -4462,7 +4462,7 @@
- #endif
-
- void APar_DeriveNewPath(const char *filePath, char* temp_path, int output_type, const char* file_kind, char* forced_suffix, bool random_filename = true) {
-- char* suffix = NULL;
-+ const char* suffix = NULL;
- if (forced_suffix == NULL) {
- suffix = strrchr(filePath, '.');
- } else {
-@@ -4480,7 +4480,7 @@
- memcpy(temp_path, filePath, base_len);
- memcpy(temp_path + base_len, file_kind, strlen(file_kind));
- #else
-- char* file_name = strrchr(filePath, '/');
-+ const char* file_name = strrchr(filePath, '/');
- size_t file_name_len = strlen(file_name);
- memcpy(temp_path, filePath, filepath_len-file_name_len+1);
- memcpy(temp_path + strlen(temp_path), ".", 1);
-@@ -5006,7 +5006,7 @@
- free_modified_name = true;
- if (forced_suffix_type == FORCE_M4B_TYPE) { //using --stik Audiobook with --overWrite will change the original file's extension
- uint16_t filename_len = strlen(m4aFile);
-- char* suffix = strrchr(m4aFile, '.');
-+ const char* suffix = strrchr(m4aFile, '.');
- memcpy(originating_file, m4aFile, filename_len+1 );
- memcpy(originating_file + (filename_len - strlen(suffix) ), ".m4b", 5 );
- }
diff --git a/media-video/avidemux/Manifest b/media-video/avidemux/Manifest
index 1024821da922..f5f42f32459c 100644
--- a/media-video/avidemux/Manifest
+++ b/media-video/avidemux/Manifest
@@ -1,2 +1,2 @@
-DIST avidemux-2.7.6.tar.gz 21963753 BLAKE2B 6ca343f90c37844ebfd61123badccefb7327cbf500723c031257cf26500a5b6d98955568c2a9c0d182af68f162e878459a51e6049485937f9b01b4439b32e5e0 SHA512 bc60c733168d40d5b39cc7dd1f74b3f1315e9727302478ef1621e18748bad3400bcfd4d5199862c3093ad9df51385b6b2a96f0f8fedf9bf1c00060327545fb0f
-DIST avidemux-i18n-2.7.6.tar.gz 2268693 BLAKE2B dedf6d015e6bbd58f432e05e72c4d8d175ce4f5567331b5e51e7a14d2a8180e92211efc172a4d7001a2947f46c2e910a485d42970b99df05c1ba12002974cfbf SHA512 26ada29c4b7c23739ddcc4ca1dc9819bbc64fa2b6472fd7ff5706905dbd9b382e7a7d69ba78f72afa6f3db55cf3c5373a5e2d244f1cf189aeb187984dd1f4187
+DIST avidemux-2.8.1.tar.gz 23207741 BLAKE2B 766ae9b159d2e48a3d14bdfccf9c665b95ed056831b515d53837bf2bae20baf9b01d15d551b62fb96f3c0cf50b0138448a133bc62e6202af744de558e0fbfe4f SHA512 e7105e555e04dd6768336bdb246037e91045de2e1f572ae362d985424def65499c7f25d92d376ea98af09b436d89e9eb4a5424e93b11df14f2d67ac35661a8a3
+DIST avidemux-i18n-2.8.1.tar.gz 2765272 BLAKE2B ecca8a3d6f278e02e37059c1c1dce4d8164661548f29d5e51273d76e46434bc349d93701209fd6a009364244540d75cae09ce456e968d1761ca5540acc4ba678 SHA512 aa93add0d72170abf009e5bd86eeb5198907ee8961e366ad396d85315b9908f8f94bf920ba2a0cf9c351dd9c50f7ef883480d88e7475f48d085648bfbfa1f4d4
diff --git a/media-video/avidemux/avidemux-2.7.6-r1.ebuild b/media-video/avidemux/avidemux-2.8.1.ebuild
index b1fce24ef0a5..34a39f9e96d5 100644
--- a/media-video/avidemux/avidemux-2.7.6-r1.ebuild
+++ b/media-video/avidemux/avidemux-2.8.1.ebuild
@@ -1,84 +1,93 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
CMAKE_MAKEFILE_GENERATOR="emake"
inherit cmake desktop flag-o-matic qmake-utils xdg
DESCRIPTION="Video editor designed for simple cutting, filtering and encoding tasks"
HOMEPAGE="http://fixounet.free.fr/avidemux"
-SRC_URI="https://github.com/mean00/avidemux2/archive/${PV}.tar.gz -> ${P}.tar.gz
- https://github.com/mean00/avidemux2_i18n/archive/${PV}.tar.gz -> ${PN}-i18n-${PV}.tar.gz"
+SRC_URI="
+ https://github.com/mean00/avidemux2/archive/${PV}.tar.gz -> ${P}.tar.gz
+ https://github.com/mean00/avidemux2_i18n/archive/${PV}.tar.gz -> ${PN}-i18n-${PV}.tar.gz
+"
# Multiple licenses because of all the bundled stuff.
-LICENSE="GPL-1 GPL-2 MIT PSF-2 public-domain"
+# See License.txt.
+LICENSE="GPL-2 MIT PSF-2 LGPL-2 OFL-1.1"
SLOT="2.7"
KEYWORDS="~amd64 ~x86"
-IUSE="debug nls nvenc opengl qt5 sdl vaapi vdpau xv"
+IUSE="debug nls opengl gui sdl vaapi vdpau xv"
-BDEPEND="dev-lang/yasm
- qt5? ( dev-qt/linguist-tools:5 )"
+BDEPEND="
+ dev-lang/yasm
+ gui? ( dev-qt/linguist-tools:5 )
+"
DEPEND="
- ~media-libs/avidemux-core-${PV}:${SLOT}[nls?,sdl?,vaapi?,vdpau?,xv?,nvenc?]
- nvenc? ( amd64? ( media-video/nvidia_video_sdk:0 ) )
- opengl? ( virtual/opengl:0 )
- qt5? (
+ ~media-libs/avidemux-core-${PV}:${SLOT}[nls?,sdl?,vaapi?,vdpau?,xv?]
+ opengl? ( virtual/opengl )
+ gui? (
dev-qt/qtcore:5
dev-qt/qtgui:5
dev-qt/qtnetwork:5
dev-qt/qtopengl:5
dev-qt/qtwidgets:5
)
- vaapi? ( x11-libs/libva:0= )
+ vaapi? ( media-libs/libva:= )
"
-RDEPEND="${DEPEND}
- nls? ( virtual/libintl:0 )
+RDEPEND="
+ ${DEPEND}
+ nls? ( virtual/libintl )
!<media-video/avidemux-${PV}
"
-PDEPEND="~media-libs/avidemux-plugins-${PV}:${SLOT}[opengl?,qt5?]"
+
+PDEPEND="~media-libs/avidemux-plugins-${PV}:${SLOT}[opengl?,gui?]"
S="${WORKDIR}/avidemux2-${PV}"
src_unpack() {
default
- mv -f -T avidemux2_i18n-${PV} "${S}"/avidemux/qt4/i18n >/dev/null || die
+ mv -f -T avidemux2_i18n-"${PV}" "${S}"/avidemux/qt4/i18n >/dev/null || die
}
src_prepare() {
- eapply "${FILESDIR}"/${PN}-2.7.4-qt-5.15.patch
+ eapply "${FILESDIR}/${PN}-2.7.4-qt-5.15.patch"
processes="buildCli:avidemux/cli"
- use qt5 && processes+=" buildQt4:avidemux/qt4"
+ use gui && processes+=" buildQt4:avidemux/qt4"
for process in ${processes} ; do
CMAKE_USE_DIR="${S}"/${process#*:} cmake_src_prepare
done
- if use qt5; then
+ if use gui; then
# Fix icon name -> avidemux-2.7
- sed -i -e "/^Icon/ s:${PN}\.png:${PN}-${SLOT}:" appImage/${PN}.desktop || \
- die "Icon name fix failed."
+ sed -i -e "/^Icon/ s:${PN}\.png:${PN}-${SLOT}:" appImage/"${PN}".desktop || die "Icon name fix failed."
# The desktop file is broken. It uses avidemux3_portable instead of avidemux3_qt5
- sed -i -re '/^Exec/ s:(avidemux3_)portable:\1qt5:' appImage/${PN}.desktop || \
- die "Desktop file fix failed."
+ sed -i -re '/^Exec/ s:(avidemux3_)portable:\1qt5:' appImage/"${PN}".desktop || die "Desktop file fix failed."
# QA warnings: missing trailing ';' and 'Application' is deprecated.
- sed -i -e 's/Application;AudioVideo/AudioVideo;/g' appImage/${PN}.desktop || \
- die "Desktop file fix failed."
+ sed -i -e 's/Application;AudioVideo/AudioVideo;/g' appImage/"${PN}".desktop || die "Desktop file fix failed."
# Now rename the desktop file to not collide with 2.6.
- mv appImage/${PN}.desktop ${PN}-${SLOT}.desktop || die "Collision rename failed."
+ mv appImage/"${PN}".desktop "${PN}-${SLOT}".desktop || die "Collision rename failed."
fi
# Remove "Build Option" dialog because it doesn't reflect
# what the GUI can or has been built with. (Bug #463628)
- sed -i -e '/Build Option/d' avidemux/common/ADM_commonUI/myOwnMenu.h || \
- die "Couldn't remove \"Build Option\" dialog."
+ sed -i -e '/Build Option/d' avidemux/common/ADM_commonUI/myOwnMenu.h || die "Couldn't remove \"Build Option\" dialog."
}
src_configure() {
+ # -Werror=odr
+ # https://bugs.gentoo.org/915773
+ #
+ # Upstream has abandoned sourceforge for github. And doesn't enable github issues.
+ # Message received, no bug reported.
+ filter-lto
+
# See bug 432322.
use x86 && replace-flags -O0 -O1
@@ -93,10 +102,12 @@ src_configure() {
-DOPENGL="$(usex opengl)"
-DVDPAU="$(usex vdpau)"
-DXVIDEO="$(usex xv)"
+ -DENABLE_QT4=OFF
+ -DENABLE_QT6=OFF
)
- use qt5 && mycmakeargs+=(
- -DENABLE_QT5="$(usex qt5)"
+ use gui && mycmakeargs+=(
+ -DENABLE_QT5="$(usex gui)"
-DLRELEASE_EXECUTABLE="$(qt5_get_bindir)/lrelease"
)
@@ -128,9 +139,9 @@ src_install() {
BUILD_DIR="${build}" cmake_src_install
done
- if use qt5; then
+ if use gui; then
cd "${S}" || die "Can't enter source folder"
- newicon ${PN}_icon.png ${PN}-${SLOT}.png
- domenu ${PN}-${SLOT}.desktop
+ newicon "${PN}"_icon.png "${PN}-${SLOT}".png
+ domenu "${PN}-${SLOT}".desktop
fi
}
diff --git a/media-video/avidemux/metadata.xml b/media-video/avidemux/metadata.xml
index 10fd32351bee..31629dc2528b 100644
--- a/media-video/avidemux/metadata.xml
+++ b/media-video/avidemux/metadata.xml
@@ -5,10 +5,8 @@
<email>media-video@gentoo.org</email>
<name>Gentoo Video project</name>
</maintainer>
- <use>
- <flag name="nvenc">Adds support for NVIDIA Encoder (NVENC) API for hardware accelerated encoding on NVIDIA cards.</flag>
- </use>
<upstream>
<remote-id type="sourceforge">avidemux</remote-id>
+ <remote-id type="github">mean00/avidemux2</remote-id>
</upstream>
</pkgmetadata>
diff --git a/media-video/baka-mplayer/baka-mplayer-2.0.4-r1.ebuild b/media-video/baka-mplayer/baka-mplayer-2.0.4-r2.ebuild
index bb1a0715a863..004b5bb071d7 100644
--- a/media-video/baka-mplayer/baka-mplayer-2.0.4-r1.ebuild
+++ b/media-video/baka-mplayer/baka-mplayer-2.0.4-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -11,7 +11,7 @@ SRC_URI="https://github.com/u8sand/Baka-MPlayer/archive/v${PV}.tar.gz -> ${P}.ta
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~amd64 ~ppc64 ~x86"
+KEYWORDS="amd64 ~arm64 ~ppc64 ~x86"
IUSE=""
BDEPEND="
@@ -25,7 +25,7 @@ RDEPEND="
dev-qt/qtsvg:5
dev-qt/qtwidgets:5
dev-qt/qtx11extras:5
- media-video/mpv[libmpv]
+ media-video/mpv:=[libmpv]
x11-libs/libX11
"
DEPEND="${RDEPEND}"
@@ -36,6 +36,7 @@ PATCHES=(
"${FILESDIR}/${P}-gcc5.patch"
"${FILESDIR}/${P}-mpv23.patch"
"${FILESDIR}/${P}-playlist-regression.patch"
+ "${FILESDIR}/${P}-libmpv-api2.patch"
)
src_prepare() {
diff --git a/media-video/baka-mplayer/baka-mplayer-2.0.4.ebuild b/media-video/baka-mplayer/baka-mplayer-2.0.4.ebuild
deleted file mode 100644
index 17edd2e0d77c..000000000000
--- a/media-video/baka-mplayer/baka-mplayer-2.0.4.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit qmake-utils
-
-DESCRIPTION="Cross-platform libmpv-based multimedia player with uncluttered design"
-HOMEPAGE="http://bakamplayer.u8sand.net/"
-SRC_URI="https://github.com/u8sand/Baka-MPlayer/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 ~x86"
-IUSE=""
-
-BDEPEND="
- dev-qt/linguist-tools:5
- virtual/pkgconfig
-"
-RDEPEND="
- dev-qt/qtcore:5
- dev-qt/qtgui:5
- dev-qt/qtnetwork:5
- dev-qt/qtsvg:5
- dev-qt/qtwidgets:5
- dev-qt/qtx11extras:5
- media-video/mpv[libmpv]
- x11-libs/libX11"
-DEPEND="${RDEPEND}"
-
-S="${WORKDIR}/Baka-MPlayer-${PV}"
-
-PATCHES=( "${FILESDIR}/${P}-gcc5.patch" )
-
-src_prepare() {
- default
- # no need to install license
- sed -e '/^INSTALLS/s:license::' -i src/Baka-MPlayer.pro || die
- # put manual in our docdir
- sed -e '/^manual.path/s:'${PN}':'${PF}':' -i src/Baka-MPlayer.pro || die
-}
-
-src_configure() {
- eqmake5 \
- INSTROOT="${D}" \
- CONFIG+=install_translations \
- lrelease="$(qt5_get_bindir)"/lrelease \
- lupdate="$(qt5_get_bindir)"/lupdate \
- src/Baka-MPlayer.pro
-}
diff --git a/media-video/baka-mplayer/baka-mplayer-9999.ebuild b/media-video/baka-mplayer/baka-mplayer-9999.ebuild
index 243a21f1b8af..8b7d359ed552 100644
--- a/media-video/baka-mplayer/baka-mplayer-9999.ebuild
+++ b/media-video/baka-mplayer/baka-mplayer-9999.ebuild
@@ -25,7 +25,7 @@ RDEPEND="
dev-qt/qtsvg:5
dev-qt/qtwidgets:5
dev-qt/qtx11extras:5
- media-video/mpv[libmpv]
+ media-video/mpv:=[libmpv]
x11-libs/libX11
"
DEPEND="${RDEPEND}"
diff --git a/media-video/baka-mplayer/files/baka-mplayer-2.0.4-libmpv-api2.patch b/media-video/baka-mplayer/files/baka-mplayer-2.0.4-libmpv-api2.patch
new file mode 100644
index 000000000000..9ae547b9291f
--- /dev/null
+++ b/media-video/baka-mplayer/files/baka-mplayer-2.0.4-libmpv-api2.patch
@@ -0,0 +1,78 @@
+https://github.com/u8sand/Baka-MPlayer/commit/7864f248c3f
+From: Fushan Wen <qydwhotmail@gmail.com>
+Date: Mon, 21 Feb 2022 18:50:46 +0800
+Subject: [PATCH] Port away from deprecated/removed APIs in mpv 2.0
+
+Register observers as MPV_EVENT_IDLE is deprecated and
+MPV_EVENT_PAUSE/MPV_EVENT_UNPAUSE have been removed.
+--- a/src/mpvhandler.cpp
++++ b/src/mpvhandler.cpp
+@@ -41,6 +41,8 @@ MpvHandler::MpvHandler(int64_t wid, QObject *parent):
+ mpv_observe_property(mpv, 0, "sub-visibility", MPV_FORMAT_FLAG);
+ mpv_observe_property(mpv, 0, "mute", MPV_FORMAT_FLAG);
+ mpv_observe_property(mpv, 0, "core-idle", MPV_FORMAT_FLAG);
++ mpv_observe_property(mpv, 0, "idle-active", MPV_FORMAT_FLAG);
++ mpv_observe_property(mpv, 0, "pause", MPV_FORMAT_FLAG);
+ mpv_observe_property(mpv, 0, "paused-for-cache", MPV_FORMAT_FLAG);
+
+ // setup callback event handling
+@@ -191,6 +193,31 @@ bool MpvHandler::event(QEvent *event)
+ ShowText(QString(), 0);
+ }
+ }
++ else if(QString(prop->name) == "idle-active")
++ {
++ if(prop->format == MPV_FORMAT_FLAG)
++ {
++ if((bool)*(unsigned*)prop->data)
++ {
++ fileInfo.length = 0;
++ setTime(0);
++ setPlayState(Mpv::Idle);
++ }
++ }
++ }
++ else if(QString(prop->name) == "pause")
++ {
++ if(prop->format == MPV_FORMAT_FLAG)
++ {
++ if((bool)*(unsigned*)prop->data)
++ {
++ setPlayState(Mpv::Paused);
++ ShowText(QString(), 0);
++ }
++ else
++ setPlayState(Mpv::Playing);
++ }
++ }
+ else if(QString(prop->name) == "paused-for-cache")
+ {
+ if(prop->format == MPV_FORMAT_FLAG)
+@@ -203,12 +230,7 @@ bool MpvHandler::event(QEvent *event)
+ }
+ break;
+ }
+- case MPV_EVENT_IDLE:
+- fileInfo.length = 0;
+- setTime(0);
+- setPlayState(Mpv::Idle);
+- break;
+- // these two look like they're reversed but they aren't. the names are misleading.
++ // these two look like they're reversed but they aren't. the names are misleading.
+ case MPV_EVENT_START_FILE:
+ setPlayState(Mpv::Loaded);
+ break;
+@@ -216,13 +238,6 @@ bool MpvHandler::event(QEvent *event)
+ setPlayState(Mpv::Started);
+ LoadFileInfo();
+ SetProperties();
+- case MPV_EVENT_UNPAUSE:
+- setPlayState(Mpv::Playing);
+- break;
+- case MPV_EVENT_PAUSE:
+- setPlayState(Mpv::Paused);
+- ShowText(QString(), 0);
+- break;
+ case MPV_EVENT_END_FILE:
+ if(playState == Mpv::Loaded)
+ ShowText(tr("File couldn't be opened"));
diff --git a/media-video/baka-mplayer/metadata.xml b/media-video/baka-mplayer/metadata.xml
index 1218cd535346..870fb167b531 100644
--- a/media-video/baka-mplayer/metadata.xml
+++ b/media-video/baka-mplayer/metadata.xml
@@ -6,10 +6,6 @@
<name>Christopher Steward</name>
</maintainer>
<maintainer type="project">
- <email>qt@gentoo.org</email>
- <name>Gentoo Qt Project</name>
- </maintainer>
- <maintainer type="project">
<email>media-video@gentoo.org</email>
<name>Gentoo Video project</name>
</maintainer>
diff --git a/media-video/bino/Manifest b/media-video/bino/Manifest
index 8a9626ab08b9..0f61dee9e6c9 100644
--- a/media-video/bino/Manifest
+++ b/media-video/bino/Manifest
@@ -1 +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.8.ebuild
index 8c5b35e1714a..841c5e2b3aa8 100644
--- a/media-video/bino/bino-1.6.7.ebuild
+++ b/media-video/bino/bino-1.6.8.ebuild
@@ -1,9 +1,9 @@
-# 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 flag-o-matic xdg
+inherit autotools flag-o-matic qmake-utils xdg
DESCRIPTION="Stereoscopic and multi-display media player"
HOMEPAGE="https://bino3d.org/"
@@ -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}"
@@ -31,9 +32,17 @@ BDEPEND="sys-devel/gettext
virtual/pkgconfig"
PATCHES=(
- "${FILESDIR}"/${PN}-1.6.7-gcc11.patch
+ "${FILESDIR}"/${PN}-1.6.8-time-include.patch
+ "${FILESDIR}"/${PN}-1.6.8-respect-AR.patch
)
+src_prepare() {
+ default
+
+ # Needed for AR patch
+ eautoreconf
+}
+
src_configure() {
if use video_cards_nvidia; then
append-cppflags "-I${ESYSROOT}/usr/include/NVCtrl"
@@ -49,6 +58,9 @@ src_configure() {
# Fix a compilation error because of a multiple definitions error in glew
append-ldflags "-zmuldefs"
+ export MOC="$(qt5_get_bindir)"/moc
+ export RCC="$(qt5_get_bindir)"/rcc
+
econf \
$(use_with video_cards_nvidia xnvctrl) \
$(use_with lirc) \
diff --git a/media-video/bino/bino-2.0.ebuild b/media-video/bino/bino-2.0.ebuild
new file mode 100644
index 000000000000..852eb60d2b30
--- /dev/null
+++ b/media-video/bino/bino-2.0.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake xdg
+
+DESCRIPTION="Stereoscopic and multi-display media player"
+HOMEPAGE="https://bino3d.org/"
+SRC_URI="https://bino3d.org/releases/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64"
+
+RDEPEND="
+ dev-qt/qtbase:6[gui,opengl,widgets]
+ dev-qt/qtmultimedia:6
+ dev-qt/qtsvg:6
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ dev-qt/qttools:6[linguist]
+ virtual/pandoc
+"
+
+src_compile() {
+ local mycmakeargs=(
+ # Unpackaged
+ -DCMAKE_DISABLE_FIND_PACKAGE_QVR=ON
+ )
+
+ cmake_src_configure
+}
diff --git a/media-video/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/bino/files/bino-1.6.8-respect-AR.patch b/media-video/bino/files/bino-1.6.8-respect-AR.patch
new file mode 100644
index 000000000000..8bf545ba11e8
--- /dev/null
+++ b/media-video/bino/files/bino-1.6.8-respect-AR.patch
@@ -0,0 +1,21 @@
+https://git.marlam.de/gitweb/?p=bino.git;a=commitdiff;h=94fbab21a6d98fe6f6fffa0283b60da30f1d7c20
+
+From: Sam James <sam@gentoo.org>
+Date: Fri, 2 Sep 2022 02:04:00 +0100
+Subject: [PATCH 1/2] build: respect AR
+
+Search for AR using the normal mechanisms like e.g. CC
+to allow it to be easily overridden in the environment.
+
+Bug: https://bugs.gentoo.org/804486
+Signed-off-by: Sam James <sam@gentoo.org>
+--- a/configure.ac
++++ b/configure.ac
+@@ -38,6 +38,7 @@ AC_PROG_CXX
+ AC_PROG_INSTALL
+ AC_PROG_RANLIB
+ AC_PROG_LN_S
++AM_PROG_AR
+ AC_LANG([C++])
+ AC_C_BIGENDIAN
+
diff --git a/media-video/bino/files/bino-1.6.8-time-include.patch b/media-video/bino/files/bino-1.6.8-time-include.patch
new file mode 100644
index 000000000000..e331f9a29cfe
--- /dev/null
+++ b/media-video/bino/files/bino-1.6.8-time-include.patch
@@ -0,0 +1,23 @@
+https://git.marlam.de/gitweb/?p=bino.git;a=commit;h=99a9fe61134ba9ca379d2bddb52e8322cad769e5
+
+From: Sam James <sam@gentoo.org>
+Date: Fri, 2 Sep 2022 02:04:26 +0100
+Subject: [PATCH 2/2] Fix build with GCC 12 and musl (missing <ctime> include)
+
+Fixes build errors like:
+```
+../../src/base/str.h:146:30: error: 'time_t' was not declared in this scope
+ 146 | std::string rfc2822_time(time_t t);
+```
+
+Signed-off-by: Sam James <sam@gentoo.org>
+--- a/src/base/str.h
++++ b/src/base/str.h
+@@ -31,6 +31,7 @@
+ #include <vector>
+ #include <cstdarg>
+ #include <cerrno>
++#include <ctime>
+
+ #ifdef __GNUC__
+ # define STR_AFP(a, b) __attribute__ ((format (printf, a, b)))
diff --git a/media-video/bino/metadata.xml b/media-video/bino/metadata.xml
index 115e9d64a669..063b7cd3b4ca 100644
--- a/media-video/bino/metadata.xml
+++ b/media-video/bino/metadata.xml
@@ -2,4 +2,7 @@
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
+ <upstream>
+ <remote-id type="github">marlam/bino-mirror</remote-id>
+ </upstream>
</pkgmetadata>
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/blinkensim/blinkensim-2.7-r1.ebuild b/media-video/blinkensim/blinkensim-2.7-r2.ebuild
index a5d76d7a4b6f..6ed9e5cc9d26 100644
--- a/media-video/blinkensim/blinkensim-2.7-r1.ebuild
+++ b/media-video/blinkensim/blinkensim-2.7-r2.ebuild
@@ -1,9 +1,11 @@
-# Copyright 1999-2018 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
-DESCRIPTION="Graphical Blinkenlights simulator with networking support"
+EAPI=8
+
+inherit autotools
+DESCRIPTION="Graphical Blinkenlights simulator with networking support"
HOMEPAGE="http://blinkenlights.net/project/developer-tools"
SRC_URI="http://blinkenlights.de/dist/${P}.tar.gz"
@@ -20,6 +22,11 @@ RDEPEND="
aalib? ( >=media-libs/aalib-1.4_rc4-r2 )
gtk? ( >=x11-libs/gtk+-2.4.4:2 )
"
-DEPEND="${RDEPEND}
- virtual/pkgconfig
-"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+src_prepare() {
+ default
+
+ eautoreconf
+}
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/ccextractor/Manifest b/media-video/ccextractor/Manifest
index 3dd0343cb3fa..39618793fff9 100644
--- a/media-video/ccextractor/Manifest
+++ b/media-video/ccextractor/Manifest
@@ -1,2 +1 @@
DIST ccextractor-0.88.tar.gz 41110344 BLAKE2B c0223f482eba2b1c0b80f24fcfbf0654fe6899d6123d4278b21df2558ba77da4e2212c5a0e67d27c670f466767022f1b3e5f557e156564f61269bc48c8ebfd31 SHA512 bb9442905f3c5d095b9b34eb318dc445a0ba484c22c4f061071cc2a1159ec9304b8aab5ea9e95348679e8c5ed378d4b2e471d6f7f933b7fa968f3443f1d5380f
-DIST ccextractor-src-nowin.0.85.zip 1843154 BLAKE2B 507018e76ed075de033df10c8af235ab7095b3dcf85c10398d9a7c8dbec338c6fe43f98b4f337419945b5deb9290d8652caa54c70de5fdfb0364b9dc48468379 SHA512 53adc017b7b1679302677e3773aabdcceddabdd8a6550cf8b9fb98150b7323a1cc6dbe67a48ebcdf22a4d013c00831907799032dd0f7f6f06943252be8177cec
diff --git a/media-video/ccextractor/ccextractor-0.85-r2.ebuild b/media-video/ccextractor/ccextractor-0.85-r2.ebuild
deleted file mode 100644
index 982bba8df303..000000000000
--- a/media-video/ccextractor/ccextractor-0.85-r2.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-DESCRIPTION="Extract closed captioning subtitles from video to SRT"
-HOMEPAGE="https://www.ccextractor.org/"
-SRC_URI="mirror://sourceforge/ccextractor/${PN}-src-nowin.${PV}.zip"
-S="${WORKDIR}/${PN}/src"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-BDEPEND="app-arch/unzip
- virtual/pkgconfig"
-RDEPEND="
- media-libs/libpng:0=
- sys-libs/zlib:="
-DEPEND="${RDEPEND}"
-
-PATCHES=(
- "${FILESDIR}/${P}-cmake.patch"
- "${FILESDIR}/${PN}-0.85-fno-common.patch"
-)
-
-src_install() {
- cmake_src_install
- dodoc ../docs/*.TXT
-}
diff --git a/media-video/ccextractor/ccextractor-0.88.ebuild b/media-video/ccextractor/ccextractor-0.88.ebuild
index 72d1707c1697..f14bdcf3a28f 100644
--- a/media-video/ccextractor/ccextractor-0.88.ebuild
+++ b/media-video/ccextractor/ccextractor-0.88.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-inherit cmake flag-o-matic
+inherit cmake
DESCRIPTION="Extract closed captioning subtitles from video to SRT"
HOMEPAGE="https://www.ccextractor.org/"
@@ -12,7 +12,7 @@ S="${WORKDIR}/${P}/src"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64 x86"
BDEPEND="app-arch/unzip
virtual/pkgconfig"
diff --git a/media-video/ccextractor/files/ccextractor-0.85-cmake.patch b/media-video/ccextractor/files/ccextractor-0.85-cmake.patch
deleted file mode 100644
index 2fcf6cfee4b0..000000000000
--- a/media-video/ccextractor/files/ccextractor-0.85-cmake.patch
+++ /dev/null
@@ -1,76 +0,0 @@
---- a/CMakeLists.txt 2017-07-25 12:22:29.294144514 -0600
-+++ b/CMakeLists.txt 2017-07-25 12:23:33.979149436 -0600
-@@ -25,14 +25,13 @@
- include_directories ("${PROJECT_SOURCE_DIR}/protobuf-c/")
- include_directories ("${PROJECT_SOURCE_DIR}/zvbi")
- aux_source_directory ("${PROJECT_SOURCE_DIR}/zvbi" SOURCEFILE)
--aux_source_directory ("${PROJECT_SOURCE_DIR}/zlib" SOURCEFILE)
- aux_source_directory ("${PROJECT_SOURCE_DIR}/lib_hash" SOURCEFILE)
-
- # Adding some platform specific library path
- link_directories (/opt/local/lib)
- link_directories (/usr/local/lib)
-
--set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O0 -Wall -g -std=gnu99 -Wno-write-strings -D_FILE_OFFSET_BITS=64")
-+set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=gnu99 -D_FILE_OFFSET_BITS=64")
- add_subdirectory (lib_ccx)
-
- aux_source_directory (${PROJECT_SOURCE_DIR} SOURCEFILE)
-@@ -43,24 +42,8 @@
- set (EXTRA_LIBS ${EXTRA_LIBS} iconv)
- endif (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
-
--
--find_package (PkgConfig)
--if(PKG_CONFIG_FOUND)
-- pkg_check_modules(PNG libpng )
-- if(PNG_FOUND)
-- set (EXTRA_LIBS ${EXTRA_LIBS} png)
-- else (PNG_FOUND)
-- include_directories ("${PROJECT_SOURCE_DIR}/libpng/")
-- include_directories ("${PROJEXT_SOURCE_DIR}/zlib/")
-- aux_source_directory ("${PROJECT_SOURCE_DIR}/libpng/" SOURCEFILE)
-- aux_source_directory ("${PROJECT_SOURCE_DIR}/zlib/" SOURCEFILE)
-- endif(PNG_FOUND)
--else(PKG_CONFIG_FOUND)
-- include_directories ("${PROJECT_SOURCE_DIR}/libpng/")
-- include_directories ("${PROJEXT_SOURCE_DIR}/zlib/")
-- aux_source_directory ("${PROJECT_SOURCE_DIR}/libpng/" SOURCEFILE)
-- aux_source_directory ("${PROJECT_SOURCE_DIR}/zlib/" SOURCEFILE)
--endif (PKG_CONFIG_FOUND)
-+set (EXTRA_LIBS ${EXTRA_LIBS} png)
-+set (EXTRA_LIBS ${EXTRA_LIBS} z)
-
- ########################################################
- # Build using FFmpeg libraries
---- a/lib_ccx/CMakeLists.txt 2017-07-25 12:32:32.803190443 -0600
-+++ b/lib_ccx/CMakeLists.txt 2017-07-25 12:25:40.819159089 -0600
-@@ -1,6 +1,6 @@
- cmake_policy (SET CMP0037 NEW)
-
--set (CMAKE_C_FLAGS "-O0 -Wall -g -std=gnu99")
-+set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=gnu99")
-
- if (WITH_FFMPEG)
- set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DENABLE_FFMPEG")
-@@ -37,20 +37,3 @@
- if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
- set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DGPAC_CONFIG_DARWIN")
- endif (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
--
--
--file (GLOB HeaderFiles *.h)
--file (WRITE ccx.pc "prefix=${CMAKE_INSTALL_PREFIX}\n"
-- "includedir=\${prefix}/include\n"
-- "libdir=\${prefix}/lib\n\n"
-- "Name: ccx\n"
-- "Description: Closed Caption Extraction library\n"
-- "Version: 0.75\n"
-- "Cflags: -I\${includedir}/\n"
-- "Libs: -L\${libdir} -lccx -lpng\n"
-- "Libs.private: -lpng\n"
-- )
--
--install (TARGETS ccx DESTINATION lib)
--install (FILES ${HeaderFiles} DESTINATION include)
--install (FILES ccx.pc DESTINATION lib/pkgconfig)
diff --git a/media-video/ccextractor/files/ccextractor-0.85-fno-common.patch b/media-video/ccextractor/files/ccextractor-0.85-fno-common.patch
deleted file mode 100644
index 6e543f74910a..000000000000
--- a/media-video/ccextractor/files/ccextractor-0.85-fno-common.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-https://bugs.gentoo.org/706934
---- a/lib_ccx/ccx_decoders_708.h
-+++ b/lib_ccx/ccx_decoders_708.h
-@@ -368,7 +368,7 @@
- unsigned char *data,
- int data_length);
-
--ccx_dtvcc_pen_color ccx_dtvcc_default_pen_color;
--ccx_dtvcc_pen_attribs ccx_dtvcc_default_pen_attribs;
-+extern ccx_dtvcc_pen_color ccx_dtvcc_default_pen_color;
-+extern ccx_dtvcc_pen_attribs ccx_dtvcc_default_pen_attribs;
-
- #endif
diff --git a/media-video/ccextractor/metadata.xml b/media-video/ccextractor/metadata.xml
index 4f4ed1e267b4..2bc9619e4c0e 100644
--- a/media-video/ccextractor/metadata.xml
+++ b/media-video/ccextractor/metadata.xml
@@ -6,9 +6,10 @@
<name>Gentoo Video project</name>
</maintainer>
<longdescription lang="en">
-A tool that analyzes video files and produces independent subtitle files from the closed captions data. Exports to SRT subtitle format.
-</longdescription>
+ A tool that analyzes video files and produces independent subtitle files from the closed captions data. Exports to SRT subtitle format.
+ </longdescription>
<upstream>
<remote-id type="sourceforge">ccextractor</remote-id>
+ <remote-id type="github">CCExtractor/ccextractor</remote-id>
</upstream>
</pkgmetadata>
diff --git a/media-video/cclive/cclive-0.9.3-r2.ebuild b/media-video/cclive/cclive-0.9.3-r2.ebuild
index 208372b4da9d..7d025facf038 100644
--- a/media-video/cclive/cclive-0.9.3-r2.ebuild
+++ b/media-video/cclive/cclive-0.9.3-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -7,7 +7,7 @@ inherit flag-o-matic
DESCRIPTION="Command line tool for extracting videos from various websites"
HOMEPAGE="http://cclive.sourceforge.net/"
-SRC_URI="mirror://sourceforge/${PN}/${PV:0:3}/${P}.tar.xz"
+SRC_URI="https://downloads.sourceforge.net/${PN}/${PV:0:3}/${P}.tar.xz"
LICENSE="AGPL-3"
SLOT="0"
@@ -16,7 +16,7 @@ KEYWORDS="amd64 ~ppc ~ppc64 x86"
RDEPEND="
>=media-libs/libquvi-0.4.0:0=
>=dev-cpp/glibmm-2.24:2
- >=dev-libs/boost-1.49:=
+ dev-libs/boost:=
>=dev-libs/glib-2.24:2
>=net-misc/curl-7.20
>=dev-libs/libpcre-8.02[cxx]"
diff --git a/media-video/celluloid/Manifest b/media-video/celluloid/Manifest
index 2c7921a19031..c2367e33e5b0 100644
--- a/media-video/celluloid/Manifest
+++ b/media-video/celluloid/Manifest
@@ -1,2 +1,2 @@
-DIST celluloid-0.20.tar.xz 388972 BLAKE2B 9f60bef311a33ed86a78b11742e9ea547dafe0431aba41d9f11a786c17ed6f67480f65507cca27223e7f0d1dfadc2c98f16eb3160a5e25f2165b696f15107e17 SHA512 53bb7ea155cf0b2b96da67851ec598782601ecb68504d4355aa03544fc89c0f64aefb507217d08f8ce49d2b7877215365c9ccce69f5f355ed1792a94ea1a6093
DIST celluloid-0.21.tar.xz 413072 BLAKE2B 726eb035f15c24333151833ded843be611b6d6340d77de13f38d29f92307da1e30c63c657e654327f10b617987f8800e59b72e28bcc65cdcad4ef9ab002214c4 SHA512 6e48d982be127c21cc6afeec8e94ae5c78c667f865690f8fad6db2f0b8290922682334c4d905827e99765dc2084c1b8a36927ff3de485a7a456f4a2fb7058ae6
+DIST celluloid-0.26.tar.xz 305420 BLAKE2B d74f5be26427ac0798f67e37066f0840d6af1a5a43e4bf714d02519e57231c57c34e191a678d11ebdca0ccbfd8f40eed4a23410f054394cc9f42559c6bbc934c SHA512 bcbb970b8ce512d4d7e64833a309a2e32631b262989ee7f9e1ec4b7f0015387b3978c8cbc0206a5aa86bd9e74fae3b7d38776e71be8c16996444d234bc37d42f
diff --git a/media-video/celluloid/celluloid-0.20.ebuild b/media-video/celluloid/celluloid-0.21-r1.ebuild
index ac13348c00be..83ea74a460b0 100644
--- a/media-video/celluloid/celluloid-0.20.ebuild
+++ b/media-video/celluloid/celluloid-0.21-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -11,14 +11,14 @@ SRC_URI="https://github.com/celluloid-player/celluloid/releases/download/v${PV}/
LICENSE="GPL-3+"
SLOT="0"
-KEYWORDS="amd64 ~ppc64"
+KEYWORDS="amd64 ~arm64 ~ppc64"
RDEPEND=">=dev-libs/glib-2.44
>=x11-libs/gtk+-3.22.23:3
- >=media-video/mpv-0.32[libmpv]
+ >=media-video/mpv-0.32:=[libmpv]
media-libs/libepoxy"
-DEPEND="${RDEPEND}
- dev-util/glib-utils
+DEPEND="${RDEPEND}"
+BDEPEND="dev-util/glib-utils
>=sys-devel/gettext-0.19.8
virtual/pkgconfig"
diff --git a/media-video/celluloid/celluloid-0.21.ebuild b/media-video/celluloid/celluloid-0.26.ebuild
index 6a771a6e23fc..00062ed05b0b 100644
--- a/media-video/celluloid/celluloid-0.21.ebuild
+++ b/media-video/celluloid/celluloid-0.26.ebuild
@@ -1,23 +1,26 @@
-# 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 gnome2-utils meson xdg
-DESCRIPTION="A simple GTK+ frontend for mpv"
+DESCRIPTION="Simple GTK+ frontend for mpv"
HOMEPAGE="https://celluloid-player.github.io/"
SRC_URI="https://github.com/celluloid-player/celluloid/releases/download/v${PV}/${P}.tar.xz"
LICENSE="GPL-3+"
SLOT="0"
-KEYWORDS="~amd64 ~ppc64"
+KEYWORDS="~amd64 ~arm64 ~ppc64"
-RDEPEND=">=dev-libs/glib-2.44
- >=x11-libs/gtk+-3.22.23:3
- >=media-video/mpv-0.32[libmpv]
+RDEPEND=">=dev-libs/glib-2.66:2
+ >=gui-libs/gtk-4.6.1:4
+ >=gui-libs/libadwaita-1.2.0:1
+ >=media-video/mpv-0.32:=[libmpv]
media-libs/libepoxy"
-DEPEND="${RDEPEND}
+DEPEND="${RDEPEND}"
+BDEPEND="dev-libs/appstream-glib
+ dev-util/gdbus-codegen
dev-util/glib-utils
>=sys-devel/gettext-0.19.8
virtual/pkgconfig"
diff --git a/media-video/celluloid/metadata.xml b/media-video/celluloid/metadata.xml
index 68bfde632f76..a6bfe1cb747e 100644
--- a/media-video/celluloid/metadata.xml
+++ b/media-video/celluloid/metadata.xml
@@ -5,4 +5,7 @@
<email>leio@gentoo.org</email>
<name>Mart Raudsepp</name>
</maintainer>
+<upstream>
+ <remote-id type="github">celluloid-player/celluloid</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 777126265c80..b042b9698685 100644
--- a/media-video/cheese/Manifest
+++ b/media-video/cheese/Manifest
@@ -1 +1 @@
-DIST cheese-3.38.0.tar.xz 1086428 BLAKE2B b26a19a019de0385bdd7adbc55c873ebceca90a8f477d2041ef4a5045654f46ee8f7fdfc64f5fd34e059116528cc790610353791a7cbd13d7927a8c3abf38132 SHA512 210b50fc79a7b3a72c94163fe0dd76f7f29f576c1085c671c2c6c3b7f59ee362aec288f885a590ebfd9530534b6a6bad569c6df57874b9fcecf7e9f1ba9531ae
+DIST cheese-44.1.tar.xz 1095916 BLAKE2B 7558b43a28bc5323a6ccd6e50c86611ee572d32cf190dde401c5d347b70b269ce05875e8a0d2d59e174a66d2cf5330b2530890969445eab00d7da0b4f02ce3e7 SHA512 106f02c0bd6e21039e3d1cdbcb8111c8d76638666b3a3ee65bc81295deaf50acf49023f3f7bf2ca244a9b7f4ac95d04fbc5864c1ded8698c52665c23c3640dc1
diff --git a/media-video/cheese/cheese-3.38.0.ebuild b/media-video/cheese/cheese-3.38.0.ebuild
deleted file mode 100644
index 1044f8b7f629..000000000000
--- a/media-video/cheese/cheese-3.38.0.ebuild
+++ /dev/null
@@ -1,96 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-VALA_MAX_API_VERSION="0.50"
-
-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 ~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-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}"/${P}-buildfix.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() {
- 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-3.38.0-r1.ebuild b/media-video/cheese/cheese-44.1.ebuild
index 1bb93338d5ae..b6998ae2db97 100644
--- a/media-video/cheese/cheese-3.38.0-r1.ebuild
+++ b/media-video/cheese/cheese-44.1.ebuild
@@ -1,7 +1,7 @@
-# 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 gnome.org gnome2-utils meson vala virtualx xdg
@@ -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 ~sparc ~x86"
+KEYWORDS="amd64 ~arm arm64 ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc x86"
IUSE="gtk-doc +introspection test"
RESTRICT="!test? ( test )"
@@ -38,7 +38,10 @@ 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-plugins/gst-plugins-v4l2-1.4:1.0
+ media-video/pipewire[gstreamer,v4l]
+ )
>=media-plugins/gst-plugins-vpx-1.4:1.0
"
@@ -58,14 +61,13 @@ BDEPEND="
"
PATCHES=(
- "${FILESDIR}"/${P}-buildfix.patch
- "${FILESDIR}"/${P}-Fix-infinite-loop-if-thumbnailer-is-not-available.patch
- "${FILESDIR}"/${P}-vala-genericarray.patch
+ "${FILESDIR}"/${PN}-43.0-buildfix.patch
)
src_prepare() {
- xdg_src_prepare
- vala_src_prepare
+ default
+ vala_setup
+ xdg_environment_reset
}
src_configure() {
diff --git a/media-video/cheese/files/cheese-3.38.0-Fix-infinite-loop-if-thumbnailer-is-not-available.patch b/media-video/cheese/files/cheese-3.38.0-Fix-infinite-loop-if-thumbnailer-is-not-available.patch
deleted file mode 100644
index 5a27eb6e7844..000000000000
--- a/media-video/cheese/files/cheese-3.38.0-Fix-infinite-loop-if-thumbnailer-is-not-available.patch
+++ /dev/null
@@ -1,88 +0,0 @@
-From e7046d564a6f76c1af8f5640ac9c569e07284ec0 Mon Sep 17 00:00:00 2001
-From: Bastien Nocera <hadess@hadess.net>
-Date: Fri, 18 Sep 2020 12:06:45 +0200
-Subject: [PATCH] Fix infinite loop if thumbnailer is not available
-
-The code in cheese_thumb_view_idle_append_item() in
-src/thumbview/cheese-thumb-view.c didn't pop the list of items to
-thumbnail if thumbnailing failed.
-
- #0 0x00007f4a60e55314 in open64 () at /lib64/libc.so.6
- #1 0x00007f4a60de6386 in _IO_file_open () at /lib64/libc.so.6
- #2 0x00007f4a60de655a in __GI__IO_file_fopen () at /lib64/libc.so.6
- #3 0x00007f4a60dd9aad in __fopen_internal () at /lib64/libc.so.6
- #4 0x00007f4a6157a43f in gdk_pixbuf_new_from_file () at /lib64/libgdk_pixbuf-2.0.so.0
- #5 0x00007f4a61e84b3a in gnome_desktop_thumbnail_factory_lookup () at /lib64/libgnome-desktop-3.so.19
- #6 0x000055cef476046f in cheese_thumb_view_idle_append_item ()
- #7 0x00007f4a6124f47b in g_idle_dispatch () at /lib64/libglib-2.0.so.0
- #8 0x00007f4a612537af in g_main_context_dispatch () at /lib64/libglib-2.0.so.0
- #9 0x00007f4a61253b38 in g_main_context_iterate.constprop () at /lib64/libglib-2.0.so.0
- #10 0x00007f4a61253c03 in g_main_context_iteration () at /lib64/libglib-2.0.so.0
- #11 0x00007f4a6146a7ca in g_application_run () at /lib64/libgio-2.0.so.0
- #12 0x000055cef4758547 in _vala_main ()
- #13 0x00007f4a60d8a042 in __libc_start_main () at /lib64/libc.so.6
- #14 0x000055cef47554be in _start ()
-
- #0 0x00007f4a60ec562d in __strlen_avx2 () at /lib64/libc.so.6
- #1 0x00007f4a61275de8 in g_str_has_suffix () at /lib64/libglib-2.0.so.0
- #2 0x00007f4a618c0072 in icon_name_is_symbolic () at /lib64/libgtk-3.so.0
- #3 0x00007f4a618c00b1 in theme_dir_get_icon_suffix () at /lib64/libgtk-3.so.0
- #4 0x00007f4a618c32ed in theme_lookup_icon () at /lib64/libgtk-3.so.0
- #5 0x00007f4a618c3adf in real_choose_icon () at /lib64/libgtk-3.so.0
- #6 0x00007f4a618c4762 in gtk_icon_theme_lookup_icon_for_scale () at /lib64/libgtk-3.so.0
- #7 0x00007f4a618c5105 in gtk_icon_theme_load_icon_for_scale () at /lib64/libgtk-3.so.0
- #8 0x000055cef47605c9 in cheese_thumb_view_idle_append_item ()
- #9 0x00007f4a6124f47b in g_idle_dispatch () at /lib64/libglib-2.0.so.0
- #10 0x00007f4a612537af in g_main_context_dispatch () at /lib64/libglib-2.0.so.0
- #11 0x00007f4a61253b38 in g_main_context_iterate.constprop () at /lib64/libglib-2.0.so.0
- #12 0x00007f4a61253c03 in g_main_context_iteration () at /lib64/libglib-2.0.so.0
- #13 0x00007f4a6146a7d8 in g_application_run () at /lib64/libgio-2.0.so.0
- #14 0x000055cef4758547 in _vala_main ()
- #15 0x00007f4a60d8a042 in __libc_start_main () at /lib64/libc.so.6
- #16 0x000055cef47554be in _start ()
-
-Closes: #81
----
- src/thumbview/cheese-thumb-view.c | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/src/thumbview/cheese-thumb-view.c b/src/thumbview/cheese-thumb-view.c
-index 1d2d88f5..232fd4b6 100644
---- a/src/thumbview/cheese-thumb-view.c
-+++ b/src/thumbview/cheese-thumb-view.c
-@@ -92,7 +92,7 @@ GtkWidget * cheese_thumb_view_new (void);
- static gboolean
- cheese_thumb_view_idle_append_item (gpointer data)
- {
-- CheeseThumbViewIdleData *item = g_queue_peek_head (data);
-+ CheeseThumbViewIdleData *item = g_queue_pop_head (data);
- CheeseThumbView *thumb_view;
- CheeseThumbViewPrivate *priv;
-
-@@ -119,6 +119,7 @@ cheese_thumb_view_idle_append_item (gpointer data)
- if (!info)
- {
- g_warning ("Invalid filename\n");
-+ g_slice_free (CheeseThumbViewIdleData, item);
- return TRUE;
- }
- g_file_info_get_modification_time (info, &mtime);
-@@ -167,6 +168,7 @@ cheese_thumb_view_idle_append_item (gpointer data)
- if (error)
- {
- g_warning ("%s", error->message);
-+ g_slice_free (CheeseThumbViewIdleData, item);
- return TRUE;
- }
- }
-@@ -183,7 +185,6 @@ cheese_thumb_view_idle_append_item (gpointer data)
- g_object_unref (pixbuf);
- g_object_unref (file);
- g_slice_free (CheeseThumbViewIdleData, item);
-- g_queue_pop_head (data);
-
- return TRUE;
- }
---
-2.28.0
-
diff --git a/media-video/cheese/files/cheese-3.38.0-vala-genericarray.patch b/media-video/cheese/files/cheese-3.38.0-vala-genericarray.patch
deleted file mode 100644
index dcbd1c1b2c5c..000000000000
--- a/media-video/cheese/files/cheese-3.38.0-vala-genericarray.patch
+++ /dev/null
@@ -1,177 +0,0 @@
-From 7cf6268e54620bbbe5e6e61800c50fb0cb4bea57 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Corentin=20No=C3=ABl?= <corentin@elementary.io>
-Date: Fri, 16 Oct 2020 19:56:26 +0200
-Subject: [PATCH] Change GLib.PtrArray into GLib.GenericArray
-
-This is the vala-friendly way of handling GPtrArray.
-Fix several memory leaks on the go and unnecessary reference increase.
----
- src/cheese-preferences.vala | 26 ++++++++++++--------------
- src/cheese-window.vala | 22 +++++++++++-----------
- src/vapi/cheese-common.vapi | 2 +-
- 3 files changed, 24 insertions(+), 26 deletions(-)
-
-diff --git a/src/cheese-preferences.vala b/src/cheese-preferences.vala
-index f56af7e0..80a92431 100644
---- a/src/cheese-preferences.vala
-+++ b/src/cheese-preferences.vala
-@@ -100,7 +100,7 @@ public PreferencesDialog (Cheese.Camera camera)
- */
- private void initialize_camera_devices ()
- {
-- unowned GLib.PtrArray devices = camera.get_camera_devices ();
-+ GLib.GenericArray<unowned Cheese.CameraDevice> devices = camera.get_camera_devices ();
- camera_model = new Gtk.ListStore (2, typeof (string), typeof (Cheese.CameraDevice));
-
- source_combo.model = camera_model;
-@@ -357,13 +357,13 @@ public PreferencesDialog (Cheese.Camera camera)
- */
- private void on_camera_update_num_camera_devices ()
- {
-- unowned GLib.PtrArray devices = camera.get_camera_devices ();
-- Cheese.CameraDevice dev;
-+ GLib.GenericArray<unowned Cheese.CameraDevice> devices = camera.get_camera_devices ();
-+ unowned Cheese.CameraDevice dev;
-
- // Add (if) / Remove (else) a camera device.
-- if (devices.len > camera_model.iter_n_children (null))
-+ if (devices.length > camera_model.iter_n_children (null))
- {
-- dev = (Cheese.CameraDevice) devices.index (devices.len - 1);
-+ dev = devices.get (devices.length - 1);
- add_camera_device(dev);
- }
- else
-@@ -382,12 +382,11 @@ public PreferencesDialog (Cheese.Camera camera)
- bool device_removed = false;
- devices.foreach ((device) =>
- {
-- var old_device = (Cheese.CameraDevice) device;
- Cheese.CameraDevice new_device;
- camera_model.get (iter, 1, out new_device, -1);
-
- // Found the device that was removed.
-- if (old_device != new_device)
-+ if (device != new_device)
- {
- remove_camera_device (iter, new_device, active_device);
- device_removed = true;
-@@ -418,17 +417,16 @@ public PreferencesDialog (Cheese.Camera camera)
- *
- * @param device a Cheese.CameraDevice to add to the device combo box model
- */
-- private void add_camera_device (void *device)
-+ private void add_camera_device (Cheese.CameraDevice device)
- {
- TreeIter iter;
-- Cheese.CameraDevice dev = (Cheese.CameraDevice) device;
-
- camera_model.append (out iter);
- camera_model.set (iter,
-- 0, dev.get_name (),
-- 1, dev);
-+ 0, device.get_name (),
-+ 1, device);
-
-- if (camera.get_selected_device () == dev)
-+ if (camera.get_selected_device () == device)
- source_combo.set_active_iter (iter);
-
- if (camera_model.iter_n_children (null) > 1)
-@@ -445,12 +443,12 @@ public PreferencesDialog (Cheese.Camera camera)
- private void remove_camera_device (TreeIter iter, Cheese.CameraDevice device_node,
- Cheese.CameraDevice active_device_node)
- {
-- unowned GLib.PtrArray devices = camera.get_camera_devices ();
-+ GLib.GenericArray<unowned Cheese.CameraDevice> devices = camera.get_camera_devices ();
-
- // Check if the camera that we want to remove, is the active one
- if (device_node == active_device_node)
- {
-- if (devices.len > 0)
-+ if (devices.length > 0)
- set_new_available_camera_device (iter);
- else
- this.hide ();
-diff --git a/src/cheese-window.vala b/src/cheese-window.vala
-index ff069808..cc119b68 100644
---- a/src/cheese-window.vala
-+++ b/src/cheese-window.vala
-@@ -1216,9 +1216,9 @@ public class Cheese.MainWindow : Gtk.ApplicationWindow
- */
- public void on_switch_camera_clicked ()
- {
-- Cheese.CameraDevice selected;
-- Cheese.CameraDevice next = null;
-- GLib.PtrArray cameras;
-+ unowned Cheese.CameraDevice selected;
-+ unowned Cheese.CameraDevice next = null;
-+ GLib.GenericArray<unowned Cheese.CameraDevice> cameras;
- uint i;
-
- if (camera == null)
-@@ -1235,9 +1235,9 @@ public class Cheese.MainWindow : Gtk.ApplicationWindow
-
- cameras = camera.get_camera_devices ();
-
-- for (i = 0; i < cameras.len; i++)
-+ for (i = 0; i < cameras.length; i++)
- {
-- next = (Cheese.CameraDevice )cameras.index (i);
-+ next = cameras.get (i);
-
- if (next == selected)
- {
-@@ -1245,13 +1245,13 @@ public class Cheese.MainWindow : Gtk.ApplicationWindow
- }
- }
-
-- if (i + 1 < cameras.len)
-+ if (i + 1 < cameras.length)
- {
-- next = (Cheese.CameraDevice )cameras.index (i + 1);
-+ next = cameras.get (i + 1);
- }
- else
- {
-- next = (Cheese.CameraDevice )cameras.index (0);
-+ next = cameras.get (0);
- }
-
- if (next == selected)
-@@ -1269,8 +1269,8 @@ public class Cheese.MainWindow : Gtk.ApplicationWindow
- */
- public void set_switch_camera_button_state ()
- {
-- Cheese.CameraDevice selected;
-- GLib.PtrArray cameras;
-+ unowned Cheese.CameraDevice selected;
-+ GLib.GenericArray<unowned Cheese.CameraDevice> cameras;
-
- if (camera == null)
- {
-@@ -1288,7 +1288,7 @@ public class Cheese.MainWindow : Gtk.ApplicationWindow
-
- cameras = camera.get_camera_devices ();
-
-- if (cameras.len > 1)
-+ if (cameras.length > 1)
- {
- switch_camera_button.set_visible (true);
- return;
-diff --git a/src/vapi/cheese-common.vapi b/src/vapi/cheese-common.vapi
-index 6517cdfc..e4ae7ad3 100644
---- a/src/vapi/cheese-common.vapi
-+++ b/src/vapi/cheese-common.vapi
-@@ -35,7 +35,7 @@ namespace Cheese
- [CCode (has_construct_function = false)]
- public Camera (Clutter.Actor video_texture, string camera_device_node, int x_resolution, int y_resolution);
- public bool get_balance_property_range (string property, double min, double max, double def);
-- public unowned GLib.PtrArray get_camera_devices ();
-+ public GLib.GenericArray<unowned Cheese.CameraDevice> get_camera_devices ();
- public unowned Cheese.VideoFormat get_current_video_format ();
- public int get_num_camera_devices ();
- public unowned Cheese.CameraDevice get_selected_device ();
---
-GitLab
-
diff --git a/media-video/cheese/files/cheese-3.38.0-buildfix.patch b/media-video/cheese/files/cheese-43.0-buildfix.patch
index a7d685e68628..25cd98362eb8 100644
--- a/media-video/cheese/files/cheese-3.38.0-buildfix.patch
+++ b/media-video/cheese/files/cheese-43.0-buildfix.patch
@@ -1,5 +1,5 @@
diff --git a/meson.build b/meson.build
-index 7ef4075f..36638472 100644
+index 9174b428..c8d489cc 100644
--- a/meson.build
+++ b/meson.build
@@ -149,11 +149,7 @@ gnome_video_effects_dep = dependency(
@@ -7,7 +7,7 @@ index 7ef4075f..36638472 100644
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
+- if run_command(gst_inspect, plugin, check: false).returncode() != 0
- warning(plugin + ' was not found. It needs to be installed before Cheese is run')
- endif
- endforeach
@@ -15,3 +15,6 @@ index 7ef4075f..36638472 100644
else
warning('unable to check for runtime GStreamer plugin dependencies')
endif
+--
+2.37.4
+
diff --git a/media-video/cheese/metadata.xml b/media-video/cheese/metadata.xml
index 6f09b525403f..eb28705f17cc 100644
--- a/media-video/cheese/metadata.xml
+++ b/media-video/cheese/metadata.xml
@@ -1,12 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>gnome@gentoo.org</email>
- <name>Gentoo GNOME Desktop</name>
- </maintainer>
- <longdescription lang="en">
- Cheese uses your webcam to take photos and videos, applies fancy special
- effects, and lets you share the fun with others.
- </longdescription>
+ <maintainer type="project">
+ <email>gnome@gentoo.org</email>
+ <name>Gentoo GNOME Desktop</name>
+ </maintainer>
+ <longdescription lang="en">
+ Cheese uses your webcam to take photos and videos, applies fancy special
+ effects, and lets you share the fun with others.
+ </longdescription>
+ <upstream>
+ <remote-id type="gnome-gitlab">GNOME/cheese</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/media-video/clive/Manifest b/media-video/clive/Manifest
deleted file mode 100644
index 6f7fc1dffe9f..000000000000
--- a/media-video/clive/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST clive-2.3.0.1.tar.gz 43551 BLAKE2B eea428fdce2598e01e85a81f90110f2f1e4a7d9e8033d39745817d97886f80ddadfe2ba649e9778ab84f11c2f6fe2360eefda24cf5d0285c1a1a248ee7f6b1b6 SHA512 7426d6e8f19c358b30a7d33257d7ee536802eb35442d3cac68f6742613696ab1b280457a65d980237b53b692c5cf311725e46a5d8c27c7f2200172d050337cfc
diff --git a/media-video/clive/clive-2.3.0.1.ebuild b/media-video/clive/clive-2.3.0.1.ebuild
deleted file mode 100644
index 60f93ec9b36b..000000000000
--- a/media-video/clive/clive-2.3.0.1.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-GENTOO_DEPEND_ON_PERL_SUBSLOT=no
-inherit perl-module
-
-DESCRIPTION="Command line tool for extracting videos from various websites"
-HOMEPAGE="http://clive.sourceforge.net/"
-SRC_URI="mirror://sourceforge/${PN}/${PV:0:3}/${P}.tar.gz"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="amd64 ~ppc ~ppc64 x86"
-IUSE="clipboard pager password test"
-RESTRICT="!test? ( test )"
-
-RDEPEND=">=dev-perl/BerkeleyDB-0.34
- >=dev-perl/Config-Tiny-2.12
- >=virtual/perl-Digest-SHA-5.47
- >=dev-perl/HTML-TokeParser-Simple-2.37
- >=dev-perl/Class-Singleton-1.4
- >=dev-perl/WWW-Curl-4.05
- >=dev-perl/XML-Simple-2.18
- >=dev-perl/Getopt-ArgvFile-1.11
- dev-perl/JSON-XS
- dev-perl/URI
- virtual/perl-Getopt-Long
- virtual/perl-File-Spec
- clipboard? ( >=dev-perl/Clipboard-0.09 )
- pager? ( >=dev-perl/IO-Pager-0.05 )
- password? ( >=dev-perl/Expect-1.21 )
- media-libs/quvi
- || ( net-misc/wget net-misc/curl )"
-DEPEND="test? ( dev-perl/Test-Pod ${RDEPEND} )"
-
-SRC_TEST=do
-mydoc="NEWS"
-
-src_install() {
- perl-module_src_install
- dodir /etc/clive
- cat <<-EOF > "${ED}"/etc/clive/config || die
- --quvi "quvi %u"
- --get-with "if type -P wget >/dev/null 2>&1; then wget -c -O %f %u; else curl -L -C - -o %f %u; fi"
- --filename-format "%t.%s"
- EOF
-}
-
-src_test() {
- if [ -z "${I_WANT_CLIVE_HOSTS_TESTS}" ] ; then
- elog "If you wish to run the full testsuite of ${PN}"
- elog "Please set the variable 'I_WANT_CLIVE_HOSTS_TESTS' variable"
- elog "Note that the tests try to download some videos from various websites"
- elog "and thus may randomly fail depending on the site's status."
- export NO_INTERNET=1
- fi
- perl-module_src_test
-}
diff --git a/media-video/clive/metadata.xml b/media-video/clive/metadata.xml
deleted file mode 100644
index dd82ce744e92..000000000000
--- a/media-video/clive/metadata.xml
+++ /dev/null
@@ -1,18 +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>
- <longdescription lang="en">Command line tool for extracting videos from Youtube, Google Video,
- Dailymotion, Guba (free) and Stage6 websites</longdescription>
- <use>
- <flag name="clipboard">Support reading from X clipboard</flag>
- <flag name="pager">Support pager!?</flag>
- <flag name="password">Support password controlled sites</flag>
- </use>
- <upstream>
- <remote-id type="google-code">clive</remote-id>
- <remote-id type="sourceforge">clive</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/media-video/devedeng/Manifest b/media-video/devedeng/Manifest
index 0e6ab14fb5a4..005de05234a4 100644
--- a/media-video/devedeng/Manifest
+++ b/media-video/devedeng/Manifest
@@ -1 +1,2 @@
-DIST devedeng-4.16.0.tar.bz2 1763318 BLAKE2B ab3e5b3a94ed8f1dfe0482218786a8ab131c16259635c1297c7fb01a0eb7f7106d53ff24665e056f18796d87cf0430d375278e1c074026b134be9308aa8a3f3f SHA512 032c276eeecc3d85b53bf72ee2a3132aac41c2496cabfd1e30cbee7316f1ce3136c8b476bf03bb88930a532a06f6fad7a098d91f0b9a85e4ecabf9f728783f8a
+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.16.0-r1.ebuild b/media-video/devedeng/devedeng-4.17.0-r2.ebuild
index 48ab84c28f7a..451ce0cb30ea 100644
--- a/media-video/devedeng/devedeng-4.16.0-r1.ebuild
+++ b/media-video/devedeng/devedeng-4.17.0-r2.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-DISTUTILS_USE_SETUPTOOLS=no
-PYTHON_COMPAT=( python3_{7,8,9} )
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9..12} )
inherit distutils-r1 xdg
@@ -29,15 +29,21 @@ RDEPEND="
DEPEND="${PYTHON_DEPS}"
-PATCHES=( "${FILESDIR}"/${PN}-4.14.0-no_compress_man.patch )
+# src/unitests only works against system installed devedeng
+RESTRICT="test"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-4.14.0-no_compress_man.patch
+ "${FILESDIR}"/${P}-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/devedeng-4.18.0.ebuild b/media-video/devedeng/devedeng-4.18.0.ebuild
new file mode 100644
index 000000000000..3537b0871278
--- /dev/null
+++ b/media-video/devedeng/devedeng-4.18.0.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9..12} )
+
+inherit distutils-r1 xdg
+
+DESCRIPTION="DevedeNG is a program to create video DVDs and CDs (VCD, sVCD or CVD)"
+HOMEPAGE="https://www.rastersoft.com/programas/devede.html"
+SRC_URI="https://gitlab.com/rastersoft/${PN}/-/archive/${PV}/${P}.tar.bz2"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ app-cdr/cdrtools
+ dev-python/pycairo[${PYTHON_USEDEP}]
+ dev-python/pygobject:3[${PYTHON_USEDEP}]
+ x11-libs/gtk+:3
+ || ( media-video/vlc media-video/mpv media-video/mplayer )
+ media-video/ffmpeg
+ media-video/dvdauthor
+ media-video/vcdimager
+ || ( app-cdr/brasero kde-apps/k3b app-cdr/xfburn )"
+
+DEPEND="${PYTHON_DEPS}"
+
+# src/unitests only works against system installed devedeng
+RESTRICT="test"
+
+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/${PF}#" \
+ -i src/devedeng/configuration_data.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-r1.ebuild b/media-video/dirac/dirac-1.0.2-r2.ebuild
index a7b84f26f577..c69be76aff2a 100644
--- a/media-video/dirac/dirac-1.0.2-r1.ebuild
+++ b/media-video/dirac/dirac-1.0.2-r2.ebuild
@@ -1,46 +1,47 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=5
-inherit autotools eutils multilib-minimal
+EAPI=8
+
+inherit autotools
DESCRIPTION="Open Source video codec"
HOMEPAGE="http://dirac.sourceforge.net/"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz"
LICENSE="MPL-1.1"
SLOT="0"
-KEYWORDS="~alpha amd64 arm ~hppa ~ia64 ~mips ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~x86-solaris"
-IUSE="debug doc cpu_flags_x86_mmx static-libs"
+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"
-RDEPEND=""
-DEPEND="
+BDEPEND="
doc? (
- app-doc/doxygen
+ app-text/doxygen
virtual/latex-base
media-gfx/graphviz
>=app-text/texlive-core-2014
)"
-DOCS=( AUTHORS ChangeLog NEWS README TODO )
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.5.2-doc.patch
+)
src_prepare() {
- epatch "${FILESDIR}"/${PN}-0.5.2-doc.patch
+ default
+
AT_M4DIR="m4" eautoreconf
- export VARTEXFONTS="${T}/fonts"
}
-multilib_src_configure() {
- ECONF_SOURCE="${S}" econf \
- $(use_enable static-libs static) \
+src_configure() {
+ export VARTEXFONTS="${T}/fonts"
+
+ econf \
$(use_enable cpu_flags_x86_mmx mmx) \
$(use_enable debug) \
- $(multilib_is_native_abi && echo $(use_enable doc))
- if ! multilib_is_native_abi ; then
- sed -i -e 's/ encoder decoder util//' Makefile || die
- fi
+ $(use_enable doc)
}
-multilib_src_install() {
+src_install() {
emake \
DESTDIR="${D}" \
htmldir="${EPREFIX}/usr/share/doc/${PF}/html" \
@@ -48,9 +49,7 @@ multilib_src_install() {
algodir="${EPREFIX}/usr/share/doc/${PF}/algorithm" \
faqdir="${EPREFIX}/usr/share/doc/${PF}" \
install
-}
-multilib_src_install_all() {
find "${ED}" -name '*.la' -delete || die
einstalldocs
}
diff --git a/media-video/droidcam/Manifest b/media-video/droidcam/Manifest
index eaca205848fa..582a48688b25 100644
--- a/media-video/droidcam/Manifest
+++ b/media-video/droidcam/Manifest
@@ -1 +1,4 @@
-DIST droidcam-1.8.0.tar.gz 84376 BLAKE2B 581e57e2c80dd9662764e399dd797e5893f617e69ee2501a1063d1c51434baf64d7d2b72779debede6d679127f31fa95a4e67953978da591acbf6a41bd05551d SHA512 b448f686562030b352630c6b677a098ecb5041582dd06e57809b04674cb334d02ddfdf1d09b43e1ecc70897e8073714ad6913ab14d894a7679fc433adb3fda82
+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.0.ebuild b/media-video/droidcam/droidcam-2.0.0-r3.ebuild
index 60f47eb1847b..e243b0248cff 100644
--- a/media-video/droidcam/droidcam-1.8.0.ebuild
+++ b/media-video/droidcam/droidcam-2.0.0-r3.ebuild
@@ -1,13 +1,14 @@
-# Copyright 2019-2021 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
@@ -30,7 +31,6 @@ DEPEND="
>=media-libs/speex-1.2.0-r1
media-video/ffmpeg
gtk? (
- dev-cpp/gtkmm:3.0
x11-libs/gdk-pixbuf
x11-libs/gtk+:3
x11-libs/libX11
@@ -40,26 +40,24 @@ 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}-makefile-fixes.patch"
+PATCHES=(
+ "${FILESDIR}/${P}-libusbmuxd-20.patch"
+)
src_prepare() {
if ! use gtk; then
- sed -i -e '/cflags gtk+/d' Makefile || die
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
- xdg_src_prepare
fi
}
@@ -70,10 +68,19 @@ src_configure() {
src_compile() {
if use gtk; then
- emake droidcam
+ APPINDICATOR=ayatana-appindicator3-0.1 emake droidcam
fi
- emake droidcam-cli
- KERNELRELEASE="${KV_FULL}" 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() {
@@ -92,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
@@ -108,19 +115,17 @@ src_install() {
fi
fi
- einstalldocs
- linux-mod_src_install
+ linux-mod-r1_src_install
}
pkg_preinst() {
if use gtk; then
xdg_pkg_preinst
fi
- linux-mod_pkg_preinst
}
pkg_postinst() {
- linux-mod_pkg_postinst
+ linux-mod-r1_pkg_postinst
if use gtk; then
xdg_pkg_postinst
else
@@ -140,5 +145,4 @@ pkg_postrm() {
if use gtk; then
xdg_pkg_postrm
fi
- linux-mod_pkg_postrm
}
diff --git a/media-video/droidcam/droidcam-1.8.0-r1.ebuild b/media-video/droidcam/droidcam-2.1.1.ebuild
index d81482560789..224f92d74050 100644
--- a/media-video/droidcam/droidcam-1.8.0-r1.ebuild
+++ b/media-video/droidcam/droidcam-2.1.1.ebuild
@@ -1,13 +1,14 @@
-# Copyright 2019-2021 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
@@ -30,7 +31,6 @@ DEPEND="
>=media-libs/speex-1.2.0-r1
media-video/ffmpeg
gtk? (
- dev-cpp/gtkmm:3.0
x11-libs/gdk-pixbuf
x11-libs/gtk+:3
x11-libs/libX11
@@ -40,26 +40,24 @@ 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}-makefile-fixes.patch"
+PATCHES=(
+ "${FILESDIR}/${PN}-2.0.0-libusbmuxd-20.patch"
+)
src_prepare() {
if ! use gtk; then
- sed -i -e '/cflags gtk+/d' Makefile || die
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
- xdg_src_prepare
fi
}
@@ -70,22 +68,19 @@ src_configure() {
src_compile() {
if use gtk; then
- 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
+ APPINDICATOR=ayatana-appindicator3-0.1 emake droidcam
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() {
@@ -104,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
@@ -120,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
@@ -149,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-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/droidcam/files/droidcam-makefile-fixes.patch b/media-video/droidcam/files/droidcam-makefile-fixes.patch
deleted file mode 100644
index 5230c18f0f33..000000000000
--- a/media-video/droidcam/files/droidcam-makefile-fixes.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-diff --git a/Makefile b/Makefile
-index 7be3c15..099a707 100644
---- a/Makefile
-+++ b/Makefile
-@@ -6,7 +6,7 @@
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- # Use at your own risk. See README file for more details.
-
--JPEG_DIR ?= /opt/libjpeg-turbo
-+JPEG_DIR ?= /usr
- JPEG_INCLUDE ?= $(JPEG_DIR)/include
- JPEG_LIB ?= $(JPEG_DIR)/lib`getconf LONG_BIT`
-
-@@ -16,15 +16,15 @@ 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 = -I$(JPEG_INCLUDE) $(JPEG_LIB)/libturbojpeg.so
- 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 +40,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/media-video/dv2sub/dv2sub-0.3-r1.ebuild b/media-video/dv2sub/dv2sub-0.3-r1.ebuild
deleted file mode 100644
index a45a239bcfd4..000000000000
--- a/media-video/dv2sub/dv2sub-0.3-r1.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="Extract info or subtitles from DV stream"
-HOMEPAGE="http://dv2sub.sourceforge.net/"
-SRC_URI="mirror://sourceforge/dv2sub/${P}.tar.gz"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="~amd64 ~ppc ~x86"
-IUSE="kino"
-
-DEPEND="media-libs/libdv"
-RDEPEND="${DEPEND}
- kino? (
- media-video/kino
- media-video/dvdauthor
- media-video/ffmpeg
- )"
-
-src_install() {
- default
-
- if use kino; then
- insinto /usr/share/kino/scripts/exports
- exeinto /usr/share/kino/scripts/exports
- doins kino_scripts/dv2sub_spumux.xml
- doexe kino_scripts/*.sh
- fi
-}
diff --git a/media-video/dv2sub/dv2sub-0.3-r2.ebuild b/media-video/dv2sub/dv2sub-0.3-r2.ebuild
new file mode 100644
index 000000000000..7c802e7bafe1
--- /dev/null
+++ b/media-video/dv2sub/dv2sub-0.3-r2.ebuild
@@ -0,0 +1,15 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="Extract info or subtitles from DV stream"
+HOMEPAGE="http://dv2sub.sourceforge.net/"
+SRC_URI="https://downloads.sourceforge.net/dv2sub/${P}.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+
+DEPEND="media-libs/libdv"
+RDEPEND="${DEPEND}"
diff --git a/media-video/dv2sub/metadata.xml b/media-video/dv2sub/metadata.xml
index c46fee690af6..8fc8f44b8338 100644
--- a/media-video/dv2sub/metadata.xml
+++ b/media-video/dv2sub/metadata.xml
@@ -11,9 +11,6 @@
every input DV frame or create MicroDVD subtitles with the
recording date and time.
</longdescription>
- <use>
- <flag name="kino">install kino plugin</flag>
- </use>
<upstream>
<remote-id type="sourceforge">dv2sub</remote-id>
</upstream>
diff --git a/media-video/dvbackup/dvbackup-0.0.4-r2.ebuild b/media-video/dvbackup/dvbackup-0.0.4-r2.ebuild
index a053819d1635..cdc63c16919b 100644
--- a/media-video/dvbackup/dvbackup-0.0.4-r2.ebuild
+++ b/media-video/dvbackup/dvbackup-0.0.4-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -7,7 +7,7 @@ inherit toolchain-funcs
DESCRIPTION="A small utility for creating backups on DV tapes"
HOMEPAGE="http://dvbackup.sourceforge.net/"
-SRC_URI="mirror://sourceforge/dvbackup/${P}.tar.gz"
+SRC_URI="https://downloads.sourceforge.net/dvbackup/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
diff --git a/media-video/dvbsnoop/dvbsnoop-1.4.50-r1.ebuild b/media-video/dvbsnoop/dvbsnoop-1.4.50-r1.ebuild
deleted file mode 100644
index e8982ef10084..000000000000
--- a/media-video/dvbsnoop/dvbsnoop-1.4.50-r1.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit epatch
-
-DESCRIPTION="DVB/MPEG stream analyzer program"
-SRC_URI="mirror://sourceforge/dvbsnoop/${P}.tar.gz"
-HOMEPAGE="http://dvbsnoop.sourceforge.net/"
-LICENSE="GPL-2"
-KEYWORDS="amd64 ~ppc x86"
-DEPEND="virtual/linuxtv-dvb-headers"
-
-RDEPEND=""
-SLOT="0"
-IUSE=""
-
-src_prepare() {
- epatch "${FILESDIR}/${P}-crc32.patch"
-}
-
-src_install() {
- emake DESTDIR="${D}" install
-
- dodoc AUTHORS ChangeLog README
-}
diff --git a/media-video/dvbsnoop/dvbsnoop-1.4.50-r2.ebuild b/media-video/dvbsnoop/dvbsnoop-1.4.50-r2.ebuild
new file mode 100644
index 000000000000..08143c29e623
--- /dev/null
+++ b/media-video/dvbsnoop/dvbsnoop-1.4.50-r2.ebuild
@@ -0,0 +1,18 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="DVB/MPEG stream analyzer program"
+SRC_URI="https://downloads.sourceforge.net/dvbsnoop/${P}.tar.gz"
+HOMEPAGE="http://dvbsnoop.sourceforge.net/"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~ppc x86"
+
+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..a07ad7798d5d
--- /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="https://downloads.sourceforge.net/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/Manifest b/media-video/dvdauthor/Manifest
index dd767a2c963f..e3c6d6e347b9 100644
--- a/media-video/dvdauthor/Manifest
+++ b/media-video/dvdauthor/Manifest
@@ -1,2 +1 @@
-DIST dvdauthor-0.7.1.tar.gz 421324 BLAKE2B 34d7f20cc7f8a5f8ea10cfd1404a15b04e909a343e008da18035f6bf78de7b4f16729b3c2ba5ebedd7bd12e72a801874d99d5c1e6f7458a311501e07afc11788 SHA512 0875300df4711bf5758cb8a3ec03793689abd403cdebfc5736463d9b6df49a22e66e9e1f0c2abfcb7d25469c2e7f7e76789f7779cc0743ec972f8965b0f744a9
DIST dvdauthor-0.7.2.tar.gz 648305 BLAKE2B e3c918e101be1627b32d19a4ba17e676593ce260c72c4a1126acc691d9dec484e3d70817abfa1f1542d5a29d603ecbd9226e305caadd77abfb1278125f7d6c64 SHA512 202b8bba38939d122dc864921a57e89906ca99ddabf44e3b07419cc42cc052567cd892b41f1171c9c195c9a770758e9319a942ea64d14ee8fa847588c7761125
diff --git a/media-video/dvdauthor/dvdauthor-0.7.1-r1.ebuild b/media-video/dvdauthor/dvdauthor-0.7.1-r1.ebuild
deleted file mode 100644
index ec4f4b64bb34..000000000000
--- a/media-video/dvdauthor/dvdauthor-0.7.1-r1.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-inherit flag-o-matic toolchain-funcs
-
-DESCRIPTION="Tools for generating DVD files to be played on standalone DVD players"
-HOMEPAGE="http://dvdauthor.sourceforge.net/"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
-
-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}/${P}-glibc220.patch"
-)
-
-src_prepare() {
- default
- if use graphicsmagick ; then
- sed -i -e 's:ExportImagePixels:dIsAbLeAuToMaGiC&:' configure \
- || die
- fi
-}
-
-src_configure() {
- use graphicsmagick && \
- append-cppflags "$($(tc-getPKG_CONFIG) --cflags GraphicsMagick)" #459976
- append-cppflags "$($(tc-getPKG_CONFIG) --cflags fribidi)" #417041
- econf
-}
diff --git a/media-video/dvdauthor/dvdauthor-0.7.2-r2.ebuild b/media-video/dvdauthor/dvdauthor-0.7.2-r3.ebuild
index dcd1561b0b16..28f744e135a8 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/"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+HOMEPAGE="https://dvdauthor.sourceforge.net/"
+SRC_URI="https://downloads.sourceforge.net/${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-0.7.1-glibc220.patch b/media-video/dvdauthor/files/dvdauthor-0.7.1-glibc220.patch
deleted file mode 100644
index 880c63aa79d7..000000000000
--- a/media-video/dvdauthor/files/dvdauthor-0.7.1-glibc220.patch
+++ /dev/null
@@ -1,162 +0,0 @@
-From 5b890b47aaf6f692c876faf435e6bf8990e7a45d Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Ville=20Skytt=C3=A4?= <ville.skytta@iki.fi>
-Date: Sat, 19 Jul 2014 21:06:58 +0300
-Subject: [PATCH] compat.h needs stuff from config.h so include it there
-
-This was brought up by dvdvml.* not including it and thus causing a
-build failure on Fedora (22) devel. While at it, uninclude config.h
-from files where it was included just for compat.h reasons.
----
- src/compat.h | 2 ++
- src/conffile.c | 1 -
- src/dvdauthor.c | 2 --
- src/dvdcompile.c | 2 --
- src/dvdpgc.c | 1 -
- src/dvdunauthor.c | 2 --
- src/dvduncompile.c | 1 -
- src/dvdvob.c | 2 --
- src/readxml.c | 2 --
- src/spuunmux.c | 1 -
- src/subgen-encode.c | 2 --
- 11 files changed, 2 insertions(+), 16 deletions(-)
-
-diff --git a/src/compat.h b/src/compat.h
-index 126dcd7..93de081 100644
---- a/src/compat.h
-+++ b/src/compat.h
-@@ -1,6 +1,8 @@
- // basic headers
- #define _GNU_SOURCE /* really just for strndup */
-
-+#include "config.h"
-+
- #ifdef HAVE_STDBOOL_H
- # include <stdbool.h>
- #else
-diff --git a/src/conffile.c b/src/conffile.c
-index cab661a..36ded07 100644
---- a/src/conffile.c
-+++ b/src/conffile.c
-@@ -21,7 +21,6 @@
- * MA 02110-1301 USA.
- */
-
--#include "config.h"
- #include "compat.h"
- #include <errno.h>
- #include "conffile.h"
-diff --git a/src/dvdauthor.c b/src/dvdauthor.c
-index d591d68..4860258 100644
---- a/src/dvdauthor.c
-+++ b/src/dvdauthor.c
-@@ -20,8 +20,6 @@
- * MA 02110-1301 USA.
- */
-
--#include "config.h"
--
- #include "compat.h"
-
- #include <sys/types.h>
-diff --git a/src/dvdcompile.c b/src/dvdcompile.c
-index fd232b6..47f13e5 100644
---- a/src/dvdcompile.c
-+++ b/src/dvdcompile.c
-@@ -20,8 +20,6 @@
- * MA 02110-1301 USA.
- */
-
--#include "config.h"
--
- #include "compat.h"
- #include <assert.h>
-
-diff --git a/src/dvdpgc.c b/src/dvdpgc.c
-index e0adc61..cf6eb04 100644
---- a/src/dvdpgc.c
-+++ b/src/dvdpgc.c
-@@ -20,7 +20,6 @@
- * MA 02110-1301 USA.
- */
-
--#include "config.h"
- #include "compat.h"
- #include <errno.h>
- #include <assert.h>
-diff --git a/src/dvdunauthor.c b/src/dvdunauthor.c
-index ccd422f..f988cdf 100644
---- a/src/dvdunauthor.c
-+++ b/src/dvdunauthor.c
-@@ -23,8 +23,6 @@
- * MA 02110-1301 USA.
- */
-
--#include "config.h"
--
- #include "compat.h"
-
- #include <ctype.h>
-diff --git a/src/dvduncompile.c b/src/dvduncompile.c
-index 0c5eaf1..a064011 100644
---- a/src/dvduncompile.c
-+++ b/src/dvduncompile.c
-@@ -22,7 +22,6 @@
- * MA 02110-1301 USA.
- */
-
--#include "config.h"
- #include "compat.h"
-
- #include <stdio.h>
-diff --git a/src/dvdvob.c b/src/dvdvob.c
-index 2d7e2b8..2146689 100644
---- a/src/dvdvob.c
-+++ b/src/dvdvob.c
-@@ -20,8 +20,6 @@
- * MA 02110-1301 USA.
- */
-
--#include "config.h"
--
- #include "compat.h"
-
- #include <assert.h>
-diff --git a/src/readxml.c b/src/readxml.c
-index 61ff0a1..3b83f07 100644
---- a/src/readxml.c
-+++ b/src/readxml.c
-@@ -20,8 +20,6 @@
- * MA 02110-1301 USA.
- */
-
--#include "config.h"
--
- #include "compat.h"
-
- #include <assert.h>
-diff --git a/src/spuunmux.c b/src/spuunmux.c
-index 1981e41..94fcb10 100644
---- a/src/spuunmux.c
-+++ b/src/spuunmux.c
-@@ -31,7 +31,6 @@
- * MA 02110-1301 USA.
- */
-
--#include "config.h"
- #include "compat.h"
-
- #include <fcntl.h>
-diff --git a/src/subgen-encode.c b/src/subgen-encode.c
-index 53ed4b2..962e902 100644
---- a/src/subgen-encode.c
-+++ b/src/subgen-encode.c
-@@ -21,8 +21,6 @@
- * MA 02110-1301 USA.
- */
-
--#include "config.h"
--
- #include "compat.h"
-
- #include <assert.h>
- \ No newline at end of file
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..bf2ff7ddd099 100644
--- a/media-video/dvdbackup/dvdbackup-0.4.2-r2.ebuild
+++ b/media-video/dvdbackup/dvdbackup-0.4.2-r2.ebuild
@@ -1,15 +1,15 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
DESCRIPTION="Backup content from DVD to hard disk"
HOMEPAGE="http://dvdbackup.sourceforge.net/"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.xz"
+SRC_URI="https://downloads.sourceforge.net/${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-r4.ebuild b/media-video/dvdrip/dvdrip-0.98.11-r4.ebuild
deleted file mode 100644
index 31a52bda60c5..000000000000
--- a/media-video/dvdrip/dvdrip-0.98.11-r4.ebuild
+++ /dev/null
@@ -1,74 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-inherit epatch 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
-"
-
-pkg_setup() {
- filter-flags -ftracer
- export SKIP_UNPACK_REQUIRED_MODULES=1 #255269
-
- perl_set_version
-}
-
-src_prepare() {
- sed -i -e 's:$(CC):$(CC) $(OTHERLDFLAGS):' src/Makefile || die #333739
- epatch "${FILESDIR}"/${P}-fix_parallel_make.patch
- # Fix default device for >=udev-180 wrt #224559
- sed -i -e 's:/dev/dvd:/dev/cdrom:' lib/Video/DVDRip/Config.pm || die
-}
-
-src_install() {
- newicon lib/Video/DVDRip/icon.xpm dvdrip.xpm
- make_desktop_entry dvdrip dvd::rip
-
- mydoc="Changes* Credits README TODO" 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 /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-fix_parallel_make.patch b/media-video/dvdrip/files/dvdrip-0.98.11-fix_parallel_make.patch
deleted file mode 100644
index df766c07cbcc..000000000000
--- a/media-video/dvdrip/files/dvdrip-0.98.11-fix_parallel_make.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-http://bugs.gentoo.org/266739
-
---- src/Makefile
-+++ 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
---- Makefile.PL
-+++ 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/Manifest b/media-video/dvdstyler/Manifest
index 685628c2b439..324a4c9897c2 100644
--- a/media-video/dvdstyler/Manifest
+++ b/media-video/dvdstyler/Manifest
@@ -1 +1 @@
-DIST DVDStyler-3.0.4.tar.bz2 8870498 BLAKE2B c1ec7651d90613cebbd8d4e62b4626b8a7e2069eadc07bfe9a91e51bf33638135ca975f4857242b3f9ff34606a4e6084200059c82ebc3aa146f446f9b77483ae SHA512 2747e6a494d331b6f35405d7d2ed47789f4452bb3d4e86b0c68cf0fafffb4e6de452b28fac0e9995c312017c7e4e8a3f89ad42bf0a0c99ce19c5d6c0ca6e351a
+DIST DVDStyler-3.2.1.tar.bz2 9040634 BLAKE2B f6c3ec5d6595b650ead167ae6532a0849cc6545e1531f10483a7dd2f9962ea6cd4494b7eb8224bbc6e70588b1054fc13a13a5e2f5d977b5b80692c7cc2553d53 SHA512 09124a6c8db2b8d8072bfe2f7de98474d736a36a66d5124eab1b925da9ca830901f554ca80d9a4403365616001d869237002a2cb467cf3cc11b37aea12ff9d90
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..9da92a439bf5
--- /dev/null
+++ b/media-video/dvdstyler/dvdstyler-3.2.1-r1.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=${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="https://downloads.sourceforge.net/${PN}/${MY_P}.tar.bz2"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="debug +udev"
+
+DEPEND="
+ app-cdr/cdrtools
+ >=app-cdr/dvd+rw-tools-7.1
+ media-libs/libexif:=
+ >=media-libs/wxsvg-1.5.23:=
+ >=media-video/dvdauthor-0.7.1
+ >=media-video/ffmpeg-2.6:0=[encode]
+ >=media-video/xine-ui-0.99.7
+ virtual/jpeg:0
+ x11-libs/wxGTK:${WX_GTK_VER}=[gstreamer,X]
+ sys-apps/dbus
+ udev? ( >=virtual/libudev-215:= )
+"
+RDEPEND="${DEPEND}
+ >=app-cdr/dvdisaster-0.72.4
+ media-video/mjpegtools
+"
+BDEPEND="
+ app-arch/zip
+ app-text/xmlto
+ sys-devel/gettext
+ app-alternatives/yacc
+ virtual/pkgconfig
+"
+
+PATCHES=(
+ "${FILESDIR}"/ffmpeg5.patch
+ "${FILESDIR}"/wx30.patch
+ "${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/dvdstyler-3.0.4.ebuild b/media-video/dvdstyler/dvdstyler-3.2.1.ebuild
index fc6e67168465..71057e8e2202 100644
--- a/media-video/dvdstyler/dvdstyler-3.0.4.ebuild
+++ b/media-video/dvdstyler/dvdstyler-3.2.1.ebuild
@@ -1,16 +1,16 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
MY_P=${P/dvds/DVDS}
-WX_GTK_VER=3.0
+WX_GTK_VER=3.0-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"
+SRC_URI="https://downloads.sourceforge.net/${PN}/${MY_P}.tar.bz2"
S="${WORKDIR}/${MY_P}"
LICENSE="GPL-2"
@@ -22,7 +22,7 @@ DEPEND="
app-cdr/cdrtools
>=app-cdr/dvd+rw-tools-7.1
media-libs/libexif:=
- >=media-libs/wxsvg-1.5.11:=
+ >=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
@@ -37,10 +37,10 @@ BDEPEND="
app-arch/zip
app-text/xmlto
sys-devel/gettext
- virtual/yacc
+ app-alternatives/yacc
virtual/pkgconfig"
-PATCHES=( "${FILESDIR}"/ffmpeg4.patch )
+PATCHES=( "${FILESDIR}"/ffmpeg5.patch "${FILESDIR}"/wx30.patch )
src_prepare() {
default
diff --git a/media-video/dvdstyler/files/ffmpeg4.patch b/media-video/dvdstyler/files/ffmpeg4.patch
deleted file mode 100644
index 39966dd1dfb8..000000000000
--- a/media-video/dvdstyler/files/ffmpeg4.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: DVDStyler-3.0.4/src/mediaenc_ffmpeg.cpp
-===================================================================
---- DVDStyler-3.0.4.orig/src/mediaenc_ffmpeg.cpp
-+++ DVDStyler-3.0.4/src/mediaenc_ffmpeg.cpp
-@@ -223,7 +223,7 @@ bool wxFfmpegMediaEncoder::addAudioStrea
- c->time_base = (AVRational){ 1, c->sample_rate };
- // some formats want stream headers to be separate
- if(m_outputCtx->oformat->flags & AVFMT_GLOBALHEADER)
-- c->flags |= CODEC_FLAG_GLOBAL_HEADER;
-+ c->flags |= AV_CODEC_FLAG_GLOBAL_HEADER;
-
- return true;
- }
diff --git a/media-video/dvdstyler/files/ffmpeg5.patch b/media-video/dvdstyler/files/ffmpeg5.patch
new file mode 100644
index 000000000000..c7ef02833076
--- /dev/null
+++ b/media-video/dvdstyler/files/ffmpeg5.patch
@@ -0,0 +1,89 @@
+Index: DVDStyler-3.2.1/src/mediaenc_ffmpeg.cpp
+===================================================================
+--- DVDStyler-3.2.1.orig/src/mediaenc_ffmpeg.cpp
++++ DVDStyler-3.2.1/src/mediaenc_ffmpeg.cpp
+@@ -26,10 +26,12 @@
+ extern "C" {
+ #define __STDC_CONSTANT_MACROS
+ #define __STDC_LIMIT_MACROS
++#include <libavcodec/avcodec.h>
+ #include <libavformat/avformat.h>
+ #include <libswscale/swscale.h>
+ #include <libavutil/mathematics.h>
+ #include <libavutil/avstring.h>
++#include <libavutil/channel_layout.h>
+ }
+
+ #define AUDIO_BUF_SIZE 524288
+@@ -74,6 +76,9 @@ void print_error(const char *filename, i
+ bool wxFfmpegMediaEncoder::BeginEncode(const wxString& fileName, VideoFormat videoFormat, AudioFormat audioFormat,
+ AspectRatio aspectRatio, int videoBitrate, bool cbr) {
+ EndEncode();
++#if LIBAVCODEC_VERSION_MAJOR >= 59
++ const
++#endif
+ AVOutputFormat* outputFormat = NULL;
+ if (videoFormat == vfNONE || audioFormat == afNONE)
+ outputFormat = av_guess_format(NULL, (const char*) fileName.ToUTF8(), NULL);
+@@ -83,13 +88,16 @@ bool wxFfmpegMediaEncoder::BeginEncode(c
+ wxLogError(wxT("Cannot open output format"));
+ return false;
+ }
+- outputFormat->video_codec = videoFormat == vfNONE ? AV_CODEC_ID_NONE : AV_CODEC_ID_MPEG2VIDEO;
++ enum AVCodecID video_codec, audio_codec;
++
++ video_codec = videoFormat == vfNONE ? AV_CODEC_ID_NONE : AV_CODEC_ID_MPEG2VIDEO;
++
+ if (audioFormat == afNONE)
+- outputFormat->audio_codec = AV_CODEC_ID_NONE;
++ audio_codec = AV_CODEC_ID_NONE;
+ else if (audioFormat == afAC3)
+- outputFormat->audio_codec = AV_CODEC_ID_AC3;
++ audio_codec = AV_CODEC_ID_AC3;
+ else
+- outputFormat->audio_codec = AV_CODEC_ID_MP2;
++ audio_codec = AV_CODEC_ID_MP2;
+
+ m_outputCtx = NULL;
+ avformat_alloc_output_context2(&m_outputCtx, outputFormat, NULL, (const char*) fileName.ToUTF8());
+@@ -101,9 +109,9 @@ bool wxFfmpegMediaEncoder::BeginEncode(c
+ m_outputCtx->packet_size = 2048;
+
+ // add video and audio streams
+- if (!addVideoStream(outputFormat->video_codec, videoFormat, aspectRatio, videoBitrate, cbr))
++ if (!addVideoStream(video_codec, videoFormat, aspectRatio, videoBitrate, cbr))
+ return false;
+- if (!addAudioStream(outputFormat->audio_codec))
++ if (!addAudioStream(audio_codec))
+ return false;
+
+ // open the output file
+@@ -170,6 +178,9 @@ bool wxFfmpegMediaEncoder::addVideoStrea
+ m_videoStm->id = 0;
+
+ // find the video encoder and open it
++#if LIBAVCODEC_VERSION_MAJOR >= 59
++ const
++#endif
+ AVCodec* encoder = avcodec_find_encoder((AVCodecID) codecId);
+ if (!encoder) {
+ wxLogError(wxT("Video codec not found"));
+@@ -235,7 +246,7 @@ bool wxFfmpegMediaEncoder::addVideoStrea
+ return true;
+ }
+
+-bool hasSampleFmt(AVCodec* codec, AVSampleFormat sample_fmt) {
++bool hasSampleFmt(const AVCodec* codec, AVSampleFormat sample_fmt) {
+ if (codec != NULL && codec->sample_fmts != NULL) {
+ int fIdx = 0;
+ while (codec->sample_fmts[fIdx] >= 0) {
+@@ -260,6 +271,9 @@ bool wxFfmpegMediaEncoder::addAudioStrea
+ m_audioStm->id = 1;
+
+ // find the audio encoder and open it
++#if LIBAVCODEC_VERSION_MAJOR >= 59
++ const
++#endif
+ AVCodec* encoder = NULL;
+ AVSampleFormat sampleFmt = AV_SAMPLE_FMT_S16;
+ if ((AVCodecID) codecId == AV_CODEC_ID_AC3) {
diff --git a/media-video/dvdstyler/files/wx30.patch b/media-video/dvdstyler/files/wx30.patch
new file mode 100644
index 000000000000..1ffde52696f0
--- /dev/null
+++ b/media-video/dvdstyler/files/wx30.patch
@@ -0,0 +1,14 @@
+Index: DVDStyler-3.2.1/wxVillaLib/PropDlg.cpp
+===================================================================
+--- DVDStyler-3.2.1.orig/wxVillaLib/PropDlg.cpp
++++ DVDStyler-3.2.1/wxVillaLib/PropDlg.cpp
+@@ -760,7 +760,9 @@ void wxPropDlg::OnSelectColour(wxCommand
+ ((wxButton*) event.GetEventObject())->GetName().Mid(12).ToLong(&index);
+ ColourPanel* panel = ((ColourPanel*) m_controls[index]);
+ m_colourData.SetColour(panel->GetColour());
++#if wxMAJOR_VERSION >= 3 && wxMINOR_VERSION >= 1
+ m_colourData.SetChooseAlpha(true);
++#endif
+ #ifdef __WXMSW__
+ wxGenericColourDialog dialog(propWindow, &m_colourData);
+ #else
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..3e69440da664 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-2024 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"
+SRC_URI="https://downloads.sourceforge.net/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 5a325da14399..b47a6966a178 100644
--- a/media-video/ffdiaporama/Manifest
+++ b/media-video/ffdiaporama/Manifest
@@ -1,7 +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_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_pre20230525.ebuild b/media-video/ffdiaporama/ffdiaporama-2.2_pre20230525.ebuild
new file mode 100644
index 000000000000..624ed4d35a2f
--- /dev/null
+++ b/media-video/ffdiaporama/ffdiaporama-2.2_pre20230525.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+COMMIT="6b2587064d705de42a3e88468d4922bc27b97e2a"
+
+inherit qmake-utils xdg-utils
+
+DESCRIPTION="Movie creator from photos and video clips"
+HOMEPAGE="https://ffdiaporama.tuxfamily.org"
+SRC_URI="https://github.com/laurantino/${PN}/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3 CC-BY-3.0"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="openclipart"
+
+RDEPEND="
+ dev-qt/qtconcurrent:5
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qthelp:5
+ dev-qt/qtmultimedia:5
+ dev-qt/qtsql:5[sqlite]
+ dev-qt/qtsvg:5
+ dev-qt/qtwidgets:5
+ dev-qt/qtxml:5
+ media-gfx/exiv2:=
+ >=media-video/ffmpeg-4:0=[encode]
+ openclipart? ( media-gfx/openclipart[svg,-gzip] )"
+DEPEND="${RDEPEND}"
+
+DOCS=( authors.txt )
+
+S="${WORKDIR}/${PN}-${COMMIT}"
+
+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_pre20240203.ebuild b/media-video/ffdiaporama/ffdiaporama-2.2_pre20240203.ebuild
new file mode 100644
index 000000000000..09236af881f4
--- /dev/null
+++ b/media-video/ffdiaporama/ffdiaporama-2.2_pre20240203.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+COMMIT="edf0b29d9e14e0b81d54f9b086ff2f0dd2ed85c5"
+
+inherit qmake-utils xdg-utils
+
+DESCRIPTION="Movie creator from photos and video clips"
+HOMEPAGE="https://ffdiaporama.tuxfamily.org"
+SRC_URI="https://github.com/laurantino/${PN}/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3 CC-BY-3.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="openclipart"
+
+RDEPEND="
+ dev-qt/qtconcurrent:5
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qthelp:5
+ dev-qt/qtmultimedia:5
+ dev-qt/qtsql:5[sqlite]
+ dev-qt/qtsvg:5
+ dev-qt/qtwidgets:5
+ dev-qt/qtxml:5
+ media-gfx/exiv2:=
+ >=media-video/ffmpeg-6:=[encode]
+ openclipart? ( media-gfx/openclipart[svg,-gzip] )"
+DEPEND="${RDEPEND}"
+
+DOCS=( authors.txt )
+
+S="${WORKDIR}/${PN}-${COMMIT}"
+
+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/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 3e1116a6ede8..154062c50024 100644
--- a/media-video/ffmpeg-chromium/Manifest
+++ b/media-video/ffmpeg-chromium/Manifest
@@ -1 +1,5 @@
-DIST ffmpeg-chromium-94.tar.gz 14709687 BLAKE2B 06dedbd86befd8caed4c6cb34755b52cf70630f8fbd712f89d42e5b63e498f9d2a77935fbd7c87194f6d56fb0f83ff26beba00357dd51b3ac3e2e4480ff4351e SHA512 a6cf5404c892c878c50e3ba8369456db587e327bc3d77e857b9d34f3665ecfee7d3865b20e9871ccda570b30d9d34c03fd981cdc7f495809ea8f12cb8f15937e
+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-94.ebuild b/media-video/ffmpeg-chromium/ffmpeg-chromium-120.ebuild
index ccadc52a33d8..f5c83cb50871 100644
--- a/media-video/ffmpeg-chromium/ffmpeg-chromium-94.ebuild
+++ b/media-video/ffmpeg-chromium/ffmpeg-chromium-120.ebuild
@@ -1,22 +1,22 @@
-# 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 flag-o-matic toolchain-funcs
-COMMIT="2d6591aa0835768c437c221c88840ac0c99a50dc"
+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.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"
+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,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 )
- vaapi? ( >=x11-libs/libva-1.2.1-r1:0= )
- video_cards_nvidia? ( >=media-libs/nv-codec-headers-9.1.23.1 )
+ >=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.1.97:= )
+ 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,22 +120,37 @@ RESTRICT="
test
"
-S="${WORKDIR}"
-
PATCHES=(
- "${FILESDIR}"/${P}.patch
+ "${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
@@ -149,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=(
@@ -168,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 )
;;
@@ -180,6 +205,7 @@ src_configure() {
esac
fi
+ # Use --extra-libs if needed for LIBS
set -- "${S}/configure" \
--prefix="${EPREFIX}/usr" \
--libdir="${EPREFIX}/usr/$(get_libdir)" \
@@ -188,6 +214,7 @@ src_configure() {
--cxx="$(tc-getCXX)" \
--ar="$(tc-getAR)" \
--nm="$(tc-getNM)" \
+ --strip="$(tc-getSTRIP)" \
--ranlib="$(tc-getRANLIB)" \
--pkg-config="$(tc-getPKG_CONFIG)" \
--optflags="${CFLAGS}" \
@@ -197,11 +224,11 @@ src_configure() {
--disable-everything \
--disable-faan \
--disable-iconv \
- --disable-lzo \
--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 \
diff --git a/media-video/ffmpeg-chromium/ffmpeg-chromium-121.ebuild b/media-video/ffmpeg-chromium/ffmpeg-chromium-121.ebuild
new file mode 100644
index 000000000000..99c72fcc7a81
--- /dev/null
+++ b/media-video/ffmpeg-chromium/ffmpeg-chromium-121.ebuild
@@ -0,0 +1,250 @@
+# 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="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.xz"
+
+LICENSE="
+ !gpl? ( LGPL-2.1 )
+ gpl? ( GPL-2 )
+"
+SLOT="${PV}"
+
+KEYWORDS="amd64 ~arm ~arm64"
+
+# 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
+ # decoders
+ mmal
+ 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="
+ mmal? ( media-libs/raspberrypi-userland )
+ >=media-libs/opus-1.0.2-r2
+ vaapi? ( >=media-libs/libva-1.2.1-r1:0= )
+ nvenc? ( >=media-libs/nv-codec-headers-11.1.5.3 )
+ vdpau? ( >=x11-libs/libvdpau-0.7 )
+ vulkan? ( >=media-libs/vulkan-loader-1.3.255:= )
+"
+
+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-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-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/files/ffmpeg-chromium-94.patch b/media-video/ffmpeg-chromium/files/ffmpeg-chromium-94.patch
deleted file mode 100644
index ba1dfd2c0518..000000000000
--- a/media-video/ffmpeg-chromium/files/ffmpeg-chromium-94.patch
+++ /dev/null
@@ -1,26 +0,0 @@
---- FFmpeg-chromium/configure 2021-10-07 22:32:34.230130424 +0100
-+++ FFmpeg/configure 2021-10-07 22:34:30.978861042 +0100
-@@ -6474,15 +6464,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 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
- enabled librav1e && require_pkg_config librav1e "rav1e >= 0.4.0" rav1e.h rav1e_context_new
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 d1777180b58e..d370d825a43e 100644
--- a/media-video/ffmpeg/Manifest
+++ b/media-video/ffmpeg/Manifest
@@ -1,6 +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.4.tar.bz2 10959430 BLAKE2B 932bc0046edab5587063bbc04d6ef0149876bd1001ad185384fcabb3d0ae196c9ba591e680823b3c7b6e0ef9a0a9e9575a8b08439fdd89ef0e4dabb9d4a7f4e6 SHA512 5c74e3fe77ddf8ffede0e4692d574858dd0626e542380a819ab79c0f669c6c1329ffbccb872502f60306e561f10aa8bc1e61d09b2bea829870fe4a48b76460c6
-DIST ffmpeg-4.3.1.tar.bz2 11301038 BLAKE2B 3b0eb332459921435b60e72f5c572034abf65d4ab79ef4cfae94fe594048eaa37eec47724d119863102a7211c2178f5a2382a6d4016b792818079b8241bde084 SHA512 831a187d8b8f2715a9f11c93c8d3ec126ff579d470797da452d3395178877de113af7ae90ed27fca0b223791ad257972570481e6dbb8361d2b7f3b010924bee8
-DIST ffmpeg-4.3.2.tar.bz2 11307134 BLAKE2B 97e1e598e4abe397b06298d545c3073ea2303e11c01e98343fe09d99174e02ca94f52c4df0d389fbefe7814686221446d30f107092f00cb0b69275c8747d6f32 SHA512 ec5566f8684f0ceb18184d59786ea1fc166ab28c46260ebcca5b919ad53137ba7317fd0c537e97df28553572a0d5e42c558773c808cf76995d67985aec2d6d4d
-DIST ffmpeg-4.4.tar.bz2 11489948 BLAKE2B a8dc007e260896228789d27339402e846cd21758e02c7a8d66a745ced2d1bbef4aa9c18c9b7cefef004b5ffa3fc859e2a2474c957bdf9ff27e82cec72ed4a5bf SHA512 212c330f477e9452b9d7873d6d3c452a5c946b6b9c17b01d94c60fda66e61e53b78388ef7686b8d9415a27cd3e05d5f0d6639a02a22467dbf1ed483b5594c80f
+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-r1.ebuild b/media-video/ffmpeg/ffmpeg-4.4.4-r9.ebuild
index 9dfdeaccd48a..7eb94f61dbb6 100644
--- a/media-video/ffmpeg/ffmpeg-4.4-r1.ebuild
+++ b/media-video/ffmpeg/ffmpeg-4.4.4-r9.ebuild
@@ -1,7 +1,7 @@
-# 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
# Subslot: libavutil major.libavcodec major.libavformat major
# Since FFmpeg ships several libraries, subslot is kind of limited here.
@@ -28,9 +28,15 @@ HOMEPAGE="https://ffmpeg.org/"
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"
+ VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/ffmpeg.asc
+ inherit verify-sig
+ SRC_URI="https://ffmpeg.org/releases/${P/_/-}.tar.xz"
+ SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-texinfo.patch.xz"
+ SRC_URI+=" verify-sig? ( https://ffmpeg.org/releases/${P/_/-}.tar.xz.asc )"
+
+ BDEPEND=" verify-sig? ( sec-keys/openpgp-keys-ffmpeg )"
fi
FFMPEG_REVISION="${PV#*_p}"
@@ -59,7 +65,7 @@ LICENSE="
samba? ( GPL-3 )
"
if [ "${PV#9999}" = "${PV}" ] ; then
- KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux"
+ KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
fi
# Options to use as use_enable in the foo[:bar] form.
@@ -79,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
- speex:libspeex srt:libsrt svg:librsvg video_cards_nvidia:ffnvcodec
+ libaribb24 mmal modplug:libmodplug opus:libopus qsv:libmfx libilbc librtmp ssh:libssh
+ speex:libspeex srt:libsrt svg:librsvg nvenc:ffnvcodec
vorbis:libvorbis vpx:libvpx zvbi:libzvbi
# libavfilter options
appkit
- bs2b:libbs2b chromaprint cuda:cuda-llvm flite:libflite frei0r
- fribidi:libfribidi fontconfig 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
@@ -95,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 rav1e:librav1e snappy:libsnappy theora:libtheora twolame:libtwolame
- 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 sndio static-libs test v4l
+ alsa chromium doc +encode oss +pic sndio static-libs test v4l
${FFMPEG_FLAG_MAP[@]%:*}
${FFMPEG_ENCODER_FLAG_MAP[@]%:*}
"
@@ -120,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 )
@@ -132,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 )
@@ -167,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}] )
@@ -188,8 +202,8 @@ RDEPEND="
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}] )
webp? ( >=media-libs/libwebp-0.3.0:=[${MULTILIB_USEDEP}] )
@@ -203,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}] )
@@ -238,19 +253,25 @@ 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}] )
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-12 )
+ svt-av1? ( >=media-libs/svt-av1-0.8.4[${MULTILIB_USEDEP}] )
truetype? ( >=media-libs/freetype-2.5.0.1:2[${MULTILIB_USEDEP}] )
- vaapi? ( >=x11-libs/libva-1.2.1-r1:0=[${MULTILIB_USEDEP}] )
- video_cards_nvidia? ( >=media-libs/nv-codec-headers-9.1.23.1[${MULTILIB_USEDEP}] )
+ vaapi? ( >=media-libs/libva-1.2.1-r1:0=[${MULTILIB_USEDEP}] )
vdpau? ( >=x11-libs/libvdpau-0.7[${MULTILIB_USEDEP}] )
vidstab? ( >=media-libs/vidstab-1.1.0[${MULTILIB_USEDEP}] )
+ vmaf? ( media-libs/libvmaf:=[${MULTILIB_USEDEP}] )
vorbis? (
>=media-libs/libvorbis-1.3.3-r1[${MULTILIB_USEDEP}]
>=media-libs/libogg-1.3.0[${MULTILIB_USEDEP}]
@@ -261,31 +282,33 @@ RDEPEND="
>=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 )
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
@@ -303,9 +326,10 @@ GPL_REQUIRED_USE="
)
"
REQUIRED_USE="
- cuda? ( video_cards_nvidia )
- libv4l? ( v4l )
+ cuda? ( nvenc )
fftools_cws2fws? ( zlib )
+ glslang? ( vulkan )
+ libv4l? ( v4l )
test? ( encode )
${GPL_REQUIRED_USE}
${CPU_REQUIRED_USE}"
@@ -318,6 +342,15 @@ S=${WORKDIR}/${P/_/-}
PATCHES=(
"${FILESDIR}"/chromium-r1.patch
+ "${FILESDIR}"/${PN}-5.0-backport-ranlib-build-fix.patch
+ "${FILESDIR}"/${PN}-4.4.3-clang-14-ff_seek_frame_binary-crash.patch
+ "${FILESDIR}"/${PN}-4.4.3-get_cabac_inline_x86-32-bit.patch
+ "${FILESDIR}"/${PN}-4.4.4-wint-conversion-vulkan.patch
+ "${FILESDIR}"/${P}-fix-build-svt-av1-1.5.0.patch
+ "${FILESDIR}"/${PN}-5.1.3-binutils-2.41.patch
+ "${FILESDIR}"/${PN}-4.4.4-opencl-parallel-gmake-fix.patch
+ "${FILESDIR}"/${PN}-4.4.4-glslang.patch
+ "${WORKDIR}"/${PN}-4.4.4-texinfo.patch
)
MULTILIB_WRAPPED_HEADERS=(
@@ -328,17 +361,57 @@ build_separate_libffmpeg() {
use opencl
}
+pkg_setup() {
+ # ffmpeg[chromaprint] depends on chromaprint, and chromaprint[tools] depends on ffmpeg.
+ # May cause breakage while updating, #862996, #625210, #833821.
+ if has_version media-libs/chromaprint[tools] && use chromaprint; then
+ ewarn "You have media-libs/chromaprint installed with 'tools' USE flag, which "
+ ewarn "links to ffmpeg, and you have enabled 'chromaprint' USE flag for ffmpeg, "
+ ewarn "which links to chromaprint. This may cause issues while rebuilding ffmpeg."
+ ewarn ""
+ ewarn "If your build fails to 'ERROR: chromaprint not found', rebuild chromaprint "
+ ewarn "without the 'tools' use flag first, then rebuild ffmpeg, and then finally enable "
+ ewarn "'tools' USE flag for chromaprint. See #862996."
+ fi
+}
+
+src_unpack() {
+ if use verify-sig ; then
+ # Needed for downloaded patch (which is unsigned, which is fine)
+ verify-sig_verify_detached "${DISTDIR}"/${P/_/-}.tar.xz{,.asc}
+ fi
+
+ default
+}
+
src_prepare() {
if [[ "${PV%_p*}" != "${PV}" ]] ; then # Snapshot
export revision=git-N-${FFMPEG_REVISION}
fi
+
+ eapply "${FILESDIR}/vmaf-models-default-path.patch"
+
default
+
+ # -fdiagnostics-color=auto gets appended after user flags which
+ # will ignore user's preference.
+ sed -i -e '/check_cflags -fdiagnostics-color=auto/d' configure || die
+
echo 'include $(SRC_PATH)/ffbuild/libffmpeg.mak' >> Makefile || die
}
multilib_src_configure() {
local myconf=( )
+ # bug 842201
+ use ia64 && tc-is-gcc && append-flags \
+ -fno-tree-ccp \
+ -fno-tree-dominator-opts \
+ -fno-tree-fre \
+ -fno-code-hoisting \
+ -fno-tree-pre \
+ -fno-tree-vrp
+
local ffuse=( "${FFMPEG_FLAG_MAP[@]}" )
use openssl && myconf+=( --enable-nonfree )
use samba && myconf+=( --enable-version3 )
@@ -411,9 +484,9 @@ multilib_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
+ [[ ${ABI} != x86 ]] && tc-is-lto && myconf+=( "--enable-lto" )
+ filter-lto
# Mandatory configuration
myconf=(
@@ -432,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 )
;;
@@ -451,13 +521,7 @@ multilib_src_configure() {
$(multilib_native_enable manpages)
)
- local extra_libs
- if use arm || use ppc ; then
- # bug #782811
- # bug #790590
- extra_libs+="-latomic "
- fi
-
+ # Use --extra-libs if needed for LIBS
set -- "${S}/configure" \
--prefix="${EPREFIX}/usr" \
--libdir="${EPREFIX}/usr/$(get_libdir)" \
@@ -469,10 +533,10 @@ multilib_src_configure() {
--cxx="$(tc-getCXX)" \
--ar="$(tc-getAR)" \
--nm="$(tc-getNM)" \
+ --strip="$(tc-getSTRIP)" \
--ranlib="$(tc-getRANLIB)" \
--pkg-config="$(tc-getPKG_CONFIG)" \
--optflags="${CFLAGS}" \
- --extra-libs="${extra_libs}" \
$(use_enable static-libs static) \
"${myconf[@]}" \
${EXTRA_FFMPEG_CONF}
@@ -519,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() {
@@ -552,4 +616,6 @@ multilib_src_install() {
multilib_src_install_all() {
dodoc Changelog README.md CREDITS doc/*.txt doc/APIchanges
[ -f "RELEASE_NOTES" ] && dodoc "RELEASE_NOTES"
+
+ use amf && newenvd "${FILESDIR}"/amf-env-vulkan-override 99amf-env-vulkan-override
}
diff --git a/media-video/ffmpeg/ffmpeg-4.3.2-r1.ebuild b/media-video/ffmpeg/ffmpeg-6.0-r12.ebuild
index 25d462c19509..27356c86a31d 100644
--- a/media-video/ffmpeg/ffmpeg-4.3.2-r1.ebuild
+++ b/media-video/ffmpeg/ffmpeg-6.0-r12.ebuild
@@ -1,7 +1,7 @@
-# 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
# 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
@@ -28,9 +28,14 @@ HOMEPAGE="https://ffmpeg.org/"
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"
+ 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}"
@@ -59,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.
@@ -78,14 +83,15 @@ FFMPEG_FLAG_MAP=(
libv4l:libv4l2 pulseaudio:libpulse libdrm jack:libjack
# decoders
amr:libopencore-amrwb amr:libopencore-amrnb codec2:libcodec2 +dav1d:libdav1d fdk:libfdk-aac
- jpeg2k:libopenjpeg bluray:libbluray gme:libgme gsm:libgsm
- libaribb24 mmal modplug:libmodplug opus:libopus libilbc librtmp ssh:libssh
- speex:libspeex srt:libsrt svg:librsvg video_cards_nvidia:ffnvcodec
+ 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
@@ -95,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 rav1e:librav1e snappy:libsnappy theora:libtheora twolame:libtwolame
- 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 sndio static-libs test v4l
+ alsa chromium doc +encode oss +pic sndio static-libs test v4l
${FFMPEG_FLAG_MAP[@]%:*}
${FFMPEG_ENCODER_FLAG_MAP[@]%:*}
"
@@ -120,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 )
@@ -132,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 )
@@ -167,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}] )
@@ -185,11 +199,11 @@ RDEPEND="
kvazaar? ( >=media-libs/kvazaar-1.2.0[${MULTILIB_USEDEP}] )
mp3? ( >=media-sound/lame-3.99.5-r1[${MULTILIB_USEDEP}] )
openh264? ( >=media-libs/openh264-1.4.0-r1:=[${MULTILIB_USEDEP}] )
- rav1e? ( media-video/rav1e:=[capi] )
+ 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}] )
webp? ( >=media-libs/libwebp-0.3.0:=[${MULTILIB_USEDEP}] )
@@ -218,12 +232,15 @@ RDEPEND="
)
jack? ( virtual/jack[${MULTILIB_USEDEP}] )
jpeg2k? ( >=media-libs/openjpeg-2:2[${MULTILIB_USEDEP}] )
+ jpegxl? ( >=media-libs/libjxl-0.7.0[$MULTILIB_USEDEP] )
+ lcms? ( >=media-libs/lcms-2.13:2[$MULTILIB_USEDEP] )
libaom? ( >=media-libs/libaom-1.0.0-r1:=[${MULTILIB_USEDEP}] )
libaribb24? ( >=media-libs/aribb24-1.0.3-r2[${MULTILIB_USEDEP}] )
- libass? ( >=media-libs/libass-0.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}] )
@@ -235,57 +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}] )
+ 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-12 )
+ svt-av1? ( >=media-libs/svt-av1-0.9.0[${MULTILIB_USEDEP}] )
truetype? ( >=media-libs/freetype-2.5.0.1:2[${MULTILIB_USEDEP}] )
- vaapi? ( >=x11-libs/libva-1.2.1-r1:0=[${MULTILIB_USEDEP}] )
- video_cards_nvidia? ( >=media-libs/nv-codec-headers-9.1.23.1[${MULTILIB_USEDEP}] )
+ vaapi? ( >=media-libs/libva-1.2.1-r1:0=[${MULTILIB_USEDEP}] )
vdpau? ( >=x11-libs/libvdpau-0.7[${MULTILIB_USEDEP}] )
vidstab? ( >=media-libs/vidstab-1.1.0[${MULTILIB_USEDEP}] )
+ vmaf? ( >=media-libs/libvmaf-2.0.0:=[${MULTILIB_USEDEP}] )
vorbis? (
>=media-libs/libvorbis-1.3.3-r1[${MULTILIB_USEDEP}]
>=media-libs/libogg-1.3.0[${MULTILIB_USEDEP}]
)
vpx? ( >=media-libs/libvpx-1.4.0:=[${MULTILIB_USEDEP}] )
- vulkan? ( >=media-libs/vulkan-loader-1.1.97:=[${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
@@ -303,7 +328,7 @@ GPL_REQUIRED_USE="
)
"
REQUIRED_USE="
- cuda? ( video_cards_nvidia )
+ cuda? ( nvenc )
libv4l? ( v4l )
fftools_cws2fws? ( zlib )
test? ( encode )
@@ -318,8 +343,12 @@ S=${WORKDIR}/${P/_/-}
PATCHES=(
"${FILESDIR}"/chromium-r1.patch
- "${FILESDIR}"/${PN}-4.3-fix-build-without-SSSE3.patch
- "${FILESDIR}"/${PN}-4.3-altivec-novsx-yuv2rgb.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=(
@@ -330,17 +359,46 @@ 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=( )
+ # bug 842201
+ use ia64 && tc-is-gcc && append-flags \
+ -fno-tree-ccp \
+ -fno-tree-dominator-opts \
+ -fno-tree-fre \
+ -fno-code-hoisting \
+ -fno-tree-pre \
+ -fno-tree-vrp
+
local ffuse=( "${FFMPEG_FLAG_MAP[@]}" )
use openssl && myconf+=( --enable-nonfree )
use samba && myconf+=( --enable-version3 )
@@ -380,6 +438,7 @@ 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
@@ -413,14 +472,13 @@ multilib_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
+ [[ ${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
@@ -434,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 )
;;
@@ -453,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)" \
@@ -464,6 +520,7 @@ multilib_src_configure() {
--cxx="$(tc-getCXX)" \
--ar="$(tc-getAR)" \
--nm="$(tc-getNM)" \
+ --strip="$(tc-getSTRIP)" \
--ranlib="$(tc-getRANLIB)" \
--pkg-config="$(tc-getPKG_CONFIG)" \
--optflags="${CFLAGS}" \
@@ -511,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
@@ -541,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.3.1-r1.ebuild b/media-video/ffmpeg/ffmpeg-6.0.1-r4.ebuild
index 7d3956a93641..5609d999e0d2 100644
--- a/media-video/ffmpeg/ffmpeg-4.3.1-r1.ebuild
+++ b/media-video/ffmpeg/ffmpeg-6.0.1-r4.ebuild
@@ -1,7 +1,7 @@
-# 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
# 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
@@ -28,9 +28,14 @@ HOMEPAGE="https://ffmpeg.org/"
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"
+ 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}"
@@ -59,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.
@@ -78,14 +83,15 @@ FFMPEG_FLAG_MAP=(
libv4l:libv4l2 pulseaudio:libpulse libdrm jack:libjack
# decoders
amr:libopencore-amrwb amr:libopencore-amrnb codec2:libcodec2 +dav1d:libdav1d fdk:libfdk-aac
- jpeg2k:libopenjpeg bluray:libbluray gme:libgme gsm:libgsm
- libaribb24 mmal modplug:libmodplug opus:libopus libilbc librtmp ssh:libssh
- speex:libspeex srt:libsrt svg:librsvg video_cards_nvidia:ffnvcodec
+ 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
@@ -95,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 rav1e:librav1e 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[@]%:*}
"
@@ -120,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 )
@@ -132,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 )
@@ -167,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}] )
@@ -185,14 +199,13 @@ RDEPEND="
kvazaar? ( >=media-libs/kvazaar-1.2.0[${MULTILIB_USEDEP}] )
mp3? ( >=media-sound/lame-3.99.5-r1[${MULTILIB_USEDEP}] )
openh264? ( >=media-libs/openh264-1.4.0-r1:=[${MULTILIB_USEDEP}] )
- rav1e? ( media-video/rav1e:=[capi] )
+ 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}] )
@@ -201,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}] )
@@ -219,12 +232,15 @@ RDEPEND="
)
jack? ( virtual/jack[${MULTILIB_USEDEP}] )
jpeg2k? ( >=media-libs/openjpeg-2:2[${MULTILIB_USEDEP}] )
+ jpegxl? ( >=media-libs/libjxl-0.7.0[$MULTILIB_USEDEP] )
+ lcms? ( >=media-libs/lcms-2.13:2[$MULTILIB_USEDEP] )
libaom? ( >=media-libs/libaom-1.0.0-r1:=[${MULTILIB_USEDEP}] )
libaribb24? ( >=media-libs/aribb24-1.0.3-r2[${MULTILIB_USEDEP}] )
- libass? ( >=media-libs/libass-0.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}] )
@@ -236,56 +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? ( >=x11-libs/libva-1.2.1-r1:0=[${MULTILIB_USEDEP}] )
- video_cards_nvidia? ( >=media-libs/nv-codec-headers-9.1.23.1[${MULTILIB_USEDEP}] )
+ vaapi? ( >=media-libs/libva-1.2.1-r1:0=[${MULTILIB_USEDEP}] )
vdpau? ( >=x11-libs/libvdpau-0.7[${MULTILIB_USEDEP}] )
vidstab? ( >=media-libs/vidstab-1.1.0[${MULTILIB_USEDEP}] )
+ vmaf? ( >=media-libs/libvmaf-2.0.0:=[${MULTILIB_USEDEP}] )
vorbis? (
>=media-libs/libvorbis-1.3.3-r1[${MULTILIB_USEDEP}]
>=media-libs/libogg-1.3.0[${MULTILIB_USEDEP}]
)
vpx? ( >=media-libs/libvpx-1.4.0:=[${MULTILIB_USEDEP}] )
- vulkan? ( >=media-libs/vulkan-loader-1.1.97:=[${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
@@ -303,7 +328,7 @@ GPL_REQUIRED_USE="
)
"
REQUIRED_USE="
- cuda? ( video_cards_nvidia )
+ cuda? ( nvenc )
libv4l? ( v4l )
fftools_cws2fws? ( zlib )
test? ( encode )
@@ -318,9 +343,12 @@ S=${WORKDIR}/${P/_/-}
PATCHES=(
"${FILESDIR}"/chromium-r1.patch
- "${FILESDIR}"/${PN}-4.3-fix-build-without-SSSE3.patch
- "${FILESDIR}"/${PN}-4.3-altivec-novsx-yuv2rgb.patch
- "${FILESDIR}"/${PN}-4.3.1-srt-1.4.2-build.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,17 +359,46 @@ 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=( )
+ # bug 842201
+ use ia64 && tc-is-gcc && append-flags \
+ -fno-tree-ccp \
+ -fno-tree-dominator-opts \
+ -fno-tree-fre \
+ -fno-code-hoisting \
+ -fno-tree-pre \
+ -fno-tree-vrp
+
local ffuse=( "${FFMPEG_FLAG_MAP[@]}" )
use openssl && myconf+=( --enable-nonfree )
use samba && myconf+=( --enable-version3 )
@@ -360,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
@@ -381,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 librav1e libzmq ; do
+ for i in librav1e libzmq ; do
myconf+=( --disable-${i} )
done
fi
@@ -414,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
@@ -434,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 )
;;
@@ -453,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)" \
@@ -464,6 +520,7 @@ multilib_src_configure() {
--cxx="$(tc-getCXX)" \
--ar="$(tc-getAR)" \
--nm="$(tc-getNM)" \
+ --strip="$(tc-getSTRIP)" \
--ranlib="$(tc-getRANLIB)" \
--pkg-config="$(tc-getPKG_CONFIG)" \
--optflags="${CFLAGS}" \
@@ -511,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
@@ -541,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.4-r1.ebuild b/media-video/ffmpeg/ffmpeg-6.1.1-r5.ebuild
index 2457a735302d..94fe73865b5b 100644
--- a/media-video/ffmpeg/ffmpeg-4.2.4-r1.ebuild
+++ b/media-video/ffmpeg/ffmpeg-6.1.1-r5.ebuild
@@ -1,7 +1,7 @@
-# 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
# 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
- speex:libspeex srt:libsrt svg:librsvg video_cards_nvidia:ffnvcodec
+ 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}] )
- vaapi? ( >=x11-libs/libva-1.2.1-r1:0=[${MULTILIB_USEDEP}] )
- video_cards_nvidia? ( >=media-libs/nv-codec-headers-9.0.18.0[${MULTILIB_USEDEP}] )
+ ssh? ( >=net-libs/libssh-0.6.0:=[sftp,${MULTILIB_USEDEP}] )
+ svg? (
+ gnome-base/librsvg:2=[${MULTILIB_USEDEP}]
+ x11-libs/cairo[${MULTILIB_USEDEP}]
+ )
+ nvenc? ( >=media-libs/nv-codec-headers-11.1.5.3 )
+ svt-av1? ( >=media-libs/svt-av1-0.9.0[${MULTILIB_USEDEP}] )
+ truetype? (
+ >=media-libs/freetype-2.5.0.1:2[${MULTILIB_USEDEP}]
+ media-libs/harfbuzz:=[${MULTILIB_USEDEP}]
+ )
+ vaapi? ( >=media-libs/libva-1.2.1-r1:0=[${MULTILIB_USEDEP}] )
vdpau? ( >=x11-libs/libvdpau-0.7[${MULTILIB_USEDEP}] )
vidstab? ( >=media-libs/vidstab-1.1.0[${MULTILIB_USEDEP}] )
+ vmaf? ( >=media-libs/libvmaf-2.0.0:=[${MULTILIB_USEDEP}] )
vorbis? (
>=media-libs/libvorbis-1.3.3-r1[${MULTILIB_USEDEP}]
>=media-libs/libogg-1.3.0[${MULTILIB_USEDEP}]
)
vpx? ( >=media-libs/libvpx-1.4.0:=[${MULTILIB_USEDEP}] )
+ vulkan? ( >=media-libs/vulkan-loader-1.3.255:=[${MULTILIB_USEDEP}] )
X? (
>=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
>=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}]
>=x11-libs/libXv-1.0.10[${MULTILIB_USEDEP}]
- >=x11-libs/libxcb-1.4[${MULTILIB_USEDEP}]
+ >=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="
- cuda? ( video_cards_nvidia )
- libv4l? ( v4l )
+ chromium? ( opus )
+ cuda? ( nvenc )
fftools_cws2fws? ( zlib )
+ glslang? ( vulkan !shaderc )
+ libv4l? ( v4l )
+ shaderc? ( vulkan !glslang )
+ soc? ( libdrm )
test? ( encode )
${GPL_REQUIRED_USE}
${CPU_REQUIRED_USE}"
@@ -317,9 +375,13 @@ 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}"/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
)
@@ -327,20 +389,52 @@ 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 \
+ -fno-tree-ccp \
+ -fno-tree-dominator-opts \
+ -fno-tree-fre \
+ -fno-code-hoisting \
+ -fno-tree-pre \
+ -fno-tree-vrp
local ffuse=( "${FFMPEG_FLAG_MAP[@]}" )
use openssl && myconf+=( --enable-nonfree )
@@ -360,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
@@ -381,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
@@ -414,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
@@ -434,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 )
;;
@@ -453,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)" \
@@ -463,25 +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() {
@@ -494,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
@@ -517,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-6.1.1-r6.ebuild b/media-video/ffmpeg/ffmpeg-6.1.1-r6.ebuild
new file mode 100644
index 000000000000..9f5bd8424035
--- /dev/null
+++ b/media-video/ffmpeg/ffmpeg-6.1.1-r6.ebuild
@@ -0,0 +1,616 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Subslot: libavutil major.libavcodec major.libavformat major
+# Since FFmpeg ships several libraries, subslot is kind of limited here.
+# Most consumers will use those three libraries, if a "less used" library
+# changes its soname, consumers will have to be rebuilt the old way
+# (preserve-libs).
+# If, for example, a package does not link to libavformat and only libavformat
+# changes its ABI then this package will be rebuilt needlessly. Hence, such a
+# package is free _not_ to := depend on FFmpeg but I would strongly encourage
+# doing so since such a case is unlikely.
+FFMPEG_SUBSLOT=58.60.60
+
+SOC_PATCH="ffmpeg-rpi-6.1-r3.patch"
+
+SCM=""
+if [ "${PV#9999}" != "${PV}" ] ; then
+ SCM="git-r3"
+ EGIT_MIN_CLONE_TYPE="single"
+ EGIT_REPO_URI="https://git.ffmpeg.org/ffmpeg.git"
+fi
+
+inherit flag-o-matic multilib multilib-minimal toolchain-funcs ${SCM}
+
+DESCRIPTION="Complete solution to record/convert/stream audio and video. Includes libavcodec"
+HOMEPAGE="https://ffmpeg.org/"
+SRC_URI="soc? ( https://dev.gentoo.org/~chewi/distfiles/${SOC_PATCH} )"
+if [ "${PV#9999}" != "${PV}" ] ; then
+ :
+elif [ "${PV%_p*}" != "${PV}" ] ; then # Snapshot
+ SRC_URI+=" mirror://gentoo/${P}.tar.xz"
+else # Release
+ inherit verify-sig
+
+ SRC_URI+="
+ https://ffmpeg.org/releases/${P/_/-}.tar.xz
+ verify-sig? (
+ https://ffmpeg.org/releases/${P/_/-}.tar.xz.asc
+ soc? ( https://dev.gentoo.org/~chewi/distfiles/${SOC_PATCH}.asc )
+ )
+ "
+
+ BDEPEND="
+ verify-sig? (
+ sec-keys/openpgp-keys-ffmpeg
+ soc? ( sec-keys/openpgp-keys-gentoo-developers )
+ )
+ "
+
+ src_unpack() {
+ if use verify-sig; then
+ verify-sig_verify_detached "${DISTDIR}"/${P/_/-}.tar.xz{,.asc} /usr/share/openpgp-keys/ffmpeg.asc
+ use soc && verify-sig_verify_detached "${DISTDIR}"/${SOC_PATCH}{,.asc} /usr/share/openpgp-keys/gentoo-developers.asc
+ fi
+ default
+ }
+fi
+FFMPEG_REVISION="${PV#*_p}"
+
+SLOT="0/${FFMPEG_SUBSLOT}"
+LICENSE="
+ !gpl? ( LGPL-2.1 )
+ gpl? ( GPL-2 )
+ amr? (
+ gpl? ( GPL-3 )
+ !gpl? ( LGPL-3 )
+ )
+ gmp? (
+ gpl? ( GPL-3 )
+ !gpl? ( LGPL-3 )
+ )
+ libaribb24? (
+ gpl? ( GPL-3 )
+ !gpl? ( LGPL-3 )
+ )
+ encode? (
+ amrenc? (
+ gpl? ( GPL-3 )
+ !gpl? ( LGPL-3 )
+ )
+ )
+ samba? ( GPL-3 )
+"
+if [ "${PV#9999}" = "${PV}" ] ; then
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~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.
+# This will feed configure with $(use_enable foo bar)
+# or $(use_enable foo foo) if no :bar is set.
+# foo is added to IUSE.
+FFMPEG_FLAG_MAP=(
+ +bzip2:bzlib cpudetection:runtime-cpudetect debug gcrypt +gnutls gmp
+ +gpl hardcoded-tables +iconv libxml2 lzma +network opencl
+ openssl +postproc samba:libsmbclient sdl:ffplay sdl:sdl2 vaapi vdpau vulkan
+ X:xlib X:libxcb X:libxcb-shm X:libxcb-xfixes +zlib
+ # libavdevice options
+ cdio:libcdio iec61883:libiec61883 ieee1394:libdc1394 libcaca openal
+ opengl
+ # indevs
+ libv4l:libv4l2 pulseaudio:libpulse libdrm jack:libjack
+ # decoders
+ amr:libopencore-amrwb amr:libopencore-amrnb codec2:libcodec2 +dav1d:libdav1d fdk:libfdk-aac
+ jpeg2k:libopenjpeg jpegxl:libjxl bluray:libbluray gme:libgme gsm:libgsm
+ libaribb24 modplug:libmodplug opus:libopus qsv:libvpl libilbc librtmp ssh:libssh
+ speex:libspeex srt:libsrt svg:librsvg nvenc:ffnvcodec
+ vorbis:libvorbis vpx:libvpx zvbi:libzvbi
+ # libavfilter options
+ appkit
+ bs2b:libbs2b chromaprint cuda:cuda-llvm flite:libflite fontconfig frei0r
+ fribidi:libfribidi glslang:libglslang ladspa lcms:lcms2 libass libplacebo
+ libtesseract lv2 rubberband:librubberband shaderc:libshaderc truetype:libfreetype
+ truetype:libharfbuzz vidstab:libvidstab vmaf:libvmaf zeromq:libzmq zimg:libzimg
+ # libswresample options
+ libsoxr
+ # Threads; we only support pthread for now but ffmpeg supports more
+ +threads:pthreads
+)
+
+# Same as above but for encoders, i.e. they do something only with USE=encode.
+FFMPEG_ENCODER_FLAG_MAP=(
+ amf amrenc:libvo-amrwbenc kvazaar:libkvazaar libaom mp3:libmp3lame
+ openh264:libopenh264 rav1e:librav1e snappy:libsnappy svt-av1:libsvtav1
+ theora:libtheora twolame:libtwolame webp:libwebp x264:libx264
+ x265:libx265 xvid:libxvid
+)
+
+IUSE="
+ alsa chromium doc +encode oss +pic sndio static-libs test v4l soc
+ ${FFMPEG_FLAG_MAP[@]%:*}
+ ${FFMPEG_ENCODER_FLAG_MAP[@]%:*}
+"
+
+# Strings for CPU features in the useflag[:configure_option] form
+# if :configure_option isn't set, it will use 'useflag' as configure option
+ARM_CPU_FEATURES=(
+ cpu_flags_arm_thumb:armv5te
+ cpu_flags_arm_v6:armv6
+ cpu_flags_arm_thumb2:armv6t2
+ cpu_flags_arm_neon:neon
+ cpu_flags_arm_vfp:vfp
+ cpu_flags_arm_vfpv3:vfpv3
+ cpu_flags_arm_v8:armv8
+ cpu_flags_arm_asimddp:dotprod
+ cpu_flags_arm_i8mm:i8mm
+)
+ARM_CPU_REQUIRED_USE="
+ arm64? ( cpu_flags_arm_v8 )
+ cpu_flags_arm_v8? ( cpu_flags_arm_vfpv3 cpu_flags_arm_neon )
+ cpu_flags_arm_neon? (
+ cpu_flags_arm_vfp
+ arm? ( cpu_flags_arm_thumb2 )
+ )
+ cpu_flags_arm_vfpv3? ( cpu_flags_arm_vfp )
+ cpu_flags_arm_thumb2? ( cpu_flags_arm_v6 )
+ cpu_flags_arm_v6? (
+ arm? ( cpu_flags_arm_thumb )
+ )
+"
+MIPS_CPU_FEATURES=( mipsdspr1:mipsdsp mipsdspr2 mipsfpu )
+PPC_CPU_FEATURES=( cpu_flags_ppc_altivec:altivec cpu_flags_ppc_vsx:vsx cpu_flags_ppc_vsx2:power8 )
+PPC_CPU_REQUIRED_USE="
+ cpu_flags_ppc_vsx? ( cpu_flags_ppc_altivec )
+ cpu_flags_ppc_vsx2? ( cpu_flags_ppc_vsx )
+"
+X86_CPU_FEATURES_RAW=( 3dnow:amd3dnow 3dnowext:amd3dnowext aes:aesni avx:avx avx2:avx2 fma3:fma3 fma4:fma4 mmx:mmx
+ mmxext:mmxext sse:sse sse2:sse2 sse3:sse3 ssse3:ssse3 sse4_1:sse4 sse4_2:sse42 xop:xop )
+X86_CPU_FEATURES=( ${X86_CPU_FEATURES_RAW[@]/#/cpu_flags_x86_} )
+X86_CPU_REQUIRED_USE="
+ cpu_flags_x86_avx2? ( cpu_flags_x86_avx )
+ cpu_flags_x86_fma4? ( cpu_flags_x86_avx )
+ cpu_flags_x86_fma3? ( cpu_flags_x86_avx )
+ cpu_flags_x86_xop? ( cpu_flags_x86_avx )
+ cpu_flags_x86_avx? ( cpu_flags_x86_sse4_2 )
+ cpu_flags_x86_aes? ( cpu_flags_x86_sse4_2 )
+ cpu_flags_x86_sse4_2? ( cpu_flags_x86_sse4_1 )
+ cpu_flags_x86_sse4_1? ( cpu_flags_x86_ssse3 )
+ cpu_flags_x86_ssse3? ( cpu_flags_x86_sse3 )
+ cpu_flags_x86_sse3? ( cpu_flags_x86_sse2 )
+ cpu_flags_x86_sse2? ( cpu_flags_x86_sse )
+ cpu_flags_x86_sse? ( cpu_flags_x86_mmxext )
+ cpu_flags_x86_mmxext? ( cpu_flags_x86_mmx )
+ cpu_flags_x86_3dnowext? ( cpu_flags_x86_3dnow )
+ cpu_flags_x86_3dnow? ( cpu_flags_x86_mmx )
+"
+
+CPU_FEATURES_MAP=(
+ ${ARM_CPU_FEATURES[@]}
+ ${MIPS_CPU_FEATURES[@]}
+ ${PPC_CPU_FEATURES[@]}
+ ${X86_CPU_FEATURES[@]}
+)
+IUSE="${IUSE}
+ ${CPU_FEATURES_MAP[@]%:*}"
+
+CPU_REQUIRED_USE="
+ ${ARM_CPU_REQUIRED_USE}
+ ${PPC_CPU_REQUIRED_USE}
+ ${X86_CPU_REQUIRED_USE}
+"
+
+FFTOOLS=( aviocat cws2fws ffescape ffeval ffhash fourcc2pixfmt
+ graph2dot ismindex pktdumper qt-faststart sidxindex trasher )
+IUSE="${IUSE} ${FFTOOLS[@]/#/+fftools_}"
+
+RDEPEND="
+ alsa? ( >=media-libs/alsa-lib-1.0.27.2[${MULTILIB_USEDEP}] )
+ amf? ( media-video/amdgpu-pro-amf:= )
+ amr? ( >=media-libs/opencore-amr-0.1.3-r1[${MULTILIB_USEDEP}] )
+ bluray? ( >=media-libs/libbluray-0.3.0-r1:=[${MULTILIB_USEDEP}] )
+ bs2b? ( >=media-libs/libbs2b-3.1.0-r1[${MULTILIB_USEDEP}] )
+ bzip2? ( >=app-arch/bzip2-1.0.6-r4[${MULTILIB_USEDEP}] )
+ cdio? ( >=dev-libs/libcdio-paranoia-0.90_p1-r1[${MULTILIB_USEDEP}] )
+ chromaprint? ( >=media-libs/chromaprint-1.2-r1[${MULTILIB_USEDEP}] )
+ codec2? ( media-libs/codec2[${MULTILIB_USEDEP}] )
+ dav1d? ( >=media-libs/dav1d-0.5.0:0=[${MULTILIB_USEDEP}] )
+ encode? (
+ amrenc? ( >=media-libs/vo-amrwbenc-0.1.2-r1[${MULTILIB_USEDEP}] )
+ kvazaar? ( >=media-libs/kvazaar-2.0.0[${MULTILIB_USEDEP}] )
+ mp3? ( >=media-sound/lame-3.99.5-r1[${MULTILIB_USEDEP}] )
+ openh264? ( >=media-libs/openh264-1.4.0-r1:=[${MULTILIB_USEDEP}] )
+ rav1e? ( >=media-video/rav1e-0.5:=[capi] )
+ snappy? ( >=app-arch/snappy-1.1.2-r1:=[${MULTILIB_USEDEP}] )
+ theora? (
+ >=media-libs/libogg-1.3.0[${MULTILIB_USEDEP}]
+ >=media-libs/libtheora-1.1.1[encode,${MULTILIB_USEDEP}]
+ )
+ twolame? ( >=media-sound/twolame-0.3.13-r1[${MULTILIB_USEDEP}] )
+ webp? ( >=media-libs/libwebp-0.3.0:=[${MULTILIB_USEDEP}] )
+ x264? ( >=media-libs/x264-0.0.20130506:=[${MULTILIB_USEDEP}] )
+ x265? ( >=media-libs/x265-1.6:=[${MULTILIB_USEDEP}] )
+ xvid? ( >=media-libs/xvid-1.3.2-r1[${MULTILIB_USEDEP}] )
+ )
+ fdk? ( >=media-libs/fdk-aac-0.1.3:=[${MULTILIB_USEDEP}] )
+ flite? ( >=app-accessibility/flite-1.4-r4[${MULTILIB_USEDEP}] )
+ fontconfig? ( >=media-libs/fontconfig-2.10.92[${MULTILIB_USEDEP}] )
+ frei0r? ( media-plugins/frei0r-plugins[${MULTILIB_USEDEP}] )
+ fribidi? ( >=dev-libs/fribidi-0.19.6[${MULTILIB_USEDEP}] )
+ gcrypt? ( >=dev-libs/libgcrypt-1.6:0=[${MULTILIB_USEDEP}] )
+ glslang? ( dev-util/glslang:=[${MULTILIB_USEDEP}] )
+ gme? ( >=media-libs/game-music-emu-0.6.0[${MULTILIB_USEDEP}] )
+ gmp? ( >=dev-libs/gmp-6:0=[${MULTILIB_USEDEP}] )
+ gsm? ( >=media-sound/gsm-1.0.13-r1[${MULTILIB_USEDEP}] )
+ iconv? ( >=virtual/libiconv-0-r1[${MULTILIB_USEDEP}] )
+ iec61883? (
+ >=media-libs/libiec61883-1.2.0-r1[${MULTILIB_USEDEP}]
+ >=sys-libs/libraw1394-2.1.0-r1[${MULTILIB_USEDEP}]
+ >=sys-libs/libavc1394-0.5.4-r1[${MULTILIB_USEDEP}]
+ )
+ ieee1394? (
+ >=media-libs/libdc1394-2.2.1:2=[${MULTILIB_USEDEP}]
+ >=sys-libs/libraw1394-2.1.0-r1[${MULTILIB_USEDEP}]
+ )
+ jack? ( virtual/jack[${MULTILIB_USEDEP}] )
+ jpeg2k? ( >=media-libs/openjpeg-2.1:2=[${MULTILIB_USEDEP}] )
+ jpegxl? ( >=media-libs/libjxl-0.7.0:=[$MULTILIB_USEDEP] )
+ lcms? ( >=media-libs/lcms-2.13:2[$MULTILIB_USEDEP] )
+ libaom? ( >=media-libs/libaom-1.0.0-r1:=[${MULTILIB_USEDEP}] )
+ libaribb24? ( >=media-libs/aribb24-1.0.3-r2[${MULTILIB_USEDEP}] )
+ libass? ( >=media-libs/libass-0.11.0:=[${MULTILIB_USEDEP}] )
+ libcaca? ( >=media-libs/libcaca-0.99_beta18-r1[${MULTILIB_USEDEP}] )
+ libdrm? ( x11-libs/libdrm[${MULTILIB_USEDEP}] )
+ libilbc? ( >=media-libs/libilbc-2[${MULTILIB_USEDEP}] )
+ libplacebo? ( >=media-libs/libplacebo-4.192.0:=[$MULTILIB_USEDEP] )
+ librtmp? ( >=media-video/rtmpdump-2.4_p20131018[${MULTILIB_USEDEP}] )
+ libsoxr? ( >=media-libs/soxr-0.1.0[${MULTILIB_USEDEP}] )
+ libtesseract? ( >=app-text/tesseract-4.1.0-r1[${MULTILIB_USEDEP}] )
+ libv4l? ( >=media-libs/libv4l-0.9.5[${MULTILIB_USEDEP}] )
+ libxml2? ( dev-libs/libxml2:=[${MULTILIB_USEDEP}] )
+ lv2? ( media-libs/lv2[${MULTILIB_USEDEP}] media-libs/lilv[${MULTILIB_USEDEP}] )
+ lzma? ( >=app-arch/xz-utils-5.0.5-r1[${MULTILIB_USEDEP}] )
+ modplug? ( >=media-libs/libmodplug-0.8.8.4-r1[${MULTILIB_USEDEP}] )
+ openal? ( >=media-libs/openal-1.15.1[${MULTILIB_USEDEP}] )
+ opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
+ opengl? ( media-libs/libglvnd[X,${MULTILIB_USEDEP}] )
+ opus? ( >=media-libs/opus-1.0.2-r2[${MULTILIB_USEDEP}] )
+ pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] )
+ qsv? ( media-libs/libvpl[${MULTILIB_USEDEP}] )
+ rubberband? ( >=media-libs/rubberband-1.8.1-r1[${MULTILIB_USEDEP}] )
+ samba? ( >=net-fs/samba-3.6.23-r1[client,${MULTILIB_USEDEP}] )
+ sdl? ( media-libs/libsdl2[sound,video,${MULTILIB_USEDEP}] )
+ shaderc? ( media-libs/shaderc[${MULTILIB_USEDEP}] )
+ sndio? ( media-sound/sndio:=[${MULTILIB_USEDEP}] )
+ soc? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
+ speex? ( >=media-libs/speex-1.2_rc1-r1[${MULTILIB_USEDEP}] )
+ srt? ( >=net-libs/srt-1.3.0:=[${MULTILIB_USEDEP}] )
+ ssh? ( >=net-libs/libssh-0.6.0:=[sftp,${MULTILIB_USEDEP}] )
+ svg? (
+ gnome-base/librsvg:2=[${MULTILIB_USEDEP}]
+ x11-libs/cairo[${MULTILIB_USEDEP}]
+ )
+ nvenc? ( >=media-libs/nv-codec-headers-11.1.5.3 )
+ svt-av1? ( >=media-libs/svt-av1-0.9.0[${MULTILIB_USEDEP}] )
+ truetype? (
+ >=media-libs/freetype-2.5.0.1:2[${MULTILIB_USEDEP}]
+ media-libs/harfbuzz:=[${MULTILIB_USEDEP}]
+ )
+ vaapi? ( >=media-libs/libva-1.2.1-r1:0=[${MULTILIB_USEDEP}] )
+ vdpau? ( >=x11-libs/libvdpau-0.7[${MULTILIB_USEDEP}] )
+ vidstab? ( >=media-libs/vidstab-1.1.0[${MULTILIB_USEDEP}] )
+ vmaf? ( >=media-libs/libvmaf-2.0.0:=[${MULTILIB_USEDEP}] )
+ vorbis? (
+ >=media-libs/libvorbis-1.3.3-r1[${MULTILIB_USEDEP}]
+ >=media-libs/libogg-1.3.0[${MULTILIB_USEDEP}]
+ )
+ vpx? ( >=media-libs/libvpx-1.4.0:=[${MULTILIB_USEDEP}] )
+ vulkan? ( >=media-libs/vulkan-loader-1.3.255:=[${MULTILIB_USEDEP}] )
+ X? (
+ >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
+ >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}]
+ >=x11-libs/libXv-1.0.10[${MULTILIB_USEDEP}]
+ >=x11-libs/libxcb-1.4:=[${MULTILIB_USEDEP}]
+ )
+ zeromq? ( >=net-libs/zeromq-4.2.1:= )
+ zimg? ( >=media-libs/zimg-2.7.4:=[${MULTILIB_USEDEP}] )
+ zlib? ( >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] )
+ zvbi? ( >=media-libs/zvbi-0.2.35[${MULTILIB_USEDEP}] )
+"
+
+RDEPEND="${RDEPEND}
+ openssl? ( >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}] )
+ !openssl? ( gnutls? ( >=net-libs/gnutls-2.12.23-r6:=[${MULTILIB_USEDEP}] ) )
+"
+
+DEPEND="${RDEPEND}
+ amf? ( media-libs/amf-headers )
+ ladspa? ( >=media-libs/ladspa-sdk-1.13-r2[${MULTILIB_USEDEP}] )
+ v4l? ( sys-kernel/linux-headers )
+ vulkan? ( >=dev-util/vulkan-headers-1.3.255 )
+"
+
+# += for verify-sig above
+BDEPEND+="
+ >=dev-build/make-3.81
+ virtual/pkgconfig
+ cpu_flags_x86_mmx? ( || ( >=dev-lang/nasm-2.13 >=dev-lang/yasm-1.3 ) )
+ cuda? ( >=sys-devel/clang-7[llvm_targets_NVPTX] )
+ doc? ( sys-apps/texinfo )
+ test? ( net-misc/wget app-alternatives/bc )
+"
+
+# Code requiring FFmpeg to be built under gpl license
+GPL_REQUIRED_USE="
+ postproc? ( gpl )
+ frei0r? ( gpl )
+ cdio? ( gpl )
+ rubberband? ( gpl )
+ vidstab? ( gpl )
+ samba? ( gpl )
+ encode? (
+ x264? ( gpl )
+ x265? ( gpl )
+ xvid? ( gpl )
+ )
+"
+REQUIRED_USE="
+ chromium? ( opus )
+ cuda? ( nvenc )
+ fftools_cws2fws? ( zlib )
+ glslang? ( vulkan !shaderc )
+ libv4l? ( v4l )
+ shaderc? ( vulkan !glslang )
+ soc? ( libdrm )
+ test? ( encode )
+ ${GPL_REQUIRED_USE}
+ ${CPU_REQUIRED_USE}"
+RESTRICT="
+ !test? ( test )
+ gpl? ( openssl? ( bindist ) fdk? ( bindist ) )
+"
+
+S=${WORKDIR}/${P/_/-}
+
+PATCHES=(
+ "${FILESDIR}"/chromium-r2.patch
+ "${FILESDIR}"/${PN}-6.1-wint-conversion.patch
+ "${FILESDIR}"/${PN}-6.0-fix-lto-type-mismatch.patch
+ "${FILESDIR}"/${PN}-6.1-opencl-parallel-gmake-fix.patch
+ "${FILESDIR}"/${PN}-6.1-gcc-14.patch
+ "${FILESDIR}"/${PN}-6.0.1-alignment.patch
+ "${FILESDIR}"/${PN}-6.1.1-vulkan-rename.patch
+ "${FILESDIR}"/${PN}-6.1.1-memory-leak.patch
+)
+
+MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/libavutil/avconfig.h
+)
+
+pkg_setup() {
+ # ffmpeg[chromaprint] depends on chromaprint, and chromaprint[tools] depends on ffmpeg.
+ # May cause breakage while updating, #862996, #625210, #833821.
+ if has_version media-libs/chromaprint[tools] && use chromaprint; then
+ ewarn "You have media-libs/chromaprint installed with 'tools' USE flag, which "
+ ewarn "links to ffmpeg, and you have enabled 'chromaprint' USE flag for ffmpeg, "
+ ewarn "which links to chromaprint. This may cause issues while rebuilding ffmpeg."
+ ewarn ""
+ ewarn "If your build fails to 'ERROR: chromaprint not found', rebuild chromaprint "
+ ewarn "without the 'tools' use flag first, then rebuild ffmpeg, and then finally enable "
+ ewarn "'tools' USE flag for chromaprint. See #862996."
+ fi
+}
+
+src_prepare() {
+ if [[ "${PV%_p*}" != "${PV}" ]] ; then # Snapshot
+ export revision=git-N-${FFMPEG_REVISION}
+ fi
+
+ use soc &&
+ eapply "${DISTDIR}"/${SOC_PATCH}
+
+ default
+
+ # -fdiagnostics-color=auto gets appended after user flags which
+ # will ignore user's preference.
+ sed -i -e '/check_cflags -fdiagnostics-color=auto/d' configure || die
+
+ ln -snf "${FILESDIR}"/chromium.c chromium.c || die
+ echo 'include $(SRC_PATH)/ffbuild/libffmpeg.mak' >> Makefile || die
+}
+
+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 \
+ -fno-tree-dominator-opts \
+ -fno-tree-fre \
+ -fno-code-hoisting \
+ -fno-tree-pre \
+ -fno-tree-vrp
+
+ local ffuse=( "${FFMPEG_FLAG_MAP[@]}" )
+ use openssl && myconf+=( --enable-nonfree )
+ use samba && myconf+=( --enable-version3 )
+
+ # Encoders
+ if use encode ; then
+ ffuse+=( "${FFMPEG_ENCODER_FLAG_MAP[@]}" )
+
+ # Licensing.
+ if use amrenc ; then
+ myconf+=( --enable-version3 )
+ fi
+ else
+ myconf+=( --disable-encoders )
+ fi
+
+ # Indevs
+ use v4l || myconf+=( --disable-indev=v4l2 --disable-outdev=v4l2 )
+ for i in alsa oss jack sndio ; do
+ use ${i} || myconf+=( --disable-indev=${i} )
+ done
+
+ # Outdevs
+ for i in alsa oss sndio ; do
+ use ${i} || myconf+=( --disable-outdev=${i} )
+ done
+
+ # Decoders
+ use amr && myconf+=( --enable-version3 )
+ use gmp && myconf+=( --enable-version3 )
+ use libaribb24 && myconf+=( --enable-version3 )
+ use fdk && use gpl && myconf+=( --enable-nonfree )
+
+ for i in "${ffuse[@]#+}" ; do
+ myconf+=( $(use_enable ${i%:*} ${i#*:}) )
+ done
+
+ if use openssl ; then
+ myconf+=( --disable-gnutls )
+ has_version dev-libs/openssl:0/3 && myconf+=( --enable-version3 )
+ fi
+
+ # (temporarily) disable non-multilib deps
+ if ! multilib_is_native_abi; then
+ for i in librav1e libzmq ; do
+ myconf+=( --disable-${i} )
+ done
+ fi
+
+ # CPU features
+ for i in "${CPU_FEATURES_MAP[@]}" ; do
+ use ${i%:*} || myconf+=( --disable-${i#*:} )
+ done
+
+ if use pic ; then
+ myconf+=( --enable-pic )
+ # disable asm code if PIC is required
+ # as the provided asm decidedly is not PIC for x86.
+ [[ ${ABI} == x86 ]] && myconf+=( --disable-asm )
+ fi
+ [[ ${ABI} == x32 ]] && myconf+=( --disable-asm ) #427004
+
+ # Try to get cpu type based on CFLAGS.
+ # Bug #172723
+ # We need to do this so that features of that CPU will be better used
+ # If they contain an unknown CPU it will not hurt since ffmpeg's configure
+ # will just ignore it.
+ for i in $(get-flag mcpu) $(get-flag march) ; do
+ [[ ${i} = native ]] && i="host" # bug #273421
+ myconf+=( --cpu=${i} )
+ break
+ done
+
+ # LTO support, bug #566282, bug #754654, bug #772854
+ if [[ ${ABI} != x86 ]] && 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
+ # interfere with proper detections, bug #671746 and bug #645778
+ # We use optflags, so that overrides them anyway.
+ --disable-optimizations
+ --disable-libcelt # bug #664158
+ "${myconf[@]}"
+ )
+
+ # cross compile support
+ if tc-is-cross-compiler ; then
+ myconf+=( --enable-cross-compile --arch=$(tc-arch-kernel) --cross-prefix=${CHOST}- --host-cc="$(tc-getBUILD_CC)" )
+ case ${CHOST} in
+ *mingw32*)
+ myconf+=( --target-os=mingw32 )
+ ;;
+ *linux*)
+ myconf+=( --target-os=linux )
+ ;;
+ esac
+ fi
+
+ # doc
+ myconf+=(
+ $(multilib_native_use_enable doc)
+ $(multilib_native_use_enable doc htmlpages)
+ $(multilib_native_enable manpages)
+ )
+
+ # Use --extra-libs if needed for LIBS
+ set -- "${S}/configure" \
+ --prefix="${EPREFIX}/usr" \
+ --libdir="${EPREFIX}/usr/$(get_libdir)" \
+ --shlibdir="${EPREFIX}/usr/$(get_libdir)" \
+ --docdir="${EPREFIX}/usr/share/doc/${PF}/html" \
+ --mandir="${EPREFIX}/usr/share/man" \
+ --enable-shared \
+ --cc="$(tc-getCC)" \
+ --cxx="$(tc-getCXX)" \
+ --ar="$(tc-getAR)" \
+ --nm="$(tc-getNM)" \
+ --strip="$(tc-getSTRIP)" \
+ --ranlib="$(tc-getRANLIB)" \
+ --pkg-config="$(tc-getPKG_CONFIG)" \
+ --optflags="${CFLAGS}" \
+ $(use_enable static-libs static) \
+ "${myconf[@]}" \
+ ${EXTRA_FFMPEG_CONF}
+ echo "${@}"
+ "${@}" || die
+}
+
+multilib_src_compile() {
+ emake V=1
+
+ if multilib_is_native_abi; then
+ for i in "${FFTOOLS[@]}" ; do
+ if use fftools_${i} ; then
+ emake V=1 tools/${i}$(get_exeext)
+ fi
+ done
+
+ use chromium &&
+ emake V=1 libffmpeg
+ fi
+}
+
+multilib_src_test() {
+ LD_LIBRARY_PATH="${BUILD_DIR}/libpostproc:${BUILD_DIR}/libswscale:${BUILD_DIR}/libswresample:${BUILD_DIR}/libavcodec:${BUILD_DIR}/libavdevice:${BUILD_DIR}/libavfilter:${BUILD_DIR}/libavformat:${BUILD_DIR}/libavutil" \
+ emake V=1 fate -k
+}
+
+multilib_src_install() {
+ emake V=1 DESTDIR="${D}" install install-doc
+
+ if multilib_is_native_abi; then
+ for i in "${FFTOOLS[@]}" ; do
+ if use fftools_${i} ; then
+ dobin tools/${i}$(get_exeext)
+ fi
+ done
+
+ use chromium &&
+ emake V=1 DESTDIR="${D}" install-libffmpeg
+ fi
+}
+
+multilib_src_install_all() {
+ dodoc Changelog README.md CREDITS doc/*.txt doc/APIchanges
+ [ -f "RELEASE_NOTES" ] && dodoc "RELEASE_NOTES"
+
+ use amf && elog "To use AMF, prefix the ffmpeg call with the 'vk_pro' wrapper script, e.g. `vk_pro ffmpeg -vcodec h264_amf [...]`"
+}
diff --git a/media-video/ffmpeg/ffmpeg-9999.ebuild b/media-video/ffmpeg/ffmpeg-9999.ebuild
index 21212b25c0a4..867a4147d174 100644
--- a/media-video/ffmpeg/ffmpeg-9999.ebuild
+++ b/media-video/ffmpeg/ffmpeg-9999.ebuild
@@ -1,7 +1,7 @@
-# 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
# 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=57.59.59
+FFMPEG_SUBSLOT=58.60.60
+
+SOC_PATCH="ffmpeg-rpi-6.1-r3.patch"
SCM=""
if [ "${PV#9999}" != "${PV}" ] ; then
@@ -25,12 +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"
+ 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}"
@@ -59,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.
@@ -78,15 +104,16 @@ FFMPEG_FLAG_MAP=(
libv4l:libv4l2 pulseaudio:libpulse libdrm jack:libjack
# decoders
amr:libopencore-amrwb amr:libopencore-amrnb codec2:libcodec2 +dav1d:libdav1d fdk:libfdk-aac
- jpeg2k:libopenjpeg bluray:libbluray gme:libgme gsm:libgsm
- libaribb24 mmal modplug:libmodplug opus:libopus libilbc librtmp ssh:libssh
- speex:libspeex srt:libsrt svg:librsvg video_cards_nvidia:ffnvcodec
+ 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
@@ -95,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 rav1e:librav1e snappy:libsnappy theora:libtheora twolame:libtwolame
- 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 sndio static-libs test v4l
+ alsa chromium doc +encode oss +pic sndio static-libs test v4l soc
${FFMPEG_FLAG_MAP[@]%:*}
${FFMPEG_ENCODER_FLAG_MAP[@]%:*}
"
@@ -117,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 )
@@ -132,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 )
@@ -167,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}] )
@@ -179,17 +216,17 @@ 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/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}] )
webp? ( >=media-libs/libwebp-0.3.0:=[${MULTILIB_USEDEP}] )
@@ -203,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}] )
@@ -217,13 +255,16 @@ RDEPEND="
>=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}] )
@@ -231,61 +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}] )
- vaapi? ( >=x11-libs/libva-1.2.1-r1:0=[${MULTILIB_USEDEP}] )
- video_cards_nvidia? ( >=media-libs/nv-codec-headers-9.1.23.1[${MULTILIB_USEDEP}] )
+ ssh? ( >=net-libs/libssh-0.6.0:=[sftp,${MULTILIB_USEDEP}] )
+ svg? (
+ gnome-base/librsvg:2=[${MULTILIB_USEDEP}]
+ x11-libs/cairo[${MULTILIB_USEDEP}]
+ )
+ nvenc? ( >=media-libs/nv-codec-headers-11.1.5.3 )
+ svt-av1? ( >=media-libs/svt-av1-0.9.0[${MULTILIB_USEDEP}] )
+ truetype? (
+ >=media-libs/freetype-2.5.0.1:2[${MULTILIB_USEDEP}]
+ media-libs/harfbuzz:=[${MULTILIB_USEDEP}]
+ )
+ vaapi? ( >=media-libs/libva-1.2.1-r1:0=[${MULTILIB_USEDEP}] )
vdpau? ( >=x11-libs/libvdpau-0.7[${MULTILIB_USEDEP}] )
vidstab? ( >=media-libs/vidstab-1.1.0[${MULTILIB_USEDEP}] )
+ vmaf? ( >=media-libs/libvmaf-2.0.0:=[${MULTILIB_USEDEP}] )
vorbis? (
>=media-libs/libvorbis-1.3.3-r1[${MULTILIB_USEDEP}]
>=media-libs/libogg-1.3.0[${MULTILIB_USEDEP}]
)
vpx? ( >=media-libs/libvpx-1.4.0:=[${MULTILIB_USEDEP}] )
- vulkan? ( >=media-libs/vulkan-loader-1.1.97:=[${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}]
+ >=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.277 )
"
-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
@@ -303,10 +357,15 @@ GPL_REQUIRED_USE="
)
"
REQUIRED_USE="
- cuda? ( video_cards_nvidia )
- libv4l? ( v4l )
+ chromium? ( opus )
+ cuda? ( nvenc )
fftools_cws2fws? ( zlib )
+ glslang? ( vulkan !shaderc )
+ libv4l? ( v4l )
+ shaderc? ( vulkan !glslang )
+ soc? ( libdrm )
test? ( encode )
+ vulkan? ( threads )
${GPL_REQUIRED_USE}
${CPU_REQUIRED_USE}"
RESTRICT="
@@ -317,28 +376,61 @@ 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.
+ 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=( )
+ # Conditional patch options
+ use soc && myconf+=( --enable-v4l2-request --enable-libudev --enable-sand )
+
+ # bug 842201
+ use ia64 && tc-is-gcc && append-flags \
+ -fno-tree-ccp \
+ -fno-tree-dominator-opts \
+ -fno-tree-fre \
+ -fno-code-hoisting \
+ -fno-tree-pre \
+ -fno-tree-vrp
+
local ffuse=( "${FFMPEG_FLAG_MAP[@]}" )
use openssl && myconf+=( --enable-nonfree )
use samba && myconf+=( --enable-version3 )
@@ -378,6 +470,7 @@ 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
@@ -411,12 +504,17 @@ multilib_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=(
+ --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
@@ -431,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 )
;;
@@ -450,6 +545,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)" \
@@ -461,6 +557,7 @@ multilib_src_configure() {
--cxx="$(tc-getCXX)" \
--ar="$(tc-getAR)" \
--nm="$(tc-getNM)" \
+ --strip="$(tc-getSTRIP)" \
--ranlib="$(tc-getRANLIB)" \
--pkg-config="$(tc-getPKG_CONFIG)" \
--optflags="${CFLAGS}" \
@@ -469,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() {
@@ -495,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() {
@@ -523,24 +598,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"
+
+ use amf && newenvd "${FILESDIR}"/amf-env-vulkan-override 99amf-env-vulkan-override
}
diff --git a/media-video/ffmpeg/files/amf-env-vulkan-override b/media-video/ffmpeg/files/amf-env-vulkan-override
new file mode 100644
index 000000000000..41ee27911178
--- /dev/null
+++ b/media-video/ffmpeg/files/amf-env-vulkan-override
@@ -0,0 +1 @@
+VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/amd_pro_icd64.json
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.3-altivec-novsx-yuv2rgb.patch b/media-video/ffmpeg/files/ffmpeg-4.3-altivec-novsx-yuv2rgb.patch
deleted file mode 100644
index 40e7f9161726..000000000000
--- a/media-video/ffmpeg/files/ffmpeg-4.3-altivec-novsx-yuv2rgb.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-Fixes build on ppc.
-https://trac.ffmpeg.org/attachment/ticket/8750/ffmpeg_altivec_yuv2rgb_novsx.patch
-diff --git a/libswscale/ppc/yuv2rgb_altivec.c b/libswscale/ppc/yuv2rgb_altivec.c
-index 536545293d..930ef6b98f 100644
---- a/libswscale/ppc/yuv2rgb_altivec.c
-+++ b/libswscale/ppc/yuv2rgb_altivec.c
-@@ -283,6 +283,16 @@ static inline void cvtyuvtoRGB(SwsContext *c, vector signed short Y,
- * ------------------------------------------------------------------------------
- */
-
-+#if !HAVE_VSX
-+static inline vector unsigned char vec_xl(signed long long offset, const ubyte *addr)
-+{
-+ const vector unsigned char *v_addr = (const vector unsigned char *) (addr + offset);
-+ vector unsigned char align_perm = vec_lvsl(offset, addr);
-+
-+ return (vector unsigned char) vec_perm(v_addr[0], v_addr[1], align_perm);
-+}
-+#endif /* !HAVE_VSX */
-+
- #define DEFCSP420_CVT(name, out_pixels) \
- static int altivec_ ## name(SwsContext *c, const unsigned char **in, \
- int *instrides, int srcSliceY, int srcSliceH, \
diff --git a/media-video/ffmpeg/files/ffmpeg-4.3-fix-build-without-SSSE3.patch b/media-video/ffmpeg/files/ffmpeg-4.3-fix-build-without-SSSE3.patch
deleted file mode 100644
index c3e6733160f6..000000000000
--- a/media-video/ffmpeg/files/ffmpeg-4.3-fix-build-without-SSSE3.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-https://bugs.gentoo.org/728566
-http://ffmpeg.org/pipermail/ffmpeg-devel/2020-February/257474.html
-
---- a/libswscale/x86/yuv2rgb.c
-+++ b/libswscale/x86/yuv2rgb.c
-@@ -83,6 +83,7 @@ av_cold SwsFunc ff_yuv2rgb_init_x86(SwsContext *c)
- #if HAVE_X86ASM
- int cpu_flags = av_get_cpu_flags();
-
-+#if HAVE_SSSE3
- if (EXTERNAL_SSSE3(cpu_flags)) {
- switch (c->dstFormat) {
- case AV_PIX_FMT_RGB32:
-@@ -111,6 +112,7 @@ av_cold SwsFunc ff_yuv2rgb_init_x86(SwsContext *c)
- return yuv420_rgb15_ssse3;
- }
- }
-+#endif
-
- if (EXTERNAL_MMXEXT(cpu_flags)) {
- switch (c->dstFormat) {
-
diff --git a/media-video/ffmpeg/files/ffmpeg-4.3.1-srt-1.4.2-build.patch b/media-video/ffmpeg/files/ffmpeg-4.3.1-srt-1.4.2-build.patch
deleted file mode 100644
index 691314cbacb8..000000000000
--- a/media-video/ffmpeg/files/ffmpeg-4.3.1-srt-1.4.2-build.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-http://git.videolan.org/?p=ffmpeg.git;a=patch;h=7c59e1b0f285cd7c7b35fcd71f49c5fd52cf9315
-https://bugs.gentoo.org/756859
-From 7c59e1b0f285cd7c7b35fcd71f49c5fd52cf9315 Mon Sep 17 00:00:00 2001
-From: Jun Zhao <barryjzhao@tencent.com>
-Date: Sun, 12 Jul 2020 13:48:48 +0800
-Subject: [PATCH] lavf/srt: fix build fail when used the libsrt 1.4.1
-
-libsrt changed the:
-SRTO_SMOOTHER -> SRTO_CONGESTION
-SRTO_STRICTENC -> SRTO_ENFORCEDENCRYPTION
-and removed the front of deprecated options (SRTO_SMOOTHER/SRTO_STRICTENC)
-in the header, it's lead to build fail
-
-fix #8760
-
-Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
----
- libavformat/libsrt.c | 8 ++++++++
- 1 file changed, 8 insertions(+)
-
-diff --git a/libavformat/libsrt.c b/libavformat/libsrt.c
-index 4de575b37c..4719ce0d4b 100644
---- a/libavformat/libsrt.c
-+++ b/libavformat/libsrt.c
-@@ -313,8 +313,12 @@ static int libsrt_set_options_pre(URLContext *h, int fd)
- (s->pbkeylen >= 0 && libsrt_setsockopt(h, fd, SRTO_PBKEYLEN, "SRTO_PBKEYLEN", &s->pbkeylen, sizeof(s->pbkeylen)) < 0) ||
- (s->passphrase && libsrt_setsockopt(h, fd, SRTO_PASSPHRASE, "SRTO_PASSPHRASE", s->passphrase, strlen(s->passphrase)) < 0) ||
- #if SRT_VERSION_VALUE >= 0x010302
-+#if SRT_VERSION_VALUE >= 0x010401
-+ (s->enforced_encryption >= 0 && libsrt_setsockopt(h, fd, SRTO_ENFORCEDENCRYPTION, "SRTO_ENFORCEDENCRYPTION", &s->enforced_encryption, sizeof(s->enforced_encryption)) < 0) ||
-+#else
- /* SRTO_STRICTENC == SRTO_ENFORCEDENCRYPTION (53), but for compatibility, we used SRTO_STRICTENC */
- (s->enforced_encryption >= 0 && libsrt_setsockopt(h, fd, SRTO_STRICTENC, "SRTO_STRICTENC", &s->enforced_encryption, sizeof(s->enforced_encryption)) < 0) ||
-+#endif
- (s->kmrefreshrate >= 0 && libsrt_setsockopt(h, fd, SRTO_KMREFRESHRATE, "SRTO_KMREFRESHRATE", &s->kmrefreshrate, sizeof(s->kmrefreshrate)) < 0) ||
- (s->kmpreannounce >= 0 && libsrt_setsockopt(h, fd, SRTO_KMPREANNOUNCE, "SRTO_KMPREANNOUNCE", &s->kmpreannounce, sizeof(s->kmpreannounce)) < 0) ||
- #endif
-@@ -333,7 +337,11 @@ static int libsrt_set_options_pre(URLContext *h, int fd)
- (s->lossmaxttl >= 0 && libsrt_setsockopt(h, fd, SRTO_LOSSMAXTTL, "SRTO_LOSSMAXTTL", &s->lossmaxttl, sizeof(s->lossmaxttl)) < 0) ||
- (s->minversion >= 0 && libsrt_setsockopt(h, fd, SRTO_MINVERSION, "SRTO_MINVERSION", &s->minversion, sizeof(s->minversion)) < 0) ||
- (s->streamid && libsrt_setsockopt(h, fd, SRTO_STREAMID, "SRTO_STREAMID", s->streamid, strlen(s->streamid)) < 0) ||
-+#if SRT_VERSION_VALUE >= 0x010401
-+ (s->smoother && libsrt_setsockopt(h, fd, SRTO_CONGESTION, "SRTO_CONGESTION", s->smoother, strlen(s->smoother)) < 0) ||
-+#else
- (s->smoother && libsrt_setsockopt(h, fd, SRTO_SMOOTHER, "SRTO_SMOOTHER", s->smoother, strlen(s->smoother)) < 0) ||
-+#endif
- (s->messageapi >= 0 && libsrt_setsockopt(h, fd, SRTO_MESSAGEAPI, "SRTO_MESSAGEAPI", &s->messageapi, sizeof(s->messageapi)) < 0) ||
- (s->payload_size >= 0 && libsrt_setsockopt(h, fd, SRTO_PAYLOADSIZE, "SRTO_PAYLOADSIZE", &s->payload_size, sizeof(s->payload_size)) < 0) ||
- ((h->flags & AVIO_FLAG_WRITE) && libsrt_setsockopt(h, fd, SRTO_SENDER, "SRTO_SENDER", &yes, sizeof(yes)) < 0)) {
---
-2.20.1
-
diff --git a/media-video/ffmpeg/files/ffmpeg-4.4.3-clang-14-ff_seek_frame_binary-crash.patch b/media-video/ffmpeg/files/ffmpeg-4.4.3-clang-14-ff_seek_frame_binary-crash.patch
new file mode 100644
index 000000000000..c8733ea2382f
--- /dev/null
+++ b/media-video/ffmpeg/files/ffmpeg-4.4.3-clang-14-ff_seek_frame_binary-crash.patch
@@ -0,0 +1,46 @@
+https://github.com/FFmpeg/FFmpeg/commit/ab792634197e364ca1bb194f9abe36836e42f12d
+
+(Rebased for 4.4.x in Gentoo.)
+
+From ab792634197e364ca1bb194f9abe36836e42f12d Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Martin=20Storsj=C3=B6?= <martin@martin.st>
+Date: Mon, 18 Oct 2021 12:31:38 +0300
+Subject: [PATCH] seek: Fix crashes in ff_seek_frame_binary if built with
+ latest Clang 14
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Passing an uninitialized variable as argument to a function is
+undefined behaviour (UB). The compiler can assume that UB does not
+happen.
+
+Hence, the compiler can assume that the variables are never
+uninitialized when passed as argument, which means that the codepaths
+that initializes them must be taken.
+
+In ff_seek_frame_binary, this means that the compiler can assume
+that the codepaths that initialize pos_min and pos_max are taken,
+which means that the conditions "if (sti->index_entries)" and
+"if (index >= 0)" can be optimized out.
+
+Current Clang git versions (upcoming Clang 14) enabled an optimization
+that does this, which broke the current version of this function
+(which intentionally left the variables uninitialized, but silencing
+warnings about being uninitialized). See [1] for discussion on
+the matter.
+
+[1] https://reviews.llvm.org/D105169#3069555
+
+Signed-off-by: Martin Storsjö <martin@martin.st>
+--- a/libavformat/utils.c
++++ b/libavformat/utils.c
+@@ -2146,7 +2146,7 @@ int ff_seek_frame_binary(AVFormatContext *s, int stream_index,
+ int64_t target_ts, int flags)
+ {
+ const AVInputFormat *avif = s->iformat;
+- int64_t av_uninit(pos_min), av_uninit(pos_max), pos, pos_limit;
++ int64_t pos_min = 0, pos_max = 0, pos, pos_limit;
+ int64_t ts_min, ts_max, ts;
+ int index;
+ int64_t ret;
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.0-backport-ranlib-build-fix.patch b/media-video/ffmpeg/files/ffmpeg-5.0-backport-ranlib-build-fix.patch
new file mode 100644
index 000000000000..1c264f752099
--- /dev/null
+++ b/media-video/ffmpeg/files/ffmpeg-5.0-backport-ranlib-build-fix.patch
@@ -0,0 +1,59 @@
+From bc5ccea3b9d2c71929af6271bd8afe9b6cfab436 Mon Sep 17 00:00:00 2001
+From: Adrian Ratiu <adrian.ratiu@collabora.com>
+Date: Mon, 14 Feb 2022 15:00:07 +0200
+Subject: [PATCH] configure: move ranlib -D test after setting defaults
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Upstream-Status: Backport [from master bc5ccea3b9d2c7]
+
+In Gentoo and ChromeOS we want to allow pure LLVM builds without
+using GNU tools, so we block any unwanted mixed GNU/LLVM usages
+(GNU tools are still kept around in our chroots for projects
+like glibc which cannot yet be built otherwise).
+
+The default ${cross_prefix}${ranlib_default} points to GNU and
+fails, so move the test a bit later - after the defaults are
+set and the proper values get overriden - such that ffmpeg
+configure calls the llvm-ranlib we desire. [1]
+
+[1] https://gitweb.gentoo.org/repo/gentoo.git/tree/media-video/ffmpeg/ffmpeg-4.4.1-r1.ebuild?id=7a34377e3277a6a0e2eedd40e90452a44c55f1e6#n477
+
+Signed-off-by: Adrian Ratiu <adrian.ratiu@collabora.com>
+Signed-off-by: Martin Storsjö <martin@martin.st>
+---
+ configure | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/configure b/configure
+index 7d22c2a345..82642deabe 100755
+--- a/configure
++++ b/configure
+@@ -4403,11 +4403,7 @@ cc_default="${cross_prefix}${cc_default}"
+ cxx_default="${cross_prefix}${cxx_default}"
+ nm_default="${cross_prefix}${nm_default}"
+ pkg_config_default="${cross_prefix}${pkg_config_default}"
+-if ${cross_prefix}${ranlib_default} 2>&1 | grep -q "\-D "; then
+- ranlib_default="${cross_prefix}${ranlib_default} -D"
+-else
+- ranlib_default="${cross_prefix}${ranlib_default}"
+-fi
++ranlib_default="${cross_prefix}${ranlib_default}"
+ strip_default="${cross_prefix}${strip_default}"
+ windres_default="${cross_prefix}${windres_default}"
+
+@@ -4440,6 +4436,10 @@ set_default arch cc cxx doxygen pkg_config ranlib strip sysinclude \
+ enabled cross_compile || host_cc_default=$cc
+ set_default host_cc
+
++if ${ranlib} 2>&1 | grep -q "\-D "; then
++ ranlib="${ranlib} -D"
++fi
++
+ pkg_config_fail_message=""
+ if ! $pkg_config --version >/dev/null 2>&1; then
+ warn "$pkg_config not found, library detection may fail."
+--
+2.35.1
+
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-memory-leak.patch b/media-video/ffmpeg/files/ffmpeg-6.1.1-memory-leak.patch
new file mode 100644
index 000000000000..d02522b3a3a4
--- /dev/null
+++ b/media-video/ffmpeg/files/ffmpeg-6.1.1-memory-leak.patch
@@ -0,0 +1,129 @@
+https://bugs.gentoo.org/931059
+https://ffmpeg.org//pipermail/ffmpeg-devel/2024-May/326569.html
+https://git.videolan.org/?p=ffmpeg.git;a=commit;h=670c823406612697b394d4933e03d3e1a176474f
+https://git.videolan.org/?p=ffmpeg.git;a=commit;h=1606aab99bd84f0040fb0fa6ccccb092941f01ec
+
+From 670c823406612697b394d4933e03d3e1a176474f Mon Sep 17 00:00:00 2001
+From: Paul B Mahol <onemda@gmail.com>
+Date: Fri, 27 Oct 2023 14:26:50 +0200
+Subject: [PATCH] avfilter/buffersrc: switch to activate
+
+Fixes OOM when caller keeps adding frames into filtergraph
+that reached EOF by other means, for example EOF is signalled
+by other filter in filtergraph or by buffersink.
+
+(cherry picked from commit 84e400ae37b1e2849a3ead399ef86c808356cdd6)
+--- a/libavfilter/buffersrc.c
++++ b/libavfilter/buffersrc.c
+@@ -36,6 +36,7 @@
+ #include "audio.h"
+ #include "avfilter.h"
+ #include "buffersrc.h"
++#include "filters.h"
+ #include "formats.h"
+ #include "internal.h"
+ #include "video.h"
+@@ -194,7 +195,7 @@ FF_ENABLE_DEPRECATION_WARNINGS
+ if (!frame)
+ return av_buffersrc_close(ctx, s->last_pts, flags);
+ if (s->eof)
+- return AVERROR(EINVAL);
++ return AVERROR_EOF;
+
+ s->last_pts = frame->pts + frame->duration;
+
+@@ -484,21 +485,28 @@ static int config_props(AVFilterLink *link)
+ return 0;
+ }
+
+-static int request_frame(AVFilterLink *link)
++static int activate(AVFilterContext *ctx)
+ {
+- BufferSourceContext *c = link->src->priv;
++ AVFilterLink *outlink = ctx->outputs[0];
++ BufferSourceContext *c = ctx->priv;
+
+- if (c->eof)
+- return AVERROR_EOF;
++ if (!c->eof && ff_outlink_get_status(outlink)) {
++ c->eof = 1;
++ return 0;
++ }
++
++ if (c->eof) {
++ ff_outlink_set_status(outlink, AVERROR_EOF, c->last_pts);
++ return 0;
++ }
+ c->nb_failed_requests++;
+- return AVERROR(EAGAIN);
++ return FFERROR_NOT_READY;
+ }
+
+ static const AVFilterPad avfilter_vsrc_buffer_outputs[] = {
+ {
+ .name = "default",
+ .type = AVMEDIA_TYPE_VIDEO,
+- .request_frame = request_frame,
+ .config_props = config_props,
+ },
+ };
+@@ -507,7 +515,7 @@ const AVFilter ff_vsrc_buffer = {
+ .name = "buffer",
+ .description = NULL_IF_CONFIG_SMALL("Buffer video frames, and make them accessible to the filterchain."),
+ .priv_size = sizeof(BufferSourceContext),
+-
++ .activate = activate,
+ .init = init_video,
+ .uninit = uninit,
+
+@@ -521,7 +529,6 @@ static const AVFilterPad avfilter_asrc_abuffer_outputs[] = {
+ {
+ .name = "default",
+ .type = AVMEDIA_TYPE_AUDIO,
+- .request_frame = request_frame,
+ .config_props = config_props,
+ },
+ };
+@@ -530,7 +537,7 @@ const AVFilter ff_asrc_abuffer = {
+ .name = "abuffer",
+ .description = NULL_IF_CONFIG_SMALL("Buffer audio frames, and make them accessible to the filterchain."),
+ .priv_size = sizeof(BufferSourceContext),
+-
++ .activate = activate,
+ .init = init_audio,
+ .uninit = uninit,
+
+--
+2.30.2
+
+From 1606aab99bd84f0040fb0fa6ccccb092941f01ec Mon Sep 17 00:00:00 2001
+From: Paul B Mahol <onemda@gmail.com>
+Date: Fri, 1 Dec 2023 16:59:07 +0100
+Subject: [PATCH] avfilter/avfilter: fix OOM case for default activate
+
+Fixes OOM when caller keeps adding frames into filtergraph
+that reached EOF by other means, for example EOF is signalled
+by other filter in filtergraph or by buffersink.
+
+(cherry picked from commit d9e41ead82263e96ebd14d4d88d6e7f858dd944c)
+--- a/libavfilter/avfilter.c
++++ b/libavfilter/avfilter.c
+@@ -1167,6 +1167,16 @@ static int ff_filter_activate_default(AVFilterContext *filter)
+ {
+ unsigned i;
+
++ for (i = 0; i < filter->nb_outputs; i++) {
++ int ret = filter->outputs[i]->status_in;
++
++ if (ret) {
++ for (int j = 0; j < filter->nb_inputs; j++)
++ ff_inlink_set_status(filter->inputs[j], ret);
++ return 0;
++ }
++ }
++
+ for (i = 0; i < filter->nb_inputs; i++) {
+ if (samples_ready(filter->inputs[i], filter->inputs[i]->min_samples)) {
+ return ff_filter_frame_to_filter(filter->inputs[i]);
+--
+2.30.2
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/files/vmaf-models-default-path.patch b/media-video/ffmpeg/files/vmaf-models-default-path.patch
new file mode 100644
index 000000000000..a9777e94b7aa
--- /dev/null
+++ b/media-video/ffmpeg/files/vmaf-models-default-path.patch
@@ -0,0 +1,13 @@
+Put default path of models to /usr/share/vmaf/model
+
+--- a/libavfilter/vf_libvmaf.c
++++ b/libavfilter/vf_libvmaf.c
+@@ -72,7 +72,7 @@ typedef struct LIBVMAFContext {
+ #define FLAGS AV_OPT_FLAG_FILTERING_PARAM|AV_OPT_FLAG_VIDEO_PARAM
+
+ static const AVOption libvmaf_options[] = {
+- {"model_path", "Set the model to be used for computing vmaf.", OFFSET(model_path), AV_OPT_TYPE_STRING, {.str="/usr/local/share/model/vmaf_v0.6.1.pkl"}, 0, 1, FLAGS},
++ {"model_path", "Set the model to be used for computing vmaf.", OFFSET(model_path), AV_OPT_TYPE_STRING, {.str="/usr/share/vmaf/model/vmaf_v0.6.1.json"}, 0, 1, FLAGS},
+ {"log_path", "Set the file path to be used to store logs.", OFFSET(log_path), AV_OPT_TYPE_STRING, {.str=NULL}, 0, 1, FLAGS},
+ {"log_fmt", "Set the format of the log (xml or json).", OFFSET(log_fmt), AV_OPT_TYPE_STRING, {.str=NULL}, 0, 1, FLAGS},
+ {"enable_transform", "Enables transform for computing vmaf.", OFFSET(enable_transform), AV_OPT_TYPE_BOOL, {.i64=0}, 0, 1, FLAGS},
diff --git a/media-video/ffmpeg/metadata.xml b/media-video/ffmpeg/metadata.xml
index be0716e194db..31380f3cda3d 100644
--- a/media-video/ffmpeg/metadata.xml
+++ b/media-video/ffmpeg/metadata.xml
@@ -1,70 +1,96 @@
<?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="amr">Enables Adaptive Multi-Rate Audio support</flag>
- <flag name="amrenc">Enables Adaptive Multi-Rate Audio encoding support with <pkg>media-libs/vo-amrwbenc</pkg>.</flag>
- <flag name="appkit">Enables Apple AppKit framework</flag>
- <flag name="bluray">Enable playback of Blu-ray filesystems</flag>
- <flag name="bs2b">Enables <pkg>media-libs/libbs2b</pkg> based Bauer stereo-to-binaural filter.</flag>
- <flag name="cdio">Enables audio CD grabbing with <pkg>dev-libs/libcdio</pkg>.</flag>
- <flag name="chromaprint">Enables audio fingerprinting support with <pkg>media-libs/chromaprint</pkg>.</flag>
- <flag name="chromium">Builds libffmpeg.so to enable media playback in Chromium-based browsers like Opera and Vivaldi.</flag>
- <flag name="codec2">Enables codec2 low bit rate speech codec support via <pkg>media-libs/codec2</pkg>.</flag>
- <flag name="cpudetection">Enables runtime CPU detection (useful for bindist, compatibility on other CPUs)</flag>
- <flag name="cuda">Enables CUDA-based acceleration. Mostly used for specific filters.</flag>
- <flag name="dav1d">Enables AV1 decoding via <pkg>media-libs/dav1d</pkg>.</flag>
- <flag name="fdk">Use external fdk-aac library for AAC encoding</flag>
- <flag name="flite">Adds a text-to-speech filter based on <pkg>app-accessibility/flite</pkg>.</flag>
- <flag name="frei0r">Enable frei0r wrapping in libavfilter</flag>
- <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="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.</flag>
- <flag name="iec61883"> Support for FireWire DV/HDV input device using <pkg>media-libs/libiec61883</pkg>.</flag>
- <flag name="kvazaar">Enables <pkg>media-libs/kvazaar</pkg> based HEVC encoder.</flag>
- <flag name="libaom">Enables <pkg>media-libs/libaom</pkg> based AV1 codec support.</flag>
- <flag name="libaribb24">Enables ARIB text and caption decoding via <pkg>media-libs/aribb24</pkg>.</flag>
- <flag name="libdrm">Enables <pkg>x11-libs/libdrm</pkg> support for better screen grabbing and hardware accelerated codecs.</flag>
- <flag name="libilbc">Enables iLBC de/encoding via <pkg>media-libs/libilbc</pkg>.</flag>
- <flag name="librtmp">Enables Real Time Messaging Protocol using librtmp (<pkg>media-video/rtmpdump</pkg>) in addition to FFmpeg's native implementation.</flag>
- <flag name="libsoxr">Enables audio resampling through <pkg>media-libs/soxr</pkg>.</flag>
- <flag name="libtesseract">Enables the OCR filter via <pkg>app-text/tesseract</pkg>.</flag>
- <flag name="libv4l">Uses <pkg>media-libs/libv4l</pkg> for video4linux instead of direct calls. Adds support for more devices via the userspace library.</flag>
- <flag name="libxml2">Uses <pkg>dev-libs/libxml2</pkg> to enable dash demuxing support.</flag>
- <flag name="lv2">Enables lv2 audio filter wrapper.</flag>
- <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="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="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="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="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="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>
- <flag name="zvbi">Enables <pkg>media-libs/zvbi</pkg> based teletext decoder.</flag>
-</use>
-<slots>
- <slot name="0">For building against. This is the only slot that provides
- headers and command line tools. Binary compatibility slots come and go
- as required, so always pin dependencies to this slot when appropriate.</slot>
-</slots>
+ <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>
+ <flag name="amrenc">Enables Adaptive Multi-Rate Audio encoding support with <pkg>media-libs/vo-amrwbenc</pkg>.</flag>
+ <flag name="appkit">Enables Apple AppKit framework</flag>
+ <flag name="bluray">Enable playback of Blu-ray filesystems</flag>
+ <flag name="bs2b">Enables <pkg>media-libs/libbs2b</pkg> based Bauer stereo-to-binaural filter.</flag>
+ <flag name="cdio">Enables audio CD grabbing with <pkg>dev-libs/libcdio</pkg>.</flag>
+ <flag name="chromaprint">Enables audio fingerprinting support with <pkg>media-libs/chromaprint</pkg>.</flag>
+ <flag name="chromium">Builds libffmpeg.so to enable media playback in Chromium-based browsers like Opera and Vivaldi.</flag>
+ <flag name="codec2">Enables codec2 low bit rate speech codec support via <pkg>media-libs/codec2</pkg>.</flag>
+ <flag name="cpudetection">Enables runtime CPU detection (useful for bindist, compatibility on other CPUs)</flag>
+ <flag name="cuda">Enables CUDA-based acceleration. Mostly used for specific filters.</flag>
+ <flag name="dav1d">Enables AV1 decoding via <pkg>media-libs/dav1d</pkg>.</flag>
+ <flag name="fdk">Use external fdk-aac library for AAC encoding</flag>
+ <flag name="flite">Adds a text-to-speech filter based on <pkg>app-accessibility/flite</pkg>.</flag>
+ <flag name="frei0r">Enable frei0r wrapping in libavfilter</flag>
+ <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.
+
+ It results in an increase of approximately 15% in the size of libavcodec, the main library impacted by this change.
+ It enables savings in table generation time, done once at codec initialization, since by hardcoding the tables,
+ they do not need to be computed at runtime. However, the savings are often negligible (~100k cycles is a typical number) especially when amortized
+ over the entire encoding/decoding operation.
+
+ 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="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>
+ <flag name="libaribb24">Enables ARIB text and caption decoding via <pkg>media-libs/aribb24</pkg>.</flag>
+ <flag name="libdrm">Enables <pkg>x11-libs/libdrm</pkg> support for better screen grabbing and hardware accelerated codecs.</flag>
+ <flag name="libilbc">Enables iLBC de/encoding via <pkg>media-libs/libilbc</pkg>.</flag>
+ <flag name="libplacebo">Adds flexible GPU-accelerated processing filter based on <pkg>media-libs/libplacebo</pkg>.</flag>
+ <flag name="librtmp">Enables Real Time Messaging Protocol using librtmp (<pkg>media-video/rtmpdump</pkg>) in addition to FFmpeg's native implementation.</flag>
+ <flag name="libsoxr">Enables audio resampling through <pkg>media-libs/soxr</pkg>.</flag>
+ <flag name="libtesseract">Enables the OCR filter via <pkg>app-text/tesseract</pkg>.</flag>
+ <flag name="libv4l">Uses <pkg>media-libs/libv4l</pkg> for video4linux instead of direct calls. Adds support for more devices via the userspace library.</flag>
+ <flag name="libxml2">Uses <pkg>dev-libs/libxml2</pkg> to enable dash demuxing support.</flag>
+ <flag name="lv2">Enables lv2 audio filter wrapper.</flag>
+ <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/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="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="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>
+ <flag name="zvbi">Enables <pkg>media-libs/zvbi</pkg> based teletext decoder.</flag>
+ </use>
+ <slots>
+ <slot name="0">For building against. This is the only slot that provides
+ headers and command line tools. Binary compatibility slots come and go
+ as required, so always pin dependencies to this slot when appropriate.</slot>
+ </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 4eeabf207293..000000000000
--- a/media-video/ffmpeg2theora/ffmpeg2theora-0.30-r1.ebuild
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..9} )
-inherit python-any-r1 scons-utils toolchain-funcs
-
-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/Manifest b/media-video/ffmpegthumbnailer/Manifest
index b2baf1a0f95d..d17cf3f8bf1d 100644
--- a/media-video/ffmpegthumbnailer/Manifest
+++ b/media-video/ffmpegthumbnailer/Manifest
@@ -1,2 +1 @@
-DIST ffmpegthumbnailer-2.2.0.tar.bz2 1223895 BLAKE2B 1babd01672f927a9ae043488e67225490f732b26544ad92e4c55ae683eb7d852cb90233e76a52cbda2f6aec26654b57907d7706e3ad4ae6d76ca3bca163c78eb SHA512 526d15b2c754fcb1415e69fb54cb6e7d0102b6d73a32a7e8528df81e32633dfe3786898984fdb988c93daee7218956c75c096ef657c9b3a42399d2d1d27c7bbf
DIST ffmpegthumbnailer-2.2.2.tar.bz2 1201838 BLAKE2B 449a876eaf56feb41c06dc5f3d123b138d66dfe8b6e1bc2e53f1742ef6fbd4ec5d14d77402e13cf8c369ee0cf0707ae5b100ac1d9fb02435b3c3a776cc9dc5f4 SHA512 52760dcf59430e5e85024c9f19dc1fac1d5f0edb4f937b33feac2b3ca8f12bbf549b5f658fc16fc07bf773717b9e10048aa3eb24bf52811c5c88c995ef492612
diff --git a/media-video/ffmpegthumbnailer/ffmpegthumbnailer-2.2.0-r1.ebuild b/media-video/ffmpegthumbnailer/ffmpegthumbnailer-2.2.2-r1.ebuild
index 7513824240d8..fe3bdd09679e 100644
--- a/media-video/ffmpegthumbnailer/ffmpegthumbnailer-2.2.0-r1.ebuild
+++ b/media-video/ffmpegthumbnailer/ffmpegthumbnailer-2.2.2-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
@@ -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 ppc ppc64 sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv sparc x86"
IUSE="gnome gtk jpeg png test"
RESTRICT="!test? ( test )"
@@ -30,8 +30,18 @@ RDEPEND="
DEPEND="${RDEPEND}"
DOCS=( AUTHORS ChangeLog README.md )
-
-PATCHES=( "${FILESDIR}/${P}-pkgconfig-libdir.patch" )
+PATCHES=(
+ "${FILESDIR}/ffmpeg5-1.patch"
+ "${FILESDIR}/ffmpeg5-2.patch"
+ "${FILESDIR}/ffmpeg5-3.patch"
+ "${FILESDIR}/ffmpeg5-4.patch"
+ "${FILESDIR}/ffmpeg5-5.patch"
+ "${FILESDIR}/ffmpeg5-6.patch"
+ "${FILESDIR}/ffmpeg5-7.patch"
+ "${FILESDIR}/ffmpeg5-8.patch"
+ "${FILESDIR}/ffmpeg5-9.patch"
+ "${FILESDIR}/ffmpeg5-10.patch"
+)
src_prepare() {
rm -rf out* || die
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 1db8f1d925cb..000000000000
--- a/media-video/ffmpegthumbnailer/ffmpegthumbnailer-2.2.2.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2021 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/ffmpegthumbnailer/files/ffmpeg5-1.patch b/media-video/ffmpegthumbnailer/files/ffmpeg5-1.patch
new file mode 100644
index 000000000000..d852f3b4131d
--- /dev/null
+++ b/media-video/ffmpegthumbnailer/files/ffmpeg5-1.patch
@@ -0,0 +1,22 @@
+From 67be4abd22b726e277c4b67bfb3abf5a65cfd9b5 Mon Sep 17 00:00:00 2001
+From: Zane van Iperen <zane@zanevaniperen.com>
+Date: Mon, 15 Mar 2021 17:23:23 +1000
+Subject: [PATCH] lib/moviedecoder: remove unused variable
+
+---
+ libffmpegthumbnailer/moviedecoder.cpp | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/libffmpegthumbnailer/moviedecoder.cpp b/libffmpegthumbnailer/moviedecoder.cpp
+index 290e212..aa44adf 100644
+--- a/libffmpegthumbnailer/moviedecoder.cpp
++++ b/libffmpegthumbnailer/moviedecoder.cpp
+@@ -570,8 +570,6 @@ bool MovieDecoder::getVideoPacket()
+ bool framesAvailable = true;
+ bool frameDecoded = false;
+
+- int attempts = 0;
+-
+ if (m_pPacket)
+ {
+ av_packet_unref(m_pPacket);
diff --git a/media-video/ffmpegthumbnailer/files/ffmpeg5-10.patch b/media-video/ffmpegthumbnailer/files/ffmpeg5-10.patch
new file mode 100644
index 000000000000..81e57aab1c96
--- /dev/null
+++ b/media-video/ffmpegthumbnailer/files/ffmpeg5-10.patch
@@ -0,0 +1,22 @@
+From efb5b618f1c1471c1a7900aed3a59d851ea9a210 Mon Sep 17 00:00:00 2001
+From: Paul Jonkins <paul.ionkin@gmail.com>
+Date: Wed, 23 Jun 2021 17:53:55 +0200
+Subject: [PATCH] Constify AVCodec
+
+---
+ libffmpegthumbnailer/moviedecoder.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/libffmpegthumbnailer/moviedecoder.h b/libffmpegthumbnailer/moviedecoder.h
+index 3ef5f12..fb6add2 100644
+--- a/libffmpegthumbnailer/moviedecoder.h
++++ b/libffmpegthumbnailer/moviedecoder.h
+@@ -78,7 +78,7 @@ class MovieDecoder
+ int m_VideoStream;
+ AVFormatContext* m_pFormatContext;
+ AVCodecContext* m_pVideoCodecContext;
+- AVCodec* m_pVideoCodec;
++ const AVCodec* m_pVideoCodec;
+ AVFilterGraph* m_pFilterGraph;
+ AVFilterContext* m_pFilterSource;
+ AVFilterContext* m_pFilterSink;
diff --git a/media-video/ffmpegthumbnailer/files/ffmpeg5-2.patch b/media-video/ffmpegthumbnailer/files/ffmpeg5-2.patch
new file mode 100644
index 000000000000..8f22829f6bb7
--- /dev/null
+++ b/media-video/ffmpegthumbnailer/files/ffmpeg5-2.patch
@@ -0,0 +1,28 @@
+From 66f64668e7a063e790813c7733ca438ab112af89 Mon Sep 17 00:00:00 2001
+From: Zane van Iperen <zane@zanevaniperen.com>
+Date: Mon, 15 Mar 2021 17:42:07 +1000
+Subject: [PATCH] lib/moviedecoder: clang-tidy fixes
+
+---
+ libffmpegthumbnailer/moviedecoder.cpp | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/libffmpegthumbnailer/moviedecoder.cpp b/libffmpegthumbnailer/moviedecoder.cpp
+index aa44adf..79c950b 100644
+--- a/libffmpegthumbnailer/moviedecoder.cpp
++++ b/libffmpegthumbnailer/moviedecoder.cpp
+@@ -503,12 +503,12 @@ void MovieDecoder::seek(int timeInSeconds)
+ avcodec_flush_buffers(m_pFormatContext->streams[m_VideoStream]->codec);
+
+ int keyFrameAttempts = 0;
+- bool gotFrame = 0;
++ bool gotFrame;
+
+ do
+ {
+ int count = 0;
+- gotFrame = 0;
++ gotFrame = false;
+
+ while (!gotFrame && count < 20)
+ {
diff --git a/media-video/ffmpegthumbnailer/files/ffmpeg5-3.patch b/media-video/ffmpegthumbnailer/files/ffmpeg5-3.patch
new file mode 100644
index 000000000000..ad7625775cf0
--- /dev/null
+++ b/media-video/ffmpegthumbnailer/files/ffmpeg5-3.patch
@@ -0,0 +1,26 @@
+From 96c22aa66719846854895afcb72962862d5a4ffd Mon Sep 17 00:00:00 2001
+From: Zane van Iperen <zane@zanevaniperen.com>
+Date: Mon, 15 Mar 2021 20:39:32 +1000
+Subject: [PATCH] lib/moviedecoder: remove SilenceLogLevel
+
+Was unused.
+---
+ libffmpegthumbnailer/moviedecoder.cpp | 5 -----
+ 1 file changed, 5 deletions(-)
+
+diff --git a/libffmpegthumbnailer/moviedecoder.cpp b/libffmpegthumbnailer/moviedecoder.cpp
+index 79c950b..21df096 100644
+--- a/libffmpegthumbnailer/moviedecoder.cpp
++++ b/libffmpegthumbnailer/moviedecoder.cpp
+@@ -41,11 +41,6 @@ using namespace std;
+ namespace ffmpegthumbnailer
+ {
+
+-struct SilenceLogLevel
+-{
+- SilenceLogLevel() { av_log_set_level(AV_LOG_QUIET); }
+-};
+-
+ MovieDecoder::MovieDecoder(AVFormatContext* pavContext)
+ : m_VideoStream(-1)
+ , m_pFormatContext(pavContext)
diff --git a/media-video/ffmpegthumbnailer/files/ffmpeg5-4.patch b/media-video/ffmpegthumbnailer/files/ffmpeg5-4.patch
new file mode 100644
index 000000000000..eb063973ae37
--- /dev/null
+++ b/media-video/ffmpegthumbnailer/files/ffmpeg5-4.patch
@@ -0,0 +1,32 @@
+From 664680f4bfeb89923f485eba270f9e49a8d02bfc Mon Sep 17 00:00:00 2001
+From: Zane van Iperen <zane@zanevaniperen.com>
+Date: Mon, 15 Mar 2021 17:25:40 +1000
+Subject: [PATCH] lib/moviedecoder: remove registration calls
+
+They're not needed anymore.
+---
+ libffmpegthumbnailer/moviedecoder.cpp | 4 ----
+ 1 file changed, 4 deletions(-)
+
+diff --git a/libffmpegthumbnailer/moviedecoder.cpp b/libffmpegthumbnailer/moviedecoder.cpp
+index 21df096..ac3e5b9 100644
+--- a/libffmpegthumbnailer/moviedecoder.cpp
++++ b/libffmpegthumbnailer/moviedecoder.cpp
+@@ -65,8 +65,6 @@ MovieDecoder::~MovieDecoder()
+
+ void MovieDecoder::initialize(const string& filename, bool preferEmbeddedMetadata)
+ {
+- av_register_all();
+- avcodec_register_all();
+ avformat_network_init();
+
+ string inputFile = filename == "-" ? "pipe:" : filename;
+@@ -386,8 +384,6 @@ void MovieDecoder::initializeFilterGraph(const AVRational& timeBase, const std::
+ auto del = [] (AVBufferSinkParams* p) { av_freep(p); };
+ std::unique_ptr<AVBufferSinkParams, decltype(del)> buffersinkParams(av_buffersink_params_alloc(), del);
+
+- avfilter_register_all();
+-
+ m_pFilterGraph = avfilter_graph_alloc();
+ assert(m_pFilterGraph);
+
diff --git a/media-video/ffmpegthumbnailer/files/ffmpeg5-5.patch b/media-video/ffmpegthumbnailer/files/ffmpeg5-5.patch
new file mode 100644
index 000000000000..e2a131b31ebc
--- /dev/null
+++ b/media-video/ffmpegthumbnailer/files/ffmpeg5-5.patch
@@ -0,0 +1,37 @@
+From 1ae42e664e1f3c915d186ae00aa2c8018b998708 Mon Sep 17 00:00:00 2001
+From: Zane van Iperen <zane@zanevaniperen.com>
+Date: Mon, 15 Mar 2021 17:30:21 +1000
+Subject: [PATCH] lib/moviedecoder: remove use of AVBufferSinkParams
+
+---
+ libffmpegthumbnailer/moviedecoder.cpp | 9 +--------
+ 1 file changed, 1 insertion(+), 8 deletions(-)
+
+diff --git a/libffmpegthumbnailer/moviedecoder.cpp b/libffmpegthumbnailer/moviedecoder.cpp
+index ac3e5b9..dece668 100644
+--- a/libffmpegthumbnailer/moviedecoder.cpp
++++ b/libffmpegthumbnailer/moviedecoder.cpp
+@@ -379,11 +379,6 @@ std::string MovieDecoder::createScaleString(const std::string& sizeString, bool
+
+ void MovieDecoder::initializeFilterGraph(const AVRational& timeBase, const std::string& size, bool maintainAspectRatio)
+ {
+- static const AVPixelFormat pixelFormats[] = { AV_PIX_FMT_RGB24, AV_PIX_FMT_NONE };
+-
+- auto del = [] (AVBufferSinkParams* p) { av_freep(p); };
+- std::unique_ptr<AVBufferSinkParams, decltype(del)> buffersinkParams(av_buffersink_params_alloc(), del);
+-
+ m_pFilterGraph = avfilter_graph_alloc();
+ assert(m_pFilterGraph);
+
+@@ -395,10 +390,8 @@ void MovieDecoder::initializeFilterGraph(const AVRational& timeBase, const std::
+
+ checkRc(avfilter_graph_create_filter(&m_pFilterSource, avfilter_get_by_name("buffer"), "thumb_buffer", ss.str().c_str(), nullptr, m_pFilterGraph),
+ "Failed to create filter source");
+- buffersinkParams->pixel_fmts = pixelFormats;
+- checkRc(avfilter_graph_create_filter(&m_pFilterSink, avfilter_get_by_name("buffersink"), "thumb_buffersink", nullptr, buffersinkParams.get(), m_pFilterGraph),
++ checkRc(avfilter_graph_create_filter(&m_pFilterSink, avfilter_get_by_name("buffersink"), "thumb_buffersink", nullptr, nullptr, m_pFilterGraph),
+ "Failed to create filter sink");
+- buffersinkParams.release();
+
+ AVFilterContext* yadifFilter = nullptr;
+ if (m_pFrame->interlaced_frame != 0)
diff --git a/media-video/ffmpegthumbnailer/files/ffmpeg5-6.patch b/media-video/ffmpegthumbnailer/files/ffmpeg5-6.patch
new file mode 100644
index 000000000000..59860a599ef2
--- /dev/null
+++ b/media-video/ffmpegthumbnailer/files/ffmpeg5-6.patch
@@ -0,0 +1,23 @@
+From 19675349662a4ea4455d7d13b01cca28ab585762 Mon Sep 17 00:00:00 2001
+From: Zane van Iperen <zane@zanevaniperen.com>
+Date: Mon, 15 Mar 2021 17:39:58 +1000
+Subject: [PATCH] lib/moviedecoder: use m_pVideoCodecContext instead of
+ AVStream::codec
+
+---
+ libffmpegthumbnailer/moviedecoder.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/libffmpegthumbnailer/moviedecoder.cpp b/libffmpegthumbnailer/moviedecoder.cpp
+index dece668..0b7a280 100644
+--- a/libffmpegthumbnailer/moviedecoder.cpp
++++ b/libffmpegthumbnailer/moviedecoder.cpp
+@@ -484,7 +484,7 @@ void MovieDecoder::seek(int timeInSeconds)
+ }
+
+ checkRc(av_seek_frame(m_pFormatContext, -1, timestamp, 0), "Seeking in video failed");
+- avcodec_flush_buffers(m_pFormatContext->streams[m_VideoStream]->codec);
++ avcodec_flush_buffers(m_pVideoCodecContext);
+
+ int keyFrameAttempts = 0;
+ bool gotFrame;
diff --git a/media-video/ffmpegthumbnailer/files/ffmpeg5-7.patch b/media-video/ffmpegthumbnailer/files/ffmpeg5-7.patch
new file mode 100644
index 000000000000..ac1eb3c25423
--- /dev/null
+++ b/media-video/ffmpegthumbnailer/files/ffmpeg5-7.patch
@@ -0,0 +1,27 @@
+From 4f74f83a009fa2b3f3d546adb24d4f1406910007 Mon Sep 17 00:00:00 2001
+From: Zane van Iperen <zane@zanevaniperen.com>
+Date: Mon, 15 Mar 2021 17:49:03 +1000
+Subject: [PATCH] lib/moviedecoder: codec -> codecpar
+
+---
+ libffmpegthumbnailer/moviedecoder.cpp | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/libffmpegthumbnailer/moviedecoder.cpp b/libffmpegthumbnailer/moviedecoder.cpp
+index 0b7a280..e58904e 100644
+--- a/libffmpegthumbnailer/moviedecoder.cpp
++++ b/libffmpegthumbnailer/moviedecoder.cpp
+@@ -145,10 +145,10 @@ int32_t MovieDecoder::findPreferedVideoStream(bool preferEmbeddedMetadata)
+ for (unsigned int i = 0; i < m_pFormatContext->nb_streams; ++i)
+ {
+ AVStream *stream = m_pFormatContext->streams[i];
+- auto ctx = m_pFormatContext->streams[i]->codec;
+- if (ctx->codec_type == AVMEDIA_TYPE_VIDEO)
++ auto par = m_pFormatContext->streams[i]->codecpar;
++ if (par->codec_type == AVMEDIA_TYPE_VIDEO)
+ {
+- if (!preferEmbeddedMetadata || !isStillImageCodec(ctx->codec_id))
++ if (!preferEmbeddedMetadata || !isStillImageCodec(par->codec_id))
+ {
+ videoStreams.push_back(i);
+ continue;
diff --git a/media-video/ffmpegthumbnailer/files/ffmpeg5-8.patch b/media-video/ffmpegthumbnailer/files/ffmpeg5-8.patch
new file mode 100644
index 000000000000..d160cbb2404f
--- /dev/null
+++ b/media-video/ffmpegthumbnailer/files/ffmpeg5-8.patch
@@ -0,0 +1,54 @@
+From 3ffdd65cbda6ef21d36c96013db1b0f4dc9fc57b Mon Sep 17 00:00:00 2001
+From: Zane van Iperen <zane@zanevaniperen.com>
+Date: Mon, 15 Mar 2021 17:52:01 +1000
+Subject: [PATCH] lib/movedecoder: don't rely on avformat to allocate a context
+
+---
+ libffmpegthumbnailer/moviedecoder.cpp | 20 ++++++++++++++++----
+ 1 file changed, 16 insertions(+), 4 deletions(-)
+
+diff --git a/libffmpegthumbnailer/moviedecoder.cpp b/libffmpegthumbnailer/moviedecoder.cpp
+index e58904e..da5f32a 100644
+--- a/libffmpegthumbnailer/moviedecoder.cpp
++++ b/libffmpegthumbnailer/moviedecoder.cpp
+@@ -90,8 +90,7 @@ void MovieDecoder::destroy()
+ {
+ if (m_pVideoCodecContext)
+ {
+- avcodec_close(m_pVideoCodecContext);
+- m_pVideoCodecContext = nullptr;
++ avcodec_free_context(&m_pVideoCodecContext);
+ }
+
+ if ((!m_FormatContextWasGiven) && m_pFormatContext)
+@@ -196,8 +195,7 @@ void MovieDecoder::initializeVideo(bool preferEmbeddedMetadata)
+ }
+
+ m_pVideoStream = m_pFormatContext->streams[m_VideoStream];
+- m_pVideoCodecContext = m_pVideoStream->codec;
+- m_pVideoCodec = avcodec_find_decoder(m_pVideoCodecContext->codec_id);
++ m_pVideoCodec = avcodec_find_decoder(m_pVideoStream->codecpar->codec_id);
+
+ if (m_pVideoCodec == nullptr)
+ {
+@@ -207,6 +205,20 @@ void MovieDecoder::initializeVideo(bool preferEmbeddedMetadata)
+ throw logic_error("Video Codec not found");
+ }
+
++ m_pVideoCodecContext = avcodec_alloc_context3(m_pVideoCodec);
++
++ if (m_pVideoCodecContext == nullptr)
++ {
++ destroy();
++ throw logic_error("Could not allocate video codec context");
++ }
++
++ if (avcodec_parameters_to_context(m_pVideoCodecContext, m_pVideoStream->codecpar) < 0)
++ {
++ destroy();
++ throw logic_error("Could not configure video codec context");
++ }
++
+ m_pVideoCodecContext->workaround_bugs = 1;
+
+ if (avcodec_open2(m_pVideoCodecContext, m_pVideoCodec, nullptr) < 0)
diff --git a/media-video/ffmpegthumbnailer/files/ffmpeg5-9.patch b/media-video/ffmpegthumbnailer/files/ffmpeg5-9.patch
new file mode 100644
index 000000000000..42db9faef363
--- /dev/null
+++ b/media-video/ffmpegthumbnailer/files/ffmpeg5-9.patch
@@ -0,0 +1,62 @@
+From f9273852c8e3d7af77d6c8929b1ac6c8a26eca50 Mon Sep 17 00:00:00 2001
+From: Zane van Iperen <zane@zanevaniperen.com>
+Date: Mon, 15 Mar 2021 20:57:45 +1000
+Subject: [PATCH] lib/moviedecoder: replace avcodec_decode_video2() usage
+
+---
+ libffmpegthumbnailer/moviedecoder.cpp | 31 +++++++++++++++++++++------
+ 1 file changed, 24 insertions(+), 7 deletions(-)
+
+diff --git a/libffmpegthumbnailer/moviedecoder.cpp b/libffmpegthumbnailer/moviedecoder.cpp
+index da5f32a..f32577a 100644
+--- a/libffmpegthumbnailer/moviedecoder.cpp
++++ b/libffmpegthumbnailer/moviedecoder.cpp
+@@ -548,17 +548,33 @@ bool MovieDecoder::decodeVideoPacket()
+ return false;
+ }
+
+- av_frame_unref(m_pFrame);
+-
+- int frameFinished;
++ int rc = avcodec_send_packet(m_pVideoCodecContext, m_pPacket);
++ if(rc == AVERROR(EAGAIN))
++ {
++ rc = 0;
++ }
+
+- int bytesDecoded = avcodec_decode_video2(m_pVideoCodecContext, m_pFrame, &frameFinished, m_pPacket);
+- if (bytesDecoded < 0)
++ if(rc == AVERROR_EOF)
++ {
++ return false;
++ }
++ else if(rc < 0)
+ {
+- throw logic_error("Failed to decode video frame: bytesDecoded < 0");
++ throw logic_error("Failed to decode video frame: avcodec_send_packet() < 0");
+ }
+
+- return frameFinished > 0;
++ rc = avcodec_receive_frame(m_pVideoCodecContext, m_pFrame);
++ switch(rc)
++ {
++ case 0:
++ return true;
++
++ case AVERROR(EAGAIN):
++ return false;
++
++ default:
++ throw logic_error("Failed to decode video frame: avcodec_receive_frame() < 0");
++ }
+ }
+
+ bool MovieDecoder::getVideoPacket()
+@@ -574,6 +590,7 @@ bool MovieDecoder::getVideoPacket()
+
+ m_pPacket = new AVPacket();
+
++
+ while (framesAvailable && !frameDecoded)
+ {
+ framesAvailable = av_read_frame(m_pFormatContext, m_pPacket) >= 0;
diff --git a/media-video/ffmpegthumbnailer/files/ffmpegthumbnailer-2.2.0-pkgconfig-libdir.patch b/media-video/ffmpegthumbnailer/files/ffmpegthumbnailer-2.2.0-pkgconfig-libdir.patch
deleted file mode 100644
index 8a70b6fbde49..000000000000
--- a/media-video/ffmpegthumbnailer/files/ffmpegthumbnailer-2.2.0-pkgconfig-libdir.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-From 88c09cb6218fda5457c228f33084244db8725ed2 Mon Sep 17 00:00:00 2001
-From: orbea <ovariegata@yahoo.com>
-Date: Sat, 15 Apr 2017 19:36:01 -0700
-Subject: [PATCH] Fix libffmpegthumbnailer.pc to work with multilib systems
-
----
- libffmpegthumbnailer.pc.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/libffmpegthumbnailer.pc.in b/libffmpegthumbnailer.pc.in
-index 77c00b2..0a2f997 100644
---- a/libffmpegthumbnailer.pc.in
-+++ b/libffmpegthumbnailer.pc.in
-@@ -1,6 +1,6 @@
- prefix=@CMAKE_INSTALL_PREFIX@
- exec_prefix=${prefix}
--libdir=${exec_prefix}/lib
-+libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@
- includedir=${prefix}/include
-
- Name: libffmpegthumbnailer
diff --git a/media-video/flvstreamer/flvstreamer-2.1c.ebuild b/media-video/flvstreamer/flvstreamer-2.1c.ebuild
index 2989c8af30d7..6644066dff7f 100644
--- a/media-video/flvstreamer/flvstreamer-2.1c.ebuild
+++ b/media-video/flvstreamer/flvstreamer-2.1c.ebuild
@@ -1,11 +1,11 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit toolchain-funcs
-DESCRIPTION="Open source command-line RTMP client intended to stream audio or video flash content"
+DESCRIPTION="Open source command-line RTMP client to stream audio or video flash content"
HOMEPAGE="https://savannah.nongnu.org/projects/flvstreamer/"
SRC_URI="mirror://nongnu/${PN}/source/${P}.tar.gz"
diff --git a/media-video/flvstreamer/metadata.xml b/media-video/flvstreamer/metadata.xml
index 1d2c19f7dfd1..1252df8102f6 100644
--- a/media-video/flvstreamer/metadata.xml
+++ b/media-video/flvstreamer/metadata.xml
@@ -9,4 +9,7 @@
<email>sound@gentoo.org</email>
<name>Gentoo Sound project</name>
</maintainer>
+ <upstream>
+ <remote-id type="savannah-nongnu">flvstreamer</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/media-video/gaupol/Manifest b/media-video/gaupol/Manifest
index a9483cc3e913..df3da67cc1f4 100644
--- a/media-video/gaupol/Manifest
+++ b/media-video/gaupol/Manifest
@@ -1,2 +1,2 @@
-DIST gaupol-1.10.1.tar.gz 580890 BLAKE2B eb3f5bc3f9ec371d4169a9517f83bd42371aa41532f99f650b51e4649f813f0a37c0de5a01f69ee0c73f38cf2b57dd3260b5cac88f4c09785e86da2ec82c0cba SHA512 f294ea10c73dcf9941f70988ae58066917d7b321141e3a3ba3e12810e5f20a4711feca45d354dddc0e104a1ee2496fad24e529b129bdeee1cdb92010ec20be1d
-DIST gaupol-1.9.tar.gz 579382 BLAKE2B c326e800ebd56bab53757d13e075c7499d9b37c6677a3f2ef710e71ab427bc9d502d1539778e87625e43a6218a358b15dfc3c84fd22b42e95d808fc8495feb43 SHA512 c115409afe68a0981f7c29e5d6d3e23950081f186b74de460045de9976a6c7a674701d316214ee2b91bc59f1dd856fdc9cf999e328aba8abeb8eaf71911c68d2
+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.9.ebuild b/media-video/gaupol/gaupol-1.13.ebuild
index 1bbf9094611d..7892e1af156e 100644
--- a/media-video/gaupol/gaupol-1.9.ebuild
+++ b/media-video/gaupol/gaupol-1.13.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=7
+EAPI=8
-PYTHON_COMPAT=( python3_{7..10} )
-DISTUTILS_USE_SETUPTOOLS=no
+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+"
@@ -35,10 +35,14 @@ BDEPEND="
distutils_enable_tests pytest
-DOCS=( AUTHORS.md NEWS.md TODO.md README.md README.aeidon.md )
+DOCS=( AUTHORS.md NEWS.md README.md README.aeidon.md )
+
+PATCHES=(
+ "${FILESDIR}/${PN}-1.12-fix-prefix.patch"
+)
python_test() {
- virtx pytest -vv
+ virtx epytest
}
pkg_postinst() {
diff --git a/media-video/gaupol/gaupol-1.10.1.ebuild b/media-video/gaupol/gaupol-1.14.1.ebuild
index cc4e0d9d820e..0caa08c6a2f9 100644
--- a/media-video/gaupol/gaupol-1.10.1.ebuild
+++ b/media-video/gaupol/gaupol-1.14.1.ebuild
@@ -1,15 +1,15 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{8..10} )
-DISTUTILS_USE_SETUPTOOLS=no
+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+"
@@ -37,8 +37,12 @@ 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 pytest -vv
+ virtx epytest
}
pkg_postinst() {
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/gnome-video-effects/metadata.xml b/media-video/gnome-video-effects/metadata.xml
index 33b02cfbb013..c0b0997089c7 100644
--- a/media-video/gnome-video-effects/metadata.xml
+++ b/media-video/gnome-video-effects/metadata.xml
@@ -1,16 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="project">
- <email>gnome@gentoo.org</email>
- <name>Gentoo GNOME Desktop</name>
-</maintainer>
-<maintainer type="project">
- <email>media-video@gentoo.org</email>
- <name>Gentoo Video project</name>
-</maintainer>
-<maintainer type="project">
- <email>gstreamer@gentoo.org</email>
- <name>GStreamer package maintainers</name>
-</maintainer>
+ <maintainer type="project">
+ <email>gnome@gentoo.org</email>
+ <name>Gentoo GNOME Desktop</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>media-video@gentoo.org</email>
+ <name>Gentoo Video project</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>gstreamer@gentoo.org</email>
+ <name>GStreamer package maintainers</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="gnome-gitlab">GNOME/gnome-video-effects</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/media-video/google2srt/Manifest b/media-video/google2srt/Manifest
deleted file mode 100644
index 8362ae332fcb..000000000000
--- a/media-video/google2srt/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST Google2SRT-0.5.6.zip 355167 BLAKE2B bb365ae01db8ca3eba67cfe01840a1e6da6034c86dac45a47c0164a72f9fbd958307ce545423a0c715f7ebefdae31d38686e9103d873d8cf98ecf99da579d143 SHA512 edb7b1ee4440f4962220557c794090edb9b3647a64deb70c19170bb4af3edbb5abc93ddd6061badf458c6cd92c17024b91bbdfa95bb1b366d1092b659db08094
-DIST google2srt-icon.png 1848 BLAKE2B 323ff2128b17ba6584f23869432575eeca87a0195867123193b9734cfb453d8483a79e14ba156e2b8168eb5d03c66795f6ae06d8cdb7c1e1aedcc28fbb593c79 SHA512 051d8ffe8488e2521cdfbfd045d6b5159a18619e12dc1216b1687514cf3f1cebdf2167af372c2ec46d3886412350f5872e8a8c245fee341a30fec51615b5140f
diff --git a/media-video/google2srt/files/build.xml b/media-video/google2srt/files/build.xml
deleted file mode 100644
index b1c7e3c775bb..000000000000
--- a/media-video/google2srt/files/build.xml
+++ /dev/null
@@ -1,85 +0,0 @@
-<?xml version="1.0"?>
-
-<project name="Google2SRT" default="jar">
- <!-- some properties -->
- <property name="src.dir" value="src" />
- <property name="lib.dir" value="lib" />
- <property name="resources.dir" value="resources" />
- <property name="docs.dir" value="apidocs" />
- <property name="build.dir" value="build" />
- <property name="dist.dir" value="dist" />
- <property name="project.jar" value="${dist.dir}/${ant.project.name}.jar" />
- <property name="mainclass.jar" value="GUI" />
- <property name="source.enc" value="UTF-8" />
- <property name="target.jdk" value="1.6" />
-
- <!-- classpath -->
- <path id="refcp">
- <fileset dir="${lib.dir}">
- <include name="**/*.jar" />
- </fileset>
- </path>
-
- <!-- init -->
- <target name="init">
- <mkdir dir="${dist.dir}" />
- <mkdir dir="${docs.dir}" />
- <mkdir dir="${build.dir}" />
- </target>
-
- <!-- compile everything -->
- <target name="compile" depends="init">
- <javac srcdir="${src.dir}"
- destdir="${build.dir}"
- source="${target.jdk}"
- target="${target.jdk}"
- classpathref="refcp"
- encoding="${source.enc}"/>
- <copy todir="${build.dir}">
- <fileset dir="${resources.dir}" />
- </copy>
- </target>
-
- <!-- build the jar files -->
- <target name="build" depends="compile">
- <jar jarfile="${project.jar}" basedir="${build.dir}">
- <manifest>
- <attribute name="Main-Class" value="${mainclass.jar}" />
- </manifest>
- </jar>
- </target>
-
- <!-- generate javadocs -->
- <target name="javadoc" depends="init">
- <javadoc sourcepath="${src.dir}"
- destdir="${docs.dir}"
- packagenames="*"
- author="true"
- version="true"
- use="true"
- charset="UTF-8"
- encoding="${source.enc}"
- defaultexcludes="yes"
- classpathref="refcp"
- windowtitle="${ant.project.name} API">
- <fileset dir="${src.dir}" defaultexcludes="yes">
- <include name="**/*.java"/>
- </fileset>
- </javadoc>
- </target>
-
- <!-- clean up -->
- <target name="clean">
- <delete dir="${build.dir}" />
- <delete dir="${docs.dir}" />
- <delete dir="${dist.dir}" />
- </target>
-
- <!-- zip the sources -->
- <target name="sourcezip">
- <zip destfile="${dist.dir}/${ant.project.name}-src.zip">
- <zipfileset dir="${src.dir}" />
- </zip>
- </target>
-
-</project>
diff --git a/media-video/google2srt/google2srt-0.5.6-r1.ebuild b/media-video/google2srt/google2srt-0.5.6-r1.ebuild
deleted file mode 100644
index 4e228dc166a4..000000000000
--- a/media-video/google2srt/google2srt-0.5.6-r1.ebuild
+++ /dev/null
@@ -1,64 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-JAVA_PKG_IUSE="doc source"
-
-inherit eutils java-pkg-2 java-ant-2
-
-MY_PN="Google2SRT"
-MY_P="${MY_PN}-${PV}"
-MAINCLASS="GUI"
-
-DESCRIPTION="Convert subtitles from Google Video and YouTube to SubRip (.srt) format"
-HOMEPAGE="http://google2srt.sourceforge.net/en/"
-SRC_URI="mirror://sourceforge/${PN}/${MY_P}.zip
- http://sbriesen.de/gentoo/distfiles/google2srt-icon.png"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="html"
-
-COMMON_DEP="dev-java/jdom:0"
-
-RDEPEND=">=virtual/jre-1.6
- ${COMMON_DEP}"
-DEPEND="
- app-arch/unzip
- >=virtual/jdk-1.6
- ${COMMON_DEP}"
-
-S="${WORKDIR}/${MY_P}"
-
-java_prepare() {
- # copy build.xml
- cp -f "${FILESDIR}/build.xml" build.xml || die
-
- # move resources
- mkdir -p "resources"
- mv -f src/*.{jpg,properties} "resources/"
-
- # update library packages
- cd lib
- rm -f jdom.jar ../${MY_PN}.jar || die
- java-pkg_jar-from jdom
- java-pkg_ensure-no-bundled-jars
-}
-
-src_compile() {
- eant build $(use_doc)
-}
-
-src_install() {
- java-pkg_dojar dist/${MY_PN}.jar
- java-pkg_dolauncher ${MY_PN} --main ${MAINCLASS} --java_args -Xmx256m
- newicon "${DISTDIR}/${PN}-icon.png" "${MY_PN}.png"
- make_desktop_entry ${MY_PN} ${MY_PN} ${MY_PN}
- use doc && java-pkg_dojavadoc apidocs
- use source && java-pkg_dosrc src
- use html && dohtml -r doc
- newdoc Changelog.txt ChangeLog
- newdoc README.TXT README
-}
diff --git a/media-video/google2srt/metadata.xml b/media-video/google2srt/metadata.xml
deleted file mode 100644
index 4af0071e5e99..000000000000
--- a/media-video/google2srt/metadata.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>media-video@gentoo.org</email>
- <name>Gentoo Video project</name>
- </maintainer>
- <longdescription lang="en">
- Google2SRT allows you to convert subtitles from Google Video and YouTube
- to SubRip (.srt) format, which is recognized by most video players. You
- can download XML subtitles or simply type video's URL, Google2SRT will
- do the rest.
- </longdescription>
- <use>
- <flag name="html">Install HTML documentation</flag>
- </use>
- <upstream>
- <remote-id type="sourceforge">google2srt</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/media-video/gpac/Manifest b/media-video/gpac/Manifest
index 3119d5d920e5..59e0c115eaf8 100644
--- a/media-video/gpac/Manifest
+++ b/media-video/gpac/Manifest
@@ -1 +1,3 @@
-DIST gpac-1.0.1.tar.gz 10352926 BLAKE2B 80bdbd568551f9028a44acfa0cfeba585b69f24392393c1fb1bfe16f4b614eb79cda5f641f0b61854734f0dd85eb17520c2012040d3c47d68f66e5beb66fb2db SHA512 533371d59e72250bef315be03ec3437cd66782d0fb6bdb6486a6f4d57d06a6a7deff1b31fe8bfd360be1d1c848b33b5d25e7268f56f27f8e92cbcb7da1aba82b
+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-1.0.1-configure.patch b/media-video/gpac/files/gpac-2.0.0-configure.patch
index e471157af6b6..2b54d16a8d22 100644
--- a/media-video/gpac/files/gpac-1.0.1-configure.patch
+++ b/media-video/gpac/files/gpac-2.0.0-configure.patch
@@ -1,11 +1,11 @@
* Makes static libs optional
* Removes auto-SSE2 detection
----
-diff --git a/Makefile b/Makefile
-index 303a413..1ef750e 100644
---- a/Makefile
-+++ b/Makefile
-@@ -284,8 +284,9 @@ ifeq ($(GPAC_ENST),yes)
+Index: gpac-2.0.0/Makefile
+===================================================================
+--- gpac-2.0.0.orig/Makefile
++++ gpac-2.0.0/Makefile
+@@ -298,8 +298,9 @@ ifeq ($(GPAC_ENST),yes)
endif
$(INSTALL) -d "$(DESTDIR)$(prefix)/$(lib_dir)"
@@ -16,11 +16,11 @@ index 303a413..1ef750e 100644
$(INSTALL) -d $(DESTDIR)$(prefix)/$(lib_dir)/pkgconfig
$(INSTALL) $(INSTFLAGS) -m 644 gpac.pc "$(DESTDIR)$(prefix)/$(lib_dir)/pkgconfig"
-diff --git a/configure b/configure
-index de8ea99..4f5a6a8 100755
---- a/configure
-+++ b/configure
-@@ -105,6 +105,7 @@ has_dvb4linux="no"
+Index: gpac-2.0.0/configure
+===================================================================
+--- gpac-2.0.0.orig/configure
++++ gpac-2.0.0/configure
+@@ -106,6 +106,7 @@ has_dvb4linux="no"
has_openjpeg="no"
gprof_build="no"
static_build="no"
@@ -28,15 +28,15 @@ index de8ea99..4f5a6a8 100755
want_pic="no"
want_gcov="no"
has_joystick="no"
-@@ -264,6 +265,7 @@ GPAC configuration options:
- --enable-amr-wb enable AMR WB library
- --enable-amr enable both AMR NB and WB libraries
- --enable-static-bin link statically against libgpac
+@@ -271,6 +272,7 @@ GPAC configuration options:
+ --static-modules use static modules in libgpac rather than dynamic library modules
+ --static-build link statically against libgpac but still allow dependencies to shared libraries (enable --static-modules)
+ --enable-static-bin old name for --static-build, deprecated
+ --enable-static-lib GPAC static libraries build
- --static-mp4box configure for static linking of MP4Box only.
+ --static-bin enable static linking of MP4Box and gpac only (enable --static-build), disable MP4Client and all libraries not linkable statically.
+ --static-mp4box old name for --static-bin, deprecated
--enable-depth enables depth handling in the compositor
-
-@@ -706,14 +708,6 @@ if docc -lz -Wno-pointer-sign ; then
+@@ -741,14 +743,6 @@ if docc -lz -Wno-pointer-sign ; then
fi
@@ -51,44 +51,55 @@ index de8ea99..4f5a6a8 100755
#GCC PIC
if test "$cross_prefix" != "" ; then
want_pic="no"
-@@ -1710,6 +1704,8 @@ for opt do
- ;;
- --enable-static-bin) static_build="yes";
+@@ -776,10 +770,6 @@ cat > $TMPC << EOF
+ int main( void ) { return 0; }
+ EOF
+
+-if docc -msse2 $LDFLAGS ; then
+- CFLAGS="$CFLAGS -msse2"
+-fi
+-
+
+ #look for zlib
+ cat > $TMPC << EOF
+@@ -1790,6 +1780,8 @@ for opt do
+ echo "$opt deprecated, use --static-build instead"
+ static_build="yes";
;;
+ --enable-static-libs) static_libs="yes";
+ ;;
--disable-ipv6) has_ipv6="no"
;;
--disable-platinum) has_platinum="no"
-@@ -2357,6 +2353,7 @@ echo "** GPAC $version rev$revision Core Configuration **"
+@@ -2521,6 +2513,7 @@ else
+ fi
echo "debug version: $debuginfo"
echo "GProf enabled: $gprof_build"
- echo "Static build enabled: $static_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"
-@@ -3049,6 +3046,7 @@ echo "DEBUGBUILD=$debuginfo" >> config.mak
+@@ -3252,6 +3245,7 @@ echo "DEBUGBUILD=$debuginfo" >> config.m
echo "GPROFBUILD=$gprof_build" >> config.mak
- echo "MP4BOX_STATIC=$static_mp4box" >> config.mak
+ echo "STATIC_BINARY=$static_bin" >> config.mak
echo "STATICBUILD=$static_build" >> config.mak
+echo "STATICLIBS=$static_libs" >> config.mak
echo "CONFIG_IPV6=$has_ipv6" >> config.mak
if test "$has_ipv6" = "yes" ; then
-diff --git a/src/Makefile b/src/Makefile
-index c483c8d..b24d5bb 100644
---- a/src/Makefile
-+++ b/src/Makefile
-@@ -347,7 +347,6 @@ filters_svc: $(LIBGPAC_FILTERS_SVC)
- @echo "LIBS $(EXTRALIBS)"
+Index: gpac-2.0.0/src/Makefile
+===================================================================
+--- gpac-2.0.0.orig/src/Makefile
++++ gpac-2.0.0/src/Makefile
+@@ -387,7 +387,6 @@ jsmods: $(LIBGPAC_JSMODS)
+ # @echo "LIBS $(EXTRALIBS)"
ifeq ($(CONFIG_DARWIN),yes)
-
$(LIBTOOL) -s -o ../bin/gcc/libgpac_static.a $(OBJS)
$(RANLIB) ../bin/gcc/libgpac_static.a
ifneq ($(STATICBUILD),yes)
-@@ -355,9 +354,10 @@ ifneq ($(STATICBUILD),yes)
+@@ -395,9 +394,10 @@ ifneq ($(STATICBUILD),yes)
endif
else
@@ -100,18 +111,3 @@ index c483c8d..b24d5bb 100644
ifneq ($(STATICBUILD),yes)
$(CC) $(SHFLAGS) $(LD_SONAME) -o $@ $(OBJS) $(EXTRALIBS) $(LDFLAGS)
mv $@ $@.$(VERSION_SONAME)
-diff --git a/configure b/configure
-index 4f5a6a8..baba248 100755
---- a/configure
-+++ b/configure
-@@ -735,10 +735,6 @@ cat > $TMPC << EOF
- int main( void ) { return 0; }
- EOF
-
--if docc -msse2 $LDFLAGS ; then
-- CFLAGS="$CFLAGS -msse2"
--fi
--
-
- #look for zlib
- cat > $TMPC << EOF
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-1.0.1.ebuild b/media-video/gpac/gpac-2.0.0.ebuild
index 65ed5f65e282..884c45073b43 100644
--- a/media-video/gpac/gpac-1.0.1.ebuild
+++ b/media-video/gpac/gpac-2.0.0.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
@@ -11,14 +11,14 @@ else
KEYWORDS="~alpha amd64 ppc ppc64 sparc x86"
fi
-inherit flag-o-matic toolchain-funcs ${SCM} xdg
+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/10"
+SLOT="0/11"
IUSE="a52 aac alsa cpu_flags_x86_sse2 debug dvb ffmpeg ipv6 jack jpeg jpeg2k mad opengl oss png
pulseaudio sdl ssl static-libs theora truetype vorbis xml xvid X"
@@ -63,8 +63,7 @@ DEPEND="
"
PATCHES=(
- "${FILESDIR}/${PN}-1.0.1-configure.patch"
- "${FILESDIR}/${PN}-1.0.0-zlib-compile.patch"
+ "${FILESDIR}/${PN}-2.0.0-configure.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 e1c72932c19e..963ca68ca30f 100644
--- a/media-video/gpac/gpac-9999.ebuild
+++ b/media-video/gpac/gpac-9999.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
@@ -11,15 +11,15 @@ else
KEYWORDS="~alpha ~amd64 ~ppc ~ppc64 ~sparc ~x86"
fi
-inherit flag-o-matic toolchain-funcs ${SCM} xdg
+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/10"
-IUSE="a52 aac alsa cpu_flags_x86_sse2 debug dvb ffmpeg ipv6 jack jpeg jpeg2k mad opengl oss png
+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"
@@ -31,7 +31,7 @@ RDEPEND="
alsa? ( media-libs/alsa-lib )
ffmpeg? ( media-video/ffmpeg:0= )
jack? ( virtual/jack )
- jpeg? ( virtual/jpeg:0 )
+ jpeg? ( media-libs/libjpeg-turbo:0= )
jpeg2k? ( media-libs/openjpeg:2 )
mad? ( media-libs/libmad )
opengl? (
@@ -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}-1.0.1-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() {
@@ -102,13 +102,10 @@ src_configure() {
--verbose
--enable-pic
--enable-svg
- --disable-amr
- --use-js=no
--use-ogg=system
$(use_enable alsa)
$(use_enable debug)
$(use_enable dvb dvb4linux)
- $(use_enable ipv6)
$(use_enable jack jack yes)
$(use_enable opengl 3d)
$(use_enable oss oss-audio)
@@ -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 5b2772755ce6..0e58ddb145ed 100644
--- a/media-video/guvcview/Manifest
+++ b/media-video/guvcview/Manifest
@@ -1 +1,2 @@
-DIST guvcview-src-2.0.6.tar.gz 1131013 BLAKE2B ec8d7a82344e26890fe184d0edf77d0e415aa708bdf3cf55f96c555aaef479b1b7441a0425db035d10a6dc31f90282c169afff2d13684599ab1c005a5ea50ab1 SHA512 f73ba0a013f5afadb45c9bf60f723058ee31e99e204c951c49335a8ef9902a2caa752d6d51f6dd20ae960217cc25155e70efe4c49299a95e6780aaf8034078ec
+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.6-r2.ebuild b/media-video/guvcview/guvcview-2.0.8.ebuild
index fb946dd29efb..d00ccad28bc2 100644
--- a/media-video/guvcview/guvcview-2.0.6-r2.ebuild
+++ b/media-video/guvcview/guvcview-2.0.8.ebuild
@@ -1,14 +1,14 @@
-# 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
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.gz"
+SRC_URI="https://downloads.sourceforge.net/${PN}/${MY_P}.tar.bz2"
LICENSE="GPL-3"
SLOT="0"
@@ -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
"
@@ -45,7 +45,7 @@ DEPEND="${RDEPEND}
virtual/os-headers
"
-S="${WORKDIR}/${MY_P}"
+S="${WORKDIR}/${PN}-src-${PV}"
src_prepare() {
default
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..17f1e77475f3
--- /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="https://downloads.sourceforge.net/${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/gxine/Manifest b/media-video/gxine/Manifest
deleted file mode 100644
index 002400a072d2..000000000000
--- a/media-video/gxine/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST gxine-0.5.909.tar.xz 928544 BLAKE2B 4b649aca2602eafb5931f5f869d00d9e50f8e23c416bba0a661d895630f70840591cd3286626fc024deb45fe1484d8f640c2fb1412f536b665e6ff6b8091ce40 SHA512 87e65bb87fa416535f76253e4394447c6cd7dfaaa209b76c07b9aa81aeca0ca09399991bb2be8e6928fa3883ff61b155e173610c6c28aab10f5b1487e0699215
diff --git a/media-video/gxine/files/gxine-0.5.909-fno-common.patch b/media-video/gxine/files/gxine-0.5.909-fno-common.patch
deleted file mode 100644
index 32ad6c3770b2..000000000000
--- a/media-video/gxine/files/gxine-0.5.909-fno-common.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-https://bugs.gentoo.org/709306
---- a/src/main.c
-+++ b/src/main.c
-@@ -75,6 +75,7 @@
- * globals
- */
-
-+extern int gxine_init_count;
- int verbosity;
- GtkWidget *app = NULL;
- const char *plugindir, *bindir, *logodir, *pixmapdir, *icondir, *miscdir, *confdir;
---- a/src/utils.h
-+++ b/src/utils.h
-@@ -108,7 +108,7 @@ void do_pending_events (void);
-
- const char *get_copyright_notice (void);
-
--int gxine_init_count;
-+extern int gxine_init_count;
- static inline void gxine_init_add (GSourceFunc func, gpointer data)
- {
- ++gxine_init_count;
diff --git a/media-video/gxine/gxine-0.5.909-r1.ebuild b/media-video/gxine/gxine-0.5.909-r1.ebuild
deleted file mode 100644
index f8dca86551cf..000000000000
--- a/media-video/gxine/gxine-0.5.909-r1.ebuild
+++ /dev/null
@@ -1,71 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools xdg
-
-DESCRIPTION="GTK+ Front-End for libxine"
-HOMEPAGE="http://xine.sourceforge.net/"
-SRC_URI="mirror://sourceforge/xine/${P}.tar.xz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 ppc ppc64 x86"
-IUSE="l10n_cs l10n_de lirc nls udev xinerama"
-
-DEPEND="
- media-libs/xine-lib[gtk]
- x11-libs/gtk+:2
- dev-lang/spidermonkey:0
- dev-libs/glib
- x11-libs/libX11
- x11-libs/libXext
- x11-libs/libXrender
- x11-libs/libxcb
- lirc? ( app-misc/lirc )
- nls? ( virtual/libintl )
- udev? ( dev-libs/libgudev:= )
- xinerama? ( x11-libs/libXinerama )"
-RDEPEND="${DEPEND}"
-BDEPEND="
- virtual/pkgconfig
- nls? ( sys-devel/gettext )"
-
-PATCHES=( "${FILESDIR}"/${P}-fno-common.patch )
-
-src_prepare() {
- default
- # need to disable calling of xine-list when running without
- # userpriv, otherwise we get sandbox violations (bug #233847)
- if [[ ${EUID} == 0 ]]; then
- sed -i -e 's:^XINE_LIST=.*$:XINE_LIST=:' configure.ac || die
- fi
-
- eautoreconf
-}
-
-src_configure() {
- econf \
- --enable-watchdog \
- --with-xcb \
- --without-browser-plugin \
- --without-dbus \
- --without-hal \
- $(use_enable nls) \
- $(use_enable lirc) \
- $(use_with udev gudev) \
- $(use_with xinerama)
-}
-
-src_install() {
- emake DESTDIR="${D}" \
- docdir="${EPREFIX}"/usr/share/doc/${PF} \
- docsdir="${EPREFIX}"/usr/share/doc/${PF} \
- install
-
- dodoc AUTHORS BUGS ChangeLog README{,_l10n} TODO
-
- use l10n_cs && dodoc README.cs
- use l10n_de && dodoc README.de
-}
diff --git a/media-video/gxine/metadata.xml b/media-video/gxine/metadata.xml
deleted file mode 100644
index 43aae5be9f8b..000000000000
--- a/media-video/gxine/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>
- <upstream>
- <remote-id type="sourceforge">xine</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/media-video/h264enc/h264enc-10.4.7-r1.ebuild b/media-video/h264enc/h264enc-10.4.7-r1.ebuild
index 87fc103f2861..0f9eea6992ca 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
@@ -7,7 +7,7 @@ inherit optfeature
DESCRIPTION="Script to encode H.264/AVC/MPEG-4 Part 10 formats"
HOMEPAGE="https://h264enc.sourceforge.net/"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
@@ -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 abb9a1f61855..3e8e31e4f65d 100644
--- a/media-video/handbrake/Manifest
+++ b/media-video/handbrake/Manifest
@@ -1 +1,3 @@
-DIST handbrake-1.3.3.tar.bz2 16804119 BLAKE2B c081029e77911dc722764b0bef04e156694f8da0caaa6aedaae13d5c1045dccfc8292a466a8df323b471ca2a9de821b94740e9826fc9e7a2877b1d59653a728a SHA512 a4cca4e45d39eb3d43441abe832e2b8398694917981fa994075e475b68297cae28039e3c75d06442194262a881b9e416e5ebd73d10f86214b95f54c35fd3088c
+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-1.3.3-libhb-fix-audio-encoders-when-linking-to-FFmpeg-4.4.patch b/media-video/handbrake/files/handbrake-1.3.3-libhb-fix-audio-encoders-when-linking-to-FFmpeg-4.4.patch
deleted file mode 100644
index d7cc565377fd..000000000000
--- a/media-video/handbrake/files/handbrake-1.3.3-libhb-fix-audio-encoders-when-linking-to-FFmpeg-4.4.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From f28289fb06ab461ea082b4be56d6d1504c0c31c2 Mon Sep 17 00:00:00 2001
-From: Damiano Galassi <damiog@gmail.com>
-Date: Sat, 10 Apr 2021 13:18:02 +0200
-Subject: [PATCH] libhb: fix audio encoders when linking to FFmpeg 4.4.
-
----
- libhb/encavcodecaudio.c | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/libhb/encavcodecaudio.c b/libhb/encavcodecaudio.c
-index 52fc4565d..e6cf42414 100644
---- a/libhb/encavcodecaudio.c
-+++ b/libhb/encavcodecaudio.c
-@@ -410,7 +410,10 @@ static void Encode(hb_work_object_t *w, hb_buffer_list_t *list)
-
- // Prepare input frame
- int out_size;
-- AVFrame frame = { .nb_samples = pv->samples_per_frame, };
-+ AVFrame frame = { .nb_samples = pv->samples_per_frame,
-+ .format = pv->context->sample_fmt,
-+ .channels = pv->context->channels
-+ };
-
- out_size = av_samples_get_buffer_size(NULL,
- pv->context->channels,
---
-2.26.3
-
diff --git a/media-video/handbrake/files/handbrake-1.5.1-ffmpeg-5.0.patch b/media-video/handbrake/files/handbrake-1.5.1-ffmpeg-5.0.patch
new file mode 100644
index 000000000000..643605076294
--- /dev/null
+++ b/media-video/handbrake/files/handbrake-1.5.1-ffmpeg-5.0.patch
@@ -0,0 +1,40 @@
+# https://git.exherbo.org/media.git/commit/?id=b7a022928103184b7528d0e40ad0a4edcfbbd7a4
+
+From 8a9d11e96b771422247c458ae6b07f3a13848f3a Mon Sep 17 00:00:00 2001
+From: Timo Gurr <timo.gurr@gmail.com>
+Date: Sat, 15 Jan 2022 20:44:53 +0100
+Subject: [PATCH] FFmpeg deprecations fixes for FFmpeg >= 5
+
+avcodec.h stopped including bsf.h per FFmpeg commit
+57b5ec6ba7df [1]. Fixes compilation error against
+FFmpeg later than the mentioned commit.
+[1] https://github.com/FFmpeg/FFmpeg/commit/57b5ec6ba7df442caebc401c4a7ef3ebc066b519
+---
+ libhb/decavcodec.c | 1 +
+ libhb/muxavformat.c | 1 +
+ 2 files changed, 2 insertions(+)
+
+diff --git a/libhb/decavcodec.c b/libhb/decavcodec.c
+index 372f86f82cf..e7a63289c0f 100644
+--- a/libhb/decavcodec.c
++++ b/libhb/decavcodec.c
+@@ -41,6 +41,7 @@
+ #include "handbrake/handbrake.h"
+ #include "handbrake/hbffmpeg.h"
+ #include "handbrake/hbavfilter.h"
++#include "libavcodec/bsf.h"
+ #include "libavfilter/avfilter.h"
+ #include "libavfilter/buffersrc.h"
+ #include "libavfilter/buffersink.h"
+diff --git a/libhb/muxavformat.c b/libhb/muxavformat.c
+index 232edd0942a..ad8e2a1d8fa 100644
+--- a/libhb/muxavformat.c
++++ b/libhb/muxavformat.c
+@@ -8,6 +8,7 @@
+ */
+
+ #include <ogg/ogg.h>
++#include "libavcodec/bsf.h"
+ #include "libavformat/avformat.h"
+ #include "libavutil/avstring.h"
+ #include "libavutil/intreadwrite.h"
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/files/handbrake-9999-remove-faac-dependency.patch b/media-video/handbrake/files/handbrake-9999-remove-faac-dependency.patch
index 7e8ab99730a8..a75bb24bf5b3 100644
--- a/media-video/handbrake/files/handbrake-9999-remove-faac-dependency.patch
+++ b/media-video/handbrake/files/handbrake-9999-remove-faac-dependency.patch
@@ -1,16 +1,20 @@
+diff --git a/libhb/common.c b/libhb/common.c
+index f43efdbb5..c917151b7 100644
--- a/libhb/common.c
+++ b/libhb/common.c
-@@ -243,7 +243,6 @@
+@@ -375,7 +375,6 @@ hb_encoder_internal_t hb_audio_encoders[] =
{
// legacy encoders, back to HB 0.9.4 whenever possible (disabled)
- { { "", "dts", NULL, HB_ACODEC_DCA_PASS, HB_MUX_MASK_MP4|HB_MUX_MASK_MKV, }, NULL, 0, HB_GID_ACODEC_DTS_PASS, },
-- { { "AAC (faac)", "faac", NULL, 0, HB_MUX_MASK_MP4|HB_MUX_MASK_MKV, }, NULL, 0, HB_GID_ACODEC_AAC, },
- { { "AAC (ffmpeg)", "ffaac", NULL, HB_ACODEC_FFAAC, HB_MUX_MASK_MP4|HB_MUX_MASK_MKV, }, NULL, 0, HB_GID_ACODEC_AAC, },
- { { "AC3 (ffmpeg)", "ffac3", NULL, HB_ACODEC_AC3, HB_MUX_MASK_MP4|HB_MUX_MASK_MKV, }, NULL, 0, HB_GID_ACODEC_AC3, },
- { { "MP3 (lame)", "lame", NULL, HB_ACODEC_LAME, HB_MUX_MASK_MP4|HB_MUX_MASK_MKV, }, NULL, 0, HB_GID_ACODEC_MP3, },
+ { { "", "dts", NULL, HB_ACODEC_DCA_PASS, HB_MUX_MASK_MP4|HB_MUX_MASK_MKV, }, NULL, 1, 0, HB_GID_ACODEC_DTS_PASS, },
+- { { "AAC (faac)", "faac", NULL, 0, HB_MUX_MASK_MP4|HB_MUX_MASK_MKV, }, NULL, 1, 0, HB_GID_ACODEC_AAC, },
+ { { "AAC (ffmpeg)", "ffaac", NULL, HB_ACODEC_FFAAC, HB_MUX_MASK_MP4|HB_MUX_MASK_MKV, }, NULL, 1, 0, HB_GID_ACODEC_AAC, },
+ { { "AC3 (ffmpeg)", "ffac3", NULL, HB_ACODEC_AC3, HB_MUX_MASK_MP4|HB_MUX_MASK_MKV, }, NULL, 1, 0, HB_GID_ACODEC_AC3, },
+ { { "MP3 (lame)", "lame", NULL, HB_ACODEC_LAME, HB_MUX_MASK_MP4|HB_MUX_MASK_MKV, }, NULL, 1, 0, HB_GID_ACODEC_MP3, },
+diff --git a/scripts/manicure.rb b/scripts/manicure.rb
+index fb4afa9ec..424288298 100755
--- a/scripts/manicure.rb
+++ b/scripts/manicure.rb
-@@ -349,7 +349,7 @@
+@@ -349,7 +349,7 @@ class Display
audioEncoders << "copy:dtshd"
when /AAC Pass/
audioEncoders << "copy:aac"
@@ -19,7 +23,7 @@
audioEncoders << "av_aac"
when "AAC (FDK)"
audioEncoders << "fdk_aac"
-@@ -466,7 +466,7 @@
+@@ -466,7 +466,7 @@ class Display
case hash["AudioEncoderFallback"]
when /AC3/
audioEncoderFallback << "ac3"
@@ -28,7 +32,7 @@
audioEncoderFallback << "av_aac"
when "AAC (FDK)"
audioEncoderFallback << "fdk_aac"
-@@ -753,7 +753,7 @@
+@@ -748,7 +748,7 @@ class Display
audioEncoders << "copy:dtshd"
when /AAC Pass/
audioEncoders << "copy:aac"
@@ -37,7 +41,7 @@
audioEncoders << "av_aac"
when "AAC (FDK)"
audioEncoders << "fdk_aac"
-@@ -870,7 +870,7 @@
+@@ -865,7 +865,7 @@ class Display
case hash["AudioEncoderFallback"]
when /AC3/
audioEncoderFallback << "ac3"
@@ -46,7 +50,7 @@
audioEncoderFallback << "av_aac"
when "AAC (FDK)"
audioEncoderFallback << "fdk_aac"
-@@ -1163,7 +1163,7 @@
+@@ -1148,7 +1148,7 @@ class Display
audioEncoders << "copy:dtshd"
when /AAC Pass/
audioEncoders << "copy:aac"
@@ -55,7 +59,7 @@
audioEncoders << "av_aac"
when "AAC (FDK)"
audioEncoders << "fdk_aac"
-@@ -1298,7 +1298,7 @@
+@@ -1283,7 +1283,7 @@ class Display
case hash["AudioEncoderFallback"]
when /AC3/
audioEncoderFallback << "ac3"
@@ -64,7 +68,7 @@
audioEncoderFallback << "av_aac"
when "AAC (FDK)"
audioEncoderFallback << "fdk_aac"
-@@ -1615,7 +1615,7 @@
+@@ -1600,7 +1600,7 @@ class Display
audioEncoders << "copy:dtshd"
when /AAC Pass/
audioEncoders << "copy:aac"
@@ -73,7 +77,7 @@
audioEncoders << "av_aac"
when "AAC (FDK)"
audioEncoders << "fdk_aac"
-@@ -1732,7 +1732,7 @@
+@@ -1717,7 +1717,7 @@ class Display
case hash["AudioEncoderFallback"]
when /AC3/
audioEncoderFallback << "ac3"
diff --git a/media-video/handbrake/files/handbrake-9999-system-tools.patch b/media-video/handbrake/files/handbrake-9999-system-tools.patch
new file mode 100644
index 000000000000..9d76e628ccbb
--- /dev/null
+++ b/media-video/handbrake/files/handbrake-9999-system-tools.patch
@@ -0,0 +1,24 @@
+# https://bugs.gentoo.org/738110
+
+diff --git a/make/configure.py b/make/configure.py
+index 87118fcbe..df869856d 100644
+--- a/make/configure.py
++++ b/make/configure.py
+@@ -1626,14 +1626,14 @@ try:
+
+ ## create tools in a scope
+ class Tools:
+- ar = ToolProbe( 'AR.exe', 'ar', 'ar', abort=True )
++ ar = ToolProbe( 'AR.exe', 'ar', os.environ.get('AR', 'ar'), abort=True )
+ cp = ToolProbe( 'CP.exe', 'cp', 'cp', abort=True )
+ m4 = ToolProbe( 'M4.exe', 'm4', 'gm4', 'm4', abort=True )
+ mkdir = ToolProbe( 'MKDIR.exe', 'mkdir', 'mkdir', abort=True )
+ patch = ToolProbe( 'PATCH.exe', 'patch', 'gpatch', 'patch', abort=True )
+ rm = ToolProbe( 'RM.exe', 'rm', 'rm', abort=True )
+- ranlib = ToolProbe( 'RANLIB.exe', 'ranlib', 'ranlib', abort=True )
+- strip = ToolProbe( 'STRIP.exe', 'strip', 'strip', abort=True )
++ ranlib = ToolProbe( 'RANLIB.exe', 'ranlib', os.environ.get('RANLIB', 'ranlib'), abort=True )
++ strip = ToolProbe( 'STRIP.exe', 'strip', os.environ.get('STRIP', 'strip'), abort=True )
+ tar = ToolProbe( 'TAR.exe', 'tar', 'gtar', 'tar', abort=True )
+ python = ToolProbe( 'PYTHON.exe', 'python', os.path.basename(sys.executable), abort=True )
+
diff --git a/media-video/handbrake/handbrake-1.3.3-r2.ebuild b/media-video/handbrake/handbrake-1.4.2-r2.ebuild
index a0fb60145610..5f5a8b0e7e24 100644
--- a/media-video/handbrake/handbrake-1.3.3-r2.ebuild
+++ b/media-video/handbrake/handbrake-1.4.2-r2.ebuild
@@ -1,10 +1,11 @@
-# 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
-PYTHON_COMPAT=( python3_{7,8,9} )
-inherit autotools gnome2-utils python-any-r1 xdg-utils
+PYTHON_COMPAT=( python3_{9..11} )
+
+inherit autotools python-any-r1 toolchain-funcs xdg
if [[ ${PV} = *9999* ]]; then
EGIT_REPO_URI="https://github.com/HandBrake/HandBrake.git"
@@ -13,11 +14,11 @@ 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 ~x86"
fi
DESCRIPTION="Open-source, GPL-licensed, multiplatform, multithreaded video transcoder"
-HOMEPAGE="http://handbrake.fr/"
+HOMEPAGE="https://handbrake.fr/ https://github.com/HandBrake/HandBrake"
LICENSE="GPL-2"
SLOT="0"
@@ -27,25 +28,27 @@ REQUIRED_USE="^^ ( fdk libav-aac )"
RDEPEND="
app-arch/xz-utils
- media-libs/speex
dev-libs/jansson:=
dev-libs/libxml2
media-libs/a52dec
+ >=media-libs/dav1d-0.5.1:=
+ media-libs/libjpeg-turbo:=
media-libs/libass:=
- >=media-libs/libbluray-1.0
- >=media-libs/dav1d-0.5.1
+ >=media-libs/libbluray-1.0:=
media-libs/libdvdnav
media-libs/libdvdread:=
media-libs/libsamplerate
media-libs/libtheora
media-libs/libvorbis
- >=media-libs/libvpx-1.8
- nvenc? ( media-libs/nv-codec-headers )
+ >=media-libs/libvpx-1.8:=
media-libs/opus
+ media-libs/speex
media-libs/x264:=
+ media-libs/zimg
media-sound/lame
- sys-libs/zlib
>=media-video/ffmpeg-4.2.1:0=[postproc,fdk?]
+ sys-libs/zlib
+ fdk? ( media-libs/fdk-aac:= )
gstreamer? (
media-libs/gstreamer:1.0
media-libs/gst-plugins-base:1.0
@@ -67,13 +70,15 @@ RDEPEND="
x11-libs/libnotify
x11-libs/pango
)
- fdk? ( media-libs/fdk-aac )
- x265? ( >=media-libs/x265-3.2:0=[10bit,12bit,numa?] )"
-
-DEPEND="${RDEPEND}
+ nvenc? ( media-libs/nv-codec-headers )
+ x265? ( >=media-libs/x265-3.2:0=[10bit,12bit,numa?] )
+"
+DEPEND="
${PYTHON_DEPS}
+ ${RDEPEND}
dev-lang/nasm
- dev-util/intltool"
+ dev-util/intltool
+"
PATCHES=(
# Remove libdvdnav duplication and call it on the original instead.
@@ -83,6 +88,9 @@ PATCHES=(
# 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"
@@ -98,45 +106,41 @@ src_prepare() {
default
- cd "${S}/gtk"
- # Don't run autogen.sh.
- sed -i '/autogen.sh/d' module.rules || die "Removing autogen.sh call failed"
+ 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
- ./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) \
- $(usex !gstreamer --disable-gst) \
- $(use_enable numa) \
- $(use_enable nvenc) \
- $(use_enable x265) || die "Configure failed."
+ local myconfargs=(
+ --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)
+ $(usex !gstreamer --disable-gst)
+ $(use_enable numa)
+ $(use_enable nvenc)
+ $(use_enable x265)
+ )
+
+ ./configure "${myconfargs[@]}" || die "Configure failed."
}
src_compile() {
emake -C build
-
- # TODO: Documentation building is currently broken, try to fix it.
- #
- # if use doc ; then
- # emake -C build doc
- # fi
}
src_install() {
emake -C build DESTDIR="${D}" install
-
dodoc README.markdown AUTHORS.markdown NEWS.markdown THANKS.markdown
}
@@ -152,11 +156,5 @@ pkg_postinst() {
einfo "For the GTK+ version of HandBrake, you can run \`ghb\`."
fi
- xdg_icon_cache_update
- xdg_desktop_database_update
-}
-
-pkg_postrm() {
- xdg_icon_cache_update
- xdg_desktop_database_update
+ xdg_pkg_postinst
}
diff --git a/media-video/handbrake/handbrake-1.3.3-r3.ebuild b/media-video/handbrake/handbrake-1.5.1-r1.ebuild
index a02d836a04b5..9c9c548d9e32 100644
--- a/media-video/handbrake/handbrake-1.3.3-r3.ebuild
+++ b/media-video/handbrake/handbrake-1.5.1-r1.ebuild
@@ -1,10 +1,11 @@
-# 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
-PYTHON_COMPAT=( python3_{7,8,9} )
-inherit autotools gnome2-utils python-any-r1 xdg-utils
+PYTHON_COMPAT=( python3_{10..11} )
+
+inherit autotools python-any-r1 toolchain-funcs xdg
if [[ ${PV} = *9999* ]]; then
EGIT_REPO_URI="https://github.com/HandBrake/HandBrake.git"
@@ -13,11 +14,11 @@ 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"
-HOMEPAGE="http://handbrake.fr/"
+HOMEPAGE="https://handbrake.fr/ https://github.com/HandBrake/HandBrake"
LICENSE="GPL-2"
SLOT="0"
@@ -25,27 +26,30 @@ 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
- media-libs/speex
dev-libs/jansson:=
dev-libs/libxml2
media-libs/a52dec
+ >=media-libs/dav1d-0.5.1:=
+ media-libs/libjpeg-turbo:=
media-libs/libass:=
- >=media-libs/libbluray-1.0
- >=media-libs/dav1d-0.5.1
+ >=media-libs/libbluray-1.0:=
media-libs/libdvdnav
media-libs/libdvdread:=
media-libs/libsamplerate
media-libs/libtheora
media-libs/libvorbis
- >=media-libs/libvpx-1.8
- nvenc? ( media-libs/nv-codec-headers )
+ >=media-libs/libvpx-1.8:=
media-libs/opus
+ media-libs/speex
media-libs/x264:=
+ media-libs/zimg
media-sound/lame
+ <media-video/ffmpeg-5.1:=[postproc,fdk?]
sys-libs/zlib
- >=media-video/ffmpeg-4.2.1:0=[postproc,fdk?]
+ fdk? ( media-libs/fdk-aac:= )
gstreamer? (
media-libs/gstreamer:1.0
media-libs/gst-plugins-base:1.0
@@ -67,13 +71,16 @@ RDEPEND="
x11-libs/libnotify
x11-libs/pango
)
- fdk? ( media-libs/fdk-aac )
- x265? ( >=media-libs/x265-3.2:0=[10bit,12bit,numa?] )"
-
-DEPEND="${RDEPEND}
+ nvenc? ( media-libs/nv-codec-headers )
+ x265? ( >=media-libs/x265-3.2:0=[10bit,12bit,numa?] )
+"
+DEPEND="${RDEPEND}"
+# cmake needed for custom script: bug #852701
+BDEPEND="
${PYTHON_DEPS}
+ dev-build/cmake
dev-lang/nasm
- dev-util/intltool"
+"
PATCHES=(
# Remove libdvdnav duplication and call it on the original instead.
@@ -83,14 +90,17 @@ PATCHES=(
# 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"
# Fix x265 linkage... again again #730034
"${FILESDIR}/${PN}-1.3.3-x265-link.patch"
- # Fix missing audio stream when using MPEG-4 avformat with ffmpeg-4.4 #791220
- "${FILESDIR}/${PN}-1.3.3-libhb-fix-audio-encoders-when-linking-to-FFmpeg-4.4.patch"
+ # Fix compatability with ffmpeg-5.0
+ "${FILESDIR}/${PN}-1.5.1-ffmpeg-5.0.patch"
)
src_prepare() {
@@ -101,45 +111,41 @@ src_prepare() {
default
- cd "${S}/gtk"
- # Don't run autogen.sh.
- sed -i '/autogen.sh/d' module.rules || die "Removing autogen.sh call failed"
+ 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
- ./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) \
- $(usex !gstreamer --disable-gst) \
- $(use_enable numa) \
- $(use_enable nvenc) \
- $(use_enable x265) || die "Configure failed."
+ local myconfargs=(
+ --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)
+ $(usex !gstreamer --disable-gst)
+ $(use_enable numa)
+ $(use_enable nvenc)
+ $(use_enable x265)
+ )
+
+ ./configure "${myconfargs[@]}" || die "Configure failed."
}
src_compile() {
emake -C build
-
- # TODO: Documentation building is currently broken, try to fix it.
- #
- # if use doc ; then
- # emake -C build doc
- # fi
}
src_install() {
emake -C build DESTDIR="${D}" install
-
dodoc README.markdown AUTHORS.markdown NEWS.markdown THANKS.markdown
}
@@ -155,11 +161,5 @@ pkg_postinst() {
einfo "For the GTK+ version of HandBrake, you can run \`ghb\`."
fi
- xdg_icon_cache_update
- xdg_desktop_database_update
-}
-
-pkg_postrm() {
- xdg_icon_cache_update
- xdg_desktop_database_update
+ xdg_pkg_postinst
}
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 a0fb60145610..0201e9e8dd27 100644
--- a/media-video/handbrake/handbrake-9999.ebuild
+++ b/media-video/handbrake/handbrake-9999.ebuild
@@ -1,51 +1,55 @@
-# 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
-PYTHON_COMPAT=( python3_{7,8,9} )
-inherit autotools gnome2-utils python-any-r1 xdg-utils
+PYTHON_COMPAT=( python3_{10..12} )
-if [[ ${PV} = *9999* ]]; then
+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 ~x86"
+ KEYWORDS="~amd64 ~arm64 ~x86"
fi
DESCRIPTION="Open-source, GPL-licensed, multiplatform, multithreaded video transcoder"
-HOMEPAGE="http://handbrake.fr/"
+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
- media-libs/speex
+ >=app-arch/xz-utils-5.2.6
dev-libs/jansson:=
- dev-libs/libxml2
+ >=dev-libs/libxml2-2.10.3
media-libs/a52dec
- media-libs/libass:=
- >=media-libs/libbluray-1.0
- >=media-libs/dav1d-0.5.1
+ >=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
- nvenc? ( media-libs/nv-codec-headers )
+ >=media-libs/libvpx-1.12.0:=
media-libs/opus
- media-libs/x264:=
+ >=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
- >=media-video/ffmpeg-4.2.1:0=[postproc,fdk?]
+ fdk? ( media-libs/fdk-aac:= )
gstreamer? (
media-libs/gstreamer:1.0
media-libs/gst-plugins-base:1.0
@@ -67,24 +71,30 @@ RDEPEND="
x11-libs/libnotify
x11-libs/pango
)
- fdk? ( media-libs/fdk-aac )
- x265? ( >=media-libs/x265-3.2:0=[10bit,12bit,numa?] )"
-
-DEPEND="${RDEPEND}
+ 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/intltool"
+"
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"
- # 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"
@@ -98,45 +108,42 @@ src_prepare() {
default
- cd "${S}/gtk"
- # Don't run autogen.sh.
- sed -i '/autogen.sh/d' module.rules || die "Removing autogen.sh call failed"
+ 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
- ./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) \
- $(usex !gstreamer --disable-gst) \
- $(use_enable numa) \
- $(use_enable nvenc) \
- $(use_enable x265) || die "Configure failed."
+ 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
-
- # TODO: Documentation building is currently broken, try to fix it.
- #
- # if use doc ; then
- # emake -C build doc
- # fi
}
src_install() {
emake -C build DESTDIR="${D}" install
-
dodoc README.markdown AUTHORS.markdown NEWS.markdown THANKS.markdown
}
@@ -152,11 +159,5 @@ pkg_postinst() {
einfo "For the GTK+ version of HandBrake, you can run \`ghb\`."
fi
- xdg_icon_cache_update
- xdg_desktop_database_update
-}
-
-pkg_postrm() {
- xdg_icon_cache_update
- xdg_desktop_database_update
+ xdg_pkg_postinst
}
diff --git a/media-video/handbrake/metadata.xml b/media-video/handbrake/metadata.xml
index ffc4a33c70cb..2a156bc117f3 100644
--- a/media-video/handbrake/metadata.xml
+++ b/media-video/handbrake/metadata.xml
@@ -8,7 +8,6 @@
<flag name="fdk">Support for encoding AAC using <pkg>media-libs/fdk-aac</pkg>.</flag>
<flag name="libav-aac">Support for encoding AAC using libav's internal encoder.</flag>
<flag name="numa">Adds support for x265's NUMA capabilities.</flag>
- <flag name="nvenc">Adds support for NVIDIA Encoder (NVENC) API for hardware accelerated encoding on NVIDIA cards.</flag>
<flag name="x265">Support for encoding h265 using <pkg>media-libs/x265</pkg>.</flag>
</use>
<upstream>
diff --git a/media-video/harvid/Manifest b/media-video/harvid/Manifest
index b5d39b6f0c28..4386171502a6 100644
--- a/media-video/harvid/Manifest
+++ b/media-video/harvid/Manifest
@@ -1 +1 @@
-DIST harvid-0.8.3.tar.gz 116446 BLAKE2B b245166ab2244a7afdddabb463296974c0d995d70ad8af6e93f549f045245597cb4ca3abf47c608eea15089ac5e6f82972b789d9a3f268b8be98f3080fd6e5e7 SHA512 748475602c7279f10790523cbd5cbf34c9cd283ca9e959ac0535fbb5b4ee6d2fcab976c5ddba3fa40862552b49d73df7145f36d26c9fe708063505812537a8ac
+DIST harvid-0.9.0.tar.gz 116909 BLAKE2B 94b194c475aa402d750d2930c19402157674c5e629bf6212d0fbf0bfe9516f6272850ebca4fb9c6bb1c899418c48ac2b76ec6c04def35671df37ca0b44550e42 SHA512 cba47a9ad70633fbbc5a939819b7ad3c46f01b199b23c938b26092d731664bcfef05b4f03bf83433ddc63d191fef72d0cab09ae4c35efd2e1b2b37c4b2689e82
diff --git a/media-video/harvid/files/harvid-0.9.0-ffmpeg.patch b/media-video/harvid/files/harvid-0.9.0-ffmpeg.patch
new file mode 100644
index 000000000000..6422f7503cff
--- /dev/null
+++ b/media-video/harvid/files/harvid-0.9.0-ffmpeg.patch
@@ -0,0 +1,21 @@
+https://github.com/x42/harvid/commit/5da512c504e6d1cef9546a33f16d2b466289b1f6
+
+From: Robin Gareus <robin@gareus.org>
+Date: Sat, 23 Apr 2022 02:30:59 +0200
+Subject: [PATCH] Fix ffmpeg compatibility
+
+--- a/libharvid/ffcompat.h
++++ b/libharvid/ffcompat.h
+@@ -75,8 +75,10 @@ static inline void av_packet_unref (AVPacket *pkt)
+ #if LIBAVUTIL_VERSION_INT < AV_VERSION_INT(51, 63, 100)
+ static inline int av_image_get_buffer_size (enum AVPixelFormat pix_fmt, int width, int height, int align)
+ {
+- return avpicture_get_size (pix_fmt, width, height)
++ return avpicture_get_size (pix_fmt, width, height);
+ }
++#else
++#include <libavutil/imgutils.h>
+ #endif
+
+ #if LIBAVFORMAT_VERSION_INT < AV_VERSION_INT(53, 2, 0)
+
diff --git a/media-video/harvid/files/harvid-0.9.0-parallel-build.patch b/media-video/harvid/files/harvid-0.9.0-parallel-build.patch
new file mode 100644
index 000000000000..c45ce7a70a84
--- /dev/null
+++ b/media-video/harvid/files/harvid-0.9.0-parallel-build.patch
@@ -0,0 +1,40 @@
+https://github.com/x42/harvid/commit/a3f85c57ad2559558706d9b22989de36452704d9
+
+From: Sergei Trofimovich <slyich@gmail.com>
+Date: Wed, 22 Jun 2022 23:18:16 +0100
+Subject: [PATCH] Makefile: add a missing target libharvid dependency of src
+
+Without the change parallel build fails sometimes by linking
+too early on non-existent file:
+
+ make -C src
+ make[1]: Entering directory '/build/harvid/src'
+ ld -r -b binary -o seek.o ../doc/seek.js
+ ld -r -b binary -o logo.o ../doc/harvid.jpg
+ make[1]: *** No rule to make target '../libharvid/libharvid.a', needed by 'harvid'. Stop.
+
+It's nest reproducible in `make --shuffle` mode:
+ https://savannah.gnu.org/bugs/index.php?62100
+
+The change makes sure 'libharvid' is built before 'src'.
+--- a/Makefile
++++ b/Makefile
+@@ -3,12 +3,15 @@ SUBDIRS = libharvid src doc
+
+ default: all
+
+-$(SUBDIRS)::
++$(SUBDIRS):
+ $(MAKE) -C $@ $(MAKECMDGOALS)
+
+ all clean man install uninstall install-bin install-man uninstall-bin uninstall-man install-lib uninstall-lib: $(SUBDIRS)
+
++# final binary links against a library
++src: libharvid
++
+ dist:
+ git archive --format=tar --prefix=harvid-$(VERSION)/ HEAD | gzip -9 > harvid-$(VERSION).tar.gz
+
+-.PHONY: clean all subdirs install uninstall dist install-bin install-man uninstall-bin uninstall-man install-lib uninstall-lib
++.PHONY: clean all subdirs install uninstall dist install-bin install-man uninstall-bin uninstall-man install-lib uninstall-lib $(SUBDIRS)
+
diff --git a/media-video/harvid/files/jpeg.patch b/media-video/harvid/files/jpeg.patch
deleted file mode 100644
index 3c0d53bf5d8a..000000000000
--- a/media-video/harvid/files/jpeg.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: harvid-0.8.3/src/Makefile
-===================================================================
---- harvid-0.8.3.orig/src/Makefile
-+++ harvid-0.8.3/src/Makefile
-@@ -16,7 +16,7 @@ ifeq ($(shell PKG_CONFIG_PATH=$(PKG_CONF
- $(error "libpng is required - install libpng-dev")
- endif
-
--ifeq ($(shell $(ECHO) "\#include <stdio.h>\n\#include <jpeglib.h>\nint main() { struct jpeg_error_mgr jerr; jpeg_std_error(&jerr); return 0; }" | $(CC) -pipe -x c -o $(CONFIGTEMP) $(ARCHINCLUDES) $(LDFLAGS) - -ljpeg 2>/dev/null || echo no; $(RM) -f $(CONFIGTEMP)), no)
-+ifeq ($(shell printf "#include <stdio.h>\n#include <jpeglib.h>\nint main() { struct jpeg_error_mgr jerr; jpeg_std_error(&jerr); return 0; }" | $(CC) -pipe -x c -o $(CONFIGTEMP) $(ARCHINCLUDES) $(LDFLAGS) - -ljpeg 2>/dev/null || echo no; $(RM) -f $(CONFIGTEMP)), no)
- $(error "libjpeg is required - install libjpeg-dev, libjpeg8-dev or libjpeg62-dev")
- endif
-
diff --git a/media-video/harvid/harvid-0.8.3-r1.ebuild b/media-video/harvid/harvid-0.9.0.ebuild
index 6e0a1ba99158..e99f97aa56f7 100644
--- a/media-video/harvid/harvid-0.8.3-r1.ebuild
+++ b/media-video/harvid/harvid-0.9.0.ebuild
@@ -1,12 +1,12 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit toolchain-funcs
DESCRIPTION="HTTP Ardour Video Daemon"
-HOMEPAGE="http://x42.github.io/harvid/"
+HOMEPAGE="https://x42.github.io/harvid/"
SRC_URI="https://github.com/x42/harvid/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-2"
@@ -14,18 +14,20 @@ SLOT="0"
KEYWORDS="~amd64"
RDEPEND="
- >=media-video/ffmpeg-2.6:0=
- media-libs/libpng:0=
- virtual/jpeg:0
-"
-DEPEND="${RDEPEND}
- virtual/pkgconfig
+ >=media-video/ffmpeg-2.6:=
+ media-libs/libjpeg-turbo:=
+ media-libs/libpng
"
+DEPEND="${RDEPEND}"
BDEPEND="
app-editors/vim-core
+ virtual/pkgconfig
"
-PATCHES=( "${FILESDIR}/jpeg.patch" )
+PATCHES=(
+ "${FILESDIR}"/${P}-ffmpeg.patch
+ "${FILESDIR}"/${P}-parallel-build.patch
+)
hv_make() {
emake \
@@ -35,9 +37,9 @@ hv_make() {
NM="$(tc-getNM) -B" \
LD="$(tc-getLD)" \
AR="$(tc-getAR)" \
- PREFIX="${EPREFIX:-/}usr" \
- libdir="${EPREFIX:-/}usr/$(get_libdir)" \
- hdocdir="${EPREFIX:-/}usr/share/doc/${PF}" \
+ PREFIX="${EPREFIX}/usr" \
+ libdir="${EPREFIX}/usr/$(get_libdir)" \
+ hdocdir="${EPREFIX}/usr/share/doc/${PF}" \
"${@}"
}
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/shrip/metadata.xml b/media-video/hevc-hm/metadata.xml
index 60cf779f3e1e..a2dfee954457 100644
--- a/media-video/shrip/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">ogmrip</remote-id>
- </upstream>
</pkgmetadata>
diff --git a/media-video/imagination/imagination-3.0-r2.ebuild b/media-video/imagination/imagination-3.0-r2.ebuild
index 83f5220125d8..5fbaeb15aa72 100644
--- a/media-video/imagination/imagination-3.0-r2.ebuild
+++ b/media-video/imagination/imagination-3.0-r2.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
@@ -7,7 +7,7 @@ inherit autotools desktop
DESCRIPTION="Simple DVD slideshow maker"
HOMEPAGE="http://imagination.sourceforge.net/"
-SRC_URI="mirror://sourceforge/${PN}/${PN}/${PV}/${P}.tar.gz"
+SRC_URI="https://downloads.sourceforge.net/${PN}/${PN}/${PV}/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
diff --git a/media-video/isight-firmware-tools/files/isight-firmware-tools-1.5.90-build-O0.patch b/media-video/isight-firmware-tools/files/isight-firmware-tools-1.5.90-build-O0.patch
index 8308cf6860b2..2b8697079e16 100644
--- a/media-video/isight-firmware-tools/files/isight-firmware-tools-1.5.90-build-O0.patch
+++ b/media-video/isight-firmware-tools/files/isight-firmware-tools-1.5.90-build-O0.patch
@@ -1,5 +1,5 @@
---- src/export.c
-+++ src/export.c
+--- a/src/export.c
++++ b/src/export.c
@@ -35,6 +35,8 @@
#include <glib/gi18n.h>
#include <glib/gstdio.h>
@@ -9,8 +9,8 @@
/* OPTIONS */
static gchar *input = NULL;
static gchar *output = "isight.ihx";
---- src/extract.c
-+++ src/extract.c
+--- a/src/extract.c
++++ b/src/extract.c
@@ -36,6 +36,8 @@
#include <glib/gi18n.h>
#include <glib/gstdio.h>
@@ -20,8 +20,8 @@
/*
* Foreach file identified by their sha1sum, we store the offset where
* the firmware begin in the file.
---- src/load.h
-+++ src/load.h
+--- a/src/load.h
++++ b/src/load.h
@@ -36,6 +36,8 @@
#include <glib.h>
#include <usb.h>
diff --git a/media-video/isight-firmware-tools/isight-firmware-tools-1.6-r1.ebuild b/media-video/isight-firmware-tools/isight-firmware-tools-1.6-r2.ebuild
index 1d92625a87c5..e588027bf107 100644
--- a/media-video/isight-firmware-tools/isight-firmware-tools-1.6-r1.ebuild
+++ b/media-video/isight-firmware-tools/isight-firmware-tools-1.6-r2.ebuild
@@ -1,10 +1,11 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=5
-inherit epatch versionator udev
+EAPI=8
-MY_MAJORV="$(get_version_component_range 1).6"
+inherit udev
+
+MY_MAJORV="$(ver_cut 1).6"
DESCRIPTION="Extract, load or export firmware for the iSight webcams"
HOMEPAGE="https://launchpad.net/isight-firmware-tools"
@@ -13,20 +14,26 @@ SRC_URI="https://launchpad.net/${PN}/main/${MY_MAJORV}/+download/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 x86"
-IUSE=""
-RDEPEND=">=dev-libs/glib-2.14:2
+RDEPEND="
+ >=dev-libs/glib-2.14:2
dev-libs/libgcrypt:0
virtual/libusb:0
- virtual/udev"
-DEPEND="${RDEPEND}
+ virtual/udev
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
>=dev-util/intltool-0.40
sys-apps/texinfo
- virtual/pkgconfig"
+ virtual/pkgconfig
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.5.90-build-O0.patch
+)
src_prepare() {
- # Fix build with -O0, bug #221325
- epatch "${FILESDIR}"/${PN}-1.5.90-build-O0.patch
+ default
sed -i \
-e "s:@udevdir@:$(get_udevdir):" \
@@ -45,10 +52,10 @@ src_install() {
rulesdir="$(get_udevdir)"/rules.d \
install
- mv -vf "${D}/$(get_udevdir)"/rules.d/{isight.rules,70-isight.rules}
+ mv -vf "${ED}/$(get_udevdir)"/rules.d/{isight.rules,70-isight.rules} || die
- dodoc AUTHORS ChangeLog HOWTO NEWS README
- rm -f "${D}"/usr/share/doc/${PF}/HOWTO
+ einstalldocs
+ rm "${ED}"/usr/share/doc/${PF}/HOWTO || die
}
pkg_postinst() {
diff --git a/media-video/jellyfin-media-player/Manifest b/media-video/jellyfin-media-player/Manifest
new file mode 100644
index 000000000000..a67f2b616569
--- /dev/null
+++ b/media-video/jellyfin-media-player/Manifest
@@ -0,0 +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.7.1-r1.ebuild b/media-video/jellyfin-media-player/jellyfin-media-player-1.7.1-r1.ebuild
new file mode 100644
index 000000000000..24d141161cd5
--- /dev/null
+++ b/media-video/jellyfin-media-player/jellyfin-media-player-1.7.1-r1.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.1
+
+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.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..7b889604399f
--- /dev/null
+++ b/media-video/jellyfin-media-player/jellyfin-media-player-1.9.1.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+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
new file mode 100644
index 000000000000..58ee6abd4705
--- /dev/null
+++ b/media-video/jellyfin-media-player/metadata.xml
@@ -0,0 +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>
+ </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/streamdeck-ui/metadata.xml b/media-video/jellyfin-web-bin/metadata.xml
index def65be3f760..7acb00ec7ade 100644
--- a/media-video/streamdeck-ui/metadata.xml
+++ b/media-video/jellyfin-web-bin/metadata.xml
@@ -1,11 +1,11 @@
<?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">timothycrosley/streamdeck-ui</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
new file mode 100644
index 000000000000..4ad675465c87
--- /dev/null
+++ b/media-video/jellyfin-web-jmp-bin/Manifest
@@ -0,0 +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.0.ebuild b/media-video/jellyfin-web-jmp-bin/jellyfin-web-jmp-bin-10.8.0.ebuild
new file mode 100644
index 000000000000..cd0c93934ceb
--- /dev/null
+++ b/media-video/jellyfin-web-jmp-bin/jellyfin-web-jmp-bin-10.8.0.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2022 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/jellyfin-web-jmp-bin-10.8.1.ebuild b/media-video/jellyfin-web-jmp-bin/jellyfin-web-jmp-bin-10.8.1.ebuild
new file mode 100644
index 000000000000..cd0c93934ceb
--- /dev/null
+++ b/media-video/jellyfin-web-jmp-bin/jellyfin-web-jmp-bin-10.8.1.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2022 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/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
new file mode 100644
index 000000000000..58ee6abd4705
--- /dev/null
+++ b/media-video/jellyfin-web-jmp-bin/metadata.xml
@@ -0,0 +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>
+ </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 49775bdf39ef..000000000000
--- a/media-video/jubler/jubler-5.1.ebuild
+++ /dev/null
@@ -1,71 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit 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/jubler/metadata.xml b/media-video/jubler/metadata.xml
deleted file mode 100644
index 77e1c11c60b3..000000000000
--- a/media-video/jubler/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>java@gentoo.org</email>
- </maintainer>
- <upstream>
- <remote-id type="google-code">jubler</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/media-video/kaffeine/Manifest b/media-video/kaffeine/Manifest
index 730b942b88a1..5a15bb12779a 100644
--- a/media-video/kaffeine/Manifest
+++ b/media-video/kaffeine/Manifest
@@ -1 +1,2 @@
+DIST kaffeine-2.0.18-scantable.dvb 1880456 BLAKE2B e435309f0a11cb6ecb9671c0948c6afdf4c946bc0914c0809945002e353383bb539e1c5594a0a52f2968393623c56914b360b37e5b24a0c17a8f3a60b100ad6a SHA512 2d00987eb261e6f52df490dd44b43567f7d4e3bdcfd0eb2f62e064604d91661e9754cf9e5462b491009fcb35bdca681f4be2a9f06b6b6d47a5b44f5819dbf4fe
DIST kaffeine-2.0.18.tar.xz 6033112 BLAKE2B c9a0fbd58f7ee4ed8ad44cbed59d95cde7df8ba9c2f5f341df74e6a771293756434e38adb7706baf224a684b56453601099fcac9bf27fd7ec935073a0c30ec19 SHA512 60854251f25e7de94928686f647e6e0f07ca40188e8dfd8140985f1dfbb53bb4d92ff42c29e216431500839d7eb83b81f386bac3a8a86dd8c986a611ec0db3a4
diff --git a/media-video/kaffeine/files/kaffeine-2.0.18-kwindowsystem-5.82.patch b/media-video/kaffeine/files/kaffeine-2.0.18-kwindowsystem-5.82.patch
deleted file mode 100644
index 97d8ecdec057..000000000000
--- a/media-video/kaffeine/files/kaffeine-2.0.18-kwindowsystem-5.82.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 4280d21a96c4ffd162eca52815aa84ddb679f60b Mon Sep 17 00:00:00 2001
-From: Andreas Sturmlechner <asturm@gentoo.org>
-Date: Sat, 8 May 2021 23:45:53 +0200
-Subject: [PATCH] Port away from API deprecated in >KF-5.62
-
-BUG: 436798
-
-Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
----
- src/main.cpp | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/main.cpp b/src/main.cpp
-index 01e3b80..cee5102 100644
---- a/src/main.cpp
-+++ b/src/main.cpp
-@@ -180,7 +180,7 @@ void KaffeineApplication::activateRequested(const QStringList &arguments,
- return;
-
- parser.parse(arguments);
-- KStartupInfo::setNewStartupId(mainWindow, KStartupInfo::startupId());
-+ KStartupInfo::setNewStartupId(mainWindow->window()->windowHandle(), KStartupInfo::startupId());
- KWindowSystem::forceActiveWindow(mainWindow->winId());
- mainWindow->parseArgs(workingDirectory);
- }
---
-2.31.1
-
diff --git a/media-video/kaffeine/files/kaffeine-2.0.18-wayland-window-activation.patch b/media-video/kaffeine/files/kaffeine-2.0.18-wayland-window-activation.patch
new file mode 100644
index 000000000000..2c4cc7a6f862
--- /dev/null
+++ b/media-video/kaffeine/files/kaffeine-2.0.18-wayland-window-activation.patch
@@ -0,0 +1,35 @@
+From 389c812c3afffc5184492039a80bee24a8104815 Mon Sep 17 00:00:00 2001
+From: Nicolas Fella <nicolas.fella@gmx.de>
+Date: Sun, 15 May 2022 18:38:07 +0200
+Subject: [PATCH] Fix activating existing window
+
+Also raise window when no arguments were passed
+
+Use KWindowSystem API that also works on Wayland
+---
+ src/main.cpp | 11 +++++++----
+ 1 file changed, 7 insertions(+), 4 deletions(-)
+
+diff --git a/src/main.cpp b/src/main.cpp
+index 68677fd..b5a07dc 100644
+--- a/src/main.cpp
++++ b/src/main.cpp
+@@ -178,12 +178,11 @@ KaffeineApplication::KaffeineApplication(int &argc, char **argv) : QApplication(
+ void KaffeineApplication::activateRequested(const QStringList &arguments,
+ const QString &workingDirectory)
+ {
+- if (arguments.isEmpty())
+- return;
+-
+ parser.parse(arguments);
++
++ KWindowSystem::updateStartupId(mainWindow->windowHandle());
++ KWindowSystem::activateWindow(mainWindow->windowHandle());
+- KStartupInfo::setNewStartupId(mainWindow, KStartupInfo::startupId());
+ KWindowSystem::forceActiveWindow(mainWindow->winId());
+ mainWindow->parseArgs(workingDirectory);
+ }
+
+--
+GitLab
+
diff --git a/media-video/kaffeine/kaffeine-2.0.18-r1.ebuild b/media-video/kaffeine/kaffeine-2.0.18-r2.ebuild
index 0be321a4b6ff..f988700d6e1d 100644
--- a/media-video/kaffeine/kaffeine-2.0.18-r1.ebuild
+++ b/media-video/kaffeine/kaffeine-2.0.18-r2.ebuild
@@ -1,20 +1,21 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
ECM_HANDBOOK="optional"
-KFMIN=5.82.0
-QTMIN=5.15.2
+KFMIN=5.92.0
+QTMIN=5.15.5
inherit ecm kde.org
-if [[ ${KDE_BUILD_TYPE} = release ]]; then
- SRC_URI="mirror://kde/stable/${PN}/${P}.tar.xz"
+if [[ ${KDE_BUILD_TYPE} == release ]]; then
+ SRC_URI="mirror://kde/stable/${PN}/${P}.tar.xz
+ https://linuxtv.org/downloads/dtv-scan-tables/${PN}/scantable.dvb -> ${P}-scantable.dvb"
KEYWORDS="amd64 x86"
fi
DESCRIPTION="Media player with digital TV support by KDE"
-HOMEPAGE="https://userbase.kde.org/Kaffeine"
+HOMEPAGE="https://apps.kde.org/kaffeine/ https://userbase.kde.org/Kaffeine"
LICENSE="GPL-2+ handbook? ( FDL-1.3 )"
SLOT="5"
@@ -50,7 +51,12 @@ BDEPEND="
DOCS=( Changelog NOTES README.md )
-PATCHES=( "${FILESDIR}/${P}-kwindowsystem-5.82.patch" ) # KDE-bug 436798
+PATCHES=( "${FILESDIR}/${P}-wayland-window-activation.patch" )
+
+src_prepare() {
+ ecm_src_prepare
+ cp -av "${DISTDIR}"/kaffeine-2.0.18-scantable.dvb src/scantable.dvb || die
+}
src_configure() {
# tools working on $HOME directory for a local git checkout
diff --git a/media-video/kino/Manifest b/media-video/kino/Manifest
deleted file mode 100644
index 1fc83d5dce0a..000000000000
--- a/media-video/kino/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST kino-1.3.4.tar.gz 11090771 BLAKE2B 58d61257c09638d12cc4ec1e40fa5f51c6812039825f915b0b8c32817c791c7ce89b69145ffffed8fb65ea21b57d50628bab2654df731b79c39d120ea4335bb9 SHA512 065695e6115f3f994ed89ebf52e64c4b8da100f7a973a8c686fd7e7377104b838968800c6a8e31913fd5e2be568076c60d588b840e51da3d082841546a53fc32
diff --git a/media-video/kino/files/kino-1.3.4-desktop.patch b/media-video/kino/files/kino-1.3.4-desktop.patch
deleted file mode 100644
index 03267e35b48f..000000000000
--- a/media-video/kino/files/kino-1.3.4-desktop.patch
+++ /dev/null
@@ -1,14 +0,0 @@
---- kino-1.3.4/Kino.desktop_orig 2021-04-10 11:55:07.696950138 +0200
-+++ kino-1.3.4/Kino.desktop 2021-04-10 11:55:19.621863615 +0200
-@@ -41,9 +41,9 @@
- Encoding=UTF-8
- TryExec=kino
- Exec=kino %F
--Icon=kino.png
-+Icon=kino
- Terminal=false
- StartupNotify=true
- Type=Application
--Categories=Application;AudioVideo;AudioVideoEditing;
-+Categories=AudioVideo;AudioVideoEditing;
- MimeType=video/dv;application/smil
diff --git a/media-video/kino/files/kino-1.3.4-ffmpeg3.patch b/media-video/kino/files/kino-1.3.4-ffmpeg3.patch
deleted file mode 100644
index 57849d74e5c9..000000000000
--- a/media-video/kino/files/kino-1.3.4-ffmpeg3.patch
+++ /dev/null
@@ -1,157 +0,0 @@
---- ./src.orig/frame.cc 2016-12-18 12:25:48.480275083 -0600
-+++ ./src/frame.cc 2016-12-18 12:54:17.800740672 -0600
-@@ -103,7 +103,7 @@
- av_register_all();
- libavcodec = avcodec_alloc_context3(NULL);
- avcodec_open2( libavcodec,
-- avcodec_find_decoder( CODEC_ID_DVVIDEO ), NULL );
-+ avcodec_find_decoder( AV_CODEC_ID_DVVIDEO ), NULL );
- pthread_mutex_unlock( &avcodec_mutex );
- data = ( unsigned char* ) av_mallocz( 144000 );
- #if defined(HAVE_SWSCALE)
-@@ -1060,7 +1060,7 @@
- int Frame::ExtractRGB( void * rgb )
- {
- #if defined(HAVE_LIBAVCODEC)
-- AVFrame *frame = avcodec_alloc_frame();
-+ AVFrame *frame = av_frame_alloc();
- AVPicture dest;
- int got_picture;
-
-@@ -1072,17 +1072,17 @@
- avcodec_decode_video2( libavcodec, frame, &got_picture, &pkt );
- if ( got_picture )
- {
-- avpicture_fill( &dest, static_cast<uint8_t*>( rgb ), PIX_FMT_RGB24, GetWidth(), GetHeight() );
-+ avpicture_fill( &dest, static_cast<uint8_t*>( rgb ), AV_PIX_FMT_RGB24, GetWidth(), GetHeight() );
- #if defined(HAVE_SWSCALE)
- if ( !imgConvertRgbCtx )
- imgConvertRgbCtx = sws_getContext( libavcodec->width, libavcodec->height, libavcodec->pix_fmt,
-- GetWidth(), GetHeight(), PIX_FMT_RGB24, SWS_FAST_BILINEAR, NULL, NULL, NULL );
-+ GetWidth(), GetHeight(), AV_PIX_FMT_RGB24, SWS_FAST_BILINEAR, NULL, NULL, NULL );
- sws_scale( imgConvertRgbCtx, frame->data, frame->linesize, 0, libavcodec->height, dest.data, dest.linesize );
- #else
-- img_convert( &dest, PIX_FMT_RGB24, reinterpret_cast<AVPicture*>( frame ), libavcodec->pix_fmt, GetWidth(), GetHeight() );
-+ img_convert( &dest, AV_PIX_FMT_RGB24, reinterpret_cast<AVPicture*>( frame ), libavcodec->pix_fmt, GetWidth(), GetHeight() );
- #endif
- }
-- av_free( frame );
-+ av_frame_free( &frame );
- #else
- unsigned char *pixels[ 3 ];
- int pitches[ 3 ];
-@@ -1125,7 +1125,7 @@
- int Frame::ExtractYUV( void *yuv )
- {
- #if defined(HAVE_LIBAVCODEC)
-- AVFrame *frame = avcodec_alloc_frame();;
-+ AVFrame *frame = av_frame_alloc();;
- AVPicture output;
- int got_picture;
-
-@@ -1137,14 +1137,14 @@
- avcodec_decode_video2( libavcodec, frame, &got_picture, &pkt );
- if ( got_picture )
- {
-- avpicture_fill( &output, static_cast<uint8_t*>( yuv ), PIX_FMT_YUV422, GetWidth(), GetHeight() );
-+ avpicture_fill( &output, static_cast<uint8_t*>( yuv ), AV_PIX_FMT_YUYV422, GetWidth(), GetHeight() );
- #if defined(HAVE_SWSCALE)
- if ( !imgConvertYuvCtx )
- imgConvertYuvCtx = sws_getContext( libavcodec->width, libavcodec->height, libavcodec->pix_fmt,
-- GetWidth(), GetHeight(), PIX_FMT_YUV422, SWS_FAST_BILINEAR, NULL, NULL, NULL );
-+ GetWidth(), GetHeight(), AV_PIX_FMT_YUYV422, SWS_FAST_BILINEAR, NULL, NULL, NULL );
- sws_scale( imgConvertYuvCtx, frame->data, frame->linesize, 0, libavcodec->height, output.data, output.linesize );
- #else
-- img_convert( &output, PIX_FMT_YUV422, (AVPicture *)frame, libavcodec->pix_fmt, GetWidth(), GetHeight() );
-+ img_convert( &output, AV_PIX_FMT_YUYV422, (AVPicture *)frame, libavcodec->pix_fmt, GetWidth(), GetHeight() );
- #endif
- }
- av_free( frame );
-@@ -1164,7 +1164,7 @@
- int Frame::ExtractYUV420( uint8_t *yuv, uint8_t *output[ 3 ] )
- {
- #if defined(HAVE_LIBAVCODEC)
-- AVFrame *frame = avcodec_alloc_frame();
-+ AVFrame *frame = av_frame_alloc();
- int got_picture;
-
- AVPacket pkt;
-@@ -1176,7 +1176,7 @@
-
- int width = GetWidth(), height = GetHeight();
-
-- if ( libavcodec->pix_fmt == PIX_FMT_YUV420P ) // PAL
-+ if ( libavcodec->pix_fmt == AV_PIX_FMT_YUV420P ) // PAL
- {
- int h2 = height / 2;
- int w2 = width / 2;
-@@ -1204,7 +1204,7 @@
- }
- }
- }
-- else // libavcodec.pix_fmt == PIX_FMT_YUV411P // NTSC
-+ else // libavcodec.pix_fmt == AV_PIX_FMT_YUV411P // NTSC
- {
- int w4 = width / 4;
-
-@@ -1341,7 +1341,7 @@
- avformatEncoder->oformat = av_guess_format( "dv", NULL, NULL );
- AVStream* vst = avformat_new_stream( avformatEncoder, NULL );
- vst->codec->codec_type = AVMEDIA_TYPE_VIDEO;
-- vst->codec->codec_id = CODEC_ID_DVVIDEO;
-+ vst->codec->codec_id = AV_CODEC_ID_DVVIDEO;
- vst->codec->bit_rate = 25000000;
- vst->start_time = 0;
- AVCodecContext *avcodecEncoder = vst->codec;
-@@ -1366,14 +1366,14 @@
- #endif
- avcodecEncoder->thread_count = 2;
- avcodecEncoder->time_base= isPAL ? ( AVRational ){ 1, 25 } : ( AVRational ){ 1001, 30000 };
-- avcodecEncoder->pix_fmt = isPAL ? PIX_FMT_YUV420P : PIX_FMT_YUV411P;
-+ avcodecEncoder->pix_fmt = isPAL ? AV_PIX_FMT_YUV420P : AV_PIX_FMT_YUV411P;
- avcodecEncoder->flags |= CODEC_FLAG_INTERLACED_DCT;
-- avcodec_open2( avcodecEncoder, avcodec_find_encoder( CODEC_ID_DVVIDEO ), NULL );
-+ avcodec_open2( avcodecEncoder, avcodec_find_encoder( AV_CODEC_ID_DVVIDEO ), NULL );
- av_new_packet( &avpacketEncoder, 144000 );
- tempImage = ( uint8_t* ) av_malloc(
- avpicture_get_size( avcodecEncoder->pix_fmt, avcodecEncoder->width, avcodecEncoder->height ) );
- #if defined(HAVE_SWSCALE)
-- imgConvertEncoderCtx = sws_getContext( avcodecEncoder->width, avcodecEncoder->height, PIX_FMT_RGB24,
-+ imgConvertEncoderCtx = sws_getContext( avcodecEncoder->width, avcodecEncoder->height, AV_PIX_FMT_RGB24,
- avcodecEncoder->width, avcodecEncoder->height, avcodecEncoder->pix_fmt, SWS_FAST_BILINEAR, NULL, NULL, NULL);
- #endif
- }
-@@ -1452,8 +1452,8 @@
- if ( CreateEncoder( IsPAL(), IsWide() ) )
- {
- #if defined(HAVE_LIBAVCODEC)
-- AVFrame *input = avcodec_alloc_frame();
-- AVFrame *output = avcodec_alloc_frame();
-+ AVFrame *input = av_frame_alloc();
-+ AVFrame *output = av_frame_alloc();
-
- if ( input && output )
- {
-@@ -1464,16 +1464,19 @@
-
- // Convert color space
- avpicture_fill( ( AVPicture* )output, tempImage, avcodecEncoder->pix_fmt, width, height );
-- avpicture_fill( ( AVPicture* )input, rgb, PIX_FMT_RGB24, width, height );
-+ avpicture_fill( ( AVPicture* )input, rgb, AV_PIX_FMT_RGB24, width, height );
- #if defined(HAVE_SWSCALE)
- sws_scale( imgConvertEncoderCtx, input->data, input->linesize, 0, height,
- output->data, output->linesize);
- #else
-- img_convert( ( AVPicture* )output, avcodecEncoder->pix_fmt, ( AVPicture* )input, PIX_FMT_RGB24, width, height );
-+ img_convert( ( AVPicture* )output, avcodecEncoder->pix_fmt, ( AVPicture* )input, AV_PIX_FMT_RGB24, width, height );
- #endif
-
- // Encode
-- bytesInFrame = avcodec_encode_video( avcodecEncoder, avpacketEncoder.data, size, output );
-+
-+ // bytesInFrame = avcodec_encode_video( avcodecEncoder, avpacketEncoder.data, size, output );
-+ int got_packet;
-+ bytesInFrame = avcodec_encode_video2( avcodecEncoder, &avpacketEncoder, output, &got_packet );
- avformatEncoder->pb = avio_alloc_context(data, bytesInFrame, 0, NULL, NULL, NULL, NULL);
- avpacketEncoder.size = bytesInFrame;
- if ( !isEncoderHeaderWritten )
diff --git a/media-video/kino/files/kino-1.3.4-ffmpeg4.patch b/media-video/kino/files/kino-1.3.4-ffmpeg4.patch
deleted file mode 100644
index b0f359f06ba3..000000000000
--- a/media-video/kino/files/kino-1.3.4-ffmpeg4.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/old/frame.cc b/src/frame.cc
-index c88508f..1e2573a 100644
---- a/old/frame.cc
-+++ b/src/frame.cc
-@@ -1367,7 +1367,7 @@ bool Frame::CreateEncoder( bool isPAL, bool isWide )
- avcodecEncoder->thread_count = 2;
- avcodecEncoder->time_base= isPAL ? ( AVRational ){ 1, 25 } : ( AVRational ){ 1001, 30000 };
- avcodecEncoder->pix_fmt = isPAL ? AV_PIX_FMT_YUV420P : AV_PIX_FMT_YUV411P;
-- avcodecEncoder->flags |= CODEC_FLAG_INTERLACED_DCT;
-+ avcodecEncoder->flags |= AV_CODEC_FLAG_INTERLACED_DCT;
- avcodec_open2( avcodecEncoder, avcodec_find_encoder( AV_CODEC_ID_DVVIDEO ), NULL );
- av_new_packet( &avpacketEncoder, 144000 );
- tempImage = ( uint8_t* ) av_malloc(
diff --git a/media-video/kino/files/kino-1.3.4-libav-0.7.patch b/media-video/kino/files/kino-1.3.4-libav-0.7.patch
deleted file mode 100644
index 65c5bc38276d..000000000000
--- a/media-video/kino/files/kino-1.3.4-libav-0.7.patch
+++ /dev/null
@@ -1,60 +0,0 @@
---- kino-1.3.4.orig/src/frame.cc 2011-07-17 14:54:59.089481638 +0200
-+++ kino-1.3.4/src/frame.cc 2011-07-17 15:09:23.199481714 +0200
-@@ -1063,7 +1063,12 @@
- AVPicture dest;
- int got_picture;
-
-- avcodec_decode_video( libavcodec, frame, &got_picture, data, GetFrameSize() );
-+ AVPacket pkt;
-+ av_init_packet(&pkt);
-+ pkt.data = data;
-+ pkt.size = GetFrameSize();
-+
-+ avcodec_decode_video2( libavcodec, frame, &got_picture, &pkt );
- if ( got_picture )
- {
- avpicture_fill( &dest, static_cast<uint8_t*>( rgb ), PIX_FMT_RGB24, GetWidth(), GetHeight() );
-@@ -1123,7 +1128,12 @@
- AVPicture output;
- int got_picture;
-
-- avcodec_decode_video( libavcodec, frame, &got_picture, data, GetFrameSize() );
-+ AVPacket pkt;
-+ av_init_packet(&pkt);
-+ pkt.data = data;
-+ pkt.size = GetFrameSize();
-+
-+ avcodec_decode_video2( libavcodec, frame, &got_picture, &pkt );
- if ( got_picture )
- {
- avpicture_fill( &output, static_cast<uint8_t*>( yuv ), PIX_FMT_YUV422, GetWidth(), GetHeight() );
-@@ -1156,7 +1166,12 @@
- AVFrame *frame = avcodec_alloc_frame();
- int got_picture;
-
-- avcodec_decode_video( libavcodec, frame, &got_picture, data, GetFrameSize() );
-+ AVPacket pkt;
-+ av_init_packet(&pkt);
-+ pkt.data = data;
-+ pkt.size = GetFrameSize();
-+
-+ avcodec_decode_video2( libavcodec, frame, &got_picture, &pkt );
-
- int width = GetWidth(), height = GetHeight();
-
-@@ -1319,12 +1334,12 @@
- #if defined(HAVE_LIBAVCODEC)
- if ( avformatEncoder == NULL )
- {
-- avformatEncoder = av_alloc_format_context();
-+ avformatEncoder = avformat_alloc_context();
- if ( avformatEncoder )
- {
-- avformatEncoder->oformat = guess_format( "dv", NULL, NULL );
-+ avformatEncoder->oformat = av_guess_format( "dv", NULL, NULL );
- AVStream* vst = av_new_stream( avformatEncoder, 0 );
-- vst->codec->codec_type = CODEC_TYPE_VIDEO;
-+ vst->codec->codec_type = AVMEDIA_TYPE_VIDEO;
- vst->codec->codec_id = CODEC_ID_DVVIDEO;
- vst->codec->bit_rate = 25000000;
- vst->start_time = 0;
diff --git a/media-video/kino/files/kino-1.3.4-libav-0.8.patch b/media-video/kino/files/kino-1.3.4-libav-0.8.patch
deleted file mode 100644
index f98cbda0bc49..000000000000
--- a/media-video/kino/files/kino-1.3.4-libav-0.8.patch
+++ /dev/null
@@ -1,57 +0,0 @@
---- kino-1.3.4.orig/src/frame.cc 2012-05-14 19:55:42.153772418 -0700
-+++ kino-1.3.4/src/frame.cc 2012-05-14 20:28:34.448838653 -0700
-@@ -101,8 +101,9 @@
- #if defined(HAVE_LIBAVCODEC)
- pthread_mutex_lock( &avcodec_mutex );
- av_register_all();
-- libavcodec = avcodec_alloc_context();
-- avcodec_open( libavcodec, avcodec_find_decoder( CODEC_ID_DVVIDEO ) );
-+ libavcodec = avcodec_alloc_context3(NULL);
-+ avcodec_open2( libavcodec,
-+ avcodec_find_decoder( CODEC_ID_DVVIDEO ), NULL );
- pthread_mutex_unlock( &avcodec_mutex );
- data = ( unsigned char* ) av_mallocz( 144000 );
- #if defined(HAVE_SWSCALE)
-@@ -1338,7 +1339,7 @@
- if ( avformatEncoder )
- {
- avformatEncoder->oformat = av_guess_format( "dv", NULL, NULL );
-- AVStream* vst = av_new_stream( avformatEncoder, 0 );
-+ AVStream* vst = avformat_new_stream( avformatEncoder, NULL );
- vst->codec->codec_type = AVMEDIA_TYPE_VIDEO;
- vst->codec->codec_id = CODEC_ID_DVVIDEO;
- vst->codec->bit_rate = 25000000;
-@@ -1364,12 +1365,10 @@
- vst->sample_aspect_ratio = avcodecEncoder->sample_aspect_ratio;
- #endif
- avcodecEncoder->thread_count = 2;
-- avcodec_thread_init( avcodecEncoder, avcodecEncoder->thread_count );
- avcodecEncoder->time_base= isPAL ? ( AVRational ){ 1, 25 } : ( AVRational ){ 1001, 30000 };
- avcodecEncoder->pix_fmt = isPAL ? PIX_FMT_YUV420P : PIX_FMT_YUV411P;
- avcodecEncoder->flags |= CODEC_FLAG_INTERLACED_DCT;
-- av_set_parameters( avformatEncoder, NULL );
-- avcodec_open( avcodecEncoder, avcodec_find_encoder( CODEC_ID_DVVIDEO ) );
-+ avcodec_open2( avcodecEncoder, avcodec_find_encoder( CODEC_ID_DVVIDEO ), NULL );
- av_new_packet( &avpacketEncoder, 144000 );
- tempImage = ( uint8_t* ) av_malloc(
- avpicture_get_size( avcodecEncoder->pix_fmt, avcodecEncoder->width, avcodecEncoder->height ) );
-@@ -1475,16 +1474,16 @@
-
- // Encode
- bytesInFrame = avcodec_encode_video( avcodecEncoder, avpacketEncoder.data, size, output );
-- url_open_buf( &avformatEncoder->pb, data, bytesInFrame, URL_WRONLY );
-+ avformatEncoder->pb = avio_alloc_context(data, bytesInFrame, 0, NULL, NULL, NULL, NULL);
- avpacketEncoder.size = bytesInFrame;
- if ( !isEncoderHeaderWritten )
- {
-- av_write_header( avformatEncoder );
-+ avformat_write_header( avformatEncoder, NULL );
- isEncoderHeaderWritten = true;
- }
- av_write_frame( avformatEncoder, &avpacketEncoder );
- #if LIBAVFORMAT_VERSION_INT >= ((52<<16)+(0<<8)+0)
-- url_close_buf( avformatEncoder->pb );
-+ avio_close( avformatEncoder->pb );
- #else
- url_close_buf( &avformatEncoder->pb );
- #endif
diff --git a/media-video/kino/files/kino-1.3.4-libavcodec-pkg-config.patch b/media-video/kino/files/kino-1.3.4-libavcodec-pkg-config.patch
deleted file mode 100644
index c5cd12106f5c..000000000000
--- a/media-video/kino/files/kino-1.3.4-libavcodec-pkg-config.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/configure.in 2009-09-08 02:35:23.000000000 -0400
-+++ b/configure.in 2014-01-27 14:53:01.366063037 -0500
-@@ -221,7 +221,7 @@
- if (test "x$avcodec_include" != x) || (test "x$avcodec_lib" != x) ; then
- local_legacy_ffmpeg_test
- else
-- PKG_CHECK_MODULES(AVCODEC, libavformat,
-+ PKG_CHECK_MODULES(AVCODEC, [libavcodec libavformat libavutil],
- [
- AC_DEFINE(HAVE_LIBAVCODEC, 1, [Enable FFMPEG libavcodec])
- AC_SUBST(AVCODEC_LIBS)
diff --git a/media-video/kino/files/kino-1.3.4-v4l1.patch b/media-video/kino/files/kino-1.3.4-v4l1.patch
deleted file mode 100644
index c6757743cd7e..000000000000
--- a/media-video/kino/files/kino-1.3.4-v4l1.patch
+++ /dev/null
@@ -1,22 +0,0 @@
---- kino-1.3.3.orig/ffmpeg/libavdevice/v4l.c 2011-05-17 02:20:37.161004916 +0400
-+++ kino-1.3.3.orig/ffmpeg/libavdevice/v4l.c 2011-05-17 02:21:57.302377529 +0400
-@@ -26,7 +26,7 @@
- #include <sys/mman.h>
- #include <sys/time.h>
- #define _LINUX_TIME_H 1
--#include <linux/videodev.h>
-+#include <libv4l1-videodev.h>
- #include <time.h>
-
- typedef struct {
---- kino-1.3.3.orig/src/v4l.h 2011-05-17 02:20:38.896969666 +0400
-+++ kino-1.3.3.orig/src/v4l.h 2011-05-17 02:21:39.922730395 +0400
-@@ -40,7 +40,7 @@
-
- #define _DEVICE_H_
- #define _LINUX_TIME_H
--#include <linux/videodev.h>
-+#include <libv4l1-videodev.h>
-
- #include "displayer.h"
-
diff --git a/media-video/kino/kino-1.3.4-r2.ebuild b/media-video/kino/kino-1.3.4-r2.ebuild
deleted file mode 100644
index c34910775617..000000000000
--- a/media-video/kino/kino-1.3.4-r2.ebuild
+++ /dev/null
@@ -1,105 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools udev xdg
-
-DESCRIPTION="Non-linear DV editor for GNU/Linux"
-HOMEPAGE="http://www.kinodv.org/"
-SRC_URI="mirror://sourceforge/kino/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 ppc ppc64 x86"
-IUSE="alsa dvdr gpac lame quicktime sox vorbis"
-
-# Optional dependency on cinelerra-cvs (as a replacement for libquicktime)
-# dropped because kino may run with it but won't build anymore.
-DEPEND="
- >=x11-libs/gtk+-2.6.0:2
- >=gnome-base/libglade-2.5.0
- >=dev-libs/glib-2:2
- x11-libs/libXv
- dev-libs/libxml2:2
- media-libs/audiofile
- >=sys-libs/libraw1394-1.0.0
- >=sys-libs/libavc1394-0.4.1
- >=media-libs/libdv-0.103
- media-libs/libsamplerate
- media-libs/libiec61883
- media-libs/libv4l:0=
- alsa? ( >=media-libs/alsa-lib-1.0.9 )
- >=media-video/ffmpeg-3:0=
- quicktime? ( >=media-libs/libquicktime-0.9.5 )
-"
-RDEPEND="${DEPEND}
- media-video/mjpegtools
- media-sound/rawrec
- dvdr? ( media-video/dvdauthor
- app-cdr/dvd+rw-tools )
- gpac? ( media-video/gpac )
- lame? ( media-sound/lame )
- sox? ( media-sound/sox )
- vorbis? ( media-sound/vorbis-tools )
-"
-BDEPEND="
- dev-util/glib-utils
- dev-util/intltool
-"
-
-src_prepare() {
- default
-
- # Deactivating automagic alsa configuration, bug #134725
- if ! use alsa ; then
- sed -i -e "s:HAVE_ALSA 1:HAVE_ALSA 0:" configure || die
- fi
-
- # Fix bug #169590
- sed -i \
- -e '/\$(LIBQUICKTIME_LIBS) \\/d' \
- -e '/^[[:space:]]*\$(SRC_LIBS)/ a\
- \$(LIBQUICKTIME_LIBS) \\' \
- src/Makefile.in || die
-
- # Fix test failure discovered in bug #193947
- sed -i -e '$a\
-\
-ffmpeg/libavcodec/ps2/idct_mmi.c\
-ffmpeg/libavcodec/sparc/dsputil_vis.c\
-ffmpeg/libavcodec/sparc/vis.h\
-ffmpeg/libavutil/bswap.h\
-ffmpeg/libswscale/yuv2rgb_template.c\
-src/export.h\
-src/message.cc\
-src/page_bttv.cc' po/POTFILES.in || die
-
- sed -i -e 's:^#include <quicktime.h>:#include <lqt/quicktime.h>:' src/filehandler.h || die
- eapply "${FILESDIR}/${P}-v4l1.patch"
- eapply "${FILESDIR}/${P}-libav-0.7.patch"
- eapply "${FILESDIR}/${P}-libav-0.8.patch"
- eapply "${FILESDIR}/${P}-libavcodec-pkg-config.patch"
- eapply "${FILESDIR}/${P}-ffmpeg3.patch"
- eapply "${FILESDIR}/${P}-ffmpeg4.patch"
- eapply "${FILESDIR}/${P}-desktop.patch"
-
- mv configure.in configure.ac || die
- eautoreconf
-}
-
-src_configure() {
- econf \
- --disable-local-ffmpeg \
- $(use_enable quicktime) \
- $(use_with sparc dv1394) \
- --with-udev-rules-dir="$(get_udevdir)"/rules.d \
- CPPFLAGS="-I${ESYSROOT}usr/include/libavcodec -I${ESYSROOT}usr/include/libavformat -I${ESYSROOT}usr/include/libswscale"
-}
-
-src_install() {
- default
- mv "${ED}/$(get_udevdir)"/rules.d/{,99-}kino.rules || die
- fowners root:root -R /usr/share/kino/help #177378
- find "${ED}" -name '*.la' -delete || die #385361
-}
diff --git a/media-video/kino/metadata.xml b/media-video/kino/metadata.xml
deleted file mode 100644
index 85d3482c21f9..000000000000
--- a/media-video/kino/metadata.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>media-video@gentoo.org</email>
- <name>Gentoo Video project</name>
- </maintainer>
- <use>
- <flag name="gpac">Enable GPAC support when exporting to 3GPP format</flag>
- </use>
- <upstream>
- <remote-id type="sourceforge">kino</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/media-video/libva-utils/Manifest b/media-video/libva-utils/Manifest
index 151036320da4..3aaebb2a8cc1 100644
--- a/media-video/libva-utils/Manifest
+++ b/media-video/libva-utils/Manifest
@@ -1,7 +1,3 @@
-DIST libva-utils-2.10.0.tar.gz 1203536 BLAKE2B c7b51e07618204c55e992f57dd2d80b289d2edd7b4f526c3afaaec1081f5497ac86614e097bc14a1e79d380ca2c529359d02cee601502e292ca8f89073d5fdbb SHA512 2d44c5e3f52ff4ce8bfb206af95c4d790b6d31ec21f899f0ec9604391359f55de06c63b446e19cd8f0ea0c36ccb4ac7cc5ae7fe68361eb263c01454682d18402
-DIST libva-utils-2.11.1.tar.gz 1205472 BLAKE2B 251a318d10eb5907e0ee54f101a153cfe76a98d61fc1f4fabf890901b52e980439d77acfbb4e1b566d361a7cda5c7ab504e575067eb932b0e121904be34b801f SHA512 d64c4767269a810386e02426fce3bde6aa693ac899ace22900e4ae4918dfe461736fe0a031db36751281d5bd78960354cdfa4ca13c5f7c30cc67d05abdd0bcd2
-DIST libva-utils-2.12.0.tar.gz 1213135 BLAKE2B 259ed063e178adc22aa9d69d92715420dd82f25c8b85ce946e13539d96723ee80d406052e4f7a646721f3d4ee4743ffea816c6916f4a5fd6aeeabf9bce1e6671 SHA512 38ef214fa8cb67b5252915e134333fab46d911cc4c9884576013083023e782bccf045ec01534024e901de1143f1ae85f52cdf6e6fe087cb9f3bf727c206d9746
-DIST libva-utils-2.4.0.tar.bz2 1030271 BLAKE2B b57947f9bd63f34b27a403484ae6b66e750f854dd87c8448afb3d361581d83b20a5ffd8d7e22c9dbf5fae6f7ff3fd62d70cc248b29a862066ff10928629e4d11 SHA512 c5c674179ed589968fd296a7e33dd57a3476c237d8e15258938b364051d501e156c22b41b98fe59d6bc36805495a934dee602ec9e9bb5350c72aa65d3d300ff6
-DIST libva-utils-2.8.0.tar.bz2 1037112 BLAKE2B 9168d7d489e1574d970e9e3a270946de522a4063b80c4cafe38cc6917b99deb6394570592d3ed29a0ff7b92f819b9bbc9eb2a8f3b70077625a2714f70ee1959e SHA512 b3412349234ad2923953296674926ee7cb33c43ce17df8942f751789f0208064a4557ca16e1a5878a4e1b35e5bbbd415a9c9f182ffb24e589ac4757e990576b5
-DIST libva-utils-2.8.0.tar.gz 1198057 BLAKE2B 7c3332fcd2f4631cb2f77d0775e7f542b8ffbbb77aac0fb0629fb2474563320dbbefa546999fc7c991e8081e82a2c48b1406a34d2f075c80fca391088d779fcc SHA512 2102c5bc2b9b1caa99852892b2b7c1f5db7846283781cec84fe9683ac245ea366120096c1032a2c8b36a7c5fc8e4cd68e3939b0a2712a15f453c33560217585d
-DIST libva-utils-2.9.1.tar.gz 1198337 BLAKE2B 58f5a6a537c68eed74aec5dc8f1c4b5a0431062d1d9803d8ccb1e5c3b534edf4f91288009d5940a0ddab49beeadae92bf361bec0bee8a3214f04f3c6767b0992 SHA512 39d79d4eed1fc0890fbf89d5689d4f01f704d3c71b4986e0eaf4c4a2f836cc36338d0a01630092a31b740588426398d0381eae1dc0302b0df94859d9161d8378
+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.10.0_test_in_sandbox.patch b/media-video/libva-utils/files/libva-utils-2.10.0_test_in_sandbox.patch
deleted file mode 100644
index c35e5926796f..000000000000
--- a/media-video/libva-utils/files/libva-utils-2.10.0_test_in_sandbox.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-There are only two test compatible with portage sandbox.
-All other tests require access to install VA driver and
-Intel video on the host machine.
-
-https://bugs.gentoo.org/647746
-https://bugs.gentoo.org/632180
-https://bugs.gentoo.org/714126
-https://bugs.gentoo.org/758620
---- a/test/Makefile.am
-+++ b/test/Makefile.am
-@@ -91,4 +91,4 @@ test_va_api_CXXFLAGS = \
- $(NULL)
-
- check-local: test_va_api
-- $(builddir)/test_va_api
-+ $(builddir)/test_va_api '--gtest_filter=Internal.*:VAAPIInitTerminate.InitTermWithoutDisplay'
-
diff --git a/media-video/libva-utils/libva-utils-2.10.0.ebuild b/media-video/libva-utils/libva-utils-2.10.0.ebuild
deleted file mode 100644
index 7803d68b4896..000000000000
--- a/media-video/libva-utils/libva-utils-2.10.0.ebuild
+++ /dev/null
@@ -1,61 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools
-
-DESCRIPTION="Collection of utilities and tests for VA-API"
-HOMEPAGE="https://01.org/linuxmedia/vaapi"
-if [[ ${PV} = *9999 ]] ; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/intel/libva-utils"
-else
- # Tarball with pre-built 'configure' not always available, portage use tarballs
- # without pre-built 'configure' as they are always avaialbe upstream.
- # SRC_URI="https://github.com/intel/libva-utils/releases/download/${PV}/${P}.tar.bz2"
- SRC_URI="https://github.com/intel/libva-utils/archive/${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
-fi
-
-LICENSE="MIT"
-SLOT="0"
-IUSE="+drm test wayland X"
-RESTRICT="!test? ( test )"
-
-REQUIRED_USE="|| ( drm wayland X )"
-
-BDEPEND="virtual/pkgconfig"
-
-if [[ ${PV} = *9999 ]] ; then
- DEPEND="~x11-libs/libva-${PV}:=[drm?,wayland?,X?]"
-else
- DEPEND=">=x11-libs/libva-$(ver_cut 1-2).0:=[drm?,wayland?,X?]"
-fi
-
-DEPEND+="
- wayland? ( >=dev-libs/wayland-1.0.6 )
- X? ( >=x11-libs/libX11-1.6.2 )
-"
-RDEPEND="${DEPEND}"
-
-PATCHES=( "${FILESDIR}/${PN}-2.10.0_test_in_sandbox.patch" )
-
-# CONTRIBUTING.md and README.md are avaialbe only in .tar.gz tarballs and in git
-DOCS=( NEWS CONTRIBUTING.md README.md )
-
-src_prepare() {
- default
- sed -e 's/-Werror//' -i test/Makefile.am || die
- eautoreconf
-}
-
-src_configure() {
- local myeconfargs=(
- $(use_enable drm)
- $(use_enable test tests)
- $(use_enable wayland)
- $(use_enable X x11)
- )
- econf "${myeconfargs[@]}"
-}
diff --git a/media-video/libva-utils/libva-utils-2.11.1.ebuild b/media-video/libva-utils/libva-utils-2.11.1.ebuild
deleted file mode 100644
index e9643c5b9aea..000000000000
--- a/media-video/libva-utils/libva-utils-2.11.1.ebuild
+++ /dev/null
@@ -1,96 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools
-
-DESCRIPTION="Collection of utilities and tests for VA-API"
-HOMEPAGE="https://01.org/linuxmedia/vaapi"
-if [[ ${PV} = *9999 ]] ; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/intel/libva-utils"
-else
- # Tarball with pre-built 'configure' not always available, portage use tarballs
- # without pre-built 'configure' as they are always avaialbe upstream.
- # SRC_URI="https://github.com/intel/libva-utils/releases/download/${PV}/${P}.tar.bz2"
- SRC_URI="https://github.com/intel/libva-utils/archive/${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
-fi
-
-LICENSE="MIT"
-SLOT="0"
-IUSE="+drm examples putsurface test test-va-api +vainfo wayland X"
-RESTRICT="!test? ( test )"
-
-REQUIRED_USE="
- || ( drm wayland X )
- putsurface? ( || ( wayland X ) )
- putsurface? ( drm )
- || ( examples putsurface test-va-api vainfo )
-"
-
-BDEPEND="virtual/pkgconfig"
-
-if [[ ${PV} = *9999 ]] ; then
- DEPEND="~x11-libs/libva-${PV}:=[drm?,wayland?,X?]"
-else
- DEPEND=">=x11-libs/libva-$(ver_cut 1-2).0:=[drm?,wayland?,X?]"
-fi
-
-DEPEND+="
- wayland? ( >=dev-libs/wayland-1.0.6 )
- X? ( >=x11-libs/libX11-1.6.2 )
-"
-RDEPEND="${DEPEND}"
-
-PATCHES=( "${FILESDIR}/${PN}-2.10.0_test_in_sandbox.patch" )
-
-# CONTRIBUTING.md and README.md are available only in .tar.gz tarballs and in git
-DOCS=( NEWS CONTRIBUTING.md README.md )
-
-src_prepare() {
- default
-
- sed -e 's/-Werror//' -i test/Makefile.am || die
-
- if ! use examples ; then
- sed -E -e '/^SUBDIRS \+?=/s!( decode\>| encode\>| videoprocess\>| vendor/intel\>| vendor/intel/sfcsample\>)!!g' -i Makefile.am || die
- fi
-
- if ! use putsurface ; then
- sed -E -e '/^SUBDIRS \+?=/s! putsurface\>!!g' -i Makefile.am || die
- fi
-
- if ! use vainfo ; then
- sed -E -e '/^SUBDIRS \+?=/s! vainfo\>!!g' -i Makefile.am || die
- fi
-
- eautoreconf
-}
-
-src_configure() {
- local myeconfargs=(
- $(use_enable drm)
- $(use_enable test tests)
- $(use_enable wayland)
- $(use_enable X x11)
- )
-
- if use test || use test-va-api ; then
- myeconfargs+=( --enable-tests )
- else
- myeconfargs+=( --disable-tests )
- fi
-
- econf "${myeconfargs[@]}"
-}
-
-src_install() {
- default
- if ! use test-va-api ; then
- if [[ -e "${ED}"/usr/bin/test_va_api ]] ; then
- rm -f "${ED}"/usr/bin/test_va_api || die
- fi
- fi
-}
diff --git a/media-video/libva-utils/libva-utils-2.12.0.ebuild b/media-video/libva-utils/libva-utils-2.12.0.ebuild
deleted file mode 100644
index a83fef488759..000000000000
--- a/media-video/libva-utils/libva-utils-2.12.0.ebuild
+++ /dev/null
@@ -1,97 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools
-
-DESCRIPTION="Collection of utilities and tests for VA-API"
-HOMEPAGE="https://01.org/linuxmedia/vaapi"
-if [[ ${PV} = *9999 ]] ; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/intel/libva-utils"
-else
- # Tarball with pre-built 'configure' not always available, portage use tarballs
- # without pre-built 'configure' as they are always avaialbe upstream.
- # SRC_URI="https://github.com/intel/libva-utils/releases/download/${PV}/${P}.tar.bz2"
- SRC_URI="https://github.com/intel/libva-utils/archive/${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="amd64 arm64 ~ppc64 ~riscv x86 ~amd64-linux ~x86-linux"
-fi
-
-LICENSE="MIT"
-SLOT="0"
-IUSE="+drm examples putsurface test test-va-api +vainfo wayland X"
-RESTRICT="!test? ( test )"
-
-REQUIRED_USE="
- || ( drm wayland X )
- putsurface? ( || ( wayland X ) )
- putsurface? ( drm )
- || ( examples putsurface test-va-api vainfo )
-"
-
-BDEPEND="virtual/pkgconfig"
-
-if [[ ${PV} = *9999 ]] ; then
- DEPEND="~x11-libs/libva-${PV}:=[drm?,wayland?,X?]"
-else
- DEPEND=">=x11-libs/libva-$(ver_cut 1-2).0:=[drm?,wayland?,X?]"
-fi
-
-DEPEND+="
- wayland? ( >=dev-libs/wayland-1.0.6 )
- X? ( >=x11-libs/libX11-1.6.2 )
-"
-RDEPEND="${DEPEND}"
-
-PATCHES=( "${FILESDIR}/${PN}-2.10.0_test_in_sandbox.patch" )
-
-# CONTRIBUTING.md and README.md are avaialbe only in .tar.gz tarballs and in git
-DOCS=( NEWS CONTRIBUTING.md README.md )
-
-src_prepare() {
- default
-
- sed -e 's/-Werror//' -i test/Makefile.am || die
-
- if ! use examples ; then
- sed -E -e '/^SUBDIRS \+?=/s!( decode\>| encode\>| videoprocess\>| vendor/intel\>| vendor/intel/sfcsample\>)!!g' -i Makefile.am || die
- fi
-
- if ! use putsurface ; then
- sed -E -e '/^SUBDIRS \+?=/s! putsurface\>!!g' -i Makefile.am || die
- fi
-
- if ! use vainfo ; then
- sed -E -e '/^SUBDIRS \+?=/s! vainfo\>!!g' -i Makefile.am || die
- fi
-
- eautoreconf
-}
-
-src_configure() {
- local myeconfargs=(
- $(use_enable drm)
- $(use_enable test tests)
- $(use_enable wayland)
- $(use_enable X x11)
- )
-
- if use test || use test-va-api ; then
- myeconfargs+=( --enable-tests )
- else
- myeconfargs+=( --disable-tests )
- fi
-
- econf "${myeconfargs[@]}"
-}
-
-src_install() {
- default
-
- if ! use test-va-api ; then
- if [[ -e "${ED}"/usr/bin/test_va_api ]] ; then
- rm -f "${ED}"/usr/bin/test_va_api || die
- fi
- fi
-}
diff --git a/media-video/libva-utils/libva-utils-2.20.0.ebuild b/media-video/libva-utils/libva-utils-2.20.0.ebuild
new file mode 100644
index 000000000000..28c1a1ca332c
--- /dev/null
+++ b/media-video/libva-utils/libva-utils-2.20.0.ebuild
@@ -0,0 +1,91 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit meson
+
+DESCRIPTION="Collection of utilities and tests for VA-API"
+HOMEPAGE="https://01.org/linuxmedia/vaapi"
+if [[ ${PV} = *9999 ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/intel/libva-utils"
+else
+ SRC_URI="https://github.com/intel/libva-utils/archive/${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="amd64 arm64 ppc64 ~riscv x86 ~amd64-linux ~x86-linux"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+IUSE="examples putsurface test +vainfo wayland X"
+RESTRICT="test" # Tests must be run manually
+
+REQUIRED_USE="
+ putsurface? ( || ( wayland X ) )
+ || ( examples putsurface test vainfo )
+"
+
+DEPEND="
+ x11-libs/libdrm
+ wayland? ( >=dev-libs/wayland-1.0.6 )
+ X? ( >=x11-libs/libX11-1.6.2 )
+"
+if [[ ${PV} = *9999 ]] ; then
+ DEPEND+="~media-libs/libva-${PV}:=[wayland?,X?]"
+else
+ DEPEND+=">=media-libs/libva-$(ver_cut 1-2).0:=[wayland?,X?]"
+fi
+RDEPEND="${DEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+src_prepare() {
+ default
+
+ local sed_args=()
+
+ if ! use examples ; then
+ sed_args+=(
+ -e "/^ subdir('decode')$/d"
+ -e "/^ subdir('encode')$/d"
+ -e "/^ subdir('videoprocess')$/d"
+ -e "/^ subdir('vendor\/intel')$/d"
+ -e "/^ subdir('vendor\/intel\/sfcsample')$/d"
+ )
+ fi
+
+ if ! use putsurface ; then
+ sed_args+=(-e "/^ subdir('putsurface')$/d")
+ fi
+
+ if ! use vainfo ; then
+ sed_args+=(-e "/^subdir('vainfo')$/d")
+ fi
+
+ if [[ ${#sed_args[@]} -gt 0 ]] ; then
+ sed "${sed_args[@]}" -i meson.build || die
+ fi
+}
+
+src_configure() {
+ local emesonargs=(
+ -Ddrm=true
+ $(meson_use X x11)
+ $(meson_use wayland)
+ $(meson_use test tests)
+ )
+ meson_src_configure
+}
+
+src_install() {
+ meson_src_install
+
+ if ! use test ; then
+ rm -f "${ED}"/usr/bin/test_va_api || die
+ fi
+}
+
+pkg_postinst() {
+ if use test ; then
+ elog "Tests must be run manually with the test_va_api binary"
+ fi
+}
diff --git a/media-video/libva-utils/libva-utils-2.20.1.ebuild b/media-video/libva-utils/libva-utils-2.20.1.ebuild
new file mode 100644
index 000000000000..4de57531c234
--- /dev/null
+++ b/media-video/libva-utils/libva-utils-2.20.1.ebuild
@@ -0,0 +1,91 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit meson
+
+DESCRIPTION="Collection of utilities and tests for VA-API"
+HOMEPAGE="https://01.org/linuxmedia/vaapi"
+if [[ ${PV} = *9999 ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/intel/libva-utils"
+else
+ SRC_URI="https://github.com/intel/libva-utils/archive/${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="amd64 arm64 ~loong ppc64 ~riscv x86 ~amd64-linux ~x86-linux"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+IUSE="examples putsurface test +vainfo wayland X"
+RESTRICT="test" # Tests must be run manually
+
+REQUIRED_USE="
+ putsurface? ( || ( wayland X ) )
+ || ( examples putsurface test vainfo )
+"
+
+DEPEND="
+ x11-libs/libdrm
+ wayland? ( >=dev-libs/wayland-1.0.6 )
+ X? ( >=x11-libs/libX11-1.6.2 )
+"
+if [[ ${PV} = *9999 ]] ; then
+ DEPEND+="~media-libs/libva-${PV}:=[wayland?,X?]"
+else
+ DEPEND+=">=media-libs/libva-$(ver_cut 1-2).0:=[wayland?,X?]"
+fi
+RDEPEND="${DEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+src_prepare() {
+ default
+
+ local sed_args=()
+
+ if ! use examples ; then
+ sed_args+=(
+ -e "/^ subdir('decode')$/d"
+ -e "/^ subdir('encode')$/d"
+ -e "/^ subdir('videoprocess')$/d"
+ -e "/^ subdir('vendor\/intel')$/d"
+ -e "/^ subdir('vendor\/intel\/sfcsample')$/d"
+ )
+ fi
+
+ if ! use putsurface ; then
+ sed_args+=(-e "/^ subdir('putsurface')$/d")
+ fi
+
+ if ! use vainfo ; then
+ sed_args+=(-e "/^subdir('vainfo')$/d")
+ fi
+
+ if [[ ${#sed_args[@]} -gt 0 ]] ; then
+ sed "${sed_args[@]}" -i meson.build || die
+ fi
+}
+
+src_configure() {
+ local emesonargs=(
+ -Ddrm=true
+ $(meson_use X x11)
+ $(meson_use wayland)
+ $(meson_use test tests)
+ )
+ meson_src_configure
+}
+
+src_install() {
+ meson_src_install
+
+ if ! use test ; then
+ rm -f "${ED}"/usr/bin/test_va_api || die
+ fi
+}
+
+pkg_postinst() {
+ if use test ; then
+ elog "Tests must be run manually with the test_va_api binary"
+ fi
+}
diff --git a/media-video/libva-utils/libva-utils-2.21.0.ebuild b/media-video/libva-utils/libva-utils-2.21.0.ebuild
new file mode 100644
index 000000000000..4de57531c234
--- /dev/null
+++ b/media-video/libva-utils/libva-utils-2.21.0.ebuild
@@ -0,0 +1,91 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit meson
+
+DESCRIPTION="Collection of utilities and tests for VA-API"
+HOMEPAGE="https://01.org/linuxmedia/vaapi"
+if [[ ${PV} = *9999 ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/intel/libva-utils"
+else
+ SRC_URI="https://github.com/intel/libva-utils/archive/${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="amd64 arm64 ~loong ppc64 ~riscv x86 ~amd64-linux ~x86-linux"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+IUSE="examples putsurface test +vainfo wayland X"
+RESTRICT="test" # Tests must be run manually
+
+REQUIRED_USE="
+ putsurface? ( || ( wayland X ) )
+ || ( examples putsurface test vainfo )
+"
+
+DEPEND="
+ x11-libs/libdrm
+ wayland? ( >=dev-libs/wayland-1.0.6 )
+ X? ( >=x11-libs/libX11-1.6.2 )
+"
+if [[ ${PV} = *9999 ]] ; then
+ DEPEND+="~media-libs/libva-${PV}:=[wayland?,X?]"
+else
+ DEPEND+=">=media-libs/libva-$(ver_cut 1-2).0:=[wayland?,X?]"
+fi
+RDEPEND="${DEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+src_prepare() {
+ default
+
+ local sed_args=()
+
+ if ! use examples ; then
+ sed_args+=(
+ -e "/^ subdir('decode')$/d"
+ -e "/^ subdir('encode')$/d"
+ -e "/^ subdir('videoprocess')$/d"
+ -e "/^ subdir('vendor\/intel')$/d"
+ -e "/^ subdir('vendor\/intel\/sfcsample')$/d"
+ )
+ fi
+
+ if ! use putsurface ; then
+ sed_args+=(-e "/^ subdir('putsurface')$/d")
+ fi
+
+ if ! use vainfo ; then
+ sed_args+=(-e "/^subdir('vainfo')$/d")
+ fi
+
+ if [[ ${#sed_args[@]} -gt 0 ]] ; then
+ sed "${sed_args[@]}" -i meson.build || die
+ fi
+}
+
+src_configure() {
+ local emesonargs=(
+ -Ddrm=true
+ $(meson_use X x11)
+ $(meson_use wayland)
+ $(meson_use test tests)
+ )
+ meson_src_configure
+}
+
+src_install() {
+ meson_src_install
+
+ if ! use test ; then
+ rm -f "${ED}"/usr/bin/test_va_api || die
+ fi
+}
+
+pkg_postinst() {
+ if use test ; then
+ elog "Tests must be run manually with the test_va_api binary"
+ fi
+}
diff --git a/media-video/libva-utils/libva-utils-2.4.0.ebuild b/media-video/libva-utils/libva-utils-2.4.0.ebuild
deleted file mode 100644
index 81e7d37861c5..000000000000
--- a/media-video/libva-utils/libva-utils-2.4.0.ebuild
+++ /dev/null
@@ -1,62 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-if [[ ${PV} = *9999* ]] ; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/intel/libva-utils"
-fi
-inherit autotools
-
-DESCRIPTION="Collection of utilities and tests for VA-API"
-HOMEPAGE="https://01.org/linuxmedia/vaapi"
-if [[ ${PV} != *9999* ]] ; then
- SRC_URI="https://github.com/intel/libva-utils/releases/download/${PV}/${P}.tar.bz2"
- KEYWORDS="amd64 arm64 ppc64 x86 ~amd64-linux ~x86-linux"
-fi
-
-LICENSE="MIT"
-SLOT="0"
-IUSE="+drm test wayland X"
-RESTRICT="!test? ( test )"
-
-REQUIRED_USE="|| ( drm wayland X )"
-
-BDEPEND="
- virtual/pkgconfig
-"
-DEPEND="
- >=x11-libs/libva-2.0.0:=[drm?,wayland?,X?]
- drm? ( >=x11-libs/libdrm-2.4 )
- wayland? ( >=dev-libs/wayland-1.0.6 )
- X? (
- >=x11-libs/libX11-1.6.2
- >=x11-libs/libXext-1.3.2
- >=x11-libs/libXfixes-5.0.1
- )
-"
-RDEPEND="${DEPEND}"
-
-DOCS=( NEWS )
-
-src_prepare() {
- default
- sed -e 's/-Werror//' -i test/Makefile.am || die
- eautoreconf
-}
-
-src_configure() {
- local myeconfargs=(
- $(use_enable drm)
- $(use_enable test tests)
- $(use_enable wayland)
- $(use_enable X x11)
- )
- econf "${myeconfargs[@]}"
-}
-
-src_install() {
- [[ ${PV} = *9999* ]] && DOCS+=( CONTRIBUTING.md README.md )
- default
-}
diff --git a/media-video/libva-utils/libva-utils-2.8.0-r1.ebuild b/media-video/libva-utils/libva-utils-2.8.0-r1.ebuild
deleted file mode 100644
index d25c79ae5645..000000000000
--- a/media-video/libva-utils/libva-utils-2.8.0-r1.ebuild
+++ /dev/null
@@ -1,74 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-if [[ ${PV} = *9999* ]] ; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/intel/libva-utils"
-fi
-
-if [[ ${PV} = 2.8.0 ]]; then
- AUTOCONFIGURED="true"
-else
- AUTOCONFIGURED="false"
-fi
-
-if ! ${AUTOCONFIGURED}; then
- inherit autotools
-fi
-
-DESCRIPTION="Collection of utilities and tests for VA-API"
-HOMEPAGE="https://01.org/linuxmedia/vaapi"
-if [[ ${PV} != *9999* ]] ; then
- if ${AUTOCONFIGURED}; then
- SRC_URI="https://github.com/intel/libva-utils/releases/download/${PV}/${P}.tar.bz2"
- else
- SRC_URI="https://github.com/intel/libva-utils/archive/${PV}.tar.gz -> ${P}.tar.gz"
- fi
- KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
-fi
-
-LICENSE="MIT"
-SLOT="0"
-IUSE="+drm test wayland X"
-RESTRICT="!test? ( test )"
-REQUIRED_USE="|| ( drm wayland X )"
-
-BDEPEND="
- virtual/pkgconfig
-"
-DEPEND="
- >=x11-libs/libva-${PV}:=[drm?,wayland?,X?]
- wayland? ( >=dev-libs/wayland-1.0.6 )
- X? ( >=x11-libs/libX11-1.6.2 )
-"
-RDEPEND="${DEPEND}"
-
-DOCS=( NEWS )
-
-src_prepare() {
- default
- sed -e 's/-Werror//' -i test/Makefile.am || die
- if ${AUTOCONFIGURED}; then
- sed -e 's/-Werror//' -i test/Makefile.in || die
- touch ./configure || die
- else
- eautoreconf
- fi
-}
-
-src_configure() {
- local myeconfargs=(
- $(use_enable drm)
- $(use_enable test tests)
- $(use_enable wayland)
- $(use_enable X x11)
- )
- econf "${myeconfargs[@]}"
-}
-
-src_install() {
- [[ ${PV} = *9999* ]] && DOCS+=( CONTRIBUTING.md README.md )
- default
-}
diff --git a/media-video/libva-utils/libva-utils-2.8.0-r2.ebuild b/media-video/libva-utils/libva-utils-2.8.0-r2.ebuild
deleted file mode 100644
index 7803d68b4896..000000000000
--- a/media-video/libva-utils/libva-utils-2.8.0-r2.ebuild
+++ /dev/null
@@ -1,61 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools
-
-DESCRIPTION="Collection of utilities and tests for VA-API"
-HOMEPAGE="https://01.org/linuxmedia/vaapi"
-if [[ ${PV} = *9999 ]] ; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/intel/libva-utils"
-else
- # Tarball with pre-built 'configure' not always available, portage use tarballs
- # without pre-built 'configure' as they are always avaialbe upstream.
- # SRC_URI="https://github.com/intel/libva-utils/releases/download/${PV}/${P}.tar.bz2"
- SRC_URI="https://github.com/intel/libva-utils/archive/${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
-fi
-
-LICENSE="MIT"
-SLOT="0"
-IUSE="+drm test wayland X"
-RESTRICT="!test? ( test )"
-
-REQUIRED_USE="|| ( drm wayland X )"
-
-BDEPEND="virtual/pkgconfig"
-
-if [[ ${PV} = *9999 ]] ; then
- DEPEND="~x11-libs/libva-${PV}:=[drm?,wayland?,X?]"
-else
- DEPEND=">=x11-libs/libva-$(ver_cut 1-2).0:=[drm?,wayland?,X?]"
-fi
-
-DEPEND+="
- wayland? ( >=dev-libs/wayland-1.0.6 )
- X? ( >=x11-libs/libX11-1.6.2 )
-"
-RDEPEND="${DEPEND}"
-
-PATCHES=( "${FILESDIR}/${PN}-2.10.0_test_in_sandbox.patch" )
-
-# CONTRIBUTING.md and README.md are avaialbe only in .tar.gz tarballs and in git
-DOCS=( NEWS CONTRIBUTING.md README.md )
-
-src_prepare() {
- default
- sed -e 's/-Werror//' -i test/Makefile.am || die
- eautoreconf
-}
-
-src_configure() {
- local myeconfargs=(
- $(use_enable drm)
- $(use_enable test tests)
- $(use_enable wayland)
- $(use_enable X x11)
- )
- econf "${myeconfargs[@]}"
-}
diff --git a/media-video/libva-utils/libva-utils-2.8.0.ebuild b/media-video/libva-utils/libva-utils-2.8.0.ebuild
deleted file mode 100644
index f5a0b8cea6d2..000000000000
--- a/media-video/libva-utils/libva-utils-2.8.0.ebuild
+++ /dev/null
@@ -1,63 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-if [[ ${PV} = *9999* ]] ; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/intel/libva-utils"
-fi
-
-inherit autotools
-
-DESCRIPTION="Collection of utilities and tests for VA-API"
-HOMEPAGE="https://01.org/linuxmedia/vaapi"
-if [[ ${PV} != *9999* ]] ; then
- SRC_URI="https://github.com/intel/libva-utils/releases/download/${PV}/${P}.tar.bz2"
- KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux"
-fi
-
-LICENSE="MIT"
-SLOT="0"
-IUSE="+drm test wayland X"
-RESTRICT="!test? ( test )"
-
-REQUIRED_USE="|| ( drm wayland X )"
-
-BDEPEND="
- virtual/pkgconfig
-"
-DEPEND="
- >=x11-libs/libva-2.0.0:=[drm?,wayland?,X?]
- drm? ( >=x11-libs/libdrm-2.4 )
- wayland? ( >=dev-libs/wayland-1.0.6 )
- X? (
- >=x11-libs/libX11-1.6.2
- >=x11-libs/libXext-1.3.2
- >=x11-libs/libXfixes-5.0.1
- )
-"
-RDEPEND="${DEPEND}"
-
-DOCS=( NEWS )
-
-src_prepare() {
- default
- sed -e 's/-Werror//' -i test/Makefile.am || die
- eautoreconf
-}
-
-src_configure() {
- local myeconfargs=(
- $(use_enable drm)
- $(use_enable test tests)
- $(use_enable wayland)
- $(use_enable X x11)
- )
- econf "${myeconfargs[@]}"
-}
-
-src_install() {
- [[ ${PV} = *9999* ]] && DOCS+=( CONTRIBUTING.md README.md )
- default
-}
diff --git a/media-video/libva-utils/libva-utils-2.9.1-r1.ebuild b/media-video/libva-utils/libva-utils-2.9.1-r1.ebuild
deleted file mode 100644
index 7803d68b4896..000000000000
--- a/media-video/libva-utils/libva-utils-2.9.1-r1.ebuild
+++ /dev/null
@@ -1,61 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools
-
-DESCRIPTION="Collection of utilities and tests for VA-API"
-HOMEPAGE="https://01.org/linuxmedia/vaapi"
-if [[ ${PV} = *9999 ]] ; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/intel/libva-utils"
-else
- # Tarball with pre-built 'configure' not always available, portage use tarballs
- # without pre-built 'configure' as they are always avaialbe upstream.
- # SRC_URI="https://github.com/intel/libva-utils/releases/download/${PV}/${P}.tar.bz2"
- SRC_URI="https://github.com/intel/libva-utils/archive/${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
-fi
-
-LICENSE="MIT"
-SLOT="0"
-IUSE="+drm test wayland X"
-RESTRICT="!test? ( test )"
-
-REQUIRED_USE="|| ( drm wayland X )"
-
-BDEPEND="virtual/pkgconfig"
-
-if [[ ${PV} = *9999 ]] ; then
- DEPEND="~x11-libs/libva-${PV}:=[drm?,wayland?,X?]"
-else
- DEPEND=">=x11-libs/libva-$(ver_cut 1-2).0:=[drm?,wayland?,X?]"
-fi
-
-DEPEND+="
- wayland? ( >=dev-libs/wayland-1.0.6 )
- X? ( >=x11-libs/libX11-1.6.2 )
-"
-RDEPEND="${DEPEND}"
-
-PATCHES=( "${FILESDIR}/${PN}-2.10.0_test_in_sandbox.patch" )
-
-# CONTRIBUTING.md and README.md are avaialbe only in .tar.gz tarballs and in git
-DOCS=( NEWS CONTRIBUTING.md README.md )
-
-src_prepare() {
- default
- sed -e 's/-Werror//' -i test/Makefile.am || die
- eautoreconf
-}
-
-src_configure() {
- local myeconfargs=(
- $(use_enable drm)
- $(use_enable test tests)
- $(use_enable wayland)
- $(use_enable X x11)
- )
- econf "${myeconfargs[@]}"
-}
diff --git a/media-video/libva-utils/libva-utils-2.9.1.ebuild b/media-video/libva-utils/libva-utils-2.9.1.ebuild
deleted file mode 100644
index 5c4c9e2040af..000000000000
--- a/media-video/libva-utils/libva-utils-2.9.1.ebuild
+++ /dev/null
@@ -1,62 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-if [[ ${PV} = *9999* ]] ; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/intel/libva-utils"
-fi
-inherit autotools
-
-DESCRIPTION="Collection of utilities and tests for VA-API"
-HOMEPAGE="https://01.org/linuxmedia/vaapi"
-if [[ ${PV} != *9999* ]] ; then
- SRC_URI="https://github.com/intel/libva-utils/archive/${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
-fi
-
-LICENSE="MIT"
-SLOT="0"
-IUSE="+drm test wayland X"
-RESTRICT="!test? ( test )"
-
-REQUIRED_USE="|| ( drm wayland X )"
-
-BDEPEND="
- virtual/pkgconfig
-"
-DEPEND="
- >=x11-libs/libva-2.0.0:=[drm?,wayland?,X?]
- drm? ( >=x11-libs/libdrm-2.4 )
- wayland? ( >=dev-libs/wayland-1.0.6 )
- X? (
- >=x11-libs/libX11-1.6.2
- >=x11-libs/libXext-1.3.2
- >=x11-libs/libXfixes-5.0.1
- )
-"
-RDEPEND="${DEPEND}"
-
-DOCS=( NEWS )
-
-src_prepare() {
- default
- sed -e 's/-Werror//' -i test/Makefile.am || die
- eautoreconf
-}
-
-src_configure() {
- local myeconfargs=(
- $(use_enable drm)
- $(use_enable test tests)
- $(use_enable wayland)
- $(use_enable X x11)
- )
- econf "${myeconfargs[@]}"
-}
-
-src_install() {
- [[ ${PV} = *9999* ]] && DOCS+=( CONTRIBUTING.md README.md )
- default
-}
diff --git a/media-video/libva-utils/libva-utils-9999.ebuild b/media-video/libva-utils/libva-utils-9999.ebuild
index 0155912ee582..061e8bcaf812 100644
--- a/media-video/libva-utils/libva-utils-9999.ebuild
+++ b/media-video/libva-utils/libva-utils-9999.ebuild
@@ -1,97 +1,91 @@
-# 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 autotools
+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
- # Tarball with pre-built 'configure' not always available, portage use tarballs
- # without pre-built 'configure' as they are always avaialbe upstream.
- # SRC_URI="https://github.com/intel/libva-utils/releases/download/${PV}/${P}.tar.bz2"
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"
SLOT="0"
-IUSE="+drm examples putsurface test test-va-api +vainfo wayland X"
-RESTRICT="!test? ( test )"
+IUSE="examples putsurface test +vainfo wayland X"
+RESTRICT="test" # Tests must be run manually
REQUIRED_USE="
- || ( drm wayland X )
putsurface? ( || ( wayland X ) )
- putsurface? ( drm )
- || ( examples putsurface test-va-api vainfo )
+ || ( examples putsurface test vainfo )
"
-BDEPEND="virtual/pkgconfig"
-
-if [[ ${PV} = *9999 ]] ; then
- DEPEND="~x11-libs/libva-${PV}:=[drm?,wayland?,X?]"
-else
- DEPEND=">=x11-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}"
-
-PATCHES=( "${FILESDIR}/${PN}-2.10.0_test_in_sandbox.patch" )
-
-# CONTRIBUTING.md and README.md are avaialbe only in .tar.gz tarballs and in git
-DOCS=( NEWS CONTRIBUTING.md README.md )
+BDEPEND="virtual/pkgconfig"
src_prepare() {
default
- sed -e 's/-Werror//' -i test/Makefile.am || die
+ local sed_args=()
if ! use examples ; then
- sed -E -e '/^SUBDIRS \+?=/s!( decode\>| encode\>| videoprocess\>| vendor/intel\>| vendor/intel/sfcsample\>)!!g' -i Makefile.am || die
+ sed_args+=(
+ -e "/^ subdir('decode')$/d"
+ -e "/^ subdir('encode')$/d"
+ -e "/^ subdir('videoprocess')$/d"
+ -e "/^ subdir('vendor\/intel')$/d"
+ -e "/^ subdir('vendor\/intel\/sfcsample')$/d"
+ )
fi
if ! use putsurface ; then
- sed -E -e '/^SUBDIRS \+?=/s! putsurface\>!!g' -i Makefile.am || die
+ sed_args+=(-e "/^ subdir('putsurface')$/d")
fi
if ! use vainfo ; then
- sed -E -e '/^SUBDIRS \+?=/s! vainfo\>!!g' -i Makefile.am || die
+ sed_args+=(-e "/^subdir('vainfo')$/d")
fi
- eautoreconf
+ if [[ ${#sed_args[@]} -gt 0 ]] ; then
+ sed "${sed_args[@]}" -i meson.build || die
+ fi
}
src_configure() {
- local myeconfargs=(
- $(use_enable drm)
- $(use_enable test tests)
- $(use_enable wayland)
- $(use_enable X x11)
+ local emesonargs=(
+ -Ddrm=true
+ $(meson_use X x11)
+ $(meson_use wayland)
+ $(meson_use test tests)
)
-
- if use test || use test-va-api ; then
- myeconfargs+=( --enable-tests )
- else
- myeconfargs+=( --disable-tests )
- fi
-
- econf "${myeconfargs[@]}"
+ meson_src_configure
}
src_install() {
- default
+ meson_src_install
+
+ if ! use test ; then
+ rm -f "${ED}"/usr/bin/test_va_api || die
+ fi
+}
- if ! use test-va-api ; then
- if [[ -e "${ED}"/usr/bin/test_va_api ]] ; then
- rm -f "${ED}"/usr/bin/test_va_api || die
- fi
+pkg_postinst() {
+ if use test ; then
+ elog "Tests must be run manually with the test_va_api binary"
fi
}
diff --git a/media-video/libva-utils/metadata.xml b/media-video/libva-utils/metadata.xml
index 1952a21fa412..3ee8ad5222fc 100644
--- a/media-video/libva-utils/metadata.xml
+++ b/media-video/libva-utils/metadata.xml
@@ -1,15 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>aballier@gentoo.org</email>
- <name>Alexis Ballier</name>
+ <maintainer type="project">
+ <email>vaapi@gentoo.org</email>
+ <name>VA-API Project</name>
</maintainer>
<use>
- <flag name="drm">Enables VA/DRM API support.</flag>
<flag name="examples">Build and install decode, encode, videoprocess and other VA-API examples.</flag>
<flag name="putsurface">Build and install putsurface tool.</flag>
- <flag name="test-va-api">Install test_va_api tool for thorough testing of the installed VA-API.</flag>
<flag name="vainfo">Build and install vainfo tool.</flag>
</use>
<upstream>
diff --git a/media-video/lsdvd/lsdvd-0.17.ebuild b/media-video/lsdvd/lsdvd-0.17.ebuild
index b4b39ff9fa7d..8e7ad78a3d30 100644
--- a/media-video/lsdvd/lsdvd-0.17.ebuild
+++ b/media-video/lsdvd/lsdvd-0.17.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2003-2021 Gentoo Authors
+# Copyright 2003-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -7,7 +7,7 @@ inherit autotools
DESCRIPTION="Utility for getting info out of DVDs"
HOMEPAGE="https://sourceforge.net/projects/lsdvd/"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
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/files/lxdvdrip-1.77-makefile.patch b/media-video/lxdvdrip/files/lxdvdrip-1.77-makefile.patch
index 35df8fb65400..5d2684c07c88 100644
--- a/media-video/lxdvdrip/files/lxdvdrip-1.77-makefile.patch
+++ b/media-video/lxdvdrip/files/lxdvdrip-1.77-makefile.patch
@@ -1,5 +1,5 @@
---- Makefile.orig 2014-03-17 15:40:30.886570544 -0600
-+++ Makefile 2014-03-17 15:41:22.729159468 -0600
+--- a/Makefile
++++ b/Makefile
@@ -3,31 +3,15 @@
HINWEIS1 = 'Check the configuration file in /etc with the Changelog'
HINWEIS2 = 'Comparez le fichier de config. en /etc avec le Changelog'
diff --git a/media-video/lxdvdrip/files/lxdvdrip-1.77-vamps-makefile.patch b/media-video/lxdvdrip/files/lxdvdrip-1.77-vamps-makefile.patch
index 7c32d44ef371..325e4cb05068 100644
--- a/media-video/lxdvdrip/files/lxdvdrip-1.77-vamps-makefile.patch
+++ b/media-video/lxdvdrip/files/lxdvdrip-1.77-vamps-makefile.patch
@@ -1,6 +1,11 @@
---- vamps/Makefile.orig 2014-03-17 15:44:50.086513525 -0600
-+++ vamps/Makefile 2014-03-17 15:44:56.443321441 -0600
-@@ -21,7 +21,7 @@
+--- a/vamps/Makefile
++++ b/vamps/Makefile
+@@ -17,11 +17,11 @@
+
+ PREFIX ?= /usr/local
+
+-CC = gcc
++CC ?= gcc
CFLAGS ?= -O2 -g -D_LARGEFILE_SOURCE -DLARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 \
-D_XOPEN_SOURCE=500 -D_BSD_SOURCE -D_REENTRANT
CFLAGS += -Wall
diff --git a/media-video/lxdvdrip/lxdvdrip-1.77.ebuild b/media-video/lxdvdrip/lxdvdrip-1.77-r1.ebuild
index f925ac98c665..3bf34005cc54 100644
--- a/media-video/lxdvdrip/lxdvdrip-1.77.ebuild
+++ b/media-video/lxdvdrip/lxdvdrip-1.77-r1.ebuild
@@ -1,35 +1,35 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=5
+EAPI=8
-inherit epatch toolchain-funcs
+inherit toolchain-funcs
DESCRIPTION="Command line tool to automate the process of ripping and burning DVDs"
-SRC_URI="mirror://sourceforge/lxdvdrip/${P}.tgz"
HOMEPAGE="https://sourceforge.net/projects/lxdvdrip/"
+SRC_URI="https://downloads.sourceforge.net/lxdvdrip/${P}.tgz"
+S="${WORKDIR}/${PN}"
+
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~x86"
-IUSE=""
DEPEND="media-libs/libdvdread"
RDEPEND="${DEPEND}
>=media-video/dvdauthor-0.6.9
media-video/streamdvd
- media-video/mpgtx"
+ media-video/mpgtx
+"
-S="${WORKDIR}/${PN}"
-
-src_prepare() {
- epatch "${FILESDIR}/${P}-makefile.patch"
- epatch "${FILESDIR}/${P}-vamps-makefile.patch"
-}
+PATCHES=(
+ "${FILESDIR}"/${P}-makefile.patch
+ "${FILESDIR}"/${P}-vamps-makefile.patch
+)
src_compile() {
- CC="$(tc-getCC)" emake
- cd "${S}/vamps"
- emake CC="$(tc-getCC)"
+ tc-export CC
+ emake
+ emake -C vamps
}
src_install() {
@@ -45,6 +45,6 @@ src_install() {
insinto /etc
newins doc-pak/lxdvdrip.conf.EN lxdvdrip.conf
- cd "${S}/vamps"
+ cd vamps || die
emake PREFIX="${D}/usr" install
}
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..fba6b75e2c95
--- /dev/null
+++ b/media-video/lxdvdrip/lxdvdrip-1.77-r2.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2024 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="https://downloads.sourceforge.net/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 6659e450f4a3..01f177748549 100644
--- a/media-video/makemkv/Manifest
+++ b/media-video/makemkv/Manifest
@@ -1,2 +1,2 @@
-DIST makemkv-bin-1.16.4.tar.gz 15455839 BLAKE2B 5d29416beeb06f5fc66db39e5323de4d3491b120ec1b734183c9aaf937baf8a63a277ddb378b668d9659c34449c474e2ab9a7bb82a448f33de85abf82e5e791b SHA512 d2d12a18ef64e77d7a47e1e68ced265fbd2071fd60fb8118085c2b8c892132e9ef81f1a54c09e5f45be6f880a91cef3bb25ed5e86e3735f5b449c6b7fb88a72f
-DIST makemkv-oss-1.16.4.tar.gz 6536730 BLAKE2B 8f5167c6b5056f9ea38a47b60875aac8394c130b40f08ef7a102f00937c34feb58e6436a9140509da9fc2d2b835956dede6bd8485827f3037b2026b0421a7094 SHA512 e25b41cbc348a49f13914af6b2dd040376c7517273dd4f49dc68fe9e363e28e336fb6d3d525b190c11d70e7c9b7127ffabdd89b3130cd1aab55a6a6f708d7452
+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/files/makemkv-flags.patch b/media-video/makemkv/files/makemkv-flags.patch
deleted file mode 100644
index d7a2f1be16c5..000000000000
--- a/media-video/makemkv/files/makemkv-flags.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/Makefile.in 2021-03-19 13:06:50.000000000 +0000
-+++ b/Makefile.in 2021-03-30 23:28:42.720480399 +0100
-@@ -112,7 +112,7 @@
-
- out/mmccextr.full: $(MMCCX_SRC) tmp/gen_buildinfo.h
- mkdir -p out
-- $(GCC) $(CFLAGS) $(MMCCEXTR_DEF) -DHAVE_BUILDINFO_H -Itmp -D_GNU_SOURCE -o$@ $(MMCCX_SRC) -lc \
-+ $(GCC) $(CFLAGS) $(LDFLAGS) $(MMCCEXTR_DEF) -DHAVE_BUILDINFO_H -Itmp -D_GNU_SOURCE -o$@ $(MMCCX_SRC) -lc \
- -ffunction-sections -Wl,--gc-sections -Wl,-z,defs
-
- tmp/gen_buildinfo.h:
diff --git a/media-video/makemkv/files/makemkvcon.1 b/media-video/makemkv/files/makemkvcon.1
new file mode 100644
index 000000000000..0abeaa5387e0
--- /dev/null
+++ b/media-video/makemkv/files/makemkvcon.1
@@ -0,0 +1,242 @@
+'\" t
+.\" Title: makemkvcon
+.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
+.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
+.\" Date: 05/20/2020
+.\" Manual: \ \&
+.\" Source: \ \&
+.\" Language: English
+.\"
+.TH "MAKEMKVCON" "1" "05/20/2020" "\ \&" "\ \&"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+makemkvcon \- MakeMKV console application
+.SH "SYNOPSIS"
+.sp
+\fBmakemkvcon\fR [\fIOPTIONS\fR] <backup|info|mkv> [\fIPARAMETERS\fR]
+.SH "DESCRIPTION"
+.sp
+Command\-line options for MakeMKV\&.
+.sp
+Configuration options and setup keys are located in ~/\&.MakeMKV/
+.SH "OPTIONS"
+.sp
+General options:
+.PP
+\fB\-\-messages=\fR\fIFILE\fR
+.RS 4
+Output all messgaes to a file\&. Special file names: stdout, stderr, null\&. Default is to stdout\&.
+.RE
+.PP
+\fB\-\-progress=\fR\fIFILE\fR
+.RS 4
+Output all progress messages to a file\&. Special file names: stdout, stderr, null\&. Use
+\fB\-same\fR
+to use
+\fB\-\-messages\fR
+argument\&. Default is no output\&.
+.RE
+.PP
+\fB\-\-debug\fR[=\fIFILE\fR]
+.RS 4
+Enables debug messages\&. Optionally saves to output file\&.
+.RE
+.PP
+\fB\-\-directio=[true|false]\fR
+.RS 4
+Enables or disables direct disc access\&.
+.RE
+.PP
+\fB\-\-noscan\fR
+.RS 4
+Don\(cqt access any media during disc scan and do not check for media insertion and removal\&. Helpful when other applications are already accessing discs in other drives\&.
+.RE
+.PP
+\fB\-\-cache=\fR\fISIZE\fR
+.RS 4
+Specifies size of read cache in megabytes\&. By default program uses a huge amount of memory\&. About 128 MB is recommended for streaming and backup, 512MB for DVD conversion and 1024MB for Blu\-ray conversion\&.
+.RE
+.PP
+\fB\-r, \-\-robot\fR
+.RS 4
+Enables automation mode\&. Program will output more information in a format that is easier to parse\&. All output is line\-based and output is flushed on line end\&. All strings are quoted, all control characters and quotes are backlash\-escaped\&. If you automate this program it is highly recommended to use this option\&. Some options make reference to apdefs\&.h file that can be found in MakeMKV open\-source package, included with version for Linux\&. These values will not change in future versions\&.
+.RE
+.sp
+Backup options:
+.PP
+\fB\-\-decrypt\fR
+.RS 4
+Decrypt stream files during backup\&. Default: no decryption\&.
+.RE
+.PP
+\fB\-\-minlength\fR=\fISECONDS\fR
+.RS 4
+Specify minimum title length\&. Default: program preferences\&.
+.RE
+.SH "COMMANDS"
+.sp
+\fBbackup\fR Backup disc\&.
+.sp
+\fBinfo\fR Display information about a disc\&.
+.sp
+\fBmkv\fR Copy titles from disc\&.
+.sp
+\fBf\fR Run universal firmware tool\&.
+.SH "PARAMETERS"
+.PP
+\fBsource iso:\fR\fIFILENAME\fR
+.RS 4
+Open ISO image\&.
+.RE
+.PP
+\fBsource file:\fR\fIDIRECTORY\fR
+.RS 4
+Open files in directory\&.
+.RE
+.PP
+\fBsource disc:\fR\fIDISC ID\fR
+.RS 4
+Open disc with ID\&.
+.RE
+.PP
+\fBsource dev:\fR\fIDEVICE\fR
+.RS 4
+Open disc with device name\&.
+.RE
+.SH "EXAMPLES"
+.sp
+Copy all titles from first disc and save as MKV files into current directory:
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+makemkvcon mkv disc:0 all \&.
+.fi
+.if n \{\
+.RE
+.\}
+.sp
+List all available drives:
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+makemkvcon \-r \-\-cache=1 info disc:9999
+.fi
+.if n \{\
+.RE
+.\}
+.sp
+Backup first disc decrypting all video files in automation mode with progress output:
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+makemkvcon backup \-\-decrypt \-\-cache=16 \-\-noscan \-r \-\-progress=\-same disc:0 \&.
+.fi
+.if n \{\
+.RE
+.\}
+.SH "MESSAGE FORMATS"
+.sp
+\fBMessage output\fR
+.sp
+MSG:code,flags,count,message,format,param0,param1,\&...
+.sp
+code \- unique message code, should be used to identify particular string in language\-neutral way\&.
+.sp
+flags \- message flags, see AP_UIMSG_xxx flags in apdefs\&.h
+.sp
+count \- number of parameters
+.sp
+message \- raw message string suitable for output
+.sp
+format \- format string used for message\&. This string is localized and subject to change, unlike message code\&.
+.sp
+paramX \- parameter for message
+.sp
+\fBCurrent and total progress title\fR
+.sp
+PRGC:code,id,name
+.sp
+PRGT:code,id,name
+.sp
+code \- unique message code
+.sp
+id \- operation sub\-id
+.sp
+name \- name string
+.sp
+\fBProgress bar values for current and total progress\fR
+.sp
+PRGV:current,total,max
+.sp
+current \- current progress value
+.sp
+total \- total progress value
+.sp
+max \- maximum possible value for a progress bar, constant
+.sp
+\fBDrive scan messages\fR
+.sp
+DRV:index,visible,enabled,flags,drive name,disc name
+.sp
+index \- drive index
+.sp
+visible \- set to 1 if drive is present
+.sp
+enabled \- set to 1 if drive is accessible
+.sp
+flags \- media flags, see AP_DskFsFlagXXX in apdefs\&.h
+.sp
+drive name \- drive name string
+.sp
+disc name \- disc name string
+.sp
+\fBDisc information output messages\fR
+.sp
+TCOUT:count
+.sp
+count \- titles count
+.sp
+\fBDisc, title and stream information\fR
+.sp
+CINFO:id,code,value
+.sp
+TINFO:id,code,value
+.sp
+SINFO:id,code,value
+.sp
+id \- attribute id, see AP_ItemAttributeId in apdefs\&.h
+.sp
+code \- message code if attribute value is a constant string
+.sp
+value \- attribute value
+.SH "RESOURCES"
+.sp
+Console usage: https://www\&.makemkv\&.com/developers/usage\&.txt
+.sp
+MakeMKV for Linux forum: https://www\&.makemkv\&.com/forum/viewforum\&.php?f=3
+.sp
+Main web site: https://www\&.makemkv\&.com/
diff --git a/media-video/makemkv/makemkv-1.16.4.ebuild b/media-video/makemkv/makemkv-1.17.6.ebuild
index ea05fb9afbb4..f5c346192737 100644
--- a/media-video/makemkv/makemkv-1.16.4.ebuild
+++ b/media-video/makemkv/makemkv-1.17.6.ebuild
@@ -1,7 +1,7 @@
-# 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 flag-o-matic linux-info xdg
@@ -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"
@@ -36,7 +36,6 @@ DEPEND="
"
RDEPEND="
${DEPEND}
- net-misc/wget
java? ( >=virtual/jre-1.8 )
"
BDEPEND="
@@ -49,7 +48,6 @@ S="${WORKDIR}/${MY_P}"
PATCHES=(
"${FILESDIR}"/${PN}-path.patch
- "${FILESDIR}"/${PN}-flags.patch
)
src_prepare() {
@@ -74,7 +72,7 @@ src_configure() {
src_install() {
local myarch
case "${ARCH}" in
- arm) myarch=armel ;;
+ arm) myarch=armhf ;;
x86) myarch=i386 ;;
*) myarch=${ARCH} ;;
esac
@@ -100,6 +98,9 @@ src_install() {
# install profiles and locales
insinto /usr/share/MakeMKV
doins src/share/*
+
+ # install unofficial man page
+ doman "${FILESDIR}"/makemkvcon.1
}
pkg_postinst() {
diff --git a/media-video/matroxset/matroxset-0.4-r1.ebuild b/media-video/matroxset/matroxset-0.4-r2.ebuild
index cb498e31f168..315ff4f04551 100644
--- a/media-video/matroxset/matroxset-0.4-r1.ebuild
+++ b/media-video/matroxset/matroxset-0.4-r2.ebuild
@@ -1,38 +1,29 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
-inherit toolchain-funcs
+EAPI=8
+
+inherit edo toolchain-funcs
DESCRIPTION="Matrox utility to switch output modes (activate tvout)"
HOMEPAGE="ftp://platan.vc.cvut.cz/pub/linux/matrox-latest/"
SRC_URI="ftp://platan.vc.cvut.cz/pub/linux/matrox-latest/${P}.tar.gz"
-LICENSE="GPL-2"
+LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 ppc x86"
-RDEPEND="
- sys-libs/ncurses:=
-"
-DEPEND="
- ${RDEPEND}
- virtual/pkgconfig
-"
-
-doecho() {
- echo "$@"
- "$@"
-}
+RDEPEND="sys-libs/ncurses:="
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
src_compile() {
- doecho $(tc-getCC) -o ${PN} \
+ edo $(tc-getCC) -o ${PN} \
${CFLAGS} ${LDFLAGS} \
${PN}.c \
- $($(tc-getPKG_CONFIG) --libs ncurses) \
- || die "build failed"
+ $($(tc-getPKG_CONFIG) --libs ncurses)
- #prepare small README
+ # Prepare small README
cat >> "${S}"/README << _EOF_
This utility has been created by Petr Vandrovec
diff --git a/media-video/mediainfo/Manifest b/media-video/mediainfo/Manifest
index 0d99235cd450..fed3d7176f69 100644
--- a/media-video/mediainfo/Manifest
+++ b/media-video/mediainfo/Manifest
@@ -1 +1,4 @@
-DIST mediainfo_20.09.tar.xz 1984148 BLAKE2B 6926d9ce787b9f9e5c07fe0ddf98e186139ea25c7ab6b3573dc1732850a7f98aeefdeca2157fdcad83d652332705028df12a1cf1e6377f9c1e23b7865578cfd8 SHA512 b6c8bf661585fa6b8e82c7f4bafacae8505078c5c57bc1c703ed16ac237dad0829569dd33fdaaadccd394bdd93088d9b71e5ad2c2294f75aa641004ec91feca9
+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-20.09.ebuild b/media-video/mediainfo/mediainfo-22.09.ebuild
index be6db587456b..68f70427ddc8 100644
--- a/media-video/mediainfo/mediainfo-20.09.ebuild
+++ b/media-video/mediainfo/mediainfo-22.09.ebuild
@@ -1,32 +1,36 @@
-# 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
-WX_GTK_VER="3.0"
+# 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 x86"
+KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 ~riscv x86"
IUSE="curl mms wxwidgets"
-RDEPEND="
- ~media-libs/libmediainfo-${PV}[curl=,mms=]
+RDEPEND="~media-libs/libmediainfo-${PV}[curl=,mms=]
>=media-libs/libzen-0.4.37
sys-libs/zlib
wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER}[X] )"
DEPEND="${RDEPEND}"
BDEPEND="virtual/pkgconfig"
-S=${WORKDIR}/MediaInfo
-
pkg_setup() {
TARGETS="CLI"
+
if use wxwidgets; then
TARGETS+=" GUI"
setup-wxwidgets
@@ -46,6 +50,7 @@ src_prepare() {
src_configure() {
local target
+
for target in ${TARGETS}; do
cd "${S}"/Project/GNU/${target} || die
local args=""
@@ -56,13 +61,16 @@ src_configure() {
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
diff --git a/media-video/mediainfo/mediainfo-20.09-r1.ebuild b/media-video/mediainfo/mediainfo-23.03.ebuild
index cb4768702f87..a45f63ada5af 100644
--- a/media-video/mediainfo/mediainfo-20.09-r1.ebuild
+++ b/media-video/mediainfo/mediainfo-23.03.ebuild
@@ -1,7 +1,12 @@
-# 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
+
+# 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
@@ -9,25 +14,26 @@ 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 ~x86"
+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.37
+ >=media-libs/libzen-0.4.41
sys-libs/zlib
wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER}[X] )
"
DEPEND="${RDEPEND}"
BDEPEND="virtual/pkgconfig"
-S="${WORKDIR}/MediaInfo"
-
pkg_setup() {
TARGETS="CLI"
+
if use wxwidgets; then
TARGETS+=" GUI"
setup-wxwidgets
@@ -47,6 +53,7 @@ src_prepare() {
src_configure() {
local target
+
for target in ${TARGETS}; do
cd "${S}"/Project/GNU/${target} || die
local args=""
@@ -57,13 +64,16 @@ src_configure() {
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
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/Manifest b/media-video/mjpegtools/Manifest
index b1342f697e62..06067cc179f8 100644
--- a/media-video/mjpegtools/Manifest
+++ b/media-video/mjpegtools/Manifest
@@ -1,2 +1 @@
-DIST mjpegtools-2.2.0.tar.bz2 1542088 BLAKE2B 61736ea0782ef098110370ab75feac2d344709a849326acc366cc1dedfabe0aaec797292f09de9d0da8a2ce94506dc2c8749212b49f99ffa8775f347eae94b46 SHA512 d645c0004bf20cab67d2e09cde709f05e32ab755b773c93f75ab65bf6d4ab23d80addf3f8b98e1ce59cc05efc0776b11ca0c71568acb81fab6a0f15e60bce71f
DIST mjpegtools-2.2.1.tar.gz 2326425 BLAKE2B a6f2698dda6b7c92a1a786f39bfb1989587b2c35a1f94e435247f04a01f405808d464470fddf1eddaee73df75daaef460bd62e901b89b2b2e0b095332492b20b SHA512 4d7f4dcf56a0e6079025bf0221ee632d91c4cc635a8c7eb9ddf3f7b86ad7250415c6dc4fd4113081920bc9c8fdc2552b8a3aaf896bf5a778acfacb15c7ded830
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.0-r1.ebuild b/media-video/mjpegtools/mjpegtools-2.2.0-r1.ebuild
deleted file mode 100644
index 0616cbf4c0af..000000000000
--- a/media-video/mjpegtools/mjpegtools-2.2.0-r1.ebuild
+++ /dev/null
@@ -1,112 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools flag-o-matic multilib-minimal toolchain-funcs
-
-DESCRIPTION="Tools for MJPEG video"
-HOMEPAGE="http://mjpeg.sourceforge.net/"
-SRC_URI="mirror://sourceforge/mjpeg/${P}.tar.bz2"
-
-LICENSE="GPL-2"
-# Compare with version in SONAME on major bumps (e.g. 2.1 -> 2.2)
-SLOT="1/2.2"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv sparc x86"
-IUSE="cpu_flags_x86_mmx dv gtk png quicktime sdl sdlgfx static-libs"
-REQUIRED_USE="sdlgfx? ( sdl )"
-
-BDEPEND="
- virtual/pkgconfig
-"
-RDEPEND="
- virtual/jpeg:0=[${MULTILIB_USEDEP}]
- dv? ( >=media-libs/libdv-1.0.0-r3[${MULTILIB_USEDEP}] )
- gtk? ( x11-libs/gtk+:2 )
- png? ( media-libs/libpng:0= )
- quicktime? ( >=media-libs/libquicktime-1.2.4-r1[${MULTILIB_USEDEP}] )
- sdl? (
- >=media-libs/libsdl-1.2.15-r4[${MULTILIB_USEDEP}]
- >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
- sdlgfx? ( media-libs/sdl-gfx )
- )
-"
-DEPEND="
- ${RDEPEND}
- >=sys-apps/sed-4
- virtual/awk
- cpu_flags_x86_mmx? ( dev-lang/nasm )
-"
-
-src_prepare() {
- default
-
- eautoreconf
- sed -i -e '/ARCHFLAGS=/s:=.*:=:' configure
-}
-
-multilib_src_configure() {
- [[ $(gcc-major-version) -eq 3 ]] && append-flags -mno-sse2
-
- local myconf=(
- --enable-compile-warnings
- $(use_enable cpu_flags_x86_mmx simd-accel)
- $(use_enable static-libs static)
- --enable-largefile
-
- $(use_with quicktime libquicktime)
- $(use_with dv libdv)
- $(use_with sdl libsdl)
- --without-v4l
- $(use_with sdl x)
-
- # used by tools only
- $(multilib_native_use_with gtk)
- $(multilib_native_use_with png libpng)
- $(multilib_native_use_with sdlgfx)
- )
-
- ECONF_SOURCE=${S} \
- econf "${myconf[@]}"
-}
-
-multilib_src_compile() {
- if multilib_is_native_abi; then
- default
- else
- # avoid building programs
- emake bin_PROGRAMS=
- fi
-}
-
-multilib_src_test() {
- # there are no tests at the moment, so it would just build
- # all programs in non-native ABIs...
- multilib_is_native_abi && default
-}
-
-multilib_src_install() {
- if multilib_is_native_abi; then
- default
- else
- emake DESTDIR="${D}" install \
- bin_PROGRAMS=
- fi
-}
-
-multilib_src_install_all() {
- einstalldocs
- dodoc mjpeg_howto.txt PLANS HINTS docs/FAQ.txt
-
- find "${D}" -name '*.la' -delete || die
-}
-
-pkg_postinst() {
- if [[ -z "${REPLACING_VERSIONS}" ]]; then
- elog "mjpegtools installs user contributed scripts which require additional"
- elog "dependencies not pulled in by the installation."
- elog "These have to be installed manually."
- elog "Currently known extra dpendencies are: ffmpeg, mencoder from mplayer,"
- elog "parts of transcode, mpeg2dec from libmpeg2, sox, toolame, vcdimager, python."
- fi
-}
diff --git a/media-video/mjpegtools/mjpegtools-2.2.1.ebuild b/media-video/mjpegtools/mjpegtools-2.2.1-r1.ebuild
index 54975b16164c..501d8c0b77b0 100644
--- a/media-video/mjpegtools/mjpegtools-2.2.1.ebuild
+++ b/media-video/mjpegtools/mjpegtools-2.2.1-r1.ebuild
@@ -1,18 +1,18 @@
-# Copyright 1999-2021 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="https://downloads.sourceforge.net/project/mjpeg/mjpegtools/${PV}/${P}.tar.gz"
LICENSE="GPL-2"
# Compare with version in SONAME on major bumps (e.g. 2.1 -> 2.2)
SLOT="1/2.2"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc x86"
IUSE="cpu_flags_x86_mmx dv gtk png quicktime sdl sdlgfx static-libs"
REQUIRED_USE="sdlgfx? ( sdl )"
@@ -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= )
@@ -33,21 +33,21 @@ RDEPEND="
"
DEPEND="
${RDEPEND}
- >=sys-apps/sed-4
- virtual/awk
+ app-alternatives/awk
cpu_flags_x86_mmx? ( dev-lang/nasm )
"
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
}
multilib_src_configure() {
- [[ $(gcc-major-version) -eq 3 ]] && append-flags -mno-sse2
-
local myconf=(
--enable-compile-warnings
$(use_enable cpu_flags_x86_mmx simd-accel)
diff --git a/media-video/mjpg-streamer/files/mjpg-streamer.initd b/media-video/mjpg-streamer/files/mjpg-streamer.initd
index e7116dba01d2..3b307e777c94 100644
--- a/media-video/mjpg-streamer/files/mjpg-streamer.initd
+++ b/media-video/mjpg-streamer/files/mjpg-streamer.initd
@@ -3,7 +3,7 @@
# Distributed under the terms of the GNU General Public License v2
MJPG_STREAMER_PIDFILE="${MJPG_STREAMER_PIDFILE:-/var/run/${SVCNAME}.pid}"
-MY_NAME=${SVCNAME//-/_}
+MY_NAME=$(printf %s "${SVCNAME}" | tr - _)
depend() {
use logger
@@ -11,17 +11,16 @@ depend() {
}
checkconfig() {
- local vars
+ set --
- [[ ${INPUT_PLUGIN} ]] || vars+=\ INPUT_PLUGIN
- [[ ${OUTPUT_PLUGIN} ]] || vars+=\ OUTPUT_PLUGIN
- [[ ${MJPG_STREAMER_USER} ]] || vars+=\ MJPG_STREAMER_USER
- [[ ${MJPG_STREAMER_GROUP} ]] || vars+=\ MJPG_STREAMER_GROUP
- vars="${vars# }"
+ [ "${INPUT_PLUGIN}" ] || set -- "$@" INPUT_PLUGIN
+ [ "${OUTPUT_PLUGIN}" ] || set -- "$@" OUTPUT_PLUGIN
+ [ "${MJPG_STREAMER_USER}" ] || set -- "$@" MJPG_STREAMER_USER
+ [ "${MJPG_STREAMER_GROUP}" ] || set -- "$@" MJPG_STREAMER_GROUP
- if [[ ${vars} ]]; then
+ if [ $# -gt 0 ]; then
eerror "Required variables in /etc/conf.d/${SVCNAME} are not set:"
- eerror " ${vars// /, }"
+ eerror " $(IFS=,; printf %s "$*")"
return 1
fi
@@ -31,7 +30,7 @@ checkconfig() {
start() {
checkconfig || return $?
ebegin "Starting ${SVCNAME}"
- start-stop-daemon --start --exec /usr/bin/${MY_NAME} \
+ start-stop-daemon --start --exec "/usr/bin/${MY_NAME}" \
--user "${MJPG_STREAMER_USER}" \
--group "${MJPG_STREAMER_GROUP}" -w 100 -b -m \
--pidfile "${MJPG_STREAMER_PIDFILE}" \
@@ -42,7 +41,7 @@ start() {
stop() {
ebegin "Stopping ${SVCNAME}"
- start-stop-daemon --stop --exec /usr/bin/${MY_NAME} \
+ start-stop-daemon --stop --exec "/usr/bin/${MY_NAME}" \
--pidfile "${MJPG_STREAMER_PIDFILE}"
eend $?
}
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/mkvalidator/mkvalidator-0.5.2.ebuild b/media-video/mkvalidator/mkvalidator-0.5.2.ebuild
index 45d0756c3054..776d0de60b28 100644
--- a/media-video/mkvalidator/mkvalidator-0.5.2.ebuild
+++ b/media-video/mkvalidator/mkvalidator-0.5.2.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=5
+EAPI=8
inherit toolchain-funcs
@@ -12,7 +12,6 @@ SRC_URI="https://downloads.sourceforge.net/project/matroska/${PN}/${P}.tar.bz2"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64 ~x86"
-IUSE=""
src_configure() {
tc-export CC CXX
diff --git a/media-video/mkvtoolnix/Manifest b/media-video/mkvtoolnix/Manifest
index 49693a8e0528..a8dfdb18eba3 100644
--- a/media-video/mkvtoolnix/Manifest
+++ b/media-video/mkvtoolnix/Manifest
@@ -1,3 +1,5 @@
-DIST mkvtoolnix-57.0.0.tar.xz 7635780 BLAKE2B e0253dc0f48b0c98ee30590560daecbb7cef19e0f92f5baa4694c829c75f28146f7cde58a85a02575b314c2f94efc048003e51f8f6b29abeff2ca1a8d1f28a18 SHA512 583cd9148a361f0886a3e18f32597a980b5ca56d1bba95b36ca613ee291f2cb3d95a0c749a32e6fa480e8dc8f8375e2bd04a1c4b21fd15d8056d8bb2d6082b99
-DIST mkvtoolnix-60.0.0.tar.xz 7657960 BLAKE2B 094c13ac7e73e79f3cc7eae0768625482c4808a4323239a93de34d1406583bfe676d71855dd1f7eae9a8a0ff0a7badf50c04c71f9d2fbb4afd9ff5f05b9353ea SHA512 90bbb95c3a7a91bd47f76aaec9459a1f6f26a381ff03db1047c0fdb41cb87bdd96160c448152357a2b306adbd26f478112ac5d5e8215ee37331a15fc89fa43c3
-DIST mkvtoolnix-61.0.0.tar.xz 7662500 BLAKE2B de9d73658fe779b34b21fded8e6676b76fed5ce5ecd598aeff12e8c4f120353f63413f260bacc30c0a102a4eb6d4b907feaabdd84d80d20469a3ae8341bce5f1 SHA512 9f35b5af8784eb4b92b437f41b5df677aa7fc859827eaef4d0e2d8531ad9908331f70a852c7e6e965a5f8cec47b38c6c91b8fbdbcaee0edca54f8cbb000ba582
+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-49.0.0-qt5dbus.patch b/media-video/mkvtoolnix/files/mkvtoolnix-49.0.0-qt5dbus.patch
deleted file mode 100644
index 1c59b2c3827a..000000000000
--- a/media-video/mkvtoolnix/files/mkvtoolnix-49.0.0-qt5dbus.patch
+++ /dev/null
@@ -1,32 +0,0 @@
---- a/ac/qt5.m4 2020-07-31 11:25:31.371508129 -0500
-+++ b/ac/qt5.m4 2020-07-31 11:30:14.967322450 -0500
-@@ -14,6 +14,11 @@
- AC_ARG_WITH([qt_pkg_config],
- AC_HELP_STRING([--without-qt-pkg-config], [do not use pkg-config for detecting Qt; 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])
-+
-+
-
- if test x"$enable_qt" = "xyes" -a \
- '(' x"$enable_gui" = x"yes" -o x"$enable_gui" = "x" ')'; then
-@@ -169,11 +174,13 @@
- AC_MSG_RESULT(no: not found by pkg-config)
- 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
diff --git a/media-video/mkvtoolnix/files/mkvtoolnix-56.1.0-optlevel.patch b/media-video/mkvtoolnix/files/mkvtoolnix-56.1.0-optlevel.patch
deleted file mode 100644
index c0f91deed696..000000000000
--- a/media-video/mkvtoolnix/files/mkvtoolnix-56.1.0-optlevel.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-https://gitlab.com/mbunkus/mkvtoolnix/-/commit/ba6db89e24aa84316372d59e6bba4ac88145b32a
-https://bugs.gentoo.org/786978#c10
-diff --git a/Rakefile b/Rakefile
-index 8c9487436ac627cc503e5f233d3f9c756f67fd86..ce564127eeb136b1c1784568ad68a4d593d0931a 100644
---- a/Rakefile
-+++ b/Rakefile
-@@ -355,7 +355,7 @@ cxx_compiler = lambda do |*args|
- # Even -O1 causes compilation time & memory usage to skyrocket,
- # possibly exponentially, with the number of entries to
- # emplace_back() into the vector.
-- flags.gsub!(%r{ -O\d+ }, ' -O0 ')
-+ flags.gsub!(%r{(^| )-O[^ ]*}, ' -O0')
- end
-
- args = [
diff --git a/media-video/mkvtoolnix/files/mkvtoolnix-67.0.0-no-uic-qtwidgets.patch b/media-video/mkvtoolnix/files/mkvtoolnix-67.0.0-no-uic-qtwidgets.patch
new file mode 100644
index 000000000000..a5f5fd2009b8
--- /dev/null
+++ b/media-video/mkvtoolnix/files/mkvtoolnix-67.0.0-no-uic-qtwidgets.patch
@@ -0,0 +1,76 @@
+https://bugs.gentoo.org/844097
+
+We should only check for UIC (provided by qtwidgets) if we're building the GUI.
+
+Qt (just qtcore) itself is *always* needed to build mkvtoolnix (it's used
+for e.g. MIME type detection since 59.0.0), but the rest of Qt
+(like qtwidgets) is only needed for the GUI build.
+
+The build system incorrectly unconditionally checks for UIC. We fix it here
+to only check for it when doing a GUI build.
+
+First hunk (ac/qt5.m4, removing UIC check): Signed-off-by: Duane Robertson duane@duanerobertson.com
+Second hunk (rest, adding UIC check conditional on enable_gui): Signed-off-by: Sam James <sam@gentoo.org>
+--- a/ac/qt5.m4
++++ b/ac/qt5.m4
+@@ -51,7 +51,6 @@ check_qt5() {
+ AC_PATH_PROG(LCONVERT, lconvert,, [$qt_searchpath])
+ AC_PATH_PROG(MOC, moc,, [$qt_searchpath])
+ AC_PATH_PROG(RCC, rcc,, [$qt_searchpath])
+- AC_PATH_PROG(UIC, uic,, [$qt_searchpath])
+
+ if test x"$MOC" = x; then
+ AC_MSG_CHECKING(for Qt 5)
+@@ -62,11 +61,6 @@ check_qt5() {
+ AC_MSG_CHECKING(for Qt 5)
+ AC_MSG_RESULT(no: could not find the rcc executable)
+ return
+-
+- elif test x"$UIC" = x; then
+- AC_MSG_CHECKING(for Qt 5)
+- AC_MSG_RESULT(no: could not find the uic executable)
+- return
+ fi
+
+
+
+--- a/ac/qt_common.m4
++++ b/ac/qt_common.m4
+@@ -5,6 +5,37 @@ fi
+ if test x"$enable_gui" = xyes; then
+ BUILD_GUI=yes
+
++ # Copied from ac/qt6.m4.
++ qmake_properties="`mktemp`"
++
++ "$QMAKE" -query > "$qmake_properties"
++
++ qmake_ver="`$ac_cv_path_EGREP '^QT_VERSION:' "$qmake_properties" | sed 's/^QT_VERSION://'`"
++
++ AC_MSG_CHECKING(for qmake's version)
++ if test -z "qmake_ver"; then
++ AC_MSG_RESULT(unknown; please contact the author)
++ return
++ elif ! check_version $qt_min_ver $qmake_ver; then
++ AC_MSG_RESULT(too old: $qmake_ver, neet at least $qt_mIN-ver)
++ return
++ else
++ AC_MSG_RESULT($qmake_ver)
++ fi
++
++ qt_bindir="`$ac_cv_path_EGREP '^QT_INSTALL_BINS:' "$qmake_properties" | sed 's/^QT_INSTALL_BINS://'`"
++ qt_libexecdir="`$ac_cv_path_EGREP '^QT_INSTALL_LIBEXECS:' "$qmake_properties" | sed 's/^QT_INSTALL_LIBEXECS://'`"
++ qt_searchpath="$qt_libexecdir:$qt_bindir:$PATH"
++
++ rm -f "$qmake_properties"
++
++ AC_PATH_PROG(UIC, uic,, [$qt_searchpath])
++ if test x"$UIC" = x; then
++ AC_MSG_CHECKING(for Qt 5 UIC (qtwidgets))
++ AC_MSG_RESULT(no: could not find the uic executable)
++ exit 1
++ fi
++
+ if test x"$have_qt6" = "xyes" ; then
+ opt_features_yes="$opt_features_yes\n * MKVToolNix GUI (with Qt 6)"
+ else
diff --git a/media-video/mkvtoolnix/files/mkvtoolnix-80.0.0-fix-qtmultimedia.patch b/media-video/mkvtoolnix/files/mkvtoolnix-80.0.0-fix-qtmultimedia.patch
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/metadata.xml b/media-video/mkvtoolnix/metadata.xml
index 047ba8b96207..f305037837b0 100644
--- a/media-video/mkvtoolnix/metadata.xml
+++ b/media-video/mkvtoolnix/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="gitlab">mbunkus/mkvtoolnix</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/media-video/mkvtoolnix/mkvtoolnix-57.0.0.ebuild b/media-video/mkvtoolnix/mkvtoolnix-57.0.0.ebuild
deleted file mode 100644
index 33522f391c02..000000000000
--- a/media-video/mkvtoolnix/mkvtoolnix-57.0.0.ebuild
+++ /dev/null
@@ -1,131 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools flag-o-matic toolchain-funcs multiprocessing qmake-utils xdg
-
-if [[ ${PV} == *9999 ]] ; then
- EGIT_REPO_URI="https://gitlab.com/mbunkus/mkvtoolnix.git"
- EGIT_SUBMODULES=()
- inherit git-r3
-else
- SRC_URI="https://mkvtoolnix.download/sources/${P}.tar.xz"
- KEYWORDS="amd64 ppc ppc64 x86"
-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 nls pch qt5 test"
-RESTRICT="!test? ( test )"
-
-# check NEWS.md for build system changes entries for boost/libebml/libmatroska
-# version requirement updates and other packaging info
-RDEPEND="
- >=dev-libs/boost-1.60:=
- >=dev-libs/libebml-1.4.0:=
- >=dev-libs/libfmt-6.1.0:=
- dev-libs/libpcre2:=
- dev-libs/pugixml:=
- media-libs/flac:=
- >=media-libs/libmatroska-1.6.3:=
- media-libs/libogg:=
- media-libs/libvorbis:=
- sys-apps/file
- sys-libs/zlib
- dvd? ( media-libs/libdvdread:= )
- qt5? (
- dev-qt/qtcore:5
- dev-qt/qtgui:5
- dev-qt/qtnetwork:5
- dev-qt/qtwidgets:5
- dev-qt/qtconcurrent:5
- dev-qt/qtmultimedia:5
- app-text/cmark:0=
- dbus? ( dev-qt/qtdbus:5 )
- )
-"
-DEPEND="${RDEPEND}
- dev-cpp/nlohmann_json
- dev-libs/utfcpp
- 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
- )
-"
-
-PATCHES=( "${FILESDIR}"/mkvtoolnix-49.0.0-qt5dbus.patch
- "${FILESDIR}"/mkvtoolnix-56.1.0-optlevel.patch )
-
-src_prepare() {
- xdg_src_prepare
- if [[ ${PV} == *9999 ]]; then
- ./autogen.sh || die
- fi
-
- # https://bugs.gentoo.org/692018
- sed -e 's/pandoc/diSaBlEd/' -i 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 qt5 qt)
- $(use_with dvd dvdread)
- $(use_with nls gettext)
- $(usex nls "" --with-po4a-translate=false)
- --disable-update-check
- --disable-optimization
- --with-boost="${ESYSROOT}"/usr
- --with-boost-libdir="${ESYSROOT}"/usr/$(get_libdir)
- )
-
- if use qt5 ; then
- # ac/qt5.m4 finds default Qt version set by qtchooser, bug #532600
- myeconfargs+=(
- --with-moc=$(qt5_get_bindir)/moc
- --with-uic=$(qt5_get_bindir)/uic
- --with-rcc=$(qt5_get_bindir)/rcc
- --with-qmake=$(qt5_get_bindir)/qmake
- )
- fi
-
- 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-61.0.0.ebuild b/media-video/mkvtoolnix/mkvtoolnix-77.0.ebuild
index 11a26571c2ed..19b76609dc6a 100644
--- a/media-video/mkvtoolnix/mkvtoolnix-61.0.0.ebuild
+++ b/media-video/mkvtoolnix/mkvtoolnix-77.0.ebuild
@@ -1,7 +1,7 @@
-# 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 flag-o-matic multiprocessing qmake-utils xdg
@@ -11,7 +11,7 @@ if [[ ${PV} == *9999 ]] ; then
inherit git-r3
else
SRC_URI="https://mkvtoolnix.download/sources/${P}.tar.xz"
- KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
+ KEYWORDS="amd64 ppc ppc64 x86"
fi
DESCRIPTION="Tools to create, alter, and inspect Matroska files"
@@ -19,26 +19,26 @@ HOMEPAGE="https://mkvtoolnix.download/ https://gitlab.com/mbunkus/mkvtoolnix"
LICENSE="GPL-2"
SLOT="0"
-IUSE="dbus debug dvd nls pch test gui"
+IUSE="dbus 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="
- >=dev-libs/boost-1.66:=
- >=dev-libs/libebml-1.4.0:=
- >=dev-libs/libfmt-6.1.0:=
- dev-libs/libpcre2:=
- dev-libs/pugixml:=
+ 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.6.3:=
+ >=media-libs/libmatroska-1.7.1:=
media-libs/libogg:=
media-libs/libvorbis:=
- sys-apps/file
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
@@ -49,8 +49,8 @@ RDEPEND="
dbus? ( dev-qt/qtdbus:5 )
"
DEPEND="${RDEPEND}
- dev-cpp/nlohmann_json
- dev-libs/utfcpp
+ >=dev-cpp/nlohmann_json-3.9.1
+ >=dev-libs/utfcpp-3.1.2
test? ( dev-cpp/gtest )
"
BDEPEND="
@@ -64,16 +64,20 @@ BDEPEND="
)
"
-PATCHES=( "${FILESDIR}"/mkvtoolnix-58.0.0-qt5dbus.patch )
+PATCHES=(
+ "${FILESDIR}"/mkvtoolnix-58.0.0-qt5dbus.patch
+ "${FILESDIR}"/mkvtoolnix-67.0.0-no-uic-qtwidgets.patch
+)
src_prepare() {
- xdg_src_prepare
+ default
+
if [[ ${PV} == *9999 ]]; then
./autogen.sh || die
fi
- # https://bugs.gentoo.org/692018
- sed -e 's/pandoc/diSaBlEd/' -i ac/pandoc.m4 || die
+ # bug #692018
+ sed -i -e 's/pandoc/diSaBlEd/' ac/pandoc.m4 || die
eautoreconf
@@ -82,26 +86,34 @@ src_prepare() {
}
src_configure() {
- # bug 692322, use system dev-libs/utfcpp
+ # 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)
+
+ # 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
- --with-qmake=$(qt5_get_bindir)/qmake
+ $(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)
)
+ # 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-60.0.0.ebuild b/media-video/mkvtoolnix/mkvtoolnix-83.0.ebuild
index cd70327db014..393a62599642 100644
--- a/media-video/mkvtoolnix/mkvtoolnix-60.0.0.ebuild
+++ b/media-video/mkvtoolnix/mkvtoolnix-83.0.ebuild
@@ -1,17 +1,25 @@
-# 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 autotools flag-o-matic toolchain-funcs multiprocessing qmake-utils xdg
+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,36 +27,34 @@ HOMEPAGE="https://mkvtoolnix.download/ https://gitlab.com/mbunkus/mkvtoolnix"
LICENSE="GPL-2"
SLOT="0"
-IUSE="dbus debug dvd 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="
- >=dev-libs/boost-1.66:=
- >=dev-libs/libebml-1.4.0:=
- >=dev-libs/libfmt-6.1.0:=
- dev-libs/libpcre2:=
- dev-libs/pugixml:=
+ 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.6.3:=
- media-libs/libogg:=
- media-libs/libvorbis:=
- sys-apps/file
+ >=media-libs/libmatroska-1.7.1:=
+ media-libs/libogg
+ media-libs/libvorbis
sys-libs/zlib
dvd? ( media-libs/libdvdread:= )
- dev-qt/qtcore:5
- dev-qt/qtgui:5
- dev-qt/qtnetwork:5
- dev-qt/qtwidgets:5
- dev-qt/qtconcurrent:5
- dev-qt/qtmultimedia:5
- app-text/cmark:0=
- dbus? ( dev-qt/qtdbus:5 )
+ 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
- dev-libs/utfcpp
+ >=dev-cpp/nlohmann_json-3.9.1
+ >=dev-libs/utfcpp-3.1.2
test? ( dev-cpp/gtest )
"
BDEPEND="
@@ -62,16 +68,24 @@ BDEPEND="
)
"
-PATCHES=( "${FILESDIR}"/mkvtoolnix-58.0.0-qt5dbus.patch )
+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() {
- xdg_src_prepare
+ default
+
if [[ ${PV} == *9999 ]]; then
./autogen.sh || die
fi
- # https://bugs.gentoo.org/692018
- sed -e 's/pandoc/diSaBlEd/' -i ac/pandoc.m4 || die
+ # bug #692018
+ sed -i -e 's/pandoc/diSaBlEd/' ac/pandoc.m4 || die
eautoreconf
@@ -80,25 +94,30 @@ src_prepare() {
}
src_configure() {
- # bug 692322, use system dev-libs/utfcpp
+ # 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)
- --disable-qt6
- --enable-qt5
- --with-qmake=$(qt5_get_bindir)/qmake
+ $(use_enable gui)
$(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/mkvtoolnix/mkvtoolnix-9999.ebuild b/media-video/mkvtoolnix/mkvtoolnix-9999.ebuild
index 6bb7e14ab307..de1b5ed169c7 100644
--- a/media-video/mkvtoolnix/mkvtoolnix-9999.ebuild
+++ b/media-video/mkvtoolnix/mkvtoolnix-9999.ebuild
@@ -1,17 +1,25 @@
-# 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 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,36 +27,34 @@ HOMEPAGE="https://mkvtoolnix.download/ https://gitlab.com/mbunkus/mkvtoolnix"
LICENSE="GPL-2"
SLOT="0"
-IUSE="dbus debug dvd 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="
- >=dev-libs/boost-1.66:=
- >=dev-libs/libebml-1.4.0:=
- >=dev-libs/libfmt-6.1.0:=
- dev-libs/libpcre2:=
- dev-libs/pugixml:=
+ 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.6.3:=
- media-libs/libogg:=
- media-libs/libvorbis:=
- sys-apps/file
+ >=media-libs/libmatroska-1.7.1:=
+ media-libs/libogg
+ media-libs/libvorbis
sys-libs/zlib
dvd? ( media-libs/libdvdread:= )
- dev-qt/qtcore:5
- dev-qt/qtgui:5
- dev-qt/qtnetwork:5
- dev-qt/qtwidgets:5
- dev-qt/qtconcurrent:5
- dev-qt/qtmultimedia:5
- app-text/cmark:0=
- dbus? ( dev-qt/qtdbus:5 )
+ 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
- dev-libs/utfcpp
+ >=dev-cpp/nlohmann_json-3.9.1
+ >=dev-libs/utfcpp-3.1.2
test? ( dev-cpp/gtest )
"
BDEPEND="
@@ -62,16 +68,19 @@ BDEPEND="
)
"
-PATCHES=( "${FILESDIR}"/mkvtoolnix-58.0.0-qt5dbus.patch )
+if [[ ${PV} != *9999 ]] ; then
+ BDEPEND+="verify-sig? ( sec-keys/openpgp-keys-mkvtoolnix )"
+fi
src_prepare() {
- xdg_src_prepare
+ default
+
if [[ ${PV} == *9999 ]]; then
./autogen.sh || die
fi
- # https://bugs.gentoo.org/692018
- sed -e 's/pandoc/diSaBlEd/' -i ac/pandoc.m4 || die
+ # bug #692018
+ sed -i -e 's/pandoc/diSaBlEd/' ac/pandoc.m4 || die
eautoreconf
@@ -80,25 +89,30 @@ src_prepare() {
}
src_configure() {
- # bug 692322, use system dev-libs/utfcpp
+ # 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)
- --disable-qt6
- --enable-qt5
- --with-qmake=$(qt5_get_bindir)/qmake
+ $(use_enable gui)
$(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/motiontrack/motiontrack-0.1.3-r2.ebuild b/media-video/motiontrack/motiontrack-0.1.3-r2.ebuild
index 58f8ed1713af..c5379bd671f5 100644
--- a/media-video/motiontrack/motiontrack-0.1.3-r2.ebuild
+++ b/media-video/motiontrack/motiontrack-0.1.3-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -10,7 +10,7 @@ HOMEPAGE="http://motiontrack.sourceforge.net"
SLOT="0"
LICENSE="GPL-2"
-KEYWORDS="~alpha ~amd64 ~hppa ~mips ~ppc ~ppc64 ~sparc ~x86"
+KEYWORDS="~alpha ~amd64 ~hppa ~ppc ~ppc64 ~sparc ~x86"
IUSE="debug graphicsmagick imagemagick multiprocess"
diff --git a/media-video/movit/Manifest b/media-video/movit/Manifest
index a058a3e80cd4..63e0f950cf62 100644
--- a/media-video/movit/Manifest
+++ b/media-video/movit/Manifest
@@ -1,2 +1,3 @@
-DIST gtest-1.7.0.zip 1164254 BLAKE2B ba8cf5dc336e3a6889b58922b62497cdac94d9f77bc5cbac3d72e4a88f33cbe572b6f61b5323acb7ea6dfc67f92c0ba231bedc5251c276831ea7a9e77ab6d570 SHA512 8859369f2dd32cbc2ac01aba029aa3ff20a321f40658b9643aff442d34c33468221866b801b28c66a28af47dbcd362d26941fc98db92b6efb7e41ea5b7be1a07
-DIST movit-1.6.2.tar.gz 878822 BLAKE2B 02b1a5d9b05c944d0b39f93e6c4ea0ced26128e9067db91b93f47fdda154cb7650217a821b077742ae555e6464579f95ad7a5976bcfea319e3dd2d515add83c4 SHA512 005e75712fcb83b0e9c0301925afe2c87a6d99856e7c6fe6468c93de5cbdd633507179c79a7536bb7acb1246c71302d98a92289a0a618b07d920b4620fd6abc7
+DIST movit-1.6.3.tar.gz 605922 BLAKE2B b207e587a20aeccc16017b7b1a7334d88381d4268dfb516d0a030b864e41eb06771e6e2c466699ee6ff01a2c972456152b6450bed654e1961dacc9ff2b800c5d SHA512 6f7169710fbb60f79c44393aea57619f4c83d64fb296ea946d591e78fb9a71b513869dc6325f90e4c2dc843b7ed4841eaef41ca69f64787c8a57f4fde583b1e5
+DIST movit-1.7.1.tar.gz 606885 BLAKE2B 24977aa7aedc6111f0d7c3350df5bb2529b2c604842040c712eb08b99853e42cc9ed1cc0c297348e9a17926c07b1dd9ace10b3c5d25c6c18aad5b63a797d9c32 SHA512 3893bf983ff3df592f2ab599566e83d1f44aae3bb56ce68a23a584a485341a41da4ee3a9eec131dae4075e459526321a24428ef3ceba858a77590e690020089f
+DIST movit-googletest-1.8.1.tar.gz 992298 BLAKE2B 40ef3417fe424205c0617f07207347ce671ac87605f8ac9b8a333b0b06e3fbef9f556041ee324c18f957f3258ab9fe06704f31cdd038355fb7890180eb77ced1 SHA512 e6283c667558e1fd6e49fa96e52af0e415a3c8037afe1d28b7ff1ec4c2ef8f49beb70a9327b7fc77eb4052a58c4ccad8b5260ec90e4bceeac7a46ff59c4369d7
diff --git a/media-video/movit/files/movit-1.6.3-gcc12.patch b/media-video/movit/files/movit-1.6.3-gcc12.patch
new file mode 100644
index 000000000000..00b9e9203b11
--- /dev/null
+++ b/media-video/movit/files/movit-1.6.3-gcc12.patch
@@ -0,0 +1,12 @@
+https://bugs.gentoo.org/839915
+
+--- a/test_util.cpp
++++ b/test_util.cpp
+@@ -2,6 +2,7 @@
+ #include <math.h>
+ #include <stdio.h>
+ #include <algorithm>
++#include <memory>
+ #include <epoxy/gl.h>
+ #include <gtest/gtest.h>
+ #include <gtest/gtest-message.h>
diff --git a/media-video/movit/movit-1.6.2.ebuild b/media-video/movit/movit-1.6.2.ebuild
deleted file mode 100644
index 8b00c734b0f2..000000000000
--- a/media-video/movit/movit-1.6.2.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit eutils
-
-# no sane way to use OpenGL from within tests?
-RESTRICT="test"
-
-DESCRIPTION="Modern Video Toolkit"
-HOMEPAGE="https://movit.sesse.net/"
-# Tests need gtest, makefile unconditionally builds tests, so ... yey!
-SRC_URI="https://movit.sesse.net/${P}.tar.gz
- https://googletest.googlecode.com/files/gtest-1.7.0.zip"
-LICENSE="GPL-2+"
-SLOT="0"
-
-KEYWORDS="amd64 arm64 ~ppc64 x86"
-IUSE=""
-
-RDEPEND="media-libs/mesa[X(+)]
- >=dev-cpp/eigen-3.2.0:3
- media-libs/libepoxy
- >=sci-libs/fftw-3
- media-libs/libsdl2
- "
-DEPEND="
- ${RDEPEND}
- app-arch/unzip
-"
-
-src_configure() {
- econf --disable-static
-}
-
-src_compile() {
- GTEST_DIR="${WORKDIR}/gtest-1.7.0" emake
-}
-
-src_test() {
- GTEST_DIR="${WORKDIR}/gtest-1.7.0" emake check
-}
-
-src_install() {
- default
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/media-video/movit/movit-1.6.3-r1.ebuild b/media-video/movit/movit-1.6.3-r1.ebuild
new file mode 100644
index 000000000000..a874a7ac114f
--- /dev/null
+++ b/media-video/movit/movit-1.6.3-r1.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+GTEST_PV="1.8.1"
+
+DESCRIPTION="High-performance, high-quality video filters for the GPU"
+HOMEPAGE="https://movit.sesse.net/"
+# Tests need gtest sources, makefile unconditionally builds tests, so ... yey!
+SRC_URI="https://movit.sesse.net/${P}.tar.gz
+ https://github.com/google/googletest/archive/refs/tags/release-${GTEST_PV}.tar.gz -> ${PN}-googletest-${GTEST_PV}.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~ppc64 ~riscv x86"
+
+# no sane way to use OpenGL from within tests?
+RESTRICT="test"
+
+RDEPEND="media-libs/mesa[X(+)]
+ >=dev-cpp/eigen-3.2.0:3
+ media-libs/libepoxy[egl,X]
+ >=sci-libs/fftw-3:=
+ media-libs/libsdl2"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.6.3-gcc12.patch
+)
+
+src_compile() {
+ GTEST_DIR="${WORKDIR}/googletest-release-${GTEST_PV}/googletest" emake
+}
+
+src_test() {
+ GTEST_DIR="${WORKDIR}/googletest-release-${GTEST_PV}/googletest" emake check
+}
+
+src_install() {
+ default
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/media-video/movit/movit-1.7.1.ebuild b/media-video/movit/movit-1.7.1.ebuild
new file mode 100644
index 000000000000..8055f4fe1563
--- /dev/null
+++ b/media-video/movit/movit-1.7.1.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+GTEST_PV="1.8.1"
+
+DESCRIPTION="High-performance, high-quality video filters for the GPU"
+HOMEPAGE="https://movit.sesse.net/"
+# Tests need gtest sources, makefile unconditionally builds tests, so ... yey!
+SRC_URI="https://movit.sesse.net/${P}.tar.gz
+ https://github.com/google/googletest/archive/refs/tags/release-${GTEST_PV}.tar.gz -> ${PN}-googletest-${GTEST_PV}.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~ppc64 ~riscv x86"
+
+# no sane way to use OpenGL from within tests?
+RESTRICT="test"
+
+RDEPEND="media-libs/mesa[X(+)]
+ >=dev-cpp/eigen-3.2.0:3
+ media-libs/libepoxy[egl(+),X]
+ >=sci-libs/fftw-3:=
+ media-libs/libsdl2"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.6.3-gcc12.patch
+)
+
+src_compile() {
+ GTEST_DIR="${WORKDIR}/googletest-release-${GTEST_PV}/googletest" emake
+}
+
+src_test() {
+ GTEST_DIR="${WORKDIR}/googletest-release-${GTEST_PV}/googletest" emake check
+}
+
+src_install() {
+ default
+ find "${ED}" -name '*.la' -delete || die
+}
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/mpeg2vidcodec/Manifest b/media-video/mpeg2vidcodec/Manifest
deleted file mode 100644
index b6cb59790295..000000000000
--- a/media-video/mpeg2vidcodec/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST mpeg2vidcodec_v12.tar.gz 259790 BLAKE2B 528a6bc7ffdf25ff97241752d26accf83860f3dcf6a7f8ce9394308c1cb1ece0cad9d79f8a6ce7b59823900e9ff991a1cc0ff9de8c11749736576d847d07545a SHA512 2a46f486102ac2a1ae99a0f75b196c5aa01f8a99a6230723a2000ca8411adbca6c3e07d70f7cb269b17ce5fa4bf318e6dd4bfa83ecf8e137e8efca2bb352735c
diff --git a/media-video/mpeg2vidcodec/files/mpeg2vidcodec-12-Wimplicit-function-declaration.patch b/media-video/mpeg2vidcodec/files/mpeg2vidcodec-12-Wimplicit-function-declaration.patch
deleted file mode 100644
index 7f618a2e9f8d..000000000000
--- a/media-video/mpeg2vidcodec/files/mpeg2vidcodec-12-Wimplicit-function-declaration.patch
+++ /dev/null
@@ -1,54 +0,0 @@
---- a/src/mpeg2dec/getbits.c
-+++ b/src/mpeg2dec/getbits.c
-@@ -34,6 +34,7 @@
-
- #include <stdio.h>
- #include <stdlib.h>
-+#include <unistd.h>
-
- #include "config.h"
- #include "global.h"
---- a/src/mpeg2dec/mpeg2dec.c
-+++ b/src/mpeg2dec/mpeg2dec.c
-@@ -32,6 +32,8 @@
- #include <stdlib.h>
- #include <ctype.h>
- #include <fcntl.h>
-+#include <sys/types.h>
-+#include <unistd.h>
-
- #define GLOBAL
- #include "config.h"
---- a/src/mpeg2dec/spatscal.c
-+++ b/src/mpeg2dec/spatscal.c
-@@ -1,5 +1,7 @@
-
- #include <stdio.h>
-+#include <stdlib.h>
-+#include <string.h>
- #include "config.h"
- #include "global.h"
-
---- a/src/mpeg2dec/store.c
-+++ b/src/mpeg2dec/store.c
-@@ -28,8 +28,10 @@
- */
-
- #include <stdio.h>
-+#include <string.h>
- #include <stdlib.h>
- #include <fcntl.h>
-+#include <unistd.h>
-
- #include "config.h"
- #include "global.h"
---- a/src/mpeg2dec/subspic.c
-+++ b/src/mpeg2dec/subspic.c
-@@ -31,6 +31,7 @@
- #include <stdio.h>
- #include <stdlib.h>
- #include <fcntl.h>
-+#include <unistd.h>
-
- #include "config.h"
- #include "global.h"
diff --git a/media-video/mpeg2vidcodec/files/mpeg2vidcodec-12-fix-build-system.patch b/media-video/mpeg2vidcodec/files/mpeg2vidcodec-12-fix-build-system.patch
deleted file mode 100644
index e278b3a26d76..000000000000
--- a/media-video/mpeg2vidcodec/files/mpeg2vidcodec-12-fix-build-system.patch
+++ /dev/null
@@ -1,78 +0,0 @@
---- a/Makefile
-+++ b/Makefile
-@@ -53,26 +53,23 @@
- #
- # GNU gcc
- #
--CC = gcc
--CFLAGS = -O2
-+CFLAGS += -Wall
-
- all: mpeg2decode mpeg2encode
-
- mpeg2decode:
-- cd src/mpeg2dec; make 'CC=$(CC)' \
-- 'CFLAGS=$(CFLAGS) $(USE_DISP) $(USE_SHMEM) $(INCLUDEDIR)' \
-- 'LIBS=$(LIBS)' 'LIBRARYDIR=$(LIBRARYDIR)'
-+ cd src/mpeg2dec && $(MAKE)
-
- mpeg2encode:
-- cd src/mpeg2enc; make 'CC=$(CC)' 'CFLAGS=$(CFLAGS)'
-+ cd src/mpeg2enc && $(MAKE)
-
- pc:
-- cd src/mpeg2dec; make pc 'CC=$(CC)' 'CFLAGS=$(CFLAGS)'
-- cd src/mpeg2enc; make pc 'CC=$(CC)' 'CFLAGS=$(CFLAGS)'
-+ cd src/mpeg2dec && $(MAKE) pc
-+ cd src/mpeg2enc && $(MAKE) pc
-
- clean:
-- cd src/mpeg2dec; make clean
-- cd src/mpeg2enc; make clean
-+ cd src/mpeg2dec && $(MAKE) clean
-+ cd src/mpeg2enc && $(MAKE) clean
-
- test:
- cd verify; ./verify
---- a/src/mpeg2dec/Makefile
-+++ b/src/mpeg2dec/Makefile
-@@ -60,8 +60,7 @@
- #
- # GNU gcc
- #
--CC = gcc
--CFLAGS = -O2 $(USE_DISP) $(USE_SHMEM) $(INCLUDEDIR) $(TRACE) $(VERBOSE) $(VERIFY) $(WARNINGS)
-+CFLAGS += -Wall
-
- OBJ = mpeg2dec.o getpic.o motion.o getvlc.o gethdr.o getblk.o getbits.o store.o recon.o spatscal.o idct.o idctref.o display.o systems.o subspic.o verify.o
-
-@@ -76,7 +75,7 @@
- coff2exe mpeg2dec
-
- mpeg2decode: $(OBJ)
-- $(CC) $(CFLAGS) $(LIBRARYDIR) -o mpeg2decode $(OBJ) -lm $(LIBS)
-+ $(CC) $(CFLAGS) $(LDFLAGS) $(LIBRARYDIR) -o mpeg2decode $(OBJ) -lm $(LIBS)
-
- display.o : display.c config.h global.h mpeg2dec.h
- getbits.o : getbits.c config.h global.h mpeg2dec.h
---- a/src/mpeg2enc/Makefile
-+++ b/src/mpeg2enc/Makefile
-@@ -32,8 +32,7 @@
- #
- # GNU gcc
- #
--CC = gcc
--CFLAGS = -O2 -Wall
-+CFLAGS += -Wall
-
- OBJ = mpeg2enc.o conform.o putseq.o putpic.o puthdr.o putmpg.o putvlc.o putbits.o motion.o predict.o readpic.o writepic.o transfrm.o fdctref.o idct.o quantize.o ratectl.o stats.o
-
-@@ -48,7 +47,7 @@
- coff2exe mpeg2enc
-
- mpeg2encode: $(OBJ)
-- $(CC) $(CFLAGS) -o mpeg2encode $(OBJ) -lm
-+ $(CC) $(CFLAGS) $(LDFLAGS) -o mpeg2encode $(OBJ) -lm
-
- conform.o : conform.c config.h global.h mpeg2enc.h
- fdctref.o : fdctref.c config.h
diff --git a/media-video/mpeg2vidcodec/metadata.xml b/media-video/mpeg2vidcodec/metadata.xml
deleted file mode 100644
index 2542060f7f5c..000000000000
--- a/media-video/mpeg2vidcodec/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/mpeg2vidcodec/mpeg2vidcodec-12-r1.ebuild b/media-video/mpeg2vidcodec/mpeg2vidcodec-12-r1.ebuild
deleted file mode 100644
index 0aaba40bef35..000000000000
--- a/media-video/mpeg2vidcodec/mpeg2vidcodec-12-r1.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit toolchain-funcs
-
-MY_P="${PN}_v${PV}"
-
-DESCRIPTION="MPEG Library"
-HOMEPAGE="http://www.mpeg.org/"
-SRC_URI="http://www.mpeg.org/pub_ftp/mpeg/mssg/${MY_P}.tar.gz"
-
-LICENSE="mpeg2enc"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm ~hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris"
-RESTRICT="mirror bindist" #465088
-
-S="${WORKDIR}/mpeg2"
-
-PATCHES=(
- "${FILESDIR}"/${P}-fix-build-system.patch
- "${FILESDIR}"/${P}-Wimplicit-function-declaration.patch
-)
-
-src_configure() {
- tc-export CC
-}
-
-src_install() {
- dobin src/mpeg2dec/mpeg2decode src/mpeg2enc/mpeg2encode
- dodoc -r README doc/.
-}
diff --git a/media-video/mpgtx/files/mpgtx-1.3.1-configure.patch b/media-video/mpgtx/files/mpgtx-1.3.1-configure.patch
index ec36e76ba641..bfac4c5a016f 100644
--- a/media-video/mpgtx/files/mpgtx-1.3.1-configure.patch
+++ b/media-video/mpgtx/files/mpgtx-1.3.1-configure.patch
@@ -1,5 +1,5 @@
---- configure.old 2006-12-07 19:51:08.000000000 +0100
-+++ configure 2006-12-07 19:51:02.000000000 +0100
+--- a/configure
++++ b/configure
@@ -9,7 +9,6 @@
prefix="/usr/local"
manprefix='$(PREFIX)'
diff --git a/media-video/mpgtx/files/mpgtx-1.3.1-dont-ignore-cxx-flags.patch b/media-video/mpgtx/files/mpgtx-1.3.1-dont-ignore-cxx-flags.patch
index 3a7f5da67458..7d6004f1e0ea 100644
--- a/media-video/mpgtx/files/mpgtx-1.3.1-dont-ignore-cxx-flags.patch
+++ b/media-video/mpgtx/files/mpgtx-1.3.1-dont-ignore-cxx-flags.patch
@@ -1,5 +1,5 @@
---- mpgtx-1.3.1/configure.old 2006-12-09 00:26:18.000000000 +0100
-+++ mpgtx-1.3.1/configure 2006-12-09 00:28:52.000000000 +0100
+--- a/configure
++++ b/configure
@@ -11,7 +11,7 @@
#compiler flags
common_cflags="-Wall"
diff --git a/media-video/mpgtx/mpgtx-1.3.1-r2.ebuild b/media-video/mpgtx/mpgtx-1.3.1-r2.ebuild
index 11bb99459f44..359e88e7704c 100644
--- a/media-video/mpgtx/mpgtx-1.3.1-r2.ebuild
+++ b/media-video/mpgtx/mpgtx-1.3.1-r2.ebuild
@@ -1,27 +1,25 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=5
+EAPI=8
-inherit epatch toolchain-funcs
+inherit toolchain-funcs
DESCRIPTION="Command line MPEG audio/video/system file toolbox"
-SRC_URI="mirror://sourceforge/mpgtx/${P}.tar.gz"
+SRC_URI="https://downloads.sourceforge.net/mpgtx/${P}.tar.gz"
HOMEPAGE="http://mpgtx.sourceforge.net/"
-SLOT="0"
LICENSE="GPL-2"
-KEYWORDS="amd64 ppc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-solaris"
-IUSE=""
+SLOT="0"
+KEYWORDS="amd64 ppc x86 ~amd64-linux ~x86-linux ~ppc-macos"
-src_prepare() {
- epatch \
- "${FILESDIR}"/${P}-configure.patch \
- "${FILESDIR}"/${P}-dont-ignore-cxx-flags.patch
- tc-export CXX
-}
+PATCHES=(
+ "${FILESDIR}"/${P}-configure.patch
+ "${FILESDIR}"/${P}-dont-ignore-cxx-flags.patch
+)
src_configure() {
+ tc-export CXX
./configure --parachute || die
}
@@ -37,11 +35,11 @@ src_install() {
doman man/mpgtx.1 man/tagmp3.1
- dosym /usr/share/man/man1/mpgtx.1 /usr/share/man/man1/mpgcat.1
- dosym /usr/share/man/man1/mpgtx.1 /usr/share/man/man1/mpgjoin.1
- dosym /usr/share/man/man1/mpgtx.1 /usr/share/man/man1/mpginfo.1
- dosym /usr/share/man/man1/mpgtx.1 /usr/share/man/man1/mpgsplit.1
- dosym /usr/share/man/man1/mpgtx.1 /usr/share/man/man1/mpgdemux.1
+ dosym mpgtx.1 /usr/share/man/man1/mpgcat.1
+ dosym mpgtx.1 /usr/share/man/man1/mpgjoin.1
+ dosym mpgtx.1 /usr/share/man/man1/mpginfo.1
+ dosym mpgtx.1 /usr/share/man/man1/mpgsplit.1
+ dosym mpgtx.1 /usr/share/man/man1/mpgdemux.1
- dodoc AUTHORS ChangeLog README TODO
+ einstalldocs
}
diff --git a/media-video/mplayer-sh/Manifest b/media-video/mplayer-sh/Manifest
deleted file mode 100644
index 53f550554223..000000000000
--- a/media-video/mplayer-sh/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST mplayer.sh-0.8.6.tar.gz 7568 BLAKE2B 4eecf46b75368028f54f090e13575287bbbe9ab6fedaf2def221f539b95fcdd4fba8c3a1ad59d9aca2fd72b6ec770ee159a410383e45d53148d270043fe464c6 SHA512 ff4a11f1b8dae014646f101fcab16d6cebc0c3250bc8d259500c2819b484913270051ed9ec9b1442e647e811030f927db07f71aa64edd6221a875e067e22e36a
-DIST mplayer.sh-0.8.7.tar.gz 7851 BLAKE2B b7dbaf93c509a3d2bb38f226dafed2261ddadbff24a6e450f3fe2cf5cb5208bb3e89a1830fc3e59d674e9b045360208e7c221498e32f228be9c6e0147aef2588 SHA512 5e83dd2f83b104f7043d828b713e34f47c9a42a93324424c802d4d448b770e36515accf67bd67ce7461201b5e9cd5596da2bbd182eccef9578c9b31b5fed50d9
diff --git a/media-video/mplayer-sh/files/mplayer-sh-0.8.6-parameter-aid.diff b/media-video/mplayer-sh/files/mplayer-sh-0.8.6-parameter-aid.diff
deleted file mode 100644
index 3b329215564b..000000000000
--- a/media-video/mplayer-sh/files/mplayer-sh-0.8.6-parameter-aid.diff
+++ /dev/null
@@ -1,84 +0,0 @@
---- mplayer.sh.orig 2006-03-26 23:31:10.000000000 +0200
-+++ mplayer.sh 2006-03-26 23:50:39.000000000 +0200
-@@ -6,6 +6,7 @@
- declare VERSION="0.8.6"
-
- # History (as always in the source code :-)
-+# - add -aid to mplayer when AID is given (Matthias Schwarzott <zzam@gentoo.org>)
- # 0.8.6 - fixed a copy'n'paste bug regarding the subtitle background
- # alpha color (thanks to Christian Haider)
- # - changed the fps values from rational values to integer ones
-@@ -208,6 +209,11 @@
- fi
- debugvar REMOTE "$REMOTE"
-
-+ if test -n "${AID}"; then
-+ AUDIO="-aid ${AID}"
-+ fi
-+ debugvar AUDIO "${AUDIO}"
-+
- if ! test -z "$USERDEF"; then echolog "*** Use Option USERDEF at your own risk!"; fi
- debugvar USERDEF "$USERDEF"
-
-@@ -478,15 +484,24 @@
- declare -i NEW_X NEW_Y
- declare -i HALF_Y FULL_Y
- declare ORIG_FPS NEW_FPS ORIG_ASPECT VIDEO_FORMAT AUDIO_CODEC
--declare CMDLINE AOUT REMOTE USERDEF SUFFIX
-+declare CMDLINE AOUT REMOTE AUDIO USERDEF SUFFIX
- declare FILE="$1"
--declare SLAVE="$2"
-+shift
- declare -a XResPAL[0]
- declare -a XResNTSC[0]
- declare FDSTR=""
- declare SUBTITLES=""
- declare DETC=""
-
-+while [[ -n $1 ]]; do
-+ case ${1} in
-+ SLAVE) SLAVE=SLAVE ;;
-+ AID) AID=${2}; shift ;;
-+ esac
-+
-+ shift
-+done
-+
- echolog "*** Starting mplayer.sh Version $VERSION"
-
- if test -z "$FILE"; then echolog "*** USAGE: mplayer.sh <File_to_be_played>"; exit; fi
-@@ -504,18 +519,18 @@
- if test \( "$FILE" == "$DVDFiles/DVD" -o "$FILE" == "$DVDFiles/VCD" \) -a -n "$DVDFiles" -a -n "$DVD"; then
- if test "$FILE" == "$DVDFiles/DVD"; then
- $USEAC3 && AOUT="$AC3AOUT"
-- CMDLINE="$MPLAYER -vo $VO $AOUT -alang $DVDLANG $DVDOPTIONS $FDSTR $CACHESTR $REMOTE $USERDEF -dvd-device $DVD dvd://"
-+ CMDLINE="$MPLAYER -vo $VO $AOUT -alang $DVDLANG $DVDOPTIONS $FDSTR $CACHESTR $AUDIO $REMOTE $USERDEF -dvd-device $DVD dvd://"
- fi
- if test "$FILE" == "$DVDFiles/VCD"; then
-- CMDLINE="$MPLAYER -vo $VO $AOUT $VCDOPTIONS $FDSTR $CACHESTR $REMOTE $USERDEF -cdrom-device $DVD vcd://"
-+ CMDLINE="$MPLAYER -vo $VO $AOUT $VCDOPTIONS $FDSTR $CACHESTR $AUDIO $REMOTE $USERDEF -cdrom-device $DVD vcd://"
- fi
- unset FILE
- elif test "${SUFFIX}" == ".cue"; then
- if $MPLAYER_V1; then
-- CMDLINE="$MPLAYER -vo $VO $AOUT $FDSTR $CACHESTR $REMOTE $USERDEF cue://$FILE:2"
-+ CMDLINE="$MPLAYER -vo $VO $AOUT $FDSTR $CACHESTR $AUDIO $REMOTE $USERDEF cue://$FILE:2"
- unset FILE
- else
-- CMDLINE="$MPLAYER -vo $VO $AOUT $FDSTR $CACHESTR $REMOTE $USERDEF -vcd 2 -cuefile"
-+ CMDLINE="$MPLAYER -vo $VO $AOUT $FDSTR $CACHESTR $AUDIO $REMOTE $USERDEF -vcd 2 -cuefile"
- fi
- else
- # Try to determine the video attributes
-@@ -545,9 +560,9 @@
- \( $NTSC -a $NEW_FPS == "30" -a \( \( $ORIG_X == "352" -a $ORIG_Y == "240" \) -o \( $ORIG_Y == "480" -a \
- \( $ORIG_X == "352" -o $ORIG_X == "480" -o $ORIG_X == "512" -o $ORIG_X == "640" -o $ORIG_X == "704" -o $ORIG_X == "720" \) \) \) \) \
- \) ; then
-- CMDLINE="$MPLAYER -vo $VO $AOUT $FDSTR $CACHESTR $REMOTE $USERDEF"
-+ CMDLINE="$MPLAYER -vo $VO $AOUT $FDSTR $CACHESTR $AUDIO $REMOTE $USERDEF"
- else
-- CMDLINE="$MPLAYER -vo $VO $AOUT -vop $VOP:$NEW_FPS,expand=$NEW_X:$REAL_Y:-1:-1:1,scale=$NEW_X:${NEW_Y}${DETC} $SPEED $FDSTR $CACHESTR $REMOTE $SUBTITLES $USERDEF $FORCEIDX"
-+ CMDLINE="$MPLAYER -vo $VO $AOUT -vop $VOP:$NEW_FPS,expand=$NEW_X:$REAL_Y:-1:-1:1,scale=$NEW_X:${NEW_Y}${DETC} $SPEED $FDSTR $CACHESTR $AUDIO $REMOTE $SUBTITLES $USERDEF $FORCEIDX"
- fi
- fi
-
diff --git a/media-video/mplayer-sh/files/mplayer-sh-0.8.7-parameter-aid.diff b/media-video/mplayer-sh/files/mplayer-sh-0.8.7-parameter-aid.diff
deleted file mode 100644
index 3de61e76cd1b..000000000000
--- a/media-video/mplayer-sh/files/mplayer-sh-0.8.7-parameter-aid.diff
+++ /dev/null
@@ -1,84 +0,0 @@
---- mplayer.sh.orig 2007-02-11 16:34:07.000000000 +0100
-+++ mplayer.sh 2007-05-05 18:17:48.000000000 +0200
-@@ -12,6 +12,7 @@
- # - calculate USE_SPEED with 30 fps instead of 29.97
- # - use '-vf' and '-af' instead of '-vop' and '-aop', as the
- # latter are deprecated
-+# - add -aid to mplayer when AID is given (Matthias Schwarzott <zzam@gentoo.org>)
- #
- # 0.8.6 - fixed a copy'n'paste bug regarding the subtitle background
- # alpha color (thanks to Christian Haider)
-@@ -215,6 +216,11 @@
- fi
- debugvar REMOTE "$REMOTE"
-
-+ if test -n "${AID}"; then
-+ AUDIO="-aid ${AID}"
-+ fi
-+ debugvar AUDIO "${AUDIO}"
-+
- if ! test -z "$USERDEF"; then echolog "*** Use Option USERDEF at your own risk!"; fi
- debugvar USERDEF "$USERDEF"
-
-@@ -485,15 +491,24 @@
- declare -i NEW_X NEW_Y
- declare -i HALF_Y FULL_Y
- declare ORIG_FPS NEW_FPS ORIG_ASPECT VIDEO_FORMAT AUDIO_CODEC
--declare CMDLINE AOUT REMOTE USERDEF SUFFIX
-+declare CMDLINE AOUT REMOTE AUDIO USERDEF SUFFIX
- declare FILE="$1"
--declare SLAVE="$2"
-+shift
- declare -a XResPAL[0]
- declare -a XResNTSC[0]
- declare FDSTR=""
- declare SUBTITLES=""
- declare DETC=""
-
-+while [[ -n $1 ]]; do
-+ case ${1} in
-+ SLAVE) SLAVE=SLAVE ;;
-+ AID) AID=${2}; shift ;;
-+ esac
-+
-+ shift
-+done
-+
- echolog "*** Starting mplayer.sh Version $VERSION"
-
- if test -z "$FILE"; then echolog "*** USAGE: mplayer.sh <File_to_be_played>"; exit; fi
-@@ -511,18 +526,18 @@
- if test \( "$FILE" == "$DVDFiles/DVD" -o "$FILE" == "$DVDFiles/VCD" \) -a -n "$DVDFiles" -a -n "$DVD"; then
- if test "$FILE" == "$DVDFiles/DVD"; then
- $USEAC3 && AOUT="$AC3AOUT"
-- CMDLINE="$MPLAYER -vo $VO $AOUT -alang $DVDLANG $DVDOPTIONS $FDSTR $CACHESTR $REMOTE $USERDEF -dvd-device $DVD dvd://"
-+ CMDLINE="$MPLAYER -vo $VO $AOUT -alang $DVDLANG $DVDOPTIONS $FDSTR $CACHESTR $AUDIO $REMOTE $USERDEF -dvd-device $DVD dvd://"
- fi
- if test "$FILE" == "$DVDFiles/VCD"; then
-- CMDLINE="$MPLAYER -vo $VO $AOUT $VCDOPTIONS $FDSTR $CACHESTR $REMOTE $USERDEF -cdrom-device $DVD vcd://"
-+ CMDLINE="$MPLAYER -vo $VO $AOUT $VCDOPTIONS $FDSTR $CACHESTR $AUDIO $REMOTE $USERDEF -cdrom-device $DVD vcd://"
- fi
- unset FILE
- elif test "${SUFFIX}" == ".cue"; then
- if $MPLAYER_V1; then
-- CMDLINE="$MPLAYER -vo $VO $AOUT $FDSTR $CACHESTR $REMOTE $USERDEF cue://$FILE:2"
-+ CMDLINE="$MPLAYER -vo $VO $AOUT $FDSTR $CACHESTR $AUDIO $REMOTE $USERDEF cue://$FILE:2"
- unset FILE
- else
-- CMDLINE="$MPLAYER -vo $VO $AOUT $FDSTR $CACHESTR $REMOTE $USERDEF -vcd 2 -cuefile"
-+ CMDLINE="$MPLAYER -vo $VO $AOUT $FDSTR $CACHESTR $AUDIO $REMOTE $USERDEF -vcd 2 -cuefile"
- fi
- else
- # Try to determine the video attributes
-@@ -552,9 +567,9 @@
- \( $NTSC -a $NEW_FPS == "30" -a \( \( $ORIG_X == "352" -a $ORIG_Y == "240" \) -o \( $ORIG_Y == "480" -a \
- \( $ORIG_X == "352" -o $ORIG_X == "480" -o $ORIG_X == "512" -o $ORIG_X == "544" -o $ORIG_X == "640" -o $ORIG_X == "704" -o $ORIG_X == "720" \) \) \) \) \
- \) ; then
-- CMDLINE="$MPLAYER -vo $VO $AOUT $FDSTR $CACHESTR $REMOTE $USERDEF"
-+ CMDLINE="$MPLAYER -vo $VO $AOUT $FDSTR $CACHESTR $AUDIO $REMOTE $USERDEF"
- else
-- CMDLINE="$MPLAYER -vo $VO $AOUT -vf scale=$NEW_X:${NEW_Y}${DETC},expand=$NEW_X:$REAL_Y:-1:-1:1,$VOP:$NEW_FPS $SPEED $FDSTR $CACHESTR $REMOTE $SUBTITLES $USERDEF $FORCEIDX"
-+ CMDLINE="$MPLAYER -vo $VO $AOUT -vf scale=$NEW_X:${NEW_Y}${DETC},expand=$NEW_X:$REAL_Y:-1:-1:1,$VOP:$NEW_FPS $SPEED $FDSTR $CACHESTR $AUDIO $REMOTE $SUBTITLES $USERDEF $FORCEIDX"
- fi
- fi
-
diff --git a/media-video/mplayer-sh/metadata.xml b/media-video/mplayer-sh/metadata.xml
deleted file mode 100644
index 2b167a7461de..000000000000
--- a/media-video/mplayer-sh/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>vdr@gentoo.org</email>
- <name>Gentoo VDR Project</name>
- </maintainer>
-</pkgmetadata>
diff --git a/media-video/mplayer-sh/mplayer-sh-0.8.6-r2.ebuild b/media-video/mplayer-sh/mplayer-sh-0.8.6-r2.ebuild
deleted file mode 100644
index 982453ffa896..000000000000
--- a/media-video/mplayer-sh/mplayer-sh-0.8.6-r2.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-RESTRICT="mirror bindist"
-
-inherit epatch
-
-DESCRIPTION="Video Disk Recorder Mplayer API Script"
-HOMEPAGE="http://batleth.sapienti-sat.org/"
-SRC_URI="http://batleth.sapienti-sat.org/projects/VDR/mplayer.sh-${PV}.tar.gz"
-
-KEYWORDS="~amd64 x86"
-SLOT="0"
-LICENSE="all-rights-reserved"
-IUSE=""
-
-RDEPEND=">=media-video/mplayer-0.90_rc4"
-
-S=${WORKDIR}
-
-src_prepare() {
- epatch "${FILESDIR}/${P}-parameter-aid.diff"
-
- sed -i "s:^declare CFGFIL.*$:declare CFGFIL=\"\/etc\/vdr\/plugins\/mplayer\/mplayer.sh.conf\":" mplayer.sh
- sed -i mplayer.sh.conf -e "s:^LIRCRC.*$:LIRCRC=\/etc\/lircd.conf:" \
- -e "s:^MPLAYER=.*$:MPLAYER=\/usr\/bin\/mplayer:"
-}
-
-src_install() {
-
- insinto /etc/vdr/plugins/mplayer
- doins mplayer.sh.conf
-
- into /usr/share/vdr/mplayer
- dobin mplayer.sh
-
- dodir /etc/vdr/plugins/DVD-VCD
- touch "${D}"/etc/vdr/plugins/DVD-VCD/{DVD,VCD}
- fowners vdr:video /etc/vdr/plugins/DVD-VCD/{DVD,VCD}
-}
diff --git a/media-video/mplayer-sh/mplayer-sh-0.8.7.ebuild b/media-video/mplayer-sh/mplayer-sh-0.8.7.ebuild
deleted file mode 100644
index c5826b56616a..000000000000
--- a/media-video/mplayer-sh/mplayer-sh-0.8.7.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-inherit epatch
-
-RESTRICT="mirror bindist"
-
-DESCRIPTION="Video Disk Recorder Mplayer API Script"
-HOMEPAGE="http://batleth.sapienti-sat.org/projects/VDR/"
-SRC_URI="http://batleth.sapienti-sat.org/projects/VDR/versions/mplayer.sh-${PV}.tar.gz"
-
-KEYWORDS="~amd64 x86"
-SLOT="0"
-LICENSE="all-rights-reserved"
-IUSE=""
-
-RDEPEND=">=media-video/mplayer-0.1.20070321"
-
-S=${WORKDIR}
-
-src_prepare() {
- epatch "${FILESDIR}/${P}-parameter-aid.diff"
-
- sed -i "s:^declare CFGFIL.*$:declare CFGFIL=\"\/etc\/vdr\/plugins\/mplayer\/mplayer.sh.conf\":" mplayer.sh
- sed -i mplayer.sh.conf -e "s:^LIRCRC.*$:LIRCRC=\/etc\/lircd.conf:" \
- -e "s:^MPLAYER=.*$:MPLAYER=\/usr\/bin\/mplayer:"
-}
-
-src_install() {
-
- insinto /etc/vdr/plugins/mplayer
- doins mplayer.sh.conf
-
- into /usr/share/vdr/mplayer
- dobin mplayer.sh
-
- dodir /etc/vdr/plugins/DVD-VCD
- touch "${D}"/etc/vdr/plugins/DVD-VCD/{DVD,VCD}
- fowners vdr:vdr /etc/vdr/plugins/DVD-VCD/{DVD,VCD}
-}
diff --git a/media-video/mplayer/Manifest b/media-video/mplayer/Manifest
index 4fd4e60d3630..7be42fef3422 100644
--- a/media-video/mplayer/Manifest
+++ b/media-video/mplayer/Manifest
@@ -1,4 +1,6 @@
-DIST MPlayer-1.4.tar.xz 15054920 BLAKE2B 4777cb31a32d62c393778c581c1913fbf355a36cbe6bcf6f426c90c2c8c70123e8aed4d01faf52ee6b1fba3c49e11fa13185f81ae8582f90c901b90955a1f42b SHA512 8ef71cad187d8c8f81c837279bd3a421b440c892d3347a667670b21c954007e35cf0d15828f0901f347b9c1b053e8da4bc7f0fb6de34382d1e463074923d7b34
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/ffmpeg44.patch b/media-video/mplayer/files/ffmpeg44.patch
deleted file mode 100644
index 99d54079cab2..000000000000
--- a/media-video/mplayer/files/ffmpeg44.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-Index: MPlayer-1.4/libmpcodecs/ad_spdif.c
-===================================================================
---- MPlayer-1.4.orig/libmpcodecs/ad_spdif.c
-+++ MPlayer-1.4/libmpcodecs/ad_spdif.c
-@@ -300,7 +300,6 @@ static void uninit(sh_audio_t *sh)
- av_freep(&lavf_ctx->pb);
- if (lavf_ctx->streams) {
- av_freep(&lavf_ctx->streams[0]->codec);
-- av_freep(&lavf_ctx->streams[0]->info);
- av_freep(&lavf_ctx->streams[0]);
- }
- av_freep(&lavf_ctx->streams);
diff --git a/media-video/mplayer/files/mplayer-1.3-CVE-2016-4352.patch b/media-video/mplayer/files/mplayer-1.3-CVE-2016-4352.patch
deleted file mode 100644
index 4eabf8b5f28c..000000000000
--- a/media-video/mplayer/files/mplayer-1.3-CVE-2016-4352.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-https://trac.mplayerhq.hu/ticket/2295
-
-r37857
-
---- old/libmpdemux/demux_gif.c
-+++ new/libmpdemux/demux_gif.c
-@@ -304,6 +304,17 @@
- return NULL;
- }
-
-+ // Validate image size, most code in this demuxer assumes w*h <= INT_MAX
-+ if ((int64_t)gif->SWidth * gif->SHeight > INT_MAX) {
-+ mp_msg(MSGT_DEMUX, MSGL_ERR,
-+ "[demux_gif] Unsupported picture size %dx%d.\n", gif->SWidth,
-+ gif->SHeight);
-+ if (DGifCloseFile(gif) == GIF_ERROR)
-+ print_gif_error(NULL);
-+ free(priv);
-+ return NULL;
-+ }
-+
- // create a new video stream header
- sh_video = new_sh_video(demuxer, 0);
-
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/metadata.xml b/media-video/mplayer/metadata.xml
index dad958217481..44b0e5a1049e 100644
--- a/media-video/mplayer/metadata.xml
+++ b/media-video/mplayer/metadata.xml
@@ -15,7 +15,7 @@
<flag name="enca">Enables support for charset discovery and conversion</flag>
<flag name="faac">Use external faac library for AAC encoding</flag>
<flag name="faad">Use external faad library for AAC decoding</flag>
- <flag name="libmpeg2">Build support for mpeg2 over media-libs/libmpeg2 rather than using ffmpeg.</flag>
+ <flag name="libmpeg2">Build support for mpeg2 over <pkg>media-libs/libmpeg2</pkg> rather than using ffmpeg.</flag>
<flag name="live">Enables live.com streaming media support</flag>
<flag name="md5sum">Enables md5sum video output</flag>
<flag name="mng">MNG input support</flag>
diff --git a/media-video/mplayer/mplayer-1.4-r1.ebuild b/media-video/mplayer/mplayer-1.5_p20230215.ebuild
index 097379320a81..ae49ee100092 100644
--- a/media-video/mplayer/mplayer-1.4-r1.ebuild
+++ b/media-video/mplayer/mplayer-1.5_p20230215.ebuild
@@ -1,80 +1,96 @@
-# 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
-EGIT_REPO_URI="https://git.ffmpeg.org/ffmpeg.git"
-ESVN_REPO_URI="svn://svn.mplayerhq.hu/mplayer/trunk"
-[[ ${PV} = *9999* ]] && SVN_ECLASS="subversion git-r3"
+inherit edo toolchain-funcs flag-o-matic
-inherit toolchain-funcs flag-o-matic ${SVN_ECLASS}
-
-IUSE="cpu_flags_x86_3dnow cpu_flags_x86_3dnowext a52 aalib +alsa altivec aqua bidi bl bluray
-bs2b cddb +cdio cdparanoia cpudetection debug dga
-doc dts dv dvb +dvd +dvdnav +enca +encode faac faad fbcon
-ftp ggi gsm +iconv ipv6 jack joystick jpeg kernel_linux ladspa
-+libass libcaca libmpeg2 lirc live lzo mad md5sum cpu_flags_x86_mmx cpu_flags_x86_mmxext mng mp3 nas
-+network openal opengl +osdmenu oss png pnm pulseaudio pvr
-radio rar rtc rtmp samba selinux +shm sdl speex cpu_flags_x86_sse cpu_flags_x86_sse2 cpu_flags_x86_ssse3
-tga theora tremor +truetype toolame twolame +unicode v4l vcd vdpau vidix
-vorbis +X x264 xinerama +xscreensaver +xv xvid yuv4mpeg zoran"
-
-VIDEO_CARDS="mga"
-for x in ${VIDEO_CARDS}; do
- IUSE+=" video_cards_${x}"
-done
-
-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
-"
if [[ ${PV} == *9999* ]]; then
+ EGIT_REPO_URI="https://git.ffmpeg.org/ffmpeg.git"
+ ESVN_REPO_URI="svn://svn.mplayerhq.hu/mplayer/trunk"
RELEASE_URI=""
-elif [ "${PV%_rc*}" = "${PV}" -a "${PV%_pre*}" = "${PV}" ]; then
+
+ 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
- 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
-SRC_URI="${RELEASE_URI}
- !truetype? ( ${FONT_URI} )"
+
+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 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_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="
- virtual/ttf-fonts
media-libs/fontconfig
>=media-libs/freetype-2.2.1:2
+ virtual/ttf-fonts
"
X_RDEPS="
x11-libs/libXext
x11-libs/libXxf86vm
"
-# Rar: althrought -gpl version is nice, it cant do most functions normal rars can
+# - 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:
+# - mplayer relies on private APIs in giflib that have been removed:
# https://sourceforge.net/p/giflib/bugs/132/
-RDEPEND+="
- sys-libs/ncurses:0=
+RDEPEND="
app-arch/bzip2
+ >=media-video/ffmpeg-4.0:=[vdpau?]
+ sys-libs/ncurses:=
sys-libs/zlib
- >=media-video/ffmpeg-4.0:0=[vdpau?]
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:0= dev-libs/libcdio-paranoia )
+ 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:0= )
- dvdnav? ( >=media-libs/libdvdnav-4.1.3:0= )
+ dvd? ( >=media-libs/libdvdread-4.1.3:= )
+ dvdnav? ( >=media-libs/libdvdnav-4.1.3:= )
encode? (
!twolame? ( toolame? ( media-sound/toolame ) )
twolame? ( media-sound/twolame )
@@ -89,7 +105,7 @@ RDEPEND+="
gsm? ( media-sound/gsm )
iconv? ( virtual/libiconv )
jack? ( virtual/jack )
- jpeg? ( virtual/jpeg:0 )
+ jpeg? ( media-libs/libjpeg-turbo:= )
ladspa? ( media-libs/ladspa-sdk )
libass? ( >=media-libs/libass-0.9.10:= )
libcaca? ( media-libs/libcaca )
@@ -103,7 +119,7 @@ RDEPEND+="
nas? ( media-libs/nas )
openal? ( media-libs/openal )
opengl? ( virtual/opengl )
- png? ( media-libs/libpng:0= )
+ png? ( media-libs/libpng:= )
pnm? ( media-libs/netpbm )
pulseaudio? ( media-sound/pulseaudio )
rar? (
@@ -126,31 +142,31 @@ RDEPEND+="
xscreensaver? ( x11-libs/libXScrnSaver )
xv? ( x11-libs/libXv )
"
-
-ASM_DEP="dev-lang/yasm"
-DEPEND="${RDEPEND}
- virtual/pkgconfig
+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"
+BDEPEND="
+ virtual/pkgconfig
amd64? ( ${ASM_DEP} )
doc? (
- dev-libs/libxslt app-text/docbook-xml-dtd
+ app-text/docbook-xml-dtd
app-text/docbook-xsl-stylesheets
+ dev-libs/libxslt
)
x86? ( ${ASM_DEP} )
- x86-fbsd? ( ${ASM_DEP} )
-"
-RDEPEND+="
- selinux? ( sec-policy/selinux-mplayer )
"
+RDEPEND+="selinux? ( sec-policy/selinux-mplayer )"
-SLOT="0"
LICENSE="GPL-2"
+SLOT="0"
if [[ ${PV} != *9999* ]]; then
- KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ppc ppc64 ~sparc x86"
+ KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~sparc x86"
fi
# faac codecs are nonfree
@@ -198,20 +214,21 @@ pkg_setup() {
}
src_unpack() {
- if [[ ${PV} = *9999* ]]; then
+ if [[ ${PV} == *9999* ]]; then
subversion_src_unpack
- cd "${WORKDIR}"
- rm -rf "${WORKDIR}/${P}/ffmpeg/"
+
+ 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}"
+ if [[ ${PV} == *9999* || "${PV%_rc*}" == "${PV}" ]]; then
+ cd "${S}" || die
cp "${FILESDIR}/dump_ffmpeg.sh" . || die
- chmod +x dump_ffmpeg.sh
- ./dump_ffmpeg.sh || die
+ chmod +x dump_ffmpeg.sh || die
+ ./dump_ffmpeg.sh
fi
if ! use truetype; then
@@ -225,21 +242,20 @@ src_prepare() {
default
local svf=snapshot_version
- if [[ ${PV} = *9999* ]]; then
+ if [[ ${PV} == *9999* ]]; then
# Set SVN version manually
subversion_wc_info
- printf "${ESVN_WC_REVISION}" > $svf
- else
- eapply "${FILESDIR}"/${PN}-1.3-CVE-2016-4352.patch
+ printf "${ESVN_WC_REVISION}" > ${svf} || die
fi
- eapply "${FILESDIR}"/ffmpeg44.patch
- 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
+
+ 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
+ # 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
@@ -247,27 +263,32 @@ src_prepare() {
}
src_configure() {
- local myconf=""
+ # 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
+ # Set LINGUAS
+ [[ -n ${LINGUAS} ]] && LINGUAS="${LINGUAS/da/dk}"
+ [[ -n ${LINGUAS} ]] && LINGUAS="${LINGUAS/zh/zh_CN}" #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+="
+ #####################
+ # 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
@@ -279,27 +300,28 @@ src_configure() {
--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
+ myconf+=( --disable-nemesi ) # nemesi automagic disable
for i in ${uses}; do
- use ${i} || myconf+=" --disable-${i}"
+ 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"
+ 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"
+ myconf+=( --disable-cdparanoia )
else
- myconf+=" --disable-libcdio"
- use cdparanoia || myconf+=" --disable-cdparanoia"
- use cddb || myconf+=" --disable-cddb"
+ myconf+=( --disable-libcdio )
+ use cdparanoia || myconf+=( --disable-cdparanoia )
+ use cddb || myconf+=( --disable-cddb )
fi
################################
@@ -308,8 +330,8 @@ src_configure() {
#
# dvdread - accessing a DVD
# dvdnav - navigation of menus
- use dvd || myconf+=" --disable-dvdread"
- use dvdnav || myconf+=" --disable-dvdnav"
+ use dvd || myconf+=( --disable-dvdread )
+ use dvdnav || myconf+=( --disable-dvdnav )
#############
# Subtitles #
@@ -318,35 +340,33 @@ src_configure() {
# 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"
+ 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"
- # broken upstream, won't work with recent kernels
- myconf+=" --disable-ivtv"
+ myconf+=( --disable-tv-bsdbt848 )
# gone since linux-headers-2.6.38
- myconf+=" --disable-tv-v4l1"
+ 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"
+ 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+="
+ myconf+=(
--enable-radio
$(use_enable encode radio-capture)
- "
+ )
else
- myconf+="
+ myconf+=(
--disable-radio-v4l2
--disable-radio-bsdbt848
- "
+ )
fi
else
- myconf+="
+ myconf+=(
--disable-tv
--disable-tv-v4l2
--disable-radio
@@ -354,44 +374,45 @@ src_configure() {
--disable-radio-bsdbt848
--disable-dvb
--disable-v4l2
- --disable-pvr"
+ --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"
+ 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+="
+ 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}"
+ 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}"
+ use ${i} || myconf+=( --disable-${i} )
done
# Pulls an outdated libopenjpeg, ffmpeg provides better support for it
- myconf+=" --disable-libopenjpeg"
+ myconf+=( --disable-libopenjpeg )
# Encoding
uses="faac x264 xvid toolame twolame"
if use encode; then
for i in ${uses}; do
- use ${i} || myconf+=" --disable-${i}"
+ use ${i} || myconf+=( --disable-${i} )
done
else
- myconf+=" --disable-mencoder"
+ myconf+=( --disable-mencoder )
for i in ${uses}; do
- myconf+=" --disable-${i}"
+ myconf+=( --disable-${i} )
use ${i} && elog "Useflag \"${i}\" will only be useful for encoding, i.e., with \"encode\" useflag enabled."
done
fi
@@ -399,63 +420,65 @@ src_configure() {
#################
# Binary codecs #
#################
- myconf+=" --disable-qtx --disable-real --disable-win32dll"
+ myconf+=( --disable-qtx --disable-real --disable-win32dll )
################
# Video Output #
################
uses="md5sum sdl yuv4mpeg"
for i in ${uses}; do
- use ${i} || myconf+=" --disable-${i}"
+ 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"
+ 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"
+ myconf+=( --disable-mga --disable-xmga )
fi
- myconf+="
+ myconf+=(
--disable-3dfx
--disable-tdfxvid
--disable-tdfxfb
- "
+ )
# sun card, disable by default, see bug #258729
- myconf+=" --disable-xvr100"
+ myconf+=( --disable-xvr100 )
################
# Audio Output #
################
- myconf+=" --disable-esd"
+ myconf+=( --disable-esd )
uses="alsa jack ladspa nas openal"
for i in ${uses}; do
- use ${i} || myconf+=" --disable-${i}"
+ use ${i} || myconf+=( --disable-${i} )
done
- use pulseaudio || myconf+=" --disable-pulse"
+ use pulseaudio || myconf+=( --disable-pulse )
if ! use radio; then
- use oss || myconf+=" --disable-ossaudio"
+ use oss || myconf+=( --disable-ossaudio )
fi
####################
# Advanced Options #
####################
# Platform specific flags, hardcoded on amd64 (see below)
- use cpudetection && myconf+=" --enable-runtime-cpudetection"
+ use cpudetection && myconf+=( --enable-runtime-cpudetection )
- uses="3dnow 3dnowext mmx mmxext sse sse2 ssse3"
+ uses="3dnow 3dnowext avx avx2 fma3 fma4 mmx mmxext sse sse2 sse3 ssse3 xop"
for i in ${uses}; do
- myconf+=" $(use_enable cpu_flags_x86_${i} ${i})"
+ 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) )
- uses="altivec shm"
- for i in ${uses}; do
- myconf+=" $(use_enable ${i})"
- done
+ myconf+=(
+ $(use_enable cpu_flags_ppc_altivec altivec)
+ $(use_enable shm)
+ )
- use debug && myconf+=" --enable-debug=3"
+ use debug && myconf+=( --enable-debug=3 )
if use x86 && gcc-specs-pie; then
filter-flags -fPIC -fPIE
@@ -465,31 +488,31 @@ src_configure() {
###########################
# X enabled configuration #
###########################
- myconf+=" --disable-gui"
- myconf+=" --disable-vesa"
+ myconf+=( --disable-gui )
+ myconf+=( --disable-vesa )
uses="ggi vdpau xinerama xv"
for i in ${uses}; do
- use ${i} || myconf+=" --disable-${i}"
+ 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"
+ 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+="
+ myconf+=(
--enable-macosx-finder
--enable-macosx-bundle
- "
+ )
fi
# Note: --enable-gnutls only makes sense with --enable-ffmpeg_a
- ./configure \
+ edo ./configure \
--cc="$(tc-getCC)" \
--host-cc="$(tc-getBUILD_CC)" \
--prefix="${EPREFIX}/usr" \
@@ -500,7 +523,7 @@ src_configure() {
--mandir="${EPREFIX}/usr/share/man" \
--disable-ffmpeg_a \
--disable-gnutls \
- ${myconf} || die
+ "${myconf[@]}"
}
src_compile() {
@@ -508,16 +531,19 @@ src_compile() {
# Build only user-requested docs if they're available.
if use doc ; then
- # select available languages from $LINGUAS
+ # Select available languages from ${LINGUAS}
local ALLOWED_LINGUAS="cs de en es fr hu it pl ru zh_CN"
- local BUILT_DOCS=""
+ local BUILT_DOCS=()
+ local i
+
for i in ${LINGUAS} ; do
- has ${i} ${ALLOWED_LINGUAS} && BUILT_DOCS+=" ${i}"
+ has ${i} ${ALLOWED_LINGUAS} && BUILT_DOCS+=( ${i} )
done
- if [[ -z $BUILT_DOCS ]]; then
+
+ if [[ -z ${BUILT_DOCS[@]} ]]; then
emake -j1 html-chunked
else
- for i in ${BUILT_DOCS}; do
+ for i in ${BUILT_DOCS[@]}; do
emake -j1 html-chunked-${i}
done
fi
@@ -548,11 +574,14 @@ src_install() {
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
@@ -560,32 +589,33 @@ src_install() {
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_
+ 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_
+ 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_
+ cat >> "${ED}/etc/mplayer/mplayer.conf" <<- _EOF_
+ unrarexec=${EPREFIX}/usr/bin/unrar
+ _EOF_
fi
- dosym ../../../etc/mplayer/mplayer.conf /usr/share/mplayer/mplayer.conf
+ dosym -r /etc/mplayer/mplayer.conf /usr/share/mplayer/mplayer.conf
newbin "${S}/TOOLS/midentify.sh" midentify
}
@@ -596,11 +626,11 @@ pkg_preinst() {
pkg_postrm() {
# Cleanup stale symlinks
- [ -L "${EROOT}/usr/share/mplayer/font" -a \
- ! -e "${EROOT}/usr/share/mplayer/font" ] && \
+ [[ -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" -a \
- ! -e "${EROOT}/usr/share/mplayer/subfont.ttf" ] && \
+ [[ -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_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 44bc6b156c21..b7e9b5420e81 100644
--- a/media-video/mplayer/mplayer-9999.ebuild
+++ b/media-video/mplayer/mplayer-9999.ebuild
@@ -1,80 +1,99 @@
-# 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
-EGIT_REPO_URI="https://git.ffmpeg.org/ffmpeg.git"
-ESVN_REPO_URI="svn://svn.mplayerhq.hu/mplayer/trunk"
-[[ ${PV} = *9999* ]] && SVN_ECLASS="subversion git-r3"
+inherit edo toolchain-funcs flag-o-matic
-inherit toolchain-funcs flag-o-matic ${SVN_ECLASS}
-
-IUSE="cpu_flags_x86_3dnow cpu_flags_x86_3dnowext a52 aalib +alsa altivec aqua bidi bl bluray
-bs2b cddb +cdio cdparanoia cpudetection debug dga
-doc dts dv dvb +dvd +dvdnav +enca +encode faac faad fbcon
-ftp ggi gsm +iconv ipv6 jack joystick jpeg kernel_linux ladspa
-+libass libcaca libmpeg2 lirc live lzo mad md5sum cpu_flags_x86_mmx cpu_flags_x86_mmxext mng mp3 nas
-+network openal opengl +osdmenu oss png pnm pulseaudio pvr
-radio rar rtc rtmp samba selinux +shm sdl speex cpu_flags_x86_sse cpu_flags_x86_sse2 cpu_flags_x86_ssse3
-tga theora tremor +truetype toolame twolame +unicode v4l vcd vdpau vidix
-vorbis +X x264 xinerama +xscreensaver +xv xvid yuv4mpeg zoran"
-
-VIDEO_CARDS="mga"
-for x in ${VIDEO_CARDS}; do
- IUSE+=" video_cards_${x}"
-done
-
-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
-"
if [[ ${PV} == *9999* ]]; then
+ EGIT_REPO_URI="https://git.ffmpeg.org/ffmpeg.git"
+ ESVN_REPO_URI="svn://svn.mplayerhq.hu/mplayer/trunk"
RELEASE_URI=""
-elif [ "${PV%_rc*}" = "${PV}" -a "${PV%_pre*}" = "${PV}" ]; then
+
+ 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
- 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
-SRC_URI="${RELEASE_URI}
- !truetype? ( ${FONT_URI} )"
+
+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="
- virtual/ttf-fonts
media-libs/fontconfig
>=media-libs/freetype-2.2.1:2
+ virtual/ttf-fonts
"
X_RDEPS="
x11-libs/libXext
x11-libs/libXxf86vm
"
-# Rar: althrought -gpl version is nice, it cant do most functions normal rars can
+# - 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:
+# - mplayer relies on private APIs in giflib that have been removed:
# https://sourceforge.net/p/giflib/bugs/132/
-RDEPEND+="
- sys-libs/ncurses:0=
+RDEPEND="
app-arch/bzip2
+ >=media-video/ffmpeg-4.0:=[vdpau?]
+ sys-libs/ncurses:=
sys-libs/zlib
- >=media-video/ffmpeg-4.0:0=[vdpau?]
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:0= dev-libs/libcdio-paranoia )
+ 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:0= )
- dvdnav? ( >=media-libs/libdvdnav-4.1.3:0= )
+ dvd? ( >=media-libs/libdvdread-4.1.3:= )
+ dvdnav? ( >=media-libs/libdvdnav-4.1.3:= )
encode? (
!twolame? ( toolame? ( media-sound/toolame ) )
twolame? ( media-sound/twolame )
@@ -89,7 +108,7 @@ RDEPEND+="
gsm? ( media-sound/gsm )
iconv? ( virtual/libiconv )
jack? ( virtual/jack )
- jpeg? ( virtual/jpeg:0 )
+ jpeg? ( media-libs/libjpeg-turbo:= )
ladspa? ( media-libs/ladspa-sdk )
libass? ( >=media-libs/libass-0.9.10:= )
libcaca? ( media-libs/libcaca )
@@ -103,7 +122,7 @@ RDEPEND+="
nas? ( media-libs/nas )
openal? ( media-libs/openal )
opengl? ( virtual/opengl )
- png? ( media-libs/libpng:0= )
+ png? ( media-libs/libpng:= )
pnm? ( media-libs/netpbm )
pulseaudio? ( media-sound/pulseaudio )
rar? (
@@ -126,31 +145,31 @@ RDEPEND+="
xscreensaver? ( x11-libs/libXScrnSaver )
xv? ( x11-libs/libXv )
"
-
-ASM_DEP="dev-lang/yasm"
-DEPEND="${RDEPEND}
- virtual/pkgconfig
+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/nasm"
+BDEPEND="
+ virtual/pkgconfig
amd64? ( ${ASM_DEP} )
doc? (
- dev-libs/libxslt app-text/docbook-xml-dtd
+ app-text/docbook-xml-dtd
app-text/docbook-xsl-stylesheets
+ dev-libs/libxslt
)
x86? ( ${ASM_DEP} )
- x86-fbsd? ( ${ASM_DEP} )
-"
-RDEPEND+="
- selinux? ( sec-policy/selinux-mplayer )
"
+RDEPEND+="selinux? ( sec-policy/selinux-mplayer )"
-SLOT="0"
LICENSE="GPL-2"
+SLOT="0"
if [[ ${PV} != *9999* ]]; then
- KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
fi
# faac codecs are nonfree
@@ -198,20 +217,21 @@ pkg_setup() {
}
src_unpack() {
- if [[ ${PV} = *9999* ]]; then
+ if [[ ${PV} == *9999* ]]; then
subversion_src_unpack
- cd "${WORKDIR}"
- rm -rf "${WORKDIR}/${P}/ffmpeg/"
+
+ 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}"
+ if [[ ${PV} == *9999* || "${PV%_rc*}" == "${PV}" ]]; then
+ cd "${S}" || die
cp "${FILESDIR}/dump_ffmpeg.sh" . || die
- chmod +x dump_ffmpeg.sh
- ./dump_ffmpeg.sh || die
+ chmod +x dump_ffmpeg.sh || die
+ ./dump_ffmpeg.sh
fi
if ! use truetype; then
@@ -225,20 +245,20 @@ src_prepare() {
default
local svf=snapshot_version
- if [[ ${PV} = *9999* ]]; then
+ if [[ ${PV} == *9999* ]]; then
# Set SVN version manually
subversion_wc_info
- printf "${ESVN_WC_REVISION}" > $svf
- else
- eapply "${FILESDIR}"/${PN}-1.3-CVE-2016-4352.patch
+ 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
+
+ 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
+ # 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
@@ -246,27 +266,32 @@ src_prepare() {
}
src_configure() {
- local myconf=""
+ # 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
+ # 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+="
+ #####################
+ # 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
@@ -278,27 +303,28 @@ src_configure() {
--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
+ myconf+=( --disable-nemesi ) # nemesi automagic disable
for i in ${uses}; do
- use ${i} || myconf+=" --disable-${i}"
+ 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"
+ 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"
+ myconf+=( --disable-cdparanoia )
else
- myconf+=" --disable-libcdio"
- use cdparanoia || myconf+=" --disable-cdparanoia"
- use cddb || myconf+=" --disable-cddb"
+ myconf+=( --disable-libcdio )
+ use cdparanoia || myconf+=( --disable-cdparanoia )
+ use cddb || myconf+=( --disable-cddb )
fi
################################
@@ -307,8 +333,8 @@ src_configure() {
#
# dvdread - accessing a DVD
# dvdnav - navigation of menus
- use dvd || myconf+=" --disable-dvdread"
- use dvdnav || myconf+=" --disable-dvdnav"
+ use dvd || myconf+=( --disable-dvdread )
+ use dvdnav || myconf+=( --disable-dvdnav )
#############
# Subtitles #
@@ -317,35 +343,33 @@ src_configure() {
# 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"
+ 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"
- # broken upstream, won't work with recent kernels
- myconf+=" --disable-ivtv"
+ myconf+=( --disable-tv-bsdbt848 )
# gone since linux-headers-2.6.38
- myconf+=" --disable-tv-v4l1"
+ 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"
+ 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+="
+ myconf+=(
--enable-radio
$(use_enable encode radio-capture)
- "
+ )
else
- myconf+="
+ myconf+=(
--disable-radio-v4l2
--disable-radio-bsdbt848
- "
+ )
fi
else
- myconf+="
+ myconf+=(
--disable-tv
--disable-tv-v4l2
--disable-radio
@@ -353,44 +377,45 @@ src_configure() {
--disable-radio-bsdbt848
--disable-dvb
--disable-v4l2
- --disable-pvr"
+ --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"
+ 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+="
+ 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}"
+ 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}"
+ use ${i} || myconf+=( --disable-${i} )
done
# Pulls an outdated libopenjpeg, ffmpeg provides better support for it
- myconf+=" --disable-libopenjpeg"
+ myconf+=( --disable-libopenjpeg )
# Encoding
uses="faac x264 xvid toolame twolame"
if use encode; then
for i in ${uses}; do
- use ${i} || myconf+=" --disable-${i}"
+ use ${i} || myconf+=( --disable-${i} )
done
else
- myconf+=" --disable-mencoder"
+ myconf+=( --disable-mencoder )
for i in ${uses}; do
- myconf+=" --disable-${i}"
+ myconf+=( --disable-${i} )
use ${i} && elog "Useflag \"${i}\" will only be useful for encoding, i.e., with \"encode\" useflag enabled."
done
fi
@@ -398,63 +423,72 @@ src_configure() {
#################
# Binary codecs #
#################
- myconf+=" --disable-qtx --disable-real --disable-win32dll"
+ myconf+=( --disable-qtx --disable-real --disable-win32dll )
################
# Video Output #
################
uses="md5sum sdl yuv4mpeg"
for i in ${uses}; do
- use ${i} || myconf+=" --disable-${i}"
+ 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"
+ 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"
+ myconf+=( --disable-mga --disable-xmga )
fi
- myconf+="
+ myconf+=(
--disable-3dfx
--disable-tdfxvid
--disable-tdfxfb
- "
+ )
# sun card, disable by default, see bug #258729
- myconf+=" --disable-xvr100"
+ myconf+=( --disable-xvr100 )
################
# Audio Output #
################
- myconf+=" --disable-esd"
+ myconf+=( --disable-esd )
uses="alsa jack ladspa nas openal"
for i in ${uses}; do
- use ${i} || myconf+=" --disable-${i}"
+ use ${i} || myconf+=( --disable-${i} )
done
- use pulseaudio || myconf+=" --disable-pulse"
+ use pulseaudio || myconf+=( --disable-pulse )
if ! use radio; then
- use oss || myconf+=" --disable-ossaudio"
+ use oss || myconf+=( --disable-ossaudio )
fi
####################
# Advanced Options #
####################
# Platform specific flags, hardcoded on amd64 (see below)
- use cpudetection && myconf+=" --enable-runtime-cpudetection"
+ use cpudetection && myconf+=( --enable-runtime-cpudetection )
- uses="3dnow 3dnowext mmx mmxext sse sse2 ssse3"
- for i in ${uses}; do
- myconf+=" $(use_enable cpu_flags_x86_${i} ${i})"
+ 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)
+ )
- uses="altivec shm"
- for i in ${uses}; do
- myconf+=" $(use_enable ${i})"
- done
+ 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"
+ use debug && myconf+=( --enable-debug=3 )
if use x86 && gcc-specs-pie; then
filter-flags -fPIC -fPIE
@@ -464,31 +498,31 @@ src_configure() {
###########################
# X enabled configuration #
###########################
- myconf+=" --disable-gui"
- myconf+=" --disable-vesa"
+ myconf+=( --disable-gui )
+ myconf+=( --disable-vesa )
uses="ggi vdpau xinerama xv"
for i in ${uses}; do
- use ${i} || myconf+=" --disable-${i}"
+ 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"
+ 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+="
+ myconf+=(
--enable-macosx-finder
--enable-macosx-bundle
- "
+ )
fi
# Note: --enable-gnutls only makes sense with --enable-ffmpeg_a
- ./configure \
+ edo ./configure \
--cc="$(tc-getCC)" \
--host-cc="$(tc-getBUILD_CC)" \
--prefix="${EPREFIX}/usr" \
@@ -499,7 +533,7 @@ src_configure() {
--mandir="${EPREFIX}/usr/share/man" \
--disable-ffmpeg_a \
--disable-gnutls \
- ${myconf} || die
+ "${myconf[@]}"
}
src_compile() {
@@ -507,16 +541,19 @@ src_compile() {
# Build only user-requested docs if they're available.
if use doc ; then
- # select available languages from $LINGUAS
+ # Select available languages from ${LINGUAS}
local ALLOWED_LINGUAS="cs de en es fr hu it pl ru zh_CN"
- local BUILT_DOCS=""
+ local BUILT_DOCS=()
+ local i
+
for i in ${LINGUAS} ; do
- has ${i} ${ALLOWED_LINGUAS} && BUILT_DOCS+=" ${i}"
+ has ${i} ${ALLOWED_LINGUAS} && BUILT_DOCS+=( ${i} )
done
- if [[ -z $BUILT_DOCS ]]; then
+
+ if [[ -z ${BUILT_DOCS[@]} ]]; then
emake -j1 html-chunked
else
- for i in ${BUILT_DOCS}; do
+ for i in ${BUILT_DOCS[@]}; do
emake -j1 html-chunked-${i}
done
fi
@@ -547,11 +584,14 @@ src_install() {
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
@@ -559,32 +599,33 @@ src_install() {
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_
+ 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_
+ cat >> "${ED}/etc/mplayer/mplayer.conf" <<- _EOF_
+ fontconfig=1
+ subfont-osd-scale=4
+ subfont-text-scale=3
+ _EOF_
fi
- # bug 256203
+ # bug #256203
if use rar; then
- cat >> "${ED}/etc/mplayer/mplayer.conf" << _EOF_
-unrarexec=${EPREFIX}/usr/bin/unrar
-_EOF_
+ cat >> "${ED}/etc/mplayer/mplayer.conf" <<- _EOF_
+ unrarexec=${EPREFIX}/usr/bin/unrar
+ _EOF_
fi
- dosym ../../../etc/mplayer/mplayer.conf /usr/share/mplayer/mplayer.conf
+ dosym -r /etc/mplayer/mplayer.conf /usr/share/mplayer/mplayer.conf
newbin "${S}/TOOLS/midentify.sh" midentify
}
@@ -595,11 +636,11 @@ pkg_preinst() {
pkg_postrm() {
# Cleanup stale symlinks
- [ -L "${EROOT}/usr/share/mplayer/font" -a \
- ! -e "${EROOT}/usr/share/mplayer/font" ] && \
+ [[ -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" -a \
- ! -e "${EROOT}/usr/share/mplayer/subfont.ttf" ] && \
+ [[ -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/mpv/Manifest b/media-video/mpv/Manifest
index 761ee9149d6a..0e7c6d471455 100644
--- a/media-video/mpv/Manifest
+++ b/media-video/mpv/Manifest
@@ -1,2 +1,2 @@
-DIST mpv-0.33.1.tar.gz 3259882 BLAKE2B 97ab101c2013ffb219d36a788020fb9fc4382d09971ac0beee42701a54667a6c766521be7b052193de4505b2117c2d47b3682ebafab46632fc40b637e0d19c04 SHA512 99d6c40d18c5cf83814b44ec6d8eade229800c5b51a734c9bbe831c3aeb95f8931124c94f6ae2360ffff62053c163bc3c55b254df021e005b350ebc3df7e952b
-DIST waf-2.0.9 103104 BLAKE2B c7e996aa49662da3ff941d076fc7e2dd23e867ade92a3b2ae07560b76d63a69e495184a1f9c76be5c51977ddb1713f9247f62e672033ecb988ac559e3a47e546 SHA512 0755170ded115b03e78a2096f197cd9fff62b5036db764153d26ce426f182ea7d7b8231cfa1a10b4a564a8480428502f3691851df66e7b83c7bca8e5fe26de7d
+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/metadata.xml b/media-video/mpv/metadata.xml
index 976440320d4f..4fb09acf0a6a 100644
--- a/media-video/mpv/metadata.xml
+++ b/media-video/mpv/metadata.xml
@@ -2,31 +2,30 @@
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>zlogene@gentoo.org</email>
- <name>Mikle Kolyada</name>
+ <email>ionen@gentoo.org</email>
+ <name>Ionen Wolkens</name>
</maintainer>
<use>
<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">Build mpv CLI player</flag>
- <flag name="cplugins">Enable C plugins support</flag>
- <flag name="cuda">Enable hardware video decoding via Nvidia CUDA</flag>
- <flag name="drm">Enable Kernel Mode Setting / Direct Rendering Manager based video output</flag>
- <flag name="egl">Enable support for various EGL-based video outputs / backends</flag>
+ <flag name="cli">Enable the command-line player</flag>
+ <flag name="drm">Enable Kernel Mode Setting / Direct Rendering Manager based video outputs</flag>
<flag name="gamepad">Enable gamepad input support</flag>
- <flag name="gbm">Enable Graphics Buffer Manager based EGL video backend</flag>
- <flag name="jpeg">Enable support for saving screenshots in JPEG format</flag>
- <flag name="libmpv">Build mpv shared library</flag>
- <flag name="lua">Enable Lua scripting, OSC (On Screen Controller) GUI and <pkg>net-misc/youtube-dl</pkg> hook-script</flag>
- <flag name="opengl" restrict="&lt;media-video/mpv-0.28.0">Enable the recommended 'opengl' video output</flag>
- <flag name="opengl" restrict="&gt;=media-video/mpv-0.28.0">Enable support for various OpenGL-based video backends</flag>
+ <flag name="libmpv">Enable the shared library and headers (used by frontends / plugins)</flag>
+ <flag name="lua">Enable Lua scripting, OSC (On Screen Controller) GUI, and <pkg>net-misc/yt-dlp</pkg> support</flag>
+ <flag name="mmal">Enable Multi-Media Abstraction Layer (MMAL) decoding support: Available e.g. on the Raspberry Pi</flag>
+ <flag name="opengl">Enable support for OpenGL-based video backends
+ (Note: deprecated for X11, USE=egl provides the newer support for -gpu-api=opengl)</flag>
+ <flag name="pipewire">Enable sound support via native PipeWire backend</flag>
<flag name="raspberry-pi">Enable support for the Raspberry Pi</flag>
<flag name="rubberband">Enable high quality pitch correction via <pkg>media-libs/rubberband</pkg></flag>
<flag name="sdl">Enable <pkg>media-libs/libsdl2</pkg> based video and audio outputs
(Note: these outputs exist for compatibility reasons only, avoid if possible)</flag>
+ <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 various 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.33.1-r1.ebuild b/media-video/mpv/mpv-0.33.1-r1.ebuild
deleted file mode 100644
index dc6718aa3598..000000000000
--- a/media-video/mpv/mpv-0.33.1-r1.ebuild
+++ /dev/null
@@ -1,358 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-LUA_COMPAT=( lua5-{1..2} luajit )
-PYTHON_COMPAT=( python3_{7..9} )
-PYTHON_REQ_USE='threads(+)'
-
-WAF_PV=2.0.9
-
-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 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 cuda debug doc drm dvb
- dvd +egl gamepad gbm +iconv jack javascript jpeg lcms libcaca libmpv +lua
- 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 )
- cuda? ( opengl )
- egl? ( || ( gbm X wayland ) )
- gamepad? ( sdl )
- gbm? ( drm egl opengl )
- lcms? ( opengl )
- lua? ( ${LUA_REQUIRED_USE} )
- 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? ( x11-libs/libva:=[drm?,X?,wayland?] )
- vdpau? ( x11-libs/libvdpau )
- vulkan? (
- <media-libs/libplacebo-3.104.0:=[vulkan]
- 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}
- cuda? ( >=media-libs/nv-codec-headers-8.2.15.7 )
- dvb? ( virtual/linuxtv-dvb-headers )
-"
-RDEPEND="${COMMON_DEPEND}
- cuda? ( 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"${SYSROOT%/}${EPREFIX}/opt/vc/include"
- append-ldflags -L"${SYSROOT%/}${EPREFIX}/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 cuda cuda-hwaccel)
- $(use_enable cuda 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/youtube-dl
-
- 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.37.0.ebuild b/media-video/mpv/mpv-0.37.0.ebuild
new file mode 100644
index 000000000000..f7dd7257fca2
--- /dev/null
+++ b/media-video/mpv/mpv-0.37.0.ebuild
@@ -0,0 +1,286 @@
+# 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 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 ) )
+ 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 )"
+
+# raspberry-pi: default to -bin given non-bin is known broken (bug #893422)
+COMMON_DEPEND="
+ media-libs/libass:=[fontconfig]
+ >=media-libs/libplacebo-6.338:=[opengl?,vulkan?]
+ >=media-video/ffmpeg-4.4:=[encode,threads,vaapi?,vdpau?]
+ 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 )
+ 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 )
+ 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?]
+ )
+ 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 )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.37.0-drm-fix.patch
+)
+
+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 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 &&
+ 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)
+ $(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_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-0.38.0.ebuild b/media-video/mpv/mpv-0.38.0.ebuild
new file mode 100644
index 000000000000..a44f459bb171
--- /dev/null
+++ b/media-video/mpv/mpv-0.38.0.ebuild
@@ -0,0 +1,276 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LUA_COMPAT=( lua5-1 luajit )
+PYTHON_COMPAT=( python3_{10..13} )
+inherit flag-o-matic lua-single meson optfeature pax-utils python-single-r1 xdg
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/mpv-player/mpv.git"
+else
+ SRC_URI="https://github.com/mpv-player/mpv/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="amd64 ~arm arm64 ~loong ppc ppc64 ~riscv x86 ~amd64-linux"
+fi
+
+DESCRIPTION="Media player for the command line"
+HOMEPAGE="https://mpv.io/"
+
+LICENSE="LGPL-2.1+ GPL-2+ BSD ISC MIT" #506946
+SLOT="0/2" # soname
+IUSE="
+ +X +alsa aqua archive bluray cdda +cli coreaudio debug +drm dvb
+ dvd +egl gamepad +iconv jack javascript jpeg lcms libcaca +libmpv
+ +lua nvenc openal opengl pipewire pulseaudio rubberband sdl selinux
+ sixel sndio soc test tools +uchardet vaapi vdpau vulkan wayland xv
+ zimg zlib
+"
+REQUIRED_USE="
+ ${PYTHON_REQUIRED_USE}
+ || ( cli libmpv )
+ egl? ( || ( X drm wayland ) )
+ lua? ( ${LUA_REQUIRED_USE} )
+ nvenc? ( || ( egl opengl vulkan ) )
+ opengl? ( || ( X aqua ) )
+ test? ( cli )
+ tools? ( cli )
+ uchardet? ( iconv )
+ vaapi? ( || ( X drm wayland ) )
+ vdpau? ( X )
+ vulkan? ( || ( X wayland ) )
+ xv? ( X )
+"
+RESTRICT="!test? ( test )"
+
+COMMON_DEPEND="
+ media-libs/libass:=[fontconfig]
+ >=media-libs/libplacebo-6.338.2:=[opengl?,vulkan?]
+ >=media-video/ffmpeg-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 "various websites URL support$(usev !lua \
+ " (requires ${PN} with USE=lua)")" net-misc/yt-dlp
+}
diff --git a/media-video/mpv/mpv-9999.ebuild b/media-video/mpv/mpv-9999.ebuild
index f65aba458d62..3825d102d45b 100644
--- a/media-video/mpv/mpv-9999.ebuild
+++ b/media-video/mpv/mpv-9999.ebuild
@@ -1,358 +1,276 @@
-# 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
-LUA_COMPAT=( lua5-{1..2} luajit )
-PYTHON_COMPAT=( python3_{7..9} )
-PYTHON_REQ_USE='threads(+)'
+LUA_COMPAT=( lua5-1 luajit )
+PYTHON_COMPAT=( python3_{10..13} )
+inherit flag-o-matic lua-single meson optfeature pax-utils python-single-r1 xdg
-WAF_PV=2.0.9
-
-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 ppc ppc64 ~riscv x86 ~amd64-linux"
- DOCS=( RELEASE_NOTES )
-else
- EGIT_REPO_URI="https://github.com/mpv-player/mpv.git"
+if [[ ${PV} == 9999 ]]; then
inherit git-r3
- DOCS=(); SRC_URI=""
+ 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
-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 cuda debug doc drm dvb
- dvd +egl gamepad gbm +iconv jack javascript jpeg lcms libcaca libmpv +lua
- openal +opengl pulseaudio raspberry-pi rubberband sdl
- selinux test tools +uchardet vaapi vdpau vulkan wayland +X +xv zlib zimg"
+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 )
- aqua? ( opengl )
- cuda? ( opengl )
- egl? ( || ( gbm X wayland ) )
- gamepad? ( sdl )
- gbm? ( drm egl opengl )
- lcms? ( opengl )
+ egl? ( || ( X drm wayland ) )
lua? ( ${LUA_REQUIRED_USE} )
- opengl? ( || ( aqua egl X raspberry-pi !cli ) )
- raspberry-pi? ( opengl )
- test? ( opengl )
+ nvenc? ( || ( egl opengl vulkan ) )
+ opengl? ( || ( X aqua ) )
+ test? ( cli )
tools? ( cli )
uchardet? ( iconv )
- vaapi? ( || ( gbm X wayland ) )
+ vaapi? ( || ( X drm 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 )
+ 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-4.2.0:=
- >=media-libs/libdvdread-4.1.0:=
+ media-libs/libdvdnav
+ media-libs/libdvdread:=
+ )
+ egl? (
+ media-libs/libglvnd
+ media-libs/libplacebo[opengl]
)
- egl? ( media-libs/mesa[egl,gbm(-)?,wayland(-)?] )
- gamepad? ( media-libs/libsdl2 )
+ gamepad? ( media-libs/libsdl2[joystick] )
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 )
+ 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-1.13 )
- pulseaudio? ( media-sound/pulseaudio )
- raspberry-pi? ( >=media-libs/raspberrypi-userland-0_pre20160305-r1 )
- rubberband? ( >=media-libs/rubberband-1.8.0 )
+ 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] )
- vaapi? ( x11-libs/libva:=[drm?,X?,wayland?] )
+ sixel? ( media-libs/libsixel )
+ sndio? ( media-sound/sndio:= )
+ vaapi? ( media-libs/libva:=[X?,drm(+)?,wayland?] )
vdpau? ( x11-libs/libvdpau )
- vulkan? (
- >=media-libs/libplacebo-2.72.2:=[vulkan]
- media-libs/shaderc
- )
+ vulkan? ( media-libs/vulkan-loader[X?,wayland?] )
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 )
+ dev-libs/wayland
+ dev-libs/wayland-protocols
+ x11-libs/libxkbcommon
)
- zlib? ( sys-libs/zlib )
- zimg? ( >=media-libs/zimg-2.9.2 )
+ zimg? ( media-libs/zimg )
+ zlib? ( sys-libs/zlib:= )
"
-DEPEND="${COMMON_DEPEND}
- ${PYTHON_DEPS}
- cuda? ( >=media-libs/nv-codec-headers-8.2.15.7 )
- dvb? ( virtual/linuxtv-dvb-headers )
-"
-RDEPEND="${COMMON_DEPEND}
- cuda? ( x11-drivers/nvidia-drivers[X] )
+RDEPEND="
+ ${COMMON_DEPEND}
selinux? ( sec-policy/selinux-mplayer )
tools? ( ${PYTHON_DEPS} )
"
-BDEPEND="dev-python/docutils
+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
- test? ( >=dev-util/cmocka-1.0.0 )
+ cli? ( dev-python/docutils )
+ wayland? ( dev-util/wayland-scanner )
"
pkg_setup() {
use lua && lua-single_pkg_setup
-}
-
-src_prepare() {
- cp "${DISTDIR}/waf-${WAF_PV}" "${S}"/waf || die
- chmod +x "${S}"/waf || die
- default
+ python-single-r1_pkg_setup
}
src_configure() {
- python_setup
- tc-export CC PKG_CONFIG AR
-
- if use raspberry-pi; then
- append-cflags -I"${SYSROOT%/}${EPREFIX}/opt/vc/include"
- append-ldflags -L"${SYSROOT%/}${EPREFIX}/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 cuda cuda-hwaccel)
- $(use_enable cuda 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" )
+ if use !debug; then
+ if use test; then
+ einfo "Skipping -DNDEBUG due to USE=test"
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)))" )
+ append-cppflags -DNDEBUG # treated specially
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
+ 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
)
- mywafargs+=(
- --bashdir="$(get_bashcompdir)"
- --zshdir="${EPREFIX}"/usr/share/zsh/site-functions
-)
-
- # Create reproducible non-live builds.
- [[ ${PV} != *9999* ]] && mywafargs+=(--disable-build-date)
+ meson_src_configure
+}
- waf-utils_src_configure "${mywafargs[@]}"
+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() {
- waf-utils_src_install
+ meson_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}
+ 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_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
+ python_fix_shebang "${ED}"/usr/bin/umpv
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
+ 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
- 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/youtube-dl
-
- xdg_icon_cache_update
- xdg_desktop_database_update
+ local GLOBIGNORE=*/*build*:*/*policy*
+ dodoc RELEASE_NOTES DOCS/*.{md,rst}
}
-pkg_postrm() {
- xdg_icon_cache_update
- xdg_desktop_database_update
-}
+pkg_postinst() {
+ xdg_pkg_postinst
-src_test() {
- cd "${S}"/build/test || die
- local test
- for test in *; do
- if [[ -x ${test} ]]; then
- ./"${test}" || die "Test suite failed"
- fi
- done
+ optfeature "various websites URL support$(usev !lua \
+ " (requires ${PN} with USE=lua)")" net-misc/yt-dlp
}
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/nvidia-video-codec/Manifest b/media-video/nvidia-video-codec/Manifest
deleted file mode 100644
index 58948c5eced9..000000000000
--- a/media-video/nvidia-video-codec/Manifest
+++ /dev/null
@@ -1,4 +0,0 @@
-DIST nvidia-video-codec-7.0.1.tar.gz 44283 BLAKE2B ef658547ad8776f77cee3203d3bfa49ef96834ecfcfbe44513658b2966932dcbded8c1bc6327f432bc56ddaba97507ca2c4cbd39e1dcd7b244a93dff56e8c8c3 SHA512 246e7fee4430f755ca93f1343d2628c5a6de8fdb5826694eabb777ec693f5fa944147a582a96fce38f318d1a9e60e94ca94ef4e27313e3b38970b750fa17d3b4
-DIST nvidia-video-codec-7.1.9.tar.gz 44547 BLAKE2B 78f64b7a89f375dfae5061daa291304d09e1c1580a91a7c53f0b850f804e8a52402a58b501b6397626e30a67bb442cd34d33b39865427dc21ec54c8997b5f97f SHA512 8890c668b1ee73de9c6447c0d2ae9ab857927694c7de038d6028ac5a5205c95c0c3629ad8a3950269c7693cd877cf9c9e24f5c4d332a46d27ac79747f2383685
-DIST nvidia-video-codec-8.0.14.tar.gz 47388 BLAKE2B 6d74b201d36f0be21576de858768166ed701068b4105520725af02864378cc68f14ca9e2233404d726d553485edf0e4d5204081c04ef456ca32d77bf4944b12c SHA512 08f8ff6b9c4a595716d423262f96e4647df1e2fa3d57a98ac2c26da031a15d61600aeb84c97c7d05fdfd42cfcf5800be58aff49ae1379f02c0b4408ddda2269c
-DIST nvidia-video-codec-8.2.16.tar.gz 51998 BLAKE2B 3692fe9d7d986e7f54285b57445d28531deb0a4119279a31320a01963d1498e5f080e167c38edfa51f17a8f78d769e92ff380e9a63576f069b10562a8ca03f92 SHA512 d144203b38f6a2e21f7dc0a73e4c2c4a2d2abccd56ae459df0daea0ac79db76af0e7ab2ecf87be8a56c4ebaf8a3fb0857bc6f59c22ab9c29638410742c4d835d
diff --git a/media-video/nvidia-video-codec/metadata.xml b/media-video/nvidia-video-codec/metadata.xml
deleted file mode 100644
index 1e7b357ecea8..000000000000
--- a/media-video/nvidia-video-codec/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>
- <upstream>
- <remote-id type="github">lu-zero/nvidia-video-codec</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/media-video/nvidia-video-codec/nvidia-video-codec-7.0.1.ebuild b/media-video/nvidia-video-codec/nvidia-video-codec-7.0.1.ebuild
deleted file mode 100644
index e1e943fe0b47..000000000000
--- a/media-video/nvidia-video-codec/nvidia-video-codec-7.0.1.ebuild
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-DESCRIPTION="Redistributable headers to build cuvid and nvenc"
-HOMEPAGE="https://github.com/lu-zero/nvidia-video-codec"
-SRC_URI="https://github.com/lu-zero/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE=""
-
-DEPEND=">=dev-util/nvidia-cuda-toolkit-7.5
- >=x11-drivers/nvidia-drivers-367.35"
-RDEPEND="${DEPEND}"
-
-src_install() {
- insinto /opt/${PN}/include
- doins *.h
- dodoc README.md
-}
diff --git a/media-video/nvidia-video-codec/nvidia-video-codec-7.1.9.ebuild b/media-video/nvidia-video-codec/nvidia-video-codec-7.1.9.ebuild
deleted file mode 100644
index e1e943fe0b47..000000000000
--- a/media-video/nvidia-video-codec/nvidia-video-codec-7.1.9.ebuild
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-DESCRIPTION="Redistributable headers to build cuvid and nvenc"
-HOMEPAGE="https://github.com/lu-zero/nvidia-video-codec"
-SRC_URI="https://github.com/lu-zero/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE=""
-
-DEPEND=">=dev-util/nvidia-cuda-toolkit-7.5
- >=x11-drivers/nvidia-drivers-367.35"
-RDEPEND="${DEPEND}"
-
-src_install() {
- insinto /opt/${PN}/include
- doins *.h
- dodoc README.md
-}
diff --git a/media-video/nvidia-video-codec/nvidia-video-codec-8.0.14.ebuild b/media-video/nvidia-video-codec/nvidia-video-codec-8.0.14.ebuild
deleted file mode 100644
index e1e943fe0b47..000000000000
--- a/media-video/nvidia-video-codec/nvidia-video-codec-8.0.14.ebuild
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-DESCRIPTION="Redistributable headers to build cuvid and nvenc"
-HOMEPAGE="https://github.com/lu-zero/nvidia-video-codec"
-SRC_URI="https://github.com/lu-zero/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE=""
-
-DEPEND=">=dev-util/nvidia-cuda-toolkit-7.5
- >=x11-drivers/nvidia-drivers-367.35"
-RDEPEND="${DEPEND}"
-
-src_install() {
- insinto /opt/${PN}/include
- doins *.h
- dodoc README.md
-}
diff --git a/media-video/nvidia-video-codec/nvidia-video-codec-8.2.16.ebuild b/media-video/nvidia-video-codec/nvidia-video-codec-8.2.16.ebuild
deleted file mode 100644
index c168522364a6..000000000000
--- a/media-video/nvidia-video-codec/nvidia-video-codec-8.2.16.ebuild
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-DESCRIPTION="Redistributable headers to build cuvid and nvenc"
-HOMEPAGE="https://github.com/lu-zero/nvidia-video-codec"
-SRC_URI="https://github.com/lu-zero/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE=""
-
-DEPEND=">=dev-util/nvidia-cuda-toolkit-7.5
- >=x11-drivers/nvidia-drivers-367.35"
-RDEPEND="${DEPEND}"
-
-src_install() {
- insinto /opt/${PN}/include
- doins *.h
- dodoc README.md
-}
diff --git a/media-video/nvidia_video_sdk/Manifest b/media-video/nvidia_video_sdk/Manifest
deleted file mode 100644
index cd7a24c86961..000000000000
--- a/media-video/nvidia_video_sdk/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST nvidia_video_sdk_6.0.1.zip 21310785 BLAKE2B 4563e919c268c7ba6f1686946f5a3e687f87312cd647ee52e8f57c8d5d356c40259b99b2aa427df9c7110bee9741c4c79c373b721643a3efa1568086e6681b3d SHA512 1ab398010f5018482170bf722d84278b1920f003119143911fbb0a811e6f1237a039b4120011cc141728f3fd3d7667295ce8703717eafad82b4675bb3211df87
diff --git a/media-video/nvidia_video_sdk/metadata.xml b/media-video/nvidia_video_sdk/metadata.xml
deleted file mode 100644
index 116ea2518b81..000000000000
--- a/media-video/nvidia_video_sdk/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="tools">Build and install example tools.</flag>
- </use>
-</pkgmetadata>
diff --git a/media-video/nvidia_video_sdk/nvidia_video_sdk-6.0.1.ebuild b/media-video/nvidia_video_sdk/nvidia_video_sdk-6.0.1.ebuild
deleted file mode 100644
index 01f9d9e605a7..000000000000
--- a/media-video/nvidia_video_sdk/nvidia_video_sdk-6.0.1.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit versionator toolchain-funcs
-
-MY_P="${PN}_${PV}"
-
-DESCRIPTION="NVIDIA Video Codec SDK"
-HOMEPAGE="https://developer.nvidia.com/nvidia-video-codec-sdk"
-SRC_URI="https://developer.nvidia.com/video-sdk-$(replace_all_version_separators '') -> ${MY_P}.zip"
-
-LICENSE="MIT tools? ( NVIDIA-CODEC-SDK )"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE="tools"
-
-RDEPEND="
- !media-video/nvenc
- >=x11-drivers/nvidia-drivers-347.09"
-DEPEND="${RDEPEND}
- app-arch/unzip"
-
-S="${WORKDIR}/${MY_P}"
-
-TOOLS="NvEncoder NvEncoderPerf NvTranscoder NvEncoderLowLatency"
-
-src_compile() {
- if use tools ; then
- export EXTRA_LDFLAGS="${LDFLAGS}"
- for i in ${TOOLS} ; do
- pushd "${S}/Samples/${i}" || die
- emake GCC="$(tc-getCXX)" CCFLAGS="${CXXFLAGS}"
- popd
- done
- fi
-}
-
-src_install() {
- if use tools ; then
- for i in ${TOOLS}; do
- dobin "${S}/Samples/${i}/${i}"
- done
- dodoc "${S}/Samples/NVIDIA_Video_Codec_SDK_Samples_Guide.pdf"
- fi
-
- dodoc doc/*.pdf ReadMe.txt Release_notes.txt
-
- insinto /usr/include
- doins Samples/common/inc/nvEncodeAPI.h
-}
diff --git a/media-video/obs-studio/Manifest b/media-video/obs-studio/Manifest
index 9fc4f9b6d69f..765044de5a7f 100644
--- a/media-video/obs-studio/Manifest
+++ b/media-video/obs-studio/Manifest
@@ -1,5 +1,5 @@
-DIST cef_binary_4280_linux64.tar.bz2 79740715 BLAKE2B c648a9a4205094450f9eae407e98cbc3da2b7cd81b3c19c4f52cfa3efcca01dce40528018996c65f026eb97520d78040165d1906b0d19236a86e76ec39c58c26 SHA512 060a5a8716a75b4b96dfb6ac28c132e22b93107915d680311c1b9d4fd12c7712a9e3497338eac6d2b9f4e74f2dc005a75d195c597bba049e4731fe3724f519ba
-DIST obs-browser-2a338b7c76d5dd0a6b23f1d49affefd40213b0e9.tar.gz 89474 BLAKE2B ff76a884ffbb7765430a14a7de2955164e9d8823f5dd48bd85e6d0452022b706517e935d813ad78a45adf5eca95fda02e17ae81dbd721145d3ecd169c5a70537 SHA512 bcc8e38505b3cabd7c0e3edcd34ed21141efaa09a9bb0af79fefb57e315531f0ee089b79696802fa052659f66e0becf304286ef82afcf16283ed6664cb5cedd4
-DIST obs-browser-f1a61c5a2579e5673765c31a47c2053d4b502d4b.tar.gz 79259 BLAKE2B 28cfa46928de0b5e626b384673f7b92b3a48cb631066dda06288c51df78f06b913707a1295a5142d4521505b0678a6c639bfbb5b8a066d585fa12849578a382e SHA512 3ecab39bfb36774ac501de087ca70ecde12f408cfd54cdf12539a92e89d0cf531767a066ff77139389158c46beee423cf1848081ed187890b86241aa96f7b179
-DIST obs-studio-27.0.1.tar.gz 15787807 BLAKE2B c2ea571f06a81b2e87ce5d9fd010610ea6cc2753223e6373025f0389972d4638a5f3ff1802f9f0af2c631d71ebcf4603e064da804e8c89eb032b1ad5743d1bd4 SHA512 c15dda62c1f212f623914e61a90c6b1e035720fb84d64726c14f43d77ae7569777a23d04221db34347ce610e7c3407c29e726ae36412e98e34ea2ddb2072b7f3
-DIST obs-studio-27.1.3.tar.gz 15994678 BLAKE2B 5544a1ecdb04dca7f6422936ea5499a206b4beb8e5332605c18cd72a91ce73aa74ff06c49a106931822c1c413ee94d383942f173a71f2b21168a00495b4e301f SHA512 04c11c79e3b091aa9ea8fc6674c9fbcaa1c924fe049f68e9be63f63724c31305d6e4fb33aecdd4d0095d20013e2ee188983f6938b175257368d2260681c2fb39
+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/files/obs-studio-26.1.2-python-3.8.patch b/media-video/obs-studio/files/obs-studio-26.1.2-python-3.8.patch
deleted file mode 100644
index d9e328ea4efb..000000000000
--- a/media-video/obs-studio/files/obs-studio-26.1.2-python-3.8.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-https://bugs.gentoo.org/754006
-
-https://github.com/obsproject/obs-studio/pull/3335
-From: Matt Gajownik <matt@obsproject.com>
-Date: Tue, 25 Aug 2020 19:28:26 +1000
-Subject: [PATCH] libobs/util: Fix loading Python binary modules on *nix
---- a/libobs/util/platform-nix.c
-+++ b/libobs/util/platform-nix.c
-@@ -71,7 +71,8 @@ void *os_dlopen(const char *path)
- #ifdef __APPLE__
- void *res = dlopen(dylib_name.array, RTLD_LAZY | RTLD_FIRST);
- #else
-- void *res = dlopen(dylib_name.array, RTLD_LAZY);
-+ void *res = dlopen(dylib_name.array,
-+ RTLD_LAZY | RTLD_DEEPBIND | RTLD_GLOBAL);
- #endif
- if (!res)
- blog(LOG_ERROR, "os_dlopen(%s->%s): %s\n", path,
diff --git a/media-video/obs-studio/metadata.xml b/media-video/obs-studio/metadata.xml
index b16a1b2e5db5..2e6e1d188e06 100644
--- a/media-video/obs-studio/metadata.xml
+++ b/media-video/obs-studio/metadata.xml
@@ -1,14 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person" proxied="yes">
+ <maintainer type="person">
<email>chiitoo@gentoo.org</email>
<name>Jimi Huotari</name>
</maintainer>
- <maintainer type="person" proxied="proxy">
- <email>ionen@gentoo.org</email>
- <name>Ionen Wolkens</name>
- </maintainer>
<longdescription>
A rewrite of what was formerly known as "Open Broadcaster Software",
software originally designed for recording and streaming live video
@@ -19,12 +15,14 @@
<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="nvenc">Build with NVENC encoding support for nVidia video cards.</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>
+ <flag name="websocket">Build with WebSocket API support.</flag>
</use>
<upstream>
<remote-id type="github">obsproject/obs-studio</remote-id>
diff --git a/media-video/obs-studio/obs-studio-27.0.1-r1.ebuild b/media-video/obs-studio/obs-studio-27.0.1-r1.ebuild
deleted file mode 100644
index 4c9f4cd3f3a8..000000000000
--- a/media-video/obs-studio/obs-studio-27.0.1-r1.ebuild
+++ /dev/null
@@ -1,218 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CMAKE_REMOVE_MODULES_LIST=( FindFreetype )
-LUA_COMPAT=( luajit )
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit xdg cmake lua-single python-single-r1
-
-OBS_BROWSER_COMMIT="f1a61c5a2579e5673765c31a47c2053d4b502d4b"
-CEF_DIR="cef_binary_4280_linux64"
-
-if [[ ${PV} == 9999 ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/obsproject/obs-studio.git"
- EGIT_SUBMODULES=( plugins/obs-browser )
-else
- SRC_URI="https://github.com/obsproject/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
- SRC_URI+=" browser? ( https://github.com/obsproject/obs-browser/archive/${OBS_BROWSER_COMMIT}.tar.gz -> obs-browser-${OBS_BROWSER_COMMIT}.tar.gz )"
- KEYWORDS="~amd64 ~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"
-
-LICENSE="GPL-2"
-SLOT="0"
-IUSE="
- +alsa browser decklink fdk jack lua nvenc pipewire
- pulseaudio python speex +ssl truetype v4l vlc wayland
-"
-REQUIRED_USE="
- browser? ( || ( alsa pulseaudio ) )
- lua? ( ${LUA_REQUIRED_USE} )
- python? ( ${PYTHON_REQUIRED_USE} )
-"
-
-BDEPEND="
- lua? ( dev-lang/swig )
- python? ( dev-lang/swig )
-"
-DEPEND="
- dev-libs/jansson:=
- dev-qt/qtcore:5
- dev-qt/qtdeclarative:5
- dev-qt/qtgui:5[wayland?]
- dev-qt/qtmultimedia:5
- dev-qt/qtnetwork:5
- dev-qt/qtquickcontrols:5
- dev-qt/qtsql:5
- dev-qt/qtsvg:5
- dev-qt/qtwidgets:5
- dev-qt/qtx11extras:5
- dev-qt/qtxml:5
- media-libs/x264:=
- media-video/ffmpeg:=[x264]
- net-misc/curl
- sys-apps/dbus
- sys-libs/zlib:=
- virtual/udev
- x11-libs/libX11
- x11-libs/libXcomposite
- x11-libs/libXfixes
- x11-libs/libXinerama
- x11-libs/libXrandr
- x11-libs/libxcb:=
- alsa? ( media-libs/alsa-lib )
- browser? (
- app-accessibility/at-spi2-atk
- dev-libs/atk
- dev-libs/expat
- dev-libs/glib
- dev-libs/nspr
- dev-libs/nss
- media-libs/alsa-lib
- media-libs/fontconfig
- net-print/cups
- x11-libs/libXScrnSaver
- x11-libs/libXcursor
- x11-libs/libXdamage
- x11-libs/libXext
- x11-libs/libXi
- x11-libs/libXrender
- x11-libs/libXtst
- )
- fdk? ( media-libs/fdk-aac:= )
- jack? ( virtual/jack )
- lua? ( ${LUA_DEPS} )
- nvenc? ( >=media-video/ffmpeg-4[video_cards_nvidia] )
- pipewire? ( media-video/pipewire:= )
- pulseaudio? ( media-sound/pulseaudio )
- python? ( ${PYTHON_DEPS} )
- speex? ( media-libs/speexdsp )
- ssl? ( net-libs/mbedtls:= )
- truetype? (
- media-libs/fontconfig
- media-libs/freetype
- )
- v4l? ( media-libs/libv4l )
- vlc? ( media-video/vlc:= )
- wayland? ( dev-libs/wayland )
-"
-RDEPEND="${DEPEND}"
-
-QA_PREBUILT="
- usr/lib*/obs-plugins/chrome-sandbox
- usr/lib*/obs-plugins/libEGL.so
- usr/lib*/obs-plugins/libGLESv2.so
- usr/lib*/obs-plugins/libcef.so
- usr/lib*/obs-plugins/swiftshader/libEGL.so
- usr/lib*/obs-plugins/swiftshader/libGLESv2.so
-"
-
-PATCHES=(
- "${FILESDIR}/${PN}-26.1.2-python-3.8.patch"
-)
-
-pkg_setup() {
- use lua && lua-single_pkg_setup
- use python && python-single-r1_pkg_setup
-}
-
-src_unpack() {
- default
-
- if [[ ${PV} == 9999 ]]; then
- git-r3_src_unpack
- elif use browser; then
- rm -d ${P}/plugins/obs-browser || die
- mv obs-browser-${OBS_BROWSER_COMMIT} ${P}/plugins/obs-browser || die
- fi
-}
-
-src_configure() {
- local libdir=$(get_libdir)
- local mycmakeargs=(
- $(usex browser -DCEF_ROOT_DIR=../${CEF_DIR} '')
- -DBUILD_BROWSER=$(usex browser)
- -DBUILD_VST=no
- -DENABLE_WAYLAND=$(usex wayland)
- -DDISABLE_ALSA=$(usex !alsa)
- -DDISABLE_DECKLINK=$(usex !decklink)
- -DDISABLE_FREETYPE=$(usex !truetype)
- -DDISABLE_JACK=$(usex !jack)
- -DDISABLE_LIBFDK=$(usex !fdk)
- -DENABLE_PIPEWIRE=$(usex pipewire)
- -DDISABLE_PULSEAUDIO=$(usex !pulseaudio)
- -DDISABLE_SPEEXDSP=$(usex !speex)
- -DDISABLE_V4L2=$(usex !v4l)
- -DDISABLE_VLC=$(usex !vlc)
- -DOBS_MULTIARCH_SUFFIX=${libdir#lib}
- -DUNIX_STRUCTURE=1
- -DWITH_RTMPS=$(usex ssl)
-
- # deprecated and currently cause issues
- # https://github.com/obsproject/obs-studio/pull/4560#issuecomment-826345608
- -DLIBOBS_PREFER_IMAGEMAGICK=no
- )
-
- if [[ ${PV} != 9999 ]]; then
- mycmakeargs+=(
- -DOBS_VERSION_OVERRIDE=${PV}
- )
- fi
-
- if use lua || use python; then
- mycmakeargs+=(
- -DDISABLE_LUA=$(usex !lua)
- -DDISABLE_PYTHON=$(usex !python)
- -DENABLE_SCRIPTING=yes
- )
- else
- mycmakeargs+=( -DENABLE_SCRIPTING=no )
- fi
-
- cmake_src_configure
-}
-
-src_install() {
- cmake_src_install
-
- # external plugins may need some things not installed by default, install them here
- insinto /usr/include/obs/UI/obs-frontend-api
- doins UI/obs-frontend-api/obs-frontend-api.h
-}
-
-pkg_postinst() {
- xdg_pkg_postinst
-
- if ! use alsa && ! use pulseaudio; then
- elog
- elog "For the audio capture features to be available,"
- elog "either the 'alsa' or the 'pulseaudio' USE-flag needs to"
- elog "be enabled."
- elog
- fi
-
- if ! has_version "sys-apps/dbus"; then
- elog
- elog "The 'sys-apps/dbus' package is not installed, but"
- elog "could be used for disabling hibernating, screensaving,"
- elog "and sleeping. Where it is not installed,"
- elog "'xdg-screensaver reset' is used instead"
- elog "(if 'x11-misc/xdg-utils' is installed)."
- elog
- fi
-
- if use python; then
- ewarn "This ebuild applies a patch that is not yet accepted upstream,"
- ewarn "and while it fixes Python support at least to some extent, it"
- ewarn "may cause other issues."
- ewarn ""
- ewarn "Please report any such issues to the Gentoo maintainer."
- fi
-}
diff --git a/media-video/obs-studio/obs-studio-27.1.3.ebuild b/media-video/obs-studio/obs-studio-27.1.3.ebuild
deleted file mode 100644
index 6e23d6b2b473..000000000000
--- a/media-video/obs-studio/obs-studio-27.1.3.ebuild
+++ /dev/null
@@ -1,214 +0,0 @@
-# Copyright 1999-2021 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_{8..10} )
-
-inherit cmake lua-single python-single-r1 xdg
-
-OBS_BROWSER_COMMIT="2a338b7c76d5dd0a6b23f1d49affefd40213b0e9"
-CEF_DIR="cef_binary_4280_linux64"
-
-if [[ ${PV} == 9999 ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/obsproject/obs-studio.git"
- EGIT_SUBMODULES=( plugins/obs-browser )
-else
- SRC_URI="https://github.com/obsproject/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
- SRC_URI+=" browser? ( https://github.com/obsproject/obs-browser/archive/${OBS_BROWSER_COMMIT}.tar.gz -> obs-browser-${OBS_BROWSER_COMMIT}.tar.gz )"
- KEYWORDS="~amd64 ~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"
-
-LICENSE="GPL-2"
-SLOT="0"
-IUSE="
- +alsa browser decklink fdk jack lua nvenc pipewire
- pulseaudio python speex +ssl truetype v4l vlc wayland
-"
-REQUIRED_USE="
- browser? ( || ( alsa pulseaudio ) )
- lua? ( ${LUA_REQUIRED_USE} )
- python? ( ${PYTHON_REQUIRED_USE} )
-"
-
-BDEPEND="
- lua? ( dev-lang/swig )
- python? ( dev-lang/swig )
-"
-DEPEND="
- dev-libs/glib:2
- dev-libs/jansson:=
- dev-qt/qtcore:5
- dev-qt/qtdeclarative:5
- dev-qt/qtgui:5[wayland?]
- dev-qt/qtmultimedia:5
- dev-qt/qtnetwork:5
- dev-qt/qtquickcontrols:5
- dev-qt/qtsql:5
- dev-qt/qtsvg:5
- dev-qt/qtwidgets:5
- dev-qt/qtx11extras:5
- dev-qt/qtxml:5
- media-libs/libglvnd
- media-libs/x264:=
- media-video/ffmpeg:=[x264]
- net-misc/curl
- sys-apps/dbus
- sys-libs/zlib:=
- virtual/udev
- x11-libs/libX11
- x11-libs/libXcomposite
- x11-libs/libXfixes
- x11-libs/libXinerama
- x11-libs/libXrandr
- x11-libs/libxcb:=
- alsa? ( media-libs/alsa-lib )
- browser? (
- app-accessibility/at-spi2-atk
- app-accessibility/at-spi2-core:2
- dev-libs/atk
- dev-libs/expat
- dev-libs/glib
- dev-libs/nspr
- dev-libs/nss
- media-libs/alsa-lib
- media-libs/fontconfig
- media-libs/mesa[gbm(+)]
- net-print/cups
- x11-libs/libdrm
- x11-libs/libXScrnSaver
- x11-libs/libXcursor
- x11-libs/libXdamage
- x11-libs/libXext
- x11-libs/libXi
- x11-libs/libXrender
- x11-libs/libXtst
- )
- fdk? ( media-libs/fdk-aac:= )
- jack? ( virtual/jack )
- lua? ( ${LUA_DEPS} )
- nvenc? ( >=media-video/ffmpeg-4[video_cards_nvidia] )
- pipewire? ( media-video/pipewire:= )
- pulseaudio? ( media-sound/pulseaudio )
- python? ( ${PYTHON_DEPS} )
- speex? ( media-libs/speexdsp )
- ssl? ( net-libs/mbedtls:= )
- truetype? (
- media-libs/fontconfig
- media-libs/freetype
- )
- v4l? ( media-libs/libv4l )
- vlc? ( media-video/vlc:= )
- wayland? ( dev-libs/wayland )
-"
-RDEPEND="${DEPEND}"
-
-QA_PREBUILT="
- usr/lib*/obs-plugins/chrome-sandbox
- usr/lib*/obs-plugins/libEGL.so
- usr/lib*/obs-plugins/libGLESv2.so
- usr/lib*/obs-plugins/libcef.so
- usr/lib*/obs-plugins/swiftshader/libEGL.so
- usr/lib*/obs-plugins/swiftshader/libGLESv2.so
-"
-
-PATCHES=(
- "${FILESDIR}/${PN}-26.1.2-python-3.8.patch"
-)
-
-pkg_setup() {
- use lua && lua-single_pkg_setup
- use python && python-single-r1_pkg_setup
-}
-
-src_unpack() {
- default
-
- if [[ ${PV} == 9999 ]]; then
- git-r3_src_unpack
- elif use browser; then
- rm -d ${P}/plugins/obs-browser || die
- mv obs-browser-${OBS_BROWSER_COMMIT} ${P}/plugins/obs-browser || die
- fi
-}
-
-src_configure() {
- local libdir=$(get_libdir)
- local mycmakeargs=(
- $(usev browser -DCEF_ROOT_DIR=../${CEF_DIR})
- -DBUILD_BROWSER=$(usex browser)
- -DBUILD_VST=no
- -DENABLE_WAYLAND=$(usex wayland)
- -DDISABLE_ALSA=$(usex !alsa)
- -DDISABLE_DECKLINK=$(usex !decklink)
- -DDISABLE_FREETYPE=$(usex !truetype)
- -DDISABLE_JACK=$(usex !jack)
- -DDISABLE_LIBFDK=$(usex !fdk)
- -DENABLE_PIPEWIRE=$(usex pipewire)
- -DDISABLE_PULSEAUDIO=$(usex !pulseaudio)
- $(cmake_use_find_package pulseaudio PulseAudio)
- -DDISABLE_SPEEXDSP=$(usex !speex)
- -DDISABLE_V4L2=$(usex !v4l)
- -DDISABLE_VLC=$(usex !vlc)
- -DOBS_MULTIARCH_SUFFIX=${libdir#lib}
- -DUNIX_STRUCTURE=1
- -DWITH_RTMPS=$(usex ssl)
-
- # deprecated and currently cause issues
- # https://github.com/obsproject/obs-studio/pull/4560#issuecomment-826345608
- -DLIBOBS_PREFER_IMAGEMAGICK=no
- )
-
- if [[ ${PV} != 9999 ]]; then
- mycmakeargs+=(
- -DOBS_VERSION_OVERRIDE=${PV}
- )
- fi
-
- if use lua || use python; then
- mycmakeargs+=(
- -DDISABLE_LUA=$(usex !lua)
- -DDISABLE_PYTHON=$(usex !python)
- -DENABLE_SCRIPTING=yes
- )
- else
- mycmakeargs+=( -DENABLE_SCRIPTING=no )
- fi
-
- cmake_src_configure
-}
-
-src_install() {
- cmake_src_install
-
- # external plugins may need some things not installed by default, install them here
- insinto /usr/include/obs/UI/obs-frontend-api
- doins UI/obs-frontend-api/obs-frontend-api.h
-}
-
-pkg_postinst() {
- xdg_pkg_postinst
-
- if ! use alsa && ! use pulseaudio; then
- elog
- elog "For the audio capture features to be available,"
- elog "either the 'alsa' or the 'pulseaudio' USE-flag needs to"
- elog "be enabled."
- elog
- fi
-
- if use python; then
- ewarn "This ebuild applies a patch that is not yet accepted upstream,"
- ewarn "and while it fixes Python support at least to some extent, it"
- ewarn "may cause other issues."
- ewarn ""
- ewarn "Please report any such issues to the Gentoo maintainer."
- fi
-}
diff --git a/media-video/obs-studio/obs-studio-30.1.0.ebuild b/media-video/obs-studio/obs-studio-30.1.0.ebuild
new file mode 100644
index 000000000000..7878bb19a448
--- /dev/null
+++ b/media-video/obs-studio/obs-studio-30.1.0.ebuild
@@ -0,0 +1,264 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CMAKE_REMOVE_MODULES_LIST=( FindFreetype )
+LUA_COMPAT=( luajit )
+PYTHON_COMPAT=( python3_{9..12} )
+
+inherit cmake lua-single optfeature python-single-r1 xdg
+
+CEF_DIR="cef_binary_5060_linux_x86_64"
+CEF_REVISION="_v3"
+OBS_BROWSER_COMMIT="996b5a7bc43d912f1f4992e0032d4f263ac8b060"
+OBS_WEBSOCKET_COMMIT="d2d4bfb3e78cf2b02c8e2f5dda1d805eda8d8f32"
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/obsproject/obs-studio.git"
+ EGIT_SUBMODULES=(
+ plugins/obs-browser
+ plugins/obs-websocket
+ )
+else
+ SRC_URI="
+ https://github.com/obsproject/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz
+ https://github.com/obsproject/obs-browser/archive/${OBS_BROWSER_COMMIT}.tar.gz -> obs-browser-${OBS_BROWSER_COMMIT}.tar.gz
+ https://github.com/obsproject/obs-websocket/archive/${OBS_WEBSOCKET_COMMIT}.tar.gz -> obs-websocket-${OBS_WEBSOCKET_COMMIT}.tar.gz
+ "
+ KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+fi
+SRC_URI+=" browser? ( https://cdn-fastly.obsproject.com/downloads/${CEF_DIR}${CEF_REVISION}.tar.xz )"
+
+DESCRIPTION="Software for Recording and Streaming Live Video Content"
+HOMEPAGE="https://obsproject.com"
+
+LICENSE="Boost-1.0 GPL-2+ MIT Unlicense"
+SLOT="0"
+IUSE="
+ +alsa browser decklink fdk jack lua mpegts nvenc pipewire pulseaudio
+ python qsv speex +ssl test truetype v4l vlc wayland websocket
+"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="
+ browser? ( || ( alsa pulseaudio ) )
+ lua? ( ${LUA_REQUIRED_USE} )
+ python? ( ${PYTHON_REQUIRED_USE} )
+"
+
+BDEPEND="
+ lua? ( dev-lang/swig )
+ python? ( dev-lang/swig )
+"
+# media-video/ffmpeg[opus] required due to bug 909566
+DEPEND="
+ dev-libs/glib:2
+ dev-libs/jansson:=
+ dev-qt/qtbase:6[network,widgets,xml(+)]
+ dev-qt/qtsvg:6
+ media-libs/libglvnd
+ media-libs/libva
+ media-libs/rnnoise
+ media-libs/x264:=
+ media-video/ffmpeg:=[nvenc?,opus,x264]
+ net-misc/curl
+ sys-apps/dbus
+ sys-apps/pciutils
+ sys-apps/util-linux
+ sys-libs/zlib:=
+ x11-libs/libX11
+ x11-libs/libxcb:=
+ x11-libs/libXcomposite
+ x11-libs/libXfixes
+ x11-libs/libxkbcommon
+ alsa? ( media-libs/alsa-lib )
+ browser? (
+ || (
+ >=app-accessibility/at-spi2-core-2.46.0:2
+ ( app-accessibility/at-spi2-atk dev-libs/atk )
+ )
+ dev-cpp/nlohmann_json
+ dev-libs/expat
+ dev-libs/glib
+ dev-libs/nspr
+ dev-libs/nss
+ dev-libs/wayland
+ media-libs/alsa-lib
+ media-libs/fontconfig
+ media-libs/mesa[gbm(+)]
+ net-print/cups
+ x11-libs/cairo
+ x11-libs/libdrm
+ x11-libs/libXcursor
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXi
+ x11-libs/libxkbcommon
+ x11-libs/libXrandr
+ x11-libs/libXrender
+ x11-libs/libXScrnSaver
+ x11-libs/libxshmfence
+ x11-libs/libXtst
+ x11-libs/pango
+ )
+ fdk? ( media-libs/fdk-aac:= )
+ jack? ( virtual/jack )
+ lua? ( ${LUA_DEPS} )
+ mpegts? (
+ net-libs/librist
+ net-libs/srt
+ )
+ pipewire? ( media-video/pipewire:= )
+ pulseaudio? ( media-libs/libpulse )
+ python? ( ${PYTHON_DEPS} )
+ qsv? ( media-libs/libvpl )
+ speex? ( media-libs/speexdsp )
+ ssl? ( net-libs/mbedtls:= )
+ test? ( dev-util/cmocka )
+ truetype? (
+ media-libs/fontconfig
+ media-libs/freetype
+ )
+ v4l? (
+ media-libs/libv4l
+ virtual/udev
+ )
+ vlc? ( media-video/vlc:= )
+ wayland? (
+ dev-libs/wayland
+ x11-libs/libxkbcommon
+ )
+ websocket? (
+ dev-cpp/asio
+ dev-cpp/nlohmann_json
+ dev-cpp/websocketpp
+ dev-libs/qr-code-generator
+ )
+"
+RDEPEND="${DEPEND}"
+
+QA_PREBUILT="
+ usr/lib*/obs-plugins/chrome-sandbox
+ usr/lib*/obs-plugins/libcef.so
+ usr/lib*/obs-plugins/libEGL.so
+ usr/lib*/obs-plugins/libGLESv2.so
+ usr/lib*/obs-plugins/libvk_swiftshader.so
+ usr/lib*/obs-plugins/libvulkan.so.1
+ usr/lib*/obs-plugins/swiftshader/libEGL.so
+ usr/lib*/obs-plugins/swiftshader/libGLESv2.so
+"
+
+pkg_setup() {
+ use lua && lua-single_pkg_setup
+ use python && python-single-r1_pkg_setup
+}
+
+src_unpack() {
+ default
+
+ if [[ ${PV} == 9999 ]]; then
+ git-r3_src_unpack
+ else
+ rm -d ${P}/plugins/obs-browser || die
+ mv obs-browser-${OBS_BROWSER_COMMIT} ${P}/plugins/obs-browser || die
+
+ rm -d ${P}/plugins/obs-websocket || die
+ mv obs-websocket-${OBS_WEBSOCKET_COMMIT} ${P}/plugins/obs-websocket || die
+ fi
+}
+
+src_prepare() {
+ default
+
+ sed -i '/-Werror$/d' "${WORKDIR}"/${P}/cmake/Modules/CompilerConfig.cmake || die
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ $(usev browser -DCEF_ROOT_DIR=../${CEF_DIR})
+ -DCALM_DEPRECATION=ON
+ -DCCACHE_SUPPORT=OFF
+ -DENABLE_ALSA=$(usex alsa)
+ -DENABLE_AJA=OFF
+ -DENABLE_BROWSER=$(usex browser)
+ -DENABLE_DECKLINK=$(usex decklink)
+ -DENABLE_FREETYPE=$(usex truetype)
+ -DENABLE_JACK=$(usex jack)
+ -DENABLE_LIBFDK=$(usex fdk)
+ -DENABLE_NEW_MPEGTS_OUTPUT=$(usex mpegts)
+ -DENABLE_PIPEWIRE=$(usex pipewire)
+ -DENABLE_PULSEAUDIO=$(usex pulseaudio)
+ -DENABLE_QSV11=$(usex qsv)
+ -DENABLE_RNNOISE=ON
+ -DENABLE_RTMPS=$(usex ssl ON OFF) # Needed for bug 880861
+ -DENABLE_SPEEXDSP=$(usex speex)
+ -DENABLE_UNIT_TESTS=$(usex test)
+ -DENABLE_V4L2=$(usex v4l)
+ -DENABLE_VLC=$(usex vlc)
+ -DENABLE_VST=ON
+ -DENABLE_WAYLAND=$(usex wayland)
+ -DENABLE_WEBRTC=OFF # Requires libdatachannel.
+ -DENABLE_WEBSOCKET=$(usex websocket)
+ -DOBS_MULTIARCH_SUFFIX=${libdir#lib}
+ -DUNIX_STRUCTURE=1
+ )
+
+ if [[ ${PV} != 9999 ]]; then
+ mycmakeargs+=(
+ -DOBS_VERSION_OVERRIDE=${PV}
+ )
+ fi
+
+ if use lua || use python; then
+ mycmakeargs+=(
+ -DENABLE_SCRIPTING_LUA=$(usex lua)
+ -DENABLE_SCRIPTING_PYTHON=$(usex python)
+ -DENABLE_SCRIPTING=ON
+ )
+ else
+ mycmakeargs+=( -DENABLE_SCRIPTING=OFF )
+ fi
+
+ if use browser && use ssl; then
+ mycmakeargs+=( -DENABLE_WHATSNEW=ON )
+ else
+ mycmakeargs+=( -DENABLE_WHATSNEW=OFF )
+ fi
+
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+
+ # external plugins may need some things not installed by default, install them here
+ insinto /usr/include/obs/UI/obs-frontend-api
+ doins UI/obs-frontend-api/obs-frontend-api.h
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ if ! use alsa && ! use pulseaudio; then
+ elog
+ elog "For the audio capture features to be available,"
+ elog "at least one of the 'alsa' or 'pulseaudio' USE-flags needs to"
+ elog "be enabled."
+ elog
+ fi
+
+ if use v4l && has_version media-video/v4l2loopback; then
+ elog
+ elog "Depending on system configuration, the v4l2loopback kernel module"
+ elog "may need to be loaded manually, and needs to be re-built after"
+ elog "kernel changes."
+ elog
+ fi
+
+ optfeature "VA-API hardware encoding" media-video/ffmpeg[vaapi]
+ optfeature "virtual camera support" media-video/v4l2loopback
+}
diff --git a/media-video/obs-studio/obs-studio-30.1.1.ebuild b/media-video/obs-studio/obs-studio-30.1.1.ebuild
new file mode 100644
index 000000000000..6ddcf823b797
--- /dev/null
+++ b/media-video/obs-studio/obs-studio-30.1.1.ebuild
@@ -0,0 +1,270 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CMAKE_REMOVE_MODULES_LIST=( FindFreetype )
+LUA_COMPAT=( luajit )
+PYTHON_COMPAT=( python3_{9..12} )
+
+inherit cmake flag-o-matic lua-single optfeature python-single-r1 xdg
+
+CEF_DIR="cef_binary_5060_linux_x86_64"
+CEF_REVISION="_v3"
+OBS_BROWSER_COMMIT="996b5a7bc43d912f1f4992e0032d4f263ac8b060"
+OBS_WEBSOCKET_COMMIT="d2d4bfb3e78cf2b02c8e2f5dda1d805eda8d8f32"
+
+DESCRIPTION="Software for Recording and Streaming Live Video Content"
+HOMEPAGE="https://obsproject.com"
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/obsproject/obs-studio.git"
+ EGIT_SUBMODULES=(
+ plugins/obs-browser
+ plugins/obs-websocket
+ )
+else
+ SRC_URI="
+ https://github.com/obsproject/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz
+ https://github.com/obsproject/obs-browser/archive/${OBS_BROWSER_COMMIT}.tar.gz -> obs-browser-${OBS_BROWSER_COMMIT}.tar.gz
+ https://github.com/obsproject/obs-websocket/archive/${OBS_WEBSOCKET_COMMIT}.tar.gz -> obs-websocket-${OBS_WEBSOCKET_COMMIT}.tar.gz
+ "
+ KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+fi
+
+SRC_URI+=" browser? ( https://cdn-fastly.obsproject.com/downloads/${CEF_DIR}${CEF_REVISION}.tar.xz )"
+
+LICENSE="Boost-1.0 GPL-2+ MIT Unlicense"
+SLOT="0"
+IUSE="
+ +alsa browser decklink fdk jack lua mpegts nvenc pipewire pulseaudio
+ python qsv speex +ssl test truetype v4l vlc wayland websocket
+"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="
+ browser? ( || ( alsa pulseaudio ) )
+ lua? ( ${LUA_REQUIRED_USE} )
+ python? ( ${PYTHON_REQUIRED_USE} )
+"
+
+BDEPEND="
+ lua? ( dev-lang/swig )
+ python? ( dev-lang/swig )
+"
+# media-video/ffmpeg[opus] required due to bug 909566
+DEPEND="
+ dev-libs/glib:2
+ dev-libs/jansson:=
+ dev-qt/qtbase:6[network,widgets,xml(+)]
+ dev-qt/qtsvg:6
+ media-libs/libglvnd[X]
+ media-libs/libva
+ media-libs/rnnoise
+ media-libs/x264:=
+ media-video/ffmpeg:=[nvenc?,opus,x264]
+ net-misc/curl
+ sys-apps/dbus
+ sys-apps/pciutils
+ sys-apps/util-linux
+ sys-libs/zlib:=
+ x11-libs/libX11
+ x11-libs/libxcb:=
+ x11-libs/libXcomposite
+ x11-libs/libXfixes
+ x11-libs/libxkbcommon
+ alsa? ( media-libs/alsa-lib )
+ browser? (
+ || (
+ >=app-accessibility/at-spi2-core-2.46.0:2
+ ( app-accessibility/at-spi2-atk dev-libs/atk )
+ )
+ dev-cpp/nlohmann_json
+ dev-libs/expat
+ dev-libs/glib
+ dev-libs/nspr
+ dev-libs/nss
+ dev-libs/wayland
+ media-libs/alsa-lib
+ media-libs/fontconfig
+ media-libs/mesa[gbm(+)]
+ net-print/cups
+ x11-libs/cairo
+ x11-libs/libdrm
+ x11-libs/libXcursor
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXi
+ x11-libs/libxkbcommon
+ x11-libs/libXrandr
+ x11-libs/libXrender
+ x11-libs/libXScrnSaver
+ x11-libs/libxshmfence
+ x11-libs/libXtst
+ x11-libs/pango
+ )
+ fdk? ( media-libs/fdk-aac:= )
+ jack? ( virtual/jack )
+ lua? ( ${LUA_DEPS} )
+ mpegts? (
+ net-libs/librist
+ net-libs/srt
+ )
+ pipewire? ( media-video/pipewire:= )
+ pulseaudio? ( media-libs/libpulse )
+ python? ( ${PYTHON_DEPS} )
+ qsv? ( media-libs/libvpl )
+ speex? ( media-libs/speexdsp )
+ ssl? ( net-libs/mbedtls:= )
+ test? ( dev-util/cmocka )
+ truetype? (
+ media-libs/fontconfig
+ media-libs/freetype
+ )
+ v4l? (
+ media-libs/libv4l
+ virtual/udev
+ )
+ vlc? ( media-video/vlc:= )
+ wayland? (
+ dev-libs/wayland
+ x11-libs/libxkbcommon
+ )
+ websocket? (
+ dev-cpp/asio
+ dev-cpp/nlohmann_json
+ dev-cpp/websocketpp
+ dev-libs/qr-code-generator
+ )
+"
+RDEPEND="${DEPEND}"
+
+QA_PREBUILT="
+ usr/lib*/obs-plugins/chrome-sandbox
+ usr/lib*/obs-plugins/libcef.so
+ usr/lib*/obs-plugins/libEGL.so
+ usr/lib*/obs-plugins/libGLESv2.so
+ usr/lib*/obs-plugins/libvk_swiftshader.so
+ usr/lib*/obs-plugins/libvulkan.so.1
+ usr/lib*/obs-plugins/swiftshader/libEGL.so
+ usr/lib*/obs-plugins/swiftshader/libGLESv2.so
+"
+
+pkg_setup() {
+ use lua && lua-single_pkg_setup
+ use python && python-single-r1_pkg_setup
+}
+
+src_unpack() {
+ default
+
+ if [[ ${PV} == 9999 ]]; then
+ git-r3_src_unpack
+ else
+ rm -d ${P}/plugins/obs-browser || die
+ mv obs-browser-${OBS_BROWSER_COMMIT} ${P}/plugins/obs-browser || die
+
+ rm -d ${P}/plugins/obs-websocket || die
+ mv obs-websocket-${OBS_WEBSOCKET_COMMIT} ${P}/plugins/obs-websocket || die
+ fi
+}
+
+src_prepare() {
+ default
+
+ sed -i '/-Werror$/d' "${WORKDIR}"/${P}/cmake/Modules/CompilerConfig.cmake || die
+
+ # -Werror=lto-type-mismatch
+ # https://bugs.gentoo.org/867250
+ # https://github.com/obsproject/obs-studio/issues/8988
+ use wayland && filter-lto
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ $(usev browser -DCEF_ROOT_DIR=../${CEF_DIR})
+ -DCALM_DEPRECATION=ON
+ -DCCACHE_SUPPORT=OFF
+ -DENABLE_ALSA=$(usex alsa)
+ -DENABLE_AJA=OFF
+ -DENABLE_BROWSER=$(usex browser)
+ -DENABLE_DECKLINK=$(usex decklink)
+ -DENABLE_FREETYPE=$(usex truetype)
+ -DENABLE_JACK=$(usex jack)
+ -DENABLE_LIBFDK=$(usex fdk)
+ -DENABLE_NEW_MPEGTS_OUTPUT=$(usex mpegts)
+ -DENABLE_PIPEWIRE=$(usex pipewire)
+ -DENABLE_PULSEAUDIO=$(usex pulseaudio)
+ -DENABLE_QSV11=$(usex qsv)
+ -DENABLE_RNNOISE=ON
+ -DENABLE_RTMPS=$(usex ssl ON OFF) # Needed for bug 880861
+ -DENABLE_SPEEXDSP=$(usex speex)
+ -DENABLE_UNIT_TESTS=$(usex test)
+ -DENABLE_V4L2=$(usex v4l)
+ -DENABLE_VLC=$(usex vlc)
+ -DENABLE_VST=ON
+ -DENABLE_WAYLAND=$(usex wayland)
+ -DENABLE_WEBRTC=OFF # Requires libdatachannel.
+ -DENABLE_WEBSOCKET=$(usex websocket)
+ -DOBS_MULTIARCH_SUFFIX=${libdir#lib}
+ -DUNIX_STRUCTURE=1
+ )
+
+ if [[ ${PV} != 9999 ]]; then
+ mycmakeargs+=(
+ -DOBS_VERSION_OVERRIDE=${PV}
+ )
+ fi
+
+ if use lua || use python; then
+ mycmakeargs+=(
+ -DENABLE_SCRIPTING_LUA=$(usex lua)
+ -DENABLE_SCRIPTING_PYTHON=$(usex python)
+ -DENABLE_SCRIPTING=ON
+ )
+ else
+ mycmakeargs+=( -DENABLE_SCRIPTING=OFF )
+ fi
+
+ if use browser && use ssl; then
+ mycmakeargs+=( -DENABLE_WHATSNEW=ON )
+ else
+ mycmakeargs+=( -DENABLE_WHATSNEW=OFF )
+ fi
+
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+
+ # external plugins may need some things not installed by default, install them here
+ insinto /usr/include/obs/UI/obs-frontend-api
+ doins UI/obs-frontend-api/obs-frontend-api.h
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ if ! use alsa && ! use pulseaudio; then
+ elog
+ elog "For the audio capture features to be available,"
+ elog "at least one of the 'alsa' or 'pulseaudio' USE-flags needs to"
+ elog "be enabled."
+ elog
+ fi
+
+ if use v4l && has_version media-video/v4l2loopback; then
+ elog
+ elog "Depending on system configuration, the v4l2loopback kernel module"
+ elog "may need to be loaded manually, and needs to be re-built after"
+ elog "kernel changes."
+ elog
+ fi
+
+ optfeature "VA-API hardware encoding" media-video/ffmpeg[vaapi]
+ optfeature "virtual camera support" media-video/v4l2loopback
+}
diff --git a/media-video/obs-studio/obs-studio-9999.ebuild b/media-video/obs-studio/obs-studio-9999.ebuild
index 6e23d6b2b473..dba2fd8a5fb4 100644
--- a/media-video/obs-studio/obs-studio-9999.ebuild
+++ b/media-video/obs-studio/obs-studio-9999.ebuild
@@ -1,37 +1,47 @@
-# Copyright 1999-2021 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_{8..10} )
+PYTHON_COMPAT=( python3_{9..12} )
-inherit cmake lua-single python-single-r1 xdg
+inherit cmake flag-o-matic lua-single optfeature python-single-r1 xdg
-OBS_BROWSER_COMMIT="2a338b7c76d5dd0a6b23f1d49affefd40213b0e9"
-CEF_DIR="cef_binary_4280_linux64"
+CEF_DIR="cef_binary_5060_linux_x86_64"
+CEF_REVISION="_v3"
+OBS_BROWSER_COMMIT="996b5a7bc43d912f1f4992e0032d4f263ac8b060"
+OBS_WEBSOCKET_COMMIT="d2d4bfb3e78cf2b02c8e2f5dda1d805eda8d8f32"
+
+DESCRIPTION="Software for Recording and Streaming Live Video Content"
+HOMEPAGE="https://obsproject.com"
if [[ ${PV} == 9999 ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/obsproject/obs-studio.git"
- EGIT_SUBMODULES=( plugins/obs-browser )
+ EGIT_SUBMODULES=(
+ plugins/obs-browser
+ plugins/obs-websocket
+ )
else
- SRC_URI="https://github.com/obsproject/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
- SRC_URI+=" browser? ( https://github.com/obsproject/obs-browser/archive/${OBS_BROWSER_COMMIT}.tar.gz -> obs-browser-${OBS_BROWSER_COMMIT}.tar.gz )"
- KEYWORDS="~amd64 ~ppc64 ~x86"
+ SRC_URI="
+ https://github.com/obsproject/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz
+ https://github.com/obsproject/obs-browser/archive/${OBS_BROWSER_COMMIT}.tar.gz -> obs-browser-${OBS_BROWSER_COMMIT}.tar.gz
+ https://github.com/obsproject/obs-websocket/archive/${OBS_WEBSOCKET_COMMIT}.tar.gz -> obs-websocket-${OBS_WEBSOCKET_COMMIT}.tar.gz
+ "
+ KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
fi
-SRC_URI+=" browser? ( https://cdn-fastly.obsproject.com/downloads/${CEF_DIR}.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="GPL-2"
+LICENSE="Boost-1.0 GPL-2+ MIT Unlicense"
SLOT="0"
IUSE="
- +alsa browser decklink fdk jack lua nvenc pipewire
- pulseaudio python speex +ssl truetype v4l vlc wayland
+ +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} )
@@ -42,87 +52,104 @@ 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/qtcore:5
- dev-qt/qtdeclarative:5
- dev-qt/qtgui:5[wayland?]
- dev-qt/qtmultimedia:5
- dev-qt/qtnetwork:5
- dev-qt/qtquickcontrols:5
- dev-qt/qtsql:5
- dev-qt/qtsvg:5
- dev-qt/qtwidgets:5
- dev-qt/qtx11extras:5
- dev-qt/qtxml:5
- 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:=[x264]
+ media-video/ffmpeg:=[nvenc?,opus,x264]
net-misc/curl
sys-apps/dbus
+ sys-apps/pciutils
+ sys-apps/util-linux
sys-libs/zlib:=
- virtual/udev
x11-libs/libX11
+ x11-libs/libxcb:=
x11-libs/libXcomposite
x11-libs/libXfixes
- x11-libs/libXinerama
- x11-libs/libXrandr
- x11-libs/libxcb:=
+ x11-libs/libxkbcommon
alsa? ( media-libs/alsa-lib )
browser? (
- app-accessibility/at-spi2-atk
- app-accessibility/at-spi2-core:2
- dev-libs/atk
+ || (
+ >=app-accessibility/at-spi2-core-2.46.0:2
+ ( app-accessibility/at-spi2-atk dev-libs/atk )
+ )
+ dev-cpp/nlohmann_json
dev-libs/expat
dev-libs/glib
dev-libs/nspr
dev-libs/nss
+ dev-libs/wayland
media-libs/alsa-lib
media-libs/fontconfig
media-libs/mesa[gbm(+)]
net-print/cups
+ x11-libs/cairo
x11-libs/libdrm
- x11-libs/libXScrnSaver
x11-libs/libXcursor
x11-libs/libXdamage
x11-libs/libXext
x11-libs/libXi
+ x11-libs/libxkbcommon
+ x11-libs/libXrandr
x11-libs/libXrender
+ x11-libs/libXScrnSaver
+ x11-libs/libxshmfence
x11-libs/libXtst
+ x11-libs/pango
)
fdk? ( media-libs/fdk-aac:= )
jack? ( virtual/jack )
lua? ( ${LUA_DEPS} )
- nvenc? ( >=media-video/ffmpeg-4[video_cards_nvidia] )
+ mpegts? (
+ net-libs/librist
+ net-libs/srt
+ )
pipewire? ( media-video/pipewire:= )
- pulseaudio? ( media-sound/pulseaudio )
+ pulseaudio? ( media-libs/libpulse )
python? ( ${PYTHON_DEPS} )
+ qsv? ( media-libs/libvpl )
speex? ( media-libs/speexdsp )
ssl? ( net-libs/mbedtls:= )
+ test? ( dev-util/cmocka )
truetype? (
media-libs/fontconfig
media-libs/freetype
)
- v4l? ( media-libs/libv4l )
+ v4l? (
+ media-libs/libv4l
+ virtual/udev
+ )
vlc? ( media-video/vlc:= )
- wayland? ( dev-libs/wayland )
+ wayland? (
+ dev-libs/wayland
+ x11-libs/libxkbcommon
+ )
+ websocket? (
+ dev-cpp/asio
+ dev-cpp/nlohmann_json
+ dev-cpp/websocketpp
+ dev-libs/qr-code-generator
+ )
"
RDEPEND="${DEPEND}"
QA_PREBUILT="
usr/lib*/obs-plugins/chrome-sandbox
+ usr/lib*/obs-plugins/libcef.so
usr/lib*/obs-plugins/libEGL.so
usr/lib*/obs-plugins/libGLESv2.so
- usr/lib*/obs-plugins/libcef.so
+ usr/lib*/obs-plugins/libvk_swiftshader.so
+ usr/lib*/obs-plugins/libvulkan.so.1
usr/lib*/obs-plugins/swiftshader/libEGL.so
usr/lib*/obs-plugins/swiftshader/libGLESv2.so
"
-PATCHES=(
- "${FILESDIR}/${PN}-26.1.2-python-3.8.patch"
-)
-
pkg_setup() {
use lua && lua-single_pkg_setup
use python && python-single-r1_pkg_setup
@@ -133,37 +160,58 @@ src_unpack() {
if [[ ${PV} == 9999 ]]; then
git-r3_src_unpack
- elif use browser; then
+ else
rm -d ${P}/plugins/obs-browser || die
mv obs-browser-${OBS_BROWSER_COMMIT} ${P}/plugins/obs-browser || die
+
+ rm -d ${P}/plugins/obs-websocket || die
+ mv obs-websocket-${OBS_WEBSOCKET_COMMIT} ${P}/plugins/obs-websocket || die
fi
}
+src_prepare() {
+ default
+
+ sed -i '/-Werror$/d' "${WORKDIR}"/${P}/cmake/Modules/CompilerConfig.cmake || die
+
+ # -Werror=lto-type-mismatch
+ # https://bugs.gentoo.org/867250
+ # https://github.com/obsproject/obs-studio/issues/8988
+ use wayland && filter-lto
+
+ cmake_src_prepare
+}
+
src_configure() {
local libdir=$(get_libdir)
local mycmakeargs=(
$(usev browser -DCEF_ROOT_DIR=../${CEF_DIR})
- -DBUILD_BROWSER=$(usex browser)
- -DBUILD_VST=no
- -DENABLE_WAYLAND=$(usex wayland)
- -DDISABLE_ALSA=$(usex !alsa)
- -DDISABLE_DECKLINK=$(usex !decklink)
- -DDISABLE_FREETYPE=$(usex !truetype)
- -DDISABLE_JACK=$(usex !jack)
- -DDISABLE_LIBFDK=$(usex !fdk)
+ -DCALM_DEPRECATION=ON
+ -DCCACHE_SUPPORT=OFF
+ -DENABLE_ALSA=$(usex alsa)
+ -DENABLE_AJA=OFF
+ -DENABLE_BROWSER=$(usex browser)
+ -DENABLE_DECKLINK=$(usex decklink)
+ -DENABLE_FREETYPE=$(usex truetype)
+ -DENABLE_JACK=$(usex jack)
+ -DENABLE_LIBFDK=$(usex fdk)
+ -DENABLE_NATIVE_NVENC=$(usex nvenc)
+ -DENABLE_NEW_MPEGTS_OUTPUT=$(usex mpegts)
-DENABLE_PIPEWIRE=$(usex pipewire)
- -DDISABLE_PULSEAUDIO=$(usex !pulseaudio)
- $(cmake_use_find_package pulseaudio PulseAudio)
- -DDISABLE_SPEEXDSP=$(usex !speex)
- -DDISABLE_V4L2=$(usex !v4l)
- -DDISABLE_VLC=$(usex !vlc)
+ -DENABLE_PULSEAUDIO=$(usex pulseaudio)
+ -DENABLE_QSV11=$(usex qsv)
+ -DENABLE_RNNOISE=ON
+ -DENABLE_RTMPS=$(usex ssl ON OFF) # Needed for bug 880861
+ -DENABLE_SPEEXDSP=$(usex speex)
+ -DENABLE_UNIT_TESTS=$(usex test)
+ -DENABLE_V4L2=$(usex v4l)
+ -DENABLE_VLC=$(usex vlc)
+ -DENABLE_VST=ON
+ -DENABLE_WAYLAND=$(usex wayland)
+ -DENABLE_WEBRTC=OFF # Requires libdatachannel.
+ -DENABLE_WEBSOCKET=$(usex websocket)
-DOBS_MULTIARCH_SUFFIX=${libdir#lib}
-DUNIX_STRUCTURE=1
- -DWITH_RTMPS=$(usex ssl)
-
- # deprecated and currently cause issues
- # https://github.com/obsproject/obs-studio/pull/4560#issuecomment-826345608
- -DLIBOBS_PREFER_IMAGEMAGICK=no
)
if [[ ${PV} != 9999 ]]; then
@@ -174,12 +222,18 @@ src_configure() {
if use lua || use python; then
mycmakeargs+=(
- -DDISABLE_LUA=$(usex !lua)
- -DDISABLE_PYTHON=$(usex !python)
- -DENABLE_SCRIPTING=yes
+ -DENABLE_SCRIPTING_LUA=$(usex lua)
+ -DENABLE_SCRIPTING_PYTHON=$(usex python)
+ -DENABLE_SCRIPTING=ON
)
else
- mycmakeargs+=( -DENABLE_SCRIPTING=no )
+ mycmakeargs+=( -DENABLE_SCRIPTING=OFF )
+ fi
+
+ if use browser && use ssl; then
+ mycmakeargs+=( -DENABLE_WHATSNEW=ON )
+ else
+ mycmakeargs+=( -DENABLE_WHATSNEW=OFF )
fi
cmake_src_configure
@@ -199,16 +253,19 @@ pkg_postinst() {
if ! use alsa && ! use pulseaudio; then
elog
elog "For the audio capture features to be available,"
- elog "either the 'alsa' or the 'pulseaudio' USE-flag needs to"
+ elog "at least one of the 'alsa' or 'pulseaudio' USE-flags needs to"
elog "be enabled."
elog
fi
- if use python; then
- ewarn "This ebuild applies a patch that is not yet accepted upstream,"
- ewarn "and while it fixes Python support at least to some extent, it"
- ewarn "may cause other issues."
- ewarn ""
- ewarn "Please report any such issues to the Gentoo maintainer."
+ if use v4l && has_version media-video/v4l2loopback; then
+ elog
+ elog "Depending on system configuration, the v4l2loopback kernel module"
+ elog "may need to be loaded manually, and needs to be re-built after"
+ elog "kernel changes."
+ elog
fi
+
+ optfeature "VA-API hardware encoding" media-video/ffmpeg[vaapi]
+ optfeature "virtual camera support" media-video/v4l2loopback
}
diff --git a/media-video/obs-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 4b4f0cc3d8fb..000000000000
--- a/media-video/obs-v4l2sink/obs-v4l2sink-0.1.0_p20181012-r2.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 2020 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() {
- mycmakeargs=(
- -DLIBOBS_INCLUDE_DIR="/usr/include/obs/"
- )
- cmake_src_configure
-}
diff --git a/media-video/ogmrip/Manifest b/media-video/ogmrip/Manifest
deleted file mode 100644
index fb6f9cdd5b58..000000000000
--- a/media-video/ogmrip/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST ogmrip-1.0.1.tar.gz 3276396 BLAKE2B eed64f401483a44a5df17faeb51cc95a1626f71d0e074ca33a084f74dc8fb485339ed74b1a8d8958700f0d1b7689e653abc9ab6b8a1230217b416c9518b0c3be SHA512 22261b1a5086fc05139e8b9924b75d9a5a5e85b18e245e32545687e72273b485fe1c5041b89db653c6e2e9714518e17ea955435a20ac26fcc875fa8d1a90994c
diff --git a/media-video/ogmrip/metadata.xml b/media-video/ogmrip/metadata.xml
deleted file mode 100644
index 81b39142098f..000000000000
--- a/media-video/ogmrip/metadata.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>media-video@gentoo.org</email>
- <name>Gentoo Video project</name>
- </maintainer>
- <use>
- <flag name="ogm">Support for OGM container format</flag>
- <flag name="srt">Support for SRT subtitle format</flag>
- </use>
- <upstream>
- <remote-id type="sourceforge">ogmrip</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/media-video/ogmrip/ogmrip-1.0.1.ebuild b/media-video/ogmrip/ogmrip-1.0.1.ebuild
deleted file mode 100644
index 0c63e0d65033..000000000000
--- a/media-video/ogmrip/ogmrip-1.0.1.ebuild
+++ /dev/null
@@ -1,82 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-GCONF_DEBUG=no
-
-inherit gnome2
-
-DESCRIPTION="Graphical frontend and libraries for ripping DVDs and encoding to AVI/OGM/MKV/MP4"
-HOMEPAGE="http://ogmrip.sourceforge.net/"
-SRC_URI="mirror://sourceforge/ogmrip/${P}.tar.gz"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
-IUSE="aac dbus debug dts gtk libnotify matroska mp3 mp4 nls ogm spell srt static-libs theora vorbis x264 xvid"
-
-COMMON_DEPEND="
- >=dev-libs/glib-2.16:2
- >=app-i18n/enca-1.9
- dev-libs/libxml2
- media-libs/libdvdread
- >=media-video/mplayer-1.0_rc2[dvd,encode,xvid?,dts?,x264?]
- aac? ( >=media-libs/faac-1.24 )
- gtk? (
- >=x11-libs/gtk+-2.12:2
- gnome-base/libglade
- gnome-base/gconf
- dbus? ( dev-libs/dbus-glib )
- libnotify? ( >=x11-libs/libnotify-0.4.3 )
- media-video/mplayer[jpeg]
- )
- matroska? ( media-video/mkvtoolnix )
- mp3? ( media-sound/lame )
- mp4? ( >=media-video/gpac-0.4.2 )
- ogm? ( media-sound/ogmtools )
- spell? ( >=app-text/enchant-1.1.0:0 )
- srt? ( ||
- (
- ( >=app-text/tesseract-2 media-libs/tiff )
- >=app-text/gocr-0.39
- >=app-text/ocrad-0.15
- )
- media-libs/libpng )
- theora? ( media-libs/libtheora )
- vorbis? ( media-sound/vorbis-tools )
-"
-RDEPEND="${COMMON_DEPEND}
- gnome-base/gvfs
-"
-DEPEND="${COMMON_DEPEND}
- dev-util/gtk-doc-am
- nls? ( sys-devel/gettext
- dev-util/intltool )
- virtual/pkgconfig
-"
-
-src_configure() {
- gnome2_src_configure \
- $(use_enable debug maintainer-mode) \
- $(use_enable gtk gtk-support) \
- $(use_enable dbus dbus-support) \
- $(use_enable spell enchant-support) \
- $(use_enable ogm ogm-support) \
- $(use_enable matroska mkv-support) \
- $(use_enable mp4 mp4-support) \
- $(use_enable xvid xvid-support) \
- $(use_enable x264 x264-support) \
- $(use_enable theora theora-support) \
- $(use_enable vorbis vorbis-support) \
- $(use_enable mp3 mp3-support) \
- $(use_enable aac aac-support) \
- $(use_enable srt srt-support) \
- $(use_enable static-libs static) \
- $(use_enable libnotify libnotify-support) \
- $(use_enable nls) \
- --with-html-dir=/usr/share/doc/${PF}/html
-}
-
-src_install() {
- MAKEOPTS="${MAKEOPTS} -j1" gnome2_src_install #528670
-}
diff --git a/media-video/openshot/Manifest b/media-video/openshot/Manifest
deleted file mode 100644
index 3857a19a8a70..000000000000
--- a/media-video/openshot/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST openshot-2.6.0.tar.gz 68096356 BLAKE2B e34ef6ee043565a895a110f867bbdbe4f49290d883224eec1c710f7b94186cea3a5083502b5c80d2dc02ddd61fc87d0ceacd397465892bd5e149b1846a2328ef SHA512 9e569f318672047e8251d00ce0bb80e4b295d5daba58c11a3e286b7daebf45b35a34d4ecc5a9d81891b0a68d75d813a78023ee984b8690a2d1217a8517239ee9
diff --git a/media-video/openshot/metadata.xml b/media-video/openshot/metadata.xml
deleted file mode 100644
index bd4e0bfea080..000000000000
--- a/media-video/openshot/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="person">
- <email>steils@gentoo.org</email>
- <name>Stefan Strogin</name>
- </maintainer>
- <maintainer type="project">
- <email>media-video@gentoo.org</email>
- <name>Gentoo Video project</name>
- </maintainer>
- <upstream>
- <remote-id type="github">OpenShot/openshot-qt</remote-id>
- <bugs-to>https://github.com/OpenShot/openshot-qt/issues</bugs-to>
- </upstream>
-</pkgmetadata>
diff --git a/media-video/openshot/openshot-2.6.0.ebuild b/media-video/openshot/openshot-2.6.0.ebuild
deleted file mode 100644
index 9add97810814..000000000000
--- a/media-video/openshot/openshot-2.6.0.ebuild
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8,9} )
-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_MULTI_USEDEP}]
- dev-python/PyQt5[${PYTHON_MULTI_USEDEP},gui,svg,widgets]
- dev-python/PyQtWebEngine[${PYTHON_MULTI_USEDEP}]
- dev-python/pyzmq[${PYTHON_MULTI_USEDEP}]
- dev-python/requests[${PYTHON_MULTI_USEDEP}]
- ')
- >=media-libs/libopenshot-0.2.6:0=[python,${PYTHON_SINGLE_USEDEP}]"
-DEPEND=""
-BDEPEND="$(python_gen_cond_dep '
- doc? ( dev-python/sphinx[${PYTHON_MULTI_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_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
-}
diff --git a/media-video/oxine/oxine-0.7.1-r4.ebuild b/media-video/oxine/oxine-0.7.1-r6.ebuild
index c827c4ee2203..979c1ffc0de7 100644
--- a/media-video/oxine/oxine-0.7.1-r4.ebuild
+++ b/media-video/oxine/oxine-0.7.1-r6.ebuild
@@ -1,20 +1,20 @@
-# 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 flag-o-matic
DESCRIPTION="OSD frontend for Xine"
HOMEPAGE="http://oxine.sourceforge.net/"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
IUSE="curl debug dvb exif joystick jpeg lirc nls png v4l X"
-COMMON_DEPEND="
+DEPEND="
dev-libs/libcdio
media-libs/xine-lib[v4l?,X,imagemagick]
virtual/libcrypt:=
@@ -22,9 +22,9 @@ COMMON_DEPEND="
dvb? ( media-libs/xine-lib[v4l] )
joystick? ( media-libs/libjsw )
jpeg? (
- media-gfx/imagemagick
- media-libs/netpbm[jpeg,zlib]
+ media-libs/netpbm[jpeg,zlib(+)]
media-video/mjpegtools
+ virtual/imagemagick-tools[jpeg]
)
lirc? ( app-misc/lirc )
nls? (
@@ -32,52 +32,56 @@ COMMON_DEPEND="
sys-devel/gettext
)
png? (
- media-gfx/imagemagick
- media-libs/netpbm[png,zlib]
+ media-libs/netpbm[png,zlib(+)]
media-video/mjpegtools
+ virtual/imagemagick-tools[png]
)
X? (
x11-libs/libXext
x11-libs/libX11
- )"
-RDEPEND="${COMMON_DEPEND}
- sys-apps/util-linux"
-DEPEND="${COMMON_DEPEND}
- virtual/pkgconfig"
+ )
+"
+RDEPEND="
+ ${DEPEND}
+ sys-apps/util-linux
+"
+BDEPEND="virtual/pkgconfig"
HTML_DOCS=( doc/README.html )
src_configure() {
# Fix underlinking by falling back to
- # GNU89 inline semantics, bug 590946
+ # GNU89 inline semantics, bug #590946
append-cflags -std=gnu89
+ local myeconfargs=(
+ --disable-hal
+ --disable-rpath
+ --disable-extractor
+ $(use_with curl)
+ $(use_enable debug)
+ $(use_enable dvb)
+ $(use_enable exif)
+ $(use_enable joystick)
+ $(use_enable lirc)
+ $(use_enable nls)
+ $(use_enable v4l)
+ $(use_with X x)
+ )
+
# Note on images: Image support will be automatically disabled if
# netpbm, imagemagick or mjpegtools is not installed, regardless
# of what the USE flags are set to.
# If one of the image USE flags is unset, disable image support
- local myconf=()
- if use !png || use !jpeg; then
- myconf+=( --disable-images )
+ if ! use png || ! use jpeg; then
+ myeconfargs+=( --disable-images )
fi
- econf \
- --disable-hal \
- --disable-rpath \
- --disable-extractor \
- $(use_with curl) \
- $(use_enable debug) \
- $(use_enable dvb) \
- $(use_enable exif) \
- $(use_enable joystick) \
- $(use_enable lirc) \
- $(use_enable nls) \
- $(use_enable v4l) \
- $(use_with X x) \
- "${myconf[@]}"
+ CONFIG_SHELL="${BROOT}"/bin/bash econf "${myeconfargs[@]}"
}
src_install() {
default
+
dodoc doc/keymapping.pdf
}
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/peek/peek-1.5.1.ebuild b/media-video/peek/peek-1.5.1-r1.ebuild
index 93f9631cc1ff..86e8afe1b247 100644
--- a/media-video/peek/peek-1.5.1.ebuild
+++ b/media-video/peek/peek-1.5.1-r1.ebuild
@@ -1,8 +1,7 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
-VALA_MIN_API_VERSION="0.22"
+EAPI=8
inherit gnome2-utils meson vala xdg
@@ -16,25 +15,24 @@ KEYWORDS="~amd64 ~x86"
IUSE="keybinder test"
RESTRICT="!test? ( test )"
-RDEPEND=">=dev-libs/glib-2.38:2
+RDEPEND="
+ >=dev-libs/glib-2.38:2
media-video/ffmpeg[X,encode,x264,vpx,xcb(+)]
virtual/imagemagick-tools
>=x11-libs/gtk+-3.20:3
keybinder? ( dev-libs/keybinder:3 )"
-DEPEND="${RDEPEND}
- $(vala_depend)
+DEPEND="${RDEPEND}"
+BDEPEND="
app-text/txt2man
>=sys-devel/gettext-0.19
- virtual/pkgconfig"
+ virtual/pkgconfig
+ $(vala_depend)"
PATCHES=( "${FILESDIR}"/${P}-meson.patch )
-src_prepare() {
- vala_src_prepare
- default
-}
-
src_configure() {
+ vala_setup
+
local emesonargs=(
$(meson_feature keybinder enable-keybinder)
$(meson_use test build-tests)
diff --git a/media-video/pipewire/Manifest b/media-video/pipewire/Manifest
index b4f40211f2c8..b9a98a797c56 100644
--- a/media-video/pipewire/Manifest
+++ b/media-video/pipewire/Manifest
@@ -1,4 +1,4 @@
-DIST pipewire-0.3.30.tar.gz 1540950 BLAKE2B 69b35743e3ad9a8caf68d9bb16cf395203efed6c3046b3f4ea33bbcdd6649f5d425d813042c12396a7cd5ff4e8ed91dbc395a96fe55935ad50f9c3f3918b0407 SHA512 ec525e0fb7e5c5313245fcc745b971fd7d4a1caa7ab9fe1fa38dc20d50f03e5969197e86b60659971676bec0f79aa7b7951c8209bfe9565a3fd1dcac1b8535b3
-DIST pipewire-0.3.36.tar.gz 1708209 BLAKE2B 20fce0d7f88347fe594491d4fae7b6a8edee67ff7749f1a40b807a5d5094d792e61e3efd05dca2221f781c263e34ff0a50ad3c162231911d4b1d87704df6c775 SHA512 f0fc68ea005018b420a4f65a24dc9c85eb6263c24e66852a7ce2b03f966990d62487b388c7d73ff5adfc10c80c439b1200ae876e41d78f91db190036a1799a14
-DIST pipewire-0.3.37.tar.gz 1716320 BLAKE2B ce98b28015de69a0c91953a4839d5f86a29cfa19e2058ba0a2476a75a03b782ae67239b418306e4ed7dab81fe7e77928a417b966ff3c72ac552006cea66e3218 SHA512 3f4cf1ac66117a56a7a264262e2e238a54060457da6a986bd9227f51cc7e8d1a8fd282aef8462c096819282c5baec22779d2025c2e1918bbfb3d6ff75829aea6
-DIST pipewire-0.3.38.tar.gz 1727371 BLAKE2B dac7f3e1992b9690195df1dbc04575d386d21d06d1727b004b851e300709b3707806b7b20d36c1e74225d91a2df5428c913376903b286592f87083857347e53e SHA512 c3c6c822bf4e5e77fed8d6ef09059d3e43195957692ab7baddc349af3d759d892a9af0e7802d389e2a9a15e5fece4c08ec963ac42df931233eec6057bad67eb6
+DIST pipewire-1.0.0-docs.tar.xz 33632 BLAKE2B be06aa7242f7d2f8627b3bf2a2ae491dbda456a24811a767218eb89b1fd5961a461697e5d8ae2782323fdb927985fa4fd5dd40c21268b1c7939f4cd3c9e1a9ab SHA512 14f794c4152d7d9a4a7d9d4d5c2ff381c2a8262deaff034f993c4d28629fca8cc3d71d3a7c02982703e449fae5f58257fea0c20db02bf95b5aed88a4d99d2c58
+DIST pipewire-1.0.4.tar.bz2 1698660 BLAKE2B 0842a5fca65c8a91eadd9f0594864ae0f0d428b3c03d2c5fecc3b7f62ff6f5d24fc1190eb351279c002e26596148b23b4b576551502be21beb2eeaa0d2ad4dac SHA512 42e8e28b1fd497f5329b5966abd5cfb7d7976fb0ca9f8f39bccf44195dd11f227cdec2448ba7db4559e866ea2dccf64b8172a2ae069c5204cd8f66c0f8a9e2d9
+DIST pipewire-1.0.5.tar.bz2 1698291 BLAKE2B 0f919a01b5f84060fb2ce560a7790a0d59374671f52a941492930fe21ac39178688f27f00cad649d239901f88b392e16895648efae2ec2785c394c1f6d186ddf SHA512 18fbbe36c8752eb0f1df5ee3f3fffee279addcec9825281bd165ad8316f17af7e91bb5759f63c16139c074b03e5a77ef9d596a87f584d1580bbb754101b70a0f
+DIST pipewire-1.0.6.tar.bz2 1698889 BLAKE2B f782efa2aa8fa0976fd3025f58041f450505c63acd9028c3d79368d0c41465a51b4472059a1c13092aa72dc6110fc12589b03de653d7eac3c93bc5498cc17154 SHA512 09e5c951c835dcc2654ec284aaaad6be4254744e943f95556c494cd22a4fc67bdc481982856f2aa439e33ec84e7fbdb6df45a1d4b9ced261b01cd91b0ee4d2ed
diff --git a/media-video/pipewire/files/99-pipewire-default-hook.conf b/media-video/pipewire/files/99-pipewire-default-hook.conf
new file mode 100644
index 000000000000..7145accea809
--- /dev/null
+++ b/media-video/pipewire/files/99-pipewire-default-hook.conf
@@ -0,0 +1,17 @@
+# Load pipewire configuration at conf hook processing time. This allows to
+# override pulseaudio defaults configuration which is also applied via hook.
+#
+# Note since hooks are run after @GENTOO_PORTAGE_EPREFIX@/etc/asound.conf and ~/.asoundrc are applied,
+# we load these again here make sure that user configuration takes precedence.
+
+@hooks [
+ {
+ func load
+ files [
+ "@GENTOO_PORTAGE_EPREFIX@/usr/share/alsa/alsa.conf.d/99-pipewire-default.conf"
+ "@GENTOO_PORTAGE_EPREFIX@/etc/asound.conf"
+ "~/.asoundrc"
+ ]
+ errors false
+ }
+]
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-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.25-non-systemd-integration.patch b/media-video/pipewire/files/pipewire-0.3.25-non-systemd-integration.patch
deleted file mode 100644
index 51455a3b84b8..000000000000
--- a/media-video/pipewire/files/pipewire-0.3.25-non-systemd-integration.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-diff --git a/src/daemon/pipewire.conf.in b/src/daemon/pipewire.conf.in
---- a/src/daemon/pipewire.conf.in
-+++ b/src/daemon/pipewire.conf.in
-@@ -204,12 +204,12 @@ context.exec = [
- # but it is better to start it as a systemd service.
- # Run the session manager with -h for options.
- #
-- @comment@{ path = "@media_session_path@" args = "" }
-+ { path = "@media_session_path@" args = "" }
- #
- # You can optionally start the pulseaudio-server here as well
- # but it is better to start it as a systemd service.
- # It can be interesting to start another daemon here that listens
- # on another address with the -a option (eg. -a tcp:4713).
- #
-- @comment@{ path = "@pipewire_path@" args = "-c pipewire-pulse.conf" }
-+ { path = "@pipewire_path@" args = "-c pipewire-pulse.conf" }
- ]
diff --git a/media-video/pipewire/files/pipewire-0.3.29-revert-openaptx-restriction.patch b/media-video/pipewire/files/pipewire-0.3.29-revert-openaptx-restriction.patch
deleted file mode 100644
index 9da495f12d0d..000000000000
--- a/media-video/pipewire/files/pipewire-0.3.29-revert-openaptx-restriction.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 6d2e45a67cadd9498b24e8e4ea7adc6cf627333d Mon Sep 17 00:00:00 2001
-From: Thomas Deutschmann <whissi@gentoo.org>
-Date: Thu, 3 Jun 2021 14:15:44 +0200
-Subject: [PATCH] Revert "openaptx: Blacklist >= 0.2.1 due to license change"
-
-This reverts commit d08b6fac6bec0d334ee9fc785d551a67832f95fe.
-
-Doesn't apply to us.
-
-Bug: https://bugs.gentoo.org/785634
----
- spa/meson.build | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/spa/meson.build b/spa/meson.build
-index 263af4c2..7671c74b 100644
---- a/spa/meson.build
-+++ b/spa/meson.build
-@@ -23,7 +23,7 @@ if not get_option('spa-plugins').disabled()
- sbc_dep = dependency('sbc', required: get_option('bluez5'))
- ldac_dep = dependency('ldacBT-enc', required : get_option('bluez5-codec-ldac'))
- ldac_abr_dep = dependency('ldacBT-abr', required : get_option('bluez5-codec-ldac'))
-- aptx_dep = dependency('libopenaptx', version : '< 0.2.1', required : get_option('bluez5-codec-aptx'))
-+ aptx_dep = dependency('libopenaptx', required : get_option('bluez5-codec-aptx'))
- fdk_aac_dep = dependency('fdk-aac', required : get_option('bluez5-codec-aac'))
- endif
- avcodec_dep = dependency('libavcodec', required: get_option('ffmpeg'))
---
-2.32.0.rc3
-
diff --git a/media-video/pipewire/files/pipewire-0.3.35-non-systemd-integration.patch b/media-video/pipewire/files/pipewire-0.3.35-non-systemd-integration.patch
deleted file mode 100644
index 3edab5b924c8..000000000000
--- a/media-video/pipewire/files/pipewire-0.3.35-non-systemd-integration.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- a/src/daemon/pipewire.conf.in
-+++ b/src/daemon/pipewire.conf.in
-@@ -235,12 +235,12 @@ context.exec = [
- # but it is better to start it as a systemd service.
- # Run the session manager with -h for options.
- #
-- @sm_comment@{ path = "@session_manager_path@" args = "@session_manager_args@" }
-+ { path = "@session_manager_path@" args = "@session_manager_args@" }
- #
- # You can optionally start the pulseaudio-server here as well
- # but it is better to start it as a systemd service.
- # It can be interesting to start another daemon here that listens
- # on another address with the -a option (eg. -a tcp:4713).
- #
-- @pulse_comment@{ path = "@pipewire_path@" args = "-c pipewire-pulse.conf" }
-+ { path = "@pipewire_path@" args = "-c pipewire-pulse.conf" }
- ]
---
-2.33.0
-
diff --git a/media-video/pipewire/files/pipewire-0.3.36-fix-crash-uaf-media-session.patch b/media-video/pipewire/files/pipewire-0.3.36-fix-crash-uaf-media-session.patch
deleted file mode 100644
index 6080ff4fd7ab..000000000000
--- a/media-video/pipewire/files/pipewire-0.3.36-fix-crash-uaf-media-session.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/39c8ed4f62172026036281691cd3b67b469a8629
-
-From 39c8ed4f62172026036281691cd3b67b469a8629 Mon Sep 17 00:00:00 2001
-From: Pauli Virtanen <pav@iki.fi>
-Date: Thu, 16 Sep 2021 19:18:52 +0300
-Subject: [PATCH] media-session: don't use-after-free if linking node removed
-
-Should fix an ASAN crash.
----
- src/examples/media-session/policy-node.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/src/examples/media-session/policy-node.c b/src/examples/media-session/policy-node.c
-index d83613d0b..e273434fa 100644
---- a/src/examples/media-session/policy-node.c
-+++ b/src/examples/media-session/policy-node.c
-@@ -869,6 +869,7 @@ static int link_nodes(struct node *node, struct node *peer)
- struct pw_properties *props;
- struct node *output, *input;
- int res;
-+ uint32_t node_id = node->id;
-
- pw_log_debug(NAME " %p: link nodes %d %d remix:%d", impl,
- node->id, peer->id, !node->dont_remix);
-@@ -902,7 +903,7 @@ static int link_nodes(struct node *node, struct node *peer)
-
- if (impl->linking_node_removed) {
- impl->linking_node_removed = false;
-- pw_log_info("linking node %d was removed", node->id);
-+ pw_log_info("linking node %d was removed", node_id);
- return -ENOENT;
- }
- node->linking = false;
---
-GitLab
-
diff --git a/media-video/pipewire/files/pipewire-0.3.36-fix-version.patch b/media-video/pipewire/files/pipewire-0.3.36-fix-version.patch
deleted file mode 100644
index ace05b9e4a14..000000000000
--- a/media-video/pipewire/files/pipewire-0.3.36-fix-version.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/10abcd92d76ddd02b690ff06d67c013bfc5fa5c2
-
-From 10abcd92d76ddd02b690ff06d67c013bfc5fa5c2 Mon Sep 17 00:00:00 2001
-From: Wim Taymans <wtaymans@redhat.com>
-Date: Thu, 16 Sep 2021 17:57:47 +0200
-Subject: [PATCH] update version number as well
-
----
- meson.build | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/meson.build b/meson.build
-index c9b98c8ba..ea35ac674 100644
---- a/meson.build
-+++ b/meson.build
-@@ -1,5 +1,5 @@
- project('pipewire', ['c' ],
-- version : '0.3.35',
-+ version : '0.3.36',
- license : [ 'MIT', 'LGPL-2.1-or-later', 'GPL-2.0-only' ],
- meson_version : '>= 0.54.0',
- default_options : [ 'warning_level=3',
---
-GitLab
-
diff --git a/media-video/pipewire/files/pipewire-0.3.36-missing-limits-include.patch b/media-video/pipewire/files/pipewire-0.3.36-missing-limits-include.patch
deleted file mode 100644
index c7ed7b973a91..000000000000
--- a/media-video/pipewire/files/pipewire-0.3.36-missing-limits-include.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/6168067cb2a45ffa3c92aff1135659feaf9c1240
-
-From: Leonardo Neumann <leonardo@neumann.dev.br>
-Date: Sat, 18 Sep 2021 04:36:20 -0300
-Subject: [PATCH] fix missing limits.h include
-
---- a/src/pipewire/impl-module.c
-+++ b/src/pipewire/impl-module.c
-@@ -28,6 +28,7 @@
- #include <stdio.h>
- #include <dlfcn.h>
- #include <dirent.h>
-+#include <limits.h>
- #include <sys/stat.h>
- #include <errno.h>
-
-GitLab
diff --git a/media-video/pipewire/files/pipewire-0.3.36-non-systemd-integration.patch b/media-video/pipewire/files/pipewire-0.3.36-non-systemd-integration.patch
deleted file mode 100644
index b8d3271eecdd..000000000000
--- a/media-video/pipewire/files/pipewire-0.3.36-non-systemd-integration.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-diff --git a/src/daemon/pipewire.conf.in b/src/daemon/pipewire.conf.in
-index 648e13069..d985208b4 100644
---- a/src/daemon/pipewire.conf.in
-+++ b/src/daemon/pipewire.conf.in
-@@ -235,12 +235,12 @@ context.exec = [
- # but it is better to start it as a systemd service.
- # Run the session manager with -h for options.
- #
-- @sm_comment@{ path = "@session_manager_path@" args = "@session_manager_args@" }
-+ { path = "@session_manager_path@" args = "@session_manager_args@" }
- #
- # You can optionally start the pulseaudio-server here as well
- # but it is better to start it as a systemd service.
- # It can be interesting to start another daemon here that listens
- # on another address with the -a option (eg. -a tcp:4713).
- #
-- @pulse_comment@{ path = "@pipewire_path@" args = "-c pipewire-pulse.conf" }
-+ { path = "@pipewire_path@" args = "-c pipewire-pulse.conf" }
- ]
diff --git a/media-video/pipewire/files/pipewire-0.3.38-find-readline.patch b/media-video/pipewire/files/pipewire-0.3.38-find-readline.patch
deleted file mode 100644
index 6b56304f5d17..000000000000
--- a/media-video/pipewire/files/pipewire-0.3.38-find-readline.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/ddfbd684e78e2b8b9ad40bedb4612ea0197d231a.patch
-
-From: Joshua Strobl <joshua@streambits.io>
-Date: Thu, 30 Sep 2021 23:11:50 +0300
-Subject: [PATCH] Fix readline detection by allowing fallback to cc
- find_library
-
---- a/meson.build
-+++ b/meson.build
-@@ -326,6 +326,11 @@ dbus_dep = dependency('dbus-1')
- sdl_dep = dependency('sdl2', required : get_option('sdl2'))
- summary({'SDL 2': sdl_dep.found()}, bool_yn: true, section: 'Misc dependencies')
- readline_dep = dependency('readline', required : false)
-+
-+if not readline_dep.found()
-+ readline_dep = cc.find_library('readline', required: false)
-+endif
-+
- summary({'readline (for pw-cli)': readline_dep.found()}, bool_yn: true, section: 'Misc dependencies')
- ncurses_dep = dependency('ncursesw', required : false)
- sndfile_dep = dependency('sndfile', version : '>= 1.0.20', required : get_option('sndfile'))
-@@ -406,7 +411,12 @@ libinotify_dep = (build_machine.system() == 'freebsd'
- : dependency('', required: false))
-
- # On FreeBSD, libintl library is required for gettext
--libintl_dep = cc.find_library('intl', required: false)
-+libintl_dep = dependency('intl', required: false)
-+
-+if not libintl_dep.found()
-+ libintl_dep = cc.find_library('intl', required: false)
-+endif
-+summary({'intl support': libintl_dep.found()}, bool_yn: true)
-
- need_alsa = get_option('pipewire-alsa').enabled() or get_option('session-managers').contains('media-session')
- alsa_dep = dependency('alsa', version : '>=1.1.7', required: need_alsa)
-GitLab
diff --git a/media-video/pipewire/files/pipewire-0.3.38-fix-arm-build.patch b/media-video/pipewire/files/pipewire-0.3.38-fix-arm-build.patch
deleted file mode 100644
index 222aa58cce13..000000000000
--- a/media-video/pipewire/files/pipewire-0.3.38-fix-arm-build.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/f8817b439433798bd7217dc4ae72197887b0fc96.patch
-
-From: Wim Taymans <wtaymans@redhat.com>
-Date: Thu, 30 Sep 2021 11:12:27 +0200
-Subject: [PATCH] cpu: fix compilation on ARM
-
---- a/spa/plugins/support/cpu-arm.c
-+++ b/spa/plugins/support/cpu-arm.c
-@@ -80,7 +80,7 @@ arm_init(struct impl *impl)
- int arch;
-
- if (!(cpuinfo = get_cpuinfo())) {
-- spa_log_warn(impl->log, NAME " %p: Can't read cpuinfo", impl);
-+ spa_log_warn(impl->log, "%p: Can't read cpuinfo", impl);
- return 1;
- }
-
-GitLab
diff --git a/media-video/pipewire/files/pipewire-0.3.38-libcamera-null-deref.patch b/media-video/pipewire/files/pipewire-0.3.38-libcamera-null-deref.patch
deleted file mode 100644
index beabd1a30291..000000000000
--- a/media-video/pipewire/files/pipewire-0.3.38-libcamera-null-deref.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/d71a10b7fa9b5c560485b6bbde409c10d3fdd114.patch
-
-From: Wim Taymans <wtaymans@redhat.com>
-Date: Thu, 30 Sep 2021 12:54:29 +0200
-Subject: [PATCH] libcamera: handle failure gracefully
-
-Don't try to access NULL pointers
---- a/spa/plugins/libcamera/libcamera-client.c
-+++ b/spa/plugins/libcamera/libcamera-client.c
-@@ -210,10 +210,10 @@ impl_init(const struct spa_handle_factory *factory,
- SPA_DEVICE_CHANGE_MASK_PROPS;
- this->info.flags = 0;
-
-- if(this->dev.camera == NULL) {
-+ if(this->dev.camera == NULL)
- this->dev.camera = (LibCamera*)newLibCamera();
-+ if(this->dev.camera != NULL)
- libcamera_set_log(this->dev.camera, this->dev.log);
-- }
-
- return 0;
- }
---- a/spa/plugins/libcamera/libcamera-source.c
-+++ b/spa/plugins/libcamera/libcamera-source.c
-@@ -994,10 +994,10 @@ impl_init(const struct spa_handle_factory *factory,
- port->dev.log = this->log;
- port->dev.fd = -1;
-
-- if(port->dev.camera == NULL) {
-+ if(port->dev.camera == NULL)
- port->dev.camera = (LibCamera*)newLibCamera();
-+ if(port->dev.camera != NULL)
- libcamera_set_log(port->dev.camera, port->dev.log);
-- }
-
- if (info && (str = spa_dict_lookup(info, SPA_KEY_API_LIBCAMERA_PATH))) {
- strncpy(this->props.device, str, 63);
---- a/spa/plugins/libcamera/libcamera_wrapper.cpp
-+++ b/spa/plugins/libcamera/libcamera_wrapper.cpp
-@@ -540,7 +540,8 @@ extern "C" {
- }
-
- void LibCamera::close() {
-- this->cam_->release();
-+ if (this->cam_)
-+ this->cam_->release();
- }
-
- void LibCamera::connect()
-@@ -775,6 +776,9 @@ extern "C" {
- std::unique_ptr<CameraManager> cm = std::make_unique<CameraManager>();
- LibCamera* camera = new LibCamera();
-
-+ pthread_mutexattr_init(&attr);
-+ pthread_mutex_init(&camera->lock, &attr);
-+
- ret = cm->start();
- if (ret) {
- deleteLibCamera(camera);
-@@ -794,9 +798,6 @@ extern "C" {
- return nullptr;
- }
-
-- pthread_mutexattr_init(&attr);
-- pthread_mutex_init(&camera->lock, &attr);
--
- camera->ring_buffer_init();
-
- return camera;
-GitLab
diff --git a/media-video/pipewire/files/pipewire-launcher.sh b/media-video/pipewire/files/pipewire-launcher.sh
deleted file mode 100644
index ecff3e7e7082..000000000000
--- a/media-video/pipewire/files/pipewire-launcher.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# We need to kill any existing pipewire instance to restore sound
-pkill -u "${USER}" -x pipewire 1>/dev/null 2>&1
-
-exec /usr/bin/pipewire
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 d6ee6bc2024f..1e5541a20ad2 100644
--- a/media-video/pipewire/metadata.xml
+++ b/media-video/pipewire/metadata.xml
@@ -1,28 +1,35 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>gnome@gentoo.org</email>
- <name>Gentoo GNOME Desktop</name>
- </maintainer>
<maintainer type="person">
- <email>asturm@gentoo.org</email>
- <name>Andreas Sturmlechner</name>
+ <email>sam@gentoo.org</email>
+ <name>Sam James</name>
</maintainer>
<maintainer type="person">
- <email>whissi@gentoo.org</email>
- <name>Thomas Deutschmann</name>
+ <email>leio@gentoo.org</email>
+ <name>Mart Raudsepp</name>
</maintainer>
<upstream>
<bugs-to>https://gitlab.freedesktop.org/pipewire/pipewire/-/issues</bugs-to>
<changelog>https://gitlab.freedesktop.org/pipewire/pipewire/-/releases</changelog>
<doc>https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/home</doc>
+ <remote-id type="freedesktop-gitlab">pipewire/pipewire</remote-id>
</upstream>
<use>
<flag name="echo-cancel">Enable WebRTC-based echo canceller via <pkg>media-libs/webrtc-audio-processing</pkg></flag>
<flag name="extra">Build pw-cat/pw-play/pw-record</flag>
+ <flag name="flatpak">Enable Flatpak support</flag>
+ <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>
+ <flag name="sound-server">Provide sound server using ALSA and bluetooth devices</flag>
</use>
</pkgmetadata>
diff --git a/media-video/pipewire/pipewire-0.3.30-r2.ebuild b/media-video/pipewire/pipewire-0.3.30-r2.ebuild
deleted file mode 100644
index c27f6c9196f0..000000000000
--- a/media-video/pipewire/pipewire-0.3.30-r2.ebuild
+++ /dev/null
@@ -1,274 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-PYTHON_COMPAT=( python3_{7..10} )
-
-inherit meson-multilib optfeature python-any-r1 udev
-
-if [[ ${PV} == 9999 ]]; then
- EGIT_REPO_URI="https://gitlab.freedesktop.org/${PN}/${PN}.git"
- inherit git-r3
-else
- SRC_URI="https://gitlab.freedesktop.org/${PN}/${PN}/-/archive/${PV}/${P}.tar.gz"
- KEYWORDS="amd64 arm arm64 ppc ppc64 x86"
-fi
-
-DESCRIPTION="Multimedia processing graphs"
-HOMEPAGE="https://pipewire.org/"
-
-LICENSE="MIT LGPL-2.1+ GPL-2"
-SLOT="0/0.3"
-IUSE="bluetooth doc extra gstreamer jack-client jack-sdk pipewire-alsa systemd test v4l"
-
-# 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)!
-
-REQUIRED_USE="jack-sdk? ( !jack-client )"
-
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- app-doc/xmltoman
- virtual/pkgconfig
- ${PYTHON_DEPS}
- doc? (
- app-doc/doxygen
- media-gfx/graphviz
- )
-"
-RDEPEND="
- acct-group/audio
- media-libs/alsa-lib
- sys-apps/dbus[${MULTILIB_USEDEP}]
- sys-libs/ncurses:=[unicode(+)]
- virtual/libintl[${MULTILIB_USEDEP}]
- virtual/libudev[${MULTILIB_USEDEP}]
- bluetooth? (
- media-libs/fdk-aac
- media-libs/libldac
- media-libs/libopenaptx
- media-libs/sbc
- >=net-wireless/bluez-4.101:=
- )
- extra? (
- >=media-libs/libsndfile-1.0.20
- )
- gstreamer? (
- >=dev-libs/glib-2.32.0:2
- >=media-libs/gstreamer-1.10.0:1.0
- media-libs/gst-plugins-base:1.0
- )
- jack-client? ( >=media-sound/jack2-1.9.10:2[dbus] )
- jack-sdk? (
- !media-sound/jack-audio-connection-kit
- !media-sound/jack2
- )
- pipewire-alsa? (
- >=media-libs/alsa-lib-1.1.7[${MULTILIB_USEDEP}]
- || (
- media-plugins/alsa-plugins[-pulseaudio]
- !media-plugins/alsa-plugins
- )
- )
- !pipewire-alsa? ( media-plugins/alsa-plugins[${MULTILIB_USEDEP},pulseaudio] )
- systemd? ( sys-apps/systemd )
- v4l? ( media-libs/libv4l )
-"
-
-DEPEND="${RDEPEND}"
-
-# 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}"/${PN}-0.3.29-revert-openaptx-restriction.patch
-)
-
-# limitsdfile related code taken from =sys-auth/realtime-base-0.1
-# with changes as necessary.
-limitsdfile=40-${PN}.conf
-
-src_prepare() {
- default
-
- if ! use systemd; then
- # This can be applied non-conditionally but would make for a
- # significantly worse user experience on systemd then.
- eapply "${FILESDIR}"/${PN}-0.3.25-non-systemd-integration.patch
- fi
-
- einfo "Generating ${limitsdfile}"
- cat > ${limitsdfile} <<- EOF || die
- # Start of ${limitsdfile} from ${P}
-
- @audio - memlock 256
-
- # End of ${limitsdfile} from ${P}
- EOF
-}
-
-multilib_src_configure() {
- local emesonargs=(
- -Ddocdir="${EPREFIX}"/usr/share/doc/${PF}
- $(meson_native_use_feature doc docs)
- $(meson_native_enabled examples) # Disabling this implicitly disables -Dmedia-session
- $(meson_native_enabled media-session)
- $(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 systemd)
- -Dsystemd-system-service=disabled # Matches upstream
- $(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 (-Dmedia-session depends on this)
- -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)
- $(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)
- -Dcontrol=enabled # Matches upstream
- -Daudiotestsrc=enabled # Matches upstream
- -Dffmpeg=disabled # Disabled by upstream and no major developments to spa/plugins/ffmpeg/ since May 2020
- -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_feature 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 v4l v4l2)
- -Dlibcamera=disabled # libcamera is not in Portage tree
- -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)
- $(meson_native_use_feature extra sndfile) # Enables libsndfile dependent code (currently only pw-cat)
- )
-
- meson_src_configure
-}
-
-multilib_src_install() {
- # Our customs 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
- # These will break if someone has /etc that is a symbol 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.conf /etc/alsa/conf.d/99-pipewire-default.conf
- fi
-
- if ! use systemd; then
- insinto /etc/xdg/autostart
- newins "${FILESDIR}"/pipewire.desktop pipewire.desktop
-
- exeinto /usr/libexec
- newexe "${FILESDIR}"/pipewire-launcher.sh pipewire-launcher
- fi
-}
-
-pkg_postinst() {
- 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
-
- 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 "To use PipeWire for audio, the user units must be manually enabled:"
- elog
- elog " systemctl --user enable pipewire.socket pipewire-pulse.socket"
- elog
- elog "When switching from PulseAudio, do not forget to disable PulseAudio:"
- elog
- elog " systemctl --user disable pulseaudio.service pulseaudio.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 pipewire-media-session:"
- elog
- elog " systemctl --user enable pipewire-media-session.service"
- elog
- elog "NOTE: This is not required when using PipeWire only for screencasting."
- elog
- else
- elog "This ebuild auto-enables PulseAudio replacement. Because of that, users"
- elog "are recommended to edit: ${EROOT}/etc/pulse/client.conf and disable "
- elog "autospawn'ing 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}/etc/pipewire/pipewire.conf by commenting out the relevant"
- elog "command near the end of the file:"
- elog
- elog "#\"/usr/bin/pipewire\" = { args = \"-c pipewire-pulse.conf\" }"
- elog
- elog "NOTE:"
- elog "Starting with PipeWire-0.3.30, package is no longer installing config"
- elog "into ${EROOT}/etc/pipewire by default. In case you need to change"
- elog "config, please start by copying default config from ${EROOT}/usr/share/pipewire"
- elog "and just override sections you want to change."
- 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
- # Once hsphfpd lands in tree, both it and ofono will need to be checked for presence here!
- if use bluetooth; then
- optfeature "better BT headset support (daemon startup required)" net-misc/ofono
- #optfeature "an oFono alternative (not packaged)" foo-bar/hsphfpd
- fi
-}
diff --git a/media-video/pipewire/pipewire-0.3.36.ebuild b/media-video/pipewire/pipewire-0.3.36.ebuild
deleted file mode 100644
index 8c7b2820b89b..000000000000
--- a/media-video/pipewire/pipewire-0.3.36.ebuild
+++ /dev/null
@@ -1,284 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit meson-multilib optfeature python-any-r1 udev
-
-if [[ ${PV} == 9999 ]]; then
- EGIT_REPO_URI="https://gitlab.freedesktop.org/${PN}/${PN}.git"
- inherit git-r3
-else
- SRC_URI="https://gitlab.freedesktop.org/${PN}/${PN}/-/archive/${PV}/${P}.tar.gz"
- KEYWORDS="amd64 ~arm arm64 ppc ~ppc64 ~riscv x86"
-fi
-
-DESCRIPTION="Multimedia processing graphs"
-HOMEPAGE="https://pipewire.org/"
-
-LICENSE="MIT LGPL-2.1+ GPL-2"
-SLOT="0/0.3"
-IUSE="bluetooth doc echo-cancel extra gstreamer jack-client jack-sdk pipewire-alsa systemd test v4l"
-
-# 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)!
-
-REQUIRED_USE="jack-sdk? ( !jack-client )"
-
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- app-doc/xmltoman
- >=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-apps/dbus[${MULTILIB_USEDEP}]
- sys-libs/ncurses:=[unicode(+)]
- virtual/libintl[${MULTILIB_USEDEP}]
- virtual/libudev[${MULTILIB_USEDEP}]
- bluetooth? (
- media-libs/fdk-aac
- media-libs/libldac
- media-libs/libfreeaptx
- media-libs/sbc
- >=net-wireless/bluez-4.101:=
- )
- echo-cancel? ( media-libs/webrtc-audio-processing:0 )
- extra? (
- >=media-libs/libsndfile-1.0.20
- )
- gstreamer? (
- >=dev-libs/glib-2.32.0:2
- >=media-libs/gstreamer-1.10.0:1.0
- media-libs/gst-plugins-base:1.0
- )
- jack-client? ( >=media-sound/jack2-1.9.10:2[dbus] )
- jack-sdk? (
- !media-sound/jack-audio-connection-kit
- !media-sound/jack2
- )
- pipewire-alsa? (
- >=media-libs/alsa-lib-1.1.7[${MULTILIB_USEDEP}]
- !media-plugins/alsa-plugins[${MULTILIB_USEDEP},pulseaudio]
- )
- !pipewire-alsa? ( media-plugins/alsa-plugins[${MULTILIB_USEDEP},pulseaudio] )
- systemd? ( sys-apps/systemd )
- v4l? ( media-libs/libv4l )
-"
-
-DEPEND="${RDEPEND}"
-
-# 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}-fix-crash-uaf-media-session.patch
- "${FILESDIR}"/${P}-fix-version.patch
- "${FILESDIR}"/${P}-missing-limits-include.patch
-)
-
-# limitsdfile related code taken from =sys-auth/realtime-base-0.1
-# with changes as necessary.
-limitsdfile=40-${PN}.conf
-
-python_check_deps() {
- has_version -b "dev-python/docutils[${PYTHON_USEDEP}]"
-}
-
-src_prepare() {
- default
-
- if ! use systemd; then
- # This can be applied non-conditionally but would make for a
- # significantly worse user experience on systemd then.
- eapply "${FILESDIR}"/${PN}-0.3.35-non-systemd-integration.patch
- fi
-
- einfo "Generating ${limitsdfile}"
- cat > ${limitsdfile} <<- EOF || die
- # Start of ${limitsdfile} from ${P}
-
- @audio - memlock 256
-
- # End of ${limitsdfile} from ${P}
- EOF
-}
-
-multilib_src_configure() {
- local emesonargs=(
- -Ddocdir="${EPREFIX}"/usr/share/doc/${PF}
- $(meson_native_use_feature doc docs)
- $(meson_native_enabled examples) # Disabling this implicitly disables -Dmedia-session
- # Replaced upstream by -Dsession-managers=..., needs more work, bug #812809
- # but default is same as before and right now, this is fatal with unreleased Meson.
- #$(meson_native_enabled media-session)
- $(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 systemd)
- -Dsystemd-system-service=disabled # Matches upstream
- $(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 (-Dmedia-session depends on this)
- -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)
- $(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 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
- -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 v4l v4l2)
- -Dlibcamera=disabled # libcamera is not in Portage tree
- -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)
- $(meson_native_use_feature extra sndfile) # Enables libsndfile dependent code (currently only pw-cat)
- )
-
- meson_src_configure
-}
-
-multilib_src_install() {
- # Our customs 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
- # These will break if someone has /etc that is a symbol 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.conf /etc/alsa/conf.d/99-pipewire-default.conf
- fi
-
- if ! use systemd; then
- insinto /etc/xdg/autostart
- newins "${FILESDIR}"/pipewire.desktop pipewire.desktop
-
- exeinto /usr/libexec
- newexe "${FILESDIR}"/pipewire-launcher.sh pipewire-launcher
- fi
-}
-
-pkg_postinst() {
- 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
-
- 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 "To use PipeWire for audio, 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 --now pipewire.socket pipewire-pulse.socket"
- elog
- elog "When switching from PulseAudio, do not forget to disable PulseAudio likewise:"
- elog
- elog " systemctl --user disable --now pulseaudio.service pulseaudio.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 pipewire-media-session"
- elog "for relevant users:"
- elog
- elog " systemctl --user enable --now pipewire-media-session.service"
- elog
- else
- elog "This ebuild auto-enables PulseAudio replacement. Because of that, users"
- elog "are recommended to edit: ${EROOT}/etc/pulse/client.conf and disable"
- elog "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}/etc/pipewire/pipewire.conf by commenting out the relevant"
- elog "command near the end of the file:"
- elog
- elog "#\"/usr/bin/pipewire\" = { args = \"-c pipewire-pulse.conf\" }"
- elog
- 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 "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
-
- # Once hsphfpd lands in tree, both it and ofono will need to be checked for presence here!
- if use bluetooth; then
- optfeature "better BT headset support (daemon startup required)" net-misc/ofono
- #optfeature "an oFono alternative (not packaged)" foo-bar/hsphfpd
- fi
-}
diff --git a/media-video/pipewire/pipewire-0.3.37.ebuild b/media-video/pipewire/pipewire-0.3.37.ebuild
deleted file mode 100644
index 7725dfa300f5..000000000000
--- a/media-video/pipewire/pipewire-0.3.37.ebuild
+++ /dev/null
@@ -1,285 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit meson-multilib optfeature python-any-r1 systemd udev
-
-if [[ ${PV} == 9999 ]]; then
- EGIT_REPO_URI="https://gitlab.freedesktop.org/${PN}/${PN}.git"
- inherit git-r3
-else
- SRC_URI="https://gitlab.freedesktop.org/${PN}/${PN}/-/archive/${PV}/${P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
-fi
-
-DESCRIPTION="Multimedia processing graphs"
-HOMEPAGE="https://pipewire.org/"
-
-LICENSE="MIT LGPL-2.1+ GPL-2"
-SLOT="0/0.3"
-IUSE="bluetooth doc echo-cancel extra gstreamer jack-client jack-sdk pipewire-alsa systemd test v4l"
-
-# 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)!
-
-REQUIRED_USE="jack-sdk? ( !jack-client )"
-
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- app-doc/xmltoman
- >=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-apps/dbus[${MULTILIB_USEDEP}]
- sys-libs/ncurses:=[unicode(+)]
- virtual/libintl[${MULTILIB_USEDEP}]
- virtual/libudev[${MULTILIB_USEDEP}]
- bluetooth? (
- media-libs/fdk-aac
- media-libs/libldac
- media-libs/libfreeaptx
- media-libs/sbc
- >=net-wireless/bluez-4.101:=
- )
- echo-cancel? ( media-libs/webrtc-audio-processing:0 )
- extra? (
- >=media-libs/libsndfile-1.0.20
- )
- gstreamer? (
- >=dev-libs/glib-2.32.0:2
- >=media-libs/gstreamer-1.10.0:1.0
- media-libs/gst-plugins-base:1.0
- )
- jack-client? ( >=media-sound/jack2-1.9.10:2[dbus] )
- jack-sdk? (
- !media-sound/jack-audio-connection-kit
- !media-sound/jack2
- )
- pipewire-alsa? (
- >=media-libs/alsa-lib-1.1.7[${MULTILIB_USEDEP}]
- !media-plugins/alsa-plugins[${MULTILIB_USEDEP},pulseaudio]
- )
- !pipewire-alsa? ( media-plugins/alsa-plugins[${MULTILIB_USEDEP},pulseaudio] )
- systemd? ( sys-apps/systemd )
- v4l? ( media-libs/libv4l )
-"
-
-DEPEND="${RDEPEND}"
-
-# 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() {
- has_version -b "dev-python/docutils[${PYTHON_USEDEP}]"
-}
-
-src_prepare() {
- default
-
- if ! use systemd; then
- # This can be applied non-conditionally but would make for a
- # significantly worse user experience on systemd then.
- eapply "${FILESDIR}"/${PN}-0.3.36-non-systemd-integration.patch
- fi
-
- einfo "Generating ${limitsdfile}"
- cat > ${limitsdfile} <<- EOF || die
- # Start of ${limitsdfile} from ${P}
-
- @audio - memlock 256
-
- # End of ${limitsdfile} from ${P}
- EOF
-}
-
-multilib_src_configure() {
- local emesonargs=(
- -Ddocdir="${EPREFIX}"/usr/share/doc/${PF}
- $(meson_native_use_feature doc docs)
- $(meson_native_enabled examples) # Disabling this implicitly disables -Dmedia-session
- # Replaced upstream by -Dsession-managers=..., needs more work, bug #812809
- # but default is same as before and right now, this is fatal with unreleased Meson.
- #$(meson_native_enabled media-session)
- $(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 systemd)
- -Dsystemd-system-service=disabled # Matches upstream
- $(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 (-Dmedia-session depends on this)
- -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)
- $(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 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
- -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 v4l v4l2)
- -Dlibcamera=disabled # libcamera is not in Portage tree
- -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)
- $(meson_native_use_feature extra sndfile) # Enables libsndfile dependent code (currently only pw-cat)
- )
-
- meson_src_configure
-}
-
-multilib_src_install() {
- # Our customs 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
- # These will break if someone has /etc that is a symbol 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.conf /etc/alsa/conf.d/99-pipewire-default.conf
- fi
-
- if ! use systemd; then
- insinto /etc/xdg/autostart
- newins "${FILESDIR}"/pipewire.desktop pipewire.desktop
-
- exeinto /usr/libexec
- newexe "${FILESDIR}"/pipewire-launcher.sh pipewire-launcher
- fi
-}
-
-pkg_postinst() {
- 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
-
- 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 "To use PipeWire for audio, 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 --now pipewire.socket pipewire-pulse.socket"
- elog
- elog "When switching from PulseAudio, do not forget to disable PulseAudio likewise:"
- elog
- elog " systemctl --user disable --now pulseaudio.service pulseaudio.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 pipewire-media-session"
- elog "for relevant users:"
- elog
- elog " systemctl --user enable --now pipewire-media-session.service"
- elog
- else
- elog "This ebuild auto-enables PulseAudio replacement. Because of that, users"
- elog "are recommended to edit: ${EROOT}/etc/pulse/client.conf and disable"
- elog "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}/etc/pipewire/pipewire.conf by commenting out the relevant"
- elog "command near the end of the file:"
- elog
- elog "#\"/usr/bin/pipewire\" = { args = \"-c pipewire-pulse.conf\" }"
- elog
- 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 "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 has_version 'net-misc/ofono' ; then
- ewarn "Native backend has become default. Please disable oFono via:"
- if systemd_is_booted ; then
- ewarn "systemctl disable --now ofono"
- else
- ewarn "rc-update delete ofono"
- fi
- ewarn
- fi
-}
diff --git a/media-video/pipewire/pipewire-0.3.38.ebuild b/media-video/pipewire/pipewire-0.3.38.ebuild
deleted file mode 100644
index a9e1b729e5b0..000000000000
--- a/media-video/pipewire/pipewire-0.3.38.ebuild
+++ /dev/null
@@ -1,290 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit meson-multilib optfeature python-any-r1 systemd udev
-
-if [[ ${PV} == 9999 ]]; then
- EGIT_REPO_URI="https://gitlab.freedesktop.org/${PN}/${PN}.git"
- inherit git-r3
-else
- SRC_URI="https://gitlab.freedesktop.org/${PN}/${PN}/-/archive/${PV}/${P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
-fi
-
-DESCRIPTION="Multimedia processing graphs"
-HOMEPAGE="https://pipewire.org/"
-
-LICENSE="MIT LGPL-2.1+ GPL-2"
-SLOT="0/0.3"
-IUSE="bluetooth doc echo-cancel extra gstreamer jack-client jack-sdk pipewire-alsa systemd test v4l"
-
-# 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)!
-
-REQUIRED_USE="jack-sdk? ( !jack-client )"
-
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- app-doc/xmltoman
- >=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-apps/dbus[${MULTILIB_USEDEP}]
- sys-libs/readline:=
- sys-libs/ncurses:=[unicode(+)]
- virtual/libintl[${MULTILIB_USEDEP}]
- virtual/libudev[${MULTILIB_USEDEP}]
- bluetooth? (
- media-libs/fdk-aac
- media-libs/libldac
- media-libs/libfreeaptx
- media-libs/sbc
- >=net-wireless/bluez-4.101:=
- )
- echo-cancel? ( media-libs/webrtc-audio-processing:0 )
- extra? (
- >=media-libs/libsndfile-1.0.20
- )
- gstreamer? (
- >=dev-libs/glib-2.32.0:2
- >=media-libs/gstreamer-1.10.0:1.0
- media-libs/gst-plugins-base:1.0
- )
- jack-client? ( >=media-sound/jack2-1.9.10:2[dbus] )
- jack-sdk? (
- !media-sound/jack-audio-connection-kit
- !media-sound/jack2
- )
- pipewire-alsa? (
- >=media-libs/alsa-lib-1.1.7[${MULTILIB_USEDEP}]
- !media-plugins/alsa-plugins[${MULTILIB_USEDEP},pulseaudio]
- )
- !pipewire-alsa? ( media-plugins/alsa-plugins[${MULTILIB_USEDEP},pulseaudio] )
- systemd? ( sys-apps/systemd )
- v4l? ( media-libs/libv4l )
-"
-
-DEPEND="${RDEPEND}"
-
-# 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
- # Upstream
- "${FILESDIR}"/${P}-fix-arm-build.patch
- "${FILESDIR}"/${P}-libcamera-null-deref.patch # (we don't have it in ::gentoo but let's be nice)
- "${FILESDIR}"/${P}-find-readline.patch # just in case
-)
-
-# limitsdfile related code taken from =sys-auth/realtime-base-0.1
-# with changes as necessary.
-limitsdfile=40-${PN}.conf
-
-python_check_deps() {
- has_version -b "dev-python/docutils[${PYTHON_USEDEP}]"
-}
-
-src_prepare() {
- default
-
- if ! use systemd; then
- # This can be applied non-conditionally but would make for a
- # significantly worse user experience on systemd then.
- eapply "${FILESDIR}"/${PN}-0.3.36-non-systemd-integration.patch
- fi
-
- einfo "Generating ${limitsdfile}"
- cat > ${limitsdfile} <<- EOF || die
- # Start of ${limitsdfile} from ${P}
-
- @audio - memlock 256
-
- # End of ${limitsdfile} from ${P}
- EOF
-}
-
-multilib_src_configure() {
- local emesonargs=(
- -Ddocdir="${EPREFIX}"/usr/share/doc/${PF}
- $(meson_native_use_feature doc docs)
- $(meson_native_enabled examples) # Disabling this implicitly disables -Dmedia-session
- # Replaced upstream by -Dsession-managers=..., needs more work, bug #812809
- # but default is same as before and right now, this is fatal with unreleased Meson.
- #$(meson_native_enabled media-session)
- $(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 systemd)
- -Dsystemd-system-service=disabled # Matches upstream
- $(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 (-Dmedia-session depends on this)
- -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)
- $(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 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
- -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 v4l v4l2)
- -Dlibcamera=disabled # libcamera is not in Portage tree
- -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)
- $(meson_native_use_feature extra sndfile) # Enables libsndfile dependent code (currently only pw-cat)
- )
-
- meson_src_configure
-}
-
-multilib_src_install() {
- # Our customs 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
- # These will break if someone has /etc that is a symbol 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.conf /etc/alsa/conf.d/99-pipewire-default.conf
- fi
-
- if ! use systemd; then
- insinto /etc/xdg/autostart
- newins "${FILESDIR}"/pipewire.desktop pipewire.desktop
-
- exeinto /usr/libexec
- newexe "${FILESDIR}"/pipewire-launcher.sh pipewire-launcher
- fi
-}
-
-pkg_postinst() {
- 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
-
- 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 "To use PipeWire for audio, 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 --now pipewire.socket pipewire-pulse.socket"
- elog
- elog "When switching from PulseAudio, do not forget to disable PulseAudio likewise:"
- elog
- elog " systemctl --user disable --now pulseaudio.service pulseaudio.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 pipewire-media-session"
- elog "for relevant users:"
- elog
- elog " systemctl --user enable --now pipewire-media-session.service"
- elog
- else
- elog "This ebuild auto-enables PulseAudio replacement. Because of that, users"
- elog "are recommended to edit: ${EROOT}/etc/pulse/client.conf and disable"
- elog "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}/etc/pipewire/pipewire.conf by commenting out the relevant"
- elog "command near the end of the file:"
- elog
- elog "#\"/usr/bin/pipewire\" = { args = \"-c pipewire-pulse.conf\" }"
- elog
- 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 "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 has_version 'net-misc/ofono' ; then
- ewarn "Native backend has become default. Please disable oFono via:"
- if systemd_is_booted ; then
- ewarn "systemctl disable --now ofono"
- else
- ewarn "rc-update delete ofono"
- fi
- ewarn
- fi
-}
diff --git a/media-video/pipewire/pipewire-1.0.4.ebuild b/media-video/pipewire/pipewire-1.0.4.ebuild
new file mode 100644
index 000000000000..0115d177525b
--- /dev/null
+++ b/media-video/pipewire/pipewire-1.0.4.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-1.0.5-r1.ebuild b/media-video/pipewire/pipewire-1.0.5-r1.ebuild
new file mode 100644
index 000000000000..1373789d2b11
--- /dev/null
+++ b/media-video/pipewire/pipewire-1.0.5-r1.ebuild
@@ -0,0 +1,502 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# 1. Please regularly check (even at the point of bumping) Fedora's packaging
+# for needed backports at https://src.fedoraproject.org/rpms/pipewire/tree/rawhide.
+#
+# 2. Upstream also sometimes amend release notes for the previous release to mention
+# needed patches, e.g. https://gitlab.freedesktop.org/pipewire/pipewire/-/tags/0.3.55#distros
+#
+# 3. Keep an eye on git master (for both PipeWire and WirePlumber) as things
+# continue to move quickly. It's not uncommon for fixes to be made shortly
+# after releases.
+
+# TODO: Maybe get upstream to produce `meson dist` tarballs:
+# - https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/3663
+# - https://gitlab.freedesktop.org/pipewire/pipewire/-/merge_requests/1788
+#
+# Generate using https://github.com/thesamesam/sam-gentoo-scripts/blob/main/niche/generate-pipewire-docs
+# Set to 1 if prebuilt, 0 if not
+# (the construct below is to allow overriding from env for script)
+: ${PIPEWIRE_DOCS_PREBUILT:=1}
+
+PIPEWIRE_DOCS_PREBUILT_DEV=sam
+PIPEWIRE_DOCS_VERSION=$(ver_cut 1-2).0
+# Default to generating docs (inc. man pages) if no prebuilt; overridden later
+PIPEWIRE_DOCS_USEFLAG="+man"
+PYTHON_COMPAT=( python3_{10..12} )
+inherit meson-multilib optfeature prefix python-any-r1 systemd tmpfiles udev
+
+if [[ ${PV} == 9999 ]]; then
+ PIPEWIRE_DOCS_PREBUILT=0
+ EGIT_REPO_URI="https://gitlab.freedesktop.org/${PN}/${PN}.git"
+ inherit git-r3
+else
+ if [[ ${PV} == *_p* ]] ; then
+ MY_COMMIT=""
+ SRC_URI="https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/${MY_COMMIT}/pipewire-${MY_COMMIT}.tar.bz2 -> ${P}.tar.bz2"
+ S="${WORKDIR}"/${PN}-${MY_COMMIT}
+ else
+ SRC_URI="https://gitlab.freedesktop.org/${PN}/${PN}/-/archive/${PV}/${P}.tar.bz2"
+ fi
+
+ if [[ ${PIPEWIRE_DOCS_PREBUILT} == 1 ]] ; then
+ SRC_URI+=" !man? ( https://dev.gentoo.org/~${PIPEWIRE_DOCS_PREBUILT_DEV}/distfiles/${CATEGORY}/${PN}/${PN}-${PIPEWIRE_DOCS_VERSION}-docs.tar.xz )"
+ PIPEWIRE_DOCS_USEFLAG="man"
+ fi
+
+ KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+fi
+
+DESCRIPTION="Multimedia processing graphs"
+HOMEPAGE="https://pipewire.org/"
+
+LICENSE="MIT LGPL-2.1+ GPL-2"
+# ABI was broken in 0.3.42 for https://gitlab.freedesktop.org/pipewire/wireplumber/-/issues/49
+SLOT="0/0.4"
+IUSE="${PIPEWIRE_DOCS_USEFLAG} bluetooth dbus doc echo-cancel extra ffmpeg flatpak gstreamer gsettings ieee1394 jack-client jack-sdk liblc3 lv2"
+IUSE+=" modemmanager pipewire-alsa readline roc selinux sound-server ssl system-service systemd test v4l X zeroconf"
+
+# Once replacing system JACK libraries is possible, it's likely that
+# jack-client IUSE will need blocking to avoid users accidentally
+# configuring their systems to send PW sink output to the emulated
+# JACK's sink - doing so is likely to yield no audio, cause a CPU
+# cycles consuming loop (and may even cause GUI crashes)!
+
+# - TODO: There should be "sound-server? ( || ( alsa bluetooth ) )" here, but ALSA is always enabled
+# - TODO: Pulseaudio alsa plugin performs runtime check that pulseaudio server connection will work
+# which provides adequate guarantee that alsa-lib will be able to provide audio services.
+# If that works, pulseaudio defaults are loaded into alsa-lib runtime replacing default PCM and CTL.
+# When pipewire-alsa will be able to perform similar check, pipewire-alsa can be enabled unconditionally.
+# - ffmpeg is only used for pw-cat. We don't build the spa plugin which receives barely any activity.
+REQUIRED_USE="
+ ffmpeg? ( extra )
+ bluetooth? ( dbus )
+ jack-sdk? ( !jack-client )
+ modemmanager? ( bluetooth )
+ system-service? ( systemd )
+ !sound-server? ( !pipewire-alsa )
+ jack-client? ( dbus )
+"
+
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ >=dev-build/meson-0.59
+ virtual/pkgconfig
+ dbus? ( dev-util/gdbus-codegen )
+ doc? (
+ ${PYTHON_DEPS}
+ >=app-text/doxygen-1.9.8
+ media-gfx/graphviz
+ )
+ man? (
+ ${PYTHON_DEPS}
+ >=app-text/doxygen-1.9.8
+ )
+"
+# * While udev could technically be optional, it's needed for a number of options,
+# and not really worth it, bug #877769.
+#
+# * Supports both legacy webrtc-audio-processing:0 and new webrtc-audio-processing:1.
+# We depend on :1 as it prefers that, it's not legacy, and to avoid automagic.
+#
+# * Older Doxygen (<1.9.8) may work but inferior output is created:
+# - https://gitlab.freedesktop.org/pipewire/pipewire/-/merge_requests/1778
+# - https://github.com/doxygen/doxygen/issues/9254
+RDEPEND="
+ acct-group/audio
+ acct-group/pipewire
+ media-libs/alsa-lib[${MULTILIB_USEDEP}]
+ sys-libs/ncurses:=[unicode(+)]
+ virtual/libintl[${MULTILIB_USEDEP}]
+ virtual/libudev[${MULTILIB_USEDEP}]
+ bluetooth? (
+ dev-libs/glib
+ media-libs/fdk-aac
+ media-libs/libldac
+ media-libs/libfreeaptx
+ media-libs/opus
+ media-libs/sbc
+ >=net-wireless/bluez-4.101:=
+ virtual/libusb:1
+ )
+ dbus? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
+ echo-cancel? ( media-libs/webrtc-audio-processing:1 )
+ extra? ( >=media-libs/libsndfile-1.0.20 )
+ ffmpeg? ( media-video/ffmpeg:= )
+ flatpak? ( dev-libs/glib )
+ gstreamer? (
+ >=dev-libs/glib-2.32.0:2
+ >=media-libs/gstreamer-1.10.0:1.0
+ media-libs/gst-plugins-base:1.0
+ )
+ gsettings? ( >=dev-libs/glib-2.26.0:2 )
+ ieee1394? ( media-libs/libffado[${MULTILIB_USEDEP}] )
+ jack-client? ( >=media-sound/jack2-1.9.10:2[dbus] )
+ jack-sdk? (
+ !media-sound/jack-audio-connection-kit
+ !media-sound/jack2
+ )
+ liblc3? ( media-sound/liblc3 )
+ lv2? ( media-libs/lilv )
+ modemmanager? ( >=net-misc/modemmanager-1.10.0 )
+ pipewire-alsa? ( >=media-libs/alsa-lib-1.1.7[${MULTILIB_USEDEP}] )
+ sound-server? ( !media-sound/pulseaudio-daemon )
+ roc? ( >=media-libs/roc-toolkit-0.3.0:= )
+ readline? ( sys-libs/readline:= )
+ selinux? ( sys-libs/libselinux )
+ ssl? ( dev-libs/openssl:= )
+ systemd? ( sys-apps/systemd )
+ system-service? ( acct-user/pipewire )
+ v4l? ( media-libs/libv4l )
+ X? (
+ media-libs/libcanberra
+ x11-libs/libX11
+ x11-libs/libXfixes
+ )
+ zeroconf? ( net-dns/avahi )
+"
+
+DEPEND="${RDEPEND}"
+
+PDEPEND=">=media-video/wireplumber-0.5.2"
+
+# Present RDEPEND that are currently always disabled due to the PW
+# code using them being required to be disabled by Gentoo guidelines
+# (i.e. developer binaries not meant for users) and unready code
+# media-libs/libsdl2
+# >=media-libs/vulkan-loader-1.1.69
+#
+# Ditto for DEPEND
+# >=dev-util/vulkan-headers-1.1.69
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch
+)
+
+pkg_setup() {
+ if use doc || use man ; then
+ python-any-r1_pkg_setup
+ fi
+}
+
+src_prepare() {
+ default
+
+ # Used for upstream backports
+ [[ -d "${FILESDIR}"/${PV} ]] && eapply "${FILESDIR}"/${PV}
+}
+
+multilib_src_configure() {
+ local emesonargs=(
+ -Ddocdir="${EPREFIX}"/usr/share/doc/${PF}
+
+ $(meson_feature dbus)
+ $(meson_native_use_feature zeroconf avahi)
+ $(meson_native_use_feature doc docs)
+ $(meson_native_use_feature man)
+ $(meson_native_enabled examples) # TODO: Figure out if this is still important now that media-session gone
+ $(meson_feature test tests)
+ -Dinstalled_tests=disabled # Matches upstream; Gentoo never installs tests
+ $(meson_feature ieee1394 libffado)
+ $(meson_native_use_feature gstreamer)
+ $(meson_native_use_feature gstreamer gstreamer-device-provider)
+ $(meson_native_use_feature gsettings)
+ $(meson_native_use_feature systemd)
+
+ $(meson_native_use_feature system-service systemd-system-service)
+ -Dsystemd-system-unit-dir="$(systemd_get_systemunitdir)"
+ -Dsystemd-user-unit-dir="$(systemd_get_userunitdir)"
+
+ $(meson_native_use_feature systemd systemd-user-service)
+ $(meson_feature pipewire-alsa) # Allows integrating ALSA apps into PW graph
+ $(meson_feature selinux)
+ -Dspa-plugins=enabled
+ -Dalsa=enabled # Allows using kernel ALSA for sound I/O (NOTE: media-session is gone so IUSE=alsa/spa_alsa/alsa-backend might be possible)
+ -Dcompress-offload=disabled # TODO: tinycompress unpackaged
+ -Daudiomixer=enabled # Matches upstream
+ -Daudioconvert=enabled # Matches upstream
+ $(meson_native_use_feature bluetooth bluez5)
+ $(meson_native_use_feature bluetooth bluez5-backend-hsp-native)
+ $(meson_native_use_feature bluetooth bluez5-backend-hfp-native)
+ # https://gitlab.freedesktop.org/pipewire/pipewire/-/merge_requests/1379
+ $(meson_native_use_feature modemmanager bluez5-backend-native-mm)
+ $(meson_native_use_feature bluetooth bluez5-backend-ofono)
+ $(meson_native_use_feature bluetooth bluez5-backend-hsphfpd)
+ $(meson_native_use_feature bluetooth bluez5-codec-aac)
+ $(meson_native_use_feature bluetooth bluez5-codec-aptx)
+ $(meson_native_use_feature bluetooth bluez5-codec-ldac)
+ $(meson_native_use_feature bluetooth opus)
+ $(meson_native_use_feature bluetooth bluez5-codec-opus)
+ $(meson_native_use_feature bluetooth libusb) # At least for now only used by bluez5 native (quirk detection of adapters)
+ $(meson_native_use_feature echo-cancel echo-cancel-webrtc) #807889
+ -Dcontrol=enabled # Matches upstream
+ -Daudiotestsrc=enabled # Matches upstream
+ -Dffmpeg=disabled # Disabled by upstream and no major developments to spa/plugins/ffmpeg/ since May 2020
+ $(meson_native_use_feature ffmpeg pw-cat-ffmpeg)
+ $(meson_native_use_feature flatpak)
+ -Dpipewire-jack=enabled # Allows integrating JACK apps into PW graph
+ $(meson_native_use_feature jack-client jack) # Allows PW to act as a JACK client
+ $(meson_use jack-sdk jack-devel)
+ $(usex jack-sdk "-Dlibjack-path=${EPREFIX}/usr/$(get_libdir)" '')
+ -Dsupport=enabled # Miscellaneous/common plugins, such as null sink
+ -Devl=disabled # Matches upstream
+ -Dtest=disabled # fakesink and fakesource plugins
+ -Dbluez5-codec-lc3plus=disabled # unpackaged
+ $(meson_native_use_feature liblc3 bluez5-codec-lc3)
+ $(meson_native_use_feature lv2)
+ $(meson_native_use_feature v4l v4l2)
+ -Dlibcamera=disabled # libcamera is not in Portage tree
+ $(meson_native_use_feature roc)
+ $(meson_native_use_feature readline)
+ $(meson_native_use_feature ssl raop)
+ -Dvideoconvert=enabled # Matches upstream
+ -Dvideotestsrc=enabled # Matches upstream
+ -Dvolume=enabled # Matches upstream
+ -Dvulkan=disabled # Uses pre-compiled Vulkan compute shader to provide a CGI video source (dev thing; disabled by upstream)
+ $(meson_native_use_feature extra pw-cat)
+ -Dudev=enabled
+ -Dudevrulesdir="${EPREFIX}$(get_udevdir)/rules.d"
+ -Dsdl2=disabled # Controls SDL2 dependent code (currently only examples when -Dinstalled_tests=enabled which we never install)
+ -Dlibmysofa=disabled # libmysofa is unpackaged
+ $(meson_native_use_feature extra sndfile) # Enables libsndfile dependent code (currently only pw-cat)
+ -Dsession-managers="[]" # All available session managers are now their own projects, so there's nothing to build
+
+ # We still have <5.16 kernels packaged in Gentoo and 6.1 (LTS) only
+ # just became stable, with 5.15 being the previous LTS. Many people
+ # are still on it.
+ -Dpam-defaults-install=true
+
+ # Just for bell sounds in X11 right now.
+ $(meson_native_use_feature X x11)
+ $(meson_native_use_feature X x11-xfixes)
+ $(meson_native_use_feature X libcanberra)
+ )
+
+ meson_src_configure
+}
+
+multilib_src_test() {
+ meson_src_test --timeout-multiplier 10
+}
+
+multilib_src_install() {
+ # Our custom DOCS do not exist in multilib source directory
+ DOCS= meson_src_install
+}
+
+multilib_src_install_all() {
+ einstalldocs
+
+ if ! use man && [[ ${PIPEWIRE_DOCS_PREBUILT} == 1 ]] ; then
+ doman "${WORKDIR}"/${PN}-${PIPEWIRE_DOCS_VERSION}-docs/man/*/*.[0-8]
+ fi
+
+ if use pipewire-alsa; then
+ dodir /etc/alsa/conf.d
+
+ # Install pipewire conf loader hook
+ insinto /usr/share/alsa/alsa.conf.d
+ doins "${FILESDIR}"/99-pipewire-default-hook.conf
+ eprefixify "${ED}"/usr/share/alsa/alsa.conf.d/99-pipewire-default-hook.conf
+
+ # These will break if someone has /etc that is a symbolic link to a subfolder! See #724222
+ # And the current dosym8 -r implementation is likely affected by the same issue, too.
+ dosym ../../../usr/share/alsa/alsa.conf.d/50-pipewire.conf /etc/alsa/conf.d/50-pipewire.conf
+ dosym ../../../usr/share/alsa/alsa.conf.d/99-pipewire-default-hook.conf /etc/alsa/conf.d/99-pipewire-default-hook.conf
+ fi
+
+ # Enable required wireplumber alsa and bluez monitors
+ if use sound-server; then
+ # Install sound-server enabler for wireplumber 0.5.0+ conf syntax
+ insinto /etc/wireplumber/wireplumber.conf.d
+ doins "${FILESDIR}"/gentoo-sound-server-enable-audio-bluetooth.conf
+ fi
+
+ if use system-service; then
+ newtmpfiles - pipewire.conf <<-EOF || die
+ d /run/pipewire 0755 pipewire pipewire - -
+ EOF
+ fi
+
+ if ! use systemd; then
+ insinto /etc/xdg/autostart
+ newins "${FILESDIR}"/pipewire.desktop-r2 pipewire.desktop
+
+ exeinto /usr/bin
+ newexe "${FILESDIR}"/gentoo-pipewire-launcher.in-r3 gentoo-pipewire-launcher
+
+ doman "${FILESDIR}"/gentoo-pipewire-launcher.1
+
+ # Disable pipewire-pulse if sound-server is disabled.
+ if ! use sound-server ; then
+ sed -i -s '/pipewire -c pipewire-pulse.conf/s/^/#/' "${ED}"/usr/bin/gentoo-pipewire-launcher || die
+ fi
+
+ eprefixify "${ED}"/usr/bin/gentoo-pipewire-launcher
+ fi
+}
+
+pkg_postrm() {
+ udev_reload
+}
+
+pkg_preinst() {
+ HAD_SOUND_SERVER=0
+ HAD_SYSTEM_SERVICE=0
+
+ if has_version "media-video/pipewire[sound-server(-)]" ; then
+ HAD_SOUND_SERVER=1
+ fi
+
+ if has_version "media-video/pipewire[system-service(-)]" ; then
+ HAD_SYSTEM_SERVICE=1
+ fi
+}
+
+pkg_postinst() {
+ udev_reload
+
+ use system-service && tmpfiles_process pipewire.conf
+
+ local ver
+ for ver in ${REPLACING_VERSIONS} ; do
+ if has_version kde-plasma/kwin[screencast] || has_version x11-wm/mutter[screencast] ; then
+ # https://bugs.gentoo.org/908490
+ # https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/3243
+ ewarn "Please restart KWin/Mutter after upgrading PipeWire."
+ ewarn "Screencasting may not work until you do."
+ fi
+
+ if ver_test ${ver} -le 0.3.66-r1 ; then
+ elog ">=pipewire-0.3.66 uses the 'pipewire' group to manage permissions"
+ elog "and limits needed to function smoothly:"
+ elog
+ elog "1. Please make sure your user is in the 'pipewire' group for"
+ elog "the best experience with realtime scheduling (PAM limits behavior)!"
+ elog "You can add your account with:"
+ elog " usermod -aG pipewire <youruser>"
+ elog
+ elog "2. For the best experience with fast user switching, it is recommended"
+ elog "that you remove your user from the 'audio' group unless you rely on the"
+ elog "audio group for device access control or ACLs.:"
+ elog " usermod -rG audio <youruser>"
+ elog
+
+ if ! use jack-sdk ; then
+ elog
+ elog "JACK emulation is incomplete and not all programs will work. PipeWire's"
+ elog "alternative libraries have been installed to a non-default location."
+ elog "To use them, put pw-jack <application> before every JACK application."
+ elog "When using pw-jack, do not run jackd/jackdbus. However, a virtual/jack"
+ elog "provider is still needed to compile the JACK applications themselves."
+ elog
+ fi
+
+ if use systemd ; then
+ ewarn
+ ewarn "PipeWire daemon startup has been moved to a launcher script!"
+ ewarn "Make sure that ${EROOT}/etc/pipewire/pipewire.conf either does not exist or no"
+ ewarn "longer is set to start a session manager or PulseAudio compatibility daemon (all"
+ ewarn "lines similar to '{ path = /usr/bin/pipewire*' should be commented out)"
+ ewarn
+ ewarn "Those manually starting /usr/bin/pipewire via .xinitrc or similar _must_ from"
+ ewarn "now on start ${EROOT}/usr/bin/gentoo-pipewire-launcher instead! It is highly"
+ ewarn "advised that a D-Bus user session is set up before starting the script."
+ ewarn
+ fi
+
+ if use sound-server && ( has_version 'media-sound/pulseaudio[daemon]' || has_version 'media-sound/pulseaudio-daemon' ) ; then
+ elog
+ elog "This ebuild auto-enables PulseAudio replacement. Because of that, users"
+ elog "are recommended to edit pulseaudio client configuration files:"
+ elog "${EROOT}/etc/pulse/client.conf and ${EROOT}/etc/pulse/client.conf.d/enable-autospawn.conf"
+ elog "if it exists, and disable autospawning of the original daemon by setting:"
+ elog
+ elog " autospawn = no"
+ elog
+ elog "Please note that the semicolon (;) must _NOT_ be at the beginning of the line!"
+ elog
+ elog "Alternatively, if replacing PulseAudio daemon is not desired, edit"
+ elog "${EROOT}/usr/bin/gentoo-pipewire-launcher by commenting out the relevant"
+ elog "command:"
+ elog
+ elog "#${EROOT}/usr/bin/pipewire -c pipewire-pulse.conf &"
+ elog
+ fi
+
+ if has_version 'net-misc/ofono' ; then
+ ewarn "Native backend has become default. Please disable oFono via:"
+ if systemd_is_booted ; then
+ ewarn "systemctl disable ofono"
+ else
+ ewarn "rc-update delete ofono"
+ fi
+ fi
+ fi
+ done
+
+ if [[ ${HAD_SOUND_SERVER} -eq 0 || -z ${REPLACING_VERSIONS} ]] ; then
+ # TODO: We could drop most of this if we set up systemd presets?
+ # They're worth looking into because right now, the out-of-the-box experience
+ # is automatic on OpenRC, while it needs manual intervention on systemd.
+ if use sound-server && use systemd ; then
+ elog
+ elog "When switching from PulseAudio, you may need to disable PulseAudio:"
+ elog
+ elog " systemctl --user disable pulseaudio.service pulseaudio.socket"
+ elog
+ elog "To use PipeWire, the user units must be manually enabled"
+ elog "by running this command as each user you use for desktop activities:"
+ elog
+ elog " systemctl --user enable pipewire.socket pipewire-pulse.socket"
+ elog
+ elog "A reboot is recommended to avoid interferences from still running"
+ elog "PulseAudio daemon."
+ elog
+ elog "Both new users and those upgrading need to enable WirePlumber"
+ elog "for relevant users:"
+ elog
+ elog " systemctl --user disable pipewire-media-session.service"
+ elog " systemctl --user --force enable wireplumber.service"
+ elog
+ elog "Root user may replace --user with --global to change system default"
+ elog "configuration for all of the above commands."
+ elog
+ fi
+
+ if ! use sound-server ; then
+ ewarn
+ ewarn "USE=sound-server is disabled! If you want PipeWire to provide"
+ ewarn "your sound, please enable it. See the wiki at"
+ ewarn "https://wiki.gentoo.org/wiki/PipeWire#Replacing_PulseAudio"
+ ewarn "for more details."
+ ewarn
+ fi
+ fi
+
+ if use system-service && [[ ${HAD_SYSTEM_SERVICE} -eq 0 || -z ${REPLACING_VERSIONS} ]] ; then
+ ewarn
+ ewarn "You have enabled the system-service USE flag, which installs"
+ ewarn "the system-wide systemd units that enable PipeWire to run as a system"
+ ewarn "service. This is more than likely NOT what you want. You are strongly"
+ ewarn "advised not to enable this mode and instead stick with systemd user"
+ ewarn "units. The default configuration files will likely not work out of the"
+ ewarn "box, and you are on your own with configuration."
+ ewarn
+ fi
+
+ elog "For latest tips and tricks, troubleshooting information, and documentation"
+ elog "in general, please refer to https://wiki.gentoo.org/wiki/PipeWire"
+ elog
+
+ optfeature_header "The following can be installed for optional runtime features:"
+ optfeature "restricted realtime capabilities via D-Bus" sys-auth/rtkit
+
+ if use sound-server && ! use pipewire-alsa; then
+ optfeature "ALSA plugin to use PulseAudio interface for output" "media-plugins/alsa-plugins[pulseaudio]"
+ fi
+}
diff --git a/media-video/pipewire/pipewire-1.0.5.ebuild b/media-video/pipewire/pipewire-1.0.5.ebuild
new file mode 100644
index 000000000000..0115d177525b
--- /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-1.0.6.ebuild b/media-video/pipewire/pipewire-1.0.6.ebuild
new file mode 100644
index 000000000000..1373789d2b11
--- /dev/null
+++ b/media-video/pipewire/pipewire-1.0.6.ebuild
@@ -0,0 +1,502 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# 1. Please regularly check (even at the point of bumping) Fedora's packaging
+# for needed backports at https://src.fedoraproject.org/rpms/pipewire/tree/rawhide.
+#
+# 2. Upstream also sometimes amend release notes for the previous release to mention
+# needed patches, e.g. https://gitlab.freedesktop.org/pipewire/pipewire/-/tags/0.3.55#distros
+#
+# 3. Keep an eye on git master (for both PipeWire and WirePlumber) as things
+# continue to move quickly. It's not uncommon for fixes to be made shortly
+# after releases.
+
+# TODO: Maybe get upstream to produce `meson dist` tarballs:
+# - https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/3663
+# - https://gitlab.freedesktop.org/pipewire/pipewire/-/merge_requests/1788
+#
+# Generate using https://github.com/thesamesam/sam-gentoo-scripts/blob/main/niche/generate-pipewire-docs
+# Set to 1 if prebuilt, 0 if not
+# (the construct below is to allow overriding from env for script)
+: ${PIPEWIRE_DOCS_PREBUILT:=1}
+
+PIPEWIRE_DOCS_PREBUILT_DEV=sam
+PIPEWIRE_DOCS_VERSION=$(ver_cut 1-2).0
+# Default to generating docs (inc. man pages) if no prebuilt; overridden later
+PIPEWIRE_DOCS_USEFLAG="+man"
+PYTHON_COMPAT=( python3_{10..12} )
+inherit meson-multilib optfeature prefix python-any-r1 systemd tmpfiles udev
+
+if [[ ${PV} == 9999 ]]; then
+ PIPEWIRE_DOCS_PREBUILT=0
+ EGIT_REPO_URI="https://gitlab.freedesktop.org/${PN}/${PN}.git"
+ inherit git-r3
+else
+ if [[ ${PV} == *_p* ]] ; then
+ MY_COMMIT=""
+ SRC_URI="https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/${MY_COMMIT}/pipewire-${MY_COMMIT}.tar.bz2 -> ${P}.tar.bz2"
+ S="${WORKDIR}"/${PN}-${MY_COMMIT}
+ else
+ SRC_URI="https://gitlab.freedesktop.org/${PN}/${PN}/-/archive/${PV}/${P}.tar.bz2"
+ fi
+
+ if [[ ${PIPEWIRE_DOCS_PREBUILT} == 1 ]] ; then
+ SRC_URI+=" !man? ( https://dev.gentoo.org/~${PIPEWIRE_DOCS_PREBUILT_DEV}/distfiles/${CATEGORY}/${PN}/${PN}-${PIPEWIRE_DOCS_VERSION}-docs.tar.xz )"
+ PIPEWIRE_DOCS_USEFLAG="man"
+ fi
+
+ KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+fi
+
+DESCRIPTION="Multimedia processing graphs"
+HOMEPAGE="https://pipewire.org/"
+
+LICENSE="MIT LGPL-2.1+ GPL-2"
+# ABI was broken in 0.3.42 for https://gitlab.freedesktop.org/pipewire/wireplumber/-/issues/49
+SLOT="0/0.4"
+IUSE="${PIPEWIRE_DOCS_USEFLAG} bluetooth dbus doc echo-cancel extra ffmpeg flatpak gstreamer gsettings ieee1394 jack-client jack-sdk liblc3 lv2"
+IUSE+=" modemmanager pipewire-alsa readline roc selinux sound-server ssl system-service systemd test v4l X zeroconf"
+
+# Once replacing system JACK libraries is possible, it's likely that
+# jack-client IUSE will need blocking to avoid users accidentally
+# configuring their systems to send PW sink output to the emulated
+# JACK's sink - doing so is likely to yield no audio, cause a CPU
+# cycles consuming loop (and may even cause GUI crashes)!
+
+# - TODO: There should be "sound-server? ( || ( alsa bluetooth ) )" here, but ALSA is always enabled
+# - TODO: Pulseaudio alsa plugin performs runtime check that pulseaudio server connection will work
+# which provides adequate guarantee that alsa-lib will be able to provide audio services.
+# If that works, pulseaudio defaults are loaded into alsa-lib runtime replacing default PCM and CTL.
+# When pipewire-alsa will be able to perform similar check, pipewire-alsa can be enabled unconditionally.
+# - ffmpeg is only used for pw-cat. We don't build the spa plugin which receives barely any activity.
+REQUIRED_USE="
+ ffmpeg? ( extra )
+ bluetooth? ( dbus )
+ jack-sdk? ( !jack-client )
+ modemmanager? ( bluetooth )
+ system-service? ( systemd )
+ !sound-server? ( !pipewire-alsa )
+ jack-client? ( dbus )
+"
+
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ >=dev-build/meson-0.59
+ virtual/pkgconfig
+ dbus? ( dev-util/gdbus-codegen )
+ doc? (
+ ${PYTHON_DEPS}
+ >=app-text/doxygen-1.9.8
+ media-gfx/graphviz
+ )
+ man? (
+ ${PYTHON_DEPS}
+ >=app-text/doxygen-1.9.8
+ )
+"
+# * While udev could technically be optional, it's needed for a number of options,
+# and not really worth it, bug #877769.
+#
+# * Supports both legacy webrtc-audio-processing:0 and new webrtc-audio-processing:1.
+# We depend on :1 as it prefers that, it's not legacy, and to avoid automagic.
+#
+# * Older Doxygen (<1.9.8) may work but inferior output is created:
+# - https://gitlab.freedesktop.org/pipewire/pipewire/-/merge_requests/1778
+# - https://github.com/doxygen/doxygen/issues/9254
+RDEPEND="
+ acct-group/audio
+ acct-group/pipewire
+ media-libs/alsa-lib[${MULTILIB_USEDEP}]
+ sys-libs/ncurses:=[unicode(+)]
+ virtual/libintl[${MULTILIB_USEDEP}]
+ virtual/libudev[${MULTILIB_USEDEP}]
+ bluetooth? (
+ dev-libs/glib
+ media-libs/fdk-aac
+ media-libs/libldac
+ media-libs/libfreeaptx
+ media-libs/opus
+ media-libs/sbc
+ >=net-wireless/bluez-4.101:=
+ virtual/libusb:1
+ )
+ dbus? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
+ echo-cancel? ( media-libs/webrtc-audio-processing:1 )
+ extra? ( >=media-libs/libsndfile-1.0.20 )
+ ffmpeg? ( media-video/ffmpeg:= )
+ flatpak? ( dev-libs/glib )
+ gstreamer? (
+ >=dev-libs/glib-2.32.0:2
+ >=media-libs/gstreamer-1.10.0:1.0
+ media-libs/gst-plugins-base:1.0
+ )
+ gsettings? ( >=dev-libs/glib-2.26.0:2 )
+ ieee1394? ( media-libs/libffado[${MULTILIB_USEDEP}] )
+ jack-client? ( >=media-sound/jack2-1.9.10:2[dbus] )
+ jack-sdk? (
+ !media-sound/jack-audio-connection-kit
+ !media-sound/jack2
+ )
+ liblc3? ( media-sound/liblc3 )
+ lv2? ( media-libs/lilv )
+ modemmanager? ( >=net-misc/modemmanager-1.10.0 )
+ pipewire-alsa? ( >=media-libs/alsa-lib-1.1.7[${MULTILIB_USEDEP}] )
+ sound-server? ( !media-sound/pulseaudio-daemon )
+ roc? ( >=media-libs/roc-toolkit-0.3.0:= )
+ readline? ( sys-libs/readline:= )
+ selinux? ( sys-libs/libselinux )
+ ssl? ( dev-libs/openssl:= )
+ systemd? ( sys-apps/systemd )
+ system-service? ( acct-user/pipewire )
+ v4l? ( media-libs/libv4l )
+ X? (
+ media-libs/libcanberra
+ x11-libs/libX11
+ x11-libs/libXfixes
+ )
+ zeroconf? ( net-dns/avahi )
+"
+
+DEPEND="${RDEPEND}"
+
+PDEPEND=">=media-video/wireplumber-0.5.2"
+
+# Present RDEPEND that are currently always disabled due to the PW
+# code using them being required to be disabled by Gentoo guidelines
+# (i.e. developer binaries not meant for users) and unready code
+# media-libs/libsdl2
+# >=media-libs/vulkan-loader-1.1.69
+#
+# Ditto for DEPEND
+# >=dev-util/vulkan-headers-1.1.69
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch
+)
+
+pkg_setup() {
+ if use doc || use man ; then
+ python-any-r1_pkg_setup
+ fi
+}
+
+src_prepare() {
+ default
+
+ # Used for upstream backports
+ [[ -d "${FILESDIR}"/${PV} ]] && eapply "${FILESDIR}"/${PV}
+}
+
+multilib_src_configure() {
+ local emesonargs=(
+ -Ddocdir="${EPREFIX}"/usr/share/doc/${PF}
+
+ $(meson_feature dbus)
+ $(meson_native_use_feature zeroconf avahi)
+ $(meson_native_use_feature doc docs)
+ $(meson_native_use_feature man)
+ $(meson_native_enabled examples) # TODO: Figure out if this is still important now that media-session gone
+ $(meson_feature test tests)
+ -Dinstalled_tests=disabled # Matches upstream; Gentoo never installs tests
+ $(meson_feature ieee1394 libffado)
+ $(meson_native_use_feature gstreamer)
+ $(meson_native_use_feature gstreamer gstreamer-device-provider)
+ $(meson_native_use_feature gsettings)
+ $(meson_native_use_feature systemd)
+
+ $(meson_native_use_feature system-service systemd-system-service)
+ -Dsystemd-system-unit-dir="$(systemd_get_systemunitdir)"
+ -Dsystemd-user-unit-dir="$(systemd_get_userunitdir)"
+
+ $(meson_native_use_feature systemd systemd-user-service)
+ $(meson_feature pipewire-alsa) # Allows integrating ALSA apps into PW graph
+ $(meson_feature selinux)
+ -Dspa-plugins=enabled
+ -Dalsa=enabled # Allows using kernel ALSA for sound I/O (NOTE: media-session is gone so IUSE=alsa/spa_alsa/alsa-backend might be possible)
+ -Dcompress-offload=disabled # TODO: tinycompress unpackaged
+ -Daudiomixer=enabled # Matches upstream
+ -Daudioconvert=enabled # Matches upstream
+ $(meson_native_use_feature bluetooth bluez5)
+ $(meson_native_use_feature bluetooth bluez5-backend-hsp-native)
+ $(meson_native_use_feature bluetooth bluez5-backend-hfp-native)
+ # https://gitlab.freedesktop.org/pipewire/pipewire/-/merge_requests/1379
+ $(meson_native_use_feature modemmanager bluez5-backend-native-mm)
+ $(meson_native_use_feature bluetooth bluez5-backend-ofono)
+ $(meson_native_use_feature bluetooth bluez5-backend-hsphfpd)
+ $(meson_native_use_feature bluetooth bluez5-codec-aac)
+ $(meson_native_use_feature bluetooth bluez5-codec-aptx)
+ $(meson_native_use_feature bluetooth bluez5-codec-ldac)
+ $(meson_native_use_feature bluetooth opus)
+ $(meson_native_use_feature bluetooth bluez5-codec-opus)
+ $(meson_native_use_feature bluetooth libusb) # At least for now only used by bluez5 native (quirk detection of adapters)
+ $(meson_native_use_feature echo-cancel echo-cancel-webrtc) #807889
+ -Dcontrol=enabled # Matches upstream
+ -Daudiotestsrc=enabled # Matches upstream
+ -Dffmpeg=disabled # Disabled by upstream and no major developments to spa/plugins/ffmpeg/ since May 2020
+ $(meson_native_use_feature ffmpeg pw-cat-ffmpeg)
+ $(meson_native_use_feature flatpak)
+ -Dpipewire-jack=enabled # Allows integrating JACK apps into PW graph
+ $(meson_native_use_feature jack-client jack) # Allows PW to act as a JACK client
+ $(meson_use jack-sdk jack-devel)
+ $(usex jack-sdk "-Dlibjack-path=${EPREFIX}/usr/$(get_libdir)" '')
+ -Dsupport=enabled # Miscellaneous/common plugins, such as null sink
+ -Devl=disabled # Matches upstream
+ -Dtest=disabled # fakesink and fakesource plugins
+ -Dbluez5-codec-lc3plus=disabled # unpackaged
+ $(meson_native_use_feature liblc3 bluez5-codec-lc3)
+ $(meson_native_use_feature lv2)
+ $(meson_native_use_feature v4l v4l2)
+ -Dlibcamera=disabled # libcamera is not in Portage tree
+ $(meson_native_use_feature roc)
+ $(meson_native_use_feature readline)
+ $(meson_native_use_feature ssl raop)
+ -Dvideoconvert=enabled # Matches upstream
+ -Dvideotestsrc=enabled # Matches upstream
+ -Dvolume=enabled # Matches upstream
+ -Dvulkan=disabled # Uses pre-compiled Vulkan compute shader to provide a CGI video source (dev thing; disabled by upstream)
+ $(meson_native_use_feature extra pw-cat)
+ -Dudev=enabled
+ -Dudevrulesdir="${EPREFIX}$(get_udevdir)/rules.d"
+ -Dsdl2=disabled # Controls SDL2 dependent code (currently only examples when -Dinstalled_tests=enabled which we never install)
+ -Dlibmysofa=disabled # libmysofa is unpackaged
+ $(meson_native_use_feature extra sndfile) # Enables libsndfile dependent code (currently only pw-cat)
+ -Dsession-managers="[]" # All available session managers are now their own projects, so there's nothing to build
+
+ # We still have <5.16 kernels packaged in Gentoo and 6.1 (LTS) only
+ # just became stable, with 5.15 being the previous LTS. Many people
+ # are still on it.
+ -Dpam-defaults-install=true
+
+ # Just for bell sounds in X11 right now.
+ $(meson_native_use_feature X x11)
+ $(meson_native_use_feature X x11-xfixes)
+ $(meson_native_use_feature X libcanberra)
+ )
+
+ meson_src_configure
+}
+
+multilib_src_test() {
+ meson_src_test --timeout-multiplier 10
+}
+
+multilib_src_install() {
+ # Our custom DOCS do not exist in multilib source directory
+ DOCS= meson_src_install
+}
+
+multilib_src_install_all() {
+ einstalldocs
+
+ if ! use man && [[ ${PIPEWIRE_DOCS_PREBUILT} == 1 ]] ; then
+ doman "${WORKDIR}"/${PN}-${PIPEWIRE_DOCS_VERSION}-docs/man/*/*.[0-8]
+ fi
+
+ if use pipewire-alsa; then
+ dodir /etc/alsa/conf.d
+
+ # Install pipewire conf loader hook
+ insinto /usr/share/alsa/alsa.conf.d
+ doins "${FILESDIR}"/99-pipewire-default-hook.conf
+ eprefixify "${ED}"/usr/share/alsa/alsa.conf.d/99-pipewire-default-hook.conf
+
+ # These will break if someone has /etc that is a symbolic link to a subfolder! See #724222
+ # And the current dosym8 -r implementation is likely affected by the same issue, too.
+ dosym ../../../usr/share/alsa/alsa.conf.d/50-pipewire.conf /etc/alsa/conf.d/50-pipewire.conf
+ dosym ../../../usr/share/alsa/alsa.conf.d/99-pipewire-default-hook.conf /etc/alsa/conf.d/99-pipewire-default-hook.conf
+ fi
+
+ # Enable required wireplumber alsa and bluez monitors
+ if use sound-server; then
+ # Install sound-server enabler for wireplumber 0.5.0+ conf syntax
+ insinto /etc/wireplumber/wireplumber.conf.d
+ doins "${FILESDIR}"/gentoo-sound-server-enable-audio-bluetooth.conf
+ fi
+
+ if use system-service; then
+ newtmpfiles - pipewire.conf <<-EOF || die
+ d /run/pipewire 0755 pipewire pipewire - -
+ EOF
+ fi
+
+ if ! use systemd; then
+ insinto /etc/xdg/autostart
+ newins "${FILESDIR}"/pipewire.desktop-r2 pipewire.desktop
+
+ exeinto /usr/bin
+ newexe "${FILESDIR}"/gentoo-pipewire-launcher.in-r3 gentoo-pipewire-launcher
+
+ doman "${FILESDIR}"/gentoo-pipewire-launcher.1
+
+ # Disable pipewire-pulse if sound-server is disabled.
+ if ! use sound-server ; then
+ sed -i -s '/pipewire -c pipewire-pulse.conf/s/^/#/' "${ED}"/usr/bin/gentoo-pipewire-launcher || die
+ fi
+
+ eprefixify "${ED}"/usr/bin/gentoo-pipewire-launcher
+ fi
+}
+
+pkg_postrm() {
+ udev_reload
+}
+
+pkg_preinst() {
+ HAD_SOUND_SERVER=0
+ HAD_SYSTEM_SERVICE=0
+
+ if has_version "media-video/pipewire[sound-server(-)]" ; then
+ HAD_SOUND_SERVER=1
+ fi
+
+ if has_version "media-video/pipewire[system-service(-)]" ; then
+ HAD_SYSTEM_SERVICE=1
+ fi
+}
+
+pkg_postinst() {
+ udev_reload
+
+ use system-service && tmpfiles_process pipewire.conf
+
+ local ver
+ for ver in ${REPLACING_VERSIONS} ; do
+ if has_version kde-plasma/kwin[screencast] || has_version x11-wm/mutter[screencast] ; then
+ # https://bugs.gentoo.org/908490
+ # https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/3243
+ ewarn "Please restart KWin/Mutter after upgrading PipeWire."
+ ewarn "Screencasting may not work until you do."
+ fi
+
+ if ver_test ${ver} -le 0.3.66-r1 ; then
+ elog ">=pipewire-0.3.66 uses the 'pipewire' group to manage permissions"
+ elog "and limits needed to function smoothly:"
+ elog
+ elog "1. Please make sure your user is in the 'pipewire' group for"
+ elog "the best experience with realtime scheduling (PAM limits behavior)!"
+ elog "You can add your account with:"
+ elog " usermod -aG pipewire <youruser>"
+ elog
+ elog "2. For the best experience with fast user switching, it is recommended"
+ elog "that you remove your user from the 'audio' group unless you rely on the"
+ elog "audio group for device access control or ACLs.:"
+ elog " usermod -rG audio <youruser>"
+ elog
+
+ if ! use jack-sdk ; then
+ elog
+ elog "JACK emulation is incomplete and not all programs will work. PipeWire's"
+ elog "alternative libraries have been installed to a non-default location."
+ elog "To use them, put pw-jack <application> before every JACK application."
+ elog "When using pw-jack, do not run jackd/jackdbus. However, a virtual/jack"
+ elog "provider is still needed to compile the JACK applications themselves."
+ elog
+ fi
+
+ if use systemd ; then
+ ewarn
+ ewarn "PipeWire daemon startup has been moved to a launcher script!"
+ ewarn "Make sure that ${EROOT}/etc/pipewire/pipewire.conf either does not exist or no"
+ ewarn "longer is set to start a session manager or PulseAudio compatibility daemon (all"
+ ewarn "lines similar to '{ path = /usr/bin/pipewire*' should be commented out)"
+ ewarn
+ ewarn "Those manually starting /usr/bin/pipewire via .xinitrc or similar _must_ from"
+ ewarn "now on start ${EROOT}/usr/bin/gentoo-pipewire-launcher instead! It is highly"
+ ewarn "advised that a D-Bus user session is set up before starting the script."
+ ewarn
+ fi
+
+ if use sound-server && ( has_version 'media-sound/pulseaudio[daemon]' || has_version 'media-sound/pulseaudio-daemon' ) ; then
+ elog
+ elog "This ebuild auto-enables PulseAudio replacement. Because of that, users"
+ elog "are recommended to edit pulseaudio client configuration files:"
+ elog "${EROOT}/etc/pulse/client.conf and ${EROOT}/etc/pulse/client.conf.d/enable-autospawn.conf"
+ elog "if it exists, and disable autospawning of the original daemon by setting:"
+ elog
+ elog " autospawn = no"
+ elog
+ elog "Please note that the semicolon (;) must _NOT_ be at the beginning of the line!"
+ elog
+ elog "Alternatively, if replacing PulseAudio daemon is not desired, edit"
+ elog "${EROOT}/usr/bin/gentoo-pipewire-launcher by commenting out the relevant"
+ elog "command:"
+ elog
+ elog "#${EROOT}/usr/bin/pipewire -c pipewire-pulse.conf &"
+ elog
+ fi
+
+ if has_version 'net-misc/ofono' ; then
+ ewarn "Native backend has become default. Please disable oFono via:"
+ if systemd_is_booted ; then
+ ewarn "systemctl disable ofono"
+ else
+ ewarn "rc-update delete ofono"
+ fi
+ fi
+ fi
+ done
+
+ if [[ ${HAD_SOUND_SERVER} -eq 0 || -z ${REPLACING_VERSIONS} ]] ; then
+ # TODO: We could drop most of this if we set up systemd presets?
+ # They're worth looking into because right now, the out-of-the-box experience
+ # is automatic on OpenRC, while it needs manual intervention on systemd.
+ if use sound-server && use systemd ; then
+ elog
+ elog "When switching from PulseAudio, you may need to disable PulseAudio:"
+ elog
+ elog " systemctl --user disable pulseaudio.service pulseaudio.socket"
+ elog
+ elog "To use PipeWire, the user units must be manually enabled"
+ elog "by running this command as each user you use for desktop activities:"
+ elog
+ elog " systemctl --user enable pipewire.socket pipewire-pulse.socket"
+ elog
+ elog "A reboot is recommended to avoid interferences from still running"
+ elog "PulseAudio daemon."
+ elog
+ elog "Both new users and those upgrading need to enable WirePlumber"
+ elog "for relevant users:"
+ elog
+ elog " systemctl --user disable pipewire-media-session.service"
+ elog " systemctl --user --force enable wireplumber.service"
+ elog
+ elog "Root user may replace --user with --global to change system default"
+ elog "configuration for all of the above commands."
+ elog
+ fi
+
+ if ! use sound-server ; then
+ ewarn
+ ewarn "USE=sound-server is disabled! If you want PipeWire to provide"
+ ewarn "your sound, please enable it. See the wiki at"
+ ewarn "https://wiki.gentoo.org/wiki/PipeWire#Replacing_PulseAudio"
+ ewarn "for more details."
+ ewarn
+ fi
+ fi
+
+ if use system-service && [[ ${HAD_SYSTEM_SERVICE} -eq 0 || -z ${REPLACING_VERSIONS} ]] ; then
+ ewarn
+ ewarn "You have enabled the system-service USE flag, which installs"
+ ewarn "the system-wide systemd units that enable PipeWire to run as a system"
+ ewarn "service. This is more than likely NOT what you want. You are strongly"
+ ewarn "advised not to enable this mode and instead stick with systemd user"
+ ewarn "units. The default configuration files will likely not work out of the"
+ ewarn "box, and you are on your own with configuration."
+ ewarn
+ fi
+
+ elog "For latest tips and tricks, troubleshooting information, and documentation"
+ elog "in general, please refer to https://wiki.gentoo.org/wiki/PipeWire"
+ elog
+
+ optfeature_header "The following can be installed for optional runtime features:"
+ optfeature "restricted realtime capabilities via D-Bus" sys-auth/rtkit
+
+ if use sound-server && ! use pipewire-alsa; then
+ optfeature "ALSA plugin to use PulseAudio interface for output" "media-plugins/alsa-plugins[pulseaudio]"
+ fi
+}
diff --git a/media-video/pipewire/pipewire-9999.ebuild b/media-video/pipewire/pipewire-9999.ebuild
index b6c000cf8a53..0e1cb10820aa 100644
--- a/media-video/pipewire/pipewire-9999.ebuild
+++ b/media-video/pipewire/pipewire-9999.ebuild
@@ -1,26 +1,63 @@
-# 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
-PYTHON_COMPAT=( python3_{8..10} )
+# 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.
-inherit meson-multilib optfeature 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="${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
- SRC_URI="https://gitlab.freedesktop.org/${PN}/${PN}/-/archive/${PV}/${P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
+ 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"
-SLOT="0/0.3"
-IUSE="bluetooth doc echo-cancel extra gstreamer jack-client jack-sdk pipewire-alsa systemd test v4l"
+# 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
@@ -28,137 +65,179 @@ IUSE="bluetooth doc echo-cancel extra gstreamer jack-client jack-sdk pipewire-al
# JACK's sink - doing so is likely to yield no audio, cause a CPU
# cycles consuming loop (and may even cause GUI crashes)!
-REQUIRED_USE="jack-sdk? ( !jack-client )"
+# - 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="
- app-doc/xmltoman
- >=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
- sys-apps/dbus[${MULTILIB_USEDEP}]
- sys-libs/readline:=
+ 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
)
- echo-cancel? ( media-libs/webrtc-audio-processing:0 )
- extra? (
- >=media-libs/libsndfile-1.0.20
- )
+ 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
)
- pipewire-alsa? (
- >=media-libs/alsa-lib-1.1.7[${MULTILIB_USEDEP}]
- !media-plugins/alsa-plugins[${MULTILIB_USEDEP},pulseaudio]
- )
- !pipewire-alsa? ( media-plugins/alsa-plugins[${MULTILIB_USEDEP},pulseaudio] )
+ liblc3? ( media-sound/liblc3 )
+ lv2? ( media-libs/lilv )
+ modemmanager? ( >=net-misc/modemmanager-1.10.0 )
+ pipewire-alsa? ( >=media-libs/alsa-lib-1.1.7[${MULTILIB_USEDEP}] )
+ sound-server? ( !media-sound/pulseaudio-daemon )
+ roc? ( >=media-libs/roc-toolkit-0.3.0:= )
+ readline? ( sys-libs/readline:= )
+ selinux? ( sys-libs/libselinux )
+ ssl? ( dev-libs/openssl:= )
systemd? ( sys-apps/systemd )
+ system-service? ( acct-user/pipewire )
v4l? ( media-libs/libv4l )
+ X? (
+ media-libs/libcanberra
+ x11-libs/libX11
+ x11-libs/libXfixes
+ )
+ zeroconf? ( net-dns/avahi )
"
DEPEND="${RDEPEND}"
+PDEPEND=">=media-video/wireplumber-0.5.2"
+
# Present RDEPEND that are currently always disabled due to the PW
# code using them being required to be disabled by Gentoo guidelines
# (i.e. developer binaries not meant for users) and unready code
-# media-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() {
- has_version -b "dev-python/docutils[${PYTHON_USEDEP}]"
+pkg_setup() {
+ if use doc || use man ; then
+ python-any-r1_pkg_setup
+ fi
}
src_prepare() {
default
- if ! use systemd; then
- # This can be applied non-conditionally but would make for a
- # significantly worse user experience on systemd then.
- eapply "${FILESDIR}"/${PN}-0.3.36-non-systemd-integration.patch
- fi
-
- einfo "Generating ${limitsdfile}"
- cat > ${limitsdfile} <<- EOF || die
- # Start of ${limitsdfile} from ${P}
-
- @audio - memlock 256
-
- # End of ${limitsdfile} from ${P}
- EOF
+ # 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_enabled examples) # Disabling this implicitly disables -Dmedia-session
- # Replaced upstream by -Dsession-managers=..., needs more work, bug #812809
- # but default is same as before and right now, this is fatal with unreleased Meson.
- #$(meson_native_enabled media-session)
- $(meson_native_enabled man)
+ $(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)
- -Dsystemd-system-service=disabled # Matches upstream
+
+ $(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 (-Dmedia-session depends on this)
+ -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)
@@ -166,8 +245,14 @@ 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
-Dvideotestsrc=enabled # Matches upstream
-Dvolume=enabled # Matches upstream
@@ -176,111 +261,242 @@ 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)
+ $(meson_native_use_feature X libcanberra)
)
meson_src_configure
}
+multilib_src_test() {
+ meson_src_test --timeout-multiplier 10
+}
+
multilib_src_install() {
- # Our customs DOCS do not exist in multilib source directory
+ # 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 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
- # These will break if someone has /etc that is a symbol link to a subfolder! See #724222
+
+ # 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.conf /etc/alsa/conf.d/99-pipewire-default.conf
+ dosym ../../../usr/share/alsa/alsa.conf.d/99-pipewire-default-hook.conf /etc/alsa/conf.d/99-pipewire-default-hook.conf
+ fi
+
+ # Enable required wireplumber alsa and bluez monitors
+ if use sound-server; then
+ # Install sound-server enabler for wireplumber 0.5.0+ conf syntax
+ insinto /etc/wireplumber/wireplumber.conf.d
+ doins "${FILESDIR}"/gentoo-sound-server-enable-audio-bluetooth.conf
+ fi
+
+ if use system-service; then
+ newtmpfiles - pipewire.conf <<-EOF || die
+ d /run/pipewire 0755 pipewire pipewire - -
+ EOF
fi
if ! use systemd; then
insinto /etc/xdg/autostart
- newins "${FILESDIR}"/pipewire.desktop pipewire.desktop
+ 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
- exeinto /usr/libexec
- newexe "${FILESDIR}"/pipewire-launcher.sh pipewire-launcher
+ 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() {
- 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
+ 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 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
+ 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 systemd; then
- elog "To use PipeWire for audio, 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 --now pipewire.socket pipewire-pulse.socket"
- elog
- elog "When switching from PulseAudio, do not forget to disable PulseAudio likewise:"
- elog
- elog " systemctl --user disable --now pulseaudio.service pulseaudio.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 pipewire-media-session"
- elog "for relevant users:"
- elog
- elog " systemctl --user enable --now pipewire-media-session.service"
- elog
- else
- elog "This ebuild auto-enables PulseAudio replacement. Because of that, users"
- elog "are recommended to edit: ${EROOT}/etc/pulse/client.conf and disable"
- elog "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}/etc/pipewire/pipewire.conf by commenting out the relevant"
- elog "command near the end of the file:"
- elog
- elog "#\"/usr/bin/pipewire\" = { args = \"-c pipewire-pulse.conf\" }"
- elog
- 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."
+ 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 "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 has_version 'net-misc/ofono' ; then
- ewarn "Native backend has become default. Please disable oFono via:"
- if systemd_is_booted ; then
- ewarn "systemctl disable --now ofono"
- else
- ewarn "rc-update delete ofono"
- fi
- ewarn
+ 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 4c40a41dfd05..51b2a1bfe3c9 100644
--- a/media-video/pitivi/Manifest
+++ b/media-video/pitivi/Manifest
@@ -1 +1 @@
-DIST pitivi-0.999.tar.xz 12296928 BLAKE2B 16736fef4f2d16c02b64f8eba56f8c9ddb26f49742ee577da4e4c47077f8d5d71ce653dba366a041ba523153532728c5eb37cb2b76e11e9c51827efb990bd99d SHA512 663db84a00634f0e83f0c1dd80a4f3a6603a50826905adb24fdd567c6e8bb58e20de04c7753fa04a36692cdcf5bbbcc9a87327fd3b56ebb70caffcff13835fc8
+DIST pitivi-2023.03.tar.xz 11347576 BLAKE2B ff9ff391d2739a4b1617ab010defd63b39f575901297fae427a797cfcffefb58c33a86642fa4d364d681805697d1c31b91fbafa1e810ec9a65030d7f7575f274 SHA512 505c011bb375fcce250a46c958ef06d050f83e73fa41a66f8ba3be6a41332a4a05838b8245233f481146edae9af924b618901b7ed0600f642ebe550c151f52b0
diff --git a/media-video/pitivi/files/pitivi-0.999-metainfo.patch b/media-video/pitivi/files/pitivi-0.999-metainfo.patch
deleted file mode 100644
index 830a246e60dd..000000000000
--- a/media-video/pitivi/files/pitivi-0.999-metainfo.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --unified --new-file --recursive --show-c-function '--color=auto' pitivi-0.999/data/meson.build pitivi-0.999-fix/data/meson.build
---- pitivi-0.999/data/meson.build 2018-08-29 16:05:21.000000000 +0200
-+++ pitivi-0.999-fix/data/meson.build 2021-04-18 09:10:56.067231216 +0200
-@@ -18,7 +18,7 @@ custom_target('org.pitivi.Pitivi.appdata
- input : 'org.pitivi.Pitivi.appdata.xml.in',
- command : [intltool_merge, '--xml-style', podir, '@INPUT@', '@OUTPUT@'],
- install : true,
-- install_dir : join_paths(get_option('datadir'), 'appdata'))
-+ install_dir : join_paths(get_option('datadir'), 'metainfo'))
-
- install_data('org.pitivi.Pitivi-mime.xml',
- install_dir : join_paths(get_option('datadir'), 'mime/packages'))
diff --git a/media-video/pitivi/files/pitivi-0.999-optional-tests.patch b/media-video/pitivi/files/pitivi-0.999-optional-tests.patch
deleted file mode 100644
index 50a62188f8e3..000000000000
--- a/media-video/pitivi/files/pitivi-0.999-optional-tests.patch
+++ /dev/null
@@ -1,18 +0,0 @@
---- a/meson_options.txt~ 2018-08-29 15:33:20.000000000 +0200
-+++ b/meson_options.txt 2019-03-31 13:14:19.542837289 +0200
-@@ -1,2 +1,3 @@
- option('disable-help', type : 'boolean', value : false)
- option('build-gst', type : 'boolean', value : false)
-+option('enable-tests', type : 'boolean', value : false)
---- a/meson.build~ 2018-08-29 15:33:20.000000000 +0200
-+++ b/meson.build 2019-03-31 13:14:56.299216758 +0200
-@@ -84,5 +84,7 @@
- if not get_option('disable-help')
- subdir('help')
- endif
--subdir('tests')
--subdir('tests/validate-tests')
-+if get_option('enable-tests')
-+ subdir('tests')
-+ subdir('tests/validate-tests')
-+endif
diff --git a/media-video/pitivi/files/pitivi-0.999-python38.patch b/media-video/pitivi/files/pitivi-0.999-python38.patch
deleted file mode 100644
index 3c240d949112..000000000000
--- a/media-video/pitivi/files/pitivi-0.999-python38.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From 3c2c03828efb986e66ba2a35e341127e8161c799 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Alexandru=20B=C4=83lu=C8=9B?= <alexandru.balut@gmail.com>
-Date: Tue, 28 Jan 2020 22:34:40 +0100
-Subject: [PATCH] meson: Support Python 3.8
-
-To link to Python we need to use python-3.8-embed.
----
- meson.build | 13 ++++++++++---
- meson_options.txt | 3 ++-
- 2 files changed, 12 insertions(+), 4 deletions(-)
-
-diff --git a/meson.build b/meson.build
-index 17a7312d..289e0086 100644
---- a/meson.build
-+++ b/meson.build
-@@ -1,11 +1,18 @@
--project('pitivi', 'c', version : '0.999', meson_version : '>= 0.41.0')
-+project('pitivi', 'c', version : '0.999', meson_version : '>= 0.46.0')
-
--python = find_program('python3')
- intltool_merge = find_program('intltool-merge')
- itstool = find_program('itstool')
- msgfmt = find_program('msgfmt')
-
--python_dep = dependency('python3', version : '>= 3.3')
-+pymod = import('python')
-+python = pymod.find_installation(get_option('python'))
-+pythonver = python.language_version()
-+# Workaround for https://github.com/mesonbuild/meson/issues/5629
-+# https://gitlab.freedesktop.org/gstreamer/gst-python/issues/28
-+python_dep = dependency('python-@0@-embed'.format(pythonver), version: '>= 3.3', required: false)
-+if not python_dep.found()
-+ python_dep = python.dependency('python3', version: '>= 3.3')
-+endif
-
- if get_option('build-gst')
- subproject('gst-build', default_options: ['enable_python=true',
-diff --git a/meson_options.txt b/meson_options.txt
-index c6590dd1..7d6bad29 100644
---- a/meson_options.txt
-+++ b/meson_options.txt
-@@ -1,2 +1,3 @@
--option('disable-help', type : 'boolean', value : false)
- option('build-gst', type : 'boolean', value : false)
-+option('disable-help', type : 'boolean', value : false)
-+option('python', type : 'string', value : 'python3')
---
-2.26.2
-
diff --git a/media-video/pitivi/metadata.xml b/media-video/pitivi/metadata.xml
index 569d72f5ffb2..f4373cbae92a 100644
--- a/media-video/pitivi/metadata.xml
+++ b/media-video/pitivi/metadata.xml
@@ -1,12 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>gnome@gentoo.org</email>
- <name>Gentoo GNOME Desktop</name>
- </maintainer>
-<maintainer type="project">
- <email>gstreamer@gentoo.org</email>
- <name>GStreamer package maintainers</name>
- </maintainer>
+ <maintainer type="project">
+ <email>gnome@gentoo.org</email>
+ <name>Gentoo GNOME Desktop</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>gstreamer@gentoo.org</email>
+ <name>GStreamer package maintainers</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="gnome-gitlab">GNOME/pitivi</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/media-video/pitivi/pitivi-0.999-r4.ebuild b/media-video/pitivi/pitivi-2023.03-r2.ebuild
index 111b1146a2ea..fdabc77d5fb2 100644
--- a/media-video/pitivi/pitivi-0.999-r4.ebuild
+++ b/media-video/pitivi/pitivi-2023.03-r2.ebuild
@@ -1,28 +1,25 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
-PYTHON_COMPAT=( python3_{8..9} )
+EAPI=8
+PYTHON_COMPAT=( python3_{9..11} )
PYTHON_REQ_USE="sqlite"
-inherit gnome.org meson python-single-r1 virtualx xdg
+inherit gnome.org meson python-single-r1 xdg
DESCRIPTION="A non-linear video editor using the GStreamer multimedia framework"
-HOMEPAGE="http://www.pitivi.org"
+HOMEPAGE="https://www.pitivi.org"
LICENSE="LGPL-2.1"
SLOT="0"
KEYWORDS="amd64 x86"
-IUSE="v4l test"
-RESTRICT="!test? ( test )"
+IUSE=""
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-# XXX: recommends gst-plugins-libav and frei0r-plugins
-
# Do not forget to check pitivi/check.py for dependencies!!!
-# pycanberra, libav, libnotify and liwnck are optional
-GST_VER="1.14.2"
+# gsound, libav, libnotify and v4l are optional
+GST_VER="1.18.4"
COMMON_DEPEND="
${PYTHON_DEPS}
@@ -32,25 +29,24 @@ COMMON_DEPEND="
>=x11-libs/cairo-1.10
>=media-libs/gstreamer-${GST_VER}:1.0[introspection]
- || (
- >media-libs/gst-plugins-bad-1.18
- >=media-plugins/gst-transcoder-1.14.1
- )
"
RDEPEND="${COMMON_DEPEND}
>=dev-libs/glib-2.30.0:2
>=dev-libs/gobject-introspection-1.34:=
+
+ dev-libs/libpeas:0[${PYTHON_SINGLE_USEDEP}]
+
$(python_gen_cond_dep '
dev-python/dbus-python[${PYTHON_USEDEP}]
>=dev-python/gst-python-1.4:1.0[${PYTHON_USEDEP}]
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:=
- >=media-libs/gsound-1.0
>=media-libs/gstreamer-editing-services-${GST_VER}:1.0[introspection]
>=media-libs/gst-plugins-base-${GST_VER}:1.0[introspection,theora]
@@ -63,41 +59,19 @@ RDEPEND="${COMMON_DEPEND}
>=x11-libs/libnotify-0.7[introspection]
x11-libs/libwnck:3[introspection]
>=x11-libs/gtk+-3.20.0:3[introspection]
-
- v4l? ( >=media-plugins/gst-plugins-v4l2-${GST_VER}:1.0 )
"
DEPEND="${RDEPEND}"
BDEPEND="
app-text/yelp-tools
- dev-python/setuptools
- >=dev-util/intltool-0.35.5
+ $(python_gen_cond_dep '
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ ')
dev-util/itstool
sys-devel/gettext
virtual/pkgconfig
- test? (
- $(python_gen_cond_dep '
- dev-python/nose2[${PYTHON_USEDEP}]
- ')
- )
"
-PATCHES=(
- # https://gitlab.gnome.org/GNOME/pitivi/-/merge_requests/245
- # support python 3.8
- "${FILESDIR}"/${P}-python38.patch
-
- # use /usr/share/metainfo
- "${FILESDIR}"/${P}-metainfo.patch
-
- # Make tests optional, bug #594096
- # https://gitlab.gnome.org/GNOME/pitivi/issues/2303
- "${FILESDIR}"/${P}-optional-tests.patch
-)
-
src_configure() {
- local emesonargs=(
- -Denable-tests=$(usex test true false)
- )
meson_src_configure
}
@@ -105,11 +79,6 @@ src_compile() {
meson_src_compile
}
-src_test() {
- export PITIVI_TOP_LEVEL_DIR="${S}"
- virtx meson_src_test
-}
-
src_install() {
meson_src_install
python_fix_shebang "${D}"
diff --git a/media-video/popcorntime-bin/Manifest b/media-video/popcorntime-bin/Manifest
new file mode 100644
index 000000000000..d0adbee6aadd
--- /dev/null
+++ b/media-video/popcorntime-bin/Manifest
@@ -0,0 +1,5 @@
+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/metadata.xml b/media-video/popcorntime-bin/metadata.xml
new file mode 100644
index 000000000000..070ec4672d4b
--- /dev/null
+++ b/media-video/popcorntime-bin/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <upstream>
+ <remote-id type="github">popcorn-official/popcorn-desktop</remote-id>
+ <bugs-to>https://github.com/popcorn-official/popcorn-desktop/issues</bugs-to>
+ </upstream>
+ <maintainer type="person">
+ <email>andrewammerlaan@gentoo.org</email>
+ <name>Andrew Ammerlaan</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/media-video/popcorntime-bin/popcorntime-bin-0.4.9.ebuild b/media-video/popcorntime-bin/popcorntime-bin-0.4.9.ebuild
new file mode 100644
index 000000000000..732f6f49a8e4
--- /dev/null
+++ b/media-video/popcorntime-bin/popcorntime-bin-0.4.9.ebuild
@@ -0,0 +1,92 @@
+# 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
+ 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
+"
+
+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="
+ amd64? ( https://github.com/popcorn-official/popcorn-desktop/releases/download/v${PV}/Popcorn-Time-${PV}-amd64.deb )
+ x86? ( https://github.com/popcorn-official/popcorn-desktop/releases/download/v${PV}/Popcorn-Time-${PV}-i386.deb )
+"
+S="${WORKDIR}"
+
+KEYWORDS="-* ~amd64 ~x86"
+# 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-1.1 CC-BY-SA-3.0 MPL-2.0 android public-domain all-rights-reserved
+"
+SLOT="0"
+RESTRICT="bindist mirror"
+
+RDEPEND="
+ app-accessibility/at-spi2-core:2
+ dev-libs/atk
+ 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/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
+ 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
+
+ # Copy all the things in
+ dodir "${DESTDIR}"
+ mv * "${ED}/${DESTDIR}" || die
+
+ dosym "${DESTDIR}"/Popcorn-Time /opt/bin/Popcorn-Time
+ popd || die
+}
diff --git a/media-video/popcorntime-bin/popcorntime-bin-0.5.0-r2.ebuild b/media-video/popcorntime-bin/popcorntime-bin-0.5.0-r2.ebuild
new file mode 100644
index 000000000000..761a93ccf625
--- /dev/null
+++ b/media-video/popcorntime-bin/popcorntime-bin-0.5.0-r2.ebuild
@@ -0,0 +1,105 @@
+# 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="
+ amd64? ( https://github.com/popcorn-official/popcorn-desktop/releases/download/v${PV}/Popcorn-Time-${PV}-amd64.deb )
+ x86? ( https://github.com/popcorn-official/popcorn-desktop/releases/download/v${PV}/Popcorn-Time-${PV}-i386.deb )
+"
+S="${WORKDIR}"
+
+KEYWORDS="-* ~amd64 ~x86"
+# 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-1.1 CC-BY-SA-3.0 MPL-2.0 android public-domain all-rights-reserved
+"
+SLOT="0"
+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/popcorntime-bin/popcorntime-bin-0.5.1-r1.ebuild b/media-video/popcorntime-bin/popcorntime-bin-0.5.1-r1.ebuild
new file mode 100644
index 000000000000..e8fb9e1cdf91
--- /dev/null
+++ b/media-video/popcorntime-bin/popcorntime-bin-0.5.1-r1.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-1.1 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/Manifest b/media-video/projectx/Manifest
index 2b46414fb71f..72fcc246d26b 100644
--- a/media-video/projectx/Manifest
+++ b/media-video/projectx/Manifest
@@ -1,4 +1,4 @@
-DIST projectx-0.91.0.10.tar.xz 830104 BLAKE2B 511481dd2c391a6a26acfa0603f1c221d013d334593cf8ce6da0cf09505387424e58772705e17f9e90da546c43ce5aad313723aafd36063c5cd4a46d93634f86 SHA512 681dae4fd368a00a7ada37f8e64271c838a9c3737008b6fcd7f74679ca9fdf2cce140b0627a4c77a9a00baea76659bad0d2d710511b66026f9597ad153a2e725
+DIST projectx-0.91.0.10-r4.tar.xz 830232 BLAKE2B 26171e583dc608c181d3ab3de050beb569659dfa9cd681e161fd0ee7168c4d0bcdaefc1eb42323c8bf901a33f96ea627c01b0ba63f79519e1f6c5d7868331ec9 SHA512 004a8819736c426a27dbd896c125233a1014260ed2999911bdc7aa83b8aa220776297060755fdf6fb15c6a79e71b14ac166c7d423f3ac568a42e2a21ac8c3da8
DIST projectx-icon.png 1692 BLAKE2B 6da85b69961b81f64638b04860b467e8cf599287513d85157aa71e4575003b8ef6e96cbe4b0b40b54bb15b6ca74c14f4bf1855c80f1f6db89294567a77f9e151 SHA512 33d9e505140d2dd22d34f87ebff040530130bbb7d1e9958d7345f442bd3d6e17dff8d243e22f374217aed20139871e406e46ca6f03ca48eb338dc3630af2417a
DIST projectx-idctfast.tar.xz 12444 BLAKE2B e4b2a6ab235601dbdd1acf8a73a14fecb5da455670bad52598e0dbd8a7300305fad1b22b3d550dd046dcac68975af4b225e042f7c968ce9108f702d01586302f SHA512 85dd6dd0011c166aaefd47a47c4455dda68ba6da65c9eda5a996f7d078ce3900168714c0c72c6250f7b99181fda84c6d81e3afb392ace9c12c3c5690de01c1d8
DIST xdg-20100731.java.xz 648 BLAKE2B 8bd082c445d64051c65c66e8a22b61e582d04f1f650e3b15ee2f3400d47b10f137d245bd8a7633d96299e2c688f7bf836b59a4dd49ea3c181684a78fa55304c3 SHA512 8b5d8e695f3f052f889002dc93742da8ba9eada173cb10ad1db525e1ad89d1c8f44200d79dc02068ccf93fdbf2e8daa5bb359dae77bacbc89cb6d4895732774b
diff --git a/media-video/projectx/projectx-0.91.0.10-r3.ebuild b/media-video/projectx/projectx-0.91.0.10-r4.ebuild
index a6df47e09cb3..57ef227ba394 100644
--- a/media-video/projectx/projectx-0.91.0.10-r3.ebuild
+++ b/media-video/projectx/projectx-0.91.0.10-r4.ebuild
@@ -1,21 +1,23 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
JAVA_PKG_IUSE="doc source"
-inherit desktop eutils java-pkg-2 java-ant-2 toolchain-funcs xdg
+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/"
-SRC_URI="https://dev.gentoo.org/~billie/distfiles/${P}.tar.xz
+HOMEPAGE="https://project-x.sourceforge.net/"
+SRC_URI="https://dev.gentoo.org/~billie/distfiles/${PF}.tar.xz
https://dev.gentoo.org/~billie/distfiles/${PN}-idctfast.tar.xz
https://dev.gentoo.org/~billie/distfiles/${XDG_P}.java.xz
https://dev.gentoo.org/~billie/distfiles/${PN}-icon.png"
+S="${WORKDIR}/Project-X"
+
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 ppc64 x86"
@@ -33,11 +35,8 @@ DEPEND="
${COMMON_DEPEND}
>=virtual/jdk-1.8:*
app-arch/xz-utils
- virtual/libiconv
"
-S="${WORKDIR}/Project-X"
-
mainclass() {
# read Main-Class from MANIFEST.MF
sed -n "s/^Main-Class: \([^ ]\+\).*/\1/p" "${S}/MANIFEST.MF" || die
@@ -74,13 +73,6 @@ src_prepare() {
# convert CRLF to LF
edos2unix *.txt MANIFEST.MF
- # convert docs to utf-8
- if [ -x "$(type -p iconv)" ]; then
- for X in zutun.txt; do
- iconv -f LATIN1 -t UTF8 -o "${X}~" "${X}" && mv -f "${X}~" "${X}" || die
- done
- fi
-
# merge/remove resources depending on USE="X"
if use X; then
mv -f htmls resources/ || die
@@ -107,7 +99,7 @@ src_compile() {
eant build $(use_doc) -Dmanifest.mainclass=$(mainclass)
cd lib/PORTABLE || die
- emake CC=$(tc-getCC) IDCT="${IDCT}" LDFLAGS="${LDFLAGS}" \
+ emake CC="$(tc-getCC)" IDCT="${IDCT}" LDFLAGS="${LDFLAGS}" \
CPLAT="${CFLAGS} -O3 -ffast-math -fPIC"
}
diff --git a/media-video/projectx/projectx-0.91.0.10-r5.ebuild b/media-video/projectx/projectx-0.91.0.10-r5.ebuild
new file mode 100644
index 000000000000..3e5d18a572cc
--- /dev/null
+++ b/media-video/projectx/projectx-0.91.0.10-r5.ebuild
@@ -0,0 +1,123 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source"
+
+inherit desktop java-pkg-2 java-pkg-simple toolchain-funcs xdg
+
+XDG_P="xdg-20100731"
+
+DESCRIPTION="Converts, splits and demuxes DVB and other MPEG recordings"
+HOMEPAGE="https://project-x.sourceforge.net/"
+SRC_URI="https://dev.gentoo.org/~billie/distfiles/${P}-r4.tar.xz
+ https://dev.gentoo.org/~billie/distfiles/${PN}-idctfast.tar.xz
+ https://dev.gentoo.org/~billie/distfiles/${XDG_P}.java.xz
+ https://dev.gentoo.org/~billie/distfiles/${PN}-icon.png"
+
+S="${WORKDIR}/Project-X"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc64 ~x86"
+IUSE="X cpu_flags_x86_mmx cpu_flags_x86_sse"
+
+COMMON_DEPEND="
+ dev-java/commons-net:0
+ X? ( dev-java/browserlauncher2:1.0 )
+"
+RDEPEND="
+ ${COMMON_DEPEND}
+ >=virtual/jre-1.8:*
+"
+DEPEND="
+ ${COMMON_DEPEND}
+ >=virtual/jdk-1.8:*
+ app-arch/xz-utils
+"
+
+JAVA_ENCODING="iso-8859-1"
+JAVA_GENTOO_CLASSPATH="commons-net"
+JAVA_RESOURCE_DIRS="resources"
+JAVA_SRC_DIR="src"
+
+src_prepare() {
+ default
+
+ xdg_environment_reset
+
+ local X
+
+ # apply stdout corruption patch (zzam@gentoo.org)
+ eapply "${FILESDIR}/${PN}-0.91.0.10-stdout-corrupt.patch"
+
+ # apply BrowserLauncher2 patch
+ if use X; then
+ eapply "${FILESDIR}/${PN}-0.91.0.10-bl2.patch"
+ JAVA_GENTOO_CLASSPATH+=" browserlauncher2-1.0"
+ fi
+ rm -rf src/edu || die
+
+ # apply IDCTFast patch
+ eapply "${FILESDIR}/${PN}-0.91.0.10-idctfast.patch"
+
+ # apply XDG patch
+ cp -f "${WORKDIR}/${XDG_P}.java" "${S}/src/xdg.java" || die
+ eapply "${FILESDIR}/${PN}-0.91.0.10-xdg.patch"
+
+ # patch executable and icon
+ sed -i -e "s:^\(Exec=\).*:\1${PN}_gui:g" \
+ -e "s:^\(Icon=\).*:\1${PN}:g" *.desktop || die
+
+ JAVA_MAIN_CLASS="$(grep Main MANIFEST.MF | cut -d' ' -f2)"
+
+ # merge/remove resources depending on USE="X"
+ if use X; then
+ mv -f htmls resources/ || die
+ else
+ rm -rf src/net/sourceforge/dvb/projectx/gui || die
+ rm resources/*.gif || die
+ fi
+
+ # update library packages
+ cd lib || die
+ rm -f {commons-net,jakarta-oro}*.jar || die
+ java-pkg_jar-from commons-net
+ use X && java-pkg_jar-from browserlauncher2-1.0
+ java-pkg_ensure-no-bundled-jars
+}
+
+src_compile() {
+ local IDCT="idct-mjpeg" # default IDCT implementation
+ if use x86 || use amd64; then
+ use cpu_flags_x86_mmx && IDCT="idct-mjpeg-mmx"
+ use cpu_flags_x86_sse && IDCT="idct-mjpeg-sse"
+ fi
+
+ java-pkg-simple_src_compile
+
+ cd lib/PORTABLE || die
+ emake CC="$(tc-getCC)" IDCT="${IDCT}" LDFLAGS="${LDFLAGS}" \
+ CPLAT="${CFLAGS} -O3 -ffast-math -fPIC"
+}
+
+src_install() {
+ java-pkg-simple_src_install
+ java-pkg_doso lib/PORTABLE/libidctfast.so
+
+ java-pkg_dolauncher ${PN}_cli --main ${JAVA_MAIN_CLASS} \
+ --java_args "-Djava.awt.headless=true -Xmx256m"
+
+ if use X; then
+ java-pkg_dolauncher ${PN}_gui --main ${JAVA_MAIN_CLASS} \
+ --java_args "-Xmx256m"
+ dosym ${PN}_gui /usr/bin/${PN}
+ newicon "${DISTDIR}/${PN}-icon.png" "${PN}.png"
+ domenu *.desktop
+ else
+ dosym ${PN}_cli /usr/bin/${PN}
+ fi
+
+ dodoc *.txt
+}
diff --git a/media-video/qmplay2/Manifest b/media-video/qmplay2/Manifest
index 0bdf5fd10afa..8eba01fb8505 100644
--- a/media-video/qmplay2/Manifest
+++ b/media-video/qmplay2/Manifest
@@ -1,3 +1,3 @@
-DIST QMPlay2-src-20.07.04.tar.xz 1552680 BLAKE2B cc53ef842f91312f72e8d347a2d6d2e4239fe9435d0b7ac39e47e9f1f48a9a570ce614dd496512079d3701e1823ab75123b40ad752fdd2348cdb7bc8de425225 SHA512 4a6316f03d1b77bcd6c08de0daefc3f29b4c8c575eae9f901951e2b43f2739904136b9455f567b66fc9a4e4c64fe92584608f1878dd8c30c0352ea9ee1e2e314
-DIST QMPlay2-src-21.03.09.tar.xz 1568600 BLAKE2B da3a185ae2e372b0bad697e4ad7d836647c5b4bb376f0ee3f7e85e387c10b86f1a3fdaf8eb13a2c9a8d3b7d56105e282cc82f22d31043e9e418ee907776f1db2 SHA512 311fe45a9ee237556faeee29633be6161407a31b19fd3bceca5a164e92ff1757824094d20f6b556c0a4beaac07a14179e812faafc5e41ee904cf1ce1827fb138
-DIST QMPlay2-src-21.06.07.tar.xz 1579640 BLAKE2B f687cf19ce8d4a606b5271c2e5789d5194233bd300f29d165354cc8784808a148e02536ea8a593c036cd75d1e40a335177f1b9db33016008bbb2f9516daf7e61 SHA512 41558e2df09a188cef05c2a24393e67ce4d1ef1268ff1bdd1ac97ec666d9f8f849817b0c64e384624403a8f6f60cb985dde188cb3c75afd731e42f776076d282
+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/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-21.03.09.ebuild b/media-video/qmplay2/qmplay2-24.03.16.ebuild
index b626780caa01..2f3804bc8402 100644
--- a/media-video/qmplay2/qmplay2-21.03.09.ebuild
+++ b/media-video/qmplay2/qmplay2-24.03.16.ebuild
@@ -1,7 +1,7 @@
-# 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 cmake xdg
@@ -13,63 +13,60 @@ if [[ ${PV} == *9999 ]]; then
EGIT_REPO_URI="https://github.com/zaps166/QMPlay2"
else
SRC_URI="https://github.com/zaps166/QMPlay2/releases/download/${PV}/QMPlay2-src-${PV}.tar.xz"
- KEYWORDS="~amd64 ~x86"
S="${WORKDIR}/QMPlay2-src-${PV}"
+ KEYWORDS="amd64"
fi
LICENSE="LGPL-3"
SLOT="0"
-IUSE="avdevice +audiofilters +alsa cdio cuvid dbus extensions
- gme inputs libass modplug notifications opengl pipewire portaudio
- pulseaudio sid shaders vaapi vdpau +videofilters visualizations vulkan xv"
+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 ) )
- extensions? ( dbus )
- shaders? ( vulkan )"
+ shaders? ( vulkan )
+"
RDEPEND="
- dev-qt/qtcore: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] )
- dbus? ( dev-qt/qtdbus:5 )
- extensions? (
- dev-qt/qtdeclarative:5
- media-libs/taglib
- )
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 )
- vaapi? (
- >=media-video/ffmpeg-4.1.3[vaapi]
- x11-libs/libva[drm,opengl]
- )
- 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
- )
- xv? ( x11-libs/libXv )"
-
+ taglib? ( media-libs/taglib )
+ 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
- virtual/pkgconfig"
+ !qt6? ( dev-qt/linguist-tools:5 )
+ qt6? ( dev-qt/qttools:6[linguist] )
+"
src_prepare() {
# disable compress man pages
@@ -83,11 +80,14 @@ 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_FREEDESKTOP_NOTIFICATIONS=$(usex dbus) # https://github.com/zaps166/QMPlay2/issues/134
+ -DUSE_DBUS_SUSPEND=ON
+ -DUSE_FREEDESKTOP_NOTIFICATIONS=ON
-DUSE_LIBASS=$(usex libass)
-DUSE_NOTIFY=$(usex notifications)
-DUSE_OPENGL=$(usex opengl)
@@ -112,27 +112,28 @@ src_configure() {
-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)
- -DUSE_TAGLIB=$(usex extensions)
- -DUSE_LASTFM=$(usex extensions)
- -DUSE_LYRICS=$(usex extensions)
- -DUSE_MEDIABROWSER=$(usex extensions)
- -DUSE_MPRIS2=$(usex extensions)
)
- # find and link vulkan libs permanently
- if use vulkan; then
- mycmakeargs+=( -DQMVK_FIND_VULKAN=true )
+ 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+=( USE_GIT_VERSION=true )
+ mycmakeargs+=( -DUSE_GIT_VERSION=true )
else
- mycmakeargs+=( USE_GIT_VERSION=false )
+ mycmakeargs+=( -DUSE_GIT_VERSION=false )
fi
cmake_src_configure
diff --git a/media-video/qmplay2/qmplay2-20.07.04.ebuild b/media-video/qmplay2/qmplay2-24.04.02.ebuild
index 264d28c79f26..90c70de03992 100644
--- a/media-video/qmplay2/qmplay2-20.07.04.ebuild
+++ b/media-video/qmplay2/qmplay2-24.04.02.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-inherit cmake xdg-utils
+inherit cmake xdg
DESCRIPTION="A Qt-based video player, which can play most formats and codecs"
HOMEPAGE="https://github.com/zaps166/QMPlay2"
@@ -13,62 +13,60 @@ if [[ ${PV} == *9999 ]]; then
EGIT_REPO_URI="https://github.com/zaps166/QMPlay2"
else
SRC_URI="https://github.com/zaps166/QMPlay2/releases/download/${PV}/QMPlay2-src-${PV}.tar.xz"
- KEYWORDS="~amd64 ~x86"
S="${WORKDIR}/QMPlay2-src-${PV}"
+ KEYWORDS="~amd64"
fi
LICENSE="LGPL-3"
SLOT="0"
-IUSE="avdevice +audiofilters +alsa cdio cuvid dbus extensions
- gme inputs libass modplug notifications opengl portaudio
- pulseaudio sid shaders vaapi vdpau +videofilters visualizations vulkan xv"
+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 portaudio pulseaudio ) )
- extensions? ( dbus )
- shaders? ( vulkan )"
+ audiofilters? ( || ( alsa pipewire portaudio pulseaudio ) )
+ shaders? ( vulkan )
+"
RDEPEND="
- dev-qt/qtcore: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] )
- dbus? ( dev-qt/qtdbus:5 )
- extensions? (
- dev-qt/qtdeclarative:5
- media-libs/taglib
- )
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 )
- vaapi? (
- >=media-video/ffmpeg-4.1.3[vaapi]
- x11-libs/libva[drm,opengl]
- )
- 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
- )
- xv? ( x11-libs/libXv )"
-
+ taglib? ( media-libs/taglib )
+ 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
- virtual/pkgconfig"
+ !qt6? ( dev-qt/linguist-tools:5 )
+ qt6? ( dev-qt/qttools:6[linguist] )
+"
src_prepare() {
# disable compress man pages
@@ -82,11 +80,14 @@ 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_FREEDESKTOP_NOTIFICATIONS=$(usex dbus) # https://github.com/zaps166/QMPlay2/issues/134
+ -DUSE_DBUS_SUSPEND=ON
+ -DUSE_FREEDESKTOP_NOTIFICATIONS=ON
-DUSE_LIBASS=$(usex libass)
-DUSE_NOTIFY=$(usex notifications)
-DUSE_OPENGL=$(usex opengl)
@@ -108,42 +109,32 @@ src_configure() {
-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)
- -DUSE_TAGLIB=$(usex extensions)
- -DUSE_LASTFM=$(usex extensions)
- -DUSE_LYRICS=$(usex extensions)
- -DUSE_MEDIABROWSER=$(usex extensions)
- -DUSE_MPRIS2=$(usex extensions)
)
- # find and link vulkan libs permanently
- if use vulkan; then
- mycmakeargs+=( -DQMVK_FIND_VULKAN=true )
+ 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+=( USE_GIT_VERSION=true )
+ mycmakeargs+=( -DUSE_GIT_VERSION=true )
else
- mycmakeargs+=( USE_GIT_VERSION=false )
+ mycmakeargs+=( -DUSE_GIT_VERSION=false )
fi
cmake_src_configure
}
-
-pkg_postinst() {
- xdg_icon_cache_update
- xdg_mimeinfo_database_update
- xdg_desktop_database_update
-}
-
-pkg_postrm() {
- xdg_icon_cache_update
- xdg_mimeinfo_database_update
- xdg_desktop_database_update
-}
diff --git a/media-video/qmplay2/qmplay2-21.06.07-r2.ebuild b/media-video/qmplay2/qmplay2-24.04.07.ebuild
index 7af2e7f0fd0a..d0a302ac4801 100644
--- a/media-video/qmplay2/qmplay2-21.06.07-r2.ebuild
+++ b/media-video/qmplay2/qmplay2-24.04.07.ebuild
@@ -1,7 +1,7 @@
-# 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 cmake xdg
@@ -13,60 +13,60 @@ if [[ ${PV} == *9999 ]]; then
EGIT_REPO_URI="https://github.com/zaps166/QMPlay2"
else
SRC_URI="https://github.com/zaps166/QMPlay2/releases/download/${PV}/QMPlay2-src-${PV}.tar.xz"
- KEYWORDS="~amd64 ~x86"
S="${WORKDIR}/QMPlay2-src-${PV}"
+ KEYWORDS="amd64"
fi
LICENSE="LGPL-3"
SLOT="0"
-IUSE="avdevice +audiofilters +alsa cdio cuvid dbus extensions
- gme inputs libass modplug notifications opengl pipewire portaudio
- pulseaudio sid shaders vaapi vdpau +videofilters visualizations vulkan xv"
+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 )"
+ 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
- media-libs/taglib
- )
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 )
- vaapi? (
- >=media-video/ffmpeg-4.1.3[vaapi]
- x11-libs/libva[drm,opengl]
- )
- 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
- )
- xv? ( x11-libs/libXv )"
-
+ taglib? ( media-libs/taglib )
+ 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
@@ -80,12 +80,14 @@ src_prepare() {
src_configure() {
local mycmakeargs=(
+ -DBUILD_WITH_QT6=$(usex qt6)
# core
-DUSE_LINK_TIME_OPTIMIZATION=false
+ -DUSE_UPDATES=OFF
-DUSE_ALSA=$(usex alsa)
-DUSE_AUDIOCD=$(usex cdio)
- -DUSE_DBUS_SUSPEND=$(usex dbus)
- -DUSE_FREEDESKTOP_NOTIFICATIONS=$(usex dbus) # https://github.com/zaps166/QMPlay2/issues/134
+ -DUSE_DBUS_PM=ON
+ -DUSE_FREEDESKTOP_NOTIFICATIONS=ON
-DUSE_LIBASS=$(usex libass)
-DUSE_NOTIFY=$(usex notifications)
-DUSE_OPENGL=$(usex opengl)
@@ -110,18 +112,24 @@ src_configure() {
-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)
- -DUSE_TAGLIB=$(usex extensions)
- -DUSE_LASTFM=$(usex extensions)
- -DUSE_LYRICS=$(usex extensions)
- -DUSE_MEDIABROWSER=$(usex extensions)
- -DUSE_MPRIS2=$(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
diff --git a/media-video/qmplay2/qmplay2-9999.ebuild b/media-video/qmplay2/qmplay2-9999.ebuild
index d6a9054ddf1c..961b70b140c8 100644
--- a/media-video/qmplay2/qmplay2-9999.ebuild
+++ b/media-video/qmplay2/qmplay2-9999.ebuild
@@ -1,7 +1,7 @@
-# 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 cmake xdg
@@ -13,63 +13,60 @@ if [[ ${PV} == *9999 ]]; then
EGIT_REPO_URI="https://github.com/zaps166/QMPlay2"
else
SRC_URI="https://github.com/zaps166/QMPlay2/releases/download/${PV}/QMPlay2-src-${PV}.tar.xz"
- KEYWORDS="~amd64 ~x86"
S="${WORKDIR}/QMPlay2-src-${PV}"
+ KEYWORDS="~amd64"
fi
LICENSE="LGPL-3"
SLOT="0"
-IUSE="avdevice +audiofilters +alsa cdio cuvid dbus extensions
- gme inputs libass modplug notifications opengl pipewire portaudio
- pulseaudio sid shaders vaapi vdpau +videofilters visualizations vulkan xv"
+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 ) )
- extensions? ( dbus )
- shaders? ( vulkan )"
+ shaders? ( vulkan )
+"
RDEPEND="
- dev-qt/qtcore: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] )
- dbus? ( dev-qt/qtdbus:5 )
- extensions? (
- dev-qt/qtdeclarative:5
- media-libs/taglib
- )
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 )
- vaapi? (
- >=media-video/ffmpeg-4.1.3[vaapi]
- x11-libs/libva[drm,opengl]
- )
- 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
- )
- xv? ( x11-libs/libXv )"
-
+ taglib? ( media-libs/taglib )
+ 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
- virtual/pkgconfig"
+ !qt6? ( dev-qt/linguist-tools:5 )
+ qt6? ( dev-qt/qttools:6[linguist] )
+"
src_prepare() {
# disable compress man pages
@@ -83,11 +80,14 @@ 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_FREEDESKTOP_NOTIFICATIONS=$(usex dbus) # https://github.com/zaps166/QMPlay2/issues/134
+ -DUSE_DBUS_SUSPEND=ON
+ -DUSE_FREEDESKTOP_NOTIFICATIONS=ON
-DUSE_LIBASS=$(usex libass)
-DUSE_NOTIFY=$(usex notifications)
-DUSE_OPENGL=$(usex opengl)
@@ -112,18 +112,24 @@ src_configure() {
-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)
- -DUSE_TAGLIB=$(usex extensions)
- -DUSE_LASTFM=$(usex extensions)
- -DUSE_LYRICS=$(usex extensions)
- -DUSE_MEDIABROWSER=$(usex extensions)
- -DUSE_MPRIS2=$(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
diff --git a/media-video/rage/Manifest b/media-video/rage/Manifest
new file mode 100644
index 000000000000..b17b5c38aa17
--- /dev/null
+++ b/media-video/rage/Manifest
@@ -0,0 +1 @@
+DIST rage-0.4.0.tar.xz 218656 BLAKE2B 139c8ae48750c72acab5f20fbdef2e9eca6c7c55022c301059aea260e89747a608bf4e3cb97b9a3d3389b0c5fd08d13372b86a504cea53d9be2081bdaf3f13f8 SHA512 c834a4e9b7d89452dcd82e7963b49dd4bb670b495fb0e28b3d9cfad77dec024d1d1787e27d47f8ed9c35a9a824053b2a773747af32f1407064082a4bfd0edc83
diff --git a/media-video/unifi-video/metadata.xml b/media-video/rage/metadata.xml
index aa20bff17b1d..a1fbf3c0c993 100644
--- a/media-video/unifi-video/metadata.xml
+++ b/media-video/rage/metadata.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>bkohler@gentoo.org</email>
- <name>Ben Kohler</name>
- </maintainer>
+ <maintainer type="person">
+ <email>juippis@gentoo.org</email>
+ <name>Joonas Niilola</name>
+ </maintainer>
</pkgmetadata>
diff --git a/media-video/rage/rage-0.4.0-r1.ebuild b/media-video/rage/rage-0.4.0-r1.ebuild
new file mode 100644
index 000000000000..d4a770f628dc
--- /dev/null
+++ b/media-video/rage/rage-0.4.0-r1.ebuild
@@ -0,0 +1,26 @@
+# Copyright 2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit meson xdg
+
+DESCRIPTION="Video and audio player written using EFL"
+HOMEPAGE="https://www.enlightenment.org/about-rage"
+SRC_URI="https://download.enlightenment.org/rel/apps/rage/${P}.tar.xz"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+DEPEND="|| ( dev-libs/efl[X] dev-libs/efl[wayland] )
+ >=dev-libs/efl-1.26.1[gstreamer]
+ media-plugins/gst-plugins-meta[ffmpeg]"
+RDEPEND="${DEPEND}"
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ elog "Control your media file support with media-plugins/gst-plugins-meta[*]"
+ elog "and/or media-video/ffmpeg[*]"
+}
diff --git a/media-video/raspberrypi-omxplayer/raspberrypi-omxplayer-0_p20160528-r3.ebuild b/media-video/raspberrypi-omxplayer/raspberrypi-omxplayer-0_p20160528-r3.ebuild
index 41a9e22a347a..67b8ee489721 100644
--- a/media-video/raspberrypi-omxplayer/raspberrypi-omxplayer-0_p20160528-r3.ebuild
+++ b/media-video/raspberrypi-omxplayer/raspberrypi-omxplayer-0_p20160528-r3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@@ -8,7 +8,7 @@ inherit flag-o-matic toolchain-funcs
GIT_COMMIT="791d7df"
DESCRIPTION="Command line media player for the Raspberry Pi"
HOMEPAGE="https://github.com/popcornmix/omxplayer"
-SRC_URI="https://github.com/popcornmix/omxplayer/tarball/${GIT_COMMIT} -> ${P}.tar.gz"
+SRC_URI="https://github.com/popcornmix/omxplayer/archive/${GIT_COMMIT}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
diff --git a/media-video/rav1e/Manifest b/media-video/rav1e/Manifest
index 4ec99919379e..224283df1add 100644
--- a/media-video/rav1e/Manifest
+++ b/media-video/rav1e/Manifest
@@ -1,257 +1,396 @@
-DIST addr2line-0.14.1.crate 31201 BLAKE2B 52564dd603a9c02694ea41bafc91bf20aaf6837321407d2fdf3e7a0db9f92726c73735fb7d8424295bda9db016d319bd6ab1b3ffcd79df60656a0524006732eb SHA512 f665deccae566ec2754cd43fc1d8fc05db11320af54d0561a612faad769234e8b3b8c0235f90f86027a4db9b7ef2915c86398005c949e2c096fac8e53f3f441e
+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.15.crate 113071 BLAKE2B a22743be74f873b9545648db6a994250e3e39b92ac99601580e3b02194d205e921bff0b1952a4cca3399a3a7828555a1abfb0c1466f3930811c6b95c1a07ec5e SHA512 e67816efa7305937a7cbbb0079b91b8afa3fdab52cfb8eeddeee156f18bbeed26f941cd4cb18ab2bdc1da5a9ff1dcbe9d2090deec68c00287bd99ace18ee8b24
-DIST ansi_term-0.11.0.crate 17087 BLAKE2B 9bd35c045a01ce4c6c4a5db1b4f15e9412bb97426eec19d4421dffbec633de8d13452c13c1dc1b30998690b78d7ed38311aca700087f13a81f66bd1d5d7300c4 SHA512 a637466a380748f939b3af090b8c0333f35581925bc03f4dda9b3f95d338836403cf5487ae3af9ff68f8245a837f8ab061aabe57a126a6a2c20f2e972c77d1fa
-DIST anyhow-1.0.40.crate 34534 BLAKE2B 79a3731153f8e3ace906b9a360521147fd055f7401a99ea2373501ade7e49ecdb280dd59b6a3b9b2f88e90857302e71f772c767e62cb702e32c8343fd4b0f741 SHA512 5efc7347a7fa72abce9a8b3b76649abb00d73c16c5125aa4b6faaa7040eb5138d7d9470b66c186825c9651272f5c359578503d0866ce7242ea7ca9dc05087165
-DIST aom-sys-0.2.2.crate 3134 BLAKE2B 07b0ae83708bcbdee36df9d67657f8c178a2d6f360e1b7fa83104a44d5b035a3905ad7a6bb930eacae8c67bd1faf4068ba5cc578bfd7967c2705ad38dacb51ea SHA512 972ba26950eddb495e9d1335bd46fe91426e2d981906a1d2530ab12cf3845bbc023d47214f382f7515c9bf9a70f3da7f8f33c103752a475723d6817cd988920b
+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 arg_enum_proc_macro-0.3.1.crate 4687 BLAKE2B a35b8077b49836f9f8eb310b81052414cc5c9a35c7658e2cb1262a067dd2e0319bd88a3e5dc9837942a4ac40ea622ea47816b2932d8fa6b5935d0e7add3fb769 SHA512 b4c4472393ca6ee00e5859478caefa011f0fa51acd9072457d02c0dc7a9afbf18871ff1135bfe0ac9a26b8a2c419dfdeb878f2a2cab87f8714101f1a59ea1963
-DIST arrayvec-0.5.2.crate 27838 BLAKE2B 51e2eacae0ef148f3f52d21ae00794e540e7ce4c013fb496dd1347ad91ffbbca199381fffbb064225f829216f6c5e915edfa64833f91fabdd13c3f011d86491f SHA512 1896b5f64b4dbdcff8ad234bda4ea8129bcacf87839347304717e94ee9f369cf5f4371755e453ff7d72817edb8f7fdbc726d77cc4f28ed05148dc89c7714b004
-DIST assert_cmd-1.0.3.crate 26323 BLAKE2B 97fa287db425901474b2e9c4e0b9c500209e6ae23de73d079458ef21e8d1f6a49837683c543ce05ed79b0a07a4e1075d02630789760b52956f16e2f629e3d439 SHA512 3205f9eac594113996287dab2a641115e5fdb4e92734fa34e12d99b3808597e13371658857896c76449ab1fdca4cf4e675d812ea120602e16024409483b60bf2
+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 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.6.2.crate 22396 BLAKE2B 300827869d546f4d093a3e1246cf3b4c67d0c7a483028b7ef1b7e400dec2f55ca31238c0c918b799cd73ae94c8184570c6a31b4b4f3c909bf603da7f83ee09bd SHA512 47aae94ef05302c0ac2bd20dfed97c3ca41db0f63ced9bbac206824bbef017e0abcd39e9805eac268c88adb2bdf6ef3b662a7865e6f3ce311795dba1e84cc996
-DIST backtrace-0.3.56.crate 73377 BLAKE2B ef13597495bc655bb01ffe3d5724ef487d48dce598d9522c737c694ebed1f4c78d8e6bb1b80c817409ec4eb8c99b4835b254ee92a2c2befd1cce2034d0b3567a SHA512 0baf075eb3a964f27306863c19a2961121b52758b58d12ec7dfb508fbae2f3136e8be21d2d9f63ca5b54d4e9db78d9cdbe65fa27b31c42b65c182ccd79a0d7e6
-DIST bindgen-0.56.0.crate 198300 BLAKE2B 96a4434f5cd0dc474a344e58944acf6dea915cfe27adede48bba10c9c542e5c4748f5ab90a0cbdb6901495f985f9112383e40021e60703695b5ff3afb29fd05d SHA512 e7bc3700d3db533380b40874d258d9c3132a85bb704929922f203619dc7e62d0778d92cc23e9409a3c098095e0a29d995b9feb1409a57a402f6059d094a109fb
-DIST bitflags-1.2.1.crate 16745 BLAKE2B 0fa6d3ce44aad7616d5cd02aad8c1d0b0fed4022650eb43067c4a72e6fc88da05442674fa51826e4858a47c9de233e1ba2229820af094197cd11bb416ceffb2b SHA512 ad89b3798845e23737a620bba581c2ff1ff3e15bac12555c765e201d2c0b90ecea0cdbc5b5b1a3fa9858c385e8e041f8226f5acfae5bbbe9925643fff2bf3f0b
-DIST bitmaps-2.1.0.crate 16717 BLAKE2B 817045077c198a84d114f68474b14515309bf56abde29398fcb47d7593d41c3fac069825d8a2aa1a598dea5b4865b94a21e83d03dc8d069672e1b835bc1ad551 SHA512 a423ea009bf61629e6dd7cb954f2781dd3c578d2216cd843957e0db05abc8f8c5971d2cca1915929b2b3c7b712450c817bb1de8d08715a1ca2641ace015a1dc7
-DIST bitstream-io-1.0.0.crate 27035 BLAKE2B 6775b22bec5d54467f83f58b6421bc247338c7a862fe5edf920f805cc2ac6a047a314ea0c6eca13cc6c97eaee7f0aa5f816704bad764e572f2db9901b6f72f78 SHA512 c1741d748e3c65d790037fef2b025db4ac1fb0a9fb3ef152d09e96d7067eff077fd74a406d5b2569f404d49b0e0fe02f2b85af8f283a36627b85007428f6fa90
-DIST bstr-0.2.15.crate 344206 BLAKE2B 3a4f24d2a039f7aeee3b6fcbfcc2fa72f1ef8a06ff8bc039af055739436655851565a57e5a4f86a7984b00ee7598c1fbdf26f3302929f91d7efb1327fd36eb57 SHA512 6e464ca1aec722a283759ff6978bab1769dfc8d61aa683f8e4c59bd69c7be2fe86c5470f4c54457871c6640e2d50b6b882747ec567098eb78e62f7cb07cb93a2
-DIST bumpalo-3.6.1.crate 133836 BLAKE2B d67f19bd68e87c1c1360c77df2cd9b11e66f4db3ed5468463d266d2ce187006f2b2117f647a9c331838b8ce6c50519db2f9645fbce190ade2c10a0284b29fa06 SHA512 0d923bda2c98bae60d8ca09d63dc12b67c8fb5addd4a675e27b619bb41b36d3dfc0742696fb53e5fa538790814cf2401d15b110216daf49e5a2ce046bd540866
-DIST bytemuck-1.5.1.crate 24562 BLAKE2B 25221f8a42f7b43fcaf94351fd1c42c3640ebcec254a73d0083c5880774db63e74b831b67092e20c9d80dd04c7d6af0ff28b2c1b2a53bfda465453e8d79dea8d SHA512 23aa2ce347d8cd031e341acbdd4d3f4e0d950afe3b215e0c61d2a313a62f139710333f0fcec9510a3007e31d50c5bdbd765d52ce33713b594476de456babeb31
+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 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 bytesize-1.0.1.crate 7629 BLAKE2B c1f969f809abf5ac432e8590158781c26d11448ff0590647f2d60ad62d416a9f93e8bf1d5a650a40cac21bda90310c02f323bcc4fd1e2ee122de1588aff29352 SHA512 99a11059c27ed3c0279acafff1c0fa27fb7e5021876d2ad3a79ff8f31030fdc8a1b5969063ec6578499412804564cd3cb325c9198196bd4a078225a47179f605
-DIST cargo-0.51.0.crate 1348742 BLAKE2B 13568c915970e7accbe41f792c3bb0ae0f2d305d4bd6c393655b06a475cc6dc35542977e950c81606af932d875b7310a679f0024daffad525c041c30581ba966 SHA512 81026a3fc8f24e4e71fa8d6d39417d497e313382eb0e8f99397ee57fa199dfb8215bda529e77f3579146e29bb79e44a5255a75a8e3a3f4072745bbaafb6521fb
-DIST cargo-platform-0.1.1.crate 7409 BLAKE2B 503bc17f9cf08cecdc02371cfb69c70b0f61203153fee4ad4e5b8adb995e1f84e6a6cbb12565607fdb1606372b744fd3d4519f2605f05eb83078c1fc14d789a3 SHA512 b8758e002ac6c4c4440707a27cd747c90e2b128f51bc80464be93bf8677aaa26bec28cc1f730cfba639fb022bb030fae5c06c41773c5692bf3a12167d04f0d57
-DIST cast-0.2.3.crate 11446 BLAKE2B 70003625a66e1f505d81cb324992f38388762686def5f6edd8023d55425273b9aad36a2d1c7f429799565c02a0c9d6db1a869137aec9c8d1e2fe12b228e4c8c4 SHA512 2afdba50989aaefd64b2cd1274dcf8812f69e7b2d8ed783a261fe9d3805bd7800e8e0b30beccc64f640df1a869c012d35c7cdac5ef976829a53dc82e73048ae0
-DIST cbindgen-0.18.0.crate 180380 BLAKE2B f12f95a3e7c9af2ad933e7cf51248eaf5a30816f8aa5a160b8e7decffffc9fadf90a9bb832690be51639209470e4644154525b6cd6e51dc0a03dbea53a7e0595 SHA512 5d09c5720f5157239228f8570b18c33057cfd7e68f453d9e31bd5eb69541e21a348bbe9116c3387a00425803c6ae8eab9b2b97359fb275f5a7fb982974008909
-DIST cc-1.0.67.crate 53486 BLAKE2B 42fd02a5886df50857075c909819c8afcf091cee6b7bc517848786f287f4559e70a07f0a0f42a742baa2665465dfdb2139ecac7e93f1a41b16eab30556eb0259 SHA512 f1ad4abdaad2667b190d1f8df8515f603107be1f69bdbdc02b5159764a6ed18b3f672d6b06af50c7f2fd3e6e3dad5df0fcd0dda762d909ba0922c769f1efbe05
-DIST cexpr-0.4.0.crate 18023 BLAKE2B 4a55c6c80f09c1d4ee86706d8af1f52219ceee99f19ecd0618825ce5bb27535184b64c0a49a540756b0c5e9cce6e39aac271545c504fbfb37c44052d04856cb2 SHA512 31592e38d80414cd07b25f7460775eafce1f91570abc1b94af7452961604574d1ca2374c0177875569b644f615a2b6fede273f37a6ee137f9adc9c0315c59b37
-DIST cfg-if-0.1.10.crate 7933 BLAKE2B 063a96ed176f34f788666b40adc483d147fc011dee941ab60569ddd0e57502b5dd06ed71090f4e14ce005d06e240500a286f74652615e9d068fba649610d8cf8 SHA512 9d22616bfb4a75770a828a0a3cddac6787297a5fdc53eb17e25811cc94de717f2de8bd66d53c5d65ba1c83d8892aefee5ae758cf56a1ef0a0c3120f70b244339
+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.1.1.crate 36567 BLAKE2B f2bb14b5e984e0aba35e381bcfbdb365b28aefe9e3a06286aafaae302b9e409c037432fb5434f12478f64bf1bd30d4ae278c6c336b4596b0d26c705e5cc8284e SHA512 cf6745d021a779d49fe7271b1c940fb2c69d80d06afc4a6548a736c819f16f82875bd94f946a189c67453b346bcf73f360af846b30619189fcde82ed04fe964e
-DIST clap-2.33.3.crate 201925 BLAKE2B bec9c866481c5b3fddeb314f68af9bce38fc421e42816182de3209e8ea3447b72cf033e6251eea27fe974eff8085b7d98cdd2911b5cc0ec6b4bf4c750deb8a25 SHA512 3eb0fd648e2e3f9e5ff69a5e6cf0d867304fe18523accd036f28a86de368e4774088a6936c108ccc045092c539fe7f7494ea96420ebf6b4bec16880cea84bedf
-DIST cmake-0.1.45.crate 14375 BLAKE2B aaeb4b910087bcc735f2cef65fb46184de3c3181add90715ec709c3162c081cc506ed4c7f4f3e6ed6d76aef8213ce80b9b865b2e737166b498a50b60acb7c83b SHA512 7de4ae0c3a50806f2b060e145948be6c6dd0db3975b626e0432301f454612fb7bc7fd2f4549529deaf7a1a55063a11dd553efb59a9dd5aa61ede5e63371d6b2d
+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 commoncrypto-0.2.0.crate 3009 BLAKE2B 174f3099955d595040005ef201361bacc3084f5218efb0f20df8082b9bb683909a10ade64af7062edfafadb9674b27a06836f2333fdaa7d2926b207355f7a40c SHA512 61f567468221cc46b30b31ce96dba26e3dd3a9245a8d37f9f8a615b346d992c261db059bdc678882415c608a806bd45c7b38a5bfb562ad96a111cee8e1082e85
-DIST commoncrypto-sys-0.2.0.crate 4338 BLAKE2B 992a06d56adc97a9d02c547766c2be2f1973507fc0083e50c623dc4ac554681b802f3fb5ef61ef430e4a58bda000170636cf6e38430550e0c0506438901fae20 SHA512 06851fbe0b87224f6c8333964237badf57f32256acb7e647ac2da16561701b7572c12509e042d0d1032a54c94c1663bc2ff19ef5ba3a7daf84276f2544bfba8e
-DIST console-0.14.1.crate 22844 BLAKE2B 2e7a1480fc10ba92d4d5c601b87a0dac840b71c6c44679acf0a90667f37a40528ff2155130aa72be2ade1fdef4e6512dfb404b0eff181d77fbafb00c25dd6c5c SHA512 2c85d1938faca5163dd7eede2a8a07569e536c92fd0fbc7f6e6ed91c60fa7f947f0ae101817ed943b0668c4d98ddfd3149033c83614786b5d841b19a8b011c91
-DIST console_error_panic_hook-0.1.6.crate 501738 BLAKE2B 1fc227061d615b580e08905ad47e3dd2b63b4ee4e4cdaa92a4dbfc0a63e0f272eb552b17aabf7d03b73630f64c41a1653a034fbf8afc2ccca337d8ad405a90d2 SHA512 622500b82ce27a1dd33197f54f8c0495aa34b870b96a71fd0fa92cf1f0b0e7d4968b9f6bc5e41c23a145980cbe7a4bc5a7ddd03571e1e4688b2eeb7d146aa5c9
-DIST core-foundation-0.9.1.crate 25985 BLAKE2B 22e70b7b1cd1f39c4ac287f406dabc549e3ba750ecf17955f129ff83afe67bb4bdee7e7907287eac0c28597df971de27dae77619f44d0368864c08798def1ae2 SHA512 d6dae760082ef9dcfc37d18acfa9a6ad8ee491335d17ee17447c5bccad623564f1e8bdc54460fb260aebe9276ce5ea4d8a389a83b5c7d17193614906c3d2bea9
-DIST core-foundation-sys-0.8.2.crate 17461 BLAKE2B bafa6f6af67f55b34c20e50093a5426bed35c159058a97c03d28c99b6f0075305596907291d26b170ee2ce1bf0c74bd51e2c54f11ef021399791129de6cabb57 SHA512 1c66f2012c11185603a0e4c09311d32bc4ffe639ef7626e49bb15006306fbed4c963f2c53d3b853a254b29cda73c393e0236436575d217992268463441ac7348
-DIST crates-io-0.31.1.crate 8943 BLAKE2B ea8b4ea737ef07b27861555b8940722798306fc8c8adb908f81158f16309eca2a88db2ce6ce4a4d814d7a11f1625f2f9a13500ebe2dccb2cef1d435161baf5ad SHA512 2b04cf7ca5a79c31f25877c5d28d70d958a9bf31f5a057568272ffabdfc8131dd4fb5c76cc06700ff74fd8877b8a0096ec0a72b38a7db0054e75dcd6f2b45e74
-DIST crc32fast-1.2.1.crate 38172 BLAKE2B 80801a345f4c5ed8a5fd335bbf672eac1733a1c2b333dc8a8e0254338148ce7b34402201a8d2d7434dd1b057f33d99d3a8f02610ea50b54115d80bb8da28b2b0 SHA512 4c04236bb15a5c63b712c62652777917e947823abb20a0d0b372c850ec1c8695faa414e8de73904f1f1a296d7b00a6206cde8da404cf4cdaa2e8408e64b62b5e
-DIST criterion-0.3.4.crate 111110 BLAKE2B 1a27f32745dfedcddd1b41f1d9fa2096cecb11d90c4126bc0d7a52a14c4b97d99204a7156e55c2ca5e525d4b648a82f3126f5d2b6c3d97ce424d1d7fde9656ae SHA512 e54f73d39e54f74758710d14c970ab928b86595b2ecc3759c218e4a57a2d618f8d425049763669de6ac48ff97dda72eecbce2e48b731cf0c11a240cc20e9fb86
-DIST criterion-plot-0.4.3.crate 17226 BLAKE2B cf896d08a208e9e317aa7b9095086660e57e5d8e6552b3615b027847e64fd4cf135d361bca7ee45fbe55163739285907320e9a39fbd28506fcb2ba56e091497c SHA512 69620d5b215757ddd818606d1a979c411de803032391be3b56e1c1ff73fbea992ae5e6c14cd78b519eeab806a34320468b44adb04fd1c67076163658f03d2844
-DIST crossbeam-0.8.0.crate 10993 BLAKE2B 9758a7ed1373f10da09c07875842a1fbb549dd20add43c50918276574fa57b5c5b51d15593e6611b34ff2472e51770fd965fc0810d0bf18f7740467d866c5669 SHA512 8846d29074f5e2a601e1bb741db9396b16270689f108e0b1621d29d15e774898e5f8d159e9af990fbba2cb414a13948a6236254353d4c594c38bf9cbfd2032d7
-DIST crossbeam-channel-0.5.0.crate 86811 BLAKE2B 9af4384f2b74d202971f1967887cfd0e71ddba9a6456ffbdfc80bf192d527f61242239d2eb6a0d9dcbe47be22eb414736976e6b1840c021610d96a3bf03c3d18 SHA512 838b433d48b84f1fea020a1d1324e366e6cdae30ef07396140f195afc45b8f705de6347d949b68ce1ed0708fe533ffaa2cfdedc9d2e6288a7325c188ccde9aa2
-DIST crossbeam-deque-0.8.0.crate 20756 BLAKE2B 6bb602547cb0ca65552a9b981502221f1d3570422d22c867f654ba677e5c95aa5f81ed0022a498d3408c3f69291e1805b49fcfbfaff0d9a6075b75be3bf926ea SHA512 4efa73dcb9ef40b841039d24ffaf9bd7c63f8c0233bba1e0728fd5558702b4ef0af117543834c527335e99384d3c80d56293e891c9d94440f51f454b1b90c399
-DIST crossbeam-epoch-0.9.3.crate 42766 BLAKE2B a9f458d912dc247bbc8d2172792e06992ae4b51f588a7cb5a4851c6d7021b428c8225ccf07f0e4597e3e9585cf7b860781c1829d6269826893da3cddc2a753a3 SHA512 f68e1957018f7b88440492403b6812403312b7252e0e873715a2a970a4c9d2647174a19853d1533451ff1f568ac7df2deaa614f342d695c613053b1a3d5d1ef1
-DIST crossbeam-queue-0.3.1.crate 14787 BLAKE2B 136cf26e3a932a4c8035c50b8d6f905f59d3116a8bfaaeb5511e48e7225d05857722240e169d8efe3aab07c370923a57178f058f05c83cee9c1992d03f907f1e SHA512 f666d14ffe4be603ada67ac1fd28526bd2517c32856dc077e5bfe512fa012c08f197e206afb2547b9b5a52ecfb1231a9bffb5b9d24cc4e58aee37ebb87b54d6f
-DIST crossbeam-utils-0.8.3.crate 37268 BLAKE2B e9a77f143afab79fc1984902ea756a15e43bbd6c8251b5a2f9fd574522539814098b17da03ac5222177332042303f129e0c2729db6bc80e8f76bf4b097d973d4 SHA512 2e89ceea586873e957a31b510f8e8cb0c6675def32ea6b9a9483166b47f69c1ad448a79d897796883b696bf77cb0fcb1d0ac28ee779146f6500ca9a54aa7b4fb
-DIST crypto-hash-0.3.4.crate 8102 BLAKE2B 8bcf39d195d40a2e6d899fa254c9f64e982d742fb304f4b271b75db305d5afa8ea5361c0b6adb23c0fbfd212f3c4601bc7476b4874eaac00a26c8a65b711b0ae SHA512 57d020650689c988859f51ec9252702a7e8510526364b00058b263f4decb249d7296811adf3b8c5e76f8aa744cd5e444aa198f3dfe134c98257b99cdeb824537
-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.20.crate 9328 BLAKE2B bc2f4ce53f6b7d6a2fb441317a3f91b8852c541261f95f0b7d12adb35ec1c943810242ce71e514445479c5d225b735cd50fa4dfb514e6b121be753555ab3c30c SHA512 877f4663f8079a368d198a3351e98551c6d8123dd5e53b812529b77b09f1c08296e6df817d7429e4c70a73a6203fd98bce5ec2ce7b09baabe4f348bd54a9c0dd
-DIST curl-0.4.35.crate 85012 BLAKE2B 11ab2e14e425caf91c4c42650f68e1ea5fe5edf6759b10e66718ee2c603056facd8dd00da4acb3124669fff3c8af366bad4f163b5477c28be0e9329ca188e7a8 SHA512 255f4f8d7ed2c0a4f4f9b32b3cbd6e9f20f299bf5379e084d884107836b108f4df31b3f8ef5ad3731e7209ee5eca63568b6d3b68a0e7cdf24d83d36b80bc23b4
-DIST curl-sys-0.4.41+curl-7.75.0.crate 2907738 BLAKE2B f165531da074c856e8cb6725f55b1d00f6dcabf2756dab59c35fefe193b25aeb11dadcfb7f7a5bfc986d8983ffb360637ca76cc937b8559f5da6c15a019d7244 SHA512 34bd579b80135d72c50edcedeab88b00dfd7a5aed62f4eee59ce3fbbeac43553bdeb87d5cdb513bb8c6c064a64552443fad7c02501a44b840ad35bcf22cd4179
-DIST dav1d-sys-0.3.3.crate 2816 BLAKE2B c6824ee66c2a199839e56ba6f5d2ea2d5c2f7cbd2e82fc9f423127285bf99ea1473945088658846b27d2d355c87079a46a115306ac4a9d0c7d5f9b7c1a12f3ae SHA512 d29262bc5124c469d758dfc2d477273fc499082528daace2f1a5e74865e78f1540b5c09af0c3518918cfd643cd343bd6990c8d132457c5056c903af17bb08dba
-DIST dcv-color-primitives-0.1.16.crate 69927 BLAKE2B 7ab85222d4b4fa0a3395bb45be191a3135f9f66db13b980c1db2a3f03679173ca0fe1bb19510978f2db5a9e9b97d8fc66d72a2bb2668158ed0748d666f8e3c16 SHA512 991bde0cab882ebebfc599388dc6d508a6a53825ab484beb76259af15c6e7c49320bd4c0d3857b1cab965c420be968d7e284859ad58bfb8eb6c5d9b27ee13652
-DIST deflate-0.8.6.crate 62365 BLAKE2B 05b1f81e4c423f9fdd823bc33352d8421f2ca0c26d43cf0c5990db12f5e31c46ff7769f1baa3b971166b4146eb448ed0bd3ffe68f7c4aff5885b47826f77d847 SHA512 7e2e23205c56cc4c834ade2a6a22b056253c32e29346907558117714a18d8433882a712711413addb15da79f9f59e089a06dfd680b756ab2725b500a49dc16b2
-DIST difference-2.0.0.crate 147616 BLAKE2B d720202ba8d73fb9b3cc6a982208e4fbe22eda4b3e296f4238a7b2d8ed0339827ca5a3d93a983396901614a9eabe36a0baf55ecc5f55075ebf7fa1e4c0699eb2 SHA512 cc9956757770ecf237d8f46abef25ce219193c877be6cf83163e87c494956cca3202951ac01bba0728e7202fcde2261009c1b4599f389cf979858f25936a5482
+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.3.crate 32543 BLAKE2B 513790f39c63eb096b0fb62687c74262b42b0edc3e6fc2e2f2fdd44463eb4cfbf67560136ec206e252afa1477fabf66917f4fc0e8192e040670f98f3d7c4bb51 SHA512 7f6c3c79b8f4efb8d1d4e4b879c1c78a427f15669244ce1eca869aea9bcad950ffa5b59f3f8e4513e085c2daf1f5857313b374e238fc78b731bba2646ec895ff
-DIST fern-0.6.0.crate 299856 BLAKE2B e7adf3beaa2f5fc029acc8d87411c5ef8d3288100b5521d0c1379db6868bcaae73e197f456509bf29f52429ec72bc6e5ef297e971ce9cf6d7cc6232b5d9813fd SHA512 d0524c272cba970b5193d845d4e84698d64bc28c75b38dd2f265f1a132e1c9ea177ebdc38741614f6a6f3d106c7c50565b8562378a50d59ed093e00aee8ca382
-DIST filetime-0.2.14.crate 14358 BLAKE2B 7d50e71b5a556bc24a6bcf737ec07f185c6d6a2ba2717d91aaba71ec15d1981c47dd6010e5a4278f8996e05bd49d04f3481f0b9e3156a8ad1da1cf39a84796d6 SHA512 f2e6e41b8b705c510e1f1932451ab8a0acc6a4f84a7a21880c7e69639a6aace7c5ed4f694ebf47d04ae6ff227f8d6c6733f2c4bcb953088531dd91b37262e45b
-DIST flate2-1.0.20.crate 74036 BLAKE2B c5a1270debdb42f8612c0db9b684d339dfb668dfa3b06f6dcef94b43c115daee99c3558562d605da5ba1a554930030083baa8128036e9999d47907f29687ee0e SHA512 1415cba53183b7ae0f3396859186b92001060a78fbee10dd0dd4c8a93119aeb78bd8d782735c292badc1ae6d369badc6fa1a0105835614a6f70e82b080d8549b
-DIST fnv-1.0.7.crate 11266 BLAKE2B 81da85889c91b6567e0f555e37dd915f1bd919719d1ca10c31a6861d7aec29a49ae9c1e8bc500791bf9d6b8dbb318c096d04872c5872a4b1f7d45fbd8e12842d SHA512 2195a4b34a78e2dd9838caf0ee556bf87cbb4a8ef5505aac663b614eb59dcfc0c40f432463ede41ecca57bfe7711f72673d39a85fe03d426f1324097d5628334
-DIST foreign-types-0.3.2.crate 7504 BLAKE2B 520818b702d990d296ecd31a8646850202509ccfa18edd0e1b260289619a6c351e758f317ec0824bd76eccb209b6f087057c25f1bd01a47897715013dd834867 SHA512 bf27b8243ed482c202d120383374f19ff09422535e24b9c1aebccc66529bf300ca17b8bbc76d67f98ac092e614497afe3add9dc68aa69c93074df05762f91232
-DIST foreign-types-shared-0.1.1.crate 5672 BLAKE2B d2e42e04b6657e7a69fe0bd20c672176629c743e49a55fd007bb30e289710b70045d445ae9cae0eeaa747ee708c90e8abd9b5fc39bad8ec0666befe1b696d4f1 SHA512 bafdb2143e136fb0818e2ffd90b5c862b7181647d6568947d4e4531012bbf7a57b597221ec7056c1b562dfc0c3b5dead26d1a4111ebc15e7863737a873518a4a
-DIST form_urlencoded-1.0.1.crate 8773 BLAKE2B e2d2224dbd85d053343aea29ef1bd540fb8be12fd600289e9c048e3b74bfb009d0770f8296556309ef756086f22feec4713dfed1006e1101075c8897be5471cc SHA512 3ab371c223561a27ffbd35cf648ef4a9145d47bba9d71900a7c54cfc2f089175e9361f6352331a9a7fa018923b15e7a3553c8f9ff9fae80e1626e641a5faff68
-DIST fwdansi-1.1.0.crate 8280 BLAKE2B 5c46e66a7fe25e02aaf42668853a0eea8ab3bbf9d160702770d94f8e6c4b3efcac9f840387516d1d14cf34271981ba095e3e0f7a5eb009b9d5837f94f8fdee3b SHA512 5f91a6fbc40b00a06abb6686cdc0389a837fea6513a9b9bde7cc4ce5cdb19c180ab21ecb5927c41a52c56675991ee10d127335c1f6d8c52dc7e6b30b32411370
-DIST getrandom-0.2.2.crate 26010 BLAKE2B f2df79db0fff4a4e57bb5c748932dd7a8d24f7072f9a81fa92159ea79de29a70e7b834af6ffc5178e898af456188f16476043e9be4dd25c6e7edde06d93cbb8a SHA512 f498fe00c9887748a0be88fbd698a6087ccb79874cfeb35a18f90994603be29cb2aacfbc65fb8ba967190ccbc41ff9ff56bfff1de40811e1bc99a08b0568f59b
-DIST gimli-0.23.0.crate 702175 BLAKE2B 9acdb3afc092e43b25a11639407eba7258d25e6dd57c1f1aa18d17ac7c2ad73b422f85d850947498deb3ad8c1b8001077f9b636f7c1c11a4215b957c990483f7 SHA512 b5dce7b563ce7b8dd6cfec5258793323d370f217779d0d57265bbbe2b1eb2704dbf0f25c189ae6e9079989b6ac7d5341e10fe49457577e482a3904c745c89b5a
-DIST git2-0.13.17.crate 181726 BLAKE2B be159d2f3602a65b133d6bdb3d949a48b34029b7a491961469d7a5a6dd8d471b0460ea53e802f69a216ed6111d0329e8a8ee29024af3753a185258f1268b5ead SHA512 5d95ff8d5c62df55b9995f2319dc350dfc9c44b90bb594f6b90df4985f8ebed50211e380885826251aa4e86eef1cfac99f648fba5f91cd4b725b0d05b3800fc9
-DIST git2-curl-0.14.1.crate 9336 BLAKE2B ac2338bcc95315dfbc1528e29fbe7e16a4442b2e2aa94350b0f7e8a5d643db60f901d99ac5689c1b242335eee78194449c64d3e7082a2f164b6b80fcf3100134 SHA512 bd1f074631f902c1affd167db0cbff329aa07b2a46758af97c71dfbb5308a82562efa2c42e21c5be63d7c93bc1052d688beb71cfe1588a4c2e9705679cec5a1c
-DIST glob-0.3.0.crate 18724 BLAKE2B 1f1dd380e7d668a0c2cff9134279ebda958b4bccdd4a65ff01f9665b45ec4cce8ffbd47eb46e52cf516c5fd5803561e6bcb60cdee21ddfbb8601a95d45500620 SHA512 87098ffdbc518442995c422120cef71f83069c8f88a1970ecec5105b0f284ddd92bcee929f5c230d5b90ae1ead7e1214c3eea26f4a8b26715a00c1ab8b09bc46
-DIST globset-0.4.6.crate 22893 BLAKE2B d47dce5ddb342b5c544f50c01160df66e81e80ca8a0abbf90a74ba67aa9c585843c051ea98ceb7249d4a56e5c1b985b00df734ec0fd19439274a8c1f998dbe75 SHA512 aac2b1b0f47103a0e8b404f4c97bcaa8561d51683fe741a85d745b3f30b56f0523c2fa21f21a680d9e883c697eb4232180f042dca290e954ac55429ae251fcbc
-DIST half-1.7.1.crate 36168 BLAKE2B 632fefc24ad4b44c64ef6d3da745392ac016580baa5ba898c45bf41598ebb9ea86bb11c041b8813df73aaa755e323cc762b9e95b834aff7118d0d77e1834e7d5 SHA512 cd678b9277fd909083b67eb86c1fe92f464c92e1932246c6793dd835069aac5af6b9dc16bfbdcfbcdd75d3a641bc1f2240effd83dff6068a41b6c54d3739f73e
-DIST hashbrown-0.9.1.crate 77734 BLAKE2B d59002253112cf92173c3c1b305fd03fb7318ef187d7e033433baf6a354db046d1f3fe0387b3cf500fbcc0f83d2b2076527ba7cda2695f7627eca0bc3e3487c1 SHA512 dfa4742111f6fe757b7fa97f04c7b4a78ce9708c87e8e09ecf3c28f2566e48af9885fda380ed918cec37b5c696110fbdd30273aba6e7d2221c9e65f72af064fd
-DIST heck-0.3.2.crate 54718 BLAKE2B 6514f604361932e0a8e1a86786d3ec7218d95f8b3b3bcfc9e21c5fddc58ebe28bc0781e2ad24de4dd4296da85e97c742d8473370c99a593e7e5fc7df00fc9b4c SHA512 cbc72c3473ab14fe445491b1d9586d50de9a462af344638b871f7309fa805069a1405bcb1e0859b561f48583fc71045f38d03b92332d35131c67e140ccd241ad
-DIST hermit-abi-0.1.18.crate 9936 BLAKE2B a5a1d1c9bdf83fdca8edc392f8fa7d9b9b248ac8d716e009300220befa5d8d80601643e768037be89bbbe6e21adbe6349c94c595cee3837c4b92b5f98ba838ad SHA512 54f060c6c1c80d41f40cec7102345147efb535aff9fa5cc0ed4ccd7f010bfdb6daaf40626fd5069af60ceb42058452803b59d4bbcfbed4c5546c79b57ae0f914
-DIST hex-0.3.2.crate 9053 BLAKE2B 3ac67d26ad367df7543967a8153a2ca7c082d5f56df16cf63a37f76157ce94c68f4cb11c14cc75621a9c45d19c38425acb92b552dd6f45b9052d90cde2ea6e5f SHA512 fbb5e86da5c7fd4b7ebc505d4c0da1258b06406d40a5c6c1626f559e1a91525fa747cbb6e35a687c63216158832ceb49dc61d68cd7d74f2df3630b36ac423852
-DIST hex-0.4.3.crate 13299 BLAKE2B deab49bf3d97f6fd7c0a0855b50232422443b226362bc7a4a19e57c2e662fff2cb046d4c5bd7618ddd523045f3d8c78754508f862f9a8ca29ca9247da6d6ec79 SHA512 fd8ff33b68eea2d6f2c6b02a6d82a2807cbcdc209ca5a76e3e3e5d006917ee151f236b6d18e2646cc9a9674bcdda1d6ce6ee363a89cadd99bef00d0eea9989e6
-DIST home-0.5.3.crate 7890 BLAKE2B ed1cfadae63d1fb0a66f38aa5440dd09a98343e3afadcf1495bf69f3ce813774c9a49776c6b3641001b6007c01e24ffa6d2600c1bab05c4ea3353c74ddae2fd6 SHA512 cb3b7b24db30a8b29f36f90a0d345b2e187f9e76f22203e142a77c8308dcc62e97b5714fb0ed890210b31375cf30d3362b8d740fe189079a6d3a095be50dcb0b
-DIST humantime-2.1.0.crate 16749 BLAKE2B e2ae8325b037fb175b9200cc5c1944ce579056c6662cce307beb6701894552362a25e371aad65f8fb9384945b48815ca74bb8b544a32e0a5845b7edd30b918c9 SHA512 3bf29ddd1391d82897c22baa0ff3ed58ef6d6959859f1f8ed54d324caba5b6fb4422e56790511ce82f902cd11467f93c8ab7fc7b0e0bdb719308a4d0a446ae0c
-DIST idna-0.2.2.crate 271070 BLAKE2B 3a07d53ea832d53a2e99ed3345d748b6299f6b4e6d4c33de17fd5ed70b9a46727272c9facf1bbb79e2981a4ad1953cabeb53d71cefcdc2a1e9e9f57c4a9f0d22 SHA512 71be89a626b087ca3a33576857799c15634263e2bbe43290750eaa6b074088cb6b54b3f778930e3dcc796a883daf662c0935178d4f096c751027bbe727124212
-DIST ignore-0.4.17.crate 53056 BLAKE2B 734e74210f13e5ad08864cc8b143fb780383cd36048e78da04a0475eaa760867dd4a385b37fdfaff0c5aca946d4aab19c4901df0833271a3ba05887ea5dec9c5 SHA512 52380126bb46478875093eb39972949625e1d9ada6fac7148faeccc22807d8e2a1e41c34549e7d9f884fd3cd6dc3d42b47a88b5b6de1089d7e3ee8014b3aea35
-DIST im-rc-15.0.0.crate 182171 BLAKE2B 94605a89b9f375cc2e0a60f107db600ca57b7f342d1d686ed73a24d9e4851d790b71293b0b0440262ee45ec94defa8780c7611969fbbe36532b328964ef12c22 SHA512 4be0ad2ef6272d39b3305dcf50c97836839c4917163c030ff2a950fb16deb4eed0d3026f09743479b344f9f688419449e8732923ee1146aa655ff5aae6279003
-DIST image-0.23.14.crate 226804 BLAKE2B 0debec9484b54cb56eedbf07c246b80afc6de99b03e5f41b5cb9aa29ad2269cb7e9891b7377ef7ff53200959317bd38b24e823ebe5c2125677ef2588eec81ae8 SHA512 4eb07fd698c2d902979ab06ae0baef4a53db74da78493c45f0c32d5903c5399cb8a1a25a2e89bf504ffb612e8153eaba4ae41df3d17f02c27e7991fdca518f63
-DIST indexmap-1.6.2.crate 50225 BLAKE2B 38f40c5aae0c5dc5da515e610007983b2d581994293f2eac747a3fd78c9cefb9faff64555e0c6dda146e9d1332d59f23c353c6758e63f99b6c4676123723ec67 SHA512 1509b6aa6b3b84fa15b98026052f6d5f0f1aedd065b02b24e31b799f8db68d5770e9a8302ef10e1ad16817256dbc03c55593928a48eddb252d25de7e0b7e6406
+DIST env_logger-0.8.4.crate 33342 BLAKE2B b1bb359be2f34ca6f93f72154c86920b8254f574b48f693b2ae7296cd1ff25d34dea61e95fb2954569fdebb6c522c851ef7499c107005528aa2226df13b0de33 SHA512 9e4478ff609a2e1e1a902a55b221af43a52622fdb5668dc33fb0be354b964708b7b6d13b7f1ef11982f45fa7e71f0712a2ab3fd4ea98155a5115e5a7c3d33049
+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 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 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.0.crate 109656 BLAKE2B 73b65db4a9f02cd6940a81966ff433c5d9d82bda15b2250907728b2305451e2914e0211ed16e9755585d6a4ea67c3f2b1a5b1ca589afb60f20f23d1c1d31da7a SHA512 ecc194ded512a0979c4429c0395125e1d3968c61f673546b755c0a8bf2fa5a604690baf77e95dbb91dc26a3004b50a856a8aee0dae0e4c1bd83073e5e7cacefd
+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 itertools-0.9.0.crate 96429 BLAKE2B 36d3b1dec7ece85639337f1a40a00330a5216ea8c460d13e52f0f9fea71bed5b3914cc4a7e05b407ed41e0dbc2292ae5873b3481297edcd92ec547866d044b8c SHA512 1c6650060750f3073140c4a77fc4d1acffa7d18320012807df0e20ab06ddb39afa7f086d89626e3909f89dc1f0408c9ccee4dd9454ca1f7a6a145bb213e7c5ce
-DIST itoa-0.4.7.crate 12099 BLAKE2B 0e4ffbaad504565056f74c3ef560a87eff321a0da6d7a2c8fa35813c207713c22d77080c3b830fefbb21370dd29cfbc6a2807044485b38ac1e0c9c1de3ccebc5 SHA512 c61eb50aa00591af28698b45c528c36bd92088f7cd2f453cf686a1824f4656292638bebc468cf67f903473a5045f22777af623cc0515ef3bf25146b89a7c454f
-DIST jobserver-0.1.21.crate 21228 BLAKE2B ab1a6496d609e19235f022e920495e708571116e90f8c036edb5f7ba270c2ac938f7571e89f3fb714043c87623d4cbf1d404067ccac6a8b41e4a6768039cf02b SHA512 944249819e1e3dd09495ead941330e9abe439647c1e66ab7e2140c0c9e100b63f4f792fe06aa3c86f509f057df297ee2d35df0ccdfd4bd6a115b6a44076237ad
-DIST js-sys-0.3.50.crate 67123 BLAKE2B e31d81932e8c219524aca9159013e3e7e24519f154e6789b9b5e23de7da0b89e7ec5bf3f949a28a87a0a9671831d619aff1b84ed0b2011ddb01668b110c4d9b7 SHA512 961f1e2949ae8e662aac866807b2522537ed8756caaeaeca2be837329d6b684dd928aca1a7da9dbc402388625c54177dbc6b8141a1efa4087c78a3240d002d87
-DIST lab-0.8.2.crate 13245 BLAKE2B c8e8c42301205355a29ff165bd52a3a6425bd3ff4b4171d51547875fb99d8569816cebab8e883e84ff5a3dc0e0a3e2732f8c00baf672004343e1042f31f05b8e SHA512 a08f0fb5daa02a24ea2fdacf818a9def23793f6ba614d971ade84e05381631ded6d2d7bf7e57e7fdc0d27bf27180a28862551929874101bd8afbcc0ffe620d6c
+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.92.crate 522480 BLAKE2B 4390c54531fc908b8d8e200fe271cd8536660b907dab3da07056b650f13fab0dda83969518438eac7ee75761bc1913ffd056a7cf98b58ab31d4ef98676193220 SHA512 bee1495a75cce8d117d5a565dcd9e2050b9b308aeef40dffe5b970cec4a0840eef07e8d65a64558cb75494a77a6b0023923ee451b29288e02573b54121fc7b34
+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 libgit2-sys-0.12.18+1.1.0.crate 1434936 BLAKE2B f283177caa941757388042ca4578394e160ea8e5776f6b4d842f778218286ccf65ce2febbfc780606d7624660224b11a470849b4d61302dbc11b3ba5e8d1b49f SHA512 3d9be57074e15bb0dbed151804d401d4688a77f1d46eee171e39b00815a983c103b614509ea0bcbe3c1355fc6c47738fe9da7ef6b8ee2d040fc30062db701233
-DIST libloading-0.7.0.crate 26216 BLAKE2B 83827746f57fb5f1819aa0ccce0ffd698a3ed4b85ef0e954741691003c843ca877de81b4a97ad7c53d28f79701a5caf2fee801a68c015d19c20230f2560b5fc3 SHA512 e2089a8ecacd65522b246cebcf531b6b1ce697d4eaf294e0540e1f34bfd714037177ba802406c31e6bcc722b4f391a84709427de1c6fb441cdeb8e41fd4f1e28
-DIST libnghttp2-sys-0.1.6+1.43.0.crate 4458350 BLAKE2B 90357f647b7ffbd1bb5debaf22f57de48da392bf6ae64a5a7fe02fdc0c791c945f918432c21c97fdec75a6aa16fbd3c7ad6619e42e04462bb58fca906984c551 SHA512 d64cef5933c01cc4243f8cd9b9b00224d1d89b00d21202ce2e0baab0491357b7bd23a5310443bddf9b2ecf3309747080aff4eaf5bf7a0e81c9ae1482a3c64cee
-DIST libssh2-sys-0.2.21.crate 482836 BLAKE2B d92ef8081bd1ffceabf1be840b20722de647b50a0b95832d544afd7f1930dd51620622a9bf3031b37db9b0a1da4a925050bde16c916a8a71b3e79c73f125ea1a SHA512 654dc947e32070cd03fc8e9bc6046e28c9cc401bbc4c914319102a2c7ace7f319dbf0414a51d9812a09c9a88f7fba6b9203286fdc383d0e75f86b6a87fc78faf
-DIST libz-sys-1.1.2.crate 1339299 BLAKE2B c055fdcdeaff5d44cc95f6cef190094317644e4881f356e46b0c0347221ffb867afcd29ecd4d995bf397f714b705ce84cf34ab87010770e00b3aed1956fa46a0 SHA512 2342c738230ac570c61b466920e2ceafc0194381643540f094f6541917639a4f5b11d46d575bb03c7623ce109d376bafc3076a9d172233313e38cb6f49ed16db
-DIST log-0.4.14.crate 34582 BLAKE2B ddfba35947ae1f5905cd9ecb9eb862a78af6f00ee8b8fe6258b369b140928fe677a02b1b3ca5bdec36ff2b16abd85a9f49688fd5f3d1ba2b2905e7f96b8a84c1 SHA512 796100167663d85a7bc4244cd305e9b3f0a1b1520764b63464698eb136318d0928c40c16f5d19d9f602a5bf769851275bbd48d66b088b0c37be7a6fb62def7cc
-DIST matches-0.1.8.crate 2216 BLAKE2B f18176110921b1cf6e58d52d12f1d1a3455ce2dc04421fbf1b392f66cdd81a88e924571fa27e307a06301d83b04f3b8a0ca3ae40d2da6f2decb8aac4e2801fbb SHA512 98b58f6a2694b03a7dd1be69ebf7e3ad14483fc8e4cb6e6c26a4937e4e660e843efb4dd04a7312dd9659ca02acd3775678f73b8faac44a76ffafaf873c22f590
-DIST memchr-2.3.4.crate 23077 BLAKE2B 5ddcc5fba109030040dd0c394344860ac0cb96679948b364c3333eddd29992c335c2a46a6f496c2fe085981ecb6e5386f7d44c1d489cabba180c037f1a872013 SHA512 24cde03e6f7cbee1c1d12dcc691190c7e3dc72f468cf41e2397560961d62685976fe47de51119c04c473cccf75b38311bd887fd9db93e92563aebac8f9184df6
-DIST memoffset-0.6.3.crate 7697 BLAKE2B aae9b5dedf06680bc597825653c08bcfaef6429a8367c8dbb58df7f09e91b166d04a231f28856af592590eda0e255a947294e0b8064d7651f490e44e4d1e748a SHA512 5afd2f9a282e9bbc60da1abbf911a3b4480ab975c04c565149dca8a36e9975b3262023b73c67d9dcf80b2eba3e8540aa2b91466d37a2504facb3f1eae98f52bd
-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 miow-0.3.7.crate 24563 BLAKE2B 24375754245e4ac50620a8b6da6b21958914a6af6422a470487841c2524587d596673cc3718a85979ee911f104d71b59b38fbe9db28c1c7e4b702b9373215cb7 SHA512 451073e8913148889493de0373bc0450c8b23e136e151b48b9976292e4e03b7c3f3279ecf49dda5196badfe662a661a998cfa456d2ec340a495d54a4d2382699
-DIST nasm-rs-0.2.0.crate 9522 BLAKE2B f4a6266e83a5b17116eed0776003894b42d71edfb0a2a4d5ce39e8695f001233ba2ad12f59b0a564813680aae085c2366304fd16b9a127236b11b8eab6c61ffa SHA512 fcaa05cc8ec2128f25caa44772ec56a971cf9e63f3525a21d10bf2d54bb3d30e729a90f4d812e451318726c743045da24c9f31a80e218c807ef44271fa32cc2a
-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.0.crate 14704 BLAKE2B e7a26e597ad5e45309393a9500b031ba64a77831320cbb96d7861139a2f7a453b7ba06a3255439b43ac1e2e36269b0a350d514020d3cd82c2513b57934b3ebbc SHA512 e75ec298fa682be84bf4efb6cf40126da9233ef25f07e887c2fa7421ee78790204564e6406c8219466651f47421e27f69eca690bb9cdfc982b644d78cc10de3f
-DIST object-0.23.0.crate 203889 BLAKE2B 41dd20ad5b43b026d032b50360bcb1efff7aab471342da1ab787d820722f4374fef8df48eae722016893618f0e1af3014e42c56a57ea8792594b5fee676a4d6b SHA512 6352624a9071bef53e4b7209b3f8cd5168d54174962565d76f8eb9201dc84dc3b26f08c81ac954bc9d4c55032a022abb35d160817bb434ef27f76949290bc7ef
-DIST once_cell-1.7.2.crate 28250 BLAKE2B a30a55f6d6e820c691928173a9ce70a60486b28e3e79e8a01a08d87ca0bfb1725b967cc9e070cf53e71b924f73fc2eec2cf67190fc743361b60d82290762725d SHA512 30cf51249bb73e9881cfbc6a54ead7a3db709d560da8d420fd85cf248e66c727b92e8351b7c0c682913cff12b3f984684a272a69c965c56f8343948eb5a194d6
+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 opener-0.4.1.crate 10634 BLAKE2B 74668ad804ee2d39b8b1c3ec3ff2e99b62a871bec8bf295a89db0cea421f3bf1127c2bb9d886ca527402a7d05dc7477f149929507bf19be069676d83f2d947f9 SHA512 7200f4d21a0ba5e0dca5d58368c3d172a73db36d1ceb3cc978c46140e1594343c638d291685b86f0c503c970c9ce95ec2800d6840fe745005eecd32bf326d46f
-DIST openssl-0.10.33.crate 202638 BLAKE2B 717e9724117c8b16391b02d30f24a242f67087a53c61b3fdf623c88b3b6f22576cd726f24fcc04f4105bd985c16bdbd0b6a6f7ae1dc1d7dac5f7a44c68160039 SHA512 69f0aa67cf9beb2e66116e7d6a652fc64b0470fea6eae3ac6bbcddc8fcba8ce13d8a170dd990dae0524bd4a583e05588266806396f75a909851f9e124bc8f536
-DIST openssl-probe-0.1.2.crate 6427 BLAKE2B 8df00c8ab6af7887a88dd1672bf2c40c6aed5867b0b8d07dacc94b80591814e2fee4ac5dc775ea0e98cc33641b9eeebb6d5979d34717ba400b907358ceb2a469 SHA512 4001eeea5c4f859559475b4b1df8248611bd44273116b31e7ef775e02918cc989825989868f331f0f0e387787680c1e4ba721ac0fd4695f7363005ccc0815d9a
-DIST openssl-src-111.15.0+1.1.1k.crate 5087962 BLAKE2B 50a7528ca83e30434f14aeddbc83c434c74962faa106c597794a5c5a9d43d4c37de524f657cea9d3c87ca3f605bc59cde0273d64149954526ddffe96bb9c2093 SHA512 0adee57c5a9dc12b7a2c438f838a5d26286f9e885500708a6945a53c96708838071ee7a521e7dd9f18f5de59c5c3e66880ea99f64669daee442766471c8c2898
-DIST openssl-sys-0.9.61.crate 52010 BLAKE2B 4746fdfffb1f0cf626ff0fe93e3057bafd8277c6469f577e37370010d5267b0f9bde8a91279e9f8d0ca0b93cad2231153ca07d667fb3b7c8feb637a04dbc352c SHA512 0ef36b2483163af083465ba9e84586ac0c2068285a8b3f1ad1e6a2831361722132d1d008791d969be669ab1131500416852813bb431307a484c1a277b5ab9abd
-DIST output_vt100-0.1.2.crate 4062 BLAKE2B eed08c0a1800560d4f623f451d818e3c7f0dcd72fa99f4e5e6dd4934e50a9649011ec955e06728fd017d58bb9f36cecbeb9b4aa8c13c040225c24019f774e63a SHA512 b8eb00a541bebef2e0bb44975c4547fadfd4ab88a14aa8e31945f3c73531a550cf5729f1f3d18fae5cf36286b82d1a54fb08b28720f1592ab6cfe0814c8d3036
-DIST paste-1.0.5.crate 17669 BLAKE2B fa8eafd98dec09e488cb7ce0600c18554887249f1f1dd4c4cf3d1902b7ace184324a4b9afe16a7f16bbbac0d7b15885649bcf8a33473413e37fcfe3fa1b57c4a SHA512 c363e56e1b9bc2e401827c292625951cf577ede568033cee53da2ec2383c4ca17082b52b82477c48d65881a8c76f535a66768022d1eae2cd5f55218dbfb9be22
+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 percent-encoding-2.1.0.crate 9748 BLAKE2B f3ff35ac683724b15e40c85e0fb8ececb07b61beeea82b7020f02d27df05a8a3535f157b3cd688533e414d6541de7de8640ef4756706d8061af0fec94ba04ab3 SHA512 98af4dfa7c6a3cf0d5aa929c436f9eb1ba1b576a944513f1284e6df2ad06be7cab9eba145d888d50af88f8c970bacc702b323041bec6d4fa1dc34095186c628a
-DIST pest-2.1.3.crate 77986 BLAKE2B 210638cdc2cc5e389d2248fbc06b8163dd5ddd77974a04d32f674e7f959acb3c5efc7f26100b6ceb7c346ee06a39db0e11ad5b793a1bc09dba679e6a5a4aa2f1 SHA512 08a36d4571cc0e912ae87e1f2116424b3d4139b653dd9a446fec8ff39cd9a691e8305c86cf75d227b5349197ada4ce79912ac25f0726b98a0642981ac4673c83
-DIST pkg-config-0.3.19.crate 15451 BLAKE2B dc23b5ef12719b4b3d2fc5c93c087399ba954a5e127be91b26619466d5d7422e71684d02905304dca65273d69b66338d94c0642e3810a14df845ef507ddc0bfb SHA512 42bc13c4e39c8f71690db527d815884acdfd2ccf5fbfea700c6ed60257e852cdcb1c443e7774409e51da53612b0ff0aa165554b99fd0cba973f94a8df52982d9
-DIST plotters-0.3.0.crate 3242931 BLAKE2B 946c47a0b15d9a0a4c44b1a086bfd366be93b47b13290681b578ebab421e7a8e0d5cdd224de29c325b213d43b11b41f8d6dd26a961dbc98bccf4d3a580dbcaa0 SHA512 c54a833b2184cf0a9e9ac93739dfe06cafbbf381b20fa8601a5d97a25998881d92197afb086d1dc40dceb283aa2bd054151f9a21d38e0eefc817247c8e2c40f6
-DIST plotters-backend-0.3.0.crate 13492 BLAKE2B b9963648fd1a95f557bc92781c292ab0917ef373666cba95b0a1d3821253cfe8de19677f65973fddcd96bcd2d37bc817cdd783680dcc26be9556813baf413d29 SHA512 2071a4e249277a25cabf2f39c8fbf68ee5246b853c3f054fa49ff5356492b770419ca7dd7e481465b764fe8a1606491a2ff49a3215c3a5dd7c7b28779c54f3ad
-DIST plotters-svg-0.3.0.crate 7488 BLAKE2B 87e22fec00b61737f3ca630fec669b277470455da19de52ea5098bdebc1061c03a15dbe0cb498f321f168d64369493f0d8c4260490a19989b5fe6bcbabb4ad18 SHA512 a706b4db5160d30d1e1e2d718b511a9c3f875947ea989d981e7cf221aab3d7b1c41ceb7704956683f2ad5415e698463c0eceb1e3e60fe1f794ac90f4dd175d82
-DIST png-0.16.8.crate 52598 BLAKE2B 03f706591182a89b0566f8a793163372a4db3e7a742f3aadf06fda93068c42a4351722796ddbbb013fdc1be5a88dc02debae50ab1cc3ac81d72d07a814b456ce SHA512 df96f8580d8cc11df54788ff64ab3269b14369a467d7c29964a5b19add5e7a82258e6bfda40eedf135bffa98a2a86afbb725cd085cf37f6c433abf9a7485edee
-DIST ppv-lite86-0.2.10.crate 20915 BLAKE2B 83a075381c24b2b89f5266929f5672ce051c3781c1a199252738dadbf471618c8b87452ce84e1cd87a9eac11b44107002894f544091210cc7e77bf52c045288e SHA512 c9941052e504b9b310024064026e4b1d540dd877705ef450a833d9ff6dee70ba874cdad68c46381a71d5b54482cd80b3dbb8e0c225758fd339069031a55195f1
-DIST predicates-1.0.7.crate 274733 BLAKE2B 5275012b3759356882fc1256119b52526eb8a39f3670d8e38d10ea96918bdc3bd13fbdfc841c6784aa3dbe8147777048f751886427c1ee8c4380b5084c5a70c5 SHA512 6d72f940714d698f5ff92f16a35e26675d995ea94c82de9bddbd386e7783ce0ed726b21c85bac3dd21e8f8a92cd2d4ee37dafe1cbc42e8e6b30ba13f06858b40
-DIST predicates-core-1.0.2.crate 8185 BLAKE2B f2525cf9d1444c0b6cfd981fb9f8555e4e797fe2a28edcbd75e719121d55eca593249d32a708e920c83549a2240dd04f154b19e59faf740ada773c3e59d52483 SHA512 bfeee297e7bb81c1cc63908ab47f10e21e53b9f690d9aaf08855bc1824e0c87cf05c92e5a8dbc57eace7490c0ce58bbe2e178ac33ad0553ad2772593d89f8aab
-DIST predicates-tree-1.0.2.crate 6341 BLAKE2B 6a701096226f37076d5fb0e62e37609b86f08ec32ff76191ff2717341979f946642d173fd9911929ab89562572817d377889c3a78af4cebad5e362c1675c6813 SHA512 d11b2b7d44ba5a00ed189d4455216f0c991c0f272776166a528136e26436e3f0cbbbdd001bf9a2b9aceaaf221fb9218fb497116e7957bf6bd9761616428c7ed2
-DIST pretty_assertions-0.6.1.crate 61551 BLAKE2B 1e92be2282e42720c9e1d1d26f9e67515cf8aa528479e14bae9c79193652c435e9513e85b7958016c105ed581fcbae19ceaa742fac6b07374a2e6f7b57a689b2 SHA512 10010c6e6b02098def38a8e6cbfe34fd052fe5773628d57a8141c7933f868906870158b4d4b1948b752d2c5f7b2981806d5f835e125aa2447d408415ba764f71
+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.24.crate 37716 BLAKE2B e2bdbc7cc9ea254529e322f6a2eb44002b4994fc4a00df32012f66740e8e73ae70820dd40b7fcfcf024f3c7784ab9add5cc1db37f4c72d5af5c8f00164ebc145 SHA512 c3d23a5136c55d734084ce1d76d54f237fc1003074af102c2ad96d851ac496ffc7513ddc505a68af4051c9d6de09725a0ecb6e76ebcdd77a1c056f8f9242c9be
-DIST proc-macro2-1.0.26.crate 38233 BLAKE2B e44a5d98fbf75130c0eeb8fad6d025ce66fe41cc5ef882f418bd8c9e5d228d712020e309dad68e2f862e5f9216a1103fd6e69953e17c213166467b335f604802 SHA512 e6d39cc0d5ec644e3fb424347bde0a82a8ce8549745a1a827bf4dc21f6248471935b5499c3b6d1b7a129f0ddc560754254c528ac39fb1fce2ec3bd9520afc3e2
-DIST quote-1.0.9.crate 25042 BLAKE2B 26ef31e89fd2f0cc21ff65f8072f30c7977ac634d2536cf9845a0894d6659f62a96cd0a6ee48f7706036c2c1b898ef8c9167bd62714ad0c9cba4fb02f30922af SHA512 dd6cdaea183b85400531ef01e56657edbec0d8f7c27898c1e591b72dff755fa5875b33ca320bd65be0e9aecfc6a61ec119a4bd1291e9f2057fca642ab5b198c8
-DIST rand-0.8.3.crate 84493 BLAKE2B 5db817304b94424cdc77b60c9a3aa451abfbe315d97e311776ff9cf968585ca98f24994df3fa708e3896d36ba66d5f8dc795a652d2c568edc6be355baa7b4d69 SHA512 fd61348a8c3187881473c8764238d2388da3419e82174f2877cda51a7cd136106b2c7f0dea6b914f120b929c1db323529fa161465156661ffd19eef9b2737e4d
-DIST rand_chacha-0.3.0.crate 13920 BLAKE2B 9e329831b46c4d6cf2bc6755024588df907f87145adf35e156bc1c2b7068b583b652f90ba35094a1bba26e0449d32d2877fa52cea012ab50429ee526264caf7c SHA512 631f32a5b0bb42ca87ee8381795402f8c5a80202700b786655537f981c0e210e41eaa42ad4247a25bce1260c29caa8ba3b03f92e520ac331403fd8e76fbbfe93
-DIST rand_core-0.5.1.crate 21116 BLAKE2B e74791f941a79971f2741172d489d546373c9abcb0dfbffcb7b97b858ec800b2e0c97df4ac636f3aa1b8dd6c14685edf317336d577f31b5c6cb7d89a157e547a SHA512 4f7500b35e165e6c817fdd67a50745d5497d24e554bb554705097e37258751e8755c4d6b8a69fcb5e1977708ba78620bc35d640e4e018fcd4e88d9dbdbebdcbf
-DIST rand_core-0.6.2.crate 21708 BLAKE2B 745aab7160c4d9b52e7d0ab0fab257bcead4dfca1242d820d760bade713822b7b8e283852a2e337a6d33b40ddbd95f86c36bfc4c418ef0ded86f59ae4a4df56a SHA512 f1f21dd6306d6f4b5666d1ef4994d0d68f10a7a94fe628a5aa8ba28ae0376cb34b7c091f82e2db8f2555eec4f35088f6c4df42ed84de7467d5780e284b397115
-DIST rand_hc-0.3.0.crate 11780 BLAKE2B 7600829591c3631aed73598d4837b0e3be55aa0594e0562ab7914013b19c4f88648e0103765ddf32643e771e0961ff2f726b9c8b323798d36ef9b994c1d03ffc SHA512 c78372332aa0bed3352d58e07be3e97f01e69410051be2d3cba569b05037df7379e896a84638b4e9f4e477b9851e4bdef0accba2c53d118bf4667a3e1bbe95bf
-DIST rand_xoshiro-0.4.0.crate 17029 BLAKE2B efee418e99b15aba76385a4320da667554effdde4f5d19dd55d16c1069d7915851f64526d4b4c9ed1cb6e5827572c0c96484f13669ff233baca124377ccbd48b SHA512 e889eb75ef40ad52eaf32692b3a405e01eacfeb20e0dc171de8f1b2ce05723ba448e293a2ee91eb3bec3cb5a2667bd05c11433b50470eea9219586afa73f519e
-DIST rav1e-0.4.1.tar.gz 4536093 BLAKE2B d1200707783b5ceb13ab6403b4a4e8ac2af9a8d9a4bbd0765946d4752e98e4a5df286adc4883dd9ffbf4a21b0cd3bd486d34d563fcd955edf26f3e58181bbca6 SHA512 d8466c7392cdcd6c6693174cc7148d57a82a8b2328f27b0665a3311e24c9fba136e7f5a35a222004e0554d64005e8b676601e437dcba5365cf69e3b8c61691d8
-DIST rayon-1.5.0.crate 158037 BLAKE2B 6cb7f696e9c04d3aa6c3bf9c95690c2e259267024ac9701da5cd85c7d39b900a7e9e423e5b7602e108587a34c2519642ce1456dfd82fb13328ed3aba7516b569 SHA512 be15cbc7ad0fadb55e5640c78aa2eeac282872be88c5402338caad0a7ea604d2b8477648dcf7e453e22fbcdfefa915aa4bdbfa75e3d4f7a993fd8d85ed68395a
-DIST rayon-core-1.9.0.crate 63787 BLAKE2B bc5f930b1ce8e9fde03c01df7a53eeb3318ae24ac1c6b22e401a0b2359f4b9d6e419fcd41c7db33881c4ec29fbb844a44e2cff747d7dde2133668e733f8b6966 SHA512 d05b4c1e7bcb1c4e9238ab08bde39f08f069a08593084f041720694bae8bd524d1761766beb93e97784d7d541bde3e290446344fe129b0e10491405c1577366f
-DIST redox_syscall-0.2.5.crate 23449 BLAKE2B 2d676dfe40f62285463a25f90ecf24ddb8548f91db1dffd779aaf9c1210bf1eb9c7c535b0d04ac7a483e0724d24ac1d1ed6c78884ad2631a53a870488b7578bc SHA512 f1625eaba110129942893e4cae548d22b6892d275124d29540c947d958e5bb7231309fe052cf15bddb23e0e8f0cdaadd002db5bdc3be578e843c46c175526adc
-DIST regex-1.4.5.crate 241716 BLAKE2B 6e818193ae1bc8edb2415d82946227ac24b5ef9fc99097d4bff1574a5b1accfd33ea04e38be4f3321c0a498888b2feb99c5ae4611974c79cf4a44d5d38c7fc3d SHA512 9ddcbc7a69df47ef1321c45b681ac2e08c693a7ab0de9b877dbb6eb6a5b07788bfb8444f3e644460bb2a7ad9a768567e0366aa34df2b9453036385dbfd39b85a
-DIST regex-automata-0.1.9.crate 114560 BLAKE2B 2bbaeaaa896479c817b7bac2f51108f8f74fda72178068c3b5e599b466899692fba8ff3ce8cd30f1f978a944a0df98f466f3d4bd340bf595d6f7048ba6f648a8 SHA512 53323733dc2f8c47ec33b5b3aefacac3a0042cff80c59c3a05ee02b581671dd9a6ebf6b0b5eeddf9cd249662731cabf5a684553daeff440bf8d1d4d296afbeb0
-DIST regex-syntax-0.6.23.crate 293195 BLAKE2B cc7c951f252fbc814d12e4276728ee0fb9fc381e5c6b3f9ed2204904ce36ec29d95278db00ebed7268ff65165c19b30b0d959e7e5bb26c96538bb3aa7288d724 SHA512 d4f41e40c1460ee95fd96514a3accb4eaa6c125b47abf66ea7b0b60267c0ab112c51c1877d71bf1cfe4f9277f95617f5047058b2a3da91dc24aa5c1cf2781f34
-DIST remove_dir_all-0.5.3.crate 9184 BLAKE2B ab7ef94e0230ddc9b363f038254a180881bbc20eb04a254f97e6f71ed491c99ba1c88f5e85632d450243882a4a0df63f3b8b183bc1fbca9caf30ec23d577b1d7 SHA512 50417d6d8a33912193a1ed37eb72b47431b12ae65d2780cdb7080c3d141e63819da13751c3fb737685cea322f70b36d413389c3dc01aa12b4dce615aefed0e2c
+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.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-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.18.crate 19913 BLAKE2B fd0b955e9f552d5a3759dec05bf5f971d151efdb8098b0b3fba0ac80f0034c4891c575ba1247b04d1271fbfc8a1585f4a65200ff3836946aecae1cd653c7a1e3 SHA512 93ebaf7630c99b6c83712452aca26a42d9a173aad8ba7e85954f65e7867486519013aae1afb0006a0507fc3d6a4688df783ca091779bc0f316c5b8c4be95b793
+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-workspace-hack-1.0.0.crate 774 BLAKE2B 521f71467c95554c8a87ab3e10623ea3516932fe4bc9ca95c835c06b8e0bf526291dede3a5e08df8222f365f4d326c4054a99ef0d37aa6fb5210e2a35d7599be SHA512 48e4774a272e717ea571f4c22606ffca78245723ebc3f15ae5d0b28c5d767df9e772b7e2d6c5c3505bb09bf28097aa83a34b182856bb9d74b3a00b292da45315
-DIST rustc_version-0.2.3.crate 10210 BLAKE2B 1f707d1c66d907c9b1d2ef6d0bc6bc9c89990a7b922a6dfc2041865940ff3854c4d0e1daf558279fd5871af5818d4000457a32c949104f46538312fbf730443b SHA512 01fa7a758dcaa4f15c18628a0d5ee5adde5ade96a8b7dde0908e39e27b290d1e9adb20d44e2adcd379341d2d4a0c34a80dc12553a3bb4efa4758988f28989779
-DIST rustc_version-0.3.3.crate 12119 BLAKE2B a8cfe3dcbaf436b74e9798ee1296ea7aa372cfa26788b7a84c9ce7ab3de5c5e00c6962e4310aed9bef8584e3c30298bf1bec1ac23c3b70c6aea32394359712e8 SHA512 37732b3b28eca41de205db34479c75b31af4ddd811f0f1606933eb31e25e5ed3966a41a8b7d338be20fcf47540629824c41a267436c185a98f8acfdce608b5cf
-DIST rustfix-0.5.1.crate 17768 BLAKE2B 6c1e58267fc4b81ba025d33a9bd95ab1832ed651d22d52b8808f52870aec674bffc18ce2d53bce58c4bc36f98f1e049e4c9609eb7e99e407ef78eeb756186837 SHA512 61990f482a5d490154fc55d7c052464e50268c0f752068669afb3c387d27a1e980a052ba29fe0aa301cbe4b17c7374db071a8a38d3562c943e8292605c40b3a4
-DIST ryu-1.0.5.crate 49570 BLAKE2B 3bfba4a5f290a429de7ac3b86823b2a973f40eb6f48c15329173d95964d31ada36f2618be4b36774a03f97f2ce61364900c6a3ad5465a294e2df311a1f4104ed SHA512 d1708ffa3112a684edf2956b6730ead040401d38f1457cde074eaaa59c249007dc8b925629e7f6df89f7ea757e9d0826649d685cc8ede0a04d50296048bf476c
+DIST rustc_version-0.4.0.crate 12175 BLAKE2B 6fda2ce03eab45d7193fa0d70175cc7ffb56b7be85fb1314092bdcfd3948ea145420569ace3a47218a4a2a6e44a818862cea6dd8cfb945475496f63b591c29da SHA512 f66da7c6efe431db06cd01180d84ba67fcd38f8cd6ef693762957c00ccc2211f23c08079d7f184776e08f28d2d6ca3bdb5f5016f7de245c6193d4722891ba1db
+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 schannel-0.1.19.crate 42755 BLAKE2B 11503202bb6c8fdff3cc716558a5c00ca7497f7aaa4890d332084754e0d1e1013719d5bd744d8aa12b8b042401f4828fda8453c104d5feeb9b437d7cc51b5273 SHA512 319d9931cdeaa0f6b50c46e413fed2b6e97b28fe8c4825d4e5ed0fe22083e686e124117bfab7c89bcce815a31a3478f8c230cdedae6a852a31719a0df34645b0
-DIST scoped-tls-1.0.0.crate 9146 BLAKE2B e6cecc543760a293b9ba4e71bf0d12f3360782795bc9d0f0bb054614a1c393f081b6178e98708b896037f5b8edcf371b727e7eb80f62bca24fe09a1903456729 SHA512 f09dd404bb45349ef444e7274a2aabfeaeda7c3c9f964bf5c52c39984c137f63bdf9fb3e33df8e312e52872f7721de25951a7f3b8333a670626c51afd36d314c
DIST scopeguard-1.1.0.crate 11470 BLAKE2B f774eb90b7d3ffb2efba47518e9d1dead4017ab4b38a4bd74914daa84a5af4bf9eb63da0496e3924499d79cd0439c37447aeda4a21226f95645bddcd6becfabe SHA512 368fa5726df8f42b599993681579a9ffd0196480ee3cd0f9f671e8493f3bedd1e1779bdf2beb329e77e0005fa09b816e3385f309490c0f2781568db275d4d17d
-DIST semver-0.10.0.crate 20503 BLAKE2B b27e780828e383a0baa0edf99d36952a847b10ffe174c22d2680ecf5f723354e0ff5253974b07981a6266cd74d373d1993eeb145ce795201bd8e43dd0e15299b SHA512 75e39076a551cd1f4e7c011e79ac762258b7995bb021298cf2fbc7b3bc9e6715ca3c5165429834738f1cfb5ea9fa3daf173ebe1e9e0f04135845c89675c89ad4
-DIST semver-0.11.0.crate 20826 BLAKE2B 9006a801dab95e7a28605f623984b467221c3207b64af251bce3fb4fa74f731c4a3b9f95081bac59f754fab215782856edd98dd763b66563010498b97e8f35d9 SHA512 bdbd8eba37071ec1d24d372cc34ac4d82b6d914e7396ed51276e80d4d299864507a9d837ef381f6c4868981b7ca35514050ab8d7a621d43697a9c4b4bd5d8573
-DIST semver-0.9.0.crate 17344 BLAKE2B ae782bc78f29e45577de8574ee58959c70b54bb0b6f45a5a7b09cc4d358d9a0a80bbefc6e0f2a330e2b55adfbbe5c1f64f4ec9bb94c4adf7bb3e4fc9c142db6c SHA512 03a2ea563456f812c301721c3572370fe4934a22db60079da0dd6ffa33fa789e5e2436ef09e62fc35e0b742b06fabc290992c74eed80419a353c9de9449928dc
-DIST semver-parser-0.10.2.crate 23176 BLAKE2B a946a635d207f14a59f3b5db3d0a6dd8ea283bfade3fc15f07bd9f19087bc12203591a17d697692ca12abf3618481d53f4e7492b80e7233a519bfefa49b95da0 SHA512 154a6905eb5fb854450a0bd00381f93ededd6f1a992103a53464429195102eb266c7e8681e89cf952223a51427fa17c0a36e3b7c2eb6d375b309e5fd3d721f1a
-DIST semver-parser-0.7.0.crate 10268 BLAKE2B e46b7cf9d292f8fc54561fca4df8534dc96f6be920a5c869c405ddb31b9d1a18eab0799207113cf4910a52cc0df5017ab1bc1883a7c3787ebf2d60f09ac0ab4f SHA512 17320468ec6b9862d595f358d70c09ac6e09db7885fe0ead7a1e596f79350a6306e8bfde5bbd6512008a7c5454da1c7ae55fe1e3bc1c1ff02ac9df54c0a6121f
-DIST serde-1.0.125.crate 75144 BLAKE2B 0823f4cec3704ce5232c266fcb69323dbcd93d2d15712abcc8cc61a2d123d662ae8153a32b3723324ea55a40f2b9101ed654cced45c500fcf399b9d7ccc113b8 SHA512 ed2819d678e7405e2d8a0cc1b43540abf2ad8871eeda4985af5e37016a42b938d7429c4e865cec2ae5364cc7fbe1052a5a46ea51b42c3ed5b9c7c1acb596ac3b
-DIST serde_cbor-0.11.1.crate 43947 BLAKE2B 4c1dc444089276b4bfb1b1237eeaefbb6954fa8b613e539fa6eabe01ddda990be50c5e5ce72e5f765835224e9de4fb0fdb26d2fada2b18d6b03f77665e2c41cc SHA512 165192ed999cfdbe162abd3aff92f86f4300ffa9347e57fda2ef3c32c69a18183d468db059d9dd80218bf01de15fec6fde7cf6dbb8cc2a6158785484353f2192
-DIST serde_derive-1.0.125.crate 54155 BLAKE2B c99e9e806831dccb3ccca20675e11f603a7348c433a641a46cf9a448a7a8b7ee242d0d6110780089b08e88b8f33aef5b75e8b1d25e2e6d242a44e9093b2badfa SHA512 dd4e247c9581b437157f37e355bc3335a3927417920acce72e73d6fe05a80e19fb3160c72abede7842e7d54749c33a94335fe9f3468c2f561267b863df368a6f
-DIST serde_ignored-0.1.2.crate 12179 BLAKE2B 45b8cab135fac2d7b23443462fe630212ae170207061f968540dd2b86a1f8c1203a185dfaa158f87dc36ceb8f769ea6c57e67c1497f2374444424237b7275af2 SHA512 c6f76051a5397615eea4aa953535ffa227cbdd6747f8f2ed0bf57d0a0b7bfa71536d8372a6cb8eb046b9a761e36f273e019754f607e6c84ae71bce25e25132cd
-DIST serde_json-1.0.64.crate 115138 BLAKE2B c61a404db9800cfb4e2ac29d4e287a7c8f388b62407d5e25e07514e2840fdf9c127476db35cb556b56143755c64c26be1c6b1facc7529067b06946ac8f54a573 SHA512 55a45dd4c60fd93d2d9331f6a8eac39fdfece9ddc1aae45ea27e3dfa81352f08c71bf03906ba99d0feb5df8d847b68547ecaa8eb5a2c76011ebbe8d4cd5bfc2d
-DIST shell-escape-0.1.5.crate 6847 BLAKE2B ccd71a73b217b375843d3f0a762b3f5317bc0fdc8e43380a17f25e1ffdc391de0af7b0e4472be23241a6654f5b6ab799a51bbed8da35295322002c54ad84e9a5 SHA512 848f8d47d802b82e83f113fb07f44fe962628379481d1bef9d15f2e5821a382c9928c32175652361aae9fe4c8fa5c1dc1c89350db6ef5e68691bae4a3742df93
-DIST shlex-0.1.1.crate 5687 BLAKE2B 8e2942051c783369a8161b667f8f5b73b2081f766db26d685b4d3060f8faeecf78e8763ab927149d4cb08a29af756105f7ec3c3408ad6be2e7618053329fbed2 SHA512 a4d202897861ca7955a3561dc1b0fd0307d77948c9b97aa0f8b9caff2b9721d2836a08760d308675973b0e9c7bae92e4d5fbd2a2497cba9e5aeefbe31075e069
-DIST signal-hook-0.3.7.crate 49462 BLAKE2B 9238e39216b0a3e2e44e43c7f55b719da8766a8d113c76be16efa5c17335d2298a30a7da6286876c39cf5ef319d773b58bdb3482ab1fae87430a97964a8406e0 SHA512 80aae49b5c780c1e4db4d1ee038681a7df35bd5902b540af5c48f756dcbd2400477a64fb7e46520f78b4376d89c5f7f8aea95d787e0fab47a2cd57eb9f1d958a
-DIST signal-hook-registry-1.3.0.crate 17786 BLAKE2B fbd4284bc1020145b92557a99628b985860bd5020cc870ceb6067933c8e58be11d7bdb3c1f715231ca2f0ec2930487ceb88a82d9b9d1c0a31bfcf4a581a002f4 SHA512 2576d474c490deb6cbd759985f55340bb4e4ae0abac3ee02055bc30fa4008fc96ebf4d96f0a85c634b4f04d57b00243625194b333cf330f59fc82286bbeb30a9
+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 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 sized-chunks-0.6.4.crate 43783 BLAKE2B 38f86301d615deebf1e6aacc7a462ff8997c5aa00eaf7e074b64c28072fd6a9649424c6f464cd804517407b9456971475eda2adcf32791ad58462dcc2ac38c75 SHA512 bf4f2b41dfd2c8f8cab9fa54f85f5ca4d600f0ccfd8d70efedce03eae3905e7c598ea19e5b11b925d2e16fd9eb633b03d9b5f61ef294e47f4b139f336bb6a71d
-DIST socket2-0.3.19.crate 33782 BLAKE2B 1ab3c61a439c1594e19c4a14958d0a85b54666532d16eaa9a1e40e586b7707b1c7b5a751fb373f16bcc26510abc25e0321808e721c0b33b7b04416b9f6cbc5bb SHA512 113d902ca0b966bc0bcad71e3b7d715c79cd075d9dd7fc4140a042bac91b3ce692fb0f1fd0216fa3f6286920b4a92e1a4c342d7ae8d1d98ded36e7480ddafec9
-DIST strip-ansi-escapes-0.1.0.crate 7972 BLAKE2B 39f227ba45b044bced56e944fc0ef147be93338bbfd76be5feb90e73e1faa0e0b337b6ebc6d57fe14dce11ad13e48f6db87d24c28f06b09978520c71b0e3f047 SHA512 6a8da540a7f3f820d64202024e449da7b0dc45832c4c3637cf4c8d6136098579463a1b7108c03923d2582479193e52dbf23039c4b4d0f875384066a611514a45
-DIST strsim-0.8.0.crate 9309 BLAKE2B 40a8be506c43ee1ffe006ddc7dee98c3d418bdd205d57b78f5d1e4c9312feb57e1eaf952e02d92d4e0932db240c6fba45beb06ea8c4fc6de1cf1faa8b6a3a939 SHA512 1d55a8d946cd55f5f37d06aea536549ded95739fa58c0f2da285a0041154c181f663682bdcac643aa198b3e762d694a04f058db985c62ebe22b5c16327ba6d34
-DIST structopt-0.3.21.crate 50761 BLAKE2B e48bbec27a34ef80f28e21d42b5acc8b2cf012e1944a6b7f6395f4bd420281e18767dacabed0ca37d94ad26e73ed201c9df06d5cd781a4c107b5741eb0880e53 SHA512 df8592f10456a5b1a7bc7b290357c069ce4eba14d2558ecd6face231e49c748a8892c31ffad000b426e8180d3e4dd607329db91f4b5617e971b2edda5bab42f1
-DIST structopt-derive-0.4.14.crate 20116 BLAKE2B cfeb48f5e4906ca24b61afc085a5dc41edc6f69c6060a1cd7e01b844b076928111e4be2f24b3cb28e7704c09bdbbb3c3a1b2f9012ae9e23cc5f795af91fb1245 SHA512 bc20dd9d10c6dc1f5975b074a63eb84b49385ad272b62d8526962e88b28cada3998c3944dedaf8560d6577871747b875cd399dfe06851472c0a1c81fced429a0
-DIST strum-0.20.0.crate 5172 BLAKE2B 755be909504b106848079cd975331dafdf24914ebc22e5642d2b0e867a3619eb7424bea818cb3228d17baaafcc6ffe6ded22a5fa802e96e3bd685c7f94391cbc SHA512 4de0497d47ed09931107a7ee8a7b87fc00c38ea578b7c5910df98c71b3df0970b3cf0d629844c0e9a52864d43887cb435c0f419d26a68a23d0211ab0e86d1989
-DIST strum_macros-0.20.1.crate 15634 BLAKE2B 61b36751545b80297a8f66391175cedb8bce5a144014eb789101f9adeecdfb85b76b598f9db556b64804158dc8118f3f9bbc49f13a4c99192bf68d40017fa4cd SHA512 c209a690370b50698c7489210dd799bb10e53b3e6fc84db370ca7aa3f205694a8f07071d25a75f37970a650bf1fc047e2e5ea4dc588c2604c980211276a6580a
-DIST syn-1.0.67.crate 231889 BLAKE2B 28807964411994b126e132c42b1361d55788a641da24773d1f1006373d3c21048f78553682441766b7257e5b4a4a1833954075fd2c4965f949d8465ee57a3ca7 SHA512 06a5f203c7e4c6f6bed489bea7e171cc8f29020401eb32405373a838526c6a5bed47e1310f41636d475358c420b82837bc7c1f90374fa6d0e842dd0224de3552
-DIST syn-1.0.68.crate 231887 BLAKE2B 2e2547391fcd7a9854cfb888448eb89cdfd19ac20e9d909782ff11eb5bbd0b00717b3892199c2c88d005b8fda358ed10828a3f5a123a8d6416910d3b78971d5b SHA512 3023baeacb0164db641e809ac46fa48bdb8ff725e6c767764fa23552d53605dcad3d629f9c7a976a01ad7dd423595575d41c338223df5f7b72c417a97793414e
-DIST system-deps-2.0.3.crate 17504 BLAKE2B 87a175214b612ce03810378f65ae36bd35f873271de9bc3ad9e29cfabc1f741ca0e4ae719807e12a8bbb172921b75c47726b1ac0676ad2abe761fa217f774dd8 SHA512 9b1c4df589b1f0d0771ca8e10cf94a884a4f615bf2e8ec993e1dfd3f42273b3b188c81e0bdad1637b9ede1e223fe9bba44542058f150379c3c87de24b414bb79
-DIST tar-0.4.33.crate 45448 BLAKE2B 380f20835bf04624c87201f54f575ce6f94a2ddcee4e58917777ce069fcc822101994d8b9f1f3a249d25e62d59527001807842e650edc9fbf7cdf55f65615da9 SHA512 69c5932790c2448d6d754a622066564027414ceff5b555c928f55f627c9e5e7c192e0c13f93af48d64d37d4f9f56c0cf8feeb3fe17d3861b277c66bcb8b1d9ec
-DIST tempfile-3.2.0.crate 25892 BLAKE2B ea6870c642c5712c7c96072a5d3dc04d75c19cf1413081e3bf53c1ae6c75e05ab537446071cadb5460b34f7fb7715a03005a1335a64139458db938c3415f7c0d SHA512 56d1c5af7cb6863f9eac990354126979534aae7bf298bc8b1c918c7317ce2ba31f53089aaa1ecf8baa4a39d4111d74f4450be82b509b3c2aa0428880029e663a
-DIST termcolor-1.1.2.crate 17287 BLAKE2B 5ff748064c9fb6663befce2fd299edf6a6deb06ea72d21a62d6e77642934cca0933e10340fa84f636631cc08c76ba83ef2284b2212759129d54248e5fccb4c49 SHA512 f37b034345382cd621b1344a3fb301ca3d4d9db8b5858ac1ea82372c983229fce3c0ea8213d6b7e91291b6034affe11e2c3e593dbd95256294ce5c584b33e14c
-DIST terminal_size-0.1.16.crate 8755 BLAKE2B 33cfd9a62bdb77bd096563330ee5f07465d69c16659294a9e6ebeccf3d49e17473185fb84c2a4b50d29b084da0633b2ac4bf41801b0bd17f5c927d9bf68fdce7 SHA512 afefb529a80249ec398b444f593b6010b2a85e65e29557373cec72ee18bac5a5359aa2da3cda28d494f34c8eaddfc8a82029fb936d49726261ae0c5557bd5c17
-DIST textwrap-0.11.0.crate 17322 BLAKE2B 257428908342774593bbd3528fcdae710712ff54e8a711393a24356d8ba0e16e466a4b20c05f942c48ca76b3b5b5aaa90ec202f782cad892caa8b71ccf124da6 SHA512 f5c0fe4f28ff1a3a0931e8e235b5157a45f67967985bcc752418c5ec3481fca44a8ae4800088889b37e8cd0533f53d3c456d5ffd19b767b3f83a87b49a2e209a
-DIST thiserror-1.0.24.crate 16580 BLAKE2B 5cda4153e32ea4cf2f4f45fb60f18230dca61bc8d9b76aa598f7336babba8d6615d929ae325c84976ac60f4e8afa803f96d1b2afb6369445934e1e657bd9c846 SHA512 38ff620f1d33041600faaf3162ca0c1cfbe191100b6442513e4076a35296e97e28dedfda25dd0d7613f6a81b6b72816c11ac37424d94baa295142b1002d0e962
-DIST thiserror-impl-1.0.24.crate 13361 BLAKE2B 4ae667e69d3dbe755cfb07083649c6d41bd5bddcfbe1d8954980e93390fb8eb51ffce6fb2d24c51fb676b6e75051ac66cff8c0cb3ad6683275581749f7c9f9f5 SHA512 4309506b8cf939e6a400542dce772b951d40faff3b2fb765ef87299547615fe18dfb877844b5ce892c594623a2de941a32629e53e2d59b03f611cfefeb169db5
-DIST thread_local-1.1.3.crate 13111 BLAKE2B 1ac2d9f6b9d5f685857cec0377f41faa2941614c9a0642b8c8d209590ce72c0dcf16f89b5da58d016b26a41e6103407811658a81217716cde0b0c69bc3939877 SHA512 89fe00c005b2bcbb77f2286475dc04f1400b3cd3bc165162f70c1a91f7fe98132f5d0a65e5f1bb36fd8c33617e6d548f3a68df7a2302ea3a177717c71fc112b6
-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 tinyvec-1.1.1.crate 39896 BLAKE2B 7655703bb7c3eda6a4bfb78c46cd10d5bd195ccc9aae9b8eab78c1584c904a6ac1a75511952b7f63eb953590b0b3a3c436296c13b6dabba11d279931ca769442 SHA512 de8de26bdb39d4b2255099b85c116a95b7f563f27549816d360a7cf68f04d3940745236aea4c73eeb86ed5427ae5f65d8936f0d60dae9b16076827134d77281e
-DIST tinyvec_macros-0.1.0.crate 1817 BLAKE2B a3d1966bf57c11afcd026269135a6189f149f905bb70b47537c0a7bcaef0bfc6c89bdcbdb0f6cb8e5255632855134631c683fc90606a254ec8ba818fd5ef0794 SHA512 d6afc83a3c70cde916a6ff599e2772588e4bbfa7a5b1c7e5c8aa0f4a8a5c9426182497a644e4a88194ece986d38fa64b6c8eda9eb1630441c8e65a8741a45873
-DIST toml-0.5.8.crate 54219 BLAKE2B b4f9f563e5ba4574d4f2dcbe244378a2e1e984bd9fbbbfa5a06bdd5f8b8d677394f0db9cb8696f6936c80a52caa86b1b3ebaf3885c53855af23f03d318785f19 SHA512 26b7901ee4b7cbb4cf8ea57d365a99ed05e0a76e73452e47d4bcb3b4eeb7bbd393c13eea9ea33dc13622942efcda39acdba9425b74b40c920c9f19673a1f2082
-DIST treeline-0.1.0.crate 3855 BLAKE2B 3347bee24c686a6b6890f85b60429d36b14f2738e6a5e5adcd493d099b097a8087f7c61f4c155fd8b3af3982a97da31740353b4d036ae451ed8944a9b0feaf75 SHA512 37a7c7e95855fdf0fafe5b529eed6c6cfc641da799bc6738a5649a9a0c3db2ef3e63d692862a987bc19263f33b6df2e8ae71b49fe30160d6d470cbb804511824
-DIST typenum-1.13.0.crate 40238 BLAKE2B 5e5f9c8c60a4406c5a9a487033ddf7e8fd835bc255547e8b3f94c966e0f661f9b8a2f4a844661c00ee3c7e01f9fa109ac79c6bf53a064335c317dc9d9f8b0923 SHA512 0cd0b884509a5b4a252bed10309139350fce24b5d4bb887f4c0757ed18cb2481e331d7dc32fc81f4cabeeb5849e89ea5d92ea9815cb2985e5df4a022ac703de1
-DIST ucd-trie-0.1.3.crate 44615 BLAKE2B 491f604d63446dbccf5176333edd159ac56261a9aa76efecf57e9a11ae017a6cba975658a4ffdd310561704fb0831686fb7770b1142b4ac495f01e26de51b099 SHA512 54d43b3824669aa20b725c7747f4fb65bd24e620670c968c1bb0094a0503773acda921b50a0b200c1ea0f84e1e059883c1704bfa5a856d2e2ccda116fb8c3e2b
-DIST unicode-bidi-0.3.4.crate 32228 BLAKE2B 853a85b29d1ac2025b7a28af64ead9387e3b4b1e790ad719d4374e349c1853ddbb5959a2890d9d6c94a5c28e4523fc3324deb6b1ed1aeb5e917f21b0e2516f6c SHA512 170ce083fa82bed13ecc62d85cb882fdd6491ae721e1633d3c1a5d3cee69422153afcf6695765c0e8fc7035440d0370d34afac9e978cb27f7506c07cba300e1e
-DIST unicode-normalization-0.1.17.crate 100345 BLAKE2B 2579748ab87f6d74ab8e845d88c1990e4ef32e46e38f9a1841e3381d257d973f2f8a9da359c8e3f11790a888acf81f548ed3b749a67bb3e95acf3b744dd063f3 SHA512 727b4844a4eb103375dff7d88d620e1fb581cbdf2523f07a5c1673ff333d772d48ffae7658bfe4816a5bb42de5f68a96e15be9341c540a0f746c2990eeccb3d6
-DIST unicode-segmentation-1.7.1.crate 93066 BLAKE2B 80058a79c64972dfff897b08a24e9f18ae0fa312a50f86fc321961eeab83c5546bdbc30534315870d891e648bde1d7d77f459ec9744455bdebb94bf6e326f2ef SHA512 183ca68d456a8d53e6f255129e8fd07b87d8da23b8f18187231d6fa70dac80e4069eb6c501d45155d9f0050b6bd713964e55f0e4b25a40546c4d245a17fc8dc6
-DIST unicode-width-0.1.8.crate 16732 BLAKE2B 5aa7b87eef1322e4151a3fcf981ade311b8fa030527d7561815950e58d3f15156163dfe34da6a708c37dccc3f7652bf7fc2cd899fe8bb0118b67c4113ff3a2d2 SHA512 0abba6da6981a2451e01d93bbd47652c46eb6fb07cc0214f33259fb29945bfd5ee2b302e883ddca8f68e921635f222701b7310e7da2a5e225f854980d1e474b0
-DIST unicode-xid-0.2.1.crate 14392 BLAKE2B 7f8f91b9c4df55f2137b754208d4f2997a290acfc9393ee2dcda8195eda25cb342e56ad123f56bb298d93db5248a749c18a982423c9a0e85ce93f7a1eb55d289 SHA512 91e862137e837baea82829431cfed36634fdb05339f00c756eb5a4b429ef0bb871f5133d11adf9a023fa22168c8a0cf194ff3669779f04f219d48fc4fac339d2
-DIST url-2.2.1.crate 65434 BLAKE2B e9180c56afaf9dd781812b3650b28cee14a2330629e708bb8a67144f6c12e3781d07fae68166990bebaae60190a1a88dfa1d087d4982ed04d8cdfa59ae4a0d7e SHA512 f2065e68dd917cc174c222a44127ac10a59d25a87ccce6b88ac1e1e775856fd7d5931d728296db355117f94e71e12404fdd68a283545b543a2e00a659a6997ed
-DIST utf8parse-0.1.1.crate 13995 BLAKE2B 6b1de4afdb2837a76637de72f6e6a81e73aa683d8da04ebc94cf7ee3c542845d2244e721840511ee2725320f2f882722e2bea67914435131d7af1ab29291d1eb SHA512 543d4daddce8248b181deb1c3952ca15303d78616480b23af163ca6253a059b5ce9494652839a051c48a47816c3dd719465bbe5bb7930db676a16bcdac47c517
-DIST vcpkg-0.2.11.crate 12600 BLAKE2B 1c44c8df531a75f686c0497e70a72aa0c1b554c02ed256e6b08407b17066ed949f03bda42645d56e1227b50dc4c0e3865f10856605c2eadab3b74f55f005789b SHA512 d67bc244c81827165bf976808f79fd02f9149a19006898e60ff8ef11df2d72657c56bc9fc14c8f91b091075ceb23c3f96a3df81be345bb01881679eb47a0e6e9
-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 vte-0.3.3.crate 2397439 BLAKE2B 213fccf5b1f09b2d23bca57be2abec0a3580ab01864c51dd364676f5c66decc5184ef15f0e484f9a94e892f118863655f4b2ed2a340a47276b3fe7b4db901dec SHA512 5e00e8409ef21edb5aa6fbe482785fd5969dd17a6695f82328c4ae12ea8622712dc3473f33832fdfe0cc2395411431fd47842e86e35022149d5e958c4e5f8fe9
+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.73.crate 159293 BLAKE2B 3ad8a4221d5a3824d8c7788294b3b3b571ba4d676c782f7890be6f0f8acf5fc88166b8bf28933bb7511a388defa5ebd968b8fb8a69bdc424ff8ae64fddba1d16 SHA512 69b070d71df7b5539a9b45cb61704629cb917626e8e9f892ff684007647c36aaa04b7413f1f87eee7fffbcf28550b2d9e632c3747cd1a73a2a75043ea0849722
-DIST wasm-bindgen-backend-0.2.73.crate 25434 BLAKE2B 63298c33497fac327ecf31f2dafa3681b906c8d0a873a80bce1282c53a6d63aa8b0d30b8962ecef1f9a0986ab481a41b79cba5b8180f48b084d04fb0c6ba4577 SHA512 853fd0e354aa41706e19de192c9872812072cc881520f8c81b94eadb0cceaa693855598380dcb7729c8c6125eb90cac440453545a5fff0e40714038c86ff2cb6
-DIST wasm-bindgen-futures-0.4.23.crate 14760 BLAKE2B 3b783c6056e7566197f68c9f18c557328b8a32a671247497999107052a3e51d2e616d5dd03f5399154b3cafd002b953dfc2850e9d018031b4d4ed3b940a09505 SHA512 344f2705a64f0618584c5a9ad0a026f156918873ad6fafbaf92d57b564445ab6d557d76233445ec263a18a0bb19b6be7d1d7710d3f83b25114ea1b621fe102d9
-DIST wasm-bindgen-macro-0.2.73.crate 11545 BLAKE2B 481800c0c118048b29733a3bbe11ed5c816c1b5496b10b4142310d79ab6b825eb12280cf3c7304e768e6c8acd77105faa8574cf21afbf27810c9b7eac31010b9 SHA512 7ac842e68e6ba577b33df50ebe5c5fd250b1f4bc4e1ec1112be4fc806980d21f73f33612b14024626904a6116a8c72b83f2b7c5405fc111cd2164b4744f843d1
-DIST wasm-bindgen-macro-support-0.2.73.crate 17835 BLAKE2B 8e18ef319106273d3f41e947bd1f5ffa7a91e04f713fd67fa0bb697579ae51bbcce75b48a91949aca8e64e6f52ed35eda6b49cec366365126115a9c30572281c SHA512 22e322840ebda05ffdd2f4ffd07745d0f24b928e3425c66425392560f8dd59b007f80d7c4e4a01dafd83c09d76953ecc2cd61d362219791ed88f7f4ecc56960d
-DIST wasm-bindgen-shared-0.2.73.crate 6691 BLAKE2B fbde26dfb5f36474ed3e01f7254dbe742a205cacc85848b85efda09c22e1f9fdb464bd3b7a2c429b73e4f5f3095803e9e477cfb81d6bcc779c04c2602c465bb6 SHA512 d3a28e4bf42071496f2e48c3ba3134a06856be12deac79fe13d1e2e7da8018d5e7f220f4dcc02fdda9eddfc2d52ceef18cd180db7d2bcced44e88a36304f947c
-DIST wasm-bindgen-test-0.3.23.crate 15577 BLAKE2B ad5e671ec812142fbf498ed1dcbe7e62708004e8396bfd35ea4d75589e1f4270ca926554459eb57a76b5e4971065dec4a3bfe950c7a66d3b9043720d1ea1dc57 SHA512 06c4a0f996deb0da292b126fd21f94bbddf16c4be00d9835759cbefc5f4c5eca276ce0e4a762dd3c42104fe585469c7be0fea13e66ffd791ec4e15d5aad89d5a
-DIST wasm-bindgen-test-macro-0.3.23.crate 6337 BLAKE2B 31af4921ba1a6dc8b5300ce4d4b4f31efe7aae1fc3d744f5f85935aca98578622f7d087b28a7f379cc6349473f67cf2fd6b04784d656e7a23a5b0a62482dcd1f SHA512 eb7de7f94380678d2691d1cc53acb59cf27d88153422b685c6d30b42a05214001a43ed282369f8faa67aeac395e858d2bc53c285c8b3a5e8a5c11323a9f2db0a
-DIST web-sys-0.3.50.crate 650100 BLAKE2B 448227dfbb6b91ab316ceebe554c9d9b89c397c25cd465f2e8a77560f185eb7308caf3b6052946e691d8fc22d6d382a0e3f164f7d29d873591ce17da792a993a SHA512 32afbfd3021c6cc4f228fc1762a4e29935373f4e7c572128723b508e6ab9588f3737167b91d5837e05a08c0bd182dd339c8f16b71e8a032f7e735cd619949d14
-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/metadata.xml b/media-video/rav1e/metadata.xml
index 54e8815f09e4..23d811f8888c 100644
--- a/media-video/rav1e/metadata.xml
+++ b/media-video/rav1e/metadata.xml
@@ -10,4 +10,7 @@
<use>
<flag name="capi">Build the C-API library and header file</flag>
</use>
+ <upstream>
+ <remote-id type="github">xiph/rav1e</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/media-video/rav1e/rav1e-0.4.1-r1.ebuild b/media-video/rav1e/rav1e-0.4.1-r1.ebuild
deleted file mode 100644
index 473edb5e1c46..000000000000
--- a/media-video/rav1e/rav1e-0.4.1-r1.ebuild
+++ /dev/null
@@ -1,329 +0,0 @@
-# Copyright 2017-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CRATES="
-addr2line-0.14.1
-adler-1.0.2
-adler32-1.2.0
-aho-corasick-0.7.15
-ansi_term-0.11.0
-anyhow-1.0.40
-aom-sys-0.2.2
-arbitrary-0.4.7
-arg_enum_proc_macro-0.3.1
-arrayvec-0.5.2
-assert_cmd-1.0.3
-atty-0.2.14
-autocfg-1.0.1
-av-metrics-0.6.2
-backtrace-0.3.56
-bindgen-0.56.0
-bitflags-1.2.1
-bitmaps-2.1.0
-bitstream-io-1.0.0
-bstr-0.2.15
-bumpalo-3.6.1
-bytemuck-1.5.1
-byteorder-1.4.3
-bytesize-1.0.1
-cargo-0.51.0
-cargo-platform-0.1.1
-cast-0.2.3
-cbindgen-0.18.0
-cc-1.0.67
-cexpr-0.4.0
-cfg-if-0.1.10
-cfg-if-1.0.0
-chrono-0.4.19
-clang-sys-1.1.1
-clap-2.33.3
-cmake-0.1.45
-color_quant-1.1.0
-commoncrypto-0.2.0
-commoncrypto-sys-0.2.0
-console-0.14.1
-console_error_panic_hook-0.1.6
-core-foundation-0.9.1
-core-foundation-sys-0.8.2
-crates-io-0.31.1
-crc32fast-1.2.1
-criterion-0.3.4
-criterion-plot-0.4.3
-crossbeam-0.8.0
-crossbeam-channel-0.5.0
-crossbeam-deque-0.8.0
-crossbeam-epoch-0.9.3
-crossbeam-queue-0.3.1
-crossbeam-utils-0.8.3
-crypto-hash-0.3.4
-csv-1.1.6
-csv-core-0.1.10
-ctor-0.1.20
-curl-0.4.35
-curl-sys-0.4.41+curl-7.75.0
-dav1d-sys-0.3.3
-dcv-color-primitives-0.1.16
-deflate-0.8.6
-difference-2.0.0
-doc-comment-0.3.3
-either-1.6.1
-encode_unicode-0.3.6
-env_logger-0.8.3
-fern-0.6.0
-filetime-0.2.14
-flate2-1.0.20
-fnv-1.0.7
-foreign-types-0.3.2
-foreign-types-shared-0.1.1
-form_urlencoded-1.0.1
-fwdansi-1.1.0
-getrandom-0.2.2
-gimli-0.23.0
-git2-0.13.17
-git2-curl-0.14.1
-glob-0.3.0
-globset-0.4.6
-half-1.7.1
-hashbrown-0.9.1
-heck-0.3.2
-hermit-abi-0.1.18
-hex-0.3.2
-hex-0.4.3
-home-0.5.3
-humantime-2.1.0
-idna-0.2.2
-ignore-0.4.17
-im-rc-15.0.0
-image-0.23.14
-indexmap-1.6.2
-interpolate_name-0.2.3
-itertools-0.10.0
-itertools-0.8.2
-itertools-0.9.0
-itoa-0.4.7
-jobserver-0.1.21
-js-sys-0.3.50
-lab-0.8.2
-lazy_static-1.4.0
-lazycell-1.3.0
-libc-0.2.92
-libfuzzer-sys-0.3.5
-libgit2-sys-0.12.18+1.1.0
-libloading-0.7.0
-libnghttp2-sys-0.1.6+1.43.0
-libssh2-sys-0.2.21
-libz-sys-1.1.2
-log-0.4.14
-matches-0.1.8
-memchr-2.3.4
-memoffset-0.6.3
-miniz_oxide-0.3.7
-miniz_oxide-0.4.4
-miow-0.3.7
-nasm-rs-0.2.0
-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.0
-object-0.23.0
-once_cell-1.7.2
-oorandom-11.1.3
-opener-0.4.1
-openssl-0.10.33
-openssl-probe-0.1.2
-openssl-src-111.15.0+1.1.1k
-openssl-sys-0.9.61
-output_vt100-0.1.2
-paste-1.0.5
-peeking_take_while-0.1.2
-percent-encoding-2.1.0
-pest-2.1.3
-pkg-config-0.3.19
-plotters-0.3.0
-plotters-backend-0.3.0
-plotters-svg-0.3.0
-png-0.16.8
-ppv-lite86-0.2.10
-predicates-1.0.7
-predicates-core-1.0.2
-predicates-tree-1.0.2
-pretty_assertions-0.6.1
-proc-macro-error-1.0.4
-proc-macro-error-attr-1.0.4
-proc-macro2-1.0.24
-proc-macro2-1.0.26
-quote-1.0.9
-rand-0.8.3
-rand_chacha-0.3.0
-rand_core-0.5.1
-rand_core-0.6.2
-rand_hc-0.3.0
-rand_xoshiro-0.4.0
-rayon-1.5.0
-rayon-core-1.9.0
-redox_syscall-0.2.5
-regex-1.4.5
-regex-automata-0.1.9
-regex-syntax-0.6.23
-remove_dir_all-0.5.3
-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.18
-rustc-hash-1.1.0
-rustc-workspace-hack-1.0.0
-rustc_version-0.2.3
-rustc_version-0.3.3
-rustfix-0.5.1
-ryu-1.0.5
-same-file-1.0.6
-scan_fmt-0.2.6
-schannel-0.1.19
-scoped-tls-1.0.0
-scopeguard-1.1.0
-semver-0.10.0
-semver-0.11.0
-semver-0.9.0
-semver-parser-0.10.2
-semver-parser-0.7.0
-serde-1.0.125
-serde_cbor-0.11.1
-serde_derive-1.0.125
-serde_ignored-0.1.2
-serde_json-1.0.64
-shell-escape-0.1.5
-shlex-0.1.1
-signal-hook-0.3.7
-signal-hook-registry-1.3.0
-simd_helpers-0.1.0
-sized-chunks-0.6.4
-socket2-0.3.19
-strip-ansi-escapes-0.1.0
-strsim-0.8.0
-structopt-0.3.21
-structopt-derive-0.4.14
-strum-0.20.0
-strum_macros-0.20.1
-syn-1.0.67
-syn-1.0.68
-system-deps-2.0.3
-tar-0.4.33
-tempfile-3.2.0
-termcolor-1.1.2
-terminal_size-0.1.16
-textwrap-0.11.0
-thiserror-1.0.24
-thiserror-impl-1.0.24
-thread_local-1.1.3
-time-0.1.43
-tinytemplate-1.2.1
-tinyvec-1.1.1
-tinyvec_macros-0.1.0
-toml-0.5.8
-treeline-0.1.0
-typenum-1.13.0
-ucd-trie-0.1.3
-unicode-bidi-0.3.4
-unicode-normalization-0.1.17
-unicode-segmentation-1.7.1
-unicode-width-0.1.8
-unicode-xid-0.2.1
-url-2.2.1
-utf8parse-0.1.1
-vcpkg-0.2.11
-vec_map-0.8.2
-version-compare-0.0.11
-version_check-0.9.3
-vte-0.3.3
-wait-timeout-0.2.0
-walkdir-2.3.2
-wasi-0.10.2+wasi-snapshot-preview1
-wasm-bindgen-0.2.73
-wasm-bindgen-backend-0.2.73
-wasm-bindgen-futures-0.4.23
-wasm-bindgen-macro-0.2.73
-wasm-bindgen-macro-support-0.2.73
-wasm-bindgen-shared-0.2.73
-wasm-bindgen-test-0.3.23
-wasm-bindgen-test-macro-0.3.23
-web-sys-0.3.50
-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/"
-RESTRICT=""
-LICENSE="BSD-2 Apache-2.0 MIT Unlicense"
-SLOT="0"
-
-IUSE="+capi"
-
-ASM_DEP=">=dev-lang/nasm-2.15"
-BDEPEND="
- amd64? ( ${ASM_DEP} )
- capi? ( dev-util/cargo-c )
-"
-
-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.4.1.ebuild b/media-video/rav1e/rav1e-0.4.1.ebuild
deleted file mode 100644
index 28899deacae7..000000000000
--- a/media-video/rav1e/rav1e-0.4.1.ebuild
+++ /dev/null
@@ -1,327 +0,0 @@
-# Copyright 2017-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CRATES="
-addr2line-0.14.1
-adler-1.0.2
-adler32-1.2.0
-aho-corasick-0.7.15
-ansi_term-0.11.0
-anyhow-1.0.40
-aom-sys-0.2.2
-arbitrary-0.4.7
-arg_enum_proc_macro-0.3.1
-arrayvec-0.5.2
-assert_cmd-1.0.3
-atty-0.2.14
-autocfg-1.0.1
-av-metrics-0.6.2
-backtrace-0.3.56
-bindgen-0.56.0
-bitflags-1.2.1
-bitmaps-2.1.0
-bitstream-io-1.0.0
-bstr-0.2.15
-bumpalo-3.6.1
-bytemuck-1.5.1
-byteorder-1.4.3
-bytesize-1.0.1
-cargo-0.51.0
-cargo-platform-0.1.1
-cast-0.2.3
-cbindgen-0.18.0
-cc-1.0.67
-cexpr-0.4.0
-cfg-if-0.1.10
-cfg-if-1.0.0
-chrono-0.4.19
-clang-sys-1.1.1
-clap-2.33.3
-cmake-0.1.45
-color_quant-1.1.0
-commoncrypto-0.2.0
-commoncrypto-sys-0.2.0
-console-0.14.1
-console_error_panic_hook-0.1.6
-core-foundation-0.9.1
-core-foundation-sys-0.8.2
-crates-io-0.31.1
-crc32fast-1.2.1
-criterion-0.3.4
-criterion-plot-0.4.3
-crossbeam-0.8.0
-crossbeam-channel-0.5.0
-crossbeam-deque-0.8.0
-crossbeam-epoch-0.9.3
-crossbeam-queue-0.3.1
-crossbeam-utils-0.8.3
-crypto-hash-0.3.4
-csv-1.1.6
-csv-core-0.1.10
-ctor-0.1.20
-curl-0.4.35
-curl-sys-0.4.41+curl-7.75.0
-dav1d-sys-0.3.3
-dcv-color-primitives-0.1.16
-deflate-0.8.6
-difference-2.0.0
-doc-comment-0.3.3
-either-1.6.1
-encode_unicode-0.3.6
-env_logger-0.8.3
-fern-0.6.0
-filetime-0.2.14
-flate2-1.0.20
-fnv-1.0.7
-foreign-types-0.3.2
-foreign-types-shared-0.1.1
-form_urlencoded-1.0.1
-fwdansi-1.1.0
-getrandom-0.2.2
-gimli-0.23.0
-git2-0.13.17
-git2-curl-0.14.1
-glob-0.3.0
-globset-0.4.6
-half-1.7.1
-hashbrown-0.9.1
-heck-0.3.2
-hermit-abi-0.1.18
-hex-0.3.2
-hex-0.4.3
-home-0.5.3
-humantime-2.1.0
-idna-0.2.2
-ignore-0.4.17
-im-rc-15.0.0
-image-0.23.14
-indexmap-1.6.2
-interpolate_name-0.2.3
-itertools-0.10.0
-itertools-0.8.2
-itertools-0.9.0
-itoa-0.4.7
-jobserver-0.1.21
-js-sys-0.3.50
-lab-0.8.2
-lazy_static-1.4.0
-lazycell-1.3.0
-libc-0.2.92
-libfuzzer-sys-0.3.5
-libgit2-sys-0.12.18+1.1.0
-libloading-0.7.0
-libnghttp2-sys-0.1.6+1.43.0
-libssh2-sys-0.2.21
-libz-sys-1.1.2
-log-0.4.14
-matches-0.1.8
-memchr-2.3.4
-memoffset-0.6.3
-miniz_oxide-0.3.7
-miniz_oxide-0.4.4
-miow-0.3.7
-nasm-rs-0.2.0
-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.0
-object-0.23.0
-once_cell-1.7.2
-oorandom-11.1.3
-opener-0.4.1
-openssl-0.10.33
-openssl-probe-0.1.2
-openssl-src-111.15.0+1.1.1k
-openssl-sys-0.9.61
-output_vt100-0.1.2
-paste-1.0.5
-peeking_take_while-0.1.2
-percent-encoding-2.1.0
-pest-2.1.3
-pkg-config-0.3.19
-plotters-0.3.0
-plotters-backend-0.3.0
-plotters-svg-0.3.0
-png-0.16.8
-ppv-lite86-0.2.10
-predicates-1.0.7
-predicates-core-1.0.2
-predicates-tree-1.0.2
-pretty_assertions-0.6.1
-proc-macro-error-1.0.4
-proc-macro-error-attr-1.0.4
-proc-macro2-1.0.24
-proc-macro2-1.0.26
-quote-1.0.9
-rand-0.8.3
-rand_chacha-0.3.0
-rand_core-0.5.1
-rand_core-0.6.2
-rand_hc-0.3.0
-rand_xoshiro-0.4.0
-rayon-1.5.0
-rayon-core-1.9.0
-redox_syscall-0.2.5
-regex-1.4.5
-regex-automata-0.1.9
-regex-syntax-0.6.23
-remove_dir_all-0.5.3
-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.18
-rustc-hash-1.1.0
-rustc-workspace-hack-1.0.0
-rustc_version-0.2.3
-rustc_version-0.3.3
-rustfix-0.5.1
-ryu-1.0.5
-same-file-1.0.6
-scan_fmt-0.2.6
-schannel-0.1.19
-scoped-tls-1.0.0
-scopeguard-1.1.0
-semver-0.10.0
-semver-0.11.0
-semver-0.9.0
-semver-parser-0.10.2
-semver-parser-0.7.0
-serde-1.0.125
-serde_cbor-0.11.1
-serde_derive-1.0.125
-serde_ignored-0.1.2
-serde_json-1.0.64
-shell-escape-0.1.5
-shlex-0.1.1
-signal-hook-0.3.7
-signal-hook-registry-1.3.0
-simd_helpers-0.1.0
-sized-chunks-0.6.4
-socket2-0.3.19
-strip-ansi-escapes-0.1.0
-strsim-0.8.0
-structopt-0.3.21
-structopt-derive-0.4.14
-strum-0.20.0
-strum_macros-0.20.1
-syn-1.0.67
-syn-1.0.68
-system-deps-2.0.3
-tar-0.4.33
-tempfile-3.2.0
-termcolor-1.1.2
-terminal_size-0.1.16
-textwrap-0.11.0
-thiserror-1.0.24
-thiserror-impl-1.0.24
-thread_local-1.1.3
-time-0.1.43
-tinytemplate-1.2.1
-tinyvec-1.1.1
-tinyvec_macros-0.1.0
-toml-0.5.8
-treeline-0.1.0
-typenum-1.13.0
-ucd-trie-0.1.3
-unicode-bidi-0.3.4
-unicode-normalization-0.1.17
-unicode-segmentation-1.7.1
-unicode-width-0.1.8
-unicode-xid-0.2.1
-url-2.2.1
-utf8parse-0.1.1
-vcpkg-0.2.11
-vec_map-0.8.2
-version-compare-0.0.11
-version_check-0.9.3
-vte-0.3.3
-wait-timeout-0.2.0
-walkdir-2.3.2
-wasi-0.10.2+wasi-snapshot-preview1
-wasm-bindgen-0.2.73
-wasm-bindgen-backend-0.2.73
-wasm-bindgen-futures-0.4.23
-wasm-bindgen-macro-0.2.73
-wasm-bindgen-macro-support-0.2.73
-wasm-bindgen-shared-0.2.73
-wasm-bindgen-test-0.3.23
-wasm-bindgen-test-macro-0.3.23
-web-sys-0.3.50
-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/"
-RESTRICT=""
-LICENSE="BSD-2 Apache-2.0 MIT Unlicense"
-SLOT="0"
-
-IUSE="+capi"
-
-ASM_DEP=">=dev-lang/nasm-2.15"
-BDEPEND="
- amd64? ( ${ASM_DEP} )
- capi? ( dev-util/cargo-c )
-"
-
-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)" \
- || 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}" \
- || 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 77ee1c7cf11d..6e51df483cb6 100644
--- a/media-video/rav1e/rav1e-9999.ebuild
+++ b/media-video/rav1e/rav1e-9999.ebuild
@@ -1,39 +1,278 @@
-# Copyright 2017-2021 Gentoo Authors
+# Copyright 2023-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+# Autogenerated by pycargoebuild 0.6.2
-CRATES=""
+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 ${CRATES})
- "
- KEYWORDS="~amd64 ~arm64 ~ppc64"
+ ${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/"
-RESTRICT=""
-LICENSE="BSD-2 Apache-2.0 MIT Unlicense"
-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.14"
+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"
src_unpack() {
- if [[ "${PV}" == *9999* ]]; then
+ if [[ ${PV} == *9999* ]]; then
git-r3_src_unpack
cargo_live_src_unpack
else
@@ -43,14 +282,14 @@ 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
- cargo cbuild ${args} \
+ local args=$(usev !debug --release)
+ cargo cbuild ${args} --target-dir="capi" \
--prefix="/usr" --libdir="/usr/$(get_libdir)" \
--library-type=cdylib \
|| die "cargo cbuild failed"
@@ -59,10 +298,10 @@ src_compile() {
src_install() {
export CARGO_HOME="${ECARGO_HOME}"
- local args=$(usex debug "" --release)
+ local args=$(usev debug --debug)
if use capi; then
- cargo cinstall $args \
+ 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/recmpeg/recmpeg-1.0.5.ebuild b/media-video/recmpeg/recmpeg-1.0.5.ebuild
index 43d869e72e46..c4ae8876c14a 100644
--- a/media-video/recmpeg/recmpeg-1.0.5.ebuild
+++ b/media-video/recmpeg/recmpeg-1.0.5.ebuild
@@ -1,11 +1,11 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
DESCRIPTION="Simple libfame-based video encoder, compresses raw video sequences to MPEG video"
HOMEPAGE="http://fame.sourceforge.net/"
-SRC_URI="mirror://sourceforge/fame/${P}.tar.gz"
+SRC_URI="https://downloads.sourceforge.net/fame/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
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..2457aa55c332 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-2024 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/"
-SRC_URI="mirror://sourceforge/recordmydesktop/${P}.tar.gz"
+DESCRIPTION="Desktop session recorder producing Ogg video/audio files"
+HOMEPAGE="https://recordmydesktop.sourceforge.net/"
+SRC_URI="https://downloads.sourceforge.net/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/Manifest b/media-video/rtmpdump/Manifest
index 544f56a93968..bd3f5fadcdf9 100644
--- a/media-video/rtmpdump/Manifest
+++ b/media-video/rtmpdump/Manifest
@@ -1,2 +1,3 @@
DIST rtmpdump-2.4_p20161210.tar.gz 142837 BLAKE2B 412a7c3b21738db643042e51e03b11e115ae1d68214e644374e8c10f3b2ab3f659ce1af884135d0e89f2e0ba44ebdf41937bc0f02d875c463ca711d9ae95698c SHA512 76617f02c13d7e8e3a7cf2734c6174e56fb321a881c9e4869bf6393786b193e0c01a8c530ecbf0679cc888c523af5712f2dcb2031fbd09729b7ddeebc3a4b133
DIST rtmpdump-2.4_p20190330.tar.gz 143037 BLAKE2B ab0edbca444fc71034a1c6386f304d8f49f92075f6d4ca87992a7b9c4b4058f84333011e86cf38470f7b1dbf5e69f27e8b1fe34267104191c447342a03c18e3c SHA512 5357d01b51d3ec8c3c584c4e5aa9720a4c04b86573bc6cb7d724d660937b04b6dd35338b17721d6521fde2627e83763ed3b7c010f959bd72573016f3c47480b0
+DIST rtmpdump-2.4_p20210219.tar.gz 143043 BLAKE2B 312a44fa6caba3fbae19c248d76dccd22c637884ce37c207afe9de80eb0655a97af51101cd2800a2aea52620578f63e1ccede5070772126297e1c75baff0217b SHA512 2bcd169c8c142390e4a37a5f115bb722f8878188920818349aead50ad6c40b8e96c4f929f1b4d6c26ebc05ee264e6675d3843bf963ad4fbac04c3ce74b7fbb20
diff --git a/media-video/rtmpdump/files/rtmpdump-2.4_p20210219-gcc-11-missing-include.patch b/media-video/rtmpdump/files/rtmpdump-2.4_p20210219-gcc-11-missing-include.patch
new file mode 100644
index 000000000000..4325ed07381f
--- /dev/null
+++ b/media-video/rtmpdump/files/rtmpdump-2.4_p20210219-gcc-11-missing-include.patch
@@ -0,0 +1,23 @@
+https://bugs.gentoo.org/828082
+--- a/librtmp/rtmp.c
++++ b/librtmp/rtmp.c
+@@ -28,6 +28,7 @@
+ #include <string.h>
+ #include <assert.h>
+ #include <time.h>
++#include <limits.h>
+
+ #include "rtmp_sys.h"
+ #include "log.h"
+diff --git a/librtmp/hashswf.c b/librtmp/hashswf.c
+index 32b2eed..e3669e3 100644
+--- a/librtmp/hashswf.c
++++ b/librtmp/hashswf.c
+@@ -25,6 +25,7 @@
+ #include <string.h>
+ #include <ctype.h>
+ #include <time.h>
++#include <limits.h>
+
+ #include "rtmp_sys.h"
+ #include "log.h"
diff --git a/media-video/rtmpdump/files/rtmpdump-fix-chunk-size.patch b/media-video/rtmpdump/files/rtmpdump-fix-chunk-size.patch
new file mode 100644
index 000000000000..b714273273aa
--- /dev/null
+++ b/media-video/rtmpdump/files/rtmpdump-fix-chunk-size.patch
@@ -0,0 +1,46 @@
+diff --git a/librtmp/rtmp.c b/librtmp/rtmp.c
+index a2863b0..ac1b3be 100644
+--- a/librtmp/rtmp.c
++++ b/librtmp/rtmp.c
+@@ -2077,6 +2077,29 @@ RTMP_SendClientBW(RTMP *r)
+ }
+
+ static int
++SendClientChunkSize(RTMP *r, int chunkSize)
++{
++ RTMPPacket packet;
++ char pbuf[256], *pend = pbuf + sizeof(pbuf);
++ int ret;
++
++ packet.m_nChannel = 0x02; /* control channel (invoke) */
++ packet.m_headerType = RTMP_PACKET_SIZE_LARGE;
++ packet.m_packetType = RTMP_PACKET_TYPE_CHUNK_SIZE;
++ packet.m_nTimeStamp = 0;
++ packet.m_nInfoField2 = 0;
++ packet.m_hasAbsTimestamp = 0;
++ packet.m_body = pbuf + RTMP_MAX_HEADER_SIZE;
++
++ packet.m_nBodySize = 4;
++
++ AMF_EncodeInt32(packet.m_body, pend, chunkSize);
++ ret = RTMP_SendPacket(r, &packet, FALSE);
++ r->m_outChunkSize = chunkSize;
++ return ret;
++}
++
++static int
+ SendBytesReceived(RTMP *r)
+ {
+ RTMPPacket packet;
+@@ -3349,6 +3372,11 @@ HandleChangeChunkSize(RTMP *r, const RTMPPacket *packet)
+ r->m_inChunkSize = AMF_DecodeInt32(packet->m_body);
+ RTMP_Log(RTMP_LOGDEBUG, "%s, received: chunk size change to %d", __FUNCTION__,
+ r->m_inChunkSize);
++ if (r->Link.protocol & RTMP_FEATURE_WRITE)
++ {
++ RTMP_Log(RTMP_LOGDEBUG, "%s, updating outChunkSize too", __FUNCTION__);
++ SendClientChunkSize(r, r->m_inChunkSize);
++ }
+ }
+ }
+
diff --git a/media-video/rtmpdump/rtmpdump-2.4_p20210219.ebuild b/media-video/rtmpdump/rtmpdump-2.4_p20210219.ebuild
new file mode 100644
index 000000000000..8632f208c91f
--- /dev/null
+++ b/media-video/rtmpdump/rtmpdump-2.4_p20210219.ebuild
@@ -0,0 +1,93 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="8"
+
+inherit multilib toolchain-funcs multilib-minimal flag-o-matic
+
+DESCRIPTION="RTMP client, librtmp library intended to stream audio or video flash content"
+HOMEPAGE="https://rtmpdump.mplayerhq.hu/"
+
+# the library is LGPL-2.1, the command is GPL-2
+LICENSE="LGPL-2.1 tools? ( GPL-2 )"
+SLOT="0"
+IUSE="gnutls ssl static-libs +tools"
+
+DEPEND="ssl? (
+ gnutls? (
+ >=net-libs/gnutls-2.12.23-r6[${MULTILIB_USEDEP},nettle(+)]
+ dev-libs/nettle:0=[${MULTILIB_USEDEP}]
+ )
+ !gnutls? ( dev-libs/openssl:0=[${MULTILIB_USEDEP}] )
+ >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]
+ )"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-swf_vertification_type_2.patch"
+ "${FILESDIR}/${PN}-swf_vertification_type_2_part_2.patch"
+ "${FILESDIR}/${PN}-fix-chunk-size.patch"
+ "${FILESDIR}/${PN}-2.4_p20210219-gcc-11-missing-include.patch"
+)
+
+if [[ ${PV} == *9999 ]] ; then
+ SRC_URI=""
+ EGIT_REPO_URI="https://git.ffmpeg.org/rtmpdump.git"
+ inherit git-r3
+else
+ KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
+ SRC_URI="https://git.ffmpeg.org/gitweb/rtmpdump.git/snapshot/f1b83c10d8beb43fcc70a6e88cf4325499f25857.tar.gz -> ${P}.tar.gz"
+ S="${WORKDIR}/${PN}-f1b83c1"
+fi
+
+pkg_setup() {
+ if ! use ssl; then
+ if use gnutls; then
+ ewarn "USE='gnutls' is ignored without USE='ssl'."
+ ewarn "Please review the local USE flags for this package."
+ fi
+ fi
+}
+
+src_prepare() {
+ # fix #571106 by restoring pre-GCC5 inline semantics
+ append-cflags -std=gnu89
+ # fix Makefile ( bug #298535 , bug #318353 and bug #324513 )
+ sed -i 's/\$(MAKEFLAGS)//g' Makefile \
+ || die "failed to fix Makefile"
+ sed -i -e 's:OPT=:&-fPIC :' \
+ -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
+}
+
+multilib_src_compile() {
+ if use ssl ; then
+ if use gnutls ; then
+ crypto="GNUTLS"
+ else
+ crypto="OPENSSL"
+ fi
+ fi
+ if ! multilib_is_native_abi || ! use tools ; then
+ cd librtmp || die
+ fi
+ emake CC="$(tc-getCC)" LD="$(tc-getLD)" AR="$(tc-getAR)" \
+ OPT="${CFLAGS}" XLDFLAGS="${LDFLAGS}" CRYPTO="${crypto}" SYS=posix
+}
+
+multilib_src_install() {
+ mkdir -p "${ED}"/usr/$(get_libdir) || die
+ if multilib_is_native_abi && use tools ; then
+ dodoc README ChangeLog rtmpdump.1.html rtmpgw.8.html
+ else
+ cd librtmp || die
+ fi
+ emake DESTDIR="${D}" prefix="${EPREFIX}/usr" mandir='$(prefix)/share/man' \
+ CRYPTO="${crypto}" libdir="${EPREFIX}/usr/$(get_libdir)" install
+ find "${D}" -name '*.la' -delete || die
+ use static-libs || find "${D}" -name '*.a' -delete || die
+}
diff --git a/media-video/rtmpdump/rtmpdump-9999.ebuild b/media-video/rtmpdump/rtmpdump-9999.ebuild
index 77b536382925..1cd90598896a 100644
--- a/media-video/rtmpdump/rtmpdump-9999.ebuild
+++ b/media-video/rtmpdump/rtmpdump-9999.ebuild
@@ -1,7 +1,7 @@
-# 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 multilib toolchain-funcs multilib-minimal flag-o-matic
@@ -26,6 +26,7 @@ RDEPEND="${DEPEND}"
PATCHES=(
"${FILESDIR}/${PN}-swf_vertification_type_2.patch"
"${FILESDIR}/${PN}-swf_vertification_type_2_part_2.patch"
+ "${FILESDIR}/${PN}-fix-chunk-size.patch"
)
if [[ ${PV} == *9999 ]] ; then
@@ -33,9 +34,9 @@ if [[ ${PV} == *9999 ]] ; then
EGIT_REPO_URI="https://git.ffmpeg.org/rtmpdump.git"
inherit git-r3
else
- KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
- SRC_URI="http://git.ffmpeg.org/gitweb/rtmpdump.git/snapshot/c5f04a58fc2aeea6296ca7c44ee4734c18401aa3.tar.gz -> ${P}.tar.gz"
- S="${WORKDIR}/${PN}-c5f04a5"
+ KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
+ SRC_URI="https://git.ffmpeg.org/gitweb/rtmpdump.git/snapshot/f1b83c10d8beb43fcc70a6e88cf4325499f25857.tar.gz -> ${P}.tar.gz"
+ S="${WORKDIR}/${PN}-f1b83c1"
fi
pkg_setup() {
@@ -57,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/setpwc/files/setpwc-1.3-clang16.patch b/media-video/setpwc/files/setpwc-1.3-clang16.patch
new file mode 100644
index 000000000000..c74eceb09cdb
--- /dev/null
+++ b/media-video/setpwc/files/setpwc-1.3-clang16.patch
@@ -0,0 +1,8 @@
+https://bugs.gentoo.org/874918
+--- a/setpwc.c
++++ b/setpwc.c
+@@ -348,3 +348,3 @@
+
+-void query_pan_tilt_status(fd)
++void query_pan_tilt_status(int fd)
+ {
diff --git a/media-video/setpwc/setpwc-1.3.ebuild b/media-video/setpwc/setpwc-1.3.ebuild
index cbc20cad7175..74d9c738c038 100644
--- a/media-video/setpwc/setpwc-1.3.ebuild
+++ b/media-video/setpwc/setpwc-1.3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -15,7 +15,10 @@ KEYWORDS="amd64 ~arm ppc x86"
DEPEND="sys-kernel/linux-headers"
-PATCHES=( "${FILESDIR}"/${P}-fix-build-system.patch )
+PATCHES=(
+ "${FILESDIR}"/${P}-fix-build-system.patch
+ "${FILESDIR}"/${P}-clang16.patch
+)
src_configure() {
tc-export CC
diff --git a/media-video/shotcut/Manifest b/media-video/shotcut/Manifest
index c873f3e368df..40c2ec9173eb 100644
--- a/media-video/shotcut/Manifest
+++ b/media-video/shotcut/Manifest
@@ -1,2 +1,2 @@
-DIST shotcut-21.03.21.tar.gz 4101401 BLAKE2B fb716215ba31b4b057080f05a59462a674aebfa364924240f96ebf87bb94e4ccb649c2452e952b507037a8e62840cb7c805ee258761bb21d515173bba26dfdd1 SHA512 402d714df7285d49269891e5def0b8a1a46f54b6ec88b0201981bdf8d866c49e83bbbf513805795630e39335e0fddc2457e1a7db582affe4a4d057ac5ab4e2bb
-DIST shotcut-21.09.20.tar.gz 4358591 BLAKE2B 3919cb0f5c3f0aaa665729227d077cdeac1569102509bbf6be7f9451cadda8e22b38a8e796ef5fd2f5dd84bff2abbd98103a0917eb9acacdc9db771968f723ef SHA512 6c2463c8d81c4e61b59d97ba2ee8f9aba5c420ee50b6c46c0e5f1c177e44cea6bc1fab5a7184ce8b13d2818b207efffe3c12f4d1682ce002279ba16c1c9bd624
+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-21.03.21.ebuild b/media-video/shotcut/shotcut-21.03.21.ebuild
deleted file mode 100644
index ef956ac31c78..000000000000
--- a/media-video/shotcut/shotcut-21.03.21.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 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-6.22.1[ffmpeg,frei0r,fftw,jack,melt(+),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-21.09.20.ebuild b/media-video/shotcut/shotcut-21.09.20.ebuild
deleted file mode 100644
index c758f989295d..000000000000
--- a/media-video/shotcut/shotcut-21.09.20.ebuild
+++ /dev/null
@@ -1,66 +0,0 @@
-# Copyright 1999-2021 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.0.1[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-23.09.29.ebuild b/media-video/shotcut/shotcut-23.09.29.ebuild
new file mode 100644
index 000000000000..88276adaf800
--- /dev/null
+++ b/media-video/shotcut/shotcut-23.09.29.ebuild
@@ -0,0 +1,51 @@
+# 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
+ >=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-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 c758f989295d..88276adaf800 100644
--- a/media-video/shotcut/shotcut-9999.ebuild
+++ b/media-video/shotcut/shotcut-9999.ebuild
@@ -1,15 +1,15 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-inherit qmake-utils xdg
+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 ~x86"
+ KEYWORDS="~amd64"
else
inherit git-r3
EGIT_REPO_URI="https://github.com/mltframework/shotcut/"
@@ -21,46 +21,31 @@ LICENSE="GPL-3+"
SLOT="0"
BDEPEND="
- dev-qt/linguist-tools:5
+ dev-qt/qttools:6[linguist]
"
-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.0.1[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
- dev-qt/qtquickcontrols:5
+
+RDEPEND="${DEPEND}
virtual/jack
"
src_configure() {
- local myqmakeargs=(
- PREFIX="${EPREFIX}/usr"
+ CMAKE_BUILD_TYPE=$(usex debug Debug Release)
+ if [[ ${PV} != 9999* ]] ; then
SHOTCUT_VERSION="${PV}"
- DEFINES+=SHOTCUT_NOUPGRADE
+ else
+ SHOTCUT_VERSION="$(git log --date=format:'%y.%m.%d' -1 --format='%ad')"
+ fi
+ local mycmakeargs=(
+ -DSHOTCUT_VERSION="${SHOTCUT_VERSION}"
)
- use debug || myqmakeargs+=(DEFINES+=NDEBUG)
-
- eqmake5 "${myqmakeargs[@]}"
-}
-
-src_install() {
- emake INSTALL_ROOT="${D}" install
- einstalldocs
+ use debug || append-cxxflags "-DNDEBUG"
+ append-cxxflags "-DSHOTCUT_NOUPGRADE"
+ cmake_src_configure
}
diff --git a/media-video/shrip/Manifest b/media-video/shrip/Manifest
deleted file mode 100644
index a57909b94729..000000000000
--- a/media-video/shrip/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST shrip-0.6.0.tar.gz 337393 BLAKE2B fa80ea35345f2ae98e8924c577efce9dee12cb99bfbcfdfef8cc2e4efdfbb72b5afe9c907a32c1cb23878266f9dd6fcad2d3e85d189d58d2d8cf074028dd218f SHA512 fbc00fd3f436d7ff4adac29d552393bef9523817866cdfb3f3c2d8073dcf38914e6b5b5566fbf655f0716f2bb89b76e2329109b822280702d0e38cb6a1470645
diff --git a/media-video/shrip/shrip-0.6.0-r1.ebuild b/media-video/shrip/shrip-0.6.0-r1.ebuild
deleted file mode 100644
index cb6f7bbf2b01..000000000000
--- a/media-video/shrip/shrip-0.6.0-r1.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-DESCRIPTION="Command line tool for ripping DVDs and encoding to AVI/OGM/MKV/MP4"
-HOMEPAGE="http://ogmrip.sourceforge.net/"
-SRC_URI="mirror://sourceforge/ogmrip/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="nls"
-
-RDEPEND=">=dev-libs/glib-2.14:2
- >=media-video/ogmrip-0.13.4"
-DEPEND="${RDEPEND}
- virtual/pkgconfig
- nls? ( dev-util/intltool
- sys-devel/gettext )"
-
-src_prepare() {
- default
- sed -i \
- -e '/CFLAGS/s:-Werror::' \
- configure || die
-}
-
-src_configure() {
- econf $(use_enable nls)
-}
-
-src_install() {
- emake DESTDIR="${D}" install
- dodoc AUTHORS ChangeLog README TODO
-
- insinto /etc
- doins shrip.conf
-}
diff --git a/media-video/simplescreenrecorder/Manifest b/media-video/simplescreenrecorder/Manifest
index c7bcb7952774..94e6381b4d4d 100644
--- a/media-video/simplescreenrecorder/Manifest
+++ b/media-video/simplescreenrecorder/Manifest
@@ -1,2 +1 @@
-DIST simplescreenrecorder-0.4.2.tar.gz 1912151 BLAKE2B d8a4605a82e49693f94ecfac8853405a660a4528c3001961b1734d4387e49eeb4c91603929b3cd5d5b67a23a6ec839ace606b29666b916960f10322e6ec1b452 SHA512 60b0127d7f82f294e5a8f015363e37a10b5492089a0178b07a5e383c7e4b857102ed2bda7a95e3c67293a255f892481aeaf4037c583320d68d463637348ed7f7
-DIST simplescreenrecorder-0.4.3.tar.gz 1918958 BLAKE2B 9d0e07255c7345d8752a8f49fd2e7947db4058c6e6bdbe1239955f96f06543eff24b207bcd049d07eb7d3d5815ad5f1c77721e1fa139f940b1deb3b3da7a46e0 SHA512 c930045d6763bdb026cee80fe82aa0e973de7a1bd92bce9650c5cae627f5d8f8d913f260024410a41170081c8eda61c1aea346bc2d9740b8dc169a3952b3bfd0
+DIST simplescreenrecorder-0.4.4.tar.gz 1961269 BLAKE2B 05c7635840f8461ab324f740f0cc554eb544ed91b00cdf39c80f861e6a8631f59afbdcc9fe958830b0f1e31eedb90f11d29c114ce4bbb612f1756264502f069f SHA512 a90549a2709490482d70559073e505e669417a93abf16124b98c021e6d2bf08b91b53eb68e006df4f80fcee9fe4da2624bf8de979618953adb3f37eb1d471525
diff --git a/media-video/simplescreenrecorder/files/simplescreenrecorder-0.4.2-cmake.patch b/media-video/simplescreenrecorder/files/simplescreenrecorder-0.4.2-cmake.patch
deleted file mode 100644
index 9f8bc408331e..000000000000
--- a/media-video/simplescreenrecorder/files/simplescreenrecorder-0.4.2-cmake.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 5330a3d65b7877f5f3691c20df35fbb7856d6f38 Mon Sep 17 00:00:00 2001
-From: Andreas Sturmlechner <andreas.sturmlechner@gmail.com>
-Date: Thu, 11 Jan 2018 21:28:15 +0100
-Subject: [PATCH] Fix Qt5LinguistTools detection/lrelease binary location
-
-Correctly find the Qt5 module that provides the path to Qt5-based lrelease.
-Available since >= Qt-5.3.1 which is well below the current minimum version.
----
- src/translations/CMakeLists.txt | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/src/translations/CMakeLists.txt b/src/translations/CMakeLists.txt
-index d9afded..174acea 100644
---- a/src/translations/CMakeLists.txt
-+++ b/src/translations/CMakeLists.txt
-@@ -1,7 +1,8 @@
- # translations for 'simplescreenrecorder' executable
-
- if(WITH_QT5)
-- find_program(LRELEASE NAMES lrelease-qt5 lrelease)
-+ find_package(Qt5LinguistTools REQUIRED)
-+ set(LRELEASE Qt5::lrelease)
- else()
- find_program(LRELEASE NAMES lrelease-qt4 lrelease)
- endif()
---
-2.29.2
-
diff --git a/media-video/simplescreenrecorder/files/simplescreenrecorder-0.4.4-ffmpeg5.patch b/media-video/simplescreenrecorder/files/simplescreenrecorder-0.4.4-ffmpeg5.patch
new file mode 100644
index 000000000000..b86966410edb
--- /dev/null
+++ b/media-video/simplescreenrecorder/files/simplescreenrecorder-0.4.4-ffmpeg5.patch
@@ -0,0 +1,54 @@
+https://github.com/MaartenBaert/ssr/commit/768957a8de1534f0aa91bfc5d7af3c32f222beb8
+https://bugs.gentoo.org/834415
+
+From: Maarten Baert <maarten-baert@hotmail.com>
+Date: Sun, 20 Mar 2022 22:52:43 +0100
+Subject: [PATCH] Fix for compatibility with newer FFmpeg versions
+
+--- a/src/AV/Output/AudioEncoder.cpp
++++ b/src/AV/Output/AudioEncoder.cpp
+@@ -77,7 +77,8 @@ unsigned int AudioEncoder::GetSampleRate() {
+ }
+
+ bool AudioEncoder::AVCodecIsSupported(const QString& codec_name) {
+- AVCodec *codec = avcodec_find_encoder_by_name(codec_name.toUtf8().constData());
++ // we have to break const correctness for compatibility with older ffmpeg versions
++ AVCodec *codec = (AVCodec*) avcodec_find_encoder_by_name(codec_name.toUtf8().constData());
+ if(codec == NULL)
+ return false;
+ if(!av_codec_is_encoder(codec))
+--- a/src/AV/Output/Muxer.cpp
++++ b/src/AV/Output/Muxer.cpp
+@@ -194,7 +194,8 @@ unsigned int Muxer::GetQueuedPacketCount(unsigned int stream_index) {
+ void Muxer::Init() {
+
+ // get the format we want (this is just a pointer, we don't have to free this)
+- AVOutputFormat *format = av_guess_format(m_container_name.toUtf8().constData(), NULL, NULL);
++ // we have to break const correctness for compatibility with older ffmpeg versions
++ AVOutputFormat *format = (AVOutputFormat*) av_guess_format(m_container_name.toUtf8().constData(), NULL, NULL);
+ if(format == NULL) {
+ Logger::LogError("[Muxer::Init] " + Logger::tr("Error: Can't find chosen output format!"));
+ throw LibavException();
+@@ -262,7 +263,8 @@ void Muxer::Free() {
+ }
+
+ AVCodec* Muxer::FindCodec(const QString& codec_name) {
+- AVCodec *codec = avcodec_find_encoder_by_name(codec_name.toUtf8().constData());
++ // we have to break const correctness for compatibility with older ffmpeg versions
++ AVCodec *codec = (AVCodec*) avcodec_find_encoder_by_name(codec_name.toUtf8().constData());
+ if(codec == NULL) {
+ Logger::LogError("[Muxer::FindCodec] " + Logger::tr("Error: Can't find codec!"));
+ throw LibavException();
+--- a/src/AV/Output/VideoEncoder.cpp
++++ b/src/AV/Output/VideoEncoder.cpp
+@@ -95,7 +95,8 @@ unsigned int VideoEncoder::GetFrameRate() {
+ }
+
+ bool VideoEncoder::AVCodecIsSupported(const QString& codec_name) {
+- AVCodec *codec = avcodec_find_encoder_by_name(codec_name.toUtf8().constData());
++ // we have to break const correctness for compatibility with older ffmpeg versions
++ AVCodec *codec = (AVCodec*) avcodec_find_encoder_by_name(codec_name.toUtf8().constData());
+ if(codec == NULL)
+ return false;
+ if(!av_codec_is_encoder(codec))
+
diff --git a/media-video/simplescreenrecorder/metadata.xml b/media-video/simplescreenrecorder/metadata.xml
index 0b6618a3b59b..633b6c6df0f1 100644
--- a/media-video/simplescreenrecorder/metadata.xml
+++ b/media-video/simplescreenrecorder/metadata.xml
@@ -1,10 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>polynomial-c@gentoo.org</email>
- <name>Lars Wendler</name>
- </maintainer>
+ <!-- maintainer-needed -->
<use>
<flag name="asm">Enable x86 assembly optimisation.</flag>
<flag name="vpx">Enable VP8 codec support via <pkg>media-libs/libvpx</pkg>.</flag>
diff --git a/media-video/simplescreenrecorder/simplescreenrecorder-0.4.2.ebuild b/media-video/simplescreenrecorder/simplescreenrecorder-0.4.2.ebuild
deleted file mode 100644
index f0ac1589ed52..000000000000
--- a/media-video/simplescreenrecorder/simplescreenrecorder-0.4.2.ebuild
+++ /dev/null
@@ -1,101 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CMAKE_ECLASS=cmake
-inherit cmake-multilib flag-o-matic xdg
-
-DESCRIPTION="A Simple Screen Recorder"
-HOMEPAGE="https://www.maartenbaert.be/simplescreenrecorder"
-LICENSE="GPL-3"
-PKGNAME="ssr"
-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
-
-SLOT="0"
-IUSE="+asm jack mp3 pulseaudio theora vorbis vpx x264"
-
-RDEPEND="
- dev-qt/qtcore:5
- dev-qt/qtgui:5
- dev-qt/qtwidgets:5
- dev-qt/qtx11extras:5
- media-libs/alsa-lib:0=
- media-libs/libglvnd[${MULTILIB_USEDEP},X]
- 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 )
- pulseaudio? ( media-sound/pulseaudio )
-"
-DEPEND="${RDEPEND}"
-BDEPEND="dev-qt/linguist-tools:5"
-
-PATCHES=( "${FILESDIR}/${P}-cmake.patch" ) # bug #624480, in git master
-
-pkg_pretend() {
- if [[ "${ABI}" == amd64 ]]; then
- elog "You may want to add USE flag 'abi_x86_32' when running a 64bit system"
- elog "When added 32bit GLInject libraries are also included. This is"
- elog "required if you want to use OpenGL recording on 32bit applications."
- elog
- 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
-}
-
-src_prepare() {
- # required because xdg.eclass overrides default cmake_src_prepare
- cmake_src_prepare
-}
-
-multilib_src_configure() {
- local mycmakeargs=(
- -DENABLE_X86_ASM="$(usex asm)"
- -DWITH_PULSEAUDIO="$(multilib_native_usex pulseaudio)"
- -DWITH_JACK="$(multilib_native_usex jack)"
- -DWITH_GLINJECT="true"
- )
-
- 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-0.4.3.ebuild b/media-video/simplescreenrecorder/simplescreenrecorder-0.4.4-r3.ebuild
index b62619102fed..735efe53c501 100644
--- a/media-video/simplescreenrecorder/simplescreenrecorder-0.4.3.ebuild
+++ b/media-video/simplescreenrecorder/simplescreenrecorder-0.4.4-r3.ebuild
@@ -1,15 +1,13 @@
-# 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
-CMAKE_ECLASS=cmake
+PKGNAME="ssr"
inherit cmake-multilib flag-o-matic xdg
DESCRIPTION="A Simple Screen Recorder"
-HOMEPAGE="https://www.maartenbaert.be/simplescreenrecorder"
-LICENSE="GPL-3"
-PKGNAME="ssr"
+HOMEPAGE="https://www.maartenbaert.be/simplescreenrecorder/"
if [[ ${PV} = 9999 ]] ; then
inherit git-r3
EGIT_REPO_URI="https://github.com/MaartenBaert/${PKGNAME}.git"
@@ -20,8 +18,11 @@ else
S="${WORKDIR}/${PKGNAME}-${PV}"
fi
+LICENSE="GPL-3"
SLOT="0"
-IUSE="+asm jack mp3 pulseaudio theora v4l vorbis vpx x264"
+IUSE="+asm jack mp3 opengl pulseaudio theora v4l vorbis vpx x264"
+
+REQUIRED_USE="abi_x86_32? ( opengl )"
RDEPEND="
dev-qt/qtcore:5
@@ -29,27 +30,29 @@ RDEPEND="
dev-qt/qtwidgets:5
dev-qt/qtx11extras:5
media-libs/alsa-lib:0=
- media-libs/libglvnd[${MULTILIB_USEDEP},X]
- 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}]
x11-libs/libXi
x11-libs/libXinerama
virtual/glu[${MULTILIB_USEDEP}]
- v4l? ( media-libs/libv4l )
jack? ( virtual/jack )
- pulseaudio? ( media-sound/pulseaudio )
+ opengl? ( media-libs/libglvnd[${MULTILIB_USEDEP},X] )
+ pulseaudio? ( media-libs/libpulse )
+ v4l? ( media-libs/libv4l )
"
DEPEND="${RDEPEND}"
BDEPEND="dev-qt/linguist-tools:5"
+PATCHES=( "${FILESDIR}"/${P}-ffmpeg5.patch )
+
pkg_pretend() {
- if [[ "${ABI}" == amd64 ]]; then
- elog "You may want to add USE flag 'abi_x86_32' when running a 64bit system"
- elog "When added 32bit GLInject libraries are also included. This is"
- elog "required if you want to use OpenGL recording on 32bit applications."
- elog
+ 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
@@ -63,24 +66,20 @@ pkg_pretend() {
}
pkg_setup() {
- # QT requires -fPIC. Compile fails otherwise.
+ # Qt requires -fPIC. Compile fails otherwise.
# Recently removed from the default compile options upstream
# https://github.com/MaartenBaert/ssr/commit/25fe1743058f0d1f95f6fbb39014b6ac146b5180
append-flags -fPIC
}
-src_prepare() {
- # required because xdg.eclass overrides default cmake_src_prepare
- cmake_src_prepare
-}
-
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="true"
+ -DWITH_GLINJECT="$(usex opengl)"
-DWITH_V4L2="$(multilib_native_usex v4l)"
)
diff --git a/media-video/simplescreenrecorder/simplescreenrecorder-9999.ebuild b/media-video/simplescreenrecorder/simplescreenrecorder-9999.ebuild
index 337ba993d166..5816cb829b9c 100644
--- a/media-video/simplescreenrecorder/simplescreenrecorder-9999.ebuild
+++ b/media-video/simplescreenrecorder/simplescreenrecorder-9999.ebuild
@@ -1,15 +1,13 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-CMAKE_ECLASS=cmake
+PKGNAME="ssr"
inherit cmake-multilib flag-o-matic xdg
DESCRIPTION="A Simple Screen Recorder"
-HOMEPAGE="https://www.maartenbaert.be/simplescreenrecorder"
-LICENSE="GPL-3"
-PKGNAME="ssr"
+HOMEPAGE="https://www.maartenbaert.be/simplescreenrecorder/"
if [[ ${PV} = 9999 ]] ; then
inherit git-r3
EGIT_REPO_URI="https://github.com/MaartenBaert/${PKGNAME}.git"
@@ -20,8 +18,11 @@ else
S="${WORKDIR}/${PKGNAME}-${PV}"
fi
+LICENSE="GPL-3"
SLOT="0"
-IUSE="+asm jack mp3 pulseaudio theora v4l vorbis vpx x264"
+IUSE="+asm jack mp3 opengl pulseaudio theora v4l vorbis vpx x264"
+
+REQUIRED_USE="abi_x86_32? ( opengl )"
RDEPEND="
dev-qt/qtcore:5
@@ -29,27 +30,27 @@ RDEPEND="
dev-qt/qtwidgets:5
dev-qt/qtx11extras:5
media-libs/alsa-lib:0=
- media-libs/libglvnd[${MULTILIB_USEDEP},X]
- 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}]
x11-libs/libXi
x11-libs/libXinerama
virtual/glu[${MULTILIB_USEDEP}]
- v4l? ( media-libs/libv4l )
jack? ( virtual/jack )
- pulseaudio? ( media-sound/pulseaudio )
+ opengl? ( media-libs/libglvnd[${MULTILIB_USEDEP},X] )
+ pulseaudio? ( media-libs/libpulse )
+ v4l? ( media-libs/libv4l )
"
DEPEND="${RDEPEND}"
BDEPEND="dev-qt/linguist-tools:5"
pkg_pretend() {
- if [[ "${ABI}" == amd64 ]]; then
- elog "You may want to add USE flag 'abi_x86_32' when running a 64bit system"
- elog "When added 32bit GLInject libraries are also included. This is"
- elog "required if you want to use OpenGL recording on 32bit applications."
- elog
+ 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
@@ -63,24 +64,20 @@ pkg_pretend() {
}
pkg_setup() {
- # QT requires -fPIC. Compile fails otherwise.
+ # Qt requires -fPIC. Compile fails otherwise.
# Recently removed from the default compile options upstream
# https://github.com/MaartenBaert/ssr/commit/25fe1743058f0d1f95f6fbb39014b6ac146b5180
append-flags -fPIC
}
-src_prepare() {
- # required because xdg.eclass overrides default cmake_src_prepare
- cmake_src_prepare
-}
-
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="true"
+ -DWITH_GLINJECT="$(usex opengl)"
-DWITH_V4L2="$(multilib_native_usex v4l)"
)
diff --git a/media-video/smplayer/Manifest b/media-video/smplayer/Manifest
index aeb5fb2309e6..6f540ff44320 100644
--- a/media-video/smplayer/Manifest
+++ b/media-video/smplayer/Manifest
@@ -1,3 +1 @@
-DIST smplayer-20.6.0.tar.bz2 5227856 BLAKE2B 5cf77acd7098aa81d1bd40c62d6cf5cd743167ee07a86f9d0d856eba5e7ce1befe4e7a384126dc3b244588758ab40b19804bfc3e0ff8e17d1e0d5d504e57c0ae SHA512 2cf7b7abf44b301331a5389e1ca512bd41928724b412d8cf55d77cb5cde87a4fdb9038d77c31da14b548d38ebfadd461d588d60a6b6f13b1781b9b961e81637d
-DIST smplayer-21.1.0.tar.bz2 5199956 BLAKE2B 593ceae2ceeeea6a9689c8e92a1a15fcdd7e2e3f04a6982f0fc36864ced157ff4cb59a26cc9941931aef8e31eef1d580fd606cd2ae396ba1e998233a1e30e74d SHA512 94030ddba63355403f14ce70a3b7719eaa0b006017148039bcc691159c33bbb6c8a947bff10dab9fecc0daa7106ac1b9f3ac7d7ea4263d622240636743c90553
-DIST smplayer-21.8.0.tar.bz2 5145128 BLAKE2B a13146dac8c78d70c8e9db64aaf9da6c64267b389d6b06cb523548306733853276623d8d9e0ba1e94fb2bee5ab1da97109edb1fef4ce88a3569ca96f26e4d653 SHA512 4513718ca8cf1529ef5e4b8595cba9d9177073acaada6f7e8aed242a1fd56cb8fdf932a757ae147aa645a5422c1e8f52863b562f7e697f643769b1c57f7e647e
+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..9b4c43a953d1 100644
--- a/media-video/smplayer/metadata.xml
+++ b/media-video/smplayer/metadata.xml
@@ -2,23 +2,9 @@
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
- <email>qt@gentoo.org</email>
- <name>Gentoo Qt Project</name>
- </maintainer>
- <maintainer type="project">
<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-21.1.0.ebuild b/media-video/smplayer/smplayer-21.1.0.ebuild
deleted file mode 100644
index ce081d1b5674..000000000000
--- a/media-video/smplayer/smplayer-21.1.0.ebuild
+++ /dev/null
@@ -1,138 +0,0 @@
-# Copyright 2007-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PLOCALES="am ar_SY ar bg ca cs da de el en_GB en en_US es et eu fa fi fr gl
-he_IL hr hu id it ja ka ko ku lt mk ms_MY nl nn_NO pl pt_BR pt ro_RO ru_RU
-sk sl_SI sq_AL sr sv th tr uk_UA uz vi_VN zh_CN zh_TW"
-PLOCALE_BACKUP="en_US"
-
-inherit plocale qmake-utils toolchain-funcs xdg
-
-DESCRIPTION="Great Qt GUI front-end for mplayer/mpv"
-HOMEPAGE="https://www.smplayer.eu/"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2"
-
-LICENSE="GPL-2+ BSD-2"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~hppa ~ppc ~ppc64 ~x86 ~amd64-linux"
-IUSE="autoshutdown bidi debug mpris"
-
-BDEPEND="dev-qt/linguist-tools:5"
-DEPEND="
- dev-qt/qtcore: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 )
-"
-RDEPEND="${DEPEND}
- || (
- media-video/mpv[libass(+),X]
- media-video/mplayer[bidi?,libass,png,X]
- )
-"
-
-PATCHES=(
- "${FILESDIR}/${PN}-14.9.0.6966-unbundle-qtsingleapplication.patch" # bug 487544
- "${FILESDIR}/${PN}-17.1.0-advertisement_crap.patch"
- "${FILESDIR}/${PN}-18.2.0-jobserver.patch"
- "${FILESDIR}/${PN}-18.3.0-disable-werror.patch"
-)
-
-src_prepare() {
- use bidi || PATCHES+=( "${FILESDIR}"/${PN}-16.4.0-zero-bidi.patch )
-
- default
-
- # Upstream Makefile sucks
- sed -i -e "/^PREFIX=/ s:/usr/local:${EPREFIX}/usr:" \
- -e "/^DOC_PATH=/ s:packages/smplayer:${PF}:" \
- -e '/\.\/get_svn_revision\.sh/,+2c\
- cd src && $(DEFS) $(MAKE)' \
- Makefile || die
-
- # Turn off online update checker, bug #479902
- sed -e 's:DEFINES += UPDATE_CHECKER:#&:' \
- -e 's:DEFINES += CHECK_UPGRADED:#&:' \
- -i src/smplayer.pro || die
-
- # Turn off intrusive share widget
- sed -e 's:DEFINES += SHARE_WIDGET:#&:' \
- -i src/smplayer.pro || die
-
- # 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
-
- # Do not default compress man page
- sed '/gzip -9.*\.1$/d' -i Makefile || die
- sed 's@\.gz$@@' -i smplayer.spec || die
-}
-
-src_configure() {
- cd src || die
- eqmake5
-}
-
-gen_translation() {
- local mydir="$(qt5_get_bindir)"
-
- ebegin "Generating $1 translation"
- "${mydir}"/lrelease ${PN}_${1}.ts
- eend $? || die "failed to generate $1 translation"
-}
-
-src_compile() {
- emake CC="$(tc-getCC)"
-
- cd src/translations || die
- plocale_for_each_locale gen_translation
-}
-
-src_install() {
- # remove unneeded copies of the GPL
- rm -f Copying* docs/*/gpl.html || die
- # don't install empty dirs
- rmdir --ignore-fail-on-non-empty docs/* || die
-
- default
-}
-
-pkg_preinst() {
- xdg_pkg_preinst
-}
-
-pkg_postinst() {
- xdg_pkg_postinst
-
- elog "If you want URL support with media-video/mpv, please install"
- elog "net-misc/youtube-dl."
-}
-
-pkg_postrm() {
- xdg_pkg_postrm
-}
diff --git a/media-video/smplayer/smplayer-21.8.0.ebuild b/media-video/smplayer/smplayer-21.8.0.ebuild
deleted file mode 100644
index 5263612b36d3..000000000000
--- a/media-video/smplayer/smplayer-21.8.0.ebuild
+++ /dev/null
@@ -1,139 +0,0 @@
-# Copyright 2007-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PLOCALES="am ar_SY ar bg ca cs da de el en_GB en en_US es et eu fa fi fr gl
-he_IL hr hu id it ja ka ko ku lt mk ms_MY nl nn_NO pl pt_BR pt ro_RO ru_RU
-sk sl_SI sq_AL sr sv th tr uk_UA uz vi_VN zh_CN zh_TW"
-PLOCALE_BACKUP="en_US"
-
-inherit plocale qmake-utils toolchain-funcs xdg
-
-DESCRIPTION="Great Qt GUI front-end for mplayer/mpv"
-HOMEPAGE="https://www.smplayer.eu/"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2"
-
-LICENSE="GPL-2+ BSD-2"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~hppa ~ppc ~ppc64 ~x86 ~amd64-linux"
-IUSE="autoshutdown bidi debug mpris"
-
-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 )
-"
-RDEPEND="${DEPEND}
- || (
- media-video/mpv[libass(+),X]
- media-video/mplayer[bidi?,libass,png,X]
- )
-"
-
-PATCHES=(
- "${FILESDIR}/${PN}-14.9.0.6966-unbundle-qtsingleapplication.patch" # bug 487544
- "${FILESDIR}/${PN}-17.1.0-advertisement_crap.patch"
- "${FILESDIR}/${PN}-18.2.0-jobserver.patch"
- "${FILESDIR}/${PN}-18.3.0-disable-werror.patch"
-)
-
-src_prepare() {
- use bidi || PATCHES+=( "${FILESDIR}"/${PN}-16.4.0-zero-bidi.patch )
-
- default
-
- # Upstream Makefile sucks
- sed -i -e "/^PREFIX=/ s:/usr/local:${EPREFIX}/usr:" \
- -e "/^DOC_PATH=/ s:packages/smplayer:${PF}:" \
- -e '/\.\/get_svn_revision\.sh/,+2c\
- cd src && $(DEFS) $(MAKE)' \
- Makefile || die
-
- # Turn off online update checker, bug #479902
- sed -e 's:DEFINES += UPDATE_CHECKER:#&:' \
- -e 's:DEFINES += CHECK_UPGRADED:#&:' \
- -i src/smplayer.pro || die
-
- # Turn off intrusive share widget
- sed -e 's:DEFINES += SHARE_WIDGET:#&:' \
- -i src/smplayer.pro || die
-
- # 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
-
- # Do not default compress man page
- sed '/gzip -9.*\.1$/d' -i Makefile || die
- sed 's@\.gz$@@' -i smplayer.spec || die
-}
-
-src_configure() {
- cd src || die
- eqmake5
-}
-
-gen_translation() {
- local mydir="$(qt5_get_bindir)"
-
- ebegin "Generating $1 translation"
- "${mydir}"/lrelease ${PN}_${1}.ts
- eend $? || die "failed to generate $1 translation"
-}
-
-src_compile() {
- emake CC="$(tc-getCC)"
-
- cd src/translations || die
- plocale_for_each_locale gen_translation
-}
-
-src_install() {
- # remove unneeded copies of the GPL
- rm -f Copying* docs/*/gpl.html || die
- # don't install empty dirs
- rmdir --ignore-fail-on-non-empty docs/* || die
-
- default
-}
-
-pkg_preinst() {
- xdg_pkg_preinst
-}
-
-pkg_postinst() {
- xdg_pkg_postinst
-
- elog "If you want URL support with media-video/mpv, please install"
- elog "net-misc/youtube-dl."
-}
-
-pkg_postrm() {
- xdg_pkg_postrm
-}
diff --git a/media-video/smplayer/smplayer-20.6.0.ebuild b/media-video/smplayer/smplayer-23.6.0.ebuild
index 666e88b97024..0e610c410625 100644
--- a/media-video/smplayer/smplayer-20.6.0.ebuild
+++ b/media-video/smplayer/smplayer-23.6.0.ebuild
@@ -1,7 +1,7 @@
-# Copyright 2007-2021 Gentoo Authors
+# Copyright 2007-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
PLOCALES="am ar_SY ar bg ca cs da de el en_GB en en_US es et eu fa fi fr gl
he_IL hr hu id it ja ka ko ku lt mk ms_MY nl nn_NO pl pt_BR pt ro_RO ru_RU
@@ -11,26 +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/"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2"
+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}
|| (
@@ -38,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
@@ -67,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
@@ -95,7 +82,7 @@ src_prepare() {
src_configure() {
cd src || die
- eqmake5
+ eqmake5 QT_MAJOR_VERSION=5
}
gen_translation() {
@@ -115,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
@@ -130,7 +117,7 @@ pkg_postinst() {
xdg_pkg_postinst
elog "If you want URL support with media-video/mpv, please install"
- elog "net-misc/youtube-dl."
+ elog "net-misc/yt-dlp."
}
pkg_postrm() {
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 58e5b52ded2a..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-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
-inherit linux-info multilib toolchain-funcs
+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/streamdeck-ui/Manifest b/media-video/streamdeck-ui/Manifest
deleted file mode 100644
index 979a7f4293ca..000000000000
--- a/media-video/streamdeck-ui/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST streamdeck-ui-0.0_p20200102.tar.gz 2512712 BLAKE2B f5abad75c77410127f51de0e4ad7ce112f59ff3652afa32f9aefe44cbb69e16a09991322091ba39d259d9bb1e35dd0833a1b58457d095f21eec258b8967ded9e SHA512 345d0a2cfadb23e20925749e06e99976d533968fffe8b6db77dfeffbb1716c4042f84e6c1c616e0986e7da3592be2046f2a6e0de1942da34b6712de70cdce649
diff --git a/media-video/streamdeck-ui/streamdeck-ui-0.0_p20200102-r1.ebuild b/media-video/streamdeck-ui/streamdeck-ui-0.0_p20200102-r1.ebuild
deleted file mode 100644
index df32b893fc68..000000000000
--- a/media-video/streamdeck-ui/streamdeck-ui-0.0_p20200102-r1.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 2020-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..9} )
-DISTUTILS_USE_SETUPTOOLS=pyproject.toml
-inherit distutils-r1
-
-DESCRIPTION="A Linux compatible UI for the Elgato Stream Deck"
-HOMEPAGE="https://github.com/timothycrosley/streamdeck-ui"
-if [ "${PV}" = "9999" ]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/timothycrosley/streamdeck-ui.git"
-else
- COMMIT="9b6678d2d3027963ddac147ee3aeda322ec77f29"
- SRC_URI="https://github.com/timothycrosley/streamdeck-ui/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
- S="${WORKDIR}/${PN}-${COMMIT}"
- KEYWORDS="~amd64 ~x86"
-fi
-
-LICENSE="MIT Apache-2.0"
-SLOT="0"
-IUSE=""
-
-DEPEND="${PYTHON_DEPS}
- dev-python/pillow[${PYTHON_USEDEP}]
- dev-python/pynput[${PYTHON_USEDEP}]
- dev-python/pyside2[${PYTHON_USEDEP},designer]
- media-libs/elgato-streamdeck[${PYTHON_USEDEP}]
- dev-libs/hidapi"
-RDEPEND="${DEPEND}"
-
-src_prepare() {
- sed -i "s#os.path.dirname(os.path.abspath(__file__))#'/usr/share/streamdeck-ui'#" streamdeck_ui/config.py
- distutils-r1_src_prepare
-}
-
-src_install() {
- insinto /usr/share/streamdeck-ui
- doins streamdeck_ui/logo.png
- doins -r streamdeck_ui/fonts
- distutils-r1_src_install
-}
diff --git a/media-video/streamdeck-ui/streamdeck-ui-9999.ebuild b/media-video/streamdeck-ui/streamdeck-ui-9999.ebuild
deleted file mode 100644
index df32b893fc68..000000000000
--- a/media-video/streamdeck-ui/streamdeck-ui-9999.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 2020-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..9} )
-DISTUTILS_USE_SETUPTOOLS=pyproject.toml
-inherit distutils-r1
-
-DESCRIPTION="A Linux compatible UI for the Elgato Stream Deck"
-HOMEPAGE="https://github.com/timothycrosley/streamdeck-ui"
-if [ "${PV}" = "9999" ]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/timothycrosley/streamdeck-ui.git"
-else
- COMMIT="9b6678d2d3027963ddac147ee3aeda322ec77f29"
- SRC_URI="https://github.com/timothycrosley/streamdeck-ui/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
- S="${WORKDIR}/${PN}-${COMMIT}"
- KEYWORDS="~amd64 ~x86"
-fi
-
-LICENSE="MIT Apache-2.0"
-SLOT="0"
-IUSE=""
-
-DEPEND="${PYTHON_DEPS}
- dev-python/pillow[${PYTHON_USEDEP}]
- dev-python/pynput[${PYTHON_USEDEP}]
- dev-python/pyside2[${PYTHON_USEDEP},designer]
- media-libs/elgato-streamdeck[${PYTHON_USEDEP}]
- dev-libs/hidapi"
-RDEPEND="${DEPEND}"
-
-src_prepare() {
- sed -i "s#os.path.dirname(os.path.abspath(__file__))#'/usr/share/streamdeck-ui'#" streamdeck_ui/config.py
- distutils-r1_src_prepare
-}
-
-src_install() {
- insinto /usr/share/streamdeck-ui
- doins streamdeck_ui/logo.png
- doins -r streamdeck_ui/fonts
- distutils-r1_src_install
-}
diff --git a/media-video/subcheck/subcheck-0.78.2-r1.ebuild b/media-video/subcheck/subcheck-0.78.2-r1.ebuild
index 58a9591990ff..f4460b1bf051 100644
--- a/media-video/subcheck/subcheck-0.78.2-r1.ebuild
+++ b/media-video/subcheck/subcheck-0.78.2-r1.ebuild
@@ -1,11 +1,11 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
DESCRIPTION="Subcheck checks srt subtitle files for errors"
HOMEPAGE="http://subcheck.sourceforge.net/"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz"
LICENSE="public-domain"
SLOT="0"
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 1bd69c0d6a9e..5a960dea62c4 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-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-PYTHON_COMPAT=( python3_{7,8,9} )
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..11} )
PYTHON_REQ_USE='xml(+)'
-DISTUTILS_USE_SETUPTOOLS=rdepend
inherit distutils-r1
@@ -15,15 +15,15 @@ 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"
HOMEPAGE="https://github.com/Diaoul/subliminal https://pypi.org/project/subliminal/"
-SRC_URI+=" test? ( mirror://sourceforge/matroska/test_files/matroska_test_w1_1.zip )"
+SRC_URI+=" test? ( https://downloads.sourceforge.net/matroska/test_files/matroska_test_w1_1.zip )"
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 560187c90ba1..68102948a36f 100644
--- a/media-video/subliminal/subliminal-9999.ebuild
+++ b/media-video/subliminal/subliminal-9999.ebuild
@@ -1,11 +1,11 @@
-# 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
-PYTHON_COMPAT=( python3_{7,8,9} )
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..11} )
PYTHON_REQ_USE='xml(+)'
-DISTUTILS_USE_SETUPTOOLS=rdepend
inherit distutils-r1
@@ -15,11 +15,12 @@ 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"
HOMEPAGE="https://github.com/Diaoul/subliminal https://pypi.org/project/subliminal/"
-SRC_URI+=" test? ( mirror://sourceforge/matroska/test_files/matroska_test_w1_1.zip )"
+SRC_URI+=" test? ( https://downloads.sourceforge.net/matroska/test_files/matroska_test_w1_1.zip )"
LICENSE="MIT"
SLOT="0"
@@ -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..b08a45525f06 100644
--- a/media-video/subsync/subsync-0.0.1.ebuild
+++ b/media-video/subsync/subsync-0.0.1.ebuild
@@ -1,16 +1,13 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
DESCRIPTION="subsync is an program that synchronizes srt subtitle files"
HOMEPAGE="https://sourceforge.net/projects/subsync/"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2"
+SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.bz2"
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 1cfc4ac2ee50..4c0e91924bef 100644
--- a/media-video/subtitlecomposer/Manifest
+++ b/media-video/subtitlecomposer/Manifest
@@ -1,2 +1,2 @@
-DIST subtitlecomposer-0.7.0.tar.gz 1649840 BLAKE2B a60d3917cc9bd8025d75782e850ba2507ab140ffaeff84e995d58994e848ebe4e103a87824a20dd689132235f67102e7fec39bf0f99d827c78883165e01e9fb7 SHA512 b1c71496a2609686946af2377862b86d70e357565646a3de2f158481bc9e397f649d0907499ecd21a193ec07eaf2135b7f5831697e6b20ba6721a743227fbe04
-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.0-mpv-0.33.patch b/media-video/subtitlecomposer/files/subtitlecomposer-0.7.0-mpv-0.33.patch
deleted file mode 100644
index a97ab22543bc..000000000000
--- a/media-video/subtitlecomposer/files/subtitlecomposer-0.7.0-mpv-0.33.patch
+++ /dev/null
@@ -1,260 +0,0 @@
-From d09a3cbc60da86f57d06477dea1a57962a11ffb2 Mon Sep 17 00:00:00 2001
-From: Mladen Milinkovic <maxrd2@smoothware.net>
-Date: Mon, 8 Jul 2019 20:19:03 +0200
-Subject: [PATCH] MPV player config options aren't hardcoded anymore.
-
----
- src/videoplayerplugins/mpv/mpvbackend.cpp | 37 ++++++-
- src/videoplayerplugins/mpv/mpvbackend.h | 8 +-
- .../mpv/mpvconfigwidget.cpp | 102 ++++++++++++++++--
- src/videoplayerplugins/mpv/mpvconfigwidget.h | 8 ++
- 4 files changed, 139 insertions(+), 16 deletions(-)
-
-diff --git a/src/videoplayerplugins/mpv/mpvbackend.cpp b/src/videoplayerplugins/mpv/mpvbackend.cpp
-index d85a56c..9fdcd95 100644
---- a/src/videoplayerplugins/mpv/mpvbackend.cpp
-+++ b/src/videoplayerplugins/mpv/mpvbackend.cpp
-@@ -33,8 +33,6 @@
- #include <KMessageBox>
-
- using namespace SubtitleComposer;
--using namespace mpv;
--using namespace mpv::qt;
-
- MPVBackend::MPVBackend()
- : PlayerBackend(),
-@@ -218,6 +216,37 @@ MPVBackend::mpvEventHandle(mpv_event *event)
- }
- }
-
-+static QVariant
-+node_to_variant(const mpv_node *node)
-+{
-+ switch(node->format) {
-+ case MPV_FORMAT_STRING:
-+ return QVariant(QString::fromUtf8(node->u.string));
-+ case MPV_FORMAT_FLAG:
-+ return QVariant(static_cast<bool>(node->u.flag));
-+ case MPV_FORMAT_INT64:
-+ return QVariant(static_cast<qlonglong>(node->u.int64));
-+ case MPV_FORMAT_DOUBLE:
-+ return QVariant(node->u.double_);
-+ case MPV_FORMAT_NODE_ARRAY: {
-+ mpv_node_list *list = node->u.list;
-+ QVariantList qlist;
-+ for(int n = 0; n < list->num; n++)
-+ qlist.append(node_to_variant(&list->values[n]));
-+ return QVariant(qlist);
-+ }
-+ case MPV_FORMAT_NODE_MAP: {
-+ mpv_node_list *list = node->u.list;
-+ QVariantMap qmap;
-+ for(int n = 0; n < list->num; n++)
-+ qmap.insert(QString::fromUtf8(list->keys[n]), node_to_variant(&list->values[n]));
-+ return QVariant(qmap);
-+ }
-+ default: // MPV_FORMAT_NONE, unknown values (e.g. future extensions)
-+ return QVariant();
-+ }
-+}
-+
- void
- MPVBackend::updateTextData(const mpv_event_property *prop)
- {
-@@ -230,7 +259,7 @@ MPVBackend::updateTextData(const mpv_event_property *prop)
- if(val.format != MPV_FORMAT_NODE_MAP)
- continue;
-
-- const QMap<QString, QVariant> &map = mpv::qt::node_to_variant(&val).toMap();
-+ const QMap<QString, QVariant> &map = node_to_variant(&val).toMap();
-
- if(map[QStringLiteral("type")].toString() != QStringLiteral("sub")
- || map[QStringLiteral("external")].toBool() == true)
-@@ -269,7 +298,7 @@ MPVBackend::updateAudioData(const mpv_event_property *prop)
- if(val.format != MPV_FORMAT_NODE_MAP)
- continue;
-
-- const QMap<QString, QVariant> &map = mpv::qt::node_to_variant(&val).toMap();
-+ const QMap<QString, QVariant> &map = node_to_variant(&val).toMap();
-
- if(map[QStringLiteral("type")].toString() != QStringLiteral("audio"))
- continue;
-diff --git a/src/videoplayerplugins/mpv/mpvbackend.h b/src/videoplayerplugins/mpv/mpvbackend.h
-index d0edf2e..5e19fa1 100644
---- a/src/videoplayerplugins/mpv/mpvbackend.h
-+++ b/src/videoplayerplugins/mpv/mpvbackend.h
-@@ -23,7 +23,7 @@
-
- #include "videoplayer/playerbackend.h"
-
--#include <mpv/qthelper.hpp>
-+#include <mpv/client.h>
-
- #include <QWidget>
- #include <QString>
-@@ -76,14 +76,10 @@ signals:
- protected slots:
- void onMPVEvents();
-
--protected:
-- void setupProcessArgs(const QString &filePath);
--
-+private:
- void mpvEventHandle(mpv_event *event);
--
- static void wakeup(void *ctx);
-
--private:
- void updateTextData(const mpv_event_property *prop);
- void updateAudioData(const mpv_event_property *prop);
- void updateVideoData();
-diff --git a/src/videoplayerplugins/mpv/mpvconfigwidget.cpp b/src/videoplayerplugins/mpv/mpvconfigwidget.cpp
-index 78458f8..6958141 100644
---- a/src/videoplayerplugins/mpv/mpvconfigwidget.cpp
-+++ b/src/videoplayerplugins/mpv/mpvconfigwidget.cpp
-@@ -20,6 +20,11 @@
-
- #include "mpvconfigwidget.h"
-
-+#include <locale>
-+#include <mpv/client.h>
-+
-+#include "scconfig.h"
-+
- using namespace SubtitleComposer;
-
- MPVConfigWidget::MPVConfigWidget(QWidget *parent)
-@@ -27,14 +32,99 @@ MPVConfigWidget::MPVConfigWidget(QWidget *parent)
- {
- setupUi(this);
-
-- kcfg_mpvVideoOutput->addItems(QString("vdpau vaapi opengl opengl-hq sdl xv wayland x11 null").split(' '));
-- kcfg_mpvVideoOutput->setProperty("kcfg_property", QByteArray("currentText"));
-+ // FIXME: libmpv requires LC_NUMERIC category to be set to "C".. is there some nicer way to do this?
-+ std::setlocale(LC_NUMERIC, "C");
-+ m_mpv = mpv_create();
-+ mpv_request_log_messages(m_mpv, "info");
-+ if(mpv_initialize(m_mpv) >= 0) {
-+ getHelpResponse(); // make sure there are no log messages
-+ static QStringList bad = {
-+ QStringLiteral("libmpv"),
-+ QStringLiteral("null"),
-+ QStringLiteral("image"),
-+ QStringLiteral("tct"),
-+ QStringLiteral("caca"),
-+ QStringLiteral("pcm"),
-+ };
-+
-+ mpv_set_property_string(m_mpv, "vo", "help");
-+ for(QString row : getHelpResponse()) {
-+ int pos = row.indexOf(QChar(' '));
-+ if(pos == -1)
-+ continue;
-+ const QString name = row.left(pos);
-+ if(bad.contains(name))
-+ continue;
-+ row.insert(pos, "\t-");
-+ if(SCConfig::mpvVideoOutput() == name)
-+ kcfg_mpvVideoOutput->setCurrentIndex(kcfg_mpvHwDecode->count());
-+ kcfg_mpvVideoOutput->addItem(row, name);
-+ }
-+ kcfg_mpvVideoOutput->setProperty("kcfg_property", QByteArray("currentData"));
-+
-+ mpv_set_property_string(m_mpv, "hwdec", "help");
-+ kcfg_mpvHwDecode->addItem(QStringLiteral("auto\t- Choose best HW decoder"), QStringLiteral("auto"));
-+ for(QString row : getHelpResponse()) {
-+ int pos = row.indexOf(QChar(' '));
-+ if(pos == -1)
-+ continue;
-+ const QString name = row.left(pos);
-+ const QString lastName = kcfg_mpvHwDecode->itemData(kcfg_mpvHwDecode->count() - 1).toString();
-+ if(lastName == name || bad.contains(name))
-+ continue;
-+ if(SCConfig::mpvHwDecode() == name)
-+ kcfg_mpvHwDecode->setCurrentIndex(kcfg_mpvHwDecode->count());
-+ kcfg_mpvHwDecode->addItem(name, name);
-+ }
-+ kcfg_mpvHwDecode->setProperty("kcfg_property", QByteArray("currentData"));
-+
-+ mpv_set_property_string(m_mpv, "ao", "help");
-+ for(QString row : getHelpResponse()) {
-+ int pos = row.indexOf(QChar(' '));
-+ if(pos == -1)
-+ continue;
-+ const QString name = row.left(pos);
-+ if(bad.contains(name))
-+ continue;
-+ row.insert(pos, "\t-");
-+ if(SCConfig::mpvAudioOutput() == name)
-+ kcfg_mpvAudioOutput->setCurrentIndex(kcfg_mpvHwDecode->count());
-+ kcfg_mpvAudioOutput->addItem(row, name);
-+ }
-+ kcfg_mpvAudioOutput->setProperty("kcfg_property", QByteArray("currentData"));
-
-- kcfg_mpvHwDecode->addItems(QString("auto vdpau vaapi vaapi-copy").split(' '));
-- kcfg_mpvHwDecode->setProperty("kcfg_property", QByteArray("currentText"));
-+ mpv_detach_destroy(m_mpv);
-+ } else {
-+ kcfg_mpvVideoOutput->addItems(QString("vdpau vaapi opengl opengl-hq sdl xv wayland x11 null").split(' '));
-+ kcfg_mpvVideoOutput->setProperty("kcfg_property", QByteArray("currentText"));
-
-- kcfg_mpvAudioOutput->addItems(QString("pulse alsa oss portaudio jack null").split(' '));
-- kcfg_mpvAudioOutput->setProperty("kcfg_property", QByteArray("currentText"));
-+ kcfg_mpvHwDecode->addItems(QString("auto vdpau vaapi vaapi-copy").split(' '));
-+ kcfg_mpvHwDecode->setProperty("kcfg_property", QByteArray("currentText"));
-+
-+ kcfg_mpvAudioOutput->addItems(QString("pulse alsa oss portaudio jack null").split(' '));
-+ kcfg_mpvAudioOutput->setProperty("kcfg_property", QByteArray("currentText"));
-+ }
-+}
-+
-+const QStringList
-+MPVConfigWidget::getHelpResponse()
-+{
-+ QStringList res;
-+ while(m_mpv) {
-+ mpv_event *event = mpv_wait_event(m_mpv, .1);
-+ if(event->event_id == MPV_EVENT_LOG_MESSAGE) {
-+ mpv_event_log_message *msg = reinterpret_cast<mpv_event_log_message *>(event->data);
-+ if(msg->log_level == MPV_LOG_LEVEL_INFO && strcmp(msg->prefix, "cplayer") == 0) {
-+ QString row = QString::fromUtf8(msg->text).simplified();
-+ if(row.endsWith(QChar(':')))
-+ continue;
-+ res << row;
-+ }
-+ } else if(event->event_id == MPV_EVENT_NONE) {
-+ break;
-+ }
-+ }
-+ return res;
- }
-
- MPVConfigWidget::~MPVConfigWidget()
-diff --git a/src/videoplayerplugins/mpv/mpvconfigwidget.h b/src/videoplayerplugins/mpv/mpvconfigwidget.h
-index f4105d7..775b507 100644
---- a/src/videoplayerplugins/mpv/mpvconfigwidget.h
-+++ b/src/videoplayerplugins/mpv/mpvconfigwidget.h
-@@ -23,6 +23,8 @@
-
- #include "ui_mpvconfigwidget.h"
-
-+#include <mpv/client.h>
-+
- namespace SubtitleComposer {
- class MPVConfigWidget : public QWidget, private Ui::MPVConfigWidget
- {
-@@ -31,6 +33,12 @@ class MPVConfigWidget : public QWidget, private Ui::MPVConfigWidget
- public:
- explicit MPVConfigWidget(QWidget *parent = 0);
- virtual ~MPVConfigWidget();
-+
-+private:
-+ const QStringList getHelpResponse();
-+
-+private:
-+ mpv_handle *m_mpv;
- };
- }
-
---
-2.29.2
diff --git a/media-video/subtitlecomposer/files/subtitlecomposer-0.7.0-tests-optional.patch b/media-video/subtitlecomposer/files/subtitlecomposer-0.7.0-tests-optional.patch
deleted file mode 100644
index b2db3d9975e6..000000000000
--- a/media-video/subtitlecomposer/files/subtitlecomposer-0.7.0-tests-optional.patch
+++ /dev/null
@@ -1,9 +0,0 @@
---- a/src/core/CMakeLists.txt 2019-07-04 21:15:26.000891815 +0200
-+++ b/src/core/CMakeLists.txt 2019-07-04 21:15:26.005891858 +0200
-@@ -13,4 +13,6 @@
- CACHE INTERNAL EXPORTEDVARIABLE
- )
-
-+if(BUILD_TESTING)
- add_subdirectory(tests)
-+endif()
diff --git a/media-video/subtitlecomposer/files/subtitlecomposer-0.7.0-valid-desktop-file.patch b/media-video/subtitlecomposer/files/subtitlecomposer-0.7.0-valid-desktop-file.patch
deleted file mode 100644
index 932fc6770f04..000000000000
--- a/media-video/subtitlecomposer/files/subtitlecomposer-0.7.0-valid-desktop-file.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-From ce2a1a94a6a0802d9a289d701e76b7975d5baa0d Mon Sep 17 00:00:00 2001
-From: Mladen Milinkovic <maxrd2@smoothware.net>
-Date: Thu, 9 Apr 2020 12:21:07 +0200
-Subject: [PATCH] Removed invalid subpicture/x-pgs mime - refs #20
-
----
- src/subtitlecomposer.desktop | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/subtitlecomposer.desktop b/src/subtitlecomposer.desktop
-index 4195b076..af8a80af 100644
---- a/src/subtitlecomposer.desktop
-+++ b/src/subtitlecomposer.desktop
-@@ -14,6 +14,6 @@
- Comment[hr]=KDE uređivač podnaslova
- Icon=subtitlecomposer
- Exec=subtitlecomposer %f
--MimeType=text/x-ssa;text/x-ass;text/x-microdvd;text/x-mpsub;application/x-subrip;text/x-subviewer;text/x-mplsub;text/x-tmplayer;text/x-tmplayer+;application/x-vobsub;subpicture/x-pgs;video/mp2t;application/x-vobsub;video/x-matroska;video/mp4;
-+MimeType=text/x-ssa;text/x-ass;text/x-microdvd;text/x-mpsub;application/x-subrip;text/x-subviewer;text/x-mplsub;text/x-tmplayer;text/x-tmplayer+;video/mp2t;application/x-vobsub;video/x-matroska;video/mp4;
- Terminal=false
- Categories=Qt;KDE;AudioVideo;
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/metadata.xml b/media-video/subtitlecomposer/metadata.xml
index e0450d427a62..d14e6df997e3 100644
--- a/media-video/subtitlecomposer/metadata.xml
+++ b/media-video/subtitlecomposer/metadata.xml
@@ -9,9 +9,6 @@
<email>kde@gentoo.org</email>
<name>Gentoo KDE Project</name>
</maintainer>
- <use>
- <flag name="mpv">Build mpv backend support</flag>
- </use>
<upstream>
<bugs-to>https://bugs.kde.org/</bugs-to>
</upstream>
diff --git a/media-video/subtitlecomposer/subtitlecomposer-0.7.0.ebuild b/media-video/subtitlecomposer/subtitlecomposer-0.7.0.ebuild
deleted file mode 100644
index 6dbfebafa05d..000000000000
--- a/media-video/subtitlecomposer/subtitlecomposer-0.7.0.ebuild
+++ /dev/null
@@ -1,83 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-ECM_TEST="forceoptional"
-KFMIN=5.60.0
-QTMIN=5.12.3
-VIRTUALX_REQUIRED="test"
-inherit ecm
-
-DESCRIPTION="Text-based subtitles editor"
-HOMEPAGE="https://subtitlecomposer.kde.org/"
-SRC_URI="https://github.com/maxrd2/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="5"
-KEYWORDS="amd64 x86"
-IUSE="gstreamer mpv unicode xine"
-
-BDEPEND="
- sys-devel/gettext
- virtual/pkgconfig
-"
-DEPEND="
- >=dev-qt/qtgui-${QTMIN}:5
- >=dev-qt/qtwidgets-${QTMIN}:5
- >=kde-frameworks/kcodecs-${KFMIN}:5
- >=kde-frameworks/kcompletion-${KFMIN}:5
- >=kde-frameworks/kconfig-${KFMIN}:5
- >=kde-frameworks/kconfigwidgets-${KFMIN}:5
- >=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
- >=kde-frameworks/sonnet-${KFMIN}:5
- media-libs/phonon[qt5(+)]
- gstreamer? (
- dev-libs/glib:2
- media-libs/gstreamer:1.0
- media-libs/gst-plugins-base:1.0
- )
- media-video/ffmpeg:0=
- mpv? ( media-video/mpv[libmpv] )
- unicode? ( dev-libs/icu:= )
- xine? (
- media-libs/xine-lib
- x11-libs/libX11
- x11-libs/libxcb
- )
-"
-RDEPEND="${DEPEND}"
-
-PATCHES=(
- "${FILESDIR}/${P}-tests-optional.patch"
- "${FILESDIR}/${P}-valid-desktop-file.patch" # bug 745429
- "${FILESDIR}/${P}-mpv-0.33.patch" # bug 760006
-)
-
-S="${WORKDIR}/SubtitleComposer-${PV}"
-
-src_configure() {
- local mycmakeargs=(
- -DCMAKE_DISABLE_FIND_PACKAGE_PocketSphinx=ON # bug 616706
- $(cmake_use_find_package gstreamer GStreamer)
- $(cmake_use_find_package mpv MPV)
- $(cmake_use_find_package unicode ICU)
- $(cmake_use_find_package xine Xine)
- $(cmake_use_find_package xine X11)
- )
-
- 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/subtitlecomposer/subtitlecomposer-0.7.1.ebuild b/media-video/subtitlecomposer/subtitlecomposer-0.8.0.ebuild
index 6f8b7b633568..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-2021 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
@@ -43,20 +49,15 @@ BDEPEND="
virtual/pkgconfig
"
-PATCHES=( "${FILESDIR}/${P}-tests-optional.patch" )
+PATCHES=(
+ "${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/subtitleeditor/metadata.xml b/media-video/subtitleeditor/metadata.xml
index 8f66a7d46a7f..af8748d8896e 100644
--- a/media-video/subtitleeditor/metadata.xml
+++ b/media-video/subtitleeditor/metadata.xml
@@ -1,11 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="project">
- <email>gnome@gentoo.org</email>
- <name>Gentoo GNOME Desktop</name>
-</maintainer>
-<longdescription lang="en">
-Subtitle Editor is a GTK+3 tool to edit subtitles for GNU/Linux/*BSD. It can be used for new subtitles or as a tool to transform, edit, correct and refine existing subtitle. This program also shows sound waves, which makes it easier to synchronise subtitles to voices.
-</longdescription>
+ <maintainer type="project">
+ <email>gnome@gentoo.org</email>
+ <name>Gentoo GNOME Desktop</name>
+ </maintainer>
+ <longdescription lang="en">
+ Subtitle Editor is a GTK+3 tool to edit subtitles for GNU/Linux/*BSD. It can
+ be used for new subtitles or as a tool to transform, edit, correct and
+ refine existing subtitle. This program also shows sound waves, which makes
+ it easier to synchronise subtitles to voices.
+ </longdescription>
+ <upstream>
+ <remote-id type="github">kitone/subtitleeditor</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/media-video/subtitleeditor/subtitleeditor-0.54.0-r1.ebuild b/media-video/subtitleeditor/subtitleeditor-0.54.0-r1.ebuild
deleted file mode 100644
index 83ce58f4ad78..000000000000
--- a/media-video/subtitleeditor/subtitleeditor-0.54.0-r1.ebuild
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-GNOME2_LA_PUNT="yes"
-
-inherit flag-o-matic gnome2
-
-DESCRIPTION="GTK+3 subtitle editing tool"
-HOMEPAGE="https://kitone.github.io/subtitleeditor"
-SRC_URI="https://github.com/kitone/${PN}/releases/download/${PV}/${P}.tar.gz"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE="debug nls"
-# opengl would mix gtk+:2 and :3 which is not possible
-
-RDEPEND="
- >=app-text/enchant-1.4:0
- app-text/iso-codes
- >=dev-cpp/cairomm-1.12:0
- >=dev-cpp/glibmm-2.46:2
- >=dev-cpp/gtkmm-3.18:3.0
- >=dev-cpp/gstreamermm-1.0:1.0=
- >=dev-cpp/libxmlpp-2.40:2.6
- dev-libs/glib:2
- >=dev-libs/libsigc++-2.6:2
- media-libs/gst-plugins-base:1.0[X,pango]
- media-libs/gst-plugins-good:1.0
- media-libs/gstreamer:1.0
- media-plugins/gst-plugins-meta:1.0
- x11-libs/gtk+:3
- nls? ( virtual/libintl )
-"
-# opengl? (
-# >=dev-cpp/gtkglextmm-1.2.0-r2:1.0
-# virtual/opengl )
-# X needed for video output and pango needed for text overlay
-DEPEND="${RDEPEND}
- >=dev-util/intltool-0.40
- virtual/pkgconfig
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.52.1-disable-nls-fix.patch
-)
-
-src_configure() {
- # Avoid using --enable-debug as it mocks with CXXFLAGS and LDFLAGS
- use debug && append-cxxflags -DDEBUG
-
- gnome2_src_configure \
- --disable-debug \
- --disable-gl \
- $(use_enable nls)
-# $(use_enable opengl gl)
-}
diff --git a/media-video/subtitleeditor/subtitleeditor-0.54.0_p5.ebuild b/media-video/subtitleeditor/subtitleeditor-0.54.0_p5.ebuild
index 5929fb7bc8c0..21f2d7e2a70d 100644
--- a/media-video/subtitleeditor/subtitleeditor-0.54.0_p5.ebuild
+++ b/media-video/subtitleeditor/subtitleeditor-0.54.0_p5.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -14,7 +14,7 @@ SRC_URI="https://github.com/kitone/${PN}/releases/download/${PV}/${P/_p*}.tar.gz
LICENSE="GPL-3+"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64 x86"
IUSE="debug nls"
# opengl would mix gtk+:2 and :3 which is not possible
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/metadata.xml b/media-video/subtitleripper/metadata.xml
deleted file mode 100644
index f3ed2a707fcf..000000000000
--- a/media-video/subtitleripper/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>
- <name>Gentoo Video project</name>
- </maintainer>
- <upstream>
- <remote-id type="sourceforge">subtitleripper</remote-id>
- </upstream>
-</pkgmetadata>
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/tcmplex-panteltje/files/tcmplex-panteltje-0.4.7-clang16.patch b/media-video/tcmplex-panteltje/files/tcmplex-panteltje-0.4.7-clang16.patch
new file mode 100644
index 000000000000..ffd06af6992a
--- /dev/null
+++ b/media-video/tcmplex-panteltje/files/tcmplex-panteltje-0.4.7-clang16.patch
@@ -0,0 +1,7 @@
+https://bugs.gentoo.org/871534
+--- a/main.h
++++ b/main.h
+@@ -11,2 +11,3 @@
+
++#include <ctype.h>
+ #include <string.h>
diff --git a/media-video/tcmplex-panteltje/tcmplex-panteltje-0.4.7-r1.ebuild b/media-video/tcmplex-panteltje/tcmplex-panteltje-0.4.7-r2.ebuild
index 2d0a5c45d5fb..8b2b7107b18b 100644
--- a/media-video/tcmplex-panteltje/tcmplex-panteltje-0.4.7-r1.ebuild
+++ b/media-video/tcmplex-panteltje/tcmplex-panteltje-0.4.7-r2.ebuild
@@ -1,25 +1,35 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
+
+inherit toolchain-funcs
DESCRIPTION="Audio video multiplexer for 8 audio channels"
HOMEPAGE="http://panteltje.com/panteltje/dvd/"
SRC_URI="http://panteltje.com/panteltje/dvd/${P}.tgz"
-LICENSE="GPL-2"
+LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~x86"
-IUSE=""
+
+PATCHES=(
+ "${FILESDIR}"/${P}-clang16.patch
+)
src_prepare() {
- sed -e "s:CFLAGS = -O2:CFLAGS +=:" \
+ default
+
+ sed -e "s:CFLAGS = -O2:CFLAGS += \$(CPPFLAGS):" \
-e "s:\$(LIBRARY):\$(LIBRARY) \$(LDFLAGS):" \
-i Makefile || die
- default
+}
+
+src_compile() {
+ emake CC="$(tc-getCC)"
}
src_install() {
dobin tcmplex-panteltje
- dodoc CHANGES COPYRIGHT README
+ einstalldocs
}
diff --git a/media-video/tivodecode/tivodecode-0.2_pre4.ebuild b/media-video/tivodecode/tivodecode-0.2_pre4.ebuild
index 511c7c80d240..3328d007ad23 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/"
-SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.gz"
+HOMEPAGE="https://tivodecode.sourceforge.net/"
+SRC_URI="https://downloads.sourceforge.net/${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/Manifest b/media-video/totem/Manifest
index 519bd4e15b12..c6fb95cdb95b 100644
--- a/media-video/totem/Manifest
+++ b/media-video/totem/Manifest
@@ -1 +1 @@
-DIST totem-3.38.1.tar.xz 2196156 BLAKE2B a9f5771d7406df9490b6eb0f9dc03ef449bee05d6ff038fce9adbac63692b5555de6ff36fe90b3b63cf4bc59739d91b23e57b3a03bf953594567e6a21060b509 SHA512 f33583b0890bfdd0dfff0722f73242b1d38605564a3055b587a30eae4c0ba51159c105ef577ab144792ca1994f385c2b8a9375a356b7cdf2b93bfeb6317f6040
+DIST totem-43.0.tar.xz 2486304 BLAKE2B 3b43ad2cbf40472bff3b7369001b9b7784ef52244812d9aae493fffa99982a8f24770d0f5063f0b1f1fd320d6b2cec5e702ded9ccfaece51f7bdf9d862b96230 SHA512 b35d32ebadf4b9900ab234f07f8a7128edbc15593e1447c22f3c7a653fcbd4a2df9d45484e2decce5dd5ab67849fca1003a1ded338a0af0930b6560ee4f764ae
diff --git a/media-video/totem/files/3.38.0-gst-inspect-sandbox.patch b/media-video/totem/files/3.38.0-gst-inspect-sandbox.patch
deleted file mode 100644
index ef3ea1140217..000000000000
--- a/media-video/totem/files/3.38.0-gst-inspect-sandbox.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From abb91b315f407b7e180bc00eb96f1cd6bb0ab25d Mon Sep 17 00:00:00 2001
-From: Gilles Dartiguelongue <eva@gentoo.org>
-Date: Thu, 7 Jun 2018 23:47:48 +0200
-Subject: [PATCH] Make gst-inspect calls optional at build-time
-
-Crashes on Gentoo due to plugins trying to access dri nodes which are sandboxed
----
- meson_options.txt | 1 +
- src/backend/meson.build | 2 ++
- 2 files changed, 3 insertions(+)
-
-diff --git a/meson_options.txt b/meson_options.txt
-index 7070fd5d0..678b8f588 100644
---- a/meson_options.txt
-+++ b/meson_options.txt
-@@ -3,3 +3,4 @@ option('enable-python', type: 'combo', choices: ['yes', 'no', 'auto'], value: 'a
- option('with-plugins', type: 'combo', choices: ['all', 'none', 'auto'], value: 'auto', description: 'Which Totem plugins to compile (default: auto; "all", "none" and "auto" are valid)')
- option('enable-gtk-doc', type: 'boolean', value: false, description: 'use gtk-doc to build documentation')
- option('profile', type: 'combo', choices: ['default', 'development'], value: 'default', description: 'Build profiles')
-+option('gst-inspect', type: 'boolean', value: true, description: 'build-time test of available gstreamer plugins')
-diff --git a/src/backend/meson.build b/src/backend/meson.build
-index fbf74258b..1e025a5b9 100644
---- a/src/backend/meson.build
-+++ b/src/backend/meson.build
-@@ -1,5 +1,6 @@
- backend_inc = include_directories('.')
-
-+if get_option('gst-inspect')
- gst_inspect = find_program(
- 'gst-inspect-1.0',
- join_paths(gst_dep.get_pkgconfig_variable('toolsdir'), 'gst-inspect-1.0'),
-@@ -31,6 +32,7 @@ foreach plugin: gst_good_plugins
- assert(r.returncode() == 0,
- 'Cannot find required GStreamer-1.0 plugin "' + plugin + '". It should be part of gst-plugins-good. Please install it.')
- endforeach
-+endif
-
- sources = files(
- 'bacon-time-label.c',
---
-2.26.3
-
diff --git a/media-video/totem/files/43.0-gst-inspect-sandbox.patch b/media-video/totem/files/43.0-gst-inspect-sandbox.patch
new file mode 100644
index 000000000000..6b545ebcdf8f
--- /dev/null
+++ b/media-video/totem/files/43.0-gst-inspect-sandbox.patch
@@ -0,0 +1,30 @@
+# From abb91b315f407b7e180bc00eb96f1cd6bb0ab25d Mon Sep 17 00:00:00 2001
+# From: Gilles Dartiguelongue <eva@gentoo.org>
+# Date: Thu, 7 Jun 2018 23:47:48 +0200
+# Subject: [PATCH] Make gst-inspect calls optional at build-time
+#
+# Crashes on Gentoo due to plugins trying to access dri nodes which are sandboxed
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -6,3 +6,4 @@ option('with-plugins', type: 'combo', choices: ['all', 'none', 'auto'], value: '
+ option('enable-gtk-doc', type: 'boolean', value: false, description: 'use gtk-doc to build documentation')
+ option('profile', type: 'combo', choices: ['default', 'development'], value: 'default', description: 'Build profiles')
+ option('inspector-page', type:'boolean', value: false, description: 'Whether to build the optional GTK inspector page')
++option('gst-inspect', type: 'boolean', value: true, description: 'build-time test of available gstreamer plugins')
+--- a/src/backend/meson.build
++++ b/src/backend/meson.build
+@@ -1,5 +1,6 @@
+ backend_inc = include_directories('.')
+
++if get_option('gst-inspect')
+ gst_inspect = find_program(
+ 'gst-inspect-1.0',
+ join_paths(gst_dep.get_pkgconfig_variable('toolsdir'), 'gst-inspect-1.0'),
+@@ -32,6 +33,7 @@ foreach plugin: gst_good_plugins
+ assert(r.returncode() == 0,
+ 'Cannot find required GStreamer-1.0 plugin "' + plugin + '". It should be part of gst-plugins-good. Please install it.')
+ endforeach
++endif
+
+ sources = files(
+ 'bacon-time-label.c',
diff --git a/media-video/totem/metadata.xml b/media-video/totem/metadata.xml
index 8dc7faf1e718..18256ddf7a00 100644
--- a/media-video/totem/metadata.xml
+++ b/media-video/totem/metadata.xml
@@ -1,22 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>gnome@gentoo.org</email>
- <name>Gentoo GNOME Desktop</name>
- </maintainer>
- <maintainer type="project">
- <email>media-video@gentoo.org</email>
- <name>Gentoo Video project</name>
- </maintainer>
- <maintainer type="project">
- <email>gstreamer@gentoo.org</email>
- <name>GStreamer package maintainers</name>
- </maintainer>
- <longdescription>
-Totem is movie player for the GNOME desktop. It features a playlist, fullscreen mode, seek and volume controls, as well as a pretty complete keyboard navigation. It comes with added functionality such as a video thumbnailer for Nautilus, Nautilus properties tab and a webcam utility.
- </longdescription>
- <use>
- <flag name="python">Build <pkg>dev-lang/python</pkg> using plugins (dbusservice for notifications and MPRIS control, interactive python console and opensubtitles lookup)</flag>
- </use>
+ <maintainer type="project">
+ <email>gnome@gentoo.org</email>
+ <name>Gentoo GNOME Desktop</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>media-video@gentoo.org</email>
+ <name>Gentoo Video project</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>gstreamer@gentoo.org</email>
+ <name>GStreamer package maintainers</name>
+ </maintainer>
+ <longdescription>
+ Totem is movie player for the GNOME desktop. It features a playlist,
+ fullscreen mode, seek and volume controls, as well as a pretty complete
+ keyboard navigation. It comes with added functionality such as a video
+ thumbnailer for Nautilus, Nautilus properties tab and a webcam utility.
+ </longdescription>
+ <use>
+ <flag name="python">Build <pkg>dev-lang/python</pkg> using plugins (dbusservice for notifications and MPRIS control, interactive python console and opensubtitles lookup)</flag>
+ </use>
+ <upstream>
+ <remote-id type="gnome-gitlab">GNOME/totem</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/media-video/totem/totem-3.38.1.ebuild b/media-video/totem/totem-43.0-r1.ebuild
index 717a1d6b7eff..99c261c6b5ea 100644
--- a/media-video/totem/totem-3.38.1.ebuild
+++ b/media-video/totem/totem-43.0-r1.ebuild
@@ -1,14 +1,14 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
-PYTHON_COMPAT=( python3_{8..10} )
+EAPI=8
+PYTHON_COMPAT=( python3_{10..12} )
PYTHON_REQ_USE="threads(+)"
inherit gnome.org gnome2-utils meson virtualx xdg python-single-r1
DESCRIPTION="Media player for GNOME"
-HOMEPAGE="https://wiki.gnome.org/Apps/Videos"
+HOMEPAGE="https://wiki.gnome.org/Apps/Videos https://gitlab.gnome.org/GNOME/totem/"
LICENSE="GPL-2+ LGPL-2+"
SLOT="0"
@@ -19,20 +19,18 @@ REQUIRED_USE="
"
RESTRICT="!test? ( test )"
-KEYWORDS="amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 x86"
+KEYWORDS="amd64 ~arm arm64 ~ia64 ~loong ~ppc ~ppc64 ~riscv x86"
-DEPEND="
- >=dev-libs/glib-2.56.0:2
+COMMON_DEPEND="
+ >=dev-libs/glib-2.72.0:2
>=x11-libs/gtk+-3.22.0:3[introspection]
+ >=gui-libs/libhandy-1.5.0:1
>=media-libs/gstreamer-1.6.0:1.0
>=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]
- >=media-libs/clutter-1.17.3:1.0[gtk]
- >=media-libs/clutter-gst-2.99.2:3.0
- >=media-libs/clutter-gtk-1.8.1:1.0
gnome-base/gnome-desktop:3=
gnome-base/gsettings-desktop-schemas
>=x11-libs/cairo-1.14
@@ -46,19 +44,24 @@ DEPEND="
')
)
"
-RDEPEND="${DEPEND}
+RDEPEND="${COMMON_DEPEND}
media-plugins/grilo-plugins:0.3
+ media-plugins/gst-plugins-gtk:1.0[opengl]
media-plugins/gst-plugins-meta:1.0
media-plugins/gst-plugins-taglib:1.0
x11-themes/adwaita-icon-theme
+ 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}]
')
)
"
+DEPEND="${COMMON_DEPEND}
+ x11-base/xorg-proto
+"
BDEPEND="
dev-lang/perl
gtk-doc? ( >=dev-util/gtk-doc-1.14
@@ -67,13 +70,12 @@ BDEPEND="
dev-util/itstool
>=sys-devel/gettext-0.19.8
virtual/pkgconfig
- x11-base/xorg-proto
"
# perl for pod2man
# Prevent dev-python/pylint dep, bug #482538
PATCHES=(
- "${FILESDIR}"/3.38.0-gst-inspect-sandbox.patch # Allow disabling calls to gst-inspect (sandbox issue)
+ "${FILESDIR}"/${PV}-gst-inspect-sandbox.patch # Allow disabling calls to gst-inspect (sandbox issue)
)
pkg_setup() {
@@ -81,17 +83,23 @@ pkg_setup() {
}
src_prepare() {
+ default
+ xdg_environment_reset
+
# Drop pointless samplepython plugin from build
sed -e '/samplepython/d' -i src/plugins/meson.build || die
- xdg_src_prepare
}
src_configure() {
local emesonargs=(
+ -Dhelp=true
-Denable-easy-codec-installation=yes
-Denable-python=$(usex python yes no)
+ -Dlibportal=enabled
-Dwith-plugins=all # in 3.34.1 only builtin and python plugins are left, and python is extra controlled by enable-python
$(meson_use gtk-doc enable-gtk-doc)
+ -Dprofile=default
+ -Dinspector-page=false
-Dgst-inspect=false
)
meson_src_configure
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 41c7a8e47895..000000000000
--- a/media-video/transcode/transcode-1.1.7-r6.ebuild
+++ /dev/null
@@ -1,144 +0,0 @@
-# Copyright 2002-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-inherit autotools libtool multilib
-
-DESCRIPTION="Utilities for transcoding video and audio codecs in different containers"
-HOMEPAGE="http://www.transcoding.org/ https://bitbucket.org/france/transcode-tcforge"
-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_x86_3dnow a52 aac alsa altivec 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"
-
-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? ( virtual/jpeg:0= )
- 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/libXpm x11-libs/libXaw 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 )
-"
-
-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 )
- "
-
-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 #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}/transcode-1.1.7-ffmpeg4.patch" )
- fi
-
- default
-
- eautoreconf
-}
-
-src_configure() {
- local myconf
- use x86 && myconf="$(use_enable !pic x86-textrels)" #271476
-
- local myeconfargs=(
- $(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 altivec)
- $(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/tsmuxer/Manifest b/media-video/tsmuxer/Manifest
index 602c43239fed..82cf9cdec615 100644
--- a/media-video/tsmuxer/Manifest
+++ b/media-video/tsmuxer/Manifest
@@ -1 +1 @@
-DIST tsmuxer-2.6.11.tar.gz 538798 BLAKE2B 18f5f9002e356664ae84343afbadcddd447743404bcdcca709ba039ebb2ab05e5fba7eda0f30c86c29e18040d646004d1aec7dec34ed008ddbdb15228c63f09d SHA512 25b552153b76231ac1b88858d2178564d22edd18c6b08dc872765ac214ca6fd1ff6df5c5fff0f24647ea35f3f990e364bfb8adff5dd79c69cc12875fafb4f137
+DIST tsmuxer-2.6.16_p20220706.tar.gz 699612 BLAKE2B 101f97b0846a1051c7920878c304e62d6e4d42a3c85c0d1e0fe8cd7cf2ebfd49ad0c75966c0b5e171a6e878d19ff6a03481b29bac4d0b1994285c24893597349 SHA512 96ffaf04a02a0f7cc643a49b54d299648bff551aa03263547d17abeb7871cdb867d98d13becea6e69d1d5691afffc9011ce502a3e7e9bd78f5025bff79d3ad76
diff --git a/media-video/tsmuxer/metadata.xml b/media-video/tsmuxer/metadata.xml
index 3f59174a7177..5cb1a1ccb7e0 100644
--- a/media-video/tsmuxer/metadata.xml
+++ b/media-video/tsmuxer/metadata.xml
@@ -11,4 +11,7 @@
Dune HD Ultra, Sony Playstation3 and others). tsMuxeR is a part of
SmartCONTENT, content preparation solution.
</longdescription>
+ <upstream>
+ <remote-id type="github">justdan96/tsMuxer</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/media-video/tsmuxer/tsmuxer-2.6.11-r1.ebuild b/media-video/tsmuxer/tsmuxer-2.6.11-r1.ebuild
deleted file mode 100644
index 4ddb8bb9da41..000000000000
--- a/media-video/tsmuxer/tsmuxer-2.6.11-r1.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-DESCRIPTION="Utility to create and demux TS and M2TS files"
-HOMEPAGE="http://forum.doom9.org/showthread.php?t=168539"
-SRC_URI="https://drive.google.com/uc?export=download&id=0B0VmPcEZTp8NekJxLUVJRWMwejQ -> ${P}.tar.gz"
-
-LICENSE="SmartLabs"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-QA_FLAGS_IGNORED="opt/${PN}/bin/tsMuxeR opt/${PN}/bin/tsMuxerGUI"
-
-DEPEND="|| (
- >=app-arch/upx-3.01[lzma]
- >=app-arch/upx-bin-3.01
-)"
-RDEPEND="
- >=media-libs/freetype-2.5.0.1:2[abi_x86_32(-)]
-"
-
-S="${WORKDIR}"
-
-src_prepare() {
- default
- upx -d tsMuxeR tsMuxerGUI || die
-}
-
-src_install() {
- dodir /opt/bin
- exeinto /opt/${PN}/bin
-
- doexe tsMuxeR
- dosym ../${PN}/bin/tsMuxeR /opt/bin/tsMuxeR
-}
diff --git a/media-video/tsmuxer/tsmuxer-2.6.16_p20220706.ebuild b/media-video/tsmuxer/tsmuxer-2.6.16_p20220706.ebuild
new file mode 100644
index 000000000000..963a534a2470
--- /dev/null
+++ b/media-video/tsmuxer/tsmuxer-2.6.16_p20220706.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+COMMIT="fafc3cd747457906290df773063ad8022684a33a"
+MY_PN="tsMuxer"
+
+DESCRIPTION="Utility to create and demux TS and M2TS files"
+HOMEPAGE="https://github.com/justdan96/tsMuxer"
+SRC_URI="https://github.com/justdan96/${MY_PN}/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="qt5"
+
+BDEPEND="virtual/pkgconfig
+ qt5? ( dev-qt/linguist-tools:5 )"
+DEPEND="qt5? (
+ dev-qt/qtmultimedia:5
+ dev-qt/qtwidgets:5
+ )
+ media-libs/freetype
+ sys-libs/zlib"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${MY_PN}-${COMMIT}"
+
+DOCS=( README.md )
+
+src_configure() {
+ local mycmakeargs=(
+ -DTSMUXER_STATIC_BUILD=OFF
+ -DTSMUXER_GUI=$(usex qt5)
+ )
+ cmake_src_configure
+}
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..2c05203e247a 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,14 @@ 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"
+S=${WORKDIR}/${PN}
+
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 x86"
-IUSE=""
DEPEND="
>=media-libs/libmpeg2-0.4.0
@@ -29,8 +30,6 @@ RDEPEND="
>=media-video/ffmpeg-1.0.8[encode]
"
-S=${WORKDIR}/${PN}
-
src_prepare() {
default
diff --git a/media-video/unifi-video/Manifest b/media-video/unifi-video/Manifest
deleted file mode 100644
index 2604e02e7ae4..000000000000
--- a/media-video/unifi-video/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST unifi-video.Ubuntu18.04_amd64.v3.10.13.deb 178800688 BLAKE2B b35f91e77514fcf0165298473be503f6d977cb9f8f53e88f5bb700a2c76a3636e2f475c93c395eab6af4a215074521e47e1dc2d868695c1de83968b64e157cc8 SHA512 58d03b1004ba6da58b52c20720137639167647539c135c71c6abb36b80e37c4f33f0d0ae4092f98858bed8fcb4a3c9f05cc2a0a25e96fee957da176b9b6801d2
diff --git a/media-video/unifi-video/files/commons-daemon-move.patch b/media-video/unifi-video/files/commons-daemon-move.patch
deleted file mode 100644
index 448f77249e82..000000000000
--- a/media-video/unifi-video/files/commons-daemon-move.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- a/usr/sbin/unifi-video
-+++ b/usr/sbin/unifi-video
-@@ -271,7 +271,7 @@
- JSVC_OPTS="${JSVC_OPTS} \
- -user ${PKGUSER} \
- -home ${JAVA_HOME} \
-- -cp /usr/share/java/commons-daemon.jar:${MAINJAR} \
-+ -cp /usr/share/commons-daemon/lib/commons-daemon.jar:${MAINJAR} \
- -pidfile ${PIDFILE} \
- -procname ${NAME} \
- ${JSVC_EXTRA_OPTS} \
-
diff --git a/media-video/unifi-video/files/unifi-video.initd b/media-video/unifi-video/files/unifi-video.initd
deleted file mode 100644
index 55d6e805453d..000000000000
--- a/media-video/unifi-video/files/unifi-video.initd
+++ /dev/null
@@ -1,20 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-PID_FILE="/run/unifi-video.pid"
-
-start() {
- ebegin "Starting unifi-video"
- start-stop-daemon --start --quiet -b \
- --pidfile "${PID_FILE}" -m \
- --exec /usr/sbin/unifi-video start
- eend $?
- #--user nobody --group nobody \
-}
-
-stop() {
- ebegin "Stopping unifi-video"
- start-stop-daemon --quiet --stop -R 20 --pidfile "${PID_FILE}"
- eend $?
-}
diff --git a/media-video/unifi-video/files/unifi-video.service b/media-video/unifi-video/files/unifi-video.service
deleted file mode 100644
index 6587be4f1cac..000000000000
--- a/media-video/unifi-video/files/unifi-video.service
+++ /dev/null
@@ -1,11 +0,0 @@
-[Unit]
-Description=UniFi Video Server
-Requires=network.target
-After=network.target
-
-[Service]
-ExecStart=/usr/sbin/unifi-video -D start
-ExecStop=/usr/sbin/unifi-video -D stop
-
-[Install]
-WantedBy=network.target
diff --git a/media-video/unifi-video/unifi-video-3.10.13-r2.ebuild b/media-video/unifi-video/unifi-video-3.10.13-r2.ebuild
deleted file mode 100644
index 683e20a1c53e..000000000000
--- a/media-video/unifi-video/unifi-video-3.10.13-r2.ebuild
+++ /dev/null
@@ -1,86 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit systemd
-
-MY_PV="${PV/_beta/-beta.}"
-DESCRIPTION="UniFi Video Server"
-HOMEPAGE="https://www.ubnt.com/download/unifi-video/"
-SRC_URI="https://dl.ubnt.com/firmwares/ufv/v${MY_PV}/unifi-video.Ubuntu18.04_amd64.v${MY_PV}.deb"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE=""
-RESTRICT="mirror"
-
-DEPEND="acct-group/unifi-video
- acct-user/unifi-video"
-RDEPEND="${DEPEND}
- dev-db/mongodb
- dev-java/commons-daemon
- sys-apps/lsb-release
- sys-apps/util-linux
- sys-libs/libcap
- virtual/jre:1.8"
-
-S=${WORKDIR}
-QA_PREBUILT="usr/lib*/${PN}/lib/*.so usr/lib*/${PN}/bin/*"
-
-src_unpack() {
- default
- unpack "${WORKDIR}"/data.tar.gz
-}
-
-src_prepare() {
- eapply "${FILESDIR}"/commons-daemon-move.patch
- sed -i usr/sbin/${PN} \
- -e '/require_root$/d' \
- -e '/update_limits$/d' \
- -e '/ulimit/d' \
- -e '/coredump_filter/d' || die
- default
-}
-
-src_install() {
- export CODEPATH=/usr/lib/${PN}
- export DATAPATH=/var/lib/${PN}
- LOGPATH=${DATAPATH}/logs
- VARLOGPATH=/var/log/${PN}
-
- insinto /usr/lib
- doins -r .${CODEPATH}
- into /usr
- dosbin usr/sbin/unifi-video
-
- dodir ${LOGPATH}
- fowners -R ${PN}:${PN} ${DATAPATH}
- dosym ${LOGPATH} ${VARLOGPATH}
- dosym ${LOGPATH} ${CODEPATH}/logs
-
- dosym ${DATAPATH} ${CODEPATH}/data
-
- fperms 500 ${CODEPATH}/bin/ubnt.avtool
- fperms 500 ${CODEPATH}/bin/evostreamms
- fperms 500 /usr/sbin/${PN}
- fowners -R ${PN}:${PN} ${CODEPATH}
- fperms -R 0400 ${CODEPATH}/lib/
- fperms 500 ${CODEPATH}/lib/
-
- echo "CONFIG_PROTECT=\"${DATAPATH}/system.properties\"" > "${T}"/99${PN}
- doenvd "${T}"/99${PN}
-
- dosym ../../../bin/mongod ${CODEPATH}/bin/mongod
-
- newinitd "${FILESDIR}"/${PN}.initd ${PN}
- systemd_dounit "${FILESDIR}"/${PN}.service
-}
-
-pkg_postinst() {
- if [[ ! -f ${DATAPATH}/system.properties ]]; then
- cp ${CODEPATH}/etc/system.properties ${DATAPATH}/system.properties
- echo uuid=$(uuidgen) >> ${DATAPATH}/system.properties
- fi
-}
diff --git a/media-video/unifi-video/unifi-video-3.10.13-r3.ebuild b/media-video/unifi-video/unifi-video-3.10.13-r3.ebuild
deleted file mode 100644
index a86ef7450ebd..000000000000
--- a/media-video/unifi-video/unifi-video-3.10.13-r3.ebuild
+++ /dev/null
@@ -1,86 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit systemd
-
-MY_PV="${PV/_beta/-beta.}"
-DESCRIPTION="UniFi Video Server"
-HOMEPAGE="https://www.ubnt.com/download/unifi-video/"
-SRC_URI="https://dl.ubnt.com/firmwares/ufv/v${MY_PV}/unifi-video.Ubuntu18.04_amd64.v${MY_PV}.deb"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE=""
-RESTRICT="mirror"
-
-DEPEND="acct-group/unifi-video
- acct-user/unifi-video"
-RDEPEND="${DEPEND}
- dev-db/mongodb
- dev-java/commons-daemon
- sys-apps/lsb-release
- sys-apps/util-linux
- sys-libs/libcap
- virtual/jre:1.8"
-
-S=${WORKDIR}
-QA_PREBUILT="usr/lib*/${PN}/lib/*.so usr/lib*/${PN}/bin/*"
-
-src_unpack() {
- default
- unpack "${WORKDIR}"/data.tar.gz
-}
-
-src_prepare() {
- eapply "${FILESDIR}"/commons-daemon-move.patch
- sed -i usr/sbin/${PN} \
- -e '/require_root$/d' \
- -e '/update_limits$/d' \
- -e '/ulimit/d' \
- -e '/coredump_filter/d' || die
- default
-}
-
-src_install() {
- export CODEPATH=/usr/lib/${PN}
- export DATAPATH=/var/lib/${PN}
- LOGPATH=${DATAPATH}/logs
- VARLOGPATH=/var/log/${PN}
-
- insinto /usr/lib
- doins -r .${CODEPATH}
- into /usr
- dosbin usr/sbin/unifi-video
-
- dodir ${LOGPATH}
- fowners -R ${PN}:${PN} ${DATAPATH}
- dosym ${LOGPATH} ${VARLOGPATH}
- dosym ${LOGPATH} ${CODEPATH}/logs
-
- dosym ${DATAPATH} ${CODEPATH}/data
-
- fperms 500 ${CODEPATH}/bin/ubnt.avtool
- fperms 500 ${CODEPATH}/bin/evostreamms
- fperms 500 /usr/sbin/${PN}
- fowners -R ${PN}:${PN} ${CODEPATH}
- fperms -R 0400 ${CODEPATH}/lib/
- fperms 500 ${CODEPATH}/lib/
-
- echo "CONFIG_PROTECT=\"${DATAPATH}/system.properties\"" > "${T}"/99${PN}
- doenvd "${T}"/99${PN}
-
- dosym ../../../bin/mongod ${CODEPATH}/bin/mongod
-
- newinitd "${FILESDIR}"/${PN}.initd ${PN}
- systemd_dounit "${FILESDIR}"/${PN}.service
-}
-
-pkg_postinst() {
- if [[ ! -f ${DATAPATH}/system.properties ]]; then
- cp ${CODEPATH}/etc/system.properties ${DATAPATH}/system.properties
- echo uuid=$(uuidgen) >> ${DATAPATH}/system.properties
- fi
-}
diff --git a/media-video/unifi-video/unifi-video-3.10.13-r4.ebuild b/media-video/unifi-video/unifi-video-3.10.13-r4.ebuild
deleted file mode 100644
index 0ca08a362e9c..000000000000
--- a/media-video/unifi-video/unifi-video-3.10.13-r4.ebuild
+++ /dev/null
@@ -1,87 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit systemd
-
-MY_PV="${PV/_beta/-beta.}"
-DESCRIPTION="UniFi Video Server"
-HOMEPAGE="https://www.ubnt.com/download/unifi-video/"
-SRC_URI="https://dl.ubnt.com/firmwares/ufv/v${MY_PV}/unifi-video.Ubuntu18.04_amd64.v${MY_PV}.deb"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE=""
-RESTRICT="mirror"
-
-DEPEND="acct-group/unifi-video
- acct-user/unifi-video"
-RDEPEND="${DEPEND}
- dev-db/mongodb
- dev-java/commons-daemon
- sys-apps/lsb-release
- sys-apps/util-linux
- sys-libs/libcap
- virtual/jre:1.8"
-
-S=${WORKDIR}
-QA_PREBUILT="usr/lib*/${PN}/lib/*.so usr/lib*/${PN}/bin/*"
-
-src_unpack() {
- default
- unpack "${WORKDIR}"/data.tar.gz
-}
-
-src_prepare() {
- eapply "${FILESDIR}"/commons-daemon-move.patch
- sed -i usr/sbin/${PN} \
- -e '/require_root$/d' \
- -e '/update_limits$/d' \
- -e '/ulimit/d' \
- -e '/coredump_filter/d' || die
- default
-}
-
-src_install() {
- export CODEPATH=/usr/lib/${PN}
- export DATAPATH=/var/lib/${PN}
- LOGPATH=${DATAPATH}/logs
- VARLOGPATH=/var/log/${PN}
-
- insinto /usr/lib
- doins -r .${CODEPATH}
- into /usr
- dosbin usr/sbin/unifi-video
-
- keepdir ${LOGPATH}
- dodir ${DATAPATH}
- fowners -R ${PN}:${PN} ${DATAPATH}
- dosym ${LOGPATH} ${VARLOGPATH}
- dosym ${LOGPATH} ${CODEPATH}/logs
-
- dosym ${DATAPATH} ${CODEPATH}/data
-
- fperms 500 ${CODEPATH}/bin/ubnt.avtool
- fperms 500 ${CODEPATH}/bin/evostreamms
- fperms 500 /usr/sbin/${PN}
- fowners -R ${PN}:${PN} ${CODEPATH}
- fperms -R 0400 ${CODEPATH}/lib/
- fperms 500 ${CODEPATH}/lib/
-
- echo "CONFIG_PROTECT=\"${DATAPATH}/system.properties\"" > "${T}"/99${PN}
- doenvd "${T}"/99${PN}
-
- dosym ../../../bin/mongod ${CODEPATH}/bin/mongod
-
- newinitd "${FILESDIR}"/${PN}.initd ${PN}
- systemd_dounit "${FILESDIR}"/${PN}.service
-}
-
-pkg_postinst() {
- if [[ ! -f ${DATAPATH}/system.properties ]]; then
- cp ${CODEPATH}/etc/system.properties ${DATAPATH}/system.properties
- echo uuid=$(uuidgen) >> ${DATAPATH}/system.properties
- fi
-}
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/metadata.xml b/media-video/ushare/metadata.xml
index aa20bff17b1d..68ad4667cefa 100644
--- a/media-video/ushare/metadata.xml
+++ b/media-video/ushare/metadata.xml
@@ -5,4 +5,7 @@
<email>bkohler@gentoo.org</email>
<name>Ben Kohler</name>
</maintainer>
+ <upstream>
+ <remote-id type="github">ddugovic/uShare</remote-id>
+ </upstream>
</pkgmetadata>
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 6c744550640b..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-2021 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
+ 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 712f4d2b8c0f..545a948b1fb4 100644
--- a/media-video/v4l2loopback/v4l2loopback-9999.ebuild
+++ b/media-video/v4l2loopback/v4l2loopback-9999.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
+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
+ 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..f3be7fdcd32b 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-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -7,7 +7,7 @@ inherit toolchain-funcs
DESCRIPTION="Very fast requantisizing tool for backup DVDs"
HOMEPAGE="http://vamps.sourceforge.net/"
-SRC_URI="mirror://sourceforge/vamps/${P}.tar.gz"
+SRC_URI="https://downloads.sourceforge.net/vamps/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
@@ -20,6 +20,7 @@ RDEPEND="${DEPEND}
PATCHES=(
"${FILESDIR}/${P}-premature-eof.patch"
+ "${FILESDIR}/${P}-musl.patch"
)
src_compile() {
diff --git a/media-video/vcdimager/metadata.xml b/media-video/vcdimager/metadata.xml
index c7e80df04d05..a21ef1baec6e 100644
--- a/media-video/vcdimager/metadata.xml
+++ b/media-video/vcdimager/metadata.xml
@@ -1,7 +1,10 @@
<?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>
+ <maintainer type="project">
+ <email>media-video@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="savannah">vcdimager</remote-id>
+ </upstream>
</pkgmetadata>
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 143b4b5a9342..eb83ea25222e 100644
--- a/media-video/vcsi/Manifest
+++ b/media-video/vcsi/Manifest
@@ -1 +1 @@
-DIST vcsi-7.0.13.tar.gz 24343 BLAKE2B d3bacb95f470f118d7d0e8cc1f810a069f85bb07eaa15c25e4bee35f8b8fa4c6eb908b1fa791fc48e8510e627e2bd7d1b915a1525cc214130829c03498d9bf8c SHA512 bd5b20635a3184e1bfae5b1ba804124c6af884af5b3a12fcc9130451f084c0496b87b6f1193cd8d6a2b39676a2b91e2266e17c80c2013444cee5bd1dfefc3b1c
+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.ebuild b/media-video/vcsi/vcsi-7.0.16.ebuild
index fedc09b71e5e..70c52ec64f44 100644
--- a/media-video/vcsi/vcsi-7.0.13.ebuild
+++ b/media-video/vcsi/vcsi-7.0.16.ebuild
@@ -1,17 +1,18 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{8..10} )
+PYTHON_COMPAT=( python3_{10..12} )
+DISTUTILS_USE_PEP517=poetry
inherit distutils-r1
-MY_COMMIT="7c974f7396a5c6e459f7c6033674ad7144e820a8"
+MY_COMMIT="a42353ec9b17e2feb964c0f78830b836625cf148"
DESCRIPTION="Create thumbnail sheets from video files"
HOMEPAGE="https://github.com/amietn/vcsi"
-SRC_URI="https://github.com/amietn/vcsi/archive/${MY_COMMIT}.tar.gz -> ${P}.tar.gz"
+SRC_URI="https://github.com/amietn/vcsi/archive/${MY_COMMIT}.tar.gz -> ${P}-r1.tar.gz"
LICENSE="MIT"
SLOT="0"
@@ -25,6 +26,6 @@ RDEPEND="dev-python/jinja[${PYTHON_USEDEP}]
media-fonts/dejavu
media-video/ffmpeg"
-distutils_enable_tests nose
+distutils_enable_tests pytest
S="${WORKDIR}"/vcsi-${MY_COMMIT}
diff --git a/media-video/vdr/Manifest b/media-video/vdr/Manifest
index 42d12f50673f..bddcc07e66bd 100644
--- a/media-video/vdr/Manifest
+++ b/media-video/vdr/Manifest
@@ -1,9 +1,7 @@
DIST extpng-vdr-2.2.0-gentoo-edition-v1.patch.bz2 34664 BLAKE2B 81b68ebe0ef4588c3676f0b7a2c766d8d4d4f754a987b3be5868f3c6eff9158d4cea8e492ca81df535e637dbdc5baff638d1fafb4163e9d9a2d0125aba17e2e1 SHA512 16d6fbb8201f003dfe653b6a49424b794d7e697e27ad6f2383dbe17b76712ea5a3da88a676900b84d75ff7425bf3eb9084d60a89a4598758f482dc1f013f7b3e
-DIST vdr-2.1.5-naludump-0.1.diff 21548 BLAKE2B f193d982d072bbba2261d7dabd82e27795b2e4d8d18ae4486d8c559e7325b87f5902def7bb313e98585331144af62597f6f025f44ca142187e724516bc32c175 SHA512 d9188d5bfcf0588c22dc526fc1082253a1b505b322ccfbe676b8b2c12d4471af7b605924bcea85e879c9606d5e2cecdf6a6e8819cd9b8d877e5bb9f62b91251f
DIST vdr-2.2.0.tar.bz2 922708 BLAKE2B 975e07d6d4c5bd13ee92be5d6a1826d6404b0c59e20fa2e30689b185a61e02d54782ad528e6a4f15e0d36806b30bcf48aa336d63adb3604e78056ff318e0fd2c SHA512 183f58133915c6c0fe8ec2b88becbcb2a36418210e6dcf7931053d3771d727c3581593f9eb5c9693abf39e22e728f7b41c42079cd704610c3636ec05134ea93d
-DIST vdr-2.4-patch-for-permashift.diff.bz2 5298 BLAKE2B ebd00ba1c66783f97f5a6cc757cc9be6d937bd460f46b1880eec8b86ead1a5673a25ab64b733b8030e1c9a94123af28a5d6383905da265c67b2a945ba2c06c33 SHA512 3ba1968d2710061627e2a3b320e24ffeb08be6d8a7e71ed0c6732ebe6ed02d25f3a8afff524a6185ad0025d187ed9c7b259a9fb63dcf0c91e3fd2a079b5ef9d3
-DIST vdr-2.4.1_mainmenuhook-1.0.1.patch.bz2 1463 BLAKE2B 2be3597a273a92d02be0d072e3d74b39275cbbe17d22e570f416d42c46b53f43209498e569142a2cc357e5f7176d2454cb2a86d0822b29cca913eab2ae9cc27f SHA512 9d3eb501fa06ff5b03361ef65c8ddeeba5f37493cc0edc2d4f54e200e48e17607957fa95bd1540f028bc9a98ad6f42b4d38cf79e9ce971de36bed30def108759
-DIST vdr-2.4.6_pinplugin.patch.bz2 5176 BLAKE2B 142ad6551b8e37d223acf86f8c2f511cf2cb3664b5ff968bac5e44420c56bf5fdb974360df574141c424cd7a4b1e1489c4a504207420af10f722a77e6d2bad2f SHA512 d5c7263b908302ebf88a5e5ddcb658f56ee92656b40797fd48af1ff9852454adc1d1672cc97411e7744cc31a56f4d0f51df5ece102c21b2aa25d87e3c3c8fe12
-DIST vdr-2.4.6_ttxtsubs_v2.patch.bz2 51971 BLAKE2B e4915314e8f659df1c3e0ff631fd0c3dcec89053ff727fd28400dc6eecc49c1d4743a9bedaf3b11fce03fc6082309d4b4658d00a5b01aa5cbe8686e05412f882 SHA512 14c7b4397ba65e0ff9a5fb0705872f1cb6f1cdd1752b14f83f260540da25b5957632900232f83904c3d4fd6759e537c85bda2cce61455729eab3050a96441548
-DIST vdr-2.4.7.tbz2 919632 BLAKE2B be4e1ec365330855e4b2b26f44b1f35dc323e4783e96ef344a67b3e9fe2c0499760ab0f3d27c5e3bdddf5a65ebb65b0c81a62092301d34370aa19d0dd63bb1ab SHA512 41b8453bc6cdbb0db728b5d7d6624ab3ff9034b58ba443a8196f5fcc9fa78d18698cc91905890244e69d482ffc493374e6da2c97baed95fe742b888bdc63e42b
+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.4.1_mainmenuhook-1.0.1.patch b/media-video/vdr/files/vdr-2.4.1_mainmenuhook-1.0.1.patch
new file mode 100644
index 000000000000..deec2cd7cfdb
--- /dev/null
+++ b/media-video/vdr/files/vdr-2.4.1_mainmenuhook-1.0.1.patch
@@ -0,0 +1,114 @@
+original https://raw.githubusercontent.com/VDR4Arch/vdr4arch/master/vdr/vdr-MainMenuHooks.patch
+
+rebased for media-video/vdr-2.4.1
+
+Signed-off-by: Joerg Bornkessel <hd_brummy@gentoo.org> ( 2019 Dez 22 )
+diff -Naur vdr-2.4.1.orig/config.h vdr-2.4.1/config.h
+--- vdr-2.4.1.orig/config.h 2019-12-22 00:04:59.000000000 +0100
++++ vdr-2.4.1/config.h 2019-12-22 00:11:25.000000000 +0100
+@@ -36,6 +36,10 @@
+ // plugins to work with newer versions of the core VDR as long as no
+ // VDR header files have changed.
+
++// The MainMenuHook Patch's version number:
++#define MAINMENUHOOKSVERSION "1.0.1"
++#define MAINMENUHOOKSVERSNUM 10001 // Version * 10000 + Major * 100 + Minor
++
+ #define MAXPRIORITY 99
+ #define MINPRIORITY (-MAXPRIORITY)
+ #define LIVEPRIORITY 0 // priority used when selecting a device for live viewing
+diff -Naur vdr-2.4.1.orig/menu.c vdr-2.4.1/menu.c
+--- vdr-2.4.1.orig/menu.c 2019-12-22 00:04:59.000000000 +0100
++++ vdr-2.4.1/menu.c 2019-12-22 00:11:25.000000000 +0100
+@@ -4395,15 +4395,31 @@
+
+ // Initial submenus:
+
++ cOsdObject *menu = NULL;
+ switch (State) {
+- case osSchedule: AddSubMenu(new cMenuSchedule); break;
+- case osChannels: AddSubMenu(new cMenuChannels); break;
+- case osTimers: AddSubMenu(new cMenuTimers); break;
+- case osRecordings: AddSubMenu(new cMenuRecordings(NULL, 0, OpenSubMenus)); break;
+- case osSetup: AddSubMenu(new cMenuSetup); break;
+- case osCommands: AddSubMenu(new cMenuCommands(tr("Commands"), &Commands)); break;
++ case osSchedule:
++ if (!cPluginManager::CallFirstService("MainMenuHooksPatch-v1.0::osSchedule", &menu))
++ menu = new cMenuSchedule;
++ break;
++ case osChannels:
++ if (!cPluginManager::CallFirstService("MainMenuHooksPatch-v1.0::osChannels", &menu))
++ menu = new cMenuChannels;
++ break;
++ case osTimers:
++ if (!cPluginManager::CallFirstService("MainMenuHooksPatch-v1.0::osTimers", &menu))
++ menu = new cMenuTimers;
++ break;
++ case osRecordings:
++ if (!cPluginManager::CallFirstService("MainMenuHooksPatch-v1.0::osRecordings", &menu))
++ menu = new cMenuRecordings(NULL, 0, OpenSubMenus);
++ break;
++ case osSetup: menu = new cMenuSetup; break;
++ case osCommands: menu = new cMenuCommands(tr("Commands"), &Commands); break;
+ default: break;
+ }
++ if (menu)
++ if (menu->IsMenu())
++ AddSubMenu((cOsdMenu *) menu);
+ }
+
+ cOsdObject *cMenuMain::PluginOsdObject(void)
+@@ -4511,13 +4527,34 @@
+ eOSState state = cOsdMenu::ProcessKey(Key);
+ HadSubMenu |= HasSubMenu();
+
++ cOsdObject *menu = NULL;
+ switch (state) {
+- case osSchedule: return AddSubMenu(new cMenuSchedule);
+- case osChannels: return AddSubMenu(new cMenuChannels);
+- case osTimers: return AddSubMenu(new cMenuTimers);
+- case osRecordings: return AddSubMenu(new cMenuRecordings);
+- case osSetup: return AddSubMenu(new cMenuSetup);
+- case osCommands: return AddSubMenu(new cMenuCommands(tr("Commands"), &Commands));
++ case osSchedule:
++ if (!cPluginManager::CallFirstService("MainMenuHooksPatch-v1.0::osSchedule", &menu))
++ menu = new cMenuSchedule;
++ else
++ state = osContinue;
++ break;
++ case osChannels:
++ if (!cPluginManager::CallFirstService("MainMenuHooksPatch-v1.0::osChannels", &menu))
++ menu = new cMenuChannels;
++ else
++ state = osContinue;
++ break;
++ case osTimers:
++ if (!cPluginManager::CallFirstService("MainMenuHooksPatch-v1.0::osTimers", &menu))
++ menu = new cMenuTimers;
++ else
++ state = osContinue;
++ break;
++ case osRecordings:
++ if (!cPluginManager::CallFirstService("MainMenuHooksPatch-v1.0::osRecordings", &menu))
++ menu = new cMenuRecordings;
++ else
++ state = osContinue;
++ break;
++ case osSetup: menu = new cMenuSetup; break;
++ case osCommands: menu = new cMenuCommands(tr("Commands"), &Commands); break;
+ case osStopRecord: if (Interface->Confirm(tr("Stop recording?"))) {
+ if (cOsdItem *item = Get(Current())) {
+ cRecordControls::Stop(item->Text() + strlen(tr(STOP_RECORDING)));
+@@ -4568,6 +4605,12 @@
+ default: break;
+ }
+ }
++ if (menu) {
++ if (menu->IsMenu())
++ return AddSubMenu((cOsdMenu *) menu);
++ pluginOsdObject = menu;
++ return osPlugin;
++ }
+ if (!HasSubMenu() && Update(HadSubMenu))
+ Display();
+ if (Key != kNone) {
diff --git a/media-video/vdr/files/vdr-2.4.7_gcc11.patch b/media-video/vdr/files/vdr-2.4.7_gcc11.patch
deleted file mode 100644
index 1e37b2f0010c..000000000000
--- a/media-video/vdr/files/vdr-2.4.7_gcc11.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-Fix compile with gcc-11, officially from kls
-
-Signed-off-by: Martin Dummer <martin.dummer@gmx.net>
-
---- a/tools.h 2021/01/19 20:38:28 5.3
-+++ b/tools.h 2021/05/05 15:16:45
-@@ -53,17 +53,15 @@
-
- // In case some plugin needs to use the STL and gets an error message regarding one
- // of these functions, you can #define DISABLE_TEMPLATES_COLLIDING_WITH_STL before
--// including tools.h.
--#if !defined(__STL_CONFIG_H) // for old versions of the STL
--#if !defined(DISABLE_TEMPLATES_COLLIDING_WITH_STL) && !defined(_STL_ALGOBASE_H)
-+// including any VDR header files.
-+#if !defined(DISABLE_TEMPLATES_COLLIDING_WITH_STL)
- template<class T> inline T min(T a, T b) { return a <= b ? a : b; }
- template<class T> inline T max(T a, T b) { return a >= b ? a : b; }
- #endif
- template<class T> inline int sgn(T a) { return a < 0 ? -1 : a > 0 ? 1 : 0; }
--#if !defined(DISABLE_TEMPLATES_COLLIDING_WITH_STL) && !defined(_MOVE_H)
-+#if !defined(DISABLE_TEMPLATES_COLLIDING_WITH_STL)
- template<class T> inline void swap(T &a, T &b) { T t = a; a = b; b = t; }
- #endif
--#endif
-
- template<class T> inline T constrain(T v, T l, T h) { return v < l ? l : v > h ? h : v; }
diff --git a/media-video/vdr/files/vdr-2.6.1-patch-for-permashift.patch b/media-video/vdr/files/vdr-2.6.1-patch-for-permashift.patch
new file mode 100644
index 000000000000..03b476f986bb
--- /dev/null
+++ b/media-video/vdr/files/vdr-2.6.1-patch-for-permashift.patch
@@ -0,0 +1,517 @@
+Adapted Patch from forum post
+https://www.vdr-portal.de/forum/index.php?thread/134171-permashift-1-0-4-f%C3%BCr-vdr-2-4-betaversion/&postID=1341243#post1341243
+
+SRC Url https://www.vdr-portal.de/index.php?attachment/45632-vdr-2-5-4-patch-for-permashift-diff-gz/ adapted for vdr-2.6.1
+
+Signed-off-by: Martin Dummer <martin.dummer@gmx.net>
+
+diff -Naur vdr-2.6.1.orig/device.c vdr-2.6.1/device.c
+--- vdr-2.6.1.orig/device.c 2022-02-02 10:56:43.000000000 +0100
++++ vdr-2.6.1/device.c 2022-02-06 18:05:26.452890690 +0100
+@@ -1880,6 +1880,17 @@
+ ReleaseCamSlot();
+ }
+
++cRecorder* cDevice::GetPreRecording(const cChannel *Channel)
++{
++ cMutexLock MutexLock(&mutexReceiver);
++ for (int i = 0; i < MAXRECEIVERS; i++) {
++ if (receiver[i])
++ if (receiver[i]->IsPreRecording(Channel))
++ return (cRecorder*)receiver[i];
++ }
++ return NULL;
++}
++
+ // --- cTSBuffer -------------------------------------------------------------
+
+ cTSBuffer::cTSBuffer(int File, int Size, int DeviceNumber)
+diff -Naur vdr-2.6.1.orig/device.h vdr-2.6.1/device.h
+--- vdr-2.6.1.orig/device.h 2022-02-02 10:56:43.000000000 +0100
++++ vdr-2.6.1/device.h 2022-02-06 18:05:51.541429884 +0100
+@@ -85,6 +85,7 @@
+
+ class cPlayer;
+ class cReceiver;
++class cRecorder;
+ class cLiveSubtitle;
+
+ class cDeviceHook : public cListObject {
+@@ -854,6 +855,8 @@
+ ///< Returns true if we are currently receiving. The parameter has no meaning (for backwards compatibility only).
+ bool AttachReceiver(cReceiver *Receiver);
+ ///< Attaches the given receiver to this device.
++ cRecorder* GetPreRecording(const cChannel *Channel);
++ ///< Get precocious recording for the channel if there is one.
+ void Detach(cReceiver *Receiver, bool ReleaseCam = true);
+ ///< Detaches the given receiver from this device.
+ ///< If ReleaseCam is true, the CAM slot will be released if it
+diff -Naur vdr-2.6.1.orig/dvbplayer.c vdr-2.6.1/dvbplayer.c
+--- vdr-2.6.1.orig/dvbplayer.c 2022-02-02 10:56:43.000000000 +0100
++++ vdr-2.6.1/dvbplayer.c 2022-02-06 18:05:26.452890690 +0100
+@@ -249,13 +249,14 @@
+ cUnbufferedFile *replayFile;
+ double framesPerSecond;
+ bool isPesRecording;
+- bool pauseLive;
++ ReplayState replayState;
+ bool eof;
+ bool firstPacket;
+ ePlayModes playMode;
+ ePlayDirs playDir;
+ int trickSpeed;
+ int readIndex;
++ int startIndex;
+ bool readIndependent;
+ cFrame *readFrame;
+ cFrame *playFrame;
+@@ -271,6 +272,8 @@
+ virtual void Action(void);
+ public:
+ cDvbPlayer(const char *FileName, bool PauseLive);
++ cDvbPlayer(const char *FileName, ReplayState newReplayState);
++ void Construct(const char *FileName, ReplayState newReplayState);
+ virtual ~cDvbPlayer();
+ void SetMarks(const cMarks *Marks);
+ bool Active(void) { return cThread::Running(); }
+@@ -297,6 +300,17 @@
+ cDvbPlayer::cDvbPlayer(const char *FileName, bool PauseLive)
+ :cThread("dvbplayer")
+ {
++ Construct(FileName, PauseLive? restPauseLive : restNormal);
++}
++
++cDvbPlayer::cDvbPlayer(const char *FileName, ReplayState newReplayState)
++:cThread("dvbplayer")
++{
++ Construct(FileName, newReplayState);
++}
++
++void cDvbPlayer::Construct(const char *FileName, ReplayState newReplayState)
++{
+ nonBlockingFileReader = NULL;
+ ringBuffer = NULL;
+ marks = NULL;
+@@ -304,7 +318,8 @@
+ cRecording Recording(FileName);
+ framesPerSecond = Recording.FramesPerSecond();
+ isPesRecording = Recording.IsPesRecording();
+- pauseLive = PauseLive;
++ replayState = newReplayState;
++ bool reuse = (replayState == restReusePause || replayState == restReuseRewind);
+ eof = false;
+ firstPacket = true;
+ playMode = pmPlay;
+@@ -323,15 +338,21 @@
+ return;
+ ringBuffer = new cRingBufferFrame(PLAYERBUFSIZE);
+ // Create the index file:
+- index = new cIndexFile(FileName, false, isPesRecording, pauseLive);
++ index = new cIndexFile(FileName, false, isPesRecording, replayState == restPauseLive);
+ if (!index)
+ esyslog("ERROR: can't allocate index");
+ else if (!index->Ok()) {
+ delete index;
+ index = NULL;
+ }
+- else if (PauseLive)
++ else if (reuse)
+ framesPerSecond = cRecording(FileName).FramesPerSecond(); // the fps rate might have changed from the default
++ startIndex = 0;
++ if (replayState == restReuseRewind || replayState == restReusePause) {
++ int Current, Total;
++ GetIndex(Current, Total, false);
++ startIndex = max(Total - 1, 0);
++ }
+ }
+
+ cDvbPlayer::~cDvbPlayer()
+@@ -481,8 +502,21 @@
+ bool CutIn = false;
+ bool AtLastMark = false;
+
+- if (pauseLive)
+- Goto(0, true);
++ if (replayState == restPauseLive) {
++ Goto(0, true);
++ }
++ else if (replayState == restReuseRewind || replayState == restReusePause) {
++ readIndex = startIndex;
++ Goto(readIndex, true);
++ playMode = pmPlay;
++ if (replayState == restReuseRewind) {
++ Backward();
++ }
++ else if (replayState == restReusePause) {
++ Pause();
++ }
++ }
++
+ while (Running()) {
+ if (WaitingForData)
+ WaitingForData = !nonBlockingFileReader->WaitForDataMs(3); // this keeps the CPU load low, but reacts immediately on new data
+@@ -985,6 +1019,11 @@
+ {
+ }
+
++cDvbPlayerControl::cDvbPlayerControl(const char *FileName, ReplayState replayState)
++:cControl(player = new cDvbPlayer(FileName, replayState))
++{
++}
++
+ cDvbPlayerControl::~cDvbPlayerControl()
+ {
+ Stop();
+diff -Naur vdr-2.6.1.orig/dvbplayer.h vdr-2.6.1/dvbplayer.h
+--- vdr-2.6.1.orig/dvbplayer.h 2022-02-02 10:56:43.000000000 +0100
++++ vdr-2.6.1/dvbplayer.h 2022-02-06 18:05:26.452890690 +0100
+@@ -16,6 +16,14 @@
+
+ class cDvbPlayer;
+
++enum ReplayState
++{
++ restNormal,
++ restPauseLive,
++ restReusePause,
++ restReuseRewind
++};
++
+ class cDvbPlayerControl : public cControl {
+ private:
+ cDvbPlayer *player;
+@@ -25,6 +33,8 @@
+ // If PauseLive is true, special care is taken to make sure the index
+ // file of the recording is long enough to allow the player to display
+ // the first frame in still picture mode.
++ cDvbPlayerControl(const char *FileName, ReplayState replayState);
++ // Sets up a player for the given file. replayState represents the initial state.
+ virtual ~cDvbPlayerControl();
+ void SetMarks(const cMarks *Marks);
+ bool Active(void);
+diff -Naur vdr-2.6.1.orig/menu.c vdr-2.6.1/menu.c
+--- vdr-2.6.1.orig/menu.c 2022-02-02 10:56:43.000000000 +0100
++++ vdr-2.6.1/menu.c 2022-02-06 18:05:26.452890690 +0100
+@@ -5303,6 +5303,16 @@
+
+ cRecordControl::cRecordControl(cDevice *Device, cTimers *Timers, cTimer *Timer, bool Pause)
+ {
++ Construct(Device, Timers, Timer, Pause, NULL);
++}
++
++cRecordControl::cRecordControl(cDevice *Device, cTimers *Timers, cTimer *Timer, bool Pause, bool* reused)
++{
++ Construct(Device, Timers, Timer, Pause, reused);
++}
++
++void cRecordControl::Construct(cDevice *Device, cTimers *Timers, cTimer *Timer, bool Pause, bool* reused)
++{
+ const char *LastReplayed = cReplayControl::LastReplayed(); // must do this before locking schedules!
+ // Whatever happens here, the timers will be modified in some way...
+ Timers->SetModified();
+@@ -5331,6 +5341,7 @@
+ timer->SetPending(true);
+ timer->SetRecording(true);
+ event = timer->Event();
++ if (reused != NULL) *reused = false;
+
+ if (event || GetEvent())
+ dsyslog("Title: '%s' Subtitle: '%s'", event->Title(), event->ShortText());
+@@ -5360,8 +5371,21 @@
+ if (MakeDirs(fileName, true)) {
+ Recording.WriteInfo(); // we write this *before* attaching the recorder to the device, to make sure the info file is present when the recorder needs to update the fps value!
+ const cChannel *ch = timer->Channel();
+- recorder = new cRecorder(fileName, ch, timer->Priority());
+- if (device->AttachReceiver(recorder)) {
++
++ if (!Timer) {
++ recorder = device->GetPreRecording(ch);
++ if (recorder != NULL) {
++ recorder->ActivatePreRecording(fileName, timer->Priority());
++ if (reused != NULL) *reused = true;
++ }
++ }
++
++ if (recorder == NULL) {
++ recorder = new cRecorder(fileName, ch, timer->Priority());
++ if (!device->AttachReceiver(recorder)) DELETENULL(recorder);
++ }
++
++ if (recorder != NULL) {
+ cStatus::MsgRecording(device, Recording.Name(), Recording.FileName(), true);
+ if (!Timer && !LastReplayed) // an instant recording, maybe from cRecordControls::PauseLiveVideo()
+ cReplayControl::SetRecording(fileName);
+@@ -5371,8 +5395,6 @@
+ Recordings->AddByName(fileName);
+ return;
+ }
+- else
+- DELETENULL(recorder);
+ }
+ else
+ timer->SetDeferred(DEFERTIMER);
+@@ -5452,7 +5474,7 @@
+ cRecordControl *cRecordControls::RecordControls[MAXRECORDCONTROLS] = { NULL };
+ int cRecordControls::state = 0;
+
+-bool cRecordControls::Start(cTimers *Timers, cTimer *Timer, bool Pause)
++bool cRecordControls::Start(cTimers *Timers, cTimer *Timer, bool Pause, bool* reused)
+ {
+ static time_t LastNoDiskSpaceMessage = 0;
+ int FreeMB = 0;
+@@ -5490,7 +5512,7 @@
+ if (!Timer || Timer->Matches()) {
+ for (int i = 0; i < MAXRECORDCONTROLS; i++) {
+ if (!RecordControls[i]) {
+- RecordControls[i] = new cRecordControl(device, Timers, Timer, Pause);
++ RecordControls[i] = new cRecordControl(device, Timers, Timer, Pause, reused);
+ return RecordControls[i]->Process(time(NULL));
+ }
+ }
+@@ -5514,6 +5536,11 @@
+ return Start(Timers, NULL, Pause);
+ }
+
++bool cRecordControls::Start(cTimers *Timers, cTimer *Timer, bool Pause)
++{
++ return Start(Timers, Timer, Pause, NULL);
++}
++
+ void cRecordControls::Stop(const char *InstantId)
+ {
+ LOCK_TIMERS_WRITE;
+@@ -5549,10 +5576,17 @@
+
+ bool cRecordControls::PauseLiveVideo(void)
+ {
++ return PauseLiveVideo(false);
++}
++
++bool cRecordControls::PauseLiveVideo(bool rewind)
++{
+ Skins.Message(mtStatus, tr("Pausing live video..."));
++ bool reused = false;
+ cReplayControl::SetRecording(NULL); // make sure the new cRecordControl will set cReplayControl::LastReplayed()
+- if (Start(true)) {
+- cReplayControl *rc = new cReplayControl(true);
++ LOCK_TIMERS_WRITE;
++ if (Start(Timers, NULL, true, &reused)) {
++ cReplayControl *rc = new cReplayControl(rewind? restReuseRewind : reused? restReusePause : restPauseLive);
+ cControl::Launch(rc);
+ cControl::Attach();
+ Skins.Message(mtStatus, NULL);
+@@ -5695,7 +5729,18 @@
+ cReplayControl::cReplayControl(bool PauseLive)
+ :cDvbPlayerControl(fileName, PauseLive)
+ {
+- cDevice::PrimaryDevice()->SetKeepTracks(PauseLive);
++ Construct(PauseLive? restPauseLive : restNormal);
++}
++
++cReplayControl::cReplayControl(ReplayState replayState)
++:cDvbPlayerControl(fileName, replayState)
++{
++ Construct(replayState);
++}
++
++void cReplayControl::Construct(ReplayState replayState)
++{
++ cDevice::PrimaryDevice()->SetKeepTracks(replayState == restPauseLive);
+ currentReplayControl = this;
+ displayReplay = NULL;
+ marksModified = false;
+diff -Naur vdr-2.6.1.orig/menu.h vdr-2.6.1/menu.h
+--- vdr-2.6.1.orig/menu.h 2022-02-02 10:56:43.000000000 +0100
++++ vdr-2.6.1/menu.h 2022-02-06 18:05:26.452890690 +0100
+@@ -246,6 +246,8 @@
+ bool GetEvent(void);
+ public:
+ cRecordControl(cDevice *Device, cTimers *Timers, cTimer *Timer = NULL, bool Pause = false);
++ cRecordControl(cDevice *Device, cTimers *Timers, cTimer *Timer, bool Pause, bool* reused);
++ void Construct(cDevice *Device, cTimers *Timers, cTimer *Timer, bool Pause, bool* reused);
+ virtual ~cRecordControl();
+ bool Process(time_t t);
+ cDevice *Device(void) { return device; }
+@@ -261,10 +263,12 @@
+ static int state;
+ public:
+ static bool Start(cTimers *Timers, cTimer *Timer, bool Pause = false);
++ static bool Start(cTimers *Timers, cTimer *Timer, bool Pause, bool* reused);
+ static bool Start(bool Pause = false);
+ static void Stop(const char *InstantId);
+ static void Stop(cTimer *Timer);
+ static bool PauseLiveVideo(void);
++ static bool PauseLiveVideo(bool rewind);
+ static const char *GetInstantId(const char *LastInstantId);
+ static cRecordControl *GetRecordControl(const char *FileName);
+ static cRecordControl *GetRecordControl(const cTimer *Timer);
+@@ -320,6 +324,8 @@
+ void EditTest(void);
+ public:
+ cReplayControl(bool PauseLive = false);
++ cReplayControl(ReplayState replayState);
++ void Construct(ReplayState replayState);
+ virtual ~cReplayControl();
+ void Stop(void);
+ virtual cOsdObject *GetInfo(void);
+diff -Naur vdr-2.6.1.orig/receiver.h vdr-2.6.1/receiver.h
+--- vdr-2.6.1.orig/receiver.h 2022-02-02 10:56:43.000000000 +0100
++++ vdr-2.6.1/receiver.h 2022-02-06 18:05:26.452890690 +0100
+@@ -85,6 +85,10 @@
+ ///< case the device is needed otherwise, so code that uses a cReceiver
+ ///< should repeatedly check whether it is still attached, and if
+ ///< it isn't, delete it (or take any other appropriate measures).
++ virtual bool IsPreRecording(const cChannel *Channel) { return false; }
++ ///< prerecords given channel; may be turned into a disc recording.
++ virtual bool ActivatePreRecording(const char* fileName, int Priority) { return false; }
++ ///< turn prerecording into a disc recording
+ };
+
+ #endif //__RECEIVER_H
+diff -Naur vdr-2.6.1.orig/recorder.c vdr-2.6.1/recorder.c
+--- vdr-2.6.1.orig/recorder.c 2022-02-02 10:56:43.000000000 +0100
++++ vdr-2.6.1/recorder.c 2022-02-06 18:05:26.452890690 +0100
+@@ -164,11 +164,25 @@
+ cRecorder::cRecorder(const char *FileName, const cChannel *Channel, int Priority)
+ :cReceiver(Channel, Priority)
+ ,cThread("recording")
++,tsChecker(NULL), frameChecker(NULL), recordingInfo(NULL), ringBuffer(NULL), frameDetector(NULL), fileName(NULL), index(NULL), recordFile(NULL), recordingName(NULL)
+ {
+- tsChecker = new cTsChecker;
+- frameChecker = new cFrameChecker;
++ if (FileName != NULL) {
++ InitializeFile(FileName, Channel);
++ }
++}
++
++void cRecorder::InitializeFile(const char *FileName, const cChannel *Channel)
++{
++ if (tsChecker == NULL) {
++ tsChecker = new cTsChecker;
++ }
++ if (frameChecker == NULL) {
++ frameChecker = new cFrameChecker;
++ }
+ recordingName = strdup(FileName);
+- recordingInfo = new cRecordingInfo(recordingName);
++ if (recordingInfo == NULL) {
++ recordingInfo = new cRecordingInfo(recordingName);
++ }
+ recordingInfo->Read();
+ oldErrors = max(0, recordingInfo->Errors()); // in case this is a re-started recording
+ errors = oldErrors;
+@@ -193,7 +207,9 @@
+ Pid = Channel->Dpid(0);
+ Type = 0x06;
+ }
+- frameDetector = new cFrameDetector(Pid, Type);
++ if (frameDetector == NULL) {
++ frameDetector = new cFrameDetector(Pid, Type);
++ }
+ index = NULL;
+ fileSize = 0;
+ lastDiskSpaceCheck = time(NULL);
+diff -Naur vdr-2.6.1.orig/recorder.h vdr-2.6.1/recorder.h
+--- vdr-2.6.1.orig/recorder.h 2022-02-02 10:56:43.000000000 +0100
++++ vdr-2.6.1/recorder.h 2022-02-06 18:05:26.452890690 +0100
+@@ -19,8 +19,8 @@
+ class cTsChecker;
+ class cFrameChecker;
+
+-class cRecorder : public cReceiver, cThread {
+-private:
++class cRecorder : public cReceiver, protected cThread {
++protected:
+ cTsChecker *tsChecker;
+ cFrameChecker *frameChecker;
+ cRingBufferLinear *ringBuffer;
+@@ -41,7 +41,6 @@
+ bool RunningLowOnDiskSpace(void);
+ bool NextFile(void);
+ void HandleErrors(bool Force = false);
+-protected:
+ virtual void Activate(bool On);
+ ///< If you override Activate() you need to call Detach() (which is a
+ ///< member of the cReceiver class) from your own destructor in order
+@@ -49,6 +48,9 @@
+ ///< destroyed.
+ virtual void Receive(const uchar *Data, int Length);
+ virtual void Action(void);
++ void InitializeFile(const char *FileName, const cChannel *Channel);
++ ///< Starts recording to file.
++ ///< Called in constructor if file name has been given.
+ public:
+ cRecorder(const char *FileName, const cChannel *Channel, int Priority);
+ ///< Creates a new recorder for the given Channel and
+diff -Naur vdr-2.6.1.orig/ringbuffer.c vdr-2.6.1/ringbuffer.c
+--- vdr-2.6.1.orig/ringbuffer.c 2022-02-02 10:56:43.000000000 +0100
++++ vdr-2.6.1/ringbuffer.c 2022-02-06 18:05:26.452890690 +0100
+@@ -368,6 +368,25 @@
+ return NULL;
+ }
+
++uchar *cRingBufferLinear::GetRest(int &Count)
++{
++ int Head = head;
++ if (getThreadTid <= 0)
++ getThreadTid = cThread::ThreadId();
++ int rest = Size() - tail;
++ int diff = Head - tail;
++ int cont = (diff >= 0) ? diff : Size() + diff - margin;
++ if (cont > rest)
++ cont = rest;
++ uchar *p = buffer + tail;
++ if (cont > 0) {
++ Count = gotten = cont;
++ return p;
++ }
++ WaitForGet();
++ return NULL;
++}
++
+ void cRingBufferLinear::Del(int Count)
+ {
+ if (Count > gotten) {
+diff -Naur vdr-2.6.1.orig/ringbuffer.h vdr-2.6.1/ringbuffer.h
+--- vdr-2.6.1.orig/ringbuffer.h 2022-02-02 10:56:43.000000000 +0100
++++ vdr-2.6.1/ringbuffer.h 2022-02-06 18:05:26.452890690 +0100
+@@ -98,6 +98,12 @@
+ ///< The data will remain in the buffer until a call to Del() deletes it.
+ ///< Returns a pointer to the data, and stores the number of bytes
+ ///< actually available in Count. If the returned pointer is NULL, Count has no meaning.
++ uchar *GetRest(int &Count);
++ ///< Gets data from the ring buffer disregarding the margin.
++ ///< Might have to be called several times to get all data.
++ ///< The data will remain in the buffer until a call to Del() deletes it.
++ ///< Returns a pointer to the data, and stores the number of bytes
++ ///< actually available in Count. If the returned pointer is NULL, Count has no meaning.
+ void Del(int Count);
+ ///< Deletes at most Count bytes from the ring buffer.
+ ///< Count must be less or equal to the number that was returned by a previous
+diff -Naur vdr-2.6.1.orig/vdr.c vdr-2.6.1/vdr.c
+--- vdr-2.6.1.orig/vdr.c 2022-02-02 10:56:43.000000000 +0100
++++ vdr-2.6.1/vdr.c 2022-02-06 18:05:26.452890690 +0100
+@@ -1352,13 +1352,22 @@
+ key = kNone;
+ break;
+ // Pausing live video:
++ case kFastRew:
++ {
++ // test if there's a live buffer to rewind into...
++ LOCK_CHANNELS_READ;
++ if (cDevice::ActualDevice()->GetPreRecording(Channels->GetByNumber(cDevice::CurrentChannel())) == NULL) {
++ break;
++ }
++ }
++ // fall through to pause
+ case kPlayPause:
+ case kPause:
+ if (!Control) {
+ DELETE_MENU;
+ if (Setup.PauseKeyHandling) {
+ if (Setup.PauseKeyHandling > 1 || Interface->Confirm(tr("Pause live video?"))) {
+- if (!cRecordControls::PauseLiveVideo())
++ if (!cRecordControls::PauseLiveVideo(int(key) == kFastRew))
+ Skins.QueueMessage(mtError, tr("No free DVB device to record!"));
+ }
+ }
diff --git a/media-video/vdr/files/vdr-2.6.1_naludump.patch b/media-video/vdr/files/vdr-2.6.1_naludump.patch
new file mode 100644
index 000000000000..efea3a1d74f7
--- /dev/null
+++ b/media-video/vdr/files/vdr-2.6.1_naludump.patch
@@ -0,0 +1,598 @@
+diff -a -U 2 -r a/config.c b/config.c
+--- a/config.c
++++ b/config.c
+@@ -469,4 +469,5 @@
+ SplitEditedFiles = 0;
+ DelTimeshiftRec = 0;
++ DumpNaluFill = 0;
+ MinEventTimeout = 30;
+ MinUserInactivity = 300;
+@@ -697,4 +698,5 @@
+ else if (!strcasecmp(Name, "SplitEditedFiles")) SplitEditedFiles = atoi(Value);
+ else if (!strcasecmp(Name, "DelTimeshiftRec")) DelTimeshiftRec = atoi(Value);
++ else if (!strcasecmp(Name, "DumpNaluFill")) DumpNaluFill = atoi(Value);
+ else if (!strcasecmp(Name, "MinEventTimeout")) MinEventTimeout = atoi(Value);
+ else if (!strcasecmp(Name, "MinUserInactivity")) MinUserInactivity = atoi(Value);
+@@ -829,4 +831,5 @@
+ Store("SplitEditedFiles", SplitEditedFiles);
+ Store("DelTimeshiftRec", DelTimeshiftRec);
++ Store("DumpNaluFill", DumpNaluFill);
+ Store("MinEventTimeout", MinEventTimeout);
+ Store("MinUserInactivity", MinUserInactivity);
+diff -a -U 2 -r a/config.h b/config.h
+--- a/config.h
++++ b/config.h
+@@ -341,4 +341,5 @@
+ int SplitEditedFiles;
+ int DelTimeshiftRec;
++ int DumpNaluFill;
+ int MinEventTimeout, MinUserInactivity;
+ time_t NextWakeupTime;
+diff -a -U 2 -r a/menu.c b/menu.c
+--- a/menu.c
++++ b/menu.c
+@@ -4185,4 +4185,5 @@
+ Add(new cMenuEditBoolItem(tr("Setup.Recording$Split edited files"), &data.SplitEditedFiles));
+ Add(new cMenuEditStraItem(tr("Setup.Recording$Delete timeshift recording"),&data.DelTimeshiftRec, 3, delTimeshiftRecTexts));
++ Add(new cMenuEditBoolItem(tr("Setup.Recording$Dump NALU Fill data"), &data.DumpNaluFill));
+ }
+
+diff -a -U 2 -r a/recorder.c b/recorder.c
+--- a/recorder.c
++++ b/recorder.c
+@@ -195,4 +195,12 @@
+ }
+ frameDetector = new cFrameDetector(Pid, Type);
++ if ( Type == 0x1B // MPEG4 video
++ && (Setup.DumpNaluFill ? (strstr(FileName, "NALUKEEP") == NULL) : (strstr(FileName, "NALUDUMP") != NULL))) { // MPEG4
++ isyslog("Starting NALU fill dumper");
++ naluStreamProcessor = new cNaluStreamProcessor();
++ naluStreamProcessor->SetPid(Pid);
++ }
++ else
++ naluStreamProcessor = NULL;
+ index = NULL;
+ fileSize = 0;
+@@ -217,4 +225,10 @@
+ {
+ Detach();
++ if (naluStreamProcessor) {
++ long long int TotalPackets = naluStreamProcessor->GetTotalPackets();
++ long long int DroppedPackets = naluStreamProcessor->GetDroppedPackets();
++ isyslog("NALU fill dumper: %lld of %lld packets dropped, %lli%%", DroppedPackets, TotalPackets, TotalPackets ? DroppedPackets*100/TotalPackets : 0);
++ delete naluStreamProcessor;
++ }
+ delete index;
+ delete fileName;
+@@ -357,10 +371,32 @@
+ t.Set(MAXBROKENTIMEOUT);
+ }
+- if (recordFile->Write(b, Count) < 0) {
+- LOG_ERROR_STR(fileName->Name());
+- break;
++ if (naluStreamProcessor) {
++ naluStreamProcessor->PutBuffer(b, Count);
++ bool Fail = false;
++ while (true) {
++ int OutLength = 0;
++ uchar *OutData = naluStreamProcessor->GetBuffer(OutLength);
++ if (!OutData || OutLength <= 0)
++ break;
++ if (recordFile->Write(OutData, OutLength) < 0) {
++ LOG_ERROR_STR(fileName->Name());
++ Fail = true;
++ break;
++ }
++ HandleErrors();
++ fileSize += OutLength;
++ }
++ if (Fail)
++ break;
++ }
++ else {
++ if (recordFile->Write(b, Count) < 0) {
++ LOG_ERROR_STR(fileName->Name());
++ break;
++ }
++ HandleErrors();
++ fileSize += Count;
+ }
+- HandleErrors();
+- fileSize += Count;
++
+ }
+ }
+diff -a -U 2 -r a/recorder.h b/recorder.h
+--- a/recorder.h
++++ b/recorder.h C2022-01-08 17:51:00.397595525 +0100
+@@ -27,4 +27,5 @@
+ cFrameDetector *frameDetector;
+ cPatPmtGenerator patPmtGenerator;
++ cNaluStreamProcessor *naluStreamProcessor;
+ cFileName *fileName;
+ cRecordingInfo *recordingInfo;
+diff -a -U 2 -r a/remux.c b/remux.c
+--- a/remux.c
++++ b/remux.c
+@@ -357,4 +357,40 @@
+ }
+
++void TsExtendAdaptionField(unsigned char *Packet, int ToLength)
++{
++ // Hint: ExtenAdaptionField(p, TsPayloadOffset(p) - 4) is a null operation
++
++ int Offset = TsPayloadOffset(Packet); // First byte after existing adaption field
++
++ if (ToLength <= 0)
++ {
++ // Remove adaption field
++ Packet[3] = Packet[3] & ~TS_ADAPT_FIELD_EXISTS;
++ return;
++ }
++
++ // Set adaption field present
++ Packet[3] = Packet[3] | TS_ADAPT_FIELD_EXISTS;
++
++ // Set new length of adaption field:
++ Packet[4] = ToLength <= TS_SIZE-4 ? ToLength-1 : TS_SIZE-4-1;
++
++ if (Packet[4] == TS_SIZE-4-1)
++ {
++ // No more payload, remove payload flag
++ Packet[3] = Packet[3] & ~TS_PAYLOAD_EXISTS;
++ }
++
++ int NewPayload = TsPayloadOffset(Packet); // First byte after new adaption field
++
++ // Fill new adaption field
++ if (Offset == 4 && Offset < NewPayload)
++ Offset++; // skip adaptation_field_length
++ if (Offset == 5 && Offset < NewPayload)
++ Packet[Offset++] = 0; // various flags set to 0
++ while (Offset < NewPayload)
++ Packet[Offset++] = 0xff; // stuffing byte
++}
++
+ // --- cPatPmtGenerator ------------------------------------------------------
+
+@@ -1765,2 +1801,343 @@
+ return Processed;
+ }
++
++// --- cNaluDumper ---------------------------------------------------------
++
++cNaluDumper::cNaluDumper()
++{
++ LastContinuityOutput = -1;
++ reset();
++}
++
++void cNaluDumper::reset()
++{
++ LastContinuityInput = -1;
++ ContinuityOffset = 0;
++ PesId = -1;
++ PesOffset = 0;
++ NaluFillState = NALU_NONE;
++ NaluOffset = 0;
++ History = 0xffffffff;
++ DropAllPayload = false;
++}
++
++void cNaluDumper::ProcessPayload(unsigned char *Payload, int size, bool PayloadStart, sPayloadInfo &Info)
++{
++ Info.DropPayloadStartBytes = 0;
++ Info.DropPayloadEndBytes = 0;
++ int LastKeepByte = -1;
++
++ if (PayloadStart)
++ {
++ History = 0xffffffff;
++ PesId = -1;
++ NaluFillState = NALU_NONE;
++ }
++
++ for (int i=0; i<size; i++) {
++ History = (History << 8) | Payload[i];
++
++ PesOffset++;
++ NaluOffset++;
++
++ bool DropByte = false;
++
++ if (History >= 0x00000180 && History <= 0x000001FF)
++ {
++ // Start of PES packet
++ PesId = History & 0xff;
++ PesOffset = 0;
++ NaluFillState = NALU_NONE;
++ }
++ else if (PesId >= 0xe0 && PesId <= 0xef // video stream
++ && History >= 0x00000100 && History <= 0x0000017F) // NALU start code
++ {
++ int NaluId = History & 0xff;
++ NaluOffset = 0;
++ NaluFillState = ((NaluId & 0x1f) == 0x0c) ? NALU_FILL : NALU_NONE;
++ }
++
++ if (PesId >= 0xe0 && PesId <= 0xef // video stream
++ && PesOffset >= 1 && PesOffset <= 2)
++ {
++ Payload[i] = 0; // Zero out PES length field
++ }
++
++ if (NaluFillState == NALU_FILL && NaluOffset > 0) // Within NALU fill data
++ {
++ // We expect a series of 0xff bytes terminated by a single 0x80 byte.
++
++ if (Payload[i] == 0xFF)
++ {
++ DropByte = true;
++ }
++ else if (Payload[i] == 0x80)
++ {
++ NaluFillState = NALU_TERM; // Last byte of NALU fill, next byte sets NaluFillEnd=true
++ DropByte = true;
++ }
++ else // Invalid NALU fill
++ {
++ dsyslog("cNaluDumper: Unexpected NALU fill data: %02x", Payload[i]);
++ NaluFillState = NALU_END;
++ if (LastKeepByte == -1)
++ {
++ // Nalu fill from beginning of packet until last byte
++ // packet start needs to be dropped
++ Info.DropPayloadStartBytes = i;
++ }
++ }
++ }
++ else if (NaluFillState == NALU_TERM) // Within NALU fill data
++ {
++ // We are after the terminating 0x80 byte
++ NaluFillState = NALU_END;
++ if (LastKeepByte == -1)
++ {
++ // Nalu fill from beginning of packet until last byte
++ // packet start needs to be dropped
++ Info.DropPayloadStartBytes = i;
++ }
++ }
++
++ if (!DropByte)
++ LastKeepByte = i; // Last useful byte
++ }
++
++ Info.DropAllPayloadBytes = (LastKeepByte == -1);
++ Info.DropPayloadEndBytes = size-1-LastKeepByte;
++}
++
++bool cNaluDumper::ProcessTSPacket(unsigned char *Packet)
++{
++ bool HasAdaption = TsHasAdaptationField(Packet);
++ bool HasPayload = TsHasPayload(Packet);
++
++ // Check continuity:
++ int ContinuityInput = TsContinuityCounter(Packet);
++ if (LastContinuityInput >= 0)
++ {
++ int NewContinuityInput = HasPayload ? (LastContinuityInput + 1) & TS_CONT_CNT_MASK : LastContinuityInput;
++ int Offset = (NewContinuityInput - ContinuityInput) & TS_CONT_CNT_MASK;
++ if (Offset > 0)
++ dsyslog("cNaluDumper: TS continuity offset %i", Offset);
++ if (Offset > ContinuityOffset)
++ ContinuityOffset = Offset; // max if packets get dropped, otherwise always the current one.
++ }
++ LastContinuityInput = ContinuityInput;
++
++ if (HasPayload) {
++ sPayloadInfo Info;
++ int Offset = TsPayloadOffset(Packet);
++ ProcessPayload(Packet + Offset, TS_SIZE - Offset, TsPayloadStart(Packet), Info);
++
++ if (DropAllPayload && !Info.DropAllPayloadBytes)
++ {
++ // Return from drop packet mode to normal mode
++ DropAllPayload = false;
++
++ // Does the packet start with some remaining NALU fill data?
++ if (Info.DropPayloadStartBytes > 0)
++ {
++ // Add these bytes as stuffing to the adaption field.
++
++ // Sample payload layout:
++ // FF FF FF FF FF 80 00 00 01 xx xx xx xx
++ // ^DropPayloadStartBytes
++
++ TsExtendAdaptionField(Packet, Offset - 4 + Info.DropPayloadStartBytes);
++ }
++ }
++
++ bool DropThisPayload = DropAllPayload;
++
++ if (!DropAllPayload && Info.DropPayloadEndBytes > 0) // Payload ends with 0xff NALU Fill
++ {
++ // Last packet of useful data
++ // Do early termination of NALU fill data
++ Packet[TS_SIZE-1] = 0x80;
++ DropAllPayload = true;
++ // Drop all packets AFTER this one
++
++ // Since we already wrote the 0x80, we have to make sure that
++ // as soon as we stop dropping packets, any beginning NALU fill of next
++ // packet gets dumped. (see DropPayloadStartBytes above)
++ }
++
++ if (DropThisPayload && HasAdaption)
++ {
++ // Drop payload data, but keep adaption field data
++ TsExtendAdaptionField(Packet, TS_SIZE-4);
++ DropThisPayload = false;
++ }
++
++ if (DropThisPayload)
++ {
++ return true; // Drop packet
++ }
++ }
++
++ // Fix Continuity Counter and reproduce incoming offsets:
++ int NewContinuityOutput = TsHasPayload(Packet) ? (LastContinuityOutput + 1) & TS_CONT_CNT_MASK : LastContinuityOutput;
++ NewContinuityOutput = (NewContinuityOutput + ContinuityOffset) & TS_CONT_CNT_MASK;
++ TsSetContinuityCounter(Packet, NewContinuityOutput);
++ LastContinuityOutput = NewContinuityOutput;
++ ContinuityOffset = 0;
++
++ return false; // Keep packet
++}
++
++// --- cNaluStreamProcessor ---------------------------------------------------------
++
++cNaluStreamProcessor::cNaluStreamProcessor()
++{
++ pPatPmtParser = NULL;
++ vpid = -1;
++ data = NULL;
++ length = 0;
++ tempLength = 0;
++ tempLengthAtEnd = false;
++ TotalPackets = 0;
++ DroppedPackets = 0;
++}
++
++void cNaluStreamProcessor::PutBuffer(uchar *Data, int Length)
++{
++ if (length > 0)
++ esyslog("cNaluStreamProcessor::PutBuffer: New data before old data was processed!");
++
++ data = Data;
++ length = Length;
++}
++
++uchar* cNaluStreamProcessor::GetBuffer(int &OutLength)
++{
++ if (length <= 0)
++ {
++ // Need more data - quick exit
++ OutLength = 0;
++ return NULL;
++ }
++ if (tempLength > 0) // Data in temp buffer?
++ {
++ if (tempLengthAtEnd) // Data is at end, copy to beginning
++ {
++ // Overlapping src and dst!
++ for (int i=0; i<tempLength; i++)
++ tempBuffer[i] = tempBuffer[TS_SIZE-tempLength+i];
++ }
++ // Normalize TempBuffer fill
++ if (tempLength < TS_SIZE && length > 0)
++ {
++ int Size = min(TS_SIZE-tempLength, length);
++ memcpy(tempBuffer+tempLength, data, Size);
++ data += Size;
++ length -= Size;
++ tempLength += Size;
++ }
++ if (tempLength < TS_SIZE)
++ {
++ // All incoming data buffered, but need more data
++ tempLengthAtEnd = false;
++ OutLength = 0;
++ return NULL;
++ }
++ // Now: TempLength==TS_SIZE
++ if (tempBuffer[0] != TS_SYNC_BYTE)
++ {
++ // Need to sync on TS within temp buffer
++ int Skipped = 1;
++ while (Skipped < TS_SIZE && (tempBuffer[Skipped] != TS_SYNC_BYTE || (Skipped < length && data[Skipped] != TS_SYNC_BYTE)))
++ Skipped++;
++ esyslog("ERROR: skipped %d bytes to sync on start of TS packet", Skipped);
++ // Pass through skipped bytes
++ tempLengthAtEnd = true;
++ tempLength = TS_SIZE - Skipped; // may be 0, thats ok
++ OutLength = Skipped;
++ return tempBuffer;
++ }
++ // Now: TempBuffer is a TS packet
++ int Pid = TsPid(tempBuffer);
++ if (pPatPmtParser)
++ {
++ if (Pid == 0)
++ pPatPmtParser->ParsePat(tempBuffer, TS_SIZE);
++ else if (pPatPmtParser->IsPmtPid(Pid))
++ pPatPmtParser->ParsePmt(tempBuffer, TS_SIZE);
++ }
++
++ TotalPackets++;
++ bool Drop = false;
++ if (Pid == vpid || (pPatPmtParser && Pid == pPatPmtParser->Vpid() && pPatPmtParser->Vtype() == 0x1B))
++ Drop = NaluDumper.ProcessTSPacket(tempBuffer);
++ if (!Drop)
++ {
++ // Keep this packet, then continue with new data
++ tempLength = 0;
++ OutLength = TS_SIZE;
++ return tempBuffer;
++ }
++ // Drop TempBuffer
++ DroppedPackets++;
++ tempLength = 0;
++ }
++ // Now: TempLength==0, just process data/length
++
++ // Pointer to processed data / length:
++ uchar *Out = data;
++ uchar *OutEnd = Out;
++
++ while (length >= TS_SIZE)
++ {
++ if (data[0] != TS_SYNC_BYTE) {
++ int Skipped = 1;
++ while (Skipped < length && (data[Skipped] != TS_SYNC_BYTE || (length - Skipped > TS_SIZE && data[Skipped + TS_SIZE] != TS_SYNC_BYTE)))
++ Skipped++;
++ esyslog("ERROR: skipped %d bytes to sync on start of TS packet", Skipped);
++
++ // Pass through skipped bytes
++ if (OutEnd != data)
++ memcpy(OutEnd, data, Skipped);
++ OutEnd += Skipped;
++ continue;
++ }
++ // Now: Data starts with complete TS packet
++
++ int Pid = TsPid(data);
++ if (pPatPmtParser)
++ {
++ if (Pid == 0)
++ pPatPmtParser->ParsePat(data, TS_SIZE);
++ else if (pPatPmtParser->IsPmtPid(Pid))
++ pPatPmtParser->ParsePmt(data, TS_SIZE);
++ }
++
++ TotalPackets++;
++ bool Drop = false;
++ if (Pid == vpid || (pPatPmtParser && Pid == pPatPmtParser->Vpid() && pPatPmtParser->Vtype() == 0x1B))
++ Drop = NaluDumper.ProcessTSPacket(data);
++ if (!Drop)
++ {
++ if (OutEnd != data)
++ memcpy(OutEnd, data, TS_SIZE);
++ OutEnd += TS_SIZE;
++ }
++ else
++ {
++ DroppedPackets++;
++ }
++ data += TS_SIZE;
++ length -= TS_SIZE;
++ }
++ // Now: Less than a packet remains.
++ if (length > 0)
++ {
++ // copy remains into temp buffer
++ memcpy(tempBuffer, data, length);
++ tempLength = length;
++ tempLengthAtEnd = false;
++ length = 0;
++ }
++ OutLength = (OutEnd - Out);
++ return OutLength > 0 ? Out : NULL;
++}
+diff -a -U 2 -r a/remux.h b/remux.h
+--- a/remux.h
++++ b/remux.h
+@@ -65,4 +65,9 @@
+ }
+
++inline bool TsSetPayload(const uchar *p)
++{
++ return p[3] & TS_PAYLOAD_EXISTS;
++}
++
+ inline bool TsHasAdaptationField(const uchar *p)
+ {
+@@ -156,4 +161,5 @@
+ void TsSetPts(uchar *p, int l, int64_t Pts);
+ void TsSetDts(uchar *p, int l, int64_t Dts);
++void TsExtendAdaptionField(unsigned char *Packet, int ToLength);
+
+ // Some PES handling tools:
+@@ -550,3 +556,77 @@
+ };
+
++
++#define PATCH_NALUDUMP 100
++
++class cNaluDumper {
++ unsigned int History;
++
++ int LastContinuityInput;
++ int LastContinuityOutput;
++ int ContinuityOffset;
++
++ bool DropAllPayload;
++
++ int PesId;
++ int PesOffset;
++
++ int NaluOffset;
++
++ enum eNaluFillState {
++ NALU_NONE=0, // currently not NALU fill stream
++ NALU_FILL, // Within NALU fill stream, 0xff bytes and NALU start code in byte 0
++ NALU_TERM, // Within NALU fill stream, read 0x80 terminating byte
++ NALU_END // Beyond end of NALU fill stream, expecting 0x00 0x00 0x01 now
++ };
++
++ eNaluFillState NaluFillState;
++
++ struct sPayloadInfo {
++ int DropPayloadStartBytes;
++ int DropPayloadEndBytes;
++ bool DropAllPayloadBytes;
++ };
++
++public:
++ cNaluDumper();
++
++ void reset();
++
++ // Single packet interface:
++ bool ProcessTSPacket(unsigned char *Packet);
++
++private:
++ void ProcessPayload(unsigned char *Payload, int size, bool PayloadStart, sPayloadInfo &Info);
++};
++
++class cNaluStreamProcessor {
++ //Buffer stream interface:
++ int vpid;
++ uchar *data;
++ int length;
++ uchar tempBuffer[TS_SIZE];
++ int tempLength;
++ bool tempLengthAtEnd;
++ cPatPmtParser *pPatPmtParser;
++ cNaluDumper NaluDumper;
++
++ long long int TotalPackets;
++ long long int DroppedPackets;
++public:
++ cNaluStreamProcessor();
++
++ void SetPid(int VPid) { vpid = VPid; }
++ void SetPatPmtParser(cPatPmtParser *_pPatPmtParser) { pPatPmtParser = _pPatPmtParser; }
++ // Set either a PID or set a pointer to an PatPmtParser that will detect _one_ PID
++
++ void PutBuffer(uchar *Data, int Length);
++ // Add new data to be processed. Data must be valid until Get() returns NULL.
++ uchar* GetBuffer(int &OutLength);
++ // Returns filtered data, or NULL/0 to indicate that all data from Put() was processed
++ // or buffered.
++
++ long long int GetTotalPackets() { return TotalPackets; }
++ long long int GetDroppedPackets() { return DroppedPackets; }
++};
++
+ #endif // __REMUX_H
diff --git a/media-video/vdr/files/vdr-2.6.1_pinplugin.patch b/media-video/vdr/files/vdr-2.6.1_pinplugin.patch
new file mode 100644
index 000000000000..2552f9e7109f
--- /dev/null
+++ b/media-video/vdr/files/vdr-2.6.1_pinplugin.patch
@@ -0,0 +1,447 @@
+original vdr-pinplugin_vdr-2.3.1.diff
+rebased for media-video/vdr-2.6.1
+
+Signed-off-by: Christian Kunkel <ch.kunkel@gmx.de> ( 2021 Feb 12 )
+Reviewed-by: Martin Dummer <martin.dummer@gmx.net> ( 2022-06-22 )
+diff -Naur a/Makefile b/Makefile
+--- a/Makefile 2022-02-02 10:56:43.000000000 +0100
++++ b/Makefile 2022-06-20 08:08:11.346956148 +0200
+@@ -351,7 +351,7 @@
+ clean:
+ @$(MAKE) --no-print-directory -C $(LSIDIR) clean
+ @-rm -f $(OBJS) $(DEPFILE) vdr vdr.pc core* *~
+- @-rm -rf $(LOCALEDIR) $(PODIR)/*.mo $(PODIR)/*.pot
++ @-rm -rf $(LOCALEDIR) $(PODIR)/*~ $(PODIR)/*.mo $(PODIR)/*.pot
+ @-rm -rf include
+ @-rm -rf srcdoc
+ CLEAN: clean
+diff -Naur a/device.c b/device.c
+--- a/device.c 2022-02-02 10:56:43.000000000 +0100
++++ b/device.c 2022-06-20 08:08:11.346956148 +0200
+@@ -839,6 +839,7 @@
+ const cChannel *Channel;
+ while ((Channel = Channels->GetByNumber(n, Direction)) != NULL) {
+ // try only channels which are currently available
++ if (!cStatus::MsgChannelProtected(0, Channel)) // PIN PATCH
+ if (GetDevice(Channel, LIVEPRIORITY, true, true))
+ break;
+ n = Channel->Number() + Direction;
+@@ -860,6 +861,12 @@
+
+ eSetChannelResult cDevice::SetChannel(const cChannel *Channel, bool LiveView)
+ {
++ // I hope 'LiveView = false' indicates a channel switch for recording, // PIN PATCH
++ // I really don't know, but it works ... // PIN PATCH
++
++ if (LiveView && cStatus::MsgChannelProtected(this, Channel)) // PIN PATCH
++ return scrNotAvailable; // PIN PATCH
++
+ cMutexLock MutexLock(&mutexChannel); // to avoid a race between SVDRP CHAN and HasProgramme()
+ cStatus::MsgChannelSwitch(this, 0, LiveView);
+
+diff -Naur a/menu.c b/menu.c
+--- a/menu.c 2022-02-02 10:56:43.000000000 +0100
++++ b/menu.c 2022-06-20 08:08:11.346956148 +0200
+@@ -1035,6 +1035,18 @@
+ Add(new cMenuEditBitItem( tr("VPS"), &data.flags, tfVps));
+ Add(new cMenuEditIntItem( tr("Priority"), &data.priority, 0, MAXPRIORITY));
+ Add(new cMenuEditIntItem( tr("Lifetime"), &data.lifetime, 0, MAXLIFETIME));
++
++ // PIN PATCH
++ if (cOsd::pinValid || !data.fskProtection) Add(new cMenuEditBoolItem(tr("Childlock"),&data.fskProtection));
++ else {
++ char* buf = 0;
++ int res = 0;
++ res = asprintf(&buf, "%s\t%s", tr("Childlock"), data.fskProtection ? tr("yes") : tr("no"));
++ if (res < 0) ; // memory problems :o
++ Add(new cOsdItem(buf));
++ free(buf);
++ }
++
+ Add(file = new cMenuEditStrItem( tr("File"), data.file, sizeof(data.file)));
+ SetFirstDayItem();
+ SetPatternItem(true);
+@@ -3130,7 +3142,8 @@
+ }
+ }
+ }
+- if (*Item->Text() && !LastDir) {
++ if (*Item->Text() && !LastDir
++ && (!cStatus::MsgReplayProtected(Item->Recording(), Item->Name(), base, Item->IsDirectory(), true))) { // PIN PATCH
+ Add(Item);
+ LastItem = Item;
+ if (Item->IsDirectory())
+@@ -3201,6 +3214,9 @@
+ {
+ cMenuRecordingItem *ri = (cMenuRecordingItem *)Get(Current());
+ if (ri) {
++ if (cStatus::MsgReplayProtected(ri->Recording(), ri->Name(), base,
++ ri->IsDirectory()) == true) // PIN PATCH
++ return osContinue;
+ if (ri->IsDirectory())
+ Open();
+ else {
+@@ -4506,28 +4522,32 @@
+
+ // Basic menu items:
+
+- Add(new cOsdItem(hk(tr("Schedule")), osSchedule));
+- Add(new cOsdItem(hk(tr("Channels")), osChannels));
+- Add(new cOsdItem(hk(tr("Timers")), osTimers));
+- Add(new cOsdItem(hk(tr("Recordings")), osRecordings));
++ // PIN PATCH
++ if (!cStatus::MsgMenuItemProtected("Schedule", true)) Add(new cOsdItem(hk(tr("Schedule")), osSchedule));
++ if (!cStatus::MsgMenuItemProtected("Channels", true)) Add(new cOsdItem(hk(tr("Channels")), osChannels));
++ if (!cStatus::MsgMenuItemProtected("Timers", true)) Add(new cOsdItem(hk(tr("Timers")), osTimers));
++ if (!cStatus::MsgMenuItemProtected("Recordings", true)) Add(new cOsdItem(hk(tr("Recordings")), osRecordings));
+
+ // Plugins:
+
+ for (int i = 0; ; i++) {
+ cPlugin *p = cPluginManager::GetPlugin(i);
+ if (p) {
++ if (!cStatus::MsgPluginProtected(p, true)) { // PIN PATCH
+ const char *item = p->MainMenuEntry();
+ if (item)
+ Add(new cMenuPluginItem(hk(item), i));
+ }
++ }
+ else
+ break;
+ }
+
+ // More basic menu items:
+
+- Add(new cOsdItem(hk(tr("Setup")), osSetup));
++ if (!cStatus::MsgMenuItemProtected("Setup", true)) Add(new cOsdItem(hk(tr("Setup")), osSetup)); // PIN PATCH
+ if (Commands.Count())
++ if (!cStatus::MsgMenuItemProtected("Commands", true)) // PIN PATCH
+ Add(new cOsdItem(hk(tr("Commands")), osCommands));
+
+ Update(true);
+@@ -4600,6 +4620,14 @@
+ eOSState state = cOsdMenu::ProcessKey(Key);
+ HadSubMenu |= HasSubMenu();
+
++ // > PIN PATCH
++ cOsdItem* item = Get(Current());
++
++ if (item && item->Text() && state != osContinue && state != osUnknown && state != osBack)
++ if (cStatus::MsgMenuItemProtected(item->Text()))
++ return osContinue;
++ // PIN PATCH <
++
+ switch (state) {
+ case osSchedule: return AddSubMenu(new cMenuSchedule);
+ case osChannels: return AddSubMenu(new cMenuChannels);
+@@ -4624,6 +4652,7 @@
+ if (item) {
+ cPlugin *p = cPluginManager::GetPlugin(item->PluginIndex());
+ if (p) {
++ if (!cStatus::MsgPluginProtected(p)) { // PIN PATCH
+ cOsdObject *menu = p->MainMenuAction();
+ if (menu) {
+ if (menu->IsMenu())
+@@ -4635,6 +4664,7 @@
+ }
+ }
+ }
++ }
+ state = osEnd;
+ }
+ break;
+@@ -4814,6 +4844,7 @@
+ Channel = Direction > 0 ? Channels->Next(Channel) : Channels->Prev(Channel);
+ if (!Channel && Setup.ChannelsWrap)
+ Channel = Direction > 0 ? Channels->First() : Channels->Last();
++ if (!cStatus::MsgChannelProtected(0, Channel)) // PIN PATCH
+ if (Channel && !Channel->GroupSep() && cDevice::GetDevice(Channel, LIVEPRIORITY, true, true))
+ return Channel;
+ }
+@@ -5491,6 +5522,7 @@
+ for (int i = 0; i < MAXRECORDCONTROLS; i++) {
+ if (!RecordControls[i]) {
+ RecordControls[i] = new cRecordControl(device, Timers, Timer, Pause);
++ cStatus::MsgRecordingFile(RecordControls[i]->FileName()); // PIN PATCH
+ return RecordControls[i]->Process(time(NULL));
+ }
+ }
+diff -Naur a/osd.c b/osd.c
+--- a/osd.c 2022-02-02 10:56:43.000000000 +0100
++++ b/osd.c 2022-06-20 08:08:11.346956148 +0200
+@@ -1844,6 +1844,7 @@
+ cSize cOsd::maxPixmapSize(INT_MAX, INT_MAX);
+ cVector<cOsd *> cOsd::Osds;
+ cMutex cOsd::mutex;
++bool cOsd::pinValid = false; // PIN PATCH
+
+ cOsd::cOsd(int Left, int Top, uint Level)
+ {
+diff -Naur a/osd.h b/osd.h
+--- a/osd.h 2022-02-02 10:56:43.000000000 +0100
++++ b/osd.h 2022-06-20 08:08:11.346956148 +0200
+@@ -957,6 +957,7 @@
+ ///<
+ ///< If a plugin uses a derived cPixmap implementation, it needs to use that
+ ///< type instead of cPixmapMemory.
++ static bool pinValid; // PIN PATCH
+ };
+
+ #define MAXOSDIMAGES 64
+diff -Naur a/status.c b/status.c
+--- a/status.c 2022-02-02 10:56:43.000000000 +0100
++++ b/status.c 2022-06-20 08:08:11.346956148 +0200
+@@ -136,3 +136,55 @@
+ for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm))
+ sm->OsdProgramme(PresentTime, PresentTitle, PresentSubtitle, FollowingTime, FollowingTitle, FollowingSubtitle);
+ }
++
++bool cStatus::MsgChannelProtected(const cDevice* Device, const cChannel* Channel) // PIN PATCH
++{
++ for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm))
++ if (sm->ChannelProtected(Device, Channel) == true)
++ return true;
++
++ return false;
++}
++
++bool cStatus::MsgReplayProtected(const cRecording* Recording, const char* Name,
++ const char* Base, bool isDirectory, int menuView) // PIN PATCH
++{
++ for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm))
++ if (sm->ReplayProtected(Recording, Name, Base, isDirectory, menuView) == true)
++ return true;
++ return false;
++}
++
++void cStatus::MsgRecordingFile(const char* FileName)
++{
++ for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm)) // PIN PATCH
++ sm->RecordingFile(FileName);
++}
++
++void cStatus::MsgTimerCreation(cTimer* Timer, const cEvent *Event)
++{
++ for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm)) // PIN PATCH
++ sm->TimerCreation(Timer, Event);
++}
++
++bool cStatus::MsgPluginProtected(cPlugin* Plugin, int menuView) // PIN PATCH
++{
++ for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm))
++ if (sm->PluginProtected(Plugin, menuView) == true)
++ return true;
++ return false;
++}
++
++void cStatus::MsgUserAction(const eKeys key) // PIN PATCH
++{
++ for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm))
++ sm->UserAction(key);
++}
++
++bool cStatus::MsgMenuItemProtected(const char* Name, int menuView) // PIN PATCH
++{
++ for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm))
++ if (sm->MenuItemProtected(Name, menuView) == true)
++ return true;
++ return false;
++}
+diff -Naur a/status.h b/status.h
+--- a/status.h 2022-02-02 10:56:43.000000000 +0100
++++ b/status.h 2022-06-20 08:08:11.350956230 +0200
+@@ -14,6 +14,7 @@
+ #include "device.h"
+ #include "player.h"
+ #include "tools.h"
++#include "plugin.h"
+
+ // Several member functions of the following classes are called with a pointer to
+ // an object from a global list (cTimer, cChannel, cRecording or cEvent). In these
+@@ -99,6 +100,22 @@
+ // The OSD displays the single line Text with the current channel information.
+ virtual void OsdProgramme(time_t PresentTime, const char *PresentTitle, const char *PresentSubtitle, time_t FollowingTime, const char *FollowingTitle, const char *FollowingSubtitle) {}
+ // The OSD displays the given programme information.
++ virtual bool ChannelProtected(const cDevice *Device, const cChannel* Channel) { return false; } // PIN PATCH
++ // Checks if a channel is protected.
++ virtual bool ReplayProtected(const cRecording* Recording, const char* Name,
++ const char* Base, bool isDirectory, int menuView = false) { return false; } // PIN PATCH
++ // Checks if a recording is protected.
++ virtual void RecordingFile(const char* FileName) {} // PIN PATCH
++ // The given DVB device has started recording to FileName. FileName is the name of the
++ // recording directory
++ virtual void TimerCreation(cTimer* Timer, const cEvent *Event) {} // PIN PATCH
++ // The given timer is created
++ virtual bool PluginProtected(cPlugin* Plugin, int menuView = false) { return false; } // PIN PATCH
++ // Checks if a plugin is protected.
++ virtual void UserAction(const eKeys key) {} // PIN PATCH
++ // report user action
++ virtual bool MenuItemProtected(const char* Name, int menuView = false) { return false; } // PIN PATCH
++
+ public:
+ cStatus(void);
+ virtual ~cStatus();
+@@ -122,6 +139,14 @@
+ static void MsgOsdTextItem(const char *Text, bool Scroll = false);
+ static void MsgOsdChannel(const char *Text);
+ static void MsgOsdProgramme(time_t PresentTime, const char *PresentTitle, const char *PresentSubtitle, time_t FollowingTime, const char *FollowingTitle, const char *FollowingSubtitle);
++ static bool MsgChannelProtected(const cDevice* Device, const cChannel* Channel); // PIN PATCH
++ static bool MsgReplayProtected(const cRecording* Recording, const char* Name,
++ const char* Base, bool isDirectory, int menuView = false); // PIN PATCH
++ static void MsgRecordingFile(const char* FileName); // PIN PATCH
++ static void MsgTimerCreation(cTimer* Timer, const cEvent *Event); // PIN PATCH
++ static bool MsgPluginProtected(cPlugin* Plugin, int menuView = false); // PIN PATCH
++ static void MsgUserAction(const eKeys key); // PIN PATCH
++ static bool MsgMenuItemProtected(const char* Name, int menuView = false); // PIN PATCH
+ };
+
+ #endif //__STATUS_H
+diff -Naur a/timers.c b/timers.c
+--- a/timers.c 2022-02-02 10:56:43.000000000 +0100
++++ b/timers.c 2022-06-20 08:14:07.898392829 +0200
+@@ -81,6 +81,7 @@
+ stop -= 2400;
+ priority = Pause ? Setup.PausePriority : Setup.DefaultPriority;
+ lifetime = Pause ? Setup.PauseLifetime : Setup.DefaultLifetime;
++ fskProtection = 0; // PIN PATCH
+ if (Instant && channel)
+ snprintf(file, sizeof(file), "%s%s", Setup.MarkInstantRecord ? "@" : "", *Setup.NameInstantRecord ? Setup.NameInstantRecord : channel->Name());
+ }
+@@ -212,11 +213,13 @@
+ stop -= 2400;
+ priority = PatternTimer ? PatternTimer->Priority() : Setup.DefaultPriority;
+ lifetime = PatternTimer ? PatternTimer->Lifetime() : Setup.DefaultLifetime;
++ fskProtection = 0; // PIN PATCH
+ if (!FileName)
+ FileName = Event->Title();
+ if (!isempty(FileName))
+ Utf8Strn0Cpy(file, FileName, sizeof(file));
+ SetEvent(Event);
++ cStatus::MsgTimerCreation(this, Event); // PIN PATCH
+ }
+
+ cTimer::cTimer(const cTimer &Timer)
+@@ -255,6 +258,7 @@
+ stop = Timer.stop;
+ priority = Timer.priority;
+ lifetime = Timer.lifetime;
++ fskProtection = Timer.fskProtection; // PIN PATCH
+ strncpy(pattern, Timer.pattern, sizeof(pattern));
+ strncpy(file, Timer.file, sizeof(file));
+ free(aux);
+@@ -484,6 +488,7 @@
+ result = false;
+ }
+ }
++ fskProtection = aux && strstr(aux, "<pin-plugin><protected>yes</protected></pin-plugin>"); // PIN PATCH
+ free(channelbuffer);
+ free(daybuffer);
+ free(filebuffer);
+@@ -1037,6 +1042,36 @@
+ Matches(); // refresh start and end time
+ }
+
++void cTimer::SetFskProtection(int aFlag) // PIN PATCH
++{
++ char* p;
++ char* tmp = 0;
++ int res = 0;
++
++ fskProtection = aFlag;
++
++ if (fskProtection && (!aux || !strstr(aux, "<pin-plugin><protected>yes</protected></pin-plugin>")))
++ {
++ // add protection info to aux
++
++ if (aux) { tmp = strdup(aux); free(aux); }
++ res = asprintf(&aux, "%s<pin-plugin><protected>yes</protected></pin-plugin>", tmp ? tmp : "");
++ }
++ else if (!fskProtection && aux && (p = strstr(aux, "<pin-plugin><protected>yes</protected></pin-plugin>")))
++ {
++ // remove protection info from aux
++
++ res = asprintf(&tmp, "%.*s%s", (int)(p-aux), aux, p+strlen("<pin-plugin><protected>yes</protected></pin-plugin>"));
++ free(aux);
++ aux = strdup(tmp);
++ }
++
++ if (res < 0) ; // memory problems :o
++
++ if (tmp)
++ free(tmp);
++}
++
+ // --- cTimers ---------------------------------------------------------------
+
+ cTimers cTimers::timers;
+diff -Naur a/timers.h b/timers.h
+--- a/timers.h 2022-02-02 10:56:43.000000000 +0100
++++ b/timers.h 2022-06-20 08:08:11.350956230 +0200
+@@ -45,6 +45,7 @@
+ int start; ///< the start and stop time of this timer as given by the user,
+ int stop; ///< in the form hhmm, with hh (00..23) and mm (00..59) added as hh*100+mm
+ int priority;
++ int fskProtection; // PIN PATCH
+ int lifetime;
+ mutable char pattern[NAME_MAX * 2 + 1]; // same size as 'file', to be able to initially fill 'pattern' with 'file' in the 'Edit timer' menu
+ mutable char file[NAME_MAX * 2 + 1]; // *2 to be able to hold 'title' and 'episode', which can each be up to 255 characters long
+@@ -70,6 +71,7 @@
+ int Start(void) const { return start; }
+ int Stop(void) const { return stop; }
+ int Priority(void) const { return priority; }
++ int FskProtection(void) const { return fskProtection; } // PIN PATCH
+ int Lifetime(void) const { return lifetime; }
+ const char *Pattern(void) const { return pattern; }
+ const char *File(void) const { return file; }
+@@ -120,6 +122,7 @@
+ void SetRemote(const char *Remote);
+ void SetDeferred(int Seconds);
+ void SetFlags(uint Flags);
++ void SetFskProtection(int aFlag); // PIN PATCH
+ void ClrFlags(uint Flags);
+ void InvFlags(uint Flags);
+ bool HasFlags(uint Flags) const;
+diff -Naur a/vdr.c b/vdr.c
+--- a/vdr.c 2022-02-02 10:56:43.000000000 +0100
++++ b/vdr.c 2022-06-20 08:08:11.350956230 +0200
+@@ -71,6 +71,7 @@
+ #include "tools.h"
+ #include "transfer.h"
+ #include "videodir.h"
++#include "status.h" // PIN PATCH
+
+ #define MINCHANNELWAIT 10 // seconds to wait between failed channel switchings
+ #define ACTIVITYTIMEOUT 60 // seconds before starting housekeeping
+@@ -1210,6 +1211,7 @@
+ if (!Menu)
+ Interact = Control = cControl::Control(ControlMutexLock);
+ if (ISREALKEY(key)) {
++ cStatus::MsgUserAction(key); // PIN PATCH
+ EITScanner.Activity();
+ // Cancel shutdown countdown:
+ if (ShutdownHandler.countdown)
+@@ -1282,10 +1284,12 @@
+ Control->Hide();
+ cPlugin *plugin = cPluginManager::GetPlugin(PluginName);
+ if (plugin) {
++ if (!cStatus::MsgPluginProtected(plugin)) { // PIN PATCH
+ Menu = plugin->MainMenuAction();
+ if (Menu)
+ Menu->Show();
+ }
++ }
+ else
+ esyslog("ERROR: unknown plugin '%s'", PluginName);
+ }
+@@ -1505,9 +1509,11 @@
+ case kPlay:
+ if (cReplayControl::LastReplayed()) {
+ Control = NULL;
++ if (cStatus::MsgReplayProtected(0, cReplayControl::LastReplayed(), 0, false) == false) { // PIN PATCH
+ cControl::Shutdown();
+ cControl::Launch(new cReplayControl);
+ }
++ }
+ else
+ DirectMainFunction(osRecordings); // no last viewed recording, so enter the Recordings menu
+ break;
diff --git a/media-video/vdr/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/metadata.xml b/media-video/vdr/metadata.xml
index 07fd8b79f976..9cfb241df919 100644
--- a/media-video/vdr/metadata.xml
+++ b/media-video/vdr/metadata.xml
@@ -1,10 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>hd_brummy@gentoo.org</email>
- <name>Joerg Bornkessel</name>
- </maintainer>
<maintainer type="person" proxied="yes">
<email>martin.dummer@gmx.net</email>
<name>Martin Dummer</name>
diff --git a/media-video/vdr/vdr-2.2.0-r6.ebuild b/media-video/vdr/vdr-2.2.0-r6.ebuild
deleted file mode 100644
index 73bef819af6e..000000000000
--- a/media-video/vdr/vdr-2.2.0-r6.ebuild
+++ /dev/null
@@ -1,301 +0,0 @@
-# Copyright 2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit flag-o-matic strip-linguas toolchain-funcs
-
-# Switches supported by extensions-patch
-EXT_PATCH_FLAGS="alternatechannel graphtft naludump permashift pinplugin
- mainmenuhooks menuorg menuselection resumereset ttxtsubs"
-
-# names of the use-flags
-EXT_PATCH_FLAGS_RENAMED=""
-
-# names ext-patch uses internally, here only used for maintainer checks
-EXT_PATCH_FLAGS_RENAMED_EXT_NAME="bidi no_kbd sdnotify"
-
-MY_PV="${PV%_p*}"
-MY_P="${PN}-${MY_PV}"
-S="${WORKDIR}/${MY_P}"
-
-EXT_P="extpng-${P}-gentoo-edition-v1"
-
-DESCRIPTION="Video Disk Recorder - turns a pc into a powerful set top box for DVB"
-HOMEPAGE="http://www.tvdr.de/"
-SRC_URI="ftp://ftp.tvdr.de/vdr/${MY_P}.tar.bz2
- mirror://gentoo/${EXT_P}.patch.bz2"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc x86"
-IUSE="bidi debug keyboard html systemd vanilla ${EXT_PATCH_FLAGS} ${EXT_PATCH_FLAGS_RENAMED}"
-
-COMMON_DEPEND="
- virtual/jpeg:*
- sys-libs/libcap
- >=media-libs/fontconfig-2.4.2
- >=media-libs/freetype-2"
-DEPEND="${COMMON_DEPEND}
- >=virtual/linuxtv-dvb-headers-5.3"
-RDEPEND="${COMMON_DEPEND}
- dev-lang/perl
- >=media-tv/gentoo-vdr-scripts-2.7
- media-fonts/corefonts
- bidi? ( dev-libs/fribidi )
- systemd? ( sys-apps/systemd )"
-BDEPEND="sys-devel/gettext"
-
-CONF_DIR="/etc/vdr"
-CAP_FILE="${S}/capabilities.sh"
-CAPS="# Capabilities of the vdr-executable for use by startscript etc."
-
-pkg_setup() {
- use debug && append-flags -g
-
- PLUGIN_LIBDIR="/usr/$(get_libdir)/vdr/plugins"
-
- tc-export CC CXX AR
-}
-
-add_cap() {
- local arg
- for arg; do
- CAPS="${CAPS}\n${arg}=1"
- done
-}
-
-enable_patch() {
- local arg ARG_UPPER
- for arg; do
- ARG_UPPER=$(echo $arg | tr '[:lower:]' '[:upper:]')
- echo "${ARG_UPPER} = 1" >> Make.config || die "cannot write to Make.config"
-
- # codesnippet to bring the extpng defines into the vdr.pc CXXFLAGS CFLAGS
- echo "-DUSE_${ARG_UPPER}" >> "${T}"/defines.tmp || die "cannot write to defines.tmp"
- cat "${T}"/defines.tmp | tr \\\012 ' ' > "${T}"/defines.IUSE || die "cannot write to defines.tmp"
- export DEFINES_IUSE=$( cat ${T}/defines.IUSE )
- done
-}
-
-extensions_add_make_conf() {
- # copy all ifdef for extensions-patch to Make.config
- sed -e '1,/need to touch the following:/d' \
- -e '/need to touch the following/,/^$/d' \
- Make.config.template >> Make.config || die "cannot write to Make.config"
-}
-
-extensions_all_defines() {
- # extract all possible settings for extensions-patch
- sed -e '/^#\?[A-Z].*= 1/!d' -e 's/^#\?//' -e 's/ .*//' \
- Make.config.template \
- | sort \
- | tr '[:upper:]' '[:lower:]' || die "error in function extensions_all_defines"
-}
-
-lang_po() {
- LING_PO=$( ls ${S}/po | sed -e "s:.po::g" | cut -d_ -f1 | tr \\\012 ' ' )
-}
-
-src_configure() {
- # support languages, written from right to left
- export "BIDI=$(usex bidi 1 0)"
- # systemd notification support
- export "SDNOTIFY=$(usex systemd 1 0)"
- # with/without keyboard
- export "USE_KBD=$(usex keyboard 1 0)"
-}
-
-src_prepare() {
- # apply maintenance-patches
- ebegin "Changing paths for gentoo"
-
- local DVBDIR="/usr/include"
- local i
- for i in ${DVB_HEADER_PATH} /usr/include/v4l-dvb-hg /usr/include; do
- [[ -d ${i} ]] || continue
- if [[ -f ${i}/linux/dvb/dmx.h ]]; then
- einfo "Found DVB header files in ${i}"
- DVBDIR="${i}"
- break
- fi
- done
-
- # checking for s2api headers
- local api_version
- api_version=$(awk -F' ' '/define DVB_API_VERSION / {print $3}' "${DVBDIR}"/linux/dvb/version.h)
- api_version=${api_version}*$(awk -F' ' '/define DVB_API_VERSION_MINOR / {print $3}' "${DVBDIR}"/linux/dvb/version.h)
-
- if [[ ${api_version:-0} -lt 5*3 ]]; then
- eerror "DVB header files do not contain s2api support or too old for ${P}"
- eerror "You cannot compile VDR against old dvb-header"
- die "DVB headers too old"
- fi
-
- cat > Make.config <<-EOT || die "cannot write to Make.config"
- #
- # Generated by ebuild ${PF}
- #
- PREFIX = /usr
- DVBDIR = ${DVBDIR}
- PLUGINLIBDIR = ${PLUGIN_LIBDIR}
- CONFDIR = ${CONF_DIR}
- VIDEODIR = /var/vdr/video
- LOCDIR = \$(PREFIX)/share/locale
- INCDIR = \$(PREFIX)/include
-
- DEFINES += -DCONFDIR=\"\$(CONFDIR)\"
- INCLUDES += -I\$(DVBDIR)
-
- # >=vdr-1.7.36-r1; parameter only used for compiletime on vdr
- # PLUGINLIBDIR (plugin Makefile old) = LIBDIR (plugin Makefile new)
- LIBDIR = ${PLUGIN_LIBDIR}
- PCDIR = /usr/$(get_libdir)/pkgconfig
-
- EOT
- eend 0
-
- # wrt bug 586070
- if has_version ">=sys-apps/systemd-230"; then
- sed -e "s:libsystemd-daemon:libsystemd:g" -i Makefile || die "sed libsystemd failed"
- fi
-
- if ! use vanilla; then
-
- # Now apply extensions patch
- eapply "${WORKDIR}/${EXT_P}.patch"
- sed -e 's/PERMASHIFT_V1/PERMASHIFT/g' -i "${S}"/*.[ch] "${S}"/Make.config* || die "sed failed"
-
- # This allows us to start even if some plugin does not exist
- # or is not loadable.
- enable_patch PLUGINMISSING
-
- if [[ -n ${VDR_MAINTAINER_MODE} ]]; then
- einfo "Doing maintainer checks:"
-
- # we do not support these patches
- # (or have them already hard enabled)
- local IGNORE_PATCHES="pluginmissing"
-
- extensions_all_defines > "${T}"/new.IUSE || die "cannot write to new.IUSE"
- echo $EXT_PATCH_FLAGS $EXT_PATCH_FLAGS_RENAMED_EXT_NAME \
- $IGNORE_PATCHES | \
- tr ' ' '\n' |sort > "${T}"/old.IUSE || die "cannot write to old.IUSE"
- local DIFFS=$(diff -u "${T}"/old.IUSE "${T}"/new.IUSE|grep '^[+-][^+-]')
- if [[ -z ${DIFFS} ]]; then
- einfo "EXT_PATCH_FLAGS are up to date."
- else
- ewarn "IUSE differences!"
- local diff
- for diff in $DIFFS; do
- ewarn "$diff"
- done
- fi
- fi
-
- ebegin "Enabling selected patches"
- local flag
- for flag in $EXT_PATCH_FLAGS; do
- use $flag && enable_patch ${flag}
- done
-
- eend 0
-
- extensions_add_make_conf
-
- # add defined use-flags compile options to vdr.pc
- sed -e "s:\$(CDEFINES) \$(CINCLUDES) \$(HDRDIR):\$(CDEFINES) \$(CINCLUDES) \$(HDRDIR) \$(DEFINES_IUSE):" \
- -i Makefile || die "sed fails on Makefile"
-
- ebegin "Make depend"
- emake .dependencies >/dev/null
- eend $? "make depend failed"
-
- eapply "${FILESDIR}/${P}_gcc7extpng.patch"
- fi
-
- eapply "${FILESDIR}/${P}_gentoo.patch"
- eapply "${FILESDIR}/${P}_unsignedtosigned.patch"
- eapply "${FILESDIR}/${P}_glibc-2.24.patch"
- eapply "${FILESDIR}/${P}-jpeg-9c.patch"
- eapply "${FILESDIR}/${P}_glibc-2.31.patch"
-
- # fix some makefile issues
- sed -e "s:ifndef NO_KBD:ifeq (\$(USE_KBD),1):" \
- -e "s:ifdef BIDI:ifeq (\$(BIDI),1):" \
- -e "s:ifdef SDNOTIFY:ifeq (\$(SDNOTIFY),1):" \
- -i "${S}"/Makefile || die "sed fails on Makefile"
-
- eapply_user
-
- add_cap CAP_UTF8
-
- add_cap CAP_IRCTRL_RUNTIME_PARAM \
- CAP_VFAT_RUNTIME_PARAM \
- CAP_CHUID \
- CAP_SHUTDOWN_AUTO_RETRY
-
- echo -e ${CAPS} > "${CAP_FILE}"
-
- # LINGUAS support
- einfo "\n \t VDR supports the LINGUAS values"
-
- lang_po
-
- einfo "\t Please set one of this values in your sytem make.conf"
- einfo "\t LINGUAS=\"${LING_PO}\"\n"
-
- if [[ -z ${LINGUAS} ]]; then
- einfo "\n \t No values in LINGUAS="
- einfo "\t You will get only english text on OSD \n"
- fi
-
- strip-linguas ${LING_PO} en
-}
-
-src_install() {
- # trick makefile not to create a videodir by supplying it with an existing
- # directory
- emake install \
- VIDEODIR="/" \
- DESTDIR="${ED}" install
-
- keepdir "${PLUGIN_LIBDIR}"
-
- # backup for plugins they don't be able to create this dir
- keepdir "${CONF_DIR}"/plugins
-
- if use html; then
- local HTML_DOCS=( *.html )
- fi
-
- local DOCS=( MANUAL INSTALL README* HISTORY CONTRIBUTORS )
-
- einstalldocs
-
- insinto /usr/share/vdr
- doins "${CAP_FILE}"
-
- if use alternatechannel; then
- insinto /etc/vdr
- doins "${FILESDIR}"/channel_alternative.conf
- fi
-
- chown -R vdr:vdr "${ED}/${CONF_DIR}" || die "chown failed"
-}
-
-pkg_postinst() {
-
- elog "\n\t---- 15 YEARS ANNIVERSARY EDITON ----\n"
- elog "\tA lot of thanks to Klaus Schmidinger"
- elog "\tfor this nice piece of Software...\n"
-
- elog "It is a good idea to run vdrplugin-rebuild now."
-
- elog "To get nice symbols in OSD we recommend to install"
- elog "\t1. emerge media-fonts/vdrsymbols-ttf"
- elog "\t2. select font VDRSymbolsSans in Setup"
- elog ""
- elog "To get an idea how to proceed now, have a look at our vdr-guide:"
- elog "\thttps://wiki.gentoo.org/wiki/VDR"
-}
diff --git a/media-video/vdr/vdr-2.2.0-r7.ebuild b/media-video/vdr/vdr-2.2.0-r7.ebuild
index ead539ebbd1f..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 2021 Gentoo Authors
+# Copyright 2022-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -28,23 +28,24 @@ SRC_URI="ftp://ftp.tvdr.de/vdr/${MY_P}.tar.bz2
LICENSE="GPL-2+"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~x86"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc x86"
IUSE="bidi debug keyboard html systemd vanilla ${EXT_PATCH_FLAGS} ${EXT_PATCH_FLAGS_RENAMED}"
COMMON_DEPEND="
- virtual/jpeg:*
+ media-libs/libjpeg-turbo
sys-libs/libcap
>=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
media-fonts/corefonts
bidi? ( dev-libs/fribidi )
systemd? ( sys-apps/systemd )"
-BDEPEND="sys-devel/gettext"
+BDEPEND="sys-devel/gettext
+ virtual/pkgconfig"
CONF_DIR="/etc/vdr"
CAP_FILE="${S}/capabilities.sh"
@@ -74,7 +75,7 @@ enable_patch() {
# codesnippet to bring the extpng defines into the vdr.pc CXXFLAGS CFLAGS
echo "-DUSE_${ARG_UPPER}" >> "${T}"/defines.tmp || die "cannot write to defines.tmp"
cat "${T}"/defines.tmp | tr \\\012 ' ' > "${T}"/defines.IUSE || die "cannot write to defines.tmp"
- export DEFINES_IUSE=$( cat ${T}/defines.IUSE )
+ export DEFINES_IUSE=$( cat "${T}"/defines.IUSE )
done
}
@@ -94,7 +95,7 @@ extensions_all_defines() {
}
lang_po() {
- LING_PO=$( ls ${S}/po | sed -e "s:.po::g" | cut -d_ -f1 | tr \\\012 ' ' )
+ LING_PO=$( ls "${S}"/po | sed -e "s:.po::g" | cut -d_ -f1 | tr \\\012 ' ' )
}
src_configure() {
@@ -212,9 +213,9 @@ src_prepare() {
eend $? "make depend failed"
eapply "${FILESDIR}/${P}_gcc7extpng.patch"
- eapply "${FILESDIR}/${P}_gcc11.patch"
fi
+ eapply "${FILESDIR}/${P}_gcc11.patch"
eapply "${FILESDIR}/${P}_gentoo.patch"
eapply "${FILESDIR}/${P}_unsignedtosigned.patch"
eapply "${FILESDIR}/${P}_glibc-2.24.patch"
diff --git a/media-video/vdr/vdr-2.4.7-r1.ebuild b/media-video/vdr/vdr-2.6.4.ebuild
index 0e8eed4d4ee5..2381f57f8276 100644
--- a/media-video/vdr/vdr-2.4.7-r1.ebuild
+++ b/media-video/vdr/vdr-2.6.4.ebuild
@@ -1,19 +1,15 @@
-# Copyright 2021 Gentoo Authors
+# Copyright 2021-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-inherit flag-o-matic strip-linguas toolchain-funcs
+inherit flag-o-matic strip-linguas toolchain-funcs user-info
DESCRIPTION="Video Disk Recorder - turns a pc into a powerful set top box for DVB"
HOMEPAGE="http://www.tvdr.de/"
-SRC_URI="http://git.tvdr.de/?p=vdr.git;a=snapshot;h=refs/tags/2.4.7;sf=tbz2 -> ${P}.tbz2
- mainmenuhooks? ( http://vdr.websitec.de/download/${PN}/${PN}-2.4.1/${PN}-2.4.1_mainmenuhook-1.0.1.patch.bz2 )
- menuorg? ( https://projects.vdr-developer.org/projects/plg-menuorg/repository/revisions/master/raw/vdr-patch/vdr-menuorg-2.3.x.diff )
- naludump? ( https://www.udo-richter.de/vdr/files/vdr-2.1.5-naludump-0.1.diff )
- pinplugin? ( http://vdr.websitec.de/download/${PN}/vdr-2.4.6/${PN}-2.4.6_pinplugin.patch.bz2 )
- ttxtsubs? ( http://vdr.websitec.de/download/${PN}/vdr-2.4.6/${PN}-2.4.6_ttxtsubs_v2.patch.bz2 )
- permashift? ( http://vdr.websitec.de/download/${PN}/vdr-2.4.6/vdr-2.4-patch-for-permashift.diff.bz2 )"
+SRC_URI="http://git.tvdr.de/?p=vdr.git;a=snapshot;h=refs/tags/${PV};sf=tbz2 -> ${P}.tbz2
+ menuorg? ( https://github.com/vdr-projects/vdr-plugin-menuorg/raw/master/vdr-patch/vdr-menuorg-2.3.x.diff )
+ ttxtsubs? ( https://md11.it.cx/download/${PN}/${P}_ttxtsubs_v2.patch )"
LICENSE="GPL-2+"
SLOT="0"
@@ -21,22 +17,25 @@ KEYWORDS="amd64 ~arm ~arm64 ~ppc x86"
IUSE="bidi debug demoplugins html keyboard mainmenuhooks menuorg naludump permashift pinplugin systemd ttxtsubs verbose"
COMMON_DEPEND="
- virtual/jpeg:*
- sys-libs/libcap
- >=media-libs/fontconfig-2.4.2
- >=media-libs/freetype-2"
+ acct-group/vdr
+ acct-user/vdr
+ media-libs/fontconfig
+ media-libs/freetype
+ 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
media-fonts/corefonts
bidi? ( dev-libs/fribidi )
systemd? ( sys-apps/systemd )"
-BDEPEND="sys-devel/gettext"
+BDEPEND="
+ sys-devel/gettext
+ virtual/pkgconfig"
-REQUIRED_USE="pinplugin? ( !mainmenuhooks )
- permashift? ( !naludump !pinplugin )"
+REQUIRED_USE="permashift? ( !naludump !pinplugin )"
CONF_DIR="/etc/vdr"
CAP_FILE="${S}/capabilities.sh"
@@ -46,13 +45,7 @@ pkg_setup() {
use debug && append-flags -g
PLUGIN_LIBDIR="/usr/$(get_libdir)/vdr/plugins"
-
- # use the corrected DIR /var/lib/vdr/* for acct/{user,group) handling
- if has_version ">=media-tv/gentoo-vdr-scripts-3.0_rc1"; then
- VIDEO_DIR="/var/lib/vdr/video"
- else
- VIDEO_DIR="/var/vdr/video"
- fi
+ VIDEO_DIR="$(egethome vdr)/video"
tc-export CC CXX AR
}
@@ -65,18 +58,7 @@ add_cap() {
}
lang_po() {
- LING_PO=$( ls ${S}/po | sed -e "s:.po::g" | cut -d_ -f1 | tr \\\012 ' ' )
-}
-
-src_configure() {
- # support languages, written from right to left
- export "BIDI=$(usex bidi 1 0)"
- # systemd notification support
- export "SDNOTIFY=$(usex systemd 1 0)"
- # with/without keyboard
- export "USE_KBD=$(usex keyboard 1 0)"
- # detailed compile output for debug
- export "VERBOSE=$(usex verbose 1 0)"
+ LING_PO=$( ls "${S}"/po | sed -e "s:.po::g" | cut -d_ -f1 | tr \\\012 ' ' )
}
src_prepare() {
@@ -136,15 +118,12 @@ src_prepare() {
# fix clang/LLVM compile
eapply "${FILESDIR}/${PN}-2.4.6_clang.patch"
- # fix gcc-11 compile
- eapply "${FILESDIR}/${P}_gcc11.patch"
-
- use naludump && eapply "${DISTDIR}/${PN}-2.1.5-naludump-0.1.diff"
- use permashift && eapply "${WORKDIR}/${PN}-2.4-patch-for-permashift.diff"
- use pinplugin && eapply "${WORKDIR}/${PN}-2.4.6_pinplugin.patch"
- use ttxtsubs && eapply "${WORKDIR}/${PN}-2.4.6_ttxtsubs_v2.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 "${WORKDIR}/${PN}-2.4.1_mainmenuhook-1.0.1.patch"
+ use mainmenuhooks && eapply "${FILESDIR}/${PN}-2.4.1_mainmenuhook-1.0.1.patch"
add_cap CAP_UTF8 \
CAP_IRCTRL_RUNTIME_PARAM \
@@ -172,6 +151,17 @@ src_prepare() {
default
}
+src_configure() {
+ # support languages, written from right to left
+ export "BIDI=$(usex bidi 1 0)"
+ # systemd notification support
+ export "SDNOTIFY=$(usex systemd 1 0)"
+ # with/without keyboard
+ export "USE_KBD=$(usex keyboard 1 0)"
+ # detailed compile output for debug
+ export "VERBOSE=$(usex verbose 1 0)"
+}
+
src_install() {
# trick the makefile to not create a VIDEODIR by supplying it with an
# existing directory
diff --git a/media-video/vdr/vdr-2.6.6.ebuild b/media-video/vdr/vdr-2.6.6.ebuild
new file mode 100644
index 000000000000..953a907493f9
--- /dev/null
+++ b/media-video/vdr/vdr-2.6.6.ebuild
@@ -0,0 +1,199 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic strip-linguas toolchain-funcs user-info
+
+DESCRIPTION="Video Disk Recorder - turns a pc into a powerful set top box for DVB"
+HOMEPAGE="http://www.tvdr.de/"
+SRC_URI="http://git.tvdr.de/?p=vdr.git;a=snapshot;h=refs/tags/${PV};sf=tbz2 -> ${P}.tbz2
+ menuorg? ( https://github.com/vdr-projects/vdr-plugin-menuorg/raw/master/vdr-patch/vdr-menuorg-2.3.x.diff )
+ ttxtsubs? ( https://md11.it.cx/download/${PN}/${P}_ttxtsubs_v2.patch )"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc x86"
+IUSE="bidi debug demoplugins html keyboard mainmenuhooks menuorg naludump permashift pinplugin systemd ttxtsubs verbose"
+
+COMMON_DEPEND="
+ acct-group/vdr
+ acct-user/vdr
+ media-libs/fontconfig
+ media-libs/freetype
+ media-libs/libjpeg-turbo:=
+ sys-libs/libcap"
+DEPEND="${COMMON_DEPEND}
+ sys-kernel/linux-headers"
+RDEPEND="${COMMON_DEPEND}
+ dev-lang/perl
+ media-tv/gentoo-vdr-scripts
+ media-fonts/corefonts
+ bidi? ( dev-libs/fribidi )
+ systemd? ( sys-apps/systemd )"
+BDEPEND="
+ sys-devel/gettext
+ virtual/pkgconfig"
+
+REQUIRED_USE="permashift? ( !naludump !pinplugin )"
+
+CONF_DIR="/etc/vdr"
+CAP_FILE="${S}/capabilities.sh"
+CAPS="# Capabilities of the vdr-executable for use by startscript etc."
+
+pkg_setup() {
+ use debug && append-flags -g
+
+ PLUGIN_LIBDIR="/usr/$(get_libdir)/vdr/plugins"
+ VIDEO_DIR="$(egethome vdr)/video"
+
+ tc-export CC CXX AR
+}
+
+add_cap() {
+ local arg
+ for arg; do
+ CAPS="${CAPS}\n${arg}=1"
+ done
+}
+
+lang_po() {
+ LING_PO=$( ls "${S}"/po | sed -e "s:.po::g" | cut -d_ -f1 | tr \\\012 ' ' )
+}
+
+src_prepare() {
+ # apply maintenance-patches
+ ebegin "Changing paths for gentoo"
+
+ local DVBDIR=/usr/include
+ local i
+ for i in ${DVB_HEADER_PATH} /usr/include/v4l-dvb-hg /usr/include; do
+ [[ -d ${i} ]] || continue
+ if [[ -f ${i}/linux/dvb/dmx.h ]]; then
+ einfo "Found DVB header files in ${i}"
+ DVBDIR=${i}
+ break
+ fi
+ done
+
+ # checking for s2api headers
+ local api_version
+ api_version=$(awk -F' ' '/define DVB_API_VERSION / {print $3}' "${DVBDIR}"/linux/dvb/version.h)
+ api_version=${api_version}*$(awk -F' ' '/define DVB_API_VERSION_MINOR / {print $3}' "${DVBDIR}"/linux/dvb/version.h)
+
+ if [[ ${api_version:-0} -lt 5*3 ]]; then
+ eerror "DVB header files do not contain s2api support or too old for ${P}"
+ eerror "You cannot compile VDR against old dvb-header"
+ die "DVB headers too old"
+ fi
+
+ cat > Make.config <<-EOT || die "cannot write to Make.config"
+ #
+ # Generated by ebuild ${PF}
+ #
+ PREFIX = /usr
+ DVBDIR = ${DVBDIR}
+ PLUGINLIBDIR = ${PLUGIN_LIBDIR}
+ CONFDIR = ${CONF_DIR}
+ ARGSDIR = \$(CONFDIR)/conf.d
+ VIDEODIR = ${VIDEO_DIR}
+ LOCDIR = \$(PREFIX)/share/locale
+ INCDIR = \$(PREFIX)/include
+
+ DEFINES += -DCONFDIR=\"\$(CONFDIR)\"
+ INCLUDES += -I\$(DVBDIR)
+
+ # >=vdr-1.7.36-r1; parameter only used for compiletime on vdr
+ # PLUGINLIBDIR (plugin Makefile old) = LIBDIR (plugin Makefile new)
+ LIBDIR = ${PLUGIN_LIBDIR}
+ PCDIR = /usr/$(get_libdir)/pkgconfig
+
+ EOT
+ eend 0
+
+ eapply "${FILESDIR}/${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}/${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"
+
+ add_cap CAP_UTF8 \
+ CAP_IRCTRL_RUNTIME_PARAM \
+ CAP_VFAT_RUNTIME_PARAM \
+ CAP_CHUID \
+ CAP_SHUTDOWN_AUTO_RETRY
+
+ echo -e ${CAPS} > "${CAP_FILE}" || die "cannot write to CAP_FILE"
+
+ # LINGUAS support
+ einfo "\n \t VDR supports the LINGUAS values"
+
+ lang_po
+
+ einfo "\t Please set one of this values in your sytem make.conf"
+ einfo "\t LINGUAS=\"${LING_PO}\"\n"
+
+ if [[ -z ${LINGUAS} ]]; then
+ einfo "\n \t No values in LINGUAS="
+ einfo "\t You will get only english text on OSD \n"
+ fi
+
+ strip-linguas ${LING_PO} en
+
+ default
+}
+
+src_configure() {
+ # support languages, written from right to left
+ export "BIDI=$(usex bidi 1 0)"
+ # systemd notification support
+ export "SDNOTIFY=$(usex systemd 1 0)"
+ # with/without keyboard
+ export "USE_KBD=$(usex keyboard 1 0)"
+ # detailed compile output for debug
+ export "VERBOSE=$(usex verbose 1 0)"
+}
+
+src_install() {
+ # trick the makefile to not create a VIDEODIR by supplying it with an
+ # existing directory
+ emake VIDEODIR="/" DESTDIR="${ED}" install
+
+ keepdir "${PLUGIN_LIBDIR}"
+
+ # backup for plugins they don't be able to create this dir
+ keepdir "${CONF_DIR}/plugins"
+
+ if use html; then
+ local HTML_DOCS=( *.html )
+ fi
+ local DOCS=( MANUAL INSTALL README* HISTORY CONTRIBUTORS UPDATE-2* )
+ einstalldocs
+
+ insinto /usr/share/vdr
+ doins "${CAP_FILE}"
+
+ fowners vdr:vdr "${CONF_DIR}" -R
+}
+
+pkg_postinst() {
+ elog "Please read the /usr/share/doc/${PF}/UPDATE-2.4"
+ elog "for major changes in this version\n"
+
+ elog "It is a good idea to run vdrplugin-rebuild now.\n"
+
+ elog "To get nice symbols in OSD we recommend to install"
+ elog "\t1. emerge media-fonts/vdrsymbols-ttf"
+ elog "\t2. select font VDRSymbolsSans in Setup\n"
+
+ elog "To get an idea how to proceed now, have a look at our vdr-guide:"
+ elog "\thttps://wiki.gentoo.org/wiki/VDR"
+}
diff --git a/media-video/vdr2jpeg/metadata.xml b/media-video/vdr2jpeg/metadata.xml
index a675e3e90c11..a2dfee954457 100644
--- a/media-video/vdr2jpeg/metadata.xml
+++ b/media-video/vdr2jpeg/metadata.xml
@@ -1,10 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <name>Joerg Bornkessel</name>
- <email>hd_brummy@gentoo.org</email>
- </maintainer>
<maintainer type="project">
<email>media-video@gentoo.org</email>
<name>Gentoo Video project</name>
diff --git a/media-video/vdr2jpeg/vdr2jpeg-0.2.0-r5.ebuild b/media-video/vdr2jpeg/vdr2jpeg-0.2.0-r5.ebuild
index 5352e19c60ab..64c8bb388969 100644
--- a/media-video/vdr2jpeg/vdr2jpeg-0.2.0-r5.ebuild
+++ b/media-video/vdr2jpeg/vdr2jpeg-0.2.0-r5.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -15,7 +15,7 @@ SRC_URI="mirror://vdr-developerorg/${VERSION}/${P}.tgz"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64 x86"
RDEPEND="media-video/ffmpeg:0"
DEPEND="${RDEPEND}"
diff --git a/media-video/vdr2jpeg/vdr2jpeg-0.2.0.ebuild b/media-video/vdr2jpeg/vdr2jpeg-0.2.0.ebuild
deleted file mode 100644
index c6f14a605b83..000000000000
--- a/media-video/vdr2jpeg/vdr2jpeg-0.2.0.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit eutils
-
-VERSION="1911" # every bump, new version
-
-RESTRICT="strip"
-
-DESCRIPTION="Addon needed for XXV - WWW Admin for the Video Disk Recorder"
-HOMEPAGE="https://projects.vdr-developer.org/projects/xxv"
-SRC_URI="mirror://vdr-developerorg/${VERSION}/${P}.tgz
- mirror://gentoo/${P}.tgz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-RDEPEND="media-video/ffmpeg:0"
-DEPEND="${RDEPEND}
- virtual/pkgconfig
-"
-
-src_prepare() {
- sed -i \
- -e "s:usr/local:usr:" \
- -e "s:-o vdr2jpeg:\$(LDFLAGS) -o vdr2jpeg:" \
- Makefile || die
-}
-
-src_install() {
- emake DESTDIR="${D}" install FFMPEG_BIN=/usr/bin/ffmpeg
-
- dodoc README LIESMICH
-}
diff --git a/media-video/vdrsync/vdrsync-0.1.3_pre050322-r1.ebuild b/media-video/vdrsync/vdrsync-0.1.3_pre050322-r1.ebuild
deleted file mode 100644
index c6248cefd7b6..000000000000
--- a/media-video/vdrsync/vdrsync-0.1.3_pre050322-r1.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-MY_P="${PN}-${PV#*_pre}"
-
-DESCRIPTION="converting vdr-recordings to mpeg2, dvd or other similar formats"
-HOMEPAGE="http://vdrsync.vdr-portal.de/"
-SRC_URI="http://vdrsync.vdr-portal.de/releases/${MY_P}.tgz"
-S=${WORKDIR}/${MY_P}
-
-SLOT="0"
-LICENSE="GPL-2"
-KEYWORDS="~amd64 x86"
-IUSE="dvdr"
-
-DEPEND=""
-RDEPEND=">=dev-lang/perl-5.8.0
- media-fonts/corefonts
- dvdr? (
- >=media-libs/gd-2.0.15
- >=dev-perl/GD-2.0.7
- >=dev-perl/GDTextUtil-0.86
- >=media-video/dvdauthor-0.6.8
- )"
-
-S=${WORKDIR}/${MY_P}
-
-src_prepare() {
- default
- sed -e "s:/usr/X11R6/lib/X11/fonts/truetype/arial.ttf:/usr/share/fonts/corefonts/arial.ttf:g" \
- -i dvd-menu.pl || die
- eapply "${FILESDIR}/${P}-path.diff"
-}
-
-src_install() {
- dobin check-vdrsync.pl vdrsync.pl vdrsync_buffer.pl
- use dvdr && dobin dvd-menu.pl
- dodoc CHANGES
-}
diff --git a/media-video/vidcutter/Manifest b/media-video/vidcutter/Manifest
index 67eb2c410646..70fa9d50e525 100644
--- a/media-video/vidcutter/Manifest
+++ b/media-video/vidcutter/Manifest
@@ -1,2 +1 @@
-DIST vidcutter-6.0.5.1.tar.gz 9909274 BLAKE2B 063c20f6ae0565b0f3a160b5ee298aae05b2ee1876cd4c73d9f37578a9e86a872353c3e2b7b1b6302db3d5a876139bfb19d50bf7cb4dd18e6e1d1a1ca3587fbd SHA512 f2ea2a86d9eaa3c6593e785daad6869c151baa1add529c9edaf2282f7acad762fbb29804790aece5e4fcd89e9e9bc77f61d1f0b68a1b1f3ecf58951ee8f200e9
-DIST vidcutter-6.0.5.tar.gz 9911435 BLAKE2B 2d901768064b7c3b7444289db84e8f8d6e179d915b04f870a6b397f0d905c6b4ecab0768d045a8c1aa43b3bf7bccb2dcd60e9c043595f2aaf857ce657ec997f8 SHA512 b4a0e0cc3132038e9216f05117768695ba30840f04251c60561b7555cde9064efcf12440c801c834c2160d5b5acad011dc31055d9547269a5689361c875bca80
+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.ebuild b/media-video/vidcutter/vidcutter-6.0.5.1_p20230201.ebuild
index 8ec68eb7ef9e..e5c3b3b2b5d3 100644
--- a/media-video/vidcutter/vidcutter-6.0.5.1.ebuild
+++ b/media-video/vidcutter/vidcutter-6.0.5.1_p20230201.ebuild
@@ -1,12 +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
-PYTHON_COMPAT=( python3_{7,8,9} )
+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,8 @@ 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"
- KEYWORDS="~amd64 ~x86"
+ SRC_URI="https://github.com/ozmartian/${PN}/archive/${MY_COMMIT}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="amd64 x86"
fi
LICENSE="GPL-3"
@@ -23,7 +25,7 @@ SLOT="0"
IUSE=""
DEPEND="
- >=media-video/mpv-0.25[libmpv]
+ >=media-video/mpv-0.25:=[libmpv]
"
RDEPEND="${DEPEND}
>=dev-python/PyQt5-5.7[dbus,multimedia,widgets,${PYTHON_USEDEP}]
@@ -35,7 +37,9 @@ BDEPEND="
dev-python/setuptools[${PYTHON_USEDEP}]"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+S="${WORKDIR}/${PN}-${MY_COMMIT}"
+
src_install() {
distutils-r1_src_install
- mv "${ED}/usr/share/doc/${PN}" "${ED}/usr/share/doc/${P}"
+ mv "${ED}"/usr/share/doc/{${PN},${PF}} || die
}
diff --git a/media-video/vidcutter/vidcutter-6.0.5.ebuild b/media-video/vidcutter/vidcutter-6.0.5.ebuild
deleted file mode 100644
index 8ec68eb7ef9e..000000000000
--- a/media-video/vidcutter/vidcutter-6.0.5.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7,8,9} )
-
-inherit distutils-r1 xdg
-
-DESCRIPTION="FFmpeg-based simple video cutter & joiner with a modern PyQt5 GUI"
-HOMEPAGE="http://vidcutter.ozmartians.com https://github.com/ozmartian/vidcutter"
-
-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"
- KEYWORDS="~amd64 ~x86"
-fi
-
-LICENSE="GPL-3"
-SLOT="0"
-IUSE=""
-
-DEPEND="
- >=media-video/mpv-0.25[libmpv]
-"
-RDEPEND="${DEPEND}
- >=dev-python/PyQt5-5.7[dbus,multimedia,widgets,${PYTHON_USEDEP}]
- dev-python/pyopengl[${PYTHON_USEDEP}]
- media-video/ffmpeg[X,encode]
- media-video/mediainfo"
-BDEPEND="
- ${PYTHON_DEPS}
- dev-python/setuptools[${PYTHON_USEDEP}]"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-src_install() {
- distutils-r1_src_install
- mv "${ED}/usr/share/doc/${PN}" "${ED}/usr/share/doc/${P}"
-}
diff --git a/media-video/vidcutter/vidcutter-9999.ebuild b/media-video/vidcutter/vidcutter-9999.ebuild
index 8ec68eb7ef9e..a8ca07fe5865 100644
--- a/media-video/vidcutter/vidcutter-9999.ebuild
+++ b/media-video/vidcutter/vidcutter-9999.ebuild
@@ -1,9 +1,10 @@
-# 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
-PYTHON_COMPAT=( python3_{7,8,9} )
+PYTHON_COMPAT=( python3_{9..11} )
+DISTUTILS_USE_PEP517=setuptools
inherit distutils-r1 xdg
@@ -23,7 +24,7 @@ SLOT="0"
IUSE=""
DEPEND="
- >=media-video/mpv-0.25[libmpv]
+ >=media-video/mpv-0.25:=[libmpv]
"
RDEPEND="${DEPEND}
>=dev-python/PyQt5-5.7[dbus,multimedia,widgets,${PYTHON_USEDEP}]
@@ -37,5 +38,5 @@ REQUIRED_USE="${PYTHON_REQUIRED_USE}"
src_install() {
distutils-r1_src_install
- mv "${ED}/usr/share/doc/${PN}" "${ED}/usr/share/doc/${P}"
+ mv "${ED}"/usr/share/doc/{${PN},${PF}} || die
}
diff --git a/media-video/videotrans/videotrans-1.6.1-r2.ebuild b/media-video/videotrans/videotrans-1.6.1-r2.ebuild
index ea33b07bb2a6..bebc0096844e 100644
--- a/media-video/videotrans/videotrans-1.6.1-r2.ebuild
+++ b/media-video/videotrans/videotrans-1.6.1-r2.ebuild
@@ -1,15 +1,15 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=5
-inherit eutils
+EAPI=8
DESCRIPTION="A package to convert movies to DVD format and to build DVDs with"
HOMEPAGE="http://videotrans.sourceforge.net/"
-SRC_URI="mirror://sourceforge/videotrans/${P}.tar.bz2"
+SRC_URI="https://downloads.sourceforge.net/videotrans/${P}.tar.bz2"
LICENSE="BSD"
SLOT="0"
+KEYWORDS="~amd64"
DEPEND="
media-video/mplayer
@@ -22,13 +22,14 @@ DEPEND="
RDEPEND="${DEPEND}
www-client/lynx
app-shells/bash
- sys-devel/bc
+ app-alternatives/bc
"
-DOCS="aspects.txt CHANGES THANKS TODO"
+DOCS=( aspects.txt CHANGES THANKS TODO )
src_prepare() {
+ default
# fixing LDFLAGS usage
- sed -i -e 's|^\(LDFLAGS.*=\).*\( @LIBS@.*\)|\1\2 @LDFLAGS@|' src/Makefile.in
+ sed -i -e 's|^\(LDFLAGS.*=\).*\( @LIBS@.*\)|\1\2 @LDFLAGS@|' src/Makefile.in || die
}
diff --git a/media-video/vidify-audiosync/vidify-audiosync-0.3.0.ebuild b/media-video/vidify-audiosync/vidify-audiosync-0.3.0-r2.ebuild
index e0e3a255570a..ab4c4f67e7ec 100644
--- a/media-video/vidify-audiosync/vidify-audiosync-0.3.0.ebuild
+++ b/media-video/vidify-audiosync/vidify-audiosync-0.3.0-r2.ebuild
@@ -1,10 +1,11 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..9} )
+EAPI=8
+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/files/vidify-2.2.6-python310.patch b/media-video/vidify/files/vidify-2.2.6-python310.patch
new file mode 100644
index 000000000000..4b78ea559333
--- /dev/null
+++ b/media-video/vidify/files/vidify-2.2.6-python310.patch
@@ -0,0 +1,16 @@
+diff --git a/vidify/player/vlc.py b/vidify/player/vlc.py
+index a7c9ec0..cb50f89 100644
+--- a/vidify/player/vlc.py
++++ b/vidify/player/vlc.py
+@@ -75,9 +75,9 @@ class VLCPlayer(PlayerBase):
+ def start_video(self, media: str, is_playing: bool = True) -> None:
+ logging.info("Starting new video")
+ if CURRENT_PLATFORM in (Platform.LINUX, Platform.BSD):
+- self._player.set_xwindow(self.winId())
++ self._player.set_xwindow(int(self.winId()))
+ elif CURRENT_PLATFORM == Platform.WINDOWS:
+- self._player.set_hwnd(self.winId())
++ self._player.set_hwnd(int(self.winId()))
+ elif CURRENT_PLATFORM == Platform.MACOS:
+ self._player.set_nsobject(int(self.winId()))
+
diff --git a/media-video/vidify/files/vidify-2.2.6-yt-dlp.patch b/media-video/vidify/files/vidify-2.2.6-yt-dlp.patch
new file mode 100644
index 000000000000..6ce0f836d5fd
--- /dev/null
+++ b/media-video/vidify/files/vidify-2.2.6-yt-dlp.patch
@@ -0,0 +1,122 @@
+diff --git a/README.md b/README.md
+index c4ea164..51e65e6 100644
+--- a/README.md
++++ b/README.md
+@@ -79,7 +79,7 @@ Audiosync is only available on Linux for now. It's strongly recommended to use M
+ * FFTW: `libfftw3` on Debian-based distros.
+ * ffmpeg: `ffmpeg` on most repositories. It must be available on your path.
+ * pulseaudio: `pulseaudio`, pre-installed on most repos.
+-* youtube-dl: this is installed by default with Vidify, but make sure it's available on your path.
++* yt-dlp: this is installed by default with Vidify, but make sure it's available on your path.
+
+ It's also available as [`vidify-audiosync`](https://aur.archlinux.org/packages/vidify-audiosync) on the AUR, and it comes pre-installed in the binaries.
+
+diff --git a/dev/build_requires.txt b/dev/build_requires.txt
+index ed682fd..a8bbc30 100644
+--- a/dev/build_requires.txt
++++ b/dev/build_requires.txt
+@@ -14,5 +14,5 @@ QtPy
+ SwSpotify>=1.1.1; platform_system == "Windows" or platform_system == "Darwin"
+ tekore < 2.0
+ vidify-audiosync == 0.2.*
+-youtube-dl
++yt-dlp
+ zeroconf
+diff --git a/dev/snapcraft.yaml b/dev/snapcraft.yaml
+index a5446de..00d2aae 100644
+--- a/dev/snapcraft.yaml
++++ b/dev/snapcraft.yaml
+@@ -22,7 +22,7 @@ parts:
+ - python3-pyqt5
+ - python3-appdirs
+ - python3-pydbus
+- - youtube-dl
++ - yt-dlp
+ # Mpv is used by default because it's lighter and works better
+ # with the audiosync feature.
+ - libmpv-dev
+diff --git a/setup.py b/setup.py
+index 3fdb656..9b1c093 100644
+--- a/setup.py
++++ b/setup.py
+@@ -19,7 +19,7 @@ install_deps = [
+ # Base package
+ 'QtPy',
+ 'lyricwikia',
+- 'youtube-dl',
++ 'yt-dlp',
+ 'appdirs',
+ 'qdarkstyle',
+ 'dataclasses; python_version<"3.7"',
+diff --git a/vidify/player/mpv.py b/vidify/player/mpv.py
+index 4b92571..68bd1a5 100644
+--- a/vidify/player/mpv.py
++++ b/vidify/player/mpv.py
+@@ -30,7 +30,7 @@ locale.setlocale(locale.LC_NUMERIC, 'C')
+
+ class MpvPlayer(PlayerBase):
+ # The audio is always muted, which is needed because not all the
+- # youtube-dl videos are silent. The keep-open flag stops mpv from closing
++ # yt-dlp videos are silent. The keep-open flag stops mpv from closing
+ # after the video is over.
+ DEFAULT_FLAGS = ['mute']
+ DEFAULT_ARGS = {
+diff --git a/vidify/player/vlc.py b/vidify/player/vlc.py
+index 6a0bec7..a7c9ec0 100644
+--- a/vidify/player/vlc.py
++++ b/vidify/player/vlc.py
+@@ -31,7 +31,7 @@ class VLCPlayer(PlayerBase):
+ else:
+ vlc_args += " --quiet"
+ # The audio is always muted, which is needed because not all the
+- # youtube-dl videos are silent.
++ # yt-dlp videos are silent.
+ # Needed for the audiosync feature: set the Group of Pictures size to
+ # one, so that seeking is more precise.
+ vlc_args += " --no-audio --sout-x264-min-keyint 1"
+diff --git a/vidify/youtube.py b/vidify/youtube.py
+index 1b23bfb..b959f34 100644
+--- a/vidify/youtube.py
++++ b/vidify/youtube.py
+@@ -1,5 +1,5 @@
+ """
+-This module uses youtube-dl to obtain the actual URL of a YouTube link.
++This module uses yt-dlp to obtain the actual URL of a YouTube link.
+ That way, the video can be played directly with a video player like VLC
+ or mpv.
+ """
+@@ -7,7 +7,7 @@ or mpv.
+ import logging
+ from typing import Optional
+
+-from youtube_dl import YoutubeDL
++from yt_dlp import YoutubeDL
+ from qtpy.QtCore import QObject, Signal
+
+
+@@ -63,7 +63,7 @@ class YouTubeDLWorker(QObject):
+
+ def get_url(self) -> None:
+ """
+- Getting the youtube direct link with youtube-dl, intended to be used
++ Getting the youtube direct link with yt-dlp, intended to be used
+ with a QThread. It's guaranteed that either a success signal or a
+ fail signal will be emitted.
+ """
+@@ -74,13 +74,13 @@ class YouTubeDLWorker(QObject):
+ except Exception as e:
+ # Any kind of error has to be caught, so that it doesn't only
+ # send the error signal when the download wasn't successful
+- # (a DownloadError from youtube_dl).
+- logging.info("YouTube-dl wasn't able to obtain the video: %s",
++ # (a DownloadError from yt_dlp).
++ logging.info("yt-dlp wasn't able to obtain the video: %s",
+ str(e))
+ self.fail.emit()
+ else:
+ if len(data['entries']) == 0:
+- logging.info("YouTube-dl returned no entries")
++ logging.info("yt-dlp returned no entries")
+ self.fail.emit()
+ else:
+ self.success.emit(data)
diff --git a/media-video/vidify/vidify-2.2.6.ebuild b/media-video/vidify/vidify-2.2.6-r3.ebuild
index d80a08f97932..5ca1b5eed6bb 100644
--- a/media-video/vidify/vidify-2.2.6.ebuild
+++ b/media-video/vidify/vidify-2.2.6-r3.ebuild
@@ -1,12 +1,10 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..9} )
-
-DISTUTILS_USE_SETUPTOOLS=rdepend
+EAPI=8
+PYTHON_COMPAT=( python3_{10..12} )
+DISTUTILS_USE_PEP517=setuptools
inherit xdg distutils-r1 optfeature virtualx
DESCRIPTION="Watch music videos in real time for the songs playing on your device"
@@ -25,7 +23,7 @@ RDEPEND="
dev-python/appdirs[${PYTHON_USEDEP}]
dev-python/QtPy[gui,webengine,${PYTHON_USEDEP}]
net-misc/lyricwikia[${PYTHON_USEDEP}]
- net-misc/youtube-dl[${PYTHON_USEDEP}]
+ net-misc/yt-dlp[${PYTHON_USEDEP}]
dbus? ( dev-python/pydbus[${PYTHON_USEDEP}] )
!dbus? ( dev-python/tekore[${PYTHON_USEDEP}] )
mpv? ( dev-python/python-mpv[${PYTHON_USEDEP}] )
@@ -33,6 +31,12 @@ RDEPEND="
zeroconf? ( dev-python/zeroconf[${PYTHON_USEDEP}] )
"
+# use yt-dlp instead of youtube-dl, otherwise download is too slow for playback
+PATCHES=(
+ "${FILESDIR}/${P}-yt-dlp.patch"
+ "${FILESDIR}/${P}-python310.patch"
+)
+
distutils_enable_tests unittest
python_prepare_all() {
@@ -68,7 +72,7 @@ pkg_postinst() {
xdg_pkg_postinst
elog "If video playback is not working please check 'vidify --debug' for missing-codec-errors"
- elof "and recompile media-video/vlc or media-video/mpv with the missing codecs"
+ elog "and recompile media-video/vlc or media-video/mpv with the missing codecs"
optfeature "using an MPRIS(D-Bus) audio player (e.g spotify)" dev-python/pydbus
optfeature "using the Spotify Web API as audio player" dev-python/tekore
diff --git a/media-video/vlc/Manifest b/media-video/vlc/Manifest
index 7098c1b02658..b565459f5640 100644
--- a/media-video/vlc/Manifest
+++ b/media-video/vlc/Manifest
@@ -1,2 +1 @@
-DIST vlc-3.0-3.0.14.tar.gz 34355555 BLAKE2B e8182229da1fe4f73b640fad8005ec3fc49da70f289bd32c33fcec51bf81d393b067a795626bad57c87499e8de181ac3ce159e572431e794586753c4a7c32597 SHA512 6d366c0f17a8bda7f588ab1818d985bccd076dd821bc83dd7d06827d463931e56cb06ca934622ee2cda4a76b0fbe265a66e4566e9307abc768b76174020f0150
-DIST vlc-3.0.16.tar.xz 26439328 BLAKE2B 1971b88f3faf6d3b019c3fcb83108242bb218f1472dc3c1763a8eaa996befcb36a685a75beb8c2513e3365e77a9df6623d194ef511b5271e3114f2f46588e1ff SHA512 35cdf191071224d0cf1b5a83c00773ff87b9e5bfcf0f5523f7edd53f75b23eda6b27bb49ffa97d69a1d176b8fe4786d959aeeb00d4380beab71c9f7e6b7c7298
+DIST vlc-3.0.20.tar.xz 25596392 BLAKE2B 4537d6b4b3445a28366cdb7ed7e12d0dc864e19a53d34efcdc0a62226642ec8653cf8d5b74d4aea30c9f324c34166e8fa71653b3b298f5abdebe29c4f21f2865 SHA512 02e58fb52dd75bf483ac4b298aecf86463b13d4782173d164adba6e4552d9262ff5e2ee1cbe1bce2c8a809801b79f328c6a8c475d34ae62aefaea02ae5ade406
diff --git a/media-video/vlc/files/vlc-3.0.11.1-srt-1.4.2.patch b/media-video/vlc/files/vlc-3.0.11.1-srt-1.4.2.patch
deleted file mode 100644
index d617a8357ff7..000000000000
--- a/media-video/vlc/files/vlc-3.0.11.1-srt-1.4.2.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-net-libs/srt renamed the SRTO_TSBPDDELAY constant to SRTRO_LATENCY.
-https://github.com/Haivision/srt/pull/1364
-https://bugs.gentoo.org/758062
---- b/modules/access/srt.c
-+++ a/modules/access/srt.c
-@@ -165,7 +165,7 @@ static bool srt_schedule_reconnect(strea
-
- /* Set latency */
- i_latency = var_InheritInteger( p_stream, "latency" );
-- srt_setsockopt( p_sys->sock, 0, SRTO_TSBPDDELAY,
-+ srt_setsockopt( p_sys->sock, 0, SRTO_LATENCY,
- &i_latency, sizeof( int ) );
-
- psz_passphrase = var_InheritString( p_stream, "passphrase" );
---- a/modules/access_output/srt.c
-+++ b/modules/access_output/srt.c
-@@ -162,7 +162,7 @@ static bool srt_schedule_reconnect(sout_
-
- /* Set latency */
- i_latency = var_InheritInteger( p_access, "latency" );
-- srt_setsockopt( p_sys->sock, 0, SRTO_TSBPDDELAY,
-+ srt_setsockopt( p_sys->sock, 0, SRTO_LATENCY,
- &i_latency, sizeof( int ) );
-
- if ( psz_passphrase != NULL && psz_passphrase[0] != '\0')
diff --git a/media-video/vlc/files/vlc-3.0.12.1-limits-p1.patch b/media-video/vlc/files/vlc-3.0.12.1-limits-p1.patch
deleted file mode 100644
index aaa61a546adf..000000000000
--- a/media-video/vlc/files/vlc-3.0.12.1-limits-p1.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-https://bugs.gentoo.org/767796
-
-From: Robert-André Mauchin <zebob.m@gmail.com>
-Date: Mon, 14 Dec 2020 02:23:52 +0000 (+0100)
-Subject: hls: add missing <limits> include
-X-Git-Url: https://git.videolan.org/?p=vlc.git;a=commitdiff_plain;h=3aea33378b0b317b99fce2eeaca8b31bf7cc6aba
-
-hls: add missing <limits> include
-
-Compilation would fail with:
-
-> error: 'numeric_limits' is not a member of 'std'
-
-without this include because of some hardening build
-flags mandated on Fedora Linux, with GCC 11.
-
-Refs #25325
-
-Signed-off-by: Robert-André Mauchin <zebob.m@gmail.com>
-Signed-off-by: Alexandre Janniaux <ajanni@videolabs.io>
----
-
---- a/modules/demux/hls/playlist/Parser.cpp
-+++ b/modules/demux/hls/playlist/Parser.cpp
-@@ -42,6 +42,7 @@
- #include <map>
- #include <cctype>
- #include <algorithm>
-+#include <limits>
-
- using namespace adaptive;
- using namespace adaptive::playlist;
diff --git a/media-video/vlc/files/vlc-3.0.12.1-limits-p2.patch b/media-video/vlc/files/vlc-3.0.12.1-limits-p2.patch
deleted file mode 100644
index 3832b2a1877c..000000000000
--- a/media-video/vlc/files/vlc-3.0.12.1-limits-p2.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-https://bugs.gentoo.org/767796
-
-From: Robert-André Mauchin <zebob.m@gmail.com>
-Date: Mon, 14 Dec 2020 02:23:52 +0000 (+0100)
-Subject: adaptive: add missing <limits> include
-X-Git-Url: https://git.videolan.org/?p=vlc.git;a=commitdiff_plain;h=e3de1b709b258d2b0e316d927f5c828bdb1a738a
-
-adaptive: add missing <limits> include
-
-Compilation would fail with:
-
-> error: 'numeric_limits' is not a member of 'std'
-
-without this include because of some hardening build
-flags mandated on Fedora Linux, with GCC 11.
-
-Refs #25325
-
-Signed-off-by: Robert-André Mauchin <zebob.m@gmail.com>
-Signed-off-by: Alexandre Janniaux <ajanni@videolabs.io>
----
-
---- a/modules/demux/adaptive/playlist/Inheritables.cpp
-+++ b/modules/demux/adaptive/playlist/Inheritables.cpp
-@@ -29,3 +29,4 @@
-+#include <limits>
-
- using namespace adaptive::playlist;
- using namespace adaptive;
---- a/modules/demux/adaptive/playlist/SegmentInformation.cpp
-+++ b/modules/demux/adaptive/playlist/SegmentInformation.cpp
-@@ -34,6 +34,7 @@
-
- #include <algorithm>
- #include <cassert>
-+#include <limits>
-
- using namespace adaptive::playlist;
-
---- a/modules/demux/adaptive/playlist/SegmentTimeline.cpp
-+++ b/modules/demux/adaptive/playlist/SegmentTimeline.cpp
-@@ -29,5 +29,6 @@
-
- #include <algorithm>
-+#include <limits>
-
- using namespace adaptive::playlist;
-
diff --git a/media-video/vlc/files/vlc-3.0.13-srt-1.3.0.patch b/media-video/vlc/files/vlc-3.0.13-srt-1.3.0.patch
deleted file mode 100644
index c255689c1ca0..000000000000
--- a/media-video/vlc/files/vlc-3.0.13-srt-1.3.0.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/configure.ac
-+++ b/configure.ac
-@@ -4016,7 +4016,7 @@
- dnl
- dnl SRT plugin
- dnl
--PKG_ENABLE_MODULES_VLC([SRT], [access_srt access_output_srt], [srt >= 1.2.2 srt < 1.3.0], [SRT input/output plugin], [auto], [], [], [-DENABLE_SRT])
-+PKG_ENABLE_MODULES_VLC([SRT], [access_srt access_output_srt], [srt >= 1.2.2], [SRT input/output plugin], [auto], [], [], [-DENABLE_SRT])
-
- EXTEND_HELP_STRING([Visualisations and Video filter plugins:])
- dnl
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.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 1210c35babc5..9e6c642f023f 100644
--- a/media-video/vlc/metadata.xml
+++ b/media-video/vlc/metadata.xml
@@ -17,7 +17,7 @@
<flag name="directx">Enable Win32 DirectX, D3D11va and DxVA2 support</flag>
<flag name="dvbpsi">Enable support for Mpeg-TS files (.ts, .m2ts, .mts) via <pkg>media-libs/libdvbpsi</pkg></flag>
<flag name="encode">Enable streaming-output support and videolan manager to control multiple streams from within one instance</flag>
- <flag name="faad">Enable AAC audio decoding library support via media-libs/faad2</flag>
+ <flag name="faad">Enable AAC audio decoding library support via <pkg>media-libs/faad2</pkg></flag>
<flag name="fdk">Enable the Fraunhofer AAC codec library</flag>
<flag name="fluidsynth">Enable Fluidsynth MIDI software synthesis (with external sound fonts)</flag>
<flag name="gcrypt">Enable cryptography support via libgcrypt</flag>
@@ -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.14-r7.ebuild b/media-video/vlc/vlc-3.0.20-r10.ebuild
index dadbb25cc1af..7e985624bdd5 100644
--- a/media-video/vlc/vlc-3.0.14-r7.ebuild
+++ b/media-video/vlc/vlc-3.0.20-r10.ebuild
@@ -1,7 +1,7 @@
-# Copyright 2000-2021 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} )
@@ -10,22 +10,18 @@ MY_PV="${MY_PV/-beta/-test}"
MY_P="${PN}-${MY_PV}"
if [[ ${PV} = *9999 ]] ; then
if [[ ${PV%.9999} != ${PV} ]] ; then
- EGIT_REPO_URI="https://git.videolan.org/git/vlc/vlc-${PV%.9999}.git"
- else
- EGIT_REPO_URI="https://git.videolan.org/git/vlc.git"
+ EGIT_BRANCH="3.0.x"
fi
+ EGIT_REPO_URI="https://code.videolan.org/videolan/vlc.git"
inherit git-r3
else
- SRC_URI="https://code.videolan.org/videolan/vlc-$(ver_cut 1-2)/-/archive/${PV}/vlc-$(ver_cut 1-2)-${PV}.tar.gz"
- S="${WORKDIR}/${PN}-$(ver_cut 1-2)-${PV}"
- #if [[ ${MY_P} = ${P} ]] ; then
- # SRC_URI="https://download.videolan.org/pub/videolan/${PN}/${PV}/${P}.tar.xz"
- #else
- # SRC_URI="https://download.videolan.org/pub/videolan/testing/${MY_P}/${MY_P}.tar.xz"
- #fi
- KEYWORDS="amd64 ~arm arm64 ppc ppc64 -sparc x86"
+ if [[ ${MY_P} = ${P} ]] ; then
+ SRC_URI="https://download.videolan.org/pub/videolan/${PN}/${PV}/${P}.tar.xz"
+ else
+ SRC_URI="https://download.videolan.org/pub/videolan/testing/${MY_P}/${MY_P}.tar.xz"
+ fi
+ KEYWORDS="amd64 ~arm arm64 ~loong ppc ppc64 ~riscv -sparc x86"
fi
-
inherit autotools flag-o-matic lua-single toolchain-funcs virtualx xdg
DESCRIPTION="Media player and framework with support for most multimedia files and streaming"
@@ -34,16 +30,15 @@ HOMEPAGE="https://www.videolan.org/vlc/"
LICENSE="LGPL-2.1 GPL-2"
SLOT="0/5-9" # vlc - vlccore
-IUSE="a52 alsa aom archive aribsub bidi bluray cddb chromaprint chromecast
- dav1d dbus dc1394 debug directx dts +dvbpsi dvd +encode faad fdk +ffmpeg flac
- fluidsynth fontconfig +gcrypt gme gnome-keyring gstreamer 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 +qt5 rdp
- run-as-root samba sdl-image sftp shout sid skins soxr speex srt ssl svg taglib
- theora tremor truetype twolame udev upnp vaapi v4l vdpau vnc vpx wayland +X
- x264 x265 xml zeroconf zvbi cpu_flags_arm_neon cpu_flags_ppc_altivec cpu_flags_x86_mmx
- cpu_flags_x86_sse
+IUSE="a52 alsa aom archive aribsub bidi bluray cddb chromaprint chromecast dav1d dbus
+ dc1394 debug directx dts +dvbpsi dvd +encode faad fdk +ffmpeg flac fluidsynth
+ fontconfig +gcrypt gme keyring gstreamer +gui ieee1394 jack jpeg kate
+ libass libcaca libnotify +libsamplerate libtar libtiger linsys lirc live lua
+ macosx-notifications mad matroska modplug mp3 mpeg mtp musepack ncurses nfs ogg
+ omxil optimisememory opus png projectm pulseaudio rdp run-as-root samba sdl-image
+ sftp shout sid skins soxr speex srt ssl svg taglib theora tremor truetype twolame
+ udev upnp vaapi v4l vdpau vnc vpx wayland +X x264 x265 xml zeroconf zvbi
+ cpu_flags_arm_neon cpu_flags_ppc_altivec cpu_flags_x86_mmx cpu_flags_x86_sse
"
REQUIRED_USE="
chromecast? ( encode )
@@ -53,7 +48,7 @@ REQUIRED_USE="
libtar? ( skins )
libtiger? ( kate )
lua? ( ${LUA_REQUIRED_USE} )
- skins? ( qt5 truetype X xml )
+ skins? ( archive gui truetype X xml )
ssl? ( gcrypt )
vaapi? ( ffmpeg X )
vdpau? ( ffmpeg X )
@@ -63,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 )
@@ -98,31 +95,41 @@ RDEPEND="
dts? ( media-libs/libdca )
dvbpsi? ( >=media-libs/libdvbpsi-1.2.0:= )
dvd? (
- >=media-libs/libdvdnav-6.1.1:0=
- >=media-libs/libdvdread-6.1.2:0=
+ >=media-libs/libdvdnav-6.1.1:=
+ >=media-libs/libdvdread-6.1.2:=
)
faad? ( media-libs/faad2 )
fdk? ( media-libs/fdk-aac:= )
- ffmpeg? ( >=media-video/ffmpeg-3.1.3:0=[postproc,vaapi?,vdpau?] )
+ ffmpeg? ( >=media-video/ffmpeg-3.1.3:=[postproc,vaapi?,vdpau?] )
flac? (
- media-libs/flac
+ media-libs/flac:=
media-libs/libogg
)
fluidsynth? ( media-sound/fluidsynth:= )
fontconfig? ( media-libs/fontconfig:1.0 )
gcrypt? (
- dev-libs/libgcrypt:0=
+ dev-libs/libgcrypt:=
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
+ dev-qt/qtgui:5
+ dev-qt/qtsvg:5
+ dev-qt/qtwidgets:5
+ X? (
+ dev-qt/qtx11extras:5
+ x11-libs/libX11
+ )
+ )
ieee1394? (
sys-libs/libavc1394
sys-libs/libraw1394
)
jack? ( virtual/jack )
- jpeg? ( virtual/jpeg:0 )
+ jpeg? ( media-libs/libjpeg-turbo:0 )
kate? ( media-libs/libkate )
libass? (
media-libs/fontconfig:1.0
@@ -140,7 +147,7 @@ RDEPEND="
libtiger? ( media-libs/libtiger )
linsys? ( media-libs/zvbi )
lirc? ( app-misc/lirc )
- live? ( >=media-plugins/live-2021.05.22:= )
+ live? ( media-plugins/live:= )
lua? ( ${LUA_DEPS} )
mad? ( media-libs/libmad )
matroska? (
@@ -148,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 )
@@ -161,18 +168,8 @@ RDEPEND="
media-fonts/dejavu
>=media-libs/libprojectm-3.1.12:0=
)
- pulseaudio? ( media-sound/pulseaudio )
- qt5? (
- dev-qt/qtcore:5
- dev-qt/qtgui:5
- dev-qt/qtsvg:5
- dev-qt/qtwidgets:5
- X? (
- dev-qt/qtx11extras:5
- x11-libs/libX11
- )
- )
- 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 )
@@ -204,9 +201,12 @@ RDEPEND="
)
twolame? ( media-sound/twolame )
udev? ( virtual/udev )
- upnp? ( net-libs/libupnp:=[ipv6] )
+ upnp? ( net-libs/libupnp:=[ipv6(+)] )
v4l? ( media-libs/libv4l:= )
- vaapi? ( x11-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:= )
@@ -235,13 +235,15 @@ 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.11.1-srt-1.4.2.patch # bug 758062
- "${FILESDIR}"/${PN}-3.0.13-srt-1.3.0.patch
- "${FILESDIR}"/${PN}-3.0.14-fix-live-address-api.patch # bug 795798
+ "${FILESDIR}"/${PN}-3.0.18-drop-minizip-dep.patch
+ "${FILESDIR}"/${PN}-3.0.20-c99.patch
+ "${FILESDIR}"/${PN}-3.0.20-c99-2.patch
)
DOCS=( AUTHORS THANKS NEWS README doc/fortunes.txt )
+S="${WORKDIR}/${MY_P}"
+
pkg_setup() {
if use lua; then
lua-single_pkg_setup
@@ -249,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
@@ -260,7 +265,7 @@ src_prepare() {
fi
# Make it build with libtool 1.5
- #rm m4/lt* m4/libtool.m4 || die
+ rm m4/lt* m4/libtool.m4 || die
# We are not in a real git checkout due to the absence of a .git directory.
touch src/revision.txt || die
@@ -284,7 +289,7 @@ src_prepare() {
}
src_configure() {
- local -x BUILDCC=$(tc-getBUILD_CC)
+ local -x BUILDCC="$(tc-getBUILD_CC)"
local myeconfargs=(
--disable-aa
@@ -337,8 +342,9 @@ 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)
$(use_enable jack)
$(use_enable jpeg)
@@ -371,7 +377,6 @@ src_configure() {
$(use_enable png)
$(use_enable projectm)
$(use_enable pulseaudio pulse)
- $(use_enable qt5 qt)
$(use_enable rdp freerdp)
$(use_enable run-as-root)
$(use_enable samba smbclient)
@@ -437,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
@@ -447,18 +456,14 @@ src_configure() {
replace-flags -Os -O2
fi
- # VLC now requires C++11 after commit 4b1c9dcdda0bbff801e47505ff9dfd3f274eb0d8
- append-cxxflags -std=c++11
+ # FIXME: Needs libresid-builder from libsidplay:2 which is in another directory...
+ append-ldflags "-L${ESYSROOT}/usr/$(get_libdir)/sidplay/builders/"
- if use omxil; then
- # bug #723006
- # https://trac.videolan.org/vlc/ticket/24617
- append-cflags -fcommon
+ if use riscv; then
+ # bug #803473
+ append-libs -latomic
fi
- # FIXME: Needs libresid-builder from libsidplay:2 which is in another directory...
- append-ldflags "-L/usr/$(get_libdir)/sidplay/builders/"
-
if use truetype || use bidi; then
myeconfargs+=( --enable-freetype )
else
@@ -494,11 +499,11 @@ src_install() {
pkg_postinst() {
if [[ -z "${ROOT}" ]] && [[ -x "${EROOT}/usr/$(get_libdir)/vlc/vlc-cache-gen" ]] ; then
- einfo "Running ${EROOT}/usr/$(get_libdir)/vlc/vlc-cache-gen on ${EROOT}/usr/$(get_libdir)/vlc/plugins/"
- "${EROOT}/usr/$(get_libdir)/vlc/vlc-cache-gen" "${EROOT}/usr/$(get_libdir)/vlc/plugins/"
+ einfo "Running ${EPREFIX}/usr/$(get_libdir)/vlc/vlc-cache-gen on ${EROOT}/usr/$(get_libdir)/vlc/plugins/"
+ "${EPREFIX}/usr/$(get_libdir)/vlc/vlc-cache-gen" "${EROOT}/usr/$(get_libdir)/vlc/plugins/"
else
ewarn "We cannot run vlc-cache-gen (most likely ROOT != /)"
- ewarn "Please run ${EROOT}/usr/$(get_libdir)/vlc/vlc-cache-gen manually"
+ ewarn "Please run ${EPREFIX}/usr/$(get_libdir)/vlc/vlc-cache-gen manually"
ewarn "If you do not do it, vlc will take a long time to load."
fi
diff --git a/media-video/vlc/vlc-3.0.16-r7.ebuild b/media-video/vlc/vlc-3.0.20-r5.ebuild
index 6c0852eb7fb2..13f40cc843a3 100644
--- a/media-video/vlc/vlc-3.0.16-r7.ebuild
+++ b/media-video/vlc/vlc-3.0.20-r5.ebuild
@@ -1,7 +1,7 @@
-# Copyright 2000-2021 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} )
@@ -10,23 +10,18 @@ MY_PV="${MY_PV/-beta/-test}"
MY_P="${PN}-${MY_PV}"
if [[ ${PV} = *9999 ]] ; then
if [[ ${PV%.9999} != ${PV} ]] ; then
- EGIT_REPO_URI="https://git.videolan.org/git/vlc/vlc-${PV%.9999}.git"
- else
- EGIT_REPO_URI="https://git.videolan.org/git/vlc.git"
+ EGIT_BRANCH="3.0.x"
fi
+ EGIT_REPO_URI="https://code.videolan.org/videolan/vlc.git"
inherit git-r3
else
- SRC_URI="https://get.videolan.org/vlc/${PV}/${P}.tar.xz"
- #S="${WORKDIR}/${PN}-$(ver_cut 1-2)-${PV}"
- #SRC_URI="https://code.videolan.org/videolan/vlc-$(ver_cut 1-2)/-/archive/${PV}/vlc-$(ver_cut 1-2)-${PV}.tar.gz"
- #if [[ ${MY_P} = ${P} ]] ; then
- # SRC_URI="https://download.videolan.org/pub/videolan/${PN}/${PV}/${P}.tar.xz"
- #else
- # SRC_URI="https://download.videolan.org/pub/videolan/testing/${MY_P}/${MY_P}.tar.xz"
- #fi
- KEYWORDS="amd64 ~arm arm64 ppc ppc64 ~riscv -sparc x86"
+ if [[ ${MY_P} = ${P} ]] ; then
+ SRC_URI="https://download.videolan.org/pub/videolan/${PN}/${PV}/${P}.tar.xz"
+ else
+ SRC_URI="https://download.videolan.org/pub/videolan/testing/${MY_P}/${MY_P}.tar.xz"
+ fi
+ KEYWORDS="amd64 ~arm arm64 ~loong ppc ppc64 ~riscv -sparc x86"
fi
-
inherit autotools flag-o-matic lua-single toolchain-funcs virtualx xdg
DESCRIPTION="Media player and framework with support for most multimedia files and streaming"
@@ -35,16 +30,15 @@ HOMEPAGE="https://www.videolan.org/vlc/"
LICENSE="LGPL-2.1 GPL-2"
SLOT="0/5-9" # vlc - vlccore
-IUSE="a52 alsa aom archive aribsub bidi bluray cddb chromaprint chromecast
- dav1d dbus dc1394 debug directx dts +dvbpsi dvd +encode faad fdk +ffmpeg flac
- fluidsynth fontconfig +gcrypt gme gnome-keyring gstreamer 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 +qt5 rdp
- run-as-root samba sdl-image sftp shout sid skins soxr speex srt ssl svg taglib
- theora tremor truetype twolame udev upnp vaapi v4l vdpau vnc vpx wayland +X
- x264 x265 xml zeroconf zvbi cpu_flags_arm_neon cpu_flags_ppc_altivec cpu_flags_x86_mmx
- cpu_flags_x86_sse
+IUSE="a52 alsa aom archive aribsub bidi bluray cddb chromaprint chromecast dav1d dbus
+ dc1394 debug directx dts +dvbpsi dvd +encode faad fdk +ffmpeg flac fluidsynth
+ fontconfig +gcrypt gme keyring gstreamer +gui ieee1394 jack jpeg kate
+ libass libcaca libnotify +libsamplerate libtar libtiger linsys lirc live lua
+ macosx-notifications mad matroska modplug mp3 mpeg mtp musepack ncurses nfs ogg
+ omxil optimisememory opus png projectm pulseaudio rdp run-as-root samba sdl-image
+ sftp shout sid skins soxr speex srt ssl svg taglib theora tremor truetype twolame
+ udev upnp vaapi v4l vdpau vnc vpx wayland +X x264 x265 xml zeroconf zvbi
+ cpu_flags_arm_neon cpu_flags_ppc_altivec cpu_flags_x86_mmx cpu_flags_x86_sse
"
REQUIRED_USE="
chromecast? ( encode )
@@ -54,7 +48,7 @@ REQUIRED_USE="
libtar? ( skins )
libtiger? ( kate )
lua? ( ${LUA_REQUIRED_USE} )
- skins? ( qt5 truetype X xml )
+ skins? ( archive gui truetype X xml )
ssl? ( gcrypt )
vaapi? ( ffmpeg X )
vdpau? ( ffmpeg X )
@@ -64,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 )
@@ -99,31 +95,41 @@ RDEPEND="
dts? ( media-libs/libdca )
dvbpsi? ( >=media-libs/libdvbpsi-1.2.0:= )
dvd? (
- >=media-libs/libdvdnav-6.1.1:0=
- >=media-libs/libdvdread-6.1.2:0=
+ >=media-libs/libdvdnav-6.1.1:=
+ >=media-libs/libdvdread-6.1.2:=
)
faad? ( media-libs/faad2 )
fdk? ( media-libs/fdk-aac:= )
- ffmpeg? ( >=media-video/ffmpeg-3.1.3:0=[postproc,vaapi?,vdpau?] )
+ ffmpeg? ( >=media-video/ffmpeg-3.1.3:=[postproc,vaapi?,vdpau?] )
flac? (
- media-libs/flac
+ media-libs/flac:=
media-libs/libogg
)
fluidsynth? ( media-sound/fluidsynth:= )
fontconfig? ( media-libs/fontconfig:1.0 )
gcrypt? (
- dev-libs/libgcrypt:0=
+ dev-libs/libgcrypt:=
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
+ dev-qt/qtgui:5
+ dev-qt/qtsvg:5
+ dev-qt/qtwidgets:5
+ X? (
+ dev-qt/qtx11extras:5
+ x11-libs/libX11
+ )
+ )
ieee1394? (
sys-libs/libavc1394
sys-libs/libraw1394
)
jack? ( virtual/jack )
- jpeg? ( virtual/jpeg:0 )
+ jpeg? ( media-libs/libjpeg-turbo:0 )
kate? ( media-libs/libkate )
libass? (
media-libs/fontconfig:1.0
@@ -141,7 +147,7 @@ RDEPEND="
libtiger? ( media-libs/libtiger )
linsys? ( media-libs/zvbi )
lirc? ( app-misc/lirc )
- live? ( >=media-plugins/live-2021.05.22:= )
+ live? ( media-plugins/live:= )
lua? ( ${LUA_DEPS} )
mad? ( media-libs/libmad )
matroska? (
@@ -149,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 )
@@ -162,18 +168,8 @@ RDEPEND="
media-fonts/dejavu
>=media-libs/libprojectm-3.1.12:0=
)
- pulseaudio? ( media-sound/pulseaudio )
- qt5? (
- dev-qt/qtcore:5
- dev-qt/qtgui:5
- dev-qt/qtsvg:5
- dev-qt/qtwidgets:5
- X? (
- dev-qt/qtx11extras:5
- x11-libs/libX11
- )
- )
- 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 )
@@ -205,9 +201,12 @@ RDEPEND="
)
twolame? ( media-sound/twolame )
udev? ( virtual/udev )
- upnp? ( net-libs/libupnp:=[ipv6] )
+ upnp? ( net-libs/libupnp:=[ipv6(+)] )
v4l? ( media-libs/libv4l:= )
- vaapi? ( x11-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:= )
@@ -236,13 +235,14 @@ 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.11.1-srt-1.4.2.patch # bug 758062
- "${FILESDIR}"/${PN}-3.0.13-srt-1.3.0.patch
- "${FILESDIR}"/${PN}-3.0.14-fix-live-address-api.patch # bug 795798
+ "${FILESDIR}"/${PN}-3.0.18-drop-minizip-dep.patch
+ "${FILESDIR}"/${PN}-3.0.20-c99.patch
)
DOCS=( AUTHORS THANKS NEWS README doc/fortunes.txt )
+S="${WORKDIR}/${MY_P}"
+
pkg_setup() {
if use lua; then
lua-single_pkg_setup
@@ -250,7 +250,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
@@ -261,7 +264,7 @@ src_prepare() {
fi
# Make it build with libtool 1.5
- #rm m4/lt* m4/libtool.m4 || die
+ rm m4/lt* m4/libtool.m4 || die
# We are not in a real git checkout due to the absence of a .git directory.
touch src/revision.txt || die
@@ -285,7 +288,7 @@ src_prepare() {
}
src_configure() {
- local -x BUILDCC=$(tc-getBUILD_CC)
+ local -x BUILDCC="$(tc-getBUILD_CC)"
local myeconfargs=(
--disable-aa
@@ -338,8 +341,9 @@ 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)
$(use_enable jack)
$(use_enable jpeg)
@@ -372,7 +376,6 @@ src_configure() {
$(use_enable png)
$(use_enable projectm)
$(use_enable pulseaudio pulse)
- $(use_enable qt5 qt)
$(use_enable rdp freerdp)
$(use_enable run-as-root)
$(use_enable samba smbclient)
@@ -438,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
@@ -448,20 +455,11 @@ src_configure() {
replace-flags -Os -O2
fi
- # VLC now requires C++11 after commit 4b1c9dcdda0bbff801e47505ff9dfd3f274eb0d8
- append-cxxflags -std=c++11
-
- 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/usr/$(get_libdir)/sidplay/builders/"
+ append-ldflags "-L${ESYSROOT}/usr/$(get_libdir)/sidplay/builders/"
if use riscv; then
- # Bug #803473
+ # bug #803473
append-libs -latomic
fi
@@ -500,11 +498,11 @@ src_install() {
pkg_postinst() {
if [[ -z "${ROOT}" ]] && [[ -x "${EROOT}/usr/$(get_libdir)/vlc/vlc-cache-gen" ]] ; then
- einfo "Running ${EROOT}/usr/$(get_libdir)/vlc/vlc-cache-gen on ${EROOT}/usr/$(get_libdir)/vlc/plugins/"
- "${EROOT}/usr/$(get_libdir)/vlc/vlc-cache-gen" "${EROOT}/usr/$(get_libdir)/vlc/plugins/"
+ einfo "Running ${EPREFIX}/usr/$(get_libdir)/vlc/vlc-cache-gen on ${EROOT}/usr/$(get_libdir)/vlc/plugins/"
+ "${EPREFIX}/usr/$(get_libdir)/vlc/vlc-cache-gen" "${EROOT}/usr/$(get_libdir)/vlc/plugins/"
else
ewarn "We cannot run vlc-cache-gen (most likely ROOT != /)"
- ewarn "Please run ${EROOT}/usr/$(get_libdir)/vlc/vlc-cache-gen manually"
+ ewarn "Please run ${EPREFIX}/usr/$(get_libdir)/vlc/vlc-cache-gen manually"
ewarn "If you do not do it, vlc will take a long time to load."
fi
diff --git a/media-video/vlc/vlc-3.0.9999.ebuild b/media-video/vlc/vlc-3.0.9999.ebuild
index fb2127172d31..278eb623b4b6 100644
--- a/media-video/vlc/vlc-3.0.9999.ebuild
+++ b/media-video/vlc/vlc-3.0.9999.ebuild
@@ -1,7 +1,7 @@
-# Copyright 2000-2021 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} )
@@ -10,10 +10,9 @@ MY_PV="${MY_PV/-beta/-test}"
MY_P="${PN}-${MY_PV}"
if [[ ${PV} = *9999 ]] ; then
if [[ ${PV%.9999} != ${PV} ]] ; then
- EGIT_REPO_URI="https://git.videolan.org/git/vlc/vlc-${PV%.9999}.git"
- else
- EGIT_REPO_URI="https://git.videolan.org/git/vlc.git"
+ EGIT_BRANCH="3.0.x"
fi
+ EGIT_REPO_URI="https://code.videolan.org/videolan/vlc.git"
inherit git-r3
else
if [[ ${MY_P} = ${P} ]] ; then
@@ -21,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 ~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
@@ -33,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
@@ -49,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 )
@@ -59,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 )
@@ -94,24 +95,24 @@ RDEPEND="
dts? ( media-libs/libdca )
dvbpsi? ( >=media-libs/libdvbpsi-1.2.0:= )
dvd? (
- >=media-libs/libdvdnav-6.1.1:0=
- >=media-libs/libdvdread-6.1.2:0=
+ >=media-libs/libdvdnav-6.1.1:=
+ >=media-libs/libdvdread-6.1.2:=
)
faad? ( media-libs/faad2 )
fdk? ( media-libs/fdk-aac:= )
- ffmpeg? ( >=media-video/ffmpeg-3.1.3:0=[postproc,vaapi?,vdpau?] )
+ ffmpeg? ( >=media-video/ffmpeg-3.1.3:=[postproc,vaapi?,vdpau?] )
flac? (
- media-libs/flac
+ media-libs/flac:=
media-libs/libogg
)
fluidsynth? ( media-sound/fluidsynth:= )
fontconfig? ( media-libs/fontconfig:1.0 )
gcrypt? (
- dev-libs/libgcrypt:0=
+ dev-libs/libgcrypt:=
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
@@ -128,7 +129,7 @@ RDEPEND="
sys-libs/libraw1394
)
jack? ( virtual/jack )
- jpeg? ( virtual/jpeg:0 )
+ jpeg? ( media-libs/libjpeg-turbo:0 )
kate? ( media-libs/libkate )
libass? (
media-libs/fontconfig:1.0
@@ -154,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 )
@@ -167,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 )
@@ -200,9 +201,12 @@ RDEPEND="
)
twolame? ( media-sound/twolame )
udev? ( virtual/udev )
- upnp? ( net-libs/libupnp:=[ipv6] )
+ upnp? ( net-libs/libupnp:=[ipv6(+)] )
v4l? ( media-libs/libv4l:= )
- vaapi? ( x11-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:= )
@@ -231,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 )
@@ -244,7 +249,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
@@ -279,7 +287,7 @@ src_prepare() {
}
src_configure() {
- local -x BUILDCC=$(tc-getBUILD_CC)
+ local -x BUILDCC="$(tc-getBUILD_CC)"
local myeconfargs=(
--disable-aa
@@ -332,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)
@@ -432,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
@@ -442,18 +454,14 @@ src_configure() {
replace-flags -Os -O2
fi
- # VLC now requires C++11 after commit 4b1c9dcdda0bbff801e47505ff9dfd3f274eb0d8
- append-cxxflags -std=c++11
+ # FIXME: Needs libresid-builder from libsidplay:2 which is in another directory...
+ append-ldflags "-L${ESYSROOT}/usr/$(get_libdir)/sidplay/builders/"
- if use omxil; then
- # bug #723006
- # https://trac.videolan.org/vlc/ticket/24617
- append-cflags -fcommon
+ if use riscv; then
+ # bug #803473
+ append-libs -latomic
fi
- # FIXME: Needs libresid-builder from libsidplay:2 which is in another directory...
- append-ldflags "-L/usr/$(get_libdir)/sidplay/builders/"
-
if use truetype || use bidi; then
myeconfargs+=( --enable-freetype )
else
@@ -489,11 +497,11 @@ src_install() {
pkg_postinst() {
if [[ -z "${ROOT}" ]] && [[ -x "${EROOT}/usr/$(get_libdir)/vlc/vlc-cache-gen" ]] ; then
- einfo "Running ${EROOT}/usr/$(get_libdir)/vlc/vlc-cache-gen on ${EROOT}/usr/$(get_libdir)/vlc/plugins/"
- "${EROOT}/usr/$(get_libdir)/vlc/vlc-cache-gen" "${EROOT}/usr/$(get_libdir)/vlc/plugins/"
+ einfo "Running ${EPREFIX}/usr/$(get_libdir)/vlc/vlc-cache-gen on ${EROOT}/usr/$(get_libdir)/vlc/plugins/"
+ "${EPREFIX}/usr/$(get_libdir)/vlc/vlc-cache-gen" "${EROOT}/usr/$(get_libdir)/vlc/plugins/"
else
ewarn "We cannot run vlc-cache-gen (most likely ROOT != /)"
- ewarn "Please run /usr/$(get_libdir)/vlc/vlc-cache-gen manually"
+ ewarn "Please run ${EPREFIX}/usr/$(get_libdir)/vlc/vlc-cache-gen manually"
ewarn "If you do not do it, vlc will take a long time to load."
fi
diff --git a/media-video/vlc/vlc-9999.ebuild b/media-video/vlc/vlc-9999.ebuild
index 62677697baa2..069ca6ec43c2 100644
--- a/media-video/vlc/vlc-9999.ebuild
+++ b/media-video/vlc/vlc-9999.ebuild
@@ -1,7 +1,7 @@
-# Copyright 2000-2021 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} )
@@ -10,10 +10,9 @@ MY_PV="${MY_PV/-beta/-test}"
MY_P="${PN}-${MY_PV}"
if [[ ${PV} = *9999 ]] ; then
if [[ ${PV%.9999} != ${PV} ]] ; then
- EGIT_REPO_URI="https://git.videolan.org/git/vlc/vlc-${PV%.9999}.git"
- else
- EGIT_REPO_URI="https://git.videolan.org/git/vlc.git"
+ EGIT_BRANCH="3.0.x"
fi
+ EGIT_REPO_URI="https://code.videolan.org/videolan/vlc.git"
inherit git-r3
else
if [[ ${MY_P} = ${P} ]] ; then
@@ -21,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 ~ppc ~ppc64 -sparc ~x86"
+ KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 -sparc ~x86"
fi
inherit autotools flag-o-matic lua-single toolchain-funcs virtualx xdg
@@ -33,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
@@ -59,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 )
@@ -94,24 +94,24 @@ RDEPEND="
dts? ( media-libs/libdca )
dvbpsi? ( >=media-libs/libdvbpsi-1.2.0:= )
dvd? (
- >=media-libs/libdvdnav-6.1.1:0=
- >=media-libs/libdvdread-6.1.2:0=
+ >=media-libs/libdvdnav-6.1.1:=
+ >=media-libs/libdvdread-6.1.2:=
)
faad? ( media-libs/faad2 )
fdk? ( media-libs/fdk-aac:= )
- ffmpeg? ( >=media-video/ffmpeg-3.1.3:0=[postproc,vaapi?,vdpau?] )
+ ffmpeg? ( >=media-video/ffmpeg-3.1.3:=[postproc,vaapi?,vdpau?] )
flac? (
- media-libs/flac
+ media-libs/flac:=
media-libs/libogg
)
fluidsynth? ( media-sound/fluidsynth:= )
fontconfig? ( media-libs/fontconfig:1.0 )
gcrypt? (
- dev-libs/libgcrypt:0=
+ dev-libs/libgcrypt:=
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
@@ -128,7 +128,7 @@ RDEPEND="
sys-libs/libraw1394
)
jack? ( virtual/jack )
- jpeg? ( virtual/jpeg:0 )
+ jpeg? ( media-libs/libjpeg-turbo:0 )
kate? ( media-libs/libkate )
kms? ( x11-libs/libdrm )
libass? (
@@ -141,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 )
@@ -156,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 )
@@ -169,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 )
@@ -202,9 +202,9 @@ RDEPEND="
)
twolame? ( media-sound/twolame )
udev? ( virtual/udev )
- upnp? ( net-libs/libupnp:=[ipv6] )
+ upnp? ( net-libs/libupnp:=[ipv6(+)] )
v4l? ( media-libs/libv4l:= )
- vaapi? ( x11-libs/libva:=[drm,wayland?,X?] )
+ vaapi? ( media-libs/libva:=[drm(+),wayland?,X?] )
vdpau? ( x11-libs/libvdpau )
vnc? ( net-libs/libvncserver )
vpx? ( media-libs/libvpx:= )
@@ -214,7 +214,7 @@ RDEPEND="
)
X? (
x11-libs/libX11
- x11-libs/libxcb[xkb]
+ x11-libs/libxcb
x11-libs/libXcursor
x11-libs/libxkbcommon[X]
x11-libs/xcb-util
@@ -231,12 +231,11 @@ 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 doc/fortunes.txt )
+DOCS=( AUTHORS THANKS NEWS README.md doc/fortunes.txt )
S="${WORKDIR}/${MY_P}"
@@ -247,7 +246,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}"/${P}-libupnp-slot-1.8.patch
@@ -282,7 +284,7 @@ src_prepare() {
}
src_configure() {
- local -x BUILDCC=$(tc-getBUILD_CC)
+ local -x BUILDCC="$(tc-getBUILD_CC)"
local myeconfargs=(
--disable-optimizations
@@ -334,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)
@@ -432,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
@@ -442,18 +448,14 @@ src_configure() {
replace-flags -Os -O2
fi
- # VLC now requires C++11 after commit 4b1c9dcdda0bbff801e47505ff9dfd3f274eb0d8
- append-cxxflags -std=c++11
+ # FIXME: Needs libresid-builder from libsidplay:2 which is in another directory...
+ append-ldflags "-L${ESYSROOT}/usr/$(get_libdir)/sidplay/builders/"
- if use omxil; then
- # bug #723006
- # https://trac.videolan.org/vlc/ticket/24617
- append-cflags -fcommon
+ if use riscv; then
+ # bug #803473
+ append-libs -latomic
fi
- # FIXME: Needs libresid-builder from libsidplay:2 which is in another directory...
- append-ldflags "-L/usr/$(get_libdir)/sidplay/builders/"
-
if use truetype || use bidi; then
myeconfargs+=( --enable-freetype )
else
@@ -488,12 +490,12 @@ src_install() {
}
pkg_postinst() {
- if [[ -z "${ROOT}" ]] && [[ -x "${EROOT}/usr/libexec/vlc/vlc-cache-gen" ]] ; then
- einfo "Running ${EROOT}/usr/libexec/vlc/vlc-cache-gen on ${EROOT}/usr/libexec/vlc/plugins/"
- "${EROOT}/usr/libexec/vlc/vlc-cache-gen" "${EROOT}/usr/libexec/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 ${EROOT}/usr/libexec/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
@@ -501,8 +503,8 @@ pkg_postinst() {
}
pkg_postrm() {
- if [[ -e "${EROOT}"/usr/libexec/vlc/plugins/plugins.dat ]]; then
- rm "${EROOT}"/usr/libexec/vlc/plugins/plugins.dat || die "Failed to rm plugins.dat"
+ if [[ -e "${EROOT}"/usr/$(get_libdir)/vlc/plugins/plugins.dat ]]; then
+ rm "${EROOT}"/usr/$(get_libdir)/vlc/plugins/plugins.dat || die "Failed to rm plugins.dat"
fi
xdg_pkg_postrm
diff --git a/media-video/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 e7fd9d46106f..d11a0b3cbcc2 100644
--- a/media-video/webcamoid/Manifest
+++ b/media-video/webcamoid/Manifest
@@ -1 +1,2 @@
-DIST webcamoid-8.7.1.tar.gz 8900338 BLAKE2B f379811cf9e44e67caa80c301c2774f13c686fa4721b5adc85dcd803ea97edb07073e53575c7dae8dab4ebfa0a9ee4f3691511cc7ddd6b55f84ae2cc77cd3c52 SHA512 b9a4b1dd4c863ab126e304eabce47c025ec0e3eb85a5b42035d26caa004399bde733913c0a5598ada3deb01673bd42ea54c9d2b06d300608582e63dda75d9bf6
+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.7.1.ebuild b/media-video/webcamoid/webcamoid-8.7.1.ebuild
deleted file mode 100644
index eb5217846b13..000000000000
--- a/media-video/webcamoid/webcamoid-8.7.1.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
-
-inherit qmake-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" )
-
- for x in ${IUSE_AVKYS[@]}; do
- use ${x} || myqmakeargs+=( "NO${x^^}=1" )
- done
-
- eqmake5 ${myqmakeargs[@]}
-}
-
-src_install() {
- emake INSTALL_ROOT="${D}" install
- einstalldocs
-}
diff --git a/media-video/webcamoid/webcamoid-9.0.0-r1.ebuild b/media-video/webcamoid/webcamoid-9.0.0-r1.ebuild
new file mode 100644
index 000000000000..a836fa4160b7
--- /dev/null
+++ b/media-video/webcamoid/webcamoid-9.0.0-r1.ebuild
@@ -0,0 +1,73 @@
+# 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"
+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 )"
+
+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 )
+ 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"
+ "-DNOAVFOUNDATION=1"
+ "-DNODSHOW=1"
+ "-DNOWASAPI=1"
+ "-DNOVLC=1"
+ "-DNOPIPEWIRE=1"
+ "-DNOALSA=$(usex alsa 0 1)"
+ "-DNOCOREAUDIO=$(usex coreaudio 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)"
+ "-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/${PN}.1.gz
+ cmake_src_install
+}
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
new file mode 100644
index 000000000000..c539d8831d38
--- /dev/null
+++ b/media-video/webcamoid/webcamoid-9999.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/wireplumber/Manifest b/media-video/wireplumber/Manifest
index bd84bd1a92ca..f015e20e4e6b 100644
--- a/media-video/wireplumber/Manifest
+++ b/media-video/wireplumber/Manifest
@@ -1,2 +1,2 @@
-DIST wireplumber-0.4.2.tar.gz 332499 BLAKE2B 4747ae405a824b019415188ff1a586d32fc2e97aba6777cd1e403aadf0e44458156d1f8b6dbc706b812a7ea8c873d0f506f2b42817d1bc5312874530edaf7234 SHA512 8ded43fba5de58068516558918d49c86be7d67330e8a14e735561fefadba5e27952d556987b7304dead52b4e2f72a7d9626da0170e768c4702dd164840b08e3c
-DIST wireplumber-0.4.4.tar.gz 346770 BLAKE2B cc2768db3a4f6f26a176c9fff759384fedb020c98540ecbe1e02e28a7f16fa3ecc4ec25de50a65021cabb4e5746c41c683b714e0bc5cf5003f2a7d9c9414516c SHA512 f8d764c1728c2e550fc41044a8ebbbeba27157540077648431796d7de5a04281df00d9742b04c6f76b50e446b2a723f2555520cb953d432f90b05148967de4ef
+DIST wireplumber-0.4.17.tar.bz2 330355 BLAKE2B fec1cf75bec687bff1cb48416cf22503a79609cf11220ab9353d3b8038cae1db63da8aa269aca034c0c0afd474e2ba89b236bb7e778da111516e3b15d5449f02 SHA512 5efb71091f262458bc912f4670249fac3ef858021785fbee9be749564a3fa452b1c4ff75634132f7d44fd06d7fc5ea2debb022b1f4a8d5c9c3afa992fab7ecf8
+DIST wireplumber-0.5.2.tar.bz2 408788 BLAKE2B 51a9c0268212b353b54099d2d57fd93dec5b42d4ec3151f93b4ebd4df3f4478a19858ec8302af58558a9387afa647a00a0872d471f0f2ea5e681978afbdcf553 SHA512 4cd2949739b8af86f73e072fe8c1d8606fa9be77b6e109aa0825d516f11953c4811ae1162da07ae245f7039f4243d01c43b8e9c083d4e0be1066b180484abbfb
diff --git a/media-video/wireplumber/files/wireplumber-0.4.15-config-disable-sound-server-parts.patch b/media-video/wireplumber/files/wireplumber-0.4.15-config-disable-sound-server-parts.patch
new file mode 100644
index 000000000000..b4f3ecd311f7
--- /dev/null
+++ b/media-video/wireplumber/files/wireplumber-0.4.15-config-disable-sound-server-parts.patch
@@ -0,0 +1,24 @@
+commit 3d86f51d2c43fd76be2450a8c27836fdd8619cfa
+Author: Igor V. Kovalenko <igor.v.kovalenko@gmail.com>
+Date: Sun May 15 18:19:03 2022 +0300
+
+ config: Disable alsa and bluez monitors by default
+--- a/src/config/bluetooth.lua.d/50-bluez-config.lua
++++ b/src/config/bluetooth.lua.d/50-bluez-config.lua
+@@ -1,4 +1,4 @@
+-bluez_monitor.enabled = true
++bluez_monitor.enabled = false
+
+ bluez_monitor.properties = {
+ -- Enabled roles (default: [ a2dp_sink a2dp_source bap_sink bap_source hfp_hf hfp_ag ])
+--- a/src/config/main.lua.d/50-alsa-config.lua
++++ b/src/config/main.lua.d/50-alsa-config.lua
+@@ -1,4 +1,4 @@
+-alsa_monitor.enabled = true
++alsa_monitor.enabled = false
+
+ alsa_monitor.properties = {
+ -- Create a JACK device. This is not enabled by default because
+--
+2.42.0
+
diff --git a/media-video/wireplumber/files/wireplumber-0.4.2-bluez-add-basic-check-for-nil-monitor.patch b/media-video/wireplumber/files/wireplumber-0.4.2-bluez-add-basic-check-for-nil-monitor.patch
deleted file mode 100644
index a519e4212828..000000000000
--- a/media-video/wireplumber/files/wireplumber-0.4.2-bluez-add-basic-check-for-nil-monitor.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 32d96189b807ab53317a33217c661ce4b1ac8e49 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Nikl=C4=81vs=20Ko=C4=BCes=C5=86ikovs?=
- <89q1r14hd@relay.firefox.com>
-Date: Wed, 15 Sep 2021 12:21:40 +0300
-Subject: [PATCH 3/5] bluez: add basic check for nil monitor
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-If PipeWire is built without Bluetooth support, then
-
-`monitor = SpaDevice("api.bluez5.enum.dbus", monitor_props)`
-
-will result in a nil monitor. This commit adds a basic sanity check
-to avoid further using the nil variable.
-
-Thanks-to: Pascal Flöschel (initial bug report)
-Thanks-to: George Kiagiadakis <george.kiagiadakis@collabora.com>
-Bug: https://bugs.gentoo.org/813043
----
- src/scripts/monitors/bluez.lua | 8 ++++++--
- 1 file changed, 6 insertions(+), 2 deletions(-)
-
-diff --git a/src/scripts/monitors/bluez.lua b/src/scripts/monitors/bluez.lua
-index fc229fa..4066536 100644
---- a/src/scripts/monitors/bluez.lua
-+++ b/src/scripts/monitors/bluez.lua
-@@ -129,5 +129,9 @@ local monitor_props = config.properties or {}
- monitor_props["api.bluez5.connection-info"] = true
-
- monitor = SpaDevice("api.bluez5.enum.dbus", monitor_props)
--monitor:connect("create-object", createDevice)
--monitor:activate(Feature.SpaDevice.ENABLED)
-+if monitor then
-+ monitor:connect("create-object", createDevice)
-+ monitor:activate(Feature.SpaDevice.ENABLED)
-+else
-+ Log.message("PipeWire's BlueZ SPA missing or broken. Bluetooth not supported.")
-+end
---
-2.33.0
-
diff --git a/media-video/wireplumber/files/wireplumber-0.4.2-lib-wp-device-demote-missing-SPA-warning-to-message.patch b/media-video/wireplumber/files/wireplumber-0.4.2-lib-wp-device-demote-missing-SPA-warning-to-message.patch
deleted file mode 100644
index 7653de28bbbb..000000000000
--- a/media-video/wireplumber/files/wireplumber-0.4.2-lib-wp-device-demote-missing-SPA-warning-to-message.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 05334c1ec72af68f915ea18e32b230857918f600 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Nikl=C4=81vs=20Ko=C4=BCes=C5=86ikovs?=
- <89q1r14hd@relay.firefox.com>
-Date: Wed, 15 Sep 2021 13:23:45 +0300
-Subject: [PATCH 5/5] lib/wp/device: demote missing SPA warning to message
-
-Warnings can be scary, so best not to scare users with what's likely
-intentional omission of a particular SPA plugin (currently V4L & BlueZ).
----
- lib/wp/device.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/lib/wp/device.c b/lib/wp/device.c
-index f0c32af..9a0b995 100644
---- a/lib/wp/device.c
-+++ b/lib/wp/device.c
-@@ -617,7 +617,7 @@ wp_spa_device_new_from_spa_factory (WpCore * core,
- handle = pw_context_load_spa_handle (pw_context, factory_name,
- props ? wp_properties_peek_dict (props) : NULL);
- if (!handle) {
-- wp_warning ("SPA handle '%s' could not be loaded; is it installed?",
-+ wp_message ("SPA handle '%s' could not be loaded; is it installed?",
- factory_name);
- return NULL;
- }
---
-2.33.0
-
diff --git a/media-video/wireplumber/files/wireplumber-0.4.2-lua-api-fix-object-constructors-to-fail-gracefully.patch b/media-video/wireplumber/files/wireplumber-0.4.2-lua-api-fix-object-constructors-to-fail-gracefully.patch
deleted file mode 100644
index 2bb3a8d653e8..000000000000
--- a/media-video/wireplumber/files/wireplumber-0.4.2-lua-api-fix-object-constructors-to-fail-gracefully.patch
+++ /dev/null
@@ -1,100 +0,0 @@
-From 2a5f9c51f2f8dd29cd19a14f165ca2b425a172fc Mon Sep 17 00:00:00 2001
-From: George Kiagiadakis <george.kiagiadakis@collabora.com>
-Date: Wed, 15 Sep 2021 12:51:47 +0300
-Subject: [PATCH 2/5] lua/api: fix object constructors to fail gracefully
-
----
- modules/module-lua-scripting/api.c | 35 ++++++++++++++++++------------
- 1 file changed, 21 insertions(+), 14 deletions(-)
-
-diff --git a/modules/module-lua-scripting/api.c b/modules/module-lua-scripting/api.c
-index 5691b63..2830477 100644
---- a/modules/module-lua-scripting/api.c
-+++ b/modules/module-lua-scripting/api.c
-@@ -836,8 +836,9 @@ device_new (lua_State *L)
-
- WpDevice *d = wp_device_new_from_factory (get_wp_export_core (L),
- factory, properties);
-- wplua_pushobject (L, d);
-- return 1;
-+ if (d)
-+ wplua_pushobject (L, d);
-+ return d ? 1 : 0;
- }
-
- /* WpSpaDevice */
-@@ -855,8 +856,9 @@ spa_device_new (lua_State *L)
-
- WpSpaDevice *d = wp_spa_device_new_from_spa_factory (get_wp_export_core (L),
- factory, properties);
-- wplua_pushobject (L, d);
-- return 1;
-+ if (d)
-+ wplua_pushobject (L, d);
-+ return d ? 1 : 0;
- }
-
- static int
-@@ -903,8 +905,9 @@ node_new (lua_State *L)
-
- WpNode *d = wp_node_new_from_factory (get_wp_export_core (L),
- factory, properties);
-- wplua_pushobject (L, d);
-- return 1;
-+ if (d)
-+ wplua_pushobject (L, d);
-+ return d ? 1 : 0;
- }
-
- static int
-@@ -1011,8 +1014,9 @@ impl_node_new (lua_State *L)
-
- WpImplNode *d = wp_impl_node_new_from_pw_factory (get_wp_export_core (L),
- factory, properties);
-- wplua_pushobject (L, d);
-- return 1;
-+ if (d)
-+ wplua_pushobject (L, d);
-+ return d ? 1 : 0;
- }
-
- /* Port */
-@@ -1045,8 +1049,9 @@ link_new (lua_State *L)
- }
-
- WpLink *l = wp_link_new_from_factory (get_wp_core (L), factory, properties);
-- wplua_pushobject (L, l);
-- return 1;
-+ if (l)
-+ wplua_pushobject (L, l);
-+ return l ? 1 : 0;
- }
-
- /* Client */
-@@ -1124,8 +1129,9 @@ session_item_new (lua_State *L)
- {
- const char *type = luaL_checkstring (L, 1);
- WpSessionItem *si = wp_session_item_make (get_wp_core (L), type);
-- wplua_pushobject (L, si);
-- return 1;
-+ if (si)
-+ wplua_pushobject (L, si);
-+ return si ? 1 : 0;
- }
-
- static int
-@@ -1135,8 +1141,9 @@ session_item_get_associated_proxy (lua_State *L)
- const char *typestr = luaL_checkstring (L, 2);
- WpProxy *proxy = wp_session_item_get_associated_proxy (si,
- parse_gtype (typestr));
-- wplua_pushobject (L, proxy);
-- return 1;
-+ if (proxy)
-+ wplua_pushobject (L, proxy);
-+ return proxy ? 1 : 0;
- }
-
- static int
---
-2.33.0
-
diff --git a/media-video/wireplumber/files/wireplumber-0.4.2-meson-Build-tests-conditionally.patch b/media-video/wireplumber/files/wireplumber-0.4.2-meson-Build-tests-conditionally.patch
deleted file mode 100644
index dab53c71bf4a..000000000000
--- a/media-video/wireplumber/files/wireplumber-0.4.2-meson-Build-tests-conditionally.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From 3b24c419b497c283e64df23b3b5eecd4c3d51927 Mon Sep 17 00:00:00 2001
-From: Sam James <sam@gentoo.org>
-Date: Tue, 14 Sep 2021 05:07:41 +0100
-Subject: [PATCH 1/5] meson: Build tests conditionally
-
-It's useful downstream to be able to control building
-tests, as there's not much use building them if we're
-not going to run them.
-
-Signed-off-by: Sam James <sam@gentoo.org>
----
- meson.build | 5 ++++-
- meson_options.txt | 2 ++
- 2 files changed, 6 insertions(+), 1 deletion(-)
-
-diff --git a/meson.build b/meson.build
-index 3712a82..5f87ade 100644
---- a/meson.build
-+++ b/meson.build
-@@ -109,4 +109,7 @@ subdir('lib')
- subdir('docs')
- subdir('modules')
- subdir('src')
--subdir('tests')
-+
-+if get_option('tests')
-+ subdir('tests')
-+endif
-diff --git a/meson_options.txt b/meson_options.txt
-index a7a0a89..4008864 100644
---- a/meson_options.txt
-+++ b/meson_options.txt
-@@ -24,3 +24,5 @@ option('systemd-user-unit-dir',
- description : 'Directory for user systemd units')
- option('glib-supp', type : 'string', value : '',
- description: 'The glib.supp valgrind suppressions file to be used when running valgrind')
-+option('tests', type : 'boolean', value : 'true',
-+ description : 'Build the test suite')
---
-2.33.0
-
diff --git a/media-video/wireplumber/files/wireplumber-0.4.2-v4l-add-basic-check-for-nil-monitor.patch b/media-video/wireplumber/files/wireplumber-0.4.2-v4l-add-basic-check-for-nil-monitor.patch
deleted file mode 100644
index f7fee3d11e4a..000000000000
--- a/media-video/wireplumber/files/wireplumber-0.4.2-v4l-add-basic-check-for-nil-monitor.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 3b41df35a885b4db04528d839b87e88bf1345240 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Nikl=C4=81vs=20Ko=C4=BCes=C5=86ikovs?=
- <89q1r14hd@relay.firefox.com>
-Date: Wed, 15 Sep 2021 13:08:04 +0300
-Subject: [PATCH 4/5] v4l: add basic check for nil monitor
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-If PipeWire is built without V4L support, then
-
-`monitor = SpaDevice("api.v4l2.enum.udev", config.properties or {})`
-
-will result in a nil monitor. This commit adds a basic sanity check
-to avoid further using the nil variable.
-
-Thanks-to: Pascal Flöschel (initial bug report)
-Thanks-to: George Kiagiadakis <george.kiagiadakis@collabora.com>
-Bug: https://bugs.gentoo.org/813043
----
- src/scripts/monitors/v4l2.lua | 8 ++++++--
- 1 file changed, 6 insertions(+), 2 deletions(-)
-
-diff --git a/src/scripts/monitors/v4l2.lua b/src/scripts/monitors/v4l2.lua
-index e698cd7..fd9a20d 100644
---- a/src/scripts/monitors/v4l2.lua
-+++ b/src/scripts/monitors/v4l2.lua
-@@ -131,5 +131,9 @@ function createDevice(parent, id, type, factory, properties)
- end
-
- monitor = SpaDevice("api.v4l2.enum.udev", config.properties or {})
--monitor:connect("create-object", createDevice)
--monitor:activate(Feature.SpaDevice.ENABLED)
-+if monitor then
-+ monitor:connect("create-object", createDevice)
-+ monitor:activate(Feature.SpaDevice.ENABLED)
-+else
-+ Log.message("PipeWire's V4L SPA missing or broken. Video4Linux not supported.")
-+end
---
-2.33.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/metadata.xml b/media-video/wireplumber/metadata.xml
index b9b45abb671e..dd2de841af24 100644
--- a/media-video/wireplumber/metadata.xml
+++ b/media-video/wireplumber/metadata.xml
@@ -1,11 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person" proxied="yes">
- <email>89q1r14hd@relay.firefox.com</email>
- <name>Niklāvs Koļesņikovs</name>
- </maintainer>
- <maintainer type="person" proxied="proxy">
+ <maintainer type="person">
<email>sam@gentoo.org</email>
<name>Sam James</name>
</maintainer>
@@ -13,5 +9,9 @@
<bugs-to>https://gitlab.freedesktop.org/pipewire/wireplumber/-/issues</bugs-to>
<changelog>https://gitlab.freedesktop.org/pipewire/wireplumber/-/releases</changelog>
<!--doc>https://gitlab.freedesktop.org/pipewire/wireplumber/-/wikis/home</doc-->
+ <remote-id type="freedesktop-gitlab">pipewire/wireplumber</remote-id>
</upstream>
+ <use>
+ <flag name="system-service">Install systemd unit files for running as a system service. Not recommended.</flag>
+ </use>
</pkgmetadata>
diff --git a/media-video/wireplumber/wireplumber-0.4.17-r1.ebuild b/media-video/wireplumber/wireplumber-0.4.17-r1.ebuild
new file mode 100644
index 000000000000..747c967706dc
--- /dev/null
+++ b/media-video/wireplumber/wireplumber-0.4.17-r1.ebuild
@@ -0,0 +1,122 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# 1. Please regularly check (even at the point of bumping) Fedora's packaging
+# for needed backports at https://src.fedoraproject.org/rpms/wireplumber/tree/rawhide
+#
+# 2. Keep an eye on git master (for both PipeWire and WirePlumber) as things
+# continue to move quickly. It's not uncommon for fixes to be made shortly
+# after releases.
+
+LUA_COMPAT=( lua5-{3,4} )
+
+inherit lua-single meson systemd
+
+if [[ ${PV} == 9999 ]]; then
+ EGIT_REPO_URI="https://gitlab.freedesktop.org/pipewire/${PN}.git"
+ EGIT_BRANCH="master"
+ inherit git-r3
+else
+ SRC_URI="https://gitlab.freedesktop.org/pipewire/${PN}/-/archive/${PV}/${P}.tar.bz2"
+ KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~sparc x86"
+fi
+
+DESCRIPTION="Replacement for pipewire-media-session"
+HOMEPAGE="https://gitlab.freedesktop.org/pipewire/wireplumber"
+
+LICENSE="MIT"
+SLOT="0/0.4"
+IUSE="elogind system-service systemd test"
+
+REQUIRED_USE="
+ ${LUA_REQUIRED_USE}
+ ?? ( elogind systemd )
+ system-service? ( systemd )
+"
+
+RESTRICT="!test? ( test )"
+
+# introspection? ( dev-libs/gobject-introspection ) is valid but likely only used for doc building
+BDEPEND="
+ dev-libs/glib
+ dev-util/gdbus-codegen
+ dev-util/glib-utils
+ sys-devel/gettext
+ test? ( sys-apps/dbus )
+"
+
+DEPEND="
+ ${LUA_DEPS}
+ >=dev-libs/glib-2.62
+ >=media-video/pipewire-0.3.68:=
+ virtual/libintl
+ elogind? ( sys-auth/elogind )
+ systemd? ( sys-apps/systemd )
+"
+
+# Any dev-lua/* deps get declared like this inside RDEPEND:
+# $(lua_gen_cond_dep '
+# dev-lua/<NAME>[${LUA_USEDEP}]
+# ')
+RDEPEND="${DEPEND}
+ system-service? (
+ acct-user/pipewire
+ acct-group/pipewire
+ )
+"
+
+DOCS=( {NEWS,README}.rst )
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.4.15-config-disable-sound-server-parts.patch # defer enabling sound server parts to media-video/pipewire
+)
+
+src_configure() {
+ local emesonargs=(
+ -Ddaemon=true
+ -Dtools=true
+ -Dmodules=true
+ -Ddoc=disabled # Ebuild not wired up yet (Sphinx, Doxygen?)
+ -Dintrospection=disabled # Only used for Sphinx doc generation
+ -Dsystem-lua=true # We always unbundle everything we can
+ -Dsystem-lua-version=$(ver_cut 1-2 $(lua_get_version))
+ $(meson_feature elogind)
+ $(meson_feature systemd)
+ $(meson_use system-service systemd-system-service)
+ $(meson_use systemd systemd-user-service)
+ -Dsystemd-system-unit-dir=$(systemd_get_systemunitdir)
+ -Dsystemd-user-unit-dir=$(systemd_get_userunitdir)
+ $(meson_use test tests)
+ $(meson_use test dbus-tests)
+ )
+
+ meson_src_configure
+}
+
+pkg_postinst() {
+ if systemd_is_booted ; then
+ ewarn "pipewire-media-session.service is no longer installed. You must switch"
+ ewarn "to wireplumber.service user unit before your next logout/reboot:"
+ ewarn "systemctl --user disable pipewire-media-session.service"
+ ewarn "systemctl --user --force enable wireplumber.service"
+ else
+ ewarn "Switch to WirePlumber will happen the next time gentoo-pipewire-launcher"
+ ewarn "is started (a replacement for directly calling pipewire binary)."
+ ewarn
+ ewarn "Please ensure that ${EROOT}/etc/pipewire/pipewire.conf either does not exist"
+ ewarn "or, if it does exist, that any reference to"
+ ewarn "${EROOT}/usr/bin/pipewire-media-session is commented out (begins with a #)."
+ fi
+ if use system-service; then
+ ewarn
+ ewarn "WARNING: you have enabled the system-service USE flag, which installs"
+ ewarn "the system-wide systemd units that enable WirePlumber to run as a system"
+ ewarn "service. This is more than likely NOT what you want. You are strongly"
+ ewarn "advised not to enable this mode and instead stick with systemd user"
+ ewarn "units. The default configuration files will likely not work out of"
+ ewarn "box, and you are on your own with configuration."
+ ewarn
+ fi
+}
diff --git a/media-video/wireplumber/wireplumber-0.4.2-r1.ebuild b/media-video/wireplumber/wireplumber-0.4.2-r1.ebuild
deleted file mode 100644
index dbee3e92073a..000000000000
--- a/media-video/wireplumber/wireplumber-0.4.2-r1.ebuild
+++ /dev/null
@@ -1,89 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-LUA_COMPAT=( lua5-{3,4} )
-
-inherit lua-single meson systemd
-
-if [[ ${PV} == 9999 ]]; then
- EGIT_REPO_URI="https://gitlab.freedesktop.org/pipewire/${PN}.git"
- EGIT_BRANCH="master"
- inherit git-r3
-else
- SRC_URI="https://gitlab.freedesktop.org/pipewire/${PN}/-/archive/${PV}/${P}.tar.gz"
- KEYWORDS="~amd64 ~riscv"
-fi
-
-DESCRIPTION="Replacement for pipewire-media-session"
-HOMEPAGE="https://gitlab.freedesktop.org/pipewire/wireplumber"
-
-LICENSE="MIT"
-SLOT="0/0.4"
-IUSE="systemd test"
-
-REQUIRED_USE="${LUA_REQUIRED_USE}"
-
-RESTRICT="!test? ( test )"
-
-# introspection? ( dev-libs/gobject-introspection ) is valid but likely only used for doc building
-BDEPEND="
- dev-libs/glib
- dev-util/gdbus-codegen
- dev-util/glib-utils
-"
-
-DEPEND="
- ${LUA_DEPS}
- >=dev-libs/glib-2.62
- >=media-video/pipewire-0.3.32
- virtual/libc
- systemd? ( sys-apps/systemd )
-"
-
-# Any dev-lua/* deps get declared like this inside RDEPEND:
-# $(lua_gen_cond_dep '
-# dev-lua/<NAME>[${LUA_USEDEP}]
-# ')
-RDEPEND="${DEPEND}"
-
-DOCS=( {NEWS,README}.rst )
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.4.2-meson-Build-tests-conditionally.patch
- "${FILESDIR}"/${PN}-0.4.2-lua-api-fix-object-constructors-to-fail-gracefully.patch
- "${FILESDIR}"/${PN}-0.4.2-bluez-add-basic-check-for-nil-monitor.patch
- "${FILESDIR}"/${PN}-0.4.2-v4l-add-basic-check-for-nil-monitor.patch
- "${FILESDIR}"/${PN}-0.4.2-lib-wp-device-demote-missing-SPA-warning-to-message.patch
-)
-
-src_configure() {
- local emesonargs=(
- -Dintrospection=disabled # Only used for Sphinx doc generation
- -Dsystem-lua=true # We always unbundle everything we can
- -Dsystem-lua-version=$(ver_cut 1-2 $(lua_get_version))
- $(meson_feature systemd)
- -Dsystemd-system-service=false # Matches upstream
- $(meson_use systemd systemd-user-service)
- -Dsystemd-system-unit-dir=$(systemd_get_systemunitdir)
- -Dsystemd-user-unit-dir=$(systemd_get_userunitdir)
- $(meson_use test tests)
- )
-
- meson_src_configure
-}
-
-pkg_postinst() {
- if systemd_is_booted ; then
- elog "To replace media-session with WirePlumber immediately:"
- elog "systemctl --user disable --now pipewire-media-session.service"
- elog "systemctl --user enable --now wireplumber.service"
- else
- elog "OpenRC users need to copy ${EROOT}/usr/share/pipewire/pipewire.conf"
- elog "to ${EROOT}/etc/pipewire/pipewire.conf and in it replace"
- elog "${EROOT}/usr/bin/pipewire-media-session with ${EROOT}/usr/bin/wireplumber"
- elog "The switch to WirePlumber will happen the next time pipewire is started."
- fi
- elog
-}
diff --git a/media-video/wireplumber/wireplumber-0.4.4.ebuild b/media-video/wireplumber/wireplumber-0.4.4.ebuild
deleted file mode 100644
index bcb971cdf84c..000000000000
--- a/media-video/wireplumber/wireplumber-0.4.4.ebuild
+++ /dev/null
@@ -1,86 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-LUA_COMPAT=( lua5-{3,4} )
-
-inherit lua-single meson systemd
-
-if [[ ${PV} == 9999 ]]; then
- EGIT_REPO_URI="https://gitlab.freedesktop.org/pipewire/${PN}.git"
- EGIT_BRANCH="master"
- inherit git-r3
-else
- SRC_URI="https://gitlab.freedesktop.org/pipewire/${PN}/-/archive/${PV}/${P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
-fi
-
-DESCRIPTION="Replacement for pipewire-media-session"
-HOMEPAGE="https://gitlab.freedesktop.org/pipewire/wireplumber"
-
-LICENSE="MIT"
-SLOT="0/0.4"
-IUSE="elogind systemd test"
-
-REQUIRED_USE="
- ${LUA_REQUIRED_USE}
- ?? ( elogind systemd )
-"
-
-RESTRICT="!test? ( test )"
-
-# introspection? ( dev-libs/gobject-introspection ) is valid but likely only used for doc building
-BDEPEND="
- dev-libs/glib
- dev-util/gdbus-codegen
- dev-util/glib-utils
-"
-
-DEPEND="
- ${LUA_DEPS}
- >=dev-libs/glib-2.62
- >=media-video/pipewire-0.3.37
- virtual/libc
- elogind? ( sys-auth/elogind )
- systemd? ( sys-apps/systemd )
-"
-
-# Any dev-lua/* deps get declared like this inside RDEPEND:
-# $(lua_gen_cond_dep '
-# dev-lua/<NAME>[${LUA_USEDEP}]
-# ')
-RDEPEND="${DEPEND}"
-
-DOCS=( {NEWS,README}.rst )
-
-src_configure() {
- local emesonargs=(
- -Dintrospection=disabled # Only used for Sphinx doc generation
- -Dsystem-lua=true # We always unbundle everything we can
- -Dsystem-lua-version=$(ver_cut 1-2 $(lua_get_version))
- $(meson_feature elogind)
- $(meson_feature systemd)
- -Dsystemd-system-service=false # Matches upstream
- $(meson_use systemd systemd-user-service)
- -Dsystemd-system-unit-dir=$(systemd_get_systemunitdir)
- -Dsystemd-user-unit-dir=$(systemd_get_userunitdir)
- $(meson_use test tests)
- )
-
- meson_src_configure
-}
-
-pkg_postinst() {
- if systemd_is_booted ; then
- elog "To replace media-session with WirePlumber immediately:"
- elog "systemctl --user disable --now pipewire-media-session.service"
- elog "systemctl --user enable --now wireplumber.service"
- else
- elog "OpenRC users need to copy ${EROOT}/usr/share/pipewire/pipewire.conf"
- elog "to ${EROOT}/etc/pipewire/pipewire.conf and in it replace"
- elog "${EROOT}/usr/bin/pipewire-media-session with ${EROOT}/usr/bin/wireplumber"
- elog "The switch to WirePlumber will happen the next time pipewire is started."
- fi
- elog
-}
diff --git a/media-video/wireplumber/wireplumber-0.5.2.ebuild b/media-video/wireplumber/wireplumber-0.5.2.ebuild
new file mode 100644
index 000000000000..ea1b71883dbb
--- /dev/null
+++ b/media-video/wireplumber/wireplumber-0.5.2.ebuild
@@ -0,0 +1,123 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# 1. Please regularly check (even at the point of bumping) Fedora's packaging
+# for needed backports at https://src.fedoraproject.org/rpms/wireplumber/tree/rawhide
+#
+# 2. Keep an eye on git master (for both PipeWire and WirePlumber) as things
+# continue to move quickly. It's not uncommon for fixes to be made shortly
+# after releases.
+
+LUA_COMPAT=( lua5-{3,4} )
+
+inherit lua-single meson systemd
+
+DESCRIPTION="Replacement for pipewire-media-session"
+HOMEPAGE="https://gitlab.freedesktop.org/pipewire/wireplumber"
+
+if [[ ${PV} == 9999 ]]; then
+ EGIT_REPO_URI="https://gitlab.freedesktop.org/pipewire/${PN}.git"
+ EGIT_BRANCH="master"
+ inherit git-r3
+else
+ SRC_URI="https://gitlab.freedesktop.org/pipewire/${PN}/-/archive/${PV}/${P}.tar.bz2"
+ KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+fi
+
+LICENSE="MIT"
+SLOT="0/0.5"
+IUSE="elogind system-service systemd test"
+
+REQUIRED_USE="
+ ${LUA_REQUIRED_USE}
+ ?? ( elogind systemd )
+ system-service? ( systemd )
+"
+
+RESTRICT="!test? ( test )"
+
+# introspection? ( dev-libs/gobject-introspection ) is valid but likely only used for doc building
+BDEPEND="
+ dev-libs/glib
+ dev-util/gdbus-codegen
+ dev-util/glib-utils
+ sys-devel/gettext
+ test? ( sys-apps/dbus )
+"
+DEPEND="
+ ${LUA_DEPS}
+ >=dev-libs/glib-2.68
+ >=media-video/pipewire-1.0.5-r1:=
+ virtual/libintl
+ elogind? ( sys-auth/elogind )
+ systemd? ( sys-apps/systemd )
+"
+RDEPEND="
+ ${DEPEND}
+ system-service? (
+ acct-user/pipewire
+ acct-group/pipewire
+ )
+"
+
+DOCS=( {NEWS,README}.rst )
+
+PATCHES=(
+ # Defer enabling sound server parts to media-video/pipewire
+ # TODO: Soon, we should be able to migrate to just a dropin at
+ # /usr/share. See https://gitlab.freedesktop.org/pipewire/wireplumber/-/issues/652#note_2399735.
+ "${FILESDIR}"/${PN}-0.4.81-config-disable-sound-server-parts.patch
+)
+
+src_configure() {
+ local emesonargs=(
+ -Ddaemon=true
+ -Dtools=true
+ -Dmodules=true
+ # Ebuild not wired up yet (Sphinx, Doxygen?)
+ -Ddoc=disabled
+ # Only used for Sphinx doc generation
+ -Dintrospection=disabled
+ -Dsystem-lua=true
+ -Dsystem-lua-version=$(ver_cut 1-2 $(lua_get_version))
+ $(meson_feature elogind)
+ $(meson_feature systemd)
+ $(meson_use system-service systemd-system-service)
+ $(meson_use systemd systemd-user-service)
+ -Dsystemd-system-unit-dir=$(systemd_get_systemunitdir)
+ -Dsystemd-user-unit-dir=$(systemd_get_userunitdir)
+ $(meson_use test tests)
+ $(meson_use test dbus-tests)
+ )
+
+ meson_src_configure
+}
+
+pkg_postinst() {
+ if systemd_is_booted ; then
+ ewarn "pipewire-media-session.service is no longer installed. You must switch"
+ ewarn "to wireplumber.service user unit before your next logout/reboot:"
+ ewarn "systemctl --user disable pipewire-media-session.service"
+ ewarn "systemctl --user --force enable wireplumber.service"
+ else
+ ewarn "Switch to WirePlumber will happen the next time gentoo-pipewire-launcher"
+ ewarn "is started (a replacement for directly calling pipewire binary)."
+ ewarn
+ ewarn "Please ensure that ${EROOT}/etc/pipewire/pipewire.conf either does not exist"
+ ewarn "or, if it does exist, that any reference to"
+ ewarn "${EROOT}/usr/bin/pipewire-media-session is commented out (begins with a #)."
+ fi
+
+ if use system-service; then
+ ewarn
+ ewarn "WARNING: you have enabled the system-service USE flag, which installs"
+ ewarn "the system-wide systemd units that enable WirePlumber to run as a system"
+ ewarn "service. This is more than likely NOT what you want. You are strongly"
+ ewarn "advised not to enable this mode and instead stick with systemd user"
+ ewarn "units. The default configuration files will likely not work out of"
+ ewarn "box, and you are on your own with configuration."
+ ewarn
+ fi
+}
diff --git a/media-video/wireplumber/wireplumber-9999.ebuild b/media-video/wireplumber/wireplumber-9999.ebuild
index bcb971cdf84c..ea1b71883dbb 100644
--- a/media-video/wireplumber/wireplumber-9999.ebuild
+++ b/media-video/wireplumber/wireplumber-9999.ebuild
@@ -1,31 +1,39 @@
-# 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
+
+# 1. Please regularly check (even at the point of bumping) Fedora's packaging
+# for needed backports at https://src.fedoraproject.org/rpms/wireplumber/tree/rawhide
+#
+# 2. Keep an eye on git master (for both PipeWire and WirePlumber) as things
+# continue to move quickly. It's not uncommon for fixes to be made shortly
+# after releases.
LUA_COMPAT=( lua5-{3,4} )
inherit lua-single meson systemd
+DESCRIPTION="Replacement for pipewire-media-session"
+HOMEPAGE="https://gitlab.freedesktop.org/pipewire/wireplumber"
+
if [[ ${PV} == 9999 ]]; then
EGIT_REPO_URI="https://gitlab.freedesktop.org/pipewire/${PN}.git"
EGIT_BRANCH="master"
inherit git-r3
else
- SRC_URI="https://gitlab.freedesktop.org/pipewire/${PN}/-/archive/${PV}/${P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+ SRC_URI="https://gitlab.freedesktop.org/pipewire/${PN}/-/archive/${PV}/${P}.tar.bz2"
+ KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
fi
-DESCRIPTION="Replacement for pipewire-media-session"
-HOMEPAGE="https://gitlab.freedesktop.org/pipewire/wireplumber"
-
LICENSE="MIT"
-SLOT="0/0.4"
-IUSE="elogind systemd test"
+SLOT="0/0.5"
+IUSE="elogind system-service systemd test"
REQUIRED_USE="
${LUA_REQUIRED_USE}
?? ( elogind systemd )
+ system-service? ( systemd )
"
RESTRICT="!test? ( test )"
@@ -35,37 +43,53 @@ BDEPEND="
dev-libs/glib
dev-util/gdbus-codegen
dev-util/glib-utils
+ sys-devel/gettext
+ test? ( sys-apps/dbus )
"
-
DEPEND="
${LUA_DEPS}
- >=dev-libs/glib-2.62
- >=media-video/pipewire-0.3.37
- virtual/libc
+ >=dev-libs/glib-2.68
+ >=media-video/pipewire-1.0.5-r1:=
+ virtual/libintl
elogind? ( sys-auth/elogind )
systemd? ( sys-apps/systemd )
"
-
-# Any dev-lua/* deps get declared like this inside RDEPEND:
-# $(lua_gen_cond_dep '
-# dev-lua/<NAME>[${LUA_USEDEP}]
-# ')
-RDEPEND="${DEPEND}"
+RDEPEND="
+ ${DEPEND}
+ system-service? (
+ acct-user/pipewire
+ acct-group/pipewire
+ )
+"
DOCS=( {NEWS,README}.rst )
+PATCHES=(
+ # Defer enabling sound server parts to media-video/pipewire
+ # TODO: Soon, we should be able to migrate to just a dropin at
+ # /usr/share. See https://gitlab.freedesktop.org/pipewire/wireplumber/-/issues/652#note_2399735.
+ "${FILESDIR}"/${PN}-0.4.81-config-disable-sound-server-parts.patch
+)
+
src_configure() {
local emesonargs=(
- -Dintrospection=disabled # Only used for Sphinx doc generation
- -Dsystem-lua=true # We always unbundle everything we can
+ -Ddaemon=true
+ -Dtools=true
+ -Dmodules=true
+ # Ebuild not wired up yet (Sphinx, Doxygen?)
+ -Ddoc=disabled
+ # Only used for Sphinx doc generation
+ -Dintrospection=disabled
+ -Dsystem-lua=true
-Dsystem-lua-version=$(ver_cut 1-2 $(lua_get_version))
$(meson_feature elogind)
$(meson_feature systemd)
- -Dsystemd-system-service=false # Matches upstream
+ $(meson_use system-service systemd-system-service)
$(meson_use systemd systemd-user-service)
-Dsystemd-system-unit-dir=$(systemd_get_systemunitdir)
-Dsystemd-user-unit-dir=$(systemd_get_userunitdir)
$(meson_use test tests)
+ $(meson_use test dbus-tests)
)
meson_src_configure
@@ -73,14 +97,27 @@ src_configure() {
pkg_postinst() {
if systemd_is_booted ; then
- elog "To replace media-session with WirePlumber immediately:"
- elog "systemctl --user disable --now pipewire-media-session.service"
- elog "systemctl --user enable --now wireplumber.service"
+ ewarn "pipewire-media-session.service is no longer installed. You must switch"
+ ewarn "to wireplumber.service user unit before your next logout/reboot:"
+ ewarn "systemctl --user disable pipewire-media-session.service"
+ ewarn "systemctl --user --force enable wireplumber.service"
else
- elog "OpenRC users need to copy ${EROOT}/usr/share/pipewire/pipewire.conf"
- elog "to ${EROOT}/etc/pipewire/pipewire.conf and in it replace"
- elog "${EROOT}/usr/bin/pipewire-media-session with ${EROOT}/usr/bin/wireplumber"
- elog "The switch to WirePlumber will happen the next time pipewire is started."
+ ewarn "Switch to WirePlumber will happen the next time gentoo-pipewire-launcher"
+ ewarn "is started (a replacement for directly calling pipewire binary)."
+ ewarn
+ ewarn "Please ensure that ${EROOT}/etc/pipewire/pipewire.conf either does not exist"
+ ewarn "or, if it does exist, that any reference to"
+ ewarn "${EROOT}/usr/bin/pipewire-media-session is commented out (begins with a #)."
+ fi
+
+ if use system-service; then
+ ewarn
+ ewarn "WARNING: you have enabled the system-service USE flag, which installs"
+ ewarn "the system-wide systemd units that enable WirePlumber to run as a system"
+ ewarn "service. This is more than likely NOT what you want. You are strongly"
+ ewarn "advised not to enable this mode and instead stick with systemd user"
+ ewarn "units. The default configuration files will likely not work out of"
+ ewarn "box, and you are on your own with configuration."
+ ewarn
fi
- elog
}
diff --git a/media-video/x264-encoder/Manifest b/media-video/x264-encoder/Manifest
index c1e5f3cbddf9..b95b528c7338 100644
--- a/media-video/x264-encoder/Manifest
+++ b/media-video/x264-encoder/Manifest
@@ -1 +1,2 @@
-DIST x264-snapshot-20190903-2245.tar.bz2 774515 BLAKE2B 0b19fc1d3cedea32bfac9c5247bce7b3c04dead35458d61f3b5c0694040dc852b0110b620faf4118ed265a5605aafce3c49d468d38fb91e4c515b2860c486920 SHA512 c357c9025ffdf653c974eb7ccc2e9a4de86c02881372a6a8270ae59ce948c284da48a2aba37763bd29359d2a6dfc76ea56a52fed6082f8483912c8f948488a2d
+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/files/gpac.patch b/media-video/x264-encoder/files/gpac.patch
deleted file mode 100644
index 94da64cf9d40..000000000000
--- a/media-video/x264-encoder/files/gpac.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: x264-snapshot-20150820-2245/configure
-===================================================================
---- x264-snapshot-20150820-2245.orig/configure
-+++ x264-snapshot-20150820-2245/configure
-@@ -1086,7 +1086,7 @@ fi
-
- if [ "$gpac" = "auto" -a "$lsmash" != "yes" ] ; then
- gpac="no"
-- GPAC_LIBS="-lgpac_static"
-+ GPAC_LIBS="-lgpac"
- cc_check "" -lz && GPAC_LIBS="$GPAC_LIBS -lz"
- if [ "$SYS" = "WINDOWS" ] ; then
- cc_check "" -lws2_32 && GPAC_LIBS="$GPAC_LIBS -lws2_32"
diff --git a/media-video/x264-encoder/x264-encoder-0.0.20190903.ebuild b/media-video/x264-encoder/x264-encoder-0.0.20220222.ebuild
index 8c3910308498..7be6d065c869 100644
--- a/media-video/x264-encoder/x264-encoder-0.0.20190903.ebuild
+++ b/media-video/x264-encoder/x264-encoder-0.0.20220222.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -12,10 +12,10 @@ if [[ ${PV} == 9999 ]]; then
EGIT_REPO_URI="https://code.videolan.org/videolan/x264.git"
SRC_URI=""
else
- MY_P="x264-snapshot-$(ver_cut 3)-2245"
- SRC_URI="http://download.videolan.org/pub/videolan/x264/snapshots/${MY_P}.tar.bz2"
+ # 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"
KEYWORDS="~alpha amd64 ~ppc ~ppc64 ~sparc x86"
- S="${WORKDIR}/${MY_P}"
+ S="${WORKDIR}/x264-master"
fi
LICENSE="GPL-2"
@@ -33,12 +33,9 @@ RDEPEND="
ASM_DEP=">=dev-lang/nasm-2.13"
DEPEND="${RDEPEND}
amd64? ( ${ASM_DEP} )
- x86? ( ${ASM_DEP} )
- x86-fbsd? ( ${ASM_DEP} )"
+ x86? ( ${ASM_DEP} )"
BDEPEND="virtual/pkgconfig"
-PATCHES=( "${FILESDIR}/gpac.patch" )
-
src_configure() {
tc-export CC
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 13b167268ffb..f688e3cb2d4e 100644
--- a/media-video/x264-encoder/x264-encoder-9999.ebuild
+++ b/media-video/x264-encoder/x264-encoder-9999.ebuild
@@ -1,44 +1,44 @@
-# Copyright 1999-2020 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
- MY_P="x264-snapshot-$(ver_cut 3)-2245"
- SRC_URI="http://download.videolan.org/pub/videolan/x264/snapshots/${MY_P}.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}/${MY_P}"
+ 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-fbsd? ( ${ASM_DEP} )"
+"
BDEPEND="virtual/pkgconfig"
-PATCHES=( "${FILESDIR}/gpac.patch" )
-
src_configure() {
tc-export CC
diff --git a/media-video/xine-ui/Manifest b/media-video/xine-ui/Manifest
index 51b189beb218..da5c7493057a 100644
--- a/media-video/xine-ui/Manifest
+++ b/media-video/xine-ui/Manifest
@@ -1 +1 @@
-DIST xine-ui-0.99.12.tar.xz 1980672 BLAKE2B ac1a9b17b48005c667d53129e51f4db2cfe2933c0fca9ba8b6f1d999f903568217a061c84806abfec31d4afcc238579c232a1ae6f4b04afcac465c340826f037 SHA512 bc04cb8df730abce147485b488250331a304e4318fc28ebab890c6485242a5edeafd953547c637622e2312c65aa1e36aaae6117d608dd668781d841804f2ae86
+DIST xine-ui-0.99.13.tar.xz 2156892 BLAKE2B edb4cb082faeba5f9f64ea06f6561d471fddfc7672dd92ec1a0a99b5c8eb10f46c15df2044fa2a4eaafdeab1fa56d990afa443f912602fdc676d1e34e3cf6c84 SHA512 a0802d767a805c462f7ae05fa5c4860af5c281ffa74c70a6c2c8a3ecbf8060e6f3f40fed215e27a823985c7d5c3484715cbbe5e4bf43655353f59fa2230b41e7
diff --git a/media-video/xine-ui/files/xine-ui-0.99.13-build.patch b/media-video/xine-ui/files/xine-ui-0.99.13-build.patch
new file mode 100644
index 000000000000..dc24720d97da
--- /dev/null
+++ b/media-video/xine-ui/files/xine-ui-0.99.13-build.patch
@@ -0,0 +1,43 @@
+hg diff -r e352b6eef94b6441f4afc86f96abe247acc2a60b -r f9a98e02460348ca23ca2f5c2b39e62c8758b22d
+https://sourceforge.net/p/xine/xine-ui/ci/e352b6eef94b6441f4afc86f96abe247acc2a60b/
+https://sourceforge.net/p/xine/tickets/10/
+https://bugs.gentoo.org/871951
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -600,8 +600,10 @@ int n = my_strlen ("what");
+ ])], [have_attr_iaso=yes], [have_attr_iaso=no])
+ AC_MSG_RESULT([$have_attr_iaso])
+ if test x"$have_attr_iaso" = x"yes" ; then
+- AC_DEFINE([ATTR_INLINE_ALL_STRINGOPS],
+- [__attribute__ ((__target__ ("inline-all-stringops")))],
++ AC_DEFINE([ATTR_INLINE_ALL_STRINGOPS], [__attribute__ ((__target__ ("inline-all-stringops")))],
++ [Define this to a function attribute that inlines string handling code])
++else
++ AC_DEFINE([ATTR_INLINE_ALL_STRINGOPS], [],
+ [Define this to a function attribute that inlines string handling code])
+ fi
+
+--- a/src/common/utils.h
++++ b/src/common/utils.h
+@@ -21,7 +21,7 @@
+ #ifndef _COMMON_UTILS_H
+ #define _COMMON_UTILS_H
+
+-#ifndef HAVE_CONFIG_H
++#ifndef PACKAGE_NAME
+ #error config.h not included
+ #endif
+
+--- a/src/xitk/network.c
++++ b/src/xitk/network.c
+@@ -34,7 +34,9 @@
+
+ //#warning IMPLEMENT POST SUPPORT
+
++#ifdef HAVE_CONFIG_H
+ #include "config.h"
++#endif
+
+ #ifdef HAVE_READLINE
+
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..05f2cd37a707
--- /dev/null
+++ b/media-video/xine-ui/xine-ui-0.99.13-r1.ebuild
@@ -0,0 +1,90 @@
+# Copyright 1999-2024 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="https://downloads.sourceforge.net/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.12.ebuild b/media-video/xine-ui/xine-ui-0.99.13.ebuild
index b1fc0d1b3e5c..b72e8c700ecb 100644
--- a/media-video/xine-ui/xine-ui-0.99.12.ebuild
+++ b/media-video/xine-ui/xine-ui-0.99.13.ebuild
@@ -1,17 +1,17 @@
-# 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 gnome2-utils xdg-utils
+inherit autotools xdg
DESCRIPTION="Xine movie player"
HOMEPAGE="https://xine-project.org/home"
-SRC_URI="mirror://sourceforge/xine/${P}.tar.xz"
+SRC_URI="https://downloads.sourceforge.net/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="
@@ -50,6 +50,7 @@ DEPEND="${RDEPEND}
PATCHES=(
"${FILESDIR}"/${PN}-0.99.10-desktop.patch
+ "${FILESDIR}"/${P}-build.patch
)
src_prepare() {
@@ -86,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 c4e53a88f0f0..a67cb0a8f277 100644
--- a/media-video/yle-dl/Manifest
+++ b/media-video/yle-dl/Manifest
@@ -1 +1,2 @@
-DIST yle-dl-20210917.tar.gz 66746 BLAKE2B 91849a5d88615fc01f12ac19cd6c5bc3acf40548c5c024eff6141b6996d0b7b2c9363d1a2d2820cd61f99105fdd1bca835506ba199bf05d2a3b537dc88f41f10 SHA512 a26d4516f932561fe49da4a2c5e7dbc5eb65bcc4e5a7073f3636b70825c54fa9ba74feea55b3f6fcc538f4a300f99262eb4f26ba1e73efd56ff612a86971ac81
+DIST yle-dl-20240130.tar.gz 77787 BLAKE2B b0dd82813a3defb6305cd5b6529d5c5558a0c82d7c8ba9714e836b1d98a09bdad27882c975ca8a98b26a6188194157586fef882437c486bf4c7f480677fc386f SHA512 d803c6703987f4fbd787c608830398ff4081407349146d7fc98de2387f0313e6354b27b1c6d3de14a7a4bc7d44c30d05c63708cc7f780a7534e15f193f988138
+DIST yle-dl-20240429.tar.gz 78464 BLAKE2B d42eaf30bb93125c00007072c1c96fbadccc755bbac3bd11599b58a7b5aad2b1fc0ab06aadfb83a3c66155f7fe1d271f54ad929ea3047758b8719987b74800fa SHA512 73a0eedbfafe97ab9c9857c088d309462e70f916de78be0d2b5399cec8ad50bee5701f0748d07e92dc2c3dca2a73273f367948dd7dd571dd022bce68bcc5f010
diff --git a/media-video/yle-dl/metadata.xml b/media-video/yle-dl/metadata.xml
index 42361307323b..bbd655996511 100644
--- a/media-video/yle-dl/metadata.xml
+++ b/media-video/yle-dl/metadata.xml
@@ -6,4 +6,7 @@
<name>Joonas Niilola</name>
</maintainer>
<stabilize-allarches/>
+ <upstream>
+ <remote-id type="github">aajanki/yle-dl</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/media-video/yle-dl/yle-dl-20210917.ebuild b/media-video/yle-dl/yle-dl-20240130.ebuild
index 1e5ecd0a0abd..d879b645e845 100644
--- a/media-video/yle-dl/yle-dl-20210917.ebuild
+++ b/media-video/yle-dl/yle-dl-20240130.ebuild
@@ -1,17 +1,18 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{8..10} )
+PYTHON_COMPAT=( python3_{10..12} )
+DISTUTILS_USE_PEP517=flit
inherit distutils-r1 optfeature
DESCRIPTION="Download media files from Yle Areena"
HOMEPAGE="https://aajanki.github.io/yle-dl/ https://github.com/aajanki/yle-dl"
-SRC_URI="https://github.com/aajanki/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+SRC_URI="https://github.com/aajanki/yle-dl/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
-LICENSE="GPL-3"
+LICENSE="GPL-3+"
SLOT="0"
KEYWORDS="amd64 x86"
@@ -25,7 +26,7 @@ RESTRICT="test"
RDEPEND="media-video/ffmpeg
net-misc/wget
>=dev-python/attrs-18.1.0[${PYTHON_USEDEP}]
- >=dev-python/configargparse-0.13.0[${PYTHON_USEDEP}]
+ >=dev-python/ConfigArgParse-0.13.0[${PYTHON_USEDEP}]
dev-python/lxml[${PYTHON_USEDEP}]
dev-python/progress[${PYTHON_USEDEP}]
dev-python/requests[${PYTHON_USEDEP}]"
@@ -37,9 +38,9 @@ BDEPEND="test? (
dev-python/wheel[${PYTHON_USEDEP}]
)"
-distutils_enable_tests setup.py
+distutils_enable_tests pytest
-DOCS=( COPYING ChangeLog README.fi 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"
@@ -50,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 "youtube-dl download engine" net-misc/youtube-dl
+ optfeature "automatically detect filesystems that require restricted character sets" dev-python/psutil
+ optfeature "store metadata as extended file attributes" dev-python/pyxattr
+ optfeature "youtube-dl download engine" net-misc/yt-dlp
}
diff --git a/media-video/yle-dl/yle-dl-20240429.ebuild b/media-video/yle-dl/yle-dl-20240429.ebuild
new file mode 100644
index 000000000000..d879b645e845
--- /dev/null
+++ b/media-video/yle-dl/yle-dl-20240429.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+DISTUTILS_USE_PEP517=flit
+
+inherit distutils-r1 optfeature
+
+DESCRIPTION="Download media files from Yle Areena"
+HOMEPAGE="https://aajanki.github.io/yle-dl/ https://github.com/aajanki/yle-dl"
+SRC_URI="https://github.com/aajanki/yle-dl/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+IUSE="test"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+# Requires an active internet connection during tests,
+PROPERTIES="test_network"
+RESTRICT="test"
+
+RDEPEND="media-video/ffmpeg
+ net-misc/wget
+ >=dev-python/attrs-18.1.0[${PYTHON_USEDEP}]
+ >=dev-python/ConfigArgParse-0.13.0[${PYTHON_USEDEP}]
+ dev-python/lxml[${PYTHON_USEDEP}]
+ dev-python/progress[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]"
+BDEPEND="test? (
+ ${RDEPEND}
+ media-video/ffmpeg[gnutls]
+ dev-python/pip[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/wheel[${PYTHON_USEDEP}]
+ )"
+
+distutils_enable_tests pytest
+
+DOCS=( COPYING ChangeLog README.fi.md README.sv.md README.md yledl.conf.sample )
+
+src_install() {
+ docompress -x "/usr/share/doc/${PF}/yledl.conf.sample"
+ distutils-r1_src_install
+}
+
+pkg_postinst() {
+ elog "Sample configuration file has been installed to "
+ elog " /usr/share/doc/yle-dl-${PVR}/yledl.conf.sample"
+ elog
+ optfeature "automatically detect filesystems that require restricted character sets" dev-python/psutil
+ optfeature "store metadata as extended file attributes" dev-python/pyxattr
+ optfeature "youtube-dl download engine" net-misc/yt-dlp
+}