mirror of
https://github.com/novatiq/packages.git
synced 2026-04-28 14:48:39 +01:00
95dedb70f6
.. because it's confusing and doesn't seem to add any value. The "auto configuration" looks for installed codec libraries and tells squeezelite (through command line arguments) to exclude codec support if a required library is missing. If you have installed squeezelite-full, then all required codec libraries are automatically installed as dependencies and the squeezelite binary won't even run if there are missing libraries - ie the "auto configuration" will always find all codecs and never disable any codecs. Toggling "auto configuration" makes no difference and the setting is just confusing. If you install squeezelite-mini the "auto configuration" can work, but library checks are already done by dlopen() calls in squeezelite and codecs are disabled if the necessary libraries are not found - ie the "auto configuration" duplicates the library checks of squeezelite itself. Signed-off-by: Robert Högberg <robert.hogberg@gmail.com>
142 lines
3.8 KiB
Makefile
142 lines
3.8 KiB
Makefile
#
|
|
# This is free software, licensed under the GNU General Public License v2.
|
|
# See /LICENSE for more information.
|
|
#
|
|
|
|
include $(TOPDIR)/rules.mk
|
|
|
|
PKG_NAME:=squeezelite
|
|
PKG_VERSION:=1.9.1-1130
|
|
PKG_RELEASE:=2
|
|
|
|
PKG_LICENSE:=GPL-3.0
|
|
PKG_LICENSE_FILES:=LICENSE.txt
|
|
PKG_MAINTAINER:=Ted Hess <thess@kitschensync.net>
|
|
|
|
PKG_SOURCE_PROTO:=git
|
|
PKG_SOURCE_URL:=https://github.com/ralph-irving/squeezelite.git
|
|
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
|
|
PKG_SOURCE_VERSION:=451cad8da651073d18118fb9ca39faef550825ff
|
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
|
|
PKG_MIRROR_HASH:=e6082b486e364c8cbd7db96fc06dc5243242a3ac786113e42e3061c06ea8889e
|
|
|
|
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)
|
|
|
|
include $(INCLUDE_DIR)/package.mk
|
|
|
|
define Package/squeezelite/default
|
|
SECTION:=sound
|
|
CATEGORY:=Sound
|
|
TITLE:=Headless squeezebox emulator
|
|
PROVIDES:=squeezelite
|
|
URL:=https://github.com/ralph-irving/squeezelite
|
|
DEPENDS:= +alsa-lib +SQUEEZELITE_RESAMPLE:libsoxr
|
|
MENU:=1
|
|
endef
|
|
|
|
define Package/squeezelite-full
|
|
$(call Package/squeezelite/default)
|
|
TITLE+= (full)
|
|
DEPENDS+= +libflac +libvorbis +libmpg123 +libfaad2 \
|
|
+SQUEEZELITE_WMA:libffmpeg-audio-dec
|
|
VARIANT:=full
|
|
endef
|
|
|
|
define Package/squeezelite-mini
|
|
$(call Package/squeezelite/default)
|
|
TITLE+= (minimal)
|
|
VARIANT:=mini
|
|
endef
|
|
|
|
define Package/squeezelite/config/default
|
|
|
|
config SQUEEZELITE_WMA
|
|
bool "WMA/ALAC decode support"
|
|
help
|
|
Include WMA and ALAC decoding using ffmpeg
|
|
default n
|
|
|
|
config SQUEEZELITE_RESAMPLE
|
|
bool "Resample support"
|
|
help
|
|
Include support for resampling using libsoxr
|
|
default n
|
|
|
|
config SQUEEZELITE_DSD
|
|
bool "DSD playback over PCM (DoP)"
|
|
help
|
|
Include support for DSD over PCM for compatible DAC"
|
|
default n
|
|
endef
|
|
|
|
define Package/squeezelite-full/config
|
|
if PACKAGE_squeezelite-full
|
|
$(call Package/squeezelite/config/default)
|
|
endif
|
|
endef
|
|
|
|
define Package/squeezelite-mini/config
|
|
if PACKAGE_squeezelite-mini
|
|
$(call Package/squeezelite/config/default)
|
|
endif
|
|
endef
|
|
|
|
define Package/squeezelite/description/default
|
|
Squeezelite is a small headless squeezebox emulator for linux using alsa audio output
|
|
It is aimed at supporting high quality audio at multiple sample rates including
|
|
44.1/48/88.2/96/176.4/192k/352.8/384kHz
|
|
Supported codecs: mp3, flac, ogg, aac, (wma and alac via ffmpeg)
|
|
Native support for PCM builtin
|
|
Optional support of DSD playback via PCM for DoP capable DAC
|
|
Optional resampling to match sound device
|
|
endef
|
|
|
|
define Package/squeezelite-full/description
|
|
$(call Package/squeezelite/description/default)
|
|
|
|
This package has all the audio codecs compiled in.
|
|
endef
|
|
|
|
define Package/squeezelite-mini/description
|
|
$(call Package/squeezelite/description/default)
|
|
|
|
This package will dynamically load installed codecs.
|
|
endef
|
|
|
|
ifeq ($(CONFIG_SQUEEZELITE_WMA),y)
|
|
opts+= -DFFMPEG
|
|
endif
|
|
|
|
ifeq ($(CONFIG_SQUEEZELITE_DSD),y)
|
|
opts+= -DDSD
|
|
endif
|
|
|
|
ifeq ($(CONFIG_SQUEEZELITE_RESAMPLE),y)
|
|
opts+= -DRESAMPLE
|
|
endif
|
|
|
|
ifeq ($(BUILD_VARIANT),full)
|
|
opts+= -DLINKALL
|
|
endif
|
|
|
|
MAKE_FLAGS+=OPTS="$(opts)"
|
|
|
|
# Squeezelite uses functions which are deprecated in recent ffmpeg versions.
|
|
# See https://github.com/ralph-irving/squeezelite/issues/60
|
|
TARGET_CFLAGS+=-Wno-deprecated-declarations
|
|
|
|
define Package/squeezelite/install
|
|
$(INSTALL_DIR) $(1)/usr/bin
|
|
$(INSTALL_BIN) $(PKG_BUILD_DIR)/squeezelite $(1)/usr/bin
|
|
$(INSTALL_DIR) $(1)/etc/init.d
|
|
$(INSTALL_BIN) ./files/squeezelite.init $(1)/etc/init.d/squeezelite
|
|
$(INSTALL_DIR) $(1)/etc/config
|
|
$(INSTALL_CONF) ./files/squeezelite.conf $(1)/etc/config/squeezelite
|
|
endef
|
|
|
|
Package/squeezelite-mini/install=$(Package/squeezelite/install)
|
|
Package/squeezelite-full/install=$(Package/squeezelite/install)
|
|
|
|
$(eval $(call BuildPackage,squeezelite-mini))
|
|
$(eval $(call BuildPackage,squeezelite-full))
|