shairplay-sync: new package

[Thomas:
 - rework init script to be more like other Buildroot init scripts,
   and fix indentation.
 - fix indentation in the .mk file
 - remove dependencies on host-autoconf and host-libtool, since the
   package has AUTORECONF = YES, this is not needed.
 - fix licensing informations.]

Signed-off-by: Jörg Krause <jkrause@posteo.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit is contained in:
Jörg Krause 2014-10-25 00:55:41 +02:00 committed by Thomas Petazzoni
parent 8c42816d64
commit c3d9cd9b52
4 changed files with 114 additions and 0 deletions

View File

@ -1091,6 +1091,7 @@ endif
source "package/samba4/Config.in"
source "package/sconeserver/Config.in"
source "package/ser2net/Config.in"
source "package/shairport-sync/Config.in"
source "package/smcroute/Config.in"
source "package/socat/Config.in"
source "package/socketcand/Config.in"

View File

@ -0,0 +1,37 @@
config BR2_PACKAGE_SHAIRPORT_SYNC
bool "shairport-sync"
depends on BR2_USE_MMU # libdaemon
depends on BR2_TOOLCHAIN_HAS_THREADS # alsa_lib
select BR2_PACKAGE_ALSA_LIB
select BR2_PACKAGE_LIBDAEMON
select BR2_PACKAGE_POLARSSL if !BR2_PACKAGE_OPENSSL
select BR2_PACKAGE_POPT
help
Shairport Sync emulates an AirPort Express for the purpose of
streaming audio from iTunes, iPods, iPhones, iPads and AppleTVs.
Audio played by a Shairport Sync-powered device stays in synchrony
with the source and thus with other devices that are playing the same
source synchronously. Thus, for example, synchronised multi-room
audio is possible without difficulty.
https://github.com/mikebrady/shairport-sync
if BR2_PACKAGE_SHAIRPORT_SYNC
config BR2_PACKAGE_SHAIRPORT_SYNC_LIBSOXR
bool "libsoxr support"
select BR2_PACKAGE_LIBSOXR
help
Enable support for libsoxr, the SoX Resampler library.
Briefly, Shairport Sync keeps in step with the audio source by
deleting or inserting frames of audio into the stream as needed. This
"interpolation" is normally inaudible, but it can be heard in some
circumstances. Libsoxr allows this interpolation to be done much more
smoothly and subtly.
endif
comment "shairport-sync needs a toolchain w/ threads"
depends on BR2_USE_MMU
depends on !BR2_TOOLCHAIN_HAS_THREADS

View File

@ -0,0 +1,25 @@
#! /bin/sh
# Additional options that are passed to Shairport Sync
OPTIONS=""
case "$1" in
start)
echo -n "Starting shairport-sync: "
start-stop-daemon -S -q -m -b -p /var/run/shairport-sync.pid --exec /usr/bin/shairport-sync -- $OPTIONS
[ $? == 0 ] && echo "OK" || echo "FAIL"
;;
stop)
echo -n "Stopping shairport-sync: "
start-stop-daemon -K -q -p /var/run/shairport-sync.pid
[ $? == 0 ] && echo "OK" || echo "FAIL"
;;
restart)
$0 stop
$0 start
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
;;
esac

View File

@ -0,0 +1,51 @@
################################################################################
#
# shairport-sync
#
################################################################################
SHAIRPORT_SYNC_VERSION = 2.1.5
SHAIRPORT_SYNC_SITE = $(call github,mikebrady,shairport-sync,$(SHAIRPORT_SYNC_VERSION))
# Note: the COPYING file contains the text of GPLv3, but none of the
# code is under this license. Bug reported upstream at
# https://github.com/mikebrady/shairport-sync/issues/13.
SHAIRPORT_SYNC_LICENSE = MIT, BSD-3c
SHAIRPORT_SYNC_LICENSE_FILES = LICENSES
SHAIRPORT_SYNC_DEPENDENCIES = alsa-lib libdaemon popt
SHAIRPORT_SYNC_AUTORECONF = YES
SHAIRPORT_SYNC_CONF_OPTS = --with-alsa # required
# Avahi or tinysvcmdns (shaiport-sync bundles its own version of tinysvcmdns)
ifeq ($(BR2_PACKAGE_AVAHI),y)
SHAIRPORT_SYNC_DEPENDENCIES += avahi
SHAIRPORT_SYNC_CONF_OPTS += --with-avahi
else
SHAIRPORT_SYNC_CONF_OPTS += --with-tinysvcmdns
endif
# OpenSSL or PolarSSL
ifeq ($(BR2_PACKAGE_OPENSSL),y)
SHAIRPORT_SYNC_DEPENDENCIES += openssl
SHAIRPORT_SYNC_CONF_OPTS += --with-openssl
else
SHAIRPORT_SYNC_DEPENDENCIES += polarssl
SHAIRPORT_SYNC_CONF_OPTS += --with-polarssl
endif
ifeq ($(BR2_PACKAGE_SHAIRPORT_SYNC_LIBSOXR),y)
SHAIRPORT_SYNC_DEPENDENCIES += libsoxr
SHAIRPORT_SYNC_CONF_OPTS += --with-soxr
endif
define SHAIRPORT_SYNC_INSTALL_TARGET_CMDS
$(INSTALL) -D -m 0755 $(@D)/shairport-sync \
$(TARGET_DIR)/usr/bin/shairport-sync
endef
define SHAIRPORT_SYNC_INSTALL_INIT_SYSV
$(INSTALL) -D -m 0755 package/shairport-sync/S99shairport-sync \
$(TARGET_DIR)/etc/init.d/S99shairport-sync
endef
$(eval $(autotools-package))