guix_mirror_bot pushed a commit to branch node-team in repository guix. commit 833817784dd517839b77df52a4a5aa1a17974b83 Author: Nicolas Graves <ngra...@ngraves.fr> AuthorDate: Tue Feb 18 00:43:56 2025 +0100
build-system/tree-sitter: Switch to (json). * guix/build/tree-sitter-build-system.scm (patch-dependencies, install): Switch from (guix build json) to (json). Signed-off-by: Jelle Licht <jli...@fsfe.org> Change-Id: I8de71c74475514c932e84303a20f0409419e8527 --- guix/build/tree-sitter-build-system.scm | 44 +++++++++++++++------------------ 1 file changed, 20 insertions(+), 24 deletions(-) diff --git a/guix/build/tree-sitter-build-system.scm b/guix/build/tree-sitter-build-system.scm index 4106728bdf..1fe2601dd7 100644 --- a/guix/build/tree-sitter-build-system.scm +++ b/guix/build/tree-sitter-build-system.scm @@ -18,10 +18,10 @@ (define-module (guix build tree-sitter-build-system) #:use-module ((guix build node-build-system) #:prefix node:) - #:use-module (guix build json) #:use-module (guix build utils) #:use-module (ice-9 match) #:use-module (ice-9 regex) + #:use-module (json) #:use-module (srfi srfi-1) #:export (%standard-phases tree-sitter-build)) @@ -47,28 +47,24 @@ "Rewrite dependencies in 'package.json'. We remove all runtime dependencies and replace development dependencies with tree-sitter grammar node modules." - (define (rewrite package.json) - (map (match-lambda - (("dependencies" @ . _) - '("dependencies" @)) - (("devDependencies" @ . _) - `("devDependencies" @ - ,@(filter-map (match-lambda - ((key . directory) - (let ((node-module - (string-append directory - "/lib/node_modules/" - key))) - (and (directory-exists? node-module) - `(,key . ,node-module))))) - (alist-delete "node" inputs)))) - (other other)) - package.json)) - - (node:with-atomic-json-file-replacement "package.json" - (match-lambda - (('@ . package.json) - (cons '@ (rewrite package.json)))))) + (node:with-atomic-json-file-replacement + (lambda (pkg-meta-alist) + (map (match-lambda + (("dependencies" dependencies ...) + '("dependencies")) + (("devDependencies" dev-dependencies ...) + `("devDependencies" + ,@(filter-map (match-lambda + ((key . directory) + (let ((node-module + (string-append directory + "/lib/node_modules/" + key))) + (and (directory-exists? node-module) + `(,key . ,node-module))))) + (alist-delete "node" inputs)))) + (other other)) + pkg-meta-alist)))) ;; FIXME: The node build-system's configure phase does not support ;; cross-compiling so we re-define it. @@ -99,7 +95,7 @@ and replace development dependencies with tree-sitter grammar node modules." (define (compile-language dir) (with-directory-excursion dir (let ((lang (assoc-ref (call-with-input-file "src/grammar.json" - read-json) + json->scm) "name")) (source-file (lambda (path) (if (file-exists? path)