From cbf46ff76cddee3ce06d2483cdd02e573738698d 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/ Signed-off-by: Szabolcs Hubai --- sound/snapcast/Makefile | 44 +++++++++++++++++++++++++---------------- 1 file changed, 27 insertions(+), 17 deletions(-) diff --git a/sound/snapcast/Makefile b/sound/snapcast/Makefile index a7c2291765..f87910d1bc 100644 --- a/sound/snapcast/Makefile +++ b/sound/snapcast/Makefile @@ -1,22 +1,23 @@ -# -# 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=bac3da20899f507e096df96892a4292ecad907fbeb158ddd056a5893ae96a04c + +PKG_VERSION:=$(BASE_VERSION).$(subst -,.,$(PKG_SOURCE_DATE))~$(call version_abbrev,$(PKG_SOURCE_VERSION)) + +PKG_MAINTAINER:= +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 +51,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 +90,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 +109,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 +119,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))