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 ;;; Copyright © 2015 Andreas Enge ;;; Copyright © 2015, 2016 David Thompson +;;; Copyright © 2016 Ludovic Courtès ;;; ;;; 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 . + (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)