Date: Monday, February 20, 2023 @ 17:01:46
Author: arojas
Revision: 469285
archrelease: copy trunk to staging-x86_64
Added:
vlc/repos/staging-x86_64/
vlc/repos/staging-x86_64/PKGBUILD
(from rev 469284, vlc/trunk/PKGBUILD)
vlc/repos/staging-x86_64/keys/
vlc/repos/staging-x86_64/libplacebo-5.patch
(from rev 469284, vlc/trunk/libplacebo-5.patch)
vlc/repos/staging-x86_64/update-vlc-plugin-cache.hook
(from rev 469284, vlc/trunk/update-vlc-plugin-cache.hook)
------------------------------+
PKGBUILD | 258 +++++++++++++++++++++++++++++++++++++++++
libplacebo-5.patch | 108 +++++++++++++++++
update-vlc-plugin-cache.hook | 11 +
3 files changed, 377 insertions(+)
Copied: vlc/repos/staging-x86_64/PKGBUILD (from rev 469284, vlc/trunk/PKGBUILD)
===================================================================
--- staging-x86_64/PKGBUILD (rev 0)
+++ staging-x86_64/PKGBUILD 2023-02-20 17:01:46 UTC (rev 469285)
@@ -0,0 +1,258 @@
+# Maintainer: Levente Polyak <anthraxx[at]archlinux[dot]org>
+# Contributor: Giovanni Scafora <[email protected]>
+# Contributor: Sarah Hay <[email protected]>
+# Contributor: Martin Sandsmark <[email protected]>
+
+pkgname=vlc
+_vlcver=3.0.18
+# optional fixup version including hyphen
+_vlcfixupver=
+pkgver=${_vlcver}${_vlcfixupver//-/.r}
+pkgrel=7
+pkgdesc='Multi-platform MPEG, VCD/DVD, and DivX player'
+url='https://www.videolan.org/vlc/'
+arch=('x86_64')
+license=('LGPL2.1' 'GPL2')
+# NOTE: switch to ffmpeg4.4, as ffmpeg >= 5 requires extensive changes
disabling VAAPI (only supported with vlc >= 4)
+depends=('a52dec' 'libdvbpsi' 'libxpm' 'libdca' 'libproxy' 'lua52' 'libidn'
+ 'libmatroska' 'taglib' 'libmpcdec' 'ffmpeg4.4' 'faad2' 'libmad'
+ 'libmpeg2' 'xcb-util-keysyms' 'libtar' 'libxinerama' 'libsecret'
+ 'libupnp' 'libixml.so' 'libupnp.so' 'libarchive' 'qt5-base'
+ 'qt5-x11extras' 'qt5-svg' 'freetype2' 'fribidi' 'harfbuzz'
+ 'fontconfig' 'libxml2' 'gnutls' 'libplacebo')
+makedepends=('gst-plugins-base-libs' 'live-media' 'libnotify' 'libbluray'
+ 'flac' 'libdc1394' 'libavc1394' 'libcaca' 'gtk3'
+ 'librsvg' 'libgme' 'xosd' 'twolame' 'aalib' 'avahi' 'systemd-libs'
+ 'libmtp' 'libmicrodns' 'libdvdcss' 'smbclient'
+ 'vcdimager' 'libssh2' 'mesa' 'protobuf' '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' 'aom' 'srt' 'dav1d'
+ 'aribb24' 'aribb25' 'pcsclite' 'wayland-protocols')
+
+# 'chromaprint: Chromaprint audio fingerprinter'
+optdepends=('avahi: service discovery using bonjour protocol'
+ 'aom: AOM AV1 codec'
+ 'gst-plugins-base-libs: for libgst plugins'
+ 'dav1d: dav1d AV1 decoder'
+ 'libdvdcss: decoding encrypted DVDs'
+ 'libavc1394: devices using the 1394ta AV/C'
+ 'libdc1394: IEEE 1394 access 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'
+ 'libmtp: MTP devices discovery'
+ 'systemd-libs: udev services discovery'
+ 'smbclient: SMB access plugin'
+ 'libcdio: audio CD playback'
+ 'gnu-free-fonts: subtitle font '
+ 'ttf-dejavu: subtitle font'
+ 'libssh2: sftp access'
+ 'libnfs: NFS access'
+ 'mpg123: mpg123 codec'
+ 'protobuf: chromecast streaming'
+ 'libmicrodns: mDNS services discovery (chromecast etc)'
+ 'lua52-socket: http interface'
+ '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'
+ 'x264: H264 encoding'
+ 'x265: HEVC/H.265 encoder'
+ 'zvbi: VBI/Teletext/webcam/v4l2 capture/decoding'
+ 'libass: Subtitle support'
+ 'libkate: Kate codec'
+ 'libtiger: Tiger rendering for Kate streams'
+ 'sdl_image: SDL image support'
+ 'srt: SRT input/output plugin'
+ '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'
+ 'lirc: lirc control'
+ 'libgoom2: Goom visualization'
+ 'projectm: ProjectM visualisation'
+ 'ncurses: ncurses interface'
+ 'libnotify: notification plugin'
+ 'gtk3: notification plugin'
+ 'aribb24: aribsub support'
+ 'aribb25: aribcam support'
+ 'pcsclite: aribcam support'
+ 'live-media: streaming over RTSP')
+conflicts=('vlc-plugin')
+replaces=('vlc-plugin')
+options=('!emptydirs')
+source=(https://download.videolan.org/${pkgname}/${_vlcver}/${pkgname}-${_vlcver}${_vlcfixupver}.tar.xz{,.asc}
+ libplacebo-5.patch
+ update-vlc-plugin-cache.hook)
+sha512sums=('6fc8fdaa7e8862ad7133d69b3dab99ab9cd3945846a6ce5e2379b7f68ee9accd385c53b8573fc7c82f732c24678b4932b1154d2ad8accf06305f2f578d6fcd8e'
+ 'SKIP'
+
'a06b04a8b059dbbef77d27435bd5bec3c26f937390bd112b0843385587e866e617c3dd0e66f99eed5fa4a91bc5f0fd9b5623f65b2f2435a54456dde2aa96209b'
+
'b247510ffeadfd439a5dadd170c91900b6cdb05b5ca00d38b1a17c720ffe5a9f75a32e0cb1af5ebefdf1c23c5acc53513ed983a736e8fa30dd8fad237ef49dd3')
+validpgpkeys=('65F7C6B4206BD057A7EB73787180713BE58D1ADC') # VideoLAN Release
Signing Key
+
+prepare() {
+ cd ${pkgname}-${_vlcver}
+ sed -e 's:truetype/ttf-dejavu:TTF:g' -i modules/visualization/projectm.cpp
+ sed -e 's|-Werror-implicit-function-declaration||g' -i configure
+ sed 's|whoami|echo builduser|g' -i configure
+ sed 's|hostname -f|echo arch|g' -i configure
+ local src
+ for src in "${source[@]}"; do
+ src="${src%%::*}"
+ src="${src##*/}"
+ [[ $src = *.patch ]] || continue
+ echo "Applying patch $src..."
+ patch -Np1 < "../$src"
+ done
+ autoreconf -vf
+}
+
+build() {
+ cd ${pkgname}-${_vlcver}
+
+ export CFLAGS+=" -I/usr/include/samba-4.0 -ffat-lto-objects"
+ export CPPFLAGS+=" -I/usr/include/samba-4.0"
+ export CXXFLAGS+=" -std=c++11"
+ export PKG_CONFIG_PATH="/usr/lib/ffmpeg4.4/pkgconfig"
+ # upstream doesn't support lua 5.4 yet:
https://trac.videolan.org/vlc/ticket/25036
+ export LUAC=/usr/bin/luac5.2
+ export LUA_LIBS="$(pkg-config --libs lua5.2)"
+ export RCC=/usr/bin/rcc-qt5
+ export PKG_CONFIG_PATH="/usr/lib/ffmpeg4.4/pkgconfig/:$PKG_CONFIG_PATH"
+
+ ./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --with-kde-solid=/usr/share/solid/actions/ \
+ --disable-rpath \
+ --enable-nls \
+ --enable-archive \
+ --enable-live555 \
+ --enable-dc1394 \
+ --enable-dv1394 \
+ --enable-dvdread \
+ --enable-dvdnav \
+ --enable-bluray \
+ --disable-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 \
+ --disable-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-aribsub \
+ --enable-aribcam \
+ --enable-aom \
+ --enable-srt \
+ --enable-dav1d
+
+ # prevent excessive overlinking due to libtool
+ sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
+ make
+}
+
+package() {
+ cd ${pkgname}-${_vlcver}
+
+ make DESTDIR="${pkgdir}" install
+
+ for res in 16 32 48 128 256; do
+ install -Dm 644
"${srcdir}/vlc-${_vlcver}/share/icons/${res}x${res}/vlc.png" \
+
"${pkgdir}/usr/share/icons/hicolor/${res}x${res}/apps/vlc.png"
+ done
+ install -Dm 644 "${srcdir}/update-vlc-plugin-cache.hook" -t
"${pkgdir}/usr/share/libalpm/hooks"
+}
+
+# vim: ts=2 sw=2 et:
Copied: vlc/repos/staging-x86_64/libplacebo-5.patch (from rev 469284,
vlc/trunk/libplacebo-5.patch)
===================================================================
--- staging-x86_64/libplacebo-5.patch (rev 0)
+++ staging-x86_64/libplacebo-5.patch 2023-02-20 17:01:46 UTC (rev 469285)
@@ -0,0 +1,108 @@
+patch vaguely ported from:
https://code.videolan.org/videolan/vlc/-/merge_requests/2233
+
+diff --git a/modules/video_output/opengl/converter.h
b/modules/video_output/opengl/converter.h
+index 7000e1f..49fa667 100644
+--- a/modules/video_output/opengl/converter.h
++++ b/modules/video_output/opengl/converter.h
+@@ -26,6 +26,9 @@
+ #include <vlc_picture_pool.h>
+ #include <vlc_opengl.h>
+
++#include <libplacebo/log.h>
++#include <libplacebo/shaders.h>
++
+ /* if USE_OPENGL_ES2 is defined, OpenGL ES version 2 will be used, otherwise
+ * normal OpenGL will be used */
+ #ifdef __APPLE__
+@@ -253,10 +256,6 @@ static inline bool HasExtension(const char *apis, const
char *api)
+ return false;
+ }
+
+-struct pl_context;
+-struct pl_shader;
+-struct pl_shader_res;
+-
+ /*
+ * Structure that is filled by "glhw converter" module probe function
+ * The implementation should initialize every members of the struct that are
+@@ -273,7 +272,7 @@ struct opengl_tex_converter_t
+ vlc_gl_t *gl;
+
+ /* libplacebo context, created by the caller (optional) */
+- struct pl_context *pl_ctx;
++ pl_log pl_log;
+
+ /* Function pointers to OpenGL functions, set by the caller */
+ const opengl_vtable_t *vt;
+@@ -337,7 +336,7 @@ struct opengl_tex_converter_t
+ bool yuv_color;
+ GLfloat yuv_coefficients[16];
+
+- struct pl_shader *pl_sh;
++ pl_shader pl_sh;
+ const struct pl_shader_res *pl_sh_res;
+
+ /* Private context */
+diff --git a/modules/video_output/opengl/fragment_shaders.c
b/modules/video_output/opengl/fragment_shaders.c
+index ecf7226..29f4148 100644
+--- a/modules/video_output/opengl/fragment_shaders.c
++++ b/modules/video_output/opengl/fragment_shaders.c
+@@ -611,7 +611,7 @@ opengl_fragment_shader_init_impl(opengl_tex_converter_t
*tc, GLenum tex_target,
+
+ #ifdef HAVE_LIBPLACEBO
+ if (tc->pl_sh) {
+- struct pl_shader *sh = tc->pl_sh;
++ pl_shader sh = tc->pl_sh;
+ struct pl_color_map_params color_params = pl_color_map_default_params;
+ color_params.intent = var_InheritInteger(tc->gl, "rendering-intent");
+ color_params.tone_mapping_algo = var_InheritInteger(tc->gl,
"tone-mapping");
+@@ -634,7 +634,7 @@ opengl_fragment_shader_init_impl(opengl_tex_converter_t
*tc, GLenum tex_target,
+ pl_color_space_from_video_format(&tc->fmt),
+ dst_space, NULL, false);
+
+- struct pl_shader_obj *dither_state = NULL;
++ pl_shader_obj dither_state = NULL;
+ int method = var_InheritInteger(tc->gl, "dither-algo");
+ if (method >= 0) {
+
+diff --git a/modules/video_output/opengl/vout_helper.c
b/modules/video_output/opengl/vout_helper.c
+index 13d65e0..1ee99af 100644
+--- a/modules/video_output/opengl/vout_helper.c
++++ b/modules/video_output/opengl/vout_helper.c
+@@ -570,8 +570,7 @@ opengl_deinit_program(vout_display_opengl_t *vgl, struct
prgm *prgm)
+
+ #ifdef HAVE_LIBPLACEBO
+ FREENULL(tc->uloc.pl_vars);
+- if (tc->pl_ctx)
+- pl_context_destroy(&tc->pl_ctx);
++ pl_log_destroy(&tc->pl_log);
+ #endif
+
+ vlc_object_release(tc);
+@@ -622,21 +621,21 @@ opengl_init_program(vout_display_opengl_t *vgl, struct
prgm *prgm,
+ // create the main libplacebo context
+ if (!subpics)
+ {
+- tc->pl_ctx = pl_context_create(PL_API_VER, &(struct
pl_context_params) {
++ tc->pl_log = pl_log_create(PL_API_VER, &(struct pl_log_params) {
+ .log_cb = log_cb,
+ .log_priv = tc,
+ .log_level = PL_LOG_INFO,
+ });
+- if (tc->pl_ctx) {
++ if (tc->pl_log) {
+ # if PL_API_VER >= 20
+- tc->pl_sh = pl_shader_alloc(tc->pl_ctx, &(struct
pl_shader_params) {
++ tc->pl_sh = pl_shader_alloc(tc->pl_log, &(struct
pl_shader_params) {
+ .glsl.version = tc->glsl_version,
+ .glsl.gles = tc->is_gles,
+ });
+ # elif PL_API_VER >= 6
+- tc->pl_sh = pl_shader_alloc(tc->pl_ctx, NULL, 0);
++ tc->pl_sh = pl_shader_alloc(tc->pl_log, NULL, 0);
+ # else
+- tc->pl_sh = pl_shader_alloc(tc->pl_ctx, NULL, 0, 0);
++ tc->pl_sh = pl_shader_alloc(tc->pl_log, NULL, 0, 0);
+ # endif
+ }
+ }
Copied: vlc/repos/staging-x86_64/update-vlc-plugin-cache.hook (from rev 469284,
vlc/trunk/update-vlc-plugin-cache.hook)
===================================================================
--- staging-x86_64/update-vlc-plugin-cache.hook (rev 0)
+++ staging-x86_64/update-vlc-plugin-cache.hook 2023-02-20 17:01:46 UTC (rev
469285)
@@ -0,0 +1,11 @@
+[Trigger]
+Type = Path
+Operation = Install
+Operation = Upgrade
+Operation = Remove
+Target = usr/lib/vlc/plugins/*
+
+[Action]
+Description = Updating the vlc plugin cache...
+When = PostTransaction
+Exec = /usr/lib/vlc/vlc-cache-gen /usr/lib/vlc/plugins