Subject: bug#27664: closed (Re: [bug#27664] [PATCH] cuirass: Add fallback parameter.)

From: [email-masked] (GNU bug Tracking System)
Date: Wed, 12 Jul 2017 17:07:01 +0000

Your bug report

#27664: [PATCH] cuirass: Add fallback parameter.

which was filed against the guix-patches package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
27664: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=27664
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: [bug#27664] [PATCH] cuirass: Add fallback parameter.
From: Mathieu Othacehe <[email-masked]>
To: Ludovic Courtès <[email-masked]>
Cc: [email-masked], Danny Milosavljevic <[email-masked]>
Date: Wed, 12 Jul 2017 19:05:57 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Pushed thanks !

Subject: [PATCH] cuirass: Add fallback parameter.
From: Mathieu Othacehe <[email-masked]>
To: [email-masked]
Cc: Mathieu Othacehe <[email-masked]>
Date: Wed, 12 Jul 2017 10:24:46 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

From: Mathieu Othacehe <[email-masked]>

* src/cuirass/base.scm (%fallback?): New exported parameter.
(process-specs)[set-build-options]: Pass fallback parameter.
* bin/cuirass.in (%options): Add fallback.
(main): Set %fallback? parameter.
(show-help): Update.
---
 bin/cuirass.in       | 5 ++++-
 src/cuirass/base.scm | 8 +++++++-
 2 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/bin/cuirass.in b/bin/cuirass.in
index 61b9dd8..18edf1e 100644
--- a/bin/cuirass.in
+++ b/bin/cuirass.in
@@ -35,6 +35,7 @@ exec ${GUILE:-@GUILE@} --no-auto-compile -e main -s "$0" "$@"
 
       --one-shot            Evaluate and build jobs only once
       --cache-directory=DIR Use DIR for storing repository data
+      --fallback            Fall back to building when the substituter fails.
   -L  --load-path=DIR       Prepend DIR to Guix package module search path.
   -S  --specifications=SPECFILE
                             Add specifications from SPECFILE to database.
@@ -56,6 +57,7 @@ exec ${GUILE:-@GUILE@} --no-auto-compile -e main -s "$0" "$@"
     (port           (single-char #\p) (value #t))
     (interval       (single-char #\I) (value #t))
     (use-substitutes                  (value #f))
+    (fallback                         (value #f))
     (version        (single-char #\V) (value #f))
     (help           (single-char #\h) (value #f))))
 
@@ -73,7 +75,8 @@ exec ${GUILE:-@GUILE@} --no-auto-compile -e main -s "$0" "$@"
           (option-ref opts 'cache-directory (%package-cachedir)))
          (%guix-package-path
           (option-ref opts 'load-path (%guix-package-path)))
-         (%use-substitutes? (option-ref opts 'use-substitutes #f)))
+         (%use-substitutes? (option-ref opts 'use-substitutes #f))
+         (%fallback? (option-ref opts 'fallback #f)))
       (cond
        ((option-ref opts 'help #f)
         (show-help)
diff --git a/src/cuirass/base.scm b/src/cuirass/base.scm
index d0e77d9..b84cab7 100644
--- a/src/cuirass/base.scm
+++ b/src/cuirass/base.scm
@@ -43,7 +43,8 @@
             ;; Parameters.
             %guix-package-path
             %package-cachedir
-            %use-substitutes?))
+            %use-substitutes?
+            %fallback?))
 
 (cond-expand
   (guile-2.2
@@ -56,6 +57,10 @@
   ;; Define whether to use substitutes
   (make-parameter #f))
 
+(define %fallback?
+  ;; Define whether to fall back to building when the substituter fails.
+  (make-parameter #f))
+
 (define %package-cachedir
   ;; Define to location of cache directory of this package.
   (make-parameter (or (getenv "CUIRASS_CACHEDIR")
@@ -210,6 +215,7 @@ directory and the sha1 of the top level commit in this directory."
               ;; failure.
               (set-build-options store
                                  #:use-substitutes? (%use-substitutes?)
+                                 #:fallback? (%fallback?)
                                  #:keep-going? #t)
 
               (let* ((spec* (acons #:current-commit commit spec))
-- 
2.13.1