ports/148237: Rewrite and update of multimedia/vlc to 1.1.0

Joseph S. Atkinson jsa at wickedmachine.net
Tue Jun 29 17:40:06 UTC 2010


>Number:         148237
>Category:       ports
>Synopsis:       Rewrite and update of multimedia/vlc to 1.1.0
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          maintainer-update
>Submitter-Id:   current-users
>Arrival-Date:   Tue Jun 29 17:40:05 UTC 2010
>Closed-Date:
>Last-Modified:
>Originator:     Joseph S. Atkinson
>Release:        
>Organization:
>Environment:
>Description:
This is a significant re-write of the vlc port. It has less legacy glue, more options, and is organized to hopefully be readable by anyone else that comes along after me. There are also many changes for consistency with the way things are supposed to be done in the ports tree.

VLC has seen significant changes as well, ending support for many features and adding plenty of new ones, as well as performance improvements. See the changelog at http://wwww.videolan.org/ for full details.\

Specifically, VLC has implemented X11 output via XCB. The old X11 feature was no longer a viable option. Instead, I have implemented a WANT_SERVER_ONLY envar which will hopefully preserve the intended behavior people expected from the WITHOUT_X11 option.

In addition, VLC has an increasing dependency on Lua scripting for certain functionality, and thus Lua is now enabled by default.

I fully expect certain combinations of options to not work as expected, or even as they previously did. However, I cannot anticipate every use of this port.
>How-To-Repeat:

>Fix:
IMPORTANT:

These files were moved rather than deleted, so repocopy to preserve histories:

files/extra-patch-modules_access_v4l2.c -> files/extra-patch-modules__access__v4l2.c
files/patch-v4l -> files/patch-modules__access__v4l.c

These files were removed:

Makefile.in
files/extra-patch-src_misc_thread.c
files/patch-configure-dvbpsi
files/patch-modules_access_pvr.c
files/patch-modules_codec_png.c

And these files were created:

files/patch-modules__access__file.c
files/patch-modules__gui__qt4__util__customwidgets.cpp

If the patch fails to apply cleanly for whatever reason, or if there is any question about the ports intended structure, a shar archive of the port can be found at:

http://wickedmachine.net/~jsa/FreeBSD/testports/vlc_1.1.0.shar

MD5 (vlc_1.1.0.shar) = b914df2472a1838a247dde7f3fa7e40f
SHA256 (vlc_1.1.0.shar) = 69552708de58036373dcd1adffa5e3b6e5250d1d9a21bc81d6cfc99a1ab44e50

And good luck with the tinderboxes!

Patch attached with submission follows:

diff -ruN /usr/ports/multimedia/vlc/Makefile vlc/Makefile
--- /usr/ports/multimedia/vlc/Makefile	2010-06-07 08:41:56.000000000 -0400
+++ vlc/Makefile	2010-06-28 21:54:42.000000000 -0400
@@ -3,14 +3,10 @@
 # Whom:			Brian Somers <brian at FreeBSD.org>
 #
 # $FreeBSD: ports/multimedia/vlc/Makefile,v 1.224 2010/06/06 20:43:59 naddy Exp $
-#   $MCom: ports-stable/multimedia/vlc/Makefile,v 1.6 2009/01/09 23:41:21 mezz Exp $
-#      $Id: Makefile 6 2006-09-27 14:05:34Z buhnux $
-# *** PLEASE READ Makefile.inc for more information on knobs ***
 #
 
 PORTNAME=	vlc
-DISTVERSION=	1.0.6
-PORTREVISION=	3
+DISTVERSION=	1.1.0
 PORTEPOCH=	3
 CATEGORIES=	multimedia audio ipv6 net www
 MASTER_SITES=	http://download.videolan.org/pub/videolan/${PORTNAME}/${DISTVERSION}/ \
@@ -18,54 +14,80 @@
 		ftp://ftp.crans.org/pub/videolan/${PORTNAME}/${DISTVERSION}/
 
 MAINTAINER=	jsa at wickedmachine.net
-COMMENT=	Multimedia streaming server and player for various audio/video formats
+COMMENT=	Qt4 based multimedia player and streaming server
 
 LIB_DEPENDS=	avcodec.1:${PORTSDIR}/multimedia/ffmpeg
-RUN_DEPENDS=	${LOCALBASE}/lib/X11/fonts/bitstream-vera/Vera.ttf:${PORTSDIR}/x11-fonts/bitstream-vera
 
-OPTIONS=	A52 "a52 audio support, many DVDs use this" On \
+LICENSE=	GPLv2
+LICENSE_FILE=	${WRKSRC}/COPYING
+
+OPTIONS=	A52 "A52 DVD audio decoder" On \
 		AALIB "Aalib Console Graphics Support" Off \
-		AVAHI "Avahi (Rendezvous/Bonjour (R) ) networking" On \
-		CACA "Libcaca Console Graphics Support" Off \
+		AVAHI "Enable Avahi mDNS networking" On \
+		CACA "Libcaca Console Graphics Support (requires AALIB)" Off \
 		DBUS "Enable D-Bus control support" On \
-		DEBUG "Enable debuging support" Off \
 		DIRAC "Enable Dirac support" Off \
-		DTS "DTS decoder support, many DVDs use this" On \
-		FAAC "Faac audio encoder (mp4/aac) support" Off \
+		DTS "DTS DVD audio decoder" On \
+		DVDREAD "DVD Playback support" On \
+		DVDNAV "DVD menu navigation" On \
+		DVBPSI "DVBPSI mux/demux support" Off \
 		FAAD "Faad audio decoder (mp4/aac) support" On \
 		FLAC "Flac audio codec support" On \
-		GNOMEVFS "Gnome VFS support" On \
+		FLUID "Enable Fluidsynth MIDI support" Off \
+		FRIBIDI "FriBidi bidirectional unicode support" Off \
+		GGI "General Graphic Interface support" Off \
+		GLX "X11 OpenGL rendering (requires XCB)" On \
+		GNOMEVFS "Gnome VFS support" Off \
+		GNUTLS "Enable viewing/transmission of encrypted streams" On \
 		HTTPD "Streaming media control via http" On \
+		JACK "Jack audio support" Off \
 		LIVEMEDIA "Support for rstp/rtp/sdp protocols" On \
-		LUA "Enable lua scripting" Off \
+		LUA "Enable Lua scripting" On \
 		MAD "Mad mp3 audio decoder support" On \
 		MATROSKA "Matroska Container Format support" On \
+		MODPLUG "Mod audio suport" Off \
 		MPEG2 "Mpeg-2 audio/video decoder Support" On \
+		MUSEPACK "Musepack audio support" Off \
 		NCURSES "Enable ncurses (console) interface" Off \
+		NLS "Native Language Support" On \
+		NOTIFY "Enable tray notifications" Off \
+		OCFLAGS "Optimized CFLAGS" Off \
 		OGG "Ogg audio decoder support" On \
-		QT4 "QT4 Interface (requires X11)" On \
-		REALAUDIO "Real audio(R) support" On \
+		OPENGL "OpenGL acceleration support" Off \
+		PNG "PNG graphics format support" On \
+		PULSE "Pulse Audio support" Off \
+		QT4 "Qt4 Interface" On \
+		REALAUDIO "Real Audio(R) support" On \
 		SAMBA "SAMBA Access module" On \
+		SCHROED "Enable Schroedinger decoder" Off \
 		SDL "SDL video output" On \
-		SVG "SVG graphics support" Off \
-		SVGALIB "SVGALIB video output" Off \
 		SHOUT "Shout2 support" Off \
 		SKINS "Enable winamp skins interface (requires QT4)" On \
+		STREAM "Enable stream output" On \
 		SPEEX "Speex voice codec support" On \
+		SQLITE "Enable SQLite database support" Off \
+		SVG "SVG graphics support" Off \
+		SVGALIB "SVGALIB video output" Off \
+		TAGLIB "ID3 tag and Ogg comment support" On \
 		THEORA "OGG/Vorbis video codec support" On \
+		TREMOR "Tremor voice audio (redundant with Vorbis)" Off \
 		TWOLAME "Twolame mpeg2 audio encoder support" On \
+		UPNP "Enable UPnP network device control" Off \
 		V4L "Enable Video for Linux & DVB support" On \
-		VORBIS "Vorbis support" On \
-		WIN32_CODECS "win32 multimedia DLL's" Off \
+		VCD "Video CD support" On \
+		VORBIS "Vorbis audio decoder support" On \
 		X264 "Enable H.264/AVC codec support" On \
-		X11 "Enable X11 (disable for stream only server)" On
+		XCB "Use X C Bindings for X11 output" On \
+		XOSD "X11 On Screen Display support" Off \
+		XVIDEO "X11 video rendering (requires XCB)" On \
+		ZVBI "VBI decoding support" Off
 
 USE_BZIP2=	yes
 USE_GMAKE=	yes
 USE_ICONV=	yes
 USE_PERL5_BUILD=yes
 
-FAKEDIR=	${WRKDIR}/fake/${PREFIX}
+FAKEDIR=	${WRKDIR}/fake${PREFIX}
 PLIST=		${WRKDIR}/plist
 
 USE_LDCONFIG=	yes
@@ -74,16 +96,18 @@
 		LDFLAGS="${LDFLAGS} -L${FAKEDIR}/lib -L${LOCALBASE}/lib ${PTHREAD_LIBS} -lc" \
 		LIBS="-lc"
 
-CONFIGURE_ARGS+=	--enable-vlc \
-			--enable-release \
+CONFIGURE_ARGS+=--enable-vlc \
 			--enable-avcodec \
 			--enable-avformat \
+			--enable-oss \
 			--enable-postproc \
-			--without-dv-raw1394 \
+			--enable-sftp \
 			--disable-alsa \
-			--disable-dv \
-			--disable-galaktos \
-			--disable-glx
+			--disable-directfb \
+			--disable-loader \
+			--disable-telx \
+			--disable-update-check \
+			--disable-v4l2
 
 MAN1=		vlc.1 \
 		vlc-config.1 \
@@ -91,23 +115,50 @@
 
 .include <bsd.port.options.mk>
 
-.if !defined(WITHOUT_X11)
-WANT_GNOME=	yes
-USE_GNOME=	gnomehack gnometarget libxml2
+# Macro section
+# Use these for batch control of certain types of builds
+
+# WANT_SERVER_ONLY=yes
+# Use this to disable all UI and output modules
+# You must still tune other options, such as WITHOUT_LUA, if desired
+.if defined(WANT_SERVER_ONLY)
+WITHOUT_QT4=yes
+WITHOUT_V4L=yes
+WITHOUT_XCB=yes
 .endif
-.if !defined(WITHOUT_SDL) && !defined(WITHOUT_X11)
-WANT_SDL=	yes
+
+# This was the old DEBUG option, differs in function than bsd.port.mk's knob
+.if defined(VERBOSE_MODE)
+CONFIGURE_ARGS+=--enable-debug
+.else
+CONFIGURE_ARGS+=--disable-debug
 .endif
-.if !defined(WITHOUT_QT4) && !defined(WITHOUT_X11)
+
+# Disable DVD specific features
+.if defined(WITHOUT_DVD)
+WITHOUT_A52=yes
+WITHOUT_DTS=yes
+WITHOUT_DVDREAD=yes
+WITHOUT_DVDNAV=yes
+.endif
+
+# End Macro section
+
+# QT4 bits must be included before bsd.port.pre.mk
+.if defined(WITHOUT_QT4)
+CONFIGURE_ARGS+=--disable-qt4
+.else
 USE_QT_VER=	4
 QT_COMPONENTS=	gui corelib moc_build rcc_build uic_build
+CONFIGURE_ARGS+=--enable-qt4
 .endif
 
 .include <bsd.port.pre.mk>
 
+# OS specific hacks
 .if (${OSVERSION} < 700042) && defined(WITH_QT4)
-IGNORE=	does not build on FreeBSD 6.x with Qt4.x, set this OPTION to off or define\
-	WITHOUT_QT4 to build CLI only version
+IGNORE=	does not build on FreeBSD 6.x with Qt4.x, set this OPTION to off or\
+	define WITHOUT_QT4 to build CLI only version
 .endif
 
 .if (${OSVERSION} < 701000)
@@ -118,489 +169,530 @@
 EXTRA_PATCHES+=	${FILESDIR}/extra-patch-modules_access_v4l2.c
 .endif
 
-WITH_VLC_DEFAULT_FONT?=	${LOCALBASE}/lib/X11/fonts/bitstream-vera/Vera.ttf
-
 .if ${PERL_LEVEL} < 500800
 BROKEN=	Does not compile with perl ${PERL_VERSION}
 .endif
+# End OS specific hacks
 
-.if !defined(WITHOUT_QT4) && !defined(WITHOUT_X11)
-CONFIGURE_ARGS+=--enable-qt4
-.else
-CONFIGURE_ARGS+=--disable-qt4
-.endif
-
-.if defined(WITHOUT_DBUS)
-CONFIGURE_ARGS+=--disable-dbus
-.else
-LIB_DEPENDS+=	dbus-1.3:${PORTSDIR}/devel/dbus
-CONFIGURE_ARGS+=--enable-dbus
-.endif
-
-# compatible knobs.
-.if defined(WITH_DEBUG)
-DEBUG=	yes
-.endif
+# User tunables
 
-.if defined(WITH_LIBMPEG2)
-WITH_MPEG2=yes
-.endif
+# Define these to override
+WITH_CDROM_DEVICE?=/dev/acd0
+WITH_DVD_DEVICE?=/dev/acd0
 
-.if defined(WITH_LIBCACA)
-WITH_CACA=yes
+# 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
+RUN_DEPENDS+=	${LOCALBASE}/lib/X11/fonts/bitstream-vera/Vera.ttf:${PORTSDIR}/x11-fonts/bitstream-vera
 .endif
 
-.if defined(WITH_LIBA52)
-WITH_A52=yes
-.endif
+# OPTIONS
+# Keep these organized!
 
-.if defined(WITH_SMB)
-WITH_SAMBA=yes
-.endif
-
-.if defined(WITH_LIBMATROSKA)
-WITH_MATROSKA=yes
+.if defined(WITHOUT_A52)
+CONFIGURE_ARGS+=--disable-a52
+.else
+LIB_DEPENDS+=	a52.0:${PORTSDIR}/audio/liba52
+CONFIGURE_ARGS+=--enable-a52
 .endif
 
-.if defined(WITH_LIBTREMOR)
-WITH_TREMOR=yes
+.if defined(WITH_AALIB)
+LIB_DEPENDS+=	aa.1:${PORTSDIR}/graphics/aalib
+CONFIGURE_ARGS+=--enable-aa
+.else
+CONFIGURE_ARGS+=--disable-aa
 .endif
-# end compatible knobs
 
-.if defined(WITHOUT_NLS)
-CONFIGURE_ARGS+=--disable-nls
+.if defined(WITH_AVAHI)
+LIB_DEPENDS+=	avahi-common.3:${PORTSDIR}/net/avahi-app
+CONFIGURE_ARGS+=--enable-bonjour
 .else
-USE_GETTEXT=	yes
+CONFIGURE_ARGS+=--disable-bonjour
 .endif
 
-.if defined(WITH_DVD_DEVICE)
-DEFAULT_DVD_DEVICE=${WITH_DVD_DEVICE}
+.if defined(WITH_CACA) && defined(WITH_AALIB)
+LIB_DEPENDS+=	caca.0:${PORTSDIR}/graphics/libcaca
+CONFIGURE_ARGS+=--enable-caca
 .else
-DEFAULT_DVD_DEVICE=/dev/acd0
+CONFIGURE_ARGS+=--disable-caca
 .endif
 
-.if !defined(WITHOUT_GNOMEVFS) && !defined(WITHOUT_X11)
-USE_GNOME+=	gnomevfs2
-CONFIGURE_ARGS+=	--enable-gnomevfs
+.if defined(WITHOUT_DBUS)
+CONFIGURE_ARGS+=--disable-dbus
 .else
-CONFIGURE_ARGS+=	--disable-gnomevfs
+LIB_DEPENDS+=	dbus-1.3:${PORTSDIR}/devel/dbus
+CONFIGURE_ARGS+=--enable-dbus
 .endif
 
-.if defined(WITH_CDROM_DEVICE)
-DEFAULT_CDROM_DEVICE=${WITH_CDROM_DEVICE}
+.if defined(WITH_DIRAC)
+LIB_DEPENDS+=	dirac_decoder.1:${PORTSDIR}/multimedia/dirac
+CONFIGURE_ARGS+=--enable-dirac
+CPPFLAGS+=	-I${LOCALBASE}/include/dirac
 .else
-DEFAULT_CDROM_DEVICE=/dev/acd0
+CONFIGURE_ARGS+=--disable-dirac
 .endif
 
-.if !defined(WITHOUT_LIBNOTIFY) && !defined(WITHOUT_X11)
-LIB_DEPENDS+=	notify.1:${PORTSDIR}/devel/libnotify
-CONFIGURE_ARGS+=--enable-notify
+.if defined(WITHOUT_DTS)
+CONFIGURE_ARGS+=--disable-dca
 .else
-CONFIGURE_ARGS+=--disable-notify
+LIB_DEPENDS+=	dca.0:${PORTSDIR}/multimedia/libdca
+CONFIGURE_ARGS+=--enable-dca
 .endif
 
-.if defined(WITH_SKINS) && !defined(WITHOUT_SKINS) && !defined(WITHOUT_QT4) && !defined(WITHOUT_X11)
-LIB_DEPENDS+=	tar.0:${PORTSDIR}/devel/libtar
-CONFIGURE_ARGS+=--enable-skins2 --enable-libtar
+.if defined(WITH_DVBPSI)
+LIB_DEPENDS+=	dvbpsi.5:${PORTSDIR}/multimedia/libdvbpsi
+CONFIGURE_ARGS+=--enable-dvbpsi \
+		--with-dvbpsi=${LOCALBASE}
 .else
-CONFIGURE_ARGS+=--disable-skins2 --disable-libtar
+CONFIGURE_ARGS+=--disable-dvbpsi
 .endif
 
-.if ${ARCH}=="i386" && defined(WITH_WIN32_CODECS)
-RUN_DEPENDS+=	${LOCALBASE}/lib/win32/wmv8ds32.ax:${PORTSDIR}/multimedia/win32-codecs
-CONFIGURE_ARGS+=--enable-loader
+.if defined(WITHOUT_DVDREAD)
+CONFIGURE_ARGS+=--disable-dvdread
 .else
-CONFIGURE_ARGS+=--disable-loader
+LIB_DEPENDS+=	dvdread.4:${PORTSDIR}/multimedia/libdvdread
+CONFIGURE_ARGS+=--enable-dvdread
 .endif
 
-.if defined(WITH_JACK) && !defined(WITHOUT_JACK)
-LIB_DEPENDS+=	jack.0:${PORTSDIR}/audio/jack
-CONFIGURE_ARGS+=--enable-jack
+.if defined(WITHOUT_DVDNAV)
+CONFIGURE_ARGS+=--disable-dvdnav
 .else
-CONFIGURE_ARGS+=--disable-jack
+LIB_DEPENDS+=	dvdnav.4:${PORTSDIR}/multimedia/libdvdnav
+CONFIGURE_ARGS+=--enable-dvdnav
 .endif
 
-.if defined(WITH_REMOTE_OSD)
-LIB_DEPENDS+=	gcrypt.16:${PORTSDIR}/security/libgcrypt
-CONFIGURE_ARGS+=--enable-remoteosd
+.if defined(WITHOUT_FAAD)
+CONFIGURE_ARGS+=--disable-faad
 .else
-CONFIGURE_ARGS+=--disable-remoteosd
+LIB_DEPENDS+=	faad.2:${PORTSDIR}/audio/faad
+CONFIGURE_ARGS+=--enable-faad
 .endif
 
-.if defined(WITH_PULSEAUDIO) && !defined(WITHOUT_PULSEAUDIO)
-LIB_DEPENDS+=	pulse.0:${PORTSDIR}/audio/pulseaudio
-CONFIGURE_ARGS+=--enable-pulse
+.if defined(WITHOUT_FLAC)
+CONFIGURE_ARGS+=--disable-flac
 .else
-CONFIGURE_ARGS+=--disable-pulse
+LIB_DEPENDS+=	FLAC.10:${PORTSDIR}/audio/flac
+CONFIGURE_ARGS+=--enable-flac
 .endif
 
-.if defined(WITH_FLUIDSYNTH) && !defined(WITHOUT_FLUIDSYNTH)
+.if defined(WITH_FLUID)
 LIB_DEPENDS+=	fluidsynth.4:${PORTSDIR}/audio/fluidsynth
 CONFIGURE_ARGS+=--enable-fluidsynth
 .else
 CONFIGURE_ARGS+=--disable-fluidsynth
 .endif
 
-.if !defined(WITHOUT_ZVBI)
-LIB_DEPENDS+=	zvbi.13:${PORTSDIR}/devel/libzvbi
-CONFIGURE_ARGS+=--enable-zvbi
+.if defined(WITHOUT_FRIBIDI)
+CONFIGURE_ARGS+=--disable-fribidi
 .else
-CONFIGURE_ARGS+=--disable-zvbi
+LIB_DEPENDS+=	fribidi.3:${PORTSDIR}/converters/fribidi
+CONFIGURE_ARGS+=--enable-fribidi
 .endif
 
-.if !defined(WITHOUT_HAL) && !defined(WITHOUT_X11)
-LIB_DEPENDS+=	hal.1:${PORTSDIR}/sysutils/hal
-CONFIGURE_ARGS+=--enable-hal
+.if defined(WITH_GGI)
+LIB_DEPENDS+=	ggi.2:${PORTSDIR}/graphics/libggi
+CONFIGURE_ARGS+=--enable-ggi
 .else
-CONFIGURE_ARGS+=--disable-hal
+CONFIGURE_ARGS+=--disable-ggi
 .endif
 
-.if !defined(WITHOUT_AVAHI)
-LIB_DEPENDS+=	avahi-common.3:${PORTSDIR}/net/avahi-app
-CONFIGURE_ARGS+=	--enable-bonjour
+.if defined(WITHOUT_GLX)
+CONFIGURE_ARGS+=--disable-glx
 .else
-CONFIGUE_ARGS+=		--disable-bonjour
+CONFIGURE_ARGS+=--enable-glx
 .endif
 
-.if !defined(WITHOUT_CDROM)
-LIB_DEPENDS+=	vcdinfo.2:${PORTSDIR}/multimedia/vcdimager \
-		cdio.12:${PORTSDIR}/sysutils/libcdio
-CONFIGURE_ARGS+=--enable-vcd \
-		--enable-libcddb \
-		--disable-cddax
+# This will force VLC to depend on GTK
+.if defined(WITH_GNOMEVFS)
+USE_GNOME=	gnomevfs2
+CONFIGURE_ARGS+=--enable-gnomevfs
 .else
-CONFIGURE_ARGS+=--disable-vcd \
-		--disable-libcddb \
-		--disable-libcdio \
-		--disable-cddax
+CONFIGURE_ARGS+=--disable-gnomevfs
 .endif
 
-.if !defined(WITHOUT_CDPARANOIA) && !defined(WITHOUT_CDROM)
-LIB_DEPENDS+=	cdda_interface.0:${PORTSDIR}/audio/cdparanoia
-CONFIGURE_ARGS+=--enable-cdda \
-		--enable-cddax
+.if defined(WITHOUT_GNUTLS)
+CONFIGURE_ARGS+=--disable-gnutls
 .else
-CONFIGURE_ARGS+=--disable-cdda \
-		--disable-cddax
+LIB_DEPENDS+=	gnutls.40:${PORTSDIR}/security/gnutls
+CONFIGURE_ARGS+=--enable-gnutls
 .endif
 
-.if !defined(WITHOUT_DVBPSI)
-LIB_DEPENDS+=	dvbpsi.5:${PORTSDIR}/multimedia/libdvbpsi
-CONFIGURE_ARGS+=--enable-dvbpsi \
-		--with-dvbpsi=${LOCALBASE}
+.if defined(WITHOUT_HTTPD)
+CONFIGURE_ARGS+=--disable-httpd
 .else
-CONFIGURE_ARGS+=--disable-dvbpsi
+CONFIGURE_ARGS+=--enable-httpd
 .endif
 
-.if !defined(WITHOUT_DVDNAV)
-LIB_DEPENDS+=	dvdnav.4:${PORTSDIR}/multimedia/libdvdnav
-CONFIGURE_ARGS+=--enable-dvdnav
+.if defined(WITH_JACK)
+LIB_DEPENDS+=	jack.0:${PORTSDIR}/audio/jack
+CONFIGURE_ARGS+=--enable-jack
 .else
-CONFIGURE_ARGS+=--disable-dvdnav
+CONFIGURE_ARGS+=--disable-jack
 .endif
 
-.if defined(WITH_DVDREAD) && !defined(WITHOUT_DVDREAD)
-LIB_DEPENDS+=	dvdread.4:${PORTSDIR}/multimedia/libdvdread
-CONFIGURE_ARGS+=--enable-dvdread
+.if defined(WITHOUT_LIVEMEDIA)
+CONFIGURE_ARGS+=--disable-live555
 .else
-CONFIGURE_ARGS+=--disable-dvdread
-.endif
-
-.if defined(WITH_FAAC) && !defined(WITHOUT_FAAC)
-CONFIGURE_ARGS+=--with-ffmpeg-faac
-LIB_DEPENDS+=	faac.0:${PORTSDIR}/audio/faac
+BUILD_DEPENDS+=	${LOCALBASE}/live/liveMedia/libliveMedia.a:${PORTSDIR}/net/liveMedia
+CONFIGURE_ARGS+=--enable-live555 \
+		--with-live555-tree=${LOCALBASE}/live
 .endif
 
-.if (defined(WITH_FAAD) || exists(${LOCALBASE}/lib/libfaad.a)) && !defined(WITHOUT_FAAD)
-LIB_DEPENDS+=	faad.2:${PORTSDIR}/audio/faad
-CONFIGURE_ARGS+=--enable-faad
+# This may become mandantory in the future
+.if defined(WITHOUT_LUA)
+CONFIGURE_ARGS+=--disable-lua
 .else
-CONFIGURE_ARGS+=--disable-faad
+USE_LUA=5.1+
+WANT_LUA_VER=5.1
+CONFIGURE_ENV=	LUA_CFLAGS="-I${LUA_INCDIR}" LUA_LIBS="-L${LUA_LIBDIR} -llua"
+CONFIGURE_ARGS+=--enable-lua LUAC=luac-${WANT_LUA_VER}
 .endif
 
-.if (defined(WITH_FLAC) || exists(${LOCALBASE}/lib/libFLAC.a)) && !defined(WITHOUT_FLAC)
-LIB_DEPENDS+=	FLAC.10:${PORTSDIR}/audio/flac
-CONFIGURE_ARGS+=--enable-flac
+.if defined(WITHOUT_MAD)
+CONFIGURE_ARGS+=--disable-mad
 .else
-CONFIGURE_ARGS+=--disable-flac
+LIB_DEPENDS+=	id3tag.0:${PORTSDIR}/audio/libid3tag \
+		mad.2:${PORTSDIR}/audio/libmad
+CONFIGURE_ARGS+=--enable-mad --with-mad=${LOCALBASE}
 .endif
 
-.if (defined(WITH_FRIBIDI) || exists(${LOCALBASE}/bin/fribidi-config)) && !defined(WITHOUT_FRIBIDI)
-LIB_DEPENDS+=	fribidi.3:${PORTSDIR}/converters/fribidi
-CONFIGURE_ARGS+=--enable-fribidi
+.if defined(WITHOUT_MATROSKA)
+CONFIGURE_ARGS+=--disable-mkv
 .else
-CONFIGURE_ARGS+=--disable-fribidi
+LIB_DEPENDS+=	matroska.0:${PORTSDIR}/multimedia/libmatroska
+CONFIGURE_ARGS+=--enable-mkv
 .endif
 
-.if (defined(WITH_AALIB) || exists(${LOCALBASE}/lib/libaa.so.1)) && !defined(WITHOUT_AALIB)
-LIB_DEPENDS+=	aa.1:${PORTSDIR}/graphics/aalib
-CONFIGURE_ARGS+=--enable-aa
+.if defined(WITH_MODPLUG)
+LIB_DEPENDS+=	modplug.1:${PORTSDIR}/audio/libmodplug
+CONFIGURE_ARGS+=--enable-mod
 .else
-CONFIGURE_ARGS+=--disable-aa
+CONFIGURE_ARGS+=--disable-mod
 .endif
 
-.if (defined(WITH_DIRAC) || exists(${LOCALBASE}/lib/libdirac_decoder.a)) && !defined(WITHOUT_DIRAC)
-LIB_DEPENDS+=	dirac_decoder.1:${PORTSDIR}/multimedia/dirac
-CONFIGURE_ARGS+=--enable-dirac
-CPPFLAGS+=	-I${LOCALBASE}/include/dirac
+.if defined(WITHOUT_MPEG2)
+CONFIGURE_ARGS+=--disable-libmpeg2
 .else
-CONFIGURE_ARGS+=--disable-dirac
+LIB_DEPENDS+=	mpeg2.0:${PORTSDIR}/multimedia/libmpeg2
+CONFIGURE_ARGS+=--enable-libmpeg2
 .endif
 
-.if defined(WITH_SCHROEDINGER) && !defined(WITHOUT_SCHROEDINGER)
-LIB_DEPENDS+=	schroedinger-1.0.3:${PORTSDIR}/multimedia/schroedinger
-CONFIGURE_ARGS+=--enable-schroedinger
+.if defined(WITHOUT_MUSEPACK)
+CONFIGURE_ARGS+=--disable-mpc
 .else
-CONFIGURE_ARGS+=--disable-schroedinger
+LIB_DEPENDS+=	mpcdec.5:${PORTSDIR}/audio/libmpcdec
+CONFIGURE_ARGS+=--enable-mpc
 .endif
 
-.if !defined(WITHOUT_X264)
-CONFIGURE_ARGS+=--enable-x264
-LIB_DEPENDS+=	x264.85:${PORTSDIR}/multimedia/x264
+.if defined(WITH_NCURSES)
+CONFIGURE_ARGS+=--enable-ncurses
 .else
-CONFIGURE_ARGS+=--disable-x264
+CONFIGURE_ARGS+=--disable-ncurses
 .endif
 
-.if (defined(WITH_LUA) || exists(${LOCALBASE}/lib/lua51/liblua.a)) && !defined(WITHOUT_LUA)
-USE_LUA=5.1+
-WANT_LUA_VER=5.1
-CONFIGURE_ENV=	LUA_CFLAGS="-I${LUA_INCDIR}" LUA_LIBS="-L${LUA_LIBDIR} -llua"
-CONFIGURE_ARGS+=--enable-lua
+.if defined(WITHOUT_NLS)
+CONFIGURE_ARGS+=--disable-nls
 .else
-CONFIGURE_ARGS+=--disable-lua
+USE_GETTEXT=	yes
 .endif
 
-.if (defined(WITH_CACA) || exists(${LOCALBASE}/lib/libcaca.a)) && !defined(WITHOUT_CACA)
-.if !defined(WITHOUT_AALIB)
-WITH_AALIB=	yes
-LIB_DEPENDS+=	caca.0:${PORTSDIR}/graphics/libcaca
-CONFIGURE_ARGS+=--enable-caca
-.endif
+.if defined(WITH_NOTIFY)
+CONFIGURE_ARGS+=--enable-notify
+LIB_DEPENDS+=	notify.1:${PORTSDIR}/devel/libnotify
 .else
-CONFIGURE_ARGS+=--disable-caca
+CONFIGURE_ARGS+=--disable-notify
 .endif
 
-.if !defined(WITHOUT_DTS)
-LIB_DEPENDS+=	dca.0:${PORTSDIR}/multimedia/libdca
-CONFIGURE_ARGS+=--enable-dca
-.else
-CONFIGURE_ARGS+=--disable-dca
+.if defined(WITH_OCFLAGS)
+CFLAGS+=-O3 -ffast-math -fomit-frame-pointer
+CONFIGURE_ARGS+=--enable-optimizations --enable-mmx --enable-sse
 .endif
 
-.if defined(WITHOUT_HTTPD)
-CONFIGURE_ARGS+=--disable-httpd
+.if !defined(WITHOUT_OGG)
+LIB_DEPENDS+=	ogg.7:${PORTSDIR}/audio/libogg
+CONFIGURE_ARGS+=--enable-ogg
+.else
+CONFIGURE_ARGS+=--disable-ogg
+WITHOUT_VORBIS=	yes
 .endif
 
-.if (defined(WITH_GGI) || exists(${LOCALBASE}/lib/libggi.a)) && !defined(WITHOUT_GGI)
-LIB_DEPENDS+=	ggi.2:${PORTSDIR}/graphics/libggi
-CONFIGURE_ARGS+=--enable-ggi
+.if defined(WITH_OPENGL)
+USE_GL=yes
+CONFIGURE_ARGS+=--enable-opengl
 .else
-CONFIGURE_ARGS+=--disable-ggi
+CONFIGURE_ARGS+=--disable-opengl
 .endif
 
-.if !defined(WITHOUT_MATROSKA)
-LIB_DEPENDS+=	matroska.0:${PORTSDIR}/multimedia/libmatroska
-CONFIGURE_ARGS+=--enable-mkv
+.if defined(WITHOUT_PNG)
+CONFIGURE_ARGS+=--disable-png
 .else
-CONFIGURE_ARGS+=--disable-mkv
+LIB_DEPENDS+=	png.6:${PORTSDIR}/graphics/png
+CONFIGURE_ARGS+=--enable-png
 .endif
 
-.if !defined(WITHOUT_A52)
-LIB_DEPENDS+=	a52.0:${PORTSDIR}/audio/liba52
-CONFIGURE_ARGS+=--enable-a52
+.if defined(WITH_PULSE)
+CONFIGURE_ARGS+=--enable-pulse
 .else
-CONFIGURE_ARGS+=--disable-a52
+CONFIGURE_ARGS+=--disable-pulse
 .endif
 
-.if defined(WITH_VLC_MOZILLA_PLUGIN) && !defined(WITHOUT_VLC_MOZILLA_PLUGIN)
-USE_GECKO=	libxul seamonkey
-USE_WEBPLUGINS=	gecko*
-WEBPLUGINS_FILES=libvlcplugin.so
-.include "${PORTSDIR}/www/firefox/Makefile.webplugins"
-CONFIGURE_ENV+=	MOZILLA_CONFIG="${GECKO_CONFIG}" \
-		XPIDL="${XPIDL}" \
-		XPIDL_INCL="${XPIDL_INCL}"
-CONFIGURE_ARGS+=--enable-mozilla
-.endif
+# WITHOUT_QT4
+# Before .include <bsd.port.pre.mk>
 
-.if !defined(WITHOUT_MPEG2)
-LIB_DEPENDS+=	mpeg2.0:${PORTSDIR}/multimedia/libmpeg2
-CONFIGURE_ARGS+=--enable-libmpeg2
+.if defined(WITHOUT_REALAUDIO)
+CONFIGURE_ARGS+=--disable-real --disable-realrtsp
 .else
-CONFIGURE_ARGS+=--disable-libmpeg2
+CONFIGURE_ARGS+=--enable-real --enable-realrtsp
 .endif
 
-.if !defined(WITHOUT_REALAUDIO)
-CONFIGURE_ARGS+=	--enable-real \
-			--enable-realrtsp
+.if !defined(WITHOUT_SAMBA)
+LIB_DEPENDS+=	smbclient.0:${PORTSDIR}/net/samba-libsmbclient
+CONFIGURE_ARGS+=--enable-smb
+.else
+CONFIGURE_ARGS+=--disable-smb
 .endif
 
-.if (defined(WITH_SHOUT) || exists(${LOCALBASE}/lib/libshout.a)) && !defined(WITHOUT_SHOUT)
-LIB_DEPENDS+=	shout.5:${PORTSDIR}/audio/libshout2
-CONFIGURE_ARGS+=	--enable-shout
+.if defined(WITH_SCHROED)
+LIB_DEPENDS+=	schroedinger-1.0.3:${PORTSDIR}/multimedia/schroedinger
+CONFIGURE_ARGS+=--enable-schroedinger
+.else
+CONFIGURE_ARGS+=--disable-schroedinger
 .endif
 
-.if (defined(WITH_THEORA) || exists(${LOCALBASE}/lib/libtheora.a)) && !defined(WITHOUT_THEORA)
-LIB_DEPENDS+=	theora.0:${PORTSDIR}/multimedia/libtheora
-CONFIGURE_ARGS+=--enable-theora
+.if defined(WITHOUT_SDL) || defined(WITHOUT_XCB)
+CONFIGURE_ARGS+=--disable-sdl --disable-sdl-image
 .else
-CONFIGURE_ARGS+=--disable-theora
+WANT_SDL=	yes
+USE_SDL=	image
+CONFIGURE_ARGS+=--enable-sdl --enable-sdl-image
 .endif
 
-.if (defined(WITH_LIVEMEDIA) || exists(${LOCALBASE}/live/liveMedia/libliveMedia.a)) && !defined(WITHOUT_LIVEMEDIA)
-BUILD_DEPENDS+=	${LOCALBASE}/live/liveMedia/libliveMedia.a:${PORTSDIR}/net/liveMedia
-CONFIGURE_ARGS+=--enable-live555 \
-		--with-live555-tree=${LOCALBASE}/live
+.if defined(WITH_SHOUT)
+LIB_DEPENDS+=	shout.5:${PORTSDIR}/audio/libshout2
+CONFIGURE_ARGS+=--enable-shout
 .else
-CONFIGURE_ARGS+=--disable-live555
+CONFIGURE_ARGS+=--without-shout
 .endif
 
-.if !defined(WITHOUT_TAGLIB)
-LIB_DEPENDS+=	tag.1:${PORTSDIR}/audio/taglib
-CONFIGURE_ARGS+=--enable-taglib
+.if defined(WITHOUT_SKINS) || defined(WITHOUT_QT4)
+CONFIGURE_ARGS+=--disable-skins2 --disable-libtar
 .else
-CONFIGURE_ARGS+=--disable-taglib
+LIB_DEPENDS+=	tar.0:${PORTSDIR}/devel/libtar
+CONFIGURE_ARGS+=--enable-skins2 --enable-libtar
 .endif
 
-.if !defined(WITHOUT_MAD)
-LIB_DEPENDS+=	id3tag.0:${PORTSDIR}/audio/libid3tag \
-		mad.2:${PORTSDIR}/audio/libmad
-CONFIGURE_ARGS+=--enable-mad \
-		--with-mad=${LOCALBASE}
+.if defined(WITHOUT_STREAM)
+CONFIGURE_ARGS+=--disable-sout
 .else
-CONFIGURE_ARGS+=--disable-mad
+CONFIGURE_ARGS+=--enable-sout
 .endif
 
-.if !defined(WITHOUT_MODDEMUX)
-LIB_DEPENDS+=	modplug.1:${PORTSDIR}/audio/libmodplug
-CONFIGURE_ARGS+=--enable-mod
+.if defined(WITHOUT_SPEEX)
+CONFIGURE_ARGS+=--disable-speex
 .else
-CONFIGURE_ARGS+=--disable-mod
+LIB_DEPENDS+=	speex.1:${PORTSDIR}/audio/speex
+CONFIGURE_ARGS+=--enable-speex
+CPPFLAGS+=-I${LOCALBASE}/include/speex
 .endif
 
-.if !defined(WITHOUT_MPCDEMUX)
-LIB_DEPENDS+=	mpcdec.5:${PORTSDIR}/audio/libmpcdec
-CONFIGURE_ARGS+=--enable-mpc
+.if defined(WITH_SQLITE)
+LIB_DEPENDS+=	sqlite3.8:${PORTSDIR}/databases/sqlite3
+CONFIGURE_ARGS+=--enable-sqlite
 .else
-CONFIGURE_ARGS+=--disable-mpc
+CONFIGURE_ARGS+=--disable-sqlite
 .endif
 
-.if !defined(WITHOUT_OGG)
-LIB_DEPENDS+=	ogg.7:${PORTSDIR}/audio/libogg
-CONFIGURE_ARGS+=--enable-ogg
+.if defined(WITH_SVG) && !defined(WITHOUT_XCB)
+USE_GNOME+=	librsvg2
+CONFIGURE_ARGS+=--enable-svg
 .else
-CONFIGURE_ARGS+=--disable-ogg
-WITHOUT_VORBIS=	yes
+CONFIGURE_ARGS+=--disable-svg
 .endif
 
-.if defined(WITH_NCURSES) && !defined(WITHOUT_NCURSES)
-CONFIGURE_ARGS+=--enable-ncurses
+.if defined(WITH_SVGALIB)
+LIB_DEPENDS+=	vga.1:${PORTSDIR}/graphics/svgalib
+CONFIGURE_ARGS+=--enable-svgalib
+.else
+CONFIGURE_ARGS+=--disable-svgalib
 .endif
 
-.if !defined(WITHOUT_SAMBA)
-LIB_DEPENDS+=	smbclient.0:${PORTSDIR}/net/samba-libsmbclient
-CONFIGURE_ARGS+=--enable-smb
+.if defined(WITHOUT_TAGLIB)
+CONFIGURE_ARGS+=--disable-taglib
 .else
-CONFIGURE_ARGS+=--disable-smb
+LIB_DEPENDS+=	tag.1:${PORTSDIR}/audio/taglib
+CONFIGURE_ARGS+=--enable-taglib
 .endif
 
-.if !defined(WITHOUT_SDL) && !defined(WITHOUT_X11)
-USE_SDL=	image
-CONFIGURE_ARGS+=--enable-sdl
+.if defined(WITHOUT_THEORA)
+CONFIGURE_ARGS+=--disable-theora
 .else
-CONFIGURE_ARGS+=--disable-sdl
+LIB_DEPENDS+=	theora.0:${PORTSDIR}/multimedia/libtheora
+CONFIGURE_ARGS+=--enable-theora
 .endif
 
-.if defined(WITH_TRANSCODE) || exists(${LOCALBASE}/bin/transcode)
-RUN_DEPENDS+=	transcode:${PORTSDIR}/multimedia/transcode
+.if defined(WITH_TREMOR) && !defined(WITH_VORBIS)
+# Tremor is integer based Vorbis subset, using both is redundant
+LIB_DEPENDS+=	vorbisidec.1:${PORTSDIR}/audio/libtremor
+.else
+CONFIGURE_ARGS+=--disable-tremor
 .endif
 
-.if !defined(WITHOUT_HTTPD)
-LIB_DEPENDS+=	gnutls.40:${PORTSDIR}/security/gnutls
-CONFIGURE_ARGS+=--enable-gnutls
+.if defined(WITHOUT_TWOLAME)
+CONFIGURE_ARGS+=	--disable-twolame
 .else
-CONFIGURE_ARGS+=--disable-gnutls
+LIB_DEPENDS+=		twolame.0:${PORTSDIR}/audio/twolame
+CONFIGURE_ARGS+=	--enable-twolame
 .endif
 
-.if !defined(WITHOUT_SPEEX)
-LIB_DEPENDS+=	speex.1:${PORTSDIR}/audio/speex
-CONFIGURE_ARGS+=--enable-speex
-CPPFLAGS+=-I${LOCALBASE}/include/speex
+.if defined(WITH_UPNP)
+LIB_DEPENDS+=	upnp.3:${PORTSDIR}/devel/upnp
+CONFIGURE_ARGS+=--enable-upnp
 .else
-CONFIGURE_ARGS+=--disable-speex
+CONFIGURE_ARGS+=--disable-upnp
 .endif
 
-.if defined(WITHOUT_STREAM_PLUGINS)
-CONFIGURE_ARGS+=--disable-sout
+# Video for Linux and DVB (Digital Video Broadcast) support
+.if defined(WITHOUT_V4L)
+CONFIGURE_ARGS+=--disable-v4l --disable-dvb
+.else
+BUILD_DEPENDS+=	v4l_compat>=1.0.20100321:${PORTSDIR}/multimedia/v4l_compat
+CONFIGURE_ARGS+=--enable-v4l --enable-dvb
 .endif
 
-.if (defined(WITH_SVG) || defined(HAVE_GNOME) && ${HAVE_GNOME:Mlibrsvg2}!="") && !defined(WITHOUT_SVG) && !defined(WITHOUT_X11)
-USE_GNOME+=	librsvg2
-CONFIGURE_ARGS+=--enable-svg
+.if defined(WITHOUT_VCD)
+CONFIGURE_ARGS+=--disable-vcd --disable-libcddb	--disable-libcdio
 .else
-CONFIGURE_ARGS+=--disable-svg
+CONFIGURE_ARGS+=--enable-vcd --enable-libcddb --enable-libcdio
 .endif
 
-.if (defined(WITH_SVGALIB) || exists(${LOCALBASE}/lib/lib/vga.a)) && !defined(WITHOUT_SVGALIB)
-LIB_DEPENDS+=	vga.1:${PORTSDIR}/graphics/svgalib
-CONFIGURE_ARGS+=--enable-svgalib
+.if defined(WITHOUT_VORBIS)
+CONFIGURE_ARGS+=--disable-vorbis
 .else
-CONFIGURE_ARGS+=--disable-svgalib
+LIB_DEPENDS+=	vorbis.4:${PORTSDIR}/audio/libvorbis
+CONFIGURE_ARGS+=--enable-vorbis
 .endif
 
-.if (defined(WITH_TREMOR) || exists(${LOCALBASE}/lib/libvorbisidec.a)) && !defined(WITHOUT_TREMOR)
-LIB_DEPENDS+=	vorbisidec.1:${PORTSDIR}/audio/libtremor
+.if defined(WITHOUT_X11)
+CONFIGURE_ARGS+=--without-x
 .else
-CONFIGURE_ARGS+=--disable-tremor
+CONFIGURE_ARGS+=--with-x
 .endif
 
-.if (defined(WITH_TWOLAME) || exists(${LOCALBASE}/lib/libtwolame.a)) && !defined(WITHOUT_TWOLAME)
-LIB_DEPENDS+=		twolame.0:${PORTSDIR}/audio/twolame
-CONFIGURE_ARGS+=	--enable-twolame
+.if defined(WITH_X264)
+CONFIGURE_ARGS+=--enable-x264
+LIB_DEPENDS+=	x264.85:${PORTSDIR}/multimedia/x264
 .else
-CONFIGURE_ARGS+=	--disable-twolame
+CONFIGURE_ARGS+=--disable-x264
 .endif
 
-.if !defined(WITHOUT_VORBIS)
-LIB_DEPENDS+=	vorbis.4:${PORTSDIR}/audio/libvorbis
-CONFIGURE_ARGS+=--enable-vorbis
+.if defined(WITHOUT_XCB)
+CONFIGURE_ARGS+=--disable-xcb --without-x
 .else
-CONFIGURE_ARGS+=--disable-vorbis
+LIBDEPENDS+=	xcb.2:${PORTSDIR}/x11/libxcb
+CONFIGURE_ARGS+=--enable-xcb --with-x
 .endif
 
-.if (defined(WITH_XOSD) || exists(${LOCALBASE}/lib/libxosd.a)) && !defined(WITHOUT_XOSD)
+.if defined(WITH_XOSD)
 LIB_DEPENDS+=	xosd.4:${PORTSDIR}/misc/xosd
 CONFIGURE_ARGS+=--enable-xosd
 .else
 CONFIGURE_ARGS+=--disable-xosd
 .endif
 
-.if defined(DEBUG)
-CONFIGURE_ARGS+=--enable-debug
+.if defined(WITHOUT_XVIDEO) || defined(WITHOUT_XCB)
+CONFIGURE_ARGS+=--disable-xvideo
 .else
-CONFIGURE_ARGS+=--enable-release
+CONFIGURE_ARGS+=--enable-xvideo
 .endif
 
-.if defined(WITH_OCFLAGS)
-CFLAGS+=	-O3 -ffast-math -fomit-frame-pointer
-CONFIGURE_ARGS+=--enable-optimizations
-.endif
-
-# Video for Linux and DVB (Digital Video Broadcast) support
-.if defined(WITHOUT_V4L)
-CONFIGURE_ARGS+=--disable-v4l --disable-dvb
+.if defined(WITH_ZVBI)
+LIB_DEPENDS+=	zvbi.13:${PORTSDIR}/devel/libzvbi
+CONFIGURE_ARGS+=--enable-zvbi
 .else
-BUILD_DEPENDS+=	v4l_compat>=1.0.20100321:${PORTSDIR}/multimedia/v4l_compat
-CONFIGURE_ARGS+=--enable-v4l --enable-dvb
+CONFIGURE_ARGS+=--disable-zvbi
 .endif
 
-.if defined(WITHOUT_X11)
-CONFIGURE_ARGS+=--disable-x11
-.else
-USE_XORG=	xpm
-BUILD_DEPENDS+=	${LOCALBASE}/include/X11/xpm.h:${PORTSDIR}/x11/libXpm
-CONFIGURE_ARGS+=--enable-x11
-.endif
+post-patch:
+	@${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g' \
+		${WRKSRC}/configure
+	@${REINPLACE_CMD} -e 's|/usr/share/fonts/truetype/freefont/FreeSerifBold.ttf|${WITH_VLC_DEFAULT_FONT}|' \
+		${WRKSRC}/modules/misc/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
+
+pre-install:
+	${RM} -rf ${PLIST} ${FAKEDIR}
+	${MKDIR} ${FAKEDIR}
+	${TOUCH} -f ${PLIST}
+	${ECHO_CMD} "share/pixmaps/vlc.png" >> ${PLIST}
+	${ECHO_CMD} "share/applications/vlc.desktop" >> ${PLIST}
+	${ECHO_CMD} "@dirrmtry share/applications" >> ${PLIST}
+	cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_FLAGS} \
+		${MAKEFILE} ${MAKE_ARGS} ${INSTALL_TARGET} prefix=${FAKEDIR}
+	${RM} -f ${FAKEDIR}/share/locale/locale.alias
+	cd ${FAKEDIR}/bin && ${FIND} -s * | \
+		${SED} -e 's|^|bin/|' >> ${PLIST}
+	cd ${FAKEDIR}/include && ${FIND} -s * -type f -o -type l | \
+		${SED} -e 's|^|include/|' >> ${PLIST} \
+		&& ${FIND} -d * -type d | \
+		${SED} -e 's|^|@dirrmtry include/|' >> ${PLIST}
+	cd ${FAKEDIR}/lib && ${FIND} -s * -type f -o -type l| \
+		${SED} -e 's|^|lib/|' >> ${PLIST} \
+		&& ${FIND} -d * -type d | \
+		${SED} -e 's|^|@dirrmtry lib/|' >> ${PLIST}
+	if [ -d ${FAKEDIR}/libdata ]; then \
+	cd ${FAKEDIR}/libdata && ${FIND} -s * -type f -o -type l| \
+		${SED} -e 's|^|libdata/|' >> ${PLIST} \
+		&& ${FIND} -d * -type d | \
+		${SED} -e 's|^|@dirrmtry libdata/|' >> ${PLIST} ; \
+	fi
+.for dir in vlc
+	cd ${FAKEDIR}/share/${dir} && ${FIND} -s * -type f -o -type l | \
+		${SED} -e 's|^|share/${dir}/|' >> ${PLIST} \
+		&& ${FIND} -d * -type d | \
+		${SED} -e 's|^|@dirrmtry share/${dir}/|' >> ${PLIST}
+.endfor
+.if !defined(NOPORTDOCS)
+	cd ${FAKEDIR}/share/doc && ${FIND} -s * -type f -o -type l | \
+		${SED} -e 's|^|share/doc/|' >> ${PLIST} \
+		 && ${FIND} -d * -type d | \
+		 ${SED} -e 's|^|@dirrmtry share/doc/|' >> ${PLIST}
+.else
+	${RM} -rf ${FAKEDIR}/share/doc
+.endif
+		${ECHO_MSG} "@dirrmtry share/vlc" >> ${PLIST}
+.if !defined(WITHOUT_NLS)
+	cd ${FAKEDIR}/share/locale &&  ${FIND} -s * -type f -o -type l | \
+		${SED} -e 's|^|share/locale/|' >> ${PLIST}
+.endif
+.for locale in ckb co fur kk km my oc ps tet tl
+	${ECHO_CMD} "@dirrmtry share/locale/${locale}/LC_MESSAGES" >> ${PLIST}
+	${ECHO_CMD} "@dirrmtry share/locale/${locale}" >> ${PLIST}
+.endfor
+
+do-install:
+	cd ${FAKEDIR}/bin && ${FIND} . | \
+		${CPIO} -vpdm -R ${BINOWN}:${BINGRP} ${PREFIX}/bin
+	cd ${FAKEDIR}/include && ${FIND} . | \
+		${CPIO} -vpdm -L -R ${LIBOWN}:${LIBGRP} ${PREFIX}/include
+	cd ${FAKEDIR}/lib && ${FIND} . | \
+		${CPIO} -vpdm -L -R ${LIBOWN}:${LIBGRP} ${PREFIX}/lib
+	${INSTALL_DATA} ${FAKEDIR}/share/icons/hicolor/48x48/apps/vlc.png \
+		${PREFIX}/share/pixmaps/vlc.png
+	if [ -d ${FAKEDIR}/libdata ]; then \
+	cd ${FAKEDIR}/libdata && ${FIND} . | \
+		${CPIO} -vpdm -L -R ${LIBOWN}:${LIBGRP} ${PREFIX}/libdata ; \
+	fi
+	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
+	if [ ! -d ${PREFIX}/share/pixmaps ]; then \
+		${MKDIR} ${PREFIX}/share/pixmaps ; \
+	fi
 
-.include "${.CURDIR}/Makefile.inc"
 .include <bsd.port.post.mk>
diff -ruN /usr/ports/multimedia/vlc/Makefile.inc vlc/Makefile.inc
--- /usr/ports/multimedia/vlc/Makefile.inc	2010-04-26 13:30:06.000000000 -0400
+++ vlc/Makefile.inc	1969-12-31 19:00:00.000000000 -0500
@@ -1,309 +0,0 @@
-# NOTES about VLC Knobs:
-# Below you will see a number of knobs, if it starts with WITHOUT_ it is
-# enabled by default, if it starts with WITH_ it is disabled by default
-# and will be autodetected to enable
-#
-# $FreeBSD: ports/multimedia/vlc/Makefile.inc,v 1.29 2010/04/26 14:54:49 amdmi3 Exp $
-#   $MCom: ports-stable/multimedia/vlc-devel/Makefile.inc,v 1.4 2009/01/09 23:41:21 mezz Exp $
-#      $Id: Makefile.inc 6 2006-09-27 14:05:34Z buhnux $
-# If you define for example WITH_FAAD and WITHOUT_FAAD
-# the WITHOUT_ will always over ride the WITH_.
-#
-# Interface Knobs:
-#
-# WITH_NCURSES=yes
-#  Ncurses (console) interface
-#
-# WITH_SKINS
-#  This Interface supports a skinned interface usable with winamp 2.x skins
-#  Skins can be found at http://www.videolan.org/vlc/download-skins.html
-#
-# Audio Knobs:
-#
-# WITHOUT_DTS=yes
-#  DTS decoder Support
-#  useful for many dvds
-#
-# WITH_FAAC=yes
-#  Faac audio encoder (mp4/aac) Support
-#  ** Only enable this if you compiled multimedia/ffmpeg with WITH_FAAC knob **
-#
-# WITH_FAAD=yes
-#  Faad audio decoder (mp4/aac) Support
-#
-# WITH_FLAC=yes
-#  Flac Support
-#
-# WITHOUT_A52=yes
-#  liba52 audio support
-#
-# WITHOUT_MODDEMUX
-#  ModPlug mod-like music support
-#
-# WITHOUT_MPCDEMUX
-#  Musepack audio compression support
-#
-# WITHOUT_REALAUDIO
-#  Real audio(R) support
-#
-# WITH_SHOUT
-#  Libshout2 support
-#
-# WITH_TREMOR
-#  Interger-only Ogg Vorbis decoder
-#   !!experimental!!
-#
-# WITHOUT_MAD=yes
-#  Mad mp3 audio decoder Support
-#
-# WITHOUT_OGG=yes
-#  Ogg audio decoder Support
-#
-# WITHOUT_SPEEX=yes
-#  Speex voice codec Support
-#
-# WITH_TWOLAME=yes
-#  Twolame Mpeg layer 2 audio Support
-#
-# WITHOUT_VORBIS=yes
-#  Vorbis Support
-#
-# Graphics Knobs:
-#
-# WITH_AALIB=yes
-#  Console Graphics Support
-#
-# WITH_CACA=yes
-#  Console Graphics Support (implies WITH_AALIB)
-#
-# WITH_FRIBIDI=yes
-#
-# WITH_GGI=yes
-#
-# WITHOUT_SDL=yes
-#  SDL video output
-#
-# WITH_SVG=yes
-#
-# WITH_SVGALIB=yes
-#  SVGAlib video output
-#
-# WITH_XOSD=yes
-#
-
-# Multimedia Knobs:
-#
-# WITH_DIRAC
-#  Enable dirac general-purpose video codec
-#
-# WITHOUT_X264
-#  Enable H.264/AVC Video Support
-#
-# WITHOUT_MATROSKA=yes
-#  Matroska Container Format Support
-#
-# WITHOUT_MPEG2=yes
-#  Mpeg-2 A/V Decoder Support
-#
-# WITH_THEORA=yes
-#  Video codec for OGG/Vorbis Support
-#
-# Streaming Knobs:
-#
-# WITHOUT_HTTPD=yes
-#  Web interface to control streaming media
-#
-# WITH_LIVEMEDIA=yes
-#  Support for rstp/rtp/sdp protocols
-#  Only versions 2004.11.11 and higher are supported.
-#
-# WITHOUT_STREAM_PLUGINS=yes
-#  Disable build and install of Streaming plugins
-#
-# WITH_WIN32_CODECS=yes
-#  Support for win32 multimedia DLL's
-#
-# Other Knobs:
-#
-# WITHOUT_LUA=yes
-#  Support for lua scripting (interfaces, HTML parsers for video websites...)
-#
-# WITHOUT_AVAHI=yes
-#  Avahi (Rendezvous/Bonjour (R) ) networking
-#
-# WITHOUT_DBUS=yes
-#  Disable d-bus support
-#
-# WITH_DEBUG=yes
-#  Enable debuging support
-#
-# WITHOUT_CDROM=yes
-#  Disable cddb and vcd support
-#   and other cdrom support
-#
-# WITHOUT_CDPARANOIA=yes
-#  Disable Cdparanoia support
-#
-# WITHOUT_DVBPSI=yes
-#  TS MUX and DEMUX support
-#
-# WITHOUT_DVDNAV=yes
-#  Disable DVD (dvd menus) support
-#
-# WITH_DVDREAD=yes
-#  Enable Regular DVD support (non-menu)
-#
-# WITH_GECKO= libxul
-# WITH_VLC_MOZILLA_PLUGIN= yes
-#  Enable A mozilla plugin for VLC
-#  See http://www.videolan.org/doc/vlc-user-guide/en/ch07.html#id2529837
-#  for more info on using this plugin.
-#   defaults to www/firefox/Makefile.webplugins
-#
-#  NOTE: The www/mplayer-plugin is much more complete.
-#
-# WITHOUT_GNOMEVFS
-#  GnomeVFS support
-#
-# WITHOUT_HAL=yes
-#  Disable HAL support
-#
-# WITHOUT_SAMBA=yes
-#  Enable SAMBA Access module
-#
-# WITH_SSL=yes
-#  Enable TLS/SSL Support for web (httpd) interface
-#
-# WITH_OCFLAGS=yes
-#  Compile with -O3 -ffast-math -fomit-frame-pointer
-#
-# WITH_DVD_DEVICE=/dev/somedevice
-#  default 5.x and above: /dev/acd0
-#  default 4.x and below: /dev/acd0c
-#  This option changes the default dvd device
-#
-# WITH_CDROM_DEVICE=/dev/somedevice
-#  default 5.x and above: /dev/acd0
-#  default 4.x and below: /dev/acd0c
-#  This option changes the default cdrom device
-#
-# WITHOUT_NLS=yes
-#  Disable Languarge Support
-#
-# WITHOUT_STREAM_PLUGINS=yes
-#  Disable ALL streaming plugins.
-#
-# WITH_VLC_DEFAULT_FONT=/path/to/font
-#  default: ${LOCALBASE}/lib/X11/fonts/bitstream-vera/Vera.ttf
-#  This option lets you change the default font for subtitles
-#
-# NOPORTDOCS=yes
-#  Do not install Vlc's Documents
-#
-
-post-patch:
-	@${REINPLACE_CMD} -e 's|__u32|uint32_t|g' \
-		${WRKSRC}/modules/access/v4l2.c
-# Do not assume LOCALBASE is /usr/local
-	@${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g' ${WRKSRC}/configure
-# Subtitle default font
-	@${REINPLACE_CMD} -e \
-	's|/usr/share/fonts/truetype/freefont/FreeSerifBold.ttf|${WITH_VLC_DEFAULT_FONT}|' \
-		${WRKSRC}/modules/misc/freetype.c
-# mozilla plugin
-	@${REINPLACE_CMD} -e 's|$$(libdir)/mozilla/plugins|${FAKEDIR}/mozilla|; \
-		s|$$(libdir)/mozilla/components|${FAKEDIR}/mozilla|' \
-			${WRKSRC}/projects/mozilla/Makefile.in
-# cdrom/dvd support
-	@${REINPLACE_CMD} -e 's|/dev/cdrom|${DEFAULT_CDROM_DEVICE}|; \
-		s|/dev/dvd|${DEFAULT_DVD_DEVICE}|' \
-		${WRKSRC}/include/vlc_config.h
-# binary decoders
-	@${REINPLACE_CMD} -e 's|-DWIN32_PATH=\\"\\"|-DWIN32_PATH=\\"${LOCALBASE}/lib/win32\\"|' \
-		${WRKSRC}/libs/loader/Makefile.in
-	@${REINPLACE_CMD} -e 's|/usr/lib/win32|${LOCALBASE}/lib/win32|' \
-		${WRKSRC}/libs/loader/module.c
-
-pre-install: build
-	${RM} -rf ${PLIST} ${FAKEDIR}
-	${MKDIR} ${FAKEDIR}
-	${TOUCH} -f ${PLIST}
-	${ECHO_CMD} "share/pixmaps/vlc.png" >> ${PLIST}
-	${ECHO_CMD} "share/applications/vlc.desktop" >> ${PLIST}
-	${ECHO_CMD} "@dirrmtry share/applications" >> ${PLIST}
-	cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_FLAGS} \
-		${MAKEFILE} ${MAKE_ARGS} ${INSTALL_TARGET} prefix=${FAKEDIR}
-	${RM} -f ${FAKEDIR}/share/locale/locale.alias
-	cd ${FAKEDIR}/bin && ${FIND} -s * | \
-		${SED} -e 's|^|bin/|' >> ${PLIST}
-	cd ${FAKEDIR}/include && ${FIND} -s * -type f -o -type l | \
-		${SED} -e 's|^|include/|' >> ${PLIST} \
-		&& ${FIND} -d * -type d | \
-		${SED} -e 's|^|@dirrmtry include/|' >> ${PLIST}
-	cd ${FAKEDIR}/lib && ${FIND} -s * -type f -o -type l| \
-		${SED} -e 's|^|lib/|' >> ${PLIST} \
-		&& ${FIND} -d * -type d | \
-		${SED} -e 's|^|@dirrmtry lib/|' >> ${PLIST}
-.if !defined(WITHOUT_X11)
-	cd ${FAKEDIR}/libdata && ${FIND} -s * -type f -o -type l| \
-		${SED} -e 's|^|libdata/|' >> ${PLIST} \
-		&& ${FIND} -d * -type d | \
-		${SED} -e 's|^|@dirrmtry libdata/|' >> ${PLIST}
-.endif
-.for dir in vlc
-	cd ${FAKEDIR}/share/${dir} && ${FIND} -s * -type f -o -type l | \
-		${SED} -e 's|^|share/${dir}/|' >> ${PLIST} \
-		&& ${FIND} -d * -type d | \
-		${SED} -e 's|^|@dirrmtry share/${dir}/|' >> ${PLIST}
-.endfor
-.if !defined(NOPORTDOCS)
-	cd ${FAKEDIR}/share/doc && ${FIND} -s * -type f -o -type l | \
-		${SED} -e 's|^|share/doc/|' >> ${PLIST} \
-		 && ${FIND} -d * -type d | \
-		 ${SED} -e 's|^|@dirrmtry share/doc/|' >> ${PLIST}
-.else
-	${RM} -rf ${FAKEDIR}/share/doc
-.endif
-		${ECHO_MSG} "@dirrmtry share/vlc" >> ${PLIST}
-.if !defined(WITHOUT_NLS)
-	cd ${FAKEDIR}/share/locale &&  ${FIND} -s * -type f -o -type l | \
-		${SED} -e 's|^|share/locale/|' >> ${PLIST}
-.endif
-.if defined(WITH_VLC_MOZILLA_PLUGIN) && !defined(WITHOUT_VLC_MOZILLA_PLUGIN)
-	cd ${FAKEDIR}/mozilla && ${FIND} -s * | \
-		${SED} -e 's|^|%%WEBPLUGINS_DIR%%/|' >> ${PLIST}
-	${ECHO_CMD} "@dirrmtry %%WEBPLUGINS_DIR%%" >> ${PLIST}
-.endif
-.for locale in ckb co fur kk km my oc ps tet tl
-	${ECHO_CMD} "@dirrmtry share/locale/${locale}/LC_MESSAGES" >> ${PLIST}
-	${ECHO_CMD} "@dirrmtry share/locale/${locale}" >> ${PLIST}
-.endfor
-
-do-install:
-	cd ${FAKEDIR}/bin && ${FIND} . | \
-		${CPIO} -vpdm -R ${BINOWN}:${BINGRP} ${PREFIX}/bin
-	cd ${FAKEDIR}/include && ${FIND} . | \
-		${CPIO} -vpdm -L -R ${LIBOWN}:${LIBGRP} ${PREFIX}/include
-	cd ${FAKEDIR}/lib && ${FIND} . | \
-		${CPIO} -vpdm -L -R ${LIBOWN}:${LIBGRP} ${PREFIX}/lib
-	${INSTALL_DATA} ${FAKEDIR}/share/vlc/vlc48x48.png ${PREFIX}/share/pixmaps/vlc.png
-.if !defined(WITHOUT_X11)
-	cd ${FAKEDIR}/libdata && ${FIND} . | \
-		${CPIO} -vpdm -L -R ${LIBOWN}:${LIBGRP} ${PREFIX}/libdata
-.endif
-	cd ${FAKEDIR}/share && ${FIND} . | \
-		${CPIO} -vpdm -L -R ${SHAREOWN} ${PREFIX}/share
-.if defined(WITH_VLC_MOZILLA_PLUGIN) && !defined(WITHOUT_VLC_MOZILLA_PLUGIN)
-	@${MKDIR} ${WEBPLUGINS_DIR}
-	${INSTALL_DATA} ${FAKEDIR}/mozilla/* ${WEBPLUGINS_DIR}
-.endif
-	${INSTALL_MAN} ${WRKSRC}/doc/vlc.1 ${MANPREFIX}/man/man1/
-	${INSTALL_MAN} ${WRKSRC}/doc/vlc-config.1 ${MANPREFIX}/man/man1/
-.if (defined(WITH_SKINS) && defined(WITHOUT_SKINS)) || !defined(WITHOUT_QT4)
-	if [ ! -d ${PREFIX}/share/applications ]; then \
-		${MKDIR} ${PREFIX}/share/applications ; \
-	fi
-	if [ ! -d ${PREFIX}/share/pixmaps ]; then \
-		${MKDIR} ${PREFIX}/share/pixmaps ; \
-	fi
-.endif
diff -ruN /usr/ports/multimedia/vlc/distinfo vlc/distinfo
--- /usr/ports/multimedia/vlc/distinfo	2010-05-03 02:59:47.000000000 -0400
+++ vlc/distinfo	2010-06-25 03:38:31.000000000 -0400
@@ -1,3 +1,3 @@
-MD5 (vlc-1.0.6.tar.bz2) = 246a3865ec037f8f5757ef6b973a80fc
-SHA256 (vlc-1.0.6.tar.bz2) = f521933e7a1021746d8ecde6caa2f9d1b43187ab2e13df6abc07540e415e1842
-SIZE (vlc-1.0.6.tar.bz2) = 22149704
+MD5 (vlc-1.1.0.tar.bz2) = e2142957137b183a5ad0a4827c39f655
+SHA256 (vlc-1.1.0.tar.bz2) = a9fb2c5cc400464bbb53ba6feb94f14884f3c76d52eac1ee4c2953a1ce63f1c8
+SIZE (vlc-1.1.0.tar.bz2) = 23908512
diff -ruN /usr/ports/multimedia/vlc/files/extra-patch-modules__access__v4l2.c vlc/files/extra-patch-modules__access__v4l2.c
--- /usr/ports/multimedia/vlc/files/extra-patch-modules__access__v4l2.c	1969-12-31 19:00:00.000000000 -0500
+++ vlc/files/extra-patch-modules__access__v4l2.c	2010-06-25 03:38:31.000000000 -0400
@@ -0,0 +1,71 @@
+--- modules/access/v4l2.c.orig	2009-12-21 04:43:39.000000000 +1100
++++ modules/access/v4l2.c	2010-02-19 13:29:51.000000000 +1100
+@@ -492,6 +492,9 @@
+ {
+     void *  start;
+     size_t  length;
++#if !defined (HAVE_POSIX_MEMALIGN) && !defined (HAVE_MEMALIGN)
++    void *  free;
++#endif
+ };
+
+ struct demux_sys_t
+@@ -1038,7 +1041,12 @@
+         switch( p_sys->io )
+         {
+         case IO_METHOD_READ:
+-            free( p_sys->p_buffers[0].start );
++#if !defined (HAVE_POSIX_MEMALIGN) && !defined (HAVE_MEMALIGN)
++	    if (p_sys->p_buffers[0].free)
++                free( p_sys->p_buffers[0].free );
++	    else
++#endif
++                free( p_sys->p_buffers[0].start );
+             break;
+
+         case IO_METHOD_MMAP:
+@@ -1054,7 +1062,12 @@
+         case IO_METHOD_USERPTR:
+             for( i = 0; i < p_sys->i_nbuffers; ++i )
+             {
+-               free( p_sys->p_buffers[i].start );
++#if !defined (HAVE_POSIX_MEMALIGN) && !defined (HAVE_MEMALIGN)
++	       if (p_sys->p_buffers[0].free)
++                   free( p_sys->p_buffers[i].free );
++	       else
++#endif
++                   free( p_sys->p_buffers[i].start );
+             }
+             break;
+
+@@ -1600,10 +1613,31 @@
+
+     for( p_sys->i_nbuffers = 0; p_sys->i_nbuffers < 4; ++p_sys->i_nbuffers )
+     {
++#if defined (HAVE_POSIX_MEMALIGN)
+         p_sys->p_buffers[p_sys->i_nbuffers].length = i_buffer_size;
+         if( posix_memalign( &p_sys->p_buffers[p_sys->i_nbuffers].start,
+                 /* boundary */ i_page_size, i_buffer_size ) )
+             goto open_failed;
++#elif defined (HAVE_MEMALIGN)
++        p_sys->p_buffers[p_sys->i_nbuffers].length = i_buffer_size;
++	p_sys->p_buffers[p_sys->i_nbuffers].start =
++	    memalign ( /* boundary */ i_page_size, i_buffer_size );
++	if (p_sys->p_buffers[p_sys->i_nbuffers].start == NULL)
++	    goto open_failed;
++#else
++	unsigned char *ptr;
++	size_t align = i_page_size - 1;
++
++        p_sys->p_buffers[p_sys->i_nbuffers].length = i_buffer_size;
++	ptr = malloc (i_buffer_size + align);
++	if ( ptr == NULL )
++	    goto open_failed;
++
++	p_sys->p_buffers[p_sys->i_nbuffers].free = ptr;
++	ptr += align;
++	p_sys->p_buffers[p_sys->i_nbuffers].start =
++		(void *)(((uintptr_t)ptr) & ~align);
++#endif
+     }
+     return VLC_SUCCESS;
diff -ruN /usr/ports/multimedia/vlc/files/extra-patch-modules_access_v4l2.c vlc/files/extra-patch-modules_access_v4l2.c
--- /usr/ports/multimedia/vlc/files/extra-patch-modules_access_v4l2.c	2010-04-14 12:22:21.000000000 -0400
+++ vlc/files/extra-patch-modules_access_v4l2.c	1969-12-31 19:00:00.000000000 -0500
@@ -1,71 +0,0 @@
---- modules/access/v4l2.c.orig	2009-12-21 04:43:39.000000000 +1100
-+++ modules/access/v4l2.c	2010-02-19 13:29:51.000000000 +1100
-@@ -492,6 +492,9 @@
- {
-     void *  start;
-     size_t  length;
-+#if !defined (HAVE_POSIX_MEMALIGN) && !defined (HAVE_MEMALIGN)
-+    void *  free;
-+#endif
- };
-
- struct demux_sys_t
-@@ -1038,7 +1041,12 @@
-         switch( p_sys->io )
-         {
-         case IO_METHOD_READ:
--            free( p_sys->p_buffers[0].start );
-+#if !defined (HAVE_POSIX_MEMALIGN) && !defined (HAVE_MEMALIGN)
-+	    if (p_sys->p_buffers[0].free)
-+                free( p_sys->p_buffers[0].free );
-+	    else
-+#endif
-+                free( p_sys->p_buffers[0].start );
-             break;
-
-         case IO_METHOD_MMAP:
-@@ -1054,7 +1062,12 @@
-         case IO_METHOD_USERPTR:
-             for( i = 0; i < p_sys->i_nbuffers; ++i )
-             {
--               free( p_sys->p_buffers[i].start );
-+#if !defined (HAVE_POSIX_MEMALIGN) && !defined (HAVE_MEMALIGN)
-+	       if (p_sys->p_buffers[0].free)
-+                   free( p_sys->p_buffers[i].free );
-+	       else
-+#endif
-+                   free( p_sys->p_buffers[i].start );
-             }
-             break;
-
-@@ -1600,10 +1613,31 @@
-
-     for( p_sys->i_nbuffers = 0; p_sys->i_nbuffers < 4; ++p_sys->i_nbuffers )
-     {
-+#if defined (HAVE_POSIX_MEMALIGN)
-         p_sys->p_buffers[p_sys->i_nbuffers].length = i_buffer_size;
-         if( posix_memalign( &p_sys->p_buffers[p_sys->i_nbuffers].start,
-                 /* boundary */ i_page_size, i_buffer_size ) )
-             goto open_failed;
-+#elif defined (HAVE_MEMALIGN)
-+        p_sys->p_buffers[p_sys->i_nbuffers].length = i_buffer_size;
-+	p_sys->p_buffers[p_sys->i_nbuffers].start =
-+	    memalign ( /* boundary */ i_page_size, i_buffer_size );
-+	if (p_sys->p_buffers[p_sys->i_nbuffers].start == NULL)
-+	    goto open_failed;
-+#else
-+	unsigned char *ptr;
-+	size_t align = i_page_size - 1;
-+
-+        p_sys->p_buffers[p_sys->i_nbuffers].length = i_buffer_size;
-+	ptr = malloc (i_buffer_size + align);
-+	if ( ptr == NULL )
-+	    goto open_failed;
-+
-+	p_sys->p_buffers[p_sys->i_nbuffers].free = ptr;
-+	ptr += align;
-+	p_sys->p_buffers[p_sys->i_nbuffers].start =
-+		(void *)(((uintptr_t)ptr) & ~align);
-+#endif
-     }
-     return VLC_SUCCESS;
diff -ruN /usr/ports/multimedia/vlc/files/extra-patch-src_misc_thread.c vlc/files/extra-patch-src_misc_thread.c
--- /usr/ports/multimedia/vlc/files/extra-patch-src_misc_thread.c	2009-08-01 16:07:21.000000000 -0400
+++ vlc/files/extra-patch-src_misc_thread.c	1969-12-31 19:00:00.000000000 -0500
@@ -1,11 +0,0 @@
---- src/misc/threads.c.orig	2009-08-01 09:34:56.000000000 -0400
-+++ src/misc/threads.c	2009-08-01 09:40:24.000000000 -0400
-@@ -784,7 +784,7 @@
-         pthread_sigmask (SIG_BLOCK, &set, &oldset);
-     }
- 
--#if defined (_POSIX_PRIORITY_SCHEDULING) && (_POSIX_PRIORITY_SCHEDULING >= 0) \
-+#if 0 && defined (_POSIX_PRIORITY_SCHEDULING) && (_POSIX_PRIORITY_SCHEDULING >= 0) \
-  && defined (_POSIX_THREAD_PRIORITY_SCHEDULING) \
-  && (_POSIX_THREAD_PRIORITY_SCHEDULING >= 0)
-     {
diff -ruN /usr/ports/multimedia/vlc/files/patch-configure-dvbpsi vlc/files/patch-configure-dvbpsi
--- /usr/ports/multimedia/vlc/files/patch-configure-dvbpsi	2009-11-02 17:51:27.000000000 -0500
+++ vlc/files/patch-configure-dvbpsi	1969-12-31 19:00:00.000000000 -0500
@@ -1,20 +0,0 @@
---- configure.orig	2009-09-23 23:31:31.000000000 +0100
-+++ configure	2009-09-23 23:30:51.000000000 +0100
-@@ -29130,7 +29130,16 @@
-     CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test}"
-     for ac_header in dvbpsi/dr.h
- do :
--  ac_fn_c_check_header_mongrel "$LINENO" "dvbpsi/dr.h" "ac_cv_header_dvbpsi_dr_h" "$ac_includes_default"
-+  ac_fn_c_check_header_compile "$LINENO" "dvbpsi/dr.h" "ac_cv_header_dvbpsi_dr_h" "#if defined( HAVE_STDINT_H )
-+#   include <stdint.h>
-+#elif defined( HAVE_INTTYPES_H )
-+#   include <inttypes.h>
-+#endif
-+#include <dvbpsi/dvbpsi.h>
-+#include <dvbpsi/descriptor.h>
-+#include <dvbpsi/pat.h>
-+#include <dvbpsi/pmt.h>
-+"
- if test "x$ac_cv_header_dvbpsi_dr_h" = x""yes; then :
-   cat >>confdefs.h <<_ACEOF
- #define HAVE_DVBPSI_DR_H 1
diff -ruN /usr/ports/multimedia/vlc/files/patch-modules__Makefile.am vlc/files/patch-modules__Makefile.am
--- /usr/ports/multimedia/vlc/files/patch-modules__Makefile.am	1969-12-31 19:00:00.000000000 -0500
+++ vlc/files/patch-modules__Makefile.am	2010-06-25 03:38:31.000000000 -0400
@@ -0,0 +1,30 @@
+--- ./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
diff -ruN /usr/ports/multimedia/vlc/files/patch-modules__Makefile.in vlc/files/patch-modules__Makefile.in
--- /usr/ports/multimedia/vlc/files/patch-modules__Makefile.in	1969-12-31 19:00:00.000000000 -0500
+++ vlc/files/patch-modules__Makefile.in	2010-06-25 03:38:31.000000000 -0400
@@ -0,0 +1,33 @@
+--- ./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.
diff -ruN /usr/ports/multimedia/vlc/files/patch-modules__access__file.c vlc/files/patch-modules__access__file.c
--- /usr/ports/multimedia/vlc/files/patch-modules__access__file.c	1969-12-31 19:00:00.000000000 -0500
+++ vlc/files/patch-modules__access__file.c	2010-06-25 03:38:31.000000000 -0400
@@ -0,0 +1,11 @@
+--- ./modules/access/file.c.orig	2010-06-22 02:05:28.000000000 -0400
++++ ./modules/access/file.c	2010-06-22 02:05:57.000000000 -0400
+@@ -96,7 +96,7 @@
+     if (fstatvfs (fd, &stf))
+         return false;
+     /* fstatvfs() is in POSIX, but MNT_LOCAL is not */
+-    return !(s.f_flag & MNT_LOCAL);
++    return !(stf.f_flag & MNT_LOCAL);
+ 
+ #elif defined (HAVE_LINUX_MAGIC_H)
+     struct statfs stf;
diff -ruN /usr/ports/multimedia/vlc/files/patch-modules__access__v4l.c vlc/files/patch-modules__access__v4l.c
--- /usr/ports/multimedia/vlc/files/patch-modules__access__v4l.c	1969-12-31 19:00:00.000000000 -0500
+++ vlc/files/patch-modules__access__v4l.c	2010-06-25 03:38:31.000000000 -0400
@@ -0,0 +1,75 @@
+--- 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;
diff -ruN /usr/ports/multimedia/vlc/files/patch-modules__gui__qt4__util__customwidgets.cpp vlc/files/patch-modules__gui__qt4__util__customwidgets.cpp
--- /usr/ports/multimedia/vlc/files/patch-modules__gui__qt4__util__customwidgets.cpp	1969-12-31 19:00:00.000000000 -0500
+++ vlc/files/patch-modules__gui__qt4__util__customwidgets.cpp	2010-06-25 03:38:31.000000000 -0400
@@ -0,0 +1,11 @@
+--- ./modules/gui/qt4/util/customwidgets.cpp.orig	2010-06-22 02:57:13.000000000 -0400
++++ ./modules/gui/qt4/util/customwidgets.cpp	2010-06-22 02:57:45.000000000 -0400
+@@ -380,7 +380,7 @@
+ 
+     if( qtk <= 0xff )
+         /* VLC and X11 use lowercase whereas Qt uses uppercase */
+-#if defined( __STDC_ISO_10646__ ) || defined( _WIN32 )
++#if defined( __STDC_ISO_10646__ ) || defined( _WIN32 ) || defined(__FreeBSD__)
+         i_vlck = towlower( qtk );
+ #else
+ # error FIXME
diff -ruN /usr/ports/multimedia/vlc/files/patch-modules_access_pvr.c vlc/files/patch-modules_access_pvr.c
--- /usr/ports/multimedia/vlc/files/patch-modules_access_pvr.c	2010-03-25 16:27:39.000000000 -0400
+++ vlc/files/patch-modules_access_pvr.c	1969-12-31 19:00:00.000000000 -0500
@@ -1,12 +0,0 @@
---- modules/access/pvr.c.orig	2010-03-23 17:37:48.000000000 +0100
-+++ modules/access/pvr.c	2010-03-23 17:38:04.000000000 +0100
-@@ -38,7 +38,9 @@
- #include <fcntl.h>
- #include <unistd.h>
- #include <errno.h>
-+#ifdef __linux__
- #include <linux/types.h>
-+#endif
- #include <sys/ioctl.h>
- #include <sys/poll.h>
- #ifdef HAVE_NEW_LINUX_VIDEODEV2_H
diff -ruN /usr/ports/multimedia/vlc/files/patch-modules_codec_png.c vlc/files/patch-modules_codec_png.c
--- /usr/ports/multimedia/vlc/files/patch-modules_codec_png.c	2010-03-28 11:30:42.000000000 -0400
+++ vlc/files/patch-modules_codec_png.c	1969-12-31 19:00:00.000000000 -0500
@@ -1,20 +0,0 @@
---- modules/codec/png.c.orig	2009-12-20 18:43:39.000000000 +0100
-+++ modules/codec/png.c	2010-03-28 17:09:18.000000000 +0200
-@@ -155,7 +155,7 @@
-     p_info = png_create_info_struct( p_png );
-     if( p_info == NULL )
-     {
--        png_destroy_read_struct( &p_png, png_infopp_NULL, png_infopp_NULL );
-+        png_destroy_read_struct( &p_png, NULL, NULL );
-         block_Release( p_block ); *pp_block = NULL;
-         return NULL;
-     }
-@@ -163,7 +163,7 @@
-     p_end_info = png_create_info_struct( p_png );
-     if( p_end_info == NULL )
-     {
--        png_destroy_read_struct( &p_png, &p_info, png_infopp_NULL );
-+        png_destroy_read_struct( &p_png, &p_info, NULL );
-         block_Release( p_block ); *pp_block = NULL;
-         return NULL;
-     }
diff -ruN /usr/ports/multimedia/vlc/files/patch-v4l vlc/files/patch-v4l
--- /usr/ports/multimedia/vlc/files/patch-v4l	2010-01-05 15:59:18.000000000 -0500
+++ vlc/files/patch-v4l	1969-12-31 19:00:00.000000000 -0500
@@ -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;


>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list