[Buildroot] [PATCH 1/1] shairplay-sync: new package
Yann E. MORIN
yann.morin.1998 at free.fr
Mon Oct 20 17:31:37 UTC 2014
Jörg, All,
On 2014-10-20 15:21 +0200, Jörg Krause spake thusly:
> Signed-off-by: Jörg Krause <jkrause at posteo.de>
[--SNIP--]
> diff --git a/package/shairport-sync/Config.in b/package/shairport-sync/Config.in
> new file mode 100644
> index 0000000..2eab88d
> --- /dev/null
> +++ b/package/shairport-sync/Config.in
> @@ -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"
> + 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.
> +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"
> + 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.
> +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.
--
.-----------------.--------------------.------------------.--------------------.
| 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. |
'------------------------------^-------^------------------^--------------------'
More information about the buildroot
mailing list