From 78c9058dde237d6913a30a40c1f5ca19395f86c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 13 Sep 2018 10:10:49 +0200 Subject: build-self: Add a dummy (git) module to 'compute-guix-derivation'. Fixes a regression introduced in aed0a594058a59bc3bb1d2686391dc0e8a181b1f. * build-aux/build-self.scm (build-program)[fake-git]: New variable. Use it as an imported module. --- build-aux/build-self.scm | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'build-aux/build-self.scm') diff --git a/build-aux/build-self.scm b/build-aux/build-self.scm index f91b43987a..09979dc410 100644 --- a/build-aux/build-self.scm +++ b/build-aux/build-self.scm @@ -263,6 +263,9 @@ interface (FFI) of Guile.") #~(define-module (gcrypt hash) #:export (sha1 sha256)))) + (define fake-git + (scheme-file "git.scm" #~(define-module (git)))) + (with-imported-modules `(((guix config) => ,(make-config.scm)) @@ -272,6 +275,11 @@ interface (FFI) of Guile.") ;; adjust %LOAD-PATH later on. ((gcrypt hash) => ,fake-gcrypt-hash) + ;; (guix git-download) depends on (git) but only + ;; for peripheral functionality. Provide a dummy + ;; (git) to placate it. + ((git) => ,fake-git) + ,@(source-module-closure `((guix store) (guix self) (guix derivations) -- cgit v1.2.3 From ac4d2ec81a9f7c439b21b4c4ae4a2e949c78ab2e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 13 Sep 2018 10:23:39 +0200 Subject: build-self: Emit a useful message upon error. * build-aux/build-self.scm (build): Raise a '&message' condition instead of calling 'error'. --- build-aux/build-self.scm | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'build-aux/build-self.scm') diff --git a/build-aux/build-self.scm b/build-aux/build-self.scm index 09979dc410..306b2c6b63 100644 --- a/build-aux/build-self.scm +++ b/build-aux/build-self.scm @@ -25,6 +25,8 @@ #:use-module (guix build-system gnu) #:use-module (srfi srfi-1) #:use-module (srfi srfi-19) + #:use-module (srfi srfi-34) + #:use-module (srfi srfi-35) #:use-module (rnrs io ports) #:use-module (ice-9 match) #:use-module (ice-9 popen) @@ -420,7 +422,15 @@ files." ;; Unsupported PULL-VERSION. (return #f)) ((? string? str) - (error "invalid build result" (list build str)))))))) + (raise (condition + (&message + (message (format #f "You found a bug: the program '~a' +failed to compute the derivation for Guix (version: ~s; system: ~s; +host version: ~s; pull-version: ~s). +Please report it by email to <~a>.~%" + (derivation->output-path build) + version system %guix-version pull-version + %guix-bug-report-address))))))))))) ;; This file is loaded by 'guix pull'; return it the build procedure. build -- cgit v1.2.3