import: stackage: Updater resolves inputs lazily.

Fixes the "haskell-stackage" test in 'tests/lint.scm', which started
failing with e6223017d9 because the extra
HTTP GETs induced by the 'haskell-fetch' calls would fail.

* guix/import/stackage.scm (latest-lts-release): Call 'hackage-fetch'
and its continuation from within 'inputs', which is delayed.  Pass it
NAME-VERSION instead of HACKAGE-NAME-VERSION.
This commit is contained in:
Ludovic Courtès 2023-06-09 11:46:05 +02:00
parent 213d3cad6a
commit df8b3821a8
No known key found for this signature in database
GPG Key ID: 090B11993D9AEBB5

View File

@ -158,13 +158,14 @@ PACKAGE or #f if the package is not included in the Stackage LTS release."
(warning (G_ "failed to parse ~a~%") (warning (G_ "failed to parse ~a~%")
(hackage-cabal-url hackage-name)) (hackage-cabal-url hackage-name))
#f) #f)
(_ (let ((url (hackage-source-url hackage-name version)) (_ (let ((url (hackage-source-url hackage-name version)))
(cabal (eval-cabal (hackage-fetch hackage-name) '())))
(upstream-source (upstream-source
(package (package-name pkg)) (package (package-name pkg))
(version version) (version version)
(urls (list url)) (urls (list url))
(inputs (cabal-package-inputs cabal)))))))))) (inputs
(let ((cabal (eval-cabal (hackage-fetch name-version) '())))
(cabal-package-inputs cabal)))))))))))
(define (stackage-lts-package? package) (define (stackage-lts-package? package)
"Return whether PACKAGE is available on the default Stackage LTS release." "Return whether PACKAGE is available on the default Stackage LTS release."