jpkg: complete binary package setup
ober
8ae1db51c0843f54080c265ac38500353cb8716b
--- a/.gitignore +++ b/.gitignore @@ -28,3 +28,4 @@ support/cu_*.h support/coreutils-main.o support/libcoreutils-obj.o support/libcoreutils.so +.jpkg/ --- a/Makefile +++ b/Makefile @@ -11,7 +11,7 @@ # Chez (built once in $(JERBOA_HOME)) and the matching C cross toolchain. JERBOA_HOME ?= $(CURDIR)/../jerboa -JERBOA_VERSION ?= v0.2.3 +JERBOA_VERSION ?= v0.2.8 JERBOA_TOOL_DIR ?= $(CURDIR)/../jerboa/dist ifeq ($(origin JERBUILD),undefined) ifneq ($(wildcard $(JERBOA_TOOL_DIR)/jerbuild),) @@ -41,8 +41,8 @@ LIBDIRS := lib:$(JH)/lib LOCAL_JERBOA_NATIVE_DIR ?= $(CURDIR)/../jerboa/jerboa-native-rs NATIVE_DIR ?= vendor/jerboa-native-rs JERBOA_REMOTE ?= https://git.sr.ht/~lisp/jerboa -JERBOA_COMMIT ?= 23ad83d28ac65cf6f0d2d702fd32934f207c26bf -JERBOA_NATIVE_TREE ?= 9ddb4914a6e99e1c2966803fab00b9bad5a01335 +JERBOA_COMMIT ?= ae716feb376ce9adefcad65e923ebfd866131947 +JERBOA_NATIVE_TREE ?= 7bffbeb71fe5decde8ce8e8583944842f04b8735 CARGO_AUDIT ?= cargo audit # Multi-call applet names. The binary dispatches on argv[0]; these are the @@ -151,7 +151,7 @@ vendor-clean: # Transpile Jerboa source to R6RS libraries jerbuild can whole-program compile. gen: vendor-deps - @$(JERBUILD) transpile src lib + @$(JERBUILD) transpile src lib --force # Native multi-call binary for the host OS/arch. Reads .jerbuild. binary: gen new file mode 100644 --- /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 ()) ) new file mode 100644 --- /dev/null +++ b/jpkg.policy.sexp @@ -0,0 +1,3 @@ +(policy + (mode dev) + (allow (native-build) (ffi))) --- a/jpkg.sexp +++ b/jpkg.sexp @@ -8,4 +8,6 @@ (modules ((root "."))) (dependencies ()) (dev-dependencies ()) - (capabilities ())) + (capabilities ((native-code reason: "C and Rust FFI build support") + (ffi libraries: ()) + (executables ("jerboa-coreutils")))))