[PATCH] import: go: Recognize major version suffixes.

  • Done
  • quality assurance status badge
Details
2 participants
  • Sarah Morgensen
  • Ludovic Courtès
Owner
unassigned
Submitted by
Sarah Morgensen
Severity
normal
S
S
Sarah Morgensen wrote on 29 Sep 2021 04:59
(address . guix-patches@gnu.org)
58c2e5ecbfef887de1414a4fed38634b0ed6c259.1632884296.git.iskarian@mgsn.dev
Do not treat major version suffixes (such as "/v3") as repository

* 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'.
---
guix/import/go.scm | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

Toggle diff (27 lines)
diff --git a/guix/import/go.scm b/guix/import/go.scm
index ca909ab35a..26dbc34b63 100644
--- a/guix/import/go.scm
+++ b/guix/import/go.scm
@@ -612,6 +612,8 @@ hint: use one of the following available versions ~a\n"
(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 @@ hint: use one of the following available versions ~a\n"
(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

base-commit: c582be4c38596a6a31a39c6799723dcd8b6eb909
prerequisite-patch-id: dbb8a05982f57aefffd5b97ab3dac4073b48245d
--
2.33.0
L
L
Ludovic Courtès wrote on 4 Oct 2021 16:08
(name . Sarah Morgensen)(address . iskarian@mgsn.dev)(address . 50885-done@debbugs.gnu.org)
87zgroopb6.fsf@gnu.org
Sarah Morgensen <iskarian@mgsn.dev> skribis:

Toggle quote (7 lines)
> 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'.

Applied as well, but I feel that it may be useful to have tests for
these fine points that where regressions would otherwise be hard to
notice.

Thanks,
Ludo’.
Closed
?