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.
 
 
 
 
 
 

247 lines
5.6 KiB

#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=mpd
PKG_VERSION:=0.23.5
PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=https://www.musicpd.org/download/mpd/0.23
PKG_HASH:=f22c2c25093a05f4566f9cd7207cfbcd8405af67ed29a989bcf8905f80b7a299
PKG_MAINTAINER:=
PKG_LICENSE:=GPL-2.0-or-later
PKG_LICENSE_FILES:=COPYING
PKG_CONFIG_DEPENDS:= \
CONFIG_BUILD_PATENTED \
CONFIG_IPV6 \
PKG_INSTALL:=1
PKG_USE_MIPS16:=0
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/nls.mk
include $(INCLUDE_DIR)/meson.mk
define Package/mpd/Default
SECTION:=sound
CATEGORY:=Sound
TITLE:=Music Player Daemon
URL:=https://www.musicpd.org/
DEPENDS:= +zlib +libcurl +libpthread +libmpdclient +boost $(ICONV_DEPENDS) +libfmt \
+AUDIO_SUPPORT:alsa-lib +libexpat +libflac +libid3tag +libfaad2 +libopus
USERID:=mpd:mpd
endef
define Package/mpd/Default/description
Music Player Daemon (MPD) is a flexible, powerful, server-side
application for playing music. It is typically controlled over a
network using one of it's many clients including mpc (console),
gmpc (gnome), phpmp (php), etc...
endef
define Package/mpd-full
$(call Package/mpd/Default)
TITLE+= (full)
DEPENDS+= +AUDIO_SUPPORT:pulseaudio-daemon +libvorbis +libmms +libnpupnp +libshout +yajl \
+libffmpeg +lame-lib +libsoxr +!BUILD_PATENTED:libmad
PROVIDES:=mpd
VARIANT:=full
endef
define Package/mpd-full/description
$(call Package/mpd/Default/description)
.
This package contains a full-blown Music Player Daemon.
endef
define Package/mpd-full/conffiles
/etc/mpd.conf
endef
define Package/mpd-mini
$(call Package/mpd/Default)
TITLE+= (mini)
DEPENDS+= +libmad +libvorbisidec
PROVIDES:=mpd
VARIANT:=mini
endef
define Package/mpd-mini/description
$(call Package/mpd/Default/description)
.
This package contains a minimal Music Player Daemon, with support for
only FLAC, AAC, MP3 & OGG media types & only file: & http: protocols.
endef
define Package/mpd-mini/conffiles
/etc/mpd.conf
endef
define Package/mpd-avahi-service
$(call Package/mpd/Default)
TITLE+= (Avahi service)
DEPENDS+=+avahi-dbus-daemon
endef
define Package/mpd-avahi-service/description
$(call Package/mpd/Default/description)
.
This package contains the service definition for announcing the
Music Player Daemon service via mDNS/DNS-SD.
endef
define Package/mpd-avahi-service/conffiles
/etc/avahi/services/mpd.service
endef
MESON_ARGS += \
-Ddocumentation=disabled \
-Dhtml_manual=false \
-Dmanpages=false \
-Dsyslog=enabled \
-Dinotify=true \
-Dio_uring=disabled \
-Ddaemon=false \
-Dsystemd=disabled \
-Dtest=false \
-Dfuzzer=false \
-Depoll=true \
-Deventfd=true \
-Dsignalfd=true \
-Dtcp=true \
-Dipv6=$(if $(CONFIG_IPV6),en,dis)abled \
-Dlocal_socket=true \
-Ddsd=false \
-Ddatabase=true \
-Dlibmpdclient=enabled \
-Dneighbor=false \
-Dudisks=disabled \
-Dwebdav=enabled \
-Dcue=true \
-Dcdio_paranoia=disabled \
-Dcurl=enabled \
-Dnfs=disabled \
-Dsmbclient=disabled \
-Dqobuz=disabled \
-Dbzip2=disabled \
-Diso9660=disabled \
-Dzzip=disabled \
-Did3tag=enabled \
-Dchromaprint=disabled \
-Dadplug=disabled \
-Daudiofile=disabled \
-Dfaad=enabled \
-Dflac=enabled \
-Dfluidsynth=disabled \
-Dgme=disabled \
-Dmikmod=disabled \
-Dmodplug=disabled \
-Dmpcdec=disabled \
-Dmpg123=disabled \
-Dopenmpt=disabled \
-Dopus=enabled \
-Dsidplay=disabled \
-Dsndfile=disabled \
-Dwavpack=disabled \
-Dwildmidi=disabled \
-Dvorbisenc=disabled \
-Dlame=disabled \
-Dtwolame=disabled \
-Dshine=disabled \
-Dwave_encoder=true \
-Dlibsamplerate=disabled \
-Dalsa=$(if $(CONFIG_AUDIO_SUPPORT),en,dis)abled \
-Dao=disabled \
-Dhttpd=true \
-Djack=disabled \
-Dopenal=disabled \
-Doss=disabled \
-Dpipewire=disabled \
-Dsnapcast=false \
-Dsndio=disabled \
-Dsolaris_output=disabled \
-Ddbus=disabled \
-Dexpat=enabled \
-Dicu=disabled \
-Diconv=enabled \
-Dpcre=disabled \
-Dsqlite=disabled \
-Dzlib=enabled \
-Dzeroconf=disabled
ifeq ($(BUILD_VARIANT),full)
MESON_ARGS += \
-Dupnp=npupnp \
-Dmms=enabled \
-Dsoundcloud=enabled \
-Dffmpeg=$(if $(CONFIG_BUILD_PATENTED),en,dis)abled \
-Dmad=$(if $(CONFIG_BUILD_PATENTED),dis,en)abled \
-Dtremor=disabled \
-Dvorbis=enabled \
-Dfifo=true \
-Dpipe=true \
-Dpulse=$(if $(CONFIG_AUDIO_SUPPORT),en,dis)abled \
-Drecorder=true \
-Dshout=enabled \
-Dyajl=enabled \
-Dvorbisenc=enabled \
-Dlame=enabled \
-Dsoxr=enabled
ifeq ($(CONFIG_AUDIO_SUPPORT),y)
TARGET_LDFLAGS += -Wl,-rpath-link=$(STAGING_DIR)/usr/lib/pulseaudio
endif
endif
ifeq ($(BUILD_VARIANT),mini)
# oggflac is not compatible with tremor
MESON_ARGS += \
-Dupnp=disabled \
-Dmms=disabled \
-Dsoundcloud=disabled \
-Dffmpeg=disabled \
-Dmad=enabled \
-Dtremor=enabled \
-Dvorbis=disabled \
-Dfifo=false \
-Dpipe=false \
-Dpulse=disabled \
-Drecorder=false \
-Dshout=disabled \
-Dyajl=disabled \
-Dsoxr=disabled
endif
define Package/mpd/install
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mpd $(1)/usr/bin/
$(INSTALL_DIR) $(1)/etc
$(INSTALL_DATA) $(PKG_BUILD_DIR)/doc/mpdconf.example $(1)/etc/mpd.conf
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_BIN) ./files/mpd.init $(1)/etc/init.d/mpd
endef
define Package/mpd-full/install
$(call Package/mpd/install,$1)
endef
define Package/mpd-mini/install
$(call Package/mpd/install,$1)
endef
define Package/mpd-avahi-service/install
$(INSTALL_DIR) $(1)/etc/avahi/services
$(INSTALL_DATA) ./files/mpd.service $(1)/etc/avahi/services/
endef
$(eval $(call BuildPackage,mpd-full))
$(eval $(call BuildPackage,mpd-mini))
$(eval $(call BuildPackage,mpd-avahi-service))