[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
08/08: hydra: 'guix-modular' jobs use the new 'build-self'.
From: |
Ludovic Courtès |
Subject: |
08/08: hydra: 'guix-modular' jobs use the new 'build-self'. |
Date: |
Sat, 7 Apr 2018 12:06:47 -0400 (EDT) |
civodul pushed a commit to branch wip-pull-multiple-derivations
in repository guix.
commit 25770703b803563807adc9ae4f4c01b7fde580e3
Author: Ludovic Courtès <address@hidden>
Date: Thu Mar 29 17:30:12 2018 +0200
hydra: 'guix-modular' jobs use the new 'build-self'.
* build-aux/hydra/guix-modular.scm: Remove 'eval-when' form that fiddled
with '%load-path'.
(build-job): Load 'build-aux/build-self.scm' and call the procedure it
returns.
* build-aux/hydra/evaluate.scm: The 'build-things' replacement no longer
calls 'exit'.
---
build-aux/hydra/evaluate.scm | 11 +++++++----
build-aux/hydra/guix-modular.scm | 32 ++++++--------------------------
2 files changed, 13 insertions(+), 30 deletions(-)
diff --git a/build-aux/hydra/evaluate.scm b/build-aux/hydra/evaluate.scm
index 8e391f4..5793c02 100644
--- a/build-aux/hydra/evaluate.scm
+++ b/build-aux/hydra/evaluate.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2016, 2017 Ludovic Courtès <address@hidden>
+;;; Copyright © 2016, 2017, 2018 Ludovic Courtès <address@hidden>
;;; Copyright © 2017 Jan Nieuwenhuizen <address@hidden>
;;;
;;; This file is part of GNU Guix.
@@ -79,7 +79,8 @@ Otherwise return THING."
(match (command-line)
((command file cuirass? ...)
;; Load FILE, a Scheme file that defines Hydra jobs.
- (let ((port (current-output-port)))
+ (let ((port (current-output-port))
+ (real-build-things build-things))
(save-module-excursion
(lambda ()
(set-current-module %user-module)
@@ -93,13 +94,15 @@ Otherwise return THING."
;; Grafts can trigger early builds. We do not want that to happen
;; during evaluation, so use a sledgehammer to catch such problems.
+ ;; An exception, though, is the evaluation of Guix itself, which
+ ;; requires building a "trampoline" program.
(set! build-things
(lambda (store . args)
(format (current-error-port)
- "error: trying to build things during evaluation!~%")
+ "warning: building things during evaluation~%")
(format (current-error-port)
"'build-things' arguments: ~s~%" args)
- (exit 1)))
+ (apply real-build-things store args)))
;; Call the entry point of FILE and print the resulting job sexp.
(pretty-print
diff --git a/build-aux/hydra/guix-modular.scm b/build-aux/hydra/guix-modular.scm
index b6ba704..7a05c86 100644
--- a/build-aux/hydra/guix-modular.scm
+++ b/build-aux/hydra/guix-modular.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2017 Ludovic Courtès <address@hidden>
+;;; Copyright © 2017, 2018 Ludovic Courtès <address@hidden>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -21,35 +21,14 @@
;;; Guix as 'guix pull', which is defined in (guix self).
;;;
-;; Attempt to use our very own Guix modules.
-(eval-when (compile load eval)
-
- ;; Ignore any available .go, and force recompilation. This is because our
- ;; checkout in the store has mtime set to the epoch, and thus .go files look
- ;; newer, even though they may not correspond.
- (set! %fresh-auto-compile #t)
-
- (and=> (assoc-ref (current-source-location) 'filename)
- (lambda (file)
- (let ((dir (canonicalize-path
- (string-append (dirname file) "/../.."))))
- (format (current-error-port) "prepending ~s to the load path~%"
- dir)
- (set! %load-path (cons dir %load-path))))))
-
-
(use-modules (guix store)
(guix config)
(guix utils)
- (guix grafts)
((guix packages) #:select (%hydra-supported-systems))
(guix derivations)
(guix monads)
- (guix gexp)
- (guix self)
((guix licenses) #:prefix license:)
(srfi srfi-1)
- (srfi srfi-26)
(ice-9 match))
;; XXX: Debugging hack: since `hydra-eval-guile-jobs' redirects the output
@@ -61,11 +40,12 @@
"Return a Hydra job a list building the modular Guix derivation from SOURCE
for SYSTEM. Use VERSION as the version identifier."
(lambda ()
+ (define build
+ (primitive-load (string-append source "/build-aux/build-self.scm")))
+
`((derivation . ,(derivation-file-name
- (parameterize ((%graft? #f))
- (run-with-store store
- (lower-object (compiled-guix source
- #:version version))))))
+ (run-with-store store
+ (build source #:version version #:system system))))
(description . "Modular Guix")
(long-description
. "This is the modular Guix package as produced by 'guix pull'.")
- branch wip-pull-multiple-derivations created (now 2577070), Ludovic Courtès, 2018/04/07
- 02/08: modules: Report the search path in &missing-dependency-error., Ludovic Courtès, 2018/04/07
- 04/08: build: Add 'as-derivation' target., Ludovic Courtès, 2018/04/07
- 06/08: cuirass: Factorize hydra-to-cuirass CI job translation., Ludovic Courtès, 2018/04/07
- 07/08: cuirass: Add job specs for the modular Guix., Ludovic Courtès, 2018/04/07
- 05/08: discovery: Remove dependency on (guix ui)., Ludovic Courtès, 2018/04/07
- 03/08: build-self: Use (guix self)., Ludovic Courtès, 2018/04/07
- 08/08: hydra: 'guix-modular' jobs use the new 'build-self'.,
Ludovic Courtès <=
- 01/08: Add (guix self)., Ludovic Courtès, 2018/04/07