extra/vlc to 3.0.1-2

This commit is contained in:
Kevin Mihelich 2018-03-09 18:58:12 +00:00
parent f16c2024e6
commit 7b018a002d
4 changed files with 174 additions and 153 deletions

View file

@ -1,4 +1,3 @@
# $Id$
# Maintainer: Levente Polyak <anthraxx[at]archlinux[dot]org>
# Contributor: Giovanni Scafora <giovanni@archlinux.org>
# Contributor: Sarah Hay <sarahhay@mb.sympatico.ca>
@ -8,104 +7,212 @@
# - enable gles2
pkgname=vlc
pkgver=2.2.8
pkgrel=4
pkgver=3.0.1
pkgrel=2
pkgdesc='Multi-platform MPEG, VCD/DVD, and DivX player'
url='https://www.videolan.org/vlc/'
arch=('x86_64')
license=('LGPL2.1' 'GPL2')
depends=('a52dec' 'libdvbpsi' 'libxpm' 'libdca' 'libproxy'
'sdl_image' 'libdvdnav' 'libtiger' 'lua' 'libmatroska'
'zvbi' 'taglib' 'libmpcdec' 'ffmpeg2.8' 'faad2' 'libupnp'
'libshout' 'libmad' 'libmpeg2' 'xcb-util-keysyms' 'libtar'
'libxinerama')
makedepends=('live-media' 'libnotify' 'libbluray' 'flac' 'kdelibs'
'libdc1394' 'libavc1394' 'lirc' 'libcaca' 'gtk2'
'librsvg' 'portaudio' 'libgme' 'xosd' 'projectm'
'twolame' 'aalib' 'libmtp' 'libdvdcss' 'smbclient'
'libgoom2' 'vcdimager' 'opus' 'libssh2' 'mesa' 'qt4')
optdepends=('avahi: for service discovery using bonjour protocol'
'libnotify: for notification plugin'
'gtk2: for notify plugin'
'ncurses: for ncurses interface support'
'libdvdcss: for decoding encrypted DVDs'
'lirc: for lirc plugin'
'libavc1394: for devices using the 1394ta AV/C'
'libdc1394: for IEEE 1394 plugin'
depends=('a52dec' 'libdvbpsi' 'libxpm' 'libdca' 'libproxy' 'libtiger' 'lua'
'libmatroska' 'taglib' 'libmpcdec' 'ffmpeg' 'faad2' 'libupnp' 'libmad'
'libmpeg2' 'xcb-util-keysyms' 'libtar' 'libxinerama' 'libsecret'
'libarchive' 'qt5-base' 'qt5-x11extras' 'qt5-svg' 'freetype2'
'fribidi' 'harfbuzz' 'fontconfig' 'libxml2' 'gnutls' 'libplacebo'
'wayland-protocols')
makedepends=('gst-plugins-base-libs' 'live-media' 'libnotify' 'libbluray'
'flac' 'kdelibs' 'libdc1394' 'libavc1394' 'libcaca' 'gtk3'
'librsvg' 'libgme' 'xosd' 'twolame' 'aalib' 'avahi' 'libsystemd'
'libmtp' 'libupnp' 'libmicrodns' 'libdvdcss' 'smbclient'
'vcdimager' 'libssh2' 'mesa' 'protobuf' 'opencv' 'libnfs' 'mpg123'
'libdvdread' 'libdvdnav' 'libogg' 'libshout' 'libmodplug' 'libvpx'
'libvorbis' 'speex' 'opus' 'libtheora' 'libpng' 'libjpeg-turbo'
'libx265.so' 'libx264.so' 'zvbi' 'libass' 'libkate' 'libtiger'
'sdl_image' 'libpulse' 'alsa-lib' 'jack' 'libsamplerate' 'libsoxr'
'lirc' 'libgoom2' 'projectm' 'chromaprint')
optdepends=('avahi: service discovery using bonjour protocol'
'gst-plugins-base-libs: for libgst plugins'
'libdvdcss: decoding encrypted DVDs'
'libavc1394: devices using the 1394ta AV/C'
'libdc1394: IEEE 1394 access plugin'
'kdelibs: KDE Solid hardware integration'
'libva-vdpau-driver: vdpau back-end for nvidia'
'libva-intel-driver: back-end for intel cards'
'libbluray: for Blu-Ray support'
'flac: for Free Lossless Audio Codec plugin'
'portaudio: for portaudio support'
'twolame: for TwoLAME mpeg2 encoder plugin'
'projectm: for ProjectM visualisation plugin'
'libcaca: for colored ASCII art video output'
'libgme: for libgme plugin'
'librsvg: for SVG plugin'
'libgoom2: for libgoom plugin'
'kwallet: kwallet keystore'
'libva-vdpau-driver: vdpau backend nvidia'
'libva-intel-driver: video backend intel'
'libbluray: Blu-Ray video input'
'flac: Free Lossless Audio Codec plugin'
'twolame: TwoLAME mpeg2 encoder plugin'
'libgme: Game Music Emu plugin'
'vcdimager: navigate VCD with libvcdinfo'
'aalib: for ASCII art plugin'
'libmtp: for MTP devices support'
'smbclient: for SMB access plugin'
'libcdio: for audio CD playback support'
'ttf-freefont: for subtitle font '
'ttf-dejavu: for subtitle font'
'opus: for opus support'
'libssh2: for sftp support'
'lua-socket: for http interface'
'qt4: for the GUI')
'libmtp: MTP devices discovery'
'libsystemd: udev services discovery'
'smbclient: SMB access plugin'
'libcdio: audio CD playback'
'ttf-freefont: subtitle font '
'ttf-dejavu: subtitle font'
'libssh2: sftp access'
'opencv: opencv video'
'libnfs: NFS access'
'mpg123: mpg123 codec'
'protobuf: chromecast streaming'
'libmicrodns: mDNS services discovery (chromecast etc)'
'lua-socket: http interface'
'live-media: RTSP input'
'libdvdread: DVD input module'
'libdvdnav: DVD with navigation input module'
'libogg: Ogg and OggSpots codec'
'libshout: shoutcast/icecast output plugin'
'libmodplug: MOD output plugin'
'libvpx: VP8 and VP9 codec'
'libvorbis: Vorbis decoder/encoder'
'speex: Speex codec'
'opus: opus codec'
'libtheora: theora codec'
'libpng: PNG support'
'libjpeg-turbo: JPEG support'
'librsvg: SVG plugin'
'libx264: H264 encoding'
'x265: HEVC/H.265 encoder'
'zvbi: VBI/Teletext decoding'
'libass: Subtitle support'
'libkate: Kate codec'
'libtiger: Tiger rendering for Kate streams'
'sdl_image: SDL image support'
'aalib: ASCII art video output'
'libcaca: colored ASCII art video output'
'libpulse: PulseAudio audio output'
'alsa-lib: ALSA audio output'
'jack: jack audio server'
'libsamplerate: audio Resampler'
'libsoxr: SoX audio Resampler'
'chromaprint: Chromaprint audio fingerprinter'
'lirc: lirc control'
'libgoom2: Goom visualization'
'projectm: ProjectM visualisation'
'ncurses: ncurses interface'
'libnotify: notification plugin'
'gtk3: notification plugin')
conflicts=('vlc-plugin')
replaces=('vlc-plugin')
options=('!emptydirs')
source=(https://download.videolan.org/${pkgname}/${pkgver}/${pkgname}-${pkgver}.tar.xz{,.asc}
update-vlc-plugin-cache.hook
vlc-2.2.6-fix-memleak.patch
lua53_compat.patch
vlc-2.2.8-libupnp-1.6.24.patch)
sha512sums=('adde16f4b4bd2d94f104bb3b99995df6bf4603bc67333c7615cb8d1d31ca63440b6b0aa93de9ccf0dba717cf905577c7d0bca7baba63caf401790b82eac3e04a'
lua53_compat.patch)
sha512sums=('f2ba7586e8fb8c04484e62809265ec998e875b1eff03262bbf463370277a318816cbb8d260901c774e59443393b16b040cb714019c80e051578008abbf91b13c'
'SKIP'
'd9e69a01eb8868647beac0f419328e6ca3fe14a2e2a9e6ce4b61ed590b41b0136fb3ac9e284b174a910c2fe8822d1b37445a48d0b7caea647060ebfabe899e7b'
'0f16c0e1a21808a3e48a276ed41c3845650bb2d5df5386c8c50832aa769959a8d440086b0af3ae17add754b449a8501334b7f167c68210c255f55b53c40a799f'
'33cda373aa1fb3ee19a78748e2687f2b93c8662c9fda62ecd122a2e649df8edaceb54dda3991bc38c80737945a143a9e65baa2743a483bb737bb94cd590dc25f'
'28c7ec2cb6c84e7774daa281092d48b0a0719374ef196b03088ed66d20cb5eca52a42e7a141d9a71623aff24a17473dd8d32ba6779edb24af4788a765e3cef81')
'80357bae69e32b353d3784932d854e294906798e14faffb87c3383c3b6f6bdc57cbabb9c6e3f3c1adf0f8ddbb24153e72104c963cf1934970c2983c96daef9df'
'33cda373aa1fb3ee19a78748e2687f2b93c8662c9fda62ecd122a2e649df8edaceb54dda3991bc38c80737945a143a9e65baa2743a483bb737bb94cd590dc25f')
validpgpkeys=('65F7C6B4206BD057A7EB73787180713BE58D1ADC') # VideoLAN Release Signing Key
prepare() {
cd ${pkgname}-${pkgver}
sed -i -e 's:truetype/freefont:TTF:g' modules/text_renderer/freetype.c
sed -i -e 's:truetype/ttf-dejavu:TTF:g' modules/visualization/projectm.cpp
sed -e 's:truetype/ttf-dejavu:TTF:g' -i modules/visualization/projectm.cpp
sed -e 's|-Werror-implicit-function-declaration||g' -i configure
patch -Np1 < "${srcdir}/lua53_compat.patch"
patch -Np1 < "${srcdir}/vlc-2.2.6-fix-memleak.patch"
patch -Np1 < "${srcdir}/vlc-2.2.8-libupnp-1.6.24.patch"
sed 's|whoami|echo builduser|g' -i configure
sed 's|hostname -f|echo arch|g' -i configure
}
build() {
cd ${pkgname}-${pkgver}
export PKG_CONFIG_PATH="/usr/lib/ffmpeg2.8/pkgconfig"
export CFLAGS+=" -I/usr/include/samba-4.0"
export CPPFLAGS+=" -I/usr/include/samba-4.0"
export CXXFLAGS+=" -std=c++11"
export LUAC=/usr/bin/luac
export LUA_LIBS="$(pkg-config --libs lua)"
export RCC=/usr/bin/rcc-qt4
export RCC=/usr/bin/rcc-qt5
./configure --prefix=/usr \
--sysconfdir=/etc \
--disable-rpath \
--enable-faad \
--enable-nls \
--enable-lirc \
--enable-ncurses \
--enable-realrtsp \
--enable-aa \
--enable-vcdx \
--enable-upnp \
--enable-opus \
--enable-archive \
--enable-live555 \
--enable-dc1394 \
--enable-dv1394 \
--enable-dvdread \
--enable-dvdnav \
--enable-bluray \
--enable-opencv \
--enable-smbclient \
--enable-sftp \
--enable-nfs \
--enable-realrtsp \
--enable-dvbpsi \
--enable-gme \
--enable-ogg \
--enable-shout \
--enable-matroska \
--enable-mod \
--enable-mpc \
--enable-mad \
--enable-mpg123 \
--enable-gst-decode \
--enable-avcodec \
--enable-libva \
--enable-avformat \
--enable-postproc \
--enable-faad \
--enable-vpx \
--enable-twolame \
--disable-fdkaac \
--enable-a52 \
--enable-dca \
--enable-flac \
--enable-libmpeg2 \
--enable-vorbis \
--enable-speex \
--enable-opus \
--enable-oggspots \
--disable-schroedinger \
--enable-png \
--enable-jpeg \
--enable-x264 \
--enable-x265 \
--enable-zvbi \
--enable-libass \
--enable-kate \
--enable-tiger \
--enable-vdpau \
--enable-wayland \
--enable-sdl-image \
--enable-freetype \
--enable-fribidi \
--enable-harfbuzz \
--enable-fontconfig \
--enable-svg \
--enable-svgdec \
--enable-aa \
--enable-caca \
--enable-pulse \
--enable-alsa \
--enable-jack \
--enable-samplerate \
--enable-soxr \
--enable-chromaprint \
--enable-chromecast \
--enable-qt \
--enable-skins2 \
--enable-libtar \
--enable-ncurses \
--enable-lirc \
--enable-goom \
--enable-projectm \
--enable-avahi \
--enable-mtp \
--enable-upnp \
--enable-microdns \
--enable-libxml2 \
--disable-libgcrypt \
--enable-gnutls \
--enable-taglib \
--enable-secret \
--enable-kwallet \
--disable-update-check \
--enable-notify \
--enable-libplacebo \
--enable-vlc \
--enable-gles2
make
}
@ -114,7 +221,7 @@ package() {
make DESTDIR="${pkgdir}" install
for res in 16 32 48 128; do
for res in 16 32 48 128 256; do
install -Dm 644 "${srcdir}/vlc-${pkgver}/share/icons/${res}x${res}/vlc.png" \
"${pkgdir}/usr/share/icons/hicolor/${res}x${res}/apps/vlc.png"
done

View file

@ -5,13 +5,7 @@ Operation = Upgrade
Operation = Remove
Target = usr/lib/vlc/plugins/*
[Trigger]
Type = Package
Operation = Install
Operation = Remove
Target = qt4
[Action]
Description = Updating the vlc plugin cache...
When = PostTransaction
Exec = /usr/lib/vlc/vlc-cache-gen -f /usr/lib/vlc/plugins
Exec = /usr/lib/vlc/vlc-cache-gen /usr/lib/vlc/plugins

View file

@ -1,48 +0,0 @@
From 66dc09662ae33d44c21a5159885afdcaabb0cbb0 Mon Sep 17 00:00:00 2001
From: =?utf8?q?Filip=20Ros=C3=A9en?= <filip@atch.se>
Date: Fri, 23 Sep 2016 13:52:31 +0200
Subject: [PATCH] video_output/xcb: fix memory-leak in ReleaseDrawable
The problem with the previous implementation is that "n" will never
be equal to 0 at the relevant part of the code (given the
unconditional pre-increment a few lines earlier).
These changes fixes the issue by freeing the allocated memory if the
first element of "used" is NULL (meaning that there are no more
entities referred to by it).
fixes #17112
fixes #17293
Signed-off-by: Thomas Guillem <thomas@gllm.fr>
---
modules/video_output/xcb/window.c | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/modules/video_output/xcb/window.c b/modules/video_output/xcb/window.c
index 02c9dd11e3..0c4f86f68c 100644
--- a/modules/video_output/xcb/window.c
+++ b/modules/video_output/xcb/window.c
@@ -538,12 +538,15 @@ static void ReleaseDrawable (vlc_object_t *obj, xcb_window_t window)
used[n] = used[n + 1];
while (used[++n]);
- if (n == 0)
- var_SetAddress (obj->p_libvlc, "xid-in-use", NULL);
+ if (!used[0])
+ var_SetAddress (obj->p_libvlc, "xid-in-use", NULL);
+ else
+ used = NULL;
+
vlc_mutex_unlock (&serializer);
- if (n == 0)
- free (used);
+ free( used );
+
/* Variables are reference-counted... */
var_Destroy (obj->obj.libvlc, "xid-in-use");
}
--
2.11.0

View file

@ -1,32 +0,0 @@
From 9288c513fd7288ea85cd162aa610ca6d7e083992 Mon Sep 17 00:00:00 2001
From: anthraxx <levente@leventepolyak.net>
Date: Fri, 11 Jan 2018 23:57:53 +0100
Subject: [PATCH] avoid defining getter functions present in libupnp 1.6.24
---
modules/services_discovery/upnp.cpp | 2 ++
1 file changed, 2 insertions(+)
diff --git a/modules/services_discovery/upnp.cpp b/modules/services_discovery/upnp.cpp
index b265113..f18afd6 100644
--- a/modules/services_discovery/upnp.cpp
+++ b/modules/services_discovery/upnp.cpp
@@ -50,6 +50,7 @@ typedef Upnp_Action_Complete UpnpActionComplete;
typedef Upnp_Event UpnpEvent;
typedef Upnp_Event_Subscribe UpnpEventSubscribe;
+#if UPNP_VERSION < 10624
static const char* UpnpDiscovery_get_Location_cstr( const UpnpDiscovery* p_discovery )
{
return p_discovery->Location;
@@ -74,6 +75,7 @@ static const char* UpnpEventSubscribe_get_SID_cstr( const UpnpEventSubscribe* p_
{
return p_s->Sid;
}
+#endif
#else
typedef const void* UpnpEventPtr;
#endif
--
2.15.1