From ff5ab3ca83e5bc7363784bb55d9922ae6692371b Mon Sep 17 00:00:00 2001 From: William Pitcock Date: Thu, 1 Mar 2018 03:12:41 +0000 Subject: community/pulseaudio: move from testing --- .../0001-padsp-Make-it-compile-on-musl.patch | 67 ++++++++++ community/pulseaudio/APKBUILD | 139 +++++++++++++++++++++ community/pulseaudio/pulseaudio.confd | 7 ++ community/pulseaudio/pulseaudio.initd | 81 ++++++++++++ 4 files changed, 294 insertions(+) create mode 100644 community/pulseaudio/0001-padsp-Make-it-compile-on-musl.patch create mode 100644 community/pulseaudio/APKBUILD create mode 100644 community/pulseaudio/pulseaudio.confd create mode 100644 community/pulseaudio/pulseaudio.initd (limited to 'community') 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 0000000000..15933931bc --- /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 +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 +--- + 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 0000000000..6263c83154 --- /dev/null +++ b/community/pulseaudio/APKBUILD @@ -0,0 +1,139 @@ +# Contributor: Sören Tempel +# Contributor: Carlo Landmeter +# 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 0000000000..1d31d342a0 --- /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 0000000000..6dc11bf82b --- /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 $? +} -- cgit v1.2.3