123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917 |
- # Maintainer (arch:gstreamer): Jan Alexander Steffens (heftig) <heftig@archlinux.org>
- # Contributor: Jan de Groot <jgc@archlinux.org>
- # Contributor: 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>
- # Maintainer: Parabola Hackers <dev@lists.parabola.nu>
- # parabola changes and rationale:
- # libre:
- # - removed support for non-free 'faac' codec
- # - disabled tests by default (some require networking)
- # technical:
- # - build from versioned source-ball, rather than VCS sources
- # - disabled 'svt-hevc' for 32-bit arches
- # - disabled 'msdk' for 32-bit arches
- # - disabled 'qsv' for armv7h
- # - disabled 'svt-av1' for armv7h
- # - FIXME: disabled 'gst-plugin-opencv' - 'opencv' package FTBS
- # https://labs.parabola.nu/issues/3107
- # NOTE: Only gst-plugins-bad{,-libs},gst-plugin-{opencvwpe} need to be rebuilt per the FSDG.
- # However, due to a circular dependency of 'wpewebkit' on 'gst-plugins-bad-libs',
- # which we pin to the corresponding version of gstreamer.
- # 'wpewebkit' -> 'gst-plugins-bad-libs' -> 'gst-plugins-base-libs=V-1' -> 'gstreamer=V-1'
- # If those were taken from arch, gst-plugins-bad-libs would not be satisfied;
- # and those would need to be installed manually into the build chroot.
- # NOTE: This PKGBUILD is kept in-sync, as closely as possible,
- # with arch{,arm,32} (gstreamer), for the sake of documentation and cleaner diffs.
- # That also helps to identify which changes were made by Parabola vs upstream.
- # Therefore, this PKGBUILD may declare blacklisted dependencies, non-free sources,
- # or include code for anti-features; but those will be filtered-out subsequently.
- # Any code which implements an anti-feature should be commented-out;
- # and include an 'anti-feature' comment, for clarity.
- # Any blacklisted dependencies and non-free sources should be filtered,
- # and include a 'non-free' comment, for clarity.
- # Without those over-rides, the resulting program may not be FSDG-fit.
- # Do not circumvent those over-rides, if compiling for the Parabola repos.
- 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-msdk
- gst-plugin-opencv
- gst-plugin-qml6
- gst-plugin-qmlgl
- gst-plugin-qsv
- gst-plugin-va
- gst-plugin-wpe
- gst-plugins-ugly
- gst-libav
- gst-rtsp-server
- gst-editing-services
- gstreamer-vaapi
- gst-python
- gstreamer-docs
- )
- pkgname=( ${pkgname[*]/$([[ "${CARCH}" == x86_64 ]] || echo gst-plugin-msdk)/} ) # x86_64 only
- pkgname=( ${pkgname[*]/$([[ "${CARCH}" != armv7h ]] || echo gst-plugin-qsv)/} ) # x86 only
- pkgname=( ${pkgname[*]/gst-plugin-opencv/} ) # FIXME: 'opencv' package FTBS
- pkgver=1.24.0
- pkgrel=1
- _pkgver_i686=1.20.5 # NOTE: v1.20.5 fails to compile for i686 - after this moves ahead,
- _pkgrel_i686=3.0 # try to remove the LOCs with comment: "# n/a in v1.20.5"
- eval "[[ -v _pkgver_${CARCH} ]] && pkgver=\$_pkgver_${CARCH}" # our different arches do not
- eval "[[ -v _pkgrel_${CARCH} ]] && pkgrel=\$_pkgrel_${CARCH}" # always roll at the same speed
- pkgrel+=.parabola1
- pkgdesc="Multimedia graph framework"
- url="https://gstreamer.freedesktop.org/"
- arch=(x86_64)
- arch+=(armv7h i686)
- license=(LGPL)
- # license=(LGPL-2.1-or-later) # TODO:
- 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 libvpl libxkbcommon-x11 libxml2 lilv lv2 mjpegtools
- neon openal opencv qrencode rtmpdump sbc shaderc soundtouch spandsp svt-av1
- svt-hevc 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
- )
- makedepends=( ${makedepends[*]/faac/} ) # non-free
- makedepends=( ${makedepends[*]/git/} ) # use source-ball, not VCS
- makedepends=( ${makedepends[*]/$([[ "${CARCH}" == x86_64 ]] || echo svt-hevc)/} ) # x86_64 only
- makedepends=( ${makedepends[*]/$([[ "${CARCH}" != armv7h ]] || echo svt-av1)/} ) # x86 only
- makedepends=( ${makedepends[*]/$([[ "${CARCH}" == x86_64 ]] || echo libvpl)/} ) # x86_64 only
- 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
- )
- _srcball_url=https://gitlab.freedesktop.org/gstreamer/gstreamer/-/archive/${pkgver}/gstreamer-${pkgver}.tar.gz
- source=( ${source[*]/git+*/$_srcball_url} ) # use source-ball, not VCS
- b2sums=('SKIP'
- '506088437f614f17a24402f70605d0a3831a597bec27c486763418d1ddce7dfa2370eac95e83dd82e1e2e856aaf0050ccf4b4e06a78a2664627236df762bde74'
- 'SKIP'
- 'afe47af956fe50ab2d77dba5d1e84649f63443a816ad7a0d0c0a37f2f46e1da3473472bd1183843b37dd3c0c61ee496b3d246df5de35e5df960a09bcac7eb48f')
- _b2sum_x86_64=a79e105927fd45f6fd9881b1b7ff70e358c6a74119fb69f7907880979eb60466a19362f970fe476326ce90dce8bc5ed7e7e95013af0d3e83ab9b7366a06e922f # upstream source-ball
- _b2sum_i686=518a025591e2d03296197dd4b6d30dbdd1a4c2b1d435df62cf451f13c1233c7fc1ad877344765c7b5c863e4886b7df750096fdb8835151cccf9618590801f1ea # upstream source-ball
- eval "[[ -v _b2sum_${CARCH} ]] && b2sums[0]=\$_b2sum_${CARCH}" # upstream source-ball
- validpgpkeys=(
- D637032E45B8C6585B9456565D2EEE6F6F349D7C # Tim Müller <tim@gstreamer-foundation.org>
- )
- _DISABLE_TESTS=1
- ## dependency over-rides ##
- makedepends=( ${makedepends[*]/opencv/} libdc1394 ) # FIXME: 'opencv' package FTBS
- prepare() {
- # link source-ball root dir as VCS root dirname (minimize diff)
- ln -s gstreamer-${pkgver} gstreamer
- cd gstreamer
- # Disable broken tests
- patch -Np1 < ../0001-HACK-meson-Disable-broken-tests.patch # DIFF: use source-ball, not VCS
- }
- build() {
- ## build configuration ##
- # DIFF: let these 'meson_options' match the arch PKGBUILD exactly
- # several of these defines will be clobbered in the "parabola over-rides" section
- 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:mfx_api=oneVPL
- -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: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
- )
- ## parabola over-rides ##
- # branding
- meson_options=( "${meson_options[@]/Arch Linux/Parabola GNU\/Linux-libre}" )
- meson_options=( "${meson_options[@]/archlinux.org/parabola.nu}" )
- # libre options
- meson_options+=( -D gst-plugins-bad:faac=disabled ) # non-free
- # arch-specific options
- if [[ "${CARCH}" == i686 ]]
- then meson_options=( "${meson_options[@]/amfcodec=disabled/faac=disabled}" ) # n/a in v1.20.5
- meson_options=( "${meson_options[@]/directshow=disabled/faac=disabled}" ) # n/a in v1.20.5
- meson_options=( "${meson_options[@]/wic=disabled/faac=disabled}" ) # n/a in v1.20.5
- meson_options=( "${meson_options[@]/win32ipc=disabled/faac=disabled}" ) # n/a in v1.20.5
- fi
- meson_options+=(
- $( case "${CARCH}" in armv7h) echo '-D gst-plugins-bad:msdk=disabled' # x86_64 only
- echo '-D gst-plugins-bad:qsv=disabled' # x86 only
- echo '-D gst-plugins-bad:svthevcenc=disabled' # x86_64 only
- echo '-D gst-plugins-bad:svtav1=disabled' ;; # x86 only
- i686 ) echo '-D gst-plugins-bad:msdk=disabled' # x86_64 only
- echo '-D gst-plugins-bad:svthevcenc=disabled' ;; # x86_64 only
- esac )
- )
- # emergency options :(
- meson_options+=(-D gst-plugins-bad:opencv=disabled) # FIXME: 'opencv' package FTBS
- ## build ##
- arch-meson gstreamer build "${meson_options[@]}"
- meson configure build # Print config
- meson compile -C build
- }
- check() (
- # networing tests fail in librechroots
- # elements_rtpsrc, elements_rtpsink, elements_srtp, elements_netsim, elements_webrtcbin
- (( ! _DISABLE_TESTS )) || ! echo "skipping check()" || return 0
- 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
- 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 svt-av1 svt-hevc
- webrtc-audio-processing-1 wildmidi x265 zbar zvbi zxing-cpp
- )
- # parabola over-rides
- depends=( ${depends[*]/faac/} ) # non-free
- depends=( ${depends[*]/$([[ "${CARCH}" == x86_64 ]] || echo svt-hevc)/} ) # x86_64 only
- depends=( ${depends[*]/$([[ "${CARCH}" != armv7h ]] || echo svt-av1)/} ) # x86 only
- 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/libgstsvtav1.so
- usr/lib/gstreamer-1.0/libgstsvthevcenc.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
- )
- # parabola over-rides
- files=(
- ${files[*]/usr\/lib\/gstreamer-1.0\/libgstfaac.so/} # non-free
- ); [[ "${CARCH}" == x86_64 ]] || files=(
- ${files[*]/usr\/lib\/gstreamer-1.0\/libgstsvthevcenc.so/} # x86_64 only
- ); [[ "${CARCH}" != armv7h ]] || files=(
- ${files[*]/usr\/lib\/gstreamer-1.0\/libgstsvtav1.so/} # x86 only
- ); _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-msdk() {
- pkgdesc+=" - msdk plugin"
- depends=(
- "gst-plugins-bad-libs=$pkgver"
- libvpl
- )
- depends=( ${depends[*]/$([[ "${CARCH}" == x86_64 ]] || echo libvpl)/} ) # x86_64 only
- cd root; local files=(
- usr/lib/gstreamer-1.0/libgstmsdk.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-qsv() {
- pkgdesc+=" - qsv plugin"
- depends=("gst-plugins-bad-libs=$pkgver")
- optdepends=(
- 'intel-media-sdk: runtime for legacy Intel GPUs'
- 'onevpl-intel-gpu: runtime for Tiger Lake and newer GPUs'
- )
- cd root; local files=(
- usr/lib/gstreamer-1.0/libgstqsv.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*
- }
|