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

Reply via email to