diff options
author | Marius Bakke <mbakke@fastmail.com> | 2018-02-20 17:36:56 +0100 |
---|---|---|
committer | Marius Bakke <mbakke@fastmail.com> | 2018-02-20 17:36:56 +0100 |
commit | 7f69459aca16756f35f08049c64a1bd77d23f33e (patch) | |
tree | 1d267fb62feab89de5d97582672540cbaa37392c /build-aux | |
parent | 4a82722a658220ec1e10f9f2d5d77407d38db90e (diff) | |
parent | b1989c12501e880afab62d3ff961791906fef350 (diff) | |
download | guix-7f69459aca16756f35f08049c64a1bd77d23f33e.tar.gz |
Merge branch 'master' into staging
Diffstat (limited to 'build-aux')
-rw-r--r-- | build-aux/build-self.scm | 7 | ||||
-rw-r--r-- | build-aux/hydra/gnu-system.scm | 57 |
2 files changed, 44 insertions, 20 deletions
diff --git a/build-aux/build-self.scm b/build-aux/build-self.scm index 17d947bec1..4c85c09df6 100644 --- a/build-aux/build-self.scm +++ b/build-aux/build-self.scm @@ -44,6 +44,9 @@ ;; could be renamed or shuffled around in modules over time. Conversely, ;; 'find-best-packages-by-name' is expected to always have the same semantics. +(define guix + (first (find-best-packages-by-name "guix" #f))) + (define libgcrypt (first (find-best-packages-by-name "libgcrypt" #f))) @@ -165,8 +168,6 @@ files." (if (defined? '%localstatedir) %localstatedir (dirname %state-directory))) (define sysconfdir (if (defined? '%sysconfdir) %sysconfdir (dirname %config-directory))) - (define sbindir - (if (defined? '%sbindir) %sbindir (dirname %guix-register-program))) (define builder #~(begin @@ -222,7 +223,7 @@ files." #:storedir #$storedir #:localstatedir #$localstatedir #:sysconfdir #$sysconfdir - #:sbindir #$sbindir + #:sbindir (string-append #$guix "/sbin") #:package-name #$%guix-package-name #:package-version #$version diff --git a/build-aux/hydra/gnu-system.scm b/build-aux/hydra/gnu-system.scm index 19371be3e9..8178871747 100644 --- a/build-aux/hydra/gnu-system.scm +++ b/build-aux/hydra/gnu-system.scm @@ -1,5 +1,5 @@ ;;; 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, 2018 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2017 Jan Nieuwenhuizen <janneke@gnu.org> ;;; ;;; This file is part of GNU Guix. @@ -51,6 +51,8 @@ ((guix scripts system) #:select (read-operating-system)) ((guix scripts pack) #:select (lookup-compressor self-contained-tarball)) + (gnu bootloader) + (gnu bootloader u-boot) (gnu packages) (gnu packages gcc) (gnu packages base) @@ -135,7 +137,10 @@ SYSTEM." "i686-w64-mingw32")) (define %guixsd-supported-systems - '("x86_64-linux" "i686-linux")) + '("x86_64-linux" "i686-linux" "armhf-linux")) + +(define %u-boot-systems + '("armhf-linux")) (define (qemu-jobs store system) "Return a list of jobs that build QEMU images for SYSTEM." @@ -159,20 +164,32 @@ system.") (expt 2 20)) (if (member system %guixsd-supported-systems) - (list (->job 'usb-image - (run-with-store store - (mbegin %store-monad - (set-guile-for-build (default-guile)) - (system-disk-image installation-os - #:disk-image-size - (* 1024 MiB))))) - (->job 'iso9660-image - (run-with-store store - (mbegin %store-monad - (set-guile-for-build (default-guile)) - (system-disk-image installation-os - #:file-system-type - "iso9660"))))) + (if (member system %u-boot-systems) + (list (->job 'flash-image + (run-with-store store + (mbegin %store-monad + (set-guile-for-build (default-guile)) + (system-disk-image + (operating-system (inherit installation-os) + (bootloader (bootloader-configuration + (bootloader u-boot-bootloader) + (target #f)))) + #:disk-image-size + (* 1024 MiB)))))) + (list (->job 'usb-image + (run-with-store store + (mbegin %store-monad + (set-guile-for-build (default-guile)) + (system-disk-image installation-os + #:disk-image-size + (* 1024 MiB))))) + (->job 'iso9660-image + (run-with-store store + (mbegin %store-monad + (set-guile-for-build (default-guile)) + (system-disk-image installation-os + #:file-system-type + "iso9660")))))) '())) (define (system-test-jobs store system) @@ -297,6 +314,12 @@ valid." (((? string?) (? string?) ...) 'list) ; only build selected list of packages (_ 'all))) ; build everything + (define systems + (match (assoc-ref arguments 'systems) + (#f %hydra-supported-systems) + ((lst ...) lst) + ((? string? str) (call-with-input-string str read)))) + (define (cross-jobs system) (define (from-32-to-64? target) ;; Return true if SYSTEM is 32-bit and TARGET is 64-bit. This hack @@ -387,4 +410,4 @@ valid." '())) (else (error "unknown subset" subset)))) - %hydra-supported-systems))) + systems))) |