GNU bug report logs - #32387
hackage/cabal importer broken

Previous Next

Package: guix;

Reported by: Ricardo Wurmus <ricardo.wurmus <at> mdc-berlin.de>

Date: Tue, 7 Aug 2018 13:05:02 UTC

Severity: normal

Done: Ricardo Wurmus <rekado <at> elephly.net>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Ricardo Wurmus <ricardo.wurmus <at> mdc-berlin.de>
To: <32387 <at> debbugs.gnu.org>
Cc: Ricardo Wurmus <ricardo.wurmus <at> mdc-berlin.de>
Subject: bug#32387: [PATCH] import: cabal, hackage: Avoid error when custom setup section is missing.
Date: Tue, 7 Aug 2018 18:00:16 +0200
Fixes <https://debbugs.gnu.org/32387>.

* guix/import/cabal.scm (eval-cabal): Avoid mis-match when the custom-setup
section cannot be created.
* guix/import/hackage.scm (cabal-custom-setup-dependencies->names): Do not
crash when cabal-package-custom-setup returns #F.
---
 guix/import/cabal.scm   | 7 ++++---
 guix/import/hackage.scm | 6 ++++--
 2 files changed, 8 insertions(+), 5 deletions(-)

diff --git a/guix/import/cabal.scm b/guix/import/cabal.scm
index 1b8bda6f4..13c2f3f48 100644
--- a/guix/import/cabal.scm
+++ b/guix/import/cabal.scm
@@ -1,5 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2015 Federico Beffa <beffa <at> fbengineering.ch>
+;;; Copyright © 2018 Ricardo Wurmus <rekado <at> elephly.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -831,9 +832,9 @@ See the manual for limitations.")))))))
            (test-suites (make-cabal-section evaluated-sexp 'test-suite))
            (flags (make-cabal-section evaluated-sexp 'flag))
            (eval-environment '())
-           (custom-setup (match
-                          (make-cabal-section evaluated-sexp 'custom-setup)
-                          ((x) x))))
+           (custom-setup (match (make-cabal-section evaluated-sexp 'custom-setup)
+                           ((x) x)
+                           (_ #f))))
       (make-cabal-package name version license home-page-or-hackage
                           source-repository synopsis description executables lib
                           test-suites flags eval-environment custom-setup)))
diff --git a/guix/import/hackage.scm b/guix/import/hackage.scm
index 6f80d84b7..3b138f8c9 100644
--- a/guix/import/hackage.scm
+++ b/guix/import/hackage.scm
@@ -2,6 +2,7 @@
 ;;; Copyright © 2015 Federico Beffa <beffa <at> fbengineering.ch>
 ;;; Copyright © 2016 Eric Bavier <bavier <at> member.fsf.org>
 ;;; Copyright © 2016 Nils Gillmann <ng0 <at> n0.is>
+;;; Copyright © 2018 Ricardo Wurmus <rekado <at> elephly.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -178,8 +179,9 @@ object."
 (define (cabal-custom-setup-dependencies->names cabal)
   "Return the list of custom-setup dependencies from the CABAL package
 object."
-  (let* ((custom-setup-dependencies (and=> (cabal-package-custom-setup cabal)
-                                           cabal-custom-setup-dependencies)))
+  (let* ((custom-setup-dependencies (or (and=> (cabal-package-custom-setup cabal)
+                                               cabal-custom-setup-dependencies)
+                                        '())))
     (map cabal-dependency-name custom-setup-dependencies)))
 
 (define (filter-dependencies dependencies own-name)
-- 
2.18.0





This bug report was last modified 6 years and 346 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.