[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: packaging a golang package
From: |
Timmy Douglas |
Subject: |
Re: packaging a golang package |
Date: |
Sun, 10 Jan 2021 22:09:52 -0800 |
I also tried Helio's branch, rebased on the latest, with the following
changes:
diff --git a/guix/import/go-modules.scm b/guix/import/go-modules.scm
index 20fc5c9642..811c9f60ae 100644
--- a/guix/import/go-modules.scm
+++ b/guix/import/go-modules.scm
@@ -290,7 +290,7 @@ VERSION, MODULE-INPUTS, HOME-PAGE, SYNOPSIS, DESCRIPTION,
and LICENSE."
(() "")
(_ home-page)))
(synopsis ,synopsis)
- (description ,(beautify-description description))
+ (description ,(beautify-description (or description "")))
(license ,(match license
(() #f)
((license) license)
@@ -327,12 +327,11 @@ specified, attempt to fetch that version. Otherwise,
fetch the latest version."
(define* (go-module-recursive-import name #:optional version)
"Given a module NAME and, optionally its VERSION, produce package definitions
for itself and every dependency, recursively."
- (recursive-import (if version (string-append name "@" version) name) #f
+ (recursive-import (if version (string-append name "@" version) name)
#:repo->guix-package
- (lambda (name repo)
+ (lambda* (name #:key repo version)
(let-values (((name version) (package-name->name+version
name)))
- (go-module->guix-package name version))
- )
+ (go-module->guix-package name version)))
#:guix-name go-module-name+version->package-name+version))
I liked how Helio's version uses the go proxy to simplify the parsing of
the package lists, but I ran this:
./pre-inst-env guix import go-modules -r github.com/coredns/coredns
and it took what felt like thirty minutes before failing with:
error: failed to retrieve package information from
"https://proxy.golang.org/replace/@v/(.info": 410 ("Gone")
Backtrace:
In ice-9/boot-9.scm:
1736:10 18 (with-exception-handler _ _ #:unwind? _ # _)
In unknown file:
17 (apply-smob/0 #<thunk 7fe73061b740>)
In ice-9/boot-9.scm:
718:2 16 (call-with-prompt _ _ #<procedure default-prompt-handle?>)
In ice-9/eval.scm:
619:8 15 (_ #(#(#<directory (guile-user) 7fe730258f00>)))
In guix/ui.scm:
2154:12 14 (run-guix-command _ . _)
In guix/scripts/import.scm:
121:11 13 (guix-import . _)
In ice-9/eval.scm:
159:9 12 (_ _)
In guix/import/utils.scm:
464:27 11 (recursive-import _ #:repo->guix-package _ #:guix-name _ ?)
In srfi/srfi-1.scm:
586:29 10 (map1 (("github.com/davecgh/go-spew@v1.1.1" #f) (# #) ?))
586:29 9 (map1 (("github.com/google/go-cmp@v0.4.0" #f) ("g?" ?) ?))
586:29 8 (map1 (("github.com/google/gofuzz@v1.1.0" #f) ("g?" ?) ?))
586:29 7 (map1 (("github.com/kr/pretty@v0.2.0" #f) ("githu?" ?) ?))
586:29 6 (map1 (("github.com/spf13/pflag@v1.0.5" #f) ("gol?" ?) ?))
586:29 5 (map1 (("golang.org/x/tools@v0.0.0-20200505023115?" ?) ?))
586:29 4 (map1 (("gopkg.in/check.v1@v1.0.0-20190902080502-?" ?) ?))
586:29 3 (map1 (("k8s.io/klog/v2@v2.2.0" #f) ("sigs.k8s.io?" ?) ?))
586:29 2 (map1 (("sigs.k8s.io/yaml@v1.2.0" #f) ("replace@(" #f)))
586:17 1 (map1 (("replace@(" #f)))
In guix/import/utils.scm:
453:33 0 (lookup-node "replace@(" #f)
guix/import/utils.scm:453:33: In procedure lookup-node:
Wrong number of values returned to continuation (expected 2)
Looks like it ran into the replace syntax and didn't parse it correctly?
https://golang.org/ref/mod#go-mod-file
I sort of wonder if the `git-fetch` portion of go packages should be
something like `git-fetch-and-restore-go-modules` Maybe something like
`go mod vendor` could be used an the hash would be calculated on that?
I'm not familiar enough with the internals of go modules, but I'm not
really seeing the value in generating a bunch of package metadata on all
the module dependencies.
- packaging a golang package, Timmy Douglas, 2021/01/08
- Re: packaging a golang package, Leo Famulari, 2021/01/08
- Re: packaging a golang package, Timmy Douglas, 2021/01/09
- Re: packaging a golang package,
Timmy Douglas <=
- Re: packaging a golang package, Helio Machado, 2021/01/17
- Re: packaging a golang package, Timmy Douglas, 2021/01/25
- Re: packaging a golang package, JOULAUD François, 2021/01/25
- Re: packaging a golang package, Helio Machado, 2021/01/25
- Re: packaging a golang package, Katherine Cox-Buday, 2021/01/27
- Re: packaging a golang package, Timmy Douglas, 2021/01/28
- Re: packaging a golang package, Adonay Felipe Nogueira, 2021/01/28
- Re: packaging a golang package, Ludovic Courtès, 2021/01/28
- Re: packaging a golang package, Adonay Felipe Nogueira, 2021/01/28
Re: packaging a golang package, raingloom, 2021/01/09