# Maintainer: Ryan Hughes # The main-branch build of omasnap. Pinned by the upstream watch in # .omarchy/package.json (bin/sync-upstream): every main tip becomes a commit # pin here, versioned .r.g so it sorts above the # tagged release it follows and below the next one. pkgname=omasnap-git pkgver=1.21.0.r15.geb22bfe pkgrel=1 _commit=eb22bfe5b79a2235f9bf5a8ffd026bc882969c1e pkgdesc="Native Wayland screenshot and annotation overlay for Hyprland (main branch)" 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' 'git' 'ninja' 'pkgconf' 'wayland-protocols' ) provides=('omasnap') conflicts=('omasnap') options=('!debug') source=("omasnap::git+$url.git#commit=${_commit}") sha256sums=('c8717bae97faa3798cce25038d42429185f832cd47b09f20c232f684c721952a') build() { cmake -S omasnap -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 omasnap/README.md \ "$pkgdir/usr/share/doc/omasnap/README.md" install -Dm644 omasnap/LICENSE \ "$pkgdir/usr/share/licenses/omasnap/LICENSE" }