22 lines
1 KiB
Bash
Executable file
22 lines
1 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
# CONTRACT: build the pinned upstream release with the narrow keymap guard;
|
|
# install only in the user's libexec, never over the system package.
|
|
repo="$(cd -- "$(dirname -- "$0")/.." && pwd)"
|
|
source_dir="${XDG_CACHE_HOME:-$HOME/.cache}/labfy-slurp-v1.5.0"
|
|
binary="$HOME/.local/libexec/labfy-slurp"
|
|
if [[ ! -d "$source_dir/.git" ]]; then
|
|
git clone --depth 1 --branch v1.5.0 https://github.com/emersion/slurp.git "$source_dir"
|
|
fi
|
|
[[ "$(git -C "$source_dir" rev-parse HEAD)" == fc921b603ee02afff42aba9eb073e82fab900048 ]] || exit 1
|
|
if ! git -C "$source_dir" diff --quiet -- main.c; then
|
|
git -C "$source_dir" apply --reverse --check "$repo/tools/slurp-keymap-guard.patch"
|
|
else
|
|
patch -d "$source_dir" -p1 < "$repo/tools/slurp-keymap-guard.patch"
|
|
fi
|
|
meson setup "$source_dir/build" "$source_dir" -Dman-pages=disabled --reconfigure 2>/dev/null || \
|
|
meson setup "$source_dir/build" "$source_dir" -Dman-pages=disabled
|
|
ninja -C "$source_dir/build"
|
|
install -Dm755 "$source_dir/build/slurp" "$binary"
|
|
printf '%s\n' "$binary"
|