aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark H Weaver <mhw@netris.org>2013-10-17 15:47:56 -0400
committerMark H Weaver <mhw@netris.org>2013-11-03 23:26:53 -0500
commitf57ff219ad9e08427e06d9c95fb71cc0764564c2 (patch)
tree98fff85d04ba20d29c48e685fb6bb79b85087b7f
parentc5916538fdf57c93dc8a5880c9eb4e2ca88aa760 (diff)
downloadgnu-guix-f57ff219ad9e08427e06d9c95fb71cc0764564c2.tar
gnu-guix-f57ff219ad9e08427e06d9c95fb71cc0764564c2.tar.gz
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.
-rw-r--r--.gitignore1
-rw-r--r--build-aux/download.scm7
-rw-r--r--gnu-system.am16
-rw-r--r--gnu/packages/bootstrap.scm51
-rwxr-xr-xgnu/packages/bootstrap/mips64el-linux/bashbin0 -> 1409080 bytes
-rwxr-xr-xgnu/packages/bootstrap/mips64el-linux/mkdirbin0 -> 698500 bytes
-rwxr-xr-xgnu/packages/bootstrap/mips64el-linux/tarbin0 -> 1283708 bytes
-rwxr-xr-xgnu/packages/bootstrap/mips64el-linux/xzbin0 -> 851736 bytes
8 files changed, 64 insertions, 11 deletions
diff --git a/.gitignore b/.gitignore
index 78b16800bf..b5a87f44aa 100644
--- a/.gitignore
+++ b/.gitignore
@@ -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
diff --git a/build-aux/download.scm b/build-aux/download.scm
index 91b41bcec1..68ad7773f5 100644
--- a/build-aux/download.scm
+++ b/build-aux/download.scm
@@ -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)
diff --git a/gnu-system.am b/gnu-system.am
index 0a8976d17c..360100932f 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -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"
diff --git a/gnu/packages/bootstrap.scm b/gnu/packages/bootstrap.scm
index 2a8af36ad6..d369edb8b6 100644
--- a/gnu/packages/bootstrap.scm
+++ b/gnu/packages/bootstrap.scm
@@ -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
index 0000000000..403671d2fa
--- /dev/null
+++ b/gnu/packages/bootstrap/mips64el-linux/bash
Binary files differ
diff --git a/gnu/packages/bootstrap/mips64el-linux/mkdir b/gnu/packages/bootstrap/mips64el-linux/mkdir
new file mode 100755
index 0000000000..c8d3285b38
--- /dev/null
+++ b/gnu/packages/bootstrap/mips64el-linux/mkdir
Binary files differ
diff --git a/gnu/packages/bootstrap/mips64el-linux/tar b/gnu/packages/bootstrap/mips64el-linux/tar
new file mode 100755
index 0000000000..0cdf7cce2c
--- /dev/null
+++ b/gnu/packages/bootstrap/mips64el-linux/tar
Binary files differ
diff --git a/gnu/packages/bootstrap/mips64el-linux/xz b/gnu/packages/bootstrap/mips64el-linux/xz
new file mode 100755
index 0000000000..b0622ba946
--- /dev/null
+++ b/gnu/packages/bootstrap/mips64el-linux/xz
Binary files differ