aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Vollmert <rob@vllmrt.net>2019-07-16 08:45:40 +0200
committerTimothy Sample <samplet@ngyro.com>2019-08-07 22:05:29 -0400
commitcce84c34cd40610f49d7acc58eeea541edf45578 (patch)
tree2aa130fa85e1156f76954e237af4dd37a61440a5
parenta62ddb748fd453597152e2409f6101c162900bb5 (diff)
downloadpatches-cce84c34cd40610f49d7acc58eeea541edf45578.tar
patches-cce84c34cd40610f49d7acc58eeea541edf45578.tar.gz
gnu: Add ghc-8.6.
* gnu/packages/haskell.scm (ghc-8.6): New variable. Co-authored-by: Timothy Sample <samplet@ngyro.com>
-rw-r--r--gnu/packages/haskell.scm46
1 files changed, 46 insertions, 0 deletions
diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 019f751307..4f283f7069 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -73,6 +73,7 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix utils)
+ #:use-module (ice-9 match)
#:use-module (ice-9 regex)
#:use-module ((srfi srfi-1) #:select (alist-delete)))
@@ -572,6 +573,51 @@ interactive environment for the functional language Haskell.")
(file-pattern ".*\\.conf\\.d$")
(file-type 'directory))))))
+(define-public ghc-8.6
+ (package (inherit ghc-8.4)
+ (name "ghc")
+ (version "8.6.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://www.haskell.org/ghc/dist/"
+ version "/" name "-" version "-src.tar.xz"))
+ (sha256
+ (base32 "0qg3zsmbk4rkwkc3jpas3zs74qaxmw4sp4v1mhsbj0a0dzls2jjd"))))
+ (native-inputs
+ `(;; GHC 8.6.5 must be built with GHC >= 8.2.
+ ("ghc-bootstrap" ,ghc-8.4)
+ ("ghc-testsuite"
+ ,(origin
+ (method url-fetch)
+ (uri (string-append
+ "https://www.haskell.org/ghc/dist/"
+ version "/" name "-" version "-testsuite.tar.xz"))
+ (sha256
+ (base32
+ "0pw9r91g2np3i806g2f4f8z4jfdd7mx226cmdizk4swa7av1qf91"))))
+ ,@(filter (match-lambda
+ (("ghc-bootstrap" . _) #f)
+ (("ghc-testsuite" . _) #f)
+ (_ #t))
+ (package-native-inputs ghc-8.4))))
+ (arguments
+ (substitute-keyword-arguments (package-arguments ghc-8.4)
+ ((#:make-flags make-flags ''())
+ `(cons "EXTRA_RUNTEST_OPTS=--skip-perf-tests"
+ ,make-flags))
+ ((#:phases phases '%standard-phases)
+ `(modify-phases ,phases
+ ;; These two tests refer to the root user, which doesn't exist
+ ;; (see <https://bugs.gnu.org/36692>).
+ (add-after 'unpack-testsuite 'skip-tests
+ (lambda _
+ (substitute* "libraries/unix/tests/all.T"
+ (("^test\\('T8108'") "# guix skipped: test('T8108'"))
+ (substitute* "libraries/unix/tests/libposix/all.T"
+ (("^test\\('posix010'") "# guix skipped: test('posix010'"))
+ #t))))))))
+
(define-public ghc-8 ghc-8.4)
(define-public ghc ghc-8)