1 # Created by: Brian Somers <brian@FreeBSD.org>
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$//}/
13 MAINTAINER= multimedia@FreeBSD.org
14 COMMENT= Qt4 based multimedia player and streaming server
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
26 USES= compiler:c11 desktop-file-utils gmake iconv libtool pathfix \
30 INSTALL_TARGET= install-strip
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
51 CPPFLAGS+= -I${LOCALBASE}/include
52 CFLAGS_i386= -fomit-frame-pointer
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 \
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 \
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
87 A52_CONFIGURE_ENABLE= a52
88 A52_CONFIGURE_ON= --with-a52=${LOCALBASE}
89 A52_LIB_DEPENDS= liba52.so:${PORTSDIR}/audio/liba52
91 AALIB_LIB_DEPENDS= libaa.so:${PORTSDIR}/graphics/aalib
92 AALIB_CONFIGURE_ENABLE= aa
94 ASS_LIB_DEPENDS= libass.so:${PORTSDIR}/multimedia/libass
95 ASS_CONFIGURE_ENABLE= libass
97 AVAHI_LIB_DEPENDS= libavahi-common.so:${PORTSDIR}/net/avahi-app
98 AVAHI_CONFIGURE_ENABLE= bonjour
100 CACA_LIB_DEPENDS= libcaca.so:${PORTSDIR}/graphics/libcaca
101 CACA_CONFIGURE_ENABLE= caca
103 DBUS_LIB_DEPENDS= libdbus-1.so:${PORTSDIR}/devel/dbus
104 DBUS_CONFIGURE_ENABLE= dbus
106 DCA_LIB_DEPENDS= libdca.so:${PORTSDIR}/multimedia/libdca
107 DCA_CONFIGURE_ENABLE= dca
109 DIRAC_LIB_DEPENDS= libdirac_decoder.so:${PORTSDIR}/multimedia/dirac
110 DIRAC_CONFIGURE_ENABLE= dirac
112 DVDREAD_LIB_DEPENDS= libdvdread.so:${PORTSDIR}/multimedia/libdvdread
113 DVDREAD_CONFIGURE_ENABLE= dvdread
115 DVDNAV_LIB_DEPENDS= libdvdnav.so:${PORTSDIR}/multimedia/libdvdnav
116 DVDNAV_CONFIGURE_ENABLE=dvdnav
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"
123 FLAC_LIB_DEPENDS= libFLAC.so:${PORTSDIR}/audio/flac
124 FLAC_CONFIGURE_ENABLE= flac
126 FLUID_LIB_DEPENDS= libfluidsynth.so:${PORTSDIR}/audio/fluidsynth
127 FLUID_CONFIGURE_ENABLE= fluidsynth
129 FREERDP_LIB_DEPENDS= libfreerdp-core.so:${PORTSDIR}/net/freerdp
130 FREERDP_CONFIGURE_ENABLE= libfreerdp
132 FRIBIDI_LIB_DEPENDS= libfribidi.so:${PORTSDIR}/converters/fribidi
133 FRIBIDI_CONFIGURE_ENABLE= fribidi
135 GME_LIB_DEPENDS= libgme.so:${PORTSDIR}/audio/libgme
136 GME_CONFIGURE_ENABLE= gme
137 GME_CONFIGURE_ENV= LIBS_gme="-L${LOCALBASE}/lib -lgme"
139 GNOMEVFS2_USE= GNOME=gnomevfs2
140 GNOMEVFS2_CONFIGURE_ENABLE= gnomevfs
142 GNUTLS_LIB_DEPENDS= libgnutls.so:${PORTSDIR}/security/gnutls
143 GNUTLS_CONFIGURE_ENABLE=gnutls
145 GOOM_LIB_DEPENDS= libgoom2.so:${PORTSDIR}/graphics/goom
146 GOOM_CONFIGURE_ENABLE= goom
148 HTTPD_CONFIGURE_ENABLE= httpd
150 JACK_LIB_DEPENDS= libjack.so:${PORTSDIR}/audio/jack
151 JACK_CONFIGURE_ENABLE= jack
153 KATE_LIB_DEPENDS= libkate.so:${PORTSDIR}/multimedia/libkate
154 KATE_CONFIGURE_ENABLE= kate
156 LIBBLURAY_LIB_DEPENDS= libbluray.so:${PORTSDIR}/multimedia/libbluray
157 LIBBLURAY_CONFIGURE_ENABLE= bluray
159 LIBRSVG2_USE= GNOME=librsvg2
160 LIBRSVG2_CONFIGURE_ENABLE= svg
162 LIBSSH2_LIB_DEPENDS= libssh2.so:${PORTSDIR}/security/libssh2
163 LIBSSH2_CONFIGURE_ENABLE= sftp
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"
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 \
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}"
185 MAD_LIB_DEPENDS= libmad.so:${PORTSDIR}/audio/libmad
186 MAD_CONFIGURE_ENABLE= mad
187 MAD_CONFIGURE_ON= --with-mad=${LOCALBASE}
189 MATROSKA_LIB_DEPENDS= libmatroska.so:${PORTSDIR}/multimedia/libmatroska
190 MATROSKA_CONFIGURE_ENABLE= mkv
192 MODPLUG_LIB_DEPENDS= libmodplug.so:${PORTSDIR}/audio/libmodplug
193 MODPLUG_CONFIGURE_ENABLE= mod
195 MPEG2_LIB_DEPENDS= libmpeg2.so:${PORTSDIR}/multimedia/libmpeg2
196 MPEG2_CONFIGURE_ENABLE= libmpeg2
198 MTP_LIB_DEPENDS= libmtp.so:${PORTSDIR}/multimedia/libmtp
199 MTP_CONFIGURE_ENABLE= mtp
201 MUSEPACK_LIB_DEPENDS= libmpcdec.so:${PORTSDIR}/audio/musepack
202 MUSEPACK_CONFIGURE_ENABLE= mpc
203 MUSEPACK_CONFIGURE_ENV= LIBS_mpc="-L${LOCALBASE}/lib -lmpcdec"
205 NCURSES_USES= ncurses
206 NCURSES_CONFIGURE_ENV= NCURSES_CFLAGS="-I${NCURSESINC}" \
207 NCURSES_LIBS="-L${NCURSESLIB} -lncursesw"
208 NCURSES_CONFIGURE_ENABLE= ncurses
211 NLS_CONFIGURE_ENABLE= nls
213 NOTIFY_LIB_DEPENDS= libnotify.so:${PORTSDIR}/devel/libnotify
214 NOTIFY_USE= GNOME=gtk20
215 NOTIFY_CONFIGURE_ENABLE=notify
217 OGG_LIB_DEPENDS= libogg.so:${PORTSDIR}/audio/libogg
218 OGG_CONFIGURE_ENABLE= ogg
220 OPTIMIZED_CFLAGS_CONFIGURE_ENABLE= optimizations
222 OPUS_LIB_DEPENDS= libopus.so:${PORTSDIR}/audio/opus
223 OPUS_CONFIGURE_ENABLE= opus
225 PNG_LIB_DEPENDS= libpng15.so:${PORTSDIR}/graphics/png
226 PNG_CONFIGURE_ENABLE= png
228 PULSEAUDIO_LIB_DEPENDS= libpulse.so:${PORTSDIR}/audio/pulseaudio
229 PULSEAUDIO_CONFIGURE_ENABLE= pulse
231 QT4_CONFIGURE_ENABLE= qt
232 QT4_USE= QT4=gui,corelib,moc_build,rcc_build,uic_build
234 REALRTSP_CONFIGURE_ENABLE= realrtsp
236 RUNROOT_CONFIGURE_ENABLE= run-as-root
238 SAMPLERATE_LIB_DEPENDS= libsamplerate.so:${PORTSDIR}/audio/libsamplerate
239 SAMPLERATE_CONFIGURE_ENABLE= samplerate
241 SCHROEDINGER_LIB_DEPENDS= libschroedinger-1.0.so:${PORTSDIR}/multimedia/schroedinger
242 SCHROEDINGER_CONFIGURE_ENABLE= schroedinger
245 SDL_CONFIGURE_ENABLE= sdl sdl-image
247 SIDPLAY_LIB_DEPENDS= libsidplay2.so:${PORTSDIR}/audio/libsidplay2
248 SIDPLAY_LDFLAGS= -L${LOCALBASE}/lib/sidplay/builders
249 SIDPLAY_CONFIGURE_ENABLE= sid
251 SHOUTCAST_LIB_DEPENDS= libshout.so:${PORTSDIR}/audio/libshout
252 SHOUTCAST_CONFIGURE_ENABLE= shout
254 SMB_LIB_DEPENDS= libsmbclient.so:${PORTSDIR}/net/samba-libsmbclient
255 SMB_CONFIGURE_ENABLE= smbclient
257 STREAM_CONFIGURE_ENABLE=sout
259 SPEEX_LIB_DEPENDS= libspeex.so:${PORTSDIR}/audio/speex
260 SPEEX_CONFIGURE_ENABLE= speex
262 TAGLIB_LIB_DEPENDS= libtag.so:${PORTSDIR}/audio/taglib
263 TAGLIB_CONFIGURE_ENABLE=taglib
265 THEORA_LIB_DEPENDS= libtheora.so:${PORTSDIR}/multimedia/libtheora
266 THEORA_CONFIGURE_ENABLE=theora
268 TWOLAME_LIB_DEPENDS= libtwolame.so:${PORTSDIR}/audio/twolame
269 TWOLAME_CONFIGURE_ENABLE= twolame
271 UPNP_LIB_DEPENDS= libupnp.so:${PORTSDIR}/devel/upnp
272 UPNP_CONFIGURE_ENABLE= upnp
274 V4L_LIB_DEPENDS= libv4l2.so:${PORTSDIR}/multimedia/libv4l
275 V4L_CONFIGURE_ENABLE= v4l2
277 VAAPI_LIB_DEPENDS= libva.so:${PORTSDIR}/multimedia/libva
278 VAAPI_CONFIGURE_ENABLE= libva
280 VCD_LIB_DEPENDS= libcddb.so:${PORTSDIR}/audio/libcddb
281 VCD_CONFIGURE_ENABLE= vcd libcddb
283 VDPAU_LIB_DEPENDS= libvdpau.so:${PORTSDIR}/multimedia/libvdpau
284 VDPAU_CONFIGURE_ENABLE= vdpau
286 VORBIS_LIB_DEPENDS= libvorbis.so:${PORTSDIR}/audio/libvorbis
287 VORBIS_CONFIGURE_ENABLE=vorbis
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
294 X264_LIB_DEPENDS= libx264.so:${PORTSDIR}/multimedia/x264
295 X264_CONFIGURE_ENABLE= x264
297 ZVBI_LIB_DEPENDS= libzvbi.so:${PORTSDIR}/devel/libzvbi
298 ZVBI_CONFIGURE_ENABLE= zvbi
303 .include <bsd.port.options.mk>
305 .if ${PORT_OPTIONS:MPULSEAUDIO} && ${OSVERSION} <= 900044
306 IGNORE= Pulseaudio is unsupported with rtld prior to FreeBSD-9.x
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
316 IGNORE= SKINS option requires QT4 option
319 CONFIGURE_ARGS+=--disable-skins2 --disable-libtar
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
328 WITH_CDROM_DEVICE?=/dev/acd0
329 WITH_DVD_DEVICE?=/dev/acd0
334 -e '\|LIBS|s|-lrt||' \
335 -e 's|LIBS="-llirc_client|LIBS="$$LIBS_lirc|' \
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
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})
348 .include <bsd.port.mk>