gnu: node: Add an npmrc file to set nodedir.
* gnu/packages/node.scm (node, node-lts)[arguments]: Add a phase 'install-npmrc to create a "built-in" npmrc file that configures "nodedir" to point to the output store path. (libnode)[arguments]: Delete the 'install-npmrc phase. Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
This commit is contained in:
parent
bcaf6f14a1
commit
71adecd51a
1 changed files with 19 additions and 1 deletions
|
@ -261,7 +261,24 @@
|
||||||
(find-files (search-input-directory outputs "lib/node_modules")
|
(find-files (search-input-directory outputs "lib/node_modules")
|
||||||
(lambda (file stat)
|
(lambda (file stat)
|
||||||
(executable-file? file))
|
(executable-file? file))
|
||||||
#:stat lstat))))))))
|
#:stat lstat)))))
|
||||||
|
(add-after 'install 'install-npmrc
|
||||||
|
;; Note: programs like node-gyp only receive these values if
|
||||||
|
;; they are started via `npm` or `npx`.
|
||||||
|
;; See: https://github.com/nodejs/node-gyp#npm-configuration
|
||||||
|
(lambda* (#:key outputs #:allow-other-keys)
|
||||||
|
(let* ((out (assoc-ref outputs "out")))
|
||||||
|
(with-output-to-file
|
||||||
|
;; Use the config file "primarily for distribution
|
||||||
|
;; maintainers" rather than "{prefix}/etc/npmrc",
|
||||||
|
;; especially because node-build-system uses --prefix
|
||||||
|
;; to install things to their store paths:
|
||||||
|
(string-append out "/lib/node_modules/npm/npmrc")
|
||||||
|
(lambda ()
|
||||||
|
;; Tell npm (mostly node-gyp) where to find our
|
||||||
|
;; installed headers so it doesn't try to
|
||||||
|
;; download them from the internet:
|
||||||
|
(format #t "nodedir=~a\n" out)))))))))
|
||||||
(native-inputs
|
(native-inputs
|
||||||
`(;; Runtime dependencies for binaries used as a bootstrap.
|
`(;; Runtime dependencies for binaries used as a bootstrap.
|
||||||
("c-ares" ,c-ares)
|
("c-ares" ,c-ares)
|
||||||
|
@ -822,4 +839,5 @@ source files.")
|
||||||
`(cons* "--shared" "--without-npm" ,flags))
|
`(cons* "--shared" "--without-npm" ,flags))
|
||||||
((#:phases phases '%standard-phases)
|
((#:phases phases '%standard-phases)
|
||||||
`(modify-phases ,phases
|
`(modify-phases ,phases
|
||||||
|
(delete 'install-npmrc)
|
||||||
(delete 'patch-nested-shebangs)))))))
|
(delete 'patch-nested-shebangs)))))))
|
||||||
|
|
Reference in a new issue