Stage jsh libs for static Docker build

ober

b4b9bceb97bf4d493cc2b7dee51d11817800c9a5

diff --git a/Makefile b/Makefile
index 942b2b9..45a235c 100644
--- a/Makefile
+++ b/Makefile
@@ -1313,6 +1313,9 @@ MUSL_PCRE2_LIBDIR ?= /tmp/jemacs-build/jerboa-pcre2
 MUSL_SCINTILLA_LIBDIR ?= /tmp/jemacs-build/jerboa-scintilla
 MUSL_JSH_ROOT ?= $(MUSL_DEPS)/jerboa-shell
 MUSL_JSH ?= $(MUSL_JSH_ROOT)/src
+MUSL_JSQLITE_STAGE ?= $(MUSL_JSH_ROOT)/_jerbuild-stage
+MUSL_JERBUILD ?= $(MUSL_JERBOA)/dist/jerbuild
+MUSL_JSH_MAKE_ARGS = VENDOR="$(abspath $(MUSL_JSH_ROOT)/vendor)" JSQLITE_REPO="$(abspath $(MUSL_DEPS)/jsqlite)" JSQLITE_DIR="$(abspath $(MUSL_DEPS)/jsqlite/src)" JERBOA_WORMHOLE="$(abspath $(MUSL_JSH_ROOT)/vendor/jerboa-wormhole)"
 MUSL_SCI_VENDOR ?= $(SCINTILLA_VENDOR)
 QT_STATIC_PREFIX ?= /opt/qt6-static
 QT_STATIC_SHIM_DIR ?= /opt/qt-shim
@@ -1342,6 +1345,10 @@ linux-tui-local: vendor-deps
 	  | $(MUSL_SCHEME) --libdirs $(MUSL_JERBOA)/lib -q
 	rm -f $(MUSL_JERBOA)/lib/jerboa/*.wpo
 	$(MUSL_SCHEME) --libdirs $(MUSL_JERBOA)/lib --script $(MUSL_JERBOA)/jerbuild.ss src/ lib/
+	sh scripts/patch-jerboa-shell-compat.sh "$(CURDIR)"
+	$(MAKE) -C $(MUSL_JSH_ROOT) JERBUILD="$(MUSL_JERBUILD)" $(MUSL_JSH_MAKE_ARGS) stage-jsqlite
+	$(MAKE) -C $(MUSL_JSH_ROOT) JERBUILD="$(MUSL_JERBUILD)" $(MUSL_JSH_MAKE_ARGS) jerboa
+	$(MAKE) -C $(MUSL_JSH_ROOT) JERBUILD="$(MUSL_JERBUILD)" $(MUSL_JSH_MAKE_ARGS) gen-embed </dev/null
 	rm -rf $(MUSL_PCRE2_LIBDIR) $(MUSL_SCINTILLA_LIBDIR)
 	mkdir -p $(MUSL_PCRE2_LIBDIR) $(MUSL_SCINTILLA_LIBDIR)
 	cp $(MUSL_PCRE2)/jerboa_pcre2_shim.c $(MUSL_PCRE2_LIBDIR)/pcre2_shim.c
@@ -1397,7 +1404,7 @@ linux-tui-local: vendor-deps
 	JERBOA_SCINTILLA_DIR=$(MUSL_SCINTILLA_LIBDIR) \
 	SCI_VENDOR_DIR=$(MUSL_SCI_VENDOR) \
 	$(MUSL_SCHEME) \
-	  --libdirs lib:$(MUSL_JERBOA)/lib:$(MUSL_JSH):$(COREUTILS):$(JSH_AWK):$(JSH_SED):$(JERBOA_SSH):$(JERBOA_SQLITE):$(JERBOA_CRYPTO):$(JERBOA_FUSE):$(MUSL_PCRE2_LIBDIR):$(MUSL_SCINTILLA_LIBDIR) \
+	  --libdirs lib:$(MUSL_JERBOA)/lib:$(MUSL_JSH):$(MUSL_JSQLITE_STAGE):$(COREUTILS):$(JSH_AWK):$(JSH_SED):$(JERBOA_SSH):$(JERBOA_SQLITE):$(JERBOA_CRYPTO):$(JERBOA_FUSE):$(MUSL_PCRE2_LIBDIR):$(MUSL_SCINTILLA_LIBDIR) \
 	  --script build-binary.ss
 	@echo ""
 	@echo "=== jemacs static TUI binary built ==="
@@ -1446,6 +1453,10 @@ linux-qt-local: vendor-deps
 	  | $(MUSL_SCHEME) --libdirs $(MUSL_JERBOA)/lib -q
 	rm -f $(MUSL_JERBOA)/lib/jerboa/*.wpo
 	$(MUSL_SCHEME) --libdirs $(MUSL_JERBOA)/lib --script $(MUSL_JERBOA)/jerbuild.ss src/ lib/
+	sh scripts/patch-jerboa-shell-compat.sh "$(CURDIR)"
+	$(MAKE) -C $(MUSL_JSH_ROOT) JERBUILD="$(MUSL_JERBUILD)" $(MUSL_JSH_MAKE_ARGS) stage-jsqlite
+	$(MAKE) -C $(MUSL_JSH_ROOT) JERBUILD="$(MUSL_JERBUILD)" $(MUSL_JSH_MAKE_ARGS) jerboa
+	$(MAKE) -C $(MUSL_JSH_ROOT) JERBUILD="$(MUSL_JERBUILD)" $(MUSL_JSH_MAKE_ARGS) gen-embed </dev/null
 	# Set up writable jerboa-qt copy from vendor (compile Scheme library)
 	mkdir -p /tmp/jemacs-build/jerboa-qt
 	cp -a vendor/jerboa-qt/. /tmp/jemacs-build/jerboa-qt/
@@ -1547,7 +1558,7 @@ linux-qt-local: vendor-deps
 	TREE_SITTER_QUERIES_OBJ=/tmp/jemacs-build/treesitter_queries.o \
 	PKG_CONFIG_PATH=$(QT_STATIC_PREFIX)/lib/pkgconfig \
 	$(MUSL_SCHEME) \
-	  --libdirs lib:$(MUSL_JERBOA)/lib:$(MUSL_JSH):$(COREUTILS):$(JSH_AWK):$(JSH_SED):$(JERBOA_SSH):$(JERBOA_SQLITE):$(JERBOA_CRYPTO):$(JERBOA_FUSE):$(MUSL_PCRE2_LIBDIR):$(MUSL_SCINTILLA_LIBDIR):/tmp/jemacs-build/jerboa-qt/lib$(AWS_LOCAL_STATIC_LIBDIRS) \
+	  --libdirs lib:$(MUSL_JERBOA)/lib:$(MUSL_JSH):$(MUSL_JSQLITE_STAGE):$(COREUTILS):$(JSH_AWK):$(JSH_SED):$(JERBOA_SSH):$(JERBOA_SQLITE):$(JERBOA_CRYPTO):$(JERBOA_FUSE):$(MUSL_PCRE2_LIBDIR):$(MUSL_SCINTILLA_LIBDIR):/tmp/jemacs-build/jerboa-qt/lib$(AWS_LOCAL_STATIC_LIBDIRS) \
 	  --script build-binary-qt.ss
 	@echo ""
 	@echo "=== jemacs-qt static binary built ==="