mpd.mk 7.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367
  1. ################################################################################
  2. #
  3. # mpd
  4. #
  5. ################################################################################
  6. MPD_VERSION_MAJOR = 0.23
  7. MPD_VERSION = $(MPD_VERSION_MAJOR).14
  8. MPD_SOURCE = mpd-$(MPD_VERSION).tar.xz
  9. MPD_SITE = https://www.musicpd.org/download/mpd/$(MPD_VERSION_MAJOR)
  10. MPD_DEPENDENCIES = host-pkgconf boost fmt
  11. MPD_LICENSE = GPL-2.0+
  12. MPD_LICENSE_FILES = COPYING
  13. # these refer to the FreeBSD PPP daemon
  14. MPD_IGNORE_CVES = CVE-2020-7465 CVE-2020-7466
  15. MPD_SELINUX_MODULES = mpd
  16. MPD_CONF_OPTS = \
  17. -Daudiofile=disabled \
  18. -Ddocumentation=disabled \
  19. -Dopenmpt=disabled \
  20. -Dpipewire=disabled \
  21. -Dsnapcast=false
  22. # Zeroconf support depends on libdns_sd from avahi.
  23. ifeq ($(BR2_PACKAGE_MPD_AVAHI_SUPPORT),y)
  24. MPD_DEPENDENCIES += avahi
  25. MPD_CONF_OPTS += -Dzeroconf=avahi
  26. else
  27. MPD_CONF_OPTS += -Dzeroconf=disabled
  28. endif
  29. ifeq ($(BR2_PACKAGE_EXPAT),y)
  30. MPD_DEPENDENCIES += expat
  31. MPD_CONF_OPTS += -Dexpat=enabled
  32. else
  33. MPD_CONF_OPTS += -Dexpat=disabled
  34. endif
  35. # MPD prefers libicu for utf8 collation instead of libglib2.
  36. ifeq ($(BR2_PACKAGE_ICU),y)
  37. MPD_DEPENDENCIES += icu
  38. MPD_CONF_OPTS += -Dicu=enabled
  39. else
  40. MPD_CONF_OPTS += -Dicu=disabled
  41. endif
  42. ifeq ($(BR2_PACKAGE_YAJL),y)
  43. MPD_DEPENDENCIES += yajl
  44. MPD_CONF_OPTS += -Dyajl=enabled
  45. else
  46. MPD_CONF_OPTS += -Dyajl=disabled
  47. endif
  48. ifeq ($(BR2_PACKAGE_MPD_ALSA),y)
  49. MPD_DEPENDENCIES += alsa-lib
  50. MPD_CONF_OPTS += -Dalsa=enabled
  51. else
  52. MPD_CONF_OPTS += -Dalsa=disabled
  53. endif
  54. ifeq ($(BR2_PACKAGE_MPD_AO),y)
  55. MPD_DEPENDENCIES += libao
  56. MPD_CONF_OPTS += -Dao=enabled
  57. else
  58. MPD_CONF_OPTS += -Dao=disabled
  59. endif
  60. ifeq ($(BR2_PACKAGE_MPD_BZIP2),y)
  61. MPD_DEPENDENCIES += bzip2
  62. MPD_CONF_OPTS += -Dbzip2=enabled
  63. else
  64. MPD_CONF_OPTS += -Dbzip2=disabled
  65. endif
  66. ifeq ($(BR2_PACKAGE_MPD_CDIO_PARANOIA),y)
  67. MPD_DEPENDENCIES += libcdio-paranoia
  68. MPD_CONF_OPTS += -Dcdio_paranoia=enabled
  69. else
  70. MPD_CONF_OPTS += -Dcdio_paranoia=disabled
  71. endif
  72. ifeq ($(BR2_PACKAGE_MPD_CURL),y)
  73. MPD_DEPENDENCIES += libcurl
  74. MPD_CONF_OPTS += -Dcurl=enabled
  75. else
  76. MPD_CONF_OPTS += -Dcurl=disabled
  77. endif
  78. ifeq ($(BR2_PACKAGE_MPD_DSD),y)
  79. MPD_CONF_OPTS += -Ddsd=true
  80. else
  81. MPD_CONF_OPTS += -Ddsd=false
  82. endif
  83. ifeq ($(BR2_PACKAGE_MPD_FAAD2),y)
  84. MPD_DEPENDENCIES += faad2
  85. MPD_CONF_OPTS += -Dfaad=enabled
  86. else
  87. MPD_CONF_OPTS += -Dfaad=disabled
  88. endif
  89. ifeq ($(BR2_PACKAGE_MPD_FFMPEG),y)
  90. MPD_DEPENDENCIES += ffmpeg
  91. MPD_CONF_OPTS += -Dffmpeg=enabled
  92. else
  93. MPD_CONF_OPTS += -Dffmpeg=disabled
  94. endif
  95. ifeq ($(BR2_PACKAGE_MPD_FLAC),y)
  96. MPD_DEPENDENCIES += flac
  97. MPD_CONF_OPTS += -Dflac=enabled
  98. else
  99. MPD_CONF_OPTS += -Dflac=disabled
  100. endif
  101. ifeq ($(BR2_PACKAGE_MPD_FLUIDSYNTH),y)
  102. MPD_DEPENDENCIES += fluidsynth
  103. MPD_CONF_OPTS += -Dfluidsynth=enabled
  104. else
  105. MPD_CONF_OPTS += -Dfluidsynth=disabled
  106. endif
  107. ifeq ($(BR2_PACKAGE_MPD_HTTPD_OUTPUT),y)
  108. MPD_CONF_OPTS += -Dhttpd=true
  109. else
  110. MPD_CONF_OPTS += -Dhttpd=false
  111. endif
  112. ifeq ($(BR2_PACKAGE_MPD_ID3TAG),y)
  113. MPD_DEPENDENCIES += libid3tag
  114. MPD_CONF_OPTS += -Did3tag=enabled
  115. else
  116. MPD_CONF_OPTS += -Did3tag=disabled
  117. endif
  118. ifeq ($(BR2_PACKAGE_MPD_IO_URING),y)
  119. MPD_DEPENDENCIES += liburing
  120. MPD_CONF_OPTS += -Dio_uring=enabled
  121. else
  122. MPD_CONF_OPTS += -Dio_uring=disabled
  123. endif
  124. ifeq ($(BR2_PACKAGE_MPD_JACK2),y)
  125. MPD_DEPENDENCIES += jack2
  126. MPD_CONF_OPTS += -Djack=enabled
  127. else
  128. MPD_CONF_OPTS += -Djack=disabled
  129. endif
  130. ifeq ($(BR2_PACKAGE_MPD_LAME),y)
  131. MPD_DEPENDENCIES += lame
  132. MPD_CONF_OPTS += -Dlame=enabled
  133. else
  134. MPD_CONF_OPTS += -Dlame=disabled
  135. endif
  136. ifeq ($(BR2_PACKAGE_MPD_LIBMPDCLIENT),y)
  137. MPD_DEPENDENCIES += libmpdclient
  138. MPD_CONF_OPTS += -Dlibmpdclient=enabled
  139. else
  140. MPD_CONF_OPTS += -Dlibmpdclient=disabled
  141. endif
  142. ifeq ($(BR2_PACKAGE_MPD_LIBMMS),y)
  143. MPD_DEPENDENCIES += libmms
  144. MPD_CONF_OPTS += -Dmms=enabled
  145. else
  146. MPD_CONF_OPTS += -Dmms=disabled
  147. endif
  148. ifeq ($(BR2_PACKAGE_MPD_LIBNFS),y)
  149. MPD_DEPENDENCIES += libnfs
  150. MPD_CONF_OPTS += -Dnfs=enabled
  151. else
  152. MPD_CONF_OPTS += -Dnfs=disabled
  153. endif
  154. ifeq ($(BR2_PACKAGE_MPD_LIBSMBCLIENT),y)
  155. MPD_DEPENDENCIES += samba4
  156. MPD_CONF_OPTS += -Dsmbclient=enabled
  157. else
  158. MPD_CONF_OPTS += -Dsmbclient=disabled
  159. endif
  160. ifeq ($(BR2_PACKAGE_MPD_LIBSAMPLERATE),y)
  161. MPD_DEPENDENCIES += libsamplerate
  162. MPD_CONF_OPTS += -Dlibsamplerate=enabled
  163. else
  164. MPD_CONF_OPTS += -Dlibsamplerate=disabled
  165. endif
  166. ifeq ($(BR2_PACKAGE_MPD_LIBSNDFILE),y)
  167. MPD_DEPENDENCIES += libsndfile
  168. MPD_CONF_OPTS += -Dsndfile=enabled
  169. else
  170. MPD_CONF_OPTS += -Dsndfile=disabled
  171. endif
  172. ifeq ($(BR2_PACKAGE_MPD_LIBSOXR),y)
  173. MPD_DEPENDENCIES += libsoxr
  174. MPD_CONF_OPTS += -Dsoxr=enabled
  175. else
  176. MPD_CONF_OPTS += -Dsoxr=disabled
  177. endif
  178. ifeq ($(BR2_PACKAGE_MPD_MAD),y)
  179. MPD_DEPENDENCIES += libmad
  180. MPD_CONF_OPTS += -Dmad=enabled
  181. else
  182. MPD_CONF_OPTS += -Dmad=disabled
  183. endif
  184. ifeq ($(BR2_PACKAGE_MPD_MODPLUG),y)
  185. MPD_DEPENDENCIES += libmodplug
  186. MPD_CONF_OPTS += -Dmodplug=enabled
  187. else
  188. MPD_CONF_OPTS += -Dmodplug=disabled
  189. endif
  190. ifeq ($(BR2_PACKAGE_MPD_MPG123),y)
  191. MPD_DEPENDENCIES += mpg123
  192. MPD_CONF_OPTS += -Dmpg123=enabled
  193. else
  194. MPD_CONF_OPTS += -Dmpg123=disabled
  195. endif
  196. ifeq ($(BR2_PACKAGE_MPD_MUSEPACK),y)
  197. MPD_DEPENDENCIES += musepack
  198. MPD_CONF_OPTS += -Dmpcdec=enabled
  199. else
  200. MPD_CONF_OPTS += -Dmpcdec=disabled
  201. endif
  202. ifeq ($(BR2_PACKAGE_MPD_NEIGHBOR_DISCOVERY_SUPPORT),y)
  203. MPD_CONF_OPTS += -Dneighbor=true
  204. else
  205. MPD_CONF_OPTS += -Dneighbor=false
  206. endif
  207. ifeq ($(BR2_PACKAGE_MPD_OPENAL),y)
  208. MPD_DEPENDENCIES += openal
  209. MPD_CONF_OPTS += -Dopenal=enabled
  210. else
  211. MPD_CONF_OPTS += -Dopenal=disabled
  212. endif
  213. ifeq ($(BR2_PACKAGE_MPD_OPUS),y)
  214. MPD_DEPENDENCIES += opus libogg
  215. MPD_CONF_OPTS += -Dopus=enabled
  216. else
  217. MPD_CONF_OPTS += -Dopus=disabled
  218. endif
  219. ifeq ($(BR2_PACKAGE_MPD_OSS),y)
  220. MPD_CONF_OPTS += -Doss=enabled
  221. else
  222. MPD_CONF_OPTS += -Doss=disabled
  223. endif
  224. ifeq ($(BR2_PACKAGE_MPD_PULSEAUDIO),y)
  225. MPD_DEPENDENCIES += pulseaudio
  226. MPD_CONF_OPTS += -Dpulse=enabled
  227. else
  228. MPD_CONF_OPTS += -Dpulse=disabled
  229. endif
  230. ifeq ($(BR2_PACKAGE_MPD_QOBUZ),y)
  231. MPD_DEPENDENCIES += libgcrypt
  232. MPD_CONF_OPTS += -Dqobuz=enabled
  233. else
  234. MPD_CONF_OPTS += -Dqobuz=disabled
  235. endif
  236. ifeq ($(BR2_PACKAGE_MPD_SHOUTCAST),y)
  237. MPD_DEPENDENCIES += libshout
  238. MPD_CONF_OPTS += -Dshout=enabled
  239. else
  240. MPD_CONF_OPTS += -Dshout=disabled
  241. endif
  242. ifeq ($(BR2_PACKAGE_MPD_SIDPLAY),y)
  243. MPD_DEPENDENCIES += libsidplay2
  244. MPD_CONF_OPTS += -Dsidplay=enabled
  245. else
  246. MPD_CONF_OPTS += -Dsidplay=disabled
  247. endif
  248. ifeq ($(BR2_PACKAGE_MPD_SOUNDCLOUD),y)
  249. MPD_CONF_OPTS += -Dsoundcloud=enabled
  250. else
  251. MPD_CONF_OPTS += -Dsoundcloud=disabled
  252. endif
  253. ifeq ($(BR2_PACKAGE_MPD_SQLITE),y)
  254. MPD_DEPENDENCIES += sqlite
  255. MPD_CONF_OPTS += -Dsqlite=enabled
  256. else
  257. MPD_CONF_OPTS += -Dsqlite=disabled
  258. endif
  259. ifeq ($(BR2_PACKAGE_MPD_TCP),y)
  260. MPD_CONF_OPTS += -Dtcp=true
  261. else
  262. MPD_CONF_OPTS += -Dtcp=false
  263. endif
  264. ifeq ($(BR2_PACKAGE_MPD_TREMOR),y)
  265. MPD_DEPENDENCIES += tremor
  266. MPD_CONF_OPTS += -Dtremor=enabled
  267. else
  268. MPD_CONF_OPTS += -Dtremor=disabled
  269. endif
  270. ifeq ($(BR2_PACKAGE_MPD_TWOLAME),y)
  271. MPD_DEPENDENCIES += twolame
  272. MPD_CONF_OPTS += -Dtwolame=enabled
  273. else
  274. MPD_CONF_OPTS += -Dtwolame=disabled
  275. endif
  276. ifeq ($(BR2_PACKAGE_MPD_UPNP_PUPNP),y)
  277. MPD_DEPENDENCIES += \
  278. libupnp
  279. MPD_CONF_OPTS += -Dupnp=pupnp
  280. else ifeq ($(BR2_PACKAGE_MPD_UPNP_NPUPNP),y)
  281. MPD_DEPENDENCIES += \
  282. libnpupnp
  283. MPD_CONF_OPTS += -Dupnp=npupnp
  284. else ifeq ($(BR2_PACKAGE_MPD_UPNP_DISABLED),y)
  285. MPD_CONF_OPTS += -Dupnp=disabled
  286. endif
  287. ifeq ($(BR2_PACKAGE_MPD_VORBIS),y)
  288. MPD_DEPENDENCIES += libvorbis
  289. MPD_CONF_OPTS += -Dvorbis=enabled -Dvorbisenc=enabled
  290. else
  291. MPD_CONF_OPTS += -Dvorbis=disabled -Dvorbisenc=disabled
  292. endif
  293. ifeq ($(BR2_PACKAGE_MPD_WAVPACK),y)
  294. MPD_DEPENDENCIES += wavpack
  295. MPD_CONF_OPTS += -Dwavpack=enabled
  296. else
  297. MPD_CONF_OPTS += -Dwavpack=disabled
  298. endif
  299. ifeq ($(BR2_PACKAGE_MPD_ZZIP),y)
  300. MPD_DEPENDENCIES += zziplib
  301. MPD_CONF_OPTS += -Dzzip=enabled
  302. else
  303. MPD_CONF_OPTS += -Dzzip=disabled
  304. endif
  305. define MPD_INSTALL_EXTRA_FILES
  306. $(INSTALL) -m 0644 -D package/mpd/mpd.conf $(TARGET_DIR)/etc/mpd.conf
  307. mkdir -p $(TARGET_DIR)/var/lib/mpd/music
  308. mkdir -p $(TARGET_DIR)/var/lib/mpd/playlists
  309. endef
  310. MPD_POST_INSTALL_TARGET_HOOKS += MPD_INSTALL_EXTRA_FILES
  311. define MPD_INSTALL_INIT_SYSV
  312. $(INSTALL) -m 0755 -D package/mpd/S95mpd \
  313. $(TARGET_DIR)/etc/init.d/S95mpd
  314. endef
  315. $(eval $(meson-package))