gnu: Add bootstrap-binaries for 'aarch64-linux'.

These bootstrap-binaries were built against commit
8f8f250bdc.

* 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.
This commit is contained in:
Efraim Flashner 2016-06-25 20:53:24 +03:00
parent 77e1673319
commit 3b88f3767d
No known key found for this signature in database
GPG key ID: F4C1D3917EACEE93
10 changed files with 63 additions and 10 deletions

View file

@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.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. ;;; This file is part of GNU Guix.
;;; ;;;
@ -45,13 +46,18 @@ (define (file-name->uri file)
"Return the URI for FILE." "Return the URI for FILE."
(match (string-tokenize file (char-set-complement (char-set #\/))) (match (string-tokenize file (char-set-complement (char-set #\/)))
((_ ... system basename) ((_ ... system basename)
(string->uri (string-append %url-base "/" system (string->uri
(match system (match system
("armhf-linux" ("aarch64-linux"
"/20150101/") (string-append "http://flashner.co.il/guix/bootstrap/aarch64-linux"
(_ "/20170217/" basename))
"/20131110/")) (_ (string-append %url-base "/" system
basename))))) (match system
("armhf-linux"
"/20150101/")
(_
"/20131110/"))
basename)))))))
(match (command-line) (match (command-line)
((_ file expected-hash) ((_ file expected-hash)

View file

@ -24,7 +24,7 @@ Copyright @copyright{} 2015, 2016, 2017 Leo Famulari@*
Copyright @copyright{} 2015, 2016 Ricardo Wurmus@* Copyright @copyright{} 2015, 2016 Ricardo Wurmus@*
Copyright @copyright{} 2016 Ben Woodcroft@* Copyright @copyright{} 2016 Ben Woodcroft@*
Copyright @copyright{} 2016 Chris Marusich@* Copyright @copyright{} 2016 Chris Marusich@*
Copyright @copyright{} 2016 Efraim Flashner@* Copyright @copyright{} 2016, 2017 Efraim Flashner@*
Copyright @copyright{} 2016 John Darrington@* Copyright @copyright{} 2016 John Darrington@*
Copyright @copyright{} 2016 ng0@* Copyright @copyright{} 2016 ng0@*
Copyright @copyright{} 2016 Jan Nieuwenhuizen@* 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), using the EABI hard-float application binary interface (ABI),
and Linux-Libre kernel. 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 @item mips64el-linux
little-endian 64-bit MIPS processors, specifically the Loongson series, little-endian 64-bit MIPS processors, specifically the Loongson series,
n32 ABI, and Linux-Libre kernel. n32 ABI, and Linux-Libre kernel.

View file

@ -10,6 +10,7 @@
# Copyright © 2016, 2017 Ricardo Wurmus <rekado@elephly.net> # Copyright © 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
# Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com> # Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
# Copyright © 2016, 2017 Alex Vong <alexvong1995@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. # 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_x86_64_linuxdir = $(bootstrapdir)/x86_64-linux
bootstrap_i686_linuxdir = $(bootstrapdir)/i686-linux bootstrap_i686_linuxdir = $(bootstrapdir)/i686-linux
bootstrap_armhf_linuxdir = $(bootstrapdir)/armhf-linux bootstrap_armhf_linuxdir = $(bootstrapdir)/armhf-linux
bootstrap_aarch64_linuxdir = $(bootstrapdir)/aarch64-linux
bootstrap_mips64el_linuxdir = $(bootstrapdir)/mips64el-linux bootstrap_mips64el_linuxdir = $(bootstrapdir)/mips64el-linux
dist_bootstrap_x86_64_linux_DATA = \ 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/tar \
%D%/packages/bootstrap/armhf-linux/xz %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 = \ dist_bootstrap_mips64el_linux_DATA = \
%D%/packages/bootstrap/mips64el-linux/bash \ %D%/packages/bootstrap/mips64el-linux/bash \
%D%/packages/bootstrap/mips64el-linux/mkdir \ %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 %D%/packages/bootstrap/i686-linux/guile-2.0.9.tar.xz
nodist_bootstrap_armhf_linux_DATA = \ nodist_bootstrap_armhf_linux_DATA = \
%D%/packages/bootstrap/armhf-linux/guile-2.0.11.tar.xz %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 = \ nodist_bootstrap_mips64el_linux_DATA = \
%D%/packages/bootstrap/mips64el-linux/guile-2.0.9.tar.xz %D%/packages/bootstrap/mips64el-linux/guile-2.0.9.tar.xz
@ -1038,6 +1048,7 @@ DISTCLEANFILES = \
$(nodist_bootstrap_x86_64_linux_DATA) \ $(nodist_bootstrap_x86_64_linux_DATA) \
$(nodist_bootstrap_i686_linux_DATA) \ $(nodist_bootstrap_i686_linux_DATA) \
$(nodist_bootstrap_armhf_linux_DATA) \ $(nodist_bootstrap_armhf_linux_DATA) \
$(nodist_bootstrap_aarch64_linux_DATA) \
$(nodist_bootstrap_mips64el_linux_DATA) $(nodist_bootstrap_mips64el_linux_DATA)
# Method to download a file from an external source. # Method to download a file from an external source.
@ -1058,6 +1069,10 @@ DOWNLOAD_FILE = \
$(AM_V_DL)$(MKDIR_P) `dirname "$@"`; \ $(AM_V_DL)$(MKDIR_P) `dirname "$@"`; \
$(DOWNLOAD_FILE) "$@" \ $(DOWNLOAD_FILE) "$@" \
"e551d05d4d385d6706ab8d574856a087758294dc90ab4c06e70a157a685e23d6" "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: %D%/packages/bootstrap/mips64el-linux/guile-2.0.9.tar.xz:
$(AM_V_DL)$(MKDIR_P) `dirname "$@"`; \ $(AM_V_DL)$(MKDIR_P) `dirname "$@"`; \
$(DOWNLOAD_FILE) "$@" \ $(DOWNLOAD_FILE) "$@" \

View file

@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.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. ;;; This file is part of GNU Guix.
;;; ;;;
@ -203,6 +204,8 @@ (define (->store file)
(guile (->store (match system (guile (->store (match system
("armhf-linux" ("armhf-linux"
"guile-2.0.11.tar.xz") "guile-2.0.11.tar.xz")
("aarch64-linux"
"guile-2.0.14.tar.xz")
(_ (_
"guile-2.0.9.tar.xz")))) "guile-2.0.9.tar.xz"))))
;; The following code, run by the bootstrap guile after it is ;; The following code, run by the bootstrap guile after it is
@ -291,7 +294,8 @@ (define %bootstrap-base-urls
;; This is where the initial binaries come from. ;; This is where the initial binaries come from.
'("ftp://alpha.gnu.org/gnu/guix/bootstrap" '("ftp://alpha.gnu.org/gnu/guix/bootstrap"
"http://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 (define %bootstrap-coreutils&co
(package-from-tarball "bootstrap-binaries" (package-from-tarball "bootstrap-binaries"
@ -302,6 +306,8 @@ (define %bootstrap-coreutils&co
(match system (match system
("armhf-linux" ("armhf-linux"
"/20150101/static-binaries.tar.xz") "/20150101/static-binaries.tar.xz")
("aarch64-linux"
"/20170217/static-binaries.tar.xz")
(_ (_
"/20131110/static-binaries.tar.xz"))) "/20131110/static-binaries.tar.xz")))
%bootstrap-base-urls)) %bootstrap-base-urls))
@ -316,6 +322,9 @@ (define %bootstrap-coreutils&co
("armhf-linux" ("armhf-linux"
(base32 (base32
"0gf0fn2kbpxkjixkmx5f4z6hv6qpmgixl69zgg74dbsfdfj8jdv5")) "0gf0fn2kbpxkjixkmx5f4z6hv6qpmgixl69zgg74dbsfdfj8jdv5"))
("aarch64-linux"
(base32
"18dfiq6c6xhsdpbidigw6480wh0vdgsxqq3xindq4lpdgqlccpfh"))
("mips64el-linux" ("mips64el-linux"
(base32 (base32
"072y4wyfsj1bs80r6vbybbafy8ya4vfy7qj25dklwk97m6g71753")))))) "072y4wyfsj1bs80r6vbybbafy8ya4vfy7qj25dklwk97m6g71753"))))))
@ -345,6 +354,8 @@ (define %bootstrap-binutils
(match system (match system
("armhf-linux" ("armhf-linux"
"/20150101/binutils-2.25.tar.xz") "/20150101/binutils-2.25.tar.xz")
("aarch64-linux"
"/20170217/binutils-2.27.tar.xz")
(_ (_
"/20131110/binutils-2.23.2.tar.xz"))) "/20131110/binutils-2.23.2.tar.xz")))
%bootstrap-base-urls)) %bootstrap-base-urls))
@ -359,6 +370,9 @@ (define %bootstrap-binutils
("armhf-linux" ("armhf-linux"
(base32 (base32
"1v7dj6bzn6m36f20gw31l99xaabq4xrhrx3gwqkhhig0mdlmr69q")) "1v7dj6bzn6m36f20gw31l99xaabq4xrhrx3gwqkhhig0mdlmr69q"))
("aarch64-linux"
(base32
"111s7ilfiby033rczc71797xrmaa3qlv179wdvsaq132pd51xv3n"))
("mips64el-linux" ("mips64el-linux"
(base32 (base32
"1x8kkhcxmfyzg1ddpz2pxs6fbdl6412r7x0nzbmi5n7mj8zw2gy7")))))) "1x8kkhcxmfyzg1ddpz2pxs6fbdl6412r7x0nzbmi5n7mj8zw2gy7"))))))
@ -406,6 +420,8 @@ (define %bootstrap-glibc
(match (%current-system) (match (%current-system)
("armhf-linux" ("armhf-linux"
"/20150101/glibc-2.20.tar.xz") "/20150101/glibc-2.20.tar.xz")
("aarch64-linux"
"/20170217/glibc-2.25.tar.xz")
(_ (_
"/20131110/glibc-2.18.tar.xz"))) "/20131110/glibc-2.18.tar.xz")))
%bootstrap-base-urls)) %bootstrap-base-urls))
@ -420,6 +436,9 @@ (define %bootstrap-glibc
("armhf-linux" ("armhf-linux"
(base32 (base32
"18cmgvpllqfpn6khsmivqib7ys8ymnq0hdzi3qp24prik0ykz8gn")) "18cmgvpllqfpn6khsmivqib7ys8ymnq0hdzi3qp24prik0ykz8gn"))
("aarch64-linux"
(base32
"07nx3x8598i2924rjnlrncg6rm61c9bmcczbbcpbx0fb742nvv5c"))
("mips64el-linux" ("mips64el-linux"
(base32 (base32
"0k97a3whzx3apsi9n2cbsrr79ad6lh00klxph9hw4fqyp1abkdsg"))))))))) "0k97a3whzx3apsi9n2cbsrr79ad6lh00klxph9hw4fqyp1abkdsg")))))))))
@ -484,6 +503,8 @@ (define %bootstrap-gcc
(match (%current-system) (match (%current-system)
("armhf-linux" ("armhf-linux"
"/20150101/gcc-4.8.4.tar.xz") "/20150101/gcc-4.8.4.tar.xz")
("aarch64-linux"
"/20170217/gcc-5.4.0.tar.xz")
(_ (_
"/20131110/gcc-4.8.2.tar.xz"))) "/20131110/gcc-4.8.2.tar.xz")))
%bootstrap-base-urls)) %bootstrap-base-urls))
@ -498,6 +519,9 @@ (define %bootstrap-gcc
("armhf-linux" ("armhf-linux"
(base32 (base32
"0ghz825yzp43fxw53kd6afm8nkz16f7dxi9xi40bfwc8x3nbbr8v")) "0ghz825yzp43fxw53kd6afm8nkz16f7dxi9xi40bfwc8x3nbbr8v"))
("aarch64-linux"
(base32
"1ar3vdzyqbfm0z36kmvazvfswxhcihlacl2dzdjgiq25cqnq9ih1"))
("mips64el-linux" ("mips64el-linux"
(base32 (base32
"1m5miqkyng45l745n0sfafdpjkqv9225xf44jqkygwsipj2cv9ks"))))))))) "1m5miqkyng45l745n0sfafdpjkqv9225xf44jqkygwsipj2cv9ks")))))))))

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -1,6 +1,7 @@
dnl GNU Guix --- Functional package management for GNU dnl GNU Guix --- Functional package management for GNU
dnl Copyright © 2012, 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org> dnl Copyright © 2012, 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
dnl Copyright © 2014 Mark H Weaver <mhw@netris.org> dnl Copyright © 2014 Mark H Weaver <mhw@netris.org>
dnl Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
dnl dnl
dnl This file is part of GNU Guix. dnl This file is part of GNU Guix.
dnl 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 # Currently only Linux-based systems are supported, and only on some
# platforms. # platforms.
case "$guix_system" in 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 if test "x$guix_courageous" = "xyes"; then

View file

@ -380,6 +380,8 @@ (define read-at
(let* ((file (search-bootstrap-binary (match (%current-system) (let* ((file (search-bootstrap-binary (match (%current-system)
("armhf-linux" ("armhf-linux"
"guile-2.0.11.tar.xz") "guile-2.0.11.tar.xz")
("aarch64-linux"
"guile-2.0.14.tar.xz")
(_ (_
"guile-2.0.9.tar.xz")) "guile-2.0.9.tar.xz"))
(%current-system))) (%current-system)))