Video doesn't play natively on 8.2 with this version at least with older X libs etc, only audio files and videos via SDL play. On 9.1-beta with up to date ports video works just fine tho - other success (or failure) reports welcome! :) Update: I only got success reports so far, also for 8.x, so it looks like it was something in dependent ports (X-related libs?) that fixed native video. Update #2: Fixed LIVEMEDIA knob tho I couldn't find a working rtsp url; cleaned up some no longer supported knobs. Update #3: LIVEMEDIA working now. Update #4: Check for too old base clang. Update #5: Fix build with SKINS. Update #6: Add two missing patches for dvb support. Update #7: Use new ffmpeg. (multimedia/ffmpeg-011) Update #8: Workaround runtime pulseaudio crash. (The build-time one is caused by and rtld bug fixed by this commit: http://svnweb.freebsd.org/base?view=revision&revision=239253 workaround is to deinstall the old vlc-1.x version before building the new one. The same rtld bug also causes an install crash with the NOTIFY knob enabled for which there doesn't seem to be a workaround.) Update #9: Fix ProjectM audio visualization crashes caused by wrong default paths. nox@FreeBSD.org Index: Makefile =================================================================== RCS file: /home/pcvs/ports/multimedia/vlc/Makefile,v retrieving revision 1.295 diff -u -p -r1.295 Makefile --- Makefile 23 Jul 2012 19:27:25 -0000 1.295 +++ Makefile 14 Aug 2012 18:58:30 -0000 @@ -6,13 +6,13 @@ # PORTNAME= vlc -DISTVERSION= 1.1.13 -PORTREVISION= 12 +DISTVERSION= 2.0.3 PORTEPOCH= 3 CATEGORIES= multimedia audio ipv6 net www -MASTER_SITES= http://download.videolan.org/pub/videolan/${PORTNAME}/${DISTVERSION}/ \ +MASTER_SITES= http://download.videolan.org/pub/videolan/${PORTNAME}/${DISTVERSION:S/p/-pre/}/ \ http://ftp.snt.utwente.nl/pub/software/videolan/${PORTNAME}/${DISTVERSION}/ \ ftp://ftp.crans.org/pub/videolan/${PORTNAME}/${DISTVERSION}/ +DISTNAME= ${PORTNAME}-${DISTVERSION:S/p/-pre/} MAINTAINER= jsa@FreeBSD.org COMMENT= Qt4 based multimedia player and streaming server @@ -20,22 +20,23 @@ COMMENT= Qt4 based multimedia player and LICENSE= GPLv2 LICENSE_FILE= ${WRKSRC}/COPYING -LIB_DEPENDS= avcodec:${PORTSDIR}/multimedia/ffmpeg \ - gcrypt:${PORTSDIR}/security/libgcrypt \ +LIB_DEPENDS= gcrypt:${PORTSDIR}/security/libgcrypt \ proxy:${PORTSDIR}/net/libproxy +BUILD_DEPENDS= ffmpeg${FFMPEG_SUFFIX}>0.11:${PORTSDIR}/multimedia/ffmpeg${FFMPEG_SUFFIX} +RUN_DEPENDS= ffmpeg${FFMPEG_SUFFIX}>0.11:${PORTSDIR}/multimedia/ffmpeg${FFMPEG_SUFFIX} -OPTIONS_DEFINE= A52 AALIB ASS AVAHI CACA DBUS DIRAC DOCS DTS DVB DVDREAD \ - DVDNAV FAAD FLAC FLUID FRIBIDI GGI GLX GNOMEVFS GNUTLS GOOM \ +OPTIONS_DEFINE= A52 AALIB ASS AVAHI CACA DBUS DIRAC DOCS DTS DVDREAD \ + DVDNAV FAAD FLAC FLUID FRIBIDI GLX GNOMEVFS GNUTLS GOOM \ HTTPD JACK LIVEMEDIA LUA MAD MATROSKA MODPLUG MPEG2 MTP \ - MUSEPACK NCURSES NLS NOTIFY OPTIMIZED_CFLAGS OGG OPENGL PLUGIN \ - PNG PORTAUDIO PROJM PULSEAUDIO QT4 REALAUDIO REMOTEOSD RUNROOT \ + MUSEPACK NCURSES NLS NOTIFY OPTIMIZED_CFLAGS OGG \ + PNG PORTAUDIO PROJM PULSEAUDIO QT4 REALAUDIO RUNROOT \ SAMBA SCHROED SDL SHOUTCAST SKINS STREAM SPEEX SQLITE SVG \ - SVGALIB TAGLIB THEORA TREMOR TWOLAME UPNP V4L VAAPI VCD \ + TAGLIB THEORA TREMOR TWOLAME UPNP V4L VAAPI VCD \ VORBIS X11 X264 XCB XOSD XVIDEO ZVBI SERVER_ONLY DEBUG \ UNSAFE_PLUGINS -OPTIONS_DEFAULT=A52 AVAHI DBUS DTS DVB DVDREAD DVDNAV FAAD FLAC GLX GNUTLS \ - HTTPD LIVEMEDIA LUA MAD MATROSKA MPEG2 OGG PNG QT4 REALAUDIO \ - REMOTEOSD SDL SKINS STREAM SPEEX TAGLIB THEORA TWOLAME V4L \ +OPTIONS_DEFAULT=A52 AVAHI DBUS DTS DVDREAD DVDNAV FAAD FLAC GLX GNUTLS \ + HTTPD LUA MAD MATROSKA MPEG2 OGG PNG QT4 REALAUDIO \ + SDL SKINS STREAM SPEEX TAGLIB THEORA TWOLAME V4L \ VCD VORBIS X11 X264 XCB XVIDEO A52_DESC= A52 DVD audio decoder AALIB_DESC= Aalib Console Graphics Support @@ -44,14 +45,12 @@ CACA_DESC= libcaca Console Graphics Supp DBUS_DESC= D-Bus control support DIRAC_DESC= Dirac support DTS_DESC= DTS DVD audio decoder -DVB_DESC= Digital Video Broadcasting support DVDREAD_DESC= DVD Playback support DVDNAV_DESC= DVD menu navigation FAAD_DESC= Faad audio decoder (mp4/aac) support FLAC_DESC= Flac audio codec support FLUID_DESC= Fluidsynth MIDI support FRIBIDI_DESC= FriBidi bidirectional unicode support -GGI_DESC= General Graphic Interface support GLX_DESC= X11 OpenGL rendering GNOMEVFS_DESC= Gnome VFS support GOOM_DESC= the Goom visual effect library @@ -61,20 +60,16 @@ MPEG2_DESC= Mpeg-2 audio/video decoder S MTP_DESC= support for the Music Transport Protocol NCURSES_DESC= ncurses (console) interface OGG_DESC= Ogg audio decoder support -OPENGL_DESC= OpenGL acceleration support -PLUGIN_DESC= VLC Mozilla Plugin PNG_DESC= PNG graphics format support PROJM_DESC= ProjectM visualizations QT4_DESC= Qt4 Interface REALAUDIO_DESC= Real Audio(R) support -REMOTEOSD_DESC= Remote OSD support RUNROOT_DESC= Enable running as root SAMBA_DESC= SAMBA Access module SCHROED_DESC= Schroedinger decoder SKINS_DESC= winamp skins interface STREAM_DESC= stream output SQLITE_DESC= SQLite database support -SVGALIB_DESC= SVGALIB video output TAGLIB_DESC= ID3 tag and Ogg comment support THEORA_DESC= OGG/Vorbis video codec support TREMOR_DESC= Tremor voice audio (redundant with Vorbis) @@ -83,17 +78,18 @@ UPNP_DESC= UPnP network device control V4L_DESC= Video4Linux video capture compatibility VAAPI_DESC= Support hardware decoding via VAAPI VCD_DESC= Video CD support -XCB_DESC=Use X C Bindings for X11 output -XOSD_DESC=X11 On Screen Display support -XVIDEO_DESC=X11 video rendering -ZVBI_DESC=VBI decoding support +XCB_DESC= Use X C Bindings for X11 output +XOSD_DESC= X11 On Screen Display support +XVIDEO_DESC= X11 video rendering +ZVBI_DESC= VBI decoding support SERVER_ONLY_DESC= Only build server parts UNSAFE_PLUGINS_DESC= Install unsafe, unsupported plugins -USE_BZIP2= yes +USE_XZ= yes USE_GMAKE= yes USE_ICONV= yes USE_PERL5_BUILD=yes +USE_GL=yes MAKE_JOBS_SAFE= yes WANT_GNOME= yes @@ -102,12 +98,19 @@ PLIST= ${WRKDIR}/plist USE_LDCONFIG= yes GNU_CONFIGURE= yes +FFMPEG_SUFFIX= -011 +FFMPEG_INCDIR= ${LOCALBASE}/include/ffmpeg${FFMPEG_SUFFIX} +FFMPEG_LIBDIR= ${LOCALBASE}/lib/ffmpeg${FFMPEG_SUFFIX} CPPFLAGS+= -I${FAKEDIR}/include -I${WRKSRC}/include \ - -I${LOCALBASE}/include -I${LOCALBASE}/ffmpeg \ + -I${FFMPEG_INCDIR} \ ${PTHREAD_CFLAGS} CONFIGURE_ENV= LIBS="-lc" LDFLAGS+= -L${FAKEDIR}/lib \ - -L${LOCALBASE}/lib ${PTHREAD_LIBS} -lc + ${PTHREAD_LIBS} -lc +CONFIGURE_ENV+= AVCODEC_CFLAGS="-I${FFMPEG_INCDIR}" AVCODEC_LIBS="-L${FFMPEG_LIBDIR} -Wl,-rpath -Wl,${FFMPEG_LIBDIR} -lavcodec${FFMPEG_SUFFIX}" +CONFIGURE_ENV+= AVFORMAT_CFLAGS="-I${FFMPEG_INCDIR}" AVFORMAT_LIBS="-L${FFMPEG_LIBDIR} -Wl,-rpath -Wl,${FFMPEG_LIBDIR} -lavformat${FFMPEG_SUFFIX}" +CONFIGURE_ENV+= POSTPROC_CFLAGS="-I${FFMPEG_INCDIR}" POSTPROC_LIBS="-L${FFMPEG_LIBDIR} -Wl,-rpath -Wl,${FFMPEG_LIBDIR} -lpostproc${FFMPEG_SUFFIX}" +CONFIGURE_ENV+= SWSCALE_CFLAGS="-I${FFMPEG_INCDIR}" SWSCALE_LIBS="-L${FFMPEG_LIBDIR} -Wl,-rpath -Wl,${FFMPEG_LIBDIR} -lswscale${FFMPEG_SUFFIX}" CONFIGURE_ARGS+= --enable-vlc \ --enable-avcodec \ @@ -120,16 +123,12 @@ CONFIGURE_ARGS+= --enable-vlc \ --disable-dc1394 \ --disable-directfb \ --disable-dv \ - --disable-hd1000a \ - --disable-hd1000v \ --disable-loader \ - --disable-osso_screensaver \ --disable-telx \ --disable-udev \ --disable-update-check MAN1= vlc.1 \ - vlc-config.1 \ vlc-wrapper.1 .include @@ -138,7 +137,7 @@ MAN1= vlc.1 \ # Use these for batch control of certain types of builds # Disable DVD specific features -.if !${PORT_OPTIONS:MDVD} +.if empty(PORT_OPTIONS:MDVD) WITHOUT_A52=yes WITHOUT_DTS=yes WITHOUT_DVDREAD=yes @@ -184,6 +183,12 @@ EXTRA_PATCHES+= ${FILESDIR}/extra-patch- ${FILESDIR}/extra-patch-modules__misc__inhibit__xscreensaver.c .endif +# base clang in 9.0 builds a corrupted lib/vlc/plugins/gui/libqt4_plugin.so +.if (${CC:T:Mclang} == "clang") && \ + (${OSVERSION} >= 900014) && (${OSVERSION} < 900506) +IGNORE= base clang version too old, set NO_IGNORE to override +.endif + .if ${ARCH} == "powerpc64" CONFIGURE_ARGS+=--enable-altivec # VLC's config script doesn't know to do this .endif @@ -204,7 +209,8 @@ WITH_DVD_DEVICE?=/dev/acd0 # If you change this value, the dependancy will not be recorded .if !defined(WITH_VLC_DEFAULT_FONT) -WITH_VLC_DEFAULT_FONT= ${LOCALBASE}/lib/X11/fonts/bitstream-vera/Vera.ttf +WITH_VLC_DEFAULT_FONT= ${LOCALBASE}/lib/X11/fonts/bitstream-vera/Vera.ttf +WITH_VLC_DEFAULT_MONO_FONT= ${LOCALBASE}/lib/X11/fonts/bitstream-vera/VeraMono.ttf RUN_DEPENDS+= ${LOCALBASE}/lib/X11/fonts/bitstream-vera/Vera.ttf:${PORTSDIR}/x11-fonts/bitstream-vera .endif @@ -272,18 +278,6 @@ CONFIGURE_ARGS+=--enable-dca CONFIGURE_ARGS+=--disable-dca .endif -.if ${PORT_OPTIONS:MDVB} -.if ${PORT_OPTIONS:MV4L} -LIB_DEPENDS+= dvbpsi:${PORTSDIR}/multimedia/libdvbpsi -CONFIGURE_ARGS+=--enable-dvb --enable-dvbpsi \ - --with-dvbpsi=${LOCALBASE} -.else -IGNORE= DVB option requires V4L option -.endif -.else -CONFIGURE_ARGS+=--disable-dvb --disable-dvbpsi -.endif - .if ${PORT_OPTIONS:MDVDREAD} LIB_DEPENDS+= dvdread:${PORTSDIR}/multimedia/libdvdread CONFIGURE_ARGS+=--enable-dvdread @@ -326,13 +320,6 @@ CONFIGURE_ARGS+=--enable-fribidi CONFIGURE_ARGS+=--disable-fribidi .endif -.if ${PORT_OPTIONS:MGGI} -LIB_DEPENDS+= ggi:${PORTSDIR}/graphics/libggi -CONFIGURE_ARGS+=--enable-ggi -.else -CONFIGURE_ARGS+=--disable-ggi -.endif - .if ${PORT_OPTIONS:MGLX} .if ${PORT_OPTIONS:MXCB} CONFIGURE_ARGS+=--enable-glx @@ -379,8 +366,15 @@ CONFIGURE_ARGS+=--disable-jack .if ${PORT_OPTIONS:MLIVEMEDIA} BUILD_DEPENDS+= ${LOCALBASE}/live/liveMedia/libliveMedia.a:${PORTSDIR}/net/liveMedia -CONFIGURE_ARGS+=--enable-live555 \ - --with-live555-tree=${LOCALBASE}/live +CONFIGURE_ARGS+=--enable-live555 +CPPFLAGS+= -I${LOCALBASE}/live/liveMedia/include \ + -I${LOCALBASE}/live/BasicUsageEnvironment/include \ + -I${LOCALBASE}/live/UsageEnvironment/include \ + -I${LOCALBASE}/live/groupsock/include +LDFLAGS+= -L${LOCALBASE}/live/groupsock \ + -L${LOCALBASE}/live/liveMedia \ + -L${LOCALBASE}/live/UsageEnvironment \ + -L${LOCALBASE}/live/BasicUsageEnvironment .else CONFIGURE_ARGS+=--disable-live555 .endif @@ -389,7 +383,7 @@ CONFIGURE_ARGS+=--disable-live555 .if ${PORT_OPTIONS:MLUA} USE_LUA=5.1+ WANT_LUA_VER=5.1 -CONFIGURE_ENV= LUA_CFLAGS="-I${LUA_INCDIR}" LUA_LIBS="-L${LUA_LIBDIR} -llua" +CONFIGURE_ENV+= LUA_CFLAGS="-I${LUA_INCDIR}" LUA_LIBS="-L${LUA_LIBDIR} -llua" CONFIGURE_ARGS+=--enable-lua LUAC=luac-${WANT_LUA_VER} .else CONFIGURE_ARGS+=--disable-lua @@ -470,24 +464,6 @@ WITHOUT_VORBIS= yes CONFIGURE_ARGS+=--disable-ogg .endif -.if ${PORT_OPTIONS:MOPENGL} -USE_GL=yes -CONFIGURE_ARGS+=--enable-opengl -.else -CONFIGURE_ARGS+=--disable-opengl -.endif - -.if ${PORT_OPTIONS:MPLUGIN} -USE_GECKO= libxul -USE_WEBPLUGINS= gecko* -WEBPLUGINS_FILES=libvlcplugin.so -.include "${PORTSDIR}/www/firefox/Makefile.webplugins" -CONFIGURE_ARGS+=--enable-mozilla \ - --with-mozilla-pkg=${LOCALBASE}/libdata/pkgconfig/mozilla-plugin.pc -.else -CONFIGURE_ARGS+=--disable-mozilla -.endif - .if ${PORT_OPTIONS:MPNG} LIB_DEPENDS+= png15:${PORTSDIR}/graphics/png CONFIGURE_ARGS+=--enable-png @@ -513,7 +489,7 @@ CONFIGURE_ARGS+=--disable-projectm LIB_DEPENDS+= pulse:${PORTSDIR}/audio/pulseaudio CONFIGURE_ARGS+=--enable-pulse .else -CONFIGURE_ARGS+=--disable-pulse +CONFIGURE_ARGS+=--enable-pulse=no .endif # WITHOUT_QT4 @@ -525,12 +501,6 @@ CONFIGURE_ARGS+=--enable-real --enable-r CONFIGURE_ARGS+=--disable-real --disable-realrtsp .endif -.if ${PORT_OPTIONS:MREMOTEOSD} -CONFIGURE_ARGS+=--enable-remoteosd -.else -CONFIGURE_ARGS+=--disable-remoteosd -.endif - .if ${PORT_OPTIONS:MRUNROOT} CONFIGURE_ARGS+=--enable-run-as-root .endif @@ -603,13 +573,6 @@ CONFIGURE_ARGS+=--enable-svg CONFIGURE_ARGS+=--disable-svg .endif -.if ${PORT_OPTIONS:MSVGALIB} -LIB_DEPENDS+= vga:${PORTSDIR}/graphics/svgalib -CONFIGURE_ARGS+=--enable-svgalib -.else -CONFIGURE_ARGS+=--disable-svgalib -.endif - .if ${PORT_OPTIONS:MTAGLIB} LIB_DEPENDS+= tag:${PORTSDIR}/audio/taglib CONFIGURE_ARGS+=--enable-taglib @@ -647,10 +610,11 @@ CONFIGURE_ARGS+=--disable-upnp .endif .if ${PORT_OPTIONS:MV4L} || ${PORT_OPTIONS:MDVB} -LIB_DEPENDS+= v4l1:${PORTSDIR}/multimedia/libv4l -CONFIGURE_ARGS+=--enable-v4l --enable-v4l2 +LIB_DEPENDS+= v4l1:${PORTSDIR}/multimedia/libv4l \ + dvbpsi:${PORTSDIR}/multimedia/libdvbpsi +CONFIGURE_ARGS+=--enable-v4l2 .else -CONFIGURE_ARGS+=--disable-v4l --disable-v4l2 +CONFIGURE_ARGS+=--disable-v4l2 .endif .if ${PORT_OPTIONS:MVAAPI} @@ -724,12 +688,16 @@ post-patch: -e '\|LIBS|s|-lrt||' \ ${WRKSRC}/configure @${REINPLACE_CMD} -e 's|/usr/share/fonts/truetype/freefont/FreeSerifBold.ttf|${WITH_VLC_DEFAULT_FONT}|' \ - ${WRKSRC}/modules/misc/freetype.c + ${WRKSRC}/modules/text_renderer/freetype.c @${REINPLACE_CMD} -e 's|/dev/cdrom|${WITH_CDROM_DEVICE}|g' \ -e 's|/dev/dvd|${WITH_DVD_DEVICE}|g' \ ${WRKSRC}/include/vlc_config.h ${REINPLACE_CMD} -e 's|portaudio\.h|portaudio2/&|g' \ ${WRKSRC}/modules/audio_output/portaudio.c + ${REINPLACE_CMD} -e "s|/usr/share/projectM|${LOCALBASE}/share/projectM|g" \ + -e "s|/usr/share/fonts/truetype/ttf-dejavu/DejaVuSans.ttf|${WITH_VLC_DEFAULT_FONT}|g" \ + -e "s|/usr/share/fonts/truetype/ttf-dejavu/DejaVuSansMono.ttf|${WITH_VLC_DEFAULT_MONO_FONT}|g" \ + ${WRKSRC}/modules/visualization/projectm.cpp pre-configure: .if ${PORT_OPTIONS:MPLUGIN} @@ -797,7 +765,7 @@ pre-install: cd ${FAKEDIR}/share/locale && ${FIND} -s * -type f -o -type l | \ ${SED} -e 's|^|share/locale/|' >> ${PLIST} .endif -.for locale in ach cgg ckb co ff fur kk km lg my oc ps tet tl zu +.for locale in ach cgg ckb co ff fur kk km lg my oc ps tet tl zu kmr ${ECHO_CMD} "@dirrmtry share/locale/${locale}/LC_MESSAGES" >> ${PLIST} ${ECHO_CMD} "@dirrmtry share/locale/${locale}" >> ${PLIST} .endfor @@ -818,7 +786,6 @@ do-install: cd ${FAKEDIR}/share && ${FIND} . | \ ${CPIO} -vpdm -L -R ${SHAREOWN} ${PREFIX}/share ${INSTALL_MAN} ${WRKSRC}/doc/vlc.1 ${MANPREFIX}/man/man1/ - ${INSTALL_MAN} ${WRKSRC}/doc/vlc-config.1 ${MANPREFIX}/man/man1/ if [ ! -d ${PREFIX}/share/applications ]; then \ ${MKDIR} ${PREFIX}/share/applications ; \ fi Index: distinfo =================================================================== RCS file: /home/pcvs/ports/multimedia/vlc/distinfo,v retrieving revision 1.50 diff -u -p -r1.50 distinfo --- distinfo 5 Jan 2012 03:18:02 -0000 1.50 +++ distinfo 3 Aug 2012 16:17:03 -0000 @@ -1,2 +1,2 @@ -SHA256 (vlc-1.1.13.tar.bz2) = 03edec44d463b9f5e7db56fd844c6d4ac79966638e1ac32dedcfb5847a9323c1 -SIZE (vlc-1.1.13.tar.bz2) = 26226587 +SHA256 (vlc-2.0.3.tar.xz) = fba9805f7415aebf5b88614de83802dc59d3282ff339128da41addf7e375d2d2 +SIZE (vlc-2.0.3.tar.xz) = 18268208 Index: files/extra-patch-modules__services_discovery__upnp_intel.cpp =================================================================== RCS file: /home/pcvs/ports/multimedia/vlc/files/extra-patch-modules__services_discovery__upnp_intel.cpp,v retrieving revision 1.1 diff -u -p -r1.1 extra-patch-modules__services_discovery__upnp_intel.cpp --- files/extra-patch-modules__services_discovery__upnp_intel.cpp 8 Nov 2010 22:26:25 -0000 1.1 +++ files/extra-patch-modules__services_discovery__upnp_intel.cpp 3 Aug 2012 16:17:03 -0000 @@ -1,10 +0,0 @@ ---- ./modules/services_discovery/upnp_intel.cpp.orig 2010-11-08 01:05:00.000000000 -0500 -+++ ./modules/services_discovery/upnp_intel.cpp 2010-11-08 01:06:43.000000000 -0500 -@@ -36,6 +36,7 @@ - - #include "upnp_intel.hpp" - -+#include - #include - #include - Index: files/patch-modules__Makefile.am =================================================================== RCS file: /home/pcvs/ports/multimedia/vlc/files/patch-modules__Makefile.am,v retrieving revision 1.1 diff -u -p -r1.1 patch-modules__Makefile.am --- files/patch-modules__Makefile.am 11 Jul 2010 02:06:56 -0000 1.1 +++ files/patch-modules__Makefile.am 3 Aug 2012 16:17:03 -0000 @@ -1,30 +0,0 @@ ---- ./modules/Makefile.am.orig 2010-06-24 05:07:31.000000000 -0400 -+++ ./modules/Makefile.am 2010-06-24 05:09:12.000000000 -0400 -@@ -62,16 +62,16 @@ - .PHONY: stamp-cache - - stamp-cache: -- $(AM_V_GEN)if test "$(build)" = "$(host)"; then \ -- ../bin/vlc-cache-gen$(EXEEXT) . ; \ -- else \ -- echo "Cross-compilation: cache generation skipped!" ; \ -- fi -- $(AM_V_at)touch stamp-cache -+# $(AM_V_GEN)if test "$(build)" = "$(host)"; then \ -+# ../bin/vlc-cache-gen$(EXEEXT) . ; \ -+# else \ -+# echo "Cross-compilation: cache generation skipped!" ; \ -+# fi -+# $(AM_V_at)touch stamp-cache - - install-exec-hook: -- if test -z "$(DESTDIR)"; then \ -- ../bin/vlc-cache-gen$(EXEEXT) "$(vlclibdir)/plugins" ; \ -- else \ -- echo "Staged installation: cache generation skipped!" ; \ -- fi -+# if test -z "$(DESTDIR)"; then \ -+# ../bin/vlc-cache-gen$(EXEEXT) "$(vlclibdir)/plugins" ; \ -+# else \ -+# echo "Staged installation: cache generation skipped!" ; \ -+# fi Index: files/patch-modules__Makefile.in =================================================================== RCS file: /home/pcvs/ports/multimedia/vlc/files/patch-modules__Makefile.in,v retrieving revision 1.1 diff -u -p -r1.1 patch-modules__Makefile.in --- files/patch-modules__Makefile.in 11 Jul 2010 02:06:56 -0000 1.1 +++ files/patch-modules__Makefile.in 3 Aug 2012 16:17:03 -0000 @@ -1,33 +0,0 @@ ---- ./modules/Makefile.in.orig 2010-06-24 05:07:46.000000000 -0400 -+++ ./modules/Makefile.in 2010-06-24 05:09:54.000000000 -0400 -@@ -1008,19 +1008,19 @@ - .PHONY: stamp-cache - - stamp-cache: -- $(AM_V_GEN)if test "$(build)" = "$(host)"; then \ -- ../bin/vlc-cache-gen$(EXEEXT) . ; \ -- else \ -- echo "Cross-compilation: cache generation skipped!" ; \ -- fi -- $(AM_V_at)touch stamp-cache -+# $(AM_V_GEN)if test "$(build)" = "$(host)"; then \ -+# ../bin/vlc-cache-gen$(EXEEXT) . ; \ -+# else \ -+# echo "Cross-compilation: cache generation skipped!" ; \ -+# fi -+# $(AM_V_at)touch stamp-cache - - install-exec-hook: -- if test -z "$(DESTDIR)"; then \ -- ../bin/vlc-cache-gen$(EXEEXT) "$(vlclibdir)/plugins" ; \ -- else \ -- echo "Staged installation: cache generation skipped!" ; \ -- fi -+# if test -z "$(DESTDIR)"; then \ -+# ../bin/vlc-cache-gen$(EXEEXT) "$(vlclibdir)/plugins" ; \ -+# else \ -+# echo "Staged installation: cache generation skipped!" ; \ -+# fi - - # Tell versions [3.59,3.63) of GNU make to not export all variables. - # Otherwise a system limit (for SysV at least) may be exceeded. Index: files/patch-modules__access__v4l.c =================================================================== RCS file: /home/pcvs/ports/multimedia/vlc/files/patch-modules__access__v4l.c,v retrieving revision 1.1 diff -u -p -r1.1 patch-modules__access__v4l.c --- files/patch-modules__access__v4l.c 11 Jul 2010 02:06:56 -0000 1.1 +++ files/patch-modules__access__v4l.c 3 Aug 2012 16:17:03 -0000 @@ -1,75 +0,0 @@ ---- modules/access/v4l.c.orig Mon Jun 12 09:41:08 2006 -+++ modules/access/v4l.c Mon Jun 12 10:19:59 2006 -@@ -555,7 +555,7 @@ - int i_noframe = -1; - ioctl( p_sys->fd_video, MJPIOC_QBUF_CAPT, &i_noframe ); - } -- -+#if 0 - if( p_sys->p_video_mmap && p_sys->p_video_mmap != MAP_FAILED ) - { - if( p_sys->b_mjpeg ) -@@ -564,7 +564,7 @@ - else - munmap( p_sys->p_video_mmap, p_sys->vid_mbuf.size ); - } -- -+#endif - free( p_sys ); - } - -@@ -1267,6 +1267,15 @@ - } - else - { -+ struct video_window vid_win = { 0 }; -+ vid_win.width = p_sys->i_width; -+ vid_win.height = p_sys->i_height; -+ -+ if( ioctl( i_fd, VIDIOCSWIN, &vid_win ) < 0 ) -+ { -+ msg_Err( p_demux, "cannot set win (%s)", strerror( errno ) ); -+ goto vdev_failed; -+ } - /* Fill in picture_t fields */ - vout_InitPicture( VLC_OBJECT(p_demux), &p_sys->pic, p_sys->i_fourcc, - p_sys->i_width, p_sys->i_height, p_sys->i_width * -@@ -1287,7 +1296,7 @@ - p_sys->i_video_frame_size ); - msg_Dbg( p_demux, "v4l device uses chroma: %4.4s", - (char*)&p_sys->i_fourcc ); -- -+#if 0 - /* Allocate mmap buffer */ - if( ioctl( i_fd, VIDIOCGMBUF, &p_sys->vid_mbuf ) < 0 ) - { -@@ -1316,6 +1325,7 @@ - msg_Err( p_demux, "chroma selection failed" ); - goto vdev_failed; - } -+#endif - } - return i_fd; - -@@ -1577,18 +1587,15 @@ - if( p_sys->i_video_pts + i_dur > mdate() ) return 0; - } - -- if( p_sys->b_mjpeg ) p_frame = GrabMJPEG( p_demux ); -- else p_frame = GrabCapture( p_demux ); -- -- if( !p_frame ) return 0; -- - if( !( p_block = block_New( p_demux, p_sys->i_video_frame_size ) ) ) - { - msg_Warn( p_demux, "cannot get block" ); - return 0; - } - -- memcpy( p_block->p_buffer, p_frame, p_sys->i_video_frame_size ); -+ if(read(p_sys->i_fd, p_block->p_buffer, p_sys->i_video_frame_size) <= 0) -+ return 0; -+ - p_sys->i_video_pts = p_block->i_pts = p_block->i_dts = mdate(); - - return p_block; Index: files/patch-modules-access-dtv-linux.c @@ -0,0 +1,31 @@ +--- modules/access/dtv/linux.c.orig ++++ modules/access/dtv/linux.c +@@ -173,7 +173,14 @@ static int dvb_open_adapter (uint8_t ada + char dir[20]; + + snprintf (dir, sizeof (dir), "/dev/dvb/adapter%"PRIu8, adapter); ++#ifdef O_CLOEXEC + return open (dir, O_SEARCH|O_DIRECTORY|O_CLOEXEC); ++#else ++ int fd = open (dir, O_SEARCH|O_DIRECTORY); ++ if (fd != -1) ++ fcntl(fd, F_SETFD, FD_CLOEXEC); ++ return fd; ++#endif + } + + /** Opens the DVB device node of the specified type */ +@@ -183,7 +190,13 @@ static int dvb_open_node (dvb_device_t * + char path[strlen (type) + 4]; + + snprintf (path, sizeof (path), "%s%u", type, d->device); ++#ifdef O_CLOEXEC + fd = openat (d->dir, path, flags|O_CLOEXEC); ++#else ++ fd = openat (d->dir, path, flags); ++ if (fd != -1) ++ fcntl(fd, F_SETFD, FD_CLOEXEC); ++#endif + if (fd != -1) + fcntl (fd, F_SETFL, fcntl (fd, F_GETFL) | O_NONBLOCK); + return fd; Index: files/patch-modules-gui-qt4-qt4.hpp @@ -0,0 +1,11 @@ +--- modules/gui/qt4/qt4.hpp.orig ++++ modules/gui/qt4/qt4.hpp +@@ -34,7 +34,7 @@ + #include /* playlist_t */ + + #define QT_NO_CAST_TO_ASCII +-#include ++#include + + #if ( QT_VERSION < 0x040600 ) + # error Update your Qt version to at least 4.6.0 Index: files/patch-modules-gui-qt4-util-pictureflow.cpp @@ -0,0 +1,27 @@ +--- modules/gui/qt4/util/pictureflow.cpp.orig ++++ modules/gui/qt4/util/pictureflow.cpp +@@ -28,15 +28,15 @@ + #include "pictureflow.hpp" + #include "components/playlist/ml_model.hpp" + +-#include +-#include +-#include +-#include +-#include +-#include +-#include +-#include +-#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include + #include "../components/playlist/playlist_model.hpp" /* getArtPixmap etc */ + #include "../components/playlist/sorting.h" /* Columns List */ + #include "input_manager.hpp" Index: files/patch-modules-gui-qt4-util-pictureflow.hpp @@ -0,0 +1,11 @@ +--- modules/gui/qt4/util/pictureflow.hpp.orig ++++ modules/gui/qt4/util/pictureflow.hpp +@@ -28,7 +28,7 @@ + #ifndef PICTUREFLOW_H + #define PICTUREFLOW_H + +-#include ++#include + #include "../components/playlist/playlist_model.hpp" /* getArtPixmap etc */ + + class PictureFlowPrivate; Index: files/patch-modules-gui-skins2-x11-x11_window.cpp @@ -0,0 +1,10 @@ +--- modules/gui/skins2/x11/x11_window.cpp.orig 2011-12-08 19:00:26.000000000 +0100 ++++ modules/gui/skins2/x11/x11_window.cpp 2012-08-03 15:47:39.000000000 +0200 +@@ -36,6 +36,7 @@ + #include "x11_factory.hpp" + + #include ++#include + + X11Window::X11Window( intf_thread_t *pIntf, GenericWindow &rWindow, + X11Display &rDisplay, bool dragDrop, bool playOnDrop, Index: files/patch-modules-access-dtv-access.c @@ -0,0 +1,38 @@ +--- modules/access/dtv/access.c.orig ++++ modules/access/dtv/access.c +@@ -198,7 +198,7 @@ static const char *const polarization_us + "low noise block-downconverters (LNB) through a DiSEqC 1.0 switch, " \ + "the correct LNB can be selected (1 to 4). " \ + "If there is no switch, this parameter should be 0.") +-#ifdef __linux__ ++#if defined(__linux__) || defined(__FreeBSD__) + static const int satno_vlc[] = { 0, 1, 2, 3, 4 }; + static const char *const satno_user[] = { N_("Unspecified"), + "A/1", "B/2", "C/3", "D/4" }; +@@ -242,7 +242,7 @@ vlc_module_begin () + #endif + ) + +-#ifdef __linux__ ++#if defined(__linux__) || defined(__FreeBSD__) + add_integer ("dvb-adapter", 0, ADAPTER_TEXT, ADAPTER_LONGTEXT, false) + change_integer_range (0, 255) + change_safe () +@@ -366,7 +366,7 @@ vlc_module_begin () + change_integer_range (0, 18) + change_private () + change_safe () +-#ifdef __linux__ ++#if defined(__linux__) || defined(__FreeBSD__) + add_bool ("dvb-high-voltage", false, + HIGH_VOLTAGE_TEXT, HIGH_VOLTAGE_LONGTEXT, false) + #endif +@@ -380,7 +380,7 @@ vlc_module_begin () + LNB_SWITCH_TEXT, LNB_SWITCH_LONGTEXT, true) + change_integer_range (0, 0x7fffffff) + add_obsolete_integer ("dvb-lnb-slof") /* since 2.0.0 */ +-#ifdef __linux__ ++#if defined(__linux__) || defined(__FreeBSD__) + add_integer ("dvb-satno", 0, SATNO_TEXT, SATNO_LONGTEXT, true) + change_integer_list (satno_vlc, satno_user) + add_integer ("dvb-tone", -1, TONE_TEXT, TONE_LONGTEXT, true) Index: files/patch-modules-gui-qt4-components-open_panels.cpp @@ -0,0 +1,11 @@ +--- modules/gui/qt4/components/open_panels.cpp.orig ++++ modules/gui/qt4/components/open_panels.cpp +@@ -925,7 +925,7 @@ void CaptureOpenPanel::initialize() + + dvbCard = new QSpinBox; + dvbCard->setAlignment( Qt::AlignRight ); +-#ifdef __linux__ ++#if defined(__linux__) || defined(__FreeBSD__) + dvbCard->setPrefix( "/dev/dvb/adapter" ); + #endif + dvbDevLayout->addWidget( dvbDeviceLabel, 0, 0 ); Index: files/patch-modules-audio_output-vlcpulse.c @@ -0,0 +1,15 @@ +--- modules/audio_output/vlcpulse.c.orig ++++ modules/audio_output/vlcpulse.c +@@ -107,7 +107,12 @@ pa_context *vlc_pa_connect (vlc_object_t + //pa_proplist_sets (props, PA_PROP_APPLICATION_PROCESS_BINARY, + // PACKAGE_NAME); + ++#ifdef __FreeBSD__ ++ /* sysconf (_SC_GETPW_R_SIZE_MAX) returns -1 on FreeBSD */ ++ char buf[LINE_MAX + 1]; ++#else + char buf[sysconf (_SC_GETPW_R_SIZE_MAX)]; ++#endif + struct passwd pwbuf, *pw; + + if (getpwuid_r (getuid (), &pwbuf, buf, sizeof (buf), &pw) == 0