summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'media-video')
-rw-r--r--media-video/aegisub/aegisub-9999.ebuild3
-rw-r--r--media-video/bino/bino-2.0.ebuild2
-rw-r--r--media-video/bluray_info/Manifest1
-rw-r--r--media-video/bluray_info/bluray_info-1.10.ebuild24
-rw-r--r--media-video/bluray_info/metadata.xml16
-rw-r--r--media-video/cheese/Manifest3
-rw-r--r--media-video/cheese/cheese-41.1.ebuild100
-rw-r--r--media-video/cheese/cheese-44.0.1.ebuild (renamed from media-video/cheese/cheese-43.0.ebuild)4
-rw-r--r--media-video/cheese/files/41.1-thumb-view-update-for-new-gnome-desktop-API.patch49
-rw-r--r--media-video/cheese/files/cheese-3.38.0-buildfix.patch17
-rw-r--r--media-video/dirac/dirac-1.0.2-r2.ebuild2
-rw-r--r--media-video/droidcam/Manifest4
-rw-r--r--media-video/droidcam/droidcam-1.9.0.ebuild (renamed from media-video/droidcam/droidcam-1.8.2_p20220831.ebuild)8
-rw-r--r--media-video/droidcam/droidcam-2.0.0-r1.ebuild (renamed from media-video/droidcam/droidcam-1.8.2-r1.ebuild)19
-rw-r--r--media-video/droidcam/files/droidcam-1.8.2-makefile-fixes.patch61
-rw-r--r--media-video/droidcam/files/droidcam-2.0.0-libusbmuxd-20.patch13
-rw-r--r--media-video/dvdauthor/dvdauthor-0.7.2-r2.ebuild6
-rw-r--r--media-video/dvdauthor/files/dvdauthor-0.7.2-freetype-pkgconfig.patch (renamed from media-video/dvdauthor/files/dvdauthor-freetype_pkgconfig.patch)2
-rw-r--r--media-video/dvdauthor/metadata.xml1
-rw-r--r--media-video/dvdbackup/dvdbackup-0.4.2-r2.ebuild2
-rw-r--r--media-video/ffdiaporama/Manifest9
-rw-r--r--media-video/ffdiaporama/ffdiaporama-2.2_pre20140701-r2.ebuild77
-rw-r--r--media-video/ffdiaporama/ffdiaporama-2.2_pre20221007.ebuild4
-rw-r--r--media-video/ffdiaporama/ffdiaporama-2.2_pre20230525.ebuild (renamed from media-video/ffdiaporama/ffdiaporama-2.2_pre20220403.ebuild)6
-rw-r--r--media-video/ffdiaporama/metadata.xml2
-rw-r--r--media-video/ffmpeg-chromium/Manifest2
-rw-r--r--media-video/ffmpeg-chromium/ffmpeg-chromium-102.ebuild1
-rw-r--r--media-video/ffmpeg-chromium/ffmpeg-chromium-106.ebuild3
-rw-r--r--media-video/ffmpeg-chromium/ffmpeg-chromium-112.ebuild236
-rw-r--r--media-video/ffmpeg-chromium/ffmpeg-chromium-114.ebuild236
-rw-r--r--media-video/ffmpeg-chromium/files/ffmpeg-chromium-vk-headers.patch36
-rw-r--r--media-video/ffmpeg-chromium/metadata.xml1
-rw-r--r--media-video/ffmpeg/Manifest7
-rw-r--r--media-video/ffmpeg/ffmpeg-4.2.7.ebuild6
-rw-r--r--media-video/ffmpeg/ffmpeg-4.2.8.ebuild6
-rw-r--r--media-video/ffmpeg/ffmpeg-4.2.9.ebuild555
-rw-r--r--media-video/ffmpeg/ffmpeg-4.4.3.ebuild7
-rw-r--r--media-video/ffmpeg/ffmpeg-4.4.4-r2.ebuild600
-rw-r--r--media-video/ffmpeg/ffmpeg-5.1.2-r2.ebuild600
-rw-r--r--media-video/ffmpeg/ffmpeg-5.1.3.ebuild (renamed from media-video/ffmpeg/ffmpeg-5.1.2-r1.ebuild)11
-rw-r--r--media-video/ffmpeg/ffmpeg-6.0-r1.ebuild600
-rw-r--r--media-video/ffmpeg/ffmpeg-9999.ebuild14
-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-wint-conversion-vulkan.patch30
-rw-r--r--media-video/ffmpeg/files/ffmpeg-5.1.2-get_cabac_inline_x86-32-bit.patch25
-rw-r--r--media-video/ffmpeg/files/ffmpeg-5.1.2-vulkan.patch33
-rw-r--r--media-video/ffmpeg/files/ffmpeg-6.0-DECLARE_ALIGNED.patch29
-rw-r--r--media-video/ffmpeg/metadata.xml1
-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/ffmpegthumbnailer/ffmpegthumbnailer-2.2.2-r1.ebuild2
-rw-r--r--media-video/ffmpegthumbnailer/ffmpegthumbnailer-2.2.2.ebuild49
-rw-r--r--media-video/gaupol/Manifest1
-rw-r--r--media-video/gaupol/files/gaupol-1.12-fix-prefix.patch30
-rw-r--r--media-video/gaupol/gaupol-1.12.ebuild69
-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/gpac/Manifest1
-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.2.0.ebuild146
-rw-r--r--media-video/gpac/gpac-9999.ebuild21
-rw-r--r--media-video/handbrake/files/handbrake-9999-dont-search-for-python.patch26
-rw-r--r--media-video/handbrake/handbrake-1.4.2-r2.ebuild2
-rw-r--r--media-video/handbrake/handbrake-1.5.1-r1.ebuild (renamed from media-video/handbrake/handbrake-1.5.1.ebuild)3
-rw-r--r--media-video/handbrake/handbrake-9999.ebuild31
-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/ffmpeg2theora/metadata.xml)4
-rw-r--r--media-video/jellyfin-media-player/Manifest3
-rw-r--r--media-video/jellyfin-media-player/jellyfin-media-player-1.8.1.ebuild85
-rw-r--r--media-video/jellyfin-media-player/jellyfin-media-player-1.9.0.ebuild69
-rw-r--r--media-video/jellyfin-media-player/jellyfin-media-player-1.9.1.ebuild69
-rw-r--r--media-video/jellyfin-media-player/metadata.xml3
-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.xml11
-rw-r--r--media-video/jellyfin-web-jmp-bin/Manifest1
-rw-r--r--media-video/jellyfin-web-jmp-bin/jellyfin-web-jmp-bin-10.8.9.ebuild24
-rw-r--r--media-video/jellyfin-web-jmp-bin/metadata.xml3
-rw-r--r--media-video/libva-utils/Manifest4
-rw-r--r--media-video/libva-utils/files/libva-utils-2.15.0-fix-threads-option.patch29
-rw-r--r--media-video/libva-utils/libva-utils-2.14.0.ebuild96
-rw-r--r--media-video/libva-utils/libva-utils-2.15.0.ebuild95
-rw-r--r--media-video/libva-utils/libva-utils-2.18.2.ebuild (renamed from media-video/libva-utils/libva-utils-2.16.0.ebuild)18
-rw-r--r--media-video/libva-utils/libva-utils-9999.ebuild18
-rw-r--r--media-video/makemkv/Manifest4
-rw-r--r--media-video/makemkv/makemkv-1.17.3.ebuild (renamed from media-video/makemkv/makemkv-1.17.2.ebuild)2
-rw-r--r--media-video/mediainfo/Manifest2
-rw-r--r--media-video/mediainfo/mediainfo-22.09.ebuild7
-rw-r--r--media-video/mediainfo/mediainfo-23.03.ebuild92
-rw-r--r--media-video/mediainfo/mediainfo-23.04.ebuild92
-rw-r--r--media-video/mkvtoolnix/Manifest1
-rw-r--r--media-video/mkvtoolnix/mkvtoolnix-75.0.0.ebuild135
-rw-r--r--media-video/mkvtoolnix/mkvtoolnix-9999.ebuild7
-rw-r--r--media-video/motion/Manifest1
-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.3.2-r3.ebuild (renamed from media-video/motion/motion-4.3.2-r1.ebuild)2
-rw-r--r--media-video/motion/motion-4.5.1-r2.ebuild86
-rw-r--r--media-video/mpgtx/mpgtx-1.3.1-r2.ebuild2
-rw-r--r--media-video/mplayer/Manifest1
-rw-r--r--media-video/mplayer/files/prepare_mplayer.sh42
-rw-r--r--media-video/mplayer/mplayer-1.5.ebuild3
-rw-r--r--media-video/mplayer/mplayer-1.5_p20230215.ebuild631
-rw-r--r--media-video/mplayer/mplayer-9999.ebuild12
-rw-r--r--media-video/mpv/Manifest3
-rw-r--r--media-video/mpv/files/mpv-0.35.1-yt-dlp-edl-fragments.patch55
-rw-r--r--media-video/mpv/metadata.xml3
-rw-r--r--media-video/mpv/mpv-0.34.1-r1.ebuild359
-rw-r--r--media-video/mpv/mpv-0.35.0-r1.ebuild303
-rw-r--r--media-video/mpv/mpv-0.35.1-r1.ebuild (renamed from media-video/mpv/mpv-0.35.1.ebuild)21
-rw-r--r--media-video/mpv/mpv-9999.ebuild43
-rw-r--r--media-video/noad/Manifest1
-rw-r--r--media-video/noad/noad-0.8.7-r1.ebuild (renamed from media-video/noad/noad-0.8.7.ebuild)5
-rw-r--r--media-video/noad/noad-0.8.8.ebuild69
-rw-r--r--media-video/obs-studio/Manifest10
-rw-r--r--media-video/obs-studio/obs-studio-29.0.2.ebuild (renamed from media-video/obs-studio/obs-studio-29.0.0-r1.ebuild)2
-rw-r--r--media-video/obs-studio/obs-studio-29.1.1.ebuild (renamed from media-video/obs-studio/obs-studio-28.1.2-r1.ebuild)37
-rw-r--r--media-video/obs-studio/obs-studio-9999.ebuild36
-rw-r--r--media-video/openshot/openshot-2.6.1.ebuild16
-rw-r--r--media-video/parole/Manifest2
-rw-r--r--media-video/parole/parole-4.18.0.ebuild (renamed from media-video/parole/parole-4.16.0.ebuild)26
-rw-r--r--media-video/pipewire/Manifest7
-rw-r--r--media-video/pipewire/files/0.3.64/0001-spa-Fix-audioconvert-overflow-when-scaling.patch65
-rw-r--r--media-video/pipewire/files/0.3.64/0002-filter-chain-fix-AVX-dsp_sum-index-increment.patch22
-rw-r--r--media-video/pipewire/files/0.3.64/0003-keys-don-t-remove-deprecated-symbols-by-default.patch61
-rw-r--r--media-video/pipewire/files/0.3.65/0001-modules-also-install-module-combine-stream.patch21
-rw-r--r--media-video/pipewire/files/0.3.65/0002-spa-bluez5-fix-dependency-on-glib-in-bluez5_deps.patch28
-rw-r--r--media-video/pipewire/files/0.3.69/0001-context-improve-state-calculations.patch59
-rw-r--r--media-video/pipewire/files/0.3.69/0002-revert-alsa-mixer-control-element.patch38
-rw-r--r--media-video/pipewire/files/0.3.69/0003-filter-chain-biquads.patch21
-rw-r--r--media-video/pipewire/files/0.3.70/parser-check-pointer.patch21
-rw-r--r--media-video/pipewire/files/0.3.71/jack-update-bufsize-samplerate.patch46
-rw-r--r--media-video/pipewire/files/gentoo-pipewire-launcher.in-r152
-rw-r--r--media-video/pipewire/files/pipewire-0.3.63-alsa-node-target.patch28
-rw-r--r--media-video/pipewire/files/pipewire-0.3.63-bluetooth-typo.patch21
-rw-r--r--media-video/pipewire/files/pipewire-0.3.63-bluez-ldac_abr.patch22
-rw-r--r--media-video/pipewire/files/pipewire-0.3.63-rate-update.patch39
-rw-r--r--media-video/pipewire/pipewire-0.3.67.ebuild (renamed from media-video/pipewire/pipewire-0.3.63-r3.ebuild)285
-rw-r--r--media-video/pipewire/pipewire-0.3.69-r1.ebuild (renamed from media-video/pipewire/pipewire-0.3.65-r3.ebuild)250
-rw-r--r--media-video/pipewire/pipewire-0.3.70-r2.ebuild474
-rw-r--r--media-video/pipewire/pipewire-0.3.70.ebuild (renamed from media-video/pipewire/pipewire-0.3.64-r2.ebuild)275
-rw-r--r--media-video/pipewire/pipewire-0.3.71-r1.ebuild (renamed from media-video/pipewire/pipewire-0.3.64.ebuild)291
-rw-r--r--media-video/pipewire/pipewire-9999.ebuild277
-rw-r--r--media-video/pitivi/Manifest2
-rw-r--r--media-video/pitivi/pitivi-2023.03-r1.ebuild (renamed from media-video/pitivi/pitivi-2022.06.ebuild)2
-rw-r--r--media-video/qmplay2/Manifest2
-rw-r--r--media-video/qmplay2/files/qmplay2-23.02.05-fix-libva-glx.patch13
-rw-r--r--media-video/qmplay2/metadata.xml1
-rw-r--r--media-video/qmplay2/qmplay2-23.02.05.ebuild (renamed from media-video/qmplay2/qmplay2-22.08.21.ebuild)8
-rw-r--r--media-video/rav1e/Manifest272
-rw-r--r--media-video/rav1e/rav1e-0.6.3.ebuild285
-rw-r--r--media-video/rav1e/rav1e-0.6.5.ebuild309
-rw-r--r--media-video/rav1e/rav1e-9999.ebuild257
-rw-r--r--media-video/shotcut/Manifest2
-rw-r--r--media-video/shotcut/shotcut-22.12.21.ebuild (renamed from media-video/shotcut/shotcut-22.04.25-r1.ebuild)29
-rw-r--r--media-video/simplescreenrecorder/simplescreenrecorder-0.4.4-r2.ebuild (renamed from media-video/simplescreenrecorder/simplescreenrecorder-0.4.4-r1.ebuild)4
-rw-r--r--media-video/simplescreenrecorder/simplescreenrecorder-0.4.4.ebuild99
-rw-r--r--media-video/simplescreenrecorder/simplescreenrecorder-9999.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.ebuild95
-rw-r--r--media-video/subliminal/subliminal-9999.ebuild20
-rw-r--r--media-video/subtitlecomposer/Manifest1
-rw-r--r--media-video/subtitlecomposer/files/subtitlecomposer-0.7.1-ffmpeg-5.patch65
-rw-r--r--media-video/subtitlecomposer/files/subtitlecomposer-0.7.1-gles-support.patch122
-rw-r--r--media-video/subtitlecomposer/files/subtitlecomposer-0.7.1-tests-optional.patch27
-rw-r--r--media-video/subtitlecomposer/subtitlecomposer-0.7.1-r1.ebuild (renamed from media-video/subtitlecomposer/subtitlecomposer-0.7.1.ebuild)24
-rw-r--r--media-video/vamps/files/vamps-0.99.2-musl.patch146
-rw-r--r--media-video/vamps/vamps-0.99.2-r2.ebuild3
-rw-r--r--media-video/vcsi/vcsi-7.0.13-r1.ebuild2
-rw-r--r--media-video/vdr/Manifest3
-rw-r--r--media-video/vdr/vdr-2.6.3.ebuild2
-rw-r--r--media-video/vdr/vdr-2.6.4.ebuild (renamed from media-video/vdr/vdr-2.6.1.ebuild)12
-rw-r--r--media-video/vidcutter/Manifest1
-rw-r--r--media-video/vidcutter/vidcutter-6.0.5.1_p20230201.ebuild45
-rw-r--r--media-video/vidcutter/vidcutter-9999.ebuild5
-rw-r--r--media-video/vidify/vidify-2.2.6-r3.ebuild2
-rw-r--r--media-video/vlc/Manifest1
-rw-r--r--media-video/vlc/files/vlc-3.0.14-fix-live-address-api.patch53
-rw-r--r--media-video/vlc/files/vlc-3.0.17.3-dav1d-1.0.0.patch78
-rw-r--r--media-video/vlc/files/vlc-3.0.17.4-gcc13.patch20
-rw-r--r--media-video/vlc/files/vlc-3.0.18-flac-crc.patch90
-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/vlc-3.0.18-r2.ebuild (renamed from media-video/vlc/vlc-3.0.17.4-r2.ebuild)29
-rw-r--r--media-video/vlc/vlc-3.0.18.ebuild14
-rw-r--r--media-video/vlc/vlc-3.0.9999.ebuild18
-rw-r--r--media-video/vlc/vlc-9999.ebuild15
-rw-r--r--media-video/webcamoid/Manifest1
-rw-r--r--media-video/webcamoid/files/webcamoid-8.7.1-gcc11.patch12
-rw-r--r--media-video/webcamoid/webcamoid-8.8.0.ebuild86
-rw-r--r--media-video/webcamoid/webcamoid-9.0.0-r1.ebuild (renamed from media-video/webcamoid/webcamoid-9.0.0.ebuild)18
-rw-r--r--media-video/webcamoid/webcamoid-9999.ebuild20
-rw-r--r--media-video/wireplumber/Manifest2
-rw-r--r--media-video/wireplumber/files/wireplumber-0.4.14-backport-pr505.patch31
-rw-r--r--media-video/wireplumber/wireplumber-0.4.14.ebuild (renamed from media-video/wireplumber/wireplumber-0.4.13.ebuild)4
-rw-r--r--media-video/wireplumber/wireplumber-9999.ebuild5
201 files changed, 8471 insertions, 3263 deletions
diff --git a/media-video/aegisub/aegisub-9999.ebuild b/media-video/aegisub/aegisub-9999.ebuild
index 5805940589bd..211e90d17d21 100644
--- a/media-video/aegisub/aegisub-9999.ebuild
+++ b/media-video/aegisub/aegisub-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -56,6 +56,7 @@ REQUIRED_USE="${LUA_REQUIRED_USE}
PATCHES=(
"${FILESDIR}/${P}-git.patch"
+ "${FILESDIR}/3.2.2_p20160518/${PN}-3.2.2_p20160518-fix-boost-181-build.patch"
)
pkg_setup() {
diff --git a/media-video/bino/bino-2.0.ebuild b/media-video/bino/bino-2.0.ebuild
index aafb2d96915f..d4ff5a001ae9 100644
--- a/media-video/bino/bino-2.0.ebuild
+++ b/media-video/bino/bino-2.0.ebuild
@@ -11,7 +11,7 @@ SRC_URI="https://bino3d.org/releases/${P}.tar.gz"
LICENSE="GPL-3"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="~amd64"
RDEPEND="
dev-qt/qtbase:6[gui,opengl,widgets]
diff --git a/media-video/bluray_info/Manifest b/media-video/bluray_info/Manifest
index 7aa6b9e6701c..1624563501d8 100644
--- a/media-video/bluray_info/Manifest
+++ b/media-video/bluray_info/Manifest
@@ -1 +1,2 @@
+DIST bluray_info-1.10.tar.gz 279446 BLAKE2B 651d729380649c1d6846d1897d5f3403c575e481f6206f3303607f80e334adda7b436c485de03a90f309676612dbb45839aced24be4ac8e1306b6466e58869e9 SHA512 fae7866155862fac1766b4dfdd587e0f40e562ca39d6bd19999732fb86203105ed7d350433e815636e2d8823de18e5805e425bd05c39070c5dc1792c8db060b6
DIST bluray_info-1.3.tar.gz 188192 BLAKE2B f88020721f7295b9bdd46687cd436c6a5bf38efc1fafc1bdfddda41a7c1a14fbee02a93b69b38a1703f089c9ad4a3576c9f750283a94ec2de09841bc1ae679cb SHA512 cf14733bd3b3fe9ebdace130c880fd695f0a60533a4b397f339789b2b11a15515f8ad24e87ccb428e73b74826ddaa5c2df0c1c9bf7907bdc5b1824f73d22c1ed
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/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/cheese/Manifest b/media-video/cheese/Manifest
index fa260c5eaa37..20b7c412ce76 100644
--- a/media-video/cheese/Manifest
+++ b/media-video/cheese/Manifest
@@ -1,2 +1 @@
-DIST cheese-41.1.tar.xz 1092912 BLAKE2B 9bbfbc59868f39b344b1102f819ca647d82e9dee327f1d2a2e6b30fcfd2c59dd5f79236355d7148e01a4b07d80d630406708d2a152535b5732cfb52690f9f402 SHA512 2c0922dda97f4ce701add45977b405eff9ddbc24eb286e9e05a9f9bfbd7998e8e77ef2a8f1bbce9f8349ff522ee3cb6d6566fa5df80d782e6d844bff69a30074
-DIST cheese-43.0.tar.xz 1095328 BLAKE2B 728cf913336f09ae073508d6bf18f7bb0cf4bb0e16ad5d6acd5fb77b75577303b1a2d8820b280a31c15ebdcbf231205881440105c390a0f16681dc5274a74446 SHA512 07ed087490b4024ecbc097c1a62e24fdc0c5c8acac23ba3ed246104655a8b1786faee5caa5e59cfa7b725527b5aedc587b0f99a2b43100497f866966818e345e
+DIST cheese-44.0.1.tar.xz 1096012 BLAKE2B 53723346eb917002b3a05edfa7bad4f83f4754f321bad6bd6a275aa48786fcf5b7ce78159b226621fcf36d21abd4b07e18f64aa17214e69ba3414b0cb254ff58 SHA512 27154db0b19a7c2f70ced4f750570b1ce0af6d8d18450d57c5a85d83f06ea041247c549e6fc73ecfb531df8a789d6f8527878e004b4c35077ef2b14badf4907a
diff --git a/media-video/cheese/cheese-41.1.ebuild b/media-video/cheese/cheese-41.1.ebuild
deleted file mode 100644
index 6c679af36fe3..000000000000
--- a/media-video/cheese/cheese-41.1.ebuild
+++ /dev/null
@@ -1,100 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit gnome.org gnome2-utils meson vala virtualx xdg
-
-DESCRIPTION="A cheesy program to take pictures and videos from your webcam"
-HOMEPAGE="https://wiki.gnome.org/Apps/Cheese"
-
-LICENSE="GPL-2+"
-SLOT="0/8" # subslot = libcheese soname version
-KEYWORDS="amd64 ~arm arm64 ~ia64 ~ppc ~ppc64 ~riscv ~sparc x86"
-IUSE="gtk-doc +introspection test"
-RESTRICT="!test? ( test )"
-
-DEPEND="
- >=media-libs/clutter-1.13.2:1.0[introspection?]
- media-libs/clutter-gst:3.0
- >=media-libs/clutter-gtk-0.91.8:1.0
- x11-libs/gdk-pixbuf:2[jpeg,introspection?]
- >=dev-libs/glib-2.39.90:2
- >=gnome-base/gnome-desktop-2.91.6:3=
- >=media-libs/gstreamer-1.4:1.0[introspection?]
- >=media-libs/gst-plugins-base-1.4:1.0[ogg,pango,theora,vorbis]
- >=media-libs/gst-plugins-bad-1.4:1.0
- >=x11-libs/gtk+-3.13.4:3
- >=media-libs/libcanberra-0.26[gtk3]
- x11-libs/libX11
- sys-apps/dbus
- media-video/gnome-video-effects
- introspection? ( >=dev-libs/gobject-introspection-1.56:= )
-
- media-libs/cogl:1.0=[introspection?]
-
-"
-RDEPEND="${DEPEND}
- >=media-libs/gst-plugins-good-1.4:1.0
-
- >=media-plugins/gst-plugins-jpeg-1.4:1.0
- || (
- >=media-plugins/gst-plugins-v4l2-1.4:1.0
- media-video/pipewire[gstreamer,v4l]
- )
- >=media-plugins/gst-plugins-vpx-1.4:1.0
-"
-
-BDEPEND="
- gtk-doc? ( dev-util/gtk-doc )
- dev-libs/libxslt
- app-text/docbook-xml-dtd:4.3
- dev-util/itstool
- dev-libs/appstream-glib
- dev-libs/libxml2:2
- dev-util/glib-utils
- >=sys-devel/gettext-0.19.8
- virtual/pkgconfig
- x11-base/xorg-proto
- test? ( x11-libs/libXtst )
- $(vala_depend)
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-3.38.0-buildfix.patch
- "${FILESDIR}"/${PV}-thumb-view-update-for-new-gnome-desktop-API.patch
-)
-
-src_prepare() {
- xdg_src_prepare
- vala_src_prepare
-}
-
-src_configure() {
- local emesonargs=(
- $(meson_use gtk-doc gtk_doc)
- $(meson_use introspection)
- $(meson_use test tests)
- -Dman=true
- )
-
- meson_src_configure
-
- # Hack: version.xml is not generated if gtk-doc is not enabled
- echo ${PV} > docs/reference/version.xml
-}
-
-src_test() {
- gnome2_environment_reset # Avoid dconf that looks at XDG_DATA_DIRS, which can sandbox fail if flatpak is installed
- virtx meson_src_test
-}
-
-pkg_postinst() {
- xdg_pkg_postinst
- gnome2_schemas_update
-}
-
-pkg_postrm() {
- xdg_pkg_postrm
- gnome2_schemas_update
-}
diff --git a/media-video/cheese/cheese-43.0.ebuild b/media-video/cheese/cheese-44.0.1.ebuild
index 354d62a26bd6..afde9bd88795 100644
--- a/media-video/cheese/cheese-43.0.ebuild
+++ b/media-video/cheese/cheese-44.0.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -10,7 +10,7 @@ HOMEPAGE="https://wiki.gnome.org/Apps/Cheese"
LICENSE="GPL-2+"
SLOT="0/8" # subslot = libcheese soname version
-KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
+KEYWORDS="amd64 ~arm arm64 ~ia64 ~ppc ~ppc64 ~riscv ~sparc x86"
IUSE="gtk-doc +introspection test"
RESTRICT="!test? ( test )"
diff --git a/media-video/cheese/files/41.1-thumb-view-update-for-new-gnome-desktop-API.patch b/media-video/cheese/files/41.1-thumb-view-update-for-new-gnome-desktop-API.patch
deleted file mode 100644
index 3796c721f892..000000000000
--- a/media-video/cheese/files/41.1-thumb-view-update-for-new-gnome-desktop-API.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From d58071c56dc46299357c46da5ef9682d8d0abfa4 Mon Sep 17 00:00:00 2001
-From: Michael Catanzaro <mcatanzaro@redhat.com>
-Date: Mon, 11 Apr 2022 17:07:21 -0500
-Subject: [PATCH] thumb-view: update for new gnome-desktop API
-
-See gnome-desktop!132
----
- src/thumbview/cheese-thumb-view.c | 18 ++++++++++++++++++
- 1 file changed, 18 insertions(+)
-
-diff --git a/src/thumbview/cheese-thumb-view.c b/src/thumbview/cheese-thumb-view.c
-index f01b33df..fce8687d 100644
---- a/src/thumbview/cheese-thumb-view.c
-+++ b/src/thumbview/cheese-thumb-view.c
-@@ -134,6 +134,23 @@ cheese_thumb_view_idle_append_item (gpointer data)
-
- if (!thumb_loc)
- {
-+#if defined(GNOME_DESKTOP_PLATFORM_VERSION) && GNOME_DESKTOP_PLATFORM_VERSION >= 43
-+ pixbuf = gnome_desktop_thumbnail_factory_generate_thumbnail (factory, uri, mime_type, NULL, &error);
-+ if (!pixbuf)
-+ {
-+ g_warning ("could not generate thumbnail for %s (%s): %s\n", filename, mime_type, error->message);
-+ g_clear_error (&error);
-+ }
-+ else
-+ {
-+ gnome_desktop_thumbnail_factory_save_thumbnail (factory, pixbuf, uri, mtime.tv_sec, NULL, &error);
-+ if (error)
-+ {
-+ g_warning ("could not save thumbnail for %s (%s): %s\n", filename, mime_type, error->message);
-+ g_clear_error (&error);
-+ }
-+ }
-+#else
- pixbuf = gnome_desktop_thumbnail_factory_generate_thumbnail (factory, uri, mime_type);
- if (!pixbuf)
- {
-@@ -143,6 +160,7 @@ cheese_thumb_view_idle_append_item (gpointer data)
- {
- gnome_desktop_thumbnail_factory_save_thumbnail (factory, pixbuf, uri, mtime.tv_sec);
- }
-+#endif
- }
- else
- {
---
-2.35.1
-
diff --git a/media-video/cheese/files/cheese-3.38.0-buildfix.patch b/media-video/cheese/files/cheese-3.38.0-buildfix.patch
deleted file mode 100644
index a7d685e68628..000000000000
--- a/media-video/cheese/files/cheese-3.38.0-buildfix.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-diff --git a/meson.build b/meson.build
-index 7ef4075f..36638472 100644
---- a/meson.build
-+++ b/meson.build
-@@ -149,11 +149,7 @@ gnome_video_effects_dep = dependency(
- # Recommend some runtime GStreamer plugins.
- gst_inspect = find_program('gst-inspect-1.0', required: false)
- if gst_inspect.found()
-- foreach plugin: ['camerabin', 'vp8enc', 'webmmux']
-- if run_command(gst_inspect, plugin).returncode() != 0
-- warning(plugin + ' was not found. It needs to be installed before Cheese is run')
-- endif
-- endforeach
-+ warning('unable to check for runtime GStreamer plugin dependencies due to Gentoo\'s sandbox: camerabin, vp8enc, webmmux')
- else
- warning('unable to check for runtime GStreamer plugin dependencies')
- endif
diff --git a/media-video/dirac/dirac-1.0.2-r2.ebuild b/media-video/dirac/dirac-1.0.2-r2.ebuild
index 49b566e64269..c56c5dc0be8a 100644
--- a/media-video/dirac/dirac-1.0.2-r2.ebuild
+++ b/media-video/dirac/dirac-1.0.2-r2.ebuild
@@ -11,7 +11,7 @@ SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
LICENSE="MPL-1.1"
SLOT="0"
-KEYWORDS="~alpha amd64 arm ~hppa ~ia64 ~mips ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 arm ~hppa ~ia64 ~mips ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
IUSE="debug doc cpu_flags_x86_mmx"
BDEPEND="
diff --git a/media-video/droidcam/Manifest b/media-video/droidcam/Manifest
index 8916866cca0d..005c1b937a44 100644
--- a/media-video/droidcam/Manifest
+++ b/media-video/droidcam/Manifest
@@ -1,2 +1,2 @@
-DIST droidcam-1.8.2.tar.gz 84797 BLAKE2B b2458dd04b467106a6d9a8a9f3d44058641a7c8ca429d5c92f498401c07f6bc364dc056755f21b40faac7e7aec1877250afb119ac3b7f979b24cdeb86f45c384 SHA512 507f513c8d0dffa86afe5368ccab5461931e236b6352269a6eb5e970a79e5f9b386808da3466f3b391e955170b47b24a82663632ddc3c3c84e4de5988b7d3f8f
-DIST droidcam-1.8.2_p20220831.tar.gz 84943 BLAKE2B db54f39a9b303b4b06dfdfcb6bf9323ce25f8cea4594cdcec063685fea531fdeb915caab393d0edf72086deb592345d7ca6aefd546d44f06e24855d66fbd8d47 SHA512 c30848c2348c70a15c46f894b1c0547a3e904bbb8582ae2d34009dbc9b0d006a49ab3950fef4491f76f838fd091d68ec1d63d5b1f52e793e98936fe5f2d44b5c
+DIST droidcam-1.9.0.tar.gz 85083 BLAKE2B ab96fd70a8514ff6f3ebb98fc482e6d8ee17f984c4929c26441ed1f6223ce5dc6421039e99068ab747012fbcb252d6e158c4c778a45f117cb8143aa278766ded SHA512 47532731688c08d90dfe1c7d177154ea68180a84061050bf6602669bfb867ce6d44e1d1f351cb5526d3d4abf1c6235c26ddf53b423e3641a2956afd392f9f5f6
+DIST droidcam-2.0.0.tar.gz 85146 BLAKE2B 95b96e7474ee457589d751caff156f9715f75cab3e54bef151334f8fe6371f5eed919e9a5df050ec683a65f15c2e40a06efc66e80e5323a8b0e6713980c75174 SHA512 68fe4de308df238fc096ad8b658c5d330400113c7ddf54bf0f070c9852e375273f80c7a8293bd9b5e357163305573931c94bb2bd005673086f718121181b2212
diff --git a/media-video/droidcam/droidcam-1.8.2_p20220831.ebuild b/media-video/droidcam/droidcam-1.9.0.ebuild
index 401a7d918546..43c1cec97661 100644
--- a/media-video/droidcam/droidcam-1.8.2_p20220831.ebuild
+++ b/media-video/droidcam/droidcam-1.9.0.ebuild
@@ -1,16 +1,14 @@
-# Copyright 2019-2022 Gentoo Authors
+# Copyright 2019-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit desktop linux-mod xdg
-COMMIT="d1c3206306f948a8e86c7a256f1ca1be09b114b1"
-
DESCRIPTION="Use your phone or tablet as webcam with a v4l device driver and app"
HOMEPAGE="https://www.dev47apps.com/droidcam/linux/"
-SRC_URI="https://github.com/dev47apps/${PN}/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
-S="${WORKDIR}/${PN}-${COMMIT}"
+SRC_URI="https://github.com/dev47apps/${PN}/archive/v${PV//_rc1/-RC}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${PN}-${PV//_rc1/-RC}"
KEYWORDS="~amd64"
LICENSE="GPL-2"
diff --git a/media-video/droidcam/droidcam-1.8.2-r1.ebuild b/media-video/droidcam/droidcam-2.0.0-r1.ebuild
index 53150f3a9c28..17c5115355ca 100644
--- a/media-video/droidcam/droidcam-1.8.2-r1.ebuild
+++ b/media-video/droidcam/droidcam-2.0.0-r1.ebuild
@@ -1,13 +1,14 @@
-# Copyright 2019-2022 Gentoo Authors
+# Copyright 2019-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit desktop linux-mod xdg
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
@@ -46,14 +47,16 @@ MODULESD_V4L2LOOPBACK_DC_ENABLED="yes"
CONFIG_CHECK="~SND_ALOOP VIDEO_DEV MEDIA_SUPPORT MEDIA_CAMERA_SUPPORT"
ERROR_SND_ALOOP="CONFIG_SND_ALOOP is optionally required for audio support"
-PATCHES="${FILESDIR}/${PN}-1.8.2-makefile-fixes.patch"
+PATCHES=(
+ "${FILESDIR}/${P}-libusbmuxd-20.patch"
+)
src_prepare() {
if ! use gtk; then
default
sed -i -e '/cflags gtk+/d' Makefile || die
else
- xdg_src_prepare
+ default
# remove path and extension from Icon and Exec entry
sed -i -e 's/Icon=\/opt\/droidcam-icon.png/Icon=droidcam/g' \
-e 's/\/usr\/local\/bin\/droidcam/droidcam/g' \
@@ -69,9 +72,9 @@ src_configure() {
src_compile() {
if use gtk; then
- emake droidcam
+ APPINDICATOR=ayatana-appindicator3-0.1 emake droidcam
fi
- emake droidcam-cli
+ APPINDICATOR=ayatana-appindicator3-0.1 emake droidcam-cli
if linux_chkconfig_present CC_IS_CLANG; then
BUILD_PARAMS+=' CC=${CHOST}-clang'
diff --git a/media-video/droidcam/files/droidcam-1.8.2-makefile-fixes.patch b/media-video/droidcam/files/droidcam-1.8.2-makefile-fixes.patch
deleted file mode 100644
index 56b7589b2d12..000000000000
--- a/media-video/droidcam/files/droidcam-1.8.2-makefile-fixes.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-diff --git a/Makefile b/Makefile
-index 7be3c15..85ef623 100644
---- a/Makefile
-+++ b/Makefile
-@@ -6,25 +6,19 @@
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- # Use at your own risk. See README file for more details.
-
--JPEG_DIR ?= /opt/libjpeg-turbo
--JPEG_INCLUDE ?= $(JPEG_DIR)/include
--JPEG_LIB ?= $(JPEG_DIR)/lib`getconf LONG_BIT`
--
--CC = gcc
--CFLAGS = -Wall -O2
- GTK = `pkg-config --libs --cflags gtk+-3.0` `pkg-config --libs x11`
- GTK += `pkg-config --cflags --libs appindicator3-0.1`
- LIBAV = `pkg-config --libs --cflags libswscale libavutil`
- LIBS = -lspeex -lasound -lpthread -lm
--JPEG = -I$(JPEG_INCLUDE) $(JPEG_LIB)/libturbojpeg.a
-+JPEG = `pkg-config --libs --cflags libturbojpeg`
- SRC = src/connection.c src/settings.c src/decoder*.c src/av.c src/usb.c src/queue.c
--USBMUXD = -lusbmuxd
-+USBMUXD = -lusbmuxd-2.0
-
- all: droidcam-cli droidcam
-
- ifneq "$(RELEASE)" ""
--LIBAV = /usr/lib/x86_64-linux-gnu/libswscale.a /usr/lib/x86_64-linux-gnu/libavutil.a
--SRC += src/libusbmuxd.a src/libxml2.a src/libplist-2.0.a
-+LIBAV = /usr/lib/x86_64-linux-gnu/libswscale.so /usr/lib/x86_64-linux-gnu/libavutil.so
-+SRC += src/libusbmuxd-2.0.so src/libxml2.so src/libplist-2.0.so
- package: clean all
- zip "droidcam_$(RELEASE).zip" \
- LICENSE README* icon2.png \
-@@ -40,11 +34,11 @@ gresource: .gresource.xml icon2.png
-
- droidcam-cli: LDLIBS += $(JPEG) $(LIBAV) $(LIBS)
- droidcam-cli: src/droidcam-cli.c $(SRC)
-- $(CC) $(CPPFLAGS) $(CFLAGS) $^ -o $@ $(LDFLAGS) $(LDLIBS)
-+ $(CC) $(CPPFLAGS) $(CXXFLAGS) $(CFLAGS) $^ -o $@ $(LDFLAGS) $(LDLIBS)
-
- droidcam: LDLIBS += $(GTK) $(JPEG) $(LIBAV) $(LIBS)
- droidcam: src/droidcam.c src/resources.c $(SRC)
-- $(CC) $(CPPFLAGS) $(CFLAGS) $^ -o $@ $(LDFLAGS) $(LDLIBS)
-+ $(CC) $(CPPFLAGS) $(CXXFLAGS) $(CFLAGS) $^ -o $@ $(LDFLAGS) $(LDLIBS)
-
- clean:
- rm -f droidcam
-diff --git a/v4l2loopback/Makefile b/v4l2loopback/Makefile
-index 28c4502..02356e9 100644
---- a/v4l2loopback/Makefile
-+++ b/v4l2loopback/Makefile
-@@ -11,7 +11,7 @@ install:
- $(MAKE) -C $(KERNEL_DIR) M=$(PWD) modules_install
-
- test:
-- gcc test.c -o test
-+ $(CC) test.c -o test
-
- clean:
- $(MAKE) -C $(KERNEL_DIR) M=$(PWD) clean
diff --git a/media-video/droidcam/files/droidcam-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/dvdauthor/dvdauthor-0.7.2-r2.ebuild b/media-video/dvdauthor/dvdauthor-0.7.2-r2.ebuild
index dcd1561b0b16..89f11e102235 100644
--- a/media-video/dvdauthor/dvdauthor-0.7.2-r2.ebuild
+++ b/media-video/dvdauthor/dvdauthor-0.7.2-r2.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=6
@@ -28,7 +28,9 @@ S="${WORKDIR}/${PN}"
DOCS=( AUTHORS ChangeLog README TODO )
-PATCHES=( "${FILESDIR}/${PN}-freetype_pkgconfig.patch" )
+PATCHES=(
+ "${FILESDIR}"/${P}-freetype-pkgconfig.patch
+)
src_prepare() {
default
diff --git a/media-video/dvdauthor/files/dvdauthor-freetype_pkgconfig.patch b/media-video/dvdauthor/files/dvdauthor-0.7.2-freetype-pkgconfig.patch
index bb9858f437d4..1ddf49403e46 100644
--- a/media-video/dvdauthor/files/dvdauthor-freetype_pkgconfig.patch
+++ b/media-video/dvdauthor/files/dvdauthor-0.7.2-freetype-pkgconfig.patch
@@ -1,3 +1,5 @@
+https://github.com/ldo/dvdauthor/commit/d5bb0bdd542c33214855a7062fcc485f8977934e
+
From 259f892fe61f16c26733506d2511eec7ff136dc4 Mon Sep 17 00:00:00 2001
From: Lars Wendler <polynomial-c@gentoo.org>
Date: Mon, 7 May 2018 09:18:48 +0200
diff --git a/media-video/dvdauthor/metadata.xml b/media-video/dvdauthor/metadata.xml
index 01dfeec842c4..1479cf0f2ecd 100644
--- a/media-video/dvdauthor/metadata.xml
+++ b/media-video/dvdauthor/metadata.xml
@@ -6,5 +6,6 @@
</maintainer>
<upstream>
<remote-id type="sourceforge">dvdauthor</remote-id>
+ <remote-id type="github">ldo/dvdauthor</remote-id>
</upstream>
</pkgmetadata>
diff --git a/media-video/dvdbackup/dvdbackup-0.4.2-r2.ebuild b/media-video/dvdbackup/dvdbackup-0.4.2-r2.ebuild
index d515df7b66d1..9b4aa9ffff47 100644
--- a/media-video/dvdbackup/dvdbackup-0.4.2-r2.ebuild
+++ b/media-video/dvdbackup/dvdbackup-0.4.2-r2.ebuild
@@ -9,7 +9,7 @@ SRC_URI="mirror://sourceforge/${PN}/${P}.tar.xz"
LICENSE="GPL-3"
SLOT="0"
-KEYWORDS="amd64 ppc ppc64 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-solaris"
+KEYWORDS="amd64 ppc ppc64 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
IUSE="nls"
RDEPEND=">=media-libs/libdvdread-4.2.0_pre:=
diff --git a/media-video/ffdiaporama/Manifest b/media-video/ffdiaporama/Manifest
index 95deb3493d2b..93bff6f4e0f3 100644
--- a/media-video/ffdiaporama/Manifest
+++ b/media-video/ffdiaporama/Manifest
@@ -1,9 +1,2 @@
-DIST ffdiaporama-2.2-ffmpeg-3.0.patch 19635 BLAKE2B 000816945e74033b2620f635f59e762e82988ef60740ac14bfee02850cc6299ec0934a7f48afe03009a94bbb531e9668c9d16fe230db34d03ba54b0c42249348 SHA512 958025fee8df94a600fa4919fe9aa5574556c163a771b36213e90f116c13d0448a86e99a49b2ac4631c1b845ffb8c87789ac00cb8462fed1abbe9233e49a47fc
-DIST ffdiaporama-2.2-ffmpeg-4.0.patch 6648 BLAKE2B 1efaecf9dc6180539bc01a6e4f1403864ea2f9318cc1528aac0bb339d840e3eec40ddc60a531d8af52aae5592c38bbcad9d8dd260cedbe01ab655e2135766e6b SHA512 9588352af7b048ade3b681364a4edc29526241b0631e39314b9466f490d66a4e3b795f4c32afd0aadc2a3d63a9ce4e99a6bb77e4c3f79d959e68e82856882d32
-DIST ffdiaporama-2.2-ffmpeg-4.4.patch 1034 BLAKE2B f6105f5fc9d928c43fc33d2eb154d97843516f42754154690ca1651c90f9cce21ce03a80ca2fd0440611f30463077a67cccc9d2103d6ffecde80f7ca5ba48142 SHA512 14c2c8361836a0f95224577710b72d48fe9aa5c9a330777b8cb709a1ad02f95d9b8ba0f22ff9250e0a6898cfd8f6839658a94f59082d2da767299a81a38e9f8a
-DIST ffdiaporama-2.2-libav11.patch 18781 BLAKE2B 95da6d11fa31f18106184c0c14a524c42f03a169503ad58d72e871edc60ef52b5ee6ac6d757e8ddcaa66ba58a1b78bc1ca1a9b116d69a3526fd6bc3e5817a9d9 SHA512 f24f3f6b624763dcc3ea5bc0c52480d986fbec9b123ad5645c11a525c0eefb7b8708f90df4fb728dfab1d640c6dfab9a550874f59d333cff979e3ef56639416e
-DIST ffdiaporama-2.2_pre20220403.tar.gz 63270245 BLAKE2B 86e5926285b5c38146065cbbc53182eba77c25fa7eddd79e61276b949f5ad4f217f3e2562bed938f06c191493929afa7f24820ef957243f176b3f8e09d4284a9 SHA512 75076eadf1cbef38590ef250746228598ddb00bec2328589a6fb913ee3ae376a6587e6e90494986c5cbeda7aba6c342992cb5e71e5c8ce26e4fda12238ce72e4
DIST ffdiaporama-2.2_pre20221007.tar.gz 63271591 BLAKE2B 0fbd20e571329bc294554c50a04920b837af4b62cf4cc7ef356dd9372a8f1f3f01c7b2736fba71c52d468261ad778107e332929ab90d2cf768698102d269a00c SHA512 a37966bb31853de42e7c03a9a1e913332e417278fe663f088d9d9ee763db163549993fa7271b53ad2d495cef5e05d11e3f13ab3343cace3cb4c202aadb461beb
-DIST ffdiaporama_bin_2.2.devel.2014.0701.tar.gz 18377677 BLAKE2B 74337dcb935eedfccb769562c9b763f642058d2fc8bf4a3c4a81b1ce857398ee759ce2cf269c31527cece2c18a48505ad46b197e10da8444cbf2131ffb3e1130 SHA512 6531381137c47d3fd2954d09fe922086de1b69638ed4b092faeb9e2982b463c6614314bda56512f6a315bd02b8600d815efb19dca3dae89947df9a48a2ae7b86
-DIST ffdiaporama_rsc_2.2.devel.2014.0503.tar.gz 18390602 BLAKE2B 58c38d1f62ec04b217add232873556cf57d13cd17ef672f2087b44c0aac9ee7bc890de3bb812cb1c57093565b06de51ed0ddb0465d9b7fce21311fedf51042a3 SHA512 73faafe54d7d9a3d8d91719ac56cec7323e0a497f77e0c9f243d84782aa6040677236d9e41d3b539c45d6aca2448d737912ec59bd2a7e417749ee548cd68652d
-DIST ffdiaporama_texturemate_1.0.2014.0125.tar.gz 30352923 BLAKE2B af558994a811508ff6b0f1dc34f33c60fca0a4f40c1cf675e08925b40c8312444a20ea95b0a0c9316225806096e9bbb209faf3e48b74041604c6d81be0175aba SHA512 e9aa9607d670a620b2e3c27d6ec5bf983eb31ab3d3139edf32ebb84d9ffa58b11c822f7db4b3f3c4a430b256719803df4a3a385bd467bdda09f8710d010eb2f5
+DIST ffdiaporama-2.2_pre20230525.tar.gz 63270147 BLAKE2B 26cc3ecd7966a945808481c18b2f9a239132cae5016f33e83ef5588c55b1f2a0d7609cd1bdfaf51ada75e1df5274733b7985f6eb3b3814260102f6c9e406ed68 SHA512 777d110b0948bc3c3bdb14e13b4ce09ec819bfac2759c715a1e247b1d6cf8c8461c1ec28a0315f034e4e5a19b4732ce583d71b2edd9c6375b7dae14868cc8dfe
diff --git a/media-video/ffdiaporama/ffdiaporama-2.2_pre20140701-r2.ebuild b/media-video/ffdiaporama/ffdiaporama-2.2_pre20140701-r2.ebuild
deleted file mode 100644
index f32094e39d46..000000000000
--- a/media-video/ffdiaporama/ffdiaporama-2.2_pre20140701-r2.ebuild
+++ /dev/null
@@ -1,77 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-MY_PV=${PV%_pre20140701}
-BIN_PV=${MY_PV}.devel.2014.0701
-RSC_PV=${MY_PV}.devel.2014.0503
-TMT_PV=1.0.2014.0125
-inherit qmake-utils xdg-utils
-
-DESCRIPTION="Movie creator from photos and video clips"
-HOMEPAGE="https://ffdiaporama.tuxfamily.org"
-SRC_URI="https://download.tuxfamily.org/${PN}/Packages/Devel/${PN}_bin_${BIN_PV}.tar.gz
- https://download.tuxfamily.org/${PN}/Packages/Devel/${PN}_rsc_${RSC_PV}.tar.gz
- https://raw.githubusercontent.com/laurantino/gentoo-dist/master/ffdiaporama-2.2-libav11.patch
- https://raw.githubusercontent.com/laurantino/gentoo-dist/master/ffdiaporama-2.2-ffmpeg-3.0.patch
- https://raw.githubusercontent.com/laurantino/gentoo-dist/master/ffdiaporama-2.2-ffmpeg-4.0.patch
- https://raw.githubusercontent.com/laurantino/gentoo-dist/master/ffdiaporama-2.2-ffmpeg-4.4.patch
- texturemate? ( https://download.tuxfamily.org/${PN}/Packages/Stable/${PN}_texturemate_${TMT_PV}.tar.gz )"
-
-LICENSE="GPL-2 texturemate? ( CC-BY-3.0 )"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE="openclipart texturemate"
-
-RDEPEND="
- dev-qt/qtconcurrent:5
- dev-qt/qtcore:5
- dev-qt/qtgui:5
- dev-qt/qthelp:5
- dev-qt/qtmultimedia:5
- dev-qt/qtnetwork:5
- dev-qt/qtsql:5[sqlite]
- dev-qt/qtsvg:5
- dev-qt/qtwidgets:5
- dev-qt/qtxml:5
- media-gfx/exiv2:=
- >=media-video/ffmpeg-3:0=[encode]
- openclipart? ( media-gfx/openclipart[svg,-gzip] )"
-DEPEND="${RDEPEND}"
-
-DOCS=( authors.txt )
-PATCHES=( "${DISTDIR}"/${PN}-${MY_PV}-{ffmpeg-3.0,libav11,ffmpeg-4.0,ffmpeg-4.4}.patch )
-
-S="${WORKDIR}/ffDiaporama"
-
-src_prepare() {
- default
- echo "SUBDIRS += ../ffDiaporama_rsc" >> ffDiaporama.pro || die
- if use texturemate; then
- echo "SUBDIRS += ../ffDiaporama_texturemate" >> ffDiaporama.pro || die
- fi
-}
-
-src_configure() {
- eqmake5 QMAKE_CFLAGS_ISYSTEM=
-}
-
-src_install() {
- emake INSTALL_ROOT="${D}" install
- if use openclipart; then
- dosym ../../clipart/openclipart /usr/share/ffDiaporama/clipart/openclipart
- fi
-}
-
-pkg_postinst() {
- xdg_desktop_database_update
- xdg_mimeinfo_database_update
- xdg_icon_cache_update
-}
-
-pkg_postrm() {
- xdg_desktop_database_update
- xdg_mimeinfo_database_update
- xdg_icon_cache_update
-}
diff --git a/media-video/ffdiaporama/ffdiaporama-2.2_pre20221007.ebuild b/media-video/ffdiaporama/ffdiaporama-2.2_pre20221007.ebuild
index acb80e067b23..1d33f68b959e 100644
--- a/media-video/ffdiaporama/ffdiaporama-2.2_pre20221007.ebuild
+++ b/media-video/ffdiaporama/ffdiaporama-2.2_pre20221007.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -13,7 +13,7 @@ SRC_URI="https://github.com/laurantino/${PN}/archive/${COMMIT}.tar.gz -> ${P}.ta
LICENSE="GPL-3 CC-BY-3.0"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64 x86"
IUSE="openclipart"
RDEPEND="
diff --git a/media-video/ffdiaporama/ffdiaporama-2.2_pre20220403.ebuild b/media-video/ffdiaporama/ffdiaporama-2.2_pre20230525.ebuild
index f13a63fc974d..efbc9b5a2c90 100644
--- a/media-video/ffdiaporama/ffdiaporama-2.2_pre20220403.ebuild
+++ b/media-video/ffdiaporama/ffdiaporama-2.2_pre20230525.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-COMMIT="0557dc2d2489b88c813c695b0d75107be82292f8"
+COMMIT="6b2587064d705de42a3e88468d4922bc27b97e2a"
inherit qmake-utils xdg-utils
diff --git a/media-video/ffdiaporama/metadata.xml b/media-video/ffdiaporama/metadata.xml
index dc6829f4891b..77033bf869e4 100644
--- a/media-video/ffdiaporama/metadata.xml
+++ b/media-video/ffdiaporama/metadata.xml
@@ -13,6 +13,7 @@
<changelog>http://ffdiaporama.tuxfamily.org/?page_id=7266&amp;lang=en</changelog>
<doc lang="en">http://ffdiaporama.tuxfamily.org/?page_id=6268</doc>
<bugs-to>http://ffdiaporama.tuxfamily.org/Forum/viewforum.php?id=4</bugs-to>
+ <remote-id type="github">laurantino/ffdiaporama</remote-id>
</upstream>
<longdescription lang="en">
ffDiaporama is an application for creating video sequences consisting of
@@ -38,6 +39,5 @@
</longdescription>
<use>
<flag name="openclipart">Support openclipart database</flag>
- <flag name="texturemate">Install extra backgrounds</flag>
</use>
</pkgmetadata>
diff --git a/media-video/ffmpeg-chromium/Manifest b/media-video/ffmpeg-chromium/Manifest
index 58a303503608..2163fbebb490 100644
--- a/media-video/ffmpeg-chromium/Manifest
+++ b/media-video/ffmpeg-chromium/Manifest
@@ -1,2 +1,4 @@
DIST ffmpeg-chromium-102.tar.gz 15165192 BLAKE2B ecf9b9ff538730d8a265e25e3d30900b119bfa5baa8e097e58151d744c95b3e768b96f477f6394015cd77a8ae35991c7cdaee5fb2f700d129b6c6d7ee87b34d9 SHA512 f5aa4c47e801d2547321c7995240e004706f9b5835610f9726ac45a63ac58a62de64d463ddeb8c1a001d31d89a4dbaee3a1be568c33316f29dc2b675b2f3161a
DIST ffmpeg-chromium-106.tar.xz 9707176 BLAKE2B 8ab9b006328e15faa38b8014f2870e7a9fd9eaacc723cd6079bfaadc05db4d1f8c542dff5a331e1f93c9c877eea6d2ed0dc2bf567c77680227b22b2a9baf8834 SHA512 9f04feee42bf548cbda542be16f186bfe0d8179289a1512cf77ec492a8608b2c9d5c758f93fb6d229be67c20762075dd266fa4b203556f8b7ec4bf66579f2b6b
+DIST ffmpeg-chromium-112.tar.xz 9888952 BLAKE2B 48a2e0e93a890ae3ec436b2c9504c6f5d063c2ed04ed67db9c8b17f1d1111ce56519a8af8c44635901de7f46fb2f0529818e70874a17432c64c1192968a3ae4b SHA512 f0d5e7cd77d5daeddf1c2d47b3435bf9306fdbf23239890cbbaef86ad6e462e9606da5282c39dcd5f32ac6a721b5dd5f01c1f1525f6a66a0dad8a927db2c3217
+DIST ffmpeg-chromium-114.tar.xz 9934024 BLAKE2B cc11bd00bcf6bef5f946a16f1544881c71503207ba3c6ec57cdc37124ea562366dced2e029f31e57a6f78ec7073412ac0b8ec470d14975a3cc40fad2e96ec5df SHA512 1b1743664d58f5b92971d113ea441604e0b46f28b22df1b02ab0431b8e884789fb6d81b4f50ff1526f716381abcc63e1b336d23edd9ea28abe8b3526fba08ce9
diff --git a/media-video/ffmpeg-chromium/ffmpeg-chromium-102.ebuild b/media-video/ffmpeg-chromium/ffmpeg-chromium-102.ebuild
index 73cbdcc5ebc1..6f9eaaeb8883 100644
--- a/media-video/ffmpeg-chromium/ffmpeg-chromium-102.ebuild
+++ b/media-video/ffmpeg-chromium/ffmpeg-chromium-102.ebuild
@@ -115,6 +115,7 @@ S="${WORKDIR}"
PATCHES=(
"${FILESDIR}"/${PN}-100.patch
+ "${FILESDIR}"/${PN}-vk-headers.patch
"${FILESDIR}"/chromium.patch
)
diff --git a/media-video/ffmpeg-chromium/ffmpeg-chromium-106.ebuild b/media-video/ffmpeg-chromium/ffmpeg-chromium-106.ebuild
index dab5245bdb83..61f550be5940 100644
--- a/media-video/ffmpeg-chromium/ffmpeg-chromium-106.ebuild
+++ b/media-video/ffmpeg-chromium/ffmpeg-chromium-106.ebuild
@@ -16,7 +16,7 @@ LICENSE="
gpl? ( GPL-2 )
"
-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)
@@ -113,6 +113,7 @@ RESTRICT="
PATCHES=(
"${FILESDIR}"/${PN}-100.patch
+ "${FILESDIR}"/${PN}-vk-headers.patch
"${FILESDIR}"/chromium.patch
)
diff --git a/media-video/ffmpeg-chromium/ffmpeg-chromium-112.ebuild b/media-video/ffmpeg-chromium/ffmpeg-chromium-112.ebuild
new file mode 100644
index 000000000000..7549abb318be
--- /dev/null
+++ b/media-video/ffmpeg-chromium/ffmpeg-chromium-112.ebuild
@@ -0,0 +1,236 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic toolchain-funcs
+
+COMMIT="ee0c52d52036ecadfd38affec86c04937480bedb"
+DESCRIPTION="FFmpeg built specifically for codec support in Chromium-based browsers"
+HOMEPAGE="https://ffmpeg.org/"
+SRC_URI="https://dev.gentoo.org/~chewi/distfiles/${P}.tar.xz"
+
+SLOT="${PV}"
+LICENSE="
+ !gpl? ( LGPL-2.1 )
+ gpl? ( GPL-2 )
+"
+
+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 +opus:libopus
+ 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
+)
+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_vfpv3? ( cpu_flags_arm_vfp )
+ cpu_flags_arm_thumb2? ( cpu_flags_arm_v6 )
+ cpu_flags_arm_v6? ( 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 )
+ opus? ( >=media-libs/opus-1.0.2-r2 )
+ vaapi? ( >=media-libs/libva-1.2.1-r1:0= )
+ nvenc? ( >=media-libs/nv-codec-headers-9.1.23.1 )
+ vdpau? ( >=x11-libs/libvdpau-0.7 )
+ vulkan? ( >=media-libs/vulkan-loader-1.2.189:= )
+"
+
+DEPEND="${RDEPEND}
+"
+BDEPEND="
+ >=sys-devel/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}-100.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 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
+ is-flagq "-flto*" && myconf+=( "--enable-lto" )
+ 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
+ *freebsd*)
+ myconf+=( --target-os=freebsd )
+ ;;
+ *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-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-114.ebuild b/media-video/ffmpeg-chromium/ffmpeg-chromium-114.ebuild
new file mode 100644
index 000000000000..81ae1c57f365
--- /dev/null
+++ b/media-video/ffmpeg-chromium/ffmpeg-chromium-114.ebuild
@@ -0,0 +1,236 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic toolchain-funcs
+
+COMMIT="842ef367665edee29efa2b09f7298fa5ecabe8b5"
+DESCRIPTION="FFmpeg built specifically for codec support in Chromium-based browsers"
+HOMEPAGE="https://ffmpeg.org/"
+SRC_URI="https://dev.gentoo.org/~chewi/distfiles/${P}.tar.xz"
+
+SLOT="${PV}"
+LICENSE="
+ !gpl? ( LGPL-2.1 )
+ gpl? ( GPL-2 )
+"
+
+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 +opus:libopus
+ 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
+)
+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_vfpv3? ( cpu_flags_arm_vfp )
+ cpu_flags_arm_thumb2? ( cpu_flags_arm_v6 )
+ cpu_flags_arm_v6? ( 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 )
+ opus? ( >=media-libs/opus-1.0.2-r2 )
+ vaapi? ( >=media-libs/libva-1.2.1-r1:0= )
+ nvenc? ( >=media-libs/nv-codec-headers-9.1.23.1 )
+ vdpau? ( >=x11-libs/libvdpau-0.7 )
+ vulkan? ( >=media-libs/vulkan-loader-1.2.189:= )
+"
+
+DEPEND="${RDEPEND}
+"
+BDEPEND="
+ >=sys-devel/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}-100.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 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
+ is-flagq "-flto*" && myconf+=( "--enable-lto" )
+ 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
+ *freebsd*)
+ myconf+=( --target-os=freebsd )
+ ;;
+ *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-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-vk-headers.patch b/media-video/ffmpeg-chromium/files/ffmpeg-chromium-vk-headers.patch
new file mode 100644
index 000000000000..f3c3c0128920
--- /dev/null
+++ b/media-video/ffmpeg-chromium/files/ffmpeg-chromium-vk-headers.patch
@@ -0,0 +1,36 @@
+From eb0455d64690eed0068e5cb202f72ecdf899837c Mon Sep 17 00:00:00 2001
+From: Lynne <dev@lynne.ee>
+Date: Sun, 25 Dec 2022 01:03:30 +0100
+Subject: [PATCH] hwcontext_vulkan: remove optional encode/decode extensions
+ from the list
+
+They're not currently used, so they don't need to be there.
+Vulkan stabilized the decode extensions less than a week ago, and their
+name prefixes were changed from EXT to KHR. It's a bit too soon to be
+depending on it, so rather than bumping, just remove these for now.
+---
+ libavutil/hwcontext_vulkan.c | 8 --------
+ 1 file changed, 8 deletions(-)
+
+diff --git a/libavutil/hwcontext_vulkan.c b/libavutil/hwcontext_vulkan.c
+index f1db1c7291..2a9b5f4aac 100644
+--- a/libavutil/hwcontext_vulkan.c
++++ b/libavutil/hwcontext_vulkan.c
+@@ -358,14 +358,6 @@ static const VulkanOptExtension optional_device_exts[] = {
+ { VK_KHR_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME, FF_VK_EXT_EXTERNAL_WIN32_MEMORY },
+ { VK_KHR_EXTERNAL_SEMAPHORE_WIN32_EXTENSION_NAME, FF_VK_EXT_EXTERNAL_WIN32_SEM },
+ #endif
+-
+- /* Video encoding/decoding */
+- { VK_KHR_VIDEO_QUEUE_EXTENSION_NAME, FF_VK_EXT_NO_FLAG },
+- { VK_KHR_VIDEO_DECODE_QUEUE_EXTENSION_NAME, FF_VK_EXT_NO_FLAG },
+- { VK_KHR_VIDEO_ENCODE_QUEUE_EXTENSION_NAME, FF_VK_EXT_NO_FLAG },
+- { VK_EXT_VIDEO_ENCODE_H264_EXTENSION_NAME, FF_VK_EXT_NO_FLAG },
+- { VK_EXT_VIDEO_DECODE_H264_EXTENSION_NAME, FF_VK_EXT_NO_FLAG },
+- { VK_EXT_VIDEO_DECODE_H265_EXTENSION_NAME, FF_VK_EXT_NO_FLAG },
+ };
+
+ /* Converts return values to strings */
+--
+2.39.1
+
diff --git a/media-video/ffmpeg-chromium/metadata.xml b/media-video/ffmpeg-chromium/metadata.xml
index 5e0aeba3b15e..1d15ec93bf0f 100644
--- a/media-video/ffmpeg-chromium/metadata.xml
+++ b/media-video/ffmpeg-chromium/metadata.xml
@@ -9,6 +9,5 @@
<flag name="cpudetection">Enables runtime CPU detection (useful for bindist, compatibility on other CPUs)</flag>
<flag name="gpl">Build GPL code. Should be enabled unless you require LGPL binaries.</flag>
<flag name="mmal">Enables Multi-Media Abstraction Layer (MMAL) decoding support: Available e.g. on the Raspberry Pi.</flag>
- <flag name="vulkan">Enables support for the vulkan API for GPU offload.</flag>
</use>
</pkgmetadata>
diff --git a/media-video/ffmpeg/Manifest b/media-video/ffmpeg/Manifest
index dd82106c7cdd..e04b5bfb0b90 100644
--- a/media-video/ffmpeg/Manifest
+++ b/media-video/ffmpeg/Manifest
@@ -2,7 +2,14 @@ DIST ffmpeg-4.2.2-ppc64-altivec.patch.gz 7171 BLAKE2B 6676dadb22d2ab4b0f5c19b418
DIST ffmpeg-4.2.2-ppc64-gcc.patch.gz 750 BLAKE2B 3a9cc7f0135e077c77179a7ca3da917bca3995d99d53b58221b23181a075f330132f83ea90a6110e89f90c7c3b5b2a7837559c5df414d9bd52dbb3ec166b1545 SHA512 701b0635e0819484a31de2062ba52d95ee03883ab56547cd75c3646a9b32bf3ecc7f719690b93f29202cfed0fdeecd26b51b9f3c66e72a999a3e8d9e97389275
DIST ffmpeg-4.2.7.tar.bz2 10966448 BLAKE2B 91151a3ece19700fbc04f304ebad9f34ffce2de19416992ceccf3a347ab58195f746a0ace0a331cc1f34dafd87e4e8c6467268546b417d3f58a1cbbe41662807 SHA512 ab57fc370005d8f33eed2e0f18ac4f418372f47f03d43566c52f9ffc70de27e6ec1ba49faf6e3356fd8a495cff40a8073f8d85a625f6ee21bd7018e19b31734f
DIST ffmpeg-4.2.8.tar.xz 9118672 BLAKE2B 7631bac87db7ce046a93c45422f0ffdc2929d9bb71798125dc403872b27f758015a5b0856e2b73edd47cbea2f3b3f6d94787f7d99846c9783826bd42b58b227a SHA512 40c3c0a2b9853220ad48ea7d9b6e6238238d8f914b1a845aa2be0961d88f5602daab79ca38dd21215077649bbd6967c9e9d9a993831a6735f3a00ae6b798c65f
+DIST ffmpeg-4.2.9.tar.xz 9117288 BLAKE2B 6fbebfc71a24fb876fc60fd6611346f4aded84b6d573441b2ee910ac1a831ba2e4ad1790592a0173e545c19416db1909344d48160a2dbf64fd4c2adf6c5f4d48 SHA512 db3e4489b0aee65195ca3f0e8ce32e749d5b4cbcdc7d5b8e4504ba3d52b0b40e84a2d8cfa8f599c6e722af0b8c5d969c908d6e2fe15d9d3ff2bd60002b59fe6e
DIST ffmpeg-4.4.3.tar.xz 9566020 BLAKE2B a8b62a37151173f90821b876cf51e6819eb5519d7fb1f47b55b5f3003cb0e3d18d43c9482d70e32ef2bb6f5c6310260ec2c04ee997aad5ef687d598d838e9bc9 SHA512 0b232b66555237ed1a061807f88dbc5e6cd156e604c5d611bb6ac0c32b9006414cc4f30d632b482d9cb95f526df98b36efa3af9c863c52e7b7aa1a183545d915
DIST ffmpeg-4.4.3.tar.xz.asc 520 BLAKE2B 999785516beb913d246d5f9de6e189ee644d0dba07f64ac90cbec91961ca181e5d6b95d9e097c362a76b543e3498672b1458edd68c23a86c3123ffc8e6c5ff2b SHA512 347abc8d75f4447296d8f6105b188a187daac158fbd972dc157b8a3597919519c20b8f649b7460df4e9aea249d74c6287e35bc389cc99ae5629490a36b345557
+DIST ffmpeg-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-5.1.2.tar.xz 10004956 BLAKE2B 4e2682f040205e6344ff1f2cf8ac69c35cac90a14634a2cd4b41fffc0e09264586b014327f7e9cb6417d12210894cdbc180541c07ad02e782bdf79af9f22991f SHA512 04d9ae2a0e9238c469941d2bb9929d59b58f4be3830846cf91b02a440da17803a04b147a4e0168c9ffd6f62ca82187508bc7b53255de9787a97168278e903b9b
DIST ffmpeg-5.1.2.tar.xz.asc 520 BLAKE2B 57573afa9157e842efc6a22185aab133e5b5bd461c55d63bbb8b218e99f05fb17f4a679ee9e22c14060205894d7e71f011df7b0ceae15be4c7f5980cff739b32 SHA512 6afc898e3898a7d34e21f0f0bd0553765a46257332c6ece6226e3e043b842275a8d885b9ccca34bc90a2f008ae5fa14515276d23f921a518a63a47f6504af115
+DIST ffmpeg-5.1.3.tar.xz 10007756 BLAKE2B 033dddac096d5dbbfadcf1af51fd1e93d222af1ec6ce7c36000c6a02cf9413288c7fcc7316d450926c60ea9e41935555cc66ee004130836816ada5d5833375c7 SHA512 4310f27fe0c7b4363207e1535115e0ad266a45772bdb5445f5c8658f35b0f3216d8f2cf70d1d2baa71b12069fbdccf418a774b353ddf092d4f66829ef391508a
+DIST ffmpeg-5.1.3.tar.xz.asc 520 BLAKE2B 09d7ff694a2fc61a00443b90f905bb771c3fb7244a154bbe289fe98a4520202a8066bff593ef0142d8d7387a75d4e4dc68e553fbeba98d0fdd51881f28a54623 SHA512 a7348205ef6648e5c73c32fbe99b8130256d1157d1a7c128701b240e4096ac16778cfcc74a922fe8147e0a137119b8a5fd60f006328454b712eefe154f546318
+DIST ffmpeg-6.0.tar.xz 10234012 BLAKE2B c70884911f3a3e40fe87473f241a2a56b303f5abe7f1d7fa797d05e29e00971f98cbf37832c1c3dc5fa949a5beddef05a6ec55ae6668091976ea870ad93c0e8d SHA512 4d0e8f635d5a1633710f30cb3e0a854b6ca3bf85e33a289d1ec7aca2ad55dc4910010bc9cf3f13eee9f6decb9d50a0df6d7aa5a342f308c3868d2730f3a6b980
+DIST ffmpeg-6.0.tar.xz.asc 520 BLAKE2B be294d375108b57bca3c687620ce2517c54c99012d82dc7aa1a83d5fe6d5453bd3c8620fdfb743df780cf588983a06a66a458c4e3e454dbe535cbba9da30c48c SHA512 a64cd0f8578fcea4537f5a38634c930d66c8ba4abd3e8e9dcffaeb95c3ad2e754d7bc4fbb5272409d4d32abf8180ef83f7204c6a570b52a37e635efd96cb94ed
diff --git a/media-video/ffmpeg/ffmpeg-4.2.7.ebuild b/media-video/ffmpeg/ffmpeg-4.2.7.ebuild
index 2b7fed0039c7..215a972292d0 100644
--- a/media-video/ffmpeg/ffmpeg-4.2.7.ebuild
+++ b/media-video/ffmpeg/ffmpeg-4.2.7.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -272,8 +272,8 @@ RDEPEND="
"
RDEPEND="${RDEPEND}
- openssl? ( >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}] )
- !openssl? ( gnutls? ( >=net-libs/gnutls-2.12.23-r6:=[${MULTILIB_USEDEP}] ) )
+ openssl? ( >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}] )
+ !openssl? ( gnutls? ( >=net-libs/gnutls-2.12.23-r6:=[${MULTILIB_USEDEP}] ) )
"
DEPEND="${RDEPEND}
diff --git a/media-video/ffmpeg/ffmpeg-4.2.8.ebuild b/media-video/ffmpeg/ffmpeg-4.2.8.ebuild
index 6f690193e286..dd166d92ec2c 100644
--- a/media-video/ffmpeg/ffmpeg-4.2.8.ebuild
+++ b/media-video/ffmpeg/ffmpeg-4.2.8.ebuild
@@ -62,7 +62,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 ~mips ppc ppc64 sparc x86 ~amd64-linux ~x86-linux"
fi
# Options to use as use_enable in the foo[:bar] form.
@@ -272,8 +272,8 @@ RDEPEND="
"
RDEPEND="${RDEPEND}
- openssl? ( >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}] )
- !openssl? ( gnutls? ( >=net-libs/gnutls-2.12.23-r6:=[${MULTILIB_USEDEP}] ) )
+ openssl? ( >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}] )
+ !openssl? ( gnutls? ( >=net-libs/gnutls-2.12.23-r6:=[${MULTILIB_USEDEP}] ) )
"
DEPEND="${RDEPEND}
diff --git a/media-video/ffmpeg/ffmpeg-4.2.9.ebuild b/media-video/ffmpeg/ffmpeg-4.2.9.ebuild
new file mode 100644
index 000000000000..d8539fabea04
--- /dev/null
+++ b/media-video/ffmpeg/ffmpeg-4.2.9.ebuild
@@ -0,0 +1,555 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+# Subslot: libavutil major.libavcodec major.libavformat major
+# Since FFmpeg ships several libraries, subslot is kind of limited here.
+# Most consumers will use those three libraries, if a "less used" library
+# changes its soname, consumers will have to be rebuilt the old way
+# (preserve-libs).
+# If, for example, a package does not link to libavformat and only libavformat
+# changes its ABI then this package will be rebuilt needlessly. Hence, such a
+# package is free _not_ to := depend on FFmpeg but I would strongly encourage
+# doing so since such a case is unlikely.
+FFMPEG_SUBSLOT=56.58.58
+
+SCM=""
+if [ "${PV#9999}" != "${PV}" ] ; then
+ SCM="git-r3"
+ EGIT_MIN_CLONE_TYPE="single"
+ EGIT_REPO_URI="https://git.ffmpeg.org/ffmpeg.git"
+fi
+
+inherit flag-o-matic multilib multilib-minimal toolchain-funcs ${SCM}
+
+DESCRIPTION="Complete solution to record/convert/stream audio and video. Includes libavcodec"
+HOMEPAGE="https://ffmpeg.org/"
+if [ "${PV#9999}" != "${PV}" ] ; then
+ SRC_URI=""
+elif [ "${PV%_p*}" != "${PV}" ] ; then # Snapshot
+ SRC_URI="mirror://gentoo/${P}.tar.xz"
+else # Release
+ SRC_URI="https://ffmpeg.org/releases/${P/_/-}.tar.xz
+ https://dev.gentoo.org/~gyakovlev/distfiles/${PN}-4.2.2-ppc64-altivec.patch.gz
+ https://dev.gentoo.org/~gyakovlev/distfiles/${PN}-4.2.2-ppc64-gcc.patch.gz
+ "
+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 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
+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
+ X:xlib X:libxcb X:libxcb-shm X:libxcb-xfixes +zlib
+ # libavdevice options
+ cdio:libcdio iec61883:libiec61883 ieee1394:libdc1394 libcaca openal
+ opengl
+ # indevs
+ libv4l:libv4l2 pulseaudio:libpulse libdrm jack:libjack
+ # decoders
+ amr:libopencore-amrwb amr:libopencore-amrnb codec2:libcodec2 dav1d:libdav1d fdk:libfdk-aac
+ jpeg2k:libopenjpeg bluray:libbluray gme:libgme gsm:libgsm
+ libaribb24 mmal modplug:libmodplug opus:libopus 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
+ # 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=(
+ 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
+)
+
+IUSE="
+ alsa chromium doc +encode oss pic static-libs test v4l
+ ${FFMPEG_FLAG_MAP[@]%:*}
+ ${FFMPEG_ENCODER_FLAG_MAP[@]%:*}
+"
+
+# Strings for CPU features in the useflag[:configure_option] form
+# if :configure_option isn't set, it will use 'useflag' as configure option
+ARM_CPU_FEATURES=(
+ cpu_flags_arm_thumb:armv5te
+ cpu_flags_arm_v6:armv6
+ cpu_flags_arm_thumb2:armv6t2
+ cpu_flags_arm_neon:neon
+ cpu_flags_arm_vfp:vfp
+ cpu_flags_arm_vfpv3:vfpv3
+ cpu_flags_arm_v8:armv8
+)
+ARM_CPU_REQUIRED_USE="
+ arm64? ( cpu_flags_arm_v8 )
+ cpu_flags_arm_v8? ( cpu_flags_arm_vfpv3 cpu_flags_arm_neon )
+ cpu_flags_arm_neon? ( cpu_flags_arm_thumb2 cpu_flags_arm_vfp )
+ cpu_flags_arm_vfpv3? ( cpu_flags_arm_vfp )
+ cpu_flags_arm_thumb2? ( cpu_flags_arm_v6 )
+ cpu_flags_arm_v6? ( 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}] )
+ amr? ( >=media-libs/opencore-amr-0.1.3-r1[${MULTILIB_USEDEP}] )
+ bluray? ( >=media-libs/libbluray-0.3.0-r1:=[${MULTILIB_USEDEP}] )
+ bs2b? ( >=media-libs/libbs2b-3.1.0-r1[${MULTILIB_USEDEP}] )
+ bzip2? ( >=app-arch/bzip2-1.0.6-r4[${MULTILIB_USEDEP}] )
+ cdio? ( >=dev-libs/libcdio-paranoia-0.90_p1-r1[${MULTILIB_USEDEP}] )
+ chromaprint? ( >=media-libs/chromaprint-1.2-r1[${MULTILIB_USEDEP}] )
+ codec2? ( media-libs/codec2[${MULTILIB_USEDEP}] )
+ dav1d? ( >=media-libs/dav1d-0.4.0:0=[${MULTILIB_USEDEP}] )
+ encode? (
+ amrenc? ( >=media-libs/vo-amrwbenc-0.1.2-r1[${MULTILIB_USEDEP}] )
+ kvazaar? ( >=media-libs/kvazaar-1.2.0[${MULTILIB_USEDEP}] )
+ mp3? ( >=media-sound/lame-3.99.5-r1[${MULTILIB_USEDEP}] )
+ openh264? ( >=media-libs/openh264-1.4.0-r1[${MULTILIB_USEDEP}] )
+ 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}]
+ )
+ 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}] )
+ 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 )
+ 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}] )
+ 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[${MULTILIB_USEDEP}]
+ >=sys-libs/libraw1394-2.1.0-r1[${MULTILIB_USEDEP}]
+ )
+ jack? ( virtual/jack[${MULTILIB_USEDEP}] )
+ jpeg2k? ( >=media-libs/openjpeg-2:2[${MULTILIB_USEDEP}] )
+ libaom? ( >=media-libs/libaom-1.0.0-r1:=[${MULTILIB_USEDEP}] )
+ libaribb24? ( >=media-libs/aribb24-1.0.3-r2[${MULTILIB_USEDEP}] )
+ libass? ( >=media-libs/libass-0.10.2:=[${MULTILIB_USEDEP}] )
+ libcaca? ( >=media-libs/libcaca-0.99_beta18-r1[${MULTILIB_USEDEP}] )
+ libdrm? ( x11-libs/libdrm[${MULTILIB_USEDEP}] )
+ libilbc? ( >=media-libs/libilbc-2[${MULTILIB_USEDEP}] )
+ librtmp? ( >=media-video/rtmpdump-2.4_p20131018[${MULTILIB_USEDEP}] )
+ libsoxr? ( >=media-libs/soxr-0.1.0[${MULTILIB_USEDEP}] )
+ libtesseract? ( >=app-text/tesseract-4.1.0-r1[${MULTILIB_USEDEP}] )
+ libv4l? ( >=media-libs/libv4l-0.9.5[${MULTILIB_USEDEP}] )
+ libxml2? ( dev-libs/libxml2:=[${MULTILIB_USEDEP}] )
+ lv2? ( media-libs/lv2[${MULTILIB_USEDEP}] media-libs/lilv[${MULTILIB_USEDEP}] )
+ lzma? ( >=app-arch/xz-utils-5.0.5-r1[${MULTILIB_USEDEP}] )
+ mmal? ( media-libs/raspberrypi-userland )
+ modplug? ( >=media-libs/libmodplug-0.8.8.4-r1[${MULTILIB_USEDEP}] )
+ openal? ( >=media-libs/openal-1.15.1[${MULTILIB_USEDEP}] )
+ opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
+ opengl? ( >=virtual/opengl-7.0-r1[${MULTILIB_USEDEP}] )
+ opus? ( >=media-libs/opus-1.0.2-r2[${MULTILIB_USEDEP}] )
+ pulseaudio? ( >=media-sound/pulseaudio-2.1-r1[${MULTILIB_USEDEP}] )
+ 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}] )
+ 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? ( >=media-libs/libva-1.2.1-r1:0=[${MULTILIB_USEDEP}] )
+ nvenc? ( >=media-libs/nv-codec-headers-9.0.18.0 )
+ vdpau? ( >=x11-libs/libvdpau-0.7[${MULTILIB_USEDEP}] )
+ vidstab? ( >=media-libs/vidstab-1.1.0[${MULTILIB_USEDEP}] )
+ 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}] )
+ X? (
+ >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
+ >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}]
+ >=x11-libs/libXv-1.0.10[${MULTILIB_USEDEP}]
+ >=x11-libs/libxcb-1.4[${MULTILIB_USEDEP}]
+ )
+ zeromq? ( >=net-libs/zeromq-4.1.6 )
+ zimg? ( >=media-libs/zimg-2.7.4:=[${MULTILIB_USEDEP}] )
+ zlib? ( >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] )
+ zvbi? ( >=media-libs/zvbi-0.2.35[${MULTILIB_USEDEP}] )
+ 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}] ) )
+"
+
+DEPEND="${RDEPEND}
+ ladspa? ( >=media-libs/ladspa-sdk-1.13-r2[${MULTILIB_USEDEP}] )
+ v4l? ( sys-kernel/linux-headers )
+"
+BDEPEND="
+ >=sys-devel/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 )
+"
+
+# Code requiring FFmpeg to be built under gpl license
+GPL_REQUIRED_USE="
+ postproc? ( gpl )
+ frei0r? ( gpl )
+ cdio? ( gpl )
+ rubberband? ( gpl )
+ samba? ( gpl )
+ encode? (
+ x264? ( gpl )
+ x265? ( gpl )
+ xvid? ( gpl )
+ )
+"
+REQUIRED_USE="
+ cuda? ( nvenc )
+ libv4l? ( v4l )
+ fftools_cws2fws? ( zlib )
+ test? ( encode )
+ ${GPL_REQUIRED_USE}
+ ${CPU_REQUIRED_USE}"
+RESTRICT="
+ !test? ( test )
+ gpl? ( openssl? ( bindist ) fdk? ( bindist ) )
+"
+
+S=${WORKDIR}/${P/_/-}
+
+PATCHES=(
+ "${FILESDIR}"/chromium-r1.patch
+ "${WORKDIR}"/${PN}-4.2.2-ppc64-gcc.patch # both ppc patches from
+ "${WORKDIR}"/${PN}-4.2.2-ppc64-altivec.patch # https://trac.ffmpeg.org/ticket/7861
+ "${FILESDIR}"/${PN}-5.0-backport-ranlib-build-fix.patch
+)
+
+MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/libavutil/avconfig.h
+)
+
+build_separate_libffmpeg() {
+ use opencl
+}
+
+src_prepare() {
+ if [[ "${PV%_p*}" != "${PV}" ]] ; then # Snapshot
+ export revision=git-N-${FFMPEG_REVISION}
+ fi
+ default
+ echo 'include $(SRC_PATH)/ffbuild/libffmpeg.mak' >> Makefile || die
+}
+
+multilib_src_configure() {
+ local myconf=( ${EXTRA_FFMPEG_CONF} )
+
+ # 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 ; do
+ use ${i} || myconf+=( --disable-indev=${i} )
+ done
+
+ # Outdevs
+ for i in alsa oss ; do
+ use ${i} || myconf+=( --disable-outdev=${i} )
+ done
+
+ # Decoders
+ use amr && myconf+=( --enable-version3 )
+ use gmp && myconf+=( --enable-version3 )
+ use libaribb24 && myconf+=( --enable-version3 )
+ use fdk && use gpl && myconf+=( --enable-nonfree )
+
+ for i in "${ffuse[@]#+}" ; do
+ myconf+=( $(use_enable ${i%:*} ${i#*:}) )
+ done
+
+ if use openssl ; then
+ myconf+=( --disable-gnutls )
+ fi
+
+ # (temporarily) disable non-multilib deps
+ if ! multilib_is_native_abi; then
+ for i in frei0r 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
+ is-flagq "-flto*" && myconf+=( "--enable-lto" )
+
+ # Mandatory configuration
+ myconf=(
+ --enable-avfilter
+ --enable-avresample
+ --disable-stripping
+ # This is only for hardcoded cflags; those are used in configure checks that may
+ # interfere with proper detections, bug #671746 and bug #645778
+ # We use optflags, so that overrides them anyway.
+ --disable-optimizations
+ --disable-libcelt # bug #664158
+ "${myconf[@]}"
+ )
+
+ # cross compile support
+ if tc-is-cross-compiler ; then
+ myconf+=( --enable-cross-compile --arch=$(tc-arch-kernel) --cross-prefix=${CHOST}- --host-cc="$(tc-getBUILD_CC)" )
+ case ${CHOST} in
+ *freebsd*)
+ myconf+=( --target-os=freebsd )
+ ;;
+ *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)
+ )
+
+ 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)" \
+ --strip="$(tc-getSTRIP)" \
+ --optflags="${CFLAGS}" \
+ $(use_enable static-libs static) \
+ "${myconf[@]}"
+ echo "${@}"
+ "${@}" || die
+
+ if multilib_is_native_abi && use chromium && build_separate_libffmpeg; then
+ einfo "Configuring for Chromium"
+ mkdir -p ../chromium || die
+ pushd ../chromium >/dev/null || die
+ set -- "${@}" \
+ --disable-shared \
+ --enable-static \
+ --enable-pic \
+ --disable-opencl
+ echo "${@}"
+ "${@}" || die
+ popd >/dev/null || die
+ fi
+}
+
+multilib_src_compile() {
+ emake V=1
+
+ if multilib_is_native_abi; then
+ for i in "${FFTOOLS[@]}" ; do
+ if use fftools_${i} ; then
+ emake V=1 tools/${i}$(get_exeext)
+ fi
+ done
+
+ if use chromium; then
+ if build_separate_libffmpeg; then
+ einfo "Compiling for Chromium"
+ pushd ../chromium >/dev/null || die
+ emake V=1 libffmpeg
+ popd >/dev/null || die
+ else
+ emake V=1 libffmpeg
+ fi
+ fi
+ fi
+}
+
+multilib_src_install() {
+ emake V=1 DESTDIR="${D}" install install-doc
+
+ if multilib_is_native_abi; then
+ for i in "${FFTOOLS[@]}" ; do
+ if use fftools_${i} ; then
+ dobin tools/${i}$(get_exeext)
+ fi
+ done
+
+ if use chromium; then
+ if build_separate_libffmpeg; then
+ einfo "Installing for Chromium"
+ pushd ../chromium >/dev/null || die
+ emake V=1 DESTDIR="${D}" install-libffmpeg
+ popd >/dev/null || die
+ else
+ emake V=1 DESTDIR="${D}" install-libffmpeg
+
+ # When not built separately, libffmpeg has no code of
+ # its own so this QA check raises a false positive.
+ QA_FLAGS_IGNORED+=" usr/$(get_libdir)/chromium/.*"
+ fi
+ fi
+ fi
+}
+
+multilib_src_install_all() {
+ dodoc Changelog README.md CREDITS doc/*.txt doc/APIchanges
+ [ -f "RELEASE_NOTES" ] && dodoc "RELEASE_NOTES"
+}
+
+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
+}
diff --git a/media-video/ffmpeg/ffmpeg-4.4.3.ebuild b/media-video/ffmpeg/ffmpeg-4.4.3.ebuild
index 3a700cb2f82f..2070be6dcdcb 100644
--- a/media-video/ffmpeg/ffmpeg-4.4.3.ebuild
+++ b/media-video/ffmpeg/ffmpeg-4.4.3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -281,8 +281,8 @@ RDEPEND="
"
RDEPEND="${RDEPEND}
- openssl? ( >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}] )
- !openssl? ( gnutls? ( >=net-libs/gnutls-2.12.23-r6:=[${MULTILIB_USEDEP}] ) )
+ openssl? ( >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}] )
+ !openssl? ( gnutls? ( >=net-libs/gnutls-2.12.23-r6:=[${MULTILIB_USEDEP}] ) )
"
DEPEND="${RDEPEND}
@@ -333,6 +333,7 @@ PATCHES=(
"${FILESDIR}"/chromium-r1.patch
"${FILESDIR}"/${PN}-5.0-backport-ranlib-build-fix.patch
"${FILESDIR}"/${P}-clang-14-ff_seek_frame_binary-crash.patch
+ "${FILESDIR}"/${PN}-4.4.3-get_cabac_inline_x86-32-bit.patch
)
MULTILIB_WRAPPED_HEADERS=(
diff --git a/media-video/ffmpeg/ffmpeg-4.4.4-r2.ebuild b/media-video/ffmpeg/ffmpeg-4.4.4-r2.ebuild
new file mode 100644
index 000000000000..bc0fa635b1d9
--- /dev/null
+++ b/media-video/ffmpeg/ffmpeg-4.4.4-r2.ebuild
@@ -0,0 +1,600 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Subslot: libavutil major.libavcodec major.libavformat major
+# Since FFmpeg ships several libraries, subslot is kind of limited here.
+# Most consumers will use those three libraries, if a "less used" library
+# changes its soname, consumers will have to be rebuilt the old way
+# (preserve-libs).
+# If, for example, a package does not link to libavformat and only libavformat
+# changes its ABI then this package will be rebuilt needlessly. Hence, such a
+# package is free _not_ to := depend on FFmpeg but I would strongly encourage
+# doing so since such a case is unlikely.
+FFMPEG_SUBSLOT=56.58.58
+
+SCM=""
+if [ "${PV#9999}" != "${PV}" ] ; then
+ SCM="git-r3"
+ EGIT_MIN_CLONE_TYPE="single"
+ EGIT_REPO_URI="https://git.ffmpeg.org/ffmpeg.git"
+fi
+
+inherit flag-o-matic multilib multilib-minimal toolchain-funcs ${SCM}
+
+DESCRIPTION="Complete solution to record/convert/stream audio and video. Includes libavcodec"
+HOMEPAGE="https://ffmpeg.org/"
+if [ "${PV#9999}" != "${PV}" ] ; then
+ SRC_URI=""
+elif [ "${PV%_p*}" != "${PV}" ] ; then # Snapshot
+ SRC_URI="mirror://gentoo/${P}.tar.xz"
+else # Release
+ VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/ffmpeg.asc
+ inherit verify-sig
+ SRC_URI="https://ffmpeg.org/releases/${P/_/-}.tar.xz"
+ SRC_URI+=" verify-sig? ( https://ffmpeg.org/releases/${P/_/-}.tar.xz.asc )"
+
+ BDEPEND=" verify-sig? ( sec-keys/openpgp-keys-ffmpeg )"
+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 ~x64-macos"
+fi
+
+# Options to use as use_enable in the foo[:bar] form.
+# This will feed configure with $(use_enable foo bar)
+# or $(use_enable foo foo) if no :bar is set.
+# foo is added to IUSE.
+FFMPEG_FLAG_MAP=(
+ +bzip2:bzlib cpudetection:runtime-cpudetect debug gcrypt +gnutls gmp
+ +gpl hardcoded-tables +iconv libxml2 lzma +network opencl
+ openssl +postproc samba:libsmbclient sdl:ffplay sdl:sdl2 vaapi vdpau vulkan
+ X:xlib X:libxcb X:libxcb-shm X:libxcb-xfixes +zlib
+ # libavdevice options
+ cdio:libcdio iec61883:libiec61883 ieee1394:libdc1394 libcaca openal
+ opengl
+ # indevs
+ libv4l:libv4l2 pulseaudio:libpulse libdrm jack:libjack
+ # decoders
+ amr:libopencore-amrwb amr:libopencore-amrnb codec2:libcodec2 +dav1d:libdav1d fdk:libfdk-aac
+ jpeg2k:libopenjpeg bluray:libbluray gme:libgme gsm:libgsm
+ libaribb24 mmal modplug:libmodplug opus:libopus qsv:libmfx libilbc librtmp ssh:libssh
+ speex:libspeex srt:libsrt svg:librsvg nvenc:ffnvcodec
+ vorbis:libvorbis vpx:libvpx zvbi:libzvbi
+ # libavfilter options
+ appkit
+ bs2b:libbs2b chromaprint cuda:cuda-llvm flite:libflite frei0r vmaf:libvmaf
+ fribidi:libfribidi fontconfig ladspa libass libtesseract lv2 truetype:libfreetype vidstab:libvidstab
+ rubberband:librubberband zeromq:libzmq zimg:libzimg
+ # libswresample options
+ libsoxr
+ # Threads; we only support pthread for now but ffmpeg supports more
+ +threads:pthreads
+)
+
+# Same as above but for encoders, i.e. they do something only with USE=encode.
+FFMPEG_ENCODER_FLAG_MAP=(
+ amf amrenc:libvo-amrwbenc kvazaar:libkvazaar libaom mp3:libmp3lame
+ openh264:libopenh264 rav1e:librav1e snappy:libsnappy svt-av1:libsvtav1
+ theora:libtheora twolame:libtwolame webp:libwebp x264:libx264
+ x265:libx265 xvid:libxvid
+)
+
+IUSE="
+ alsa chromium doc +encode oss pic sndio static-libs test v4l
+ ${FFMPEG_FLAG_MAP[@]%:*}
+ ${FFMPEG_ENCODER_FLAG_MAP[@]%:*}
+"
+
+# Strings for CPU features in the useflag[:configure_option] form
+# if :configure_option isn't set, it will use 'useflag' as configure option
+ARM_CPU_FEATURES=(
+ cpu_flags_arm_thumb:armv5te
+ cpu_flags_arm_v6:armv6
+ cpu_flags_arm_thumb2:armv6t2
+ cpu_flags_arm_neon:neon
+ cpu_flags_arm_vfp:vfp
+ cpu_flags_arm_vfpv3:vfpv3
+ cpu_flags_arm_v8:armv8
+)
+ARM_CPU_REQUIRED_USE="
+ arm64? ( cpu_flags_arm_v8 )
+ cpu_flags_arm_v8? ( cpu_flags_arm_vfpv3 cpu_flags_arm_neon )
+ cpu_flags_arm_neon? ( cpu_flags_arm_thumb2 cpu_flags_arm_vfp )
+ cpu_flags_arm_vfpv3? ( cpu_flags_arm_vfp )
+ cpu_flags_arm_thumb2? ( cpu_flags_arm_v6 )
+ cpu_flags_arm_v6? ( cpu_flags_arm_thumb )
+"
+MIPS_CPU_FEATURES=( mipsdspr1:mipsdsp mipsdspr2 mipsfpu )
+PPC_CPU_FEATURES=( cpu_flags_ppc_altivec:altivec cpu_flags_ppc_vsx:vsx cpu_flags_ppc_vsx2:power8 )
+PPC_CPU_REQUIRED_USE="
+ cpu_flags_ppc_vsx? ( cpu_flags_ppc_altivec )
+ cpu_flags_ppc_vsx2? ( cpu_flags_ppc_vsx )
+"
+X86_CPU_FEATURES_RAW=( 3dnow:amd3dnow 3dnowext:amd3dnowext aes:aesni avx:avx avx2:avx2 fma3:fma3 fma4:fma4 mmx:mmx mmxext:mmxext sse:sse sse2:sse2 sse3:sse3 ssse3:ssse3 sse4_1:sse4 sse4_2:sse42 xop:xop )
+X86_CPU_FEATURES=( ${X86_CPU_FEATURES_RAW[@]/#/cpu_flags_x86_} )
+X86_CPU_REQUIRED_USE="
+ cpu_flags_x86_avx2? ( cpu_flags_x86_avx )
+ cpu_flags_x86_fma4? ( cpu_flags_x86_avx )
+ cpu_flags_x86_fma3? ( cpu_flags_x86_avx )
+ cpu_flags_x86_xop? ( cpu_flags_x86_avx )
+ cpu_flags_x86_avx? ( cpu_flags_x86_sse4_2 )
+ cpu_flags_x86_aes? ( cpu_flags_x86_sse4_2 )
+ cpu_flags_x86_sse4_2? ( cpu_flags_x86_sse4_1 )
+ cpu_flags_x86_sse4_1? ( cpu_flags_x86_ssse3 )
+ cpu_flags_x86_ssse3? ( cpu_flags_x86_sse3 )
+ cpu_flags_x86_sse3? ( cpu_flags_x86_sse2 )
+ cpu_flags_x86_sse2? ( cpu_flags_x86_sse )
+ cpu_flags_x86_sse? ( cpu_flags_x86_mmxext )
+ cpu_flags_x86_mmxext? ( cpu_flags_x86_mmx )
+ cpu_flags_x86_3dnowext? ( cpu_flags_x86_3dnow )
+ cpu_flags_x86_3dnow? ( cpu_flags_x86_mmx )
+"
+
+CPU_FEATURES_MAP=(
+ ${ARM_CPU_FEATURES[@]}
+ ${MIPS_CPU_FEATURES[@]}
+ ${PPC_CPU_FEATURES[@]}
+ ${X86_CPU_FEATURES[@]}
+)
+IUSE="${IUSE}
+ ${CPU_FEATURES_MAP[@]%:*}"
+
+CPU_REQUIRED_USE="
+ ${ARM_CPU_REQUIRED_USE}
+ ${PPC_CPU_REQUIRED_USE}
+ ${X86_CPU_REQUIRED_USE}
+"
+
+FFTOOLS=( aviocat cws2fws ffescape ffeval ffhash fourcc2pixfmt graph2dot ismindex pktdumper qt-faststart sidxindex trasher )
+IUSE="${IUSE} ${FFTOOLS[@]/#/+fftools_}"
+
+RDEPEND="
+ alsa? ( >=media-libs/alsa-lib-1.0.27.2[${MULTILIB_USEDEP}] )
+ amf? ( media-video/amdgpu-pro-amf )
+ amr? ( >=media-libs/opencore-amr-0.1.3-r1[${MULTILIB_USEDEP}] )
+ bluray? ( >=media-libs/libbluray-0.3.0-r1:=[${MULTILIB_USEDEP}] )
+ bs2b? ( >=media-libs/libbs2b-3.1.0-r1[${MULTILIB_USEDEP}] )
+ bzip2? ( >=app-arch/bzip2-1.0.6-r4[${MULTILIB_USEDEP}] )
+ cdio? ( >=dev-libs/libcdio-paranoia-0.90_p1-r1[${MULTILIB_USEDEP}] )
+ chromaprint? ( >=media-libs/chromaprint-1.2-r1[${MULTILIB_USEDEP}] )
+ codec2? ( media-libs/codec2[${MULTILIB_USEDEP}] )
+ dav1d? ( >=media-libs/dav1d-0.4.0:0=[${MULTILIB_USEDEP}] )
+ encode? (
+ amrenc? ( >=media-libs/vo-amrwbenc-0.1.2-r1[${MULTILIB_USEDEP}] )
+ kvazaar? ( >=media-libs/kvazaar-1.2.0[${MULTILIB_USEDEP}] )
+ mp3? ( >=media-sound/lame-3.99.5-r1[${MULTILIB_USEDEP}] )
+ openh264? ( >=media-libs/openh264-1.4.0-r1:=[${MULTILIB_USEDEP}] )
+ rav1e? ( >=media-video/rav1e-0.4:=[capi] )
+ snappy? ( >=app-arch/snappy-1.1.2-r1:=[${MULTILIB_USEDEP}] )
+ theora? (
+ >=media-libs/libogg-1.3.0[${MULTILIB_USEDEP}]
+ >=media-libs/libtheora-1.1.1[encode,${MULTILIB_USEDEP}]
+ )
+ twolame? ( >=media-sound/twolame-0.3.13-r1[${MULTILIB_USEDEP}] )
+ webp? ( >=media-libs/libwebp-0.3.0:=[${MULTILIB_USEDEP}] )
+ x264? ( >=media-libs/x264-0.0.20130506:=[${MULTILIB_USEDEP}] )
+ x265? ( >=media-libs/x265-1.6:=[${MULTILIB_USEDEP}] )
+ xvid? ( >=media-libs/xvid-1.3.2-r1[${MULTILIB_USEDEP}] )
+ )
+ fdk? ( >=media-libs/fdk-aac-0.1.3:=[${MULTILIB_USEDEP}] )
+ flite? ( >=app-accessibility/flite-1.4-r4[${MULTILIB_USEDEP}] )
+ fontconfig? ( >=media-libs/fontconfig-2.10.92[${MULTILIB_USEDEP}] )
+ frei0r? ( media-plugins/frei0r-plugins[${MULTILIB_USEDEP}] )
+ fribidi? ( >=dev-libs/fribidi-0.19.6[${MULTILIB_USEDEP}] )
+ gcrypt? ( >=dev-libs/libgcrypt-1.6:0=[${MULTILIB_USEDEP}] )
+ gme? ( >=media-libs/game-music-emu-0.6.0[${MULTILIB_USEDEP}] )
+ gmp? ( >=dev-libs/gmp-6:0=[${MULTILIB_USEDEP}] )
+ gsm? ( >=media-sound/gsm-1.0.13-r1[${MULTILIB_USEDEP}] )
+ iconv? ( >=virtual/libiconv-0-r1[${MULTILIB_USEDEP}] )
+ iec61883? (
+ >=media-libs/libiec61883-1.2.0-r1[${MULTILIB_USEDEP}]
+ >=sys-libs/libraw1394-2.1.0-r1[${MULTILIB_USEDEP}]
+ >=sys-libs/libavc1394-0.5.4-r1[${MULTILIB_USEDEP}]
+ )
+ ieee1394? (
+ >=media-libs/libdc1394-2.2.1:2=[${MULTILIB_USEDEP}]
+ >=sys-libs/libraw1394-2.1.0-r1[${MULTILIB_USEDEP}]
+ )
+ jack? ( virtual/jack[${MULTILIB_USEDEP}] )
+ jpeg2k? ( >=media-libs/openjpeg-2:2[${MULTILIB_USEDEP}] )
+ libaom? ( >=media-libs/libaom-1.0.0-r1:=[${MULTILIB_USEDEP}] )
+ libaribb24? ( >=media-libs/aribb24-1.0.3-r2[${MULTILIB_USEDEP}] )
+ libass? ( >=media-libs/libass-0.10.2:=[${MULTILIB_USEDEP}] )
+ libcaca? ( >=media-libs/libcaca-0.99_beta18-r1[${MULTILIB_USEDEP}] )
+ libdrm? ( x11-libs/libdrm[${MULTILIB_USEDEP}] )
+ libilbc? ( >=media-libs/libilbc-2[${MULTILIB_USEDEP}] )
+ librtmp? ( >=media-video/rtmpdump-2.4_p20131018[${MULTILIB_USEDEP}] )
+ libsoxr? ( >=media-libs/soxr-0.1.0[${MULTILIB_USEDEP}] )
+ libtesseract? ( >=app-text/tesseract-4.1.0-r1[${MULTILIB_USEDEP}] )
+ libv4l? ( >=media-libs/libv4l-0.9.5[${MULTILIB_USEDEP}] )
+ libxml2? ( dev-libs/libxml2:=[${MULTILIB_USEDEP}] )
+ lv2? ( media-libs/lv2[${MULTILIB_USEDEP}] media-libs/lilv[${MULTILIB_USEDEP}] )
+ lzma? ( >=app-arch/xz-utils-5.0.5-r1[${MULTILIB_USEDEP}] )
+ mmal? ( media-libs/raspberrypi-userland )
+ modplug? ( >=media-libs/libmodplug-0.8.8.4-r1[${MULTILIB_USEDEP}] )
+ openal? ( >=media-libs/openal-1.15.1[${MULTILIB_USEDEP}] )
+ opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
+ opengl? ( >=virtual/opengl-7.0-r1[${MULTILIB_USEDEP}] )
+ opus? ( >=media-libs/opus-1.0.2-r2[${MULTILIB_USEDEP}] )
+ pulseaudio? ( >=media-sound/pulseaudio-2.1-r1[${MULTILIB_USEDEP}] )
+ qsv? ( media-libs/intel-mediasdk[${MULTILIB_USEDEP}] )
+ rubberband? ( >=media-libs/rubberband-1.8.1-r1[${MULTILIB_USEDEP}] )
+ samba? ( >=net-fs/samba-3.6.23-r1[client,${MULTILIB_USEDEP}] )
+ sdl? ( media-libs/libsdl2[sound,video,${MULTILIB_USEDEP}] )
+ sndio? ( media-sound/sndio:=[${MULTILIB_USEDEP}] )
+ speex? ( >=media-libs/speex-1.2_rc1-r1[${MULTILIB_USEDEP}] )
+ srt? ( >=net-libs/srt-1.3.0:=[${MULTILIB_USEDEP}] )
+ ssh? ( >=net-libs/libssh-0.5.5:=[sftp,${MULTILIB_USEDEP}] )
+ svg? (
+ gnome-base/librsvg:2=[${MULTILIB_USEDEP}]
+ x11-libs/cairo[${MULTILIB_USEDEP}]
+ )
+ nvenc? ( >=media-libs/nv-codec-headers-9.1.23.1 )
+ svt-av1? ( >=media-libs/svt-av1-0.8.4[${MULTILIB_USEDEP}] )
+ truetype? ( >=media-libs/freetype-2.5.0.1:2[${MULTILIB_USEDEP}] )
+ vaapi? ( >=media-libs/libva-1.2.1-r1:0=[${MULTILIB_USEDEP}] )
+ vdpau? ( >=x11-libs/libvdpau-0.7[${MULTILIB_USEDEP}] )
+ vidstab? ( >=media-libs/vidstab-1.1.0[${MULTILIB_USEDEP}] )
+ vmaf? ( media-libs/libvmaf[${MULTILIB_USEDEP}] )
+ vorbis? (
+ >=media-libs/libvorbis-1.3.3-r1[${MULTILIB_USEDEP}]
+ >=media-libs/libogg-1.3.0[${MULTILIB_USEDEP}]
+ )
+ vpx? ( >=media-libs/libvpx-1.4.0:=[${MULTILIB_USEDEP}] )
+ vulkan? ( >=media-libs/vulkan-loader-1.1.97:=[${MULTILIB_USEDEP}] )
+ X? (
+ >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
+ >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}]
+ >=x11-libs/libXv-1.0.10[${MULTILIB_USEDEP}]
+ >=x11-libs/libxcb-1.4:=[${MULTILIB_USEDEP}]
+ )
+ zeromq? ( >=net-libs/zeromq-4.1.6 )
+ zimg? ( >=media-libs/zimg-2.7.4:=[${MULTILIB_USEDEP}] )
+ zlib? ( >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] )
+ zvbi? ( >=media-libs/zvbi-0.2.35[${MULTILIB_USEDEP}] )
+"
+
+RDEPEND="${RDEPEND}
+ openssl? ( >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}] )
+ !openssl? ( gnutls? ( >=net-libs/gnutls-2.12.23-r6:=[${MULTILIB_USEDEP}] ) )
+"
+
+DEPEND="${RDEPEND}
+ amf? ( media-libs/amf-headers )
+ ladspa? ( >=media-libs/ladspa-sdk-1.13-r2[${MULTILIB_USEDEP}] )
+ v4l? ( sys-kernel/linux-headers )
+"
+
+# += for verify-sig above
+BDEPEND+="
+ >=sys-devel/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 )
+"
+
+# Code requiring FFmpeg to be built under gpl license
+GPL_REQUIRED_USE="
+ postproc? ( gpl )
+ frei0r? ( gpl )
+ cdio? ( gpl )
+ rubberband? ( gpl )
+ vidstab? ( gpl )
+ samba? ( gpl )
+ encode? (
+ x264? ( gpl )
+ x265? ( gpl )
+ xvid? ( gpl )
+ )
+"
+REQUIRED_USE="
+ cuda? ( nvenc )
+ libv4l? ( v4l )
+ fftools_cws2fws? ( zlib )
+ test? ( encode )
+ ${GPL_REQUIRED_USE}
+ ${CPU_REQUIRED_USE}"
+RESTRICT="
+ !test? ( test )
+ gpl? ( openssl? ( bindist ) fdk? ( bindist ) )
+"
+
+S=${WORKDIR}/${P/_/-}
+
+PATCHES=(
+ "${FILESDIR}"/chromium-r1.patch
+ "${FILESDIR}"/${PN}-5.0-backport-ranlib-build-fix.patch
+ "${FILESDIR}"/${PN}-4.4.3-clang-14-ff_seek_frame_binary-crash.patch
+ "${FILESDIR}"/${PN}-4.4.3-get_cabac_inline_x86-32-bit.patch
+ "${FILESDIR}"/${PN}-4.4.4-wint-conversion-vulkan.patch
+)
+
+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
+
+ 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 )
+
+ # Encoders
+ if use encode ; then
+ ffuse+=( "${FFMPEG_ENCODER_FLAG_MAP[@]}" )
+
+ # Licensing.
+ if use amrenc ; then
+ myconf+=( --enable-version3 )
+ fi
+ else
+ myconf+=( --disable-encoders )
+ fi
+
+ # Indevs
+ use v4l || myconf+=( --disable-indev=v4l2 --disable-outdev=v4l2 )
+ for i in alsa oss jack sndio ; do
+ use ${i} || myconf+=( --disable-indev=${i} )
+ done
+
+ # Outdevs
+ for i in alsa oss sndio ; do
+ use ${i} || myconf+=( --disable-outdev=${i} )
+ done
+
+ # Decoders
+ use amr && myconf+=( --enable-version3 )
+ use gmp && myconf+=( --enable-version3 )
+ use libaribb24 && myconf+=( --enable-version3 )
+ use fdk && use gpl && myconf+=( --enable-nonfree )
+
+ for i in "${ffuse[@]#+}" ; do
+ myconf+=( $(use_enable ${i%:*} ${i#*:}) )
+ done
+
+ if use openssl ; then
+ myconf+=( --disable-gnutls )
+ fi
+
+ # (temporarily) disable non-multilib deps
+ if ! multilib_is_native_abi; then
+ for i in librav1e libzmq ; do
+ myconf+=( --disable-${i} )
+ done
+ fi
+
+ # CPU features
+ for i in "${CPU_FEATURES_MAP[@]}" ; do
+ use ${i%:*} || myconf+=( --disable-${i#*:} )
+ done
+
+ if use pic ; then
+ myconf+=( --enable-pic )
+ # disable asm code if PIC is required
+ # as the provided asm decidedly is not PIC for x86.
+ [[ ${ABI} == x86 ]] && myconf+=( --disable-asm )
+ fi
+ [[ ${ABI} == x32 ]] && myconf+=( --disable-asm ) #427004
+
+ # Try to get cpu type based on CFLAGS.
+ # Bug #172723
+ # We need to do this so that features of that CPU will be better used
+ # If they contain an unknown CPU it will not hurt since ffmpeg's configure
+ # will just ignore it.
+ for i in $(get-flag mcpu) $(get-flag march) ; do
+ [[ ${i} = native ]] && i="host" # bug #273421
+ myconf+=( --cpu=${i} )
+ break
+ done
+
+ # LTO support, bug #566282, bug #754654, bug #772854
+ [[ ${ABI} != x86 ]] && is-flagq "-flto*" && myconf+=( "--enable-lto" )
+ filter-lto
+
+ # Mandatory configuration
+ myconf=(
+ --enable-avfilter
+ --enable-avresample
+ --disable-stripping
+ # This is only for hardcoded cflags; those are used in configure checks that may
+ # interfere with proper detections, bug #671746 and bug #645778
+ # We use optflags, so that overrides them anyway.
+ --disable-optimizations
+ --disable-libcelt # bug #664158
+ "${myconf[@]}"
+ )
+
+ # cross compile support
+ if tc-is-cross-compiler ; then
+ myconf+=( --enable-cross-compile --arch=$(tc-arch-kernel) --cross-prefix=${CHOST}- --host-cc="$(tc-getBUILD_CC)" )
+ case ${CHOST} in
+ *freebsd*)
+ myconf+=( --target-os=freebsd )
+ ;;
+ *mingw32*)
+ myconf+=( --target-os=mingw32 )
+ ;;
+ *linux*)
+ myconf+=( --target-os=linux )
+ ;;
+ esac
+ fi
+
+ # doc
+ myconf+=(
+ $(multilib_native_use_enable doc)
+ $(multilib_native_use_enable doc htmlpages)
+ $(multilib_native_enable manpages)
+ )
+
+ # Use --extra-libs if needed for LIBS
+ set -- "${S}/configure" \
+ --prefix="${EPREFIX}/usr" \
+ --libdir="${EPREFIX}/usr/$(get_libdir)" \
+ --shlibdir="${EPREFIX}/usr/$(get_libdir)" \
+ --docdir="${EPREFIX}/usr/share/doc/${PF}/html" \
+ --mandir="${EPREFIX}/usr/share/man" \
+ --enable-shared \
+ --cc="$(tc-getCC)" \
+ --cxx="$(tc-getCXX)" \
+ --ar="$(tc-getAR)" \
+ --nm="$(tc-getNM)" \
+ --strip="$(tc-getSTRIP)" \
+ --ranlib="$(tc-getRANLIB)" \
+ --pkg-config="$(tc-getPKG_CONFIG)" \
+ --optflags="${CFLAGS}" \
+ $(use_enable static-libs static) \
+ "${myconf[@]}" \
+ ${EXTRA_FFMPEG_CONF}
+ echo "${@}"
+ "${@}" || die
+
+ if multilib_is_native_abi && use chromium && build_separate_libffmpeg; then
+ einfo "Configuring for Chromium"
+ mkdir -p ../chromium || die
+ pushd ../chromium >/dev/null || die
+ set -- "${@}" \
+ --disable-shared \
+ --enable-static \
+ --enable-pic \
+ --disable-opencl
+ echo "${@}"
+ "${@}" || die
+ popd >/dev/null || die
+ fi
+}
+
+multilib_src_compile() {
+ emake V=1
+
+ if multilib_is_native_abi; then
+ for i in "${FFTOOLS[@]}" ; do
+ if use fftools_${i} ; then
+ emake V=1 tools/${i}$(get_exeext)
+ fi
+ done
+
+ if use chromium; then
+ if build_separate_libffmpeg; then
+ einfo "Compiling for Chromium"
+ pushd ../chromium >/dev/null || die
+ emake V=1 libffmpeg
+ popd >/dev/null || die
+ else
+ emake V=1 libffmpeg
+ fi
+ fi
+ fi
+}
+
+multilib_src_test() {
+ LD_LIBRARY_PATH="${BUILD_DIR}/libpostproc:${BUILD_DIR}/libswscale:${BUILD_DIR}/libswresample:${BUILD_DIR}/libavcodec:${BUILD_DIR}/libavdevice:${BUILD_DIR}/libavfilter:${BUILD_DIR}/libavformat:${BUILD_DIR}/libavutil:${BUILD_DIR}/libavresample" \
+ emake V=1 fate
+}
+
+multilib_src_install() {
+ emake V=1 DESTDIR="${D}" install install-doc
+
+ if multilib_is_native_abi; then
+ for i in "${FFTOOLS[@]}" ; do
+ if use fftools_${i} ; then
+ dobin tools/${i}$(get_exeext)
+ fi
+ done
+
+ if use chromium; then
+ if build_separate_libffmpeg; then
+ einfo "Installing for Chromium"
+ pushd ../chromium >/dev/null || die
+ emake V=1 DESTDIR="${D}" install-libffmpeg
+ popd >/dev/null || die
+ else
+ emake V=1 DESTDIR="${D}" install-libffmpeg
+
+ # When not built separately, libffmpeg has no code of
+ # its own so this QA check raises a false positive.
+ QA_FLAGS_IGNORED+=" usr/$(get_libdir)/chromium/.*"
+ fi
+ fi
+ fi
+}
+
+multilib_src_install_all() {
+ dodoc Changelog README.md CREDITS doc/*.txt doc/APIchanges
+ [ -f "RELEASE_NOTES" ] && dodoc "RELEASE_NOTES"
+
+ use amf && doenvd "${FILESDIR}"/amf-env-vulkan-override
+}
diff --git a/media-video/ffmpeg/ffmpeg-5.1.2-r2.ebuild b/media-video/ffmpeg/ffmpeg-5.1.2-r2.ebuild
new file mode 100644
index 000000000000..48779d29e0f0
--- /dev/null
+++ b/media-video/ffmpeg/ffmpeg-5.1.2-r2.ebuild
@@ -0,0 +1,600 @@
+# Copyright 1999-2023 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=57.59.59
+
+SCM=""
+if [ "${PV#9999}" != "${PV}" ] ; then
+ SCM="git-r3"
+ EGIT_MIN_CLONE_TYPE="single"
+ EGIT_REPO_URI="https://git.ffmpeg.org/ffmpeg.git"
+fi
+
+inherit flag-o-matic multilib multilib-minimal toolchain-funcs ${SCM}
+
+DESCRIPTION="Complete solution to record/convert/stream audio and video. Includes libavcodec"
+HOMEPAGE="https://ffmpeg.org/"
+if [ "${PV#9999}" != "${PV}" ] ; then
+ SRC_URI=""
+elif [ "${PV%_p*}" != "${PV}" ] ; then # Snapshot
+ SRC_URI="mirror://gentoo/${P}.tar.xz"
+else # Release
+ VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/ffmpeg.asc
+ inherit verify-sig
+ SRC_URI="https://ffmpeg.org/releases/${P/_/-}.tar.xz"
+ SRC_URI+=" verify-sig? ( https://ffmpeg.org/releases/${P/_/-}.tar.xz.asc )"
+
+ BDEPEND=" verify-sig? ( sec-keys/openpgp-keys-ffmpeg )"
+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 ~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 mmal modplug:libmodplug opus:libopus qsv:libmfx libilbc librtmp ssh:libssh
+ speex:libspeex srt:libsrt svg:librsvg nvenc:ffnvcodec
+ vorbis:libvorbis vpx:libvpx zvbi:libzvbi
+ # libavfilter options
+ appkit
+ bs2b:libbs2b chromaprint cuda:cuda-llvm flite:libflite frei0r vmaf:libvmaf
+ fribidi:libfribidi fontconfig ladspa lcms:lcms2 libass libplacebo libtesseract lv2
+ truetype:libfreetype vidstab:libvidstab
+ rubberband:librubberband zeromq:libzmq zimg:libzimg
+ # libswresample options
+ libsoxr
+ # Threads; we only support pthread for now but ffmpeg supports more
+ +threads:pthreads
+)
+
+# Same as above but for encoders, i.e. they do something only with USE=encode.
+FFMPEG_ENCODER_FLAG_MAP=(
+ amf amrenc:libvo-amrwbenc kvazaar:libkvazaar libaom mp3:libmp3lame
+ openh264:libopenh264 rav1e:librav1e snappy:libsnappy svt-av1:libsvtav1
+ theora:libtheora twolame:libtwolame webp:libwebp x264:libx264
+ x265:libx265 xvid:libxvid
+)
+
+IUSE="
+ alsa chromium doc +encode oss pic sndio static-libs test v4l
+ ${FFMPEG_FLAG_MAP[@]%:*}
+ ${FFMPEG_ENCODER_FLAG_MAP[@]%:*}
+"
+
+# Strings for CPU features in the useflag[:configure_option] form
+# if :configure_option isn't set, it will use 'useflag' as configure option
+ARM_CPU_FEATURES=(
+ cpu_flags_arm_thumb:armv5te
+ cpu_flags_arm_v6:armv6
+ cpu_flags_arm_thumb2:armv6t2
+ cpu_flags_arm_neon:neon
+ cpu_flags_arm_vfp:vfp
+ cpu_flags_arm_vfpv3:vfpv3
+ cpu_flags_arm_v8:armv8
+)
+ARM_CPU_REQUIRED_USE="
+ arm64? ( cpu_flags_arm_v8 )
+ cpu_flags_arm_v8? ( cpu_flags_arm_vfpv3 cpu_flags_arm_neon )
+ cpu_flags_arm_neon? ( cpu_flags_arm_thumb2 cpu_flags_arm_vfp )
+ cpu_flags_arm_vfpv3? ( cpu_flags_arm_vfp )
+ cpu_flags_arm_thumb2? ( cpu_flags_arm_v6 )
+ cpu_flags_arm_v6? ( cpu_flags_arm_thumb )
+"
+MIPS_CPU_FEATURES=( mipsdspr1:mipsdsp mipsdspr2 mipsfpu )
+PPC_CPU_FEATURES=( cpu_flags_ppc_altivec:altivec cpu_flags_ppc_vsx:vsx cpu_flags_ppc_vsx2:power8 )
+PPC_CPU_REQUIRED_USE="
+ cpu_flags_ppc_vsx? ( cpu_flags_ppc_altivec )
+ cpu_flags_ppc_vsx2? ( cpu_flags_ppc_vsx )
+"
+X86_CPU_FEATURES_RAW=( 3dnow:amd3dnow 3dnowext:amd3dnowext aes:aesni avx:avx avx2:avx2 fma3:fma3 fma4:fma4 mmx:mmx mmxext:mmxext sse:sse sse2:sse2 sse3:sse3 ssse3:ssse3 sse4_1:sse4 sse4_2:sse42 xop:xop )
+X86_CPU_FEATURES=( ${X86_CPU_FEATURES_RAW[@]/#/cpu_flags_x86_} )
+X86_CPU_REQUIRED_USE="
+ cpu_flags_x86_avx2? ( cpu_flags_x86_avx )
+ cpu_flags_x86_fma4? ( cpu_flags_x86_avx )
+ cpu_flags_x86_fma3? ( cpu_flags_x86_avx )
+ cpu_flags_x86_xop? ( cpu_flags_x86_avx )
+ cpu_flags_x86_avx? ( cpu_flags_x86_sse4_2 )
+ cpu_flags_x86_aes? ( cpu_flags_x86_sse4_2 )
+ cpu_flags_x86_sse4_2? ( cpu_flags_x86_sse4_1 )
+ cpu_flags_x86_sse4_1? ( cpu_flags_x86_ssse3 )
+ cpu_flags_x86_ssse3? ( cpu_flags_x86_sse3 )
+ cpu_flags_x86_sse3? ( cpu_flags_x86_sse2 )
+ cpu_flags_x86_sse2? ( cpu_flags_x86_sse )
+ cpu_flags_x86_sse? ( cpu_flags_x86_mmxext )
+ cpu_flags_x86_mmxext? ( cpu_flags_x86_mmx )
+ cpu_flags_x86_3dnowext? ( cpu_flags_x86_3dnow )
+ cpu_flags_x86_3dnow? ( cpu_flags_x86_mmx )
+"
+
+CPU_FEATURES_MAP=(
+ ${ARM_CPU_FEATURES[@]}
+ ${MIPS_CPU_FEATURES[@]}
+ ${PPC_CPU_FEATURES[@]}
+ ${X86_CPU_FEATURES[@]}
+)
+IUSE="${IUSE}
+ ${CPU_FEATURES_MAP[@]%:*}"
+
+CPU_REQUIRED_USE="
+ ${ARM_CPU_REQUIRED_USE}
+ ${PPC_CPU_REQUIRED_USE}
+ ${X86_CPU_REQUIRED_USE}
+"
+
+FFTOOLS=( aviocat cws2fws ffescape ffeval ffhash fourcc2pixfmt graph2dot ismindex pktdumper qt-faststart sidxindex trasher )
+IUSE="${IUSE} ${FFTOOLS[@]/#/+fftools_}"
+
+RDEPEND="
+ alsa? ( >=media-libs/alsa-lib-1.0.27.2[${MULTILIB_USEDEP}] )
+ amf? ( media-video/amdgpu-pro-amf )
+ amr? ( >=media-libs/opencore-amr-0.1.3-r1[${MULTILIB_USEDEP}] )
+ bluray? ( >=media-libs/libbluray-0.3.0-r1:=[${MULTILIB_USEDEP}] )
+ bs2b? ( >=media-libs/libbs2b-3.1.0-r1[${MULTILIB_USEDEP}] )
+ bzip2? ( >=app-arch/bzip2-1.0.6-r4[${MULTILIB_USEDEP}] )
+ cdio? ( >=dev-libs/libcdio-paranoia-0.90_p1-r1[${MULTILIB_USEDEP}] )
+ chromaprint? ( >=media-libs/chromaprint-1.2-r1[${MULTILIB_USEDEP}] )
+ codec2? ( media-libs/codec2[${MULTILIB_USEDEP}] )
+ dav1d? ( >=media-libs/dav1d-0.4.0:0=[${MULTILIB_USEDEP}] )
+ encode? (
+ amrenc? ( >=media-libs/vo-amrwbenc-0.1.2-r1[${MULTILIB_USEDEP}] )
+ kvazaar? ( >=media-libs/kvazaar-1.2.0[${MULTILIB_USEDEP}] )
+ mp3? ( >=media-sound/lame-3.99.5-r1[${MULTILIB_USEDEP}] )
+ openh264? ( >=media-libs/openh264-1.4.0-r1:=[${MULTILIB_USEDEP}] )
+ rav1e? ( >=media-video/rav1e-0.4:=[capi] )
+ snappy? ( >=app-arch/snappy-1.1.2-r1:=[${MULTILIB_USEDEP}] )
+ theora? (
+ >=media-libs/libogg-1.3.0[${MULTILIB_USEDEP}]
+ >=media-libs/libtheora-1.1.1[encode,${MULTILIB_USEDEP}]
+ )
+ twolame? ( >=media-sound/twolame-0.3.13-r1[${MULTILIB_USEDEP}] )
+ webp? ( >=media-libs/libwebp-0.3.0:=[${MULTILIB_USEDEP}] )
+ x264? ( >=media-libs/x264-0.0.20130506:=[${MULTILIB_USEDEP}] )
+ x265? ( >=media-libs/x265-1.6:=[${MULTILIB_USEDEP}] )
+ xvid? ( >=media-libs/xvid-1.3.2-r1[${MULTILIB_USEDEP}] )
+ )
+ fdk? ( >=media-libs/fdk-aac-0.1.3:=[${MULTILIB_USEDEP}] )
+ flite? ( >=app-accessibility/flite-1.4-r4[${MULTILIB_USEDEP}] )
+ fontconfig? ( >=media-libs/fontconfig-2.10.92[${MULTILIB_USEDEP}] )
+ frei0r? ( media-plugins/frei0r-plugins[${MULTILIB_USEDEP}] )
+ fribidi? ( >=dev-libs/fribidi-0.19.6[${MULTILIB_USEDEP}] )
+ gcrypt? ( >=dev-libs/libgcrypt-1.6:0=[${MULTILIB_USEDEP}] )
+ gme? ( >=media-libs/game-music-emu-0.6.0[${MULTILIB_USEDEP}] )
+ gmp? ( >=dev-libs/gmp-6:0=[${MULTILIB_USEDEP}] )
+ gsm? ( >=media-sound/gsm-1.0.13-r1[${MULTILIB_USEDEP}] )
+ iconv? ( >=virtual/libiconv-0-r1[${MULTILIB_USEDEP}] )
+ iec61883? (
+ >=media-libs/libiec61883-1.2.0-r1[${MULTILIB_USEDEP}]
+ >=sys-libs/libraw1394-2.1.0-r1[${MULTILIB_USEDEP}]
+ >=sys-libs/libavc1394-0.5.4-r1[${MULTILIB_USEDEP}]
+ )
+ ieee1394? (
+ >=media-libs/libdc1394-2.2.1:2=[${MULTILIB_USEDEP}]
+ >=sys-libs/libraw1394-2.1.0-r1[${MULTILIB_USEDEP}]
+ )
+ jack? ( virtual/jack[${MULTILIB_USEDEP}] )
+ jpeg2k? ( >=media-libs/openjpeg-2:2[${MULTILIB_USEDEP}] )
+ 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}] )
+ mmal? ( media-libs/raspberrypi-userland )
+ modplug? ( >=media-libs/libmodplug-0.8.8.4-r1[${MULTILIB_USEDEP}] )
+ openal? ( >=media-libs/openal-1.15.1[${MULTILIB_USEDEP}] )
+ opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
+ opengl? ( >=virtual/opengl-7.0-r1[${MULTILIB_USEDEP}] )
+ opus? ( >=media-libs/opus-1.0.2-r2[${MULTILIB_USEDEP}] )
+ pulseaudio? ( >=media-sound/pulseaudio-2.1-r1[${MULTILIB_USEDEP}] )
+ qsv? ( media-libs/intel-mediasdk[${MULTILIB_USEDEP}] )
+ rubberband? ( >=media-libs/rubberband-1.8.1-r1[${MULTILIB_USEDEP}] )
+ samba? ( >=net-fs/samba-3.6.23-r1[client,${MULTILIB_USEDEP}] )
+ sdl? ( media-libs/libsdl2[sound,video,${MULTILIB_USEDEP}] )
+ sndio? ( media-sound/sndio:=[${MULTILIB_USEDEP}] )
+ speex? ( >=media-libs/speex-1.2_rc1-r1[${MULTILIB_USEDEP}] )
+ srt? ( >=net-libs/srt-1.3.0:=[${MULTILIB_USEDEP}] )
+ ssh? ( >=net-libs/libssh-0.5.5:=[sftp,${MULTILIB_USEDEP}] )
+ svg? (
+ gnome-base/librsvg:2=[${MULTILIB_USEDEP}]
+ x11-libs/cairo[${MULTILIB_USEDEP}]
+ )
+ nvenc? ( >=media-libs/nv-codec-headers-9.1.23.1 )
+ svt-av1? ( >=media-libs/svt-av1-0.9.0[${MULTILIB_USEDEP}] )
+ truetype? ( >=media-libs/freetype-2.5.0.1:2[${MULTILIB_USEDEP}] )
+ vaapi? ( >=media-libs/libva-1.2.1-r1:0=[${MULTILIB_USEDEP}] )
+ vdpau? ( >=x11-libs/libvdpau-0.7[${MULTILIB_USEDEP}] )
+ vidstab? ( >=media-libs/vidstab-1.1.0[${MULTILIB_USEDEP}] )
+ vmaf? ( >=media-libs/libvmaf-2.0.0[${MULTILIB_USEDEP}] )
+ vorbis? (
+ >=media-libs/libvorbis-1.3.3-r1[${MULTILIB_USEDEP}]
+ >=media-libs/libogg-1.3.0[${MULTILIB_USEDEP}]
+ )
+ vpx? ( >=media-libs/libvpx-1.4.0:=[${MULTILIB_USEDEP}] )
+ vulkan? ( >=media-libs/vulkan-loader-1.2.189:=[${MULTILIB_USEDEP}] )
+ X? (
+ >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
+ >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}]
+ >=x11-libs/libXv-1.0.10[${MULTILIB_USEDEP}]
+ >=x11-libs/libxcb-1.4:=[${MULTILIB_USEDEP}]
+ )
+ zeromq? ( >=net-libs/zeromq-4.1.6 )
+ zimg? ( >=media-libs/zimg-2.7.4:=[${MULTILIB_USEDEP}] )
+ zlib? ( >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] )
+ zvbi? ( >=media-libs/zvbi-0.2.35[${MULTILIB_USEDEP}] )
+"
+
+RDEPEND="${RDEPEND}
+ openssl? ( >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}] )
+ !openssl? ( gnutls? ( >=net-libs/gnutls-2.12.23-r6:=[${MULTILIB_USEDEP}] ) )
+"
+
+DEPEND="${RDEPEND}
+ amf? ( media-libs/amf-headers )
+ ladspa? ( >=media-libs/ladspa-sdk-1.13-r2[${MULTILIB_USEDEP}] )
+ v4l? ( sys-kernel/linux-headers )
+"
+
+# += for verify-sig above
+BDEPEND+="
+ >=sys-devel/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 )
+"
+
+# Code requiring FFmpeg to be built under gpl license
+GPL_REQUIRED_USE="
+ postproc? ( gpl )
+ frei0r? ( gpl )
+ cdio? ( gpl )
+ rubberband? ( gpl )
+ vidstab? ( gpl )
+ samba? ( gpl )
+ encode? (
+ x264? ( gpl )
+ x265? ( gpl )
+ xvid? ( gpl )
+ )
+"
+REQUIRED_USE="
+ cuda? ( nvenc )
+ libv4l? ( v4l )
+ fftools_cws2fws? ( zlib )
+ test? ( encode )
+ ${GPL_REQUIRED_USE}
+ ${CPU_REQUIRED_USE}"
+RESTRICT="
+ !test? ( test )
+ gpl? ( openssl? ( bindist ) fdk? ( bindist ) )
+"
+
+S=${WORKDIR}/${P/_/-}
+
+PATCHES=(
+ "${FILESDIR}"/chromium-r1.patch
+ "${FILESDIR}"/${P}-vulkan.patch
+ "${FILESDIR}"/${PN}-5.1.2-get_cabac_inline_x86-32-bit.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
+
+ 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 )
+
+ # 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
+ [[ ${ABI} != x86 ]] && is-flagq "-flto*" && myconf+=( "--enable-lto" )
+ filter-lto
+
+ # Mandatory configuration
+ myconf=(
+ --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
+ *freebsd*)
+ myconf+=( --target-os=freebsd )
+ ;;
+ *mingw32*)
+ myconf+=( --target-os=mingw32 )
+ ;;
+ *linux*)
+ myconf+=( --target-os=linux )
+ ;;
+ esac
+ fi
+
+ # doc
+ myconf+=(
+ $(multilib_native_use_enable doc)
+ $(multilib_native_use_enable doc htmlpages)
+ $(multilib_native_enable manpages)
+ )
+
+ # Use --extra-libs if needed for LIBS
+ set -- "${S}/configure" \
+ --prefix="${EPREFIX}/usr" \
+ --libdir="${EPREFIX}/usr/$(get_libdir)" \
+ --shlibdir="${EPREFIX}/usr/$(get_libdir)" \
+ --docdir="${EPREFIX}/usr/share/doc/${PF}/html" \
+ --mandir="${EPREFIX}/usr/share/man" \
+ --enable-shared \
+ --cc="$(tc-getCC)" \
+ --cxx="$(tc-getCXX)" \
+ --ar="$(tc-getAR)" \
+ --nm="$(tc-getNM)" \
+ --strip="$(tc-getSTRIP)" \
+ --ranlib="$(tc-getRANLIB)" \
+ --pkg-config="$(tc-getPKG_CONFIG)" \
+ --optflags="${CFLAGS}" \
+ $(use_enable static-libs static) \
+ "${myconf[@]}" \
+ ${EXTRA_FFMPEG_CONF}
+ echo "${@}"
+ "${@}" || die
+
+ if multilib_is_native_abi && use chromium && build_separate_libffmpeg; then
+ einfo "Configuring for Chromium"
+ mkdir -p ../chromium || die
+ pushd ../chromium >/dev/null || die
+ set -- "${@}" \
+ --disable-shared \
+ --enable-static \
+ --enable-pic \
+ --disable-opencl
+ echo "${@}"
+ "${@}" || die
+ popd >/dev/null || die
+ fi
+}
+
+multilib_src_compile() {
+ emake V=1
+
+ if multilib_is_native_abi; then
+ for i in "${FFTOOLS[@]}" ; do
+ if use fftools_${i} ; then
+ emake V=1 tools/${i}$(get_exeext)
+ fi
+ done
+
+ if use chromium; then
+ if build_separate_libffmpeg; then
+ einfo "Compiling for Chromium"
+ pushd ../chromium >/dev/null || die
+ emake V=1 libffmpeg
+ popd >/dev/null || die
+ else
+ emake V=1 libffmpeg
+ fi
+ fi
+ fi
+}
+
+multilib_src_test() {
+ LD_LIBRARY_PATH="${BUILD_DIR}/libpostproc:${BUILD_DIR}/libswscale:${BUILD_DIR}/libswresample:${BUILD_DIR}/libavcodec:${BUILD_DIR}/libavdevice:${BUILD_DIR}/libavfilter:${BUILD_DIR}/libavformat:${BUILD_DIR}/libavutil" \
+ emake V=1 fate
+}
+
+multilib_src_install() {
+ emake V=1 DESTDIR="${D}" install install-doc
+
+ if multilib_is_native_abi; then
+ for i in "${FFTOOLS[@]}" ; do
+ if use fftools_${i} ; then
+ dobin tools/${i}$(get_exeext)
+ fi
+ done
+
+ if use chromium; then
+ if build_separate_libffmpeg; then
+ einfo "Installing for Chromium"
+ pushd ../chromium >/dev/null || die
+ emake V=1 DESTDIR="${D}" install-libffmpeg
+ popd >/dev/null || die
+ else
+ emake V=1 DESTDIR="${D}" install-libffmpeg
+
+ # When not built separately, libffmpeg has no code of
+ # its own so this QA check raises a false positive.
+ QA_FLAGS_IGNORED+=" usr/$(get_libdir)/chromium/.*"
+ fi
+ fi
+ fi
+}
+
+multilib_src_install_all() {
+ dodoc Changelog README.md CREDITS doc/*.txt doc/APIchanges
+ [ -f "RELEASE_NOTES" ] && dodoc "RELEASE_NOTES"
+
+ use amf && doenvd "${FILESDIR}"/amf-env-vulkan-override
+}
diff --git a/media-video/ffmpeg/ffmpeg-5.1.2-r1.ebuild b/media-video/ffmpeg/ffmpeg-5.1.3.ebuild
index 3467de2ac40e..7cc06a079480 100644
--- a/media-video/ffmpeg/ffmpeg-5.1.2-r1.ebuild
+++ b/media-video/ffmpeg/ffmpeg-5.1.3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -248,7 +248,7 @@ RDEPEND="
opengl? ( >=virtual/opengl-7.0-r1[${MULTILIB_USEDEP}] )
opus? ( >=media-libs/opus-1.0.2-r2[${MULTILIB_USEDEP}] )
pulseaudio? ( >=media-sound/pulseaudio-2.1-r1[${MULTILIB_USEDEP}] )
- qsv? ( media-libs/intel-mediasdk )
+ 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}] )
@@ -286,8 +286,8 @@ RDEPEND="
"
RDEPEND="${RDEPEND}
- openssl? ( >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}] )
- !openssl? ( gnutls? ( >=net-libs/gnutls-2.12.23-r6:=[${MULTILIB_USEDEP}] ) )
+ openssl? ( >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}] )
+ !openssl? ( gnutls? ( >=net-libs/gnutls-2.12.23-r6:=[${MULTILIB_USEDEP}] ) )
"
DEPEND="${RDEPEND}
@@ -336,6 +336,7 @@ S=${WORKDIR}/${P/_/-}
PATCHES=(
"${FILESDIR}"/chromium-r1.patch
+ "${FILESDIR}"/${PN}-5.1.2-get_cabac_inline_x86-32-bit.patch
)
MULTILIB_WRAPPED_HEADERS=(
@@ -430,7 +431,7 @@ multilib_src_configure() {
# (temporarily) disable non-multilib deps
if ! multilib_is_native_abi; then
- for i in librav1e libmfx libzmq ; do
+ for i in librav1e libzmq ; do
myconf+=( --disable-${i} )
done
fi
diff --git a/media-video/ffmpeg/ffmpeg-6.0-r1.ebuild b/media-video/ffmpeg/ffmpeg-6.0-r1.ebuild
new file mode 100644
index 000000000000..fa9cd94fc61e
--- /dev/null
+++ b/media-video/ffmpeg/ffmpeg-6.0-r1.ebuild
@@ -0,0 +1,600 @@
+# Copyright 1999-2023 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
+
+SCM=""
+if [ "${PV#9999}" != "${PV}" ] ; then
+ SCM="git-r3"
+ EGIT_MIN_CLONE_TYPE="single"
+ EGIT_REPO_URI="https://git.ffmpeg.org/ffmpeg.git"
+fi
+
+inherit flag-o-matic multilib multilib-minimal toolchain-funcs ${SCM}
+
+DESCRIPTION="Complete solution to record/convert/stream audio and video. Includes libavcodec"
+HOMEPAGE="https://ffmpeg.org/"
+if [ "${PV#9999}" != "${PV}" ] ; then
+ SRC_URI=""
+elif [ "${PV%_p*}" != "${PV}" ] ; then # Snapshot
+ SRC_URI="mirror://gentoo/${P}.tar.xz"
+else # Release
+ VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/ffmpeg.asc
+ inherit verify-sig
+ SRC_URI="https://ffmpeg.org/releases/${P/_/-}.tar.xz"
+ SRC_URI+=" verify-sig? ( https://ffmpeg.org/releases/${P/_/-}.tar.xz.asc )"
+
+ BDEPEND=" verify-sig? ( sec-keys/openpgp-keys-ffmpeg )"
+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 ~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 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 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
+ # Threads; we only support pthread for now but ffmpeg supports more
+ +threads:pthreads
+)
+
+# Same as above but for encoders, i.e. they do something only with USE=encode.
+FFMPEG_ENCODER_FLAG_MAP=(
+ amf amrenc:libvo-amrwbenc kvazaar:libkvazaar libaom mp3:libmp3lame
+ openh264:libopenh264 rav1e:librav1e snappy:libsnappy svt-av1:libsvtav1
+ theora:libtheora twolame:libtwolame webp:libwebp x264:libx264
+ x265:libx265 xvid:libxvid
+)
+
+IUSE="
+ alsa chromium doc +encode oss pic sndio static-libs test v4l
+ ${FFMPEG_FLAG_MAP[@]%:*}
+ ${FFMPEG_ENCODER_FLAG_MAP[@]%:*}
+"
+
+# Strings for CPU features in the useflag[:configure_option] form
+# if :configure_option isn't set, it will use 'useflag' as configure option
+ARM_CPU_FEATURES=(
+ cpu_flags_arm_thumb:armv5te
+ cpu_flags_arm_v6:armv6
+ cpu_flags_arm_thumb2:armv6t2
+ cpu_flags_arm_neon:neon
+ cpu_flags_arm_vfp:vfp
+ cpu_flags_arm_vfpv3:vfpv3
+ cpu_flags_arm_v8:armv8
+)
+ARM_CPU_REQUIRED_USE="
+ arm64? ( cpu_flags_arm_v8 )
+ cpu_flags_arm_v8? ( cpu_flags_arm_vfpv3 cpu_flags_arm_neon )
+ cpu_flags_arm_neon? ( cpu_flags_arm_thumb2 cpu_flags_arm_vfp )
+ cpu_flags_arm_vfpv3? ( cpu_flags_arm_vfp )
+ cpu_flags_arm_thumb2? ( cpu_flags_arm_v6 )
+ cpu_flags_arm_v6? ( cpu_flags_arm_thumb )
+"
+MIPS_CPU_FEATURES=( mipsdspr1:mipsdsp mipsdspr2 mipsfpu )
+PPC_CPU_FEATURES=( cpu_flags_ppc_altivec:altivec cpu_flags_ppc_vsx:vsx cpu_flags_ppc_vsx2:power8 )
+PPC_CPU_REQUIRED_USE="
+ cpu_flags_ppc_vsx? ( cpu_flags_ppc_altivec )
+ cpu_flags_ppc_vsx2? ( cpu_flags_ppc_vsx )
+"
+X86_CPU_FEATURES_RAW=( 3dnow:amd3dnow 3dnowext:amd3dnowext aes:aesni avx:avx avx2:avx2 fma3:fma3 fma4:fma4 mmx:mmx mmxext:mmxext sse:sse sse2:sse2 sse3:sse3 ssse3:ssse3 sse4_1:sse4 sse4_2:sse42 xop:xop )
+X86_CPU_FEATURES=( ${X86_CPU_FEATURES_RAW[@]/#/cpu_flags_x86_} )
+X86_CPU_REQUIRED_USE="
+ cpu_flags_x86_avx2? ( cpu_flags_x86_avx )
+ cpu_flags_x86_fma4? ( cpu_flags_x86_avx )
+ cpu_flags_x86_fma3? ( cpu_flags_x86_avx )
+ cpu_flags_x86_xop? ( cpu_flags_x86_avx )
+ cpu_flags_x86_avx? ( cpu_flags_x86_sse4_2 )
+ cpu_flags_x86_aes? ( cpu_flags_x86_sse4_2 )
+ cpu_flags_x86_sse4_2? ( cpu_flags_x86_sse4_1 )
+ cpu_flags_x86_sse4_1? ( cpu_flags_x86_ssse3 )
+ cpu_flags_x86_ssse3? ( cpu_flags_x86_sse3 )
+ cpu_flags_x86_sse3? ( cpu_flags_x86_sse2 )
+ cpu_flags_x86_sse2? ( cpu_flags_x86_sse )
+ cpu_flags_x86_sse? ( cpu_flags_x86_mmxext )
+ cpu_flags_x86_mmxext? ( cpu_flags_x86_mmx )
+ cpu_flags_x86_3dnowext? ( cpu_flags_x86_3dnow )
+ cpu_flags_x86_3dnow? ( cpu_flags_x86_mmx )
+"
+
+CPU_FEATURES_MAP=(
+ ${ARM_CPU_FEATURES[@]}
+ ${MIPS_CPU_FEATURES[@]}
+ ${PPC_CPU_FEATURES[@]}
+ ${X86_CPU_FEATURES[@]}
+)
+IUSE="${IUSE}
+ ${CPU_FEATURES_MAP[@]%:*}"
+
+CPU_REQUIRED_USE="
+ ${ARM_CPU_REQUIRED_USE}
+ ${PPC_CPU_REQUIRED_USE}
+ ${X86_CPU_REQUIRED_USE}
+"
+
+FFTOOLS=( aviocat cws2fws ffescape ffeval ffhash fourcc2pixfmt graph2dot ismindex pktdumper qt-faststart sidxindex trasher )
+IUSE="${IUSE} ${FFTOOLS[@]/#/+fftools_}"
+
+RDEPEND="
+ alsa? ( >=media-libs/alsa-lib-1.0.27.2[${MULTILIB_USEDEP}] )
+ amf? ( media-video/amdgpu-pro-amf )
+ amr? ( >=media-libs/opencore-amr-0.1.3-r1[${MULTILIB_USEDEP}] )
+ bluray? ( >=media-libs/libbluray-0.3.0-r1:=[${MULTILIB_USEDEP}] )
+ bs2b? ( >=media-libs/libbs2b-3.1.0-r1[${MULTILIB_USEDEP}] )
+ bzip2? ( >=app-arch/bzip2-1.0.6-r4[${MULTILIB_USEDEP}] )
+ cdio? ( >=dev-libs/libcdio-paranoia-0.90_p1-r1[${MULTILIB_USEDEP}] )
+ chromaprint? ( >=media-libs/chromaprint-1.2-r1[${MULTILIB_USEDEP}] )
+ codec2? ( media-libs/codec2[${MULTILIB_USEDEP}] )
+ dav1d? ( >=media-libs/dav1d-0.4.0:0=[${MULTILIB_USEDEP}] )
+ encode? (
+ amrenc? ( >=media-libs/vo-amrwbenc-0.1.2-r1[${MULTILIB_USEDEP}] )
+ kvazaar? ( >=media-libs/kvazaar-1.2.0[${MULTILIB_USEDEP}] )
+ mp3? ( >=media-sound/lame-3.99.5-r1[${MULTILIB_USEDEP}] )
+ openh264? ( >=media-libs/openh264-1.4.0-r1:=[${MULTILIB_USEDEP}] )
+ rav1e? ( >=media-video/rav1e-0.4:=[capi] )
+ snappy? ( >=app-arch/snappy-1.1.2-r1:=[${MULTILIB_USEDEP}] )
+ theora? (
+ >=media-libs/libogg-1.3.0[${MULTILIB_USEDEP}]
+ >=media-libs/libtheora-1.1.1[encode,${MULTILIB_USEDEP}]
+ )
+ twolame? ( >=media-sound/twolame-0.3.13-r1[${MULTILIB_USEDEP}] )
+ webp? ( >=media-libs/libwebp-0.3.0:=[${MULTILIB_USEDEP}] )
+ x264? ( >=media-libs/x264-0.0.20130506:=[${MULTILIB_USEDEP}] )
+ x265? ( >=media-libs/x265-1.6:=[${MULTILIB_USEDEP}] )
+ xvid? ( >=media-libs/xvid-1.3.2-r1[${MULTILIB_USEDEP}] )
+ )
+ fdk? ( >=media-libs/fdk-aac-0.1.3:=[${MULTILIB_USEDEP}] )
+ flite? ( >=app-accessibility/flite-1.4-r4[${MULTILIB_USEDEP}] )
+ fontconfig? ( >=media-libs/fontconfig-2.10.92[${MULTILIB_USEDEP}] )
+ frei0r? ( media-plugins/frei0r-plugins[${MULTILIB_USEDEP}] )
+ fribidi? ( >=dev-libs/fribidi-0.19.6[${MULTILIB_USEDEP}] )
+ gcrypt? ( >=dev-libs/libgcrypt-1.6:0=[${MULTILIB_USEDEP}] )
+ gme? ( >=media-libs/game-music-emu-0.6.0[${MULTILIB_USEDEP}] )
+ gmp? ( >=dev-libs/gmp-6:0=[${MULTILIB_USEDEP}] )
+ gsm? ( >=media-sound/gsm-1.0.13-r1[${MULTILIB_USEDEP}] )
+ iconv? ( >=virtual/libiconv-0-r1[${MULTILIB_USEDEP}] )
+ iec61883? (
+ >=media-libs/libiec61883-1.2.0-r1[${MULTILIB_USEDEP}]
+ >=sys-libs/libraw1394-2.1.0-r1[${MULTILIB_USEDEP}]
+ >=sys-libs/libavc1394-0.5.4-r1[${MULTILIB_USEDEP}]
+ )
+ ieee1394? (
+ >=media-libs/libdc1394-2.2.1:2=[${MULTILIB_USEDEP}]
+ >=sys-libs/libraw1394-2.1.0-r1[${MULTILIB_USEDEP}]
+ )
+ jack? ( virtual/jack[${MULTILIB_USEDEP}] )
+ jpeg2k? ( >=media-libs/openjpeg-2:2[${MULTILIB_USEDEP}] )
+ 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}] )
+ mmal? ( media-libs/raspberrypi-userland )
+ modplug? ( >=media-libs/libmodplug-0.8.8.4-r1[${MULTILIB_USEDEP}] )
+ openal? ( >=media-libs/openal-1.15.1[${MULTILIB_USEDEP}] )
+ opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
+ opengl? ( >=virtual/opengl-7.0-r1[${MULTILIB_USEDEP}] )
+ opus? ( >=media-libs/opus-1.0.2-r2[${MULTILIB_USEDEP}] )
+ pulseaudio? ( >=media-sound/pulseaudio-2.1-r1[${MULTILIB_USEDEP}] )
+ qsv? ( media-libs/oneVPL[${MULTILIB_USEDEP}] )
+ rubberband? ( >=media-libs/rubberband-1.8.1-r1[${MULTILIB_USEDEP}] )
+ samba? ( >=net-fs/samba-3.6.23-r1[client,${MULTILIB_USEDEP}] )
+ sdl? ( media-libs/libsdl2[sound,video,${MULTILIB_USEDEP}] )
+ sndio? ( media-sound/sndio:=[${MULTILIB_USEDEP}] )
+ speex? ( >=media-libs/speex-1.2_rc1-r1[${MULTILIB_USEDEP}] )
+ srt? ( >=net-libs/srt-1.3.0:=[${MULTILIB_USEDEP}] )
+ ssh? ( >=net-libs/libssh-0.5.5:=[sftp,${MULTILIB_USEDEP}] )
+ svg? (
+ gnome-base/librsvg:2=[${MULTILIB_USEDEP}]
+ x11-libs/cairo[${MULTILIB_USEDEP}]
+ )
+ nvenc? ( >=media-libs/nv-codec-headers-9.1.23.1 )
+ svt-av1? ( >=media-libs/svt-av1-0.9.0[${MULTILIB_USEDEP}] )
+ truetype? ( >=media-libs/freetype-2.5.0.1:2[${MULTILIB_USEDEP}] )
+ vaapi? ( >=media-libs/libva-1.2.1-r1:0=[${MULTILIB_USEDEP}] )
+ vdpau? ( >=x11-libs/libvdpau-0.7[${MULTILIB_USEDEP}] )
+ vidstab? ( >=media-libs/vidstab-1.1.0[${MULTILIB_USEDEP}] )
+ vmaf? ( >=media-libs/libvmaf-2.0.0[${MULTILIB_USEDEP}] )
+ vorbis? (
+ >=media-libs/libvorbis-1.3.3-r1[${MULTILIB_USEDEP}]
+ >=media-libs/libogg-1.3.0[${MULTILIB_USEDEP}]
+ )
+ vpx? ( >=media-libs/libvpx-1.4.0:=[${MULTILIB_USEDEP}] )
+ vulkan? ( >=media-libs/vulkan-loader-1.2.189:=[${MULTILIB_USEDEP}] )
+ X? (
+ >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
+ >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}]
+ >=x11-libs/libXv-1.0.10[${MULTILIB_USEDEP}]
+ >=x11-libs/libxcb-1.4:=[${MULTILIB_USEDEP}]
+ )
+ zeromq? ( >=net-libs/zeromq-4.1.6 )
+ zimg? ( >=media-libs/zimg-2.7.4:=[${MULTILIB_USEDEP}] )
+ zlib? ( >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] )
+ zvbi? ( >=media-libs/zvbi-0.2.35[${MULTILIB_USEDEP}] )
+"
+
+RDEPEND="${RDEPEND}
+ openssl? ( >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}] )
+ !openssl? ( gnutls? ( >=net-libs/gnutls-2.12.23-r6:=[${MULTILIB_USEDEP}] ) )
+"
+
+DEPEND="${RDEPEND}
+ amf? ( media-libs/amf-headers )
+ ladspa? ( >=media-libs/ladspa-sdk-1.13-r2[${MULTILIB_USEDEP}] )
+ v4l? ( sys-kernel/linux-headers )
+"
+
+# += for verify-sig above
+BDEPEND+="
+ >=sys-devel/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 )
+"
+
+# Code requiring FFmpeg to be built under gpl license
+GPL_REQUIRED_USE="
+ postproc? ( gpl )
+ frei0r? ( gpl )
+ cdio? ( gpl )
+ rubberband? ( gpl )
+ vidstab? ( gpl )
+ samba? ( gpl )
+ encode? (
+ x264? ( gpl )
+ x265? ( gpl )
+ xvid? ( gpl )
+ )
+"
+REQUIRED_USE="
+ cuda? ( nvenc )
+ libv4l? ( v4l )
+ fftools_cws2fws? ( zlib )
+ test? ( encode )
+ ${GPL_REQUIRED_USE}
+ ${CPU_REQUIRED_USE}"
+RESTRICT="
+ !test? ( test )
+ gpl? ( openssl? ( bindist ) fdk? ( bindist ) )
+"
+
+S=${WORKDIR}/${P/_/-}
+
+PATCHES=(
+ "${FILESDIR}"/chromium-r1.patch
+ "${FILESDIR}"/${P}-DECLARE_ALIGNED.patch
+ "${FILESDIR}"/${PN}-5.1.2-get_cabac_inline_x86-32-bit.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
+
+ 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 )
+
+ # 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
+ [[ ${ABI} != x86 ]] && is-flagq "-flto*" && myconf+=( "--enable-lto" )
+ filter-lto
+
+ # Mandatory configuration
+ myconf=(
+ --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
+ *freebsd*)
+ myconf+=( --target-os=freebsd )
+ ;;
+ *mingw32*)
+ myconf+=( --target-os=mingw32 )
+ ;;
+ *linux*)
+ myconf+=( --target-os=linux )
+ ;;
+ esac
+ fi
+
+ # doc
+ myconf+=(
+ $(multilib_native_use_enable doc)
+ $(multilib_native_use_enable doc htmlpages)
+ $(multilib_native_enable manpages)
+ )
+
+ # Use --extra-libs if needed for LIBS
+ set -- "${S}/configure" \
+ --prefix="${EPREFIX}/usr" \
+ --libdir="${EPREFIX}/usr/$(get_libdir)" \
+ --shlibdir="${EPREFIX}/usr/$(get_libdir)" \
+ --docdir="${EPREFIX}/usr/share/doc/${PF}/html" \
+ --mandir="${EPREFIX}/usr/share/man" \
+ --enable-shared \
+ --cc="$(tc-getCC)" \
+ --cxx="$(tc-getCXX)" \
+ --ar="$(tc-getAR)" \
+ --nm="$(tc-getNM)" \
+ --strip="$(tc-getSTRIP)" \
+ --ranlib="$(tc-getRANLIB)" \
+ --pkg-config="$(tc-getPKG_CONFIG)" \
+ --optflags="${CFLAGS}" \
+ $(use_enable static-libs static) \
+ "${myconf[@]}" \
+ ${EXTRA_FFMPEG_CONF}
+ echo "${@}"
+ "${@}" || die
+
+ if multilib_is_native_abi && use chromium && build_separate_libffmpeg; then
+ einfo "Configuring for Chromium"
+ mkdir -p ../chromium || die
+ pushd ../chromium >/dev/null || die
+ set -- "${@}" \
+ --disable-shared \
+ --enable-static \
+ --enable-pic \
+ --disable-opencl
+ echo "${@}"
+ "${@}" || die
+ popd >/dev/null || die
+ fi
+}
+
+multilib_src_compile() {
+ emake V=1
+
+ if multilib_is_native_abi; then
+ for i in "${FFTOOLS[@]}" ; do
+ if use fftools_${i} ; then
+ emake V=1 tools/${i}$(get_exeext)
+ fi
+ done
+
+ if use chromium; then
+ if build_separate_libffmpeg; then
+ einfo "Compiling for Chromium"
+ pushd ../chromium >/dev/null || die
+ emake V=1 libffmpeg
+ popd >/dev/null || die
+ else
+ emake V=1 libffmpeg
+ fi
+ fi
+ fi
+}
+
+multilib_src_test() {
+ LD_LIBRARY_PATH="${BUILD_DIR}/libpostproc:${BUILD_DIR}/libswscale:${BUILD_DIR}/libswresample:${BUILD_DIR}/libavcodec:${BUILD_DIR}/libavdevice:${BUILD_DIR}/libavfilter:${BUILD_DIR}/libavformat:${BUILD_DIR}/libavutil" \
+ emake V=1 fate
+}
+
+multilib_src_install() {
+ emake V=1 DESTDIR="${D}" install install-doc
+
+ if multilib_is_native_abi; then
+ for i in "${FFTOOLS[@]}" ; do
+ if use fftools_${i} ; then
+ dobin tools/${i}$(get_exeext)
+ fi
+ done
+
+ if use chromium; then
+ if build_separate_libffmpeg; then
+ einfo "Installing for Chromium"
+ pushd ../chromium >/dev/null || die
+ emake V=1 DESTDIR="${D}" install-libffmpeg
+ popd >/dev/null || die
+ else
+ emake V=1 DESTDIR="${D}" install-libffmpeg
+
+ # When not built separately, libffmpeg has no code of
+ # its own so this QA check raises a false positive.
+ QA_FLAGS_IGNORED+=" usr/$(get_libdir)/chromium/.*"
+ fi
+ fi
+ fi
+}
+
+multilib_src_install_all() {
+ dodoc Changelog README.md CREDITS doc/*.txt doc/APIchanges
+ [ -f "RELEASE_NOTES" ] && dodoc "RELEASE_NOTES"
+
+ use amf && doenvd "${FILESDIR}"/amf-env-vulkan-override
+}
diff --git a/media-video/ffmpeg/ffmpeg-9999.ebuild b/media-video/ffmpeg/ffmpeg-9999.ebuild
index 016fa514d08c..26585449e6dc 100644
--- a/media-video/ffmpeg/ffmpeg-9999.ebuild
+++ b/media-video/ffmpeg/ffmpeg-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -12,7 +12,7 @@ EAPI=8
# changes its ABI then this package will be rebuilt needlessly. Hence, such a
# package is free _not_ to := depend on FFmpeg but I would strongly encourage
# doing so since such a case is unlikely.
-FFMPEG_SUBSLOT=57.59.59
+FFMPEG_SUBSLOT=58.60.60
SCM=""
if [ "${PV#9999}" != "${PV}" ] ; then
@@ -247,8 +247,8 @@ RDEPEND="
opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
opengl? ( >=virtual/opengl-7.0-r1[${MULTILIB_USEDEP}] )
opus? ( >=media-libs/opus-1.0.2-r2[${MULTILIB_USEDEP}] )
- pulseaudio? ( >=media-sound/pulseaudio-2.1-r1[${MULTILIB_USEDEP}] )
- qsv? ( media-libs/oneVPL )
+ pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] )
+ qsv? ( media-libs/oneVPL[${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}] )
@@ -286,8 +286,8 @@ RDEPEND="
"
RDEPEND="${RDEPEND}
- openssl? ( >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}] )
- !openssl? ( gnutls? ( >=net-libs/gnutls-2.12.23-r6:=[${MULTILIB_USEDEP}] ) )
+ openssl? ( >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}] )
+ !openssl? ( gnutls? ( >=net-libs/gnutls-2.12.23-r6:=[${MULTILIB_USEDEP}] ) )
"
DEPEND="${RDEPEND}
@@ -430,7 +430,7 @@ multilib_src_configure() {
# (temporarily) disable non-multilib deps
if ! multilib_is_native_abi; then
- for i in librav1e libmfx libvpl libzmq ; do
+ for i in librav1e libzmq ; do
myconf+=( --disable-${i} )
done
fi
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-wint-conversion-vulkan.patch b/media-video/ffmpeg/files/ffmpeg-4.4.4-wint-conversion-vulkan.patch
new file mode 100644
index 000000000000..f3766bb69f50
--- /dev/null
+++ b/media-video/ffmpeg/files/ffmpeg-4.4.4-wint-conversion-vulkan.patch
@@ -0,0 +1,30 @@
+https://bugs.gentoo.org/903752
+https://git.videolan.org/?p=ffmpeg.git;a=commit;h=cc76e8340d28438c1ac56ee7dfd774d25e944264
+
+(Dropped second bit for vulkan.h as has changed significantly in >4.4.)
+
+From cc76e8340d28438c1ac56ee7dfd774d25e944264 Mon Sep 17 00:00:00 2001
+From: =?utf8?q?Kacper=20Michaj=C5=82ow?= <kasper93@gmail.com>
+Date: Thu, 2 Mar 2023 17:27:30 +0100
+Subject: [PATCH] lavu/vulkan: fix handle type for 32-bit targets
+MIME-Version: 1.0
+Content-Type: text/plain; charset=utf8
+Content-Transfer-Encoding: 8bit
+
+Fixes compilation with clang which errors out on Wint-conversion.
+
+Signed-off-by: Kacper Michajłow <kasper93@gmail.com>
+Signed-off-by: Martin Storsjö <martin@martin.st>
+--- a/libavutil/hwcontext_vulkan.c
++++ b/libavutil/hwcontext_vulkan.c
+@@ -1149,7 +1149,7 @@ static void free_exec_ctx(AVHWFramesContext *hwfc, VulkanExecCtx *cmd)
+
+ av_freep(&cmd->queues);
+ av_freep(&cmd->bufs);
+- cmd->pool = NULL;
++ cmd->pool = VK_NULL_HANDLE;
+ }
+
+ static VkCommandBuffer get_buf_exec_ctx(AVHWFramesContext *hwfc, VulkanExecCtx *cmd)
+
+
diff --git a/media-video/ffmpeg/files/ffmpeg-5.1.2-get_cabac_inline_x86-32-bit.patch b/media-video/ffmpeg/files/ffmpeg-5.1.2-get_cabac_inline_x86-32-bit.patch
new file mode 100644
index 000000000000..40db3304b564
--- /dev/null
+++ b/media-video/ffmpeg/files/ffmpeg-5.1.2-get_cabac_inline_x86-32-bit.patch
@@ -0,0 +1,25 @@
+https://bugs.gentoo.org/901099 and partly https://bugs.gentoo.org/900937.
+
+Newer compilers may optimise such that < 7 registers are free on 32-bit x86
+and then we get an "invalid asm" error. This is https://bugs.gentoo.org/901099
+and https://trac.ffmpeg.org/ticket/8903.
+
+Making matters worse, GCC sometimes hangs on invalid asm, so this also
+mitigates a hang with e.g. -O3 -march=znver1. See https://bugs.gentoo.org/900937
+and https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109137.
+
+In future, we may want to adjust the definition of HAVE_7REGS to just exclude
+32-bit x86, but that's a big sledgehammer, so let's avoid it for now until we have
+a reply on the upstream ffmpeg bug.
+--- a/libavcodec/x86/cabac.h
++++ b/libavcodec/x86/cabac.h
+@@ -175,7 +175,7 @@
+
+ #endif /* BROKEN_RELOCATIONS */
+
+-#if HAVE_7REGS && !BROKEN_COMPILER
++#if HAVE_7REGS && !BROKEN_COMPILER && !ARCH_X86_32
+ #define get_cabac_inline get_cabac_inline_x86
+ static
+ #if defined(_WIN32) && !defined(_WIN64) && defined(__clang__)
+
diff --git a/media-video/ffmpeg/files/ffmpeg-5.1.2-vulkan.patch b/media-video/ffmpeg/files/ffmpeg-5.1.2-vulkan.patch
new file mode 100644
index 000000000000..d7ce57350e4e
--- /dev/null
+++ b/media-video/ffmpeg/files/ffmpeg-5.1.2-vulkan.patch
@@ -0,0 +1,33 @@
+From eb0455d64690eed0068e5cb202f72ecdf899837c Mon Sep 17 00:00:00 2001
+From: Lynne <dev@lynne.ee>
+Date: Sun, 25 Dec 2022 01:03:30 +0100
+Subject: [PATCH] hwcontext_vulkan: remove optional encode/decode extensions
+ from the list
+
+They're not currently used, so they don't need to be there.
+Vulkan stabilized the decode extensions less than a week ago, and their
+name prefixes were changed from EXT to KHR. It's a bit too soon to be
+depending on it, so rather than bumping, just remove these for now.
+---
+ libavutil/hwcontext_vulkan.c | 8 --------
+ 1 file changed, 8 deletions(-)
+
+diff --git a/libavutil/hwcontext_vulkan.c b/libavutil/hwcontext_vulkan.c
+index f1db1c7291f1..2a9b5f4aac62 100644
+--- a/libavutil/hwcontext_vulkan.c
++++ b/libavutil/hwcontext_vulkan.c
+@@ -358,14 +358,6 @@ static const VulkanOptExtension optional_device_exts[] = {
+ { VK_KHR_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME, FF_VK_EXT_EXTERNAL_WIN32_MEMORY },
+ { VK_KHR_EXTERNAL_SEMAPHORE_WIN32_EXTENSION_NAME, FF_VK_EXT_EXTERNAL_WIN32_SEM },
+ #endif
+-
+- /* Video encoding/decoding */
+- { VK_KHR_VIDEO_QUEUE_EXTENSION_NAME, FF_VK_EXT_NO_FLAG },
+- { VK_KHR_VIDEO_DECODE_QUEUE_EXTENSION_NAME, FF_VK_EXT_NO_FLAG },
+- { VK_KHR_VIDEO_ENCODE_QUEUE_EXTENSION_NAME, FF_VK_EXT_NO_FLAG },
+- { VK_EXT_VIDEO_ENCODE_H264_EXTENSION_NAME, FF_VK_EXT_NO_FLAG },
+- { VK_EXT_VIDEO_DECODE_H264_EXTENSION_NAME, FF_VK_EXT_NO_FLAG },
+- { VK_EXT_VIDEO_DECODE_H265_EXTENSION_NAME, FF_VK_EXT_NO_FLAG },
+ };
+
+ /* Converts return values to strings */
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/metadata.xml b/media-video/ffmpeg/metadata.xml
index 54cb9b3546d3..88482e70770c 100644
--- a/media-video/ffmpeg/metadata.xml
+++ b/media-video/ffmpeg/metadata.xml
@@ -72,7 +72,6 @@
<flag name="vidstab">Enables video stabilization filter using vid.stab library (<pkg>media-libs/vidstab</pkg>).</flag>
<flag name="vmaf">Enables Netflix's perceptual video quality assessment filter using the library (<pkg>media-libs/libvmaf</pkg>).</flag>
<flag name="vpx">Enables VP8 and VP9 codec support using libvpx: Decoding does not require this to be enabled but libvpx can also be used for decoding; encoding requires this useflag to be enabled though.</flag>
- <flag name="vulkan">Enables support for the vulkan API for GPU offload.</flag>
<flag name="x265">Enables HEVC encoding with <pkg>media-libs/x265</pkg>.</flag>
<flag name="zeromq">Enables <pkg>net-libs/zeromq</pkg> support with the zmq/azmq filters.</flag>
<flag name="zimg">Enables <pkg>media-libs/zimg</pkg> based scale filter.</flag>
diff --git a/media-video/ffmpeg2theora/Manifest b/media-video/ffmpeg2theora/Manifest
deleted file mode 100644
index da50db965142..000000000000
--- a/media-video/ffmpeg2theora/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST ffmpeg2theora-0.30.tar.bz2 91269 BLAKE2B e5a57679cb874e7052db184e8e24b60da640ed818affa228cf5353216c64d2805aee375f67cfa2653112beafa36d492a274ced745846e53f81101e0f97418c41 SHA512 2c77d2c5e705751928e2bfd86c4fe4c2b7df2ca2ce70f3dfeb0014a3269eef067587eaa045c11b0db86c69176d8f01a43b3ad75544d181c016a89aa50b6518c1
diff --git a/media-video/ffmpeg2theora/ffmpeg2theora-0.30-r1.ebuild b/media-video/ffmpeg2theora/ffmpeg2theora-0.30-r1.ebuild
deleted file mode 100644
index 89102c0a4714..000000000000
--- a/media-video/ffmpeg2theora/ffmpeg2theora-0.30-r1.ebuild
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{9..10} )
-inherit python-any-r1 scons-utils
-
-DESCRIPTION="A simple converter to create Ogg Theora files"
-HOMEPAGE="http://www.v2v.cc/~j/ffmpeg2theora/"
-SRC_URI="http://www.v2v.cc/~j/${PN}/downloads/${P}.tar.bz2"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="amd64 ~ppc ~ppc64 ~sparc x86"
-IUSE="kate"
-
-RDEPEND="
- media-video/ffmpeg:0=[postproc]
- >=media-libs/libvorbis-1.1
- >=media-libs/libogg-1.1
- >=media-libs/libtheora-1.1[encode]
- kate? ( >=media-libs/libkate-0.3.7 )"
-DEPEND="${RDEPEND}"
-BDEPEND="virtual/pkgconfig"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.29-swr.patch
- "${FILESDIR}"/${PN}-0.29-underlinking.patch
-)
-
-src_prepare() {
- default
-
- 2to3 -n -w --no-diffs SConstruct || die
-}
-
-src_configure() {
- SCONSARGS=(
- APPEND_CCFLAGS="${CFLAGS}"
- APPEND_LINKFLAGS="${LDFLAGS}"
- prefix=/usr
- mandir=PREFIX/share/man
- libkate=$(usex kate 1 0)
- )
-}
-
-src_compile() {
- escons "${SCONSARGS[@]}"
-}
-
-src_install() {
- escons "${SCONSARGS[@]}" destdir="${D}" install
- dodoc AUTHORS ChangeLog README subtitles.txt TODO
-}
diff --git a/media-video/ffmpeg2theora/files/ffmpeg2theora-0.29-swr.patch b/media-video/ffmpeg2theora/files/ffmpeg2theora-0.29-swr.patch
deleted file mode 100644
index b1117a87ea6f..000000000000
--- a/media-video/ffmpeg2theora/files/ffmpeg2theora-0.29-swr.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-commit a72baecd4dc7b01c0785b481460dde0fbab9a90a
-Author: Jan Gerber <j@xiph.org>
-Date: Fri Nov 23 20:21:54 2012 +0100
-
- only depend on libswresample for local branch
-
- libav does not have libswresample so its not in ubuntu.
-
-diff --git a/SConstruct b/SConstruct
-index 90520c3..01d234a 100644
---- a/SConstruct
-+++ b/SConstruct
-@@ -152,10 +152,10 @@ if not env.GetOption('clean'):
- "libavcodec >= 52.30.0",
- "libpostproc",
- "libswscale",
-- "libswresample",
- "libavutil",
- ]
- if os.path.exists("./ffmpeg"):
-+ FFMPEG_LIBS.append('libswresample')
- pkg_path = list(set(map(os.path.dirname, glob('./ffmpeg/*/*.pc'))))
- pkg_path.append(os.environ.get('PKG_CONFIG_PATH', ''))
- os.environ['PKG_CONFIG_PATH'] = ':'.join(pkg_path)
diff --git a/media-video/ffmpeg2theora/files/ffmpeg2theora-0.29-underlinking.patch b/media-video/ffmpeg2theora/files/ffmpeg2theora-0.29-underlinking.patch
deleted file mode 100644
index 791e39d87744..000000000000
--- a/media-video/ffmpeg2theora/files/ffmpeg2theora-0.29-underlinking.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-For example, pow() from mathlib is used directly in src/ffmpeg2theora.c:
-
-<snip>
-v = pow(v, g) * 255.0; // mplayer's vf_eq2.c multiplies with 256 here, strange...
-</snip>
-
-For build failure and log, see Gentoo bug #504698
-
---- a/SConstruct
-+++ b/SConstruct
-@@ -206,9 +206,8 @@
- if env['crossmingw']:
- env.Append(CCFLAGS=['-Wl,-subsystem,windows'])
- env.Append(LIBS=['m'])
-- elif env['static']:
-- env.Append(LIBS=['m', 'dl'])
-
-+ env.Append(LIBS=['m', 'dl'])
-
- env = conf.Finish()
-
diff --git a/media-video/ffmpegthumbnailer/ffmpegthumbnailer-2.2.2-r1.ebuild b/media-video/ffmpegthumbnailer/ffmpegthumbnailer-2.2.2-r1.ebuild
index 2a14d886589c..fe3bdd09679e 100644
--- a/media-video/ffmpegthumbnailer/ffmpegthumbnailer-2.2.2-r1.ebuild
+++ b/media-video/ffmpegthumbnailer/ffmpegthumbnailer-2.2.2-r1.ebuild
@@ -11,7 +11,7 @@ SRC_URI="https://github.com/dirkvdb/${PN}/releases/download/${PV}/${P}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~ppc ppc64 ~riscv sparc ~x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv sparc x86"
IUSE="gnome gtk jpeg png test"
RESTRICT="!test? ( test )"
diff --git a/media-video/ffmpegthumbnailer/ffmpegthumbnailer-2.2.2.ebuild b/media-video/ffmpegthumbnailer/ffmpegthumbnailer-2.2.2.ebuild
deleted file mode 100644
index 009948d53ef0..000000000000
--- a/media-video/ffmpegthumbnailer/ffmpegthumbnailer-2.2.2.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-DESCRIPTION="Lightweight video thumbnailer that can be used by file managers"
-HOMEPAGE="https://github.com/dirkvdb/ffmpegthumbnailer"
-SRC_URI="https://github.com/dirkvdb/${PN}/releases/download/${PV}/${P}.tar.bz2"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv sparc x86"
-IUSE="gnome gtk jpeg png test"
-RESTRICT="!test? ( test )"
-
-REQUIRED_USE="gnome? ( gtk )
- test? ( png jpeg )"
-
-BDEPEND="
- virtual/pkgconfig
-"
-RDEPEND="
- gtk? ( dev-libs/glib:2= )
- jpeg? ( virtual/jpeg:0= )
- >=media-video/ffmpeg-2.7:0=
- png? ( media-libs/libpng:0= )
-"
-DEPEND="${RDEPEND}"
-
-DOCS=( AUTHORS ChangeLog README.md )
-
-src_prepare() {
- rm -rf out* || die
-
- cmake_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DENABLE_GIO=$(usex gtk)
- -DENABLE_TESTS=$(usex test)
- -DENABLE_THUMBNAILER=$(usex gnome)
- -DHAVE_JPEG=$(usex jpeg)
- -DHAVE_PNG=$(usex png)
- )
- cmake_src_configure
-}
diff --git a/media-video/gaupol/Manifest b/media-video/gaupol/Manifest
index 9ac89580c751..204e968018aa 100644
--- a/media-video/gaupol/Manifest
+++ b/media-video/gaupol/Manifest
@@ -1 +1,2 @@
DIST gaupol-1.11.tar.gz 581799 BLAKE2B d0f4ad7c71086f585138bde79ba49f43e8e71eba7bc5ef5f0ac324ab962049cd1c71030f5a7d6ec859d4ac32dc7a07c8255ab01d98114629055f777f11210a2e SHA512 8c623f6ed8d189a79a994545be3dd96ae7fec399216520bfe89587a9c0b5917e07b6d80fe1f8a7b2d016b9fb1aa544bdabe103428dc97ea78e6d8c05666d0e9c
+DIST gaupol-1.12.tar.gz 575537 BLAKE2B acedc1b73b6bea35d2853aa26117a7823767aeff3f9cd59ed828aa173c0ab4a46ef1433d169cd551b9d453289412aec31ede32e388dfc22d14e60e18b4c5ec0a SHA512 7e8002ceeff0a6c1144a6c23743aff006101a63aee394c4a4eb2742ad37635fe45425964d60ab2d6f10f9e212c72db673f5f1d849f738efcd7d9389054a1de36
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.12.ebuild b/media-video/gaupol/gaupol-1.12.ebuild
new file mode 100644
index 000000000000..d82300acb79b
--- /dev/null
+++ b/media-video/gaupol/gaupol-1.12.ebuild
@@ -0,0 +1,69 @@
+# 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..11} )
+
+inherit distutils-r1 virtualx xdg-utils
+
+DESCRIPTION="A subtitle editor for text-based subtitles"
+HOMEPAGE="https://otsaloma.io/gaupol/ https://github.com/otsaloma/gaupol/"
+SRC_URI="https://github.com/otsaloma/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="amd64 arm64 x86"
+IUSE="spell"
+
+RDEPEND="
+ app-text/iso-codes
+ dev-python/chardet[${PYTHON_USEDEP}]
+ dev-python/pygobject:3[${PYTHON_USEDEP}]
+ x11-libs/gtk+:3[introspection]
+ spell? ( app-text/gspell[introspection] )
+"
+BDEPEND="
+ sys-devel/gettext
+ test? (
+ app-dicts/myspell-en
+ app-text/enchant[hunspell]
+ app-text/gspell[introspection]
+ )
+"
+
+distutils_enable_tests pytest
+
+DOCS=( AUTHORS.md NEWS.md README.md README.aeidon.md )
+
+PATCHES=(
+ "${FILESDIR}/${P}-fix-prefix.patch"
+)
+
+python_test() {
+ virtx epytest
+}
+
+pkg_postinst() {
+ xdg_desktop_database_update
+ xdg_icon_cache_update
+ if [[ -z ${REPLACING_VERSIONS} ]]; then
+ elog "The integrated video player requires media-plugins/gst-plugins-gtk."
+ elog ""
+ elog "External video previewing support requires MPV, MPlayer or VLC."
+ if use spell; then
+ elog ""
+ elog "Spell-checking requires a dictionary, any of app-dicts/myspell-*"
+ elog "or app-text/aspell with the appropriate L10N variable."
+ elog ""
+ elog "Additionally, make sure that app-text/enchant has the correct flags enabled:"
+ elog "USE=hunspell for myspell dictionaries and USE=aspell for aspell dictionaries."
+ fi
+ fi
+}
+
+pkg_postrm() {
+ xdg_desktop_database_update
+ xdg_icon_cache_update
+}
diff --git a/media-video/gnome-video-effects/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/gpac/Manifest b/media-video/gpac/Manifest
index 1eeffa596c2a..5b4301b8344a 100644
--- a/media-video/gpac/Manifest
+++ b/media-video/gpac/Manifest
@@ -1 +1,2 @@
DIST gpac-2.0.0.tar.gz 11362932 BLAKE2B a8489831efb77c374d13e2edb3951e60a94907c4cd8601919e1390aee0e9002249e97a9200fd006c2aa783c516f701f7695aa84b5f3596a3bc90290916ff4086 SHA512 e95e6d78167fc306917b3ac89e56ba511bbcb0c825da118f5ba374504499352104b5c1f3ee71e7ec018015b8e302f9b07162d22287ddb21c8564b097d900913f
+DIST gpac-2.2.0.tar.gz 11376708 BLAKE2B f50c131912787c274a5b2d37e242e37ddd07f2c6eab3a932ec243f0fc36aeb06d4f16fd861eb3534f93534c291c55fddc2bcd1f573d2ed186e17464512a1f089 SHA512 4ac63a79a5d1057aadb59429af84ca9e4e0c0b863b19beafb60bd1c30425357dec45b5d6d48d452eb94002b059c9eb0c7bb0cc14222194f641604f964b3207c2
diff --git a/media-video/gpac/files/gpac-2.2.0-configure.patch b/media-video/gpac/files/gpac-2.2.0-configure.patch
new file mode 100644
index 000000000000..1d26b52a6d90
--- /dev/null
+++ b/media-video/gpac/files/gpac-2.2.0-configure.patch
@@ -0,0 +1,104 @@
+* Makes static libs optional
+* Removes auto-SSE2 detection
+
+Index: gpac-2.2.0/Makefile
+===================================================================
+--- gpac-2.2.0.orig/Makefile
++++ gpac-2.2.0/Makefile
+@@ -276,7 +276,9 @@ install-lib:
+ $(INSTALL) $(INSTFLAGS) -m 644 config.h "$(DESTDIR)$(prefix)/include/gpac/configuration.h" || true
+
+ $(INSTALL) -d "$(DESTDIR)$(prefix)/$(lib_dir)"
++ifeq ($(STATIC_LIBS), yes)
+ $(INSTALL) $(INSTFLAGS) -m 644 "./bin/gcc/libgpac_static.a" "$(DESTDIR)$(prefix)/$(lib_dir)" || true
++endif
+
+ $(INSTALL) -d $(DESTDIR)$(prefix)/$(lib_dir)/pkgconfig
+ $(INSTALL) $(INSTFLAGS) -m 644 gpac.pc "$(DESTDIR)$(prefix)/$(lib_dir)/pkgconfig"
+Index: gpac-2.2.0/configure
+===================================================================
+--- gpac-2.2.0.orig/configure
++++ gpac-2.2.0/configure
+@@ -74,6 +74,7 @@ enable_sanitizer="no"
+ libgpac_cflags=""
+ libgpac_extralibs=""
+ static_build="no"
++static_libs="no"
+ static_bin="no"
+ static_modules="no"
+ lm_lib=""
+@@ -273,6 +274,7 @@ GPAC build options:
+ --disable-opt disable GCC optimizations
+ --static-build link statically against libgpac but still allow dependencies to shared libraries (enable --static-modules)
+ --static-bin enable static linking of MP4Box and gpac only (will enable --static-build), disable all libraries not linkable statically.
++ --enable-static-lib GPAC static libraries build
+ --sdl-cfg=SDL_PATH specify path to sdl-config for local install [$sdl_path]
+ --enable-sdl-static use static SDL linking [default=no]
+ --X11-path=X11_PATH specify path for X11 includes and libraries [$X11_PATH]
+@@ -552,6 +554,8 @@ for opt do
+ echo "$opt deprecated, use --static-build instead"
+ static_build="yes";
+ ;;
++ --enable-static-libs) static_libs="yes";
++ ;;
+ --enable-fixed-point) use_fixed_point="yes"
+ ;;
+ --strip) INSTFLAGS="-s $INSTFLAGS"
+@@ -943,14 +947,6 @@ if docc -lz -Wno-pointer-sign ; then
+ fi
+
+
+-#GCC opt
+-if test "$no_gcc_opt" = "no"; then
+- CFLAGS="-O3 $CFLAGS"
+-else
+- CFLAGS="-O0 $CFLAGS"
+-fi
+-
+-
+ #GCC PIC
+ if test "$cross_prefix" != "" ; then
+ want_pic="no"
+@@ -978,11 +974,6 @@ cat > $TMPC << EOF
+ int main( void ) { return 0; }
+ EOF
+
+-if docc -msse2 $LDFLAGS ; then
+- CFLAGS="$CFLAGS -msse2"
+-fi
+-
+-
+ #check dlopen support
+ has_dlopen="no"
+ cat > $TMPC << EOF
+@@ -1888,6 +1879,7 @@ else
+ fi
+ echo "debug version: $debuginfo"
+ echo "GProf enabled: $gprof_build"
++echo "Static libs enabled: $static_libs"
+ echo "Memory tracking enabled: $use_memory_tracking"
+ echo "Sanitizer enabled: $enable_sanitizer"
+ echo "Fixed-Point Version: $use_fixed_point"
+@@ -2604,6 +2596,7 @@ echo "DEBUGBUILD=$debuginfo" >> config.m
+ echo "GPROFBUILD=$gprof_build" >> config.mak
+ echo "STATIC_BINARY=$static_bin" >> config.mak
+ echo "STATIC_BUILD=$static_build" >> config.mak
++echo "STATIC_LIBS=$static_libs" >> config.mak
+
+ echo "CONFIG_IPV6=$has_ipv6" >> config.mak
+ if test "$has_ipv6" = "yes" ; then
+Index: gpac-2.2.0/src/Makefile
+===================================================================
+--- gpac-2.2.0.orig/src/Makefile
++++ gpac-2.2.0/src/Makefile
+@@ -369,8 +369,10 @@ endif
+
+ else
+
++ifeq ($(STATIC_LIBS), yes)
+ $(AR) cr ../bin/gcc/libgpac_static.a $(OBJS)
+ $(RANLIB) ../bin/gcc/libgpac_static.a
++endif
+ ifneq ($(STATIC_BUILD),yes)
+ $(CC) $(SHFLAGS) $(LD_SONAME) -o $@ $(OBJS) $(ALL_LIBS) $(LDFLAGS)
+ mv $@ $@.$(VERSION_SONAME)
diff --git a/media-video/gpac/files/gpac-2.2.0-ffmpeg6-deux.patch b/media-video/gpac/files/gpac-2.2.0-ffmpeg6-deux.patch
new file mode 100644
index 000000000000..695852847395
--- /dev/null
+++ b/media-video/gpac/files/gpac-2.2.0-ffmpeg6-deux.patch
@@ -0,0 +1,46 @@
+https://bugs.gentoo.org/903550
+
+From ba14e34dd7a3c4cef5a56962898e9f863dd4b4f3 Mon Sep 17 00:00:00 2001
+From: jeanlf <jeanlf@gpac.io>
+Date: Mon, 13 Mar 2023 09:43:52 +0100
+Subject: [PATCH] fixed compil with ffmpeg 6 - cf #2406
+
+--- a/src/filters/ff_mx.c
++++ b/src/filters/ff_mx.c
+@@ -503,7 +503,11 @@ static GF_Err ffmx_close_seg(GF_Filter *filter, GF_FFMuxCtx *ctx, Bool send_evt_
+ evt.seg_size.is_init = 0;
+ }
+ evt.seg_size.media_range_start = ctx->offset_at_seg_start;
++#if LIBAVFORMAT_VERSION_MAJOR >= 60
+ evt.seg_size.media_range_end = ctx->muxer->pb ? (ctx->muxer->pb->bytes_written-1) : 0;
++#else
++ evt.seg_size.media_range_end = ctx->muxer->pb ? (ctx->muxer->pb->written-1) : 0;
++#endif
+ ctx->offset_at_seg_start = evt.seg_size.media_range_end;
+
+ gf_filter_pid_send_event(pid, &evt);
+@@ -1013,13 +1017,21 @@ static GF_Err ffmx_configure_pid(GF_Filter *filter, GF_FilterPid *pid, Bool is_r
+ ff_codec_id = ffmpeg_codecid_from_gpac(codec_id, &ff_codec_tag);
+ }
+
++
++ res = 1;
++#if LIBAVFORMAT_VERSION_MAJOR < 60
+ if (ctx->muxer->oformat) {
+ res = avformat_query_codec(ctx->muxer->oformat, ff_codec_id, 1);
+- if (!res) {
+- GF_LOG(GF_LOG_ERROR, GF_LOG_CONTAINER, ("[FFMux] Codec %s not supported in container %s\n", gf_codecid_name(codec_id), ctx->muxer->oformat->name));
+- return GF_NOT_SUPPORTED;
+- }
+ }
++#else
++ res = avformat_query_codec(ctx->muxer->oformat, ff_codec_id, FF_COMPLIANCE_NORMAL);
++#endif
++
++ if (!res) {
++ GF_LOG(GF_LOG_ERROR, GF_LOG_CONTAINER, ("[FFMux] Codec %s not supported in container %s\n", gf_codecid_name(codec_id), ctx->muxer->oformat->name));
++ return GF_NOT_SUPPORTED;
++ }
++
+ const AVCodec *c = avcodec_find_decoder(ff_codec_id);
+ if (!c) return GF_NOT_SUPPORTED;
diff --git a/media-video/gpac/files/gpac-2.2.0-ffmpeg6.patch b/media-video/gpac/files/gpac-2.2.0-ffmpeg6.patch
new file mode 100644
index 000000000000..89bd0492b7ed
--- /dev/null
+++ b/media-video/gpac/files/gpac-2.2.0-ffmpeg6.patch
@@ -0,0 +1,24 @@
+Index: gpac-2.2.0/src/filters/ff_mx.c
+===================================================================
+--- gpac-2.2.0.orig/src/filters/ff_mx.c
++++ gpac-2.2.0/src/filters/ff_mx.c
+@@ -503,7 +503,7 @@ static GF_Err ffmx_close_seg(GF_Filter *
+ evt.seg_size.is_init = 0;
+ }
+ evt.seg_size.media_range_start = ctx->offset_at_seg_start;
+- evt.seg_size.media_range_end = ctx->muxer->pb ? (ctx->muxer->pb->written-1) : 0;
++ evt.seg_size.media_range_end = ctx->muxer->pb ? (ctx->muxer->pb->bytes_written-1) : 0;
+ ctx->offset_at_seg_start = evt.seg_size.media_range_end;
+
+ gf_filter_pid_send_event(pid, &evt);
+@@ -1013,8 +1013,8 @@ static GF_Err ffmx_configure_pid(GF_Filt
+ ff_codec_id = ffmpeg_codecid_from_gpac(codec_id, &ff_codec_tag);
+ }
+
+- if (ctx->muxer->oformat && ctx->muxer->oformat->query_codec) {
+- res = ctx->muxer->oformat->query_codec(ff_codec_id, 1);
++ if (ctx->muxer->oformat) {
++ res = avformat_query_codec(ctx->muxer->oformat, ff_codec_id, 1);
+ if (!res) {
+ GF_LOG(GF_LOG_ERROR, GF_LOG_CONTAINER, ("[FFMux] Codec %s not supported in container %s\n", gf_codecid_name(codec_id), ctx->muxer->oformat->name));
+ return GF_NOT_SUPPORTED;
diff --git a/media-video/gpac/gpac-2.2.0.ebuild b/media-video/gpac/gpac-2.2.0.ebuild
new file mode 100644
index 000000000000..d6a91321cd56
--- /dev/null
+++ b/media-video/gpac/gpac-2.2.0.ebuild
@@ -0,0 +1,146 @@
+# 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}-1.0.0-zlib-compile.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_configure() {
+ tc-export CC CXX AR RANLIB
+
+ local myeconfargs=(
+ --cc="$(tc-getCC)"
+ --libdir="$(get_libdir)"
+ --verbose
+ --enable-pic
+ --enable-svg
+ --use-ogg=system
+ $(use_enable alsa)
+ $(use_enable debug)
+ $(use_enable dvb dvb4linux)
+ $(use_enable jack jack yes)
+ $(use_enable opengl 3d)
+ $(use_enable oss oss-audio)
+ $(use_enable pulseaudio pulseaudio yes)
+ $(use_enable sdl)
+ $(use_enable ssl)
+ $(use_enable static-libs static-lib)
+ $(use_enable X x11)
+ $(use_enable X x11-shm)
+ $(use_enable X x11-xv)
+ $(my_use a52)
+ $(my_use aac faad)
+ $(use_enable dvb dvbx)
+ $(my_use ffmpeg)
+ $(my_use jpeg)
+ $(my_use jpeg2k openjpeg)
+ $(my_use mad)
+ $(my_use png)
+ $(my_use theora)
+ $(my_use truetype freetype)
+ $(my_use vorbis)
+ $(my_use xvid)
+ )
+
+ if use amd64 || use x86 ; then
+ # Don't pass -mno-sse2 on non amd64/x86
+ myeconfargs+=(
+ --extra-cflags="${CFLAGS} $(usex cpu_flags_x86_sse2 '-msse2' '-mno-sse2')"
+ )
+ else
+ myeconfargs+=(
+ --extra-cflags="${CFLAGS}"
+ )
+ fi
+
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ einstalldocs
+ emake STRIP="true" DESTDIR="${ED}" install
+ emake STRIP="true" DESTDIR="${ED}" install-lib
+}
diff --git a/media-video/gpac/gpac-9999.ebuild b/media-video/gpac/gpac-9999.ebuild
index 777f20e6208b..f21d8e2a08aa 100644
--- a/media-video/gpac/gpac-9999.ebuild
+++ b/media-video/gpac/gpac-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -40,7 +40,7 @@ RDEPEND="
virtual/opengl
)
png? ( media-libs/libpng:0= )
- pulseaudio? ( media-sound/pulseaudio )
+ pulseaudio? ( media-libs/libpulse )
theora? ( media-libs/libtheora )
truetype? ( media-libs/freetype:2 )
sdl? ( media-libs/libsdl )
@@ -63,8 +63,9 @@ DEPEND="
"
PATCHES=(
- "${FILESDIR}/${PN}-2.0.0-configure.patch"
+ "${FILESDIR}/${PN}-2.2.0-configure.patch"
"${FILESDIR}/${PN}-1.0.0-zlib-compile.patch"
+ "${FILESDIR}/${PN}-2.2.0-ffmpeg6.patch"
)
DOCS=(
@@ -77,8 +78,6 @@ DOCS=(
README.md
)
-HTML_DOCS="share/doc/*.html"
-
my_use() {
local flag="$1" pflag="${2:-$1}"
if use ${flag}; then
@@ -88,11 +87,6 @@ my_use() {
fi
}
-src_prepare() {
- default
- sed -i -e "s:\(--disable-.*\)=\*):\1):" configure || die
-}
-
src_configure() {
tc-export CC CXX AR RANLIB
@@ -100,11 +94,8 @@ src_configure() {
--cc="$(tc-getCC)"
--libdir="$(get_libdir)"
--verbose
- --enable-ipv6
--enable-pic
--enable-svg
- --disable-amr
- --use-js=no
--use-ogg=system
$(use_enable alsa)
$(use_enable debug)
@@ -121,14 +112,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/handbrake/files/handbrake-9999-dont-search-for-python.patch b/media-video/handbrake/files/handbrake-9999-dont-search-for-python.patch
new file mode 100644
index 000000000000..f9971e508404
--- /dev/null
+++ b/media-video/handbrake/files/handbrake-9999-dont-search-for-python.patch
@@ -0,0 +1,26 @@
+--- a/configure
++++ b/configure
+@@ -14,20 +14,8 @@ inpath()
+ }
+
+ if ( inpath bash ); then
+- pp=""
+- for p in python3 python3.8 python3.7 python3.6 python3.5 python3.4 python3.3 python3.2 python3.1 python2 python2.7 python
+- do
+- if ( inpath $p ); then
+- pp="$p"
+- break
+- fi
+- done
+- if [ "$pp" != "" ]; then
+- exec $pp `dirname $0`/make/configure.py "$@"
+- exit 0
+- else
+- echo "ERROR: no suitable version of python found."
+- fi
++ exec python `dirname $0`/make/configure.py "$@"
++ exit 0
+ else
+ echo "ERROR: bash shell not found."
+ fi
+
diff --git a/media-video/handbrake/handbrake-1.4.2-r2.ebuild b/media-video/handbrake/handbrake-1.4.2-r2.ebuild
index 618137c80e46..5f5a8b0e7e24 100644
--- a/media-video/handbrake/handbrake-1.4.2-r2.ebuild
+++ b/media-video/handbrake/handbrake-1.4.2-r2.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-PYTHON_COMPAT=( python3_{9..10} )
+PYTHON_COMPAT=( python3_{9..11} )
inherit autotools python-any-r1 toolchain-funcs xdg
diff --git a/media-video/handbrake/handbrake-1.5.1.ebuild b/media-video/handbrake/handbrake-1.5.1-r1.ebuild
index a5d8c9da21ac..ca4053318273 100644
--- a/media-video/handbrake/handbrake-1.5.1.ebuild
+++ b/media-video/handbrake/handbrake-1.5.1-r1.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-PYTHON_COMPAT=( python3_{9..10} )
+PYTHON_COMPAT=( python3_{9..11} )
inherit autotools python-any-r1 toolchain-funcs xdg
@@ -79,7 +79,6 @@ BDEPEND="
${PYTHON_DEPS}
dev-lang/nasm
dev-util/cmake
- dev-util/intltool
"
PATCHES=(
diff --git a/media-video/handbrake/handbrake-9999.ebuild b/media-video/handbrake/handbrake-9999.ebuild
index 81707377e6f7..f66b4dfeec5d 100644
--- a/media-video/handbrake/handbrake-9999.ebuild
+++ b/media-video/handbrake/handbrake-9999.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-PYTHON_COMPAT=( python3_{9..10} )
+PYTHON_COMPAT=( python3_{9..11} )
inherit autotools python-any-r1 toolchain-funcs xdg
@@ -22,9 +22,9 @@ 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
@@ -43,10 +43,11 @@ RDEPEND="
>=media-libs/libvpx-1.8:=
media-libs/opus
media-libs/speex
+ >=media-libs/svt-av1-1.4.1
media-libs/x264:=
media-libs/zimg
media-sound/lame
- >=media-video/ffmpeg-4.2.1:0=[postproc,fdk?]
+ >=media-video/ffmpeg-5.1:=[postproc,fdk?]
sys-libs/zlib
fdk? ( media-libs/fdk-aac:= )
gstreamer? (
@@ -70,7 +71,10 @@ RDEPEND="
x11-libs/libnotify
x11-libs/pango
)
- nvenc? ( media-libs/nv-codec-headers )
+ nvenc? (
+ media-libs/nv-codec-headers
+ media-video/ffmpeg[nvenc]
+ )
x265? ( >=media-libs/x265-3.2:0=[10bit,12bit,numa?] )
"
DEPEND="${RDEPEND}"
@@ -79,7 +83,6 @@ BDEPEND="
${PYTHON_DEPS}
dev-lang/nasm
dev-util/cmake
- dev-util/intltool
"
PATCHES=(
@@ -87,14 +90,11 @@ PATCHES=(
# It may work this way; if not, we should try to mimic the duplication.
"${FILESDIR}/${PN}-9999-remove-dvdnav-dup.patch"
- # Remove faac dependency; TODO: figure out if we need to do this at all.
- "${FILESDIR}/${PN}-9999-remove-faac-dependency.patch"
-
# Detect system tools - bug 738110
"${FILESDIR}/${PN}-9999-system-tools.patch"
# Use whichever python is set by portage
- "${FILESDIR}/${PN}-1.3.0-dont-search-for-python.patch"
+ "${FILESDIR}/${PN}-9999-dont-search-for-python.patch"
# Fix x265 linkage... again again #730034
"${FILESDIR}/${PN}-1.3.3-x265-link.patch"
@@ -122,16 +122,17 @@ src_configure() {
--force
--verbose
--prefix="${EPREFIX}/usr"
- --disable-gtk-update-checks
--disable-flatpak
- --disable-gtk4
- $(use_enable libav-aac ffmpeg-aac)
- $(use_enable fdk fdk-aac)
$(usex !gtk --disable-gtk)
+ --disable-gtk4
$(usex !gstreamer --disable-gst)
+ $(use_enable x265)
$(use_enable numa)
+ $(use_enable fdk fdk-aac)
+ --enable-ffmpeg-aac # Forced on
$(use_enable nvenc)
- $(use_enable x265)
+ # TODO: $(use_enable qsv)
+ # TODO: $(use_enable vce)
)
./configure "${myconfargs[@]}" || die "Configure failed."
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..2c390b562e20
--- /dev/null
+++ b/media-video/hevc-hm/hevc-hm-17.0.ebuild
@@ -0,0 +1,41 @@
+# Copyright 2023 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="~amd64 ~arm ~ia64 ~loong ~mips ~riscv"
+
+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/ffmpeg2theora/metadata.xml b/media-video/hevc-hm/metadata.xml
index dc686e6e5ae1..a2dfee954457 100644
--- a/media-video/ffmpeg2theora/metadata.xml
+++ b/media-video/hevc-hm/metadata.xml
@@ -3,8 +3,6 @@
<pkgmetadata>
<maintainer type="project">
<email>media-video@gentoo.org</email>
+ <name>Gentoo Video project</name>
</maintainer>
- <use>
- <flag name="kate">Adds support for Ogg Kate subtitles via libkate.</flag>
- </use>
</pkgmetadata>
diff --git a/media-video/jellyfin-media-player/Manifest b/media-video/jellyfin-media-player/Manifest
index d2544962608b..a67f2b616569 100644
--- a/media-video/jellyfin-media-player/Manifest
+++ b/media-video/jellyfin-media-player/Manifest
@@ -1 +1,4 @@
DIST jellyfin-media-player-1.7.1.tar.gz 575001 BLAKE2B b650f981427721a254fd1dcaa58ebf9f93aba47de50f8c24db27e917de8cd8ebb3da67afa68990845f9e019aac0c8d81f5440dd72f604aa74cdc71d8cc476d8f SHA512 7f8cd4c9094254a133430b1d1594d44a92696cd769323ecc51ef973dde1f09b013f9ade0affb9e364d922935994613f662667af46f90aae2ae04d6cb9deb86f0
+DIST jellyfin-media-player-1.8.1.tar.gz 582343 BLAKE2B a5fa8d20cd3ec6e4444c1e9d90b93622f7435c2ccbf886c02ce744aa7aeb5a2440b07b3e5b3edb81bb6675d82958f5d63147412dd3d28fced60060de5724e52b SHA512 821bfa42e981d996c7f32f3951e625749a74636ebcb6a6c68c606282fb0db6d4c205419887828cc0dcdd3005d88b237977a01a82e2800a489c8bf3abac33630f
+DIST jellyfin-media-player-1.9.0.tar.gz 519208 BLAKE2B c64bb40011dd3761144e70c9549329c921156d9b0c46425e9812d6210baa8b90df7ac8f5af3379da76f6b8c6a55a3d8ac903ce5481895135eaea720d2ce936a2 SHA512 58c35530d61405ed5ff5a73c8a4f3869b21e0b0b0eb5cef7cf15b846543f1070d5c2b4dbfc102c6b4fbce5cb844fea711045d39c1a6bae9c882ad24c6ccd0333
+DIST jellyfin-media-player-1.9.1.tar.gz 519515 BLAKE2B 0240d4f964a48e476531e0e601a62f270defa98ef2d4c0e63e2a552a03e6abf2e069e38b80fa9515b5c3cb62d789c3fc630a1f726cc4aa3bcab7e39869ef4b2f SHA512 c6df563ff343b8b6b570bdbaca9cd0111ed2b3f347c40888a83d338893a0523eb1614fd5fb2f4463e97f9656f71af23d94b110fff473c71226180530822ed0dd
diff --git a/media-video/jellyfin-media-player/jellyfin-media-player-1.8.1.ebuild b/media-video/jellyfin-media-player/jellyfin-media-player-1.8.1.ebuild
new file mode 100644
index 000000000000..6ecd4fca7c3c
--- /dev/null
+++ b/media-video/jellyfin-media-player/jellyfin-media-player-1.8.1.ebuild
@@ -0,0 +1,85 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JWC_VERSION=10.8.9
+
+PYTHON_COMPAT=( python3_{9..11} )
+inherit cmake python-any-r1
+
+DESCRIPTION="Jellyfin Desktop Client based on Plex Media Player"
+HOMEPAGE="https://github.com/jellyfin/jellyfin-media-player"
+
+SRC_URI="
+ https://github.com/jellyfin/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz
+"
+# GPL-2.0 for JMP itself
+# licenses for code in external/:
+# MIT for qhttp
+# BSD for qslog
+LICENSE="
+ GPL-2
+ BSD
+ MIT
+"
+SLOT="0"
+
+KEYWORDS="~amd64"
+IUSE="+dbus"
+
+DEPEND="
+ dev-libs/libcec
+ dev-qt/qtcore:5
+ dev-qt/qtdeclarative:5
+ dev-qt/qtgui:5
+ dev-qt/qtnetwork:5
+ dev-qt/qtquickcontrols:5
+ dev-qt/qtwebchannel:5
+ dev-qt/qtwebengine:5
+ dev-qt/qtwidgets:5
+ dev-qt/qtwidgets:5
+ dev-qt/qtx11extras:5
+ dev-qt/qtxml:5
+ media-libs/libsdl2
+ media-video/mpv:=[libmpv]
+ sys-libs/zlib
+ virtual/opengl
+ x11-libs/libX11
+ x11-libs/libXrandr
+ dbus? ( dev-qt/qtdbus:5 )
+"
+
+BDEPEND="
+ ${PYTHON_DEPS}
+ virtual/pkgconfig
+"
+
+# x11-misc/xdg-utils is used for xdg-screensaver, which is used to inhibit
+# screen locking
+
+RDEPEND="
+ ${DEPEND}
+ ~media-video/jellyfin-web-jmp-bin-${JWC_VERSION}
+ !dbus? ( x11-misc/xdg-utils )
+"
+
+src_prepare() {
+ # disable jmp installing jwc in it's build system
+ sed -i '/..\/dist\//d' src/CMakeLists.txt || die 'sed failed'
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DOpenGL_GL_PREFERENCE=GLVND
+ # PMP, at least prior to the fork into JMP, used to download codecs,
+ # for safe measure, disable that.
+ -DENABLE_CODECS=OFF
+ # LINUX_X11POWER instructs JMP to use xdg-screensaver instead of dbus
+ # for inhibiting screen saving.
+ -DLINUX_X11POWER="$(usex dbus OFF ON)"
+ )
+ cmake_src_configure
+}
diff --git a/media-video/jellyfin-media-player/jellyfin-media-player-1.9.0.ebuild b/media-video/jellyfin-media-player/jellyfin-media-player-1.9.0.ebuild
new file mode 100644
index 000000000000..5c1b05c835b1
--- /dev/null
+++ b/media-video/jellyfin-media-player/jellyfin-media-player-1.9.0.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..11} )
+inherit cmake python-any-r1
+
+DESCRIPTION="Jellyfin Desktop Client based on Plex Media Player"
+HOMEPAGE="https://github.com/jellyfin/jellyfin-media-player"
+
+SRC_URI="
+ https://github.com/jellyfin/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz
+"
+
+LICENSE="GPL-2"
+SLOT="0"
+
+KEYWORDS="~amd64"
+IUSE="+dbus"
+
+DEPEND="
+ dev-libs/libcec
+ dev-qt/qtcore:5
+ dev-qt/qtdeclarative:5
+ dev-qt/qtgui:5
+ dev-qt/qtnetwork:5
+ dev-qt/qtquickcontrols:5
+ dev-qt/qtwebchannel:5
+ dev-qt/qtwebengine:5
+ dev-qt/qtwidgets:5
+ dev-qt/qtwidgets:5
+ dev-qt/qtx11extras:5
+ dev-qt/qtxml:5
+ media-libs/libsdl2
+ media-video/mpv:=[libmpv]
+ sys-libs/zlib
+ virtual/opengl
+ x11-libs/libX11
+ x11-libs/libXrandr
+ dbus? ( dev-qt/qtdbus:5 )
+"
+
+BDEPEND="
+ ${PYTHON_DEPS}
+ virtual/pkgconfig
+"
+
+# x11-misc/xdg-utils is used for xdg-screensaver, which is used to inhibit
+# screen locking
+
+RDEPEND="
+ ${DEPEND}
+ media-video/jellyfin-web-bin
+ !dbus? ( x11-misc/xdg-utils )
+"
+
+src_configure() {
+ local mycmakeargs=(
+ -DOpenGL_GL_PREFERENCE=GLVND
+ # PMP, at least prior to the fork into JMP, used to download codecs,
+ # for safe measure, disable that.
+ -DENABLE_CODECS=OFF
+ # LINUX_X11POWER instructs JMP to use xdg-screensaver instead of dbus
+ # for inhibiting screen saving.
+ -DLINUX_X11POWER="$(usex dbus OFF ON)"
+ )
+ cmake_src_configure
+}
diff --git a/media-video/jellyfin-media-player/jellyfin-media-player-1.9.1.ebuild b/media-video/jellyfin-media-player/jellyfin-media-player-1.9.1.ebuild
new file mode 100644
index 000000000000..23b1b45d7776
--- /dev/null
+++ b/media-video/jellyfin-media-player/jellyfin-media-player-1.9.1.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..11} )
+inherit cmake python-any-r1
+
+DESCRIPTION="Jellyfin Desktop Client based on Plex Media Player"
+HOMEPAGE="https://github.com/jellyfin/jellyfin-media-player"
+
+SRC_URI="
+ https://github.com/jellyfin/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz
+"
+
+LICENSE="GPL-2"
+SLOT="0"
+
+KEYWORDS="~amd64"
+IUSE="+dbus"
+
+DEPEND="
+ dev-libs/libcec
+ dev-qt/qtcore:5
+ dev-qt/qtdeclarative:5
+ dev-qt/qtgui:5
+ dev-qt/qtnetwork:5
+ dev-qt/qtquickcontrols:5
+ dev-qt/qtwebchannel:5
+ dev-qt/qtwebengine:5
+ dev-qt/qtwidgets:5
+ dev-qt/qtwidgets:5
+ dev-qt/qtx11extras:5
+ dev-qt/qtxml:5
+ media-libs/libsdl2
+ media-video/mpv:=[libmpv]
+ sys-libs/zlib
+ virtual/opengl
+ x11-libs/libX11
+ x11-libs/libXrandr
+ dbus? ( dev-qt/qtdbus:5 )
+"
+
+BDEPEND="
+ ${PYTHON_DEPS}
+ virtual/pkgconfig
+"
+
+# x11-misc/xdg-utils is used for xdg-screensaver, which is used to inhibit
+# screen locking
+
+RDEPEND="
+ ${DEPEND}
+ ~media-video/jellyfin-web-bin-10.8.10
+ !dbus? ( x11-misc/xdg-utils )
+"
+
+src_configure() {
+ local mycmakeargs=(
+ -DOpenGL_GL_PREFERENCE=GLVND
+ # PMP, at least prior to the fork into JMP, used to download codecs,
+ # for safe measure, disable that.
+ -DENABLE_CODECS=OFF
+ # LINUX_X11POWER instructs JMP to use xdg-screensaver instead of dbus
+ # for inhibiting screen saving.
+ -DLINUX_X11POWER="$(usex dbus OFF ON)"
+ )
+ cmake_src_configure
+}
diff --git a/media-video/jellyfin-media-player/metadata.xml b/media-video/jellyfin-media-player/metadata.xml
index 604595372ea3..ea9cd35c6c30 100644
--- a/media-video/jellyfin-media-player/metadata.xml
+++ b/media-video/jellyfin-media-player/metadata.xml
@@ -1,6 +1,9 @@
<?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>
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/jellyfin-web-bin/metadata.xml b/media-video/jellyfin-web-bin/metadata.xml
new file mode 100644
index 000000000000..7acb00ec7ade
--- /dev/null
+++ b/media-video/jellyfin-web-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/jellyfin-web-jmp-bin/Manifest b/media-video/jellyfin-web-jmp-bin/Manifest
index b0fb33d35271..4ad675465c87 100644
--- a/media-video/jellyfin-web-jmp-bin/Manifest
+++ b/media-video/jellyfin-web-jmp-bin/Manifest
@@ -1,2 +1,3 @@
DIST jellyfin-web-jmp-bin-10.8.0.zip 44565218 BLAKE2B ecb8ee8d5e8c6ac8d813bdbbce9bb76de807e2f3282586fbcbf5f088b5402a153b0b4e644c940cde064dcfe304ff8486dfa743152aeb7757d36ccf1af38ff3d5 SHA512 1d804a17fcaed760ca16baa912840978745079815c7093f6d85eea5b0d238325df96b951f378822224a43f16a1dfe10617e71573e4e2f63c1e6db947ddbf3b3e
DIST jellyfin-web-jmp-bin-10.8.1.zip 44566480 BLAKE2B 10d6876d78edd841e0d1c0fb0503258e48630654bf4a4b962f79cc853f0741e151cacea391171422527aca24f2f08f2f22699af5a29fd431c4f2c813703443d2 SHA512 afe13e002b99698f0516375f69b391132a341968abc0a24635bcf817f4ee636f10f0b071ce3c1507eb51f530bddd90e42f0425f75e0c344ade7bdf4983183140
+DIST jellyfin-web-jmp-bin-10.8.9.zip 44494601 BLAKE2B 5d551a3ebf4c8c1a952f55dd93a52ee370b240fe8880ce855903d9ebc90635a55085295ad9aed6816ca1c072de72b04b8e36ca84ba011725a00da68a8d222fcb SHA512 8548967732ea49189009daa47a0170c8f7d8ff062da6f206db74e901eb225d852627c2539c09ccd35b8d756e62c32d1c60c7a2d604293d8226e8eaf24d716093
diff --git a/media-video/jellyfin-web-jmp-bin/jellyfin-web-jmp-bin-10.8.9.ebuild b/media-video/jellyfin-web-jmp-bin/jellyfin-web-jmp-bin-10.8.9.ebuild
new file mode 100644
index 000000000000..712ec84b5249
--- /dev/null
+++ b/media-video/jellyfin-web-jmp-bin/jellyfin-web-jmp-bin-10.8.9.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="Modified Jellyfin Web Client for use inside Jellyfin Media Player"
+HOMEPAGE="https://github.com/jellyfin/jellyfin-media-player"
+SRC_URI="
+ https://github.com/iwalton3/${PN%-bin}/releases/download/jwc-${PV}/dist.zip -> ${P}.zip
+"
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64"
+
+BDEPEND="
+ app-arch/unzip
+"
+
+S="${WORKDIR}/dist"
+
+src_install() {
+ insinto /usr/share/jellyfinmediaplayer/web-client/desktop
+ doins -r .
+}
diff --git a/media-video/jellyfin-web-jmp-bin/metadata.xml b/media-video/jellyfin-web-jmp-bin/metadata.xml
index 604595372ea3..ea9cd35c6c30 100644
--- a/media-video/jellyfin-web-jmp-bin/metadata.xml
+++ b/media-video/jellyfin-web-jmp-bin/metadata.xml
@@ -1,6 +1,9 @@
<?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>
diff --git a/media-video/libva-utils/Manifest b/media-video/libva-utils/Manifest
index 893fbad39180..93a46b84aa0f 100644
--- a/media-video/libva-utils/Manifest
+++ b/media-video/libva-utils/Manifest
@@ -1,3 +1 @@
-DIST libva-utils-2.14.0.tar.gz 1241072 BLAKE2B 17f1e0badb05e39f3979bde652dfe6832e8bfb2accd99fd6c5d972090cfce630e2a93ad96e5d17bc7bd9c393b12c2a7b066cb60a715c2dbb128dd263c480bcca SHA512 631e9becf5b2f6d083906962c004c9080d2e2b2d98b6003638a31dde8ad4e2549606301b97e88822471e29007232fc470a2116be09dc0c55d3cc2df6a45a7be1
-DIST libva-utils-2.15.0.tar.gz 1245559 BLAKE2B 92fe1e7dbd3c953eecb351625213c2b537ad640f61534f3316d3a46070cb3818b4acafbc7a666e24b51d0900cea044074a7a6519f3c4aba6d2a38cf6ed0b2d66 SHA512 90cfa83fb7443fc90558c148c740c9c272796197fba49ff0179af94c40e97c830fc26c534e9a74fa58f597075f9ba68b477aabc784148c14dc09bde07f23cdeb
-DIST libva-utils-2.16.0.tar.gz 1245723 BLAKE2B 3ce3b54f9b8d1e5960fdb7587da9dc4fa9754f3612155e86d99f2f120e31e0e69a40482d7a4571fefc0a8079ba987303cbb433203de9ef6e203e9419b6d91b91 SHA512 d5395c1de4b95f4d0a86621b0338852250a3893b732c6fd69d0622c989bff530461a183c151f322469b1ed7e4815173dbbcf36cc390db9ebbae6fb7d7a90cb9c
+DIST libva-utils-2.18.2.tar.gz 1279586 BLAKE2B 26ba87ef6973cb9960f9a646da9d6467dceb27ce9527d007e92716b4480d3d21711e23cf37f51236da640f6e6eefb421f167e0f87926e966f2f53a699f4110e5 SHA512 cdbf2d542f2d7a442af017a924dd4835f22e367fab89f08ab2beabc535035ed11cdeb2ce581b178ecdb9fd1545fa8fde57b7bc15c8c591cc9c2b5f9ebf572ee7
diff --git a/media-video/libva-utils/files/libva-utils-2.15.0-fix-threads-option.patch b/media-video/libva-utils/files/libva-utils-2.15.0-fix-threads-option.patch
deleted file mode 100644
index 4683dcbdd557..000000000000
--- a/media-video/libva-utils/files/libva-utils-2.15.0-fix-threads-option.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-https://bugs.gentoo.org/835508
-https://github.com/intel/libva-utils/pull/261
-
-From 83fb9c9bbda86f1bd224b20b082aff6e9f3d6ff6 Mon Sep 17 00:00:00 2001
-From: Matt Turner <mattst88@gmail.com>
-Date: Fri, 18 Mar 2022 10:52:29 -0700
-Subject: [PATCH] meson: Search for threads in top-level meson.build
-
-In Gentoo we allow disabling the tools and putsuface separately, so
-moving the threads check out of the encode subdirectory helps.
---- a/encode/meson.build
-+++ b/encode/meson.build
-@@ -1,4 +1,3 @@
--threads = dependency('threads')
- m = c.find_library('m')
-
-
---- a/meson.build
-+++ b/meson.build
-@@ -10,6 +10,8 @@ project('libva-utils', 'c', 'cpp',
-
- c = meson.get_compiler('c')
-
-+threads = dependency('threads')
-+
- libva_dep = dependency('libva', version: '>= 1.1.0')
-
- libva_utils_flags = [ '-Wno-unused-parameter',
-
diff --git a/media-video/libva-utils/libva-utils-2.14.0.ebuild b/media-video/libva-utils/libva-utils-2.14.0.ebuild
deleted file mode 100644
index 9127cfb38dd5..000000000000
--- a/media-video/libva-utils/libva-utils-2.14.0.ebuild
+++ /dev/null
@@ -1,96 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-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 )
-"
-
-BDEPEND="virtual/pkgconfig"
-
-if [[ ${PV} = *9999 ]] ; then
- DEPEND="~media-libs/libva-${PV}:=[drm(+),wayland?,X?]"
-else
- DEPEND=">=media-libs/libva-$(ver_cut 1-2).0:=[drm(+),wayland?,X?]"
-fi
-
-DEPEND+="
- wayland? ( >=dev-libs/wayland-1.0.6 )
- X? ( >=x11-libs/libX11-1.6.2 )
-"
-RDEPEND="${DEPEND}"
-
-src_prepare() {
- default
-
- local sed_args=()
-
- # Fix broken dependency check
- # https://github.com/intel/libva-utils/pull/260
- sed_args+=(-e "s/dependency('drm'/dependency('libdrm'/")
-
- if ! use examples ; then
- sed_args+=(
- -e "/^subdir('decode')$/d"
- -e "/^subdir('encode')$/d"
- -e "/^subdir('videoprocess')$/d"
- -e "/^subdir('vendor\/intel')$/d"
- -e "/^subdir('vendor\/intel\/sfcsample')$/d"
- )
- 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.15.0.ebuild b/media-video/libva-utils/libva-utils-2.15.0.ebuild
deleted file mode 100644
index 908a4fa7da64..000000000000
--- a/media-video/libva-utils/libva-utils-2.15.0.ebuild
+++ /dev/null
@@ -1,95 +0,0 @@
-# Copyright 1999-2022 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}:=[drm(+),wayland?,X?]"
-else
- DEPEND+=">=media-libs/libva-$(ver_cut 1-2).0:=[drm(+),wayland?,X?]"
-fi
-RDEPEND="${DEPEND}"
-BDEPEND="virtual/pkgconfig"
-
-PATCHES=(
- "${FILESDIR}"/${P}-fix-threads-option.patch
-)
-
-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.16.0.ebuild b/media-video/libva-utils/libva-utils-2.18.2.ebuild
index 0b9d60fb2396..28c1a1ca332c 100644
--- a/media-video/libva-utils/libva-utils-2.16.0.ebuild
+++ b/media-video/libva-utils/libva-utils-2.18.2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -31,9 +31,9 @@ DEPEND="
X? ( >=x11-libs/libX11-1.6.2 )
"
if [[ ${PV} = *9999 ]] ; then
- DEPEND+="~media-libs/libva-${PV}:=[drm(+),wayland?,X?]"
+ DEPEND+="~media-libs/libva-${PV}:=[wayland?,X?]"
else
- DEPEND+=">=media-libs/libva-$(ver_cut 1-2).0:=[drm(+),wayland?,X?]"
+ DEPEND+=">=media-libs/libva-$(ver_cut 1-2).0:=[wayland?,X?]"
fi
RDEPEND="${DEPEND}"
BDEPEND="virtual/pkgconfig"
@@ -45,16 +45,16 @@ src_prepare() {
if ! use examples ; then
sed_args+=(
- -e "/^subdir('decode')$/d"
- -e "/^subdir('encode')$/d"
- -e "/^subdir('videoprocess')$/d"
- -e "/^subdir('vendor\/intel')$/d"
- -e "/^subdir('vendor\/intel\/sfcsample')$/d"
+ -e "/^ subdir('decode')$/d"
+ -e "/^ subdir('encode')$/d"
+ -e "/^ subdir('videoprocess')$/d"
+ -e "/^ subdir('vendor\/intel')$/d"
+ -e "/^ subdir('vendor\/intel\/sfcsample')$/d"
)
fi
if ! use putsurface ; then
- sed_args+=(-e "/^subdir('putsurface')$/d")
+ sed_args+=(-e "/^ subdir('putsurface')$/d")
fi
if ! use vainfo ; then
diff --git a/media-video/libva-utils/libva-utils-9999.ebuild b/media-video/libva-utils/libva-utils-9999.ebuild
index 31994ffa0a15..f2d6709a0a66 100644
--- a/media-video/libva-utils/libva-utils-9999.ebuild
+++ b/media-video/libva-utils/libva-utils-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -31,9 +31,9 @@ DEPEND="
X? ( >=x11-libs/libX11-1.6.2 )
"
if [[ ${PV} = *9999 ]] ; then
- DEPEND+="~media-libs/libva-${PV}:=[drm(+),wayland?,X?]"
+ DEPEND+="~media-libs/libva-${PV}:=[wayland?,X?]"
else
- DEPEND+=">=media-libs/libva-$(ver_cut 1-2).0:=[drm(+),wayland?,X?]"
+ DEPEND+=">=media-libs/libva-$(ver_cut 1-2).0:=[wayland?,X?]"
fi
RDEPEND="${DEPEND}"
BDEPEND="virtual/pkgconfig"
@@ -45,16 +45,16 @@ src_prepare() {
if ! use examples ; then
sed_args+=(
- -e "/^subdir('decode')$/d"
- -e "/^subdir('encode')$/d"
- -e "/^subdir('videoprocess')$/d"
- -e "/^subdir('vendor\/intel')$/d"
- -e "/^subdir('vendor\/intel\/sfcsample')$/d"
+ -e "/^ subdir('decode')$/d"
+ -e "/^ subdir('encode')$/d"
+ -e "/^ subdir('videoprocess')$/d"
+ -e "/^ subdir('vendor\/intel')$/d"
+ -e "/^ subdir('vendor\/intel\/sfcsample')$/d"
)
fi
if ! use putsurface ; then
- sed_args+=(-e "/^subdir('putsurface')$/d")
+ sed_args+=(-e "/^ subdir('putsurface')$/d")
fi
if ! use vainfo ; then
diff --git a/media-video/makemkv/Manifest b/media-video/makemkv/Manifest
index 65f59d27a9ef..b572816f8441 100644
--- a/media-video/makemkv/Manifest
+++ b/media-video/makemkv/Manifest
@@ -1,2 +1,2 @@
-DIST makemkv-bin-1.17.2.tar.gz 16230560 BLAKE2B daf9dbe53cd0ae500c41e4a815645390f0309285e1b963d3fbfb15fce08392855217ebe249a7122651d45359657ac18ff5906dfd91f940b8b73d1b7f9028804d SHA512 fb974ddc20e219db1e5f813e9032b42b4fee8d98d798be7e5902dad042ca4615f1ea2c766e7f86425689e2debb2bbb1dbe40a2083c308c2e84701698b32b792f
-DIST makemkv-oss-1.17.2.tar.gz 6631661 BLAKE2B 97a57318d5d91393e71b3e7b2f9246ad2be27054ba902feeb774ed9107ae177d7fbad25d2374f481068514ad704a49b95bab75ac5c2949cb575e5d635f26aa17 SHA512 30b0510fe007508df06754b63ebc28a2f79de0dffbbd61190d1328d17406e3df1780f36e6cb7ee3d5b8f9462cdce38a7bea0ba25c59063b201e08b9e6c1b695a
+DIST makemkv-bin-1.17.3.tar.gz 16402650 BLAKE2B adc7bb6e093247d782c57de2f304b5715c0e21d0572927551fc3830fc15776c09d9593dee18d464f4d19e40a1e260facf750a494493048971b5f4cb1b40a372f SHA512 d085afd28d767a1605fb1acfabb65c7bf8998a46c00ac52d1c2833526d7761bb73bf019d826c40d5281e1318aef619d93d2fb358896968c5dbb435b9c6bcdbfd
+DIST makemkv-oss-1.17.3.tar.gz 6618376 BLAKE2B 640948c378cd0c329b3278ec91efaa3632287edb8a8dc9b9b9dde619e8360d8e53e5af2f2c24e2091b69ea2d842afcd2043a2eef98cfff9c98e418bd418ee5b2 SHA512 864a9903443dbaf1decb88981e892b8a5150052b773b24a319b8744a0244ccb770733cb5bae44fa014c748417bd2a4705867081e8a287a803ecddb128e3a543f
diff --git a/media-video/makemkv/makemkv-1.17.2.ebuild b/media-video/makemkv/makemkv-1.17.3.ebuild
index c92f3258e0e3..e99d889b48d6 100644
--- a/media-video/makemkv/makemkv-1.17.2.ebuild
+++ b/media-video/makemkv/makemkv-1.17.3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
diff --git a/media-video/mediainfo/Manifest b/media-video/mediainfo/Manifest
index 489edf57fec0..5884eccb3763 100644
--- a/media-video/mediainfo/Manifest
+++ b/media-video/mediainfo/Manifest
@@ -1 +1,3 @@
DIST mediainfo_22.09.tar.xz 2016868 BLAKE2B c4b1766c4d49be6e90d11c736e4572e24299ae96efdfbf92ef9d32a418d7777cad2ae60ac7e6234cfa7c3a11996e46fb178996c536b9ce13dd19a0449ae8bf86 SHA512 acdeef13153fd74c29d54b9bdf4e983dd81525ace47550977d99cb5950ab72579cbbfc1ae39d81d89e03c491ea559177a16853d9db20d83a995eff300b864d4d
+DIST mediainfo_23.03.tar.xz 2027676 BLAKE2B 2da17afaccb3a8b4a1e19012cb3bb29284856f9d16e27026701b1c78add444e83c5fbb3e22ff39955ffa1c0b6f62e87224c0b35a0ff007296c4c065f58f83c87 SHA512 5082826a315fefaa48ea65a09a538225f1311cfb48285c939bb7ce2ebc38a2d444e6974ecb8062e02b60fbde27759b5828fc97dd7f9229e0066e9d193137fb5c
+DIST mediainfo_23.04.tar.xz 2022444 BLAKE2B 4e5c1c09b670ee20839c49365f0973d783ec7ed4bd336bed7574b6369f356f8f11fe63fe99dd80a28b2677b3c872bc45941b89c307190fe0b8ab867f66ab7755 SHA512 768ac916da81ea10323be2957a87058ba863015f26a337ba3b3db15e40e52c7cd7b24f2ca2508334e35cdae6476d147ed4c81eeabfe801fa9dc5ca68ceb1e7af
diff --git a/media-video/mediainfo/mediainfo-22.09.ebuild b/media-video/mediainfo/mediainfo-22.09.ebuild
index 76baf622975b..68f70427ddc8 100644
--- a/media-video/mediainfo/mediainfo-22.09.ebuild
+++ b/media-video/mediainfo/mediainfo-22.09.ebuild
@@ -1,9 +1,12 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-# Please bump with media-libs/libmediainfo!
+# These must be bumped together:
+# - media-libs/libzen (if a release is available)
+# - media-libs/libmediainfo
+# - media-video/mediainfo
WX_GTK_VER="3.0-gtk3"
inherit xdg-utils autotools wxwidgets
diff --git a/media-video/mediainfo/mediainfo-23.03.ebuild b/media-video/mediainfo/mediainfo-23.03.ebuild
new file mode 100644
index 000000000000..187692d4da31
--- /dev/null
+++ b/media-video/mediainfo/mediainfo-23.03.ebuild
@@ -0,0 +1,92 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# These must be bumped together:
+# - media-libs/libzen (if a release is available)
+# - media-libs/libmediainfo
+# - media-video/mediainfo
+
+WX_GTK_VER="3.0-gtk3"
+inherit xdg-utils autotools wxwidgets
+
+DESCRIPTION="MediaInfo supplies technical and tag information about media files"
+HOMEPAGE="https://mediaarea.net/mediainfo/ https://github.com/MediaArea/MediaInfo"
+SRC_URI="https://mediaarea.net/download/source/${PN}/${PV}/${P/-/_}.tar.xz"
+S="${WORKDIR}/MediaInfo"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
+IUSE="curl mms wxwidgets"
+
+# The libzen dep usually needs to be bumped for each release!
+RDEPEND="
+ ~media-libs/libmediainfo-${PV}[curl=,mms=]
+ >=media-libs/libzen-0.4.41
+ sys-libs/zlib
+ wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER}[X] )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+pkg_setup() {
+ TARGETS="CLI"
+
+ if use wxwidgets; then
+ TARGETS+=" GUI"
+ setup-wxwidgets
+ fi
+}
+
+src_prepare() {
+ default
+
+ local target
+ for target in ${TARGETS}; do
+ cd "${S}"/Project/GNU/${target} || die
+ sed -i -e "s:-O2::" configure.ac || die
+ eautoreconf
+ done
+}
+
+src_configure() {
+ local target
+
+ for target in ${TARGETS}; do
+ cd "${S}"/Project/GNU/${target} || die
+ local args=""
+ [[ ${target} == "GUI" ]] && args="--with-wxwidgets --with-wx-gui"
+ econf ${args}
+ done
+}
+
+src_compile() {
+ local target
+
+ for target in ${TARGETS}; do
+ cd "${S}"/Project/GNU/${target} || die
+ default
+ done
+}
+
+src_install() {
+ local target
+
+ for target in ${TARGETS}; do
+ cd "${S}"/Project/GNU/${target} || die
+ default
+ dodoc "${S}"/History_${target}.txt
+ done
+}
+
+pkg_postinst() {
+ xdg_icon_cache_update
+ xdg_desktop_database_update
+}
+
+pkg_postrm() {
+ xdg_icon_cache_update
+ xdg_desktop_database_update
+}
diff --git a/media-video/mediainfo/mediainfo-23.04.ebuild b/media-video/mediainfo/mediainfo-23.04.ebuild
new file mode 100644
index 000000000000..187692d4da31
--- /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/mkvtoolnix/Manifest b/media-video/mkvtoolnix/Manifest
index f07ffbf4fa32..7ad17337daf3 100644
--- a/media-video/mkvtoolnix/Manifest
+++ b/media-video/mkvtoolnix/Manifest
@@ -1 +1,2 @@
DIST mkvtoolnix-72.0.0.tar.xz 10994204 BLAKE2B 2118837c01d8d31644e0147dfdec9fd619d18ffbab5d317e5dd84788a83cdf162ea7d72e98549bbc2ffc7953e0b80a0e23018658d8c5ad529fc719b291589a97 SHA512 dc18c6e63e724181e38753921ec3374752dbb7c4d20650cf0787e9049aaec4f6bb6c744e49b3783921804f192de742fba92826615a1edc8516d2a41621be658c
+DIST mkvtoolnix-75.0.0.tar.xz 11009552 BLAKE2B d9c32a453ac1f07e201b99fdcaaa5e553b42c1d17fafdeb1a84808ee572caf00b4b49d04c90d7801564f4856e9b3057a45ef79041e72f76bc829c3b5d9536c58 SHA512 eca45828ec3cbb540c67d12d369f3314246d08812933a018e5c4f69e8bd2fa4e17143a33a1841c5a8da3befbc22509fa508e6688ea858980d13c44aaae4ead08
diff --git a/media-video/mkvtoolnix/mkvtoolnix-75.0.0.ebuild b/media-video/mkvtoolnix/mkvtoolnix-75.0.0.ebuild
new file mode 100644
index 000000000000..19b76609dc6a
--- /dev/null
+++ b/media-video/mkvtoolnix/mkvtoolnix-75.0.0.ebuild
@@ -0,0 +1,135 @@
+# Copyright 1999-2023 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
+ 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 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:=
+ 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:= )
+ dev-qt/qtcore:5
+ gui? (
+ dev-qt/qtsvg:5
+ dev-qt/qtgui:5
+ dev-qt/qtnetwork:5
+ dev-qt/qtwidgets:5
+ dev-qt/qtconcurrent:5
+ dev-qt/qtmultimedia:5
+ )
+ app-text/cmark:0=
+ dbus? ( dev-qt/qtdbus:5 )
+"
+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
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}"/mkvtoolnix-58.0.0-qt5dbus.patch
+ "${FILESDIR}"/mkvtoolnix-67.0.0-no-uic-qtwidgets.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)
+
+ # Qt (of some version) is always needed, even for non-GUI builds,
+ # to do e.g. MIME detection. See e.g. bug #844097.
+ # But most of the Qt deps are conditional on a GUI build.
+ --disable-qt6
+ --enable-qt5
+ $(use_enable gui)
+ --with-qmake="$(qt5_get_bindir)"/qmake
+
+ $(use_with dvd dvdread)
+ $(use_with nls gettext)
+ #$(use_with nls po4a)
+ --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[@]}"
+}
+
+src_compile() {
+ rake V=1 -j$(makeopts_jobs) || die
+}
+
+src_test() {
+ rake V=1 -j$(makeopts_jobs) tests:unit || die
+ rake V=1 -j$(makeopts_jobs) tests:run_unit || die
+}
+
+src_install() {
+ DESTDIR="${D}" rake -j$(makeopts_jobs) install || die
+
+ einstalldocs
+ dodoc NEWS.md
+ doman doc/man/*.1
+}
diff --git a/media-video/mkvtoolnix/mkvtoolnix-9999.ebuild b/media-video/mkvtoolnix/mkvtoolnix-9999.ebuild
index 23a2e80da85d..4637f4ccbfb9 100644
--- a/media-video/mkvtoolnix/mkvtoolnix-9999.ebuild
+++ b/media-video/mkvtoolnix/mkvtoolnix-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -104,13 +104,16 @@ src_configure() {
$(use_with dvd dvdread)
$(use_with nls gettext)
- $(usex nls "" --with-po4a-translate=false)
+ #$(use_with nls po4a)
--disable-update-check
--disable-optimization
--with-boost="${ESYSROOT}"/usr
--with-boost-libdir="${ESYSROOT}"/usr/$(get_libdir)
)
+ # Work around bug #904710.
+ use nls || export ac_cv_path_PO4A=
+
econf "${myeconfargs[@]}"
}
diff --git a/media-video/motion/Manifest b/media-video/motion/Manifest
index 6e4c76eea570..59627f5dbcfc 100644
--- a/media-video/motion/Manifest
+++ b/media-video/motion/Manifest
@@ -1 +1,2 @@
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.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.3.2-r3.ebuild
index 4bf353fb7643..68f6f12d35cc 100644
--- a/media-video/motion/motion-4.3.2-r1.ebuild
+++ b/media-video/motion/motion-4.3.2-r3.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
diff --git a/media-video/motion/motion-4.5.1-r2.ebuild b/media-video/motion/motion-4.5.1-r2.ebuild
new file mode 100644
index 000000000000..ee5f5d8492c9
--- /dev/null
+++ b/media-video/motion/motion-4.5.1-r2.ebuild
@@ -0,0 +1,86 @@
+# 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"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE="ffmpeg mariadb mmal 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 )
+ mmal? ( media-libs/raspberrypi-userland )
+ 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
+ )
+"
+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
+"
+
+S="${WORKDIR}"/${PN}-release-${PV}
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ $(use_with ffmpeg) \
+ $(use_with mariadb) \
+ $(use_with mmal) \
+ $(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/mpgtx/mpgtx-1.3.1-r2.ebuild b/media-video/mpgtx/mpgtx-1.3.1-r2.ebuild
index 5068956f28e9..dc1a6db034c7 100644
--- a/media-video/mpgtx/mpgtx-1.3.1-r2.ebuild
+++ b/media-video/mpgtx/mpgtx-1.3.1-r2.ebuild
@@ -11,7 +11,7 @@ HOMEPAGE="http://mpgtx.sourceforge.net/"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="amd64 ppc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-solaris"
+KEYWORDS="amd64 ppc x86 ~amd64-linux ~x86-linux ~ppc-macos"
PATCHES=(
"${FILESDIR}"/${P}-configure.patch
diff --git a/media-video/mplayer/Manifest b/media-video/mplayer/Manifest
index a97a4832bde1..9fb82b326254 100644
--- a/media-video/mplayer/Manifest
+++ b/media-video/mplayer/Manifest
@@ -2,3 +2,4 @@ DIST MPlayer-1.5.tar.xz 15379972 BLAKE2B 33c09025a9c521e1bc09a50fabb04e89493cbc4
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
diff --git a/media-video/mplayer/files/prepare_mplayer.sh b/media-video/mplayer/files/prepare_mplayer.sh
index 57d47425689f..88ae8773cea8 100644
--- a/media-video/mplayer/files/prepare_mplayer.sh
+++ b/media-video/mplayer/files/prepare_mplayer.sh
@@ -1,25 +1,35 @@
-#!/bin/sh
+#!/usr/bin/env bash
+. /lib/gentoo/functions.sh || { echo "Failed to source gentoo-functions!" ; exit 1 ; }
VERSION=$(date +%Y%m%d)
-PACKAGE="mplayer-1.2_pre${VERSION}"
-DUMP_FFMPEG="$(dirname $0)/dump_ffmpeg.sh"
+PACKAGE="mplayer-1.5_p${VERSION}"
+DUMP_FFMPEG="$(realpath $(dirname $0)/dump_ffmpeg.sh)"
+ebegin "Fetching mplayer from svn"
svn checkout svn://svn.mplayerhq.hu/mplayer/trunk ${PACKAGE}
+eend $?
-pushd ${PACKAGE} > /dev/null
- # ffmpeg is in git now so no svn external anymore
- rm -rf ffmpeg
- git clone git://source.ffmpeg.org/ffmpeg.git ffmpeg/
- sh "$DUMP_FFMPEG"
- STORE_VERSION=$(LC_ALL=C svn info 2> /dev/null | grep Revision | cut -d' ' -f2)
- printf "$STORE_VERSION" > snapshot_version
-popd > /dev/null
+pushd ${PACKAGE} > /dev/null || { eerror "Moving to ${PACKAGE} dir failed!" ; exit 1 ; }
+ # ffmpeg is in git now so no svn external anymore
+ rm -rf ffmpeg
+
+ ebegin "Cloning ffmpeg from git"
+ git clone https://git.ffmpeg.org/ffmpeg.git
+ eend $?
+
+ einfo "Extracting version"
+ # This should be fatal but it hasn't been fatal in the live ebuild
+ # for years and it needs fixing, so...
+ bash "${DUMP_FFMPEG}" || ewarn "Dumping ffmpeg failed!"
+ STORE_VERSION=$(LC_ALL=C svn info 2> /dev/null | grep Revision | cut -d' ' -f2)
+ printf "${STORE_VERSION}" > snapshot_version
+ einfo "Got version ${STORE_VERSION}"
+popd > /dev/null || { eerror "Returning to previous dir failed!" ; exit 1 ; }
find "${PACKAGE}" -type d -name '.svn' -prune -print0 | xargs -0 rm -rf
find "${PACKAGE}" -type d -name '.git' -prune -print0 | xargs -0 rm -rf
-tar cJf ${PACKAGE}.tar.xz ${PACKAGE}
-rm -rf ${PACKAGE}/
-
-echo "Tarball: \"${PACKAGE}.tar.xz\""
+tar --exclude-vcs -cJf ${PACKAGE}.tar.xz ${PACKAGE} || { eerror "Tar creation failed! Error: $?" ; exit 1 ; }
+rm -rf ${PACKAGE}/ || { eerror "Removal of ${PACKAGE}? failed! Error: $?" ; exit 1 ; }
-echo "** all done **"
+einfo "Tarball: \"${PACKAGE}.tar.xz\""
+einfo "** all done **"
diff --git a/media-video/mplayer/mplayer-1.5.ebuild b/media-video/mplayer/mplayer-1.5.ebuild
index 372909e99730..4f171b4f094c 100644
--- a/media-video/mplayer/mplayer-1.5.ebuild
+++ b/media-video/mplayer/mplayer-1.5.ebuild
@@ -66,9 +66,10 @@ X_RDEPS="
# nemesi? ( net-libs/libnemesi )
# - mplayer relies on private APIs in giflib that have been removed:
# https://sourceforge.net/p/giflib/bugs/132/
+# - depends on <ffmpeg-5 for bug #876760, a snapshot may help though.
RDEPEND="
app-arch/bzip2
- >=media-video/ffmpeg-4.0:=[vdpau?]
+ <media-video/ffmpeg-5:=[vdpau?]
sys-libs/ncurses:=
sys-libs/zlib
a52? ( media-libs/a52dec )
diff --git a/media-video/mplayer/mplayer-1.5_p20230215.ebuild b/media-video/mplayer/mplayer-1.5_p20230215.ebuild
new file mode 100644
index 000000000000..31de25e10b42
--- /dev/null
+++ b/media-video/mplayer/mplayer-1.5_p20230215.ebuild
@@ -0,0 +1,631 @@
+# Copyright 1999-2023 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 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="
+ 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? ( virtual/linuxtv-dvb-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 )"
+
+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() {
+ local myconf=()
+ local uses i
+
+ # 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+=(
+ --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 )
+
+ 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}) )
+ done
+ myconf+=( $(use_enable cpu_flags_x86_sse4_1 sse4) )
+ myconf+=( $(use_enable cpu_flags_x86_sse4_2 sse42) )
+
+ myconf+=(
+ $(use_enable cpu_flags_ppc_altivec altivec)
+ $(use_enable shm)
+ )
+
+ use debug && myconf+=( --enable-debug=3 )
+
+ if use x86 && gcc-specs-pie; then
+ filter-flags -fPIC -fPIE
+ append-ldflags -nopie
+ fi
+
+ ###########################
+ # X enabled configuration #
+ ###########################
+ myconf+=( --disable-gui )
+ myconf+=( --disable-vesa )
+ uses="ggi vdpau xinerama xv"
+ for i in ${uses}; do
+ use ${i} || myconf+=( --disable-${i} )
+ done
+ use dga || myconf+=( --disable-dga1 --disable-dga2 )
+ use opengl || myconf+=( --disable-gl )
+ use osdmenu && myconf+=( --enable-menu )
+ use vidix || myconf+=( --disable-vidix --disable-vidix-pcidb )
+ use xscreensaver || myconf+=( --disable-xss )
+ use X || myconf+=( --disable-x11 )
+
+ ############################
+ # OSX (aqua) configuration #
+ ############################
+ if use aqua; then
+ myconf+=(
+ --enable-macosx-finder
+ --enable-macosx-bundle
+ )
+ fi
+
+ # Note: --enable-gnutls only makes sense with --enable-ffmpeg_a
+ edo ./configure \
+ --cc="$(tc-getCC)" \
+ --host-cc="$(tc-getBUILD_CC)" \
+ --prefix="${EPREFIX}/usr" \
+ --bindir="${EPREFIX}/usr/bin" \
+ --libdir="${EPREFIX}/usr/$(get_libdir)" \
+ --confdir="${EPREFIX}/etc/mplayer" \
+ --datadir="${EPREFIX}/usr/share/mplayer${namesuf}" \
+ --mandir="${EPREFIX}/usr/share/man" \
+ --disable-ffmpeg_a \
+ --disable-gnutls \
+ "${myconf[@]}"
+}
+
+src_compile() {
+ default
+
+ # Build only user-requested docs if they're available.
+ if use doc ; then
+ # Select available languages from ${LINGUAS}
+ local ALLOWED_LINGUAS="cs de en es fr hu it pl ru zh_CN"
+ local BUILT_DOCS=()
+ local i
+
+ for i in ${LINGUAS} ; do
+ has ${i} ${ALLOWED_LINGUAS} && BUILT_DOCS+=( ${i} )
+ done
+
+ if [[ -z ${BUILT_DOCS[@]} ]]; then
+ emake -j1 html-chunked
+ else
+ for i in ${BUILT_DOCS[@]}; do
+ emake -j1 html-chunked-${i}
+ done
+ fi
+ fi
+}
+
+src_install() {
+ local i
+
+ emake \
+ DESTDIR="${D}" \
+ INSTALLSTRIP="" \
+ install
+
+ dodoc AUTHORS Changelog Copyright README etc/codecs.conf
+
+ docinto tech/
+ dodoc DOCS/tech/{*.txt,MAINTAINERS,mpsub.sub,playtree,TODO,wishlist}
+ docinto TOOLS/
+ dodoc -r TOOLS/*
+ docinto tech/mirrors/
+ dodoc DOCS/tech/mirrors/*
+
+ if use doc; then
+ docinto html/
+ dodoc -r "${S}"/DOCS/HTML/*
+ fi
+
+ if ! use truetype; then
+ dodir /usr/share/mplayer/fonts
+
+ # Do this generic, as the mplayer people like to change the structure
+ # of their zips ...
+ local i
+ for i in $(find "${WORKDIR}/" -type d -name 'font-arial-*'); do
+ cp -pPR "${i}" "${ED}/usr/share/mplayer/fonts"
+ done
+
+ # Fix the font symlink ...
+ rm -rf "${ED}/usr/share/mplayer/font"
+ dosym fonts/font-arial-14-iso-8859-1 /usr/share/mplayer/font
+ fi
+
+ insinto /etc/mplayer
+ newins "${S}/etc/example.conf" mplayer.conf
+ cat >> "${ED}/etc/mplayer/mplayer.conf" <<- _EOF_
+ # Config options can be section specific, global
+ # options should go in the default section
+ [default]
+ _EOF_
+
+ doins "${S}/etc/input.conf"
+ if use osdmenu; then
+ doins "${S}/etc/menu.conf"
+ fi
+
+ if use truetype; then
+ cat >> "${ED}/etc/mplayer/mplayer.conf" <<- _EOF_
+ fontconfig=1
+ subfont-osd-scale=4
+ subfont-text-scale=3
+ _EOF_
+ fi
+
+ # bug 256203
+ if use rar; then
+ cat >> "${ED}/etc/mplayer/mplayer.conf" <<- _EOF_
+ unrarexec=${EPREFIX}/usr/bin/unrar
+ _EOF_
+ fi
+
+ dosym -r /etc/mplayer/mplayer.conf /usr/share/mplayer/mplayer.conf
+ newbin "${S}/TOOLS/midentify.sh" midentify
+}
+
+pkg_preinst() {
+ [[ -d ${EROOT}/usr/share/mplayer/Skin/default ]] && \
+ rm -rf "${EROOT}/usr/share/mplayer/Skin/default"
+}
+
+pkg_postrm() {
+ # Cleanup stale symlinks
+ [[ -L "${EROOT}/usr/share/mplayer/font" &&
+ ! -e "${EROOT}/usr/share/mplayer/font" ]] && \
+ rm -f "${EROOT}/usr/share/mplayer/font"
+
+ [[ -L "${EROOT}/usr/share/mplayer/subfont.ttf" &&
+ ! -e "${EROOT}/usr/share/mplayer/subfont.ttf" ]] && \
+ rm -f "${EROOT}/usr/share/mplayer/subfont.ttf"
+}
diff --git a/media-video/mplayer/mplayer-9999.ebuild b/media-video/mplayer/mplayer-9999.ebuild
index c938cefbf668..b686cded65a2 100644
--- a/media-video/mplayer/mplayer-9999.ebuild
+++ b/media-video/mplayer/mplayer-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -11,12 +11,16 @@ if [[ ${PV} == *9999* ]]; then
RELEASE_URI=""
inherit subversion git-r3
-elif [[ "${PV%_rc*}" == "${PV}" && "${PV%_pre*}" == "${PV}" ]]; then
+elif [[ "${PV%_rc*}" == "${PV}" && "${PV%_pre*}" == "${PV}" && "${PV%_p*}" == "${PV}" ]]; then
MY_P="MPlayer-${PV}"
S="${WORKDIR}/${MY_P}"
RELEASE_URI="mirror://mplayer/releases/${MY_P}.tar.xz"
else
- RELEASE_URI="mirror://gentoo/${P}.tar.xz"
+ # If necessary, don't be afraid to make a snapshot.
+ # http://www.mplayerhq.hu/design7/dload.html says:
+ # "We recommend to always use the latest SVN to get the all the new
+ # features and bugfixes, especially if the release date above looks old."
+ RELEASE_URI="https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}.tar.xz"
fi
FONT_URI="
@@ -117,7 +121,7 @@ RDEPEND="
opengl? ( virtual/opengl )
png? ( media-libs/libpng:= )
pnm? ( media-libs/netpbm )
- pulseaudio? ( media-sound/pulseaudio )
+ pulseaudio? ( media-libs/libpulse )
rar? (
|| (
app-arch/unrar
diff --git a/media-video/mpv/Manifest b/media-video/mpv/Manifest
index 17ec75c9053d..6ac1915445ce 100644
--- a/media-video/mpv/Manifest
+++ b/media-video/mpv/Manifest
@@ -1,4 +1 @@
-DIST mpv-0.34.1.tar.gz 3288356 BLAKE2B c0e5dc3cd23307449a526bd2cf0df5d870322aa1914a139784fd50d77274d42648a769ee4da3ba74e34a7a080700a5740dae13ed0827df1b3cfef36846f983ab SHA512 77ea349d6999f8cce9b5cce4cebd3506a224fc18ab08d22dd16bd34c34d012bb170879b268ddd62db40d116b4cc0b2d9d651b8097f387ed9115c426834cac77e
-DIST mpv-0.35.0.tar.gz 3365752 BLAKE2B 9b8dca943fc60a68f8474549d75c021dd9157195253c5ec09721969e500b2756c033e86975499f5632f0c943ac7bb54699f47340f0dee73d7284668d4419b17f SHA512 d5c1f734057f6b6c27e7f59de43cf7c0e7f813d842b8c7fd2ae1073dbe649c8187b7686df4efe928db2952e9f1efc171245e6f8780c1d9f174f4d7abff1e073a
DIST mpv-0.35.1.tar.gz 3367913 BLAKE2B 706a2031a2ca973eb3a092ec7f62ba40ca4dfd78e3ffe5d6e432486b0018852b034152a21805be594054178ccb17856dafe2b860cddcc22d27df895d163871de SHA512 42f3564a9ed4d972d14b2c697b0163f06a8bb68a0606a86c34935181247c783e3cb62286b445799998def0919fb13fce8b8f6453f82652d5bfaea5929119127a
-DIST waf-2.0.22 104880 BLAKE2B 6cae9e764712012ef97f790c723b86a2603dc64e9bafcec02c5251dbc1b23ec629db26c02eee2a72a77cf70c11d2729a626ea71f3cb50a6281257fd6f63eadf0 SHA512 4156cefa65b7e6349ddb1ca643bbdf3e4444449d137e5f595535564271d521362291f257765329015671584ac2c596a0ad98cfdbd621f5d5352141a55d384292
diff --git a/media-video/mpv/files/mpv-0.35.1-yt-dlp-edl-fragments.patch b/media-video/mpv/files/mpv-0.35.1-yt-dlp-edl-fragments.patch
new file mode 100644
index 000000000000..058c608233d4
--- /dev/null
+++ b/media-video/mpv/files/mpv-0.35.1-yt-dlp-edl-fragments.patch
@@ -0,0 +1,55 @@
+https://bugs.gentoo.org/899956
+https://github.com/mpv-player/mpv/pull/11398
+
+From 985655ebfd77ceddc44d76f8cc6dc446002f34ee Mon Sep 17 00:00:00 2001
+From: Christoph Heinrich <christoph.heinrich@student.tugraz.at>
+Date: Fri, 3 Mar 2023 00:45:45 +0100
+Subject: [PATCH 1/2] ytdl_hook: init fragment requires other fragments
+
+With dash the first fragment was always considered an init fragment if
+there wasn't a duration. However that only makes sense when there are
+also other fragments, so check if there are other fragments in addition
+to the lack of a duration.
+--- a/player/lua/ytdl_hook.lua
++++ b/player/lua/ytdl_hook.lua
+@@ -297,7 +297,7 @@ local function edl_track_joined(fragments, protocol, is_live, base)
+ local args = ""
+
+ -- assume MP4 DASH initialization segment
+- if not fragments[1].duration then
++ if not fragments[1].duration and #fragments > 1 then
+ msg.debug("Using init segment")
+ args = args .. ",init=" .. edl_escape(join_url(base, fragments[1]))
+ offset = 2
+
+From a5961ad096b1361a12f836c8b170fc748f46962a Mon Sep 17 00:00:00 2001
+From: Christoph Heinrich <christoph.heinrich@student.tugraz.at>
+Date: Fri, 3 Mar 2023 00:50:58 +0100
+Subject: [PATCH 2/2] ytdl_hook: only log error when no fallback url available
+
+An error indicates that something doesn't work, but as long as a
+safe url is available, playback is still expected to work.
+
+Thus reduce logging level of MP4 DASH without fragments message and
+add a new error message for when there is no safe url available either.
+
+Also adds a missing space.
+--- a/player/lua/ytdl_hook.lua
++++ b/player/lua/ytdl_hook.lua
+@@ -309,7 +309,7 @@ local function edl_track_joined(fragments, protocol, is_live, base)
+ -- if not available in all, give up.
+ for i = offset, #fragments do
+ if not fragments[i].duration then
+- msg.error("EDL doesn't support fragments" ..
++ msg.verbose("EDL doesn't support fragments " ..
+ "without duration with MP4 DASH")
+ return nil
+ end
+@@ -423,6 +423,7 @@ local function formats_to_edl(json, formats, use_all_formats)
+ track.protocol, json.is_live,
+ track.fragment_base_url)
+ if not edl_track and not url_is_safe(track.url) then
++ msg.error("No safe URL or supported fragmented stream available")
+ return nil
+ end
+
diff --git a/media-video/mpv/metadata.xml b/media-video/mpv/metadata.xml
index 6813c210d437..7ae1bd6e2875 100644
--- a/media-video/mpv/metadata.xml
+++ b/media-video/mpv/metadata.xml
@@ -9,11 +9,9 @@
<flag name="archive">Enable support for various archive formats via <pkg>app-arch/libarchive</pkg></flag>
<flag name="bluray">Enable playback of Blu-ray filesystems</flag>
<flag name="cli">Enable the command-line player</flag>
- <flag name="cplugins">Enable C plugins support</flag>
<flag name="drm">Enable Kernel Mode Setting / Direct Rendering Manager based video outputs</flag>
<flag name="egl">Enable support for various EGL-based video outputs / backends</flag>
<flag name="gamepad">Enable gamepad input support</flag>
- <flag name="gbm">Enable Graphics Buffer Manager based EGL video backend</flag>
<flag name="libmpv">Enable the shared library and headers (used by frontends / plugins)</flag>
<flag name="libplacebo">Enable support for GPU accelerated video rendering with <pkg>media-libs/libplacebo</pkg></flag>
<flag name="lua">Enable Lua scripting, OSC (On Screen Controller) GUI, and <pkg>net-misc/yt-dlp</pkg> support</flag>
@@ -29,7 +27,6 @@
<flag name="sndio">Enable sound support via <pkg>media-sound/sndio</pkg></flag>
<flag name="tools">Install extra tools: mpv_identify.sh, mpv_idet.sh, and umpv</flag>
<flag name="uchardet">Enable subtitles charset discovery via <pkg>app-i18n/uchardet</pkg></flag>
- <flag name="vulkan">Enable support for Vulkan-based video backends</flag>
<flag name="zimg">Enable libzimg support (for vf_fingerprint)</flag>
</use>
<upstream>
diff --git a/media-video/mpv/mpv-0.34.1-r1.ebuild b/media-video/mpv/mpv-0.34.1-r1.ebuild
deleted file mode 100644
index 529896f60781..000000000000
--- a/media-video/mpv/mpv-0.34.1-r1.ebuild
+++ /dev/null
@@ -1,359 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-LUA_COMPAT=( lua5-{1..2} luajit )
-PYTHON_COMPAT=( python3_{9..11} )
-PYTHON_REQ_USE='threads(+)'
-
-WAF_PV=2.0.22
-
-inherit bash-completion-r1 flag-o-matic lua-single optfeature pax-utils python-r1 toolchain-funcs waf-utils xdg-utils
-
-DESCRIPTION="Media player based on MPlayer and mplayer2"
-HOMEPAGE="https://mpv.io/ https://github.com/mpv-player/mpv"
-
-if [[ ${PV} != *9999* ]]; then
- SRC_URI="https://github.com/mpv-player/mpv/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~loong ppc ppc64 ~riscv x86 ~amd64-linux"
- DOCS=( RELEASE_NOTES )
-else
- EGIT_REPO_URI="https://github.com/mpv-player/mpv.git"
- inherit git-r3
- DOCS=(); SRC_URI=""
-fi
-SRC_URI+=" https://waf.io/waf-${WAF_PV}"
-DOCS+=( README.md DOCS/{client-api,interface}-changes.rst )
-
-# See Copyright in sources and Gentoo bug 506946. Waf is BSD, libmpv is ISC.
-LICENSE="LGPL-2.1+ GPL-2+ BSD ISC"
-SLOT="0"
-IUSE="+alsa aqua archive bluray cdda +cli coreaudio cplugins debug doc drm dvb
- dvd +egl gamepad gbm +iconv jack javascript jpeg lcms libcaca libmpv +lua
- nvenc openal +opengl pulseaudio raspberry-pi rubberband sdl
- selinux test tools +uchardet vaapi vdpau vulkan wayland +X +xv zlib zimg"
-
-REQUIRED_USE="
- || ( cli libmpv )
- aqua? ( opengl )
- egl? ( || ( gbm X wayland ) )
- gamepad? ( sdl )
- gbm? ( drm egl opengl )
- lcms? ( opengl )
- lua? ( ${LUA_REQUIRED_USE} )
- nvenc? ( opengl )
- opengl? ( || ( aqua egl X raspberry-pi !cli ) )
- raspberry-pi? ( opengl )
- test? ( opengl )
- tools? ( cli )
- uchardet? ( iconv )
- vaapi? ( || ( gbm X wayland ) )
- vdpau? ( X )
- vulkan? ( || ( X wayland ) )
- wayland? ( egl )
- X? ( egl? ( opengl ) )
- xv? ( X )
- ${PYTHON_REQUIRED_USE}
-"
-
-RESTRICT="!test? ( test )"
-
-COMMON_DEPEND="
- >=media-video/ffmpeg-4.0:0=[encode,threads,vaapi?,vdpau?]
- alsa? ( >=media-libs/alsa-lib-1.0.18 )
- archive? ( >=app-arch/libarchive-3.4.0:= )
- bluray? ( >=media-libs/libbluray-0.3.0:= )
- cdda? ( dev-libs/libcdio-paranoia
- dev-libs/libcdio:= )
- drm? ( x11-libs/libdrm )
- dvd? (
- >=media-libs/libdvdnav-4.2.0:=
- >=media-libs/libdvdread-4.1.0:=
- )
- egl? ( media-libs/mesa[egl(+),gbm(+)?,wayland(-)?] )
- gamepad? ( media-libs/libsdl2 )
- iconv? (
- virtual/libiconv
- uchardet? ( app-i18n/uchardet )
- )
- jack? ( virtual/jack )
- javascript? ( >=dev-lang/mujs-1.0.0 )
- jpeg? ( virtual/jpeg:0 )
- lcms? ( >=media-libs/lcms-2.6:2 )
- >=media-libs/libass-0.12.1:=[fontconfig,harfbuzz(+)]
- virtual/ttf-fonts
- libcaca? ( >=media-libs/libcaca-0.99_beta18 )
- lua? ( ${LUA_DEPS} )
- openal? ( >=media-libs/openal-1.13 )
- pulseaudio? ( media-sound/pulseaudio )
- raspberry-pi? ( >=media-libs/raspberrypi-userland-0_pre20160305-r1 )
- rubberband? ( >=media-libs/rubberband-1.8.0 )
- sdl? ( media-libs/libsdl2[sound,threads,video] )
- vaapi? ( media-libs/libva:=[drm(+)?,X?,wayland?] )
- vdpau? ( x11-libs/libvdpau )
- vulkan? (
- >=media-libs/libplacebo-3.104.0:=[vulkan]
- <media-libs/libplacebo-5
- media-libs/shaderc
- )
- wayland? (
- >=dev-libs/wayland-1.6.0
- >=dev-libs/wayland-protocols-1.14
- >=x11-libs/libxkbcommon-0.3.0
- )
- X? (
- x11-libs/libX11
- x11-libs/libXScrnSaver
- x11-libs/libXext
- x11-libs/libXinerama
- x11-libs/libXrandr
- opengl? (
- x11-libs/libXdamage
- virtual/opengl
- )
- xv? ( x11-libs/libXv )
- )
- zlib? ( sys-libs/zlib )
- zimg? ( >=media-libs/zimg-2.9.2 )
-"
-DEPEND="${COMMON_DEPEND}
- ${PYTHON_DEPS}
- dvb? ( virtual/linuxtv-dvb-headers )
- nvenc? ( >=media-libs/nv-codec-headers-8.2.15.7 )
-"
-RDEPEND="${COMMON_DEPEND}
- nvenc? ( x11-drivers/nvidia-drivers[X] )
- selinux? ( sec-policy/selinux-mplayer )
- tools? ( ${PYTHON_DEPS} )
-"
-BDEPEND="dev-python/docutils
- virtual/pkgconfig
- test? ( >=dev-util/cmocka-1.0.0 )
-"
-
-pkg_setup() {
- use lua && lua-single_pkg_setup
-}
-
-src_prepare() {
- cp "${DISTDIR}/waf-${WAF_PV}" "${S}"/waf || die
- chmod +x "${S}"/waf || die
- default
-}
-
-src_configure() {
- python_setup
- tc-export CC PKG_CONFIG AR
-
- if use raspberry-pi; then
- append-cflags -I"${ESYSROOT}/opt/vc/include"
- append-ldflags -L"${ESYSROOT}/opt/vc/lib"
- fi
-
- local mywafargs=(
- --confdir="${EPREFIX}/etc/${PN}"
-
- $(usex cli '' '--disable-cplayer')
- $(use_enable libmpv libmpv-shared)
-
- --disable-libmpv-static
- --disable-static-build
- # See deep down below for build-date.
- --disable-optimize # Don't add '-O2' to CFLAGS.
- $(usex debug '' '--disable-debug-build')
-
- $(use_enable doc html-build)
- --disable-pdf-build
- --enable-manpage-build
- $(use_enable cplugins)
- $(use_enable test)
-
- $(use_enable iconv)
- $(use_enable lua)
- $(use_enable javascript)
- $(use_enable zlib)
- $(use_enable bluray libbluray)
- $(use_enable dvd dvdnav)
- $(use_enable cdda)
- $(use_enable uchardet)
- $(use_enable rubberband)
- $(use_enable lcms lcms2)
- --disable-vapoursynth # Only available in overlays.
- $(use_enable archive libarchive)
-
- --enable-libavdevice
-
- # Audio outputs:
- $(use_enable sdl sdl2) # Listed under audio, but also includes video.
- $(use_enable pulseaudio pulse)
- $(use_enable jack)
- $(use_enable openal)
- --disable-opensles
- $(use_enable alsa)
- $(use_enable coreaudio)
-
- # Video outputs:
- $(use_enable aqua cocoa)
- $(use_enable drm)
- $(use_enable gbm)
- $(use_enable wayland wayland-scanner)
- $(use_enable wayland wayland-protocols)
- $(use_enable wayland)
- $(use_enable X x11)
- $(use_enable xv)
- $(usex opengl "$(use_enable aqua gl-cocoa)" '--disable-gl-cocoa')
- $(usex opengl "$(use_enable X gl-x11)" '--disable-gl-x11')
- $(usex egl "$(use_enable X egl-x11)" '--disable-egl-x11')
- $(usex egl "$(use_enable gbm egl-drm)" '--disable-egl-drm')
- $(usex opengl "$(use_enable wayland gl-wayland)" '--disable-gl-wayland')
- $(use_enable vdpau)
- $(usex vdpau "$(use_enable opengl vdpau-gl-x11)" '--disable-vdpau-gl-x11')
- $(use_enable vaapi) # See below for vaapi-glx, vaapi-x-egl.
- $(usex vaapi "$(use_enable X vaapi-x11)" '--disable-vaapi-x11')
- $(usex vaapi "$(use_enable wayland vaapi-wayland)" '--disable-vaapi-wayland')
- $(usex vaapi "$(use_enable gbm vaapi-drm)" '--disable-vaapi-drm')
- $(use_enable libcaca caca)
- $(use_enable jpeg)
- $(use_enable vulkan shaderc)
- $(use_enable vulkan libplacebo)
- $(use_enable raspberry-pi rpi)
- $(usex libmpv "$(use_enable opengl plain-gl)" '--disable-plain-gl')
- $(usex opengl '' '--disable-gl')
- $(use_enable vulkan)
- $(use_enable gamepad sdl2-gamepad)
-
- # HWaccels:
- # Automagic Video Toolbox HW acceleration. See Gentoo bug 577332.
- $(use_enable nvenc cuda-hwaccel)
- $(use_enable nvenc cuda-interop)
-
- # TV features:
- $(use_enable dvb dvbin)
-
- # Miscellaneous features:
- $(use_enable zimg)
- )
- if use lua; then
- if use lua_single_target_luajit; then
- mywafargs+=( --lua="luajit" )
- else
- # Because it would be too simple to just let the user directly
- # specify the package name to check, wouldn't it.
- mywafargs+=( --lua="$(ver_rs 1 '' $(ver_cut 1-2 $(lua_get_version)))" )
- fi
- fi
-
- if use vaapi && use X; then
- mywafargs+=(
- $(use_enable egl vaapi-x-egl)
- )
- fi
-
- # Not for us
- mywafargs+=(
- --disable-android
- --disable-egl-android
- --disable-uwp
- --disable-audiounit
- --disable-macos-media-player
- --disable-wasapi
- --disable-ios-gl
- --disable-macos-touchbar
- --disable-macos-cocoa-cb
- --disable-tvos
- --disable-egl-angle-win32
- )
-
- mywafargs+=(
- --bashdir="$(get_bashcompdir)"
- --zshdir="${EPREFIX}"/usr/share/zsh/site-functions
-)
-
- # Create reproducible non-live builds.
- [[ ${PV} != *9999* ]] && mywafargs+=(--disable-build-date)
-
- waf-utils_src_configure "${mywafargs[@]}"
-}
-
-src_install() {
- waf-utils_src_install
-
- if use lua; then
- insinto /usr/share/${PN}
- doins -r TOOLS/lua
- fi
-
- if use cli && use lua_single_target_luajit; then
- pax-mark -m "${ED}"/usr/bin/${PN}
- fi
-
- if use tools; then
- dobin TOOLS/{mpv_identify.sh,umpv}
- newbin TOOLS/idet.sh mpv_idet.sh
- python_replicate_script "${ED}"/usr/bin/umpv
- fi
-}
-
-pkg_postinst() {
- local rv softvol_0_18_1=0 osc_0_21_0=0 txtsubs_0_24_0=0 opengl_0_25_0=0
-
- for rv in ${REPLACING_VERSIONS}; do
- ver_test ${rv} -lt 0.18.1 && softvol_0_18_1=1
- ver_test ${rv} -lt 0.21.0 && osc_0_21_0=1
- ver_test ${rv} -lt 0.24.0 && txtsubs_0_24_0=1
- ver_test ${rv} -lt 0.25.0 && ! use opengl && opengl_0_25_0=1
- done
-
- if [[ ${softvol_0_18_1} -eq 1 ]]; then
- elog "Since version 0.18.1 the software volume control is always enabled."
- elog "This means that volume controls don't change the system volume,"
- elog "e.g. per-application volume with PulseAudio."
- elog "If you want to restore the previous behaviour, please refer to"
- elog
- elog "https://wiki.gentoo.org/wiki/Mpv#Volume_in_0.18.1"
- elog
- fi
-
- if [[ ${osc_0_21_0} -eq 1 ]]; then
- elog "In version 0.21.0 the default OSC layout was changed."
- elog "If you want to restore the previous layout, please refer to"
- elog
- elog "https://wiki.gentoo.org/wiki/Mpv#OSC_in_0.21.0"
- elog
- fi
-
- if [[ ${txtsubs_0_24_0} -eq 1 ]]; then
- elog "Since version 0.24.0 subtitles with .txt extension aren't autoloaded."
- elog "If you want to restore the previous behaviour, please refer to"
- elog
- elog "https://wiki.gentoo.org/wiki/Mpv#Subtitles_with_.txt_extension_in_0.24.0"
- elog
- fi
-
- if [[ ${opengl_0_25_0} -eq 1 ]]; then
- elog "Since version 0.25.0 the 'opengl' USE flag is mapped to"
- elog "the 'opengl' video output and no longer explicitly requires"
- elog "X11 or Mac OS Aqua. Consider enabling the 'opengl' USE flag."
- fi
-
- optfeature "URL support" net-misc/yt-dlp
-
- xdg_icon_cache_update
- xdg_desktop_database_update
-}
-
-pkg_postrm() {
- xdg_icon_cache_update
- xdg_desktop_database_update
-}
-
-src_test() {
- cd "${S}"/build/test || die
- local test
- for test in *; do
- if [[ -x ${test} ]]; then
- ./"${test}" || die "Test suite failed"
- fi
- done
-}
diff --git a/media-video/mpv/mpv-0.35.0-r1.ebuild b/media-video/mpv/mpv-0.35.0-r1.ebuild
deleted file mode 100644
index a67b869c76cc..000000000000
--- a/media-video/mpv/mpv-0.35.0-r1.ebuild
+++ /dev/null
@@ -1,303 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-LUA_COMPAT=( lua5-1 luajit )
-PYTHON_COMPAT=( python3_{9..11} )
-inherit edo flag-o-matic lua-single meson optfeature pax-utils python-single-r1 xdg
-
-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
- +libplacebo +lua mmal nvenc openal opengl pipewire pulseaudio
- raspberry-pi rubberband sdl selinux sixel sndio test tools +uchardet
- vaapi vdpau vulkan wayland +xv zimg zlib"
-REQUIRED_USE="
- ${PYTHON_REQUIRED_USE}
- || ( cli libmpv )
- egl? ( || ( X drm wayland ) )
- libplacebo? ( || ( egl opengl vulkan ) )
- lua? ( ${LUA_REQUIRED_USE} )
- nvenc? ( || ( egl opengl vulkan ) )
- opengl? ( || ( X aqua ) )
- test? ( cli )
- tools? ( cli )
- uchardet? ( iconv )
- vaapi? (
- || ( X egl libplacebo wayland )
- wayland? ( drm )
- )
- vdpau? ( X )
- vulkan? ( || ( X wayland ) libplacebo )
- xv? ( X )"
-RESTRICT="!test? ( test )"
-
-COMMON_DEPEND="
- media-libs/libass:=[fontconfig]
- media-video/ffmpeg:=[encode,threads,vaapi?,vdpau?]
- X? (
- x11-libs/libX11
- x11-libs/libXScrnSaver
- x11-libs/libXext
- x11-libs/libXinerama
- x11-libs/libXpresent
- x11-libs/libXrandr
- xv? ( x11-libs/libXv )
- )
- alsa? ( media-libs/alsa-lib )
- archive? ( app-arch/libarchive:= )
- bluray? ( media-libs/libbluray:= )
- cdda? (
- dev-libs/libcdio-paranoia:=
- dev-libs/libcdio:=
- )
- drm? (
- media-libs/mesa[gbm(+)]
- x11-libs/libdrm
- )
- dvd? (
- media-libs/libdvdnav
- media-libs/libdvdread:=
- )
- egl? ( media-libs/libglvnd )
- 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 )
- libplacebo? (
- >=media-libs/libplacebo-4.202:=[opengl?,vulkan?]
- egl? ( media-libs/libplacebo[opengl] )
- )
- lua? ( ${LUA_DEPS} )
- openal? ( media-libs/openal )
- opengl? ( media-libs/libglvnd[X?] )
- pipewire? ( media-video/pipewire:= )
- pulseaudio? ( media-libs/libpulse )
- raspberry-pi? ( media-libs/raspberrypi-userland )
- rubberband? ( media-libs/rubberband )
- sdl? ( media-libs/libsdl2[sound,threads,video] )
- sixel? ( media-libs/libsixel )
- sndio? ( media-sound/sndio:= )
- vaapi? ( media-libs/libva:=[X?,drm(+)?,wayland?] )
- vdpau? ( x11-libs/libvdpau )
- vulkan? (
- media-libs/shaderc
- media-libs/vulkan-loader[X?,wayland?]
- )
- 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? ( virtual/linuxtv-dvb-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_prepare() {
- default
-
- sed -i "s/'rst2html/&.py/" meson.build || die
-}
-
-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
-
- if use raspberry-pi; then
- append-cflags -I"${ESYSROOT}"/opt/vc/include
- append-ldflags -L"${ESYSROOT}"/opt/vc/lib
- fi
-
- mpv_feature_multi() {
- local use set
- for use in ${1} ${2}; do
- 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 drm gbm)
- $(meson_feature jpeg)
- $(meson_feature libcaca caca)
- $(meson_feature libplacebo)
- $(meson_feature mmal rpi-mmal)
- $(meson_feature sdl sdl2-video)
- $(meson_feature sixel)
- $(meson_feature wayland)
- $(meson_feature xv)
-
- -Dgl=$(use egl || use libmpv || use opengl || use raspberry-pi &&
- echo enabled || echo disabled)
- $(meson_feature egl)
- $(mpv_feature_multi egl X egl-x11)
- $(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 X' egl vaapi-x-egl)
- $(mpv_feature_multi 'vaapi egl' drm vaapi-drm)
- $(mpv_feature_multi 'vaapi egl' wayland vaapi-wayland)
-
- $(meson_feature vdpau)
- $(mpv_feature_multi vdpau opengl vdpau-gl-x11)
-
- $(mpv_feature_multi aqua opengl videotoolbox-gl)
- )
-
- meson_src_configure
-}
-
-src_test() {
- # https://github.com/mpv-player/mpv/blob/master/DOCS/man/options.rst#debugging
- local tests=($("${BUILD_DIR}"/mpv --no-config --unittest=help | tail -n +2; assert))
- (( ${#tests[@]} )) || die "failed to gather any tests"
-
- local skip=(
- all-simple
-
- # fails on non-issue minor inconsistencies (bug #888639)
- img_format
- repack_sws
- )
-
- local test
- for test in "${tests[@]}"; do
- [[ ${test} == @($(IFS='|'; echo "${skip[*]}")) ]] ||
- edo "${BUILD_DIR}"/mpv -v --no-config --unittest="${test}"
- done
-}
-
-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.35.1.ebuild b/media-video/mpv/mpv-0.35.1-r1.ebuild
index b3fb03958f57..db20dba448a3 100644
--- a/media-video/mpv/mpv-0.35.1.ebuild
+++ b/media-video/mpv/mpv-0.35.1-r1.ebuild
@@ -4,7 +4,7 @@
EAPI=8
LUA_COMPAT=( lua5-1 luajit )
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit edo flag-o-matic lua-single meson optfeature pax-utils python-single-r1 xdg
if [[ ${PV} == 9999 ]]; then
@@ -12,7 +12,7 @@ if [[ ${PV} == 9999 ]]; then
EGIT_REPO_URI="https://github.com/mpv-player/mpv.git"
else
SRC_URI="https://github.com/mpv-player/mpv/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux"
+ KEYWORDS="amd64 ~arm ~arm64 ~hppa ~loong ppc ppc64 ~riscv x86 ~amd64-linux"
fi
DESCRIPTION="Media player for the command line"
@@ -46,6 +46,7 @@ REQUIRED_USE="
xv? ( X )"
RESTRICT="!test? ( test )"
+# raspberry-pi: default to -bin given non-bin is known broken (bug #893422)
COMMON_DEPEND="
media-libs/libass:=[fontconfig]
media-video/ffmpeg:=[encode,threads,vaapi?,vdpau?]
@@ -93,7 +94,12 @@ COMMON_DEPEND="
opengl? ( media-libs/libglvnd[X?] )
pipewire? ( media-video/pipewire:= )
pulseaudio? ( media-libs/libpulse )
- raspberry-pi? ( media-libs/raspberrypi-userland )
+ raspberry-pi? (
+ || (
+ media-libs/raspberrypi-userland-bin
+ media-libs/raspberrypi-userland
+ )
+ )
rubberband? ( media-libs/rubberband )
sdl? ( media-libs/libsdl2[sound,threads,video] )
sixel? ( media-libs/libsixel )
@@ -127,6 +133,10 @@ BDEPEND="
cli? ( dev-python/docutils )
wayland? ( dev-util/wayland-scanner )"
+PATCHES=(
+ "${FILESDIR}"/${P}-yt-dlp-edl-fragments.patch
+)
+
pkg_setup() {
use lua && lua-single_pkg_setup
python-single-r1_pkg_setup
@@ -141,11 +151,6 @@ src_configure() {
fi
fi
- if use raspberry-pi; then
- append-cflags -I"${ESYSROOT}"/opt/vc/include
- append-ldflags -L"${ESYSROOT}"/opt/vc/lib
- fi
-
mpv_feature_multi() {
local use set
for use in ${1} ${2}; do
diff --git a/media-video/mpv/mpv-9999.ebuild b/media-video/mpv/mpv-9999.ebuild
index 2c923f2ec44e..2fc084c964c4 100644
--- a/media-video/mpv/mpv-9999.ebuild
+++ b/media-video/mpv/mpv-9999.ebuild
@@ -4,8 +4,8 @@
EAPI=8
LUA_COMPAT=( lua5-1 luajit )
-PYTHON_COMPAT=( python3_{9..11} )
-inherit edo flag-o-matic lua-single meson optfeature pax-utils python-single-r1 xdg
+PYTHON_COMPAT=( python3_{10..12} )
+inherit flag-o-matic lua-single meson optfeature pax-utils python-single-r1 xdg
if [[ ${PV} == 9999 ]]; then
inherit git-r3
@@ -46,6 +46,7 @@ REQUIRED_USE="
xv? ( X )"
RESTRICT="!test? ( test )"
+# raspberry-pi: default to -bin given non-bin is known broken (bug #893422)
COMMON_DEPEND="
media-libs/libass:=[fontconfig]
>=media-video/ffmpeg-4.4:=[encode,threads,vaapi?,vdpau?]
@@ -85,7 +86,7 @@ COMMON_DEPEND="
lcms? ( media-libs/lcms:2 )
libcaca? ( media-libs/libcaca )
libplacebo? (
- >=media-libs/libplacebo-4.202:=[opengl?,vulkan?]
+ >=media-libs/libplacebo-5.264:=[opengl?,vulkan?]
egl? ( media-libs/libplacebo[opengl] )
)
lua? ( ${LUA_DEPS} )
@@ -93,7 +94,12 @@ COMMON_DEPEND="
opengl? ( media-libs/libglvnd[X?] )
pipewire? ( media-video/pipewire:= )
pulseaudio? ( media-libs/libpulse )
- raspberry-pi? ( media-libs/raspberrypi-userland )
+ raspberry-pi? (
+ || (
+ media-libs/raspberrypi-userland-bin
+ media-libs/raspberrypi-userland
+ )
+ )
rubberband? ( media-libs/rubberband )
sdl? ( media-libs/libsdl2[sound,threads,video] )
sixel? ( media-libs/libsixel )
@@ -141,11 +147,6 @@ src_configure() {
fi
fi
- if use raspberry-pi; then
- append-cflags -I"${ESYSROOT}"/opt/vc/include
- append-ldflags -L"${ESYSROOT}"/opt/vc/lib
- fi
-
mpv_feature_multi() {
local use set
for use in ${1} ${2}; do
@@ -203,6 +204,7 @@ src_configure() {
$(meson_feature jpeg)
$(meson_feature libcaca caca)
$(meson_feature libplacebo)
+ $(meson_feature libplacebo libplacebo-next)
$(meson_feature mmal rpi-mmal)
$(meson_feature sdl sdl2-video)
$(meson_feature sixel)
@@ -242,29 +244,6 @@ src_configure() {
meson_src_configure
}
-src_test() {
- # https://github.com/mpv-player/mpv/blob/master/DOCS/man/options.rst#debugging
- local tests=($("${BUILD_DIR}"/mpv --no-config --unittest=help | tail -n +2; assert))
- (( ${#tests[@]} )) || die "failed to gather any tests"
-
- local skip=(
- all-simple
-
- # fails on non-issue minor inconsistencies (bug #888639)
- img_format
- repack_sws
- )
-
- local test
- for test in "${tests[@]}"; do
- [[ ${test} == @($(IFS='|'; echo "${skip[*]}")) ]] ||
- edo "${BUILD_DIR}"/mpv -v --no-config --unittest="${test}"
- done
-
- # currently only does basic libmpv testing, do in addition to --unittest
- meson_src_test
-}
-
src_install() {
meson_src_install
diff --git a/media-video/noad/Manifest b/media-video/noad/Manifest
index 12a9799f1909..b30786e65f53 100644
--- a/media-video/noad/Manifest
+++ b/media-video/noad/Manifest
@@ -1 +1,2 @@
DIST noad-0.8.7.tar.gz 144339 BLAKE2B e7492f63e7326cdced041332e05051a6bda2e92798f4b694ff626e65306d6ebe606f871eabc37df1613677c2f739b3caed033b443cbe7edce913b83a0365e3e5 SHA512 fa1d0226144175de586f938a594fe0a3c0b8a924a258f1406cf52078d5e6d84f46ae685ee3c9f3ce28e62f9eee719d6a938504e39a6b3b9c96043f4bd4aaf69d
+DIST noad-0.8.8.tar.gz 144269 BLAKE2B 0474c165af16afb93459dd753017e25afe5e9c42439af9e1f2e23e4aeb5d4cd3610a66dec80d63d1c5f71d2ef9f6817ad831a5e368e8aeda53e078d0137f67ae SHA512 1795072e0b416c9904e8769da2bfe08120ea2c55427bd6e7479c6d79bb5a1b25abe82c0ed2cf8b3d5f7a354e2f60b1251e9d1ed102d19b3c45c1cd34a5e8e6d0
diff --git a/media-video/noad/noad-0.8.7.ebuild b/media-video/noad/noad-0.8.7-r1.ebuild
index f89605e63649..25ba24135bd4 100644
--- a/media-video/noad/noad-0.8.7.ebuild
+++ b/media-video/noad/noad-0.8.7-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2021 Gentoo Authors
+# Copyright 2021-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -15,9 +15,10 @@ KEYWORDS="amd64 x86"
IUSE="+ffmpeg imagemagick libmpeg2"
BDEPEND="virtual/pkgconfig"
+# <ffmpeg-5 dep for bug #834408, https://github.com/madmartin/noad/issues/2
DEPEND="
libmpeg2? ( media-libs/libmpeg2:= )
- ffmpeg? ( media-video/ffmpeg )
+ ffmpeg? ( <media-video/ffmpeg-5:= )
imagemagick? ( media-gfx/imagemagick )"
RDEPEND="${DEPEND}"
diff --git a/media-video/noad/noad-0.8.8.ebuild b/media-video/noad/noad-0.8.8.ebuild
new file mode 100644
index 000000000000..408b4c6b7d02
--- /dev/null
+++ b/media-video/noad/noad-0.8.8.ebuild
@@ -0,0 +1,69 @@
+# Copyright 2021-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="Mark commercial breaks in VDR recordings"
+HOMEPAGE="https://github.com/madmartin/noad"
+SRC_URI="https://github.com/madmartin/noad/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="+ffmpeg imagemagick libmpeg2"
+REQUIRED_USE="|| ( ffmpeg libmpeg2 )"
+
+DEPEND="
+ libmpeg2? ( media-libs/libmpeg2 )
+ ffmpeg? ( media-video/ffmpeg:= )
+ imagemagick? ( media-gfx/imagemagick:= )"
+RDEPEND="${DEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ $(usev imagemagick --with-magick) \
+ $(usev !ffmpeg --without-ffmpeg) \
+ $(usev !libmpeg2 --without-libmpeg2) \
+ --with-tools
+}
+
+src_install() {
+ dobin noad showindex checkMarks
+ use imagemagick && dobin markpics
+
+ dodoc README* INSTALL
+ # example scripts are installed as dokumentation
+ dodoc allnewnoad allnoad allnoadnice allnoaduncut checkAllMarks clearlogos noadcall.sh noadifnew stat2html statupd
+
+ newconfd "${FILESDIR}"/confd_vdraddon.noad vdraddon.noad
+
+ insinto /usr/share/vdr/record
+ doins "${FILESDIR}"/record-50-noad.sh
+
+ insinto /usr/share/vdr/shutdown
+ doins "${FILESDIR}"/pre-shutdown-15-noad.sh
+
+ insinto /etc/vdr/reccmds
+ doins "${FILESDIR}"/reccmds.noad.conf
+
+ exeinto /usr/share/vdr/bin
+ doexe "${FILESDIR}"/noad-reccmd
+}
+
+pkg_postinst() {
+ elog
+ elog "To integrate noad in VDR you should do this:"
+ elog
+ elog "start and set Parameter in /etc/conf.d/vdraddon.noad"
+ elog
+ elog "Note: You can use here all parameters for noad,"
+ elog "please look in the documentation of noad."
+}
diff --git a/media-video/obs-studio/Manifest b/media-video/obs-studio/Manifest
index 5475de86801f..57f2294fb885 100644
--- a/media-video/obs-studio/Manifest
+++ b/media-video/obs-studio/Manifest
@@ -1,11 +1,11 @@
DIST asio-b73dc1d2c0ecb9452a87c26544d7f71e24342df6.tar.gz 1211725 BLAKE2B 8ffe536e9398b23910deab9889136ac5cb2a39e26982826252400737ea68d201e11bf16f13f20bd4c777fc7ff718da5ef8d329747065c62e61306fc1448f3908 SHA512 91245741fe6e7ce8eec6897f222b05cfa9474f93487272d8ca84ec56679afd5cddff2cf07f30cdd6516149e0a138b8a7396b1a7c02a46044b38f4e60addcbf8a
DIST cef_binary_5060_linux64.tar.bz2 132839531 BLAKE2B f7d342cf12bf435aab3873b666a47c42c6583a88f140c28dabfd2dd860cd0d5c96cc51cc034703bffc6f1094a738bd77008c01839fa5ea53b848bc1c483a0ae4 SHA512 c99ce53858c57becd7822e39ff81d59b7296374fa61b29dfd4a572c2ed8f9ab155114ed179764ea05586e0edb2f1654f0b73c471f1cd9b233660e7f1c8b462c4
DIST json-a34e011e24beece3b69397a03fdc650546f052c3.tar.gz 6860722 BLAKE2B 433b499f24859153171654f3fd0fa9afd4ceb8b21a159185a424084b940d8496f8952c0291a52d85009dde16c46e45d5a206f354d043f4d010a29a1f18965d87 SHA512 a7c64517377274479bc3060163a2a7ed0a8780c12dc193287c060f04dfd742ffe8832c930bec75eb0b36f8290044c31530260a614aabae90367f6ccfd4b711f3
-DIST obs-browser-e2310b02df3e6c184fe6eb6608244a82e37f582e.tar.gz 109012 BLAKE2B a2f3d9e1a3dbc3aa4d00423e743633038d59ce501626941a21ef0cf78608f4190335b8b846bfef49b2f09976d4ef3bb8b19f955b2a328c375cc045b886cb367c SHA512 76494fc9415db68d2b67d832a7a5c8b035e4e379d9adb6eb8292579d12b88b92350692b24e999b1328e02f729fae4060304594d37c754ff359903193c1464aed
-DIST obs-browser-fc62563ba4232649b7e0ffd772e66ad71ba49377.tar.gz 109571 BLAKE2B 10082c64bd872d52fccf7bd539f7106c5b66fc9d6e5f31ffdb86c2e6a3e97b36a4848f5f6f008cbfb67f94bd1fad01c7683e8575e3e0f8d1808724e740be4e11 SHA512 113f97a21be8deb8bbd1ec98fd565ebb139d4b6901692ed5f61034581da7016b06fa6975b49db3fd2c7aaeac369a09ac98174798abba149aacbfffd2e0b40236
-DIST obs-studio-28.1.2.tar.gz 18859931 BLAKE2B 08fcedb4094d6a03512139e9055116f47fbd6cf706029d2719524bc018d0dce2a774de83b603f9a7665a115e2414775b858020e0be0ccdcc6882478256392646 SHA512 9d5e7e1f2f6236b795c2c49a1a6ba43623c71f16c1c6106fae6ac99b792e15793c169fb62aea271c253b13a0fd9bc9b9ad7880315d9ee787682174a5700f85bd
-DIST obs-studio-29.0.0.tar.gz 18894364 BLAKE2B 3cf120b5bc9bae3d797a55aa0d348a6eabb2c0ccbf71d89e203468c42780212a6ad0ab52eaa913a8942a4b9c1bf07a50dc951891bcf2cbc3639177f983841066 SHA512 14208682fd7c2d5bdc049affe9adcdda73f5d9177277da021aed942518f23c2f3bec8ed55ba58fd8ee3f5f575b13f1083b36248a1073bafed2c4bbb2bd28ec61
+DIST obs-browser-1c2264d722f065646b72ac654f6ddbb6843f9bef.tar.gz 110765 BLAKE2B 99ceb51dc1a39c5abab26c6e5f1be63eb0cfaeb7e102ed07a4dc6a16d477e46e7499f1e9beca81d479683374d03e3c08c9ceeb34d04a733ae34c0688bb4ad1c0 SHA512 bddfa7914559405331c10a9589f46c17013cdbd361423e71763a4d8d4d521c53dc5df4d7581ff7bf0c9136627024e017bfb08b4a996b33e609cddbae41b5c878
+DIST obs-browser-594115a27d40f0916e55db97cb61f7c7130cbe28.tar.gz 116455 BLAKE2B 8158bdd9fcc689c3b0024c9da26c3f39b44c9dac7fb031470470a2697f66af122552a19beb389faa96001a8f35bf06580ad3c5e00f616900e7ca960d3e1c1450 SHA512 ff1e5cbe76a1a4a7224b1b01f0f45df51dd60c7426a73008a744fb17be3e4c7a96dd3833f237a480dd4ec2dd3e544d847aced2256453919d8442f7857354afb2
+DIST obs-studio-29.0.2.tar.gz 18939072 BLAKE2B 78a6b7fec520797a5c9d36e7d9a034c29c701d38a745415c3fd0ae3907831584ef4a77b833fa1a7466a23b02a06736afd34720ff3b0d3226dbb0dcab64c72931 SHA512 63a832dc6a0a7f07a2f7adf18f1412e8694405d39721144e82dedab8182e17da6f3063f547bc2b33cc7ea053f6dbb8ffda051af5bffdf9773710bd08744faf8f
+DIST obs-studio-29.1.1.tar.gz 26311197 BLAKE2B 0ea6aab3b58c83ad69010fad8c949d5f93dead5adf61e5faab7e3cf3e1905addb6ebe5833b0c7c4c0b33504d83fbb3a2fe5c1dda61174bef60556eeb380fd1ad SHA512 25779491aaf36ac84134fc5930071acdec2be3fa88bb7717a1e032dcc81e409e6cc55648471f64efbcdbf4ddbdbadbccab5aeaa34b3ae02c69e9285c303ac541
DIST obs-websocket-31f9845b6132e6c1529401292bc1125401e2a324.tar.gz 238884 BLAKE2B 93a41ff9dd33cf2babaef90c961def1ae39d3b4e7d2f2542123973672c2adbd0cff987f58ce72e9c4acd8818c834531e624c376b3d297f4bdfc097e22ee4b293 SHA512 11bf28f574ec2a7b128dae53010484610465c94245881fd98eb750b59e00236f656d1ef706187a41cb42eab3e3668440d83f66399f6917e2d93b7ba6c7241ad3
-DIST obs-websocket-5716577019b1ccda01a12db2cba35a023082b7ad.tar.gz 235118 BLAKE2B 96202cf81389b82b26027680dcaa6e2bf902c9776a89895fbef859dae2986523bc5d34ad30233c29fac043611a942fb4d86e5d9d9cd4ef2a9503154a383002fe SHA512 9bb511c9693889f9837cd001fafe403762d44f2ecc80bad42e592d7555e3807a148ab19638724871b7807e71edf5f62a1e0ea62f362fd1b9a6e9bf49000b8a5c
+DIST obs-websocket-57a9c19f2ccf4e5452baeffd78014579622b9f3a.tar.gz 244736 BLAKE2B b78632d2732198d46fcd424ba76c99de3e98e767be1ff01f56557e47443ac88b5bf1628d07b4024ab942b979946b8982cdf1b7bf183cda3b22622503e59ff718 SHA512 0dac06ab0b94f70ed597346c577c431c4e5034bbcd82825e5bc8644a6ca4277ef04de9004df307e5270ac98ce2e40ee65c48e202421ce45edb78ad19b9fbaa4e
DIST qr-8518684c0f33d004fa93971be2c6a8eca3167d1e.tar.gz 135863 BLAKE2B fa6fb9c9e5250b56bdf38f31aa4acaf4ce860c153012984d1266928bd7a62dcf43b271ff53b4322931304670742566dcb016ef65ff2f681bf76224f86eca567c SHA512 ba298de89411fecc8db3dc10850485da01f5183d68b6d91ea91a9e28c1f104eb110adbf143a37e5d1856abbba5d309ab8329a6359ca7225bacb033d8044fa72c
DIST websocketpp-56123c87598f8b1dd471be83ca841ceae07f95ba.tar.gz 701544 BLAKE2B 61680c31309d8f78b27b82e1bde2c7828eae2777df0629355c557dfd8b0daef6de7d202bbcff372351e135bb62366ffc8eec6c72a99df7c46a9197773c46550c SHA512 f185a66e5a7c783254352a6ef87e2e559f681032b7368765d08393ed12bcae76825abed7dcaea73de09df644320409dad46279701f5f469520542a2c9b6a6163
diff --git a/media-video/obs-studio/obs-studio-29.0.0-r1.ebuild b/media-video/obs-studio/obs-studio-29.0.2.ebuild
index 70779f23ca4f..a7bffc5d998a 100644
--- a/media-video/obs-studio/obs-studio-29.0.0-r1.ebuild
+++ b/media-video/obs-studio/obs-studio-29.0.2.ebuild
@@ -12,7 +12,7 @@ inherit cmake lua-single optfeature python-single-r1 xdg
CEF_DIR="cef_binary_5060_linux64"
ASIO_COMMIT="b73dc1d2c0ecb9452a87c26544d7f71e24342df6"
JSON_COMMIT="a34e011e24beece3b69397a03fdc650546f052c3"
-OBS_BROWSER_COMMIT="fc62563ba4232649b7e0ffd772e66ad71ba49377"
+OBS_BROWSER_COMMIT="1c2264d722f065646b72ac654f6ddbb6843f9bef"
OBS_WEBSOCKET_COMMIT="31f9845b6132e6c1529401292bc1125401e2a324"
QR_COMMIT="8518684c0f33d004fa93971be2c6a8eca3167d1e"
WEBSOCKETPP_COMMIT="56123c87598f8b1dd471be83ca841ceae07f95ba"
diff --git a/media-video/obs-studio/obs-studio-28.1.2-r1.ebuild b/media-video/obs-studio/obs-studio-29.1.1.ebuild
index 08e06f6d0ca1..3fc13bf97d2f 100644
--- a/media-video/obs-studio/obs-studio-28.1.2-r1.ebuild
+++ b/media-video/obs-studio/obs-studio-29.1.1.ebuild
@@ -10,12 +10,9 @@ PYTHON_COMPAT=( python3_{9..11} )
inherit cmake lua-single optfeature python-single-r1 xdg
CEF_DIR="cef_binary_5060_linux64"
-ASIO_COMMIT="b73dc1d2c0ecb9452a87c26544d7f71e24342df6"
-JSON_COMMIT="a34e011e24beece3b69397a03fdc650546f052c3"
-OBS_BROWSER_COMMIT="e2310b02df3e6c184fe6eb6608244a82e37f582e"
-OBS_WEBSOCKET_COMMIT="5716577019b1ccda01a12db2cba35a023082b7ad"
+OBS_BROWSER_COMMIT="594115a27d40f0916e55db97cb61f7c7130cbe28"
+OBS_WEBSOCKET_COMMIT="57a9c19f2ccf4e5452baeffd78014579622b9f3a"
QR_COMMIT="8518684c0f33d004fa93971be2c6a8eca3167d1e"
-WEBSOCKETPP_COMMIT="56123c87598f8b1dd471be83ca841ceae07f95ba"
if [[ ${PV} == 9999 ]]; then
inherit git-r3
@@ -32,11 +29,8 @@ else
SRC_URI="
https://github.com/obsproject/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz
https://github.com/obsproject/obs-browser/archive/${OBS_BROWSER_COMMIT}.tar.gz -> obs-browser-${OBS_BROWSER_COMMIT}.tar.gz
- https://github.com/chriskohlhoff/asio/archive/${ASIO_COMMIT}.tar.gz -> asio-${ASIO_COMMIT}.tar.gz
https://github.com/nayuki/QR-Code-generator/archive/${QR_COMMIT}.tar.gz -> qr-${QR_COMMIT}.tar.gz
- https://github.com/nlohmann/json/archive/${JSON_COMMIT}.tar.gz -> json-${JSON_COMMIT}.tar.gz
https://github.com/obsproject/obs-websocket/archive/${OBS_WEBSOCKET_COMMIT}.tar.gz -> obs-websocket-${OBS_WEBSOCKET_COMMIT}.tar.gz
- https://github.com/zaphoyd/websocketpp/archive/${WEBSOCKETPP_COMMIT}.tar.gz -> websocketpp-${WEBSOCKETPP_COMMIT}.tar.gz
"
KEYWORDS="~amd64 ~ppc64 ~x86"
fi
@@ -65,11 +59,13 @@ DEPEND="
dev-libs/glib:2
dev-libs/jansson:=
media-libs/libglvnd
+ media-libs/libva
media-libs/x264:=
media-video/ffmpeg:=[nvenc?,x264]
net-misc/curl
sys-apps/dbus
sys-apps/pciutils
+ sys-apps/util-linux
sys-libs/zlib:=
x11-libs/libX11
x11-libs/libXcomposite
@@ -139,6 +135,11 @@ DEPEND="
dev-libs/wayland
x11-libs/libxkbcommon
)
+ websocket? (
+ dev-cpp/asio
+ dev-cpp/nlohmann_json
+ dev-cpp/websocketpp
+ )
"
RDEPEND="${DEPEND}"
@@ -170,24 +171,25 @@ src_unpack() {
rm -d ${P}/plugins/obs-websocket || die
mv obs-websocket-${OBS_WEBSOCKET_COMMIT} ${P}/plugins/obs-websocket || die
- rm -d ${P}/plugins/obs-websocket/deps/asio || die
- mv asio-${ASIO_COMMIT} ${P}/plugins/obs-websocket/deps/asio || die
-
- rm -d ${P}/plugins/obs-websocket/deps/json || die
- mv json-${JSON_COMMIT} ${P}/plugins/obs-websocket/deps/json || die
-
rm -d ${P}/plugins/obs-websocket/deps/qr || die
mv QR-Code-generator-${QR_COMMIT} ${P}/plugins/obs-websocket/deps/qr || die
-
- rm -d ${P}/plugins/obs-websocket/deps/websocketpp || die
- mv websocketpp-${WEBSOCKETPP_COMMIT} ${P}/plugins/obs-websocket/deps/websocketpp || 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)
@@ -262,5 +264,6 @@ pkg_postinst() {
elog
fi
+ optfeature "VA-API hardware encoding" media-video/ffmpeg[vaapi]
optfeature "virtual camera support" media-video/v4l2loopback
}
diff --git a/media-video/obs-studio/obs-studio-9999.ebuild b/media-video/obs-studio/obs-studio-9999.ebuild
index a7bffc5d998a..3fc13bf97d2f 100644
--- a/media-video/obs-studio/obs-studio-9999.ebuild
+++ b/media-video/obs-studio/obs-studio-9999.ebuild
@@ -10,12 +10,9 @@ PYTHON_COMPAT=( python3_{9..11} )
inherit cmake lua-single optfeature python-single-r1 xdg
CEF_DIR="cef_binary_5060_linux64"
-ASIO_COMMIT="b73dc1d2c0ecb9452a87c26544d7f71e24342df6"
-JSON_COMMIT="a34e011e24beece3b69397a03fdc650546f052c3"
-OBS_BROWSER_COMMIT="1c2264d722f065646b72ac654f6ddbb6843f9bef"
-OBS_WEBSOCKET_COMMIT="31f9845b6132e6c1529401292bc1125401e2a324"
+OBS_BROWSER_COMMIT="594115a27d40f0916e55db97cb61f7c7130cbe28"
+OBS_WEBSOCKET_COMMIT="57a9c19f2ccf4e5452baeffd78014579622b9f3a"
QR_COMMIT="8518684c0f33d004fa93971be2c6a8eca3167d1e"
-WEBSOCKETPP_COMMIT="56123c87598f8b1dd471be83ca841ceae07f95ba"
if [[ ${PV} == 9999 ]]; then
inherit git-r3
@@ -32,11 +29,8 @@ else
SRC_URI="
https://github.com/obsproject/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz
https://github.com/obsproject/obs-browser/archive/${OBS_BROWSER_COMMIT}.tar.gz -> obs-browser-${OBS_BROWSER_COMMIT}.tar.gz
- https://github.com/chriskohlhoff/asio/archive/${ASIO_COMMIT}.tar.gz -> asio-${ASIO_COMMIT}.tar.gz
https://github.com/nayuki/QR-Code-generator/archive/${QR_COMMIT}.tar.gz -> qr-${QR_COMMIT}.tar.gz
- https://github.com/nlohmann/json/archive/${JSON_COMMIT}.tar.gz -> json-${JSON_COMMIT}.tar.gz
https://github.com/obsproject/obs-websocket/archive/${OBS_WEBSOCKET_COMMIT}.tar.gz -> obs-websocket-${OBS_WEBSOCKET_COMMIT}.tar.gz
- https://github.com/zaphoyd/websocketpp/archive/${WEBSOCKETPP_COMMIT}.tar.gz -> websocketpp-${WEBSOCKETPP_COMMIT}.tar.gz
"
KEYWORDS="~amd64 ~ppc64 ~x86"
fi
@@ -71,6 +65,7 @@ DEPEND="
net-misc/curl
sys-apps/dbus
sys-apps/pciutils
+ sys-apps/util-linux
sys-libs/zlib:=
x11-libs/libX11
x11-libs/libXcomposite
@@ -140,6 +135,11 @@ DEPEND="
dev-libs/wayland
x11-libs/libxkbcommon
)
+ websocket? (
+ dev-cpp/asio
+ dev-cpp/nlohmann_json
+ dev-cpp/websocketpp
+ )
"
RDEPEND="${DEPEND}"
@@ -171,24 +171,25 @@ src_unpack() {
rm -d ${P}/plugins/obs-websocket || die
mv obs-websocket-${OBS_WEBSOCKET_COMMIT} ${P}/plugins/obs-websocket || die
- rm -d ${P}/plugins/obs-websocket/deps/asio || die
- mv asio-${ASIO_COMMIT} ${P}/plugins/obs-websocket/deps/asio || die
-
- rm -d ${P}/plugins/obs-websocket/deps/json || die
- mv json-${JSON_COMMIT} ${P}/plugins/obs-websocket/deps/json || die
-
rm -d ${P}/plugins/obs-websocket/deps/qr || die
mv QR-Code-generator-${QR_COMMIT} ${P}/plugins/obs-websocket/deps/qr || die
-
- rm -d ${P}/plugins/obs-websocket/deps/websocketpp || die
- mv websocketpp-${WEBSOCKETPP_COMMIT} ${P}/plugins/obs-websocket/deps/websocketpp || 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)
@@ -263,5 +264,6 @@ pkg_postinst() {
elog
fi
+ optfeature "VA-API hardware encoding" media-video/ffmpeg[vaapi]
optfeature "virtual camera support" media-video/v4l2loopback
}
diff --git a/media-video/openshot/openshot-2.6.1.ebuild b/media-video/openshot/openshot-2.6.1.ebuild
index cc756b557a00..a013ab34e233 100644
--- a/media-video/openshot/openshot-2.6.1.ebuild
+++ b/media-video/openshot/openshot-2.6.1.ebuild
@@ -3,8 +3,8 @@
EAPI=7
-PYTHON_COMPAT=( python3_{9..10} )
-PYTHON_REQ_USE=xml
+PYTHON_COMPAT=( python3_{10..11} )
+PYTHON_REQ_USE="xml(+)"
DISTUTILS_SINGLE_IMPL=1
inherit distutils-r1 xdg
@@ -18,7 +18,7 @@ S="${WORKDIR}/${MY_PN}-${PV}"
LICENSE="GPL-3+"
SLOT="1"
-KEYWORDS="amd64 x86"
+KEYWORDS="amd64 ~x86"
IUSE="doc"
RDEPEND="$(python_gen_cond_dep '
@@ -44,12 +44,12 @@ python_compile_all() {
use doc && emake -C doc html
}
-python_install_all() {
- use doc && local HTML_DOCS=( doc/_build/html/. )
- distutils-r1_python_install_all
-}
-
python_test() {
distutils_install_for_testing
"${EPYTHON}" src/tests/query_tests.py -v --platform minimal || die
}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/_build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/media-video/parole/Manifest b/media-video/parole/Manifest
index c864f7f723e5..b5c5057ff55c 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.0.tar.bz2 932686 BLAKE2B 49bbc93d1172daf29e73d5eacedfae2fb11f14684232e2c6cbcc84fcddfa65bcece6ef41c68fb58a0046e1a60280ff92e0890e5302f9e0751c1afce825bee7f3 SHA512 2988c8b6f9f0beab646a90116ee83f19d6e6689ea4d037ea643aa26d5716f7c452fa96ee1d4c6d01ee6c421b06cb5405f7256cfdb525ce1016c12f0a78cddb80
diff --git a/media-video/parole/parole-4.16.0.ebuild b/media-video/parole/parole-4.18.0.ebuild
index 185f0d300764..e8bff7cbe260 100644
--- a/media-video/parole/parole-4.16.0.ebuild
+++ b/media-video/parole/parole-4.18.0.ebuild
@@ -1,12 +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
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+"
@@ -16,7 +19,7 @@ IUSE="libnotify taglib"
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
@@ -26,16 +29,21 @@ DEPEND="
>=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= )
+"
+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=(
diff --git a/media-video/pipewire/Manifest b/media-video/pipewire/Manifest
index e51e22391355..f917330d3204 100644
--- a/media-video/pipewire/Manifest
+++ b/media-video/pipewire/Manifest
@@ -1,3 +1,4 @@
-DIST pipewire-0.3.63.tar.bz2 1485423 BLAKE2B 8629bce6d11959d4b3930d7db4e0ad201981002d52c6b73b3ee2b0ac141518f553f7b0e47aef4157b3c3ef71c6b544889f60f4be0fadb01b8a35c1d457edb1aa SHA512 0a45e9017bbcd74f21c6a1f388c5b58123deec083bbc9a9e695948ea95e67b6384acfff6e5ab685ea7287b4696e01176e257b73286ecd03c2d2e43d80fd60805
-DIST pipewire-0.3.64.tar.bz2 1490475 BLAKE2B 9a4d9e23a5d60da7c5788ce5145ce083f13fe771f3f5bcb3dfd1e9560d982f20415f32f756b875081464e1b175ef80af56d7babb3bbbd7a5eaf034c9c43b810a SHA512 4dff77cf1ab9fefffad1b6f7182115dbb5e4f0339f052dcfcc34b62687b461d25a6f891d1ad0246dab5a8cb80ca190d97d358a6494da8c6a8cc64e0b38452093
-DIST pipewire-0.3.65.tar.bz2 1522095 BLAKE2B d991820e8780773ccf1cd68baa3156428eb099703b82c3e3ad24a86bc634ad43fb474fe362de5e5704ee8b35832b75995fd56096b6539835e8b1f31710450d08 SHA512 0c2402044a04ab6ba724b0808279498e2126dd567920f3241d7d3d5e13ea676e353fc85a73634cf4cae5429454250dfce5cd18ba4a5444a7ed1a5ca2e0ae1eef
+DIST pipewire-0.3.67.tar.bz2 1531871 BLAKE2B 59ea184ae11ad2999f37f0ded785551894ce6fbf478146c53f1dc6cdfeae7aa50cf6151b1e5e9c63c4f288682e5da7fde523251096af7da9d79bf96dd9d94809 SHA512 538b8ee905760775a0522dd3883d5db9bcaafe93d80eb5b588e21e73de22637a49cd139d3ed4dcfd1a5822af85e4cede624eee899c1e51a115f1ba0a6966c7a5
+DIST pipewire-0.3.69.tar.bz2 1567927 BLAKE2B 1b62e7cd359a4b1ee75793939026eef2c09d87cf7f0537fe77c081cd1b029463681b8838c9e4c0b82686ba628d74316e38d6471dbfab21ebb4d159fd052f2d6d SHA512 95e91006928b9596b47a1becfcd975dfa6bcfb2286fc6007a5bed4f127d2fd2b7477573facdb73f3ebd5cb6b77b8e9ef714e5c0c2aec97ef9d3a768b477b6477
+DIST pipewire-0.3.70.tar.bz2 1573378 BLAKE2B 3824106cba9c1b0a82c6d8889b2b1473f4bfc5d0994ee9dd8b46a454c287bbd4e0ad5dc508df5d4a9b7c5f683898ed756947788e561f2bf51a3116b12e46d075 SHA512 8b25d90232d07d5b1e210bd8f24240438a7dcece23a5be59a4e49fc3daf51ebf659f2cc343a0d913310a4659792590ef981ab7a59890506557f9510d902a0cff
+DIST pipewire-0.3.71.tar.bz2 1592332 BLAKE2B ff6483a040285cd7a7cc10878cc88b61a0e01c0376ab64ef84f753b300b61da23211bc1b50208da7f1054d6ddf08092e81cbf29df508aad3bc93f20742a2f735 SHA512 465388faaf0f7fcce21fdbcd7a1705ef524c35e267c3f123b1025c34133fc418194abb9e22d89e60c9acc1417b25d655112fd9ef342e26ca9b8bc26013b09cb3
diff --git a/media-video/pipewire/files/0.3.64/0001-spa-Fix-audioconvert-overflow-when-scaling.patch b/media-video/pipewire/files/0.3.64/0001-spa-Fix-audioconvert-overflow-when-scaling.patch
deleted file mode 100644
index e24b8153ef6d..000000000000
--- a/media-video/pipewire/files/0.3.64/0001-spa-Fix-audioconvert-overflow-when-scaling.patch
+++ /dev/null
@@ -1,65 +0,0 @@
-https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/1d9640af5a7906620f214aa0a39c63128c8506a6.
-
-From 1d9640af5a7906620f214aa0a39c63128c8506a6 Mon Sep 17 00:00:00 2001
-From: Wim Taymans <wtaymans@redhat.com>
-Date: Mon, 16 Jan 2023 18:28:31 +0100
-Subject: [PATCH] spa: Fix audioconvert overflow when scaling
-
-Add SPA_SCALE32_UP that scales a uint32 without overflow.
-Use this for scaling the threshold in ALSA.
-Fix the scaling in audioconvert of the buffer size, the scaling was
-wrong and it was also causing an overflow resulting in choppy sound in
-some cases.
-
-See #2680
---- a/spa/include/spa/utils/defs.h
-+++ b/spa/include/spa/utils/defs.h
-@@ -274,6 +274,14 @@ struct spa_fraction {
- #define SPA_ROUND_DOWN_N(num,align) ((num) & ~SPA_ROUND_MASK(num, align))
- #define SPA_ROUND_UP_N(num,align) ((((num)-1) | SPA_ROUND_MASK(num, align))+1)
-
-+#define SPA_SCALE32_UP(val,num,denom) \
-+({ \
-+ uint64_t _val = (val); \
-+ uint64_t _denom = (denom); \
-+ (uint32_t)(((_val) * (num) + (_denom)-1) / (_denom)); \
-+})
-+
-+
- #define SPA_PTR_ALIGNMENT(p,align) ((intptr_t)(p) & ((align)-1))
- #define SPA_IS_ALIGNED(p,align) (SPA_PTR_ALIGNMENT(p,align) == 0)
- #define SPA_PTR_ALIGN(p,align,type) ((type*)SPA_ROUND_UP_N((intptr_t)(p), (intptr_t)(align)))
---- a/spa/plugins/alsa/alsa-pcm.c
-+++ b/spa/plugins/alsa/alsa-pcm.c
-@@ -1999,7 +1999,7 @@ static inline void check_position_config(struct state *state)
- (state->rate_denom != state->position->clock.rate.denom))) {
- state->duration = state->position->clock.duration;
- state->rate_denom = state->position->clock.rate.denom;
-- state->threshold = (state->duration * state->rate + state->rate_denom-1) / state->rate_denom;
-+ state->threshold = SPA_SCALE32_UP(state->duration, state->rate, state->rate_denom);
- state->max_error = SPA_MAX(256.0f, state->threshold / 2.0f);
- state->resample = ((uint32_t)state->rate != state->rate_denom) || state->matching;
- state->alsa_sync = true;
-@@ -2569,7 +2569,7 @@ int spa_alsa_start(struct state *state)
- setup_matching(state);
-
- spa_dll_init(&state->dll);
-- state->threshold = (state->duration * state->rate + state->rate_denom-1) / state->rate_denom;
-+ state->threshold = SPA_SCALE32_UP(state->duration, state->rate, state->rate_denom);
- state->last_threshold = state->threshold;
- state->max_error = SPA_MAX(256.0f, state->threshold / 2.0f);
-
---- a/spa/plugins/audioconvert/audioconvert.c
-+++ b/spa/plugins/audioconvert/audioconvert.c
-@@ -1755,7 +1755,7 @@ impl_node_port_enum_params(void *object, int seq,
- size = this->quantum_limit * 2;
- /* scale the buffer size when we can. */
- if (irate != 0 && orate != 0)
-- size = size * (irate + orate - 1) / orate;
-+ size = SPA_SCALE32_UP(size, irate, orate);
- }
-
- param = spa_pod_builder_add_object(&b,
---
-2.39.1
-
diff --git a/media-video/pipewire/files/0.3.64/0002-filter-chain-fix-AVX-dsp_sum-index-increment.patch b/media-video/pipewire/files/0.3.64/0002-filter-chain-fix-AVX-dsp_sum-index-increment.patch
deleted file mode 100644
index f33a83ab7a10..000000000000
--- a/media-video/pipewire/files/0.3.64/0002-filter-chain-fix-AVX-dsp_sum-index-increment.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/ccedf1722ae44c97ec0d058b349494c67a0b56dc
-
-From ccedf1722ae44c97ec0d058b349494c67a0b56dc Mon Sep 17 00:00:00 2001
-From: Wim Taymans <wtaymans@redhat.com>
-Date: Tue, 17 Jan 2023 09:24:00 +0100
-Subject: [PATCH] filter-chain: fix AVX dsp_sum index increment
-
-Fixes #2965
---- a/src/modules/module-filter-chain/dsp-ops-avx.c
-+++ b/src/modules/module-filter-chain/dsp-ops-avx.c
-@@ -59,7 +59,7 @@ void dsp_sum_avx(struct dsp_ops *ops, float *r, const float *a, const float *b,
- _mm256_store_ps(&r[n+24], in[3]);
- }
- } else {
-- for (n = 0; n < unrolled; n += 16) {
-+ for (n = 0; n < unrolled; n += 32) {
- in[0] = _mm256_loadu_ps(&a[n+ 0]);
- in[1] = _mm256_loadu_ps(&a[n+ 8]);
- in[2] = _mm256_loadu_ps(&a[n+16]);
---
-2.39.1
-
diff --git a/media-video/pipewire/files/0.3.64/0003-keys-don-t-remove-deprecated-symbols-by-default.patch b/media-video/pipewire/files/0.3.64/0003-keys-don-t-remove-deprecated-symbols-by-default.patch
deleted file mode 100644
index fe022959a913..000000000000
--- a/media-video/pipewire/files/0.3.64/0003-keys-don-t-remove-deprecated-symbols-by-default.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/a979c0f43078cbfefa2ba614ee078579042d2de2
-
-From a979c0f43078cbfefa2ba614ee078579042d2de2 Mon Sep 17 00:00:00 2001
-From: Wim Taymans <wtaymans@redhat.com>
-Date: Tue, 17 Jan 2023 11:58:04 +0100
-Subject: [PATCH] keys: don't remove deprecated symbols by default
-
-Add a new macro to mark deprecated keys. The macro will emit a warning
-about the symbol being deprecated.
-PW_ENABLE_DEPRECATED will suppress the deprecation warning.
-Add PW_REMOVE_DEPRECATED to completely remove the deprecated symbols.
-
-Fixes #2952
---- a/src/pipewire/keys.h
-+++ b/src/pipewire/keys.h
-@@ -29,6 +29,7 @@
- extern "C" {
- #endif
-
-+#include <pipewire/utils.h>
- /**
- * \defgroup pw_keys Key Names
- *
-@@ -337,14 +338,14 @@ extern "C" {
- #define PW_KEY_VIDEO_FORMAT "video.format" /**< a video format */
- #define PW_KEY_VIDEO_SIZE "video.size" /**< a video size as "<width>x<height" */
-
--#ifdef PW_ENABLE_DEPRECATED
--#define PW_KEY_PRIORITY_MASTER "priority.master" /**< deprecated */
--#define PW_KEY_NODE_TARGET "node.target" /**< deprecated since 0.3.64, use target.object. */
--#endif /* PW_ENABLE_DEPRECATED */
--
- #define PW_KEY_TARGET_OBJECT "target.object" /**< a target object to link to. This can be
- * and object name or object.serial */
-
-+#ifndef PW_REMOVE_DEPRECATED
-+#define PW_KEY_PRIORITY_MASTER PW_DEPRECATED("priority.master") /**< deprecated, use priority.driver */
-+#define PW_KEY_NODE_TARGET PW_DEPRECATED("node.target") /**< deprecated since 0.3.64, use target.object. */
-+#endif /* PW_REMOVE_DEPRECATED */
-+
- /** \}
- */
-
---- a/src/pipewire/utils.h
-+++ b/src/pipewire/utils.h
-@@ -94,6 +94,12 @@ ssize_t pw_getrandom(void *buf, size_t buflen, unsigned int flags);
-
- void* pw_reallocarray(void *ptr, size_t nmemb, size_t size);
-
-+#ifdef PW_ENABLE_DEPRECATED
-+#define PW_DEPRECATED(v) (v)
-+#else
-+#define PW_DEPRECATED(v) ({ __typeof__(v) _v SPA_DEPRECATED = (v); (void)_v; (v); })
-+#endif /* PW_ENABLE_DEPRECATED */
-+
- /**
- * \}
- */
---
-2.39.1
-
diff --git a/media-video/pipewire/files/0.3.65/0001-modules-also-install-module-combine-stream.patch b/media-video/pipewire/files/0.3.65/0001-modules-also-install-module-combine-stream.patch
deleted file mode 100644
index 6e7dc42c2704..000000000000
--- a/media-video/pipewire/files/0.3.65/0001-modules-also-install-module-combine-stream.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/fba7083f8ceb210c7c20aceafeb5c9a8767cf705
-
-From fba7083f8ceb210c7c20aceafeb5c9a8767cf705 Mon Sep 17 00:00:00 2001
-From: Wim Taymans <wtaymans@redhat.com>
-Date: Thu, 26 Jan 2023 11:57:45 +0100
-Subject: [PATCH] modules: also install module-combine-stream
-
---- a/src/modules/meson.build
-+++ b/src/modules/meson.build
-@@ -139,7 +139,7 @@ pipewire_module_echo_cancel_sources = [
- pipewire_module_combine_stream = shared_library('pipewire-module-combine-stream',
- [ 'module-combine-stream.c' ],
- include_directories : [configinc],
-- install : false,
-+ install : true,
- install_dir : modules_install_dir,
- install_rpath: modules_install_dir,
- dependencies : [spa_dep, dl_lib, pipewire_dep],
---
-2.39.1
-
diff --git a/media-video/pipewire/files/0.3.65/0002-spa-bluez5-fix-dependency-on-glib-in-bluez5_deps.patch b/media-video/pipewire/files/0.3.65/0002-spa-bluez5-fix-dependency-on-glib-in-bluez5_deps.patch
deleted file mode 100644
index 2763236693d7..000000000000
--- a/media-video/pipewire/files/0.3.65/0002-spa-bluez5-fix-dependency-on-glib-in-bluez5_deps.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-https://gitlab.freedesktop.org/pipewire/pipewire/-/merge_requests/1511
-
-From 18fa7a555cc43c7219a53d836d9561faec6d6310 Mon Sep 17 00:00:00 2001
-From: Sam James <sam@gentoo.org>
-Date: Sat, 28 Jan 2023 11:04:48 +0000
-Subject: [PATCH] spa: bluez5: fix dependency on glib in bluez5_deps
-
-In de595a78ff958b8314d853f6266d5832529d9729, we started to require glib
-for building bluez and introduced dependencies for the needed gio* bits,
-but we only ever check for glib itself for gstreamer or flatpak.
-
-Drop glib from the dep list to match the summary() & subsequent bluez_deps_found
-logic in spa/meson.build.
-
-Fixes: https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/2999
---- a/spa/plugins/bluez5/meson.build
-+++ b/spa/plugins/bluez5/meson.build
-@@ -1,6 +1,6 @@
- gnome = import('gnome')
-
--bluez5_deps = [ mathlib, dbus_dep, glib2_dep, sbc_dep, bluez_dep, gio_dep, gio_unix_dep ]
-+bluez5_deps = [ mathlib, dbus_dep, sbc_dep, bluez_dep, gio_dep, gio_unix_dep ]
- foreach dep: bluez5_deps
- if not dep.found()
- subdir_done()
---
-2.39.1
-
diff --git a/media-video/pipewire/files/0.3.69/0001-context-improve-state-calculations.patch b/media-video/pipewire/files/0.3.69/0001-context-improve-state-calculations.patch
new file mode 100644
index 000000000000..29469205cf48
--- /dev/null
+++ b/media-video/pipewire/files/0.3.69/0001-context-improve-state-calculations.patch
@@ -0,0 +1,59 @@
+https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/a275e825c75c93775baaeb17479e38d035d9b79a
+
+From a275e825c75c93775baaeb17479e38d035d9b79a Mon Sep 17 00:00:00 2001
+From: Wim Taymans <wtaymans@redhat.com>
+Date: Fri, 14 Apr 2023 12:01:03 +0200
+Subject: [PATCH] context: improve state calculations
+
+Always make peers of non-passive links runnable, even if we already
+visited the peer node. This makes non-passive links between drivers set the
+drivers to runnable. (midi-bridge, source to sink). It also makes nodes
+collected from the (link-)group runnable when they are linked together.
+
+To calculate the runnable state of the other nodes, only start from
+non-driver runnable nodes (like we already did when following links).
+
+This makes a link from echo-cancel-source to echo-cancel-sink activate
+the echo-canceler chain instead of staying idle.
+--- a/src/pipewire/context.c
++++ b/src/pipewire/context.c
+@@ -788,9 +788,6 @@ static inline int run_nodes(struct pw_context *context, struct pw_impl_node *nod
+ struct pw_impl_port *p;
+ struct pw_impl_link *l;
+
+- if (!node->runnable)
+- return 0;
+-
+ pw_log_debug("node %p: '%s'", node, node->name);
+
+ spa_list_for_each(p, &node->input_ports, link) {
+@@ -885,7 +882,7 @@ static int collect_nodes(struct pw_context *context, struct pw_impl_node *node,
+
+ pw_impl_link_prepare(l);
+
+- if (!l->prepared || (t != n && t->visited))
++ if (!l->prepared)
+ continue;
+
+ if (!l->passive)
+@@ -906,7 +903,7 @@ static int collect_nodes(struct pw_context *context, struct pw_impl_node *node,
+
+ pw_impl_link_prepare(l);
+
+- if (!l->prepared || (t != n && t->visited))
++ if (!l->prepared)
+ continue;
+
+ if (!l->passive)
+@@ -936,7 +933,8 @@ static int collect_nodes(struct pw_context *context, struct pw_impl_node *node,
+ pw_log_debug(" next node %p: '%s' runnable:%u", n, n->name, n->runnable);
+ }
+ spa_list_for_each(n, collect, sort_link)
+- run_nodes(context, n, collect);
++ if (!n->driver && n->runnable)
++ run_nodes(context, n, collect);
+
+ return 0;
+ }
+--
+GitLab
diff --git a/media-video/pipewire/files/0.3.69/0002-revert-alsa-mixer-control-element.patch b/media-video/pipewire/files/0.3.69/0002-revert-alsa-mixer-control-element.patch
new file mode 100644
index 000000000000..1076ad101d0f
--- /dev/null
+++ b/media-video/pipewire/files/0.3.69/0002-revert-alsa-mixer-control-element.patch
@@ -0,0 +1,38 @@
+https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/916f1cdfbfdc414d83031aef941a9909d1e603bd
+
+From 916f1cdfbfdc414d83031aef941a9909d1e603bd Mon Sep 17 00:00:00 2001
+From: Wim Taymans <wtaymans@redhat.com>
+Date: Fri, 14 Apr 2023 16:32:18 +0200
+Subject: [PATCH] Revert "alsa-mixer: allow to re-attach the mixer control
+ element"
+
+This reverts commit b554fc20e9ff97064721c89eb15b1b45870584e5.
+--- a/spa/plugins/alsa/acp/alsa-util.c
++++ b/spa/plugins/alsa/acp/alsa-util.c
+@@ -1648,20 +1648,12 @@ static int mixer_class_event(snd_mixer_class_t *class, unsigned int mask,
+ } else if (mask & SND_CTL_EVENT_MASK_ADD) {
+ snd_ctl_elem_iface_t iface = snd_hctl_elem_get_interface(helem);
+ if (iface == SND_CTL_ELEM_IFACE_CARD || iface == SND_CTL_ELEM_IFACE_PCM) {
+- snd_mixer_t *mixer = snd_mixer_class_get_mixer(class);
+- snd_ctl_elem_iface_t iface = snd_hctl_elem_get_interface(helem);
+- const char *name = snd_hctl_elem_get_name(helem);
+- const int index = snd_hctl_elem_get_index(helem);
+- const int device = snd_hctl_elem_get_device(helem);
+ snd_mixer_elem_t *new_melem;
+
+- new_melem = pa_alsa_mixer_find(mixer, iface, name, index, device);
+- if (!new_melem) {
+- /* Put the hctl pointer as our private data - it will be useful for callbacks */
+- if ((err = snd_mixer_elem_new(&new_melem, SND_MIXER_ELEM_PULSEAUDIO, 0, helem, NULL)) < 0) {
+- pa_log_warn("snd_mixer_elem_new failed: %s", pa_alsa_strerror(err));
+- return 0;
+- }
++ /* Put the hctl pointer as our private data - it will be useful for callbacks */
++ if ((err = snd_mixer_elem_new(&new_melem, SND_MIXER_ELEM_PULSEAUDIO, 0, helem, NULL)) < 0) {
++ pa_log_warn("snd_mixer_elem_new failed: %s", pa_alsa_strerror(err));
++ return 0;
+ }
+
+ if ((err = snd_mixer_elem_attach(new_melem, helem)) < 0) {
+--
+GitLab
diff --git a/media-video/pipewire/files/0.3.69/0003-filter-chain-biquads.patch b/media-video/pipewire/files/0.3.69/0003-filter-chain-biquads.patch
new file mode 100644
index 000000000000..f01362604f51
--- /dev/null
+++ b/media-video/pipewire/files/0.3.69/0003-filter-chain-biquads.patch
@@ -0,0 +1,21 @@
+https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/381be87e379996c502786883f90a19ac49e84c10
+
+From 381be87e379996c502786883f90a19ac49e84c10 Mon Sep 17 00:00:00 2001
+From: Wim Taymans <wtaymans@redhat.com>
+Date: Sun, 16 Apr 2023 18:38:52 +0200
+Subject: [PATCH] filter-chain: config is only required for bq_raw
+
+Fixes #3161
+--- a/src/modules/module-filter-chain/builtin_plugin.c
++++ b/src/modules/module-filter-chain/builtin_plugin.c
+@@ -287,6 +287,8 @@ static void *bq_instantiate(const struct fc_descriptor * Descriptor,
+ impl->rate = SampleRate;
+ impl->b0 = impl->a0 = 1.0f;
+ impl->type = bq_type_from_name(Descriptor->name);
++ if (impl->type != BQ_NONE)
++ return impl;
+
+ if (config == NULL)
+ goto error;
+--
+GitLab
diff --git a/media-video/pipewire/files/0.3.70/parser-check-pointer.patch b/media-video/pipewire/files/0.3.70/parser-check-pointer.patch
new file mode 100644
index 000000000000..7409d83e7ebb
--- /dev/null
+++ b/media-video/pipewire/files/0.3.70/parser-check-pointer.patch
@@ -0,0 +1,21 @@
+https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/83d2e85f490ea97e4ae94b95f20dd06566a14c31
+
+From 83d2e85f490ea97e4ae94b95f20dd06566a14c31 Mon Sep 17 00:00:00 2001
+From: Wim Taymans <wtaymans@redhat.com>
+Date: Thu, 20 Apr 2023 12:32:07 +0200
+Subject: [PATCH] parser: add extra check to make coverity happy
+
+Fixes !1473
+--- a/spa/include/spa/pod/parser.h
++++ b/spa/include/spa/pod/parser.h
+@@ -455,7 +455,7 @@ static inline int spa_pod_parser_getv(struct spa_pod_parser *parser, va_list arg
+ const struct spa_pod *pod = NULL;
+ const char *format;
+
+- if (ftype == SPA_TYPE_Object) {
++ if (f && ftype == SPA_TYPE_Object) {
+ uint32_t key = va_arg(args, uint32_t);
+ const struct spa_pod_object *object;
+
+--
+GitLab
diff --git a/media-video/pipewire/files/0.3.71/jack-update-bufsize-samplerate.patch b/media-video/pipewire/files/0.3.71/jack-update-bufsize-samplerate.patch
new file mode 100644
index 000000000000..59fb89a3e017
--- /dev/null
+++ b/media-video/pipewire/files/0.3.71/jack-update-bufsize-samplerate.patch
@@ -0,0 +1,46 @@
+https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/3226
+https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/ce71b37b58d5e251ae7acda0799f696688df11c2
+
+From ce71b37b58d5e251ae7acda0799f696688df11c2 Mon Sep 17 00:00:00 2001
+From: Wim Taymans <wtaymans@redhat.com>
+Date: Thu, 18 May 2023 09:59:26 +0200
+Subject: [PATCH] jack: update bufsize and samplerate when skipping notify
+
+When we skip the notify because we are not active or we don't have a
+callback, still update the buffer_size and sample_rate fields or else
+we will keep on trying forever.
+
+Fixes #3226
+--- a/pipewire-jack/src/pipewire-jack.c
++++ b/pipewire-jack/src/pipewire-jack.c
+@@ -1027,8 +1027,6 @@ static int queue_notify(struct client *c, int type, struct object *o, int arg1,
+ struct notify *notify;
+ bool emit = false;;
+
+- if ((type & NOTIFY_ACTIVE_FLAG) && !c->active)
+- return 0;
+ switch (type) {
+ case NOTIFY_TYPE_REGISTRATION:
+ emit = c->registration_callback != NULL && o != NULL;
+@@ -1060,8 +1058,18 @@ static int queue_notify(struct client *c, int type, struct object *o, int arg1,
+ default:
+ break;
+ }
++ if ((type & NOTIFY_ACTIVE_FLAG) && !c->active)
++ emit = false;
+ if (!emit) {
+- pw_log_debug("%p: skip notify %d", c, type);
++ switch (type) {
++ case NOTIFY_TYPE_BUFFER_FRAMES:
++ c->buffer_frames = arg1;
++ break;
++ case NOTIFY_TYPE_SAMPLE_RATE:
++ c->sample_rate = arg1;
++ break;
++ }
++ pw_log_debug("%p: skip notify %08x active:%d", c, type, c->active);
+ if (o != NULL && arg1 == 0 && o->removing) {
+ o->removing = false;
+ free_object(c, o);
+--
+GitLab
diff --git a/media-video/pipewire/files/gentoo-pipewire-launcher.in-r1 b/media-video/pipewire/files/gentoo-pipewire-launcher.in-r1
new file mode 100644
index 000000000000..51f70293c383
--- /dev/null
+++ b/media-video/pipewire/files/gentoo-pipewire-launcher.in-r1
@@ -0,0 +1,52 @@
+#!/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!
+
+restart () {
+ echo "Terminating PipeWire processes ..."
+ pkill -u "${USER}" -x pipewire\|wireplumber 1>/dev/null 2>&1
+ pwait -u "${USER}" -x pipewire\|wireplumber
+ 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.
+@GENTOO_PORTAGE_EPREFIX@/usr/bin/pipewire &
+
+# The so called pipewire-pulse daemon used for PulseAudio compatibility.
+# Commenting this out will stop the PA proxying daemon from starting,
+# however ALSA (with pipewire-alsa), JACK (with jack-sdk) and PW API using
+# clients will still have access to audio and may end up clashing with
+# non-PW apps over HW control (most notably, /usr/bin/pulseaudio daemon).
+@GENTOO_PORTAGE_EPREFIX@/usr/bin/pipewire -c pipewire-pulse.conf &
+
+# Hack for bug #822498
+sleep 1
+
+# Finally a session manager is required for PipeWire to do anything.
+exec @GENTOO_PORTAGE_EPREFIX@/usr/bin/wireplumber
diff --git a/media-video/pipewire/files/pipewire-0.3.63-alsa-node-target.patch b/media-video/pipewire/files/pipewire-0.3.63-alsa-node-target.patch
deleted file mode 100644
index 8a4169b57af5..000000000000
--- a/media-video/pipewire/files/pipewire-0.3.63-alsa-node-target.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/89ac6b353521fb9a6d6eb6bb74724c4fa968f75c
-https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/2893
-
-From 89ac6b353521fb9a6d6eb6bb74724c4fa968f75c Mon Sep 17 00:00:00 2001
-From: Wim Taymans <wtaymans@redhat.com>
-Date: Sat, 17 Dec 2022 18:17:33 +0100
-Subject: [PATCH] =?UTF-8?q?alsa:=20don=C2=B4t=20set=20-1=20as=20node.targe?=
- =?UTF-8?q?t?=
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Leave the target unset when -1, just like what pw-stream does.
-
-See #2893
---- a/pipewire-alsa/alsa-plugins/pcm_pipewire.c
-+++ b/pipewire-alsa/alsa-plugins/pcm_pipewire.c
-@@ -579,7 +579,7 @@ static int snd_pcm_pipewire_prepare(snd_pcm_ioplug_t *io)
- pw_properties_setf(props, PW_KEY_NODE_LATENCY, "%lu/%u", pw->min_avail, io->rate);
- if (pw_properties_get(props, PW_KEY_NODE_RATE) == NULL)
- pw_properties_setf(props, PW_KEY_NODE_RATE, "1/%u", io->rate);
-- if (pw->target != NULL &&
-+ if (pw->target != NULL && !spa_streq(pw->target, "-1") &&
- pw_properties_get(props, PW_KEY_NODE_TARGET) == NULL)
- pw_properties_setf(props, PW_KEY_NODE_TARGET, "%s", pw->target);
-
---
-GitLab
diff --git a/media-video/pipewire/files/pipewire-0.3.63-bluetooth-typo.patch b/media-video/pipewire/files/pipewire-0.3.63-bluetooth-typo.patch
deleted file mode 100644
index 78993a57831e..000000000000
--- a/media-video/pipewire/files/pipewire-0.3.63-bluetooth-typo.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/c7b3ef0d9ff16a1e69a299870860bebcb628e298
-
-From c7b3ef0d9ff16a1e69a299870860bebcb628e298 Mon Sep 17 00:00:00 2001
-From: Pauli Virtanen <pav@iki.fi>
-Date: Wed, 21 Dec 2022 12:54:52 +0200
-Subject: [PATCH] bluez5: backend-native: fix missing brace in CIND reply
-
-It should look like ...,("battchg,(0-5)) not ...,"battchg",(0-5))
---- a/spa/plugins/bluez5/backend-native.c
-+++ b/spa/plugins/bluez5/backend-native.c
-@@ -74,7 +74,7 @@ enum {
- HFP_AG_INITIAL_CODEC_SETUP_WAIT
- };
-
--#define CIND_INDICATORS "(\"service\",(0-1)),(\"call\",(0-1)),(\"callsetup\",(0-3)),(\"callheld\",(0-2)),(\"signal\",(0-5)),(\"roam\",(0-1)),\"battchg\",(0-5))"
-+#define CIND_INDICATORS "(\"service\",(0-1)),(\"call\",(0-1)),(\"callsetup\",(0-3)),(\"callheld\",(0-2)),(\"signal\",(0-5)),(\"roam\",(0-1)),(\"battchg\",(0-5))"
- enum {
- CIND_SERVICE = 1,
- CIND_CALL,
---
-GitLab
diff --git a/media-video/pipewire/files/pipewire-0.3.63-bluez-ldac_abr.patch b/media-video/pipewire/files/pipewire-0.3.63-bluez-ldac_abr.patch
deleted file mode 100644
index a6e237ddd7c7..000000000000
--- a/media-video/pipewire/files/pipewire-0.3.63-bluez-ldac_abr.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/7758240c79a3ed15459da5d150a0b1c3612e3f79
-
-From 7758240c79a3ed15459da5d150a0b1c3612e3f79 Mon Sep 17 00:00:00 2001
-From: Wim Taymans <wtaymans@redhat.com>
-Date: Thu, 15 Dec 2022 12:20:40 +0100
-Subject: [PATCH] bluez: fix compilation without ldac_abr
-
-The define for this constant was removed but it was LDACBT_EQMID_MQ
-before.
---- a/spa/plugins/bluez5/a2dp-codec-ldac.c
-+++ b/spa/plugins/bluez5/a2dp-codec-ldac.c
-@@ -243,7 +243,7 @@ static int codec_reduce_bitpool(void *data)
- #else
- struct impl *this = data;
- int res;
-- if (this->eqmid == LDACBT_EQMID_BITRATE_330000 || !this->enable_abr)
-+ if (this->eqmid == LDACBT_EQMID_MQ || !this->enable_abr)
- return this->eqmid;
- res = ldacBT_alter_eqmid_priority(this->ldac, LDACBT_EQMID_INC_CONNECTION);
- return res;
---
-GitLab
diff --git a/media-video/pipewire/files/pipewire-0.3.63-rate-update.patch b/media-video/pipewire/files/pipewire-0.3.63-rate-update.patch
deleted file mode 100644
index 91487def58e2..000000000000
--- a/media-video/pipewire/files/pipewire-0.3.63-rate-update.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/860b8fc27ffbfd0a095e3fa4b0cd125d536283d3
-https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/2915
-https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/2891
-
-From 860b8fc27ffbfd0a095e3fa4b0cd125d536283d3 Mon Sep 17 00:00:00 2001
-From: Wim Taymans <wtaymans@redhat.com>
-Date: Thu, 29 Dec 2022 12:22:56 +0100
-Subject: [PATCH] modules: fix rate update
-
-Setting the rate with the PROP_rate would actually result in a rate
-adjustment of 1.0f / rate, so do the same here.
-
-See #2891
---- a/src/modules/module-pulse-tunnel.c
-+++ b/src/modules/module-pulse-tunnel.c
-@@ -270,7 +270,7 @@ static void update_rate(struct impl *impl, bool playback)
- impl->current_latency, impl->target_latency);
-
- SPA_FLAG_SET(impl->rate_match->flags, SPA_IO_RATE_MATCH_FLAG_ACTIVE);
-- impl->rate_match->rate = corr;
-+ impl->rate_match->rate = 1.0f / corr;
- }
-
- static void playback_stream_process(void *d)
---- a/src/modules/module-rtp-source.c
-+++ b/src/modules/module-rtp-source.c
-@@ -272,7 +272,7 @@ static void stream_process(void *data)
-
- if (sess->rate_match) {
- SPA_FLAG_SET(sess->rate_match->flags, SPA_IO_RATE_MATCH_FLAG_ACTIVE);
-- sess->rate_match->rate = corr;
-+ sess->rate_match->rate = 1.0f / corr;
- }
- }
- spa_ringbuffer_read_data(&sess->ring,
---
-GitLab
-
-
diff --git a/media-video/pipewire/pipewire-0.3.63-r3.ebuild b/media-video/pipewire/pipewire-0.3.67.ebuild
index e91c865b5b7e..6d968c57e7f5 100644
--- a/media-video/pipewire/pipewire-0.3.63-r3.ebuild
+++ b/media-video/pipewire/pipewire-0.3.67.ebuild
@@ -38,8 +38,8 @@ HOMEPAGE="https://pipewire.org/"
LICENSE="MIT LGPL-2.1+ GPL-2"
# ABI was broken in 0.3.42 for https://gitlab.freedesktop.org/pipewire/wireplumber/-/issues/49
SLOT="0/0.4"
-IUSE="bluetooth dbus doc echo-cancel extra flatpak gstreamer gsettings jack-client jack-sdk lv2
-modemmanager pipewire-alsa readline sound-server ssl system-service systemd test udev v4l X zeroconf"
+IUSE="bluetooth dbus doc echo-cancel extra ffmpeg flatpak gstreamer gsettings jack-client jack-sdk lv2
+modemmanager pipewire-alsa readline sound-server ssl system-service systemd test v4l X zeroconf"
# Once replacing system JACK libraries is possible, it's likely that
# jack-client IUSE will need blocking to avoid users accidentally
@@ -47,12 +47,15 @@ modemmanager pipewire-alsa readline sound-server ssl system-service systemd test
# JACK's sink - doing so is likely to yield no audio, cause a CPU
# cycles consuming loop (and may even cause GUI crashes)!
-# TODO: There should be "sound-server? ( || ( alsa bluetooth ) )" here, but ALSA is always enabled
-# TODO: Pulseaudio alsa plugin performs runtime check that pulseaudio server connection will work
-# which provides adequate guarantee that alsa-lib will be able to provide audio services.
-# If that works, pulseaudio defaults are loaded into alsa-lib runtime replacing default PCM and CTL.
-# When pipewire-alsa will be able to perform similar check, pipewire-alsa can be enabled unconditionally.
+# - TODO: There should be "sound-server? ( || ( alsa bluetooth ) )" here, but ALSA is always enabled
+# - TODO: Pulseaudio alsa plugin performs runtime check that pulseaudio server connection will work
+# which provides adequate guarantee that alsa-lib will be able to provide audio services.
+# If that works, pulseaudio defaults are loaded into alsa-lib runtime replacing default PCM and CTL.
+# When pipewire-alsa will be able to perform similar check, pipewire-alsa can be enabled unconditionally.
+# - ffmpeg is only used for pw-cat. We don't build the spa plugin which receives barely any activity.
REQUIRED_USE="
+ ffmpeg? ( extra )
+ bluetooth? ( dbus )
jack-sdk? ( !jack-client )
modemmanager? ( bluetooth )
system-service? ( systemd )
@@ -67,17 +70,23 @@ BDEPEND="
virtual/pkgconfig
${PYTHON_DEPS}
$(python_gen_any_dep 'dev-python/docutils[${PYTHON_USEDEP}]')
+ dbus? ( dev-util/gdbus-codegen )
doc? (
app-doc/doxygen
media-gfx/graphviz
)
"
+# While udev could technically be optional, it's needed for a numebr of options,
+# and not really worth it, bug #877769.
RDEPEND="
acct-group/audio
+ acct-group/pipewire
media-libs/alsa-lib
sys-libs/ncurses:=[unicode(+)]
virtual/libintl[${MULTILIB_USEDEP}]
+ virtual/libudev[${MULTILIB_USEDEP}]
bluetooth? (
+ dev-libs/glib
media-libs/fdk-aac
media-libs/libldac
media-libs/libfreeaptx
@@ -91,6 +100,7 @@ RDEPEND="
extra? (
>=media-libs/libsndfile-1.0.20
)
+ ffmpeg? ( media-video/ffmpeg:= )
flatpak? (
dev-libs/glib
)
@@ -121,9 +131,7 @@ RDEPEND="
systemd? ( sys-apps/systemd )
system-service? (
acct-user/pipewire
- acct-group/pipewire
)
- udev? ( virtual/libudev[${MULTILIB_USEDEP}] )
v4l? ( media-libs/libv4l )
X? (
media-libs/libcanberra
@@ -142,7 +150,6 @@ PDEPEND=">=media-video/wireplumber-0.4.8-r3"
# Present RDEPEND that are currently always disabled due to the PW
# code using them being required to be disabled by Gentoo guidelines
# (i.e. developer binaries not meant for users) and unready code
-# media-video/ffmpeg:=
# media-libs/libsdl2
# >=media-libs/vulkan-loader-1.1.69
#
@@ -153,16 +160,8 @@ DOCS=( {README,INSTALL}.md NEWS )
PATCHES=(
"${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch
- "${FILESDIR}"/${P}-alsa-node-target.patch
- "${FILESDIR}"/${P}-bluez-ldac_abr.patch
- "${FILESDIR}"/${P}-bluetooth-typo.patch
- "${FILESDIR}"/${P}-rate-update.patch
)
-# limitsdfile related code taken from =sys-auth/realtime-base-0.1
-# with changes as necessary.
-limitsdfile=40-${PN}.conf
-
python_check_deps() {
python_has_version "dev-python/docutils[${PYTHON_USEDEP}]"
}
@@ -170,20 +169,8 @@ python_check_deps() {
src_prepare() {
default
- einfo "Generating ${limitsdfile}"
- cat > ${limitsdfile} <<- EOF || die
- # Start of ${limitsdfile} from ${P}
-
- @audio - memlock 256
-
- $(use system-service && {
- echo @pipewire - rtprio 95
- echo @pipewire - nice -19
- echo @pipewire - memlock 4194304
- })
-
- # End of ${limitsdfile} from ${P}
- EOF
+ # Used for upstream backports
+ [[ -d "${FILESDIR}"/${PV} ]] && eapply "${FILESDIR}"/${PV}
}
multilib_src_configure() {
@@ -213,6 +200,7 @@ multilib_src_configure() {
$(meson_feature pipewire-alsa) # Allows integrating ALSA apps into PW graph
-Dspa-plugins=enabled
-Dalsa=enabled # Allows using kernel ALSA for sound I/O (NOTE: media-session is gone so IUSE=alsa/spa_alsa/alsa-backend might be possible)
+ -Dcompress-offload=disabled # TODO: tinycompress unpackaged
-Daudiomixer=enabled # Matches upstream
-Daudioconvert=enabled # Matches upstream
$(meson_native_use_feature bluetooth bluez5)
@@ -229,11 +217,13 @@ multilib_src_configure() {
$(meson_native_use_feature bluetooth libusb) # At least for now only used by bluez5 native (quirk detection of adapters)
$(meson_native_use_feature echo-cancel echo-cancel-webrtc) #807889
# Not yet packaged.
+ # http://www.bluez.org/le-audio-support-in-pipewire/
-Dbluez5-codec-lc3=disabled
-Dbluez5-codec-lc3plus=disabled
-Dcontrol=enabled # Matches upstream
-Daudiotestsrc=enabled # Matches upstream
-Dffmpeg=disabled # Disabled by upstream and no major developments to spa/plugins/ffmpeg/ since May 2020
+ $(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
@@ -252,12 +242,18 @@ multilib_src_configure() {
-Dvolume=enabled # Matches upstream
-Dvulkan=disabled # Uses pre-compiled Vulkan compute shader to provide a CGI video source (dev thing; disabled by upstream)
$(meson_native_use_feature extra pw-cat)
- $(meson_feature udev)
+ -Dudev=enabled
-Dudevrulesdir="${EPREFIX}$(get_udevdir)/rules.d"
-Dsdl2=disabled # Controls SDL2 dependent code (currently only examples when -Dinstalled_tests=enabled which we never install)
+ -Dlibmysofa=disabled # libmysofa is unpackaged
$(meson_native_use_feature extra sndfile) # Enables libsndfile dependent code (currently only pw-cat)
-Dsession-managers="[]" # All available session managers are now their own projects, so there's nothing to build
+ # We still have <5.16 kernels packaged in Gentoo and 6.1 (LTS) only
+ # just became stable, with 5.15 being the previous LTS. Many people
+ # are still on it.
+ -Dpam-defaults-install=true
+
# Just for bell sounds in X11 right now.
$(meson_native_use_feature X x11)
$(meson_native_use_feature X x11-xfixes)
@@ -267,6 +263,10 @@ multilib_src_configure() {
meson_src_configure
}
+multilib_src_test() {
+ meson_src_test --timeout-multiplier 10
+}
+
multilib_src_install() {
# Our custom DOCS do not exist in multilib source directory
DOCS= meson_src_install
@@ -275,9 +275,6 @@ multilib_src_install() {
multilib_src_install_all() {
einstalldocs
- insinto /etc/security/limits.d
- doins ${limitsdfile}
-
if use pipewire-alsa; then
dodir /etc/alsa/conf.d
@@ -324,127 +321,153 @@ multilib_src_install_all() {
}
pkg_postrm() {
- use udev && udev_reload
+ udev_reload
+}
+
+pkg_preinst() {
+ HAD_SOUND_SERVER=0
+ HAD_SYSTEM_SERVICE=0
+
+ if has_version "media-video/pipewire[sound-server(-)]" ; then
+ HAD_SOUND_SERVER=1
+ fi
+
+ if has_version "media-video/pipewire[system-service(-)]" ; then
+ HAD_SYSTEM_SERVICE=1
+ fi
}
pkg_postinst() {
- use udev && udev_reload
- use system-service && tmpfiles_process pipewire.conf
+ udev_reload
- elog "It is recommended to raise RLIMIT_MEMLOCK to 256 for users"
- elog "using PipeWire. Do it either manually or add yourself"
- elog "to the 'audio' group:"
- elog
- elog " usermod -aG audio <youruser>"
- elog
+ use system-service && tmpfiles_process pipewire.conf
local ver
for ver in ${REPLACING_VERSIONS} ; do
- if ver_test ${ver} -le 0.3.53-r1 && ! use sound-server ; then
- ewarn "USE=sound-server is disabled! If you want PipeWire to provide"
- ewarn "your sound, please enable it. See the wiki at"
- ewarn "https://wiki.gentoo.org/wiki/PipeWire#Replacing_PulseAudio"
- ewarn "for more details."
+ 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
- break
+ if ! use jack-sdk ; then
+ elog
+ elog "JACK emulation is incomplete and not all programs will work. PipeWire's"
+ elog "alternative libraries have been installed to a non-default location."
+ elog "To use them, put pw-jack <application> before every JACK application."
+ elog "When using pw-jack, do not run jackd/jackdbus. However, a virtual/jack"
+ elog "provider is still needed to compile the JACK applications themselves."
+ elog
+ fi
+
+ if use systemd ; then
+ ewarn
+ ewarn "PipeWire daemon startup has been moved to a launcher script!"
+ ewarn "Make sure that ${EROOT}/etc/pipewire/pipewire.conf either does not exist or no"
+ ewarn "longer is set to start a session manager or PulseAudio compatibility daemon (all"
+ ewarn "lines similar to '{ path = /usr/bin/pipewire*' should be commented out)"
+ ewarn
+ ewarn "Those manually starting /usr/bin/pipewire via .xinitrc or similar _must_ from"
+ ewarn "now on start ${EROOT}/usr/bin/gentoo-pipewire-launcher instead! It is highly"
+ ewarn "advised that a D-Bus user session is set up before starting the script."
+ ewarn
+ fi
+
+ if use sound-server && ( has_version 'media-sound/pulseaudio[daemon]' || has_version 'media-sound/pulseaudio-daemon' ) ; then
+ elog
+ elog "This ebuild auto-enables PulseAudio replacement. Because of that, users"
+ elog "are recommended to edit pulseaudio client configuration files:"
+ elog "${EROOT}/etc/pulse/client.conf and ${EROOT}/etc/pulse/client.conf.d/enable-autospawn.conf"
+ elog "if it exists, and disable autospawning of the original daemon by setting:"
+ elog
+ elog " autospawn = no"
+ elog
+ elog "Please note that the semicolon (;) must _NOT_ be at the beginning of the line!"
+ elog
+ elog "Alternatively, if replacing PulseAudio daemon is not desired, edit"
+ elog "${EROOT}/usr/bin/gentoo-pipewire-launcher by commenting out the relevant"
+ elog "command:"
+ elog
+ elog "#${EROOT}/usr/bin/pipewire -c pipewire-pulse.conf &"
+ elog
+ fi
+
+ if has_version 'net-misc/ofono' ; then
+ ewarn "Native backend has become default. Please disable oFono via:"
+ if systemd_is_booted ; then
+ ewarn "systemctl disable ofono"
+ else
+ ewarn "rc-update delete ofono"
+ fi
+ fi
fi
done
- if ! use jack-sdk; then
- elog "JACK emulation is incomplete and not all programs will work. PipeWire's"
- elog "alternative libraries have been installed to a non-default location."
- elog "To use them, put pw-jack <application> before every JACK application."
- elog "When using pw-jack, do not run jackd/jackdbus. However, a virtual/jack"
- elog "provider is still needed to compile the JACK applications themselves."
- elog
- fi
-
- if use systemd; then
- elog "When switching from PulseAudio, you may need to disable PulseAudio:"
- elog
- elog " systemctl --user disable pulseaudio.service pulseaudio.socket"
- elog
- elog "To use PipeWire, the user units must be manually enabled"
- elog "by running this command as each user you use for desktop activities:"
- elog
- elog " systemctl --user enable pipewire.socket pipewire-pulse.socket"
- elog
- elog "A reboot is recommended to avoid interferences from still running"
- elog "PulseAudio daemon."
- elog
- elog "Both new users and those upgrading need to enable WirePlumber"
- elog "for relevant users:"
- elog
- elog " systemctl --user disable pipewire-media-session.service"
- elog " systemctl --user --force enable wireplumber.service"
- elog
- elog "Root user may replace --user with --global to change system default"
- elog "configuration for all of the above commands."
- else
- ewarn "PipeWire daemon startup has been moved to a launcher script!"
- ewarn "Make sure that ${EROOT}/etc/pipewire/pipewire.conf either does not exist or no"
- ewarn "longer is set to start a session manager or PulseAudio compatibility daemon (all"
- ewarn "lines similar to '{ path = /usr/bin/pipewire*' should be commented out)"
- ewarn
- ewarn "Those manually starting /usr/bin/pipewire via .xinitrc or similar _must_ from"
- ewarn "now on start ${EROOT}/usr/bin/gentoo-pipewire-launcher instead! It is highly"
- ewarn "advised that a D-Bus user session is set up before starting the script."
- ewarn
-
- if use sound-server && ( has_version 'media-sound/pulseaudio[daemon]' || has_version 'media-sound/pulseaudio-daemon' ) ; then
- elog "This ebuild auto-enables PulseAudio replacement. Because of that, users"
- elog "are recommended to edit pulseaudio client configuration files:"
- elog "${EROOT}/etc/pulse/client.conf and ${EROOT}/etc/pulse/client.conf.d/enable-autospawn.conf"
- elog "if it exists, and disable autospawning of the original daemon by setting:"
+ if [[ ${HAD_SOUND_SERVER} -eq 0 || -z ${REPLACING_VERSIONS} ]] ; then
+ # TODO: We could drop most of this if we set up systemd presets?
+ if use sound-server && use systemd ; then
+ elog
+ elog "When switching from PulseAudio, you may need to disable PulseAudio:"
elog
- elog " autospawn = no"
+ elog " systemctl --user disable pulseaudio.service pulseaudio.socket"
elog
- elog "Please note that the semicolon (;) must _NOT_ be at the beginning of the line!"
+ elog "To use PipeWire, the user units must be manually enabled"
+ elog "by running this command as each user you use for desktop activities:"
elog
- elog "Alternatively, if replacing PulseAudio daemon is not desired, edit"
- elog "${EROOT}/usr/bin/gentoo-pipewire-launcher by commenting out the relevant"
- elog "command:"
+ elog " systemctl --user enable pipewire.socket pipewire-pulse.socket"
elog
- elog "#${EROOT}/usr/bin/pipewire -c pipewire-pulse.conf &"
+ elog "A reboot is recommended to avoid interferences from still running"
+ elog "PulseAudio daemon."
+ elog
+ elog "Both new users and those upgrading need to enable WirePlumber"
+ elog "for relevant users:"
+ elog
+ elog " systemctl --user disable pipewire-media-session.service"
+ elog " systemctl --user --force enable wireplumber.service"
+ elog
+ elog "Root user may replace --user with --global to change system default"
+ elog "configuration for all of the above commands."
elog
fi
- elog "NOTE:"
- elog "Starting with PipeWire-0.3.30, this package is no longer installing its config"
- elog "into ${EROOT}/etc/pipewire by default. In case you need to change"
- elog "its config, please start by copying default config from ${EROOT}/usr/share/pipewire"
- elog "and just override the sections you want to change."
- fi
- elog
-
- elog "For latest tips and tricks, troubleshooting information and documentation"
- elog "in general, please refer to https://wiki.gentoo.org/wiki/PipeWire"
- elog
- optfeature_header "The following can be installed for optional runtime features:"
- optfeature "restricted realtime capabilities via D-Bus" sys-auth/rtkit
-
- if use sound-server && ! use pipewire-alsa; then
- optfeature "ALSA plugin to use PulseAudio interface for output" "media-plugins/alsa-plugins[pulseaudio]"
- fi
-
- if has_version 'net-misc/ofono' ; then
- ewarn "Native backend has become default. Please disable oFono via:"
- if systemd_is_booted ; then
- ewarn "systemctl disable ofono"
- else
- ewarn "rc-update delete ofono"
+ if ! use sound-server ; then
+ ewarn
+ ewarn "USE=sound-server is disabled! If you want PipeWire to provide"
+ ewarn "your sound, please enable it. See the wiki at"
+ ewarn "https://wiki.gentoo.org/wiki/PipeWire#Replacing_PulseAudio"
+ ewarn "for more details."
+ ewarn
fi
- ewarn
fi
- if use system-service; then
+ if use system-service && [[ ${HAD_SYSTEM_SERVICE} -eq 0 || -z ${REPLACING_VERSIONS} ]] ; then
ewarn
- ewarn "WARNING: you have enabled the system-service USE flag, which installs"
+ ewarn "You have enabled the system-service USE flag, which installs"
ewarn "the system-wide systemd units that enable PipeWire to run as a system"
ewarn "service. This is more than likely NOT what you want. You are strongly"
ewarn "advised not to enable this mode and instead stick with systemd user"
- ewarn "units. The default configuration files will likely not work out of"
+ ewarn "units. The default configuration files will likely not work out of the"
ewarn "box, and you are on your own with configuration."
ewarn
fi
+
+ elog "For latest tips and tricks, troubleshooting information, and documentation"
+ elog "in general, please refer to https://wiki.gentoo.org/wiki/PipeWire"
+ elog
+
+ optfeature_header "The following can be installed for optional runtime features:"
+ optfeature "restricted realtime capabilities via D-Bus" sys-auth/rtkit
+
+ if use sound-server && ! use pipewire-alsa; then
+ optfeature "ALSA plugin to use PulseAudio interface for output" "media-plugins/alsa-plugins[pulseaudio]"
+ fi
}
diff --git a/media-video/pipewire/pipewire-0.3.65-r3.ebuild b/media-video/pipewire/pipewire-0.3.69-r1.ebuild
index 7e07410dfab4..a54b5c2d65dd 100644
--- a/media-video/pipewire/pipewire-0.3.65-r3.ebuild
+++ b/media-video/pipewire/pipewire-0.3.69-r1.ebuild
@@ -70,6 +70,7 @@ BDEPEND="
virtual/pkgconfig
${PYTHON_DEPS}
$(python_gen_any_dep 'dev-python/docutils[${PYTHON_USEDEP}]')
+ dbus? ( dev-util/gdbus-codegen )
doc? (
app-doc/doxygen
media-gfx/graphviz
@@ -79,6 +80,7 @@ BDEPEND="
# and not really worth it, bug #877769.
RDEPEND="
acct-group/audio
+ acct-group/pipewire
media-libs/alsa-lib
sys-libs/ncurses:=[unicode(+)]
virtual/libintl[${MULTILIB_USEDEP}]
@@ -129,7 +131,6 @@ RDEPEND="
systemd? ( sys-apps/systemd )
system-service? (
acct-user/pipewire
- acct-group/pipewire
)
v4l? ( media-libs/libv4l )
X? (
@@ -161,10 +162,6 @@ PATCHES=(
"${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch
)
-# limitsdfile related code taken from =sys-auth/realtime-base-0.1
-# with changes as necessary.
-limitsdfile=40-${PN}.conf
-
python_check_deps() {
python_has_version "dev-python/docutils[${PYTHON_USEDEP}]"
}
@@ -174,21 +171,6 @@ src_prepare() {
# Used for upstream backports
[[ -d "${FILESDIR}"/${PV} ]] && eapply "${FILESDIR}"/${PV}
-
- einfo "Generating ${limitsdfile}"
- cat > ${limitsdfile} <<- EOF || die
- # Start of ${limitsdfile} from ${P}
-
- @audio - memlock 256
-
- $(use system-service && {
- echo @pipewire - rtprio 95
- echo @pipewire - nice -19
- echo @pipewire - memlock 4194304
- })
-
- # End of ${limitsdfile} from ${P}
- EOF
}
multilib_src_configure() {
@@ -218,7 +200,7 @@ multilib_src_configure() {
$(meson_feature pipewire-alsa) # Allows integrating ALSA apps into PW graph
-Dspa-plugins=enabled
-Dalsa=enabled # Allows using kernel ALSA for sound I/O (NOTE: media-session is gone so IUSE=alsa/spa_alsa/alsa-backend might be possible)
- -Dcompress-offload=disabled # Matches upstream, tinycompress unpackaged too
+ -Dcompress-offload=disabled # TODO: tinycompress unpackaged
-Daudiomixer=enabled # Matches upstream
-Daudioconvert=enabled # Matches upstream
$(meson_native_use_feature bluetooth bluez5)
@@ -231,6 +213,7 @@ multilib_src_configure() {
$(meson_native_use_feature bluetooth bluez5-codec-aac)
$(meson_native_use_feature bluetooth bluez5-codec-aptx)
$(meson_native_use_feature bluetooth bluez5-codec-ldac)
+ $(meson_native_use_feature bluetooth opus)
$(meson_native_use_feature bluetooth bluez5-codec-opus)
$(meson_native_use_feature bluetooth libusb) # At least for now only used by bluez5 native (quirk detection of adapters)
$(meson_native_use_feature echo-cancel echo-cancel-webrtc) #807889
@@ -263,9 +246,15 @@ multilib_src_configure() {
-Dudev=enabled
-Dudevrulesdir="${EPREFIX}$(get_udevdir)/rules.d"
-Dsdl2=disabled # Controls SDL2 dependent code (currently only examples when -Dinstalled_tests=enabled which we never install)
+ -Dlibmysofa=disabled # libmysofa is unpackaged
$(meson_native_use_feature extra sndfile) # Enables libsndfile dependent code (currently only pw-cat)
-Dsession-managers="[]" # All available session managers are now their own projects, so there's nothing to build
+ # We still have <5.16 kernels packaged in Gentoo and 6.1 (LTS) only
+ # just became stable, with 5.15 being the previous LTS. Many people
+ # are still on it.
+ -Dpam-defaults-install=true
+
# Just for bell sounds in X11 right now.
$(meson_native_use_feature X x11)
$(meson_native_use_feature X x11-xfixes)
@@ -275,6 +264,10 @@ multilib_src_configure() {
meson_src_configure
}
+multilib_src_test() {
+ meson_src_test --timeout-multiplier 10
+}
+
multilib_src_install() {
# Our custom DOCS do not exist in multilib source directory
DOCS= meson_src_install
@@ -283,9 +276,6 @@ multilib_src_install() {
multilib_src_install_all() {
einstalldocs
- insinto /etc/security/limits.d
- doins ${limitsdfile}
-
if use pipewire-alsa; then
dodir /etc/alsa/conf.d
@@ -335,124 +325,150 @@ pkg_postrm() {
udev_reload
}
+pkg_preinst() {
+ HAD_SOUND_SERVER=0
+ HAD_SYSTEM_SERVICE=0
+
+ if has_version "media-video/pipewire[sound-server(-)]" ; then
+ HAD_SOUND_SERVER=1
+ fi
+
+ if has_version "media-video/pipewire[system-service(-)]" ; then
+ HAD_SYSTEM_SERVICE=1
+ fi
+}
+
pkg_postinst() {
udev_reload
- use system-service && tmpfiles_process pipewire.conf
- elog "It is recommended to raise RLIMIT_MEMLOCK to 256 for users"
- elog "using PipeWire. Do it either manually or add yourself"
- elog "to the 'audio' group:"
- elog
- elog " usermod -aG audio <youruser>"
- elog
+ use system-service && tmpfiles_process pipewire.conf
local ver
for ver in ${REPLACING_VERSIONS} ; do
- if ver_test ${ver} -le 0.3.53-r1 && ! use sound-server ; then
- ewarn "USE=sound-server is disabled! If you want PipeWire to provide"
- ewarn "your sound, please enable it. See the wiki at"
- ewarn "https://wiki.gentoo.org/wiki/PipeWire#Replacing_PulseAudio"
- ewarn "for more details."
+ 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
- break
+ if ! use jack-sdk ; then
+ elog
+ elog "JACK emulation is incomplete and not all programs will work. PipeWire's"
+ elog "alternative libraries have been installed to a non-default location."
+ elog "To use them, put pw-jack <application> before every JACK application."
+ elog "When using pw-jack, do not run jackd/jackdbus. However, a virtual/jack"
+ elog "provider is still needed to compile the JACK applications themselves."
+ elog
+ fi
+
+ if use systemd ; then
+ ewarn
+ ewarn "PipeWire daemon startup has been moved to a launcher script!"
+ ewarn "Make sure that ${EROOT}/etc/pipewire/pipewire.conf either does not exist or no"
+ ewarn "longer is set to start a session manager or PulseAudio compatibility daemon (all"
+ ewarn "lines similar to '{ path = /usr/bin/pipewire*' should be commented out)"
+ ewarn
+ ewarn "Those manually starting /usr/bin/pipewire via .xinitrc or similar _must_ from"
+ ewarn "now on start ${EROOT}/usr/bin/gentoo-pipewire-launcher instead! It is highly"
+ ewarn "advised that a D-Bus user session is set up before starting the script."
+ ewarn
+ fi
+
+ if use sound-server && ( has_version 'media-sound/pulseaudio[daemon]' || has_version 'media-sound/pulseaudio-daemon' ) ; then
+ elog
+ elog "This ebuild auto-enables PulseAudio replacement. Because of that, users"
+ elog "are recommended to edit pulseaudio client configuration files:"
+ elog "${EROOT}/etc/pulse/client.conf and ${EROOT}/etc/pulse/client.conf.d/enable-autospawn.conf"
+ elog "if it exists, and disable autospawning of the original daemon by setting:"
+ elog
+ elog " autospawn = no"
+ elog
+ elog "Please note that the semicolon (;) must _NOT_ be at the beginning of the line!"
+ elog
+ elog "Alternatively, if replacing PulseAudio daemon is not desired, edit"
+ elog "${EROOT}/usr/bin/gentoo-pipewire-launcher by commenting out the relevant"
+ elog "command:"
+ elog
+ elog "#${EROOT}/usr/bin/pipewire -c pipewire-pulse.conf &"
+ elog
+ fi
+
+ if has_version 'net-misc/ofono' ; then
+ ewarn "Native backend has become default. Please disable oFono via:"
+ if systemd_is_booted ; then
+ ewarn "systemctl disable ofono"
+ else
+ ewarn "rc-update delete ofono"
+ fi
+ fi
fi
done
- if ! use jack-sdk; then
- elog "JACK emulation is incomplete and not all programs will work. PipeWire's"
- elog "alternative libraries have been installed to a non-default location."
- elog "To use them, put pw-jack <application> before every JACK application."
- elog "When using pw-jack, do not run jackd/jackdbus. However, a virtual/jack"
- elog "provider is still needed to compile the JACK applications themselves."
- elog
- fi
-
- if use systemd; then
- elog "When switching from PulseAudio, you may need to disable PulseAudio:"
- elog
- elog " systemctl --user disable pulseaudio.service pulseaudio.socket"
- elog
- elog "To use PipeWire, the user units must be manually enabled"
- elog "by running this command as each user you use for desktop activities:"
- elog
- elog " systemctl --user enable pipewire.socket pipewire-pulse.socket"
- elog
- elog "A reboot is recommended to avoid interferences from still running"
- elog "PulseAudio daemon."
- elog
- elog "Both new users and those upgrading need to enable WirePlumber"
- elog "for relevant users:"
- elog
- elog " systemctl --user disable pipewire-media-session.service"
- elog " systemctl --user --force enable wireplumber.service"
- elog
- elog "Root user may replace --user with --global to change system default"
- elog "configuration for all of the above commands."
- else
- ewarn "PipeWire daemon startup has been moved to a launcher script!"
- ewarn "Make sure that ${EROOT}/etc/pipewire/pipewire.conf either does not exist or no"
- ewarn "longer is set to start a session manager or PulseAudio compatibility daemon (all"
- ewarn "lines similar to '{ path = /usr/bin/pipewire*' should be commented out)"
- ewarn
- ewarn "Those manually starting /usr/bin/pipewire via .xinitrc or similar _must_ from"
- ewarn "now on start ${EROOT}/usr/bin/gentoo-pipewire-launcher instead! It is highly"
- ewarn "advised that a D-Bus user session is set up before starting the script."
- ewarn
-
- if use sound-server && ( has_version 'media-sound/pulseaudio[daemon]' || has_version 'media-sound/pulseaudio-daemon' ) ; then
- elog "This ebuild auto-enables PulseAudio replacement. Because of that, users"
- elog "are recommended to edit pulseaudio client configuration files:"
- elog "${EROOT}/etc/pulse/client.conf and ${EROOT}/etc/pulse/client.conf.d/enable-autospawn.conf"
- elog "if it exists, and disable autospawning of the original daemon by setting:"
+ if [[ ${HAD_SOUND_SERVER} -eq 0 || -z ${REPLACING_VERSIONS} ]] ; then
+ # TODO: We could drop most of this if we set up systemd presets?
+ if use sound-server && use systemd ; then
+ elog
+ elog "When switching from PulseAudio, you may need to disable PulseAudio:"
elog
- elog " autospawn = no"
+ elog " systemctl --user disable pulseaudio.service pulseaudio.socket"
elog
- elog "Please note that the semicolon (;) must _NOT_ be at the beginning of the line!"
+ elog "To use PipeWire, the user units must be manually enabled"
+ elog "by running this command as each user you use for desktop activities:"
elog
- elog "Alternatively, if replacing PulseAudio daemon is not desired, edit"
- elog "${EROOT}/usr/bin/gentoo-pipewire-launcher by commenting out the relevant"
- elog "command:"
+ elog " systemctl --user enable pipewire.socket pipewire-pulse.socket"
elog
- elog "#${EROOT}/usr/bin/pipewire -c pipewire-pulse.conf &"
+ elog "A reboot is recommended to avoid interferences from still running"
+ elog "PulseAudio daemon."
+ elog
+ elog "Both new users and those upgrading need to enable WirePlumber"
+ elog "for relevant users:"
+ elog
+ elog " systemctl --user disable pipewire-media-session.service"
+ elog " systemctl --user --force enable wireplumber.service"
+ elog
+ elog "Root user may replace --user with --global to change system default"
+ elog "configuration for all of the above commands."
elog
fi
- elog "NOTE:"
- elog "Starting with PipeWire-0.3.30, this package is no longer installing its config"
- elog "into ${EROOT}/etc/pipewire by default. In case you need to change"
- elog "its config, please start by copying default config from ${EROOT}/usr/share/pipewire"
- elog "and just override the sections you want to change."
- fi
- elog
-
- elog "For latest tips and tricks, troubleshooting information and documentation"
- elog "in general, please refer to https://wiki.gentoo.org/wiki/PipeWire"
- elog
- optfeature_header "The following can be installed for optional runtime features:"
- optfeature "restricted realtime capabilities via D-Bus" sys-auth/rtkit
-
- if use sound-server && ! use pipewire-alsa; then
- optfeature "ALSA plugin to use PulseAudio interface for output" "media-plugins/alsa-plugins[pulseaudio]"
- fi
-
- if has_version 'net-misc/ofono' ; then
- ewarn "Native backend has become default. Please disable oFono via:"
- if systemd_is_booted ; then
- ewarn "systemctl disable ofono"
- else
- ewarn "rc-update delete ofono"
+ if ! use sound-server ; then
+ ewarn
+ ewarn "USE=sound-server is disabled! If you want PipeWire to provide"
+ ewarn "your sound, please enable it. See the wiki at"
+ ewarn "https://wiki.gentoo.org/wiki/PipeWire#Replacing_PulseAudio"
+ ewarn "for more details."
+ ewarn
fi
- ewarn
fi
- if use system-service; then
+ if use system-service && [[ ${HAD_SYSTEM_SERVICE} -eq 0 || -z ${REPLACING_VERSIONS} ]] ; then
ewarn
- ewarn "WARNING: you have enabled the system-service USE flag, which installs"
+ ewarn "You have enabled the system-service USE flag, which installs"
ewarn "the system-wide systemd units that enable PipeWire to run as a system"
ewarn "service. This is more than likely NOT what you want. You are strongly"
ewarn "advised not to enable this mode and instead stick with systemd user"
- ewarn "units. The default configuration files will likely not work out of"
+ ewarn "units. The default configuration files will likely not work out of the"
ewarn "box, and you are on your own with configuration."
ewarn
fi
+
+ elog "For latest tips and tricks, troubleshooting information, and documentation"
+ elog "in general, please refer to https://wiki.gentoo.org/wiki/PipeWire"
+ elog
+
+ optfeature_header "The following can be installed for optional runtime features:"
+ optfeature "restricted realtime capabilities via D-Bus" sys-auth/rtkit
+
+ if use sound-server && ! use pipewire-alsa; then
+ optfeature "ALSA plugin to use PulseAudio interface for output" "media-plugins/alsa-plugins[pulseaudio]"
+ fi
}
diff --git a/media-video/pipewire/pipewire-0.3.70-r2.ebuild b/media-video/pipewire/pipewire-0.3.70-r2.ebuild
new file mode 100644
index 000000000000..bb244de636b6
--- /dev/null
+++ b/media-video/pipewire/pipewire-0.3.70-r2.ebuild
@@ -0,0 +1,474 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# 1. Please regularly check (even at the point of bumping) Fedora's packaging
+# for needed backports at https://src.fedoraproject.org/rpms/pipewire/tree/rawhide.
+#
+# 2. Upstream also sometimes amend release notes for the previous release to mention
+# needed patches, e.g. https://gitlab.freedesktop.org/pipewire/pipewire/-/tags/0.3.55#distros
+#
+# 3. Keep an eye on git master (for both PipeWire and WirePlumber) as things
+# continue to move quickly. It's not uncommon for fixes to be made shortly
+# after releases.
+
+PYTHON_COMPAT=( python3_{9..11} )
+
+inherit flag-o-matic meson-multilib optfeature prefix python-any-r1 systemd tmpfiles udev
+
+if [[ ${PV} == 9999 ]]; then
+ EGIT_REPO_URI="https://gitlab.freedesktop.org/${PN}/${PN}.git"
+ inherit git-r3
+else
+ if [[ ${PV} == *_p* ]] ; then
+ MY_COMMIT=""
+ SRC_URI="https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/${MY_COMMIT}/pipewire-${MY_COMMIT}.tar.bz2 -> ${P}.tar.bz2"
+ S="${WORKDIR}"/${PN}-${MY_COMMIT}
+ else
+ SRC_URI="https://gitlab.freedesktop.org/${PN}/${PN}/-/archive/${PV}/${P}.tar.bz2"
+ fi
+
+ KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~sparc x86"
+fi
+
+DESCRIPTION="Multimedia processing graphs"
+HOMEPAGE="https://pipewire.org/"
+
+LICENSE="MIT LGPL-2.1+ GPL-2"
+# ABI was broken in 0.3.42 for https://gitlab.freedesktop.org/pipewire/wireplumber/-/issues/49
+SLOT="0/0.4"
+IUSE="bluetooth dbus doc echo-cancel extra ffmpeg flatpak gstreamer gsettings jack-client jack-sdk lv2
+modemmanager pipewire-alsa readline 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-util/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
+ media-gfx/graphviz
+ )
+"
+# While udev could technically be optional, it's needed for a numebr of options,
+# and not really worth it, bug #877769.
+RDEPEND="
+ acct-group/audio
+ acct-group/pipewire
+ media-libs/alsa-lib
+ 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:0 )
+ 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
+ )
+ jack-client? ( >=media-sound/jack2-1.9.10:2[dbus] )
+ jack-sdk? (
+ !media-sound/jack-audio-connection-kit
+ !media-sound/jack2
+ )
+ lv2? ( media-libs/lilv )
+ modemmanager? ( >=net-misc/modemmanager-1.10.0 )
+ pipewire-alsa? (
+ >=media-libs/alsa-lib-1.1.7[${MULTILIB_USEDEP}]
+ )
+ sound-server? (
+ !media-sound/pulseaudio[daemon(+)]
+ !media-sound/pulseaudio-daemon
+ )
+ readline? ( sys-libs/readline:= )
+ ssl? ( dev-libs/openssl:= )
+ systemd? ( sys-apps/systemd )
+ system-service? (
+ acct-user/pipewire
+ )
+ 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
+
+DOCS=( {README,INSTALL}.md NEWS )
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch
+)
+
+python_check_deps() {
+ python_has_version "dev-python/docutils[${PYTHON_USEDEP}]"
+}
+
+src_prepare() {
+ default
+
+ # Used for upstream backports
+ [[ -d "${FILESDIR}"/${PV} ]] && eapply "${FILESDIR}"/${PV}
+}
+
+multilib_src_configure() {
+ # https://bugs.gentoo.org/838301
+ filter-flags -fno-semantic-interposition
+
+ local emesonargs=(
+ -Ddocdir="${EPREFIX}"/usr/share/doc/${PF}
+
+ $(meson_feature dbus)
+ $(meson_native_use_feature zeroconf avahi)
+ $(meson_native_use_feature doc docs)
+ $(meson_native_enabled examples) # TODO: Figure out if this is still important now that media-session gone
+ $(meson_native_enabled man)
+ $(meson_feature test tests)
+ -Dinstalled_tests=disabled # Matches upstream; Gentoo never installs tests
+ $(meson_native_use_feature gstreamer)
+ $(meson_native_use_feature gstreamer gstreamer-device-provider)
+ $(meson_native_use_feature gsettings)
+ $(meson_native_use_feature systemd)
+
+ $(meson_native_use_feature system-service systemd-system-service)
+ -Dsystemd-system-unit-dir="$(systemd_get_systemunitdir)"
+ -Dsystemd-user-unit-dir="$(systemd_get_userunitdir)"
+
+ $(meson_native_use_feature systemd systemd-user-service)
+ $(meson_feature pipewire-alsa) # Allows integrating ALSA apps into PW graph
+ -Dspa-plugins=enabled
+ -Dalsa=enabled # Allows using kernel ALSA for sound I/O (NOTE: media-session is gone so IUSE=alsa/spa_alsa/alsa-backend might be possible)
+ -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
+ # Not yet packaged.
+ # http://www.bluez.org/le-audio-support-in-pipewire/
+ -Dbluez5-codec-lc3=disabled
+ -Dbluez5-codec-lc3plus=disabled
+ -Dcontrol=enabled # Matches upstream
+ -Daudiotestsrc=enabled # Matches upstream
+ -Dffmpeg=disabled # Disabled by upstream and no major developments to spa/plugins/ffmpeg/ since May 2020
+ $(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
+ $(meson_native_use_feature lv2)
+ $(meson_native_use_feature v4l v4l2)
+ -Dlibcamera=disabled # libcamera is not in Portage tree
+ $(meson_native_use_feature readline)
+ $(meson_native_use_feature ssl raop)
+ -Dvideoconvert=enabled # Matches upstream
+ -Dvideotestsrc=enabled # Matches upstream
+ -Dvolume=enabled # Matches upstream
+ -Dvulkan=disabled # Uses pre-compiled Vulkan compute shader to provide a CGI video source (dev thing; disabled by upstream)
+ $(meson_native_use_feature extra pw-cat)
+ -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 pipewire-alsa; then
+ dodir /etc/alsa/conf.d
+
+ # Install pipewire conf loader hook
+ insinto /usr/share/alsa/alsa.conf.d
+ doins "${FILESDIR}"/99-pipewire-default-hook.conf
+ eprefixify "${ED}"/usr/share/alsa/alsa.conf.d/99-pipewire-default-hook.conf
+
+ # These will break if someone has /etc that is a symbolic link to a subfolder! See #724222
+ # And the current dosym8 -r implementation is likely affected by the same issue, too.
+ dosym ../../../usr/share/alsa/alsa.conf.d/50-pipewire.conf /etc/alsa/conf.d/50-pipewire.conf
+ dosym ../../../usr/share/alsa/alsa.conf.d/99-pipewire-default-hook.conf /etc/alsa/conf.d/99-pipewire-default-hook.conf
+ fi
+
+ # Enable required wireplumber alsa and bluez monitors
+ if use sound-server; then
+ dodir /etc/wireplumber/main.lua.d
+ echo "alsa_monitor.enabled = true" > "${ED}"/etc/wireplumber/main.lua.d/89-gentoo-sound-server-enable-alsa-monitor.lua || die
+
+ dodir /etc/wireplumber/bluetooth.lua.d
+ echo "bluez_monitor.enabled = true" > "${ED}"/etc/wireplumber/bluetooth.lua.d/89-gentoo-sound-server-enable-bluez-monitor.lua || die
+ fi
+
+ if use system-service; then
+ newtmpfiles - pipewire.conf <<-EOF || die
+ d /run/pipewire 0755 pipewire pipewire - -
+ EOF
+ fi
+
+ if ! use systemd; then
+ insinto /etc/xdg/autostart
+ newins "${FILESDIR}"/pipewire.desktop-r1 pipewire.desktop
+
+ exeinto /usr/bin
+ newexe "${FILESDIR}"/gentoo-pipewire-launcher.in-r1 gentoo-pipewire-launcher
+
+ # Disable pipewire-pulse if sound-server is disabled.
+ if ! use sound-server ; then
+ sed -i -s '/pipewire -c pipewire-pulse.conf/s/^/#/' "${ED}"/usr/bin/gentoo-pipewire-launcher || die
+ fi
+
+ eprefixify "${ED}"/usr/bin/gentoo-pipewire-launcher
+ fi
+}
+
+pkg_postrm() {
+ 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 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?
+ 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-0.3.64-r2.ebuild b/media-video/pipewire/pipewire-0.3.70.ebuild
index ec34788a440c..a54b5c2d65dd 100644
--- a/media-video/pipewire/pipewire-0.3.64-r2.ebuild
+++ b/media-video/pipewire/pipewire-0.3.70.ebuild
@@ -15,7 +15,7 @@ EAPI=8
PYTHON_COMPAT=( python3_{9..11} )
-inherit flag-o-matic meson-multilib optfeature prefix python-any-r1 systemd udev
+inherit flag-o-matic meson-multilib optfeature prefix python-any-r1 systemd tmpfiles udev
if [[ ${PV} == 9999 ]]; then
EGIT_REPO_URI="https://gitlab.freedesktop.org/${PN}/${PN}.git"
@@ -38,7 +38,7 @@ HOMEPAGE="https://pipewire.org/"
LICENSE="MIT LGPL-2.1+ GPL-2"
# ABI was broken in 0.3.42 for https://gitlab.freedesktop.org/pipewire/wireplumber/-/issues/49
SLOT="0/0.4"
-IUSE="bluetooth dbus doc echo-cancel extra flatpak gstreamer gsettings jack-client jack-sdk lv2
+IUSE="bluetooth dbus doc echo-cancel extra ffmpeg flatpak gstreamer gsettings jack-client jack-sdk lv2
modemmanager pipewire-alsa readline sound-server ssl system-service systemd test v4l X zeroconf"
# Once replacing system JACK libraries is possible, it's likely that
@@ -47,12 +47,14 @@ modemmanager pipewire-alsa readline sound-server ssl system-service systemd test
# JACK's sink - doing so is likely to yield no audio, cause a CPU
# cycles consuming loop (and may even cause GUI crashes)!
-# TODO: There should be "sound-server? ( || ( alsa bluetooth ) )" here, but ALSA is always enabled
-# TODO: Pulseaudio alsa plugin performs runtime check that pulseaudio server connection will work
-# which provides adequate guarantee that alsa-lib will be able to provide audio services.
-# If that works, pulseaudio defaults are loaded into alsa-lib runtime replacing default PCM and CTL.
-# When pipewire-alsa will be able to perform similar check, pipewire-alsa can be enabled unconditionally.
+# - TODO: There should be "sound-server? ( || ( alsa bluetooth ) )" here, but ALSA is always enabled
+# - TODO: Pulseaudio alsa plugin performs runtime check that pulseaudio server connection will work
+# which provides adequate guarantee that alsa-lib will be able to provide audio services.
+# If that works, pulseaudio defaults are loaded into alsa-lib runtime replacing default PCM and CTL.
+# When pipewire-alsa will be able to perform similar check, pipewire-alsa can be enabled unconditionally.
+# - ffmpeg is only used for pw-cat. We don't build the spa plugin which receives barely any activity.
REQUIRED_USE="
+ ffmpeg? ( extra )
bluetooth? ( dbus )
jack-sdk? ( !jack-client )
modemmanager? ( bluetooth )
@@ -68,6 +70,7 @@ BDEPEND="
virtual/pkgconfig
${PYTHON_DEPS}
$(python_gen_any_dep 'dev-python/docutils[${PYTHON_USEDEP}]')
+ dbus? ( dev-util/gdbus-codegen )
doc? (
app-doc/doxygen
media-gfx/graphviz
@@ -77,11 +80,13 @@ BDEPEND="
# and not really worth it, bug #877769.
RDEPEND="
acct-group/audio
+ acct-group/pipewire
media-libs/alsa-lib
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
@@ -95,6 +100,7 @@ RDEPEND="
extra? (
>=media-libs/libsndfile-1.0.20
)
+ ffmpeg? ( media-video/ffmpeg:= )
flatpak? (
dev-libs/glib
)
@@ -125,7 +131,6 @@ RDEPEND="
systemd? ( sys-apps/systemd )
system-service? (
acct-user/pipewire
- acct-group/pipewire
)
v4l? ( media-libs/libv4l )
X? (
@@ -145,7 +150,6 @@ PDEPEND=">=media-video/wireplumber-0.4.8-r3"
# Present RDEPEND that are currently always disabled due to the PW
# code using them being required to be disabled by Gentoo guidelines
# (i.e. developer binaries not meant for users) and unready code
-# media-video/ffmpeg:=
# media-libs/libsdl2
# >=media-libs/vulkan-loader-1.1.69
#
@@ -158,10 +162,6 @@ PATCHES=(
"${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch
)
-# limitsdfile related code taken from =sys-auth/realtime-base-0.1
-# with changes as necessary.
-limitsdfile=40-${PN}.conf
-
python_check_deps() {
python_has_version "dev-python/docutils[${PYTHON_USEDEP}]"
}
@@ -171,21 +171,6 @@ src_prepare() {
# Used for upstream backports
[[ -d "${FILESDIR}"/${PV} ]] && eapply "${FILESDIR}"/${PV}
-
- einfo "Generating ${limitsdfile}"
- cat > ${limitsdfile} <<- EOF || die
- # Start of ${limitsdfile} from ${P}
-
- @audio - memlock 256
-
- $(use system-service && {
- echo @pipewire - rtprio 95
- echo @pipewire - nice -19
- echo @pipewire - memlock 4194304
- })
-
- # End of ${limitsdfile} from ${P}
- EOF
}
multilib_src_configure() {
@@ -215,6 +200,7 @@ multilib_src_configure() {
$(meson_feature pipewire-alsa) # Allows integrating ALSA apps into PW graph
-Dspa-plugins=enabled
-Dalsa=enabled # Allows using kernel ALSA for sound I/O (NOTE: media-session is gone so IUSE=alsa/spa_alsa/alsa-backend might be possible)
+ -Dcompress-offload=disabled # TODO: tinycompress unpackaged
-Daudiomixer=enabled # Matches upstream
-Daudioconvert=enabled # Matches upstream
$(meson_native_use_feature bluetooth bluez5)
@@ -227,15 +213,18 @@ multilib_src_configure() {
$(meson_native_use_feature bluetooth bluez5-codec-aac)
$(meson_native_use_feature bluetooth bluez5-codec-aptx)
$(meson_native_use_feature bluetooth bluez5-codec-ldac)
+ $(meson_native_use_feature bluetooth opus)
$(meson_native_use_feature bluetooth bluez5-codec-opus)
$(meson_native_use_feature bluetooth libusb) # At least for now only used by bluez5 native (quirk detection of adapters)
$(meson_native_use_feature echo-cancel echo-cancel-webrtc) #807889
# Not yet packaged.
+ # http://www.bluez.org/le-audio-support-in-pipewire/
-Dbluez5-codec-lc3=disabled
-Dbluez5-codec-lc3plus=disabled
-Dcontrol=enabled # Matches upstream
-Daudiotestsrc=enabled # Matches upstream
-Dffmpeg=disabled # Disabled by upstream and no major developments to spa/plugins/ffmpeg/ since May 2020
+ $(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
@@ -257,9 +246,15 @@ multilib_src_configure() {
-Dudev=enabled
-Dudevrulesdir="${EPREFIX}$(get_udevdir)/rules.d"
-Dsdl2=disabled # Controls SDL2 dependent code (currently only examples when -Dinstalled_tests=enabled which we never install)
+ -Dlibmysofa=disabled # libmysofa is unpackaged
$(meson_native_use_feature extra sndfile) # Enables libsndfile dependent code (currently only pw-cat)
-Dsession-managers="[]" # All available session managers are now their own projects, so there's nothing to build
+ # We still have <5.16 kernels packaged in Gentoo and 6.1 (LTS) only
+ # just became stable, with 5.15 being the previous LTS. Many people
+ # are still on it.
+ -Dpam-defaults-install=true
+
# Just for bell sounds in X11 right now.
$(meson_native_use_feature X x11)
$(meson_native_use_feature X x11-xfixes)
@@ -269,6 +264,10 @@ multilib_src_configure() {
meson_src_configure
}
+multilib_src_test() {
+ meson_src_test --timeout-multiplier 10
+}
+
multilib_src_install() {
# Our custom DOCS do not exist in multilib source directory
DOCS= meson_src_install
@@ -277,9 +276,6 @@ multilib_src_install() {
multilib_src_install_all() {
einstalldocs
- insinto /etc/security/limits.d
- doins ${limitsdfile}
-
if use pipewire-alsa; then
dodir /etc/alsa/conf.d
@@ -303,6 +299,12 @@ multilib_src_install_all() {
echo "bluez_monitor.enabled = true" > "${ED}"/etc/wireplumber/bluetooth.lua.d/89-gentoo-sound-server-enable-bluez-monitor.lua || die
fi
+ if use system-service; then
+ newtmpfiles - pipewire.conf <<-EOF || die
+ d /run/pipewire 0755 pipewire pipewire - -
+ EOF
+ fi
+
if ! use systemd; then
insinto /etc/xdg/autostart
newins "${FILESDIR}"/pipewire.desktop-r1 pipewire.desktop
@@ -323,123 +325,150 @@ pkg_postrm() {
udev_reload
}
+pkg_preinst() {
+ HAD_SOUND_SERVER=0
+ HAD_SYSTEM_SERVICE=0
+
+ if has_version "media-video/pipewire[sound-server(-)]" ; then
+ HAD_SOUND_SERVER=1
+ fi
+
+ if has_version "media-video/pipewire[system-service(-)]" ; then
+ HAD_SYSTEM_SERVICE=1
+ fi
+}
+
pkg_postinst() {
udev_reload
- elog "It is recommended to raise RLIMIT_MEMLOCK to 256 for users"
- elog "using PipeWire. Do it either manually or add yourself"
- elog "to the 'audio' group:"
- elog
- elog " usermod -aG audio <youruser>"
- elog
+ use system-service && tmpfiles_process pipewire.conf
local ver
for ver in ${REPLACING_VERSIONS} ; do
- if ver_test ${ver} -le 0.3.53-r1 && ! use sound-server ; then
- ewarn "USE=sound-server is disabled! If you want PipeWire to provide"
- ewarn "your sound, please enable it. See the wiki at"
- ewarn "https://wiki.gentoo.org/wiki/PipeWire#Replacing_PulseAudio"
- ewarn "for more details."
+ 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
- break
+ if ! use jack-sdk ; then
+ elog
+ elog "JACK emulation is incomplete and not all programs will work. PipeWire's"
+ elog "alternative libraries have been installed to a non-default location."
+ elog "To use them, put pw-jack <application> before every JACK application."
+ elog "When using pw-jack, do not run jackd/jackdbus. However, a virtual/jack"
+ elog "provider is still needed to compile the JACK applications themselves."
+ elog
+ fi
+
+ if use systemd ; then
+ ewarn
+ ewarn "PipeWire daemon startup has been moved to a launcher script!"
+ ewarn "Make sure that ${EROOT}/etc/pipewire/pipewire.conf either does not exist or no"
+ ewarn "longer is set to start a session manager or PulseAudio compatibility daemon (all"
+ ewarn "lines similar to '{ path = /usr/bin/pipewire*' should be commented out)"
+ ewarn
+ ewarn "Those manually starting /usr/bin/pipewire via .xinitrc or similar _must_ from"
+ ewarn "now on start ${EROOT}/usr/bin/gentoo-pipewire-launcher instead! It is highly"
+ ewarn "advised that a D-Bus user session is set up before starting the script."
+ ewarn
+ fi
+
+ if use sound-server && ( has_version 'media-sound/pulseaudio[daemon]' || has_version 'media-sound/pulseaudio-daemon' ) ; then
+ elog
+ elog "This ebuild auto-enables PulseAudio replacement. Because of that, users"
+ elog "are recommended to edit pulseaudio client configuration files:"
+ elog "${EROOT}/etc/pulse/client.conf and ${EROOT}/etc/pulse/client.conf.d/enable-autospawn.conf"
+ elog "if it exists, and disable autospawning of the original daemon by setting:"
+ elog
+ elog " autospawn = no"
+ elog
+ elog "Please note that the semicolon (;) must _NOT_ be at the beginning of the line!"
+ elog
+ elog "Alternatively, if replacing PulseAudio daemon is not desired, edit"
+ elog "${EROOT}/usr/bin/gentoo-pipewire-launcher by commenting out the relevant"
+ elog "command:"
+ elog
+ elog "#${EROOT}/usr/bin/pipewire -c pipewire-pulse.conf &"
+ elog
+ fi
+
+ if has_version 'net-misc/ofono' ; then
+ ewarn "Native backend has become default. Please disable oFono via:"
+ if systemd_is_booted ; then
+ ewarn "systemctl disable ofono"
+ else
+ ewarn "rc-update delete ofono"
+ fi
+ fi
fi
done
- if ! use jack-sdk; then
- elog "JACK emulation is incomplete and not all programs will work. PipeWire's"
- elog "alternative libraries have been installed to a non-default location."
- elog "To use them, put pw-jack <application> before every JACK application."
- elog "When using pw-jack, do not run jackd/jackdbus. However, a virtual/jack"
- elog "provider is still needed to compile the JACK applications themselves."
- elog
- fi
-
- if use systemd; then
- elog "When switching from PulseAudio, you may need to disable PulseAudio:"
- elog
- elog " systemctl --user disable pulseaudio.service pulseaudio.socket"
- elog
- elog "To use PipeWire, the user units must be manually enabled"
- elog "by running this command as each user you use for desktop activities:"
- elog
- elog " systemctl --user enable pipewire.socket pipewire-pulse.socket"
- elog
- elog "A reboot is recommended to avoid interferences from still running"
- elog "PulseAudio daemon."
- elog
- elog "Both new users and those upgrading need to enable WirePlumber"
- elog "for relevant users:"
- elog
- elog " systemctl --user disable pipewire-media-session.service"
- elog " systemctl --user --force enable wireplumber.service"
- elog
- elog "Root user may replace --user with --global to change system default"
- elog "configuration for all of the above commands."
- else
- ewarn "PipeWire daemon startup has been moved to a launcher script!"
- ewarn "Make sure that ${EROOT}/etc/pipewire/pipewire.conf either does not exist or no"
- ewarn "longer is set to start a session manager or PulseAudio compatibility daemon (all"
- ewarn "lines similar to '{ path = /usr/bin/pipewire*' should be commented out)"
- ewarn
- ewarn "Those manually starting /usr/bin/pipewire via .xinitrc or similar _must_ from"
- ewarn "now on start ${EROOT}/usr/bin/gentoo-pipewire-launcher instead! It is highly"
- ewarn "advised that a D-Bus user session is set up before starting the script."
- ewarn
-
- if use sound-server && ( has_version 'media-sound/pulseaudio[daemon]' || has_version 'media-sound/pulseaudio-daemon' ) ; then
- elog "This ebuild auto-enables PulseAudio replacement. Because of that, users"
- elog "are recommended to edit pulseaudio client configuration files:"
- elog "${EROOT}/etc/pulse/client.conf and ${EROOT}/etc/pulse/client.conf.d/enable-autospawn.conf"
- elog "if it exists, and disable autospawning of the original daemon by setting:"
+ if [[ ${HAD_SOUND_SERVER} -eq 0 || -z ${REPLACING_VERSIONS} ]] ; then
+ # TODO: We could drop most of this if we set up systemd presets?
+ if use sound-server && use systemd ; then
elog
- elog " autospawn = no"
+ elog "When switching from PulseAudio, you may need to disable PulseAudio:"
elog
- elog "Please note that the semicolon (;) must _NOT_ be at the beginning of the line!"
+ elog " systemctl --user disable pulseaudio.service pulseaudio.socket"
elog
- elog "Alternatively, if replacing PulseAudio daemon is not desired, edit"
- elog "${EROOT}/usr/bin/gentoo-pipewire-launcher by commenting out the relevant"
- elog "command:"
+ elog "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 "#${EROOT}/usr/bin/pipewire -c pipewire-pulse.conf &"
+ 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
- elog "NOTE:"
- elog "Starting with PipeWire-0.3.30, this package is no longer installing its config"
- elog "into ${EROOT}/etc/pipewire by default. In case you need to change"
- elog "its config, please start by copying default config from ${EROOT}/usr/share/pipewire"
- elog "and just override the sections you want to change."
- fi
- elog
-
- elog "For latest tips and tricks, troubleshooting information and documentation"
- elog "in general, please refer to https://wiki.gentoo.org/wiki/PipeWire"
- elog
- optfeature_header "The following can be installed for optional runtime features:"
- optfeature "restricted realtime capabilities via D-Bus" sys-auth/rtkit
-
- if use sound-server && ! use pipewire-alsa; then
- optfeature "ALSA plugin to use PulseAudio interface for output" "media-plugins/alsa-plugins[pulseaudio]"
- fi
-
- if has_version 'net-misc/ofono' ; then
- ewarn "Native backend has become default. Please disable oFono via:"
- if systemd_is_booted ; then
- ewarn "systemctl disable ofono"
- else
- ewarn "rc-update delete ofono"
+ if ! use sound-server ; then
+ ewarn
+ ewarn "USE=sound-server is disabled! If you want PipeWire to provide"
+ ewarn "your sound, please enable it. See the wiki at"
+ ewarn "https://wiki.gentoo.org/wiki/PipeWire#Replacing_PulseAudio"
+ ewarn "for more details."
+ ewarn
fi
- ewarn
fi
- if use system-service; then
+ if use system-service && [[ ${HAD_SYSTEM_SERVICE} -eq 0 || -z ${REPLACING_VERSIONS} ]] ; then
ewarn
- ewarn "WARNING: you have enabled the system-service USE flag, which installs"
+ ewarn "You have enabled the system-service USE flag, which installs"
ewarn "the system-wide systemd units that enable PipeWire to run as a system"
ewarn "service. This is more than likely NOT what you want. You are strongly"
ewarn "advised not to enable this mode and instead stick with systemd user"
- ewarn "units. The default configuration files will likely not work out of"
+ ewarn "units. The default configuration files will likely not work out of the"
ewarn "box, and you are on your own with configuration."
ewarn
fi
+
+ elog "For latest tips and tricks, troubleshooting information, and documentation"
+ elog "in general, please refer to https://wiki.gentoo.org/wiki/PipeWire"
+ elog
+
+ optfeature_header "The following can be installed for optional runtime features:"
+ optfeature "restricted realtime capabilities via D-Bus" sys-auth/rtkit
+
+ if use sound-server && ! use pipewire-alsa; then
+ optfeature "ALSA plugin to use PulseAudio interface for output" "media-plugins/alsa-plugins[pulseaudio]"
+ fi
}
diff --git a/media-video/pipewire/pipewire-0.3.64.ebuild b/media-video/pipewire/pipewire-0.3.71-r1.ebuild
index 39cb357fe7da..bfad8bec183e 100644
--- a/media-video/pipewire/pipewire-0.3.64.ebuild
+++ b/media-video/pipewire/pipewire-0.3.71-r1.ebuild
@@ -15,7 +15,7 @@ EAPI=8
PYTHON_COMPAT=( python3_{9..11} )
-inherit flag-o-matic meson-multilib optfeature prefix python-any-r1 systemd udev
+inherit flag-o-matic meson-multilib optfeature prefix python-any-r1 systemd tmpfiles udev
if [[ ${PV} == 9999 ]]; then
EGIT_REPO_URI="https://gitlab.freedesktop.org/${PN}/${PN}.git"
@@ -38,8 +38,8 @@ HOMEPAGE="https://pipewire.org/"
LICENSE="MIT LGPL-2.1+ GPL-2"
# ABI was broken in 0.3.42 for https://gitlab.freedesktop.org/pipewire/wireplumber/-/issues/49
SLOT="0/0.4"
-IUSE="bluetooth dbus doc echo-cancel extra flatpak gstreamer gsettings jack-client jack-sdk lv2
-modemmanager pipewire-alsa readline sound-server ssl system-service systemd test udev v4l X zeroconf"
+IUSE="bluetooth dbus doc echo-cancel extra ffmpeg flatpak gstreamer gsettings jack-client jack-sdk lv2
+modemmanager pipewire-alsa readline sound-server ssl system-service systemd test v4l X zeroconf"
# Once replacing system JACK libraries is possible, it's likely that
# jack-client IUSE will need blocking to avoid users accidentally
@@ -47,12 +47,15 @@ modemmanager pipewire-alsa readline sound-server ssl system-service systemd test
# JACK's sink - doing so is likely to yield no audio, cause a CPU
# cycles consuming loop (and may even cause GUI crashes)!
-# TODO: There should be "sound-server? ( || ( alsa bluetooth ) )" here, but ALSA is always enabled
-# TODO: Pulseaudio alsa plugin performs runtime check that pulseaudio server connection will work
-# which provides adequate guarantee that alsa-lib will be able to provide audio services.
-# If that works, pulseaudio defaults are loaded into alsa-lib runtime replacing default PCM and CTL.
-# When pipewire-alsa will be able to perform similar check, pipewire-alsa can be enabled unconditionally.
+# - TODO: There should be "sound-server? ( || ( alsa bluetooth ) )" here, but ALSA is always enabled
+# - TODO: Pulseaudio alsa plugin performs runtime check that pulseaudio server connection will work
+# which provides adequate guarantee that alsa-lib will be able to provide audio services.
+# If that works, pulseaudio defaults are loaded into alsa-lib runtime replacing default PCM and CTL.
+# When pipewire-alsa will be able to perform similar check, pipewire-alsa can be enabled unconditionally.
+# - ffmpeg is only used for pw-cat. We don't build the spa plugin which receives barely any activity.
REQUIRED_USE="
+ ffmpeg? ( extra )
+ bluetooth? ( dbus )
jack-sdk? ( !jack-client )
modemmanager? ( bluetooth )
system-service? ( systemd )
@@ -67,17 +70,23 @@ BDEPEND="
virtual/pkgconfig
${PYTHON_DEPS}
$(python_gen_any_dep 'dev-python/docutils[${PYTHON_USEDEP}]')
+ dbus? ( dev-util/gdbus-codegen )
doc? (
app-doc/doxygen
media-gfx/graphviz
)
"
+# While udev could technically be optional, it's needed for a numebr of options,
+# and not really worth it, bug #877769.
RDEPEND="
acct-group/audio
+ acct-group/pipewire
media-libs/alsa-lib
sys-libs/ncurses:=[unicode(+)]
virtual/libintl[${MULTILIB_USEDEP}]
+ virtual/libudev[${MULTILIB_USEDEP}]
bluetooth? (
+ dev-libs/glib
media-libs/fdk-aac
media-libs/libldac
media-libs/libfreeaptx
@@ -91,6 +100,7 @@ RDEPEND="
extra? (
>=media-libs/libsndfile-1.0.20
)
+ ffmpeg? ( media-video/ffmpeg:= )
flatpak? (
dev-libs/glib
)
@@ -121,9 +131,7 @@ RDEPEND="
systemd? ( sys-apps/systemd )
system-service? (
acct-user/pipewire
- acct-group/pipewire
)
- udev? ( virtual/libudev[${MULTILIB_USEDEP}] )
v4l? ( media-libs/libv4l )
X? (
media-libs/libcanberra
@@ -142,7 +150,6 @@ PDEPEND=">=media-video/wireplumber-0.4.8-r3"
# Present RDEPEND that are currently always disabled due to the PW
# code using them being required to be disabled by Gentoo guidelines
# (i.e. developer binaries not meant for users) and unready code
-# media-video/ffmpeg:=
# media-libs/libsdl2
# >=media-libs/vulkan-loader-1.1.69
#
@@ -155,10 +162,6 @@ PATCHES=(
"${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch
)
-# limitsdfile related code taken from =sys-auth/realtime-base-0.1
-# with changes as necessary.
-limitsdfile=40-${PN}.conf
-
python_check_deps() {
python_has_version "dev-python/docutils[${PYTHON_USEDEP}]"
}
@@ -166,20 +169,8 @@ python_check_deps() {
src_prepare() {
default
- einfo "Generating ${limitsdfile}"
- cat > ${limitsdfile} <<- EOF || die
- # Start of ${limitsdfile} from ${P}
-
- @audio - memlock 256
-
- $(use system-service && {
- echo @pipewire - rtprio 95
- echo @pipewire - nice -19
- echo @pipewire - memlock 4194304
- })
-
- # End of ${limitsdfile} from ${P}
- EOF
+ # Used for upstream backports
+ [[ -d "${FILESDIR}"/${PV} ]] && eapply "${FILESDIR}"/${PV}
}
multilib_src_configure() {
@@ -209,6 +200,7 @@ multilib_src_configure() {
$(meson_feature pipewire-alsa) # Allows integrating ALSA apps into PW graph
-Dspa-plugins=enabled
-Dalsa=enabled # Allows using kernel ALSA for sound I/O (NOTE: media-session is gone so IUSE=alsa/spa_alsa/alsa-backend might be possible)
+ -Dcompress-offload=disabled # TODO: tinycompress unpackaged
-Daudiomixer=enabled # Matches upstream
-Daudioconvert=enabled # Matches upstream
$(meson_native_use_feature bluetooth bluez5)
@@ -221,15 +213,18 @@ multilib_src_configure() {
$(meson_native_use_feature bluetooth bluez5-codec-aac)
$(meson_native_use_feature bluetooth bluez5-codec-aptx)
$(meson_native_use_feature bluetooth bluez5-codec-ldac)
+ $(meson_native_use_feature bluetooth opus)
$(meson_native_use_feature bluetooth bluez5-codec-opus)
$(meson_native_use_feature bluetooth libusb) # At least for now only used by bluez5 native (quirk detection of adapters)
$(meson_native_use_feature echo-cancel echo-cancel-webrtc) #807889
# Not yet packaged.
+ # http://www.bluez.org/le-audio-support-in-pipewire/
-Dbluez5-codec-lc3=disabled
-Dbluez5-codec-lc3plus=disabled
-Dcontrol=enabled # Matches upstream
-Daudiotestsrc=enabled # Matches upstream
-Dffmpeg=disabled # Disabled by upstream and no major developments to spa/plugins/ffmpeg/ since May 2020
+ $(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
@@ -248,12 +243,18 @@ multilib_src_configure() {
-Dvolume=enabled # Matches upstream
-Dvulkan=disabled # Uses pre-compiled Vulkan compute shader to provide a CGI video source (dev thing; disabled by upstream)
$(meson_native_use_feature extra pw-cat)
- $(meson_feature udev)
+ -Dudev=enabled
-Dudevrulesdir="${EPREFIX}$(get_udevdir)/rules.d"
-Dsdl2=disabled # Controls SDL2 dependent code (currently only examples when -Dinstalled_tests=enabled which we never install)
+ -Dlibmysofa=disabled # libmysofa is unpackaged
$(meson_native_use_feature extra sndfile) # Enables libsndfile dependent code (currently only pw-cat)
-Dsession-managers="[]" # All available session managers are now their own projects, so there's nothing to build
+ # We still have <5.16 kernels packaged in Gentoo and 6.1 (LTS) only
+ # just became stable, with 5.15 being the previous LTS. Many people
+ # are still on it.
+ -Dpam-defaults-install=true
+
# Just for bell sounds in X11 right now.
$(meson_native_use_feature X x11)
$(meson_native_use_feature X x11-xfixes)
@@ -263,6 +264,10 @@ multilib_src_configure() {
meson_src_configure
}
+multilib_src_test() {
+ meson_src_test --timeout-multiplier 10
+}
+
multilib_src_install() {
# Our custom DOCS do not exist in multilib source directory
DOCS= meson_src_install
@@ -271,9 +276,6 @@ multilib_src_install() {
multilib_src_install_all() {
einstalldocs
- insinto /etc/security/limits.d
- doins ${limitsdfile}
-
if use pipewire-alsa; then
dodir /etc/alsa/conf.d
@@ -297,12 +299,18 @@ multilib_src_install_all() {
echo "bluez_monitor.enabled = true" > "${ED}"/etc/wireplumber/bluetooth.lua.d/89-gentoo-sound-server-enable-bluez-monitor.lua || die
fi
+ if use system-service; then
+ newtmpfiles - pipewire.conf <<-EOF || die
+ d /run/pipewire 0755 pipewire pipewire - -
+ EOF
+ fi
+
if ! use systemd; then
insinto /etc/xdg/autostart
newins "${FILESDIR}"/pipewire.desktop-r1 pipewire.desktop
exeinto /usr/bin
- newexe "${FILESDIR}"/gentoo-pipewire-launcher.in gentoo-pipewire-launcher
+ newexe "${FILESDIR}"/gentoo-pipewire-launcher.in-r1 gentoo-pipewire-launcher
# Disable pipewire-pulse if sound-server is disabled.
if ! use sound-server ; then
@@ -314,126 +322,153 @@ multilib_src_install_all() {
}
pkg_postrm() {
- use udev && udev_reload
+ udev_reload
+}
+
+pkg_preinst() {
+ HAD_SOUND_SERVER=0
+ HAD_SYSTEM_SERVICE=0
+
+ if has_version "media-video/pipewire[sound-server(-)]" ; then
+ HAD_SOUND_SERVER=1
+ fi
+
+ if has_version "media-video/pipewire[system-service(-)]" ; then
+ HAD_SYSTEM_SERVICE=1
+ fi
}
pkg_postinst() {
- use udev && udev_reload
+ udev_reload
- elog "It is recommended to raise RLIMIT_MEMLOCK to 256 for users"
- elog "using PipeWire. Do it either manually or add yourself"
- elog "to the 'audio' group:"
- elog
- elog " usermod -aG audio <youruser>"
- elog
+ use system-service && tmpfiles_process pipewire.conf
local ver
for ver in ${REPLACING_VERSIONS} ; do
- if ver_test ${ver} -le 0.3.53-r1 && ! use sound-server ; then
- ewarn "USE=sound-server is disabled! If you want PipeWire to provide"
- ewarn "your sound, please enable it. See the wiki at"
- ewarn "https://wiki.gentoo.org/wiki/PipeWire#Replacing_PulseAudio"
- ewarn "for more details."
+ 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
- break
+ if ! use jack-sdk ; then
+ elog
+ elog "JACK emulation is incomplete and not all programs will work. PipeWire's"
+ elog "alternative libraries have been installed to a non-default location."
+ elog "To use them, put pw-jack <application> before every JACK application."
+ elog "When using pw-jack, do not run jackd/jackdbus. However, a virtual/jack"
+ elog "provider is still needed to compile the JACK applications themselves."
+ elog
+ fi
+
+ if use systemd ; then
+ ewarn
+ ewarn "PipeWire daemon startup has been moved to a launcher script!"
+ ewarn "Make sure that ${EROOT}/etc/pipewire/pipewire.conf either does not exist or no"
+ ewarn "longer is set to start a session manager or PulseAudio compatibility daemon (all"
+ ewarn "lines similar to '{ path = /usr/bin/pipewire*' should be commented out)"
+ ewarn
+ ewarn "Those manually starting /usr/bin/pipewire via .xinitrc or similar _must_ from"
+ ewarn "now on start ${EROOT}/usr/bin/gentoo-pipewire-launcher instead! It is highly"
+ ewarn "advised that a D-Bus user session is set up before starting the script."
+ ewarn
+ fi
+
+ if use sound-server && ( has_version 'media-sound/pulseaudio[daemon]' || has_version 'media-sound/pulseaudio-daemon' ) ; then
+ elog
+ elog "This ebuild auto-enables PulseAudio replacement. Because of that, users"
+ elog "are recommended to edit pulseaudio client configuration files:"
+ elog "${EROOT}/etc/pulse/client.conf and ${EROOT}/etc/pulse/client.conf.d/enable-autospawn.conf"
+ elog "if it exists, and disable autospawning of the original daemon by setting:"
+ elog
+ elog " autospawn = no"
+ elog
+ elog "Please note that the semicolon (;) must _NOT_ be at the beginning of the line!"
+ elog
+ elog "Alternatively, if replacing PulseAudio daemon is not desired, edit"
+ elog "${EROOT}/usr/bin/gentoo-pipewire-launcher by commenting out the relevant"
+ elog "command:"
+ elog
+ elog "#${EROOT}/usr/bin/pipewire -c pipewire-pulse.conf &"
+ elog
+ fi
+
+ if has_version 'net-misc/ofono' ; then
+ ewarn "Native backend has become default. Please disable oFono via:"
+ if systemd_is_booted ; then
+ ewarn "systemctl disable ofono"
+ else
+ ewarn "rc-update delete ofono"
+ fi
+ fi
fi
done
- if ! use jack-sdk; then
- elog "JACK emulation is incomplete and not all programs will work. PipeWire's"
- elog "alternative libraries have been installed to a non-default location."
- elog "To use them, put pw-jack <application> before every JACK application."
- elog "When using pw-jack, do not run jackd/jackdbus. However, a virtual/jack"
- elog "provider is still needed to compile the JACK applications themselves."
- elog
- fi
-
- if use systemd; then
- elog "When switching from PulseAudio, you may need to disable PulseAudio:"
- elog
- elog " systemctl --user disable pulseaudio.service pulseaudio.socket"
- elog
- elog "To use PipeWire, the user units must be manually enabled"
- elog "by running this command as each user you use for desktop activities:"
- elog
- elog " systemctl --user enable pipewire.socket pipewire-pulse.socket"
- elog
- elog "A reboot is recommended to avoid interferences from still running"
- elog "PulseAudio daemon."
- elog
- elog "Both new users and those upgrading need to enable WirePlumber"
- elog "for relevant users:"
- elog
- elog " systemctl --user disable pipewire-media-session.service"
- elog " systemctl --user --force enable wireplumber.service"
- elog
- elog "Root user may replace --user with --global to change system default"
- elog "configuration for all of the above commands."
- else
- ewarn "PipeWire daemon startup has been moved to a launcher script!"
- ewarn "Make sure that ${EROOT}/etc/pipewire/pipewire.conf either does not exist or no"
- ewarn "longer is set to start a session manager or PulseAudio compatibility daemon (all"
- ewarn "lines similar to '{ path = /usr/bin/pipewire*' should be commented out)"
- ewarn
- ewarn "Those manually starting /usr/bin/pipewire via .xinitrc or similar _must_ from"
- ewarn "now on start ${EROOT}/usr/bin/gentoo-pipewire-launcher instead! It is highly"
- ewarn "advised that a D-Bus user session is set up before starting the script."
- ewarn
-
- if use sound-server && ( has_version 'media-sound/pulseaudio[daemon]' || has_version 'media-sound/pulseaudio-daemon' ) ; then
- elog "This ebuild auto-enables PulseAudio replacement. Because of that, users"
- elog "are recommended to edit pulseaudio client configuration files:"
- elog "${EROOT}/etc/pulse/client.conf and ${EROOT}/etc/pulse/client.conf.d/enable-autospawn.conf"
- elog "if it exists, and disable autospawning of the original daemon by setting:"
+ if [[ ${HAD_SOUND_SERVER} -eq 0 || -z ${REPLACING_VERSIONS} ]] ; then
+ # TODO: We could drop most of this if we set up systemd presets?
+ if use sound-server && use systemd ; then
elog
- elog " autospawn = no"
+ elog "When switching from PulseAudio, you may need to disable PulseAudio:"
elog
- elog "Please note that the semicolon (;) must _NOT_ be at the beginning of the line!"
+ elog " systemctl --user disable pulseaudio.service pulseaudio.socket"
elog
- elog "Alternatively, if replacing PulseAudio daemon is not desired, edit"
- elog "${EROOT}/usr/bin/gentoo-pipewire-launcher by commenting out the relevant"
- elog "command:"
+ elog "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 "#${EROOT}/usr/bin/pipewire -c pipewire-pulse.conf &"
+ 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
- elog "NOTE:"
- elog "Starting with PipeWire-0.3.30, this package is no longer installing its config"
- elog "into ${EROOT}/etc/pipewire by default. In case you need to change"
- elog "its config, please start by copying default config from ${EROOT}/usr/share/pipewire"
- elog "and just override the sections you want to change."
- fi
- elog
-
- elog "For latest tips and tricks, troubleshooting information and documentation"
- elog "in general, please refer to https://wiki.gentoo.org/wiki/PipeWire"
- elog
- optfeature_header "The following can be installed for optional runtime features:"
- optfeature "restricted realtime capabilities via D-Bus" sys-auth/rtkit
-
- if use sound-server && ! use pipewire-alsa; then
- optfeature "ALSA plugin to use PulseAudio interface for output" "media-plugins/alsa-plugins[pulseaudio]"
- fi
-
- if has_version 'net-misc/ofono' ; then
- ewarn "Native backend has become default. Please disable oFono via:"
- if systemd_is_booted ; then
- ewarn "systemctl disable ofono"
- else
- ewarn "rc-update delete ofono"
+ if ! use sound-server ; then
+ ewarn
+ ewarn "USE=sound-server is disabled! If you want PipeWire to provide"
+ ewarn "your sound, please enable it. See the wiki at"
+ ewarn "https://wiki.gentoo.org/wiki/PipeWire#Replacing_PulseAudio"
+ ewarn "for more details."
+ ewarn
fi
- ewarn
fi
- if use system-service; then
+ if use system-service && [[ ${HAD_SYSTEM_SERVICE} -eq 0 || -z ${REPLACING_VERSIONS} ]] ; then
ewarn
- ewarn "WARNING: you have enabled the system-service USE flag, which installs"
+ ewarn "You have enabled the system-service USE flag, which installs"
ewarn "the system-wide systemd units that enable PipeWire to run as a system"
ewarn "service. This is more than likely NOT what you want. You are strongly"
ewarn "advised not to enable this mode and instead stick with systemd user"
- ewarn "units. The default configuration files will likely not work out of"
+ ewarn "units. The default configuration files will likely not work out of the"
ewarn "box, and you are on your own with configuration."
ewarn
fi
+
+ elog "For latest tips and tricks, troubleshooting information, and documentation"
+ elog "in general, please refer to https://wiki.gentoo.org/wiki/PipeWire"
+ elog
+
+ optfeature_header "The following can be installed for optional runtime features:"
+ optfeature "restricted realtime capabilities via D-Bus" sys-auth/rtkit
+
+ if use sound-server && ! use pipewire-alsa; then
+ optfeature "ALSA plugin to use PulseAudio interface for output" "media-plugins/alsa-plugins[pulseaudio]"
+ fi
}
diff --git a/media-video/pipewire/pipewire-9999.ebuild b/media-video/pipewire/pipewire-9999.ebuild
index 7e07410dfab4..f8791a4a2601 100644
--- a/media-video/pipewire/pipewire-9999.ebuild
+++ b/media-video/pipewire/pipewire-9999.ebuild
@@ -70,6 +70,7 @@ BDEPEND="
virtual/pkgconfig
${PYTHON_DEPS}
$(python_gen_any_dep 'dev-python/docutils[${PYTHON_USEDEP}]')
+ dbus? ( dev-util/gdbus-codegen )
doc? (
app-doc/doxygen
media-gfx/graphviz
@@ -79,6 +80,7 @@ BDEPEND="
# and not really worth it, bug #877769.
RDEPEND="
acct-group/audio
+ acct-group/pipewire
media-libs/alsa-lib
sys-libs/ncurses:=[unicode(+)]
virtual/libintl[${MULTILIB_USEDEP}]
@@ -95,21 +97,15 @@ RDEPEND="
)
dbus? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
echo-cancel? ( media-libs/webrtc-audio-processing:0 )
- extra? (
- >=media-libs/libsndfile-1.0.20
- )
+ extra? ( >=media-libs/libsndfile-1.0.20 )
ffmpeg? ( media-video/ffmpeg:= )
- flatpak? (
- dev-libs/glib
- )
+ flatpak? ( dev-libs/glib )
gstreamer? (
>=dev-libs/glib-2.32.0:2
>=media-libs/gstreamer-1.10.0:1.0
media-libs/gst-plugins-base:1.0
)
- gsettings? (
- >=dev-libs/glib-2.26.0:2
- )
+ gsettings? ( >=dev-libs/glib-2.26.0:2 )
jack-client? ( >=media-sound/jack2-1.9.10:2[dbus] )
jack-sdk? (
!media-sound/jack-audio-connection-kit
@@ -117,20 +113,12 @@ RDEPEND="
)
lv2? ( media-libs/lilv )
modemmanager? ( >=net-misc/modemmanager-1.10.0 )
- pipewire-alsa? (
- >=media-libs/alsa-lib-1.1.7[${MULTILIB_USEDEP}]
- )
- sound-server? (
- !media-sound/pulseaudio[daemon(+)]
- !media-sound/pulseaudio-daemon
- )
+ pipewire-alsa? ( >=media-libs/alsa-lib-1.1.7[${MULTILIB_USEDEP}] )
+ sound-server? ( !media-sound/pulseaudio-daemon )
readline? ( sys-libs/readline:= )
ssl? ( dev-libs/openssl:= )
systemd? ( sys-apps/systemd )
- system-service? (
- acct-user/pipewire
- acct-group/pipewire
- )
+ system-service? ( acct-user/pipewire )
v4l? ( media-libs/libv4l )
X? (
media-libs/libcanberra
@@ -161,10 +149,6 @@ PATCHES=(
"${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch
)
-# limitsdfile related code taken from =sys-auth/realtime-base-0.1
-# with changes as necessary.
-limitsdfile=40-${PN}.conf
-
python_check_deps() {
python_has_version "dev-python/docutils[${PYTHON_USEDEP}]"
}
@@ -174,21 +158,6 @@ src_prepare() {
# Used for upstream backports
[[ -d "${FILESDIR}"/${PV} ]] && eapply "${FILESDIR}"/${PV}
-
- einfo "Generating ${limitsdfile}"
- cat > ${limitsdfile} <<- EOF || die
- # Start of ${limitsdfile} from ${P}
-
- @audio - memlock 256
-
- $(use system-service && {
- echo @pipewire - rtprio 95
- echo @pipewire - nice -19
- echo @pipewire - memlock 4194304
- })
-
- # End of ${limitsdfile} from ${P}
- EOF
}
multilib_src_configure() {
@@ -218,7 +187,7 @@ multilib_src_configure() {
$(meson_feature pipewire-alsa) # Allows integrating ALSA apps into PW graph
-Dspa-plugins=enabled
-Dalsa=enabled # Allows using kernel ALSA for sound I/O (NOTE: media-session is gone so IUSE=alsa/spa_alsa/alsa-backend might be possible)
- -Dcompress-offload=disabled # Matches upstream, tinycompress unpackaged too
+ -Dcompress-offload=disabled # TODO: tinycompress unpackaged
-Daudiomixer=enabled # Matches upstream
-Daudioconvert=enabled # Matches upstream
$(meson_native_use_feature bluetooth bluez5)
@@ -231,6 +200,7 @@ multilib_src_configure() {
$(meson_native_use_feature bluetooth bluez5-codec-aac)
$(meson_native_use_feature bluetooth bluez5-codec-aptx)
$(meson_native_use_feature bluetooth bluez5-codec-ldac)
+ $(meson_native_use_feature bluetooth opus)
$(meson_native_use_feature bluetooth bluez5-codec-opus)
$(meson_native_use_feature bluetooth libusb) # At least for now only used by bluez5 native (quirk detection of adapters)
$(meson_native_use_feature echo-cancel echo-cancel-webrtc) #807889
@@ -263,9 +233,15 @@ multilib_src_configure() {
-Dudev=enabled
-Dudevrulesdir="${EPREFIX}$(get_udevdir)/rules.d"
-Dsdl2=disabled # Controls SDL2 dependent code (currently only examples when -Dinstalled_tests=enabled which we never install)
+ -Dlibmysofa=disabled # libmysofa is unpackaged
$(meson_native_use_feature extra sndfile) # Enables libsndfile dependent code (currently only pw-cat)
-Dsession-managers="[]" # All available session managers are now their own projects, so there's nothing to build
+ # We still have <5.16 kernels packaged in Gentoo and 6.1 (LTS) only
+ # just became stable, with 5.15 being the previous LTS. Many people
+ # are still on it.
+ -Dpam-defaults-install=true
+
# Just for bell sounds in X11 right now.
$(meson_native_use_feature X x11)
$(meson_native_use_feature X x11-xfixes)
@@ -275,6 +251,10 @@ multilib_src_configure() {
meson_src_configure
}
+multilib_src_test() {
+ meson_src_test --timeout-multiplier 10
+}
+
multilib_src_install() {
# Our custom DOCS do not exist in multilib source directory
DOCS= meson_src_install
@@ -283,9 +263,6 @@ multilib_src_install() {
multilib_src_install_all() {
einstalldocs
- insinto /etc/security/limits.d
- doins ${limitsdfile}
-
if use pipewire-alsa; then
dodir /etc/alsa/conf.d
@@ -320,7 +297,7 @@ multilib_src_install_all() {
newins "${FILESDIR}"/pipewire.desktop-r1 pipewire.desktop
exeinto /usr/bin
- newexe "${FILESDIR}"/gentoo-pipewire-launcher.in gentoo-pipewire-launcher
+ newexe "${FILESDIR}"/gentoo-pipewire-launcher.in-r1 gentoo-pipewire-launcher
# Disable pipewire-pulse if sound-server is disabled.
if ! use sound-server ; then
@@ -335,124 +312,150 @@ pkg_postrm() {
udev_reload
}
+pkg_preinst() {
+ HAD_SOUND_SERVER=0
+ HAD_SYSTEM_SERVICE=0
+
+ if has_version "media-video/pipewire[sound-server(-)]" ; then
+ HAD_SOUND_SERVER=1
+ fi
+
+ if has_version "media-video/pipewire[system-service(-)]" ; then
+ HAD_SYSTEM_SERVICE=1
+ fi
+}
+
pkg_postinst() {
udev_reload
- use system-service && tmpfiles_process pipewire.conf
- elog "It is recommended to raise RLIMIT_MEMLOCK to 256 for users"
- elog "using PipeWire. Do it either manually or add yourself"
- elog "to the 'audio' group:"
- elog
- elog " usermod -aG audio <youruser>"
- elog
+ use system-service && tmpfiles_process pipewire.conf
local ver
for ver in ${REPLACING_VERSIONS} ; do
- if ver_test ${ver} -le 0.3.53-r1 && ! use sound-server ; then
- ewarn "USE=sound-server is disabled! If you want PipeWire to provide"
- ewarn "your sound, please enable it. See the wiki at"
- ewarn "https://wiki.gentoo.org/wiki/PipeWire#Replacing_PulseAudio"
- ewarn "for more details."
+ 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
- break
+ if ! use jack-sdk ; then
+ elog
+ elog "JACK emulation is incomplete and not all programs will work. PipeWire's"
+ elog "alternative libraries have been installed to a non-default location."
+ elog "To use them, put pw-jack <application> before every JACK application."
+ elog "When using pw-jack, do not run jackd/jackdbus. However, a virtual/jack"
+ elog "provider is still needed to compile the JACK applications themselves."
+ elog
+ fi
+
+ if use systemd ; then
+ ewarn
+ ewarn "PipeWire daemon startup has been moved to a launcher script!"
+ ewarn "Make sure that ${EROOT}/etc/pipewire/pipewire.conf either does not exist or no"
+ ewarn "longer is set to start a session manager or PulseAudio compatibility daemon (all"
+ ewarn "lines similar to '{ path = /usr/bin/pipewire*' should be commented out)"
+ ewarn
+ ewarn "Those manually starting /usr/bin/pipewire via .xinitrc or similar _must_ from"
+ ewarn "now on start ${EROOT}/usr/bin/gentoo-pipewire-launcher instead! It is highly"
+ ewarn "advised that a D-Bus user session is set up before starting the script."
+ ewarn
+ fi
+
+ if use sound-server && ( has_version 'media-sound/pulseaudio[daemon]' || has_version 'media-sound/pulseaudio-daemon' ) ; then
+ elog
+ elog "This ebuild auto-enables PulseAudio replacement. Because of that, users"
+ elog "are recommended to edit pulseaudio client configuration files:"
+ elog "${EROOT}/etc/pulse/client.conf and ${EROOT}/etc/pulse/client.conf.d/enable-autospawn.conf"
+ elog "if it exists, and disable autospawning of the original daemon by setting:"
+ elog
+ elog " autospawn = no"
+ elog
+ elog "Please note that the semicolon (;) must _NOT_ be at the beginning of the line!"
+ elog
+ elog "Alternatively, if replacing PulseAudio daemon is not desired, edit"
+ elog "${EROOT}/usr/bin/gentoo-pipewire-launcher by commenting out the relevant"
+ elog "command:"
+ elog
+ elog "#${EROOT}/usr/bin/pipewire -c pipewire-pulse.conf &"
+ elog
+ fi
+
+ if has_version 'net-misc/ofono' ; then
+ ewarn "Native backend has become default. Please disable oFono via:"
+ if systemd_is_booted ; then
+ ewarn "systemctl disable ofono"
+ else
+ ewarn "rc-update delete ofono"
+ fi
+ fi
fi
done
- if ! use jack-sdk; then
- elog "JACK emulation is incomplete and not all programs will work. PipeWire's"
- elog "alternative libraries have been installed to a non-default location."
- elog "To use them, put pw-jack <application> before every JACK application."
- elog "When using pw-jack, do not run jackd/jackdbus. However, a virtual/jack"
- elog "provider is still needed to compile the JACK applications themselves."
- elog
- fi
-
- if use systemd; then
- elog "When switching from PulseAudio, you may need to disable PulseAudio:"
- elog
- elog " systemctl --user disable pulseaudio.service pulseaudio.socket"
- elog
- elog "To use PipeWire, the user units must be manually enabled"
- elog "by running this command as each user you use for desktop activities:"
- elog
- elog " systemctl --user enable pipewire.socket pipewire-pulse.socket"
- elog
- elog "A reboot is recommended to avoid interferences from still running"
- elog "PulseAudio daemon."
- elog
- elog "Both new users and those upgrading need to enable WirePlumber"
- elog "for relevant users:"
- elog
- elog " systemctl --user disable pipewire-media-session.service"
- elog " systemctl --user --force enable wireplumber.service"
- elog
- elog "Root user may replace --user with --global to change system default"
- elog "configuration for all of the above commands."
- else
- ewarn "PipeWire daemon startup has been moved to a launcher script!"
- ewarn "Make sure that ${EROOT}/etc/pipewire/pipewire.conf either does not exist or no"
- ewarn "longer is set to start a session manager or PulseAudio compatibility daemon (all"
- ewarn "lines similar to '{ path = /usr/bin/pipewire*' should be commented out)"
- ewarn
- ewarn "Those manually starting /usr/bin/pipewire via .xinitrc or similar _must_ from"
- ewarn "now on start ${EROOT}/usr/bin/gentoo-pipewire-launcher instead! It is highly"
- ewarn "advised that a D-Bus user session is set up before starting the script."
- ewarn
-
- if use sound-server && ( has_version 'media-sound/pulseaudio[daemon]' || has_version 'media-sound/pulseaudio-daemon' ) ; then
- elog "This ebuild auto-enables PulseAudio replacement. Because of that, users"
- elog "are recommended to edit pulseaudio client configuration files:"
- elog "${EROOT}/etc/pulse/client.conf and ${EROOT}/etc/pulse/client.conf.d/enable-autospawn.conf"
- elog "if it exists, and disable autospawning of the original daemon by setting:"
+ if [[ ${HAD_SOUND_SERVER} -eq 0 || -z ${REPLACING_VERSIONS} ]] ; then
+ # TODO: We could drop most of this if we set up systemd presets?
+ if use sound-server && use systemd ; then
+ elog
+ elog "When switching from PulseAudio, you may need to disable PulseAudio:"
+ elog
+ elog " systemctl --user disable pulseaudio.service pulseaudio.socket"
elog
- elog " autospawn = no"
+ elog "To use PipeWire, the user units must be manually enabled"
+ elog "by running this command as each user you use for desktop activities:"
elog
- elog "Please note that the semicolon (;) must _NOT_ be at the beginning of the line!"
+ elog " systemctl --user enable pipewire.socket pipewire-pulse.socket"
elog
- elog "Alternatively, if replacing PulseAudio daemon is not desired, edit"
- elog "${EROOT}/usr/bin/gentoo-pipewire-launcher by commenting out the relevant"
- elog "command:"
+ elog "A reboot is recommended to avoid interferences from still running"
+ elog "PulseAudio daemon."
elog
- elog "#${EROOT}/usr/bin/pipewire -c pipewire-pulse.conf &"
+ elog "Both new users and those upgrading need to enable WirePlumber"
+ elog "for relevant users:"
+ elog
+ elog " systemctl --user disable pipewire-media-session.service"
+ elog " systemctl --user --force enable wireplumber.service"
+ elog
+ elog "Root user may replace --user with --global to change system default"
+ elog "configuration for all of the above commands."
elog
fi
- elog "NOTE:"
- elog "Starting with PipeWire-0.3.30, this package is no longer installing its config"
- elog "into ${EROOT}/etc/pipewire by default. In case you need to change"
- elog "its config, please start by copying default config from ${EROOT}/usr/share/pipewire"
- elog "and just override the sections you want to change."
- fi
- elog
-
- elog "For latest tips and tricks, troubleshooting information and documentation"
- elog "in general, please refer to https://wiki.gentoo.org/wiki/PipeWire"
- elog
-
- optfeature_header "The following can be installed for optional runtime features:"
- optfeature "restricted realtime capabilities via D-Bus" sys-auth/rtkit
-
- if use sound-server && ! use pipewire-alsa; then
- optfeature "ALSA plugin to use PulseAudio interface for output" "media-plugins/alsa-plugins[pulseaudio]"
- fi
- if has_version 'net-misc/ofono' ; then
- ewarn "Native backend has become default. Please disable oFono via:"
- if systemd_is_booted ; then
- ewarn "systemctl disable ofono"
- else
- ewarn "rc-update delete ofono"
+ if ! use sound-server ; then
+ ewarn
+ ewarn "USE=sound-server is disabled! If you want PipeWire to provide"
+ ewarn "your sound, please enable it. See the wiki at"
+ ewarn "https://wiki.gentoo.org/wiki/PipeWire#Replacing_PulseAudio"
+ ewarn "for more details."
+ ewarn
fi
- ewarn
fi
- if use system-service; then
+ if use system-service && [[ ${HAD_SYSTEM_SERVICE} -eq 0 || -z ${REPLACING_VERSIONS} ]] ; then
ewarn
- ewarn "WARNING: you have enabled the system-service USE flag, which installs"
+ ewarn "You have enabled the system-service USE flag, which installs"
ewarn "the system-wide systemd units that enable PipeWire to run as a system"
ewarn "service. This is more than likely NOT what you want. You are strongly"
ewarn "advised not to enable this mode and instead stick with systemd user"
- ewarn "units. The default configuration files will likely not work out of"
+ ewarn "units. The default configuration files will likely not work out of the"
ewarn "box, and you are on your own with configuration."
ewarn
fi
+
+ elog "For latest tips and tricks, troubleshooting information, and documentation"
+ elog "in general, please refer to https://wiki.gentoo.org/wiki/PipeWire"
+ elog
+
+ optfeature_header "The following can be installed for optional runtime features:"
+ optfeature "restricted realtime capabilities via D-Bus" sys-auth/rtkit
+
+ if use sound-server && ! use pipewire-alsa; then
+ optfeature "ALSA plugin to use PulseAudio interface for output" "media-plugins/alsa-plugins[pulseaudio]"
+ fi
}
diff --git a/media-video/pitivi/Manifest b/media-video/pitivi/Manifest
index 5bba247d761b..51b2a1bfe3c9 100644
--- a/media-video/pitivi/Manifest
+++ b/media-video/pitivi/Manifest
@@ -1 +1 @@
-DIST pitivi-2022.06.tar.xz 11352412 BLAKE2B f7d14f9bff136a8b50c0ce82e66fad92ba7df429d8cf588c526ae04f673617d882a0cc024c5a21c97471d2b31cb0001cefdeb8e32c9f62e1c6600d9500d1e428 SHA512 649c8e61d9545cbf35a0a0c8f648490c14c8bfb6c6637794887c03bffd6998c63cb2cc22102cd2f7a59974f79488a13f29beceadab29ddd1c1c01abff33a85fa
+DIST pitivi-2023.03.tar.xz 11347576 BLAKE2B ff9ff391d2739a4b1617ab010defd63b39f575901297fae427a797cfcffefb58c33a86642fa4d364d681805697d1c31b91fbafa1e810ec9a65030d7f7575f274 SHA512 505c011bb375fcce250a46c958ef06d050f83e73fa41a66f8ba3be6a41332a4a05838b8245233f481146edae9af924b618901b7ed0600f642ebe550c151f52b0
diff --git a/media-video/pitivi/pitivi-2022.06.ebuild b/media-video/pitivi/pitivi-2023.03-r1.ebuild
index 7dacc21dc1ef..8b3d98b8e913 100644
--- a/media-video/pitivi/pitivi-2022.06.ebuild
+++ b/media-video/pitivi/pitivi-2023.03-r1.ebuild
@@ -43,6 +43,7 @@ RDEPEND="${COMMON_DEPEND}
dev-python/matplotlib[${PYTHON_USEDEP}]
dev-python/numpy[${PYTHON_USEDEP}]
>=dev-python/pygobject-3.8:3[${PYTHON_USEDEP}]
+ >=dev-python/scipy-1.9.3[${PYTHON_USEDEP}]
')
gnome-base/librsvg:=
@@ -65,7 +66,6 @@ BDEPEND="
$(python_gen_cond_dep '
dev-python/setuptools[${PYTHON_USEDEP}]
')
- >=dev-util/intltool-0.35.5
dev-util/itstool
sys-devel/gettext
virtual/pkgconfig
diff --git a/media-video/qmplay2/Manifest b/media-video/qmplay2/Manifest
index 8088d0a7b6c3..6e61c851eee9 100644
--- a/media-video/qmplay2/Manifest
+++ b/media-video/qmplay2/Manifest
@@ -1,2 +1,2 @@
-DIST QMPlay2-src-22.08.21.tar.xz 1618824 BLAKE2B ac980c4ad018749d4ee5dcd2dc580c96cccb82a73ff4fd52c65beb1d7131e294d2af65814c8966ffbe2a04eb489f9b9ba23b2764b83aa3f3d57546125dde4ceb SHA512 a6abc71bf87a8bcb2c2c0c63889f75de4e2de4375de0a528cb6950d2fb1ac6e767386d13a0e3f26b59cfccb88b4db4a8c26cbf57299da2031239a73e4971a4de
DIST QMPlay2-src-22.10.23.tar.xz 1414804 BLAKE2B c0db1187538be8ab0806abd41fbfdae5a71dda450505af1956989a3ccc10fa52997b8652f280cd66837d12a84a7a058783b65df3d4bd35665c92f1262cd8d004 SHA512 80c9408a9085084857b5b433f009bf62784cf73ceb90218ec09132be227aae97136095811ffa1211375dcbfc1f51cbefaa3690c56fc8df51d9b1cf022ce0709f
+DIST QMPlay2-src-23.02.05.tar.xz 1428992 BLAKE2B 7296ed089306e50e1051c33c23dae30f14cbb166b9d9ea8c184e8aa027a261a658e1d7770c7d574784a5cde4890c66e2104927f4473f484562378c956bea4b3f SHA512 d2e998a2df08c98b7e0232de693ee17b5c703793e2b1edadde300ca39998f40f7ad58b5850ee1f8cddf1dd9489c7f96e664db7e9deba01a612d97707aad849c0
diff --git a/media-video/qmplay2/files/qmplay2-23.02.05-fix-libva-glx.patch b/media-video/qmplay2/files/qmplay2-23.02.05-fix-libva-glx.patch
new file mode 100644
index 000000000000..e47aacf22a5f
--- /dev/null
+++ b/media-video/qmplay2/files/qmplay2-23.02.05-fix-libva-glx.patch
@@ -0,0 +1,13 @@
+https://bugs.gentoo.org/905453
+
+--- a/src/modules/FFmpeg/CMakeLists.txt
++++ b/src/modules/FFmpeg/CMakeLists.txt
+@@ -67,7 +67,7 @@ if(USE_FFMPEG_VAAPI OR USE_FFMPEG_VDPAU OR USE_FFMPEG_DXVA2 OR USE_FFMPEG_D3D11V
+ list(APPEND FFmpeg_HDR VAAPIVulkan.hpp)
+ list(APPEND FFmpeg_SRC VAAPIVulkan.cpp)
+ endif()
+- pkg_check_modules(LBVA REQUIRED libva libva-glx libva-drm egl)
++ pkg_check_modules(LBVA REQUIRED libva libva-drm egl)
+ include_directories(${LBVA_INCLUDE_DIRS})
+ link_directories(${LBVA_LIBRARY_DIRS})
+ list(APPEND FFmpeg_LIBS ${LBVA_LIBRARIES})
diff --git a/media-video/qmplay2/metadata.xml b/media-video/qmplay2/metadata.xml
index fc1a5ebde4be..061f7e97eba9 100644
--- a/media-video/qmplay2/metadata.xml
+++ b/media-video/qmplay2/metadata.xml
@@ -23,6 +23,5 @@
<flag name="shaders">Compile Vulkan shaders using <pkg>media-libs/shaderc</pkg></flag>
<flag name="videofilters">Build with VideoFilters module</flag>
<flag name="visualizations">Build with Visualizations module</flag>
- <flag name="vulkan">Build with Vulkan support</flag>
</use>
</pkgmetadata>
diff --git a/media-video/qmplay2/qmplay2-22.08.21.ebuild b/media-video/qmplay2/qmplay2-23.02.05.ebuild
index dcf4fed040ad..04d454c891d3 100644
--- a/media-video/qmplay2/qmplay2-22.08.21.ebuild
+++ b/media-video/qmplay2/qmplay2-23.02.05.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -53,7 +53,7 @@ RDEPEND="
taglib? ( media-libs/taglib )
vaapi? (
>=media-video/ffmpeg-4.1.3[vaapi]
- media-libs/libva
+ media-libs/libva[X]
)
vdpau? ( media-video/ffmpeg[vdpau] )
videofilters? ( dev-qt/qtconcurrent:5 )
@@ -66,6 +66,10 @@ RDEPEND="
DEPEND="${RDEPEND}"
BDEPEND="dev-qt/linguist-tools:5"
+PATCHES=(
+ "${FILESDIR}/${PN}-23.02.05-fix-libva-glx.patch"
+)
+
src_prepare() {
# disable compress man pages
sed -r \
diff --git a/media-video/rav1e/Manifest b/media-video/rav1e/Manifest
index 444ea3ee4ceb..357c4ed46d24 100644
--- a/media-video/rav1e/Manifest
+++ b/media-video/rav1e/Manifest
@@ -1,172 +1,444 @@
DIST addr2line-0.17.0.crate 32260 BLAKE2B 23c3715820a04260460a41695d535da3565f76519b7313d0ed684352b339de2ea668c44fe8ca58fc1a5b9f84cc5e9d04d889440abb5985bdc04b267dbdad9d9c SHA512 ef3bbd7c6d1dfdd0b47e3be1fb4c8b15ed61a769bed7e80dce80461a1ee13ef21c75e62e9a66328504f862341f1e808abec5790ac79784e18655afcc16206b95
+DIST addr2line-0.19.0.crate 33210 BLAKE2B a6b393dcddfa0f858297efb6b261d3a23f118be45a3211ee15f6c58808f241dbcf5282f4a86be579360513f23ac4035819e923f2587b7499110af42e9ac3ab88 SHA512 18da72e412bb89028e2ccb838192330535e45300f6fd8edc7d1d64397792a3db12418aa24a3312730c5414e2a1b1d65e6b9d5691ba234c9142b5d885523a5e94
DIST adler-1.0.2.crate 12778 BLAKE2B a1dc17786adae945ac09d3525e609ed944e6465690787bbb831a1b9d53793cba1989793d0a5606d5d23ee20d36457923d451b1b3530c9ec7072a487aa3e55bbd SHA512 7ab190d31890fc05b0b55d8e2c6527a505e06793d5496be0b3831e0513412f9ba97f8148f6f68ed0770fa9cd980a5092d885e058becf1d5506b7c74b82674aa1
DIST adler32-1.2.0.crate 6411 BLAKE2B 51d44ccfd774158687b8244e83377e40ff896364e3d41e9015665131cc2a176d4ca0ab5a84df027dec0869ee735ee36f5687a06c1d2341de666070cdbab89483 SHA512 8ed72612fb78e213fc92963fdae0508ef26988656c939e6c9cddccbe2658d4a956a8ae934d9658262a8b2687dc446b3f1ee7614128b440487c81e606526dfda3
DIST aho-corasick-0.7.18.crate 112923 BLAKE2B 4f6947d1aacf89ccfab0592cdc55fa61ef09cea38231d3f758765dbce328a810c0b588be4ba96e81d64955379ee005722d22a7aec39caea6e72342245d7ca34f SHA512 7a23b16231a90d23ee60ad4c81bc225410599a4560d33d3a203138fc540c39cf1000100fed3aed40dcc371c3635656a3792545dca5dd1aefbde00d8774eebd00
+DIST aho-corasick-0.7.20.crate 111440 BLAKE2B 3f5d54fea2793ce1c2c4d5b3049b910f45a5721e7538cb2557df63dc3069ab3f6b66aceb5e9a48f21c43ae29778fd045428ea103b2a6de81659e605e30e64ca6 SHA512 ad31f3d1b3fe41e593d4ca7e721bbad62936f2e6a17fd1e0997353edb6fc906d1bef2b79f0ac7c7676abe637bbabb23ff22059947be379a2441011f8178983c5
+DIST aho-corasick-1.0.1.crate 167320 BLAKE2B f148004140d4f705e93f448020b97c434b93fea6ae34fd74b1f394b076c2727a87f5ec54542a0f52822d716c10ada3c68ae8f50a46c455fc6e828b10b5650ecc SHA512 7cea5b2305b90aebc54f78446cfc91f275b1be8489d2d80c3baa9ff8b913f9b2296adbdf4aefb0d8fce8f57812963fb9450b200d133a9d61e100cef324068070
+DIST anes-0.1.6.crate 23857 BLAKE2B 9ef464a964709b408c7d7846b9b1e54e52d6ae8f21f22ccfe509ef7197d4694f439084dbdb01fdf88829d181965ea9d1452253789a46fdf6d0520e3413c50d61 SHA512 f9dfaaca9ca327881ec30efaf24e208daae668b1e9d6963c8b0ca9f9fd13be777c793076a87980429f0dfa4db28ef5331ce6652a76da4d5a87485b23fc2fde29
DIST ansi_term-0.12.1.crate 24838 BLAKE2B f636772c34e2d68cda7b8d3b2b86abda074585a62bd2654812ce92384244655a9197fa66e6939e19a674c0148ca605313d83de262bb18c2339a8a4eb4438a791 SHA512 b840e28b3e7700689a69a39659b1e066560078dd4a58326b91a028915819e7af883399ee53e920db68fd974c58d35bb1ddf8d427af5937d5f696f57c4376b671
DIST anyhow-1.0.52.crate 44224 BLAKE2B 79d68d3390d27e0e27f9db784ad10b5d7845dec7949fbc722f944ef3988419acd72c509b44a4544e99bea5e57407da5b1ce40a96277d307fc408c958ea915c31 SHA512 b87e0b304daff85894c34060b97379d8e3d9be03078275313035c7142c76b3e59922b25924ac98a0b1b70fc98746eb174ca4b7ef33a26e115f294c1f1200aa6a
+DIST anyhow-1.0.68.crate 43882 BLAKE2B 0ccd8fcb746344dfa85674fa7c95aa648aed8d40134b8c1c1c0852f6c7d22f5622ca1704ec65c254fc20946b1733299e1517364d74f726952d5a951ef89a2fe5 SHA512 b8cfc132ebeac823edf18cba7e335d1939fcbb095ed4ea859f4dc4cde5b1ff35fd68f0743577c69085f74f019768a3359936bf6dc1b2aceb7e2b28ace7f74a0f
+DIST anyhow-1.0.71.crate 43808 BLAKE2B 1ec6b440758e26b2328738bab7c6b1fe8670959793cc24f61cecd0d8b0ebe60b9855ee1cdac9b5f5a5b238daf796eae5b7c82b903e7c822a5625d95130f8b61f SHA512 401b1c5d04fa0581f303395fcb3af5e7684ead367e2a173b4d90db9c04ac20010c5330a686f3ba91a541e1526a7185091b7dbfddce5134b5a74cc749b0338da5
DIST aom-sys-0.3.0.crate 3064 BLAKE2B 210de17df81b78af866336bc4f3c00803d0c62a503809b288883fcf8bcfab6262b2bec35ab9fc8d8d4ec31d38665ca74069bf5f866daa8a2ab3f04c16ecc91de SHA512 9bb02069b5951dce34a445427f3c49c9995464213104786f0a800f7cb6629e5f6cfb5c4d736dce7963d1bdddee2cc8caf3cfa9df801d5a9cea93397aaf38b53f
+DIST aom-sys-0.3.2.crate 3043 BLAKE2B edef684249c8e0fb6abfdc656c65e64d311aea2cd1b591044837be4061d89548533c0a1b88fd9349733a38ac97e29d760db27440632cab709ddfb6b455fd99d4 SHA512 0d08bd789cc52d7981dc1d01c98d5d075502bc29e23a851e51f609314d9ebde8d3cf13a32b7fc57290b83152e18b5b39ba946fc1f8a935cbaa8a6b9ec0998b0a
DIST arbitrary-0.4.7.crate 26282 BLAKE2B 1a304154926c9f24a80eced744f13379814377f067f8340672c2588edad22b26088b359b304c1c22f068bf6c7a1da09715caefa28eab046fe79085e67ecb259e SHA512 17968466d1403903a8cb5ec7f8af403e2ecbbbd8beed3df41035c34af1c19bc9d57596e1751f3aaf4c6021fe8fc7e23a7f0c1bbd1a5942d94f9dcafd0b19c1a6
DIST arg_enum_proc_macro-0.3.2.crate 5367 BLAKE2B 18a1f8525cde149f459512913f962a2a4f76d1ca0c7733f0569d9a6293f03ff5624e4b4fcd89a6cca4e355dbad258f4568b32a75113b071a4d4cc43c3a96cd40 SHA512 c9aacb2d28c40731328f4aa2d8136745813ee6a373aef91e0c5844bf2e6a53aa90942e2c2662d3420545f86c6ad52aa9ee25206bb0e499926629ca369512f2eb
DIST arrayvec-0.7.2.crate 29341 BLAKE2B eae9d3f494033ea2d837a6024cb24bd4574683ed1e76ac6be7f7c6b0d8ee65c0eaf03dbae7fea04cf0921299f69234ad91e1cf41342de86f554f74e287dd3ba1 SHA512 80cc6e55b6032f4882362813de970d3d99e600ada774b28ac6a24c9c8e018fda3b35c5750ac3a09fca6fb9496e2e3fe608b58d21b1b84685ebd170f567a0ecbc
DIST assert_cmd-2.0.2.crate 29433 BLAKE2B d9f2a97bd81d1423afb6bddbc5fcf6e2cb334502c009368ed623015131d2795d705147e2ad347541a276712b45aa9b95ccb333c52b26aa85dbf58707160f68f5 SHA512 346268f1ff00416eb04ce9307bc6261a05edac4a9c10745f428c6a7c35edc7fa8f6b6c8f7fe66befe5b508e60c2763b8bc8acfcefca4b24a9d3e3e1ea85a9935
+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 autocfg-1.1.0.crate 13272 BLAKE2B 7724055c337d562103f191f4e36cab469e578f0c51cc24d33624dea155d108a07578703766341fd6a4cc1ef52acda406e7dba1650d59115f18261281e5b40203 SHA512 df972c09abbdc0b6cb6bb55b1e29c7fed706ece38a62613d9e275bac46a19574a7f96f0152cccb0239efea04ee90083a146b58b15307696c4c81878cd12de28f
DIST av-metrics-0.7.2.crate 22690 BLAKE2B 938a6488d9a50c962540cb0dd7488bb0a1fba5db68a2f9ec68338961c5d31c2448f5b9536463b7e287caf3adc901d9df11bb0af8b64e7c21ae440e0df6f17983 SHA512 b98571f685a0a3eadf28b2e889964b0a7ac2853405e179e7af349d416506beb8fe18b39cb9cd452a2c0167054d2203d2fc7914e6eefab164b5973f67a0ffcd61
+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 backtrace-0.3.63.crate 74280 BLAKE2B 825fcabaddb436d33e179630301657d212c9364b323bfe72e8ed8edda5c0c34abe36142b0bc34501d1885d40d55ab53c0f8bc6387e35ef86f14a9d010c426bf5 SHA512 25cf411ee21c796f39a45e6320374b38f62580ca853e560b3a8ec596f0ca6d60b94539662b1a8a3a3046f481b8b84a5b84983e1d2624aea297090382eb99b25a
+DIST backtrace-0.3.67.crate 78564 BLAKE2B 8c77d3d182c7e1ec3840fd6c7f4214322e473ba79a71b2d11d98696f8ae4440350f3c84a891b2ec79fffde107fb2ebb99fffca202d6ed235d3abd68215a1089b SHA512 8603a3b63f4f08be315176908134243680bf1a4b0e6cb26ed81f5fc1060279126ca0ef28f209a10289e1a85214b35db6b496affd71ad21524094f3ee3acd31b6
DIST bindgen-0.58.1.crate 201394 BLAKE2B d82f0f35d946eda77029c838660f66b1fcfc95b7369eb7207cdd988e505a489a854591d629211787f47d7cc585a824e66cbbde094563bb54713928b611ac2cc8 SHA512 53a05692d5e76f6b70a057abb9b3f7a5b24076ba69eb4d1477e7daef629c4d50198baceb02234b60c57a598446de16f6558b2dcd535a6e403c6379eb5d7801d1
+DIST bindgen-0.61.0.crate 199472 BLAKE2B 0f471a326f0d9294e7fb7faa83e3eec8a912955d3c75565c94aec13c439d15d59c8b62f9bf87e57410605bb73e04eb48c49338f9571010c666e316c8bfc0f621 SHA512 4e71f03ed614390dc6f54a7b5ddf2600b43e3ca599f68516ed260286b054deddc6edd1c56504ea059e1c6a5abd4e934418fccb56109aba122d5a65be888f6d91
DIST bitflags-1.3.2.crate 23021 BLAKE2B eb990bb27b2bdeb66fd7212ce582cb36e1c616debbac85df642d0c82b25439e6bf9b1e811fac76b59e58ea3c1bbea6170d03a61e8f9a395e4334a0e2e2987eda SHA512 3c698f757b5cc62f815f9a1cce365c3d2dd88e4db71f331dff8bba86c2865f755b81cb4c9bfc59bd86b7643b0943f9e09a7c4f8ad75eb2ab0e714803d0129f62
DIST bitstream-io-1.2.0.crate 27108 BLAKE2B 1e22302fa66f9afb8f45abbc319af67fdafdd33b6072b92bf7cf35b3e96750c515285f4d364d5f5160913aca3685d9f48d1a25180f56c9098d935672614ac2b5 SHA512 04c44cde341aadc2acbc38533797039c94b7c46d2c762b7824f4d1ac46518a3812ac8fe6c2853d4b5af163aba61e54b7434212d9444a46936383e72f98e32072
+DIST bitstream-io-1.6.0.crate 30445 BLAKE2B 48c078ebb28f36e65f634f545a8a335c47d8e24e6a101204cd16b1aca4425b2fbe20ede37c743d247440fc7fedb71ab2502bac96c8b39d2e07d638c4132b903b SHA512 7b530eb34351f822b6b114d55d33bd9f5ae618d56e336ef84e78f991aa07e901918895e1815a7049460f5167dbd9b73104450715b2c2a18d73b509e71813827c
DIST bstr-0.2.17.crate 330350 BLAKE2B 90c3a48d78b73d7e36a3da9fda0beae6e91ce534d17198ea8ceee0b613d03297f9dd8bca30e1ec5da01d1da359a1da72b2c2771b77c82bebab5006cafd665192 SHA512 883eac8210d14f89517b4dd5e25d02c97cf31602ec74498b5e186112ba0f154d47de8d1c41a8f4e5503f3b53c064e2c976b60bbfd63fc28b186bc006e00f20c2
+DIST bstr-1.1.0.crate 340878 BLAKE2B 33168147f9e53bbae98672b61e342665b70dad65ec440af24245d358758ef79e9e50d1a518de09e79207106901aea5cf7824a3d7b18f3a258a3cc511110bfe03 SHA512 5c7802a9d3d2cc219d26fd82c91288195a95d16d4f9f14d7bc3e9932f1027b6a4a50729a2eef998eba25e75d95945a4bd4fba9bd18b8a5bd33306b4548f114ca
+DIST bstr-1.4.0.crate 345921 BLAKE2B 39a3cb366a7ceb784b7a6626f81338e8047498c5755ed60fce1f6460ea5aa907ab5df4bcf30a07ed699c7af7d2d0dbc48b2c5cb674b863c22fd63b5080b52fae SHA512 98dc7bdcc1a307eae2ed202b2b785a4ad27719c4b3289408edc710beabedb78d16b3042b41de04fca5dbdba19d8567df69c35431e33a3c02924820e1a601df36
+DIST built-0.5.2.crate 17621 BLAKE2B 02a59238e4da373a369f3621a08eda6ad6a9138cab6f6973b11542fd9e30cc93ae28243a4a261841f7d642bd91c3868967841d1f42fa37c47d216f80622932f8 SHA512 dd405a96c9f44622f901a90da11715529f23f5576115ef0c464b43d954fd3a05aa702e2cf91d28e1ec6556a4533fabd94f21bea89a8145a4b89939cfe26a0e5e
+DIST bumpalo-3.11.1.crate 81207 BLAKE2B ba76008fb5a975aca12b6f893779e18dd353a22a42cbbeecd5870622a7cbc0cd7e37036af600c570b8a55f26ea8d07f44a9aa1a8373d977b6f75bd4276730292 SHA512 70e90bee1fa4e783ff5a3b18f192b9347bafab7daaa907e74913a415a66c29acfb073fcfb46150801aa7649ab0d2ec8a610de239551565dd167bac72ab13a9bc
+DIST bumpalo-3.12.1.crate 81653 BLAKE2B 26ca1df07c8f55a4362e844bb80cabf1efb6627ed0f489f280178e03d0c8bb600303529c05e5c2a9bab79115510eddddf446f4baa717352babd68b6a3200b7bb SHA512 1f57591bddd5d4c856d5ad1ae71f9306d8c37681a72172b6be35b4d6fffa7f30b086d88b37d8f512e2256cb7d37dc992ee83bd071e4ff84182e5e226dc92e4bd
DIST bumpalo-3.8.0.crate 79835 BLAKE2B 3937c4ca9d7c5e2ffee229c8f5503c6a59f2fabfa3b7c81fefbf5df816efc5f601aaca4b606a62e647262acafa34146aa0906eedc09368e16eb76b3c6722e8e1 SHA512 c9825e7638bd54f97877adee8ac8f6a2cee308050c3f446f9da3996688ec3d779cb6eb935a440329794fb534958a6e89749b44a9bb27dfd219a963f64a6bcac1
+DIST bytemuck-1.12.3.crate 39835 BLAKE2B 70bb0459b80fceec7f3c16c70a251f3d0e77069d77468e80c8ab2c3fcb7596dfd072c2214008d78ed1bd1a19332ed312b50a77b9f57c4230f2815768497fabcd SHA512 4bd87ace983d659877792e4f463d7ccf16e5a524f2c9698728bd688bf9d0cc5651cf641f4d6d987c8c26be5e56d11d22537389ac76a8d49b4d6e25b6a2284c1e
+DIST bytemuck-1.13.1.crate 42309 BLAKE2B 055e031a677823c110e44446e1e371632a0a5a8227ef7053e964bd3f9967705bdedf96b14178818021ffc09182ead805a68813a8a2b9cf7a70b6e8daf733eac4 SHA512 eb0a7e423a3f903fb831369e0c6d1e5fbffd7eff1b56bb7d1ffe4e5e18850cdfb9a7f9bdcfd53ce10b1c659dff11c59190b7b85ad89ca60485878548621f01c0
DIST bytemuck-1.7.3.crate 27879 BLAKE2B b231e200fa8925f71e457a6ae3a6677366cf6a5b1a6c19845b6973f385fdaaa86b6a3d4e8b38356dbc824cde70e8f1120008d21a3d77d06575fd036b0bf20678 SHA512 03569cb6b6532ff62f406f8f6c80ea5cc3a4fc36ebe28f5a4bab32000862192eed2d26163062c62c0749d2f96ebed6968ce76d2e95a6430d9147c3648aff1f64
DIST byteorder-1.4.3.crate 22512 BLAKE2B d39c546ba7346df315297fc53da4bfc77ecb1f38567ddb788549ee31cae2719a8bc0b7d1f1705abb3cff033aa57af004987d90748f5a31765273b3223a011c0d SHA512 8c8000eb8ecf40351c9ce36a3a8acd7a02f81786d1b11aab85adfeffa0f2267ed74df29b2ca5d1d38128484d1d3cad2b673aa0d0441dcd0620dfd3934bb888fa
+DIST cargo-lock-8.0.3.crate 39302 BLAKE2B 63e67288b0201088d25da9246675b4d9bef96d532038655b484996cddcaeeb44b1bcba22f4738001c8593c1c5bea2716896b2f57cb3107c415f08bf85adca629 SHA512 297636b1e573ed42e539d8f9eab40ef516af7eaa60a476ed371900e5a4c1ae61dbc94d5aae8313f7eb684d1e5e9cf0bee698022fc95b9557d6fbc944e38e1140
DIST cast-0.2.7.crate 11222 BLAKE2B 8a09b6493d68b08539b38fef39ac3abae829c8b899d5243bda3c3d8acada44f4c57416e3247c82a9a4b82180d7f96c96f048b8cdbf21a8fc184ca6957b237ad9 SHA512 24d204acf21366e088f721714c48bb6431895882263ef3a08f6644abbca5c06f430729fa8bbb4c9f37c95a6baa1b824d3fad95c5f0889e92587490d51bebb4d6
+DIST cast-0.3.0.crate 11452 BLAKE2B fe6edddd0589fa436cda32342d7beaabe4003afdbdf1d7c5db7e8748adf23b1b2cdcdd286235837c735d2143f29e692c152a5d56fb0458a54961e4dea303b2cb SHA512 4a3e19bc1e9e5ecc03aaef9bcdce01624ac0e6858c065fa1c41693db0ac172b9735ce872064561347cd9e79f00a274129011f6e4ccf9e61d960c8bb684b6d396
DIST cc-1.0.72.crate 57495 BLAKE2B b2057ca53aacafa063a4eaa907bfb65aa32ce01a74a90b9085c8243a87723cee8ce79e4904f9d205f9d451598ee34495f8879d27c189477ca43bd39b88b5ea2e SHA512 e9a5b283b2a1fee1030009068c1f87291ec1dab7584a0892f27cc7e523c8fdfd5d986281d9aec1a00af706af1e61d7e64c245c74be7b39c8c022ae2d4f87de8d
+DIST cc-1.0.78.crate 61375 BLAKE2B fd4765cf5ae0dc7018bc6b56298cd0fa9bf6fe23545e845670d98ce73baee55354e77c6d87cf047f10b074f3d742deca8b5631a250c69b347b4a1fc653965d43 SHA512 b85bec4c75cb1d1e252419052e9dd22b6892e54ea36195ff483a04f785b5b103e82b30b778459fd45324ffeb2463aa4f5696baeff2779c25ffe9f65eb99ae893
+DIST cc-1.0.79.crate 62624 BLAKE2B b3cbed3bd6fcac1c6ea258ec96cd107f859947a35dc89c3dc8f314741b0f668e61518f896ec32ce10c9a7eb20dd350bc177a71810d53ebea59fda062ed9d27db SHA512 cbf0a25f3a23fc540e9d638fabc23f761f1c240ebb4814e761e90437d71fc559cd155768ab9e78fc192220d8a605c66c3af342ed736b719181656170b98d7bf5
DIST cexpr-0.4.0.crate 18023 BLAKE2B 4a55c6c80f09c1d4ee86706d8af1f52219ceee99f19ecd0618825ce5bb27535184b64c0a49a540756b0c5e9cce6e39aac271545c504fbfb37c44052d04856cb2 SHA512 31592e38d80414cd07b25f7460775eafce1f91570abc1b94af7452961604574d1ca2374c0177875569b644f615a2b6fede273f37a6ee137f9adc9c0315c59b37
+DIST cexpr-0.6.0.crate 17966 BLAKE2B cb46f066eb1f4dbac00ec86dc3e562db7ee8ea5ff17d16a60004fa020405e455b8aeb3d001f669cb33d1b62525bfd04ec657ffca4ed44a83af4a5e75b2c820e3 SHA512 766bff7ca7f9bf0885aee6f014bcfc084e7fdfcd567a49443d5340acfe8f257db109de17b24588504fc35c53f2d4303e2d22da21f73669125cfca984950cf886
+DIST cfg-expr-0.11.0.crate 39821 BLAKE2B 19a9c100105026ddb7e415f31f0d2ee20c431df02b155fc9e1975d586e4d1cc6f34a135a6962cdd6b95d7b5a56cad0a051bc5c3de9b5bd81b6ebbacbdb2c49c0 SHA512 92ef9c4f1ab0788295efe75cdced1a2a63503892fee1b63f8ddd5a6fc125b6046e17950f2ce060133a763640b992988a6899b15d397d3892f7a3298b3a3130d7
+DIST cfg-expr-0.15.1.crate 40860 BLAKE2B 66d7144c6ef87ee78ccb7c11e8dae73221d89039dee77e57207bee666888f5fd2162075ec13ef2cf844ddf05bfddd0ea95bf89f894e647ab4e7c0f4ae4df6dd4 SHA512 cd13158c37ccc01c0cdc23f3d9def013a1dcb0864cf8341b1d8117ab7fef9f9b4a221eceb71bb5ff1704c334e354a4d13b3cb68b8f3a59c4efb956eaa2fe84bd
DIST cfg-expr-0.7.4.crate 34162 BLAKE2B 24314b3e3ae62be22ecbb147272fc2dafec5e7978c98b7dfbd4865387a8219e0b2168aaba42ed0d22b584f7087e46af1d96a9c3a9cb0a4a1c45855f617e9c129 SHA512 13b52f443ea10f28a475aa6c3077a8a97743935d44dfe6567ee044893bbab696af9f95fedc9b89582f388e2eaacc2cb0786ca62d2202973ade9270082ae0f9b7
DIST cfg-if-1.0.0.crate 7934 BLAKE2B e99a5589c11d79d77a4537b34ce0a45d37b981c123b79b807cea836c89fc3926d693458893baca2882448d3d44e3f64e06141f6d916b748daa10b8cc1ae16d1b SHA512 0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff
DIST chrono-0.4.19.crate 155663 BLAKE2B c92c273fb6475bbb2546dfb75eaa23321bc8f9a5fa8a7c652f527649b96ff8718fa932f52b500b02a4acae7837df5bdb14f69cb821d4962be2790dbd1d023a54 SHA512 a119349bfc2243a249f1d18b1ae548a04b30fecb75913a56f26d1ff8c0eb53097a2674d9141e2094018191cbbc1620843fbddaf52999824e077c1157f0907980
+DIST ciborium-0.2.0.crate 30130 BLAKE2B 69896bd45dc95fb38df5f6b7f0952866c8efcb65490ad64447e1a645b5558c00a56d81aafe1ff6d2477daab4050c1f69598f0a3f2a74f644e090006291b9af0d SHA512 05f906ca1eec19e903652f2cfe86de36c25f6019af0e10212720bfdb2260a90426cea3acbab6acf64cb059fd138883e5cd4e46032b9a2d7a021715243ca6ecc1
+DIST ciborium-io-0.2.0.crate 2738 BLAKE2B 6f59c4e8d9c91bec47775d96d1089fa3989d347f7138f73f73cda02842a0409d96f32ce25f371a8a7dd5b34706c457b6815aeafeac36a61e309e828f9cc2edd3 SHA512 814059cf5c32c3ca2eab6877eeb73074d38f3419c04137ba345f83c7dc0222b983166e869e0ae9f22d9c604a162555926bff92a3ff57c076d72c9cb39072db63
+DIST ciborium-ll-0.2.0.crate 10740 BLAKE2B f2ab6870bf68d238d51617e17a6a50fb7894d11d7428305fa0ef590b825fa9351dcfec02e27d5cdf716bf392d0a996ecee2a475297de02ed99c65d8fc06f2c08 SHA512 73a7507332c8d941c82e7ff8cc707168f8d231db7531fd28eaba1be341f1511cd494c61f531852e0c5e37a65153addf259ebceac70f70185ede287d93b911845
DIST clang-sys-1.3.0.crate 37713 BLAKE2B ca7ee0771a970ed67b02d55d9027bab061c52d624540894cd00d09d847f6f35c58e76a1a6153309f8af709474df64b46f4764c2036883a688ffb8154d77ed123 SHA512 80c78c53a877cd8208730885214c135dd65a208cfd047dba7595283bbeec266f4d39cd1e0b3c2c69a474569ba68e4db93636e31a77c350d7bb2337e06ee7cb74
+DIST clang-sys-1.4.0.crate 38679 BLAKE2B d15bdae2142ed26b4f6bd037bd2062e8c4b7b87fc5b749b872a95ff1952d000066c255aa0984e5f9c4a5c88066db4a20cfd048db4ba5a59b331d5ffa5e9a281d SHA512 062189bb0a341e2e85de4987f4b564c1fc69e4005c9c42cfedb61dee5f48db9126a8114d1d97be1b9c21b8c885243751232fbe8cf532e1d2be593308fe45216a
+DIST clang-sys-1.6.1.crate 41346 BLAKE2B b70104e6c6b3c1b85caa111c2b1fb2c20d30eeb85059bc616afc49bce9409f7ee2dd8b800750a466accad6a74ef29d10c6a2ee4459d854a2c0c54050ff51cc4b SHA512 a6c62c1d3faae3796f5e7d98ed4f1a8119f0ffaf8fceee8e728cd4da57b0140e82631012450bb0c551cd13814a97065e9e47015320707a87bdfbb6fd317e952c
DIST clap-2.34.0.crate 202210 BLAKE2B f383adf1d757ac4b68995132b33837686ce451f85a02a8d05d2c746da398510d05d46330f3efade063c3952aacb1754cdac73dd0afcae0df5340a89f9353aa1c SHA512 c648a761b9996a7e7464a538bb53621bae22090b846a42c3b729beca3363958ae67e3da9f93f58b10a10e043cadf7ff930388680d168646178c2824177832db8
+DIST clap-3.2.23.crate 219435 BLAKE2B e99a928ef61a7f9f6d7df2c38acd480fc86bfa3885d8b875007aa5bc855396641ca6772387de2eadc1d545dd201434037ea9e7fd138395831e4755ae5a917a7d SHA512 1f1f2ad07a0f8fbe8672f4252edf260ffb5e024a20d6673fb846d59e245a226a43675539ccd3cb252571766b1f6511c68c5cb0f2351c8086955d49c37f87338a
+DIST clap-3.2.25.crate 219403 BLAKE2B 75a8ee36c52e64cf0ac7ed5604d8a575c41c756a588bd418e6c1edccfb358350cdd831b4176f01b987fe7fa5901ca2bccee6b0f68ccba7dbe40baf85a5f3bdb4 SHA512 557c8932175d7ecd077b32b68904924e52dd46d04fd04ba36b3a9dfd7ab1dbe8c2128fecfd75d0388b21fca4aee55a941794181cc2910a4d4eb3c54e9c7e73ea
+DIST clap-4.0.32.crate 207531 BLAKE2B 5a8dedd7d9b6ef3dbd1dbb6a6504b0f6ea694246bfc3cc608f018898ff75b9952bd56dea16ca321d2a3fc208b164cb4016558cf4dce28863bb00ce133d470eb1 SHA512 a054f02385bb9a3539786295c55395ddae398f8d2b05b5d3ab50d065155ccc702c3bd624e6f878ea678bc01a1cbea8979476703856b9a86d8d0d971f22954e37
+DIST clap_complete-4.0.7.crate 32728 BLAKE2B 3798b9209637c88a76e830d7ad32213aa160a6c76b82bfe076cf27a26735370c3d5f643bc8ff6c9af42c0c1a301df1dab623b4a95ccd2e5bfdff477ec9e2af03 SHA512 263c2290e8239820469bb9810494433186e0e9e135083fe82945aa7669d8f08fa68200366815a8280edef8ce541abfaf56e8e984072a2635028c42b13d55da6b
+DIST clap_derive-4.0.21.crate 27567 BLAKE2B cbef7e547b0d0a145ee7696a773e1dce541866dd4878797e9b810b7506dd11d75ae9cd2547b4c3330569390568a1039588406ee614b9eaa2b1a619951b0e67e5 SHA512 95bbddfd09de9dc1c64266743e9877aaed086be56f7e0f6e933dc5245724fead7163316a7bb4a744bc81597e4d079fb0abfea891766a17e0b1aafba011dd74df
+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 cmake-0.1.46.crate 15119 BLAKE2B 0889436835c16bc47cdc671615f421a50acf6c34a3ba3b6b8b4289e11bf1b803abd15d88a65ae9c1588586151f467524517e9c60d5dcc820e41ff21711f3a536 SHA512 e2749309055c85baa242cef8d0f4a91eb7e694664c5e42339df8ccc6644d1563337b835d3d931f5a0a75351efd299a21fe6eea497941802ea041916d665c7311
+DIST cmake-0.1.49.crate 16717 BLAKE2B 4a2dfdbfe38c481715054db4bf3ade6339b033180e4e1560edd820b1d44a66cdb23e042db772ef28283dd4d9e73423d64c9bed791742f706771c309c1b542007 SHA512 ba8d65a757734d72c8c7c7f532adbe563b5caedb67140d100cde404d4bd206e227a9d408f122975b737d44cc76a9deebbf0b4a492d1bf03e3d5f1ce8a6d50fc2
+DIST cmake-0.1.50.crate 16748 BLAKE2B cd3b131fbc27764e15fcefdac31f97a9d12f82ac9758b2aad256ccb371ce3e2db8aed3c76fbf4816df3483dad9fffe9973940ced65be6d31463d8c059c543646 SHA512 868d5cece75d79382ac6176aabde1723bb7e26dc745383a636516ff45856dc9187fe5a83e139f17e3bb0c114624e9e71b93c8a460b89b8facbafbca50d1d0923
DIST color_quant-1.1.0.crate 6649 BLAKE2B 9a2488dd00b7a33e15e05531ea49ef1961131f0be0922ba41e2d74d2b1a047daed483ac3a9dd87c847a81cce70a347395c557cad8228ab9a8dc5be7cc0f1bcaa SHA512 690c928bda4b7b57425f38ea68ac89cde2473b7a91b7e62c04a8f2c5a0fa3505e26b065d48b7ad0a8bb491f92f600f896fefdad3ce0e86e43cbf4f9a89e94201
DIST console-0.14.1.crate 22844 BLAKE2B 2e7a1480fc10ba92d4d5c601b87a0dac840b71c6c44679acf0a90667f37a40528ff2155130aa72be2ade1fdef4e6512dfb404b0eff181d77fbafb00c25dd6c5c SHA512 2c85d1938faca5163dd7eede2a8a07569e536c92fd0fbc7f6e6ed91c60fa7f947f0ae101817ed943b0668c4d98ddfd3149033c83614786b5d841b19a8b011c91
+DIST console-0.15.4.crate 34237 BLAKE2B edd1992b38a24a4c5a6cab42a1a1ae2483a2ec42231a9460b9a4d2701945d1bb1fdde181044976f76781348497303b035b9f9dcf5733c9a317fb32ff3252edfe SHA512 fc719a26f93fa28793379e77eb90a9144892b07ee7fa5c495d842c892f5a161607da83376d447950dc1b2be6b023b38f2f1d416b112c09ab2c84847e53055650
+DIST console-0.15.5.crate 34788 BLAKE2B 915818e2a5cc6776a3d40f51ac85ba178e738f5cf40e5e3c1450aa731a04d73a617341dead606e043fcf66d0701f625ccdb5c787978d784c3f22f9ec0524e89a SHA512 54dc15a0c0d7e1a96a368e5866e1e5ea9d11b0b7eafd0e086376085efd3f656bcf5ec86f4eb387b42dd8cd4258f9162c401914d519a175331d0c1873794f8d43
+DIST const_fn_assert-0.1.2.crate 5772 BLAKE2B b9f715593c0a53c1a028b08bad260f6a2f676100a7622a47ecd0217639e3605e819782b2a67b4f745d496719520c24dc4f81ccad83d3c0744379128a296fe8e2 SHA512 99d98d3cfd8e4c7b74378263e4ce4ec952b97ef0289bde5ae1c1672cce461cc9827eeb29c4756e2ca48d2a0d818dadb01e7cde13843cac1a42034ecd3705e367
DIST crc32fast-1.3.0.crate 38565 BLAKE2B 4191cbfdf05964a39933f66453752c5f14b177c43fa5fa44de02d74b6fb4e4d874218f5a369c4a1d1ea71461cd541203f42afee259343ea139e305043e155ee7 SHA512 6ff361acfc0bb134672b30fb438f6d3ac93841d06332a6ff156025620b23870a79a4ceacf57d4b14ea1744838cffcfb77b413352d055809e74acd853ae912673
+DIST crc32fast-1.3.2.crate 38661 BLAKE2B ce3762b03d24d5367d89738991c060f4b3af7840e0a7ac7fc17d01ed438caf964bbaefad0fc4d0c438dafa5a578429ddd353c71197f8b54b1ec441395f2f7ee0 SHA512 a683943e252afdb1b9d626a07533ed11cf7a63af603c19640056c5d2b9c884ad9aff33ac54c0853ffca2f6cf94b0730eae6c05abf3e53e55e709d180c8152357
DIST criterion-0.3.5.crate 110662 BLAKE2B deac65befe648cabfca827b8c37a57a0c48ba1edf34b6e32799117dba9147eceee91b652244b2eb5523c88d8521ae3800d05fbec13b3b3548eabdb13a56f2763 SHA512 ad5d0cf9270c3be5d76c87ada41198d0fbdcdd9831f092ae7179b57e16df153d2aebc0bb70ad7b6fc98966240a902ed5f6fc7adf044be0420bbaa95b951e5be1
+DIST criterion-0.4.0.crate 108978 BLAKE2B 8016f306593f91c74039a5cfec759d64bfac04445cdde20d535580f1fa9419cfef94453a4a276f7979551b823578cb7862f88a0f2fd1f5ecce58964a42df8302 SHA512 e6e078ae5be2c8fc018986eb8fc1432ef78fd94b93aed1f05d7b0bb195a440d0a068cc8c26066a970cdd105102131e706bfc3e05f3a44174b5df4184aa3ffdcb
DIST criterion-plot-0.4.4.crate 22546 BLAKE2B ab1326f804cbfbedcb415baadfee2d11b4a67544856fd94dae0f3f3a9bfe46550d23a29a0c8a3a84da6e18565dfb330580aaddfd69a42284499a36b2ae596fef SHA512 4f8fdfdf4ed5e1c410b8e133b36bf9add3d86d56bb23d75d37d92b1095b81850915209c7e4d19fd6aec7cf1b1270a9b968b8e37adc491cfc76b6df71c4619943
+DIST criterion-plot-0.5.0.crate 22706 BLAKE2B 28a50375f2871ce6f168aafabff46f4368bf55cac379c67a2b4396403259372759dba3355786e695b566b1cddee9091a469755a04c06ee949f00aee8e9a28699 SHA512 971e96dcc64a5afa7488f1a99475f0f5639c0ef63f9eeebcada351868697cbff397e99827cc07c0a52e7d7d1a87856fe1fc48c22075776b3bc9c94af62d79f14
DIST crossbeam-0.8.1.crate 10429 BLAKE2B 4f915d623533a226370eeceefa5c196438b1b332a8b5eb6223853e416385ac4e1a207bf1989646478b219f7a68c8ca0656a808e87db58361f1d77a5554cc2a76 SHA512 564f5623d1a4da7b0253f14946f2e71d14ac9195d80ab3b0ad8e2ba6fc7229745c8c70c2899852d48fc93cef009109d7d7cf2dc9c875273cb8ce9223b92b0beb
+DIST crossbeam-0.8.2.crate 10502 BLAKE2B 487a7a5f197898ebea0fd41a413647db0fc3380790cfdfc6cb7cf3caef48197bb7c2498579ce676d3c5796480a8541ae37ae03f009d768a6157246b1f7d63a33 SHA512 bd2e54372595daeaddcaa26802780959465bd571cac64f23256b7ecc68ff5c0161a36740a51386ee54abe7c509ad1ff870b6f6877a7921f4335661f2c554c3a0
DIST crossbeam-channel-0.5.1.crate 86919 BLAKE2B b223d0dcacbb09850d457825cb2a018494d798d0000a20eed3f54b1152e41ebca4698e7d50e81f467b86543779155ad08566da9496eee36aa06644b69cf5d7eb SHA512 f15aff67e9105584f5fe41e1ee650ae4fdd0d0ca0fa9202ee83c6f6025398a300decaa50d1b4682e8afb9bd6e11e95b69bcf23f68ae117419aa84df14ee7747b
+DIST crossbeam-channel-0.5.6.crate 90292 BLAKE2B 7da87ab15c384754d2493dd1a30e83550cd4b2b749b7f0c24de131f054e3a2e521e1bb4ba10094378c8f4c7bdf19218e35b10562c50b4ad1d2871bf6f821e488 SHA512 de6a42ffede95750a13e3b9af6ab26cbc498125860cd8e4d227c7361bd831e558254a48bdef5cf901585a915003071b0efa321f2011f282218c364780f62f44a
+DIST crossbeam-channel-0.5.8.crate 90455 BLAKE2B 017132056f1b40e55fbc7a09b75509d72b0a6123a0e5ea5d6104fe822f73b3ccce670d711d3b84b5ce743dcab5f10445297a6701b71213b77c0d56e2c3fd7160 SHA512 47677d6fe63050c51393e4a0537a3c65d7055c9eae118ebe60c5d716b4f47f23c2b1947b1e1b66bfb34a57c4db3a44631d323e996dd545565fe4f58c25863ff4
DIST crossbeam-deque-0.8.1.crate 20852 BLAKE2B 0e7a2616b82c5e501c0f74935adfea3ee09db5475408be83db8f1b6faab4cd5509de2e029bdf6df90435e474ef91f3fc8d482ce3a72966b2a3bec5967666bdc4 SHA512 44a4fe1d4ab7457e2b0950be787b76b15e1bb0b1c108d032381ce3fe99bf7bf76f3d1718085660083d813e2639e66fdd3635d9186e85a9eb7267063b117eaca4
+DIST crossbeam-deque-0.8.2.crate 21237 BLAKE2B f00948fe90806fcbf1585c0404250dc84bca2cf27733bf7f2a0aa957e618f916162f41124333329a5b1e84909cbae3d93fb3b4461ab23e9dd97672c7d520d5b7 SHA512 a50a878d843d6eb1b5b92321ce6bfb87a23d3c16e820b1ff55472f0bd3d29b41d09ea95e1b9ccb2790f6687c043dd9ada1cd5124705e24292ccbd8fae1f243b3
+DIST crossbeam-deque-0.8.3.crate 21746 BLAKE2B c24025c65d7c1c98e442af95491749dd4f777af0509636ed66886dcf656359ec50dc2a5e26327559c6659f6b355d2b0b992dafa691a36571c99637cb47372d0f SHA512 f3201c9afef7d2d119702696f7e5e7997a104b8f7d67c7adebd1cbed84d3a3415636ff674f1ccdfd95d0dc162384e46c6138c8203ede69577b0d5359a4b44672
+DIST crossbeam-epoch-0.9.13.crate 48313 BLAKE2B 6e548cd39fb400732dc179c5b7185555bdb8a367b5d3a27dcabe9ad36db6e9858604dee210fe487de8f9127fd6d0db1ef1fd04a1cc8cdcf34bedcf980c048555 SHA512 a4578e0e535f301b73f0332778e79b327bafea6afa43284317fccc49b410118360866a2dea8ac22f2977f309d07c663e5d95fbfa852ab795d414c170ee4e06bf
+DIST crossbeam-epoch-0.9.14.crate 48524 BLAKE2B 439eec7e5e0364af0fe0a34ffc9354ae289798ffa7480bc656d4a610101e1ef2d5f484d84f82c87f961bd622434c36adfb7a87f7fbd2c71077b732cc7cc765ad SHA512 543cb60cff7c0823733f6ace191b137a04025a2b40fe4fea5eb273772009627fb705aecf742bc59e01367d4c15a14aca73aa2caf7f4b509f4b25947e14fd1e19
DIST crossbeam-epoch-0.9.5.crate 43883 BLAKE2B c0ee0879c583bd1051b63d29eccac37ceb9f9446ee8cb64756b2e3d95a30c5c11bc79d9d460be4ef4b62513049e28900a96085031f805d064e81b5eae4bc297a SHA512 ad822e967e5ef45fa0c4a939f057f44146f1f051032fd032355a75c0f45ae4e0a55e1d31c80bc67c01ff8d9c87a51aba7ccfe9a440f061fd8225c879aa663064
DIST crossbeam-queue-0.3.2.crate 14993 BLAKE2B b22d68d0bebcee8eeb53fe431f54ae2193a837a0ce8dfe7a49c3c1a42c2de895dea1ef1d71b0909abf9e89442efb14c8fde932553ba13dff8af9d155d7e6dab7 SHA512 7e67037b7a7f134a50e34728813b85a4a6e062895b9f482fa4ef7b1e1e9cc15c9c2836b9b5dec2a4ec36eee57065dc2f1066937e1ffc5b77fae253f60cf3f05a
+DIST crossbeam-queue-0.3.8.crate 16731 BLAKE2B 80a8647bf491adc1a5dc736f662c01e77bcceb4bb2b876eaf684cb2a742a2f46d09e1221f6ca8b19340ddc9ed3a10bf07a08305a5bf069338d00873b1296ad96 SHA512 3c4e855184f8e2656305a59463f0170aab99f9c2df1001f54341b62e05e533864f384477a7a9cbc2b8b1a36bbe4b8076531c11b1492485029ef81ade6e7cbf8b
+DIST crossbeam-utils-0.8.14.crate 42127 BLAKE2B 3e31e6371e46aba6697501a34e1b737680dcb692c0d1ba7cc1ce7025ec70ee69f7595e3abd90fb52c11e42cb43fa5fae6103f97add35cf87b0a68ea83213d0d0 SHA512 fa00a57c41c9daa152f8a6c6f4d3c77986de1aa21585984adf577e244c2f121db014ba2beb92241590e1cf78710e77d9a703ce4a4d44d8854bc3e60690151393
+DIST crossbeam-utils-0.8.15.crate 42326 BLAKE2B 23e6bd2a6535c6fccf7b7d17487fdd4095c92a3f3ae383a72dd6d90c1c49c2ec8d96dc01a94c7127b2681bfaef843585b3ae8665ecbc43b2e7db8434e31c6c8b SHA512 adb9ce1886396bc637299cb8122d102bcc9e561f25d67ef73e98c9ed8a8b13b78bc0f5bbacab19d015e1a7690bc0201f08b3d8e82393ec347e7f2933eb622533
DIST crossbeam-utils-0.8.5.crate 38414 BLAKE2B 8a10162cbc54f77737602b6f8574b65a02765577f0e2f59d71e1d87662180fe24a781df542f3e765c4d64b7a0666575157e000766dac138bd4fc0356944092ad SHA512 fd4d2ae10340bb96c22b31190b300aab54e96b8089fd62489e102c76a944e6a16c582a90bc40f5e188f13f841293a4b9becf30830c2ece04f3ce78c29066532f
DIST csv-1.1.6.crate 886999 BLAKE2B b178d0419af671df570f37a4d054391bc883085b0cd3949de5e967aa4ca323fdadfd8c5d91eef1e8882ec112a1111cf255756eace3c7421e455ea2b6e01cb600 SHA512 81dd826f0ee85e7d335d844e9f9b4d2b66f7076c517d8050ee2e35721bfa4ecb8a906dcd9671b1c5381a968dcce0949202f1afe8eea535b6d215363d4f5be6fc
DIST csv-core-0.1.10.crate 25668 BLAKE2B 8e9a56c26e75f4c4c9e90a21cc30c60cc3fff17515ac93bc858e8ec45e130df2ecabafa7c513b2d2815269fbbd98c418269dfb1bf1425d2fd32fe46823cee6c8 SHA512 2a269d050fbe5d9e0f5dcda2de1e84bfeb69538dde86040ad1ec7307a214eed813a1482acb5029a51f18126d384d5238355e021964e47811db971a0821bcc328
DIST ctor-0.1.21.crate 9303 BLAKE2B 8feeaacd3d870b721ecfed7c8df60a27005de1f2a099eef816bd6df2d7b07dbfa00badeef44027398ff4505871a69814d7d4ec90b07d36e371099e4d0aebfae6 SHA512 18a914f5bd55172e5ff199778babad9a20dd4214f36f24cc00531db5e169af66f77eacab425e8e64d053907366ebd3b448a0c3275ee1f8244822778b62c4cb71
+DIST ctor-0.1.26.crate 10803 BLAKE2B 93627949b92651243b7a763d3d45a22fafcf2147a30661c4cc017e222bfc2bc12b4071054e3079adc431fc8a5dd8b86a8d11c53c401be6db846a3d0d2076b9b5 SHA512 3a3d60c976ec02a9edfe04470af4b04b02601c48e2a007393cedfef5c13e22bca58630e9e885e635a71aabc3e0ad8fb70995876551cdbc6a31029d8d2bc2e86d
DIST dav1d-sys-0.3.4.crate 2748 BLAKE2B 64cb5dc703ca302e2348af9d81951c91dcbb52128ea1b2792e538044fd2e1007baeaab1d27b54982afbb3255b7dfc0c1cf94932e88a0f509542d035e20b8fc75 SHA512 950c1a2e4ab0072321b2e55ec3c7494e0b67bf86721563a8d3ab4ae51dd23b308552cf98cb5e293c4ef4633bade2b02412541dfc2b526352ffd0761ff56ca4fd
+DIST dav1d-sys-0.7.0.crate 6692 BLAKE2B 968e5e9ce9bd66f0fc9ac4079d803060825550d95ad4a5e54690f49b0a56a82d266819aac827f4eaf2fb086512ee19117d1a751f1a807edcacf2a96072e921ed SHA512 b22c7f6cc019b99fc2a84a95da1529b6fcdbc1535559c93c06f43439bfda0d7b653e3014e2b9218bf128ab6df62840dbf27eff215422ba01f8046168fd6caa27
+DIST dav1d-sys-0.7.1.crate 6820 BLAKE2B 9ea4ec165ec1591f7e7872114da74c768b0aee211ac3445ac290d452456616642ad5643d3e31471cb08197f759c9920bb6bd8ca809d818ea10a115e1d27e91c0 SHA512 c40f63fc48f7b88da48bd372aec9b6a848f9ed02dc6deb4327c07c5a27f94de0a19cefd86aa6d5ef903dc6133610cf95bb1f5b7f92d9c911c106e598c88159f0
DIST deflate-0.8.6.crate 62365 BLAKE2B 05b1f81e4c423f9fdd823bc33352d8421f2ca0c26d43cf0c5990db12f5e31c46ff7769f1baa3b971166b4146eb448ed0bd3ffe68f7c4aff5885b47826f77d847 SHA512 7e2e23205c56cc4c834ade2a6a22b056253c32e29346907558117714a18d8433882a712711413addb15da79f9f59e089a06dfd680b756ab2725b500a49dc16b2
DIST diff-0.1.12.crate 10223 BLAKE2B 369f305661f1da31207f3801ed1841dbce12451ac9c3e9d3736f7158ece433af9b2e42c29063e5d93bb86b1d300e503caa9c3ce7dd0b25553f91d72a9eea5298 SHA512 0e81331c0424e9369963e23894a6412b65a3ed4f3154ccc184fc84cf1c5985b81c586a6b34e8c6c0e5c3afba38fb15277cfd89e7f50c85bd5d8d4d24ba670d16
+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.0.crate 15992 BLAKE2B 5b9254d54ced1f23447cc78fca74f12085c37e3c2da441b30521819025ebb808e8cbd9cbcec811f8b3951030914c1736b8bda61744d1323af8c5b8b0a3ef3ee9 SHA512 5089b218af067b51ee39c085568a1a6f542e8f68b362207bd7126cbcd2b76783cd21cc1517a1d088ce4dad1714be03a3660f50e9498a0bb43a8676cd7ec490d2
+DIST either-1.8.1.crate 16027 BLAKE2B 2fad54b5f20bb8540fff5959ca7b2f9021c814ee610895d770f7081b12ebe2c93ce754c462df9d81824d479ca75e07f4a9e398c07a655f4abe2740b9c9de9c62 SHA512 5e4da301a605e0bc1ee3a269fe449aef044df05b5e833940c7f79bed61bbff4fc248e9c82b45dab92b2688d578ada000b271aaf67f2f4f7c82b35f05663cfe7e
DIST encode_unicode-0.3.6.crate 45741 BLAKE2B e1e3792bc2bf9db7df33a516d0d755eef5eff1249aa9b2fd7f0dfcb155786c566fb619c9b2d73425a8625c8593988b117e9676c341f65e8795ddc838bf9881c4 SHA512 64193d6ac75f66d58ed864169b5d6228ede36dcf100614395e086bc8e847a3ddd287734d88e8ed50f38c679a99c80ec68449175a67d8ee03b02ec1cfa9d55e77
DIST env_logger-0.8.4.crate 33342 BLAKE2B b1bb359be2f34ca6f93f72154c86920b8254f574b48f693b2ae7296cd1ff25d34dea61e95fb2954569fdebb6c522c851ef7499c107005528aa2226df13b0de33 SHA512 9e4478ff609a2e1e1a902a55b221af43a52622fdb5668dc33fb0be354b964708b7b6d13b7f1ef11982f45fa7e71f0712a2ab3fd4ea98155a5115e5a7c3d33049
+DIST errno-0.2.8.crate 9276 BLAKE2B b73738deb47d1f76ec91ffd15558126d32312647b82677290725669edb01b8f34a503172fad6518ebf0ffb1633ef0afaf0750982b9384a9fb87833d31721c9a8 SHA512 1f513743224cd9a9b7e4caaf33dab075a4a79efa90c9f46c9edfb0c8600daccd3ad2677ba2116621e19fcf8be456954da5d611cbcea4b6f1410f7731828b50d1
+DIST errno-0.3.1.crate 10348 BLAKE2B 72831d0b69f95884a69918249cc0e814eb5eade3205331bec6d2021f8b01a42c4c9b494f2717033d65a4c5230c8490b6ce250d349c1e8e177b20e7e84a860020 SHA512 00d64157d066f1e7601c522c0f4e777eb662ca5cce64682f616de0734857765c343396f7161ac2908c3db0c474995ae157bfe9d8a9880743724d9bd428dfdf54
+DIST errno-dragonfly-0.1.2.crate 1810 BLAKE2B 781fc26dce5c33d83b9a1fd9be2b2ce9ac2559aaa858957ba6777e143b1e44cdfee48e1b47e3c91a95075a51921d1a421d0b45eb3d8de827cf4dd0ad744a7d8c SHA512 f853f1e1b8dd0f359a8f9a0399b3384c1103cd090d96e2b2204f91a40d40a9eb99383d4aa6a11e5470c51557afacf452d4be2049600d4235d27f59870fa3b916
+DIST fdeflate-0.3.0.crate 21790 BLAKE2B 3c96f6395fc42f66e436fbf6b747c2f3c2dfd8c38729bd0eb88be872ad55e5d964ba322b703fae122907d51892619687ac9b7a5e7546f8fe6eb7d80a91c1f398 SHA512 1a1862460745780407892c835b4e3431267044285fdd718dc6b316dbce9520d2955bf36e5e28257f2f758ba7bc3051b446e786d11ace83deec492e4c161664bc
DIST fern-0.6.0.crate 299856 BLAKE2B e7adf3beaa2f5fc029acc8d87411c5ef8d3288100b5521d0c1379db6868bcaae73e197f456509bf29f52429ec72bc6e5ef297e971ce9cf6d7cc6232b5d9813fd SHA512 d0524c272cba970b5193d845d4e84698d64bc28c75b38dd2f265f1a132e1c9ea177ebdc38741614f6a6f3d106c7c50565b8562378a50d59ed093e00aee8ca382
+DIST fern-0.6.1.crate 300402 BLAKE2B 70ddb9f8cf605471594d961fd8dafa20100a7eb9b58bfd17caba63b60fef35d5c96e642c03c5b302c314361b695d4f3b4cc10f6f5cc78e6ee13e97eb94f6b73a SHA512 f33d3e03c8f4248b046bc84c83d0de9be77b895e79ebc1ab943c50d7ebae021477749376daa14763709aaafa69d414a8ea774bb009a10737d1de57c7cb6d7fbc
+DIST fern-0.6.2.crate 304626 BLAKE2B 7dbfc8a1cf0adc288732a1dcc23e30bfea6668b01e162b60e867b67b995b7eeea5399b9e9a630510e3f56c8f36b79b34913342b7c8834783ddacb2cd7b94e140 SHA512 f9c44d1387f803b567b7254d91cd942c55d30a1c3cd37786101d7d49d346bc2bbc593fa8a3b2e59711c5320c1496354e8d2f3ecf0967030ac1e5199650523fba
+DIST flate2-1.0.25.crate 70210 BLAKE2B 992525ffeeb4433a222487cdfb0c3927ad77f914e1db94f612d80e81faef4a2c955c755c2b800251e3416d0b22726d5f7d7e432a81c3582c54b7de95ab7a324e SHA512 d81a463360ee2778f609ff297e04548120d1fda1f9e020fb2f429ea51189b8fe6cae57252fcd924d71fb65ad0f93ff7cdc7235913f8b78fa82925939cf884af7
+DIST flate2-1.0.26.crate 70832 BLAKE2B acbfad138abf2175822153867413dc89bafa9254494b4f13d958dcc6008a26fca6f934e8010b8c090367b8e25272a4ba3b26a31e59cec69c1359f83ca859d186 SHA512 a9f7b9e4adfd0a22fbf66e1cbcfe377cc03ec248c7fb7113097b839922b569cc96bf080089b8c800b35ec6f81b3f602a5860de55963b85f27ee6d75a9df88f3d
+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 getrandom-0.2.3.crate 26261 BLAKE2B 3e52a87b9355f850e07e5080c20e1ab3acfa927bae28c63bb8bfd6a773ad77be96d3ba770c344631cc0f2d9a95aac920790173168b102e25f50480ee96663569 SHA512 e6da64ed529cb0fc000b613f75187ed6b20f716e721d8a02ac2ae39c507fb9f6189ebb66b522d28584eff1e7e9efc274cad6bfe43f464f58053701e1d51c603d
+DIST getrandom-0.2.8.crate 30553 BLAKE2B 30211bc6a8ceb5ba765cbf068405cfc08842b2521c5850647971f4cb4bc9a5b0a9195ccfbc1461de019eeb7744ee69f934922ff21677259d7b815800516df4dc SHA512 cd7aea29f79a33a0de2a52a0a82f2b57ea8f27908ccfe00a5f42248766df88b225023603ec56d6fc634ef9c1eb67ad0135c90d4c695f6f659db0767e7fda44c5
+DIST getrandom-0.2.9.crate 34457 BLAKE2B ccf7232ece1047000140ed6bb9a1afa784be87b5cf83e2f58dff77abcd79e34120b45336cb05e47fbfde36407957fe9da8b04971092ec05f67b321fde9142d29 SHA512 48e341125223945d1c02c4dfc54df303ae27d3ceca0d5a30b42065f5e40da600cb2010bb59e88af6b990d54b5eb4bf83ae5bbd27e13e56363f5f68be03ea9082
DIST gimli-0.26.1.crate 716168 BLAKE2B c138e890457e8724295cc8996f8e60f1f4d3eed46c865dc7ff2379c65e8d470080953eee70718867b73524f57d54d4a91b5d5ba74d79bd3da38084a880f3fed6 SHA512 c341354e13a78c4afeb651a0ed651f60d188957216ba51079512531ab1273b1b79c86c57e904b87064015f8e7efe4280d9edd4acf90e25fb29f8813a4c7bf9a9
+DIST gimli-0.27.0.crate 720457 BLAKE2B 0a4fdb66844f3370203dc696a2f826135630b29d3aa78f378a162f5c74763565792c900174d859f4e15b32c951333fc35e46ae7c2fa293a70e3bcfde4cbb6183 SHA512 71563f0b086ec7e22475db77b4f18f05c706dd39dee37fd5df47e636e010c6ab1dae0f6759c6b90a0b2d7937a85878d9b8d62bbf7b5b7e2390335895c6ef2905
+DIST gimli-0.27.2.crate 721636 BLAKE2B 61a202545529618b44035450c696b52559d5aa8af091dccc613d62b21733dadde0da467d40595aab71f4532d1fc2f2a6b3744e0aefe89f244e54b9eebf422d99 SHA512 1c0bf53754db2503033c17988e1cfa824af4e01f43c874b02fa61a475467185b13657c7ddf891e06f5984db3ef6b1e37586b184443716dbe45db1aa8bd082ba2
+DIST git2-0.15.0.crate 198983 BLAKE2B 0e340dedef36339cc6ce4cf9ac79014e7bcbdf9ebf688986d1836c3e2f480998a60a2722017381124682edc5dc511368497f03c9bd9a8c4d0e7690682789bf88 SHA512 8ea32850e592cb9bc8caa0d7a04042e284c11b9d46959807d8e6d496d93946342dc37fcdf1ed354010434798a404f415e8e980fee2ce4f5cb998e0f8736b5bc5
DIST glob-0.3.0.crate 18724 BLAKE2B 1f1dd380e7d668a0c2cff9134279ebda958b4bccdd4a65ff01f9665b45ec4cce8ffbd47eb46e52cf516c5fd5803561e6bcb60cdee21ddfbb8601a95d45500620 SHA512 87098ffdbc518442995c422120cef71f83069c8f88a1970ecec5105b0f284ddd92bcee929f5c230d5b90ae1ead7e1214c3eea26f4a8b26715a00c1ab8b09bc46
+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 heck-0.3.3.crate 10260 BLAKE2B dc756738081d855583f239908f671e9b5dde72ebfb577f6387b1a169817a03332464cf67071708a4c4f06b1ecb222118e8c719073ccdec1c0f938e5ef378b13f SHA512 b3498e033f44e03206421e565efec5b21d13107b60d35e4476331c44e6effd75c81f7678f2452c822eefd581209a2ffefd2034779cca2d8b4fac4583bbbf777f
+DIST heck-0.4.0.crate 11161 BLAKE2B 13b8bc39cf3ab90e71433e3c7b3e5f1c19404bec58dc4298dca05d94d5c14c2fc97350de737cb78aa45196b1241aa8f1ccf3a11ca309da5fe0f6a657673412b3 SHA512 33bdbf4ff9ecc4f4d74cf06590e056f4d96bf0d990d5381b9da5b65682b2495ed74e27b45419c2afa986c1f6200909d5175b137ae73ced5cc8ac869e4e1bce8f
+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 humantime-2.1.0.crate 16749 BLAKE2B e2ae8325b037fb175b9200cc5c1944ce579056c6662cce307beb6701894552362a25e371aad65f8fb9384945b48815ca74bb8b544a32e0a5845b7edd30b918c9 SHA512 3bf29ddd1391d82897c22baa0ff3ed58ef6d6959859f1f8ed54d324caba5b6fb4422e56790511ce82f902cd11467f93c8ab7fc7b0e0bdb719308a4d0a446ae0c
+DIST idna-0.3.0.crate 271128 BLAKE2B cf8a2c43760f03e94953c6692423a12f28fe763aabea8785b93cd247b3aedd2aeef2cd99978a027186290016ed924db39d19fe7d397da1ab570be9646bbb630a SHA512 9b7cee27811ee52ed9bb39fe82f724742eef2e5370642b6c756bd134c8cbc20bb6faa9f296053672dba8a66f7356a08b2ca99f176407b173e2d566d85d066441
DIST image-0.23.14.crate 226804 BLAKE2B 0debec9484b54cb56eedbf07c246b80afc6de99b03e5f41b5cb9aa29ad2269cb7e9891b7377ef7ff53200959317bd38b24e823ebe5c2125677ef2588eec81ae8 SHA512 4eb07fd698c2d902979ab06ae0baef4a53db74da78493c45f0c32d5903c5399cb8a1a25a2e89bf504ffb612e8153eaba4ae41df3d17f02c27e7991fdca518f63
+DIST image-0.24.5.crate 270381 BLAKE2B 239022ae8f5cb6ae187fa886f531b3eda2134f3ca31501902a13aec104efa86dfc717aeaaad329a22ccfdd2d8ff3eb222d2acd83f01854333199611aa95c77a0 SHA512 710647226e060cc75550e6bf852a5d78f94628b44bfc5a9d20fcf60dbe10efb1b28d192e91d5a9ac8aa57e975ecc88b0f9b19d08e732694f1037d8c235b48fc9
+DIST image-0.24.6.crate 273618 BLAKE2B 3a76d8dbc30540d3b34df2bff54ac8cff024d3edbaf22d0de8acc6e48219b168be98699c823e1173d88316fe7b696d6cb89819d33dc04aafab010fce706ea35d SHA512 559f8396cedcf7141a05e3714f2e8e33e5b5873b0ea81d50f13c8e8ca860c1ec20dc2fe89feb59c8a72eefa1bf74f2b93ab81f28aea0339b2a4c24c5e4a94803
+DIST indexmap-1.9.2.crate 54627 BLAKE2B dbfa551d33305db06b59d07c1b4bf8d4596a67ff1caa03062d07f6d78b4604ac0533d1c1fe3c371702dd7e65a012bfb960d79c76db37e264d0b44be576969285 SHA512 946c54881a347892dfcb55648a2b881d3a4d113424b8c76d8957980a834895318d11336dc438a04601916cca787420708ad7e271f965c38bfeae511ec1dedf85
+DIST indexmap-1.9.3.crate 54653 BLAKE2B 7bc1768589e74020dc15d3dd064009edaaef39b7aeb682d0ca8e49944e3f020b9c04d64feb102e88b22feb40863479dfaf4722d6a77b5d19e7ca553f4bf64c1b SHA512 2aa8069eb07a814c8fa3e11296c9f032ef60963520d7786ad20cca5cb7e73b8f76d97722a994d65295bb713020aadce5008cd3df5e99d8bd968ef1979f910a37
DIST interpolate_name-0.2.3.crate 4165 BLAKE2B 4399a4330a833c45918b94c78a269e9166a616714faec00998a69484e3fcb8cef20b2a0fc266fa6dea5abda2830e0f9bc958f51497b249c01e1f60373e198a59 SHA512 964944384c39d0c085c05a7643ed2e8a25e224e6b28fd9da9d971567b4d56e7c4887a61e107c718cd95c19c6d83f355256d1130206491f7b286a68899eb7b894
+DIST io-lifetimes-1.0.10.crate 37294 BLAKE2B 9b8836c4bf30e6d102fd9973ac66f067c3ff8bc2806e55f26368ebdc9854f2e9cc6eecc8014f9a0b22a968a6eea8be243fcb7a641d2d0dfc747ee08a6a1450bb SHA512 4b2cde9522780a408c5d4e6406286bc5dd3a0de1a99675129e9856e5d889498a127fd5dd7c937a7542135abc2213b60bfb6258b7871b8709dcdd79d60455bea9
+DIST io-lifetimes-1.0.3.crate 35650 BLAKE2B 51182293d373618fdf5dbab016167a01b3e12f79bffcbcc00e1679c2f63a167f7fc291fcd8f886944a855ad5d9828aadc9aceff1a3e5c09106fb274b39e837be SHA512 afb868979d54bc99d5c8a1c31062c91ea9e920470bb1f0bce95c2ebe0ef22fe8970ba86b2ad570d789f648485ea4d75fd83bba34e5a590a443698c713a321388
+DIST is-terminal-0.4.2.crate 7577 BLAKE2B 4ef84768184203b58e2b155256e35fd7a74169a8ccd52c3c74aec7fb1d6aeefe6232d049bbdbc40ede2acaf0be453caac19f758cf1abfd04cd1efdf4022c4996 SHA512 ce4997ce1b9f529a7d1b875985cde02440de288a0e823f2f5a9647e3a34658c5f56d254e85dd7f152a987f08f428bd82ce7e2af626c4b3c76cde50e8ae1e9374
+DIST is-terminal-0.4.7.crate 8356 BLAKE2B f0f42d6f6204c68bc8a9e1290b9b059ec55f5aa2f83f6966711a5f986852befe21ac9281fd611e65cb4fcbf35dfb212748785c7258c44602e7e390c51f09dec5 SHA512 56c00b2942963f8a0b5c40c96a885f85565fb09e247bfd5a3e77ca5c9e0e0e40a17a8d809c0541177e8b496fef87baac4b86c751765491ffffdb631515d8acf5
DIST itertools-0.10.3.crate 118661 BLAKE2B 0095d6e7f14ddda69605d09f74e8cc881eec1a1d234f705e667d7f9e738ef157b7ddee066855cbcad7f134bf79b99a4a4c77bff3371397a567cd34d98b68bf97 SHA512 9d17357eb68159edf4f4ccd2eb9895672c7fb633803166d5e24ee12350639eaf66f1c822910518185cd1f1ca5d9c3e228dd37525e6c337ba3fc7ce967f9bfc85
+DIST itertools-0.10.5.crate 115354 BLAKE2B f24734bdfedf1dba48554e39b43669efcd4a43656eeb2c511096060daeaf049e1ad3eab232e757057750ce94aabad9fc8a0cf29a997edc6c4b167301c3443391 SHA512 d03c3cfba9841776913bbb6daad0c8945830c155f32ae4b48872e0f937c75a443f0ac9a0355f43b359ff75232f38b15f4f6d446b4be30b00b4209cf66ef770c3
DIST itertools-0.8.2.crate 89203 BLAKE2B bcf8c00da5033f36cc205708324fd8eff083d46313ee84f567e4f333d8ac1ebe44474d89835a312a5357a48659e2f51d34d2194d548256118943999a3da8ebaf SHA512 325d87a80c0b217469762ae958c46925d284b37ddd987c3ab977c864f426dc6e4515701864f12fafbe49289b45b1910906f0e7d884ba8aea217cac521c3d1ff3
DIST itoa-0.4.8.crate 11926 BLAKE2B e5a648b490908d0ffa3a0832342ad11264eb4357939bb39aad014aed3938bb60e82703b7e31929a458525061e9bc40539d33753bdbd722a03b6804e57dd1f70c SHA512 6911d269ff3ed7350e4f0dcfc6e9e0d70e25833e1e7cfcc57d5b8aff1f47b8be4f2e9baf1b92e5517cff63492be489b6d29b48dd9bb642e428acaa431216b68e
DIST itoa-1.0.1.crate 11059 BLAKE2B 5a2e22ab891ec883a90f652c88f924113252765579c03c783e43210fb2604e9e3ccbd4c1571087791be07bb99c4e85c7f85253be831b3ea883bc0ac18a927980 SHA512 8e7bc1e9bf4fc06871b9fe20caad4e0af965477d724f4c8d0e2a3a4d87aedf99f92e4e583a6440ce574d0fb43fc9d6a2e80add52a2f64210c6aa3b402e424295
+DIST itoa-1.0.5.crate 10622 BLAKE2B 0d08db487ee791a252389e40e08e47a649d9eb90faad16bfbdfdfde46366082d2e3561fb8a62da80b122e7771052c50a0483e9618260d094820e20748d99882e SHA512 b90841e3a016a9a68cb090e4bf78959bbadecb3391cba71e0deeb5ac2723379ccd3251ec18a0bd055fba7cb6e71608ab1d7db990ad4d03cf2fd1289bd5834540
+DIST itoa-1.0.6.crate 10410 BLAKE2B 8b1dc9ae9d55a006bb2abe3b0282e5e77397814b692a87b9becdc2bb74deabf5db09e3d5a2f604964cbff046148025988a5d916480e0402b2b80646fbed32875 SHA512 e1fb82fe16e1248141d48de9e05e7abed0c6fef58f2ff8b77b52aca5f16f3600c46707ff4c7a0f0307047610f29775bda74948d6d1efceb74b37cdd22e1fcf31
DIST jobserver-0.1.24.crate 21303 BLAKE2B 571e6f18f09d56d8281d2b2d206647666dc6e9ebb0a1fa48f707d3cdf603880b78ac6a2ec2239658a220e70924ed1612dc19ad90fcef883f21972a1df4f67d57 SHA512 0feade0f1f0a458bdbcedafce8fc39f44adeb56772ea94a59f16f038a743f506db1405a7c8deae65a6a5c1695bfb363c19aeea1c82c41c7f4d1101469f32e42e
+DIST jobserver-0.1.25.crate 21888 BLAKE2B 2ecd417446f9eb975119af4ec74c9b3463d061f5348ebca380f0ab9963ccce6dcea8c1671c7701f3f867c7e49d0ec130809a37bff466261a2fc75e80cc01d15c SHA512 0c014e7c72a070e3332463cfa6e9c9095d542a68f8631150bad0efa3706a2d6de0347bf7d1221cc3bc0f3d5f9840fe7188aad949559375403b929d43b4a524b7
+DIST jobserver-0.1.26.crate 22645 BLAKE2B 44bcc15330268ea29650e58605c7f21c35108eb64b790c005968955238e948d27b3d12e6bb06bfc0eb4a3fe5f9e5322bc0657200212bf87e08d9e043e008a5a8 SHA512 ad3ebb693018928daf399e918ce35ed0d4e643cfb5c78bde04697e41dc8adf2861023ea1cf2c5033a3026048ca0ebeb7f2f57a966ba8e420558e42dde8d494f7
DIST js-sys-0.3.55.crate 70499 BLAKE2B 6108d6bf4be72dc93db5c2f45d59dcbd7b94edc02ccb368a05bdc0e259768be4708e449647b254bc3c542a366492a02f0569d08e69c00249f58b07a566cdf97a SHA512 bd51d61684b3683d5b80df42eb80cb2e4688096bf14fcbd30234503709b1730ab25c7b58112516aeb5d7f44ae20e0ba08bdfddb0518a20603bbb4ca74544d4ac
+DIST js-sys-0.3.60.crate 79257 BLAKE2B 714facdab00d567d074de4a25b69487400c23194d0f58ca784159483f9e02289acadce084b1514d8816cc9e0597800de82a5298b071b7df19a24df93541f23c1 SHA512 543dfd444539fad27bafcbbf112366f53d4ccf4bc63f8bb17820d818c3e1804656697ed6268a793f383ddf6b6227f7e9b3a11fb6fbb24e10732fdbd971801665
+DIST js-sys-0.3.61.crate 80158 BLAKE2B 07980db627a1f4f385586ad0609b5daf30d590931d2ca0c123f2d84f6c97be0ea935aaae3ccd082440c7e7da1adb4eccfd054a3598d99351fafdfa748f567b5b SHA512 f97bb546af2111fe072a23cbdc71e4fbfd39fbfc6be37132b306853d5737175d4c9c0c4661096012f7fce3612f81509e62a97df8bcb21d7cc796a8084e5b2e16
DIST lab-0.11.0.crate 15140 BLAKE2B 28763aba9809eaf8ee5d90438ed973fbcde5861d78f51757a23840e5c1823ac30e53cfdcd88c6a8f0cc44c6b0d9ea7e8e50192f40c290c8ef1e93c9c58b35a7b SHA512 bb56ba0af097c5822f6e9ad51f0e4202ddd740953336f9da79af072feb0b40fcb18863f17df4ea8a076e5af719144037303b0fff4fcc0e5c37a018129a08fa91
DIST lazy_static-1.4.0.crate 10443 BLAKE2B 25b2e61bbac48f0dcbc79c81d7bf01f2403d8269ecb6be3ea6147bd00f7a588df15a91f44dfc18ada19b21faa71de4637c7d493a8628cbecd0e547d74e616a23 SHA512 e124c0521ec7c950f3c4a066821918da7a9c6e711115d98009ae7c351928fdddead852e7596fea5937a9c30e4e4ce8eee7099b20248b5d6e3b2494b6a6d88cb8
DIST lazycell-1.3.0.crate 12502 BLAKE2B dca2d3f46823a52dcf87b7d6103fc4f1f83bc5247ce361946ac2d9df239fb43ce4b418104503698dff0242480cd014996e77da4ae0a88f3cedbce4eb9d3c9ef8 SHA512 f9d627afc28b61e9687a3f72260eb013401fd64057647641ff2e763770d7380ab1d2d8cbb4a3c8818d53d504c618a3b46aaf701f72f4d7b25d226042824c2f8d
DIST libc-0.2.112.crate 571445 BLAKE2B 3936f4fd08cda0ad5be7b1ff417b6dfc9abad14ea5cf647425d8a2e7306275e958fb5cab4de9eeaab95065176bc295065bafec3846ebadb6e15cba20de495280 SHA512 6c1a027eff21d3ef8078ad19b90b06d90790919a848e95a4c878e8c8b850d2e9be3fca36d8db39b24e472f15e5352ead1182d5491a0b382e06f8c3ead379c45f
+DIST libc-0.2.139.crate 638983 BLAKE2B e92b296cf8c916e10e859722ed75f4790401662ff7aa2fe8ed84ef9b94a00538768be33c272f0881e42da887c8c43e1fd44d061343386216492a76fe5d308598 SHA512 ff5fae517c49c382dee9b1d7479b65b0a818780453e5c00c416847d02f42186e2fcf19a8a8dc5e9cc2611300690c6ad324f9c0f0e8172e913a1b781fb7c0b5b4
+DIST libc-0.2.144.crate 682092 BLAKE2B 1f699cb880a65baf9210527789abb35fe8be9565828d061e12b5c76330e21babab67b21e9a44be6a706f643f3c8b98503a3b40482183188b49f33f96a2489a68 SHA512 576da68e3845a7149f64bee425529ffec4bbb8df0272790182e49c8bad5b9744de21ffb5c1206753b57b7fe45af02c6c429e16522b72a77e5262482d64df5692
DIST libfuzzer-sys-0.3.5.crate 112480 BLAKE2B 0c566e9f8187e51708b8df88333a9ad92f80e62be22c6dcede44729c87a245f41ad254dd4bcbb76f5f6be3c7c426770b0800e82ad6e4b1e5b598e54ac033ee9e SHA512 d07c49351ff8bdb1cfc62f60cbf9147213bfd524e26dc50ca17f2374868a05581c432822c396222fbb9c72098fe47a57d97423f4b40fc2e7577801b829a8e796
+DIST libgit2-sys-0.14.0+1.5.0.crate 1740370 BLAKE2B 0bdcec13f78292ad7849f88bbf21a8168371e9d4b15dcd09863b2ef703caa8e94a33da01164214620e11ff6f75038cf9ee6257c44aed5e07c52af044abca9952 SHA512 b2e1e54b172e6b0c71fdd02da0800e9120a3fe1b9c33b5fee4e667e9aa627979012865397b406fe91437425bf52e52a26245cfb7fa84f3ba64269dbe204582d6
+DIST libgit2-sys-0.14.2+1.5.1.crate 1742257 BLAKE2B 028e6bf6980d7a54b76c918fcd499684869f14cb160e821d6657e59925d142655dae6e018c9f29389de304ef6109197fd71e6e6752d0d0a53152f2c4820ea1a3 SHA512 eb9602706036ea62ecbc08250f297119a1c51ea09ea86ae8630dc6d0521b74db96d8eccc4106343572eb70d9a156415c017c6a91fb5529100fbed091ff8e7921
DIST libloading-0.7.2.crate 27229 BLAKE2B f85ba948aa88e7e3e32984e4a74e34efc01d3c35354ea30bc3d8f0a873094eff8d0c30b8583fbbb57e6afec8d505d4b53c8f2b7bf879921c986d5908ec6354ec SHA512 235ecd8750baef122f3f6ce673e4feae621d806851e842f33f95e8a414915776c33c11e6253da449faa12855f5e444f691c591cbe66efffcbe221d6ca2d32a67
+DIST libloading-0.7.4.crate 27580 BLAKE2B 491faef2659270b10bb88ac46e0453f747f35e78d7f28b7d6d9151177b4c7a7aec0a1efdf702eda0988c31e9dafff2990eba4e6a9b0b695c535ea9086ccf36e7 SHA512 34439d9eca68bac8fcbe2bc94a70e07550e7e95d713ab74ed60ba6736ec807fd9c9135c178d436fbeb39afb074b2a9b05775d953340845c088f5f8712f5f56a1
+DIST libz-sys-1.1.8.crate 2481844 BLAKE2B e890a3850aed5348afe7558168c7571564687d6a7d3567a4d53ffdf79444d38c4d70d35891e16f496f31169bf73b669534f5fc584f9ec520b518dda05e80b882 SHA512 0766ab72cc1414160ccefe4812e6204cbed1341607e5d17607f24fd4ff81dca68d8f2cf43e1d27f332a508d602bff0ad340c4c647a5d5f85acc120c19cfb4100
+DIST libz-sys-1.1.9.crate 2404387 BLAKE2B ffca4e9993a8ef2af6360d38cc8f2d3c6f1d6ba27c689057bcd99500c05b80aefe5225bcc77ff2a1c75289edb0da617c2ca15c4f2aef7c06745521721caf4728 SHA512 0d474b79aa55f1cdda8f52c87fd2cde84da80db5e18485b3e6845d40c49c6f3b3b92ae73e286b06acbc0e05f36ef3975231fb57e1b5b6546ad90a46752fa88b2
+DIST linux-raw-sys-0.1.4.crate 878981 BLAKE2B b8708b06e48ef4e32d820b5a0e25ce12d3d985d729a2d7fef46d0b3b4518b4ad40d037d4689fb2270f9c2583dc031d0f4daa26500197e6c32bffd1400357934c SHA512 ee6d5a7a08b183681ae00890784c9e6b72e4c987b2ce2d7de6e7308b7a10d4a2b532db3d5121523bf5d4a262407f3033af4f4c1fd9f09be091523366fa30d768
+DIST linux-raw-sys-0.3.7.crate 1013423 BLAKE2B e77b372a391c0389674331647f8f479d96ebfff99f6bbe60b6d8935e035834026e15c056f098c91ed328e512b72b7e25b04534841aac26e658991e41fb9963d6 SHA512 49a84d3e57f3e3985fbb82a2d59df55bd7a259a65a2b2dc180b6a32e92eb1dedad0edfdda1fbd51698dfa31b1ac06777338910c63564a14d1e85d9b7344d21dc
DIST log-0.4.14.crate 34582 BLAKE2B ddfba35947ae1f5905cd9ecb9eb862a78af6f00ee8b8fe6258b369b140928fe677a02b1b3ca5bdec36ff2b16abd85a9f49688fd5f3d1ba2b2905e7f96b8a84c1 SHA512 796100167663d85a7bc4244cd305e9b3f0a1b1520764b63464698eb136318d0928c40c16f5d19d9f602a5bf769851275bbd48d66b088b0c37be7a6fb62def7cc
+DIST log-0.4.17.crate 38028 BLAKE2B b46be3719fc0a53e50b1f342762e188587e9f1ceb692c72473ce2663edfb8253742d30024e68c1444780ab7fc0e2d5b0601b8ea7228dc3405a9342a57548e605 SHA512 2477d88db42b1d92c30708d88823212e236f613b3465e85eb425f83f8d16fadfaf0352f06c2999a1852102edd2f6ffb10ecb539d8a3b6c48f552a25622ccffa2
+DIST maybe-rayon-0.1.0.crate 2781 BLAKE2B a564232c540f12a27c7861ad45320a28152c5b07baa1088a1ddb0ef8a1c92c163061676bee127721b48562f010907b4e8d8c1696b025aaa2615e7dc689c1a5ce SHA512 18385659062be0fa98b3b0ebe6191b2fd5fd1d3d8dd5aed880cda136e3cfa7193be4d810dd23d9e2c5a32c4c2a4d1720abba6b16edd9381c484accf648784a2f
+DIST maybe-rayon-0.1.1.crate 2901 BLAKE2B dca587f95e7766a0050b320cac7adb31d3fe9b84688c241c004824da684df0ce5f8c04053cc120d70e4325fac7bddc5d0dfc5aaf29c791b67503e7588bb81182 SHA512 6f4e0e2a342fc86b5d0626a08779075c68911ffd3f837ac6ab2c15c821ba96e50617cfc9df9d16bf96ae57fa1802c5549e21d67f79e4e1c3f10bce04b88115e9
DIST memchr-2.4.1.crate 64977 BLAKE2B 31479718c118093b684bed946eae0706d77d9d275bd49f5aeff4de490f479abd60c7dc462150eafffc6d6fc1da0853123b78be038826b775d2a41a4c39d93ab5 SHA512 d8912e3902a2126f86159bdc998532a2890b882cbb7d59b5a470fffcad4c32281e045f2fff48a235aa4189f1928866bf3d33b699d50866ad6b6c272bba7adb11
+DIST memchr-2.5.0.crate 65812 BLAKE2B 57966413a1f933dcb2d2d4ccb29c247070f65a83299b2a9f5aa83f5a48a5c5f1c4c7c632fa63bd19f9508e9291e7258db2f16e2813a56fd84e0856f70f1e67ab SHA512 444a163b484c233e78c0e2e4d51f01ce2da93d7d29f516a95e4b0866b20bdfd3f34137653abed53eb70387991ee3e2b5937d8d4360a85bbcb50a93005a75defa
DIST memoffset-0.6.5.crate 7686 BLAKE2B 9a797388702389076c426052c3d54dc62802d5db8bc5c9c83990429f2ffaec4fab4c7dd3f09cd0704d1ea555e87976563bb43408ba54b5e66ce7e406d4604009 SHA512 11bdd9185b99dfee8e659e051b09ee301c7142a372a8117864745a5085c015436d2efbb1478192886f09cbc562529e209d2e3325d94938a64bc75b1d91d2bf3f
+DIST memoffset-0.7.1.crate 8556 BLAKE2B 1ef270f1c8dba32e66cf47a1835f10c342024762c0e56953f16e82d575250028154054d4c42b1324c60f955a40fad3bbb1c5fced147c11c9a4ad62f6f0e948c3 SHA512 40ca3c4b1fb929bec75bfcde0135037f81a6c5aa80181bc7dd7bbcd9c0946288eea8d23fca95e296567ccb02155ed0f66c7c23644b5cb3e6d3932be9f9742157
+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.3.7.crate 44996 BLAKE2B 0e89ec4131e7abdadaa9feb6019b31853976a34434216e0f89ddab519559d0e1feaf2228fbc09906e51fb0242a18abe1a67a5362e080c19fc7cd00c2f95f08ae SHA512 d4eff239f8d6e947b94619e80fe03ed32aabd1a6393f63145d70ed7f08c51c45c7261d8157bf61c78d1637ea1f71ef15f9813ec733efd8afe6aa14810888718e
DIST miniz_oxide-0.4.4.crate 49938 BLAKE2B 3403416bf9d10b67ef976eb23be64216027c67c56225efd08c87f8269017cb5174ae64f35d18acb66c7a1b831347791cee5af565f3ddfb31ae4210221604b0c4 SHA512 2c6e484a8a53c6b1fb84e2bf9518919e6e5ba84e7716c0bb8e33b53dc0d3432c35f28f19c18368e27c94f6df66b7674f514ef889cf1b19f546bedfb6e6ebaf6f
+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.2.crate 9733 BLAKE2B 60574883ef3215444cc3245e0b789f4f8e87813207720f0abae3b5311ce4426d3ad2629bdbf906d400ab785bac77d4736f055a4a614324481b700d9d850a5494 SHA512 83c6953e7651325b30f58a63a1cff203656dc0facd57b2f6285999e5f77e95706c9e16b2927b237ad6a67bca29253632955b9b49bd6f0600cde2ff03107b1fd7
+DIST nasm-rs-0.2.4.crate 9919 BLAKE2B bd8029f67065e08d73c338dc63cd9bbde87ab2dff6d80cada6a24abec59beeb44b2656efc9bdf81c307113fbee36f840e392a364e09115523101435f7747c5f8 SHA512 220824b9acc693336a684e1d4017ec22e5feadbb61c5aa98c5a5061d5e3e54fb35401927d01fbb01f28f2cb5dfc9d1e48806428faf20b0a0d71f77789a45e352
+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-5.1.2.crate 136174 BLAKE2B 32387d6ded0fbcdee8a1a0d0a08cd36bf92c38906cd199b574b6b9b24f6c245f2287e04374f7d84e2867d2785aa16d8c01ae3bd3bc811829770232681e2d33a5 SHA512 53b8ddab62475588efae46c78b5fd086a14c0fa505c84e625fbedd6dc74d4ac047e9fbed7312b797f126e9ca1f056458d8ffe0ab13f0117de685ef8b43f86aca
+DIST nom-7.1.2.crate 117341 BLAKE2B c7956334c92b7f7d427e1eb7618785bc240217a398e6a5bbe58454af99d06ac997c58ce239355f5f8ce4fd29b54ccbdfd7a07d289810fd46cb83554efb02715b SHA512 7fdec020468d6a16fa1d2602478bf07324605f37ef6e2ea9dfc6aaa3a772fd6d54b5facf6b5f717368e39f269fc9218ffb6d1854db60cf2d45ae83e5991d75fa
+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 num-bigint-0.4.3.crate 97799 BLAKE2B afe9a08bf20dc974dcea12b5f9dd465e8b399a0cb0a6d0028d08f7f753aa4dfc929710e4dae883e67633d9dda073f995287e5315b1487e8f99f8f23f1f70e581 SHA512 4b38eaa8b51119dbc7cd8a1e177f37ec935ee348b693a93378742e9bfa68fe5f7e5062b7f34638283c23f04d2127451d796d310cd8adb64dc8e865b28708374f
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-integer-0.1.45.crate 22529 BLAKE2B 4da3e801f71ba8f92c692497e200bfc8d32183c94eaad91260683b09f4697c03175fec7cff5a9ff3782d5db5d514d74f22f7a61a102c0f0d2e67a7a4b4f29222 SHA512 731bdc09c3af7f9d8b171041f2957aa60facef93b06886000d8ba60d410aabbbee358d700bf31b2588b2e077464f290f24a0b712df7bb7f12972675b6c9bd735
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-rational-0.4.1.crate 27889 BLAKE2B c6db5b2165eb341268cc8b81df44caf25a18242d0ff1cc0959444ed9a51ba9985c1238d6d79433c3927267ceb181da6d491bf282560db6bafd7768b79ec65842 SHA512 a7547ca663543e9da9e18dd079762cde371b85d55874a54d6b343ba775a9373392c85cebad511c53b5af5db298bd5d57ccef6161c1c28587a6c9fa2c5962a0bd
DIST num-traits-0.2.14.crate 45476 BLAKE2B ae310d9d5640acc3e45e1e5d1d2f519539795922c0058ee940c94c94b6654b39358b7c18dd23a276f2c1b16a30dd4de4cbc8575bcda6a5c11e70665d670e6439 SHA512 c3028eca9f7b718de0db3a36cf3e462bdba43562d52c9b809ed4cc0aa6af403aea542d6d4da743cd1dd541397815a3c5a84cef4d6e40122994e4be6a62319b2e
+DIST num-traits-0.2.15.crate 49262 BLAKE2B 942ab170b2acce1cb40e6847f766bf810a79edd293d34f3a27864f464c16fe2b99fb13171ba429cc6d584248de879434beaadf1b231a4001b0e8389ed6c1be04 SHA512 5228498af0f15daeac3c9210f3e6e71cfaaeb30beea81dd37f8eb06b9592c8bf3226a47597cd8592ad4c513964a9a40f1ab2c33102ef3dfe3800d22c8d4528e8
DIST num_cpus-1.13.1.crate 14752 BLAKE2B 27490aeee349d944c29e50b44e9a84371030459353a9316ffaa0245ce499df4424e39c25a81be59cd0f9a19c3214c78bdc7a84b632059282be476d8f918c44d6 SHA512 91ffe0ec792228621d6c2d5cc544ef4744203d19fc9c86e0aad2610038c43aca0448b6c27d82979417a0f6c939ea73523303a44c28df0d1c1b8d09814d5306d9
+DIST num_cpus-1.15.0.crate 15680 BLAKE2B a4d98b29ad534de9bc262f58f615ec06bde5d5a2f5252f09b5a0a6ecb06a9daf9709ad9045eb08f7cb744d8a838854b9095aa73918e06624a84efbc11a9a5c1d SHA512 fd4772868def9460a6ee17ef6fc00b0bc74115eec891bb3fdb07ba5b5fe4057a2ac69eb31ba8beddbd3189c7be4545888e5724879f3a89132fbc9b32aa7bb10f
DIST object-0.27.1.crate 228030 BLAKE2B 48ebfff83ebd0c1bad5f956f79a0f8628f9cdcd75638ecb92f040ed84f625425062c16449ce44b29d9d99c3950554fc1a480046fff922bba30348ac14d68d887 SHA512 3f25b663fdbf9a38090c2b1cdc03ca40bead87fb83f99143e79a272dfa4f2fedc387a50d3412d42a53aab228bbcbc6967fdb5a0c8db0a8a3e3ae9cdcf1061589
+DIST object-0.30.1.crate 258223 BLAKE2B b5754225d2aa81bfc40fd98017ddb13a124df0151fa45aaf6ca030a295d9a351df495a1e0b08d94bb5b4dc05229c8de32201c8d6d31640994dce97b2784d657c SHA512 dc9a3a90352a662c9adf0f146ec1bd69bf5b891b6db9f455e6fee4317c74414cf93b2358ae338e14163dd55a8e6892d1a12b73636185122e6c1c5981a5453fd7
+DIST object-0.30.3.crate 258901 BLAKE2B 73e190fcbf7c47950ac036306ca8e6e03bd1772466cd580fc51e246868cc69c4e49c712601759533ea650c806a8363d0d77582e1363ce2b5f92d4b7439fde91b SHA512 61414475d3fcc7c4c3ad8c1316f6ada7801e28590d98bd425fa246f091d464de4eff7eba7cd74904517dee95ae0673e3d581400adb971306955a0aefa814172c
+DIST once_cell-1.17.0.crate 32736 BLAKE2B 767fc8f362ce5ed7a9eafceb2f0764a2a1c7f4070e22d1e6e2498b3c841c5f761e77fb66a34b899a75d48f1563f6b9b73b90aa9431055d4e0269c47a1b043c1f SHA512 291d87380c0ea17fb3ffc9fdff8620d2ff55601c06ef65b2f0c54254fecd5b488645c6e94c6026b82071893f4d420491ff712399a782e14efa1e323e5c299c46
+DIST once_cell-1.17.1.crate 32856 BLAKE2B 8bde2aaaf9ef45d1f6b8458686179f1fe9295ee8faea269e9b49779583ce26ab9dafe988c3584e841a9e5d05e28430ca967ef3b25e755f48f0120d9c99cdb7bc SHA512 1302d51801e38bfee23e74c0046f1ecb1d3c27309b5fe11c2b6c99553b357db502ce1718695602f9d8b10429e8ff03f91c016d5d604957083728293824c05904
DIST oorandom-11.1.3.crate 10068 BLAKE2B 443ced49f63015823866257a36a88e566f75adaa79511c1c73f1190ec8855ca590d2b6ece07c2ad5e9e47a89f7891af6e9e43b7d74d9ac57cb3551e60b50aca1 SHA512 51ae60ef51da56d7673f36a6c5b99b743580c5f5be54fdcb54b69e5e2f6bbba3267f96b74e7cd6dee6962dfa6696fd9ed073f22726a2861b8f2601946a8efab9
+DIST os_str_bytes-6.4.1.crate 23101 BLAKE2B 252fc826f646bbb999fa80b47f58ac9a77e409b10a99284c7b669304c0cd701a3d20e690350018f5d7de8c6c7d38521f3413ac81d08067dc26f76b7c0e5b056b SHA512 2199502ad24449e08370686a596f905325f5b145e105e8c7bf90ed7729bbc405e065fce62c98eada40f77f0665ca041db41f16cc8e62473501eca32c24e56f43
+DIST os_str_bytes-6.5.0.crate 23166 BLAKE2B 60f5beced502b7bcf165dd2bca2989f9039fc22cda80bbb09d2ed0eb115831c6e0f80292e656f4bf9c0b0635ad10210c88c1b23bcbb59b8d2729b6cda473ecd7 SHA512 cde7779ba24304256cc57de78208af4d26bc91dae7fbb9c85e3f67c3e35cb6268caf3fc9eef530a8d3cbdc951ec3534223f3559d2a013561912231ebdb1801b2
DIST output_vt100-0.1.2.crate 4062 BLAKE2B eed08c0a1800560d4f623f451d818e3c7f0dcd72fa99f4e5e6dd4934e50a9649011ec955e06728fd017d58bb9f36cecbeb9b4aa8c13c040225c24019f774e63a SHA512 b8eb00a541bebef2e0bb44975c4547fadfd4ab88a14aa8e31945f3c73531a550cf5729f1f3d18fae5cf36286b82d1a54fb08b28720f1592ab6cfe0814c8d3036
+DIST output_vt100-0.1.3.crate 4473 BLAKE2B 8c75dbcd413e1273ddf077f3b57996953d70376be6e438ee1a4de83a8c3c535d4cc866849aed91df74aa9b22d41d428b1142cefe035dab7404ec89af9efaa832 SHA512 ccca3b4c582e860b0643dea78302fbcb96f8f86b356041ae9c685e7c48f1721fd3366dd1bea39afc1bcef03b298d0f6c87918a1ba92a56e6b06bc8b4123c0d89
+DIST paste-1.0.11.crate 18349 BLAKE2B 02e3168fd03a4036bff486cd01bb7f7fa2c355cb6087c4b92c091e9e16d6d098fca1f142cf29fd0428fae9fc32bf96e84a0fd59ddb5f6bbbe155dcbfd1d41558 SHA512 136f7e840a20d18b6706929b0c440ea2d546d0931da91236e3b401e0dbaa74aea95510277620fbcba401f2ca7f56a315049a77ee16a4b228dcaf63f90bd2c9a8
+DIST paste-1.0.12.crate 18156 BLAKE2B ab4426f9f588de4c50114421c4f9a0bb2fb5f144e9cde5d0d8ab14b3a451ff5219a99ee1cfa82dd48cae86f70d205dd8fef591651e443ba118bb27f7446e601b SHA512 fa75129e5463347ebb871f2e409463d2f164e1d9cf7160aca044dd280582354cb3286df05d56acc209174e371b577996a5b99ff35f12810610172bd9de21f98e
DIST paste-1.0.6.crate 17808 BLAKE2B 8659076678f659ab0bc5d9c626d405f1f545742c79222348ad6d974beeef4541663e166247433c617829e5e65fb7a5b4d00656d95d37bad214bcfb2182d45677 SHA512 cf7795c64ded12c16ed7bc90a29bb36156abc8c424066c62d3eff8831a86b4133965d87b8b76b17ed5487ec286fc80e05fff1180833dee4b48f0429016bea25e
DIST peeking_take_while-0.1.2.crate 6697 BLAKE2B 31571604d00872900abcb677a483da93654de523bbdb0331c326dc9a3e531f246e571bebcb983e79dc46e33ed6dd32b978be509841ec0d9f1e7209c06289c22a SHA512 7bf8721987c3e2e1986683dd897746592a909382f02b840b777effec7d8b0a864c1a83b03c73d555e359f22c423168a54b75448a7e7b996b739527ce8c88b721
+DIST percent-encoding-2.2.0.crate 10075 BLAKE2B 397e59acc3953868c709244b89a2e0db3304c0b574ecba761026b570a485f2cb5b0b2a0159586d1f342ec395ef02ace536da3bc1c72093e1cf93f8b37b26b0ec SHA512 890a5256d2b4290e12e04a02c3529f3a017faa2b6016a4dd0f08b36509f0b1107eacfcb4702024d6a21ff8852a11f263c1adc096b16ef8d12c45a734c087fe68
DIST pkg-config-0.3.24.crate 16489 BLAKE2B d0bd099bcc39928b6758c22b14291f2dc4f4452c0837aeed8c3ff6086cdcf29518806e4f3f379804c998d752b717a26d5c0054c071c5f4c224a3e03cc6a3ee51 SHA512 be22c609b3d5a9a38bab1d30792cff397cc908f1c53fb2da68a9a7d1258e53ef64c1c5b26d840b0ed1d35b307c98ffb499c82e5796e88be0a6ecc0c6f3b5dbfb
+DIST pkg-config-0.3.26.crate 18662 BLAKE2B 2ad92dfdc8ac0414b12a61dd30ea4ac5f142bbb55d0555ecfa3a53e750367e1b11766a693ef11f8cbe5a2ddb978327632458b2bcf75be7aa8f973262033349ee SHA512 509c4d1494cccc20de6a62d9d037c63ff77ebee8d907747c57ba0926d177b08fcac0231ccdda14511b453deb0b76ddd10f8fbdf63ff94257d72a12a889546435
+DIST pkg-config-0.3.27.crate 18838 BLAKE2B 1295eb4f08751b3663cb2c7c2753f29bf2ccd80f4e5856909fe10b6f006c37fb9672c9518b9b416546469faa18821512673a66543c0bd1e848bddabc456d0a90 SHA512 41e9b8d4fce6b8244c2ac8566318a001b481bd42a182f1a832c81ce93c6a023e18af03aa3500b134c30195219d35080433bdba69b2594e9665081debfbb4533a
DIST plotters-0.3.1.crate 8595577 BLAKE2B 7c500c43c2b2875d9dc17e4eab57cbd8a470c6064deadf4e78c429abe2f1e97511f64bc67782b4e03e7cc47c8ac54aadfa5f7cc8c27d3b4453d2ee8252896c99 SHA512 c7bcdf9da56c2d1c03053f61256d44d2384fac1a9a7e0db058090c13b359bce76a2a96bbcbfde04fdcde0a9dd3db8a1a22bc57508b0b6e4a374c8b35ec6c9707
+DIST plotters-0.3.4.crate 143219 BLAKE2B 3121caf7d2a62d3dd337d887ea2343981d23b26ab742fa192456d58a73ebd07d384ad6e1de58671b5c06344c2efea8e32168d830051d425a63299d15746f3a73 SHA512 04d490ad1b822195259a661dbc605ec2f8e190a5bbbbf549741b286aa888b26a2c7468d226cee7718bd69b77e026283944367504db98c0293b3db4ce45103534
DIST plotters-backend-0.3.2.crate 13524 BLAKE2B cfd42df0fcea4e5ee944a6b8c48e3b7fcecefd6d97f07e1c333067193c211da9eba29fb56e9fc8b861cfa2d1baa3c042fddb494bb66b9109656b26bde7901f7d SHA512 116bc6866094a2ec40a9ab9363378566ff37eeb4a4e3805562dd3e95f1d5e8664b54d3dc858a2c9974b125e308e46b77c294de2a655f836d342712c32f0242a3
+DIST plotters-backend-0.3.4.crate 13416 BLAKE2B 2b7090fb98ab9c28fd8525e1b3b4ca3410dafdb80563f52b545af70db638899123455254861e95973fb9c9e178e83cccd941c7305977de033091ed957291c28d SHA512 4784da70eda90a48aab38192619cfa7df733519cadc3b9aecd339dc735a9237e03144eee4f22f5f03ca214a732e8807d179d455032dd255a8125092ea489228b
DIST plotters-svg-0.3.1.crate 7596 BLAKE2B ac8dffc5dea833c0506c472567056be0804e5519828b68f7b3bec9ee63dd59f9aa828c10732a50e004214512df06c7eaf164eb9613cda75b2753270fa358c0d6 SHA512 4d3cd02534440dc26f5eaa3b4966081901626c61d9fabe0092fed87c48929cb9be070d9c34486fc7c7bef308337ff4890d30f9581a613549e507db60dd9d8876
+DIST plotters-svg-0.3.3.crate 6916 BLAKE2B 74c2c71afefe1148c82f8695ca3ae5283bad5b084e542325f3b6d587eac23f9fc087b64033043ff52ebcd661d40bb91c33ccd0de3c424ac0916baaa3a69c63b6 SHA512 1233eece4ab91ec690f93c7134ae8e6405183aaf500b2dce6973b6e212058334b7335aa80915e40363b9d2057398028c57d0b3aa974b88bb42c4e0e4726e7a92
DIST png-0.16.8.crate 52598 BLAKE2B 03f706591182a89b0566f8a793163372a4db3e7a742f3aadf06fda93068c42a4351722796ddbbb013fdc1be5a88dc02debae50ab1cc3ac81d72d07a814b456ce SHA512 df96f8580d8cc11df54788ff64ab3269b14369a467d7c29964a5b19add5e7a82258e6bfda40eedf135bffa98a2a86afbb725cd085cf37f6c433abf9a7485edee
+DIST png-0.17.7.crate 80979 BLAKE2B 37628fa2282c7195f983a95939eda1c73745f89d772904173775d7e1906b71615e45de8f59489d6842450ed6f7c7b809b28881c84d5a3399da38013fc3062c79 SHA512 f8009925a6948d8b9c82007f31eefd18d2173274816c0329673e48ef725aec52ca3aab2b91e8fc4f776c8f7f17475a3e065835e578a632445e1bd70794b18270
+DIST png-0.17.8.crate 88654 BLAKE2B 2c7d7cf032be40bcb614c2cdea6e41af2d15ca701377af6cae1bac6be7dc154d33a1d31cbaebe4848044ba59e02d56cc4b02bee14ce2d93904ae9bc5e4b6a699 SHA512 65a7a98295f6c4d1da79d17c3ad5a879e43fdafe3a925cf92c9866146032fd223144a84c1e6d95886bdfd07bbf35d1ef38abf2ab4ed09373c9fccc12992019af
DIST ppv-lite86-0.2.15.crate 22002 BLAKE2B 3f967f112ba799f18a3f897c944ea656994abdc7c912868023de90d3885a87d9544159c44b6aeeffd83c1fe0172e326bed4044c2d199ca899da4f8420629736c SHA512 6dac73153d244cca97ea00e429f783a7d03b48f10ee450cf6f8d77581010b28be5048f53322b0c888b425b5085f440b6ea90599ea00c55c641de6e29da42f0b3
+DIST ppv-lite86-0.2.17.crate 22242 BLAKE2B 48c4a31a3b555fa37072c4de083580bb769747c7668748541af472778b5b58c3e7ab2b5e178760f542f973774f09910bdd4058ae5fb9d6b10c103eb76cfd0d3d SHA512 539d916e7e5869d832045c1aa88aec519bd000227f9b01d4dd0bfc9ffb640d5f5eb21b05eba718174773c97192a655ad3cb31b53ceb914dd19179a6699b3583a
DIST predicates-2.1.0.crate 23141 BLAKE2B 32dc6455d74e4188385e196f9b9042411c0c1278d12121b4aeaffd58d5adbd201ee4a3e51d908dd59528928f5751f53a125b53e1b15542ed6064c753cd8cfe52 SHA512 824cc99e8e904e5257223bba104cc705fb2e1c93ec6b638cd898dd53fb29217978de1a61c2f11caf1e4a0e076a37efbd09a2998457bcf4af1c2e7eb3c089e0af
+DIST predicates-2.1.5.crate 24165 BLAKE2B a0eb1aa0f26d51140155b8b5e7141a253e298ac2197e59c7023ecc693d68cba01d645792c57467741ee074891438fba2f1439c79a4cef27f3d02eaec8f1d0b10 SHA512 d4b555d7f57ccec5788a957d4a3e130f5549a9333a47654baaef098bb284c64bd5c662677ba7e659b4563b3d0146914f1235e0caa2274af8787d9777141f4dd4
DIST predicates-core-1.0.2.crate 8185 BLAKE2B f2525cf9d1444c0b6cfd981fb9f8555e4e797fe2a28edcbd75e719121d55eca593249d32a708e920c83549a2240dd04f154b19e59faf740ada773c3e59d52483 SHA512 bfeee297e7bb81c1cc63908ab47f10e21e53b9f690d9aaf08855bc1824e0c87cf05c92e5a8dbc57eace7490c0ce58bbe2e178ac33ad0553ad2772593d89f8aab
+DIST predicates-core-1.0.5.crate 7773 BLAKE2B 6214146a1aa53c127dc4c0ed1bda847c1be41e88f833a6c5095fbdb37abbba9f1726095f3e168a0ce3bded5b458e73a73c1dc467ecc2a31c7b3716b01bd00858 SHA512 d94481797f2fa307391aed01d5276db04663ceac54150f922c8fdc046c3b1417cd93d767843df95985e69e0ba1202a0df82ea1820f9c67b15a91f2feb2e3e7d0
DIST predicates-tree-1.0.4.crate 7682 BLAKE2B 10e32e4d316bd3bb7015a6ef6d8391381d441acdce0b54a7da2ae4f741175dad7bf92c2488809e233da45360388908f200c2a2756f17210641b0e503728cf150 SHA512 f4d4f3d58c13c9b0344832709709a677d0d1f32e80a2c1e7f38a6f214efaabfc2b8e12d4bb4ac8f0c57def9a44cfe94ce9144132cacc2b6f84002a57aeb4ae5e
+DIST predicates-tree-1.0.7.crate 8145 BLAKE2B c36af3d8c2c378833515f955970733ca6d71fd7b317f9310e451e32ab6e68d6fed2455b38558b0a9f889126a331301eb631821562fae6e4fea3abe1caa9d7a67 SHA512 0e66884edaa68e5339cae5461beab273d10b0acf9162827b26d6860cdcbaa10cee0412e6bb8191dad84f59d12e01a0684646b66b793b2c9c183244c96c05b6b4
DIST pretty_assertions-0.7.2.crate 79200 BLAKE2B b7736ce11bbc5d2a778c2525e80993858c5d2a7182123c3f5aa2cde6ffe5621ab8033a91d578f4fba9badc3f503a0f14873d234b41974161f8148f2b27510e12 SHA512 edf898bbb15f4f56d2d7688d90d44d0ee7913b7d78b4774548eb7a88e8f75b0de9635c93b107744a2501839202ecf828004d179c6edf84706ae160186d47d177
+DIST pretty_assertions-1.3.0.crate 79441 BLAKE2B e9d29267ee77532de9432f075daab704e8d80a3d5fd5515a7d3c1c9a58dd98ef0190a592e7fe4d8c22a149beec15fc346a68620a3835c1269f72e563d2a5fb89 SHA512 40a56ae7287552cb66e1066cfb89b26af621f894036b9a0cd49889ec5b25831d52cc07f9e117d905766701fa71786a45955186849d36e00cbdb5f884763efcd3
+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.34.crate 41072 BLAKE2B 6b507e95802fd8dfca422deace25e328b1e4c5a9515c83ae55f8a34b1c1d34ce427afea7d7a748f582abf903245ed8c2b3f4175d78c8c9dc9f467c9805329d47 SHA512 960036a077c3869386ecb5c2019816adc70e9a9b32ceeacd4b14b39a91dbffe0b21764ead7237ab3aa553b26cb6732bbeccacbaf83c8dca9069b11b9a85dd1f8
+DIST proc-macro2-1.0.49.crate 41977 BLAKE2B e31c81d3b836404bd2c28363eb0cf2637cb7fb1ff5fb39333158be2b40b15f6f8f582edaec51cabd32d7b215df39c08a9632208fe4da36fc435dc32a48483a6b SHA512 b490d5cbaa790163aaa49c1595e694dfaded61c59fc23f9b6d359f4b774ee6eb20ae8efc5f5ebd59c8ca75da85baad61c065451c1cde03b3b6148e2aaa2c9e1b
+DIST proc-macro2-1.0.56.crate 44454 BLAKE2B b2a1f28979245a784a4b3a0af8cb04bd01ef3e7aba32c45122fc05a6cceddb1b7303890827f1a2cb99b0b2ae013cd772bffd6e94ea226f0030cde867d6c22aad SHA512 511fd8332eca47ed834736d405e18d53d83642cf528bebb8fd67fa5561e19b0a43c359b3e8020ecd28f9fafdb065c484ca360abc0287a0f97e94d4f779145f03
+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.10.crate 29960 BLAKE2B fbd4e3e0e0f452e64b30399fdfaef318cead505d05f0c61db61a7aa3cd5a3300220b4ba2656603f88bc0b535390ab4d0ec101a919ace1d442a3e979f08e8d48f SHA512 08613679b564ea7d750117d3a2907ba957d5d595bdfa8016344f99a232c72c6b08acb882dff45c34c9e4c8f93f879fb308b36125572722aac04fbc6bb0c666f0
+DIST quote-1.0.23.crate 28058 BLAKE2B 81c483fa26b36b5c4dbe85b386a74f5bfeaa854a99c0d678374507613da916a60e3f5b14d4a4d295e1c9ef0413fa1f16447df8f19a9db8cb0485b7a5c327fdc1 SHA512 3bce6846dda94d285de15771549099e60df39c8395c498b372c90a240f77df31d6d9048127913ec1c7ed8f3a189470ade1db2bede406bb00fa715ea641ec87c2
+DIST quote-1.0.26.crate 28397 BLAKE2B b468a5e9350843ea81e540d17c9fcb302b46fbd450e10280c5fff6fd7c98a439df8c3d3d47e551bc6d67ed02052b5b5c65d215d5ff8ee34f045747e75c1ba37e SHA512 6fcfe4d31f601aa60beb858c25df217421b0a184d185eebc7a4cb9fbf97c687992b77bebd8671a9e6193716387c3e926fed9b75a08684eb2d9a5b155fbc321a5
DIST rand-0.8.4.crate 87406 BLAKE2B c09358416d2425a8243b623346fe71bf6f03fddab1a23fc752f4303ba7c241b3606629e4edf0ea720785bda0bca534acd675c2de079b78eac3df24a1ad6ba654 SHA512 77ae0e988e31e12f7d3f2c40814f930eecbc94c4aced827c337be78eeeabf39fde2dc5c4fda059afdc01285ff4afe30393c32694377de004feff16207606558e
+DIST rand-0.8.5.crate 87113 BLAKE2B 516f26bb2a969d0d79e957818133f35d2c0b4d9f1b401098ea23c5b80d27599e842b9298c0c5e46e2a6cb6953857bf8a9fb71ec9366c5ce6708cf17df14f179c SHA512 8b33a8988906ba5e2057a9a84bdd11f867a5536c22f5056eec59ed4ec4e3a6da2fd773da4c0510d343762e5a4ea0f007db4c4a7cef87a47f90e36c1a84d86fb2
DIST rand_chacha-0.3.1.crate 15251 BLAKE2B 645771b2c3e274f085e0837a20306b1d59f6e9032fba8eb38a6d1b30180d15e2f89ffa2a162bf6358da41e030098242d81e71dab4321980d0a4f6ddfc2974ce3 SHA512 8198c580b1b9b0429758ffa49cd8138fa3ce724f0dcf73c767ea7e55611d6a2e4c7cad9950896510def500ce4062b594386c947ac3d89425b4e5c9b04d0b8075
DIST rand_core-0.6.3.crate 21938 BLAKE2B 7c73e2da6d423c68dbbca31f6528bdb3f42fa39b30d0951ca7058e05ce16ef09ef5e047697b33ec17720314f934512c0907aeb892df93d63abd8b63eda2b50a7 SHA512 0fc31f96ca8ebba8c179367de01458e909265e1d627ec0c5620be7c8e83d2f9570471d6ec2cb2bc4bc531505b02fc31f1165708cc1357906791c87123b06ee87
+DIST rand_core-0.6.4.crate 22666 BLAKE2B 8b6b66d50aade877f2779c006f8038db450f808c66d73d79efa66c4178dc03db06f12201bf0e7930181c4b0f4030c49b20cce6eb7839763cf2217cad9710789a SHA512 36c67eb845aa2ccca49d6d680f28d418229bbc5a050729e487fe6b9f9f384fdd7b8d67fc6508b90b79ffb3c26688e72feceb3ecae57d3d7f59338aeb62296f79
DIST rand_hc-0.3.1.crate 11891 BLAKE2B b3aa810638390eea4245ebb711de88ccdc2a64350a5c6e14064fea7685d49746b4b77215dbb8374fa7a6cbc2cfd79fb553513d6e551acf64586d8303f7d4f3a0 SHA512 582bb44b81c27e698eb57c6f06444b8a7c9d3f7ee73f4e14be8004c4bfd3bbfd9795c69f7294b5e87107e86b90fa3e91ad080964474af81c92705d356e43fbb5
DIST rav1e-0.5.1.tar.gz 2697850 BLAKE2B b4c117e28130996970a75132defb619563d2f91c512c9b05f40a70904dfba0e4cb55cdce4f3a9210029e93a9065ccce0bdedc4b01a4452d1c56790ef3175b722 SHA512 54fdc65527e83bed1c57916c48f03b5701cb1c41c3990326130f56c562174a97b571fb58f0f099108ccc00d8c0fd05c8a57be3fc043750dcddf804440ceeff39
+DIST rav1e-0.6.3.tar.gz 2915740 BLAKE2B febd4a3267bbf77d753ac6c22474b0ef08666b038c13b4d96e26b2c50ee999488a249790e4c71cdc26163ccbbe709f09320878379ec8482b218215b0382976e4 SHA512 f39066c90c82c11b79be20836574e2ab0f7889157598c32cc91e1e78c689c1df727b16e3977f9628ac854e156c1c7ce8aafa2817857eef156bd51e348a9fe733
+DIST rav1e-0.6.5.tar.gz 2919590 BLAKE2B cd8a2eafef335a20e50a799865ba6b847c9a4ad2056c72745fc9cb567046f840dd36ef02110e8d750c46aee104555a03707d1895760379d90838b37367397e2a SHA512 bf0d107aed4c19bd75dcdcfcbf05a8df9fd7a2dbb15dae863e18f09fbfbb6dd0771907192c8f0fd4d4cf3422b2d20cafde237e93cfe987f30aad2f6bfa02b2b1
DIST rayon-1.5.1.crate 160424 BLAKE2B 1c31c8e3290f76d02347271cb020e50e8f915b7a064f133a196c12e07ae1551c0e7c31883a31ec419a05198d6c71f0057be1b8ddb21f451db9ba40da511a0e1a SHA512 a68e65aae7040a6f6b0cc33b53b4c22929c15504ed4fdf54f5eb5fcaeab137c220b00c716aed96246b6a762c4f1e8be920356231d6c4a0b3e01132b9ab96ffc9
+DIST rayon-1.6.1.crate 166330 BLAKE2B 5bbc439e0c88780b8d80cb36d4b4164e698a1189bd140e8c84d9f6a466023de0cd69a1f24c4217d595ae9af1f61aca6829461648152116c6bebeef0f0e686e50 SHA512 2e03585170e59f4388359817d67a43cd10a2244382615ae39bf84210db03a6dfec3b75d8a23800b8faaa31f45e8df4c44fbc343f02e18dd3dc0572c207791e73
+DIST rayon-1.7.0.crate 169488 BLAKE2B 518f0eda1fcbd1b1b230587ea18cab0023a699e796c819bf35a6492b7edb051137446bfbc49aaab0a68aef8280c970ad14301a9f8f7461d537af119a65b33a38 SHA512 d999c811b701d0aa4e547234bdc20a7df56728e142c4aa882bae081b7b057e8c3a72f4a62fb35535e57501e8c2ba7ff072068b59d6b5374e9ca6bb66cc0984d3
+DIST rayon-core-1.10.1.crate 70008 BLAKE2B aa6dc470af3464ddd20f75faa5793bbc684d1550e44e0148134be7219dbded5dc7c1a1da96487ce9132330f26a587d9861b64be342566d6550cf3806a764d51b SHA512 a9261aa4a648029f50bcca30bd991ef51353c258b9b8c98027efe9ff62e4b7be200e59bc7aa9144d9a3d39873b01bbe104c1d7875d61e02e089bb04e0312798f
+DIST rayon-core-1.11.0.crate 73118 BLAKE2B 313d65bb6e3a010569b317b32ac91c72e38282f4fcddbcb56ffa97de42d88c0d34f35f76b62e1ad60ee96b596aa681caf2071a8d5dfdca085fb1fbafb07c3ee4 SHA512 00ac782f49d688da90e823980e83b5ccd858f93769e2d801061fdef78728cff37d3a9fa4fd47a5cddb058f28f3289de349f8c8fdd94fa2f8c400d73bc4529800
DIST rayon-core-1.9.1.crate 64961 BLAKE2B 7201024124324d2cf2d5785b7e79d2195adc7de576b826a9c28603dc44f1b5de46d277b791a741413c85facb4f4a552bfd55989a190f6f5ea3df4bbd32042f66 SHA512 c24c34dc488171ce476df145e8c6953d35fea93412805f6c411ba8b8e9dbbd733610b291203ee91bd265b766b78e14ba15a7b587e8f0ae8bde53f60e0644ef78
DIST regex-1.5.4.crate 236581 BLAKE2B 6efaf69d1a99dc3a2e04b2d1a96b036f631e9a0ad0d3aa57263febd47f7ec12765526f06f9c52a5497bf0d9b455f1d1b39e011adc4c28530c44b65c8a453efc0 SHA512 1a9208358c4ab87c19ec91bcf5c1e35dede46f3a0c0097061b7b53fa77a1e5ad38090d243aab274956f09c491e5fbe3b3b35a91db079b82a2dde2fd9fbad4c19
+DIST regex-1.7.1.crate 239648 BLAKE2B d68591ab0627f0bbcead8e81de2b9f6c7eb7be2d29b2c1700e06ffb541c073ecc054dfc76aba8f55ac0630b191d4136805bd04c7d1b9f6cbb1ca2437668ab244 SHA512 ee19bc6d24b981a151324ad4115488383227ec33dfba0225b35b6252f0d363b8d906db59a45170139c7a687fe681a983c2392d2921c7365db38c7c0e9745066f
+DIST regex-1.8.1.crate 248412 BLAKE2B 4f1355104def09ec8f7a7d604fb08d0a39af36cdbb5160c63329e8c06ef2d2ad1063fc7280c90ba3748e1766b65f52fd6da24e439d5262209a6137bcbe2eda9c SHA512 fe83c2497b786314cbd9ead0d85a39ca87ae92225e444a41ba381fe80aa381a88806e2c20e1c468b8b59503fdf1c2b7e5bf6eaae0ddf9f14a70c1ca2773e8830
DIST regex-automata-0.1.10.crate 114533 BLAKE2B 0e357229f6825f14339b1d7c40730b83e62bba12115d01ed20313320766e769a653a2fcd2c9d19af51a82c38e9e42c1a31d005e1f44f5b6fbb3ead7c9c74027f SHA512 56d64da361afce82c6cb49e70b99ce1fca3e1969c54bba5f9971db135f8544c65f49feb8827789947b3d1dcefc9c49a7a434a7ffe0d09c5900345a1733723c5f
DIST regex-syntax-0.6.25.crate 293293 BLAKE2B d5ca0dbc26b03c6a1818026f9a69cd226ec934e7c64094d0ebe843052b648617ffae7aa3a074f8da46d03c46996d8b547d8916576342000bd9711089b3e57d73 SHA512 a3d31f82aadc6be1796f76c03152ff24f37fe42d6ce27fb98e2f55ab102f86502bc37ccd563f6e0eba61aab20d002184c618517b678b3b93cb8f0497cc046ca5
+DIST regex-syntax-0.6.28.crate 299288 BLAKE2B 8554370e269e888e603c403089aa6eb4a087ae65fec016a428e424289990a07826e37a2e51cd353c7d530d5b3421e2db6a8f9d50e62379867bb5b6cbc57f2436 SHA512 ba5fb1622a330b67a4eb820551c7f20dbfdc6b38eb697b9bfddea4cf0060b473472045e93aaf6cb9727ae609e06ed285e1e42f06f34ac730ac39fb90425bbe85
+DIST regex-syntax-0.7.1.crate 339705 BLAKE2B 59dcdb9e0f5a2008db491756fb353745bf4dbaba0d3a8a6782960c990065e1870cc120d7a7e220991b78f89053aa63b1a9c326f5ae3526d47679e4ae30ae5e66 SHA512 ff61e4a075550fce3a16e516f8222a489dfe2bdf9431220c98c33b1f9e6b19da7bc1ca6bf34031235d6f1ad06882b63d606874a14d2e27c615701ecc2f4cdd9a
DIST rust_hawktracer-0.7.0.crate 4718 BLAKE2B 269902116f53e1f50cfb524bedd4594c9c43d481ae5eebb16dc12f4314024afa16e224fbccc97907429534cfb74e06cc263c69da3ac1cc2f04b49ec4b8b29890 SHA512 62756c6c99a1ff1dd78565a522cebec3a9bed637a157b3d5d7ab91f7ce74d6de809604e8406b7e80807f34a7fa7b72fc9b6df51bcbd41e4fb503425d0b8cbc02
DIST rust_hawktracer_normal_macro-0.4.1.crate 3000 BLAKE2B 9126ff8bd5dd0300e4c6df4311a94c96c1b0ffc23973fdde752593c7072ed687393a5165d5e4a27df28ab56490a0cf4af67556c1829103298963f1210dab7161 SHA512 19d2d10da7728d28baf3c5be0f7a9df7b23e63188d7f6f2acae199d081a06fcc6a78c778d56cbaeeb83dfcc5e0c775f1d608074c95461a17b6a1ff84017129a9
DIST rust_hawktracer_proc_macro-0.4.1.crate 3028 BLAKE2B aa2d70be709d0926a2edc4e29c31fb2bb1412d2e9c2144a604d19a4b903e92c59ed2a9892a2182c859963704ea0d6035304e0621e8f8bb432ca7cb888b1bc4a5 SHA512 f23b23cedbf1992a58e238d03acf75d627a9a4442019597c913e8c23d133511c2501e80a839f61af816efd55d6b9d8a6b045454652dced927e06b480dec53140
DIST rust_hawktracer_sys-0.4.2.crate 319968 BLAKE2B 251fd00f03338cd5287c79a58a5589cc03890b9e044fe679b2ede657816256caab8d7b09765b540b1ff50b0fcc52b9138a63b41e6b6def35ead81168e0c3ca13 SHA512 9a145263b5debed91980151229fbf61583f67b187c904cd9976d8837c0c8b348e53b47e58cd0d34b7a23609ecec8cd40d241f08d0da585931a203915e36bcc24
DIST rustc-demangle-0.1.21.crate 27920 BLAKE2B 73ada923b9b293c5a9893f86fda0586139afbb7d56894cabbd70612d1fb0330a9e491d5143fe3498a0c8d3e1a3f8e63c14b20865926e4c831915592486ae32d0 SHA512 4031b26863a726cc6d3398b48682e0f0f9e5665abf20a5d35343a904ebd7c0d3752dcdd3a049b2bfa3e2a303214dc39a2980700bcc64464f7029be3c7f34727c
+DIST rustc-demangle-0.1.23.crate 28970 BLAKE2B 611d2e41a8a9799db2f8bcb8fc8fefcda361d055a417d2bfaaf2dedcce9d6f388c69d905a28c65e6691b4d408d7922ccdc97ce524c87c3cccb8467e314bc87b9 SHA512 8cd29800254b1305ad50f1fc008838c52d9659f97a51a68e9f2bd6d0a60126f3ebdd1c79760f96445b3bf998d0773526ddf663b174acca81babdc0b423247247
DIST rustc-hash-1.1.0.crate 9331 BLAKE2B 16ac56622897f47a06b661fb59a196b08d48e782ab87549c8bd5c6fe92f374c9bfd44dcb36588512bd9b6125c2fd79a12d648aaa308fd9694bcca3a7c1b49ac9 SHA512 84e673ea9b046f7b989d47f2c4505557fbd5de991e6fc9f56a03605d40e0b4ba5427cd566954890153cc033ccbec6c984306634571935bfe0d4cdfbe56f39544
DIST rustc_version-0.4.0.crate 12175 BLAKE2B 6fda2ce03eab45d7193fa0d70175cc7ffb56b7be85fb1314092bdcfd3948ea145420569ace3a47218a4a2a6e44a818862cea6dd8cfb945475496f63b591c29da SHA512 f66da7c6efe431db06cd01180d84ba67fcd38f8cd6ef693762957c00ccc2211f23c08079d7f184776e08f28d2d6ca3bdb5f5016f7de245c6193d4722891ba1db
+DIST rustix-0.36.6.crate 288718 BLAKE2B 5b1a09f8af9bc4b7ae045d038734f3568896c75ac0e77d9d1d74aef63e461f14a2934129cce36bb2d450fa94046770f6d394b0469b072b16f82977de92fa1e50 SHA512 d18e44d7546024d96a0ab6256c0913d9647a3290a60a5c8ed66611ab5983e7e22e05bddd61b12cd5b3d864ab9f1a2ed604e48a1336aea9e95907c2fc0cbfc4c4
+DIST rustix-0.37.19.crate 323809 BLAKE2B 6a01e5128910c4b1333359efdacd5d0c1f0cf0ac4f2615e6891c10e7de3ce8df5ca50955a3e5c27f3b85d3ffee9fe28105aac3baa4fadd05172645e9f7ddb853 SHA512 e1c00f97414313580dfb7a616cd0e9a64d87950b4d4e6b536b5eaea93b8741f769ef62d4ee1461af8266758f9bdc136a445abbb05c8355a11d338a166b498722
+DIST ryu-1.0.12.crate 47070 BLAKE2B 02b0eec6bf266b7c482aea15ff83de4bf3cd6f607f8cd6f17f1c3ffc60cc64b62b15738907b4069f5816dd81669ed4f5b00c4bbc8705abaebe3a0846f56e8e29 SHA512 070f0b2b52e47cc9a6d8f003439d257c27aec15ffb030a92481ac22d5052436156e25127ea3ea7986cc514d2a7a924f9328710d743c216d7b1379beacae79829
+DIST ryu-1.0.13.crate 46823 BLAKE2B c6d661cbff5e7b273da5a6bb704bb1910b897c55d854b05bd417f53853a832791afc351e5a5aeaa94ba99a8fe64c8a930221c52a8784519728da748371a4ae04 SHA512 25f60216d91e68cb47695ce4e966fae674d5b3e4b0cf33e740248c1605fdcf0c963acd278a485c5b4bb0a1c1144002e73173592222af4989df7a4ba402508c13
DIST ryu-1.0.9.crate 48391 BLAKE2B d5c1035ffd6340d846009953cb4303fb8c250a3a6ac60b51a2fec77a6cb3648524420064b7380fe31af33c57011f950f6f739a1f0114196675b3b5de4b54efc6 SHA512 4e7c2c7ec73da1ddb32e18d36b8159cb4047b9f4feeb975361e7ba68135e671e11419bb7786df789f5d08e5895231d2c98e36035b515f2c64ac40474d08905cb
DIST same-file-1.0.6.crate 10183 BLAKE2B a320c8343e0b38078ba81c4f0159d886bf47764c74efe0d7cd2b3218426e8341b51e523c00a9e5fbc2ee1057618296bd70b576c68751bd55d6ddb352defaca15 SHA512 3ba35309742c8db63210d9ea78bff4ecd80471d69e6238eb96c7bf0673814f221e2d838fe6311bfc5a0e71b4a7ccba33e07859c0b9cff2171969ff08a4214a7c
DIST scan_fmt-0.2.6.crate 9676 BLAKE2B eb314c3e456de46b31d4286016b9194e663f7c3aea0b699a2693d180b2f0fa549448609b845afbbd0053661b5777a8912c2c607ffb26e490f86fd43ee2c2a1ab SHA512 ac24f699aa39d6fb29c309a9716eda9bda7331769114f52ab51f4aa781ecb3c7694ac385c7d60cec9b87e134fa2a5d8f586b54166ee9d58cc4bc34c83943ecc0
DIST scopeguard-1.1.0.crate 11470 BLAKE2B f774eb90b7d3ffb2efba47518e9d1dead4017ab4b38a4bd74914daa84a5af4bf9eb63da0496e3924499d79cd0439c37447aeda4a21226f95645bddcd6becfabe SHA512 368fa5726df8f42b599993681579a9ffd0196480ee3cd0f9f671e8493f3bedd1e1779bdf2beb329e77e0005fa09b816e3385f309490c0f2781568db275d4d17d
+DIST semver-1.0.16.crate 29850 BLAKE2B 6a6a680e55b6e98e5d0d466cae2f144531d3019988a7a241e7f0e54ebf2ebfbef27eb7af5ac59a618fdaa5546bb84c65e4616734b775fb2e90d87c1ac0b07317 SHA512 4fac06eb9ea475f8a31dd85e4d28c70a351656914e8e61518ad69274e93f1b6f14cc32a5b0c0e5a7d9ba0c74d4a16d502518dfdf2756e8df5e45869886db8c2d
+DIST semver-1.0.17.crate 29685 BLAKE2B b9beb685eb9f6cffe557d1185997e1a93d0e50ecd8e9719d9855347f12dd430ed1020df81839b7924a984596437ae7fb2951e7ae44c5540692a7f37b591bee2e SHA512 5199923757e675506d68c252182b10f55955e47054880492e5471a0a0f9ad13ef25d552d2ab9bd68fba37121b8026d9989bf15db67e95265b3aa53d06377fda7
DIST semver-1.0.4.crate 29375 BLAKE2B 534a89125c4483fc99c44f7b104870be1471d478ba4f709819ae700767f4d6d0bdc98955897e33566651cbecadb4d4dc223204e4504ba4820c2d3919ef4fa775 SHA512 82ef2b4a3533360de1c645dba02b57a2670fdc51709a07be4a63b94055335225764d42d70f9617ed3aeb4c4de121da24e73b0e2c5c781501e9ee32dff756ebd9
DIST serde-1.0.132.crate 75364 BLAKE2B 7485bcf0ae578f02f7c7dcdb284fcd6d8ccb4022b7d487e19593f3b3c9bd03a369410307dbe5ecde8071ca3ab6c7e45a5ddfe332e43076b84d67444d1f105b7b SHA512 8dac512547074a6934315ebae3e7540ef8baa225cdd58f11416b4565a1335ab317e659901fd626beffd6514c5dc6ec9fc705cc1d15e9cdd2051bd28649cca555
+DIST serde-1.0.152.crate 77091 BLAKE2B 89c01ce359042ebe6b1b64ea710580886f965a98e1d6085c58a75269a9b43401e2cace080c4c93ee51982855fb7e2f09fdefe9bd237bbf30c5537f3a4258283b SHA512 b47bd58fdc1a81d96cc0c9d14c8b19153b6689e893851975b1d7c7010c4448750e7fa09056dd4f13ed475a4aea2a3950952ff528832976919a6e78504a37bea7
+DIST serde-1.0.162.crate 77030 BLAKE2B 27e6a9bfabcd66a2250be36ac9987ec12a864c15eabea4bb793f796a19d85db097bf46426462fbdd22ccde24af3581638c2e14634701a0b14a3bfcc624c40a8d SHA512 e9b112999b69a14f1d05cce985448378c889a497dfa00f86e0c611b17d98fe7d942e9142fdf8c95c6d0a32e2016b3f384b52efae3bd75012c12299b02d055578
+DIST serde-big-array-0.4.1.crate 5707 BLAKE2B 9520b244c92e2dd5d59d91c9414cc4bb44ab20cd6fad773c3df7bc52a33bf00420fb8797636ea0f537792a3db0a1bd368f8057a68e886ee94a803d73ae0267f3 SHA512 0777c2e36c87ca88334559512d9399fb4badccbfb44d6353dda985ad762c7e9ccc375ce5b80ba6a8283458827077851436f717492772cdf0591d200d51733024
DIST serde_cbor-0.11.2.crate 44570 BLAKE2B facc8d16886dde89125b7d69e9e77ff586c61993c3493fe4089ff03c53e6c0808c6da45a83337d3be7414dd82f3d6a7f3d43167473e49e586a7e817d47ef3014 SHA512 12ddcbd5de0d85f2da6e078e3ccfdf2115125084d57eb93d7e9b45bca6a86daf79dcc79c8e54260c56240c3b5e814b1481ac28c3aa1d1b4b982ef5956b5cc3cd
DIST serde_derive-1.0.132.crate 54725 BLAKE2B 10ba0e55a498cfb469f1a36368f66515ab3e331f337b9441b08aba857dd6c824ccb718fdc33ab467413bd755db31370d4eb52039bb28e4a6c0775e2be87db896 SHA512 04f1a738b133de752fd1f4d70ffa35bbc144208bc3495ead56cda8ce65a72c501ea9c8e5e6d088cee94a878bf62509fc9f75dfadb320eb942042ee5ea80dc76a
+DIST serde_derive-1.0.152.crate 55586 BLAKE2B f133c6cdb87d435ea0c05144e685047fec22b93df7c61df4aa139358c2732326c98d0f62fda629da0f648aaacfc9d6f312813940238f45b359546dd435e7a516 SHA512 2f4dffb5671b4758f0b7dc0939f6b5cfe3b3ba02a53c62c75b5a0ec89d2db26bdd95f3e269d1fd4b07ec921bc0ca5f0741c26fdfcd25bd6532ac698c6c701e91
+DIST serde_derive-1.0.162.crate 55076 BLAKE2B 1d83bd6a397b27c412f07462e4898e4aad2f724acf5d2d3a295efa3b311bd94186aefb2bd2ce5b5ca74e779814c87e694b005ea25a65695388d4a30bce00ff32 SHA512 edd1bd42b130df0625cd762a827ab44ee49420c704eb581205f6010270550a9f22eeb3b658a52645877537d29b81b324ec209f21aa3bcd09a2749007b27cde4a
DIST serde_json-1.0.73.crate 115922 BLAKE2B 5f304d127c3cee17d06cf30ace0fa8c75374293b64751e45938a283a9451e3809ccc0a1cc1b64b33f526585744073b4b35a366a404772fd37856e4fdc128d786 SHA512 0d7bcf06eb2d78f768c4bf54429439a1f6e8b7097fda6e7547b4edee1933a69307ba9b758fabb6ac918cda216c7744a0b906d7a38fd13c51e16e6e25881df748
+DIST serde_json-1.0.91.crate 144654 BLAKE2B 857f25cb43f8153ed4266fdc38b0a426ea04edd9e7954ceeab384729abb51ead1378a819eca6ced5cf20ed0cf237548b4c81ad507e3f4684aeb9bfd7e4958684 SHA512 b0bfa3d64fe9fb0d09ec8dcb6e41eba75ad0f0c4e34e0ffd5e2a3230057d7499a57ffda8c1615bea5195ef398afe414f3b0a143a39865123c1c5f976ea1a0337
+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 shlex-1.1.0.crate 5199 BLAKE2B 325536bab9c9707566a099a161e7bc8448c7369cd9d7b2f144ed71543d551038ef1fd764376491e8076ccdcc928b5c4e177764a68584267a91386b8d542264c3 SHA512 e51892298dd79dc7cf04d7e6f0a03e4850a57b15cd75e6e3b56e2a0b15d4cb85ee8afcc14e3727d193c8b91baec8c2864a9c800834ee4d18a1be584f17591752
DIST signal-hook-0.3.13.crate 49252 BLAKE2B 21016fca85e48a2ff7d360b379e06aba6d044a282740e71b0e567e57ec16db0df7cb53e9db47f5875caffb5af00eca2167bd038103674bccc225fbe8faffa1d2 SHA512 c4632d31ca158fdfba5da44585f0d6211469ee17b7e22d86688af11b4ed976b0134e87e0ad686dc2e5a8fac0ecb08838108080ac875a7b55322e0735ff1ccfdb
+DIST signal-hook-0.3.14.crate 49446 BLAKE2B 927363305748118e235fc4add923678cce406d6c5041cced17bf2a0602cf5a912d31143a4479672eb12ef86bcb682f54bef8489407aa1c1067542da295fc788f SHA512 32ecf012e46b94d3a87f2e56cd4c03a97886013309a4e52ef3e7769ed14b49ae2814bb6346cfc9766525dcf15db4182d260d3c9311134e3e6f5301c58729442a
+DIST signal-hook-0.3.15.crate 50138 BLAKE2B feade39b877523dd138a5df3114e13c35d6a2ca281ed4cb7774dc970b3cc88b9dc011db2914c87655c0962ad1cc72293fd105f06fa4297e02fe28d78bc56c1c8 SHA512 8b7703c8ef683868e4b0c315a73fcf6802f3e28730db6b79301e9818532ea62d6d218c9ff3ba465e02ed5c19a33e733ec5f7750ae9e0f823a2ebb35bb911a3cb
DIST signal-hook-registry-1.4.0.crate 17912 BLAKE2B c50ade90e580e5f009832d812299b33529e53f68e6f1b7f5f9b5ac9ee0de502825c7bbd66199a65d4494152809eaf3dcfb676152c5b4f66c7a38b33551fcdd30 SHA512 b564379e5df1061739734179a69897badf9e2e6b469e091954428b05c3c7143885396df4bd008d77e08dae53729d2267d50fc8563121b086e25d8a5adabf6d6d
+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_helpers-0.1.0.crate 1527 BLAKE2B dc556646a3fc94548f1e16e837e94fa2e28b78b650260aa50535a45e92fdcd952bf0eebddfc2fcb9e653871447e9b9db82f3f8c1090fe09442b7916c65ade3e7 SHA512 20577ab7615f955ee3a88c617630fc6c88703d455629d5b3838a551baebbeae8c64a2587871ec5a4fb6bc203945cace50593a238e4765b5fa2313bac30237ca7
+DIST smallvec-1.10.0.crate 31564 BLAKE2B e3e46a0781d3a7892a739b001592d462d0704f010363984c439e3fe4f75aecb9720648aa1e9bcc56bb3be848dd40cee578212439f78f07a807c9441c3c3e0147 SHA512 a09110184582dcc01d7a0d3fa8f74c17bf726935126d3654667b8e9c4bc43ad16ccfd8fa94feae7d9b31913aa7ee030fe5936e4b44a36302b6ce5fe37372a7ae
DIST smallvec-1.7.0.crate 27459 BLAKE2B a740a4b7448a4c8d1bef59cfb6dc9a52145e40eeb38028c64c880f31800cd3a4cb8be17394742239dfa7fb692c749f9edf70e6df02abd7a1bff288eec38ba24e SHA512 d061e0059cd6bd1636424374848aa1d4edd21f75605844a7855ff5d343dbdb71e6eb14bd70de7947ae7ab58f04ff096a5e77aa9a1ac14cef59f657685c846156
DIST strsim-0.8.0.crate 9309 BLAKE2B 40a8be506c43ee1ffe006ddc7dee98c3d418bdd205d57b78f5d1e4c9312feb57e1eaf952e02d92d4e0932db240c6fba45beb06ea8c4fc6de1cf1faa8b6a3a939 SHA512 1d55a8d946cd55f5f37d06aea536549ded95739fa58c0f2da285a0041154c181f663682bdcac643aa198b3e762d694a04f058db985c62ebe22b5c16327ba6d34
DIST strum-0.21.0.crate 5296 BLAKE2B 6910f08a5dcbbe6008b777a2948a8f01ca18d30be76ff6a89dcfcb28b05353a860fc1b59412933b9c54b9ad424a1366e0b81773e38b04e9a5f9a038b2d1bf082 SHA512 687a99aa93616e16510213b66f53be35561d19cd19f9776084e9d6d33f8576f5eec7a806a0e48997da2b41e6f563a05424c1d5cb5ab2b4a2310cfe1d3b10a5a6
DIST strum_macros-0.21.1.crate 16280 BLAKE2B 48e4eb3f5e5431684a4688feb55cbf024a810b39df37fa869b4d417bf16c245c3eb901fe2c544da206f1dd4a3c2e62653b4080a9dc02eb446c6795225b34d857 SHA512 85ea12f8e03f04c427b99e027065279bd559ea1c51532c6f35cc842218e350e27349258f0fe25f5efc9fca047387da3ec5d670f94a50d574b15f4b5f1c99ddea
+DIST syn-1.0.107.crate 237539 BLAKE2B 5a65968806c72fedf69638661f827a0426b9e49c2f9a5e5208f986105f8facca2bdf241f92f74bde790e9a0dd68240d4827a345a939c087364360e19a5cbeff3 SHA512 58132adb76643521a6a9cbc0316431318ac25f8517bba3cbb98e7e28ed536f9e24f643e898fa21a2f74cc8c1aeafaecf9b4199b23048c7be8c0bab2fe3aa7623
+DIST syn-1.0.109.crate 237611 BLAKE2B e827445d00c79a8eeb91eacde472f1987addd6ce9e1df95d7abf6446a77ff4173a8006845f3ae71c1da47193cfb72e0ead9a6d6bad2573be12c17e90735d9ad9 SHA512 12816b9e8cf984024b2fbce9f0ae14cf94d4d2c06f08cc54fb793ce78770bb4cc1288eb7df0ba5e8e937756e1e8e295c53fe07a0c5dde1ea8ddba03b6203b37d
DIST syn-1.0.83.crate 234750 BLAKE2B bd4162b01c8f2a1a46b60f4b380fbc1d83292c4c5400e9ecf59bf86ea35f6eda1c3e868ded25c86d6dafe973103c89aaca6dcd67a45a5bcfb111508e60e6ea08 SHA512 83bfe34f52bf20dd5c1465840652066ca8d99b10113048e753a323d7f20fa28fa1977156dd6b420a4e34ee3f674aa1c36da4e84cb8175e9c0281f0bb460b7c11
+DIST syn-2.0.15.crate 240785 BLAKE2B ee2a2250e7083770f8fcb5ac0b387a28bab041e56dc9a835bdc366d39830cbd464aec156b47947331864220d78856f74e94c24061bd0c4fc908584efd355bce6 SHA512 19520d13b417ad2cabaf7e31f45271d41f26158607d0ab21e76a04e824133c64f4acba0f8c044c675028832563ed7cc73fd88d519520ef3834008dbb3d04663b
DIST system-deps-3.1.2.crate 20920 BLAKE2B 4e5c2e208a35c59522dfbdf23b36bbfe1ab2a9e32bf4c7663de55aee4919de934ccbbe2914e4f32ef1e7f6430f24ef84ef8bd2344c2f443a6df6bc5446037d10 SHA512 ed96a370fdb4e57b575987b1a9a6985088bb4d1d59e8162e043504e7028ec1e814e39cd9b8ecd26513e362c7fde98785c2964b206da2acac8989639ef6dcc716
+DIST system-deps-6.0.3.crate 22890 BLAKE2B 8d893b58159445fddf285653eae6eefa3f00cfe6834fb95fad3d1a9babd9b1da9dc29d413793d3efdd7d823e54a43cd619e472bc2ecece311c7fa627c7bec344 SHA512 12915d4e43c2c65f1c43c738ecb5f3ecfc817e6eb68989e34b2a8a42c10cc146da9a3b60a4d149215565e77918cc9afd991776da219863536616096ab140bfde
+DIST system-deps-6.1.0.crate 23942 BLAKE2B 64db60982d69c6a07760d6e2936140992cdd26b7abf83dd41c4a8e6a614a5f4aeefbe59035b3e5017d82253a086f28c5fc7c97c6574383b37409ee0815b90382 SHA512 5a2135f37ac91155cc61db0deaa64954511cd841dfe8a4827802db395d50ba2954c9600ea9c57543051f81fd2580a1983de817d9f987490f5f0b3e8d51e1eaf0
+DIST target-lexicon-0.12.7.crate 24402 BLAKE2B 3715b15649566b9f26fe02aad818325a43b54512008e4ea9fcda9ea15a87b8f4baf4ffd7343fc12456c97d8a6b1e121158c4cb61997de0e2d24d1bce93d86850 SHA512 0f3cdbd7515141315934b6ca61c5666f3bf60e259711f68ed3c33468e2bd400cedf824db7158a80fa07e78cc7ac2a0a1eed2df199352176148e9df34b06511a2
DIST termcolor-1.1.2.crate 17287 BLAKE2B 5ff748064c9fb6663befce2fd299edf6a6deb06ea72d21a62d6e77642934cca0933e10340fa84f636631cc08c76ba83ef2284b2212759129d54248e5fccb4c49 SHA512 f37b034345382cd621b1344a3fb301ca3d4d9db8b5858ac1ea82372c983229fce3c0ea8213d6b7e91291b6034affe11e2c3e593dbd95256294ce5c584b33e14c
+DIST termcolor-1.1.3.crate 17242 BLAKE2B 5aef69c0004081bd3cc4d531d13d63627cc02313868c0faab62358d13abfa7b4ba82f142c2801d25a6ae46ecbc8b7bdbeaa21c9105ea3b8950ab6a38cdb88513 SHA512 5838fcbfd70f300cb4b62aab50565db52074c56b152ccc8ac1173e4676c0d5a636271bf5a645a77da6e1d4edbf0091af2cd4dd6d73b85c3d198c760898c06f3a
+DIST termcolor-1.2.0.crate 17917 BLAKE2B 5ca7802b0bd29495bcd2deaddcdb4c3ff964073a373eaf39964a24ed91a48c5c33e192d676099e2837064df3149fdd73aba7d241e9aeaad9887bf1bcae9d38f0 SHA512 cf1896523353390b2f90b2a8bf30f47da5fc7c2daa635bd0cd8059bdc73feb243e46e4279562fe45d5726f2840833b1e967c7de19ffc0c853592d9f86c0c1be7
DIST terminal_size-0.1.17.crate 9141 BLAKE2B 048d8e8e9dad08aecde12323681d428b9182afb737136cd6699e13d231f7882091c9167cb10a08e5151df912421a6f89132645627e42ccc73d07553cadb1c8cd SHA512 96ec1bc8abd597f01ae59da567036d5d40b422764a4da662e2030c3ef4ce80a983c8b6a4ef1f34d88e649e0b1ea27b206d56a31924bcd2d31ff7e5a2e96d4201
+DIST terminal_size-0.2.3.crate 9361 BLAKE2B 38862ed4d98442f755a841b3eb44b397645c6e2ad25793dc96b089df3549c07ff353e18515b83686b34f002e7a557404502f847ceb6f5f673b96830286553d44 SHA512 f390c5e8ce53e0387db7c30619a107e484fa80ba4e046fb797b6006966be446d5aee5bd2179734b0684e206762fe7b19e8fe00d75853069a4bc7b9ae14f74c23
+DIST terminal_size-0.2.6.crate 10585 BLAKE2B 8696b9046c717eec8bf7246346af84a5d0cb740ac6e1335a4d8c20476628f4c0dd7c6106cde33513681466e9701d4b05d73f22a3bd2dfabc4d22045a69d31345 SHA512 95f38bc00f8c5e1a6913bb2a0a7c46d96e02a4f3234af1623ad3d7be41eae677e77f1b5d5d005d1e9d778fcc6c87196f67a51ab37caab5b4d299da79c85d06ed
DIST termtree-0.2.3.crate 6926 BLAKE2B 390aad5f90602785674fddf6dd5ffe5ddb37b5f2eea7cfd330e04e4b3f482c8ab3bca63fa595ee409a8bed3ffd27684bc6a1227ca679763f94cf5a75ad55ee93 SHA512 183a99ece5ba686e6fc9884c3dc702083a6f7918514a20e3af460195d8f171d9ec91fccb8e2a93319f844ca7164455c9490e4a6478ef096f44c1b57e532a7a76
+DIST termtree-0.4.0.crate 4449 BLAKE2B 28f19620d7fb190c6eadf9bf6c313d1cfc1d6e1395fa2f235e7c54e44a73bd0633bdb2c7eb24ef2e763aee4eb3f10c943028a349be30b0c85d4178d7811a9ad8 SHA512 d1b5fca80dd15f506804e565816417ce03cd37e7b0f5bb5b2e21b5baaa66dee0196a3dd820eb392620403d28b018ca15404219399b5a975d80614979d710f2d0
+DIST termtree-0.4.1.crate 4557 BLAKE2B d4300b0e6e908c519a0a76f5e08167f4467f428b2926e7739614cef5d3e294dfac15ae8576f7011a852745713c16da93346660ff96520a2bb90a4dd4c23d889c SHA512 ddbe0d3ddd79b182732359f47958ca32aa351d10b1e7d5f6456700b851aa2b5314ce005e1fd120a248b676f219fbd68039cefc071d92c5b5477d053bb6e29062
DIST textwrap-0.11.0.crate 17322 BLAKE2B 257428908342774593bbd3528fcdae710712ff54e8a711393a24356d8ba0e16e466a4b20c05f942c48ca76b3b5b5aaa90ec202f782cad892caa8b71ccf124da6 SHA512 f5c0fe4f28ff1a3a0931e8e235b5157a45f67967985bcc752418c5ec3481fca44a8ae4800088889b37e8cd0533f53d3c456d5ffd19b767b3f83a87b49a2e209a
+DIST textwrap-0.16.0.crate 53722 BLAKE2B 44140aa2dfd5076005749449a56e920418e71e34cb92f1d697eb3f3e7f6fe87b0a3861c8a4050a4a62e03187b6cadc4495e4200bee52ee183541431c73e47209 SHA512 97ae8acece5663e1a6b08b827179e96d5ad0ee67d635888cc3d83454b52cf48fce97eb0eba374ba4747834099c74f43d66d9fec868e84be45369a42c1aaec2c3
DIST thiserror-1.0.30.crate 17748 BLAKE2B b9d8a8f824de03c57af43d0ef8f2e157321e7e6a220660581299a38988e7bd43733126fc9b8d8b8ae38ac1d788ef08fbcb2352beb5ddc014113e0058c2bf60d0 SHA512 0e6cbc160ee1b6236a9073dec225a4290e7a82632ee7cec00bf02797b04851adb2d3071fa268b54f7fa9fe22eeada55a83d44fbddf824520023608eda8ea2e99
+DIST thiserror-1.0.38.crate 18947 BLAKE2B fb81df34dba2958395ae360cbb14e2708e5a3cfa5cd0bd03c58f29c146d8afd8595a7ca1b30f1ed2a75ba140a55ba450fd4fd040aa1a1dccb0baf393b0e98d60 SHA512 95b8ca682b579834a04058f03ed0c994ccef426d75e0fcc28ee47151d343da25e8fe31f8157744d942aa54652115f477fc6037f91c581dbc127b829cc96476ce
+DIST thiserror-1.0.40.crate 18709 BLAKE2B 8057ebcd11546f8b3ae5d760c1dd1764386f3c29dc43bc7a4aef20604970c65356daef137734e80260051d41e39979943bfda496459696b924a95f455159704c SHA512 db1b1fab3aa61dc6bbc672670eb70cee2f838fa713d3a927022900eddde253108d123bded1aa6df8d314e1aa2f8ff37bc72fc9b0803fe3a56447a64290ab2a91
DIST thiserror-impl-1.0.30.crate 15230 BLAKE2B bdfd4451304a2ef4ddbecb48eb1a1307e6eeadab0860c785a2b6a5e7de270ac42ac4f11e46eb9dba77ec5a86b203d9baf8e4fd5c83cdaa10e2af34a95d29d2e5 SHA512 465b1d4eb79075d8abb11f5c260d68847ea52806a2f519515705b03da376fffb3686bebb23c11462b1c59e1ae5b3ee96d834c62cac69862c491001b1ff7cbb46
+DIST thiserror-impl-1.0.38.crate 15429 BLAKE2B 96202c256e970fe23f07b461d71430889e36d9f0e83608d001c6feb4e86f4a34047ce93617b27f89c6e2a5d6ad8702b9f64ac7e59bfee221677261fdfcb06e69 SHA512 628aa28404a181b384ac6a11a433829a5481d97face5bc1704349414f36e93440738122fca716fdf878719870d10e0cf8d495df6b1d40913e985c2824cbc3aba
+DIST thiserror-impl-1.0.40.crate 15138 BLAKE2B 7590428b5a97efde6a823440a9c91e1d1835b20df4ad8a700c1eeddd98516f1203605853fc6dc65528c5fd92480d04f9a8412aa7c20a524cb94435b0a0032f1d SHA512 9027f2d4127864c34d2d92ad3b2753a95893d26f5b2dcdec869884a98232c5304db1700a38112ced258e5f3832218cdea3a4bb21223098e1b20d06af1fd7edd2
DIST time-0.1.43.crate 28653 BLAKE2B 95fe69647e8d52784be1fd3457578896aa38279d00f51f1070eadab111d39450583c63854c73d4384f2e4349b0250f1c9bff9901529b776c596846c057c93335 SHA512 c3e0c68cab1ed2f33f41955f83e632c51924e4d3c1d22dd0c4ae98499e03f3cafde8b0c2d9e69b67a78d6e4055e464ee00d1ed6af5eb9fa75052405b43e24a25
DIST tinytemplate-1.2.1.crate 26490 BLAKE2B af39d96f33f63238e455a4e38fde1d1730fd9661ae68be7b05df6ef9d2ab1a04db1332cc4ec9deb6da3a8e22b124df81b0fa8916d8491b808742bb733c8e48be SHA512 0cc080057e096f0796e72004343e1a8332c2e8a12e43f6ade150ebf632e9c29c7ad04de0b940cd57df81efdc4d07a6607da9b86a30d8383e39ac3d7be185edb9
+DIST tinyvec-1.6.0.crate 45991 BLAKE2B e9699d4d80a78978f0ebfd049f5b33d7f23d401cf4f4439ccb168e8c0e322473ad0ea7e2ff0ff69e9aac3e5c4c9ae5a7102185533bfbf96dbe77b3526e700bc9 SHA512 e5acaf353c58c60ae5556130a934f1048abb79cf6668ae467d308bac44b689d8a9997227ea879f4b5fe50f29cde8761801b088d7149bcd063b973056c381921c
+DIST tinyvec_macros-0.1.0.crate 1817 BLAKE2B a3d1966bf57c11afcd026269135a6189f149f905bb70b47537c0a7bcaef0bfc6c89bdcbdb0f6cb8e5255632855134631c683fc90606a254ec8ba818fd5ef0794 SHA512 d6afc83a3c70cde916a6ff599e2772588e4bbfa7a5b1c7e5c8aa0f4a8a5c9426182497a644e4a88194ece986d38fa64b6c8eda9eb1630441c8e65a8741a45873
+DIST tinyvec_macros-0.1.1.crate 5865 BLAKE2B 2bf4f68ca11dc19c72232951605a4c809b34ff38ee365ee4f592a3c41360e23c9330cfba961e2692a0ad568fef4aaaac51c40808d491178cf7a0c4b5a1c5d484 SHA512 10008c7b3a3d50c94b9c370015b76ee082f5dfb6dcacf014dc2f2dbe92f903618d10d0202b21f48fcf98a94ae76fb712db55a5e8ad353645d378cf0e6ec74f7e
+DIST toml-0.5.10.crate 55193 BLAKE2B e718f93b865c4e8d17e625a753776bc62a50f98d6f83e4323268d65547b6bedaa90bdfef8b0ab9ce42df62c5552939ff020402bee9aeeb7d883caf583438995a SHA512 0d438b1752b815445db647d7bceb620ba7e393a29dd5154f4f20e0357e7744c69e72ea3a797f8190bdbb72f413053621de7c8de88d30926a489526de440af2df
+DIST toml-0.5.11.crate 54910 BLAKE2B 9ecd5103b33ab47d4be23c897c7095ca381cb79bedcaac4918cddc36fc7cf5d34ab664da52c2273d935f04486e9325241d6b66785d50aac78453c219aab49e1e SHA512 eddb82aeb8fdeb5436579292c6f7a64a90a2c7bb54070beb437bc7890b99795d0505faa8d6451a99e8bcf440f78db8a1b273a697c8ad44275cc4163a9ee49317
DIST toml-0.5.8.crate 54219 BLAKE2B b4f9f563e5ba4574d4f2dcbe244378a2e1e984bd9fbbbfa5a06bdd5f8b8d677394f0db9cb8696f6936c80a52caa86b1b3ebaf3885c53855af23f03d318785f19 SHA512 26b7901ee4b7cbb4cf8ea57d365a99ed05e0a76e73452e47d4bcb3b4eeb7bbd393c13eea9ea33dc13622942efcda39acdba9425b74b40c920c9f19673a1f2082
+DIST toml-0.7.3.crate 47227 BLAKE2B 8e0709bfe7c26e15b0c5ed4f3f908977242a52cf813e6175195b662792baa91f104da357876b711158d4b55b2426228e278cb9a2057de26d9b167d99208d7d04 SHA512 4f3f7534d07e4f5bc14310c4030b89ae3d42c9e6d7a5d3aefa33ff9bab3d73625367fe9c74fd1ccb8350b7bb3a78f1181654e69736cb7280b89e632c29aa81b5
+DIST toml_datetime-0.6.1.crate 10765 BLAKE2B d31627732a1a70dce5142ecf6dafa2b52e56b7df7d865b64dc477affbb2cdf148fe4acdba84373c4fa1b8bb8de06380e2a105c10fe34e7591683697d78b17c78 SHA512 024fc32f5c3b8efa764bc3fc59af710627513ba2e536f01f227d36661eaee099ed78320ea65b15a15e39c0fc30ff2b44c501f96d5a2618034daeb290524694e0
+DIST toml_edit-0.19.8.crate 94457 BLAKE2B 8fb45302a44f48a5a75db4dd6e3c7c2b3e4cbc357d67e247da36fe631ba66ee64a6786c8a2f9d915a260aa15bafe986ea8085f9dbce5e03fce92330c782b8b65 SHA512 467454b0b55514e039e8049bfe41ffbee7677a0c4fed4cacd96cd8d91d14cbbb2ce77ba3f356d486ddd8deee9b9939ebf519dcb087aa3d5413eb709f7f003ff6
+DIST unicode-bidi-0.3.13.crate 44477 BLAKE2B 90d80e7c57e93aa9aaa83e7c3c1a93bb6e4d51047803e61ed3f7c80361987947b2029a2b679bd301e8a0766ee8ea7f080e9b9b6ebcbb4354e19813a0f7da2abc SHA512 fb094fcfd907d90fa7232432aca0143209446e4c5c73d8a0fe6d2dc44b9dbb5b8b926c59b5e3f9a5a0a36f91c04613509b6e430c9c4adf526e7445e6e8d7a3d9
+DIST unicode-bidi-0.3.8.crate 36575 BLAKE2B c0442dd47a8ee81f575b28e34c9781ccf507b53ea96d1d4df2e8117231e8e67579031e4244a2dacfd6f4c24ec01fbbd4da7c9ab72ad50af51ef56d7d813b6444 SHA512 810b5be48159ecbca542c715496f279518285c3b09f7c39451986f94e6c259fab1057512a2148bf99ba9abf76e861a24456b547cc2273f0b45ed5d3ce9dfe3d5
+DIST unicode-ident-1.0.6.crate 42158 BLAKE2B 6e4ef61fcac69b4ccbf743a2c2f857a6ea9fcbac9b9890f5b7208cc0732c6892aa5889b3030e87c8c29ce4ce24ddb7adec6bcf47b7aefe9cb5d19f920f12cfbd SHA512 ee1dc78fe535f46bdaf3e19dd8dfc859bf3133d9271026cadf626a07ba586c39caca4e45d905156a6276cf852f9cebef196b2229c3ba4b5e2b26c956fd6cff86
+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-segmentation-1.8.0.crate 94011 BLAKE2B 33440cedd5b51bd6075c9c75541bb8dcc16037b1c937ca72962f6c46be71a30850ab8e8a144d8b7548e5a91c78d551e7bbab5f26a713f1df0311d15f11299af9 SHA512 f0779ec42907b665df53f38ea370e661f10e7c72a75917f4cbd055868428c0eac1c7fc194d4bbf048e00f0f3d3e2b3602ae88d7820ad0c73e94a5228b61f6495
+DIST unicode-width-0.1.10.crate 18968 BLAKE2B 6174e307fd3ee290d0a5d1d31233baaa5315cdb73f19b8580718e9f9eb04cfd3aeaeb474af1e50c4b9fecc6fc777937dedc527c9dc9ed14ccf42af099e591f31 SHA512 9836a8d489d18ea1ecfe1957ed6d5da7dce825e138cd1848aef093fa8d2eb83fcf01eabb1a2446df4f5ede4e67316e9e81b5d58b59d4e8c5d67870e8fa5dca3b
DIST unicode-width-0.1.9.crate 16745 BLAKE2B 38d4b92e47a284d6881a8073089be59a73d82b91efe5522f55be977f95f479890b6c02cd519544729f1b1e62eb21bcfff8c5f5382917f953603b760e39cf1ea7 SHA512 0f5ec46c57e3b5e50cb8430c89db8d9c129e80ca11a9c398b5312bfe95001e19ca3efbfeb01c3ac09c4ce7e26c6ee1f352f7e114ecef78cefd68c54d2d50f5f4
DIST unicode-xid-0.2.2.crate 14955 BLAKE2B 6c6da49ac08dbd8b3248272224d6bff96b9cd1f36029b1937a58a0b929c3a48326053305ed49e73edd70f572f5abbc4817cedc899c69e3457805ad056669f6af SHA512 92ffd0dd34e3ca235ecf110b38c447d3ec1faa23d76c112457f28d432f92fa6b5f428bc5e1bfd278f361f55426dd96e19ecb0d3eff6cf250892f069c52bd89a8
+DIST url-2.3.1.crate 72777 BLAKE2B 6ca0e537baf373b92269b2531945c1cdf360f1566cae4734dfb96f05a605e5c6c82e3192a1b9dde0ff22b92b87aba2d56e32a1bf17882b4de15efd7cdf52bc76 SHA512 8224010bef067574481e5d84100d944782d52b49db7c396ae2b4dfc145ed58769c15440d97a0fed4d2f9857592a8601417cc5b1bdea959c47a3e7a1f7182ed0d
+DIST v_frame-0.3.1.crate 12456 BLAKE2B 6edae517717f7ede28cd3afca8946b31f177cbff23edb981614b9c7dc17200c4e12979287cb9fa493418def57de1a753b9c91cb61fecfef499ada80859483e90 SHA512 c1f3c7873b19df0f37595511e1e44e72e0b7a66111cd438f639ee2be6f5805e4dbd06fcc44af26b514619d199964f4444179013785a9bf763b1e53eef2ac5e50
+DIST v_frame-0.3.3.crate 13327 BLAKE2B e8d36c24b319827d322f2e2fd716ecb1916ddd48cb264f5e0dc77f047b3f00a56753b24112adcb6d984c9b21dd13a267426af6053ef43e93cb1bef9a2e6916de SHA512 ae388118bada3bcfe98e025a1197d63c04865dd0b9661feec4b30847f7a706fdbb7507887e96d524288be75f081802fb3fea5c985363931f66c60716aab9b776
+DIST vcpkg-0.2.15.crate 228735 BLAKE2B 6b6bacd9a7fa38919241f45a97f58cae957e58d3aac99df208a26aa718e4f1644f4ccefa31b09151e5c1952288e0e5837c363918b98c7f55079a948a952c1c50 SHA512 7322a21e8811b2fe4e79e09dc321458068ecdf1953f05d36233f3278ecc0b1dfc64194db7010dd46fcf692285f42475beb090c6c6cac0c8f9fe0eb5c770e3172
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-compare-0.1.1.crate 13224 BLAKE2B 4bb1e7db6a4a5b30f4ef950234fa939bd562e8d5693aad42a5dadddde7caee01b4dc42b28d8ef61a769cf573440e57c0dc321f8a8b4b3dfc0cc035507bfed886 SHA512 efc9441440f702518867e2056c0ab066cd2fa6949112479e463802610f25a4d50c4411eb5fd0ba6ca9b187e358fce8d99579188e0ed9ba0297191172ab7af408
DIST version_check-0.9.3.crate 12547 BLAKE2B 85761c300a8d755e0b376191ef0604728ae641261fdb10682a3134a828eadc4a33216426d286bcdbd8d0c5fcfe6ca8ba20ed078c4f53066b959739a0e73daec0 SHA512 4b3b428214a0322af536a18e6f050438398766af6589389f20a804121a6721962ba411e2dcfded60aaa74313128fb0e831bea31378e2695c29b29bdc24d7cbfd
+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 walkdir-2.3.3.crate 23125 BLAKE2B 3bd354b9796a31bd4c8f4ca695514101a7837ae2134fa1ffec20df1cc946a67b38c6b50affbc2cb79ffee0934474d8269378dab5ac49a4943ccf8c7aaa51db11 SHA512 2b6e1e27c16e310f636eb1c9ee58435509fb8f7a6c5beba4dd13d87aa1d91599a593bfe720a675d536ce63e217c31e240a57122455d8e18de1282a9e7fc3defe
DIST wasi-0.10.2+wasi-snapshot-preview1.crate 27505 BLAKE2B 4eb8644b945633d6e856ad80dd74990be19eb6af99823b147163384f61d471e2d9ec054d78a7064072344be53783e57073e8fffc6d5555c149b4834a9bf31dba SHA512 06977a294d76369a3867c45abdd8a87ea5c84e5a3681075ba0d14af1aee3114ff24495c7e7f7fe1e6e42230e65fba0e062898e69bc89e0209af62c2d14094ec7
+DIST wasi-0.11.0+wasi-snapshot-preview1.crate 28131 BLAKE2B fe501889f25d65e2d032f885cc50c4f8bf7dd70fd5cbc438de349838370d8699e9627b0a4fc76030ea9fe6d508f41d0c9928a875fdbc47e73bfb17241cf7b155 SHA512 043500ab28cd9cb779475255da5d109ebab7fccca72b64873dc28d77bc5a157ba8d96b9e8f05223b5b36c7089bb7b4ba87657fc69bac16b78972f897294a865f
DIST wasm-bindgen-0.2.78.crate 162111 BLAKE2B a3311e67900961b35a59ead7a8972dcee37671921c0f524895c821658a7b1246403d4674bee1735f1b2b94aa789d5376edd02afe4c8ebda110f4344ef58c9225 SHA512 bedeb2828d1e74b1e373bdf34dc2eaec70dd523e9ed96a341da1ab3729a7cf8470a828ddb9cfd4cf15af6e2fff75b4368553ab4f6f02c8dec9419dcdd7578de9
+DIST wasm-bindgen-0.2.83.crate 169618 BLAKE2B f6158596c80a0385bee0a05bd9cf0b3beee83a7958efb40244956b4fec2c83baa1a1b4605eb604f313db3508a7911c78f645acbb19f6fc93eef27e9f7f0ac109 SHA512 ec93d1334417d0329e113d5f2da7f16c0f1209d71e5cbd21a2dc9278d877e70ca2327ff7863b40505504883ed51d6bf20dda98c22ef44011a47c604a7b44e82d
+DIST wasm-bindgen-0.2.84.crate 172947 BLAKE2B 90c9b846bcea9d099a394b42f126990db82d1dcbe247f8b63f8c91cdfbb5e2d184d36daedaf8fcee58c34afe89bf9a30454063693d64806ead3427680a87e7af SHA512 20f8c9e4f8d81c66e34d9ca2b266fabaae30da9015d139cd4eba3f314c67c17cb562c6eec5127c41302c11c2f314237add2524a8b9a4d5346b8822a37e467b2d
DIST wasm-bindgen-backend-0.2.78.crate 25576 BLAKE2B 03dc6b255ab9e30f9eb54f81638eb02a05a0b994ddd51f47852bca376a02080fcce596453d688f5e8e7b5a814fd081b9709c1215f7e9f9fec0e4a7a6cba1000c SHA512 00a0ec9afb65c084b64cf9d25f778ab03bf2368a1e0ff213e07b8fe742a125ddae00c7b4d693225d6d798618b0441d4dea3c175cacdb37fdd75b0a46ba3a287b
+DIST wasm-bindgen-backend-0.2.83.crate 25620 BLAKE2B 3cbba20a2f5344c0ed2791de7b04ee294746606289ba83a9c139b53b56edf31eab8d3b3802cec309d5395e2404bbd75b7fab5d748a9961b36906fabeb0e66493 SHA512 dd1b65733e4d0a198d61a5287bb75db3e03ef738d2c2dcd3ce3e873c27d41c90cfcbb775ad40b2a546190db8d7213e5866f8e3f9913c28fe4b43a49054bfea44
+DIST wasm-bindgen-backend-0.2.84.crate 26344 BLAKE2B 5686a252082afe128ded295584d972fe4af11a30fe37a80e142d213eb2e4bca567182bfc5addf1571696bd12e68e029148cffaa9af088d1269a1201af72e64d1 SHA512 afb06e21d916cf1af137159ac86924fbee3a958ef73725bdf6bf205e15465857791070c721e0fc0164eb6e37d195bbb6a3f03661c81e1e5a9ab8502bc3704058
DIST wasm-bindgen-macro-0.2.78.crate 11700 BLAKE2B 9f1538d79a39555f643b9ac6bfe026c259dfd129c45fdcc33cfbeeba2acb2a26ff4c9df83a3d11674c5ef8e9393af7a4d0cd7e3bd08b7eca0fa55986c893c5e3 SHA512 3389922198b0d5c19163f4de345e0cd7a3c0609d48ff933bd5af0cfb205463632878b5d60bfeeb8dd8f8a98f28f23c5185dd6d8389f599f31176297c944b595d
+DIST wasm-bindgen-macro-0.2.83.crate 12075 BLAKE2B 3b358ba7c2a3563840f54f11170cde78044a8f087659daa7c784fa252f5dd4b7f6200eba425d95b568e50fd43c04c32a509994ddaf5248120feaa67586402150 SHA512 eb83e06f998e858cf25494c1d171984269e72db798147d4d1d8aeeb25ea7a35c5986b882011e131968621742ceecff976430856b4e8b7d7fd7f1237767cf01b4
+DIST wasm-bindgen-macro-0.2.84.crate 12857 BLAKE2B 23ae9963cc2cf9bc589f5d77c8d3819aeb9d671f0bddd17093b2df096cc800d2130bd2a994b786a5f446e9194947199b3f0cdf1c16f15e7283a4ae319ca849a1 SHA512 23b69ff601c149909d81200bc2902018ec71efad8aec9cd84a0653025aaf852cc86d93e28c5f60144ba6ce5aeff04b90d23761e263e3783d45097316525d6f43
DIST wasm-bindgen-macro-support-0.2.78.crate 17858 BLAKE2B 8378f639a94797d2d149f2cd836f56143a498d3be5fc30eced6fe4fc2e1bfe14a70f3165cdc5cc1c88f0162efec75b64e56aa9819596984afa97003601b933ce SHA512 84d9867407a7caa942ab11f0ad1c343839bf51793930cdc3ebc5279ca370062eda006540448cc401f6afa078dbb1523b348ae69f4c6d7ccc9a7b8fa1ff895236
+DIST wasm-bindgen-macro-support-0.2.83.crate 18530 BLAKE2B f305c9fc1f7bba5bee65a1c76fc2216c98aa306a072286e1ced048ab191f49e7e4436bf2f67d4c1fff558f59b2cef5e9b40e9e940268128ab1ebeb3c64696107 SHA512 804014c75ae5f8c1c7f0fad3f3209887fa346d74029e5f6e1830e44f7318719e65c4a643c71d87cf388f131fd370af40d536bbc15fc11c25b91cb785f56a908b
+DIST wasm-bindgen-macro-support-0.2.84.crate 19076 BLAKE2B 4f779d7d0a406f376092ea8193851dbc86e9dbb822464db66a2022274665b03b9bf6552f79263014510cfaf4284847e98e8173263a6565f1af0c29054bd33fff SHA512 f2a8b6e0170dcea0d2f4a50361f036ad6604c499a89f0cf602578d0958d47c193aecebbd98e63310f592b08f8fe53da6c3d7a124b433ee384aa22371d9c963e5
DIST wasm-bindgen-shared-0.2.78.crate 7206 BLAKE2B ee60946d3a90a2760d8cb045657de659c6367aed2d98efd60074cb57f6b06aedf9ac44fed3d41c20299c5edc095cac5537a365fdb01183f3e60b6323da581935 SHA512 a808b7a7909e4a287ccced1b251ad4c1230399c84c05e246127b6a91fa4ed328d6a24316dbdc1843db71a5bd78cfd80113424f9984e0777323d74e3125607134
+DIST wasm-bindgen-shared-0.2.83.crate 7194 BLAKE2B 4dd1cffea1edc98dcd4993bf6fdde8100fe00d1e97322ce8bc0bdefd0c659047c8c726e5da27b59fd7a6621c1e5385c18204e834c6c6fd1fb9de52f95b40e40d SHA512 2bfc1a068fa41a9ecacce7bda494fc0485c57ccb102c1d76c87a42e00ad30b944b0cb788642e8339d050a0e831ce8306844a77292ab9f79ed765b65cdb4765e7
+DIST wasm-bindgen-shared-0.2.84.crate 7219 BLAKE2B 4910158ed884dd9dbb32b1539b0c89a583f98df05cb29654487a26db063c973d44cb086dad4b466f9bc63104e3d4da72fe9feed32618f8243151dfb9ccfaff29 SHA512 fc4bf134a33c71852b91d09fbf1e1801e2b97b5c2756e2680d0c1f8701da30b22b56777d8e806e13602beb040775824966e378f7b9805e131a385e7816ddd010
DIST web-sys-0.3.55.crate 664827 BLAKE2B 1864f320e6c9b80c6b4b4fd8941d66cf9368a9b0cebcb86d3486b99f65456748b46c507a1bb761611c4825d412986f5bd8c8fc38c3bda3dad2e9de213467ee51 SHA512 ddf191f009d49388bf60ee31650eff1ff884f01822989a226c559b9560aebd90681fadd34e7437f555d627a0a3139ebe267375618eadac8c17ace5fd47650764
+DIST web-sys-0.3.60.crate 700485 BLAKE2B 13942a583dd8462b0591a19759a41f41fb17d2356b3bcd78402e420fdf5726782e5b4ed211c3716a81c1cdf64ce9b8adecaa3fa22756a3ec84eb7c3e12e3018c SHA512 d883363f99300e2d50bc5bf198f0fb8d6c53e5a778217e340573560ac07db26a71c98419fa2ced32820472126d6f97ad5773ad082521be0a1c9a374af9d61df9
+DIST web-sys-0.3.61.crate 706333 BLAKE2B f57cb14032e2ea01b5e0ffcef0988ee3e8227c1da7d27ef8799583f64cddb4bcfbbb145f5ea1889006fc9ff61d42b1c02d4b278d67371c9d914827113f5e4128 SHA512 dd8c93a92295a9cd94a4a4cac4a81d9fa41c2c0bc885c1861eae5cc317a0d55e1a9d34b97b91999bf617a071f7f8acc39bb0d4a684b40543519f0cad6b82a25c
DIST which-3.1.1.crate 8071 BLAKE2B b53adc5136f26fc1be6ae18987d0129527cfd6eb2fb1f0876600ff55ac2f935f608337ff89478f3aed2e8c97a08c474109382a56eabe67dc788b744d90c73ad9 SHA512 3677d709eced54a332e68d9c9385708205838301a576da0c4d88049403a81676c3939a97cd1bec4ab261c7e8fb6211956b47afe5d1fee84d9c4ecf4eb30184f5
+DIST which-4.3.0.crate 9635 BLAKE2B 36556a9eca6d8702c0e3634abc458f7ff831aec28a7117f21f812c6f46cccd8db0e6ce7cc76f8033ba89d51858411251e5fecb0883542669269cade9c1a5aadb SHA512 cad05bd43dfcf9e50fd6e3b9dcd5d9a987175a0f44adbf204079117b70d0b42e6483e635287924698c51d0452f168e48e041453f18ff5720c0e2ec4c734d2578
+DIST which-4.4.0.crate 10889 BLAKE2B 3118f923319f260d6574ee0fd28d641f858a1885c3082090f079ca64acd2a3dd996aafd84803f0f2ae2e58b87d5cadf63059d75e72ff836dbf3ebcf4cee82602 SHA512 8380e5ea79f7768c8b1479c2fbb6e6c8b232f3a8d43b6554b78a370f302fb396d53842678d760ce9fc720fe607cfb9da3e0da4180e4a6ecfef48119105555fd7
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-x86_64-pc-windows-gnu-0.4.0.crate 2947998 BLAKE2B 2ad1ea8b5fa07d544e910ccba043ae925269b76b26c9da356305b34b86741dd8b9aff0b9ffe3d562db4fcd7d7c46a11ce9e3168b782b1d89ae6881742b7ede82 SHA512 4a654af6a5d649dc87e00497245096b35a2894ae66f155cb62389902c3b93ddcc5cf7d0d8b9dd97b291d2d80bc686af2298e80abef6ac69883f4a54e79712513
+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-targets-0.48.0.crate 7466 BLAKE2B 4ef6d89ad5b1acf26a1a24348122b86d3943bd95935499bc9032fbc7aa01c04999c723df7fecb4989854cb6b7cceffe141537dfb05a9eaf3902c4cb490533116 SHA512 1d2a29602a1e0846c8577ec9167c5f9972091998a5df449d67b13ad918bf37680e7f97247baf5e3010c166d0b3182418c2925470998b92893ee9469939b91e22
+DIST windows_aarch64_gnullvm-0.42.0.crate 357917 BLAKE2B 58da715a46692ed786fa554338d446eaaa50c63ec1d4090cf0690a9211c0221034479e9066cad1c98234410519833826ae3163bf6724c3b06097d5b84d7b9fcf SHA512 8bd60142e8982ddb14dde4e93b9753f9ac34830c05c2a1dd4568377f9a928651bf9f026a0080e5bc7dfa62a45942376736954e3ac800855d00eef0c72929f338
+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_msvc-0.42.0.crate 659424 BLAKE2B a8c9a288767756f2086bd0706774cdcce5c8639431ad76ed122d4b6d13c936ca8fb1a463d34835b3a2728f4444e2f4b91ee772f00c54f348094da69c05ce6b93 SHA512 20c0840adec84dde03b143e5b82bb0003fee675310487f0071a81ed7f40ee647c4018ccb9ebdbc4aeada717ec8600a30dfb15510c6b336f07becdb7167668fd0
+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_i686_gnu-0.42.0.crate 728570 BLAKE2B b72079610b5c4fc798a79fa757b19f8c8baceaf7f4ce824193a65fadaac988ebdff1719a74d676b7dd017e11ceb029402bbac4e55c35206172e15a9bef422f78 SHA512 a24dd1ba5eb7d5231853bebadfde0575ae9071a565868d2f3d1bc6ec0a87380c569a621f0cba2552af7a1e46ac62f09f87cfbce3f674be06be1a7c1d3f421474
+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_msvc-0.42.0.crate 717477 BLAKE2B a37e068f45590f0c31349acbdb56848106d6de0e1f8030e6bd5e1e174bd9a46737db54fbd61de99054e5e8c5263eaef0508c440f43c39dca82baa77792ff2743 SHA512 740400e2b11c1d177f7f37f844cd2a0f84b97a5adb03a7656661deb026b593a799ace8da1f9013ba9f74446fc43260d01dff7d4be607129ec7d602f341b2b4d1
+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_x86_64_gnu-0.42.0.crate 692493 BLAKE2B e00eae443cfed3004809244654268ee1bec17975166ca876dd393dcfe8a2ef0ca65d81b04c8f513f95a0fae9405ba796c085951bc2c597d252a3122f7dbf6425 SHA512 7df7ee0c345f0a2c37d7f9ec3a2824116b4d7a943bf245787509e67809a4f31ebb1862e212efb2d943d82ccef77a716437cdc61004396ca86e95e688368c6dae
+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_gnullvm-0.42.0.crate 357906 BLAKE2B 02e08e696f18105f0c131fcf5db046ec945cb21ede76d2da477589e15d062ca6f04906dac80fdd2ef9fcda9244490aad86b401d0156eb6b65ba3599098e8cfe7 SHA512 242e11b4a0d50a0ffe8d0e26e971de30ef4d29260ae6749403d39cb4278297a240c1ec4112bb38151cbb11a6f3c8a743e84cd75b6a76adfeaee8e623649c9ecf
+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_msvc-0.42.0.crate 659377 BLAKE2B f01dbfcb86dcb7301790a1a704661864378021cbb92b147fdfcee978b7011bb770441c481b439985c298816c524c6a11f21a7bd81115e65882fa000a28566bcd SHA512 94d6554ae293785d2fc9dc9d53480c98bc08ab2b78bd8684a0606e7e0ec156a454c1a653d214c21de382bc7ab5d898e45000ed73e6110f679da513ffabbf3cb9
+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 winnow-0.4.6.crate 142565 BLAKE2B 671c643bdf03d8533998224bccb375614bbc0192e3d9b45a580db9aea04f60f1f5fada06c454e705bfc1f82bc52067db8d3d45cec1e898c6ace689845cb21884 SHA512 cf194bfa3e6ca3a79b6940cb3a9fbbcdac2b10f997a0c15f58b570281c4651a6b3f4a32df6ee4da579d6cbb40b19b38d1123b6f7fc116f1171bb5f51270f6698
DIST y4m-0.7.0.crate 12045 BLAKE2B 4f48eb7ad5be2486e0f723b9beb9109cd1b38a0d0c5ac4a64411fce0bd9371d45496e5e0e839d15e7d1616b3888cfc1a0fc1ca364e65ac508306cad9a4ed44a7 SHA512 b85b0dd6df46c9bf125eee3e51ea39545ea1c794a2a097bba0aa31c682532ed3a9ba141745c61915fff13535fc5fff5a490d7c9e731c75bb5ce38a702075467e
+DIST yansi-0.5.1.crate 16525 BLAKE2B 3b5a93b98293daae72f53bf3f13bfc05feba8d5b27921f79595f7448fbcb9a0dfa6cd70f467c5735b914c46b7d3592e6cce080c540a458a904308525eb3aa839 SHA512 7b33005a066cc612408a65df6533e8718d1de43efc0fd57416a19dc2b811497570e6e18f100fb26073565e395e711518c27de7d644ae64777713f1a102eb16d2
diff --git a/media-video/rav1e/rav1e-0.6.3.ebuild b/media-video/rav1e/rav1e-0.6.3.ebuild
new file mode 100644
index 000000000000..cd5f0ddeb51a
--- /dev/null
+++ b/media-video/rav1e/rav1e-0.6.3.ebuild
@@ -0,0 +1,285 @@
+# Copyright 2023 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-0.7.20
+ anes-0.1.6
+ anyhow-1.0.68
+ 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.1.0
+ built-0.5.2
+ bumpalo-3.11.1
+ bytemuck-1.12.3
+ byteorder-1.4.3
+ cargo-lock-8.0.3
+ cast-0.3.0
+ cc-1.0.78
+ cexpr-0.6.0
+ cfg-expr-0.11.0
+ cfg-if-1.0.0
+ ciborium-0.2.0
+ ciborium-io-0.2.0
+ ciborium-ll-0.2.0
+ clang-sys-1.4.0
+ clap-3.2.23
+ 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.49
+ color_quant-1.1.0
+ console-0.15.4
+ const_fn_assert-0.1.2
+ crc32fast-1.3.2
+ criterion-0.4.0
+ criterion-plot-0.5.0
+ crossbeam-0.8.2
+ crossbeam-channel-0.5.6
+ crossbeam-deque-0.8.2
+ crossbeam-epoch-0.9.13
+ crossbeam-queue-0.3.8
+ crossbeam-utils-0.8.14
+ ctor-0.1.26
+ dav1d-sys-0.7.0
+ diff-0.1.13
+ difflib-0.4.0
+ doc-comment-0.3.3
+ either-1.8.0
+ encode_unicode-0.3.6
+ env_logger-0.8.4
+ errno-0.2.8
+ errno-dragonfly-0.1.2
+ fern-0.6.1
+ flate2-1.0.25
+ form_urlencoded-1.1.0
+ getrandom-0.2.8
+ gimli-0.27.0
+ git2-0.15.0
+ glob-0.3.1
+ half-1.8.2
+ hashbrown-0.12.3
+ heck-0.4.0
+ hermit-abi-0.1.19
+ hermit-abi-0.2.6
+ idna-0.3.0
+ image-0.24.5
+ indexmap-1.9.2
+ interpolate_name-0.2.3
+ io-lifetimes-1.0.3
+ is-terminal-0.4.2
+ itertools-0.10.5
+ itertools-0.8.2
+ itoa-1.0.5
+ jobserver-0.1.25
+ js-sys-0.3.60
+ lab-0.11.0
+ lazy_static-1.4.0
+ lazycell-1.3.0
+ libc-0.2.139
+ libfuzzer-sys-0.3.5
+ libgit2-sys-0.14.0+1.5.0
+ libloading-0.7.4
+ libz-sys-1.1.8
+ linux-raw-sys-0.1.4
+ log-0.4.17
+ maybe-rayon-0.1.0
+ memchr-2.5.0
+ memoffset-0.7.1
+ minimal-lexical-0.2.1
+ miniz_oxide-0.6.2
+ nasm-rs-0.2.4
+ new_debug_unreachable-1.0.4
+ nom-7.1.2
+ noop_proc_macro-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.1
+ once_cell-1.17.0
+ oorandom-11.1.3
+ os_str_bytes-6.4.1
+ output_vt100-0.1.3
+ paste-1.0.11
+ peeking_take_while-0.1.2
+ percent-encoding-2.2.0
+ pkg-config-0.3.26
+ plotters-0.3.4
+ plotters-backend-0.3.4
+ plotters-svg-0.3.3
+ png-0.17.7
+ 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.49
+ quickcheck-1.0.3
+ quickcheck_macros-1.0.0
+ quote-1.0.23
+ rand-0.8.5
+ rand_chacha-0.3.1
+ rand_core-0.6.4
+ rayon-1.6.1
+ rayon-core-1.10.1
+ regex-1.7.1
+ regex-automata-0.1.10
+ regex-syntax-0.6.28
+ rust_hawktracer-0.7.0
+ rust_hawktracer_normal_macro-0.4.1
+ rust_hawktracer_proc_macro-0.4.1
+ rust_hawktracer_sys-0.4.2
+ rustc-demangle-0.1.21
+ rustc-hash-1.1.0
+ rustc_version-0.4.0
+ rustix-0.36.6
+ ryu-1.0.12
+ same-file-1.0.6
+ scan_fmt-0.2.6
+ scopeguard-1.1.0
+ semver-1.0.16
+ serde-1.0.152
+ serde-big-array-0.4.1
+ serde_derive-1.0.152
+ serde_json-1.0.91
+ shlex-1.1.0
+ signal-hook-0.3.14
+ signal-hook-registry-1.4.0
+ simd_helpers-0.1.0
+ smallvec-1.10.0
+ syn-1.0.107
+ system-deps-6.0.3
+ termcolor-1.1.3
+ terminal_size-0.2.3
+ termtree-0.4.0
+ textwrap-0.16.0
+ thiserror-1.0.38
+ thiserror-impl-1.0.38
+ tinytemplate-1.2.1
+ tinyvec-1.6.0
+ tinyvec_macros-0.1.0
+ toml-0.5.10
+ unicode-bidi-0.3.8
+ unicode-ident-1.0.6
+ unicode-normalization-0.1.22
+ unicode-width-0.1.10
+ url-2.3.1
+ v_frame-0.3.1
+ vcpkg-0.2.15
+ version-compare-0.1.1
+ version_check-0.9.4
+ wait-timeout-0.2.0
+ walkdir-2.3.2
+ wasi-0.11.0+wasi-snapshot-preview1
+ wasm-bindgen-0.2.83
+ wasm-bindgen-backend-0.2.83
+ wasm-bindgen-macro-0.2.83
+ wasm-bindgen-macro-support-0.2.83
+ wasm-bindgen-shared-0.2.83
+ web-sys-0.3.60
+ which-4.3.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_aarch64_gnullvm-0.42.0
+ windows_aarch64_msvc-0.42.0
+ windows_i686_gnu-0.42.0
+ windows_i686_msvc-0.42.0
+ windows_x86_64_gnu-0.42.0
+ windows_x86_64_gnullvm-0.42.0
+ windows_x86_64_msvc-0.42.0
+ y4m-0.7.0
+ yansi-0.5.1
+"
+
+inherit cargo
+
+DESCRIPTION="The fastest and safest AV1 encoder"
+HOMEPAGE="https://github.com/xiph/rav1e/"
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/xiph/rav1e.git"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/xiph/rav1e/archive/v${PV}.tar.gz -> ${P}.tar.gz
+ $(cargo_crate_uris ${CRATES})"
+ KEYWORDS="amd64 arm arm64 ppc64 ~riscv x86"
+fi
+
+LICENSE="BSD-2"
+# Dependent crate licenses
+LICENSE+=" Apache-2.0 BSD-2 BSD ISC MIT Unicode-DFS-2016"
+SLOT="0"
+IUSE="+capi"
+
+ASM_DEP=">=dev-lang/nasm-2.15"
+BDEPEND="
+ >=virtual/rust-1.60.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() {
+ export CARGO_HOME="${ECARGO_HOME}"
+ local args=$(usex debug "" --release)
+
+ cargo build ${args} || die "cargo build failed"
+
+ if use capi; then
+ cargo cbuild ${args} --target-dir="capi" \
+ --prefix="/usr" --libdir="/usr/$(get_libdir)" \
+ --library-type=cdylib \
+ || die "cargo cbuild failed"
+ fi
+}
+
+src_install() {
+ export CARGO_HOME="${ECARGO_HOME}"
+ local args=$(usex debug --debug "")
+
+ if use capi; then
+ cargo cinstall ${args} --target-dir="capi" \
+ --prefix="/usr" --libdir="/usr/$(get_libdir)" --destdir="${ED}" \
+ --library-type=cdylib \
+ || die "cargo cinstall failed"
+ fi
+
+ cargo_src_install
+}
diff --git a/media-video/rav1e/rav1e-0.6.5.ebuild b/media-video/rav1e/rav1e-0.6.5.ebuild
new file mode 100644
index 000000000000..eab2cf993c2c
--- /dev/null
+++ b/media-video/rav1e/rav1e-0.6.5.ebuild
@@ -0,0 +1,309 @@
+# Copyright 2023 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.1
+ 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.1
+ 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.0
+ ciborium-io-0.2.0
+ ciborium-ll-0.2.0
+ 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.61
+ 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.56
+ quickcheck-1.0.3
+ quickcheck_macros-1.0.0
+ quote-1.0.26
+ 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.162
+ serde-big-array-0.4.1
+ serde_derive-1.0.162
+ 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.15
+ 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.84
+ wasm-bindgen-backend-0.2.84
+ wasm-bindgen-macro-0.2.84
+ wasm-bindgen-macro-support-0.2.84
+ wasm-bindgen-shared-0.2.84
+ web-sys-0.3.61
+ 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.6
+ y4m-0.7.0
+ yansi-0.5.1
+"
+
+inherit cargo
+
+DESCRIPTION="The fastest and safest AV1 encoder"
+HOMEPAGE="https://github.com/xiph/rav1e/"
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/xiph/rav1e.git"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/xiph/rav1e/archive/v${PV}.tar.gz -> ${P}.tar.gz
+ $(cargo_crate_uris ${CRATES})"
+ KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+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.60.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() {
+ 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-9999.ebuild b/media-video/rav1e/rav1e-9999.ebuild
index a13cb191165c..eab2cf993c2c 100644
--- a/media-video/rav1e/rav1e-9999.ebuild
+++ b/media-video/rav1e/rav1e-9999.ebuild
@@ -1,12 +1,247 @@
-# Copyright 2017-2021 Gentoo Authors
+# Copyright 2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
+# Autogenerated by pycargoebuild 0.6.2
+
EAPI=8
-CRATES=""
+CRATES="
+ addr2line-0.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.1
+ 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.1
+ 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.0
+ ciborium-io-0.2.0
+ ciborium-ll-0.2.0
+ 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.61
+ 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.56
+ quickcheck-1.0.3
+ quickcheck_macros-1.0.0
+ quote-1.0.26
+ 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.162
+ serde-big-array-0.4.1
+ serde_derive-1.0.162
+ 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.15
+ 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.84
+ wasm-bindgen-backend-0.2.84
+ wasm-bindgen-macro-0.2.84
+ wasm-bindgen-macro-support-0.2.84
+ wasm-bindgen-shared-0.2.84
+ web-sys-0.3.61
+ 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.6
+ y4m-0.7.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
@@ -16,17 +251,20 @@ else
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
fi
-DESCRIPTION="The fastest and safest AV1 encoder"
-HOMEPAGE="https://github.com/xiph/rav1e/"
-
-LICENSE="0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD BSD-2 Boost-1.0 ISC MIT UoI-NCSA Unlicense ZLIB"
+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.60.0
amd64? ( ${ASM_DEP} )
- capi? ( dev-util/cargo-c )
+ capi? ( >=dev-util/cargo-c-0.6.3 )
"
# Rust
@@ -46,8 +284,7 @@ src_compile() {
export CARGO_HOME="${ECARGO_HOME}"
local args=$(usex debug "" --release)
- cargo build ${args} \
- || die "cargo build failed"
+ cargo build ${args} || die "cargo build failed"
if use capi; then
cargo cbuild ${args} --target-dir="capi" \
@@ -62,7 +299,7 @@ src_install() {
local args=$(usex debug --debug "")
if use capi; then
- cargo cinstall $args --target-dir="capi" \
+ cargo cinstall ${args} --target-dir="capi" \
--prefix="/usr" --libdir="/usr/$(get_libdir)" --destdir="${ED}" \
--library-type=cdylib \
|| die "cargo cinstall failed"
diff --git a/media-video/shotcut/Manifest b/media-video/shotcut/Manifest
index 3ee3a2088c56..2a60ada06532 100644
--- a/media-video/shotcut/Manifest
+++ b/media-video/shotcut/Manifest
@@ -1,2 +1,2 @@
-DIST shotcut-22.04.25.tar.gz 4600941 BLAKE2B 5f8ba47897c3a8ce078a35c06c90454c8c1df9bd9bd3330466a1be869b7b9c9ec45aaf6d3b5aad0587857ff5613ef22f15c4b5142c8247b97c81bb8345b3ff4d SHA512 e5c51868a7f6e2ead3993d8577b5439408e9c54ee20274658c822666e2ca5fceb7d2360d02b8808b464c69005d83b6742a3a750ec244ffe69f82f2abd5ad39fc
DIST shotcut-22.09.23.tar.gz 9096319 BLAKE2B 4023ca82f72e5fb3dca9dfed18912f0b8a99ef5915b0bb1ca983269b99b4b057747558801e2dfe65c89e68c4e9fcfc0a1cc9bcc24ce4d44d1e5453b94d639da2 SHA512 3c680a36ed4e22e857a824eaa25a63aa6cb830751e9730d4cd5e0a6fa2b087d9b63900232155fe5f656a4d70ae27dabc5fad52ed39d6b53f99188c954f9896d8
+DIST shotcut-22.12.21.tar.gz 9857227 BLAKE2B 94739b1f2d66c8d4ebc69ded7c90a75f973b17889fce538855403f92b5232514df45f6e3648ef772b9a22c27b547ce2b7f0f6eb391cc47dfebaf9907f0c6525f SHA512 95ca399657934becedd71c3daa74749bca1b625a0cedf8df4bfd212476602f83f5b807b26ec7c8275ee720e54893102931bf109c95153fc16f348d344e50395b
diff --git a/media-video/shotcut/shotcut-22.04.25-r1.ebuild b/media-video/shotcut/shotcut-22.12.21.ebuild
index beb71ab8d58c..db68f3435f7b 100644
--- a/media-video/shotcut/shotcut-22.04.25-r1.ebuild
+++ b/media-video/shotcut/shotcut-22.12.21.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-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/"
@@ -24,19 +24,16 @@ BDEPEND="
dev-qt/linguist-tools:5
"
COMMON_DEPEND="
- dev-qt/qtcore:5
dev-qt/qtdeclarative:5[widgets]
- dev-qt/qtgui:5
dev-qt/qtmultimedia:5
dev-qt/qtnetwork:5
dev-qt/qtopengl:5
- dev-qt/qtprintsupport:5
dev-qt/qtquickcontrols2:5
dev-qt/qtsql:5
dev-qt/qtwebsockets:5
dev-qt/qtwidgets:5
dev-qt/qtxml:5
- >=media-libs/mlt-7.6.0[ffmpeg,frei0r,fftw(+),jack,opengl,qt5,sdl,xml]
+ >=media-libs/mlt-7.8.0[ffmpeg,frei0r,fftw(+),jack,opengl,qt5,sdl,xml]
media-video/ffmpeg
"
DEPEND="${COMMON_DEPEND}
@@ -44,23 +41,17 @@ DEPEND="${COMMON_DEPEND}
dev-qt/qtx11extras:5
"
RDEPEND="${COMMON_DEPEND}
+ dev-qt/qtquickcontrols[widgets]
dev-qt/qtgraphicaleffects:5
- dev-qt/qtquickcontrols:5
virtual/jack
"
src_configure() {
- local myqmakeargs=(
- PREFIX="${EPREFIX}/usr"
- SHOTCUT_VERSION="${PV}"
- DEFINES+=SHOTCUT_NOUPGRADE
+ CMAKE_BUILD_TYPE=$(usex debug Debug Release)
+ local mycmakeargs=(
+ -DSHOTCUT_VERSION="${PV}"
)
- 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/simplescreenrecorder/simplescreenrecorder-0.4.4-r1.ebuild b/media-video/simplescreenrecorder/simplescreenrecorder-0.4.4-r2.ebuild
index f580b5a24f59..c07b20b0ffff 100644
--- a/media-video/simplescreenrecorder/simplescreenrecorder-0.4.4-r1.ebuild
+++ b/media-video/simplescreenrecorder/simplescreenrecorder-0.4.4-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -39,7 +39,7 @@ RDEPEND="
virtual/glu[${MULTILIB_USEDEP}]
jack? ( virtual/jack )
opengl? ( media-libs/libglvnd[${MULTILIB_USEDEP},X] )
- pulseaudio? ( media-sound/pulseaudio )
+ pulseaudio? ( media-libs/libpulse )
v4l? ( media-libs/libv4l )
"
DEPEND="${RDEPEND}"
diff --git a/media-video/simplescreenrecorder/simplescreenrecorder-0.4.4.ebuild b/media-video/simplescreenrecorder/simplescreenrecorder-0.4.4.ebuild
deleted file mode 100644
index e732de6afde8..000000000000
--- a/media-video/simplescreenrecorder/simplescreenrecorder-0.4.4.ebuild
+++ /dev/null
@@ -1,99 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PKGNAME="ssr"
-inherit cmake-multilib flag-o-matic xdg
-
-DESCRIPTION="A Simple Screen Recorder"
-HOMEPAGE="https://www.maartenbaert.be/simplescreenrecorder/"
-if [[ ${PV} = 9999 ]] ; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/MaartenBaert/${PKGNAME}.git"
- EGIT_BOOTSTRAP=""
-else
- SRC_URI="https://github.com/MaartenBaert/${PKGNAME}/archive/${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="amd64 x86"
- S="${WORKDIR}/${PKGNAME}-${PV}"
-fi
-
-LICENSE="GPL-3"
-SLOT="0"
-IUSE="+asm jack mp3 opengl pulseaudio theora v4l vorbis vpx x264"
-
-REQUIRED_USE="abi_x86_32? ( opengl )"
-
-RDEPEND="
- dev-qt/qtcore:5
- dev-qt/qtgui:5
- dev-qt/qtwidgets:5
- dev-qt/qtx11extras:5
- media-libs/alsa-lib:0=
- media-video/ffmpeg[vorbis?,vpx?,x264?,mp3?,theora?]
- x11-libs/libX11[${MULTILIB_USEDEP}]
- x11-libs/libXext
- x11-libs/libXfixes[${MULTILIB_USEDEP}]
- x11-libs/libXi
- x11-libs/libXinerama
- virtual/glu[${MULTILIB_USEDEP}]
- jack? ( virtual/jack )
- opengl? ( media-libs/libglvnd[${MULTILIB_USEDEP},X] )
- pulseaudio? ( media-sound/pulseaudio )
- v4l? ( media-libs/libv4l )
-"
-DEPEND="${RDEPEND}"
-BDEPEND="dev-qt/linguist-tools:5"
-
-pkg_pretend() {
- if [[ "${ABI}" == amd64 ]] ; then
- einfo "You may want to add USE flag 'abi_x86_32' when running a 64bit system"
- einfo "When added 32bit GLInject libraries are also included. This is"
- einfo "required if you want to use OpenGL recording on 32bit applications."
- einfo
- fi
-
- if has_version media-video/ffmpeg[x264] && has_version media-libs/x264[10bit] ; then
- ewarn
- ewarn "media-libs/x264 is currently built with 10bit useflag."
- ewarn "This is known to prevent simplescreenrecorder from recording x264 videos"
- ewarn "correctly. Please build media-libs/x264 without 10bit if you want to "
- ewarn "record videos with x264."
- ewarn
- fi
-}
-
-pkg_setup() {
- # Qt requires -fPIC. Compile fails otherwise.
- # Recently removed from the default compile options upstream
- # https://github.com/MaartenBaert/ssr/commit/25fe1743058f0d1f95f6fbb39014b6ac146b5180
- append-flags -fPIC
-}
-
-multilib_src_configure() {
- local mycmakeargs=(
- -DENABLE_JACK_METADATA="$(multilib_native_usex jack)"
- -DENABLE_X86_ASM="$(usex asm)"
- -DWITH_OPENGL_RECORDING="$(usex opengl)"
- -DWITH_PULSEAUDIO="$(multilib_native_usex pulseaudio)"
- -DWITH_JACK="$(multilib_native_usex jack)"
- -DWITH_GLINJECT="$(usex opengl)"
- -DWITH_V4L2="$(multilib_native_usex v4l)"
- )
-
- if multilib_is_native_abi ; then
- mycmakeargs+=(
- -DENABLE_32BIT_GLINJECT="false"
- -DWITH_QT5="true"
- )
- else
- mycmakeargs+=(
- # https://bugs.gentoo.org/660438
- -DCMAKE_INSTALL_LIB32DIR="$(get_libdir)"
- -DENABLE_32BIT_GLINJECT="true"
- -DWITH_SIMPLESCREENRECORDER="false"
- )
- fi
-
- cmake_src_configure
-}
diff --git a/media-video/simplescreenrecorder/simplescreenrecorder-9999.ebuild b/media-video/simplescreenrecorder/simplescreenrecorder-9999.ebuild
index a365a63c3e5d..5d68f605635a 100644
--- a/media-video/simplescreenrecorder/simplescreenrecorder-9999.ebuild
+++ b/media-video/simplescreenrecorder/simplescreenrecorder-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -39,7 +39,7 @@ RDEPEND="
virtual/glu[${MULTILIB_USEDEP}]
jack? ( virtual/jack )
opengl? ( media-libs/libglvnd[${MULTILIB_USEDEP},X] )
- pulseaudio? ( media-sound/pulseaudio )
+ pulseaudio? ( media-libs/libpulse )
v4l? ( media-libs/libv4l )
"
DEPEND="${RDEPEND}"
diff --git a/media-video/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-r2.ebuild b/media-video/subliminal/subliminal-2.1.0-r2.ebuild
new file mode 100644
index 000000000000..fa63fbe0edd3
--- /dev/null
+++ b/media-video/subliminal/subliminal-2.1.0-r2.ebuild
@@ -0,0 +1,95 @@
+# 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..11} )
+PYTHON_REQ_USE='xml(+)'
+
+inherit distutils-r1
+
+if [[ ${PV} == 9999 ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/Diaoul/${PN}.git"
+ EGIT_BRANCH="develop"
+else
+ SRC_URI="https://github.com/Diaoul/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="amd64 ~arm ~arm64 ~x86"
+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 )"
+
+LICENSE="MIT"
+SLOT="0"
+
+BDEPEND="
+ test? (
+ app-arch/unzip
+ dev-python/sympy[${PYTHON_USEDEP}]
+ >=dev-python/vcrpy-1.6.1[${PYTHON_USEDEP}]
+ )
+"
+RDEPEND="
+ >=dev-python/appdirs-1.3[${PYTHON_USEDEP}]
+ >=dev-python/babelfish-0.5.2[${PYTHON_USEDEP}]
+ >=dev-python/beautifulsoup4-4.4.0[${PYTHON_USEDEP}]
+ >=dev-python/chardet-2.3.0[${PYTHON_USEDEP}]
+ >=dev-python/click-4.0[${PYTHON_USEDEP}]
+ dev-python/decorator[${PYTHON_USEDEP}]
+ >=dev-python/dogpile-cache-0.6.0[${PYTHON_USEDEP}]
+ >=dev-python/enzyme-0.4.1[${PYTHON_USEDEP}]
+ >=dev-python/guessit-2.0.1[${PYTHON_USEDEP}]
+ >=dev-python/pysrt-1.0.1[${PYTHON_USEDEP}]
+ >=dev-python/pytz-2012c[${PYTHON_USEDEP}]
+ >=dev-python/rarfile-2.7[compressed,${PYTHON_USEDEP}]
+ >=dev-python/requests-2.0[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.0.0[${PYTHON_USEDEP}]
+"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-fix-pytest-warning.patch
+ "${FILESDIR}"/${PN}-2.1.0-rarfile-4.0-compat.patch
+)
+
+distutils_enable_tests pytest
+
+src_unpack() {
+ # Needed to unpack the test data
+ default
+
+ if [[ ${PV} == 9999 ]] ; then
+ git-r3_src_unpack
+ fi
+}
+
+python_prepare_all() {
+ # Disable code checkers as they require unavailable dependencies.
+ sed -i -e 's/--\(pep8\|flakes\)//g' pytest.ini || die
+
+ # Disable unconditional dependency on dev-python/pytest-runner.
+ sed -i -e "s|'pytest-runner'||g" setup.py || die
+
+ if use test ; then
+ mkdir -p tests/data/mkv || die
+ ln -s "${WORKDIR}"/test*.mkv tests/data/mkv/ || die
+ fi
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ EPYTEST_DESELECT=(
+ tests/test_core.py::test_scan_archive_with_one_video
+ tests/test_core.py::test_scan_archive_with_multiple_videos
+ tests/test_core.py::test_scan_archive_with_no_video
+ tests/test_core.py::test_scan_password_protected_archive
+ # NotImplementedError
+ tests/test_core.py::test_save_subtitles
+ )
+
+ epytest
+}
diff --git a/media-video/subliminal/subliminal-9999.ebuild b/media-video/subliminal/subliminal-9999.ebuild
index 792931859484..a3c58afc2d5e 100644
--- a/media-video/subliminal/subliminal-9999.ebuild
+++ b/media-video/subliminal/subliminal-9999.ebuild
@@ -1,11 +1,11 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-PYTHON_COMPAT=( python3_{9..10} )
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9..11} )
PYTHON_REQ_USE='xml(+)'
-DISTUTILS_USE_SETUPTOOLS=rdepend
inherit distutils-r1
@@ -15,6 +15,7 @@ if [[ ${PV} == 9999 ]] ; then
EGIT_BRANCH="develop"
else
SRC_URI="https://github.com/Diaoul/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm ~arm64 ~x86"
fi
DESCRIPTION="Python library to search and download subtitles"
@@ -50,7 +51,8 @@ RDEPEND="
"
PATCHES=(
- "${FILESDIR}/${PN}-2.1.0-fix-pytest-warning.patch"
+ "${FILESDIR}"/${P}-fix-pytest-warning.patch
+ "${FILESDIR}"/${PN}-2.1.0-rarfile-4.0-compat.patch
)
distutils_enable_tests pytest
@@ -80,16 +82,14 @@ python_prepare_all() {
}
python_test() {
- local skipped_tests=(
+ EPYTEST_DESELECT=(
tests/test_core.py::test_scan_archive_with_one_video
tests/test_core.py::test_scan_archive_with_multiple_videos
tests/test_core.py::test_scan_archive_with_no_video
tests/test_core.py::test_scan_password_protected_archive
+ # NotImplementedError
+ tests/test_core.py::test_save_subtitles
)
- # Two tests that list providers rely on entry points
- # so they need the package to be installed
- distutils_install_for_testing
- pytest -vv --ignore ${PN}/test/test_core.py ${skipped_tests[@]/#/--deselect } \
- || die "Tests fail with ${EPYTHON}"
+ epytest
}
diff --git a/media-video/subtitlecomposer/Manifest b/media-video/subtitlecomposer/Manifest
index f88fc4132ffd..f8cfd0d22adc 100644
--- a/media-video/subtitlecomposer/Manifest
+++ b/media-video/subtitlecomposer/Manifest
@@ -1 +1,2 @@
+DIST subtitlecomposer-0.7.1-patchset-1.tar.xz 6868 BLAKE2B 59ae09e6807b0c9eeb094556ec381157701a6d3ae66317c175816f2a779ef3db1874146c5ec0d211a07353bf592c1ff7ad8dcf91a1370916d37290204e7e5909 SHA512 bd7849ee7e4bb449b7f758bf86a45110f0e647d6a35ec31bbab82b7e8f02ac3b81aed958723848a08830a32f1e252dc2231d9a8a736b738b6c105c1a715aea1b
DIST subtitlecomposer-0.7.1.tar.xz 636808 BLAKE2B 4c71277c9646a64d59a0cd6923084b39292916e9edf154c026a051253fe8aabab1bdfb9e10c6fab5eb0d754ba428567c2259c637915e93d8d391b7f247c6dc79 SHA512 b486a1be8b414409af4ec2d2ccc86a7e9f34040f114b0efbbf817b5157d85b5f9a37d80272b468a389128f10c12316bf028dd86e2a7434a2b001bfd185208b92
diff --git a/media-video/subtitlecomposer/files/subtitlecomposer-0.7.1-ffmpeg-5.patch b/media-video/subtitlecomposer/files/subtitlecomposer-0.7.1-ffmpeg-5.patch
deleted file mode 100644
index a0314fb06820..000000000000
--- a/media-video/subtitlecomposer/files/subtitlecomposer-0.7.1-ffmpeg-5.patch
+++ /dev/null
@@ -1,65 +0,0 @@
-From 4f4f560e40ba0b760cf688eb024be3cc734ca347 Mon Sep 17 00:00:00 2001
-From: Mladen Milinkovic <maxrd2@smoothware.net>
-Date: Tue, 25 Jan 2022 14:01:56 +0100
-Subject: [PATCH] Fix compilation with ffmpeg5 #63
-
----
- src/streamprocessor/streamprocessor.cpp | 2 +-
- src/videoplayer/backend/decoder.h | 1 +
- src/videoplayer/backend/framequeue.h | 1 +
- src/videoplayer/backend/streamdemuxer.cpp | 2 +-
- 4 files changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/src/streamprocessor/streamprocessor.cpp b/src/streamprocessor/streamprocessor.cpp
-index b86795e..8faf8a2 100644
---- a/src/streamprocessor/streamprocessor.cpp
-+++ b/src/streamprocessor/streamprocessor.cpp
-@@ -195,7 +195,7 @@ StreamProcessor::findStream(int streamType, int streamIndex, bool imageSub)
- int ret;
- char errorText[1024];
-
-- AVCodec *dec = avcodec_find_decoder(m_avStream->codecpar->codec_id);
-+ const AVCodec *dec = avcodec_find_decoder(m_avStream->codecpar->codec_id);
- if(!dec) {
- qWarning() << "Failed to find decoder for stream" << i;
- return false;
-diff --git a/src/videoplayer/backend/decoder.h b/src/videoplayer/backend/decoder.h
-index 4ab95b2..fb6840d 100644
---- a/src/videoplayer/backend/decoder.h
-+++ b/src/videoplayer/backend/decoder.h
-@@ -11,6 +11,7 @@
- #include <QThread>
-
- extern "C" {
-+#include "libavcodec/avcodec.h"
- #include "libavformat/avformat.h"
- }
-
-diff --git a/src/videoplayer/backend/framequeue.h b/src/videoplayer/backend/framequeue.h
-index dc9b2fa..ece1166 100644
---- a/src/videoplayer/backend/framequeue.h
-+++ b/src/videoplayer/backend/framequeue.h
-@@ -9,6 +9,7 @@
- #define FRAMEQUEUE_H
-
- extern "C" {
-+#include "libavcodec/avcodec.h"
- #include "libavformat/avformat.h"
- }
-
-diff --git a/src/videoplayer/backend/streamdemuxer.cpp b/src/videoplayer/backend/streamdemuxer.cpp
-index 1e339b3..e8320ea 100644
---- a/src/videoplayer/backend/streamdemuxer.cpp
-+++ b/src/videoplayer/backend/streamdemuxer.cpp
-@@ -230,7 +230,7 @@ StreamDemuxer::componentOpen(int streamIndex)
- {
- AVFormatContext *ic = m_vs->fmtContext;
- AVCodecContext *avCtx;
-- AVCodec *codec;
-+ const AVCodec *codec;
- AVDictionary *opts = nullptr;
- AVDictionaryEntry *t = nullptr;
- int sampleRate, nbChannels;
---
-GitLab
-
diff --git a/media-video/subtitlecomposer/files/subtitlecomposer-0.7.1-gles-support.patch b/media-video/subtitlecomposer/files/subtitlecomposer-0.7.1-gles-support.patch
deleted file mode 100644
index 98de494cf306..000000000000
--- a/media-video/subtitlecomposer/files/subtitlecomposer-0.7.1-gles-support.patch
+++ /dev/null
@@ -1,122 +0,0 @@
-From 167a941f8070f4a9abacb3aa2f61ee6ee00d6cb8 Mon Sep 17 00:00:00 2001
-From: Mladen Milinkovic <maxrd2@smoothware.net>
-Date: Thu, 7 Oct 2021 19:37:23 +0200
-Subject: [PATCH] GLRenderer: added GLES support
-
----
- src/videoplayer/backend/glrenderer.cpp | 44 ++++++++++++++++++++++----
- 1 file changed, 38 insertions(+), 6 deletions(-)
-
-diff --git a/src/videoplayer/backend/glrenderer.cpp b/src/videoplayer/backend/glrenderer.cpp
-index 7c9c38b..5cb985d 100644
---- a/src/videoplayer/backend/glrenderer.cpp
-+++ b/src/videoplayer/backend/glrenderer.cpp
-@@ -20,6 +20,7 @@ extern "C" {
- }
-
- #define DEBUG_GL 0
-+#define FORCE_GLES 0
- #define OPENGL_CORE 0
- #define OPENGL_VER 2,0
-
-@@ -33,6 +34,17 @@ extern "C" {
- #define asGL(glCall) glCall
- #endif
-
-+#if defined(GL_ES_VERSION_2_0) || FORCE_GLES
-+#define USE_GLES
-+#define TEXTURE_RGB_FORMAT GL_RGBA
-+// NOTE: we don't currently support more than 8bpp on GLES
-+#define TEXTURE_U16_FORMAT GL_R8
-+#else
-+#undef USE_GLES
-+#define TEXTURE_RGB_FORMAT GL_BGRA
-+#define TEXTURE_U16_FORMAT GL_R16
-+#endif
-+
- using namespace SubtitleComposer;
-
- enum { ID_Y, ID_U, ID_V, ID_OVR, ID_SIZE };
-@@ -82,6 +94,9 @@ void
- GLRenderer::setupProfile()
- {
- QSurfaceFormat format(QSurfaceFormat::defaultFormat());
-+#if FORCE_GLES
-+ format.setRenderableType(QSurfaceFormat::OpenGLES);
-+#endif
- format.setVersion(OPENGL_VER);
- #if DEBUG_GL
- format.setOption(QSurfaceFormat::DebugContext);
-@@ -126,7 +141,7 @@ GLRenderer::setFrameFormat(int width, int height, int compBits, int crWidthShift
- m_crHeight = crHeight;
-
- m_glType = compBytes == 1 ? GL_UNSIGNED_BYTE : GL_UNSIGNED_SHORT;
-- m_glFormat = compBytes == 1 ? GL_R8 : GL_R16;
-+ m_glFormat = compBytes == 1 ? GL_R8 : TEXTURE_U16_FORMAT;
-
- delete[] m_bufYUV;
- m_bufSize = bufSize;
-@@ -261,7 +276,11 @@ GLRenderer::initShader()
- delete m_vertShader;
- m_vertShader = new QOpenGLShader(QOpenGLShader::Vertex, this);
- bool success = m_vertShader->compileSourceCode(
-+#ifdef USE_GLES
-+ "#version 100\n"
-+#else
- "#version 120\n"
-+#endif
- "attribute vec4 vPos;"
- "attribute vec2 vVidTex;"
- "attribute vec2 vOvrTex;"
-@@ -288,7 +307,13 @@ GLRenderer::initShader()
- csms.append(QString::number(csm[i], 'g', 10));
- }
-
-- success = m_fragShader->compileSourceCode(QStringLiteral("#version 120\n"
-+ success = m_fragShader->compileSourceCode(QStringLiteral(
-+#ifdef USE_GLES
-+ "#version 100\n"
-+ "precision mediump float;\n"
-+#else
-+ "#version 120\n"
-+#endif
- "varying vec2 vfVidTex;"
- "varying vec2 vfOvrTex;"
- "uniform sampler2D texY;"
-@@ -348,8 +373,15 @@ GLRenderer::initializeGL()
- QMutexLocker l(&m_texMutex);
-
- initializeOpenGLFunctions();
-- qDebug() << "OpenGL version: " << reinterpret_cast<const char *>(glGetString(GL_VERSION));
-- qDebug() << "GLSL version: " << reinterpret_cast<const char *>(glGetString(GL_SHADING_LANGUAGE_VERSION));
-+ qDebug().nospace() << "GL API: OpenGL " << (format().renderableType() == QSurfaceFormat::OpenGLES ? "ES" : "Des