Upstream moved to omacom/omasnap and cut 1.21.0 from the same line as 1.20.1, so the version simply increases and no epoch is needed. check() flushes dirty pages before the smoke suite. The 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 made those fsyncs stall past the suite's 5-second settle windows on the first run after every build.
65 lines
1.8 KiB
Bash
65 lines
1.8 KiB
Bash
# Maintainer: Tobi Lütke <tobi@lutke.com>
|
|
|
|
pkgname=omasnap
|
|
pkgver=1.21.0
|
|
pkgrel=1
|
|
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"
|
|
}
|