[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#30480] [PATCH] environment: Add --manifest option.
From: |
Ludovic Courtès |
Subject: |
[bug#30480] [PATCH] environment: Add --manifest option. |
Date: |
Mon, 19 Feb 2018 22:21:37 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) |
Hi David!
"Thompson, David" <address@hidden> skribis:
> In my lurkings I've seen people wondering why `guix environment`
> doesn't work with manifests. The answer is simply: I never thought to
> add it. This patch fixes that. The implementation is kind of
> interesting and might seem a little silly to people that know how
> manifests work. In order to support manifests with minimal code and
> make --manifest compose with other options I simply decompile the
> manifest back into a list of package/output tuples. That means in the
> case of `guix environment --manifest=foo.scm` the manifest is created,
> decompiled, and a new manifest created from that. Seems redundant!
> The advantage is that since --manifest composes with all the other
> ways to specify packages we can do absolutely bonkers things like
> `guix environment guile --ad-hoc ruby --manifest=foo.scm
> --manifest=bar.scm --load=frob.scm --expression='(@ (gnu packages
> python) python)'`. More realistically you'd use it to throw in an
> extra package or two with --ad-hoc.
Indeed, that makes a lot of sense. I wondered about doing that for
‘guix pack’ as well, it turns out to be more shenanigans than we’d like.
> From 47e0cf3bef26791c72222175899790a46c49af45 Mon Sep 17 00:00:00 2001
> From: David Thompson <address@hidden>
> Date: Thu, 15 Feb 2018 20:54:28 -0500
> Subject: [PATCH] environment: Add --manifest option.
>
> * guix/scripts/environment.scm (show-help, %options): Add -m/--manifest.
> (options/resolve-packages): Handle manifests.
> * doc/guix.texi (Invoking guix environment): Document it.
Could you add an example in tests/guix-environment.sh that uses a
manifest with the “guile-bootstrap” package for instance?
OK with this change! :-)
Thank you,
Ludo’.