Merge pull request #16679 from paper42/mutt-2.1.3
[feed/packages.git] / sound / squeezelite / Makefile
1 #
2 # This is free software, licensed under the GNU General Public License v2.
3 # See /LICENSE for more information.
4 #
5
6 include $(TOPDIR)/rules.mk
7
8 PKG_NAME:=squeezelite
9 PKG_VERSION:=1.9.6-1210
10 PKG_RELEASE:=3
11
12 PKG_SOURCE_PROTO:=git
13 PKG_SOURCE_URL:=https://github.com/ralph-irving/squeezelite
14 PKG_SOURCE_VERSION:=1b7a17616cd2bbd9935c710dc33cda11cd0de45e
15 PKG_MIRROR_HASH:=5993fa5fcacd1640962bc60f88a93faa4fcac74a767fbf820b40a27c338a9062
16
17 PKG_MAINTAINER:=Ted Hess <thess@kitschensync.net>
18 PKG_LICENSE:=GPL-3.0-or-later
19 PKG_LICENSE_FILES:=LICENSE.txt
20
21 PKG_BUILD_PARALLEL:=1
22
23 include $(INCLUDE_DIR)/package.mk
24
25 define Package/squeezelite/default
26 SECTION:=sound
27 CATEGORY:=Sound
28 TITLE:=Headless squeezebox emulator
29 PROVIDES:=squeezelite
30 URL:=https://github.com/ralph-irving/squeezelite
31 DEPENDS:= +alsa-lib +SQUEEZELITE_RESAMPLE:libsoxr
32 MENU:=1
33 endef
34
35 define Package/squeezelite-full
36 $(call Package/squeezelite/default)
37 TITLE+= (full)
38 DEPENDS+= +libflac +libvorbis +libmpg123 +libfaad2 \
39 +SQUEEZELITE_WMA:libffmpeg-audio-dec
40 VARIANT:=full
41 endef
42
43 define Package/squeezelite-mini
44 $(call Package/squeezelite/default)
45 TITLE+= (minimal)
46 VARIANT:=mini
47 endef
48
49 define Package/squeezelite/config/default
50
51 config SQUEEZELITE_WMA
52 bool "WMA/ALAC decode support"
53 depends on BUILD_PATENTED
54 help
55 Include WMA and ALAC decoding using ffmpeg
56 default n
57
58 config SQUEEZELITE_RESAMPLE
59 bool "Resample support"
60 help
61 Include support for resampling using libsoxr
62 default n
63
64 config SQUEEZELITE_DSD
65 bool "DSD playback over PCM (DoP)"
66 help
67 Include support for DSD over PCM for compatible DAC"
68 default n
69 endef
70
71 define Package/squeezelite-full/config
72 if PACKAGE_squeezelite-full
73 $(call Package/squeezelite/config/default)
74 endif
75 endef
76
77 define Package/squeezelite-mini/config
78 if PACKAGE_squeezelite-mini
79 $(call Package/squeezelite/config/default)
80 endif
81 endef
82
83 define Package/squeezelite/description/default
84 Squeezelite is a small headless squeezebox emulator for linux using alsa audio output
85 It is aimed at supporting high quality audio at multiple sample rates including
86 44.1/48/88.2/96/176.4/192k/352.8/384kHz
87 Supported codecs: mp3, flac, ogg, aac, (wma and alac via ffmpeg)
88 Native support for PCM builtin
89 Optional support of DSD playback via PCM for DoP capable DAC
90 Optional resampling to match sound device
91 endef
92
93 define Package/squeezelite-full/description
94 $(call Package/squeezelite/description/default)
95
96 This package has all the audio codecs compiled in.
97 endef
98
99 define Package/squeezelite-mini/description
100 $(call Package/squeezelite/description/default)
101
102 This package will dynamically load installed codecs.
103 endef
104
105 ifeq ($(CONFIG_SQUEEZELITE_WMA),y)
106 opts+= -DFFMPEG
107 endif
108
109 ifeq ($(CONFIG_SQUEEZELITE_DSD),y)
110 opts+= -DDSD
111 endif
112
113 ifeq ($(CONFIG_SQUEEZELITE_RESAMPLE),y)
114 opts+= -DRESAMPLE
115 endif
116
117 ifeq ($(BUILD_VARIANT),full)
118 opts+= -DLINKALL
119 endif
120
121 MAKE_FLAGS+=OPTS="$(opts)"
122
123 define Package/squeezelite/conffiles
124 /etc/config/squeezelite
125 endef
126
127 Package/squeezelite-mini/conffiles = $(Package/squeezelite/conffiles)
128 Package/squeezelite-full/conffiles = $(Package/squeezelite/conffiles)
129
130 define Package/squeezelite/install
131 $(INSTALL_DIR) $(1)/usr/bin
132 $(INSTALL_BIN) $(PKG_BUILD_DIR)/squeezelite $(1)/usr/bin
133 $(INSTALL_DIR) $(1)/etc/init.d
134 $(INSTALL_BIN) ./files/squeezelite.init $(1)/etc/init.d/squeezelite
135 $(INSTALL_DIR) $(1)/etc/config
136 $(INSTALL_CONF) ./files/squeezelite.conf $(1)/etc/config/squeezelite
137 endef
138
139 Package/squeezelite-mini/install=$(Package/squeezelite/install)
140 Package/squeezelite-full/install=$(Package/squeezelite/install)
141
142 $(eval $(call BuildPackage,squeezelite-mini))
143 $(eval $(call BuildPackage,squeezelite-full))