Subject: bug#49228: closed (Re: bug#49228: guix import go fails when module does not have a documenation on pkg.go.dev)

From: [email-masked] (GNU bug Tracking System)
Date: Mon, 28 Jun 2021 06:59:02 +0000

Your bug report

#49228: guix import go fails when module does not have a documenation on pkg.go.dev

which was filed against the guix package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
49228: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=49228
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#49228: guix import go fails when module does not have a documenation on pkg.go.dev
From: Björn Höfling <[email-masked]>
To: Sarah Morgensen <[email-masked]>
Cc: [email-masked]
Date: Mon, 28 Jun 2021 08:58:27 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi Sarah,

On Fri, 25 Jun 2021 18:18:04 -0700
Sarah Morgensen <[email-masked]> wrote:

> There is currently a patch for this (mine; though I could have named
> it better, I suppose):
> 
> https://issues.guix.gnu.org/49200

Nice coincident :-)

I pushed your patch as

9d9152425e96c408357d0f4961767a5c08076c13

Thanks.
 
> > Additionally, it would be nice if the go-module->guix-package would
> > print out the module it would fetch next (like I did above). Then
> > the broken module would be easier to find in recursive mode.  
> 
> Error reporting in the importers is currently pretty inconsistent and
> could use a lot of improvement. You might be interested in taking a
> look at the PATCH v3 in <https://issues.guix.gnu.org/49196> which
> somewhat addresses this. Comments are always welcome! :)

Good to know. I will have a look at these patches the next days/weeks.

Björn

Subject: guix import go fails when module does not have a documenation on pkg.go.dev
From: Björn Höfling <[email-masked]>
To: <[email-masked]>
Date: Sat, 26 Jun 2021 00:30:47 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

$ ./pre-inst-env guix import go github.com/caspr-io/yamlpath 
go-module->guix-package module-path: github.com/caspr-io/yamlpath
Backtrace:
In ice-9/boot-9.scm:
  1752:10  8 (with-exception-handler _ _ #:unwind? _ # _)
In unknown file:
           7 (apply-smob/0 #<thunk 7f370ddfc0c0>)
In ice-9/boot-9.scm:
    724:2  6 (call-with-prompt _ _ #<procedure default-prompt-handle?>)
In ice-9/eval.scm:
    619:8  5 (_ #(#(#<directory (guile-user) 7f370de02c80>)))
In guix/ui.scm:
  2147:12  4 (run-guix-command _ . _)
In guix/scripts/import.scm:
   120:11  3 (guix-import . _)
In guix/scripts/import/go.scm:
   118:27  2 (guix-import-go . _)
In ice-9/eval.scm:
   293:34  1 (_ #(#(#(#(#(#(#(#(#(#(#(?) ?) ?) ?) ?) ?) ?) ?) ?) ?) ?))
    619:8  0 (_ #(#(#<directory (guix import go) 7f370b75a6e0> #f)))

ice-9/eval.scm:619:8: Throw to key `match-error' with args `("match" "no matching pattern" #f)'.

If you look at the page

https://pkg.go.dev/github.com/caspr-io/yamlpath

It has no Description, because the site cannot parse license
information correctly and thus conservatively does not display any info.

Can be trivially fixed with this:

diff --git a/guix/import/go.scm b/guix/import/go.scm
index d110954664..10095b9d24 100644
--- a/guix/import/go.scm
+++ b/guix/import/go.scm
@@ -190,6 +194,7 @@ e.g. \"google.golang.org/protobuf/proto\"."
                             (first description))))
     (match description*
       (() #f)                           ;nothing selected
+      (#f #f)
 
Hope this is independent of the other go-importer-bugs we have, like:

https://debbugs.gnu.org/cgi/bugreport.cgi?bug=49202
http://issues.guix.gnu.org/issue/45984

Additionally, it would be nice if the go-module->guix-package would
print out the module it would fetch next (like I did above). Then the
broken module would be easier to find in recursive mode.

Björn