import: go: Match "go-import" meta tags anywhere.
authorSarah Morgensen <iskarian@mgsn.dev>
Fri, 17 Sep 2021 01:27:09 +0000 (18:27 -0700)
committerLudovic Courtès <ludo@gnu.org>
Sat, 18 Sep 2021 21:08:32 +0000 (23:08 +0200)
Some personal sites forget to put <meta name="go-import" ...> in a
<head> element, so look anywhere for them.

Partly fixes <https://issues.guix.gnu.org/50595>.
Reported by Stephen Paul Weber <singpolyma@singpolyma.net>.

* guix/import/go.scm (fetch-module-meta-data): Match "go-import" meta
tags anywhere in the page.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
guix/import/go.scm

index fe7387d..9769b55 100644 (file)
@@ -480,7 +480,7 @@ build a package."
                          (strip-.git-suffix/maybe repo-url)))))
   ;; <meta name="go-import" content="import-prefix vcs repo-root">
   (let* ((meta-data (http-fetch* (format #f "https://~a?go-get=1" module-path)))
-         (select (sxpath `(// head (meta (@ (equal? (name "go-import"))))
+         (select (sxpath `(// (meta (@ (equal? (name "go-import"))))
                               // content))))
     (match (select (html->sxml meta-data #:strict? #t))
       (() #f)                           ;nothing selected