gnu: Add bootstrap binaries for 'armhf-linux'.
* gnu/packages/bootstrap/armhf-linux/bash, gnu/packages/bootstrap/armhf-linux/mkdir, gnu/packages/bootstrap/armhf-linux/tar, gnu/packages/bootstrap/armhf-linux/xz: New files. * gnu-system.am (bootstrap_armhf_linuxdir, dist_bootstrap_armhf_linux_DATA) (nodist_bootstrap_armhf_linux_DATA): New variables. (DISTCLEANFILES): Add $(nodist_bootstrap_armhf_linux_DATA). (gnu/packages/bootstrap/armhf-linux/guile-2.0.11.tar.xz): New target. * build-aux/download.scm (file-name->uri): Use newer date in URI for armhf-linux. * gnu/packages/bootstrap.scm (raw-build): Use "guile-2.0.11.tar.xz" on armhf-linux. (glibc-dynamic-linker, %bootstrap-coreutils&co, %bootstrap-binutils) (%bootstrap-glibc, %bootstrap-gcc): Add armhf-linux cases. * m4/guix.m4 (GUIX_SYSTEM_TYPE): Add armhf case. (GUIX_ASSERT_SUPPORTED_SYSTEM): Add armhf-linux to list of supported systems. * doc/guix.texi (GNU Distribution): Add armhf-linux to the list of supported systems.master
parent
b58b7dbb75
commit
aa1e19477b
|
@ -67,6 +67,7 @@ config.cache
|
||||||
/doc/version.texi
|
/doc/version.texi
|
||||||
/gnu/packages/bootstrap/x86_64-linux/guile-2.0.9.tar.xz
|
/gnu/packages/bootstrap/x86_64-linux/guile-2.0.9.tar.xz
|
||||||
/gnu/packages/bootstrap/i686-linux/guile-2.0.9.tar.xz
|
/gnu/packages/bootstrap/i686-linux/guile-2.0.9.tar.xz
|
||||||
|
/gnu/packages/bootstrap/armhf-linux/guile-2.0.11.tar.xz
|
||||||
/gnu/packages/bootstrap/mips64el-linux/guile-2.0.9.tar.xz
|
/gnu/packages/bootstrap/mips64el-linux/guile-2.0.9.tar.xz
|
||||||
/guix/config.scm
|
/guix/config.scm
|
||||||
/nix/nix-daemon/nix-daemon.cc
|
/nix/nix-daemon/nix-daemon.cc
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
;;; 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>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
@ -45,7 +46,12 @@
|
||||||
(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 (string-append %url-base "/" system
|
||||||
"/20131110/" basename)))))
|
(match system
|
||||||
|
("armhf-linux"
|
||||||
|
"/20150101/")
|
||||||
|
(_
|
||||||
|
"/20131110/"))
|
||||||
|
basename)))))
|
||||||
|
|
||||||
(match (command-line)
|
(match (command-line)
|
||||||
((_ file expected-hash)
|
((_ file expected-hash)
|
||||||
|
|
|
@ -3246,6 +3246,10 @@ Intel/AMD @code{x86_64} architecture, Linux-Libre kernel;
|
||||||
@item i686-linux
|
@item i686-linux
|
||||||
Intel 32-bit architecture (IA32), Linux-Libre kernel;
|
Intel 32-bit architecture (IA32), Linux-Libre kernel;
|
||||||
|
|
||||||
|
@item armhf-linux
|
||||||
|
ARMv7-A architecture with hard float, Thumb-2 and VFP3D16 coprocessor,
|
||||||
|
using the EABI hard-float ABI, and Linux-Libre kernel.
|
||||||
|
|
||||||
@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 application binary interface (ABI), and Linux-Libre kernel.
|
n32 application binary interface (ABI), and Linux-Libre kernel.
|
||||||
|
|
|
@ -495,6 +495,7 @@ dist_patch_DATA = \
|
||||||
bootstrapdir = $(guilemoduledir)/gnu/packages/bootstrap
|
bootstrapdir = $(guilemoduledir)/gnu/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_mips64el_linuxdir = $(bootstrapdir)/mips64el-linux
|
bootstrap_mips64el_linuxdir = $(bootstrapdir)/mips64el-linux
|
||||||
|
|
||||||
dist_bootstrap_x86_64_linux_DATA = \
|
dist_bootstrap_x86_64_linux_DATA = \
|
||||||
|
@ -509,6 +510,12 @@ dist_bootstrap_i686_linux_DATA = \
|
||||||
gnu/packages/bootstrap/i686-linux/tar \
|
gnu/packages/bootstrap/i686-linux/tar \
|
||||||
gnu/packages/bootstrap/i686-linux/xz
|
gnu/packages/bootstrap/i686-linux/xz
|
||||||
|
|
||||||
|
dist_bootstrap_armhf_linux_DATA = \
|
||||||
|
gnu/packages/bootstrap/armhf-linux/bash \
|
||||||
|
gnu/packages/bootstrap/armhf-linux/mkdir \
|
||||||
|
gnu/packages/bootstrap/armhf-linux/tar \
|
||||||
|
gnu/packages/bootstrap/armhf-linux/xz
|
||||||
|
|
||||||
dist_bootstrap_mips64el_linux_DATA = \
|
dist_bootstrap_mips64el_linux_DATA = \
|
||||||
gnu/packages/bootstrap/mips64el-linux/bash \
|
gnu/packages/bootstrap/mips64el-linux/bash \
|
||||||
gnu/packages/bootstrap/mips64el-linux/mkdir \
|
gnu/packages/bootstrap/mips64el-linux/mkdir \
|
||||||
|
@ -521,6 +528,8 @@ nodist_bootstrap_x86_64_linux_DATA = \
|
||||||
gnu/packages/bootstrap/x86_64-linux/guile-2.0.9.tar.xz
|
gnu/packages/bootstrap/x86_64-linux/guile-2.0.9.tar.xz
|
||||||
nodist_bootstrap_i686_linux_DATA = \
|
nodist_bootstrap_i686_linux_DATA = \
|
||||||
gnu/packages/bootstrap/i686-linux/guile-2.0.9.tar.xz
|
gnu/packages/bootstrap/i686-linux/guile-2.0.9.tar.xz
|
||||||
|
nodist_bootstrap_armhf_linux_DATA = \
|
||||||
|
gnu/packages/bootstrap/armhf-linux/guile-2.0.11.tar.xz
|
||||||
nodist_bootstrap_mips64el_linux_DATA = \
|
nodist_bootstrap_mips64el_linux_DATA = \
|
||||||
gnu/packages/bootstrap/mips64el-linux/guile-2.0.9.tar.xz
|
gnu/packages/bootstrap/mips64el-linux/guile-2.0.9.tar.xz
|
||||||
|
|
||||||
|
@ -532,6 +541,7 @@ set-bootstrap-executable-permissions:
|
||||||
DISTCLEANFILES = \
|
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_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.
|
||||||
|
@ -546,6 +556,9 @@ gnu/packages/bootstrap/x86_64-linux/guile-2.0.9.tar.xz:
|
||||||
gnu/packages/bootstrap/i686-linux/guile-2.0.9.tar.xz:
|
gnu/packages/bootstrap/i686-linux/guile-2.0.9.tar.xz:
|
||||||
$(MKDIR_P) `dirname "$@"`
|
$(MKDIR_P) `dirname "$@"`
|
||||||
$(DOWNLOAD_FILE) "$@" "b757cd46bf13ecac83fb8e955fb50096ac2d17bb610ca8eb816f29302a00a846"
|
$(DOWNLOAD_FILE) "$@" "b757cd46bf13ecac83fb8e955fb50096ac2d17bb610ca8eb816f29302a00a846"
|
||||||
|
gnu/packages/bootstrap/armhf-linux/guile-2.0.11.tar.xz:
|
||||||
|
$(MKDIR_P) `dirname "$@"`
|
||||||
|
$(DOWNLOAD_FILE) "$@" "e551d05d4d385d6706ab8d574856a087758294dc90ab4c06e70a157a685e23d6"
|
||||||
gnu/packages/bootstrap/mips64el-linux/guile-2.0.9.tar.xz:
|
gnu/packages/bootstrap/mips64el-linux/guile-2.0.9.tar.xz:
|
||||||
$(MKDIR_P) `dirname "$@"`
|
$(MKDIR_P) `dirname "$@"`
|
||||||
$(DOWNLOAD_FILE) "$@" "994680f0001346864aa2c2cc5110f380ee7518dcd701c614291682b8e948f73b"
|
$(DOWNLOAD_FILE) "$@" "994680f0001346864aa2c2cc5110f380ee7518dcd701c614291682b8e948f73b"
|
||||||
|
|
|
@ -192,7 +192,11 @@ successful, or false to signal an error."
|
||||||
(xz (->store "xz"))
|
(xz (->store "xz"))
|
||||||
(mkdir (->store "mkdir"))
|
(mkdir (->store "mkdir"))
|
||||||
(bash (->store "bash"))
|
(bash (->store "bash"))
|
||||||
(guile (->store "guile-2.0.9.tar.xz"))
|
(guile (->store (match system
|
||||||
|
("armhf-linux"
|
||||||
|
"guile-2.0.11.tar.xz")
|
||||||
|
(_
|
||||||
|
"guile-2.0.9.tar.xz"))))
|
||||||
(builder
|
(builder
|
||||||
(add-text-to-store store
|
(add-text-to-store store
|
||||||
"build-bootstrap-guile.sh"
|
"build-bootstrap-guile.sh"
|
||||||
|
@ -252,7 +256,11 @@ $out/bin/guile --version~%"
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (map (cut string-append <> "/" system
|
(uri (map (cut string-append <> "/" system
|
||||||
"/20131110/static-binaries.tar.xz")
|
(match system
|
||||||
|
("armhf-linux"
|
||||||
|
"/20150101/static-binaries.tar.xz")
|
||||||
|
(_
|
||||||
|
"/20131110/static-binaries.tar.xz")))
|
||||||
%bootstrap-base-urls))
|
%bootstrap-base-urls))
|
||||||
(sha256
|
(sha256
|
||||||
(match system
|
(match system
|
||||||
|
@ -262,6 +270,9 @@ $out/bin/guile --version~%"
|
||||||
("i686-linux"
|
("i686-linux"
|
||||||
(base32
|
(base32
|
||||||
"0s5b3jb315n13m1k8095l0a5hfrsz8g0fv1b6riyc5hnxqyphlak"))
|
"0s5b3jb315n13m1k8095l0a5hfrsz8g0fv1b6riyc5hnxqyphlak"))
|
||||||
|
("armhf-linux"
|
||||||
|
(base32
|
||||||
|
"0gf0fn2kbpxkjixkmx5f4z6hv6qpmgixl69zgg74dbsfdfj8jdv5"))
|
||||||
("mips64el-linux"
|
("mips64el-linux"
|
||||||
(base32
|
(base32
|
||||||
"072y4wyfsj1bs80r6vbybbafy8ya4vfy7qj25dklwk97m6g71753"))))))
|
"072y4wyfsj1bs80r6vbybbafy8ya4vfy7qj25dklwk97m6g71753"))))))
|
||||||
|
@ -281,7 +292,11 @@ $out/bin/guile --version~%"
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (map (cut string-append <> "/" system
|
(uri (map (cut string-append <> "/" system
|
||||||
"/20131110/binutils-2.23.2.tar.xz")
|
(match system
|
||||||
|
("armhf-linux"
|
||||||
|
"/20150101/binutils-2.25.tar.xz")
|
||||||
|
(_
|
||||||
|
"/20131110/binutils-2.23.2.tar.xz")))
|
||||||
%bootstrap-base-urls))
|
%bootstrap-base-urls))
|
||||||
(sha256
|
(sha256
|
||||||
(match system
|
(match system
|
||||||
|
@ -291,6 +306,9 @@ $out/bin/guile --version~%"
|
||||||
("i686-linux"
|
("i686-linux"
|
||||||
(base32
|
(base32
|
||||||
"14jgwf9gscd7l2pnz610b1zia06dvcm2qyzvni31b8zpgmcai2v9"))
|
"14jgwf9gscd7l2pnz610b1zia06dvcm2qyzvni31b8zpgmcai2v9"))
|
||||||
|
("armhf-linux"
|
||||||
|
(base32
|
||||||
|
"1v7dj6bzn6m36f20gw31l99xaabq4xrhrx3gwqkhhig0mdlmr69q"))
|
||||||
("mips64el-linux"
|
("mips64el-linux"
|
||||||
(base32
|
(base32
|
||||||
"1x8kkhcxmfyzg1ddpz2pxs6fbdl6412r7x0nzbmi5n7mj8zw2gy7"))))))
|
"1x8kkhcxmfyzg1ddpz2pxs6fbdl6412r7x0nzbmi5n7mj8zw2gy7"))))))
|
||||||
|
@ -335,7 +353,11 @@ $out/bin/guile --version~%"
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (map (cut string-append <> "/" (%current-system)
|
(uri (map (cut string-append <> "/" (%current-system)
|
||||||
"/20131110/glibc-2.18.tar.xz")
|
(match (%current-system)
|
||||||
|
("armhf-linux"
|
||||||
|
"/20150101/glibc-2.20.tar.xz")
|
||||||
|
(_
|
||||||
|
"/20131110/glibc-2.18.tar.xz")))
|
||||||
%bootstrap-base-urls))
|
%bootstrap-base-urls))
|
||||||
(sha256
|
(sha256
|
||||||
(match (%current-system)
|
(match (%current-system)
|
||||||
|
@ -345,6 +367,9 @@ $out/bin/guile --version~%"
|
||||||
("i686-linux"
|
("i686-linux"
|
||||||
(base32
|
(base32
|
||||||
"1hgrccw1zqdc7lvgivwa54d9l3zsim5pqm0dykxg0z522h6gr05w"))
|
"1hgrccw1zqdc7lvgivwa54d9l3zsim5pqm0dykxg0z522h6gr05w"))
|
||||||
|
("armhf-linux"
|
||||||
|
(base32
|
||||||
|
"18cmgvpllqfpn6khsmivqib7ys8ymnq0hdzi3qp24prik0ykz8gn"))
|
||||||
("mips64el-linux"
|
("mips64el-linux"
|
||||||
(base32
|
(base32
|
||||||
"0k97a3whzx3apsi9n2cbsrr79ad6lh00klxph9hw4fqyp1abkdsg")))))))))
|
"0k97a3whzx3apsi9n2cbsrr79ad6lh00klxph9hw4fqyp1abkdsg")))))))))
|
||||||
|
@ -406,7 +431,11 @@ exec ~a/bin/.gcc-wrapped -B~a/lib \
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (map (cut string-append <> "/" (%current-system)
|
(uri (map (cut string-append <> "/" (%current-system)
|
||||||
"/20131110/gcc-4.8.2.tar.xz")
|
(match (%current-system)
|
||||||
|
("armhf-linux"
|
||||||
|
"/20150101/gcc-4.8.4.tar.xz")
|
||||||
|
(_
|
||||||
|
"/20131110/gcc-4.8.2.tar.xz")))
|
||||||
%bootstrap-base-urls))
|
%bootstrap-base-urls))
|
||||||
(sha256
|
(sha256
|
||||||
(match (%current-system)
|
(match (%current-system)
|
||||||
|
@ -416,6 +445,9 @@ exec ~a/bin/.gcc-wrapped -B~a/lib \
|
||||||
("i686-linux"
|
("i686-linux"
|
||||||
(base32
|
(base32
|
||||||
"150c1arrf2k8vfy6dpxh59vcgs4p1bgiz2av5m19dynpks7rjnyw"))
|
"150c1arrf2k8vfy6dpxh59vcgs4p1bgiz2av5m19dynpks7rjnyw"))
|
||||||
|
("armhf-linux"
|
||||||
|
(base32
|
||||||
|
"0ghz825yzp43fxw53kd6afm8nkz16f7dxi9xi40bfwc8x3nbbr8v"))
|
||||||
("mips64el-linux"
|
("mips64el-linux"
|
||||||
(base32
|
(base32
|
||||||
"1m5miqkyng45l745n0sfafdpjkqv9225xf44jqkygwsipj2cv9ks")))))))))
|
"1m5miqkyng45l745n0sfafdpjkqv9225xf44jqkygwsipj2cv9ks")))))))))
|
||||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
13
m4/guix.m4
13
m4/guix.m4
|
@ -1,5 +1,6 @@
|
||||||
dnl GNU Guix --- Functional package management for GNU
|
dnl GNU Guix --- Functional package management for GNU
|
||||||
dnl Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org>
|
dnl Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org>
|
||||||
|
dnl Copyright © 2014 Mark H Weaver <mhw@netris.org>
|
||||||
dnl
|
dnl
|
||||||
dnl This file is part of GNU Guix.
|
dnl This file is part of GNU Guix.
|
||||||
dnl
|
dnl
|
||||||
|
@ -50,6 +51,16 @@ AC_DEFUN([GUIX_SYSTEM_TYPE], [
|
||||||
machine_name="i686";;
|
machine_name="i686";;
|
||||||
amd64)
|
amd64)
|
||||||
machine_name="x86_64";;
|
machine_name="x86_64";;
|
||||||
|
arm*)
|
||||||
|
# TODO: If not cross-compiling, add a sanity check to make
|
||||||
|
# sure this build machine has the needed features to
|
||||||
|
# support executables compiled using our armhf gcc,
|
||||||
|
# configured with:
|
||||||
|
# --with-arch=armv7-a
|
||||||
|
# --with-float=hard
|
||||||
|
# --with-mode=thumb
|
||||||
|
# --with-fpu=vfpv3-d16
|
||||||
|
machine_name="armhf";;
|
||||||
*)
|
*)
|
||||||
machine_name="$host_cpu";;
|
machine_name="$host_cpu";;
|
||||||
esac
|
esac
|
||||||
|
@ -86,7 +97,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|mips64el-linux)
|
x86_64-linux|i686-linux|armhf-linux|mips64el-linux)
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
if test "x$guix_courageous" = "xyes"; then
|
if test "x$guix_courageous" = "xyes"; then
|
||||||
|
|
Reference in New Issue