From f57ff219ad9e08427e06d9c95fb71cc0764564c2 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Thu, 17 Oct 2013 15:47:56 -0400 Subject: 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. --- .gitignore | 1 + build-aux/download.scm | 7 +++- gnu-system.am | 16 ++++++++- gnu/packages/bootstrap.scm | 51 +++++++++++++++++++++++----- gnu/packages/bootstrap/mips64el-linux/bash | Bin 0 -> 1409080 bytes gnu/packages/bootstrap/mips64el-linux/mkdir | Bin 0 -> 698500 bytes gnu/packages/bootstrap/mips64el-linux/tar | Bin 0 -> 1283708 bytes gnu/packages/bootstrap/mips64el-linux/xz | Bin 0 -> 851736 bytes 8 files changed, 64 insertions(+), 11 deletions(-) create mode 100755 gnu/packages/bootstrap/mips64el-linux/bash create mode 100755 gnu/packages/bootstrap/mips64el-linux/mkdir create mode 100755 gnu/packages/bootstrap/mips64el-linux/tar create mode 100755 gnu/packages/bootstrap/mips64el-linux/xz 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 # Copyright © 2013 Andreas Enge +# Copyright © 2013 Mark H Weaver # # 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 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 index 0000000000..c8d3285b38 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 index 0000000000..0cdf7cce2c 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 index 0000000000..b0622ba946 Binary files /dev/null and b/gnu/packages/bootstrap/mips64el-linux/xz differ -- cgit v1.2.3