# Maintainer: Tobi Lütke pkgname=omasnap pkgver=1.21.0 pkgrel=2 pkgdesc="Native Wayland screenshot and annotation overlay for Hyprland" arch=('x86_64' 'aarch64') url="https://github.com/omacom/omasnap" license=('MIT' 'OFL-1.1') depends=( 'hyprland' 'layer-shell-qt' 'qt6-base' 'tesseract' 'tesseract-data-eng' 'wayland' 'wl-clipboard' ) makedepends=( 'cmake' 'ninja' 'pkgconf' 'wayland-protocols' ) options=('!debug') source=("$pkgname-$pkgver.tar.gz::$url/archive/refs/tags/v$pkgver.tar.gz") sha256sums=('2f842edf67631825fa1e102876020040ea3e21341221a428b6aeee5580a9d928') build() { cmake -S "$pkgname-$pkgver" -B build -G Ninja \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=/usr cmake --build build --parallel } check() { # The smoke suite fsyncs its working documents under /tmp. On the CI # droplets the build leaves about a gigabyte of dirty pages, and the # flush that starts a few seconds into the suite makes those fsyncs stall # long enough to overrun the suite's 5-second settle windows. Flush first. local runtime_dir status started started=$(date +%s%N); sync echo "flushed dirty pages in $(( ($(date +%s%N) - started) / 1000000 )) ms" runtime_dir=$(mktemp -d /dev/shm/omasnap-runtime.XXXXXX) if QT_QPA_PLATFORM=offscreen QT_FORCE_STDERR_LOGGING=1 \ XDG_RUNTIME_DIR="$runtime_dir" \ ./build/omasnap-smoke "$srcdir/omasnap-smoke-output"; then status=0 else status=$? echo "omasnap-smoke exited with status $status" >&2 fi rm -r -- "$runtime_dir" return "$status" } package() { cmake --install build --prefix "$pkgdir/usr" install -Dm644 "$pkgname-$pkgver/README.md" \ "$pkgdir/usr/share/doc/$pkgname/README.md" install -Dm644 "$pkgname-$pkgver/LICENSE" \ "$pkgdir/usr/share/licenses/$pkgname/LICENSE" }