gnu: wdiff: Upgrade to 1.2.2.
* gnu/packages/wdiff.scm (wdiff): Upgrade to 1.2.2.
gnu: gawk: Revert previous commit, which should go into core-updates.
* gnu/packages/gawk.scm (gawk): Downgrade to 4.1.0 to avoid recompiling
almost everything in master.
gnu: gawk: Upgrade to 4.1.1.
* gnu/packages/gawk.scm (gawk): Upgrade to 4.1.1.
linux-initrd: Mount / as a unionfs when asking for a volatile root.
* guix/build/linux-initrd.scm (make-essential-device-nodes): Make
/dev/fuse.
(boot-system): Add #:unionfs parameter. Invoke UNIONFS instead of
copying files over when VOLATILE-ROOT? is true.
* gnu/system/linux-initrd.scm (expression->initrd): Add #:inputs
parameter.
[files-to-copy]: New procedure.
[builder]: Add 'to-copy' parameter; honor it.
(qemu-initrd)[linux-modules]: Add 'fuse.ko' when VOLATILE-ROOT?.
Pass UNIONFS-FUSE/STATIC as #:inputs; change builder to pass #:unionfs
to 'boot-system'.
gnu: unionfs-fuse-static: Remove dependency on util-linux.
* gnu/packages/linux.scm (fuse-static): New variable.
(unionfs-fuse/static): Use it.
gnu: man-pages: Fix URL.
* gnu/packages/man.scm (man-pages): Use the 'kernel.org' mirror set.
offload: '{send,receive}-files' wait for completion of the transfer.
Fixes situations where the remote 'guix build' is invoked before the
.drv has been completely copied, as reported at
<https://lists.gnu.org/archive/html/guix-devel/2014-04/msg00174.html>.
In some cases 'send-files' would return before the other end is done
importing the files, and so the subsequent 'guix build' invocation would
just miss the .drv file it refers to.
* guix/utils.scm (call-with-decompressed-port): Don't close PORT.
(call-with-compressed-output-port): Likewise.
* tests/utils.scm ("compressed-output-port + decompressed-port"): Adjust
accordingly.
* guix/scripts/offload.scm (send-files): Add explicit (close-pipe pipe)
call.
(retrieve-files): Likewise.
offload: Better synchronize with remote invocation of 'guix archive --missing'.
* guix/scripts/offload.scm (send-files)[missing-files]: Call 'waitpid'
after reading all of MISSING.
derivations: Fix 'fixed-output-derivation?'.
Reported by Nikita Karetnikov <nikita@karetnikov.org>.
* guix/derivations.scm (fixed-output-derivation?): Fix pattern.
* tests/derivations.scm ("fixed-output-derivation?"): Add test.
gnu: Add Linux man-pages.
* gnu/packages/man.scm (man-pages): New variable.
nar: Really protect the temporary store directory from GC.
Prevents garbage collection of the temporary store directory while
restoring a file set, as it could previously happen:
<https://lists.gnu.org/archive/html/guix-devel/2014-04/msg00167.html>.
* guix/nar.scm (temporary-store-directory): Rename to...
(temporary-store-file): ... this. Use 'add-permanent-root' instead of
'add-indirect-root'.
(with-temporary-store-file): New macro.
(restore-one-item): New procedure, with code formerly in
'restore-file-set'. Use 'with-temporary-store-file'.
(restore-file-set): Use it.
store: Add 'add-permanent-root' and 'remove-permanent-root'.
* guix/store.scm (add-indirect-root): Improve docstring.
(%gc-roots-directory): New variable.
(add-permanent-root, remove-permanent-root): New procedures.
* tests/store.scm ("permanent root"): New test.
openssh: Add another mirror.
* gnu/packages/ssh.scm (openssh): Add the mirror.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
packages: Correctly handle patching for inputs with no extension.
Reported by Manolis Ragkousis <manolis837@gmail.com>.
* guix/packages.scm (patch-and-repack)[numeric-extension?]: Handle
FILE-NAME with no extension.
gnu: Add Mosh.
* gnu/packages/ssh.scm (mosh): New variable.
gnu: Add perl-io-tty.
* gnu/packages/perl.scm (perl-io-tty): New variable.
gnu: Add Protobuf.
* gnu/packages/protobuf.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
hydra: Specify the image size of the QEMU image.
* build-aux/hydra/gnu-system.scm (qemu-jobs): Specify
#:disk-image-size.
vm: Move image creation to (guix build vm); split into several procedures.
* guix/build/vm.scm (read-reference-graph, initialize-partition-table,
install-grub, populate-store, evaluate-populate-directive,
reset-timestamps, initialize-hard-disk): New procedures.
* gnu/system/vm.scm (qemu-image): Change 'builder' to a call to
'initialize-hard-disk'.
vm: 'expression->derivation-in-linux-vm' can import modules in the VM.
* gnu/system/vm.scm (%imported-modules): New procedure.
(expression->derivation-in-linux-vm): Add #:imported-modules
parameter; remove #:modules. Add LOADER, and change BUILDER to load
it.
(qemu-image): Remove useless #:modules argument.