aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/haskell.scm
diff options
context:
space:
mode:
authorMarius Bakke <mbakke@fastmail.com>2018-08-16 20:56:38 +0200
committerMarius Bakke <mbakke@fastmail.com>2018-08-16 20:56:38 +0200
commitdf570bf271536399993b39e7ea2ea0452bb6cde4 (patch)
tree32cde458f90c599691831fc33cfbd4efcca9e9eb /gnu/packages/haskell.scm
parent37d203985e2817b0962129384e8b993a1bb92de9 (diff)
parent5f9a9945b5747e5ec284f8b116b2e8cc1b9064d7 (diff)
downloadguix-df570bf271536399993b39e7ea2ea0452bb6cde4.tar
guix-df570bf271536399993b39e7ea2ea0452bb6cde4.tar.gz
Merge branch 'master' into staging
Diffstat (limited to 'gnu/packages/haskell.scm')
-rw-r--r--gnu/packages/haskell.scm426
1 files changed, 386 insertions, 40 deletions
diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 7f14c59450..7347c87534 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -453,6 +453,61 @@ interactive environment for the functional language Haskell.")
determine the hostname.")
(license license:bsd-3)))
+(define-public ghc-convertible
+ (package
+ (name "ghc-convertible")
+ (version "1.1.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/convertible/"
+ "convertible-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0v18ap1mccnndgxmbfgyjdicg8jlss01bd5fq8a576dr0h4sgyg9"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-old-time" ,ghc-old-time)
+ ("ghc-old-locale" ,ghc-old-locale)
+ ("ghc-mtl" ,ghc-mtl)
+ ("ghc-text" ,ghc-text)))
+ (home-page "https://hackage.haskell.org/package/convertible")
+ (synopsis "Typeclasses and instances for converting between types")
+ (description
+ "This package provides a typeclass with a single function that is
+designed to help convert between different types: numeric values, dates and
+times, and the like. The conversions perform bounds checking and return a
+pure @code{Either} value. This means that you need not remember which specific
+function performs the conversion you desire.")
+ (license license:bsd-3)))
+
+(define-public ghc-double-conversion
+ (package
+ (name "ghc-double-conversion")
+ (version "2.0.2.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/"
+ "double-conversion/double-conversion-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0sx2kc1gw72mjvd8vph8bbjw5whfxfv92rsdhjg1c0al75rf3ka4"))))
+ (build-system haskell-build-system)
+ (inputs `(("ghc-text" ,ghc-text)))
+ (native-inputs
+ `(("ghc-hunit" ,ghc-hunit)
+ ("ghc-test-framework" ,ghc-test-framework)
+ ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
+ ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
+ (home-page "https://github.com/bos/double-conversion")
+ (synopsis "Fast conversion between double precision floating point and text")
+ (description
+ "This package provides a library that performs fast, accurate conversion
+between double precision floating point and text.")
+ (license license:bsd-3)))
+
(define-public ghc-libxml
(package
(name "ghc-libxml")
@@ -1121,17 +1176,15 @@ unwanted suggestions, and to add your own custom suggestions.")
(define-public ghc-resourcet
(package
(name "ghc-resourcet")
- (version "1.1.7.5")
+ (version "1.2.1")
(source
(origin
(method url-fetch)
- (uri (string-append
- "https://hackage.haskell.org/package/resourcet/resourcet-"
- version
- ".tar.gz"))
+ (uri (string-append "https://hackage.haskell.org/package/resourcet/"
+ "resourcet-" version ".tar.gz"))
(sha256
(base32
- "0nj0gwfd05divpdn7m47gy6bpcrwn3zk81gc303k0smrbqi0xlq5"))))
+ "0rzjzh34s36ssign7akqjnwnjxf11c3511wk7ky0xxy0dqmc2rg7"))))
(build-system haskell-build-system)
(inputs
`(("ghc-transformers-base" ,ghc-transformers-base)
@@ -1139,7 +1192,8 @@ unwanted suggestions, and to add your own custom suggestions.")
("ghc-transformers-compat" ,ghc-transformers-compat)
("ghc-mtl" ,ghc-mtl)
("ghc-mmorph" ,ghc-mmorph)
- ("ghc-exceptions" ,ghc-exceptions)))
+ ("ghc-exceptions" ,ghc-exceptions)
+ ("ghc-unliftio-core" ,ghc-unliftio-core)))
(native-inputs
`(("ghc-lifted-base" ,ghc-lifted-base)
("ghc-hspec" ,ghc-hspec)))
@@ -1414,20 +1468,20 @@ version 1.3).")
(define-public ghc-streaming-commons
(package
(name "ghc-streaming-commons")
- (version "0.1.16")
+ (version "0.2.1.0")
(source
(origin
(method url-fetch)
- (uri (string-append
- "https://hackage.haskell.org/package/streaming-commons/streaming-commons-"
- version
- ".tar.gz"))
+ (uri (string-append "https://hackage.haskell.org/package/"
+ "streaming-commons/streaming-commons-"
+ version ".tar.gz"))
(sha256
(base32
- "0vhhm0z88b1r6s50bskdfh73acwfypm614nycmi9jwiyh84zbz8p"))))
+ "13fn6qmpiggwpn8lczyydgp77cyzfypwds7wxskrwir4i5cgxlfq"))))
(build-system haskell-build-system)
(inputs
- `(("ghc-blaze-builder" ,ghc-blaze-builder)
+ `(("ghc-async" ,ghc-async)
+ ("ghc-blaze-builder" ,ghc-blaze-builder)
("ghc-network" ,ghc-network)
("ghc-random" ,ghc-random)
("ghc-stm" ,ghc-stm)
@@ -1698,6 +1752,27 @@ School of Functional Programming', 1995. See
@uref{https://web.cecs.pdx.edu/~mpj/pubs/springschool.html, the paper}.")
(license license:bsd-3)))
+(define-public ghc-parsec-numbers
+ (package
+ (name "ghc-parsec-numbers")
+ (version "0.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/"
+ "parsec-numbers/parsec-numbers-" version ".tar.gz"))
+ (sha256
+ (base32 "1gzy4v3r02kvdxvgg1nj83mmb6aph2v4ilf9c7y6nbvi2x49l0bp"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-parsec" ,ghc-parsec)))
+ (home-page "https://hackage.haskell.org/package/parsec-numbers")
+ (synopsis "Utilities for parsing numbers from strings")
+ (description
+ "This package provides the number parsers without the need to use a large
+(and unportable) token parser.")
+ (license license:bsd-3)))
+
(define-public ghc-paths
(package
(name "ghc-paths")
@@ -1769,7 +1844,7 @@ environment variables.")
(define-public ghc-setlocale
(package
(name "ghc-setlocale")
- (version "1.0.0.4")
+ (version "1.0.0.6")
(source (origin
(method url-fetch)
(uri (string-append
@@ -1777,7 +1852,7 @@ environment variables.")
version "/setlocale-" version ".tar.gz"))
(sha256
(base32
- "1sd73zgpijr9xjdj5p562cmlcxmx5iff5k8xh9b6rpcgrgnnlf9j"))))
+ "1rl8qb8vzv8fdbczy2dxwgn4cb68lfrjdxf2w8nn9wy1acqzcyjq"))))
(build-system haskell-build-system)
(home-page "https://hackage.haskell.org/package/setlocale")
(synopsis "Haskell bindings to setlocale")
@@ -2512,6 +2587,41 @@ Haskell library @code{regex-base}.")
"This provides an extra text interface for regex-tdfa.")
(license license:bsd-3)))
+(define-public ghc-regex
+ (package
+ (name "ghc-regex")
+ (version "1.0.1.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/regex/"
+ "regex-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1sjkpkgv4phy5b5v2lr89x4vx4dh44pj0sbvlsp6n86w9v6v4jwb"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-base-compat" ,ghc-base-compat)
+ ("ghc-hashable" ,ghc-hashable)
+ ("ghc-regex-base" ,ghc-regex-base)
+ ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
+ ("ghc-regex-tdfa" ,ghc-regex-tdfa)
+ ("ghc-regex-tdfa-text" ,ghc-regex-tdfa-text)
+ ("ghc-text" ,ghc-text)
+ ("ghc-time-locale-compat" ,ghc-time-locale-compat)
+ ("ghc-unordered-containers" ,ghc-unordered-containers)
+ ("ghc-utf8-string" ,ghc-utf8-string)))
+ (home-page "http://regex.uk")
+ (synopsis "Toolkit for regex-base")
+ (description
+ "This package provides a regular expression toolkit for @code{regex-base}
+with compile-time checking of regular expression syntax, data types for
+matches and captures, a text replacement toolkit, portable options, high-level
+AWK-like tools for building text processing apps, regular expression macros
+with parsers and test bench, comprehensive documentation, tutorials and
+copious examples.")
+ (license license:bsd-3)))
+
(define-public ghc-parsers
(package
(name "ghc-parsers")
@@ -3459,17 +3569,16 @@ instances of the @code{Pretty} class.")
(define-public ghc-ansi-wl-pprint
(package
(name "ghc-ansi-wl-pprint")
- (version "0.6.7.3")
+ (version "0.6.8.2")
(source
(origin
(method url-fetch)
- (uri (string-append
- "https://hackage.haskell.org/package/ansi-wl-pprint/ansi-wl-pprint-"
- version
- ".tar.gz"))
+ (uri (string-append "https://hackage.haskell.org/package/"
+ "ansi-wl-pprint/ansi-wl-pprint-"
+ version ".tar.gz"))
(sha256
(base32
- "025pyphsjf0dnbrmj5nscbi6gzyigwgp3ifxb3psn7kji6mfr29p"))))
+ "0gnb4mkqryv08vncxnj0bzwcnd749613yw3cxfzw6y3nsldp4c56"))))
(build-system haskell-build-system)
(inputs
`(("ghc-ansi-terminal" ,ghc-ansi-terminal)))
@@ -4434,6 +4543,14 @@ forms of the Yoneda lemma, and (co)density (co)monads for Haskell.")
call stacks with different versions of the compiler.")
(license license:expat)))
+;; This is used as an input to ghc-hunit. We cannot use ghc-call-stack there,
+;; because it depends on ghc-nanospec, which depends on ghc-hunit.
+(define-public ghc-call-stack-boot
+ (package
+ (inherit ghc-call-stack)
+ (arguments '(#:tests? #f))
+ (inputs '())))
+
(define-public ghc-statevar
(package
(name "ghc-statevar")
@@ -5079,7 +5196,7 @@ and bytestrings.")
(define-public ghc-pandoc-types
(package
(name "ghc-pandoc-types")
- (version "1.17.3.1")
+ (version "1.17.5.1")
(source (origin
(method url-fetch)
(uri (string-append "https://hackage.haskell.org/package/"
@@ -5087,7 +5204,7 @@ and bytestrings.")
version ".tar.gz"))
(sha256
(base32
- "0dhp5bcjl6605n2chiab5rp51zir3671gxkmwy34znh0s3vp85jb"))))
+ "1q6v2bynij724fv347mhqxdscwifzrx5jb9mq80608qf638fn717"))))
(build-system haskell-build-system)
(arguments
`(#:configure-flags (list "--allow-newer=QuickCheck")))
@@ -5120,6 +5237,9 @@ building up, manipulating and serialising @code{Pandoc} structures.")
(sha256
(base32
"1csipjdq00iiq77k2wlrg4i7afrzlh8nl585q785xzw7nn45b0n8"))))
+ (arguments
+ `(#:configure-flags (list "--allow-newer=QuickCheck"
+ "--allow-newer=HUnit")))
(inputs
`(("ghc-syb" ,ghc-syb)
("ghc-aeson" ,ghc-aeson-for-pandoc-1)
@@ -5128,14 +5248,14 @@ building up, manipulating and serialising @code{Pandoc} structures.")
(define-public ghc-texmath
(package
(name "ghc-texmath")
- (version "0.10.1.1")
+ (version "0.11.0.1")
(source (origin
(method url-fetch)
(uri (string-append "https://hackage.haskell.org/package/"
"texmath/texmath-" version ".tar.gz"))
(sha256
(base32
- "0q2fld5mdcd6j1n3rrg3bjpndbgbn17cwg0xbnvscrpa0s767jaj"))))
+ "11dc09hfnyfsz20ch2c867w0zdgjkzq41506lm61i3dk87ngdisf"))))
(build-system haskell-build-system)
(inputs
`(("ghc-syb" ,ghc-syb)
@@ -5337,7 +5457,7 @@ as invoked.\" This library tries to provide the missing path.")
(define-public ghc-enclosed-exceptions
(package
(name "ghc-enclosed-exceptions")
- (version "1.0.2")
+ (version "1.0.3")
(source (origin
(method url-fetch)
(uri (string-append "https://hackage.haskell.org/package/"
@@ -5345,8 +5465,11 @@ as invoked.\" This library tries to provide the missing path.")
version ".tar.gz"))
(sha256
(base32
- "1wc9h6zdnb5impvvml6vnjapajjanw7zgpnzg7c0v7115nwfm6vv"))))
+ "1fghjj7nkiddrf03ks8brjpr5x25yi9fs7xg6adbi4mc2gqr6vdg"))))
(build-system haskell-build-system)
+ ;; FIXME: one of the tests blocks forever:
+ ;; "thread blocked indefinitely in an MVar operation"
+ (arguments '(#:tests? #f))
(inputs
`(("ghc-lifted-base" ,ghc-lifted-base)
("ghc-monad-control" ,ghc-monad-control)
@@ -5612,22 +5735,27 @@ template-haskell abstract syntax.")
(define-public ghc-conduit
(package
(name "ghc-conduit")
- (version "1.2.12.1")
+ (version "1.3.0.3")
(source (origin
(method url-fetch)
(uri (string-append "https://hackage.haskell.org/package/"
"conduit/conduit-" version ".tar.gz"))
(sha256
(base32
- "0zl6gflh7y36y2vypjhqx13nhkk5y3h12c1zj7kjfclrmwnvnwh0"))))
+ "1sangm0qqi9dzlq95746a3kl14k8b09592a423shxjf2a0b1yx5v"))))
(build-system haskell-build-system)
(inputs
`(("ghc-exceptions" ,ghc-exceptions)
("ghc-lifted-base" ,ghc-lifted-base)
+ ("ghc-mono-traversable" ,ghc-mono-traversable)
("ghc-mmorph" ,ghc-mmorph)
("ghc-mtl" ,ghc-mtl)
("ghc-resourcet" ,ghc-resourcet)
+ ("ghc-silently" ,ghc-silently)
("ghc-transformers-base" ,ghc-transformers-base)
+ ("ghc-unliftio" ,ghc-unliftio)
+ ("ghc-unliftio-core" ,ghc-unliftio-core)
+ ("ghc-vector" ,ghc-vector)
("ghc-void" ,ghc-void)))
(native-inputs
`(("ghc-quickcheck" ,ghc-quickcheck)
@@ -6196,7 +6324,7 @@ provided. Skylighting is intended to be the successor to highlighting-kate.")
(define-public ghc-pandoc
(package
(name "ghc-pandoc")
- (version "2.0.6")
+ (version "2.2.1")
(source
(origin
(method url-fetch)
@@ -6204,7 +6332,7 @@ provided. Skylighting is intended to be the successor to highlighting-kate.")
version ".tar.gz"))
(sha256
(base32
- "1vhj6splykksb1mkxv5cs0361nj12qn23a3y1i8j5dc637lkdwpj"))))
+ "1dqin92w513l7whg5wdgrngnxsj5mb8gppfvn7kjgyv2pdgpy0zy"))))
(build-system haskell-build-system)
(inputs
`(("ghc-aeson" ,ghc-aeson)
@@ -6376,10 +6504,40 @@ dependency that depends on a large C library, and @code{rfc5051} might be
better for some purposes.")
(license license:bsd-3)))
+(define-public ghc-typed-process
+ (package
+ (name "ghc-typed-process")
+ (version "0.2.2.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/"
+ "typed-process/typed-process-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0c6gvgvjyncbni9a5bvpbglknd4yclr3d3hfg9bhgahmkj40dva2"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-async" ,ghc-async)
+ ("ghc-stm" ,ghc-stm)))
+ (native-inputs
+ `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
+ ("ghc-hspec" ,ghc-hspec)
+ ("hspec-discover" ,hspec-discover)
+ ("ghc-temporary" ,ghc-temporary)))
+ (home-page "https://haskell-lang.org/library/typed-process")
+ (synopsis "Run external processes with strong typing of streams")
+ (description
+ "This library provides the ability to launch and interact with external
+processes. It wraps around the @code{process} library, and intends to improve
+upon it.")
+ (license license:expat)))
+
(define-public ghc-conduit-extra
(package
(name "ghc-conduit-extra")
- (version "1.1.14")
+ (version "1.3.0")
(source
(origin
(method url-fetch)
@@ -6388,7 +6546,7 @@ better for some purposes.")
version ".tar.gz"))
(sha256
(base32
- "1ij3qcfk7q90fl6gklpy2k5ka9jgzrvs8frq0gy7gdcgyaabqfkg"))))
+ "1bi2b6kdzy5f9glq46jzsk02has95jkxqz0cchpbmnakzhjwjh9c"))))
(build-system haskell-build-system)
(inputs
`(("ghc-conduit" ,ghc-conduit)
@@ -6396,6 +6554,7 @@ better for some purposes.")
("ghc-monad-control" ,ghc-monad-control)
("ghc-text" ,ghc-text)
("ghc-transformers-base" ,ghc-transformers-base)
+ ("ghc-typed-process" ,ghc-typed-process)
("ghc-async" ,ghc-async)
("ghc-attoparsec" ,ghc-attoparsec)
("ghc-blaze-builder" ,ghc-blaze-builder)
@@ -8238,6 +8397,17 @@ between 2 and 3 times faster than the Mersenne Twister.")
(base32
"0w4hf598lpxfg58rnimcqxrbnpqq2jmpjx82qa5md3q6r90hlipd"))))
(build-system haskell-build-system)
+ ;; The limits have been adjusted in a revision of the cabal file.
+ (arguments
+ '(#:configure-flags (list "--allow-newer=vector")
+ #:phases
+ (modify-phases %standard-phases
+ ;; The tests cannot be built due to type errors.
+ (add-after 'unpack 'do-not-build-quickcheck-tests
+ (lambda _
+ (substitute* "vector-algorithms.cabal"
+ (("\\!flag\\(properties\\)") "True"))
+ #t)))))
(inputs
`(("ghc-vector" ,ghc-vector)
("ghc-mtl" ,ghc-mtl)
@@ -8670,7 +8840,8 @@ IPv4, IPv6 and MAC addresses.")
"1zdka5jnm1h6k36w3nr647yf3b5lqb336g3fkprhd6san9x52xlj"))))
(build-system haskell-build-system)
(arguments
- `(#:configure-flags (list "--allow-newer=QuickCheck")))
+ `(#:configure-flags (list "--allow-newer=QuickCheck"
+ "--allow-newer=HUnit")))
(inputs `(("ghc-hashable" ,ghc-hashable)
("ghc-random" ,ghc-random)
("ghc-text" ,ghc-text)))
@@ -8702,7 +8873,8 @@ functions.")
"09xhk42yhxvqmka0iqrv3338asncz8cap3j0ic0ps896f2581b6z"))))
(build-system haskell-build-system)
(arguments
- `(#:configure-flags (list "--allow-newer=QuickCheck")))
+ `(#:configure-flags (list "--allow-newer=QuickCheck"
+ "--allow-newer=HUnit")))
(inputs `(("ghc-cryptohash-sha1" ,ghc-cryptohash-sha1)
("ghc-cryptohash-md5" ,ghc-cryptohash-md5)
("ghc-entropy" ,ghc-entropy)
@@ -8848,7 +9020,7 @@ and are often as efficient as hand-written folds.")
(define-public ghc-mono-traversable
(package
(name "ghc-mono-traversable")
- (version "1.0.2.1")
+ (version "1.0.9.0")
(source
(origin
(method url-fetch)
@@ -8857,7 +9029,7 @@ and are often as efficient as hand-written folds.")
"mono-traversable-" version ".tar.gz"))
(sha256
(base32
- "0smirpwika7d5a98h20jr9jqg41n7vqfy7k31crmn449qfig9ljf"))))
+ "0180ks0dyvpk1r20w5jw2w2n79mjnk69n9vhspaxzlyxqgim5psa"))))
(build-system haskell-build-system)
(inputs `(("ghc-unordered-containers" ,ghc-unordered-containers)
("ghc-hashable" ,ghc-hashable)
@@ -8883,7 +9055,7 @@ data structures as non-empty.")
(define-public ghc-conduit-combinators
(package
(name "ghc-conduit-combinators")
- (version "1.1.1")
+ (version "1.3.0")
(source
(origin
(method url-fetch)
@@ -8892,7 +9064,7 @@ data structures as non-empty.")
"conduit-combinators-" version ".tar.gz"))
(sha256
(base32
- "0609miq03lq9visfb2dqqsxghmvgzm24pq39mqby1jnnah6yh8m0"))))
+ "1lz70vwp4y4lpsivxl0cshq7aq3968rh48r6rjvpyaj2l0bdj5wp"))))
(build-system haskell-build-system)
(inputs `(("ghc-conduit" ,ghc-conduit)
("ghc-conduit-extra" ,ghc-conduit-extra)
@@ -9677,4 +9849,178 @@ disk space usage.")
(description "This package provides a library implementing the XDG Base Directory spec.")
(license license:bsd-3)))
+(define-public ghc-errorcall-eq-instance
+ (package
+ (name "ghc-errorcall-eq-instance")
+ (version "0.3.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/"
+ "errorcall-eq-instance/errorcall-eq-instance-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0hqw82m8bbrxy5vgdwb83bhzdx070ibqrm9rshyja7cb808ahijm"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-base-orphans" ,ghc-base-orphans)))
+ (native-inputs
+ `(("ghc-quickcheck" ,ghc-quickcheck)
+ ("ghc-hspec" ,ghc-hspec)
+ ("hspec-discover" ,hspec-discover)))
+ (home-page "http://hackage.haskell.org/package/errorcall-eq-instance")
+ (synopsis "Orphan Eq instance for ErrorCall")
+ (description
+ "Prior to @code{base-4.7.0.0} there was no @code{Eq} instance for @code{ErrorCall}.
+This package provides an orphan instance.")
+ (license license:expat)))
+
+(define-public ghc-missingh
+ (package
+ (name "ghc-missingh")
+ (version "1.4.0.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/MissingH/"
+ "MissingH-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0wcvgrmav480w7nf4bl14yi0jq2yzanysxwzwas9hpb28vyjlgr8"))))
+ (build-system haskell-build-system)
+ ;; Tests require the unmaintained testpack package, which depends on the
+ ;; outdated QuickCheck version 2.7, which can no longer be built with
+ ;; recent versions of GHC and Haskell libraries.
+ (arguments '(#:tests? #f))
+ (inputs
+ `(("ghc-network" ,ghc-network)
+ ("ghc-parsec" ,ghc-parsec)
+ ("ghc-mtl" ,ghc-mtl)
+ ("ghc-hunit" ,ghc-hunit)
+ ("ghc-regex-compat" ,ghc-regex-compat)
+ ("ghc-hslogger" ,ghc-hslogger)
+ ("ghc-random" ,ghc-random)
+ ("ghc-old-time" ,ghc-old-time)
+ ("ghc-old-locale" ,ghc-old-locale)))
+ (native-inputs
+ `(("ghc-errorcall-eq-instance" ,ghc-errorcall-eq-instance)
+ ("ghc-quickcheck" ,ghc-quickcheck)
+ ("ghc-hunit" ,ghc-hunit)))
+ (home-page "http://software.complete.org/missingh")
+ (synopsis "Large utility library")
+ (description
+ "MissingH is a library of all sorts of utility functions for Haskell
+programmers. It is written in pure Haskell and thus should be extremely
+portable and easy to use.")
+ (license license:bsd-3)))
+
+(define-public ghc-intervalmap
+ (package
+ (name "ghc-intervalmap")
+ (version "0.6.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/IntervalMap/"
+ "IntervalMap-" version ".tar.gz"))
+ (sha256
+ (base32
+ "06hin9wf1by8aqa7820fsi2339bh82184frkwz3jsb9sqa0hszcg"))))
+ (build-system haskell-build-system)
+ (native-inputs
+ `(("ghc-quickcheck" ,ghc-quickcheck)))
+ (home-page "http://www.chr-breitkopf.de/comp/IntervalMap")
+ (synopsis "Containers for intervals, with efficient search")
+ (description
+ "This package provides ordered containers of intervals, with efficient
+search for all keys containing a point or overlapping an interval. See the
+example code on the home page for a quick introduction.")
+ (license license:bsd-3)))
+
+(define-public ghc-operational
+ (package
+ (name "ghc-operational")
+ (version "0.2.3.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/operational/"
+ "operational-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1x2abg2q9d26h1vzj40r6k7k3gqgappbs4g9d853vvg77837km4i"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-mtl" ,ghc-mtl)
+ ("ghc-random" ,ghc-random)))
+ (home-page "http://wiki.haskell.org/Operational")
+ (synopsis "Implementation of difficult monads made easy with operational semantics")
+ (description
+ "This library makes it easy to implement monads with tricky control
+flow. This is useful for: writing web applications in a sequential style,
+programming games with a uniform interface for human and AI players and easy
+replay capababilities, implementing fast parser monads, designing monadic
+DSLs, etc.")
+ (license license:bsd-3)))
+
+(define-public ghc-gtk2hs-buildtools
+ (package
+ (name "ghc-gtk2hs-buildtools")
+ (version "0.13.4.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/"
+ "gtk2hs-buildtools/gtk2hs-buildtools-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0yg6xmylgpylmnh5g33qwwn5x9bqckdvvv4czqzd9vrr12lnnghg"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-random" ,ghc-random)
+ ("ghc-hashtables" ,ghc-hashtables)))
+ (native-inputs
+ `(("ghc-alex" ,ghc-alex)
+ ("ghc-happy" ,ghc-happy)))
+ (home-page "http://projects.haskell.org/gtk2hs/")
+ (synopsis "Tools to build the Gtk2Hs suite of user interface libraries")
+ (description
+ "This package provides a set of helper programs necessary to build the
+Gtk2Hs suite of libraries. These tools include a modified c2hs binding tool
+that is used to generate FFI declarations, a tool to build a type hierarchy
+that mirrors the C type hierarchy of GObjects found in glib, and a generator
+for signal declarations that are used to call back from C to Haskell. These
+tools are not needed to actually run Gtk2Hs programs.")
+ (license license:gpl2)))
+
+(define-public ghc-chart
+ (package
+ (name "ghc-chart")
+ (version "1.8.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/Chart/"
+ "Chart-" version ".tar.gz"))
+ (sha256
+ (base32
+ "13s64fhb2pmkdmx5bkgbgcn25qjihs364fvr47a1dw25f804kiy1"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-old-locale" ,ghc-old-locale)
+ ("ghc-mtl" ,ghc-mtl)
+ ("ghc-lens" ,ghc-lens)
+ ("ghc-colour" ,ghc-colour)
+ ("ghc-data-default-class" ,ghc-data-default-class)
+ ("ghc-operational" ,ghc-operational)
+ ("ghc-vector" ,ghc-vector)))
+ (home-page "https://github.com/timbod7/haskell-chart/wiki")
+ (synopsis "Library for generating 2D charts and plots")
+ (description
+ "This package provides a library for generating 2D charts and plots, with
+backends provided by the @code{Cairo} and @code{Diagrams} libraries.")
+ (license license:bsd-3)))
+
;;; haskell.scm ends here