From 526520eaa4d1a05daec60fa2e07b1ab56b8dc8fd Mon Sep 17 00:00:00 2001 From: Christian Beier Date: Fri, 28 Nov 2025 20:28:53 +0100 Subject: [PATCH] shairport-sync: enable Airplay 2 for -openssl only https://github.com/mikebrady/shairport-sync/blob/master/ CONFIGURATION%20FLAGS.md#cryptography states that only the OpenSSL cryptography backend is suitable for Airplay 2. Further investigation revealed that the pair_ap module within shairport-sync, which is needed for Airplay 2, does not have an Mbed TLS backend. Accordingly, this commit enables Airplay 2 only for the OpenSSL build. This has the nice side effect that for Airplay 1 the -mini or -mbedtls versions can be used without pulling in 6 MB of ffmepg libs. Signed-off-by: Christian Beier --- sound/shairport-sync/Makefile | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/sound/shairport-sync/Makefile b/sound/shairport-sync/Makefile index ce9b3f5897..aeeb453b4e 100644 --- a/sound/shairport-sync/Makefile +++ b/sound/shairport-sync/Makefile @@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=shairport-sync PKG_VERSION:=4.3.6 -PKG_RELEASE:=2 +PKG_RELEASE:=3 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://codeload.github.com/mikebrady/shairport-sync/tar.gz/$(PKG_VERSION)? @@ -29,7 +29,7 @@ define Package/shairport-sync/default SECTION:=sound CATEGORY:=Sound TITLE:=AirPlay compatible audio player - DEPENDS:=@AUDIO_SUPPORT +libpthread +alsa-lib +libconfig +libdaemon +libpopt +libplist +libsodium +libgcrypt +libffmpeg-full +libuuid +nqptp +libmosquitto + DEPENDS:=@AUDIO_SUPPORT +libpthread +alsa-lib +libconfig +libdaemon +libpopt +libmosquitto PROVIDES:=shairport-sync URL:=https://github.com/mikebrady/shairport-sync endef @@ -37,7 +37,7 @@ endef define Package/shairport-sync-openssl $(Package/shairport-sync/default) TITLE+= (openssl) - DEPENDS+= +libopenssl +libavahi-client +libsoxr + DEPENDS+= +libopenssl +libavahi-client +libsoxr +libplist +libsodium +libgcrypt +libffmpeg-full +libuuid +nqptp VARIANT:=openssl endef @@ -73,18 +73,28 @@ define Package/shairport-sync-mini/description $(Package/shairport-sync/default/description) Minimal version uses mbed TLS and does not include libsoxr and avahi support. + Only supports classic AirPlay aka AirPlay 1. Please note that the minimal + version does not make use of the FFmpeg ALAC decoder that fixes some security + issues in the original decoder. +endef + +define Package/shairport-sync-mbedtls/description + $(Package/shairport-sync/default/description) + + mbed TLS version only supports classic AirPlay aka AirPlay 1. Please note that + the mbed TLS version does not make use of the FFmpeg ALAC decoder that fixes + some security issues in the original decoder. endef CONFIGURE_ARGS += \ --with-alsa \ --with-libdaemon \ - --with-airplay-2 \ --with-pipe \ --with-mqtt-client \ --with-metadata ifeq ($(BUILD_VARIANT),openssl) - CONFIGURE_ARGS+= --with-ssl=openssl + CONFIGURE_ARGS+= --with-ssl=openssl --with-airplay-2 endif ifeq ($(BUILD_VARIANT),mbedtls)