summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbill-auger <mr.j.spam.me@gmail.com>2023-03-13 10:20:11 -0400
committerbill-auger <mr.j.spam.me@gmail.com>2023-03-23 23:43:56 -0400
commitf0b60c185ab5b57a5c8c2adc4fc8e2fd0290f003 (patch)
tree9bd4b27c96c0184249ef126c73f0c56b13bdbc79
parent04cc7b87dcceaf3e6fe4781e1287e6f82ff55bee (diff)
[pipewire]: upgrade to v0.3.67
-rw-r--r--nonsystemd/pipewire/PKGBUILD299
1 files changed, 242 insertions, 57 deletions
diff --git a/nonsystemd/pipewire/PKGBUILD b/nonsystemd/pipewire/PKGBUILD
index 95c7203ef..7bcce1340 100644
--- a/nonsystemd/pipewire/PKGBUILD
+++ b/nonsystemd/pipewire/PKGBUILD
@@ -1,17 +1,32 @@
# Maintainer: David P. <megver83@parabola.nu>
+# Maintainer (artix): Nathan <ndowens@artixlinux.org>
# Maintainer (arch): David Runge <dvzrv@archlinux.org>
# Maintainer (arch): Jan Alexander Steffens (heftig) <heftig@archlinux.org>
# Contributor: Jan de Groot <jgc@archlinux.org>
-# differences with the Artix package:
-# - install an XDG autostart script to launch pipewire-pulse, like Gentoo
+
+# parabola changes and rationale:
+# - merge with Artix package for nonsystemd
+
pkgbase=pipewire
-pkgname=(pipewire alsa-card-profiles pipewire-docs pipewire-alsa pipewire-jack
- pipewire-pulse gst-plugin-pipewire pipewire-zeroconf pipewire-v4l2
- pipewire-x11-bell)
-_commit=ebc775674a0cf254cebd6d4694944006405807e3 # tags/0.3.51
-pkgver=0.3.51
+pkgname=(
+ pipewire
+ libpipewire
+ alsa-card-profiles
+ pipewire-docs
+ pipewire-audio
+ pipewire-alsa
+ pipewire-jack
+ pipewire-pulse
+ pipewire-roc
+ gst-plugin-pipewire
+ pipewire-zeroconf
+ pipewire-v4l2
+ pipewire-x11-bell
+)
+_commit=26623ff8cb3c9ba774537379a1835c5efb0d5159 # tags/0.3.67
+pkgver=0.3.67
pkgrel=1
pkgrel+=.nonsystemd1
epoch=1
@@ -20,17 +35,45 @@ url="https://pipewire.org"
arch=(x86_64)
arch+=(i686 armv7h)
license=(MIT)
-makedepends=(git meson doxygen graphviz python-docutils valgrind libpulse
- alsa-lib libusb gst-plugins-base rtkit dbus sdl2 ncurses
- libcanberra libsndfile bluez-libs sbc libldac libfreeaptx
- libfdk-aac avahi lilv webrtc-audio-processing libx11 libxfixes)
+makedepends=(
+ alsa-lib
+ avahi
+ bluez-libs
+ dbus
+ doxygen
+ git
+ glib2
+ graphviz
+ gst-plugins-base
+ libcamera
+ libcanberra
+ libfdk-aac
+ libfreeaptx
+ liblc3
+ libldac
+ libmysofa
+ libpulse
+ libsndfile
+ libusb
+ libx11
+ libxfixes
+ lilv
+ meson
+ ncurses
+ opus
+ python-docutils
+ readline
+ roc-toolkit
+ rtkit
+ sbc
+ sdl2
+ tinycompress
+ valgrind
+ webrtc-audio-processing
+)
checkdepends=(desktop-file-utils)
-options=(debug)
-source=("git+https://gitlab.freedesktop.org/pipewire/pipewire.git#commit=$_commit"
- pipewire.desktop pipewire-launcher)
-sha256sums=('SKIP'
- 'b5b68d711ff070b6217c4da5de0c5488b36a012b7e5484bf1d89d1969a778026'
- '47f4d64dd4583963ce493828c171b608949dcc9f6e20d5dc2cdcb3a2f3ba6bac')
+source=(git+https://gitlab.freedesktop.org/pipewire/pipewire.git#commit=$_commit)
+sha256sums=('SKIP')
pkgver() {
cd pipewire
@@ -46,15 +89,17 @@ prepare() {
build() {
local meson_options=(
+ -D bluez5-codec-lc3=enabled
+ -D bluez5-codec-lc3plus=disabled
+ -D compress-offload=enabled
-D docs=enabled
- -D jack=disabled
-D jack-devel=true
- -D libjack-path=/usr/lib
- -D libcamera=disabled
- -D udevrulesdir=/usr/lib/udev/rules.d
+ -D jack=disabled
-D systemd=disabled
- -D roc=disabled
+ -D libjack-path=/usr/lib
+ -D rlimits-install=false
-D session-managers=[]
+ -D udevrulesdir=/usr/lib/udev/rules.d
)
arch-meson pipewire build "${meson_options[@]}"
@@ -79,32 +124,73 @@ _ver=${pkgver:0:3}
package_pipewire() {
license+=(LGPL) # libspa-alsa
- depends=(alsa-card-profiles libdbus-1.so libncursesw.so libsndfile.so
- libudev.so libusb-1.0.so libasound.so libbluetooth.so
- libsbc.so libldacBT_enc.so libfreeaptx.so libfdk-aac.so liblilv-0.so
- libwebrtc_audio_processing.so)
- optdepends=('pipewire-docs: Documentation'
- 'pipewire-session-manager: Session manager'
- 'pipewire-alsa: ALSA configuration'
- 'pipewire-jack: JACK support'
- 'pipewire-pulse: PulseAudio replacement'
- 'gst-plugin-pipewire: GStreamer plugin'
- 'pipewire-zeroconf: Zeroconf support'
- 'pipewire-v4l2: V4L2 interceptor'
- 'pipewire-x11-bell: X11 bell'
- 'realtime-privileges: realtime privileges with rt module'
- 'rtkit: realtime privileges with rtkit module')
- provides=(libpipewire-$_ver.so)
+ depends=(
+ "libpipewire=$epoch:$pkgver-$pkgrel"
+ libcamera-base.so
+ libcamera.so
+ libdbus-1.so
+ libglib-2.0.so
+ libncursesw.so
+ libpipewire-$_ver.so
+ libreadline.so
+ libudev.so
+ )
+ optdepends=(
+ 'gst-plugin-pipewire: GStreamer plugin'
+ 'pipewire-alsa: ALSA configuration'
+ 'pipewire-audio: Audio support'
+ 'pipewire-docs: Documentation'
+ 'pipewire-jack: JACK support'
+ 'pipewire-pulse: PulseAudio replacement'
+ 'pipewire-roc: ROC streaming'
+ 'pipewire-session-manager: Session manager'
+ 'pipewire-v4l2: V4L2 interceptor'
+ 'pipewire-x11-bell: X11 bell'
+ 'pipewire-zeroconf: Zeroconf support'
+ 'realtime-privileges: realtime privileges with rt module'
+ 'rtkit: realtime privileges with rtkit module'
+ )
meson install -C build --destdir "$pkgdir"
- ( cd "$pkgdir"
+ (
+ cd "$pkgdir"
+
+ # Replace copies with symlinks
+ for _f in pipewire-{aes67,avb,pulse}; do
+ cmp usr/bin/pipewire usr/bin/$_f
+ ln -sf pipewire usr/bin/$_f
+ done
+
+ _pick lib usr/include/{pipewire-$_ver,spa-0.2}
+ _pick lib usr/lib/libpipewire-$_ver.so*
+ _pick lib usr/lib/pkgconfig/lib{pipewire-$_ver,spa-0.2}.pc
_pick acp usr/lib/udev
_pick acp usr/share/alsa-card-profile
_pick docs usr/share/doc
+ _pick audio usr/bin/pipewire-{aes67,avb}
+ _pick audio usr/bin/pw-{cat,play,record,midi{play,record},dsdplay}
+ _pick audio usr/bin/pw-{loopback,mididump}
+ _pick audio usr/bin/spa-{acp-tool,resample}
+ _pick audio usr/lib/alsa-lib
+ _pick audio usr/lib/pipewire-$_ver/libpipewire-module-avb.so
+ _pick audio usr/lib/pipewire-$_ver/libpipewire-module-echo-cancel.so
+ _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-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/spa-0.2/{aec,alsa,audio*,avb,bluez5}
+ _pick audio usr/share/alsa
+ _pick audio usr/share/man/man1/pw-{cat,mididump}.1
+ _pick audio usr/share/pipewire/filter-chain*
+ _pick audio usr/share/pipewire/pipewire-{aes67,avb}.conf
+ _pick audio usr/share/spa-0.2/bluez5
+
_pick jack usr/bin/pw-jack
_pick jack usr/include/jack
_pick jack usr/lib/libjack*
@@ -115,18 +201,34 @@ package_pipewire() {
_pick pulse usr/bin/pipewire-pulse
_pick pulse usr/lib/pipewire-$_ver/libpipewire-module-protocol-pulse.so
_pick pulse usr/lib/pipewire-$_ver/libpipewire-module-pulse-tunnel.so
+ _pick pulse usr/share/man/man1/pipewire-pulse.1
+ _pick pulse usr/share/pipewire/pipewire-pulse.conf
+
+ _pick roc usr/lib/pipewire-$_ver/libpipewire-module-roc*.so
_pick gst usr/lib/gstreamer-1.0
- _pick zeroconf usr/lib/pipewire-$_ver/libpipewire-module-{raop,zeroconf}-discover.so
+ _pick zeroconf usr/lib/pipewire-$_ver/libpipewire-module-{raop,zeroconf}-*.so
_pick v4l2 usr/bin/pw-v4l2 usr/lib/pipewire-$_ver/v4l2
+
_pick x11-bell usr/lib/pipewire-$_ver/libpipewire-module-x11-bell.so
+
+ # directories for overrides
+ mkdir -p etc/pipewire/{client-rt,client,minimal,pipewire}.conf.d
)
- mkdir -p "$pkgdir/etc/alsa/conf.d"
- ln -st "$pkgdir/etc/alsa/conf.d" \
- /usr/share/alsa/alsa.conf.d/50-pipewire.conf
+ install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 pipewire/COPYING
+}
+
+package_libpipewire() {
+ pkgdesc+=" - client library"
+ depends=(
+ gcc-libs
+ )
+ provides=(libpipewire-$_ver.so)
+
+ mv lib/* "$pkgdir"
install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 pipewire/COPYING
}
@@ -146,9 +248,45 @@ package_pipewire-docs() {
install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 pipewire/COPYING
}
+package_pipewire-audio() {
+ pkgdesc+=" - Audio support"
+ depends=(
+ alsa-card-profiles
+ libasound.so
+ libbluetooth.so
+ libfdk-aac.so
+ libfreeaptx.so
+ liblc3.so
+ libldacBT_enc.so
+ liblilv-0.so
+ libmysofa.so
+ libopus.so
+ libpipewire-$_ver.so
+ libsbc.so
+ libsndfile.so
+ libtinycompress.so
+ libusb-1.0.so
+ libwebrtc_audio_processing.so
+ pipewire
+ )
+
+ mv audio/* "$pkgdir"
+
+ mkdir -p "$pkgdir/etc/alsa/conf.d"
+ ln -st "$pkgdir/etc/alsa/conf.d" \
+ /usr/share/alsa/alsa.conf.d/50-pipewire.conf
+
+ install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 pipewire/COPYING
+}
+
package_pipewire-alsa() {
pkgdesc+=" - ALSA configuration"
- depends=(pipewire-session-manager)
+ depends=(
+ pipewire
+ pipewire-audio
+ pipewire-session-manager
+ )
+ conflicts=(pulseaudio-alsa)
provides=(pulseaudio-alsa)
mkdir -p "$pkgdir/etc/alsa/conf.d"
@@ -164,7 +302,13 @@ package_pipewire-alsa() {
package_pipewire-jack() {
pkgdesc+=" - JACK support"
license+=(GPL2) # libjackserver
- depends=(pipewire-session-manager libpipewire-$_ver.so sh)
+ depends=(
+ libpipewire-$_ver.so
+ pipewire
+ pipewire-audio
+ pipewire-session-manager
+ sh
+ )
optdepends=('jack-example-tools: for official JACK example-clients and tools')
conflicts=(jack jack2)
provides=(jack libjack.so libjackserver.so libjacknet.so)
@@ -182,27 +326,52 @@ package_pipewire-jack() {
package_pipewire-pulse() {
pkgdesc+=" - PulseAudio replacement"
- depends=(pipewire-session-manager libpipewire-$_ver.so libpulse.so
- libavahi-{client,common}.so)
+ depends=(
+ libavahi-{client,common}.so
+ libglib-2.0.so
+ libpipewire-$_ver.so
+ libpulse.so
+ pipewire
+ pipewire-audio
+ pipewire-session-manager
+ )
provides=(pulseaudio pulseaudio-bluetooth)
conflicts=(pulseaudio pulseaudio-bluetooth)
mv pulse/* "$pkgdir"
+ # directory for overrides
+ mkdir -p "$pkgdir/etc/pipewire/pipewire-pulse.conf.d"
+
install -Dm644 /dev/null \
"$pkgdir/usr/share/pipewire/media-session.d/with-pulseaudio"
install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 pipewire/COPYING
+}
+
+package_pipewire-roc() {
+ pkgdesc+=" - ROC streaming support"
+ depends=(
+ libpipewire-$_ver.so
+ libroc.so
+ pipewire
+ pipewire-audio
+ roc-toolkit
+ )
+
+ mv roc/* "$pkgdir"
- # borrowed from Gentoo's media-video/pipewire, with pipewire-media-session support
- mkdir -p "$pkgdir/etc/xdg/autostart"
- install -m644 pipewire.desktop "$pkgdir/etc/xdg/autostart/pipewire.desktop"
- install -m755 pipewire-launcher "$pkgdir/usr/bin/pipewire-launcher"
+ install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 pipewire/COPYING
}
package_gst-plugin-pipewire() {
pkgdesc="Multimedia graph framework - pipewire plugin"
- depends=(pipewire-session-manager libpipewire-$_ver.so gst-plugins-base-libs)
+ depends=(
+ gst-plugins-base-libs
+ libpipewire-$_ver.so
+ pipewire
+ pipewire-session-manager
+ )
mv gst/* "$pkgdir"
@@ -211,7 +380,12 @@ package_gst-plugin-pipewire() {
package_pipewire-zeroconf() {
pkgdesc+=" - Zeroconf support"
- depends=(pipewire libpipewire-$_ver.so libavahi-{client,common}.so)
+ depends=(
+ libavahi-{client,common}.so
+ libpipewire-$_ver.so
+ openssl
+ pipewire
+ )
mv zeroconf/* "$pkgdir"
@@ -220,20 +394,31 @@ package_pipewire-zeroconf() {
package_pipewire-v4l2() {
pkgdesc+=" - V4L2 interceptor"
- depends=(pipewire-session-manager libpipewire-$_ver.so sh)
+ depends=(
+ libpipewire-$_ver.so
+ pipewire
+ pipewire-session-manager
+ sh
+ )
mv v4l2/* "$pkgdir"
install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 pipewire/COPYING
}
-
package_pipewire-x11-bell() {
pkgdesc+=" - X11 bell"
- depends=(pipewire libpipewire-$_ver.so libx11 libxfixes libcanberra.so)
+ depends=(
+ libcanberra.so
+ libpipewire-$_ver.so
+ libx11
+ libxfixes
+ pipewire
+ pipewire-audio
+ )
mv x11-bell/* "$pkgdir"
install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 pipewire/COPYING
}
-# vim:set sw=2 et:
+