unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
From: Nicolas Graves via Guix-patches via <guix-patches@gnu.org>
To: 67921@debbugs.gnu.org
Cc: dev@jpoiret.xyz, lars@6xq.net, saku@laesvuori.fi
Subject: [bug#67921] [PATCH v3 23/24] gnu: Add ghc-9.6
Date: Thu, 31 Oct 2024 13:47:02 +0100	[thread overview]
Message-ID: <20241031125127.14080-24-ngraves@ngraves.fr> (raw)
In-Reply-To: <20241031125127.14080-1-ngraves@ngraves.fr>

From: Saku Laesvuori <saku@laesvuori.fi>

* gnu/packages/haskell.scm (ghc-9.6): New variable.

Change-Id: I6883ed973bdd1d6eaf981605c1bc8f855f850187
---
 gnu/packages/haskell.scm | 108 ++++++++++++++++++++++++++++++++++++++-
 1 file changed, 107 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 256fe84c89..239871cfcd 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -72,7 +72,8 @@ (define-module (gnu packages haskell)
   #:use-module (guix packages)
   #:use-module (guix utils)
   #:use-module (ice-9 match)
-  #:use-module (ice-9 regex))
+  #:use-module (ice-9 regex)
+  #:use-module (srfi srfi-26))
 
 (define-public cl-yale-haskell
   (let ((commit "85f94c72a16c5f70301dd8db04cde9de2d7dd270")
@@ -2161,4 +2162,109 @@ (define hadrian-for-ghc-9.6
 It is based on the Shake library and replaces @{make} in building GHC")
     (license license:expat)))
 
+(define-public ghc-9.6
+  (let ((base ghc-9.4))
+    (package
+      (inherit base)
+      (name "ghc-next")
+      (version "9.6.4")
+      (source (origin
+                (inherit (package-source base))
+                (uri (string-append "https://www.haskell.org/ghc/dist/" version
+                                    "/ghc-" version "-src.tar.xz"))
+                (sha256
+                 (base32
+                  "1h6lpx8kd4xycjwb8iv2rgnz23kwq5b0qp4bhvczsx3in2w2bgqh"))))
+      (arguments
+       (substitute-keyword-arguments (package-arguments base)
+        ((#:make-flags flags ''())
+         #~(list "-V" "--docs=no-sphinx"))
+        ((#:phases phases '%standard-phases)
+         #~(let* ((run-hadrian (lambda args
+                                 (apply invoke "hadrian" args))))
+             (modify-phases #$phases
+            (delete 'fix-shell-wrappers)
+            ;; https://gitlab.haskell.org/ghc/ghc/-/issues/22557
+            (add-before 'build 'fix-iserv-rpath
+              (lambda _
+                (mkdir-p "_build")
+                (call-with-output-file
+                 "_build/hadrian.settings"
+                 (lambda (port)
+                   (display
+                    (string-append
+                     "*.iserv.ghc.link.opts += -optl-Wl,-rpath,"
+                     #$output "/lib/ghc-" #$(package-version this-package)
+                     "/lib/" #$(or (%current-target-system)
+                                   (%current-system))
+                     "-ghc-" #$(package-version this-package) "/")
+                    port)))))
+            (replace 'build
+              (lambda* (#:key (parallel-build? #f) (make-flags '())
+                        #:allow-other-keys)
+                (apply run-hadrian
+                       `("binary-dist-dir"
+                         ,@(if parallel-build?
+                             `(,(string-append "-j" (number->string (parallel-job-count))))
+                             '())
+                         ,@make-flags))))
+            (replace 'check
+              (lambda* (#:key (tests? #t) (parallel-tests? #f) (make-flags '()) #:allow-other-keys)
+                (if tests?
+                  (apply run-hadrian
+                         `(,@(if parallel-tests?
+                               `(,(string-append "-j" (number->string (parallel-job-count))))
+                               '())
+                           ,@make-flags
+                           "test"
+                           "--skip-perf"))
+                  (format #t "test suite not run~%"))))
+            (replace 'install
+              (lambda* (#:key (make-flags '()) #:allow-other-keys)
+                (apply run-hadrian
+                       `("install"
+                         ,@make-flags
+                         ,(string-append "--prefix=" #$output)))))
+            (add-after 'install 'replace-$pkgroot
+              (lambda _
+                (substitute*
+                  (find-files
+                   (string-append #$output "/lib/ghc-"
+                                  #$(package-version this-package)
+                                  "/lib/package.conf.d/")
+                   "^.*\\.conf$")
+                  (("\\$\\{pkgroot\\}/")
+                   (string-append #$output "/lib/ghc-"
+                                  #$(package-version this-package)
+                                  "/lib/"))))))))))
+      (inputs (list bash-minimal gmp ncurses libffi))
+      (native-inputs
+       `(("perl" ,perl)
+         ("python" ,python)
+         ("git" ,git-minimal/pinned)
+         ("which" ,which)
+         ("ghostscript" ,ghostscript)
+         ("autoconf" ,autoconf)
+         ("automake" ,automake)
+
+         ("hadrian" ,hadrian-for-ghc-9.6)
+         ("ghc-bootstrap" ,ghc-bootstrap-for-9.6)
+         ("ghc-alex" ,ghc-alex-bootstrap-for-9.4)
+         ("ghc-happy" ,ghc-happy-bootstrap-for-9.4)
+         ("ghc-testsuite"
+          ,(origin
+             (method url-fetch)
+             (uri (string-append
+                   "https://www.haskell.org/ghc/dist/"
+                   version "/ghc-" version "-testsuite.tar.xz"))
+             (sha256
+              (base32
+               "0wwd6d68aia2rmlpki30azz0raf98is472cqljhbzzdzpqpjh4vf"))))))
+      (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)))))))
+
 ;;; haskell.scm ends here
-- 
2.46.0





  parent reply	other threads:[~2024-10-31 12:54 UTC|newest]

Thread overview: 112+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-12-20  7:10 [bug#67921] [PATCH haskell-team 1/3] gnu: ghc-next: Update to version 9.4.8 Saku Laesvuori via Guix-patches via
2023-12-20  7:13 ` [bug#67921] [PATCH haskell-team 2/3] gnu: ghc: Use version 9.4.8 as the default Saku Laesvuori via Guix-patches via
2023-12-22 10:07   ` Lars-Dominik Braun
2023-12-22 10:33     ` Saku Laesvuori via Guix-patches via
2023-12-22 11:03       ` Lars-Dominik Braun
2023-12-20  7:13 ` [bug#67921] [PATCH haskell-team 3/3] guix: haskell-build-system: Hide dependecies from ghc's package db Saku Laesvuori via Guix-patches via
2024-01-06 18:42   ` Lars-Dominik Braun
2024-01-08  7:09     ` Saku Laesvuori via Guix-patches via
2024-02-15  8:49 ` [bug#67921] [WIP PATCH v2 00/23] Update GHC to 9.6.4 Saku Laesvuori via Guix-patches via
2024-02-15  8:49   ` [bug#69154] " Saku Laesvuori via Guix-patches via
2024-02-15  8:49   ` [bug#67921] [PATCH v2 01/23] gnu: ghc-next: Update to version 9.4.8 Saku Laesvuori via Guix-patches via
2024-02-15  8:49     ` [bug#69144] " Saku Laesvuori via Guix-patches via
2024-02-15  8:49   ` [bug#67921] [PATCH v2 02/23] gnu: Add ghc-js-flot-bootstrap-for-9.6 Saku Laesvuori via Guix-patches via
2024-02-15  8:49     ` [bug#69143] " Saku Laesvuori via Guix-patches via
2024-02-15  8:49   ` [bug#67921] [PATCH v2 03/23] gnu: Add ghc-clock-bootstrap-for-9.6 Saku Laesvuori via Guix-patches via
2024-02-15  8:49     ` [bug#69142] " Saku Laesvuori via Guix-patches via
2024-02-15  8:49   ` [bug#67921] [PATCH v2 04/23] gnu: Add ghc-extra-bootstrap-for-9.6 Saku Laesvuori via Guix-patches via
2024-02-15  8:49     ` [bug#69151] " Saku Laesvuori via Guix-patches via
2024-02-15  8:49   ` [bug#67921] [PATCH v2 05/23] gnu: Add ghc-hashable-bootstrap-for-9.6 Saku Laesvuori via Guix-patches via
2024-02-15  8:49     ` [bug#69158] " Saku Laesvuori via Guix-patches via
2024-02-15  8:49   ` [bug#67921] [PATCH v2 06/23] gnu: Add ghc-splitmix-bootstrap-for-9.6 Saku Laesvuori via Guix-patches via
2024-02-15  8:49     ` [bug#69165] " Saku Laesvuori via Guix-patches via
2024-02-15  8:49   ` [bug#67921] [PATCH v2 07/23] gnu: Add ghc-random-bootstrap-for-9.6 Saku Laesvuori via Guix-patches via
2024-02-15  8:49     ` [bug#69156] " Saku Laesvuori via Guix-patches via
2024-02-15  8:49   ` [bug#67921] [PATCH v2 08/23] gnu: Add ghc-primitive-bootstrap-for-9.6 Saku Laesvuori via Guix-patches via
2024-02-15  8:49     ` [bug#69161] " Saku Laesvuori via Guix-patches via
2024-02-15  8:49   ` [bug#67921] [PATCH v2 09/23] gnu: Add ghc-js-jquery-bootstrap-for-9.6 Saku Laesvuori via Guix-patches via
2024-02-15  8:49     ` [bug#69153] " Saku Laesvuori via Guix-patches via
2024-02-15  8:49   ` [bug#67921] [PATCH v2 10/23] gnu: Add ghc-utf8-string-bootstrap-for-9.6 Saku Laesvuori via Guix-patches via
2024-02-15  8:49     ` [bug#69157] " Saku Laesvuori via Guix-patches via
2024-02-15  8:49   ` [bug#67921] [PATCH v2 11/23] gnu: Add ghc-heaps-bootstrap-for-9.6 Saku Laesvuori via Guix-patches via
2024-02-15  8:49     ` [bug#69152] " Saku Laesvuori via Guix-patches via
2024-02-15  8:49   ` [bug#67921] [PATCH v2 12/23] gnu: Add ghc-js-dgtable-bootstrap-for-9.6 Saku Laesvuori via Guix-patches via
2024-02-15  8:49     ` [bug#69146] " Saku Laesvuori via Guix-patches via
2024-02-15  8:49   ` [bug#67921] [PATCH v2 13/23] gnu: Add ghc-nats-bootstrap-for-9.6 Saku Laesvuori via Guix-patches via
2024-02-15  8:49     ` [bug#69147] " Saku Laesvuori via Guix-patches via
2024-02-15  8:49   ` [bug#67921] [PATCH v2 14/23] gnu: Add ghc-tagged-bootstrap-for-9.6 Saku Laesvuori via Guix-patches via
2024-02-15  8:49     ` [bug#69145] " Saku Laesvuori via Guix-patches via
2024-02-15  8:49   ` [bug#67921] [PATCH v2 15/23] gnu: Add ghc-semigroups-bootstrap-for-9.6 Saku Laesvuori via Guix-patches via
2024-02-15  8:49     ` [bug#69148] " Saku Laesvuori via Guix-patches via
2024-02-15  8:49   ` [bug#67921] [PATCH v2 16/23] gnu: Add ghc-base16-bytestring-bootstrap-for-9.6 Saku Laesvuori via Guix-patches via
2024-02-15  8:49     ` [bug#69155] " Saku Laesvuori via Guix-patches via
2024-02-15  8:49   ` [bug#67921] [PATCH v2 17/23] gnu: Add ghc-cryptohash-sha256-bootstrap-for-9.6 Saku Laesvuori via Guix-patches via
2024-02-15  8:49     ` [bug#69160] " Saku Laesvuori via Guix-patches via
2024-02-15  8:49   ` [bug#67921] [PATCH v2 18/23] gnu: Add ghc-unordered-containers-bootstrap-for-9.6 Saku Laesvuori via Guix-patches via
2024-02-15  8:49     ` [bug#69149] " Saku Laesvuori via Guix-patches via
2024-02-15  8:50   ` [bug#67921] [PATCH v2 19/23] gnu: Add ghc-filepattern-bootstrap-for-9.6 Saku Laesvuori via Guix-patches via
2024-02-15  8:50     ` [bug#69162] " Saku Laesvuori via Guix-patches via
2024-02-15  8:50   ` [bug#67921] [PATCH v2 20/23] gnu: Add ghc-shake-bootstrap-for-9.6 Saku Laesvuori via Guix-patches via
2024-02-15  8:50     ` [bug#69163] " Saku Laesvuori via Guix-patches via
2024-02-15  8:50   ` [bug#67921] [PATCH v2 21/23] gnu: Add hadrian-for-ghc-9.6 Saku Laesvuori via Guix-patches via
2024-02-15  8:50     ` [bug#69164] " Saku Laesvuori via Guix-patches via
2024-02-15  8:50   ` [bug#67921] [PATCH v2 22/23] gnu: Add ghc-9.6 Saku Laesvuori via Guix-patches via
2024-02-15  8:50     ` [bug#69159] " Saku Laesvuori via Guix-patches via
2024-02-15  8:50   ` [bug#67921] [PATCH v2 23/23] gnu: ghc: Update to version 9.6.4 Saku Laesvuori via Guix-patches via
2024-02-15  8:50     ` [bug#69150] " Saku Laesvuori via Guix-patches via
2024-02-15 16:41   ` [bug#69154] Closing accidental issues Saku Laesvuori via Guix-patches via
2024-02-15 17:05     ` Hilton Chain via Guix-patches via
2024-06-07  7:49   ` [bug#67921] [PATCH haskell-team 00/23] Update GHC to 9.6.5 Saku Laesvuori via Guix-patches via
2024-06-14 13:55     ` Lars-Dominik Braun
2024-06-27 20:24       ` Saku Laesvuori via Guix-patches via
2024-06-07  7:49   ` [bug#67921] [PATCH haskell-team 01/23] gnu: ghc-next: Update to version 9.4.8 Saku Laesvuori via Guix-patches via
2024-06-07  7:49   ` [bug#67921] [PATCH haskell-team 02/23] gnu: Add ghc-js-flot-bootstrap-for-9.6 Saku Laesvuori via Guix-patches via
2024-06-07  7:49   ` [bug#67921] [PATCH haskell-team 03/23] gnu: Add ghc-clock-bootstrap-for-9.6 Saku Laesvuori via Guix-patches via
2024-06-07  7:49   ` [bug#67921] [PATCH haskell-team 04/23] gnu: Add ghc-extra-bootstrap-for-9.6 Saku Laesvuori via Guix-patches via
2024-06-07  7:49   ` [bug#67921] [PATCH haskell-team 05/23] gnu: Add ghc-hashable-bootstrap-for-9.6 Saku Laesvuori via Guix-patches via
2024-06-07  7:49   ` [bug#67921] [PATCH haskell-team 06/23] gnu: Add ghc-splitmix-bootstrap-for-9.6 Saku Laesvuori via Guix-patches via
2024-06-07  7:49   ` [bug#67921] [PATCH haskell-team 07/23] gnu: Add ghc-random-bootstrap-for-9.6 Saku Laesvuori via Guix-patches via
2024-06-07  7:49   ` [bug#67921] [PATCH haskell-team 08/23] gnu: Add ghc-primitive-bootstrap-for-9.6 Saku Laesvuori via Guix-patches via
2024-06-07  7:49   ` [bug#67921] [PATCH haskell-team 09/23] gnu: Add ghc-js-jquery-bootstrap-for-9.6 Saku Laesvuori via Guix-patches via
2024-06-07  7:49   ` [bug#67921] [PATCH haskell-team 10/23] gnu: Add ghc-utf8-string-bootstrap-for-9.6 Saku Laesvuori via Guix-patches via
2024-06-07  7:49   ` [bug#67921] [PATCH haskell-team 11/23] gnu: Add ghc-heaps-bootstrap-for-9.6 Saku Laesvuori via Guix-patches via
2024-06-07  7:49   ` [bug#67921] [PATCH haskell-team 12/23] gnu: Add ghc-js-dgtable-bootstrap-for-9.6 Saku Laesvuori via Guix-patches via
2024-06-07  7:49   ` [bug#67921] [PATCH haskell-team 13/23] gnu: Add ghc-nats-bootstrap-for-9.6 Saku Laesvuori via Guix-patches via
2024-06-07  7:49   ` [bug#67921] [PATCH haskell-team 14/23] gnu: Add ghc-tagged-bootstrap-for-9.6 Saku Laesvuori via Guix-patches via
2024-06-07  7:49   ` [bug#67921] [PATCH haskell-team 15/23] gnu: Add ghc-semigroups-bootstrap-for-9.6 Saku Laesvuori via Guix-patches via
2024-06-07  7:49   ` [bug#67921] [PATCH haskell-team 16/23] gnu: Add ghc-base16-bytestring-bootstrap-for-9.6 Saku Laesvuori via Guix-patches via
2024-06-07  7:49   ` [bug#67921] [PATCH haskell-team 17/23] gnu: Add ghc-cryptohash-sha256-bootstrap-for-9.6 Saku Laesvuori via Guix-patches via
2024-06-07  7:49   ` [bug#67921] [PATCH haskell-team 18/23] gnu: Add ghc-unordered-containers-bootstrap-for-9.6 Saku Laesvuori via Guix-patches via
2024-06-07  7:49   ` [bug#67921] [PATCH haskell-team 19/23] gnu: Add ghc-filepattern-bootstrap-for-9.6 Saku Laesvuori via Guix-patches via
2024-06-07  7:49   ` [bug#67921] [PATCH haskell-team 20/23] gnu: Add ghc-shake-bootstrap-for-9.6 Saku Laesvuori via Guix-patches via
2024-06-07  7:49   ` [bug#67921] [PATCH haskell-team 21/23] gnu: Add hadrian-for-ghc-9.6 Saku Laesvuori via Guix-patches via
2024-06-07  7:49   ` [bug#67921] [PATCH haskell-team 22/23] gnu: Add ghc-9.6 Saku Laesvuori via Guix-patches via
2024-06-07  7:49   ` [bug#67921] [PATCH haskell-team 23/23] gnu: ghc: Update to version 9.6.5 Saku Laesvuori via Guix-patches via
2024-02-15 17:05 ` [bug#67921] [WIP PATCH v2 00/23] Update GHC to 9.6.4 Suhail via Guix-patches via
2024-02-15 17:49   ` Saku Laesvuori via Guix-patches via
2024-10-31 12:46 ` [bug#67921] [PATCH v3 00/24] [haskell-team] GHC update Nicolas Graves via Guix-patches via
2024-10-31 12:46   ` [bug#67921] [PATCH v3 01/24] gnu: ghc: More robust build with binutils ≥ 2.39 Nicolas Graves via Guix-patches via
2024-10-31 14:02     ` Nicolas Graves via Guix-patches via
2024-10-31 12:46   ` [bug#67921] [PATCH v3 02/24] gnu: ghc-next: Update to version 9.4.8 Nicolas Graves via Guix-patches via
2024-10-31 12:46   ` [bug#67921] [PATCH v3 03/24] gnu: Add ghc-js-flot-bootstrap-for-9.6 Nicolas Graves via Guix-patches via
2024-10-31 12:46   ` [bug#67921] [PATCH v3 04/24] gnu: Add ghc-clock-bootstrap-for-9.6 Nicolas Graves via Guix-patches via
2024-10-31 12:46   ` [bug#67921] [PATCH v3 05/24] gnu: Add ghc-extra-bootstrap-for-9.6 Nicolas Graves via Guix-patches via
2024-10-31 12:46   ` [bug#67921] [PATCH v3 06/24] gnu: Add ghc-hashable-bootstrap-for-9.6 Nicolas Graves via Guix-patches via
2024-10-31 12:46   ` [bug#67921] [PATCH v3 07/24] gnu: Add ghc-splitmix-bootstrap-for-9.6 Nicolas Graves via Guix-patches via
2024-10-31 12:46   ` [bug#67921] [PATCH v3 08/24] gnu: Add ghc-random-bootstrap-for-9.6 Nicolas Graves via Guix-patches via
2024-10-31 12:46   ` [bug#67921] [PATCH v3 09/24] gnu: Add ghc-primitive-bootstrap-for-9.6 Nicolas Graves via Guix-patches via
2024-10-31 12:46   ` [bug#67921] [PATCH v3 10/24] gnu: Add ghc-js-jquery-bootstrap-for-9.6 Nicolas Graves via Guix-patches via
2024-10-31 12:46   ` [bug#67921] [PATCH v3 11/24] gnu: Add ghc-utf8-string-bootstrap-for-9.6 Nicolas Graves via Guix-patches via
2024-10-31 12:46   ` [bug#67921] [PATCH v3 12/24] gnu: Add ghc-heaps-bootstrap-for-9.6 Nicolas Graves via Guix-patches via
2024-10-31 12:46   ` [bug#67921] [PATCH v3 13/24] gnu: Add ghc-js-dgtable-bootstrap-for-9.6 Nicolas Graves via Guix-patches via
2024-10-31 12:46   ` [bug#67921] [PATCH v3 14/24] gnu: Add ghc-nats-bootstrap-for-9.6 Nicolas Graves via Guix-patches via
2024-10-31 12:46   ` [bug#67921] [PATCH v3 15/24] gnu: Add ghc-tagged-bootstrap-for-9.6 Nicolas Graves via Guix-patches via
2024-10-31 12:46   ` [bug#67921] [PATCH v3 16/24] gnu: Add ghc-semigroups-bootstrap-for-9.6 Nicolas Graves via Guix-patches via
2024-10-31 12:46   ` [bug#67921] [PATCH v3 17/24] gnu: Add ghc-base16-bytestring-bootstrap-for-9.6 Nicolas Graves via Guix-patches via
2024-10-31 12:46   ` [bug#67921] [PATCH v3 18/24] gnu: Add ghc-cryptohash-sha256-bootstrap-for-9.6 Nicolas Graves via Guix-patches via
2024-10-31 12:46   ` [bug#67921] [PATCH v3 19/24] gnu: Add ghc-unordered-containers-bootstrap-for-9.6 Nicolas Graves via Guix-patches via
2024-10-31 12:46   ` [bug#67921] [PATCH v3 20/24] gnu: Add ghc-filepattern-bootstrap-for-9.6 Nicolas Graves via Guix-patches via
2024-10-31 12:47   ` [bug#67921] [PATCH v3 21/24] gnu: Add ghc-shake-bootstrap-for-9.6 Nicolas Graves via Guix-patches via
2024-10-31 12:47   ` [bug#67921] [PATCH v3 22/24] gnu: Add hadrian-for-ghc-9.6 Nicolas Graves via Guix-patches via
2024-10-31 12:47   ` Nicolas Graves via Guix-patches via [this message]
2024-10-31 12:47   ` [bug#67921] [PATCH v3 24/24] gnu: ghc: Update to version 9.6.4 Nicolas Graves via Guix-patches via

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20241031125127.14080-24-ngraves@ngraves.fr \
    --to=guix-patches@gnu.org \
    --cc=67921@debbugs.gnu.org \
    --cc=dev@jpoiret.xyz \
    --cc=lars@6xq.net \
    --cc=ngraves@ngraves.fr \
    --cc=saku@laesvuori.fi \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).