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
Hey Philip,
Philip McGrath <philip <at> philipmcgrath.com> writes:
> gnu/packages/node.scm (node-llparse-builder-bootstrap)[arguments]: Add
> `#:absent-dependencies`. Stop deleting the `'configure` phase.
> Add a new phase `#:delete-package-lock` to remove the
> problematic "package-lock.json".
> ---
> gnu/packages/node.scm | 14 +++++++++++++-
> 1 file changed, 13 insertions(+), 1 deletion(-)
>
> diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm
> index 98a51276e7..9d4903a8ca 100644
> --- a/gnu/packages/node.scm
> +++ b/gnu/packages/node.scm
> @@ -479,9 +479,21 @@ (define-public node-llparse-builder-bootstrap
> (arguments
> `(#:node ,node-bootstrap
> #:tests? #f
> + #:absent-dependencies
> + `("@types/mocha"
> + "@types/node"
> + "mocha"
> + "ts-node"
> + "tslint"
> + "typescript")
> #:phases
> (modify-phases %standard-phases
> - (delete 'configure)
> + (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.
package-lock.json lists exact versions _and integrity hashes_; since it
seems unlikely that after node-build-system's finaggling we end up with
an identical hash, we will always have a mismatch and fetch 'proper'
sources online accordingly. As far as npm + package-lock.json are
concerned, we don't have them properly installed.
From what I have seen package-lock.json offers us no benefits (because
we track exact dependency information via the guix store) and can (as
you have seen) prevent builds from working. My 2c: always remove it in a
phase in the build system. It's simply a preference though, so your
please go with what you think is the right choice. You might want to
update the comment nonetheless so it's clear we know what's going on.
> + (lambda args
> + (delete-file-recursively "package-lock.json")))
> (replace 'build
> (lambda* (#:key inputs #:allow-other-keys)
> (let ((esbuild (string-append (assoc-ref inputs "esbuild")
> --
> 2.32.0
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.