diff options
| -rw-r--r-- | guix/serialization.scm | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/guix/serialization.scm b/guix/serialization.scm index f793feb53dc..ceccd207aa7 100644 --- a/guix/serialization.scm +++ b/guix/serialization.scm | |||
| @@ -287,6 +287,21 @@ order." | |||
| 287 | string<?) | 287 | string<?) |
| 288 | string=?)) | 288 | string=?)) |
| 289 | 289 | ||
| 290 | (cond-expand | ||
| 291 | ((not guile-2.2) | ||
| 292 | ;; Guile 2.0 lacks 'define-values'. | ||
| 293 | (define-syntax define-values | ||
| 294 | (syntax-rules () | ||
| 295 | ((_ (a b) exp) | ||
| 296 | (begin | ||
| 297 | (define a #f) | ||
| 298 | (define b #f) | ||
| 299 | (call-with-values (lambda () exp) | ||
| 300 | (lambda (x y) | ||
| 301 | (set! a x) | ||
| 302 | (set! b y)))))))) | ||
| 303 | (else #t)) | ||
| 304 | |||
| 290 | (define* (write-file-tree file port | 305 | (define* (write-file-tree file port |
| 291 | #:key | 306 | #:key |
| 292 | file-type+size | 307 | file-type+size |
