diff options
author | Solomon Choina | 2024-03-22 08:21:56 -0400 |
---|---|---|
committer | Solomon Choina | 2024-03-22 08:21:56 -0400 |
commit | d5253d1b74d4fec1903bdb7c2efb6b2a70bbec72 (patch) | |
tree | e66bcc64fce75414a5b639bf85e7216d3badc4cf /PKGBUILD | |
parent | 209ac8cc0322250cd57797e1693d5122583221a1 (diff) | |
download | aur-pulseaudio-git.tar.gz |
create a split package and other stuff
Diffstat (limited to 'PKGBUILD')
-rw-r--r-- | PKGBUILD | 272 |
1 files changed, 254 insertions, 18 deletions
@@ -9,27 +9,59 @@ # Maintainer: Solomon Choina <shlomochoina@gmail.com> _pkgname="pulseaudio" -pkgname="$_pkgname-git" +pkgbase="$_pkgname-git" +pkgname=( + pulseaudio-git + libpulse-git + pulseaudio-zeroconf-git + pulseaudio-jack-git + pulseaudio-bluetooth-git + pulseaudio-equalizer-git + pulseaudio-rtp-git +) pkgdesc="A featureful, general-purpose sound server (development version)" -pkgver=16.99.1.r11.g81a6cc496 +pkgver=17.0.r4.g5d7cd8bd0 pkgrel=1 arch=("i686" "x86_64" "armv7h") url="http://pulseaudio.org/" -license=("GPL" "LGPL") +license=(LGPL-2.1-or-later) install=pulseaudio.install -depends=(lib{ltdl,soxr,asyncns,xtst,sndfile} "rtkit" "speexdsp" "tdb" "orc" - "webrtc-audio-processing-1" jack2 "lirc" bluez{,-libs} "sbc" - python-{pyqt5,dbus} sip "fftw" dconf libwrap gst-plugins-base-libs) -makedepends=("git" lib{asyncns,xtst,tool,soxr,sndfile} "attr" "rtkit" "speexdsp" - "tdb" jack2 bluez{,-libs} "intltool" "sbc" "lirc" "fftw" - "orc" "gtk3" "webrtc-audio-processing" "check" "meson" "valgrind" - "libwrap" "doxygen") -optdepends=("alsa-plugins: ALSA support" - "pulseaudio-alsa: ALSA configuration (recommended)" - "lirc-utils: infra-red support") -backup=(etc/pulse/{daemon.conf,default.pa,system.pa,client.conf}) -provides=(pulseaudio{,-{zeroconf,lirc,jack,bluetooth,equalizer}} libpulse libpulse{,-{simple,mainloop-glib}}.so) -conflicts=(pulseaudio-zeroconf pulseaudio-lirc pulse-audio-jack pulseaudio-bluetooth pulseaudio-equalizer libpulse{,-{simple,mainloop-glib}}.so pipewire-pulse) +makedepends=( alsa-lib + attr + avahi + bluez + bluez-libs + check + dbus + doxygen + fftw + git + gst-plugins-base-libs + gtk3 + jack2 + libasyncns + libcap + libsm + libsndfile + libsoxr + libxtst + lirc + meson + openssl + orc + rtkit + sbc + speexdsp + systemd + tdb + valgrind + webrtc-audio-processing-1 + xmltoman + libwrap + libltdl + python-dbus + python-pyqt5 +) options=(!emptydirs) source=("git+https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git" "pulseaudio.install") @@ -46,7 +78,8 @@ build() { -D stream-restore-clear-old-devices=true \ -D pulsedsp-location='/usr/\$LIB/pulseaudio' \ -D udevrulesdir=/usr/lib/udev/rules.d \ - -D elogind=disabled + -D elogind=disabled \ + -D consolekit=disabled ninja -C build } @@ -55,7 +88,58 @@ check() { ninja -C build test-daemon } -package() { +_pick() { + local p="$1" f d; shift + for f; do + d="$srcdir/$p/${f#$pkgdir/}" + mkdir -p "$(dirname "$d")" + mv "$f" "$d" + rmdir -p --ignore-fail-on-non-empty "$(dirname "$f")" + done +} + +package_pulseaudio-git() { + depends=( + alsa-lib + fftw + libcap + libltdl + "libpulse=$pkgver-$pkgrel" + libsm + libsoxr + libxtst + orc + rtkit + speexdsp + tdb + webrtc-audio-processing-1 + libwrap + libsndfile + dconf + ) + optdepends=( + 'pulseaudio-alsa: ALSA configuration (recommended)' + 'pulseaudio-bluetooth-git: Bluetooth support' + 'pulseaudio-equalizer-git: Graphical equalizer' + 'pulseaudio-jack-git: Jack support' + 'pulseaudio-lirc-git: IR (lirc) support' + 'pulseaudio-rtp-git: RTP and RAOP support' + 'pulseaudio-zeroconf-git: Zeroconf support' + ) + provides=("pulse-native-provider" "pulseaudio") + conflicts=("pipewire-pulse" "pulseaudio") + backup=( + etc/pulse/daemon.conf + etc/pulse/default.pa + etc/pulse/system.pa + ) + install=pulseaudio.install + replaces=( + 'pulseaudio-gconf<=11.1' + 'pulseaudio-xen<=9.0' + ) + + DESTDIR="$pkgdir" meson install -C build @@ -82,5 +166,157 @@ package() { # Required by qpaeq sed -e '/Load several protocols/aload-module module-dbus-protocol' \ -i etc/pulse/default.pa + + # Avoid warning about nonexistent dir + # https://gitlab.archlinux.org/archlinux/packaging/packages/pulseaudio/-/issues/3 + mkdir -p etc/pulse/{default,system}.pa.d + + # Split packages + _pick libpulse etc/pulse/client.conf + _pick libpulse usr/bin/pa{cat,ctl,dsp,mon,play,rec,record} + _pick libpulse usr/lib/libpulse{,-simple,-mainloop-glib}.so* + _pick libpulse usr/lib/{cmake,pkgconfig} + _pick libpulse usr/lib/pulseaudio/libpulse{dsp,common-*}.so + _pick libpulse usr/include + _pick libpulse usr/share/man/man1/pa{cat,ctl,dsp,mon,play,rec,record}.1 + _pick libpulse usr/share/man/man5/pulse-client.conf.5 + _pick libpulse usr/share/bash-completion/completions/pa{cat,ctl,dsp,play,rec,record} + _pick libpulse usr/share/bash-completion/completions/pulseaudio + _pick libpulse usr/share/vala + _pick libpulse usr/share/zsh + + local moddir=usr/lib/pulseaudio/modules + + _pick zeroconf $moddir/libavahi-wrap.so + _pick zeroconf $moddir/module-zeroconf-{publish,discover}.so + _pick zeroconf $moddir/module-raop-discover.so + + _pick lirc $moddir/module-lirc.so + + _pick jack $moddir/module-jack-{sink,source}.so + _pick jack $moddir/module-jackdbus-detect.so + + _pick bluetooth $moddir/libbluez5-util.so + _pick bluetooth $moddir/module-bluetooth-{discover,policy}.so + _pick bluetooth $moddir/module-bluez5-{discover,device}.so + _pick equalizer $moddir/module-equalizer-sink.so + _pick equalizer usr/bin/qpaeq + + _pick rtp $moddir/lib{rtp,raop}.so + _pick rtp $moddir/module-rtp-{send,recv}.so + _pick rtp $moddir/module-raop-sink.so +} + +package_libpulse-git() { + pkgdesc="$pkgdesc (client library) (development)" + depends=( + dbus + libasyncns + libsndfile + libxcb + systemd + ) + optdepends=( + 'glib2: mainloop integration' + 'pulse-native-provider: PulseAudio backend' + ) + provides=( + libpulse-mainloop-glib.so + libpulse-simple.so + libpulse.so + ) + license=(LGPL) + backup=(etc/pulse/client.conf) + provides=(libpulse) + conflicts=(libpulse) + + mv libpulse/* "$pkgdir" } + +package_pulseaudio-zeroconf-git() { + pkgdesc="Zeroconf support for PulseAudio (development)" + depends=( + avahi + "pulseaudio-git=$pkgver-$pkgrel" + ) + provides=(pulseaudio-zeroconf) + conflicts=(pulseaudio-zeroconf) + + mv zeroconf/* "$pkgdir" +} + +package_pulseaudio-lirc() { + pkgdesc="IR (lirc) support for PulseAudio (development)" + depends=( + lirc + "pulseaudio-git=$pkgver-$pkgrel" + ) + provides=(pulseaudio-lirc) + conflicts=(pulseaudio-lirc) + + mv lirc/* "$pkgdir" +} + +package_pulseaudio-jack-git() { + pkgdesc="Jack support for PulseAudio (development)" + depends=( + jack + "pulseaudio-git=$pkgver-$pkgrel" + ) + provides=(pulseaudio-jack) + conflicts=(pulseaudio-jack) + + mv jack/* "$pkgdir" +} + +package_pulseaudio-bluetooth-git() { + pkgdesc="Bluetooth support for PulseAudio (development)" + depends=( + bluez + bluez-libs + gst-plugins-base-libs + "pulseaudio-git=$pkgver-$pkgrel" + sbc + ) + conflicts=(pulseaudio-bluetooth) + provides=(pulseaudio-bluetooth) + optdepends=('gst-plugins-bad: AptX and LDAC support') + + mv bluetooth/* "$pkgdir" +} + +package_pulseaudio-equalizer-git() { + pkgdesc="Graphical equalizer for PulseAudio (development)" + depends=( + "pulseaudio-git=$pkgver-$pkgrel" + python-dbus + python-pyqt5 + fftw + python + glibc + dbus + ) + conflicts=(pulseaudio-equalizer) + provides=(pulseaudio-equalizer) + + mv equalizer/* "$pkgdir" +} + +package_pulseaudio-rtp-git() { + pkgdesc="RTP and RAOP support for PulseAudio (development)" + provides=(pulseaudio-rtp) + conflicts=(pulseaudio-rtp) + depends=( + gst-plugins-base + gst-plugins-base-libs + gst-plugins-good + openssl + "pulseaudio-git=$pkgver-$pkgrel" + ) + + mv rtp/* "$pkgdir" +} + +# vim:set sw=2 et: + |