jpkg: complete binary package setup

ober

a42e61cdaedbae0d0c04ec6000d0d1cc5a3ff95f

diff --git a/.gitignore b/.gitignore
index 30fe7da..1c255c1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -18,3 +18,4 @@ lib/libjerboa_native.so
 
 # Test/bench scratch dirs
 /tmp/jerboa-db-test-*
+.jpkg/
diff --git a/.jerbuild b/.jerbuild
index d35bfa5..e153889 100644
--- a/.jerbuild
+++ b/.jerbuild
@@ -2,10 +2,10 @@
 
 (entry "bin/jerboa-db.ss")
 (output "jerboa-db")
-(requires "cc" "cargo" "bundled jerboa-native-rs" "DuckDB build support from duckdb-rs")
-(notes "This repo imports (std db duckdb), so DuckDB is required. Build jerboa-native-rs with duckdb_feat plus the usual tls,crypto,sqlite surface.")
+(requires "cc" "cargo" "bundled jerboa-native-rs")
+(notes "DuckDB is provided by the Jerboa stdlib's external binding; the bundled native crate supplies the tls, crypto, and sqlite surface used by this binary.")
 (libdirs "lib")
 (rust-crates
   ("@bundle/jerboa-native-rs/Cargo.toml"
-   features: "tls,crypto,sqlite,duckdb_feat"
+   features: "tls,crypto,sqlite"
    no-default-features: #t))
diff --git a/jpkg.lock b/jpkg.lock
new file mode 100644
index 0000000..6035213
--- /dev/null
+++ b/jpkg.lock
@@ -0,0 +1,2 @@
+;; jpkg.lock — generated by jpkg; records the exact resolved dependency graph. Do not edit by hand.
+(lock (version 1) (packages ()) )
diff --git a/jpkg.policy.sexp b/jpkg.policy.sexp
new file mode 100644
index 0000000..3f95f7f
--- /dev/null
+++ b/jpkg.policy.sexp
@@ -0,0 +1,3 @@
+(policy
+  (mode dev)
+  (allow (native-build) (ffi)))
diff --git a/jpkg.sexp b/jpkg.sexp
index 5f19f2d..5a06bdd 100644
--- a/jpkg.sexp
+++ b/jpkg.sexp
@@ -8,4 +8,6 @@
   (modules ((root ".")))
   (dependencies ())
   (dev-dependencies ())
-  (capabilities ()))
+  (capabilities ((native-code reason: "Rust database build support")
+                 (ffi libraries: ())
+                 (executables ("jerboa-db")))))