diff options
Diffstat (limited to 'community/pipewire/APKBUILD')
-rw-r--r-- | community/pipewire/APKBUILD | 111 |
1 files changed, 78 insertions, 33 deletions
diff --git a/community/pipewire/APKBUILD b/community/pipewire/APKBUILD index 0d917088da2..b80fca3d918 100644 --- a/community/pipewire/APKBUILD +++ b/community/pipewire/APKBUILD @@ -1,12 +1,14 @@ # Contributor: Rasmus Thomsen <oss@cogitri.dev> -# Maintainer: Bart Ribbers <bribbers@disroot.org> +# Maintainer: team/alpine-desktop <bribbers@disroot.org> pkgname=pipewire -pkgver=0.3.51 +pkgver=1.0.5 pkgrel=0 +_so_ver=0.3 pkgdesc="Multimedia processing graphs" url="https://pipewire.org/" arch="all" license="LGPL-2.1-or-later" +pkggroups="pipewire" makedepends=" alsa-lib-dev avahi-dev @@ -21,46 +23,46 @@ makedepends=" gst-plugins-base-dev gstreamer-dev jack-dev + libcamera-dev libfreeaptx-dev + liblc3-dev libusb-dev libx11-dev + lilv-dev meson ncurses-dev pulseaudio-dev py3-docutils readline-dev + roc-toolkit-dev sbc-dev vulkan-loader-dev xmltoman " +# move regular -dev after -jackdev, to steal files subpackages=" - $pkgname-dev + $pkgname-dbg $pkgname-doc $pkgname-alsa $pkgname-pulse $pkgname-jack + $pkgname-jack-dev:jackdev + $pkgname-dev gst-plugin-pipewire:gst_plugin $pkgname-zeroconf $pkgname-spa-bluez $pkgname-spa-vulkan $pkgname-tools $pkgname-spa-tools:spa_tools - $pkgname-libs $pkgname-lang " -install="$pkgname.post-upgrade" +install="$pkgname.post-upgrade $pkgname.post-install" source="https://gitlab.freedesktop.org/PipeWire/pipewire/-/archive/$pkgver/pipewire-$pkgver.tar.gz pipewire.desktop pipewire-launcher.sh - 0001-Revert-pulse-tunnel-use-format-channels-and-rate-pro.patch " case "$CARCH" in - # Limited by webrtc-audio-processing-dev - x86 | x86_64 | aarch64) - makedepends="$makedepends webrtc-audio-processing-dev libldac-dev" - subpackages="$subpackages $pkgname-echo-cancel:echo_cancel" - ;; s390x) # libldac not available for big endian ;; @@ -69,8 +71,25 @@ case "$CARCH" in ;; esac +case "$CARCH" in + ppc64le|s390x|riscv64) + # no webrtc-audio-processing + ;; + *) + makedepends="$makedepends webrtc-audio-processing-1-dev" + subpackages="$subpackages $pkgname-echo-cancel:echo_cancel" + ;; +esac + +# put libs last to steal residual files taken by some prior extras +subpackages="$subpackages $pkgname-libs" + build() { + CFLAGS="$CFLAGS -O2" \ + CXXFLAGS="$CXXFLAGS -O2" \ + CPPFLAGS="$CPPFLAGS -O2" \ abuild-meson \ + -Db_lto=true \ -Dlibjack-path=/usr/lib \ -Dlibv4l2-path=/usr/lib \ -Ddocs=disabled \ @@ -78,16 +97,21 @@ build() { -Dgstreamer=enabled \ -Dexamples=enabled \ -Dffmpeg=disabled \ + -Djack-devel=true \ -Dsystemd=disabled \ -Dvulkan=enabled \ -Dsdl2=disabled \ + -Dlv2=enabled \ + -Dlibcamera=enabled \ + -Droc=enabled \ + -Dbluez5-codec-lc3=enabled \ -Dsession-managers=[] \ . output - meson compile ${JOBS:+-j ${JOBS}} -C output + meson compile -C output } check() { - meson test --no-rebuild -v -C output + meson test --no-rebuild --print-errorlogs -C output } package() { @@ -97,12 +121,6 @@ package() { install -Dm755 "$srcdir"/pipewire-launcher.sh "$pkgdir"/usr/libexec/pipewire-launcher } -dev() { - default_dev - - mv "$subpkgdir"/usr/lib/libjack* "$pkgdir"/usr/lib/ -} - alsa() { pkgdesc="ALSA support for pipewire" replaces="$pkgname" # for backward compatibility @@ -110,22 +128,27 @@ alsa() { amove usr/lib/alsa-lib amove usr/share/alsa/alsa.conf.d - cd "$subpkgdir" - - mkdir -p etc/alsa/conf.d - cp usr/share/alsa/alsa.conf.d/* etc/alsa/conf.d + install -d "$subpkgdir"/etc/alsa/conf.d + for i in "$subpkgdir"/usr/share/alsa/alsa.conf.d/*.conf; do + ln -s -- "${i#"$subpkgdir"}" "$subpkgdir"/etc/alsa/conf.d/ + done } pulse() { pkgdesc="Pulseaudio support for pipewire" - depends="pipewire-session-manager" - provides="pulseaudio=$pkgver-r$pkgrel pulseaudio-bluez=$pkgver-r$pkgrel pulseaudio-alsa=$pkgver-r$pkgrel" + depends=" + pipewire-session-manager + pulseaudio-utils + " + provides="pulseaudio=$pkgver-r$pkgrel pulseaudio-bluez=$pkgver-r$pkgrel" provider_priority=1 amove usr/bin/pipewire-pulse - amove usr/lib/pipewire-${pkgver%.*}/libpipewire-module-protocol-pulse.so - amove usr/lib/pipewire-${pkgver%.*}/libpipewire-module-pulse-tunnel.so + amove usr/lib/pipewire-$_so_ver/libpipewire-module-protocol-pulse.so + amove usr/lib/pipewire-$_so_ver/libpipewire-module-pulse-tunnel.so + amove usr/lib/pipewire-$_so_ver/libpipewire-module-filter-chain-lv2.so amove usr/share/pipewire/pipewire-pulse.conf + amove usr/share/pipewire/pipewire-pulse.conf.avail } @@ -135,7 +158,7 @@ jack() { provides="jack=$pkgver-r$pkgrel" replaces="jack" - amove usr/lib/libjack* + amove usr/lib/libjack*.so.* amove usr/bin/pw-jack amove usr/lib/spa-*/jack/libspa-jack.so amove usr/share/pipewire/jack.conf @@ -152,7 +175,7 @@ echo_cancel() { pkgdesc="WebRTC-based echo canceller module for PipeWire" depends="$pkgname=$pkgver-r$pkgrel" - amove usr/lib/pipewire-${pkgver%.*}/libpipewire-module-echo-cancel.so + amove usr/lib/pipewire-$_so_ver/libpipewire-module-echo-cancel.so } zeroconf() { @@ -161,7 +184,8 @@ zeroconf() { provides="pulseaudio-zeroconf=$pkgver-r$pkgrel" provider_priority=1 - amove usr/lib/pipewire-${pkgver%.*}/libpipewire-module-zeroconf-discover.so + amove usr/lib/pipewire-$_so_ver/libpipewire-module-zeroconf-discover.so + amove usr/lib/pipewire-$_so_ver/libpipewire-module-raop-*.so } bluez() { @@ -195,9 +219,30 @@ spa_tools() { amove usr/bin/spa-* } +jackdev() { + pkgdesc="JACK development files (from pipewire)" + provides="jack-dev=$pkgver-r$pkgrel" + + amove usr/lib/libjack*.so + amove usr/include/jack + amove usr/lib/pkgconfig/jack.pc +} + +libs() { + default_libs + + # the libraries must be paired with the client config and the plugins, + # see: + # https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/3296 + # https://bugs.archlinux.org/task/78813 + amove \ + usr/share/pipewire/client*.conf* \ + usr/lib/pipewire-*/ \ + usr/lib/spa-*/ +} + sha512sums=" -a762fd260b4b14ad9ef142be11ab1c22268da6726e2179559ffb254f0ce7daf7a502779e33c64313a9c6a9fc1bd15150b76be04ec81aa27c35dbb4333cecdb4a pipewire-0.3.51.tar.gz +ed561154b2b5182c94142e03b1147a90a98e788cb5f455a5202ee8c79c1f41e19c2235b3e06ca7af68f2c76320f7c2f8c71db147c9f15f82bef50fccb8ef985f pipewire-1.0.5.tar.gz d5d8bc64e42715aa94296e3e26e740142bff7f638c7eb4fecc0301e46d55636d889bdc0c0399c1eb523271b20f7c48cc03f6ce3c072e0e8576c821ed1ea0e3dd pipewire.desktop -be2bd1520fae27ccca6af4c98e8ebe63541260af55eb085839235a8441a7bce434ba8bf23a5d1ca8b5f361229f5482d5b63504b9a5cbbe9d39bc051207cd7dac pipewire-launcher.sh -5a84a255794cd260476f93b154a32a84efc925c1f6ecc64efe659d89eb81bb3090438e2b3c4000a8ab68d8c72bca453e13297719a95f1e4457f43e43acec8bfa 0001-Revert-pulse-tunnel-use-format-channels-and-rate-pro.patch +e46939b8f903fe6b7421cd42d0746e669402d76afe3326401c186fefeb725e3c126a00ba9f315067d2535991134a24afd855752d757e9e52c20191b5d388f99b pipewire-launcher.sh " |