build-system/gnu: Reset timestamps on build tree when source is a directory.
* guix/build/utils.scm (copy-recursively): Add #:keep-mtime? parameter
and honor it.
* guix/build/gnu-build-system.scm (unpack): Use #:keep-mtime? #t.
* gnu/packages/admin.scm (shadow)[arguments]: Remove 'reset-timestamps'
phase.
gnu: gcc-final: Add Texinfo as an input.
* gnu/packages/base.scm (gcc-final)[native-inputs]: New field.
gnu: gawk: Upgrade to 4.1.1.
* gnu/packages/gawk.scm (gawk): Upgrade to 4.1.1.
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.
vm: Strip import list.
* gnu/system/vm.scm: Strip #:select for (gnu packages base).
vm: Factorize input conversion.
* gnu/system/vm.scm (input->name+output): New procedure.
(expression->derivation-in-linux-vm): Use it for 'input-alist'.
(qemu-image)[input->name+derivation]: Remove. Use
'input->name+output' instead.
vm: Add (guix build vm) module.
* guix/build/vm.scm: New file.
* Makefile.am (MODULES): Add it.
* gnu/system/vm.scm (expression->derivation-in-linux-vm): Use it.
gnu: ffmpeg: Upgrade to 2.2.1.
* gnu/packages/video.scm (ffmpeg): Upgrade to 2.2.1.
gnu: qemu: Remove 'qemu-with-multiple-smb-shares' package.
* gnu/packages/qemu.scm (qemu/smb-shares): Remove.
* gnu/packages/patches/qemu-multiple-smb-shares.patch: Remove.
* gnu-system.am (dist_patch_DATA): Adjust accordingly.