guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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


From: Efraim Flashner
Subject: 08/08: gnu: Add bootstrap-binaries for 'aarch64-linux'.
Date: Mon, 20 Feb 2017 06:05:19 -0500 (EST)

efraim pushed a commit to branch core-updates
in repository guix.

commit 3b88f3767d9f3ad2cc64173525cd53d429bfe7e7
Author: Efraim Flashner <address@hidden>
Date:   Sat Jun 25 20:53:24 2016 +0300

    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.
---
 build-aux/download.scm                     |  20 +++++++++++++-------
 doc/guix.texi                              |   7 ++++++-
 gnu/local.mk                               |  15 +++++++++++++++
 gnu/packages/bootstrap.scm                 |  26 +++++++++++++++++++++++++-
 gnu/packages/bootstrap/aarch64-linux/bash  | Bin 0 -> 1162056 bytes
 gnu/packages/bootstrap/aarch64-linux/mkdir | Bin 0 -> 558216 bytes
 gnu/packages/bootstrap/aarch64-linux/tar   | Bin 0 -> 1085128 bytes
 gnu/packages/bootstrap/aarch64-linux/xz    | Bin 0 -> 738576 bytes
 m4/guix.m4                                 |   3 ++-
 tests/packages.scm                         |   2 ++
 10 files changed, 63 insertions(+), 10 deletions(-)

diff --git a/build-aux/download.scm b/build-aux/download.scm
index 1e91e4b..e0b40e6 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 <address@hidden>
 ;;; Copyright © 2014, 2015 Mark H Weaver <address@hidden>
+;;; Copyright © 2017 Efraim Flashner <address@hidden>
 ;;;
 ;;; 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 6cdb5e5..8b97920 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -24,7 +24,7 @@ Copyright @copyright{} 2015, 2016, 2017 Leo address@hidden
 Copyright @copyright{} 2015, 2016 Ricardo address@hidden
 Copyright @copyright{} 2016 Ben address@hidden
 Copyright @copyright{} 2016 Chris address@hidden
-Copyright @copyright{} 2016 Efraim address@hidden
+Copyright @copyright{} 2016, 2017 Efraim address@hidden
 Copyright @copyright{} 2016 John address@hidden
 Copyright @copyright{} 2016 address@hidden
 Copyright @copyright{} 2016 Jan address@hidden
@@ -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.
 
address@hidden aarch64-linux
+little-endian 64-bit ARMv8-A processors, Linux-Libre kernel.  This is
+currently in an experimental stage, with limited support.  See
address@hidden, 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 e7db9a6..7ad66f5 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -10,6 +10,7 @@
 # Copyright © 2016, 2017 Ricardo Wurmus <address@hidden>
 # Copyright © 2016 Ben Woodcroft <address@hidden>
 # Copyright © 2016, 2017 Alex Vong <address@hidden>
+# Copyright © 2016, 2017 Efraim Flashner <address@hidden>
 #
 # 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 251d1fe..61f1f1a 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 
<address@hidden>
 ;;; Copyright © 2014, 2015 Mark H Weaver <address@hidden>
+;;; Copyright © 2017 Efraim Flashner <address@hidden>
 ;;;
 ;;; 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
new file mode 100755
index 0000000..0bfb9d1
Binary files /dev/null and b/gnu/packages/bootstrap/aarch64-linux/bash differ
diff --git a/gnu/packages/bootstrap/aarch64-linux/mkdir 
b/gnu/packages/bootstrap/aarch64-linux/mkdir
new file mode 100755
index 0000000..35cd181
Binary files /dev/null and b/gnu/packages/bootstrap/aarch64-linux/mkdir differ
diff --git a/gnu/packages/bootstrap/aarch64-linux/tar 
b/gnu/packages/bootstrap/aarch64-linux/tar
new file mode 100755
index 0000000..7e68edb
Binary files /dev/null and b/gnu/packages/bootstrap/aarch64-linux/tar differ
diff --git a/gnu/packages/bootstrap/aarch64-linux/xz 
b/gnu/packages/bootstrap/aarch64-linux/xz
new file mode 100755
index 0000000..5aa18c9
Binary files /dev/null and b/gnu/packages/bootstrap/aarch64-linux/xz differ
diff --git a/m4/guix.m4 b/m4/guix.m4
index 6630598..e546b8f 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 <address@hidden>
 dnl Copyright © 2014 Mark H Weaver <address@hidden>
+dnl Copyright © 2017 Efraim Flashner <address@hidden>
 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 962f120..aa29758 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)))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]