Stop patching vendored jerboa-shell
ober
a983ee4436b6aa5d2d650cedc2bff6f5c26cff5d
--- a/Makefile +++ b/Makefile @@ -296,9 +296,8 @@ vendor-deps: echo " cloning $$repo"; \ sh support/fetch-locked-dependency.sh "$$url" "$$rev" "$$dest"; \ fi; \ - done + done @sh scripts/patch-jerboa-std-compat.sh "$(abspath $(JERBOA)/lib)" - @sh scripts/patch-jerboa-shell-compat.sh "$(CURDIR)" @scripts/patch-jerboa-aws-compat.sh "$(CURDIR)" @echo "=== Transpiling vendored jerboa-qt ===" @$(MAKE) -C "$(CQT_ROOT)" JERBUILD="$(abspath $(VENDORED_JERBUILD))" transpile @@ -330,7 +329,6 @@ check-pcre2-system-deps: rm -f "$$tmp.c" "$$tmp" deps: check-pcre2-system-deps vendor-deps ensure-vendor-jerboa-tools - sh scripts/patch-jerboa-shell-compat.sh "$(CURDIR)" $(MAKE) -C $(JSH_ROOT) JERBUILD="$(VENDORED_JERBUILD)" $(JSH_MAKE_ARGS) stage-jsqlite $(MAKE) -C $(JSH_ROOT) JERBUILD="$(VENDORED_JERBUILD)" SCHEME="$(SCHEME)" $(JSH_MAKE_ARGS) jerboa $(MAKE) -C $(JSH_ROOT) JERBUILD="$(VENDORED_JERBUILD)" $(JSH_MAKE_ARGS) gen-embed </dev/null @@ -1457,7 +1455,6 @@ linux-tui-local: vendor-deps echo '(import (chezscheme)) (compile-imported-libraries #t) (generate-wpo-files #t) (import (jerboa core)) (import (jerboa prelude))' \ | $(MUSL_SCHEME_CLEAN) --libdirs $(MUSL_JERBOA)/lib -q $(MUSL_SCHEME_CLEAN) --libdirs $(MUSL_JERBOA)/lib --script $(MUSL_JERBOA)/jerbuild.ss src/ lib/ - sh scripts/patch-jerboa-shell-compat.sh "$(CURDIR)" rm -rf $(MUSL_JSQLITE_STAGE)/jsqlite mkdir -p $(MUSL_JSQLITE_STAGE)/jsqlite cp -a $(MUSL_DEPS)/jerboa-sqlite/src/jsqlite/. $(MUSL_JSQLITE_STAGE)/jsqlite/ @@ -1602,7 +1599,6 @@ linux-qt-local: vendor-deps echo '(import (chezscheme)) (compile-imported-libraries #t) (generate-wpo-files #t) (import (jerboa core)) (import (jerboa prelude))' \ | $(MUSL_SCHEME_CLEAN) --libdirs $(MUSL_JERBOA)/lib -q $(MUSL_SCHEME_CLEAN) --libdirs $(MUSL_JERBOA)/lib --script $(MUSL_JERBOA)/jerbuild.ss src/ lib/ - sh scripts/patch-jerboa-shell-compat.sh "$(CURDIR)" rm -rf $(MUSL_JSQLITE_STAGE)/jsqlite mkdir -p $(MUSL_JSQLITE_STAGE)/jsqlite cp -a $(MUSL_DEPS)/jerboa-sqlite/src/jsqlite/. $(MUSL_JSQLITE_STAGE)/jsqlite/ deleted file mode 100644 --- a/scripts/patch-jerboa-shell-compat.sh +++ /dev/null @@ -1,118 +0,0 @@ -#!/bin/sh -set -eu - -root="${1:-$(cd "$(dirname "$0")/.." && pwd)}" -jsh="$root/vendor/jerboa-shell" - -patch_util() { - file="$1" - if [ ! -f "$file" ] || grep -q "(def (validate-file-path" "$file"; then - return 0 - fi - - tmp="$file.tmp.$$" - awk ' - /;; Search PATH for a regular file/ && !done { - print ";; Validate a file path before passing it to C-level file operations." - print "(def (validate-file-path path who)" - print " (let loop ((i 0))" - print " (when (< i (string-length path))" - print " (when (char=? (string-ref path i) #\\nul)" - print " (error who (string-append path \": path contains null byte\")))" - print " (loop (+ i 1))))" - print " path)" - print "" - done=1 - } - { print } - ' "$file" > "$tmp" - mv "$tmp" "$file" -} - -patch_redirect() { - file="$1" - if [ ! -f "$file" ] || grep -q "validate-file-path filename" "$file"; then - return 0 - fi - - tmp="$file.tmp.$$" - awk ' - { - print - if ($0 == "(def (redirect-fd-to-file! fd filename flags mode)") { - getline - if ($0 == " (let ((raw-fd (ffi-open-raw filename flags mode)))") { - print " (validate-file-path filename (quote redirect))" - } - print - } - } - ' "$file" > "$tmp" - mv "$tmp" "$file" -} - -patch_main() { - file="$1" - if [ ! -f "$file" ] || grep -q "validate-file-path (car args)" "$file"; then - return 0 - fi - - tmp="$file.tmp.$$" - sed 's/\[filename (car args)\]/[filename (validate-file-path (car args) (quote source))]/' "$file" > "$tmp" - mv "$tmp" "$file" -} - -patch_awk_regex_cache_order() { - file="$jsh/vendor/jerboa-awk/lib/jerboa-awk/runtime.sls" - [ -f "$file" ] || return 0 - - if awk ' - /define \(make-regex-cache/ { make_line = NR } - /define \*regex-cache\*/ { cache_line = NR } - END { exit !(make_line && cache_line && make_line < cache_line) } - ' "$file"; then - return 0 - fi - - tmp="$file.tmp.$$" - awk ' - $0 == " (define *regex-cache* (make-regex-cache))" { - cache_define = $0 - next - } - cache_define != "" && $0 == "" { - next - } - { - print - if ($0 == " (define (make-regex-cache)") { - in_make = 1 - } else if (in_make && $0 == " (make-hashtable equal-hash equal?))") { - print "" - print cache_define - cache_define = "" - in_make = 0 - } - } - END { - if (cache_define != "") { - print cache_define - } - } - ' "$file" > "$tmp" - mv "$tmp" "$file" -} - -patch_util "$jsh/util.ss" -patch_util "$jsh/jerboa-shell/util.ss" -patch_util "$jsh/jsh-src/jsh/util.ss" - -patch_redirect "$jsh/redirect.ss" -patch_redirect "$jsh/jerboa-shell/redirect.ss" -patch_redirect "$jsh/jsh-src/jsh/redirect.ss" - -patch_main "$jsh/main.ss" -patch_main "$jsh/jerboa-shell/main.ss" -patch_main "$jsh/jsh-src/jsh/main.ss" - -patch_awk_regex_cache_order --- a/support/stage-for-jerbuild.sh +++ b/support/stage-for-jerbuild.sh @@ -43,7 +43,6 @@ for required in \ done echo "==> Applying compatibility patches" -sh scripts/patch-jerboa-shell-compat.sh "$REPO_ROOT" scripts/patch-jerboa-aws-compat.sh "$REPO_ROOT" sh scripts/patch-jerboa-qt-compat.sh "$REPO_ROOT"