# Maintainer: Jan Alexander Steffens (heftig) # Contributor: Jan de Groot # ALARM: Kevin Mihelich # - remove makedepend and package depend on svt-hevc # - meson with -D svthevcenc=disabled pkgbase=gst-plugins-bad pkgname=(gst-plugins-bad-libs gst-plugins-bad gst-plugin-opencv) pkgver=1.18.0+54+gbd3532008 pkgrel=1 pkgdesc="Multimedia graph framework - bad plugins" url="https://gstreamer.freedesktop.org/" arch=(x86_64) 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 faac 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) checkdepends=(xorg-server-xvfb) options=(!emptydirs) _commit=bd3532008f2a12377c2d5b56e93cbfa53e1979cf # 1.18 source=("git+https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad.git#commit=$_commit" 0001-opencv-allow-compilation-against-4.5.x.patch) sha256sums=('SKIP' 'b310123298a4de09033c84b6e2a1ec01c7122320cddc3bff655c42c56d21d064') pkgver() { cd $pkgbase git describe --tags | sed 's/-/+/g' } prepare() { cd $pkgbase git cherry-pick -n 3ea6387f969c0b08027fc959b8b8cd102708bceb # Fix svthevcenc test git apply -3 ../0001-opencv-allow-compilation-against-4.5.x.patch } build() { arch-meson $pkgbase build \ -D directfb=disabled \ -D doc=disabled \ -D flite=disabled \ -D gsm=disabled \ -D iqa=disabled \ -D magicleap=disabled \ -D msdk=disabled \ -D nvdec=disabled \ -D nvenc=disabled \ -D openh264=disabled \ -D openmpt=disabled \ -D openni2=disabled \ -D opensles=disabled \ -D svthevcenc=disabled \ -D tinyalsa=disabled \ -D voaacenc=disabled \ -D voamrwbenc=disabled \ -D wasapi2=disabled \ -D wasapi=disabled \ -D wpe=disabled \ -D gobject-cast-checks=disabled \ -D package-name="GStreamer Bad Plugins (Arch Linux)" \ -D package-origin="https://www.archlinux.org/" 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") 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 faac 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 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; 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 faac 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) mv ext "$pkgdir/usr" } package_gst-plugin-opencv() { pkgdesc="${pkgdesc%-*}- opencv plugin" depends=(gst-plugins-base-libs opencv) mv opencv "$pkgdir/usr" }