gds/gnu-guix/guix/scripts/environment.scm, branch release_27 This repository contains snapshots of GNU Guix, to be used by the govuk-guix project. http://git.cbaines.net/gds/gnu-guix/atom?h=release_27 2018-09-27T21:21:53Z Add (guix status) and use it for pretty colored output. 2018-09-27T21:21:53Z Ludovic Courtès ludo@gnu.org 2017-01-18T22:21:29Z urn:sha1:dc0f74e5fc26977a3ee6c4f2aa74a141f4359982 * guix/progress.scm (progress-reporter/trace): New procedure. (%progress-interval): New variable. (progress-reporter/file): Use it. * guix/scripts/build.scm (set-build-options-from-command-line): Pass #:print-extended-build-trace?. (%default-options): Add 'print-extended-build-trace?'. (guix-build): Parameterize CURRENT-TERMINAL-COLUMNS. Use 'build-status-updater'. * guix/scripts/environment.scm (%default-options): Add 'print-extended-build-trace?'. (guix-environment): Wrap body in 'with-status-report'. * guix/scripts/pack.scm (%default-options): Add 'print-build-trace?' and 'print-extended-build-trace?'. (guix-pack): Wrap body in 'with-status-report'. * guix/scripts/package.scm (%default-options, guix-package): Likewise. * guix/scripts/system.scm (%default-options, guix-system): Likewise. * guix/scripts/pull.scm (%default-options, guix-pull): Likewise. * guix/scripts/substitute.scm (progress-report-port): Don't call STOP when TOTAL is zero. (process-substitution): Add #:print-build-trace? and honor it. (guix-substitute)[print-build-trace?]: New variable. Pass #:print-build-trace? to 'process-substitution'. * guix/status.scm: New file. * guix/store.scm (set-build-options): Add #:print-extended-build-trace?; pass it into PAIRS. (%protocol-version): Bump. (protocol-version, nix-server-version): New procedures. (current-store-protocol-version): New variable. (with-store, build-things): Parameterize it. * guix/ui.scm (build-output-port): Remove. (colorize-string): Export. * po/guix/POTFILES.in: Add guix/status.scm. * tests/status.scm: New file. * Makefile.am (SCM_TESTS): Add it. * nix/libstore/worker-protocol.hh (PROTOCOL_VERSION): Bump to 0x162. * nix/libstore/build.cc (DerivationGoal::registerOutputs) (SubstitutionGoal::finished): Print a "@ hash-mismatch" trace before throwing. profiles: Introduce 'profile-search-paths' and use it. 2018-07-10T22:52:36Z Ludovic Courtès ludo@gnu.org 2018-07-09T11:22:29Z urn:sha1:78d55b703d155d36520e1c93dc08a6502c56bd55 * guix/profiles.scm (profile-search-paths): New procedure. * guix/scripts/environment.scm (evaluate-search-paths): Remove. (create-environment): Replace 'paths' with 'manifest'. Use 'profile-search-paths' instead of 'evaluate-search-paths'. (show-search-paths): Likewise. (launch-environment): Replace 'paths' with 'manifest'. Make 'pure?' a keyword parameter. (launch-environment/fork, launch-environment/container): Likewise. (guix-environment): Remove 'paths' variable. Adjust callers of the above procedures accordingly. environment: Simplify code by using manifests internally. 2018-07-10T22:52:36Z Ludovic Courtès ludo@gnu.org 2018-07-09T11:00:46Z urn:sha1:10f0a40c16bb572ab7b45f32e39b7761e519ba32 * guix/scripts/environment.scm (strip-input-name) (package+propagated-inputs, package-or-package+output?) (compact): Remove. (inputs->profile-derivation): Rename to... (manifest->derivation): ... this. Replace 'inputs' parameter with 'manifest'. (input->manifest-entry): New procedure. (package-environment-inputs): Rewrite to return a list of manifest entries. (options/resolve-packages): Rewrite to return a manifest. (guix-environment): Remove 'inputs'. Define 'paths' in terms of 'manifest-search-paths'. guix environment: load manifest files like "guix package" does 2018-03-27T21:26:15Z Konrad Hinsen konrad.hinsen@fastmail.net 2018-03-26T14:29:24Z urn:sha1:6fcb90eebd5e21a042ed9746fcbaa2040706ea71 * guix/scripts/environment.scm (options/resolve-packages): When loading manifest files, use the same module environment as in "guix package". Signed-off-by: Ludovic Courtès <ludovic.courtes@inria.fr> environment: Add --user. 2018-03-02T10:55:43Z Mike Gerwitz mtg@gnu.org 2018-01-26T03:29:32Z urn:sha1:e37944d8270cdca5729e3583136c4fe9d487779c This change allows overriding the home directory of all filesystem mappings to help hide the identity of the calling user in a container. * doc/guix.texi (Invoking guix environment)[--container]: Mention --user. [--user]: Add item. * guix/scripts/environment.scm (show-help): Add --user. (%options): Add --user. (launch-environment/container) Add 'user' parameter. Update doc. Override 'user-mappings' using 'override-user-mappings'. Consider override for chdir. (mock-passwd, user-override-home, overrid-euser-dir): New procedures. (guix-environment): Disallow --user without --container. Provide user to 'launch-environment/container'. * tests/guix-environment.sh: Add user test. Signed-off-by: Ludovic Courtès <ludo@gnu.org> environment: Add --link-profile. 2018-03-02T10:55:42Z Mike Gerwitz mtg@gnu.org 2018-01-26T03:29:15Z urn:sha1:07ec349229eeae9f733fe92a300c7cfa4cf8e321 This change is motivated by attempts to run programs (like GNU IceCat) within containers. The 'fontconfig' program, for example, is configured explicitly to check ~/.guix-profile for additional fonts. There were no existing container tests in 'tests/guix-environment.sh', but I added one anyway for this change. * doc/guix.texi (Invoking guix environment): Add '--link-profile'. * guix/scripts/environment.scm (show-help): Add '--link-profile'. (%options): Add 'link-profile' as '#\P', assigned to 'link-profile?'. (link-environment): New procedure. (launch-environment/container): Use it when 'link-profile?'. [link-profile?]: New parameter. (guix-environment): Leave when '--link-prof' but not '--container'. Add '#:link-profile?' argument to 'launch-environment/container' application. * tests/guix-environment-container.sh: New '--link-profile' test. Signed-off-by: Ludovic Courtès <ludo@gnu.org> environment: Add --manifest option. 2018-02-22T03:16:38Z David Thompson dthompson2@worcester.edu 2018-02-16T01:54:28Z urn:sha1:267379f852f9d6d00c76120963711d54357ba53d * guix/scripts/environment.scm (show-help, %options): Add -m/--manifest. (options/resolve-packages): Handle manifests. * tests/guix-envronment.sh: Add a test. * doc/guix.texi (Invoking guix environment): Document it. scripts: All commands enable build hooks by default. 2017-12-07T22:12:37Z Ludovic Courtès ludo@gnu.org 2017-12-07T21:49:08Z urn:sha1:7920e187c121977716d3399f5780553ba138f9b3 * guix/scripts/archive.scm (%default-options): Add 'build-hook?'. * guix/scripts/copy.scm (%default-options): Likewise. * guix/scripts/environment.scm (%default-options): Likewise. * guix/scripts/pack.scm (%default-options): Likewise. * guix/scripts/package.scm (%default-options): Likewise. * guix/scripts/pull.scm (%default-options): Likewise. scripts: Default to Guile 2.2 as the guile-for-build. 2017-12-03T22:18:53Z Ludovic Courtès ludo@gnu.org 2017-12-03T21:13:33Z urn:sha1:d9721c2096525747c7fbbe008c8100846aefd392 * guix/scripts/environment.scm (guix-environment): '%guile-for-build' now defaults to GUILE-2.2 instead of GUILE-2.0. * guix/scripts/package.scm (guix-package): Likewise. * guix/scripts/pull.scm (guix-pull): Likewise. scripts: Remove 'max-silent-time' from the default options. 2017-09-01T08:29:39Z Maxim Cournoyer maxim.cournoyer@gmail.com 2017-08-31T03:12:12Z urn:sha1:fe55199542590d16aa6ca6a8bfa0fda27903db5c Fixes <http://bugs.gnu.org/27157>. Having a finite default `max-silent-time' value for scripts such as 'guix environment' could lead to timeouts when building subtitutes; this was undesirable. This change also fixes client behavior to match the documentation, which is that by default the daemon's settings are honored. * guix/scripts/archive.scm (%default-options): Remove max-silent-time entry. * guix/scripts/copy.scm (%default-options): Likewise. * guix/scripts/environment.scm (%default-options): Likewise. * guix/scripts/pack.scm (%default-options): Likewise. * guix/scripts/package.scm (%default-options): Likewise. * guix/scripts/pull.scm (%default-options): Likewise. * guix/scripts/system.scm (%default-options): Likewise. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This XML file does not appear to have any style information associated with it. The document tree is shown below.
<feed xmlns="http://www.w3.org/2005/Atom">
<title>gds/gnu-guix/guix/scripts/environment.scm, branch release_27</title>
<subtitle>This repository contains snapshots of GNU Guix, to be used by the govuk-guix project.</subtitle>
<id>http://git.cbaines.net/gds/gnu-guix/atom?h=release_27</id>
<link rel="self" href="http://git.cbaines.net/gds/gnu-guix/atom?h=release_27"/>
<link rel="alternate" type="text/html" href="http://git.cbaines.net/gds/gnu-guix/"/>
<updated>2018-09-27T21:21:53Z</updated>
<entry>
<title>Add (guix status) and use it for pretty colored output.</title>
<updated>2018-09-27T21:21:53Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2017-01-18T22:21:29Z</published>
<link rel="alternate" type="text/html" href="http://git.cbaines.net/gds/gnu-guix/commit/?id=dc0f74e5fc26977a3ee6c4f2aa74a141f4359982"/>
<id>urn:sha1:dc0f74e5fc26977a3ee6c4f2aa74a141f4359982</id>
<content type="text"> * guix/progress.scm (progress-reporter/trace): New procedure. (%progress-interval): New variable. (progress-reporter/file): Use it. * guix/scripts/build.scm (set-build-options-from-command-line): Pass #:print-extended-build-trace?. (%default-options): Add 'print-extended-build-trace?'. (guix-build): Parameterize CURRENT-TERMINAL-COLUMNS. Use 'build-status-updater'. * guix/scripts/environment.scm (%default-options): Add 'print-extended-build-trace?'. (guix-environment): Wrap body in 'with-status-report'. * guix/scripts/pack.scm (%default-options): Add 'print-build-trace?' and 'print-extended-build-trace?'. (guix-pack): Wrap body in 'with-status-report'. * guix/scripts/package.scm (%default-options, guix-package): Likewise. * guix/scripts/system.scm (%default-options, guix-system): Likewise. * guix/scripts/pull.scm (%default-options, guix-pull): Likewise. * guix/scripts/substitute.scm (progress-report-port): Don't call STOP when TOTAL is zero. (process-substitution): Add #:print-build-trace? and honor it. (guix-substitute)[print-build-trace?]: New variable. Pass #:print-build-trace? to 'process-substitution'. * guix/status.scm: New file. * guix/store.scm (set-build-options): Add #:print-extended-build-trace?; pass it into PAIRS. (%protocol-version): Bump. (protocol-version, nix-server-version): New procedures. (current-store-protocol-version): New variable. (with-store, build-things): Parameterize it. * guix/ui.scm (build-output-port): Remove. (colorize-string): Export. * po/guix/POTFILES.in: Add guix/status.scm. * tests/status.scm: New file. * Makefile.am (SCM_TESTS): Add it. * nix/libstore/worker-protocol.hh (PROTOCOL_VERSION): Bump to 0x162. * nix/libstore/build.cc (DerivationGoal::registerOutputs) (SubstitutionGoal::finished): Print a "@ hash-mismatch" trace before throwing. </content>
</entry>
<entry>
<title>profiles: Introduce 'profile-search-paths' and use it.</title>
<updated>2018-07-10T22:52:36Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2018-07-09T11:22:29Z</published>
<link rel="alternate" type="text/html" href="http://git.cbaines.net/gds/gnu-guix/commit/?id=78d55b703d155d36520e1c93dc08a6502c56bd55"/>
<id>urn:sha1:78d55b703d155d36520e1c93dc08a6502c56bd55</id>
<content type="text"> * guix/profiles.scm (profile-search-paths): New procedure. * guix/scripts/environment.scm (evaluate-search-paths): Remove. (create-environment): Replace 'paths' with 'manifest'. Use 'profile-search-paths' instead of 'evaluate-search-paths'. (show-search-paths): Likewise. (launch-environment): Replace 'paths' with 'manifest'. Make 'pure?' a keyword parameter. (launch-environment/fork, launch-environment/container): Likewise. (guix-environment): Remove 'paths' variable. Adjust callers of the above procedures accordingly. </content>
</entry>
<entry>
<title>environment: Simplify code by using manifests internally.</title>
<updated>2018-07-10T22:52:36Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2018-07-09T11:00:46Z</published>
<link rel="alternate" type="text/html" href="http://git.cbaines.net/gds/gnu-guix/commit/?id=10f0a40c16bb572ab7b45f32e39b7761e519ba32"/>
<id>urn:sha1:10f0a40c16bb572ab7b45f32e39b7761e519ba32</id>
<content type="text"> * guix/scripts/environment.scm (strip-input-name) (package+propagated-inputs, package-or-package+output?) (compact): Remove. (inputs->profile-derivation): Rename to... (manifest->derivation): ... this. Replace 'inputs' parameter with 'manifest'. (input->manifest-entry): New procedure. (package-environment-inputs): Rewrite to return a list of manifest entries. (options/resolve-packages): Rewrite to return a manifest. (guix-environment): Remove 'inputs'. Define 'paths' in terms of 'manifest-search-paths'. </content>
</entry>
<entry>
<title>guix environment: load manifest files like "guix package" does</title>
<updated>2018-03-27T21:26:15Z</updated>
<author>
<name>Konrad Hinsen</name>
<email>konrad.hinsen@fastmail.net</email>
</author>
<published>2018-03-26T14:29:24Z</published>
<link rel="alternate" type="text/html" href="http://git.cbaines.net/gds/gnu-guix/commit/?id=6fcb90eebd5e21a042ed9746fcbaa2040706ea71"/>
<id>urn:sha1:6fcb90eebd5e21a042ed9746fcbaa2040706ea71</id>
<content type="text"> * guix/scripts/environment.scm (options/resolve-packages): When loading manifest files, use the same module environment as in "guix package". Signed-off-by: Ludovic Courtès <ludovic.courtes@inria.fr> </content>
</entry>
<entry>
<title>environment: Add --user.</title>
<updated>2018-03-02T10:55:43Z</updated>
<author>
<name>Mike Gerwitz</name>
<email>mtg@gnu.org</email>
</author>
<published>2018-01-26T03:29:32Z</published>
<link rel="alternate" type="text/html" href="http://git.cbaines.net/gds/gnu-guix/commit/?id=e37944d8270cdca5729e3583136c4fe9d487779c"/>
<id>urn:sha1:e37944d8270cdca5729e3583136c4fe9d487779c</id>
<content type="text"> This change allows overriding the home directory of all filesystem mappings to help hide the identity of the calling user in a container. * doc/guix.texi (Invoking guix environment)[--container]: Mention --user. [--user]: Add item. * guix/scripts/environment.scm (show-help): Add --user. (%options): Add --user. (launch-environment/container) Add 'user' parameter. Update doc. Override 'user-mappings' using 'override-user-mappings'. Consider override for chdir. (mock-passwd, user-override-home, overrid-euser-dir): New procedures. (guix-environment): Disallow --user without --container. Provide user to 'launch-environment/container'. * tests/guix-environment.sh: Add user test. Signed-off-by: Ludovic Courtès <ludo@gnu.org> </content>
</entry>
<entry>
<title>environment: Add --link-profile.</title>
<updated>2018-03-02T10:55:42Z</updated>
<author>
<name>Mike Gerwitz</name>
<email>mtg@gnu.org</email>
</author>
<published>2018-01-26T03:29:15Z</published>
<link rel="alternate" type="text/html" href="http://git.cbaines.net/gds/gnu-guix/commit/?id=07ec349229eeae9f733fe92a300c7cfa4cf8e321"/>
<id>urn:sha1:07ec349229eeae9f733fe92a300c7cfa4cf8e321</id>
<content type="text"> This change is motivated by attempts to run programs (like GNU IceCat) within containers. The 'fontconfig' program, for example, is configured explicitly to check ~/.guix-profile for additional fonts. There were no existing container tests in 'tests/guix-environment.sh', but I added one anyway for this change. * doc/guix.texi (Invoking guix environment): Add '--link-profile'. * guix/scripts/environment.scm (show-help): Add '--link-profile'. (%options): Add 'link-profile' as '#\P', assigned to 'link-profile?'. (link-environment): New procedure. (launch-environment/container): Use it when 'link-profile?'. [link-profile?]: New parameter. (guix-environment): Leave when '--link-prof' but not '--container'. Add '#:link-profile?' argument to 'launch-environment/container' application. * tests/guix-environment-container.sh: New '--link-profile' test. Signed-off-by: Ludovic Courtès <ludo@gnu.org> </content>
</entry>
<entry>
<title>environment: Add --manifest option.</title>
<updated>2018-02-22T03:16:38Z</updated>
<author>
<name>David Thompson</name>
<email>dthompson2@worcester.edu</email>
</author>
<published>2018-02-16T01:54:28Z</published>
<link rel="alternate" type="text/html" href="http://git.cbaines.net/gds/gnu-guix/commit/?id=267379f852f9d6d00c76120963711d54357ba53d"/>
<id>urn:sha1:267379f852f9d6d00c76120963711d54357ba53d</id>
<content type="text"> * guix/scripts/environment.scm (show-help, %options): Add -m/--manifest. (options/resolve-packages): Handle manifests. * tests/guix-envronment.sh: Add a test. * doc/guix.texi (Invoking guix environment): Document it. </content>
</entry>
<entry>
<title>scripts: All commands enable build hooks by default.</title>
<updated>2017-12-07T22:12:37Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2017-12-07T21:49:08Z</published>
<link rel="alternate" type="text/html" href="http://git.cbaines.net/gds/gnu-guix/commit/?id=7920e187c121977716d3399f5780553ba138f9b3"/>
<id>urn:sha1:7920e187c121977716d3399f5780553ba138f9b3</id>
<content type="text"> * guix/scripts/archive.scm (%default-options): Add 'build-hook?'. * guix/scripts/copy.scm (%default-options): Likewise. * guix/scripts/environment.scm (%default-options): Likewise. * guix/scripts/pack.scm (%default-options): Likewise. * guix/scripts/package.scm (%default-options): Likewise. * guix/scripts/pull.scm (%default-options): Likewise. </content>
</entry>
<entry>
<title>scripts: Default to Guile 2.2 as the guile-for-build.</title>
<updated>2017-12-03T22:18:53Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2017-12-03T21:13:33Z</published>
<link rel="alternate" type="text/html" href="http://git.cbaines.net/gds/gnu-guix/commit/?id=d9721c2096525747c7fbbe008c8100846aefd392"/>
<id>urn:sha1:d9721c2096525747c7fbbe008c8100846aefd392</id>
<content type="text"> * guix/scripts/environment.scm (guix-environment): '%guile-for-build' now defaults to GUILE-2.2 instead of GUILE-2.0. * guix/scripts/package.scm (guix-package): Likewise. * guix/scripts/pull.scm (guix-pull): Likewise. </content>
</entry>
<entry>
<title>scripts: Remove 'max-silent-time' from the default options.</title>
<updated>2017-09-01T08:29:39Z</updated>
<author>
<name>Maxim Cournoyer</name>
<email>maxim.cournoyer@gmail.com</email>
</author>
<published>2017-08-31T03:12:12Z</published>
<link rel="alternate" type="text/html" href="http://git.cbaines.net/gds/gnu-guix/commit/?id=fe55199542590d16aa6ca6a8bfa0fda27903db5c"/>
<id>urn:sha1:fe55199542590d16aa6ca6a8bfa0fda27903db5c</id>
<content type="text"> Fixes <http://bugs.gnu.org/27157>. Having a finite default `max-silent-time' value for scripts such as 'guix environment' could lead to timeouts when building subtitutes; this was undesirable. This change also fixes client behavior to match the documentation, which is that by default the daemon's settings are honored. * guix/scripts/archive.scm (%default-options): Remove max-silent-time entry. * guix/scripts/copy.scm (%default-options): Likewise. * guix/scripts/environment.scm (%default-options): Likewise. * guix/scripts/pack.scm (%default-options): Likewise. * guix/scripts/package.scm (%default-options): Likewise. * guix/scripts/pull.scm (%default-options): Likewise. * guix/scripts/system.scm (%default-options): Likewise. Signed-off-by: Ludovic Courtès <ludo@gnu.org> </content>
</entry>
</feed>