basepkgname=libcamera pkgname=$basepkgname-neko-gpu pkgver=9999999 pkgrel=0 pkgdesc="Linux camera framework" url="https://libcamera.org/" arch="all" license="LGPL-2.1-or-later AND GPL-2.0-or-later" depends_dev=" eudev-dev glib-dev gnutls-dev gst-plugins-bad-dev qt6-qtbase-dev " makedepends="$depends_dev coreutils doxygen graphviz gtest-dev libevent-dev libpisp-dev libunwind-dev libyuv-dev linux-headers meson py3-jinja2 py3-ply py3-sphinx py3-yaml qt6-qttools-dev yaml-dev " subpackages=" $pkgname-dbg $pkgname-dev $pkgname-doc $pkgname-gstreamer $pkgname-tools " provides=" $basepkgname $basepkgname-dbg $basepkgname-dev $basepkgname-doc $basepkgname-gstreamer $basepkgname-tools " source="" builddir="$srcdir/$pkgname" # gstreamer tests fail # manual strip because ipa .sign files depend on the file contents- have to re-sign after strip options="!strip !check" case "$CARCH" in arm*|aarch64) subpackages="$subpackages" ;; esac case "$CARCH" in ppc64le|s390x|riscv64|loongarch64) # doesn't install any ipa ;; *) depends="$pkgname-ipa" subpackages="$subpackages $pkgname-ipa" ;; esac build() { abuild-meson \ -Dtest=false \ -Dv4l2=false \ -Dwerror=false \ -Dpipelines=simple \ -Dipas=simple \ . output meson compile -C output } check() { meson test -C output --print-errorlogs } package() { DESTDIR="$pkgdir" meson install --no-rebuild -C output # manual strip first.. scanelf --recursive \ --nobanner \ --etype "ET_DYN,ET_EXEC" \ --format "%F" \ "$pkgdir" \ | while read -r file; do strip "$file" done } ipa() { depends="" amove usr/lib/libcamera # then sign ipa's local ipa for ipa in "$subpkgdir"/usr/lib/libcamera/ipa/ipa*.so; do msg "signing $ipa" "$builddir"/src/ipa/ipa-sign.sh \ "$(find "$builddir"/output -type f -iname "*ipa-priv-key.pem")" \ "$ipa" \ "$ipa".sign done } gstreamer() { depends="" amove usr/lib/gstreamer-1.0 } tools() { depends="" amove usr/bin/cam amove usr/bin/lc-compliance } sha512sums=""