# Maintainer: Jan Alexander Steffens (heftig) # Contributor: Jan de Groot # ALARM: Kevin Mihelich # - 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 # - removed gst-plug-qsv package, meson with -D gst-plugins-bad:qsv=disabled # - !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.22.7 pkgrel=1 pkgdesc="Multimedia graph framework" url="https://gstreamer.freedesktop.org/" arch=(x86_64) options=(!distcc) license=(LGPL) makedepends=( # superproject git meson # gstreamer bash-completion gobject-introspection gtk3 libcap libunwind python valgrind # gst-plugins-base cdparanoia graphene libdrm libglvnd libgudev libtheora libx11 libxi libxv mesa opus orc qt5-base qt5-tools sdl2 wayland wayland-protocols zlib # gst-plugins-good aalib cairo flac jack2 lame libavc1394 libcaca libdv libiec61883 libpulse libraw1394 libshout libsoup3 libvpx mpg123 nasm nettle qt5-declarative qt5-wayland qt5-x11extras qt6-declarative qt6-tools qt6-wayland 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 libkate 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 wildmidi wpewebkit zbar zvbi zxing-cpp # gst-plugins-ugly a52dec libcdio libdvdread libmpeg2 opencore-amr 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=('SKIP' 'bd1ac7107a70ffd8ed10249654e42e2b06ef6e94d208333d3ec6cf3b2542afac903b0a6df265b543a43cbb7b3be6eec28184d3f5e42d586c28864e7449ccf6e9' 'SKIP' '3e59a5ae821b83ad20f5e39e52195aa6932d5877538ef63aef7205988482e2667d6d43fc7bce2b5eaaf2c280cd4369f63a0d0d9ae39094ee70ec4ecd318a64b5') 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=( # Superproject options -D devtools=disabled -D doc=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-origin="https://www.archlinux.org/" -D vaapi=enabled # Package names -D gstreamer:package-name="Arch Linux gstreamer $pkgver-$pkgrel" -D gst-plugins-base:package-name="Arch Linux gst-plugins-base $pkgver-$pkgrel" -D gst-plugins-good:package-name="Arch Linux gst-plugins-good $pkgver-$pkgrel" -D gst-plugins-bad:package-name="Arch Linux gst-plugins-bad $pkgver-$pkgrel" -D gst-plugins-ugly:package-name="Arch Linux gst-plugins-ugly $pkgver-$pkgrel" -D gst-libav:package-name="Arch Linux gst-libav $pkgver-$pkgrel" -D gst-rtsp-server:package-name="Arch Linux gst-rtsp-server $pkgver-$pkgrel" # 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: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:svthevcenc=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: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 ) 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 3 ) _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 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" 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/{basecamerabinsrc,codecparsers,cuda,insertbin,interfaces,isoff,mpegts,play,player,sctp,transcoder,uridownloader,va,vulkan,wayland,webrtc} usr/lib/libgst{adaptivedemux,badaudio,basecamerabinsrc,codecparsers,codecs,cuda,insertbin,isoff,mpegts}-1.0.so* usr/lib/libgst{photography,play,player,sctp,transcoder,uridownloader,va,vulkan,wayland,webrtc,webrtcnice}-1.0.so* usr/lib/pkgconfig/gstreamer-{bad-audio,codecparsers,cuda,insertbin,mpegts,photography,play,player,sctp,transcoder,vulkan{,-wayland,-xcb},va,wayland,webrtc{,-nice}}-1.0.pc usr/lib/girepository-1.0/{CudaGst,Gst{BadAudio,Codecs,Cuda,InsertBin,Mpegts,Play,Player,Transcoder,Va,Vulkan{,Wayland,XCB},WebRTC}}-1.0.typelib usr/share/gir-1.0/{CudaGst,Gst{BadAudio,Codecs,Cuda,InsertBin,Mpegts,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/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/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 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/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/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 gst-plugins-base-libs lame libavc1394 libcaca libdv libgudev libiec61883 libpulse libraw1394 libshout libsoup3 libvpx libxdamage mpg123 nettle speex taglib twolame v4l-utils wavpack 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/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/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/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 bzip2 chromaprint curl faac faad2 fluidsynth gsm json-glib lcms2 libass libavtp libbs2b libdc1394 libdca libde265 libdvdnav libdvdread libfdk-aac libfreeaptx libgme libkate 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 wildmidi x265 zbar zvbi 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/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 opencore-amr x264 ) 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/libgstx264.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/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=( 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 ! -type d 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 sts=-1 et tw=80: