# Maintainer: Jan Alexander Steffens (heftig) # Contributor: Jan de Groot # ALARM: Kevin Mihelich # - removed makedepend and gst-plugins-bad depend on svt-hevc # - removed makedepend and gst-plugins-bad depend on svt-av1, meson with -D gst-plugins-bad:svtav1=disabled # - 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 # - removed gst-plug-qsv package, meson with -D gst-plugins-bad:qsv=disabled # - meson with -D gst-plugins-bad:mfx_api=auto # - !distcc - build is failing with distcc 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-qml6 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.24.0 pkgrel=3 pkgdesc="Multimedia graph framework" url="https://gstreamer.freedesktop.org/" arch=(x86_64) options=(!distcc) license=(LGPL-2.1-or-later) makedepends=( # superproject git meson # gstreamer bash-completion gobject-introspection gtk3 libcap libelf libunwind python rust valgrind # gst-plugins-base alsa-lib cdparanoia graphene libdrm libglvnd libgudev libjpeg libpng libtheora libx11 libxi libxv mesa opus orc pango qt5-base qt5-tools sdl2 wayland wayland-protocols zlib # gst-plugins-good aalib cairo flac gdk-pixbuf2 jack2 lame libavc1394 libcaca libdv libiec61883 libpulse libraw1394 libshout libsoup3 libvpx libxdamage libxtst mpg123 nasm nettle opencore-amr qt5-declarative qt5-wayland qt5-x11extras qt6-declarative qt6-shadertools qt6-tools qt6-wayland speex taglib twolame v4l-utils wavpack # gst-plugins-bad bluez-libs bzip2 chromaprint faac faad2 fluidsynth gsm json-glib ladspa libavtp libbs2b libdca libde265 libdvdnav libfdk-aac libfreeaptx libgme liblc3 libldac liblrdf libltc libmicrodns libmodplug libmpcdec libnice libopenmpt libsrtp libva libxkbcommon-x11 libxml2 lilv lv2 mjpegtools neon openal opencv qrencode rtmpdump sbc shaderc soundtouch spandsp vulkan-headers vulkan-icd-loader vulkan-validation-layers webrtc-audio-processing-1 wildmidi wpewebkit zbar zvbi zxing-cpp # gst-plugins-ugly a52dec libcdio libdvdread libmpeg2 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-HACK-meson-Disable-broken-tests.patch ) b2sums=('dcd85b0b2e6a785fba6fd44bdab3bbf42a5a64ecb55d978d09d57a4a79e895396444eae0bc29771d48fa9a3947b445c33ede496b558150b685985d0aa481c498' '506088437f614f17a24402f70605d0a3831a597bec27c486763418d1ddce7dfa2370eac95e83dd82e1e2e856aaf0050ccf4b4e06a78a2664627236df762bde74' 'SKIP' 'afe47af956fe50ab2d77dba5d1e84649f63443a816ad7a0d0c0a37f2f46e1da3473472bd1183843b37dd3c0c61ee496b3d246df5de35e5df960a09bcac7eb48f') validpgpkeys=( D637032E45B8C6585B9456565D2EEE6F6F349D7C # Tim Müller ) prepare() { cd gstreamer # https://gitlab.archlinux.org/archlinux/packaging/packages/gst-plugins-base/-/issues/1 # https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6384 git cherry-pick -n 93255efece907fdec28366aea6f474af051a1ed0 # Disable broken tests git apply -3 ../0001-HACK-meson-Disable-broken-tests.patch } build() { local meson_options=( # Superproject options -D devtools=disabled -D examples=disabled -D gobject-cast-checks=disabled -D gpl=enabled -D gst-examples=disabled -D libnice=disabled -D orc-source=system -D package-name="Arch Linux GStreamer ${epoch:+$epoch:}$pkgver-$pkgrel" -D package-origin="https://www.archlinux.org/" -D vaapi=enabled # Subproject options -D gstreamer:dbghelp=disabled -D gstreamer:ptp-helper-permissions=capabilities -D gst-plugins-base:libvisual=disabled -D gst-plugins-base:tremor=disabled -D gst-plugins-good:rpicamsrc=disabled -D gst-plugins-bad:aja=disabled -D gst-plugins-bad:amfcodec=disabled -D gst-plugins-bad:directfb=disabled -D gst-plugins-bad:directshow=disabled -D gst-plugins-bad:directsound=disabled -D gst-plugins-bad:flite=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:svtav1=disabled -D gst-plugins-bad:svthevcenc=disabled -D gst-plugins-bad:mfx_api=auto -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:qt6d3d11=disabled -D gst-plugins-bad:qsv=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-bad:wic=disabled -D gst-plugins-bad:win32ipc=disabled -D gst-plugins-ugly:sidplay=disabled -D gst-editing-services:validate=disabled ) # https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3197 export GI_SCANNER_DISABLE_CACHE=1 arch-meson gstreamer build "${meson_options[@]}" meson configure build # Print config meson compile -C build } check() ( export XDG_RUNTIME_DIR="$PWD/runtime-dir" mkdir -p -m 700 "$XDG_RUNTIME_DIR" # Flaky due to timeouts xvfb-run -s '-nolisten local' \ meson test -C build --print-errorlogs -t 5 ) _install() { local src dir for src in "${files[@]}"; do dir="$pkgdir/$(dirname "$src")" mkdir -p "$dir" mv -v "$src" "$dir" done } package_gstreamer() { pkgdesc+=" - core" depends=( glib2 libcap libelf libunwind libxml2 ) optdepends=('python: gst-plugins-doc-cache-generator') install=gstreamer.install meson install -C build --destdir "$srcdir/root" 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/gst-ptp-helper-test 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" libdrm libgudev libnice libusb libva libx11 libxkbcommon-x11 orc vulkan-icd-loader wayland ) cd root; local files=( usr/include/gstreamer-1.0/gst/audio/{audio-bad-prelude,gstnonstreamaudiodecoder,gstplanaraudioadapter}.h usr/include/gstreamer-1.0/gst/{analytics,basecamerabinsrc,codecparsers,cuda,insertbin,interfaces,isoff,mpegts,mse,play,player,sctp,transcoder,uridownloader,va,vulkan,wayland,webrtc} usr/lib/libgst{adaptivedemux,analytics,badaudio,basecamerabinsrc,codecparsers,codecs,cuda,dxva,insertbin,isoff,mpegts,mse}-1.0.so* usr/lib/libgst{photography,play,player,sctp,transcoder,uridownloader,va,vulkan,wayland,webrtc,webrtcnice}-1.0.so* usr/lib/pkgconfig/gstreamer-{analytics,bad-audio,codecparsers,cuda,insertbin,mpegts,mse,photography,play,player,sctp,transcoder,vulkan{,-wayland,-xcb},va,wayland,webrtc{,-nice}}-1.0.pc usr/lib/girepository-1.0/{CudaGst,Gst{Analytics,BadAudio,Codecs,Cuda,Dxva,InsertBin,Mpegts,Mse,Play,Player,Transcoder,Va,Vulkan{,Wayland,XCB},WebRTC}}-1.0.typelib usr/share/gir-1.0/{CudaGst,Gst{Analytics,BadAudio,Codecs,Cuda,Dxva,InsertBin,Mpegts,Mse,Play,Player,Transcoder,Va,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/libgstcodectimestamper.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/libgstinsertbin.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/libgstmse.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/libgstunixfd.so usr/lib/gstreamer-1.0/libgstuvcgadget.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/libgstvulkan.so usr/lib/gstreamer-1.0/libgstwaylandsink.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" iso-codes libdrm libgl libgudev libxi libxv mesa orc wayland ) 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/libgstbasedebug.so usr/lib/gstreamer-1.0/libgstcompositor.so usr/lib/gstreamer-1.0/libgstdsd.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/libgstvideoconvertscale.so usr/lib/gstreamer-1.0/libgstvideorate.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 graphene libjpeg libpng libtheora libvorbis opus pango ) cd root; local files=( usr/lib/gstreamer-1.0/libgstalsa.so usr/lib/gstreamer-1.0/libgstcdparanoia.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" aalib cairo flac gdk-pixbuf2 lame libavc1394 libcaca libdv libgudev libiec61883 libpulse libraw1394 libshout libsoup3 libvpx libxdamage libxtst mpg123 nettle opencore-amr speex taglib twolame v4l-utils wavpack ) optdepends=('jack: JACK backend') cd root; local files=( usr/lib/gstreamer-1.0/libgst1394.so usr/lib/gstreamer-1.0/libgstaasink.so usr/lib/gstreamer-1.0/libgstadaptivedemux2.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/libgstamrnb.so usr/lib/gstreamer-1.0/libgstamrwbdec.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/libgstxingmux.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/GstQTMux.prs usr/share/gstreamer-1.0/presets/Gst{Amrnb,VP8}Enc.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 bzip2 chromaprint curl faac faad2 fluidsynth gsm json-glib lcms2 libass libavtp libbs2b libdc1394 libdca libde265 libdvdnav libdvdread libfdk-aac libfreeaptx libgme liblc3 libldac liblrdf libltc libmicrodns libmodplug libmpcdec libopenmpt librsvg libsndfile libsrtp libwebp libxml2 lilv mjpegtools neon nettle openal openexr openjpeg2 openssl opus pango qrencode rtmpdump sbc soundtouch spandsp srt webrtc-audio-processing-1 wildmidi x265 zbar zvbi zxing-cpp ) cd root; local files=( usr/lib/gstreamer-1.0/libgstaes.so usr/lib/gstreamer-1.0/libgstanalyticsoverlay.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/libgstcodec2json.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/libgstladspa.so usr/lib/gstreamer-1.0/libgstlc3.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/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-bad-libs=$pkgver" gtk3 ) cd root; local files=( usr/lib/gstreamer-1.0/libgstgtk.so usr/lib/gstreamer-1.0/libgstgtkwayland.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-qml6() { pkgdesc+=" - qml6 plugin" depends=( "gst-plugins-base-libs=$pkgver" qt6-declarative qt6-wayland ) cd root; local files=( usr/lib/gstreamer-1.0/libgstqml6.so ); _install } package_gst-plugin-qmlgl() { pkgdesc+=" - qmlgl plugin" depends=( "gst-plugins-base-libs=$pkgver" qt5-declarative qt5-wayland qt5-x11extras ) 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") cd root; local files=( 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" a52dec libcdio libdvdread libmpeg2 x264 ) cd root; local files=( usr/lib/gstreamer-1.0/libgsta52dec.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/libgstx264.so usr/share/gstreamer-1.0/presets/GstX264Enc.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/lib/python*/site-packages/gi/overrides/__pycache__/GES.*.pyc 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 } package_gstreamer-vaapi() { pkgdesc+=" - vaapi plugin" depends=( "gst-plugins-bad-libs=$pkgver" 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 } package_gstreamer-docs() { pkgdesc+=" - documentation" license=( 'BSD-2-Clause OR MIT OR LGPL-2.1-or-later' CC-BY-SA-4.0 LGPL-2.1-or-later MIT OPUBL-1.0 ) # make sure there are no files left to install find root -depth ! -type d find root -depth -print0 | xargs -0 rmdir cd gstreamer-docs-${pkgver%%+*} mkdir -p "$pkgdir/usr/share/doc/$pkgbase" cp -t "$pkgdir/usr/share" -a devhelp cp -t "$pkgdir/usr/share/doc/$pkgbase" -a html README* install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 COPYING LICENSE* } # vim:set sw=2 sts=-1 et tw=80: