fix: keep multicall MCP dependencies deterministic
ober
6a5230800b3599147f04bd5b1493bc996047506a
--- a/Makefile +++ b/Makefile @@ -743,11 +743,11 @@ jerboa-smoke: jerboa # Install the native multicall binary + jmcp/jlsp symlinks into PREFIX/bin. # Defaults to ~/.local/bin; override e.g. `make install PREFIX=/usr/local`. -# Copies what `make jerboa` produced in dist/ (run that first). +# Rebuilds and smoke-tests all multicall modes before copying dist/jerboa. PREFIX ?= $(HOME)/.local BINDIR ?= $(PREFIX)/bin .PHONY: install -install: +install: jerboa-smoke @test -x "$(CURDIR)/dist/jerboa" || { echo "ERROR: dist/jerboa not built — run 'make jerboa' first" >&2; exit 1; } @mkdir -p "$(BINDIR)" @# Use ditto on macOS to preserve metadata (critical for code signing) --- a/mcp/server.ss +++ b/mcp/server.ss @@ -15,7 +15,7 @@ (std security errors) (std port-position) (std misc string) - (only (std pkg util) sha256-hex-of-bytevector)) + (only (std crypto sha256-pure) sha256-hex)) (def server-name "jerboa-mcp") (def server-version "0.2.4") @@ -11563,7 +11563,7 @@ (def (ffi-abi-manifest-payload module-records) (let* ([symbols (ffi-abi-all-symbols module-records)] [digest-input (string-join symbols "\n")] - [digest (sha256-hex-of-bytevector (string->utf8 digest-input))]) + [digest (sha256-hex (string->utf8 digest-input))]) (jhash "schema" "jerboa-ffi-abi-manifest/v1" "version" 1 "module_count" (length module-records)