Add temporary roots for channel instance derivations

This commit is contained in:
Christopher Baines 2020-02-13 20:13:16 +00:00
parent 0ef3349ed8
commit 5410961f65

View file

@ -752,23 +752,29 @@ WHERE job_id = $1"
(current-error-port) (current-error-port)
"error ~A: ~A\n" key args) "error ~A: ~A\n" key args)
#f)))) #f))))
(define (add-tmp-root-and-return-drv drv)
(add-temp-root store drv)
drv)
`(,system `(,system
. .
((manifest-entry-item ((manifest-entry-item
. ,(and manifest . ,(and manifest
(add-tmp-root-and-return-drv
(derivation-file-name (derivation-file-name
(manifest-entry-item (manifest-entry-item
(first (first
(manifest-entries manifest)))))) (manifest-entries manifest)))))))
(profile (profile
. ,(catch #t . ,(catch #t
(lambda () (lambda ()
(and manifest (and manifest
(add-tmp-root-and-return-drv
(derivation-file-name (derivation-file-name
(run-with-store store (run-with-store store
(profile-derivation (profile-derivation
manifest manifest
#:hooks %channel-profile-hooks))))) #:hooks %channel-profile-hooks))))))
(lambda (key . args) (lambda (key . args)
(simple-format (simple-format
(current-error-port) (current-error-port)