mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2024-11-18 22:54:00 +00:00
148 lines
5 KiB
Bash
148 lines
5 KiB
Bash
# Maintainer: Jan Alexander Steffens (heftig) <heftig@archlinux.org>
|
|
# Contributor: Jan de Groot <jgc@archlinux.org>
|
|
|
|
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
|
|
# - 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 gst-plugin-wpe)
|
|
pkgver=1.18.5
|
|
pkgrel=5
|
|
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 wpewebkit)
|
|
checkdepends=(xorg-server-xvfb)
|
|
options=(!emptydirs)
|
|
_commit=d3af58d5b31941caa26c3ded85d7a7b84a91f0cc # tags/1.18.5^0
|
|
source=("git+https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad.git#commit=$_commit"
|
|
1267.patch wpe-1.1.diff)
|
|
sha256sums=('SKIP'
|
|
'6b44a256d1ce3ed788d689a9abc5d8a2c4f992ce3c6c60f7a1efb4aa5cc3deb1'
|
|
'841988d7dffaf98adeff046cfeed97505a66d268c156361ac29c2b7a112cf984')
|
|
|
|
pkgver() {
|
|
cd $pkgbase
|
|
git describe --tags | sed 's/-/+/g'
|
|
}
|
|
|
|
prepare() {
|
|
cd $pkgbase
|
|
|
|
# zxing-cpp 1.1.1
|
|
git cherry-pick -n 451c875d40a92ade05389cb62ef885eefd29be4a
|
|
|
|
# Neon 0.32.x
|
|
# https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1267
|
|
patch -Np3 -i ../1267.patch
|
|
|
|
# wpe-webkit-1.1 (libsoup3)
|
|
patch -Np1 -i ../wpe-1.1.diff
|
|
}
|
|
|
|
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 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 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
|
|
|
|
xvfb-run -s '-nolisten local' \
|
|
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")
|
|
|
|
meson install -C build --destdir "$pkgdir"
|
|
|
|
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 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 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)
|
|
optdepends=('nvidia-utils: nvcodec plugin')
|
|
|
|
mv ext "$pkgdir/usr"
|
|
}
|
|
|
|
package_gst-plugin-opencv() {
|
|
pkgdesc="${pkgdesc%-*}- opencv plugin"
|
|
depends=(gst-plugins-base-libs opencv)
|
|
|
|
mv opencv "$pkgdir/usr"
|
|
}
|
|
|
|
package_gst-plugin-wpe() {
|
|
pkgdesc="${pkgdesc%-*}- wpe plugin"
|
|
depends=(gst-plugins-base-libs wpewebkit)
|
|
|
|
mv wpe "$pkgdir/usr"
|
|
}
|