123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162 |
- # Maintainer (Arch): Jan Alexander Steffens (heftig) <heftig@archlinux.org>
- # Contributor (Arch): Jan de Groot <jgc@archlinux.org>
- # Maintainer: Omar Vega Ramos <ovruni@gnu.org.pe>
- # Contributor: Isaac David <isacdaavid@at@isacdaavid@dot@info>
- # Contributor: Márcio Silva <coadde@hyperbola.info>
- # Contributor: bill-auger <bill-auger@programmer.net>
- # Contributor: David P. <megver83@parabola.nu>
- # 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"
- }
|