guix system: Improve error messages.
* guix/ui.scm (report-error): Export.
* guix/scripts/system.scm (read-operating-system): Report syntax errors
using standard GNU format. Report other errors using 'display-error'.
gnu: Add convenience macros to make module imports more concise.
* gnu.scm (use-package-modules, use-service-modules,
use-system-modules): New macros.
store: Change 'run-with-store' to return a single value.
* guix/store.scm (run-with-store): Wrap 'run-with-state' in
'call-with-values'. Return only the first value.
gnu: libtool: Update to 2.4.5.
* gnu/packages/autotools.scm (libtool): Update to 2.4.5.
(libltdl): Adjust 'version' and 'source' to remain at 2.4.4.
gnu: phonon: Shuffle inputs.
* gnu/packages/kde.scm (phonon): Move automoc to native-inputs and qt to
propagated inputs.
gnu: phonon: Update to 4.8.3.
* gnu/packages/kde.scm (phonon): Update to 4.8.3.
gnu: perf: Install libraries to lib/ instead of lib64/.
* gnu/packages/linux.scm (perf)[arguments]: Add "lib=lib" to
#:make-flags.
gnu: perf: Build the interactive TUI.
* gnu/packages/linux.scm (perf)[inputs]: Add SLANG.
gnu: Add S-Lang.
* gnu/packages/slang.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
gnu: perf: Build the documentation.
* gnu/packages/linux.scm (perf)[inputs]: Uncomment documentation inputs.
gnu: perf: Add dependency on Python.
* gnu/packages/linux.scm (perf)[inputs]: Add PYTHON-2.
gnu: Register patches for installation.
* gnu-system.am (dist_patch_DATA): Add patches for aegis, clucene,
libcanberra and lua-5.1.
gnu: Add python-rdflib.
* gnu/packages/rdf.scm (python-rdflib): New variable.
gnu: Add python-html5lib.
* gnu/packages/python.scm (python-html5lib, python2-html5lib): New variables.
guix package: Avoid spurious warnings from 'find-files'.
Reported by Andreas Enge <andreas@enge.fr>.
* guix/scripts/package.scm (with-null-error-port): New macro.
(search-path-environment-variables): Wrap 'search-path-as-list' call
in 'with-null-error-port'.
gnu: Add python-isodate.
* gnu/packages/python.scm (python-isodate, python2-isodate): New variables.
gnu: 'search-patch' raises an error when a patch is not found.
* gnu/packages.scm (search-patch): Raise an error condition when
'search-path' returns #f.
* tests/packages.scm ("patch not found yields a run-time error"): New
test.
packages: Mark the 'patches' field as delayed.
* guix/packages.scm (<origin>)[patches]: Mark as 'delayed'.
(print-origin, origin->derivation): Add call to 'force' when accessing
'patches'.
records: Add support for delayed fields.
* guix/records.scm (make-syntactic-constructor): Add #:delayed
parameter.
[delayed-field?]: New procedure.
[wrap-field-value]: Use it.
(define-record-type*)[delayed-field?, wrapped-field?]: New procedures.
[thunked-field-accessor-name]: Rename to...
[wrapped-field-accessor-name]: ... this.
[field-spec->srfi-9]: Change 'thunked' to 'wrapped'.
[delayed-field-accessor-definition]: New procedure.
Compute delayed-field accessors and emit them. Pass #:delayed to
'make-syntactic-constructor'.
* tests/records.scm ("define-record-type* & delayed",
"define-record-type* & delayed & default",
"define-record-type* & delayed & inherited"): New tests.