summaryrefslogtreecommitdiff
path: root/guix/ui.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2016-03-22 15:00:53 +0100
committerLudovic Courtès <ludo@gnu.org>2016-03-23 00:23:12 +0100
commitd26e19671e2a50a25d37357aba301bef5df1818e (patch)
tree4b3c6fd70004e12d7ffb2acc5c137cf72dbe4bf5 /guix/ui.scm
parent6985335faaa23965887b62ce8123f8f12e352bd5 (diff)
downloadgnu-guix-d26e19671e2a50a25d37357aba301bef5df1818e.tar
gnu-guix-d26e19671e2a50a25d37357aba301bef5df1818e.tar.gz
derivations: Raise an error when a module file is not found.
Suggested by Jookia. * guix/derivations.scm (&file-search-error): New error condition. (search-path*): Raise it when 'search-path' returns #f. * guix/gexp.scm (search-path*): Remove. * guix/ui.scm (call-with-error-handling): Add case for 'file-search-error?'. * tests/derivations.scm ("build-expression->derivation and invalid module name"): New test.
Diffstat (limited to 'guix/ui.scm')
-rw-r--r--guix/ui.scm5
1 files changed, 5 insertions, 0 deletions
diff --git a/guix/ui.scm b/guix/ui.scm
index 7b7bee0ac8..3b1887ccbf 100644
--- a/guix/ui.scm
+++ b/guix/ui.scm
@@ -461,6 +461,11 @@ interpreted."
(leave (_ "reference to invalid output '~a' of derivation '~a'~%")
(derivation-missing-output c)
(derivation-file-name (derivation-error-derivation c))))
+ ((file-search-error? c)
+ (leave (_ "file '~a' could not be found in these \
+directories:~{ ~a~}~%")
+ (file-search-error-file-name c)
+ (file-search-error-search-path c)))
((message-condition? c)
;; Normally '&message' error conditions have an i18n'd message.
(leave (_ "~a~%")