aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--guix/build/haskell-build-system.scm5
1 files changed, 3 insertions, 2 deletions
diff --git a/guix/build/haskell-build-system.scm b/guix/build/haskell-build-system.scm
index 8e2aee381d..3afc37e16d 100644
--- a/guix/build/haskell-build-system.scm
+++ b/guix/build/haskell-build-system.scm
@@ -192,7 +192,8 @@ given Haskell package."
(let loop ((collecting #f)
(deps '()))
(let* ((line (read-line port))
- (field (and=> (regexp-exec field-rx line)
+ (field (and=> (and (not (eof-object? line))
+ (regexp-exec field-rx line))
(cut match:substring <> 1))))
(cond
((and=> field (cut string=? <> "depends"))
@@ -200,7 +201,7 @@ given Haskell package."
;; so drop those characters. A line may list more than one .conf.
(let ((d (string-tokenize (string-drop line 8))))
(loop #t (append d deps))))
- ((and collecting field)
+ ((or (eof-object? line) (and collecting field))
(begin
(close-port port)
(reverse! deps)))