This commit is contained in:
TriForceX
2019-09-25 20:51:37 -03:00
commit 6203ff3e7c
11215 changed files with 428258 additions and 0 deletions

View File

@@ -0,0 +1,41 @@
config BR2_PACKAGE_SHAIRPORT_SYNC
bool "shairport-sync"
depends on BR2_USE_MMU # libdaemon
depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
depends on BR2_INSTALL_LIBSTDCPP
select BR2_PACKAGE_ALSA_LIB
select BR2_PACKAGE_ALSA_LIB_MIXER
select BR2_PACKAGE_LIBCONFIG
select BR2_PACKAGE_LIBDAEMON
select BR2_PACKAGE_OPENSSL if !BR2_PACKAGE_MBEDTLS
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/ C++, NPTL"
depends on BR2_USE_MMU
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS_NPTL

View File

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

View File

@@ -0,0 +1,3 @@
# Locally calculated
sha256 4f1ee142b887842727ae0c310e21c83ea2386518e841a25c7ddb015d08b54eba shairport-sync-3.2.2.tar.gz
sha256 1daaa904985807b7f9f2fa91f6b19f3faadf8df4e813f7451a691f89a6965e3f LICENSES

View File

@@ -0,0 +1,66 @@
################################################################################
#
# shairport-sync
#
################################################################################
SHAIRPORT_SYNC_VERSION = 3.2.2
SHAIRPORT_SYNC_SITE = $(call github,mikebrady,shairport-sync,$(SHAIRPORT_SYNC_VERSION))
SHAIRPORT_SYNC_LICENSE = MIT, BSD-3-Clause
SHAIRPORT_SYNC_LICENSE_FILES = LICENSES
SHAIRPORT_SYNC_DEPENDENCIES = alsa-lib libconfig libdaemon popt host-pkgconf
# git clone, no configure
SHAIRPORT_SYNC_AUTORECONF = YES
SHAIRPORT_SYNC_CONF_OPTS = --with-alsa \
--with-metadata \
--with-pipe \
--with-stdout
SHAIRPORT_SYNC_CONF_ENV += LIBS="$(SHAIRPORT_SYNC_CONF_LIBS)"
# Avahi or tinysvcmdns (shaiport-sync bundles its own version of tinysvcmdns).
# Avahi support needs libavahi-client, which is built by avahi if avahi-daemon
# and dbus is selected. Since there is no BR2_PACKAGE_LIBAVAHI_CLIENT config
# option yet, use the avahi-daemon and dbus congig symbols to check for
# libavahi-client.
ifeq ($(BR2_PACKAGE_AVAHI_DAEMON)$(BR2_PACKAGE_DBUS),yy)
SHAIRPORT_SYNC_DEPENDENCIES += avahi
SHAIRPORT_SYNC_CONF_OPTS += --with-avahi
else
SHAIRPORT_SYNC_CONF_OPTS += --with-tinysvcmdns
endif
# OpenSSL or mbedTLS
ifeq ($(BR2_PACKAGE_OPENSSL),y)
SHAIRPORT_SYNC_DEPENDENCIES += openssl
SHAIRPORT_SYNC_CONF_OPTS += --with-ssl=openssl
else
SHAIRPORT_SYNC_DEPENDENCIES += mbedtls
SHAIRPORT_SYNC_CONF_OPTS += --with-ssl=mbedtls
SHAIRPORT_SYNC_CONF_LIBS += -lmbedx509 -lmbedcrypto
ifeq ($(BR2_PACKAGE_MBEDTLS_COMPRESSION),y)
SHAIRPORT_SYNC_CONF_LIBS += -lz
endif
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
$(INSTALL) -D -m 0644 $(@D)/scripts/shairport-sync.conf \
$(TARGET_DIR)/etc/shairport-sync.conf
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))