Update audio/musicpd to version 0.17.3_1
[dports.git] / audio / musicpd / Makefile
1 # $FreeBSD: audio/musicpd/Makefile 320405 2013-06-09 19:30:58Z naddy $
2
3 PORTNAME=       musicpd
4 PORTVERSION=    0.17.3
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=           ${PORTNAME}.conf.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 FLAC VORBIS WAV FFMPEG TREMOR AAC \
39                 MUSEPACK MIKMOD MODPLUG ARCHIVE MMS LASTFM AO PULSEAUDIO \
40                 JACK SHOUTCAST SNDFILE LAME HTTPD SAMPLERATE CUE
41 OPTIONS_RADIO=  ZEROCONF
42 OPTIONS_RADIO_ZEROCONF= AVAHI MDNSRESPONDER
43
44 OPTIONS_DEFAULT=ID3TAG IPV6 FLAC VORBIS WAV FFMPEG SNDFILE 
45 LAME_DESC=      Support for MP3 Icecast Streams
46
47 MPDDIR?=        /var/mpd
48 MPDUSER?=       mpd
49 MPDGROUP?=      mpd
50
51 USERS=  ${MPDUSER}
52 GROUPS= ${MPDGROUP}
53
54 PLIST_SUB=      MPDUSER=${MPDUSER} \
55                 MPDDIR=${MPDDIR}   \
56                 MPDGROUP=${MPDGROUP}
57 SUB_LIST+=      MPDDIR=${MPDDIR}
58
59 .include <bsd.port.options.mk>
60
61 .ifdef MPDCONF
62 .error Please remove the MPDCONF line from make.conf, then rename ${PREFIX}/etc/${MPDCONF} to musicpd.conf, if it exists
63 .endif
64
65 .include <bsd.port.pre.mk>
66
67 .if exists(${PREFIX}/etc/mpd.conf)
68 MSG=You still have ${PREFIX}/etc/mpd.conf in existence-- this file is no longer used by musicpd.
69 .if !exists(${PREFIX}/etc/musicpd.conf)
70 .error ${MSG}  Move it to ${PREFIX}/etc/musicpd.conf.
71 .else
72 .error ${MSG}  You also have musicpd.conf-- check carefully to see which one you want, and remove mpd.conf.
73 .endif
74 .endif
75
76 .if ${PORT_OPTIONS:MFLAC}
77 LIB_DEPENDS+=   FLAC:${PORTSDIR}/audio/flac
78 .else
79 CONFIGURE_ARGS+=--disable-flac \
80                 --disable-oggflac
81 .endif
82
83 .if ${PORT_OPTIONS:MVORBIS}
84 LIB_DEPENDS+=   vorbis.4:${PORTSDIR}/audio/libvorbis
85 .else
86 CONFIGURE_ARGS+=--disable-vorbis
87 .endif
88
89 .if ${PORT_OPTIONS:MTREMOR}
90 CONFIGURE_ARGS+=--with-tremor
91 LIB_DEPENDS+=   vorbisidec.1:${PORTSDIR}/audio/libtremor
92 .endif
93
94 .if ${PORT_OPTIONS:MAAC}
95 LIB_DEPENDS+=   faad.2:${PORTSDIR}/audio/faad
96 .else
97 CONFIGURE_ARGS+=--disable-aac
98 .endif
99
100 .if ${PORT_OPTIONS:MLAME}
101 CONFIGURE_ARGS+=--enable-lame-encoder
102 LIB_DEPENDS+=   mp3lame.0:${PORTSDIR}/audio/lame
103 .else
104 CONFIGURE_ARGS+=--disable-lame-encoder
105 .endif
106
107 .if ${PORT_OPTIONS:MHTTPD}
108 CONFIGURE_ARGS+=--enable-httpd-output
109 .else
110 CONFIGURE_ARGS+=--disable-httpd-output
111 .endif
112
113 .if ${PORT_OPTIONS:MWAV}
114 LIB_DEPENDS+=   audiofile.0:${PORTSDIR}/audio/libaudiofile
115 .else
116 CONFIGURE_ARGS+=--disable-audiofile
117 .endif
118
119 .if ${PORT_OPTIONS:MMUSEPACK}
120 LIB_DEPENDS+=   mpcdec.7:${PORTSDIR}/audio/musepack
121 .else
122 CONFIGURE_ARGS+=--disable-mpc
123 .endif
124
125 .if ${PORT_OPTIONS:MMIKMOD}
126 LIB_DEPENDS+=   mikmod.2:${PORTSDIR}/audio/libmikmod
127 CONFIGURE_ARGS+=--enable-mikmod
128 .else
129 CONFIGURE_ARGS+=--disable-mikmod
130 .endif
131
132 .if ${PORT_OPTIONS:MMODPLUG}
133 LIB_DEPENDS+=   modplug.1:${PORTSDIR}/audio/libmodplug
134 CONFIGURE_ARGS+=--enable-modplug
135 .else
136 CONFIGURE_ARGS+=--disable-modplug
137 .endif
138
139 .if ${PORT_OPTIONS:MARCHIVE}
140 CONFIGURE_ARGS+=--enable-bzip2 \
141                 --enable-zip \
142                 --enable-iso9660
143 LIB_DEPENDS+=   zzip.13:${PORTSDIR}/devel/zziplib \
144                 iso9660.8:${PORTSDIR}/sysutils/libcdio
145 .endif
146
147 .if ${PORT_OPTIONS:MFFMPEG}
148 LIB_DEPENDS+=   avcodec.1:${PORTSDIR}/multimedia/ffmpeg \
149                 avformat:${PORTSDIR}/multimedia/ffmpeg \
150                 avutil.1:${PORTSDIR}/multimedia/ffmpeg
151 .else
152 CONFIGURE_ARGS+=--disable-ffmpeg
153 .endif
154
155 .if ${PORT_OPTIONS:MLASTFM}
156 CONFIGURE_ARGS+=--enable-lastfm
157 .else
158 CONFIGURE_ARGS+=--disable-lastfm
159 .endif
160
161 .if ${PORT_OPTIONS:MMMS}
162 CONFIGURE_ARGS+=--enable-mms
163 LIB_DEPENDS+=   mms.0:${PORTSDIR}/net/libmms
164 .else
165 CONFIGURE_ARGS+=--disable-mms
166 .endif
167
168 .if ${PORT_OPTIONS:MID3TAG}
169 LIB_DEPENDS+=   id3tag.0:${PORTSDIR}/audio/libid3tag
170 .else
171 CONFIGURE_ARGS+=--disable-id3
172 .endif
173
174 .if empty(PORT_OPTIONS:MIPV6)
175 CONFIGURE_ARGS+=--disable-ipv6
176 .endif
177
178 .if ${PORT_OPTIONS:MAVAHI}
179 CONFIGURE_ARGS+=--with-zeroconf=avahi
180 LIB_DEPENDS+=   avahi-client.3:${PORTSDIR}/net/avahi-app
181 .else
182 CONFIGURE_ARGS+=--with-zeroconf=no
183 .endif
184
185 .if ${PORT_OPTIONS:MMDNSRESPONDER}
186 CONFIGURE_ARGS+=--with-zeroconf=bonjour
187 LIB_DEPENDS+=   dns_sd:${PORTSDIR}/net/mDNSResponder
188 .else
189 CONFIGURE_ARGS+=--with-zeroconf=no
190 .endif
191
192 .if ${PORT_OPTIONS:MAO}
193 CONFIGURE_ARGS+=--enable-ao
194 LIB_DEPENDS+=   ao.4:${PORTSDIR}/audio/libao
195 .else
196 CONFIGURE_ARGS+=--disable-ao
197 .endif
198
199 .if ${PORT_OPTIONS:MPULSEAUDIO}
200 LIB_DEPENDS+=   pulse.0:${PORTSDIR}/audio/pulseaudio
201 .else
202 CONFIGURE_ARGS+=--disable-pulse
203 .endif
204
205 .if ${PORT_OPTIONS:MJACK}
206 LIB_DEPENDS+=   jack.0:${PORTSDIR}/audio/jack
207 .else
208 CONFIGURE_ARGS+=--disable-jack
209 .endif
210
211 # libshout streaming support will be disabled by configure script when built
212 # also with tremor since the latter does not support vorbis encoding
213 .if ${PORT_OPTIONS:MSHOUTCAST}
214 .  if ${PORT_OPTIONS:MTREMOR}
215 IGNORE=         shoutcast and tremor do not coexist; use vorbis instead
216 .  endif
217 LIB_DEPENDS+=   shout.5:${PORTSDIR}/audio/libshout2
218 CONFIGURE_ARGS+=--enable-vorbis-encoder \
219                 --enable-shout
220 .else
221 CONFIGURE_ARGS+=--disable-shout
222 .endif
223
224 .if ${PORT_OPTIONS:MSNDFILE}
225 LIB_DEPENDS+=   sndfile.1:${PORTSDIR}/audio/libsndfile
226 CONFIGURE_ARGS+=        --enable-sndfile
227 .else
228 CONFIGURE_ARGS+=        --disable-sndfile
229 .endif
230
231 .if ${PORT_OPTIONS:MSAMPLERATE}
232 LIB_DEPENDS+=   samplerate.1:${PORTSDIR}/audio/libsamplerate
233 CONFIGURE_ARGS+=--enable-lsr
234 .else
235 CONFIGURE_ARGS+=--disable-lsr
236 .endif
237
238 .if ${PORT_OPTIONS:MCUE}
239 CONFIGURE_ARGS+=--enable-cue
240 LIB_DEPENDS+=   cue:${PORTSDIR}/textproc/libcue
241 .else
242 CONFIGURE_ARGS+=--disable-cue
243 .endif
244
245 post-patch:
246 # Replace ~/ with MPDDIR and make musicpd run as mpd by default
247         @${REINPLACE_CMD} -e 's,^#\([^"]*"\)~/,\1${MPDDIR}/,g' \
248                 -e 's,^#\(user[^"]*"\)nobody,\1${MPDUSER},g' \
249                 ${WRKSRC}/doc/mpdconf.example
250 # Uncomment OSS audio output part from MPDCONF; dragons!
251         start=$$(expr $$(${SED} -n '/^# type    *"oss"/=' \
252                 ${WRKSRC}/doc/mpdconf.example) - 1); \
253          finish=$$(for n in $$(${JOT} 10 $$start); do \
254                      [ "$$(${SED} -n $${n}p ${WRKSRC}/doc/mpdconf.example)" = \
255                                 "#}" ] && echo $$n || true; done); \
256          ${REINPLACE_CMD} -e "$${start},$${finish}s,^#,," \
257                 ${WRKSRC}/doc/mpdconf.example
258 # Fix man pages for executable names
259         @${REINPLACE_CMD} -e 's/^\(\.B m\)pd/\1usicpd/' \
260                 -e 's#^\(\.BI \)/etc/mpd.conf#\1${PREFIX}/etc/${PORTNAME}.conf#' \
261                 -e 's#^mpd.conf#${PORTNAME}.conf#' \
262                 -e 's#^mpd(1)#musicpd(1)#' \
263                 ${WRKSRC}/doc/mpd.1 ${WRKSRC}/doc/mpd.conf.5
264 .if (${OSVERSION} < 800000)
265         ${REINPLACE_CMD} -e 's/nan[f]*(\"\")/NAN/g' \
266                 ${WRKSRC}/src/crossfade.c \
267                 ${WRKSRC}/src/player_thread.c \
268                 ${WRKSRC}/src/player_control.c
269 .endif
270
271 do-install:
272         @${INSTALL_PROGRAM} ${WRKSRC}/src/mpd ${PREFIX}/bin/${PORTNAME}
273         @${INSTALL_MAN} ${WRKSRC}/doc/mpd.1 ${MAN1PREFIX}/man/man1/${PORTNAME}.1
274         @${INSTALL_MAN} ${WRKSRC}/doc/mpd.conf.5 \
275                 ${MAN5PREFIX}/man/man5/${PORTNAME}.conf.5
276 .if ${PORT_OPTIONS:MDOCS}
277         @${MKDIR} ${DOCSDIR}
278 .   for doc in ${PORTDOCS}
279         @${INSTALL_DATA} ${WRKSRC}/${doc} ${DOCSDIR}/
280 .   endfor
281 .endif
282
283 post-install:
284         @${INSTALL_DATA} ${WRKSRC}/doc/mpdconf.example ${PREFIX}/etc/${PORTNAME}.conf.sample
285         @if [ ! -f ${PREFIX}/etc/${PORTNAME}.conf ]; then \
286                 ${CP} -p ${PREFIX}/etc/${PORTNAME}.conf.sample \
287                         ${PREFIX}/etc/${PORTNAME}.conf ; \
288         fi
289         @${INSTALL} -d -o ${MPDUSER} -g ${MPDGROUP} ${MPDDIR} ${MPDDIR}/.mpd
290         @${ECHO_MSG}
291         @${CAT} ${PKGMESSAGE}
292         @${ECHO_MSG}
293
294 .include <bsd.port.post.mk>