Stage jsh libs for static Docker build
ober
b4b9bceb97bf4d493cc2b7dee51d11817800c9a5
--- 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 ==="