guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Check whether package has substitution


From: sirgazil
Subject: Re: Check whether package has substitution
Date: Mon, 13 May 2019 13:17:15 -0500
User-agent: Zoho Mail

Hi znavko,

---- On Mon, 13 May 2019 11:22:01 -0500  <address@hidden> wrote ----

 > Hello! Users that have experience to install packages from binaries may have 
 > troubles waiting compilation process.
 > I want to propose some things that can appreciably improve Guix users 
 > experience.
 > 
 > Users do not want to wait the compilation process. This may happen on 
 > installation and update.
 > Guix may solve this problem giving to the user next possibilities:
 > 
 > 1) check if there is substitution of some package you want to install for 
 > your system state (and environment)
 > 2) check what packages will have to compile if you will update your system
 > 
 > I think this is not that academic way Guix is intended for. But such a 
 > feature will improve user experience riding him from long time compilation.
 > 
 > Guix also may solve the problem of absent substitutions the next way.
 > Guix developers can create user interface for sending requests to default 
 > substitution server to compile those packages users want right now.
 > As I know, hydra compiles all the packages for all the systems without 
 > priorities.
 > So users can address to hydra their requests to compile some packages for 
 > their system type (and environment). So hydra will stop its usual way of 
 > things (that actually has the lowest priority) and start to compile packages 
 > on user's behalf.
 > This way user can send a request, wait for 30-120 minutes and install it or 
 > update to having substitution built on hydra.
 > 
 > Reading some discussions about OS, I can say this is the first user want to 
 > have, saying: 'Computing freedom is imposed by Guix, but that ugly 
 > compilation process is what does not give me to start using it'.
 > 
 > Please, could you try to satisfy new users by speed up packages installation?


I've had similar thoughts. I usually run commands with the "--dry-run" option 
to avoid starting to build expensive packages (I have one computer; I depend on 
substitute servers to build those expensive packages for me).

I was thinking that maybe the request to the substitute servers to build a 
given package should be done implicitly, instead of requiring the user to run 
some Guix command specific to that purpose. For example, and taking into 
account what znavko says, I'd like something like this:

##########
$ guix package -m manifest.scm 
would install new manifest from 'aggregate-manifest.scm' with 45 entries
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
The following derivations would be built:
   /gnu/store/...-abc.drv
   /gnu/store/...-dfg.drv
149.1 MB would be downloaded:
   /gnu/store/...-mno-3.1.0
   /gnu/store/...-xyz-0.14.2
The following profile hooks would be built:
   /gnu/store/...-manual-database.drv
   /gnu/store/...-xdg-mime-database.drv

Do you want to proceed? If "Yes", your machine will have to build some 
derivations
locally. Depending on your machine, this process can take a lot of time. If 
"No", a 
request will be sent to https://ci.guix.gnu.org to build the derivations for 
you; then,
you can try again later to see if the substitutes are available for download. 
(Yes/No)
##########

And the list of derivations that need to be built could be yellow or something.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]