~ruther/guix-local

83291101c39c1cd1bf472280c24ad68d94248c2e — Eric Bavier 11 years ago f5beb0c
utils: Preserve makefile shell arguments during patch.

* guix/build/utils.scm (patch-makefile-SHELL): Preserve shell arguments.
1 files changed, 3 insertions(+), 2 deletions(-)

M guix/build/utils.scm
M guix/build/utils.scm => guix/build/utils.scm +3 -2
@@ 582,14 582,15 @@ When KEEP-MTIME? is true, the atime/mtime of FILE are kept unchanged."

  (let ((st (stat file)))
   (substitute* file
     (("^ *SHELL[[:blank:]]*=[[:blank:]]*([[:graph:]]*/)([[:graph:]]+)[[:blank:]]*" _ dir shell)
     (("^ *SHELL[[:blank:]]*=[[:blank:]]*([[:graph:]]*/)([[:graph:]]+)[[:blank:]]*(.*)$"
       _ dir shell args)
      (let* ((old (string-append dir shell))
             (new (or (find-shell shell) old)))
        (unless (string=? new old)
          (format (current-error-port)
                  "patch-makefile-SHELL: ~a: changing `SHELL' from `~a' to `~a'~%"
                  file old new))
        (string-append "SHELL = " new "\n"))))
        (string-append "SHELL = " new " " args))))

   (when keep-mtime?
     (set-file-time file st))))