gnu: add bootstrap support for mips64el-linux using the MIPS N32 ABI.
authorMark H Weaver <mhw@netris.org>
Thu, 17 Oct 2013 19:47:56 +0000 (15:47 -0400)
committerMark H Weaver <mhw@netris.org>
Mon, 4 Nov 2013 04:26:53 +0000 (23:26 -0500)
* .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.

.gitignore
build-aux/download.scm
gnu-system.am
gnu/packages/bootstrap.scm
gnu/packages/bootstrap/mips64el-linux/bash [new file with mode: 0755]
gnu/packages/bootstrap/mips64el-linux/mkdir [new file with mode: 0755]
gnu/packages/bootstrap/mips64el-linux/tar [new file with mode: 0755]
gnu/packages/bootstrap/mips64el-linux/xz [new file with mode: 0755]

index 78b1680..b5a87f4 100644 (file)
@@ -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
index 91b41bc..68ad777 100644 (file)
   (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)
index 0a8976d..3601009 100644 (file)
@@ -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"
index 2a8af36..d369edb 100644 (file)
@@ -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")
diff --git a/gnu/packages/bootstrap/mips64el-linux/bash b/gnu/packages/bootstrap/mips64el-linux/bash
new file mode 100755 (executable)
index 0000000..403671d
Binary files /dev/null and b/gnu/packages/bootstrap/mips64el-linux/bash differ
diff --git a/gnu/packages/bootstrap/mips64el-linux/mkdir b/gnu/packages/bootstrap/mips64el-linux/mkdir
new file mode 100755 (executable)
index 0000000..c8d3285
Binary files /dev/null and b/gnu/packages/bootstrap/mips64el-linux/mkdir differ
diff --git a/gnu/packages/bootstrap/mips64el-linux/tar b/gnu/packages/bootstrap/mips64el-linux/tar
new file mode 100755 (executable)
index 0000000..0cdf7cc
Binary files /dev/null and b/gnu/packages/bootstrap/mips64el-linux/tar differ
diff --git a/gnu/packages/bootstrap/mips64el-linux/xz b/gnu/packages/bootstrap/mips64el-linux/xz
new file mode 100755 (executable)
index 0000000..b0622ba
Binary files /dev/null and b/gnu/packages/bootstrap/mips64el-linux/xz differ