[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
01/01: build-system/haskell: Fix package.conf parsing.
From: |
Eric Bavier |
Subject: |
01/01: build-system/haskell: Fix package.conf parsing. |
Date: |
Wed, 20 Jan 2016 00:12:11 +0000 |
bavier pushed a commit to branch core-updates
in repository guix.
commit 252ddedd4b3af9a1b947258994e0ae1aa4fa81d3
Author: Eric Bavier <address@hidden>
Date: Tue Jan 19 18:01:07 2016 -0600
build-system/haskell: Fix package.conf parsing.
* guix/build/haskell-build-system.scm (register)[conf-depends]: Properly
react to EOF while reading GHC package conf files.
---
guix/build/haskell-build-system.scm | 5 +++--
1 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/guix/build/haskell-build-system.scm
b/guix/build/haskell-build-system.scm
index 8e2aee3..3afc37e 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)))