From 07991d7ea6025749984246258ea40d0870ef921a Mon Sep 17 00:00:00 2001 From: "Dustin C. Hatch" Date: Tue, 2 Sep 2025 17:17:24 -0500 Subject: [PATCH] Install shairport-sync `shairport-sync` provides the AirPlay functionality for _airplaypi_. --- airplaypi_defconfig.in | 7 +++++++ .../systemd/system-preset/50-airplaypi.preset | 1 + .../lib/systemd/system/shairport-sync.service | 21 +++++++++++++++++++ 3 files changed, 29 insertions(+) create mode 100644 rootfs-overlay/usr/lib/systemd/system/shairport-sync.service diff --git a/airplaypi_defconfig.in b/airplaypi_defconfig.in index 743aaf3..fc5d2ed 100644 --- a/airplaypi_defconfig.in +++ b/airplaypi_defconfig.in @@ -2,6 +2,7 @@ BR2_arm=y BR2_cortex_a53=y BR2_ARM_FPU_NEON_VFPV4=y BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_12=y +BR2_TOOLCHAIN_BUILDROOT_CXX=y BR2_GLOBAL_PATCH_DIR="board/raspberrypi/patches" BR2_DOWNLOAD_FORCE_CHECK_HASHES=y BR2_TARGET_GENERIC_HOSTNAME="airplaypi" @@ -26,10 +27,16 @@ BR2_PACKAGE_RPI_FIRMWARE_BOOTCODE_BIN=y BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI=y BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE="$(BR2_EXTERNAL_AIMEEOS_PATH)/board/raspberrypi3/config.txt" BR2_PACKAGE_RPI_FIRMWARE_CMDLINE_FILE="$(BR2_EXTERNAL_AIMEEOS_PATH)/board/raspberrypi3/cmdline.txt" +BR2_PACKAGE_AVAHI=y +# BR2_PACKAGE_AVAHI_AUTOIPD is not set BR2_PACKAGE_IPROUTE2=y BR2_PACKAGE_IWD=y BR2_PACKAGE_OPENSSH=y # BR2_PACKAGE_OPENSSH_CLIENT is not set +BR2_PACKAGE_SHAIRPORT_SYNC=y +BR2_PACKAGE_SHAIRPORT_SYNC_CONVOLUTION=y +BR2_PACKAGE_SHAIRPORT_SYNC_DBUS=y +BR2_PACKAGE_SHAIRPORT_SYNC_LIBSOXR=y # BR2_TARGET_ROOTFS_TAR is not set BR2_TARGET_UBOOT_BOARD_DEFCONFIG="rpi_3_32b" BR2_PACKAGE_HOST_KMOD_XZ=y diff --git a/rootfs-overlay/usr/lib/systemd/system-preset/50-airplaypi.preset b/rootfs-overlay/usr/lib/systemd/system-preset/50-airplaypi.preset index c60a43c..3666c2d 100644 --- a/rootfs-overlay/usr/lib/systemd/system-preset/50-airplaypi.preset +++ b/rootfs-overlay/usr/lib/systemd/system-preset/50-airplaypi.preset @@ -1 +1,2 @@ enable root-shell@.service ttyAMA0 +enable shairport-sync.service diff --git a/rootfs-overlay/usr/lib/systemd/system/shairport-sync.service b/rootfs-overlay/usr/lib/systemd/system/shairport-sync.service new file mode 100644 index 0000000..6f59b84 --- /dev/null +++ b/rootfs-overlay/usr/lib/systemd/system/shairport-sync.service @@ -0,0 +1,21 @@ +[Unit] +Description=Shairport Sync - AirPlay Audio Receiver +Documentation=man:shairport-sync(7) +Documentation=file:///usr/share/doc/shairport-sync/README.md.gz +Documentation=https://github.com/mikebrady/shairport-sync +After=sound.target +Requires=avahi-daemon.service +After=avahi-daemon.service +Wants=network-online.target +After=network.target network-online.target + +[Service] +Type=simple +Restart=on-failure +ExecStart=/usr/bin/shairport-sync +DynamicUser=true +User=shairport-sync +Group=shairport-sync + +[Install] +WantedBy=multi-user.target