summaryrefslogtreecommitdiff
path: root/gnu/packages/lisp.scm
diff options
context:
space:
mode:
authorMark H Weaver <mhw@netris.org>2015-03-07 20:42:01 -0500
committerMark H Weaver <mhw@netris.org>2015-03-07 20:42:01 -0500
commite396976b9b61c1db08c35059a2d46d72a4e93479 (patch)
tree5ae3c47cb7e729977ac02797ef1d16de6d6ea930 /gnu/packages/lisp.scm
parent68a5d6c770a6600d4a92ab7e81ed42a988d76f19 (diff)
gnu: sbcl: Use ISO-8859-1 to patch unix tool paths.
* gnu/packages/lisp.scm (sbcl)[arguments]: Use ISO-8859-1 to patch unix tool paths in string literals.
Diffstat (limited to 'gnu/packages/lisp.scm')
-rw-r--r--gnu/packages/lisp.scm19
1 files changed, 11 insertions, 8 deletions
diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index 76c826cc6e..f0599a95c6 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 John Darrington <jmd@gnu.org>
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
+;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -231,14 +232,16 @@ an interpreter, a compiler, a debugger, and much more.")
(define (quoted-path input path)
(string-append "\"" input path "\""))
;; Patch absolute paths in string literals. Note that this
- ;; occurs in some .sh files too (which contain Lisp code).
- (substitute* (find-files "." "\\.(lisp|sh)$")
- (("\"/bin/sh\"") (quoted-path bash "/bin/sh"))
- (("\"/usr/bin/env\"") (quoted-path coreutils "/usr/bin/env"))
- (("\"/bin/cat\"") (quoted-path coreutils "/bin/cat"))
- (("\"/bin/ed\"") (quoted-path ed "/bin/ed"))
- (("\"/bin/echo\"") (quoted-path coreutils "/bin/echo"))
- (("\"/bin/uname\"") (quoted-path coreutils "/bin/uname")))
+ ;; occurs in some .sh files too (which contain Lisp code). Use
+ ;; ISO-8859-1 because some of the files are ISO-8859-1 encoded.
+ (with-fluids ((%default-port-encoding #f))
+ (substitute* (find-files "." "\\.(lisp|sh)$")
+ (("\"/bin/sh\"") (quoted-path bash "/bin/sh"))
+ (("\"/usr/bin/env\"") (quoted-path coreutils "/usr/bin/env"))
+ (("\"/bin/cat\"") (quoted-path coreutils "/bin/cat"))
+ (("\"/bin/ed\"") (quoted-path ed "/bin/ed"))
+ (("\"/bin/echo\"") (quoted-path coreutils "/bin/echo"))
+ (("\"/bin/uname\"") (quoted-path coreutils "/bin/uname"))))
;; This one script has a non-string occurrence of /bin/sh.
(substitute* '("tests/foreign.test.sh")
;; Leave whitespace so we don't match the shebang.