diff --git a/testing/scream/APKBUILD b/testing/scream/APKBUILD new file mode 100644 index 0000000000000000000000000000000000000000..fe2fbe61e9c8a21481114ddf62a0a1b5e54ade54 --- /dev/null +++ b/testing/scream/APKBUILD @@ -0,0 +1,56 @@ +# Contributor: Patrick Gaskin <patrick@pgaskin.net> +# Maintainer: Patrick Gaskin <patrick@pgaskin.net> +pkgname=scream +pkgver=3.4 +pkgrel=0 +pkgdesc="client for scream virtual network sound card for Microsoft Windows" +url="http://github.com/duncanthrax/scream" +arch="all" +license="MS-PL" +options="!check" # no test suite provided +makedepends="alsa-lib-dev pulseaudio-dev" +subpackages="$pkgname-alsa $pkgname-alsa-openrc:alsa_openrc:noarch $pkgname-pulse" +source="$pkgname-$pkgver.tar.gz::https://github.com/duncanthrax/scream/archive/3.4.tar.gz + scream-alsa.initd + scream-alsa.confd + " + +# Note: Init scripts are only provided for scream-alsa, because pulseaudio is +# meant to be run per-user, and scream-raw doesn't have any output +# methods built-in. + +build() { + make -C "$builddir"/Receivers/raw + make -C "$builddir"/Receivers/alsa + make -C "$builddir"/Receivers/pulseaudio +} + +package() { + install -D -m755 "$builddir"/Receivers/raw/scream-raw "$pkgdir"/usr/bin/scream-raw + install -D -m755 "$builddir"/Receivers/alsa/scream-alsa "$pkgdir"/usr/bin/scream-alsa + install -D -m755 "$builddir"/Receivers/pulseaudio/scream-pulse "$pkgdir"/usr/bin/scream-pulse +} + +alsa() { + pkgdesc="$pkgdesc (ALSA client)" + mkdir -p "$subpkgdir"/usr/bin + mv "$pkgdir"/usr/bin/scream-alsa "$subpkgdir"/usr/bin/scream-alsa +} + +alsa_openrc() { + # based on default_openrc, but needs to be here because it's for a subpackage + pkgdesc="$pkgdesc (ALSA client) (OpenRC init scripts)" + install_if="openrc $pkgname-alsa=$pkgver-r$pkgrel" + install -D -m755 "$srcdir"/scream-alsa.initd "$subpkgdir"/etc/init.d/scream-alsa + install -D -m755 "$srcdir"/scream-alsa.confd "$subpkgdir"/etc/conf.d/scream-alsa +} + +pulse() { + pkgdesc="$pkgdesc (PulseAudio client)" + mkdir -p "$subpkgdir"/usr/bin + mv "$pkgdir"/usr/bin/scream-pulse "$subpkgdir"/usr/bin/scream-pulse +} + +sha512sums="89a466798526d37b9ecebeab232dc6ad85f9b526214053bee542dee4cfed462d380b1e302a705a9704b6a1ada2514cdb2288b3abccdd089c747ff0eb027dce31 scream-3.4.tar.gz +781ea7e73c253c9f2b6022b448a5f10bd3fbd9650b111e0ae5e68c8610e6bef13dffc113d15f53cb17fd12771247ab4b35ed0f0cb519ed67efd2ffc0d9297914 scream-alsa.initd +46572f29830962c1f3201d5f3716ddbb05f7387a1fd547138bb6bd945f336b35c1a84c68b6d0f9071b994c632ae37c8d271f67541ae99247463dcb88a5186bfa scream-alsa.confd" diff --git a/testing/scream/scream-alsa.confd b/testing/scream/scream-alsa.confd new file mode 100644 index 0000000000000000000000000000000000000000..cbbae362669d92c9c2e76d56d6a3c95768e111ef --- /dev/null +++ b/testing/scream/scream-alsa.confd @@ -0,0 +1,20 @@ +# The network interface to use. Specify either the IP or +# interface name. When using multicast, this interface is +# used for IGMP. When using unicast, only binds to this +# interface. +#SCREAM_INTERFACE="" + +# The port to connect to. Applies to unicast and multicast. +SCREAM_PORT="4010" + +# Use multicast for streaming. +SCREAM_MULTICAST="yes" + +# The multicast group address. +SCREAM_MULTICAST_GROUP="239.255.77.77" + +# The target latency in ms. +SCREAM_LATENCY="50" + +# The ALSA output device for playback. +SCREAM_DEVICE="default" diff --git a/testing/scream/scream-alsa.initd b/testing/scream/scream-alsa.initd new file mode 100755 index 0000000000000000000000000000000000000000..8cc9b4fdc72a4611b483a4767ad10bba9fa3c0cc --- /dev/null +++ b/testing/scream/scream-alsa.initd @@ -0,0 +1,21 @@ +#!/sbin/openrc-run + +command="/usr/bin/scream-alsa" +command_background=true +pidfile="/run/${RC_SVCNAME}.pid" + +command_args="-p ${SCREAM_PORT} -t ${SCREAM_LATENCY} -o ${SCREAM_DEVICE}" + +if [ "${SCREAM_MULTICAST}" = "yes" ]; then + command_args="${command_args} -g ${SCREAM_MULTICAST_GROUP}" +else + command_args="${command_args} -u" +fi + +if [ ! -z "${SCREAM_INTERFACE}" ]; then + command_args="${command_args} -i ${SCREAM_INTERFACE}" +fi + +depend() { + need net alsa +}