summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--guix/build/download.scm5
-rw-r--r--guix/cache.scm7
-rw-r--r--tests/cache.scm7
3 files changed, 16 insertions, 3 deletions
diff --git a/guix/build/download.scm b/guix/build/download.scm
index 6563341b9f..67a8952599 100644
--- a/guix/build/download.scm
+++ b/guix/build/download.scm
@@ -142,9 +142,8 @@ Otherwise return STORE-PATH."
(cond-expand
(guile-2.2
- ;; Guile 2.2.0 to 2.2.2 included has a bug whereby 'time-monotonic' objects
- ;; have seconds and nanoseconds swapped (fixed in Guile commit 886ac3e).
- ;; Work around it.
+ ;; Guile 2.2.2 has a bug whereby 'time-monotonic' objects have seconds and
+ ;; nanoseconds swapped (fixed in Guile commit 886ac3e). Work around it.
(define time-monotonic time-tai))
(else #t))
diff --git a/guix/cache.scm b/guix/cache.scm
index 077b0780bd..1dc0083f1d 100644
--- a/guix/cache.scm
+++ b/guix/cache.scm
@@ -33,6 +33,13 @@
;;;
;;; Code:
+(cond-expand
+ (guile-2.2
+ ;; Guile 2.2.2 has a bug whereby 'time-monotonic' objects have seconds and
+ ;; nanoseconds swapped (fixed in Guile commit 886ac3e). Work around it.
+ (define time-monotonic time-tai))
+ (else #t))
+
(define (obsolete? date now ttl)
"Return #t if DATE is obsolete compared to NOW + TTL seconds."
(time>? (subtract-duration now (make-time time-duration 0 ttl))
diff --git a/tests/cache.scm b/tests/cache.scm
index 0e1e08b693..e46cdd816d 100644
--- a/tests/cache.scm
+++ b/tests/cache.scm
@@ -24,6 +24,13 @@
#:use-module ((guix utils) #:select (call-with-temporary-directory))
#:use-module (ice-9 match))
+(cond-expand
+ (guile-2.2
+ ;; Guile 2.2.2 has a bug whereby 'time-monotonic' objects have seconds and
+ ;; nanoseconds swapped (fixed in Guile commit 886ac3e). Work around it.
+ (define time-monotonic time-tai))
+ (else #t))
+
(test-begin "cache")
(test-equal "remove-expired-cache-entries"