aboutsummaryrefslogtreecommitdiffstats
path: root/community/pulseaudio
diff options
context:
space:
mode:
authorWilliam Pitcock <nenolod@dereferenced.org>2018-03-01 03:12:41 +0000
committerWilliam Pitcock <nenolod@dereferenced.org>2018-03-01 03:12:41 +0000
commitff5ab3ca83e5bc7363784bb55d9922ae6692371b (patch)
tree10bef579541f04fdda5c24f55e99c3d3e554c61a /community/pulseaudio
parent406be0cebe7af94612f6245d085748e0c2149490 (diff)
community/pulseaudio: move from testing
Diffstat (limited to 'community/pulseaudio')
-rw-r--r--community/pulseaudio/0001-padsp-Make-it-compile-on-musl.patch67
-rw-r--r--community/pulseaudio/APKBUILD139
-rw-r--r--community/pulseaudio/pulseaudio.confd7
-rw-r--r--community/pulseaudio/pulseaudio.initd81
4 files changed, 294 insertions, 0 deletions
diff --git a/community/pulseaudio/0001-padsp-Make-it-compile-on-musl.patch b/community/pulseaudio/0001-padsp-Make-it-compile-on-musl.patch
new file mode 100644
index 00000000000..15933931bcf
--- /dev/null
+++ b/community/pulseaudio/0001-padsp-Make-it-compile-on-musl.patch
@@ -0,0 +1,67 @@
+From f6ab3c3aa7a1841c8add04828029356d2a8c88e7 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 6 Apr 2015 21:56:31 -0700
+Subject: [PATCH] padsp: Make it compile on musl
+
+break assumptions on glibc and there is no stat64 on non
+glibc C libraries
+
+See pulseaudio bug
+
+https://bugs.freedesktop.org/show_bug.cgi?id=85319
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/utils/padsp.c | 15 +++++++++------
+ 1 file changed, 9 insertions(+), 6 deletions(-)
+
+diff --git a/src/utils/padsp.c b/src/utils/padsp.c
+index 943479b..d0530d7 100644
+--- a/src/utils/padsp.c
++++ b/src/utils/padsp.c
+@@ -2377,7 +2377,7 @@ fail:
+ return ret;
+ }
+
+-#ifdef sun
++#ifndef __GLIBC__
+ int ioctl(int fd, int request, ...) {
+ #else
+ int ioctl(int fd, unsigned long request, ...) {
+@@ -2517,10 +2517,13 @@ int stat(const char *pathname, struct stat *buf) {
+
+ return 0;
+ }
+-
+ #ifdef HAVE_OPEN64
+-
++#undef stat64
++#ifdef __GLIBC__
+ int stat64(const char *pathname, struct stat64 *buf) {
++#else
++int stat64(const char *pathname, struct stat *buf) {
++#endif
+ struct stat oldbuf;
+ int ret;
+
+@@ -2553,7 +2556,7 @@ int stat64(const char *pathname, struct stat64 *buf) {
+
+ return 0;
+ }
+-
++#undef open64
+ int open64(const char *filename, int flags, ...) {
+ va_list args;
+ mode_t mode = 0;
+@@ -2679,8 +2682,8 @@ FILE* fopen(const char *filename, const char *mode) {
+ }
+
+ #ifdef HAVE_OPEN64
+-
+-FILE *fopen64(const char *filename, const char *mode) {
++#undef fopen64
++FILE *fopen64(const char *__restrict filename, const char *__restrict mode) {
+
+ debug(DEBUG_LEVEL_VERBOSE, __FILE__": fopen64(%s)\n", filename?filename:"NULL");
+
diff --git a/community/pulseaudio/APKBUILD b/community/pulseaudio/APKBUILD
new file mode 100644
index 00000000000..6263c831541
--- /dev/null
+++ b/community/pulseaudio/APKBUILD
@@ -0,0 +1,139 @@
+# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer:
+pkgname=pulseaudio
+pkgver=9.0
+pkgrel=1
+pkgdesc="A featureful, general-purpose sound server"
+url="http://www.freedesktop.org/wiki/Software/PulseAudio"
+arch="all !s390x"
+license="LGPL"
+makedepends="m4 automake libtool intltool bash
+ dbus-dev libcap-dev alsa-lib-dev bluez-dev speexdsp-dev avahi-dev openssl-dev eudev-dev
+ libsndfile-dev gtk+3.0-dev json-c-dev fftw-dev gconf-dev sbc-dev jack-dev"
+install=""
+subpackages="$pkgname-dev $pkgname-doc $pkgname-libs $pkgname-bluez
+ $pkgname-alsa $pkgname-utils $pkgname-jack $pkgname-zeroconf $pkgname-system
+ $pkgname-bash-completion:bashcomp $pkgname-zsh-completion:zshcomp"
+source="http://freedesktop.org/software/pulseaudio/releases/pulseaudio-$pkgver.tar.xz
+ 0001-padsp-Make-it-compile-on-musl.patch
+ $pkgname.initd
+ $pkgname.confd"
+
+builddir="$srcdir"/$pkgname-$pkgver
+
+build() {
+ cd "$builddir"
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var \
+ --enable-bluez5 \
+ --disable-bluez4 \
+ --disable-nls \
+ --disable-orc \
+ || return 1
+ make || return 1
+}
+
+package() {
+ cd "$builddir"
+ make -j1 DESTDIR="$pkgdir" install || return 1
+}
+
+system() {
+ arch="noarch"
+ depends="$pkgname"
+ pkgdesc="Pulseaudio system-wide init scripts"
+ install -D -m755 "$srcdir"/$pkgname.initd \
+ "$subpkgdir"/etc/init.d/$pkgname || return 1
+ install -D -m644 "$srcdir"/$pkgname.confd \
+ "$subpkgdir"/etc/conf.d/$pkgname || return 1
+ mv "$pkgdir"/etc/dbus-1 "$subpkgdir"/etc
+}
+
+libs() {
+ pkgdesc="Pulseaudio libraries"
+ mkdir -p "$subpkgdir"/usr/lib \
+ "$subpkgdir"/etc/pulse || return 1
+ mv "$pkgdir"/usr/lib/pulseaudio \
+ "$subpkgdir"/usr/lib/ || return 1
+ mv "$pkgdir"/usr/lib/libpulse.so.0* \
+ "$pkgdir"/usr/lib/libpulse-simple.so.0* \
+ "$subpkgdir"/usr/lib/ || return 1
+ mv "$pkgdir"/etc/pulse/client.conf \
+ "$subpkgdir"/etc/pulse/ || return 1
+}
+
+bluez() {
+ pkgdesc="Pulseaudio bluetooth support"
+ mkdir -p "$subpkgdir"/usr/lib/pulse-$pkgver/modules
+ mv "$pkgdir"/usr/lib/pulse-$pkgver/modules/*bluez*.so \
+ "$pkgdir"/usr/lib/pulse-$pkgver/modules/*bluetooth*.so \
+ "$subpkgdir"/usr/lib/pulse-$pkgver/modules/ || return 1
+}
+
+alsa() {
+ pkgdesc="Pulseaudio alsa support"
+ mkdir -p "$subpkgdir"/usr/lib/pulse-$pkgver/modules
+ mv "$pkgdir"/usr/lib/pulse-$pkgver/modules/*alsa*.so \
+ "$subpkgdir"/usr/lib/pulse-$pkgver/modules/ || return 1
+}
+
+utils() {
+ pkgdesc="Pulseaudio utilities"
+ mkdir -p "$subpkgdir"/usr/bin
+ mv "$pkgdir"/usr/bin/pa* \
+ "$pkgdir"/usr/bin/esdcompat \
+ "$subpkgdir"/usr/bin/ || return 1
+}
+
+jack() {
+ pkgdesc="Pulseaudio jack support"
+ mkdir -p "$subpkgdir"/usr/lib/pulse-$pkgver/modules
+ mv "$pkgdir"/usr/lib/pulse-$pkgver/modules/*jack*.so \
+ "$subpkgdir"/usr/lib/pulse-$pkgver/modules/ || return 1
+}
+
+zeroconf() {
+ pkgdesc="Pulseaudio zeroconf support"
+ mkdir -p "$subpkgdir"/usr/lib/pulse-$pkgver/modules
+ mv "$pkgdir"/usr/lib/pulse-$pkgver/modules/*avahi*.so \
+ "$pkgdir"/usr/lib/pulse-$pkgver/modules/*zeroconf*.so \
+ "$pkgdir"/usr/lib/pulse-$pkgver/modules/*raop*.so \
+ "$subpkgdir"/usr/lib/pulse-$pkgver/modules/ || return 1
+}
+
+bashcomp() {
+ pkgdesc="Bash completion for $pkgname"
+ arch="noarch"
+ depends=""
+ install_if="$pkgname=$pkgver-r$pkgrel bash-completion"
+ install -dm755 "$subpkgdir"/usr/share || return 1
+ mv "$pkgdir"/usr/share/bash-completion "$subpkgdir"/usr/share
+}
+
+zshcomp() {
+ pkgdesc="Zsh completion for $pkgname"
+ arch="noarch"
+ depends=""
+ install_if="$pkgname=$pkgver-r$pkgrel zsh"
+ install -dm755 "$subpkgdir"/usr/share || return 1
+ mv "$pkgdir"/usr/share/zsh "$subpkgdir"/usr/share
+}
+
+md5sums="da7162541b3a9bc20576dbd0d7d1489a pulseaudio-9.0.tar.xz
+9c04ae15da7464e3d0003840b9025eed 0001-padsp-Make-it-compile-on-musl.patch
+884cb9a843361844904e8c85542e72fb pulseaudio.initd
+bf7487ba2c48fc8a56bca41c97a18934 pulseaudio.confd"
+sha256sums="c3d3d66b827f18fbe903fe3df647013f09fc1e2191c035be1ee2d82a9e404686 pulseaudio-9.0.tar.xz
+bfa722e400ba820ee7013ceb050058b4e239b1ea8544be23767ceb70ee0bc332 0001-padsp-Make-it-compile-on-musl.patch
+bbd37d052962ddbf6ae633e4e3896da292d3e916a9123558a9b973096dda842d pulseaudio.initd
+c03661e8cc902d27ff6b52f291207f2b008957571b942abdd92a873a52aae0dd pulseaudio.confd"
+sha512sums="2177d4ab2ab7ded43d6eb5ece763504bdd614f9bdc27ab007894f8f7eed3fd0006a5b7550e5fd099d1877423524bc2baa22775372c8cefd9b772c28134d3e55a pulseaudio-9.0.tar.xz
+25b648681d9397631138635c024b5c6e289e32f11bf222afe4d853f62501555b5d75cc9058023d24ab8f97e442bcb37a647667e01582539d146762912a8ce08e 0001-padsp-Make-it-compile-on-musl.patch
+34fe54ece5df60ce63a7955cd828a2716670fef71f40960698ae5518fdaf9cd599f4d8f8852e2c88d715600a9ad06a38984415e5eb320071012e5eb6e5c1b8b1 pulseaudio.initd
+75b54581591519d63a3362b155c0f9b0501a60763ab394693a456c44d0216138cf3a40bdd0f7442028663bc045e9ffee286f8f8eaf2ee3bb17379b43615fee0e pulseaudio.confd"
diff --git a/community/pulseaudio/pulseaudio.confd b/community/pulseaudio/pulseaudio.confd
new file mode 100644
index 00000000000..1d31d342a02
--- /dev/null
+++ b/community/pulseaudio/pulseaudio.confd
@@ -0,0 +1,7 @@
+# Config file for /etc/init.d/pulseaudio
+# $Header: /var/cvsroot/gentoo-x86/media-sound/pulseaudio/files/pulseaudio.conf.d,v 1.6 2006/07/29 15:34:18 flameeyes Exp $
+
+# For more see "pulseaudio -h".
+
+# Startup options
+PA_OPTS="--log-target=syslog --disallow-module-loading=1"
diff --git a/community/pulseaudio/pulseaudio.initd b/community/pulseaudio/pulseaudio.initd
new file mode 100644
index 00000000000..6dc11bf82b2
--- /dev/null
+++ b/community/pulseaudio/pulseaudio.initd
@@ -0,0 +1,81 @@
+#!/sbin/openrc-run
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/media-sound/pulseaudio/files/pulseaudio.init.d-5,v 1.1 2011/03/27 16:58:49 ssuominen Exp $
+
+depend() {
+ need localmount
+ use net
+
+ local script="/etc/pulse/system.pa"
+
+ for opt in ${PA_OPTS}; do
+ case "$opt" in
+ --file=*) script="${opt#*=}" ;;
+ -F*) script="${opt#-F}" ;;
+ esac
+ done
+
+ config "$script"
+
+ local needs="$(get_options need)"
+ if [ -n "${needs}" ]; then
+ need ${needs}
+ return
+ fi
+
+ if egrep -q '^[[:space:]]*load-module[[:space:]]+module-console-kit' "$script"; then
+ needs="${needs} consolekit"
+ fi
+
+#ifdef UDEV
+ if egrep -q '^[[:space:]]*load-module[[:space:]]+module-udev-detect' "$script"; then
+ needs="${needs} udev"
+ fi
+#endif
+
+#ifdef AVAHI
+ if egrep -q '^[[:space:]]*load-module[[:space:]]+module-zeroconf-publish' "$script"; then
+ needs="${needs} avahi-daemon"
+ fi
+#endif
+
+#ifdef BLUETOOTH
+ if egrep -q '^[[:space:]]*load-module[[:space:]]+module-bt-proximity' "$script"; then
+ needs="${needs} bluetooth"
+ fi
+#endif
+
+#ifdef ALSA
+ if egrep -q '^[[:space:]]*load-module[[:space:]]+module-alsa-(sink|source)' "$script" ||
+ egrep -q '^[[:space:]]*load-module[[:space:]]+module-(udev-)?detect' "$script" ||
+ egrep -q '^[[:space:]]*add-autoload-source[[:space:]]+(input|output)[[:space:]]+module-alsa-(sink|source)' "$script"; then
+ needs="${needs} alsa" # in Alpine install alsa-utils to provide /etc/init.d/alsa (not alsasound as in Gentoo).
+ fi
+#endif
+
+ need "${needs}"
+ save_options need "${needs}"
+}
+
+start() {
+ if [ -z "${PULSEAUDIO_SHOULD_NOT_GO_SYSTEMWIDE}" ]; then
+ eerror "Please don't use system wide PulseAudio unless you read the"
+ eerror "documentation available at http://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/SystemWide/"
+ eerror ""
+ eerror "When you're done, please set the variable PULSEAUDIO_SHOULD_NOT_GO_SYSTEMWIDE in"
+ eerror "/etc/conf.d/pulseaudio . Please remember that upstream does not support this mode"
+ eerror "when used for standard desktop configurations."
+ return 1
+ fi
+ ebegin "Starting pulseaudio"
+ PA_ALL_OPTS="${PA_OPTS} --fail=1 --daemonize=1 --system"
+ start-stop-daemon --start --exec /usr/bin/pulseaudio -- ${PA_ALL_OPTS}
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping pulseaudio"
+ start-stop-daemon --stop --quiet --exec /usr/bin/pulseaudio --pidfile /var/run/pulse/pid
+ eend $?
+}