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=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"
|
|
}
|