# 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 # - removed gst-plugin-onnx package, meson with -D gst-plugins-bad:onnx=disabled # - removed makedepend on onnxruntime # - 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-devtools-libs gst-devtools gst-rtsp-server gst-editing-services gstreamer-vaapi gst-python gstreamer-docs ) pkgver=1.24.6 pkgrel=1 pkgdesc="Multimedia graph framework" url="https://gstreamer.freedesktop.org/" arch=(x86_64) options=(!distcc) license=(LGPL-2.1-or-later) makedepends=( a52dec aalib alsa-lib bash-completion bluez-libs bzip2 cairo cdparanoia chromaprint faac faad2 ffmpeg flac fluidsynth gcc-libs gdk-pixbuf2 git glib2-devel glibc gobject-introspection graphene gsm gtk3 hicolor-icon-theme imath jack2 json-glib ladspa lame libavc1394 libavtp libbs2b libcaca libcap libcdio libdca libde265 libdrm libdv libdvdnav libdvdread libelf libfdk-aac libfreeaptx libglvnd libgme libgudev libiec61883 libjpeg liblc3 libldac liblrdf libltc libmicrodns libmodplug libmpcdec libmpeg2 libnice libogg libopenmpt libpng libpulse libraw1394 libshout libsoup3 libsrtp libtheora libunwind libva libvpl libvpx libx11 libxcb libxdamage libxext libxfixes libxi libxkbcommon libxkbcommon-x11 libxml2 libxrandr libxtst libxv lilv lv2 mesa meson mjpegtools mpg123 nasm neon nettle openal opencore-amr opencv opentimelineio opus orc pango python python-cairo python-gobject python-lxml python-setuptools qrencode qt5-base qt5-declarative qt5-tools qt5-wayland qt5-x11extras qt6-declarative qt6-shadertools qt6-tools qt6-wayland rtmpdump rust sbc sdl2 shaderc soundtouch spandsp speex systemd-libs taglib twolame v4l-utils valgrind vulkan-headers vulkan-icd-loader vulkan-validation-layers wavpack wayland wayland-protocols webrtc-audio-processing-1 wildmidi wpewebkit x264 zbar zlib zvbi zxing-cpp ) 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=('b8ab77c4b0a905fdfbe460676d3a24b290320b1dc75e937ed54c10e21040cff477624457175adb334c27a60654d70055d2d032d06d3105027699cf9e86b18230' 'b7e2121eaa9a64309260b9b3d269bdda25a9d7289165ba7fa8017176f8759b61d7c0d61d0b92ae4a14516a49ad81a61877cc84b54d05ed6bc1956abaee2abc21' 'SKIP' '36173e27a739f34111e8733ada64f054d0f4a1e3ee12c6c834b75ce4b174e6133dd8ca3451d50077b41dab8af9f96793bdf11b2a9330fcd1865be8457bb182c3') validpgpkeys=( D637032E45B8C6585B9456565D2EEE6F6F349D7C # Tim Müller ) prepare() { cd gstreamer # Disable broken tests git apply -3 ../0001-HACK-meson-Disable-broken-tests.patch } build() { local meson_options=( -D examples=disabled -D gobject-cast-checks=disabled -D gpl=enabled -D gst-devtools:debug_viewer=enabled -D gst-examples=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-base:libvisual=disabled -D gst-plugins-base:tremor=disabled -D gst-plugins-good:rpicamsrc=disabled -D gst-plugins-ugly:sidplay=disabled -D gstreamer:dbghelp=disabled -D gstreamer:ptp-helper-permissions=capabilities -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 ) # https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3197 export GI_SCANNER_DISABLE_CACHE=1 arch-meson gstreamer build "${meson_options[@]}" meson compile -C build } check() ( export XDG_RUNTIME_DIR="$PWD/runtime-dir" mkdir -p -m 700 "$XDG_RUNTIME_DIR" export NO_AT_BRIDGE=1 GTK_A11Y=none # 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=( gcc-libs glib2 glibc libcap libelf libunwind ) 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/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-$pkgrel" "gstreamer=$pkgver-$pkgrel" gcc-libs glib2 glibc libdrm libglvnd libgudev libnice libusb libva libx11 libxcb libxkbcommon libxkbcommon-x11 mesa orc vulkan-icd-loader wayland zlib ) 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-$pkgrel" glib2 glibc iso-codes libdrm libglvnd libgudev libx11 libxcb libxext libxi libxv mesa orc wayland zlib ) 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-$pkgrel" "gstreamer=$pkgver-$pkgrel" alsa-lib cairo cdparanoia glib2 glibc graphene libjpeg libogg libpng libtheora libvorbis libx11 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-$pkgrel" "gstreamer=$pkgver-$pkgrel" aalib bzip2 cairo flac gcc-libs gdk-pixbuf2 glib2 glibc lame libavc1394 libcaca libdv libgudev libiec61883 libjpeg libpng libpulse libraw1394 libshout libsoup3 libvpx libx11 libxdamage libxext libxfixes libxml2 libxtst mpg123 nettle opencore-amr orc speex taglib twolame v4l-utils wavpack zlib ) 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-$pkgrel" "gst-plugins-base-libs=$pkgver-$pkgrel" "gstreamer=$pkgver-$pkgrel" aom bzip2 cairo chromaprint curl faac faad2 fluidsynth gcc-libs glib2 glibc gsm imath 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 orc 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-$pkgrel" "gst-plugins-base-libs=$pkgver-$pkgrel" "gstreamer=$pkgver-$pkgrel" cairo glib2 glibc gtk3 wayland ) 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-$pkgrel" "gstreamer=$pkgver-$pkgrel" gcc-libs glib2 glibc 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-$pkgrel" "gstreamer=$pkgver-$pkgrel" gcc-libs glib2 glibc libglvnd qt6-base 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-$pkgrel" "gstreamer=$pkgver-$pkgrel" gcc-libs glib2 glibc libglvnd qt5-base 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-$pkgrel" "gst-plugins-base-libs=$pkgver-$pkgrel" "gstreamer=$pkgver-$pkgrel" glib2 glibc libgudev libva ) 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-$pkgrel" "gstreamer=$pkgver-$pkgrel" gcc-libs glib2 glibc libwpe libxkbcommon wayland wpebackend-fdo 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-$pkgrel" "gstreamer=$pkgver-$pkgrel" a52dec glib2 glibc libcdio libdvdread libmpeg2 orc 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-$pkgrel" "gstreamer=$pkgver-$pkgrel" ffmpeg glib2 glibc ) provides=("gst-ffmpeg=$pkgver-$pkgrel") cd root; local files=( usr/lib/gstreamer-1.0/libgstlibav.so ); _install } package_gst-devtools-libs() { pkgdesc+=" - development and debugging libraries" depends=( "gst-plugins-base-libs=$pkgver-$pkgrel" "gstreamer=$pkgver-$pkgrel" glib2 glibc json-glib orc zlib ) cd root; local files=( usr/include/gstreamer-1.0/gst/validate usr/lib/libgstvalidate-* usr/lib/pkgconfig/gstreamer-validate-1.0.pc usr/lib/girepository-1.0/GstValidate-1.0.typelib usr/share/gir-1.0/GstValidate-1.0.gir ); _install } package_gst-devtools() { pkgdesc+=" - development and debugging tools" depends=( "gst-devtools-libs=$pkgver-$pkgrel" "gst-plugins-bad-libs=$pkgver-$pkgrel" "gst-plugins-base-libs=$pkgver-$pkgrel" "gst-rtsp-server=$pkgver-$pkgrel" "gstreamer=$pkgver-$pkgrel" cairo glib2 glibc gtk3 hicolor-icon-theme json-glib python python-cairo python-gobject python-lxml ) cd root; local files=( usr/bin/gst-validate-* usr/lib/gst-validate-launcher usr/lib/gstreamer-1.0/libgstvalidatetracer.so usr/lib/gstreamer-1.0/validate usr/share/gstreamer-1.0/validate usr/bin/gst-debug-viewer usr/lib/python*/site-packages/GstDebugViewer usr/share/applications/org.freedesktop.GstDebugViewer.desktop usr/share/gst-debug-viewer usr/share/icons/hicolor/*/apps/gst-debug-viewer.* usr/share/metainfo/org.freedesktop.GstDebugViewer.appdata.xml ); _install } package_gst-rtsp-server() { pkgdesc+=" - rtsp server" depends=( "gst-plugins-base-libs=$pkgver-$pkgrel" "gstreamer=$pkgver-$pkgrel" glib2 glibc orc zlib ) 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-devtools-libs=$pkgver-$pkgrel" "gst-plugins-base-libs=$pkgver-$pkgrel" "gst-python=$pkgver-$pkgrel" "gstreamer=$pkgver-$pkgrel" glib2 glibc json-glib libxml2 orc python python-gobject zlib ) optdepends=( "opentimelineio: Support for the OpenTimelineIO format" ) 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-$pkgrel" "gst-plugins-base-libs=$pkgver-$pkgrel" "gstreamer=$pkgver-$pkgrel" glib2 glibc libglvnd libva libx11 libxrandr systemd-libs wayland ) cd root; local files=( usr/lib/gstreamer-1.0/libgstvaapi.so ); _install } package_gst-python() { pkgdesc+=" - python plugin" depends=( "gst-plugins-base-libs=$pkgver-$pkgrel" "gstreamer=$pkgver-$pkgrel" glib2 glibc python 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 ) options=( !debug !strip ) # 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: