2 # Copyright (C) 2007-2011 OpenWrt.org
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
8 include $(TOPDIR)/rules.mk
14 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
15 PKG_SOURCE_URL:=http://www.musicpd.org/download/mpd/0.16/
16 PKG_MD5SUM:=b412a9d0b3457bea1bb87904a8f80c04
18 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)
21 PKG_CONFIG_DEPENDS:= \
26 include $(INCLUDE_DIR)/package.mk
27 include $(INCLUDE_DIR)/nls.mk
29 define Package/mpd/Default
32 TITLE:=Music Player Daemon
33 URL:=http://www.musicpd.org/
34 DEPENDS:= +glib2 +libcurl +libpthread \
35 +libflac +BUILD_PATENTED:libmad +libvorbisidec
38 define Package/mpd/Default/description
39 Music Player Daemon (MPD) is a flexible, powerful, server-side
40 application for playing music. It is typically controlled over a
41 network using one of it's many clients including mpc (console),
42 gmpc (gnome), phpmp (php), etc...
46 define Package/mpd-full
47 $(call Package/mpd/Default)
50 +AUDIO_SUPPORT:alsa-lib \
51 +libaudiofile +BUILD_PATENTED:libfaad2 +libffmpeg +libid3tag \
52 +libmms +libogg +libshout +libsndfile +libvorbis
57 define Package/mpd-full/description
58 $(call Package/mpd/Default/description)
60 This package contains a full-blown Music Player Daemon.
63 define Package/mpd-full/conffiles
64 /etc/avahi/services/mpd.service
69 define Package/mpd-mini
70 $(call Package/mpd/Default)
76 define Package/mpd-mini/description
77 $(call Package/mpd/Default/description)
79 This package contains a minimal Music Player Daemon, with support for
80 only Flac, MP3 & OGG media types & only file: & http: protocols.
83 define Package/mpd-mini/conffiles
89 $(call autoconf_bool,CONFIG_IPV6,ipv6) \
91 --disable-documentation \
100 --disable-fluidsynth \
105 --disable-lame-encoder \
116 --disable-solaris-output \
118 --disable-twolame-encoder \
119 --disable-wave-encoder \
127 --enable-httpd-output \
128 $(call autoconf_bool,CONFIG_BUILD_PATENTED,mad) \
129 $(call autoconf_bool,CONFIG_AUDIO_SUPPORT,oss) \
134 FLAC_CFLAGS="$(TARGET_CFLAGS) -I$(STAGING_DIR)/usr/include/FLAC" \
135 FLAC_LIBS="$(TARGET_LDFLAGS) -lFLAC" \
136 $(if $(CONFIG_BUILD_PATENTED),MAD_CFLAGS="$(TARGET_CFLAGS)") \
137 $(if $(CONFIG_BUILD_PATENTED),MAD_LIBS="$(TARGET_LDFLAGS) -lmad") \
139 TARGET_CFLAGS += -std=gnu99
140 TARGET_LDFLAGS += -Wl,-rpath-link=$(STAGING_DIR)/usr/lib
142 # use gcc instead of g++ to avoid unnecessary linking against libstdc++
143 TARGET_CXX:=$(TARGET_CC)
145 ifeq ($(BUILD_VARIANT),full)
148 $(call autoconf_bool,CONFIG_BUILD_PATENTED,aac) \
149 $(call autoconf_bool,CONFIG_AUDIO_SUPPORT,alsa) \
157 --enable-pipe-output \
158 --enable-recorder-output \
162 --enable-vorbis-encoder \
163 --with-faad="$(STAGING_DIR)/usr" \
168 ifeq ($(BUILD_VARIANT),mini)
170 # oggflac is not compatible with tremor
174 --disable-audiofile \
181 --disable-pipe-output \
182 --disable-recorder-output \
186 --disable-vorbis-encoder \
191 define Package/mpd/install
192 $(INSTALL_DIR) $(1)/usr/bin
193 $(CP) $(PKG_INSTALL_DIR)/usr/bin/mpd $(1)/usr/bin/
194 $(INSTALL_DIR) $(1)/etc
195 $(CP) $(PKG_BUILD_DIR)/doc/mpdconf.example $(1)/etc/mpd.conf
196 $(INSTALL_DIR) $(1)/etc/init.d
197 $(INSTALL_BIN) ./files/mpd.init $(1)/etc/init.d/mpd
200 define Package/mpd-full/install
201 $(call Package/mpd/install,$1)
202 $(INSTALL_DIR) $(1)/etc/avahi/services
203 $(INSTALL_DATA) ./files/mpd.service $(1)/etc/avahi/services/
206 define Package/mpd-mini/install
207 $(call Package/mpd/install,$1)
210 $(eval $(call BuildPackage,mpd-full))
211 $(eval $(call BuildPackage,mpd-mini))