records: Add support for 'innate' fields.
* guix/records.scm (make-syntactic-constructor): Add #:innate parameter.
[record-inheritance]: Honor it.
[innate-field?]: New procedure.
(define-record-type*)[innate-field?]: New procedure.
Pass #:innate to 'make-syntactic-constructor'.
* tests/records.scm ("define-record-type* & inherit & innate",
"define-record-type* & thunked & innate"): New tests.
records: "options" → "properties".
* guix/records.scm (define-record-type*): Change "options" to "properties".
records: Factorize field property predicates.
* guix/records.scm (define-field-property-predicate): New macro.
(define-record-type*)[thunked-field?, delayed-field?]: Use it.
records: Separate default-value handling.
* guix/records.scm (make-syntactic-constructor)[default-values]: New
variable.
[field-default-value]: New procedure.
Use them.
records: Replace 'eval-when' with a proper 'define-syntax'.
* guix/records.scm (make-syntactic-constructor): Remove enclosing
'eval-when'. Turn into a 'syntax-rules' macro.
gnu: gnupg: Update to 2.1.5.
* gnu/packages/gnupg.scm (gnupg): Update to 2.1.5.
gnu: Add librest.
* gnu/packages/gnome.scm (librest): New variable.
gnu: inetutils: Update to 1.9.4.
* gnu/packages/admin.scm (inetutils): Update to 1.9.4.
guix build: Allow directories to be passed to --with-source.
* guix/scripts/build.scm (package-with-source)[tarball-base-name]: Gracefully
handle file names that lack an extension.
Pass #:recursive? #t to 'download-to-store'.
* guix/download.scm (download-to-store): Add #:recursive? parameter and pass
it to 'add-to-store'.
* doc/guix.texi (Invoking guix build): Add an example of --with-source with a
directory.
environment: Connect to the store after the command line has been parsed.
* guix/scripts/environment.scm (guix-environment): Call 'parse-command-line'
outside of 'with-store'. This allows things like --help to run even if the
daemon is not running.
build: Build man pages after the corresponding code.
* doc.am (doc/guix.1): Remove extraneous $(top_builddir)/.
(doc/guix-daemon.1): Fix dependency.
(doc/guix-$(1).1): Remove extraneous $(top_builddir)/. Depend on the .go
files instead of the .scm file. Add dependency on scripts/guix.
daemon: Internationalize guix-daemon.
* nix/nix-daemon/guix-daemon.cc (n_, _): New macros.
(guix_textdomain): New variable.
(doc): Use 'n_'.
(options): Likewise, and lowercase messages.
(argp): Add initializer for 'argp_domain' field.
(parse_opt): Use '_' for messages.
(main): Likewise, and add calls to 'setlocale', 'bindtextdomain', and
'textdomain'.
* daemon.am (guix_daemon_CPPFLAGS): Add -DLOCALEDIR.
* po/guix/Makevars (XGETTEXT_OPTIONS): Remove '--language' option. Add
'--keyword=n_'.
* po/guix/POTFILES.in: Add guix-daemon.cc.
gnu: qemu: Add fix for CVE-2015-3209.
* gnu/packages/patches/qemu-CVE-2015-3209.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/qemu.scm (qemu): Add patch.
gnu: cups: Update to 2.0.3.
* gnu/packages/cups.scm (cups): Update to 2.0.3.
gnu: linux-libre: Update to 4.0.5.
* gnu/packages/linux.scm (linux-libre): Update to 4.0.5.
guix-register: Use C++11 range 'for' loop instead of 'foreach' macro.
* nix/guix-register/guix-register.cc (register_validity): Use C++11 range
'for' loop instead of 'foreach'.
guix-register: Perform deduplication even when --prefix is passed.
Fixes <http://bugs.gnu.org/19044>.
* nix/guix-register/guix-register.cc (register_validity): Change the (optimize
&& prefix.empty ()) condition to just (optimize). Change settings.nixStore
around the loop. Prepend PREFIX to the argument passed to 'optimisePath'.
* tests/guix-register.sh: Use 'guix-register -p' with duplicate files, and
make sure they are deduplicated on the target. Adjust existing tests.
tests: Make the daemon socket explicit in guix-register test.
* tests/guix-register.sh: Define GUIX_DAEMON_SOCKET. Pass it explicitly to
'open-connection'.
install: Really overwrite TARGET/var/guix/profiles/system-1-link.
* gnu/build/install.scm (populate-root-file-system): Delete system-1-link
under TARGET, not under /. Use 'catch' and check for EEXIST instead of
(false-if-exception (delete-file ...)).