core/pulseaudio/PKGBUILD

181 lines
5.7 KiB
Bash
Raw Normal View History

2015-02-13 22:45:07 +08:00
# Note: remember to build lib32 counterpart when bumping pkgver
2010-08-12 01:18:31 +08:00
pkgbase=pulseaudio
pkgname=(pulseaudio libpulse pulseaudio-gconf)
pkgdesc="A featureful, general-purpose sound server"
pkgver=10.0
2017-08-17 03:53:25 +08:00
pkgrel=4
arch=('x86_64')
2013-05-05 01:05:41 +08:00
url="http://www.freedesktop.org/wiki/Software/PulseAudio"
2016-01-02 11:18:03 +08:00
license=(LGPL)
makedepends=(libasyncns libcap attr libxtst libsm libsndfile libtool rtkit libsoxr
speexdsp tdb systemd dbus avahi bluez bluez-libs gconf intltool jack2-dbus sbc
lirc openssl fftw orc webrtc-audio-processing
check autoconf-archive git)
2014-04-12 05:11:57 +08:00
options=(!emptydirs)
_commit=84952e6a092b6a0c5b153bd7a4f6e490810681c8 # tags/v10.0^0
source=("git+https://anongit.freedesktop.org/git/pulseaudio/pulseaudio#commit=$_commit"
2016-01-02 11:18:03 +08:00
padsp-lib32.patch)
sha256sums=('SKIP'
2016-01-02 11:18:03 +08:00
'7832fc59df76538ff10aedd297c03cb7ff117235da8bfad26082994bb5b84332')
pkgver() {
cd pulseaudio
git describe --tags | sed 's/^v//;s/-/+/g'
}
2016-01-02 11:18:03 +08:00
prepare() {
cd pulseaudio
NOCONFIGURE=1 ./bootstrap.sh
2016-01-02 11:18:03 +08:00
}
2010-08-12 01:18:31 +08:00
build() {
cd pulseaudio
2013-05-05 01:05:41 +08:00
./configure --prefix=/usr \
--sysconfdir=/etc \
--libexecdir=/usr/lib \
--localstatedir=/var \
--with-udev-rules-dir=/usr/lib/udev/rules.d \
--with-database=tdb \
--disable-tcpwrap \
2016-01-02 11:18:03 +08:00
--disable-bluez4 \
--disable-samplerate \
2013-05-05 01:05:41 +08:00
--disable-rpath \
2015-02-13 15:06:41 +08:00
--disable-default-build-tests \
2016-01-02 11:18:03 +08:00
DATADIRNAME=share
2013-05-05 01:05:41 +08:00
# fight unused direct deps
sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
2010-11-28 16:31:40 +08:00
2010-08-12 01:18:31 +08:00
make
}
package_pulseaudio() {
depends=("libpulse=$pkgver-$pkgrel" rtkit libltdl speexdsp tdb orc libsoxr
webrtc-audio-processing sbc)
2016-03-29 23:52:58 +08:00
optdepends=('pulseaudio-alsa: ALSA configuration (recommended)'
'avahi: Zeroconf support for PulseAudio'
'openssl: Zeroconf support for PulseAudio'
'lirc: IR (lirc) support for PulseAudio'
'jack2: Jack support for PulseAudio'
'bluez: Bluetooth support for PulseAudio'
'bluez-libs: Bluetooth support for PulseAudio'
'python3-pyqt4: Equalizer for PulseAudio'
'fftw: Equalizer for PulseAudio'
'gconf: GConf support for PulseAudio')
backup=(etc/pulse/{daemon.conf,default.pa,system.pa})
install=pulseaudio.install
replaces=('pulseaudio-xen<=9.0')
cd pulseaudio
_pulsever=$(./git-version-gen .tarball-version)
while [[ $_pulsever = *.*.* ]]; do
_pulsever=${_pulsever%.*}
done
_pulsever=${_pulsever%%-*}
2014-04-12 05:11:57 +08:00
make -j1 DESTDIR="$pkgdir" install \
bashcompletiondir=/usr/share/bash-completion/completions
2016-01-02 11:18:03 +08:00
cd "$pkgdir"
patch -Np1 -i "$srcdir/padsp-lib32.patch"
# Assumes that any volume adjustment is intended by the user, who can control
# each app's volume. Misbehaving clients can trigger earsplitting volume
# jumps. App volumes can diverge wildly and cause apps without their own
# volume control to fall below sink volume; a sink-only volume control will
# suddenly be unable to make such an app loud enough.
2016-01-02 11:18:03 +08:00
sed -e '/flat-volumes/iflat-volumes = no' \
-i etc/pulse/daemon.conf
# Superseded by socket activation
sed -e '/autospawn/iautospawn = no' \
-i etc/pulse/client.conf
2015-02-13 15:06:41 +08:00
# Disable cork-request module, can result in e.g. media players unpausing
# when there's a Skype call incoming
2010-11-28 16:31:40 +08:00
sed -e 's|/usr/bin/pactl load-module module-x11-cork-request|#&|' \
2016-01-02 11:18:03 +08:00
-i usr/bin/start-pulseaudio-x11
2016-01-02 11:18:03 +08:00
rm etc/dbus-1/system.d/pulseaudio-system.conf
mkdir usr/lib/systemd/user/sockets.target.wants
ln -s ../pulseaudio.socket \
usr/lib/systemd/user/sockets.target.wants/pulseaudio.socket
# Avoid kde to show the "remove unused sound devices" if bell sound is executed by an application
sed -e '27i\ /usr/bin/pactl load-module module-x11-bell "display=$DISPLAY" "sample=bell.ogg" > /dev/null' \
-i "$pkgdir/usr/bin/start-pulseaudio-x11"
# Python fix
sed -i '1s:python$:&2:' "$pkgdir/usr/bin/qpaeq"
2013-05-26 03:57:34 +08:00
#### daemon.conf ####
# Speed up pulseaudio shutdown
# Lower resample quality, saves CPU
sed -e '/exit-idle-time/iexit-idle-time=0' \
-e '/resample-method/iresample-method=speex-float-1' \
2013-05-26 03:57:34 +08:00
-i "$pkgdir/etc/pulse/daemon.conf"
### Split libpulse
mkdir -p "$srcdir"/libpulse/{etc/pulse,usr/{bin,lib/pulseaudio,share/man/man{1,5}}}
2016-01-02 11:18:03 +08:00
mv etc/pulse/client.conf \
"$srcdir/libpulse/etc/pulse"
2016-01-02 11:18:03 +08:00
mv usr/bin/pa{cat,ctl,dsp,mon,play,rec,record} \
"$srcdir/libpulse/usr/bin"
2016-01-02 11:18:03 +08:00
mv usr/lib/libpulse{,-simple,-mainloop-glib}.so* \
usr/lib/{cmake,pkgconfig} \
"$srcdir/libpulse/usr/lib"
2016-01-02 11:18:03 +08:00
mv usr/lib/pulseaudio/libpulse{dsp,common-*}.so \
"$srcdir/libpulse/usr/lib/pulseaudio"
2016-01-02 11:18:03 +08:00
mv usr/include \
"$srcdir/libpulse/usr"
2016-01-02 11:18:03 +08:00
mv usr/share/man/man1/pa{cat,ctl,dsp,mon,play,rec,record}.1 \
"$srcdir/libpulse/usr/share/man/man1"
2016-01-02 11:18:03 +08:00
mv usr/share/man/man5/pulse-client.conf.5 \
"$srcdir/libpulse/usr/share/man/man5"
mv usr/share/vala \
"$srcdir/libpulse/usr/share"
### Split modules
2017-08-05 05:51:55 +08:00
mkdir -p "$srcdir"/gconf/usr/lib/{pulse-${_pulsever}/modules,pulse}
mv usr/lib/pulse-$_pulsever/modules/module-gconf.so \
"$srcdir/gconf/usr/lib/pulse-$_pulsever/modules"
mv usr/lib/pulse/gconf-helper \
"$srcdir/gconf/usr/lib/pulse"
}
package_libpulse() {
pkgdesc="$pkgdesc (client library)"
depends=(dbus libasyncns libcap libxtst libsm libsndfile systemd)
license=(LGPL)
backup=(etc/pulse/client.conf)
2010-11-28 16:31:40 +08:00
mv "$srcdir"/libpulse/* "$pkgdir"
}
package_pulseaudio-gconf(){
pkgdesc="GConf support for PulseAudio"
depends=("pulseaudio=$pkgver-$pkgrel" gconf)
2017-08-05 05:51:55 +08:00
mkdir -p $pkgdir/usr/lib/pulse-$_pulsever/modules/
mkdir -p $pkgdir/usr/lib/pulse/
mv gconf/usr/lib/pulse-$_pulsever/modules/module-gconf.so $pkgdir/usr/lib/pulse-$_pulsever/modules/
mv gconf/usr/lib/pulse/gconf-helper $pkgdir/usr/lib/pulse/
}