~ruther/guix-local

df8b3821a80d3cdf9b2244bad743b4cfba765bb9 — Ludovic Courtès 3 years ago 213d3ca
import: stackage: Updater resolves inputs lazily.

Fixes the "haskell-stackage" test in 'tests/lint.scm', which started
failing with e6223017d95bc615b2648f0798d9a3904d5b5f57 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.
1 files changed, 4 insertions(+), 3 deletions(-)

M guix/import/stackage.scm
M guix/import/stackage.scm => guix/import/stackage.scm +4 -3
@@ 158,13 158,14 @@ PACKAGE or #f if the package is not included in the Stackage LTS release."
           (warning (G_ "failed to parse ~a~%")
                    (hackage-cabal-url hackage-name))
           #f)
          (_ (let ((url (hackage-source-url hackage-name version))
                   (cabal (eval-cabal (hackage-fetch hackage-name) '())))
          (_ (let ((url (hackage-source-url hackage-name version)))
               (upstream-source
                (package (package-name pkg))
                (version version)
                (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)
  "Return whether PACKAGE is available on the default Stackage LTS release."