summaryrefslogtreecommitdiff
path: root/libre/gst-plugins-bad/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'libre/gst-plugins-bad/PKGBUILD')
-rw-r--r--libre/gst-plugins-bad/PKGBUILD127
1 files changed, 85 insertions, 42 deletions
diff --git a/libre/gst-plugins-bad/PKGBUILD b/libre/gst-plugins-bad/PKGBUILD
index 98b8299e2..08a57a2f0 100644
--- a/libre/gst-plugins-bad/PKGBUILD
+++ b/libre/gst-plugins-bad/PKGBUILD
@@ -1,43 +1,47 @@
-# Maintainer (Arch): Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
+# 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 failing check() function (Failed to start up HTTP server)
-
+# * 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)
-pkgver=1.16.2
-pkgrel=10
+pkgname=(gst-plugins-bad-libs gst-plugins-bad gst-plugin-opencv gst-plugin-wpe)
+pkgver=1.18.3
+pkgrel=2
pkgrel+=.parabola1
-pkgdesc="GStreamer Multimedia Framework Bad Plugins, without nonfree faac support"
+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)
+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 gtk-doc git
+ librsvg fluidsynth lilv lv2 gst-plugins-good python git
gobject-introspection vulkan-headers vulkan-validation-layers
- wayland-protocols gtk3 meson)
-replaces=("${pkgbase}-libre" "${pkgbase}-parabola")
-conflicts=("${pkgbase}-libre" "${pkgbase}-parabola")
+ wayland-protocols gtk3 meson shaderc libavtp libmicrodns
+ zxing-cpp opencv libva wpewebkit)
+makedepends_x86_64=(svt-hevc)
+checkdepends=(xorg-server-xvfb)
options=(!emptydirs)
-_commit=a6f26408f74a60d02ce6b4f0daee392ce847055f # tags/1.16.2^0
-source=("git+https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad.git#commit=$_commit"
- 0001-vulkan-Drop-use-of-VK_RESULT_BEGIN_RANGE.patch)
-sha256sums=('SKIP'
- '0c6c51a371d8f381a2190280913cc41e06c17c25dbb1167043072003b3f0d338')
+_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
@@ -47,61 +51,84 @@ pkgver() {
prepare() {
cd $pkgbase
- # Fix build with neon 0.31
- git cherry-pick -n f10b424418e448211e3427a76fcd046e157ef0b7
-
- # Fix build with vulkan-headers 1.2.140
- git apply -3 ../0001-vulkan-Drop-use-of-VK_RESULT_BEGIN_RANGE.patch
-
- # Fix build with GCC 10
- git cherry-pick -n a0cd455dd0e0375c6395fe732173225ea7e18562
+ if [ "$CARCH" = armv7h ]; then
+ git cherry-pick -n 3ea6387f969c0b08027fc959b8b8cd102708bceb # Fix svthevcenc test
+ git cherry-pick -n 77f28ee3e71d1c5bd8278967963b08b226515dd1 # opencv 4.5
+ fi
}
build() {
- arch-meson $pkgbase 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 nvdec=disabled \
- -D nvenc=disabled \
- -D opencv=disabled \
-D openh264=disabled \
-D openmpt=disabled \
-D openni2=disabled \
-D opensles=disabled \
- -D sctp=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 glib-asserts=disabled \
- -D glib-checks=disabled \
-D package-name="GStreamer Bad Plugins (Parabola GNU/Linux-libre)" \
-D package-origin="https://www.parabola.nu/"
- ninja -C build
+ 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/libraries}"
+ 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 dashdemux 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 smoothstreaming sndfile soundtouch spandsp \
- srt srtp teletext ttmlsubs vulkan waylandsink webp webrtc \
- webrtcdsp wildmidi x265 zbar; do
+ 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() {
@@ -112,7 +139,23 @@ package_gst-plugins-bad() {
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)
+ 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"
+}