summaryrefslogtreecommitdiff
path: root/staging/pulseaudio
diff options
context:
space:
mode:
Diffstat (limited to 'staging/pulseaudio')
-rw-r--r--staging/pulseaudio/0001-Remove-usage-of-deprecated-udev_get_-_path.patch80
-rw-r--r--staging/pulseaudio/PKGBUILD115
-rw-r--r--staging/pulseaudio/pulseaudio.install19
-rw-r--r--staging/pulseaudio/pulseaudio.xinit12
4 files changed, 226 insertions, 0 deletions
diff --git a/staging/pulseaudio/0001-Remove-usage-of-deprecated-udev_get_-_path.patch b/staging/pulseaudio/0001-Remove-usage-of-deprecated-udev_get_-_path.patch
new file mode 100644
index 000000000..93167b79b
--- /dev/null
+++ b/staging/pulseaudio/0001-Remove-usage-of-deprecated-udev_get_-_path.patch
@@ -0,0 +1,80 @@
+From 45607b113a052e4bec93a8707dc4db113c5dd100 Mon Sep 17 00:00:00 2001
+From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com>
+Date: Sat, 26 May 2012 02:58:11 +0200
+Subject: [PATCH] Remove usage of deprecated udev_get_*_path
+
+These symbols were removed in libudev.so.1.0.0. Replace them with
+hardcoded strings.
+
+Signed-off-by: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
+---
+ src/modules/module-udev-detect.c | 9 +++------
+ src/modules/udev-util.c | 4 ++--
+ 2 files changed, 5 insertions(+), 8 deletions(-)
+
+diff --git a/src/modules/module-udev-detect.c b/src/modules/module-udev-detect.c
+index 1192194..31416bd 100644
+--- a/src/modules/module-udev-detect.c
++++ b/src/modules/module-udev-detect.c
+@@ -123,7 +123,7 @@ static char *card_get_sysattr(const char *card_idx, const char *name) {
+ goto finish;
+ }
+
+- t = pa_sprintf_malloc("%s/class/sound/card%s", udev_get_sys_path(udev), card_idx);
++ t = pa_sprintf_malloc("/sys/class/sound/card%s", card_idx);
+ card = udev_device_new_from_syspath(udev, t);
+ pa_xfree(t);
+
+@@ -282,7 +282,7 @@ static void verify_access(struct userdata *u, struct device *d) {
+ pa_assert(u);
+ pa_assert(d);
+
+- cd = pa_sprintf_malloc("%s/snd/controlC%s", udev_get_dev_path(u->udev), path_get_card_id(d->path));
++ cd = pa_sprintf_malloc("/dev/snd/controlC%s", path_get_card_id(d->path));
+ accessible = access(cd, R_OK|W_OK) >= 0;
+ pa_log_debug("%s is accessible: %s", cd, pa_yes_no(accessible));
+
+@@ -621,7 +621,6 @@ fail:
+ }
+
+ static int setup_inotify(struct userdata *u) {
+- char *dev_snd;
+ int r;
+
+ if (u->inotify_fd >= 0)
+@@ -632,9 +631,7 @@ static int setup_inotify(struct userdata *u) {
+ return -1;
+ }
+
+- dev_snd = pa_sprintf_malloc("%s/snd", udev_get_dev_path(u->udev));
+- r = inotify_add_watch(u->inotify_fd, dev_snd, IN_ATTRIB|IN_CLOSE_WRITE|IN_DELETE_SELF|IN_MOVE_SELF);
+- pa_xfree(dev_snd);
++ r = inotify_add_watch(u->inotify_fd, "/dev/snd", IN_ATTRIB|IN_CLOSE_WRITE|IN_DELETE_SELF|IN_MOVE_SELF);
+
+ if (r < 0) {
+ int saved_errno = errno;
+diff --git a/src/modules/udev-util.c b/src/modules/udev-util.c
+index 2f18bc4..b0bb17d 100644
+--- a/src/modules/udev-util.c
++++ b/src/modules/udev-util.c
+@@ -180,7 +180,7 @@ int pa_udev_get_info(int card_idx, pa_proplist *p) {
+ goto finish;
+ }
+
+- t = pa_sprintf_malloc("%s/class/sound/card%i", udev_get_sys_path(udev), card_idx);
++ t = pa_sprintf_malloc("/sys/class/sound/card%i", card_idx);
+ card = udev_device_new_from_syspath(udev, t);
+ pa_xfree(t);
+
+@@ -277,7 +277,7 @@ char* pa_udev_get_property(int card_idx, const char *name) {
+ goto finish;
+ }
+
+- t = pa_sprintf_malloc("%s/class/sound/card%i", udev_get_sys_path(udev), card_idx);
++ t = pa_sprintf_malloc("/sys/class/sound/card%i", card_idx);
+ card = udev_device_new_from_syspath(udev, t);
+ pa_xfree(t);
+
+--
+1.7.10.2
+
diff --git a/staging/pulseaudio/PKGBUILD b/staging/pulseaudio/PKGBUILD
new file mode 100644
index 000000000..52965bfa8
--- /dev/null
+++ b/staging/pulseaudio/PKGBUILD
@@ -0,0 +1,115 @@
+# $Id: PKGBUILD 159684 2012-05-26 01:31:15Z heftig $
+# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
+# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
+# Contributor: Corrado Primier <bardo@aur.archlinux.org>
+# Contributor: William Rea <sillywilly@gmail.com>
+
+pkgbase=pulseaudio
+pkgname=(pulseaudio libpulse)
+pkgdesc="A featureful, general-purpose sound server"
+pkgver=2.0
+pkgrel=2
+arch=(i686 x86_64)
+url="http://www.freedesktop.org/wiki/Software/PulseAudio"
+license=(GPL LGPL)
+makedepends=(libasyncns libcap attr libxtst libsm libsamplerate libtool rtkit
+ speex tdb udev dbus-core avahi bluez gconf intltool jack
+ lirc-utils openssl fftw orc json-c gtk2 webrtc-audio-processing
+ libsystemd)
+options=(!emptydirs !libtool)
+source=(http://freedesktop.org/software/$pkgbase/releases/$pkgbase-$pkgver.tar.xz
+ pulseaudio.xinit 0001-Remove-usage-of-deprecated-udev_get_-_path.patch)
+sha256sums=('28b42edd42f4879a6884af5f0ec11801ac001eb7582881215b36649aa37e2061'
+ 'a0db6cdc74fbf0ca10e2343c08e1e228f109221c6c0ff91b0bfade5c4bdf03cf'
+ '13e3cbe5499e462e8d818aa1faa2419aa880888ec18b4757cabbd7f5fcd6e803')
+
+build() {
+ cd $pkgbase-$pkgver
+
+ # libudev.so.1.0.0
+ patch -Np1 -i ../0001-Remove-usage-of-deprecated-udev_get_-_path.patch
+
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --libexecdir=/usr/lib \
+ --localstatedir=/var \
+ --with-udev-rules-dir=/usr/lib/udev/rules.d \
+ --with-database=tdb \
+ --disable-hal \
+ --disable-tcpwrap \
+ --disable-rpath \
+ --disable-default-build-tests
+
+ # fight unused direct deps
+ sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
+
+ make
+}
+
+package_pulseaudio() {
+ depends=("libpulse=$pkgver-$pkgrel" rtkit libltdl speex tdb udev fftw orc
+ libsamplerate webrtc-audio-processing libsystemd)
+ optdepends=('avahi: zeroconf support'
+ 'bluez: bluetooth support'
+ 'gconf: configuration through gconf (paprefs)'
+ 'jack: jack support'
+ 'lirc-utils: infra-red support'
+ 'openssl: RAOP support'
+ 'python2-pyqt: Equalizer GUI (qpaeq)')
+ backup=(etc/pulse/{daemon.conf,default.pa,system.pa})
+ install=pulseaudio.install
+
+ cd $pkgbase-$pkgver
+ make -j1 DESTDIR="$pkgdir" install
+
+ # Lower resample quality, saves CPU
+ sed -e '/resample-method/iresample-method=speex-float-0' \
+ -i "$pkgdir/etc/pulse/daemon.conf"
+
+ # Disable cork-request module, can result in e.g. media players unpausing
+ # when there's a Skype call incoming
+ sed -e 's|/usr/bin/pactl load-module module-x11-cork-request|#&|' \
+ -i "$pkgdir/usr/bin/start-pulseaudio-x11"
+
+ # Make ConsoleKit optional
+ sed -e $'/load-module module-console-kit/{i.nofail\n;a.fail\n;}' \
+ -i "$pkgdir/etc/pulse/default.pa"
+
+ # Python fix
+ sed -i '1s:python$:&2:' "$pkgdir/usr/bin/qpaeq"
+
+ install -Dm755 "$srcdir/pulseaudio.xinit" "$pkgdir/etc/X11/xinit/xinitrc.d/pulseaudio"
+
+ rm "$pkgdir/etc/dbus-1/system.d/pulseaudio-system.conf"
+
+### Split libpulse
+
+ mkdir -p "$srcdir"/libpulse/{etc/pulse,usr/{lib/pulseaudio,share/man/man5}}
+
+ mv {"$pkgdir","$srcdir/libpulse"}/etc/pulse/client.conf
+
+ mv "$pkgdir"/usr/lib/libpulse{,-simple,-mainloop-glib}.so* \
+ "$srcdir/libpulse/usr/lib"
+
+ mv "$pkgdir"/usr/lib/pulseaudio/libpulsedsp.so \
+ "$pkgdir"/usr/lib/pulseaudio/libpulsecommon-*.so \
+ "$srcdir/libpulse/usr/lib/pulseaudio"
+
+ mv {"$pkgdir","$srcdir/libpulse"}/usr/lib/cmake
+ mv {"$pkgdir","$srcdir/libpulse"}/usr/lib/pkgconfig
+
+ mv {"$pkgdir","$srcdir/libpulse"}/usr/include
+
+ mv {"$pkgdir","$srcdir/libpulse"}/usr/share/man/man5/pulse-client.conf.5
+ mv {"$pkgdir","$srcdir/libpulse"}/usr/share/vala
+}
+
+package_libpulse() {
+ pkgdesc="$pkgdesc (client library)"
+ depends=(dbus-core libasyncns libcap libxtst libsm libsndfile json-c)
+ optdepends=('alsa-plugins: ALSA support'
+ 'avahi: zeroconf support')
+ backup=(etc/pulse/client.conf)
+
+ mv "$srcdir"/libpulse/* "$pkgdir"
+}
diff --git a/staging/pulseaudio/pulseaudio.install b/staging/pulseaudio/pulseaudio.install
new file mode 100644
index 000000000..1dc4cefb3
--- /dev/null
+++ b/staging/pulseaudio/pulseaudio.install
@@ -0,0 +1,19 @@
+post_install() {
+ cat << MES
+>>> See the wiki at http://wiki.archlinux.org/index.php/PulseAudio for details
+ on configuring your system for PulseAudio.
+
+>>> Make sure to install pulseaudio-alsa to configure ALSA for PulseAudio.
+MES
+}
+
+post_upgrade() {
+ cat << MES
+>>> If you have per-user copies of configuration files (such as client.conf,
+ daemon.conf or default.pa) in ~/.pulse/, make sure you keep them in sync
+ with changes to the packaged files in /etc/pulse/. Otherwise, PulseAudio
+ may refuse to start due to configuration errors.
+MES
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/staging/pulseaudio/pulseaudio.xinit b/staging/pulseaudio/pulseaudio.xinit
new file mode 100644
index 000000000..2d30c0943
--- /dev/null
+++ b/staging/pulseaudio/pulseaudio.xinit
@@ -0,0 +1,12 @@
+#!/bin/bash
+
+case "$DESKTOP_SESSION" in
+ gnome|kde*|xfce*) # PulseAudio is started via XDG Autostart
+ ;;
+ *)
+ # Extra checks in case DESKTOP_SESSION is not set correctly
+ if [[ -z $KDE_FULL_SESSION && -z $GNOME_DESKTOP_SESSION_ID ]]; then
+ /usr/bin/start-pulseaudio-x11
+ fi
+ ;;
+esac