Re: [GSoC update] Porting Guix to GNU/Hurd

2015-08-23 Thread Ludovic Courtès
Hi!

Manolis Ragkousis manolis...@gmail.com skribis:

 1) Guix can successfully cross-build any package for the Hurd and produce
 the bootstrap-tarballs to build packages with Guix natively on such a system.

 2) Guix can build the native final toolchain.

 3) Guix can build packages natively using the final toolchain.

 Even though most of the work is already present in the wip-hurd branch, there
 are still some patches to be reviewed/merged. This will happen asap.

 But nevertheless we can safely say we have ported Guix to Hurd. :-)

Congratulations on that!  That’s a great achievement, and I know there
were some bumps on the road, and the project covers several very
different pieces of software, so thumbs up!

 2) guix/build/syscalls (mount, umount, setns ) Those aren't available
 on Hurd, so
 building Guix would fail. It seems turning them into procedures is
 enough to work
 around this.

This module is only used by GuixSD anyway (not Guix itself), so no
problem.

In the interim, we should perhaps arrange to not build that module when,
say, ‘mount’ is missing (using an ‘AM_CONDITIONAL’.)

 4) Perl could not be build because of a problem with memmove in hurd's
 glibc. Together
 with Samuel and Justus we traced the problem to a not properly tested
 part of glibc.
 Fixed.

Pheew.  :-)

 5) glibc-intermediate could not find the gnumach/hurd headers because
 of unsetting the
 path during the build process. It seems that glibc's sysdeps/mach and
 sysdeps/mach/hurd
 configure weren't using the --with-headers variable to get the
 headers. Fixed that and sent
 the patch to bug-hurd :-).

OK.

 6) Binaries produced from gcc-boot0 had problems with their runpath
 and validate-runpath?
 was failing. It seems ld wasn't passing -rpath to them. Added an
 ld-wrapper, solved.

Interesting, will look at the patch hopefully soon.

 7) glibc-final's debug output refers to %glibc-bootstrap. I think this
 happens indirectly through
 the headers, currently solving that.

Would be nice to understand why that happens.  In the meantime you could
disable #:allowed-references altogether for that package when on
GNU/Hurd, if you want.

 Also, I am near finishing sys/mount.h for Hurd. Will finish it as soon
 as possible.

Great!

 I get the feeling I forgot some things so please remind/ask me
 anything. For the next two
 days I will wrap up patches and push them to wip-hurd. After that I
 will continue working on
 getting the full GuixSD experience on Hurd. And one of these days we
 will deploy guix on
 darnassus together with rbraunr. I will inform you when that happens.

Excellent.  Thanks to the Hurd and Guix people for giving you a hand!

Cheers,
Ludo’.



Re: [GSoC update] Porting Guix to GNU/Hurd

2015-08-21 Thread Alex Sassmannshausen
Amirouche Boubekki writes:

 Le 2015-08-19 22:27, taylanbayi...@gmail.com a écrit:
 Manolis Ragkousis manolis...@gmail.com writes:
 
 [...]
 
 But nevertheless we can safely say we have ported Guix to Hurd. :-)
 
 [...]
 
 Amazing news! :-)
 
 Thanks so much for working on this.  I haven't tried out Hurd so far 
 but
 am meaning to do so eventually; sounds like my first Hurd system will 
 be
 GuixSD at the same time.  So much awesome in one system.

 I second that. Thanks :)

+1

Congratulations on your good progress, Manolis!

Alex



Re: [GSoC update] Porting Guix to GNU/Hurd

2015-08-20 Thread Daniel Pimentel

On 2015-08-19 17:27, taylanbayi...@gmail.com wrote:

Manolis Ragkousis manolis...@gmail.com writes:


[...]

But nevertheless we can safely say we have ported Guix to Hurd. :-)

[...]


Amazing news! :-)

Thanks so much for working on this.  I haven't tried out Hurd so far 
but
am meaning to do so eventually; sounds like my first Hurd system will 
be

GuixSD at the same time.  So much awesome in one system.

Taylan

Amazing!

GuixSD + Hurd = 3:D

Thanks Guixs 3:)

3:) = GNU Head kkk

--
Daniel Pimentel (d4n1 3:)



Re: [GSoC update] Porting Guix to GNU/Hurd

2015-08-20 Thread Daniel Pimentel

On 2015-08-19 16:23, Manolis Ragkousis wrote:

Hello everyone,

As the hard pencil down date approaches, I believe it's time for a 
detailed
report on my progress till now. I will start with what we have right 
now and

then continue with what problems I had and what I did.
First let's see what we have now, working.

1) Guix can successfully cross-build any package for the Hurd and 
produce
the bootstrap-tarballs to build packages with Guix natively on such a 
system.


2) Guix can build the native final toolchain.

3) Guix can build packages natively using the final toolchain.

Even though most of the work is already present in the wip-hurd branch, 
there

are still some patches to be reviewed/merged. This will happen asap.

But nevertheless we can safely say we have ported Guix to Hurd. :-)

Now problems I have faced during my work.

1) CHROOT_ENABLED was evaluated to false in the daemon 
nix/libstore/build.cc.
Mark pointed out the correct solution and I will send the patch 
shortly.

2) guix/build/syscalls (mount, umount, setns ) Those aren't available
on Hurd, so
building Guix would fail. It seems turning them into procedures is
enough to work
around this.
3) We had a problem with binaries not being able to find and link
against libmachuser 
libhurduser It seems adding the two to libc.so's search path was 
enough.

4) Perl could not be build because of a problem with memmove in hurd's
glibc. Together
with Samuel and Justus we traced the problem to a not properly tested
part of glibc.
Fixed.
5) glibc-intermediate could not find the gnumach/hurd headers because
of unsetting the
path during the build process. It seems that glibc's sysdeps/mach and
sysdeps/mach/hurd
configure weren't using the --with-headers variable to get the
headers. Fixed that and sent
the patch to bug-hurd :-).
6) Binaries produced from gcc-boot0 had problems with their runpath
and validate-runpath?
was failing. It seems ld wasn't passing -rpath to them. Added an
ld-wrapper, solved.
7) glibc-final's debug output refers to %glibc-bootstrap. I think this
happens indirectly through
the headers, currently solving that.

I think those are most of the problems I faced. Well those are the
ones that were worked on and
solved after Ludo left for vacations. I avoid referring to problems
discussed and solved in mails earlier
than that.

Also, I am near finishing sys/mount.h for Hurd. Will finish it as soon
as possible.

I get the feeling I forgot some things so please remind/ask me
anything. For the next two
days I will wrap up patches and push them to wip-hurd. After that I
will continue working on
getting the full GuixSD experience on Hurd. And one of these days we
will deploy guix on
darnassus together with rbraunr. I will inform you when that happens.

Please feel free to ask me anything.

Thank you,
Manolis

Congratulation Manolis, Ludo and Guixs 3:)

Thanks,
--
Daniel Pimentel (d4n1 3:)



Re: [GSoC update] Porting Guix to GNU/Hurd

2015-08-20 Thread Samuel Thibault
Hello,

Congrats!!

Samuel



Re: [GSoC update] Porting Guix to GNU/Hurd

2015-08-20 Thread Amirouche Boubekki

Le 2015-08-19 22:27, taylanbayi...@gmail.com a écrit :

Manolis Ragkousis manolis...@gmail.com writes:


[...]

But nevertheless we can safely say we have ported Guix to Hurd. :-)

[...]


Amazing news! :-)

Thanks so much for working on this.  I haven't tried out Hurd so far 
but
am meaning to do so eventually; sounds like my first Hurd system will 
be

GuixSD at the same time.  So much awesome in one system.


I second that. Thanks :)


--
Amirouche ~ amz3 ~ http://www.hyperdev.fr



[GSoC update] Porting Guix to GNU/Hurd

2015-08-19 Thread Manolis Ragkousis
Hello everyone,

As the hard pencil down date approaches, I believe it's time for a detailed
report on my progress till now. I will start with what we have right now and
then continue with what problems I had and what I did.
First let's see what we have now, working.

1) Guix can successfully cross-build any package for the Hurd and produce
the bootstrap-tarballs to build packages with Guix natively on such a system.

2) Guix can build the native final toolchain.

3) Guix can build packages natively using the final toolchain.

Even though most of the work is already present in the wip-hurd branch, there
are still some patches to be reviewed/merged. This will happen asap.

But nevertheless we can safely say we have ported Guix to Hurd. :-)

Now problems I have faced during my work.

1) CHROOT_ENABLED was evaluated to false in the daemon nix/libstore/build.cc.
Mark pointed out the correct solution and I will send the patch shortly.
2) guix/build/syscalls (mount, umount, setns ) Those aren't available
on Hurd, so
building Guix would fail. It seems turning them into procedures is
enough to work
around this.
3) We had a problem with binaries not being able to find and link
against libmachuser 
libhurduser It seems adding the two to libc.so's search path was enough.
4) Perl could not be build because of a problem with memmove in hurd's
glibc. Together
with Samuel and Justus we traced the problem to a not properly tested
part of glibc.
Fixed.
5) glibc-intermediate could not find the gnumach/hurd headers because
of unsetting the
path during the build process. It seems that glibc's sysdeps/mach and
sysdeps/mach/hurd
configure weren't using the --with-headers variable to get the
headers. Fixed that and sent
the patch to bug-hurd :-).
6) Binaries produced from gcc-boot0 had problems with their runpath
and validate-runpath?
was failing. It seems ld wasn't passing -rpath to them. Added an
ld-wrapper, solved.
7) glibc-final's debug output refers to %glibc-bootstrap. I think this
happens indirectly through
the headers, currently solving that.

I think those are most of the problems I faced. Well those are the
ones that were worked on and
solved after Ludo left for vacations. I avoid referring to problems
discussed and solved in mails earlier
than that.

Also, I am near finishing sys/mount.h for Hurd. Will finish it as soon
as possible.

I get the feeling I forgot some things so please remind/ask me
anything. For the next two
days I will wrap up patches and push them to wip-hurd. After that I
will continue working on
getting the full GuixSD experience on Hurd. And one of these days we
will deploy guix on
darnassus together with rbraunr. I will inform you when that happens.

Please feel free to ask me anything.

Thank you,
Manolis