diff options
author | Efraim Flashner <efraim@flashner.co.il> | 2016-06-25 20:53:24 +0300 |
---|---|---|
committer | Efraim Flashner <efraim@flashner.co.il> | 2017-02-20 12:58:07 +0200 |
commit | 3b88f3767d9f3ad2cc64173525cd53d429bfe7e7 (patch) | |
tree | 7a928b9e808596c635fab302af5ae9f4c78a6617 | |
parent | 77e16733197b8950f6b665be1f69375cb2a7155f (diff) | |
download | guix-3b88f3767d9f3ad2cc64173525cd53d429bfe7e7.tar guix-3b88f3767d9f3ad2cc64173525cd53d429bfe7e7.tar.gz |
gnu: Add bootstrap-binaries for 'aarch64-linux'.
These bootstrap-binaries were built against commit
8f8f250bdca917b3ce38aa0902f01b19081859a4.
* gnu/packages/bootstrap/aarch64-linux/bash,
gnu/packages/bootstrap/aarch64-linux/mkdir,
gnu/packages/bootstrap/aarch64-linux/xz,
gnu/packages/bootstrap/aarch64-linux/tar: New files.
* gnu/local.mk (bootstrap_aarch64_linuxdir)
(dist_bootstrap_aarch64_linux_DATA)
(nodist_bootstrap_aarch64_linux_DATA): New variables.
(DISTCLEANFILES): Add $(nodist_bootstrap_aarch64_linux_DATA).
(gnu/packages/bootstrap/aarch64-linux/guile-2.0.14.tar.xz): New target.
* build-aux/download.scm (filename->uri): Add aarch64-linux entry.
* gnu/packages/bootstrap.scm (raw-build): Use guile-2.0.14.tar.xz on
aarch64-linux.
(glibc-dynamic-linker, %bootstrap-coreutils&co, %boostrap-binutils)
(%bootstrap-glibc, %bootstrap-gcc): Add aarch64-linux cases.
* m4/guix.m4 (GUIX_SYSTEM_TYPE): Add aarch64 case.
(GUIX_ASSERT_SUPPORTED_SYSTEM): Add aarch64-linux to supported list.
* doc/guix.texi (GNU Distribution): Add aarch64-linux to the list of
supported systems.
* tests/packages.scm (package-search-derivation, snippet): Add aarch64
case.
-rw-r--r-- | build-aux/download.scm | 20 | ||||
-rw-r--r-- | doc/guix.texi | 7 | ||||
-rw-r--r-- | gnu/local.mk | 15 | ||||
-rw-r--r-- | gnu/packages/bootstrap.scm | 26 | ||||
-rwxr-xr-x | gnu/packages/bootstrap/aarch64-linux/bash | bin | 0 -> 1162056 bytes | |||
-rwxr-xr-x | gnu/packages/bootstrap/aarch64-linux/mkdir | bin | 0 -> 558216 bytes | |||
-rwxr-xr-x | gnu/packages/bootstrap/aarch64-linux/tar | bin | 0 -> 1085128 bytes | |||
-rwxr-xr-x | gnu/packages/bootstrap/aarch64-linux/xz | bin | 0 -> 738576 bytes | |||
-rw-r--r-- | m4/guix.m4 | 3 | ||||
-rw-r--r-- | tests/packages.scm | 2 |
10 files changed, 63 insertions, 10 deletions
diff --git a/build-aux/download.scm b/build-aux/download.scm index 1e91e4b87c..e0b40e6f26 100644 --- a/build-aux/download.scm +++ b/build-aux/download.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org> +;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il> ;;; ;;; This file is part of GNU Guix. ;;; @@ -45,13 +46,18 @@ "Return the URI for FILE." (match (string-tokenize file (char-set-complement (char-set #\/))) ((_ ... system basename) - (string->uri (string-append %url-base "/" system - (match system - ("armhf-linux" - "/20150101/") - (_ - "/20131110/")) - basename))))) + (string->uri + (match system + ("aarch64-linux" + (string-append "http://flashner.co.il/guix/bootstrap/aarch64-linux" + "/20170217/" basename)) + (_ (string-append %url-base "/" system + (match system + ("armhf-linux" + "/20150101/") + (_ + "/20131110/")) + basename))))))) (match (command-line) ((_ file expected-hash) diff --git a/doc/guix.texi b/doc/guix.texi index 6cdb5e592b..8b97920f21 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -24,7 +24,7 @@ Copyright @copyright{} 2015, 2016, 2017 Leo Famulari@* Copyright @copyright{} 2015, 2016 Ricardo Wurmus@* Copyright @copyright{} 2016 Ben Woodcroft@* Copyright @copyright{} 2016 Chris Marusich@* -Copyright @copyright{} 2016 Efraim Flashner@* +Copyright @copyright{} 2016, 2017 Efraim Flashner@* Copyright @copyright{} 2016 John Darrington@* Copyright @copyright{} 2016 ng0@* Copyright @copyright{} 2016 Jan Nieuwenhuizen@* @@ -6710,6 +6710,11 @@ ARMv7-A architecture with hard float, Thumb-2 and NEON, using the EABI hard-float application binary interface (ABI), and Linux-Libre kernel. +@item aarch64-linux +little-endian 64-bit ARMv8-A processors, Linux-Libre kernel. This is +currently in an experimental stage, with limited support. See +@xref{Contributing}, for how to help! + @item mips64el-linux little-endian 64-bit MIPS processors, specifically the Loongson series, n32 ABI, and Linux-Libre kernel. diff --git a/gnu/local.mk b/gnu/local.mk index e7db9a6052..7ad66f5df8 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -10,6 +10,7 @@ # Copyright © 2016, 2017 Ricardo Wurmus <rekado@elephly.net> # Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com> # Copyright © 2016, 2017 Alex Vong <alexvong1995@gmail.com> +# Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il> # # This file is part of GNU Guix. # @@ -992,6 +993,7 @@ bootstrapdir = $(guilemoduledir)/%D%/packages/bootstrap bootstrap_x86_64_linuxdir = $(bootstrapdir)/x86_64-linux bootstrap_i686_linuxdir = $(bootstrapdir)/i686-linux bootstrap_armhf_linuxdir = $(bootstrapdir)/armhf-linux +bootstrap_aarch64_linuxdir = $(bootstrapdir)/aarch64-linux bootstrap_mips64el_linuxdir = $(bootstrapdir)/mips64el-linux dist_bootstrap_x86_64_linux_DATA = \ @@ -1012,6 +1014,12 @@ dist_bootstrap_armhf_linux_DATA = \ %D%/packages/bootstrap/armhf-linux/tar \ %D%/packages/bootstrap/armhf-linux/xz +dist_bootstrap_aarch64_linux_DATA = \ + %D%/packages/bootstrap/aarch64-linux/bash \ + %D%/packages/bootstrap/aarch64-linux/mkdir \ + %D%/packages/bootstrap/aarch64-linux/tar \ + %D%/packages/bootstrap/aarch64-linux/xz + dist_bootstrap_mips64el_linux_DATA = \ %D%/packages/bootstrap/mips64el-linux/bash \ %D%/packages/bootstrap/mips64el-linux/mkdir \ @@ -1026,6 +1034,8 @@ nodist_bootstrap_i686_linux_DATA = \ %D%/packages/bootstrap/i686-linux/guile-2.0.9.tar.xz nodist_bootstrap_armhf_linux_DATA = \ %D%/packages/bootstrap/armhf-linux/guile-2.0.11.tar.xz +nodist_bootstrap_aarch64_linux_DATA = \ + %D%/packages/bootstrap/aarch64-linux/guile-2.0.14.tar.xz nodist_bootstrap_mips64el_linux_DATA = \ %D%/packages/bootstrap/mips64el-linux/guile-2.0.9.tar.xz @@ -1038,6 +1048,7 @@ DISTCLEANFILES = \ $(nodist_bootstrap_x86_64_linux_DATA) \ $(nodist_bootstrap_i686_linux_DATA) \ $(nodist_bootstrap_armhf_linux_DATA) \ + $(nodist_bootstrap_aarch64_linux_DATA) \ $(nodist_bootstrap_mips64el_linux_DATA) # Method to download a file from an external source. @@ -1058,6 +1069,10 @@ DOWNLOAD_FILE = \ $(AM_V_DL)$(MKDIR_P) `dirname "$@"`; \ $(DOWNLOAD_FILE) "$@" \ "e551d05d4d385d6706ab8d574856a087758294dc90ab4c06e70a157a685e23d6" +%D%/packages/bootstrap/aarch64-linux/guile-2.0.14.tar.xz: + $(AM_V_DL)$(MKDIR_P) `dirname "$@"`; \ + $(DOWNLOAD_FILE) "$@" \ + "3939909f24dcb955621aa7f81ecde6844bea8a083969c2d275c55699af123ebe" %D%/packages/bootstrap/mips64el-linux/guile-2.0.9.tar.xz: $(AM_V_DL)$(MKDIR_P) `dirname "$@"`; \ $(DOWNLOAD_FILE) "$@" \ diff --git a/gnu/packages/bootstrap.scm b/gnu/packages/bootstrap.scm index 251d1fec7b..61f1f1ab3f 100644 --- a/gnu/packages/bootstrap.scm +++ b/gnu/packages/bootstrap.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org> +;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il> ;;; ;;; This file is part of GNU Guix. ;;; @@ -203,6 +204,8 @@ successful, or false to signal an error." (guile (->store (match system ("armhf-linux" "guile-2.0.11.tar.xz") + ("aarch64-linux" + "guile-2.0.14.tar.xz") (_ "guile-2.0.9.tar.xz")))) ;; The following code, run by the bootstrap guile after it is @@ -291,7 +294,8 @@ $out/bin/guile --version~%" ;; This is where the initial binaries come from. '("ftp://alpha.gnu.org/gnu/guix/bootstrap" "http://alpha.gnu.org/gnu/guix/bootstrap" - "http://www.fdn.fr/~lcourtes/software/guix/packages")) + "http://www.fdn.fr/~lcourtes/software/guix/packages" + "http://flashner.co.il/guix/bootstrap")) (define %bootstrap-coreutils&co (package-from-tarball "bootstrap-binaries" @@ -302,6 +306,8 @@ $out/bin/guile --version~%" (match system ("armhf-linux" "/20150101/static-binaries.tar.xz") + ("aarch64-linux" + "/20170217/static-binaries.tar.xz") (_ "/20131110/static-binaries.tar.xz"))) %bootstrap-base-urls)) @@ -316,6 +322,9 @@ $out/bin/guile --version~%" ("armhf-linux" (base32 "0gf0fn2kbpxkjixkmx5f4z6hv6qpmgixl69zgg74dbsfdfj8jdv5")) + ("aarch64-linux" + (base32 + "18dfiq6c6xhsdpbidigw6480wh0vdgsxqq3xindq4lpdgqlccpfh")) ("mips64el-linux" (base32 "072y4wyfsj1bs80r6vbybbafy8ya4vfy7qj25dklwk97m6g71753")))))) @@ -345,6 +354,8 @@ $out/bin/guile --version~%" (match system ("armhf-linux" "/20150101/binutils-2.25.tar.xz") + ("aarch64-linux" + "/20170217/binutils-2.27.tar.xz") (_ "/20131110/binutils-2.23.2.tar.xz"))) %bootstrap-base-urls)) @@ -359,6 +370,9 @@ $out/bin/guile --version~%" ("armhf-linux" (base32 "1v7dj6bzn6m36f20gw31l99xaabq4xrhrx3gwqkhhig0mdlmr69q")) + ("aarch64-linux" + (base32 + "111s7ilfiby033rczc71797xrmaa3qlv179wdvsaq132pd51xv3n")) ("mips64el-linux" (base32 "1x8kkhcxmfyzg1ddpz2pxs6fbdl6412r7x0nzbmi5n7mj8zw2gy7")))))) @@ -406,6 +420,8 @@ $out/bin/guile --version~%" (match (%current-system) ("armhf-linux" "/20150101/glibc-2.20.tar.xz") + ("aarch64-linux" + "/20170217/glibc-2.25.tar.xz") (_ "/20131110/glibc-2.18.tar.xz"))) %bootstrap-base-urls)) @@ -420,6 +436,9 @@ $out/bin/guile --version~%" ("armhf-linux" (base32 "18cmgvpllqfpn6khsmivqib7ys8ymnq0hdzi3qp24prik0ykz8gn")) + ("aarch64-linux" + (base32 + "07nx3x8598i2924rjnlrncg6rm61c9bmcczbbcpbx0fb742nvv5c")) ("mips64el-linux" (base32 "0k97a3whzx3apsi9n2cbsrr79ad6lh00klxph9hw4fqyp1abkdsg"))))))))) @@ -484,6 +503,8 @@ exec ~a/bin/.gcc-wrapped -B~a/lib \ (match (%current-system) ("armhf-linux" "/20150101/gcc-4.8.4.tar.xz") + ("aarch64-linux" + "/20170217/gcc-5.4.0.tar.xz") (_ "/20131110/gcc-4.8.2.tar.xz"))) %bootstrap-base-urls)) @@ -498,6 +519,9 @@ exec ~a/bin/.gcc-wrapped -B~a/lib \ ("armhf-linux" (base32 "0ghz825yzp43fxw53kd6afm8nkz16f7dxi9xi40bfwc8x3nbbr8v")) + ("aarch64-linux" + (base32 + "1ar3vdzyqbfm0z36kmvazvfswxhcihlacl2dzdjgiq25cqnq9ih1")) ("mips64el-linux" (base32 "1m5miqkyng45l745n0sfafdpjkqv9225xf44jqkygwsipj2cv9ks"))))))))) diff --git a/gnu/packages/bootstrap/aarch64-linux/bash b/gnu/packages/bootstrap/aarch64-linux/bash Binary files differnew file mode 100755 index 0000000000..0bfb9d1824 --- /dev/null +++ b/gnu/packages/bootstrap/aarch64-linux/bash diff --git a/gnu/packages/bootstrap/aarch64-linux/mkdir b/gnu/packages/bootstrap/aarch64-linux/mkdir Binary files differnew file mode 100755 index 0000000000..35cd1815fd --- /dev/null +++ b/gnu/packages/bootstrap/aarch64-linux/mkdir diff --git a/gnu/packages/bootstrap/aarch64-linux/tar b/gnu/packages/bootstrap/aarch64-linux/tar Binary files differnew file mode 100755 index 0000000000..7e68edb0be --- /dev/null +++ b/gnu/packages/bootstrap/aarch64-linux/tar diff --git a/gnu/packages/bootstrap/aarch64-linux/xz b/gnu/packages/bootstrap/aarch64-linux/xz Binary files differnew file mode 100755 index 0000000000..5aa18c9234 --- /dev/null +++ b/gnu/packages/bootstrap/aarch64-linux/xz diff --git a/m4/guix.m4 b/m4/guix.m4 index 6630598416..e546b8f4dd 100644 --- a/m4/guix.m4 +++ b/m4/guix.m4 @@ -1,6 +1,7 @@ dnl GNU Guix --- Functional package management for GNU dnl Copyright © 2012, 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org> dnl Copyright © 2014 Mark H Weaver <mhw@netris.org> +dnl Copyright © 2017 Efraim Flashner <efraim@flashner.co.il> dnl dnl This file is part of GNU Guix. dnl @@ -105,7 +106,7 @@ courageous and port the GNU System distribution to it (see # Currently only Linux-based systems are supported, and only on some # platforms. case "$guix_system" in - x86_64-linux|i686-linux|armhf-linux|mips64el-linux) + x86_64-linux|i686-linux|armhf-linux|aarch64-linux|mips64el-linux) ;; *) if test "x$guix_courageous" = "xyes"; then diff --git a/tests/packages.scm b/tests/packages.scm index 962f120ea2..aa29758830 100644 --- a/tests/packages.scm +++ b/tests/packages.scm @@ -380,6 +380,8 @@ (let* ((file (search-bootstrap-binary (match (%current-system) ("armhf-linux" "guile-2.0.11.tar.xz") + ("aarch64-linux" + "guile-2.0.14.tar.xz") (_ "guile-2.0.9.tar.xz")) (%current-system))) |