unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
* bug#30250: Two failures on ‘make -k "-j$(nproc)" check’
@ 2018-01-25 13:15 Jorge
  2018-01-27 15:48 ` Ludovic Courtès
  2018-01-30 16:47 ` Jorge
  0 siblings, 2 replies; 6+ messages in thread
From: Jorge @ 2018-01-25 13:15 UTC (permalink / raw)
  To: 30250

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

See ‘test-suite.log’ attached.  This was on Debian 9.3 (stretch) with some requirements installed from APT, plus the following packages compiled from source:
- guile-git from git (last commit was eaa5ed2 according to magit)
- scheme-bytestructures from git (tag v1.0.1)
- gnutls-3.5.17
- guile-2.2.3
In my Guix repository, magit informs tag v0.14.0 (1193).

I use ntlmaps (listening on localhost:5865) to mediate the corporate proxy for programs that do not integrate with Gnome's proxy configuration

The environment of make check:
TIME_STYLE=+%F %a %R:%S
LS_COLORS=
LC_MEASUREMENT=pt_BR.UTF-8
LC_PAPER=pt_BR.UTF-8
LC_MONETARY=pt_BR.UTF-8
XDG_MENU_PREFIX=gnome-
LANG=pt_BR.UTF-8
GDM_LANG=pt_BR.UTF-8
DISPLAY=:1
HISTTIMEFORMAT=[%F %a %T%z] 
OLDPWD=/home/jorge/repos/guix/doc
EDITOR=emacsclient
USERNAME=jorge
INSIDE_EMACS=26.0.91,comint
XDG_VTNR=2
GIO_LAUNCHED_DESKTOP_FILE_PID=1828
SSH_AUTH_SOCK=/run/user/1000/keyring/ssh
XDG_SESSION_ID=3
USER=jorge
PY_USER_BIN=/home/jorge/.local/bin
DESKTOP_SESSION=default
LC_COLLATE=en_US.UTF-8
GUIX_LOCPATH=/home/jorge/.guix-profile/lib/locale
QT_QPA_PLATFORMTHEME=qgnomeplatform
PWD=/home/jorge/repos/guix
HOME=/home/jorge
LC_CTYPE=en_US.UTF-8
JOURNAL_STREAM=9:19928
ALTERNATE_EDITOR=emacs
SSH_AGENT_PID=1320
NAME=Jorge Peixoto de Morais Neto
QT_ACCESSIBILITY=1
VERSION_CONTROL=numbered
XDG_SESSION_TYPE=x11
https_proxy=https://localhost:5865
XDG_DATA_DIRS=/usr/share/gnome:/usr/local/share/:/usr/share/:/var/lib/snapd/desktop
http_proxy=http://localhost:5865
SMTPSERVER=smtp.dataprev.gov.br
XDG_SESSION_DESKTOP=default
EMAIL=jorge.demorais@dataprev.gov.br
GJS_DEBUG_OUTPUT=stderr
LC_NUMERIC=pt_BR.UTF-8
GTK_MODULES=gail:atk-bridge
COLUMNS=238
WINDOWPATH=2
ORGANIZATION=Dataprev
SHELL=/bin/bash
TERM=dumb
all_proxy=localhost:5865
LC_MESSAGES=en_US.UTF-8
XDG_CURRENT_DESKTOP=GNOME
GPG_AGENT_INFO=/run/user/1000/gnupg/S.gpg-agent:0:1
QT_LINUX_ACCESSIBILITY_ALWAYS_ON=1
GIO_LAUNCHED_DESKTOP_FILE=/usr/local/share/applications/emacs.desktop
SHLVL=1
XDG_SEAT=seat0
GDMSESSION=default
GNOME_DESKTOP_SESSION_ID=this-is-deprecated
LOGNAME=jorge
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
XDG_RUNTIME_DIR=/run/user/1000
XAUTHORITY=/run/user/1000/gdm/Xauthority
GUILE_LOAD_PATH=/home/jorge/codigo_fonte/scheme-bytestructures
PATH=/home/jorge/.local/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/snap/bin
INFOPATH=/var/guix/profiles/per-user/root/guix-profile/share/info/:/usr/local/share/guile_info:/usr/local/share/gnutls_info:/var/guix/profiles/per-user/root/guix-profile/share/info/:/usr/local/share/guile_info:/usr/local/share/gnutls_info:/var/guix/profiles/per-user/root/guix-profile/share/info/:
GJS_DEBUG_TOPICS=JS ERROR;JS LOG
TERMCAP=
ftp_proxy=ftp://localhost:5865
SESSION_MANAGER=local/jorge-demorais:@/tmp/.ICE-unix/1264,unix/jorge-demorais:/tmp/.ICE-unix/1264
LC_TIME=pt_BR.UTF-8
_=/usr/bin/env


$ lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                8
On-line CPU(s) list:   0-7
Thread(s) per core:    2
Core(s) per socket:    4
Socket(s):             1
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 94
Model name:            Intel(R) Core(TM) i7-6700 CPU @ 3.40GHz
Stepping:              3
CPU MHz:               3679.343
CPU max MHz:           4000,0000
CPU min MHz:           800,0000
BogoMIPS:              6816.00
Virtualization:        VT-x
L1d cache:             32K
L1i cache:             32K
L2 cache:              256K
L3 cache:              8192K
NUMA node0 CPU(s):     0-7
Flags:                 fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb invpcid_single pti intel_pt tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm mpx rdseed adx smap clflushopt xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp

Regards
- I am Brazilian.  I hope my English is correct and I welcome feedback
- Please adopt free formats like PDF, ODF, Org, LaTeX, Opus, WebM and 7z
- Free (as in free speech) software for Android: https://f-droid.org/

[-- Attachment #2: test-suite.log --]
[-- Type: text/plain, Size: 139638 bytes --]

==================================================
   GNU Guix 0.14.0.1193-4f34e: ./test-suite.log
==================================================

# TOTAL: 744
# PASS:  718
# SKIP:  24
# XFAIL: 0
# FAIL:  2
# XPASS: 0
# ERROR: 0

.. contents:: :depth: 2

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

sh: 1: nix-hash: not found
test-name: bytevector->base32-string
location: /home/jorge/repos/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/jorge/repos/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/jorge/repos/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/jorge/repos/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/jorge/repos/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


FAIL: tests/derivations
=======================

test-name: parse & export
location: /home/jorge/repos/guix/tests/derivations.scm:87
source:
+ (test-assert
+   "parse & export"
+   (let* ((f (search-path %load-path "tests/test.drv"))
+          (b1 (call-with-input-file f get-bytevector-all))
+          (d1 (read-derivation (open-bytevector-input-port b1)))
+          (b2 (call-with-bytevector-output-port
+                (cut write-derivation d1 <>)))
+          (d2 (read-derivation (open-bytevector-input-port b2))))
+     (and (equal? b1 b2) (equal? d1 d2))))
actual-value: #t
result: PASS

test-name: add-to-store, flat
location: /home/jorge/repos/guix/tests/derivations.scm:98
source:
+ (test-assert
+   "add-to-store, flat"
+   (let* ((file (search-path
+                  %load-path
+                  "language/tree-il/spec.scm"))
+          (drv (add-to-store
+                 %store
+                 "flat-test"
+                 #f
+                 "sha256"
+                 file)))
+     (and (eq? 'regular (stat:type (stat drv)))
+          (valid-path? %store drv)
+          (equal?
+            (call-with-input-file file get-bytevector-all)
+            (call-with-input-file drv get-bytevector-all)))))
actual-value: #f
actual-error:
+ (srfi-34
+   #<condition &nix-protocol-error [message: "regular file expected" status: 1] 5577e11973c0>)
result: FAIL

test-name: add-to-store, recursive
location: /home/jorge/repos/guix/tests/derivations.scm:106
source:
+ (test-assert
+   "add-to-store, recursive"
+   (let* ((dir (dirname
+                 (search-path
+                   %load-path
+                   "language/tree-il/spec.scm")))
+          (drv (add-to-store
+                 %store
+                 "dir-tree-test"
+                 #t
+                 "sha256"
+                 dir)))
+     (and (eq? 'directory (stat:type (stat drv)))
+          (valid-path? %store drv)
+          (equal?
+            (directory-contents dir)
+            (directory-contents drv)))))
actual-value: #t
result: PASS

test-name: derivation with no inputs
location: /home/jorge/repos/guix/tests/derivations.scm:114
source:
+ (test-assert
+   "derivation with no inputs"
+   (let* ((builder
+            (add-text-to-store
+              %store
+              "my-builder.sh"
+              "echo hello, world\n"
+              '()))
+          (drv (derivation
+                 %store
+                 "foo"
+                 %bash
+                 `("-e" ,builder)
+                 #:env-vars
+                 '(("HOME" . "/homeless")))))
+     (and (store-path? (derivation-file-name drv))
+          (valid-path? %store (derivation-file-name drv)))))
actual-value: #t
result: PASS

test-name: build derivation with 1 source
location: /home/jorge/repos/guix/tests/derivations.scm:124
source:
+ (test-assert
+   "build derivation with 1 source"
+   (let* ((builder
+            (add-text-to-store
+              %store
+              "my-builder.sh"
+              "echo hello, world > \"$out\"\n"
+              '()))
+          (drv (derivation
+                 %store
+                 "foo"
+                 %bash
+                 `(,builder)
+                 #:env-vars
+                 '(("HOME" . "/homeless")
+                   ("zzz" . "Z!")
+                   ("AAA" . "A!"))
+                 #:inputs
+                 `((,%bash) (,builder))))
+          (succeeded?
+            (build-derivations %store (list drv))))
+     (and succeeded?
+          (let ((path (derivation->output-path drv)))
+            (and (valid-path? %store path)
+                 (string=?
+                   (call-with-input-file path read-line)
+                   "hello, world"))))))
actual-value: #t
result: PASS

test-name: derivation with local file as input
location: /home/jorge/repos/guix/tests/derivations.scm:142
source:
+ (test-assert
+   "derivation with local file as input"
+   (let* ((builder
+            (add-text-to-store
+              %store
+              "my-builder.sh"
+              "(while read line ; do echo \"$line\" ; done) < $in > $out"
+              '()))
+          (input (search-path %load-path "ice-9/boot-9.scm"))
+          (input*
+            (add-to-store
+              %store
+              (basename input)
+              #t
+              "sha256"
+              input))
+          (drv (derivation
+                 %store
+                 "derivation-with-input-file"
+                 %bash
+                 `(,builder)
+                 #:env-vars
+                 `(("in" unquote input*))
+                 #:inputs
+                 `((,%bash) (,builder) (,input)))))
+     (and (build-derivations %store (list drv))
+          (valid-path?
+            %store
+            (derivation->output-path drv)))))
actual-value: #t
result: PASS

test-name: derivation fails but keep going
location: /home/jorge/repos/guix/tests/derivations.scm:165
source:
+ (test-assert
+   "derivation fails but keep going"
+   (with-store
+     store
+     (let* ((d1 (derivation
+                  %store
+                  "fails"
+                  %bash
+                  `("-c" "false")
+                  #:inputs
+                  `((,%bash))))
+            (d2 (build-expression->derivation
+                  %store
+                  "sleep-then-succeed"
+                  `(begin ,(random-text) (sleep 2) (mkdir %output)))))
+       (set-build-options
+         %store
+         #:use-substitutes?
+         #f
+         #:keep-going?
+         #t)
+       (guard (c ((nix-protocol-error? c)
+                  (and (= 100 (nix-protocol-error-status c))
+                       (string-contains
+                         (nix-protocol-error-message c)
+                         (derivation-file-name d1))
+                       (not (valid-path? %store (derivation->output-path d1)))
+                       (valid-path? %store (derivation->output-path d2)))))
+              (build-derivations %store (list d1 d2))
+              #f))))
random seed for tests: 1516875879
@ build-started /home/jorge/repos/guix/test-tmp/store/4z975zy8ix6pay7wynbq5cvi83ihqz81-fails.drv - x86_64-linux /home/jorge/repos/guix/test-tmp/var/log/guix/drvs/4z//975zy8ix6pay7wynbq5cvi83ihqz81-fails.drv.bz2
builder for `/home/jorge/repos/guix/test-tmp/store/4z975zy8ix6pay7wynbq5cvi83ihqz81-fails.drv' failed with exit code 1
@ build-failed /home/jorge/repos/guix/test-tmp/store/4z975zy8ix6pay7wynbq5cvi83ihqz81-fails.drv - 1 builder for `/home/jorge/repos/guix/test-tmp/store/4z975zy8ix6pay7wynbq5cvi83ihqz81-fails.drv' failed with exit code 1
@ build-started /home/jorge/repos/guix/test-tmp/store/3qfxb66gv54z729zwg5qylc88rifq47d-guile-bootstrap-2.0.drv - x86_64-linux /home/jorge/repos/guix/test-tmp/var/log/guix/drvs/3q//fxb66gv54z729zwg5qylc88rifq47d-guile-bootstrap-2.0.drv.bz2
unpacking bootstrap Guile to '/home/jorge/repos/guix/test-tmp/store/k7fs7f6vxmpi91aqhdy4vxgfpyzfns7c-guile-bootstrap-2.0'...
./
./share/
./share/guile/
./share/guile/2.0/
./share/guile/2.0/system/
./share/guile/2.0/system/xref.scm
./share/guile/2.0/system/foreign.scm
./share/guile/2.0/system/repl/
./share/guile/2.0/system/repl/error-handling.scm
./share/guile/2.0/system/repl/debug.scm
./share/guile/2.0/system/repl/describe.scm
./share/guile/2.0/system/repl/common.scm
./share/guile/2.0/system/repl/command.scm
./share/guile/2.0/system/repl/server.scm
./share/guile/2.0/system/repl/repl.scm
./share/guile/2.0/system/base/
./share/guile/2.0/system/base/lalr.upstream.scm
./share/guile/2.0/system/base/pmatch.scm
./share/guile/2.0/system/base/lalr.scm
./share/guile/2.0/system/base/language.scm
./share/guile/2.0/system/base/syntax.scm
./share/guile/2.0/system/base/compile.scm
./share/guile/2.0/system/base/ck.scm
./share/guile/2.0/system/base/message.scm
./share/guile/2.0/system/base/target.scm
./share/guile/2.0/system/vm/
./share/guile/2.0/system/vm/trace.scm
./share/guile/2.0/system/vm/trap-state.scm
./share/guile/2.0/system/vm/vm.scm
./share/guile/2.0/system/vm/coverage.scm
./share/guile/2.0/system/vm/program.scm
./share/guile/2.0/system/vm/objcode.scm
./share/guile/2.0/system/vm/traps.scm
./share/guile/2.0/system/vm/inspect.scm
./share/guile/2.0/system/vm/instruction.scm
./share/guile/2.0/system/vm/frame.scm
./share/guile/2.0/scripts/
./share/guile/2.0/scripts/scan-api.scm
./share/guile/2.0/scripts/autofrisk.scm
./share/guile/2.0/scripts/snarf-check-and-output-texi.scm
./share/guile/2.0/scripts/read-rfc822.scm
./share/guile/2.0/scripts/read-text-outline.scm
./share/guile/2.0/scripts/help.scm
./share/guile/2.0/scripts/frisk.scm
./share/guile/2.0/scripts/punify.scm
./share/guile/2.0/scripts/lint.scm
./share/guile/2.0/scripts/disassemble.scm
./share/guile/2.0/scripts/summarize-guile-TODO.scm
./share/guile/2.0/scripts/generate-autoload.scm
./share/guile/2.0/scripts/display-commentary.scm
./share/guile/2.0/scripts/compile.scm
./share/guile/2.0/scripts/api-diff.scm
./share/guile/2.0/scripts/use2dot.scm
./share/guile/2.0/scripts/doc-snarf.scm
./share/guile/2.0/scripts/read-scheme-source.scm
./share/guile/2.0/scripts/snarf-guile-m4-docs.scm
./share/guile/2.0/scripts/list.scm
./share/guile/2.0/texinfo/
./share/guile/2.0/texinfo/indexing.scm
./share/guile/2.0/texinfo/html.scm
./share/guile/2.0/texinfo/docbook.scm
./share/guile/2.0/texinfo/serialize.scm
./share/guile/2.0/texinfo/reflection.scm
./share/guile/2.0/texinfo/plain-text.scm
./share/guile/2.0/texinfo/string-utils.scm
./share/guile/2.0/ice-9/
./share/guile/2.0/ice-9/documentation.scm
./share/guile/2.0/ice-9/scm-style-repl.scm
./share/guile/2.0/ice-9/time.scm
./share/guile/2.0/ice-9/format.scm
./share/guile/2.0/ice-9/networking.scm
./share/guile/2.0/ice-9/getopt-long.scm
./share/guile/2.0/ice-9/vlist.scm
./share/guile/2.0/ice-9/psyntax.scm
./share/guile/2.0/ice-9/gap-buffer.scm
./share/guile/2.0/ice-9/and-let-star.scm
./share/guile/2.0/ice-9/posix.scm
./share/guile/2.0/ice-9/ls.scm
./share/guile/2.0/ice-9/syncase.scm
./share/guile/2.0/ice-9/save-stack.scm
./share/guile/2.0/ice-9/stack-catch.scm
./share/guile/2.0/ice-9/futures.scm
./share/guile/2.0/ice-9/debug.scm
./share/guile/2.0/ice-9/pretty-print.scm
./share/guile/2.0/ice-9/mapping.scm
./share/guile/2.0/ice-9/occam-channel.scm
./share/guile/2.0/ice-9/top-repl.scm
./share/guile/2.0/ice-9/boot-9.scm
./share/guile/2.0/ice-9/string-fun.scm
./share/guile/2.0/ice-9/i18n.scm
./share/guile/2.0/ice-9/match.upstream.scm
./share/guile/2.0/ice-9/streams.scm
./share/guile/2.0/ice-9/lineio.scm
./share/guile/2.0/ice-9/threads.scm
./share/guile/2.0/ice-9/weak-vector.scm
./share/guile/2.0/ice-9/history.scm
./share/guile/2.0/ice-9/expect.scm
./share/guile/2.0/ice-9/poll.scm
./share/guile/2.0/ice-9/popen.scm
./share/guile/2.0/ice-9/control.scm
./share/guile/2.0/ice-9/session.scm
./share/guile/2.0/ice-9/ftw.scm
./share/guile/2.0/ice-9/local-eval.scm
./share/guile/2.0/ice-9/receive.scm
./share/guile/2.0/ice-9/safe-r5rs.scm
./share/guile/2.0/ice-9/calling.scm
./share/guile/2.0/ice-9/curried-definitions.scm
./share/guile/2.0/ice-9/eval-string.scm
./share/guile/2.0/ice-9/q.scm
./share/guile/2.0/ice-9/serialize.scm
./share/guile/2.0/ice-9/quasisyntax.scm
./share/guile/2.0/ice-9/slib.scm
./share/guile/2.0/ice-9/hcons.scm
./share/guile/2.0/ice-9/rw.scm
./share/guile/2.0/ice-9/regex.scm
./share/guile/2.0/ice-9/match.scm
./share/guile/2.0/ice-9/buffered-input.scm
./share/guile/2.0/ice-9/iconv.scm
./share/guile/2.0/ice-9/poe.scm
./share/guile/2.0/ice-9/common-list.scm
./share/guile/2.0/ice-9/r5rs.scm
./share/guile/2.0/ice-9/command-line.scm
./share/guile/2.0/ice-9/deprecated.scm
./share/guile/2.0/ice-9/psyntax-pp.scm
./share/guile/2.0/ice-9/null.scm
./share/guile/2.0/ice-9/optargs.scm
./share/guile/2.0/ice-9/rdelim.scm
./share/guile/2.0/ice-9/runq.scm
./share/guile/2.0/ice-9/safe.scm
./share/guile/2.0/ice-9/channel.scm
./share/guile/2.0/ice-9/readline.scm
./share/guile/2.0/ice-9/binary-ports.scm
./share/guile/2.0/ice-9/eval.scm
./share/guile/2.0/ice-9/r4rs.scm
./share/guile/2.0/ice-9/r6rs-libraries.scm
./share/guile/2.0/ice-9/list.scm
./share/guile/2.0/language/
./share/guile/2.0/language/elisp/
./share/guile/2.0/language/elisp/compile-tree-il.scm
./share/guile/2.0/language/elisp/bindings.scm
./share/guile/2.0/language/elisp/runtime.scm
./share/guile/2.0/language/elisp/lexer.scm
./share/guile/2.0/language/elisp/spec.scm
./share/guile/2.0/language/elisp/runtime/
./share/guile/2.0/language/elisp/runtime/macros.scm
./share/guile/2.0/language/elisp/runtime/function-slot.scm
./share/guile/2.0/language/elisp/runtime/subrs.scm
./share/guile/2.0/language/elisp/runtime/value-slot.scm
./share/guile/2.0/language/elisp/parser.scm
./share/guile/2.0/language/assembly/
./share/guile/2.0/language/assembly/compile-bytecode.scm
./share/guile/2.0/language/assembly/disassemble.scm
./share/guile/2.0/language/assembly/spec.scm
./share/guile/2.0/language/assembly/decompile-bytecode.scm
./share/guile/2.0/language/scheme/
./share/guile/2.0/language/scheme/compile-tree-il.scm
./share/guile/2.0/language/scheme/decompile-tree-il.scm
./share/guile/2.0/language/scheme/spec.scm
./share/guile/2.0/language/brainfuck/
./share/guile/2.0/language/brainfuck/compile-tree-il.scm
./share/guile/2.0/language/brainfuck/compile-scheme.scm
./share/guile/2.0/language/brainfuck/spec.scm
./share/guile/2.0/language/brainfuck/parse.scm
./share/guile/2.0/language/objcode/
./share/guile/2.0/language/objcode/spec.scm
./share/guile/2.0/language/assembly.scm
./share/guile/2.0/language/bytecode/
./share/guile/2.0/language/bytecode/spec.scm
./share/guile/2.0/language/glil/
./share/guile/2.0/language/glil/spec.scm
./share/guile/2.0/language/glil/compile-assembly.scm
./share/guile/2.0/language/tree-il/
./share/guile/2.0/language/tree-il/analyze.scm
./share/guile/2.0/language/tree-il/inline.scm
./share/guile/2.0/language/tree-il/debug.scm
./share/guile/2.0/language/tree-il/primitives.scm
./share/guile/2.0/language/tree-il/optimize.scm
./share/guile/2.0/language/tree-il/fix-letrec.scm
./share/guile/2.0/language/tree-il/spec.scm
./share/guile/2.0/language/tree-il/peval.scm
./share/guile/2.0/language/tree-il/compile-glil.scm
./share/guile/2.0/language/tree-il/cse.scm
./share/guile/2.0/language/tree-il/canonicalize.scm
./share/guile/2.0/language/tree-il/effects.scm
./share/guile/2.0/language/ecmascript/
./share/guile/2.0/language/ecmascript/base.scm
./share/guile/2.0/language/ecmascript/compile-tree-il.scm
./share/guile/2.0/language/ecmascript/function.scm
./share/guile/2.0/language/ecmascript/array.scm
./share/guile/2.0/language/ecmascript/tokenize.scm
./share/guile/2.0/language/ecmascript/spec.scm
./share/guile/2.0/language/ecmascript/impl.scm
./share/guile/2.0/language/ecmascript/parse.scm
./share/guile/2.0/language/value/
./share/guile/2.0/language/value/spec.scm
./share/guile/2.0/language/glil.scm
./share/guile/2.0/language/tree-il.scm
./share/guile/2.0/rnrs.scm
./share/guile/2.0/statprof.scm
./share/guile/2.0/web/
./share/guile/2.0/web/client.scm
./share/guile/2.0/web/response.scm
./share/guile/2.0/web/uri.scm
./share/guile/2.0/web/server/
./share/guile/2.0/web/server/http.scm
./share/guile/2.0/web/request.scm
./share/guile/2.0/web/server.scm
./share/guile/2.0/web/http.scm
./share/guile/2.0/oop/
./share/guile/2.0/oop/goops.scm
./share/guile/2.0/oop/goops/
./share/guile/2.0/oop/goops/save.scm
./share/guile/2.0/oop/goops/stklos.scm
./share/guile/2.0/oop/goops/accessors.scm
./share/guile/2.0/oop/goops/describe.scm
./share/guile/2.0/oop/goops/dispatch.scm
./share/guile/2.0/oop/goops/active-slot.scm
./share/guile/2.0/oop/goops/composite-slot.scm
./share/guile/2.0/oop/goops/compile.scm
./share/guile/2.0/oop/goops/internal.scm
./share/guile/2.0/oop/goops/util.scm
./share/guile/2.0/oop/goops/simple.scm
./share/guile/2.0/guile-procedures.txt
./share/guile/2.0/texinfo.scm
./share/guile/2.0/rnrs/
./share/guile/2.0/rnrs/base.scm
./share/guile/2.0/rnrs/records/
./share/guile/2.0/rnrs/records/syntactic.scm
./share/guile/2.0/rnrs/records/inspection.scm
./share/guile/2.0/rnrs/records/procedural.scm
./share/guile/2.0/rnrs/arithmetic/
./share/guile/2.0/rnrs/arithmetic/bitwise.scm
./share/guile/2.0/rnrs/arithmetic/fixnums.scm
./share/guile/2.0/rnrs/arithmetic/flonums.scm
./share/guile/2.0/rnrs/unicode.scm
./share/guile/2.0/rnrs/enums.scm
./share/guile/2.0/rnrs/hashtables.scm
./share/guile/2.0/rnrs/control.scm
./share/guile/2.0/rnrs/syntax-case.scm
./share/guile/2.0/rnrs/sorting.scm
./share/guile/2.0/rnrs/lists.scm
./share/guile/2.0/rnrs/mutable-strings.scm
./share/guile/2.0/rnrs/conditions.scm
./share/guile/2.0/rnrs/r5rs.scm
./share/guile/2.0/rnrs/mutable-pairs.scm
./share/guile/2.0/rnrs/programs.scm
./share/guile/2.0/rnrs/exceptions.scm
./share/guile/2.0/rnrs/eval.scm
./share/guile/2.0/rnrs/files.scm
./share/guile/2.0/rnrs/io/
./share/guile/2.0/rnrs/io/ports.scm
./share/guile/2.0/rnrs/io/simple.scm
./share/guile/2.0/rnrs/bytevectors.scm
./share/guile/2.0/sxml/
./share/guile/2.0/sxml/sxml-match.ss
./share/guile/2.0/sxml/fold.scm
./share/guile/2.0/sxml/ssax.scm
./share/guile/2.0/sxml/apply-templates.scm
./share/guile/2.0/sxml/xpath.scm
./share/guile/2.0/sxml/upstream/
./share/guile/2.0/sxml/upstream/SSAX.scm
./share/guile/2.0/sxml/upstream/assert.scm
./share/guile/2.0/sxml/upstream/SXPath-old.scm
./share/guile/2.0/sxml/upstream/input-parse.scm
./share/guile/2.0/sxml/upstream/SXML-tree-trans.scm
./share/guile/2.0/sxml/transform.scm
./share/guile/2.0/sxml/match.scm
./share/guile/2.0/sxml/simple.scm
./share/guile/2.0/sxml/ssax/
./share/guile/2.0/sxml/ssax/input-parse.scm
./share/guile/2.0/srfi/
./share/guile/2.0/srfi/srfi-88.scm
./share/guile/2.0/srfi/srfi-14.scm
./share/guile/2.0/srfi/srfi-6.scm
./share/guile/2.0/srfi/srfi-67.scm
./share/guile/2.0/srfi/srfi-42/
./share/guile/2.0/srfi/srfi-42/ec.scm
./share/guile/2.0/srfi/srfi-19.scm
./share/guile/2.0/srfi/srfi-31.scm
./share/guile/2.0/srfi/srfi-41.scm
./share/guile/2.0/srfi/srfi-35.scm
./share/guile/2.0/srfi/srfi-34.scm
./share/guile/2.0/srfi/srfi-60.scm
./share/guile/2.0/srfi/srfi-18.scm
./share/guile/2.0/srfi/srfi-37.scm
./share/guile/2.0/srfi/srfi-4/
./share/guile/2.0/srfi/srfi-4/gnu.scm
./share/guile/2.0/srfi/srfi-16.scm
./share/guile/2.0/srfi/srfi-69.scm
./share/guile/2.0/srfi/srfi-17.scm
./share/guile/2.0/srfi/srfi-2.scm
./share/guile/2.0/srfi/srfi-27.scm
./share/guile/2.0/srfi/srfi-26.scm
./share/guile/2.0/srfi/srfi-8.scm
./share/guile/2.0/srfi/srfi-4.scm
./share/guile/2.0/srfi/srfi-11.scm
./share/guile/2.0/srfi/srfi-13.scm
./share/guile/2.0/srfi/srfi-67/
./share/guile/2.0/srfi/srfi-67/compare.scm
./share/guile/2.0/srfi/srfi-45.scm
./share/guile/2.0/srfi/srfi-9.scm
./share/guile/2.0/srfi/srfi-9/
./share/guile/2.0/srfi/srfi-9/gnu.scm
./share/guile/2.0/srfi/srfi-10.scm
./share/guile/2.0/srfi/srfi-42.scm
./share/guile/2.0/srfi/srfi-39.scm
./share/guile/2.0/srfi/srfi-1.scm
./share/guile/2.0/srfi/srfi-38.scm
./share/guile/2.0/srfi/srfi-98.scm
./lib/
./lib/guile/
./lib/guile/2.0/
./lib/guile/2.0/ccache/
./lib/guile/2.0/ccache/system/
./lib/guile/2.0/ccache/system/foreign.go
./lib/guile/2.0/ccache/system/repl/
./lib/guile/2.0/ccache/system/repl/command.go
./lib/guile/2.0/ccache/system/repl/error-handling.go
./lib/guile/2.0/ccache/system/repl/repl.go
./lib/guile/2.0/ccache/system/repl/debug.go
./lib/guile/2.0/ccache/system/repl/server.go
./lib/guile/2.0/ccache/system/repl/common.go
./lib/guile/2.0/ccache/system/xref.go
./lib/guile/2.0/ccache/system/base/
./lib/guile/2.0/ccache/system/base/ck.go
./lib/guile/2.0/ccache/system/base/lalr.go
./lib/guile/2.0/ccache/system/base/pmatch.go
./lib/guile/2.0/ccache/system/base/message.go
./lib/guile/2.0/ccache/system/base/syntax.go
./lib/guile/2.0/ccache/system/base/language.go
./lib/guile/2.0/ccache/system/base/target.go
./lib/guile/2.0/ccache/system/base/compile.go
./lib/guile/2.0/ccache/system/vm/
./lib/guile/2.0/ccache/system/vm/traps.go
./lib/guile/2.0/ccache/system/vm/frame.go
./lib/guile/2.0/ccache/system/vm/objcode.go
./lib/guile/2.0/ccache/system/vm/program.go
./lib/guile/2.0/ccache/system/vm/instruction.go
./lib/guile/2.0/ccache/system/vm/coverage.go
./lib/guile/2.0/ccache/system/vm/vm.go
./lib/guile/2.0/ccache/system/vm/trap-state.go
./lib/guile/2.0/ccache/system/vm/inspect.go
./lib/guile/2.0/ccache/system/vm/trace.go
./lib/guile/2.0/ccache/scripts/
./lib/guile/2.0/ccache/scripts/scan-api.go
./lib/guile/2.0/ccache/scripts/use2dot.go
./lib/guile/2.0/ccache/scripts/autofrisk.go
./lib/guile/2.0/ccache/scripts/api-diff.go
./lib/guile/2.0/ccache/scripts/read-text-outline.go
./lib/guile/2.0/ccache/scripts/punify.go
./lib/guile/2.0/ccache/scripts/snarf-guile-m4-docs.go
./lib/guile/2.0/ccache/scripts/read-scheme-source.go
./lib/guile/2.0/ccache/scripts/frisk.go
./lib/guile/2.0/ccache/scripts/summarize-guile-TODO.go
./lib/guile/2.0/ccache/scripts/lint.go
./lib/guile/2.0/ccache/scripts/display-commentary.go
./lib/guile/2.0/ccache/scripts/disassemble.go
./lib/guile/2.0/ccache/scripts/generate-autoload.go
./lib/guile/2.0/ccache/scripts/snarf-check-and-output-texi.go
./lib/guile/2.0/ccache/scripts/read-rfc822.go
./lib/guile/2.0/ccache/scripts/doc-snarf.go
./lib/guile/2.0/ccache/scripts/compile.go
./lib/guile/2.0/ccache/scripts/help.go
./lib/guile/2.0/ccache/scripts/list.go
./lib/guile/2.0/ccache/texinfo/
./lib/guile/2.0/ccache/texinfo/docbook.go
./lib/guile/2.0/ccache/texinfo/serialize.go
./lib/guile/2.0/ccache/texinfo/html.go
./lib/guile/2.0/ccache/texinfo/reflection.go
./lib/guile/2.0/ccache/texinfo/indexing.go
./lib/guile/2.0/ccache/texinfo/plain-text.go
./lib/guile/2.0/ccache/texinfo/string-utils.go
./lib/guile/2.0/ccache/ice-9/
./lib/guile/2.0/ccache/ice-9/r4rs.go
./lib/guile/2.0/ccache/ice-9/poll.go
./lib/guile/2.0/ccache/ice-9/syncase.go
./lib/guile/2.0/ccache/ice-9/common-list.go
./lib/guile/2.0/ccache/ice-9/stack-catch.go
./lib/guile/2.0/ccache/ice-9/control.go
./lib/guile/2.0/ccache/ice-9/binary-ports.go
./lib/guile/2.0/ccache/ice-9/regex.go
./lib/guile/2.0/ccache/ice-9/safe.go
./lib/guile/2.0/ccache/ice-9/buffered-input.go
./lib/guile/2.0/ccache/ice-9/boot-9.go
./lib/guile/2.0/ccache/ice-9/and-let-star.go
./lib/guile/2.0/ccache/ice-9/expect.go
./lib/guile/2.0/ccache/ice-9/gap-buffer.go
./lib/guile/2.0/ccache/ice-9/pretty-print.go
./lib/guile/2.0/ccache/ice-9/time.go
./lib/guile/2.0/ccache/ice-9/serialize.go
./lib/guile/2.0/ccache/ice-9/debug.go
./lib/guile/2.0/ccache/ice-9/rw.go
./lib/guile/2.0/ccache/ice-9/command-line.go
./lib/guile/2.0/ccache/ice-9/networking.go
./lib/guile/2.0/ccache/ice-9/posix.go
./lib/guile/2.0/ccache/ice-9/psyntax-pp.go
./lib/guile/2.0/ccache/ice-9/format.go
./lib/guile/2.0/ccache/ice-9/optargs.go
./lib/guile/2.0/ccache/ice-9/history.go
./lib/guile/2.0/ccache/ice-9/vlist.go
./lib/guile/2.0/ccache/ice-9/threads.go
./lib/guile/2.0/ccache/ice-9/safe-r5rs.go
./lib/guile/2.0/ccache/ice-9/streams.go
./lib/guile/2.0/ccache/ice-9/readline.go
./lib/guile/2.0/ccache/ice-9/slib.go
./lib/guile/2.0/ccache/ice-9/scm-style-repl.go
./lib/guile/2.0/ccache/ice-9/session.go
./lib/guile/2.0/ccache/ice-9/top-repl.go
./lib/guile/2.0/ccache/ice-9/channel.go
./lib/guile/2.0/ccache/ice-9/q.go
./lib/guile/2.0/ccache/ice-9/string-fun.go
./lib/guile/2.0/ccache/ice-9/r5rs.go
./lib/guile/2.0/ccache/ice-9/calling.go
./lib/guile/2.0/ccache/ice-9/futures.go
./lib/guile/2.0/ccache/ice-9/null.go
./lib/guile/2.0/ccache/ice-9/occam-channel.go
./lib/guile/2.0/ccache/ice-9/eval.go
./lib/guile/2.0/ccache/ice-9/receive.go
./lib/guile/2.0/ccache/ice-9/ftw.go
./lib/guile/2.0/ccache/ice-9/runq.go
./lib/guile/2.0/ccache/ice-9/rdelim.go
./lib/guile/2.0/ccache/ice-9/save-stack.go
./lib/guile/2.0/ccache/ice-9/local-eval.go
./lib/guile/2.0/ccache/ice-9/getopt-long.go
./lib/guile/2.0/ccache/ice-9/ls.go
./lib/guile/2.0/ccache/ice-9/lineio.go
./lib/guile/2.0/ccache/ice-9/i18n.go
./lib/guile/2.0/ccache/ice-9/deprecated.go
./lib/guile/2.0/ccache/ice-9/hcons.go
./lib/guile/2.0/ccache/ice-9/popen.go
./lib/guile/2.0/ccache/ice-9/curried-definitions.go
./lib/guile/2.0/ccache/ice-9/eval-string.go
./lib/guile/2.0/ccache/ice-9/match.go
./lib/guile/2.0/ccache/ice-9/weak-vector.go
./lib/guile/2.0/ccache/ice-9/poe.go
./lib/guile/2.0/ccache/ice-9/mapping.go
./lib/guile/2.0/ccache/ice-9/list.go
./lib/guile/2.0/ccache/ice-9/documentation.go
./lib/guile/2.0/ccache/ice-9/iconv.go
./lib/guile/2.0/ccache/language/
./lib/guile/2.0/ccache/language/assembly.go
./lib/guile/2.0/ccache/language/elisp/
./lib/guile/2.0/ccache/language/elisp/compile-tree-il.go
./lib/guile/2.0/ccache/language/elisp/spec.go
./lib/guile/2.0/ccache/language/elisp/parser.go
./lib/guile/2.0/ccache/language/elisp/runtime.go
./lib/guile/2.0/ccache/language/elisp/bindings.go
./lib/guile/2.0/ccache/language/elisp/lexer.go
./lib/guile/2.0/ccache/language/elisp/runtime/
./lib/guile/2.0/ccache/language/elisp/runtime/value-slot.go
./lib/guile/2.0/ccache/language/elisp/runtime/function-slot.go
./lib/guile/2.0/ccache/language/elisp/runtime/subrs.go
./lib/guile/2.0/ccache/language/elisp/runtime/macros.go
./lib/guile/2.0/ccache/language/assembly/
./lib/guile/2.0/ccache/language/assembly/decompile-bytecode.go
./lib/guile/2.0/ccache/language/assembly/spec.go
./lib/guile/2.0/ccache/language/assembly/compile-bytecode.go
./lib/guile/2.0/ccache/language/assembly/disassemble.go
./lib/guile/2.0/ccache/language/tree-il.go
./lib/guile/2.0/ccache/language/glil.go
./lib/guile/2.0/ccache/language/scheme/
./lib/guile/2.0/ccache/language/scheme/compile-tree-il.go
./lib/guile/2.0/ccache/language/scheme/spec.go
./lib/guile/2.0/ccache/language/scheme/decompile-tree-il.go
./lib/guile/2.0/ccache/language/brainfuck/
./lib/guile/2.0/ccache/language/brainfuck/compile-tree-il.go
./lib/guile/2.0/ccache/language/brainfuck/spec.go
./lib/guile/2.0/ccache/language/brainfuck/parse.go
./lib/guile/2.0/ccache/language/brainfuck/compile-scheme.go
./lib/guile/2.0/ccache/language/objcode/
./lib/guile/2.0/ccache/language/objcode/spec.go
./lib/guile/2.0/ccache/language/bytecode/
./lib/guile/2.0/ccache/language/bytecode/spec.go
./lib/guile/2.0/ccache/language/glil/
./lib/guile/2.0/ccache/language/glil/compile-assembly.go
./lib/guile/2.0/ccache/language/glil/spec.go
./lib/guile/2.0/ccache/language/tree-il/
./lib/guile/2.0/ccache/language/tree-il/debug.go
./lib/guile/2.0/ccache/language/tree-il/compile-glil.go
./lib/guile/2.0/ccache/language/tree-il/optimize.go
./lib/guile/2.0/ccache/language/tree-il/spec.go
./lib/guile/2.0/ccache/language/tree-il/canonicalize.go
./lib/guile/2.0/ccache/language/tree-il/inline.go
./lib/guile/2.0/ccache/language/tree-il/analyze.go
./lib/guile/2.0/ccache/language/tree-il/peval.go
./lib/guile/2.0/ccache/language/tree-il/cse.go
./lib/guile/2.0/ccache/language/tree-il/fix-letrec.go
./lib/guile/2.0/ccache/language/tree-il/effects.go
./lib/guile/2.0/ccache/language/tree-il/primitives.go
./lib/guile/2.0/ccache/language/ecmascript/
./lib/guile/2.0/ccache/language/ecmascript/compile-tree-il.go
./lib/guile/2.0/ccache/language/ecmascript/spec.go
./lib/guile/2.0/ccache/language/ecmascript/parse.go
./lib/guile/2.0/ccache/language/ecmascript/tokenize.go
./lib/guile/2.0/ccache/language/ecmascript/array.go
./lib/guile/2.0/ccache/language/ecmascript/impl.go
./lib/guile/2.0/ccache/language/ecmascript/function.go
./lib/guile/2.0/ccache/language/ecmascript/base.go
./lib/guile/2.0/ccache/language/value/
./lib/guile/2.0/ccache/language/value/spec.go
./lib/guile/2.0/ccache/web/
./lib/guile/2.0/ccache/web/http.go
./lib/guile/2.0/ccache/web/server/
./lib/guile/2.0/ccache/web/server/http.go
./lib/guile/2.0/ccache/web/client.go
./lib/guile/2.0/ccache/web/request.go
./lib/guile/2.0/ccache/web/server.go
./lib/guile/2.0/ccache/web/uri.go
./lib/guile/2.0/ccache/web/response.go
./lib/guile/2.0/ccache/oop/
./lib/guile/2.0/ccache/oop/goops.go
./lib/guile/2.0/ccache/oop/goops/
./lib/guile/2.0/ccache/oop/goops/composite-slot.go
./lib/guile/2.0/ccache/oop/goops/internal.go
./lib/guile/2.0/ccache/oop/goops/stklos.go
./lib/guile/2.0/ccache/oop/goops/save.go
./lib/guile/2.0/ccache/oop/goops/dispatch.go
./lib/guile/2.0/ccache/oop/goops/util.go
./lib/guile/2.0/ccache/oop/goops/active-slot.go
./lib/guile/2.0/ccache/oop/goops/simple.go
./lib/guile/2.0/ccache/oop/goops/describe.go
./lib/guile/2.0/ccache/oop/goops/compile.go
./lib/guile/2.0/ccache/oop/goops/accessors.go
./lib/guile/2.0/ccache/rnrs/
./lib/guile/2.0/ccache/rnrs/mutable-pairs.go
./lib/guile/2.0/ccache/rnrs/control.go
./lib/guile/2.0/ccache/rnrs/records/
./lib/guile/2.0/ccache/rnrs/records/procedural.go
./lib/guile/2.0/ccache/rnrs/records/syntactic.go
./lib/guile/2.0/ccache/rnrs/records/inspection.go
./lib/guile/2.0/ccache/rnrs/arithmetic/
./lib/guile/2.0/ccache/rnrs/arithmetic/fixnums.go
./lib/guile/2.0/ccache/rnrs/arithmetic/bitwise.go
./lib/guile/2.0/ccache/rnrs/arithmetic/flonums.go
./lib/guile/2.0/ccache/rnrs/enums.go
./lib/guile/2.0/ccache/rnrs/programs.go
./lib/guile/2.0/ccache/rnrs/exceptions.go
./lib/guile/2.0/ccache/rnrs/files.go
./lib/guile/2.0/ccache/rnrs/syntax-case.go
./lib/guile/2.0/ccache/rnrs/lists.go
./lib/guile/2.0/ccache/rnrs/mutable-strings.go
./lib/guile/2.0/ccache/rnrs/unicode.go
./lib/guile/2.0/ccache/rnrs/r5rs.go
./lib/guile/2.0/ccache/rnrs/hashtables.go
./lib/guile/2.0/ccache/rnrs/eval.go
./lib/guile/2.0/ccache/rnrs/conditions.go
./lib/guile/2.0/ccache/rnrs/bytevectors.go
./lib/guile/2.0/ccache/rnrs/sorting.go
./lib/guile/2.0/ccache/rnrs/base.go
./lib/guile/2.0/ccache/rnrs/io/
./lib/guile/2.0/ccache/rnrs/io/ports.go
./lib/guile/2.0/ccache/rnrs/io/simple.go
./lib/guile/2.0/ccache/sxml/
./lib/guile/2.0/ccache/sxml/transform.go
./lib/guile/2.0/ccache/sxml/ssax.go
./lib/guile/2.0/ccache/sxml/simple.go
./lib/guile/2.0/ccache/sxml/apply-templates.go
./lib/guile/2.0/ccache/sxml/xpath.go
./lib/guile/2.0/ccache/sxml/match.go
./lib/guile/2.0/ccache/sxml/fold.go
./lib/guile/2.0/ccache/sxml/ssax/
./lib/guile/2.0/ccache/sxml/ssax/input-parse.go
./lib/guile/2.0/ccache/rnrs.go
./lib/guile/2.0/ccache/srfi/
./lib/guile/2.0/ccache/srfi/srfi-4.go
./lib/guile/2.0/ccache/srfi/srfi-14.go
./lib/guile/2.0/ccache/srfi/srfi-26.go
./lib/guile/2.0/ccache/srfi/srfi-17.go
./lib/guile/2.0/ccache/srfi/srfi-27.go
./lib/guile/2.0/ccache/srfi/srfi-38.go
./lib/guile/2.0/ccache/srfi/srfi-34.go
./lib/guile/2.0/ccache/srfi/srfi-13.go
./lib/guile/2.0/ccache/srfi/srfi-41.go
./lib/guile/2.0/ccache/srfi/srfi-19.go
./lib/guile/2.0/ccache/srfi/srfi-67.go
./lib/guile/2.0/ccache/srfi/srfi-9.go
./lib/guile/2.0/ccache/srfi/srfi-2.go
./lib/guile/2.0/ccache/srfi/srfi-4/
./lib/guile/2.0/ccache/srfi/srfi-4/gnu.go
./lib/guile/2.0/ccache/srfi/srfi-60.go
./lib/guile/2.0/ccache/srfi/srfi-11.go
./lib/guile/2.0/ccache/srfi/srfi-69.go
./lib/guile/2.0/ccache/srfi/srfi-6.go
./lib/guile/2.0/ccache/srfi/srfi-37.go
./lib/guile/2.0/ccache/srfi/srfi-39.go
./lib/guile/2.0/ccache/srfi/srfi-1.go
./lib/guile/2.0/ccache/srfi/srfi-8.go
./lib/guile/2.0/ccache/srfi/srfi-9/
./lib/guile/2.0/ccache/srfi/srfi-9/gnu.go
./lib/guile/2.0/ccache/srfi/srfi-45.go
./lib/guile/2.0/ccache/srfi/srfi-42.go
./lib/guile/2.0/ccache/srfi/srfi-16.go
./lib/guile/2.0/ccache/srfi/srfi-31.go
./lib/guile/2.0/ccache/srfi/srfi-18.go
./lib/guile/2.0/ccache/srfi/srfi-88.go
./lib/guile/2.0/ccache/srfi/srfi-10.go
./lib/guile/2.0/ccache/srfi/srfi-35.go
./lib/guile/2.0/ccache/srfi/srfi-98.go
./lib/guile/2.0/ccache/texinfo.go
./lib/guile/2.0/ccache/statprof.go
./bin/
./bin/guile
guile (GNU Guile) 2.0.9
Copyright (C) 2013 Free Software Foundation, Inc.

License LGPLv3+: GNU LGPL 3 or later <http://gnu.org/licenses/lgpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
@ build-succeeded /home/jorge/repos/guix/test-tmp/store/3qfxb66gv54z729zwg5qylc88rifq47d-guile-bootstrap-2.0.drv -
@ build-started /home/jorge/repos/guix/test-tmp/store/mif4v2zc85ss1fhqlwlg0rwnsakkp2wg-sleep-then-succeed.drv - x86_64-linux /home/jorge/repos/guix/test-tmp/var/log/guix/drvs/mi//f4v2zc85ss1fhqlwlg0rwnsakkp2wg-sleep-then-succeed.drv.bz2
@ build-succeeded /home/jorge/repos/guix/test-tmp/store/mif4v2zc85ss1fhqlwlg0rwnsakkp2wg-sleep-then-succeed.drv -
actual-value: #t
result: PASS

test-name: identical files are deduplicated
location: /home/jorge/repos/guix/tests/derivations.scm:192
source:
+ (test-assert
+   "identical files are deduplicated"
+   (let* ((build1
+            (add-text-to-store
+              %store
+              "one.sh"
+              "echo hello, world > \"$out\"\n"
+              '()))
+          (build2
+            (add-text-to-store
+              %store
+              "two.sh"
+              "# Hey!\necho hello, world > \"$out\"\n"
+              '()))
+          (drv1 (derivation
+                  %store
+                  "foo"
+                  %bash
+                  `(,build1)
+                  #:inputs
+                  `((,%bash) (,build1))))
+          (drv2 (derivation
+                  %store
+                  "bar"
+                  %bash
+                  `(,build2)
+                  #:inputs
+                  `((,%bash) (,build2)))))
+     (and (build-derivations %store (list drv1 drv2))
+          (let ((file1 (derivation->output-path drv1))
+                (file2 (derivation->output-path drv2)))
+            (and (valid-path? %store file1)
+                 (valid-path? %store file2)
+                 (string=?
+                   (call-with-input-file file1 get-string-all)
+                   "hello, world\n")
+                 (= (stat:ino (lstat file1))
+                    (stat:ino (lstat file2))))))))
actual-value: #t
result: PASS

test-name: built-in-builders
location: /home/jorge/repos/guix/tests/derivations.scm:214
source:
+ (test-equal
+   "built-in-builders"
+   '("download")
+   (built-in-builders %store))
expected-value: ("download")
actual-value: ("download")
result: PASS

test-name: unknown built-in builder
location: /home/jorge/repos/guix/tests/derivations.scm:218
source:
+ (test-assert
+   "unknown built-in builder"
+   (let ((drv (derivation
+                %store
+                "ohoh"
+                "builtin:does-not-exist"
+                '())))
+     (guard (c ((nix-protocol-error? c)
+                (string-contains
+                  (nix-protocol-error-message c)
+                  "failed")))
+            (build-derivations %store (list drv))
+            #f)))
@ build-started /home/jorge/repos/guix/test-tmp/store/4nzfdmnw9y5ssdb0zfbi8wy6flasr6l0-ohoh.drv - x86_64-linux /home/jorge/repos/guix/test-tmp/var/log/guix/drvs/4n//zfdmnw9y5ssdb0zfbi8wy6flasr6l0-ohoh.drv.bz2
error: unsupported builtin function 'does-not-exist'
builder for `/home/jorge/repos/guix/test-tmp/store/4nzfdmnw9y5ssdb0zfbi8wy6flasr6l0-ohoh.drv' failed with exit code 1
@ build-failed /home/jorge/repos/guix/test-tmp/store/4nzfdmnw9y5ssdb0zfbi8wy6flasr6l0-ohoh.drv - 1 builder for `/home/jorge/repos/guix/test-tmp/store/4nzfdmnw9y5ssdb0zfbi8wy6flasr6l0-ohoh.drv' failed with exit code 1
actual-value: 91
result: PASS

test-name: 'download' built-in builder
location: /home/jorge/repos/guix/tests/derivations.scm:227
source:
+ (test-assert
+   "'download' built-in builder"
+   (let ((text (random-text)))
+     (with-http-server
+       200
+       text
+       (let* ((drv (derivation
+                     %store
+                     "world"
+                     "builtin:download"
+                     '()
+                     #:env-vars
+                     `(("url" unquote (object->string (%local-url))))
+                     #:hash-algo
+                     'sha256
+                     #:hash
+                     (sha256 (string->utf8 text)))))
+         (and (build-derivations %store (list drv))
+              (string=?
+                (call-with-input-file
+                  (derivation->output-path drv)
+                  get-string-all)
+                text))))))
@ build-started /home/jorge/repos/guix/test-tmp/store/24ibbvll6jdr9ri6qp7z1vgcl4vjljwv-world.drv - x86_64-linux /home/jorge/repos/guix/test-tmp/var/log/guix/drvs/24//ibbvll6jdr9ri6qp7z1vgcl4vjljwv-world.drv.bz2

Starting download of /home/jorge/repos/guix/test-tmp/store/25k9f37z2l775rbj4kianf5g1k9vnczj-world
From http://localhost:10500/foo/bar...
download failed "http://localhost:10500/foo/bar" 503 "Service Unavailable"
failed to download "/home/jorge/repos/guix/test-tmp/store/25k9f37z2l775rbj4kianf5g1k9vnczj-world" from "http://localhost:10500/foo/bar"
builder for `/home/jorge/repos/guix/test-tmp/store/24ibbvll6jdr9ri6qp7z1vgcl4vjljwv-world.drv' failed to produce output path `/home/jorge/repos/guix/test-tmp/store/25k9f37z2l775rbj4kianf5g1k9vnczj-world'
@ build-failed /home/jorge/repos/guix/test-tmp/store/24ibbvll6jdr9ri6qp7z1vgcl4vjljwv-world.drv - 1 builder for `/home/jorge/repos/guix/test-tmp/store/24ibbvll6jdr9ri6qp7z1vgcl4vjljwv-world.drv' failed to produce output path `/home/jorge/repos/guix/test-tmp/store/25k9f37z2l775rbj4kianf5g1k9vnczj-world'
actual-value: #f
actual-error:
+ (srfi-34
+   #<condition &nix-protocol-error [message: "build of `/home/jorge/repos/guix/test-tmp/store/24ibbvll6jdr9ri6qp7z1vgcl4vjljwv-world.drv' failed" status: 1] 5577e21fdde0>)
result: FAIL

test-name: 'download' built-in builder, invalid hash
location: /home/jorge/repos/guix/tests/derivations.scm:243
source:
+ (test-assert
+   "'download' built-in builder, invalid hash"
+   (with-http-server
+     200
+     "hello, world!"
+     (let* ((drv (derivation
+                   %store
+                   "world"
+                   "builtin:download"
+                   '()
+                   #:env-vars
+                   `(("url" unquote (object->string (%local-url))))
+                   #:hash-algo
+                   'sha256
+                   #:hash
+                   (sha256 (random-bytevector 100)))))
+       (guard (c ((nix-protocol-error? c)
+                  (string-contains
+                    (nix-protocol-error-message c)
+                    "failed")))
+              (build-derivations %store (list drv))
+              #f))))
result: SKIP

test-name: 'download' built-in builder, not found
location: /home/jorge/repos/guix/tests/derivations.scm:258
source:
+ (test-assert
+   "'download' built-in builder, not found"
+   (with-http-server
+     404
+     "not found"
+     (let* ((drv (derivation
+                   %store
+                   "will-never-be-found"
+                   "builtin:download"
+                   '()
+                   #:env-vars
+                   `(("url" unquote (object->string (%local-url))))
+                   #:hash-algo
+                   'sha256
+                   #:hash
+                   (sha256 (random-bytevector 100)))))
+       (guard (c ((nix-protocol-error? c)
+                  (string-contains
+                    (nix-protocol-error-message (pk c))
+                    "failed")))
+              (build-derivations %store (list drv))
+              #f))))
result: SKIP

test-name: 'download' built-in builder, not fixed-output
location: /home/jorge/repos/guix/tests/derivations.scm:271
source:
+ (test-assert
+   "'download' built-in builder, not fixed-output"
+   (let* ((source (add-text-to-store %store "hello" "hi!"))
+          (url (string-append "file://" source))
+          (drv (derivation
+                 %store
+                 "world"
+                 "builtin:download"
+                 '()
+                 #:env-vars
+                 `(("url" unquote (object->string url))))))
+     (guard (c ((nix-protocol-error? c)
+                (string-contains
+                  (nix-protocol-error-message c)
+                  "failed")))
+            (build-derivations %store (list drv))
+            #f)))
warning: cannot run Web server for tests: Address already in use
warning: cannot run Web server for tests: Address already in use
@ build-started /home/jorge/repos/guix/test-tmp/store/6gq5sis8rbkzm6byqv6lkinql3625sjn-world.drv - x86_64-linux /home/jorge/repos/guix/test-tmp/var/log/guix/drvs/6g//q5sis8rbkzm6byqv6lkinql3625sjn-world.drv.bz2
guix perform-download: error: /home/jorge/repos/guix/test-tmp/store/6gq5sis8rbkzm6byqv6lkinql3625sjn-world.drv is not a fixed-output derivation
builder for `/home/jorge/repos/guix/test-tmp/store/6gq5sis8rbkzm6byqv6lkinql3625sjn-world.drv' failed with exit code 1
@ build-failed /home/jorge/repos/guix/test-tmp/store/6gq5sis8rbkzm6byqv6lkinql3625sjn-world.drv - 1 builder for `/home/jorge/repos/guix/test-tmp/store/6gq5sis8rbkzm6byqv6lkinql3625sjn-world.drv' failed with exit code 1
actual-value: 92
result: PASS

test-name: 'download' built-in builder, check mode
location: /home/jorge/repos/guix/tests/derivations.scm:284
source:
+ (test-assert
+   "'download' built-in builder, check mode"
+   (let* ((text (random-text))
+          (drv (derivation
+                 %store
+                 "world"
+                 "builtin:download"
+                 '()
+                 #:env-vars
+                 `(("url" unquote (object->string (%local-url))))
+                 #:hash-algo
+                 'sha256
+                 #:hash
+                 (sha256 (string->utf8 text)))))
+     (and (with-http-server
+            200
+            text
+            (build-derivations %store (list drv)))
+          (with-http-server
+            200
+            text
+            (build-derivations
+              %store
+              (list drv)
+              (build-mode check)))
+          (string=?
+            (call-with-input-file
+              (derivation->output-path drv)
+              get-string-all)
+            text))))
result: SKIP

test-name: derivation-name
location: /home/jorge/repos/guix/tests/derivations.scm:303
source:
+ (test-equal
+   "derivation-name"
+   "foo-0.0"
+   (let ((drv (derivation %store "foo-0.0" %bash '())))
+     (derivation-name drv)))
expected-value: "foo-0.0"
actual-value: "foo-0.0"
result: PASS

test-name: derivation-output-names
location: /home/jorge/repos/guix/tests/derivations.scm:308
source:
+ (test-equal
+   "derivation-output-names"
+   '(("out") ("bar" "chbouib"))
+   (let ((drv1 (derivation %store "foo-0.0" %bash '()))
+         (drv2 (derivation
+                 %store
+                 "foo-0.0"
+                 %bash
+                 '()
+                 #:outputs
+                 '("bar" "chbouib"))))
+     (list (derivation-output-names drv1)
+           (derivation-output-names drv2))))
expected-value: (("out") ("bar" "chbouib"))
actual-value: (("out") ("bar" "chbouib"))
result: PASS

test-name: offloadable-derivation?
location: /home/jorge/repos/guix/tests/derivations.scm:316
source:
+ (test-assert
+   "offloadable-derivation?"
+   (and (offloadable-derivation?
+          (derivation %store "foo" %bash '()))
+        (offloadable-derivation?
+          (derivation
+            %store
+            "foo"
+            %bash
+            '()
+            #:substitutable?
+            #f))
+        (not (offloadable-derivation?
+               (derivation
+                 %store
+                 "foo"
+                 %bash
+                 '()
+                 #:local-build?
+                 #t)))))
actual-value: #t
result: PASS

test-name: substitutable-derivation?
location: /home/jorge/repos/guix/tests/derivations.scm:325
source:
+ (test-assert
+   "substitutable-derivation?"
+   (and (substitutable-derivation?
+          (derivation %store "foo" %bash '()))
+        (substitutable-derivation?
+          (derivation
+            %store
+            "foo"
+            %bash
+            '()
+            #:local-build?
+            #t))
+        (not (substitutable-derivation?
+               (derivation
+                 %store
+                 "foo"
+                 %bash
+                 '()
+                 #:substitutable?
+                 #f)))))
actual-value: #t
result: PASS

test-name: fixed-output-derivation?
location: /home/jorge/repos/guix/tests/derivations.scm:334
source:
+ (test-assert
+   "fixed-output-derivation?"
+   (let* ((builder
+            (add-text-to-store
+              %store
+              "my-fixed-builder.sh"
+              "echo -n hello > $out"
+              '()))
+          (hash (sha256 (string->utf8 "hello")))
+          (drv (derivation
+                 %store
+                 "fixed"
+                 %bash
+                 `(,builder)
+                 #:inputs
+                 `((,builder))
+                 #:hash
+                 hash
+                 #:hash-algo
+                 'sha256)))
+     (fixed-output-derivation? drv)))
actual-value: #t
result: PASS

test-name: fixed-output derivation
location: /home/jorge/repos/guix/tests/derivations.scm:344
source:
+ (test-assert
+   "fixed-output derivation"
+   (let* ((builder
+            (add-text-to-store
+              %store
+              "my-fixed-builder.sh"
+              "echo -n hello > $out"
+              '()))
+          (hash (sha256 (string->utf8 "hello")))
+          (drv (derivation
+                 %store
+                 "fixed"
+                 %bash
+                 `(,builder)
+                 #:inputs
+                 `((,builder))
+                 #:hash
+                 hash
+                 #:hash-algo
+                 'sha256))
+          (succeeded?
+            (build-derivations %store (list drv))))
+     (and succeeded?
+          (let ((p (derivation->output-path drv)))
+            (and (equal?
+                   (string->utf8 "hello")
+                   (call-with-input-file p get-bytevector-all))
+                 (bytevector? (query-path-hash %store p)))))))
actual-value: #t
result: PASS

test-name: fixed-output derivation: output paths are equal
location: /home/jorge/repos/guix/tests/derivations.scm:359
source:
+ (test-assert
+   "fixed-output derivation: output paths are equal"
+   (let* ((builder1
+            (add-text-to-store
+              %store
+              "fixed-builder1.sh"
+              "echo -n hello > $out"
+              '()))
+          (builder2
+            (add-text-to-store
+              %store
+              "fixed-builder2.sh"
+              "echo hey; echo -n hello > $out"
+              '()))
+          (hash (sha256 (string->utf8 "hello")))
+          (drv1 (derivation
+                  %store
+                  "fixed"
+                  %bash
+                  `(,builder1)
+                  #:hash
+                  hash
+                  #:hash-algo
+                  'sha256))
+          (drv2 (derivation
+                  %store
+                  "fixed"
+                  %bash
+                  `(,builder2)
+                  #:hash
+                  hash
+                  #:hash-algo
+                  'sha256))
+          (succeeded?
+            (build-derivations %store (list drv1 drv2))))
+     (and succeeded?
+          (equal?
+            (derivation->output-path drv1)
+            (derivation->output-path drv2)))))
actual-value: #t
result: PASS

test-name: fixed-output derivation, recursive
location: /home/jorge/repos/guix/tests/derivations.scm:376
source:
+ (test-assert
+   "fixed-output derivation, recursive"
+   (let* ((builder
+            (add-text-to-store
+              %store
+              "my-fixed-builder.sh"
+              "echo -n hello > $out"
+              '()))
+          (hash (sha256 (string->utf8 "hello")))
+          (drv (derivation
+                 %store
+                 "fixed-rec"
+                 %bash
+                 `(,builder)
+                 #:inputs
+                 `((,builder))
+                 #:hash
+                 (base32
+                   "0sg9f58l1jj88w6pdrfdpj5x9b1zrwszk84j81zvby36q9whhhqa")
+                 #:hash-algo
+                 'sha256
+                 #:recursive?
+                 #t))
+          (succeeded?
+            (build-derivations %store (list drv))))
+     (and succeeded?
+          (let ((p (derivation->output-path drv)))
+            (and (equal?
+                   (string->utf8 "hello")
+                   (call-with-input-file p get-bytevector-all))
+                 (bytevector? (query-path-hash %store p)))))))
actual-value: #t
result: PASS

test-name: derivation with a fixed-output input
location: /home/jorge/repos/guix/tests/derivations.scm:393
source:
+ (test-assert
+   "derivation with a fixed-output input"
+   (let* ((builder1
+            (add-text-to-store
+              %store
+              "fixed-builder1.sh"
+              "echo -n hello > $out"
+              '()))
+          (builder2
+            (add-text-to-store
+              %store
+              "fixed-builder2.sh"
+              "echo hey; echo -n hello > $out"
+              '()))
+          (hash (sha256 (string->utf8 "hello")))
+          (fixed1
+            (derivation
+              %store
+              "fixed"
+              %bash
+              `(,builder1)
+              #:hash
+              hash
+              #:hash-algo
+              'sha256))
+          (fixed2
+            (derivation
+              %store
+              "fixed"
+              %bash
+              `(,builder2)
+              #:hash
+              hash
+              #:hash-algo
+              'sha256))
+          (fixed-out (derivation->output-path fixed1))
+          (builder3
+            (add-text-to-store
+              %store
+              "final-builder.sh"
+              "echo $in ; (read -u 3 c; echo $c) 3< $in > $out"
+              '()))
+          (final1
+            (derivation
+              %store
+              "final"
+              %bash
+              `(,builder3)
+              #:env-vars
+              `(("in" unquote fixed-out))
+              #:inputs
+              `((,%bash) (,builder3) (,fixed1))))
+          (final2
+            (derivation
+              %store
+              "final"
+              %bash
+              `(,builder3)
+              #:env-vars
+              `(("in" unquote fixed-out))
+              #:inputs
+              `((,%bash) (,builder3) (,fixed2))))
+          (succeeded?
+            (build-derivations %store (list final1 final2))))
+     (and succeeded?
+          (equal?
+            (derivation->output-path final1)
+            (derivation->output-path final2)))))
actual-value: #t
result: PASS

test-name: multiple-output derivation
location: /home/jorge/repos/guix/tests/derivations.scm:427
source:
+ (test-assert
+   "multiple-output derivation"
+   (let* ((builder
+            (add-text-to-store
+              %store
+              "my-fixed-builder.sh"
+              "echo one > $out ; echo two > $second"
+              '()))
+          (drv (derivation
+                 %store
+                 "fixed"
+                 %bash
+                 `(,builder)
+                 #:env-vars
+                 '(("HOME" . "/homeless")
+                   ("zzz" . "Z!")
+                   ("AAA" . "A!"))
+                 #:inputs
+                 `((,%bash) (,builder))
+                 #:outputs
+                 '("out" "second")))
+          (succeeded?
+            (build-derivations %store (list drv))))
+     (and succeeded?
+          (let ((one (derivation->output-path drv "out"))
+                (two (derivation->output-path drv "second")))
+            (and (lset= equal?
+                        (derivation->output-paths drv)
+                        `(("out" unquote one) ("second" unquote two)))
+                 (eq? 'one (call-with-input-file one read))
+                 (eq? 'two (call-with-input-file two read)))))))
actual-value: #t
result: PASS

test-name: multiple-output derivation, non-alphabetic order
location: /home/jorge/repos/guix/tests/derivations.scm:448
source:
+ (test-assert
+   "multiple-output derivation, non-alphabetic order"
+   (let* ((builder
+            (add-text-to-store
+              %store
+              "my-fixed-builder.sh"
+              "echo one > $out ; echo two > $AAA"
+              '()))
+          (drv (derivation
+                 %store
+                 "fixed"
+                 %bash
+                 `(,builder)
+                 #:inputs
+                 `((,%bash) (,builder))
+                 #:outputs
+                 '("out" "AAA")))
+          (succeeded?
+            (build-derivations %store (list drv))))
+     (and succeeded?
+          (let ((one (derivation->output-path drv "out"))
+                (two (derivation->output-path drv "AAA")))
+            (and (eq? 'one (call-with-input-file one read))
+                 (eq? 'two (call-with-input-file two read)))))))
actual-value: #t
result: PASS

test-name: read-derivation vs. derivation
location: /home/jorge/repos/guix/tests/derivations.scm:465
source:
+ (test-assert
+   "read-derivation vs. derivation"
+   (let* ((sources
+            (unfold
+              (cut >= <> 10)
+              (lambda (n)
+                (add-text-to-store
+                  %store
+                  (format #f "input~a" n)
+                  (random-text)))
+              #{1+}#
+              0))
+          (inputs
+            (map (lambda (file)
+                   (derivation
+                     %store
+                     "derivation-input"
+                     %bash
+                     '()
+                     #:inputs
+                     `((,%bash) (,file))))
+                 sources))
+          (builder
+            (add-text-to-store
+              %store
+              "builder.sh"
+              "echo one > $one ; echo two > $two"
+              '()))
+          (drv (derivation
+                 %store
+                 "derivation"
+                 %bash
+                 `(,builder)
+                 #:inputs
+                 `((,%bash)
+                   (,builder)
+                   ,@(map list (append sources inputs)))
+                 #:outputs
+                 '("two" "one")))
+          (drv* (call-with-input-file
+                  (derivation-file-name drv)
+                  read-derivation)))
+     (equal? drv* drv)))
actual-value: #t
result: PASS

test-name: multiple-output derivation, derivation-path->output-path
location: /home/jorge/repos/guix/tests/derivations.scm:492
source:
+ (test-assert
+   "multiple-output derivation, derivation-path->output-path"
+   (let* ((builder
+            (add-text-to-store
+              %store
+              "builder.sh"
+              "echo one > $out ; echo two > $second"
+              '()))
+          (drv (derivation
+                 %store
+                 "multiple"
+                 %bash
+                 `(,builder)
+                 #:outputs
+                 '("out" "second")))
+          (drv-file (derivation-file-name drv))
+          (one (derivation->output-path drv "out"))
+          (two (derivation->output-path drv "second"))
+          (first (derivation-path->output-path drv-file "out"))
+          (second
+            (derivation-path->output-path drv-file "second")))
+     (and (not (string=? one two))
+          (string-suffix? "-second" two)
+          (string=? first one)
+          (string=? second two))))
actual-value: #t
result: PASS

test-name: user of multiple-output derivation
location: /home/jorge/repos/guix/tests/derivations.scm:509
source:
+ (test-assert
+   "user of multiple-output derivation"
+   (let* ((builder1
+            (add-text-to-store
+              %store
+              "my-mo-builder.sh"
+              "echo one > $out ; echo two > $two"
+              '()))
+          (mdrv (derivation
+                  %store
+                  "multiple-output"
+                  %bash
+                  `(,builder1)
+                  #:inputs
+                  `((,%bash) (,builder1))
+                  #:outputs
+                  '("out" "two")))
+          (builder2
+            (add-text-to-store
+              %store
+              "my-mo-user-builder.sh"
+              "read x < $one;\n                                         read y < $two;\n                                         echo \"($x $y)\" > $out"
+              '()))
+          (udrv (derivation
+                  %store
+                  "multiple-output-user"
+                  %bash
+                  `(,builder2)
+                  #:env-vars
+                  `(("one"
+                     unquote
+                     (derivation->output-path mdrv "out"))
+                    ("two"
+                     unquote
+                     (derivation->output-path mdrv "two")))
+                  #:inputs
+                  `((,%bash) (,builder2) (,mdrv) (,mdrv "two")))))
+     (and (build-derivations %store (list (pk 'udrv udrv)))
+          (let ((p (derivation->output-path udrv)))
+            (and (valid-path? %store p)
+                 (equal? '(one two) (call-with-input-file p read)))))))

;;; (udrv #<derivation /home/jorge/repos/guix/test-tmp/store/4zk7p28p27iq7qx91a3jsm5ifp0dx92w-multiple-output-user.drv => /home/jorge/repos/guix/test-tmp/store/jgdgwrh5fk6nw9z4ryhbhrkymk5d16p9-multiple-output-user 5577e080f960>)
actual-value: #t
result: PASS

test-name: derivation with #:references-graphs
location: /home/jorge/repos/guix/tests/derivations.scm:542
source:
+ (test-assert
+   "derivation with #:references-graphs"
+   (let* ((input1
+            (add-text-to-store
+              %store
+              "foo"
+              "hello"
+              (list %bash)))
+          (input2
+            (add-text-to-store
+              %store
+              "bar"
+              (number->string (random 7777))
+              (list input1)))
+          (builder
+            (add-text-to-store
+              %store
+              "build-graph"
+              (format
+                #f
+                "\n~a $out\n (while read l ; do echo $l ; done) < bash > $out/bash\n (while read l ; do echo $l ; done) < input1 > $out/input1\n (while read l ; do echo $l ; done) < input2 > $out/input2"
+                %mkdir)
+              (list %mkdir)))
+          (drv (derivation
+                 %store
+                 "closure-graphs"
+                 %bash
+                 `(,builder)
+                 #:references-graphs
+                 `(("bash" unquote %bash)
+                   ("input1" unquote input1)
+                   ("input2" unquote input2))
+                 #:inputs
+                 `((,%bash) (,builder))))
+          (out (derivation->output-path drv)))
+     (define (deps path . deps)
+       (let ((count (length deps)))
+         (string-append
+           path
+           "\n\n"
+           (number->string count)
+           "\n"
+           (string-join (sort deps string<?) "\n")
+           (if (zero? count) "" "\n"))))
+     (and (build-derivations %store (list drv))
+          (equal?
+            (directory-contents out get-string-all)
+            `(("/bash" unquote (string-append %bash "\n\n0\n"))
+              ("/input1"
+               unquote
+               (if (string>? input1 %bash)
+                 (string-append (deps %bash) (deps input1 %bash))
+                 (string-append (deps input1 %bash) (deps %bash))))
+              ("/input2"
+               unquote
+               (string-concatenate
+                 (map cdr
+                      (sort (map (lambda (p d) (cons p (apply deps p d)))
+                                 (list %bash input1 input2)
+                                 (list '() (list %bash) (list input1)))
+                            (lambda (x y)
+                              (match x
+                                     ((p1 . _)
+                                      (match y
+                                             ((p2 . _)
+                                              (string<? p1 p2)))))))))))))))
actual-value: #t
result: PASS

test-name: derivation #:allowed-references, ok
location: /home/jorge/repos/guix/tests/derivations.scm:592
source:
+ (test-assert
+   "derivation #:allowed-references, ok"
+   (let ((drv (derivation
+                %store
+                "allowed"
+                %bash
+                '("-c" "echo hello > $out")
+                #:inputs
+                `((,%bash))
+                #:allowed-references
+                '())))
+     (build-derivations %store (list drv))))
actual-value: #t
result: PASS

test-name: derivation #:allowed-references, not allowed
location: /home/jorge/repos/guix/tests/derivations.scm:599
source:
+ (test-assert
+   "derivation #:allowed-references, not allowed"
+   (let* ((txt (add-text-to-store %store "foo" "Hello, world."))
+          (drv (derivation
+                 %store
+                 "disallowed"
+                 %bash
+                 `("-c" ,(string-append "echo " txt "> $out"))
+                 #:inputs
+                 `((,%bash) (,txt))
+                 #:allowed-references
+                 '())))
+     (guard (c ((nix-protocol-error? c) #t))
+            (build-derivations %store (list drv))
+            #f)))
warning: cannot run Web server for tests: Address already in use
@ build-started /home/jorge/repos/guix/test-tmp/store/f7j0mnxv1p0swhj1qihb7jwsr7g0dv1z-disallowed.drv - x86_64-linux /home/jorge/repos/guix/test-tmp/var/log/guix/drvs/f7//j0mnxv1p0swhj1qihb7jwsr7g0dv1z-disallowed.drv.bz2
output (`/home/jorge/repos/guix/test-tmp/store/yccz4qjbr1jp7z5f112qll9sq1jpc097-disallowed') is not allowed to refer to path `/home/jorge/repos/guix/test-tmp/store/wpq9l41rvc3vilaysmmmcl603a7k86cr-foo'
@ build-failed /home/jorge/repos/guix/test-tmp/store/f7j0mnxv1p0swhj1qihb7jwsr7g0dv1z-disallowed.drv - 1 output (`/home/jorge/repos/guix/test-tmp/store/yccz4qjbr1jp7z5f112qll9sq1jpc097-disallowed') is not allowed to refer to path `/home/jorge/repos/guix/test-tmp/store/wpq9l41rvc3vilaysmmmcl603a7k86cr-foo'
actual-value: #t
result: PASS

test-name: derivation #:allowed-references, self allowed
location: /home/jorge/repos/guix/tests/derivations.scm:611
source:
+ (test-assert
+   "derivation #:allowed-references, self allowed"
+   (let ((drv (derivation
+                %store
+                "allowed"
+                %bash
+                '("-c" "echo $out > $out")
+                #:inputs
+                `((,%bash))
+                #:allowed-references
+                '("out"))))
+     (build-derivations %store (list drv))))
actual-value: #t
result: PASS

test-name: derivation #:allowed-references, self not allowed
location: /home/jorge/repos/guix/tests/derivations.scm:618
source:
+ (test-assert
+   "derivation #:allowed-references, self not allowed"
+   (let ((drv (derivation
+                %store
+                "disallowed"
+                %bash
+                `("-c" ,"echo $out > $out")
+                #:inputs
+                `((,%bash))
+                #:allowed-references
+                '())))
+     (guard (c ((nix-protocol-error? c) #t))
+            (build-derivations %store (list drv))
+            #f)))
@ build-started /home/jorge/repos/guix/test-tmp/store/hhy2f55mf5mq26v0v9hyfn2wzy8fm8m2-disallowed.drv - x86_64-linux /home/jorge/repos/guix/test-tmp/var/log/guix/drvs/hh//y2f55mf5mq26v0v9hyfn2wzy8fm8m2-disallowed.drv.bz2
output (`/home/jorge/repos/guix/test-tmp/store/iw4milncppznr2d4d7aw90badb3xn6av-disallowed') is not allowed to refer to path `/home/jorge/repos/guix/test-tmp/store/iw4milncppznr2d4d7aw90badb3xn6av-disallowed'
@ build-failed /home/jorge/repos/guix/test-tmp/store/hhy2f55mf5mq26v0v9hyfn2wzy8fm8m2-disallowed.drv - 1 output (`/home/jorge/repos/guix/test-tmp/store/iw4milncppznr2d4d7aw90badb3xn6av-disallowed') is not allowed to refer to path `/home/jorge/repos/guix/test-tmp/store/iw4milncppznr2d4d7aw90badb3xn6av-disallowed'
actual-value: #t
result: PASS

test-name: derivation #:disallowed-references, ok
location: /home/jorge/repos/guix/tests/derivations.scm:629
source:
+ (test-assert
+   "derivation #:disallowed-references, ok"
+   (let ((drv (derivation
+                %store
+                "disallowed"
+                %bash
+                '("-c" "echo hello > $out")
+                #:inputs
+                `((,%bash))
+                #:disallowed-references
+                '("out"))))
+     (build-derivations %store (list drv))))
actual-value: #t
result: PASS

test-name: derivation #:disallowed-references, not ok
location: /home/jorge/repos/guix/tests/derivations.scm:636
source:
+ (test-assert
+   "derivation #:disallowed-references, not ok"
+   (let* ((txt (add-text-to-store %store "foo" "Hello, world."))
+          (drv (derivation
+                 %store
+                 "disdisallowed"
+                 %bash
+                 `("-c" ,(string-append "echo " txt "> $out"))
+                 #:inputs
+                 `((,%bash) (,txt))
+                 #:disallowed-references
+                 (list txt))))
+     (guard (c ((nix-protocol-error? c) #t))
+            (build-derivations %store (list drv))
+            #f)))
@ build-started /home/jorge/repos/guix/test-tmp/store/93zbxyagimcfdiwkxl0s6yxnfhcp5b7l-disdisallowed.drv - x86_64-linux /home/jorge/repos/guix/test-tmp/var/log/guix/drvs/93//zbxyagimcfdiwkxl0s6yxnfhcp5b7l-disdisallowed.drv.bz2
output (`/home/jorge/repos/guix/test-tmp/store/14b8q5k83z2kcvaqfa4bd86z88qzkfds-disdisallowed') is not allowed to refer to path `/home/jorge/repos/guix/test-tmp/store/wpq9l41rvc3vilaysmmmcl603a7k86cr-foo'
@ build-failed /home/jorge/repos/guix/test-tmp/store/93zbxyagimcfdiwkxl0s6yxnfhcp5b7l-disdisallowed.drv - 1 output (`/home/jorge/repos/guix/test-tmp/store/14b8q5k83z2kcvaqfa4bd86z88qzkfds-disdisallowed') is not allowed to refer to path `/home/jorge/repos/guix/test-tmp/store/wpq9l41rvc3vilaysmmmcl603a7k86cr-foo'
actual-value: #t
result: PASS

test-name: derivation #:leaked-env-vars
location: /home/jorge/repos/guix/tests/derivations.scm:651
source:
+ (test-equal
+   "derivation #:leaked-env-vars"
+   (getenv "NIX_STATE_DIR")
+   (let* ((value (getenv "NIX_STATE_DIR"))
+          (drv (derivation
+                 %store
+                 "leaked-env-vars"
+                 %bash
+                 '("-c" "echo -n $NIX_STATE_DIR > $out")
+                 #:hash
+                 (sha256 (string->utf8 value))
+                 #:hash-algo
+                 'sha256
+                 #:inputs
+                 `((,%bash))
+                 #:leaked-env-vars
+                 '("NIX_STATE_DIR"))))
+     (and (build-derivations %store (list drv))
+          (call-with-input-file
+            (derivation->output-path drv)
+            get-string-all))))
@ build-started /home/jorge/repos/guix/test-tmp/store/flqjkyqwdlxshhzgyf8nhygi38b1y95s-leaked-env-vars.drv - x86_64-linux /home/jorge/repos/guix/test-tmp/var/log/guix/drvs/fl//qjkyqwdlxshhzgyf8nhygi38b1y95s-leaked-env-vars.drv.bz2
@ build-succeeded /home/jorge/repos/guix/test-tmp/store/flqjkyqwdlxshhzgyf8nhygi38b1y95s-leaked-env-vars.drv -
expected-value: "/home/jorge/repos/guix/test-tmp/var/31131"
actual-value: "/home/jorge/repos/guix/test-tmp/var/31131"
result: PASS

test-name: build derivation with coreutils
location: /home/jorge/repos/guix/tests/derivations.scm:672
source:
+ (test-assert
+   "build derivation with coreutils"
+   (let* ((builder
+            (add-text-to-store
+              %store
+              "build-with-coreutils.sh"
+              "echo $PATH ; mkdir --version ; mkdir $out ; touch $out/good"
+              '()))
+          (drv (derivation
+                 %store
+                 "foo"
+                 %bash
+                 `(,builder)
+                 #:env-vars
+                 `(("PATH"
+                    unquote
+                    (string-append
+                      (derivation->output-path %coreutils)
+                      "/bin")))
+                 #:inputs
+                 `((,builder) (,%coreutils))))
+          (succeeded?
+            (build-derivations %store (list drv))))
+     (and succeeded?
+          (let ((p (derivation->output-path drv)))
+            (and (valid-path? %store p)
+                 (file-exists? (string-append p "/good")))))))
actual-value: #t
result: PASS

test-name: build-expression->derivation and invalid module name
location: /home/jorge/repos/guix/tests/derivations.scm:695
source:
+ (test-equal
+   "build-expression->derivation and invalid module name"
+   '(file-search-error
+      "guix/module/that/does/not/exist.scm")
+   (guard (c ((file-search-error? c)
+              (list 'file-search-error
+                    (file-search-error-file-name c))))
+          (build-expression->derivation
+            %store
+            "foo"
+            #t
+            #:modules
+            '((guix module that does not exist)))))
expected-value: (file-search-error "guix/module/that/does/not/exist.scm")
actual-value: (file-search-error "guix/module/that/does/not/exist.scm")
result: PASS

test-name: build-expression->derivation and builder encoding
location: /home/jorge/repos/guix/tests/derivations.scm:704
source:
+ (test-equal
+   "build-expression->derivation and builder encoding"
+   '("UTF-8" #t)
+   (let* ((exp '(λ (α) (+ α 1)))
+          (drv (build-expression->derivation %store "foo" exp)))
+     (match (derivation-builder-arguments drv)
+            ((... builder)
+             (with-fluids
+               ((%default-port-encoding "UTF-8"))
+               (call-with-input-file
+                 builder
+                 (lambda (port)
+                   (list (port-encoding port)
+                         (->bool
+                           (string-contains
+                             (get-string-all port)
+                             "(λ (α) (+ α 1))"))))))))))
expected-value: ("UTF-8" #t)
actual-value: ("UTF-8" #t)
result: PASS

test-name: build-expression->derivation and derivation-prerequisites
location: /home/jorge/repos/guix/tests/derivations.scm:718
source:
+ (test-assert
+   "build-expression->derivation and derivation-prerequisites"
+   (let ((drv (build-expression->derivation %store "fail" #f)))
+     (any (match-lambda
+            (($ <derivation-input> path)
+             (string=?
+               path
+               (derivation-file-name (%guile-for-build)))))
+          (derivation-prerequisites drv))))
actual-value: #t
result: PASS

test-name: derivation-prerequisites and valid-derivation-input?
location: /home/jorge/repos/guix/tests/derivations.scm:725
source:
+ (test-assert
+   "derivation-prerequisites and valid-derivation-input?"
+   (let* ((a (build-expression->derivation
+               %store
+               "a"
+               '(mkdir %output)))
+          (b (build-expression->derivation
+               %store
+               "b"
+               `(list ,(random-text))))
+          (c (build-expression->derivation
+               %store
+               "c"
+               `(mkdir %output)
+               #:inputs
+               `(("a" ,a) ("b" ,b)))))
+     (build-derivations
+       %store
+       (list a
+             (package-derivation %store %bootstrap-guile)))
+     (match (derivation-prerequisites
+              c
+              (cut valid-derivation-input? %store <>))
+            ((($ <derivation-input> file ("out")))
+             (string=? file (derivation-file-name b)))
+            (x (pk 'fail x #f)))))
actual-value: #t
result: PASS

test-name: build-expression->derivation without inputs
location: /home/jorge/repos/guix/tests/derivations.scm:743
source:
+ (test-assert
+   "build-expression->derivation without inputs"
+   (let* ((builder
+            '(begin
+               (mkdir %output)
+               (call-with-output-file
+                 (string-append %output "/test")
+                 (lambda (p) (display '(hello guix) p)))))
+          (drv (build-expression->derivation
+                 %store
+                 "goo"
+                 builder))
+          (succeeded?
+            (build-derivations %store (list drv))))
+     (and succeeded?
+          (let ((p (derivation->output-path drv)))
+            (equal?
+              '(hello guix)
+              (call-with-input-file
+                (string-append p "/test")
+                read))))))
actual-value: #t
result: PASS

test-name: build-expression->derivation and max-silent-time
location: /home/jorge/repos/guix/tests/derivations.scm:756
source:
+ (test-assert
+   "build-expression->derivation and max-silent-time"
+   (let* ((store (let ((s (open-connection)))
+                   (set-build-options s #:max-silent-time 1)
+                   s))
+          (builder '(begin (sleep 100) (mkdir %output) #t))
+          (drv (build-expression->derivation
+                 store
+                 "silent"
+                 builder))
+          (out-path (derivation->output-path drv)))
+     (guard (c ((nix-protocol-error? c)
+                (and (string-contains
+                       (nix-protocol-error-message c)
+                       "failed")
+                     (not (valid-path? store out-path)))))
+            (build-derivations store (list drv))
+            #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
@ build-started /home/jorge/repos/guix/test-tmp/store/v1bfcr4qh12mgsy5ad79vqz2qrnh234s-silent.drv - x86_64-linux /home/jorge/repos/guix/test-tmp/var/log/guix/drvs/v1//bfcr4qh12mgsy5ad79vqz2qrnh234s-silent.drv.bz2
building of `/home/jorge/repos/guix/test-tmp/store/v1bfcr4qh12mgsy5ad79vqz2qrnh234s-silent.drv' timed out after 1 seconds of silence
@ build-failed /home/jorge/repos/guix/test-tmp/store/v1bfcr4qh12mgsy5ad79vqz2qrnh234s-silent.drv - timeout
killing process 32077
actual-value: #t
result: PASS

test-name: build-expression->derivation and timeout
location: /home/jorge/repos/guix/tests/derivations.scm:770
source:
+ (test-assert
+   "build-expression->derivation and timeout"
+   (let* ((store (let ((s (open-connection)))
+                   (set-build-options s #:timeout 1)
+                   s))
+          (builder '(begin (sleep 100) (mkdir %output) #t))
+          (drv (build-expression->derivation
+                 store
+                 "slow"
+                 builder))
+          (out-path (derivation->output-path drv)))
+     (guard (c ((nix-protocol-error? c)
+                (and (string-contains
+                       (nix-protocol-error-message c)
+                       "failed")
+                     (not (valid-path? store out-path)))))
+            (build-derivations store (list drv))
+            #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
@ build-started /home/jorge/repos/guix/test-tmp/store/zyal8wbnqd4yni82bsyi61laf3rkv7kk-slow.drv - x86_64-linux /home/jorge/repos/guix/test-tmp/var/log/guix/drvs/zy//al8wbnqd4yni82bsyi61laf3rkv7kk-slow.drv.bz2
building of `/home/jorge/repos/guix/test-tmp/store/zyal8wbnqd4yni82bsyi61laf3rkv7kk-slow.drv' timed out after 1 seconds
@ build-failed /home/jorge/repos/guix/test-tmp/store/zyal8wbnqd4yni82bsyi61laf3rkv7kk-slow.drv - timeout
killing process 32240
actual-value: #t
result: PASS

test-name: build-expression->derivation and derivation-prerequisites-to-build
location: /home/jorge/repos/guix/tests/derivations.scm:784
source:
+ (test-assert
+   "build-expression->derivation and derivation-prerequisites-to-build"
+   (let ((drv (build-expression->derivation %store "fail" #f)))
+     (null? (derivation-prerequisites-to-build %store drv))))
actual-value: #t
result: PASS

test-name: derivation-prerequisites-to-build when outputs already present
location: /home/jorge/repos/guix/tests/derivations.scm:790
source:
+ (test-assert
+   "derivation-prerequisites-to-build when outputs already present"
+   (let* ((builder '(begin (mkdir %output) #t))
+          (input-drv
+            (build-expression->derivation
+              %store
+              "input"
+              builder))
+          (input-path
+            (derivation-output-path
+              (assoc-ref (derivation-outputs input-drv) "out")))
+          (drv (build-expression->derivation
+                 %store
+                 "something"
+                 builder
+                 #:inputs
+                 `(("i" ,input-drv))))
+          (output (derivation->output-path drv)))
+     (when (valid-path? %store input-path)
+           (delete-paths %store (list input-path)))
+     (when (valid-path? %store output)
+           (delete-paths %store (list output)))
+     (and (equal?
+            (map derivation-input-path
+                 (derivation-prerequisites-to-build %store drv))
+            (list (derivation-file-name input-drv)))
+          (build-derivations %store (list drv))
+          (delete-paths %store (list input-path))
+          (not (valid-path? %store input-path))
+          (null? (derivation-prerequisites-to-build %store drv)))))
finding garbage collector roots...
removing stale temporary roots file `/home/jorge/repos/guix/test-tmp/var/31131/temproots/31409'
deleting unused links...
@ build-started /home/jorge/repos/guix/test-tmp/store/a5dp04hag61qqxz8vyvc85ilrdi79xx9-input.drv - x86_64-linux /home/jorge/repos/guix/test-tmp/var/log/guix/drvs/a5//dp04hag61qqxz8vyvc85ilrdi79xx9-input.drv.bz2
@ build-succeeded /home/jorge/repos/guix/test-tmp/store/a5dp04hag61qqxz8vyvc85ilrdi79xx9-input.drv -
@ build-started /home/jorge/repos/guix/test-tmp/store/l3jf2b3dq2z8lpwjyi8a4vwip691j9mj-something.drv - x86_64-linux /home/jorge/repos/guix/test-tmp/var/log/guix/drvs/l3//jf2b3dq2z8lpwjyi8a4vwip691j9mj-something.drv.bz2
@ build-succeeded /home/jorge/repos/guix/test-tmp/store/l3jf2b3dq2z8lpwjyi8a4vwip691j9mj-something.drv -
finding garbage collector roots...
deleting unused links...
actual-value: #t
result: PASS

test-name: derivation-prerequisites-to-build and substitutes
location: /home/jorge/repos/guix/tests/derivations.scm:819
source:
+ (test-assert
+   "derivation-prerequisites-to-build and substitutes"
+   (let* ((store (open-connection))
+          (drv (build-expression->derivation
+                 store
+                 "prereq-subst"
+                 (random 1000)))
+          (output (derivation->output-path drv)))
+     (set-build-options
+       store
+       #:use-substitutes?
+       #t
+       #:substitute-urls
+       (%test-substitute-urls))
+     (with-derivation-narinfo
+       drv
+       (let-values
+         (((build download)
+           (derivation-prerequisites-to-build store drv))
+          ((build* download*)
+           (derivation-prerequisites-to-build
+             store
+             drv
+             #:substitutable-info
+             (const #f))))
+         (and (null? build)
+              (equal?
+                (map substitutable-path download)
+                (list output))
+              (null? download*)
+              (null? build*))))))
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: derivation-prerequisites-to-build and substitutes, non-substitutable build
location: /home/jorge/repos/guix/tests/derivations.scm:841
source:
+ (test-assert
+   "derivation-prerequisites-to-build and substitutes, non-substitutable build"
+   (let* ((store (open-connection))
+          (drv (build-expression->derivation
+                 store
+                 "prereq-no-subst"
+                 (random 1000)
+                 #:substitutable?
+                 #f))
+          (output (derivation->output-path drv)))
+     (set-build-options
+       store
+       #:use-substitutes?
+       #t
+       #:substitute-urls
+       (%test-substitute-urls))
+     (with-derivation-narinfo
+       drv
+       (let-values
+         (((build download)
+           (derivation-prerequisites-to-build store drv)))
+         (and (null? download)
+              (match build
+                     (((? derivation-input? input))
+                      (string=?
+                        (derivation-input-path input)
+                        (derivation-file-name drv)))))))))
actual-value: #t
result: PASS

test-name: derivation-prerequisites-to-build and substitutes, local build
location: /home/jorge/repos/guix/tests/derivations.scm:863
source:
+ (test-assert
+   "derivation-prerequisites-to-build and substitutes, local build"
+   (with-store
+     store
+     (let* ((drv (build-expression->derivation
+                   store
+                   "prereq-subst-local"
+                   (random 1000)
+                   #:local-build?
+                   #t))
+            (output (derivation->output-path drv)))
+       (set-build-options
+         store
+         #:use-substitutes?
+         #t
+         #:substitute-urls
+         (%test-substitute-urls))
+       (with-derivation-narinfo
+         drv
+         (let-values
+           (((build download)
+             (derivation-prerequisites-to-build store drv)))
+           (and (null? build)
+                (match download
+                       (((= substitutable-path item))
+                        (string=? item (derivation->output-path drv))))))))))
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: derivation-prerequisites-to-build in 'check' mode
location: /home/jorge/repos/guix/tests/derivations.scm:885
source:
+ (test-assert
+   "derivation-prerequisites-to-build in 'check' mode"
+   (with-store
+     store
+     (let* ((dep (build-expression->derivation
+                   store
+                   "dep"
+                   `(begin ,(random-text) (mkdir %output))))
+            (drv (build-expression->derivation
+                   store
+                   "to-check"
+                   '(mkdir %output)
+                   #:inputs
+                   `(("dep" ,dep)))))
+       (build-derivations store (list drv))
+       (delete-paths
+         store
+         (list (derivation->output-path dep)))
+       (and (null? (derivation-prerequisites-to-build store drv))
+            (match (derivation-prerequisites-to-build
+                     store
+                     drv
+                     #:mode
+                     (build-mode check))
+                   ((input)
+                    (string=?
+                      (derivation-input-path input)
+                      (derivation-file-name dep))))))))
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/jorge/repos/guix/test-tmp/store/lhwcyzy8ks2pf54c3vz6vzhzgm3lagmp-dep'
building path(s) `/home/jorge/repos/guix/test-tmp/store/wxn9bn564m155jmz75m8517vlamx8c8z-to-check'
finding garbage collector roots...
removing stale temporary roots file `/home/jorge/repos/guix/test-tmp/var/31131/temproots/32665'
deleting `/home/jorge/repos/guix/test-tmp/store/lhwcyzy8ks2pf54c3vz6vzhzgm3lagmp-dep'
deleting `/home/jorge/repos/guix/test-tmp/store/trash'
deleting unused links...
note: currently hard linking saves 25.96 MiB
actual-value: #t
result: PASS

test-name: substitution-oracle and #:substitute? #f
location: /home/jorge/repos/guix/tests/derivations.scm:905
source:
+ (test-assert
+   "substitution-oracle and #:substitute? #f"
+   (with-store
+     store
+     (let* ((dep (build-expression->derivation
+                   store
+                   "dep"
+                   `(begin ,(random-text) (mkdir %output))))
+            (drv (build-expression->derivation
+                   store
+                   "not-subst"
+                   `(begin ,(random-text) (mkdir %output))
+                   #:substitutable?
+                   #f
+                   #:inputs
+                   `(("dep" ,dep))))
+            (query #f))
+       (define (record-substitutable-path-query store paths)
+         (when query (error "already called!" query))
+         (set! query paths)
+         '())
+       (mock ((guix store)
+              substitutable-path-info
+              record-substitutable-path-query)
+             (let ((pred (substitution-oracle store (list drv))))
+               (pred (derivation->output-path drv))))
+       (equal?
+         (pk 'query query)
+         (list (derivation->output-path dep))))))

;;; (query ("/home/jorge/repos/guix/test-tmp/store/jwd7rvnc2myay3wd1nglnlldgcixfmfz-dep"))
actual-value: #t
result: PASS

test-name: build-expression->derivation with expression returning #f
location: /home/jorge/repos/guix/tests/derivations.scm:934
source:
+ (test-assert
+   "build-expression->derivation with expression returning #f"
+   (let* ((builder '(begin (mkdir %output) #f))
+          (drv (build-expression->derivation
+                 %store
+                 "fail"
+                 builder))
+          (out-path (derivation->output-path drv)))
+     (guard (c ((nix-protocol-error? c)
+                (and (string-match
+                       "build .* failed"
+                       (nix-protocol-error-message c))
+                     (not (valid-path? %store out-path)))))
+            (build-derivations %store (list drv))
+            #f)))
@ build-started /home/jorge/repos/guix/test-tmp/store/j9p2cv04r76aq45x24pxw36jgrc2jddd-fail.drv - x86_64-linux /home/jorge/repos/guix/test-tmp/var/log/guix/drvs/j9//p2cv04r76aq45x24pxw36jgrc2jddd-fail.drv.bz2
builder for `/home/jorge/repos/guix/test-tmp/store/j9p2cv04r76aq45x24pxw36jgrc2jddd-fail.drv' failed with exit code 1
@ build-failed /home/jorge/repos/guix/test-tmp/store/j9p2cv04r76aq45x24pxw36jgrc2jddd-fail.drv - 1 builder for `/home/jorge/repos/guix/test-tmp/store/j9p2cv04r76aq45x24pxw36jgrc2jddd-fail.drv' failed with exit code 1
actual-value: #t
result: PASS

test-name: build-expression->derivation with two outputs
location: /home/jorge/repos/guix/tests/derivations.scm:949
source:
+ (test-assert
+   "build-expression->derivation with two outputs"
+   (let* ((builder
+            '(begin
+               (call-with-output-file
+                 (assoc-ref %outputs "out")
+                 (lambda (p) (display '(hello) p)))
+               (call-with-output-file
+                 (assoc-ref %outputs "second")
+                 (lambda (p) (display '(world) p)))))
+          (drv (build-expression->derivation
+                 %store
+                 "double"
+                 builder
+                 #:outputs
+                 '("out" "second")))
+          (succeeded?
+            (build-derivations %store (list drv))))
+     (and succeeded?
+          (let ((one (derivation->output-path drv))
+                (two (derivation->output-path drv "second")))
+            (and (equal? '(hello) (call-with-input-file one read))
+                 (equal? '(world) (call-with-input-file two read)))))))
actual-value: #t
result: PASS

test-name: build-expression->derivation with one input
location: /home/jorge/repos/guix/tests/derivations.scm:968
source:
+ (test-assert
+   "build-expression->derivation with one input"
+   (let* ((builder
+            '(call-with-output-file
+               %output
+               (lambda (p)
+                 (let ((cu (assoc-ref %build-inputs "cu")))
+                   (close 1)
+                   (dup2 (port->fdes p) 1)
+                   (execl (string-append cu "/bin/uname")
+                          "uname"
+                          "-a")))))
+          (drv (build-expression->derivation
+                 %store
+                 "uname"
+                 builder
+                 #:inputs
+                 `(("cu" ,%coreutils))))
+          (succeeded?
+            (build-derivations %store (list drv))))
+     (and succeeded?
+          (let ((p (derivation->output-path drv)))
+            (string-contains
+              (call-with-input-file p read-line)
+              "GNU")))))
actual-value: 93
result: PASS

test-name: build-expression->derivation with modules
location: /home/jorge/repos/guix/tests/derivations.scm:984
source:
+ (test-assert
+   "build-expression->derivation with modules"
+   (let* ((builder
+            `(begin
+               (use-modules (guix build utils))
+               (let ((out (assoc-ref %outputs "out")))
+                 (mkdir-p (string-append out "/guile/guix/nix"))
+                 #t)))
+          (drv (build-expression->derivation
+                 %store
+                 "test-with-modules"
+                 builder
+                 #:modules
+                 '((guix build utils)))))
+     (and (build-derivations %store (list drv))
+          (let* ((p (derivation->output-path drv))
+                 (s (stat (string-append p "/guile/guix/nix"))))
+            (eq? (stat:type s) 'directory)))))
actual-value: #t
result: PASS

test-name: build-expression->derivation: same fixed-output path
location: /home/jorge/repos/guix/tests/derivations.scm:999
source:
+ (test-assert
+   "build-expression->derivation: same fixed-output path"
+   (let* ((builder1
+            '(call-with-output-file
+               %output
+               (lambda (p) (write "hello" p))))
+          (builder2
+            '(call-with-output-file
+               (pk 'difference-here! %output)
+               (lambda (p) (write "hello" p))))
+          (hash (sha256 (string->utf8 "hello")))
+          (input1
+            (build-expression->derivation
+              %store
+              "fixed"
+              builder1
+              #:hash
+              hash
+              #:hash-algo
+              'sha256))
+          (input2
+            (build-expression->derivation
+              %store
+              "fixed"
+              builder2
+              #:hash
+              hash
+              #:hash-algo
+              'sha256))
+          (succeeded?
+            (build-derivations %store (list input1 input2))))
+     (and succeeded?
+          (not (string=?
+                 (derivation-file-name input1)
+                 (derivation-file-name input2)))
+          (string=?
+            (derivation->output-path input1)
+            (derivation->output-path input2)))))
actual-value: #t
result: PASS

test-name: build-expression->derivation with a fixed-output input
location: /home/jorge/repos/guix/tests/derivations.scm:1020
source:
+ (test-assert
+   "build-expression->derivation with a fixed-output input"
+   (let* ((builder1
+            '(call-with-output-file
+               %output
+               (lambda (p) (write "hello" p))))
+          (builder2
+            '(call-with-output-file
+               (pk 'difference-here! %output)
+               (lambda (p) (write "hello" p))))
+          (hash (sha256 (string->utf8 "hello")))
+          (input1
+            (build-expression->derivation
+              %store
+              "fixed"
+              builder1
+              #:hash
+              hash
+              #:hash-algo
+              'sha256))
+          (input2
+            (build-expression->derivation
+              %store
+              "fixed"
+              builder2
+              #:hash
+              hash
+              #:hash-algo
+              'sha256))
+          (builder3
+            '(let ((input (assoc-ref %build-inputs "input")))
+               (call-with-output-file
+                 %output
+                 (lambda (out)
+                   (format #f "My input is ~a.~%" input)))))
+          (final1
+            (build-expression->derivation
+              %store
+              "final"
+              builder3
+              #:inputs
+              `(("input" ,input1))))
+          (final2
+            (build-expression->derivation
+              %store
+              "final"
+              builder3
+              #:inputs
+              `(("input" ,input2)))))
+     (and (string=?
+            (derivation->output-path final1)
+            (derivation->output-path final2))
+          (string=?
+            (derivation->output-path final1)
+            (derivation-path->output-path
+              (derivation-file-name final1)))
+          (build-derivations %store (list final1 final2)))))
actual-value: #t
result: PASS

test-name: build-expression->derivation produces recursive fixed-output
location: /home/jorge/repos/guix/tests/derivations.scm:1051
source:
+ (test-assert
+   "build-expression->derivation produces recursive fixed-output"
+   (let* ((builder
+            '(begin
+               (use-modules (srfi srfi-26))
+               (mkdir %output)
+               (chdir %output)
+               (call-with-output-file
+                 "exe"
+                 (cut display "executable" <>))
+               (chmod "exe" 511)
+               (symlink "exe" "symlink")
+               (mkdir "subdir")))
+          (drv (build-expression->derivation
+                 %store
+                 "fixed-rec"
+                 builder
+                 #:hash-algo
+                 'sha256
+                 #:hash
+                 (base32
+                   "10k1lw41wyrjf9mxydi0is5nkpynlsvgslinics4ppir13g7d74p")
+                 #:recursive?
+                 #t)))
+     (and (build-derivations %store (list drv))
+          (let* ((dir (derivation->output-path drv))
+                 (exe (string-append dir "/exe"))
+                 (link (string-append dir "/symlink"))
+                 (subdir (string-append dir "/subdir")))
+            (and (executable-file? exe)
+                 (string=?
+                   "executable"
+                   (call-with-input-file exe get-string-all))
+                 (string=? "exe" (readlink link))
+                 (file-is-directory? subdir))))))
actual-value: #t
result: PASS

test-name: build-expression->derivation uses recursive fixed-output
location: /home/jorge/repos/guix/tests/derivations.scm:1077
source:
+ (test-assert
+   "build-expression->derivation uses recursive fixed-output"
+   (let* ((builder
+            '(call-with-output-file
+               %output
+               (lambda (port) (display "hello" port))))
+          (fixed (build-expression->derivation
+                   %store
+                   "small-fixed-rec"
+                   builder
+                   #:hash-algo
+                   'sha256
+                   #:hash
+                   (base32
+                     "0sg9f58l1jj88w6pdrfdpj5x9b1zrwszk84j81zvby36q9whhhqa")
+                   #:recursive?
+                   #t))
+          (in (derivation->output-path fixed))
+          (builder
+            `(begin
+               (mkdir %output)
+               (chdir %output)
+               (symlink ,in "symlink")))
+          (drv (build-expression->derivation
+                 %store
+                 "fixed-rec-user"
+                 builder
+                 #:inputs
+                 `(("fixed" ,fixed)))))
+     (and (build-derivations %store (list drv))
+          (let ((out (derivation->output-path drv)))
+            (string=?
+              (readlink (string-append out "/symlink"))
+              in)))))
actual-value: #t
result: PASS

test-name: build-expression->derivation with #:references-graphs
location: /home/jorge/repos/guix/tests/derivations.scm:1099
source:
+ (test-assert
+   "build-expression->derivation with #:references-graphs"
+   (let* ((input (add-text-to-store
+                   %store
+                   "foo"
+                   "hello"
+                   (list %bash %mkdir)))
+          (builder '(copy-file "input" %output))
+          (drv (build-expression->derivation
+                 %store
+                 "references-graphs"
+                 builder
+                 #:references-graphs
+                 `(("input" unquote input))))
+          (out (derivation->output-path drv)))
+     (define (deps path . deps)
+       (let ((count (length deps)))
+         (string-append
+           path
+           "\n\n"
+           (number->string count)
+           "\n"
+           (string-join (sort deps string<?) "\n")
+           (if (zero? count) "" "\n"))))
+     (and (build-derivations %store (list drv))
+          (equal?
+            (call-with-input-file out get-string-all)
+            (string-concatenate
+              (map cdr
+                   (sort (map (lambda (p d) (cons p (apply deps p d)))
+                              (list input %bash %mkdir)
+                              (list (list %bash %mkdir) '() '()))
+                         (lambda (x y)
+                           (match x
+                                  ((p1 . _)
+                                   (match y
+                                          ((p2 . _)
+                                           (string<? p1 p2)))))))))))))
actual-value: #t
result: PASS

test-name: map-derivation
location: /home/jorge/repos/guix/tests/derivations.scm:1130
source:
+ (test-equal
+   "map-derivation"
+   "hello"
+   (let* ((joke (package-derivation %store guile-1.8))
+          (good (package-derivation %store %bootstrap-guile))
+          (drv1 (build-expression->derivation
+                  %store
+                  "original-drv1"
+                  #f
+                  #:guile-for-build
+                  joke))
+          (drv2 (build-expression->derivation
+                  %store
+                  "original-drv2"
+                  '(call-with-output-file
+                     %output
+                     (lambda (p) (display "hello" p)))))
+          (drv3 (build-expression->derivation
+                  %store
+                  "drv-to-remap"
+                  '(let ((in (assoc-ref %build-inputs "in")))
+                     (copy-file in %output))
+                  #:inputs
+                  `(("in" ,drv1))
+                  #:guile-for-build
+                  joke))
+          (drv4 (map-derivation
+                  %store
+                  drv3
+                  `((,drv1 unquote drv2) (,joke unquote good))))
+          (out (derivation->output-path drv4)))
+     (and (build-derivations
+            %store
+            (list (pk 'remapped drv4)))
+          (call-with-input-file out get-string-all))))

;;; (remapped #<derivation /home/jorge/repos/guix/test-tmp/store/0rbad3251aird9wik5jfrc92csb5k30g-drv-to-remap.drv => /home/jorge/repos/guix/test-tmp/store/9vsn60spp33x4iq51vlmd1vmlzpa83ix-drv-to-remap 5577e29590f0>)
expected-value: "hello"
actual-value: "hello"
result: PASS

test-name: map-derivation, sources
location: /home/jorge/repos/guix/tests/derivations.scm:1153
source:
+ (test-equal
+   "map-derivation, sources"
+   "hello"
+   (let* ((script1
+            (add-text-to-store %store "fail.sh" "exit 1"))
+          (script2
+            (add-text-to-store
+              %store
+              "hi.sh"
+              "echo -n hello > $out"))
+          (bash-full
+            (package-derivation
+              %store
+              (@ (gnu packages bash) bash)))
+          (drv1 (derivation
+                  %store
+                  "drv-to-remap"
+                  (derivation->output-path bash-full)
+                  `("-e" ,script1)
+                  #:inputs
+                  `((,bash-full) (,script1))))
+          (drv2 (map-derivation
+                  %store
+                  drv1
+                  `((,bash-full unquote %bash)
+                    (,script1 unquote script2))))
+          (out (derivation->output-path drv2)))
+     (and (build-derivations
+            %store
+            (list (pk 'remapped* drv2)))
+          (call-with-input-file out get-string-all))))

;;; (remapped* #<derivation /home/jorge/repos/guix/test-tmp/store/fzacr7nv83iyyy0lbb4mjkn88xqvyaqy-drv-to-remap.drv => /home/jorge/repos/guix/test-tmp/store/l7rxv83lwgp1zhz27d2p3cb89b7ihp6n-drv-to-remap 5577e2517fa0>)
expected-value: "hello"
actual-value: "hello"
result: PASS


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

test-name: factorize-uri
location: /home/jorge/repos/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/jorge/repos/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


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

test-name: mount, ENOENT
location: /home/jorge/repos/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/jorge/repos/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/jorge/repos/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" "/run/lock" "/sys/fs/cgroup" "/sys/fs/cgroup/unified" "/sys/fs/cgroup/systemd" "/sys/fs/pstore" "/sys/firmware/efi/efivars" "/sys/fs/cgroup/devices" "/sys/fs/cgroup/net_cls,net_prio" "/sys/fs/cgroup/freezer" "/sys/fs/cgroup/perf_event" "/sys/fs/cgroup/cpu,cpuacct" "/sys/fs/cgroup/pids" "/sys/fs/cgroup/memory" "/sys/fs/cgroup/cpuset" "/sys/fs/cgroup/blkio" "/proc/sys/fs/binfmt_misc" "/dev/mqueue" "/sys/kernel/debug" "/dev/hugepages" "/boot/efi" "/Dados" "/tmp" "/run/user/117" "/run/user/1000" "/run/user/1000/gvfs" "/sys/fs/fuse/connections")
result: PASS

test-name: swapon, ENOENT/EPERM
location: /home/jorge/repos/guix/tests/syscalls.scm:63
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/jorge/repos/guix/tests/syscalls.scm:71
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/jorge/repos/guix/tests/syscalls.scm:79
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/jorge/repos/guix/tests/syscalls.scm:87
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/jorge/repos/guix/tests/syscalls.scm:94
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/jorge/repos/guix/tests/syscalls.scm:111
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))))))))
result: SKIP

test-name: setns
location: /home/jorge/repos/guix/tests/syscalls.scm:124
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))))))))
result: SKIP

test-name: pivot-root
location: /home/jorge/repos/guix/tests/syscalls.scm:156
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/jorge/repos/guix/tests/syscalls.scm:189
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/jorge/repos/guix/tests/syscalls.scm:197
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" "cache.go" "cache.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" "derivations.go" "derivations.scm" "discovery.go" "discovery.scm" "docker.scm" "download.go" "download.scm" "elf.go" "elf.scm" "ftp-client.go" "ftp-client.scm" "gcrypt.go" "gcrypt.scm" "gexp.go" "gexp.scm" "git-download.go" "git-download.scm" "git.go" "git.scm" "gnu-maintenance.go" "gnu-maintenance.scm" "gnupg.go" "gnupg.scm" "grafts.go" "grafts.scm" "graph.go" "graph.scm" "hash.go" "hash.scm" "hg-download.go" "hg-download.scm" "http-client.go" "http-client.scm" "i18n.go" "i18n.scm" "import" "licenses.go" "licenses.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" "pk-crypto.go" "pk-crypto.scm" "pki.go" "pki.scm" "profiles.go" "profiles.scm" "profiling.go" "profiling.scm" "progress.go" "progress.scm" "records.go" "records.scm" "scripts" "scripts.go" "scripts.scm" "search-paths.go" "search-paths.scm" "serialization.go" "serialization.scm" "sets.go" "sets.scm" "ssh.scm" "store" "store.go" "store.scm" "svn-download.go" "svn-download.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" "cache.go" "cache.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" "derivations.go" "derivations.scm" "discovery.go" "discovery.scm" "docker.scm" "download.go" "download.scm" "elf.go" "elf.scm" "ftp-client.go" "ftp-client.scm" "gcrypt.go" "gcrypt.scm" "gexp.go" "gexp.scm" "git-download.go" "git-download.scm" "git.go" "git.scm" "gnu-maintenance.go" "gnu-maintenance.scm" "gnupg.go" "gnupg.scm" "grafts.go" "grafts.scm" "graph.go" "graph.scm" "hash.go" "hash.scm" "hg-download.go" "hg-download.scm" "http-client.go" "http-client.scm" "i18n.go" "i18n.scm" "import" "licenses.go" "licenses.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" "pk-crypto.go" "pk-crypto.scm" "pki.go" "pki.scm" "profiles.go" "profiles.scm" "profiling.go" "profiling.scm" "progress.go" "progress.scm" "records.go" "records.scm" "scripts" "scripts.go" "scripts.scm" "search-paths.go" "search-paths.scm" "serialization.go" "serialization.scm" "sets.go" "sets.scm" "ssh.scm" "store" "store.go" "store.scm" "svn-download.go" "svn-download.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/jorge/repos/guix/tests/syscalls.scm:204
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/jorge/repos/guix/tests/syscalls.scm:231
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/jorge/repos/guix/tests/syscalls.scm:248
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)))))))
expected-value: 42
actual-value: 42
result: PASS

test-name: fcntl-flock non-blocking
location: /home/jorge/repos/guix/tests/syscalls.scm:287
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)
expected-value: 11
actual-value: 11
result: PASS

test-name: set-thread-name
location: /home/jorge/repos/guix/tests/syscalls.scm:329
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/jorge/repos/guix/tests/syscalls.scm:337
source:
+ (test-assert
+   "all-network-interface-names"
+   (match (all-network-interface-names)
+          (((? string? names) ..1) (member "lo" names))))
actual-value: ("lo")
result: PASS

test-name: network-interface-names
location: /home/jorge/repos/guix/tests/syscalls.scm:342
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/jorge/repos/guix/tests/syscalls.scm:347
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/jorge/repos/guix/tests/syscalls.scm:354
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/jorge/repos/guix/tests/syscalls.scm:364
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/jorge/repos/guix/tests/syscalls.scm:375
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/jorge/repos/guix/tests/syscalls.scm:385
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/jorge/repos/guix/tests/syscalls.scm:393
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/jorge/repos/guix/tests/syscalls.scm:407
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/jorge/repos/guix/tests/syscalls.scm:415
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/jorge/repos/guix/tests/syscalls.scm:428
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/jorge/repos/guix/tests/syscalls.scm:440
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/jorge/repos/guix/tests/syscalls.scm:456
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/jorge/repos/guix/tests/syscalls.scm:469
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/jorge/repos/guix/tests/syscalls.scm:479
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/jorge/repos/guix/tests/syscalls.scm:493
source:
+ (test-assert
+   "tcgetattr"
+   (let ((termios (tcgetattr 0)))
+     (and (termios? termios)
+          (> (termios-input-speed termios) 0)
+          (> (termios-output-speed termios) 0))))
result: SKIP

test-name: tcsetattr
location: /home/jorge/repos/guix/tests/syscalls.scm:499
source:
+ (test-assert
+   "tcsetattr"
+   (let ((first (tcgetattr 0)))
+     (tcsetattr 0 (tcsetattr-action TCSANOW) first)
+     (equal? first (tcgetattr 0))))
result: SKIP

test-name: terminal-window-size ENOTTY
location: /home/jorge/repos/guix/tests/syscalls.scm:504
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/jorge/repos/guix/tests/syscalls.scm:515
source:
+ (test-assert
+   "terminal-columns"
+   (> (terminal-columns) 0))
actual-value: #t
result: PASS

test-name: terminal-columns non-file port
location: /home/jorge/repos/guix/tests/syscalls.scm:518
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: utmpx-entries
location: /home/jorge/repos/guix/tests/syscalls.scm:522
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/jorge/repos/guix/tests/syscalls.scm:539
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/jorge/repos/guix/tests/syscalls.scm:544
source:
+ (test-assert
+   "read-utmpx"
+   (let ((result
+           (call-with-input-file
+             "/var/run/utmpx"
+             read-utmpx)))
+     (or (utmpx? result) (eof-object? result))))
result: SKIP


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

test-name: elf-dynamic-info-needed, executable
location: /home/jorge/repos/guix/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: /home/jorge/repos/guix/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


SKIP: tests/containers
======================

test-name: call-with-container, exit with 0 when there is no error
location: /home/jorge/repos/guix/tests/containers.scm:41
source:
+ (test-assert
+   "call-with-container, exit with 0 when there is no error"
+   (zero? (call-with-container
+            '()
+            (const #t)
+            #:namespaces
+            '(user))))
result: SKIP

test-name: call-with-container, user namespace
location: /home/jorge/repos/guix/tests/containers.scm:46
source:
+ (test-assert
+   "call-with-container, user namespace"
+   (zero? (call-with-container
+            '()
+            (lambda ()
+              (assert-exit
+                (and (zero? (getuid)) (zero? (getgid)))))
+            #:namespaces
+            '(user))))
result: SKIP

test-name: call-with-container, uts namespace
location: /home/jorge/repos/guix/tests/containers.scm:55
source:
+ (test-assert
+   "call-with-container, uts namespace"
+   (zero? (call-with-container
+            '()
+            (lambda ()
+              (sethostname "test-container")
+              (primitive-exit 0))
+            #:namespaces
+            '(user uts))))
result: SKIP

test-name: call-with-container, pid namespace
location: /home/jorge/repos/guix/tests/containers.scm:66
source:
+ (test-assert
+   "call-with-container, pid namespace"
+   (zero? (call-with-container
+            '()
+            (lambda ()
+              (match (primitive-fork)
+                     (0 (assert-exit (= 2 (getpid))))
+                     (pid (primitive-exit
+                            (match (waitpid pid)
+                                   ((_ . status)
+                                    (status:exit-val status)))))))
+            #:namespaces
+            '(user pid))))
result: SKIP

test-name: call-with-container, mnt namespace
location: /home/jorge/repos/guix/tests/containers.scm:82
source:
+ (test-assert
+   "call-with-container, mnt namespace"
+   (zero? (call-with-container
+            (list (file-system
+                    (device "none")
+                    (mount-point "/testing")
+                    (type "tmpfs")
+                    (check? #f)))
+            (lambda ()
+              (assert-exit (file-exists? "/testing")))
+            #:namespaces
+            '(user mnt))))
result: SKIP

test-name: call-with-container, mnt namespace, wrong bind mount
location: /home/jorge/repos/guix/tests/containers.scm:94
source:
+ (test-equal
+   "call-with-container, mnt namespace, wrong bind mount"
+   `(system-error ,ENOENT)
+   (catch 'system-error
+          (lambda ()
+            (call-with-container
+              (list (file-system
+                      (device "/does-not-exist")
+                      (mount-point "/foo")
+                      (type "none")
+                      (flags '(bind-mount))
+                      (check? #f)))
+              (const #t)
+              #:namespaces
+              '(user mnt)))
+          (lambda args
+            (list 'system-error (system-error-errno args)))))
result: SKIP

test-name: call-with-container, all namespaces
location: /home/jorge/repos/guix/tests/containers.scm:111
source:
+ (test-assert
+   "call-with-container, all namespaces"
+   (zero? (call-with-container
+            '()
+            (lambda () (primitive-exit 0)))))
result: SKIP

test-name: container-excursion
location: /home/jorge/repos/guix/tests/containers.scm:118
source:
+ (test-assert
+   "container-excursion"
+   (call-with-temporary-directory
+     (lambda (root)
+       (match (list (pipe) (pipe))
+              (((start-in . start-out) (end-in . end-out))
+               (define (container)
+                 (close end-out)
+                 (close start-in)
+                 (write 'ready start-out)
+                 (close start-out)
+                 (read end-in)
+                 (close end-in))
+               (define (namespaces pid)
+                 (let ((pid (number->string pid)))
+                   (map (lambda (ns)
+                          (readlink (string-append "/proc/" pid "/ns/" ns)))
+                        '("user" "ipc" "uts" "net" "pid" "mnt"))))
+               (let* ((pid (run-container root '() %namespaces 1 container))
+                      (container-namespaces (namespaces pid))
+                      (result
+                        (begin
+                          (close start-out)
+                          (read start-in)
+                          (close start-in)
+                          (container-excursion
+                            pid
+                            (lambda ()
+                              (match (primitive-fork)
+                                     (0
+                                      (assert-exit
+                                        (equal?
+                                          container-namespaces
+                                          (namespaces (getpid)))))
+                                     (fork-pid
+                                       (match (waitpid fork-pid)
+                                              ((_ . status)
+                                               (primitive-exit
+                                                 (status:exit-val
+                                                   status)))))))))))
+                 (close end-in)
+                 (write 'done end-out)
+                 (close end-out)
+                 (waitpid pid)
+                 (zero? result)))))))
result: SKIP

test-name: container-excursion, same namespaces
location: /home/jorge/repos/guix/tests/containers.scm:175
source:
+ (test-equal
+   "container-excursion, same namespaces"
+   42
+   (container-excursion
+     (getpid)
+     (lambda () (primitive-exit 42))))
result: SKIP

test-name: container-excursion*
location: /home/jorge/repos/guix/tests/containers.scm:184
source:
+ (test-assert
+   "container-excursion*"
+   (call-with-temporary-directory
+     (lambda (root)
+       (define (namespaces pid)
+         (let ((pid (number->string pid)))
+           (map (lambda (ns)
+                  (readlink (string-append "/proc/" pid "/ns/" ns)))
+                '("user" "ipc" "uts" "net" "pid" "mnt"))))
+       (let* ((pid (run-container
+                     root
+                     '()
+                     %namespaces
+                     1
+                     (lambda () (sleep 100))))
+              (expected (namespaces pid))
+              (result
+                (container-excursion*
+                  pid
+                  (lambda () (namespaces 1)))))
+         (kill pid SIGKILL)
+         (equal? result expected)))))
result: SKIP

test-name: container-excursion*, same namespaces
location: /home/jorge/repos/guix/tests/containers.scm:205
source:
+ (test-equal
+   "container-excursion*, same namespaces"
+   42
+   (container-excursion*
+     (getpid)
+     (lambda () (* 6 7))))
result: SKIP


SKIP: tests/guix-environment-container
======================================

+ set -e
+ guix environment --version
guix environment (GNU Guix) 0.14.0.1193-4f34e
Copyright (C) 2018 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 '((@@ (guix scripts environment) assert-container-features))'
error: cannot create container: unprivileged user cannot create user namespaces
error: please set /proc/sys/kernel/unprivileged_userns_clone to "1"
+ exit 77
SKIP tests/guix-environment-container.sh (exit status: 77)


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

* bug#30250: Two failures on ‘make -k "-j$(nproc)" check’
  2018-01-25 13:15 bug#30250: Two failures on ‘make -k "-j$(nproc)" check’ Jorge
@ 2018-01-27 15:48 ` Ludovic Courtès
  2018-01-30 16:47 ` Jorge
  1 sibling, 0 replies; 6+ messages in thread
From: Ludovic Courtès @ 2018-01-27 15:48 UTC (permalink / raw)
  To: Jorge; +Cc: 30250

Hi Jorge,

"Jorge" <jorge+list@disroot.org> skribis:

> I use ntlmaps (listening on localhost:5865) to mediate the corporate proxy for programs that do not integrate with Gnome's proxy configuration
> ==================================================
>    GNU Guix 0.14.0.1193-4f34e: ./test-suite.log
> ==================================================
>
> # TOTAL: 744
> # PASS:  718
> # SKIP:  24
> # XFAIL: 0
> # FAIL:  2
> # XPASS: 0
> # ERROR: 0

[...]

> test-name: add-to-store, flat
> location: /home/jorge/repos/guix/tests/derivations.scm:98
> source:
> + (test-assert
> +   "add-to-store, flat"
> +   (let* ((file (search-path
> +                  %load-path
> +                  "language/tree-il/spec.scm"))
> +          (drv (add-to-store
> +                 %store
> +                 "flat-test"
> +                 #f
> +                 "sha256"
> +                 file)))
> +     (and (eq? 'regular (stat:type (stat drv)))
> +          (valid-path? %store drv)
> +          (equal?
> +            (call-with-input-file file get-bytevector-all)
> +            (call-with-input-file drv get-bytevector-all)))))
> actual-value: #f
> actual-error:
> + (srfi-34
> +   #<condition &nix-protocol-error [message: "regular file expected" status: 1] 5577e11973c0>)
> result: FAIL

It looks like the language/tree-il/spec.scm file (which is part of
Guile) that was found in $GUILE_LOAD_PATH on your system is not a
regular file and is instead presumably a symlink.  Could you check that
this is the case?

The solution would be for it to be a regular file and/or for the test to
check that.

> test-name: 'download' built-in builder
> location: /home/jorge/repos/guix/tests/derivations.scm:227
> source:
> + (test-assert
> +   "'download' built-in builder"
> +   (let ((text (random-text)))
> +     (with-http-server
> +       200
> +       text
> +       (let* ((drv (derivation
> +                     %store
> +                     "world"
> +                     "builtin:download"
> +                     '()
> +                     #:env-vars
> +                     `(("url" unquote (object->string (%local-url))))
> +                     #:hash-algo
> +                     'sha256
> +                     #:hash
> +                     (sha256 (string->utf8 text)))))
> +         (and (build-derivations %store (list drv))
> +              (string=?
> +                (call-with-input-file
> +                  (derivation->output-path drv)
> +                  get-string-all)
> +                text))))))
> @ build-started /home/jorge/repos/guix/test-tmp/store/24ibbvll6jdr9ri6qp7z1vgcl4vjljwv-world.drv - x86_64-linux /home/jorge/repos/guix/test-tmp/var/log/guix/drvs/24//ibbvll6jdr9ri6qp7z1vgcl4vjljwv-world.drv.bz2
>
> Starting download of /home/jorge/repos/guix/test-tmp/store/25k9f37z2l775rbj4kianf5g1k9vnczj-world
> From http://localhost:10500/foo/bar...
> download failed "http://localhost:10500/foo/bar" 503 "Service Unavailable"
> failed to download "/home/jorge/repos/guix/test-tmp/store/25k9f37z2l775rbj4kianf5g1k9vnczj-world" from "http://localhost:10500/foo/bar"
> builder for `/home/jorge/repos/guix/test-tmp/store/24ibbvll6jdr9ri6qp7z1vgcl4vjljwv-world.drv' failed to produce output path `/home/jorge/repos/guix/test-tmp/store/25k9f37z2l775rbj4kianf5g1k9vnczj-world'
> @ build-failed /home/jorge/repos/guix/test-tmp/store/24ibbvll6jdr9ri6qp7z1vgcl4vjljwv-world.drv - 1 builder for `/home/jorge/repos/guix/test-tmp/store/24ibbvll6jdr9ri6qp7z1vgcl4vjljwv-world.drv' failed to produce output path `/home/jorge/repos/guix/test-tmp/store/25k9f37z2l775rbj4kianf5g1k9vnczj-world'
> actual-value: #f
> actual-error:
> + (srfi-34
> +   #<condition &nix-protocol-error [message: "build of `/home/jorge/repos/guix/test-tmp/store/24ibbvll6jdr9ri6qp7z1vgcl4vjljwv-world.drv' failed" status: 1] 5577e21fdde0>)
> result: FAIL

This test runs its own HTTP server on port 10500.  Could it be that it
try to go through your proxy and failed?  Can you check whether this
works:

  unset http_proxy
  make check TESTS=tests/derivations.scm

?

Thanks for your report!

Ludo’.

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

* bug#30250: Two failures on ‘make -k "-j$(nproc)" check’
  2018-01-25 13:15 bug#30250: Two failures on ‘make -k "-j$(nproc)" check’ Jorge
  2018-01-27 15:48 ` Ludovic Courtès
@ 2018-01-30 16:47 ` Jorge
  2018-01-30 17:15   ` Ludovic Courtès
  2018-01-30 17:27   ` Jorge
  1 sibling, 2 replies; 6+ messages in thread
From: Jorge @ 2018-01-30 16:47 UTC (permalink / raw)
  To: ludo; +Cc: 30250

January 27, 2018 2:02 PM, ludo@gnu.org wrote:

> "Jorge" <jorge+list@disroot.org> skribis:
> It looks like the language/tree-il/spec.scm file (which is part of
> Guile) that was found in $GUILE_LOAD_PATH on your system is not a
> regular file and is instead presumably a symlink. Could you check that
> this is the case?

Unfortunately I have already uninstalled Guix and its dependencies.  I
am sorry, I now realize I (obviously) should not have done that before
this bug report finished being investigated.  At least I backed up the
Guix repository (including build products).  Anyway, I remember I had
stowed¹ Guix and its dependencies, so ‘language/tree-il/spec.scm’ must
indeed have been a symlink.\\
1: GNU Stow

> This test runs its own HTTP server on port 10500. Could it be that it
> try to go through your proxy and failed? Can you check whether this
> works:
> 
> unset http_proxy
> make check TESTS=tests/derivations.scm
> 
> ?

The compiled Guix in the backed up repository does not work because it
expects Guile in /usr/local.  I have migrated from Debian stable to
buster (testing) and, since buster has a recent Guile, I replaced the
locally compiled Guile with Debian Guile, which goes into /usr.  Thus I
tried to recompile Guix in order to test your hypothesis but it did not
compile:

$ make -k "-j$(nproc)"
echo 0.14.0.1193-4f34e > ".version-t" && mv ".version-t" ".version"
  GEN      doc/os-config-bare-bones.texi
  GEN      doc/os-config-desktop.texi
  GEN      doc/os-config-lightweight-desktop.texi
  GEN      nix/libstore/schema.sql.hh
make  all-recursive
make[1]: Entering directory '/home/jorge/guix'
Making all in po/guix
make[2]: Entering directory '/home/jorge/guix/po/guix'
make[2]: Leaving directory '/home/jorge/guix/po/guix'
Making all in po/packages
make[2]: Entering directory '/home/jorge/guix/po/packages'
make[2]: Leaving directory '/home/jorge/guix/po/packages'
make[2]: Entering directory '/home/jorge/guix'
Compiling Scheme modules...
  GEN      scripts/guix
  DL       gnu/packages/bootstrap/aarch64-linux/guile-2.0.14.tar.xz
  DL       gnu/packages/bootstrap/armhf-linux/guile-2.0.11.tar.xz
  DL       gnu/packages/bootstrap/i686-linux/guile-2.0.9.tar.xz
  DL       gnu/packages/bootstrap/mips64el-linux/guile-2.0.9.tar.xz
  GEN      etc/guix-daemon.service
  DL       gnu/packages/bootstrap/x86_64-linux/guile-2.0.9.tar.xz
  GEN      etc/guix-publish.service
  GEN      etc/guix-daemon.conf
  GEN      etc/guix-publish.conf
  CXX      nix/boost/format/libformat_a-free_funcs.o
  CXX      nix/boost/format/libformat_a-parsing.o
In file included from ./nix/boost/format.hpp:57:0,
                 from nix/boost/format/free_funcs.cc:22:
./nix/boost/format/feed_args.hpp:40:8: warning: ‘void boost::io::detail::{anonymous}::do_pad(std::__cxx11::string&, std::streamsize, char, std::ios_base::fmtflags, bool)’ defined but not used [-Wunused-function]
   void do_pad( std::string & s,
        ^~~~~~
In file included from ./nix/boost/format.hpp:57:0,
                 from nix/boost/format/parsing.cc:25:
./nix/boost/format/feed_args.hpp:40:8: warning: ‘void boost::io::detail::{anonymous}::do_pad(std::__cxx11::string&, std::streamsize, char, std::ios_base::fmtflags, bool)’ defined but not used [-Wunused-function]
   void do_pad( std::string & s,
        ^~~~~~
  CXX      nix/boost/format/libformat_a-format_implementation.o
downloading file `gnu/packages/bootstrap/armhf-linux/guile-2.0.11.tar.xz'
from `http://alpha.gnu.org/gnu/guix/bootstrap/armhf-linux/20150101/guile-2.0.11.tar.xz'...
Backtrace:
downloading file `gnu/packages/bootstrap/aarch64-linux/guile-2.0.14.tar.xz'
from `http://alpha.gnu.org/gnu/guix/bootstrap/aarch64-linux/20170217/guile-2.0.14.tar.xz'...
Backtrace:
downloading file `gnu/packages/bootstrap/i686-linux/guile-2.0.9.tar.xz'
from `http://alpha.gnu.org/gnu/guix/bootstrap/i686-linux/20131110/guile-2.0.9.tar.xz'...
Backtrace:
           5 downloading file `gnu/packages/bootstrap/mips64el-linux/guile-2.0.9.tar.xz'
from `http://alpha.gnu.org/gnu/guix/bootstrap/mips64el-linux/20131110/guile-2.0.9.tar.xz'...
(primitive-load "/home/jorge/guix/./build-aux/download.scm")
           4 Backtrace:
           5 (primitive-load "/home/jorge/guix/./build-aux/download.scm")
           4 (_ #<procedure 5613de05aae0 at ice-9/eval.scm:330:13 ()> #<procedure 5613de05aac0 at ice-9/eval.scm:…> …)
In web/client.scm:
   346:21  3 (request _ #:body _ #:port _ #:method _ #:version _ #:keep-alive? _ #:headers _ #:decode-body? _ # _ # …)
In web/request.scm:
(_ #<procedure 558c4f97a540 at ice-9/eval.scm:330:13 ()> #<procedure 558c4f97a520 at ice-9/eval.scm:…> …)
I  n      web/client.scm : 
  5 (primitive-load "/home/jorge/guix/./build-aux/download.scm")
           4     215:2  2 (write-request #<<request> method: GET uri: #<<uri> scheme: http userinfo: #f host: "alpha.gnu.org" …> …)
   346:21  3 (request _ #:body _ #:port _ #:method _ #:version _ #:keep-alive? _ #:headers _ #:decode-body? _ # _ # …)
In web/request.scm:
In web/http.scm:
downloading file `gnu/packages/bootstrap/x86_64-linux/guile-2.0.9.tar.xz'
from `http://alpha.gnu.org/gnu/guix/bootstrap/x86_64-linux/20131110/guile-2.0.9.tar.xz'...
Backtrace:
    215:2  2 (write-request #<<request> method: GET uri: #<<uri> scheme: http userinfo: #f host: "alpha.gnu.org" …> …)
           5 (primitive-load "/home/jorge/guix/./build-aux/download.scm")
           4 (_ #<procedure 565243027b60 at ice-9/eval.scm:330:13 ()> #<procedure 565243027b40 at ice-9/eval.scm:…> …)
  1184:10  1 (write-request-line _ #<<uri> scheme: http userinfo: #f host: "alpha.gnu.org" port: #f path: "/gnu/g…> …)
In web/client.scm:
In web/http.scm:
In unknown file:
           0    346:21  3 (_ #<procedure string-index (_ _ #:optional _ _)> #\:)

ERROR: ERROR: Wro(request _ #:body _ #:port _ #:method _ #:version _ #:keep-alive? _ #:headers _ #:decode-body? _ # _ # …)ng
 type to apply: "alpha.gnu.org"

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.
Makefile:5321: recipe for target 'gnu/packages/bootstrap/armhf-linux/guile-2.0.11.tar.xz' failed
make[2]: *** [gnu/packages/bootstrap/armhf-linux/guile-2.0.11.tar.xz] Error 1
  1184:10  1 (write-request-line _ #<<uri> scheme: http userinfo: #f host: "alpha.gnu.org" port: #f path: "/gnu/g…> …)
In web/request.scm:
  CXX      nix/libutil/libutil_a-archive.o
(_ #<procedure 55f6be96e580 at ice-9/eval.scm:330:13 ()> #<procedure 55f6be96e560 at ice-9/eval.scm:…> …)
In web/client.scm:
    215:2  2 (write-request #<<request> method: GET uri: #<<uri> scheme: http userinfo: #f host: "alpha.gnu.org" …> …)
In unknown file:
           0 (_ #<procedure string-index (_ _ #:optional _ _)> #\:)

ERROR: ERROR: Wrong type to apply: "alpha.gnu.org"

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.
   346:21  3 (request _ #:body _ #:port _ #:method _ #:version _ #:keep-alive? _ #:headers _ #:decode-body? _ # _ # …)
Makefile:5325: recipe for target 'gnu/packages/bootstrap/aarch64-linux/guile-2.0.14.tar.xz' failed
make[2]: *** [gnu/packages/bootstrap/aarch64-linux/guile-2.0.14.tar.xz] Error 1
In web/http.scm:
In web/request.scm:
    215:2  2 (write-request #<<request> method: GET uri: #<<uri> scheme: http userinfo: #f host: "alpha.gnu.org" …> …)
  1184:10  1 (write-request-line _ #<<uri> scheme: http userinfo: #f host: "alpha.gnu.org" port: #f path: "/gnu/g…> …)
           5 (primitive-load "/home/jorge/guix/./build-aux/download.scm")
           4 In web/http.scm:
In unknown file:
           0 (_ #<procedure string-index (_ _ #:optional _ _)> #\:)

ERROR: ERROR: Wrong type to apply: "alpha.gnu.org"

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.
(_ #<procedure 5647e23f1e40 at ice-9/eval.scm:330:13 ()> #<procedure 5647e23f1e20 at ice-9/eval.scm:…> …)
Makefile:5317: recipe for target 'gnu/packages/bootstrap/i686-linux/guile-2.0.9.tar.xz' failed
make[2]: *** [gnu/packages/bootstrap/i686-linux/guile-2.0.9.tar.xz] Error 1
In web/client.scm:
  CXX      nix/libutil/libutil_a-serialise.o
  1184:10  1 (write-request-line _ #<<uri> scheme: http userinfo: #f host: "alpha.gnu.org" port: #f path: "/gnu/g…> …)
   346:21  3 (request _ #:body _ #:port _ #:method _ #:version _ #:keep-alive? _ #:headers _ #:decode-body? _ # _ # …)
  CXX      nix/libutil/libutil_a-affinity.o
In web/request.scm:
In unknown file:
           0 (_ #<procedure string-index (_ _ #:optional _ _)> #\:)

ERROR: ERROR: Wrong type to apply:    "alpha.gnu.org" 215:2
  2 
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.
(write-request #<<request> method: GET uri: #<<uri> scheme: http userinfo: #f host: "alpha.gnu.org" …> …)
Makefile:5329: recipe for target 'gnu/packages/bootstrap/mips64el-linux/guile-2.0.9.tar.xz' failed
make[2]: *** [gnu/packages/bootstrap/mips64el-linux/guile-2.0.9.tar.xz] Error 1
In web/http.scm:
  CXX      nix/libutil/libutil_a-util.o
  1184:10  1 (write-request-line _ #<<uri> scheme: http userinfo: #f host: "alpha.gnu.org" port: #f path: "/gnu/g…> …)
In unknown file:
           0 (_ #<procedure string-index (_ _ #:optional _ _)> #\:)

ERROR: ERROR: Wrong type to apply: "alpha.gnu.org"

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.
Makefile:5313: recipe for target 'gnu/packages/bootstrap/x86_64-linux/guile-2.0.9.tar.xz' failed
make[2]: *** [gnu/packages/bootstrap/x86_64-linux/guile-2.0.9.tar.xz] Error 1
  CXX      nix/libutil/libutil_a-hash.o
  CXX      nix/libutil/libutil_a-gcrypt-hash.o
In file included from ./nix/boost/format.hpp:57:0,
                 from nix/boost/format/format_implementation.cc:25:
./nix/boost/format/feed_args.hpp:40:8: warning: ‘void boost::io::detail::{anonymous}::do_pad(std::__cxx11::string&, std::streamsize, char, std::ios_base::fmtflags, bool)’ defined but not used [-Wunused-function]
   void do_pad( std::string & s,
        ^~~~~~
  CXX      nix/libstore/libstore_a-gc.o
  LOAD     guix/base16.scm
  LOAD     guix/base32.scm
  LOAD     guix/base64.scm
In file included from ./nix/boost/format.hpp:57:0,
                 from nix/libutil/types.hh:9,
                 from nix/libutil/serialise.hh:3,
                 from nix/libutil/serialise.cc:1:
./nix/boost/format/feed_args.hpp:40:8: warning: ‘void boost::io::detail::{anonymous}::do_pad(std::__cxx11::string&, std::streamsize, char, std::ios_base::fmtflags, bool)’ defined but not used [-Wunused-function]
   void do_pad( std::string & s,
        ^~~~~~
  LOAD     guix/cpio.scm
  LOAD     guix/records.scm
  LOAD     guix/gcrypt.scm
  LOAD     guix/hash.scm
  LOAD     guix/pk-crypto.scm
  CXX      nix/libstore/libstore_a-globals.o
  CXX      nix/libstore/libstore_a-misc.o
  LOAD     guix/pki.scm
  CXX      nix/libstore/libstore_a-references.o
  CXX      nix/libstore/libstore_a-store-api.o
  CXX      nix/libstore/libstore_a-optimise-store.o
  CXX      nix/libstore/libstore_a-local-store.o
  CXX      nix/libstore/libstore_a-build.o
  CXX      nix/libstore/libstore_a-pathlocks.o
  CXX      nix/libstore/libstore_a-derivations.o
  CXX      nix/libstore/libstore_a-builtins.o
  CXX      nix/libstore/libstore_a-sqlite.o
  CXX      nix/nix-daemon/guix_daemon-nix-daemon.o
  CXX      nix/nix-daemon/guix_daemon-guix-daemon.o
  CXX      nix/guix-register/guix_register-guix-register.o
  LOAD     guix/progress.scm
  LOAD     guix/combinators.scm
  LOAD     guix/memoization.scm
  LOAD     guix/utils.scm
  LOAD     guix/sets.scm
  LOAD     guix/modules.scm
  LOAD     guix/download.scm
  AR       libformat.a
ar: `u' modifier ignored since `D' is the default (see `U')
  AR       libutil.a
ar: `u' modifier ignored since `D' is the default (see `U')
In file included from ./nix/boost/format.hpp:57:0,
                 from ./nix/libutil/types.hh:9,
                 from ./nix/libstore/globals.hh:4,
                 from nix/guix-register/guix-register.cc:27:
./nix/boost/format/feed_args.hpp:40:8: warning: ‘void boost::io::detail::{anonymous}::do_pad(std::__cxx11::string&, std::streamsize, char, std::ios_base::fmtflags, bool)’ defined but not used [-Wunused-function]
   void do_pad( std::string & s,
        ^~~~~~
  LOAD     guix/discovery.scm
  AR       libstore.a
ar: `u' modifier ignored since `D' is the default (see `U')
  CXXLD    guix-daemon
  CXXLD    guix-register
  LOAD     guix/git-download.scm
  LOAD     guix/hg-download.scm
  LOAD     guix/monads.scm
  LOAD     guix/monad-repl.scm
  LOAD     guix/gexp.scm
  LOAD     guix/profiles.scm
  LOAD     guix/serialization.scm
  LOAD     guix/nar.scm
  LOAD     guix/derivations.scm
  LOAD     guix/grafts.scm
  LOAD     guix/gnu-maintenance.scm
  LOAD     guix/upstream.scm
  LOAD     guix/licenses.scm
  LOAD     guix/git.scm
  LOAD     guix/graph.scm
  LOAD     guix/cache.scm
  LOAD     guix/cve.scm
  LOAD     guix/workers.scm
  LOAD     guix/zlib.scm
  LOAD     guix/build-system.scm
  LOAD     guix/build-system/ant.scm
  LOAD     guix/build-system/cargo.scm
  LOAD     guix/build-system/cmake.scm
  LOAD     guix/build-system/dub.scm
  LOAD     guix/build-system/emacs.scm
  LOAD     guix/build-system/font.scm
  LOAD     guix/build-system/go.scm
  LOAD     guix/build-system/meson.scm
  LOAD     guix/build-system/minify.scm
  LOAD     guix/build-system/asdf.scm
  LOAD     guix/build-system/glib-or-gtk.scm
  LOAD     guix/build-system/gnu.scm
  LOAD     guix/build-system/haskell.scm
  LOAD     guix/build-system/perl.scm
  LOAD     guix/build-system/python.scm
  LOAD     guix/build-system/ocaml.scm
  LOAD     guix/build-system/waf.scm
  LOAD     guix/build-system/r.scm
  LOAD     guix/build-system/ruby.scm
  LOAD     guix/build-system/scons.scm
  LOAD     guix/build-system/texlive.scm
  LOAD     guix/build-system/trivial.scm
  LOAD     guix/ftp-client.scm
  LOAD     guix/http-client.scm
  LOAD     guix/gnupg.scm
  LOAD     guix/elf.scm
  LOAD     guix/profiling.scm
  LOAD     guix/store.scm
  LOAD     guix/cvs-download.scm
  LOAD     guix/svn-download.scm
  LOAD     guix/i18n.scm
  LOAD     guix/ui.scm
  LOAD     guix/build/ant-build-system.scm
  LOAD     guix/build/download.scm
  LOAD     guix/build/download-nar.scm
  LOAD     guix/build/cargo-build-system.scm
  LOAD     guix/build/cmake-build-system.scm
  LOAD     guix/build/dub-build-system.scm
  LOAD     guix/build/emacs-build-system.scm
  LOAD     guix/build/meson-build-system.scm
  LOAD     guix/build/minify-build-system.scm
  LOAD     guix/build/font-build-system.scm
  LOAD     guix/build/go-build-system.scm
  LOAD     guix/build/asdf-build-system.scm
  LOAD     guix/build/git.scm
  LOAD     guix/build/hg.scm
  LOAD     guix/build/glib-or-gtk-build-system.scm
  LOAD     guix/build/gnu-build-system.scm
  LOAD     guix/build/gnu-dist.scm
  LOAD     guix/build/perl-build-system.scm
  LOAD     guix/build/python-build-system.scm
  LOAD     guix/build/ocaml-build-system.scm
  LOAD     guix/build/r-build-system.scm
  LOAD     guix/build/ruby-build-system.scm
  LOAD     guix/build/scons-build-system.scm
  LOAD     guix/build/texlive-build-system.scm
  LOAD     guix/build/waf-build-system.scm
  LOAD     guix/build/haskell-build-system.scm
  LOAD     guix/build/store-copy.scm
  LOAD     guix/build/utils.scm
  LOAD     guix/build/union.scm
  LOAD     guix/build/profiles.scm
  LOAD     guix/build/compile.scm
  LOAD     guix/build/pull.scm
  LOAD     guix/build/rpath.scm
  LOAD     guix/build/cvs.scm
  LOAD     guix/build/svn.scm
  LOAD     guix/build/syscalls.scm
  LOAD     guix/build/gremlin.scm
  LOAD     guix/build/emacs-utils.scm
  LOAD     guix/build/java-utils.scm
  LOAD     guix/build/lisp-utils.scm
  LOAD     guix/build/graft.scm
  LOAD     guix/build/bournish.scm
  LOAD     guix/build/qt-utils.scm
  LOAD     guix/build/make-bootstrap.scm
  LOAD     guix/search-paths.scm
  LOAD     guix/packages.scm
  LOAD     guix/import/print.scm
  LOAD     guix/import/utils.scm
  LOAD     guix/import/gnu.scm
  LOAD     guix/import/snix.scm
  LOAD     guix/import/cabal.scm
  LOAD     guix/import/cran.scm
  LOAD     guix/import/hackage.scm
  LOAD     guix/import/elpa.scm
  LOAD     guix/import/texlive.scm
  LOAD     guix/scripts.scm
  LOAD     guix/scripts/download.scm
  LOAD     guix/scripts/perform-download.scm
  LOAD     guix/scripts/build.scm
  LOAD     guix/scripts/archive.scm
  LOAD     guix/scripts/import.scm
  LOAD     guix/scripts/package.scm
  LOAD     guix/scripts/gc.scm
  LOAD     guix/scripts/hash.scm
  LOAD     guix/scripts/pack.scm
  LOAD     guix/scripts/pull.scm
  LOAD     guix/scripts/substitute.scm
  LOAD     guix/scripts/authenticate.scm
  LOAD     guix/scripts/refresh.scm
  LOAD     guix/scripts/system.scm
  LOAD     guix/scripts/system/search.scm
  LOAD     guix/scripts/lint.scm
  LOAD     guix/scripts/challenge.scm
  LOAD     guix/scripts/import/cran.scm
  LOAD     guix/scripts/import/gnu.scm
  LOAD     guix/scripts/import/nix.scm
  LOAD     guix/scripts/import/hackage.scm
  LOAD     guix/scripts/import/elpa.scm
  LOAD     guix/scripts/import/texlive.scm
  LOAD     guix/scripts/environment.scm
  LOAD     guix/scripts/publish.scm
  LOAD     guix/scripts/weather.scm
  LOAD     guix/scripts/edit.scm
  LOAD     guix/scripts/size.scm
  LOAD     guix/scripts/graph.scm
  LOAD     guix/scripts/container.scm
  LOAD     guix/scripts/container/exec.scm
  LOAD     guix.scm
  LOAD     gnu.scm
  LOAD     gnu/artwork.scm
  LOAD     gnu/bootloader.scm
  LOAD     gnu/bootloader/grub.scm
  LOAD     gnu/bootloader/extlinux.scm
  LOAD     gnu/bootloader/u-boot.scm
  LOAD     gnu/packages.scm
  LOAD     gnu/packages/abduco.scm
  LOAD     gnu/packages/abiword.scm
  LOAD     gnu/packages/accessibility.scm
  LOAD     gnu/packages/acct.scm
  LOAD     gnu/packages/acl.scm
  LOAD     gnu/packages/admin.scm
  LOAD     gnu/packages/adns.scm
  LOAD     gnu/packages/algebra.scm
  LOAD     gnu/packages/aidc.scm
  LOAD     gnu/packages/android.scm
  LOAD     gnu/packages/animation.scm
  LOAD     gnu/packages/anthy.scm
  LOAD     gnu/packages/apl.scm
  LOAD     gnu/packages/apr.scm
  LOAD     gnu/packages/aspell.scm
  LOAD     gnu/packages/assembly.scm
  LOAD     gnu/packages/astronomy.scm
  LOAD     gnu/packages/attr.scm
  LOAD     gnu/packages/audio.scm
  LOAD     gnu/packages/augeas.scm
  LOAD     gnu/packages/autogen.scm
  LOAD     gnu/packages/autotools.scm
  LOAD     gnu/packages/avahi.scm
  LOAD     gnu/packages/avr.scm
  LOAD     gnu/packages/axoloti.scm
  LOAD     gnu/packages/backup.scm
  LOAD     gnu/packages/base.scm
  LOAD     gnu/packages/bash.scm
  LOAD     gnu/packages/bdw-gc.scm
  LOAD     gnu/packages/benchmark.scm
  LOAD     gnu/packages/bioinformatics.scm
  LOAD     gnu/packages/bittorrent.scm
  LOAD     gnu/packages/bison.scm
  LOAD     gnu/packages/boost.scm
  LOAD     gnu/packages/bootloaders.scm
  LOAD     gnu/packages/bootstrap.scm
  LOAD     gnu/packages/build-tools.scm
  LOAD     gnu/packages/busybox.scm
  LOAD     gnu/packages/c.scm
  LOAD     gnu/packages/calcurse.scm
  LOAD     gnu/packages/ccache.scm
  LOAD     gnu/packages/cdrom.scm
  LOAD     gnu/packages/certs.scm
  LOAD     gnu/packages/check.scm
  LOAD     gnu/packages/chemistry.scm
  LOAD     gnu/packages/chez.scm
  LOAD     gnu/packages/ci.scm
  LOAD     gnu/packages/cinnamon.scm
  LOAD     gnu/packages/cmake.scm
  LOAD     gnu/packages/cobol.scm
  LOAD     gnu/packages/code.scm
  LOAD     gnu/packages/commencement.scm
  LOAD     gnu/packages/compression.scm
  LOAD     gnu/packages/compton.scm
  LOAD     gnu/packages/conkeror.scm
  LOAD     gnu/packages/conky.scm
  LOAD     gnu/packages/connman.scm
  LOAD     gnu/packages/cook.scm
  LOAD     gnu/packages/cpio.scm
  LOAD     gnu/packages/cpp.scm
  LOAD     gnu/packages/cppi.scm
  LOAD     gnu/packages/cran.scm
  LOAD     gnu/packages/cross-base.scm
  LOAD     gnu/packages/crypto.scm
  LOAD     gnu/packages/cryptsetup.scm
  LOAD     gnu/packages/cups.scm
  LOAD     gnu/packages/curl.scm
  LOAD     gnu/packages/cyrus-sasl.scm
  LOAD     gnu/packages/databases.scm
  LOAD     gnu/packages/datamash.scm
  LOAD     gnu/packages/datastructures.scm
  LOAD     gnu/packages/dav.scm
  LOAD     gnu/packages/dc.scm
  LOAD     gnu/packages/debug.scm
  LOAD     gnu/packages/dejagnu.scm
  LOAD     gnu/packages/dico.scm
  LOAD     gnu/packages/dictionaries.scm
  LOAD     gnu/packages/digest.scm
  LOAD     gnu/packages/direct-connect.scm
  LOAD     gnu/packages/disk.scm
  LOAD     gnu/packages/display-managers.scm
  LOAD     gnu/packages/django.scm
  LOAD     gnu/packages/djvu.scm
  LOAD     gnu/packages/dns.scm
  LOAD     gnu/packages/docbook.scm
  LOAD     gnu/packages/docker.scm
  LOAD     gnu/packages/documentation.scm
  LOAD     gnu/packages/dunst.scm
  LOAD     gnu/packages/dvtm.scm
  LOAD     gnu/packages/ebook.scm
  LOAD     gnu/packages/ed.scm
  LOAD     gnu/packages/education.scm
  LOAD     gnu/packages/electronics.scm
  LOAD     gnu/packages/elf.scm
  LOAD     gnu/packages/elixir.scm
  LOAD     gnu/packages/embedded.scm
  LOAD     gnu/packages/emacs.scm
  LOAD     gnu/packages/enchant.scm
  LOAD     gnu/packages/engineering.scm
  LOAD     gnu/packages/enlightenment.scm
  LOAD     gnu/packages/entr.scm
  LOAD     gnu/packages/erlang.scm
  LOAD     gnu/packages/fabric-management.scm
  LOAD     gnu/packages/fcitx.scm
  LOAD     gnu/packages/figlet.scm
  LOAD     gnu/packages/file.scm
  LOAD     gnu/packages/file-systems.scm
  LOAD     gnu/packages/finance.scm
  LOAD     gnu/packages/firmware.scm
  LOAD     gnu/packages/flashing-tools.scm
  LOAD     gnu/packages/flex.scm
  LOAD     gnu/packages/fltk.scm
  LOAD     gnu/packages/fonts.scm
  LOAD     gnu/packages/fontutils.scm
  LOAD     gnu/packages/fpga.scm
  LOAD     gnu/packages/forth.scm
  LOAD     gnu/packages/freedesktop.scm
  LOAD     gnu/packages/freeipmi.scm
  LOAD     gnu/packages/ftp.scm
  LOAD     gnu/packages/fribidi.scm
  LOAD     gnu/packages/fvwm.scm
  LOAD     gnu/packages/game-development.scm
  LOAD     gnu/packages/games.scm
  LOAD     gnu/packages/gawk.scm
  LOAD     gnu/packages/gcal.scm
  LOAD     gnu/packages/gcc.scm
  LOAD     gnu/packages/gd.scm
  LOAD     gnu/packages/gdb.scm
  LOAD     gnu/packages/geo.scm
  LOAD     gnu/packages/gettext.scm
  LOAD     gnu/packages/ghostscript.scm
  LOAD     gnu/packages/gimp.scm
  LOAD     gnu/packages/gkrellm.scm
  LOAD     gnu/packages/gl.scm
  LOAD     gnu/packages/glib.scm
  LOAD     gnu/packages/gnome.scm
  LOAD     gnu/packages/gnu-doc.scm
  LOAD     gnu/packages/gnucash.scm
  LOAD     gnu/packages/gnunet.scm
  LOAD     gnu/packages/gnupg.scm
  LOAD     gnu/packages/gnustep.scm
  LOAD     gnu/packages/gnuzilla.scm
  LOAD     gnu/packages/gnu-pw-mgr.scm
  LOAD     gnu/packages/gobby.scm
  LOAD     gnu/packages/golang.scm
  LOAD     gnu/packages/gperf.scm
  LOAD     gnu/packages/gprolog.scm
  LOAD     gnu/packages/gps.scm
  LOAD     gnu/packages/graph.scm
  LOAD     gnu/packages/graphics.scm
  LOAD     gnu/packages/graphviz.scm
  LOAD     gnu/packages/groff.scm
  LOAD     gnu/packages/gsasl.scm
  LOAD     gnu/packages/gstreamer.scm
  LOAD     gnu/packages/gtk.scm
  LOAD     gnu/packages/guile.scm
  LOAD     gnu/packages/guile-wm.scm
  LOAD     gnu/packages/gv.scm
  LOAD     gnu/packages/gxmessage.scm
  LOAD     gnu/packages/haskell.scm
  LOAD     gnu/packages/haskell-check.scm
  LOAD     gnu/packages/haskell-crypto.scm
  LOAD     gnu/packages/haskell-web.scm
  LOAD     gnu/packages/ham-radio.scm
  LOAD     gnu/packages/hexedit.scm
  LOAD     gnu/packages/hugs.scm
  LOAD     gnu/packages/hurd.scm
  LOAD     gnu/packages/ibus.scm
  LOAD     gnu/packages/icu4c.scm
  LOAD     gnu/packages/idris.scm
  LOAD     gnu/packages/idutils.scm
  LOAD     gnu/packages/image.scm
  LOAD     gnu/packages/image-processing.scm
  LOAD     gnu/packages/image-viewers.scm
  LOAD     gnu/packages/imagemagick.scm
  LOAD     gnu/packages/indent.scm
  LOAD     gnu/packages/inklingreader.scm
  LOAD     gnu/packages/inkscape.scm
  LOAD     gnu/packages/irc.scm
  LOAD     gnu/packages/iso-codes.scm
  LOAD     gnu/packages/java.scm
  LOAD     gnu/packages/javascript.scm
  LOAD     gnu/packages/jemalloc.scm
  LOAD     gnu/packages/jrnl.scm
  LOAD     gnu/packages/julia.scm
  LOAD     gnu/packages/kde.scm
  LOAD     gnu/packages/kde-frameworks.scm
  LOAD     gnu/packages/kerberos.scm
  LOAD     gnu/packages/key-mon.scm
  LOAD     gnu/packages/kodi.scm
  LOAD     gnu/packages/language.scm
  LOAD     gnu/packages/ldc.scm
  LOAD     gnu/packages/lego.scm
  LOAD     gnu/packages/less.scm
  LOAD     gnu/packages/lesstif.scm
  LOAD     gnu/packages/libbsd.scm
  LOAD     gnu/packages/libcanberra.scm
  LOAD     gnu/packages/libdaemon.scm
  LOAD     gnu/packages/libedit.scm
  LOAD     gnu/packages/libevent.scm
  LOAD     gnu/packages/libffcall.scm
  LOAD     gnu/packages/libffi.scm
  LOAD     gnu/packages/libftdi.scm
  LOAD     gnu/packages/calendar.scm
  LOAD     gnu/packages/libidn.scm
  LOAD     gnu/packages/libphidget.scm
  LOAD     gnu/packages/libreoffice.scm
  LOAD     gnu/packages/libsigsegv.scm
  LOAD     gnu/packages/libunistring.scm
  LOAD     gnu/packages/libusb.scm
  LOAD     gnu/packages/libunwind.scm
  LOAD     gnu/packages/lighting.scm
  LOAD     gnu/packages/linux.scm
  LOAD     gnu/packages/lirc.scm
  LOAD     gnu/packages/lisp.scm
  LOAD     gnu/packages/llvm.scm
  LOAD     gnu/packages/lout.scm
  LOAD     gnu/packages/logging.scm
  LOAD     gnu/packages/lolcode.scm
  LOAD     gnu/packages/lsof.scm
  LOAD     gnu/packages/lua.scm
  LOAD     gnu/packages/lxde.scm
  LOAD     gnu/packages/lxqt.scm
  LOAD     gnu/packages/m4.scm
  LOAD     gnu/packages/machine-learning.scm
  LOAD     gnu/packages/man.scm
  LOAD     gnu/packages/mail.scm
  LOAD     gnu/packages/make-bootstrap.scm
  LOAD     gnu/packages/markup.scm
  LOAD     gnu/packages/marst.scm
  LOAD     gnu/packages/mate.scm
  LOAD     gnu/packages/maths.scm
  LOAD     gnu/packages/mc.scm
  LOAD     gnu/packages/mcrypt.scm
  LOAD     gnu/packages/medical.scm
  LOAD     gnu/packages/mes.scm
  LOAD     gnu/packages/messaging.scm
  LOAD     gnu/packages/mingw.scm
  LOAD     gnu/packages/microcom.scm
  LOAD     gnu/packages/moe.scm
  LOAD     gnu/packages/motti.scm
  LOAD     gnu/packages/monitoring.scm
  LOAD     gnu/packages/mono.scm
  LOAD     gnu/packages/moreutils.scm
  LOAD     gnu/packages/mpd.scm
  LOAD     gnu/packages/mp3.scm
  LOAD     gnu/packages/mpi.scm
  LOAD     gnu/packages/multiprecision.scm
  LOAD     gnu/packages/music.scm
  LOAD     gnu/packages/musl.scm
  LOAD     gnu/packages/mtools.scm
  LOAD     gnu/packages/nano.scm
  LOAD     gnu/packages/ncdu.scm
  LOAD     gnu/packages/ncurses.scm
  LOAD     gnu/packages/netpbm.scm
  LOAD     gnu/packages/nettle.scm
  LOAD     gnu/packages/networking.scm
  LOAD     gnu/packages/nfs.scm
  LOAD     gnu/packages/nickle.scm
  LOAD     gnu/packages/nim.scm
  LOAD     gnu/packages/ninja.scm
  LOAD     gnu/packages/node.scm
  LOAD     gnu/packages/noweb.scm
  LOAD     gnu/packages/ntp.scm
  LOAD     gnu/packages/nutrition.scm
  LOAD     gnu/packages/nvi.scm
  LOAD     gnu/packages/ocaml.scm
  LOAD     gnu/packages/ocr.scm
  LOAD     gnu/packages/onc-rpc.scm
  LOAD     gnu/packages/openbox.scm
  LOAD     gnu/packages/openldap.scm
  LOAD     gnu/packages/openstack.scm
  LOAD     gnu/packages/orpheus.scm
  LOAD     gnu/packages/ots.scm
  LOAD     gnu/packages/package-management.scm
  LOAD     gnu/packages/parallel.scm
  LOAD     gnu/packages/password-utils.scm
  LOAD     gnu/packages/patchutils.scm
  LOAD     gnu/packages/pciutils.scm
  LOAD     gnu/packages/pcre.scm
  LOAD     gnu/packages/pdf.scm
  LOAD     gnu/packages/pem.scm
  LOAD     gnu/packages/perl.scm
  LOAD     gnu/packages/perl-check.scm
  LOAD     gnu/packages/perl-web.scm
  LOAD     gnu/packages/photo.scm
  LOAD     gnu/packages/php.scm
  LOAD     gnu/packages/pkg-config.scm
  LOAD     gnu/packages/plotutils.scm
  LOAD     gnu/packages/polkit.scm
  LOAD     gnu/packages/popt.scm
  LOAD     gnu/packages/profiling.scm
  LOAD     gnu/packages/pth.scm
  LOAD     gnu/packages/pulseaudio.scm
  LOAD     gnu/packages/pumpio.scm
  LOAD     gnu/packages/pretty-print.scm
  LOAD     gnu/packages/protobuf.scm
  LOAD     gnu/packages/pv.scm
  LOAD     gnu/packages/python.scm
  LOAD     gnu/packages/python-crypto.scm
  LOAD     gnu/packages/python-web.scm
  LOAD     gnu/packages/toys.scm
  LOAD     gnu/packages/tryton.scm
  LOAD     gnu/packages/qt.scm
  LOAD     gnu/packages/ragel.scm
  LOAD     gnu/packages/rails.scm
  LOAD     gnu/packages/ratpoison.scm
  LOAD     gnu/packages/rdesktop.scm
  LOAD     gnu/packages/rdf.scm
  LOAD     gnu/packages/re2c.scm
  LOAD     gnu/packages/readline.scm
  LOAD     gnu/packages/regex.scm
  LOAD     gnu/packages/rrdtool.scm
  LOAD     gnu/packages/rsync.scm
  LOAD     gnu/packages/ruby.scm
  LOAD     gnu/packages/rush.scm
  LOAD     gnu/packages/rust.scm
  LOAD     gnu/packages/samba.scm
  LOAD     gnu/packages/sawfish.scm
  LOAD     gnu/packages/scanner.scm
  LOAD     gnu/packages/scheme.scm
  LOAD     gnu/packages/screen.scm
  LOAD     gnu/packages/scribus.scm
  LOAD     gnu/packages/scsi.scm
  LOAD     gnu/packages/sdcc.scm
  LOAD     gnu/packages/sdl.scm
  LOAD     gnu/packages/search.scm
  LOAD     gnu/packages/security-token.scm
  LOAD     gnu/packages/selinux.scm
  LOAD     gnu/packages/serialization.scm
  LOAD     gnu/packages/serveez.scm
  LOAD     gnu/packages/shells.scm
  LOAD     gnu/packages/shellutils.scm
  LOAD     gnu/packages/simh.scm
  LOAD     gnu/packages/simulation.scm
  LOAD     gnu/packages/skarnet.scm
  LOAD     gnu/packages/skribilo.scm
  LOAD     gnu/packages/slang.scm
  LOAD     gnu/packages/smalltalk.scm
  LOAD     gnu/packages/sml.scm
  LOAD     gnu/packages/speech.scm
  LOAD     gnu/packages/spice.scm
  LOAD     gnu/packages/ssh.scm
  LOAD     gnu/packages/sssd.scm
  LOAD     gnu/packages/stalonetray.scm
  LOAD     gnu/packages/statistics.scm
  LOAD     gnu/packages/storage.scm
  LOAD     gnu/packages/suckless.scm
  LOAD     gnu/packages/swig.scm
  LOAD     gnu/packages/sync.scm
  LOAD     gnu/packages/syncthing.scm
  LOAD     gnu/packages/synergy.scm
  LOAD     gnu/packages/syndication.scm
  LOAD     gnu/packages/task-management.scm
  LOAD     gnu/packages/tbb.scm
  LOAD     gnu/packages/tcl.scm
  LOAD     gnu/packages/telephony.scm
  LOAD     gnu/packages/terminals.scm
  LOAD     gnu/packages/texinfo.scm
  LOAD     gnu/packages/tex.scm
  LOAD     gnu/packages/textutils.scm
  LOAD     gnu/packages/text-editors.scm
  LOAD     gnu/packages/time.scm
  LOAD     gnu/packages/tls.scm
  LOAD     gnu/packages/tmux.scm
  LOAD     gnu/packages/tor.scm
  LOAD     gnu/packages/tv.scm
  LOAD     gnu/packages/uml.scm
  LOAD     gnu/packages/unrtf.scm
  LOAD     gnu/packages/upnp.scm
  LOAD     gnu/packages/uucp.scm
  LOAD     gnu/packages/valgrind.scm
  LOAD     gnu/packages/version-control.scm
  LOAD     gnu/packages/video.scm
  LOAD     gnu/packages/vim.scm
  LOAD     gnu/packages/virtualization.scm
  LOAD     gnu/packages/vpn.scm
  LOAD     gnu/packages/w3m.scm
  LOAD     gnu/packages/wdiff.scm
  LOAD     gnu/packages/web.scm
  LOAD     gnu/packages/web-browsers.scm
  LOAD     gnu/packages/webkit.scm
  LOAD     gnu/packages/wget.scm
  LOAD     gnu/packages/wicd.scm
  LOAD     gnu/packages/wine.scm
  LOAD     gnu/packages/wm.scm
  LOAD     gnu/packages/wordnet.scm
  LOAD     gnu/packages/wv.scm
  LOAD     gnu/packages/wxwidgets.scm
  LOAD     gnu/packages/xfig.scm
  LOAD     gnu/packages/xiph.scm
  LOAD     gnu/packages/xml.scm
  LOAD     gnu/packages/xnee.scm
  LOAD     gnu/packages/xdisorg.scm
  LOAD     gnu/packages/xorg.scm
  LOAD     gnu/packages/xfce.scm
  LOAD     gnu/packages/zile.scm
  LOAD     gnu/services.scm
  LOAD     gnu/services/admin.scm
  LOAD     gnu/services/audio.scm
  LOAD     gnu/services/avahi.scm
  LOAD     gnu/services/base.scm
  LOAD     gnu/services/certbot.scm
  LOAD     gnu/services/configuration.scm
  LOAD     gnu/services/cuirass.scm
  LOAD     gnu/services/cups.scm
  LOAD     gnu/services/databases.scm
  LOAD     gnu/services/dbus.scm
  LOAD     gnu/services/desktop.scm
  LOAD     gnu/services/dict.scm
  LOAD     gnu/services/dns.scm
  LOAD     gnu/services/kerberos.scm
  LOAD     gnu/services/lirc.scm
  LOAD     gnu/services/virtualization.scm
  LOAD     gnu/services/mail.scm
  LOAD     gnu/services/mcron.scm
  LOAD     gnu/services/messaging.scm
  LOAD     gnu/services/monitoring.scm
  LOAD     gnu/services/networking.scm
  LOAD     gnu/services/nfs.scm
  LOAD     gnu/services/shepherd.scm
  LOAD     gnu/services/herd.scm
  LOAD     gnu/services/pm.scm
  LOAD     gnu/services/rsync.scm
  LOAD     gnu/services/sddm.scm
  LOAD     gnu/services/spice.scm
  LOAD     gnu/services/ssh.scm
  LOAD     gnu/services/sysctl.scm
  LOAD     gnu/services/telephony.scm
  LOAD     gnu/services/version-control.scm
  LOAD     gnu/services/vpn.scm
  LOAD     gnu/services/web.scm
  LOAD     gnu/services/xorg.scm
  LOAD     gnu/system.scm
  LOAD     gnu/system/file-systems.scm
  LOAD     gnu/system/install.scm
  LOAD     gnu/system/linux-container.scm
  LOAD     gnu/system/linux-initrd.scm
  LOAD     gnu/system/locale.scm
  LOAD     gnu/system/mapped-devices.scm
  LOAD     gnu/system/nss.scm
  LOAD     gnu/system/pam.scm
  LOAD     gnu/system/shadow.scm
  LOAD     gnu/system/uuid.scm
  LOAD     gnu/system/vm.scm
  LOAD     gnu/build/activation.scm
  LOAD     gnu/build/bootloader.scm
  LOAD     gnu/build/cross-toolchain.scm
  LOAD     gnu/build/file-systems.scm
  LOAD     gnu/build/install.scm
  LOAD     gnu/build/linux-boot.scm
  LOAD     gnu/build/linux-container.scm
  LOAD     gnu/build/linux-initrd.scm
  LOAD     gnu/build/linux-modules.scm
  LOAD     gnu/build/marionette.scm
  LOAD     gnu/build/vm.scm
  LOAD     gnu/tests.scm
  LOAD     gnu/tests/admin.scm
  LOAD     gnu/tests/audio.scm
  LOAD     gnu/tests/base.scm
  LOAD     gnu/tests/databases.scm
  LOAD     gnu/tests/desktop.scm
  LOAD     gnu/tests/dict.scm
  LOAD     gnu/tests/nfs.scm
  LOAD     gnu/tests/install.scm
  LOAD     gnu/tests/mail.scm
  LOAD     gnu/tests/messaging.scm
  LOAD     gnu/tests/networking.scm
  LOAD     gnu/tests/rsync.scm
  LOAD     gnu/tests/ssh.scm
  LOAD     gnu/tests/version-control.scm
  LOAD     gnu/tests/virtualization.scm
  LOAD     gnu/tests/web.scm
  LOAD     guix/config.scm
  LOAD     guix/tests.scm
random seed for tests: 1517351341
  LOAD     guix/tests/http.scm
  GUILEC   guix/base16.go
  GUILEC   guix/base32.go
  GUILEC   guix/base64.go
  GUILEC   guix/cpio.go
  GUILEC   guix/records.go
  GUILEC   guix/gcrypt.go
  GUILEC   guix/hash.go
  GUILEC   guix/pk-crypto.go
  GUILEC   guix/pki.go
  GUILEC   guix/progress.go
  GUILEC   guix/combinators.go
  GUILEC   guix/memoization.go
  GUILEC   guix/utils.go
  GUILEC   guix/sets.go
  GUILEC   guix/modules.go
  GUILEC   guix/download.go
  GUILEC   guix/discovery.go
  GUILEC   guix/git-download.go
  GUILEC   guix/hg-download.go
  GUILEC   guix/monads.go
  GUILEC   guix/monad-repl.go
  GUILEC   guix/gexp.go
  GUILEC   guix/profiles.go
  GUILEC   guix/serialization.go
  GUILEC   guix/nar.go
  GUILEC   guix/derivations.go
  GUILEC   guix/grafts.go
  GUILEC   guix/gnu-maintenance.go
  GUILEC   guix/upstream.go
  GUILEC   guix/licenses.go
  GUILEC   guix/git.go
  GUILEC   guix/graph.go
  GUILEC   guix/cache.go
  GUILEC   guix/cve.go
  GUILEC   guix/workers.go
  GUILEC   guix/zlib.go
  GUILEC   guix/build-system.go
  GUILEC   guix/build-system/ant.go
  GUILEC   guix/build-system/cargo.go
  GUILEC   guix/build-system/cmake.go
  GUILEC   guix/build-system/dub.go
  GUILEC   guix/build-system/emacs.go
  GUILEC   guix/build-system/font.go
  GUILEC   guix/build-system/go.go
  GUILEC   guix/build-system/meson.go
  GUILEC   guix/build-system/minify.go
  GUILEC   guix/build-system/asdf.go
  GUILEC   guix/build-system/glib-or-gtk.go
  GUILEC   guix/build-system/gnu.go
  GUILEC   guix/build-system/haskell.go
  GUILEC   guix/build-system/perl.go
  GUILEC   guix/build-system/python.go
  GUILEC   guix/build-system/ocaml.go
  GUILEC   guix/build-system/waf.go
  GUILEC   guix/build-system/r.go
  GUILEC   guix/build-system/ruby.go
  GUILEC   guix/build-system/scons.go
  GUILEC   guix/build-system/texlive.go
  GUILEC   guix/build-system/trivial.go
  GUILEC   guix/ftp-client.go
  GUILEC   guix/http-client.go
  GUILEC   guix/gnupg.go
  GUILEC   guix/elf.go
  GUILEC   guix/profiling.go
  GUILEC   guix/store.go
  GUILEC   guix/cvs-download.go
  GUILEC   guix/svn-download.go
  GUILEC   guix/i18n.go
  GUILEC   guix/ui.go
  GUILEC   guix/build/ant-build-system.go
  GUILEC   guix/build/download.go
  GUILEC   guix/build/download-nar.go
  GUILEC   guix/build/cargo-build-system.go
  GUILEC   guix/build/cmake-build-system.go
  GUILEC   guix/build/dub-build-system.go
  GUILEC   guix/build/emacs-build-system.go
  GUILEC   guix/build/meson-build-system.go
  GUILEC   guix/build/minify-build-system.go
  GUILEC   guix/build/font-build-system.go
  GUILEC   guix/build/go-build-system.go
  GUILEC   guix/build/asdf-build-system.go
  GUILEC   guix/build/git.go
  GUILEC   guix/build/hg.go
  GUILEC   guix/build/glib-or-gtk-build-system.go
  GUILEC   guix/build/gnu-build-system.go
  GUILEC   guix/build/gnu-dist.go
  GUILEC   guix/build/perl-build-system.go
  GUILEC   guix/build/python-build-system.go
  GUILEC   guix/build/ocaml-build-system.go
  GUILEC   guix/build/r-build-system.go
  GUILEC   guix/build/ruby-build-system.go
  GUILEC   guix/build/scons-build-system.go
  GUILEC   guix/build/texlive-build-system.go
  GUILEC   guix/build/waf-build-system.go
  GUILEC   guix/build/haskell-build-system.go
  GUILEC   guix/build/store-copy.go
  GUILEC   guix/build/utils.go
  GUILEC   guix/build/union.go
  GUILEC   guix/build/profiles.go
  GUILEC   guix/build/compile.go
  GUILEC   guix/build/pull.go
  GUILEC   guix/build/rpath.go
  GUILEC   guix/build/cvs.go
  GUILEC   guix/build/svn.go
  GUILEC   guix/build/syscalls.go
  GUILEC   guix/build/gremlin.go
  GUILEC   guix/build/emacs-utils.go
  GUILEC   guix/build/java-utils.go
  GUILEC   guix/build/lisp-utils.go
  GUILEC   guix/build/graft.go
  GUILEC   guix/build/bournish.go
  GUILEC   guix/build/qt-utils.go
  GUILEC   guix/build/make-bootstrap.go
  GUILEC   guix/search-paths.go
  GUILEC   guix/packages.go
  GUILEC   guix/import/print.go
  GUILEC   guix/import/utils.go
  GUILEC   guix/import/gnu.go
  GUILEC   guix/import/snix.go
  GUILEC   guix/import/cabal.go
  GUILEC   guix/import/cran.go
  GUILEC   guix/import/hackage.go
  GUILEC   guix/import/elpa.go
  GUILEC   guix/import/texlive.go
  GUILEC   guix/scripts.go
  GUILEC   guix/scripts/download.go
  GUILEC   guix/scripts/perform-download.go
  GUILEC   guix/scripts/build.go
  GUILEC   guix/scripts/archive.go
  GUILEC   guix/scripts/import.go
  GUILEC   guix/scripts/package.go
  GUILEC   guix/scripts/gc.go
  GUILEC   guix/scripts/hash.go
  GUILEC   guix/scripts/pack.go
  GUILEC   guix/scripts/pull.go
  GUILEC   guix/scripts/substitute.go
  GUILEC   guix/scripts/authenticate.go
  GUILEC   guix/scripts/refresh.go
  GUILEC   guix/scripts/system.go
  GUILEC   guix/scripts/system/search.go
  GUILEC   guix/scripts/lint.go
  GUILEC   guix/scripts/challenge.go
  GUILEC   guix/scripts/import/cran.go
  GUILEC   guix/scripts/import/gnu.go
  GUILEC   guix/scripts/import/nix.go
  GUILEC   guix/scripts/import/hackage.go
  GUILEC   guix/scripts/import/elpa.go
  GUILEC   guix/scripts/import/texlive.go
  GUILEC   guix/scripts/environment.go
  GUILEC   guix/scripts/publish.go
  GUILEC   guix/scripts/weather.go
  GUILEC   guix/scripts/edit.go
  GUILEC   guix/scripts/size.go
;;; Failed to autoload make-page-map in (charting):
;;; ERROR: missing interface for module (charting)
;;; Failed to autoload make-page-map in (charting):
;;; ERROR: missing interface for module (charting)
;;; Failed to autoload make-page-map in (charting):
;;; ERROR: missing interface for module (charting)
guix/scripts/size.scm:221:2: warning: possibly unbound variable `make-page-map'
;;; Failed to autoload make-page-map in (charting):
;;; ERROR: missing interface for module (charting)
;;; Failed to autoload make-page-map in (charting):
;;; ERROR: missing interface for module (charting)
  GUILEC   guix/scripts/graph.go
  GUILEC   guix/scripts/container.go
  GUILEC   guix/scripts/container/exec.go
  GUILEC   guix.go
  GUILEC   gnu.go
  GUILEC   gnu/artwork.go
  GUILEC   gnu/bootloader.go
  GUILEC   gnu/bootloader/grub.go
  GUILEC   gnu/bootloader/extlinux.go
  GUILEC   gnu/bootloader/u-boot.go
  GUILEC   gnu/packages.go
  GUILEC   gnu/packages/abduco.go
  GUILEC   gnu/packages/abiword.go
  GUILEC   gnu/packages/accessibility.go
  GUILEC   gnu/packages/acct.go
  GUILEC   gnu/packages/acl.go
  GUILEC   gnu/packages/admin.go
  GUILEC   gnu/packages/adns.go
  GUILEC   gnu/packages/algebra.go
  GUILEC   gnu/packages/aidc.go
  GUILEC   gnu/packages/android.go
  GUILEC   gnu/packages/animation.go
  GUILEC   gnu/packages/anthy.go
  GUILEC   gnu/packages/apl.go
  GUILEC   gnu/packages/apr.go
  GUILEC   gnu/packages/aspell.go
  GUILEC   gnu/packages/assembly.go
  GUILEC   gnu/packages/astronomy.go
  GUILEC   gnu/packages/attr.go
  GUILEC   gnu/packages/audio.go
  GUILEC   gnu/packages/augeas.go
  GUILEC   gnu/packages/autogen.go
  GUILEC   gnu/packages/autotools.go
  GUILEC   gnu/packages/avahi.go
  GUILEC   gnu/packages/avr.go
  GUILEC   gnu/packages/axoloti.go
  GUILEC   gnu/packages/backup.go
  GUILEC   gnu/packages/base.go
  GUILEC   gnu/packages/bash.go
  GUILEC   gnu/packages/bdw-gc.go
  GUILEC   gnu/packages/benchmark.go
  GUILEC   gnu/packages/bioinformatics.go
  GUILEC   gnu/packages/bittorrent.go
  GUILEC   gnu/packages/bison.go
  GUILEC   gnu/packages/boost.go
  GUILEC   gnu/packages/bootloaders.go
  GUILEC   gnu/packages/bootstrap.go
  GUILEC   gnu/packages/build-tools.go
  GUILEC   gnu/packages/busybox.go
  GUILEC   gnu/packages/c.go
  GUILEC   gnu/packages/calcurse.go
  GUILEC   gnu/packages/ccache.go
  GUILEC   gnu/packages/cdrom.go
  GUILEC   gnu/packages/certs.go
  GUILEC   gnu/packages/check.go
  GUILEC   gnu/packages/chemistry.go
  GUILEC   gnu/packages/chez.go
  GUILEC   gnu/packages/ci.go
  GUILEC   gnu/packages/cinnamon.go
  GUILEC   gnu/packages/cmake.go
  GUILEC   gnu/packages/cobol.go
  GUILEC   gnu/packages/code.go
  GUILEC   gnu/packages/commencement.go
  GUILEC   gnu/packages/compression.go
  GUILEC   gnu/packages/compton.go
  GUILEC   gnu/packages/conkeror.go
  GUILEC   gnu/packages/conky.go
  GUILEC   gnu/packages/connman.go
  GUILEC   gnu/packages/cook.go
  GUILEC   gnu/packages/cpio.go
  GUILEC   gnu/packages/cpp.go
  GUILEC   gnu/packages/cppi.go
  GUILEC   gnu/packages/cran.go
  GUILEC   gnu/packages/cross-base.go
  GUILEC   gnu/packages/crypto.go
  GUILEC   gnu/packages/cryptsetup.go
  GUILEC   gnu/packages/cups.go
  GUILEC   gnu/packages/curl.go
  GUILEC   gnu/packages/cyrus-sasl.go
  GUILEC   gnu/packages/databases.go
  GUILEC   gnu/packages/datamash.go
  GUILEC   gnu/packages/datastructures.go
  GUILEC   gnu/packages/dav.go
  GUILEC   gnu/packages/dc.go
  GUILEC   gnu/packages/debug.go
  GUILEC   gnu/packages/dejagnu.go
  GUILEC   gnu/packages/dico.go
  GUILEC   gnu/packages/dictionaries.go
  GUILEC   gnu/packages/digest.go
  GUILEC   gnu/packages/direct-connect.go
  GUILEC   gnu/packages/disk.go
  GUILEC   gnu/packages/display-managers.go
  GUILEC   gnu/packages/django.go
  GUILEC   gnu/packages/djvu.go
  GUILEC   gnu/packages/dns.go
  GUILEC   gnu/packages/docbook.go
  GUILEC   gnu/packages/docker.go
  GUILEC   gnu/packages/documentation.go
  GUILEC   gnu/packages/dunst.go
  GUILEC   gnu/packages/dvtm.go
  GUILEC   gnu/packages/ebook.go
  GUILEC   gnu/packages/ed.go
  GUILEC   gnu/packages/education.go
  GUILEC   gnu/packages/electronics.go
  GUILEC   gnu/packages/elf.go
  GUILEC   gnu/packages/elixir.go
  GUILEC   gnu/packages/embedded.go
  GUILEC   gnu/packages/emacs.go
  GUILEC   gnu/packages/enchant.go
  GUILEC   gnu/packages/engineering.go
  GUILEC   gnu/packages/enlightenment.go
  GUILEC   gnu/packages/entr.go
  GUILEC   gnu/packages/erlang.go
  GUILEC   gnu/packages/fabric-management.go
  GUILEC   gnu/packages/fcitx.go
  GUILEC   gnu/packages/figlet.go
  GUILEC   gnu/packages/file.go
  GUILEC   gnu/packages/file-systems.go
  GUILEC   gnu/packages/finance.go
  GUILEC   gnu/packages/firmware.go
  GUILEC   gnu/packages/flashing-tools.go
  GUILEC   gnu/packages/flex.go
  GUILEC   gnu/packages/fltk.go
  GUILEC   gnu/packages/fonts.go
  GUILEC   gnu/packages/fontutils.go
  GUILEC   gnu/packages/fpga.go
  GUILEC   gnu/packages/forth.go
  GUILEC   gnu/packages/freedesktop.go
  GUILEC   gnu/packages/freeipmi.go
  GUILEC   gnu/packages/ftp.go
  GUILEC   gnu/packages/fribidi.go
  GUILEC   gnu/packages/fvwm.go
  GUILEC   gnu/packages/game-development.go
  GUILEC   gnu/packages/games.go
  GUILEC   gnu/packages/gawk.go
  GUILEC   gnu/packages/gcal.go
  GUILEC   gnu/packages/gcc.go
  GUILEC   gnu/packages/gd.go
  GUILEC   gnu/packages/gdb.go
  GUILEC   gnu/packages/geo.go
  GUILEC   gnu/packages/gettext.go
  GUILEC   gnu/packages/ghostscript.go
  GUILEC   gnu/packages/gimp.go
  GUILEC   gnu/packages/gkrellm.go
  GUILEC   gnu/packages/gl.go
  GUILEC   gnu/packages/glib.go
  GUILEC   gnu/packages/gnome.go
  GUILEC   gnu/packages/gnu-doc.go
  GUILEC   gnu/packages/gnucash.go
  GUILEC   gnu/packages/gnunet.go
  GUILEC   gnu/packages/gnupg.go
  GUILEC   gnu/packages/gnustep.go
  GUILEC   gnu/packages/gnuzilla.go
  GUILEC   gnu/packages/gnu-pw-mgr.go
  GUILEC   gnu/packages/gobby.go
  GUILEC   gnu/packages/golang.go
  GUILEC   gnu/packages/gperf.go
  GUILEC   gnu/packages/gprolog.go
  GUILEC   gnu/packages/gps.go
  GUILEC   gnu/packages/graph.go
  GUILEC   gnu/packages/graphics.go
  GUILEC   gnu/packages/graphviz.go
  GUILEC   gnu/packages/groff.go
  GUILEC   gnu/packages/gsasl.go
  GUILEC   gnu/packages/gstreamer.go
  GUILEC   gnu/packages/gtk.go
  GUILEC   gnu/packages/guile.go
  GUILEC   gnu/packages/guile-wm.go
  GUILEC   gnu/packages/gv.go
  GUILEC   gnu/packages/gxmessage.go
  GUILEC   gnu/packages/haskell.go
  GUILEC   gnu/packages/haskell-check.go
  GUILEC   gnu/packages/haskell-crypto.go
  GUILEC   gnu/packages/haskell-web.go
  GUILEC   gnu/packages/ham-radio.go
  GUILEC   gnu/packages/hexedit.go
  GUILEC   gnu/packages/hugs.go
  GUILEC   gnu/packages/hurd.go
  GUILEC   gnu/packages/ibus.go
  GUILEC   gnu/packages/icu4c.go
  GUILEC   gnu/packages/idris.go
  GUILEC   gnu/packages/idutils.go
  GUILEC   gnu/packages/image.go
  GUILEC   gnu/packages/image-processing.go
  GUILEC   gnu/packages/image-viewers.go
  GUILEC   gnu/packages/imagemagick.go
  GUILEC   gnu/packages/indent.go
  GUILEC   gnu/packages/inklingreader.go
  GUILEC   gnu/packages/inkscape.go
  GUILEC   gnu/packages/irc.go
  GUILEC   gnu/packages/iso-codes.go
  GUILEC   gnu/packages/java.go
  GUILEC   gnu/packages/javascript.go
  GUILEC   gnu/packages/jemalloc.go
  GUILEC   gnu/packages/jrnl.go
  GUILEC   gnu/packages/julia.go
  GUILEC   gnu/packages/kde.go
  GUILEC   gnu/packages/kde-frameworks.go
  GUILEC   gnu/packages/kerberos.go
  GUILEC   gnu/packages/key-mon.go
  GUILEC   gnu/packages/kodi.go
  GUILEC   gnu/packages/language.go
  GUILEC   gnu/packages/ldc.go
  GUILEC   gnu/packages/lego.go
  GUILEC   gnu/packages/less.go
  GUILEC   gnu/packages/lesstif.go
  GUILEC   gnu/packages/libbsd.go
  GUILEC   gnu/packages/libcanberra.go
  GUILEC   gnu/packages/libdaemon.go
  GUILEC   gnu/packages/libedit.go
  GUILEC   gnu/packages/libevent.go
  GUILEC   gnu/packages/libffcall.go
  GUILEC   gnu/packages/libffi.go
  GUILEC   gnu/packages/libftdi.go
  GUILEC   gnu/packages/calendar.go
  GUILEC   gnu/packages/libidn.go
  GUILEC   gnu/packages/libphidget.go
  GUILEC   gnu/packages/libreoffice.go
  GUILEC   gnu/packages/libsigsegv.go
  GUILEC   gnu/packages/libunistring.go
  GUILEC   gnu/packages/libusb.go
  GUILEC   gnu/packages/libunwind.go
  GUILEC   gnu/packages/lighting.go
  GUILEC   gnu/packages/linux.go
  GUILEC   gnu/packages/lirc.go
  GUILEC   gnu/packages/lisp.go
  GUILEC   gnu/packages/llvm.go
  GUILEC   gnu/packages/lout.go
  GUILEC   gnu/packages/logging.go
  GUILEC   gnu/packages/lolcode.go
  GUILEC   gnu/packages/lsof.go
  GUILEC   gnu/packages/lua.go
  GUILEC   gnu/packages/lxde.go
  GUILEC   gnu/packages/lxqt.go
  GUILEC   gnu/packages/m4.go
  GUILEC   gnu/packages/machine-learning.go
  GUILEC   gnu/packages/man.go
  GUILEC   gnu/packages/mail.go
  GUILEC   gnu/packages/make-bootstrap.go
  GUILEC   gnu/packages/markup.go
  GUILEC   gnu/packages/marst.go
  GUILEC   gnu/packages/mate.go
  GUILEC   gnu/packages/maths.go
  GUILEC   gnu/packages/mc.go
  GUILEC   gnu/packages/mcrypt.go
  GUILEC   gnu/packages/medical.go
  GUILEC   gnu/packages/mes.go
  GUILEC   gnu/packages/messaging.go
  GUILEC   gnu/packages/mingw.go
  GUILEC   gnu/packages/microcom.go
  GUILEC   gnu/packages/moe.go
  GUILEC   gnu/packages/motti.go
  GUILEC   gnu/packages/monitoring.go
  GUILEC   gnu/packages/mono.go
  GUILEC   gnu/packages/moreutils.go
  GUILEC   gnu/packages/mpd.go
  GUILEC   gnu/packages/mp3.go
  GUILEC   gnu/packages/mpi.go
  GUILEC   gnu/packages/multiprecision.go
  GUILEC   gnu/packages/music.go
  GUILEC   gnu/packages/musl.go
  GUILEC   gnu/packages/mtools.go
  GUILEC   gnu/packages/nano.go
  GUILEC   gnu/packages/ncdu.go
  GUILEC   gnu/packages/ncurses.go
  GUILEC   gnu/packages/netpbm.go
  GUILEC   gnu/packages/nettle.go
  GUILEC   gnu/packages/networking.go
  GUILEC   gnu/packages/nfs.go
  GUILEC   gnu/packages/nickle.go
  GUILEC   gnu/packages/nim.go
  GUILEC   gnu/packages/ninja.go
  GUILEC   gnu/packages/node.go
  GUILEC   gnu/packages/noweb.go
  GUILEC   gnu/packages/ntp.go
  GUILEC   gnu/packages/nutrition.go
  GUILEC   gnu/packages/nvi.go
  GUILEC   gnu/packages/ocaml.go
  GUILEC   gnu/packages/ocr.go
  GUILEC   gnu/packages/onc-rpc.go
  GUILEC   gnu/packages/openbox.go
  GUILEC   gnu/packages/openldap.go
  GUILEC   gnu/packages/openstack.go
  GUILEC   gnu/packages/orpheus.go
  GUILEC   gnu/packages/ots.go
  GUILEC   gnu/packages/package-management.go
  GUILEC   gnu/packages/parallel.go
  GUILEC   gnu/packages/password-utils.go
  GUILEC   gnu/packages/patchutils.go
  GUILEC   gnu/packages/pciutils.go
  GUILEC   gnu/packages/pcre.go
  GUILEC   gnu/packages/pdf.go
  GUILEC   gnu/packages/pem.go
  GUILEC   gnu/packages/perl.go
  GUILEC   gnu/packages/perl-check.go
  GUILEC   gnu/packages/perl-web.go
  GUILEC   gnu/packages/photo.go
  GUILEC   gnu/packages/php.go
  GUILEC   gnu/packages/pkg-config.go
  GUILEC   gnu/packages/plotutils.go
  GUILEC   gnu/packages/polkit.go
  GUILEC   gnu/packages/popt.go
  GUILEC   gnu/packages/profiling.go
  GUILEC   gnu/packages/pth.go
  GUILEC   gnu/packages/pulseaudio.go
  GUILEC   gnu/packages/pumpio.go
  GUILEC   gnu/packages/pretty-print.go
  GUILEC   gnu/packages/protobuf.go
  GUILEC   gnu/packages/pv.go
  GUILEC   gnu/packages/python.go
  GUILEC   gnu/packages/python-crypto.go
  GUILEC   gnu/packages/python-web.go
  GUILEC   gnu/packages/toys.go
  GUILEC   gnu/packages/tryton.go
  GUILEC   gnu/packages/qt.go
  GUILEC   gnu/packages/ragel.go
  GUILEC   gnu/packages/rails.go
  GUILEC   gnu/packages/ratpoison.go
  GUILEC   gnu/packages/rdesktop.go
  GUILEC   gnu/packages/rdf.go
  GUILEC   gnu/packages/re2c.go
  GUILEC   gnu/packages/readline.go
  GUILEC   gnu/packages/regex.go
  GUILEC   gnu/packages/rrdtool.go
  GUILEC   gnu/packages/rsync.go
  GUILEC   gnu/packages/ruby.go
  GUILEC   gnu/packages/rush.go
  GUILEC   gnu/packages/rust.go
  GUILEC   gnu/packages/samba.go
  GUILEC   gnu/packages/sawfish.go
  GUILEC   gnu/packages/scanner.go
  GUILEC   gnu/packages/scheme.go
  GUILEC   gnu/packages/screen.go
  GUILEC   gnu/packages/scribus.go
  GUILEC   gnu/packages/scsi.go
  GUILEC   gnu/packages/sdcc.go
  GUILEC   gnu/packages/sdl.go
  GUILEC   gnu/packages/search.go
  GUILEC   gnu/packages/security-token.go
  GUILEC   gnu/packages/selinux.go
  GUILEC   gnu/packages/serialization.go
  GUILEC   gnu/packages/serveez.go
  GUILEC   gnu/packages/shells.go
  GUILEC   gnu/packages/shellutils.go
  GUILEC   gnu/packages/simh.go
  GUILEC   gnu/packages/simulation.go
  GUILEC   gnu/packages/skarnet.go
  GUILEC   gnu/packages/skribilo.go
  GUILEC   gnu/packages/slang.go
  GUILEC   gnu/packages/smalltalk.go
  GUILEC   gnu/packages/sml.go
  GUILEC   gnu/packages/speech.go
  GUILEC   gnu/packages/spice.go
  GUILEC   gnu/packages/ssh.go
  GUILEC   gnu/packages/sssd.go
  GUILEC   gnu/packages/stalonetray.go
  GUILEC   gnu/packages/statistics.go
  GUILEC   gnu/packages/storage.go
  GUILEC   gnu/packages/suckless.go
  GUILEC   gnu/packages/swig.go
  GUILEC   gnu/packages/sync.go
  GUILEC   gnu/packages/syncthing.go
  GUILEC   gnu/packages/synergy.go
  GUILEC   gnu/packages/syndication.go
  GUILEC   gnu/packages/task-management.go
  GUILEC   gnu/packages/tbb.go
  GUILEC   gnu/packages/tcl.go
  GUILEC   gnu/packages/telephony.go
  GUILEC   gnu/packages/terminals.go
  GUILEC   gnu/packages/texinfo.go
  GUILEC   gnu/packages/tex.go
  GUILEC   gnu/packages/textutils.go
  GUILEC   gnu/packages/text-editors.go
  GUILEC   gnu/packages/time.go
  GUILEC   gnu/packages/tls.go
  GUILEC   gnu/packages/tmux.go
  GUILEC   gnu/packages/tor.go
  GUILEC   gnu/packages/tv.go
  GUILEC   gnu/packages/uml.go
  GUILEC   gnu/packages/unrtf.go
  GUILEC   gnu/packages/upnp.go
  GUILEC   gnu/packages/uucp.go
  GUILEC   gnu/packages/valgrind.go
  GUILEC   gnu/packages/version-control.go
  GUILEC   gnu/packages/video.go
  GUILEC   gnu/packages/vim.go
  GUILEC   gnu/packages/virtualization.go
  GUILEC   gnu/packages/vpn.go
  GUILEC   gnu/packages/w3m.go
  GUILEC   gnu/packages/wdiff.go
  GUILEC   gnu/packages/web.go
  GUILEC   gnu/packages/web-browsers.go
  GUILEC   gnu/packages/webkit.go
  GUILEC   gnu/packages/wget.go
  GUILEC   gnu/packages/wicd.go
  GUILEC   gnu/packages/wine.go
  GUILEC   gnu/packages/wm.go
  GUILEC   gnu/packages/wordnet.go
  GUILEC   gnu/packages/wv.go
  GUILEC   gnu/packages/wxwidgets.go
  GUILEC   gnu/packages/xfig.go
  GUILEC   gnu/packages/xiph.go
  GUILEC   gnu/packages/xml.go
  GUILEC   gnu/packages/xnee.go
  GUILEC   gnu/packages/xdisorg.go
  GUILEC   gnu/packages/xorg.go
  GUILEC   gnu/packages/xfce.go
  GUILEC   gnu/packages/zile.go
  GUILEC   gnu/services.go
  GUILEC   gnu/services/admin.go
  GUILEC   gnu/services/audio.go
  GUILEC   gnu/services/avahi.go
  GUILEC   gnu/services/base.go
  GUILEC   gnu/services/certbot.go
  GUILEC   gnu/services/configuration.go
  GUILEC   gnu/services/cuirass.go
  GUILEC   gnu/services/cups.go
  GUILEC   gnu/services/databases.go
  GUILEC   gnu/services/dbus.go
  GUILEC   gnu/services/desktop.go
  GUILEC   gnu/services/dict.go
  GUILEC   gnu/services/dns.go
  GUILEC   gnu/services/kerberos.go
  GUILEC   gnu/services/lirc.go
  GUILEC   gnu/services/virtualization.go
  GUILEC   gnu/services/mail.go
  GUILEC   gnu/services/mcron.go
  GUILEC   gnu/services/messaging.go
  GUILEC   gnu/services/monitoring.go
  GUILEC   gnu/services/networking.go
  GUILEC   gnu/services/nfs.go
  GUILEC   gnu/services/shepherd.go
  GUILEC   gnu/services/herd.go
  GUILEC   gnu/services/pm.go
  GUILEC   gnu/services/rsync.go
  GUILEC   gnu/services/sddm.go
  GUILEC   gnu/services/spice.go
  GUILEC   gnu/services/ssh.go
  GUILEC   gnu/services/sysctl.go
  GUILEC   gnu/services/telephony.go
  GUILEC   gnu/services/version-control.go
  GUILEC   gnu/services/vpn.go
  GUILEC   gnu/services/web.go
  GUILEC   gnu/services/xorg.go
  GUILEC   gnu/system.go
  GUILEC   gnu/system/file-systems.go
  GUILEC   gnu/system/install.go
  GUILEC   gnu/system/linux-container.go
  GUILEC   gnu/system/linux-initrd.go
  GUILEC   gnu/system/locale.go
  GUILEC   gnu/system/mapped-devices.go
  GUILEC   gnu/system/nss.go
  GUILEC   gnu/system/pam.go
  GUILEC   gnu/system/shadow.go
  GUILEC   gnu/system/uuid.go
  GUILEC   gnu/system/vm.go
  GUILEC   gnu/build/activation.go
  GUILEC   gnu/build/bootloader.go
  GUILEC   gnu/build/cross-toolchain.go
  GUILEC   gnu/build/file-systems.go
  GUILEC   gnu/build/install.go
  GUILEC   gnu/build/linux-boot.go
  GUILEC   gnu/build/linux-container.go
  GUILEC   gnu/build/linux-initrd.go
  GUILEC   gnu/build/linux-modules.go
  GUILEC   gnu/build/marionette.go
  GUILEC   gnu/build/vm.go
  GUILEC   gnu/tests.go
  GUILEC   gnu/tests/admin.go
  GUILEC   gnu/tests/audio.go
  GUILEC   gnu/tests/base.go
  GUILEC   gnu/tests/databases.go
  GUILEC   gnu/tests/desktop.go
  GUILEC   gnu/tests/dict.go
  GUILEC   gnu/tests/nfs.go
  GUILEC   gnu/tests/install.go
  GUILEC   gnu/tests/mail.go
  GUILEC   gnu/tests/messaging.go
  GUILEC   gnu/tests/networking.go
  GUILEC   gnu/tests/rsync.go
  GUILEC   gnu/tests/ssh.go
  GUILEC   gnu/tests/version-control.go
  GUILEC   gnu/tests/virtualization.go
  GUILEC   gnu/tests/web.go
  GUILEC   guix/config.go
  GUILEC   guix/tests.go
  GUILEC   guix/tests/http.go

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.
make[2]: Target 'all-am' not remade because of errors.
make[2]: Leaving directory '/home/jorge/guix'
Makefile:4496: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/jorge/guix'
Makefile:3067: recipe for target 'all' failed
make: *** [all] Error 2
jorge@jorge-demorais:~/guix$ env
TIME_STYLE=+%F %a %R:%S
LS_COLORS=
LC_MEASUREMENT=pt_BR.UTF-8
LC_PAPER=pt_BR.UTF-8
LC_MONETARY=pt_BR.UTF-8
XDG_MENU_PREFIX=gnome-
LANG=en_US.UTF-8
GDM_LANG=en_US.UTF-8
DISPLAY=:1
HISTTIMEFORMAT=[%F %a %T%z] 
OLDPWD=/home/jorge
EDITOR=emacsclient
USERNAME=jorge
INSIDE_EMACS=26.0.91,comint
XDG_VTNR=2
GIO_LAUNCHED_DESKTOP_FILE_PID=4353
SSH_AUTH_SOCK=/run/user/1000/keyring/ssh
S_COLORS=auto
XDG_SESSION_ID=4
USER=jorge
PY_USER_BIN=/home/jorge/.local/bin
DESKTOP_SESSION=gnome
LC_COLLATE=en_US.UTF-8
GUIX_LOCPATH=/home/jorge/.guix-profile/lib/locale
PWD=/home/jorge/guix
HOME=/home/jorge
LC_CTYPE=en_US.UTF-8
JOURNAL_STREAM=9:22337
ALTERNATE_EDITOR=emacs
SSH_AGENT_PID=1394
NAME=Jorge Peixoto de Morais Neto
QT_ACCESSIBILITY=1
VERSION_CONTROL=numbered
XDG_SESSION_TYPE=x11
https_proxy=https://localhost:5865
XDG_DATA_DIRS=/usr/share/gnome:/usr/local/share:/usr/share:/var/lib/snapd/desktop:/var/lib/snapd/desktop
http_proxy=http://localhost:5865
SMTPSERVER=smtp.dataprev.gov.br
XDG_SESSION_DESKTOP=gnome
EMAIL=jorge.demorais@dataprev.gov.br
GJS_DEBUG_OUTPUT=stderr
LC_NUMERIC=pt_BR.UTF-8
GTK_MODULES=gail:atk-bridge
COLUMNS=118
WINDOWPATH=2
ORGANIZATION=Dataprev
SHELL=/bin/bash
TERM=dumb
all_proxy=localhost:5865
LC_MESSAGES=en_US.UTF-8
XDG_CURRENT_DESKTOP=GNOME
GPG_AGENT_INFO=/run/user/1000/gnupg/S.gpg-agent:0:1
GIO_LAUNCHED_DESKTOP_FILE=/usr/local/share/applications/emacs.desktop
SHLVL=1
XDG_SEAT=seat0
GDMSESSION=gnome
GNOME_DESKTOP_SESSION_ID=this-is-deprecated
LOGNAME=jorge
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
XDG_RUNTIME_DIR=/run/user/1000
XAUTHORITY=/run/user/1000/gdm/Xauthority
GUILE_LOAD_PATH=/usr/local/share/guile/site/2.2:/home/jorge/repos/scheme-bytestructures
PATH=/home/jorge/.local/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/snap/bin
INFOPATH=/var/guix/profiles/per-user/root/guix-profile/share/info/:/usr/local/share/guix_info:/usr/local/share/guile_info:/usr/local/share/gnutls_info:/usr/local/share/guile-git_info:
GJS_DEBUG_TOPICS=JS ERROR;JS LOG
TERMCAP=
ftp_proxy=ftp://localhost:5865
SESSION_MANAGER=local/jorge-demorais:@/tmp/.ICE-unix/1347,unix/jorge-demorais:/tmp/.ICE-unix/1347
LC_TIME=pt_BR.UTF-8
_=/usr/bin/env

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

* bug#30250: Two failures on ‘make -k "-j$(nproc)" check’
  2018-01-30 16:47 ` Jorge
@ 2018-01-30 17:15   ` Ludovic Courtès
  2018-01-30 17:27   ` Jorge
  1 sibling, 0 replies; 6+ messages in thread
From: Ludovic Courtès @ 2018-01-30 17:15 UTC (permalink / raw)
  To: Jorge; +Cc: 30250

Hi,

"Jorge" <jorge+list@disroot.org> skribis:

> January 27, 2018 2:02 PM, ludo@gnu.org wrote:
>
>> "Jorge" <jorge+list@disroot.org> skribis:
>> It looks like the language/tree-il/spec.scm file (which is part of
>> Guile) that was found in $GUILE_LOAD_PATH on your system is not a
>> regular file and is instead presumably a symlink. Could you check that
>> this is the case?
>
> Unfortunately I have already uninstalled Guix and its dependencies.  I
> am sorry, I now realize I (obviously) should not have done that before
> this bug report finished being investigated.  At least I backed up the
> Guix repository (including build products).  Anyway, I remember I had
> stowed¹ Guix and its dependencies, so ‘language/tree-il/spec.scm’ must
> indeed have been a symlink.\\

OK.

>> This test runs its own HTTP server on port 10500. Could it be that it
>> try to go through your proxy and failed? Can you check whether this
>> works:
>> 
>> unset http_proxy
>> make check TESTS=tests/derivations.scm
>> 
>> ?

[...]

> Thus I
> tried to recompile Guix in order to test your hypothesis but it did not
> compile:

[...]

> In web/client.scm:
> In web/http.scm:
> In unknown file:
>            0    346:21  3 (_ #<procedure string-index (_ _ #:optional _ _)> #\:)
>
> ERROR: ERROR: Wro(request _ #:body _ #:port _ #:method _ #:version _ #:keep-alive? _ #:headers _ #:decode-body? _ # _ # …)ng
>  type to apply: "alpha.gnu.org"

This has to do with bad $http_proxy handling in old Guile versions, I
think, but that download step no longer exists in the ‘core-updates’
branch that’s to be merged in the coming days.

Thanks anyway, I consider the case closed on our side.

Ludo’.

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

* bug#30250: Two failures on ‘make -k "-j$(nproc)" check’
  2018-01-30 16:47 ` Jorge
  2018-01-30 17:15   ` Ludovic Courtès
@ 2018-01-30 17:27   ` Jorge
  2018-01-30 21:32     ` Ludovic Courtès
  1 sibling, 1 reply; 6+ messages in thread
From: Jorge @ 2018-01-30 17:27 UTC (permalink / raw)
  To: ludo; +Cc: 30250

January 30, 2018 3:16 PM, ludo@gnu.org wrote:

> This has to do with bad $http_proxy handling in old Guile versions
But I am using the packaged Guile from Debian buster, which is recent:
    $ guile --version
    guile (GNU Guile) 2.2.2
    Packaged by Debian (2.2.2-deb+2-1)
    […]

> […] that download step no longer exists in the ‘core-updates’
> branch that’s to be merged in the coming days.
Thank you for the information.  Perhaps I should try again after that
branch is merged.

> Thanks anyway, I consider the case closed on our side.

Will you update the test so it works when ‘language/tree-il/spec.scm’ is
a symlink?  Since Stow is a GNU package, maybe Guix should either be
compatible with it or warn in the documentation about the
incompatibility.

Regards

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

* bug#30250: Two failures on ‘make -k "-j$(nproc)" check’
  2018-01-30 17:27   ` Jorge
@ 2018-01-30 21:32     ` Ludovic Courtès
  0 siblings, 0 replies; 6+ messages in thread
From: Ludovic Courtès @ 2018-01-30 21:32 UTC (permalink / raw)
  To: Jorge; +Cc: 30250

"Jorge" <jorge+list@disroot.org> skribis:

> January 30, 2018 3:16 PM, ludo@gnu.org wrote:
>
>> This has to do with bad $http_proxy handling in old Guile versions
> But I am using the packaged Guile from Debian buster, which is recent:
>     $ guile --version
>     guile (GNU Guile) 2.2.2
>     Packaged by Debian (2.2.2-deb+2-1)
>     […]
>
>> […] that download step no longer exists in the ‘core-updates’
>> branch that’s to be merged in the coming days.
> Thank you for the information.  Perhaps I should try again after that
> branch is merged.
>
>> Thanks anyway, I consider the case closed on our side.
>
> Will you update the test so it works when ‘language/tree-il/spec.scm’ is
> a symlink?  Since Stow is a GNU package, maybe Guix should either be
> compatible with it or warn in the documentation about the
> incompatibility.

Yes, done in commit 9d6fae65f3c2197e7b95afebd0a13908bdb4aed9.

Thanks,
Ludo’.

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

end of thread, other threads:[~2018-01-30 21:35 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-01-25 13:15 bug#30250: Two failures on ‘make -k "-j$(nproc)" check’ Jorge
2018-01-27 15:48 ` Ludovic Courtès
2018-01-30 16:47 ` Jorge
2018-01-30 17:15   ` Ludovic Courtès
2018-01-30 17:27   ` Jorge
2018-01-30 21:32     ` Ludovic Courtès

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).