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.
make-syntactic-constructor kwarg default
records: Factorize value wrapping in the record constructor.
* guix/records.scm (make-syntactic-constructor)[wrap-field-value]: New
procedure.
[field-bindings, field-value]: Use it.
records: Move 'make-syntactic-constructor' to the top level.
* guix/records.scm (make-syntactic-constructor): New procedure, formerly
nested in 'define-record-type*'.
records: Use keyword parameters for 'make-syntactic-constructor'.
* guix/records.scm (define-record-type*)[make-syntactic-constructor]:
Turn THUNKED and DEFAULTS into keyword arguments.
Adjust caller accordingly. Declare 'thunked' and 'defaults' local
variables.
gnu: Make libgnomeprint{,ui} as deprecated.
* gnu/packages/gnome.scm (libgnomeprint): Add comment and update
'description' to mark it as deprecated.
(libgnomeprintui): Ditto.
gnu: Move guile-charting to (gnu packages plotutils).
This removes the dependency from (gnu packages guile)
to (gnu packages gtk), which potentially reduces the memory/IO/CPU
footprint given that 'guile' is used during bootstrap.
* gnu/packages/guile.scm (guile-charting): Move to...
* gnu/packages/plotutils.scm (guile-charting): ... here.