Add jpkg package CI

ober

18b22191b49efde82c7c8f35320e2d5928674599

diff --git a/.build.yml b/.build.yml
new file mode 100644
index 0000000..7792771
--- /dev/null
+++ b/.build.yml
@@ -0,0 +1,36 @@
+image: debian/stable
+packages:
+  - build-essential
+  - libncurses-dev
+  - uuid-dev
+  - zlib1g-dev
+  - liblz4-dev
+  - git
+  - curl
+  - unzip
+  - zip
+sources:
+  - https://git.sr.ht/~lisp/jerboa
+  - https://git.sr.ht/~lisp/jerboa-gitsafe
+artifacts:
+  - jerboa-gitsafe/jerboa-gitsafe-0.1.0.jpkg
+tasks:
+  - build-jerboa-tools: |
+      cd jerboa
+      make jerboa
+      echo 'export PATH="$HOME/jerboa/dist:$PATH"' >> ~/.buildenv
+  - package-gitsafe: |
+      cd jerboa-gitsafe
+      J="$HOME/jerboa/dist/jerboa"
+      "$J" pkg verify
+      "$J" pkg policy
+      "$J" pkg build
+      "$J" pkg pack --output "$PWD/jerboa-gitsafe-0.1.0.jpkg"
+      "$J" pkg verify "$PWD/jerboa-gitsafe-0.1.0.jpkg"
+      "$J" pkg verify --reproduce
+  - test-gitsafe: |
+      cd jerboa-gitsafe
+      JERBUILD="$HOME/jerboa/dist/jerbuild" make test
+  - build-gitsafe: |
+      cd jerboa-gitsafe
+      JERBUILD="$HOME/jerboa/dist/jerbuild" make binary
diff --git a/Makefile b/Makefile
index abf3e01..9fa3daf 100644
--- a/Makefile
+++ b/Makefile
@@ -4,11 +4,11 @@
 # release toolchain for this os/arch into .jerboa/bin (support/ensure-jerboa.sh).
 JERBOA_VERSION ?= v0.2.0
 JERBOA_TOOL_DIR ?= $(CURDIR)/.jerboa/bin
-JERBUILD ?= $(shell if [ -x ./jerbuild ] && [ -x ./jerboa ]; then echo ./jerbuild; \
-	elif [ -x "$(JERBOA_TOOL_DIR)/jerbuild" ] && [ -x "$(JERBOA_TOOL_DIR)/jerboa" ]; then echo "$(JERBOA_TOOL_DIR)/jerbuild"; \
-	elif [ -x ../jerboa/dist/jerbuild ] && [ -x ../jerboa/dist/jerboa ]; then echo ../jerboa/dist/jerbuild; \
+JERBUILD ?= $(shell if [ -x ./jerbuild ]; then echo ./jerbuild; \
+	elif [ -x "$(JERBOA_TOOL_DIR)/jerbuild" ]; then echo "$(JERBOA_TOOL_DIR)/jerbuild"; \
+	elif [ -x ../jerboa/dist/jerbuild ]; then echo ../jerboa/dist/jerbuild; \
 	elif [ -x ../jerboa/jerbuild ]; then echo ../jerboa/jerbuild; \
-	elif command -v jerbuild >/dev/null 2>&1 && command -v jerboa >/dev/null 2>&1; then command -v jerbuild; \
+	elif command -v jerbuild >/dev/null 2>&1; then command -v jerbuild; \
 	else echo "$(JERBOA_TOOL_DIR)/jerbuild"; fi)
 JH = $(shell "$(JERBUILD)" --jerboa-home 2>/dev/null)
 
@@ -31,15 +31,15 @@ all: binary
 # Make sure a working jerbuild exists; download the release toolchain for
 # this os/arch into $(JERBOA_TOOL_DIR) when none is found.
 ensure-jerboa-tools:
-	@if [ -x ./jerbuild ] && [ -x ./jerboa ]; then \
+	@if [ -x ./jerbuild ]; then \
 	  echo "=== Using project-local ./jerbuild ==="; \
-	elif [ -x "$(JERBOA_TOOL_DIR)/jerbuild" ] && [ -x "$(JERBOA_TOOL_DIR)/jerboa" ]; then \
+	elif [ -x "$(JERBOA_TOOL_DIR)/jerbuild" ]; then \
 	  echo "=== Using downloaded Jerboa toolchain: $(JERBOA_TOOL_DIR) ==="; \
-	elif [ -x ../jerboa/dist/jerbuild ] && [ -x ../jerboa/dist/jerboa ]; then \
+	elif [ -x ../jerboa/dist/jerbuild ]; then \
 	  echo "=== Using sibling Jerboa build: ../jerboa/dist/jerbuild ==="; \
 	elif [ -x ../jerboa/jerbuild ]; then \
 	  echo "=== Using sibling Jerboa build: ../jerboa/jerbuild ==="; \
-	elif command -v jerbuild >/dev/null 2>&1 && command -v jerboa >/dev/null 2>&1; then \
+	elif command -v jerbuild >/dev/null 2>&1; then \
 	  echo "=== Using Jerboa toolchain: $(JERBUILD) ==="; \
 	else \
 	  echo "=== Fetching Jerboa $(JERBOA_VERSION) release tools into $(JERBOA_TOOL_DIR) ==="; \
diff --git a/jpkg.sexp b/jpkg.sexp
new file mode 100644
index 0000000..04ae031
--- /dev/null
+++ b/jpkg.sexp
@@ -0,0 +1,11 @@
+(package
+  (name "@lisp/jerboa-gitsafe")
+  (version "0.1.0")
+  (description "Secret-scanning git hooks")
+  (license "UNLICENSED")
+  (source "https://git.sr.ht/~lisp/jerboa-gitsafe")
+  (jerboa ">=0.2.0")
+  (modules ((root "gitsafe")))
+  (dependencies ())
+  (dev-dependencies ())
+  (capabilities ((executables ("gitsafe-bin")))))