gnu: ninja: Disable testcase SubprocessTest.InterruptChild.
* gnu/packages/patches/ninja-tests.patch: New file.
* gnu/packages/ninja.scm (ninja): Add the patch.
* gnu-system.am (dist_patch_DATA): Add it.
packages: Convert source derivations to monadic style.
* guix/packages.scm (origin->derivation): Take body from
'package-source-derivation', and change it to monadic style. Expect
METHOD to a monadic procedure.
(package-source-derivation): Define in terms of 'origin->derivation'.
* guix/download.scm (url-fetch): Remove 'store' argument. Remove
'guile-for-build' variable. Turn into a monadic procedure.
* guix/git-download.scm (git-fetch): Likewise.
* guix/svn-download.scm (svn-fetch): Likewise.
* tests/builders.scm (url-fetch*): New procedure.
Change tests to call 'url-fetch*' instead of 'url-fetch'.
* tests/packages.scm ("package-source-derivation, snippet"): Remove
'store' parameter of 'fetch' and change it to use 'interned-file'
instead of 'add-to-store'.
* gnu/packages/bootstrap.scm (bootstrap-origin)[boot]: Remove 'store'
parameter.
store: Add 'store-lower'.
* guix/store.scm (store-lower): New procedure.
* tests/store.scm ("store-lower"): New test.
monads: Move '%store-monad' and related procedures where they belong.
This turns (guix monads) into a generic module for monads, and moves the
store monad and related monadic procedures in their corresponding
module.
* guix/monads.scm (store-return, store-bind, %store-monad, store-lift,
text-file, interned-file, package-file, package->derivation,
package->cross-derivation, origin->derivation, imported-modules,
compiled, modules, built-derivations, run-with-store): Move to...
* guix/store.scm (store-return, store-bind, %store-monad, store-lift,
text-file, interned-file): ... here.
(%guile-for-build): New variable.
(run-with-store): Moved from monads.scm. Remove default value for
#:guile-for-build.
* guix/packages.scm (default-guile): Export.
(set-guile-for-build): New procedure.
(package-file, package->derivation, package->cross-derivation,
origin->derivation): Moved from monads.scm.
* guix/derivations.scm (%guile-for-build): Remove.
(imported-modules): Rename to...
(%imported-modules): ... this.
(compiled-modules): Rename to...
(%compiled-modules): ... this.
(built-derivations, imported-modules, compiled-modules): New
procedures.
* gnu/services/avahi.scm, gnu/services/base.scm, gnu/services/dbus.scm,
gnu/services/dmd.scm, gnu/services/networking.scm,
gnu/services/ssh.scm, gnu/services/xorg.scm, gnu/system/install.scm,
gnu/system/linux-initrd.scm, gnu/system/shadow.scm, guix/download.scm,
guix/gexp.scm, guix/git-download.scm, guix/profiles.scm,
guix/svn-download.scm, tests/monads.scm: Adjust imports accordingly.
* guix/monad-repl.scm (default-guile-derivation): New procedure.
(store-monad-language, run-in-store): Use it.
* build-aux/hydra/gnu-system.scm (qemu-jobs): Add explicit
'set-guile-for-build' call.
* guix/scripts/archive.scm (derivation-from-expression): Likewise.
* guix/scripts/build.scm (options/resolve-packages): Likewise.
* guix/scripts/environment.scm (guix-environment): Likewise.
* guix/scripts/system.scm (guix-system): Likewise.
* doc/guix.texi (The Store Monad): Adjust module names accordingly.
doc: Move 'text-file*' to the gexp section.
This is a follow-up to commit 462a3fa.
* doc/guix.texi (The Store Monad): Move 'text-file*'...
(G-Expressions): ... to here.
gnu: Add zerofree.
* gnu/packages/linux.scm (zerofree): New variable.
gnu: e2fsprogs: Install libext2fs.
* gnu/packages/linux.scm (e2fsprogs)[source]: Add 'snippet'.
[arguments]: Add --enable-elf-shlibs to #:configure-flags.
Add #:make-flags.
gnu: Add GLEW.
* gnu/packages/gl.scm (glew): New variable.
services: user-processes: Really honor the grace delay.
* gnu/services/base.scm (user-processes-service): Change #:grace-delay
default value to 4. Define 'sleep*' and use it.
system: Add iw to '%base-packages'.
* gnu/system.scm (%base-packages): Add IW.
gnu: wireless-tools: Describe it as deprecated.
* gnu/packages/linux.scm (wireless-tools)[description]: Explain that it
is deprecated in favor of 'iw'.
gnu: guix: Update snapshot.
* gnu/packages/package-management.scm (guix-devel): Update snapshot.
Remove now-unneeded sub-module stuff in the 'bootstrap' phase.
gnu: Add QPDF.
* gnu/packages/pdf.scm (qpdf): New variable.
tests: Properly synchronize threads in the 'home-page' lint tests.
* tests/lint.scm (%http-server-lock, %http-server-ready): New
variables.
(http-open): New procedure.
(stub-http-server): Use it.
(call-with-http-server): Wrap body in 'with-mutex'. Call
'wait-condition-variable' after 'make-thread'.
doc: Change some occurrences of "the GNU system" to "Guixotic".
* doc/guix.texi (GNU Distribution): Explain what "Guixotic" is.
(System Installation): Replace "the GNU system" by "Guixotic".
(System Configuration): Likewise.
(Invoking guix system): Likewise.
build/glib-or-gtk-build-system: Fix 'generate-icon-cache'.
Reported by Mark H Weaver <mhw@netris.org>
* guix/build/glib-or-gtk-build-system.scm (generate-icon-cache): Add check for
existence of icons directory.
gnu: Add iw.
* gnu/packages/linux.scm (iw): New variable.
gnu: libnl: Update to 3.2.25.
* gnu/packages/linux.scm (libnl): Update to 3.2.25.
monads: Remove 'derivation-expression'.
* guix/monads.scm (lower-inputs, derivation-expression): Remove.
* tests/monads.scm (derivation-expression, "mlet* +
derivation-expression"): Remove.
monads: Rewrite 'text-file*' using gexps.
* guix/monads.scm (text-file*): Move to...
* guix/gexp.scm (text-file*): ... here. Rewrite using gexps.
* tests/monads.scm ("text-file*"): Move to...
* tests/gexp.scm ("text-file*"): ... here.