guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GSoC] Guix + Hurd continuation


From: Ludovic Courtès
Subject: [GSoC] Guix + Hurd continuation
Date: Thu, 02 Jul 2015 11:12:08 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux)

Hello!

Now that Manolis managed to produce the bootstrap binaries (yay!), we
must plan for what’s next.

I think the first thing will be to try and start building things
natively, as noted in
<https://www.gnu.org/software/guix/manual/html_node/Porting.html>.  That
implies a few things:

  0. Run Guix’s ‘./configure --with-courage && make’ and see what
     happens.

  1. ‘guix-daemon’ must work correctly on GNU/Hurd.  This should be
     mostly the case, but it’s degraded compared to GNU/Linux because it
     will not use name spaces and bind mounts, so no chroot either (see
     
<http://git.savannah.gnu.org/cgit/guix.git/tree/nix/libstore/build.cc#n54>.)
     That’s OK for a start.  Maybe there are other issues I haven’t
     thought of.

  2. When building natively, surely you’ll find out that some packages
     do not build (PATH_MAX!), and that there are assumptions in
     hurd.scm and base.scm, such as the fact that GNU/Hurd is a
     cross-compilation target and not a native system.

  3. In parallel to that, I should review wip-hurd again and apply the
     patches to a new ‘core-updates’ branch.

  4. Instead of sitting idle watching build logs ;-), it Would Be Nice™
     to implement the ‘mount’ and ‘umount’ functions for GNU/Hurd in
     libc, with support for MS_BIND using /hurd/firmlink.  See
     <http://git.savannah.gnu.org/cgit/hurd/hurd.git/tree/utils/mount.c#n213>
     (the Hurd’s ‘mount’ command) for a good starting point.

     Of course libc hacking can be quite involved.  So ideally Samuel,
     Thomas, and others would give you detailed guidance and/or hack
     power.  What do people think?

     The reason I’m suggesting this is that it will be useful for the
     build daemon (see #1), and it will also facilitate porting of
     GuixSD afterwards (see
     
<http://git.savannah.gnu.org/cgit/guix.git/tree/guix/build/syscalls.scm#n144>.)

Anything else?  Comments?

Ludo’.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]