Subject: bug#49202: guix import go type error (failed regex match?)

From: Maxim Cournoyer <[email-masked]>
Date: Wed, 18 Aug 2021 23:20:08 -0400

Hello,

Sarah Morgensen <[email-masked]> writes:

> zimoun <[email-masked]> writes:
>
>> Hi,
>>
>> Thanks for the report.
>>
>> On Thu, 24 Jun 2021 at 02:11, raingloom <[email-masked]> wrote:
>>
>>> When I run
>>> guix import go -r github.com/golang-migrate/migrate/v4
>>> it works for a looong time (something else to work on I guess. maybe
>>> fetching every git repo is not the best solution.) and then gives this
>>> error:
>>>
>>> In procedure vector-ref: Wrong type argument in position 1 (expecting
>>> vector): #f
>>
>> I seems to work without the option recursive '-r'.  So, I guess it is
>> related to the patch [1] and issues with the recursive importers, see
>> [2].
>
> I do not think it is related to recursive import... I was able to narrow
> down the repro to
>
> guix import go github.com/containerd/containerd
>
> with the same trace. The offending go.mod:
>
> module github.com/containerd/containerd

Since Sarah's improved go.mod parser has been merged, the above Go
module can now be imported.

So we're down to:

--8<---------------cut here---------------start------------->8---
$ guix import go github.com/cockroachdb/cockroach-go
Backtrace:
           9 (primitive-load "/home/maxim/.config/guix/current/bin/guix")
In guix/ui.scm:
   2185:7  8 (run-guix . _)
  2148:10  7 (run-guix-command _ . _)
In guix/scripts/import.scm:
   120:11  6 (guix-import . _)
In guix/scripts/import/go.scm:
   115:27  5 (guix-import-go . _)
In guix/import/go.scm:
   531:18  4 (go-module->guix-package _ #:goproxy _ #:version _ #:pin-versions? _)
In guix/git.scm:
    247:4  3 (update-cached-checkout _ #:ref _ #:recursive? _ #:check-out? _ #:starting-commit _ # _ # _)
   236:18  2 (resolve _)
In git/reference.scm:
     60:8  1 (_ _ _)
In git/bindings.scm:
     77:2  0 (raise-git-error _)
--8<---------------cut here---------------end--------------->8---

--8<---------------cut here---------------start------------->8---
$ guix import go dmitri.shuralyov.com/gpu/mtl
Backtrace:
           5 (primitive-load "/home/maxim/.config/guix/current/bin/guix")
In guix/ui.scm:
   2185:7  4 (run-guix . _)
  2148:10  3 (run-guix-command _ . _)
In guix/scripts/import.scm:
   120:11  2 (guix-import . _)
In guix/scripts/import/go.scm:
   115:27  1 (guix-import-go . _)
In guix/import/go.scm:
   615:19  0 (go-module->guix-package "dmitri.shuralyov.com/gpu/mtl" #:goproxy _ #:version _ # _)

guix/import/go.scm:615:19: In procedure go-module->guix-package:
In procedure struct-vtable: Wrong type argument in position 1 (expecting struct): #f
--8<---------------cut here---------------end--------------->8---

Thanks,

Maxim