Date: Monday, April 25, 2022 @ 17:47:16 Author: anthraxx Revision: 443962
archrelease: copy trunk to staging-x86_64 Added: vlc/repos/staging-x86_64/ vlc/repos/staging-x86_64/PKGBUILD (from rev 443961, vlc/trunk/PKGBUILD) vlc/repos/staging-x86_64/caca-fix-to-newer-version.patch (from rev 443961, vlc/trunk/caca-fix-to-newer-version.patch) vlc/repos/staging-x86_64/update-vlc-plugin-cache.hook (from rev 443961, vlc/trunk/update-vlc-plugin-cache.hook) vlc/repos/staging-x86_64/vlc-live-media-2021.patch (from rev 443961, vlc/trunk/vlc-live-media-2021.patch) ---------------------------------+ PKGBUILD | 258 ++++++++++++++++++++++++++++++++++++++ caca-fix-to-newer-version.patch | 130 +++++++++++++++++++ update-vlc-plugin-cache.hook | 11 + vlc-live-media-2021.patch | 26 +++ 4 files changed, 425 insertions(+) Copied: vlc/repos/staging-x86_64/PKGBUILD (from rev 443961, vlc/trunk/PKGBUILD) =================================================================== --- staging-x86_64/PKGBUILD (rev 0) +++ staging-x86_64/PKGBUILD 2022-04-25 17:47:16 UTC (rev 443962) @@ -0,0 +1,258 @@ +# Maintainer: Levente Polyak <anthraxx[at]archlinux[dot]org> +# Contributor: Giovanni Scafora <giova...@archlinux.org> +# Contributor: Sarah Hay <sarah...@mb.sympatico.ca> +# Contributor: Martin Sandsmark <martin.sandsm...@kde.org> + +pkgname=vlc +_vlcver=3.0.17.4 +# optional fixup version including hyphen +_vlcfixupver= +pkgver=${_vlcver}${_vlcfixupver//-/.r} +pkgrel=3 +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' 'wayland-protocols') +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') + +# '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') +conflicts=('vlc-plugin') +replaces=('vlc-plugin') +options=(debug '!emptydirs') +source=(https://download.videolan.org/${pkgname}/${_vlcver}/${pkgname}-${_vlcver}${_vlcfixupver}.tar.xz{,.asc} + update-vlc-plugin-cache.hook + caca-fix-to-newer-version.patch + vlc-live-media-2021.patch) +sha512sums=('dac14c6586603c064294672eb878253e52b3a7bef431fb10303345e5400591b5c1f2d452a2af03f503db0ca186582a84be06fdf05ab011c33f7b0bd5389c51fb' + 'SKIP' + 'b247510ffeadfd439a5dadd170c91900b6cdb05b5ca00d38b1a17c720ffe5a9f75a32e0cb1af5ebefdf1c23c5acc53513ed983a736e8fa30dd8fad237ef49dd3' + 'ef479a246dc98f882a05ca56a1c2872cc67ced154c625790070b887858ddc250d55b1295db82c9122e5ecd3c2c9c712ec9718e28d0a9d21ff6a230eb6c5010ce' + 'ad17d6f4f2cc83841c1c89623c339ec3ee94f6084ea980e2c8cbc3903854c85e5396e31bfd8dc90745b41794670903d854c4d282d8adec263087a9d47b226ccc') +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" + # 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/caca-fix-to-newer-version.patch (from rev 443961, vlc/trunk/caca-fix-to-newer-version.patch) =================================================================== --- staging-x86_64/caca-fix-to-newer-version.patch (rev 0) +++ staging-x86_64/caca-fix-to-newer-version.patch 2022-04-25 17:47:16 UTC (rev 443962) @@ -0,0 +1,130 @@ +From 900318072a7ebce28745aa3863e1364b7258baff Mon Sep 17 00:00:00 2001 +From: Alexandre Janniaux <aja...@videolabs.io> +Date: Wed, 10 Nov 2021 15:37:52 +0100 +Subject: [PATCH] caca: fix to newer version + +Migrate to the new API instead of libcucul API, which has been merged +into libcaca since 0.99.beta15: + + commit f61816ceb7445f8bf818936151554ac060764b39 + Author: Sam Hocevar <s...@hocevar.net> + Date: Sat Sep 27 13:12:46 2008 +0000 + + Starting refactoring to get rid of libcucul. The initial reason for the + split is rendered moot by the plugin system: when enabled, binaries do + not link directly with libX11 or libGL. I hope this is a step towards + more consisteny and clarity. + +It was then completely wiped out by the following commit, which is part +of v0.99.beta20: + + commit 5f0ec215f8c9915ed028324a8ecac8212f68e18d + Author: Sam Hocevar <s...@hocevar.net> + Date: Thu May 3 10:33:30 2018 +0200 + + Remove legacy code from 10 years ago. + +(cherry picked from commit d35391caa03c046149e7fe2497f51bf59ed8551d) +--- + modules/video_output/caca.c | 30 +++++++++++++++--------------- + 1 file changed, 15 insertions(+), 15 deletions(-) + +diff --git a/modules/video_output/caca.c b/modules/video_output/caca.c +index 33a0409820..a2e922a864 100644 +--- a/modules/video_output/caca.c ++++ b/modules/video_output/caca.c +@@ -74,9 +74,9 @@ static void Place(vout_display_t *, vout_display_place_t *); + + /* */ + struct vout_display_sys_t { +- cucul_canvas_t *cv; ++ caca_canvas_t *cv; + caca_display_t *dp; +- cucul_dither_t *dither; ++ caca_dither_t *dither; + + picture_pool_t *pool; + vout_display_event_thread_t *et; +@@ -153,9 +153,9 @@ static int Open(vlc_object_t *object) + if (!sys) + goto error; + +- sys->cv = cucul_create_canvas(0, 0); ++ sys->cv = caca_create_canvas(0, 0); + if (!sys->cv) { +- msg_Err(vd, "cannot initialize libcucul"); ++ msg_Err(vd, "cannot initialize libcaca"); + goto error; + } + +@@ -209,11 +209,11 @@ error: + if (sys->pool) + picture_pool_Release(sys->pool); + if (sys->dither) +- cucul_free_dither(sys->dither); ++ caca_free_dither(sys->dither); + if (sys->dp) + caca_free_display(sys->dp); + if (sys->cv) +- cucul_free_canvas(sys->cv); ++ caca_free_canvas(sys->cv); + + free(sys); + } +@@ -235,9 +235,9 @@ static void Close(vlc_object_t *object) + if (sys->pool) + picture_pool_Release(sys->pool); + if (sys->dither) +- cucul_free_dither(sys->dither); ++ caca_free_dither(sys->dither); + caca_free_display(sys->dp); +- cucul_free_canvas(sys->cv); ++ caca_free_canvas(sys->cv); + + #if defined(_WIN32) + FreeConsole(); +@@ -266,7 +266,7 @@ static void Prepare(vout_display_t *vd, picture_t *picture, subpicture_t *subpic + + if (!sys->dither) { + /* Create the libcaca dither object */ +- sys->dither = cucul_create_dither(32, ++ sys->dither = caca_create_dither(32, + vd->source.i_visible_width, + vd->source.i_visible_height, + picture->p[0].i_pitch, +@@ -284,12 +284,12 @@ static void Prepare(vout_display_t *vd, picture_t *picture, subpicture_t *subpic + vout_display_place_t place; + Place(vd, &place); + +- cucul_set_color_ansi(sys->cv, CUCUL_COLOR_DEFAULT, CUCUL_COLOR_BLACK); +- cucul_clear_canvas(sys->cv); ++ caca_set_color_ansi(sys->cv, CACA_DEFAULT, CACA_BLACK); ++ caca_clear_canvas(sys->cv); + + const int crop_offset = vd->source.i_y_offset * picture->p->i_pitch + + vd->source.i_x_offset * picture->p->i_pixel_pitch; +- cucul_dither_bitmap(sys->cv, place.x, place.y, ++ caca_dither_bitmap(sys->cv, place.x, place.y, + place.width, place.height, + sys->dither, + &picture->p->p_pixels[crop_offset]); +@@ -328,7 +328,7 @@ static int Control(vout_display_t *vd, int query, va_list args) + + case VOUT_DISPLAY_CHANGE_SOURCE_CROP: + if (sys->dither) +- cucul_free_dither(sys->dither); ++ caca_free_dither(sys->dither); + sys->dither = NULL; + return VLC_SUCCESS; + +@@ -366,8 +366,8 @@ static void Place(vout_display_t *vd, vout_display_place_t *place) + + vout_display_PlacePicture(place, &vd->source, vd->cfg, false); + +- const int canvas_width = cucul_get_canvas_width(sys->cv); +- const int canvas_height = cucul_get_canvas_height(sys->cv); ++ const int canvas_width = caca_get_canvas_width(sys->cv); ++ const int canvas_height = caca_get_canvas_height(sys->cv); + const int display_width = caca_get_display_width(sys->dp); + const int display_height = caca_get_display_height(sys->dp); + Copied: vlc/repos/staging-x86_64/update-vlc-plugin-cache.hook (from rev 443961, 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 2022-04-25 17:47:16 UTC (rev 443962) @@ -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 Copied: vlc/repos/staging-x86_64/vlc-live-media-2021.patch (from rev 443961, vlc/trunk/vlc-live-media-2021.patch) =================================================================== --- staging-x86_64/vlc-live-media-2021.patch (rev 0) +++ staging-x86_64/vlc-live-media-2021.patch 2022-04-25 17:47:16 UTC (rev 443962) @@ -0,0 +1,26 @@ +diff -ru vlc-3.0.13.orig/configure.ac vlc-3.0.13/configure.ac +--- vlc-3.0.13.orig/configure.ac 2021-04-27 15:18:39.000000000 +0200 ++++ vlc-3.0.13/configure.ac 2021-05-03 16:26:26.691200904 +0200 +@@ -1825,7 +1825,7 @@ + AC_MSG_ERROR([Update live555 or pass --disable-live555 to disable RTSP input support.]) + ]) + ], [ +- other_libs="-lgroupsock -lBasicUsageEnvironment -lUsageEnvironment" ++ other_libs="-lcrypto -lssl -lgroupsock -lBasicUsageEnvironment -lUsageEnvironment" + other_libs_pic="-lgroupsock_pic -lBasicUsageEnvironment_pic -lUsageEnvironment_pic" + AS_IF([test "${SYS}" = "mingw32"], [ + # add ws2_32 for closesocket, select, recv +diff -ru vlc-3.0.13.orig/modules/access/live555.cpp vlc-3.0.13/modules/access/live555.cpp +--- vlc-3.0.13.orig/modules/access/live555.cpp 2019-03-29 20:01:15.000000000 +0100 ++++ vlc-3.0.13/modules/access/live555.cpp 2021-05-03 16:04:38.030121796 +0200 +@@ -852,7 +852,9 @@ + if( !p_sys->b_multicast ) + { + /* We need different rollover behaviour for multicast */ +- p_sys->b_multicast = IsMulticastAddress( sub->connectionEndpointAddress() ); ++ struct sockaddr_storage tempAddr; ++ sub->getConnectionEndpointAddress(tempAddr); ++ p_sys->b_multicast = IsMulticastAddress( tempAddr ); + } + + tk = (live_track_t*)malloc( sizeof( live_track_t ) );