[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#27284: [PATCH 0/4] 'guix pull' reloads modules, second try
From: |
Ludovic Courtès |
Subject: |
bug#27284: [PATCH 0/4] 'guix pull' reloads modules, second try |
Date: |
Mon, 11 Dec 2017 11:52:49 +0100 |
Hello!
I’ve pushed the following patches to ‘wip-pull-reload’ so you can test
from whatever snapshot you’re currently running:
guix pull --branch=wip-pull-reload
As a reminder, this patch set does two things:
1. Build Guix as several derivations, with the eventual goal of having
substitutes made available by
<https://hydra.gnu.org/jobset/guix/modular>. Typically only the
derivation corresponding to package modules will have to be built,
which is already a lot, but better than rebuilding everything every
time.
2. Load the target Guix modules. What this means is that the
derivations above will depend on, say, the latest guile-git and
guile-ssh package.
Conversely, we’re currently using dependencies from the current
Guix, which is a problem, for instance if one of the dependencies
is broken as was the case in
<https://debbugs.gnu.org/cgi/bugreport.cgi?bug=28988>.
#2 is tricky because it means we first have to re-compile and
re-evaluate a whole bunch of modules. The approach that seems to work
OK is to compile just the core modules and to evaluate the others.
That’s still taking ~20 seconds or so on my laptop.
Thanks,
Ludo’.
Ludovic Courtès (4):
gnu: Fix ambiguous 'zip' reference.
gexp: 'computed-file' has a new #:guile parameter.
Add (guix self) and use it when pulling.
pull: Reload modules before doing anything else.
Makefile.am | 1 +
build-aux/build-self.scm | 289 +++++----------------
gnu/packages.scm | 21 +-
gnu/packages/photo.scm | 4 +-
guix/discovery.scm | 3 +-
guix/gexp.scm | 16 +-
guix/scripts/pull.scm | 91 ++++---
guix/self.scm | 652 +++++++++++++++++++++++++++++++++++++++++++++++
po/guix/POTFILES.in | 1 +
9 files changed, 804 insertions(+), 274 deletions(-)
create mode 100644 guix/self.scm
--
2.15.1
- bug#27284: [PATCH 0/4] 'guix pull' reloads modules, second try,
Ludovic Courtès <=