GNU bug report logs -
#51838
[PATCH 00/11] guix: node-build-system: Support compiling add-ons with node-gyp.
Previous Next
Reported by: Philip McGrath <philip <at> philipmcgrath.com>
Date: Sun, 14 Nov 2021 12:43:01 UTC
Severity: normal
Tags: patch
Done: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Philip McGrath <philip <at> philipmcgrath.com> writes:
> * guix/build/node-build-system.scm (delete-lockfiles): New function.
> Remove 'package-lock.json', 'yarn.lock', and 'npm-shrinkwrap.json',
> if they exist. Because these files specify dependency both exact
> versions and integrity hashes, they only cause problems for Guix.
> (%standard-phases): Add 'delete-lockfiles' after 'patch-dependencies'.
> ---
> gnu/packages/node.scm | 12 ------------
> guix/build/node-build-system.scm | 12 ++++++++++++
> 2 files changed, 12 insertions(+), 12 deletions(-)
>
> diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm
> index 6d48816c77..5289e2fe4f 100644
> --- a/gnu/packages/node.scm
> +++ b/gnu/packages/node.scm
> @@ -488,12 +488,6 @@ (define-public node-llparse-builder-bootstrap
> "typescript")
> #:phases
> (modify-phases %standard-phases
> - (add-before 'configure 'remove-package-lock
> - ;; Having package-lock.json seems to cause npm
> - ;; to look for things on the internet in the configure phase,
> - ;; even if we have them properly installed.
> - (lambda args
> - (delete-file-recursively "package-lock.json")))
> (replace 'build
> (lambda* (#:key inputs #:allow-other-keys)
> (let ((esbuild (string-append (assoc-ref inputs "esbuild")
> @@ -621,12 +615,6 @@ (define-public node-llparse-bootstrap
> "typescript")
> #:phases
> (modify-phases %standard-phases
> - (add-before 'configure 'remove-package-lock
> - ;; Having package-lock.json seems to cause npm
> - ;; to look for things on the internet in the configure phase,
> - ;; even if we have them properly installed.
> - (lambda args
> - (delete-file-recursively "package-lock.json")))
These changes were added in this series right? I'd suggest to re-order
commits to have the build-system changes first so that they don't need
to be added at all.
> (replace 'build
> (lambda* (#:key inputs #:allow-other-keys)
> (let ((esbuild (string-append (assoc-ref inputs "esbuild")
> diff --git a/guix/build/node-build-system.scm b/guix/build/node-build-system.scm
> index 249b3deee6..892104b6d2 100644
> --- a/guix/build/node-build-system.scm
> +++ b/guix/build/node-build-system.scm
> @@ -118,6 +118,17 @@ (define (resolve-dependencies meta-alist meta-key)
> (write-json package-meta out))))
> #t)
>
> +(define* (delete-lockfiles #:key inputs #:allow-other-keys)
> + "Delete 'package-lock.json', 'yarn.lock', and 'npm-shrinkwrap.json', if they
> +exist."
> + (for-each (lambda (pth)
> + (when (file-exists? pth)
> + (delete-file pth)))
> + '("package-lock.json"
> + "yarn.lock"
> + "npm-shrinkwrap.json"))
> + #t)
> +
> (define* (configure #:key outputs inputs #:allow-other-keys)
> (let ((npm (string-append (assoc-ref inputs "node") "/bin/npm")))
> (invoke npm "--offline" "--ignore-scripts" "install")
> @@ -168,6 +179,7 @@ (define %standard-phases
> (modify-phases gnu:%standard-phases
> (add-after 'unpack 'set-home set-home)
> (add-before 'configure 'patch-dependencies patch-dependencies)
> + (add-after 'patch-dependencies 'delete-lockfiles delete-lockfiles)
> (replace 'configure configure)
> (replace 'build build)
> (replace 'check check)
Otherwise LGTM!
Thanks,
Pierre
[signature.asc (application/pgp-signature, inline)]
This bug report was last modified 3 years and 195 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.