"guix import hackage" not working

  • Open
  • quality assurance status badge
Details
2 participants
  • Philip Kaludercic
  • Simon Tournier
Owner
unassigned
Submitted by
Philip Kaludercic
Severity
normal
P
P
Philip Kaludercic wrote on 15 Mar 2023 17:04
(address . bug-guix@gnu.org)
874jqmj909.fsf@posteo.net
Hi, I was interested in writing a package specification for the haskell
language server, but when I attempt to import the package I encounter an
undecipherable stack trace:

Toggle snippet (29 lines)
$ guix import hackage haskell-language-server
Backtrace:
In guix/import/cabal.scm:
875:28 19 (eval _)
875:28 18 (eval _)
875:28 17 (eval _)
875:28 16 (eval _)
875:28 15 (eval _)
875:28 14 (eval _)
875:28 13 (eval _)
875:28 12 (eval _)
875:28 11 (eval _)
875:28 10 (eval _)
875:28 9 (eval _)
875:28 8 (eval _)
875:28 7 (eval _)
875:28 6 (eval _)
875:28 5 (eval _)
875:28 4 (eval _)
875:13 3 (eval _)
868:32 2 (eval (section library #f (("import" ("common-d…")) …)))
872:13 1 (eval _)
In unknown file:
0 (append #f (("exposed-modules" ("Ide.Arguments Id…")) …))

ERROR: In procedure append:
In procedure append: Wrong type argument in position 1 (expecting empty list): #f

What can I do to debug this? For context this is my current version and
I am using Guix on a foreign system via Debian:

Toggle snippet (7 lines)
$ guix --version
guix (GNU Guix) 8a479494633395f5a4a088e2c52380bcb22f4fe8
Copyright (C) 2023 the Guix authors
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
S
S
Simon Tournier wrote on 3 Apr 2023 18:48
87355ggbef.fsf@gmail.com
Hi,

On mer., 15 mars 2023 at 16:04, Philip Kaludercic <philipk@posteo.net> wrote:

Toggle quote (32 lines)
> --8<---------------cut here---------------start------------->8---
> $ guix import hackage haskell-language-server
> Backtrace:
> In guix/import/cabal.scm:
> 875:28 19 (eval _)
> 875:28 18 (eval _)
> 875:28 17 (eval _)
> 875:28 16 (eval _)
> 875:28 15 (eval _)
> 875:28 14 (eval _)
> 875:28 13 (eval _)
> 875:28 12 (eval _)
> 875:28 11 (eval _)
> 875:28 10 (eval _)
> 875:28 9 (eval _)
> 875:28 8 (eval _)
> 875:28 7 (eval _)
> 875:28 6 (eval _)
> 875:28 5 (eval _)
> 875:28 4 (eval _)
> 875:13 3 (eval _)
> 868:32 2 (eval (section library #f (("import" ("common-d…")) …)))
> 872:13 1 (eval _)
> In unknown file:
> 0 (append #f (("exposed-modules" ("Ide.Arguments Id…")) …))
>
> ERROR: In procedure append:
> In procedure append: Wrong type argument in position 1 (expecting empty list): #f
> --8<---------------cut here---------------end--------------->8---
>
> What can I do to debug this?

That’s probably because something is missing in the Cabal parser.
Well, I have not investigated but considering bug#38946 [1] which reads
something very similar,

Toggle snippet (29 lines)
$ guix import hackage cabal-helper
Backtrace:
In guix/import/cabal.scm:
875:28 19 (eval _)
875:28 18 (eval _)
875:28 17 (eval _)
875:28 16 (eval _)
875:28 15 (eval _)
875:28 14 (eval _)
875:28 13 (eval _)
875:28 12 (eval _)
875:28 11 (eval _)
875:28 10 (eval _)
875:28 9 (eval _)
875:28 8 (eval _)
875:28 7 (eval _)
875:28 6 (eval _)
875:28 5 (eval _)
875:28 4 (eval _)
875:13 3 (eval _)
868:32 2 (eval (section common "c-h-internal" (("import" ("build-deps, extensions")) ("other-modules" ("CabalHelper.Compiletime.Cabal CabalHe…")) …)))
872:13 1 (eval _)
In unknown file:
0 (append #f (("other-modules" ("CabalHelper.Compiletime.Cabal CabalHelper.Compiletime.CompPrograms CabalHelper.Compiletime.Compat.Envir…")) …))

ERROR: In procedure append:
In procedure append: Wrong type argument in position 1 (expecting empty list): #f

Well, I somehow agree with Robert’s comment in [1], quoting:

Note that there’s quite a few issues with the cabal parser, and
the format is pretty baroque, to the extent that I wonder
whether it wouldn’t be better to delegate the parsing to cabal
itself.


Cheers,
simon
?