summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2013-04-27 23:02:06 +0200
committerLudovic Courtès <ludo@gnu.org>2013-04-27 23:02:06 +0200
commit8e77f41ede94be3e3a80f0f19810aac954609eb7 (patch)
tree0982f901793c37c151310b57f755fc300c47ccd0
parent89be37a5a3923b161995286b19759f0b828638e8 (diff)
downloadguix-8e77f41ede94be3e3a80f0f19810aac954609eb7.tar.gz
packages: Work around compiler bug in Guile 2.0.5.
* guix/packages.scm (package-field-location): Work around compiler bug
  in 2.0.5.  Reported by Andreas Enge <andreas@enge.fr>.
-rw-r--r--guix/packages.scm9
1 files changed, 6 insertions, 3 deletions
diff --git a/guix/packages.scm b/guix/packages.scm
index ec5420f6c0..e8ae2fb817 100644
--- a/guix/packages.scm
+++ b/guix/packages.scm
@@ -181,9 +181,12 @@ representation."
                 (let ((field (assoc field inits)))
                   (match field
                     ((_ value)
-                     (and=> (or (source-properties value)
-                                (source-properties field))
-                            source-properties->location))
+                     ;; Put the `or' here, and not in the first argument of
+                     ;; `and=>', to work around a compiler bug in 2.0.5.
+                     (or (and=> (source-properties value)
+                                source-properties->location)
+                         (and=> (source-properties field)
+                                source-properties->location)))
                     (_
                      #f))))
                (_