summaryrefslogtreecommitdiff
path: root/gnu/packages/haskell.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/haskell.scm')
-rw-r--r--gnu/packages/haskell.scm899
1 files changed, 671 insertions, 228 deletions
diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 4fc2b40502..9b26ff56f2 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -1080,7 +1080,7 @@ specify refactorings without depending on GHC.")
(define-public hlint
(package
(name "hlint")
- (version "2.1")
+ (version "2.1.1")
(source
(origin
(method url-fetch)
@@ -1089,7 +1089,7 @@ specify refactorings without depending on GHC.")
"/" name "-" version ".tar.gz"))
(sha256
(base32
- "13chm0dhh1fn2iy3flnh7ahc3yzh8q0v10qxwd1739sywhykayg9"))))
+ "0mmfavd158l5ig5wb1b1zbhbraj8hhqvbk4mg85n6c8ndpr4grd4"))))
(build-system haskell-build-system)
(inputs
`(("cpphs" ,cpphs)
@@ -5838,15 +5838,18 @@ Damerau-Levenshtein algorithms.")
(define-public ghc-memory
(package
(name "ghc-memory")
- (version "0.13")
+ (version "0.14.16")
(source (origin
(method url-fetch)
(uri (string-append "https://hackage.haskell.org/package/"
"memory/memory-" version ".tar.gz"))
(sha256
(base32
- "02l742qxjqy3jw1a347gb7sn7pn7a5qha1vzi2qqbvgafcjn0wyw"))))
+ "03rbszi5d4z9rlbfv8ydrl1xf84xsh8z57g07f7j9qccn9587c3v"))))
(build-system haskell-build-system)
+ (inputs
+ `(("ghc-basement" ,ghc-basement)
+ ("ghc-foundation" ,ghc-foundation)))
(native-inputs
`(("ghc-tasty" ,ghc-tasty)
("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
@@ -6248,7 +6251,7 @@ better for some purposes.")
(define-public ghc-conduit-extra
(package
(name "ghc-conduit-extra")
- (version "1.1.13.3")
+ (version "1.1.14")
(source
(origin
(method url-fetch)
@@ -6257,7 +6260,7 @@ better for some purposes.")
version ".tar.gz"))
(sha256
(base32
- "0j3cqpkrn7lbpviv6w0gjh93fjjbh1an2sq0yz7svaawja8civy2"))))
+ "1ij3qcfk7q90fl6gklpy2k5ka9jgzrvs8frq0gy7gdcgyaabqfkg"))))
(build-system haskell-build-system)
(inputs
`(("ghc-conduit" ,ghc-conduit)
@@ -6455,39 +6458,6 @@ constant-time:
data quickly and efficiently, using the ByteString type.")
(license license:bsd-3)))
-(define-public ghc-binary
- (package
- (name "ghc-binary")
- (version "0.8.5.1")
- (source
- (origin
- (method url-fetch)
- (uri (string-append
- "https://hackage.haskell.org/package/binary/binary-"
- version ".tar.gz"))
- (sha256
- (base32
- "15h5zqfw7xmcimvlq6bs8f20vxlfvz7g411fns5z7212crlimffy"))))
- (build-system haskell-build-system)
- (arguments
- `(#:configure-flags (list "--allow-newer=QuickCheck")))
- (native-inputs
- `(("ghc-random" ,ghc-random)
- ("ghc-test-framework" ,ghc-test-framework)
- ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
- ("ghc-quickcheck" ,ghc-quickcheck)
- ("ghc-hunit" ,ghc-hunit)))
- (home-page "https://github.com/kolmodin/binary")
- (synopsis
- "Binary serialisation for Haskell values using lazy ByteStrings")
- (description
- "Efficient, pure binary serialisation using lazy ByteStrings. Haskell values
-may be encoded to and from binary formats, written to disk as binary, or sent over
-the network. The format used can be automatically generated, or you can choose to
-implement a custom format if needed. Serialisation speeds of over 1 G\\/sec have
-been observed, so this library should be suitable for high performance scenarios.")
- (license license:bsd-3)))
-
(define-public ghc-data-ordlist
(package
(name "ghc-data-ordlist")
@@ -6508,34 +6478,6 @@ been observed, so this library should be suitable for high performance scenarios
"This module provides set and multiset operations on ordered lists.")
(license license:bsd-3)))
-(define-public ghc-haskeline
- (package
- (name "ghc-haskeline")
- (version "0.7.4.2")
- (source
- (origin
- (method url-fetch)
- (uri (string-append
- "https://hackage.haskell.org/package/haskeline/haskeline-"
- version ".tar.gz"))
- (sha256
- (base32
- "1sxhdhy9asinxn0gvd4zandbk6xkb04vy1y7lmh66f9jv66fqhsm"))))
- (build-system haskell-build-system)
- (arguments
- `(#:configure-flags (list "-fterminfo")))
- (inputs
- `(("ncurses" ,ncurses)
- ("ghc-stm" ,ghc-stm)))
- (home-page "https://github.com/judah/haskeline")
- (synopsis "Command-line interface for user input")
- (description
- "Haskeline provides a user interface for line input in command-line
-programs. This library is similar in purpose to readline, but since it
-is written in Haskell it is (hopefully) more easily used in other Haskell
-programs.")
- (license license:bsd-3)))
-
(define-public ghc-regex-applicative
(package
(name "ghc-regex-applicative")
@@ -6687,8 +6629,7 @@ this problem.")
`(("ghc-bytestring-handle" ,ghc-bytestring-handle)
("ghc-quickcheck" ,ghc-quickcheck)
("ghc-tasty" ,ghc-tasty)
- ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
- ("ghc-array" ,ghc-array)))
+ ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
(home-page "https://hackage.haskell.org/package/tar")
(synopsis "Reading, writing and manipulating \".tar\" archive files")
(description
@@ -6701,48 +6642,6 @@ preserved. It also provides features for random access to archive content using
an index.")
(license license:bsd-3)))
-(define-public ghc-transformers
- (package
- (name "ghc-transformers")
- (version "0.5.2.0")
- (source
- (origin
- (method url-fetch)
- (uri (string-append
- "https://hackage.haskell.org/package/transformers/transformers-"
- version ".tar.gz"))
- (sha256
- (base32
- "1qkhi8ssf8c4jnmrw9dzym3igqbzq7h48iisaykdfzdsm09qfh3c"))))
- (build-system haskell-build-system)
- (home-page "https://hackage.haskell.org/package/transformers")
- (synopsis "Concrete functor and monad transformers")
- (description
- "A portable library of functor and monad transformers, inspired by the paper
-'Functional Programming with Overloading and Higher-Order Polymorphism',
-by Mark P Jones. This package contains the monad transformer class and IO monad class,
-concrete functor and monad transformers, each with associated operations and functions
-to lift operations associated with other transformers. The package can be used on
-its own in portable Haskell code, in which case operations need to be manually lifted
-through transformer stacks. Alternatively, it can be used with the
-non-portable monad classes in the @code{mtl} or @code{monads-tf} packages,
-which automatically lift operations introduced by monad transformers through
-other transformers.")
- (license license:bsd-3)))
-
-;; darcs-2.12.0 requires transformers-0.4.2.0
-(define-public ghc-transformers-0.4.2.0
- (package
- (inherit ghc-transformers)
- (version "0.4.2.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://hackage.haskell.org/package/transformers/"
- "transformers-" version ".tar.gz"))
- (sha256
- (base32
- "0a364zfcm17mhpy0c4ms2j88sys4yvgd6071qsgk93la2wjm8mkr"))))))
-
(define-public ghc-stmonadtrans
(package
(name "ghc-stmonadtrans")
@@ -6834,44 +6733,6 @@ Polymorphism', by Mark P Jones. This package is almost a compatible replacement
the @code{mtl-tf} package.")
(license license:bsd-3)))
-;; Do not use this. Bytestring is a standard library and always included.
-(define-public ghc-bytestring
- (package
- (name "ghc-bytestring")
- (version "0.10.8.2")
- (source
- (origin
- (method url-fetch)
- (uri (string-append
- "https://hackage.haskell.org/package/bytestring/bytestring-"
- version ".tar.gz"))
- (sha256
- (base32
- "0fjc5ybxx67l0kh27l6vq4saf88hp1wnssj5ka90ii588y76cvys"))))
- (build-system haskell-build-system)
- (inputs
- `(("ghc-dlist" ,ghc-dlist)
- ("ghc-byteorder" ,ghc-byteorder)
- ("ghc-hunit" ,ghc-hunit)
- ("ghc-mtl" ,ghc-mtl)
- ("ghc-quickcheck" ,ghc-quickcheck)
- ("ghc-random" ,ghc-random)
- ("ghc-test-framework" ,ghc-test-framework)
- ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
- ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
- (arguments
- `(#:tests? #f)) ; Test number two becomes non-responsive for 20+ minutes
- (home-page "https://github.com/haskell/bytestring")
- (synopsis "Fast, compact, strict and lazy byte strings with a list interface")
- (description
- "An efficient compact, immutable byte string type (both strict and lazy)
-suitable for binary or 8-bit character data. The 'ByteString' type represents
-sequences of bytes or 8-bit characters. It is suitable for high performance use,
-both in terms of large data quantities, or high speed requirements. The 'ByteString'
-functions follow the same style as ordinary lists, so it is easy to convert code
-from using 'String' to 'ByteString'.")
- (license license:bsd-3)))
-
(define-public ghc-colour
(package
(name "ghc-colour")
@@ -6894,57 +6755,6 @@ Colours can be blended and composed. Various colour spaces are
supported. A module of colour names (\"Data.Colour.Names\") is provided.")
(license license:expat)))
-;; Do not use this as an input. It is part of GHC.
-(define-public ghc-directory
- (package
- (name "ghc-directory")
- (version "1.3.2.0")
- (source
- (origin
- (method url-fetch)
- (uri (string-append
- "https://hackage.haskell.org/package/directory/directory-"
- version ".tar.gz"))
- (sha256
- (base32
- "0ffhanigxrx5wpin8l0wfp7d24lpgsjwj0hxrfp8bpy2wj1snxny"))))
- (build-system haskell-build-system)
- (home-page "https://hackage.haskell.org/package/directory")
- (synopsis "Platform-agnostic library for file system operations")
- (description
- "This library provides a basic set of operations for manipulating
-files and directories in a portable way.")
- (license license:bsd-3)))
-
-;; Do not use this as an input. It is part of GHC.
-(define-public ghc-process
- (package
- (name "ghc-process")
- (version "1.6.3.0")
- (source
- (origin
- (method url-fetch)
- (uri (string-append
- "https://hackage.haskell.org/package/process/process-"
- version ".tar.gz"))
- (sha256
- (base32
- "0lxkl0gmyy2sn3r9c7dyz8vz1cm6nvygmgrizilliir5bp42m8cc"))))
- (build-system haskell-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'patch-reference-to-/bin/sh
- (lambda _
- (substitute* "System/Process/Posix.hs"
- (("/bin/sh") (which "sh")))
- #t)))))
- (home-page "https://hackage.haskell.org/package/process")
- (synopsis "System process libraries")
- (description
- "This package contains libraries for dealing with system processes.")
- (license license:bsd-3)))
-
(define-public ghc-wl-pprint-text
(package
(name "ghc-wl-pprint-text")
@@ -7040,29 +6850,6 @@ and edge labels with positional information, etc.
@end enumerate\n")
(license license:bsd-3)))
-(define-public ghc-array
- (package
- (name "ghc-array")
- (version "0.5.2.0")
- (source
- (origin
- (method url-fetch)
- (uri (string-append
- "https://hackage.haskell.org/package/array/array-"
- version ".tar.gz"))
- (sha256
- (base32
- "12v83s2imxb3p2crnlzrpjh0nk6lpysw9bdk9yahs6f37csa5jaj"))))
- (build-system haskell-build-system)
- (home-page
- "https://hackage.haskell.org/package/array")
- (synopsis "Mutable and immutable arrays")
- (description
- "In addition to providing the @code{Data.Array} module, this package also defines
-the classes @code{IArray} of immutable arrays and @code{MArray} of arrays mutable
-within appropriate monads, as well as some instances of these classes.")
- (license license:bsd-3)))
-
(define-public ghc-constraints
(package
(name "ghc-constraints")
@@ -7894,7 +7681,6 @@ files in Haskell.")
(inputs
`(("ghc-mtl" ,ghc-mtl)
("ghc-network" ,ghc-network)
- ("ghc-directory" ,ghc-directory)
("ghc-old-locale" ,ghc-old-locale)))
(native-inputs
`(("ghc-hunit" ,ghc-hunit)))
@@ -8036,7 +7822,7 @@ bytestrings and their hexademical representation.")
(define-public ghc-psqueues
(package
(name "ghc-psqueues")
- (version "0.2.2.3")
+ (version "0.2.6.0")
(source
(origin
(method url-fetch)
@@ -8045,7 +7831,7 @@ bytestrings and their hexademical representation.")
"psqueues-" version ".tar.gz"))
(sha256
(base32
- "1dd6xv1wjxj1xinx155b14hijw8fafrg4096srzdzj7xyqq7qxbd"))))
+ "0n39s1i88j6s7vvsdhpbhcr3gpbwlzabwcc3nbd7nqb4kb4i0sls"))))
(build-system haskell-build-system)
(inputs
`(("ghc-hashable" ,ghc-hashable)))
@@ -8056,7 +7842,7 @@ bytestrings and their hexademical representation.")
("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/bttr/psqueues")
+ (home-page "https://github.com/jaspervdj/psqueues")
(synopsis "Pure priority search queues")
(description "The psqueues package provides
@uref{https://en.wikipedia.org/wiki/Priority_queue, Priority Search Queues} in
@@ -8213,6 +7999,7 @@ Double.")
(base32
"1sv5vabsx332v1lpb6v3jv4zrzvpx1n7yprzd8wlcda5vsc5a6zp"))))
(build-system haskell-build-system)
+ (arguments `(#:tests? #f)) ; FIXME: 1 test fails.
(inputs
`(("ghc-vector" ,ghc-vector)
("ghc-vector-th-unbox" ,ghc-vector-th-unbox)))
@@ -8516,7 +8303,8 @@ and regression and autocorrelation analysis.
"0bszq6fijnr4pmadzz89smj7kfmzx0ca3wd9ga8gv0in9jk9vgp1"))))
(build-system haskell-build-system)
(inputs `(("ghc-vector" ,ghc-vector)
- ("ghc-semigroups" ,ghc-semigroups)))
+ ("ghc-semigroups" ,ghc-semigroups)
+ ("ghc-text" ,ghc-text)))
(home-page "https://github.com/snoyberg/mono-traversable")
(synopsis "Typeclasses for dealing with various chunked data
representations for Haskell")
@@ -9023,4 +8811,659 @@ Haskell programmers. The ultimate goal is to support all Amazon
Web Services.")
(license license:bsd-3)))
+(define-public ghc-basement
+ (package
+ (name "ghc-basement")
+ (version "0.0.7")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/"
+ "basement/basement-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0w2g4k9bs2ph00p0fgrmcrng8ypdz6xis0r10g380nzkg2rvj0dm"))))
+ (build-system haskell-build-system)
+ (home-page "https://github.com/haskell-foundation/foundation")
+ (synopsis "Basic primitives for Foundation starter pack")
+ (description
+ "This package contains basic primitives for the Foundation set of
+packages.")
+ (license license:bsd-3)))
+
+(define-public ghc-foundation
+ (package
+ (name "ghc-foundation")
+ (version "0.0.20")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/"
+ "foundation/foundation-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0bg4g0xf4pb2vmahnfp8c4f0a3v0av73lb5g8bwnp170khxfcsms"))))
+ (build-system haskell-build-system)
+ (inputs `(("ghc-basement" ,ghc-basement)))
+ (home-page "https://github.com/haskell-foundation/foundation")
+ (synopsis "Alternative prelude with batteries and no dependencies")
+ (description
+ "This package provides a custom prelude with no dependencies apart from
+the base package.
+
+Foundation has the following goals:
+
+@enumerate
+@item provide a base like sets of modules that provide a consistent set of
+ features and bugfixes across multiple versions of GHC (unlike base).
+@item provide a better and more efficient prelude than base's prelude.
+@item be self-sufficient: no external dependencies apart from base;
+@item provide better data-types: packed unicode string by default, arrays;
+@item Numerical classes that better represent mathematical things (no more
+ all-in-one @code{Num});
+@item I/O system with less lazy IO.
+@end enumerate\n")
+ (license license:bsd-3)))
+
+(define-public ghc-stm-chans
+ (package
+ (name "ghc-stm-chans")
+ (version "3.0.0.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/"
+ "stm-chans-" version "/"
+ "stm-chans-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0f27sp09yha43xk9q55sc185jyjs5h7gq2dhsyx6bm9kz9dzqi13"))))
+ (build-system haskell-build-system)
+ (inputs `(("ghc-stm" ,ghc-stm)))
+ (home-page "https://hackage.haskell.org/package/stm-chans")
+ (synopsis "Additional types of channels for ghc-stm")
+ (description "This Haskell package offers a collection of channel types,
+similar to @code{Control.Concurrent.STM.@{TChan,TQueue@}} but with additional
+features.")
+ (license license:bsd-3)))
+
+(define-public ghc-monad-loops
+ (package
+ (name "ghc-monad-loops")
+ (version "0.4.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/"
+ "monad-loops-" version "/"
+ "monad-loops-" version ".tar.gz"))
+ (sha256
+ (base32
+ "062c2sn3hc8h50p1mhqkpyv6x8dydz2zh3ridvlfjq9nqimszaky"))))
+ (build-system haskell-build-system)
+ (native-inputs `(("ghc-tasty" ,ghc-tasty)
+ ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
+ (home-page "https://github.com/mokus0/monad-loops")
+ (synopsis "Monadic loops for Haskell")
+ (description "This Haskell package provides some useful control
+operators for looping.")
+ (license license:public-domain)))
+
+(define-public ghc-monad-logger
+ (package
+ (name "ghc-monad-logger")
+ (version "0.3.25.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/"
+ "monad-logger-" version "/"
+ "monad-logger-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0yv4fsi566zrn30j2g5l901lyqgmflhvzy4hji7ikcbh5d45m920"))))
+ (build-system haskell-build-system)
+ (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
+ ("ghc-text" ,ghc-text)
+ ("ghc-stm" ,ghc-stm)
+ ("ghc-stm-chans" ,ghc-stm-chans)
+ ("ghc-lifted-base" ,ghc-lifted-base)
+ ("ghc-resourcet" ,ghc-resourcet)
+ ("ghc-conduit" ,ghc-conduit)
+ ("ghc-conduit-extra" ,ghc-conduit-extra)
+ ("ghc-fast-logger" ,ghc-fast-logger)
+ ("ghc-transformers-base" ,ghc-transformers-base)
+ ("ghc-monad-control" ,ghc-monad-control)
+ ("ghc-monad-loops" ,ghc-monad-loops)
+ ("ghc-mtl" ,ghc-mtl)
+ ("ghc-blaze-builder" ,ghc-blaze-builder)
+ ("ghc-exceptions" ,ghc-exceptions)))
+ (home-page "https://github.com/kazu-yamamoto/logger")
+ (synopsis "Provides a class of monads which can log messages for Haskell")
+ (description "This Haskell package uses a monad transformer approach
+for logging.
+
+This package provides Template Haskell functions for determining source
+code locations of messages.")
+ (license license:expat)))
+
+(define-public ghc-shakespeare
+ (package
+ (name "ghc-shakespeare")
+ (version "2.0.14")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/"
+ "shakespeare-" version "/"
+ "shakespeare-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0j5zx8ka7d7scvb9shm7k3376qzl3k4kpim9aqqfs6n86901zpl4"))))
+ (build-system haskell-build-system)
+ (inputs `(("ghc-parsec" ,ghc-parsec)
+ ("ghc-text" ,ghc-text)
+ ("ghc-aeson" ,ghc-aeson)
+ ("ghc-blaze-markup" ,ghc-blaze-markup)
+ ("ghc-blaze-html" ,ghc-blaze-html)
+ ("ghc-exceptions" ,ghc-exceptions)
+ ("ghc-vector" ,ghc-vector)
+ ("ghc-unordered-containers" ,ghc-unordered-containers)
+ ("ghc-scientific" ,ghc-scientific)))
+ (native-inputs `(("ghc-hspec" ,ghc-hspec)
+ ("ghc-hunit" ,ghc-hunit)
+ ("hspec-discover" ,hspec-discover)))
+ (home-page "https://www.yesodweb.com/book/shakespearean-templates")
+ (synopsis "Family of type-safe template languages for Haskell")
+ (description "This Haskell package provides a family of type-safe
+templates with simple variable interpolation. Shakespeare templates can
+be used inline with a quasi-quoter or in an external file and it
+interpolates variables according to the type being inserted.")
+ (license license:expat)))
+
+(define-public ghc-securemem
+ (package
+ (name "ghc-securemem")
+ (version "0.1.9")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/"
+ "securemem-" version "/"
+ "securemem-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0dkhhjxa7njc3qbgvd5a23rkvr39vj2kn2a9nk6yjg7a8b2hvdpy"))))
+ (build-system haskell-build-system)
+ (inputs `(("ghc-byteable" ,ghc-byteable)
+ ("ghc-memory" ,ghc-memory)))
+ (home-page "https://github.com/vincenthz/hs-securemem")
+ (synopsis "Auto-scrubbing and const-time-eq memory chunk abstraction for
+Haskell")
+ (description "SecureMem is similar to ByteString, except that it provides
+a memory chunk that will be auto-scrubbed after it run out of scope.")
+ (license license:bsd-3)))
+
+(define-public ghc-resource-pool
+ (package
+ (name "ghc-resource-pool")
+ (version "0.2.3.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/"
+ "resource-pool-" version "/"
+ "resource-pool-" version ".tar.gz"))
+ (sha256
+ (base32
+ "04mw8b9djb14zp4rdi6h7mc3zizh597ffiinfbr4m0m8psifw9w6"))))
+ (build-system haskell-build-system)
+ (inputs `(("ghc-hashable" ,ghc-hashable)
+ ("ghc-monad-control" ,ghc-monad-control)
+ ("ghc-transformers-base" ,ghc-transformers-base)
+ ("ghc-stm" ,ghc-stm)
+ ("ghc-vector" ,ghc-vector)))
+ (home-page "https://github.com/bos/pool")
+ (synopsis "Striped resource pooling implementation in Haskell")
+ (description "This Haskell package provides striped pooling abstraction
+for managing flexibly-sized collections of resources such as database
+connections.")
+ (license license:bsd-3)))
+
+(define-public ghc-attoparsec-iso8601
+ (package
+ (name "ghc-attoparsec-iso8601")
+ (version "1.0.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/"
+ "attoparsec-iso8601-" version "/"
+ "attoparsec-iso8601-" version ".tar.gz"))
+ (sha256
+ (base32
+ "12l55b76bhya9q89mfmqmy6sl5v39b6gzrw5rf3f70vkb23nsv5a"))))
+ (build-system haskell-build-system)
+ (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
+ ("ghc-base-compat" ,ghc-base-compat)
+ ("ghc-text" ,ghc-text)))
+ (home-page "https://github.com/bos/aeson")
+ (synopsis "Parse ISO 8601 dates")
+ (description "Haskell library for parsing of ISO 8601 dates, originally
+from aeson.")
+ (license license:bsd-3)))
+
+(define-public ghc-th-lift-instances
+ (package
+ (name "ghc-th-lift-instances")
+ (version "0.1.11")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/"
+ "th-lift-instances-" version "/"
+ "th-lift-instances-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1f56cp6ckcalld5jchv0kxpjkwcsixd7smd0g7r8cg67ppx6m90x"))))
+ (build-system haskell-build-system)
+ (inputs `(("ghc-th-lift" ,ghc-th-lift)
+ ("ghc-vector" ,ghc-vector)
+ ("ghc-text" ,ghc-text)))
+ (native-inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
+ (home-page "https://github.com/bennofs/th-lift-instances")
+ (synopsis "Lift instances for template-haskell for common data types")
+ (description "Most data types in the Haskell platform do not have Lift
+instances. This package provides orphan instances for containers, text,
+bytestring and vector.")
+ (license license:bsd-3)))
+
+(define-public ghc-generics-sop
+ (package
+ (name "ghc-generics-sop")
+ (version "0.3.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/"
+ "generics-sop-" version "/"
+ "generics-sop-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1bazlhgmxcwv7vd44jhdx74cnhmaz6yy47jxfycapjj4mjrnp0x7"))))
+ (build-system haskell-build-system)
+ (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)))
+ (home-page "https://github.com/well-typed/generics-sop")
+ (synopsis "Generic Programming using True Sums of Products for Haskell")
+ (description "This Haskell package supports the definition of generic
+functions. Datatypes are viewed in a uniform, structured way: the choice
+between constructors is represented using an n-ary sum, and the arguments of
+each constructor are represented using an n-ary product.")
+ (license license:bsd-3)))
+
+(define-public ghc-uri-bytestring
+ (package
+ (name "ghc-uri-bytestring")
+ (version "0.3.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/"
+ "uri-bytestring-" version "/"
+ "uri-bytestring-" version ".tar.gz"))
+ (sha256
+ (base32
+ "04qjv1sgyrdg538290p9hqnvyxnahvr5cjwl8vm1rn9j0fv3ymq9"))))
+ (build-system haskell-build-system)
+ (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
+ ("ghc-fail" ,ghc-fail)
+ ("ghc-blaze-builder" ,ghc-blaze-builder)
+ ("ghc-th-lift-instances" ,ghc-th-lift-instances)))
+ (native-inputs `(("ghc-attoparsec" ,ghc-attoparsec)
+ ("ghc-hunit" ,ghc-hunit)
+ ("ghc-quickcheck" ,ghc-quickcheck)
+ ("ghc-tasty" ,ghc-tasty)
+ ("ghc-tasty-hunit" ,ghc-tasty-hunit)
+ ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
+ ("ghc-base-compat" ,ghc-base-compat)
+ ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
+ ("ghc-semigroups" ,ghc-semigroups)
+ ("ghc-generics-sop" ,ghc-generics-sop)))
+ (home-page "https://github.com/Soostone/uri-bytestring")
+ (synopsis "Haskell URI parsing as ByteStrings")
+ (description "This Haskell package aims to be an RFC3986 compliant URI
+parser that uses ByteStrings for parsing and representing the URI data.")
+ (license license:bsd-3)))
+
+(define-public ghc-time-locale-compat
+ (package
+ (name "ghc-time-locale-compat")
+ (version "0.1.1.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/"
+ "time-locale-compat-" version "/"
+ "time-locale-compat-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1vdcfr2hp9qh3ag90x6ikbdf42wiqpdylnplffna54bpnilbyi4i"))))
+ (build-system haskell-build-system)
+ (home-page "https://github.com/khibino/haskell-time-locale-compat")
+ (synopsis "Compatibility of TimeLocale between old-locale and time-1.5")
+ (description "This Haskell package contains wrapped name module for
+TimeLocale.")
+ (license license:bsd-3)))
+
+(define-public ghc-http-api-data
+ (package
+ (name "ghc-http-api-data")
+ (version "0.3.7.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/"
+ "http-api-data-" version "/"
+ "http-api-data-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1zbmf0kkfsw7pfznisi205gh7jd284gfarxsyiavd2iw26akwqwc"))))
+ (build-system haskell-build-system)
+ (arguments `(#:tests? #f)) ; FIXME: Tests require QuickCheck >= 2.9
+ (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
+ ("ghc-attoparsec-iso8601" ,ghc-attoparsec-iso8601)
+ ("ghc-hashable" ,ghc-hashable)
+ ("ghc-http-types" ,ghc-http-types)
+ ("ghc-text" ,ghc-text)
+ ("ghc-time-locale-compat" ,ghc-time-locale-compat)
+ ("ghc-unordered-containers" ,ghc-unordered-containers)
+ ("ghc-uri-bytestring" ,ghc-uri-bytestring)
+ ("ghc-uuid-types" ,ghc-uuid-types)))
+ (home-page "https://github.com/fizruk/http-api-data")
+ (synopsis "Convert to/from HTTP API data like URL pieces, headers and
+query parameters")
+ (description "This Haskell package defines typeclasses used for converting
+Haskell data types to and from HTTP API data.")
+ (license license:bsd-3)))
+
+(define-public ghc-persistent
+ (package
+ (name "ghc-persistent")
+ (version "2.7.3.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/"
+ "persistent-" version "/"
+ "persistent-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1jbvavdvr9qz5ld7vf6l1jgiadhmxx6zc4vqsdk9ivfq6d5wlg1p"))))
+ (build-system haskell-build-system)
+ (inputs `(("ghc-old-locale" ,ghc-old-locale)
+ ("ghc-text" ,ghc-text)
+ ("ghc-conduit" ,ghc-conduit)
+ ("ghc-resourcet" ,ghc-resourcet)
+ ("ghc-exceptions" ,ghc-exceptions)
+ ("ghc-monad-control" ,ghc-monad-control)
+ ("ghc-lifted-base" ,ghc-lifted-base)
+ ("ghc-resource-pool" ,ghc-resource-pool)
+ ("ghc-path-pieces" ,ghc-path-pieces)
+ ("ghc-http-api-data" ,ghc-http-api-data)
+ ("ghc-aeson" ,ghc-aeson)
+ ("ghc-monad-logger" ,ghc-monad-logger)
+ ("ghc-transformers-base" ,ghc-transformers-base)
+ ("ghc-base64-bytestring" ,ghc-base64-bytestring)
+ ("ghc-unordered-containers" ,ghc-unordered-containers)
+ ("ghc-vector" ,ghc-vector)
+ ("ghc-attoparsec" ,ghc-attoparsec)
+ ("ghc-haskell-src-meta" ,ghc-haskell-src-meta)
+ ("ghc-blaze-html" ,ghc-blaze-html)
+ ("ghc-blaze-markup" ,ghc-blaze-markup)
+ ("ghc-silently" ,ghc-silently)
+ ("ghc-mtl" ,ghc-mtl)
+ ("ghc-fast-logger" ,ghc-fast-logger)
+ ("ghc-scientific" ,ghc-scientific)
+ ("ghc-tagged" ,ghc-tagged)))
+ (native-inputs `(("ghc-hspec" ,ghc-hspec)))
+ (home-page "https://www.yesodweb.com/book/persistent")
+ (synopsis "Type-safe, multi-backend data serialization for Haskell")
+ (description "This Haskell package allows Haskell programs to access data
+storage sytems like PostgreSQL, SQLite, MySQL and MongoDB in a type-safe
+way.")
+ (license license:expat)))
+
+(define-public ghc-aeson-compat
+ (package
+ (name "ghc-aeson-compat")
+ (version "0.3.7.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/"
+ "aeson-compat-" version "/"
+ "aeson-compat-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1jya3lm9imclhb8qqihv39hhb62vvs3qpws7pc5fc23vwg0hsx2r"))))
+ (build-system haskell-build-system)
+ (arguments `(#:tests? #f)) ; FIXME: Tests require QuickCheck >= 2.10
+ (inputs `(("ghc-base-compat" ,ghc-base-compat)
+ ("ghc-aeson" ,ghc-aeson)
+ ("ghc-attoparsec" ,ghc-attoparsec)
+ ("ghc-attoparsec" ,ghc-attoparsec-iso8601)
+ ("ghc-exceptions" ,ghc-exceptions)
+ ("ghc-hashable" ,ghc-hashable)
+ ("ghc-scientific" ,ghc-scientific)
+ ("ghc-text" ,ghc-text)
+ ("ghc-time-locale-compat" ,ghc-time-locale-compat)
+ ("ghc-unordered-containers" ,ghc-unordered-containers)
+ ("ghc-vector" ,ghc-vector)
+ ("ghc-tagged" ,ghc-tagged)
+ ("ghc-semigroups" ,ghc-semigroups)
+ ("ghc-nats" ,ghc-nats)))
+ (home-page "https://github.com/phadej/aeson-compat")
+ (synopsis "Compatibility layer for ghc-aeson")
+ (description "This Haskell package provides compatibility layer for
+ghc-aeson.")
+ (license license:bsd-3)))
+
+(define-public ghc-persistent-template
+ (package
+ (name "ghc-persistent-template")
+ (version "2.5.3.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/"
+ "persistent-template-" version "/"
+ "persistent-template-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0449piw3n02q7dag7k1pakfmzmf3ms4wk1qmnagczpm1ckajinwd"))))
+ (build-system haskell-build-system)
+ (inputs `(("ghc-persistent" ,ghc-persistent)
+ ("ghc-monad-control" ,ghc-monad-control)
+ ("ghc-text" ,ghc-text)
+ ("ghc-aeson" ,ghc-aeson)
+ ("ghc-aeson-compat" ,ghc-aeson-compat)
+ ("ghc-monad-logger" ,ghc-monad-logger)
+ ("ghc-unordered-containers" ,ghc-unordered-containers)
+ ("ghc-tagged" ,ghc-tagged)
+ ("ghc-path-pieces" ,ghc-path-pieces)
+ ("ghc-http-api-data" ,ghc-http-api-data)))
+ (native-inputs `(("ghc-hspec" ,ghc-hspec)
+ ("ghc-quickcheck" ,ghc-quickcheck)))
+ (home-page "https://www.yesodweb.com/book/persistent")
+ (synopsis "Type-safe, non-relational, multi-backend persistence")
+ (description "This Haskell package provides interfaces and helper
+functions for the ghc-persistent package.")
+ (license license:expat)))
+
+(define-public ghc-unliftio-core
+ (package
+ (name "ghc-unliftio-core")
+ (version "0.1.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/"
+ "unliftio-core-" version "/"
+ "unliftio-core-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1193fplsjm1lcr05xwvkj1rsyzx74i755f6kw3ikmxbsv0bv0l3m"))))
+ (build-system haskell-build-system)
+ (home-page
+ "https://github.com/fpco/unliftio/tree/master/unliftio-core#readme")
+ (synopsis "The MonadUnliftIO typeclass for unlifting monads to IO")
+ (description "This Haskell package provides the core @code{MonadUnliftIO}
+typeclass, instances for base and transformers, and basic utility
+functions.")
+ (license license:expat)))
+
+(define-public ghc-microlens
+ (package
+ (name "ghc-microlens")
+ (version "0.4.8.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/"
+ "microlens-" version "/"
+ "microlens-" version ".tar.gz"))
+ (sha256
+ (base32
+ "17qx2mbqdrlnkc3gxq8njbp7qw8nh51drmz6fc8khgj9bls5ni2k"))))
+ (build-system haskell-build-system)
+ (home-page
+ "https://github.com/aelve/microlens")
+ (synopsis "Provides a tiny lens Haskell library with no dependencies")
+ (description "This Haskell package provides a lens library, just like
+@code{ghc-lens}, but smaller. It provides essential lenses and
+traversals (like @code{_1} and @code{_Just}), as well as ones which are simply
+nice to have (like @code{each}, @code{at}, and @code{ix}), and some
+combinators (like @code{failing} and @code{singular}), but everything else is
+stripped. As the result, this package has no dependencies.")
+ (license license:bsd-3)))
+
+(define-public ghc-microlens-th
+ (package
+ (name "ghc-microlens-th")
+ (version "0.4.1.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/"
+ "microlens-th-" version "/"
+ "microlens-th-" version ".tar.gz"))
+ (sha256
+ (base32
+ "15a12cqxlgbcn1n73zwrxnp2vfm8b0ma0a0sdd8zmjbs8zy3np4f"))))
+ (build-system haskell-build-system)
+ (inputs `(("ghc-microlens" ,ghc-microlens)))
+ (home-page
+ "https://github.com/aelve/microlens")
+ (synopsis "Automatic generation of record lenses for
+@code{ghc-microlens}")
+ (description "This Haskell package lets you automatically generate lenses
+for data types; code was extracted from the lens package, and therefore
+generated lenses are fully compatible with ones generated by lens (and can be
+used both from lens and microlens).")
+ (license license:bsd-3)))
+
+(define-public ghc-unliftio
+ (package
+ (name "ghc-unliftio")
+ (version "0.2.4.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://hackage.haskell.org/package/unliftio/unliftio-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "0vpncmwaq5zb6bziqfns4qdgxmq8ky0rlxna2yngxp170s5zxx9z"))))
+ (build-system haskell-build-system)
+ (arguments `(#:tests? #f)) ; FIXME: hspec-discover not in PATH
+ (inputs
+ `(("ghc-async" ,ghc-async)
+ ("ghc-stm" ,ghc-stm)
+ ("ghc-unliftio-core" ,ghc-unliftio-core)))
+ (native-inputs `(("ghc-hspec" ,ghc-hspec)))
+ (home-page "https://github.com/fpco/unliftio")
+ (synopsis "Provides MonadUnliftIO typecplass for unlifting monads to
+IO (batteries included)")
+ (description "This Haskell package provides the core @code{MonadUnliftIO}
+typeclass, a number of common instances, and a collection of common functions
+working with it.")
+ (license license:expat)))
+
+(define-public ghc-persistent-sqlite
+ (package
+ (name "ghc-persistent-sqlite")
+ (version "2.6.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/"
+ "persistent-sqlite-" version "/"
+ "persistent-sqlite-" version ".tar.gz"))
+ (sha256
+ (base32
+ "16mc2ra0hbyyc8ckjlxxc11bpskdymbr8c3g6ih6wzik639xprbm"))))
+ (build-system haskell-build-system)
+ (inputs `(("ghc-persistent" ,ghc-persistent)
+ ("ghc-unliftio-core" ,ghc-unliftio-core)
+ ("ghc-aeson" ,ghc-aeson)
+ ("ghc-conduit" ,ghc-conduit)
+ ("ghc-monad-logger" ,ghc-monad-logger)
+ ("ghc-microlens-th" ,ghc-microlens-th)
+ ("ghc-resourcet" ,ghc-resourcet)
+ ("ghc-old-locale" ,ghc-old-locale)
+ ("ghc-resource-pool" ,ghc-resource-pool)
+ ("ghc-unordered-containers" ,ghc-unordered-containers)))
+ (native-inputs `(("ghc-hspec" ,ghc-hspec)
+ ("ghc-persistent-template" ,ghc-persistent-template)
+ ("ghc-temporary" ,ghc-temporary)
+ ("ghc-text" ,ghc-text)))
+ (home-page
+ "https://www.yesodweb.com/book/persistent")
+ (synopsis "Backend for the persistent library using sqlite3")
+ (description "This Haskell package includes a thin sqlite3 wrapper based
+on the direct-sqlite package, as well as the entire C library, so there are no
+system dependencies.")
+ (license license:expat)))
+
+(define-public ghc-email-validate
+ (package
+ (name "ghc-email-validate")
+ (version "2.3.2.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://hackage.haskell.org/package/"
+ "email-validate/email-validate-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "0qvxysiap3r4mi3xff5nsk9qv6diqxfgwj186bypbamzvzlz0lav"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-attoparsec" ,ghc-attoparsec)
+ ("ghc-hspec" ,ghc-hspec)
+ ("ghc-quickcheck" ,ghc-quickcheck)
+ ("ghc-doctest" ,ghc-doctest)))
+ (home-page
+ "https://github.com/Porges/email-validate-hs")
+ (synopsis "Email address validator for Haskell")
+ (description
+ "This Haskell package provides a validator that can validate an email
+address string against RFC 5322.")
+ (license license:bsd-3)))
+
;;; haskell.scm ends here