guix import stackage: Default to LTS version that matches GHC.

In particular, this means that 'guix lint' won't warn to update to
versions that won't necessarily fit our package set well.

* guix/import/stackage.scm (%stackage-url): Change to "https",
avoiding redirect log messages.
(%default-lts-version): New variable.
(stackage-lts-info-fetch, stackage->guix-package,
latest-lts-release): Use it.
(lts-info-ghc-version): Remove unused procedure.

Signed-off-by: Timothy Sample <samplet@ngyro.com>
This commit is contained in:
Robert Vollmert 2019-07-16 15:41:23 +02:00 committed by Timothy Sample
parent 1aced9aa0c
commit f0bb2662bb
No known key found for this signature in database
GPG Key ID: 2AC6A5EC1C357C59

View File

@ -39,12 +39,10 @@
;;; Stackage info fetcher and access functions
;;;
(define %stackage-url "http://www.stackage.org")
(define %stackage-url "https://www.stackage.org")
(define (lts-info-ghc-version lts-info)
"Returns the version of the GHC compiler contained in LTS-INFO."
(and=> (assoc-ref lts-info "snapshot")
(cut assoc-ref <> "ghc")))
;; Latest LTS version compatible with GHC 8.6.5.
(define %default-lts-version "14.27")
(define (lts-info-packages lts-info)
"Returns the alist of packages contained in LTS-INFO."
@ -57,9 +55,10 @@
;; "Retrieve the information about the LTS Stackage release VERSION."
(memoize
(lambda* (#:optional (version ""))
(let* ((url (if (string=? "" version)
(string-append %stackage-url "/lts")
(string-append %stackage-url "/lts-" version)))
(let* ((url (string-append %stackage-url
"/lts-" (if (string-null? version)
%default-lts-version
version)))
(lts-info (json-fetch url)))
(if lts-info
(reverse lts-info)
@ -90,7 +89,7 @@
(lambda* (package-name ; upstream name
#:key
(include-test-dependencies? #t)
(lts-version "")
(lts-version %default-lts-version)
(packages-info
(lts-info-packages
(stackage-lts-info-fetch lts-version))))
@ -119,7 +118,9 @@ included in the Stackage LTS release."
;;;
(define latest-lts-release
(let ((pkgs-info (mlambda () (lts-info-packages (stackage-lts-info-fetch)))))
(let ((pkgs-info
(mlambda () (lts-info-packages
(stackage-lts-info-fetch %default-lts-version)))))
(lambda* (package)
"Return an <upstream-source> for the latest Stackage LTS release of
PACKAGE or #f if the package is not included in the Stackage LTS release."