guix-commits
[Top][All Lists]
Advanced

[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: Fri, 6 Apr 2018 17:23:24 -0400 (EDT)

civodul pushed a commit to branch wip-pull-multiple-derivations
in repository guix.

commit 5679a703bb44a3099136ade02f5cdf00c25f249f
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'.")



reply via email to

[Prev in Thread] Current Thread [Next in Thread]