This repository has been archived by the owner on May 20, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 249
/
PKGBUILD
143 lines (123 loc) · 4.87 KB
/
PKGBUILD
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
# Maintainer: Jan Alexander Steffens (heftig) <heftig@archlinux.org>
# Contributor: Jan de Groot <jgc@archlinux.org>
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 svt-hevc 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 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 svthevcenc 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 svt-hevc
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"
}