unofficial mirror of help-guix@gnu.org 
 help / color / mirror / Atom feed
From: zimoun <zimon.toutoune@gmail.com>
To: David Lecompte <david.lecompte@metani.info>,
	Matthew Brooks <matthewfbrooks@mailbox.org>,
	"help-guix@gnu.org" <help-guix@gnu.org>
Subject: Re: Avoiding rebuilds (e.g. of mariadb, the entire Rust chain, etc.)?
Date: Wed, 29 Dec 2021 10:12:27 +0100	[thread overview]
Message-ID: <86o84zkc5g.fsf@gmail.com> (raw)
In-Reply-To: <dbb56f28f6fb3a01365b686ffe384b28db1afd12.camel@metani.info>

Hi,

On Mon, 27 Dec 2021 at 09:23, David Lecompte via <help-guix@gnu.org> wrote:
> Le dimanche 26 décembre 2021 à 23:41 -0600, Matthew Brooks a écrit :
>> Is there any way to avoid rebuilding stuff like mariadb, the entire
>> Rust chain, etc. unless one of those packages *actually* changes? It
>> seems like every few days every single package needs to rebuild for
>> some reason, including many packages that spend unbelievably long
>> times running tests that will never actually be of use to me, so I'm
>> usually only able to update every couple of weeks since so much
>> constantly needs to be rebuilt and everything takes so long.
>> 
>
> I don't have a solution, just similar experience but with a different
> setup.
>
> I use Guix on Trisquel on my X200, I have substitues enabled, my
> installed packages are glibc-locales, fontconfig, font-adobe-source-
> han-sans, gajim, gajim-omemo, gajim-openpgp, nheko, syncthing,
> darktable,  and ungoogled-chromium.
>
> Often, "guix pull" and "guix package update" take between 1h and 2h.
> This is not due to the download time. Apparently, even with substitues,
> some CPU-heavy work is needed.

Maybe I miss something with your requirements.  To avoid such
disagreements, I do 3 things:

 1) enable ’channel-with-substitutes-available’ [1]

 2) split profiles: essentials under ~/.guix-profile (nss-certs, git,
 recutils, glibc-locales, tree, etc.); emacs under
 ~/.config/guix/profiles/emacs, python under
 ~/.config/guix/profiles/python, etc.  All the profiles managed using
 manifest.scm [2]

 3) run “guix weather -m manifest.scm” before updating


Basically, most of the time, I do not need the very last version and I
can wait that the build farm has it.  The only annoyance is security
fixes and substitutes not ready yet.  In this case, in the meantime, I
run the package with “guix shell -C” which is a weak mitigation or “guix
system vm” if I am in paranoid mode. :-)


1: <https://guix.gnu.org/manual/devel/en/guix.html#Channels-with-Substitutes>
2: <https://guix.gnu.org/cookbook/en/guix-cookbook.html#Guix-Profiles-in-Practice>


Cheers,
simon


  reply	other threads:[~2021-12-29  9:16 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-12-27  5:41 Avoiding rebuilds (e.g. of mariadb, the entire Rust chain, etc.)? Matthew Brooks
2021-12-27  9:23 ` David Lecompte via
2021-12-29  9:12   ` zimoun [this message]
2022-01-02 17:36     ` David Lecompte
2022-01-03 16:42       ` zimoun
2021-12-28  0:13 ` Leo Famulari
2021-12-29  9:26 ` zimoun

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=86o84zkc5g.fsf@gmail.com \
    --to=zimon.toutoune@gmail.com \
    --cc=david.lecompte@metani.info \
    --cc=help-guix@gnu.org \
    --cc=matthewfbrooks@mailbox.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.
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).