Use working Chez runtime for Docker static Qt build
ober
d24e16b47e6ed65fed3b7a00e84bf0c685968008
--- a/Dockerfile.qt +++ b/Dockerfile.qt @@ -278,8 +278,8 @@ COPY --from=qt-alpine /usr/include/vterm.h /usr/local/include/ # Copy pre-compiled Qt shim (Alpine-musl g++, so ABI-compatible with musl final link) COPY --from=qt-shim-alpine /tmp/qt-shim-out/ /opt/qt-shim/ -# Create /opt/chez symlink → /build/chez-musl (musl Chez Scheme) -RUN ln -s /build/chez-musl /opt/chez +# Create /opt/chez compatibility symlink to the working Chez in jerboa21/jerboa +RUN ln -s /usr/local /opt/chez # Copy source and run the in-container build COPY . /src @@ -287,7 +287,7 @@ WORKDIR /src ARG JEMACS_FEATURES="" ENV JEMACS_FEATURES=${JEMACS_FEATURES} -RUN make linux-qt-local +RUN make linux-qt-local MUSL_CHEZ_ROOT=/usr/local MUSL_SCHEME=/usr/local/bin/scheme # Verify RUN ./jemacs-qt --version && \ --- a/Makefile +++ b/Makefile @@ -1294,8 +1294,11 @@ linux-static-tui-podman: vendor-deps ensure-podman-deps # Static TUI via the native Linux musl toolchain. # ============================================================================= -MUSL_CHEZ_ROOT ?= $(shell for d in /build/chez-musl "$(HOME)/chez-musl"; do \ - if [ -x "$$d/bin/scheme" ]; then printf '%s\n' "$$d"; break; fi; \ +MUSL_CHEZ_ROOT ?= $(shell for d in /usr/local /build/chez-musl "$(HOME)/chez-musl"; do \ + if [ -x "$$d/bin/scheme" ] && \ + printf '(display (machine-type))\n' | "$$d/bin/scheme" -q >/dev/null 2>&1; then \ + printf '%s\n' "$$d"; break; \ + fi; \ done) MUSL_SCHEME ?= $(if $(MUSL_CHEZ_ROOT),$(MUSL_CHEZ_ROOT)/bin/scheme,/usr/local/bin/scheme) MUSL_CHEZ_DIR ?= $(shell scheme_root=$$(dirname "$$(dirname "$(MUSL_SCHEME)")"); \