diff options
Diffstat (limited to 'gnu/packages')
-rw-r--r-- | gnu/packages/node.scm | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index 2f269d08b1..887ef930ff 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2014 Cyrill Schenkel <cyrill.schenkel@gmail.com> ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2015, 2016 David Thompson <davet@gnu.org> +;;; Copyright © 2016 Ludovic Courtès <ludo@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -99,7 +100,23 @@ (zero? (apply system* (string-append (assoc-ref inputs "python") "/bin/python") - "configure" flags)))))))) + "configure" flags))))) + (replace 'patch-shebangs + (lambda* (#:key outputs #:allow-other-keys #:rest all) + ;; Work around <http://bugs.gnu.org/23723>. + (let* ((patch (assoc-ref %standard-phases 'patch-shebangs)) + (npm (string-append (assoc-ref outputs "out") + "/bin/npm")) + (target (readlink npm))) + (and (apply patch all) + (with-directory-excursion (dirname npm) + ;; Turn NPM into a symlink to TARGET again, which 'npm' + ;; relies on for the resolution of relative file names + ;; in JS files. + (delete-file target) + (rename-file npm target) + (symlink target npm) + #t)))))))) (native-inputs `(("python" ,python-2) ("perl" ,perl) |