import: go: Recognize major version suffixes.

Do not treat major version suffixes (such as "/v3") as repository
subdirectories.  See <https://golang.org/ref/mod#major-version-suffixes>.

* guix/import/go.scm (go-module->guix-package): When determining the
unpack path, compare 'root-module-path' to 'module-path-sans-suffix'
instead of 'module-path'.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
Sarah Morgensen 2021-09-28 19:59:32 -07:00 committed by Ludovic Courtès
parent ac43ead774
commit 834ff65e85
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5

View file

@ -612,6 +612,8 @@ (define* (go-module->guix-package module-path #:key
(dependencies (if pin-versions?
dependencies+versions
(map car dependencies+versions)))
(module-path-sans-suffix
(match:prefix (string-match "([\\./]v[0-9]+)?$" module-path)))
(guix-name (go-module->guix-package-name module-path))
(root-module-path (module-path->repository-root module-path))
;; The VCS type and URL are not included in goproxy information. For
@ -631,7 +633,7 @@ (define* (go-module->guix-package module-path #:key
(build-system go-build-system)
(arguments
'(#:import-path ,module-path
,@(if (string=? module-path root-module-path)
,@(if (string=? module-path-sans-suffix root-module-path)
'()
`(#:unpack-path ,root-module-path))))
,@(maybe-propagated-inputs