summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--guix/scripts/build.scm12
1 files changed, 10 insertions, 2 deletions
diff --git a/guix/scripts/build.scm b/guix/scripts/build.scm
index a9f649d2ee..b64138ec0e 100644
--- a/guix/scripts/build.scm
+++ b/guix/scripts/build.scm
@@ -595,8 +595,16 @@ build."
                        (#f
                         (list (package->derivation store p system)))
                        (#t
-                        (let ((s (package-source p)))
-                          (list (package-source-derivation store s))))
+                        (match (package-source p)
+                          (#f
+                           (format (current-error-port)
+                                   (_ "~a: warning: \
+package '~a' has no source~%")
+                                   (location->string (package-location p))
+                                   (package-name p))
+                           '())
+                          (s
+                           (list (package-source-derivation store s)))))
                        (proc
                         (map (cut package-source-derivation store <>)
                              (proc p))))))