summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
authorSolomon Choina2024-03-22 08:21:56 -0400
committerSolomon Choina2024-03-22 08:21:56 -0400
commitd5253d1b74d4fec1903bdb7c2efb6b2a70bbec72 (patch)
treee66bcc64fce75414a5b639bf85e7216d3badc4cf /PKGBUILD
parent209ac8cc0322250cd57797e1693d5122583221a1 (diff)
downloadaur-pulseaudio-git.tar.gz
create a split package and other stuff
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD272
1 files changed, 254 insertions, 18 deletions
diff --git a/PKGBUILD b/PKGBUILD
index 69ac0f4e3140..7ef471dc71d7 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -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:
+