;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
;;;
-;;; Check whether important binaries are available at hydra.gnu.org.
+;;; Check whether important binaries are available.
;;;
(use-modules (guix store)
+ (guix grafts)
(guix packages)
(guix derivations)
(guix ui)
(srfi srfi-1)
(srfi srfi-26))
-(define %supported-systems
- '("x86_64-linux" "i686-linux"))
-
(define (final-inputs store system)
"Return the list of outputs directories of the final inputs for SYSTEM."
(append-map (match-lambda
- ((name package)
- (let ((drv (package-derivation store package system)))
- ;; Libc's 'debug' output refers to gcc-cross-boot0, but it's
- ;; hard to avoid, so we tolerate it. This should be the
- ;; only exception.
- (filter-map (match-lambda
- (("debug" . directory)
- (if (string=? "glibc" (package-name package))
- #f
- directory))
- ((_ . directory) directory))
- (derivation->output-paths drv)))))
+ ((or (name package) (name package _))
+ (let ((drv (package-derivation store package system)))
+ ;; Libc's 'debug' output refers to gcc-cross-boot0, but it's
+ ;; hard to avoid, so we tolerate it. This should be the
+ ;; only exception. Likewise, 'bash:include' depends on
+ ;; bootstrap-binaries via its 'Makefile.inc' (FIXME).
+ (filter-map (match-lambda
+ (("debug" . directory)
+ (if (string=? "glibc" (package-name package))
+ #f
+ directory))
+ (("include" . directory)
+ (if (string=? "bash" (package-name package))
+ #f
+ directory))
+ ((_ . directory) directory))
+ (derivation->output-paths drv)))))
%final-inputs))
(define (assert-valid-substitute substitute)
if it does."
(let ((references (substitutable-references substitute)))
(when (any (cut string-contains <> "boot") references)
- (leave (_ "'~a' refers to bootstrap inputs: ~s~%")
+ (leave (G_ "'~a' refers to bootstrap inputs: ~s~%")
(substitutable-path substitute) references))))
(define (test-final-inputs store system)
(string=? (substitutable-path substitute)
dir))
available)
- (leave (_ "~a (system: ~a) has no substitute~%")
+ (leave (G_ "~a (system: ~a) has no substitute~%")
dir system)))
inputs)
;; Entry point.
(with-store store
- (set-build-options store #:use-substitutes? #t)
+ (parameterize ((%graft? #f))
+ (set-build-options store #:use-substitutes? #t)
- (for-each (cut test-final-inputs store <>)
- %supported-systems))
+ (for-each (cut test-final-inputs store <>)
+ %hydra-supported-systems)))