After a fresh installation of Parabola/OpenRC on x86_64,
you won't be able to install pipewire due to dependency
"libcamera-base.so=0.0.5-64" and "libcamera.so=0.0.5-64".
This patch updates nonsystemd/pipewire to the latest
stable version according to PKGBUILD from Artix [1]
[1] https://gitea.artixlinux.org/packages/pipewire/src/branch/master/PKGBUILD
From 1abe3423dab7c2ff9403454251e7c3569efc0926 Mon Sep 17 00:00:00 2001
From: SolveFinder <[email protected]>
Date: Tue, 8 Aug 2023 10:29:44 +0300
Subject: [PATCH] [UPDPKG] nonsystemd/pipewire: 1:0.3.77
---
...sable-LD_LIBRARY_PATH-when-libjack-i.patch | 51 +++++++++++++
PKGBUILD | 71 ++++++++++++++++---
2 files changed, 111 insertions(+), 11 deletions(-)
create mode 100644 0001-pipewire-jack-Disable-LD_LIBRARY_PATH-when-libjack-i.patch
diff --git a/0001-pipewire-jack-Disable-LD_LIBRARY_PATH-when-libjack-i.patch b/0001-pipewire-jack-Disable-LD_LIBRARY_PATH-when-libjack-i.patch
new file mode 100644
index 0000000..650d2a0
--- /dev/null
+++ b/0001-pipewire-jack-Disable-LD_LIBRARY_PATH-when-libjack-i.patch
@@ -0,0 +1,51 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: "Jan Alexander Steffens (heftig)" <[email protected]>
+Date: Thu, 3 Aug 2023 20:53:49 +0200
+Subject: [PATCH] pipewire-jack: Disable LD_LIBRARY_PATH when libjack is in
+ libdir
+
+This avoids prepending /usr/lib to the LD_LIBRARY_PATH, which supersedes
+DT_RUNPATH and can cause library confusion.
+---
+ pipewire-jack/src/meson.build | 7 +++++++
+ pipewire-jack/src/pw-jack.in | 4 ++--
+ 2 files changed, 9 insertions(+), 2 deletions(-)
+
+diff --git a/pipewire-jack/src/meson.build b/pipewire-jack/src/meson.build
+index daa4bcdef1ae..def7746afe20 100644
+--- a/pipewire-jack/src/meson.build
++++ b/pipewire-jack/src/meson.build
+@@ -21,12 +21,19 @@ libjack_path = get_option('libjack-path')
+ if libjack_path == ''
+ libjack_path = modules_install_dir / 'jack'
+ libjack_path_dlopen = modules_install_dir_dlopen / 'jack'
++ libjack_path_enable = ''
++elif libjack_path == get_option('libdir') or libjack_path == pipewire_libdir
++ libjack_path = pipewire_libdir
++ libjack_path_dlopen = libjack_path
++ libjack_path_enable = '#'
+ else
+ libjack_path_dlopen = libjack_path
++ libjack_path_enable = ''
+ endif
+
+ tools_config = configuration_data()
+ tools_config.set('LIBJACK_PATH', libjack_path_dlopen)
++tools_config.set('LIBJACK_PATH_ENABLE', libjack_path_enable)
+
+ configure_file(input : 'pw-jack.in',
+ output : 'pw-jack',
+diff --git a/pipewire-jack/src/pw-jack.in b/pipewire-jack/src/pw-jack.in
+index 2f232f6253b0..e9714284878a 100755
+--- a/pipewire-jack/src/pw-jack.in
++++ b/pipewire-jack/src/pw-jack.in
+@@ -52,7 +52,7 @@ if [ -n "$PERIOD" ]; then
+ fi
+ export PIPEWIRE_QUANTUM
+ fi
+-LD_LIBRARY_PATH='@LIBJACK_PATH@'"${LD_LIBRARY_PATH+":$LD_LIBRARY_PATH"}"
+-export LD_LIBRARY_PATH
++@LIBJACK_PATH_ENABLE@LD_LIBRARY_PATH='@LIBJACK_PATH@'"${LD_LIBRARY_PATH+":$LD_LIBRARY_PATH"}"
++@LIBJACK_PATH_ENABLE@export LD_LIBRARY_PATH
+
+ exec "$@"
diff --git a/PKGBUILD b/PKGBUILD
index 1a18a81..191b272 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -15,6 +15,7 @@ pkgname=(
pipewire-docs
pipewire-audio
pipewire-alsa
+ pipewire-ffado
pipewire-jack
pipewire-pulse
pipewire-roc
@@ -23,9 +24,9 @@ pkgname=(
pipewire-v4l2
pipewire-x11-bell
)
-_commit=9f7d60c1e84cc0481afc3f6ccf76e127567943a8 # tags/0.3.70
-pkgver=0.3.70
-pkgrel=2
+_commit=31cd694602cc37ada3a6d02a5a381f4e3933ecef # tags/0.3.77
+pkgver=0.3.77
+pkgrel=3
pkgrel+=.nonsystemd1
epoch=1
pkgdesc="Low-latency audio/video router and processor"
@@ -46,6 +47,7 @@ makedepends=(
libcamera
libcanberra
libfdk-aac
+ libffado
libfreeaptx
liblc3
libldac
@@ -65,16 +67,24 @@ makedepends=(
rtkit
sbc
sdl2
- tinycompress
valgrind
webrtc-audio-processing
)
-checkdepends=(desktop-file-utils)
-source=("git+https://gitlab.freedesktop.org/pipewire/pipewire.git#commit=$_commit"
- pipewire.desktop pipewire-launcher)
+checkdepends=(
+ desktop-file-utils
+ openal
+)
+source=(
+ "git+https://gitlab.freedesktop.org/pipewire/pipewire.git#commit=$_commit"
+ pipewire-launcher
+ pipewire.desktop
+ 0001-pipewire-jack-Disable-LD_LIBRARY_PATH-when-libjack-i.patch
+)
b2sums=('SKIP'
+ '3a9e120f3b7d0d33cd0e231c063dd7533bd20d146550e05d7da8b2a59153498cb080a78b9fca03a661363e8d0aca461b8127dc2f180e035039ccfd0da0281dde'
'b26aea0758d4f747bbcf44f53db59dc89a7c947aba2d49e6468ced91173a8b3ea54858d71b6c6eb7bfbe9b1a0a0653c78c76480dcd6142978f7fde15bc989a01'
- '3a9e120f3b7d0d33cd0e231c063dd7533bd20d146550e05d7da8b2a59153498cb080a78b9fca03a661363e8d0aca461b8127dc2f180e035039ccfd0da0281dde')
+ '17de92c7209e4b927f1de7cf11aa5b7b92fbdd41cea26850ecd2159c393ee8a30a93b178681ab05b408fb2fffac111c29b5eebf41119d7ad8f5bbed7122fc3f3')
+
pkgver() {
cd pipewire
@@ -85,7 +95,7 @@ prepare() {
cd pipewire
# remove export of LD_LIBRARY_PATH for pw-jack as it would add /usr/lib
- sed -i '/LD_LIBRARY_PATH/d' pipewire-jack/src/pw-jack.in
+ git apply -3 ../0001-pipewire-jack-Disable-LD_LIBRARY_PATH-when-libjack-i.patch
}
build() {
@@ -126,6 +136,8 @@ _ver=${pkgver:0:3}
package_pipewire() {
license+=(LGPL) # libspa-alsa
depends=(
+ gcc-libs
+ glibc
"libpipewire=$epoch:$pkgver-$pkgrel"
libcamera-base.so
libcamera.so
@@ -141,6 +153,7 @@ package_pipewire() {
'pipewire-alsa: ALSA configuration'
'pipewire-audio: Audio support'
'pipewire-docs: Documentation'
+ 'pipewire-ffado: FireWire support'
'pipewire-jack: JACK support'
'pipewire-pulse: PulseAudio replacement'
'pipewire-roc: ROC streaming'
@@ -182,9 +195,10 @@ package_pipewire() {
_pick audio usr/lib/pipewire-$_ver/libpipewire-module-fallback-sink.so
_pick audio usr/lib/pipewire-$_ver/libpipewire-module-filter-chain.so
_pick audio usr/lib/pipewire-$_ver/libpipewire-module-loopback.so
+ _pick audio usr/lib/pipewire-$_ver/libpipewire-module-netjack2-*.so
_pick audio usr/lib/pipewire-$_ver/libpipewire-module-pipe-tunnel.so
_pick audio usr/lib/pipewire-$_ver/libpipewire-module-protocol-simple.so
- _pick audio usr/lib/pipewire-$_ver/libpipewire-module-rtp-*.so
+ _pick audio usr/lib/pipewire-$_ver/libpipewire-module-rtp-{sap,sink,source}.so
_pick audio usr/lib/spa-0.2/{aec,alsa,audio*,avb,bluez5}
_pick audio usr/share/alsa
_pick audio usr/share/man/man1/pw-{cat,mididump}.1
@@ -192,6 +206,8 @@ package_pipewire() {
_pick audio usr/share/pipewire/pipewire-{aes67,avb}.conf
_pick audio usr/share/spa-0.2/bluez5
+ _pick ffado usr/lib/pipewire-$_ver/libpipewire-module-ffado*.so
+
_pick jack usr/bin/pw-jack
_pick jack usr/include/jack
_pick jack usr/lib/libjack*
@@ -210,6 +226,7 @@ package_pipewire() {
_pick gst usr/lib/gstreamer-1.0
_pick zeroconf usr/lib/pipewire-$_ver/libpipewire-module-{raop,zeroconf}-*.so
+ _pick zeroconf usr/lib/pipewire-$_ver/libpipewire-module-rtp-session.so
_pick v4l2 usr/bin/pw-v4l2 usr/lib/pipewire-$_ver/v4l2
@@ -253,6 +270,10 @@ package_pipewire-audio() {
pkgdesc+=" - Audio support"
depends=(
alsa-card-profiles
+ dbus
+ gcc-libs
+ glib2
+ glibc
libasound.so
libbluetooth.so
libfdk-aac.so
@@ -265,7 +286,6 @@ package_pipewire-audio() {
libpipewire-$_ver.so
libsbc.so
libsndfile.so
- libtinycompress.so
libusb-1.0.so
libwebrtc_audio_processing.so
pipewire
@@ -300,10 +320,26 @@ package_pipewire-alsa() {
install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 pipewire/COPYING
}
+package_pipewire-ffado() {
+ pkgdesc+=" - FireWire support"
+ depends=(
+ glibc
+ libffado.so
+ libpipewire-$_ver.so
+ pipewire
+ pipewire-audio
+ )
+
+ mv ffado/* "$pkgdir"
+
+ install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 pipewire/COPYING
+}
+
package_pipewire-jack() {
pkgdesc+=" - JACK support"
license+=(GPL2) # libjackserver
depends=(
+ glibc
libpipewire-$_ver.so
pipewire
pipewire-audio
@@ -328,6 +364,9 @@ package_pipewire-jack() {
package_pipewire-pulse() {
pkgdesc+=" - PulseAudio replacement"
depends=(
+ dbus
+ gcc-libs
+ glibc
libavahi-{client,common}.so
libglib-2.0.so
libpipewire-$_ver.so
@@ -358,6 +397,7 @@ package_pipewire-pulse() {
package_pipewire-roc() {
pkgdesc+=" - ROC streaming support"
depends=(
+ glibc
libpipewire-$_ver.so
libroc.so
pipewire
@@ -373,7 +413,10 @@ package_pipewire-roc() {
package_gst-plugin-pipewire() {
pkgdesc="Multimedia graph framework - pipewire plugin"
depends=(
+ glib2
+ glibc
gst-plugins-base-libs
+ gstreamer
libpipewire-$_ver.so
pipewire
pipewire-session-manager
@@ -387,10 +430,14 @@ package_gst-plugin-pipewire() {
package_pipewire-zeroconf() {
pkgdesc+=" - Zeroconf support"
depends=(
+ gcc-libs
+ glibc
libavahi-{client,common}.so
libpipewire-$_ver.so
openssl
+ opus
pipewire
+ pipewire-audio
)
mv zeroconf/* "$pkgdir"
@@ -401,6 +448,7 @@ package_pipewire-zeroconf() {
package_pipewire-v4l2() {
pkgdesc+=" - V4L2 interceptor"
depends=(
+ glibc
libpipewire-$_ver.so
pipewire
pipewire-session-manager
@@ -415,6 +463,7 @@ package_pipewire-v4l2() {
package_pipewire-x11-bell() {
pkgdesc+=" - X11 bell"
depends=(
+ glibc
libcanberra.so
libpipewire-$_ver.so
libx11
--
2.41.0
_______________________________________________
Dev mailing list
[email protected]
https://lists.parabola.nu/mailman/listinfo/dev