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)

Reply via email to