extra/gstreamer to 1.20.0-1

This commit is contained in:
Kevin Mihelich 2022-02-10 02:14:20 +00:00
parent d183ca7f69
commit 60d4ff6f2b
3 changed files with 862 additions and 25 deletions

View File

@ -0,0 +1,76 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: "Jan Alexander Steffens (heftig)" <jan.steffens@ltnglobal.com>
Date: Mon, 7 Feb 2022 22:44:30 +0100
Subject: [PATCH] openaptx: Support libfreeaptx
[libfreeaptx][1] is a fork of libopenapt 0.2.0, used by pipewire.
[1]: https://github.com/iamthehorker/libfreeaptx
---
.../gst-plugins-bad/ext/openaptx/gstopenaptxdec.h | 4 ++++
.../gst-plugins-bad/ext/openaptx/gstopenaptxenc.h | 4 ++++
.../gst-plugins-bad/ext/openaptx/meson.build | 15 +++++++++++++--
3 files changed, 21 insertions(+), 2 deletions(-)
diff --git a/subprojects/gst-plugins-bad/ext/openaptx/gstopenaptxdec.h b/subprojects/gst-plugins-bad/ext/openaptx/gstopenaptxdec.h
index 95b126c57ecb..081b194fb542 100644
--- a/subprojects/gst-plugins-bad/ext/openaptx/gstopenaptxdec.h
+++ b/subprojects/gst-plugins-bad/ext/openaptx/gstopenaptxdec.h
@@ -24,7 +24,11 @@
#include <gst/gst.h>
#include <gst/audio/audio.h>
+#ifdef USE_FREEAPTX
+#include <freeaptx.h>
+#else
#include <openaptx.h>
+#endif
G_BEGIN_DECLS
diff --git a/subprojects/gst-plugins-bad/ext/openaptx/gstopenaptxenc.h b/subprojects/gst-plugins-bad/ext/openaptx/gstopenaptxenc.h
index ab80b61b7c94..4cf7e17b93af 100644
--- a/subprojects/gst-plugins-bad/ext/openaptx/gstopenaptxenc.h
+++ b/subprojects/gst-plugins-bad/ext/openaptx/gstopenaptxenc.h
@@ -24,7 +24,11 @@
#include <gst/gst.h>
#include <gst/audio/audio.h>
+#ifdef USE_FREEAPTX
+#include <freeaptx.h>
+#else
#include <openaptx.h>
+#endif
G_BEGIN_DECLS
diff --git a/subprojects/gst-plugins-bad/ext/openaptx/meson.build b/subprojects/gst-plugins-bad/ext/openaptx/meson.build
index e361ef3b6c59..4db8fdbb1564 100644
--- a/subprojects/gst-plugins-bad/ext/openaptx/meson.build
+++ b/subprojects/gst-plugins-bad/ext/openaptx/meson.build
@@ -4,12 +4,23 @@ openaptx_sources = [
'gstopenaptxenc.c',
]
-openaptx_dep = dependency('libopenaptx', version : '== 0.2.0', required : get_option('openaptx'))
+if not get_option('openaptx').allowed()
+ subdir_done()
+endif
+
+openaptx_defines = []
+
+openaptx_dep = dependency('libfreeaptx', version : '>= 0.1.1', required : false)
+if openaptx_dep.found()
+ openaptx_defines += ['-DUSE_FREEAPTX']
+else
+ openaptx_dep = dependency('libopenaptx', version : '== 0.2.0', required : get_option('openaptx'))
+endif
if openaptx_dep.found()
gstopenaptx = library('gstopenaptx',
openaptx_sources,
- c_args : gst_plugins_bad_args,
+ c_args : gst_plugins_bad_args + openaptx_defines,
include_directories : [configinc],
dependencies : [gstaudio_dep, openaptx_dep],
install : true,

View File

@ -0,0 +1,69 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: "Jan Alexander Steffens (heftig)" <jan.steffens@ltnglobal.com>
Date: Mon, 7 Feb 2022 22:48:29 +0100
Subject: [PATCH] wpe: Clean up build script
Use feature.require to check for gstgl and exit early if 'wpe' is
disabled (don't even check for wpe-webkit-1.1).
---
.../gst-plugins-bad/ext/wpe/meson.build | 29 ++++++++++---------
1 file changed, 16 insertions(+), 13 deletions(-)
diff --git a/subprojects/gst-plugins-bad/ext/wpe/meson.build b/subprojects/gst-plugins-bad/ext/wpe/meson.build
index 7637cb29f318..7d7edcfdf4a9 100644
--- a/subprojects/gst-plugins-bad/ext/wpe/meson.build
+++ b/subprojects/gst-plugins-bad/ext/wpe/meson.build
@@ -1,37 +1,40 @@
+wpe_feat = get_option('wpe').require(gstgl_dep.found(),
+ error_message : 'wpe plugin enabled but GL support was not detected')
-if not gstgl_dep.found()
- if get_option('wpe').enabled()
- error('wpe plugin enabled but GL support was not detected')
- endif
+if not wpe_feat.allowed()
subdir_done()
endif
wpe_dep = dependency('wpe-webkit-1.1', version : '>= 2.28', required : false)
if not wpe_dep.found()
- wpe_dep = dependency('wpe-webkit-1.0', version : '>= 2.28', required : get_option('wpe'))
+ wpe_dep = dependency('wpe-webkit-1.0', version : '>= 2.28', required : wpe_feat)
endif
-wpe_fdo_dep = dependency('wpebackend-fdo-1.0', version : '>= 1.8', required : get_option('wpe'))
-egl_dep = dependency('egl', required : get_option('wpe'))
-xkbcommon_dep = dependency('xkbcommon', version : '>= 0.8', required : get_option('wpe'))
-wl_server_dep = dependency('wayland-server', required : get_option('wpe'))
+wpe_fdo_dep = dependency('wpebackend-fdo-1.0', version : '>= 1.8', required : wpe_feat)
+egl_dep = dependency('egl', required : wpe_feat)
+xkbcommon_dep = dependency('xkbcommon', version : '>= 0.8', required : wpe_feat)
+wl_server_dep = dependency('wayland-server', required : wpe_feat)
-if not wpe_dep.found() or not wpe_fdo_dep.found() or not egl_dep.found() or not xkbcommon_dep.found()
+if not (wpe_dep.found() and wpe_fdo_dep.found() and egl_dep.found() and xkbcommon_dep.found())
subdir_done()
endif
+giounix_dep = dependency('gio-unix-2.0', required: false)
+
wpe_extension_install_dir = get_option('prefix') / get_option('libdir') / meson.project_name() / 'wpe-extension'
-giounix_dep = dependency('gio-unix-2.0', required: false)
gstwpe = library('gstwpe',
['WPEThreadedView.cpp', 'gstwpe.cpp', 'gstwpevideosrc.cpp', 'gstwpesrcbin.cpp'],
- dependencies : [egl_dep, wpe_dep, wpe_fdo_dep, gstallocators_dep, gstaudio_dep, gstvideo_dep, gstbase_dep, gstgl_dep, xkbcommon_dep, wl_server_dep, giounix_dep],
- cpp_args : gst_plugins_bad_args + ['-DHAVE_CONFIG_H=1', '-DWPE_EXTENSION_INSTALL_DIR=' + wpe_extension_install_dir],
+ dependencies : [egl_dep, wpe_dep, wpe_fdo_dep, gstallocators_dep, gstaudio_dep, gstvideo_dep,
+ gstbase_dep, gstgl_dep, xkbcommon_dep, wl_server_dep, giounix_dep],
+ cpp_args : gst_plugins_bad_args + ['-DHAVE_CONFIG_H=1',
+ '-DWPE_EXTENSION_INSTALL_DIR=' + wpe_extension_install_dir],
include_directories : [configinc],
install : true,
install_dir : plugins_install_dir)
if giounix_dep.found()
subdir('wpe-extension')
endif
+
pkgconfig.generate(gstwpe, install_dir : plugins_pkgconfig_install_dir)
plugins += [gstwpe]

View File

@ -1,47 +1,739 @@
# Maintainer: Jan Alexander Steffens (heftig) <heftig@archlinux.org>
# Contributor: Jan de Groot <jgc@archlinux.org>
# ALARM: Kevin Mihelich
# - remove valgrind makedepend
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
# - removed makedepend and gst-plugins-bad depend on svt-hevc
# - removed libgstsvthevcenc.so from gst-plugins-bad install list
# - meson with -D gst-plugins-bad:svthevcenc=disabled
# - removed gst-plug-msdk package, meson with -D gst-plugins-bad:msdk=disabled
# - !distcc - build is failing with distcc
pkgname=gstreamer
pkgver=1.18.5
pkgbase=gstreamer
pkgname=(
gstreamer
gst-plugins-bad-libs # Split badaudio first
gst-plugins-base-libs
gst-plugins-base
gst-plugins-good
gst-plugins-bad
gst-plugin-gtk
gst-plugin-opencv
gst-plugin-qmlgl
gst-plugin-va
gst-plugin-wpe
gst-plugins-ugly
gst-libav
gst-rtsp-server
gst-editing-services
gstreamer-vaapi
gst-python
gstreamer-docs
)
pkgver=1.20.0
pkgrel=1
pkgdesc="Multimedia graph framework - core"
pkgdesc="Multimedia graph framework"
url="https://gstreamer.freedesktop.org/"
arch=(x86_64)
license=(LGPL)
depends=(libxml2 glib2 libunwind libcap libelf python)
makedepends=(gobject-introspection git bash-completion meson gmp gsl gtk3)
_commit=71c213f99ad5c8fc8f36a26238483f2bdf7d846a # tags/1.18.5^0
install=gstreamer.install
source=("git+https://gitlab.freedesktop.org/gstreamer/gstreamer.git#commit=$_commit")
sha256sums=('SKIP')
options=(!distcc)
makedepends=(
# superproject
git meson
# gstreamer
valgrind libunwind gobject-introspection bash-completion gtk3 libcap python
# gst-plugins-base
cdparanoia graphene libvisual opus libtheora libxv sdl2 qt5-base qt5-tools
zlib libglvnd wayland wayland-protocols libx11 libgudev libdrm mesa orc
# gst-plugins-good
nasm v4l-utils aalib flac jack2 lame libcaca libdv mpg123 libraw1394
libavc1394 libiec61883 qt5-declarative qt5-x11extras qt5-wayland libpulse
libshout taglib twolame libvpx wavpack cairo libsoup3
# gst-plugins-bad
opencv vulkan-icd-loader vulkan-headers vulkan-validation-layers shaderc
libltc bluez-libs libavtp libbs2b bzip2 chromaprint libdca faac faad2
libfdk-aac fluidsynth libgme libkate liblrdf ladspa libde265 lilv lv2
libmicrodns mjpegtools libmpcdec neon openal libdvdnav rtmpdump sbc soundtouch
spandsp libsrtp zvbi libnice webrtc-audio-processing wildmidi
zxing-cpp zbar nettle libxml2 gsm libopenmpt wpewebkit libldac libfreeaptx
qrencode json-glib libva libxkbcommon-x11
# gst-plugins-ugly
a52dec opencore-amr libcdio libdvdread libmpeg2 libsidplay x264
# gst-libav
ffmpeg
# gstreamer-vaapi
libxrandr
# gst-python
python-gobject
)
checkdepends=(xorg-server-xvfb)
source=(
"git+https://gitlab.freedesktop.org/gstreamer/gstreamer.git?signed#tag=$pkgver"
"https://gstreamer.freedesktop.org/src/gstreamer-docs/gstreamer-docs-$pkgver.tar.xz"{,.asc}
0001-openaptx-Support-libfreeaptx.patch
0002-wpe-Clean-up-build-script.patch
)
sha256sums=('SKIP'
'8c0cdf6faf99bb7ed9d54d5ea1bb31bfb58dcce77cbf7e17e54ca5d7c64ceb62'
'SKIP'
'dafd73f4264a027b207b2907d54f89f5c5731eab3f4806843878f29504f39b03'
'bbb07e1e21d385b40a69a0f2ae70ca07ccb41adfa1d35d9648e2e16df7d6d59e')
validpgpkeys=(D637032E45B8C6585B9456565D2EEE6F6F349D7C) # Tim Müller <tim@gstreamer-foundation.org>
pkgver() {
cd $pkgname
git describe --tags | sed 's/-/+/g'
cd gstreamer
git describe --tags | sed 's/[^-]*-g/r&/;s/-/+/g'
}
prepare() {
cd $pkgname
cd gstreamer
# Build fixes
git apply -3 ../0001-openaptx-Support-libfreeaptx.patch
git apply -3 ../0002-wpe-Clean-up-build-script.patch
# Fix linking with system orc
sed -i "s/get_option('orc')/false/" meson.build
# Disable broken tests
sed -i "/subdir('tests')/d" subprojects/{gst-editing-services,gstreamer-vaapi}/meson.build
sed -i "/subdir('testsuite')/d" subprojects/gst-python/meson.build
sed -i "/'gst\/rtspserver'/d" subprojects/gst-rtsp-server/tests/check/meson.build
# Workaround broken detection of underscore prefixes
# https://github.com/mesonbuild/meson/issues/5482
sed -i 's/-DPREFIX/-UPREFIX/' subprojects/gst-plugins-good/gst/deinterlace/meson.build
}
build() {
arch-meson $pkgname build \
-D doc=disabled \
-D ptp-helper-permissions=capabilities \
-D dbghelp=disabled \
-D gobject-cast-checks=disabled \
-D package-name="GStreamer (Arch Linux)" \
-D package-origin="https://www.archlinux.org/"
local meson_options=(
-D devtools=disabled
-D doc=disabled
-D examples=disabled
-D gpl=enabled
-D gst-examples=disabled
-D libnice=disabled
-D vaapi=enabled
-D gstreamer:dbghelp=disabled
-D gstreamer:gobject-cast-checks=disabled
-D gstreamer:package-name="Arch Linux gstreamer $pkgver-$pkgrel"
-D gstreamer:package-origin="https://www.archlinux.org/"
-D gstreamer:ptp-helper-permissions=capabilities
-D gst-plugins-base:gobject-cast-checks=disabled
-D gst-plugins-base:package-name="Arch Linux gst-plugins-base $pkgver-$pkgrel"
-D gst-plugins-base:package-origin="https://www.archlinux.org/"
-D gst-plugins-base:tremor=disabled
-D gst-plugins-good:gobject-cast-checks=disabled
-D gst-plugins-good:package-name="Arch Linux gst-plugins-good $pkgver-$pkgrel"
-D gst-plugins-good:package-origin="https://www.archlinux.org/"
-D gst-plugins-good:rpicamsrc=disabled
-D gst-plugins-bad:directfb=disabled
-D gst-plugins-bad:flite=disabled
-D gst-plugins-bad:gobject-cast-checks=disabled
-D gst-plugins-bad:gs=disabled
-D gst-plugins-bad:iqa=disabled
-D gst-plugins-bad:isac=disabled
-D gst-plugins-bad:magicleap=disabled
-D gst-plugins-bad:msdk=disabled
-D gst-plugins-bad:onnx=disabled
-D gst-plugins-bad:openh264=disabled
-D gst-plugins-bad:openni2=disabled
-D gst-plugins-bad:opensles=disabled
-D gst-plugins-bad:package-name="Arch Linux gst-plugins-bad $pkgver-$pkgrel"
-D gst-plugins-bad:package-origin="https://www.archlinux.org/"
-D gst-plugins-bad:svthevcenc=disabled
-D gst-plugins-bad:tinyalsa=disabled
-D gst-plugins-bad:voaacenc=disabled
-D gst-plugins-bad:voamrwbenc=disabled
-D gst-plugins-bad:wasapi2=disabled
-D gst-plugins-bad:wasapi=disabled
-D gst-plugins-ugly:gobject-cast-checks=disabled
-D gst-plugins-ugly:package-name="Arch Linux gst-plugins-ugly $pkgver-$pkgrel"
-D gst-plugins-ugly:package-origin="https://www.archlinux.org/"
-D gst-libav:package-name="Arch Linux gst-libav $pkgver-$pkgrel"
-D gst-libav:package-origin="https://www.archlinux.org/"
-D gst-rtsp-server:gobject-cast-checks=disabled
-D gst-rtsp-server:package-name="Arch Linux gst-rtsp-server $pkgver-$pkgrel"
-D gst-rtsp-server:package-origin="https://www.archlinux.org/"
-D gst-editing-services:validate=disabled
-D gstreamer-vaapi:package-origin="https://www.archlinux.org/"
)
arch-meson gstreamer build "${meson_options[@]}"
meson compile -C build
}
check() {
meson test -C build --print-errorlogs
check() (
mkdir -p -m 700 "${XDG_RUNTIME_DIR:=$PWD/runtime-dir}"
export XDG_RUNTIME_DIR
# Flaky due to timeouts
xvfb-run -s '-nolisten local' \
meson test -C build --print-errorlogs || :
)
_install() {
local src dir
for src in "${files[@]}"; do
dir="$pkgdir/$(dirname "$src")"
mkdir -p "$dir"
mv -v "$src" "$dir"
done
}
package() {
meson install -C build --destdir "$pkgdir"
package_gstreamer() {
pkgdesc+=" - core"
depends=(libxml2 glib2 libunwind libcap libelf)
optdepends=('python: gst-plugins-doc-cache-generator')
install=gstreamer.install
DESTDIR="$srcdir/root" meson install -C build
cd root; local files=(
usr/include/gstreamer-1.0/gst/{base,check,controller,net,*.h}
usr/lib/libgst{reamer,base,check,controller,net}-1.0.so*
usr/lib/pkgconfig/gstreamer{,-base,-check,-controller,-net}-1.0.pc
usr/lib/girepository-1.0/Gst{,Base,Check,Controller,Net}-1.0.typelib
usr/share/gir-1.0/Gst{,Base,Check,Controller,Net}-1.0.gir
usr/lib/gstreamer-1.0/gst-{completion,ptp}-helper
usr/lib/gstreamer-1.0/gst-{hotdoc-plugins,plugin}-scanner
usr/lib/gstreamer-1.0/gst-plugins-doc-cache-generator
usr/lib/gstreamer-1.0/libgstcoreelements.so
usr/lib/gstreamer-1.0/libgstcoretracers.so
usr/share/locale/*/LC_MESSAGES/gstreamer-1.0.mo
usr/bin/gst-{inspect,launch,stats,tester,typefind}-1.0
usr/share/man/man1/gst-{inspect,launch,stats,typefind}-1.0.1
usr/share/bash-completion/completions/gst-{inspect,launch}-1.0
usr/share/bash-completion/helpers/gst
usr/share/gdb/auto-load/usr/lib/libgstreamer-1.0.so*.py
usr/share/gstreamer-1.0/gdb/glib_gobject_helper.py
usr/share/gstreamer-1.0/gdb/gst_gdb.py
usr/share/aclocal/gst-element-check-1.0.m4
); _install
}
package_gst-plugins-bad-libs() {
pkgdesc+=" - bad"
depends=(
"gst-plugins-base-libs=$pkgver"
orc libdrm libx11 libgudev libusb libxkbcommon-x11
)
cd root; local files=(
usr/include/gstreamer-1.0/gst/audio/{audio-bad-prelude,gstnonstreamaudiodecoder,gstplanaraudioadapter}.h
usr/include/gstreamer-1.0/gst/{basecamerabinsrc,codecparsers,insertbin,interfaces,isoff,mpegts,play,player,sctp,transcoder,uridownloader,vulkan,wayland,webrtc}
usr/lib/libgst{adaptivedemux,badaudio,basecamerabinsrc,codecparsers,codecs,insertbin,isoff,mpegts,photography,play,player,sctp,transcoder,uridownloader,vulkan,wayland,webrtc}-1.0.so*
usr/lib/pkgconfig/gstreamer-{bad-audio,codecparsers,insertbin,mpegts,photography,play,player,sctp,transcoder,vulkan{,-wayland,-xcb},wayland,webrtc}-1.0.pc
usr/lib/girepository-1.0/Gst{BadAudio,Codecs,InsertBin,Mpegts,Play,Player,Transcoder,Vulkan{,Wayland,XCB},WebRTC}-1.0.typelib
usr/share/gir-1.0/Gst{BadAudio,Codecs,InsertBin,Mpegts,Play,Player,Transcoder,Vulkan{,Wayland,XCB},WebRTC}-1.0.gir
usr/lib/pkgconfig/gstreamer-plugins-bad-1.0.pc
usr/lib/gstreamer-1.0/libgstaccurip.so
usr/lib/gstreamer-1.0/libgstadpcmdec.so
usr/lib/gstreamer-1.0/libgstadpcmenc.so
usr/lib/gstreamer-1.0/libgstaiff.so
usr/lib/gstreamer-1.0/libgstasfmux.so
usr/lib/gstreamer-1.0/libgstaudiobuffersplit.so
usr/lib/gstreamer-1.0/libgstaudiofxbad.so
usr/lib/gstreamer-1.0/libgstaudiolatency.so
usr/lib/gstreamer-1.0/libgstaudiomixmatrix.so
usr/lib/gstreamer-1.0/libgstaudiovisualizers.so
usr/lib/gstreamer-1.0/libgstautoconvert.so
usr/lib/gstreamer-1.0/libgstbayer.so
usr/lib/gstreamer-1.0/libgstbluez.so
usr/lib/gstreamer-1.0/libgstcamerabin.so
usr/lib/gstreamer-1.0/libgstcodecalpha.so
usr/lib/gstreamer-1.0/libgstcoloreffects.so
usr/lib/gstreamer-1.0/libgstdebugutilsbad.so
usr/lib/gstreamer-1.0/libgstdecklink.so
usr/lib/gstreamer-1.0/libgstdvb.so
usr/lib/gstreamer-1.0/libgstdvbsubenc.so
usr/lib/gstreamer-1.0/libgstdvbsuboverlay.so
usr/lib/gstreamer-1.0/libgstdvdspu.so
usr/lib/gstreamer-1.0/libgstfaceoverlay.so
usr/lib/gstreamer-1.0/libgstfbdevsink.so
usr/lib/gstreamer-1.0/libgstfestival.so
usr/lib/gstreamer-1.0/libgstfieldanalysis.so
usr/lib/gstreamer-1.0/libgstfreeverb.so
usr/lib/gstreamer-1.0/libgstfrei0r.so
usr/lib/gstreamer-1.0/libgstgaudieffects.so
usr/lib/gstreamer-1.0/libgstgdp.so
usr/lib/gstreamer-1.0/libgstgeometrictransform.so
usr/lib/gstreamer-1.0/libgstid3tag.so
usr/lib/gstreamer-1.0/libgstinter.so
usr/lib/gstreamer-1.0/libgstinterlace.so
usr/lib/gstreamer-1.0/libgstipcpipeline.so
usr/lib/gstreamer-1.0/libgstivfparse.so
usr/lib/gstreamer-1.0/libgstivtc.so
usr/lib/gstreamer-1.0/libgstjp2kdecimator.so
usr/lib/gstreamer-1.0/libgstjpegformat.so
usr/lib/gstreamer-1.0/libgstkms.so
usr/lib/gstreamer-1.0/libgstlegacyrawparse.so
usr/lib/gstreamer-1.0/libgstmidi.so
usr/lib/gstreamer-1.0/libgstmpegpsdemux.so
usr/lib/gstreamer-1.0/libgstmpegpsmux.so
usr/lib/gstreamer-1.0/libgstmpegtsdemux.so
usr/lib/gstreamer-1.0/libgstmpegtsmux.so
usr/lib/gstreamer-1.0/libgstmxf.so
usr/lib/gstreamer-1.0/libgstnetsim.so
usr/lib/gstreamer-1.0/libgstnvcodec.so
usr/lib/gstreamer-1.0/libgstpcapparse.so
usr/lib/gstreamer-1.0/libgstpnm.so
usr/lib/gstreamer-1.0/libgstproxy.so
usr/lib/gstreamer-1.0/libgstremovesilence.so
usr/lib/gstreamer-1.0/libgstrfbsrc.so
usr/lib/gstreamer-1.0/libgstrist.so
usr/lib/gstreamer-1.0/libgstrtmp2.so
usr/lib/gstreamer-1.0/libgstrtpmanagerbad.so
usr/lib/gstreamer-1.0/libgstrtponvif.so
usr/lib/gstreamer-1.0/libgstsdpelem.so
usr/lib/gstreamer-1.0/libgstsegmentclip.so
usr/lib/gstreamer-1.0/libgstshm.so
usr/lib/gstreamer-1.0/libgstsiren.so
usr/lib/gstreamer-1.0/libgstsmooth.so
usr/lib/gstreamer-1.0/libgstspeed.so
usr/lib/gstreamer-1.0/libgstsubenc.so
usr/lib/gstreamer-1.0/libgstswitchbin.so
usr/lib/gstreamer-1.0/libgsttranscode.so
usr/lib/gstreamer-1.0/libgstuvch264.so
usr/lib/gstreamer-1.0/libgstv4l2codecs.so
usr/lib/gstreamer-1.0/libgstvideofiltersbad.so
usr/lib/gstreamer-1.0/libgstvideoframe_audiolevel.so
usr/lib/gstreamer-1.0/libgstvideoparsersbad.so
usr/lib/gstreamer-1.0/libgstvideosignal.so
usr/lib/gstreamer-1.0/libgstvmnc.so
usr/lib/gstreamer-1.0/libgsty4mdec.so
usr/share/gstreamer-1.0/encoding-profiles
usr/share/gstreamer-1.0/presets/GstFreeverb.prs
usr/share/locale/*/LC_MESSAGES/gst-plugins-bad-1.0.mo
usr/bin/gst-transcoder-1.0
); _install
}
package_gst-plugins-base-libs() {
pkgdesc+=" - base"
depends=(
"gstreamer=$pkgver"
orc libxv iso-codes libgudev libgl mesa
)
cd root; local files=(
usr/include/gstreamer-1.0/gst/{allocators,app,audio,fft,gl,pbutils,riff,rtp,rtsp,sdp,tag,video}
usr/lib/libgst{allocators,app,audio,fft,gl,pbutils,riff,rtp,rtsp,sdp,tag,video}-1.0.so*
usr/lib/pkgconfig/gstreamer-{allocators,app,audio,fft,gl{,-egl,-prototypes,-wayland,-x11},pbutils,riff,rtp,rtsp,sdp,tag,video}-1.0.pc
usr/lib/girepository-1.0/Gst{Allocators,App,Audio,GL{,EGL,Wayland,X11},Pbutils,Rtp,Rtsp,Sdp,Tag,Video}-1.0.typelib
usr/share/gir-1.0/Gst{Allocators,App,Audio,GL{,EGL,Wayland,X11},Pbutils,Rtp,Rtsp,Sdp,Tag,Video}-1.0.gir
usr/lib/pkgconfig/gstreamer-plugins-base-1.0.pc
usr/lib/gstreamer-1.0/include/gst/gl/gstglconfig.h
usr/lib/gstreamer-1.0/libgstadder.so
usr/lib/gstreamer-1.0/libgstapp.so
usr/lib/gstreamer-1.0/libgstaudioconvert.so
usr/lib/gstreamer-1.0/libgstaudiomixer.so
usr/lib/gstreamer-1.0/libgstaudiorate.so
usr/lib/gstreamer-1.0/libgstaudioresample.so
usr/lib/gstreamer-1.0/libgstaudiotestsrc.so
usr/lib/gstreamer-1.0/libgstcompositor.so
usr/lib/gstreamer-1.0/libgstencoding.so
usr/lib/gstreamer-1.0/libgstgio.so
usr/lib/gstreamer-1.0/libgstoverlaycomposition.so
usr/lib/gstreamer-1.0/libgstpbtypes.so
usr/lib/gstreamer-1.0/libgstplayback.so
usr/lib/gstreamer-1.0/libgstrawparse.so
usr/lib/gstreamer-1.0/libgstsubparse.so
usr/lib/gstreamer-1.0/libgsttcp.so
usr/lib/gstreamer-1.0/libgsttypefindfunctions.so
usr/lib/gstreamer-1.0/libgstvideoconvert.so
usr/lib/gstreamer-1.0/libgstvideorate.so
usr/lib/gstreamer-1.0/libgstvideoscale.so
usr/lib/gstreamer-1.0/libgstvideotestsrc.so
usr/lib/gstreamer-1.0/libgstvolume.so
usr/lib/gstreamer-1.0/libgstximagesink.so
usr/lib/gstreamer-1.0/libgstxvimagesink.so
usr/share/locale/*/LC_MESSAGES/gst-plugins-base-1.0.mo
usr/bin/gst-{device-monitor,discoverer,play}-1.0
usr/share/man/man1/gst-{device-monitor,discoverer,play}-1.0.1
usr/share/gst-plugins-base
); _install
}
package_gst-plugins-base() {
pkgdesc+=" - base plugins"
depends=(
"gst-plugins-base-libs=$pkgver"
alsa-lib cdparanoia libvisual libvorbis libtheora pango opus graphene libpng
libjpeg
)
cd root; local files=(
usr/lib/gstreamer-1.0/libgstalsa.so
usr/lib/gstreamer-1.0/libgstcdparanoia.so
usr/lib/gstreamer-1.0/libgstlibvisual.so
usr/lib/gstreamer-1.0/libgstogg.so
usr/lib/gstreamer-1.0/libgstopengl.so
usr/lib/gstreamer-1.0/libgstopus.so
usr/lib/gstreamer-1.0/libgstpango.so
usr/lib/gstreamer-1.0/libgsttheora.so
usr/lib/gstreamer-1.0/libgstvorbis.so
); _install
}
package_gst-plugins-good() {
pkgdesc+=" - good plugins"
depends=(
"gst-plugins-base-libs=$pkgver"
libpulse libsoup3 gst-plugins-base-libs wavpack aalib taglib libdv libshout
libvpx gdk-pixbuf2 libcaca libavc1394 libiec61883 libxdamage v4l-utils cairo
libgudev speex flac libraw1394 lame mpg123 twolame
libjack.so
)
cd root; local files=(
usr/lib/gstreamer-1.0/libgst1394.so
usr/lib/gstreamer-1.0/libgstaasink.so
usr/lib/gstreamer-1.0/libgstalaw.so
usr/lib/gstreamer-1.0/libgstalpha.so
usr/lib/gstreamer-1.0/libgstalphacolor.so
usr/lib/gstreamer-1.0/libgstapetag.so
usr/lib/gstreamer-1.0/libgstaudiofx.so
usr/lib/gstreamer-1.0/libgstaudioparsers.so
usr/lib/gstreamer-1.0/libgstauparse.so
usr/lib/gstreamer-1.0/libgstautodetect.so
usr/lib/gstreamer-1.0/libgstavi.so
usr/lib/gstreamer-1.0/libgstcacasink.so
usr/lib/gstreamer-1.0/libgstcairo.so
usr/lib/gstreamer-1.0/libgstcutter.so
usr/lib/gstreamer-1.0/libgstdebug.so
usr/lib/gstreamer-1.0/libgstdeinterlace.so
usr/lib/gstreamer-1.0/libgstdtmf.so
usr/lib/gstreamer-1.0/libgstdv.so
usr/lib/gstreamer-1.0/libgsteffectv.so
usr/lib/gstreamer-1.0/libgstequalizer.so
usr/lib/gstreamer-1.0/libgstflac.so
usr/lib/gstreamer-1.0/libgstflv.so
usr/lib/gstreamer-1.0/libgstflxdec.so
usr/lib/gstreamer-1.0/libgstgdkpixbuf.so
usr/lib/gstreamer-1.0/libgstgoom.so
usr/lib/gstreamer-1.0/libgstgoom2k1.so
usr/lib/gstreamer-1.0/libgsticydemux.so
usr/lib/gstreamer-1.0/libgstid3demux.so
usr/lib/gstreamer-1.0/libgstimagefreeze.so
usr/lib/gstreamer-1.0/libgstinterleave.so
usr/lib/gstreamer-1.0/libgstisomp4.so
usr/lib/gstreamer-1.0/libgstjack.so
usr/lib/gstreamer-1.0/libgstjpeg.so
usr/lib/gstreamer-1.0/libgstlame.so
usr/lib/gstreamer-1.0/libgstlevel.so
usr/lib/gstreamer-1.0/libgstmatroska.so
usr/lib/gstreamer-1.0/libgstmonoscope.so
usr/lib/gstreamer-1.0/libgstmpg123.so
usr/lib/gstreamer-1.0/libgstmulaw.so
usr/lib/gstreamer-1.0/libgstmultifile.so
usr/lib/gstreamer-1.0/libgstmultipart.so
usr/lib/gstreamer-1.0/libgstnavigationtest.so
usr/lib/gstreamer-1.0/libgstoss4.so
usr/lib/gstreamer-1.0/libgstossaudio.so
usr/lib/gstreamer-1.0/libgstpng.so
usr/lib/gstreamer-1.0/libgstpulseaudio.so
usr/lib/gstreamer-1.0/libgstreplaygain.so
usr/lib/gstreamer-1.0/libgstrtp.so
usr/lib/gstreamer-1.0/libgstrtpmanager.so
usr/lib/gstreamer-1.0/libgstrtsp.so
usr/lib/gstreamer-1.0/libgstshapewipe.so
usr/lib/gstreamer-1.0/libgstshout2.so
usr/lib/gstreamer-1.0/libgstsmpte.so
usr/lib/gstreamer-1.0/libgstsoup.so
usr/lib/gstreamer-1.0/libgstspectrum.so
usr/lib/gstreamer-1.0/libgstspeex.so
usr/lib/gstreamer-1.0/libgsttaglib.so
usr/lib/gstreamer-1.0/libgsttwolame.so
usr/lib/gstreamer-1.0/libgstudp.so
usr/lib/gstreamer-1.0/libgstvideo4linux2.so
usr/lib/gstreamer-1.0/libgstvideobox.so
usr/lib/gstreamer-1.0/libgstvideocrop.so
usr/lib/gstreamer-1.0/libgstvideofilter.so
usr/lib/gstreamer-1.0/libgstvideomixer.so
usr/lib/gstreamer-1.0/libgstvpx.so
usr/lib/gstreamer-1.0/libgstwavenc.so
usr/lib/gstreamer-1.0/libgstwavpack.so
usr/lib/gstreamer-1.0/libgstwavparse.so
usr/lib/gstreamer-1.0/libgstximagesrc.so
usr/lib/gstreamer-1.0/libgsty4menc.so
usr/share/gstreamer-1.0/presets/GstIirEqualizer{3,10}Bands.prs
usr/share/gstreamer-1.0/presets/Gst{QTMux,VP8Enc}.prs
usr/share/locale/*/LC_MESSAGES/gst-plugins-good-1.0.mo
); _install
}
package_gst-plugins-bad() {
pkgdesc+=" - bad plugins"
depends=(
"gst-plugins-bad-libs=$pkgver"
aom libass libbs2b bzip2 chromaprint pango lcms2 curl libxml2 libdc1394
libde265 openssl libdca faac faad2 libfdk-aac fluidsynth libgme nettle
libkate liblrdf lilv libmodplug mjpegtools libmpcdec neon openal openexr
openjpeg2 opus libdvdnav libdvdread librsvg rtmpdump sbc libsndfile libltc
soundtouch spandsp srt libsrtp zvbi vulkan-icd-loader libxcb wayland libwebp
libnice webrtc-audio-processing wildmidi x265 zbar gsm libopenmpt libldac
libfreeaptx qrencode json-glib libavtp libmicrodns zxing-cpp
)
cd root; local files=(
usr/lib/gstreamer-1.0/libgstaes.so
usr/lib/gstreamer-1.0/libgstaom.so
usr/lib/gstreamer-1.0/libgstassrender.so
usr/lib/gstreamer-1.0/libgstavtp.so
usr/lib/gstreamer-1.0/libgstbs2b.so
usr/lib/gstreamer-1.0/libgstbz2.so
usr/lib/gstreamer-1.0/libgstchromaprint.so
usr/lib/gstreamer-1.0/libgstclosedcaption.so
usr/lib/gstreamer-1.0/libgstcolormanagement.so
usr/lib/gstreamer-1.0/libgstcurl.so
usr/lib/gstreamer-1.0/libgstdash.so
usr/lib/gstreamer-1.0/libgstdc1394.so
usr/lib/gstreamer-1.0/libgstde265.so
usr/lib/gstreamer-1.0/libgstdtls.so
usr/lib/gstreamer-1.0/libgstdtsdec.so
usr/lib/gstreamer-1.0/libgstfaac.so
usr/lib/gstreamer-1.0/libgstfaad.so
usr/lib/gstreamer-1.0/libgstfdkaac.so
usr/lib/gstreamer-1.0/libgstfluidsynthmidi.so
usr/lib/gstreamer-1.0/libgstgme.so
usr/lib/gstreamer-1.0/libgstgsm.so
usr/lib/gstreamer-1.0/libgsthls.so
usr/lib/gstreamer-1.0/libgstkate.so
usr/lib/gstreamer-1.0/libgstladspa.so
usr/lib/gstreamer-1.0/libgstldac.so
usr/lib/gstreamer-1.0/libgstlv2.so
usr/lib/gstreamer-1.0/libgstmicrodns.so
usr/lib/gstreamer-1.0/libgstmodplug.so
usr/lib/gstreamer-1.0/libgstmpeg2enc.so
usr/lib/gstreamer-1.0/libgstmplex.so
usr/lib/gstreamer-1.0/libgstmusepack.so
usr/lib/gstreamer-1.0/libgstneonhttpsrc.so
usr/lib/gstreamer-1.0/libgstopenal.so
usr/lib/gstreamer-1.0/libgstopenaptx.so
usr/lib/gstreamer-1.0/libgstopenexr.so
usr/lib/gstreamer-1.0/libgstopenjpeg.so
usr/lib/gstreamer-1.0/libgstopenmpt.so
usr/lib/gstreamer-1.0/libgstopusparse.so
usr/lib/gstreamer-1.0/libgstqroverlay.so
usr/lib/gstreamer-1.0/libgstresindvd.so
usr/lib/gstreamer-1.0/libgstrsvg.so
usr/lib/gstreamer-1.0/libgstrtmp.so
usr/lib/gstreamer-1.0/libgstsbc.so
usr/lib/gstreamer-1.0/libgstsctp.so
usr/lib/gstreamer-1.0/libgstsmoothstreaming.so
usr/lib/gstreamer-1.0/libgstsndfile.so
usr/lib/gstreamer-1.0/libgstsoundtouch.so
usr/lib/gstreamer-1.0/libgstspandsp.so
usr/lib/gstreamer-1.0/libgstsrt.so
usr/lib/gstreamer-1.0/libgstsrtp.so
usr/lib/gstreamer-1.0/libgstteletext.so
usr/lib/gstreamer-1.0/libgsttimecode.so
usr/lib/gstreamer-1.0/libgstttmlsubs.so
usr/lib/gstreamer-1.0/libgstvulkan.so
usr/lib/gstreamer-1.0/libgstwaylandsink.so
usr/lib/gstreamer-1.0/libgstwebp.so
usr/lib/gstreamer-1.0/libgstwebrtc.so
usr/lib/gstreamer-1.0/libgstwebrtcdsp.so
usr/lib/gstreamer-1.0/libgstwildmidi.so
usr/lib/gstreamer-1.0/libgstx265.so
usr/lib/gstreamer-1.0/libgstzbar.so
usr/lib/gstreamer-1.0/libgstzxing.so
); _install
}
package_gst-plugin-gtk() {
pkgdesc+=" - gtk plugin"
depends=("gst-plugins-base-libs=$pkgver" gtk3)
cd root; local files=(
usr/lib/gstreamer-1.0/libgstgtk.so
); _install
}
package_gst-plugin-opencv() {
pkgdesc+=" - opencv plugin"
depends=("gst-plugins-base-libs=$pkgver" opencv)
cd root; local files=(
usr/include/gstreamer-1.0/gst/opencv
usr/lib/libgstopencv-1.0.so*
usr/lib/gstreamer-1.0/libgstopencv.so
); _install
}
package_gst-plugin-qmlgl() {
pkgdesc+=" - qmlgl plugin"
depends=(
"gst-plugins-base-libs=$pkgver"
qt5-declarative qt5-x11extras qt5-wayland
)
cd root; local files=(
usr/lib/gstreamer-1.0/libgstqmlgl.so
); _install
}
package_gst-plugin-va() {
pkgdesc+=" - va plugin"
depends=("gst-plugins-bad-libs=$pkgver" libva)
cd root; local files=(
usr/lib/libgstva-1.0.so*
usr/lib/pkgconfig/gstreamer-va-1.0.pc
usr/lib/gstreamer-1.0/libgstva.so
); _install
}
package_gst-plugin-wpe() {
pkgdesc+=" - wpe plugin"
depends=("gst-plugins-base-libs=$pkgver" wpewebkit)
cd root; local files=(
usr/lib/gstreamer-1.0/libgstwpe.so
usr/lib/gst-plugins-bad/wpe-extension/libgstwpeextension.so
); _install
}
package_gst-plugins-ugly() {
pkgdesc+=" - ugly plugins"
depends=(
"gst-plugins-base-libs=$pkgver"
libdvdread libmpeg2 a52dec libsidplay libcdio x264 opencore-amr
)
cd root; local files=(
usr/lib/gstreamer-1.0/libgsta52dec.so
usr/lib/gstreamer-1.0/libgstamrnb.so
usr/lib/gstreamer-1.0/libgstamrwbdec.so
usr/lib/gstreamer-1.0/libgstasf.so
usr/lib/gstreamer-1.0/libgstcdio.so
usr/lib/gstreamer-1.0/libgstdvdlpcmdec.so
usr/lib/gstreamer-1.0/libgstdvdread.so
usr/lib/gstreamer-1.0/libgstdvdsub.so
usr/lib/gstreamer-1.0/libgstmpeg2dec.so
usr/lib/gstreamer-1.0/libgstrealmedia.so
usr/lib/gstreamer-1.0/libgstsid.so
usr/lib/gstreamer-1.0/libgstx264.so
usr/lib/gstreamer-1.0/libgstxingmux.so
usr/share/gstreamer-1.0/presets/Gst{Amrnb,X264}Enc.prs
usr/share/locale/*/LC_MESSAGES/gst-plugins-ugly-1.0.mo
); _install
}
package_gst-libav() {
pkgdesc+=" - libav plugin"
depends=("gst-plugins-base-libs=$pkgver" bzip2 ffmpeg)
provides=("gst-ffmpeg=$pkgver")
cd root; local files=(
usr/lib/gstreamer-1.0/libgstlibav.so
); _install
}
package_gst-rtsp-server() {
pkgdesc+=" - rtsp server"
depends=("gst-plugins-base-libs=$pkgver")
cd root; local files=(
usr/include/gstreamer-1.0/gst/rtsp-server
usr/lib/libgstrtspserver-1.0.so*
usr/lib/pkgconfig/gstreamer-rtsp-server-1.0.pc
usr/lib/girepository-1.0/GstRtspServer-1.0.typelib
usr/share/gir-1.0/GstRtspServer-1.0.gir
usr/lib/gstreamer-1.0/libgstrtspclientsink.so
); _install
}
package_gst-editing-services() {
pkgdesc+=" - editing services"
depends=("gst-plugins-base-libs=$pkgver" python)
cd root; local files=(
usr/include/gstreamer-1.0/ges
usr/lib/libges-1.0.so*
usr/lib/pkgconfig/gst-editing-services-1.0.pc
usr/lib/girepository-1.0/GES-1.0.typelib
usr/share/gir-1.0/GES-1.0.gir
usr/lib/gstreamer-1.0/libgstges.so
usr/lib/gstreamer-1.0/libgstnle.so
usr/lib/python*/site-packages/gi/overrides/GES.py
usr/bin/ges-launch-1.0
usr/share/man/man1/ges-launch-1.0.1
usr/share/bash-completion/completions/ges-launch-1.0
); _install
python -m compileall -d /usr/lib "$pkgdir/usr/lib"
python -O -m compileall -d /usr/lib "$pkgdir/usr/lib"
}
package_gstreamer-vaapi() {
pkgdesc+=" - vaapi plugin"
depends=("gst-plugins-bad-libs=$pkgver" libva libxrandr)
cd root; local files=(
usr/lib/gstreamer-1.0/libgstvaapi.so
); _install
}
package_gst-python() {
pkgdesc+=" - python plugin"
depends=("gst-plugins-base-libs=$pkgver" python-gobject)
cd root; local files=(
usr/lib/gstreamer-1.0/libgstpython.so
usr/lib/python*/site-packages/gi/overrides
); _install
python -m compileall -d /usr/lib "$pkgdir/usr/lib"
python -O -m compileall -d /usr/lib "$pkgdir/usr/lib"
}
package_gstreamer-docs() {
pkgdesc+=" - documentation"
license=(GPL3 LGPL custom:BSD custom:CC-BY-SA-4.0 custom:MIT custom:OPL)
# make sure there are no files left to install
find root -depth -print0 | xargs -0 rmdir
cd gstreamer-docs-$pkgver
mkdir -p "$pkgdir/usr/share"
cp -a devhelp "$pkgdir/usr/share/devhelp"
install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 COPYING LICENSE*
}
# vim:set sw=2 et: