shairplay-sync: new package
PATCH 1/1 shairplay-sync: new package
--- package/Config.in | 1 + package/shairport-sync/Config.in | 72 ++++++++++++++++++++++++++++++++ package/shairport-sync/S99shairport-sync | 31 ++++++++++++++ package/shairport-sync/shairport-sync.mk | 49 ++++++++++++++++++++++ 4 files changed, 153 insertions(+) create mode 100644 package/shairport-sync/Config.in create mode 100644 package/shairport-sync/S99shairport-sync create mode 100644 package/shairport-sync/shairport-sync.mk
package/Config.in +1 -0
@@ -1086,6 +1086,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"
package/shairport-sync/Config.in new file +72 -0
72 lines not on this page · raw message
package/shairport-sync/S99shairport-sync new file +31 -0
@@ -0,0 +1,31 @@ +#! /bin/sh + +NAME=shairport-sync +DAEMON=/usr/bin/$NAME + +# Additional options that are passed to Shairport Sync +OPTIONS="" + +# Exit if the package is not installed +[ -x "$DAEMON" ] || exit 0 + +case "$1" in + start) + echo -n "Starting shairport-sync: " + start-stop-daemon --start --quiet --exec $DAEMON -- -d $OPTIONS + [ $? == 0 ] && echo "OK" || echo "FAIL" + ;; + stop) + echo -n "Stopping shairport-sync: " + start-stop-daemon --stop --quiet --name $NAME + [ $? == 0 ] && echo "OK" || echo "FAIL" + ;; + restart) + $0 stop + $0 start + ;; + *) + echo "Usage: $0 {start|stop|restart}" + exit 1 + ;; +esac
package/shairport-sync/shairport-sync.mk new file +49 -0
49 lines not on this page · raw message
Signature · 1 line
2.1.2
PATCH 1/1 shairplay-sync: new package
J?rg, All,
On 2014-10-20 15:21 +0200, J?rg Krause spake thusly:
Quoted 1 line
Signed-off-by J?rg Krause <[email protected]>
[--SNIP--]
Quoted 27 lines
package/shairport-sync/Config.in new file +21
-0@@ -0,0 +1,72 @@ +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_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 + +choice + prompt "Choose SSL encryption backend"
package/shairport-sync/Config.in line 31
Quoted 10 lines
package/shairport-sync/Config.in new file +10
-0+ default BR2_PACKAGE_SHAIRPORT_SYNC_OPENSSL + +config BR2_PACKAGE_SHAIRPORT_SYNC_OPENSSL + bool "OpenSSL" + select BR2_PACKAGE_OPENSSL + +config BR2_PACKAGE_SHAIRPORT_SYNC_POLARSSL + bool "PolarSSL" + select BR2_PACKAGE_POLARSSL +endchoice
Since this is a choice, either one is selected. Which means SSL support seems to be not optional.
In that case I would prefer we use something like:
config BR2_PACKAGE_SHAIRPORT_SYNC
bool "shairport-sync"
# Dependencies and selects as above
select BR2_PACKAGE_POLARSSL if !BR2_PACKAGE_OPENSSL
This way, we ensure at least one SSL implementation is available, and do not bother the user with a useless prompt.
Quoted 13 lines
package/shairport-sync/Config.in new file +13
-0+choice + prompt "Choose mDNS backend" + default BR2_PACKAGE_SHAIRPORT_SYNC_AVAHI + +config BR2_PACKAGE_SHAIRPORT_SYNC_AVAHI + bool "Avahi" + depends on BR2_USE_WCHAR # avahi -> gettext + depends on !BR2_PREFER_STATIC_LIB + select BR2_PACKAGE_AVAHI + select BR2_PACKAGE_AVAHI_DAEMON + select BR2_PACKAGE_AVAHI_LIBDNSSD_COMPATIBILITY + +comment "Avahi support needs a toolchain w/ wchar, dynamic library"
package/shairport-sync/Config.in line 55
Quoted 10 lines
package/shairport-sync/Config.in new file +10
-0+ depends on !BR2_USE_WCHAR || BR2_PREFER_STATIC_LIB + +config BR2_PACKAGE_SHAIRPORT_SYNC_TINYSVCMDNS + bool "tinysvcmdns" + help + tinysvcmdns is a tiny mDNS responder which is only concerned with + publishing services, without a system-wide daemon like Bonjour or + Avahi. Its other goal is to be extremely small, embeddable, and have + no external dependencies. +endchoice
There is no tinysvcmdns packaged in Buildroot. Does shairport-sync bundles its own version? Otherwise, I've seen there is a tinysvcmdns package on bitbucket: https://bitbucket.org/geekman/tinysvcmdns
Maybe it would be interesting to package it in Buildroot?
If so, I would just remove the choice altogether, and just use tinysvcmdns if avahi is not enabled.
package/shairport-sync/Config.in line 58
Quoted 2 lines
package/shairport-sync/Config.in new file +2
-0+config BR2_PACKAGE_SHAIRPORT_SYNC_LIBSOXR + bool "libsoxr support"
There, you need to select BR2_PACKAGE_LIBSOXR.
Obviously, adapt the .mk to the above comments.
Regards,
Yann E. MORIN.
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------'
PATCH 1/1 shairplay-sync: new package
Hi Yann, Hi All,
Quoted 36 lines · Yann E. MORIN
J?rg, All,
On 2014-10-20 15:21 +0200, J?rg Krause spake thusly:
Quoted 1 line
Signed-off-by J?rg Krause <[email protected]>[--SNIP--]
Quoted 31 lines
package/shairport-sync/Config.in new file +25
-0@@ -0,0 +1,72 @@ +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_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 + +choice + prompt "Choose SSL encryption backend" + default BR2_PACKAGE_SHAIRPORT_SYNC_OPENSSL + +config BR2_PACKAGE_SHAIRPORT_SYNC_OPENSSL + bool "OpenSSL"
Quoted 8 lines
package/shairport-sync/Config.in line 31
Quoted 6 lines
package/shairport-sync/Config.in new file +6
-0+ select BR2_PACKAGE_OPENSSL + +config BR2_PACKAGE_SHAIRPORT_SYNC_POLARSSL + bool "PolarSSL" + select BR2_PACKAGE_POLARSSL +endchoiceSince this is a choice, either one is selected. Which means SSL support seems to be not optional.
You're right! SSL support is mandatory, but you can choose between OpenSSL and PolarSSL.
Quoted 9 lines
In that case I would prefer we use something like:
config
BR2_PACKAGE_SHAIRPORT_SYNC
bool "shairport-sync"
# Dependencies and selects as above selectBR2_PACKAGE_POLARSSLif !BR2_PACKAGE_OPENSSLThis way, we ensure at least one SSL implementation is available, and do not bother the user with a useless prompt.
Ok
Quoted 28 lines
Quoted 13 lines
package/shairport-sync/Config.in new file +13
-0+choice + prompt "Choose mDNS backend" + default BR2_PACKAGE_SHAIRPORT_SYNC_AVAHI + +config BR2_PACKAGE_SHAIRPORT_SYNC_AVAHI + bool "Avahi" + depends on BR2_USE_WCHAR # avahi -> gettext + depends on !BR2_PREFER_STATIC_LIB + select BR2_PACKAGE_AVAHI + select BR2_PACKAGE_AVAHI_DAEMON + select BR2_PACKAGE_AVAHI_LIBDNSSD_COMPATIBILITY + +comment "Avahi support needs a toolchain w/ wchar, dynamic library"package/shairport-sync/Config.in line 55
Quoted 10 lines
package/shairport-sync/Config.in new file +10
-0+ depends on !BR2_USE_WCHAR || BR2_PREFER_STATIC_LIB + +config BR2_PACKAGE_SHAIRPORT_SYNC_TINYSVCMDNS + bool "tinysvcmdns" + help + tinysvcmdns is a tiny mDNS responder which is only concerned with + publishing services, without a system-wide daemon like Bonjour or + Avahi. Its other goal is to be extremely small, embeddable, and have + no external dependencies. +endchoiceThere is no tinysvcmdns packaged in Buildroot. Does shairport-sync bundles its own version? Otherwise, I've seen there is a tinysvcmdns package on bitbucket: https://bitbucket.org/geekman/tinysvcmdns
Maybe it would be interesting to package it in Buildroot?
Quoted 2 lines
If so, I would just remove the choice altogether, and just use tinysvcmdns if avahi is not enabled.
Shairport bundles its own version of tinysvcmdns which is based on the one you've found on bitbucket. I will do the following: if avahi is not selected as a package, shairport-sync builds with tinysvcmdns support.
Quoted 4 lines
package/shairport-sync/Config.in line 58
Quoted 3 lines
package/shairport-sync/Config.in new file +2
-0+config BR2_PACKAGE_SHAIRPORT_SYNC_LIBSOXR + bool "libsoxr support"There, you need to select
BR2_PACKAGE_LIBSOXR.
Oops!
Quoted 3 lines
Obviously, adapt the .mk to the above comments.
Many thanks for the review!
J?rg