summary refs log tree commit diff
path: root/build-aux/build-self.scm
diff options
context:
space:
mode:
authorLeo Famulari <leo@famulari.name>2018-09-13 13:32:39 -0400
committerLeo Famulari <leo@famulari.name>2018-09-13 13:32:39 -0400
commitd7639407110a584c18bb362c942eeb0933188c66 (patch)
tree8068d0737e2a65f8f9f7080b7f9fb36a74e58e2c /build-aux/build-self.scm
parent36e8185667c41740786d9b2eb3672a0f8b902ed8 (diff)
parent7d1cc612938565d935c53bd7a429f41d1f048dae (diff)
downloadguix-d7639407110a584c18bb362c942eeb0933188c66.tar.gz
Merge branch 'master' into core-updates
Diffstat (limited to 'build-aux/build-self.scm')
-rw-r--r--build-aux/build-self.scm20
1 files changed, 19 insertions, 1 deletions
diff --git a/build-aux/build-self.scm b/build-aux/build-self.scm
index 9e8cc90067..5b281c3bc9 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)
@@ -263,6 +265,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 +277,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)
@@ -417,7 +427,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