Hi, On Mon, 27 Dec 2021 at 09:23, David Lecompte via <[email protected]> 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
