Update multimedia/mkvtoolnix to version 7.2.0
[dports.git] / multimedia / vlc / Makefile
1 # Created by: Brian Somers <brian@FreeBSD.org>
2 # $FreeBSD$
3
4 PORTNAME=       vlc
5 DISTVERSION=    2.1.5
6 PORTREVISION=   9
7 PORTEPOCH=      4
8 CATEGORIES=     multimedia audio ipv6 net www
9 MASTER_SITES=   http://download.videolan.org/pub/videolan/${PORTNAME}/${DISTVERSION:S/a$//}/ \
10                 http://ftp.snt.utwente.nl/pub/software/videolan/${PORTNAME}/${DISTVERSION:S/a$//}/ \
11                 ftp://ftp.crans.org/pub/videolan/${PORTNAME}/${DISTVERSION:S/a$//}/
12
13 MAINTAINER=     multimedia@FreeBSD.org
14 COMMENT=        Qt4 based multimedia player and streaming server
15
16 LICENSE=        GPLv2
17
18 LIB_DEPENDS=    libgcrypt.so:${PORTSDIR}/security/libgcrypt \
19                 libdvbpsi.so:${PORTSDIR}/multimedia/libdvbpsi \
20                 libfontconfig.so:${PORTSDIR}/x11-fonts/fontconfig \
21                 libfreetype.so:${PORTSDIR}/print/freetype2 \
22                 libidn.so:${PORTSDIR}/dns/libidn
23 BUILD_DEPENDS=  ffmpeg>=2.0:${PORTSDIR}/multimedia/ffmpeg
24 RUN_DEPENDS=    ffmpeg>=2.0:${PORTSDIR}/multimedia/ffmpeg
25
26 USES=           compiler:c11 desktop-file-utils gmake iconv libtool pathfix \
27                 pkgconfig tar:xz
28 USE_GNOME=      libxml2
29 USE_LDCONFIG=   yes
30 INSTALL_TARGET= install-strip
31
32 GNU_CONFIGURE=  yes
33 CONFIGURE_ARGS= --enable-avcodec --enable-avformat --enable-dvbpsi \
34                 --enable-fontconfig --enable-freetype --enable-libgcrypt \
35                 --enable-libxml2 --disable-oss --enable-postproc \
36                 --enable-swscale --enable-vlc \
37                 --disable-alsa --disable-chromaprint --disable-crystalhd \
38                 --disable-dc1394 --disable-decklink --disable-directfb \
39                 --disable-dv1394 --disable-egl --disable-fdkaac \
40                 --disable-gles1 --disable-gles2 --disable-kai --disable-kva \
41                 --disable-libvnc --disable-opencv --disable-projectm \
42                 --disable-quicksync --disable-silent-rules --disable-telx \
43                 --disable-tiger --disable-tremor --disable-udev \
44                 --disable-update-check --disable-vcdx --disable-vsxu \
45                 --disable-wasapi --disable-x26410b \
46                 --with-kde-solid=${PREFIX}/share/apps/solid/actions \
47                 ac_cv_search_pthread_rwlock_init=-pthread
48 .if defined(WITH_DEBUG) && !defined(WITHOUT_DEBUG)
49 CONFIGURE_ARGS+=--enable-debug
50 .endif
51 CPPFLAGS+=      -I${LOCALBASE}/include
52 CFLAGS_i386=    -fomit-frame-pointer
53
54 OPTIONS_DEFINE= A52 AALIB ASS AVAHI CACA DBUS DCA DIRAC DOCS DVDREAD \
55                 DVDNAV FAAD FLAC FLUID FREERDP FRIBIDI GME GNOMEVFS2 GNUTLS \
56                 GOOM HTTPD JACK KATE LIBBLURAY LIBRSVG2 LIBSSH2 LIRC \
57                 LIVEMEDIA LUA MAD MATROSKA MODPLUG \
58                 MPEG2 MTP MUSEPACK NCURSES NLS NOTIFY OGG OPTIMIZED_CFLAGS \
59                 OPUS PNG PULSEAUDIO QT4 REALRTSP RUNROOT SAMPLERATE \
60                 SCHROEDINGER SDL SHOUTCAST SIDPLAY SKINS SMB STREAM SPEEX \
61                 TAGLIB THEORA TWOLAME UPNP V4L VAAPI VCD VDPAU VORBIS \
62                 X11 X264 ZVBI
63 OPTIONS_DEFAULT=A52 AVAHI DBUS DCA DVDREAD DVDNAV FAAD FLAC GNUTLS \
64                 HTTPD LUA MAD MATROSKA MPEG2 OGG OPTIMIZED_CFLAGS OPUS PNG \
65                 QT4 SAMPLERATE STREAM SPEEX TAGLIB THEORA TWOLAME V4L \
66                 VCD VORBIS X11
67 OPTIONS_SUB=    yes
68
69 ASS_DESC=       ASS/SSA subtitle rendering
70 DVDREAD_DESC=   DVD Playback support
71 DVDNAV_DESC=    DVD menu navigation
72 FLUID_DESC=     Fluidsynth MIDI support
73 FREERDP_DESC=   RDP support
74 GME_DESC=       Game Music Emu (libgme) support
75 GOOM_DESC=      Goom visualisation plugin
76 KATE_DESC=      Kate codec support
77 LIBSSH2_DESC=   SCP/SFTP support via libssh2
78 REALRTSP_DESC=  Real RTSP access module
79 RUNROOT_DESC=   Enable running as root
80 SIDPLAY_DESC=   C64 sid demux support
81 SKINS_DESC=     Skins interface module
82 STREAM_DESC=    stream output
83 TAGLIB_DESC=    ID3 tag and Ogg comment support
84 VCD_DESC=       Audio/Video CD support
85 ZVBI_DESC=      VBI decoding support
86
87 A52_CONFIGURE_ENABLE=   a52
88 A52_CONFIGURE_ON=       --with-a52=${LOCALBASE}
89 A52_LIB_DEPENDS=        liba52.so:${PORTSDIR}/audio/liba52
90
91 AALIB_LIB_DEPENDS=      libaa.so:${PORTSDIR}/graphics/aalib
92 AALIB_CONFIGURE_ENABLE= aa
93
94 ASS_LIB_DEPENDS=        libass.so:${PORTSDIR}/multimedia/libass
95 ASS_CONFIGURE_ENABLE=   libass
96
97 AVAHI_LIB_DEPENDS=      libavahi-common.so:${PORTSDIR}/net/avahi-app
98 AVAHI_CONFIGURE_ENABLE= bonjour
99
100 CACA_LIB_DEPENDS=       libcaca.so:${PORTSDIR}/graphics/libcaca
101 CACA_CONFIGURE_ENABLE=  caca
102
103 DBUS_LIB_DEPENDS=       libdbus-1.so:${PORTSDIR}/devel/dbus
104 DBUS_CONFIGURE_ENABLE=  dbus
105
106 DCA_LIB_DEPENDS=        libdca.so:${PORTSDIR}/multimedia/libdca
107 DCA_CONFIGURE_ENABLE=   dca
108
109 DIRAC_LIB_DEPENDS=      libdirac_decoder.so:${PORTSDIR}/multimedia/dirac
110 DIRAC_CONFIGURE_ENABLE= dirac
111
112 DVDREAD_LIB_DEPENDS=    libdvdread.so:${PORTSDIR}/multimedia/libdvdread
113 DVDREAD_CONFIGURE_ENABLE=       dvdread
114
115 DVDNAV_LIB_DEPENDS=     libdvdnav.so:${PORTSDIR}/multimedia/libdvdnav
116 DVDNAV_CONFIGURE_ENABLE=dvdnav
117
118 FAAD_LIB_DEPENDS=       libfaad.so:${PORTSDIR}/audio/faad
119 FAAD_CONFIGURE_ENABLE=  faad
120 FAAD_CONFIGURE_ENV=     CPPFLAGS_faad="-I${LOCALBASE}/include" \
121                         LIBS_faad="-L${LOCALBASE}/lib"
122
123 FLAC_LIB_DEPENDS=       libFLAC.so:${PORTSDIR}/audio/flac
124 FLAC_CONFIGURE_ENABLE=  flac
125
126 FLUID_LIB_DEPENDS=      libfluidsynth.so:${PORTSDIR}/audio/fluidsynth
127 FLUID_CONFIGURE_ENABLE= fluidsynth
128
129 FREERDP_LIB_DEPENDS=    libfreerdp-core.so:${PORTSDIR}/net/freerdp
130 FREERDP_CONFIGURE_ENABLE=       libfreerdp
131
132 FRIBIDI_LIB_DEPENDS=    libfribidi.so:${PORTSDIR}/converters/fribidi
133 FRIBIDI_CONFIGURE_ENABLE=       fribidi
134
135 GME_LIB_DEPENDS=        libgme.so:${PORTSDIR}/audio/libgme
136 GME_CONFIGURE_ENABLE=   gme
137 GME_CONFIGURE_ENV=      LIBS_gme="-L${LOCALBASE}/lib -lgme"
138
139 GNOMEVFS2_USE=                  GNOME=gnomevfs2
140 GNOMEVFS2_CONFIGURE_ENABLE=     gnomevfs
141
142 GNUTLS_LIB_DEPENDS=     libgnutls.so:${PORTSDIR}/security/gnutls
143 GNUTLS_CONFIGURE_ENABLE=gnutls
144
145 GOOM_LIB_DEPENDS=       libgoom2.so:${PORTSDIR}/graphics/goom
146 GOOM_CONFIGURE_ENABLE=  goom
147
148 HTTPD_CONFIGURE_ENABLE= httpd
149
150 JACK_LIB_DEPENDS=       libjack.so:${PORTSDIR}/audio/jack
151 JACK_CONFIGURE_ENABLE=  jack
152
153 KATE_LIB_DEPENDS=       libkate.so:${PORTSDIR}/multimedia/libkate
154 KATE_CONFIGURE_ENABLE=  kate
155
156 LIBBLURAY_LIB_DEPENDS=  libbluray.so:${PORTSDIR}/multimedia/libbluray
157 LIBBLURAY_CONFIGURE_ENABLE=     bluray
158
159 LIBRSVG2_USE=                   GNOME=librsvg2
160 LIBRSVG2_CONFIGURE_ENABLE=      svg
161
162 LIBSSH2_LIB_DEPENDS=    libssh2.so:${PORTSDIR}/security/libssh2
163 LIBSSH2_CONFIGURE_ENABLE=       sftp
164
165 LIRC_LIB_DEPENDS=       liblirc_client.so:${PORTSDIR}/comms/lirc
166 LIRC_CONFIGURE_ENABLE=  lirc
167 LIRC_CONFIGURE_ENV=     LIBS_lirc="-L${LOCALBASE}/lib -llirc_client"
168
169 LIVEMEDIA_LIB_DEPENDS=  libliveMedia.so:${PORTSDIR}/net/liveMedia
170 LIVEMEDIA_CONFIGURE_ENABLE=     live555
171 LIVEMEDIA_CONFIGURE_ENV= \
172         LIVE555_CFLAGS="-I${LOCALBASE}/include/liveMedia \
173                         -I${LOCALBASE}/include/UsageEnvironment \
174                         -I${LOCALBASE}/include/groupsock \
175                         -I${LOCALBASE}/include/BasicUsageEnvironment" \
176         LIVE555_LIBS="-L${LOCALBASE}/lib -lliveMedia \
177                         -lgroupsock -lBasicUsageEnvironment \
178                         -lUsageEnvironment"
179
180 LUA_USES=               lua
181 LUA_CONFIGURE_ENABLE=   lua
182 LUA_CONFIGURE_ON=       LUAC=${LUAC_CMD} LUA_CFLAGS="-I${LUA_INCDIR}" \
183                         LUA_LIBS="-L${LUA_LIBDIR} -llua-${LUA_VER}"
184
185 MAD_LIB_DEPENDS=        libmad.so:${PORTSDIR}/audio/libmad
186 MAD_CONFIGURE_ENABLE=   mad
187 MAD_CONFIGURE_ON=       --with-mad=${LOCALBASE}
188
189 MATROSKA_LIB_DEPENDS=   libmatroska.so:${PORTSDIR}/multimedia/libmatroska
190 MATROSKA_CONFIGURE_ENABLE=      mkv
191
192 MODPLUG_LIB_DEPENDS=    libmodplug.so:${PORTSDIR}/audio/libmodplug
193 MODPLUG_CONFIGURE_ENABLE=       mod
194
195 MPEG2_LIB_DEPENDS=      libmpeg2.so:${PORTSDIR}/multimedia/libmpeg2
196 MPEG2_CONFIGURE_ENABLE= libmpeg2
197
198 MTP_LIB_DEPENDS=        libmtp.so:${PORTSDIR}/multimedia/libmtp
199 MTP_CONFIGURE_ENABLE=   mtp
200
201 MUSEPACK_LIB_DEPENDS=   libmpcdec.so:${PORTSDIR}/audio/musepack
202 MUSEPACK_CONFIGURE_ENABLE=      mpc
203 MUSEPACK_CONFIGURE_ENV=         LIBS_mpc="-L${LOCALBASE}/lib -lmpcdec"
204
205 NCURSES_USES=                   ncurses
206 NCURSES_CONFIGURE_ENV=          NCURSES_CFLAGS="-I${NCURSESINC}" \
207                                 NCURSES_LIBS="-L${NCURSESLIB} -lncursesw"
208 NCURSES_CONFIGURE_ENABLE=       ncurses
209
210 NLS_USES=               gettext
211 NLS_CONFIGURE_ENABLE=   nls
212
213 NOTIFY_LIB_DEPENDS=     libnotify.so:${PORTSDIR}/devel/libnotify
214 NOTIFY_USE=             GNOME=gtk20
215 NOTIFY_CONFIGURE_ENABLE=notify
216
217 OGG_LIB_DEPENDS=        libogg.so:${PORTSDIR}/audio/libogg
218 OGG_CONFIGURE_ENABLE=   ogg
219
220 OPTIMIZED_CFLAGS_CONFIGURE_ENABLE=      optimizations
221
222 OPUS_LIB_DEPENDS=       libopus.so:${PORTSDIR}/audio/opus
223 OPUS_CONFIGURE_ENABLE=  opus
224
225 PNG_LIB_DEPENDS=        libpng15.so:${PORTSDIR}/graphics/png
226 PNG_CONFIGURE_ENABLE=   png
227
228 PULSEAUDIO_LIB_DEPENDS= libpulse.so:${PORTSDIR}/audio/pulseaudio
229 PULSEAUDIO_CONFIGURE_ENABLE=    pulse
230
231 QT4_CONFIGURE_ENABLE=   qt
232 QT4_USE=                QT4=gui,corelib,moc_build,rcc_build,uic_build
233
234 REALRTSP_CONFIGURE_ENABLE=      realrtsp
235
236 RUNROOT_CONFIGURE_ENABLE=       run-as-root
237
238 SAMPLERATE_LIB_DEPENDS=         libsamplerate.so:${PORTSDIR}/audio/libsamplerate
239 SAMPLERATE_CONFIGURE_ENABLE=    samplerate
240
241 SCHROEDINGER_LIB_DEPENDS=       libschroedinger-1.0.so:${PORTSDIR}/multimedia/schroedinger
242 SCHROEDINGER_CONFIGURE_ENABLE=  schroedinger
243
244 SDL_USE=                SDL=image
245 SDL_CONFIGURE_ENABLE=   sdl sdl-image
246
247 SIDPLAY_LIB_DEPENDS=    libsidplay2.so:${PORTSDIR}/audio/libsidplay2
248 SIDPLAY_LDFLAGS=        -L${LOCALBASE}/lib/sidplay/builders
249 SIDPLAY_CONFIGURE_ENABLE=       sid
250
251 SHOUTCAST_LIB_DEPENDS=  libshout.so:${PORTSDIR}/audio/libshout
252 SHOUTCAST_CONFIGURE_ENABLE=     shout
253
254 SMB_LIB_DEPENDS=        libsmbclient.so:${PORTSDIR}/net/samba-libsmbclient
255 SMB_CONFIGURE_ENABLE=   smbclient
256
257 STREAM_CONFIGURE_ENABLE=sout
258
259 SPEEX_LIB_DEPENDS=      libspeex.so:${PORTSDIR}/audio/speex
260 SPEEX_CONFIGURE_ENABLE= speex
261
262 TAGLIB_LIB_DEPENDS=     libtag.so:${PORTSDIR}/audio/taglib
263 TAGLIB_CONFIGURE_ENABLE=taglib
264
265 THEORA_LIB_DEPENDS=     libtheora.so:${PORTSDIR}/multimedia/libtheora
266 THEORA_CONFIGURE_ENABLE=theora
267
268 TWOLAME_LIB_DEPENDS=            libtwolame.so:${PORTSDIR}/audio/twolame
269 TWOLAME_CONFIGURE_ENABLE=       twolame
270
271 UPNP_LIB_DEPENDS=       libupnp.so:${PORTSDIR}/devel/upnp
272 UPNP_CONFIGURE_ENABLE=  upnp
273
274 V4L_LIB_DEPENDS=        libv4l2.so:${PORTSDIR}/multimedia/libv4l
275 V4L_CONFIGURE_ENABLE=   v4l2
276
277 VAAPI_LIB_DEPENDS=      libva.so:${PORTSDIR}/multimedia/libva
278 VAAPI_CONFIGURE_ENABLE= libva
279
280 VCD_LIB_DEPENDS=        libcddb.so:${PORTSDIR}/audio/libcddb
281 VCD_CONFIGURE_ENABLE=   vcd libcddb
282
283 VDPAU_LIB_DEPENDS=      libvdpau.so:${PORTSDIR}/multimedia/libvdpau
284 VDPAU_CONFIGURE_ENABLE= vdpau
285
286 VORBIS_LIB_DEPENDS=     libvorbis.so:${PORTSDIR}/audio/libvorbis
287 VORBIS_CONFIGURE_ENABLE=vorbis
288
289 X11_USE=                GL=gl XORG=xcb,xproto
290 X11_LIB_DEPENDS=        libxcb-keysyms.so:${PORTSDIR}/x11/xcb-util-keysyms
291 X11_CONFIGURE_ENABLE=   glx xcb xvideo
292 X11_CONFIGURE_WITH=     x
293
294 X264_LIB_DEPENDS=       libx264.so:${PORTSDIR}/multimedia/x264
295 X264_CONFIGURE_ENABLE=  x264
296
297 ZVBI_LIB_DEPENDS=       libzvbi.so:${PORTSDIR}/devel/libzvbi
298 ZVBI_CONFIGURE_ENABLE=  zvbi
299
300 PORTDATA=       *
301 PORTDOCS=       *
302
303 .include <bsd.port.options.mk>
304
305 .if ${PORT_OPTIONS:MPULSEAUDIO} && ${OSVERSION} <= 900044
306 IGNORE=         Pulseaudio is unsupported with rtld prior to FreeBSD-9.x
307 .endif
308
309 .if ${PORT_OPTIONS:MSKINS}
310 .if ${PORT_OPTIONS:MQT4}
311 LIB_DEPENDS+=   libminizip.so:${PORTSDIR}/archivers/minizip \
312                 libtar.so:${PORTSDIR}/devel/libtar
313 USE_XORG+=      xext xinerama xpm
314 CONFIGURE_ARGS+=--enable-skins2 --enable-libtar
315 .else
316 IGNORE= SKINS option requires QT4 option
317 .endif
318 .else
319 CONFIGURE_ARGS+=--disable-skins2 --disable-libtar
320 .endif
321
322 # Define these to override
323 # FreeBSD 9.x uses CAM devices
324 .if (${OSVERSION} > 900037)
325 WITH_CDROM_DEVICE?=/dev/cd0
326 WITH_DVD_DEVICE?=/dev/cd0
327 .else
328 WITH_CDROM_DEVICE?=/dev/acd0
329 WITH_DVD_DEVICE?=/dev/acd0
330 .endif
331
332 post-patch:
333         @${REINPLACE_CMD} \
334                 -e '\|LIBS|s|-lrt||' \
335                 -e 's|LIBS="-llirc_client|LIBS="$$LIBS_lirc|' \
336                 ${WRKSRC}/configure
337         @${REINPLACE_CMD} -e 's|/dev/cdrom|${WITH_CDROM_DEVICE}|g' \
338                 -e 's|/dev/dvd|${WITH_DVD_DEVICE}|g' \
339                 ${WRKSRC}/src/libvlc-module.c
340         @${RM} -rf ${WRKSRC}/modules/access/v4l2/linux
341
342 post-install:
343         @(cd ${STAGEDIR}${PREFIX} && ${FIND} -s lib/vlc -not -name '*.la' \
344                 -type f -o -type l >> ${TMPPLIST})
345         @(cd ${STAGEDIR}${PREFIX} && ${FIND} -s -d lib/vlc -type d | \
346                 ${SED} 's/^/@dirrm /' >> ${TMPPLIST})
347
348 .include <bsd.port.mk>