summaryrefslogtreecommitdiff
path: root/guix/packages.scm
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 /guix/packages.scm
parent89be37a5a3923b161995286b19759f0b828638e8 (diff)
downloadguix-patches-8e77f41ede94be3e3a80f0f19810aac954609eb7.tar
guix-patches-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>.
Diffstat (limited to 'guix/packages.scm')
-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))))
(_