[PATCH] refresh: Add '--installed' option.

DoneSubmitted by Xinglu Chen.
Details
4 participants
  • Léo Le Bouter
  • Ludovic Courtès
  • Xinglu Chen
  • zimoun
Owner
unassigned
Severity
normal
X
X
Xinglu Chen wrote on 15 Mar 2021 16:45
(address . guix-patches@gnu.org)
bbf925b124979bf1203f3619d06dc51948b0f81e.1615822877.git.public@yoctocell.xyz
This lets the user to only check for updates for packages installed in the
current profile.

If the user is using the imperative way to install packages, or uses
multiple manifests, this is a quick way to check for updates for the
installed packages.

* guix/scripts/refresh.scm (%options): Add '--installed' option.
* guix.texi (Invoking guix refresh): Document it.
---
doc/guix.texi | 5 +++++
guix/scripts/refresh.scm | 14 +++++++++++++-
2 files changed, 18 insertions(+), 1 deletion(-)

Toggle diff (59 lines)
diff --git a/doc/guix.texi b/doc/guix.texi
index 3e7ffc81bc..c778a877d8 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -11657,6 +11657,11 @@
 Select all the packages from the manifest in @var{file}.  This is useful to
 check if any packages of the user manifest can be updated.
 
+@item --installed
+@itemx -i
+Select all the packages installed in the current profile.  This is
+useful to check if any of the packages the user is using can be updated.
+
 @item --type=@var{updater}
 @itemx -t @var{updater}
 Select only packages handled by @var{updater} (may be a comma-separated
diff --git a/guix/scripts/refresh.scm b/guix/scripts/refresh.scm
index fb6c52a567..c1c672dc0b 100644
--- a/guix/scripts/refresh.scm
+++ b/guix/scripts/refresh.scm
@@ -86,6 +86,9 @@
         (option '(#\m "manifest") #t #f
                 (lambda (opt name arg result)
                   (alist-cons 'manifest arg result)))
+        (option '(#\i "installed") #f #f
+                (lambda (opt name arg result)
+                  (alist-cons 'installed #t result)))
         (option '(#\e "expression") #t #f
                 (lambda (opt name arg result)
                   (alist-cons 'expression arg result)))
@@ -156,6 +159,9 @@ specified with `--select'.\n"))
   (display (G_ "
   -m, --manifest=FILE    select all the packages from the manifest in FILE"))
   (display (G_ "
+  -i  --installed        select all the packages installed in the current
+                         profile"))
+  (display (G_ "
   -t, --type=UPDATER,... restrict to updates from the specified updaters
                          (e.g., 'gnu')"))
   (display (G_ "
@@ -253,7 +259,13 @@ update would trigger a complete rebuild."
 
   (define packages
     (match (assoc-ref opts 'manifest)
-      (#f args-packages)
+      (#f (if (assoc-ref opts 'installed)
+              ;; All packages installed in current profile
+              (manifest->packages
+               (match (manifest->code (profile-manifest %current-profile))
+                 (('begin expr) (eval expr
+                                      (make-user-module '((gnu packages)))))))
+              args-packages))
       ((? string? file) (packages-from-manifest file))))
 
   (if (assoc-ref opts 'recursive?)

base-commit: 266d55dc3080475544bf45e72359c9b9bbcecd53
-- 
2.30.2
L
L
Ludovic Courtès wrote on 15 Mar 2021 21:38
(name . Xinglu Chen)(address . public@yoctocell.xyz)(address . 47163@debbugs.gnu.org)
87v99sb1aa.fsf@gnu.org
Hi,

Xinglu Chen <public@yoctocell.xyz> skribis:

Toggle quote (10 lines)
> This lets the user to only check for updates for packages installed in the
> current profile.
>
> If the user is using the imperative way to install packages, or uses
> multiple manifests, this is a quick way to check for updates for the
> installed packages.
>
> * guix/scripts/refresh.scm (%options): Add '--installed' option.
> * guix.texi (Invoking guix refresh): Document it.

I sometimes run:

guix refresh $(guix package -I | cut -f1)

I’m not sure an extra ‘guix refresh’ option is warranted. WDYT?

Thanks,
Ludo’.
X
X
Xinglu Chen wrote on 15 Mar 2021 22:14
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 47163@debbugs.gnu.org)
87mtv4azmi.fsf@yoctocell.xyz
On Mon, Mar 15 2021, Ludovic Courtès wrote:

Toggle quote (20 lines)
> Hi,
>
> Xinglu Chen <public@yoctocell.xyz> skribis:
>
>> This lets the user to only check for updates for packages installed in the
>> current profile.
>>
>> If the user is using the imperative way to install packages, or uses
>> multiple manifests, this is a quick way to check for updates for the
>> installed packages.
>>
>> * guix/scripts/refresh.scm (%options): Add '--installed' option.
>> * guix.texi (Invoking guix refresh): Document it.
>
> I sometimes run:
>
> guix refresh $(guix package -I | cut -f1)
>
> I’m not sure an extra ‘guix refresh’ option is warranted. WDYT?

That's cool, I think your solution would suffice. Maybe we could add it
to the manual or cookbok?
L
L
Ludovic Courtès wrote on 16 Mar 2021 10:08
(name . Xinglu Chen)(address . public@yoctocell.xyz)(address . 47163@debbugs.gnu.org)
87tupb8nzs.fsf@gnu.org
Hi,

Xinglu Chen <public@yoctocell.xyz> skribis:

Toggle quote (25 lines)
> On Mon, Mar 15 2021, Ludovic Courtès wrote:
>
>> Hi,
>>
>> Xinglu Chen <public@yoctocell.xyz> skribis:
>>
>>> This lets the user to only check for updates for packages installed in the
>>> current profile.
>>>
>>> If the user is using the imperative way to install packages, or uses
>>> multiple manifests, this is a quick way to check for updates for the
>>> installed packages.
>>>
>>> * guix/scripts/refresh.scm (%options): Add '--installed' option.
>>> * guix.texi (Invoking guix refresh): Document it.
>>
>> I sometimes run:
>>
>> guix refresh $(guix package -I | cut -f1)
>>
>> I’m not sure an extra ‘guix refresh’ option is warranted. WDYT?
>
> That's cool, I think your solution would suffice. Maybe we could add it
> to the manual or cookbok?

That’s a good idea. Do you want to propose a short section on this?

You may also like the new ‘--with-latest’ package transformation
option. :-)

Thanks,
Ludo’.
L
L
Léo Le Bouter wrote on 16 Mar 2021 10:16
Re: [bug#47163] [PATCH] refresh: Add '--installed' option.
(address . 47163@debbugs.gnu.org)
c239688b3e196a31a1576cd7e6b764f19b2cfb40.camel@zaclys.net
On Tue, 2021-03-16 at 10:08 +0100, Ludovic Courtès wrote:
Toggle quote (42 lines)
> Hi,
>
> Xinglu Chen <public@yoctocell.xyz> skribis:
>
> > On Mon, Mar 15 2021, Ludovic Courtès wrote:
> >
> > > Hi,
> > >
> > > Xinglu Chen <public@yoctocell.xyz> skribis:
> > >
> > > > This lets the user to only check for updates for packages
> > > > installed in the
> > > > current profile.
> > > >
> > > > If the user is using the imperative way to install packages, or
> > > > uses
> > > > multiple manifests, this is a quick way to check for updates
> > > > for the
> > > > installed packages.
> > > >
> > > > * guix/scripts/refresh.scm (%options): Add '--installed'
> > > > option.
> > > > * guix.texi (Invoking guix refresh): Document it.
> > >
> > > I sometimes run:
> > >
> > > guix refresh $(guix package -I | cut -f1)
> > >
> > > I’m not sure an extra ‘guix refresh’ option is warranted. WDYT?
> >
> > That's cool, I think your solution would suffice. Maybe we could
> > add it
> > to the manual or cookbok?
>
> That’s a good idea. Do you want to propose a short section on this?
>
> You may also like the new ‘--with-latest’ package transformation
> option. :-)
>
> Thanks,
> Ludo’.

I would also really like such option for 'lint' and 'refresh' that can
take an operating-system definition so I can ensure a certain set of
packages are up to some standards and help me focus my efforts on my or
some fellow's configuration (especially w.r.t. security), rather than
randomly trying to maintain *everything* in the GNU Guix repo which is
quite exhausting and large work to take on. Starting from a place of
actual need for myself and some fellow's configurations looks like a
more achieveable goal mid-term.
-----BEGIN PGP SIGNATURE-----

iQIzBAABCgAdFiEEFIvLi9gL+xax3g6RRaix6GvNEKYFAmBQd2UACgkQRaix6GvN
EKYsgQ//UBH4UYAcPRHBg6e+S0gmeRn4CJPciigqaON2sb0BQg7+sk2WmOSmFrVo
Ojzu0/4GLlp1v7K6+bpmBtlLNbwdEYPP8rVCUKs5dPiQJZ+zja4qc7LOTm8y9rfq
JJtSk4m7uFhyIW9jSnZ+mNv0oJgnCG6guC+9yKTenYFMuU/AKu9bYB61pmRHvNxn
CPzpSwszGhDhyAoCNGQgB0TJ4nRZfA6eB5w2UNHSCt9KAClYAhOkEYq43+aHayDG
ii16gbMc+/rB1SuvwrHIOcCmNK6QSiQVL5Kflyixcw+qfPzw+kpftmatfzD5w8N2
ttxRWfLQ8rGSzYusggrhaZhge3GmgQdPLbWhyV1BwFAvd8unW+8rrVnhMsmaAzri
cfkJRD6wdjDpCgD9jpxF2E7w8mv3Dat8xJ/+UxKLwFfsPRX1fYEu7FrTs+cvZZuY
lrAtBeJwhcM/5U3H97ku9pjZU3Yrp+ZwijLUnV7PeUdbhHrGU5+vbG3noJ9dhwiZ
EoaLlgLK0zBg+8QHv0xNn85FMyDFzuRCAbg571qSa95Hgx7faGsu2+OF3DS0K13L
qXEOGXP9/iqolMSNyjtpR/6gMznEP2zfMFcoBkLxv/wXIqD6Kurpd2A3wHVzBybE
60a5oMgH4JOx9N0gDkLDo4YXkPzDLw/tzMA6rVl0sKN2vaR2n1o=
=6UZa
-----END PGP SIGNATURE-----


Z
Z
zimoun wrote on 16 Mar 2021 13:58
(name . Léo Le Bouter)(address . lle-bout@zaclys.net)
CAJ3okZ0JazBeC7kpK24tvh6FBCG6X3P44ZqQ3=BWVobUF=7u0Q@mail.gmail.com
Hi Léo,

On Tue, 16 Mar 2021 at 10:18, Léo Le Bouter via Guix-patches via
<guix-patches@gnu.org> wrote:
Toggle quote (9 lines)
> I would also really like such option for 'lint' and 'refresh' that can
> take an operating-system definition so I can ensure a certain set of
> packages are up to some standards and help me focus my efforts on my or
> some fellow's configuration (especially w.r.t. security), rather than
> randomly trying to maintain *everything* in the GNU Guix repo which is
> quite exhausting and large work to take on. Starting from a place of
> actual need for myself and some fellow's configurations looks like a
> more achieveable goal mid-term.

Adding the manifest option to "guix lint", is it not enough? I do not
know how many packages you have in your operating-system definition
but from my understanding your user-wide packages should be in
manifest.scm files, and you could also maintain a manifest.scm file
for your packages system-wide. Anyway.

Here an example with an hard-coded path, saved in /tmp/manifest-from-os.scm:

Toggle snippet (12 lines)
(use-modules
(gnu system)
(guix profiles))

(define os
(load "/home/simon/src/guix/guix/gnu/system/examples/bare-bones.tmpl"))

(define pkgs (operating-system-packages os))

(packages->manifest pkgs)

Then "guix refresh -m /tmp/manifest-from-os.scm" should do the job.
Well, it is an example, the point is simply to show that an option is
not necessary, IMHO. However, a robust script could be in etc/ with
some other tools and with a line in the manual. Maybe. :-)
It seems better to keep separated what operates on packages and what
operates on system.


Cheers,
simon
L
L
Léo Le Bouter wrote on 16 Mar 2021 14:10
(name . zimoun)(address . zimon.toutoune@gmail.com)
c44dd89055dee349c4ddff43c5d29f6ad23588d1.camel@zaclys.net
On Tue, 2021-03-16 at 13:58 +0100, zimoun wrote:
Toggle quote (35 lines)
> Adding the manifest option to "guix lint", is it not enough? I do
> not
> know how many packages you have in your operating-system definition
> but from my understanding your user-wide packages should be in
> manifest.scm files, and you could also maintain a manifest.scm file
> for your packages system-wide. Anyway.
>
> Here an example with an hard-coded path, saved in /tmp/manifest-from-
> os.scm:
>
> --8<---------------cut here---------------start------------->8---
> (use-modules
> (gnu system)
> (guix profiles))
>
> (define os
> (load "/home/simon/src/guix/guix/gnu/system/examples/bare-
> bones.tmpl"))
>
> (define pkgs (operating-system-packages os))
>
> (packages->manifest pkgs)
> --8<---------------cut here---------------end--------------->8---
>
> Then "guix refresh -m /tmp/manifest-from-os.scm" should do the job.
> Well, it is an example, the point is simply to show that an option is
> not necessary, IMHO. However, a robust script could be in etc/ with
> some other tools and with a line in the manual. Maybe. :-)
> It seems better to keep separated what operates on packages and what
> operates on system.
>
>
> Cheers,
> simon

You are right that looks great!
-----BEGIN PGP SIGNATURE-----

iQIzBAABCgAdFiEEFIvLi9gL+xax3g6RRaix6GvNEKYFAmBQrlcACgkQRaix6GvN
EKZcUg/9G1Mx5zJe3v9bMjTieDBMLp40S/5+KF+EKPNXT8p09Oznw1q2kz3t514B
9RLDvxGiXQ433IwMRcPw6rkQ+4GiPTf3j74EAyCKo1n/CHB3/1yCM5uDdWEoVwx2
iXGg0UhZH0i/Hpmq00QtUM6xVoUjtVvRO/TNQmqcxlaSNJNUBsh8zKtqgWNQx1AB
7CDsi3XiktOYbxrIyxXT7M1H9ZGgSPapIGEkKCp9pYb3N8Kh9ELVDzdaWBHfQLP2
IE5vGo2Te6hWM8FLOtVc1FXP/33ld5BnDXkMAC8l+aosIdcLaQTUODCIGbrxzkP2
I1r8MP1C0lOPdllpPITzkl8OjhXxJJ+OH0Xg7YxTELPmHXv+N7cmC5Grav1wVddS
wLcdtwBnybu+dREYWf3QeZZr5UUlVpMbQ8+T43QBrlqh2OLx28Yff7J7BL7SMJcx
+R/dPon5eQqo/zhOI01e774fl+v4V18ccK1KZ51XNGJwiAOQ7F0deSQQt8lvRgd2
kbNO/nVSY0NpgkCQ1Z/5bFodEDoIPNfQTkWnMBFN7KmrY4c0/vhdy/2w8ogKUNbH
uiIKeO3w2dNbhbB66reF5fAknYPjmHtJDbW/4hZ4EDYyjm5Lb3nLA705DjQEqOxK
w5N4TVs56DLjyQ/Ht2FHQnvnSBU+PlZeCZ5SI0N5muF98XooVhg=
=Bw0C
-----END PGP SIGNATURE-----


X
X
Xinglu Chen wrote on 16 Mar 2021 17:05
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 47163@debbugs.gnu.org)
87k0q7t77b.fsf@yoctocell.xyz
On Tue, Mar 16 2021, Ludovic Courtès wrote:

Toggle quote (11 lines)
>>> I sometimes run:
>>>
>>> guix refresh $(guix package -I | cut -f1)
>>>
>>> I’m not sure an extra ‘guix refresh’ option is warranted. WDYT?
>>
>> That's cool, I think your solution would suffice. Maybe we could add it
>> to the manual or cookbok?
>
> That’s a good idea. Do you want to propose a short section on this?

Sure, I will send a followup patch to this.
X
X
Xinglu Chen wrote on 16 Mar 2021 17:19
[PATCH] doc: Add snippet for running 'guix refresh' on installed packages
(address . 47163@debbugs.gnu.org)(name . Ludovic Courtès)(address . ludo@gnu.org)
1b75951ffc583006980d809718e5cdc4fd1c3d37.1615911469.git.public@yoctocell.xyz
* doc/guix.texi (Invoking guix refresh): Add snippet that runs 'guix refresh'
on all the packages installed in the current profile.
---
doc/guix.texi | 10 ++++++++++
1 file changed, 10 insertions(+)

Toggle diff (25 lines)
diff --git a/doc/guix.texi b/doc/guix.texi
index 3e7ffc81bc..752dce9072 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -11722,6 +11722,16 @@
 @code{idutils} packages.  The @option{--select} option would have no
 effect in this case.
 
+You can also quickly update all the packages installed in the current
+profile with the following snippet:
+
+@example
+$ guix refresh -u $(guix package --list-installed | cut -f1)
+@end example
+
+This is handy if you don't use manifests for installing packages into
+your profile.
+
 When considering whether to upgrade a package, it is sometimes
 convenient to know which packages would be affected by the upgrade and
 should be checked for compatibility.  For this the following option may

base-commit: 266d55dc3080475544bf45e72359c9b9bbcecd53
-- 
2.30.2
X
X
Xinglu Chen wrote on 16 Mar 2021 17:44
Using package transformations declaratively (was: [bug#47163] [PATCH] refresh: Add '--installed' option.)
(name . Ludovic Courtès)(address . ludo@gnu.org)
87blbjt5es.fsf@yoctocell.xyz
On Tue, Mar 16 2021, Ludovic Courtès wrote:

Toggle quote (3 lines)
> You may also like the new ‘--with-latest’ package transformation
> option. :-)

I really like package transformations but is there a way to use specify
them with Guile so I can use them with `guix home`[1] or in manifests?

Ccing guix-devel

Z
Z
zimoun wrote on 16 Mar 2021 18:23
(name . Xinglu Chen)(address . public@yoctocell.xyz)
CAJ3okZ1OWCT07n17Wo0c_Par3gO1mEE6_Y_Zy=eFnTJZ5Ec2sw@mail.gmail.com
Hi,

On Tue, 16 Mar 2021 at 17:46, Xinglu Chen <public@yoctocell.xyz> wrote:
Toggle quote (8 lines)
> On Tue, Mar 16 2021, Ludovic Courtès wrote:
>
> > You may also like the new ‘--with-latest’ package transformation
> > option. :-)
>
> I really like package transformations but is there a way to use specify
> them with Guile so I can use them with `guix home`[1] or in manifests?

There is several ways to have package transformations at the manifest
level. One is:

Toggle snippet (11 lines)
(use-modules (guix transformations))

(define transform1
(options->transformation
'((with-c-toolchain . "hello=gcc-toolchain@8"))))

(packages->manifest
(list (transform1 (specification->package "hello"))))


HTH,
simon
L
L
Ludovic Courtès wrote on 16 Mar 2021 19:06
Re: [PATCH] doc: Add snippet for running 'guix refresh' on installed packages
(name . Xinglu Chen)(address . public@yoctocell.xyz)(address . 47163@debbugs.gnu.org)
877dm77z38.fsf@gnu.org
Hi,

Xinglu Chen <public@yoctocell.xyz> skribis:

Toggle quote (3 lines)
> * doc/guix.texi (Invoking guix refresh): Add snippet that runs 'guix refresh'
> on all the packages installed in the current profile.

[...]

Toggle quote (10 lines)
> +You can also quickly update all the packages installed in the current
> +profile with the following snippet:
> +
> +@example
> +$ guix refresh -u $(guix package --list-installed | cut -f1)
> +@end example
> +
> +This is handy if you don't use manifests for installing packages into
> +your profile.

Note that if you type this literally, it fails along these lines:

Toggle snippet (20 lines)
$ guix refresh -u grep

Starting download of /tmp/guix-file.yLXS45
From https://ftpmirror.gnu.org/gnu/grep/grep-3.6.tar.xz...
following redirection to `https://gnu.mirror.constant.com/grep/grep-3.6.tar.xz'...
…6.tar.xz 1.5MiB 2.3MiB/s 00:01 [##################] 100.0%

Starting download of /tmp/guix-file.NgvvW4
From https://ftpmirror.gnu.org/gnu/grep/grep-3.6.tar.xz.sig...
following redirection to `https://mirrors.ocf.berkeley.edu/gnu/grep/grep-3.6.tar.xz.sig'...
…tar.xz.sig 833B 1.8MiB/s 00:00 [##################] 100.0%
gpgv: Signature made Mon 09 Nov 2020 05:40:03 AM CET
gpgv: using RSA key 155D3FC500C834486D1EEA677FD9FCCB000BEEEE
gpgv: Good signature from "Jim Meyering <jim@meyering.net>"
gpgv: aka "Jim Meyering <meyering@fb.com>"
gpgv: aka "Jim Meyering <meyering@gnu.org>"
gnu/packages/base.scm:99:12: grep: updating from version 3.4 to version 3.6...
guix refresh: error: mkstemp!: Read-only file system

So I think this example may be misleading. We could instead suggest
./pre-inst-env, with a link to “Running Guix Before It Is Installed”,
and possibly mention the ‘--with-latest’ option as well.

WDYT?

Thanks,
Ludo’.
X
X
Xinglu Chen wrote on 16 Mar 2021 19:34
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 47163@debbugs.gnu.org)
87h7lbrlr9.fsf@yoctocell.xyz
On Tue, Mar 16 2021, Ludovic Courtès wrote:

Toggle quote (44 lines)
>> * doc/guix.texi (Invoking guix refresh): Add snippet that runs 'guix refresh'
>> on all the packages installed in the current profile.
>
> [...]
>
>> +You can also quickly update all the packages installed in the current
>> +profile with the following snippet:
>> +
>> +@example
>> +$ guix refresh -u $(guix package --list-installed | cut -f1)
>> +@end example
>> +
>> +This is handy if you don't use manifests for installing packages into
>> +your profile.
>
> Note that if you type this literally, it fails along these lines:
>
> --8<---------------cut here---------------start------------->8---
> $ guix refresh -u grep
>
> Starting download of /tmp/guix-file.yLXS45
> From https://ftpmirror.gnu.org/gnu/grep/grep-3.6.tar.xz...
> following redirection to `https://gnu.mirror.constant.com/grep/grep-3.6.tar.xz'...
> …6.tar.xz 1.5MiB 2.3MiB/s 00:01 [##################] 100.0%
>
> Starting download of /tmp/guix-file.NgvvW4
> From https://ftpmirror.gnu.org/gnu/grep/grep-3.6.tar.xz.sig...
> following redirection to `https://mirrors.ocf.berkeley.edu/gnu/grep/grep-3.6.tar.xz.sig'...
> …tar.xz.sig 833B 1.8MiB/s 00:00 [##################] 100.0%
> gpgv: Signature made Mon 09 Nov 2020 05:40:03 AM CET
> gpgv: using RSA key 155D3FC500C834486D1EEA677FD9FCCB000BEEEE
> gpgv: Good signature from "Jim Meyering <jim@meyering.net>"
> gpgv: aka "Jim Meyering <meyering@fb.com>"
> gpgv: aka "Jim Meyering <meyering@gnu.org>"
> gnu/packages/base.scm:99:12: grep: updating from version 3.4 to version 3.6...
> guix refresh: error: mkstemp!: Read-only file system
> --8<---------------cut here---------------end--------------->8---
>
> So I think this example may be misleading. We could instead suggest
> ./pre-inst-env, with a link to “Running Guix Before It Is Installed”,
> and possibly mention the ‘--with-latest’ option as well.
>
> WDYT?

Sorry, I should have tested the command... When you say "--with-latest",
do you mean `guix package -i grep --with-latest`?
X
X
Xinglu Chen wrote on 16 Mar 2021 19:35
Re: [bug#47163] Using package transformations declaratively (was: [bug#47163] [PATCH] refresh: Add '--installed' option.)
(name . zimoun)(address . zimon.toutoune@gmail.com)
87eegfrloi.fsf@yoctocell.xyz
On Tue, Mar 16 2021, zimoun wrote:

Toggle quote (17 lines)
>> I really like package transformations but is there a way to use specify
>> them with Guile so I can use them with `guix home`[1] or in manifests?
>
> There is several ways to have package transformations at the manifest
> level. One is:
>
> --8<---------------cut here---------------start------------->8---
> (use-modules (guix transformations))
>
> (define transform1
> (options->transformation
> '((with-c-toolchain . "hello=gcc-toolchain@8"))))
>
> (packages->manifest
> (list (transform1 (specification->package "hello"))))
> --8<---------------cut here---------------end--------------->8---

Cool, thanks for the help.
L
L
Ludovic Courtès wrote on 17 Mar 2021 18:17
Re: [bug#47163] Using package transformations declaratively
(name . zimoun)(address . zimon.toutoune@gmail.com)
87a6r13dk7.fsf@gnu.org
Hi,

zimoun <zimon.toutoune@gmail.com> skribis:

Toggle quote (12 lines)
> There is several ways to have package transformations at the manifest
> level. One is:
>
> (use-modules (guix transformations))
>
> (define transform1
> (options->transformation
> '((with-c-toolchain . "hello=gcc-toolchain@8"))))
>
> (packages->manifest
> (list (transform1 (specification->package "hello"))))

On this topic, do not miss this section of the fine manual:
:-)

Ludo’.
L
L
Ludovic Courtès wrote on 18 Mar 2021 10:31
Re: [PATCH] doc: Add snippet for running 'guix refresh' on installed packages
(name . Xinglu Chen)(address . public@yoctocell.xyz)(address . 47163@debbugs.gnu.org)
871rccx0yj.fsf@gnu.org
Xinglu Chen <public@yoctocell.xyz> skribis:

Toggle quote (2 lines)
> On Tue, Mar 16 2021, Ludovic Courtès wrote:

[...]

Toggle quote (9 lines)
>> So I think this example may be misleading. We could instead suggest
>> ./pre-inst-env, with a link to “Running Guix Before It Is Installed”,
>> and possibly mention the ‘--with-latest’ option as well.
>>
>> WDYT?
>
> Sorry, I should have tested the command... When you say "--with-latest",
> do you mean `guix package -i grep --with-latest`?

Yes, see the “Package Transformation Options” section of the manual.

Ludo’.
X
X
Xinglu Chen wrote on 26 Mar 2021 18:18
Re: [bug#47163] [PATCH] refresh: Add '--installed' option.
(address . 47163-done@debbugs.gnu.org)
87eeg1omto.fsf@yoctocell.xyz
The v2 patch has been applied. Closing.
Closed
L
L
Ludovic Courtès wrote on 27 Mar 2021 11:57
control message for bug #47163
(address . control@debbugs.gnu.org)
87wntszwwg.fsf@gnu.org
tags 47163 wontfix
close 47163
quit
?
Your comment

This issue is archived.

To comment on this conversation send email to 47163@debbugs.gnu.org