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.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 32387 in the body.
You can then email your comments to 32387 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-guix <at> gnu.org:
bug#32387; Package guix. (Tue, 07 Aug 2018 13:05:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to Ricardo Wurmus <ricardo.wurmus <at> mdc-berlin.de>:
New bug report received and forwarded. Copy sent to bug-guix <at> gnu.org. (Tue, 07 Aug 2018 13:05:04 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Ricardo Wurmus <ricardo.wurmus <at> mdc-berlin.de>
To: <bug-guix <at> gnu.org>
Subject: hackage/cabal importer broken
Date: Tue, 7 Aug 2018 15:04:26 +0200
The cabal importer is currently broken:

--8<---------------cut here---------------start------------->8---
./pre-inst-env guix import hackage IntervalMap
Backtrace:
           8 (apply-smob/1 #<catch-closure 23a0720>)
In ice-9/boot-9.scm:
    705:2  7 (call-with-prompt _ _ #<procedure default-prompt-handler (k proc)>)
In ice-9/eval.scm:
    619:8  6 (_ #(#(#<directory (guile-user) 245f140>)))
In guix/ui.scm:
  1579:12  5 (run-guix-command _ . _)
In guix/scripts/import.scm:
   115:11  4 (guix-import . _)
In guix/scripts/import/hackage.scm:
   110:16  3 (guix-import-hackage . _)
In unknown file:
           2 (_ #<procedure 37041e0 at ice-9/boot-9.scm:1037:28 ()> #<procedure 3704240 at ice-9/eval.scm:333:13 (a)> #<undefined>)
In ice-9/eval.scm:
   293:34  1 (_ #(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<directory (guix import cabal) 28c3f00>) (("name" ("IntervalMap")) ("version" ("0.6.0.0")) ("stability" ("experimental")) ("synopsis" ("C…")) …)) #) #) #) #) #) #) #) #) #) #) #) #) #))
    619:8  0 (_ #(#(#<directory (guix import cabal) 28c3f00> ())))

ice-9/eval.scm:619:8: Throw to key `match-error' with args `("match" "no matching pattern" ())'.
--8<---------------cut here---------------end--------------->8---

This error seems to happen when there is no custom-setup section.

-- 
Ricardo




Information forwarded to bug-guix <at> gnu.org:
bug#32387; Package guix. (Tue, 07 Aug 2018 16:01:02 GMT) Full text and rfc822 format available.

Message #8 received at 32387 <at> debbugs.gnu.org (full text, mbox):

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: [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





Information forwarded to bug-guix <at> gnu.org:
bug#32387; Package guix. (Tue, 07 Aug 2018 16:20:01 GMT) Full text and rfc822 format available.

Message #11 received at 32387 <at> debbugs.gnu.org (full text, mbox):

From: Danny Milosavljevic <dannym <at> scratchpost.org>
To: Ricardo Wurmus <ricardo.wurmus <at> mdc-berlin.de>
Cc: 32387 <at> debbugs.gnu.org
Subject: Re: bug#32387: [PATCH] import: cabal, hackage: Avoid error when
 custom setup section is missing.
Date: Tue, 7 Aug 2018 18:19:35 +0200
[Message part 1 (text/plain, inline)]
Hi Ricardo,

hehe, you are too fast for me.  I was just looking at it.

LGTM!
[Message part 2 (application/pgp-signature, inline)]

Reply sent to Ricardo Wurmus <rekado <at> elephly.net>:
You have taken responsibility. (Tue, 07 Aug 2018 21:06:02 GMT) Full text and rfc822 format available.

Notification sent to Ricardo Wurmus <ricardo.wurmus <at> mdc-berlin.de>:
bug acknowledged by developer. (Tue, 07 Aug 2018 21:06:02 GMT) Full text and rfc822 format available.

Message #16 received at 32387-done <at> debbugs.gnu.org (full text, mbox):

From: Ricardo Wurmus <rekado <at> elephly.net>
To: 32387-done <at> debbugs.gnu.org
Subject: Re: bug#32387: hackage/cabal importer broken
Date: Tue, 07 Aug 2018 23:04:46 +0200
Fixed with commit f60784228a05c21aabc0a97b62fb158ce479525c.
-- 
Ricardo





bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Wed, 05 Sep 2018 11:24:06 GMT) Full text and rfc822 format available.

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

Previous Next


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