Subject: bug#26341: [PATCH] build: vm: Add missing module.

From: Mathieu Othacehe <[email-masked]>
Date: Wed, 05 Apr 2017 12:30:35 +0200

Hi Ludo,

> That said, we should improve this.  Perhaps something along the lines of
> the attached patch would work.
>
> Could you try and send an updated patch?

Well, I tried a "guix system vm ..." with just my patch and it worked. I
agree with you it shouldn't work because it is not possible to use FFI
in static Guile.

I don't exactly what happend but it might be something like that :

(gnu build vm) -- uses module ----> (guix build syscalls) (with my patch)
                      |                    |
                      |                    |
                      |               -------- provides
                      |               |      |
                      |               v      v
                      |               mount  umount (FFI versions)
                      |
                      -------------> (gnu build linux-boot)
                                          |
                                          | uses
                                       (gnu build file-systems)
                                                  |
                                                  |
                                                  overrides mount and
                                                  unount with libguile
                                                  versions if you're
                                                  using static Guile.

So we end-up using libguile mount and umount in (gnu build vm) and not
FFI versions of (guix build syscalls).

However, it is still a good idea to allow modules to use (guix build
syscalls) independently of the fact that they are running inside static
Guile or not.

So the attached patch (your previous patch, sligtly modified) could be
ok ?

Thank you,

Mathieu