Subject: bug#36653: closed (Re: [bug#36653] [PATCH v2] guix import stackage: default to a LTS release compatible with GHC 8.4)

From: [email-masked] (GNU bug Tracking System)
Date: Tue, 03 Nov 2020 20:56:02 +0000

Your bug report

#36653: [PATCH] guix import stackage: default to a LTS release compatible with GHC 8.4

which was filed against the guix-patches package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
36653: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=36653
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: [bug#36653] [PATCH v2] guix import stackage: default to a LTS release compatible with GHC 8.4
From: Timothy Sample <[email-masked]>
To: Ludovic Courtès <[email-masked]>
Cc: [email-masked], Robert Vollmert <[email-masked]>
Date: Tue, 03 Nov 2020 15:55:00 -0500
List-Id: <debbugs-submit.debbugs.gnu.org>

Hello,

Over a year later, and I finally went ahead and pushed this!  See commit
f0bb2662bb05625042094e124521197c5f43505e.

Ludovic Courtès <[email-masked]> writes:

> Robert Vollmert <[email-masked]> skribis:
>
>> +;;; Latest LTS version compatible with bundled ghc version.
>> +(define %default-lts-version "12.26")
>
> What about storing this elsewhere?  Perhaps in the ‘properties’ field of
> the ‘ghc’ package?  That should make it easier to keep these numbers in
> sync.

That’s true, but we already have this problem with the Hackage importer.
It has a version-specific list of packages included with GHC.  It’s true
that two wrongs don’t make a right, but having this patch in place –
even with shortcomings – will prevent real problems.  Besides, we can
always fix it later.

> Besides, it’s usually clearer to separate unrelated cleanups, but it’s
> no big deal in this case.

Agreed.  (The typos were fixed in the interim, but I let the “https”
change hitch a ride along with the LTS version stuff.)

Anyway, this will pave the way for a lint check and then we can finally
put an end to the Haskell package roll-backs.  :)

-- Tim

Subject: [PATCH] guix import stackage: default to a LTS release compatible with GHC 8.4
From: Robert Vollmert <[email-masked]>
To: [email-masked]
Cc: Robert Vollmert <[email-masked]>
Date: Sun, 14 Jul 2019 21:38:43 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

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->guix-package, latest-lts-release): Use it.
(lts-info-ghc-version): Remove unused function.
(lts-info-packages, latest-lts-release): Fix documentation typos.
---
 guix/import/stackage.scm | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/guix/import/stackage.scm b/guix/import/stackage.scm
index 1c1e73a723..de12ae4cb9 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)
@@ -90,7 +88,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 +117,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 <upstream-source> 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)