blob: 08a57a2f004cb5fd24593b5b445c59049f3e8107 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
|
# 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"
}
|