From b31170a4d981139ac41dfffe925e4a82dec480b9 Mon Sep 17 00:00:00 2001 From: Szabolcs Hubai Date: Thu, 18 Apr 2024 00:23:26 +0200 Subject: [PATCH] snapcast: add package snapserver and snapclient Snapcast [1] is a multiroom client-server audio player, where all clients are time synchronized with the server to play perfectly synced audio. It's not a standalone player, but an extension that turns your existing audio player into a Sonos-like multiroom solution. Audio is captured by the server and routed to the connected clients. Several players can feed audio to the server in parallel and clients can be grouped to play the same audio stream. One of the most generic ways to use Snapcast is in conjunction with the music player daemon (MPD) [1] or Mopidy [2]. [1]: https://github.com/badaix/snapcast [2]: http://www.musicpd.org/ [3]: https://www.mopidy.com/ Fixes: #23924 Signed-off-by: Szabolcs Hubai --- sound/snapcast/Makefile | 43 +++++++++++++++++++++++++---------------- 1 file changed, 26 insertions(+), 17 deletions(-) diff --git a/sound/snapcast/Makefile b/sound/snapcast/Makefile index a7c229176563bb..1d2f3c0e8c0cbd 100644 --- a/sound/snapcast/Makefile +++ b/sound/snapcast/Makefile @@ -1,22 +1,22 @@ -# -# Copyright (C) 2015 OpenWrt.org -# -# This is free software, licensed under the GNU General Public License v2. -# See /LICENSE for more information. -# +# SPDX-License-Identifier: GPL-2.0-or-later include $(TOPDIR)/rules.mk -PKG_NAME := snapcast -PKG_VERSION := 0.27.0 -PKG_RELEASE := $(PKG_SOURCE_VERSION) -PKG_USE_MIPS16 := 0 +PKG_NAME:=snapcast +BASE_VERSION:=0.28.0 +PKG_SOURCE_DATE:=2024-04-15 +PKG_SOURCE_VERSION:=5fa01b8a49d842ed368138ee071cdf1c34be7a64 +PKG_RELEASE:=1 -# PKG_MIRROR_HASH=skip PKG_SOURCE_PROTO:=git PKG_SOURCE_URL:=https://github.com/badaix/snapcast.git -PKG_SOURCE_VERSION:=v0.27.0 -PKG_BUILD_DIR:=$(BUILD_DIR)/snapcast-$(PKG_VERSION) +PKG_MIRROR_HASH=skip + +PKG_VERSION:=$(BASE_VERSION).$(subst -,.,$(PKG_SOURCE_DATE))~$(call version_abbrev,$(PKG_SOURCE_VERSION)) + +PKG_LICENSE:=GPL-3.0-or-later +PKG_LICENSE_FILES:=LICENSE +PKG_BUILD_PARALLEL:=1 include $(INCLUDE_DIR)/package.mk include $(INCLUDE_DIR)/cmake.mk @@ -50,14 +50,14 @@ endef define Package/snapserver $(call Package/snapcast/Default) TITLE += Snapserver - DEPENDS += +AUDIO_SUPPORT:alsa-lib +libvorbis +libsoxr + DEPENDS += +libvorbis HIDDEN := 1 endef define Package/snapclient $(call Package/snapcast/Default) TILE += Snapclient - DEPENDS += +libvorbisidec +libsoxr + DEPENDS += +libvorbisidec HIDDEN := 1 endef @@ -89,6 +89,15 @@ define Package/snapcast/config endmenu endef +define Package/snapserver/conffiles +/etc/default/snapserver +/etc/snapserver.conf +endef + +define Package/snapclient/conffiles +/etc/default/snapclient +endef + define Package/snapcast/Default/install true endef @@ -99,7 +108,7 @@ define Package/snapserver/install $(INSTALL_DIR) $(1)/etc/init.d $(INSTALL_BIN) ./files/snapserver.init $(1)/etc/init.d/snapserver $(INSTALL_DIR) $(1)/etc/default - $(INSTALL_BIN) $(CURDIR)/../../debian/snapserver.default $(1)/etc/default/snapserver + $(INSTALL_BIN) $(PKG_BUILD_DIR)/extras/package/debian/snapserver.default $(1)/etc/default/snapserver $(INSTALL_BIN) $(PKG_BUILD_DIR)/server/etc/snapserver.conf $(1)/etc/snapserver.conf endef @@ -109,7 +118,7 @@ define Package/snapclient/install $(INSTALL_DIR) $(1)/etc/init.d $(INSTALL_BIN) ./files/snapclient.init $(1)/etc/init.d/snapclient $(INSTALL_DIR) $(1)/etc/default - $(INSTALL_BIN) $(CURDIR)/../../debian/snapclient.default $(1)/etc/default/snapclient + $(INSTALL_BIN) $(PKG_BUILD_DIR)/extras/package/debian/snapclient.default $(1)/etc/default/snapclient endef $(eval $(call BuildPackage,snapserver))