diff options
author | bill-auger <mr.j.spam.me@gmail.com> | 2023-03-13 10:20:11 -0400 |
---|---|---|
committer | bill-auger <mr.j.spam.me@gmail.com> | 2023-03-23 23:43:56 -0400 |
commit | f0b60c185ab5b57a5c8c2adc4fc8e2fd0290f003 (patch) | |
tree | 9bd4b27c96c0184249ef126c73f0c56b13bdbc79 | |
parent | 04cc7b87dcceaf3e6fe4781e1287e6f82ff55bee (diff) |
[pipewire]: upgrade to v0.3.67
-rw-r--r-- | nonsystemd/pipewire/PKGBUILD | 299 |
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: + |