environment: Add --system. * guix/scripts/environment.scm (show-help, %options): Add -s/--system. (%default-options): Add 'system' pair. (guix-environment): Pass 'system' value from OPTS to 'lower-inputs'. * doc/guix.texi (Invoking guix environment): Document it.
environment: Add only the specified outputs of the dependencies. Before that, 'guix environment guile' (for instance) would define environment variables that would refer to the "include" output of Bash, the "debug" output of libgc, etc., even though these are not listed as inputs in the recipe of 'guile'. * guix/gexp.scm (lower-inputs): Export. * guix/scripts/environment.scm (evaluate-input-search-paths): Remove 'derivations' parameter; add 'search-paths'. Expect 'inputs' to be a list of tuples. Adjust callers. (create-environment): Remove 'derivations' parameter; add 'search-paths'. (show-search-paths): Likewise. (package+propagated-inputs): New procedure. (packages->transitive-inputs, packages+propagated-inputs): Remove. (build-inputs): Expect INPUTS to be a list of derivation tuples. (guix-environment): Compute INPUTS using 'package+propagated-inputs', 'package->bag', and 'bag-transitive-inputs'. Move 'run-with-store' higher. * tests/guix-environment.sh: Add test with FINDUTILS-BOOT0.
tests: Add tests for 'guix environment'. * tests/guix-environment.sh: New file. * Makefile.am (SH_TESTS): Add it.
gnu: powertabeditor: Replace "gcc" with "libiberty". * gnu/packages/music.scm (powertabeditor)[inputs]: Replace "gcc" with "libiberty".
gnu: Add Hydrogen. * gnu/packages/music.scm (hydrogen): New variable.
gnu: linux-libre: Update to 4.1.1. * gnu/packages/linux.scm (linux-libre): Update to 4.1.1.
gnu: git: Add inputs for send-email. * gnu/packages/version-control.scm (package-transitive-propagated-labels*) (package-propagated-input-refs): New procedures. (git)[inputs]: Add perl-authen-sasl, perl-net-smtp-ssl, and perl-io-socket-ssl. [outputs]: Add send-email output. [arguments]: Add #:modules argument with srfi-1. In 'split phase, wrap git-send-email.
gnu: Add perl-authen-sasl. * gnu/packages/web.scm (perl-authen-sasl): New variable.
gnu: Add perl-gssapi. * gnu/packages/web.scm (perl-gssapi): New variable.
gnu: Add perl-net-smtp-ssl. * gnu/packages/web.scm (perl-net-smtp-ssl): New variable.
gnu: curl: Disable test that fails on Hydra. * gnu/packages/curl.scm (arguments): Disable test 1510.
gnu: curl: Update to 7.43.0. * gnu/packages/curl.scm (curl): Update to 7.43.0.
gnu: Add deal.II. * gnu/packages/maths.scm (dealii, dealii-openmpi): New variables. * gnu/packages/patches/dealii-p4est-interface.patch: New patch. * gnu-system.am (dist_patch_DATA): Add it.
gnu: Add SLEPc. * gnu/packages/maths.scm (slepc, slepc-complex, slepc-openmpi) (slepc-complex-openmpi): New variables.
gnu: Add arpack-ng-openmpi. * gnu/packages/maths.scm (arpack-ng-openmpi): New variable.
gnu: petsc: Upgrade to 3.6.0. * gnu/packages/maths.scm (petsc): Upgrade to 3.6.0. * gnu/packages/patches/petsc-fix-threadcomm.patch: Delete patch. * gnu-system.am (dist_patch_DATA): Remove it.
gnu: Add MUMPS. * gnu/packages/maths.scm (mumps, mumps-metis, mumps-openmpi) (mumps-metis-openmpi): New variables. * gnu/packages/patches/mumps-build-parallelism.patch: New patch. * gnu-system.am (dist_patch_DATA): Add it.
gnu: Add METIS. * gnu/packages/maths.scm (metis): New variable.
gnu: Add p4est. * gnu/packages/maths.scm (p4est, p4est-openmpi): New variables.
gnu: Add ScaLAPACK. * gnu/packages/maths.scm (scalapack): New variable.