unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: sirgazil <sirgazil@zoho.com>
To: znavko <znavko@disroot.org>
Cc: guix-devel <guix-devel@gnu.org>
Subject: Re: Check whether package has substitution
Date: Mon, 13 May 2019 13:17:15 -0500	[thread overview]
Message-ID: <16ab269be72.101cb345311255.5411801321379070085@zoho.com> (raw)
In-Reply-To: <0430840ba39308ca71d81905fa35725a@disroot.org>

Hi znavko,

---- On Mon, 13 May 2019 11:22:01 -0500  <znavko@disroot.org> 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.

  parent reply	other threads:[~2019-05-13 19:03 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-05-13 16:22 Check whether package has substitution znavko
2019-05-13 16:30 ` Tobias Geerinckx-Rice
2019-05-13 16:38 ` Gábor Boskovits
2019-05-13 18:17 ` sirgazil [this message]
2019-05-14  7:53   ` Ludovic Courtès

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=16ab269be72.101cb345311255.5411801321379070085@zoho.com \
    --to=sirgazil@zoho.com \
    --cc=guix-devel@gnu.org \
    --cc=znavko@disroot.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).