gnu: Add ghc-8.6.

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

Co-authored-by: Timothy Sample <samplet@ngyro.com>
This commit is contained in:
Robert Vollmert 2019-07-16 08:45:40 +02:00 committed by Timothy Sample
parent a62ddb748f
commit cce84c34cd
No known key found for this signature in database
GPG Key ID: 2AC6A5EC1C357C59
1 changed files with 46 additions and 0 deletions

View File

@ -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)