shairport-sync: enable Airplay 2 for -openssl only
authorChristian Beier <info@christianbeier.net>
Fri, 28 Nov 2025 19:28:53 +0000 (20:28 +0100)
committerHannu Nyman <hannu.nyman@iki.fi>
Thu, 18 Dec 2025 15:47:18 +0000 (16:47 +0100)
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 <info@christianbeier.net>
sound/shairport-sync/Makefile

index ce9b3f58972ece88bac8a77127df4e2c67ea7cac..aeeb453b4e7140e5eeaf696e123e70263a5dd25f 100644 (file)
@@ -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)