~ruther/guix-local

f57ff219ad9e08427e06d9c95fb71cc0764564c2 — Mark H Weaver 12 years ago c591653
gnu: add bootstrap support for mips64el-linux using the MIPS N32 ABI.

* .gitignore: Add entry for bootstrap/mips64el-linux/guile-2.0.9.tar.xz.

* gnu-system.am (bootstrap_mips64el_linuxdir,
  dist_bootstrap_mips64el_linux_DATA, nodist_bootstrap_mips64el_linux_DATA):
  New variables.
  (DISTCLEANFILES): Add $(nodist_bootstrap_mips64el_linux_DATA).
  (gnu/packages/bootstrap/mips64el-linux/guile-2.0.9.tar.xz): New target.

* build-aux/download.scm (file-name->uri): Adapt to the newer mips64el-linux
  bootstrap tarballs.

* gnu/packages/bootstrap.scm (%bootstrap-guile, %bootstrap-coreutils&co,
  %bootstrap-binutils, %bootstrap-glibc, %bootstrap-gcc): Adapt to the newer
  mips64el-linux bootstrap tarballs.

* gnu/packages/bootstrap/mips64el-linux/bash:
* gnu/packages/bootstrap/mips64el-linux/mkdir:
* gnu/packages/bootstrap/mips64el-linux/tar:
* gnu/packages/bootstrap/mips64el-linux/xz: New files.
M .gitignore => .gitignore +1 -0
@@ 46,6 46,7 @@ config.cache
/doc/version.texi
/gnu/packages/bootstrap/x86_64-linux/guile-2.0.7.tar.xz
/gnu/packages/bootstrap/i686-linux/guile-2.0.7.tar.xz
/gnu/packages/bootstrap/mips64el-linux/guile-2.0.9.tar.xz
/guix/config.scm
/nix/nix-daemon/nix-daemon.cc
/nix/config.h

M build-aux/download.scm => build-aux/download.scm +6 -1
@@ 45,7 45,12 @@
  (match (string-tokenize file (char-set-complement (char-set #\/)))
    ((_ ... system basename)
     (string->uri (string-append %url-base "/" system
                                 "/20130105/" basename)))))
                                 (match system
                                   ("mips64el-linux"
                                    "/20131017/")
                                   (_
                                    "/20130105/"))
                                 basename)))))

(match (command-line)
  ((_ file expected-hash)

M gnu-system.am => gnu-system.am +15 -1
@@ 1,6 1,7 @@
# GNU Guix --- Functional package management for GNU
# Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
# Copyright © 2013 Andreas Enge <andreas@enge.fr>
# Copyright © 2013 Mark H Weaver <mhw@netris.org>
#
# This file is part of GNU Guix.
#


@@ 270,6 271,7 @@ dist_patch_DATA =						\
bootstrapdir = $(guilemoduledir)/gnu/packages/bootstrap
bootstrap_x86_64_linuxdir = $(bootstrapdir)/x86_64-linux
bootstrap_i686_linuxdir = $(bootstrapdir)/i686-linux
bootstrap_mips64el_linuxdir = $(bootstrapdir)/mips64el-linux

dist_bootstrap_x86_64_linux_DATA =		\
  gnu/packages/bootstrap/x86_64-linux/bash	\


@@ 283,12 285,20 @@ dist_bootstrap_i686_linux_DATA =		\
  gnu/packages/bootstrap/i686-linux/tar		\
  gnu/packages/bootstrap/i686-linux/xz

dist_bootstrap_mips64el_linux_DATA =		\
  gnu/packages/bootstrap/mips64el-linux/bash	\
  gnu/packages/bootstrap/mips64el-linux/mkdir	\
  gnu/packages/bootstrap/mips64el-linux/tar	\
  gnu/packages/bootstrap/mips64el-linux/xz

# Big bootstrap binaries are not included in the tarball.  Instead, they
# are downloaded.
nodist_bootstrap_x86_64_linux_DATA =					\
  gnu/packages/bootstrap/x86_64-linux/guile-2.0.7.tar.xz
nodist_bootstrap_i686_linux_DATA =					\
  gnu/packages/bootstrap/i686-linux/guile-2.0.7.tar.xz
nodist_bootstrap_mips64el_linux_DATA =					\
  gnu/packages/bootstrap/mips64el-linux/guile-2.0.9.tar.xz

# Those files must remain executable, so they remain executable once
# imported into the store.


@@ 297,7 307,8 @@ install-data-hook:

DISTCLEANFILES =				\
  $(nodist_bootstrap_x86_64_linux_DATA)		\
  $(nodist_bootstrap_i686_linux_DATA)
  $(nodist_bootstrap_i686_linux_DATA)		\
  $(nodist_bootstrap_mips64el_linux_DATA)

# Method to download a file from an external source.
DOWNLOAD_FILE =								\


@@ 311,3 322,6 @@ gnu/packages/bootstrap/x86_64-linux/guile-2.0.7.tar.xz:
gnu/packages/bootstrap/i686-linux/guile-2.0.7.tar.xz:
	$(MKDIR_P) `dirname "$@"`
	$(DOWNLOAD_FILE) "$@" "f9a7c6f4c556eaafa2a69bcf07d4ffbb6682ea831d4c9da9ba095aca3ccd217c"
gnu/packages/bootstrap/mips64el-linux/guile-2.0.9.tar.xz:
	$(MKDIR_P) `dirname "$@"`
	$(DOWNLOAD_FILE) "$@" "1735d8b3f94749a4a349b6135f3aaa089f65dc62951c89c6c43ba0f2fc34211d"

M gnu/packages/bootstrap.scm => gnu/packages/bootstrap.scm +42 -9
@@ 180,7 180,12 @@ check whether everything is alright."
                              (xz    (->store "xz"))
                              (mkdir (->store "mkdir"))
                              (bash  (->store "bash"))
                              (guile (->store "guile-2.0.7.tar.xz"))
                              (guile (->store
                                      (match (%current-system)
                                        ("mips64el-linux"
                                         "guile-2.0.9.tar.xz")
                                        (_
                                         "guile-2.0.7.tar.xz"))))
                              (builder
                               (add-text-to-store store
                                                  "build-bootstrap-guile.sh"


@@ 219,7 224,11 @@ $out/bin/guile --version~%"
                          (origin
                           (method url-fetch)
                           (uri (map (cut string-append <> "/" system
                                          "/20130105/static-binaries.tar.xz")
                                          (match system
                                            ("mips64el-linux"
                                             "/20131017/static-binaries.tar.xz")
                                            (_
                                             "/20130105/static-binaries.tar.xz")))
                                     %bootstrap-base-urls))
                           (sha256
                            (match system


@@ 228,7 237,10 @@ $out/bin/guile --version~%"
                                "0md23alzy6nc5f16pric7mkagczdzr8xbh074sb3rjzrls06j1ls"))
                              ("i686-linux"
                               (base32
                                "0nzj1lmm9b94g7k737cr4w1dv282w5nmhb53238ikax9r6pkc0yb"))))))
                                "0nzj1lmm9b94g7k737cr4w1dv282w5nmhb53238ikax9r6pkc0yb"))
                              ("mips64el-linux"
                               (base32
                                "17k5f1322b7n1difhlyw4cghxvq8fxj7wlhzghh4y362fshvvw1c"))))))
                        "true"                    ; the program to test
                        "Bootstrap binaries of Coreutils, Awk, etc."))



@@ 238,7 250,11 @@ $out/bin/guile --version~%"
                          (origin
                           (method url-fetch)
                           (uri (map (cut string-append <> "/" system
                                          "/20130105/binutils-2.22.tar.xz")
                                          (match system
                                            ("mips64el-linux"
                                             "/20131017/binutils-2.23.2.tar.xz")
                                            (_
                                             "/20130105/binutils-2.22.tar.xz")))
                                     %bootstrap-base-urls))
                           (sha256
                            (match system


@@ 247,7 263,10 @@ $out/bin/guile --version~%"
                                "1ffmk2yy2pxvkqgzrkzp3s4jpn4qaaksyk3b5nsc5cjwfm7qkgzh"))
                              ("i686-linux"
                               (base32
                                "1rafk6aq4sayvv3r3d2khn93nkyzf002xzh0xadlyci4mznr6b0a"))))))
                                "1rafk6aq4sayvv3r3d2khn93nkyzf002xzh0xadlyci4mznr6b0a"))
                              ("mips64el-linux"
                               (base32
                                "1dpnmscgg1fxg9xmlbvcm1d8h8brjgqwaal748w3v3qf33is4sl6"))))))
                        "ld"                      ; the program to test
                        "Bootstrap binaries of the GNU Binutils"))



@@ 289,7 308,11 @@ $out/bin/guile --version~%"
                    (origin
                     (method url-fetch)
                     (uri (map (cut string-append <> "/" (%current-system)
                                    "/20130105/glibc-2.17.tar.xz")
                                    (match (%current-system)
                                      ("mips64el-linux"
                                       "/20131017/glibc-2.18.tar.xz")
                                      (_
                                       "/20130105/glibc-2.17.tar.xz")))
                               %bootstrap-base-urls))
                     (sha256
                      (match (%current-system)


@@ 298,7 321,10 @@ $out/bin/guile --version~%"
                          "18kv1z9d8dr1j3hm9w7663kchqw9p6rsx11n1m143jgba2jz6jy3"))
                        ("i686-linux"
                         (base32
                          "08hv8i0axwnihrcgbz19x0a7s6zyv3yx38x8r29liwl8h82x9g88")))))))))
                          "08hv8i0axwnihrcgbz19x0a7s6zyv3yx38x8r29liwl8h82x9g88"))
                        ("mips64el-linux"
                         (base32
                          "1w9x8r2him7qbqlm7ah1aq04kk2ydma44jzgdzsdj3kjx36sqyq1")))))))))
    (synopsis "Bootstrap binaries and headers of the GNU C Library")
    (description #f)
    (home-page #f)


@@ 357,7 383,11 @@ exec ~a/bin/.gcc-wrapped -B~a/lib \
                    (origin
                     (method url-fetch)
                     (uri (map (cut string-append <> "/" (%current-system)
                                    "/20130105/gcc-4.7.2.tar.xz")
                                    (match (%current-system)
                                      ("mips64el-linux"
                                       "/20131017/gcc-4.7.3.tar.xz")
                                      (_
                                       "/20130105/gcc-4.7.2.tar.xz")))
                               %bootstrap-base-urls))
                     (sha256
                      (match (%current-system)


@@ 366,7 396,10 @@ exec ~a/bin/.gcc-wrapped -B~a/lib \
                          "1x1p7han5crnbw906iwdifykr6grzm0w27dy9gz75j0q1b32i4px"))
                        ("i686-linux"
                         (base32
                          "06wqs0xxnpw3hn0xjb4c9cs0899p1xwkcysa2rvzhvpra0c5vsg2")))))))))
                          "06wqs0xxnpw3hn0xjb4c9cs0899p1xwkcysa2rvzhvpra0c5vsg2"))
                        ("mips64el-linux"
                         (base32
                          "0g9z8cdlnlzbg67607rxxfk5vi4xjsdc7c2agvdnyzlp0shib6rb")))))))))
    (native-search-paths
     (list (search-path-specification
            (variable "CPATH")

A gnu/packages/bootstrap/mips64el-linux/bash => gnu/packages/bootstrap/mips64el-linux/bash +0 -0
A gnu/packages/bootstrap/mips64el-linux/mkdir => gnu/packages/bootstrap/mips64el-linux/mkdir +0 -0
A gnu/packages/bootstrap/mips64el-linux/tar => gnu/packages/bootstrap/mips64el-linux/tar +0 -0
A gnu/packages/bootstrap/mips64el-linux/xz => gnu/packages/bootstrap/mips64el-linux/xz +0 -0