Stage jsh directly with vendored Jerboa source
ober
2b7bd264129cb7e604713c31f1ef1aecd470b0f8
--- a/Makefile +++ b/Makefile @@ -1314,9 +1314,6 @@ 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 ?= $(shell if [ -x "$(MUSL_JERBOA)/dist/jerbuild" ]; then printf '%s\n' "$(MUSL_JERBOA)/dist/jerbuild"; elif command -v jerbuild >/dev/null 2>&1; then command -v jerbuild; fi) -MUSL_JERBUILD_ARG = $(if $(MUSL_JERBUILD),JERBUILD="$(MUSL_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 @@ -1347,9 +1344,23 @@ linux-tui-local: vendor-deps 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) $(MUSL_JERBUILD_ARG) $(MUSL_JSH_MAKE_ARGS) stage-jsqlite - $(MAKE) -C $(MUSL_JSH_ROOT) $(MUSL_JERBUILD_ARG) $(MUSL_JSH_MAKE_ARGS) jerboa - $(MAKE) -C $(MUSL_JSH_ROOT) $(MUSL_JERBUILD_ARG) $(MUSL_JSH_MAKE_ARGS) gen-embed </dev/null + rm -rf $(MUSL_JSQLITE_STAGE)/jsqlite + mkdir -p $(MUSL_JSQLITE_STAGE)/jsqlite + cp -a $(MUSL_DEPS)/jsqlite/src/jsqlite/. $(MUSL_JSQLITE_STAGE)/jsqlite/ + find $(MUSL_JSQLITE_STAGE) -type f \( -name '*.so' -o -name '*.wpo' -o -name '*.ta6le' -o -name '*.ta6fb' -o -name '*.tarm64osx' -o -name '*.tx86_64osx' \) -delete 2>/dev/null || true + cd $(MUSL_JSH_ROOT) && $(MUSL_SCHEME) --libdirs $(MUSL_JERBOA)/lib --script support/jerbuild.ss jsh-src src --force + cd $(MUSL_JSH_ROOT) && $(MUSL_SCHEME) --libdirs $(MUSL_JERBOA)/lib --script support/jerbuild.ss jerboa-src/src src --force + @if [ ! -f "$(MUSL_JSH)/jsh/embed-data.sls" ]; then \ + printf '%s\n' '#!chezscheme' '(library (jsh embed-data)' \ + ' (export %embed-file-table %embed-encrypted? %embed-salt %record-pubkey)' \ + ' (import (chezscheme))' \ + ' (define %embed-encrypted? #f)' \ + ' (define %embed-salt #vu8())' \ + ' (define %record-pubkey #f)' \ + ' (define %embed-file-table (make-hashtable string-hash string=?))' \ + ')' > "$(MUSL_JSH)/jsh/embed-data.sls"; \ + fi + scripts/patch-static-load-shared.sh $(MUSL_JSH_ROOT) 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 @@ -1455,9 +1466,23 @@ linux-qt-local: vendor-deps 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) $(MUSL_JERBUILD_ARG) $(MUSL_JSH_MAKE_ARGS) stage-jsqlite - $(MAKE) -C $(MUSL_JSH_ROOT) $(MUSL_JERBUILD_ARG) $(MUSL_JSH_MAKE_ARGS) jerboa - $(MAKE) -C $(MUSL_JSH_ROOT) $(MUSL_JERBUILD_ARG) $(MUSL_JSH_MAKE_ARGS) gen-embed </dev/null + rm -rf $(MUSL_JSQLITE_STAGE)/jsqlite + mkdir -p $(MUSL_JSQLITE_STAGE)/jsqlite + cp -a $(MUSL_DEPS)/jsqlite/src/jsqlite/. $(MUSL_JSQLITE_STAGE)/jsqlite/ + find $(MUSL_JSQLITE_STAGE) -type f \( -name '*.so' -o -name '*.wpo' -o -name '*.ta6le' -o -name '*.ta6fb' -o -name '*.tarm64osx' -o -name '*.tx86_64osx' \) -delete 2>/dev/null || true + cd $(MUSL_JSH_ROOT) && $(MUSL_SCHEME) --libdirs $(MUSL_JERBOA)/lib --script support/jerbuild.ss jsh-src src --force + cd $(MUSL_JSH_ROOT) && $(MUSL_SCHEME) --libdirs $(MUSL_JERBOA)/lib --script support/jerbuild.ss jerboa-src/src src --force + @if [ ! -f "$(MUSL_JSH)/jsh/embed-data.sls" ]; then \ + printf '%s\n' '#!chezscheme' '(library (jsh embed-data)' \ + ' (export %embed-file-table %embed-encrypted? %embed-salt %record-pubkey)' \ + ' (import (chezscheme))' \ + ' (define %embed-encrypted? #f)' \ + ' (define %embed-salt #vu8())' \ + ' (define %record-pubkey #f)' \ + ' (define %embed-file-table (make-hashtable string-hash string=?))' \ + ')' > "$(MUSL_JSH)/jsh/embed-data.sls"; \ + fi + scripts/patch-static-load-shared.sh $(MUSL_JSH_ROOT) # 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/