pkgsrc/multimedia/vlc/Makefile
maya 2b58b76196 vlc: update to 2.2.6.
Includes significant security fixes allowing code execution via
a crafted subtitles file (fixes CVE-2017-8310, CVE-2017-8311,
CVE-2017-8312, CVE-2017-8313)

pkgsrc changes:
pull in <atomic> in a C++11 case rather than clang case,
it's a C++11 header. however I couldn't build with -std=c++11 for
other reasons.

it builds and runs clang 4.0, but the mkv plugin dies on an
undefined reference.

Changes between 2.2.5.1 and 2.2.6:
----------------------------------

Video output:
 * Fix systematic green line on nvidia
 * Fix direct3d SPU texture offsets handling

Demuxer:
 * Fix heap buffer overflows

Changes between 2.2.5 and 2.2.5.1:
----------------------------------

Security hardening for DLL hijacking environments

Translations updates

Misc:
 * Update for Soundcloud, liveleak and Youtube scripts
 * Fix potential out-of-band dereference in flac decoder
 * Fix potential out-of-band reads in mpeg packetizers
 * Fix infinite loop in subtitles demuxer
 * Fix incorrect memory free in ogg demuxer
 * Fix potential out-of-band reads in subtitle decoders and demuxers
 * Fix green line on Windows with odd sizes


Changes between 2.2.4 and 2.2.5:
--------------------------------

Decoder:
 * Fix mp3 playback quality regression in libmad
 * Fix video scaling in VDPAU
 * Fix playback of palettized codecs
 * Fix ADPCM heap corruption (FG-VD-16-067)
 * Fix AES3 16bps decoding
 * Fix DVD/LPCM heap corruption (FG-VD-16-090)
 * Fix SCTE-27 colors

Demuxer:
 * Fix possible ASF integer overflow
 * Fix MP4, VOC, XA, SMF divide-by-zero errors
 * Fix MP4 heap buffer overflows
 * Fix Flac metadata integer overflow
 * Fix NSVf and AIFF infinite loops
 * Fix flac null-pointer dereference
 * Fix vorbis and opus comments integer overflows and leaks

Video output:
 * Fix green line on Windows with AMD drivers
 * Fix screenshots size

Access:
 * Fix crash in screen recording on Windows
 * Fix FTP scan string injection
 * Fix HTTP size handling

Mux:
 * Fix mp4 drift

Lua:
 * Fix vimeo, youtube, dailymotion, cli, appletrailers, http,
   soundcloud scripts

Audio filter:
 * Fix heap write in stereo_widen audio filter

Windows:
 * The plugins loading will not load external DLLs by default.
   Plugins will need to LoadLibrary explicitely.
 * Fix uninstaller path handling
 * Fix taskbar buttons behavior

MacOS:
 * Fix scrolling sensitivity on Sierra
 * Resume points are deleted now if the user clears the list of
   recent items
2017-05-26 13:26:37 +00:00

198 lines
6.5 KiB
Makefile

# $NetBSD: Makefile,v 1.203 2017/05/26 13:26:37 maya Exp $
DISTNAME= vlc-${VLC_VERSION}
CATEGORIES= multimedia
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=vlc/}
MASTER_SITES+= http://download.videolan.org/pub/videolan/vlc/${VLC_VERSION}/
EXTRACT_SUFX= .tar.xz
VLC_VERSION= 2.2.6
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
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+= altivec cdrom oss v4l2 x86simd
.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+= --enable-dvdread
CONFIGURE_ARGS+= --enable-flac
CONFIGURE_ARGS+= --enable-theora
CONFIGURE_ARGS+= --disable-bluray
CONFIGURE_ARGS+= --disable-bonjour
CONFIGURE_ARGS+= --disable-caca
CONFIGURE_ARGS+= --disable-chromaprint
CONFIGURE_ARGS+= --disable-dc1394
CONFIGURE_ARGS+= --disable-decklink
CONFIGURE_ARGS+= --disable-dv1394
CONFIGURE_ARGS+= --disable-freerdp
CONFIGURE_ARGS+= --disable-goom
CONFIGURE_ARGS+= --disable-gst-decode
CONFIGURE_ARGS+= --disable-lua
CONFIGURE_ARGS+= --disable-mfx
CONFIGURE_ARGS+= --disable-mmal-codec
CONFIGURE_ARGS+= --disable-notify
CONFIGURE_ARGS+= --disable-opencv
CONFIGURE_ARGS+= --disable-projectm
CONFIGURE_ARGS+= --disable-samplerate
CONFIGURE_ARGS+= --disable-sftp
CONFIGURE_ARGS+= --disable-shine
CONFIGURE_ARGS+= --disable-sid
CONFIGURE_ARGS+= --disable-smbclient
CONFIGURE_ARGS+= --disable-twolame
CONFIGURE_ARGS+= --disable-udev
CONFIGURE_ARGS+= --disable-vnc
CONFIGURE_ARGS+= --disable-vsxu
CONFIGURE_ARGS+= --disable-zvbi
CFLAGS+= -fPIC
CXXFLAGS+= -fPIC
# which platforms support OSSv4?
.if ${MACHINE_PLATFORM:MNetBSD-[789]*-*}
PLIST.oss= yes
.include "../../mk/oss.buildlink3.mk"
.else
CONFIGURE_ARGS+= --disable-oss
.endif
# Build optimized 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
# SunOS cdio interface is unsupported
.if ${OPSYS} != "SunOS"
PLIST.cdrom= 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
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
ORIGMONOFNT= /usr/share/fonts/truetype/freefont/FreeMono.ttf
DEFAULT_FONT?= ${PREFIX}/share/fonts/X11/TTF/DejaVuSans.ttf
DEFAULT_MONO_FONT?= ${PREFIX}/share/fonts/X11/TTF/DejaVuSansMono.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_SED.fnt+= -e "s,${ORIGMONOFNT},${DEFAULT_MONO_FONT},"
SUBST_FILES.fnt= modules/text_renderer/platform_fonts.h
SUBST_MESSAGE.fnt= Fixing hardcoded font paths.
# VLC embeds the build environment info to help debuging.
CHECK_WRKREF_SKIP= lib/libvlccore.a \
lib/libvlccore.so*
.include "../../audio/fluidsynth/buildlink3.mk"
.include "../../audio/flac/buildlink3.mk"
.include "../../multimedia/libkate/buildlink3.mk"
.include "../../audio/libmad/buildlink3.mk"
.include "../../audio/libmodplug/buildlink3.mk"
.include "../../audio/libopus/buildlink3.mk"
.include "../../audio/libshout/buildlink3.mk"
.include "../../audio/libvorbis/buildlink3.mk"
.include "../../audio/liba52/buildlink3.mk"
.include "../../audio/libcddb/buildlink3.mk"
.include "../../audio/libid3tag/buildlink3.mk"
.include "../../audio/musepack/buildlink3.mk"
.include "../../audio/speexdsp/buildlink3.mk"
.include "../../audio/taglib/buildlink3.mk"
.include "../../devel/libmtp/buildlink3.mk"
.include "../../misc/libcdio/buildlink3.mk"
.include "../../multimedia/libass/buildlink3.mk"
.include "../../graphics/librsvg/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/ffmpeg2/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"
.include "../../multimedia/schroedinger/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/pthread.buildlink3.mk"
.include "../../mk/bsd.pkg.mk"