# Maintainer: Levente Polyak <anthraxx[at]archlinux[dot]org>
# Contributor: Giovanni Scafora <giovanni@archlinux.org>
# Contributor: Sarah Hay <sarahhay@mb.sympatico.ca>
# Contributor: Martin Sandsmark <martin.sandsmark@kde.org>

pkgbase=vlc
pkgname=(
  vlc
  libvlc
  vlc-cli
  vlc-gui-{ncurses,qt,skins2}
  vlc-plugin-{a52dec,aalib,alsa,aom,archive,aribb24,aribb25,ass,avahi,bluray,caca,cddb,chromecast,dav1d,dbus,dbus-screensaver,dca,dvb,dvd,faad2,ffmpeg,firewire,flac,fluidsynth,freetype,gme,gnutls,gstreamer,inflate,jack,journal,jpeg,kate,kwallet,libsecret,lirc,live555,lua,mad,matroska,mdns,modplug,mpeg2,mpg123,mtp,musepack,nfs,notify,ogg,opus,png,pulse,quicksync,samplerate,sdl,sftp,shout,smb,soxr,speex,srt,svg,tag,theora,twolame,udev,upnp,vorbis,vpx,x264,x265,xml,zvbi}
  vlc-plugins-{all,base,extra,video-output,visualization}
)
_vlcver=3.0.21
# optional fixup version including hyphen
_vlcfixupver=
pkgver=$_vlcver${_vlcfixupver//-/.r}
pkgrel=31
pkgdesc='Free and open source cross-platform multimedia player and framework'
url=https://www.videolan.org/vlc/
arch=(x86_64 aarch64)
license=(
  GPL-2.0-or-later
  LGPL-2.1-or-later
)
makedepends=(
  a52dec
  aalib
  abseil-cpp
  alsa-lib
  aom
  aribb24
  aribb25
  avahi
  bash
  cairo
  dav1d
  dbus
  faad2
  ffmpeg4.4  # NOTE: switch to ffmpeg4.4, as ffmpeg >= 5 requires extensive changes disabling VAAPI (only supported with vlc >= 4)
  flac
  fluidsynth
  fontconfig
  freetype2
  fribidi
  gcc-libs
  gdk-pixbuf2
  glib2
  glibc
  gnutls
  gst-plugins-base-libs
  gtk3
  harfbuzz
  hicolor-icon-theme
  jack
  libarchive
  libass
  libavc1394
  libbluray
  libcaca
  libcddb
  libdca
  libdc1394
  libdvbpsi
  libdvdcss
  libdvdnav
  libdvdread
  libglvnd
  libgme
  libgoom2
  libjpeg-turbo
  libkate
  libmad
  libmatroska
  libmicrodns
  libmodplug
  libmpcdec
  libmpeg2
  libmtp
  libnotify
  libnfs
  libogg
  libpng
  libproxy
  libpulse
  librsvg
  libsamplerate
  libsecret
  libshout
  libsoxr
  libssh2
  libtheora
  libtiger
  libupnp
  libva
  libvorbis
  libvpx
  libx11
  libxcb
  libxinerama
  libxml2
  libxpm
  lirc
  live-media
  lua
  mesa
  mpg123
  opus
  pcsclite
  projectm
  protobuf
  qt5-base
  qt5-svg
  qt5-x11extras
  sdl12-compat
  sdl_image
  smbclient
  speex
  speexdsp
  srt
  systemd-libs
  taglib
  twolame
  wayland
  wayland-protocols
  x264
  x265
  xcb-util-keysyms
  xosd
  zlib
  zvbi
)
options=(!emptydirs)
source=(
  https://download.videolan.org/$pkgname/$_vlcver/$pkgname-$_vlcver$_vlcfixupver.tar.xz{,.asc}
  update-vlc-plugin-cache.hook
  taglib-2.patch
  libnfs6-mr-6527.patch
  https://github.com/videolan/vlc/commit/8befcbfa.patch # Fix build with recent live-media
  # $pkgbase-3.0.21-fix-opus-crash.patch::https://code.videolan.org/videolan/vlc/-/commit/a761e1c202b632e7865d18fcf11a2b9e285ea9ae.patch  # Fix crash with opus: https://gitlab.archlinux.org/archlinux/packaging/packages/vlc/-/issues/9
  $pkgbase-3.0.21-fix-opus-crash.patch
)
sha512sums=('cb1af76c8056648c331d7e6e0680d161ed1849eb635987504f45eae02531e9b432651034317fa7e02b0722905dfb9f0f5dad67b5924cc62edcaf0d173ac36aee'
            'SKIP'
            'b247510ffeadfd439a5dadd170c91900b6cdb05b5ca00d38b1a17c720ffe5a9f75a32e0cb1af5ebefdf1c23c5acc53513ed983a736e8fa30dd8fad237ef49dd3'
            'ea0d1e1dfed16dac8f9027eb55d987dee59630568b9744ceb42bfa134ea9295252d83574f3d793a76a5be3b02661c1731ed366003b6b55b2d7f02fde70586ff3'
            'ea13dd8a1815af183064590d25eb9e652e81bd2d481d311bc4f841c32977205d1d3663d1c3e1c2fe642d546b5e6ab38d5fa6e3ea77808f76d138052900c19032'
            'eae772959f3f48f6a8e0ccb27711cc3ce59314db49ad38ecb4e03f52782e6acabd1d5ab21a2a5c1b702d7e35218c305d2e8f3082c84000bd6d1c0e136d33178e'
            '7359e40e537dfd9e1894d392e7759896d29a5179a0e6db051cafd26d7ea873837012c564f8adf3bbba43616deaf915fbc3254a0dcb08c3b47437dabfbfa5b9db')
validpgpkeys=(65F7C6B4206BD057A7EB73787180713BE58D1ADC) # VideoLAN Release Signing Key

prepare() {
  cd $pkgname-$_vlcver
  sed -e 's:truetype/ttf-dejavu:TTF:g' -i modules/visualization/projectm.cpp
  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() {
  local configure_options=(
    --disable-chromaprint
    --disable-fdkaac
    --disable-libgcrypt
    --disable-libplacebo
    --disable-opencv
    --disable-rpath
    --disable-schroedinger
    --disable-update-check
    --enable-a52
    --enable-aa
    --enable-alsa
    --enable-aom
    --enable-archive
    --enable-aribsub
    --enable-aribcam
    --enable-avahi
    --enable-avcodec
    --enable-avformat
    --enable-bluray
    --enable-caca
    --enable-chromecast
    --enable-dav1d
    --enable-dc1394
    --enable-dca
    --enable-dv1394
    --enable-dvbpsi
    --enable-dvdnav
    --enable-dvdread
    --enable-faad
    --enable-flac
    --enable-fluidsynth
    --enable-fontconfig
    --enable-freetype
    --enable-fribidi
    --enable-gnutls
    --enable-gme
    --enable-goom
    --enable-gst-decode
    --enable-harfbuzz
    --enable-jack
    --enable-jpeg
    --enable-kate
    --enable-kwallet
    --enable-libass
    --enable-libcddb
    --enable-libmpeg2
    --enable-libva
    --enable-libxml2
    --enable-lirc
    --enable-live555
    --enable-mad
    --enable-matroska
    --enable-mod
    --enable-mpc
    --enable-mpg123
    --enable-microdns
    --enable-mtp
    --enable-ncurses
    --enable-nfs
    --enable-nls
    --enable-notify
    --enable-ogg
    --enable-oggspots
    --enable-opus
    --enable-png
    --enable-postproc
    --enable-projectm
    --enable-pulse
    --enable-qt
    --enable-realrtsp
    --enable-samplerate
    --enable-sdl-image
    --enable-secret
    --enable-sftp
    --enable-shout
    --enable-skins2
    --enable-smbclient
    --enable-soxr
    --enable-speex
    --enable-srt
    --enable-svg
    --enable-svgdec
    --enable-taglib
    --enable-tiger
    --enable-twolame
    --enable-upnp
    --enable-vcd
    --enable-vdpau
    --enable-vlc
    --enable-vorbis
    --enable-vpx
    --enable-wayland
    --enable-x264
    --enable-x265
    --enable-zvbi
    --prefix=/usr
    --sysconfdir=/etc
    --with-kde-solid=/usr/share/solid/actions/
  )

  cd $pkgname-$_vlcver

  export CFLAGS+=" -I/usr/include/samba-4.0 -ffat-lto-objects -Wno-incompatible-pointer-types"
  export CPPFLAGS+=" -I/usr/include/samba-4.0"
  export CXXFLAGS+=" -std=c++17"
  export PKG_CONFIG_PATH="/usr/lib/ffmpeg4.4/pkgconfig"
  export LUAC=/usr/bin/luac
  export LUA_LIBS="$(pkg-config --libs lua)"
  export RCC=/usr/bin/rcc-qt5
  export PKG_CONFIG_PATH="/usr/lib/ffmpeg4.4/pkgconfig/:$PKG_CONFIG_PATH"

  ./configure "${configure_options[@]}"

  # prevent excessive overlinking due to libtool
  sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
  make
}

_pick() {
  local p="$1" f d; shift
  for f; do
    d="$srcdir/$p/${f#$pkgdir/}"
    mkdir -p "$(dirname "$d")"
    mv "$f" "$d"
    rmdir -p --ignore-fail-on-non-empty "$(dirname "$f")"
  done
}

package_vlc() {
  depends=(
    bash
    hicolor-icon-theme
    vlc-gui-qt=$pkgver
  )
  optdepends=(
    'vlc-gui-ncurses: for ncurses TUI'
    'vlc-gui-skins2: for Skins2 GUI'
    'vlc-plugins-all: for all plugins'
    'vlc-plugins-extra: for extra plugins'
    'vlc-plugins-visualization: for visualization plugins'
    'vlc-plugin-aalib: for ASCII art video output support'
    'vlc-plugin-aom: for AOM AV1 codec support'
    'vlc-plugin-aribb24: for ARIB STD-24 codec and demux support'
    'vlc-plugin-aribb25: for ARIB STD-25 stream filter support'
    'vlc-plugin-ass: for SSA/ASS subtitle codec support'
    'vlc-plugin-avahi: for mDNS/DNS-SD services discovery support'
    'vlc-plugin-bluray: for Blu-ray access support'
    'vlc-plugin-caca: for color ASCII art video output support'
    'vlc-plugin-cddb: for CDDB access support'
    'vlc-plugin-chromecast: for Chromecast stream out support'
    'vlc-plugin-dca: for DTS Coherent Acoustics codec support'
    'vlc-plugin-dvb: for DVB access, mux and demux support'
    'vlc-plugin-dvd: for DVD access support'
    'vlc-plugin-ffmpeg: for FFMPEG based access, codec, demux, packetizer, VDPAU, video chroma and video filter support'
    'vlc-plugin-firewire: for FireWire device access support'
    'vlc-plugin-fluidsynth: for FluidSynth codec support'
    'vlc-plugin-freetype: for subtitle and on screen display text rendering support'
    'vlc-plugin-gme: for Game Music Emulation demux support'
    'vlc-plugin-gstreamer: for GStreamer codec support'
    'vlc-plugin-jack: for JACK access and audio output support'
    'vlc-plugin-kate: for kate karaoke codec support'
    'vlc-plugin-kwallet: for kwallet keystore support'
    'vlc-plugin-libsecret: for libsecret keystore support'
    'vlc-plugin-lirc: for infrared remote control support'
    'vlc-plugin-live555: for RTP/RTSP stream access support'
    'vlc-plugin-mad: for MPEG Audio Decoder audio filter support'
    'vlc-plugin-matroska: for Matroska demux support'
    'vlc-plugin-mdns: for mDNS services discovery support'
    'vlc-plugin-modplug: for MOD demux support'
    'vlc-plugin-mpeg2: for MPEG2 codec support'
    'vlc-plugin-mtp: for MTP device access and discovery support'
    'vlc-plugin-musepack: for MusePack demux support'
    'vlc-plugin-nfs: for NFS access support'
    'vlc-plugin-notify: for notification support'
    'vlc-plugin-quicksync: for Intel QuickSync H264/H262 codec support'
    'vlc-plugin-samplerate: for samplerate audio filter support'
    'vlc-plugin-sdl: for SDL codec support'
    'vlc-plugin-sftp: for SFTP access support'
    'vlc-plugin-smb: for SMB access support'
    'vlc-plugin-soxr: for SoX Resampler audio filter support'
    'vlc-plugin-srt: for SRT subtitle file support'
    'vlc-plugin-svg: for SVG codec and text renderer support'
    'vlc-plugin-udev: for ALSA services discovery support using udev'
    'vlc-plugin-upnp: for UPnP services discovery support'
    'vlc-plugin-x264: for H264/AVC encoding support'
    'vlc-plugin-x265: for H265/HEVC encoding support'
    'vlc-plugin-zvbi: for VBI access (also over V4L2) and codec support'
  )
  conflicts=(vlc-plugin)
  replaces=(vlc-plugin)

  cd $pkgname-$_vlcver

  make DESTDIR="$pkgdir" install

  (
    cd "$pkgdir"
    _pick lib$pkgname usr/include
    _pick lib$pkgname usr/lib/libvlc*
    _pick lib$pkgname usr/lib/pkgconfig/{libvlc,vlc-plugin}.pc
    _pick libvlc usr/lib/vlc/vlc-cache-gen

    _pick $pkgname-cli usr/bin/{vlc,cvlc,rvlc,vlc-wrapper}
    _pick $pkgname-cli usr/share/man/man1/vlc{,-wrapper}.1*

    _pick $pkgname-gui-ncurses usr/bin/nvlc
    _pick $pkgname-gui-ncurses usr/lib/vlc/plugins/gui/libncurses_plugin.so

    _pick $pkgname-gui-qt usr/bin/qvlc
    _pick $pkgname-gui-qt usr/lib/vlc/plugins/gui/libqt_plugin.so

    _pick $pkgname-gui-skins2 usr/bin/svlc
    _pick $pkgname-gui-skins2 usr/lib/vlc/plugins/gui/libskins2_plugin.so
    _pick $pkgname-gui-skins2 usr/share/vlc/skins2/*


    _pick $pkgname-plugin-a52dec usr/lib/vlc/plugins/codec/liba52_plugin.so

    _pick $pkgname-plugin-aalib usr/lib/vlc/plugins/video_output/libaa_plugin.so

    _pick $pkgname-plugin-alsa usr/lib/vlc/plugins/access/libaccess_alsa_plugin.so
    _pick $pkgname-plugin-alsa usr/lib/vlc/plugins/audio_output/libalsa_plugin.so

    _pick $pkgname-plugin-aom usr/lib/vlc/plugins/codec/libaom_plugin.so

    _pick $pkgname-plugin-archive usr/lib/vlc/plugins/stream_extractor/libarchive_plugin.so

    _pick $pkgname-plugin-aribb24 usr/lib/vlc/plugins/codec/libaribsub_plugin.so

    _pick $pkgname-plugin-aribb25 usr/lib/vlc/plugins/stream_filter/libaribcam_plugin.so

    _pick $pkgname-plugin-ass usr/lib/vlc/plugins/codec/liblibass_plugin.so

    _pick $pkgname-plugin-avahi usr/lib/vlc/plugins/services_discovery/libavahi_plugin.so

    _pick $pkgname-plugin-bluray usr/lib/vlc/plugins/access/liblibbluray_plugin.so

    _pick $pkgname-plugin-caca usr/lib/vlc/plugins/video_output/libcaca_plugin.so

    _pick $pkgname-plugin-cddb usr/lib/vlc/plugins/access/libcdda_plugin.so

    _pick $pkgname-plugin-chromecast usr/lib/vlc/plugins/stream_out/libstream_out_chromecast_plugin.so

    _pick $pkgname-plugin-dav1d usr/lib/vlc/plugins/codec/libdav1d_plugin.so

    _pick $pkgname-plugin-dbus usr/lib/vlc/plugins/control/libdbus_plugin.so

    _pick $pkgname-plugin-dbus-screensaver usr/lib/vlc/plugins/misc/libdbus_screensaver_plugin.so

    _pick $pkgname-plugin-dca usr/lib/vlc/plugins/codec/libdca_plugin.so

    _pick $pkgname-plugin-dvb usr/lib/vlc/plugins/access/libdvb_plugin.so
    _pick $pkgname-plugin-dvb usr/lib/vlc/plugins/demux/libts_plugin.so
    _pick $pkgname-plugin-dvb usr/lib/vlc/plugins/mux/libmux_ts_plugin.so

    _pick $pkgname-plugin-dvd usr/lib/vlc/plugins/access/libdvdnav_plugin.so
    _pick $pkgname-plugin-dvd usr/lib/vlc/plugins/access/libdvdread_plugin.so

    _pick $pkgname-plugin-faad2 usr/lib/vlc/plugins/codec/libfaad_plugin.so

    _pick $pkgname-plugin-ffmpeg usr/lib/vlc/plugins/access/libavio_plugin.so
    _pick $pkgname-plugin-ffmpeg usr/lib/vlc/plugins/codec/libavcodec_plugin.so
    _pick $pkgname-plugin-ffmpeg usr/lib/vlc/plugins/codec/libvaapi_drm_plugin.so
    _pick $pkgname-plugin-ffmpeg usr/lib/vlc/plugins/codec/libvaapi_plugin.so
    _pick $pkgname-plugin-ffmpeg usr/lib/vlc/plugins/demux/libavformat_plugin.so
    _pick $pkgname-plugin-ffmpeg usr/lib/vlc/plugins/packetizer/libpacketizer_avparser_plugin.so
    _pick $pkgname-plugin-ffmpeg usr/lib/vlc/plugins/vdpau/libvdpau_avcodec_plugin.so
    _pick $pkgname-plugin-ffmpeg usr/lib/vlc/plugins/video_chroma/libswscale_plugin.so
    _pick $pkgname-plugin-ffmpeg usr/lib/vlc/plugins/video_filter/libpostproc_plugin.so

    _pick $pkgname-plugin-firewire usr/lib/vlc/plugins/access/libdc1394_plugin.so
    _pick $pkgname-plugin-firewire usr/lib/vlc/plugins/access/libdv1394_plugin.so

    _pick $pkgname-plugin-flac usr/lib/vlc/plugins/codec/libflac_plugin.so

    _pick $pkgname-plugin-fluidsynth usr/lib/vlc/plugins/codec/libfluidsynth_plugin.so

    _pick $pkgname-plugin-freetype usr/lib/vlc/plugins/text_renderer/libfreetype_plugin.so

    _pick $pkgname-plugin-gme usr/lib/vlc/plugins/demux/libgme_plugin.so

    _pick $pkgname-plugin-gnutls usr/lib/vlc/plugins/misc/libgnutls_plugin.so

    _pick $pkgname-plugin-gstreamer usr/lib/vlc/plugins/codec/libgstdecode_plugin.so

    _pick $pkgname-plugin-inflate usr/lib/vlc/plugins/stream_filter/libinflate_plugin.so

    _pick $pkgname-plugin-jack usr/lib/vlc/plugins/access/libaccess_jack_plugin.so
    _pick $pkgname-plugin-jack usr/lib/vlc/plugins/audio_output/libjack_plugin.so

    _pick $pkgname-plugin-journal usr/lib/vlc/plugins/logger/libsd_journal_plugin.so

    _pick $pkgname-plugin-jpeg usr/lib/vlc/plugins/codec/libjpeg_plugin.so

    _pick $pkgname-plugin-kate usr/lib/vlc/plugins/codec/libkate_plugin.so

    _pick $pkgname-plugin-kwallet usr/lib/vlc/plugins/keystore/libkwallet_plugin.so

    _pick $pkgname-plugin-libsecret usr/lib/vlc/plugins/keystore/libsecret_plugin.so

    _pick $pkgname-plugin-lirc usr/lib/vlc/plugins/control/liblirc_plugin.so

    _pick $pkgname-plugin-live555 usr/lib/vlc/plugins/access/liblive555_plugin.so

    _pick $pkgname-plugin-lua usr/lib/vlc/lua/
    _pick $pkgname-plugin-lua usr/lib/vlc/plugins/lua/
    _pick $pkgname-plugin-lua usr/share/vlc/lua/
    _pick $pkgname-plugin-lua usr/share/doc/vlc/lua/

    _pick $pkgname-plugin-mad usr/lib/vlc/plugins/audio_filter/libmad_plugin.so

    _pick $pkgname-plugin-matroska usr/lib/vlc/plugins/demux/libmkv_plugin.so

    _pick $pkgname-plugin-mdns usr/lib/vlc/plugins/services_discovery/libmicrodns_plugin.so

    _pick $pkgname-plugin-modplug usr/lib/vlc/plugins/demux/libmod_plugin.so

    _pick $pkgname-plugin-mpeg2 usr/lib/vlc/plugins/codec/liblibmpeg2_plugin.so

    _pick $pkgname-plugin-mpg123 usr/lib/vlc/plugins/codec/libmpg123_plugin.so

    _pick $pkgname-plugin-mtp usr/lib/vlc/plugins/access/libaccess_mtp_plugin.so
    _pick $pkgname-plugin-mtp usr/lib/vlc/plugins/services_discovery/libmtp_plugin.so

    _pick $pkgname-plugin-musepack usr/lib/vlc/plugins/demux/libmpc_plugin.so

    _pick $pkgname-plugin-nfs usr/lib/vlc/plugins/access/libnfs_plugin.so

    _pick $pkgname-plugin-notify usr/lib/vlc/plugins/notify/libnotify_plugin.so

    _pick $pkgname-plugin-ogg usr/lib/vlc/plugins/demux/libogg_plugin.so
    _pick $pkgname-plugin-ogg usr/lib/vlc/plugins/mux/libmux_ogg_plugin.so

    _pick $pkgname-plugin-opus usr/lib/vlc/plugins/codec/libopus_plugin.so

    _pick $pkgname-plugin-png usr/lib/vlc/plugins/codec/libpng_plugin.so

    _pick $pkgname-plugin-pulse usr/lib/vlc/libvlc_pulse.so*
    _pick $pkgname-plugin-pulse usr/lib/vlc/plugins/access/libpulsesrc_plugin.so
    _pick $pkgname-plugin-pulse usr/lib/vlc/plugins/audio_output/libpulse_plugin.so
    _pick $pkgname-plugin-pulse usr/lib/vlc/plugins/services_discovery/libpulselist_plugin.so

    [ $CARCH = x86_64 ] && _pick $pkgname-plugin-quicksync usr/lib/vlc/plugins/codec/libqsv_plugin.so

    _pick $pkgname-plugin-samplerate usr/lib/vlc/plugins/audio_filter/libsamplerate_plugin.so

    _pick $pkgname-plugin-sdl usr/lib/vlc/plugins/codec/libsdl_image_plugin.so

    _pick $pkgname-plugin-sftp usr/lib/vlc/plugins/access/libsftp_plugin.so

    _pick $pkgname-plugin-shout usr/lib/vlc/plugins/access_output/libaccess_output_shout_plugin.so

    _pick $pkgname-plugin-smb usr/lib/vlc/plugins/access/libsmb_plugin.so

    _pick $pkgname-plugin-soxr usr/lib/vlc/plugins/audio_filter/libsoxr_plugin.so

    _pick $pkgname-plugin-speex usr/lib/vlc/plugins/audio_filter/libspeex_resampler_plugin.so
    _pick $pkgname-plugin-speex usr/lib/vlc/plugins/codec/libspeex_plugin.so

    _pick $pkgname-plugin-srt usr/lib/vlc/plugins/access/libaccess_srt_plugin.so
    _pick $pkgname-plugin-srt usr/lib/vlc/plugins/access_output/libaccess_output_srt_plugin.so

    _pick $pkgname-plugin-svg usr/lib/vlc/plugins/codec/libsvgdec_plugin.so
    _pick $pkgname-plugin-svg usr/lib/vlc/plugins/text_renderer/libsvg_plugin.so

    _pick $pkgname-plugin-tag usr/lib/vlc/plugins/meta_engine/libtaglib_plugin.so

    _pick $pkgname-plugin-theora usr/lib/vlc/plugins/codec/libtheora_plugin.so

    _pick $pkgname-plugin-twolame usr/lib/vlc/plugins/codec/libtwolame_plugin.so

    _pick $pkgname-plugin-udev usr/lib/vlc/plugins/services_discovery/libudev_plugin.so

    _pick $pkgname-plugin-upnp usr/lib/vlc/plugins/services_discovery/libupnp_plugin.so

    _pick $pkgname-plugin-vorbis usr/lib/vlc/plugins/codec/libvorbis_plugin.so

    _pick $pkgname-plugin-vpx usr/lib/vlc/plugins/codec/libvpx_plugin.so

    _pick $pkgname-plugin-x264 usr/lib/vlc/plugins/codec/libx26410b_plugin.so
    _pick $pkgname-plugin-x264 usr/lib/vlc/plugins/codec/libx264_plugin.so

    _pick $pkgname-plugin-x265 usr/lib/vlc/plugins/codec/libx265_plugin.so

    _pick $pkgname-plugin-xml usr/lib/vlc/plugins/misc/libxml_plugin.so

    _pick $pkgname-plugin-zvbi usr/lib/vlc/plugins/access/liblinsys_sdi_plugin.so
    _pick $pkgname-plugin-zvbi usr/lib/vlc/plugins/access/libv4l2_plugin.so
    _pick $pkgname-plugin-zvbi usr/lib/vlc/plugins/codec/libzvbi_plugin.so

    _pick vlc-plugins-video-output usr/lib/vlc/libvlc_vdpau.so*
    _pick vlc-plugins-video-output usr/lib/vlc/libvlc_xcb_events.so*
    _pick vlc-plugins-video-output usr/lib/vlc/plugins/control/libxcb_hotkeys_plugin.so
    _pick vlc-plugins-video-output usr/lib/vlc/plugins/services_discovery/libxcb_apps_plugin.so
    _pick vlc-plugins-video-output usr/lib/vlc/plugins/vaapi/libvaapi_filters_plugin.so
    _pick vlc-plugins-video-output usr/lib/vlc/plugins/vdpau/libvdpau_adjust_plugin.so
    _pick vlc-plugins-video-output usr/lib/vlc/plugins/vdpau/libvdpau_chroma_plugin.so
    _pick vlc-plugins-video-output usr/lib/vlc/plugins/vdpau/libvdpau_deinterlace_plugin.so
    _pick vlc-plugins-video-output usr/lib/vlc/plugins/vdpau/libvdpau_display_plugin.so
    _pick vlc-plugins-video-output usr/lib/vlc/plugins/vdpau/libvdpau_sharpen_plugin.so
    _pick vlc-plugins-video-output usr/lib/vlc/plugins/video_output/libegl_wl_plugin.so
    _pick vlc-plugins-video-output usr/lib/vlc/plugins/video_output/libegl_x11_plugin.so
    _pick vlc-plugins-video-output usr/lib/vlc/plugins/video_output/libflaschen_plugin.so
    _pick vlc-plugins-video-output usr/lib/vlc/plugins/video_output/libgl_plugin.so
    _pick vlc-plugins-video-output usr/lib/vlc/plugins/video_output/libglconv_vaapi_drm_plugin.so
    _pick vlc-plugins-video-output usr/lib/vlc/plugins/video_output/libglconv_vaapi_wl_plugin.so
    _pick vlc-plugins-video-output usr/lib/vlc/plugins/video_output/libglconv_vaapi_x11_plugin.so
    _pick vlc-plugins-video-output usr/lib/vlc/plugins/video_output/libglconv_vdpau_plugin.so
    _pick vlc-plugins-video-output usr/lib/vlc/plugins/video_output/libglx_plugin.so
    _pick vlc-plugins-video-output usr/lib/vlc/plugins/video_output/libwl_shell_plugin.so
    _pick vlc-plugins-video-output usr/lib/vlc/plugins/video_output/libwl_shm_plugin.so
    _pick vlc-plugins-video-output usr/lib/vlc/plugins/video_output/libxcb_window_plugin.so
    _pick vlc-plugins-video-output usr/lib/vlc/plugins/video_output/libxcb_x11_plugin.so
    _pick vlc-plugins-video-output usr/lib/vlc/plugins/video_output/libxcb_xv_plugin.so
    _pick vlc-plugins-video-output usr/lib/vlc/plugins/video_output/libxdg_shell_plugin.so
    _pick vlc-plugins-video-output usr/lib/vlc/plugins/video_splitter/

    _pick vlc-plugins-visualization usr/lib/vlc/plugins/visualization/

    _pick vlc-plugins-base usr/lib/vlc/plugins/access/libaccess_concat_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/access/libaccess_imem_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/access/libaccess_mms_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/access/libaccess_realrtsp_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/access/libattachment_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/access/libdtv_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/access/libfilesystem_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/access/libftp_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/access/libhttp_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/access/libhttps_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/access/libidummy_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/access/libimem_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/access/librist_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/access/librtp_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/access/libsatip_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/access/libsdp_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/access/libshm_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/access/libtcp_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/access/libtimecode_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/access/libudp_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/access/libvcd_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/access/libvdr_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/access_output/libaccess_output_dummy_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/access_output/libaccess_output_file_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/access_output/libaccess_output_http_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/access_output/libaccess_output_rist_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/access_output/libaccess_output_udp_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/audio_filter/libaudio_format_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/audio_filter/libaudiobargraph_a_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/audio_filter/libchorus_flanger_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/audio_filter/libcompressor_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/audio_filter/libdolby_surround_decoder_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/audio_filter/libequalizer_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/audio_filter/libgain_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/audio_filter/libheadphone_channel_mixer_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/audio_filter/libkaraoke_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/audio_filter/libmono_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/audio_filter/libnormvol_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/audio_filter/libparam_eq_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/audio_filter/libremap_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/audio_filter/libscaletempo_pitch_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/audio_filter/libscaletempo_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/audio_filter/libsimple_channel_mixer_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/audio_filter/libspatializer_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/audio_filter/libstereo_widen_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/audio_filter/libtospdif_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/audio_filter/libtrivial_channel_mixer_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/audio_filter/libugly_resampler_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/audio_mixer/
    _pick vlc-plugins-base usr/lib/vlc/plugins/audio_output/libadummy_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/audio_output/libafile_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/audio_output/libamem_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/codec/libadpcm_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/codec/libaes3_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/codec/libaraw_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/codec/libcc_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/codec/libcdg_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/codec/libcvdsub_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/codec/libddummy_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/codec/libdvbsub_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/codec/libedummy_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/codec/libg711_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/codec/liblpcm_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/codec/liboggspots_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/codec/librawvideo_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/codec/librtpvideo_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/codec/libscte18_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/codec/libscte27_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/codec/libspdif_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/codec/libspudec_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/codec/libstl_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/codec/libsubsdec_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/codec/libsubstx3g_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/codec/libsubsusf_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/codec/libsvcdsub_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/codec/libt140_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/codec/libtelx_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/codec/libtextst_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/codec/libttml_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/codec/libuleaddvaudio_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/codec/libwebvtt_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/codec/libxwd_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/control/libdummy_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/control/libgestures_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/control/libhotkeys_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/control/libmotion_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/control/libnetsync_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/control/liboldrc_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/demux/libadaptive_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/demux/libaiff_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/demux/libasf_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/demux/libau_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/demux/libavi_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/demux/libcaf_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/demux/libdemux_cdg_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/demux/libdemux_chromecast_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/demux/libdemux_stl_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/demux/libdemuxdump_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/demux/libdiracsys_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/demux/libdirectory_demux_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/demux/libes_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/demux/libflacsys_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/demux/libh26x_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/demux/libimage_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/demux/libmjpeg_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/demux/libmp4_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/demux/libmpgv_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/demux/libnoseek_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/demux/libnsc_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/demux/libnsv_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/demux/libnuv_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/demux/libplaylist_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/demux/libps_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/demux/libpva_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/demux/librawaud_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/demux/librawdv_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/demux/librawvid_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/demux/libreal_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/demux/libsmf_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/demux/libsubtitle_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/demux/libtta_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/demux/libty_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/demux/libvc1_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/demux/libvobsub_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/demux/libvoc_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/demux/libwav_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/demux/libxa_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/keystore/libfile_keystore_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/keystore/libmemory_keystore_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/logger/libconsole_logger_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/logger/libfile_logger_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/logger/libsyslog_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/meta_engine/libfolder_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/misc/libaddonsfsstorage_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/misc/libaddonsvorepository_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/misc/libaudioscrobbler_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/misc/libexport_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/misc/libfingerprinter_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/misc/liblogger_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/misc/libstats_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/misc/libvod_rtsp_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/misc/libxdg_screensaver_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/mux/libmux_asf_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/mux/libmux_avi_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/mux/libmux_dummy_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/mux/libmux_mp4_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/mux/libmux_mpjpeg_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/mux/libmux_ps_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/mux/libmux_wav_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/packetizer/libpacketizer_a52_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/packetizer/libpacketizer_av1_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/packetizer/libpacketizer_copy_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/packetizer/libpacketizer_dirac_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/packetizer/libpacketizer_dts_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/packetizer/libpacketizer_flac_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/packetizer/libpacketizer_h264_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/packetizer/libpacketizer_hevc_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/packetizer/libpacketizer_mlp_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/packetizer/libpacketizer_mpeg4audio_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/packetizer/libpacketizer_mpeg4video_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/packetizer/libpacketizer_mpegaudio_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/packetizer/libpacketizer_mpegvideo_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/packetizer/libpacketizer_vc1_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/services_discovery/libmediadirs_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/services_discovery/libpodcast_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/services_discovery/libsap_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/spu/libaudiobargraph_v_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/spu/libdynamicoverlay_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/spu/liblogo_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/spu/libmarq_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/spu/libmosaic_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/spu/librss_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/spu/libsubsdelay_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/stream_filter/libadf_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/stream_filter/libcache_block_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/stream_filter/libcache_read_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/stream_filter/libdecomp_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/stream_filter/libhds_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/stream_filter/libprefetch_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/stream_filter/librecord_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/stream_filter/libskiptags_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/stream_out/libstream_out_autodel_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/stream_out/libstream_out_bridge_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/stream_out/libstream_out_cycle_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/stream_out/libstream_out_delay_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/stream_out/libstream_out_description_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/stream_out/libstream_out_display_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/stream_out/libstream_out_dummy_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/stream_out/libstream_out_duplicate_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/stream_out/libstream_out_es_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/stream_out/libstream_out_gather_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/stream_out/libstream_out_mosaic_bridge_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/stream_out/libstream_out_record_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/stream_out/libstream_out_rtp_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/stream_out/libstream_out_setid_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/stream_out/libstream_out_smem_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/stream_out/libstream_out_standard_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/stream_out/libstream_out_stats_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/stream_out/libstream_out_transcode_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/text_renderer/libtdummy_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/video_chroma/libchain_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/video_chroma/libgrey_yuv_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/video_chroma/libi420_10_p010_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/video_chroma/libi420_nv12_plugin.so
    [ $CARCH = x86_64 ] && _pick vlc-plugins-base usr/lib/vlc/plugins/video_chroma/libi420_rgb_mmx_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/video_chroma/libi420_rgb_plugin.so
    [ $CARCH = x86_64 ] && _pick vlc-plugins-base usr/lib/vlc/plugins/video_chroma/libi420_rgb_sse2_plugin.so
    [ $CARCH = x86_64 ] && _pick vlc-plugins-base usr/lib/vlc/plugins/video_chroma/libi420_yuy2_mmx_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/video_chroma/libi420_yuy2_plugin.so
    [ $CARCH = x86_64 ] && _pick vlc-plugins-base usr/lib/vlc/plugins/video_chroma/libi420_yuy2_sse2_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/video_chroma/libi422_i420_plugin.so
    [ $CARCH = x86_64 ] && _pick vlc-plugins-base usr/lib/vlc/plugins/video_chroma/libi422_yuy2_mmx_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/video_chroma/libi422_yuy2_plugin.so
    [ $CARCH = x86_64 ] && _pick vlc-plugins-base usr/lib/vlc/plugins/video_chroma/libi422_yuy2_sse2_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/video_chroma/librv32_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/video_chroma/libyuvp_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/video_chroma/libyuy2_i420_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/video_chroma/libyuy2_i422_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/video_filter/libadjust_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/video_filter/libalphamask_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/video_filter/libanaglyph_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/video_filter/libantiflicker_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/video_filter/libball_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/video_filter/libblend_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/video_filter/libblendbench_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/video_filter/libbluescreen_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/video_filter/libcanvas_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/video_filter/libcolorthres_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/video_filter/libcroppadd_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/video_filter/libdeinterlace_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/video_filter/libedgedetection_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/video_filter/liberase_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/video_filter/libextract_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/video_filter/libfps_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/video_filter/libfreeze_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/video_filter/libgaussianblur_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/video_filter/libgradfun_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/video_filter/libgradient_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/video_filter/libgrain_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/video_filter/libhqdn3d_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/video_filter/libinvert_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/video_filter/libmagnify_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/video_filter/libmirror_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/video_filter/libmotionblur_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/video_filter/libmotiondetect_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/video_filter/liboldmovie_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/video_filter/libposterize_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/video_filter/libpsychedelic_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/video_filter/libpuzzle_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/video_filter/libripple_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/video_filter/librotate_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/video_filter/libscale_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/video_filter/libscene_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/video_filter/libsepia_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/video_filter/libsharpen_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/video_filter/libtransform_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/video_filter/libvhs_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/video_filter/libwave_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/video_output/libfb_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/video_output/libvdummy_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/video_output/libvmem_plugin.so
    _pick vlc-plugins-base usr/lib/vlc/plugins/video_output/libyuv_plugin.so

    _pick vlc-plugins-extra usr/lib/vlc/plugins/access/liblinsys_hdsdi_plugin.so
    _pick vlc-plugins-extra usr/lib/vlc/plugins/access/libxcb_screen_plugin.so

  )

  # remove unneeded/unused static library
  rm -v "$pkgdir/usr/lib/vlc/libcompat.a"

  # remove utils script that is incompatible with gnome >= 3
  rm -v "$pkgdir/usr/share/vlc/utils/gnome-vlc-default.sh"

  # remove developer example project for libvlc
  rm -rv "$pkgdir/usr/share/doc/vlc/libvlc/"

  # remove unneeded/compiled-in images
  rm -v "$pkgdir/usr/share/vlc/vlc.ico"
  find "$pkgdir/usr/share/icons/hicolor/" -type f ! -iname "vlc.png" -delete

  # delete plugin registry, we will create it dynamically with an ALPM hook as part of the libvlc package
  rm -v "$pkgdir/usr/lib/vlc/plugins/plugins.dat"

  # delete leftover libtool stuff to properly empty plugin directories
  find "$pkgdir/usr/lib/vlc/" -type f -iname "*.la" -delete
  # delete empty plugin directories
  rmdir -v "$pkgdir/usr/lib/vlc/plugins/"{access{,_output},audio_{filter,output},codec,control,demux,gui,keystore,logger,meta_engine,misc,mux,notify,packetizer,services_discovery,spu,stream_{extractor,filter,out},text_renderer,vaapi,vdpau,video_{chroma,filter,output}}
}

package_libvlc() {
  pkgdesc+=" - library"
  depends=(
    dbus
    gcc-libs
    glibc
  )
  provides=(
    libvlc.so
    libvlccore.so
  )

  mv -v $pkgname/* "$pkgdir"

  # install ALPM hook to update the VLC plugin cache when /usr/lib/vlc/plugins/ is altered
  install -Dm 644 update-vlc-plugin-cache.hook -t "$pkgdir/usr/share/libalpm/hooks/"
  # create an empty plugin cache, so that the ALPM hook can write to it
  install -vdm 755 "$pkgdir/usr/lib/vlc/plugins/"
  touch "$pkgdir/usr/lib/vlc/plugins/plugins.dat"
}

package_vlc-cli() {
  pkgdesc+=" - command line interface"
  depends=(
    bash
    glibc
    libvlc libvlc.so
    vlc-plugins-base=$pkgver
  )
  optdepends=(
    'vlc-plugin-lua: for Lua scripting plugins'
  )

  mv -v $pkgname/* "$pkgdir"
}

package_vlc-gui-ncurses() {
  pkgdesc+=" - Ncurses TUI"
  depends=(
    bash
    glibc
    libvlc libvlccore.so
    ncurses
    vlc-plugins-base
  )

  mv -v $pkgname/* "$pkgdir"
}

package_vlc-gui-qt() {
  pkgdesc+=" - Qt GUI"
  depends=(
    bash
    gcc-libs
    glibc
    libvlc libvlccore.so
    libx11
    qt5-base
    qt5-svg
    qt5-wayland
    qt5-x11extras
    vlc-cli=$pkgver
    vlc-plugin-lua=$pkgver
    vlc-plugin-pulse=$pkgver
    vlc-plugins-base=$pkgver
    vlc-plugins-video-output=$pkgver
    wayland
  )
  optdepends=(
    'vlc-plugin-ffmpeg: for FFMPEG support'
    'vlc-plugin-kwallet: for kwallet keyring support on KDE'
    'vlc-plugin-libsecret: for libsecret/gnome-keyring support on Gnome'
    'vlc-plugin-notify: for notification support'
    'vlc-plugins-extra: for extra plugins'
    'vlc-plugins-visualization: for visualization plugins'
  )

  mv -v $pkgname/* "$pkgdir"
}

package_vlc-gui-skins2() {
  pkgdesc+=" - Skins2 GUI"
  depends=(
    bash
    freetype2
    fribidi
    gcc-libs
    glibc
    libvlc libvlccore.so
    libx11
    libxext
    libxinerama
    libxpm
    vlc-cli=$pkgver
    vlc-gui-qt=$pkgver
  )

  mv -v $pkgname/* "$pkgdir"
  # TODO: replace vendored font with TTF variant of gnu-free-fonts
}

package_vlc-plugin-a52dec() {
  pkgdesc+=" - ATSC A/52 (AC-3) plugin"
  depends=(
    a52dec
    glibc
    libvlc libvlccore.so
  )

  mv -v $pkgname/* "$pkgdir"
}

package_vlc-plugin-aalib() {
  pkgdesc+=" - ASCII art video output plugin"
  depends=(
    aalib
    glibc
    libvlc libvlccore.so
    libx11
    vlc-plugins-base
  )

  mv -v $pkgname/* "$pkgdir"
}

package_vlc-plugin-alsa() {
  pkgdesc+=" - ALSA plugins"
  depends=(
    alsa-lib
    glibc
    libvlc libvlccore.so
  )

  mv -v $pkgname/* "$pkgdir"
}

package_vlc-plugin-aom() {
  pkgdesc+=" - AOM AV1 plugin"
  depends=(
    aom
    glibc
    libvlc libvlccore.so
    vlc-plugins-base
  )

  mv -v $pkgname/* "$pkgdir"
}

package_vlc-plugin-archive() {
  pkgdesc+=" - stream extractor plugin"
  depends=(
    glibc
    libarchive
    libvlc libvlccore.so
  )

  mv -v $pkgname/* "$pkgdir"
}

package_vlc-plugin-aribb24() {
  pkgdesc+=" - ARIB STD-B24 plugins"
  depends=(
    aribb24
    glibc
    libvlc libvlccore.so
    vlc-plugins-base
  )

  mv -v $pkgname/* "$pkgdir"
}

package_vlc-plugin-aribb25() {
  pkgdesc+=" - ARIB STD-B25 plugin"
  depends=(
    aribb25
    glibc
    libvlc libvlccore.so
    pcsclite
    vlc-plugins-base
  )

  mv -v $pkgname/* "$pkgdir"
}

package_vlc-plugin-ass() {
  pkgdesc+=" - SSA/ASS subtitle plugin"
  depends=(
    glibc
    libass
    libvlc libvlccore.so
    vlc-plugins-base
  )

  mv -v $pkgname/* "$pkgdir"
}

package_vlc-plugin-avahi() {
  pkgdesc+=" - mDNS/DNS-SD plugin"
  depends=(
    avahi
    glibc
    libvlc libvlccore.so
    vlc-plugins-base
  )

  mv -v $pkgname/* "$pkgdir"
}

package_vlc-plugin-bluray() {
  pkgdesc+=" - Blu-ray plugin"
  depends=(
    glibc
    libbluray
    libvlc libvlccore.so
    vlc-plugins-base
  )

  mv -v $pkgname/* "$pkgdir"
}

package_vlc-plugin-caca() {
  pkgdesc+=" - Color ASCII art video output plugin"
  depends=(
    glibc
    libcaca
    libvlc libvlccore.so
    libx11
    vlc-plugins-base
  )

  mv -v $pkgname/* "$pkgdir"
}

package_vlc-plugin-cddb() {
  pkgdesc+=" - CDDB plugin"
  depends=(
    glibc
    libcddb
    libvlc libvlccore.so
    vlc-plugins-base
  )

  mv -v $pkgname/* "$pkgdir"
}

package_vlc-plugin-chromecast() {
  pkgdesc+=" - Chromecast plugin"
  depends=(
    abseil-cpp
    gcc-libs
    glibc
    libvlc libvlccore.so
    protobuf
    vlc-plugins-base
  )

  mv -v $pkgname/* "$pkgdir"
}

package_vlc-plugin-dav1d() {
  pkgdesc+=" - dav1d AV1 plugin"
  depends=(
    dav1d
    glibc
    libvlc libvlccore.so
  )

  mv -v $pkgname/* "$pkgdir"
}

package_vlc-plugin-dbus() {
  pkgdesc+=" - Dbus plugin"
  depends=(
    dbus
    glibc
    libvlc libvlccore.so
  )

  mv -v $pkgname/* "$pkgdir"
}

package_vlc-plugin-dbus-screensaver() {
  pkgdesc+=" - dbus screensaver plugin"
  depends=(
    dbus
    glibc
    libvlc libvlccore.so
  )

  mv -v $pkgname/* "$pkgdir"
}

package_vlc-plugin-dca() {
  pkgdesc+=" - DTS Coherent Acoustics plugin"
  depends=(
    glibc
    libdca
    libvlc libvlccore.so
    vlc-plugins-base
  )

  mv -v $pkgname/* "$pkgdir"
}

package_vlc-plugin-dvb() {
  pkgdesc+=" - DVB plugins"
  depends=(
    aribb24
    glibc
    libdvbpsi
    libvlc libvlccore.so
    vlc-plugins-base
  )

  mv -v $pkgname/* "$pkgdir"
}

package_vlc-plugin-dvd() {
  pkgdesc+=" - DVD plugins"
  depends=(
    glibc
    libdvdnav
    libdvdread
    libvlc libvlccore.so
    vlc-plugins-base
  )
  optdepends=(
    'libdvdcss: for decoding encrypted DVDs'
  )

  mv -v $pkgname/* "$pkgdir"
}

package_vlc-plugin-faad2() {
  pkgdesc+=" - FAAD2 AAC plugin"
  depends=(
    faad2
    glibc
    libvlc libvlccore.so
  )

  mv -v $pkgname/* "$pkgdir"
}

package_vlc-plugin-ffmpeg() {
  pkgdesc+=" - FFMPEG plugins"
  depends=(
    ffmpeg4.4
    glibc
    libva
    libvlc libvlccore.so
    libx11
    vlc-plugins-base
    vlc-plugins-video-output libvlc_vdpau.so
  )

  mv -v $pkgname/* "$pkgdir"
}

package_vlc-plugin-firewire() {
  pkgdesc+=" - FireWire plugins"
  depends=(
    gcc-libs
    glibc
    libavc1394
    libdc1394
    libraw1394
    libvlc libvlccore.so
    vlc-plugins-base
  )

  mv -v $pkgname/* "$pkgdir"
}

package_vlc-plugin-flac() {
  pkgdesc+=" - FLAC plugin"
  depends=(
    flac
    glibc
    libvlc libvlccore.so
  )

  mv -v $pkgname/* "$pkgdir"
}

package_vlc-plugin-fluidsynth() {
  pkgdesc+=" - FluidSynth plugin"
  depends=(
    fluidsynth
    glibc
    libvlc libvlccore.so
    vlc-plugins-base
  )

  mv -v $pkgname/* "$pkgdir"
}

package_vlc-plugin-freetype() {
  pkgdesc+=" - subtitle and on screen display text rendering support"
  depends=(
    fontconfig
    freetype2
    fribidi
    glibc
    harfbuzz
    libvlc libvlccore.so
    vlc-plugins-base
  )

  mv -v $pkgname/* "$pkgdir"
}

package_vlc-plugin-gme() {
  pkgdesc+=" - Game music emulation plugin"
  depends=(
    glibc
    libgme
    libvlc libvlccore.so
    vlc-plugins-base
  )

  mv -v $pkgname/* "$pkgdir"
}

package_vlc-plugin-gnutls() {
  pkgdesc+=" - GnuTLS plugin"
  depends=(
    glibc
    gnutls
    libvlc libvlccore.so
  )

  mv -v $pkgname/* "$pkgdir"
}

package_vlc-plugin-gstreamer() {
  pkgdesc+=" - GStreamer plugin"
  depends=(
    glib2
    glibc
    gst-plugins-base-libs
    gstreamer
    libvlc libvlccore.so
    vlc-plugins-base
  )

  mv -v $pkgname/* "$pkgdir"
}

package_vlc-plugin-inflate() {
  pkgdesc+=" - inflate plugin"
  depends=(
    glibc
    libvlc libvlccore.so
    zlib
  )

  mv -v $pkgname/* "$pkgdir"
}

package_vlc-plugin-jack() {
  pkgdesc+=" - JACK plugin"
  depends=(
    glibc
    jack libjack.so
    libvlc libvlccore.so
    vlc-plugins-base
  )

  mv -v $pkgname/* "$pkgdir"
}

package_vlc-plugin-journal() {
  pkgdesc+=" - Systemd journal plugin"
  depends=(
    glibc
    libvlc libvlccore.so
    systemd-libs
  )

  mv -v $pkgname/* "$pkgdir"
}

package_vlc-plugin-jpeg() {
  pkgdesc+=" - JPEG plugin"
  depends=(
    glibc
    libjpeg-turbo
    libvlc libvlccore.so
  )

  mv -v $pkgname/* "$pkgdir"
}

package_vlc-plugin-kate() {
  pkgdesc+=" - kate plugin"
  depends=(
    glibc
    libkate
    libtiger
    libvlc libvlccore.so
    vlc-plugins-base
  )

  mv -v $pkgname/* "$pkgdir"
}

package_vlc-plugin-kwallet() {
  pkgdesc+=" - Kwallet keystore plugin"
  depends=(
    dbus
    glibc
    kwallet
    libvlc libvlccore.so
    vlc-plugins-base
  )

  mv -v $pkgname/* "$pkgdir"
}

package_vlc-plugin-libsecret() {
  pkgdesc+=" - libsecret/gnome-keyring plugin"
  depends=(
    glib2
    glibc
    libsecret
    libvlc libvlccore.so
    vlc-plugins-base
  )

  mv -v $pkgname/* "$pkgdir"
}

package_vlc-plugin-lirc() {
  pkgdesc+=" - Infrared remote control plugin"
  depends=(
    glibc
    libvlc libvlccore.so
    lirc
    vlc-plugins-base
  )

  mv -v $pkgname/* "$pkgdir"
}

package_vlc-plugin-live555() {
  pkgdesc+=" - live555 RTP/RSTP client plugin"
  depends=(
    gcc-libs
    glibc
    libvlc libvlccore.so
    live-media
    vlc-plugins-base
  )

  mv -v $pkgname/* "$pkgdir"
}

package_vlc-plugin-lua() {
  pkgdesc+=" - Lua scripting plugins"
  depends=(
    gcc-libs
    glibc
    libvlc libvlccore.so
    lua
    vlc-plugins-base
  )
  optdepends=(
    'lua-socket: for http interface'
  )

  mv -v $pkgname/* "$pkgdir"
}

package_vlc-plugin-mad() {
  pkgdesc+=" - MPEG Audio Decoder plugin"
  depends=(
    glibc
    libmad
    libvlc libvlccore.so
    vlc-plugins-base
  )

  mv -v $pkgname/* "$pkgdir"
}

package_vlc-plugin-matroska() {
  pkgdesc+=" - Matroska plugin"
  depends=(
    gcc-libs
    glibc
    libebml
    libmatroska
    libvlc libvlccore.so
    zlib
    vlc-plugins-base
  )

  mv -v $pkgname/* "$pkgdir"
}

package_vlc-plugin-mdns() {
  pkgdesc+=" - mDNS plugin"
  depends=(
    glibc
    libmicrodns
    libvlc libvlccore.so
    vlc-plugins-base
  )

  mv -v $pkgname/* "$pkgdir"
}

package_vlc-plugin-modplug() {
  pkgdesc+=" - MOD plugin"
  depends=(
    glibc
    libmodplug
    libvlc libvlccore.so
    vlc-plugins-base
  )

  mv -v $pkgname/* "$pkgdir"
}

package_vlc-plugin-mpeg2() {
  pkgdesc+=" - MPEG2 plugin"
  depends=(
    glibc
    libmpeg2
    libvlc libvlccore.so
    vlc-plugins-base
  )

  mv -v $pkgname/* "$pkgdir"
}

package_vlc-plugin-mpg123() {
  pkgdesc+=" - MPG1/2/3 plugin"
  depends=(
    glibc
    mpg123
    libvlc libvlccore.so
  )

  mv -v $pkgname/* "$pkgdir"
}

package_vlc-plugin-mtp() {
  pkgdesc+=" - MTP plugins"
  depends=(
    glibc
    libmtp
    libvlc libvlccore.so
    vlc-plugins-base
  )

  mv -v $pkgname/* "$pkgdir"
}

package_vlc-plugin-musepack() {
  pkgdesc+=" - MusePack plugin"
  depends=(
    glibc
    libmpcdec
    libvlc libvlccore.so
    vlc-plugins-base
  )

  mv -v $pkgname/* "$pkgdir"
}

package_vlc-plugin-nfs() {
  pkgdesc+=" - NFS plugin"
  depends=(
    glibc
    libnfs
    libvlc libvlccore.so
    vlc-plugins-base
  )

  mv -v $pkgname/* "$pkgdir"
}

package_vlc-plugin-notify() {
  pkgdesc+=" - notification plugin"
  depends=(
    gdk-pixbuf2
    glib2
    glibc
    gtk3
    libnotify
    libvlc libvlccore.so
    vlc-plugins-base
  )

  mv -v $pkgname/* "$pkgdir"
}

package_vlc-plugin-ogg() {
  pkgdesc+=" - OGG plugins"
  depends=(
    glibc
    libogg
    libvlc libvlccore.so
    libvorbis
  )

  mv -v $pkgname/* "$pkgdir"
}

package_vlc-plugin-opus() {
  pkgdesc+=" - Opus plugin"
  depends=(
    glibc
    opus
    libvlc libvlccore.so
  )

  mv -v $pkgname/* "$pkgdir"
}

package_vlc-plugin-png() {
  pkgdesc+=" - PNG plugin"
  depends=(
    glibc
    libpng
    libvlc libvlccore.so
  )

  mv -v $pkgname/* "$pkgdir"
}

package_vlc-plugin-pulse() {
  pkgdesc+=" - PulseAudio plugins"
  depends=(
    glibc
    libpulse
    libvlc libvlccore.so
    vlc-plugins-base
  )

  mv -v $pkgname/* "$pkgdir"
}

package_vlc-plugin-quicksync() {
  arch=(x86_64)
  pkgdesc+=" - Intel QuickSync plugin"
  depends=(
    glibc
    libmfx
    libvlc libvlccore.so
    vlc-plugins-base
  )

  mv -v $pkgname/* "$pkgdir"
}

package_vlc-plugin-samplerate() {
  pkgdesc+=" - samplerate plugin"
  depends=(
    glibc
    libsamplerate
    libvlc libvlccore.so
    vlc-plugins-base
  )

  mv -v $pkgname/* "$pkgdir"
}

package_vlc-plugin-sdl() {
  pkgdesc+=" - SDL plugin"
  depends=(
    glibc
    sdl12-compat
    sdl_image
    libvlc libvlccore.so
    vlc-plugins-base
  )

  mv -v $pkgname/* "$pkgdir"
}

package_vlc-plugin-sftp() {
  pkgdesc+=" - SFTP plugin"
  depends=(
    glibc
    libssh2
    libvlc libvlccore.so
    vlc-plugins-base
  )

  mv -v $pkgname/* "$pkgdir"
}

package_vlc-plugin-shout() {
  pkgdesc+=" - shoutcast plugin"
  depends=(
    glibc
    libshout
    libvlc libvlccore.so
  )

  mv -v $pkgname/* "$pkgdir"
}

package_vlc-plugin-smb() {
  pkgdesc+=" - SMB plugin"
  depends=(
    glibc
    smbclient
    libvlc libvlccore.so
    vlc-plugins-base
  )

  mv -v $pkgname/* "$pkgdir"
}

package_vlc-plugin-soxr() {
  pkgdesc+=" - SoX Resampler plugin"
  depends=(
    glibc
    libsoxr
    libvlc libvlccore.so
    vlc-plugins-base
  )

  mv -v $pkgname/* "$pkgdir"
}

package_vlc-plugin-speex() {
  pkgdesc+=" - Speex plugins"
  depends=(
    glibc
    libvlc libvlccore.so
    speex
    speexdsp
  )

  mv -v $pkgname/* "$pkgdir"
}

package_vlc-plugin-srt() {
  pkgdesc+=" - SRT subtitle file support"
  depends=(
    glibc
    libvlc libvlccore.so
    srt
    vlc-plugins-base
  )

  mv -v $pkgname/* "$pkgdir"
}

package_vlc-plugin-svg() {
  pkgdesc+=" - SVG plugins"
  depends=(
    cairo
    glib2
    glibc
    librsvg
    libvlc libvlccore.so
    vlc-plugins-base
  )

  mv -v $pkgname/* "$pkgdir"
}

package_vlc-plugin-tag() {
  pkgdesc+=" - tag plugin"
  depends=(
    gcc-libs
    glibc
    libvlc libvlccore.so
    taglib
  )

  mv -v $pkgname/* "$pkgdir"
}

package_vlc-plugin-theora() {
  pkgdesc+=" - Theora plugins"
  depends=(
    glibc
    libtheora
    libvlc libvlccore.so
  )

  mv -v $pkgname/* "$pkgdir"
}

package_vlc-plugin-twolame() {
  pkgdesc+=" - TwoLAME plugins"
  depends=(
    glibc
    libvlc libvlccore.so
    twolame
  )

  mv -v $pkgname/* "$pkgdir"
}

package_vlc-plugin-udev() {
  pkgdesc+=" - udev plugin"
  depends=(
    alsa-lib
    glibc
    libvlc libvlccore.so
    systemd-libs
    vlc-plugins-base
  )

  mv -v $pkgname/* "$pkgdir"
}

package_vlc-plugin-upnp() {
  pkgdesc+=" - UPnP plugin"
  depends=(
    gcc-libs
    glibc
    libupnp
    libvlc libvlccore.so
    vlc-plugins-base
  )

  mv -v $pkgname/* "$pkgdir"
}

package_vlc-plugin-vorbis() {
  pkgdesc+=" - Vorbis plugin"
  depends=(
    glibc
    libvlc libvlccore.so
    libvorbis
  )

  mv -v $pkgname/* "$pkgdir"
}

package_vlc-plugin-vpx() {
  pkgdesc+=" - VP8 and VP9 plugin"
  depends=(
    glibc
    libvlc libvlccore.so
    libvpx
  )

  mv -v $pkgname/* "$pkgdir"
}

package_vlc-plugin-x264() {
  pkgdesc+=" - H264/AVC encoding"
  depends=(
    glibc
    libvlc libvlccore.so
    vlc-plugins-base
    x264
  )

  mv -v $pkgname/* "$pkgdir"
}

package_vlc-plugin-x265() {
  pkgdesc+=" - H265/HEVC encoding"
  depends=(
    glibc
    libvlc libvlccore.so
    vlc-plugins-base
    x265
  )

  mv -v $pkgname/* "$pkgdir"
}

package_vlc-plugin-xml() {
  pkgdesc+=" - XML plugin"
  depends=(
    glibc
    libvlc libvlccore.so
    libxml2
  )

  mv -v $pkgname/* "$pkgdir"
}

package_vlc-plugin-zvbi() {
  pkgdesc+=" - VBI plugins"
  depends=(
    glibc
    libvlc libvlccore.so
    zvbi
    vlc-plugins-base
  )

  mv -v $pkgname/* "$pkgdir"
}

package_vlc-plugins-all() {
  pkgdesc+=" - all plugins"
  depends=(
    vlc-plugin-ffmpeg
    vlc-plugin-fluidsynth
    vlc-plugin-firewire
    vlc-plugin-gstreamer
    vlc-plugin-jack
    vlc-plugin-kwallet
    vlc-plugin-libsecret
    vlc-plugin-lua
    vlc-plugin-notify
    vlc-plugin-pulse
    vlc-plugin-smb
    vlc-plugin-svg
    vlc-plugin-x264
    vlc-plugin-x265
    vlc-plugins-base
    vlc-plugins-extra
    vlc-plugins-video-output
    vlc-plugins-visualization
  )
}

package_vlc-plugins-base() {
  pkgdesc+=" - base plugins"
  depends=(
    gcc-libs
    glibc
    libvlc libvlccore.so
    vlc-plugin-alsa
    vlc-plugin-a52dec
    vlc-plugin-archive
    vlc-plugin-dav1d
    vlc-plugin-dbus
    vlc-plugin-dbus-screensaver
    vlc-plugin-faad2
    vlc-plugin-flac
    vlc-plugin-gnutls
    vlc-plugin-inflate
    vlc-plugin-jpeg
    vlc-plugin-journal
    vlc-plugin-mpg123
    vlc-plugin-ogg
    vlc-plugin-opus
    vlc-plugin-png
    vlc-plugin-shout
    vlc-plugin-speex
    vlc-plugin-tag
    vlc-plugin-theora
    vlc-plugin-twolame
    vlc-plugin-vorbis
    vlc-plugin-vpx
    vlc-plugin-xml
    zlib
  )

  mv -v $pkgname/* "$pkgdir"
}

package_vlc-plugins-extra() {
  pkgdesc+=" - extra plugins"
  depends=(
    glibc
    libvlc libvlccore.so
    libxcb
    vlc-plugin-aalib
    vlc-plugin-aom
    vlc-plugin-aribb24
    vlc-plugin-aribb25
    vlc-plugin-ass
    vlc-plugin-avahi
    vlc-plugin-bluray
    vlc-plugin-caca
    vlc-plugin-cddb
    vlc-plugin-chromecast
    vlc-plugin-dca
    vlc-plugin-dvb
    vlc-plugin-dvd
    vlc-plugin-freetype
    vlc-plugin-gme
    vlc-plugin-kate
    vlc-plugin-lirc
    vlc-plugin-live555
    vlc-plugin-mad
    vlc-plugin-matroska
    vlc-plugin-mdns
    vlc-plugin-modplug
    vlc-plugin-mpeg2
    vlc-plugin-mtp
    vlc-plugin-musepack
    vlc-plugin-nfs
    vlc-plugin-samplerate
    vlc-plugin-sdl
    vlc-plugin-sftp
    vlc-plugin-soxr
    vlc-plugin-srt
    vlc-plugin-udev
    vlc-plugin-upnp
    vlc-plugin-zvbi
    vlc-plugins-base
  )
  depends_x86_64+=(
    vlc-plugin-quicksync
  )

  mv -v $pkgname/* "$pkgdir"
}

package_vlc-plugins-video-output() {
  pkgdesc+=" - video output plugins"
  depends=(
    gcc-libs
    glibc
    libglvnd
    libva
    libvlc libvlccore.so
    libx11
    libxcb
    wayland
    xcb-util-keysyms
  )
  provides=(
    libvlc_xcb_events.so
    libvlc_vdpau.so
  )
  optdepends=(
    'libva-intel-driver: for Intel VA-API drivers'
    'libva-mesa-driver: for open-source VA-API drivers'
  )

  mv -v $pkgname/* "$pkgdir"
}

package_vlc-plugins-visualization() {
  pkgdesc+=" - visualization plugins"
  depends=(
    gcc-libs
    glibc
    libglvnd
    libgoom2
    libvlc libvlccore.so
    projectm
    ttf-dejavu
  )

  mv -v $pkgname/* "$pkgdir"
}

# vim: ts=2 sw=2 et:
