From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:470:142:3::10]:56259) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hnNjU-0000vb-En for guix-patches@gnu.org; Tue, 16 Jul 2019 09:43:08 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hnNjS-0002pv-0y for guix-patches@gnu.org; Tue, 16 Jul 2019 09:43:04 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:40931) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hnNjR-0002pn-Sd for guix-patches@gnu.org; Tue, 16 Jul 2019 09:43:01 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1hnNjR-0000fb-Oj for guix-patches@gnu.org; Tue, 16 Jul 2019 09:43:01 -0400 Subject: [bug#36653] [PATCH v2] guix import stackage: default to a LTS release compatible with GHC 8.4 References: <20190714193843.23405-1-rob@vllmrt.net> In-Reply-To: <20190714193843.23405-1-rob@vllmrt.net> Resent-Message-ID: From: Robert Vollmert Date: Tue, 16 Jul 2019 15:41:23 +0200 Message-Id: <20190716134122.21947-1-rob@vllmrt.net> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: 36653@debbugs.gnu.org Cc: Robert Vollmert In particular, this means that guix lint won't warn to update to versions that won't necessarily fit our package set well. Also some minor clean-up tweaks. * guix/import/stackage.scm (%stackage-url): Change to https, avoiding redirect log messages. (%default-lts-version): New field. (stackage-lts-info-fetch, stackage->guix-package, latest-lts-release): Use it. (lts-info-ghc-version): Remove unused function. (lts-info-packages, latest-lts-release): Fix documentation typos. --- This fixes the patch to *also* apply to normal use of `guix import stackage`, as originally intended. guix/import/stackage.scm | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/guix/import/stackage.scm b/guix/import/stackage.scm index 1c1e73a723..f845da4b27 100644 --- a/guix/import/stackage.scm +++ b/guix/import/stackage.scm @@ -39,15 +39,13 @@ ;;; 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) - "Retruns 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 bundled ghc version. +(define %default-lts-version "12.26") (define (lts-info-packages lts-info) - "Retruns the alist of packages contained in LTS-INFO." + "Returns the alist of packages contained in LTS-INFO." (or (assoc-ref lts-info "packages") '())) (define (leave-with-message fmt . args) @@ -57,9 +55,11 @@ ;; "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=? "" version) + %default-lts-version + version))) (lts-info (json-fetch-alist url))) (if lts-info (reverse lts-info) @@ -90,7 +90,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,10 +119,12 @@ 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 for the latest Stackage LTS release of -PACKAGE or #f it the package is not inlucded in the Stackage LTS release." +PACKAGE or #f it the package is not included in the Stackage LTS release." (let* ((hackage-name (guix-package->hackage-name package)) (version (lts-package-version (pkgs-info) hackage-name)) (name-version (hackage-name-version hackage-name version))) -- 2.20.1 (Apple Git-117)