2023-01-04 01:32:19 +01:00
|
|
|
#!/usr/bin/bash
|
|
|
|
# JOBoRun : Jwm OpenBox Obarun RUNit
|
|
|
|
# Maintainer : Joe Bo Run <joborun@disroot.org>
|
|
|
|
# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobextra/$pkgname"
|
|
|
|
# Website : https://pozol.eu
|
|
|
|
#-----------------------------------------| DESCRIPTION |---------------------------------------
|
|
|
|
|
|
|
|
pkgbase=libcamera
|
2023-03-22 01:18:43 +01:00
|
|
|
pkgname=(libcamera libcamera-ipa libcamera-tools gst-plugin-libcamera) # libcamera-docs
|
2023-02-03 01:24:50 +01:00
|
|
|
pkgver=0.0.4
|
|
|
|
_commit=6a57d964abdb3f24608c0fc2839d96e02eebddeb # refs/tags/v0.0.4
|
2023-03-22 01:18:43 +01:00
|
|
|
pkgrel=03
|
2023-01-04 01:32:19 +01:00
|
|
|
pkgdesc="A complex camera support library for Linux, Android, and ChromeOS w/o systemd"
|
|
|
|
url="https://libcamera.org/"
|
|
|
|
depends=(glibc)
|
|
|
|
makedepends=(doxygen git glib2 graphviz gst-plugins-base gtest libdrm
|
2023-01-22 15:03:17 +01:00
|
|
|
libjpeg-turbo libtiff libyaml meson python-jinja python-ply python-sphinx
|
|
|
|
python-pyyaml qt5-base qt5-tools sdl2 texlive-core)
|
2023-01-04 01:32:19 +01:00
|
|
|
source=(git+https://git.libcamera.org/$pkgname/$pkgname.git#tag=$_commit)
|
|
|
|
|
|
|
|
_pick() {
|
|
|
|
local p="$1" f d; shift
|
|
|
|
for f; do
|
|
|
|
d="$srcdir/$p/${f#$pkgdir/}"
|
|
|
|
mkdir -p "$(dirname "$d")"
|
|
|
|
mv "$f" "$d"
|
|
|
|
rmdir -p --ignore-fail-on-non-empty "$(dirname "$f")"
|
|
|
|
done
|
|
|
|
}
|
|
|
|
|
|
|
|
prepare() {
|
|
|
|
cd $pkgname
|
|
|
|
# add version, so that utils/gen-version.sh may rely on it
|
|
|
|
printf "%s\n" "$pkgver" > .tarball-version
|
|
|
|
}
|
|
|
|
|
|
|
|
build() {
|
|
|
|
local meson_options=(
|
|
|
|
-D v4l2=true
|
|
|
|
-D tracing=disabled
|
|
|
|
-D test=true
|
|
|
|
)
|
|
|
|
|
|
|
|
arch-meson $pkgname build "${meson_options[@]}"
|
|
|
|
meson compile -C build
|
|
|
|
}
|
|
|
|
|
|
|
|
check() {
|
|
|
|
meson test -C build || echo "Tests require CLONE_NEWUSER/ CLONE_NEWNET."
|
|
|
|
}
|
|
|
|
|
|
|
|
package_libcamera() {
|
|
|
|
depends=(
|
|
|
|
gcc-libs
|
|
|
|
glibc
|
|
|
|
gnutls
|
2023-03-22 01:18:43 +01:00
|
|
|
libcamera-ipa
|
2023-01-04 01:32:19 +01:00
|
|
|
libelf
|
|
|
|
libunwind
|
|
|
|
libyaml
|
|
|
|
libudev.so
|
2023-03-22 01:18:43 +01:00
|
|
|
sh
|
2023-01-04 01:32:19 +01:00
|
|
|
)
|
|
|
|
optdepends=(
|
|
|
|
'gst-plugin-libcamera: GStreamer plugin'
|
|
|
|
'libcamera-docs: for documentation'
|
|
|
|
'libcamera-tools: for applications'
|
|
|
|
)
|
|
|
|
provides=(libcamera.so libcamera-base.so)
|
|
|
|
|
|
|
|
meson install -C build --destdir "$pkgdir"
|
2023-03-18 10:35:55 +01:00
|
|
|
|
2023-01-04 01:32:19 +01:00
|
|
|
(
|
|
|
|
cd "$pkgdir"
|
|
|
|
# _pick $pkgbase-docs usr/share/doc
|
2023-03-22 01:18:43 +01:00
|
|
|
_pick $pkgbase-ipa usr/lib/libcamera/
|
2023-01-04 01:32:19 +01:00
|
|
|
_pick $pkgbase-tools usr/bin/{cam,qcam,lc-compliance}
|
|
|
|
_pick gst-plugin-$pkgbase usr/lib/gstreamer-*
|
|
|
|
)
|
|
|
|
}
|
|
|
|
|
|
|
|
#package_libcamera-docs() {
|
|
|
|
# pkgdesc+=" - documentation"
|
|
|
|
#
|
|
|
|
# mv -v $pkgname/* "$pkgdir"
|
|
|
|
# mv -v "$pkgdir/usr/share/doc/$pkgbase-$pkgver/" "$pkgdir/usr/share/doc/$pkgbase/"
|
|
|
|
# rm -frv "$pkgdir/usr/share/doc/$pkgbase/html/.buildinfo"
|
|
|
|
#}
|
|
|
|
|
2023-03-22 01:18:43 +01:00
|
|
|
package_libcamera-ipa() {
|
|
|
|
pkgdesc+=" - signed IPA"
|
|
|
|
depends=(
|
|
|
|
gcc-libs
|
|
|
|
glibc
|
|
|
|
libcamera libcamera.so libcamera-base.so
|
|
|
|
)
|
|
|
|
# stripping requires re-signing of IPA libs, so we do it manually
|
|
|
|
options=(!strip)
|
|
|
|
|
|
|
|
strip $pkgname/usr/lib/libcamera/*{.so,proxy}
|
|
|
|
for _lib in $pkgname/usr/lib/libcamera/*.so; do
|
|
|
|
$pkgbase/src/ipa/ipa-sign.sh "$(find build -type f -iname "*ipa-priv-key.pem")" "$_lib" "$_lib.sign"
|
|
|
|
done
|
|
|
|
mv -v $pkgname/* "$pkgdir"
|
|
|
|
}
|
|
|
|
|
2023-01-04 01:32:19 +01:00
|
|
|
package_libcamera-tools() {
|
|
|
|
pkgdesc+=" - tools"
|
|
|
|
depends=(
|
|
|
|
gcc-libs
|
|
|
|
glibc
|
|
|
|
gtest
|
|
|
|
libcamera libcamera.so libcamera-base.so
|
2023-03-22 01:18:43 +01:00
|
|
|
libdrm
|
2023-01-04 01:32:19 +01:00
|
|
|
libevent libevent-2.1.so libevent_pthreads-2.1.so
|
|
|
|
libjpeg-turbo libjpeg.so
|
|
|
|
libtiff libtiff.so
|
|
|
|
libyaml
|
|
|
|
qt5-base
|
|
|
|
sdl2
|
|
|
|
)
|
|
|
|
conflicts=("$pkgbase-tests<0.0.1-2")
|
|
|
|
replaces=("$pkgbase-tests<0.0.1-2")
|
|
|
|
|
|
|
|
mv -v $pkgname/* "$pkgdir"
|
|
|
|
}
|
|
|
|
|
|
|
|
package_gst-plugin-libcamera() {
|
|
|
|
pkgdesc="Multimedia graph framework - libcamera plugin"
|
|
|
|
depends=(
|
|
|
|
gcc-libs
|
|
|
|
glibc
|
|
|
|
glib2 libg{lib,object}-2.0.so
|
|
|
|
gstreamer
|
|
|
|
gst-plugins-base-libs
|
|
|
|
libcamera libcamera.so libcamera-base.so
|
|
|
|
)
|
|
|
|
|
|
|
|
mv -v $pkgname/* "$pkgdir"
|
|
|
|
}
|
|
|
|
|
2023-03-18 10:35:55 +01:00
|
|
|
#---- arch license gpg-key & sha256sums ----
|
|
|
|
|
|
|
|
arch=(x86_64)
|
2023-01-04 01:32:19 +01:00
|
|
|
|
|
|
|
license=(LGPL2.1 GPL2)
|
|
|
|
|
|
|
|
sha256sums=(SKIP)
|
2023-03-18 10:35:55 +01:00
|
|
|
|
2023-03-22 01:18:43 +01:00
|
|
|
## 7f813a67114abe5f4d123631f082fe4abd556d1b04f9b5b3a93adc4a862d83e3 gst-plugin-libcamera-0.0.4-03-x86_64.pkg.tar.lz
|
|
|
|
## ca819de94f4d058233e8bb45406cd414d19309dbd6f658fdbbf188b5ffea75ca libcamera-0.0.4-03-x86_64.pkg.tar.lz
|
|
|
|
## 62f2c572bba02c0f1ec65eb3d507cc63039e37e42ecd04f3ccc50fbaddb8d929 libcamera-ipa-0.0.4-03-x86_64.pkg.tar.lz
|
|
|
|
## 7518080576f806926a7c65b88099b2bf15c75d7a92079d82bd396b79efd3c016 libcamera-tools-0.0.4-03-x86_64.pkg.tar.lz
|
2023-02-03 01:24:50 +01:00
|
|
|
|