guix_mirror_bot pushed a commit to branch javascript-team in repository guix.
commit 31b5d89cfc7e14c64659195c8feeae095bd2e2ab Author: Nicolas Graves <[email protected]> AuthorDate: Sun Jul 12 00:41:47 2026 +0200 gnu: node-llparse-bootstrap: Avoid node-build-system. * gnu/packages/node.scm (node-llparse-bootstrap) [name]: Add -bootstrap suffix. [build-system]: Switch to gnu-build-system + bootstrap-node-phases. [arguments]: Improve style. {node}: Drop it. {phases}: Migrate accordingly. [native-inputs]: Add node-bootstrap. Change-Id: I5e4a2db417daf7443043c7efab3e45570f2f960a Signed-off-by: Jelle Licht <[email protected]> --- gnu/packages/node.scm | 92 +++++++++++++++++++++++++++------------------------ 1 file changed, 49 insertions(+), 43 deletions(-) diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index 74fc1fa2c5..79988f6d75 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -649,7 +649,7 @@ Node.js and web browsers.") (define-public node-llparse-bootstrap (package - (name "node-llparse") + (name "node-llparse-bootstrap") (version "7.3.0") (source (origin @@ -659,48 +659,54 @@ Node.js and web browsers.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 - "09hqjcynkz5iv7aydzdwgs42r7y2zylplv0ff7w0vkdsgb08j22a")) - (modules '((guix build utils))) - (snippet - '(begin - ;; Fix imports for esbuild. - ;; https://github.com/evanw/esbuild/issues/477 - (substitute* '("src/compiler/index.ts" - "src/implementation/c/node/base.ts" - "src/implementation/c/node/table-lookup.ts" - "src/implementation/c/compilation.ts" - "src/implementation/c/helpers/match-sequence.ts" - "src/implementation/c/code/mul-add.ts") - (("\\* as assert") "assert") - (("\\* as debugAPI") "debugAPI")) - #t)))) - (build-system node-build-system) + (base32 "09hqjcynkz5iv7aydzdwgs42r7y2zylplv0ff7w0vkdsgb08j22a")))) + (build-system gnu-build-system) (arguments - `(#:node ,node-bootstrap - #:tests? #f - #:phases - (modify-phases %standard-phases - (add-after 'patch-dependencies 'delete-dependencies - (lambda args - (modify-json (delete-dependencies - `("@stylistic/eslint-plugin" - "@typescript-eslint/eslint-plugin" - "@typescript-eslint/parser" - "@types/debug" - "@types/mocha" - "@types/node" - "esm" - "eslint" - "llparse-test-fixture" - "mocha" - "ts-node" - "tslint" - "typescript"))))) - (replace 'build - (lambda* (#:key inputs #:allow-other-keys) - (let ((esbuild (search-input-file inputs "/bin/esbuild"))) - (invoke esbuild + (list + #:tests? #f + #:phases + #~(modify-phases #$bootstrap-node-phases + (add-after 'unpack 'fix-imports-for-esbuild + ;; https://github.com/evanw/esbuild/issues/477 + (lambda _ + (substitute* '("src/compiler/index.ts" + "src/implementation/c/node/base.ts" + "src/implementation/c/node/table-lookup.ts" + "src/implementation/c/compilation.ts" + "src/implementation/c/helpers/match-sequence.ts" + "src/implementation/c/code/mul-add.ts") + (("\\* as assert") "assert") + (("\\* as debugAPI") "debugAPI")))) + (add-before 'configure 'patch-dependencies + (lambda* (#:key inputs #:allow-other-keys) + #$(delete-dependencies* (list "@stylistic/eslint-plugin" + "@typescript-eslint/eslint-plugin" + "@typescript-eslint/parser" + "@types/debug" + "@types/mocha" + "@types/node" + "esm" + "eslint" + "llparse-test-fixture" + "mocha" + "ts-node" + "tslint" + "typescript")) + ;; Resolve dependencies manually. + (let* ((debug-path "lib/node_modules/debug") + (debug (search-input-directory inputs debug-path)) + (frontend-path "lib/node_modules/llparse-frontend") + (frontend (search-input-directory inputs frontend-path))) + (substitute* "package.json" + (("\"debug\": \".*") + (format #f "\"debug\": \"file://~a\"," debug)) + (("\"llparse-frontend\": \".*") + (format #f "\"llparse-frontend\": \"file://~a\"" + frontend)))))) + (add-before 'repack 'build + (lambda* (#:key inputs #:allow-other-keys) + (let ((esbuild (search-input-file inputs "/bin/esbuild"))) + (invoke esbuild "--platform=node" "--outfile=lib/api.js" "--bundle" @@ -708,7 +714,7 @@ Node.js and web browsers.") (inputs (list node-debug-bootstrap node-llparse-frontend-bootstrap)) (native-inputs - (list esbuild)) + (list esbuild node-bootstrap)) (home-page "https://github.com/nodejs/llparse#readme") (properties '((hidden? . #t))) (synopsis "Compile incremental parsers to C code")
