doc: Improve porting instructions.

* doc/guix.texi (Porting): Move 'glibc-dynamic-linker' paragraph above.
  Clarify what is meant by updating (gnu packages bootstrap).  Mention
  'gnu-system.am'.
This commit is contained in:
Ludovic Courtès 2014-11-29 14:59:46 +01:00
parent 1cc8f3a63c
commit 1c0c417d2d

View file

@ -5250,12 +5250,20 @@ one:
guix build --target=armv5tel-linux-gnueabi bootstrap-tarballs guix build --target=armv5tel-linux-gnueabi bootstrap-tarballs
@end example @end example
For this to work, the @code{glibc-dynamic-linker} procedure in
@code{(gnu packages bootstrap)} must be augmented to return the right
file name for libc's dynamic linker on that platform; likewise,
@code{system->linux-architecture} in @code{(gnu packages linux)} must be
taught about the new platform.
Once these are built, the @code{(gnu packages bootstrap)} module needs Once these are built, the @code{(gnu packages bootstrap)} module needs
to be updated to refer to these binaries on the target platform. In to be updated to refer to these binaries on the target platform. That
addition, the @code{glibc-dynamic-linker} procedure in that module must is, the hashes and URLs of the bootstrap tarballs for the new platform
be augmented to return the right file name for libc's dynamic linker on must be added alongside those of the currently supported platforms. The
that platform; likewise, @code{system->linux-architecture} in @code{(gnu bootstrap Guile tarball is treated specially: it is expected to be
packages linux)} must be taught about the new platform. available locally, and @file{gnu-system.am} has rules do download it for
the supported architectures; a rule for the new platform must be added
as well.
In practice, there may be some complications. First, it may be that the In practice, there may be some complications. First, it may be that the
extended GNU triplet that specifies an ABI (like the @code{eabi} suffix extended GNU triplet that specifies an ABI (like the @code{eabi} suffix