all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* Checking for substitutes
@ 2018-06-05 11:36 Konrad Hinsen
  2018-06-05 12:42 ` Timothy Sample
  0 siblings, 1 reply; 6+ messages in thread
From: Konrad Hinsen @ 2018-06-05 11:36 UTC (permalink / raw)
  To: help-guix

Hi Guix,

I wonder if there is any way to check if substitutes are available for a
given set of packages (e.g. a single package with its dependencies, or a
complete manifest).

The context is optimizing package updates: if I know everything I need
is available as a substitute, I can do an update immediately, but if big
packages need to be built locally, I prefer to wait until my computer is
idle.

Ideally, I'd like "guix package" to have an option –only-substitutes
that will stop if local builds are required, providing a list of the
packages that must be built.

Konrad.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Checking for substitutes
  2018-06-05 11:36 Checking for substitutes Konrad Hinsen
@ 2018-06-05 12:42 ` Timothy Sample
  2018-06-05 14:13   ` Konrad Hinsen
  2018-06-05 14:20   ` Ricardo Wurmus
  0 siblings, 2 replies; 6+ messages in thread
From: Timothy Sample @ 2018-06-05 12:42 UTC (permalink / raw)
  To: Konrad Hinsen; +Cc: help-guix

Hi Konrad,

Konrad Hinsen <konrad.hinsen@fastmail.net> writes:

> Hi Guix,
>
> I wonder if there is any way to check if substitutes are available for a
> given set of packages (e.g. a single package with its dependencies, or a
> complete manifest).
>
> The context is optimizing package updates: if I know everything I need
> is available as a substitute, I can do an update immediately, but if big
> packages need to be built locally, I prefer to wait until my computer is
> idle.
>
> Ideally, I'd like "guix package" to have an option –only-substitutes
> that will stop if local builds are required, providing a list of the
> packages that must be built.

There’s an old feature request for this:

  https://debbugs.gnu.org/cgi/bugreport.cgi?bug=26608

I looked into it some time ago, and there were a lot of blockers.  See
https://lists.gnu.org/archive/html/guix-devel/2017-06/msg00190.html for
details.

At the end of that thread, I posted a small shell script that scrapes
the most recent fully evaluated commit from the build farm.  That way,
you can update to that commit, and have a much better chance of getting
all substitutes.  To be honest, I only use the script if I see something
like Icecat building.  In that case, I rollback to the latest complete
evaluation.

There’s also the ‘guix weather’ command.  It is supposed to provide info
about available substitutes.  I have not made much of use of it, though.

Hope that helps.


-- Tim

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Checking for substitutes
  2018-06-05 12:42 ` Timothy Sample
@ 2018-06-05 14:13   ` Konrad Hinsen
  2018-06-05 14:21     ` Ricardo Wurmus
  2018-06-05 14:20   ` Ricardo Wurmus
  1 sibling, 1 reply; 6+ messages in thread
From: Konrad Hinsen @ 2018-06-05 14:13 UTC (permalink / raw)
  To: Timothy Sample; +Cc: help-guix

Hi Tim,

Thanks for your explanations! I will try out the script you posted
last year. From your description it sounds like good enough to solve my
routine problem, which is that compiling Qt runs out of memory on my
machine unless it's close to idle. No way to have Emacs + Firefox + Qt
compilation with 8 GB of RAM :-(

> There’s also the ‘guix weather’ command.  It is supposed to provide info
> about available substitutes.  I have not made much of use of it, though.

I tried it. It provides interesting statistics, but always considers all
packages in Guix rather than just the ones I care about.

Konrad.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Checking for substitutes
  2018-06-05 12:42 ` Timothy Sample
  2018-06-05 14:13   ` Konrad Hinsen
@ 2018-06-05 14:20   ` Ricardo Wurmus
  1 sibling, 0 replies; 6+ messages in thread
From: Ricardo Wurmus @ 2018-06-05 14:20 UTC (permalink / raw)
  To: Timothy Sample; +Cc: help-guix


Hi Konrad,

Timothy Sample <samplet@ngyro.com> writes:

>> I wonder if there is any way to check if substitutes are available for a
>> given set of packages (e.g. a single package with its dependencies, or a
>> complete manifest).
[…]
>
> There’s also the ‘guix weather’ command.  It is supposed to provide info
> about available substitutes.  I have not made much of use of it, though.

This is exacly providing this very feature.  You use it like this:

    guix weather --substitute-urls="…" -m my-manifest.scm

and it tells you what the current substitute coverage for your manifest
is for all substitute servers you interrogated.  (It does not give you a
total percentage when all servers are considered, unfortunately.)

--
Ricardo

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Checking for substitutes
  2018-06-05 14:13   ` Konrad Hinsen
@ 2018-06-05 14:21     ` Ricardo Wurmus
  2018-06-05 18:33       ` Konrad Hinsen
  0 siblings, 1 reply; 6+ messages in thread
From: Ricardo Wurmus @ 2018-06-05 14:21 UTC (permalink / raw)
  To: Konrad Hinsen; +Cc: help-guix


Konrad Hinsen <konrad.hinsen@fastmail.net> writes:

>> There’s also the ‘guix weather’ command.  It is supposed to provide info
>> about available substitutes.  I have not made much of use of it, though.
>
> I tried it. It provides interesting statistics, but always considers all
> packages in Guix rather than just the ones I care about.

You can pass a manifest to “guix weather”.

-- 
Ricardo

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Checking for substitutes
  2018-06-05 14:21     ` Ricardo Wurmus
@ 2018-06-05 18:33       ` Konrad Hinsen
  0 siblings, 0 replies; 6+ messages in thread
From: Konrad Hinsen @ 2018-06-05 18:33 UTC (permalink / raw)
  To: Ricardo Wurmus, Timothy Sample, help-guix

Hi Ricardo,

>> I tried it. It provides interesting statistics, but always considers all
>> packages in Guix rather than just the ones I care about.
> 
> You can pass a manifest to “guix weather”.

Found it in the manual - great! And a quick look at the source shows 
that it shouldn't be too hard to make it print a list of the packages 
that are not available as substitutes. It's on my to-do list...

Thanks,
   Konrad.

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2018-06-05 18:33 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-06-05 11:36 Checking for substitutes Konrad Hinsen
2018-06-05 12:42 ` Timothy Sample
2018-06-05 14:13   ` Konrad Hinsen
2018-06-05 14:21     ` Ricardo Wurmus
2018-06-05 18:33       ` Konrad Hinsen
2018-06-05 14:20   ` Ricardo Wurmus

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.