diff options
Diffstat (limited to 'media-video')
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&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 |