From: Efraim Flashner <efraim@flashner.co.il>
To: guix-devel@gnu.org
Subject: [PATCH 4/6] gnu: Add bootstrap-binaries for 'aarch64-linux'.
Date: Thu, 9 Feb 2017 20:45:08 +0200 [thread overview]
Message-ID: <20170209184510.24200-5-efraim@flashner.co.il> (raw)
In-Reply-To: <20170209184510.24200-1-efraim@flashner.co.il>
* 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.13.tar.xz): New target.
* build-aux/download.scm (filename->uri): Add aarch64-linux entry.
* gnu/packages/bootstrap.scm (raw-build): Use guile-2.0.13.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 | 3 +++
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, 60 insertions(+), 9 deletions(-)
create mode 100755 gnu/packages/bootstrap/aarch64-linux/bash
create mode 100755 gnu/packages/bootstrap/aarch64-linux/mkdir
create mode 100755 gnu/packages/bootstrap/aarch64-linux/tar
create mode 100755 gnu/packages/bootstrap/aarch64-linux/xz
diff --git a/build-aux/download.scm b/build-aux/download.scm
index 1e91e4b87..383cdf880 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"
+ "/20170209/" 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 6acde6621..5242b1fc4 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -6669,6 +6669,9 @@ 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 processors.
+
@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 ad3be4b13..5a6fbb08e 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -9,6 +9,7 @@
# Copyright © 2016 Adonay "adfeno" Felipe Nogueira <https://libreplanet.org/wiki/User:Adfeno> <adfeno@openmailbox.org>
# Copyright © 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
# Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
+# Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
#
# This file is part of GNU Guix.
#
@@ -970,6 +971,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 = \
@@ -990,6 +992,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 \
@@ -1004,6 +1012,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.13.tar.xz
nodist_bootstrap_mips64el_linux_DATA = \
%D%/packages/bootstrap/mips64el-linux/guile-2.0.9.tar.xz
@@ -1016,6 +1026,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.
@@ -1036,6 +1047,10 @@ DOWNLOAD_FILE = \
$(AM_V_DL)$(MKDIR_P) `dirname "$@"`; \
$(DOWNLOAD_FILE) "$@" \
"e551d05d4d385d6706ab8d574856a087758294dc90ab4c06e70a157a685e23d6"
+%D%/packages/bootstrap/aarch64-linux/guile-2.0.13.tar.xz:
+ $(AM_V_DL)$(MKDIR_P) `dirname "$@"`; \
+ $(DOWNLOAD_FILE) "$@" \
+ "7cbc2580b862b1dd02c365b4a48c804040f2f7d57689d822a3d6c3f13b9868d2"
%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 1dd853260..21d743a98 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.
;;;
@@ -202,6 +203,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.13.tar.xz")
(_
"guile-2.0.9.tar.xz"))))
;; The following code, run by the bootstrap guile after it is
@@ -290,7 +293,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"
@@ -301,6 +305,8 @@ $out/bin/guile --version~%"
(match system
("armhf-linux"
"/20150101/static-binaries.tar.xz")
+ ("aarch64-linux"
+ "/20170209/static-binaries.tar.xz")
(_
"/20131110/static-binaries.tar.xz")))
%bootstrap-base-urls))
@@ -315,6 +321,9 @@ $out/bin/guile --version~%"
("armhf-linux"
(base32
"0gf0fn2kbpxkjixkmx5f4z6hv6qpmgixl69zgg74dbsfdfj8jdv5"))
+ ("aarch64-linux"
+ (base32
+ "0kaj9xbxjglzvcs7g8gvsf5sysy1hjdc6hxn7dv51sgpv32qqgvr"))
("mips64el-linux"
(base32
"072y4wyfsj1bs80r6vbybbafy8ya4vfy7qj25dklwk97m6g71753"))))))
@@ -341,6 +350,8 @@ $out/bin/guile --version~%"
(match system
("armhf-linux"
"/20150101/binutils-2.25.tar.xz")
+ ("aarch64-linux"
+ "/20170209/binutils-2.27.tar.xz")
(_
"/20131110/binutils-2.23.2.tar.xz")))
%bootstrap-base-urls))
@@ -355,6 +366,9 @@ $out/bin/guile --version~%"
("armhf-linux"
(base32
"1v7dj6bzn6m36f20gw31l99xaabq4xrhrx3gwqkhhig0mdlmr69q"))
+ ("aarch64-linux"
+ (base32
+ "111s7ilfiby033rczc71797xrmaa3qlv179wdvsaq132pd51xv3n"))
("mips64el-linux"
(base32
"1x8kkhcxmfyzg1ddpz2pxs6fbdl6412r7x0nzbmi5n7mj8zw2gy7"))))))
@@ -402,6 +416,8 @@ $out/bin/guile --version~%"
(match (%current-system)
("armhf-linux"
"/20150101/glibc-2.20.tar.xz")
+ ("aarch64-linux"
+ "/20170209/glibc-2.25.tar.xz")
(_
"/20131110/glibc-2.18.tar.xz")))
%bootstrap-base-urls))
@@ -416,6 +432,9 @@ $out/bin/guile --version~%"
("armhf-linux"
(base32
"18cmgvpllqfpn6khsmivqib7ys8ymnq0hdzi3qp24prik0ykz8gn"))
+ ("aarch64-linux"
+ (base32
+ "07n3xn4znp5z8h3cm0lqifl5d6yrdygl8zlnckwyvpmk3aarrm2j"))
("mips64el-linux"
(base32
"0k97a3whzx3apsi9n2cbsrr79ad6lh00klxph9hw4fqyp1abkdsg")))))))))
@@ -480,6 +499,8 @@ exec ~a/bin/.gcc-wrapped -B~a/lib \
(match (%current-system)
("armhf-linux"
"/20150101/gcc-4.8.4.tar.xz")
+ ("aarch64-linux"
+ "/20170209/gcc-5.4.0.tar.xz")
(_
"/20131110/gcc-4.8.2.tar.xz")))
%bootstrap-base-urls))
@@ -494,6 +515,9 @@ exec ~a/bin/.gcc-wrapped -B~a/lib \
("armhf-linux"
(base32
"0ghz825yzp43fxw53kd6afm8nkz16f7dxi9xi40bfwc8x3nbbr8v"))
+ ("aarch64-linux"
+ (base32
+ "06pdsmff7r3hw1x7c6ipbmxxd9j2d215hf422i2drjigacc25pq3"))
("mips64el-linux"
(base32
"1m5miqkyng45l745n0sfafdpjkqv9225xf44jqkygwsipj2cv9ks")))))))))
diff --git a/m4/guix.m4 b/m4/guix.m4
index 663059841..e546b8f4d 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 962f120ea..d509a1e51 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.13.tar.xz")
(_
"guile-2.0.9.tar.xz"))
(%current-system)))
--
2.11.1
next prev parent reply other threads:[~2017-02-09 18:46 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-02-09 18:45 [PATCH 0/6] WIP aarch64 support Efraim Flashner
2017-02-09 18:45 ` [PATCH 1/6] gnu: %static-inputs: Use 'grep' without custom phase Efraim Flashner
2017-02-14 8:30 ` Ludovic Courtès
2017-02-14 19:53 ` Efraim Flashner
2017-02-09 18:45 ` [PATCH 2/6] gnu: %bootstrap-coreutils&co: Patch egrep/fgrep to work regardless of $PATH Efraim Flashner
2017-02-14 8:35 ` Ludovic Courtès
2017-02-14 19:46 ` Efraim Flashner
2017-02-09 18:45 ` [PATCH 3/6] daemon: On aarch64, use increments of 16 on the stack Efraim Flashner
2017-02-14 8:47 ` Ludovic Courtès
2017-02-14 20:11 ` Efraim Flashner
2017-08-05 6:21 ` Mark H Weaver
2017-08-05 18:24 ` Efraim Flashner
2017-08-05 21:32 ` Mark H Weaver
2017-08-05 21:41 ` Mark H Weaver
2017-08-06 14:53 ` Efraim Flashner
2017-08-09 20:22 ` Mark H Weaver
2017-08-05 21:12 ` Ludovic Courtès
2017-02-09 18:45 ` Efraim Flashner [this message]
2017-02-14 8:51 ` [PATCH 4/6] gnu: Add bootstrap-binaries for 'aarch64-linux' Ludovic Courtès
2017-02-14 20:05 ` Efraim Flashner
2017-02-09 18:45 ` [PATCH 5/6] gnu: gcc: Force Aarch64 to use /lib Efraim Flashner
2017-02-11 16:03 ` Danny Milosavljevic
2017-02-14 8:51 ` Ludovic Courtès
2017-02-14 19:51 ` Efraim Flashner
2017-02-22 19:42 ` Efraim Flashner
2017-02-25 19:04 ` Efraim Flashner
2017-03-06 9:24 ` Ludovic Courtès
2017-02-09 18:45 ` [PATCH 6/6] hydra: Add "aarch64-linux-gnu" as a cross-compilation target Efraim Flashner
2017-02-14 8:52 ` Ludovic Courtès
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170209184510.24200-5-efraim@flashner.co.il \
--to=efraim@flashner.co.il \
--cc=guix-devel@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.