guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Core-updates after the staging merge


From: Simon Tournier
Subject: Re: Core-updates after the staging merge
Date: Mon, 17 Apr 2023 14:19:43 +0200

Hi,

On lun., 17 avril 2023 at 11:56, Andreas Enge <andreas@enge.fr> wrote:
> Am Mon, Apr 17, 2023 at 11:03:25AM +0200 schrieb Andreas Enge:
>> - ghc is taking a long time...
>
> Actually ghc@9.0 fails its tests, which are written in Python (it looks
> like ".abc" needs to be added to collections); but since it is not needed
> for bootstrapping any more, maybe we could drop it?

Well, the current Haskell bootstrap chain is:

   7.8.4
-> 7.10.3
-> 8.0.2
-> 8.4.4
-> 8.6.5
-> 8.8.4
-> 8.10.7
-> 9.0.2; 9.2.5
-> 9.4.4 (next)

and instead we could try this shorter one:

   7.8.4
-> 8.0.2 (needs >= 7.10)
-> 8.4.4 (needs >= 8.0)
-> 8.8.4 (needs >= 8.4)
-> 9.2.5 (needs >= 8.6)

WDYT?  If no objection, I will give a try.



Moreover, the recipe for GHC looks like:

--8<---------------cut here---------------start------------->8---
(define-public ghc-9.0
  (package
    (inherit ghc-8.10)
    (name "ghc")
    (version "9.0.2")
    (source (origin
              (method url-fetch)
              (uri (string-append "https://www.haskell.org/ghc/dist/"; version
                                  "/ghc-" version "-src.tar.xz"))
              (sha256
               (base32
                "15wii8can2r3dcl6jjmd50h2jvn7rlmn05zb74d2scj6cfwl43hl"))))
    (native-inputs
     `(;; GHC 9.0.2 must be built with GHC >= 8.8
       ("ghc-bootstrap" ,ghc-8.10)
       ("ghc-testsuite"
        ,(origin
           (method url-fetch)
           (uri (string-append
                  "https://www.haskell.org/ghc/dist/";
                  version "/ghc-" version "-testsuite.tar.xz"))
           (sha256
            (base32
             "1m5fzhr4gjn9ni8gxx7ag3fkbw1rspjzgv39mnfb0nkm5mw70v3s"))))
       ,@(filter (match-lambda
                   (("ghc-bootstrap" . _) #f)
                   (("ghc-testsuite" . _) #f)
                   (_ #t))
                 (package-native-inputs ghc-8.10))))
    (native-search-paths
     (list (search-path-specification
            (variable "GHC_PACKAGE_PATH")
            (files (list (string-append "lib/ghc-" version)))
            (file-pattern ".*\\.conf\\.d$")
            (file-type 'directory))))))
--8<---------------cut here---------------end--------------->8---

and it is similar for ’ghc-8.10’ and other, well something like:

    (native-inputs
     `(
       ("ghc-bootstrap" ,ghc-x.y)
       ("ghc-testsuite"
        ,(origin
           (method url-fetch)
           (uri (string-append
                  "https://www.haskell.org/ghc/dist/";
                  version "/ghc-" version "-testsuite.tar.xz"))

where ghc-x.y is a full GHC containing the complete testsuite.  I
propose here to replace by ’ghc-x.y/bootstrap’ where the tests are
turned off for this ghc-x.y/bootstrap.  We would not have to wait hours
and hours… Hum, I do not know if it is a good idea. :-)

I mean I propose to have both: ghc-x.y (with tests) and
ghc.x.y/bootstrap (without tests), it would ease the maintenance of the
Haskell ecosystem on several architectures.  WDYT?

Cheers,
simon




reply via email to

[Prev in Thread] Current Thread [Next in Thread]