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

From: zimoun <[email-masked]>
Date: Fri, 25 Jun 2021 18:40:34 +0200

Hi,

On jeu., 24 juin 2021 at 01:32, 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

Using v3 from patch#49196 [1], I get the piece below.  As mentioned by
Sarah, the parser seems poor for some dependencies.

1: <http://issues.guix.gnu.org/issue/49196#6>

--8<---------------cut here---------------start------------->8---
$ ./pre-inst-env guix import go -r github.com/golang-migrate/migrate/v4
following redirection to `https://go.mongodb.org/mongo-driver/'...
following redirection to `https://github.com/moby/moby?go-get=1'...
guix import: warning: Something went wrong with ("github.com/containerd/containerd" #:goproxy "https://proxy.golang.org" #:version #f #:pin-versions? #f).
guix import: warning: Something went wrong with ("github.com/cockroachdb/cockroach-go" #:goproxy "https://proxy.golang.org" #:version #f #:pin-versions? #f).
guix import: warning: Something went wrong with ("github.com/bmizerany/assert" #:goproxy "https://proxy.golang.org" #:version #f #:pin-versions? #f).
guix import: warning: Something went wrong with ("cloud.google.com/go/storage" #:goproxy "https://proxy.golang.org" #:version #f #:pin-versions? #f).
guix import: warning: Something went wrong with ("cloud.google.com/go/spanner" #:goproxy "https://proxy.golang.org" #:version #f #:pin-versions? #f).
guix import: warning: Something went wrong with ("go.opentelemetry.io/otel/sdk" #:goproxy "https://proxy.golang.org" #:version #f #:pin-versions? #f).
guix import: warning: Something went wrong with ("go.opentelemetry.io/otel/metric" #:goproxy "https://proxy.golang.org" #:version #f #:pin-versions? #f).
guix import: warning: Something went wrong with ("github.com/go-gl/glfw/v3.3/glfw" #:goproxy "https://proxy.golang.org" #:version #f #:pin-versions? #f).
guix import: warning: Something went wrong with ("dmitri.shuralyov.com/gpu/mtl" #:goproxy "https://proxy.golang.org" #:version #f #:pin-versions? #f).
guix import: warning: Something went wrong with ("github.com/hudl/fargo" #:goproxy "https://proxy.golang.org" #:version #f #:pin-versions? #f).
following redirection to `https://github.com/HdrHistogram/hdrhistogram-go?go-get=1'...
guix import: warning: Failed to import package "github.com/cncf/udpa/go".
reason: "https://pkg.go.dev/github.com/cncf/udpa" could not be fetched: HTTP error 404 ("Not Found").
This package and its dependencies won't be imported.
guix import: warning: Something went wrong with ("go.opentelemetry.io/proto/otlp" #:goproxy "https://proxy.golang.org" #:version #f #:pin-versions? #f).
guix import: warning: Failed to import package "github.com/cncf/xds/go".
reason: "https://pkg.go.dev/github.com/cncf/xds" could not be fetched: HTTP error 404 ("Not Found").
This package and its dependencies won't be imported.
following redirection to `https://github.com/jtolio/gls?go-get=1'...
guix import: warning: Something went wrong with ("github.com/neelance/sourcemap" #:goproxy "https://proxy.golang.org" #:version #f #:pin-versions? #f).
guix import: warning: Something went wrong with ("github.com/neelance/astrewrite" #:goproxy "https://proxy.golang.org" #:version #f #:pin-versions? #f).
guix import: warning: Something went wrong with ("github.com/jcmturner/dnsutils/v2" #:goproxy "https://proxy.golang.org" #:version #f #:pin-versions? #f).
guix import: warning: Something went wrong with ("github.com/shirou/gopsutil/v3" #:goproxy "https://proxy.golang.org" #:version #f #:pin-versions? #f).
following redirection to `https://github.com/openhistogram/circonusllhist?go-get=1'...
guix import: warning: Something went wrong with ("gonum.org/v1/gonum" #:goproxy "https://proxy.golang.org" #:version #f #:pin-versions? #f).
following redirection to `https://proxy.golang.org/@v/list'...
guix import: warning: Failed to import package "//".
reason: "https://proxy.golang.org/@v/list" could not be fetched: HTTP error 410 ("Gone").
This package and its dependencies won't be imported.
guix import: warning: Something went wrong with ("github.com/chzyer/test" #:goproxy "https://proxy.golang.org" #:version #f #:pin-versions? #f).
guix import: warning: Something went wrong with ("github.com/chzyer/logex" #:goproxy "https://proxy.golang.org" #:version #f #:pin-versions? #f).
guix import: warning: Something went wrong with ("google.golang.org/grpc/cmd/protoc-gen-go-grpc" #:goproxy "https://proxy.golang.org" #:version #f #:pin-versions? #f).
guix import: warning: Something went wrong with ("github.com/gobuffalo/gogen" #:goproxy "https://proxy.golang.org" #:version #f #:pin-versions? #f).
guix import: warning: Something went wrong with ("github.com/markbates/safe" #:goproxy "https://proxy.golang.org" #:version #f #:pin-versions? #f).
guix import: warning: Something went wrong with ("github.com/markbates/oncer" #:goproxy "https://proxy.golang.org" #:version #f #:pin-versions? #f).
guix import: warning: Something went wrong with ("github.com/markbates/errx" #:goproxy "https://proxy.golang.org" #:version #f #:pin-versions? #f).
guix import: warning: Something went wrong with ("github.com/gobuffalo/github_flavored_markdown" #:goproxy "https://proxy.golang.org" #:version #f #:pin-versions? #f).
guix import: warning: Something went wrong with ("github.com/aws/aws-sdk-go-v2/service/s3" #:goproxy "https://proxy.golang.org" #:version #f #:pin-versions? #f).
guix import: warning: Something went wrong with ("github.com/aws/aws-sdk-go-v2/feature/s3/manager" #:goproxy "https://proxy.golang.org" #:version #f #:pin-versions? #f).
guix import: warning: Failed to import package "github.com/apache/arrow/go/arrow".
reason: "https://pkg.go.dev/github.com/apache/arrow" could not be fetched: HTTP error 404 ("Not Found").
This package and its dependencies won't be imported.
guix import: warning: Something went wrong with ("github.com/Azure/go-autorest/autorest/adal" #:goproxy "https://proxy.golang.org" #:version #f #:pin-versions? #f).
(define-public go-github-com-cloudflare-golz4
  (package
    (name "go-github-com-cloudflare-golz4")
    (version "0.0.0-20150217214814-ef862a3cdc58")
    (source
      (origin
        (method git-fetch)
        (uri (git-reference
               (url "https://github.com/cloudflare/golz4")
               (commit (go-version->git-ref version))))
        (file-name (git-file-name name version))
        (sha256
          (base32
            "0ckiwp3aa010sdnki6vd32f0n08768ppnggc8d7syzh3kkn9zvn1"))))
    (build-system go-build-system)
    (arguments
      '(#:import-path "github.com/cloudflare/golz4"))
    (home-page "https://github.com/cloudflare/golz4")
    (synopsis "golz4")
    (description
      "Package lz4 implements compression using lz4.c and lz4hc.c
")
    (license license:bsd-3)))

[...]

(define-public go-github-com-golang-migrate-migrate-v4
  (package
    (name "go-github-com-golang-migrate-migrate-v4")
    (version "4.14.1")
    (source
      (origin
        (method git-fetch)
        (uri (git-reference
               (url "https://github.com/golang-migrate/migrate")
               (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
          (base32
            "1mgs3bngghmirmn0pw351m54darv8d5iymlxcjqw3vr0cyn5aqj0"))))
    (build-system go-build-system)
    (arguments
      '(#:import-path
        "github.com/golang-migrate/migrate"))
    (propagated-inputs
      `(("go-modernc-org-zappy" ,go-modernc-org-zappy)
        ("go-modernc-org-strutil"

[...]

        ("go-cloud-google-com-go"
         ,go-cloud-google-com-go)))
    (home-page
      "https://github.com/golang-migrate/migrate")
    (synopsis "migrate")
    (description
      "Package migrate reads migrations from sources and runs them against databases.
Sources are defined by the `source.Driver` and databases by the `database.Driver`
interface.  The driver interfaces are kept \"dumb\", all migration logic is kept
in this package.
")
    (license license:expat)))
--8<---------------cut here---------------end--------------->8---

Hope that helps,
simon