You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

213 lines
4.9 KiB

  1. #
  2. # This is free software, licensed under the GNU General Public License v2.
  3. # See /LICENSE for more information.
  4. #
  5. include $(TOPDIR)/rules.mk
  6. PKG_NAME:=mpd
  7. PKG_VERSION:=0.20.23
  8. PKG_RELEASE:=3
  9. PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
  10. PKG_SOURCE_URL:=http://www.musicpd.org/download/mpd/0.20/
  11. PKG_HASH:=503e5f9f237290f568ff7956ab2f9aed563594bf749f19b8fe994fb21434afea
  12. PKG_MAINTAINER:=Ted Hess <thess@kitschensync.net>
  13. PKG_LICENSE:=GPL-2.0-or-later
  14. PKG_LICENSE_FILES:=COPYING
  15. PKG_BUILD_PARALLEL:=1
  16. PKG_CONFIG_DEPENDS:= \
  17. CONFIG_IPV6 \
  18. PKG_INSTALL:=1
  19. PKG_USE_MIPS16:=0
  20. include $(INCLUDE_DIR)/package.mk
  21. include $(INCLUDE_DIR)/nls.mk
  22. define Package/mpd/Default
  23. SECTION:=sound
  24. CATEGORY:=Sound
  25. TITLE:=Music Player Daemon
  26. URL:=http://www.musicpd.org/
  27. DEPENDS:= +zlib +libcurl +libpthread +libmpdclient +libstdcpp $(ICONV_DEPENDS) \
  28. +AUDIO_SUPPORT:alsa-lib +boost +boost-container +libexpat +libflac
  29. endef
  30. define Package/mpd/Default/description
  31. Music Player Daemon (MPD) is a flexible, powerful, server-side
  32. application for playing music. It is typically controlled over a
  33. network using one of it's many clients including mpc (console),
  34. gmpc (gnome), phpmp (php), etc...
  35. endef
  36. define Package/mpd-full
  37. $(call Package/mpd/Default)
  38. TITLE+= (full)
  39. DEPENDS+= +libffmpeg +libid3tag +libmms +libupnp +libshout +pulseaudio-daemon +yajl
  40. PROVIDES:=mpd
  41. VARIANT:=full
  42. endef
  43. define Package/mpd-full/description
  44. $(call Package/mpd/Default/description)
  45. .
  46. This package contains a full-blown Music Player Daemon.
  47. endef
  48. define Package/mpd-full/conffiles
  49. /etc/mpd.conf
  50. endef
  51. define Package/mpd-mini
  52. $(call Package/mpd/Default)
  53. TITLE+= (mini)
  54. DEPENDS+= +libmpg123 +libvorbisidec
  55. PROVIDES:=mpd
  56. VARIANT:=mini
  57. endef
  58. define Package/mpd-mini/description
  59. $(call Package/mpd/Default/description)
  60. .
  61. This package contains a minimal Music Player Daemon, with support for
  62. only Flac, MP3 & OGG media types & only file: & http: protocols.
  63. endef
  64. define Package/mpd-mini/conffiles
  65. /etc/mpd.conf
  66. endef
  67. define Package/mpd-avahi-service
  68. $(call Package/mpd/Default)
  69. TITLE+= (Avahi service)
  70. DEPENDS+=+avahi-daemon
  71. endef
  72. define Package/mpd-avahi-service/description
  73. $(call Package/mpd/Default/description)
  74. .
  75. This package contains the service definition for announcing the
  76. Music Player Daemon service via mDNS/DNS-SD.
  77. endef
  78. define Package/mpd-avahi-service/conffiles
  79. /etc/avahi/services/mpd.service
  80. endef
  81. EXTRA_LDFLAGS += $(if $(ICONV_FULL),-liconv,-Wl,--whole-archive -liconv -Wl,--no-whole-archive) -Wl,-rpath-link=$(STAGING_DIR)/usr/lib/pulseaudio
  82. CONFIGURE_ARGS += \
  83. $(call autoconf_bool,CONFIG_IPV6,ipv6) \
  84. --disable-debug \
  85. --disable-documentation \
  86. --disable-test \
  87. --disable-aac \
  88. --disable-adplug \
  89. --disable-ao \
  90. --disable-audiofile \
  91. --disable-bzip2 \
  92. --disable-cdio-paranoia \
  93. --disable-fluidsynth \
  94. --disable-wildmidi \
  95. --disable-gme \
  96. --enable-inotify \
  97. --disable-icu \
  98. --enable-iconv \
  99. --disable-iso9660 \
  100. --disable-jack \
  101. --disable-roar \
  102. --disable-libwrap \
  103. --disable-lsr \
  104. --disable-mad \
  105. --disable-mikmod \
  106. --disable-modplug \
  107. --disable-mpc \
  108. --disable-nfs \
  109. --disable-openal \
  110. --disable-opus \
  111. --disable-sidplay \
  112. --disable-smbclient \
  113. --disable-sndfile \
  114. --disable-solaris-output \
  115. --disable-sqlite \
  116. --disable-systemd-daemon \
  117. --disable-lame-encoder \
  118. --disable-twolame-encoder \
  119. --disable-shine-encoder \
  120. --disable-vorbis-encoder \
  121. --enable-wave-encoder \
  122. --disable-wavpack \
  123. --enable-webdav \
  124. --disable-zzip \
  125. --with-zeroconf=no \
  126. --disable-soxr \
  127. --enable-curl \
  128. --enable-httpd-output \
  129. $(call autoconf_bool,CONFIG_AUDIO_SUPPORT,alsa) \
  130. --enable-tcp \
  131. --disable-sndio \
  132. --disable-haiku
  133. ifeq ($(BUILD_VARIANT),full)
  134. CONFIGURE_ARGS += \
  135. --enable-upnp \
  136. --enable-ffmpeg \
  137. --enable-id3 \
  138. --enable-mms \
  139. --disable-mpg123 \
  140. --enable-pipe-output \
  141. --enable-recorder-output \
  142. --enable-shout \
  143. --enable-pulse \
  144. --disable-vorbis \
  145. --enable-soundcloud
  146. endif
  147. ifeq ($(BUILD_VARIANT),mini)
  148. # oggflac is not compatible with tremor
  149. CONFIGURE_ARGS += \
  150. --disable-upnp \
  151. --disable-fifo \
  152. --disable-ffmpeg \
  153. --disable-id3 \
  154. --disable-mms \
  155. --disable-shout \
  156. --disable-soundcloud \
  157. --disable-pulse \
  158. --enable-vorbis \
  159. --with-tremor=yes \
  160. --disable-recorder-output
  161. endif
  162. define Package/mpd/install
  163. $(INSTALL_DIR) $(1)/usr/bin
  164. $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mpd $(1)/usr/bin/
  165. $(INSTALL_DIR) $(1)/etc
  166. $(INSTALL_CONF) $(PKG_BUILD_DIR)/doc/mpdconf.example $(1)/etc/mpd.conf
  167. $(INSTALL_DIR) $(1)/etc/init.d
  168. $(INSTALL_BIN) ./files/mpd.init $(1)/etc/init.d/mpd
  169. endef
  170. define Package/mpd-full/install
  171. $(call Package/mpd/install,$1)
  172. endef
  173. define Package/mpd-mini/install
  174. $(call Package/mpd/install,$1)
  175. endef
  176. define Package/mpd-avahi-service/install
  177. $(INSTALL_DIR) $(1)/etc/avahi/services
  178. $(INSTALL_DATA) ./files/mpd.service $(1)/etc/avahi/services/
  179. endef
  180. $(eval $(call BuildPackage,mpd-full))
  181. $(eval $(call BuildPackage,mpd-mini))
  182. $(eval $(call BuildPackage,mpd-avahi-service))