Source: pipewire Version: 1.0.4-2 Severity: wishlist Tags: patch The attached patches, also available as <https://salsa.debian.org/utopia-team/pipewire/-/merge_requests/27>, temporarily disable some optional features on the 32-bit non-x86 architectures (armel, armhf and some -ports architectures) to make pipewire buildable on those architectures again.
I've confirmed on a porterbox that this should make pipewire buildable on armhf immediately, and armel soon. The first commit (limiting Snap support to the architectures supported by Snap upstream) might remain useful after this transition has finished. The others should be reverted after the relevant libraries become available on the affected architectures. smcv
>From c1de62b3c7b48f64df8f6c69ab9cb35fa9e775b8 Mon Sep 17 00:00:00 2001 From: Simon McVittie <s...@debian.org> Date: Fri, 22 Mar 2024 10:56:02 +0000 Subject: [PATCH 1/4] Only build Snap integration on supported architectures According to Snap documentation, only these architectures are supported, so enabling the others is unlikely to be particularly useful. Reducing the architecture list reduces the impact of any non-portability in snapd-glib. Reference: https://snapcraft.io/docs/reference-architectures#heading--supported-architectures --- debian/control | 2 +- debian/rules | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/debian/control b/debian/control index 294002dd4..b6412b35f 100644 --- a/debian/control +++ b/debian/control @@ -32,7 +32,7 @@ Build-Depends: dpkg-dev (>= 1.22.5), debhelper-compat (= 13), libroc-dev (>= 0.3.0+dfsg-3), libsbc-dev, libsdl2-dev <!noinsttest>, - libsnapd-glib-dev [linux-any], + libsnapd-glib-dev [amd64 arm64 armhf i386 powerpc ppc64el riscv64 s390x], libsndfile1-dev, libssl-dev, libsystemd-dev [linux-any], diff --git a/debian/rules b/debian/rules index fe1d68b74..7979ec2fb 100755 --- a/debian/rules +++ b/debian/rules @@ -48,15 +48,19 @@ LIBFFADO=enabled endif ifneq (,$(filter hurd-amd64 hurd-i386,$(DEB_HOST_ARCH))) -SNAP=disabled UDEVRULESDIR= else export UDEVRULESDIR=/usr/lib/udev/rules.d -SNAP=enabled # For pre-Trixie releases udev rules should go in: # export UDEVRULESDIR=/lib/udev/rules.d endif +ifneq (,$(filter amd64 arm64 armhf i386 powerpc ppc64el riscv64 s390x,$(DEB_HOST_ARCH))) +SNAP=enabled +else +SNAP=disabled +endif + override_dh_auto_configure: dh_auto_configure -- \ -Daudiotestsrc=enabled \ -- 2.43.0
>From f6ecc89c51e6684fddb89135a4acdbf705965176 Mon Sep 17 00:00:00 2001 From: Simon McVittie <s...@debian.org> Date: Sat, 23 Mar 2024 10:22:04 +0000 Subject: [PATCH 2/4] Temporarily disable Snap integration on 32-bit non-x86 snapd-glib has not yet been rebuilt for the 64-bit time_t transition. This change should be reverted after snapd-glib is rebuilt. --- debian/control | 2 +- debian/rules | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/debian/control b/debian/control index b6412b35f..a21e1ae08 100644 --- a/debian/control +++ b/debian/control @@ -32,7 +32,7 @@ Build-Depends: dpkg-dev (>= 1.22.5), debhelper-compat (= 13), libroc-dev (>= 0.3.0+dfsg-3), libsbc-dev, libsdl2-dev <!noinsttest>, - libsnapd-glib-dev [amd64 arm64 armhf i386 powerpc ppc64el riscv64 s390x], + libsnapd-glib-dev [amd64 arm64 i386 ppc64el riscv64 s390x], libsndfile1-dev, libssl-dev, libsystemd-dev [linux-any], diff --git a/debian/rules b/debian/rules index 7979ec2fb..ba039fd3e 100755 --- a/debian/rules +++ b/debian/rules @@ -55,7 +55,7 @@ export UDEVRULESDIR=/usr/lib/udev/rules.d # export UDEVRULESDIR=/lib/udev/rules.d endif -ifneq (,$(filter amd64 arm64 armhf i386 powerpc ppc64el riscv64 s390x,$(DEB_HOST_ARCH))) +ifneq (,$(filter amd64 arm64 i386 ppc64el riscv64 s390x,$(DEB_HOST_ARCH))) SNAP=enabled else SNAP=disabled -- 2.43.0
>From ff854d2be60964d75a57ed64f5a161a55ef38ee9 Mon Sep 17 00:00:00 2001 From: Simon McVittie <s...@debian.org> Date: Sat, 23 Mar 2024 10:42:29 +0000 Subject: [PATCH 3/4] Temporarily disable libffado integration on 32-bit non-x86 libffado has not yet been rebuilt for the 64-bit time_t transition. This change should be reverted after it is rebuilt. --- debian/control | 2 +- debian/rules | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/debian/control b/debian/control index a21e1ae08..1632c8e62 100644 --- a/debian/control +++ b/debian/control @@ -13,7 +13,7 @@ Build-Depends: dpkg-dev (>= 1.22.5), debhelper-compat (= 13), libbluetooth-dev [linux-any], libcamera-dev (>= 0.2.0) [!m68k !hurd-any], libdbus-1-dev, - libffado-dev, + libffado-dev [!armel !armhf !hppa !m68k !powerpc !sh4], libfreeaptx-dev, libglib2.0-dev, libgstreamer-plugins-base1.0-dev, diff --git a/debian/rules b/debian/rules index ba039fd3e..ac0dc4d7e 100755 --- a/debian/rules +++ b/debian/rules @@ -61,6 +61,10 @@ else SNAP=disabled endif +ifeq ($(DEB_HOST_ARCH_BITS)$(filter i386,$(DEB_HOST_ARCH_CPU)),32) +LIBFFADO=disabled +endif + override_dh_auto_configure: dh_auto_configure -- \ -Daudiotestsrc=enabled \ -- 2.43.0
>From b85318c4ef551830cc2651eb1d98818772343d0b Mon Sep 17 00:00:00 2001 From: Simon McVittie <s...@debian.org> Date: Sat, 23 Mar 2024 10:48:56 +0000 Subject: [PATCH 4/4] Temporarily disable ROC integration on 32-bit non-x86 libroc has not yet been rebuilt for the 64-bit time_t transition. This change should be reverted after it is rebuilt. --- debian/control | 2 +- debian/libpipewire-0.3-modules.install | 11 +---------- debian/rules | 5 ++++- 3 files changed, 6 insertions(+), 12 deletions(-) diff --git a/debian/control b/debian/control index 1632c8e62..626fe588a 100644 --- a/debian/control +++ b/debian/control @@ -29,7 +29,7 @@ Build-Depends: dpkg-dev (>= 1.22.5), debhelper-compat (= 13), libopus-dev, libpulse-dev, libreadline-dev, - libroc-dev (>= 0.3.0+dfsg-3), + libroc-dev (>= 0.3.0+dfsg-3) [!armel !armhf !hppa !m68k !powerpc !sh4], libsbc-dev, libsdl2-dev <!noinsttest>, libsnapd-glib-dev [amd64 arm64 i386 ppc64el riscv64 s390x], diff --git a/debian/libpipewire-0.3-modules.install b/debian/libpipewire-0.3-modules.install index 7adf360e1..6a9edb3e3 100644 --- a/debian/libpipewire-0.3-modules.install +++ b/debian/libpipewire-0.3-modules.install @@ -20,16 +20,7 @@ usr/lib/*/pipewire-0.3/libpipewire-module-protocol-native.so usr/lib/*/pipewire-0.3/libpipewire-module-protocol-pulse.so usr/lib/*/pipewire-0.3/libpipewire-module-protocol-simple.so usr/lib/*/pipewire-0.3/libpipewire-module-pulse-tunnel.so -usr/lib/*/pipewire-0.3/libpipewire-module-raop-discover.so -usr/lib/*/pipewire-0.3/libpipewire-module-raop-sink.so -usr/lib/*/pipewire-0.3/libpipewire-module-roc-sink.so -usr/lib/*/pipewire-0.3/libpipewire-module-roc-source.so -usr/lib/*/pipewire-0.3/libpipewire-module-rt.so -usr/lib/*/pipewire-0.3/libpipewire-module-rtkit.so -usr/lib/*/pipewire-0.3/libpipewire-module-rtp-sap.so -usr/lib/*/pipewire-0.3/libpipewire-module-rtp-session.so -usr/lib/*/pipewire-0.3/libpipewire-module-rtp-sink.so -usr/lib/*/pipewire-0.3/libpipewire-module-rtp-source.so +usr/lib/*/pipewire-0.3/libpipewire-module-r*.so usr/lib/*/pipewire-0.3/libpipewire-module-session-manager.so usr/lib/*/pipewire-0.3/libpipewire-module-spa-device-factory.so usr/lib/*/pipewire-0.3/libpipewire-module-spa-device.so diff --git a/debian/rules b/debian/rules index ac0dc4d7e..6dc3cf7ea 100755 --- a/debian/rules +++ b/debian/rules @@ -61,8 +61,11 @@ else SNAP=disabled endif +ROC=enabled + ifeq ($(DEB_HOST_ARCH_BITS)$(filter i386,$(DEB_HOST_ARCH_CPU)),32) LIBFFADO=disabled +ROC=disabled endif override_dh_auto_configure: @@ -85,7 +88,7 @@ override_dh_auto_configure: -Dinstalled_tests=$(INSTTEST) \ -Dlv2=$(LV2) \ -Dman=$(MAN) \ - -Droc=enabled \ + -Droc=$(ROC) \ -Dsdl2=$(SDL2) \ -Dsession-managers= \ -Dsnap=$(SNAP) \ -- 2.43.0