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.
gnu: Add json-glib.
* gnu/packages/gnome.scm (json-glib): New variable.
gnu: tiled: Update to 0.11.0.
* gnu/packages/game-development.scm (tiled): Update.
gnu: tiled: Move to game-development module.
* gnu/packages/games.scm (tiled): Move from here...
* gnu/packages/game-development (tiled): ...to here.
gnu: emms: Let the build system install emms-print-metadata.1.
Reported by effa`` on #guix.
* gnu/packages/emacs.scm (emms)[arguments] <pre-install>: Remove
'copy-file' invocation.
tests: Adjust syscall tests for 2.6ish Linux.
* tests/syscalls.scm ("set-network-interface-flags",
"set-network-interface-address"): Accept EACCES as a valid result.
gnu: Add CUPS.
* gnu/packages/cups.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
gnu: Add IJS
* gnu/packages/ghostscript.scm (ijs): New variable.
gnu: Add telepathy-glib.
* gnu/packages/glib.scm (telepathy-glib): New variable.
nar: Read archive signatures as Latin-1 strings.
Fixes <http://bugs.gnu.org/19610>.
Reported by Mark H Weaver <mhw@netris.org>.
* guix/nar.scm (restore-one-item): Use 'read-latin1-string' to read the
signature.
serialization: Read Latin-1 strings with 'get-bytevector-n'.
* guix/serialization.scm (read-latin1-string): Use 'get-bytevector-n'
instead of 'get-string-n'. Use 'list->string' etc. to convert the
bytevector to a string.
store: Change 'store-lower' to preserve the original procedure's documentation.
* guix/store.scm (preserve-documentation): New procedure.
(store-lift, store-lower): Use it.
doc: Document '%state-monad' and update '%store-monad' description.
* doc/guix.texi (The Store Monad): Document '%state-monad' and related
procedures. Describe '%store-monad' as an alias for '%state-monad'.
* guix/monads.scm: Update commentary.
store: Make '%store-monad' an alias for '%state-monad'.
* guix/store.scm (define-alias): New macro.
(%store-monad, store-return, store-bind): Define as aliases of the
corresponding %STATE-MONAD part.
(store-lift, text-file, interned-file): Return STORE as a second
value.
(run-with-store): Use 'run-with-state'.
* guix/packages.scm (set-guile-for-build, package-file): Return STORE as
a second value.
* guix/monads.scm: Remove part of the module commentary.
monads: Add the state monad.
* guix/monads.scm (state-return, state-bind, run-with-state,
current-state, set-current-state, state-push, state-pop): New
procedures.
(%state-monad): New variable.
* tests/monads.scm (%monads): Add %STATE-MONAD.
(%monad-run): Add 'run-with-state'.
(values->list): New macro.
("set-current-state", "state-push etc."): New tests.
gnu: linux-libre: Update to 3.18.3
* gnu/packages/linux.scm (linux-libre): Update to version 3.18.3.