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