Nikita Karetnikov <nik...@karetnikov.org> skribis: > When I tested the previous set of binaries (see the mips64el branch), it > was necessary to adjust ‘%url-base’ in ‘build-aux/download.scm’. It > seems that now it’s not needed since they are already available on > hydra.gnu.org.
Well, when you’ve confirmed that you’ve managed to build something with these binaries, I’ll upload them to alpha.gnu.org, and then we can have bootstrap.scm and build-aux/download.scm refer to that. > What I’ve done so far: > > 1. Added ‘mips64el-linux-gnuabi64’ to ‘glibc-dynamic-linker’ in > ‘bootstrap.scm’. > > 2. Adjusted ‘%bootstrap-coreutils&co’ and similar procedures. > > 3. Created ‘mips64el-linux-gnuabi64’ in ‘gnu/packages/bootstrap/’. Hmm, I think we should just call it ‘mips64el-linux’ since the ABI is really something orthogonal. > 4. Placed ‘bash’, ‘mkdir’, ‘tar’, ‘xz’, and ‘guile-2.0.7.tar.xz’* in > that directory. > > * It’s 2.0.9. I decided not to touch ‘%bootstrap-guile’ for now to > avoid errors. What do you mean? ‘%bootstrap-guile’ needs to refer to that new tarball, right? > Am I on the right track? I think so! > Now, how can I test it? My machine uses a different ABI (N32), so > ‘%current-system’ is set to ‘mips64el-linux’. I’ve already tried to run > > $ ./pre-inst-env guix build -K -s mips64el-linux-gnuabi64 hello > > but that failed with > > guix build: error: build failed: a `mips64el-linux-gnuabi64' is > required to build `/nix/store/…guile-bootstrap-2.0.drv', but I am a > `mips64el-linux' Good question. I think we should use ‘mips64el-linux’ as the system type (which is really just ARCHITECTURE-KERNEL). IOW, let’s not use ‘mips64el-linux-gnuabi64’ anywhere, except as a GNU triplet when cross-compiling. When we want to support multiple ABIs for a given ARCHITECTURE-KERNEL tuple, we’ll have to provide a mechanism in addition to --system that would allow users to select the libc/gcc/binutils to use, I think. For now, let’s just keep it simple and use ‘mips64el-linux’ for N64. Thanks, Ludo’.