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 <szab.hu@gmail.com>
This commit is contained in:
Szabolcs Hubai 2024-04-18 00:23:26 +02:00
parent 79bbef16b1
commit cbf46ff76c
1 changed files with 27 additions and 17 deletions

View File

@ -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))