unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
* bug#24687: Tests fail building on Arch Linux
@ 2016-10-13 21:39 David McInnis
  2016-10-14 13:03 ` Ludovic Courtès
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: David McInnis @ 2016-10-13 21:39 UTC (permalink / raw)
  To: 24687

[-- Attachment #1: Type: text/plain, Size: 769 bytes --]

Hi, I tried building guix from the AUR: 
https://aur.archlinux.org/packages/guix/  However, it failed and asked 
me to email you the results.

Please let me know if there is anything else you need from me.

-Dave

============================================================================
Testsuite summary for GNU Guix 0.11.0
============================================================================
# TOTAL: 570
# PASS:  562
# SKIP:  5
# XFAIL: 0
# FAIL:  3
# XPASS: 0
# ERROR: 0
============================================================================
See ./test-suite.log
Please report to bug-guix@gnu.org
============================================================================

FAIL: tests/guix-download.sh
FAIL: tests/store.scm
FAIL: tests/lint.scm

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: test-suite.log --]
[-- Type: text/x-log; name="test-suite.log", Size: 165435 bytes --]

=======================================
   GNU Guix 0.11.0: ./test-suite.log
=======================================

# TOTAL: 570
# PASS:  562
# SKIP:  5
# XFAIL: 0
# FAIL:  3
# XPASS: 0
# ERROR: 0

.. contents:: :depth: 2

SKIP: tests/base32
==================

sh: nix-hash: command not found
test-name: bytevector->base32-string
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/base32.scm:48
source:
+ (test-assert
+   "bytevector->base32-string"
+   (fold (lambda (bv expected result)
+           (and result
+                (string=?
+                  (bytevector->base32-string bv)
+                  expected)))
+         #t
+         (map string->utf8
+              '("" "f" "fo" "foo" "foob" "fooba" "foobar"))
+         '(""
+           "my"
+           "mzxq"
+           "mzxw6"
+           "mzxw6yq"
+           "mzxw6ytb"
+           "mzxw6ytboi")))
actual-value: #t
result: PASS

test-name: base32-string->bytevector
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/base32.scm:65
source:
+ (test-assert
+   "base32-string->bytevector"
+   (every (lambda (bv)
+            (equal?
+              (base32-string->bytevector
+                (bytevector->base32-string bv))
+              bv))
+          (map string->utf8
+               '("" "f" "fo" "foo" "foob" "fooba" "foobar"))))
actual-value: #t
result: PASS

test-name: nix-base32-string->bytevector
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/base32.scm:73
source:
+ (test-assert
+   "nix-base32-string->bytevector"
+   (every (lambda (bv)
+            (equal?
+              (nix-base32-string->bytevector
+                (bytevector->nix-base32-string bv))
+              bv))
+          (map string->utf8
+               '("" "f" "fo" "foo" "foob" "fooba" "foobar"))))
actual-value: #t
result: PASS

test-name: &invalid-base32-character
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/base32.scm:81
source:
+ (test-equal
+   "&invalid-base32-character"
+   #\e
+   (guard (c ((invalid-base32-character? c)
+              (invalid-base32-character-value c)))
+          (nix-base32-string->bytevector
+            (string-append (make-string 51 #\a) "e"))))
expected-value: e
actual-value: e
result: PASS

test-name: sha256 & bytevector->nix-base32-string
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/base32.scm:92
source:
+ (test-assert
+   "sha256 & bytevector->nix-base32-string"
+   (let ((file (search-path %load-path "tests/test.drv")))
+     (equal?
+       (bytevector->nix-base32-string
+         (sha256
+           (call-with-input-file file get-bytevector-all)))
+       (let* ((c (format
+                   #f
+                   "~a --type sha256 --base32 --flat \"~a\""
+                   %nix-hash
+                   file))
+              (p (open-input-pipe c))
+              (l (read-line p)))
+         (close-pipe p)
+         l))))
result: SKIP


SKIP: tests/snix
================

test-name: factorize-uri
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/snix.scm:36
source:
+ (test-assert
+   "factorize-uri"
+   (every?
+     (match-lambda
+       ((uri version '-> expected)
+        (equal? (factorize-uri uri version) expected)))
+     '(("http://example.com/foo.tgz"
+        "1.0"
+        ->
+        "http://example.com/foo.tgz")
+       ("http://example.com/foo-2.8.tgz"
+        "2.8"
+        ->
+        ("http://example.com/foo-" version ".tgz"))
+       ("http://example.com/2.8/foo-2.8.tgz"
+        "2.8"
+        ->
+        ("http://example.com/"
+         version
+         "/foo-"
+         version
+         ".tgz")))))
actual-value: #t
result: PASS

test-name: nixpkgs->guix-package
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/snix.scm:54
source:
+ (test-assert
+   "nixpkgs->guix-package"
+   (match (nixpkgs->guix-package
+            %nixpkgs-directory
+            "guile")
+          (('package
+            ('name "guile")
+            ('version (? string?))
+            ('source ('origin _ ...))
+            ('build-system _)
+            ('inputs ('quasiquote (inputs ...)))
+            ('propagated-inputs ('quasiquote (pinputs ...)))
+            ('home-page (? string?))
+            ('synopsis (? string?))
+            ('description (? string?))
+            ('license (? symbol?)))
+           (and (member '("libffi" ,libffi) inputs)
+                (member '("gmp" ,gmp) pinputs)
+                #t))
+          (x (pk 'fail x #f))))
result: SKIP


FAIL: tests/store
=================

test-name: store-path-hash-part
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/store.scm:51
source:
+ (test-equal
+   "store-path-hash-part"
+   "283gqy39v3g9dxjy26rynl0zls82fmcg"
+   (store-path-hash-part
+     (string-append
+       (%store-prefix)
+       "/283gqy39v3g9dxjy26rynl0zls82fmcg-guile-2.0.7")))
expected-value: 283gqy39v3g9dxjy26rynl0zls82fmcg
actual-value: 283gqy39v3g9dxjy26rynl0zls82fmcg
result: PASS

test-name: store-path-hash-part #f
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/store.scm:57
source:
+ (test-equal
+   "store-path-hash-part #f"
+   #f
+   (store-path-hash-part
+     (string-append
+       (%store-prefix)
+       "/foo/bar/283gqy39v3g9dxjy26rynl0zls82fmcg-guile-2.0.7")))
expected-value: #f
actual-value: #f
result: PASS

test-name: store-path-package-name
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/store.scm:63
source:
+ (test-equal
+   "store-path-package-name"
+   "guile-2.0.7"
+   (store-path-package-name
+     (string-append
+       (%store-prefix)
+       "/283gqy39v3g9dxjy26rynl0zls82fmcg-guile-2.0.7")))
expected-value: guile-2.0.7
actual-value: guile-2.0.7
result: PASS

test-name: store-path-package-name #f
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/store.scm:69
source:
+ (test-equal
+   "store-path-package-name #f"
+   #f
+   (store-path-package-name
+     "/foo/bar/283gqy39v3g9dxjy26rynl0zls82fmcg-guile-2.0.7"))
expected-value: #f
actual-value: #f
result: PASS

test-name: direct-store-path?
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/store.scm:74
source:
+ (test-assert
+   "direct-store-path?"
+   (and (direct-store-path?
+          (string-append
+            (%store-prefix)
+            "/283gqy39v3g9dxjy26rynl0zls82fmcg-guile-2.0.7"))
+        (not (direct-store-path?
+               (string-append
+                 (%store-prefix)
+                 "/283gqy39v3g9dxjy26rynl0zls82fmcg-guile-2.0.7/bin/guile")))
+        (not (direct-store-path? (%store-prefix)))))
actual-value: #t
result: PASS

test-name: valid-path? live
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/store.scm:86
source:
+ (test-assert
+   "valid-path? live"
+   (let ((p (add-text-to-store %store "hello" "hello, world")))
+     (valid-path? %store p)))
actual-value: #t
result: PASS

test-name: valid-path? false
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/store.scm:90
source:
+ (test-assert
+   "valid-path? false"
+   (not (valid-path?
+          %store
+          (string-append
+            (%store-prefix)
+            "/"
+            (make-string 32 #\e)
+            "-foobar"))))
actual-value: #t
result: PASS

test-name: valid-path? error
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/store.scm:95
source:
+ (test-assert
+   "valid-path? error"
+   (with-store
+     s
+     (guard (c ((nix-protocol-error? c) #t))
+            (valid-path? s "foo")
+            #f)))
actual-value: #t
result: PASS

test-name: valid-path? recovery
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/store.scm:101
source:
+ (test-assert
+   "valid-path? recovery"
+   (with-store
+     s
+     (let-syntax ((true-if-error
+                    (syntax-rules ()
+                      ((_ exp)
+                       (guard (c ((nix-protocol-error? c) #t)) exp #f)))))
+       (and (true-if-error (valid-path? s "foo"))
+            (true-if-error (valid-path? s "bar"))
+            (true-if-error (valid-path? s "baz"))
+            (true-if-error (valid-path? s "chbouib"))
+            (valid-path?
+              s
+              (add-text-to-store s "valid" "yeah"))))))
actual-value: #t
result: PASS

test-name: hash-part->path
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/store.scm:118
source:
+ (test-assert
+   "hash-part->path"
+   (let ((p (add-text-to-store %store "hello" "hello, world")))
+     (equal?
+       (hash-part->path %store (store-path-hash-part p))
+       p)))
actual-value: #t
result: PASS

test-name: dead-paths
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/store.scm:123
source:
+ (test-assert
+   "dead-paths"
+   (let ((p (add-text-to-store
+              %store
+              "random-text"
+              (random-text))))
+     (->bool (member p (dead-paths %store)))))
random seed for tests: 1476382008
finding garbage collector roots...
removing stale temporary roots file `/tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/var/14073/temproots/14090'
determining live/dead paths...
actual-value: #t
result: PASS

test-name: permanent root
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/store.scm:144
source:
+ (test-assert
+   "permanent root"
+   (let* ((p (with-store
+               store
+               (let ((p (add-text-to-store
+                          store
+                          "random-text"
+                          (random-text))))
+                 (add-permanent-root p)
+                 (add-permanent-root p)
+                 p))))
+     (and (member p (live-paths %store))
+          (begin
+            (remove-permanent-root p)
+            (->bool (member p (dead-paths %store)))))))
finding garbage collector roots...
determining live/dead paths...
finding garbage collector roots...
determining live/dead paths...
actual-value: #t
result: PASS

test-name: dead path can be explicitly collected
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/store.scm:156
source:
+ (test-assert
+   "dead path can be explicitly collected"
+   (let ((p (add-text-to-store
+              %store
+              "random-text"
+              (random-text)
+              '())))
+     (let-values
+       (((paths freed) (delete-paths %store (list p))))
+       (and (equal? paths (list p))
+            (> freed 0)
+            (not (file-exists? p))))))
finding garbage collector roots...
deleting unused links...
actual-value: #t
result: PASS

test-name: add-text-to-store vs. delete-paths
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/store.scm:164
source:
+ (test-assert
+   "add-text-to-store vs. delete-paths"
+   (with-store
+     store
+     (let* ((text (random-text))
+            (path (add-text-to-store store "delete-me" text))
+            (deleted (delete-paths store (list path)))
+            (path2 (add-text-to-store store "delete-me" text)))
+       (and (string=? path path2)
+            (equal? deleted (list path))
+            (valid-path? store path)
+            (file-exists? path)))))
finding garbage collector roots...
removing stale temporary roots file `/tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/var/14073/temproots/14261'
deleting `/tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/f9d98yxpj5jp251ycb1r3yq6a66m44w1-delete-me'
deleting `/tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/trash'
deleting unused links...
note: currently hard linking saves 10.11 MiB
actual-value: #t
result: PASS

test-name: add-to-store vs. delete-paths
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/store.scm:177
source:
+ (test-assert
+   "add-to-store vs. delete-paths"
+   (with-store
+     store
+     (let* ((file (search-path %load-path "guix.scm"))
+            (path (add-to-store store "delete-me" #t "sha256" file))
+            (deleted (delete-paths store (list path)))
+            (path2 (add-to-store store "delete-me" #t "sha256" file)))
+       (and (string=? path path2)
+            (equal? deleted (list path))
+            (valid-path? store path)
+            (file-exists? path)))))
finding garbage collector roots...
removing stale temporary roots file `/tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/var/14073/temproots/14300'
deleting `/tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/n8mf5dz75dq1nas7074bmvpcyzllcfvz-delete-me'
deleting `/tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/trash'
deleting unused links...
note: currently hard linking saves 19.67 MiB
actual-value: #t
result: PASS

test-name: references
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/store.scm:189
source:
+ (test-assert
+   "references"
+   (let* ((t1 (add-text-to-store
+                %store
+                "random1"
+                (random-text)))
+          (t2 (add-text-to-store
+                %store
+                "random2"
+                (random-text)
+                (list t1))))
+     (and (equal? (list t1) (references %store t2))
+          (equal? (list t2) (referrers %store t1))
+          (null? (references %store t1))
+          (null? (referrers %store t2)))))
actual-value: #t
result: PASS

test-name: references/substitutes missing reference info
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/store.scm:199
source:
+ (test-assert
+   "references/substitutes missing reference info"
+   (with-store
+     s
+     (set-build-options s #:use-substitutes? #f)
+     (guard (c ((nix-protocol-error? c) #t))
+            (let* ((b (add-to-store
+                        s
+                        "bash"
+                        #t
+                        "sha256"
+                        (search-bootstrap-binary
+                          "bash"
+                          (%current-system))))
+                   (d (derivation
+                        s
+                        "the-thing"
+                        b
+                        '("--help")
+                        #:inputs
+                        `((,b)))))
+              (references/substitutes
+                s
+                (list (derivation->output-path d) b))
+              #f))))
actual-value: #t
result: PASS

test-name: references/substitutes with substitute info
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/store.scm:211
source:
+ (test-assert
+   "references/substitutes with substitute info"
+   (with-store
+     s
+     (set-build-options s #:use-substitutes? #t)
+     (let* ((t1 (add-text-to-store s "random1" (random-text)))
+            (t2 (add-text-to-store
+                  s
+                  "random2"
+                  (random-text)
+                  (list t1)))
+            (t3 (add-text-to-store
+                  s
+                  "build"
+                  "echo -n $t2 > $out"))
+            (b (add-to-store
+                 s
+                 "bash"
+                 #t
+                 "sha256"
+                 (search-bootstrap-binary
+                   "bash"
+                   (%current-system))))
+            (d (derivation
+                 s
+                 "the-thing"
+                 b
+                 `("-e" ,t3)
+                 #:inputs
+                 `((,b) (,t3) (,t2))
+                 #:env-vars
+                 `(("t2" unquote t2))))
+            (o (derivation->output-path d)))
+       (with-derivation-narinfo
+         d
+         (sha256 => (sha256 (string->utf8 t2)))
+         (references => (list t2))
+         (equal?
+           (references/substitutes s (list o t3 t2 t1))
+           `((,t2) () (,t1) ()))))))
substitute: warning: authentication and authorization of substitutes disabled!
substitute: guix substitute: warning: ACL for archive imports seems to be uninitialized, substitutes may be unavailable
actual-value: #t
result: PASS

test-name: substitutable-path-info when substitutes are turned off
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/store.scm:235
source:
+ (test-equal
+   "substitutable-path-info when substitutes are turned off"
+   '()
+   (with-store
+     s
+     (set-build-options s #:use-substitutes? #f)
+     (let* ((b (add-to-store
+                 s
+                 "bash"
+                 #t
+                 "sha256"
+                 (search-bootstrap-binary
+                   "bash"
+                   (%current-system))))
+            (d (derivation
+                 s
+                 "the-thing"
+                 b
+                 '("--version")
+                 #:inputs
+                 `((,b))))
+            (o (derivation->output-path d)))
+       (with-derivation-narinfo
+         d
+         (substitutable-path-info s (list o))))))
expected-value: ()
actual-value: ()
result: PASS

test-name: substitutable-paths when substitutes are turned off
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/store.scm:248
source:
+ (test-equal
+   "substitutable-paths when substitutes are turned off"
+   '()
+   (with-store
+     s
+     (set-build-options s #:use-substitutes? #f)
+     (let* ((b (add-to-store
+                 s
+                 "bash"
+                 #t
+                 "sha256"
+                 (search-bootstrap-binary
+                   "bash"
+                   (%current-system))))
+            (d (derivation
+                 s
+                 "the-thing"
+                 b
+                 '("--version")
+                 #:inputs
+                 `((,b))))
+            (o (derivation->output-path d)))
+       (with-derivation-narinfo
+         d
+         (substitutable-paths s (list o))))))
expected-value: ()
actual-value: ()
result: PASS

test-name: requisites
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/store.scm:261
source:
+ (test-assert
+   "requisites"
+   (let* ((t1 (add-text-to-store
+                %store
+                "random1"
+                (random-text)
+                '()))
+          (t2 (add-text-to-store
+                %store
+                "random2"
+                (random-text)
+                (list t1)))
+          (t3 (add-text-to-store
+                %store
+                "random3"
+                (random-text)
+                (list t2)))
+          (t4 (add-text-to-store
+                %store
+                "random4"
+                (random-text)
+                (list t1 t3))))
+     (define (same? x y)
+       (and (= (length x) (length y))
+            (lset= equal? x y)))
+     (and (same? (requisites %store (list t1)) (list t1))
+          (same? (requisites %store (list t2))
+                 (list t1 t2))
+          (same? (requisites %store (list t3))
+                 (list t1 t2 t3))
+          (same? (requisites %store (list t4))
+                 (list t1 t2 t3 t4))
+          (same? (requisites %store (list t1 t2 t3 t4))
+                 (list t1 t2 t3 t4)))))
actual-value: #t
result: PASS

test-name: derivers
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/store.scm:281
source:
+ (test-assert
+   "derivers"
+   (let* ((b (add-text-to-store
+               %store
+               "build"
+               "echo $foo > $out"
+               '()))
+          (s (add-to-store
+               %store
+               "bash"
+               #t
+               "sha256"
+               (search-bootstrap-binary
+                 "bash"
+                 (%current-system))))
+          (d (derivation
+               %store
+               "the-thing"
+               s
+               `("-e" ,b)
+               #:env-vars
+               `(("foo" unquote (random-text)))
+               #:inputs
+               `((,b) (,s))))
+          (o (derivation->output-path d)))
+     (and (build-derivations %store (list d))
+          (equal?
+            (query-derivation-outputs
+              %store
+              (derivation-file-name d))
+            (list o))
+          (equal?
+            (valid-derivers %store o)
+            (list (derivation-file-name d))))))
@ build-started /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/laf4b8fq1zk61mf18r0mc4mkh6cv0fzy-the-thing.drv - x86_64-linux /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/var/log/guix/drvs/la//f4b8fq1zk61mf18r0mc4mkh6cv0fzy-the-thing.drv.bz2
@ build-succeeded /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/laf4b8fq1zk61mf18r0mc4mkh6cv0fzy-the-thing.drv -
actual-value: #t
result: PASS

test-name: topologically-sorted, one item
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/store.scm:297
source:
+ (test-assert
+   "topologically-sorted, one item"
+   (let* ((a (add-text-to-store %store "a" "a"))
+          (b (add-text-to-store %store "b" "b" (list a)))
+          (c (add-text-to-store %store "c" "c" (list b)))
+          (d (add-text-to-store %store "d" "d" (list c)))
+          (s (topologically-sorted %store (list d))))
+     (equal? s (list a b c d))))
warning: SQLite database is busy
actual-value: #t
result: PASS

test-name: topologically-sorted, several items
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/store.scm:305
source:
+ (test-assert
+   "topologically-sorted, several items"
+   (let* ((a (add-text-to-store %store "a" "a"))
+          (b (add-text-to-store %store "b" "b" (list a)))
+          (c (add-text-to-store %store "c" "c" (list b)))
+          (d (add-text-to-store %store "d" "d" (list c)))
+          (s1 (topologically-sorted %store (list d a c b)))
+          (s2 (topologically-sorted %store (list b d c a b d))))
+     (equal? s1 s2 (list a b c d))))
actual-value: #t
result: PASS

test-name: topologically-sorted, more difficult
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/store.scm:314
source:
+ (test-assert
+   "topologically-sorted, more difficult"
+   (let* ((a (add-text-to-store %store "a" "a"))
+          (b (add-text-to-store %store "b" "b" (list a)))
+          (c (add-text-to-store %store "c" "c" (list b)))
+          (d (add-text-to-store %store "d" "d" (list c)))
+          (w (add-text-to-store %store "w" "w"))
+          (x (add-text-to-store %store "x" "x" (list w)))
+          (y (add-text-to-store %store "y" "y" (list x d)))
+          (s1 (topologically-sorted %store (list y)))
+          (s2 (topologically-sorted %store (list c y)))
+          (s3 (topologically-sorted
+                %store
+                (cons y (references %store y)))))
+     (let* ((x-then-d?
+              (equal? (references %store y) (list x d))))
+       (and (equal?
+              s1
+              (if x-then-d?
+                (list w x a b c d y)
+                (list a b c d w x y)))
+            (equal?
+              s2
+              (if x-then-d?
+                (list a b c w x d y)
+                (list a b c d w x y)))
+            (lset= string=? s1 s3)))))
actual-value: #t
result: PASS

test-name: current-build-output-port, UTF-8
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/store.scm:338
source:
+ (test-assert
+   "current-build-output-port, UTF-8"
+   (string-contains
+     (with-fluids
+       ((%default-port-encoding "UTF-8"))
+       (call-with-output-string
+         (lambda (port)
+           (parameterize
+             ((current-build-output-port port))
+             (let* ((s "Here\u2019s a Greek letter: \u03bb.")
+                    (d (build-expression->derivation
+                         %store
+                         "foo"
+                         `(display ,s)
+                         #:guile-for-build
+                         (package-derivation
+                           s
+                           %bootstrap-guile
+                           (%current-system)))))
+               (guard (c ((nix-protocol-error? c) #t))
+                      (build-derivations %store (list d))))))))
+     "Here\u2019s a Greek letter: \u03bb."))
actual-value: 253
result: PASS

test-name: current-build-output-port, UTF-8 + garbage
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/store.scm:354
source:
+ (test-assert
+   "current-build-output-port, UTF-8 + garbage"
+   (string-contains
+     (with-fluids
+       ((%default-port-encoding "UTF-8"))
+       (call-with-output-string
+         (lambda (port)
+           (parameterize
+             ((current-build-output-port port))
+             (let ((d (build-expression->derivation
+                        %store
+                        "foo"
+                        `(begin
+                           (use-modules (rnrs io ports))
+                           (display "garbage: ")
+                           (put-bytevector (current-output-port) #vu8(128))
+                           (display "lambda: \u03bb\n"))
+                        #:guile-for-build
+                        (package-derivation %store %bootstrap-guile))))
+               (guard (c ((nix-protocol-error? c) #t))
+                      (build-derivations %store (list d))))))))
+     "garbage: ?lambda: \u03bb"))
actual-value: 253
result: PASS

test-name: log-file, derivation
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/store.scm:374
source:
+ (test-assert
+   "log-file, derivation"
+   (let* ((b (add-text-to-store
+               %store
+               "build"
+               "echo $foo > $out"
+               '()))
+          (s (add-to-store
+               %store
+               "bash"
+               #t
+               "sha256"
+               (search-bootstrap-binary
+                 "bash"
+                 (%current-system))))
+          (d (derivation
+               %store
+               "the-thing"
+               s
+               `("-e" ,b)
+               #:env-vars
+               `(("foo" unquote (random-text)))
+               #:inputs
+               `((,b) (,s)))))
+     (and (build-derivations %store (list d))
+          (file-exists?
+            (pk (log-file %store (derivation-file-name d)))))))
@ build-started /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/ggl40nyk0dimjihvv3allfxq5ix9zkyr-the-thing.drv - x86_64-linux /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/var/log/guix/drvs/gg//l40nyk0dimjihvv3allfxq5ix9zkyr-the-thing.drv.bz2
@ build-succeeded /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/ggl40nyk0dimjihvv3allfxq5ix9zkyr-the-thing.drv -

;;; ("/tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/var/log/guix/drvs/gg/l40nyk0dimjihvv3allfxq5ix9zkyr-the-thing.drv.bz2")
actual-value: #t
result: PASS

test-name: log-file, output file name
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/store.scm:386
source:
+ (test-assert
+   "log-file, output file name"
+   (let* ((b (add-text-to-store
+               %store
+               "build"
+               "echo $foo > $out"
+               '()))
+          (s (add-to-store
+               %store
+               "bash"
+               #t
+               "sha256"
+               (search-bootstrap-binary
+                 "bash"
+                 (%current-system))))
+          (d (derivation
+               %store
+               "the-thing"
+               s
+               `("-e" ,b)
+               #:env-vars
+               `(("foo" unquote (random-text)))
+               #:inputs
+               `((,b) (,s))))
+          (o (derivation->output-path d)))
+     (and (build-derivations %store (list d))
+          (file-exists? (pk (log-file %store o)))
+          (string=?
+            (log-file %store (derivation-file-name d))
+            (log-file %store o)))))
@ build-started /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/1ayjm0aax4isgcb4ynb1dh46nfsvxsg3-the-thing.drv - x86_64-linux /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/var/log/guix/drvs/1a//yjm0aax4isgcb4ynb1dh46nfsvxsg3-the-thing.drv.bz2
@ build-succeeded /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/1ayjm0aax4isgcb4ynb1dh46nfsvxsg3-the-thing.drv -

;;; ("/tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/var/log/guix/drvs/1a/yjm0aax4isgcb4ynb1dh46nfsvxsg3-the-thing.drv.bz2")
actual-value: #t
result: PASS

test-name: no substitutes
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/store.scm:401
source:
+ (test-assert
+   "no substitutes"
+   (with-store
+     s
+     (let* ((d1 (package-derivation
+                  s
+                  %bootstrap-guile
+                  (%current-system)))
+            (d2 (package-derivation
+                  s
+                  %bootstrap-glibc
+                  (%current-system)))
+            (o (map derivation->output-path (list d1 d2))))
+       (set-build-options s #:use-substitutes? #f)
+       (and (not (has-substitutes? s (derivation-file-name d1)))
+            (not (has-substitutes? s (derivation-file-name d2)))
+            (null? (substitutable-paths s o))
+            (null? (substitutable-path-info s o))))))
actual-value: #t
result: PASS

test-name: build-things with output path
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/store.scm:412
source:
+ (test-assert
+   "build-things with output path"
+   (with-store
+     s
+     (let* ((c (random-text))
+            (d (build-expression->derivation
+                 s
+                 "substitute-me"
+                 `(call-with-output-file
+                    %output
+                    (lambda (p) (display ,c p)))
+                 #:guile-for-build
+                 (package-derivation
+                   s
+                   %bootstrap-guile
+                   (%current-system))))
+            (o (derivation->output-path d)))
+       (set-build-options s #:use-substitutes? #f)
+       (build-things s (list o))
+       (not (valid-path? s o)))))
actual-value: #t
result: PASS

test-name: substitute query
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/store.scm:432
source:
+ (test-assert
+   "substitute query"
+   (with-store
+     s
+     (let* ((d (package-derivation
+                 s
+                 %bootstrap-guile
+                 (%current-system)))
+            (o (derivation->output-path d)))
+       (with-derivation-narinfo
+         d
+         (false-if-exception
+           (delete-file-recursively
+             (string-append
+               (getenv "XDG_CACHE_HOME")
+               "/guix/substitute")))
+         (set-build-options
+           s
+           #:use-substitutes?
+           #t
+           #:substitute-urls
+           (%test-substitute-urls))
+         (and (has-substitutes? s o)
+              (equal?
+                (list o)
+                (substitutable-paths s (list o)))
+              (match (pk 'spi (substitutable-path-info s (list o)))
+                     (((? substitutable? s))
+                      (and (string=?
+                             (substitutable-deriver s)
+                             (derivation-file-name d))
+                           (null? (substitutable-references s))
+                           (equal? (substitutable-nar-size s) 1234)))))))))
substitute: warning: authentication and authorization of substitutes disabled!
substitute: guix substitute: warning: ACL for archive imports seems to be uninitialized, substitutes may be unavailable

;;; (spi (#<<substitutable> path: "/tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/ixfn9w693z8gzcknavq93ppabwqds527-guile-bootstrap-2.0" deriver: "/tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/71glry64pwd7dlarjkmkphnng15fcs5z-guile-bootstrap-2.0.drv" refs: () dl-size: 0 nar-size: 1234>))
actual-value: #t
result: PASS

test-name: substitute query, alternating URLs
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/store.scm:456
source:
+ (test-assert
+   "substitute query, alternating URLs"
+   (let* ((d (with-store
+               s
+               (package-derivation
+                 s
+                 %bootstrap-guile
+                 (%current-system))))
+          (o (derivation->output-path d)))
+     (with-derivation-narinfo
+       d
+       (false-if-exception
+         (delete-file-recursively
+           (string-append
+             (getenv "XDG_CACHE_HOME")
+             "/guix/substitute")))
+       (and (with-store
+              s
+              (set-build-options
+                s
+                #:use-substitutes?
+                #t
+                #:substitute-urls
+                (%test-substitute-urls))
+              (has-substitutes? s o))
+            (with-store
+              s
+              (set-build-options
+                s
+                #:use-substitutes?
+                #t
+                #:substitute-urls
+                (list "http://does-not-exist"))
+              (not (has-substitutes? s o)))
+            (with-store
+              s
+              (set-build-options
+                s
+                #:use-substitutes?
+                #t
+                #:substitute-urls
+                (%test-substitute-urls))
+              (has-substitutes? s o))
+            (with-store
+              s
+              (set-build-options
+                s
+                #:use-substitutes?
+                #t
+                #:substitute-urls
+                '())
+              (not (has-substitutes? s o)))))))
substitute: warning: authentication and authorization of substitutes disabled!
substitute: guix substitute: warning: ACL for archive imports seems to be uninitialized, substitutes may be unavailable
substitute: warning: authentication and authorization of substitutes disabled!
substitute: guix substitute: warning: ACL for archive imports seems to be uninitialized, substitutes may be unavailable
substitute: Backtrace:
substitute: In ice-9/boot-9.scm:
substitute:  160: 9 [catch #t #<catch-closure 55973c07fdc0> ...]
substitute: In unknown file:
substitute:    ?: 8 [apply-smob/1 #<catch-closure 55973c07fdc0>]
substitute: In ice-9/boot-9.scm:
substitute:   66: 7 [call-with-prompt prompt0 ...]
substitute: In ice-9/eval.scm:
substitute:  432: 6 [eval # #]
substitute: In ice-9/boot-9.scm:
substitute: 2404: 5 [save-module-excursion #<procedure 55973c09f900 at ice-9/boot-9.scm:4051:3 ()>]
substitute: 4056: 4 [#<procedure 55973c09f900 at ice-9/boot-9.scm:4051:3 ()>]
substitute: 1727: 3 [%start-stack load-stack ...]
substitute: 1732: 2 [#<procedure 55973c0b3bd0 ()>]
substitute: In unknown file:
substitute:    ?: 1 [primitive-load "/tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/scripts/guix"]
substitute: In guix/ui.scm:
substitute: 1209: 0 [run-guix-command substitute "--query"]
substitute: 
substitute: guix/ui.scm:1209:6: In procedure run-guix-command:
substitute: guix/ui.scm:1209:6: unmatched line "<html><head><meta http-equiv=\"refresh\" content=\"0;url=http://webhelper.centurylink.com/index.php?origURL=http://does-not-exist/nix-cache-info&bc=\"/></head><body><script type=\"text/javascript\">window.location=\"http://webhelper.centurylink.com/index.php?origURL=\"+escape(window.location)+\"&r=\"+escape(document.referrer)+\"&bc=\";</script></body></html>"
actual-value: #f
actual-error:
+ (srfi-34
+   #<condition &nix-protocol-error [message: "substituter `substitute' died unexpectedly" status: 1] 55cb734910f0>)
result: FAIL

test-name: substitute
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/store.scm:488
source:
+ (test-assert
+   "substitute"
+   (with-store
+     s
+     (let* ((c (random-text))
+            (d (build-expression->derivation
+                 s
+                 "substitute-me"
+                 `(call-with-output-file
+                    %output
+                    (lambda (p) (exit 1) (display ,c p)))
+                 #:guile-for-build
+                 (package-derivation
+                   s
+                   %bootstrap-guile
+                   (%current-system))))
+            (o (derivation->output-path d)))
+       (with-derivation-substitute
+         d
+         c
+         (set-build-options
+           s
+           #:use-substitutes?
+           #t
+           #:substitute-urls
+           (%test-substitute-urls))
+         (and (has-substitutes? s o)
+              (build-derivations s (list d))
+              (equal?
+                c
+                (call-with-input-file o get-string-all)))))))
substitute: warning: authentication and authorization of substitutes disabled!
substitute: guix substitute: warning: ACL for archive imports seems to be uninitialized, substitutes may be unavailable
@ substituter-started /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/w4ldk88f711yjvhlxwcbv1nabj3id6kg-substitute-me /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/nix/scripts/substitute
warning: authentication and authorization of substitutes disabled!
guix substitute: warning: ACL for archive imports seems to be uninitialized, substitutes may be unavailable
Downloading /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/w4ldk88f711yjvhlxwcbv1nabj3id6kg-substitute-me (1KiB installed)...
\r^[[K example.nar  176B                     0B/s 00:00 [####################] 100.0%
@ substituter-succeeded /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/w4ldk88f711yjvhlxwcbv1nabj3id6kg-substitute-me
actual-value: #t
result: PASS

test-name: substitute + build-things with output path
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/store.scm:507
source:
+ (test-assert
+   "substitute + build-things with output path"
+   (with-store
+     s
+     (let* ((c (random-text))
+            (d (build-expression->derivation
+                 s
+                 "substitute-me"
+                 `(call-with-output-file
+                    %output
+                    (lambda (p) (exit 1) (display ,c p)))
+                 #:guile-for-build
+                 (package-derivation
+                   s
+                   %bootstrap-guile
+                   (%current-system))))
+            (o (derivation->output-path d)))
+       (with-derivation-substitute
+         d
+         c
+         (set-build-options
+           s
+           #:use-substitutes?
+           #t
+           #:substitute-urls
+           (%test-substitute-urls))
+         (and (has-substitutes? s o)
+              (build-things s (list o))
+              (valid-path? s o)
+              (equal?
+                c
+                (call-with-input-file o get-string-all)))))))
substitute: warning: authentication and authorization of substitutes disabled!
substitute: guix substitute: warning: ACL for archive imports seems to be uninitialized, substitutes may be unavailable
@ substituter-started /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/rm9hkckch0fw159ivnz6ij3yfh69541w-substitute-me /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/nix/scripts/substitute
warning: authentication and authorization of substitutes disabled!
guix substitute: warning: ACL for archive imports seems to be uninitialized, substitutes may be unavailable
Downloading /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/rm9hkckch0fw159ivnz6ij3yfh69541w-substitute-me (1KiB installed)...
\r^[[K example.nar  176B                     0B/s 00:00 [####################] 100.0%
@ substituter-succeeded /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/rm9hkckch0fw159ivnz6ij3yfh69541w-substitute-me
actual-value: #t
result: PASS

test-name: substitute, corrupt output hash
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/store.scm:527
source:
+ (test-assert
+   "substitute, corrupt output hash"
+   (with-store
+     s
+     (let* ((c "hello, world")
+            (d (build-expression->derivation
+                 s
+                 "corrupt-substitute"
+                 `(mkdir %output)
+                 #:guile-for-build
+                 (package-derivation
+                   s
+                   %bootstrap-guile
+                   (%current-system))))
+            (o (derivation->output-path d)))
+       (with-derivation-substitute
+         d
+         c
+         (sha256 => (make-bytevector 32 0))
+         (set-build-options
+           s
+           #:use-substitutes?
+           #t
+           #:fallback?
+           #f
+           #:substitute-urls
+           (%test-substitute-urls))
+         (and (has-substitutes? s o)
+              (guard (c ((nix-protocol-error? c)
+                         (pk 'corrupt c)
+                         (not (zero? (nix-protocol-error-status c)))))
+                     (build-derivations s (list d))
+                     #f))))))
substitute: warning: authentication and authorization of substitutes disabled!
substitute: guix substitute: warning: ACL for archive imports seems to be uninitialized, substitutes may be unavailable
@ substituter-started /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/5c513fd7zhb1scc0mf8678j0nkvq7m9l-corrupt-substitute /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/nix/scripts/substitute
warning: authentication and authorization of substitutes disabled!
guix substitute: warning: ACL for archive imports seems to be uninitialized, substitutes may be unavailable
Downloading /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/5c513fd7zhb1scc0mf8678j0nkvq7m9l-corrupt-substitute (1KiB installed)...
\r^[[K example.nar  128B                     0B/s 00:00 [####################] 100.0%
@ substituter-failed /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/5c513fd7zhb1scc0mf8678j0nkvq7m9l-corrupt-substitute 0 hash mismatch in downloaded path `/tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/5c513fd7zhb1scc0mf8678j0nkvq7m9l-corrupt-substitute': expected 0000000000000000000000000000000000000000000000000000000000000000, got b8f73a6eb280e63169b1de2a5b5e154676fe1ada685f1e5c7183cbb2c1dcd535

;;; (corrupt #<condition &nix-protocol-error [message: "some substitutes for the outputs of derivation `/tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/sm3by4gp5hgrzyab6an8x1srkw0lhqrf-corrupt-substitute.drv' failed (usually happens due to networking issues); try `--fallback' to build derivation from source " status: 1] 55cb733d2630>)
actual-value: #t
result: PASS

test-name: substitute --fallback
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/store.scm:557
source:
+ (test-assert
+   "substitute --fallback"
+   (with-store
+     s
+     (let* ((t (random-text))
+            (d (build-expression->derivation
+                 s
+                 "substitute-me-not"
+                 `(call-with-output-file
+                    %output
+                    (lambda (p) (display ,t p)))
+                 #:guile-for-build
+                 (package-derivation
+                   s
+                   %bootstrap-guile
+                   (%current-system))))
+            (o (derivation->output-path d)))
+       (with-derivation-narinfo
+         d
+         (set-build-options
+           s
+           #:use-substitutes?
+           #t
+           #:substitute-urls
+           (%test-substitute-urls))
+         (and (has-substitutes? s o)
+              (guard (c ((nix-protocol-error? c)
+                         (set-build-options
+                           s
+                           #:use-substitutes?
+                           #t
+                           #:substitute-urls
+                           (%test-substitute-urls)
+                           #:fallback?
+                           #t)
+                         (and (build-derivations s (list d))
+                              (equal?
+                                t
+                                (call-with-input-file o get-string-all)))))
+                     (build-derivations s (list d))
+                     #f))))))
substitute: warning: authentication and authorization of substitutes disabled!
substitute: guix substitute: warning: ACL for archive imports seems to be uninitialized, substitutes may be unavailable
@ substituter-started /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/3sr88zp88dmn3cfzk6gir2ky7zlyksx0-substitute-me-not /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/nix/scripts/substitute
warning: authentication and authorization of substitutes disabled!
guix substitute: warning: ACL for archive imports seems to be uninitialized, substitutes may be unavailable
Downloading /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/3sr88zp88dmn3cfzk6gir2ky7zlyksx0-substitute-me-not (1KiB installed)...
guix substitute: error: open-file: No such file or directory: "/tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/var/14073/substituter-data/example.nar"
@ substituter-failed /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/3sr88zp88dmn3cfzk6gir2ky7zlyksx0-substitute-me-not 256 fetching path `/tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/3sr88zp88dmn3cfzk6gir2ky7zlyksx0-substitute-me-not' failed with exit code 1
@ substituter-started /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/3sr88zp88dmn3cfzk6gir2ky7zlyksx0-substitute-me-not /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/nix/scripts/substitute
warning: authentication and authorization of substitutes disabled!
guix substitute: warning: ACL for archive imports seems to be uninitialized, substitutes may be unavailable
Downloading /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/3sr88zp88dmn3cfzk6gir2ky7zlyksx0-substitute-me-not (1KiB installed)...
guix substitute: error: open-file: No such file or directory: "/tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/var/14073/substituter-data/example.nar"
@ substituter-failed /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/3sr88zp88dmn3cfzk6gir2ky7zlyksx0-substitute-me-not 256 fetching path `/tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/3sr88zp88dmn3cfzk6gir2ky7zlyksx0-substitute-me-not' failed with exit code 1
@ build-started /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/jk5r0fc0pgzhqsnv58s689k6bj6g7vnr-substitute-me-not.drv - x86_64-linux /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/var/log/guix/drvs/jk//5r0fc0pgzhqsnv58s689k6bj6g7vnr-substitute-me-not.drv.bz2
@ build-succeeded /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/jk5r0fc0pgzhqsnv58s689k6bj6g7vnr-substitute-me-not.drv -
actual-value: #t
result: PASS

test-name: export/import several paths
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/store.scm:589
source:
+ (test-assert
+   "export/import several paths"
+   (let* ((texts (unfold
+                   (cut >= <> 10)
+                   (lambda _ (random-text))
+                   #{1+}#
+                   0))
+          (files (map (cut add-text-to-store %store "text" <>)
+                      texts))
+          (dump (call-with-bytevector-output-port
+                  (cut export-paths %store files <>))))
+     (delete-paths %store files)
+     (and (every (negate file-exists?) files)
+          (let* ((source (open-bytevector-input-port dump))
+                 (imported (import-paths %store source)))
+            (and (equal? imported files)
+                 (every file-exists? files)
+                 (equal?
+                   texts
+                   (map (lambda (file)
+                          (call-with-input-file file get-string-all))
+                        files)))))))
finding garbage collector roots...
deleting unused links...
actual-value: #t
result: PASS

test-name: export/import paths, ensure topological order
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/store.scm:609
source:
+ (test-assert
+   "export/import paths, ensure topological order"
+   (let* ((file0 (add-text-to-store %store "baz" (random-text)))
+          (file1 (add-text-to-store
+                   %store
+                   "foo"
+                   (random-text)
+                   (list file0)))
+          (file2 (add-text-to-store
+                   %store
+                   "bar"
+                   (random-text)
+                   (list file1)))
+          (files (list file1 file2))
+          (dump1 (call-with-bytevector-output-port
+                   (cute export-paths %store (list file1 file2) <>)))
+          (dump2 (call-with-bytevector-output-port
+                   (cute export-paths %store (list file2 file1) <>))))
+     (delete-paths %store files)
+     (and (every (negate file-exists?) files)
+          (bytevector=? dump1 dump2)
+          (let* ((source (open-bytevector-input-port dump1))
+                 (imported (import-paths %store source)))
+            (and (equal? imported (list file1 file2))
+                 (every file-exists? files)
+                 (equal? (list file0) (references %store file1))
+                 (equal? (list file1) (references %store file2)))))))
finding garbage collector roots...
deleting unused links...
actual-value: #t
result: PASS

test-name: export/import incomplete
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/store.scm:631
source:
+ (test-assert
+   "export/import incomplete"
+   (let* ((file0 (add-text-to-store %store "baz" (random-text)))
+          (file1 (add-text-to-store
+                   %store
+                   "foo"
+                   (random-text)
+                   (list file0)))
+          (file2 (add-text-to-store
+                   %store
+                   "bar"
+                   (random-text)
+                   (list file1)))
+          (dump (call-with-bytevector-output-port
+                  (cute export-paths %store (list file2) <>))))
+     (delete-paths %store (list file0 file1 file2))
+     (guard (c ((nix-protocol-error? c)
+                (and (not (zero? (nix-protocol-error-status c)))
+                     (string-contains
+                       (nix-protocol-error-message c)
+                       "not valid"))))
+            (import-paths
+              %store
+              (open-bytevector-input-port dump)))))
finding garbage collector roots...
deleting unused links...
actual-value: 108
result: PASS

test-name: export/import recursive
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/store.scm:648
source:
+ (test-assert
+   "export/import recursive"
+   (let* ((file0 (add-text-to-store %store "baz" (random-text)))
+          (file1 (add-text-to-store
+                   %store
+                   "foo"
+                   (random-text)
+                   (list file0)))
+          (file2 (add-text-to-store
+                   %store
+                   "bar"
+                   (random-text)
+                   (list file1)))
+          (dump (call-with-bytevector-output-port
+                  (cute export-paths
+                        %store
+                        (list file2)
+                        <>
+                        #:recursive?
+                        #t))))
+     (delete-paths %store (list file0 file1 file2))
+     (let ((imported
+             (import-paths
+               %store
+               (open-bytevector-input-port dump))))
+       (and (equal? imported (list file0 file1 file2))
+            (every file-exists? (list file0 file1 file2))
+            (equal? (list file0) (references %store file1))
+            (equal? (list file1) (references %store file2))))))
finding garbage collector roots...
deleting unused links...
actual-value: #t
result: PASS

test-name: write-file & export-path yield the same result
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/store.scm:664
source:
+ (test-assert
+   "write-file & export-path yield the same result"
+   (run-with-store
+     %store
+     (mlet* %store-monad
+            ((drv1 (package->derivation %bootstrap-guile))
+             (out1 -> (derivation->output-path drv1))
+             (data ->
+                   (unfold
+                     (cut >= <> 26)
+                     (lambda (i) (random-bytevector 128))
+                     #{1+}#
+                     0))
+             (build ->
+                    (gexp (begin
+                            (use-modules (rnrs io ports) (srfi srfi-1))
+                            (let ()
+                              (define letters
+                                (map (lambda (i)
+                                       (string
+                                         (integer->char
+                                           (+ i (char->integer #\a)))))
+                                     (iota 26)))
+                              (define (touch file data)
+                                (call-with-output-file
+                                  file
+                                  (lambda (port) (put-bytevector port data))))
+                              (mkdir (ungexp output))
+                              (chdir (ungexp output))
+                              (for-each
+                                touch
+                                (append (drop letters 10) (take letters 10))
+                                (list (ungexp-splicing data)))
+                              #t))))
+             (drv2 (gexp->derivation "bunch" build))
+             (out2 -> (derivation->output-path drv2))
+             (item-info -> (store-lift query-path-info)))
+            (mbegin
+              %store-monad
+              (built-derivations (list drv1 drv2))
+              (foldm %store-monad
+                     (lambda (item result)
+                       (define ref-hash
+                         (let-values
+                           (((port get) (open-sha256-port)))
+                           (write-file item port)
+                           (close-port port)
+                           (get)))
+                       (>>= (item-info item)
+                            (lambda (info)
+                              (return
+                                (and result
+                                     (bytevector=?
+                                       (path-info-hash info)
+                                       ref-hash))))))
+                     #t
+                     (list out1 out2))))
+     #:guile-for-build
+     (%guile-for-build)))
@ build-started /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/yrnxwlh0w5rkgr2lwqcw9naf1iqbv737-bunch.drv - x86_64-linux /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/var/log/guix/drvs/yr//nxwlh0w5rkgr2lwqcw9naf1iqbv737-bunch.drv.bz2
@ build-succeeded /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/yrnxwlh0w5rkgr2lwqcw9naf1iqbv737-bunch.drv -
actual-value: #t
result: PASS

test-name: import corrupt path
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/store.scm:730
source:
+ (test-assert
+   "import corrupt path"
+   (let* ((text (random-text))
+          (file (add-text-to-store %store "text" text))
+          (dump (call-with-bytevector-output-port
+                  (cut export-paths %store (list file) <>))))
+     (delete-paths %store (list file))
+     (let* ((index (quotient (bytevector-length dump) 4))
+            (byte (bytevector-u8-ref dump index)))
+       (bytevector-u8-set! dump index (logxor 255 byte)))
+     (and (not (file-exists? file))
+          (guard (c ((nix-protocol-error? c)
+                     (pk 'c c)
+                     (and (not (zero? (nix-protocol-error-status c)))
+                          (string-contains
+                            (nix-protocol-error-message c)
+                            "corrupt"))))
+                 (let* ((source (open-bytevector-input-port dump))
+                        (imported (import-paths %store source)))
+                   (pk 'corrupt-imported imported)
+                   #f)))))
finding garbage collector roots...
deleting unused links...

;;; (c #<condition &nix-protocol-error [message: "signed hash doesn't match actual contents of imported archive; archive could be corrupt, or someone is trying to import a Trojan horse" status: 1] 55cb72cc8ab0>)
actual-value: 80
result: PASS

test-name: register-path
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/store.scm:753
source:
+ (test-assert
+   "register-path"
+   (let ((file (string-append
+                 (%store-prefix)
+                 "/"
+                 (make-string 32 #\f)
+                 "-fake")))
+     (when (valid-path? %store file)
+           (delete-paths %store (list file)))
+     (false-if-exception (delete-file file))
+     (let ((ref (add-text-to-store
+                  %store
+                  "ref-of-fake"
+                  (random-text)))
+           (drv (string-append file ".drv")))
+       (call-with-output-file
+         file
+         (cut display "This is a fake store item.\n" <>))
+       (register-path
+         file
+         #:references
+         (list ref)
+         #:deriver
+         drv)
+       (and (valid-path? %store file)
+            (equal? (references %store file) (list ref))
+            (null? (valid-derivers %store file))
+            (null? (referrers %store file))))))
actual-value: #t
result: PASS

test-name: verify-store
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/store.scm:773
source:
+ (test-assert
+   "verify-store"
+   (let* ((text (random-text))
+          (file1 (add-text-to-store %store "foo" text))
+          (file2 (add-text-to-store
+                   %store
+                   "bar"
+                   (random-text)
+                   (list file1))))
+     (and (pk 'verify1 (verify-store %store))
+          (begin
+            (delete-file file1)
+            (not (pk 'verify2 (verify-store %store))))
+          (begin
+            (call-with-output-file
+              file1
+              (lambda (port) (display text port)))
+            (pk 'verify3 (verify-store %store))))))
reading the Nix store...

;;; (verify1 #t)
reading the Nix store...
path `/tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/zji2gvq5yvbd067zv7v3v172bwhmprc3-foo' disappeared, but it still has valid referrers!

;;; (verify2 #f)
reading the Nix store...

;;; (verify3 #t)
actual-value: #t
result: PASS

test-name: verify-store + check-contents
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/store.scm:790
source:
+ (test-assert
+   "verify-store + check-contents"
+   (with-store
+     s
+     (let* ((text (random-text))
+            (drv (build-expression->derivation
+                   s
+                   "corrupt"
+                   `(let ((out (assoc-ref %outputs "out")))
+                      (call-with-output-file
+                        out
+                        (lambda (port) (display ,text port)))
+                      #t)
+                   #:guile-for-build
+                   (package-derivation
+                     s
+                     %bootstrap-guile
+                     (%current-system))))
+            (file (derivation->output-path drv)))
+       (with-derivation-substitute
+         drv
+         text
+         (and (build-derivations s (list drv))
+              (verify-store s #:check-contents? #t)
+              (begin
+                (chmod file 420)
+                (call-with-output-file
+                  file
+                  (lambda (port) (display "corrupt!" port)))
+                #t)
+              (not (verify-store s #:check-contents? #t))
+              (delete-paths s (list file)))))))
substitute: warning: authentication and authorization of substitutes disabled!
substitute: guix substitute: warning: ACL for archive imports seems to be uninitialized, substitutes may be unavailable
fetching path `/tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/w817wqsslcqawq0zqfbf741wy3ifw3ls-corrupt'...
warning: authentication and authorization of substitutes disabled!
guix substitute: warning: ACL for archive imports seems to be uninitialized, substitutes may be unavailable
Downloading /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/w817wqsslcqawq0zqfbf741wy3ifw3ls-corrupt (1KiB installed)...
\r^[[K example.nar  176B                      0B/s 00:00 [####################] 100.0%
reading the Nix store...
checking path existence...
checking hashes...
reading the Nix store...
checking path existence...
checking hashes...
path `/tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/w817wqsslcqawq0zqfbf741wy3ifw3ls-corrupt' was modified! expected hash `dd710ba9567f313742f8a7c198f55ee858e5724390dbd916e5fdafcf4b8a216d', got `e09c480e2e93336cd3c45aa129f81a0d7ba56c410b849d7779a8136074413b3d'
finding garbage collector roots...
removing stale temporary roots file `/tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/var/14073/temproots/27225'
deleting `/tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/w817wqsslcqawq0zqfbf741wy3ifw3ls-corrupt'
deleting `/tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/trash'
deleting unused links...
note: currently hard linking saves 19.82 MiB
actual-value: (/tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/w817wqsslcqawq0zqfbf741wy3ifw3ls-corrupt)
result: PASS

test-name: build-things, check mode
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/store.scm:827
source:
+ (test-assert
+   "build-things, check mode"
+   (with-store
+     store
+     (call-with-temporary-output-file
+       (lambda (entropy entropy-port)
+         (write (random-text) entropy-port)
+         (force-output entropy-port)
+         (let* ((drv (build-expression->derivation
+                       store
+                       "non-deterministic"
+                       `(begin
+                          (use-modules (rnrs io ports))
+                          (let ((out (assoc-ref %outputs "out")))
+                            (call-with-output-file
+                              out
+                              (lambda (port)
+                                (display
+                                  (call-with-input-file
+                                    ,entropy
+                                    get-string-all)
+                                  port)))
+                            #t))
+                       #:guile-for-build
+                       (package-derivation
+                         store
+                         %bootstrap-guile
+                         (%current-system))))
+                (file (derivation->output-path drv)))
+           (and (build-things
+                  store
+                  (list (derivation-file-name drv)))
+                (begin
+                  (write (random-text) entropy-port)
+                  (force-output entropy-port)
+                  (guard (c ((nix-protocol-error? c)
+                             (pk 'determinism-exception c)
+                             (and (not (zero? (nix-protocol-error-status c)))
+                                  (string-contains
+                                    (nix-protocol-error-message c)
+                                    "deterministic"))))
+                         (build-things
+                           store
+                           (list (derivation-file-name drv))
+                           (build-mode check))
+                         #f))))))))
substitute: warning: authentication and authorization of substitutes disabled!
substitute: guix substitute: warning: ACL for archive imports seems to be uninitialized, substitutes may be unavailable
building path(s) `/tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/cm4a9srr8p7scv30ny4d6wbgk3a6fh4k-non-deterministic'
checking path(s) `/tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/cm4a9srr8p7scv30ny4d6wbgk3a6fh4k-non-deterministic'
warning: rewriting hashes in `/tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/cm4a9srr8p7scv30ny4d6wbgk3a6fh4k-non-deterministic'; cross fingers

;;; (determinism-exception #<condition &nix-protocol-error [message: "derivation `/tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/lkgqnwrm32i9a7w36iakp2yv8yd0m2ik-non-deterministic.drv' may not be deterministic: output `/tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/cm4a9srr8p7scv30ny4d6wbgk3a6fh4k-non-deterministic' differs" status: 1] 55cb73fc27b0>)
actual-value: 110
result: PASS

test-name: build multiple times
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/store.scm:864
source:
+ (test-assert
+   "build multiple times"
+   (with-store
+     store
+     (set-build-options
+       store
+       #:rounds
+       2
+       #:use-substitutes?
+       #f)
+     (call-with-temporary-output-file
+       (lambda (entropy entropy-port)
+         (write (random-text) entropy-port)
+         (force-output entropy-port)
+         (let* ((drv (build-expression->derivation
+                       store
+                       "non-deterministic"
+                       `(begin
+                          (use-modules (rnrs io ports))
+                          (let ((out (assoc-ref %outputs "out")))
+                            (call-with-output-file
+                              out
+                              (lambda (port)
+                                (display
+                                  (call-with-input-file
+                                    ,entropy
+                                    get-string-all)
+                                  port)
+                                (call-with-output-file
+                                  ,entropy
+                                  (lambda (port) (write 'foobar port)))))
+                            #t))
+                       #:guile-for-build
+                       (package-derivation
+                         store
+                         %bootstrap-guile
+                         (%current-system))))
+                (file (derivation->output-path drv)))
+           (guard (c ((nix-protocol-error? c)
+                      (pk 'multiple-build c)
+                      (and (not (zero? (nix-protocol-error-status c)))
+                           (string-contains
+                             (nix-protocol-error-message c)
+                             "deterministic"))))
+                  (current-build-output-port (current-error-port))
+                  (build-things
+                    store
+                    (list (derivation-file-name drv)))
+                  #f))))))
@ build-started /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/kyjmpl8fwzb223l04a9xqjmmqxncawvd-non-deterministic.drv - x86_64-linux /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/var/log/guix/drvs/ky//jmpl8fwzb223l04a9xqjmmqxncawvd-non-deterministic.drv.bz2
@ build-started /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/kyjmpl8fwzb223l04a9xqjmmqxncawvd-non-deterministic.drv - x86_64-linux /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/var/log/guix/drvs/ky//jmpl8fwzb223l04a9xqjmmqxncawvd-non-deterministic.drv.bz2
output ?/tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/kkiyz70mg0crsmgjj1c0xsb3l17sgx75-non-deterministic? of ?/tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/kyjmpl8fwzb223l04a9xqjmmqxncawvd-non-deterministic.drv? differs from previous round
@ build-failed /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/kyjmpl8fwzb223l04a9xqjmmqxncawvd-non-deterministic.drv - 1 output ?/tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/kkiyz70mg0crsmgjj1c0xsb3l17sgx75-non-deterministic? of ?/tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/kyjmpl8fwzb223l04a9xqjmmqxncawvd-non-deterministic.drv? differs from previous round

;;; (multiple-build #<condition &nix-protocol-error [message: "build of `/tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/kyjmpl8fwzb223l04a9xqjmmqxncawvd-non-deterministic.drv' failed" status: 1] 55cb740eee70>)
actual-value: 108
result: PASS

test-name: store-lower
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/store.scm:902
source:
+ (test-equal
+   "store-lower"
+   "Lowered."
+   (let* ((add (store-lower text-file))
+          (file (add %store "foo" "Lowered.")))
+     (call-with-input-file file get-string-all)))
expected-value: Lowered.
actual-value: Lowered.
result: PASS

test-name: current-system
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/store.scm:908
source:
+ (test-equal
+   "current-system"
+   "bar"
+   (parameterize
+     ((%current-system "frob"))
+     (run-with-store
+       %store
+       (mbegin
+         %store-monad
+         (set-current-system "bar")
+         (current-system))
+       #:system
+       "foo")))
expected-value: bar
actual-value: bar
result: PASS

test-name: query-path-info
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/store.scm:917
source:
+ (test-assert
+   "query-path-info"
+   (let* ((ref (add-text-to-store %store "ref" "foo"))
+          (item (add-text-to-store
+                  %store
+                  "item"
+                  "bar"
+                  (list ref)))
+          (info (query-path-info %store item)))
+     (and (equal? (path-info-references info) (list ref))
+          (equal?
+            (path-info-hash info)
+            (sha256
+              (string->utf8
+                (call-with-output-string
+                  (cut write-file item <>))))))))
actual-value: #t
result: PASS

test-name: path-info-deriver
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/store.scm:927
source:
+ (test-assert
+   "path-info-deriver"
+   (let* ((b (add-text-to-store
+               %store
+               "build"
+               "echo $foo > $out"
+               '()))
+          (s (add-to-store
+               %store
+               "bash"
+               #t
+               "sha256"
+               (search-bootstrap-binary
+                 "bash"
+                 (%current-system))))
+          (d (derivation
+               %store
+               "the-thing"
+               s
+               `("-e" ,b)
+               #:env-vars
+               `(("foo" unquote (random-text)))
+               #:inputs
+               `((,b) (,s))))
+          (o (derivation->output-path d)))
+     (and (build-derivations %store (list d))
+          (not (path-info-deriver (query-path-info %store b)))
+          (string=?
+            (derivation-file-name d)
+            (path-info-deriver (query-path-info %store o))))))
@ build-started /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/567dr91bk9x54yb0yhsbxff2jq8nnrwy-the-thing.drv - x86_64-linux /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/var/log/guix/drvs/56//7dr91bk9x54yb0yhsbxff2jq8nnrwy-the-thing.drv.bz2
@ build-succeeded /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/567dr91bk9x54yb0yhsbxff2jq8nnrwy-the-thing.drv -
actual-value: #t
result: PASS


SKIP: tests/gexp
================

test-name: no refs
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/gexp.scm:71
source:
+ (test-equal
+   "no refs"
+   '(display "hello!")
+   (let ((exp (gexp (display "hello!"))))
+     (and (gexp? exp)
+          (null? (gexp-inputs exp))
+          (gexp->sexp* exp))))
expected-value: (display hello!)
actual-value: (display hello!)
result: PASS

test-name: unquote
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/gexp.scm:78
source:
+ (test-equal
+   "unquote"
+   '(display `(foo ,(+ 2 3)))
+   (let ((exp (gexp (display `(foo ,(+ 2 3))))))
+     (and (gexp? exp)
+          (null? (gexp-inputs exp))
+          (gexp->sexp* exp))))
expected-value: (display (quasiquote (foo (unquote (+ 2 3)))))
actual-value: (display (quasiquote (foo (unquote (+ 2 3)))))
result: PASS

test-name: one input package
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/gexp.scm:85
source:
+ (test-assert
+   "one input package"
+   (let ((exp (gexp (display (ungexp coreutils)))))
+     (and (gexp? exp)
+          (match (gexp-inputs exp)
+                 (((p "out")) (eq? p coreutils)))
+          (equal?
+            `(display
+               ,(derivation->output-path
+                  (package-derivation %store coreutils)))
+            (gexp->sexp* exp)))))
actual-value: #t
result: PASS

test-name: one input origin
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/gexp.scm:95
source:
+ (test-assert
+   "one input origin"
+   (let ((exp (gexp (display (ungexp (package-source coreutils))))))
+     (and (gexp? exp)
+          (match (gexp-inputs exp)
+                 (((o "out")) (eq? o (package-source coreutils))))
+          (equal?
+            `(display
+               ,(derivation->output-path
+                  (package-source-derivation
+                    %store
+                    (package-source coreutils))))
+            (gexp->sexp* exp)))))
actual-value: #t
result: PASS

test-name: one local file
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/gexp.scm:106
source:
+ (test-assert
+   "one local file"
+   (let* ((file (search-path %load-path "guix.scm"))
+          (local (local-file file))
+          (exp (gexp (display (ungexp local))))
+          (intd (add-to-store
+                  %store
+                  (basename file)
+                  #f
+                  "sha256"
+                  file)))
+     (and (gexp? exp)
+          (match (gexp-inputs exp)
+                 (((x "out")) (eq? x local)))
+          (equal? `(display ,intd) (gexp->sexp* exp)))))
actual-value: #t
result: PASS

test-name: one local file, symlink
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/gexp.scm:118
source:
+ (test-assert
+   "one local file, symlink"
+   (let ((file (search-path %load-path "guix.scm"))
+         (link (tmpnam)))
+     (dynamic-wind
+       (const #t)
+       (lambda ()
+         (symlink (canonicalize-path file) link)
+         (let* ((local (local-file link "my-file" #:recursive? #f))
+                (exp (gexp (display (ungexp local))))
+                (intd (add-to-store %store "my-file" #f "sha256" file)))
+           (and (gexp? exp)
+                (match (gexp-inputs exp)
+                       (((x "out")) (eq? x local)))
+                (equal? `(display ,intd) (gexp->sexp* exp)))))
+       (lambda ()
+         (false-if-exception (delete-file link))))))
actual-value: #t
result: PASS

test-name: local-file, relative file name
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/gexp.scm:137
source:
+ (test-equal
+   "local-file, relative file name"
+   (canonicalize-path
+     (search-path %load-path "guix/base32.scm"))
+   (let ((directory
+           (dirname
+             (search-path
+               %load-path
+               "guix/build-system/gnu.scm"))))
+     (with-directory-excursion
+       directory
+       (let ((file (local-file "../guix/base32.scm")))
+         (local-file-absolute-file-name file)))))
expected-value: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/guix/base32.scm
actual-value: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/guix/base32.scm
result: PASS

test-name: local-file, #:select?
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/gexp.scm:145
source:
+ (test-assert
+   "local-file, #:select?"
+   (run-with-store
+     %store
+     (mlet* %store-monad
+            ((select?
+               ->
+               (lambda (file stat)
+                 (member
+                   (basename file)
+                   '("guix.scm" "tests" "gexp.scm"))))
+             (file ->
+                   (local-file
+                     ".."
+                     "directory"
+                     #:recursive?
+                     #t
+                     #:select?
+                     select?))
+             (dir (lower-object file)))
+            (return
+              (and (store-path? dir)
+                   (equal?
+                     (scandir dir)
+                     '("." ".." "guix.scm" "tests"))
+                   (equal?
+                     (scandir (string-append dir "/tests"))
+                     '("." ".." "gexp.scm")))))
+     #:guile-for-build
+     (%guile-for-build)))
actual-value: #t
result: PASS

test-name: one plain file
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/gexp.scm:160
source:
+ (test-assert
+   "one plain file"
+   (let* ((file (plain-file "hi" "Hello, world!"))
+          (exp (gexp (display (ungexp file))))
+          (expected
+            (add-text-to-store %store "hi" "Hello, world!")))
+     (and (gexp? exp)
+          (match (gexp-inputs exp)
+                 (((x "out")) (eq? x file)))
+          (equal? `(display ,expected) (gexp->sexp* exp)))))
actual-value: #t
result: PASS

test-name: same input twice
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/gexp.scm:170
source:
+ (test-assert
+   "same input twice"
+   (let ((exp (gexp (begin
+                      (display (ungexp coreutils))
+                      (display (ungexp coreutils))))))
+     (and (gexp? exp)
+          (match (gexp-inputs exp)
+                 (((p "out")) (eq? p coreutils)))
+          (let ((e `(display
+                      ,(derivation->output-path
+                         (package-derivation %store coreutils)))))
+            (equal? `(begin ,e ,e) (gexp->sexp* exp))))))
actual-value: #t
result: PASS

test-name: two input packages, one derivation, one file
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/gexp.scm:182
source:
+ (test-assert
+   "two input packages, one derivation, one file"
+   (let* ((drv (build-expression->derivation
+                 %store
+                 "foo"
+                 'bar
+                 #:guile-for-build
+                 (package-derivation %store %bootstrap-guile)))
+          (txt (add-text-to-store %store "foo" "Hello, world!"))
+          (exp (gexp (begin
+                       (display (ungexp coreutils))
+                       (display (ungexp %bootstrap-guile))
+                       (display (ungexp drv))
+                       (display (ungexp txt))))))
+     (define (match-input thing)
+       (match-lambda
+         ((drv-or-pkg _ ...) (eq? thing drv-or-pkg))))
+     (and (gexp? exp)
+          (= 4 (length (gexp-inputs exp)))
+          (every (lambda (input)
+                   (find (match-input input) (gexp-inputs exp)))
+                 (list drv coreutils %bootstrap-guile txt))
+          (let ((e0 `(display
+                       ,(derivation->output-path
+                          (package-derivation %store coreutils))))
+                (e1 `(display
+                       ,(derivation->output-path
+                          (package-derivation %store %bootstrap-guile))))
+                (e2 `(display ,(derivation->output-path drv)))
+                (e3 `(display ,txt)))
+            (equal?
+              `(begin ,e0 ,e1 ,e2 ,e3)
+              (gexp->sexp* exp))))))
actual-value: #t
result: PASS

test-name: ungexp + ungexp-native
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/gexp.scm:210
source:
+ (test-assert
+   "ungexp + ungexp-native"
+   (let* ((exp (gexp (list (ungexp-native %bootstrap-guile)
+                           (ungexp coreutils)
+                           (ungexp-native glibc)
+                           (ungexp binutils))))
+          (target "mips64el-linux")
+          (guile (derivation->output-path
+                   (package-derivation %store %bootstrap-guile)))
+          (cu (derivation->output-path
+                (package-cross-derivation
+                  %store
+                  coreutils
+                  target)))
+          (libc (derivation->output-path
+                  (package-derivation %store glibc)))
+          (bu (derivation->output-path
+                (package-cross-derivation %store binutils target))))
+     (and (lset= equal?
+                 `((,%bootstrap-guile "out") (,glibc "out"))
+                 (gexp-native-inputs exp))
+          (lset= equal?
+                 `((,coreutils "out") (,binutils "out"))
+                 (gexp-inputs exp))
+          (equal?
+            `(list ,guile ,cu ,libc ,bu)
+            (gexp->sexp* exp target)))))
actual-value: #t
result: PASS

test-name: ungexp + ungexp-native, nested
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/gexp.scm:233
source:
+ (test-equal
+   "ungexp + ungexp-native, nested"
+   (list `((,%bootstrap-guile "out"))
+         '<>
+         `((,coreutils "out")))
+   (let* ((exp (gexp (list (ungexp-native (gexp (ungexp coreutils)))
+                           (ungexp %bootstrap-guile)))))
+     (list (gexp-inputs exp)
+           '<>
+           (gexp-native-inputs exp))))
expected-value: (((#<package guile-bootstrap@2.0 gnu/packages/bootstrap.scm:277 558447447000> out)) <> ((#<package coreutils@8.25 gnu/packages/base.scm:263 5584490a23c0> out)))
actual-value: (((#<package guile-bootstrap@2.0 gnu/packages/bootstrap.scm:277 558447447000> out)) <> ((#<package coreutils@8.25 gnu/packages/base.scm:263 5584490a23c0> out)))
result: PASS

test-name: input list
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/gexp.scm:239
source:
+ (test-assert
+   "input list"
+   (let ((exp (gexp (display
+                      '(ungexp (list %bootstrap-guile coreutils)))))
+         (guile (derivation->output-path
+                  (package-derivation %store %bootstrap-guile)))
+         (cu (derivation->output-path
+               (package-derivation %store coreutils))))
+     (and (lset= equal?
+                 `((,%bootstrap-guile "out") (,coreutils "out"))
+                 (gexp-inputs exp))
+          (equal?
+            `(display '(,guile ,cu))
+            (gexp->sexp* exp)))))
actual-value: #t
result: PASS

test-name: input list + ungexp-native
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/gexp.scm:252
source:
+ (test-assert
+   "input list + ungexp-native"
+   (let* ((target "mips64el-linux")
+          (exp (gexp (display
+                       (cons '(ungexp-native
+                                (list %bootstrap-guile coreutils))
+                             '(ungexp (list glibc binutils))))))
+          (guile (derivation->output-path
+                   (package-derivation %store %bootstrap-guile)))
+          (cu (derivation->output-path
+                (package-derivation %store coreutils)))
+          (xlibc (derivation->output-path
+                   (package-cross-derivation %store glibc target)))
+          (xbu (derivation->output-path
+                 (package-cross-derivation %store binutils target))))
+     (and (lset= equal?
+                 `((,%bootstrap-guile "out") (,coreutils "out"))
+                 (gexp-native-inputs exp))
+          (lset= equal?
+                 `((,glibc "out") (,binutils "out"))
+                 (gexp-inputs exp))
+          (equal?
+            `(display (cons '(,guile ,cu) '(,xlibc ,xbu)))
+            (gexp->sexp* exp target)))))
actual-value: #t
result: PASS

test-name: input list splicing
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/gexp.scm:274
source:
+ (test-assert
+   "input list splicing"
+   (let* ((inputs
+            (list (gexp-input glibc "debug")
+                  %bootstrap-guile))
+          (outputs
+            (list (derivation->output-path
+                    (package-derivation %store glibc)
+                    "debug")
+                  (derivation->output-path
+                    (package-derivation %store %bootstrap-guile))))
+          (exp (gexp (list (ungexp-splicing (cons (+ 2 3) inputs))))))
+     (and (lset= equal?
+                 `((,glibc "debug") (,%bootstrap-guile "out"))
+                 (gexp-inputs exp))
+          (equal?
+            (gexp->sexp* exp)
+            `(list ,@(cons 5 outputs))))))
actual-value: #t
result: PASS

test-name: input list splicing + ungexp-native-splicing
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/gexp.scm:288
source:
+ (test-assert
+   "input list splicing + ungexp-native-splicing"
+   (let* ((inputs
+            (list (gexp-input glibc "debug")
+                  %bootstrap-guile))
+          (exp (gexp (list (ungexp-native-splicing (cons (+ 2 3) inputs))))))
+     (and (lset= equal?
+                 `((,glibc "debug") (,%bootstrap-guile "out"))
+                 (gexp-native-inputs exp))
+          (null? (gexp-inputs exp))
+          (equal?
+            (gexp->sexp* exp)
+            (gexp->sexp* exp "mips64el-linux")))))
actual-value: #t
result: PASS

test-name: output list
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/gexp.scm:298
source:
+ (test-equal
+   "output list"
+   2
+   (let ((exp (gexp (begin
+                      (mkdir (ungexp output))
+                      (mkdir (ungexp output "bar"))))))
+     (length (gexp-outputs exp))))
expected-value: 2
actual-value: 2
result: PASS

test-name: output list, combined gexps
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/gexp.scm:304
source:
+ (test-assert
+   "output list, combined gexps"
+   (let* ((exp0 (gexp (mkdir (ungexp output))))
+          (exp1 (gexp (mkdir (ungexp output "foo"))))
+          (exp2 (gexp (begin
+                        (display "hi!")
+                        (ungexp exp0)
+                        (ungexp exp1)))))
+     (and (lset= equal?
+                 (append (gexp-outputs exp0) (gexp-outputs exp1))
+                 (gexp-outputs exp2))
+          (= 2 (length (gexp-outputs exp2))))))
actual-value: #t
result: PASS

test-name: output list, combined gexps, duplicate output
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/gexp.scm:313
source:
+ (test-equal
+   "output list, combined gexps, duplicate output"
+   1
+   (let* ((exp0 (gexp (mkdir (ungexp output))))
+          (exp1 (gexp (begin (mkdir (ungexp output)) (ungexp exp0))))
+          (exp2 (gexp (begin (mkdir (ungexp output)) (ungexp exp1)))))
+     (length (gexp-outputs exp2))))
expected-value: 1
actual-value: 1
result: PASS

test-name: output list + ungexp-splicing list, combined gexps
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/gexp.scm:320
source:
+ (test-assert
+   "output list + ungexp-splicing list, combined gexps"
+   (let* ((exp0 (gexp (mkdir (ungexp output))))
+          (exp1 (gexp (mkdir (ungexp output "foo"))))
+          (exp2 (gexp (begin
+                        (display "hi!")
+                        (ungexp-splicing (list exp0 exp1))))))
+     (and (lset= equal?
+                 (append (gexp-outputs exp0) (gexp-outputs exp1))
+                 (gexp-outputs exp2))
+          (= 2 (length (gexp-outputs exp2))))))
actual-value: #t
result: PASS

test-name: gexp->file
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/gexp.scm:330
source:
+ (test-assert
+   "gexp->file"
+   (run-with-store
+     %store
+     (mlet* %store-monad
+            ((exp ->
+                  (gexp (display (ungexp %bootstrap-guile))))
+             (guile (package-file %bootstrap-guile))
+             (sexp (gexp->sexp exp))
+             (drv (gexp->file "foo" exp))
+             (out -> (derivation->output-path drv))
+             (done (built-derivations (list drv)))
+             (refs ((store-lift references) out)))
+            (return
+              (and (equal? sexp (call-with-input-file out read))
+                   (equal? (list guile) refs))))
+     #:guile-for-build
+     (%guile-for-build)))
random seed for tests: 1476378200
@ build-started /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/7hm186rp8bv4m2vp1m4chrp5y7zvxwk6-foo.drv - x86_64-linux /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/var/log/guix/drvs/7h//m186rp8bv4m2vp1m4chrp5y7zvxwk6-foo.drv.bz2
@ build-succeeded /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/7hm186rp8bv4m2vp1m4chrp5y7zvxwk6-foo.drv -
actual-value: #t
result: PASS

test-name: gexp->derivation
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/gexp.scm:341
source:
+ (test-assert
+   "gexp->derivation"
+   (run-with-store
+     %store
+     (mlet* %store-monad
+            ((file (text-file "foo" "Hello, world!"))
+             (exp ->
+                  (gexp (begin
+                          (mkdir (ungexp output))
+                          (chdir (ungexp output))
+                          (symlink
+                            (string-append
+                              (ungexp %bootstrap-guile)
+                              "/bin/guile")
+                            "foo")
+                          (symlink (ungexp file) (ungexp output "2nd")))))
+             (drv (gexp->derivation "foo" exp))
+             (out -> (derivation->output-path drv))
+             (out2 -> (derivation->output-path drv "2nd"))
+             (done (built-derivations (list drv)))
+             (refs ((store-lift references) out))
+             (refs2 ((store-lift references) out2))
+             (guile (package-file %bootstrap-guile "bin/guile")))
+            (return
+              (and (string=?
+                     (readlink (string-append out "/foo"))
+                     guile)
+                   (string=? (readlink out2) file)
+                   (equal? refs (list (dirname (dirname guile))))
+                   (equal? refs2 (list file)))))
+     #:guile-for-build
+     (%guile-for-build)))
@ build-started /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/15kq2jw35by4nf00jc9xaq36mwyp8c8a-foo.drv - x86_64-linux /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/var/log/guix/drvs/15//kq2jw35by4nf00jc9xaq36mwyp8c8a-foo.drv.bz2
@ build-succeeded /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/15kq2jw35by4nf00jc9xaq36mwyp8c8a-foo.drv -
actual-value: #t
result: PASS

test-name: gexp->derivation vs. grafts
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/gexp.scm:365
source:
+ (test-assert
+   "gexp->derivation vs. grafts"
+   (run-with-store
+     %store
+     (mlet* %store-monad
+            ((graft? (set-grafting #f))
+             (p0 ->
+                 (dummy-package
+                   "dummy"
+                   (arguments '(#:implicit-inputs? #f))))
+             (r -> (package (inherit p0) (name "DuMMY")))
+             (p1 -> (package (inherit p0) (replacement r)))
+             (exp0 ->
+                   (gexp (frob (ungexp p0) (ungexp output))))
+             (exp1 ->
+                   (gexp (frob (ungexp p1) (ungexp output))))
+             (void (set-guile-for-build %bootstrap-guile))
+             (drv0 (gexp->derivation "t" exp0 #:graft? #t))
+             (drv1 (gexp->derivation "t" exp1 #:graft? #t))
+             (drv1* (gexp->derivation "t" exp1 #:graft? #f))
+             (_ (set-grafting graft?)))
+            (return
+              (and (not (string=?
+                          (derivation->output-path drv0)
+                          (derivation->output-path drv1)))
+                   (string=?
+                     (derivation->output-path drv0)
+                     (derivation->output-path drv1*)))))
+     #:guile-for-build
+     (%guile-for-build)))
actual-value: #t
result: PASS

test-name: gexp->derivation, composed gexps
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/gexp.scm:384
source:
+ (test-assert
+   "gexp->derivation, composed gexps"
+   (run-with-store
+     %store
+     (mlet* %store-monad
+            ((exp0 ->
+                   (gexp (begin
+                           (mkdir (ungexp output))
+                           (chdir (ungexp output)))))
+             (exp1 ->
+                   (gexp (symlink
+                           (string-append
+                             (ungexp %bootstrap-guile)
+                             "/bin/guile")
+                           "foo")))
+             (exp ->
+                  (gexp (begin (ungexp exp0) (ungexp exp1))))
+             (drv (gexp->derivation "foo" exp))
+             (out -> (derivation->output-path drv))
+             (done (built-derivations (list drv)))
+             (guile (package-file %bootstrap-guile "bin/guile")))
+            (return
+              (string=?
+                (readlink (string-append out "/foo"))
+                guile)))
+     #:guile-for-build
+     (%guile-for-build)))
@ build-started /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/fw2yc7cid79z2ilipav446p8rpcnsqwx-foo.drv - x86_64-linux /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/var/log/guix/drvs/fw//2yc7cid79z2ilipav446p8rpcnsqwx-foo.drv.bz2
@ build-succeeded /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/fw2yc7cid79z2ilipav446p8rpcnsqwx-foo.drv -
actual-value: #t
result: PASS

test-name: gexp->derivation, default system
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/gexp.scm:400
source:
+ (test-assert
+   "gexp->derivation, default system"
+   (run-with-store
+     %store
+     (let ((system (%current-system))
+           (mdrv (parameterize
+                   ((%current-system "foobar64-linux"))
+                   (gexp->derivation
+                     "foo"
+                     (gexp (mkdir (ungexp output)))))))
+       (mlet %store-monad
+             ((drv mdrv))
+             (return
+               (string=? system (derivation-system drv)))))
+     #:guile-for-build
+     (%guile-for-build)))
actual-value: #t
result: PASS

test-name: gexp->derivation, local-file
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/gexp.scm:411
source:
+ (test-assert
+   "gexp->derivation, local-file"
+   (run-with-store
+     %store
+     (mlet* %store-monad
+            ((file -> (search-path %load-path "guix.scm"))
+             (intd (interned-file file #:recursive? #f))
+             (local -> (local-file file))
+             (exp ->
+                  (gexp (begin
+                          (stat (ungexp local))
+                          (symlink (ungexp local) (ungexp output)))))
+             (drv (gexp->derivation "local-file" exp)))
+            (mbegin
+              %store-monad
+              (built-derivations (list drv))
+              (return
+                (string=?
+                  (readlink (derivation->output-path drv))
+                  intd))))
+     #:guile-for-build
+     (%guile-for-build)))
@ build-started /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/y7z0pq4fabfbrcck9vam1zvqmayhifk8-local-file.drv - x86_64-linux /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/var/log/guix/drvs/y7//z0pq4fabfbrcck9vam1zvqmayhifk8-local-file.drv.bz2
@ build-succeeded /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/y7z0pq4fabfbrcck9vam1zvqmayhifk8-local-file.drv -
actual-value: #t
result: PASS

test-name: gexp->derivation, cross-compilation
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/gexp.scm:425
source:
+ (test-assert
+   "gexp->derivation, cross-compilation"
+   (run-with-store
+     %store
+     (mlet* %store-monad
+            ((target -> "mips64el-linux")
+             (exp ->
+                  (gexp (list (ungexp coreutils) (ungexp output))))
+             (xdrv (gexp->derivation "foo" exp #:target target))
+             (refs ((store-lift references)
+                    (derivation-file-name xdrv)))
+             (xcu (package->cross-derivation coreutils target))
+             (cu (package->derivation coreutils)))
+            (return
+              (and (member (derivation-file-name xcu) refs)
+                   (not (member (derivation-file-name cu) refs)))))
+     #:guile-for-build
+     (%guile-for-build)))
actual-value: #t
result: PASS

test-name: gexp->derivation, ungexp-native
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/gexp.scm:439
source:
+ (test-assert
+   "gexp->derivation, ungexp-native"
+   (run-with-store
+     %store
+     (mlet* %store-monad
+            ((target -> "mips64el-linux")
+             (exp ->
+                  (gexp (list (ungexp-native coreutils) (ungexp output))))
+             (xdrv (gexp->derivation "foo" exp #:target target))
+             (drv (gexp->derivation "foo" exp)))
+            (return
+              (string=?
+                (derivation-file-name drv)
+                (derivation-file-name xdrv))))
+     #:guile-for-build
+     (%guile-for-build)))
actual-value: #t
result: PASS

test-name: gexp->derivation, ungexp + ungexp-native
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/gexp.scm:449
source:
+ (test-assert
+   "gexp->derivation, ungexp + ungexp-native"
+   (run-with-store
+     %store
+     (mlet* %store-monad
+            ((target -> "mips64el-linux")
+             (exp ->
+                  (gexp (list (ungexp-native coreutils)
+                              (ungexp glibc)
+                              (ungexp output))))
+             (xdrv (gexp->derivation "foo" exp #:target target))
+             (refs ((store-lift references)
+                    (derivation-file-name xdrv)))
+             (xglibc (package->cross-derivation glibc target))
+             (cu (package->derivation coreutils)))
+            (return
+              (and (member (derivation-file-name cu) refs)
+                   (member (derivation-file-name xglibc) refs))))
+     #:guile-for-build
+     (%guile-for-build)))
actual-value: (/tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/d9p7xvhmfgwg8rlcb5g45rhxxwhfx8jv-glibc-2.23.drv /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/v7lnk4av4rmw93x2b5qz3s9zas4cw2c3-coreutils-8.25.drv)
result: PASS

test-name: gexp->derivation, ungexp-native + composed gexps
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/gexp.scm:463
source:
+ (test-assert
+   "gexp->derivation, ungexp-native + composed gexps"
+   (run-with-store
+     %store
+     (mlet* %store-monad
+            ((target -> "mips64el-linux")
+             (exp0 -> (gexp (list 1 2 (ungexp coreutils))))
+             (exp -> (gexp (list 0 (ungexp-native exp0))))
+             (xdrv (gexp->derivation "foo" exp #:target target))
+             (drv (gexp->derivation "foo" exp)))
+            (return
+              (string=?
+                (derivation-file-name drv)
+                (derivation-file-name xdrv))))
+     #:guile-for-build
+     (%guile-for-build)))
actual-value: #t
result: PASS

test-name: gexp->derivation, store copy
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/gexp.scm:474
source:
+ (test-assert
+   "gexp->derivation, store copy"
+   (run-with-store
+     %store
+     (let ((build-one
+             (gexp (call-with-output-file
+                     (ungexp output)
+                     (lambda (port) (display "This is the one." port)))))
+           (build-two
+             (lambda (one)
+               (gexp (begin
+                       (mkdir (ungexp output))
+                       (symlink
+                         (ungexp one)
+                         (string-append (ungexp output) "/one"))
+                       (call-with-output-file
+                         (string-append (ungexp output) "/two")
+                         (lambda (port)
+                           (display "This is the second one." port)))))))
+           (build-drv
+             (gexp (begin
+                     (use-modules (guix build store-copy))
+                     (mkdir (ungexp output))
+                     (populate-store '("graph") (ungexp output))))))
+       (mlet* %store-monad
+              ((one (gexp->derivation "one" build-one))
+               (two (gexp->derivation "two" (build-two one)))
+               (drv (gexp->derivation
+                      "store-copy"
+                      build-drv
+                      #:references-graphs
+                      `(("graph" ,two))
+                      #:modules
+                      '((guix build store-copy) (guix build utils))))
+               (ok? (built-derivations (list drv)))
+               (out -> (derivation->output-path drv)))
+              (let ((one (derivation->output-path one))
+                    (two (derivation->output-path two)))
+                (return
+                  (and ok?
+                       (file-exists? (string-append out "/" one))
+                       (file-exists? (string-append out "/" two))
+                       (file-exists? (string-append out "/" two "/two"))
+                       (string=?
+                         (readlink (string-append out "/" two "/one"))
+                         one))))))
+     #:guile-for-build
+     (%guile-for-build)))
@ build-started /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/z5aqv2ilizc5ldw4rg3q6yhimi574h0b-module-import.drv - x86_64-linux /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/var/log/guix/drvs/z5//aqv2ilizc5ldw4rg3q6yhimi574h0b-module-import.drv.bz2
@ build-succeeded /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/z5aqv2ilizc5ldw4rg3q6yhimi574h0b-module-import.drv -
@ build-started /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/kh8i06aa6xp8sl3sdib8h608cf8pj520-one.drv - x86_64-linux /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/var/log/guix/drvs/kh//8i06aa6xp8sl3sdib8h608cf8pj520-one.drv.bz2
@ build-succeeded /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/kh8i06aa6xp8sl3sdib8h608cf8pj520-one.drv -
@ build-started /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/cby5fjyis8pigf56aczkcdgqfxnniw9g-module-import-compiled.drv - x86_64-linux /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/var/log/guix/drvs/cb//y5fjyis8pigf56aczkcdgqfxnniw9g-module-import-compiled.drv.bz2
@ build-succeeded /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/cby5fjyis8pigf56aczkcdgqfxnniw9g-module-import-compiled.drv -
@ build-started /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/dn0rrbs4i89w8x99d5r885rlajw9ihsr-two.drv - x86_64-linux /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/var/log/guix/drvs/dn//0rrbs4i89w8x99d5r885rlajw9ihsr-two.drv.bz2
@ build-succeeded /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/dn0rrbs4i89w8x99d5r885rlajw9ihsr-two.drv -
@ build-started /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/vz4ap0whvfhlvd8vhnfyp2cmd0sca434-store-copy.drv - x86_64-linux /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/var/log/guix/drvs/vz//4ap0whvfhlvd8vhnfyp2cmd0sca434-store-copy.drv.bz2
`/tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/sa3n3vd31zmjwfrnylbz7ma5579lrg9m-one' -> `/tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/8cg6km66zzqpl2kr90b3cfmcii7pd905-store-copy/tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/sa3n3vd31zmjwfrnylbz7ma5579lrg9m-one'
`/tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/n8qvlhxfqbna12aqcqxv9az0ylxn3ckp-two/two' -> `/tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/8cg6km66zzqpl2kr90b3cfmcii7pd905-store-copy/tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/n8qvlhxfqbna12aqcqxv9az0ylxn3ckp-two/two'
`/tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/n8qvlhxfqbna12aqcqxv9az0ylxn3ckp-two/one' -> `/tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/8cg6km66zzqpl2kr90b3cfmcii7pd905-store-copy/tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/n8qvlhxfqbna12aqcqxv9az0ylxn3ckp-two/one'
@ build-succeeded /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/vz4ap0whvfhlvd8vhnfyp2cmd0sca434-store-copy.drv -
actual-value: #t
result: PASS

test-name: imported-files
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/gexp.scm:509
source:
+ (test-assert
+   "imported-files"
+   (run-with-store
+     %store
+     (mlet* %store-monad
+            ((files ->
+                    `(("x"
+                       unquote
+                       (search-path %load-path "ice-9/q.scm"))
+                      ("a/b/c"
+                       unquote
+                       (search-path %load-path "guix/derivations.scm"))
+                      ("p/q"
+                       unquote
+                       (search-path %load-path "guix.scm"))
+                      ("p/z"
+                       unquote
+                       (search-path %load-path "guix/store.scm"))))
+             (drv (imported-files files)))
+            (mbegin
+              %store-monad
+              (built-derivations (list drv))
+              (let ((dir (derivation->output-path drv)))
+                (return
+                  (every (match-lambda
+                           ((path . source)
+                            (equal?
+                              (call-with-input-file
+                                (string-append dir "/" path)
+                                get-bytevector-all)
+                              (call-with-input-file
+                                source
+                                get-bytevector-all))))
+                         files)))))
+     #:guile-for-build
+     (%guile-for-build)))
@ build-started /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/bvviphh6y43jicsd2sbi7vlb76wwsqjv-file-import.drv - x86_64-linux /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/var/log/guix/drvs/bv//viphh6y43jicsd2sbi7vlb76wwsqjv-file-import.drv.bz2
@ build-succeeded /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/bvviphh6y43jicsd2sbi7vlb76wwsqjv-file-import.drv -
actual-value: #t
result: PASS

test-name: gexp-modules & ungexp
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/gexp.scm:529
source:
+ (test-equal
+   "gexp-modules & ungexp"
+   '((bar) (foo))
+   ((@@ (guix gexp) gexp-modules)
+    (gexp (foo (ungexp
+                 (with-imported-modules '((foo)) (gexp +)))
+               (ungexp-native
+                 (with-imported-modules '((bar)) (gexp -)))))))
expected-value: ((bar) (foo))
actual-value: ((bar) (foo))
result: PASS

test-name: gexp-modules & ungexp-splicing
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/gexp.scm:535
source:
+ (test-equal
+   "gexp-modules & ungexp-splicing"
+   '((foo) (bar))
+   ((@@ (guix gexp) gexp-modules)
+    (gexp (foo (ungexp-splicing
+                 (list (with-imported-modules '((foo)) (gexp +))
+                       (with-imported-modules '((bar)) (gexp -))))))))
expected-value: ((foo) (bar))
actual-value: ((foo) (bar))
result: PASS

test-name: gexp->derivation #:modules
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/gexp.scm:541
source:
+ (test-assert
+   "gexp->derivation #:modules"
+   (run-with-store
+     %store
+     (mlet* %store-monad
+            ((build ->
+                    (gexp (begin
+                            (use-modules (guix build utils))
+                            (mkdir-p
+                              (string-append
+                                (ungexp output)
+                                "/guile/guix/nix"))
+                            #t)))
+             (drv (gexp->derivation
+                    "test-with-modules"
+                    build
+                    #:modules
+                    '((guix build utils)))))
+            (mbegin
+              %store-monad
+              (built-derivations (list drv))
+              (let* ((p (derivation->output-path drv))
+                     (s (stat (string-append p "/guile/guix/nix"))))
+                (return (eq? (stat:type s) 'directory)))))
+     #:guile-for-build
+     (%guile-for-build)))
@ build-started /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/mwm3x7vj228z2d35g3mjli9bxknjlf9n-test-with-modules.drv - x86_64-linux /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/var/log/guix/drvs/mw//m3x7vj228z2d35g3mjli9bxknjlf9n-test-with-modules.drv.bz2
@ build-succeeded /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/mwm3x7vj228z2d35g3mjli9bxknjlf9n-test-with-modules.drv -
actual-value: #t
result: PASS

test-name: gexp->derivation & with-imported-modules
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/gexp.scm:555
source:
+ (test-assert
+   "gexp->derivation & with-imported-modules"
+   (run-with-store
+     %store
+     (mlet* %store-monad
+            ((build ->
+                    (with-imported-modules
+                      '((guix build utils))
+                      (gexp (begin
+                              (use-modules (guix build utils))
+                              (mkdir-p
+                                (string-append
+                                  (ungexp output)
+                                  "/guile/guix/nix"))
+                              #t))))
+             (drv (gexp->derivation "test-with-modules" build)))
+            (mbegin
+              %store-monad
+              (built-derivations (list drv))
+              (let* ((p (derivation->output-path drv))
+                     (s (stat (string-append p "/guile/guix/nix"))))
+                (return (eq? (stat:type s) 'directory)))))
+     #:guile-for-build
+     (%guile-for-build)))
actual-value: #t
result: PASS

test-name: gexp->derivation & nested with-imported-modules
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/gexp.scm:570
source:
+ (test-assert
+   "gexp->derivation & nested with-imported-modules"
+   (run-with-store
+     %store
+     (mlet* %store-monad
+            ((build1
+               ->
+               (with-imported-modules
+                 '((guix build utils))
+                 (gexp (begin
+                         (use-modules (guix build utils))
+                         (mkdir-p
+                           (string-append (ungexp output) "/guile/guix/nix"))
+                         #t))))
+             (build2
+               ->
+               (with-imported-modules
+                 '((guix build bournish))
+                 (gexp (begin
+                         (use-modules
+                           (guix build bournish)
+                           (system base compile))
+                         (ungexp-native build1)
+                         (call-with-output-file
+                           (string-append (ungexp output) "/b")
+                           (lambda (port)
+                             (write (read-and-compile
+                                      (open-input-string "cd /foo")
+                                      #:from
+                                      %bournish-language
+                                      #:to
+                                      'scheme)
+                                    port)))))))
+             (drv (gexp->derivation "test-with-modules" build2)))
+            (mbegin
+              %store-monad
+              (built-derivations (list drv))
+              (let* ((p (derivation->output-path drv))
+                     (s (stat (string-append p "/guile/guix/nix")))
+                     (b (string-append p "/b")))
+                (return
+                  (and (eq? (stat:type s) 'directory)
+                       (equal?
+                         '(chdir "/foo")
+                         (call-with-input-file b read)))))))
+     #:guile-for-build
+     (%guile-for-build)))
@ build-started /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/vmrny8n71gshlgqgmalc2bskacgwf028-module-import.drv - x86_64-linux /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/var/log/guix/drvs/vm//rny8n71gshlgqgmalc2bskacgwf028-module-import.drv.bz2
@ build-succeeded /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/vmrny8n71gshlgqgmalc2bskacgwf028-module-import.drv -
@ build-started /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/ri89zvh1aqkib4hj01cmnlb67y7pmrls-module-import-compiled.drv - x86_64-linux /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/var/log/guix/drvs/ri//89zvh1aqkib4hj01cmnlb67y7pmrls-module-import-compiled.drv.bz2
@ build-succeeded /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/ri89zvh1aqkib4hj01cmnlb67y7pmrls-module-import-compiled.drv -
@ build-started /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/siah1lspb2mzhsiqkrm9gqs4cjvb3hnq-test-with-modules.drv - x86_64-linux /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/var/log/guix/drvs/si//ah1lspb2mzhsiqkrm9gqs4cjvb3hnq-test-with-modules.drv.bz2
@ build-succeeded /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/siah1lspb2mzhsiqkrm9gqs4cjvb3hnq-test-with-modules.drv -
actual-value: #t
result: PASS

test-name: gexp->derivation #:references-graphs
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/gexp.scm:599
source:
+ (test-assert
+   "gexp->derivation #:references-graphs"
+   (run-with-store
+     %store
+     (mlet* %store-monad
+            ((one (text-file "one" (random-text)))
+             (two (gexp->derivation
+                    "two"
+                    (gexp (symlink (ungexp one) (ungexp output "chbouib")))))
+             (build ->
+                    (with-imported-modules
+                      '((guix build store-copy) (guix build utils))
+                      (gexp (begin
+                              (use-modules (guix build store-copy))
+                              (with-output-to-file
+                                (ungexp output)
+                                (lambda ()
+                                  (write (call-with-input-file
+                                           "guile"
+                                           read-reference-graph))))
+                              (with-output-to-file
+                                (ungexp output "one")
+                                (lambda ()
+                                  (write (call-with-input-file
+                                           "one"
+                                           read-reference-graph))))
+                              (with-output-to-file
+                                (ungexp output "two")
+                                (lambda ()
+                                  (write (call-with-input-file
+                                           "two"
+                                           read-reference-graph))))))))
+             (drv (gexp->derivation
+                    "ref-graphs"
+                    build
+                    #:references-graphs
+                    `(("one" ,one)
+                      ("two" ,two "chbouib")
+                      ("guile" ,%bootstrap-guile))))
+             (ok? (built-derivations (list drv)))
+             (guile-drv
+               (package->derivation %bootstrap-guile))
+             (bash (interned-file
+                     (search-bootstrap-binary
+                       "bash"
+                       (%current-system))
+                     "bash"
+                     #:recursive?
+                     #t))
+             (g-one -> (derivation->output-path drv "one"))
+             (g-two -> (derivation->output-path drv "two"))
+             (g-guile -> (derivation->output-path drv)))
+            (return
+              (and ok?
+                   (equal?
+                     (call-with-input-file g-one read)
+                     (list one))
+                   (lset= string=?
+                          (call-with-input-file g-two read)
+                          (list one
+                                (derivation->output-path two "chbouib")))
+                   (lset= string=?
+                          (call-with-input-file g-guile read)
+                          (list (derivation->output-path guile-drv) bash)))))
+     #:guile-for-build
+     (%guile-for-build)))
@ build-started /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/bnjvp5m73q9zkk7d5phkn5wlyvjsyj4p-two.drv - x86_64-linux /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/var/log/guix/drvs/bn//jvp5m73q9zkk7d5phkn5wlyvjsyj4p-two.drv.bz2
@ build-succeeded /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/bnjvp5m73q9zkk7d5phkn5wlyvjsyj4p-two.drv -
@ build-started /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/4z32agc8rnlsyw1fl5gfvw3lbnahb6gp-ref-graphs.drv - x86_64-linux /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/var/log/guix/drvs/4z//32agc8rnlsyw1fl5gfvw3lbnahb6gp-ref-graphs.drv.bz2
@ build-succeeded /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/4z32agc8rnlsyw1fl5gfvw3lbnahb6gp-ref-graphs.drv -
actual-value: #t
result: PASS

test-name: gexp->derivation #:allowed-references
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/gexp.scm:643
source:
+ (test-assert
+   "gexp->derivation #:allowed-references"
+   (run-with-store
+     %store
+     (mlet %store-monad
+           ((drv (gexp->derivation
+                   "allowed-refs"
+                   (gexp (begin
+                           (mkdir (ungexp output))
+                           (chdir (ungexp output))
+                           (symlink (ungexp output) "self")
+                           (symlink (ungexp %bootstrap-guile) "guile")))
+                   #:allowed-references
+                   (list "out" %bootstrap-guile))))
+           (built-derivations (list drv)))
+     #:guile-for-build
+     (%guile-for-build)))
@ build-started /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/x4sngfh5w583dzm23d7adkrdqlkwibdr-allowed-refs.drv - x86_64-linux /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/var/log/guix/drvs/x4//sngfh5w583dzm23d7adkrdqlkwibdr-allowed-refs.drv.bz2
@ build-succeeded /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/x4sngfh5w583dzm23d7adkrdqlkwibdr-allowed-refs.drv -
actual-value: #t
result: PASS

test-name: gexp->derivation #:allowed-references, specific output
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/gexp.scm:655
source:
+ (test-assert
+   "gexp->derivation #:allowed-references, specific output"
+   (run-with-store
+     %store
+     (mlet* %store-monad
+            ((in (gexp->derivation
+                   "thing"
+                   (gexp (begin
+                           (mkdir (ungexp output "ok"))
+                           (mkdir (ungexp output "not-ok"))))))
+             (drv (gexp->derivation
+                    "allowed-refs"
+                    (gexp (begin
+                            (pk (ungexp in "not-ok"))
+                            (mkdir (ungexp output))
+                            (chdir (ungexp output))
+                            (symlink (ungexp output) "self")
+                            (symlink (ungexp in "ok") "ok")))
+                    #:allowed-references
+                    (list "out" (gexp-input in "ok")))))
+            (built-derivations (list drv)))
+     #:guile-for-build
+     (%guile-for-build)))
@ build-started /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/02ql2ar7s5j5akgs22z5mw7s8lzpaw21-thing.drv - x86_64-linux /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/var/log/guix/drvs/02//ql2ar7s5j5akgs22z5mw7s8lzpaw21-thing.drv.bz2
@ build-succeeded /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/02ql2ar7s5j5akgs22z5mw7s8lzpaw21-thing.drv -
@ build-started /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/v5han1b8k8c0xlzv2gj6m2apwb9x7jnl-allowed-refs.drv - x86_64-linux /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/var/log/guix/drvs/v5//han1b8k8c0xlzv2gj6m2apwb9x7jnl-allowed-refs.drv.bz2

;;; ("/tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/yi5sfwgp2qplppr8dffbxdiayv4h1vp6-thing-not-ok")
@ build-succeeded /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/v5han1b8k8c0xlzv2gj6m2apwb9x7jnl-allowed-refs.drv -
actual-value: #t
result: PASS

test-name: gexp->derivation #:allowed-references, disallowed
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/gexp.scm:672
source:
+ (test-assert
+   "gexp->derivation #:allowed-references, disallowed"
+   (let ((drv (run-with-store
+                %store
+                (gexp->derivation
+                  "allowed-refs"
+                  (gexp (begin
+                          (mkdir (ungexp output))
+                          (chdir (ungexp output))
+                          (symlink (ungexp %bootstrap-guile) "guile")))
+                  #:allowed-references
+                  '()))))
+     (guard (c ((nix-protocol-error? c) #t))
+            (build-derivations %store (list drv))
+            #f)))
@ build-started /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/vy1f3zds486db2v44f2wvcliyi73fpy8-allowed-refs.drv - x86_64-linux /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/var/log/guix/drvs/vy//1f3zds486db2v44f2wvcliyi73fpy8-allowed-refs.drv.bz2
output (`/tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/xsj9hfgwdrwkw9bdj1zwijz3ck95kg13-allowed-refs') is not allowed to refer to path `/tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/ixfn9w693z8gzcknavq93ppabwqds527-guile-bootstrap-2.0'
@ build-failed /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/vy1f3zds486db2v44f2wvcliyi73fpy8-allowed-refs.drv - 1 output (`/tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/xsj9hfgwdrwkw9bdj1zwijz3ck95kg13-allowed-refs') is not allowed to refer to path `/tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/ixfn9w693z8gzcknavq93ppabwqds527-guile-bootstrap-2.0'
actual-value: #t
result: PASS

test-name: gexp->derivation #:disallowed-references, allowed
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/gexp.scm:684
source:
+ (test-assert
+   "gexp->derivation #:disallowed-references, allowed"
+   (run-with-store
+     %store
+     (mlet %store-monad
+           ((drv (gexp->derivation
+                   "disallowed-refs"
+                   (gexp (begin
+                           (mkdir (ungexp output))
+                           (chdir (ungexp output))
+                           (symlink (ungexp output) "self")
+                           (symlink (ungexp %bootstrap-guile) "guile")))
+                   #:disallowed-references
+                   '())))
+           (built-derivations (list drv)))
+     #:guile-for-build
+     (%guile-for-build)))
@ build-started /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/v59qgf9sslxls59i4c1a3x4b9zf0hr3b-disallowed-refs.drv - x86_64-linux /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/var/log/guix/drvs/v5//9qgf9sslxls59i4c1a3x4b9zf0hr3b-disallowed-refs.drv.bz2
@ build-succeeded /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/v59qgf9sslxls59i4c1a3x4b9zf0hr3b-disallowed-refs.drv -
actual-value: #t
result: PASS

test-name: gexp->derivation #:disallowed-references
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/gexp.scm:696
source:
+ (test-assert
+   "gexp->derivation #:disallowed-references"
+   (let ((drv (run-with-store
+                %store
+                (gexp->derivation
+                  "disallowed-refs"
+                  (gexp (begin
+                          (mkdir (ungexp output))
+                          (chdir (ungexp output))
+                          (symlink (ungexp %bootstrap-guile) "guile")))
+                  #:disallowed-references
+                  (list %bootstrap-guile)))))
+     (guard (c ((nix-protocol-error? c) #t))
+            (build-derivations %store (list drv))
+            #f)))
@ build-started /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/f7b82ipc92w68fqa7mga0y9w2iyqvnxy-disallowed-refs.drv - x86_64-linux /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/var/log/guix/drvs/f7//b82ipc92w68fqa7mga0y9w2iyqvnxy-disallowed-refs.drv.bz2
output (`/tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/ayd9p2rjy9sf4rj2j18slwgz8sz1ryix-disallowed-refs') is not allowed to refer to path `/tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/ixfn9w693z8gzcknavq93ppabwqds527-guile-bootstrap-2.0'
@ build-failed /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/f7b82ipc92w68fqa7mga0y9w2iyqvnxy-disallowed-refs.drv - 1 output (`/tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/ayd9p2rjy9sf4rj2j18slwgz8sz1ryix-disallowed-refs') is not allowed to refer to path `/tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/ixfn9w693z8gzcknavq93ppabwqds527-guile-bootstrap-2.0'
actual-value: #t
result: PASS

test-name: gexp->script
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/gexp.scm:716
source:
+ (test-assert
+   "gexp->script"
+   (run-with-store
+     %store
+     (mlet* %store-monad
+            ((n -> (random (expt 2 50)))
+             (exp ->
+                  (gexp (system*
+                          (string-append
+                            (ungexp %bootstrap-guile)
+                            "/bin/guile")
+                          "-c"
+                          (object->string '(display (expt (ungexp n) 2))))))
+             (drv (gexp->script
+                    "guile-thing"
+                    exp
+                    #:guile
+                    %bootstrap-guile))
+             (out -> (derivation->output-path drv))
+             (done (built-derivations (list drv))))
+            (let* ((pipe (open-input-pipe out))
+                   (str (get-string-all pipe)))
+              (return
+                (and (zero? (close-pipe pipe))
+                     (= (expt n 2) (string->number str))))))
+     #:guile-for-build
+     (%guile-for-build)))
result: SKIP

test-name: program-file
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/gexp.scm:733
source:
+ (test-assert
+   "program-file"
+   (run-with-store
+     %store
+     (let* ((n (random (expt 2 50)))
+            (exp (with-imported-modules
+                   '((guix build utils))
+                   (gexp (begin
+                           (use-modules (guix build utils))
+                           (display (ungexp n))))))
+            (file (program-file
+                    "program"
+                    exp
+                    #:guile
+                    %bootstrap-guile)))
+       (mlet* %store-monad
+              ((drv (lower-object file))
+               (out -> (derivation->output-path drv)))
+              (mbegin
+                %store-monad
+                (built-derivations (list drv))
+                (let* ((pipe (open-input-pipe out))
+                       (str (get-string-all pipe)))
+                  (return
+                    (and (zero? (close-pipe pipe))
+                         (= n (string->number str))))))))
+     #:guile-for-build
+     (%guile-for-build)))
result: SKIP

test-name: scheme-file
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/gexp.scm:750
source:
+ (test-assert
+   "scheme-file"
+   (run-with-store
+     %store
+     (let* ((text (plain-file "foo" "Hello, world!"))
+            (scheme
+              (scheme-file
+                "bar"
+                (gexp (list "foo" (ungexp text))))))
+       (mlet* %store-monad
+              ((drv (lower-object scheme))
+               (text (lower-object text))
+               (out -> (derivation->output-path drv)))
+              (mbegin
+                %store-monad
+                (built-derivations (list drv))
+                (mlet %store-monad
+                      ((refs ((store-lift references) out)))
+                      (return
+                        (and (equal? refs (list text))
+                             (equal?
+                               `(list "foo" ,text)
+                               (call-with-input-file out read))))))))
+     #:guile-for-build
+     (%guile-for-build)))
@ build-started /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/srqqnjgiqsr8xssbrnihbjhpp929nlhx-bar.drv - x86_64-linux /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/var/log/guix/drvs/sr//qqnjgiqsr8xssbrnihbjhpp929nlhx-bar.drv.bz2
@ build-succeeded /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/srqqnjgiqsr8xssbrnihbjhpp929nlhx-bar.drv -
actual-value: #t
result: PASS

test-name: text-file*
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/gexp.scm:763
source:
+ (test-assert
+   "text-file*"
+   (let ((references (store-lift references)))
+     (run-with-store
+       %store
+       (mlet* %store-monad
+              ((drv (package->derivation %bootstrap-guile))
+               (guile -> (derivation->output-path drv))
+               (file (text-file "bar" "This is bar."))
+               (text (text-file*
+                       "foo"
+                       %bootstrap-guile
+                       "/bin/guile "
+                       (gexp-input %bootstrap-guile "out")
+                       "/bin/guile "
+                       drv
+                       "/bin/guile "
+                       file))
+               (done (built-derivations (list text)))
+               (out -> (derivation->output-path text))
+               (refs (references out)))
+              (return
+                (and (lset= string=? refs (list guile file))
+                     (equal?
+                       (call-with-input-file out get-string-all)
+                       (string-append
+                         guile
+                         "/bin/guile "
+                         guile
+                         "/bin/guile "
+                         guile
+                         "/bin/guile "
+                         file)))))
+       #:guile-for-build
+       (package-derivation %store %bootstrap-guile))))
@ build-started /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/7ags9yf37sf26xbxz5dzm4jjq2lfg6w7-foo.drv - x86_64-linux /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/var/log/guix/drvs/7a//gs9yf37sf26xbxz5dzm4jjq2lfg6w7-foo.drv.bz2
@ build-succeeded /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/7ags9yf37sf26xbxz5dzm4jjq2lfg6w7-foo.drv -
actual-value: #t
result: PASS

test-name: mixed-text-file
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/gexp.scm:787
source:
+ (test-assert
+   "mixed-text-file"
+   (run-with-store
+     %store
+     (mlet* %store-monad
+            ((file ->
+                   (mixed-text-file
+                     "mixed"
+                     "export PATH="
+                     %bootstrap-guile
+                     "/bin"))
+             (drv (lower-object file))
+             (out -> (derivation->output-path drv))
+             (guile-drv
+               (package->derivation %bootstrap-guile))
+             (guile -> (derivation->output-path guile-drv)))
+            (mbegin
+              %store-monad
+              (built-derivations (list drv))
+              (mlet %store-monad
+                    ((refs ((store-lift references) out)))
+                    (return
+                      (and (string=?
+                             (string-append "export PATH=" guile "/bin")
+                             (call-with-input-file out get-string-all))
+                           (equal? refs (list guile)))))))
+     #:guile-for-build
+     (%guile-for-build)))
@ build-started /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/z9wbzx3v0la5r3fcvhh8bigmgpx5ggzp-mixed.drv - x86_64-linux /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/var/log/guix/drvs/z9//wbzx3v0la5r3fcvhh8bigmgpx5ggzp-mixed.drv.bz2
@ build-succeeded /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/z9wbzx3v0la5r3fcvhh8bigmgpx5ggzp-mixed.drv -
actual-value: #t
result: PASS

test-name: gexp->derivation vs. %current-target-system
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/gexp.scm:802
source:
+ (test-assert
+   "gexp->derivation vs. %current-target-system"
+   (let ((mval (gexp->derivation
+                 "foo"
+                 (gexp (begin
+                         (mkdir (ungexp output))
+                         (foo (ungexp-native gnu-make))))
+                 #:target
+                 #f)))
+     (parameterize
+       ((%current-target-system "fooooo"))
+       (derivation? (run-with-store %store mval)))))
actual-value: #t
result: PASS

test-name: lower-object
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/gexp.scm:813
source:
+ (test-assert
+   "lower-object"
+   (run-with-store
+     %store
+     (mlet %store-monad
+           ((drv1 (lower-object %bootstrap-guile))
+            (drv2 (lower-object (package-source coreutils)))
+            (item (lower-object (plain-file "foo" "Hello!"))))
+           (return
+             (and (derivation? drv1)
+                  (derivation? drv2)
+                  (store-path? item))))
+     #:guile-for-build
+     (%guile-for-build)))
actual-value: #t
result: PASS

test-name: lower-object, computed-file
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/gexp.scm:820
source:
+ (test-assert
+   "lower-object, computed-file"
+   (run-with-store
+     %store
+     (let* ((text (plain-file "foo" "Hello!"))
+            (exp (gexp (begin
+                         (mkdir (ungexp output))
+                         (symlink
+                           (ungexp %bootstrap-guile)
+                           (string-append (ungexp output) "/guile"))
+                         (symlink
+                           (ungexp text)
+                           (string-append (ungexp output) "/text")))))
+            (computed (computed-file "computed" exp)))
+       (mlet* %store-monad
+              ((text (lower-object text))
+               (guile-drv (lower-object %bootstrap-guile))
+               (comp-drv (lower-object computed))
+               (comp -> (derivation->output-path comp-drv)))
+              (mbegin
+                %store-monad
+                (built-derivations (list comp-drv))
+                (return
+                  (and (string=?
+                         (readlink (string-append comp "/guile"))
+                         (derivation->output-path guile-drv))
+                       (string=?
+                         (readlink (string-append comp "/text"))
+                         text))))))
+     #:guile-for-build
+     (%guile-for-build)))
@ build-started /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/abh524h778mxypfapfvg5r3ml963pwka-computed.drv - x86_64-linux /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/var/log/guix/drvs/ab//h524h778mxypfapfvg5r3ml963pwka-computed.drv.bz2
@ build-succeeded /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/abh524h778mxypfapfvg5r3ml963pwka-computed.drv -
actual-value: #t
result: PASS

test-name: printer
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/gexp.scm:839
source:
+ (test-assert
+   "printer"
+   (string-match
+     "^#<gexp \\(string-append .*#<package coreutils.* \"/bin/uname\"\\) [[:xdigit:]]+>$"
+     (with-output-to-string
+       (lambda ()
+         (write (gexp (string-append (ungexp coreutils) "/bin/uname")))))))
actual-value: #(#<gexp (string-append #<gexp-input #<package coreutils@8.25 gnu/packages/base.scm:263 5584490a23c0>:out> "/bin/uname") 55844a7c6b10> (0 . 132))
result: PASS

test-name: printer vs. ungexp-splicing
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/gexp.scm:848
source:
+ (test-assert
+   "printer vs. ungexp-splicing"
+   (string-match
+     "^#<gexp .* [[:xdigit:]]+>$"
+     (with-output-to-string
+       (lambda ()
+         (write (gexp (begin (ungexp-splicing (gexp ())))))))))
actual-value: #(#<gexp  55844a040480> (0 . 21))
result: PASS

test-name: sugar
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/gexp.scm:856
source:
+ (test-equal
+   "sugar"
+   '(gexp (foo (ungexp bar)
+               (ungexp baz "out")
+               (ungexp (chbouib 42))
+               (ungexp-splicing (list x y z))
+               (ungexp-native foo)
+               (ungexp-native foo "out")
+               (ungexp-native (chbouib 42))
+               (ungexp-native-splicing (list x y z))))
+   '(gexp (foo (ungexp bar)
+               (ungexp baz "out")
+               (ungexp (chbouib 42))
+               (ungexp-splicing (list x y z))
+               (ungexp-native foo)
+               (ungexp-native foo "out")
+               (ungexp-native (chbouib 42))
+               (ungexp-native-splicing (list x y z)))))
expected-value: (gexp (foo (ungexp bar) (ungexp baz out) (ungexp (chbouib 42)) (ungexp-splicing (list x y z)) (ungexp-native foo) (ungexp-native foo out) (ungexp-native (chbouib 42)) (ungexp-native-splicing (list x y z))))
actual-value: (gexp (foo (ungexp bar) (ungexp baz out) (ungexp (chbouib 42)) (ungexp-splicing (list x y z)) (ungexp-native foo) (ungexp-native foo out) (ungexp-native (chbouib 42)) (ungexp-native-splicing (list x y z))))
result: PASS


SKIP: tests/gremlin
===================

test-name: elf-dynamic-info-needed, executable
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/gremlin.scm:44
source:
+ (test-assert
+   "elf-dynamic-info-needed, executable"
+   (let* ((elf (call-with-input-file %guile-executable read-elf))
+          (dyninfo (elf-dynamic-info elf)))
+     (or (not dyninfo)
+         (lset<=
+           string=?
+           (list (string-append "libguile-" (effective-version))
+                 "libgc"
+                 "libunistring"
+                 "libffi")
+           (map (lambda (lib)
+                  (string-take lib (string-contains lib ".so")))
+                (elf-dynamic-info-needed dyninfo))))))
result: SKIP

test-name: expand-origin
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/gremlin.scm:55
source:
+ (test-equal
+   "expand-origin"
+   '("OOO/../lib"
+     "OOO"
+     "../OOO/bar/OOO/baz"
+     "ORIGIN/foo")
+   (map (cut expand-origin <> "OOO")
+        '("$ORIGIN/../lib"
+          "${ORIGIN}"
+          "../${ORIGIN}/bar/$ORIGIN/baz"
+          "ORIGIN/foo")))
expected-value: (OOO/../lib OOO ../OOO/bar/OOO/baz ORIGIN/foo)
actual-value: (OOO/../lib OOO ../OOO/bar/OOO/baz ORIGIN/foo)
result: PASS


FAIL: tests/lint
================

test-name: description: not a string
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/lint.scm:145
source:
+ (test-assert
+   "description: not a string"
+   (->bool
+     (string-contains
+       (with-warnings
+         (let ((pkg (dummy-package "x" (description 'foobar))))
+           (check-description-style pkg)))
+       "invalid description")))
actual-value: #t
result: PASS

test-name: description: not empty
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/lint.scm:153
source:
+ (test-assert
+   "description: not empty"
+   (->bool
+     (string-contains
+       (with-warnings
+         (let ((pkg (dummy-package "x" (description ""))))
+           (check-description-style pkg)))
+       "description should not be empty")))
actual-value: #t
result: PASS

test-name: description: valid Texinfo markup
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/lint.scm:161
source:
+ (test-assert
+   "description: valid Texinfo markup"
+   (->bool
+     (string-contains
+       (with-warnings
+         (check-description-style
+           (dummy-package "x" (description "f{oo}b@r"))))
+       "Texinfo markup in description is invalid")))
actual-value: #t
result: PASS

test-name: description: does not start with an upper-case letter
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/lint.scm:168
source:
+ (test-assert
+   "description: does not start with an upper-case letter"
+   (->bool
+     (string-contains
+       (with-warnings
+         (let ((pkg (dummy-package
+                      "x"
+                      (description "bad description."))))
+           (check-description-style pkg)))
+       "description should start with an upper-case letter")))
actual-value: #t
result: PASS

test-name: description: may start with a digit
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/lint.scm:176
source:
+ (test-assert
+   "description: may start with a digit"
+   (string-null?
+     (with-warnings
+       (let ((pkg (dummy-package
+                    "x"
+                    (description "2-component library."))))
+         (check-description-style pkg)))))
actual-value: #t
result: PASS

test-name: description: may start with lower-case package name
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/lint.scm:183
source:
+ (test-assert
+   "description: may start with lower-case package name"
+   (string-null?
+     (with-warnings
+       (let ((pkg (dummy-package
+                    "x"
+                    (description "x is a dummy package."))))
+         (check-description-style pkg)))))
actual-value: #t
result: PASS

test-name: description: two spaces after end of sentence
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/lint.scm:190
source:
+ (test-assert
+   "description: two spaces after end of sentence"
+   (->bool
+     (string-contains
+       (with-warnings
+         (let ((pkg (dummy-package
+                      "x"
+                      (description "Bad. Quite bad."))))
+           (check-description-style pkg)))
+       "sentences in description should be followed by two spaces")))
actual-value: #t
result: PASS

test-name: description: end-of-sentence detection with abbreviations
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/lint.scm:198
source:
+ (test-assert
+   "description: end-of-sentence detection with abbreviations"
+   (string-null?
+     (with-warnings
+       (let ((pkg (dummy-package
+                    "x"
+                    (description
+                      "E.g. Foo, i.e. Bar resp. Baz (a.k.a. DVD)."))))
+         (check-description-style pkg)))))
actual-value: #t
result: PASS

test-name: synopsis: not a string
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/lint.scm:206
source:
+ (test-assert
+   "synopsis: not a string"
+   (->bool
+     (string-contains
+       (with-warnings
+         (let ((pkg (dummy-package "x" (synopsis #f))))
+           (check-synopsis-style pkg)))
+       "invalid synopsis")))
actual-value: #t
result: PASS

test-name: synopsis: not empty
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/lint.scm:214
source:
+ (test-assert
+   "synopsis: not empty"
+   (->bool
+     (string-contains
+       (with-warnings
+         (let ((pkg (dummy-package "x" (synopsis ""))))
+           (check-synopsis-style pkg)))
+       "synopsis should not be empty")))
actual-value: #t
result: PASS

test-name: synopsis: does not start with an upper-case letter
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/lint.scm:222
source:
+ (test-assert
+   "synopsis: does not start with an upper-case letter"
+   (->bool
+     (string-contains
+       (with-warnings
+         (let ((pkg (dummy-package "x" (synopsis "bad synopsis."))))
+           (check-synopsis-style pkg)))
+       "synopsis should start with an upper-case letter")))
actual-value: #t
result: PASS

test-name: synopsis: may start with a digit
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/lint.scm:230
source:
+ (test-assert
+   "synopsis: may start with a digit"
+   (string-null?
+     (with-warnings
+       (let ((pkg (dummy-package
+                    "x"
+                    (synopsis "5-dimensional frobnicator"))))
+         (check-synopsis-style pkg)))))
actual-value: #t
result: PASS

test-name: synopsis: ends with a period
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/lint.scm:237
source:
+ (test-assert
+   "synopsis: ends with a period"
+   (->bool
+     (string-contains
+       (with-warnings
+         (let ((pkg (dummy-package "x" (synopsis "Bad synopsis."))))
+           (check-synopsis-style pkg)))
+       "no period allowed at the end of the synopsis")))
actual-value: #t
result: PASS

test-name: synopsis: ends with 'etc.'
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/lint.scm:245
source:
+ (test-assert
+   "synopsis: ends with 'etc.'"
+   (string-null?
+     (with-warnings
+       (let ((pkg (dummy-package "x" (synopsis "Foo, bar, etc."))))
+         (check-synopsis-style pkg)))))
actual-value: #t
result: PASS

test-name: synopsis: starts with 'A'
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/lint.scm:251
source:
+ (test-assert
+   "synopsis: starts with 'A'"
+   (->bool
+     (string-contains
+       (with-warnings
+         (let ((pkg (dummy-package
+                      "x"
+                      (synopsis "A bad synop\u015dis"))))
+           (check-synopsis-style pkg)))
+       "no article allowed at the beginning of the synopsis")))
actual-value: #t
result: PASS

test-name: synopsis: starts with 'An'
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/lint.scm:259
source:
+ (test-assert
+   "synopsis: starts with 'An'"
+   (->bool
+     (string-contains
+       (with-warnings
+         (let ((pkg (dummy-package
+                      "x"
+                      (synopsis "An awful synopsis"))))
+           (check-synopsis-style pkg)))
+       "no article allowed at the beginning of the synopsis")))
actual-value: #t
result: PASS

test-name: synopsis: starts with 'a'
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/lint.scm:267
source:
+ (test-assert
+   "synopsis: starts with 'a'"
+   (->bool
+     (string-contains
+       (with-warnings
+         (let ((pkg (dummy-package "x" (synopsis "a bad synopsis"))))
+           (check-synopsis-style pkg)))
+       "no article allowed at the beginning of the synopsis")))
actual-value: #t
result: PASS

test-name: synopsis: starts with 'an'
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/lint.scm:275
source:
+ (test-assert
+   "synopsis: starts with 'an'"
+   (->bool
+     (string-contains
+       (with-warnings
+         (let ((pkg (dummy-package
+                      "x"
+                      (synopsis "an awful synopsis"))))
+           (check-synopsis-style pkg)))
+       "no article allowed at the beginning of the synopsis")))
actual-value: #t
result: PASS

test-name: synopsis: too long
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/lint.scm:283
source:
+ (test-assert
+   "synopsis: too long"
+   (->bool
+     (string-contains
+       (with-warnings
+         (let ((pkg (dummy-package
+                      "x"
+                      (synopsis (make-string 80 #\x)))))
+           (check-synopsis-style pkg)))
+       "synopsis should be less than 80 characters long")))
actual-value: #t
result: PASS

test-name: synopsis: start with package name
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/lint.scm:291
source:
+ (test-assert
+   "synopsis: start with package name"
+   (->bool
+     (string-contains
+       (with-warnings
+         (let ((pkg (dummy-package
+                      "x"
+                      (name "foo")
+                      (synopsis "foo, a nice package"))))
+           (check-synopsis-style pkg)))
+       "synopsis should not start with the package name")))
actual-value: #t
result: PASS

test-name: synopsis: start with package name prefix
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/lint.scm:300
source:
+ (test-assert
+   "synopsis: start with package name prefix"
+   (string-null?
+     (with-warnings
+       (let ((pkg (dummy-package
+                    "arb"
+                    (synopsis "Arbitrary precision"))))
+         (check-synopsis-style pkg)))))
actual-value: #t
result: PASS

test-name: synopsis: start with abbreviation
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/lint.scm:307
source:
+ (test-assert
+   "synopsis: start with abbreviation"
+   (string-null?
+     (with-warnings
+       (let ((pkg (dummy-package
+                    "uucp"
+                    (synopsis "UUCP implementation")
+                    (description "Imagine this is Taylor UUCP."))))
+         (check-synopsis-style pkg)))))
actual-value: #t
result: PASS

test-name: inputs: pkg-config is probably a native input
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/lint.scm:316
source:
+ (test-assert
+   "inputs: pkg-config is probably a native input"
+   (->bool
+     (string-contains
+       (with-warnings
+         (let ((pkg (dummy-package
+                      "x"
+                      (inputs `(("pkg-config" ,pkg-config))))))
+           (check-inputs-should-be-native pkg)))
+       "'pkg-config' should probably be a native input")))
actual-value: #t
result: PASS

test-name: inputs: glib:bin is probably a native input
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/lint.scm:325
source:
+ (test-assert
+   "inputs: glib:bin is probably a native input"
+   (->bool
+     (string-contains
+       (with-warnings
+         (let ((pkg (dummy-package
+                      "x"
+                      (inputs `(("glib" ,glib "bin"))))))
+           (check-inputs-should-be-native pkg)))
+       "'glib:bin' should probably be a native input")))
actual-value: #t
result: PASS

test-name: patches: file names
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/lint.scm:334
source:
+ (test-assert
+   "patches: file names"
+   (->bool
+     (string-contains
+       (with-warnings
+         (let ((pkg (dummy-package
+                      "x"
+                      (source
+                        (dummy-origin
+                          (patches (list "/path/to/y.patch")))))))
+           (check-patch-file-names pkg)))
+       "file names of patches should start with the package name")))
actual-value: #t
result: PASS

test-name: patches: not found
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/lint.scm:345
source:
+ (test-assert
+   "patches: not found"
+   (->bool
+     (string-contains
+       (with-warnings
+         (let ((pkg (dummy-package
+                      "x"
+                      (source
+                        (dummy-origin
+                          (patches
+                            (list (search-patch
+                                    "this-patch-does-not-exist!"))))))))
+           (check-patch-file-names pkg)))
+       "patch not found")))
actual-value: #t
result: PASS

test-name: derivation: invalid arguments
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/lint.scm:357
source:
+ (test-assert
+   "derivation: invalid arguments"
+   (->bool
+     (string-contains
+       (with-warnings
+         (let ((pkg (dummy-package
+                      "x"
+                      (arguments
+                        '(#:imported-modules (invalid-module))))))
+           (check-derivation pkg)))
+       "failed to create derivation")))
actual-value: #t
result: PASS

test-name: license: invalid license
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/lint.scm:367
source:
+ (test-assert
+   "license: invalid license"
+   (string-contains
+     (with-warnings
+       (check-license (dummy-package "x" (license #f))))
+     "invalid license"))
actual-value: 74
result: PASS

test-name: home-page: wrong home-page
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/lint.scm:373
source:
+ (test-assert
+   "home-page: wrong home-page"
+   (->bool
+     (string-contains
+       (with-warnings
+         (let ((pkg (package
+                      (inherit (dummy-package "x"))
+                      (home-page #f))))
+           (check-home-page pkg)))
+       "invalid")))
actual-value: #t
result: PASS

test-name: home-page: invalid URI
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/lint.scm:383
source:
+ (test-assert
+   "home-page: invalid URI"
+   (->bool
+     (string-contains
+       (with-warnings
+         (let ((pkg (package
+                      (inherit (dummy-package "x"))
+                      (home-page "foobar"))))
+           (check-home-page pkg)))
+       "invalid home page URL")))
actual-value: #t
result: PASS

test-name: home-page: host not found
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/lint.scm:393
source:
+ (test-assert
+   "home-page: host not found"
+   (->bool
+     (string-contains
+       (with-warnings
+         (let ((pkg (package
+                      (inherit (dummy-package "x"))
+                      (home-page "http://does-not-exist"))))
+           (check-home-page pkg)))
+       "domain not found")))
actual-value: #f
result: FAIL

test-name: home-page: Connection refused
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/lint.scm:404
source:
+ (test-assert
+   "home-page: Connection refused"
+   (->bool
+     (string-contains
+       (with-warnings
+         (let ((pkg (package
+                      (inherit (dummy-package "x"))
+                      (home-page %local-url))))
+           (check-home-page pkg)))
+       "Connection refused")))
actual-value: #t
result: PASS

test-name: home-page: 200
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/lint.scm:415
source:
+ (test-equal
+   "home-page: 200"
+   ""
+   (with-warnings
+     (with-http-server
+       200
+       %long-string
+       (let ((pkg (package
+                    (inherit (dummy-package "x"))
+                    (home-page %local-url))))
+         (check-home-page pkg)))))
expected-value: 
actual-value: 
result: PASS

test-name: home-page: 200 but short length
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/lint.scm:425
source:
+ (test-assert
+   "home-page: 200 but short length"
+   (->bool
+     (string-contains
+       (with-warnings
+         (with-http-server
+           200
+           "This is too small."
+           (let ((pkg (package
+                        (inherit (dummy-package "x"))
+                        (home-page %local-url))))
+             (check-home-page pkg))))
+       "suspiciously small")))
actual-value: #t
result: PASS

test-name: home-page: 404
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/lint.scm:437
source:
+ (test-assert
+   "home-page: 404"
+   (->bool
+     (string-contains
+       (with-warnings
+         (with-http-server
+           404
+           %long-string
+           (let ((pkg (package
+                        (inherit (dummy-package "x"))
+                        (home-page %local-url))))
+             (check-home-page pkg))))
+       "not reachable: 404")))
actual-value: #t
result: PASS

test-name: source-file-name
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/lint.scm:448
source:
+ (test-assert
+   "source-file-name"
+   (->bool
+     (string-contains
+       (with-warnings
+         (let ((pkg (dummy-package
+                      "x"
+                      (version "3.2.1")
+                      (source
+                        (origin
+                          (method url-fetch)
+                          (uri "http://www.example.com/3.2.1.tar.gz")
+                          (sha256 %null-sha256))))))
+           (check-source-file-name pkg)))
+       "file name should contain the package name")))
actual-value: #t
result: PASS

test-name: source-file-name: v prefix
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/lint.scm:462
source:
+ (test-assert
+   "source-file-name: v prefix"
+   (->bool
+     (string-contains
+       (with-warnings
+         (let ((pkg (dummy-package
+                      "x"
+                      (version "3.2.1")
+                      (source
+                        (origin
+                          (method url-fetch)
+                          (uri "http://www.example.com/v3.2.1.tar.gz")
+                          (sha256 %null-sha256))))))
+           (check-source-file-name pkg)))
+       "file name should contain the package name")))
actual-value: #t
result: PASS

test-name: source-file-name: bad checkout
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/lint.scm:476
source:
+ (test-assert
+   "source-file-name: bad checkout"
+   (->bool
+     (string-contains
+       (with-warnings
+         (let ((pkg (dummy-package
+                      "x"
+                      (version "3.2.1")
+                      (source
+                        (origin
+                          (method git-fetch)
+                          (uri (git-reference
+                                 (url "http://www.example.com/x.git")
+                                 (commit "0")))
+                          (sha256 %null-sha256))))))
+           (check-source-file-name pkg)))
+       "file name should contain the package name")))
actual-value: #t
result: PASS

test-name: source-file-name: good checkout
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/lint.scm:492
source:
+ (test-assert
+   "source-file-name: good checkout"
+   (not (->bool
+          (string-contains
+            (with-warnings
+              (let ((pkg (dummy-package
+                           "x"
+                           (version "3.2.1")
+                           (source
+                             (origin
+                               (method git-fetch)
+                               (uri (git-reference
+                                      (url "http://git.example.com/x.git")
+                                      (commit "0")))
+                               (file-name (string-append "x-" version))
+                               (sha256 %null-sha256))))))
+                (check-source-file-name pkg)))
+            "file name should contain the package name"))))
actual-value: #t
result: PASS

test-name: source-file-name: valid
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/lint.scm:510
source:
+ (test-assert
+   "source-file-name: valid"
+   (not (->bool
+          (string-contains
+            (with-warnings
+              (let ((pkg (dummy-package
+                           "x"
+                           (version "3.2.1")
+                           (source
+                             (origin
+                               (method url-fetch)
+                               (uri "http://www.example.com/x-3.2.1.tar.gz")
+                               (sha256 %null-sha256))))))
+                (check-source-file-name pkg)))
+            "file name should contain the package name"))))
actual-value: #t
result: PASS

test-name: source: 200
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/lint.scm:526
source:
+ (test-equal
+   "source: 200"
+   ""
+   (with-warnings
+     (with-http-server
+       200
+       %long-string
+       (let ((pkg (package
+                    (inherit (dummy-package "x"))
+                    (source
+                      (origin
+                        (method url-fetch)
+                        (uri %local-url)
+                        (sha256 %null-sha256))))))
+         (check-source pkg)))))
expected-value: 
actual-value: 
result: PASS

test-name: source: 200 but short length
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/lint.scm:539
source:
+ (test-assert
+   "source: 200 but short length"
+   (->bool
+     (string-contains
+       (with-warnings
+         (with-http-server
+           200
+           "This is too small."
+           (let ((pkg (package
+                        (inherit (dummy-package "x"))
+                        (source
+                          (origin
+                            (method url-fetch)
+                            (uri %local-url)
+                            (sha256 %null-sha256))))))
+             (check-source pkg))))
+       "suspiciously small")))
actual-value: #t
result: PASS

test-name: source: 404
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/lint.scm:554
source:
+ (test-assert
+   "source: 404"
+   (->bool
+     (string-contains
+       (with-warnings
+         (with-http-server
+           404
+           %long-string
+           (let ((pkg (package
+                        (inherit (dummy-package "x"))
+                        (source
+                          (origin
+                            (method url-fetch)
+                            (uri %local-url)
+                            (sha256 %null-sha256))))))
+             (check-source pkg))))
+       "not reachable: 404")))
actual-value: #t
result: PASS

test-name: cve
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/lint.scm:568
source:
+ (test-assert
+   "cve"
+   (mock ((guix scripts lint)
+          package-vulnerabilities
+          (const '()))
+         (string-null?
+           (with-warnings
+             (check-vulnerabilities (dummy-package "x"))))))
actual-value: #t
result: PASS

test-name: cve: one vulnerability
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/lint.scm:573
source:
+ (test-assert
+   "cve: one vulnerability"
+   (mock ((guix scripts lint)
+          package-vulnerabilities
+          (lambda (package)
+            (list (make-struct
+                    (@@ (guix cve) <vulnerability>)
+                    0
+                    "CVE-2015-1234"
+                    (list (cons (package-name package)
+                                (package-version package)))))))
+         (string-contains
+           (with-warnings
+             (check-vulnerabilities
+               (dummy-package "pi" (version "3.14"))))
+           "vulnerable to CVE-2015-1234")))
actual-value: 87
result: PASS

test-name: cve: one patched vulnerability
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/lint.scm:585
source:
+ (test-assert
+   "cve: one patched vulnerability"
+   (mock ((guix scripts lint)
+          package-vulnerabilities
+          (lambda (package)
+            (list (make-struct
+                    (@@ (guix cve) <vulnerability>)
+                    0
+                    "CVE-2015-1234"
+                    (list (cons (package-name package)
+                                (package-version package)))))))
+         (string-null?
+           (with-warnings
+             (check-vulnerabilities
+               (dummy-package
+                 "pi"
+                 (version "3.14")
+                 (source
+                   (dummy-origin
+                     (patches (list "/a/b/pi-CVE-2015-1234.patch"))))))))))
actual-value: #t
result: PASS

test-name: cve: patched vulnerability in replacement
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/lint.scm:602
source:
+ (test-assert
+   "cve: patched vulnerability in replacement"
+   (mock ((guix scripts lint)
+          package-vulnerabilities
+          (lambda (package)
+            (list (make-struct
+                    (@@ (guix cve) <vulnerability>)
+                    0
+                    "CVE-2015-1234"
+                    (list (cons (package-name package)
+                                (package-version package)))))))
+         (string-null?
+           (with-warnings
+             (check-vulnerabilities
+               (dummy-package
+                 "pi"
+                 (version "3.14")
+                 (source (dummy-origin))
+                 (replacement
+                   (dummy-package
+                     "pi"
+                     (version "3.14")
+                     (source
+                       (dummy-origin
+                         (patches
+                           (list "/a/b/pi-CVE-2015-1234.patch"))))))))))))
actual-value: #t
result: PASS

test-name: formatting: lonely parentheses
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/lint.scm:621
source:
+ (test-assert
+   "formatting: lonely parentheses"
+   (string-contains
+     (with-warnings
+       (check-formatting
+         (dummy-package "ugly as hell!")))
+     "lonely"))
actual-value: 112
result: PASS

test-name: formatting: tabulation
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/lint.scm:631
source:
+ (test-assert
+   "formatting: tabulation"
+   (string-contains
+     (with-warnings
+       (check-formatting
+         (dummy-package "leave the tab here:\t")))
+     "tabulation"))
actual-value: 93
result: PASS

test-name: formatting: trailing white space
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/lint.scm:637
source:
+ (test-assert
+   "formatting: trailing white space"
+   (string-contains
+     (with-warnings
+       (check-formatting (dummy-package "x")))
+     "trailing white space"))
actual-value: 74
result: PASS

test-name: formatting: long line
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/lint.scm:644
source:
+ (test-assert
+   "formatting: long line"
+   (string-contains
+     (with-warnings
+       (check-formatting (dummy-package "x")))
+     "too long"))
actual-value: 89
result: PASS

test-name: formatting: alright
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/lint.scm:652
source:
+ (test-assert
+   "formatting: alright"
+   (string-null?
+     (with-warnings
+       (check-formatting (dummy-package "x")))))
actual-value: #t
result: PASS

random seed for tests: 1476371298

FAIL: tests/guix-download
=========================

+ guix download --version
guix download (GNU Guix) 0.11.0
Copyright (C) 2016 the Guix authors
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
+ guix download http://does.not/exist
accepted connection from pid 31572, user dave

Starting download of /tmp/guix-file.EFmc9e
From http://does.not/exist...
\r^[[K exist                                               0B/s 00:00 | 0B transferred\r^[[K exist                                        1001KiB/s 00:00 | 333B transferred
/tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/9qq1hrycl6l8i0plp2il2xl2pcjrs1j4-exist
1yi31kb19m808zq7ggm3x0kq60qnl0w81has8llim060pvkqg910
+ false
./test-env: line 1: 31475 Terminated              "/tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/pre-inst-env" "/tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/guix-daemon" --disable-chroot --substitute-urls="$GUIX_BINARY_SUBSTITUTE_URL"
FAIL tests/guix-download.sh (exit status: 1)


^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#24687: Tests fail building on Arch Linux
  2016-10-13 21:39 bug#24687: Tests fail building on Arch Linux David McInnis
@ 2016-10-14 13:03 ` Ludovic Courtès
  2019-11-22 11:58 ` bug#24687: Bug #24687 Hunting: " zimoun
  2019-11-26 20:55 ` David McInnis
  2 siblings, 0 replies; 6+ messages in thread
From: Ludovic Courtès @ 2016-10-14 13:03 UTC (permalink / raw)
  To: David McInnis; +Cc: 24687

Hi,

David McInnis <davidm@eagles.ewu.edu> skribis:

> substitute: guix/ui.scm:1209:6: In procedure run-guix-command:
> substitute: guix/ui.scm:1209:6: unmatched line "<html><head><meta http-equiv=\"refresh\" content=\"0;url=http://webhelper.centurylink.com/index.php?origURL=http://does-not-exist/nix-cache-info&bc=\"/></head><body><script type=\"text/javascript\">window.location=\"http://webhelper.centurylink.com/index.php?origURL=\"+escape(window.location)+\"&r=\"+escape(document.referrer)+\"&bc=\";</script></body></html>"
> actual-value: #f
> actual-error:
> + (srfi-34
> +   #<condition &nix-protocol-error [message: "substituter `substitute' died unexpectedly" status: 1] 55cb734910f0>)
> result: FAIL

I think your ISP does DNS hijacking: it resolves the “does-not-exist”
hostname used in this test and other tests to an IP.  The tests expect
an name lookup error, and instead get this, hence the error.

I think there’s not much we can do on your side, but you should
definitely complain to your ISP.  :-)

Thanks,
Ludo’.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#24687: Bug #24687 Hunting: Tests fail building on Arch Linux
  2016-10-13 21:39 bug#24687: Tests fail building on Arch Linux David McInnis
  2016-10-14 13:03 ` Ludovic Courtès
@ 2019-11-22 11:58 ` zimoun
  2019-11-26 20:27   ` zimoun
  2019-11-26 20:55 ` David McInnis
  2 siblings, 1 reply; 6+ messages in thread
From: zimoun @ 2019-11-22 11:58 UTC (permalink / raw)
  To: 24687, davidm, Ludovic Courtès

Dear,

Thank you for reporting the bug [1] about failure on Arch Linux.

Do you still encounter such issue?

If yes, please report here.
If no, we can close this long standing bug.


Ludo wrote [2]:

<<
I think there’s not much we can do on your side, but you should
definitely complain to your ISP.  :-)
>>


Could you confirm or disconfirm? :-)

Thank you in advance for any comments.

All the best,
simon

[1] https://debbugs.gnu.org/cgi/bugreport.cgi?bug=24687
[2] https://debbugs.gnu.org/cgi/bugreport.cgi?bug=24687#8

^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#24687: Bug #24687 Hunting: Tests fail building on Arch Linux
  2019-11-22 11:58 ` bug#24687: Bug #24687 Hunting: " zimoun
@ 2019-11-26 20:27   ` zimoun
  0 siblings, 0 replies; 6+ messages in thread
From: zimoun @ 2019-11-26 20:27 UTC (permalink / raw)
  To: 24687, David McInnis, Ludovic Courtès

Dear David,

The 3 failing tests -- listed below -- are all relative to connection
over Internet. As Ludo spotted out [2]:

> <<
> I think there’s not much we can do on your side, but you should
> definitely complain to your ISP.  :-)
> >>


I do not know how you run the test suite and I am totally ignorant
about Arch Linux, but could you check if everything is right about
your Internet connection when running the test suite; especially if
you use kind of isolation.


I am inclined to close this bug because it is not coming from our
side.  I mean we have already enough open bugs. ;-)
But, let us know how could we help you to resolve this. And maybe the
discussion could be moved on help-guix@gnu.org.


PS:
Note the 3 same tests are failing too about the version
1.0.1.3489-0ed97 -- that you have sent me privately.


All the best,
simon


--8<---------------cut here---------------start------------->8---
test-name: substitute query, alternating URLs
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/store.scm:456
source:
+ (test-assert
+   "substitute query, alternating URLs"
[...]
+              (not (has-substitutes? s o)))))))
substitute: warning: authentication and authorization of substitutes disabled!
substitute: guix substitute: warning: ACL for archive imports seems to
be uninitialized, substitutes may be unavailable
substitute: warning: authentication and authorization of substitutes disabled!
substitute: guix substitute: warning: ACL for archive imports seems to
be uninitialized, substitutes may be unavailable
substitute: Backtrace:
[...]
substitute: guix/ui.scm:1209:6: In procedure run-guix-command:
substitute: guix/ui.scm:1209:6: unmatched line "<html><head><meta
http-equiv=\"refresh\"
content=\"0;url=http://webhelper.centurylink.com/index.php?origURL=http://does-not-exist/nix-cache-info&bc=\"/></head><body><script
type=\"text/javascript\">window.location=\"http://webhelper.centurylink.com/index.php?origURL=\"+escape(window.location)+\"&r=\"+escape(document.referrer)+\"&bc=\";</script></body></html>"
actual-value: #f
actual-error:
+ (srfi-34
+   #<condition &nix-protocol-error [message: "substituter
`substitute' died unexpectedly" status: 1] 55cb734910f0>)
result: FAIL
--8<---------------cut here---------------end--------------->8---


--8<---------------cut here---------------start------------->8---
test-name: home-page: host not found
location: /tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/tests/lint.scm:393
source:
+ (test-assert
+   "home-page: host not found"
+   (->bool
+     (string-contains
+       (with-warnings
+         (let ((pkg (package
+                      (inherit (dummy-package "x"))
+                      (home-page "http://does-not-exist"))))
+           (check-home-page pkg)))
+       "domain not found")))
actual-value: #f
result: FAIL
--8<---------------cut here---------------end--------------->8---


--8<---------------cut here---------------start------------->8---
+ guix download --version
guix download (GNU Guix) 0.11.0
Copyright (C) 2016 the Guix authors
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
+ guix download http://does.not/exist
accepted connection from pid 31572, user dave

Starting download of /tmp/guix-file.EFmc9e
From http://does.not/exist...
  [K exist                                               0B/s 00:00 |
0B transferred  [K exist
1001KiB/s 00:00 | 333B transferred
/tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/test-tmp/store/9qq1hrycl6l8i0plp2il2xl2pcjrs1j4-exist
1yi31kb19m808zq7ggm3x0kq60qnl0w81has8llim060pvkqg910
+ false
./test-env: line 1: 31475 Terminated
"/tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/pre-inst-env"
"/tmp/yaourt-tmp-dave/aur-guix/src/guix-0.11.0/guix-daemon"
--disable-chroot --substitute-urls="$GUIX_BINARY_SUBSTITUTE_URL"
FAIL tests/guix-download.sh (exit status: 1)
--8<---------------cut here---------------end--------------->8---


> [2] https://debbugs.gnu.org/cgi/bugreport.cgi?bug=24687#8

^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#24687: Bug #24687 Hunting: Tests fail building on Arch Linux
  2016-10-13 21:39 bug#24687: Tests fail building on Arch Linux David McInnis
  2016-10-14 13:03 ` Ludovic Courtès
  2019-11-22 11:58 ` bug#24687: Bug #24687 Hunting: " zimoun
@ 2019-11-26 20:55 ` David McInnis
  2019-11-27 11:22   ` zimoun
  2 siblings, 1 reply; 6+ messages in thread
From: David McInnis @ 2019-11-26 20:55 UTC (permalink / raw)
  To: 24687@debbugs.gnu.org

[-- Attachment #1: Type: text/plain, Size: 791 bytes --]

Unfortunately the failure still exists on Arch Linux:

FAIL: tests/store.scm
FAIL: tests/guix-download.sh
FAIL: tests/lint.scm

-Dave

On 2019-11-22 03:58, zimoun wrote:
 > Dear,
 >
 > Thank you for reporting the bug [1] about failure on Arch Linux.
 >
 > Do you still encounter such issue?
 >
 > If yes, please report here.
 > If no, we can close this long standing bug.
 >
 >
 > Ludo wrote [2]:
 >
 > <<
 > I think there’s not much we can do on your side, but you should
 > definitely complain to your ISP.
 >>>
 >
 >
 > Could you confirm or disconfirm?
 >
 > Thank you in advance for any comments.
 >
 > All the best,
 > simon
 >
 > [1] https://debbugs.gnu.org/cgi/bugreport.cgi?bug=24687
 > [2] https://debbugs.gnu.org/cgi/bugreport.cgi?bug=24687#8

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: test-suite.log --]
[-- Type: text/x-log; name="test-suite.log", Size: 367978 bytes --]

=================================================
   GNU Guix 1.0.1.3489-0ed97: ./test-suite.log
=================================================

# TOTAL: 959
# PASS:  942
# SKIP:  12
# XFAIL: 2
# FAIL:  3
# XPASS: 0
# ERROR: 0

.. contents:: :depth: 2

SKIP: tests/base32
==================

sh: nix-hash: command not found
test-name: bytevector->base32-string
location: /home/dave/aur/guix/src/guix/tests/base32.scm:48
source:
+ (test-assert
+   "bytevector->base32-string"
+   (fold (lambda (bv expected result)
+           (and result
+                (string=?
+                  (bytevector->base32-string bv)
+                  expected)))
+         #t
+         (map string->utf8
+              '("" "f" "fo" "foo" "foob" "fooba" "foobar"))
+         '(""
+           "my"
+           "mzxq"
+           "mzxw6"
+           "mzxw6yq"
+           "mzxw6ytb"
+           "mzxw6ytboi")))
actual-value: #t
result: PASS

test-name: base32-string->bytevector
location: /home/dave/aur/guix/src/guix/tests/base32.scm:65
source:
+ (test-assert
+   "base32-string->bytevector"
+   (every (lambda (bv)
+            (equal?
+              (base32-string->bytevector
+                (bytevector->base32-string bv))
+              bv))
+          (map string->utf8
+               '("" "f" "fo" "foo" "foob" "fooba" "foobar"))))
actual-value: #t
result: PASS

test-name: nix-base32-string->bytevector
location: /home/dave/aur/guix/src/guix/tests/base32.scm:73
source:
+ (test-assert
+   "nix-base32-string->bytevector"
+   (every (lambda (bv)
+            (equal?
+              (nix-base32-string->bytevector
+                (bytevector->nix-base32-string bv))
+              bv))
+          (map string->utf8
+               '("" "f" "fo" "foo" "foob" "fooba" "foobar"))))
actual-value: #t
result: PASS

test-name: &invalid-base32-character
location: /home/dave/aur/guix/src/guix/tests/base32.scm:81
source:
+ (test-equal
+   "&invalid-base32-character"
+   #\e
+   (guard (c ((invalid-base32-character? c)
+              (invalid-base32-character-value c)))
+          (nix-base32-string->bytevector
+            (string-append (make-string 51 #\a) "e"))))
expected-value: #\e
actual-value: #\e
result: PASS

test-name: sha256 & bytevector->nix-base32-string
location: /home/dave/aur/guix/src/guix/tests/base32.scm:92
source:
+ (test-assert
+   "sha256 & bytevector->nix-base32-string"
+   (let ((file (search-path %load-path "tests/test.drv")))
+     (equal?
+       (bytevector->nix-base32-string
+         (sha256
+           (call-with-input-file file get-bytevector-all)))
+       (let* ((c (format
+                   #f
+                   "~a --type sha256 --base32 --flat \"~a\""
+                   %nix-hash
+                   file))
+              (p (open-input-pipe c))
+              (l (read-line p)))
+         (close-pipe p)
+         l))))
result: SKIP


SKIP: tests/cpio
================

test-name: file->cpio-header + write-cpio-header + read-cpio-header
location: /home/dave/aur/guix/src/guix/tests/cpio.scm:37
source:
+ (test-assert
+   "file->cpio-header + write-cpio-header + read-cpio-header"
+   (let* ((file (search-path %load-path "guix.scm"))
+          (header (file->cpio-header file)))
+     (call-with-values
+       (lambda () (open-bytevector-output-port))
+       (lambda (port get-bv)
+         (write-cpio-header header port)
+         (let ((port (open-bytevector-input-port (get-bv))))
+           (equal? header (read-cpio-header port)))))))
actual-value: #t
result: PASS

test-name: bit-identical to GNU cpio's output
location: /home/dave/aur/guix/src/guix/tests/cpio.scm:49
source:
+ (test-assert
+   "bit-identical to GNU cpio's output"
+   (call-with-temporary-output-file
+     (lambda (link _)
+       (delete-file link)
+       (symlink "chbouib" link)
+       (let ((files (cons* "/"
+                           (canonicalize-path
+                             (dirname (search-path %load-path "guix.scm")))
+                           link
+                           (map (compose
+                                  canonicalize-path
+                                  (cut search-path %load-path <>))
+                                '("guix.scm"
+                                  "guix/build/syscalls.scm"
+                                  "guix/packages.scm")))))
+         (call-with-temporary-output-file
+           (lambda (ref-file _)
+             (let ((pipe (open-pipe*
+                           OPEN_WRITE
+                           %cpio-program
+                           "-o"
+                           "-O"
+                           ref-file
+                           "-H"
+                           "newc"
+                           "--null")))
+               (for-each
+                 (lambda (file) (format pipe "~a\x00" file))
+                 files)
+               (and (zero? (close-pipe pipe))
+                    (call-with-temporary-output-file
+                      (lambda (file port)
+                        (write-cpio-archive files port)
+                        (close-port port)
+                        (or (file=? ref-file file)
+                            (throw 'cpio-archives-differ
+                                   files
+                                   ref-file
+                                   file
+                                   (stat:size (stat ref-file))
+                                   (stat:size (stat file))))))))))))))
result: SKIP

random seed for tests: 1574795046

SKIP: tests/hackage
===================

test-name: hackage->guix-package test 1
location: /home/dave/aur/guix/src/guix/tests/hackage.scm:192
source:
+ (test-assert
+   "hackage->guix-package test 1"
+   (eval-test-with-cabal test-cabal-1 match-ghc-foo))
random seed for tests: 1574792510

Starting download of /tmp/guix-file.134vfJ
From https://hackage.haskell.org/package/foo/foo-1.0.0.tar.gz...
X.509 certificate of 'hackage.haskell.org' could not be verified:
  signer-not-found
  invalid

failed to download "/tmp/guix-file.134vfJ" from "https://hackage.haskell.org/package/foo/foo-1.0.0.tar.gz"
actual-value: #t
result: PASS

test-name: hackage->guix-package test 2
location: /home/dave/aur/guix/src/guix/tests/hackage.scm:195
source:
+ (test-assert
+   "hackage->guix-package test 2"
+   (eval-test-with-cabal test-cabal-2 match-ghc-foo))

Starting download of /tmp/guix-file.EgA4MK
From https://hackage.haskell.org/package/foo/foo-1.0.0.tar.gz...
X.509 certificate of 'hackage.haskell.org' could not be verified:
  signer-not-found
  invalid

failed to download "/tmp/guix-file.EgA4MK" from "https://hackage.haskell.org/package/foo/foo-1.0.0.tar.gz"
actual-value: #t
result: PASS

test-name: hackage->guix-package test 3
location: /home/dave/aur/guix/src/guix/tests/hackage.scm:198
source:
+ (test-assert
+   "hackage->guix-package test 3"
+   (eval-test-with-cabal
+     test-cabal-3
+     match-ghc-foo
+     #:cabal-environment
+     '(("impl" . "ghc-7.8"))))

Starting download of /tmp/guix-file.NRZ4kN
From https://hackage.haskell.org/package/foo/foo-1.0.0.tar.gz...
X.509 certificate of 'hackage.haskell.org' could not be verified:
  signer-not-found
  invalid

failed to download "/tmp/guix-file.NRZ4kN" from "https://hackage.haskell.org/package/foo/foo-1.0.0.tar.gz"
actual-value: #t
result: PASS

test-name: hackage->guix-package test 4
location: /home/dave/aur/guix/src/guix/tests/hackage.scm:202
source:
+ (test-assert
+   "hackage->guix-package test 4"
+   (eval-test-with-cabal
+     test-cabal-4
+     match-ghc-foo
+     #:cabal-environment
+     '(("impl" . "ghc-7.8"))))

Starting download of /tmp/guix-file.KDZzSJ
From https://hackage.haskell.org/package/foo/foo-1.0.0.tar.gz...
X.509 certificate of 'hackage.haskell.org' could not be verified:
  signer-not-found
  invalid

failed to download "/tmp/guix-file.KDZzSJ" from "https://hackage.haskell.org/package/foo/foo-1.0.0.tar.gz"
actual-value: #t
result: PASS

test-name: hackage->guix-package test 5
location: /home/dave/aur/guix/src/guix/tests/hackage.scm:206
source:
+ (test-assert
+   "hackage->guix-package test 5"
+   (eval-test-with-cabal
+     test-cabal-5
+     match-ghc-foo
+     #:cabal-environment
+     '(("impl" . "ghc-7.8"))))

Starting download of /tmp/guix-file.AvG2vJ
From https://hackage.haskell.org/package/foo/foo-1.0.0.tar.gz...
X.509 certificate of 'hackage.haskell.org' could not be verified:
  signer-not-found
  invalid

failed to download "/tmp/guix-file.AvG2vJ" from "https://hackage.haskell.org/package/foo/foo-1.0.0.tar.gz"
actual-value: #t
result: PASS

test-name: hackage->guix-package test 6
location: /home/dave/aur/guix/src/guix/tests/hackage.scm:237
source:
+ (test-assert
+   "hackage->guix-package test 6"
+   (eval-test-with-cabal
+     test-cabal-6
+     match-ghc-foo-6))

Starting download of /tmp/guix-file.tp4YrN
From https://hackage.haskell.org/package/foo/foo-1.0.0.tar.gz...
X.509 certificate of 'hackage.haskell.org' could not be verified:
  signer-not-found
  invalid

failed to download "/tmp/guix-file.tp4YrN" from "https://hackage.haskell.org/package/foo/foo-1.0.0.tar.gz"
actual-value: #t
result: PASS

test-name: hackage->guix-package test multiline desc (layout)
location: /home/dave/aur/guix/src/guix/tests/hackage.scm:255
source:
+ (test-assert
+   "hackage->guix-package test multiline desc (layout)"
+   (eval-test-with-cabal
+     test-cabal-multiline-layout
+     match-ghc-foo))

Starting download of /tmp/guix-file.RKGtlK
From https://hackage.haskell.org/package/foo/foo-1.0.0.tar.gz...
X.509 certificate of 'hackage.haskell.org' could not be verified:
  signer-not-found
  invalid

failed to download "/tmp/guix-file.RKGtlK" from "https://hackage.haskell.org/package/foo/foo-1.0.0.tar.gz"
actual-value: #t
result: PASS

test-name: hackage->guix-package test multiline desc (braced)
location: /home/dave/aur/guix/src/guix/tests/hackage.scm:275
source:
+ (test-assert
+   "hackage->guix-package test multiline desc (braced)"
+   (eval-test-with-cabal
+     test-cabal-multiline-braced
+     match-ghc-foo))

Starting download of /tmp/guix-file.uS2uML
From https://hackage.haskell.org/package/foo/foo-1.0.0.tar.gz...
X.509 certificate of 'hackage.haskell.org' could not be verified:
  signer-not-found
  invalid

failed to download "/tmp/guix-file.uS2uML" from "https://hackage.haskell.org/package/foo/foo-1.0.0.tar.gz"
actual-value: #t
result: PASS

test-name: hackage->guix-package test mixed layout
location: /home/dave/aur/guix/src/guix/tests/hackage.scm:295
source:
+ (test-assert
+   "hackage->guix-package test mixed layout"
+   (eval-test-with-cabal
+     test-cabal-mixed-layout
+     match-ghc-foo))
Syntax error: unexpected token : (ghc-options (-Wall)) (at line 11, column 2)
Syntax error: unexpected end of input

;;; (fail #f #f)
actual-value: #f
result: XFAIL

test-name: hackage->guix-package test flag executable
location: /home/dave/aur/guix/src/guix/tests/hackage.scm:322
source:
+ (test-assert
+   "hackage->guix-package test flag executable"
+   (eval-test-with-cabal
+     test-cabal-flag-executable
+     match-ghc-foo))
Syntax error: unexpected token : (buildable (False)) (at line 12, column 4)
Syntax error: unexpected end of input

;;; (fail #f #f)
actual-value: #f
result: XFAIL

test-name: hackage->guix-package test cabal revision
location: /home/dave/aur/guix/src/guix/tests/hackage.scm:367
source:
+ (test-assert
+   "hackage->guix-package test cabal revision"
+   (eval-test-with-cabal
+     test-cabal-revision
+     match-ghc-foo-revision))

Starting download of /tmp/guix-file.L8IE3J
From https://hackage.haskell.org/package/foo/foo-1.0.0.tar.gz...
X.509 certificate of 'hackage.haskell.org' could not be verified:
  signer-not-found
  invalid

failed to download "/tmp/guix-file.L8IE3J" from "https://hackage.haskell.org/package/foo/foo-1.0.0.tar.gz"
actual-value: #t
result: PASS

test-name: read-cabal test 1
location: /home/dave/aur/guix/src/guix/tests/hackage.scm:370
source:
+ (test-assert
+   "read-cabal test 1"
+   (match (call-with-input-string
+            test-read-cabal-1
+            read-cabal)
+          ((("name" ("test-me"))
+            ('section
+             'library
+             (('if
+               ('flag "base4point8")
+               (("build-depends" ("base >= 4.8 && < 5")))
+               (('if
+                 ('flag "base4")
+                 (("build-depends" ("base >= 4 && < 4.8")))
+                 (('if
+                   ('flag "base3")
+                   (("build-depends" ("base >= 3 && < 4")))
+                   (("build-depends" ("base < 3"))))))))
+              ('if
+               ('or
+                ('flag "base4point8")
+                ('and ('flag "base4") ('flag "base3")))
+               (("build-depends" ("random")))
+               ())
+              ("build-depends" ("containers"))
+              ("exposed-modules" ("Test.QuickCheck.Exception")))))
+           #t)
+          (x (pk 'fail x #f))))
actual-value: #t
result: PASS


FAIL: tests/lint
================

test-name: description: not a string
location: /home/dave/aur/guix/src/guix/tests/lint.scm:88
source:
+ (test-equal
+   "description: not a string"
+   "invalid description: foobar"
+   (single-lint-warning-message
+     (check-description-style
+       (dummy-package "x" (description 'foobar)))))
expected-value: "invalid description: foobar"
actual-value: "invalid description: foobar"
result: PASS

test-name: description: not empty
location: /home/dave/aur/guix/src/guix/tests/lint.scm:94
source:
+ (test-equal
+   "description: not empty"
+   "description should not be empty"
+   (single-lint-warning-message
+     (check-description-style
+       (dummy-package "x" (description "")))))
expected-value: "description should not be empty"
actual-value: "description should not be empty"
result: PASS

test-name: description: invalid Texinfo markup
location: /home/dave/aur/guix/src/guix/tests/lint.scm:100
source:
+ (test-equal
+   "description: invalid Texinfo markup"
+   "Texinfo markup in description is invalid"
+   (single-lint-warning-message
+     (check-description-style
+       (dummy-package "x" (description "f{oo}b@r")))))
expected-value: "Texinfo markup in description is invalid"
actual-value: "Texinfo markup in description is invalid"
result: PASS

test-name: description: does not start with an upper-case letter
location: /home/dave/aur/guix/src/guix/tests/lint.scm:106
source:
+ (test-equal
+   "description: does not start with an upper-case letter"
+   "description should start with an upper-case letter or digit"
+   (single-lint-warning-message
+     (let ((pkg (dummy-package
+                  "x"
+                  (description "bad description."))))
+       (check-description-style pkg))))
expected-value: "description should start with an upper-case letter or digit"
actual-value: "description should start with an upper-case letter or digit"
result: PASS

test-name: description: may start with a digit
location: /home/dave/aur/guix/src/guix/tests/lint.scm:113
source:
+ (test-equal
+   "description: may start with a digit"
+   '()
+   (let ((pkg (dummy-package
+                "x"
+                (description "2-component library."))))
+     (check-description-style pkg)))
expected-value: ()
actual-value: ()
result: PASS

test-name: description: may start with lower-case package name
location: /home/dave/aur/guix/src/guix/tests/lint.scm:119
source:
+ (test-equal
+   "description: may start with lower-case package name"
+   '()
+   (let ((pkg (dummy-package
+                "x"
+                (description "x is a dummy package."))))
+     (check-description-style pkg)))
expected-value: ()
actual-value: ()
result: PASS

test-name: description: two spaces after end of sentence
location: /home/dave/aur/guix/src/guix/tests/lint.scm:125
source:
+ (test-equal
+   "description: two spaces after end of sentence"
+   "sentences in description should be followed by two spaces; possible infraction at 3"
+   (single-lint-warning-message
+     (let ((pkg (dummy-package
+                  "x"
+                  (description "Bad. Quite bad."))))
+       (check-description-style pkg))))
expected-value: "sentences in description should be followed by two spaces; possible infraction at 3"
actual-value: "sentences in description should be followed by two spaces; possible infraction at 3"
result: PASS

test-name: description: end-of-sentence detection with abbreviations
location: /home/dave/aur/guix/src/guix/tests/lint.scm:132
source:
+ (test-equal
+   "description: end-of-sentence detection with abbreviations"
+   '()
+   (let ((pkg (dummy-package
+                "x"
+                (description
+                  "E.g. Foo, i.e. Bar resp. Baz (a.k.a. DVD)."))))
+     (check-description-style pkg)))
expected-value: ()
actual-value: ()
result: PASS

test-name: description: may not contain trademark signs: ?
location: /home/dave/aur/guix/src/guix/tests/lint.scm:139
source:
+ (test-equal
+   "description: may not contain trademark signs: ?"
+   "description should not contain trademark sign '?' at 20"
+   (single-lint-warning-message
+     (let ((pkg (dummy-package
+                  "x"
+                  (description "Does The Right Thing?"))))
+       (check-description-style pkg))))
expected-value: "description should not contain trademark sign '?' at 20"
actual-value: "description should not contain trademark sign '?' at 20"
result: PASS

test-name: description: may not contain trademark signs: ?
location: /home/dave/aur/guix/src/guix/tests/lint.scm:146
source:
+ (test-equal
+   "description: may not contain trademark signs: ?"
+   "description should not contain trademark sign '?' at 17"
+   (single-lint-warning-message
+     (let ((pkg (dummy-package
+                  "x"
+                  (description "Works with Format?"))))
+       (check-description-style pkg))))
expected-value: "description should not contain trademark sign '?' at 17"
actual-value: "description should not contain trademark sign '?' at 17"
result: PASS

test-name: description: suggest ornament instead of quotes
location: /home/dave/aur/guix/src/guix/tests/lint.scm:153
source:
+ (test-equal
+   "description: suggest ornament instead of quotes"
+   "use @code or similar ornament instead of quotes"
+   (single-lint-warning-message
+     (let ((pkg (dummy-package
+                  "x"
+                  (description "This is a 'quoted' thing."))))
+       (check-description-style pkg))))
expected-value: "use @code or similar ornament instead of quotes"
actual-value: "use @code or similar ornament instead of quotes"
result: PASS

test-name: synopsis: not a string
location: /home/dave/aur/guix/src/guix/tests/lint.scm:160
source:
+ (test-equal
+   "synopsis: not a string"
+   "invalid synopsis: #f"
+   (single-lint-warning-message
+     (let ((pkg (dummy-package "x" (synopsis #f))))
+       (check-synopsis-style pkg))))
expected-value: "invalid synopsis: #f"
actual-value: "invalid synopsis: #f"
result: PASS

test-name: synopsis: not empty
location: /home/dave/aur/guix/src/guix/tests/lint.scm:167
source:
+ (test-equal
+   "synopsis: not empty"
+   "synopsis should not be empty"
+   (single-lint-warning-message
+     (let ((pkg (dummy-package "x" (synopsis ""))))
+       (check-synopsis-style pkg))))
expected-value: "synopsis should not be empty"
actual-value: "synopsis should not be empty"
result: PASS

test-name: synopsis: valid Texinfo markup
location: /home/dave/aur/guix/src/guix/tests/lint.scm:174
source:
+ (test-equal
+   "synopsis: valid Texinfo markup"
+   "Texinfo markup in synopsis is invalid"
+   (single-lint-warning-message
+     (check-synopsis-style
+       (dummy-package "x" (synopsis "Bad $@ texinfo")))))
expected-value: "Texinfo markup in synopsis is invalid"
actual-value: "Texinfo markup in synopsis is invalid"
result: PASS

test-name: synopsis: does not start with an upper-case letter
location: /home/dave/aur/guix/src/guix/tests/lint.scm:180
source:
+ (test-equal
+   "synopsis: does not start with an upper-case letter"
+   "synopsis should start with an upper-case letter or digit"
+   (single-lint-warning-message
+     (let ((pkg (dummy-package "x" (synopsis "bad synopsis"))))
+       (check-synopsis-style pkg))))
expected-value: "synopsis should start with an upper-case letter or digit"
actual-value: "synopsis should start with an upper-case letter or digit"
result: PASS

test-name: synopsis: may start with a digit
location: /home/dave/aur/guix/src/guix/tests/lint.scm:187
source:
+ (test-equal
+   "synopsis: may start with a digit"
+   '()
+   (let ((pkg (dummy-package
+                "x"
+                (synopsis "5-dimensional frobnicator"))))
+     (check-synopsis-style pkg)))
expected-value: ()
actual-value: ()
result: PASS

test-name: synopsis: ends with a period
location: /home/dave/aur/guix/src/guix/tests/lint.scm:193
source:
+ (test-equal
+   "synopsis: ends with a period"
+   "no period allowed at the end of the synopsis"
+   (single-lint-warning-message
+     (let ((pkg (dummy-package "x" (synopsis "Bad synopsis."))))
+       (check-synopsis-style pkg))))
expected-value: "no period allowed at the end of the synopsis"
actual-value: "no period allowed at the end of the synopsis"
result: PASS

test-name: synopsis: ends with 'etc.'
location: /home/dave/aur/guix/src/guix/tests/lint.scm:200
source:
+ (test-equal
+   "synopsis: ends with 'etc.'"
+   '()
+   (let ((pkg (dummy-package "x" (synopsis "Foo, bar, etc."))))
+     (check-synopsis-style pkg)))
expected-value: ()
actual-value: ()
result: PASS

test-name: synopsis: starts with 'A'
location: /home/dave/aur/guix/src/guix/tests/lint.scm:206
source:
+ (test-equal
+   "synopsis: starts with 'A'"
+   "no article allowed at the beginning of the synopsis"
+   (single-lint-warning-message
+     (let ((pkg (dummy-package "x" (synopsis "A bad synop?is"))))
+       (check-synopsis-style pkg))))
expected-value: "no article allowed at the beginning of the synopsis"
actual-value: "no article allowed at the beginning of the synopsis"
result: PASS

test-name: synopsis: starts with 'An'
location: /home/dave/aur/guix/src/guix/tests/lint.scm:213
source:
+ (test-equal
+   "synopsis: starts with 'An'"
+   "no article allowed at the beginning of the synopsis"
+   (single-lint-warning-message
+     (let ((pkg (dummy-package
+                  "x"
+                  (synopsis "An awful synopsis"))))
+       (check-synopsis-style pkg))))
expected-value: "no article allowed at the beginning of the synopsis"
actual-value: "no article allowed at the beginning of the synopsis"
result: PASS

test-name: synopsis: starts with 'a'
location: /home/dave/aur/guix/src/guix/tests/lint.scm:220
source:
+ (test-equal
+   "synopsis: starts with 'a'"
+   '("no article allowed at the beginning of the synopsis"
+     "synopsis should start with an upper-case letter or digit")
+   (sort (map lint-warning-message
+              (let ((pkg (dummy-package "x" (synopsis "a bad synopsis"))))
+                (check-synopsis-style pkg)))
+         string<?))
expected-value: ("no article allowed at the beginning of the synopsis" "synopsis should start with an upper-case letter or digit")
actual-value: ("no article allowed at the beginning of the synopsis" "synopsis should start with an upper-case letter or digit")
result: PASS

test-name: synopsis: starts with 'an'
location: /home/dave/aur/guix/src/guix/tests/lint.scm:231
source:
+ (test-equal
+   "synopsis: starts with 'an'"
+   '("no article allowed at the beginning of the synopsis"
+     "synopsis should start with an upper-case letter or digit")
+   (sort (map lint-warning-message
+              (let ((pkg (dummy-package
+                           "x"
+                           (synopsis "an awful synopsis"))))
+                (check-synopsis-style pkg)))
+         string<?))
expected-value: ("no article allowed at the beginning of the synopsis" "synopsis should start with an upper-case letter or digit")
actual-value: ("no article allowed at the beginning of the synopsis" "synopsis should start with an upper-case letter or digit")
result: PASS

test-name: synopsis: too long
location: /home/dave/aur/guix/src/guix/tests/lint.scm:242
source:
+ (test-equal
+   "synopsis: too long"
+   "synopsis should be less than 80 characters long"
+   (single-lint-warning-message
+     (let ((pkg (dummy-package
+                  "x"
+                  (synopsis (make-string 80 #\X)))))
+       (check-synopsis-style pkg))))
expected-value: "synopsis should be less than 80 characters long"
actual-value: "synopsis should be less than 80 characters long"
result: PASS

test-name: synopsis: start with package name
location: /home/dave/aur/guix/src/guix/tests/lint.scm:249
source:
+ (test-equal
+   "synopsis: start with package name"
+   "synopsis should not start with the package name"
+   (single-lint-warning-message
+     (let ((pkg (dummy-package
+                  "x"
+                  (name "Foo")
+                  (synopsis "Foo, a nice package"))))
+       (check-synopsis-style pkg))))
expected-value: "synopsis should not start with the package name"
actual-value: "synopsis should not start with the package name"
result: PASS

test-name: synopsis: start with package name prefix
location: /home/dave/aur/guix/src/guix/tests/lint.scm:257
source:
+ (test-equal
+   "synopsis: start with package name prefix"
+   '()
+   (let ((pkg (dummy-package
+                "arb"
+                (synopsis "Arbitrary precision"))))
+     (check-synopsis-style pkg)))
expected-value: ()
actual-value: ()
result: PASS

test-name: synopsis: start with abbreviation
location: /home/dave/aur/guix/src/guix/tests/lint.scm:263
source:
+ (test-equal
+   "synopsis: start with abbreviation"
+   '()
+   (let ((pkg (dummy-package
+                "uucp"
+                (synopsis "UUCP implementation")
+                (description "Imagine this is Taylor UUCP."))))
+     (check-synopsis-style pkg)))
expected-value: ()
actual-value: ()
result: PASS

test-name: inputs: pkg-config is probably a native input
location: /home/dave/aur/guix/src/guix/tests/lint.scm:271
source:
+ (test-equal
+   "inputs: pkg-config is probably a native input"
+   "'pkg-config' should probably be a native input"
+   (single-lint-warning-message
+     (let ((pkg (dummy-package
+                  "x"
+                  (inputs `(("pkg-config" ,pkg-config))))))
+       (check-inputs-should-be-native pkg))))
expected-value: "'pkg-config' should probably be a native input"
actual-value: "'pkg-config' should probably be a native input"
result: PASS

test-name: inputs: glib:bin is probably a native input
location: /home/dave/aur/guix/src/guix/tests/lint.scm:278
source:
+ (test-equal
+   "inputs: glib:bin is probably a native input"
+   "'glib:bin' should probably be a native input"
+   (single-lint-warning-message
+     (let ((pkg (dummy-package
+                  "x"
+                  (inputs `(("glib" ,glib "bin"))))))
+       (check-inputs-should-be-native pkg))))
expected-value: "'glib:bin' should probably be a native input"
actual-value: "'glib:bin' should probably be a native input"
result: PASS

test-name: inputs: python-setuptools should not be an input at all (input)
location: /home/dave/aur/guix/src/guix/tests/lint.scm:285
source:
+ (test-equal
+   "inputs: python-setuptools should not be an input at all (input)"
+   "'python-setuptools' should probably not be an input at all"
+   (single-lint-warning-message
+     (let ((pkg (dummy-package
+                  "x"
+                  (inputs
+                    `(("python-setuptools" ,python-setuptools))))))
+       (check-inputs-should-not-be-an-input-at-all pkg))))
expected-value: "'python-setuptools' should probably not be an input at all"
actual-value: "'python-setuptools' should probably not be an input at all"
result: PASS

test-name: inputs: python-setuptools should not be an input at all (native-input)
location: /home/dave/aur/guix/src/guix/tests/lint.scm:294
source:
+ (test-equal
+   "inputs: python-setuptools should not be an input at all (native-input)"
+   "'python-setuptools' should probably not be an input at all"
+   (single-lint-warning-message
+     (let ((pkg (dummy-package
+                  "x"
+                  (native-inputs
+                    `(("python-setuptools" ,python-setuptools))))))
+       (check-inputs-should-not-be-an-input-at-all pkg))))
expected-value: "'python-setuptools' should probably not be an input at all"
actual-value: "'python-setuptools' should probably not be an input at all"
result: PASS

test-name: inputs: python-setuptools should not be an input at all (propagated-input)
location: /home/dave/aur/guix/src/guix/tests/lint.scm:304
source:
+ (test-equal
+   "inputs: python-setuptools should not be an input at all (propagated-input)"
+   "'python-setuptools' should probably not be an input at all"
+   (single-lint-warning-message
+     (let ((pkg (dummy-package
+                  "x"
+                  (propagated-inputs
+                    `(("python-setuptools" ,python-setuptools))))))
+       (check-inputs-should-not-be-an-input-at-all pkg))))
expected-value: "'python-setuptools' should probably not be an input at all"
actual-value: "'python-setuptools' should probably not be an input at all"
result: PASS

test-name: patches: file names
location: /home/dave/aur/guix/src/guix/tests/lint.scm:313
source:
+ (test-equal
+   "patches: file names"
+   "file names of patches should start with the package name"
+   (single-lint-warning-message
+     (let ((pkg (dummy-package
+                  "x"
+                  (source
+                    (dummy-origin
+                      (patches (list "/path/to/y.patch")))))))
+       (check-patch-file-names pkg))))
expected-value: "file names of patches should start with the package name"
actual-value: "file names of patches should start with the package name"
result: PASS

test-name: patches: file name too long
location: /home/dave/aur/guix/src/guix/tests/lint.scm:322
source:
+ (test-equal
+   "patches: file name too long"
+   (string-append
+     "x-"
+     (make-string 100 #\a)
+     ".patch: file name is too long")
+   (single-lint-warning-message
+     (let ((pkg (dummy-package
+                  "x"
+                  (source
+                    (dummy-origin
+                      (patches
+                        (list (string-append
+                                "x-"
+                                (make-string 100 #\a)
+                                ".patch"))))))))
+       (check-patch-file-names pkg))))
expected-value: "x-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.patch: file name is too long"
actual-value: "x-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.patch: file name is too long"
result: PASS

test-name: patches: not found
location: /home/dave/aur/guix/src/guix/tests/lint.scm:336
source:
+ (test-equal
+   "patches: not found"
+   "this-patch-does-not-exist!: patch not found"
+   (single-lint-warning-message
+     (let ((pkg (dummy-package
+                  "x"
+                  (source
+                    (dummy-origin
+                      (patches
+                        (list (search-patch
+                                "this-patch-does-not-exist!"))))))))
+       (check-patch-file-names pkg))))
expected-value: "this-patch-does-not-exist!: patch not found"
actual-value: "this-patch-does-not-exist!: patch not found"
result: PASS

test-name: derivation: invalid arguments
location: /home/dave/aur/guix/src/guix/tests/lint.scm:347
source:
+ (test-equal
+   "derivation: invalid arguments"
+   "failed to create x86_64-linux derivation: (wrong-type-arg \"map\" \"Wrong type argument: ~S\" (invalid-module) ())"
+   (match (let ((pkg (dummy-package
+                       "x"
+                       (arguments
+                         '(#:imported-modules (invalid-module))))))
+            (check-derivation pkg))
+          (((and (? lint-warning?) first-warning)
+            others
+            ...)
+           (lint-warning-message first-warning))))
expected-value: "failed to create x86_64-linux derivation: (wrong-type-arg \"map\" \"Wrong type argument: ~S\" (invalid-module) ())"
actual-value: "failed to create x86_64-linux derivation: (wrong-type-arg \"map\" \"Wrong type argument: ~S\" (invalid-module) ())"
result: PASS

test-name: license: invalid license
location: /home/dave/aur/guix/src/guix/tests/lint.scm:356
source:
+ (test-equal
+   "license: invalid license"
+   "invalid license field"
+   (single-lint-warning-message
+     (check-license (dummy-package "x" (license #f)))))
expected-value: "invalid license field"
actual-value: "invalid license field"
result: PASS

test-name: home-page: wrong home-page
location: /home/dave/aur/guix/src/guix/tests/lint.scm:361
source:
+ (test-equal
+   "home-page: wrong home-page"
+   "invalid value for home page"
+   (let ((pkg (package
+                (inherit (dummy-package "x"))
+                (home-page #f))))
+     (single-lint-warning-message
+       (check-home-page pkg))))
expected-value: "invalid value for home page"
actual-value: "invalid value for home page"
result: PASS

test-name: home-page: invalid URI
location: /home/dave/aur/guix/src/guix/tests/lint.scm:369
source:
+ (test-equal
+   "home-page: invalid URI"
+   "invalid home page URL: \"foobar\""
+   (let ((pkg (package
+                (inherit (dummy-package "x"))
+                (home-page "foobar"))))
+     (single-lint-warning-message
+       (check-home-page pkg))))
expected-value: "invalid home page URL: \"foobar\""
actual-value: "invalid home page URL: \"foobar\""
result: PASS

test-name: home-page: host not found
location: /home/dave/aur/guix/src/guix/tests/lint.scm:377
source:
+ (test-assert
+   "home-page: host not found"
+   (let ((pkg (package
+                (inherit (dummy-package "x"))
+                (home-page "http://does-not-exist"))))
+     (warning-contains?
+       "domain not found"
+       (check-home-page pkg))))
actual-value: #f
actual-error:
+ (match-error "match" "no matching pattern" ())
result: FAIL

test-name: home-page: Connection refused
location: /home/dave/aur/guix/src/guix/tests/lint.scm:384
source:
+ (test-equal
+   "home-page: Connection refused"
+   "URI http://localhost:9999/foo/bar unreachable: Connection refused"
+   (let ((pkg (package
+                (inherit (dummy-package "x"))
+                (home-page (%local-url)))))
+     (single-lint-warning-message
+       (check-home-page pkg))))
expected-value: "URI http://localhost:9999/foo/bar unreachable: Connection refused"
actual-value: "URI http://localhost:9999/foo/bar unreachable: Connection refused"
result: PASS

test-name: home-page: 200
location: /home/dave/aur/guix/src/guix/tests/lint.scm:393
source:
+ (test-equal
+   "home-page: 200"
+   '()
+   (with-http-server
+     `((200 ,%long-string))
+     (let ((pkg (package
+                  (inherit (dummy-package "x"))
+                  (home-page (%local-url)))))
+       (check-home-page pkg))))
expected-value: ()
actual-value: ()
result: PASS

test-name: home-page: 200 but short length
location: /home/dave/aur/guix/src/guix/tests/lint.scm:402
source:
+ (test-equal
+   "home-page: 200 but short length"
+   "URI http://localhost:9999/foo/bar returned suspiciously small file (18 bytes)"
+   (with-http-server
+     `((200 "This is too small."))
+     (let ((pkg (package
+                  (inherit (dummy-package "x"))
+                  (home-page (%local-url)))))
+       (single-lint-warning-message
+         (check-home-page pkg)))))
expected-value: "URI http://localhost:9999/foo/bar returned suspiciously small file (18 bytes)"
actual-value: "URI http://localhost:9999/foo/bar returned suspiciously small file (18 bytes)"
result: PASS

test-name: home-page: 404
location: /home/dave/aur/guix/src/guix/tests/lint.scm:413
source:
+ (test-equal
+   "home-page: 404"
+   "URI http://localhost:9999/foo/bar not reachable: 404 (\"Such is life\")"
+   (with-http-server
+     `((404 ,%long-string))
+     (let ((pkg (package
+                  (inherit (dummy-package "x"))
+                  (home-page (%local-url)))))
+       (single-lint-warning-message
+         (check-home-page pkg)))))
expected-value: "URI http://localhost:9999/foo/bar not reachable: 404 (\"Such is life\")"
actual-value: "URI http://localhost:9999/foo/bar not reachable: 404 (\"Such is life\")"
result: PASS

test-name: home-page: 301, invalid
location: /home/dave/aur/guix/src/guix/tests/lint.scm:423
source:
+ (test-equal
+   "home-page: 301, invalid"
+   "invalid permanent redirect from http://localhost:9999/foo/bar"
+   (with-http-server
+     `((301 ,%long-string))
+     (let ((pkg (package
+                  (inherit (dummy-package "x"))
+                  (home-page (%local-url)))))
+       (single-lint-warning-message
+         (check-home-page pkg)))))
expected-value: "invalid permanent redirect from http://localhost:9999/foo/bar"
actual-value: "invalid permanent redirect from http://localhost:9999/foo/bar"
result: PASS

test-name: home-page: 301 -> 200
location: /home/dave/aur/guix/src/guix/tests/lint.scm:433
source:
+ (test-equal
+   "home-page: 301 -> 200"
+   "permanent redirect from http://localhost:10000/foo/bar to http://localhost:9999/foo/bar"
+   (with-http-server
+     `((200 ,%long-string))
+     (let* ((initial-url (%local-url))
+            (redirect
+              (build-response
+                #:code
+                301
+                #:headers
+                `((location unquote (string->uri initial-url))))))
+       (parameterize
+         ((%http-server-port (+ 1 (%http-server-port))))
+         (with-http-server
+           `((,redirect ""))
+           (let ((pkg (package
+                        (inherit (dummy-package "x"))
+                        (home-page (%local-url)))))
+             (single-lint-warning-message
+               (check-home-page pkg))))))))
expected-value: "permanent redirect from http://localhost:10000/foo/bar to http://localhost:9999/foo/bar"
actual-value: "permanent redirect from http://localhost:10000/foo/bar to http://localhost:9999/foo/bar"
result: PASS

test-name: home-page: 301 -> 404
location: /home/dave/aur/guix/src/guix/tests/lint.scm:450
source:
+ (test-equal
+   "home-page: 301 -> 404"
+   "URI http://localhost:10000/foo/bar not reachable: 404 (\"Such is life\")"
+   (with-http-server
+     '((404 "booh!"))
+     (let* ((initial-url (%local-url))
+            (redirect
+              (build-response
+                #:code
+                301
+                #:headers
+                `((location unquote (string->uri initial-url))))))
+       (parameterize
+         ((%http-server-port (+ 1 (%http-server-port))))
+         (with-http-server
+           `((,redirect ""))
+           (let ((pkg (package
+                        (inherit (dummy-package "x"))
+                        (home-page (%local-url)))))
+             (single-lint-warning-message
+               (check-home-page pkg))))))))
expected-value: "URI http://localhost:10000/foo/bar not reachable: 404 (\"Such is life\")"
actual-value: "URI http://localhost:10000/foo/bar not reachable: 404 (\"Such is life\")"
result: PASS

test-name: source-file-name
location: /home/dave/aur/guix/src/guix/tests/lint.scm:467
source:
+ (test-equal
+   "source-file-name"
+   "the source file name should contain the package name"
+   (let ((pkg (dummy-package
+                "x"
+                (version "3.2.1")
+                (source
+                  (origin
+                    (method url-fetch)
+                    (uri "http://www.example.com/3.2.1.tar.gz")
+                    (sha256 %null-sha256))))))
+     (single-lint-warning-message
+       (check-source-file-name pkg))))
expected-value: "the source file name should contain the package name"
actual-value: "the source file name should contain the package name"
result: PASS

test-name: source-file-name: v prefix
location: /home/dave/aur/guix/src/guix/tests/lint.scm:479
source:
+ (test-equal
+   "source-file-name: v prefix"
+   "the source file name should contain the package name"
+   (let ((pkg (dummy-package
+                "x"
+                (version "3.2.1")
+                (source
+                  (origin
+                    (method url-fetch)
+                    (uri "http://www.example.com/v3.2.1.tar.gz")
+                    (sha256 %null-sha256))))))
+     (single-lint-warning-message
+       (check-source-file-name pkg))))
expected-value: "the source file name should contain the package name"
actual-value: "the source file name should contain the package name"
result: PASS

test-name: source-file-name: bad checkout
location: /home/dave/aur/guix/src/guix/tests/lint.scm:491
source:
+ (test-equal
+   "source-file-name: bad checkout"
+   "the source file name should contain the package name"
+   (let ((pkg (dummy-package
+                "x"
+                (version "3.2.1")
+                (source
+                  (origin
+                    (method git-fetch)
+                    (uri (git-reference
+                           (url "http://www.example.com/x.git")
+                           (commit "0")))
+                    (sha256 %null-sha256))))))
+     (single-lint-warning-message
+       (check-source-file-name pkg))))
expected-value: "the source file name should contain the package name"
actual-value: "the source file name should contain the package name"
result: PASS

test-name: source-file-name: good checkout
location: /home/dave/aur/guix/src/guix/tests/lint.scm:505
source:
+ (test-equal
+   "source-file-name: good checkout"
+   '()
+   (let ((pkg (dummy-package
+                "x"
+                (version "3.2.1")
+                (source
+                  (origin
+                    (method git-fetch)
+                    (uri (git-reference
+                           (url "http://git.example.com/x.git")
+                           (commit "0")))
+                    (file-name (string-append "x-" version))
+                    (sha256 %null-sha256))))))
+     (check-source-file-name pkg)))
expected-value: ()
actual-value: ()
result: PASS

test-name: source-file-name: valid
location: /home/dave/aur/guix/src/guix/tests/lint.scm:519
source:
+ (test-equal
+   "source-file-name: valid"
+   '()
+   (let ((pkg (dummy-package
+                "x"
+                (version "3.2.1")
+                (source
+                  (origin
+                    (method url-fetch)
+                    (uri "http://www.example.com/x-3.2.1.tar.gz")
+                    (sha256 %null-sha256))))))
+     (check-source-file-name pkg)))
expected-value: ()
actual-value: ()
result: PASS

test-name: source-unstable-tarball
location: /home/dave/aur/guix/src/guix/tests/lint.scm:530
source:
+ (test-equal
+   "source-unstable-tarball"
+   "the source URI should not be an autogenerated tarball"
+   (let ((pkg (dummy-package
+                "x"
+                (source
+                  (origin
+                    (method url-fetch)
+                    (uri "https://github.com/example/example/archive/v0.0.tar.gz")
+                    (sha256 %null-sha256))))))
+     (single-lint-warning-message
+       (check-source-unstable-tarball pkg))))
expected-value: "the source URI should not be an autogenerated tarball"
actual-value: "the source URI should not be an autogenerated tarball"
result: PASS

test-name: source-unstable-tarball: source #f
location: /home/dave/aur/guix/src/guix/tests/lint.scm:541
source:
+ (test-equal
+   "source-unstable-tarball: source #f"
+   '()
+   (let ((pkg (dummy-package "x" (source #f))))
+     (check-source-unstable-tarball pkg)))
expected-value: ()
actual-value: ()
result: PASS

test-name: source-unstable-tarball: valid
location: /home/dave/aur/guix/src/guix/tests/lint.scm:547
source:
+ (test-equal
+   "source-unstable-tarball: valid"
+   '()
+   (let ((pkg (dummy-package
+                "x"
+                (source
+                  (origin
+                    (method url-fetch)
+                    (uri "https://github.com/example/example/releases/download/x-0.0/x-0.0.tar.gz")
+                    (sha256 %null-sha256))))))
+     (check-source-unstable-tarball pkg)))
expected-value: ()
actual-value: ()
result: PASS

test-name: source-unstable-tarball: package named archive
location: /home/dave/aur/guix/src/guix/tests/lint.scm:557
source:
+ (test-equal
+   "source-unstable-tarball: package named archive"
+   '()
+   (let ((pkg (dummy-package
+                "x"
+                (source
+                  (origin
+                    (method url-fetch)
+                    (uri "https://github.com/example/archive/releases/download/x-0.0/x-0.0.tar.gz")
+                    (sha256 %null-sha256))))))
+     (check-source-unstable-tarball pkg)))
expected-value: ()
actual-value: ()
result: PASS

test-name: source-unstable-tarball: not-github
location: /home/dave/aur/guix/src/guix/tests/lint.scm:567
source:
+ (test-equal
+   "source-unstable-tarball: not-github"
+   '()
+   (let ((pkg (dummy-package
+                "x"
+                (source
+                  (origin
+                    (method url-fetch)
+                    (uri "https://bitbucket.org/archive/example/download/x-0.0.tar.gz")
+                    (sha256 %null-sha256))))))
+     (check-source-unstable-tarball pkg)))
expected-value: ()
actual-value: ()
result: PASS

test-name: source-unstable-tarball: git-fetch
location: /home/dave/aur/guix/src/guix/tests/lint.scm:577
source:
+ (test-equal
+   "source-unstable-tarball: git-fetch"
+   '()
+   (let ((pkg (dummy-package
+                "x"
+                (source
+                  (origin
+                    (method git-fetch)
+                    (uri (git-reference
+                           (url "https://github.com/archive/example.git")
+                           (commit "0")))
+                    (sha256 %null-sha256))))))
+     (check-source-unstable-tarball pkg)))
expected-value: ()
actual-value: ()
result: PASS

test-name: source: 200
location: /home/dave/aur/guix/src/guix/tests/lint.scm:590
source:
+ (test-equal
+   "source: 200"
+   '()
+   (with-http-server
+     `((200 ,%long-string))
+     (let ((pkg (package
+                  (inherit (dummy-package "x"))
+                  (source
+                    (origin
+                      (method url-fetch)
+                      (uri (%local-url))
+                      (sha256 %null-sha256))))))
+       (check-source pkg))))
expected-value: ()
actual-value: ()
result: PASS

test-name: source: 200 but short length
location: /home/dave/aur/guix/src/guix/tests/lint.scm:602
source:
+ (test-equal
+   "source: 200 but short length"
+   "URI http://localhost:9999/foo/bar returned suspiciously small file (18 bytes)"
+   (with-http-server
+     '((200 "This is too small."))
+     (let ((pkg (package
+                  (inherit (dummy-package "x"))
+                  (source
+                    (origin
+                      (method url-fetch)
+                      (uri (%local-url))
+                      (sha256 %null-sha256))))))
+       (match (check-source pkg)
+              ((first-warning
+                 (and (? lint-warning?) second-warning))
+               (lint-warning-message second-warning))))))
expected-value: "URI http://localhost:9999/foo/bar returned suspiciously small file (18 bytes)"
actual-value: "URI http://localhost:9999/foo/bar returned suspiciously small file (18 bytes)"
result: PASS

test-name: source: 404
location: /home/dave/aur/guix/src/guix/tests/lint.scm:617
source:
+ (test-equal
+   "source: 404"
+   "URI http://localhost:9999/foo/bar not reachable: 404 (\"Such is life\")"
+   (with-http-server
+     `((404 ,%long-string))
+     (let ((pkg (package
+                  (inherit (dummy-package "x"))
+                  (source
+                    (origin
+                      (method url-fetch)
+                      (uri (%local-url))
+                      (sha256 %null-sha256))))))
+       (match (check-source pkg)
+              ((first-warning
+                 (and (? lint-warning?) second-warning))
+               (lint-warning-message second-warning))))))
expected-value: "URI http://localhost:9999/foo/bar not reachable: 404 (\"Such is life\")"
actual-value: "URI http://localhost:9999/foo/bar not reachable: 404 (\"Such is life\")"
result: PASS

test-name: source: 404 and 200
location: /home/dave/aur/guix/src/guix/tests/lint.scm:632
source:
+ (test-equal
+   "source: 404 and 200"
+   '()
+   (with-http-server
+     `((404 ,%long-string))
+     (let ((bad-url (%local-url)))
+       (parameterize
+         ((%http-server-port (+ 1 (%http-server-port))))
+         (with-http-server
+           `((200 ,%long-string))
+           (let ((pkg (package
+                        (inherit (dummy-package "x"))
+                        (source
+                          (origin
+                            (method url-fetch)
+                            (uri (list bad-url (%local-url)))
+                            (sha256 %null-sha256))))))
+             (check-source pkg)))))))
expected-value: ()
actual-value: ()
result: PASS

test-name: source: 301 -> 200
location: /home/dave/aur/guix/src/guix/tests/lint.scm:649
source:
+ (test-equal
+   "source: 301 -> 200"
+   "permanent redirect from http://localhost:10000/foo/bar to http://localhost:9999/foo/bar"
+   (with-http-server
+     `((200 ,%long-string))
+     (let* ((initial-url (%local-url))
+            (redirect
+              (build-response
+                #:code
+                301
+                #:headers
+                `((location unquote (string->uri initial-url))))))
+       (parameterize
+         ((%http-server-port (+ 1 (%http-server-port))))
+         (with-http-server
+           `((,redirect ""))
+           (let ((pkg (package
+                        (inherit (dummy-package "x"))
+                        (source
+                          (origin
+                            (method url-fetch)
+                            (uri (%local-url))
+                            (sha256 %null-sha256))))))
+             (match (check-source pkg)
+                    ((first-warning
+                       (and (? lint-warning?) second-warning))
+                     (lint-warning-message second-warning)))))))))
expected-value: "permanent redirect from http://localhost:10000/foo/bar to http://localhost:9999/foo/bar"
actual-value: "permanent redirect from http://localhost:10000/foo/bar to http://localhost:9999/foo/bar"
result: PASS

test-name: source: 301 -> 404
location: /home/dave/aur/guix/src/guix/tests/lint.scm:671
source:
+ (test-equal
+   "source: 301 -> 404"
+   "URI http://localhost:10000/foo/bar not reachable: 404 (\"Such is life\")"
+   (with-http-server
+     '((404 "booh!"))
+     (let* ((initial-url (%local-url))
+            (redirect
+              (build-response
+                #:code
+                301
+                #:headers
+                `((location unquote (string->uri initial-url))))))
+       (parameterize
+         ((%http-server-port (+ 1 (%http-server-port))))
+         (with-http-server
+           `((,redirect ""))
+           (let ((pkg (package
+                        (inherit (dummy-package "x"))
+                        (source
+                          (origin
+                            (method url-fetch)
+                            (uri (%local-url))
+                            (sha256 %null-sha256))))))
+             (match (check-source pkg)
+                    ((first-warning
+                       (and (? lint-warning?) second-warning))
+                     (lint-warning-message second-warning)))))))))
expected-value: "URI http://localhost:10000/foo/bar not reachable: 404 (\"Such is life\")"
actual-value: "URI http://localhost:10000/foo/bar not reachable: 404 (\"Such is life\")"
result: PASS

test-name: mirror-url
location: /home/dave/aur/guix/src/guix/tests/lint.scm:693
source:
+ (test-equal
+   "mirror-url"
+   '()
+   (let ((source
+           (origin
+             (method url-fetch)
+             (uri "http://example.org/foo/bar.tar.gz")
+             (sha256 %null-sha256))))
+     (check-mirror-url
+       (dummy-package "x" (source source)))))
expected-value: ()
actual-value: ()
result: PASS

test-name: mirror-url: one suggestion
location: /home/dave/aur/guix/src/guix/tests/lint.scm:701
source:
+ (test-equal
+   "mirror-url: one suggestion"
+   "URL should be 'mirror://gnu/foo/foo.tar.gz'"
+   (let ((source
+           (origin
+             (method url-fetch)
+             (uri "http://ftp.gnu.org/pub/gnu/foo/foo.tar.gz")
+             (sha256 %null-sha256))))
+     (single-lint-warning-message
+       (check-mirror-url
+         (dummy-package "x" (source source))))))
expected-value: "URL should be 'mirror://gnu/foo/foo.tar.gz'"
actual-value: "URL should be 'mirror://gnu/foo/foo.tar.gz'"
result: PASS

test-name: github-url
location: /home/dave/aur/guix/src/guix/tests/lint.scm:710
source:
+ (test-equal
+   "github-url"
+   '()
+   (with-http-server
+     `((200 ,%long-string))
+     (check-github-url
+       (dummy-package
+         "x"
+         (source
+           (origin
+             (method url-fetch)
+             (uri (%local-url))
+             (sha256 %null-sha256)))))))
expected-value: ()
actual-value: ()
result: PASS

test-name: github-url: one suggestion
location: /home/dave/aur/guix/src/guix/tests/lint.scm:721
source:
+ (test-equal
+   "github-url: one suggestion"
+   (string-append "URL should be '" github-url "'")
+   (let ((redirect
+           (build-response
+             #:code
+             301
+             #:headers
+             `((location unquote (string->uri github-url))))))
+     (with-http-server
+       `((,redirect ""))
+       (let* ((initial-url (%local-url))
+              (redirect
+                (build-response
+                  #:code
+                  302
+                  #:headers
+                  `((location unquote (string->uri initial-url))))))
+         (parameterize
+           ((%http-server-port (+ 1 (%http-server-port))))
+           (with-http-server
+             `((,redirect ""))
+             (single-lint-warning-message
+               (check-github-url
+                 (dummy-package
+                   "x"
+                   (source
+                     (origin
+                       (method url-fetch)
+                       (uri (%local-url))
+                       (sha256 %null-sha256))))))))))))
expected-value: "URL should be 'https://github.com/foo/bar/bar-1.0.tar.gz'"
actual-value: "URL should be 'https://github.com/foo/bar/bar-1.0.tar.gz'"
result: PASS

test-name: github-url: already the correct github url
location: /home/dave/aur/guix/src/guix/tests/lint.scm:743
source:
+ (test-equal
+   "github-url: already the correct github url"
+   '()
+   (check-github-url
+     (dummy-package
+       "x"
+       (source
+         (origin
+           (method url-fetch)
+           (uri github-url)
+           (sha256 %null-sha256))))))
expected-value: ()
actual-value: ()
result: PASS

test-name: cve
location: /home/dave/aur/guix/src/guix/tests/lint.scm:752
source:
+ (test-equal
+   "cve"
+   '()
+   (mock ((guix lint) package-vulnerabilities (const '()))
+         (check-vulnerabilities (dummy-package "x"))))
expected-value: ()
actual-value: ()
result: PASS

test-name: cve: one vulnerability
location: /home/dave/aur/guix/src/guix/tests/lint.scm:757
source:
+ (test-equal
+   "cve: one vulnerability"
+   "probably vulnerable to CVE-2015-1234"
+   (mock ((guix lint)
+          package-vulnerabilities
+          (lambda (package)
+            (list (make-struct
+                    (@@ (guix cve) <vulnerability>)
+                    0
+                    "CVE-2015-1234"
+                    (list (cons (package-name package)
+                                (package-version package)))))))
+         (single-lint-warning-message
+           (check-vulnerabilities
+             (dummy-package "pi" (version "3.14"))))))
expected-value: "probably vulnerable to CVE-2015-1234"
actual-value: "probably vulnerable to CVE-2015-1234"
result: PASS

test-name: cve: one patched vulnerability
location: /home/dave/aur/guix/src/guix/tests/lint.scm:768
source:
+ (test-equal
+   "cve: one patched vulnerability"
+   '()
+   (mock ((guix lint)
+          package-vulnerabilities
+          (lambda (package)
+            (list (make-struct
+                    (@@ (guix cve) <vulnerability>)
+                    0
+                    "CVE-2015-1234"
+                    (list (cons (package-name package)
+                                (package-version package)))))))
+         (check-vulnerabilities
+           (dummy-package
+             "pi"
+             (version "3.14")
+             (source
+               (dummy-origin
+                 (patches (list "/a/b/pi-CVE-2015-1234.patch"))))))))
expected-value: ()
actual-value: ()
result: PASS

test-name: cve: known safe from vulnerability
location: /home/dave/aur/guix/src/guix/tests/lint.scm:784
source:
+ (test-equal
+   "cve: known safe from vulnerability"
+   '()
+   (mock ((guix lint)
+          package-vulnerabilities
+          (lambda (package)
+            (list (make-struct
+                    (@@ (guix cve) <vulnerability>)
+                    0
+                    "CVE-2015-1234"
+                    (list (cons (package-name package)
+                                (package-version package)))))))
+         (check-vulnerabilities
+           (dummy-package
+             "pi"
+             (version "3.14")
+             (properties `((lint-hidden-cve "CVE-2015-1234")))))))
expected-value: ()
actual-value: ()
result: PASS

test-name: cve: vulnerability fixed in replacement version
location: /home/dave/aur/guix/src/guix/tests/lint.scm:797
source:
+ (test-equal
+   "cve: vulnerability fixed in replacement version"
+   '()
+   (mock ((guix lint)
+          package-vulnerabilities
+          (lambda (package)
+            (match (package-version package)
+                   ("0"
+                    (list (make-struct
+                            (@@ (guix cve) <vulnerability>)
+                            0
+                            "CVE-2015-1234"
+                            (list (cons (package-name package)
+                                        (package-version package))))))
+                   ("1" '()))))
+         (check-vulnerabilities
+           (dummy-package
+             "foo"
+             (version "0")
+             (replacement (dummy-package "foo" (version "1")))))))
expected-value: ()
actual-value: ()
result: PASS

test-name: cve: patched vulnerability in replacement
location: /home/dave/aur/guix/src/guix/tests/lint.scm:814
source:
+ (test-equal
+   "cve: patched vulnerability in replacement"
+   '()
+   (mock ((guix lint)
+          package-vulnerabilities
+          (lambda (package)
+            (list (make-struct
+                    (@@ (guix cve) <vulnerability>)
+                    0
+                    "CVE-2015-1234"
+                    (list (cons (package-name package)
+                                (package-version package)))))))
+         (check-vulnerabilities
+           (dummy-package
+             "pi"
+             (version "3.14")
+             (source (dummy-origin))
+             (replacement
+               (dummy-package
+                 "pi"
+                 (version "3.14")
+                 (source
+                   (dummy-origin
+                     (patches (list "/a/b/pi-CVE-2015-1234.patch"))))))))))
expected-value: ()
actual-value: ()
result: PASS

test-name: formatting: lonely parentheses
location: /home/dave/aur/guix/src/guix/tests/lint.scm:832
source:
+ (test-equal
+   "formatting: lonely parentheses"
+   "parentheses feel lonely, move to the previous or next line"
+   (single-lint-warning-message
+     (check-formatting
+       (dummy-package "ugly as hell!"))))
expected-value: "parentheses feel lonely, move to the previous or next line"
actual-value: "parentheses feel lonely, move to the previous or next line"
result: PASS

test-name: formatting: tabulation
location: /home/dave/aur/guix/src/guix/tests/lint.scm:840
source:
+ (test-assert
+   "formatting: tabulation"
+   (string-match-or-error
+     "tabulation on line [0-9]+, column [0-9]+"
+     (single-lint-warning-message
+       (check-formatting
+         (dummy-package "leave the tab here:\t")))))
actual-value: #("tabulation on line 844, column 57" (0 . 33))
result: PASS

test-name: formatting: trailing white space
location: /home/dave/aur/guix/src/guix/tests/lint.scm:846
source:
+ (test-assert
+   "formatting: trailing white space"
+   (string-match-or-error
+     "trailing white space .*"
+     (single-lint-warning-message
+       (check-formatting (dummy-package "x")))))
actual-value: #("trailing white space on line 851" (0 . 32))
result: PASS

test-name: formatting: long line
location: /home/dave/aur/guix/src/guix/tests/lint.scm:853
source:
+ (test-assert
+   "formatting: long line"
+   (string-match-or-error
+     "line [0-9]+ is way too long \\([0-9]+ characters\\)"
+     (single-lint-warning-message
+       (check-formatting (dummy-package "x")))))
actual-value: #("line 857 is way too long (118 characters)" (0 . 41))
result: PASS

test-name: formatting: alright
location: /home/dave/aur/guix/src/guix/tests/lint.scm:860
source:
+ (test-equal
+   "formatting: alright"
+   '()
+   (check-formatting (dummy-package "x")))
expected-value: ()
actual-value: ()
result: PASS

test-name: archival: missing content
location: /home/dave/aur/guix/src/guix/tests/lint.scm:864
source:
+ (test-assert
+   "archival: missing content"
+   (let* ((origin
+            (origin
+              (method url-fetch)
+              (uri "http://example.org/foo.tgz")
+              (sha256 (make-bytevector 32))))
+          (warnings
+            (with-http-server
+              '((404 "Not archived."))
+              (parameterize
+                ((%swh-base-url (%local-url)))
+                (check-archival
+                  (dummy-package "x" (source origin)))))))
+     (warning-contains? "not archived" warnings)))
actual-value: 7
result: PASS

test-name: archival: content available
location: /home/dave/aur/guix/src/guix/tests/lint.scm:875
source:
+ (test-equal
+   "archival: content available"
+   '()
+   (let* ((origin
+            (origin
+              (method url-fetch)
+              (uri "http://example.org/foo.tgz")
+              (sha256 (make-bytevector 32))))
+          (content
+            "{ \"checksums\": {}, \"data_url\": \"xyz\",\n                      \"length\": 42 }"))
+     (with-http-server
+       `((200 ,content))
+       (parameterize
+         ((%swh-base-url (%local-url)))
+         (check-archival
+           (dummy-package "x" (source origin)))))))
expected-value: ()
actual-value: ()
result: PASS

test-name: archival: missing revision
location: /home/dave/aur/guix/src/guix/tests/lint.scm:888
source:
+ (test-assert
+   "archival: missing revision"
+   (let* ((origin
+            (origin
+              (method git-fetch)
+              (uri (git-reference
+                     (url "http://example.org/foo.git")
+                     (commit
+                       "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")))
+              (sha256 (make-bytevector 32))))
+          (save "{ \"origin_url\": \"http://example.org/foo.git\",\n                      \"save_request_date\": \"2014-11-17T22:09:38+01:00\",\n                      \"save_request_status\": \"accepted\",\n                      \"save_task_status\": \"scheduled\" }")
+          (warnings
+            (with-http-server
+              `((404 "No revision.")
+                (404 "No origin.")
+                (200 ,save))
+              (parameterize
+                ((%swh-base-url (%local-url)))
+                (check-archival
+                  (dummy-package "x" (source origin)))))))
+     (warning-contains? "scheduled" warnings)))
actual-value: 0
result: PASS

test-name: archival: revision available
location: /home/dave/aur/guix/src/guix/tests/lint.scm:907
source:
+ (test-equal
+   "archival: revision available"
+   '()
+   (let* ((origin
+            (origin
+              (method git-fetch)
+              (uri (git-reference
+                     (url "http://example.org/foo.git")
+                     (commit
+                       "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")))
+              (sha256 (make-bytevector 32))))
+          (revision
+            "{ \"author\": {}, \"parents\": [],\n                      \"date\": \"2014-11-17T22:09:38+01:00\" }"))
+     (with-http-server
+       `((200 ,revision))
+       (parameterize
+         ((%swh-base-url (%local-url)))
+         (check-archival
+           (dummy-package "x" (source origin)))))))
expected-value: ()
actual-value: ()
result: PASS

test-name: archival: rate limit reached
location: /home/dave/aur/guix/src/guix/tests/lint.scm:922
source:
+ (test-assert
+   "archival: rate limit reached"
+   (let* ((origin
+            (origin
+              (method url-fetch)
+              (uri "http://example.org/foo.tgz")
+              (sha256 (make-bytevector 32))))
+          (too-many
+            (build-response
+              #:code
+              429
+              #:reason-phrase
+              "Too many requests"
+              #:headers
+              '((x-ratelimit-remaining . "0")
+                (x-ratelimit-reset . "3000000000"))))
+          (warnings
+            (with-http-server
+              `((,too-many "Rate limit reached."))
+              (parameterize
+                ((%swh-base-url (%local-url)))
+                (append-map
+                  (lambda (name)
+                    (check-archival
+                      (dummy-package name (source origin))))
+                  '("x" "y" "z"))))))
+     (string-contains
+       (single-lint-warning-message warnings)
+       "rate limit reached")))
actual-value: 18
result: PASS

random seed for tests: 1574792364

Some deprecated features have been used.  Set the environment
variable GUILE_WARN_DEPRECATED to "detailed" and rerun the
program to get more information.  Set it to "no" to suppress
this message.

SKIP: tests/pack
================

test-name: self-contained-tarball
location: /home/dave/aur/guix/src/guix/tests/pack.scm:58
source:
+ (test-assert
+   "self-contained-tarball"
+   (let ((guile (package-derivation %store %bootstrap-guile)))
+     (run-with-store
+       %store
+       (mlet* %store-monad
+              ((profile
+                 (profile-derivation
+                   (packages->manifest (list %bootstrap-guile))
+                   #:hooks
+                   '()
+                   #:locales?
+                   #f))
+               (tarball
+                 (self-contained-tarball
+                   "pack"
+                   profile
+                   #:symlinks
+                   '(("/bin/Guile" -> "bin/guile"))
+                   #:compressor
+                   %gzip-compressor
+                   #:archiver
+                   %tar-bootstrap))
+               (check (gexp->derivation
+                        "check-tarball"
+                        (with-imported-modules
+                          '((guix build utils))
+                          (gexp (begin
+                                  (use-modules
+                                    (guix build utils)
+                                    (srfi srfi-1))
+                                  (define store
+                                    (string-append
+                                      "."
+                                      (%store-directory)
+                                      "/"))
+                                  (define (canonical? file)
+                                    (let ((st (lstat file)))
+                                      (or (not (string-prefix? store file))
+                                          (eq? 'symlink (stat:type st))
+                                          (and (= 1 (stat:mtime st))
+                                               (zero? (logand
+                                                        146
+                                                        (stat:mode st)))))))
+                                  (define bin
+                                    (string-append
+                                      "."
+                                      (ungexp profile)
+                                      "/bin"))
+                                  (setenv
+                                    "PATH"
+                                    (string-append
+                                      (ungexp %tar-bootstrap)
+                                      "/bin"))
+                                  (system* "tar" "xvf" (ungexp tarball))
+                                  (mkdir (ungexp output))
+                                  (exit (and (file-exists?
+                                               (string-append bin "/guile"))
+                                             (file-exists? store)
+                                             (every canonical?
+                                                    (find-files
+                                                      "."
+                                                      (const #t)
+                                                      #:directories?
+                                                      #t))
+                                             (string=?
+                                               (string-append
+                                                 (ungexp %bootstrap-guile)
+                                                 "/bin")
+                                               (readlink bin))
+                                             (string=?
+                                               (string-append
+                                                 ".."
+                                                 (ungexp profile)
+                                                 "/bin/guile")
+                                               (readlink "bin/Guile"))))))))))
+              (built-derivations (list check)))
+       #:guile-for-build
+       guile)))
random seed for tests: 1574790764
@ build-started /home/dave/aur/guix/src/guix/t/store/jfll89bqhwkvx8msh7nxhrv8cyrgxay4-module-import-compiled.drv - x86_64-linux /home/dave/aur/guix/src/guix/t/var/log/guix/drvs/jf//ll89bqhwkvx8msh7nxhrv8cyrgxay4-module-import-compiled.drv.bz2 121125
[ 1/14] Loading './gnu/build/install.scm'...
[ 2/14] Loading './guix/build/store-copy.scm'...
[ 3/14] Loading './guix/build/union.scm'...
[ 4/14] Loading './guix/build/utils.scm'...
[ 5/14] Loading './guix/progress.scm'...
[ 6/14] Loading './guix/records.scm'...
[ 7/14] Loading './guix/sets.scm'...
[ 8/14] Compiling './gnu/build/install.scm'...
[ 9/14] Compiling './guix/build/store-copy.scm'...
[10/14] Compiling './guix/build/union.scm'...
[11/14] Compiling './guix/build/utils.scm'...
[12/14] Compiling './guix/progress.scm'...
[13/14] Compiling './guix/records.scm'...
[14/14] Compiling './guix/sets.scm'...
@ build-succeeded /home/dave/aur/guix/src/guix/t/store/jfll89bqhwkvx8msh7nxhrv8cyrgxay4-module-import-compiled.drv -
@ build-started /home/dave/aur/guix/src/guix/t/store/qg09j717v66z0dknvsvxc2hb1p8s9j1b-module-import-compiled.drv - x86_64-linux /home/dave/aur/guix/src/guix/t/var/log/guix/drvs/qg//09j717v66z0dknvsvxc2hb1p8s9j1b-module-import-compiled.drv.bz2 122492
[ 1/10] Loading './guix/build/profiles.scm'...
[ 2/10] Loading './guix/build/union.scm'...
[ 3/10] Loading './guix/build/utils.scm'...
[ 4/10] Loading './guix/records.scm'...
[ 5/10] Loading './guix/search-paths.scm'...
[ 6/10] Compiling './guix/build/profiles.scm'...
[ 7/10] Compiling './guix/build/union.scm'...
[ 8/10] Compiling './guix/build/utils.scm'...
[ 9/10] Compiling './guix/records.scm'...
[10/10] Compiling './guix/search-paths.scm'...
@ build-succeeded /home/dave/aur/guix/src/guix/t/store/qg09j717v66z0dknvsvxc2hb1p8s9j1b-module-import-compiled.drv -
@ build-started /home/dave/aur/guix/src/guix/t/store/zkw3m7v6qlvc3lyc97cvv81spgbnndki-profile.drv - x86_64-linux /home/dave/aur/guix/src/guix/t/var/log/guix/drvs/zk//w3m7v6qlvc3lyc97cvv81spgbnndki-profile.drv.bz2 122623
@ build-succeeded /home/dave/aur/guix/src/guix/t/store/zkw3m7v6qlvc3lyc97cvv81spgbnndki-profile.drv -
@ build-started /home/dave/aur/guix/src/guix/t/store/i61gshqnws0kh66r6g87p658kbqad0na-pack.targz.drv - x86_64-linux /home/dave/aur/guix/src/guix/t/var/log/guix/drvs/i6//1gshqnws0kh66r6g87p658kbqad0na-pack.targz.drv.bz2 122636
/home/dave/aur/guix/src/guix/t/store/lsimzi55iqgxbyfs1diw6ykqlbbqb8b4-bootstrap-binaries-0/bin/tar: unrecognized option '--sort=name'
Try 'tar --help' or 'tar --usage' for more information.
\r^[[Kcopying 3 store items  [#################                                     ]\r^[[Kcopying 3 store items  [###################################                   ]\r^[[Kcopying 3 store items  [######################################################]\r^[[Kcopying 3 store items
tar: Option --mtime: Treating date '@1' as 1969-12-31 16:00:01
tar: Option --mtime: Treating date '@1' as 1969-12-31 16:00:01
./home/dave/aur/guix/src/guix/t/store/
./home/dave/aur/guix/src/guix/t/store/0hypnas4dg6qfk1ngss76s2ws9sppf4g-profile/
./home/dave/aur/guix/src/guix/t/store/0hypnas4dg6qfk1ngss76s2ws9sppf4g-profile/etc/
./home/dave/aur/guix/src/guix/t/store/0hypnas4dg6qfk1ngss76s2ws9sppf4g-profile/etc/profile
./home/dave/aur/guix/src/guix/t/store/0hypnas4dg6qfk1ngss76s2ws9sppf4g-profile/manifest
./home/dave/aur/guix/src/guix/t/store/0hypnas4dg6qfk1ngss76s2ws9sppf4g-profile/lib
./home/dave/aur/guix/src/guix/t/store/0hypnas4dg6qfk1ngss76s2ws9sppf4g-profile/bin
./home/dave/aur/guix/src/guix/t/store/0hypnas4dg6qfk1ngss76s2ws9sppf4g-profile/share
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/system/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/system/repl/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/system/repl/repl.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/system/repl/server.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/system/repl/command.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/system/repl/common.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/system/repl/describe.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/system/repl/debug.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/system/repl/error-handling.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/system/base/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/system/base/target.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/system/base/message.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/system/base/ck.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/system/base/compile.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/system/base/syntax.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/system/base/language.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/system/base/lalr.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/system/base/pmatch.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/system/base/lalr.upstream.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/system/vm/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/system/vm/frame.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/system/vm/instruction.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/system/vm/inspect.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/system/vm/traps.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/system/vm/objcode.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/system/vm/program.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/system/vm/coverage.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/system/vm/vm.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/system/vm/trap-state.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/system/vm/trace.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/system/foreign.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/system/xref.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/scripts/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/scripts/list.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/scripts/snarf-guile-m4-docs.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/scripts/read-scheme-source.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/scripts/doc-snarf.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/scripts/use2dot.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/scripts/api-diff.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/scripts/compile.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/scripts/display-commentary.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/scripts/generate-autoload.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/scripts/summarize-guile-TODO.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/scripts/disassemble.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/scripts/lint.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/scripts/punify.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/scripts/frisk.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/scripts/help.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/scripts/read-text-outline.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/scripts/read-rfc822.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/scripts/snarf-check-and-output-texi.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/scripts/autofrisk.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/scripts/scan-api.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/texinfo/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/texinfo/string-utils.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/texinfo/plain-text.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/texinfo/reflection.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/texinfo/serialize.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/texinfo/docbook.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/texinfo/html.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/texinfo/indexing.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/list.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/r6rs-libraries.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/r4rs.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/eval.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/binary-ports.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/readline.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/channel.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/safe.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/runq.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/rdelim.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/optargs.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/null.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/psyntax-pp.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/deprecated.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/command-line.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/r5rs.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/common-list.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/poe.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/iconv.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/buffered-input.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/match.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/regex.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/rw.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/hcons.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/slib.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/quasisyntax.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/serialize.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/q.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/eval-string.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/curried-definitions.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/calling.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/safe-r5rs.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/receive.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/local-eval.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/ftw.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/session.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/control.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/popen.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/poll.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/expect.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/history.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/weak-vector.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/threads.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/lineio.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/streams.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/match.upstream.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/i18n.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/string-fun.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/boot-9.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/top-repl.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/occam-channel.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/mapping.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/pretty-print.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/debug.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/futures.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/stack-catch.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/save-stack.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/syncase.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/ls.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/posix.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/and-let-star.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/gap-buffer.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/psyntax.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/vlist.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/getopt-long.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/networking.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/format.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/time.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/scm-style-repl.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/documentation.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/elisp/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/elisp/runtime/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/elisp/runtime/value-slot.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/elisp/runtime/subrs.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/elisp/runtime/function-slot.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/elisp/runtime/macros.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/elisp/parser.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/elisp/spec.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/elisp/lexer.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/elisp/runtime.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/elisp/bindings.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/elisp/compile-tree-il.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/assembly/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/assembly/decompile-bytecode.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/assembly/spec.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/assembly/disassemble.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/assembly/compile-bytecode.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/scheme/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/scheme/spec.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/scheme/decompile-tree-il.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/scheme/compile-tree-il.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/brainfuck/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/brainfuck/parse.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/brainfuck/spec.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/brainfuck/compile-scheme.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/brainfuck/compile-tree-il.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/objcode/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/objcode/spec.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/bytecode/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/bytecode/spec.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/glil/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/glil/compile-assembly.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/glil/spec.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/tree-il/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/tree-il/effects.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/tree-il/canonicalize.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/tree-il/cse.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/tree-il/compile-glil.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/tree-il/peval.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/tree-il/spec.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/tree-il/fix-letrec.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/tree-il/optimize.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/tree-il/primitives.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/tree-il/debug.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/tree-il/inline.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/tree-il/analyze.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/ecmascript/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/ecmascript/parse.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/ecmascript/impl.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/ecmascript/spec.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/ecmascript/tokenize.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/ecmascript/array.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/ecmascript/function.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/ecmascript/compile-tree-il.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/ecmascript/base.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/value/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/value/spec.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/tree-il.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/glil.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/assembly.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/web/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/web/server/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/web/server/http.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/web/http.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/web/server.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/web/request.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/web/uri.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/web/response.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/web/client.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/oop/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/oop/goops/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/oop/goops/simple.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/oop/goops/util.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/oop/goops/internal.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/oop/goops/compile.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/oop/goops/composite-slot.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/oop/goops/active-slot.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/oop/goops/dispatch.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/oop/goops/describe.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/oop/goops/accessors.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/oop/goops/stklos.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/oop/goops/save.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/oop/goops.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/rnrs/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/rnrs/records/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/rnrs/records/procedural.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/rnrs/records/inspection.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/rnrs/records/syntactic.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/rnrs/arithmetic/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/rnrs/arithmetic/flonums.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/rnrs/arithmetic/fixnums.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/rnrs/arithmetic/bitwise.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/rnrs/io/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/rnrs/io/simple.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/rnrs/io/ports.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/rnrs/bytevectors.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/rnrs/files.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/rnrs/eval.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/rnrs/exceptions.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/rnrs/programs.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/rnrs/mutable-pairs.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/rnrs/r5rs.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/rnrs/conditions.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/rnrs/mutable-strings.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/rnrs/lists.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/rnrs/sorting.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/rnrs/syntax-case.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/rnrs/control.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/rnrs/hashtables.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/rnrs/enums.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/rnrs/unicode.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/rnrs/base.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/sxml/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/sxml/upstream/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/sxml/upstream/SXML-tree-trans.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/sxml/upstream/input-parse.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/sxml/upstream/SXPath-old.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/sxml/upstream/assert.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/sxml/upstream/SSAX.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/sxml/ssax/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/sxml/ssax/input-parse.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/sxml/simple.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/sxml/match.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/sxml/transform.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/sxml/xpath.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/sxml/apply-templates.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/sxml/ssax.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/sxml/fold.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/sxml/sxml-match.ss
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/srfi/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-42/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-42/ec.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-4/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-4/gnu.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-67/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-67/compare.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-9/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-9/gnu.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-98.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-38.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-1.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-39.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-42.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-10.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-9.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-45.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-13.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-11.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-4.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-8.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-26.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-27.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-2.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-17.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-69.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-16.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-37.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-18.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-60.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-34.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-35.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-41.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-31.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-19.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-67.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-6.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-14.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-88.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/texinfo.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/guile-procedures.txt
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/statprof.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/rnrs.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/system/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/system/repl/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/system/repl/common.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/system/repl/server.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/system/repl/debug.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/system/repl/repl.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/system/repl/error-handling.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/system/repl/command.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/system/base/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/system/base/compile.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/system/base/target.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/system/base/language.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/system/base/syntax.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/system/base/message.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/system/base/pmatch.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/system/base/lalr.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/system/base/ck.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/system/vm/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/system/vm/trace.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/system/vm/inspect.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/system/vm/trap-state.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/system/vm/vm.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/system/vm/coverage.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/system/vm/instruction.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/system/vm/program.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/system/vm/objcode.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/system/vm/frame.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/system/vm/traps.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/system/xref.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/system/foreign.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/scripts/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/scripts/list.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/scripts/help.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/scripts/compile.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/scripts/doc-snarf.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/scripts/read-rfc822.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/scripts/snarf-check-and-output-texi.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/scripts/generate-autoload.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/scripts/disassemble.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/scripts/display-commentary.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/scripts/lint.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/scripts/summarize-guile-TODO.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/scripts/frisk.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/scripts/read-scheme-source.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/scripts/snarf-guile-m4-docs.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/scripts/punify.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/scripts/read-text-outline.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/scripts/api-diff.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/scripts/autofrisk.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/scripts/use2dot.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/scripts/scan-api.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/texinfo/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/texinfo/string-utils.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/texinfo/plain-text.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/texinfo/indexing.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/texinfo/reflection.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/texinfo/html.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/texinfo/serialize.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/texinfo/docbook.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/iconv.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/documentation.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/list.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/mapping.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/poe.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/weak-vector.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/match.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/eval-string.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/curried-definitions.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/popen.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/hcons.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/deprecated.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/i18n.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/lineio.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/ls.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/getopt-long.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/local-eval.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/save-stack.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/rdelim.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/runq.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/ftw.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/receive.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/eval.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/occam-channel.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/null.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/futures.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/calling.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/r5rs.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/string-fun.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/q.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/channel.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/top-repl.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/session.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/scm-style-repl.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/slib.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/readline.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/streams.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/safe-r5rs.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/threads.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/vlist.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/history.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/optargs.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/format.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/psyntax-pp.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/posix.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/networking.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/command-line.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/rw.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/debug.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/serialize.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/time.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/pretty-print.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/gap-buffer.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/expect.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/and-let-star.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/boot-9.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/buffered-input.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/safe.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/regex.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/binary-ports.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/control.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/stack-catch.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/common-list.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/syncase.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/poll.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/r4rs.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/elisp/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/elisp/runtime/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/elisp/runtime/macros.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/elisp/runtime/subrs.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/elisp/runtime/function-slot.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/elisp/runtime/value-slot.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/elisp/lexer.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/elisp/bindings.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/elisp/runtime.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/elisp/parser.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/elisp/spec.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/elisp/compile-tree-il.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/assembly/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/assembly/disassemble.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/assembly/compile-bytecode.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/assembly/spec.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/assembly/decompile-bytecode.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/scheme/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/scheme/decompile-tree-il.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/scheme/spec.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/scheme/compile-tree-il.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/brainfuck/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/brainfuck/compile-scheme.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/brainfuck/parse.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/brainfuck/spec.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/brainfuck/compile-tree-il.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/objcode/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/objcode/spec.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/bytecode/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/bytecode/spec.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/glil/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/glil/spec.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/glil/compile-assembly.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/tree-il/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/tree-il/primitives.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/tree-il/effects.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/tree-il/fix-letrec.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/tree-il/cse.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/tree-il/peval.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/tree-il/analyze.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/tree-il/inline.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/tree-il/canonicalize.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/tree-il/spec.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/tree-il/optimize.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/tree-il/compile-glil.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/tree-il/debug.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/ecmascript/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/ecmascript/base.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/ecmascript/function.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/ecmascript/impl.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/ecmascript/array.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/ecmascript/tokenize.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/ecmascript/parse.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/ecmascript/spec.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/ecmascript/compile-tree-il.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/value/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/value/spec.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/glil.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/tree-il.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/assembly.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/web/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/web/server/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/web/server/http.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/web/response.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/web/uri.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/web/server.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/web/request.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/web/client.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/web/http.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/oop/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/oop/goops/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/oop/goops/accessors.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/oop/goops/compile.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/oop/goops/describe.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/oop/goops/simple.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/oop/goops/active-slot.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/oop/goops/util.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/oop/goops/dispatch.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/oop/goops/save.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/oop/goops/stklos.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/oop/goops/internal.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/oop/goops/composite-slot.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/oop/goops.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/rnrs/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/rnrs/records/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/rnrs/records/inspection.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/rnrs/records/syntactic.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/rnrs/records/procedural.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/rnrs/arithmetic/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/rnrs/arithmetic/flonums.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/rnrs/arithmetic/bitwise.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/rnrs/arithmetic/fixnums.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/rnrs/io/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/rnrs/io/simple.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/rnrs/io/ports.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/rnrs/base.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/rnrs/sorting.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/rnrs/bytevectors.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/rnrs/conditions.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/rnrs/eval.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/rnrs/hashtables.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/rnrs/r5rs.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/rnrs/unicode.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/rnrs/mutable-strings.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/rnrs/lists.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/rnrs/syntax-case.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/rnrs/files.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/rnrs/exceptions.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/rnrs/programs.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/rnrs/enums.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/rnrs/control.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/rnrs/mutable-pairs.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/sxml/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/sxml/ssax/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/sxml/ssax/input-parse.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/sxml/fold.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/sxml/match.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/sxml/xpath.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/sxml/apply-templates.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/sxml/simple.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/sxml/ssax.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/sxml/transform.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/srfi-4/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/srfi-4/gnu.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/srfi-9/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/srfi-9/gnu.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/srfi-98.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/srfi-35.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/srfi-10.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/srfi-88.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/srfi-18.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/srfi-31.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/srfi-16.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/srfi-42.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/srfi-45.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/srfi-8.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/srfi-1.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/srfi-39.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/srfi-37.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/srfi-6.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/srfi-69.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/srfi-11.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/srfi-60.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/srfi-2.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/srfi-9.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/srfi-67.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/srfi-19.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/srfi-41.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/srfi-13.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/srfi-34.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/srfi-38.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/srfi-27.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/srfi-17.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/srfi-26.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/srfi-14.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/srfi-4.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/statprof.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/texinfo.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/rnrs.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/bin/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/bin/.guile-real
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/bin/guile
./home/dave/aur/guix/src/guix/t/store/x1989a4a0nfankyc760ljk8jlz5q5qw1-bash
./bin/
./bin/Guile
./bin/Guile
tar: Missing links to './bin/Guile'.
@ build-succeeded /home/dave/aur/guix/src/guix/t/store/i61gshqnws0kh66r6g87p658kbqad0na-pack.targz.drv -
@ build-started /home/dave/aur/guix/src/guix/t/store/1nhv4h3rzvqr0zq6257vnh08y64n1kzv-check-tarball.drv - x86_64-linux /home/dave/aur/guix/src/guix/t/var/log/guix/drvs/1n//hv4h3rzvqr0zq6257vnh08y64n1kzv-check-tarball.drv.bz2 122653
./home/dave/aur/guix/src/guix/t/store/
./home/dave/aur/guix/src/guix/t/store/0hypnas4dg6qfk1ngss76s2ws9sppf4g-profile/
./home/dave/aur/guix/src/guix/t/store/0hypnas4dg6qfk1ngss76s2ws9sppf4g-profile/etc/
./home/dave/aur/guix/src/guix/t/store/0hypnas4dg6qfk1ngss76s2ws9sppf4g-profile/etc/profile
./home/dave/aur/guix/src/guix/t/store/0hypnas4dg6qfk1ngss76s2ws9sppf4g-profile/manifest
./home/dave/aur/guix/src/guix/t/store/0hypnas4dg6qfk1ngss76s2ws9sppf4g-profile/lib
./home/dave/aur/guix/src/guix/t/store/0hypnas4dg6qfk1ngss76s2ws9sppf4g-profile/bin
./home/dave/aur/guix/src/guix/t/store/0hypnas4dg6qfk1ngss76s2ws9sppf4g-profile/share
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/system/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/system/repl/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/system/repl/repl.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/system/repl/server.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/system/repl/command.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/system/repl/common.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/system/repl/describe.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/system/repl/debug.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/system/repl/error-handling.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/system/base/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/system/base/target.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/system/base/message.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/system/base/ck.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/system/base/compile.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/system/base/syntax.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/system/base/language.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/system/base/lalr.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/system/base/pmatch.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/system/base/lalr.upstream.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/system/vm/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/system/vm/frame.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/system/vm/instruction.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/system/vm/inspect.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/system/vm/traps.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/system/vm/objcode.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/system/vm/program.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/system/vm/coverage.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/system/vm/vm.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/system/vm/trap-state.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/system/vm/trace.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/system/foreign.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/system/xref.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/scripts/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/scripts/list.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/scripts/snarf-guile-m4-docs.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/scripts/read-scheme-source.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/scripts/doc-snarf.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/scripts/use2dot.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/scripts/api-diff.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/scripts/compile.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/scripts/display-commentary.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/scripts/generate-autoload.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/scripts/summarize-guile-TODO.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/scripts/disassemble.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/scripts/lint.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/scripts/punify.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/scripts/frisk.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/scripts/help.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/scripts/read-text-outline.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/scripts/read-rfc822.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/scripts/snarf-check-and-output-texi.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/scripts/autofrisk.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/scripts/scan-api.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/texinfo/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/texinfo/string-utils.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/texinfo/plain-text.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/texinfo/reflection.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/texinfo/serialize.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/texinfo/docbook.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/texinfo/html.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/texinfo/indexing.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/list.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/r6rs-libraries.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/r4rs.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/eval.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/binary-ports.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/readline.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/channel.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/safe.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/runq.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/rdelim.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/optargs.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/null.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/psyntax-pp.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/deprecated.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/command-line.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/r5rs.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/common-list.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/poe.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/iconv.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/buffered-input.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/match.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/regex.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/rw.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/hcons.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/slib.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/quasisyntax.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/serialize.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/q.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/eval-string.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/curried-definitions.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/calling.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/safe-r5rs.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/receive.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/local-eval.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/ftw.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/session.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/control.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/popen.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/poll.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/expect.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/history.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/weak-vector.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/threads.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/lineio.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/streams.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/match.upstream.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/i18n.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/string-fun.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/boot-9.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/top-repl.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/occam-channel.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/mapping.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/pretty-print.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/debug.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/futures.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/stack-catch.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/save-stack.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/syncase.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/ls.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/posix.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/and-let-star.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/gap-buffer.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/psyntax.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/vlist.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/getopt-long.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/networking.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/format.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/time.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/scm-style-repl.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/ice-9/documentation.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/elisp/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/elisp/runtime/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/elisp/runtime/value-slot.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/elisp/runtime/subrs.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/elisp/runtime/function-slot.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/elisp/runtime/macros.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/elisp/parser.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/elisp/spec.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/elisp/lexer.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/elisp/runtime.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/elisp/bindings.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/elisp/compile-tree-il.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/assembly/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/assembly/decompile-bytecode.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/assembly/spec.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/assembly/disassemble.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/assembly/compile-bytecode.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/scheme/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/scheme/spec.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/scheme/decompile-tree-il.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/scheme/compile-tree-il.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/brainfuck/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/brainfuck/parse.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/brainfuck/spec.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/brainfuck/compile-scheme.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/brainfuck/compile-tree-il.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/objcode/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/objcode/spec.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/bytecode/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/bytecode/spec.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/glil/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/glil/compile-assembly.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/glil/spec.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/tree-il/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/tree-il/effects.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/tree-il/canonicalize.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/tree-il/cse.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/tree-il/compile-glil.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/tree-il/peval.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/tree-il/spec.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/tree-il/fix-letrec.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/tree-il/optimize.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/tree-il/primitives.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/tree-il/debug.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/tree-il/inline.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/tree-il/analyze.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/ecmascript/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/ecmascript/parse.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/ecmascript/impl.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/ecmascript/spec.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/ecmascript/tokenize.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/ecmascript/array.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/ecmascript/function.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/ecmascript/compile-tree-il.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/ecmascript/base.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/value/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/value/spec.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/tree-il.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/glil.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/language/assembly.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/web/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/web/server/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/web/server/http.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/web/http.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/web/server.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/web/request.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/web/uri.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/web/response.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/web/client.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/oop/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/oop/goops/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/oop/goops/simple.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/oop/goops/util.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/oop/goops/internal.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/oop/goops/compile.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/oop/goops/composite-slot.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/oop/goops/active-slot.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/oop/goops/dispatch.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/oop/goops/describe.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/oop/goops/accessors.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/oop/goops/stklos.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/oop/goops/save.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/oop/goops.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/rnrs/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/rnrs/records/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/rnrs/records/procedural.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/rnrs/records/inspection.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/rnrs/records/syntactic.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/rnrs/arithmetic/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/rnrs/arithmetic/flonums.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/rnrs/arithmetic/fixnums.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/rnrs/arithmetic/bitwise.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/rnrs/io/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/rnrs/io/simple.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/rnrs/io/ports.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/rnrs/bytevectors.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/rnrs/files.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/rnrs/eval.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/rnrs/exceptions.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/rnrs/programs.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/rnrs/mutable-pairs.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/rnrs/r5rs.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/rnrs/conditions.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/rnrs/mutable-strings.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/rnrs/lists.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/rnrs/sorting.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/rnrs/syntax-case.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/rnrs/control.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/rnrs/hashtables.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/rnrs/enums.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/rnrs/unicode.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/rnrs/base.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/sxml/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/sxml/upstream/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/sxml/upstream/SXML-tree-trans.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/sxml/upstream/input-parse.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/sxml/upstream/SXPath-old.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/sxml/upstream/assert.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/sxml/upstream/SSAX.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/sxml/ssax/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/sxml/ssax/input-parse.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/sxml/simple.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/sxml/match.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/sxml/transform.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/sxml/xpath.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/sxml/apply-templates.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/sxml/ssax.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/sxml/fold.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/sxml/sxml-match.ss
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/srfi/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-42/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-42/ec.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-4/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-4/gnu.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-67/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-67/compare.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-9/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-9/gnu.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-98.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-38.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-1.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-39.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-42.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-10.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-9.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-45.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-13.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-11.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-4.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-8.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-26.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-27.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-2.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-17.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-69.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-16.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-37.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-18.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-60.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-34.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-35.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-41.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-31.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-19.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-67.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-6.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-14.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/srfi/srfi-88.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/texinfo.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/guile-procedures.txt
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/statprof.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/share/guile/2.0/rnrs.scm
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/system/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/system/repl/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/system/repl/common.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/system/repl/server.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/system/repl/debug.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/system/repl/repl.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/system/repl/error-handling.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/system/repl/command.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/system/base/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/system/base/compile.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/system/base/target.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/system/base/language.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/system/base/syntax.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/system/base/message.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/system/base/pmatch.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/system/base/lalr.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/system/base/ck.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/system/vm/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/system/vm/trace.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/system/vm/inspect.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/system/vm/trap-state.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/system/vm/vm.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/system/vm/coverage.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/system/vm/instruction.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/system/vm/program.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/system/vm/objcode.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/system/vm/frame.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/system/vm/traps.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/system/xref.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/system/foreign.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/scripts/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/scripts/list.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/scripts/help.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/scripts/compile.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/scripts/doc-snarf.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/scripts/read-rfc822.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/scripts/snarf-check-and-output-texi.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/scripts/generate-autoload.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/scripts/disassemble.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/scripts/display-commentary.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/scripts/lint.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/scripts/summarize-guile-TODO.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/scripts/frisk.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/scripts/read-scheme-source.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/scripts/snarf-guile-m4-docs.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/scripts/punify.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/scripts/read-text-outline.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/scripts/api-diff.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/scripts/autofrisk.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/scripts/use2dot.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/scripts/scan-api.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/texinfo/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/texinfo/string-utils.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/texinfo/plain-text.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/texinfo/indexing.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/texinfo/reflection.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/texinfo/html.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/texinfo/serialize.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/texinfo/docbook.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/iconv.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/documentation.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/list.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/mapping.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/poe.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/weak-vector.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/match.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/eval-string.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/curried-definitions.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/popen.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/hcons.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/deprecated.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/i18n.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/lineio.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/ls.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/getopt-long.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/local-eval.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/save-stack.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/rdelim.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/runq.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/ftw.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/receive.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/eval.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/occam-channel.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/null.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/futures.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/calling.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/r5rs.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/string-fun.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/q.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/channel.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/top-repl.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/session.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/scm-style-repl.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/slib.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/readline.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/streams.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/safe-r5rs.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/threads.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/vlist.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/history.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/optargs.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/format.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/psyntax-pp.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/posix.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/networking.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/command-line.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/rw.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/debug.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/serialize.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/time.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/pretty-print.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/gap-buffer.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/expect.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/and-let-star.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/boot-9.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/buffered-input.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/safe.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/regex.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/binary-ports.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/control.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/stack-catch.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/common-list.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/syncase.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/poll.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/ice-9/r4rs.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/elisp/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/elisp/runtime/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/elisp/runtime/macros.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/elisp/runtime/subrs.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/elisp/runtime/function-slot.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/elisp/runtime/value-slot.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/elisp/lexer.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/elisp/bindings.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/elisp/runtime.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/elisp/parser.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/elisp/spec.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/elisp/compile-tree-il.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/assembly/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/assembly/disassemble.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/assembly/compile-bytecode.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/assembly/spec.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/assembly/decompile-bytecode.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/scheme/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/scheme/decompile-tree-il.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/scheme/spec.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/scheme/compile-tree-il.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/brainfuck/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/brainfuck/compile-scheme.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/brainfuck/parse.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/brainfuck/spec.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/brainfuck/compile-tree-il.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/objcode/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/objcode/spec.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/bytecode/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/bytecode/spec.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/glil/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/glil/spec.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/glil/compile-assembly.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/tree-il/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/tree-il/primitives.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/tree-il/effects.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/tree-il/fix-letrec.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/tree-il/cse.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/tree-il/peval.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/tree-il/analyze.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/tree-il/inline.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/tree-il/canonicalize.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/tree-il/spec.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/tree-il/optimize.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/tree-il/compile-glil.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/tree-il/debug.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/ecmascript/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/ecmascript/base.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/ecmascript/function.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/ecmascript/impl.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/ecmascript/array.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/ecmascript/tokenize.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/ecmascript/parse.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/ecmascript/spec.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/ecmascript/compile-tree-il.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/value/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/value/spec.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/glil.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/tree-il.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/language/assembly.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/web/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/web/server/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/web/server/http.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/web/response.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/web/uri.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/web/server.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/web/request.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/web/client.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/web/http.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/oop/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/oop/goops/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/oop/goops/accessors.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/oop/goops/compile.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/oop/goops/describe.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/oop/goops/simple.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/oop/goops/active-slot.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/oop/goops/util.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/oop/goops/dispatch.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/oop/goops/save.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/oop/goops/stklos.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/oop/goops/internal.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/oop/goops/composite-slot.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/oop/goops.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/rnrs/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/rnrs/records/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/rnrs/records/inspection.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/rnrs/records/syntactic.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/rnrs/records/procedural.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/rnrs/arithmetic/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/rnrs/arithmetic/flonums.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/rnrs/arithmetic/bitwise.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/rnrs/arithmetic/fixnums.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/rnrs/io/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/rnrs/io/simple.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/rnrs/io/ports.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/rnrs/base.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/rnrs/sorting.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/rnrs/bytevectors.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/rnrs/conditions.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/rnrs/eval.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/rnrs/hashtables.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/rnrs/r5rs.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/rnrs/unicode.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/rnrs/mutable-strings.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/rnrs/lists.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/rnrs/syntax-case.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/rnrs/files.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/rnrs/exceptions.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/rnrs/programs.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/rnrs/enums.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/rnrs/control.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/rnrs/mutable-pairs.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/sxml/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/sxml/ssax/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/sxml/ssax/input-parse.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/sxml/fold.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/sxml/match.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/sxml/xpath.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/sxml/apply-templates.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/sxml/simple.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/sxml/ssax.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/sxml/transform.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/srfi-4/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/srfi-4/gnu.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/srfi-9/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/srfi-9/gnu.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/srfi-98.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/srfi-35.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/srfi-10.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/srfi-88.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/srfi-18.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/srfi-31.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/srfi-16.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/srfi-42.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/srfi-45.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/srfi-8.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/srfi-1.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/srfi-39.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/srfi-37.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/srfi-6.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/srfi-69.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/srfi-11.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/srfi-60.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/srfi-2.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/srfi-9.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/srfi-67.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/srfi-19.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/srfi-41.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/srfi-13.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/srfi-34.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/srfi-38.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/srfi-27.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/srfi-17.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/srfi-26.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/srfi-14.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/srfi/srfi-4.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/statprof.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/texinfo.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/lib/guile/2.0/ccache/rnrs.go
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/bin/
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/bin/.guile-real
./home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0/bin/guile
./home/dave/aur/guix/src/guix/t/store/x1989a4a0nfankyc760ljk8jlz5q5qw1-bash
./bin/
./bin/Guile
./bin/Guile
@ build-succeeded /home/dave/aur/guix/src/guix/t/store/1nhv4h3rzvqr0zq6257vnh08y64n1kzv-check-tarball.drv -
actual-value: #t
result: PASS

test-name: self-contained-tarball + localstatedir
location: /home/dave/aur/guix/src/guix/tests/pack.scm:117
source:
+ (test-assert
+   "self-contained-tarball + localstatedir"
+   (let ((guile (package-derivation store %bootstrap-guile)))
+     (run-with-store
+       store
+       (mlet* %store-monad
+              ((guile (set-guile-for-build (default-guile)))
+               (profile
+                 (profile-derivation
+                   (packages->manifest (list %bootstrap-guile))
+                   #:hooks
+                   '()
+                   #:locales?
+                   #f))
+               (tarball
+                 (self-contained-tarball
+                   "tar-pack"
+                   profile
+                   #:localstatedir?
+                   #t))
+               (check (gexp->derivation
+                        "check-tarball"
+                        (gexp (let ((bin (string-append
+                                           "."
+                                           (ungexp profile)
+                                           "/bin")))
+                                (setenv
+                                  "PATH"
+                                  (string-append
+                                    (ungexp %tar-bootstrap)
+                                    "/bin"))
+                                (system* "tar" "xvf" (ungexp tarball))
+                                (mkdir (ungexp output))
+                                (exit (and (file-exists?
+                                             "var/guix/db/db.sqlite")
+                                           (string=?
+                                             (string-append
+                                               (ungexp %bootstrap-guile)
+                                               "/bin")
+                                             (readlink bin)))))))))
+              (built-derivations (list check)))
+       #:guile-for-build
+       guile)))
result: SKIP

test-name: docker-image + localstatedir
location: /home/dave/aur/guix/src/guix/tests/pack.scm:140
source:
+ (test-assert
+   "docker-image + localstatedir"
+   (let ((guile (package-derivation store %bootstrap-guile)))
+     (run-with-store
+       store
+       (mlet* %store-monad
+              ((guile (set-guile-for-build (default-guile)))
+               (profile
+                 (profile-derivation
+                   (packages->manifest (list %bootstrap-guile))
+                   #:hooks
+                   '()
+                   #:locales?
+                   #f))
+               (tarball
+                 (docker-image
+                   "docker-pack"
+                   profile
+                   #:symlinks
+                   '(("/bin/Guile" -> "bin/guile"))
+                   #:localstatedir?
+                   #t))
+               (check (gexp->derivation
+                        "check-tarball"
+                        (with-imported-modules
+                          '((guix build utils))
+                          (gexp (begin
+                                  (use-modules
+                                    (guix build utils)
+                                    (ice-9 match))
+                                  (define bin
+                                    (string-append
+                                      "."
+                                      (ungexp profile)
+                                      "/bin"))
+                                  (setenv
+                                    "PATH"
+                                    (string-append
+                                      (ungexp %tar-bootstrap)
+                                      "/bin"))
+                                  (mkdir "base")
+                                  (with-directory-excursion
+                                    "base"
+                                    (invoke "tar" "xvf" (ungexp tarball)))
+                                  (match (find-files "base" "layer.tar")
+                                         ((layer) (invoke "tar" "xvf" layer)))
+                                  (when (and (file-exists?
+                                               (string-append bin "/guile"))
+                                             (file-exists?
+                                               "var/guix/db/db.sqlite")
+                                             (file-is-directory? "tmp")
+                                             (string=?
+                                               (string-append
+                                                 (ungexp %bootstrap-guile)
+                                                 "/bin")
+                                               (pk 'binlink (readlink bin)))
+                                             (string=?
+                                               (string-append
+                                                 (ungexp profile)
+                                                 "/bin/guile")
+                                               (pk 'guilelink
+                                                   (readlink "bin/Guile"))))
+                                        (mkdir (ungexp output)))))))))
+              (built-derivations (list check)))
+       #:guile-for-build
+       guile)))
result: SKIP

test-name: squashfs-image + localstatedir
location: /home/dave/aur/guix/src/guix/tests/pack.scm:181
source:
+ (test-assert
+   "squashfs-image + localstatedir"
+   (let ((guile (package-derivation store %bootstrap-guile)))
+     (run-with-store
+       store
+       (mlet* %store-monad
+              ((guile (set-guile-for-build (default-guile)))
+               (profile
+                 (profile-derivation
+                   (packages->manifest (list %bootstrap-guile))
+                   #:hooks
+                   '()
+                   #:locales?
+                   #f))
+               (image (squashfs-image
+                        "squashfs-pack"
+                        profile
+                        #:symlinks
+                        '(("/bin" -> "bin"))
+                        #:localstatedir?
+                        #t))
+               (check (gexp->derivation
+                        "check-tarball"
+                        (with-imported-modules
+                          '((guix build utils))
+                          (gexp (begin
+                                  (use-modules
+                                    (guix build utils)
+                                    (ice-9 match))
+                                  (define bin
+                                    (string-append
+                                      "."
+                                      (ungexp profile)
+                                      "/bin"))
+                                  (setenv
+                                    "PATH"
+                                    (string-append
+                                      (ungexp squashfs-tools-next)
+                                      "/bin"))
+                                  (invoke "unsquashfs" (ungexp image))
+                                  (with-directory-excursion
+                                    "squashfs-root"
+                                    (when (and (file-exists?
+                                                 (string-append bin "/guile"))
+                                               (file-exists?
+                                                 "var/guix/db/db.sqlite")
+                                               (string=?
+                                                 (string-append
+                                                   (ungexp %bootstrap-guile)
+                                                   "/bin")
+                                                 (pk 'binlink (readlink bin)))
+                                               (string=?
+                                                 (string-drop
+                                                   (string-append
+                                                     (ungexp profile)
+                                                     "/bin")
+                                                   1)
+                                                 (pk 'guilelink
+                                                     (readlink "bin"))))
+                                          (mkdir (ungexp output))))))))))
+              (built-derivations (list check)))
+       #:guile-for-build
+       guile)))
result: SKIP


SKIP: tests/pypi
================

test-name: guix-package->pypi-name, old URL style
location: /home/dave/aur/guix/src/guix/tests/pypi.scm:122
source:
+ (test-equal
+   "guix-package->pypi-name, old URL style"
+   "psutil"
+   (guix-package->pypi-name
+     (dummy-package
+       "foo"
+       (source
+         (dummy-origin
+           (uri "https://pypi.org/packages/source/p/psutil/psutil-4.3.0.tar.gz"))))))
expected-value: "psutil"
actual-value: "psutil"
result: PASS

test-name: guix-package->pypi-name, new URL style
location: /home/dave/aur/guix/src/guix/tests/pypi.scm:130
source:
+ (test-equal
+   "guix-package->pypi-name, new URL style"
+   "certbot"
+   (guix-package->pypi-name
+     (dummy-package
+       "foo"
+       (source
+         (dummy-origin
+           (uri "https://pypi.org/packages/a2/3b/4756e6a0ceb14e084042a2a65c615d68d25621c6fd446d0fc10d14c4ce7d/certbot-0.8.1.tar.gz"))))))
expected-value: "certbot"
actual-value: "certbot"
result: PASS

test-name: guix-package->pypi-name, several URLs
location: /home/dave/aur/guix/src/guix/tests/pypi.scm:138
source:
+ (test-equal
+   "guix-package->pypi-name, several URLs"
+   "cram"
+   (guix-package->pypi-name
+     (dummy-package
+       "foo"
+       (source
+         (dummy-origin
+           (uri (list "https://bitheap.org/cram/cram-0.7.tar.gz"
+                      (pypi-uri "cram" "0.7"))))))))
expected-value: "cram"
actual-value: "cram"
result: PASS

test-name: specification->requirement-name
location: /home/dave/aur/guix/src/guix/tests/pypi.scm:147
source:
+ (test-equal
+   "specification->requirement-name"
+   '("Fizzy"
+     "PickyThing"
+     "SomethingWithMarker"
+     "requests"
+     "pip")
+   (map specification->requirement-name
+        test-specifications))
expected-value: ("Fizzy" "PickyThing" "SomethingWithMarker" "requests" "pip")
actual-value: ("Fizzy" "PickyThing" "SomethingWithMarker" "requests" "pip")
result: PASS

test-name: parse-requires.txt
location: /home/dave/aur/guix/src/guix/tests/pypi.scm:151
source:
+ (test-equal
+   "parse-requires.txt"
+   (list '("foo" "bar") '("pytest"))
+   (mock ((ice-9 ports)
+          call-with-input-file
+          call-with-input-string)
+         (parse-requires.txt test-requires.txt)))
expected-value: (("foo" "bar") ("pytest"))
actual-value: (("foo" "bar") ("pytest"))
result: PASS

test-name: parse-requires.txt - Beaker
location: /home/dave/aur/guix/src/guix/tests/pypi.scm:157
source:
+ (test-equal
+   "parse-requires.txt - Beaker"
+   (list '() '("Mock" "coverage"))
+   (mock ((ice-9 ports)
+          call-with-input-file
+          call-with-input-string)
+         (parse-requires.txt test-requires.txt-beaker)))
expected-value: (() ("Mock" "coverage"))
actual-value: (() ("Mock" "coverage"))
result: PASS

test-name: parse-wheel-metadata, with extras
location: /home/dave/aur/guix/src/guix/tests/pypi.scm:163
source:
+ (test-equal
+   "parse-wheel-metadata, with extras"
+   (list '("wrapt" "bar") '("tox" "bumpversion"))
+   (mock ((ice-9 ports)
+          call-with-input-file
+          call-with-input-string)
+         (parse-wheel-metadata test-metadata-with-extras)))
expected-value: (("wrapt" "bar") ("tox" "bumpversion"))
actual-value: (("wrapt" "bar") ("tox" "bumpversion"))
result: PASS

test-name: parse-wheel-metadata, with extras - Jedi
location: /home/dave/aur/guix/src/guix/tests/pypi.scm:169
source:
+ (test-equal
+   "parse-wheel-metadata, with extras - Jedi"
+   (list '("parso") '("pytest"))
+   (mock ((ice-9 ports)
+          call-with-input-file
+          call-with-input-string)
+         (parse-wheel-metadata
+           test-metadata-with-extras-jedi)))
expected-value: (("parso") ("pytest"))
actual-value: (("parso") ("pytest"))
result: PASS

test-name: pypi->guix-package, no wheel
location: /home/dave/aur/guix/src/guix/tests/pypi.scm:175
source:
+ (test-assert
+   "pypi->guix-package, no wheel"
+   (mock ((guix import utils)
+          url-fetch
+          (lambda (url file-name)
+            (match url
+                   ("https://example.com/foo-1.0.0.tar.gz"
+                    (begin
+                      (mkdir-p "foo-1.0.0/src/bizarre.egg-info")
+                      (with-output-to-file
+                        "foo-1.0.0/src/bizarre.egg-info/requires.txt"
+                        (lambda () (display test-requires.txt)))
+                      (parameterize
+                        ((current-output-port (%make-void-port "rw+")))
+                        (system* "tar" "czvf" file-name "foo-1.0.0/"))
+                      (delete-file-recursively "foo-1.0.0")
+                      (set! test-source-hash
+                        (call-with-input-file file-name port-sha256))))
+                   ("https://example.com/foo-1.0.0-py2.py3-none-any.whl"
+                    #f)
+                   (_ (error "Unexpected URL: " url)))))
+         (mock ((guix http-client)
+                http-fetch
+                (lambda (url . rest)
+                  (match url
+                         ("https://pypi.org/pypi/foo/json"
+                          (values
+                            (open-input-string test-json)
+                            (string-length test-json)))
+                         ("https://example.com/foo-1.0.0-py2.py3-none-any.whl"
+                          #f)
+                         (_ (error "Unexpected URL: " url)))))
+               (match (pypi->guix-package "foo")
+                      (('package
+                        ('name "python-foo")
+                        ('version "1.0.0")
+                        ('source
+                         ('origin
+                          ('method 'url-fetch)
+                          ('uri ('pypi-uri "foo" 'version))
+                          ('sha256 ('base32 (? string? hash)))))
+                        ('build-system 'python-build-system)
+                        ('propagated-inputs
+                         ('quasiquote
+                          (("python-bar" ('unquote 'python-bar))
+                           ("python-foo" ('unquote 'python-foo)))))
+                        ('native-inputs
+                         ('quasiquote
+                          (("python-pytest" ('unquote 'python-pytest)))))
+                        ('home-page "http://example.com")
+                        ('synopsis "summary")
+                        ('description "summary")
+                        ('license 'license:lgpl2.0))
+                       (string=?
+                         (bytevector->nix-base32-string test-source-hash)
+                         hash))
+                      (x (pk 'fail x #f))))))
actual-value: #t
result: PASS

test-name: pypi->guix-package, wheels
location: /home/dave/aur/guix/src/guix/tests/pypi.scm:231
source:
+ (test-assert
+   "pypi->guix-package, wheels"
+   (mock ((guix import utils)
+          url-fetch
+          (lambda (url file-name)
+            (match url
+                   ("https://example.com/foo-1.0.0.tar.gz"
+                    (begin
+                      (mkdir-p "foo-1.0.0/foo.egg-info/")
+                      (with-output-to-file
+                        "foo-1.0.0/foo.egg-info/requires.txt"
+                        (lambda ()
+                          (display
+                            "wrong data to make sure we're testing wheels ")))
+                      (parameterize
+                        ((current-output-port (%make-void-port "rw+")))
+                        (system* "tar" "czvf" file-name "foo-1.0.0/"))
+                      (delete-file-recursively "foo-1.0.0")
+                      (set! test-source-hash
+                        (call-with-input-file file-name port-sha256))))
+                   ("https://example.com/foo-1.0.0-py2.py3-none-any.whl"
+                    (begin
+                      (mkdir "foo-1.0.0.dist-info")
+                      (with-output-to-file
+                        "foo-1.0.0.dist-info/METADATA"
+                        (lambda () (display test-metadata)))
+                      (let ((zip-file (string-append file-name ".zip")))
+                        (system*
+                          "zip"
+                          "-q"
+                          zip-file
+                          "foo-1.0.0.dist-info/METADATA")
+                        (rename-file zip-file file-name))
+                      (delete-file-recursively "foo-1.0.0.dist-info")))
+                   (_ (error "Unexpected URL: " url)))))
+         (mock ((guix http-client)
+                http-fetch
+                (lambda (url . rest)
+                  (match url
+                         ("https://pypi.org/pypi/foo/json"
+                          (values
+                            (open-input-string test-json)
+                            (string-length test-json)))
+                         ("https://example.com/foo-1.0.0-py2.py3-none-any.whl"
+                          #f)
+                         (_ (error "Unexpected URL: " url)))))
+               (invalidate-memoization! pypi->guix-package)
+               (match (pypi->guix-package "foo")
+                      (('package
+                        ('name "python-foo")
+                        ('version "1.0.0")
+                        ('source
+                         ('origin
+                          ('method 'url-fetch)
+                          ('uri ('pypi-uri "foo" 'version))
+                          ('sha256 ('base32 (? string? hash)))))
+                        ('build-system 'python-build-system)
+                        ('propagated-inputs
+                         ('quasiquote
+                          (("python-bar" ('unquote 'python-bar))
+                           ("python-baz" ('unquote 'python-baz)))))
+                        ('native-inputs
+                         ('quasiquote
+                          (("python-pytest" ('unquote 'python-pytest)))))
+                        ('home-page "http://example.com")
+                        ('synopsis "summary")
+                        ('description "summary")
+                        ('license 'license:lgpl2.0))
+                       (string=?
+                         (bytevector->nix-base32-string test-source-hash)
+                         hash))
+                      (x (pk 'fail x #f))))))
result: SKIP

test-name: pypi->guix-package, no usable requirement file.
location: /home/dave/aur/guix/src/guix/tests/pypi.scm:299
source:
+ (test-assert
+   "pypi->guix-package, no usable requirement file."
+   (mock ((guix import utils)
+          url-fetch
+          (lambda (url file-name)
+            (match url
+                   ("https://example.com/foo-1.0.0.tar.gz"
+                    (mkdir-p "foo-1.0.0/foo.egg-info/")
+                    (parameterize
+                      ((current-output-port (%make-void-port "rw+")))
+                      (system* "tar" "czvf" file-name "foo-1.0.0/"))
+                    (delete-file-recursively "foo-1.0.0")
+                    (set! test-source-hash
+                      (call-with-input-file file-name port-sha256)))
+                   ("https://example.com/foo-1.0.0-py2.py3-none-any.whl"
+                    #f)
+                   (_ (error "Unexpected URL: " url)))))
+         (mock ((guix http-client)
+                http-fetch
+                (lambda (url . rest)
+                  (match url
+                         ("https://pypi.org/pypi/foo/json"
+                          (values
+                            (open-input-string test-json)
+                            (string-length test-json)))
+                         ("https://example.com/foo-1.0.0-py2.py3-none-any.whl"
+                          #f)
+                         (_ (error "Unexpected URL: " url)))))
+               (invalidate-memoization! pypi->guix-package)
+               (match (pypi->guix-package "foo")
+                      (('package
+                        ('name "python-foo")
+                        ('version "1.0.0")
+                        ('source
+                         ('origin
+                          ('method 'url-fetch)
+                          ('uri ('pypi-uri "foo" 'version))
+                          ('sha256 ('base32 (? string? hash)))))
+                        ('build-system 'python-build-system)
+                        ('home-page "http://example.com")
+                        ('synopsis "summary")
+                        ('description "summary")
+                        ('license 'license:lgpl2.0))
+                       (string=?
+                         (bytevector->nix-base32-string test-source-hash)
+                         hash))
+                      (x (pk 'fail x #f))))))
actual-value: #t
result: PASS

random seed for tests: 1574787235
warning: Cannot guess requirements from source archive: no requires.txt file found.

SKIP: tests/snix
================

test-name: factorize-uri
location: /home/dave/aur/guix/src/guix/tests/snix.scm:36
source:
+ (test-assert
+   "factorize-uri"
+   (every?
+     (match-lambda
+       ((uri version '-> expected)
+        (equal? (factorize-uri uri version) expected)))
+     '(("http://example.com/foo.tgz"
+        "1.0"
+        ->
+        "http://example.com/foo.tgz")
+       ("http://example.com/foo-2.8.tgz"
+        "2.8"
+        ->
+        ("http://example.com/foo-" version ".tgz"))
+       ("http://example.com/2.8/foo-2.8.tgz"
+        "2.8"
+        ->
+        ("http://example.com/"
+         version
+         "/foo-"
+         version
+         ".tgz")))))
actual-value: #t
result: PASS

test-name: nixpkgs->guix-package
location: /home/dave/aur/guix/src/guix/tests/snix.scm:54
source:
+ (test-assert
+   "nixpkgs->guix-package"
+   (match (nixpkgs->guix-package
+            %nixpkgs-directory
+            "guile")
+          (('package
+            ('name "guile")
+            ('version (? string?))
+            ('source ('origin _ ...))
+            ('build-system _)
+            ('inputs ('quasiquote (inputs ...)))
+            ('propagated-inputs ('quasiquote (pinputs ...)))
+            ('home-page (? string?))
+            ('synopsis (? string?))
+            ('description (? string?))
+            ('license (? symbol?)))
+           (and (member '("libffi" ,libffi) inputs)
+                (member '("gmp" ,gmp) pinputs)
+                #t))
+          (x (pk 'fail x #f))))
result: SKIP


FAIL: tests/store
=================

test-name: open-connection with file:// URI
location: /home/dave/aur/guix/src/guix/tests/store.scm:55
source:
+ (test-assert
+   "open-connection with file:// URI"
+   (let ((store (open-connection
+                  (string-append "file://" (%daemon-socket-uri)))))
+     (and (add-text-to-store store "foo" "bar")
+          (begin (close-connection store) #t))))
actual-value: #t
result: PASS

test-name: connection handshake error
location: /home/dave/aur/guix/src/guix/tests/store.scm:63
source:
+ (test-equal
+   "connection handshake error"
+   EPROTO
+   (let ((port (%make-void-port "rw")))
+     (guard (c ((store-connection-error? c)
+                (and (eq? port (store-connection-error-file c))
+                     (store-connection-error-code c))))
+            (open-connection #f #:port port)
+            'broken)))
expected-value: 71
actual-value: 71
result: PASS

test-name: store-path-hash-part
location: /home/dave/aur/guix/src/guix/tests/store.scm:72
source:
+ (test-equal
+   "store-path-hash-part"
+   "283gqy39v3g9dxjy26rynl0zls82fmcg"
+   (store-path-hash-part
+     (string-append
+       (%store-prefix)
+       "/283gqy39v3g9dxjy26rynl0zls82fmcg-guile-2.0.7")))
expected-value: "283gqy39v3g9dxjy26rynl0zls82fmcg"
actual-value: "283gqy39v3g9dxjy26rynl0zls82fmcg"
result: PASS

test-name: store-path-hash-part #f
location: /home/dave/aur/guix/src/guix/tests/store.scm:78
source:
+ (test-equal
+   "store-path-hash-part #f"
+   #f
+   (store-path-hash-part
+     (string-append
+       (%store-prefix)
+       "/foo/bar/283gqy39v3g9dxjy26rynl0zls82fmcg-guile-2.0.7")))
expected-value: #f
actual-value: #f
result: PASS

test-name: store-path-package-name
location: /home/dave/aur/guix/src/guix/tests/store.scm:84
source:
+ (test-equal
+   "store-path-package-name"
+   "guile-2.0.7"
+   (store-path-package-name
+     (string-append
+       (%store-prefix)
+       "/283gqy39v3g9dxjy26rynl0zls82fmcg-guile-2.0.7")))
expected-value: "guile-2.0.7"
actual-value: "guile-2.0.7"
result: PASS

test-name: store-path-package-name #f
location: /home/dave/aur/guix/src/guix/tests/store.scm:90
source:
+ (test-equal
+   "store-path-package-name #f"
+   #f
+   (store-path-package-name
+     "/foo/bar/283gqy39v3g9dxjy26rynl0zls82fmcg-guile-2.0.7"))
expected-value: #f
actual-value: #f
result: PASS

test-name: direct-store-path?
location: /home/dave/aur/guix/src/guix/tests/store.scm:95
source:
+ (test-assert
+   "direct-store-path?"
+   (and (direct-store-path?
+          (string-append
+            (%store-prefix)
+            "/283gqy39v3g9dxjy26rynl0zls82fmcg-guile-2.0.7"))
+        (not (direct-store-path?
+               (string-append
+                 (%store-prefix)
+                 "/283gqy39v3g9dxjy26rynl0zls82fmcg-guile-2.0.7/bin/guile")))
+        (not (direct-store-path? (%store-prefix)))))
actual-value: #t
result: PASS

test-name: add-data-to-store
location: /home/dave/aur/guix/src/guix/tests/store.scm:107
source:
+ (test-equal
+   "add-data-to-store"
+   #vu8(1 2 3 4 5)
+   (call-with-input-file
+     (add-data-to-store %store "data" #vu8(1 2 3 4 5))
+     get-bytevector-all))
expected-value: #vu8(1 2 3 4 5)
actual-value: #vu8(1 2 3 4 5)
result: PASS

test-name: valid-path? live
location: /home/dave/aur/guix/src/guix/tests/store.scm:112
source:
+ (test-assert
+   "valid-path? live"
+   (let ((p (add-text-to-store %store "hello" "hello, world")))
+     (valid-path? %store p)))
actual-value: #t
result: PASS

test-name: valid-path? false
location: /home/dave/aur/guix/src/guix/tests/store.scm:116
source:
+ (test-assert
+   "valid-path? false"
+   (not (valid-path?
+          %store
+          (string-append
+            (%store-prefix)
+            "/"
+            (make-string 32 #\e)
+            "-foobar"))))
actual-value: #t
result: PASS

test-name: valid-path? error
location: /home/dave/aur/guix/src/guix/tests/store.scm:121
source:
+ (test-assert
+   "valid-path? error"
+   (with-store
+     s
+     (guard (c ((store-protocol-error? c) #t))
+            (valid-path? s "foo")
+            #f)))
actual-value: #t
result: PASS

test-name: valid-path? recovery
location: /home/dave/aur/guix/src/guix/tests/store.scm:127
source:
+ (test-assert
+   "valid-path? recovery"
+   (with-store
+     s
+     (let-syntax ((true-if-error
+                    (syntax-rules ()
+                      ((_ exp)
+                       (guard (c ((store-protocol-error? c) #t)) exp #f)))))
+       (and (true-if-error (valid-path? s "foo"))
+            (true-if-error (valid-path? s "bar"))
+            (true-if-error (valid-path? s "baz"))
+            (true-if-error (valid-path? s "chbouib"))
+            (valid-path?
+              s
+              (add-text-to-store s "valid" "yeah"))))))
actual-value: #t
result: PASS

test-name: hash-part->path
location: /home/dave/aur/guix/src/guix/tests/store.scm:144
source:
+ (test-assert
+   "hash-part->path"
+   (let ((p (add-text-to-store %store "hello" "hello, world")))
+     (equal?
+       (hash-part->path %store (store-path-hash-part p))
+       p)))
actual-value: #t
result: PASS

test-name: dead-paths
location: /home/dave/aur/guix/src/guix/tests/store.scm:149
source:
+ (test-assert
+   "dead-paths"
+   (let ((p (add-text-to-store
+              %store
+              "random-text"
+              (random-text))))
+     (->bool (member p (dead-paths %store)))))
random seed for tests: 1574784715
finding garbage collector roots...
removing stale temporary roots file `/home/dave/aur/guix/src/guix/t/var/127110/temproots/127319'
determining live/dead paths...
actual-value: #t
result: PASS

test-name: permanent root
location: /home/dave/aur/guix/src/guix/tests/store.scm:170
source:
+ (test-assert
+   "permanent root"
+   (let* ((p (with-store
+               store
+               (let ((p (add-text-to-store
+                          store
+                          "random-text"
+                          (random-text))))
+                 (add-permanent-root p)
+                 (add-permanent-root p)
+                 p))))
+     (and (member p (live-paths %store))
+          (begin
+            (remove-permanent-root p)
+            (->bool (member p (dead-paths %store)))))))
finding garbage collector roots...
determining live/dead paths...
finding garbage collector roots...
determining live/dead paths...
actual-value: #t
result: PASS

test-name: dead path can be explicitly collected
location: /home/dave/aur/guix/src/guix/tests/store.scm:182
source:
+ (test-assert
+   "dead path can be explicitly collected"
+   (let ((p (add-text-to-store
+              %store
+              "random-text"
+              (random-text)
+              '())))
+     (let-values
+       (((paths freed) (delete-paths %store (list p))))
+       (and (equal? paths (list p))
+            (not (file-exists? p))))))
finding garbage collector roots...
deleting unused links...
actual-value: #t
result: PASS

test-name: add-text-to-store vs. delete-paths
location: /home/dave/aur/guix/src/guix/tests/store.scm:192
source:
+ (test-assert
+   "add-text-to-store vs. delete-paths"
+   (with-store
+     store
+     (let* ((text (random-text))
+            (path (add-text-to-store store "delete-me" text))
+            (deleted (delete-paths store (list path)))
+            (path2 (add-text-to-store store "delete-me" text)))
+       (and (string=? path path2)
+            (equal? deleted (list path))
+            (valid-path? store path)
+            (file-exists? path)))))
finding garbage collector roots...
removing stale temporary roots file `/home/dave/aur/guix/src/guix/t/var/127110/temproots/130846'
deleting `/home/dave/aur/guix/src/guix/t/store/g721cxalphqfdr9gd086vig4r3lbwhai-delete-me'
deleting `/home/dave/aur/guix/src/guix/t/store/trash'
deleting unused links...
note: currently hard linking saves 18.21 MiB
actual-value: #t
result: PASS

test-name: add-to-store vs. delete-paths
location: /home/dave/aur/guix/src/guix/tests/store.scm:205
source:
+ (test-assert
+   "add-to-store vs. delete-paths"
+   (with-store
+     store
+     (let* ((file (search-path %load-path "guix.scm"))
+            (path (add-to-store store "delete-me" #t "sha256" file))
+            (deleted (delete-paths store (list path)))
+            (path2 (add-to-store store "delete-me" #t "sha256" file)))
+       (and (string=? path path2)
+            (equal? deleted (list path))
+            (valid-path? store path)
+            (file-exists? path)))))
finding garbage collector roots...
removing stale temporary roots file `/home/dave/aur/guix/src/guix/t/var/127110/temproots/131465'
deleting `/home/dave/aur/guix/src/guix/t/store/ywp3f8ggl242g97dnpzcixgfx5wmjv2d-delete-me'
deleting `/home/dave/aur/guix/src/guix/t/store/trash'
deleting unused links...
note: currently hard linking saves 18.21 MiB
actual-value: #t
result: PASS

test-name: add-file-tree-to-store
location: /home/dave/aur/guix/src/guix/tests/store.scm:217
source:
+ (test-equal
+   "add-file-tree-to-store"
+   `(42
+     ("." directory #t)
+     ("./bar" directory #t)
+     ("./foo" directory #t)
+     ("./foo/a" regular "file a")
+     ("./foo/b" symlink "a")
+     ("./foo/c" directory #t)
+     ("./foo/c/p" regular "file p")
+     ("./foo/c/q" directory #t)
+     ("./foo/c/q/x"
+      regular
+      ,(string-append "#!" %shell "\nexit 42"))
+     ("./foo/c/q/y" symlink "..")
+     ("./foo/c/q/z" directory #t))
+   (let* ((tree `("file-tree"
+                  directory
+                  ("foo"
+                   directory
+                   ("a" regular (data "file a"))
+                   ("b" symlink "a")
+                   ("c"
+                    directory
+                    ("p" regular (data ,(string->utf8 "file p")))
+                    ("q"
+                     directory
+                     ("x"
+                      executable
+                      (data ,(string-append "#!" %shell "\nexit 42")))
+                     ("y" symlink "..")
+                     ("z" directory))))
+                  ("bar" directory)))
+          (result (add-file-tree-to-store %store tree)))
+     (cons (status:exit-val
+             (system* (string-append result "/foo/c/q/x")))
+           (with-directory-excursion
+             result
+             (map (lambda (file)
+                    (let ((type (stat:type (lstat file))))
+                      `(,file
+                        ,type
+                        ,(match type
+                                ((or 'regular 'executable)
+                                 (call-with-input-file file get-string-all))
+                                ('symlink (readlink file))
+                                ('directory #t)))))
+                  (find-files "." #:directories? #t))))))
expected-value: (42 ("." directory #t) ("./bar" directory #t) ("./foo" directory #t) ("./foo/a" regular "file a") ("./foo/b" symlink "a") ("./foo/c" directory #t) ("./foo/c/p" regular "file p") ("./foo/c/q" directory #t) ("./foo/c/q/x" regular "#!/bin/sh\nexit 42") ("./foo/c/q/y" symlink "..") ("./foo/c/q/z" directory #t))
actual-value: (42 ("." directory #t) ("./bar" directory #t) ("./foo" directory #t) ("./foo/a" regular "file a") ("./foo/b" symlink "a") ("./foo/c" directory #t) ("./foo/c/p" regular "file p") ("./foo/c/q" directory #t) ("./foo/c/q/x" regular "#!/bin/sh\nexit 42") ("./foo/c/q/y" symlink "..") ("./foo/c/q/z" directory #t))
result: PASS

test-name: add-file-tree-to-store, flat
location: /home/dave/aur/guix/src/guix/tests/store.scm:257
source:
+ (test-equal
+   "add-file-tree-to-store, flat"
+   "Hello, world!"
+   (let* ((tree `("flat-file" regular (data "Hello, world!")))
+          (result (add-file-tree-to-store %store tree)))
+     (and (file-exists? result)
+          (call-with-input-file result get-string-all))))
expected-value: "Hello, world!"
actual-value: "Hello, world!"
result: PASS

test-name: references
location: /home/dave/aur/guix/src/guix/tests/store.scm:264
source:
+ (test-assert
+   "references"
+   (let* ((t1 (add-text-to-store
+                %store
+                "random1"
+                (random-text)))
+          (t2 (add-text-to-store
+                %store
+                "random2"
+                (random-text)
+                (list t1))))
+     (and (equal? (list t1) (references %store t2))
+          (equal? (list t2) (referrers %store t1))
+          (null? (references %store t1))
+          (null? (referrers %store t2)))))
actual-value: #t
result: PASS

test-name: references/substitutes missing reference info
location: /home/dave/aur/guix/src/guix/tests/store.scm:274
source:
+ (test-assert
+   "references/substitutes missing reference info"
+   (with-store
+     s
+     (set-build-options s #:use-substitutes? #f)
+     (guard (c ((store-protocol-error? c) #t))
+            (let* ((b (add-to-store
+                        s
+                        "bash"
+                        #t
+                        "sha256"
+                        (search-bootstrap-binary
+                          "bash"
+                          (%current-system))))
+                   (d (derivation
+                        s
+                        "the-thing"
+                        b
+                        '("--help")
+                        #:inputs
+                        `((,b)))))
+              (references/substitutes
+                s
+                (list (derivation->output-path d) b))
+              #f))))
actual-value: #t
result: PASS

test-name: references/substitutes with substitute info
location: /home/dave/aur/guix/src/guix/tests/store.scm:286
source:
+ (test-assert
+   "references/substitutes with substitute info"
+   (with-store
+     s
+     (set-build-options s #:use-substitutes? #t)
+     (let* ((t1 (add-text-to-store s "random1" (random-text)))
+            (t2 (add-text-to-store
+                  s
+                  "random2"
+                  (random-text)
+                  (list t1)))
+            (t3 (add-text-to-store
+                  s
+                  "build"
+                  "echo -n $t2 > $out"))
+            (b (add-to-store
+                 s
+                 "bash"
+                 #t
+                 "sha256"
+                 (search-bootstrap-binary
+                   "bash"
+                   (%current-system))))
+            (d (derivation
+                 s
+                 "the-thing"
+                 b
+                 `("-e" ,t3)
+                 #:inputs
+                 `((,b) (,t3) (,t2))
+                 #:env-vars
+                 `(("t2" unquote t2))))
+            (o (derivation->output-path d)))
+       (with-derivation-narinfo
+         d
+         (sha256 => (sha256 (string->utf8 t2)))
+         (references => (list t2))
+         (equal?
+           (references/substitutes s (list o t3 t2 t1))
+           `((,t2) () (,t1) ()))))))
warning: in 'the-thing': deprecated 'derivation' calling convention used
warning: in 'the-thing': deprecated 'derivation' calling convention used
warning: in 'the-thing': deprecated 'derivation' calling convention used
warning: in 'the-thing': deprecated 'derivation' calling convention used
warning: in 'the-thing': deprecated 'derivation' calling convention used
warning: in 'the-thing': deprecated 'derivation' calling convention used
warning: in 'the-thing': deprecated 'derivation' calling convention used
warning: in 'the-thing': deprecated 'derivation' calling convention used
substitute: warning: authentication and authorization of substitutes disabled!
substitute: guix substitute: warning: ACL for archive imports seems to be uninitialized, substitutes may be unavailable
actual-value: #t
result: PASS

test-name: substitutable-path-info when substitutes are turned off
location: /home/dave/aur/guix/src/guix/tests/store.scm:310
source:
+ (test-equal
+   "substitutable-path-info when substitutes are turned off"
+   '()
+   (with-store
+     s
+     (set-build-options s #:use-substitutes? #f)
+     (let* ((b (add-to-store
+                 s
+                 "bash"
+                 #t
+                 "sha256"
+                 (search-bootstrap-binary
+                   "bash"
+                   (%current-system))))
+            (d (derivation
+                 s
+                 "the-thing"
+                 b
+                 '("--version")
+                 #:inputs
+                 `((,b))))
+            (o (derivation->output-path d)))
+       (with-derivation-narinfo
+         d
+         (substitutable-path-info s (list o))))))
expected-value: ()
actual-value: ()
result: PASS

test-name: substitutable-paths when substitutes are turned off
location: /home/dave/aur/guix/src/guix/tests/store.scm:323
source:
+ (test-equal
+   "substitutable-paths when substitutes are turned off"
+   '()
+   (with-store
+     s
+     (set-build-options s #:use-substitutes? #f)
+     (let* ((b (add-to-store
+                 s
+                 "bash"
+                 #t
+                 "sha256"
+                 (search-bootstrap-binary
+                   "bash"
+                   (%current-system))))
+            (d (derivation
+                 s
+                 "the-thing"
+                 b
+                 '("--version")
+                 #:inputs
+                 `((,b))))
+            (o (derivation->output-path d)))
+       (with-derivation-narinfo
+         d
+         (substitutable-paths s (list o))))))
expected-value: ()
actual-value: ()
result: PASS

test-name: requisites
location: /home/dave/aur/guix/src/guix/tests/store.scm:336
source:
+ (test-assert
+   "requisites"
+   (let* ((t1 (add-text-to-store
+                %store
+                "random1"
+                (random-text)
+                '()))
+          (t2 (add-text-to-store
+                %store
+                "random2"
+                (random-text)
+                (list t1)))
+          (t3 (add-text-to-store
+                %store
+                "random3"
+                (random-text)
+                (list t2)))
+          (t4 (add-text-to-store
+                %store
+                "random4"
+                (random-text)
+                (list t1 t3))))
+     (define (same? x y)
+       (and (= (length x) (length y))
+            (lset= equal? x y)))
+     (and (same? (requisites %store (list t1)) (list t1))
+          (same? (requisites %store (list t2))
+                 (list t1 t2))
+          (same? (requisites %store (list t3))
+                 (list t1 t2 t3))
+          (same? (requisites %store (list t4))
+                 (list t1 t2 t3 t4))
+          (same? (requisites %store (list t1 t2 t3 t4))
+                 (list t1 t2 t3 t4)))))
actual-value: #t
result: PASS

test-name: derivers
location: /home/dave/aur/guix/src/guix/tests/store.scm:356
source:
+ (test-assert
+   "derivers"
+   (let* ((b (add-text-to-store
+               %store
+               "build"
+               "echo $foo > $out"
+               '()))
+          (s (add-to-store
+               %store
+               "bash"
+               #t
+               "sha256"
+               (search-bootstrap-binary
+                 "bash"
+                 (%current-system))))
+          (d (derivation
+               %store
+               "the-thing"
+               s
+               `("-e" ,b)
+               #:env-vars
+               `(("foo" unquote (random-text)))
+               #:inputs
+               `((,b) (,s))))
+          (o (derivation->output-path d)))
+     (and (build-derivations %store (list d))
+          (equal?
+            (query-derivation-outputs
+              %store
+              (derivation-file-name d))
+            (list o))
+          (equal?
+            (valid-derivers %store o)
+            (list (derivation-file-name d))))))
warning: in 'the-thing': deprecated 'derivation' calling convention used
warning: in 'the-thing': deprecated 'derivation' calling convention used
warning: in 'the-thing': deprecated 'derivation' calling convention used
warning: in 'the-thing': deprecated 'derivation' calling convention used
warning: in 'the-thing': deprecated 'derivation' calling convention used
warning: in 'the-thing': deprecated 'derivation' calling convention used
warning: in 'the-thing': deprecated 'derivation' calling convention used
warning: in 'the-thing': deprecated 'derivation' calling convention used
@ build-started /home/dave/aur/guix/src/guix/t/store/i5h2lzj560w70vwpsqc835yqcqihh49f-the-thing.drv - x86_64-linux /home/dave/aur/guix/src/guix/t/var/log/guix/drvs/i5//h2lzj560w70vwpsqc835yqcqihh49f-the-thing.drv.bz2 131679
@ build-succeeded /home/dave/aur/guix/src/guix/t/store/i5h2lzj560w70vwpsqc835yqcqihh49f-the-thing.drv -
actual-value: #t
result: PASS

test-name: topologically-sorted, one item
location: /home/dave/aur/guix/src/guix/tests/store.scm:372
source:
+ (test-assert
+   "topologically-sorted, one item"
+   (let* ((a (add-text-to-store %store "a" "a"))
+          (b (add-text-to-store %store "b" "b" (list a)))
+          (c (add-text-to-store %store "c" "c" (list b)))
+          (d (add-text-to-store %store "d" "d" (list c)))
+          (s (topologically-sorted %store (list d))))
+     (equal? s (list a b c d))))
actual-value: #t
result: PASS

test-name: topologically-sorted, several items
location: /home/dave/aur/guix/src/guix/tests/store.scm:380
source:
+ (test-assert
+   "topologically-sorted, several items"
+   (let* ((a (add-text-to-store %store "a" "a"))
+          (b (add-text-to-store %store "b" "b" (list a)))
+          (c (add-text-to-store %store "c" "c" (list b)))
+          (d (add-text-to-store %store "d" "d" (list c)))
+          (s1 (topologically-sorted %store (list d a c b)))
+          (s2 (topologically-sorted %store (list b d c a b d))))
+     (equal? s1 s2 (list a b c d))))
actual-value: #t
result: PASS

test-name: topologically-sorted, more difficult
location: /home/dave/aur/guix/src/guix/tests/store.scm:389
source:
+ (test-assert
+   "topologically-sorted, more difficult"
+   (let* ((a (add-text-to-store %store "a" "a"))
+          (b (add-text-to-store %store "b" "b" (list a)))
+          (c (add-text-to-store %store "c" "c" (list b)))
+          (d (add-text-to-store %store "d" "d" (list c)))
+          (w (add-text-to-store %store "w" "w"))
+          (x (add-text-to-store %store "x" "x" (list w)))
+          (y (add-text-to-store %store "y" "y" (list x d)))
+          (s1 (topologically-sorted %store (list y)))
+          (s2 (topologically-sorted %store (list c y)))
+          (s3 (topologically-sorted
+                %store
+                (cons y (references %store y)))))
+     (let* ((x-then-d?
+              (equal? (references %store y) (list x d))))
+       (and (equal?
+              s1
+              (if x-then-d?
+                (list w x a b c d y)
+                (list a b c d w x y)))
+            (equal?
+              s2
+              (if x-then-d?
+                (list a b c w x d y)
+                (list a b c d w x y)))
+            (lset= string=? s1 s3)))))
actual-value: #t
result: PASS

test-name: current-build-output-port, UTF-8
location: /home/dave/aur/guix/src/guix/tests/store.scm:413
source:
+ (test-assert
+   "current-build-output-port, UTF-8"
+   (string-contains
+     (with-fluids
+       ((%default-port-encoding "UTF-8"))
+       (call-with-output-string
+         (lambda (port)
+           (parameterize
+             ((current-build-output-port port))
+             (let* ((s "Here?s a Greek letter: ?.")
+                    (d (build-expression->derivation
+                         %store
+                         "foo"
+                         `(display ,s)
+                         #:guile-for-build
+                         (package-derivation
+                           s
+                           %bootstrap-guile
+                           (%current-system)))))
+               (guard (c ((store-protocol-error? c) #t))
+                      (build-derivations %store (list d))))))))
+     "Here?s a Greek letter: ?."))
actual-value: 212
result: PASS

test-name: current-build-output-port, UTF-8 + garbage
location: /home/dave/aur/guix/src/guix/tests/store.scm:429
source:
+ (test-assert
+   "current-build-output-port, UTF-8 + garbage"
+   (string-contains
+     (with-fluids
+       ((%default-port-encoding "UTF-8"))
+       (call-with-output-string
+         (lambda (port)
+           (parameterize
+             ((current-build-output-port port))
+             (let ((d (build-expression->derivation
+                        %store
+                        "foo"
+                        `(begin
+                           (use-modules (rnrs io ports))
+                           (display "garbage: ")
+                           (put-bytevector (current-output-port) #vu8(128))
+                           (display "lambda: ?\n"))
+                        #:guile-for-build
+                        (package-derivation %store %bootstrap-guile))))
+               (guard (c ((store-protocol-error? c) #t))
+                      (build-derivations %store (list d))))))))
+     "garbage: ?lambda: ?"))
actual-value: 212
result: PASS

test-name: log-file, derivation
location: /home/dave/aur/guix/src/guix/tests/store.scm:449
source:
+ (test-assert
+   "log-file, derivation"
+   (let* ((b (add-text-to-store
+               %store
+               "build"
+               "echo $foo > $out"
+               '()))
+          (s (add-to-store
+               %store
+               "bash"
+               #t
+               "sha256"
+               (search-bootstrap-binary
+                 "bash"
+                 (%current-system))))
+          (d (derivation
+               %store
+               "the-thing"
+               s
+               `("-e" ,b)
+               #:env-vars
+               `(("foo" unquote (random-text)))
+               #:inputs
+               `((,b) (,s)))))
+     (and (build-derivations %store (list d))
+          (file-exists?
+            (pk (log-file %store (derivation-file-name d)))))))
warning: in 'the-thing': deprecated 'derivation' calling convention used
warning: in 'the-thing': deprecated 'derivation' calling convention used
warning: in 'the-thing': deprecated 'derivation' calling convention used
warning: in 'the-thing': deprecated 'derivation' calling convention used
@ build-started /home/dave/aur/guix/src/guix/t/store/mrjkb082x3jd4zndh616gr6affs39sq3-the-thing.drv - x86_64-linux /home/dave/aur/guix/src/guix/t/var/log/guix/drvs/mr//jkb082x3jd4zndh616gr6affs39sq3-the-thing.drv.bz2 131884
@ build-succeeded /home/dave/aur/guix/src/guix/t/store/mrjkb082x3jd4zndh616gr6affs39sq3-the-thing.drv -

;;; ("/home/dave/aur/guix/src/guix/t/var/log/guix/drvs/mr/jkb082x3jd4zndh616gr6affs39sq3-the-thing.drv.bz2")
actual-value: #t
result: PASS

test-name: log-file, output file name
location: /home/dave/aur/guix/src/guix/tests/store.scm:461
source:
+ (test-assert
+   "log-file, output file name"
+   (let* ((b (add-text-to-store
+               %store
+               "build"
+               "echo $foo > $out"
+               '()))
+          (s (add-to-store
+               %store
+               "bash"
+               #t
+               "sha256"
+               (search-bootstrap-binary
+                 "bash"
+                 (%current-system))))
+          (d (derivation
+               %store
+               "the-thing"
+               s
+               `("-e" ,b)
+               #:env-vars
+               `(("foo" unquote (random-text)))
+               #:inputs
+               `((,b) (,s))))
+          (o (derivation->output-path d)))
+     (and (build-derivations %store (list d))
+          (file-exists? (pk (log-file %store o)))
+          (string=?
+            (log-file %store (derivation-file-name d))
+            (log-file %store o)))))
warning: in 'the-thing': deprecated 'derivation' calling convention used
warning: in 'the-thing': deprecated 'derivation' calling convention used
warning: in 'the-thing': deprecated 'derivation' calling convention used
warning: in 'the-thing': deprecated 'derivation' calling convention used
@ build-started /home/dave/aur/guix/src/guix/t/store/76gfxqzg3rbbgpsf3cykbrbnb4bdhpn4-the-thing.drv - x86_64-linux /home/dave/aur/guix/src/guix/t/var/log/guix/drvs/76//gfxqzg3rbbgpsf3cykbrbnb4bdhpn4-the-thing.drv.bz2 131958
@ build-succeeded /home/dave/aur/guix/src/guix/t/store/76gfxqzg3rbbgpsf3cykbrbnb4bdhpn4-the-thing.drv -

;;; ("/home/dave/aur/guix/src/guix/t/var/log/guix/drvs/76/gfxqzg3rbbgpsf3cykbrbnb4bdhpn4-the-thing.drv.bz2")
actual-value: #t
result: PASS

test-name: no substitutes
location: /home/dave/aur/guix/src/guix/tests/store.scm:476
source:
+ (test-assert
+   "no substitutes"
+   (with-store
+     s
+     (let* ((d1 (package-derivation
+                  s
+                  %bootstrap-guile
+                  (%current-system)))
+            (d2 (package-derivation
+                  s
+                  %bootstrap-glibc
+                  (%current-system)))
+            (o (map derivation->output-path (list d1 d2))))
+       (set-build-options s #:use-substitutes? #f)
+       (and (not (has-substitutes? s (derivation-file-name d1)))
+            (not (has-substitutes? s (derivation-file-name d2)))
+            (null? (substitutable-paths s o))
+            (null? (substitutable-path-info s o))))))
actual-value: #t
result: PASS

test-name: build-things with output path
location: /home/dave/aur/guix/src/guix/tests/store.scm:487
source:
+ (test-assert
+   "build-things with output path"
+   (with-store
+     s
+     (let* ((c (random-text))
+            (d (build-expression->derivation
+                 s
+                 "substitute-me"
+                 `(call-with-output-file
+                    %output
+                    (lambda (p) (display ,c p)))
+                 #:guile-for-build
+                 (package-derivation
+                   s
+                   %bootstrap-guile
+                   (%current-system))))
+            (o (derivation->output-path d)))
+       (set-build-options s #:use-substitutes? #f)
+       (build-things s (list o))
+       (not (valid-path? s o)))))
actual-value: #t
result: PASS

test-name: substitute query
location: /home/dave/aur/guix/src/guix/tests/store.scm:507
source:
+ (test-assert
+   "substitute query"
+   (with-store
+     s
+     (let* ((d (package-derivation
+                 s
+                 %bootstrap-guile
+                 (%current-system)))
+            (o (derivation->output-path d)))
+       (with-derivation-narinfo
+         d
+         (false-if-exception
+           (delete-file-recursively
+             (string-append
+               (getenv "XDG_CACHE_HOME")
+               "/guix/substitute")))
+         (set-build-options
+           s
+           #:use-substitutes?
+           #t
+           #:substitute-urls
+           (%test-substitute-urls))
+         (and (has-substitutes? s o)
+              (equal?
+                (list o)
+                (substitutable-paths s (list o)))
+              (match (pk 'spi (substitutable-path-info s (list o)))
+                     (((? substitutable? s))
+                      (and (string=?
+                             (substitutable-deriver s)
+                             (derivation-file-name d))
+                           (null? (substitutable-references s))
+                           (equal? (substitutable-nar-size s) 1234)))))))))
substitute: warning: authentication and authorization of substitutes disabled!
substitute: guix substitute: warning: ACL for archive imports seems to be uninitialized, substitutes may be unavailable

;;; (spi (#<<substitutable> path: "/home/dave/aur/guix/src/guix/t/store/5pn86k3v7rxg6jh4cir5rscd9ipfkfhh-guile-bootstrap-2.0" deriver: "/home/dave/aur/guix/src/guix/t/store/d6lhyk3w44znn520x0syxk28lwaaj2hb-guile-bootstrap-2.0.drv" refs: () dl-size: 0 nar-size: 1234>))
actual-value: #t
result: PASS

test-name: substitute query, alternating URLs
location: /home/dave/aur/guix/src/guix/tests/store.scm:531
source:
+ (test-assert
+   "substitute query, alternating URLs"
+   (let* ((d (with-store
+               s
+               (package-derivation
+                 s
+                 %bootstrap-guile
+                 (%current-system))))
+          (o (derivation->output-path d)))
+     (with-derivation-narinfo
+       d
+       (false-if-exception
+         (delete-file-recursively
+           (string-append
+             (getenv "XDG_CACHE_HOME")
+             "/guix/substitute")))
+       (and (with-store
+              s
+              (set-build-options
+                s
+                #:use-substitutes?
+                #t
+                #:substitute-urls
+                (%test-substitute-urls))
+              (has-substitutes? s o))
+            (with-store
+              s
+              (set-build-options
+                s
+                #:use-substitutes?
+                #t
+                #:substitute-urls
+                (list "http://does-not-exist"))
+              (not (has-substitutes? s o)))
+            (with-store
+              s
+              (set-build-options
+                s
+                #:use-substitutes?
+                #t
+                #:substitute-urls
+                (%test-substitute-urls))
+              (has-substitutes? s o))
+            (with-store
+              s
+              (set-build-options
+                s
+                #:use-substitutes?
+                #t
+                #:substitute-urls
+                '())
+              (not (has-substitutes? s o)))))))
substitute: warning: authentication and authorization of substitutes disabled!
substitute: guix substitute: warning: ACL for archive imports seems to be uninitialized, substitutes may be unavailable
substitute: warning: authentication and authorization of substitutes disabled!
substitute: guix substitute: warning: ACL for archive imports seems to be uninitialized, substitutes may be unavailable
substitute: Backtrace:
substitute:            3 (apply-smob/1 #<catch-closure 7f9805de5960>)
substitute: In ice-9/boot-9.scm:
substitute:     705:2  2 (call-with-prompt _ _ #<procedure default-prompt-handle?>)
substitute: In ice-9/eval.scm:
substitute:     619:8  1 (_ #(#(#<directory (guile-user) 7f9805a7a140>)))
substitute: In guix/ui.scm:
substitute:   1692:12  0 (run-guix-command _ . _)
substitute: 
substitute: guix/ui.scm:1692:12: In procedure run-guix-command:
substitute: unmatched line "<html><head><meta http-equiv=\"refresh\" content=\"0;url=http://webhelper.centurylink.com/index.php?origURL=http://does-not-exist/nix-cache-info&bc=\"/></head><body><script type=\"text/javascript\">window.location=\"http://webhelper.centurylink.com/index.php?origURL=\"+escape(window.location)+\"&r=\"+escape(document.referrer)+\"&bc=\";</script></body></html>"
actual-value: #f
actual-error:
+ (srfi-34
+   #<condition &store-protocol-error [message: "`/home/dave/aur/guix/src/guix/scripts/guix substitute' died unexpectedly" status: 1] 7fd1392d7180>)
result: FAIL

test-name: substitute
location: /home/dave/aur/guix/src/guix/tests/store.scm:563
source:
+ (test-assert
+   "substitute"
+   (with-store
+     s
+     (let* ((c (random-text))
+            (d (build-expression->derivation
+                 s
+                 "substitute-me"
+                 `(call-with-output-file
+                    %output
+                    (lambda (p) (exit 1) (display ,c p)))
+                 #:guile-for-build
+                 (package-derivation
+                   s
+                   %bootstrap-guile
+                   (%current-system))))
+            (o (derivation->output-path d)))
+       (with-derivation-substitute
+         d
+         c
+         (set-build-options
+           s
+           #:use-substitutes?
+           #t
+           #:substitute-urls
+           (%test-substitute-urls))
+         (and (has-substitutes? s o)
+              (build-derivations s (list d))
+              (equal?
+                c
+                (call-with-input-file o get-string-all)))))))
substitute: warning: authentication and authorization of substitutes disabled!
substitute: guix substitute: warning: ACL for archive imports seems to be uninitialized, substitutes may be unavailable
@ substituter-started /home/dave/aur/guix/src/guix/t/store/v2a6gkphz31dya2wpsi0vljp07wd35ay-substitute-me substitute
warning: authentication and authorization of substitutes disabled!
guix substitute: warning: ACL for archive imports seems to be uninitialized, substitutes may be unavailable
Downloading file:/home/dave/aur/guix/src/guix/t/var/127110/substituter-data/example.nar...
\r^[[K example.nar  176B                       0B/s 00:00 [                  ]   0.0%\r^[[K example.nar  176B                   522KiB/s 00:00 [##################] 100.0%\r^[[K example.nar  176B                   269KiB/s 00:00 [##################] 100.0%

@ substituter-succeeded /home/dave/aur/guix/src/guix/t/store/v2a6gkphz31dya2wpsi0vljp07wd35ay-substitute-me
actual-value: #t
result: PASS

test-name: substitute + build-things with output path
location: /home/dave/aur/guix/src/guix/tests/store.scm:582
source:
+ (test-assert
+   "substitute + build-things with output path"
+   (with-store
+     s
+     (let* ((c (random-text))
+            (d (build-expression->derivation
+                 s
+                 "substitute-me"
+                 `(call-with-output-file
+                    %output
+                    (lambda (p) (exit 1) (display ,c p)))
+                 #:guile-for-build
+                 (package-derivation
+                   s
+                   %bootstrap-guile
+                   (%current-system))))
+            (o (derivation->output-path d)))
+       (with-derivation-substitute
+         d
+         c
+         (set-build-options
+           s
+           #:use-substitutes?
+           #t
+           #:substitute-urls
+           (%test-substitute-urls))
+         (and (has-substitutes? s o)
+              (build-things s (list o))
+              (valid-path? s o)
+              (equal?
+                c
+                (call-with-input-file o get-string-all)))))))
substitute: warning: authentication and authorization of substitutes disabled!
substitute: guix substitute: warning: ACL for archive imports seems to be uninitialized, substitutes may be unavailable
@ substituter-started /home/dave/aur/guix/src/guix/t/store/32dgszicyqg9rg540raycxrf84vihjn5-substitute-me substitute
warning: authentication and authorization of substitutes disabled!
guix substitute: warning: ACL for archive imports seems to be uninitialized, substitutes may be unavailable
Downloading file:/home/dave/aur/guix/src/guix/t/var/127110/substituter-data/example.nar...
\r^[[K example.nar  176B                       0B/s 00:00 [                  ]   0.0%\r^[[K example.nar  176B                   641KiB/s 00:00 [##################] 100.0%\r^[[K example.nar  176B                   327KiB/s 00:00 [##################] 100.0%

@ substituter-succeeded /home/dave/aur/guix/src/guix/t/store/32dgszicyqg9rg540raycxrf84vihjn5-substitute-me
actual-value: #t
result: PASS

test-name: substitute + build-things with specific output
location: /home/dave/aur/guix/src/guix/tests/store.scm:602
source:
+ (test-assert
+   "substitute + build-things with specific output"
+   (with-store
+     s
+     (let* ((c (random-text))
+            (d (build-expression->derivation
+                 s
+                 "substitute-me"
+                 `(begin ,c (exit 1))
+                 #:outputs
+                 '("out" "one" "two")
+                 #:guile-for-build
+                 (package-derivation
+                   s
+                   %bootstrap-guile
+                   (%current-system))))
+            (o (derivation->output-path d)))
+       (with-derivation-substitute
+         d
+         c
+         (set-build-options
+           s
+           #:use-substitutes?
+           #t
+           #:substitute-urls
+           (%test-substitute-urls))
+         (and (has-substitutes? s o)
+              (build-things
+                s
+                `(((unquote (derivation-file-name d)) . "out")))
+              (valid-path? s o)
+              (equal?
+                c
+                (call-with-input-file o get-string-all)))))))
substitute: warning: authentication and authorization of substitutes disabled!
substitute: guix substitute: warning: ACL for archive imports seems to be uninitialized, substitutes may be unavailable
@ substituter-started /home/dave/aur/guix/src/guix/t/store/q2m6lm506407lqzqjccrjbks7aqvnh27-substitute-me substitute
warning: authentication and authorization of substitutes disabled!
guix substitute: warning: ACL for archive imports seems to be uninitialized, substitutes may be unavailable
Downloading file:/home/dave/aur/guix/src/guix/t/var/127110/substituter-data/example.nar...
\r^[[K example.nar  176B                       0B/s 00:00 [                  ]   0.0%\r^[[K example.nar  176B                   583KiB/s 00:00 [##################] 100.0%\r^[[K example.nar  176B                   297KiB/s 00:00 [##################] 100.0%

@ substituter-succeeded /home/dave/aur/guix/src/guix/t/store/q2m6lm506407lqzqjccrjbks7aqvnh27-substitute-me
actual-value: #t
result: PASS

test-name: substitute, corrupt output hash
location: /home/dave/aur/guix/src/guix/tests/store.scm:622
source:
+ (test-assert
+   "substitute, corrupt output hash"
+   (with-store
+     s
+     (let* ((c "hello, world")
+            (d (build-expression->derivation
+                 s
+                 "corrupt-substitute"
+                 `(mkdir %output)
+                 #:guile-for-build
+                 (package-derivation
+                   s
+                   %bootstrap-guile
+                   (%current-system))))
+            (o (derivation->output-path d)))
+       (with-derivation-substitute
+         d
+         c
+         (sha256 => (make-bytevector 32 0))
+         (set-build-options
+           s
+           #:use-substitutes?
+           #t
+           #:fallback?
+           #f
+           #:substitute-urls
+           (%test-substitute-urls))
+         (and (has-substitutes? s o)
+              (guard (c ((store-protocol-error? c)
+                         (pk 'corrupt c)
+                         (not (zero? (store-protocol-error-status c)))))
+                     (build-derivations s (list d))
+                     #f))))))
substitute: warning: authentication and authorization of substitutes disabled!
substitute: guix substitute: warning: ACL for archive imports seems to be uninitialized, substitutes may be unavailable
@ substituter-started /home/dave/aur/guix/src/guix/t/store/7730s8y2zh0yjpw5znyjxbmb3aww548w-corrupt-substitute substitute
warning: authentication and authorization of substitutes disabled!
guix substitute: warning: ACL for archive imports seems to be uninitialized, substitutes may be unavailable
Downloading file:/home/dave/aur/guix/src/guix/t/var/127110/substituter-data/example.nar...
\r^[[K example.nar  128B                       0B/s 00:00 [                  ]   0.0%\r^[[K example.nar  128B                   425KiB/s 00:00 [##################] 100.0%\r^[[K example.nar  128B                   218KiB/s 00:00 [##################] 100.0%

@ hash-mismatch /home/dave/aur/guix/src/guix/t/store/7730s8y2zh0yjpw5znyjxbmb3aww548w-corrupt-substitute sha256 0000000000000000000000000000000000000000000000000000 0dfmvk0v5jw3f5f1wpv8v8dgwxj62mg5nanyn5lk3rl0n9p3mxxq
@ substituter-failed /home/dave/aur/guix/src/guix/t/store/7730s8y2zh0yjpw5znyjxbmb3aww548w-corrupt-substitute 0 hash mismatch for substituted item `/home/dave/aur/guix/src/guix/t/store/7730s8y2zh0yjpw5znyjxbmb3aww548w-corrupt-substitute'

;;; (corrupt #<condition &store-protocol-error [message: "some substitutes for the outputs of derivation `/home/dave/aur/guix/src/guix/t/store/p9cg60lnk1nzphrh7affaxfrb417546m-corrupt-substitute.drv' failed (usually happens due to networking issues); try `--fallback' to build derivation from source " status: 1] 7fd139fdaab0>)
actual-value: #t
result: PASS

test-name: substitute --fallback
location: /home/dave/aur/guix/src/guix/tests/store.scm:652
source:
+ (test-assert
+   "substitute --fallback"
+   (with-store
+     s
+     (let* ((t (random-text))
+            (d (build-expression->derivation
+                 s
+                 "substitute-me-not"
+                 `(call-with-output-file
+                    %output
+                    (lambda (p) (display ,t p)))
+                 #:guile-for-build
+                 (package-derivation
+                   s
+                   %bootstrap-guile
+                   (%current-system))))
+            (o (derivation->output-path d)))
+       (with-derivation-narinfo
+         d
+         (set-build-options
+           s
+           #:use-substitutes?
+           #t
+           #:substitute-urls
+           (%test-substitute-urls))
+         (and (has-substitutes? s o)
+              (guard (c ((store-protocol-error? c)
+                         (set-build-options
+                           s
+                           #:use-substitutes?
+                           #t
+                           #:substitute-urls
+                           (%test-substitute-urls)
+                           #:fallback?
+                           #t)
+                         (and (build-derivations s (list d))
+                              (equal?
+                                t
+                                (call-with-input-file o get-string-all)))))
+                     (build-derivations s (list d))
+                     #f))))))
substitute: warning: authentication and authorization of substitutes disabled!
substitute: guix substitute: warning: ACL for archive imports seems to be uninitialized, substitutes may be unavailable
@ substituter-started /home/dave/aur/guix/src/guix/t/store/rqxwyiaaamcfjh3xf6c5jhwlrqv0pg86-substitute-me-not substitute
warning: authentication and authorization of substitutes disabled!
guix substitute: warning: ACL for archive imports seems to be uninitialized, substitutes may be unavailable
Downloading file:/home/dave/aur/guix/src/guix/t/var/127110/substituter-data/example.nar...
guix substitute: error: open-file: No such file or directory: "/home/dave/aur/guix/src/guix/t/var/127110/substituter-data/example.nar"
@ substituter-failed /home/dave/aur/guix/src/guix/t/store/rqxwyiaaamcfjh3xf6c5jhwlrqv0pg86-substitute-me-not 256 fetching path `/home/dave/aur/guix/src/guix/t/store/rqxwyiaaamcfjh3xf6c5jhwlrqv0pg86-substitute-me-not' failed with exit code 1
@ substituter-started /home/dave/aur/guix/src/guix/t/store/rqxwyiaaamcfjh3xf6c5jhwlrqv0pg86-substitute-me-not substitute
warning: authentication and authorization of substitutes disabled!
guix substitute: warning: ACL for archive imports seems to be uninitialized, substitutes may be unavailable
Downloading file:/home/dave/aur/guix/src/guix/t/var/127110/substituter-data/example.nar...
guix substitute: error: open-file: No such file or directory: "/home/dave/aur/guix/src/guix/t/var/127110/substituter-data/example.nar"
@ substituter-failed /home/dave/aur/guix/src/guix/t/store/rqxwyiaaamcfjh3xf6c5jhwlrqv0pg86-substitute-me-not 256 fetching path `/home/dave/aur/guix/src/guix/t/store/rqxwyiaaamcfjh3xf6c5jhwlrqv0pg86-substitute-me-not' failed with exit code 1
@ build-started /home/dave/aur/guix/src/guix/t/store/a0g1bm9w6izl37gw7paq9h99ynblgcba-substitute-me-not.drv - x86_64-linux /home/dave/aur/guix/src/guix/t/var/log/guix/drvs/a0//g1bm9w6izl37gw7paq9h99ynblgcba-substitute-me-not.drv.bz2 133809
@ build-succeeded /home/dave/aur/guix/src/guix/t/store/a0g1bm9w6izl37gw7paq9h99ynblgcba-substitute-me-not.drv -
actual-value: #t
result: PASS

test-name: export/import several paths
location: /home/dave/aur/guix/src/guix/tests/store.scm:684
source:
+ (test-assert
+   "export/import several paths"
+   (let* ((texts (unfold
+                   (cut >= <> 10)
+                   (lambda _ (random-text))
+                   #{1+}#
+                   0))
+          (files (map (cut add-text-to-store %store "text" <>)
+                      texts))
+          (dump (call-with-bytevector-output-port
+                  (cut export-paths %store files <>))))
+     (delete-paths %store files)
+     (and (every (negate file-exists?) files)
+          (let* ((source (open-bytevector-input-port dump))
+                 (imported (import-paths %store source)))
+            (and (equal? imported files)
+                 (every file-exists? files)
+                 (equal?
+                   texts
+                   (map (lambda (file)
+                          (call-with-input-file file get-string-all))
+                        files)))))))
finding garbage collector roots...
deleting unused links...
warning: SQLite database is busy
actual-value: #t
result: PASS

test-name: export/import paths, ensure topological order
location: /home/dave/aur/guix/src/guix/tests/store.scm:704
source:
+ (test-assert
+   "export/import paths, ensure topological order"
+   (let* ((file0 (add-text-to-store %store "baz" (random-text)))
+          (file1 (add-text-to-store
+                   %store
+                   "foo"
+                   (random-text)
+                   (list file0)))
+          (file2 (add-text-to-store
+                   %store
+                   "bar"
+                   (random-text)
+                   (list file1)))
+          (files (list file1 file2))
+          (dump1 (call-with-bytevector-output-port
+                   (cute export-paths %store (list file1 file2) <>)))
+          (dump2 (call-with-bytevector-output-port
+                   (cute export-paths %store (list file2 file1) <>))))
+     (delete-paths %store files)
+     (and (every (negate file-exists?) files)
+          (bytevector=? dump1 dump2)
+          (let* ((source (open-bytevector-input-port dump1))
+                 (imported (import-paths %store source)))
+            (and (equal? imported (list file1 file2))
+                 (every file-exists? files)
+                 (equal? (list file0) (references %store file1))
+                 (equal? (list file1) (references %store file2)))))))
finding garbage collector roots...
deleting unused links...
actual-value: #t
result: PASS

test-name: export/import incomplete
location: /home/dave/aur/guix/src/guix/tests/store.scm:726
source:
+ (test-assert
+   "export/import incomplete"
+   (let* ((file0 (add-text-to-store %store "baz" (random-text)))
+          (file1 (add-text-to-store
+                   %store
+                   "foo"
+                   (random-text)
+                   (list file0)))
+          (file2 (add-text-to-store
+                   %store
+                   "bar"
+                   (random-text)
+                   (list file1)))
+          (dump (call-with-bytevector-output-port
+                  (cute export-paths %store (list file2) <>))))
+     (delete-paths %store (list file0 file1 file2))
+     (guard (c ((store-protocol-error? c)
+                (and (not (zero? (store-protocol-error-status c)))
+                     (string-contains
+                       (store-protocol-error-message c)
+                       "not valid"))))
+            (import-paths
+              %store
+              (open-bytevector-input-port dump)))))
finding garbage collector roots...
deleting unused links...
actual-value: 84
result: PASS

test-name: export/import recursive
location: /home/dave/aur/guix/src/guix/tests/store.scm:743
source:
+ (test-assert
+   "export/import recursive"
+   (let* ((file0 (add-text-to-store %store "baz" (random-text)))
+          (file1 (add-text-to-store
+                   %store
+                   "foo"
+                   (random-text)
+                   (list file0)))
+          (file2 (add-text-to-store
+                   %store
+                   "bar"
+                   (random-text)
+                   (list file1)))
+          (dump (call-with-bytevector-output-port
+                  (cute export-paths
+                        %store
+                        (list file2)
+                        <>
+                        #:recursive?
+                        #t))))
+     (delete-paths %store (list file0 file1 file2))
+     (let ((imported
+             (import-paths
+               %store
+               (open-bytevector-input-port dump))))
+       (and (equal? imported (list file0 file1 file2))
+            (every file-exists? (list file0 file1 file2))
+            (equal? (list file0) (references %store file1))
+            (equal? (list file1) (references %store file2))))))
finding garbage collector roots...
deleting unused links...
actual-value: #t
result: PASS

test-name: write-file & export-path yield the same result
location: /home/dave/aur/guix/src/guix/tests/store.scm:759
source:
+ (test-assert
+   "write-file & export-path yield the same result"
+   (run-with-store
+     %store
+     (mlet* %store-monad
+            ((drv1 (package->derivation %bootstrap-guile))
+             (out1 -> (derivation->output-path drv1))
+             (data ->
+                   (unfold
+                     (cut >= <> 26)
+                     (lambda (i) (random-bytevector 128))
+                     #{1+}#
+                     0))
+             (build ->
+                    (gexp (begin
+                            (use-modules (rnrs io ports) (srfi srfi-1))
+                            (let ()
+                              (define letters
+                                (map (lambda (i)
+                                       (string
+                                         (integer->char
+                                           (+ i (char->integer #\a)))))
+                                     (iota 26)))
+                              (define (touch file data)
+                                (call-with-output-file
+                                  file
+                                  (lambda (port) (put-bytevector port data))))
+                              (mkdir (ungexp output))
+                              (chdir (ungexp output))
+                              (for-each
+                                touch
+                                (append (drop letters 10) (take letters 10))
+                                (list (ungexp-splicing data)))
+                              #t))))
+             (drv2 (gexp->derivation "bunch" build))
+             (out2 -> (derivation->output-path drv2))
+             (item-info -> (store-lift query-path-info)))
+            (mbegin
+              %store-monad
+              (built-derivations (list drv1 drv2))
+              (foldm %store-monad
+                     (lambda (item result)
+                       (define ref-hash
+                         (let-values
+                           (((port get) (open-sha256-port)))
+                           (write-file item port)
+                           (close-port port)
+                           (get)))
+                       (>>= (item-info item)
+                            (lambda (info)
+                              (return
+                                (and result
+                                     (bytevector=?
+                                       (path-info-hash info)
+                                       ref-hash))))))
+                     #t
+                     (list out1 out2))))
+     #:guile-for-build
+     (%guile-for-build)))
@ build-started /home/dave/aur/guix/src/guix/t/store/adr0n4r6f8gacagv75sv6syqxnyrh154-bunch.drv - x86_64-linux /home/dave/aur/guix/src/guix/t/var/log/guix/drvs/ad//r0n4r6f8gacagv75sv6syqxnyrh154-bunch.drv.bz2 138436
@ build-succeeded /home/dave/aur/guix/src/guix/t/store/adr0n4r6f8gacagv75sv6syqxnyrh154-bunch.drv -
actual-value: #t
result: PASS

test-name: import corrupt path
location: /home/dave/aur/guix/src/guix/tests/store.scm:825
source:
+ (test-assert
+   "import corrupt path"
+   (let* ((text (random-text))
+          (file (add-text-to-store %store "text" text))
+          (dump (call-with-bytevector-output-port
+                  (cut export-paths %store (list file) <>))))
+     (delete-paths %store (list file))
+     (let* ((index 112)
+            (byte (bytevector-u8-ref dump index)))
+       (bytevector-u8-set! dump index (logxor 255 byte)))
+     (and (not (file-exists? file))
+          (guard (c ((store-protocol-error? c)
+                     (pk 'c c)
+                     (and (not (zero? (store-protocol-error-status c)))
+                          (string-contains
+                            (store-protocol-error-message c)
+                            "corrupt"))))
+                 (let* ((source (open-bytevector-input-port dump))
+                        (imported (import-paths %store source)))
+                   (pk 'corrupt-imported imported)
+                   #f)))))
finding garbage collector roots...
deleting unused links...

;;; (c #<condition &store-protocol-error [message: "signed hash doesn't match actual contents of imported archive; archive could be corrupt, or someone is trying to import a Trojan horse" status: 1] 7fd13983af00>)
actual-value: 80
result: PASS

test-name: verify-store
location: /home/dave/aur/guix/src/guix/tests/store.scm:849
source:
+ (test-assert
+   "verify-store"
+   (let* ((text (random-text))
+          (file1 (add-text-to-store %store "foo" text))
+          (file2 (add-text-to-store
+                   %store
+                   "bar"
+                   (random-text)
+                   (list file1))))
+     (and (pk 'verify1 (verify-store %store))
+          (begin
+            (delete-file file1)
+            (not (pk 'verify2 (verify-store %store))))
+          (begin
+            (call-with-output-file
+              file1
+              (lambda (port) (display text port)))
+            (pk 'verify3 (verify-store %store))))))
reading the store...

;;; (verify1 #t)
reading the store...
path `/home/dave/aur/guix/src/guix/t/store/9j5z837c7j9im606q0im19azr9z6p7df-foo' disappeared, but it still has valid referrers!

;;; (verify2 #f)
reading the store...

;;; (verify3 #t)
actual-value: #t
result: PASS

test-name: verify-store + check-contents
location: /home/dave/aur/guix/src/guix/tests/store.scm:866
source:
+ (test-assert
+   "verify-store + check-contents"
+   (with-store
+     s
+     (let* ((text (random-text))
+            (drv (build-expression->derivation
+                   s
+                   "corrupt"
+                   `(let ((out (assoc-ref %outputs "out")))
+                      (call-with-output-file
+                        out
+                        (lambda (port) (display ,text port)))
+                      #t)
+                   #:guile-for-build
+                   (package-derivation
+                     s
+                     %bootstrap-guile
+                     (%current-system))))
+            (file (derivation->output-path drv)))
+       (with-derivation-substitute
+         drv
+         text
+         (and (build-derivations s (list drv))
+              (verify-store s #:check-contents? #t)
+              (begin
+                (chmod file 420)
+                (call-with-output-file
+                  file
+                  (lambda (port) (display "corrupt!" port)))
+                #t)
+              (not (verify-store s #:check-contents? #t))
+              (delete-paths s (list file)))))))
substitute: warning: authentication and authorization of substitutes disabled!
substitute: guix substitute: warning: ACL for archive imports seems to be uninitialized, substitutes may be unavailable
fetching path `/home/dave/aur/guix/src/guix/t/store/jpqsjnlzia25pqk0gnqlqy3fi28shnai-corrupt'...
warning: authentication and authorization of substitutes disabled!
guix substitute: warning: ACL for archive imports seems to be uninitialized, substitutes may be unavailable
Downloading file:/home/dave/aur/guix/src/guix/t/var/127110/substituter-data/example.nar...
\r^[[K example.nar  176B                        0B/s 00:00 [                  ]   0.0%\r^[[K example.nar  176B                    612KiB/s 00:00 [##################] 100.0%\r^[[K example.nar  176B                    321KiB/s 00:00 [##################] 100.0%

reading the store...
checking path existence...
checking hashes...
reading the store...
checking path existence...
checking hashes...
path `/home/dave/aur/guix/src/guix/t/store/jpqsjnlzia25pqk0gnqlqy3fi28shnai-corrupt' was modified! expected hash `23c70524132b0efb65f47441dcfaf4679dd5e9320ed5d1647f3f3a04e962a274', got `e09c480e2e93336cd3c45aa129f81a0d7ba56c410b849d7779a8136074413b3d'
finding garbage collector roots...
removing stale temporary roots file `/home/dave/aur/guix/src/guix/t/var/127110/temproots/139228'
deleting `/home/dave/aur/guix/src/guix/t/store/jpqsjnlzia25pqk0gnqlqy3fi28shnai-corrupt'
deleting `/home/dave/aur/guix/src/guix/t/store/trash'
deleting unused links...
note: currently hard linking saves 18.23 MiB
actual-value: ("/home/dave/aur/guix/src/guix/t/store/jpqsjnlzia25pqk0gnqlqy3fi28shnai-corrupt")
result: PASS

test-name: build-things, check mode
location: /home/dave/aur/guix/src/guix/tests/store.scm:903
source:
+ (test-assert
+   "build-things, check mode"
+   (with-store
+     store
+     (call-with-temporary-output-file
+       (lambda (entropy entropy-port)
+         (write (random-text) entropy-port)
+         (force-output entropy-port)
+         (let* ((drv (build-expression->derivation
+                       store
+                       "non-deterministic"
+                       `(begin
+                          (use-modules (rnrs io ports))
+                          (let ((out (assoc-ref %outputs "out")))
+                            (call-with-output-file
+                              out
+                              (lambda (port)
+                                (display
+                                  (call-with-input-file
+                                    ,entropy
+                                    get-string-all)
+                                  port)))
+                            #t))
+                       #:guile-for-build
+                       (package-derivation
+                         store
+                         %bootstrap-guile
+                         (%current-system))))
+                (file (derivation->output-path drv)))
+           (and (build-things
+                  store
+                  (list (derivation-file-name drv)))
+                (begin
+                  (write (random-text) entropy-port)
+                  (force-output entropy-port)
+                  (guard (c ((store-protocol-error? c)
+                             (pk 'determinism-exception c)
+                             (and (not (zero? (store-protocol-error-status
+                                                c)))
+                                  (string-contains
+                                    (store-protocol-error-message c)
+                                    "deterministic"))))
+                         (build-things
+                           store
+                           (list (derivation-file-name drv))
+                           (build-mode check))
+                         #f))))))))
substitute: warning: authentication and authorization of substitutes disabled!
substitute: guix substitute: warning: ACL for archive imports seems to be uninitialized, substitutes may be unavailable
building path(s) `/home/dave/aur/guix/src/guix/t/store/dav8d5ycjxr3b0yjj538gpbl05cgd9vj-non-deterministic'
checking path(s) `/home/dave/aur/guix/src/guix/t/store/dav8d5ycjxr3b0yjj538gpbl05cgd9vj-non-deterministic'
warning: rewriting hashes in `/home/dave/aur/guix/src/guix/t/store/dav8d5ycjxr3b0yjj538gpbl05cgd9vj-non-deterministic'; cross fingers

;;; (determinism-exception #<condition &store-protocol-error [message: "derivation `/home/dave/aur/guix/src/guix/t/store/2v09j6f6znb6fqs6jhp7lh3q755kghk5-non-deterministic.drv' may not be deterministic: output `/home/dave/aur/guix/src/guix/t/store/dav8d5ycjxr3b0yjj538gpbl05cgd9vj-non-deterministic' differs" status: 1] 7fd1393fbc90>)
actual-value: 86
result: PASS

test-name: build-succeeded trace in check mode
location: /home/dave/aur/guix/src/guix/tests/store.scm:940
source:
+ (test-assert
+   "build-succeeded trace in check mode"
+   (string-contains
+     (call-with-output-string
+       (lambda (port)
+         (let ((d (build-expression->derivation
+                    %store
+                    "foo"
+                    '(mkdir (assoc-ref %outputs "out"))
+                    #:guile-for-build
+                    (package-derivation %store %bootstrap-guile))))
+           (build-derivations %store (list d))
+           (parameterize
+             ((current-build-output-port port))
+             (build-derivations
+               %store
+               (list d)
+               (build-mode check))))))
+     "@ build-succeeded"))
@ build-started /home/dave/aur/guix/src/guix/t/store/5ng634q1hsrm47cxgfp9hz5iyspfpcnx-foo.drv - x86_64-linux /home/dave/aur/guix/src/guix/t/var/log/guix/drvs/5n//g634q1hsrm47cxgfp9hz5iyspfpcnx-foo.drv.bz2 141398
@ build-succeeded /home/dave/aur/guix/src/guix/t/store/5ng634q1hsrm47cxgfp9hz5iyspfpcnx-foo.drv -
actual-value: 332
result: PASS

test-name: build multiple times
location: /home/dave/aur/guix/src/guix/tests/store.scm:953
source:
+ (test-assert
+   "build multiple times"
+   (with-store
+     store
+     (set-build-options
+       store
+       #:rounds
+       2
+       #:use-substitutes?
+       #f)
+     (call-with-temporary-output-file
+       (lambda (entropy entropy-port)
+         (write (random-text) entropy-port)
+         (force-output entropy-port)
+         (let* ((drv (build-expression->derivation
+                       store
+                       "non-deterministic"
+                       `(begin
+                          (use-modules (rnrs io ports))
+                          (let ((out (assoc-ref %outputs "out")))
+                            (call-with-output-file
+                              out
+                              (lambda (port)
+                                (display
+                                  (call-with-input-file
+                                    ,entropy
+                                    get-string-all)
+                                  port)
+                                (call-with-output-file
+                                  ,entropy
+                                  (lambda (port) (write 'foobar port)))))
+                            #t))
+                       #:guile-for-build
+                       (package-derivation
+                         store
+                         %bootstrap-guile
+                         (%current-system))))
+                (file (derivation->output-path drv)))
+           (guard (c ((store-protocol-error? c)
+                      (pk 'multiple-build c)
+                      (and (not (zero? (store-protocol-error-status c)))
+                           (string-contains
+                             (store-protocol-error-message c)
+                             "deterministic"))))
+                  (current-build-output-port (current-error-port))
+                  (build-things
+                    store
+                    (list (derivation-file-name drv)))
+                  #f))))))
@ build-started /home/dave/aur/guix/src/guix/t/store/g6gfx79fxp76wjj6wn79wyhpac3dy0lf-non-deterministic.drv - x86_64-linux /home/dave/aur/guix/src/guix/t/var/log/guix/drvs/g6//gfx79fxp76wjj6wn79wyhpac3dy0lf-non-deterministic.drv.bz2 141473
@ build-started /home/dave/aur/guix/src/guix/t/store/g6gfx79fxp76wjj6wn79wyhpac3dy0lf-non-deterministic.drv - x86_64-linux /home/dave/aur/guix/src/guix/t/var/log/guix/drvs/g6//gfx79fxp76wjj6wn79wyhpac3dy0lf-non-deterministic.drv.bz2 141495
output ?/home/dave/aur/guix/src/guix/t/store/nirpvdgk7s3brk7x2ffaih4fw4csgc2m-non-deterministic? of ?/home/dave/aur/guix/src/guix/t/store/g6gfx79fxp76wjj6wn79wyhpac3dy0lf-non-deterministic.drv? differs from previous round
@ build-failed /home/dave/aur/guix/src/guix/t/store/g6gfx79fxp76wjj6wn79wyhpac3dy0lf-non-deterministic.drv - 1 output ?/home/dave/aur/guix/src/guix/t/store/nirpvdgk7s3brk7x2ffaih4fw4csgc2m-non-deterministic? of ?/home/dave/aur/guix/src/guix/t/store/g6gfx79fxp76wjj6wn79wyhpac3dy0lf-non-deterministic.drv? differs from previous round

;;; (multiple-build #<condition &store-protocol-error [message: "build of `/home/dave/aur/guix/src/guix/t/store/g6gfx79fxp76wjj6wn79wyhpac3dy0lf-non-deterministic.drv' failed" status: 1] 7fd136d91660>)
actual-value: 84
result: PASS

test-name: store-lower
location: /home/dave/aur/guix/src/guix/tests/store.scm:991
source:
+ (test-equal
+   "store-lower"
+   "Lowered."
+   (let* ((add (store-lower text-file))
+          (file (add %store "foo" "Lowered.")))
+     (call-with-input-file file get-string-all)))
expected-value: "Lowered."
actual-value: "Lowered."
result: PASS

test-name: current-system
location: /home/dave/aur/guix/src/guix/tests/store.scm:997
source:
+ (test-equal
+   "current-system"
+   "bar"
+   (parameterize
+     ((%current-system "frob"))
+     (run-with-store
+       %store
+       (mbegin
+         %store-monad
+         (set-current-system "bar")
+         (current-system))
+       #:system
+       "foo")))
expected-value: "bar"
actual-value: "bar"
result: PASS

test-name: query-path-info
location: /home/dave/aur/guix/src/guix/tests/store.scm:1006
source:
+ (test-assert
+   "query-path-info"
+   (let* ((ref (add-text-to-store %store "ref" "foo"))
+          (item (add-text-to-store
+                  %store
+                  "item"
+                  "bar"
+                  (list ref)))
+          (info (query-path-info %store item)))
+     (and (equal? (path-info-references info) (list ref))
+          (equal?
+            (path-info-hash info)
+            (sha256
+              (string->utf8
+                (call-with-output-string
+                  (cut write-file item <>))))))))
actual-value: #t
result: PASS

test-name: path-info-deriver
location: /home/dave/aur/guix/src/guix/tests/store.scm:1016
source:
+ (test-assert
+   "path-info-deriver"
+   (let* ((b (add-text-to-store
+               %store
+               "build"
+               "echo $foo > $out"
+               '()))
+          (s (add-to-store
+               %store
+               "bash"
+               #t
+               "sha256"
+               (search-bootstrap-binary
+                 "bash"
+                 (%current-system))))
+          (d (derivation
+               %store
+               "the-thing"
+               s
+               `("-e" ,b)
+               #:env-vars
+               `(("foo" unquote (random-text)))
+               #:inputs
+               `((,b) (,s))))
+          (o (derivation->output-path d)))
+     (and (build-derivations %store (list d))
+          (not (path-info-deriver (query-path-info %store b)))
+          (string=?
+            (derivation-file-name d)
+            (path-info-deriver (query-path-info %store o))))))
warning: in 'the-thing': deprecated 'derivation' calling convention used
warning: in 'the-thing': deprecated 'derivation' calling convention used
warning: in 'the-thing': deprecated 'derivation' calling convention used
warning: in 'the-thing': deprecated 'derivation' calling convention used
@ build-started /home/dave/aur/guix/src/guix/t/store/gjbw85h11bzi4w80lxkif2kmypp5d8g6-the-thing.drv - x86_64-linux /home/dave/aur/guix/src/guix/t/var/log/guix/drvs/gj//bw85h11bzi4w80lxkif2kmypp5d8g6-the-thing.drv.bz2 141586
@ build-succeeded /home/dave/aur/guix/src/guix/t/store/gjbw85h11bzi4w80lxkif2kmypp5d8g6-the-thing.drv -
actual-value: #t
result: PASS

test-name: build-cores
location: /home/dave/aur/guix/src/guix/tests/store.scm:1031
source:
+ (test-equal
+   "build-cores"
+   (list 0 42)
+   (with-store
+     store
+     (let* ((build (add-text-to-store
+                     store
+                     "build.sh"
+                     "echo $NIX_BUILD_CORES > $out"))
+            (bash (add-to-store
+                    store
+                    "bash"
+                    #t
+                    "sha256"
+                    (search-bootstrap-binary
+                      "bash"
+                      (%current-system))))
+            (drv1 (derivation
+                    store
+                    "the-thing"
+                    bash
+                    `("-e" ,build)
+                    #:inputs
+                    `((,bash) (,build))
+                    #:env-vars
+                    `(("x" unquote (random-text)))))
+            (drv2 (derivation
+                    store
+                    "the-thing"
+                    bash
+                    `("-e" ,build)
+                    #:inputs
+                    `((,bash) (,build))
+                    #:env-vars
+                    `(("x" unquote (random-text))))))
+       (and (build-derivations store (list drv1))
+            (begin
+              (set-build-options store #:build-cores 42)
+              (build-derivations store (list drv2)))
+            (list (call-with-input-file
+                    (derivation->output-path drv1)
+                    read)
+                  (call-with-input-file
+                    (derivation->output-path drv2)
+                    read))))))
warning: in 'the-thing': deprecated 'derivation' calling convention used
warning: in 'the-thing': deprecated 'derivation' calling convention used
warning: in 'the-thing': deprecated 'derivation' calling convention used
warning: in 'the-thing': deprecated 'derivation' calling convention used
warning: in 'the-thing': deprecated 'derivation' calling convention used
warning: in 'the-thing': deprecated 'derivation' calling convention used
warning: in 'the-thing': deprecated 'derivation' calling convention used
warning: in 'the-thing': deprecated 'derivation' calling convention used
substitute: warning: authentication and authorization of substitutes disabled!
substitute: guix substitute: warning: ACL for archive imports seems to be uninitialized, substitutes may be unavailable
building path(s) `/home/dave/aur/guix/src/guix/t/store/i73vxjg8mjfmisbnczf6lvfb1736fhr8-the-thing'
@ build-started /home/dave/aur/guix/src/guix/t/store/3aa2ayr0b22lyhds6850jxiiryf1ghd7-the-thing.drv - x86_64-linux /home/dave/aur/guix/src/guix/t/var/log/guix/drvs/3a//a2ayr0b22lyhds6850jxiiryf1ghd7-the-thing.drv.bz2 141811
@ build-succeeded /home/dave/aur/guix/src/guix/t/store/3aa2ayr0b22lyhds6850jxiiryf1ghd7-the-thing.drv -
expected-value: (0 42)
actual-value: (0 42)
result: PASS

test-name: multiplexed-build-output
location: /home/dave/aur/guix/src/guix/tests/store.scm:1056
source:
+ (test-equal
+   "multiplexed-build-output"
+   '("Hello from first." "Hello from second.")
+   (with-store
+     store
+     (let* ((build (add-text-to-store
+                     store
+                     "build.sh"
+                     "echo Hello from $NAME.; echo > $out"))
+            (bash (add-to-store
+                    store
+                    "bash"
+                    #t
+                    "sha256"
+                    (search-bootstrap-binary
+                      "bash"
+                      (%current-system))))
+            (drv1 (derivation
+                    store
+                    "one"
+                    bash
+                    `("-e" ,build)
+                    #:inputs
+                    `((,bash) (,build))
+                    #:env-vars
+                    `(("NAME" . "first") ("x" unquote (random-text)))))
+            (drv2 (derivation
+                    store
+                    "two"
+                    bash
+                    `("-e" ,build)
+                    #:inputs
+                    `((,bash) (,build))
+                    #:env-vars
+                    `(("NAME" . "second") ("x" unquote (random-text))))))
+       (set-build-options
+         store
+         #:print-build-trace
+         #t
+         #:multiplexed-build-output?
+         #t
+         #:max-build-jobs
+         10)
+       (let ((port (open-output-string)))
+         (parameterize
+           ((current-build-output-port port))
+           (build-derivations store (list drv1 drv2)))
+         (let* ((log (get-output-string port))
+                (started
+                  (fold-matches
+                    (make-regexp
+                      "@ build-started ([^ ]+) - ([^ ]+) ([^ ]+) ([0-9]+)")
+                    log
+                    '()
+                    cons))
+                (done (fold-matches
+                        (make-regexp
+                          "@ build-succeeded (.*) - (.*) (.*) (.*)")
+                        log
+                        '()
+                        cons))
+                (output
+                  (fold-matches
+                    (make-regexp
+                      "@ build-log ([[:digit:]]+) ([[:digit:]]+)\n([A-Za-z .*]+)\n")
+                    log
+                    '()
+                    cons))
+                (drv-pid
+                  (lambda (name)
+                    (lambda (m)
+                      (let ((drv (match:substring m 1))
+                            (pid (string->number (match:substring m 4))))
+                        (and (string-suffix? name drv) pid)))))
+                (pid-log
+                  (lambda (pid)
+                    (lambda (m)
+                      (let ((n (string->number (match:substring m 1)))
+                            (len (string->number (match:substring m 2)))
+                            (str (match:substring m 3)))
+                        (and (= pid n)
+                             (= (string-length str) (- len 1))
+                             str)))))
+                (pid1 (any (drv-pid "one.drv") started))
+                (pid2 (any (drv-pid "two.drv") started)))
+           (list (any (pid-log pid1) output)
+                 (any (pid-log pid2) output)))))))
expected-value: ("Hello from first." "Hello from second.")
actual-value: ("Hello from first." "Hello from second.")
result: PASS

warning: in 'one': deprecated 'derivation' calling convention used
warning: in 'one': deprecated 'derivation' calling convention used
warning: in 'one': deprecated 'derivation' calling convention used
warning: in 'one': deprecated 'derivation' calling convention used
warning: in 'two': deprecated 'derivation' calling convention used
warning: in 'two': deprecated 'derivation' calling convention used
warning: in 'two': deprecated 'derivation' calling convention used
warning: in 'two': deprecated 'derivation' calling convention used

SKIP: tests/syscalls
====================

test-name: mount, ENOENT
location: /home/dave/aur/guix/src/guix/tests/syscalls.scm:40
source:
+ (test-equal
+   "mount, ENOENT"
+   ENOENT
+   (catch 'system-error
+          (lambda ()
+            (mount "/dev/null" "/does-not-exist" "ext2")
+            #f)
+          (compose system-error-errno list)))
expected-value: 2
actual-value: 2
result: PASS

test-name: umount, ENOENT/EPERM
location: /home/dave/aur/guix/src/guix/tests/syscalls.scm:48
source:
+ (test-assert
+   "umount, ENOENT/EPERM"
+   (catch 'system-error
+          (lambda () (umount "/does-not-exist") #f)
+          (lambda args
+            (memv (system-error-errno args)
+                  (list EPERM ENOENT)))))
actual-value: (1 2)
result: PASS

test-name: mount-points
location: /home/dave/aur/guix/src/guix/tests/syscalls.scm:57
source:
+ (test-assert
+   "mount-points"
+   (any (cute member <> (mount-points))
+        '("/" "/proc" "/sys" "/dev")))
actual-value: ("/" "/sys/kernel/security" "/dev/shm" "/dev/pts" "/sys/fs/cgroup" "/sys/fs/cgroup/unified" "/sys/fs/cgroup/systemd" "/sys/fs/pstore" "/sys/fs/bpf" "/sys/fs/cgroup/memory" "/sys/fs/cgroup/rdma" "/sys/fs/cgroup/cpuset" "/sys/fs/cgroup/hugetlb" "/sys/fs/cgroup/net_cls,net_prio" "/sys/fs/cgroup/perf_event" "/sys/fs/cgroup/devices" "/sys/fs/cgroup/blkio" "/sys/fs/cgroup/cpu,cpuacct" "/sys/fs/cgroup/freezer" "/sys/fs/cgroup/pids" "/proc/sys/fs/binfmt_misc" "/dev/hugepages" "/dev/mqueue" "/sys/kernel/debug" "/tmp" "/sys/kernel/config" "/proc/sys/fs/binfmt_misc" "/boot" "/run/user/1000")
result: PASS

test-name: utime with AT_SYMLINK_NOFOLLOW
location: /home/dave/aur/guix/src/guix/tests/syscalls.scm:64
source:
+ (test-equal
+   "utime with AT_SYMLINK_NOFOLLOW"
+   '(0 0)
+   (begin
+     (symlink "/nowhere" temp-file)
+     (utime temp-file 0 0 0 0 AT_SYMLINK_NOFOLLOW)
+     (let ((st (lstat temp-file)))
+       (delete-file temp-file)
+       (list (stat:mtime st) (stat:atime st)))))
expected-value: (0 0)
actual-value: (0 0)
result: PASS

test-name: swapon, ENOENT/EPERM
location: /home/dave/aur/guix/src/guix/tests/syscalls.scm:76
source:
+ (test-assert
+   "swapon, ENOENT/EPERM"
+   (catch 'system-error
+          (lambda () (swapon "/does-not-exist") #f)
+          (lambda args
+            (memv (system-error-errno args)
+                  (list EPERM ENOENT)))))
actual-value: (1 2)
result: PASS

test-name: swapoff, ENOENT/EINVAL/EPERM
location: /home/dave/aur/guix/src/guix/tests/syscalls.scm:84
source:
+ (test-assert
+   "swapoff, ENOENT/EINVAL/EPERM"
+   (catch 'system-error
+          (lambda () (swapoff "/does-not-exist") #f)
+          (lambda args
+            (memv (system-error-errno args)
+                  (list EPERM EINVAL ENOENT)))))
actual-value: (1 22 2)
result: PASS

test-name: mkdtemp!
location: /home/dave/aur/guix/src/guix/tests/syscalls.scm:92
source:
+ (test-assert
+   "mkdtemp!"
+   (let* ((tmp (or (getenv "TMPDIR") "/tmp"))
+          (dir (mkdtemp!
+                 (string-append tmp "/guix-test-XXXXXX"))))
+     (and (file-exists? dir) (begin (rmdir dir) #t))))
actual-value: #t
result: PASS

test-name: statfs, ENOENT
location: /home/dave/aur/guix/src/guix/tests/syscalls.scm:100
source:
+ (test-equal
+   "statfs, ENOENT"
+   ENOENT
+   (catch 'system-error
+          (lambda () (statfs "/does-not-exist"))
+          (compose system-error-errno list)))
expected-value: 2
actual-value: 2
result: PASS

test-name: statfs
location: /home/dave/aur/guix/src/guix/tests/syscalls.scm:107
source:
+ (test-assert
+   "statfs"
+   (let ((fs (statfs "/")))
+     (and (file-system? fs)
+          (> (file-system-block-size fs) 0)
+          (>= (file-system-blocks-available fs) 0)
+          (>= (file-system-blocks-free fs)
+              (file-system-blocks-available fs)))))
actual-value: #t
result: PASS

test-name: clone
location: /home/dave/aur/guix/src/guix/tests/syscalls.scm:124
source:
+ (test-assert
+   "clone"
+   (match (clone (logior CLONE_NEWUSER SIGCHLD))
+          (0 (primitive-exit 42))
+          (pid (and (not (equal?
+                           (readlink (user-namespace pid))
+                           (readlink (user-namespace (getpid)))))
+                    (match (waitpid pid)
+                           ((_ . status) (= 42 (status:exit-val status))))))))
actual-value: #t
result: PASS

test-name: setns
location: /home/dave/aur/guix/src/guix/tests/syscalls.scm:137
source:
+ (test-assert
+   "setns"
+   (match (clone (logior CLONE_NEWUSER SIGCHLD))
+          (0 (primitive-exit 0))
+          (clone-pid
+            (match (pipe)
+                   ((in . out)
+                    (match (primitive-fork)
+                           (0
+                            (close in)
+                            (call-with-input-file
+                              (user-namespace clone-pid)
+                              (lambda (port) (setns (port->fdes port) 0)))
+                            (write 'done out)
+                            (close out)
+                            (primitive-exit 0))
+                           (fork-pid
+                             (close out)
+                             (read in)
+                             (let ((result
+                                     (and (equal?
+                                            (readlink
+                                              (user-namespace clone-pid))
+                                            (readlink
+                                              (user-namespace fork-pid))))))
+                               (waitpid clone-pid)
+                               (waitpid fork-pid)
+                               result))))))))
actual-value: #t
result: PASS

test-name: pivot-root
location: /home/dave/aur/guix/src/guix/tests/syscalls.scm:175
source:
+ (test-equal
+   "pivot-root"
+   #t
+   (match (pipe)
+          ((in . out)
+           (match (clone (logior CLONE_NEWUSER CLONE_NEWNS SIGCHLD))
+                  (0
+                   (dynamic-wind
+                     (const #t)
+                     (lambda ()
+                       (close in)
+                       (call-with-temporary-directory
+                         (lambda (root)
+                           (let ((put-old (string-append root "/real-root")))
+                             (mount "none" root "tmpfs")
+                             (mkdir put-old)
+                             (call-with-output-file
+                               (string-append root "/test")
+                               (lambda (port) (display "testing\n" port)))
+                             (pivot-root root put-old)
+                             (write (file-exists? "/test") out)
+                             (close out)))))
+                     (lambda () (primitive-exit 0))))
+                  (pid (close out)
+                       (let ((result (read in)))
+                         (close in)
+                         (and (zero? (match (waitpid pid)
+                                            ((_ . status)
+                                             (status:exit-val status))))
+                              (eq? #t result))))))))
result: SKIP

test-name: scandir*, ENOENT
location: /home/dave/aur/guix/src/guix/tests/syscalls.scm:208
source:
+ (test-equal
+   "scandir*, ENOENT"
+   ENOENT
+   (catch 'system-error
+          (lambda () (scandir* "/does/not/exist"))
+          (lambda args (system-error-errno args))))
expected-value: 2
actual-value: 2
result: PASS

test-name: scandir*, ASCII file names
location: /home/dave/aur/guix/src/guix/tests/syscalls.scm:216
source:
+ (test-equal
+   "scandir*, ASCII file names"
+   (scandir
+     (dirname
+       (search-path %load-path "guix/base32.scm"))
+     (const #t)
+     string<?)
+   (match (scandir*
+            (dirname
+              (search-path %load-path "guix/base32.scm")))
+          (((names . properties) ...) names)))
expected-value: ("." ".." "base16.go" "base16.scm" "base32.go" "base32.scm" "base64.go" "base64.scm" "build" "build-system" "build-system.go" "build-system.scm" "bzr-download.go" "bzr-download.scm" "cache.go" "cache.scm" "channels.go" "channels.scm" "ci.go" "ci.scm" "colors.go" "colors.scm" "combinators.go" "combinators.scm" "config.go" "config.scm" "config.scm.in" "cpio.go" "cpio.scm" "cve.go" "cve.scm" "cvs-download.go" "cvs-download.scm" "deprecation.go" "deprecation.scm" "derivations.go" "derivations.scm" "describe.go" "describe.scm" "diagnostics.go" "diagnostics.scm" "discovery.go" "discovery.scm" "docker.go" "docker.scm" "download.go" "download.scm" "elf.go" "elf.scm" "ftp-client.go" "ftp-client.scm" "gexp.go" "gexp.scm" "git-download.go" "git-download.scm" "git.go" "git.scm" "glob.go" "glob.scm" "gnu-maintenance.go" "gnu-maintenance.scm" "gnupg.go" "gnupg.scm" "grafts.go" "grafts.scm" "graph.go" "graph.scm" "hg-download.go" "hg-download.scm" "http-client.go" "http-client.scm" "i18n.go" "i18n.scm" "import" "inferior.go" "inferior.scm" "json.go" "json.scm" "licenses.go" "licenses.scm" "lint.go" "lint.scm" "lzlib.go" "lzlib.scm" "man-db.scm" "memoization.go" "memoization.scm" "modules.go" "modules.scm" "monad-repl.go" "monad-repl.scm" "monads.go" "monads.scm" "nar.go" "nar.scm" "packages.go" "packages.scm" "pki.go" "pki.scm" "profiles.go" "profiles.scm" "profiling.go" "profiling.scm" "progress.go" "progress.scm" "records.go" "records.scm" "remote.go" "remote.scm" "repl.go" "repl.scm" "scripts" "scripts.go" "scripts.scm" "search-paths.go" "search-paths.scm" "self.go" "self.scm" "serialization.go" "serialization.scm" "sets.go" "sets.scm" "ssh.go" "ssh.scm" "status.go" "status.scm" "store" "store.go" "store.scm" "svn-download.go" "svn-download.scm" "swh.go" "swh.scm" "tests" "tests.go" "tests.scm" "ui.go" "ui.scm" "upstream.go" "upstream.scm" "utils.go" "utils.scm" "workers.go" "workers.scm" "zlib.go" "zlib.scm")
actual-value: ("." ".." "base16.go" "base16.scm" "base32.go" "base32.scm" "base64.go" "base64.scm" "build" "build-system" "build-system.go" "build-system.scm" "bzr-download.go" "bzr-download.scm" "cache.go" "cache.scm" "channels.go" "channels.scm" "ci.go" "ci.scm" "colors.go" "colors.scm" "combinators.go" "combinators.scm" "config.go" "config.scm" "config.scm.in" "cpio.go" "cpio.scm" "cve.go" "cve.scm" "cvs-download.go" "cvs-download.scm" "deprecation.go" "deprecation.scm" "derivations.go" "derivations.scm" "describe.go" "describe.scm" "diagnostics.go" "diagnostics.scm" "discovery.go" "discovery.scm" "docker.go" "docker.scm" "download.go" "download.scm" "elf.go" "elf.scm" "ftp-client.go" "ftp-client.scm" "gexp.go" "gexp.scm" "git-download.go" "git-download.scm" "git.go" "git.scm" "glob.go" "glob.scm" "gnu-maintenance.go" "gnu-maintenance.scm" "gnupg.go" "gnupg.scm" "grafts.go" "grafts.scm" "graph.go" "graph.scm" "hg-download.go" "hg-download.scm" "http-client.go" "http-client.scm" "i18n.go" "i18n.scm" "import" "inferior.go" "inferior.scm" "json.go" "json.scm" "licenses.go" "licenses.scm" "lint.go" "lint.scm" "lzlib.go" "lzlib.scm" "man-db.scm" "memoization.go" "memoization.scm" "modules.go" "modules.scm" "monad-repl.go" "monad-repl.scm" "monads.go" "monads.scm" "nar.go" "nar.scm" "packages.go" "packages.scm" "pki.go" "pki.scm" "profiles.go" "profiles.scm" "profiling.go" "profiling.scm" "progress.go" "progress.scm" "records.go" "records.scm" "remote.go" "remote.scm" "repl.go" "repl.scm" "scripts" "scripts.go" "scripts.scm" "search-paths.go" "search-paths.scm" "self.go" "self.scm" "serialization.go" "serialization.scm" "sets.go" "sets.scm" "ssh.go" "ssh.scm" "status.go" "status.scm" "store" "store.go" "store.scm" "svn-download.go" "svn-download.scm" "swh.go" "swh.scm" "tests" "tests.go" "tests.scm" "ui.go" "ui.scm" "upstream.go" "upstream.scm" "utils.go" "utils.scm" "workers.go" "workers.scm" "zlib.go" "zlib.scm")
result: PASS

test-name: scandir*, UTF-8 file names
location: /home/dave/aur/guix/src/guix/tests/syscalls.scm:223
source:
+ (test-equal
+   "scandir*, UTF-8 file names"
+   '("." ".." "?" "?")
+   (call-with-temporary-directory
+     (lambda (directory)
+       (let ((creat (pointer->procedure
+                      int
+                      (dynamic-func "creat" (dynamic-link))
+                      (list '* int))))
+         (creat (string->pointer
+                  (string-append directory "/?")
+                  "UTF-8")
+                420)
+         (creat (string->pointer
+                  (string-append directory "/?")
+                  "UTF-8")
+                420)
+         (let ((locale (setlocale LC_ALL)))
+           (dynamic-wind
+             (lambda () (setlocale LC_ALL "C"))
+             (lambda ()
+               (match (scandir* directory)
+                      (((names . properties) ...) names)))
+             (lambda () (setlocale LC_ALL locale))))))))
expected-value: ("." ".." "?" "?")
actual-value: ("." ".." "?" "?")
result: PASS

test-name: scandir*, properties
location: /home/dave/aur/guix/src/guix/tests/syscalls.scm:250
source:
+ (test-assert
+   "scandir*, properties"
+   (let ((directory
+           (dirname
+             (search-path %load-path "guix/base32.scm"))))
+     (every (lambda (entry name)
+              (match entry
+                     ((name2 . properties)
+                      (and (string=? name2 name)
+                           (let* ((full (string-append directory "/" name))
+                                  (stat (lstat full))
+                                  (inode (assoc-ref properties 'inode))
+                                  (type (assoc-ref properties 'type)))
+                             (and (= inode (stat:ino stat))
+                                  (or (eq? type 'unknown)
+                                      (eq? type (stat:type stat)))))))))
+            (scandir* directory)
+            (scandir directory (const #t) string<?))))
actual-value: #t
result: PASS

test-name: fcntl-flock wait
location: /home/dave/aur/guix/src/guix/tests/syscalls.scm:267
source:
+ (test-equal
+   "fcntl-flock wait"
+   42
+   (let ((file (open-file temp-file "w0b")))
+     (fcntl-flock file 'write-lock)
+     (match (primitive-fork)
+            (0
+             (dynamic-wind
+               (const #t)
+               (lambda ()
+                 (let ((file (open-file temp-file "r0b")))
+                   (fcntl-flock file 'read-lock)
+                   (primitive-exit (read file)))
+                 (primitive-exit 1))
+               (lambda () (primitive-exit 2))))
+            (pid (display "hello, world!" file)
+                 (force-output file)
+                 (sleep 1)
+                 (seek file 0 SEEK_SET)
+                 (truncate-file file 0)
+                 (write 42 file)
+                 (force-output file)
+                 (fcntl-flock file 'unlock)
+                 (match (waitpid pid)
+                        ((_ . status)
+                         (let ((result (status:exit-val status)))
+                           (close-port file)
+                           result)))))))
warning: failed to delete /tmp/guix-directory.vQ2IWh/??: No such file or directory
warning: failed to delete /tmp/guix-directory.vQ2IWh/??: No such file or directory
expected-value: 42
actual-value: 42
result: PASS

test-name: fcntl-flock non-blocking
location: /home/dave/aur/guix/src/guix/tests/syscalls.scm:306
source:
+ (test-equal
+   "fcntl-flock non-blocking"
+   EAGAIN
+   (match (pipe)
+          ((input . output)
+           (match (primitive-fork)
+                  (0
+                   (dynamic-wind
+                     (const #t)
+                     (lambda ()
+                       (close-port output)
+                       (read-char input)
+                       (let ((file (open-file temp-file "w0")))
+                         (catch 'flock-error
+                                (lambda ()
+                                  (fcntl-flock file 'write-lock #:wait? #f))
+                                (lambda (key errno)
+                                  (primitive-exit (pk 'errno errno)))))
+                       (primitive-exit -1))
+                     (lambda () (primitive-exit -2))))
+                  (pid (close-port input)
+                       (let ((file (open-file temp-file "w0")))
+                         (fcntl-flock file 'write-lock)
+                         (write 'green-light output)
+                         (force-output output)
+                         (match (waitpid pid)
+                                ((_ . status)
+                                 (let ((result (status:exit-val status)))
+                                   (fcntl-flock file 'unlock)
+                                   (close-port file)
+                                   result)))))))))

;;; (errno 11)
warning: failed to delete /tmp/guix-directory.vQ2IWh/??: No such file or directory
warning: failed to delete /tmp/guix-directory.vQ2IWh/??: No such file or directory
expected-value: 11
actual-value: 11
result: PASS

test-name: set-thread-name
location: /home/dave/aur/guix/src/guix/tests/syscalls.scm:348
source:
+ (test-equal
+   "set-thread-name"
+   "Syscall Test"
+   (let ((name (thread-name)))
+     (set-thread-name "Syscall Test")
+     (let ((new-name (thread-name)))
+       (set-thread-name name)
+       new-name)))
expected-value: "Syscall Test"
actual-value: "Syscall Test"
result: PASS

test-name: all-network-interface-names
location: /home/dave/aur/guix/src/guix/tests/syscalls.scm:356
source:
+ (test-assert
+   "all-network-interface-names"
+   (match (all-network-interface-names)
+          (((? string? names) ..1) (member "lo" names))))
actual-value: ("lo" "enp34s0")
result: PASS

test-name: network-interface-names
location: /home/dave/aur/guix/src/guix/tests/syscalls.scm:361
source:
+ (test-assert
+   "network-interface-names"
+   (match (network-interface-names)
+          (((? string? names) ..1)
+           (lset<=
+             string=?
+             names
+             (all-network-interface-names)))))
actual-value: #t
result: PASS

test-name: network-interface-flags
location: /home/dave/aur/guix/src/guix/tests/syscalls.scm:366
source:
+ (test-assert
+   "network-interface-flags"
+   (let* ((sock (socket AF_INET SOCK_STREAM 0))
+          (flags (network-interface-flags sock "lo")))
+     (close-port sock)
+     (and (not (zero? (logand flags IFF_LOOPBACK)))
+          (not (zero? (logand flags IFF_UP))))))
actual-value: #t
result: PASS

test-name: loopback-network-interface?
location: /home/dave/aur/guix/src/guix/tests/syscalls.scm:373
source:
+ (test-equal
+   "loopback-network-interface?"
+   ENODEV
+   (and (loopback-network-interface? "lo")
+        (catch 'system-error
+               (lambda ()
+                 (loopback-network-interface? "nonexistent")
+                 #f)
+               (lambda args (system-error-errno args)))))
expected-value: 19
actual-value: 19
result: PASS

test-name: loopback-network-interface-running?
location: /home/dave/aur/guix/src/guix/tests/syscalls.scm:383
source:
+ (test-equal
+   "loopback-network-interface-running?"
+   ENODEV
+   (and (network-interface-running? "lo")
+        (catch 'system-error
+               (lambda ()
+                 (network-interface-running? "nonexistent")
+                 #f)
+               (lambda args (system-error-errno args)))))
expected-value: 19
actual-value: 19
result: PASS

test-name: set-network-interface-flags
location: /home/dave/aur/guix/src/guix/tests/syscalls.scm:394
source:
+ (test-assert
+   "set-network-interface-flags"
+   (let ((sock (socket AF_INET SOCK_STREAM 0)))
+     (catch 'system-error
+            (lambda ()
+              (set-network-interface-flags sock "lo" IFF_UP))
+            (lambda args
+              (close-port sock)
+              (memv (system-error-errno args)
+                    (list EPERM EACCES))))))
actual-value: (1 13)
result: PASS

test-name: network-interface-address lo
location: /home/dave/aur/guix/src/guix/tests/syscalls.scm:404
source:
+ (test-equal
+   "network-interface-address lo"
+   (make-socket-address
+     AF_INET
+     (inet-pton AF_INET "127.0.0.1")
+     0)
+   (let* ((sock (socket AF_INET SOCK_STREAM 0))
+          (addr (network-interface-address sock "lo")))
+     (close-port sock)
+     addr))
expected-value: #(2 2130706433 0)
actual-value: #(2 2130706433 0)
result: PASS

test-name: set-network-interface-address
location: /home/dave/aur/guix/src/guix/tests/syscalls.scm:412
source:
+ (test-assert
+   "set-network-interface-address"
+   (let ((sock (socket AF_INET SOCK_STREAM 0)))
+     (catch 'system-error
+            (lambda ()
+              (set-network-interface-address
+                sock
+                "nonexistent"
+                (make-socket-address
+                  AF_INET
+                  (inet-pton AF_INET "127.12.14.15")
+                  0)))
+            (lambda args
+              (close-port sock)
+              (memv (system-error-errno args)
+                    (list EPERM EACCES))))))
actual-value: (1 13)
result: PASS

test-name: network-interface-netmask lo
location: /home/dave/aur/guix/src/guix/tests/syscalls.scm:426
source:
+ (test-equal
+   "network-interface-netmask lo"
+   (make-socket-address
+     AF_INET
+     (inet-pton AF_INET "255.0.0.0")
+     0)
+   (let* ((sock (socket AF_INET SOCK_STREAM 0))
+          (addr (network-interface-netmask sock "lo")))
+     (close-port sock)
+     addr))
expected-value: #(2 4278190080 0)
actual-value: #(2 4278190080 0)
result: PASS

test-name: set-network-interface-netmask
location: /home/dave/aur/guix/src/guix/tests/syscalls.scm:434
source:
+ (test-assert
+   "set-network-interface-netmask"
+   (let ((sock (socket AF_INET SOCK_STREAM 0)))
+     (catch 'system-error
+            (lambda ()
+              (set-network-interface-netmask
+                sock
+                "nonexistent"
+                (make-socket-address
+                  AF_INET
+                  (inet-pton AF_INET "255.0.0.0")
+                  0)))
+            (lambda args
+              (close-port sock)
+              (memv (system-error-errno args)
+                    (list EPERM EACCES))))))
actual-value: (1 13)
result: PASS

test-name: network-interfaces returns one or more interfaces
location: /home/dave/aur/guix/src/guix/tests/syscalls.scm:447
source:
+ (test-equal
+   "network-interfaces returns one or more interfaces"
+   '(#t #t #t)
+   (match (network-interfaces)
+          ((interfaces ..1)
+           (list (every interface? interfaces)
+                 (every string? (map interface-name interfaces))
+                 (every (lambda (sockaddr)
+                          (or (vector? sockaddr) (not sockaddr)))
+                        (map interface-address interfaces))))))
expected-value: (#t #t #t)
actual-value: (#t #t #t)
result: PASS

test-name: network-interfaces returns "lo"
location: /home/dave/aur/guix/src/guix/tests/syscalls.scm:459
source:
+ (test-equal
+   "network-interfaces returns \"lo\""
+   (list #t
+         (make-socket-address
+           AF_INET
+           (inet-pton AF_INET "127.0.0.1")
+           0))
+   (match (filter
+            (lambda (interface)
+              (string=? "lo" (interface-name interface)))
+            (network-interfaces))
+          ((loopbacks ..1)
+           (list (every (lambda (lo)
+                          (not (zero? (logand
+                                        IFF_LOOPBACK
+                                        (interface-flags lo)))))
+                        loopbacks)
+                 (match (find (lambda (lo)
+                                (= AF_INET
+                                   (sockaddr:fam (interface-address lo))))
+                              loopbacks)
+                        (#f #f)
+                        (lo (interface-address lo)))))))
expected-value: (#t #(2 2130706433 0))
actual-value: (#t #(2 2130706433 0))
result: PASS

test-name: add-network-route/gateway
location: /home/dave/aur/guix/src/guix/tests/syscalls.scm:475
source:
+ (test-assert
+   "add-network-route/gateway"
+   (let ((sock (socket AF_INET SOCK_STREAM 0))
+         (gateway
+           (make-socket-address
+             AF_INET
+             (inet-pton AF_INET "192.168.0.1")
+             0)))
+     (catch 'system-error
+            (lambda ()
+              (add-network-route/gateway sock gateway))
+            (lambda args
+              (close-port sock)
+              (memv (system-error-errno args)
+                    (list EPERM EACCES))))))
actual-value: (1 13)
result: PASS

test-name: delete-network-route
location: /home/dave/aur/guix/src/guix/tests/syscalls.scm:488
source:
+ (test-assert
+   "delete-network-route"
+   (let ((sock (socket AF_INET SOCK_STREAM 0))
+         (destination
+           (make-socket-address AF_INET INADDR_ANY 0)))
+     (catch 'system-error
+            (lambda ()
+              (delete-network-route sock destination))
+            (lambda args
+              (close-port sock)
+              (memv (system-error-errno args)
+                    (list EPERM EACCES))))))
actual-value: (1 13)
result: PASS

test-name: tcgetattr ENOTTY
location: /home/dave/aur/guix/src/guix/tests/syscalls.scm:498
source:
+ (test-equal
+   "tcgetattr ENOTTY"
+   ENOTTY
+   (catch 'system-error
+          (lambda ()
+            (call-with-input-file
+              "/dev/null"
+              (lambda (port) (tcgetattr (fileno port)))))
+          (compose system-error-errno list)))
expected-value: 25
actual-value: 25
result: PASS

test-name: tcgetattr
location: /home/dave/aur/guix/src/guix/tests/syscalls.scm:512
source:
+ (test-assert
+   "tcgetattr"
+   (let ((termios (tcgetattr 0)))
+     (and (termios? termios)
+          (> (termios-input-speed termios) 0)
+          (> (termios-output-speed termios) 0))))
actual-value: #t
result: PASS

test-name: tcsetattr
location: /home/dave/aur/guix/src/guix/tests/syscalls.scm:518
source:
+ (test-assert
+   "tcsetattr"
+   (let ((first (tcgetattr 0)))
+     (tcsetattr 0 (tcsetattr-action TCSANOW) first)
+     (equal? first (tcgetattr 0))))
actual-value: #t
result: PASS

test-name: terminal-window-size ENOTTY
location: /home/dave/aur/guix/src/guix/tests/syscalls.scm:523
source:
+ (test-assert
+   "terminal-window-size ENOTTY"
+   (call-with-input-file
+     "/dev/null"
+     (lambda (port)
+       (catch 'system-error
+              (lambda () (terminal-window-size port))
+              (lambda args
+                (memv (system-error-errno args)
+                      (list ENOTTY EINVAL)))))))
actual-value: (25 22)
result: PASS

test-name: terminal-columns
location: /home/dave/aur/guix/src/guix/tests/syscalls.scm:534
source:
+ (test-assert
+   "terminal-columns"
+   (> (terminal-columns) 0))
actual-value: #t
result: PASS

test-name: terminal-columns non-file port
location: /home/dave/aur/guix/src/guix/tests/syscalls.scm:537
source:
+ (test-assert
+   "terminal-columns non-file port"
+   (> (terminal-columns
+        (open-input-string
+          "Join us now, share the software!"))
+      0))
actual-value: #t
result: PASS

test-name: terminal-rows
location: /home/dave/aur/guix/src/guix/tests/syscalls.scm:541
source:
+ (test-assert
+   "terminal-rows"
+   (> (terminal-rows) 0))
actual-value: #t
result: PASS

test-name: utmpx-entries
location: /home/dave/aur/guix/src/guix/tests/syscalls.scm:544
source:
+ (test-assert
+   "utmpx-entries"
+   (match (utmpx-entries)
+          (((? utmpx? entries) ...)
+           (every (lambda (entry)
+                    (match (utmpx-user entry)
+                           ((? string?)
+                            (or (not (memv (utmpx-login-type entry)
+                                           (list (login-type INIT_PROCESS)
+                                                 (login-type LOGIN_PROCESS)
+                                                 (login-type USER_PROCESS))))
+                                (> (utmpx-pid entry) 0)))
+                           (#f #t)))
+                  entries))))
actual-value: #t
result: PASS

test-name: read-utmpx, EOF
location: /home/dave/aur/guix/src/guix/tests/syscalls.scm:561
source:
+ (test-assert
+   "read-utmpx, EOF"
+   (eof-object? (read-utmpx (%make-void-port "r"))))
actual-value: #t
result: PASS

test-name: read-utmpx
location: /home/dave/aur/guix/src/guix/tests/syscalls.scm:566
source:
+ (test-assert
+   "read-utmpx"
+   (let ((result
+           (call-with-input-file
+             "/var/run/utmpx"
+             read-utmpx)))
+     (or (utmpx? result) (eof-object? result))))
result: SKIP

warning: failed to delete /tmp/guix-directory.vQ2IWh/??: No such file or directory
warning: failed to delete /tmp/guix-directory.vQ2IWh/??: No such file or directory

SKIP: tests/upstream
====================

test-name: coalesce-sources same version
location: /home/dave/aur/guix/src/guix/tests/upstream.scm:30
source:
+ (test-equal
+   "coalesce-sources same version"
+   (list (upstream-source
+           (package "foo")
+           (version "1")
+           (urls '("ftp://example.org/foo-1.tar.xz"
+                   "ftp://example.org/foo-1.tar.gz"))
+           (signature-urls
+             '("ftp://example.org/foo-1.tar.xz.sig"
+               "ftp://example.org/foo-1.tar.gz.sig"))))
+   (coalesce-sources
+     (list (upstream-source
+             (package "foo")
+             (version "1")
+             (urls '("ftp://example.org/foo-1.tar.gz"))
+             (signature-urls
+               '("ftp://example.org/foo-1.tar.gz.sig")))
+           (upstream-source
+             (package "foo")
+             (version "1")
+             (urls '("ftp://example.org/foo-1.tar.xz"))
+             (signature-urls
+               '("ftp://example.org/foo-1.tar.xz.sig"))))))
result: SKIP

random seed for tests: 1574781006

FAIL: tests/guix-download
=========================

accepted connection from pid 141951, user dave
+ guix download --version
guix download (GNU Guix) 1.0.1.3489-0ed97
Copyright (C) 2019 the Guix authors
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
+ guix download http://does.not/exist
accepted connection from pid 142063, user dave

Starting download of /tmp/guix-file.u56WRl
From http://does.not/exist...
\r^[[K exist                                         4.1MiB/s 00:00 | 333B transferred\r^[[K exist                                         1.2MiB/s 00:00 | 333B transferred
/home/dave/aur/guix/src/guix/t/store/ycmdj8101l08n84liwdndmy5kgyrz074-exist
1yi31kb19m808zq7ggm3x0kq60qnl0w81has8llim060pvkqg910
+ false
FAIL tests/guix-download.sh (exit status: 1)

SKIP: tests/guix-pack-localstatedir
===================================

accepted connection from pid 148940, user dave
+ guix pack --version
guix pack (GNU Guix) 1.0.1.3489-0ed97
Copyright (C) 2019 the Guix authors
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
++ guile -c '(use-modules (guix config))(display %storedir)'
+ storedir=/gnu/store
++ guile -c '(use-modules (guix config))(display %localstatedir)'
+ localstatedir=/var
+ NIX_STORE_DIR=/gnu/store
+ GUIX_DAEMON_SOCKET=/var/guix/daemon-socket/socket
+ export NIX_STORE_DIR GUIX_DAEMON_SOCKET
+ guile -c '(use-modules (guix)) (exit (false-if-exception (open-connection)))'
Backtrace:
In ice-9/boot-9.scm:
  2726:13 19 (_)
In ice-9/threads.scm:
    390:8 18 (_ _)
In ice-9/boot-9.scm:
  2994:20 17 (_)
   2312:4 16 (save-module-excursion #<procedure 7fa1a46a2930 at ice-?>)
  3014:26 15 (_)
In unknown file:
          14 (primitive-load-path "guix/utils" #<procedure 7fa1a49cb?>)
In guix/utils.scm:
     26:0 13 (_)
In ice-9/boot-9.scm:
   2874:4 12 (define-module* _ #:filename _ #:pure _ #:version _ # _ ?)
  2887:24 11 (_)
   222:17 10 (map1 (((guix config)) ((srfi srfi-1)) ((srfi #)) (#) ?))
  2800:17  9 (resolve-interface (guix config) #:select _ #:hide _ # _ ?)
In ice-9/threads.scm:
    390:8  8 (_ _)
In ice-9/boot-9.scm:
  2726:13  7 (_)
In ice-9/threads.scm:
    390:8  6 (_ _)
In ice-9/boot-9.scm:
  2994:20  5 (_)
   2312:4  4 (save-module-excursion #<procedure 7fa1a46a28d0 at ice-?>)
  3014:26  3 (_)
In unknown file:
           2 (primitive-load-path "guix/config" #<procedure 7fa1a443?>)
In guix/config.scm:
     71:6  1 (_)
In unknown file:
           0 (canonicalize-path "/gnu/store")

ERROR: In procedure canonicalize-path:
In procedure canonicalize-path: No such file or directory
+ exit 77
SKIP tests/guix-pack-localstatedir.sh (exit status: 77)

SKIP: tests/guix-pack-relocatable
=================================

accepted connection from pid 148998, user dave
+ guix pack --version
guix pack (GNU Guix) 1.0.1.3489-0ed97
Copyright (C) 2019 the Guix authors
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
++ guile -c '(use-modules (guix config))(display %storedir)'
+ storedir=/gnu/store
++ guile -c '(use-modules (guix config))(display %localstatedir)'
+ localstatedir=/var
+ NIX_STORE_DIR=/gnu/store
+ GUIX_DAEMON_SOCKET=/var/guix/daemon-socket/socket
+ export NIX_STORE_DIR GUIX_DAEMON_SOCKET
+ guile -c '(use-modules (guix)) (exit (false-if-exception (open-connection)))'
Backtrace:
In ice-9/boot-9.scm:
  2726:13 19 (_)
In ice-9/threads.scm:
    390:8 18 (_ _)
In ice-9/boot-9.scm:
  2994:20 17 (_)
   2312:4 16 (save-module-excursion #<procedure 7f0328494930 at ice-?>)
  3014:26 15 (_)
In unknown file:
          14 (primitive-load-path "guix/utils" #<procedure 7f0328780?>)
In guix/utils.scm:
     26:0 13 (_)
In ice-9/boot-9.scm:
   2874:4 12 (define-module* _ #:filename _ #:pure _ #:version _ # _ ?)
  2887:24 11 (_)
   222:17 10 (map1 (((guix config)) ((srfi srfi-1)) ((srfi #)) (#) ?))
  2800:17  9 (resolve-interface (guix config) #:select _ #:hide _ # _ ?)
In ice-9/threads.scm:
    390:8  8 (_ _)
In ice-9/boot-9.scm:
  2726:13  7 (_)
In ice-9/threads.scm:
    390:8  6 (_ _)
In ice-9/boot-9.scm:
  2994:20  5 (_)
   2312:4  4 (save-module-excursion #<procedure 7f03284948d0 at ice-?>)
  3014:26  3 (_)
In unknown file:
           2 (primitive-load-path "guix/config" #<procedure 7f032878?>)
In guix/config.scm:
     71:6  1 (_)
In unknown file:
           0 (canonicalize-path "/gnu/store")

ERROR: In procedure canonicalize-path:
In procedure canonicalize-path: No such file or directory
+ exit 77
SKIP tests/guix-pack-relocatable.sh (exit status: 77)


^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#24687: Bug #24687 Hunting: Tests fail building on Arch Linux
  2019-11-26 20:55 ` David McInnis
@ 2019-11-27 11:22   ` zimoun
  0 siblings, 0 replies; 6+ messages in thread
From: zimoun @ 2019-11-27 11:22 UTC (permalink / raw)
  To: 24687@debbugs.gnu.org

Dear,

On Tue, 26 Nov 2019 at 22:08, David McInnis <davidm@eagles.ewu.edu> wrote:

> Unfortunately the failure still exists on Arch Linux:
>
> FAIL: tests/store.scm
> FAIL: tests/guix-download.sh
> FAIL: tests/lint.scm

It is the same as explained here [1].

[1] http://issues.guix.gnu.org/issue/24687#3


I close because it is not coming from our side.


All the best,
simon

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2019-11-27 11:24 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-10-13 21:39 bug#24687: Tests fail building on Arch Linux David McInnis
2016-10-14 13:03 ` Ludovic Courtès
2019-11-22 11:58 ` bug#24687: Bug #24687 Hunting: " zimoun
2019-11-26 20:27   ` zimoun
2019-11-26 20:55 ` David McInnis
2019-11-27 11:22   ` zimoun

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).