From: "Ludovic Courtès" <ludo@gnu.org>
To: 27284@debbugs.gnu.org
Subject: bug#27284: [PATCH 0/8] 'guix pull' creates several derivations
Date: Fri, 20 Oct 2017 18:05:49 +0200 [thread overview]
Message-ID: <20171020160557.27096-1-ludo@gnu.org> (raw)
In-Reply-To: <87poamv2i7.fsf@gnu.org>
Hi there!
This patch set leads us to a ‘guix pull’ that creates several
derivations instead of just one: “guix-core” (38 files), “guix-extra”,
“guix-packages” (388 files), “guix-cli”, “guix-system”.
The idea is that we should be able to have substitutes for at least some
of them, for instance because “guix-core” doesn’t need to be rebuilt
very often. Most of the time, users will just have to build
“guix-packages”, which is still a bit slow, but will hopefully get
better as Guile incorporates those long-awaited fixes.
The first two commits provide much needed improvements, and I’d be
willing to merge them ASAP.
The rest is the guts of the project. The last commit is marked as
draft: it works as-is, but does not yet address one of the limitations
of ‘guix pull’, which is that dependencies (guile-json, guile-ssh, etc.)
are taken from the *current* Guix instead of being taken from the target
Guix.
The ‘reload-guix’ procedure there is here to fix that: we reload all the
Guix modules of the target checkout, and run the build procedure from
that context. Unfortunately, it’s not fully baked yet because reloading
leads to incompatibilities: the (guix scripts pull) module remains in
the “old world” and manipulates the old <derivation> and <package>
record types, which is different from the new ones. That should be
fixable, but requires some more time and fiddling. Help from Guilers is
very much welcome! :-)
This last part is not ready yet, but feedback is appreciated.
Thanks in advance. :-)
Ludo’.
Ludovic Courtès (8):
build: Factorize module compilation in (guix build compile).
build: Honor make's '-j' flag.
discovery: Move 'file-name->module-name' to (guix modules).
gexp: Add 'file-union'.
gexp: Add 'directory-union'.
union: Parametrize the symlink procedure .
gexp: 'directory-union' has a #:quiet? parameter.
DRAFT Add (guix self) and use it when pulling.
Makefile.am | 2 +
build-aux/build-self.scm | 227 ++----------------
build-aux/compile-all.scm | 116 +++------
doc/guix.texi | 28 +++
gnu/packages.scm | 21 +-
gnu/services.scm | 37 +--
guix/build/compile.scm | 165 +++++++++++++
guix/build/pull.scm | 105 +++-----
guix/build/union.scm | 11 +-
guix/discovery.scm | 11 +-
guix/gexp.scm | 72 ++++++
guix/modules.scm | 10 +
guix/scripts/pull.scm | 16 +-
guix/self.scm | 599 ++++++++++++++++++++++++++++++++++++++++++++++
14 files changed, 1001 insertions(+), 419 deletions(-)
create mode 100644 guix/build/compile.scm
create mode 100644 guix/self.scm
--
2.14.2
next prev parent reply other threads:[~2017-10-20 16:07 UTC|newest]
Thread overview: 51+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-06-08 8:39 bug#27284: Memory leak in 'guix pull' or 'make' in guix source ng0
2017-06-08 15:02 ` ng0
2017-09-19 20:48 ` Ludovic Courtès
2017-09-20 2:40 ` Maxim Cournoyer
2017-09-20 11:42 ` Ludovic Courtès
2017-09-20 18:29 ` Maxim Cournoyer
2017-09-20 20:12 ` Ludovic Courtès
2017-09-21 14:43 ` Maxim Cournoyer
2017-09-23 18:14 ` Taylan Ulrich Bayırlı/Kammer
2017-09-24 19:44 ` Ludovic Courtès
2017-09-25 21:00 ` Maxim Cournoyer
2017-10-20 16:05 ` Ludovic Courtès [this message]
2017-10-20 16:05 ` bug#27284: [PATCH 1/8] build: Factorize module compilation in (guix build compile) Ludovic Courtès
2017-10-22 21:22 ` Maxim Cournoyer
2017-10-23 1:50 ` Ludovic Courtès
2017-10-22 21:42 ` Eric Bavier
2017-10-23 2:51 ` Ludovic Courtès
2017-10-22 22:52 ` Eric Bavier
2017-10-23 5:10 ` Ludovic Courtès
2017-10-20 16:05 ` bug#27284: [PATCH 2/8] build: Honor make's '-j' flag Ludovic Courtès
2017-10-20 16:05 ` bug#27284: [PATCH 3/8] discovery: Move 'file-name->module-name' to (guix modules) Ludovic Courtès
2017-10-20 16:05 ` bug#27284: [PATCH 4/8] gexp: Add 'file-union' Ludovic Courtès
2017-10-20 16:05 ` bug#27284: [PATCH 5/8] gexp: Add 'directory-union' Ludovic Courtès
2017-10-20 16:05 ` bug#27284: [PATCH 6/8] union: Parametrize the symlink procedure Ludovic Courtès
2017-10-20 16:05 ` bug#27284: [PATCH 7/8] gexp: 'directory-union' has a #:quiet? parameter Ludovic Courtès
2017-10-20 16:05 ` bug#27284: [PATCH 8/8] DRAFT Add (guix self) and use it when pulling Ludovic Courtès
2017-10-22 20:05 ` Maxim Cournoyer
2017-10-27 23:49 ` Ludovic Courtès
2017-11-21 22:26 ` bug#27284: [PATCH 0/8] 'guix pull' creates several derivations Ludovic Courtès
2017-11-21 22:56 ` Ludovic Courtès
2017-12-11 10:52 ` bug#27284: [PATCH 0/4] 'guix pull' reloads modules, second try Ludovic Courtès
2017-12-11 10:52 ` bug#27284: [PATCH 1/4] gnu: Fix ambiguous 'zip' reference Ludovic Courtès
2017-12-11 10:52 ` bug#27284: [PATCH 2/4] gexp: 'computed-file' has a new #:guile parameter Ludovic Courtès
2017-12-11 10:52 ` bug#27284: [PATCH 3/4] Add (guix self) and use it when pulling Ludovic Courtès
2017-12-18 14:57 ` Ludovic Courtès
2018-03-27 9:14 ` bug#27284: ‘guix pull’ builds using multiple derivations Ludovic Courtès
2018-03-27 14:33 ` Ludovic Courtès
2018-03-27 19:25 ` Nils Gillmann
2018-03-27 20:51 ` Ludovic Courtès
2018-04-08 16:37 ` Ludovic Courtès
2018-04-09 19:53 ` Ricardo Wurmus
2018-04-10 21:53 ` bug#27284: ‘guix pull’ broken on Guile 2.0 Ludovic Courtès
2018-04-10 23:18 ` bug#31117: " Ludovic Courtès
2018-04-14 17:39 ` Ricardo Wurmus
2017-12-11 10:52 ` bug#27284: [PATCH 4/4] pull: Reload modules before doing anything else Ludovic Courtès
2017-11-12 21:33 ` bug#27284: Memory leak in 'guix pull' or 'make' in guix source Ludovic Courtès
2017-11-13 8:59 ` Ricardo Wurmus
2017-11-13 9:28 ` Ludovic Courtès
2017-11-13 14:09 ` Ricardo Wurmus
2017-11-13 17:48 ` Ricardo Wurmus
2017-11-14 7:54 ` 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=20171020160557.27096-1-ludo@gnu.org \
--to=ludo@gnu.org \
--cc=27284@debbugs.gnu.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).