# Maintainer (Arch): Jan Alexander Steffens (heftig) # Contributor (Arch): Jan de Groot # Maintainer: Omar Vega Ramos # Contributor: Isaac David # Contributor: Márcio Silva # Contributor: bill-auger # Contributor: David P. # parabola changes and rationale # * removed support for non-free faac codec # * removed nvidia-utils from optdepends # * adapt pkgdesc variable substitutions in package() functions # * remove makedepend and package depend on svt-hevc (i686 and armv7h) # * meson with -D svthevcenc=disabled (i686 and armv7h) pkgbase=gst-plugins-bad pkgname=(gst-plugins-bad-libs gst-plugins-bad gst-plugin-opencv gst-plugin-wpe) pkgver=1.18.3 pkgrel=2 pkgrel+=.parabola1 pkgdesc="Multimedia graph framework - bad plugins" pkgdesc+=", without nonfree faac support" url="https://gstreamer.freedesktop.org/" arch=(x86_64) arch+=(i686 armv7h) license=(LGPL) depends=(gst-plugins-base-libs orc libdrm libx11 libgudev libusb libvdpau libxkbcommon-x11) makedepends=(mjpegtools curl chromaprint libmms faad2 libdca libdvdnav libmodplug libgme nettle libkate wayland libofa openjpeg2 libwebp libsrtp sbc rtmpdump libexif libdvdread wildmidi ladspa openal vulkan-icd-loader libfdk-aac soundtouch spandsp neon webrtc-audio-processing libdc1394 libmpcdec zvbi openexr libbs2b libnice lcms2 bluez-libs glu srt aom x265 liblrdf libde265 zbar librsvg fluidsynth lilv lv2 gst-plugins-good python git gobject-introspection vulkan-headers vulkan-validation-layers wayland-protocols gtk3 meson shaderc libavtp libmicrodns zxing-cpp opencv libva wpewebkit) makedepends_x86_64=(svt-hevc) checkdepends=(xorg-server-xvfb) options=(!emptydirs) _commit=382e373d9be363f1e21b12990a4d12f1ecb6df41 # tags/1.18.3^0 source=("git+https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad.git#commit=$_commit") sha256sums=('SKIP') pkgver() { cd $pkgbase git describe --tags | sed 's/-/+/g' } prepare() { cd $pkgbase if [ "$CARCH" = armv7h ]; then git cherry-pick -n 3ea6387f969c0b08027fc959b8b8cd102708bceb # Fix svthevcenc test git cherry-pick -n 77f28ee3e71d1c5bd8278967963b08b226515dd1 # opencv 4.5 fi } build() { if ! [ "$CARCH" = x86_64 ]; then disable_svthevc='-D svthevcenc=disabled' fi arch-meson $pkgbase build $disable_svthevc \ -D directfb=disabled \ -D faac=disabled \ -D doc=disabled \ -D flite=disabled \ -D gsm=disabled \ -D iqa=disabled \ -D magicleap=disabled \ -D msdk=disabled \ -D openh264=disabled \ -D openmpt=disabled \ -D openni2=disabled \ -D opensles=disabled \ -D tinyalsa=disabled \ -D voaacenc=disabled \ -D voamrwbenc=disabled \ -D wasapi2=disabled \ -D wasapi=disabled \ -D gobject-cast-checks=disabled \ -D package-name="GStreamer Bad Plugins (Parabola GNU/Linux-libre)" \ -D package-origin="https://www.parabola.nu/" meson compile -C build } check() ( mkdir -p -m 700 "${XDG_RUNTIME_DIR:=$PWD/runtime-dir}" export XDG_RUNTIME_DIR # elements_dtls test hangs sometimes xvfb-run -s '-screen 0 1920x1080x24 -nolisten local +iglx -noreset' \ meson test -C build --print-errorlogs || : ) package_gst-plugins-bad-libs() { pkgdesc="${pkgdesc/ plugins}" provides=("gst-transcoder=$pkgver") conflicts=("gst-transcoder<1.18.0") replaces=("gst-transcoder<1.18.0") if [ "$CARCH" = x86_64 ]; then enable_svthevc=svthevcenc fi DESTDIR="$pkgdir" meson install -C build mkdir -p ext/lib/gstreamer-1.0 for _x in aom assrender bs2b bz2 chromaprint closedcaption colormanagement \ curl dc1394 de265 dtls dtsdec faad fdkaac fluidsynthmidi gme \ hls kate ladspa lv2 mms modplug mpeg2enc mplex musepack \ neonhttpsrc ofa openal openexr openjpeg opusparse resindvd rsvg \ rtmp sbc sctp smoothstreaming sndfile soundtouch spandsp srt srtp \ teletext ttmlsubs vulkan waylandsink webp webrtc webrtcdsp \ wildmidi x265 zbar va "$enable_svthevc" avtp zxing microdns; do _x="lib/gstreamer-1.0/libgst${_x}.so" mv "$pkgdir/usr/$_x" "ext/$_x" done mkdir -p opencv/{lib,include/gstreamer-1.0/gst} mv -t opencv/lib "$pkgdir"/usr/lib/*opencv* mv -t opencv/include/gstreamer-1.0/gst \ "$pkgdir"/usr/include/gstreamer-1.0/gst/opencv for _x in opencv wpe; do mkdir -p "$_x/lib/gstreamer-1.0" _f="lib/gstreamer-1.0/libgst${_x}.so" mv "$pkgdir/usr/$_f" "$_x/$_f" done } package_gst-plugins-bad() { depends=("gst-plugins-bad-libs=$pkgver" gst-plugins-good aom libass libbs2b bzip2 chromaprint pango lcms2 curl libxml2 libdc1394 libde265 openssl libdca faad2 libfdk-aac fluidsynth libgme nettle libkate liblrdf lilv libmms libmodplug mjpegtools libmpcdec neon libofa openal openexr openjpeg2 opus libdvdnav libdvdread librsvg rtmpdump sbc libsndfile soundtouch spandsp srt libsrtp zvbi vulkan-icd-loader libxcb wayland libwebp libnice webrtc-audio-processing wildmidi x265 zbar libavtp libmicrodns zxing-cpp libva) depends_x86_64=(svt-hevc) mv ext "$pkgdir/usr" } package_gst-plugin-opencv() { pkgdesc="${pkgdesc/bad plugins/opencv plugin}" depends=(gst-plugins-base-libs opencv) mv opencv "$pkgdir/usr" } package_gst-plugin-wpe() { pkgdesc="${pkgdesc/bad plugins/wpe plugin}" depends=(gst-plugins-base-libs wpewebkit) mv wpe "$pkgdir/usr" }