Subject: bug#48700: guix import fails with unexpected token

From: zimoun <[email-masked]>
Date: Thu, 10 Jun 2021 15:02:07 +0200

Hi,

On Thu, 10 Jun 2021 at 14:22, Philip Munksgaard <[email-masked]> wrote:

> If I understand you correctly, you're saying that this issue is an instance of bug#44115 because we get a backtrace instead of a nice error. I agree that the backtrace is ugly, but in this case the error shouldn't happen at all because all the recursively imported packages exist.

Your point is that parsing the Cabal file of the package "versions"
fails.  Mine is, somehow, instead of an ugly backtrace (whatever the
reason), the error for "guix import hackage futhark -r" should be:

  Syntax error: unexpected token : common (at line 36, column 0)
  Syntax error: unexpected end of input
  guix import: error: échec du téléchargement du fichier cabal du
paquet « versions »

as it is for "guix import hackage versions".

> The reason why the backtrace occurs is that the cabal-file for one of the recursively imported dependencies (versions) cannot be parsed using the current version of guix/import/cabal.scm. You'll find that `guix import hackage -r futhark` works as expected with the submitted patch#48943.

Yeah.  I started to give a look for fixing.  Thanks to be faster. :-)

> Furthermore, I actually think that a backtrace _is_ desirable in this case, because it is an error in the script, and not in the users input or some third-party repository.

My opinion is getting a Backtrace is always a poor user experience.
Well, matter of taste. ;-)

> As you say, your example works, but you've forgotten the "versions" dependency. If you add that to your list it will not work.

Yeah, right.  I did too quickly but it does not change my point above. :-)

Thanks,
simon