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)

Reply via email to