diff mbox series

[bug#58000] gnu: Add ghc-9.0.

Message ID 87mtasornd.fsf@localhost
State Accepted
Headers show
Series [bug#58000] gnu: Add ghc-9.0. | expand

Checks

Context Check Description
cbaines/comparison success View comparision
cbaines/git-branch success View Git branch
cbaines/applying patch success View Laminar job
cbaines/issue success View issue

Commit Message

itd Sept. 22, 2022, 6:21 a.m. UTC
* gnu/packages/haskell.scm (ghc-9.0): New variable.
---
Hi,

this patch introduces GHC 9.0.2.  (More recent than the latest GHC in Guix and
prerequisite to build newer GHC releases, to my understanding.)
Please consider applying it.  Thanks!

Regards
itd

 gnu/packages/haskell.scm | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)


base-commit: 04cad8e29ed85be838921c7fa05f7c5bce94b6d1

Comments

Efraim Flashner Oct. 2, 2022, 6:13 p.m. UTC | #1
On Thu, Sep 22, 2022 at 08:21:58AM +0200, itd wrote:
> * gnu/packages/haskell.scm (ghc-9.0): New variable.
> ---
> Hi,
> 
> this patch introduces GHC 9.0.2.  (More recent than the latest GHC in Guix and
> prerequisite to build newer GHC releases, to my understanding.)
> Please consider applying it.  Thanks!
> 
> Regards
> itd

I added a comment that ghc-9.0.2 needs >= 8.8 to build and I removed the
extra git input (it was also inherited from 8.10). You might be
interested to know that when staging is eventually merged we've shorted
the bootstrap path slightly by trying to skip a few versions while
building out, so 9.2.x will hopefully also be buildable with 8.10.

Thanks! Patch pushed.
diff mbox series

Patch

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index effc6eeb1b..0afa4d1ce9 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -1011,6 +1011,41 @@  (define-public ghc-8.10
 
 (define-public ghc-8 ghc-8.10)
 
+(define-public ghc-9.0
+  (package
+    (inherit ghc-8.10)
+    (name "ghc-next")
+    (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-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"))))
+                     ("git" ,git-minimal/fixed) ;invoked during tests
+                     ,@(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))))))
+
 (define-public ghc ghc-8)
 
 ;;; haskell.scm ends here