summaryrefslogtreecommitdiff
path: root/andromeda/packages/haskell.scm
diff options
context:
space:
mode:
authorandromeda <andromeda@lenovo>2026-08-30 03:27:57 +0200
committerandromeda <andromeda@lenovo>2026-08-30 03:27:57 +0200
commit50ec74ff09bca2f5b38d0c80b7d3ef788675c23b (patch)
treede1ea7dfa059144ba11d3c89a779b230c49ac8d5 /andromeda/packages/haskell.scm
parent7d40506d00a02c6b68f69b3761c1cfffaa98a642 (diff)
[ghc-9.14] add bootstrapped ghc@9.14.1
Diffstat (limited to 'andromeda/packages/haskell.scm')
-rw-r--r--andromeda/packages/haskell.scm83
1 files changed, 83 insertions, 0 deletions
diff --git a/andromeda/packages/haskell.scm b/andromeda/packages/haskell.scm
index 9e3ec0f..c4509ac 100644
--- a/andromeda/packages/haskell.scm
+++ b/andromeda/packages/haskell.scm
@@ -1,6 +1,7 @@
(define-module (andromeda packages haskell)
#:use-module (gnu packages)
#:use-module (gnu packages haskell)
+ #:use-module (gnu packages llvm)
#:use-module (guix download)
#:use-module (guix gexp)
#:use-module (guix packages)
@@ -75,3 +76,85 @@
(files (list (string-append "lib/ghc-" version)))
(file-pattern ".*\\.conf\\.d$")
(file-type 'directory)))))))
+
+(define-public ghc-9.14
+ (let ((base ghc-9.12))
+ (package
+ (inherit base)
+ (name "ghc")
+ (version "9.14.1")
+ (source
+ (origin
+ (patches (list (local-file "../../patches/packages-haskell-ghc-9.14.1-src-skip-test-flag.diff")))
+ (method url-fetch)
+ (uri (string-append "https://downloads.haskell.org/~ghc/" version
+ "/ghc-" version "-src.tar.xz"))
+ (sha256
+ (base32
+ "0xqy20y6kpb10f99zains403va3ainiqf9wz52im8rgqkaf7g0ra"))))
+ (arguments
+ (substitute-keyword-arguments (package-arguments base)
+ ((#:phases phases #~%standard-phases)
+ #~(modify-phases #$phases
+ (replace 'check
+ (lambda* (#:key (tests? #t) (parallel-tests? #f) (make-flags '())
+ #:allow-other-keys)
+ (if tests?
+ (apply invoke "_build/bin/hadrian"
+ `(,@(if parallel-tests?
+ (list (string-append
+ "-j"
+ (number->string (parallel-job-count))))
+ '())
+ ,@make-flags
+ "test"
+ ,(string-append
+ "--broken-test=" ; marks broken tests that totally fail
+ (string-join
+ (list "callstack001"
+ "callstack002"
+ "T15904"
+ "T25204"
+ "T16521"
+ "T27225" ; unpatched shebang in testsuite/tests/ghc-api/settings-escape/T25204.hs
+ "T27225b"
+ "T7275"
+ "toplevel_scc_1")))
+ ,(string-append ; skips tests that only partially fail
+ "--skip-test="
+ (string-join
+ (list "CallerCc1"
+ "scc001")))
+ "--skip-perf"))
+ (format #t "test suite not run~%"))))))))
+ (native-inputs
+ (modify-inputs (package-native-inputs base)
+ (replace "ghc" base)
+ (prepend llvm-20)
+ (prepend (specification->package "clang@20.1.8"))
+ (replace "ghc-testsuite.tar.xz"
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://downloads.haskell.org/~ghc/"
+ version "/ghc-" version "-testsuite.tar.xz"))
+ (sha256
+ (base32
+ "1va5ls4ng32hq8236w2aq5k0gjwxzdmwgfjf6b8z7pgpy0hzrbl4"))
+ (patches (append (search-patches "ghc-testsuite-recomp015-execstack.patch") (list (local-file "../../patches/packages-haskell-ghc-9.14.1-testsuite-skip-test-flag.diff"))))))
+ (replace "hadrian-bootstrap-sources.tar.gz"
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://downloads.haskell.org/~ghc/" version
+ "/hadrian-bootstrap-sources/"
+ "hadrian-bootstrap-sources-"
+ (package-version base) ".tar.gz"))
+ (sha256
+ (base32
+ "11sz4wlibzbndpddfyd8gi1w5fkvq34xiq48kqnilgddvd5mj5yw"))))))
+ (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)))))))