summaryrefslogtreecommitdiff
path: root/multimedia
diff options
context:
space:
mode:
authorwiz <wiz@pkgsrc.org>2015-10-25 10:52:24 +0000
committerwiz <wiz@pkgsrc.org>2015-10-25 10:52:24 +0000
commitc8e97c19fda04a79552ab3222e345f552a749bef (patch)
tree780b3ec468e5ac5503d6b1c4dc323c6d9aec3254 /multimedia
parentd25f0467b45d77977aca651f134b67d873c56a29 (diff)
downloadpkgsrc-c8e97c19fda04a79552ab3222e345f552a749bef.tar.gz
Re-Import vlc-2.0.9nb21 (from vlc2) as multimedia/vlc20.
To better clarify which version this packages. VideoLAN is a project of French students from the Ecole Centrale Paris and developers from all over the world. Its main goals is MPEG streaming on a network, but it also features a standalone multimedia player. The VideoLAN Server can stream video read from a hard disk, a DVD player, a satellite card or an MPEG 2 compression card, and unicast or multicast it on a network. The VideoLAN Client can read the stream from the network and display it. It can also be used to display video read locally on the computer : DVDs, VCDs, MPEG and DivX files and from a satellite card. It is multi-plaform : Linux, Windows, Mac OS X, BeOS, BSD, Solaris, QNX, iPaq... The VideoLAN Client and Server now have a full IPv6 support. This version is the last version with support for OSSv3, which is the OSS version implemented in NetBSD before NetBSD 7.
Diffstat (limited to 'multimedia')
-rw-r--r--multimedia/vlc20/DESCR13
-rw-r--r--multimedia/vlc20/Makefile159
-rw-r--r--multimedia/vlc20/PLIST552
-rw-r--r--multimedia/vlc20/PLIST.Linux8
-rw-r--r--multimedia/vlc20/buildlink3.mk13
-rw-r--r--multimedia/vlc20/distinfo28
-rw-r--r--multimedia/vlc20/options.mk183
-rw-r--r--multimedia/vlc20/patches/patch-aa23
-rw-r--r--multimedia/vlc20/patches/patch-ab15
-rw-r--r--multimedia/vlc20/patches/patch-ac31
-rw-r--r--multimedia/vlc20/patches/patch-ad24
-rw-r--r--multimedia/vlc20/patches/patch-ae13
-rw-r--r--multimedia/vlc20/patches/patch-af40
-rw-r--r--multimedia/vlc20/patches/patch-ag26
-rw-r--r--multimedia/vlc20/patches/patch-ah13
-rw-r--r--multimedia/vlc20/patches/patch-ai22
-rw-r--r--multimedia/vlc20/patches/patch-ar88
-rw-r--r--multimedia/vlc20/patches/patch-as110
-rw-r--r--multimedia/vlc20/patches/patch-at22
-rw-r--r--multimedia/vlc20/patches/patch-au17
-rw-r--r--multimedia/vlc20/patches/patch-av48
-rw-r--r--multimedia/vlc20/patches/patch-ba25
-rw-r--r--multimedia/vlc20/patches/patch-ca42
-rw-r--r--multimedia/vlc20/patches/patch-modules_access_directory.c25
-rw-r--r--multimedia/vlc20/patches/patch-modules_access_rtp_Modules.am13
-rw-r--r--multimedia/vlc20/patches/patch-modules_audio__output_pulse.c13
-rw-r--r--multimedia/vlc20/patches/patch-modules_misc_gnutls.c24
-rw-r--r--multimedia/vlc20/patches/patch-modules_text__renderer_freetype.c19
-rw-r--r--multimedia/vlc20/patches/patch-skins-aa12
-rw-r--r--multimedia/vlc20/patches/patch-src_config_file.c24
30 files changed, 1645 insertions, 0 deletions
diff --git a/multimedia/vlc20/DESCR b/multimedia/vlc20/DESCR
new file mode 100644
index 00000000000..074a9f44152
--- /dev/null
+++ b/multimedia/vlc20/DESCR
@@ -0,0 +1,13 @@
+VideoLAN is a project of French students from the Ecole Centrale Paris
+and developers from all over the world. Its main goals is MPEG streaming
+on a network, but it also features a standalone multimedia player. The
+VideoLAN Server can stream video read from a hard disk, a DVD player,
+a satellite card or an MPEG 2 compression card, and unicast or multicast
+it on a network. The VideoLAN Client can read the stream from the network
+and display it. It can also be used to display video read locally on
+the computer : DVDs, VCDs, MPEG and DivX files and from a satellite
+card. It is multi-plaform : Linux, Windows, Mac OS X, BeOS, BSD, Solaris,
+QNX, iPaq... The VideoLAN Client and Server now have a full IPv6 support.
+
+This version is the last version with support for OSSv3, which is the
+OSS version implemented in NetBSD before NetBSD 7.
diff --git a/multimedia/vlc20/Makefile b/multimedia/vlc20/Makefile
new file mode 100644
index 00000000000..9f589401b33
--- /dev/null
+++ b/multimedia/vlc20/Makefile
@@ -0,0 +1,159 @@
+# $NetBSD: Makefile,v 1.1 2015/10/25 10:52:24 wiz Exp $
+
+DISTNAME= vlc-${VLC_VERSION}
+PKGREVISION= 21
+CATEGORIES= multimedia
+MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=vlc/} \
+ http://download.videolan.org/pub/videolan/vlc/${VLC_VERSION}/
+EXTRACT_SUFX= .tar.xz
+
+VLC_VERSION= 2.0.9
+
+MAINTAINER= pkgsrc-users@NetBSD.org
+HOMEPAGE= http://www.videolan.org/
+COMMENT= VLC media player and streaming server
+LICENSE= gnu-gpl-v2
+
+CONFLICTS= vlc07-[0-9]* vlc08-[0-9]*
+
+USE_LIBTOOL= yes
+USE_TOOLS+= gmake perl pkg-config \
+ autoconf automake autoreconf
+# for autopoint
+BUILD_DEPENDS+= gettext-tools-[0-9]*:../../devel/gettext-tools
+USE_PKGLOCALEDIR= yes
+GNU_CONFIGURE= yes
+CONFIGURE_ARGS+= --with-kde-solid=${PREFIX}/share/kde/apps/solid/actions
+PTHREAD_OPTS+= require
+USE_LANGUAGES= c99 c++
+PLIST_VARS+= x86simd altivec v4l2 oss rtsp
+
+.include "../../mk/bsd.prefs.mk"
+.include "options.mk"
+
+BUILDLINK_API_DEPENDS.zlib+= zlib>=1.2.0
+BUILDLINK_API_DEPENDS.vcdimager+= vcdimager>=0.7.20nb1
+
+CONFIGURE_ARGS+= --disable-speex # needs unstable 1.1.x branch [1.2 in pkgsrc]
+CONFIGURE_ARGS+= --disable-smb
+
+CONFIGURE_ARGS+= --enable-dvdread \
+ --enable-flac \
+ --enable-theora \
+ --disable-lua
+
+# Build optimalized modules
+.if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64"
+PLIST.x86simd= yes
+CONFIGURE_ARGS+= --enable-mmx \
+ --enable-sse
+.endif
+.if ${MACHINE_ARCH} == "powerpc"
+PLIST.altivec= yes
+CONFIGURE_ARGS+= --enable-altivec
+.endif
+
+# Linux uses alsa
+.if "${OPSYS}" != "Linux"
+PLIST.oss= yes
+.endif
+
+# Enable when cleanly builds
+.if exists(/usr/include/linux/videodev2.h) # || exists(/usr/include/sys/videoio.h)
+CONFIGURE_ARGS+= --enable-v4l2
+PLIST.v4l2= yes
+.else
+CONFIGURE_ARGS+= --disable-v4l2
+.endif
+
+INSTALLATION_DIRS+= share/vlc/http/dialogs share/vlc/http/images \
+ share/vlc/http/js share/vlc/http/old \
+ share/vlc/http/old/admin share/vlc/http/old/vlm \
+ share/vlc/http/requests share/vlc/osdmenu/default \
+ share/vlc/osdmenu/default/selected \
+ share/vlc/osdmenu/default/selection \
+ share/vlc/osdmenu/default/volume \
+ share/vlc/osdmenu/dvd/selected \
+ share/vlc/osdmenu/dvd/volume \
+ share/vlc/osdmenu/dvd/unselect \
+ share/vlc/osdmenu/dvd/selection \
+ share/vlc/skins2/fonts \
+ ${PKGMANDIR}/man1
+pre-configure:
+ cd ${WRKSRC} && autoreconf -if
+
+post-install:
+ ${INSTALL_DATA} ${WRKSRC}/doc/vlc.1 ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1
+
+# Let's use dejavu-ttf as it has nice unicode support
+#
+ORIGFNT= /usr/share/fonts/truetype/freefont/FreeSerifBold.ttf
+DEFAULT_FONT?= ${PREFIX}/share/fonts/X11/TTF/DejaVuSans.ttf
+DEPENDS+= dejavu-ttf>=2.26:../../fonts/dejavu-ttf
+
+SUBST_CLASSES+= oss
+SUBST_STAGE.oss= pre-configure
+SUBST_SED.oss= -e "s,/dev/dsp,${DEVOSSAUDIO},g"
+SUBST_FILES.oss+= modules/access/oss.c
+SUBST_FILES.oss+= modules/audio_output/oss.c
+SUBST_FILES.oss+= po/*.po
+SUBST_MESSAGE.oss= Fixing hardcoded audio device.
+
+SUBST_CLASSES+= fnt
+SUBST_STAGE.fnt= pre-configure
+SUBST_SED.fnt= -e "s,${ORIGFNT},${DEFAULT_FONT},"
+SUBST_FILES.fnt= modules/text_renderer/freetype.c
+SUBST_MESSAGE.fnt= Fixing hardcoded paths.
+
+# VLC embeds the build environment info to help debuging.
+CHECK_WRKREF_SKIP= lib/libvlccore.a \
+ lib/libvlccore.so*
+
+.include "../../audio/musepack/buildlink3.mk"
+.include "../../audio/flac/buildlink3.mk"
+.include "../../audio/libmad/buildlink3.mk"
+.include "../../audio/libvorbis/buildlink3.mk"
+.include "../../audio/liba52/buildlink3.mk"
+.include "../../audio/libcddb/buildlink3.mk"
+.include "../../audio/libid3tag/buildlink3.mk"
+.include "../../audio/taglib/buildlink3.mk"
+.include "../../audio/libcddb/buildlink3.mk"
+.include "../../misc/libcdio/buildlink3.mk"
+
+.include "../../mk/jpeg.buildlink3.mk"
+.include "../../graphics/hicolor-icon-theme/buildlink3.mk"
+.include "../../graphics/png/buildlink3.mk"
+.include "../../converters/fribidi/buildlink3.mk"
+.include "../../devel/libebml/buildlink3.mk"
+.include "../../devel/gettext-lib/buildlink3.mk"
+.include "../../devel/pcre/buildlink3.mk"
+.include "../../devel/zlib/buildlink3.mk"
+.include "../../textproc/libxml2/buildlink3.mk"
+.include "../../security/libgcrypt/buildlink3.mk"
+.include "../../security/gnutls/buildlink3.mk"
+
+.include "../../multimedia/ffmpeg1/buildlink3.mk"
+.include "../../multimedia/libdvdplay/buildlink3.mk"
+.include "../../multimedia/libdvbpsi0/buildlink3.mk"
+.include "../../multimedia/libdvdnav/buildlink3.mk"
+.include "../../multimedia/libdvdread/buildlink3.mk"
+.include "../../multimedia/libmatroska/buildlink3.mk"
+.include "../../multimedia/libmpeg2/buildlink3.mk"
+.include "../../multimedia/libogg/buildlink3.mk"
+.include "../../multimedia/libtheora/buildlink3.mk"
+# libX11 should be built with xcb enabled
+BUILDLINK_API_DEPENDS.libX11+= libX11>=1.3.5
+.include "../../x11/libX11/buildlink3.mk"
+# needs x264_encoder_delayed_frames
+BUILDLINK_API_DEPENDS.x264-devel+= x264-devel>=20100201
+.include "../../multimedia/x264-devel/buildlink3.mk"
+#.include "../../lang/lua/buildlink3.mk"
+.include "../../net/libupnp/buildlink3.mk"
+
+.include "../../sysutils/desktop-file-utils/desktopdb.mk"
+.if "${OPSYS}" == "Linux"
+. include "../../audio/alsa-lib/buildlink3.mk"
+.endif
+.include "../../mk/oss.buildlink3.mk"
+.include "../../mk/pthread.buildlink3.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/multimedia/vlc20/PLIST b/multimedia/vlc20/PLIST
new file mode 100644
index 00000000000..3ee771d7dad
--- /dev/null
+++ b/multimedia/vlc20/PLIST
@@ -0,0 +1,552 @@
+@comment $NetBSD: PLIST,v 1.1 2015/10/25 10:52:24 wiz Exp $
+bin/cvlc
+${PLIST.x11}bin/qvlc
+bin/rvlc
+${PLIST.skins}bin/svlc
+bin/vlc
+bin/vlc-wrapper
+include/vlc/deprecated.h
+include/vlc/libvlc.h
+include/vlc/libvlc_events.h
+include/vlc/libvlc_media.h
+include/vlc/libvlc_media_discoverer.h
+include/vlc/libvlc_media_library.h
+include/vlc/libvlc_media_list.h
+include/vlc/libvlc_media_list_player.h
+include/vlc/libvlc_media_player.h
+include/vlc/libvlc_structures.h
+include/vlc/libvlc_version.h
+include/vlc/libvlc_vlm.h
+include/vlc/plugins/vlc_about.h
+include/vlc/plugins/vlc_access.h
+include/vlc/plugins/vlc_acl.h
+include/vlc/plugins/vlc_aout.h
+include/vlc/plugins/vlc_aout_intf.h
+include/vlc/plugins/vlc_aout_mixer.h
+include/vlc/plugins/vlc_arrays.h
+include/vlc/plugins/vlc_art_finder.h
+include/vlc/plugins/vlc_atomic.h
+include/vlc/plugins/vlc_avcodec.h
+include/vlc/plugins/vlc_bits.h
+include/vlc/plugins/vlc_block.h
+include/vlc/plugins/vlc_block_helper.h
+include/vlc/plugins/vlc_charset.h
+include/vlc/plugins/vlc_codec.h
+include/vlc/plugins/vlc_common.h
+include/vlc/plugins/vlc_config.h
+include/vlc/plugins/vlc_config_cat.h
+include/vlc/plugins/vlc_configuration.h
+include/vlc/plugins/vlc_cpu.h
+include/vlc/plugins/vlc_demux.h
+include/vlc/plugins/vlc_dialog.h
+include/vlc/plugins/vlc_epg.h
+include/vlc/plugins/vlc_es.h
+include/vlc/plugins/vlc_es_out.h
+include/vlc/plugins/vlc_events.h
+include/vlc/plugins/vlc_filter.h
+include/vlc/plugins/vlc_fourcc.h
+include/vlc/plugins/vlc_fs.h
+include/vlc/plugins/vlc_gcrypt.h
+include/vlc/plugins/vlc_http.h
+include/vlc/plugins/vlc_httpd.h
+include/vlc/plugins/vlc_image.h
+include/vlc/plugins/vlc_inhibit.h
+include/vlc/plugins/vlc_input.h
+include/vlc/plugins/vlc_input_item.h
+include/vlc/plugins/vlc_keys.h
+include/vlc/plugins/vlc_main.h
+include/vlc/plugins/vlc_md5.h
+include/vlc/plugins/vlc_media_library.h
+include/vlc/plugins/vlc_messages.h
+include/vlc/plugins/vlc_meta.h
+include/vlc/plugins/vlc_modules.h
+include/vlc/plugins/vlc_mouse.h
+include/vlc/plugins/vlc_mtime.h
+include/vlc/plugins/vlc_network.h
+include/vlc/plugins/vlc_objects.h
+include/vlc/plugins/vlc_opengl.h
+include/vlc/plugins/vlc_picture.h
+include/vlc/plugins/vlc_picture_fifo.h
+include/vlc/plugins/vlc_picture_pool.h
+include/vlc/plugins/vlc_playlist.h
+include/vlc/plugins/vlc_plugin.h
+include/vlc/plugins/vlc_probe.h
+include/vlc/plugins/vlc_rand.h
+include/vlc/plugins/vlc_services_discovery.h
+include/vlc/plugins/vlc_sout.h
+include/vlc/plugins/vlc_spu.h
+include/vlc/plugins/vlc_sql.h
+include/vlc/plugins/vlc_stream.h
+include/vlc/plugins/vlc_strings.h
+include/vlc/plugins/vlc_subpicture.h
+include/vlc/plugins/vlc_text_style.h
+include/vlc/plugins/vlc_threads.h
+include/vlc/plugins/vlc_tls.h
+include/vlc/plugins/vlc_url.h
+include/vlc/plugins/vlc_variables.h
+include/vlc/plugins/vlc_video_splitter.h
+include/vlc/plugins/vlc_vlm.h
+include/vlc/plugins/vlc_vout.h
+include/vlc/plugins/vlc_vout_display.h
+include/vlc/plugins/vlc_vout_osd.h
+include/vlc/plugins/vlc_vout_window.h
+include/vlc/plugins/vlc_xlib.h
+include/vlc/plugins/vlc_xml.h
+include/vlc/vlc.h
+lib/libvlc.la
+lib/libvlccore.la
+lib/pkgconfig/libvlc.pc
+lib/pkgconfig/vlc-plugin.pc
+${PLIST.x86simd}lib/vlc/plugins/3dnow/libmemcpy3dn_plugin.la
+lib/vlc/plugins/access/libaccess_attachment_plugin.la
+lib/vlc/plugins/access/libaccess_avio_plugin.la
+lib/vlc/plugins/access/libaccess_bd_plugin.la
+lib/vlc/plugins/access/libaccess_ftp_plugin.la
+${PLIST.gnome}lib/vlc/plugins/access/libaccess_gnomevfs_plugin.la
+lib/vlc/plugins/access/libaccess_http_plugin.la
+lib/vlc/plugins/access/libaccess_imem_plugin.la
+lib/vlc/plugins/access/libaccess_mms_plugin.la
+${PLIST.oss}lib/vlc/plugins/access/libaccess_oss_plugin.la
+lib/vlc/plugins/access/libaccess_rar_plugin.la
+lib/vlc/plugins/access/libaccess_shm_plugin.la
+lib/vlc/plugins/access/libaccess_tcp_plugin.la
+lib/vlc/plugins/access/libaccess_udp_plugin.la
+lib/vlc/plugins/access/libaccess_vdr_plugin.la
+lib/vlc/plugins/access/libcdda_plugin.la
+lib/vlc/plugins/access/libdvdnav_plugin.la
+lib/vlc/plugins/access/libdvdread_plugin.la
+lib/vlc/plugins/access/libfilesystem_plugin.la
+lib/vlc/plugins/access/libidummy_plugin.la
+${PLIST.pulseaudio}lib/vlc/plugins/access/libpulsesrc_plugin.la
+lib/vlc/plugins/access/librtp_plugin.la
+lib/vlc/plugins/access/libsdp_plugin.la
+lib/vlc/plugins/access/libstream_filter_rar_plugin.la
+lib/vlc/plugins/access/libvcd_plugin.la
+${PLIST.x11}lib/vlc/plugins/access/libxcb_screen_plugin.la
+lib/vlc/plugins/access/libzip_plugin.la
+lib/vlc/plugins/access_output/libaccess_output_dummy_plugin.la
+lib/vlc/plugins/access_output/libaccess_output_file_plugin.la
+lib/vlc/plugins/access_output/libaccess_output_http_plugin.la
+lib/vlc/plugins/access_output/libaccess_output_livehttp_plugin.la
+lib/vlc/plugins/access_output/libaccess_output_udp_plugin.la
+lib/vlc/plugins/audio_filter/liba52tofloat32_plugin.la
+lib/vlc/plugins/audio_filter/liba52tospdif_plugin.la
+lib/vlc/plugins/audio_filter/libaudio_format_plugin.la
+lib/vlc/plugins/audio_filter/libaudiobargraph_a_plugin.la
+lib/vlc/plugins/audio_filter/libchorus_flanger_plugin.la
+lib/vlc/plugins/audio_filter/libcompressor_plugin.la
+lib/vlc/plugins/audio_filter/libconverter_fixed_plugin.la
+lib/vlc/plugins/audio_filter/libdolby_surround_decoder_plugin.la
+${PLIST.dts}lib/vlc/plugins/audio_filter/libdtstofloat32_plugin.la
+lib/vlc/plugins/audio_filter/libdtstospdif_plugin.la
+lib/vlc/plugins/audio_filter/libequalizer_plugin.la
+lib/vlc/plugins/audio_filter/libheadphone_channel_mixer_plugin.la
+lib/vlc/plugins/audio_filter/libkaraoke_plugin.la
+lib/vlc/plugins/audio_filter/libmono_plugin.la
+lib/vlc/plugins/audio_filter/libmpgatofixed32_plugin.la
+lib/vlc/plugins/audio_filter/libnormvol_plugin.la
+lib/vlc/plugins/audio_filter/libparam_eq_plugin.la
+lib/vlc/plugins/audio_filter/libscaletempo_plugin.la
+lib/vlc/plugins/audio_filter/libsimple_channel_mixer_plugin.la
+lib/vlc/plugins/audio_filter/libspatializer_plugin.la
+lib/vlc/plugins/audio_filter/libtrivial_channel_mixer_plugin.la
+lib/vlc/plugins/audio_filter/libugly_resampler_plugin.la
+lib/vlc/plugins/audio_mixer/libfixed32_mixer_plugin.la
+lib/vlc/plugins/audio_mixer/libfloat32_mixer_plugin.la
+lib/vlc/plugins/audio_output/libadummy_plugin.la
+lib/vlc/plugins/audio_output/libamem_plugin.la
+lib/vlc/plugins/audio_output/libaout_file_plugin.la
+${PLIST.oss}lib/vlc/plugins/audio_output/liboss_plugin.la
+${PLIST.pulseaudio}lib/vlc/plugins/audio_output/libpulse_plugin.la
+lib/vlc/plugins/codec/liba52_plugin.la
+lib/vlc/plugins/codec/libadpcm_plugin.la
+lib/vlc/plugins/codec/libaes3_plugin.la
+lib/vlc/plugins/codec/libaraw_plugin.la
+lib/vlc/plugins/codec/libavcodec_plugin.la
+lib/vlc/plugins/codec/libcc_plugin.la
+lib/vlc/plugins/codec/libcdg_plugin.la
+lib/vlc/plugins/codec/libcvdsub_plugin.la
+lib/vlc/plugins/codec/libddummy_plugin.la
+lib/vlc/plugins/codec/libdts_plugin.la
+lib/vlc/plugins/codec/libdvbsub_plugin.la
+lib/vlc/plugins/codec/libedummy_plugin.la
+${PLIST.faad}lib/vlc/plugins/codec/libfaad_plugin.la
+lib/vlc/plugins/codec/libflac_plugin.la
+lib/vlc/plugins/codec/liblibmpeg2_plugin.la
+lib/vlc/plugins/codec/liblpcm_plugin.la
+lib/vlc/plugins/codec/libmpeg_audio_plugin.la
+lib/vlc/plugins/codec/libpng_plugin.la
+lib/vlc/plugins/codec/librawvideo_plugin.la
+${PLIST.sdl}lib/vlc/plugins/codec/libsdl_image_plugin.la
+lib/vlc/plugins/codec/libspudec_plugin.la
+lib/vlc/plugins/codec/libstl_plugin.la
+lib/vlc/plugins/codec/libsubsdec_plugin.la
+lib/vlc/plugins/codec/libsubsusf_plugin.la
+lib/vlc/plugins/codec/libsvcdsub_plugin.la
+lib/vlc/plugins/codec/libt140_plugin.la
+lib/vlc/plugins/codec/libtelx_plugin.la
+lib/vlc/plugins/codec/libtheora_plugin.la
+lib/vlc/plugins/codec/libvorbis_plugin.la
+lib/vlc/plugins/codec/libx264_plugin.la
+lib/vlc/plugins/control/libdummy_plugin.la
+lib/vlc/plugins/control/libgestures_plugin.la
+${PLIST.x11}lib/vlc/plugins/control/libglobalhotkeys_plugin.la
+lib/vlc/plugins/control/libhotkeys_plugin.la
+${PLIST.lirc}lib/vlc/plugins/control/liblirc_plugin.la
+lib/vlc/plugins/control/libmotion_plugin.la
+lib/vlc/plugins/control/libnetsync_plugin.la
+lib/vlc/plugins/control/liboldrc_plugin.la
+lib/vlc/plugins/demux/libaiff_plugin.la
+lib/vlc/plugins/demux/libasf_plugin.la
+lib/vlc/plugins/demux/libau_plugin.la
+lib/vlc/plugins/demux/libavformat_plugin.la
+lib/vlc/plugins/demux/libavi_plugin.la
+lib/vlc/plugins/demux/libdemux_cdg_plugin.la
+lib/vlc/plugins/demux/libdemux_stl_plugin.la
+lib/vlc/plugins/demux/libdemuxdump_plugin.la
+lib/vlc/plugins/demux/libdirac_plugin.la
+lib/vlc/plugins/demux/libes_plugin.la
+lib/vlc/plugins/demux/libflacsys_plugin.la
+lib/vlc/plugins/demux/libh264_plugin.la
+lib/vlc/plugins/demux/libimage_plugin.la
+${PLIST.rtsp}lib/vlc/plugins/demux/liblive555_plugin.la
+lib/vlc/plugins/demux/libmjpeg_plugin.la
+lib/vlc/plugins/demux/libmkv_plugin.la
+lib/vlc/plugins/demux/libmp4_plugin.la
+lib/vlc/plugins/demux/libmpc_plugin.la
+lib/vlc/plugins/demux/libmpgv_plugin.la
+lib/vlc/plugins/demux/libnsc_plugin.la
+lib/vlc/plugins/demux/libnsv_plugin.la
+lib/vlc/plugins/demux/libnuv_plugin.la
+lib/vlc/plugins/demux/libogg_plugin.la
+lib/vlc/plugins/demux/libplaylist_plugin.la
+lib/vlc/plugins/demux/libps_plugin.la
+lib/vlc/plugins/demux/libpva_plugin.la
+lib/vlc/plugins/demux/librawaud_plugin.la
+lib/vlc/plugins/demux/librawdv_plugin.la
+lib/vlc/plugins/demux/librawvid_plugin.la
+lib/vlc/plugins/demux/libreal_plugin.la
+lib/vlc/plugins/demux/libsmf_plugin.la
+lib/vlc/plugins/demux/libsubtitle_plugin.la
+lib/vlc/plugins/demux/libts_plugin.la
+lib/vlc/plugins/demux/libtta_plugin.la
+lib/vlc/plugins/demux/libty_plugin.la
+lib/vlc/plugins/demux/libvc1_plugin.la
+lib/vlc/plugins/demux/libvobsub_plugin.la
+lib/vlc/plugins/demux/libvoc_plugin.la
+lib/vlc/plugins/demux/libwav_plugin.la
+lib/vlc/plugins/demux/libxa_plugin.la
+${PLIST.x11}lib/vlc/plugins/gui/libqt4_plugin.la
+${PLIST.skins}lib/vlc/plugins/gui/libskins2_plugin.la
+lib/vlc/plugins/meta_engine/libfolder_plugin.la
+lib/vlc/plugins/meta_engine/libtaglib_plugin.la
+lib/vlc/plugins/misc/libaudioscrobbler_plugin.la
+lib/vlc/plugins/misc/libexport_plugin.la
+lib/vlc/plugins/misc/libgnutls_plugin.la
+lib/vlc/plugins/misc/liblogger_plugin.la
+lib/vlc/plugins/misc/libmemcpy_plugin.la
+lib/vlc/plugins/misc/libosd_parser_plugin.la
+lib/vlc/plugins/misc/libstats_plugin.la
+lib/vlc/plugins/misc/libvod_rtsp_plugin.la
+${PLIST.x11}lib/vlc/plugins/misc/libxdg_screensaver_plugin.la
+lib/vlc/plugins/misc/libxml_plugin.la
+${PLIST.x11}lib/vlc/plugins/misc/libxscreensaver_plugin.la
+${PLIST.x86simd}lib/vlc/plugins/mmx/libi420_rgb_mmx_plugin.la
+${PLIST.x86simd}lib/vlc/plugins/mmx/libi420_yuy2_mmx_plugin.la
+${PLIST.x86simd}lib/vlc/plugins/mmx/libi422_yuy2_mmx_plugin.la
+${PLIST.x86simd}lib/vlc/plugins/mmx/libmemcpymmx_plugin.la
+${PLIST.x86simd}lib/vlc/plugins/mmxext/libmemcpymmxext_plugin.la
+lib/vlc/plugins/mux/libmux_asf_plugin.la
+lib/vlc/plugins/mux/libmux_avi_plugin.la
+lib/vlc/plugins/mux/libmux_dummy_plugin.la
+lib/vlc/plugins/mux/libmux_mp4_plugin.la
+lib/vlc/plugins/mux/libmux_mpjpeg_plugin.la
+lib/vlc/plugins/mux/libmux_ogg_plugin.la
+lib/vlc/plugins/mux/libmux_ps_plugin.la
+lib/vlc/plugins/mux/libmux_ts_plugin.la
+lib/vlc/plugins/mux/libmux_wav_plugin.la
+lib/vlc/plugins/packetizer/libpacketizer_copy_plugin.la
+lib/vlc/plugins/packetizer/libpacketizer_dirac_plugin.la
+lib/vlc/plugins/packetizer/libpacketizer_flac_plugin.la
+lib/vlc/plugins/packetizer/libpacketizer_h264_plugin.la
+lib/vlc/plugins/packetizer/libpacketizer_mlp_plugin.la
+lib/vlc/plugins/packetizer/libpacketizer_mpeg4audio_plugin.la
+lib/vlc/plugins/packetizer/libpacketizer_mpeg4video_plugin.la
+lib/vlc/plugins/packetizer/libpacketizer_mpegvideo_plugin.la
+lib/vlc/plugins/packetizer/libpacketizer_vc1_plugin.la
+lib/vlc/plugins/plugins.dat
+lib/vlc/plugins/services_discovery/libmediadirs_plugin.la
+lib/vlc/plugins/services_discovery/libpodcast_plugin.la
+${PLIST.pulseaudio}lib/vlc/plugins/services_discovery/libpulselist_plugin.la
+lib/vlc/plugins/services_discovery/libsap_plugin.la
+lib/vlc/plugins/services_discovery/libupnp_plugin.la
+${PLIST.x11}lib/vlc/plugins/services_discovery/libxcb_apps_plugin.la
+${PLIST.x86simd}lib/vlc/plugins/sse2/libi420_rgb_sse2_plugin.la
+${PLIST.x86simd}lib/vlc/plugins/sse2/libi420_yuy2_sse2_plugin.la
+${PLIST.x86simd}lib/vlc/plugins/sse2/libi422_yuy2_sse2_plugin.la
+lib/vlc/plugins/stream_filter/libdecomp_plugin.la
+lib/vlc/plugins/stream_filter/libstream_filter_dash_plugin.la
+lib/vlc/plugins/stream_filter/libstream_filter_httplive_plugin.la
+lib/vlc/plugins/stream_filter/libstream_filter_record_plugin.la
+lib/vlc/plugins/stream_out/libstream_out_autodel_plugin.la
+lib/vlc/plugins/stream_out/libstream_out_bridge_plugin.la
+lib/vlc/plugins/stream_out/libstream_out_delay_plugin.la
+lib/vlc/plugins/stream_out/libstream_out_description_plugin.la
+lib/vlc/plugins/stream_out/libstream_out_display_plugin.la
+lib/vlc/plugins/stream_out/libstream_out_dummy_plugin.la
+lib/vlc/plugins/stream_out/libstream_out_duplicate_plugin.la
+lib/vlc/plugins/stream_out/libstream_out_es_plugin.la
+lib/vlc/plugins/stream_out/libstream_out_gather_plugin.la
+lib/vlc/plugins/stream_out/libstream_out_langfromtelx_plugin.la
+lib/vlc/plugins/stream_out/libstream_out_mosaic_bridge_plugin.la
+lib/vlc/plugins/stream_out/libstream_out_raop_plugin.la
+lib/vlc/plugins/stream_out/libstream_out_record_plugin.la
+lib/vlc/plugins/stream_out/libstream_out_rtp_plugin.la
+lib/vlc/plugins/stream_out/libstream_out_select_plugin.la
+lib/vlc/plugins/stream_out/libstream_out_setid_plugin.la
+lib/vlc/plugins/stream_out/libstream_out_smem_plugin.la
+lib/vlc/plugins/stream_out/libstream_out_standard_plugin.la
+lib/vlc/plugins/stream_out/libstream_out_transcode_plugin.la
+${PLIST.x11}lib/vlc/plugins/text_renderer/libfreetype_plugin.la
+lib/vlc/plugins/text_renderer/libtdummy_plugin.la
+lib/vlc/plugins/video_chroma/libgrey_yuv_plugin.la
+lib/vlc/plugins/video_chroma/libi420_rgb_plugin.la
+lib/vlc/plugins/video_chroma/libi420_yuy2_plugin.la
+lib/vlc/plugins/video_chroma/libi422_i420_plugin.la
+lib/vlc/plugins/video_chroma/libi422_yuy2_plugin.la
+lib/vlc/plugins/video_chroma/librv32_plugin.la
+lib/vlc/plugins/video_chroma/libyuy2_i420_plugin.la
+lib/vlc/plugins/video_chroma/libyuy2_i422_plugin.la
+lib/vlc/plugins/video_filter/libadjust_plugin.la
+lib/vlc/plugins/video_filter/libalphamask_plugin.la
+lib/vlc/plugins/video_filter/libantiflicker_plugin.la
+lib/vlc/plugins/video_filter/libaudiobargraph_v_plugin.la
+lib/vlc/plugins/video_filter/libball_plugin.la
+lib/vlc/plugins/video_filter/libblend_plugin.la
+lib/vlc/plugins/video_filter/libblendbench_plugin.la
+lib/vlc/plugins/video_filter/libbluescreen_plugin.la
+lib/vlc/plugins/video_filter/libcanvas_plugin.la
+lib/vlc/plugins/video_filter/libchain_plugin.la
+lib/vlc/plugins/video_filter/libclone_plugin.la
+lib/vlc/plugins/video_filter/libcolorthres_plugin.la
+lib/vlc/plugins/video_filter/libcroppadd_plugin.la
+lib/vlc/plugins/video_filter/libdeinterlace_plugin.la
+lib/vlc/plugins/video_filter/libdynamicoverlay_plugin.la
+lib/vlc/plugins/video_filter/liberase_plugin.la
+lib/vlc/plugins/video_filter/libextract_plugin.la
+lib/vlc/plugins/video_filter/libgaussianblur_plugin.la
+lib/vlc/plugins/video_filter/libgradfun_plugin.la
+lib/vlc/plugins/video_filter/libgradient_plugin.la
+lib/vlc/plugins/video_filter/libgrain_plugin.la
+lib/vlc/plugins/video_filter/libhqdn3d_plugin.la
+lib/vlc/plugins/video_filter/libinvert_plugin.la
+lib/vlc/plugins/video_filter/liblogo_plugin.la
+lib/vlc/plugins/video_filter/libmagnify_plugin.la
+lib/vlc/plugins/video_filter/libmarq_plugin.la
+lib/vlc/plugins/video_filter/libmirror_plugin.la
+lib/vlc/plugins/video_filter/libmosaic_plugin.la
+lib/vlc/plugins/video_filter/libmotionblur_plugin.la
+lib/vlc/plugins/video_filter/libmotiondetect_plugin.la
+lib/vlc/plugins/video_filter/libosdmenu_plugin.la
+${PLIST.x11}lib/vlc/plugins/video_filter/libpanoramix_plugin.la
+lib/vlc/plugins/video_filter/libposterize_plugin.la
+lib/vlc/plugins/video_filter/libpostproc_plugin.la
+lib/vlc/plugins/video_filter/libpsychedelic_plugin.la
+lib/vlc/plugins/video_filter/libpuzzle_plugin.la
+lib/vlc/plugins/video_filter/libremoteosd_plugin.la
+lib/vlc/plugins/video_filter/libripple_plugin.la
+lib/vlc/plugins/video_filter/librotate_plugin.la
+lib/vlc/plugins/video_filter/librss_plugin.la
+lib/vlc/plugins/video_filter/libscale_plugin.la
+lib/vlc/plugins/video_filter/libscene_plugin.la
+lib/vlc/plugins/video_filter/libsepia_plugin.la
+lib/vlc/plugins/video_filter/libsharpen_plugin.la
+lib/vlc/plugins/video_filter/libsubsdelay_plugin.la
+lib/vlc/plugins/video_filter/libswscale_plugin.la
+lib/vlc/plugins/video_filter/libtransform_plugin.la
+lib/vlc/plugins/video_filter/libwall_plugin.la
+lib/vlc/plugins/video_filter/libwave_plugin.la
+lib/vlc/plugins/video_filter/libyuvp_plugin.la
+lib/vlc/plugins/video_output/libvdummy_plugin.la
+lib/vlc/plugins/video_output/libvmem_plugin.la
+${PLIST.sdl}lib/vlc/plugins/video_output/libvout_sdl_plugin.la
+${PLIST.x11}lib/vlc/plugins/video_output/libxcb_glx_plugin.la
+${PLIST.x11}lib/vlc/plugins/video_output/libxcb_window_plugin.la
+${PLIST.x11}lib/vlc/plugins/video_output/libxcb_x11_plugin.la
+${PLIST.x11}lib/vlc/plugins/video_output/libxcb_xv_plugin.la
+lib/vlc/plugins/video_output/libyuv_plugin.la
+lib/vlc/plugins/visualization/libvisual_plugin.la
+lib/vlc/vlc-cache-gen
+man/man1/vlc-wrapper.1
+man/man1/vlc.1
+share/applications/vlc.desktop
+share/doc/vlc/bugreport-howto.txt
+share/doc/vlc/fortunes.txt
+share/doc/vlc/intf-vcd.txt
+share/doc/vlc/libvlc/QtPlayer/LICENSE
+share/doc/vlc/libvlc/QtPlayer/QtVLC.pro
+share/doc/vlc/libvlc/QtPlayer/main.cpp
+share/doc/vlc/libvlc/QtPlayer/player.cpp
+share/doc/vlc/libvlc/QtPlayer/player.h
+share/doc/vlc/libvlc/gtk_player.c
+share/doc/vlc/libvlc/libvlc_DVD_ripper.c
+share/doc/vlc/libvlc/vlc-thumb.c
+share/doc/vlc/libvlc/wx_player.cpp
+share/icons/hicolor/128x128/apps/vlc-xmas.png
+share/icons/hicolor/128x128/apps/vlc.png
+share/icons/hicolor/16x16/apps/vlc.png
+share/icons/hicolor/16x16/apps/vlc.xpm
+share/icons/hicolor/256x256/apps/vlc.png
+share/icons/hicolor/32x32/apps/vlc-xmas.xpm
+share/icons/hicolor/32x32/apps/vlc.png
+share/icons/hicolor/32x32/apps/vlc.xpm
+share/icons/hicolor/48x48/apps/vlc-xmas.png
+share/icons/hicolor/48x48/apps/vlc.png
+share/kde/apps/solid/actions/vlc-openbd.desktop
+share/kde/apps/solid/actions/vlc-opencda.desktop
+share/kde/apps/solid/actions/vlc-opendvd.desktop
+share/kde/apps/solid/actions/vlc-openvcd.desktop
+share/locale/ach/LC_MESSAGES/vlc.mo
+share/locale/af/LC_MESSAGES/vlc.mo
+share/locale/am/LC_MESSAGES/vlc.mo
+share/locale/an/LC_MESSAGES/vlc.mo
+share/locale/ar/LC_MESSAGES/vlc.mo
+share/locale/ast/LC_MESSAGES/vlc.mo
+share/locale/az/LC_MESSAGES/vlc.mo
+share/locale/be/LC_MESSAGES/vlc.mo
+share/locale/bg/LC_MESSAGES/vlc.mo
+share/locale/bn/LC_MESSAGES/vlc.mo
+share/locale/bn_IN/LC_MESSAGES/vlc.mo
+share/locale/br/LC_MESSAGES/vlc.mo
+share/locale/ca/LC_MESSAGES/vlc.mo
+share/locale/cgg/LC_MESSAGES/vlc.mo
+share/locale/ckb/LC_MESSAGES/vlc.mo
+share/locale/co/LC_MESSAGES/vlc.mo
+share/locale/cs/LC_MESSAGES/vlc.mo
+share/locale/cy/LC_MESSAGES/vlc.mo
+share/locale/da/LC_MESSAGES/vlc.mo
+share/locale/de/LC_MESSAGES/vlc.mo
+share/locale/el/LC_MESSAGES/vlc.mo
+share/locale/en_GB/LC_MESSAGES/vlc.mo
+share/locale/es/LC_MESSAGES/vlc.mo
+share/locale/et/LC_MESSAGES/vlc.mo
+share/locale/eu/LC_MESSAGES/vlc.mo
+share/locale/fa/LC_MESSAGES/vlc.mo
+share/locale/ff/LC_MESSAGES/vlc.mo
+share/locale/fi/LC_MESSAGES/vlc.mo
+share/locale/fr/LC_MESSAGES/vlc.mo
+share/locale/fur/LC_MESSAGES/vlc.mo
+share/locale/ga/LC_MESSAGES/vlc.mo
+share/locale/gd/LC_MESSAGES/vlc.mo
+share/locale/gl/LC_MESSAGES/vlc.mo
+share/locale/gu/LC_MESSAGES/vlc.mo
+share/locale/he/LC_MESSAGES/vlc.mo
+share/locale/hi/LC_MESSAGES/vlc.mo
+share/locale/hr/LC_MESSAGES/vlc.mo
+share/locale/hu/LC_MESSAGES/vlc.mo
+share/locale/hy/LC_MESSAGES/vlc.mo
+share/locale/ia/LC_MESSAGES/vlc.mo
+share/locale/id/LC_MESSAGES/vlc.mo
+share/locale/is/LC_MESSAGES/vlc.mo
+share/locale/it/LC_MESSAGES/vlc.mo
+share/locale/ja/LC_MESSAGES/vlc.mo
+share/locale/ka/LC_MESSAGES/vlc.mo
+share/locale/kk/LC_MESSAGES/vlc.mo
+share/locale/km/LC_MESSAGES/vlc.mo
+share/locale/kmr/LC_MESSAGES/vlc.mo
+share/locale/kn/LC_MESSAGES/vlc.mo
+share/locale/ko/LC_MESSAGES/vlc.mo
+share/locale/ky/LC_MESSAGES/vlc.mo
+share/locale/lg/LC_MESSAGES/vlc.mo
+share/locale/lt/LC_MESSAGES/vlc.mo
+share/locale/lv/LC_MESSAGES/vlc.mo
+share/locale/mk/LC_MESSAGES/vlc.mo
+share/locale/ml/LC_MESSAGES/vlc.mo
+share/locale/mn/LC_MESSAGES/vlc.mo
+share/locale/mr/LC_MESSAGES/vlc.mo
+share/locale/ms/LC_MESSAGES/vlc.mo
+share/locale/my/LC_MESSAGES/vlc.mo
+share/locale/nb/LC_MESSAGES/vlc.mo
+share/locale/ne/LC_MESSAGES/vlc.mo
+share/locale/nl/LC_MESSAGES/vlc.mo
+share/locale/nn/LC_MESSAGES/vlc.mo
+share/locale/oc/LC_MESSAGES/vlc.mo
+share/locale/or_IN/LC_MESSAGES/vlc.mo
+share/locale/pa/LC_MESSAGES/vlc.mo
+share/locale/pl/LC_MESSAGES/vlc.mo
+share/locale/ps/LC_MESSAGES/vlc.mo
+share/locale/pt_BR/LC_MESSAGES/vlc.mo
+share/locale/pt_PT/LC_MESSAGES/vlc.mo
+share/locale/ro/LC_MESSAGES/vlc.mo
+share/locale/ru/LC_MESSAGES/vlc.mo
+share/locale/si/LC_MESSAGES/vlc.mo
+share/locale/sk/LC_MESSAGES/vlc.mo
+share/locale/sl/LC_MESSAGES/vlc.mo
+share/locale/sq/LC_MESSAGES/vlc.mo
+share/locale/sr/LC_MESSAGES/vlc.mo
+share/locale/sv/LC_MESSAGES/vlc.mo
+share/locale/ta/LC_MESSAGES/vlc.mo
+share/locale/te/LC_MESSAGES/vlc.mo
+share/locale/tet/LC_MESSAGES/vlc.mo
+share/locale/th/LC_MESSAGES/vlc.mo
+share/locale/tl/LC_MESSAGES/vlc.mo
+share/locale/tr/LC_MESSAGES/vlc.mo
+share/locale/uk/LC_MESSAGES/vlc.mo
+share/locale/uz/LC_MESSAGES/vlc.mo
+share/locale/vi/LC_MESSAGES/vlc.mo
+share/locale/wa/LC_MESSAGES/vlc.mo
+share/locale/zh_CN/LC_MESSAGES/vlc.mo
+share/locale/zh_TW/LC_MESSAGES/vlc.mo
+share/locale/zu/LC_MESSAGES/vlc.mo
+share/vlc/osdmenu/default.cfg
+share/vlc/osdmenu/default/selected/bw.png
+share/vlc/osdmenu/default/selected/esc.png
+share/vlc/osdmenu/default/selected/fw.png
+share/vlc/osdmenu/default/selected/next.png
+share/vlc/osdmenu/default/selected/play_pause.png
+share/vlc/osdmenu/default/selected/previous.png
+share/vlc/osdmenu/default/selected/stop.png
+share/vlc/osdmenu/default/selected/volume.png
+share/vlc/osdmenu/default/selection/bw.png
+share/vlc/osdmenu/default/selection/esc.png
+share/vlc/osdmenu/default/selection/fw.png
+share/vlc/osdmenu/default/selection/next.png
+share/vlc/osdmenu/default/selection/play_pause.png
+share/vlc/osdmenu/default/selection/previous.png
+share/vlc/osdmenu/default/selection/stop.png
+share/vlc/osdmenu/default/selection/volume.png
+share/vlc/osdmenu/default/unselected.png
+share/vlc/osdmenu/default/volume/volume_00.png
+share/vlc/osdmenu/default/volume/volume_01.png
+share/vlc/osdmenu/default/volume/volume_02.png
+share/vlc/osdmenu/default/volume/volume_03.png
+share/vlc/osdmenu/default/volume/volume_04.png
+share/vlc/osdmenu/default/volume/volume_05.png
+share/vlc/osdmenu/default/volume/volume_06.png
+share/vlc/osdmenu/default/volume/volume_07.png
+share/vlc/osdmenu/default/volume/volume_08.png
+share/vlc/osdmenu/default/volume/volume_09.png
+share/vlc/osdmenu/default/volume/volume_10.png
+${PLIST.skins}share/vlc/skins2/default.vlt
+${PLIST.skins}share/vlc/skins2/fonts/FreeSans.ttf
+${PLIST.skins}share/vlc/skins2/fonts/FreeSansBold.ttf
+${PLIST.skins}share/vlc/skins2/skin.catalog
+${PLIST.skins}share/vlc/skins2/skin.dtd
+${PLIST.skins}share/vlc/skins2/winamp2.xml
+share/vlc/utils/audio-vlc-default.sh
+share/vlc/utils/gnome-vlc-default.sh
+share/vlc/utils/video-vlc-default.sh
+share/vlc/vlc.ico
+@pkgdir share/vlc/skins2/fonts
+@pkgdir share/vlc/osdmenu/dvd/volume
+@pkgdir share/vlc/osdmenu/dvd/unselect
+@pkgdir share/vlc/osdmenu/dvd/selection
+@pkgdir share/vlc/osdmenu/dvd/selected
+@pkgdir share/vlc/http/requests
+@pkgdir share/vlc/http/old/vlm
+@pkgdir share/vlc/http/old/admin
+@pkgdir share/vlc/http/js
+@pkgdir share/vlc/http/images
+@pkgdir share/vlc/http/dialogs
+@pkgdir lib/vlc/plugins/notify
+@pkgdir lib/vlc/plugins/media_library
diff --git a/multimedia/vlc20/PLIST.Linux b/multimedia/vlc20/PLIST.Linux
new file mode 100644
index 00000000000..1d6a3da8559
--- /dev/null
+++ b/multimedia/vlc20/PLIST.Linux
@@ -0,0 +1,8 @@
+@comment $NetBSD: PLIST.Linux,v 1.1 2015/10/25 10:52:24 wiz Exp $
+lib/vlc/plugins/access/libaccess_alsa_plugin.la
+lib/vlc/plugins/access/libdtv_plugin.la
+lib/vlc/plugins/access/liblinsys_hdsdi_plugin.la
+${PLIST.v4l2}lib/vlc/plugins/access/libv4l2_plugin.la
+lib/vlc/plugins/audio_output/libalsa_plugin.la
+lib/vlc/plugins/video_filter/libatmo_plugin.la
+lib/vlc/plugins/video_output/libfb_plugin.la
diff --git a/multimedia/vlc20/buildlink3.mk b/multimedia/vlc20/buildlink3.mk
new file mode 100644
index 00000000000..79c92420e96
--- /dev/null
+++ b/multimedia/vlc20/buildlink3.mk
@@ -0,0 +1,13 @@
+# $NetBSD: buildlink3.mk,v 1.1 2015/10/25 10:52:24 wiz Exp $
+
+BUILDLINK_TREE+= vlc
+
+.if !defined(VLC_BUILDLINK3_MK)
+VLC_BUILDLINK3_MK:=
+
+BUILDLINK_API_DEPENDS.vlc+= vlc>=2.0.6nb2
+BUILDLINK_PKGSRCDIR.vlc?= ../../multimedia/vlc2
+
+.endif # VLC_BUILDLINK3_MK
+
+BUILDLINK_TREE+= -vlc
diff --git a/multimedia/vlc20/distinfo b/multimedia/vlc20/distinfo
new file mode 100644
index 00000000000..e0ef20cc546
--- /dev/null
+++ b/multimedia/vlc20/distinfo
@@ -0,0 +1,28 @@
+$NetBSD: distinfo,v 1.1 2015/10/25 10:52:24 wiz Exp $
+
+SHA1 (vlc-2.0.9.tar.xz) = d82131914023fff2a414859228a38fcc19ab59d9
+RMD160 (vlc-2.0.9.tar.xz) = cbdac7bfb9375c2d0de159d063cc27a6969da649
+Size (vlc-2.0.9.tar.xz) = 18863020 bytes
+SHA1 (patch-aa) = 46003ac47b0b0ab97f481cbd755d48f624b0fa87
+SHA1 (patch-ab) = 7833e9d1e023f53dd1125af5049eb9d74b733905
+SHA1 (patch-ac) = 9cdb4bdad7f8e6a09e35b5a1142350d47d77f270
+SHA1 (patch-ad) = bfcca3f794bc5dac7366210b4548ab45d23040d8
+SHA1 (patch-ae) = 91cf64607a33dab18cd2d92464ab9731008f6a68
+SHA1 (patch-af) = 8c9de1d74252ae3232bf2ac6755057ccef650228
+SHA1 (patch-ag) = 9fd4a1d0a43b7032b2db6597ac21fd609631733c
+SHA1 (patch-ah) = 7eb1bb9ff4ab55317ca4c2ab3669208dce70a9e3
+SHA1 (patch-ai) = 83d3aa9aa048aa81671640334b3b2c9d4f44a495
+SHA1 (patch-ar) = 153164870e9dc50ad32106d9f8ebd25b35ed3dd3
+SHA1 (patch-as) = b53b074b2791d7bf69d5f09c7c32d873608f3086
+SHA1 (patch-at) = bf48ded3571358d6b718af47b28804c3155d84ef
+SHA1 (patch-au) = 5ea53969efefe3d9a6e3121b5453b573c633124b
+SHA1 (patch-av) = c82b711947ea4bdca9b011e36af6c87d9b6f62a6
+SHA1 (patch-ba) = 1898a7a9bf6a45ab4915f1c46df325e6d41ada23
+SHA1 (patch-ca) = 6aa8487047b3b8d5417ba9e3195729980b2b6b9c
+SHA1 (patch-modules_access_directory.c) = e36df1da5b788e12e9fc7d94663dd69d86fe4f7a
+SHA1 (patch-modules_access_rtp_Modules.am) = 14aea82ffab2fcfa5b0916ac2e86363d1efdcbf3
+SHA1 (patch-modules_audio__output_pulse.c) = 941ee669e62c9d757fc096c74a2aec58cf265b15
+SHA1 (patch-modules_misc_gnutls.c) = 7ab9df9f8b31ea7a7c8e302876d0e6c4e6882c30
+SHA1 (patch-modules_text__renderer_freetype.c) = 28d95587be3e2356b32bee21eb0612480b3bbd55
+SHA1 (patch-skins-aa) = 9477b095b3e0a1120397c6c9f7102a50c1a63d2b
+SHA1 (patch-src_config_file.c) = c9d1195bb10165724cee57f655615e038f5fde7f
diff --git a/multimedia/vlc20/options.mk b/multimedia/vlc20/options.mk
new file mode 100644
index 00000000000..8d78465c262
--- /dev/null
+++ b/multimedia/vlc20/options.mk
@@ -0,0 +1,183 @@
+# $NetBSD: options.mk,v 1.1 2015/10/25 10:52:24 wiz Exp $
+
+PKG_OPTIONS_VAR= PKG_OPTIONS.vlc
+PKG_SUPPORTED_OPTIONS= debug faad skins sdl pulseaudio x11
+PKG_SUPPORTED_OPTIONS+= gnome dts
+# XXX broken
+#PKG_SUPPORTED_OPTIONS+= dbus rtsp
+PKG_SUGGESTED_OPTIONS= faad x11
+
+### Add VAAPI if it is available
+.include "../../multimedia/libva/available.mk"
+PLIST_VARS+= vaapi
+.if ${VAAPI_AVAILABLE} == "yes"
+PKG_SUPPORTED_OPTIONS+= vaapi
+PKG_SUGGESTED_OPTIONS+= vaapi
+.endif
+
+### Add LIRC if it is available
+.include "../../comms/lirc/available.mk"
+PLIST_VARS+= lirc
+.if ${LIRC_AVAILABLE} == "yes"
+PKG_SUPPORTED_OPTIONS+= lirc
+PKG_SUGGESTED_OPTIONS+= lirc
+.endif
+
+###
+.include "../../mk/bsd.options.mk"
+
+PLIST_VARS+= ${PKG_SUPPORTED_OPTIONS}
+
+## PulseAudio support
+
+.if !empty(PKG_OPTIONS:Mpulseaudio)
+CONFIGURE_ARGS+= --enable-pulse
+.include "../../audio/pulseaudio/buildlink3.mk"
+PLIST.pulseaudio= yes
+.else
+CONFIGURE_ARGS+= --disable-pulse
+.endif
+
+## SDL backend support
+
+.if !empty(PKG_OPTIONS:Msdl)
+CONFIGURE_ARGS+= --enable-sdl
+CONFIGURE_ARGS+= --enable-sdl-image
+.include "../../devel/SDL/buildlink3.mk"
+.include "../../graphics/SDL_image/buildlink3.mk"
+PLIST.sdl= yes
+.else
+CONFIGURE_ARGS+= --disable-sdl
+CONFIGURE_ARGS+= --disable-sdl-image
+.endif
+
+## gnome integration
+
+.if !empty(PKG_OPTIONS:Mgnome)
+CONFIGURE_ARGS+= --enable-gnomevfs
+.include "../../sysutils/gnome-vfs/buildlink3.mk"
+PLIST.gnome= yes
+.else
+CONFIGURE_ARGS+= --disable-gnomevfs
+.endif
+
+## DBUS message bus support
+## also libnotify because it uses dbus
+## so taking them apart would make no sense.
+
+.if !empty(PKG_OPTIONS:Mdbus)
+CONFIGURE_ARGS+= --enable-dbus
+.include "../../sysutils/dbus/buildlink3.mk"
+PLIST.dbus= yes
+CONFIGURE_ARGS+= --enable-notify
+.include "../../sysutils/libnotify/buildlink3.mk"
+
+# telepathy needs dbus, but its also gnome-ish
+. if !empty(PKG_OPTIONS:Mgnome)
+. include "../../chat/libtelepathy/buildlink3.mk"
+CONFIGURE_ARGS+= --enable-telepathy
+. else
+CONFIGURE_ARGS+= --disable-telepathy
+. endif
+
+PLIST.dbus= yes
+
+.else
+CONFIGURE_ARGS+= --disable-dbus
+CONFIGURE_ARGS+= --disable-notify
+.endif
+
+## DEBUG build or release build
+
+.if !empty(PKG_OPTIONS:Mdebug)
+CONFIGURE_ARGS+= --enable-debug
+CONFIGURE_ARGS+= --disable-optimizations
+.else
+CONFIGURE_ARGS+= --enable-release
+.endif
+
+## SKINS frontend
+
+.if !empty(PKG_OPTIONS:Mskins)
+CONFIGURE_ARGS+= --enable-skins2
+PLIST.skins= yes
+INSTALLATION_DIRS+= share/vlc/skins2
+.else
+CONFIGURE_ARGS+= --disable-skins2
+.endif
+
+## X11 dependency and QT4 frontend
+
+.if !empty(PKG_OPTIONS:Mx11)
+DEPENDS+= dejavu-ttf>=2.0:../../fonts/dejavu-ttf
+.include "../../graphics/freetype2/buildlink3.mk"
+.include "../../x11/libXv/buildlink3.mk"
+.include "../../x11/libXvMC/buildlink3.mk"
+.include "../../x11/libXxf86vm/buildlink3.mk"
+.include "../../x11/libXdamage/buildlink3.mk"
+.include "../../x11/libXinerama/buildlink3.mk"
+.include "../../x11/libXpm/buildlink3.mk"
+.include "../../x11/libxcb/buildlink3.mk"
+.include "../../x11/xcb-util-keysyms/buildlink3.mk"
+.include "../../graphics/MesaLib/buildlink3.mk"
+.include "../../graphics/glu/buildlink3.mk"
+.include "../../x11/qt4-libs/buildlink3.mk"
+CONFIGURE_ARGS+= --enable-qt4 \
+ --with-x \
+ --enable-glx \
+ --enable-snapshot
+PLIST.x11= yes
+.else
+CONFIGURE_ARGS+= --without-x \
+ --disable-xcb \
+ --disable-qt4 \
+ --disable-glx \
+ --disable-freetype \
+ --disable-snapshot
+.endif
+
+.if !empty(PKG_OPTIONS:Mfaad)
+CONFIGURE_ARGS+= --enable-faad
+PLIST.faad= yes
+.include "../../audio/faad2/buildlink3.mk"
+.else
+CONFIGURE_ARGS+= --disable-faad
+.endif
+
+## DTS support (libdca is non-redistributable)
+
+.if !empty(PKG_OPTIONS:Mdts)
+CONFIGURE_ARGS+= --enable-dca
+PLIST.dts= yes
+. include "../../audio/libdca/buildlink3.mk"
+.else
+CONFIGURE_ARGS+= --enable-dca=no
+.endif
+
+## RTSP support
+
+.if !empty(PKG_OPTIONS:Mrtsp)
+CONFIGURE_ARGS+= --enable-live555
+PLIST.rtsp= yes
+BUILDLINK_API_DEPENDS.liblive+= liblive>=20111223
+. include "../../net/liblive/buildlink3.mk"
+.else
+CONFIGURE_ARGS+= --disable-live555
+.endif
+
+## VAAPI support
+.if !empty(PKG_OPTIONS:Mvaapi)
+CONFIGURE_ARGS+= --enable-libva
+.include "../../multimedia/libva/buildlink3.mk"
+.else
+CONFIGURE_ARGS+= --disable-libva
+.endif
+
+## LIRC support
+.if !empty(PKG_OPTIONS:Mlirc)
+CONFIGURE_ARGS+= --enable-lirc
+PLIST.lirc= yes
+.include "../../comms/lirc/buildlink3.mk"
+.else
+CONFIGURE_ARGS+= --disable-lirc
+.endif
diff --git a/multimedia/vlc20/patches/patch-aa b/multimedia/vlc20/patches/patch-aa
new file mode 100644
index 00000000000..3281a967743
--- /dev/null
+++ b/multimedia/vlc20/patches/patch-aa
@@ -0,0 +1,23 @@
+$NetBSD: patch-aa,v 1.1 2015/10/25 10:52:24 wiz Exp $
+
+--- modules/access/file.c.orig 2011-12-08 18:00:26.000000000 +0000
++++ modules/access/file.c
+@@ -52,6 +52,9 @@
+ #ifdef HAVE_LINUX_MAGIC_H
+ # include <sys/vfs.h>
+ # include <linux/magic.h>
++#elif defined (HAVE_FSTATVFS)
++# include <sys/statvfs.h>
++# include <sys/mount.h>
+ #endif
+
+ #if defined( WIN32 )
+@@ -87,7 +90,7 @@ struct access_sys_t
+ #if !defined (WIN32) && !defined (__OS2__)
+ static bool IsRemote (int fd)
+ {
+-#if defined (HAVE_FSTATVFS) && defined (MNT_LOCAL)
++#if !defined(__linux__) && defined (HAVE_FSTATVFS) && defined (MNT_LOCAL)
+ struct statvfs stf;
+
+ if (fstatvfs (fd, &stf))
diff --git a/multimedia/vlc20/patches/patch-ab b/multimedia/vlc20/patches/patch-ab
new file mode 100644
index 00000000000..8d97ca7f6ad
--- /dev/null
+++ b/multimedia/vlc20/patches/patch-ab
@@ -0,0 +1,15 @@
+$NetBSD: patch-ab,v 1.1 2015/10/25 10:52:24 wiz Exp $
+
+--- modules/gui/qt4/components/controller.cpp.orig 2012-04-27 17:14:57.000000000 +0000
++++ modules/gui/qt4/components/controller.cpp
+@@ -352,8 +352,8 @@ QWidget *AbstractController::createWidge
+ slider->setChapters( chapters );
+
+ /* Update the position when the IM has changed */
+- CONNECT( THEMIM->getIM(), positionUpdated( float, int64_t, int ),
+- slider, setPosition( float, int64_t, int ) );
++ CONNECT( THEMIM->getIM(), positionUpdated( float, putime_t, int ),
++ slider, setPosition( float, putime_t, int ) );
+ /* And update the IM, when the position has changed */
+ CONNECT( slider, sliderDragged( float ),
+ THEMIM->getIM(), sliderUpdate( float ) );
diff --git a/multimedia/vlc20/patches/patch-ac b/multimedia/vlc20/patches/patch-ac
new file mode 100644
index 00000000000..d7427fd7b9c
--- /dev/null
+++ b/multimedia/vlc20/patches/patch-ac
@@ -0,0 +1,31 @@
+$NetBSD: patch-ac,v 1.1 2015/10/25 10:52:24 wiz Exp $
+
+--- modules/gui/qt4/components/extended_panels.cpp.orig 2012-04-27 17:14:57.000000000 +0000
++++ modules/gui/qt4/components/extended_panels.cpp
+@@ -1621,7 +1621,7 @@ void SyncControls::update()
+ {
+ b_userAction = false;
+
+- int64_t i_delay;
++ putime_t i_delay;
+ if( THEMIM->getInput() )
+ {
+ i_delay = var_GetTime( THEMIM->getInput(), "audio-delay" );
+@@ -1638,7 +1638,7 @@ void SyncControls::advanceAudio( double
+ {
+ if( THEMIM->getInput() && b_userAction )
+ {
+- int64_t i_delay = f_advance * 1000000;
++ putime_t i_delay = f_advance * 1000000;
+ var_SetTime( THEMIM->getInput(), "audio-delay", i_delay );
+ }
+ }
+@@ -1647,7 +1647,7 @@ void SyncControls::advanceSubs( double f
+ {
+ if( THEMIM->getInput() && b_userAction )
+ {
+- int64_t i_delay = f_advance * 1000000;
++ putime_t i_delay = f_advance * 1000000;
+ var_SetTime( THEMIM->getInput(), "spu-delay", i_delay );
+ }
+ }
diff --git a/multimedia/vlc20/patches/patch-ad b/multimedia/vlc20/patches/patch-ad
new file mode 100644
index 00000000000..205deb7e950
--- /dev/null
+++ b/multimedia/vlc20/patches/patch-ad
@@ -0,0 +1,24 @@
+$NetBSD: patch-ad,v 1.1 2015/10/25 10:52:24 wiz Exp $
+
+--- modules/gui/qt4/components/interface_widgets.cpp.orig 2012-04-27 17:14:57.000000000 +0000
++++ modules/gui/qt4/components/interface_widgets.cpp
+@@ -579,8 +579,8 @@ TimeLabel::TimeLabel( intf_thread_t *_p_
+
+ bufTimer->setSingleShot( true );
+
+- CONNECT( THEMIM->getIM(), positionUpdated( float, int64_t, int ),
+- this, setDisplayPosition( float, int64_t, int ) );
++ CONNECT( THEMIM->getIM(), positionUpdated( float, putime_t, int ),
++ this, setDisplayPosition( float, putime_t, int ) );
+ CONNECT( THEMIM->getIM(), cachingChanged( float ),
+ this, updateBuffering( float ) );
+ CONNECT( bufTimer, timeout(), this, updateBuffering() );
+@@ -588,7 +588,7 @@ TimeLabel::TimeLabel( intf_thread_t *_p_
+ this->setContentsMargins( 4, 0, 4, 0 );
+ }
+
+-void TimeLabel::setDisplayPosition( float pos, int64_t t, int length )
++void TimeLabel::setDisplayPosition( float pos, putime_t t, int length )
+ {
+ showBuffering = false;
+ bufTimer->stop();
diff --git a/multimedia/vlc20/patches/patch-ae b/multimedia/vlc20/patches/patch-ae
new file mode 100644
index 00000000000..8ec4ee54c89
--- /dev/null
+++ b/multimedia/vlc20/patches/patch-ae
@@ -0,0 +1,13 @@
+$NetBSD: patch-ae,v 1.1 2015/10/25 10:52:24 wiz Exp $
+
+--- modules/gui/qt4/components/interface_widgets.hpp.orig 2012-01-05 13:20:55.000000000 +0000
++++ modules/gui/qt4/components/interface_widgets.hpp
+@@ -162,7 +162,7 @@ private:
+ signals:
+ void timeLabelDoubleClicked();
+ private slots:
+- void setDisplayPosition( float pos, int64_t time, int length );
++ void setDisplayPosition( float pos, putime_t time, int length );
+ void setDisplayPosition( float pos );
+ void updateBuffering( float );
+ void updateBuffering();
diff --git a/multimedia/vlc20/patches/patch-af b/multimedia/vlc20/patches/patch-af
new file mode 100644
index 00000000000..ef2edd532c8
--- /dev/null
+++ b/multimedia/vlc20/patches/patch-af
@@ -0,0 +1,40 @@
+$NetBSD: patch-af,v 1.1 2015/10/25 10:52:24 wiz Exp $
+
+--- modules/gui/qt4/input_manager.cpp.orig 2012-07-04 22:14:09.000000000 +0000
++++ modules/gui/qt4/input_manager.cpp
+@@ -407,7 +407,7 @@ void InputManager::UpdatePosition()
+ {
+ /* Update position */
+ int i_length;
+- int64_t i_time;
++ putime_t i_time;
+ float f_pos;
+ i_length = var_GetTime( p_input , "length" ) / CLOCK_FREQ;
+ i_time = var_GetTime( p_input , "time");
+@@ -902,21 +902,21 @@ void InputManager::setAtoB()
+ {
+ timeB = var_GetTime( THEMIM->getInput(), "time" );
+ var_SetTime( THEMIM->getInput(), "time" , timeA );
+- CONNECT( this, positionUpdated( float, int64_t, int ),
+- this, AtoBLoop( float, int64_t, int ) );
++ CONNECT( this, positionUpdated( float, putime_t, int ),
++ this, AtoBLoop( float, putime_t, int ) );
+ }
+ else
+ {
+ timeA = 0;
+ timeB = 0;
+- disconnect( this, SIGNAL( positionUpdated( float, int64_t, int ) ),
+- this, SLOT( AtoBLoop( float, int64_t, int ) ) );
++ disconnect( this, SIGNAL( positionUpdated( float, putime_t, int ) ),
++ this, SLOT( AtoBLoop( float, putime_t, int ) ) );
+ }
+ emit AtoBchanged( (timeA != 0 ), (timeB != 0 ) );
+ }
+
+ /* Function called regularly when in an AtoB loop */
+-void InputManager::AtoBLoop( float, int64_t i_time, int )
++void InputManager::AtoBLoop( float, putime_t i_time, int )
+ {
+ if( timeB )
+ {
diff --git a/multimedia/vlc20/patches/patch-ag b/multimedia/vlc20/patches/patch-ag
new file mode 100644
index 00000000000..eee435ec880
--- /dev/null
+++ b/multimedia/vlc20/patches/patch-ag
@@ -0,0 +1,26 @@
+$NetBSD: patch-ag,v 1.1 2015/10/25 10:52:24 wiz Exp $
+
+--- modules/gui/qt4/input_manager.hpp.orig 2012-03-12 10:32:27.000000000 +0000
++++ modules/gui/qt4/input_manager.hpp
+@@ -37,6 +37,7 @@
+ #include <QObject>
+ #include <QEvent>
+
++typedef int64_t putime_t;
+
+ enum {
+ PositionUpdate_Type = QEvent::User + IMEventType + 1,
+@@ -207,11 +208,11 @@ public slots:
+ void setAtoB();
+
+ private slots:
+- void AtoBLoop( float, int64_t, int );
++ void AtoBLoop( float, putime_t, int );
+
+ signals:
+ /// Send new position, new time and new length
+- void positionUpdated( float , int64_t, int );
++ void positionUpdated( float , putime_t, int );
+ void seekRequested( float pos );
+ void rateChanged( float );
+ void nameChanged( const QString& );
diff --git a/multimedia/vlc20/patches/patch-ah b/multimedia/vlc20/patches/patch-ah
new file mode 100644
index 00000000000..e35e3a43a8c
--- /dev/null
+++ b/multimedia/vlc20/patches/patch-ah
@@ -0,0 +1,13 @@
+$NetBSD: patch-ah,v 1.1 2015/10/25 10:52:24 wiz Exp $
+
+--- modules/gui/qt4/util/input_slider.cpp.orig 2012-06-07 14:38:39.000000000 +0000
++++ modules/gui/qt4/util/input_slider.cpp
+@@ -122,7 +122,7 @@ void SeekSlider::setChapters( SeekPoints
+ * \param time Elapsed time. Unused
+ * \param legnth Duration time.
+ ***/
+-void SeekSlider::setPosition( float pos, int64_t time, int length )
++void SeekSlider::setPosition( float pos, putime_t time, int length )
+ {
+ VLC_UNUSED(time);
+ if( pos == -1.0 )
diff --git a/multimedia/vlc20/patches/patch-ai b/multimedia/vlc20/patches/patch-ai
new file mode 100644
index 00000000000..1e96aa19881
--- /dev/null
+++ b/multimedia/vlc20/patches/patch-ai
@@ -0,0 +1,22 @@
+$NetBSD: patch-ai,v 1.1 2015/10/25 10:52:24 wiz Exp $
+
+--- modules/gui/qt4/util/input_slider.hpp.orig 2012-02-22 11:26:51.000000000 +0000
++++ modules/gui/qt4/util/input_slider.hpp
+@@ -40,6 +40,8 @@ class QTimer;
+ class SeekPoints;
+ class QPropertyAnimation;
+
++typedef int64_t putime_t;
++
+ /* Input Slider derived from QSlider */
+ class SeekSlider : public QSlider
+ {
+@@ -86,7 +88,7 @@ private:
+ QTimer *hideHandleTimer;
+
+ public slots:
+- void setPosition( float, int64_t, int );
++ void setPosition( float, putime_t, int );
+ void updateBuffering( float );
+ void hideHandle();
+
diff --git a/multimedia/vlc20/patches/patch-ar b/multimedia/vlc20/patches/patch-ar
new file mode 100644
index 00000000000..a34abffaa04
--- /dev/null
+++ b/multimedia/vlc20/patches/patch-ar
@@ -0,0 +1,88 @@
+$NetBSD: patch-ar,v 1.1 2015/10/25 10:52:24 wiz Exp $
+
+--- modules/misc/inhibit/xdg.c.orig 2011-11-22 20:30:36.000000000 +0000
++++ modules/misc/inhibit/xdg.c
+@@ -27,7 +27,11 @@
+ #include <vlc_inhibit.h>
+ #include <assert.h>
+ #include <signal.h>
++#ifdef _POSIX_SPAWN
++# if (_POSIX_SPAWN >= 0)
+ #include <spawn.h>
++# endif
++#endif
+ #include <sys/wait.h>
+
+ static int Open (vlc_object_t *);
+@@ -47,7 +51,11 @@ struct vlc_inhibit_sys
+ vlc_thread_t thread;
+ vlc_cond_t update, inactive;
+ vlc_mutex_t lock;
++#ifdef _POSIX_SPAWN
++# if (_POSIX_SPAWN >= 0)
+ posix_spawnattr_t attr;
++# endif
++#endif
+ bool suspend, suspended;
+ };
+
+@@ -67,17 +75,29 @@ static int Open (vlc_object_t *obj)
+ vlc_mutex_init (&p_sys->lock);
+ vlc_cond_init (&p_sys->update);
+ vlc_cond_init (&p_sys->inactive);
++#ifdef _POSIX_SPAWN
++# if (_POSIX_SPAWN >= 0)
+ posix_spawnattr_init (&p_sys->attr);
++# endif
++#endif
+ /* Reset signal handlers to default and clear mask in the child process */
+ {
+ sigset_t set;
+
+ sigemptyset (&set);
++#ifdef _POSIX_SPAWN
++# if (_POSIX_SPAWN >= 0)
+ posix_spawnattr_setsigmask (&p_sys->attr, &set);
++# endif
++#endif
+ sigaddset (&set, SIGPIPE);
++#ifdef _POSIX_SPAWN
++# if (_POSIX_SPAWN >= 0)
+ posix_spawnattr_setsigdefault (&p_sys->attr, &set);
+ posix_spawnattr_setflags (&p_sys->attr, POSIX_SPAWN_SETSIGDEF
+ | POSIX_SPAWN_SETSIGMASK);
++# endif
++#endif
+ }
+ p_sys->suspend = false;
+ p_sys->suspended = false;
+@@ -106,7 +126,11 @@ static void Close (vlc_object_t *obj)
+
+ vlc_cancel (p_sys->thread);
+ vlc_join (p_sys->thread, NULL);
++#ifdef _POSIX_SPAWN
++# if (_POSIX_SPAWN >= 0)
+ posix_spawnattr_destroy (&p_sys->attr);
++# endif
++#endif
+ vlc_cond_destroy (&p_sys->inactive);
+ vlc_cond_destroy (&p_sys->update);
+ vlc_mutex_destroy (&p_sys->lock);
+@@ -152,6 +176,8 @@ static void *Thread (void *data)
+ pid_t pid;
+
+ vlc_mutex_unlock (&p_sys->lock);
++#ifdef _POSIX_SPAWN
++# if (_POSIX_SPAWN >= 0)
+ if (!posix_spawnp (&pid, "xdg-screensaver", NULL, &p_sys->attr,
+ argv, environ))
+ {
+@@ -162,6 +188,8 @@ static void *Thread (void *data)
+ while (waitpid (pid, &status, 0) == -1);
+ }
+ else/* We don't handle the error, but busy looping would be worse :( */
++# endif
++#endif
+ msg_Warn (ih, "could not start xdg-screensaver");
+
+ vlc_mutex_lock (&p_sys->lock);
diff --git a/multimedia/vlc20/patches/patch-as b/multimedia/vlc20/patches/patch-as
new file mode 100644
index 00000000000..e974a690b34
--- /dev/null
+++ b/multimedia/vlc20/patches/patch-as
@@ -0,0 +1,110 @@
+$NetBSD: patch-as,v 1.1 2015/10/25 10:52:24 wiz Exp $
+
+--- modules/misc/inhibit/xscreensaver.c~ 2010-04-13 09:22:27.000000000 +0900
++++ modules/misc/inhibit/xscreensaver.c 2011-01-08 23:03:09.000000000 +0900
+@@ -39,7 +39,9 @@
+ #include <sys/wait.h>
+ #include <fcntl.h>
+ #include <signal.h>
++#ifdef _POSIX_SPAWN
+ #include <spawn.h>
++#endif
+
+ /*****************************************************************************
+ * Local prototypes
+@@ -53,12 +55,16 @@
+ struct vlc_inhibit_sys
+ {
+ vlc_timer_t timer;
++#ifdef _POSIX_SPAWN
+ posix_spawn_file_actions_t actions;
+ posix_spawnattr_t attr;
+ int nullfd;
++#endif
+ };
+
++#ifdef _POSIX_SPAWN
+ extern char **environ;
++#endif
+
+ /*****************************************************************************
+ * Module descriptor
+@@ -88,6 +94,7 @@
+ }
+ p_ih->inhibit = Inhibit;
+
++#ifdef _POSIX_SPAWN
+ int fd = vlc_open ("/dev/null", O_WRONLY);
+ posix_spawn_file_actions_init (&p_sys->actions);
+ if (fd != -1)
+@@ -103,6 +110,7 @@
+ sigemptyset (&set);
+ posix_spawnattr_setsigmask (&p_sys->attr, &set);
+
++#endif
+ return VLC_SUCCESS;
+ }
+
+@@ -115,10 +123,12 @@
+ vlc_inhibit_sys_t *p_sys = p_ih->p_sys;
+
+ vlc_timer_destroy( p_sys->timer );
++#ifdef _POSIX_SPAWN
+ if (p_sys->nullfd != -1)
+ close (p_sys->nullfd);
+ posix_spawnattr_destroy (&p_sys->attr);
+ posix_spawn_file_actions_destroy (&p_sys->actions);
++#endif
+ free( p_sys );
+ }
+
+@@ -131,15 +141,49 @@
+ /*****************************************************************************
+ * Execute: Spawns a process using execv()
+ *****************************************************************************/
++#ifdef _POSIX_SPAWN
+ static void Execute (vlc_inhibit_t *p_ih, const char *const *argv)
++# else
++static void Execute (vlc_inhibit_t *p_ih, const char *const *ppsz_args)
++#endif
+ {
++#ifdef _POSIX_SPAWN
+ vlc_inhibit_sys_t *p_sys = p_ih->p_sys;
+ pid_t pid;
+
+ if (posix_spawnp (&pid, argv[0], &p_sys->actions, &p_sys->attr,
+ (char **)argv, environ) == 0)
++#else
++ pid_t pid = fork();
++ switch ( pid )
++#endif
+ {
++#ifdef _POSIX_SPAWN
+ while (waitpid (pid, NULL, 0) != pid);
++#else
++ case 0: /* we're the child */
++ {
++ sigset_t set;
++ sigemptyset (&set);
++ pthread_sigmask (SIG_SETMASK, &set, NULL);
++
++ /* We don't want output */
++ if( ( freopen( "/dev/null", "w", stdout ) != NULL )
++ && ( freopen( "/dev/null", "w", stderr ) != NULL ) )
++ execv( ppsz_args[0] , (char *const *)ppsz_args );
++ /* If the file we want to execute doesn't exist we exit() */
++ exit( EXIT_FAILURE );
++ }
++ case -1: /* we're the error */
++ msg_Dbg( p_ih, "Couldn't fork() while launching %s",
++ ppsz_args[0] );
++ break;
++ default: /* we're the parent */
++ /* Wait for the child to exit.
++ * We will not deadlock because we ran "/bin/sh &" */
++ while( waitpid( pid, NULL, 0 ) != pid);
++ break;
++#endif
+ }
+ }
+
diff --git a/multimedia/vlc20/patches/patch-at b/multimedia/vlc20/patches/patch-at
new file mode 100644
index 00000000000..4138a5da6df
--- /dev/null
+++ b/multimedia/vlc20/patches/patch-at
@@ -0,0 +1,22 @@
+$NetBSD: patch-at,v 1.1 2015/10/25 10:52:24 wiz Exp $
+
+--- bin/override.c.orig 2011-12-08 18:00:25.000000000 +0000
++++ bin/override.c
+@@ -27,7 +27,7 @@
+
+ void vlc_enable_override (void);
+
+-#if defined (__GNUC__) \
++#if 0 && defined (__GNUC__) \
+ && (defined (__ELF__) && !defined (__sun__))
+ /* Solaris crashes on printf("%s", NULL); which is legal, but annoying. */
+
+@@ -124,7 +124,7 @@ static void *getsym (const char *name)
+ *
+ * Some evil libraries modify the environment. We currently ignore the calls as
+ * they could crash the process. This may cause funny behaviour though. */
+-int putenv (char *str)
++int putenv (const char *str)
+ {
+ if (override)
+ {
diff --git a/multimedia/vlc20/patches/patch-au b/multimedia/vlc20/patches/patch-au
new file mode 100644
index 00000000000..0ecf159fe7b
--- /dev/null
+++ b/multimedia/vlc20/patches/patch-au
@@ -0,0 +1,17 @@
+$NetBSD: patch-au,v 1.1 2015/10/25 10:52:24 wiz Exp $
+
+--- modules/video_output/sdl.c.orig 2011-12-08 18:00:27.000000000 +0000
++++ modules/video_output/sdl.c
+@@ -41,10 +41,9 @@
+ #include <SDL.h>
+
+ #if !defined(WIN32) && !defined(__OS2__)
+-# ifdef X_DISPLAY_MISSING
+-# error Xlib required due to XInitThreads
+-# endif
++# ifdef HAVE_X11_XLIB_H
+ # include <vlc_xlib.h>
++# endif
+ #endif
+
+ /*****************************************************************************
diff --git a/multimedia/vlc20/patches/patch-av b/multimedia/vlc20/patches/patch-av
new file mode 100644
index 00000000000..ff6fb518077
--- /dev/null
+++ b/multimedia/vlc20/patches/patch-av
@@ -0,0 +1,48 @@
+$NetBSD: patch-av,v 1.1 2015/10/25 10:52:24 wiz Exp $
+
+--- include/vlc_common.h.orig 2011-12-11 22:34:47.000000000 +0000
++++ include/vlc_common.h
+@@ -51,6 +51,9 @@
+ #include <stdio.h>
+ #include <inttypes.h>
+ #include <stddef.h>
++#ifdef __NetBSD__
++#include <sys/param.h>
++#endif
+
+ #ifndef __cplusplus
+ # include <stdbool.h>
+@@ -625,6 +628,8 @@ static inline unsigned clz (unsigned x)
+ /* XXX: this assumes that int is 32-bits or more */
+ #define clz32( x ) (clz(x) - ((sizeof(unsigned) - sizeof (uint32_t)) * 8))
+
++#if !defined(__NetBSD_Version__) || (__NetBSD_Version__ < 599001600)
++
+ /** Bit weight */
+ VLC_USED
+ static inline unsigned popcount (unsigned x)
+@@ -641,6 +646,7 @@ static inline unsigned popcount (unsigne
+ return count;
+ #endif
+ }
++#endif /* NetBSD < 5.99.16 */
+
+ #ifdef __OS2__
+ # undef bswap16
+@@ -648,6 +654,8 @@ static inline unsigned popcount (unsigne
+ # undef bswap64
+ #endif
+
++#ifndef __NetBSD__
++
+ /** Byte swap (16 bits) */
+ VLC_USED
+ static inline uint16_t bswap16 (uint16_t x)
+@@ -696,6 +704,7 @@ static inline uint64_t bswap64 (uint64_t
+ #endif
+ }
+
++#endif /* NetBSD */
+
+ /* Free and set set the variable to NULL */
+ #define FREENULL(a) do { free( a ); a = NULL; } while(0)
diff --git a/multimedia/vlc20/patches/patch-ba b/multimedia/vlc20/patches/patch-ba
new file mode 100644
index 00000000000..8a5518837f0
--- /dev/null
+++ b/multimedia/vlc20/patches/patch-ba
@@ -0,0 +1,25 @@
+$NetBSD: patch-ba,v 1.1 2015/10/25 10:52:24 wiz Exp $
+
+partly fixed by upstream commit 59997ad65b64e43f418464c37373b9b57cf1f5f9
+(it is really a bug, not just killing a warning)
+
+--- modules/demux/mp4/libmp4.c.orig 2012-04-27 17:14:57.000000000 +0000
++++ modules/demux/mp4/libmp4.c
+@@ -1267,7 +1267,7 @@ static int MP4_ReadBox_dvc1( stream_t *p
+ p_dvc1 = p_box->data.p_dvc1;
+
+ MP4_GET1BYTE( p_dvc1->i_profile_level ); /* profile is on 4bits, level 3bits */
+- if( p_dvc1->i_profile_level & 0xf0 >> 4 != 0x06 )
++ if( (p_dvc1->i_profile_level & 0xf0) >> 4 != 0x06 )
+ {
+ msg_Warn( p_stream, "unsupported VC-1 profile, please report" );
+ MP4_READBOX_EXIT( 0 );
+@@ -1286,7 +1286,7 @@ static int MP4_ReadBox_dvc1( stream_t *p
+ #ifdef MP4_VERBOSE
+ msg_Dbg( p_stream,
+ "read box: \"dvc1\" profile=0x%x level=0x%x",
+- p_dvc1->i_profile_level & 0xf0 >> 4, p_dvc1->i_profile_level & 0xe > 1 );
++ (p_dvc1->i_profile_level & 0xf0) >> 4, (p_dvc1->i_profile_level & 0xe) >> 1 );
+ #endif
+
+ MP4_READBOX_EXIT( 1 );
diff --git a/multimedia/vlc20/patches/patch-ca b/multimedia/vlc20/patches/patch-ca
new file mode 100644
index 00000000000..8eed9baaf96
--- /dev/null
+++ b/multimedia/vlc20/patches/patch-ca
@@ -0,0 +1,42 @@
+$NetBSD: patch-ca,v 1.1 2015/10/25 10:52:24 wiz Exp $
+
+on NetBSD-current, just define "uselocale", nothing else
+fixes build
+
+--- include/vlc_fixups.h.orig 2013-08-23 11:39:38.000000000 +0000
++++ include/vlc_fixups.h
+@@ -210,14 +210,26 @@ int unsetenv (const char *);
+
+ /* locale.h */
+ #ifndef HAVE_USELOCALE
++#ifdef __NetBSD__
++#include <sys/param.h>
++#if __NetBSD_Version__ >= 699002300
++/* NetBSD-current has locale_t but no uselocale */
++#define NetBSD_LOCALE_HACK
++#endif
++#endif
++#ifdef NetBSD_LOCALE_HACK
++#include <locale.h>
++#else
+ #define LC_NUMERIC_MASK 0
+ #define LC_MESSAGES_MASK 0
+ typedef void *locale_t;
++#endif
+ static inline locale_t uselocale(locale_t loc)
+ {
+ (void)loc;
+ return NULL;
+ }
++#ifndef NetBSD_LOCALE_HACK
+ static inline void freelocale(locale_t loc)
+ {
+ (void)loc;
+@@ -228,6 +240,7 @@ static inline locale_t newlocale(int mas
+ return NULL;
+ }
+ #endif
++#endif
+
+ /* Alignment of critical static data structures */
+ #ifdef ATTRIBUTE_ALIGNED_MAX
diff --git a/multimedia/vlc20/patches/patch-modules_access_directory.c b/multimedia/vlc20/patches/patch-modules_access_directory.c
new file mode 100644
index 00000000000..57bb3967ccf
--- /dev/null
+++ b/multimedia/vlc20/patches/patch-modules_access_directory.c
@@ -0,0 +1,25 @@
+$NetBSD: patch-modules_access_directory.c,v 1.1 2015/10/25 10:52:24 wiz Exp $
+
+Mainly due to lack of bits for new fcntl flags, O_DIRECTORY isn't currently
+supported by DragonFly's openat. This patch checks which flags are supported
+before passing them to vlc_openat.
+
+--- modules/access/directory.c.orig 2012-06-20 18:07:49.000000000 +0000
++++ modules/access/directory.c
+@@ -309,8 +309,14 @@ block_t *DirBlock (access_t *p_access)
+ {
+ DIR *handle;
+ #ifdef HAVE_OPENAT
+- int fd = vlc_openat (dirfd (current->handle), entry,
+- O_RDONLY | O_DIRECTORY);
++ int flags = 0;
++#ifdef O_RDONLY
++ flags |= O_RDONLY;
++#endif
++#ifdef O_DIRECTORY
++ flags |= O_DIRECTORY;
++#endif
++ int fd = vlc_openat (dirfd (current->handle), entry, flags);
+ if (fd == -1)
+ {
+ if (errno == ENOTDIR)
diff --git a/multimedia/vlc20/patches/patch-modules_access_rtp_Modules.am b/multimedia/vlc20/patches/patch-modules_access_rtp_Modules.am
new file mode 100644
index 00000000000..148c95a468e
--- /dev/null
+++ b/multimedia/vlc20/patches/patch-modules_access_rtp_Modules.am
@@ -0,0 +1,13 @@
+$NetBSD: patch-modules_access_rtp_Modules.am,v 1.1 2015/10/25 10:52:24 wiz Exp $
+
+--- modules/access/rtp/Modules.am.orig 2011-12-08 18:00:26.000000000 +0000
++++ modules/access/rtp/Modules.am
+@@ -15,7 +15,7 @@ librtp_plugin_la_DEPENDENCIES =
+ libvlc_srtp_la_SOURCES = srtp.c
+ libvlc_srtp_la_CPPFLAGS =
+ libvlc_srtp_la_CFLAGS = $(GCRYPT_CFLAGS)
+-libvlc_srtp_la_LDFLAGS = -static
++libvlc_srtp_la_LDFLAGS =
+ libvlc_srtp_la_LIBADD = $(GCRYPT_LIBS)
+ srtp_test_recv_CPPFLAGS =
+ srtp_test_recv_LDADD = libvlc_srtp.la
diff --git a/multimedia/vlc20/patches/patch-modules_audio__output_pulse.c b/multimedia/vlc20/patches/patch-modules_audio__output_pulse.c
new file mode 100644
index 00000000000..82d0abd293c
--- /dev/null
+++ b/multimedia/vlc20/patches/patch-modules_audio__output_pulse.c
@@ -0,0 +1,13 @@
+$NetBSD: patch-modules_audio__output_pulse.c,v 1.1 2015/10/25 10:52:24 wiz Exp $
+
+--- modules/audio_output/pulse.c.orig 2011-12-08 18:00:26.000000000 +0000
++++ modules/audio_output/pulse.c
+@@ -664,7 +664,7 @@ static int StreamMove(vlc_object_t *obj,
+ */
+ static int Open(vlc_object_t *obj)
+ {
+-#if !PA_CHECK_VERSION(0,9,22)
++#if !PA_CHECK_VERSION(0,9,20)
+ if (!vlc_xlib_init(obj))
+ return VLC_EGENERIC;
+ #endif
diff --git a/multimedia/vlc20/patches/patch-modules_misc_gnutls.c b/multimedia/vlc20/patches/patch-modules_misc_gnutls.c
new file mode 100644
index 00000000000..0245e46b7b7
--- /dev/null
+++ b/multimedia/vlc20/patches/patch-modules_misc_gnutls.c
@@ -0,0 +1,24 @@
+$NetBSD: patch-modules_misc_gnutls.c,v 1.1 2015/10/25 10:52:24 wiz Exp $
+
+Mainly due to lack of bits for new fcntl flags, O_DIRECTORY isn't currently
+supported by DragonFly's open. This patch checks which flags are supported
+before passing them to vlc_open.
+
+--- modules/misc/gnutls.c.orig 2012-01-27 18:24:46.000000000 +0000
++++ modules/misc/gnutls.c
+@@ -469,7 +469,14 @@ static void gnutls_Addx509Directory (vlc
+ const char *path, bool priv)
+ {
+ msg_Dbg (obj, "browsing x509 credentials in %s...", path);
+- int fd = vlc_open (path, O_RDONLY|O_DIRECTORY);
++ int flags = 0;
++#ifdef O_RDONLY
++ flags |= O_RDONLY;
++#endif
++#ifdef O_DIRECTORY
++ flags |= O_DIRECTORY;
++#endif
++ int fd = vlc_open (path, flags);
+ if (fd == -1)
+ {
+ msg_Warn (obj, "cannot access x509 in %s: %m", path);
diff --git a/multimedia/vlc20/patches/patch-modules_text__renderer_freetype.c b/multimedia/vlc20/patches/patch-modules_text__renderer_freetype.c
new file mode 100644
index 00000000000..85ebe1b42d0
--- /dev/null
+++ b/multimedia/vlc20/patches/patch-modules_text__renderer_freetype.c
@@ -0,0 +1,19 @@
+$NetBSD: patch-modules_text__renderer_freetype.c,v 1.1 2015/10/25 10:52:24 wiz Exp $
+
+Fix build with freetype-2.5.
+
+--- modules/text_renderer/freetype.c.orig 2014-03-19 21:17:25.000000000 +0000
++++ modules/text_renderer/freetype.c
+@@ -64,10 +64,11 @@
+ #endif
+
+ /* Freetype */
+-#include <freetype/ftsynth.h>
++#include <ft2build.h>
+ #include FT_FREETYPE_H
+ #include FT_GLYPH_H
+ #include FT_STROKER_H
++#include FT_SYNTHESIS_H
+
+ #define FT_FLOOR(X) ((X & -64) >> 6)
+ #define FT_CEIL(X) (((X + 63) & -64) >> 6)
diff --git a/multimedia/vlc20/patches/patch-skins-aa b/multimedia/vlc20/patches/patch-skins-aa
new file mode 100644
index 00000000000..918d59a113e
--- /dev/null
+++ b/multimedia/vlc20/patches/patch-skins-aa
@@ -0,0 +1,12 @@
+$NetBSD: patch-skins-aa,v 1.1 2015/10/25 10:52:24 wiz Exp $
+
+--- modules/gui/skins2/src/theme_loader.cpp.orig 2012-01-31 21:10:02.000000000 +0000
++++ modules/gui/skins2/src/theme_loader.cpp
+@@ -57,6 +57,7 @@ int gzwrite_frontend( int, const void *,
+ #if defined( HAVE_LIBTAR_H )
+ # include <libtar.h>
+ #else
++#include <limits.h> /* for PATH_MAX */
+ typedef gzFile TAR;
+ int tar_open ( TAR **t, char *pathname, int oflags );
+ int tar_extract_all ( TAR *t, char *prefix );
diff --git a/multimedia/vlc20/patches/patch-src_config_file.c b/multimedia/vlc20/patches/patch-src_config_file.c
new file mode 100644
index 00000000000..ae323ab82a5
--- /dev/null
+++ b/multimedia/vlc20/patches/patch-src_config_file.c
@@ -0,0 +1,24 @@
+$NetBSD: patch-src_config_file.c,v 1.1 2015/10/25 10:52:24 wiz Exp $
+
+Fix conflict with NetBSD's strtoi function.
+
+--- src/config/file.c.orig 2011-12-08 18:00:28.000000000 +0000
++++ src/config/file.c
+@@ -139,7 +139,7 @@ static FILE *config_OpenConfigFile( vlc_
+ }
+
+
+-static int64_t strtoi (const char *str)
++static int64_t vlc_strtoi (const char *str)
+ {
+ char *end;
+ long long l;
+@@ -224,7 +224,7 @@ int config_LoadConfigFile( vlc_object_t
+ int64_t l;
+
+ errno = 0;
+- l = strtoi (psz_option_value);
++ l = vlc_strtoi (psz_option_value);
+ if ((l > item->max.i) || (l < item->min.i))
+ errno = ERANGE;
+ if (errno)