diff options
Diffstat (limited to 'extra/ossp')
-rw-r--r-- | extra/ossp/PKGBUILD | 43 | ||||
-rw-r--r-- | extra/ossp/osspd.conf.d | 10 | ||||
-rwxr-xr-x | extra/ossp/osspd.rc.d | 59 |
3 files changed, 112 insertions, 0 deletions
diff --git a/extra/ossp/PKGBUILD b/extra/ossp/PKGBUILD new file mode 100644 index 000000000..964013d1c --- /dev/null +++ b/extra/ossp/PKGBUILD @@ -0,0 +1,43 @@ +# $Id: PKGBUILD 99925 2010-11-19 14:16:05Z heftig $ +# Maintainer: Jan "heftig" Steffens <jan.steffens@gmail.com> +# Contributor: Jonathan Liu <net147@gmail.com> + +pkgname=ossp +pkgver=1.3.2 +pkgrel=10 +pkgdesc="Emulate OSS device using CUSE" +arch=(i686 x86_64) +url="http://sourceforge.net/projects/osspd" +license=(GPL2) +depends=('fuse>=2.8.0' 'kernel26>=2.6.35-2') +makedepends=(libpulse alsa-lib) +optdepends=("libpulse: PulseAudio backend" + "alsa-lib: ALSA backend") +backup=(etc/conf.d/osspd) +source=("http://downloads.sourceforge.net/project/osspd/${pkgname}-${pkgver}.tar.gz" + osspd.rc.d osspd.conf.d) + +build() { + cd "$srcdir/$pkgname-$pkgver" + + make +} + +package() { + cd "$srcdir/$pkgname-$pkgver" + + make DESTDIR="$pkgdir" prefix=/usr UDEVDIR=/lib/udev/rules.d install + + # Make compatible with udev ACLs + sed -e 's/GROUP="audio"/SUBSYSTEM=="cuse", MODE="0666"/' \ + -i "$pkgdir/lib/udev/rules.d/98-osscuse.rules" + + install -D -m644 README "$pkgdir/usr/share/doc/$pkgname/README" + + install -D -m755 "$srcdir/osspd.rc.d" "$pkgdir/etc/rc.d/osspd" + install -D -m644 "$srcdir/osspd.conf.d" "$pkgdir/etc/conf.d/osspd" +} + +md5sums=('ee2d8c894de2fa4eb3291804fbc7df45' + '69b745e0c499cd50019266a99082ce8b' + '5a5a3db1bb3c98d48d4794613cf12ef0') diff --git a/extra/ossp/osspd.conf.d b/extra/ossp/osspd.conf.d new file mode 100644 index 000000000..05d0d06c6 --- /dev/null +++ b/extra/ossp/osspd.conf.d @@ -0,0 +1,10 @@ +# Define the audio backend to use here. +# Leave undefined to autodetect. + +# Use Pulseaudio slave +#DSP_SLAVE=/usr/sbin/ossp-padsp + +# Use ALSA slave +#DSP_SLAVE=/usr/sbin/ossp-alsap + +# vim:set ft=sh: diff --git a/extra/ossp/osspd.rc.d b/extra/ossp/osspd.rc.d new file mode 100755 index 000000000..78d7602ae --- /dev/null +++ b/extra/ossp/osspd.rc.d @@ -0,0 +1,59 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions +. /etc/conf.d/osspd + + +if [[ -z "$DSP_SLAVE" ]]; then + # Autodetect + if [[ -x /usr/bin/pulseaudio ]]; then + DSP_SLAVE="/usr/sbin/ossp-padsp" + else + DSP_SLAVE="/usr/sbin/ossp-alsap" + fi +fi + +preclaim_oss=/sys/module/soundcore/parameters/preclaim_oss + +PID=`pidof -o %PPID /usr/sbin/osspd` +case "$1" in + start) + stat_busy "Starting OSS userspace bridge" + if [ -z "$PID" ]; then + if [[ -r $preclaim_oss && "$(cat $preclaim_oss)" -eq 1 ]]; then + echo "Must boot with soundcore.preclaim_oss=0" + stat_die + fi + modprobe cuse &>/dev/null + modprobe -r snd-pcm-oss snd-mixer-oss &>/dev/null + sleep 0.1 + /usr/sbin/osspd --dsp-slave="$DSP_SLAVE" + fi + if [ -n "$PID" -o $? -gt 0 ]; then + stat_fail + else + add_daemon osspd + stat_done + fi + ;; + stop) + stat_busy "Stopping OSS userspace bridge" + [ -n "$PID" ] && kill $PID &>/dev/null + if [ $? -gt 0 ]; then + stat_fail + else + rm_daemon osspd + stat_done + fi + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac + +# vim:set ft=sh: |