# 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.r81.g6771b19 pkgrel=2 _commit=6771b19de8bcead2b17c16b49f1a8a97445dd8e3 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=('7721f7f1010e610c6435ce7a1e99d8da3b8ceb9ccb1674a28c94a96b8eb411b8') 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 --output-dir "$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" }