commit: 4417f8054897d3a23112545d0f564062f7f01d58 Author: Sam James <sam <AT> gentoo <DOT> org> AuthorDate: Mon Jun 26 15:45:04 2023 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Mon Jun 26 16:47:19 2023 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4417f805
media-video/pipewire: add 0.3.72 Signed-off-by: Sam James <sam <AT> gentoo.org> media-video/pipewire/Manifest | 1 + .../pipewire/files/0.3.72/001-opus-meson.patch | 95 ++++++++++++++++++++++ .../0.3.72/002-context-segfault-no-fallback.patch | 32 ++++++++ ...pipewire-9999.ebuild => pipewire-0.3.72.ebuild} | 8 +- media-video/pipewire/pipewire-9999.ebuild | 8 +- 5 files changed, 138 insertions(+), 6 deletions(-) diff --git a/media-video/pipewire/Manifest b/media-video/pipewire/Manifest index c042e20afb9c..39f01c37fa35 100644 --- a/media-video/pipewire/Manifest +++ b/media-video/pipewire/Manifest @@ -1,2 +1,3 @@ DIST pipewire-0.3.70.tar.bz2 1573378 BLAKE2B 3824106cba9c1b0a82c6d8889b2b1473f4bfc5d0994ee9dd8b46a454c287bbd4e0ad5dc508df5d4a9b7c5f683898ed756947788e561f2bf51a3116b12e46d075 SHA512 8b25d90232d07d5b1e210bd8f24240438a7dcece23a5be59a4e49fc3daf51ebf659f2cc343a0d913310a4659792590ef981ab7a59890506557f9510d902a0cff DIST pipewire-0.3.71.tar.bz2 1592332 BLAKE2B ff6483a040285cd7a7cc10878cc88b61a0e01c0376ab64ef84f753b300b61da23211bc1b50208da7f1054d6ddf08092e81cbf29df508aad3bc93f20742a2f735 SHA512 465388faaf0f7fcce21fdbcd7a1705ef524c35e267c3f123b1025c34133fc418194abb9e22d89e60c9acc1417b25d655112fd9ef342e26ca9b8bc26013b09cb3 +DIST pipewire-0.3.72.tar.bz2 1622951 BLAKE2B e3334410b551ba155dc79baecdd85fa5f214483ab53d11cc9b59ec2a0549957b67048d621ff1881ea927ba315d41c32ba3df97435453ff68173e2c450bf216aa SHA512 f105a2afdc00a81cb8c95c57645257109fd3ac1bd0608eb59969473fd94600c8ecf1d3f51abebcf7f9d70307568b2f5f66c7480a014b3955bcb992d92ca3ff43 diff --git a/media-video/pipewire/files/0.3.72/001-opus-meson.patch b/media-video/pipewire/files/0.3.72/001-opus-meson.patch new file mode 100644 index 000000000000..a505336e0a31 --- /dev/null +++ b/media-video/pipewire/files/0.3.72/001-opus-meson.patch @@ -0,0 +1,95 @@ +From 14ebb9a568f3d8e1351181300dda93099b52742c Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Nikl=C4=81vs=20Ko=C4=BCes=C5=86ikovs?= + <[email protected]> +Date: Mon, 26 Jun 2023 17:07:04 +0300 +Subject: [PATCH 1/2] spa/plugins/bluez5/meson: removed some unneeded redefines +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +As far as I can tell, the code in question was not doing anything there +and was also breaking the new code elsewhere, so it was put on the +chopping block. Don't mind the squirming tentacles. + +Signed-off-by: NiklÄvs Koļesņikovs <[email protected]> +--- + spa/plugins/bluez5/meson.build | 5 +---- + 1 file changed, 1 insertion(+), 4 deletions(-) + +diff --git a/spa/plugins/bluez5/meson.build b/spa/plugins/bluez5/meson.build +index e6c52ccc57..80493cfe61 100644 +--- a/spa/plugins/bluez5/meson.build ++++ b/spa/plugins/bluez5/meson.build +@@ -118,16 +118,14 @@ endif + + if ldac_dep.found() + ldac_args = codec_args +- ldac_dep = [ ldac_dep ] + if ldac_abr_dep.found() + ldac_args += [ '-DENABLE_LDAC_ABR' ] +- ldac_dep += ldac_abr_dep + endif + bluez_codec_ldac = shared_library('spa-codec-bluez5-ldac', + [ 'a2dp-codec-ldac.c', 'media-codecs.c' ], + include_directories : [ configinc ], + c_args : ldac_args, +- dependencies : [ spa_dep, ldac_dep ], ++ dependencies : [ spa_dep, ldac_dep, ldac_abr_dep ], + install : true, + install_dir : spa_plugindir / 'bluez5') + endif +@@ -144,7 +142,6 @@ endif + + if get_option('bluez5-codec-opus').allowed() and opus_dep.found() + opus_args = codec_args +- opus_dep = [ opus_dep ] + bluez_codec_opus = shared_library('spa-codec-bluez5-opus', + [ 'a2dp-codec-opus.c', 'media-codecs.c' ], + include_directories : [ configinc ], +-- +GitLab + + +From 23a10a8abb324809d1ebc5d33e36cdfa570390ed Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Nikl=C4=81vs=20Ko=C4=BCes=C5=86ikovs?= + <[email protected]> +Date: Mon, 26 Jun 2023 16:35:01 +0300 +Subject: [PATCH 2/2] src/modules/meson: ensure Opus libs were actually found, + too +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +The old way fails, if a distro has the header but not the library, +which can happen on at least Gentoo with multilib deployments, +where the shared header is present but non-native libraries might not. + +This could still fail, if a distro had some but not all libraries for +some architectures but hopefully no one did that. In that case, a compile +test would likely be required via cc.check_header() instead but let's try +the faster fix first. + +Reported-by: Sam James <[email protected]> +Thanks-to: Barnabás PÅ‘cze <[email protected]> +Thanks-to: Xavier Claessens <[email protected]> +Signed-off-by: NiklÄvs Koļesņikovs <[email protected]> +--- + src/modules/meson.build | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/src/modules/meson.build b/src/modules/meson.build +index 342bd697b1..970e04db98 100644 +--- a/src/modules/meson.build ++++ b/src/modules/meson.build +@@ -203,7 +203,8 @@ endif + summary({'ffado-driver': build_module_ffado_driver}, bool_yn: true, section: 'Optional Modules') + + opus_custom_h = cc.has_header('opus/opus_custom.h', dependencies: opus_dep) +-if opus_custom_h ++# One would imagine that opus_dep is a requirement but for some reason it's not, so we need to manually check that ++if opus_dep.found() and opus_custom_h + opus_custom_dep = declare_dependency(compile_args: ['-DHAVE_OPUS_CUSTOM'], dependencies: opus_dep) + else + opus_custom_dep = dependency('', required: false) +-- +GitLab diff --git a/media-video/pipewire/files/0.3.72/002-context-segfault-no-fallback.patch b/media-video/pipewire/files/0.3.72/002-context-segfault-no-fallback.patch new file mode 100644 index 000000000000..41998db7ec58 --- /dev/null +++ b/media-video/pipewire/files/0.3.72/002-context-segfault-no-fallback.patch @@ -0,0 +1,32 @@ +https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/4df753d0d7af7e68ab16ee90b94c4ddd44506074 + +From 4df753d0d7af7e68ab16ee90b94c4ddd44506074 Mon Sep 17 00:00:00 2001 +From: Wim Taymans <[email protected]> +Date: Mon, 26 Jun 2023 16:11:33 +0200 +Subject: [PATCH] context: avoid segfault when no fallback driver + +In some cases, there might not be a fallback driver. Handle this without +segfaulting. +--- + src/pipewire/context.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/pipewire/context.c b/src/pipewire/context.c +index daf13c16b..5fd0cdec9 100644 +--- a/src/pipewire/context.c ++++ b/src/pipewire/context.c +@@ -1327,11 +1327,11 @@ again: + if ((t->want_driver && t->active && t->runnable) || + t->always_process) { + driver = target; +- driver->runnable = true; + break; + } + } + if (driver != NULL) { ++ driver->runnable = true; + /* driver needed for this group */ + move_to_driver(context, &collect, driver); + } else { +-- +GitLab diff --git a/media-video/pipewire/pipewire-9999.ebuild b/media-video/pipewire/pipewire-0.3.72.ebuild similarity index 98% copy from media-video/pipewire/pipewire-9999.ebuild copy to media-video/pipewire/pipewire-0.3.72.ebuild index f52b45b36321..c9167314ab2c 100644 --- a/media-video/pipewire/pipewire-9999.ebuild +++ b/media-video/pipewire/pipewire-0.3.72.ebuild @@ -29,7 +29,7 @@ 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" + KEYWORDS="~amd64" fi DESCRIPTION="Multimedia processing graphs" @@ -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 ffmpeg flatpak gstreamer gsettings jack-client jack-sdk liblc3 lv2 -modemmanager pipewire-alsa readline sound-server ssl system-service systemd test v4l X zeroconf" +IUSE="bluetooth dbus doc echo-cancel extra ffmpeg flatpak gstreamer gsettings ieee1394 jack-client jack-sdk liblc3 lv2" +IUSE+=" 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 @@ -106,6 +106,7 @@ RDEPEND=" media-libs/gst-plugins-base:1.0 ) gsettings? ( >=dev-libs/glib-2.26.0:2 ) + ieee1394? ( media-libs/libffado[${MULTILIB_USEDEP}] ) jack-client? ( >=media-sound/jack2-1.9.10:2[dbus] ) jack-sdk? ( !media-sound/jack-audio-connection-kit @@ -175,6 +176,7 @@ multilib_src_configure() { $(meson_native_enabled man) $(meson_feature test tests) -Dinstalled_tests=disabled # Matches upstream; Gentoo never installs tests + $(meson_feature ieee1394 libffado) $(meson_native_use_feature gstreamer) $(meson_native_use_feature gstreamer gstreamer-device-provider) $(meson_native_use_feature gsettings) diff --git a/media-video/pipewire/pipewire-9999.ebuild b/media-video/pipewire/pipewire-9999.ebuild index f52b45b36321..c9167314ab2c 100644 --- a/media-video/pipewire/pipewire-9999.ebuild +++ b/media-video/pipewire/pipewire-9999.ebuild @@ -29,7 +29,7 @@ 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" + KEYWORDS="~amd64" fi DESCRIPTION="Multimedia processing graphs" @@ -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 ffmpeg flatpak gstreamer gsettings jack-client jack-sdk liblc3 lv2 -modemmanager pipewire-alsa readline sound-server ssl system-service systemd test v4l X zeroconf" +IUSE="bluetooth dbus doc echo-cancel extra ffmpeg flatpak gstreamer gsettings ieee1394 jack-client jack-sdk liblc3 lv2" +IUSE+=" 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 @@ -106,6 +106,7 @@ RDEPEND=" media-libs/gst-plugins-base:1.0 ) gsettings? ( >=dev-libs/glib-2.26.0:2 ) + ieee1394? ( media-libs/libffado[${MULTILIB_USEDEP}] ) jack-client? ( >=media-sound/jack2-1.9.10:2[dbus] ) jack-sdk? ( !media-sound/jack-audio-connection-kit @@ -175,6 +176,7 @@ multilib_src_configure() { $(meson_native_enabled man) $(meson_feature test tests) -Dinstalled_tests=disabled # Matches upstream; Gentoo never installs tests + $(meson_feature ieee1394 libffado) $(meson_native_use_feature gstreamer) $(meson_native_use_feature gstreamer gstreamer-device-provider) $(meson_native_use_feature gsettings)
