guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

02/16: gnu: node-acorn: Remove lifecycle script.


From: guix-commits
Subject: 02/16: gnu: node-acorn: Remove lifecycle script.
Date: Mon, 20 Feb 2023 11:03:04 -0500 (EST)

jlicht pushed a commit to branch node-18-updates
in repository guix.

commit 197afed76664fc38c7004645a783433b964eecf7
Author: Jelle Licht <jlicht@fsfe.org>
AuthorDate: Wed Feb 8 22:05:17 2023 +0100

    gnu: node-acorn: Remove lifecycle script.
    
    * gnu/packages/node-xyz.scm (node-acorn)[arguments]<modules>: New argument.
    <phases>: Patch out unused 'prepare' script that breaks dependents.
---
 gnu/packages/node-xyz.scm | 26 +++++++++++++++++++++++++-
 1 file changed, 25 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm
index 51ea110e8c..5e7e6ae4d9 100644
--- a/gnu/packages/node-xyz.scm
+++ b/gnu/packages/node-xyz.scm
@@ -47,11 +47,35 @@
     (build-system node-build-system)
     (arguments
      '(#:tests? #f
+       #:modules
+       ((guix build node-build-system)
+        (srfi srfi-1)
+        (ice-9 match)
+        (guix build utils))
        #:phases
        (modify-phases %standard-phases
          (add-after 'unpack 'change-directory
            (lambda _
-             (chdir "acorn"))))))
+             (chdir "acorn")))
+         (add-before 'configure 'avoid-prepare-scripts
+           (lambda _
+             ;; We need to remove the prepare script from "package.json", as
+             ;; it would try to use the build environment and would block the
+             ;; automatic building by other packages making use of node-acorn.
+             ;; TODO: Add utility function
+             (with-atomic-json-file-replacement "package.json"
+               (match-lambda
+                 (('@ . pkg-meta-alist)
+                  (cons '@ (map (match-lambda
+                                  (("scripts" @ . scripts-alist)
+                                   `("scripts" @ ,@(filter (match-lambda
+                                                             (("prepare" . _)
+                                                              #f)
+                                                             (_
+                                                              #t))
+                                                           scripts-alist)))
+                                  (other other))
+                                pkg-meta-alist))))))))))
     (home-page "https://github.com/acornjs/acorn/tree/master/acorn";)
     (synopsis "Javascript-based Javascript parser")
     (description "Acornjs is a Javascript parser with many options and an



reply via email to

[Prev in Thread] Current Thread [Next in Thread]