From fc93e309196ee8009a975b4c0acf712f54581a93 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Tue, 28 Oct 2014 18:05:17 +0100 Subject: derivations: Add 'offloadable-derivation?' and 'substitutable-derivation?'. * guix/derivations.scm (offloadable-derivation?, substitutable-derivation?): New procedures. * tests/derivations.scm ("offloadable-derivation?"): New test. --- guix/derivations.scm | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'guix/derivations.scm') diff --git a/guix/derivations.scm b/guix/derivations.scm index ae9d2f46c7..5a8cc2c57a 100644 --- a/guix/derivations.scm +++ b/guix/derivations.scm @@ -57,6 +57,8 @@ derivation-input-output-paths fixed-output-derivation? + offloadable-derivation? + substitutable-derivation? derivation-hash read-derivation @@ -156,6 +158,18 @@ download with a fixed hash (aka. `fetchurl')." read-derivation)) inputs))))) +(define (offloadable-derivation? drv) + "Return true if DRV can be offloaded, false otherwise." + (match (assoc "preferLocalBuild" + (derivation-builder-environment-vars drv)) + (("preferLocalBuild" . "1") #f) + (_ #t))) + +(define substitutable-derivation? + ;; Return #t if the derivation can be substituted. Currently the two are + ;; synonymous, see . + offloadable-derivation?) + (define* (derivation-prerequisites-to-build store drv #:key (outputs -- cgit v1.2.3