Import audio/musicpd version 0.17.2_1
[dports.git] / audio / musicpd / Makefile
1 # $FreeBSD: ports/audio/musicpd/Makefile,v 1.88 2012/11/18 14:37:58 svnexp Exp $
2
3 PORTNAME=       musicpd
4 PORTVERSION=    0.17.2
5 PORTREVISION=   1
6 CATEGORIES=     audio ipv6
7 MASTER_SITES=   SF/${PORTNAME}/mpd/${PORTVERSION}
8 DISTNAME=       mpd-${PORTVERSION}
9
10 MAINTAINER=     crees@FreeBSD.org
11 COMMENT=        A remote-controllable music daemon
12
13 LIB_DEPENDS+=   mad.2:${PORTSDIR}/audio/libmad \
14                 curl.6:${PORTSDIR}/ftp/curl
15
16 LICENSE=        GPLv2
17
18 USE_STAGE=      yes
19 USE_GMAKE=      yes
20 USE_BZIP2=      yes
21 GNU_CONFIGURE=  yes
22 USE_GNOME=      glib20
23
24 USE_RC_SUBR=    ${PORTNAME}
25 CPPFLAGS+=      -I${LOCALBASE}/include
26 LDFLAGS+=       -L${LOCALBASE}/lib
27
28 CFLAGS+=        -I${PREFIX}/include
29
30 MAN1=           ${PORTNAME}.1
31 MAN5=           ${MPDCONF}.5
32
33 DOCSDIR?=       ${PREFIX}/share/doc/musicpd
34 PORTDOCS=       AUTHORS README COPYING NEWS UPGRADING
35
36 SUB_FILES=      pkg-message
37
38 OPTIONS_DEFINE= ID3TAG IPV6 AVAHI FLAC VORBIS WAV FFMPEG TREMOR AAC \
39                 MUSEPACK MIKMOD MODPLUG ARCHIVE MMS LASTFM AO PULSEAUDIO \
40                 JACK SHOUTCAST SNDFILE LAME HTTPD SAMPLERATE CUE
41
42 OPTIONS_DEFAULT=ID3TAG IPV6 FLAC VORBIS WAV FFMPEG SNDFILE 
43 LAME_DESC=      Support for MP3 Icecast Streams
44
45 MPDDIR?=        /var/mpd
46 MPDUSER?=       mpd
47 MPDGROUP?=      mpd
48 MPDCONF?=       musicpd.conf
49
50 USERS=  ${MPDUSER}
51 GROUPS= ${MPDGROUP}
52
53 PLIST_SUB=      MPDCONF=${MPDCONF} \
54                 MPDUSER=${MPDUSER} \
55                 MPDDIR=${MPDDIR}   \
56                 MPDGROUP=${MPDGROUP}
57 SUB_LIST+=      MPDDIR=${MPDDIR} \
58                 MPDCONF=${MPDCONF}
59
60 .include <bsd.port.options.mk>
61
62 .if ${PORT_OPTIONS:MFLAC}
63 LIB_DEPENDS+=   FLAC.10:${PORTSDIR}/audio/flac
64 .else
65 CONFIGURE_ARGS+=--disable-flac \
66                 --disable-oggflac
67 .endif
68
69 .if ${PORT_OPTIONS:MVORBIS}
70 LIB_DEPENDS+=   vorbis.4:${PORTSDIR}/audio/libvorbis
71 .else
72 CONFIGURE_ARGS+=--disable-vorbis
73 .endif
74
75 .if ${PORT_OPTIONS:MTREMOR}
76 CONFIGURE_ARGS+=--with-tremor
77 LIB_DEPENDS+=   vorbisidec.1:${PORTSDIR}/audio/libtremor
78 .endif
79
80 .if ${PORT_OPTIONS:MAAC}
81 LIB_DEPENDS+=   faad.2:${PORTSDIR}/audio/faad
82 .else
83 CONFIGURE_ARGS+=--disable-aac
84 .endif
85
86 .if ${PORT_OPTIONS:MLAME}
87 CONFIGURE_ARGS+=--enable-lame-encoder
88 LIB_DEPENDS+=   mp3lame.0:${PORTSDIR}/audio/lame
89 .else
90 CONFIGURE_ARGS+=--disable-lame-encoder
91 .endif
92
93 .if ${PORT_OPTIONS:MHTTPD}
94 CONFIGURE_ARGS+=--enable-httpd-output
95 .else
96 CONFIGURE_ARGS+=--disable-httpd-output
97 .endif
98
99 .if ${PORT_OPTIONS:MWAV}
100 LIB_DEPENDS+=   audiofile.0:${PORTSDIR}/audio/libaudiofile
101 .else
102 CONFIGURE_ARGS+=--disable-audiofile
103 .endif
104
105 .if ${PORT_OPTIONS:MMUSEPACK}
106 LIB_DEPENDS+=   mpcdec.7:${PORTSDIR}/audio/musepack
107 .else
108 CONFIGURE_ARGS+=--disable-mpc
109 .endif
110
111 .if ${PORT_OPTIONS:MMIKMOD}
112 LIB_DEPENDS+=   mikmod.2:${PORTSDIR}/audio/libmikmod
113 CONFIGURE_ARGS+=--enable-mikmod
114 .else
115 CONFIGURE_ARGS+=--disable-mikmod
116 .endif
117
118 .if ${PORT_OPTIONS:MMODPLUG}
119 LIB_DEPENDS+=   modplug.1:${PORTSDIR}/audio/libmodplug
120 CONFIGURE_ARGS+=--enable-modplug
121 .else
122 CONFIGURE_ARGS+=--disable-modplug
123 .endif
124
125 .if ${PORT_OPTIONS:MARCHIVE}
126 CONFIGURE_ARGS+=--enable-bzip2 \
127                 --enable-zip \
128                 --enable-iso9660
129 LIB_DEPENDS+=   zzip.13:${PORTSDIR}/devel/zziplib \
130                 iso9660.8:${PORTSDIR}/sysutils/libcdio
131 .endif
132
133 .if ${PORT_OPTIONS:MFFMPEG}
134 LIB_DEPENDS+=   avcodec.1:${PORTSDIR}/multimedia/ffmpeg \
135                 avformat:${PORTSDIR}/multimedia/ffmpeg \
136                 avutil.1:${PORTSDIR}/multimedia/ffmpeg
137 .else
138 CONFIGURE_ARGS+=--disable-ffmpeg
139 .endif
140
141 .if ${PORT_OPTIONS:MLASTFM}
142 CONFIGURE_ARGS+=--enable-lastfm
143 .else
144 CONFIGURE_ARGS+=--disable-lastfm
145 .endif
146
147 .if ${PORT_OPTIONS:MMMS}
148 CONFIGURE_ARGS+=--enable-mms
149 LIB_DEPENDS+=   mms.0:${PORTSDIR}/net/libmms
150 .else
151 CONFIGURE_ARGS+=--disable-mms
152 .endif
153
154 .if ${PORT_OPTIONS:MID3TAG}
155 LIB_DEPENDS+=   id3tag.0:${PORTSDIR}/audio/libid3tag
156 .else
157 CONFIGURE_ARGS+=--disable-id3
158 .endif
159
160 .if empty(PORT_OPTIONS:MIPV6)
161 CONFIGURE_ARGS+=--disable-ipv6
162 .endif
163
164 .if ${PORT_OPTIONS:MAVAHI}
165 CONFIGURE_ARGS+=--with-zeroconf=avahi
166 LIB_DEPENDS+=   avahi-client.3:${PORTSDIR}/net/avahi-app
167 .else
168 CONFIGURE_ARGS+=--with-zeroconf=no
169 .endif
170
171 .if ${PORT_OPTIONS:MAO}
172 CONFIGURE_ARGS+=--enable-ao
173 LIB_DEPENDS+=   ao.4:${PORTSDIR}/audio/libao
174 .else
175 CONFIGURE_ARGS+=--disable-ao
176 .endif
177
178 .if ${PORT_OPTIONS:MPULSEAUDIO}
179 LIB_DEPENDS+=   pulse.0:${PORTSDIR}/audio/pulseaudio
180 .else
181 CONFIGURE_ARGS+=--disable-pulse
182 .endif
183
184 .if ${PORT_OPTIONS:MJACK}
185 LIB_DEPENDS+=   jack.0:${PORTSDIR}/audio/jack
186 .else
187 CONFIGURE_ARGS+=--disable-jack
188 .endif
189
190 # libshout streaming support will be disabled by configure script when built
191 # also with tremor since the latter does not support vorbis encoding
192 .if ${PORT_OPTIONS:MSHOUTCAST}
193 .  if ${PORT_OPTIONS:MTREMOR}
194 IGNORE=         shoutcast and tremor do not coexist; use vorbis instead
195 .  endif
196 LIB_DEPENDS+=   shout.5:${PORTSDIR}/audio/libshout2
197 CONFIGURE_ARGS+=--enable-vorbis-encoder \
198                 --enable-shout
199 .else
200 CONFIGURE_ARGS+=--disable-shout
201 .endif
202
203 .if ${PORT_OPTIONS:MSNDFILE}
204 LIB_DEPENDS+=   sndfile.1:${PORTSDIR}/audio/libsndfile
205 CONFIGURE_ARGS+=        --enable-sndfile
206 .else
207 CONFIGURE_ARGS+=        --disable-sndfile
208 .endif
209
210 .if ${PORT_OPTIONS:MSAMPLERATE}
211 LIB_DEPENDS+=   samplerate.1:${PORTSDIR}/audio/libsamplerate
212 CONFIGURE_ARGS+=--enable-lsr
213 .else
214 CONFIGURE_ARGS+=--disable-lsr
215 .endif
216
217 .if ${PORT_OPTIONS:MCUE}
218 CONFIGURE_ARGS+=--enable-cue
219 LIB_DEPENDS+=   cue:${PORTSDIR}/textproc/libcue
220 .else
221 CONFIGURE_ARGS+=--disable-cue
222 .endif
223
224 .if ${MPDCONF} != musicpd.conf
225 pre-everything::
226         @${ECHO_MSG} "Looks as though you're using a non-default value for MPDCONF."
227         @${ECHO_MSG} "This is deprecated, and some time in the near future the only value permissible"
228         @${ECHO_MSG} "for MPDCONF will be the default; musicpd.conf."
229         @${ECHO_MSG} -n "Continuing in "
230         @for s in 5 4 3 2 1 ; do ${ECHO_MSG} -n "$$s... " && sleep 1 ; done
231         @${ECHO_MSG} ""
232 .endif
233
234 post-patch:
235 # Replace ~/ with MPDDIR and make musicpd run as mpd by default
236         @${REINPLACE_CMD} -e 's,^#\([^"]*"\)~/,\1${MPDDIR}/,g' \
237                 -e 's,^#\(user[^"]*"\)nobody,\1${MPDUSER},g' \
238                 ${WRKSRC}/doc/mpdconf.example
239 # Fix man pages for executable names
240         @${REINPLACE_CMD} -e 's/^\(\.B m\)pd/\1usicpd/' \
241                 -e 's#^\(\.BI \)/etc/mpd.conf#\1${PREFIX}/etc/${MPDCONF}#' \
242                 -e 's#^mpd.conf#${MPDCONF}#' \
243                 -e 's#^mpd(1)#musicpd(1)#' \
244                 ${WRKSRC}/doc/mpd.1 ${WRKSRC}/doc/mpd.conf.5
245 .if (${OSVERSION} < 800000)
246         ${REINPLACE_CMD} -e 's/nan[f]*(\"\")/NAN/g' \
247                 ${WRKSRC}/src/crossfade.c \
248                 ${WRKSRC}/src/player_thread.c \
249                 ${WRKSRC}/src/player_control.c
250 .endif
251
252 do-install:
253         @${INSTALL_PROGRAM} ${WRKSRC}/src/mpd ${PREFIX}/bin/${PORTNAME}
254         @${INSTALL_MAN} ${WRKSRC}/doc/mpd.1 ${MAN1PREFIX}/man/man1/${PORTNAME}.1
255         @${INSTALL_MAN} ${WRKSRC}/doc/mpd.conf.5 \
256                 ${MAN5PREFIX}/man/man5/${MPDCONF}.5
257 .if ${PORT_OPTIONS:MDOCS}
258         @${MKDIR} ${DOCSDIR}
259 .   for doc in ${PORTDOCS}
260         @${INSTALL_DATA} ${WRKSRC}/${doc} ${DOCSDIR}/
261 .   endfor
262 .endif
263
264 post-install:
265         @${INSTALL_DATA} ${WRKSRC}/doc/mpdconf.example ${PREFIX}/etc/${MPDCONF}.sample
266         @if [ ! -f ${PREFIX}/etc/${MPDCONF} ]; then \
267                 ${CP} -p ${PREFIX}/etc/${MPDCONF}.sample \
268                         ${PREFIX}/etc/${MPDCONF} ; \
269         fi
270         @${MKDIR} ${MPDDIR}
271         @${INSTALL} -d -o ${MPDUSER} -g ${MPDGROUP} ${MPDDIR}
272         @${ECHO_MSG}
273         @${CAT} ${PKGMESSAGE}
274         @${ECHO_MSG}
275
276 .include <bsd.port.mk>