gnu: Add ghc-infer-license.
[jackhill/guix/guix.git] / gnu / packages / haskell-xyz.scm
CommitLineData
6b34d01c 1;;; GNU Guix --- Functional package management for GNU
dddbc90c
RV
2;;; Copyright © 2015, 2016 Federico Beffa <beffa@fbengineering.ch>
3;;; Copyright © 2015 Siniša Biđin <sinisa@bidin.eu>
4;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
5;;; Copyright © 2015, 2019 Eric Bavier <bavier@member.fsf.org>
6;;; Copyright © 2016, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
7;;; Copyright © 2016, 2017 ng0 <ng0@n0.is>
799d8d3c 8;;; Copyright © 2016, 2019 Efraim Flashner <efraim@flashner.co.il>
dddbc90c
RV
9;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
10;;; Copyright © 2016, 2017 David Craven <david@craven.ch>
11;;; Copyright © 2017 Danny Milosavljevic <dannym@scratchpost.org>
12;;; Copyright © 2017 Peter Mikkelsen <petermikkelsen10@gmail.com>
13;;; Copyright © 2017, 2018 Alex Vong <alexvong1995@gmail.com>
14;;; Copyright © 2017 rsiddharth <s@ricketyspace.net>
15;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
16;;; Copyright © 2018 Tonton <tonton@riseup.net>
17;;; Copyright © 2018, 2019 Timothy Sample <samplet@ngyro.com>
18;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
19;;; Copyright © 2018, 2019 Gabriel Hondet <gabrielhondet@gmail.com>
6b34d01c 20;;; Copyright © 2019 Robert Vollmert <rob@vllmrt.net>
dddbc90c 21;;; Copyright © 2019 Jacob MacDonald <jaccarmac@gmail.com>
a52f4c57 22;;; Copyright © 2019 John Soo <jsoo1@asu.edu>
e405912c 23;;; Copyright © 2019 Kyle Meyer <kyle@kyleam.com>
9ad9ec2e 24;;; Copyright © 2019 Alex Griffin <a@ajgrf.com>
6b34d01c
RV
25;;;
26;;; This file is part of GNU Guix.
27;;;
28;;; GNU Guix is free software; you can redistribute it and/or modify it
29;;; under the terms of the GNU General Public License as published by
30;;; the Free Software Foundation; either version 3 of the License, or (at
31;;; your option) any later version.
32;;;
33;;; GNU Guix is distributed in the hope that it will be useful, but
34;;; WITHOUT ANY WARRANTY; without even the implied warranty of
35;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
36;;; GNU General Public License for more details.
37;;;
38;;; You should have received a copy of the GNU General Public License
39;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
40
41(define-module (gnu packages haskell-xyz)
42 #:use-module (gnu packages)
dddbc90c
RV
43 #:use-module (gnu packages base)
44 #:use-module (gnu packages compression)
45 #:use-module (gnu packages emacs)
46 #:use-module (gnu packages gcc)
47 #:use-module (gnu packages gl)
48 #:use-module (gnu packages graphviz)
49 #:use-module (gnu packages gtk)
50 #:use-module (gnu packages haskell-apps)
efb96749 51 #:use-module (gnu packages haskell-check)
dddbc90c
RV
52 #:use-module (gnu packages haskell-crypto)
53 #:use-module (gnu packages haskell-web)
54 #:use-module (gnu packages libffi)
55 #:use-module (gnu packages linux)
56 #:use-module (gnu packages lua)
57 #:use-module (gnu packages maths)
49e29df5 58 #:use-module (gnu packages ncurses)
dddbc90c
RV
59 #:use-module (gnu packages pcre)
60 #:use-module (gnu packages pkg-config)
61 #:use-module (gnu packages sdl)
0c2d6fc2 62 #:use-module (gnu packages web)
dddbc90c
RV
63 #:use-module (gnu packages xml)
64 #:use-module (gnu packages xorg)
6b34d01c
RV
65 #:use-module (guix build-system haskell)
66 #:use-module (guix download)
dddbc90c 67 #:use-module (guix git-download)
4780db2c 68 #:use-module (guix utils)
6b34d01c
RV
69 #:use-module ((guix licenses) #:prefix license:)
70 #:use-module (guix packages))
71
dddbc90c 72(define-public ghc-abstract-deque
efb96749 73 (package
dddbc90c
RV
74 (name "ghc-abstract-deque")
75 (version "0.3")
efb96749
RV
76 (source
77 (origin
78 (method url-fetch)
79 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c
RV
80 "abstract-deque-" version "/"
81 "abstract-deque-" version ".tar.gz"))
efb96749
RV
82 (sha256
83 (base32
dddbc90c 84 "18jwswjxwzc9bjiy4ds6hw2a74ki797jmfcifxd2ga4kh7ri1ah9"))))
efb96749 85 (build-system haskell-build-system)
dddbc90c
RV
86 (inputs `(("ghc-random" ,ghc-random)))
87 (home-page "https://github.com/rrnewton/haskell-lockfree/wiki")
88 (synopsis "Abstract, parameterized interface to mutable Deques for Haskell")
89 (description "This Haskell package provides an abstract interface to
90highly-parameterizable queues/deques.
91
92Background: There exists a feature space for queues that extends between:
efb96749
RV
93
94@itemize
dddbc90c
RV
95@item Simple, single-ended, non-concurrent, bounded queues
96
97@item Double-ended, thread-safe, growable queues with important points
98in between (such as the queues used for work stealing).
efb96749
RV
99@end itemize
100
dddbc90c
RV
101This package includes an interface for Deques that allows the programmer
102to use a single API for all of the above, while using the type system to
103select an efficient implementation given the requirements (using type families).
efb96749 104
dddbc90c
RV
105This package also includes a simple reference implementation based on
106@code{IORef} and @code{Data.Sequence}.")
efb96749
RV
107 (license license:bsd-3)))
108
dddbc90c 109(define-public ghc-abstract-par
658dbc7f 110 (package
dddbc90c
RV
111 (name "ghc-abstract-par")
112 (version "0.3.3")
658dbc7f
RV
113 (source
114 (origin
115 (method url-fetch)
116 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c
RV
117 "abstract-par-" version "/"
118 "abstract-par-" version ".tar.gz"))
658dbc7f
RV
119 (sha256
120 (base32
dddbc90c
RV
121 "0q6qsniw4wks2pw6wzncb1p1j3k6al5njnvm2v5n494hplwqg2i4"))))
122 (build-system haskell-build-system)
123 (home-page "https://github.com/simonmar/monad-par")
124 (synopsis "Abstract parallelization interface for Haskell")
125 (description "This Haskell package is an abstract interface
126only. It provides a number of type clasess, but not an
127implementation. The type classes separate different levels
128of @code{Par} functionality. See the @code{Control.Monad.Par.Class}
129module for more details.")
130 (license license:bsd-3)))
131
132(define-public ghc-adjunctions
133 (package
134 (name "ghc-adjunctions")
135 (version "4.4")
136 (source
137 (origin
138 (method url-fetch)
139 (uri (string-append
140 "https://hackage.haskell.org/package/adjunctions/adjunctions-"
141 version
142 ".tar.gz"))
143 (sha256
144 (base32
145 "1sbal7cbhm12crfnfhkk322jnzgx7lhw3jzq0p463bipagsjwz2h"))))
658dbc7f
RV
146 (build-system haskell-build-system)
147 (inputs
dddbc90c
RV
148 `(("ghc-profunctors" ,ghc-profunctors)
149 ("ghc-comonad" ,ghc-comonad)
150 ("ghc-contravariant" ,ghc-contravariant)
151 ("ghc-distributive" ,ghc-distributive)
152 ("ghc-free" ,ghc-free)
153 ("ghc-tagged" ,ghc-tagged)
154 ("ghc-semigroupoids" ,ghc-semigroupoids)
155 ("ghc-semigroups" ,ghc-semigroups)
156 ("ghc-transformers-compat" ,ghc-transformers-compat)
157 ("ghc-void" ,ghc-void)))
658dbc7f 158 (native-inputs
dddbc90c
RV
159 `(("ghc-generic-deriving" ,ghc-generic-deriving)
160 ("ghc-hspec" ,ghc-hspec)
161 ("hspec-discover" ,hspec-discover)))
162 (home-page "https://github.com/ekmett/adjunctions/")
163 (synopsis "Adjunctions and representable functors")
164 (description "This library provides adjunctions and representable functors
165for Haskell.")
166 (license license:bsd-3)))
167
168(define-public ghc-aeson-compat
169 (package
170 (name "ghc-aeson-compat")
0bafb755 171 (version "0.3.9")
dddbc90c
RV
172 (source
173 (origin
174 (method url-fetch)
175 (uri (string-append "https://hackage.haskell.org/package/"
176 "aeson-compat-" version "/"
177 "aeson-compat-" version ".tar.gz"))
178 (sha256
179 (base32
0bafb755 180 "1j13gykv4ryvmr14w5blz0nnpdb4p0hpa27wahw3mhb1lwdr8hz0"))))
dddbc90c
RV
181 (build-system haskell-build-system)
182 (arguments `(#:tests? #f)) ; FIXME: Tests require QuickCheck >= 2.10
183 (inputs `(("ghc-base-compat" ,ghc-base-compat)
184 ("ghc-aeson" ,ghc-aeson)
185 ("ghc-attoparsec" ,ghc-attoparsec)
186 ("ghc-attoparsec" ,ghc-attoparsec-iso8601)
187 ("ghc-exceptions" ,ghc-exceptions)
188 ("ghc-hashable" ,ghc-hashable)
189 ("ghc-scientific" ,ghc-scientific)
190 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
191 ("ghc-unordered-containers" ,ghc-unordered-containers)
192 ("ghc-vector" ,ghc-vector)
193 ("ghc-tagged" ,ghc-tagged)
194 ("ghc-semigroups" ,ghc-semigroups)
195 ("ghc-nats" ,ghc-nats)))
196 (home-page "https://github.com/phadej/aeson-compat")
197 (synopsis "Compatibility layer for ghc-aeson")
198 (description "This Haskell package provides compatibility layer for
199ghc-aeson.")
200 (license license:bsd-3)))
201
202(define-public ghc-alex
203 (package
204 (name "ghc-alex")
205 (version "3.2.4")
206 (source
207 (origin
208 (method url-fetch)
209 (uri (string-append
210 "https://hackage.haskell.org/package/alex/alex-"
211 version
212 ".tar.gz"))
213 (sha256
214 (base32
215 "0cpjixgsr0b2x4s6hz4aa6gnmjw9i7xd9nlfi8m37zqlidq4v3nm"))))
216 (build-system haskell-build-system)
658dbc7f 217 (arguments
dddbc90c
RV
218 `(#:phases
219 (modify-phases %standard-phases
220 (add-before 'check 'set-check-variables
221 (lambda _
222 (setenv "PATH" (string-append (getcwd) "/dist/build/alex:"
223 (getenv "PATH")))
224 (setenv "alex_datadir" (string-append (getcwd) "/data"))
225 #t)))))
226 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
227 (native-inputs
228 `(("which" ,which)))
229 (home-page "https://www.haskell.org/alex/")
230 (synopsis
231 "Tool for generating lexical analysers in Haskell")
232 (description
233 "Alex is a tool for generating lexical analysers in Haskell. It takes a
234description of tokens based on regular expressions and generates a Haskell
235module containing code for scanning text efficiently. It is similar to the
236tool lex or flex for C/C++.")
658dbc7f
RV
237 (license license:bsd-3)))
238
dddbc90c 239(define-public ghc-alsa-core
7b01a977 240 (package
dddbc90c
RV
241 (name "ghc-alsa-core")
242 (version "0.5.0.1")
243 (source
244 (origin
245 (method url-fetch)
246 (uri (string-append
247 "mirror://hackage/package/alsa-core/alsa-core-"
248 version
249 ".tar.gz"))
250 (sha256
251 (base32
252 "1avh4a419h9d2zsslg6j8hm87ppgsgqafz8ll037rk2yy1g4jl7b"))))
253 (build-system haskell-build-system)
254 (inputs
255 `(("ghc-extensible-exceptions" ,ghc-extensible-exceptions)
256 ("alsa-lib" ,alsa-lib)))
257 (native-inputs
258 `(("pkg-config" ,pkg-config)))
259 (home-page "http://www.haskell.org/haskellwiki/ALSA")
260 (synopsis "Binding to the ALSA Library API (Exceptions)")
261 (description "This package provides access to ALSA infrastructure, that is
262needed by both alsa-seq and alsa-pcm.")
263 (license license:bsd-3)))
264
265(define-public ghc-annotated-wl-pprint
266 (package
267 (name "ghc-annotated-wl-pprint")
268 (version "0.7.0")
269 (source
270 (origin
271 (method url-fetch)
272 (uri (string-append
273 "https://hackage.haskell.org/package/annotated-wl-pprint"
274 "/annotated-wl-pprint-" version
275 ".tar.gz"))
276 (sha256
277 (base32
278 "061xfz6qany3wf95csl8dcik2pz22cn8iv1qchhm16isw5zjs9hc"))))
279 (build-system haskell-build-system)
280 (home-page
281 "https://github.com/david-christiansen/annotated-wl-pprint")
282 (synopsis
283 "The Wadler/Leijen Pretty Printer, with annotation support")
284 (description "This is a modified version of wl-pprint, which was based on
285Wadler's paper \"A Prettier Printer\". This version allows the library user
286to annotate the text with semantic information, which can later be rendered in
287a variety of ways.")
288 (license license:bsd-3)))
289
290(define-public ghc-ansi-terminal
291 (package
292 (name "ghc-ansi-terminal")
f1b4a73f 293 (version "0.9.1")
dddbc90c
RV
294 (source
295 (origin
296 (method url-fetch)
297 (uri (string-append
298 "https://hackage.haskell.org/package/ansi-terminal/ansi-terminal-"
299 version
300 ".tar.gz"))
301 (sha256
302 (base32
f1b4a73f 303 "1yr0ld0kqns3w3j9gl62bdwshvyazidx4dv1qkvq19ivnf08w23l"))))
dddbc90c
RV
304 (build-system haskell-build-system)
305 (inputs
306 `(("ghc-colour" ,ghc-colour)))
307 (home-page "https://github.com/feuerbach/ansi-terminal")
308 (synopsis "ANSI terminal support for Haskell")
309 (description "This package provides ANSI terminal support for Haskell. It
310allows cursor movement, screen clearing, color output showing or hiding the
311cursor, and changing the title.")
312 (license license:bsd-3)))
313
314(define-public ghc-ansi-wl-pprint
315 (package
316 (name "ghc-ansi-wl-pprint")
c38746eb 317 (version "0.6.9")
7b01a977
RV
318 (source
319 (origin
320 (method url-fetch)
321 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c 322 "ansi-wl-pprint/ansi-wl-pprint-"
7b01a977
RV
323 version ".tar.gz"))
324 (sha256
325 (base32
c38746eb 326 "1b2fg8px98dzbaqyns10kvs8kn6cl1hdq5wb9saz40izrpkyicm7"))))
7b01a977
RV
327 (build-system haskell-build-system)
328 (inputs
dddbc90c
RV
329 `(("ghc-ansi-terminal" ,ghc-ansi-terminal)))
330 (home-page "https://github.com/ekmett/ansi-wl-pprint")
331 (synopsis "Wadler/Leijen Pretty Printer for colored ANSI terminal output")
332 (description "This is a pretty printing library based on Wadler's paper
333\"A Prettier Printer\". It has been enhanced with support for ANSI terminal
334colored output using the ansi-terminal package.")
335 (license license:bsd-3)))
336
337(define-public ghc-appar
338 (package
339 (name "ghc-appar")
1159d1a5 340 (version "0.1.8")
dddbc90c
RV
341 (source
342 (origin
343 (method url-fetch)
344 (uri (string-append
345 "https://hackage.haskell.org/package/appar/appar-"
346 version
347 ".tar.gz"))
348 (sha256
349 (base32
1159d1a5 350 "07v3h766q9mnhphsm53718h1lds147ix7dj15kc5hnsj4vffvkn4"))))
dddbc90c
RV
351 (build-system haskell-build-system)
352 (home-page
353 "https://hackage.haskell.org/package/appar")
354 (synopsis "Simple applicative parser")
355 (description "This package provides a simple applicative parser in Parsec
356style.")
357 (license license:bsd-3)))
358
359(define-public ghc-async
360 (package
361 (name "ghc-async")
048ef066 362 (version "2.2.2")
dddbc90c
RV
363 (source
364 (origin
365 (method url-fetch)
366 (uri (string-append
367 "https://hackage.haskell.org/package/async/async-"
368 version
369 ".tar.gz"))
370 (sha256
371 (base32
048ef066 372 "1zxvfcyy4sg8lmzphi5dgnavksj5pav6rbvd5kc48lf4hanb2jjb"))))
dddbc90c
RV
373 (build-system haskell-build-system)
374 (inputs
375 `(("ghc-hashable" ,ghc-hashable)
376 ("ghc-hunit" ,ghc-hunit)
7b01a977
RV
377 ("ghc-test-framework" ,ghc-test-framework)
378 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
dddbc90c
RV
379 (home-page "https://github.com/simonmar/async")
380 (synopsis "Library to run IO operations asynchronously")
381 (description "Async provides a library to run IO operations
382asynchronously, and wait for their results. It is a higher-level interface
383over threads in Haskell, in which @code{Async a} is a concurrent thread that
384will eventually deliver a value of type @code{a}.")
7b01a977
RV
385 (license license:bsd-3)))
386
9ad9ec2e
AG
387(define-public ghc-atomic-primops
388 (package
389 (name "ghc-atomic-primops")
390 (version "0.8.2")
391 (source
392 (origin
393 (method url-fetch)
394 (uri (string-append "https://hackage.haskell.org/package/atomic-primops"
395 "/atomic-primops-" version ".tar.gz"))
396 (sha256
397 (base32
398 "0cyr2x6xqz6s233znrz9rnrfj56m9bmnawwnka0lsqqy1hp8gy37"))))
399 (build-system haskell-build-system)
400 (inputs `(("ghc-primitive" ,ghc-primitive)))
401 (home-page "https://github.com/rrnewton/haskell-lockfree/wiki")
402 (synopsis "Safe approach to CAS and other atomic ops")
403 (description
404 "GHC 7.4 introduced a new @code{casMutVar} PrimOp which is difficult to
405use safely, because pointer equality is a highly unstable property in Haskell.
406This library provides a safer method based on the concept of @code{Ticket}s.")
407 (license license:bsd-3)))
408
dddbc90c 409(define-public ghc-atomic-write
79fcc5e5 410 (package
dddbc90c 411 (name "ghc-atomic-write")
c09d1e62 412 (version "0.2.0.6")
79fcc5e5
RV
413 (source
414 (origin
415 (method url-fetch)
dddbc90c
RV
416 (uri (string-append
417 "https://hackage.haskell.org/package/atomic-write/atomic-write-"
418 version
419 ".tar.gz"))
79fcc5e5
RV
420 (sha256
421 (base32
c09d1e62 422 "1xs3shwnlj8hmnm3q6jc8nv78z0481i5n4hrqqdmbpx8grvlnqyl"))))
dddbc90c
RV
423 (build-system haskell-build-system)
424 (inputs
425 `(("ghc-temporary" ,ghc-temporary)
426 ("ghc-unix-compat" ,ghc-unix-compat)))
427 (native-inputs
428 `(("ghc-temporary" ,ghc-temporary)
429 ("ghc-unix-compat" ,ghc-unix-compat)
430 ("ghc-hspec" ,ghc-hspec)
431 ("hspec-discover" ,hspec-discover)))
432 (home-page "https://github.com/stackbuilders/atomic-write")
433 (synopsis "Atomically write to a file")
434 (description
435 "Atomically write to a file on POSIX-compliant systems while preserving
436permissions. @code{mv} is an atomic operation. This makes it simple to write
437to a file atomically just by using the @code{mv} operation. However, this
438will destroy the permissions on the original file. This library preserves
439permissions while atomically writing to a file.")
440 (license license:expat)))
441
442(define-public ghc-attoparsec
443 (package
444 (name "ghc-attoparsec")
511c3204 445 (version "0.13.2.3")
dddbc90c
RV
446 (source
447 (origin
448 (method url-fetch)
449 (uri (string-append
450 "https://hackage.haskell.org/package/attoparsec/attoparsec-"
451 version
452 ".tar.gz"))
453 (sha256
454 (base32
511c3204 455 "1ngjn9h5n0vyki0m2jir4mg85875ysswy9hznpmj1r856mqwc6ix"))))
79fcc5e5 456 (build-system haskell-build-system)
79fcc5e5 457 (arguments
dddbc90c
RV
458 `(#:phases
459 (modify-phases %standard-phases
460 (add-after 'unpack 'patch-for-newer-quickcheck
461 (lambda _
462 (substitute* "attoparsec.cabal"
463 (("QuickCheck >= 2\\.7 && < 2\\.10")
464 "QuickCheck >= 2.7 && < 2.12"))
465 ;; This test fails because of the newer QuickCheck:
466 ;; <https://github.com/bos/attoparsec/issues/134>.
467 (substitute* "tests/QC/ByteString.hs"
468 ((", testProperty \"satisfyWith\" satisfyWith")
469 "")))))))
470 (inputs
471 `(("ghc-scientific" ,ghc-scientific)))
472 (native-inputs
473 `(("ghc-tasty" ,ghc-tasty)
474 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
475 ("ghc-quickcheck" ,ghc-quickcheck)
476 ("ghc-quickcheck-unicode" ,ghc-quickcheck-unicode)
477 ("ghc-vector" ,ghc-vector)))
478 (home-page "https://github.com/bos/attoparsec")
479 (synopsis "Fast combinator parsing for bytestrings and text")
480 (description "This library provides a fast parser combinator library,
481aimed particularly at dealing efficiently with network protocols and
482complicated text/binary file formats.")
79fcc5e5
RV
483 (license license:bsd-3)))
484
dddbc90c 485(define-public ghc-attoparsec-bootstrap
6b34d01c 486 (package
dddbc90c
RV
487 (inherit ghc-attoparsec)
488 (name "ghc-attoparsec-bootstrap")
489 (arguments `(#:tests? #f))
490 (inputs
491 `(("ghc-scientific" ,ghc-scientific-bootstrap)))
492 (native-inputs '())
799d8d3c 493 (properties '((hidden? #t)))))
dddbc90c
RV
494
495(define-public ghc-attoparsec-iso8601
496 (package
497 (name "ghc-attoparsec-iso8601")
97f267c8 498 (version "1.0.1.0")
6b34d01c
RV
499 (source
500 (origin
501 (method url-fetch)
502 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c
RV
503 "attoparsec-iso8601-" version "/"
504 "attoparsec-iso8601-" version ".tar.gz"))
6b34d01c
RV
505 (sha256
506 (base32
97f267c8 507 "0hj10w15qp2z5bz2v4xahhmbgzclpyfi5l2sv97wqycysg9gp7s9"))))
6b34d01c 508 (build-system haskell-build-system)
dddbc90c
RV
509 (arguments
510 `(#:cabal-revision
97f267c8 511 ("1" "1rjhscmczgs1bwyqx7lvkm8py3ylxjd2797mrzgnq60fvm292750")))
dddbc90c
RV
512 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
513 ("ghc-base-compat" ,ghc-base-compat)))
514 (home-page "https://github.com/bos/aeson")
515 (synopsis "Parse ISO 8601 dates")
516 (description "Haskell library for parsing of ISO 8601 dates, originally
517from aeson.")
6b34d01c 518 (license license:bsd-3)))
b57e99f5 519
dddbc90c 520(define-public ghc-auto-update
b57e99f5 521 (package
dddbc90c 522 (name "ghc-auto-update")
11b1b6cd 523 (version "0.1.6")
dddbc90c
RV
524 (source
525 (origin
526 (method url-fetch)
527 (uri (string-append
528 "https://hackage.haskell.org/package/auto-update/auto-update-"
529 version
530 ".tar.gz"))
531 (sha256
532 (base32
11b1b6cd 533 "1i36xc2i34aync8271x3pv515l3zb53i518dybn8ghqkhzf27q7l"))))
dddbc90c 534 (build-system haskell-build-system)
11b1b6cd
TS
535 (native-inputs
536 `(("ghc-hspec" ,ghc-hspec)
537 ("ghc-hunit" ,ghc-hunit)
538 ("ghc-retry" ,ghc-retry)
539 ("hspec-discover" ,hspec-discover)))
dddbc90c
RV
540 (home-page "https://github.com/yesodweb/wai")
541 (synopsis "Efficiently run periodic, on-demand actions")
542 (description "This library provides mechanisms to efficiently run
543periodic, on-demand actions in Haskell.")
544 (license license:expat)))
545
546(define-public ghc-aws
547 (package
548 (name "ghc-aws")
549 (version "0.20")
b57e99f5
RV
550 (source
551 (origin
552 (method url-fetch)
553 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c
RV
554 "aws-" version "/aws-" version ".tar.gz"))
555 (sha256 (base32
556 "0pwpabmypi1w8rni9qfwabgn95jks4h8dyw6889mn8xzsrhdhyf0"))))
557 (build-system haskell-build-system)
558 (arguments `(#:tests? #f)) ; Tests require AWS credentials.
559 (inputs
560 `(("ghc-aeson" ,ghc-aeson)
561 ("ghc-attoparsec" ,ghc-attoparsec)
562 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
563 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
564 ("ghc-blaze-builder" ,ghc-blaze-builder)
565 ("ghc-byteable" ,ghc-byteable)
566 ("ghc-case-insensitive" ,ghc-case-insensitive)
567 ("ghc-cereal" ,ghc-cereal)
568 ("ghc-conduit" ,ghc-conduit)
569 ("ghc-conduit-extra" ,ghc-conduit-extra)
570 ("ghc-cryptonite" ,ghc-cryptonite)
571 ("ghc-data-default" ,ghc-data-default)
572 ("ghc-http-conduit" ,ghc-http-conduit)
573 ("ghc-http-types" ,ghc-http-types)
574 ("ghc-lifted-base" ,ghc-lifted-base)
575 ("ghc-monad-control" ,ghc-monad-control)
576 ("ghc-network" ,ghc-network)
577 ("ghc-old-locale" ,ghc-old-locale)
578 ("ghc-safe" ,ghc-safe)
579 ("ghc-scientific" ,ghc-scientific)
580 ("ghc-tagged" ,ghc-tagged)
581 ("ghc-unordered-containers" ,ghc-unordered-containers)
582 ("ghc-utf8-string" ,ghc-utf8-string)
583 ("ghc-vector" ,ghc-vector)
584 ("ghc-xml-conduit" ,ghc-xml-conduit)))
585 (native-inputs
586 `(("ghc-quickcheck" ,ghc-quickcheck)
587 ("ghc-errors" ,ghc-errors)
588 ("ghc-http-client" ,ghc-http-client)
589 ("ghc-http-client-tls" ,ghc-http-client-tls)
590 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
591 ("ghc-tasty" ,ghc-tasty)
592 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
593 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
594 ("ghc-conduit-combinators" ,ghc-conduit-combinators)))
595 (home-page "https://github.com/aristidb/aws")
596 (synopsis "Amazon Web Services for Haskell")
597 (description "This package attempts to provide support for using
598Amazon Web Services like S3 (storage), SQS (queuing) and others to
599Haskell programmers. The ultimate goal is to support all Amazon
600Web Services.")
601 (license license:bsd-3)))
602
603(define-public ghc-base16-bytestring
604 (package
605 (name "ghc-base16-bytestring")
606 (version "0.1.1.6")
607 (source
608 (origin
609 (method url-fetch)
610 (uri (string-append
611 "https://hackage.haskell.org/package/base16-bytestring/"
612 "base16-bytestring-" version ".tar.gz"))
b57e99f5
RV
613 (sha256
614 (base32
dddbc90c 615 "0jf40m3yijqw6wd1rwwvviww46fasphaay9m9rgqyhf5aahnbzjs"))))
b57e99f5 616 (build-system haskell-build-system)
dddbc90c
RV
617 (home-page "https://github.com/bos/base16-bytestring")
618 (synopsis "Fast base16 (hex) encoding and decoding for ByteStrings")
619 (description
620 "This package provides a Haskell library for working with base16-encoded
621data quickly and efficiently, using the ByteString type.")
b57e99f5 622 (license license:bsd-3)))
bbf8bf31 623
dddbc90c 624(define-public ghc-base64-bytestring
bbf8bf31 625 (package
dddbc90c
RV
626 (name "ghc-base64-bytestring")
627 (version "1.0.0.2")
bbf8bf31
RV
628 (source
629 (origin
630 (method url-fetch)
dddbc90c
RV
631 (uri (string-append
632 "https://hackage.haskell.org/package/base64-bytestring/base64-bytestring-"
633 version
634 ".tar.gz"))
635 (sha256
636 (base32 "13305brzlac24pifiqd5a2z10c6k6amhpdy9cc0z5ryrkgnm8dhr"))))
637 (build-system haskell-build-system)
638 (arguments `(#:tests? #f)) ; FIXME: testing libraries are missing.
639 (home-page "https://github.com/bos/base64-bytestring")
640 (synopsis "Base64 encoding and decoding for ByteStrings")
641 (description "This library provides fast base64 encoding and decoding for
642Haskell @code{ByteString}s.")
643 (license license:bsd-3)))
644
645(define-public ghc-base-compat
646 (package
647 (name "ghc-base-compat")
4daaa371 648 (version "0.10.5")
dddbc90c
RV
649 (source
650 (origin
651 (method url-fetch)
652 (uri (string-append
653 "https://hackage.haskell.org/package/base-compat/base-compat-"
654 version
655 ".tar.gz"))
bbf8bf31
RV
656 (sha256
657 (base32
4daaa371 658 "0hgvlqcr852hfp52jp99snhbj550mvxxpi8qn15d8ml9aqhyl2lr"))))
bbf8bf31
RV
659 (build-system haskell-build-system)
660 (native-inputs
dddbc90c
RV
661 `(("ghc-quickcheck" ,ghc-quickcheck)
662 ("ghc-hspec" ,ghc-hspec)
663 ("hspec-discover" ,hspec-discover)))
664 (home-page "https://hackage.haskell.org/package/base-compat")
665 (synopsis "Haskell compiler compatibility library")
666 (description "This library provides functions available in later versions
667of base to a wider range of compilers, without requiring the use of CPP
668pragmas in your code.")
669 (license license:bsd-3)))
670
f9d78c7f
TS
671(define-public ghc-base-compat-batteries
672 (package
673 (name "ghc-base-compat-batteries")
674 (version "0.10.5")
675 (source
676 (origin
677 (method url-fetch)
678 (uri (string-append "https://hackage.haskell.org/package/"
679 "base-compat-batteries/base-compat-batteries-"
680 version ".tar.gz"))
681 (sha256
682 (base32
683 "1vkhc639vqiv5p39jn1v312z32i7yk5q2lf0ap4jxl1v8p8wyp8p"))))
684 (build-system haskell-build-system)
685 (inputs
686 `(("ghc-base-compat" ,ghc-base-compat)))
687 (native-inputs
688 `(("ghc-hspec" ,ghc-hspec)
689 ("ghc-quickcheck" ,ghc-quickcheck)
690 ("hspec-discover" ,hspec-discover)))
691 (arguments
692 `(#:cabal-revision
693 ("1" "15sn2qc8k0hxbb2nai341kkrci98hlhzcj2ci087m0zxcg5jcdbp")))
694 (home-page "http://hackage.haskell.org/package/base-compat-batteries")
695 (synopsis "base-compat with extra batteries")
696 (description "This library provides functions available in later
697versions of @code{base} to a wider range of compilers, without requiring
698you to use CPP pragmas in your code. This package provides the same API
699as the @code{base-compat} library, but depends on compatibility
700packages (such as @code{semigroups}) to offer a wider support window
701than @code{base-compat}, which has no dependencies.")
702 (license license:expat)))
703
dddbc90c
RV
704(define-public ghc-basement
705 (package
706 (name "ghc-basement")
8b56c1fd 707 (version "0.0.11")
dddbc90c
RV
708 (source
709 (origin
710 (method url-fetch)
711 (uri (string-append "https://hackage.haskell.org/package/"
712 "basement/basement-" version ".tar.gz"))
713 (sha256
714 (base32
8b56c1fd 715 "0srlws74yiraqaapgcjd9p5d1fwb3zr9swcz74jpjm55fls2nn37"))))
dddbc90c
RV
716 (build-system haskell-build-system)
717 (home-page "https://github.com/haskell-foundation/foundation")
718 (synopsis "Basic primitives for Foundation starter pack")
719 (description
720 "This package contains basic primitives for the Foundation set of
721packages.")
722 (license license:bsd-3)))
723
724(define-public ghc-base-orphans
725 (package
726 (name "ghc-base-orphans")
780477fb 727 (version "0.8.1")
dddbc90c
RV
728 (source
729 (origin
730 (method url-fetch)
731 (uri (string-append
732 "https://hackage.haskell.org/package/base-orphans/base-orphans-"
733 version
734 ".tar.gz"))
735 (sha256
736 (base32
780477fb 737 "1nwr9av27i9p72k0sn96mw3ywdczw65dy5gd5wxpabhhxlxdcas4"))))
dddbc90c
RV
738 (build-system haskell-build-system)
739 (native-inputs
740 `(("ghc-quickcheck" ,ghc-quickcheck)
741 ("ghc-hspec" ,ghc-hspec)
742 ("hspec-discover" ,hspec-discover)))
743 (home-page "https://hackage.haskell.org/package/base-orphans")
744 (synopsis "Orphan instances for backwards compatibility")
745 (description "This package defines orphan instances that mimic instances
746available in later versions of base to a wider (older) range of compilers.")
747 (license license:bsd-3)))
748
749(define-public ghc-base-prelude
750 (package
751 (name "ghc-base-prelude")
752 (version "1.3")
753 (source
754 (origin
755 (method url-fetch)
756 (uri (string-append "https://hackage.haskell.org/package/"
757 "base-prelude-" version "/"
758 "base-prelude-" version ".tar.gz"))
759 (sha256
760 (base32
761 "1zk728sd09hh2r4xwz4lazsrrgg5cshydn64932sm0vckplndk73"))))
762 (build-system haskell-build-system)
763 (home-page "https://github.com/nikita-volkov/base-prelude")
764 (synopsis "The most complete prelude formed solely from the Haskell's base
765package")
766 (description "This Haskell package aims to reexport all the non-conflicting
767and most general definitions from the \"base\" package.
768
769This includes APIs for applicatives, arrows, monoids, foldables, traversables,
770exceptions, generics, ST, MVars and STM.
771
772This package will never have any dependencies other than \"base\".
773
774Versioning policy:
775
776The versioning policy of this package deviates from PVP in the sense
777that its exports in part are transitively determined by the version of \"base\".
778Therefore it's recommended for the users of @code{ghc-base-prelude} to specify
779the bounds of \"base\" as well.")
780 (license license:expat)))
781
782(define-public ghc-base-unicode-symbols
783 (package
784 (name "ghc-base-unicode-symbols")
785 (version "0.2.3")
786 (source
787 (origin
788 (method url-fetch)
789 (uri (string-append
790 "mirror://hackage/package/base-unicode-symbols/base-unicode-symbols-"
791 version
792 ".tar.gz"))
793 (sha256
794 (base32
795 "1ia6li7qjg1zkak4gf6mnbshw45mq9bfjr0jch58ds0lscmvwyzf"))))
796 (build-system haskell-build-system)
797 (home-page "http://www.haskell.org/haskellwiki/Unicode-symbols")
798 (synopsis "Unicode alternatives for common functions and operators")
799 (description "This package defines new symbols for a number of functions,
800operators and types in the base package. All symbols are documented with
801their actual definition and information regarding their Unicode code point.
802They should be completely interchangeable with their definitions. For
803further Unicode goodness you can enable the @code{UnicodeSyntax}
804@url{https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/glasgow_exs.html#unicode-syntax,
805language extension}. This extension enables Unicode characters to be used to
806stand for certain ASCII character sequences, i.e. → instead of @code{->},
807∀ instead of @code{forall} and many others.")
808 (license license:bsd-3)))
809
810(define-public ghc-bifunctors
811 (package
812 (name "ghc-bifunctors")
0beaec66 813 (version "5.5.5")
dddbc90c
RV
814 (source
815 (origin
816 (method url-fetch)
817 (uri (string-append
818 "https://hackage.haskell.org/package/bifunctors/bifunctors-"
819 version
820 ".tar.gz"))
821 (sha256
822 (base32
0beaec66 823 "0rn47q8dzv0g1fyams99p4py6q0asxdc50q9k0nj497brk738xcb"))))
dddbc90c
RV
824 (build-system haskell-build-system)
825 (inputs
826 `(("ghc-base-orphans" ,ghc-base-orphans)
827 ("ghc-comonad" ,ghc-comonad)
828 ("ghc-th-abstraction" ,ghc-th-abstraction)
829 ("ghc-transformers-compat" ,ghc-transformers-compat)
830 ("ghc-tagged" ,ghc-tagged)
831 ("ghc-semigroups" ,ghc-semigroups)))
832 (native-inputs
833 `(("ghc-hspec" ,ghc-hspec)
834 ("hspec-discover" ,hspec-discover)
835 ("ghc-quickcheck" ,ghc-quickcheck)))
836 (home-page "https://github.com/ekmett/bifunctors/")
837 (synopsis "Bifunctors for Haskell")
838 (description "This package provides bifunctors for Haskell.")
839 (license license:bsd-3)))
840
841(define-public ghc-bindings-dsl
842 (package
843 (name "ghc-bindings-dsl")
844 (version "1.0.25")
845 (source
846 (origin
847 (method url-fetch)
848 (uri (string-append "https://hackage.haskell.org/package/bindings-DSL/"
849 "bindings-DSL-" version ".tar.gz"))
850 (sha256
851 (base32
852 "0kqrd78nspl3lk4a0fqn47d8dirjg3b24dkvkigcrlb81hw35pk3"))))
853 (build-system haskell-build-system)
854 (home-page "https://github.com/jwiegley/bindings-dsl/wiki")
855 (synopsis "FFI domain specific language, on top of hsc2hs")
856 (description
857 "This is a set of macros to be used when writing Haskell FFI. They were
858designed to be able to fully describe C interfaces, so that @code{hsc2hs} can
859extract from them all Haskell code needed to mimic such interfaces. All
860Haskell names used are automatically derived from C names, structures are
861mapped to Haskell instances of @code{Storable}, and there are also macros you
862can use with C code to help write bindings to inline functions or macro
863functions.")
864 (license license:bsd-3)))
865
866(define-public ghc-blaze-builder
867 (package
868 (name "ghc-blaze-builder")
869 (version "0.4.1.0")
870 (source
871 (origin
872 (method url-fetch)
873 (uri (string-append
874 "https://hackage.haskell.org/package/blaze-builder/blaze-builder-"
875 version
876 ".tar.gz"))
877 (sha256
878 (base32
879 "05681dih2d8s96an945wkbwl05w8ddbcfx8n3r3ck79ydyb8pz4i"))))
880 (build-system haskell-build-system)
881 (arguments `(#:tests? #f)) ; FIXME: Missing test libraries.
882 (inputs
883 `(("ghc-utf8-string" ,ghc-utf8-string)))
884 (home-page "https://github.com/lpsmith/blaze-builder")
885 (synopsis "Efficient buffered output")
886 (description "This library provides an implementation of the older
887@code{blaze-builder} interface in terms of the new builder that shipped with
888@code{bytestring-0.10.4.0}. This implementation is mostly intended as a
889bridge to the new builder, so that code that uses the old interface can
890interoperate with code that uses the new implementation.")
891 (license license:bsd-3)))
892
893(define-public ghc-blaze-markup
894 (package
895 (name "ghc-blaze-markup")
7d30fcf3 896 (version "0.8.2.3")
dddbc90c
RV
897 (source
898 (origin
899 (method url-fetch)
900 (uri (string-append "https://hackage.haskell.org/package/"
901 "blaze-markup/blaze-markup-"
902 version ".tar.gz"))
903 (sha256
904 (base32
7d30fcf3 905 "1g9m7ansj7fdyzhz1wqkbzn5amjm50vjgjdwkbjc5qqhagnv1y3j"))))
dddbc90c
RV
906 (build-system haskell-build-system)
907 (arguments
908 `(#:phases
909 (modify-phases %standard-phases
910 (add-before 'configure 'update-constraints
911 (lambda _
912 (substitute* "blaze-markup.cabal"
913 (("tasty >= 1\\.0 && < 1\\.1")
914 "tasty >= 1.0 && < 1.2")))))))
915 (inputs
916 `(("ghc-blaze-builder" ,ghc-blaze-builder)))
917 (native-inputs
918 `(("ghc-hunit" ,ghc-hunit)
919 ("ghc-quickcheck" ,ghc-quickcheck)
920 ("ghc-tasty" ,ghc-tasty)
921 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
922 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
923 (home-page "https://jaspervdj.be/blaze")
924 (synopsis "Fast markup combinator library for Haskell")
925 (description "This library provides core modules of a markup combinator
926library for Haskell.")
927 (license license:bsd-3)))
928
929(define-public ghc-bloomfilter
930 (package
931 (name "ghc-bloomfilter")
932 (version "2.0.1.0")
933 (source
934 (origin
935 (method url-fetch)
936 (uri (string-append "https://hackage.haskell.org/package/"
937 "bloomfilter/bloomfilter-" version ".tar.gz"))
938 (sha256
939 (base32
940 "03vrmncg1c10a2wcg5skq30m1yiknn7nwxz2gblyyfaxglshspkc"))))
941 (build-system haskell-build-system)
942 (native-inputs
943 `(("ghc-quickcheck" ,ghc-quickcheck)
944 ("ghc-random" ,ghc-random)
945 ("ghc-test-framework" ,ghc-test-framework)
946 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
947 (home-page "https://github.com/bos/bloomfilter")
948 (synopsis "Pure and impure Bloom filter implementations")
949 (description "This package provides both mutable and immutable Bloom
950filter data types, along with a family of hash functions and an easy-to-use
951interface.")
952 (license license:bsd-3)))
953
954(define-public ghc-boxes
955 (package
956 (name "ghc-boxes")
957 (version "0.1.5")
958 (source
959 (origin
960 (method url-fetch)
961 (uri (string-append "https://hackage.haskell.org/package/boxes/boxes-"
962 version ".tar.gz"))
963 (sha256
964 (base32 "1hsnmw95i58d4bkpxby3ddsj1cawypw4mdyb18m393s5i8p7iq9q"))))
965 (build-system haskell-build-system)
966 (inputs
967 `(("ghc-split" ,ghc-split)
968 ("ghc-quickcheck" ,ghc-quickcheck)))
969 (home-page "https://hackage.haskell.org/package/boxes")
970 (synopsis "2D text pretty-printing library")
971 (description
972 "Boxes is a pretty-printing library for laying out text in two dimensions,
973using a simple box model.")
974 (license license:bsd-3)))
975
976(define-public ghc-byteable
977 (package
978 (name "ghc-byteable")
979 (version "0.1.1")
980 (source (origin
981 (method url-fetch)
982 (uri (string-append "https://hackage.haskell.org/package/"
983 "byteable/byteable-" version ".tar.gz"))
984 (sha256
985 (base32
986 "1qizg0kxxjqnd3cbrjhhidk5pbbciz0pb3z5kzikjjxnnnhk8fr4"))))
987 (build-system haskell-build-system)
988 (home-page "https://github.com/vincenthz/hs-byteable")
989 (synopsis "Type class for sequence of bytes")
990 (description
991 "This package provides an abstract class to manipulate sequence of bytes.
992The use case of this class is abstracting manipulation of types that are just
993wrapping a bytestring with stronger and more meaniful name.")
994 (license license:bsd-3)))
995
996(define-public ghc-byteorder
997 (package
998 (name "ghc-byteorder")
999 (version "1.0.4")
1000 (source
1001 (origin
1002 (method url-fetch)
1003 (uri (string-append
1004 "https://hackage.haskell.org/package/byteorder/byteorder-"
1005 version
1006 ".tar.gz"))
1007 (sha256
1008 (base32
1009 "06995paxbxk8lldvarqpb3ygcjbg4v8dk4scib1rjzwlhssvn85x"))))
1010 (build-system haskell-build-system)
1011 (home-page
1012 "http://community.haskell.org/~aslatter/code/byteorder")
1013 (synopsis
1014 "Exposes the native endianness of the system")
1015 (description
1016 "This package is for working with the native byte-ordering of the
1017system.")
1018 (license license:bsd-3)))
1019
1020(define-public ghc-bytes
1021 (package
1022 (name "ghc-bytes")
1023 (version "0.15.5")
1024 (source
1025 (origin
1026 (method url-fetch)
1027 (uri
1028 (string-append "https://hackage.haskell.org/package/bytes-"
1029 version "/bytes-"
1030 version ".tar.gz"))
1031 (file-name (string-append name "-" version ".tar.gz"))
1032 (sha256
1033 (base32
1034 "063il2vrn0p88r9gzndh4ijs0mxj37khkc9ym9bqdsv7ngk3b683"))))
1035 (build-system haskell-build-system)
1036 (inputs `(("ghc-cereal" ,ghc-cereal)
1037 ("cabal-doctest" ,cabal-doctest)
1038 ("ghc-doctest" ,ghc-doctest)
1039 ("ghc-scientific" ,ghc-scientific)
1040 ("ghc-transformers-compat" ,ghc-transformers-compat)
1041 ("ghc-unordered-containers" ,ghc-unordered-containers)
1042 ("ghc-void" ,ghc-void)
1043 ("ghc-vector" ,ghc-vector)))
1044 (synopsis "Serialization between @code{binary} and @code{cereal}")
1045 (description "This package provides a simple compatibility shim that lets
1046you work with both @code{binary} and @code{cereal} with one chunk of
1047serialization code.")
1048 (home-page "https://hackage.haskell.org/package/bytes")
1049 (license license:bsd-3)))
1050
1051(define-public ghc-bytestring-builder
1052 (package
1053 (name "ghc-bytestring-builder")
13ac8a7f 1054 (version "0.10.8.2.0")
dddbc90c
RV
1055 (source
1056 (origin
1057 (method url-fetch)
1058 (uri (string-append
1059 "https://hackage.haskell.org/package/bytestring-builder"
1060 "/bytestring-builder-" version ".tar.gz"))
1061 (sha256
1062 (base32
13ac8a7f 1063 "0grcrgwwwcvwrs9az7l4d3kf0lsqfa9qpmjzf6iyanvwn9nyzyi7"))))
dddbc90c
RV
1064 (build-system haskell-build-system)
1065 (arguments `(#:haddock? #f)) ; Package contains no documentation.
1066 (home-page "https://hackage.haskell.org/package/bytestring-builder")
1067 (synopsis "The new bytestring builder, packaged outside of GHC")
1068 (description "This package provides the bytestring builder that is
1069debuting in bytestring-0.10.4.0, which should be shipping with GHC 7.8.
1070Compatibility package for older packages.")
1071 (license license:bsd-3)))
1072
1073(define-public ghc-bytestring-handle
1074 (package
1075 (name "ghc-bytestring-handle")
1076 (version "0.1.0.6")
1077 (source
1078 (origin
1079 (method url-fetch)
1080 (uri (string-append
1081 "https://hackage.haskell.org/package/bytestring-handle/bytestring-handle-"
1082 version ".tar.gz"))
1083 (sha256
1084 (base32
1085 "18f17aja1ivhr3zyg2cccn2m03hdn5jf5410dndkhf12gvgiqs7y"))))
1086 (build-system haskell-build-system)
1087 (arguments
853748c4
TS
1088 `(#:cabal-revision
1089 ("1" "0x11aj6w1lijh84jcdq1qgyvdnc7i9ivbyq4wf9rxicg57viisz9")
1090 #:phases
dddbc90c
RV
1091 (modify-phases %standard-phases
1092 (add-before 'configure 'update-constraints
1093 (lambda _
1094 (substitute* "bytestring-handle.cabal"
1095 (("QuickCheck >= 2\\.1\\.2 && < 2\\.11")
853748c4 1096 "QuickCheck >= 2.1.2 && < 2.14")))))))
dddbc90c
RV
1097 (inputs
1098 `(("ghc-hunit" ,ghc-hunit)
1099 ("ghc-quickcheck" ,ghc-quickcheck)
1100 ("ghc-test-framework" ,ghc-test-framework)
1101 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
1102 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
1103 (home-page "https://hub.darcs.net/ganesh/bytestring-handle")
1104 (synopsis "ByteString-backed Handles")
1105 (description "ByteString-backed Handles") ; There is no description
1106 (license license:bsd-3)))
1107
1108(define-public ghc-bytestring-lexing
1109 (package
1110 (name "ghc-bytestring-lexing")
1111 (version "0.5.0.2")
1112 (source
1113 (origin
1114 (method url-fetch)
1115 (uri (string-append "https://hackage.haskell.org/package/"
1116 "bytestring-lexing/bytestring-lexing-"
1117 version ".tar.gz"))
1118 (sha256
1119 (base32
1120 "0wrzniawhgpphc6yx1v972gyqxdbv0pizaz9bafahrshyb9svy81"))))
1121 (build-system haskell-build-system)
1122 (home-page "http://code.haskell.org/~wren/")
1123 (synopsis "Parse and produce literals from strict or lazy bytestrings")
1124 (description
1125 "This package provides tools to parse and produce literals efficiently
1126from strict or lazy bytestrings.")
1127 (license license:bsd-2)))
1128
1129(define-public ghc-bzlib-conduit
1130 (package
1131 (name "ghc-bzlib-conduit")
5fba8d6d 1132 (version "0.3.0.2")
dddbc90c
RV
1133 (source
1134 (origin
1135 (method url-fetch)
1136 (uri (string-append "https://hackage.haskell.org/package/bzlib-conduit/"
1137 "bzlib-conduit-" version ".tar.gz"))
1138 (sha256
1139 (base32
5fba8d6d 1140 "0a21zin5plsl37hkxh2jv8cxwyjrbs2fy7n5cyrzgdaa7lmp6b7b"))))
dddbc90c
RV
1141 (build-system haskell-build-system)
1142 (inputs
1143 `(("ghc-bindings-dsl" ,ghc-bindings-dsl)
1144 ("ghc-conduit" ,ghc-conduit)
1145 ("ghc-data-default-class" ,ghc-data-default-class)
1146 ("ghc-resourcet" ,ghc-resourcet)))
1147 (native-inputs
1148 `(("ghc-hspec" ,ghc-hspec)
1149 ("ghc-random" ,ghc-random)))
1150 (home-page "https://github.com/snoyberg/bzlib-conduit")
1151 (synopsis "Streaming compression/decompression via conduits")
1152 (description
1153 "This package provides Haskell bindings to bzlib and Conduit support for
1154streaming compression and decompression.")
1155 (license license:bsd-3)))
1156
1157(define-public ghc-c2hs
1158 (package
1159 (name "ghc-c2hs")
1160 (version "0.28.6")
1161 (source
1162 (origin
1163 (method url-fetch)
1164 (uri (string-append
1165 "https://hackage.haskell.org/package/c2hs/c2hs-"
1166 version
1167 ".tar.gz"))
1168 (sha256
1169 (base32
1170 "1nplgxfin139x12sb656f5870rpdclrhzi8mq8pry035qld15pci"))))
1171 (build-system haskell-build-system)
1172 (inputs
1173 `(("ghc-language-c" ,ghc-language-c)
1174 ("ghc-dlist" ,ghc-dlist)))
1175 (native-inputs
1176 `(("ghc-test-framework" ,ghc-test-framework)
1177 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
1178 ("ghc-hunit" ,ghc-hunit)
1179 ("ghc-shelly" ,ghc-shelly)
1180 ("gcc" ,gcc)))
1181 (arguments
1182 `(;; XXX: Test failures are induced by a parse error in <bits/floatn.h>
1183 ;; of glibc 2.28.
1184 #:tests? #f
1185
1186 #:phases
1187 (modify-phases %standard-phases
1188 (add-before 'check 'set-cc
1189 ;; add a cc executable in the path, needed for some tests to pass
1190 (lambda* (#:key inputs #:allow-other-keys)
1191 (let ((gcc (assoc-ref inputs "gcc"))
1192 (tmpbin (tmpnam))
1193 (curpath (getenv "PATH")))
1194 (mkdir-p tmpbin)
1195 (symlink (which "gcc") (string-append tmpbin "/cc"))
1196 (setenv "PATH" (string-append tmpbin ":" curpath)))
1197 #t))
1198 (add-after 'check 'remove-cc
1199 ;; clean the tmp dir made in 'set-cc
1200 (lambda _
1201 (let* ((cc-path (which "cc"))
1202 (cc-dir (dirname cc-path)))
1203 (delete-file-recursively cc-dir)
1204 #t))))))
1205 (home-page "https://github.com/haskell/c2hs")
1206 (synopsis "Create Haskell bindings to C libraries")
1207 (description "C->Haskell assists in the development of Haskell bindings to
1208C libraries. It extracts interface information from C header files and
1209generates Haskell code with foreign imports and marshaling. Unlike writing
1210foreign imports by hand (or using hsc2hs), this ensures that C functions are
1211imported with the correct Haskell types.")
1212 (license license:gpl2)))
1213
1214(define-public ghc-cairo
1215 (package
1216 (name "ghc-cairo")
1217 (version "0.13.5.0")
1218 (source
1219 (origin
1220 (method url-fetch)
1221 (uri (string-append "https://hackage.haskell.org/package/cairo/"
1222 "cairo-" version ".tar.gz"))
1223 (sha256
1224 (base32
1225 "1wxylv4d8120ri0vgar168ikqa9m6533ipdwi38qlmxmw20ws2j2"))))
1226 (build-system haskell-build-system)
1227 (arguments
1228 `(#:modules ((guix build haskell-build-system)
1229 (guix build utils)
1230 (ice-9 match)
1231 (srfi srfi-26))
1232 #:phases
1233 (modify-phases %standard-phases
1234 ;; FIXME: This is a copy of the standard configure phase with a tiny
1235 ;; difference: this package needs the -package-db flag to be passed
1236 ;; to "runhaskell" in addition to the "configure" action, because it
1237 ;; depends on gtk2hs-buildtools, which provide setup hooks. Without
1238 ;; this option the Setup.hs file cannot be evaluated. The
1239 ;; haskell-build-system should be changed to pass "-package-db" to
1240 ;; "runhaskell" in any case.
1241 (replace 'configure
1242 (lambda* (#:key outputs inputs tests? (configure-flags '())
1243 #:allow-other-keys)
1244 (let* ((out (assoc-ref outputs "out"))
1245 (name-version (strip-store-file-name out))
1246 (input-dirs (match inputs
1247 (((_ . dir) ...)
1248 dir)
1249 (_ '())))
1250 (ghc-path (getenv "GHC_PACKAGE_PATH"))
1251 (params (append `(,(string-append "--prefix=" out))
1252 `(,(string-append "--libdir=" out "/lib"))
1253 `(,(string-append "--bindir=" out "/bin"))
1254 `(,(string-append
1255 "--docdir=" out
1256 "/share/doc/" name-version))
1257 '("--libsubdir=$compiler/$pkg-$version")
1258 '("--package-db=../package.conf.d")
1259 '("--global")
1260 `(,@(map
1261 (cut string-append "--extra-include-dirs=" <>)
1262 (search-path-as-list '("include") input-dirs)))
1263 `(,@(map
1264 (cut string-append "--extra-lib-dirs=" <>)
1265 (search-path-as-list '("lib") input-dirs)))
1266 (if tests?
1267 '("--enable-tests")
1268 '())
1269 configure-flags)))
1270 (unsetenv "GHC_PACKAGE_PATH")
1271 (apply invoke "runhaskell" "-package-db=../package.conf.d"
1272 "Setup.hs" "configure" params)
1273 (setenv "GHC_PACKAGE_PATH" ghc-path)
1274 #t))))))
1275 (inputs
1276 `(("ghc-utf8-string" ,ghc-utf8-string)
1277 ("cairo" ,cairo)))
1278 (native-inputs
1279 `(("ghc-gtk2hs-buildtools" ,ghc-gtk2hs-buildtools)
1280 ("pkg-config" ,pkg-config)))
1281 (home-page "http://projects.haskell.org/gtk2hs/")
1282 (synopsis "Haskell bindings to the Cairo vector graphics library")
1283 (description
1284 "Cairo is a library to render high quality vector graphics. There exist
1285various backends that allows rendering to Gtk windows, PDF, PS, PNG and SVG
1286documents, amongst others.")
1287 (license license:bsd-3)))
1288
1289(define-public ghc-call-stack
1290 (package
1291 (name "ghc-call-stack")
1292 (version "0.1.0")
1293 (source
1294 (origin
1295 (method url-fetch)
1296 (uri (string-append "https://hackage.haskell.org/package/"
1297 "call-stack/call-stack-"
1298 version ".tar.gz"))
1299 (sha256
1300 (base32
1301 "1qmihf5jafmc79sk52l6gpx75f5bnla2lp62kh3p34x3j84mwpzj"))))
1302 (build-system haskell-build-system)
1303 (inputs `(("ghc-nanospec" ,ghc-nanospec)))
1304 (home-page "https://github.com/sol/call-stack#readme")
1305 (synopsis "Use GHC call-stacks in a backward compatible way")
1306 (description "This package provides a compatibility layer for using GHC
1307call stacks with different versions of the compiler.")
1308 (license license:expat)))
1309
1310;; This is used as an input to ghc-hunit. We cannot use ghc-call-stack there,
1311;; because it depends on ghc-nanospec, which depends on ghc-hunit.
1312(define-public ghc-call-stack-boot
1313 (hidden-package
1314 (package
1315 (inherit ghc-call-stack)
1316 (arguments '(#:tests? #f))
1317 (inputs '()))))
1318
1319(define-public ghc-case-insensitive
1320 (package
1321 (name "ghc-case-insensitive")
1322 (version "1.2.0.11")
1323 (outputs '("out" "doc"))
1324 (source
1325 (origin
1326 (method url-fetch)
1327 (uri (string-append
1328 "https://hackage.haskell.org/package/case-insensitive/case-insensitive-"
1329 version
1330 ".tar.gz"))
1331 (sha256
1332 (base32
1333 "1qrpxfirsxckg7jv28f5ah2qc8lh95hp7rnqkbqs1ahcwlbnvkm7"))))
1334 (build-system haskell-build-system)
1335 ;; these inputs are necessary to use this library
1336 (inputs
1337 `(("ghc-hashable" ,ghc-hashable)))
1338 (arguments
1339 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
1340 (home-page
1341 "https://github.com/basvandijk/case-insensitive")
1342 (synopsis "Case insensitive string comparison")
1343 (description
1344 "The module @code{Data.CaseInsensitive} provides the @code{CI} type
1345constructor which can be parameterised by a string-like type like:
1346@code{String}, @code{ByteString}, @code{Text}, etc. Comparisons of values of
1347the resulting type will be insensitive to cases.")
1348 (license license:bsd-3)))
1349
1350(define-public ghc-cereal
1351 (package
1352 (name "ghc-cereal")
bd95427e 1353 (version "0.5.8.1")
dddbc90c
RV
1354 (source
1355 (origin
1356 (method url-fetch)
1357 (uri (string-append
1358 "https://hackage.haskell.org/package/cereal/cereal-"
1359 version
1360 ".tar.gz"))
1361 (sha256
1362 (base32
bd95427e 1363 "1mqvd1iwzr50az4y24332x3g3wsrzw8j1iwph02vr7jbjfn8i7id"))))
dddbc90c
RV
1364 (build-system haskell-build-system)
1365 (native-inputs
1366 `(("ghc-quickcheck" ,ghc-quickcheck)
1367 ("ghc-fail" ,ghc-fail)
1368 ("ghc-test-framework" ,ghc-test-framework)
1369 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
1370 (home-page "https://hackage.haskell.org/package/cereal")
1371 (synopsis "Binary serialization library")
1372 (description "This package provides a binary serialization library,
1373similar to @code{binary}, that introduces an @code{isolate} primitive for
1374parser isolation, and labeled blocks for better error messages.")
1375 (license license:bsd-3)))
1376
1377(define-public ghc-cereal-conduit
1378 (package
1379 (name "ghc-cereal-conduit")
1380 (version "0.8.0")
1381 (source
1382 (origin
1383 (method url-fetch)
1384 (uri (string-append "https://hackage.haskell.org/package/"
1385 "cereal-conduit/cereal-conduit-"
1386 version ".tar.gz"))
1387 (sha256
1388 (base32
1389 "1srr7agvgfw78q5s1npjq5sgynvhjgllpihiv37ylkwqm4c4ap6r"))))
1390 (build-system haskell-build-system)
1391 (inputs
1392 `(("ghc-conduit" ,ghc-conduit)
1393 ("ghc-resourcet" ,ghc-resourcet)
1394 ("ghc-cereal" ,ghc-cereal)))
1395 (native-inputs
1396 `(("ghc-hunit" ,ghc-hunit)))
1397 (home-page "https://github.com/snoyberg/conduit")
1398 (synopsis "Turn Data.Serialize Gets and Puts into Sources, Sinks, and Conduits")
1399 (description
1400 "This package turn @code{Data.Serialize} @code{Gets} and @code{Puts} into
1401@code{Sources}, @code{Sinks}, and @code{Conduits}.")
1402 (license license:bsd-3)))
1403
1404(define-public ghc-cgi
1405 (package
1406 (name "ghc-cgi")
b6b2c218 1407 (version "3001.4.0.0")
dddbc90c
RV
1408 (source
1409 (origin
1410 (method url-fetch)
1411 (uri (string-append
1412 "https://hackage.haskell.org/package/cgi/cgi-"
1413 version
1414 ".tar.gz"))
1415 (sha256
1416 (base32
b6b2c218 1417 "1d0nh5ymkqskkp4yn0gfz4mff8i0cxyw1wws8xxp6k1mg1ywa25k"))))
dddbc90c 1418 (build-system haskell-build-system)
dddbc90c
RV
1419 (inputs
1420 `(("ghc-exceptions" ,ghc-exceptions)
1421 ("ghc-multipart" ,ghc-multipart)
1422 ("ghc-network-uri" ,ghc-network-uri)
1423 ("ghc-network" ,ghc-network)))
1424 (native-inputs
1425 `(("ghc-doctest" ,ghc-doctest)
1426 ("ghc-quickcheck" ,ghc-quickcheck)))
1427 (home-page
1428 "https://github.com/cheecheeo/haskell-cgi")
1429 (synopsis "Library for writing CGI programs")
1430 (description
1431 "This is a Haskell library for writing CGI programs.")
1432 (license license:bsd-3)))
1433
1434(define-public ghc-charset
1435 (package
1436 (name "ghc-charset")
1437 (version "0.3.7.1")
1438 (source
1439 (origin
1440 (method url-fetch)
1441 (uri (string-append
1442 "https://hackage.haskell.org/package/charset/charset-"
1443 version
1444 ".tar.gz"))
1445 (sha256
1446 (base32
1447 "1gn0m96qpjww8hpp2g1as5yy0wcwy4iq73h3kz6g0yxxhcl5sh9x"))))
1448 (build-system haskell-build-system)
35ee173c
TS
1449 (arguments
1450 `(#:cabal-revision
1451 ("1" "1z6nxw2g9vgsjq0g159sk8mwj68lwzxzi5iv5ynha0h85jcqxszy")))
dddbc90c
RV
1452 (inputs
1453 `(("ghc-semigroups" ,ghc-semigroups)
1454 ("ghc-unordered-containers" ,ghc-unordered-containers)))
1455 (home-page "https://github.com/ekmett/charset")
1456 (synopsis "Fast unicode character sets for Haskell")
1457 (description "This package provides fast unicode character sets for
1458Haskell, based on complemented PATRICIA tries.")
1459 (license license:bsd-3)))
1460
1461(define-public ghc-chart
1462 (package
1463 (name "ghc-chart")
1464 (version "1.9")
1465 (source
1466 (origin
1467 (method url-fetch)
1468 (uri (string-append "https://hackage.haskell.org/package/Chart/"
1469 "Chart-" version ".tar.gz"))
1470 (sha256
1471 (base32
1472 "1f5azj17y8xsb3gjhf7gg1gnnlq12rxkmfjmgcly314d7vghs05z"))))
1473 (build-system haskell-build-system)
1474 (inputs
1475 `(("ghc-old-locale" ,ghc-old-locale)
1476 ("ghc-lens" ,ghc-lens)
1477 ("ghc-colour" ,ghc-colour)
1478 ("ghc-data-default-class" ,ghc-data-default-class)
1479 ("ghc-operational" ,ghc-operational)
1480 ("ghc-vector" ,ghc-vector)))
1481 (home-page "https://github.com/timbod7/haskell-chart/wiki")
1482 (synopsis "Library for generating 2D charts and plots")
1483 (description
1484 "This package provides a library for generating 2D charts and plots, with
1485backends provided by the @code{Cairo} and @code{Diagrams} libraries.")
1486 (license license:bsd-3)))
1487
1488(define-public ghc-chart-cairo
1489 (package
1490 (name "ghc-chart-cairo")
1491 (version "1.9")
1492 (source
1493 (origin
1494 (method url-fetch)
1495 (uri (string-append "https://hackage.haskell.org/package/Chart-cairo/"
1496 "Chart-cairo-" version ".tar.gz"))
1497 (sha256
1498 (base32
1499 "0iany6lfyfb1cw0pxfs5aw5k0a6x41m6ql9ad9w59biwdckbsyqr"))))
1500 (build-system haskell-build-system)
1501 (inputs
1502 `(("ghc-old-locale" ,ghc-old-locale)
1503 ("ghc-cairo" ,ghc-cairo)
1504 ("ghc-colour" ,ghc-colour)
1505 ("ghc-data-default-class" ,ghc-data-default-class)
1506 ("ghc-operational" ,ghc-operational)
1507 ("ghc-lens" ,ghc-lens)
1508 ("ghc-chart" ,ghc-chart)))
1509 (home-page "https://github.com/timbod7/haskell-chart/wiki")
1510 (synopsis "Cairo backend for Charts")
1511 (description "This package provides a Cairo vector graphics rendering
1512backend for the Charts library.")
1513 (license license:bsd-3)))
1514
1515(define-public ghc-chasingbottoms
1516 (package
1517 (name "ghc-chasingbottoms")
1f67853e 1518 (version "1.3.1.7")
dddbc90c
RV
1519 (source
1520 (origin
1521 (method url-fetch)
1522 (uri (string-append "https://hackage.haskell.org/package/ChasingBottoms/"
1523 "ChasingBottoms-" version ".tar.gz"))
1524 (sha256
1525 (base32
1f67853e 1526 "0ziiqfsvv1ypdra6kd0bhbsl852i0wqn43jkfii38yl879cdacan"))))
dddbc90c
RV
1527 (build-system haskell-build-system)
1528 (inputs
1529 `(("ghc-quickcheck" ,ghc-quickcheck)
1530 ("ghc-random" ,ghc-random)
1531 ("ghc-syb" ,ghc-syb)))
1532 (home-page "https://hackage.haskell.org/package/ChasingBottoms")
1533 (synopsis "Testing of partial and infinite values in Haskell")
1534 (description
1535 ;; FIXME: There should be a @comma{} in the uref text, but it is not
1536 ;; rendered properly.
1537 "This is a library for testing code involving bottoms or infinite values.
1538For the underlying theory and a larger example involving use of QuickCheck,
1539see the article
1540@uref{http://www.cse.chalmers.se/~nad/publications/danielsson-jansson-mpc2004.html,
1541\"Chasing Bottoms A Case Study in Program Verification in the Presence of
1542Partial and Infinite Values\"}.")
1543 (license license:expat)))
1544
1545(define-public ghc-cheapskate
1546 (package
1547 (name "ghc-cheapskate")
5e18bb9e 1548 (version "0.1.1.1")
dddbc90c
RV
1549 (source
1550 (origin
1551 (method url-fetch)
1552 (uri (string-append
1553 "https://hackage.haskell.org/package/cheapskate/cheapskate-"
1554 version
1555 ".tar.gz"))
1556 (sha256
1557 (base32
5e18bb9e 1558 "0qnyd8bni2rby6b02ff4bvfdhm1hwc8vzpmnms84jgrlg1lly3fm"))))
dddbc90c
RV
1559 (build-system haskell-build-system)
1560 (inputs
1561 `(("ghc-blaze-html" ,ghc-blaze-html)
1562 ("ghc-xss-sanitize" ,ghc-xss-sanitize)
1563 ("ghc-data-default" ,ghc-data-default)
1564 ("ghc-syb" ,ghc-syb)
1565 ("ghc-uniplate" ,ghc-uniplate)))
1566 (home-page "https://github.com/jgm/cheapskate")
1567 (synopsis "Experimental markdown processor")
1568 (description "Cheapskate is an experimental Markdown processor in pure
1569Haskell. It aims to process Markdown efficiently and in the most forgiving
1570possible way. It is designed to deal with any input, including garbage, with
1571linear performance. Output is sanitized by default for protection against
1572cross-site scripting (@dfn{XSS}) attacks.")
1573 (license license:bsd-3)))
1574
1575(define-public ghc-chell
1576 (package
1577 (name "ghc-chell")
acdd03be 1578 (version "0.5")
dddbc90c
RV
1579 (source
1580 (origin
1581 (method url-fetch)
1582 (uri (string-append
1583 "https://hackage.haskell.org/package/chell/chell-"
1584 version ".tar.gz"))
1585 (sha256
1586 (base32
acdd03be 1587 "1i845isfbk0yq852am9bqmxfpfkpnlha8nfidffsv4gw2p8gg6fg"))))
dddbc90c 1588 (build-system haskell-build-system)
acdd03be
TS
1589 (arguments
1590 `(#:cabal-revision
1591 ("1" "1q93wrw03ix4cmnkz3lzkixcvvizw6i2ia2zifdfak1dvxnblxk0")))
dddbc90c
RV
1592 (inputs
1593 `(("ghc-options-bootstrap" ,ghc-options-bootstrap)
1594 ("ghc-patience" ,ghc-patience)
1595 ("ghc-random" ,ghc-random)
1596 ("ghc-ansi-terminal" ,ghc-ansi-terminal)))
1597 (home-page "https://john-millikin.com/software/chell/")
1598 (synopsis "Simple and intuitive library for automated testing")
1599 (description
1600 "Chell is a simple and intuitive library for automated testing.
1601It natively supports assertion-based testing, and can use companion
1602libraries such as @code{chell-quickcheck} to support more complex
1603testing strategies.")
1604 (license license:expat)))
1605
1606(define-public ghc-chell-quickcheck
1607 (package
1608 (name "ghc-chell-quickcheck")
e0e21831 1609 (version "0.2.5.2")
dddbc90c
RV
1610 (source
1611 (origin
1612 (method url-fetch)
1613 (uri (string-append
1614 "https://hackage.haskell.org/package/chell-quickcheck/"
1615 "chell-quickcheck-" version ".tar.gz"))
1616 (sha256
1617 (base32
e0e21831 1618 "0n8c57n88r2bx0bh8nabsz07m42rh23ahs3hgyzf8gr76l08zq03"))))
dddbc90c
RV
1619 (build-system haskell-build-system)
1620 (arguments
1621 `(#:phases
1622 (modify-phases %standard-phases
1623 (add-before 'configure 'update-constraints
1624 (lambda _
1625 (substitute* "chell-quickcheck.cabal"
e0e21831
TS
1626 (("QuickCheck >= 2\\.3 && < 2\\.13")
1627 "QuickCheck >= 2.3 && < 2.14")))))))
dddbc90c
RV
1628 (inputs
1629 `(("ghc-chell" ,ghc-chell)
1630 ("ghc-chell-quickcheck-bootstrap" ,ghc-chell-quickcheck-bootstrap)
1631 ("ghc-random" ,ghc-random)
1632 ("ghc-quickcheck" ,ghc-quickcheck)))
1633 (home-page "https://john-millikin.com/software/chell/")
1634 (synopsis "QuickCheck support for the Chell testing library")
1635 (description "More complex tests for @code{chell}.")
1636 (license license:expat)))
1637
1638(define ghc-chell-quickcheck-bootstrap
1639 (package
1640 (name "ghc-chell-quickcheck-bootstrap")
e0e21831 1641 (version "0.2.5.2")
dddbc90c
RV
1642 (source
1643 (origin
1644 (method url-fetch)
1645 (uri (string-append
1646 "https://hackage.haskell.org/package/chell-quickcheck/"
1647 "chell-quickcheck-" version ".tar.gz"))
1648 (sha256
1649 (base32
e0e21831 1650 "0n8c57n88r2bx0bh8nabsz07m42rh23ahs3hgyzf8gr76l08zq03"))))
dddbc90c
RV
1651 (build-system haskell-build-system)
1652 (inputs
1653 `(("ghc-chell" ,ghc-chell)
1654 ("ghc-random" ,ghc-random)
1655 ("ghc-quickcheck" ,ghc-quickcheck)))
1656 (arguments
1657 `(#:tests? #f
1658 #:phases
1659 (modify-phases %standard-phases
1660 (add-before 'configure 'update-constraints
1661 (lambda _
1662 (substitute* "chell-quickcheck.cabal"
e0e21831
TS
1663 (("QuickCheck >= 2\\.3 && < 2\\.13")
1664 "QuickCheck >= 2.3 && < 2.14")))))))
dddbc90c
RV
1665 (home-page "https://john-millikin.com/software/chell/")
1666 (synopsis "QuickCheck support for the Chell testing library")
1667 (description "More complex tests for @code{chell}.")
1668 (license license:expat)))
1669
1670(define-public ghc-chunked-data
1671 (package
1672 (name "ghc-chunked-data")
1673 (version "0.3.1")
1674 (source
1675 (origin
1676 (method url-fetch)
1677 (uri (string-append "https://hackage.haskell.org/package/"
1678 "chunked-data-" version "/"
1679 "chunked-data-" version ".tar.gz"))
1680 (sha256
1681 (base32
1682 "16m7y7fwrirbjbqqcsfmr4yxa9qvfax6r7pw0zl9ky71ms0wa47p"))))
1683 (build-system haskell-build-system)
1684 (inputs `(("ghc-vector" ,ghc-vector)
1685 ("ghc-semigroups" ,ghc-semigroups)))
1686 (home-page "https://github.com/snoyberg/mono-traversable")
1687 (synopsis "Typeclasses for dealing with various chunked data
1688representations for Haskell")
1689 (description "This Haskell package was originally present in
1690classy-prelude.")
1691 (license license:expat)))
1692
1693(define-public ghc-clock
1694 (package
1695 (name "ghc-clock")
0841b6f2 1696 (version "0.8")
dddbc90c
RV
1697 (source
1698 (origin
1699 (method url-fetch)
1700 (uri (string-append
1701 "https://hackage.haskell.org/package/"
1702 "clock/"
1703 "clock-" version ".tar.gz"))
1704 (sha256
0841b6f2 1705 (base32 "0539w9bjw6xbfv9v6aq9hijszxqdnqhilwpbwpql1400ji95r8q8"))))
dddbc90c
RV
1706 (build-system haskell-build-system)
1707 (inputs
1708 `(("ghc-tasty" ,ghc-tasty)
1709 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
1710 (home-page "https://hackage.haskell.org/package/clock")
1711 (synopsis "High-resolution clock for Haskell")
1712 (description "A package for convenient access to high-resolution clock and
1713timer functions of different operating systems via a unified API.")
1714 (license license:bsd-3)))
1715
1716;; This package builds `clock` without tests, since the tests rely on tasty
1717;; and tasty-quickcheck, which in turn require clock to build.
1718(define-public ghc-clock-bootstrap
1719 (package
1720 (inherit ghc-clock)
1721 (name "ghc-clock-bootstrap")
1722 (arguments '(#:tests? #f))
1723 (inputs '())
1724 (properties '((hidden? #t)))))
1725
1726(define-public ghc-cmark
1727 (package
1728 (name "ghc-cmark")
6bdd36c0 1729 (version "0.6")
dddbc90c
RV
1730 (source (origin
1731 (method url-fetch)
6bdd36c0 1732 ;; XXX As of version 0.6, this package bundles libcmark 0.28.0.
dddbc90c
RV
1733 ;; See cbits/cmark_version.h.
1734 (uri (string-append "https://hackage.haskell.org/package/"
1735 "cmark/cmark-" version ".tar.gz"))
1736 (sha256
1737 (base32
6bdd36c0 1738 "1p41z6z8dqxk62287lvhhg4ayy9laai9ljh4azsnzb029v6mbv0d"))))
dddbc90c
RV
1739 (build-system haskell-build-system)
1740 (native-inputs
1741 `(("ghc-hunit" ,ghc-hunit)))
1742 (home-page "https://github.com/jgm/commonmark-hs")
1743 (synopsis "Fast, accurate CommonMark (Markdown) parser and renderer")
1744 (description
1745 "This package provides Haskell bindings for
1746@uref{https://github.com/jgm/cmark, libcmark}, the reference parser for
1747CommonMark, a fully specified variant of Markdown. It includes bundled libcmark
1748sources, and does not require prior installation of the C library.")
1749 (license license:bsd-3)))
1750
1751(define-public ghc-cmark-gfm
1752 (package
1753 (name "ghc-cmark-gfm")
24fc8dae 1754 (version "0.2.0")
dddbc90c
RV
1755 (source
1756 (origin
1757 (method url-fetch)
1758 (uri (string-append "https://hackage.haskell.org/package/"
1759 "cmark-gfm/cmark-gfm-"
1760 version ".tar.gz"))
1761 (sha256
1762 (base32
24fc8dae 1763 "03xflrkyw84qv3yjly5iks9311bqv5cmrmsylr763v4ph0fn7rjq"))))
dddbc90c
RV
1764 (build-system haskell-build-system)
1765 (native-inputs
1766 `(("ghc-hunit" ,ghc-hunit)))
1767 (home-page "https://github.com/kivikakk/cmark-gfm-hs")
1768 (synopsis
1769 "Fast, accurate GitHub Flavored Markdown parser and renderer")
1770 (description
1771 "This package provides Haskell bindings for libcmark-gfm, the reference
1772parser for GitHub Flavored Markdown, a fully specified variant of Markdown.
1773It includes sources for libcmark-gfm and does not require prior installation
1774of the C library.")
1775 (license license:bsd-3)))
1776
1777(define-public ghc-cmdargs
1778 (package
1779 (name "ghc-cmdargs")
1780 (version "0.10.20")
1781 (source
1782 (origin
1783 (method url-fetch)
1784 (uri (string-append
1785 "https://hackage.haskell.org/package/cmdargs/cmdargs-"
1786 version ".tar.gz"))
1787 (sha256
1788 (base32
1789 "0cbkmgrcnwgigg6z88y3c09gm7g6dwm7gzbgr53h8k1xik29s9hf"))))
1790 (build-system haskell-build-system)
1791 (home-page
1792 "http://community.haskell.org/~ndm/cmdargs/")
1793 (synopsis "Command line argument processing")
1794 (description
1795 "This library provides an easy way to define command line parsers.")
1796 (license license:bsd-3)))
1797
1798(define-public ghc-code-page
1799 (package
1800 (name "ghc-code-page")
f6bb6519 1801 (version "0.2")
dddbc90c
RV
1802 (source
1803 (origin
1804 (method url-fetch)
1805 (uri (string-append
1806 "https://hackage.haskell.org/package/code-page/code-page-"
1807 version ".tar.gz"))
1808 (sha256
1809 (base32
f6bb6519 1810 "0i0qbrbhvrwkbikqb7hh7yxaipaavwzvyrw211d0vkz99f62mqxz"))))
dddbc90c
RV
1811 (build-system haskell-build-system)
1812 (home-page "https://github.com/RyanGlScott/code-page")
1813 (synopsis "Windows code page library for Haskell")
1814 (description "A cross-platform library with functions for adjusting
1815code pages on Windows. On all other operating systems, the library does
1816nothing.")
1817 (license license:bsd-3)))
1818
1819(define-public ghc-colour
1820(package
1821 (name "ghc-colour")
bc9d1af9 1822 (version "2.3.5")
dddbc90c
RV
1823 (source
1824 (origin
1825 (method url-fetch)
1826 (uri (string-append
1827 "https://hackage.haskell.org/package/colour/colour-"
1828 version ".tar.gz"))
1829 (sha256
1830 (base32
bc9d1af9 1831 "1rq4l46jx4lpdppy71wf7m1n7pw2jwy788rm35ycwzb1g4clg39v"))))
dddbc90c
RV
1832 (arguments
1833 ;; The tests for this package have the following dependency cycle:
1834 ;; ghc-test-framework -> ghc-ansi-terminal -> ghc-colour.
1835 `(#:tests? #f))
1836 (build-system haskell-build-system)
1837 (home-page "https://www.haskell.org/haskellwiki/Colour")
1838 (synopsis "Model for human colour perception")
1839 (description
1840 "This package provides a data type for colours and transparency.
1841Colours can be blended and composed. Various colour spaces are
1842supported. A module of colour names (\"Data.Colour.Names\") is provided.")
1843 (license license:expat)))
1844
1845(define-public ghc-comonad
1846 (package
1847 (name "ghc-comonad")
1a825512 1848 (version "5.0.5")
dddbc90c
RV
1849 (source
1850 (origin
1851 (method url-fetch)
1852 (uri (string-append
1853 "https://hackage.haskell.org/package/comonad/comonad-"
1854 version
1855 ".tar.gz"))
1856 (sha256
1857 (base32
1a825512 1858 "1l7snp2mszgnjgd0nc9kzfyd13vla0rlazqi03rwx2akcxk14n3c"))))
dddbc90c
RV
1859 (build-system haskell-build-system)
1860 (native-inputs
1861 `(("cabal-doctest" ,cabal-doctest)
1862 ("ghc-doctest" ,ghc-doctest)))
1863 (inputs
1864 `(("ghc-contravariant" ,ghc-contravariant)
1865 ("ghc-distributive" ,ghc-distributive)
1866 ("ghc-semigroups" ,ghc-semigroups)
1867 ("ghc-tagged" ,ghc-tagged)
1868 ("ghc-transformers-compat" ,ghc-transformers-compat)))
1869 (home-page "https://github.com/ekmett/comonad/")
1870 (synopsis "Comonads for Haskell")
1871 (description "This library provides @code{Comonad}s for Haskell.")
1872 (license license:bsd-3)))
1873
1874(define-public ghc-concatenative
1875 (package
1876 (name "ghc-concatenative")
1877 (version "1.0.1")
1878 (source (origin
1879 (method url-fetch)
1880 (uri (string-append
1881 "https://hackage.haskell.org/package/concatenative/concatenative-"
1882 version ".tar.gz"))
1883 (sha256
1884 (base32
1885 "05xwqvcdnk8bsyj698ab9jxpa1nk23pf3m7wi9mwmw0q8n99fngd"))))
1886 (build-system haskell-build-system)
1887 (home-page
1888 "https://patch-tag.com/r/salazar/concatenative/snapshot/current/content/pretty")
1889 (synopsis "Library for postfix control flow")
1890 (description
1891 "Concatenative gives Haskell Factor-style combinators and arrows for
1892postfix notation. For more information on stack based languages, see
1893@uref{https://concatenative.org}.")
1894 (license license:bsd-3)))
1895
1896(define-public ghc-concurrent-extra
1897 (package
1898 (name "ghc-concurrent-extra")
1899 (version "0.7.0.12")
1900 (source
1901 (origin
1902 (method url-fetch)
1903 (uri (string-append "https://hackage.haskell.org/package/"
1904 "concurrent-extra/concurrent-extra-"
1905 version ".tar.gz"))
1906 (sha256
1907 (base32
1908 "1y8xk460fvnw0idzdiylmm874sjny4q9jxb1js9fjz8lw2wns3h4"))))
1909 (build-system haskell-build-system)
1910 (arguments
1911 ;; XXX: The ReadWriteLock 'stressTest' fails.
1912 `(#:tests? #f))
1913 (inputs
1914 `(("ghc-unbounded-delays" ,ghc-unbounded-delays)))
1915 (native-inputs
1916 `(("ghc-async" ,ghc-async)
1917 ("ghc-hunit" ,ghc-hunit)
1918 ("ghc-random" ,ghc-random)
1919 ("ghc-test-framework" ,ghc-test-framework)
1920 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
1921 (home-page "https://github.com/basvandijk/concurrent-extra")
1922 (synopsis "Extra concurrency primitives")
1923 (description "This Haskell library offers (among other things) the
1924following selection of synchronisation primitives:
1925
1926@itemize
1927@item @code{Broadcast}: Wake multiple threads by broadcasting a value.
1928@item @code{Event}: Wake multiple threads by signalling an event.
1929@item @code{Lock}: Enforce exclusive access to a resource. Also known
1930as a binary semaphore or mutex. The package additionally provides an
1931alternative that works in the STM monad.
1932@item @code{RLock}: A lock which can be acquired multiple times by the
1933same thread. Also known as a reentrant mutex.
1934@item @code{ReadWriteLock}: Multiple-reader, single-writer locks. Used
1935to protect shared resources which may be concurrently read, but only
1936sequentially written.
1937@item @code{ReadWriteVar}: Concurrent read, sequential write variables.
1938@end itemize
1939
1940Please consult the API documentation of the individual modules for more
1941detailed information.
1942
1943This package was inspired by the concurrency libraries of Java and
1944Python.")
1945 (license license:bsd-3)))
1946
1947(define-public ghc-concurrent-output
1948 (package
1949 (name "ghc-concurrent-output")
4fce0a4a 1950 (version "1.10.11")
dddbc90c
RV
1951 (source
1952 (origin
1953 (method url-fetch)
1954 (uri (string-append
1955 "mirror://hackage/package/concurrent-output/concurrent-output-"
1956 version
1957 ".tar.gz"))
1958 (sha256
1959 (base32
4fce0a4a 1960 "1d1aaqg5814k59b0iws3fh06p3g2siaj922gkhs75qgncj0my2p3"))))
dddbc90c
RV
1961 (build-system haskell-build-system)
1962 (inputs
1963 `(("ghc-async" ,ghc-async)
1964 ("ghc-exceptions" ,ghc-exceptions)
1965 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
1966 ("ghc-terminal-size" ,ghc-terminal-size)))
1967 (home-page
1968 "https://hackage.haskell.org/package/concurrent-output")
1969 (synopsis
1970 "Ungarble output from several threads or commands")
1971 (description
1972 "Lets multiple threads and external processes concurrently output to the
1973console, without it getting all garbled up.
1974
1975Built on top of that is a way of defining multiple output regions, which are
1976automatically laid out on the screen and can be individually updated by
1977concurrent threads. Can be used for progress displays etc.")
1978 (license license:bsd-2)))
1979
1980(define-public ghc-conduit
1981 (package
1982 (name "ghc-conduit")
1ac981d4 1983 (version "1.3.1.1")
dddbc90c
RV
1984 (source (origin
1985 (method url-fetch)
1986 (uri (string-append "https://hackage.haskell.org/package/"
1987 "conduit/conduit-" version ".tar.gz"))
1988 (sha256
1989 (base32
1ac981d4 1990 "18izjgff4pmrknc8py06yvg3g6x27nx0rzmlwjxcflwm5v4szpw4"))))
dddbc90c
RV
1991 (build-system haskell-build-system)
1992 (inputs
1993 `(("ghc-exceptions" ,ghc-exceptions)
1994 ("ghc-lifted-base" ,ghc-lifted-base)
1995 ("ghc-mono-traversable" ,ghc-mono-traversable)
1996 ("ghc-mmorph" ,ghc-mmorph)
1997 ("ghc-resourcet" ,ghc-resourcet)
1998 ("ghc-silently" ,ghc-silently)
1999 ("ghc-transformers-base" ,ghc-transformers-base)
2000 ("ghc-unliftio" ,ghc-unliftio)
2001 ("ghc-unliftio-core" ,ghc-unliftio-core)
2002 ("ghc-vector" ,ghc-vector)
2003 ("ghc-void" ,ghc-void)))
2004 (native-inputs
2005 `(("ghc-quickcheck" ,ghc-quickcheck)
2006 ("ghc-hspec" ,ghc-hspec)
2007 ("ghc-safe" ,ghc-safe)
2008 ("ghc-split" ,ghc-split)))
2009 (home-page "https://github.com/snoyberg/conduit")
2010 (synopsis "Streaming data library ")
2011 (description
2012 "The conduit package is a solution to the streaming data problem,
2013allowing for production, transformation, and consumption of streams of data
2014in constant memory. It is an alternative to lazy I/O which guarantees
2015deterministic resource handling, and fits in the same general solution
2016space as enumerator/iteratee and pipes.")
2017 (license license:expat)))
2018
2019(define-public ghc-conduit-algorithms
2020 (package
2021 (name "ghc-conduit-algorithms")
2022 (version "0.0.8.1")
2023 (source
2024 (origin
2025 (method url-fetch)
2026 (uri (string-append "https://hackage.haskell.org/package/"
2027 "conduit-algorithms/conduit-algorithms-"
2028 version ".tar.gz"))
2029 (sha256
2030 (base32
2031 "07gx2q3d1bbfw14q41rmqg0i4m018pci10lswc0k1ij6lw7sb9fd"))))
2032 (build-system haskell-build-system)
2033 (inputs
2034 `(("ghc-async" ,ghc-async)
2035 ("ghc-bzlib-conduit" ,ghc-bzlib-conduit)
2036 ("ghc-conduit" ,ghc-conduit)
2037 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
2038 ("ghc-conduit-extra" ,ghc-conduit-extra)
2039 ("ghc-exceptions" ,ghc-exceptions)
2040 ("ghc-lzma-conduit" ,ghc-lzma-conduit)
2041 ("ghc-monad-control" ,ghc-monad-control)
2042 ("ghc-pqueue" ,ghc-pqueue)
2043 ("ghc-resourcet" ,ghc-resourcet)
2044 ("ghc-stm-conduit" ,ghc-stm-conduit)
2045 ("ghc-streaming-commons" ,ghc-streaming-commons)
2046 ("ghc-unliftio-core" ,ghc-unliftio-core)
2047 ("ghc-vector" ,ghc-vector)))
2048 (native-inputs
2049 `(("ghc-hunit" ,ghc-hunit)
2050 ("ghc-test-framework" ,ghc-test-framework)
2051 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
2052 ("ghc-test-framework-th" ,ghc-test-framework-th)))
2053 (home-page "https://github.com/luispedro/conduit-algorithms#readme")
2054 (synopsis "Conduit-based algorithms")
2055 (description
2056 "This package provides algorithms on @code{Conduits}, including higher
2057level asynchronous processing and some other utilities.")
2058 (license license:expat)))
2059
2060(define-public ghc-conduit-combinators
2061 (package
2062 (name "ghc-conduit-combinators")
2063 (version "1.3.0")
2064 (source
2065 (origin
2066 (method url-fetch)
2067 (uri (string-append "https://hackage.haskell.org/package/"
2068 "conduit-combinators-" version "/"
2069 "conduit-combinators-" version ".tar.gz"))
2070 (sha256
2071 (base32
2072 "1lz70vwp4y4lpsivxl0cshq7aq3968rh48r6rjvpyaj2l0bdj5wp"))))
2073 (build-system haskell-build-system)
2074 (inputs `(("ghc-conduit" ,ghc-conduit)
2075 ("ghc-conduit-extra" ,ghc-conduit-extra)
2076 ("ghc-transformers-base" ,ghc-transformers-base)
2077 ("ghc-primitive" ,ghc-primitive)
2078 ("ghc-vector" ,ghc-vector)
2079 ("ghc-void" ,ghc-void)
2080 ("ghc-mwc-random" ,ghc-mwc-random)
2081 ("ghc-unix-compat" ,ghc-unix-compat)
2082 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
2083 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
2084 ("ghc-resourcet" ,ghc-resourcet)
2085 ("ghc-monad-control" ,ghc-monad-control)
2086 ("ghc-chunked-data" ,ghc-chunked-data)
2087 ("ghc-mono-traversable" ,ghc-mono-traversable)))
2088 (native-inputs `(("ghc-hspec" ,ghc-hspec)
2089 ("ghc-silently" ,ghc-silently)
2090 ("ghc-safe" ,ghc-safe)
2091 ("ghc-quickcheck" ,ghc-quickcheck)))
2092 (home-page "https://github.com/snoyberg/mono-traversable")
2093 (synopsis "Commonly used conduit functions, for both chunked and
2094unchunked data")
2095 (description "This Haskell package provides a replacement for Data.Conduit.List,
2096as well as a convenient Conduit module.")
2097 (license license:expat)))
2098
2099(define-public ghc-conduit-extra
2100 (package
2101 (name "ghc-conduit-extra")
151774d9 2102 (version "1.3.4")
dddbc90c
RV
2103 (source
2104 (origin
2105 (method url-fetch)
2106 (uri (string-append "https://hackage.haskell.org/package/"
2107 "conduit-extra/conduit-extra-"
2108 version ".tar.gz"))
2109 (sha256
2110 (base32
151774d9 2111 "1d853d39vj5pb8yxfcsnjwdzqzkm34ixzbnba8bslpihb7182wxi"))))
dddbc90c
RV
2112 (build-system haskell-build-system)
2113 (inputs
2114 `(("ghc-conduit" ,ghc-conduit)
2115 ("ghc-exceptions" ,ghc-exceptions)
2116 ("ghc-monad-control" ,ghc-monad-control)
2117 ("ghc-transformers-base" ,ghc-transformers-base)
2118 ("ghc-typed-process" ,ghc-typed-process)
2119 ("ghc-async" ,ghc-async)
2120 ("ghc-attoparsec" ,ghc-attoparsec)
2121 ("ghc-blaze-builder" ,ghc-blaze-builder)
2122 ("ghc-network" ,ghc-network)
2123 ("ghc-primitive" ,ghc-primitive)
2124 ("ghc-resourcet" ,ghc-resourcet)
2125 ("ghc-streaming-commons" ,ghc-streaming-commons)
2126 ("ghc-hspec" ,ghc-hspec)
2127 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
2128 ("ghc-quickcheck" ,ghc-quickcheck)))
2129 (native-inputs
2130 `(("hspec-discover" ,hspec-discover)))
2131 (home-page "https://github.com/snoyberg/conduit")
2132 (synopsis "Conduit adapters for common libraries")
2133 (description
2134 "The @code{conduit} package itself maintains relative small dependencies.
2135The purpose of this package is to collect commonly used utility functions
2136wrapping other library dependencies, without depending on heavier-weight
2137dependencies. The basic idea is that this package should only depend on
2138@code{haskell-platform} packages and @code{conduit}.")
2139 (license license:expat)))
2140
2141(define-public ghc-configurator
2142 (package
2143 (name "ghc-configurator")
2144 (version "0.3.0.0")
2145 (source
2146 (origin
2147 (method url-fetch)
2148 (uri (string-append "https://hackage.haskell.org/package/"
2149 "configurator/configurator-"
2150 version ".tar.gz"))
2151 (sha256
2152 (base32
2153 "1d1iq1knwiq6ia5g64rw5hqm6dakz912qj13r89737rfcxmrkfbf"))))
2154 (build-system haskell-build-system)
2155 (inputs
2156 `(("ghc-attoparsec" ,ghc-attoparsec)
2157 ("ghc-hashable" ,ghc-hashable)
2158 ("ghc-unix-compat" ,ghc-unix-compat)
2159 ("ghc-unordered-containers" ,ghc-unordered-containers)))
2160 (native-inputs
2161 `(("ghc-hunit" ,ghc-hunit)
2162 ("ghc-test-framework" ,ghc-test-framework)
2163 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
2164 (home-page "http://github.com/bos/configurator")
2165 (synopsis "Configuration management")
2166 (description
2167 "This package provides a configuration management library for programs
2168and daemons. The features include:
2169
2170@enumerate
2171@item Automatic, dynamic reloading in response to modifications to
2172 configuration files.
2173@item A simple, but flexible, configuration language, supporting several of
2174 the most commonly needed types of data, along with interpolation of strings
2175 from the configuration or the system environment (e.g. @code{$(HOME)}).
2176@item Subscription-based notification of changes to configuration properties.
2177@item An @code{import} directive allows the configuration of a complex
2178 application to be split across several smaller files, or common configuration
2179 data to be shared across several applications.
2180@end enumerate\n")
2181 (license license:bsd-3)))
2182
2183(define-public ghc-connection
2184 (package
2185 (name "ghc-connection")
6ee0d258 2186 (version "0.3.1")
dddbc90c
RV
2187 (source (origin
2188 (method url-fetch)
2189 (uri (string-append "https://hackage.haskell.org/package/"
2190 "connection/connection-"
2191 version ".tar.gz"))
2192 (sha256
2193 (base32
6ee0d258 2194 "1nbmafhlg0wy4aa3p7amjddbamdz6avzrxn4py3lvhrjqn4raxax"))))
dddbc90c
RV
2195 (build-system haskell-build-system)
2196 (inputs
2197 `(("ghc-byteable" ,ghc-byteable)
2198 ("ghc-data-default-class" ,ghc-data-default-class)
2199 ("ghc-network" ,ghc-network)
2200 ("ghc-tls" ,ghc-tls)
2201 ("ghc-socks" ,ghc-socks)
2202 ("ghc-x509" ,ghc-x509)
2203 ("ghc-x509-store" ,ghc-x509-store)
2204 ("ghc-x509-system" ,ghc-x509-system)
2205 ("ghc-x509-validation" ,ghc-x509-validation)))
2206 (home-page "https://github.com/vincenthz/hs-connection")
2207 (synopsis "Simple and easy network connections API")
2208 (description
2209 "This package provides a simple network library for all your connection
2210needs. It provides a very simple API to create sockets to a destination with
2211the choice of SSL/TLS, and SOCKS.")
2212 (license license:bsd-3)))
2213
2214(define-public ghc-constraints
2215 (package
2216 (name "ghc-constraints")
2217 (version "0.10.1")
2218 (source
2219 (origin
2220 (method url-fetch)
2221 (uri (string-append
2222 "https://hackage.haskell.org/package/constraints/constraints-"
2223 version ".tar.gz"))
2224 (sha256
2225 (base32
2226 "1xy3vv78jxc17hm0z7qqspxjwv7l2jbcbj670yrl2f053qkfr02q"))))
2227 (build-system haskell-build-system)
2228 (inputs
2229 `(("ghc-hashable" ,ghc-hashable)
2230 ("ghc-semigroups" ,ghc-semigroups)
2231 ("ghc-transformers-compat" ,ghc-transformers-compat)))
2232 (native-inputs
2233 `(("ghc-hspec" ,ghc-hspec)
2234 ("hspec-discover" ,hspec-discover)))
2235 (home-page "https://github.com/ekmett/constraints/")
2236 (synopsis "Constraint manipulation")
2237 (description
2238 "GHC 7.4 gave us the ability to talk about @code{ConstraintKinds}.
2239They stopped crashing the compiler in GHC 7.6. This package provides
2240a vocabulary for working with them.")
2241 (license license:bsd-3)))
2242
2243(define-public ghc-contravariant
2244 (package
2245 (name "ghc-contravariant")
e7b35ff0 2246 (version "1.5.2")
dddbc90c
RV
2247 (source
2248 (origin
2249 (method url-fetch)
2250 (uri (string-append
2251 "https://hackage.haskell.org/package/contravariant/contravariant-"
2252 version
2253 ".tar.gz"))
2254 (sha256
2255 (base32
e7b35ff0 2256 "0366gl62wwwdbl9i6kqy60asf60876k55v91la6bmhnwwcj2q9n4"))))
dddbc90c
RV
2257 (build-system haskell-build-system)
2258 (inputs
2259 `(("ghc-void" ,ghc-void)
2260 ("ghc-transformers-compat" ,ghc-transformers-compat)
2261 ("ghc-statevar" ,ghc-statevar)
2262 ("ghc-semigroups" ,ghc-semigroups)))
2263 (home-page
2264 "https://github.com/ekmett/contravariant/")
2265 (synopsis "Contravariant functors")
2266 (description "Contravariant functors for Haskell.")
2267 (license license:bsd-3)))
2268
2269(define-public ghc-contravariant-extras
2270 (package
2271 (name "ghc-contravariant-extras")
2272 (version "0.3.4")
2273 (source
2274 (origin
2275 (method url-fetch)
2276 (uri (string-append "https://hackage.haskell.org/package/"
2277 "contravariant-extras-" version "/"
2278 "contravariant-extras-" version ".tar.gz"))
2279 (sha256
2280 (base32
2281 "0gg62ccl94kvh7mnvdq09pifqxjx2kgs189si90nmg44bafj7a9n"))))
2282 (build-system haskell-build-system)
f3aca086
TS
2283 (arguments
2284 `(#:cabal-revision
2285 ("1" "1h2955ahga6i4fn7k8v66l03v77p6fhsac6ck8gpabkc08ij60wp")))
dddbc90c
RV
2286 (inputs
2287 `(("ghc-tuple-th" ,ghc-tuple-th)
2288 ("ghc-contravariant" ,ghc-contravariant)
2289 ("ghc-base-prelude" ,ghc-base-prelude)
2290 ("ghc-semigroups" ,ghc-semigroups)))
2291 (home-page "https://github.com/nikita-volkov/contravariant-extras")
2292 (synopsis "Extras for the @code{ghc-contravariant} Haskell package")
2293 (description "This Haskell package provides extras for the
2294@code{ghc-contravariant} package.")
2295 (license license:expat)))
2296
2297(define-public ghc-convertible
2298 (package
2299 (name "ghc-convertible")
2300 (version "1.1.1.0")
2301 (source
2302 (origin
2303 (method url-fetch)
2304 (uri (string-append "https://hackage.haskell.org/package/convertible/"
2305 "convertible-" version ".tar.gz"))
2306 (sha256
2307 (base32
2308 "0v18ap1mccnndgxmbfgyjdicg8jlss01bd5fq8a576dr0h4sgyg9"))))
2309 (build-system haskell-build-system)
2310 (inputs
2311 `(("ghc-old-time" ,ghc-old-time)
2312 ("ghc-old-locale" ,ghc-old-locale)))
2313 (home-page "https://hackage.haskell.org/package/convertible")
2314 (synopsis "Typeclasses and instances for converting between types")
2315 (description
2316 "This package provides a typeclass with a single function that is
2317designed to help convert between different types: numeric values, dates and
2318times, and the like. The conversions perform bounds checking and return a
2319pure @code{Either} value. This means that you need not remember which specific
2320function performs the conversion you desire.")
2321 (license license:bsd-3)))
2322
2323(define-public ghc-data-accessor
2324 (package
2325 (name "ghc-data-accessor")
6dcca515 2326 (version "0.2.2.8")
dddbc90c
RV
2327 (source
2328 (origin
2329 (method url-fetch)
2330 (uri (string-append
2331 "mirror://hackage/package/data-accessor/data-accessor-"
2332 version ".tar.gz"))
2333 (sha256
6dcca515 2334 (base32 "1fq4gygxbz0bd0mzgvc1sl3m4gjnsv8nbgpnmdpa29zj5lb9agxc"))))
dddbc90c
RV
2335 (build-system haskell-build-system)
2336 (home-page "https://www.haskell.org/haskellwiki/Record_access")
2337 (synopsis
2338 "Haskell utilities for accessing and manipulating fields of records")
2339 (description "This package provides Haskell modules for accessing and
2340manipulating fields of records.")
2341 (license license:bsd-3)))
2342
2343(define-public ghc-data-accessor-transformers
2344 (package
2345 (name "ghc-data-accessor-transformers")
2346 (version "0.2.1.7")
2347 (source
2348 (origin
2349 (method url-fetch)
2350 (uri (string-append
2351 "mirror://hackage/package/data-accessor-transformers/"
2352 "data-accessor-transformers-" version ".tar.gz"))
2353 (sha256
2354 (base32 "0yp030vafbpddl27m606aibbbr5ar5j5bsv4bksscz3cq4yq5j10"))))
2355 (build-system haskell-build-system)
2356 (inputs `(("ghc-data-accessor" ,ghc-data-accessor)))
2357 (home-page "https://www.haskell.org/haskellwiki/Record_access")
2358 (synopsis "Use Accessor to access state in transformers State monad")
2359 (description "This package provides Haskell modules to allow use of
2360Accessor to access state in transformers State monad.")
2361 (license license:bsd-3)))
2362
2363(define-public ghc-data-default
2364 (package
2365 (name "ghc-data-default")
2366 (version "0.7.1.1")
2367 (source
2368 (origin
2369 (method url-fetch)
2370 (uri (string-append
2371 "https://hackage.haskell.org/package/data-default/data-default-"
2372 version
2373 ".tar.gz"))
2374 (sha256
2375 (base32 "04d5n8ybmcxba9qb6h389w9zfq1lvj81b82jh6maqp6pkhkmvydh"))))
2376 (build-system haskell-build-system)
2377 (inputs
2378 `(("ghc-data-default-class"
2379 ,ghc-data-default-class)
2380 ("ghc-data-default-instances-base"
2381 ,ghc-data-default-instances-base)
2382 ("ghc-data-default-instances-containers"
2383 ,ghc-data-default-instances-containers)
2384 ("ghc-data-default-instances-dlist"
2385 ,ghc-data-default-instances-dlist)
2386 ("ghc-data-default-instances-old-locale"
2387 ,ghc-data-default-instances-old-locale)))
2388 (home-page "https://hackage.haskell.org/package/data-default")
2389 (synopsis "Types with default values")
2390 (description
2391 "This package defines a class for types with a default value, and
2392provides instances for types from the base, containers, dlist and old-locale
2393packages.")
2394 (license license:bsd-3)))
2395
2396(define-public ghc-data-default-class
2397 (package
2398 (name "ghc-data-default-class")
2399 (version "0.1.2.0")
2400 (source
2401 (origin
2402 (method url-fetch)
2403 (uri (string-append
2404 "https://hackage.haskell.org/package/data-default-class/"
2405 "data-default-class-" version ".tar.gz"))
2406 (sha256
2407 (base32 "0miyjz8d4jyvqf2vp60lyfbnflx6cj2k8apmm9ly1hq0y0iv80ag"))))
2408 (build-system haskell-build-system)
2409 (home-page "https://hackage.haskell.org/package/data-default-class")
2410 (synopsis "Types with default values")
2411 (description
2412 "This package defines a class for types with default values.")
2413 (license license:bsd-3)))
2414
2415(define-public ghc-data-default-instances-base
2416 (package
2417 (name "ghc-data-default-instances-base")
2418 (version "0.1.0.1")
2419 (source
2420 (origin
2421 (method url-fetch)
2422 (uri (string-append
2423 "https://hackage.haskell.org/package/"
2424 "data-default-instances-base/"
2425 "data-default-instances-base-" version ".tar.gz"))
2426 (sha256
2427 (base32 "0ym1sw3ssdzzifxxhh76qlv8kkmb2iclc158incv1dklyr9y8kw4"))))
2428 (build-system haskell-build-system)
2429 (inputs
2430 `(("ghc-data-default-class" ,ghc-data-default-class)))
2431 (home-page "https://hackage.haskell.org/package/data-default-instances-base")
2432 (synopsis "Default instances for types in base")
2433 (description
2434 "This package provides default instances for types from the base
2435package.")
2436 (license license:bsd-3)))
2437
2438(define-public ghc-data-default-instances-containers
2439 (package
2440 (name "ghc-data-default-instances-containers")
2441 (version "0.0.1")
2442 (source
2443 (origin
2444 (method url-fetch)
2445 (uri (string-append
2446 "https://hackage.haskell.org/package/"
2447 "data-default-instances-containers/"
2448 "data-default-instances-containers-" version ".tar.gz"))
2449 (sha256
2450 (base32 "06h8xka031w752a7cjlzghvr8adqbl95xj9z5zc1b62w02phfpm5"))))
2451 (build-system haskell-build-system)
2452 (inputs
2453 `(("ghc-data-default-class" ,ghc-data-default-class)))
2454 (home-page "https://hackage.haskell.org/package/data-default-instances-containers")
2455 (synopsis "Default instances for types in containers")
2456 (description "Provides default instances for types from the containers
2457package.")
2458 (license license:bsd-3)))
2459
2460(define-public ghc-data-default-instances-dlist
2461 (package
2462 (name "ghc-data-default-instances-dlist")
2463 (version "0.0.1")
2464 (source
2465 (origin
2466 (method url-fetch)
2467 (uri (string-append
2468 "https://hackage.haskell.org/package/"
2469 "data-default-instances-dlist/"
2470 "data-default-instances-dlist-" version ".tar.gz"))
2471 (sha256
2472 (base32 "0narkdqiprhgayjiawrr4390h4rq4pl2pb6mvixbv2phrc8kfs3x"))))
2473 (build-system haskell-build-system)
2474 (inputs
2475 `(("ghc-data-default-class" ,ghc-data-default-class)
2476 ("ghc-dlist" ,ghc-dlist)))
2477 (home-page "https://hackage.haskell.org/package/data-default-instances-dlist")
2478 (synopsis "Default instances for types in dlist")
2479 (description "Provides default instances for types from the dlist
2480package.")
2481 (license license:bsd-3)))
2482
2483(define-public ghc-data-default-instances-old-locale
2484 (package
2485 (name "ghc-data-default-instances-old-locale")
2486 (version "0.0.1")
2487 (source
2488 (origin
2489 (method url-fetch)
2490 (uri (string-append
2491 "https://hackage.haskell.org/package/"
2492 "data-default-instances-old-locale/"
2493 "data-default-instances-old-locale-" version ".tar.gz"))
2494 (sha256
2495 (base32 "00h81i5phib741yj517p8mbnc48myvfj8axzsw44k34m48lv1lv0"))))
2496 (build-system haskell-build-system)
2497 (inputs
2498 `(("ghc-data-default-class" ,ghc-data-default-class)
2499 ("ghc-old-locale" ,ghc-old-locale)))
2500 (home-page
2501 "https://hackage.haskell.org/package/data-default-instances-old-locale")
2502 (synopsis "Default instances for types in old-locale")
2503 (description "Provides Default instances for types from the old-locale
2504 package.")
2505 (license license:bsd-3)))
2506
2507(define-public ghc-data-hash
2508 (package
2509 (name "ghc-data-hash")
2510 (version "0.2.0.1")
2511 (source
2512 (origin
2513 (method url-fetch)
2514 (uri (string-append "https://hackage.haskell.org/package/data-hash"
2515 "/data-hash-" version ".tar.gz"))
2516 (sha256
2517 (base32 "1ghbqvc48gf9p8wiy71hdpaj7by3b9cw6wgwi3qqz8iw054xs5wi"))))
2518 (build-system haskell-build-system)
2519 (inputs
2520 `(("ghc-quickcheck" ,ghc-quickcheck)
2521 ("ghc-test-framework" ,ghc-test-framework)
2522 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2523 (home-page "https://hackage.haskell.org/package/data-hash")
2524 (synopsis "Combinators for building fast hashing functions")
2525 (description
2526 "This package provides combinators for building fast hashing functions.
2527It includes hashing functions for all basic Haskell98 types.")
2528 (license license:bsd-3)))
2529
2530(define-public ghc-data-ordlist
2531 (package
2532 (name "ghc-data-ordlist")
2533 (version "0.4.7.0")
2534 (source
2535 (origin
2536 (method url-fetch)
2537 (uri (string-append
2538 "https://hackage.haskell.org/package/data-ordlist/data-ordlist-"
2539 version ".tar.gz"))
2540 (sha256
2541 (base32
2542 "03a9ix1fcx08viwv2jg5ndw1qbkydyyrmjvqr9wasmcik9x1wv3g"))))
2543 (build-system haskell-build-system)
2544 (home-page "https://hackage.haskell.org/package/data-ordlist")
2545 (synopsis "Set and bag operations on ordered lists")
2546 (description
2547 "This module provides set and multiset operations on ordered lists.")
2548 (license license:bsd-3)))
2549
2550(define-public ghc-deepseq-generics
2551 (package
2552 (name "ghc-deepseq-generics")
2553 (version "0.2.0.0")
2554 (source (origin
2555 (method url-fetch)
2556 (uri (string-append "https://hackage.haskell.org/package/"
2557 "deepseq-generics/deepseq-generics-"
2558 version ".tar.gz"))
2559 (sha256
2560 (base32
2561 "17bwghc15mc9pchfd1w46jh2p3wzc86aj6a537wqwxn08rayzcxh"))))
2562 (build-system haskell-build-system)
2563 (arguments
2564 `(#:cabal-revision
2565 ("2" "1pnidf8w8x0w5fsqgv8hhrw07slmhxwy5x4fikgk0bd6k76aqicb")))
2566 (native-inputs
2567 `(("ghc-hunit" ,ghc-hunit)
2568 ("ghc-test-framework" ,ghc-test-framework)
2569 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
2570 (home-page "https://github.com/hvr/deepseq-generics")
2571 (synopsis "Generic RNF implementation")
2572 (description
2573 "This package provides a @code{GHC.Generics}-based
2574@code{Control.DeepSeq.Generics.genericRnf} function which can be used for
2575providing an @code{rnf} implementation.")
2576 (license license:bsd-3)))
2577
e924e17e
TS
2578(define-public ghc-dense-linear-algebra
2579 (package
2580 (name "ghc-dense-linear-algebra")
2581 (version "0.1.0.0")
2582 (source
2583 (origin
2584 (method url-fetch)
2585 (uri (string-append "https://hackage.haskell.org/package/"
2586 "dense-linear-algebra/dense-linear-algebra-"
2587 version ".tar.gz"))
2588 (sha256
2589 (base32
2590 "1m7jjxahqxj7ilic3r9806mwp5rnnsmn8vvipkmk40xl65wplxzp"))))
2591 (build-system haskell-build-system)
2592 (inputs
2593 `(("ghc-math-functions" ,ghc-math-functions)
2594 ("ghc-primitive" ,ghc-primitive)
2595 ("ghc-vector" ,ghc-vector)
2596 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
2597 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)
2598 ("ghc-vector-binary-instances" ,ghc-vector-binary-instances)))
2599 (native-inputs
2600 `(("ghc-hspec" ,ghc-hspec)
2601 ("ghc-quickcheck" ,ghc-quickcheck)))
2602 (home-page "http://hackage.haskell.org/package/dense-linear-algebra")
2603 (synopsis "Simple and incomplete implementation of linear algebra")
2604 (description "This library is simply a collection of linear-algebra
2605related modules split from the statistics library.")
2606 (license license:bsd-2)))
2607
dddbc90c
RV
2608(define-public ghc-descriptive
2609 (package
2610 (name "ghc-descriptive")
2611 (version "0.9.5")
2612 (source
2613 (origin
2614 (method url-fetch)
2615 (uri (string-append
2616 "https://hackage.haskell.org/package/descriptive/descriptive-"
2617 version
2618 ".tar.gz"))
2619 (sha256
2620 (base32
2621 "0y5693zm2kvqjilybbmrcv1g6n6x2p6zjgi0k0axjw1sdhh1g237"))))
2622 (build-system haskell-build-system)
2623 (inputs
2624 `(("ghc-aeson" ,ghc-aeson)
2625 ("ghc-bifunctors" ,ghc-bifunctors)
2626 ("ghc-scientific" ,ghc-scientific)
2627 ("ghc-vector" ,ghc-vector)))
2628 (native-inputs
2629 `(("ghc-hunit" ,ghc-hunit)
2630 ("ghc-hspec" ,ghc-hspec)))
2631 (home-page
2632 "https://github.com/chrisdone/descriptive")
2633 (synopsis
2634 "Self-describing consumers/parsers: forms, cmd-line args, JSON, etc.")
2635 (description
2636 "This package provides datatypes and functions for creating consumers
2637and parsers with useful semantics.")
2638 (license license:bsd-3)))
2639
2640(define-public ghc-diff
2641 (package
2642 (name "ghc-diff")
2643 (version "0.3.4")
2644 (source (origin
2645 (method url-fetch)
2646 (uri (string-append "https://hackage.haskell.org/package/"
2647 "Diff/Diff-" version ".tar.gz"))
a531ff94 2648 (patches (search-patches "ghc-diff-swap-cover-args.patch"))
dddbc90c
RV
2649 (sha256
2650 (base32
2651 "0bqcdvhxx8dmqc3793m6axg813wv9ldz2j37f1wygbbrbbndmdvp"))))
2652 (build-system haskell-build-system)
2653 (native-inputs
2654 `(("ghc-quickcheck" ,ghc-quickcheck)
2655 ("ghc-test-framework" ,ghc-test-framework)
2656 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2657 (home-page "https://hub.darcs.net/sterlingclover/Diff")
2658 (synopsis "O(ND) diff algorithm in Haskell")
2659 (description
2660 "This package provides an implementation of the standard diff algorithm,
2661and utilities for pretty printing.")
2662 (license license:bsd-3)))
2663
2664(define-public ghc-disk-free-space
2665 (package
2666 (name "ghc-disk-free-space")
2667 (version "0.1.0.1")
2668 (source
2669 (origin
2670 (method url-fetch)
2671 (uri (string-append "https://hackage.haskell.org/package/"
2672 "disk-free-space/disk-free-space-"
2673 version ".tar.gz"))
2674 (sha256
2675 (base32
2676 "07rqj8k1vh3cykq9yidpjxhgh1f7vgmjs6y1nv5kq2217ff4yypi"))))
2677 (build-system haskell-build-system)
2678 (home-page "https://github.com/redneb/disk-free-space")
2679 (synopsis "Retrieve information about disk space usage")
2680 (description "A cross-platform library for retrieving information about
2681disk space usage.")
2682 (license license:bsd-3)))
2683
2684(define-public ghc-distributive
2685 (package
2686 (name "ghc-distributive")
e4c92f28 2687 (version "0.6.1")
dddbc90c
RV
2688 (source
2689 (origin
2690 (method url-fetch)
2691 (uri (string-append
2692 "https://hackage.haskell.org/package/distributive/distributive-"
2693 version
2694 ".tar.gz"))
2695 (sha256
2696 (base32
e4c92f28 2697 "1wnayzzb4vk8rhh9gzhdpd9f64366k4vmbhximavmqqmp3cv2jbp"))))
dddbc90c 2698 (build-system haskell-build-system)
dddbc90c
RV
2699 (inputs
2700 `(("ghc-tagged" ,ghc-tagged)
2701 ("ghc-base-orphans" ,ghc-base-orphans)
2702 ("ghc-transformers-compat" ,ghc-transformers-compat)
2703 ("ghc-semigroups" ,ghc-semigroups)
2704 ("ghc-generic-deriving" ,ghc-generic-deriving)))
2705 (native-inputs
2706 `(("cabal-doctest" ,cabal-doctest)
2707 ("ghc-doctest" ,ghc-doctest)
2708 ("ghc-hspec" ,ghc-hspec)
2709 ("hspec-discover" ,hspec-discover)))
2710 (home-page "https://github.com/ekmett/distributive/")
2711 (synopsis "Distributive functors for Haskell")
2712 (description "This package provides distributive functors for Haskell.
2713Dual to @code{Traversable}.")
2714 (license license:bsd-3)))
2715
2716(define-public ghc-dlist
2717 (package
2718 (name "ghc-dlist")
197ddf33 2719 (version "0.8.0.7")
dddbc90c
RV
2720 (source
2721 (origin
2722 (method url-fetch)
2723 (uri (string-append
2724 "https://hackage.haskell.org/package/dlist/dlist-"
2725 version
2726 ".tar.gz"))
2727 (sha256
197ddf33 2728 (base32 "0b5spkzvj2kx8pk86xz0djkxs13j7dryf5fl16dk4mlp1wh6mh53"))))
dddbc90c
RV
2729 (build-system haskell-build-system)
2730 (inputs
2731 `(("ghc-quickcheck" ,ghc-quickcheck)))
2732 (home-page "https://github.com/spl/dlist")
2733 (synopsis "Difference lists")
2734 (description
2735 "Difference lists are a list-like type supporting O(1) append. This is
2736particularly useful for efficient logging and pretty printing (e.g. with the
2737Writer monad), where list append quickly becomes too expensive.")
2738 (license license:bsd-3)))
2739
2740(define-public ghc-doctemplates
2741 (package
2742 (name "ghc-doctemplates")
2743 (version "0.2.2.1")
2744 (source
2745 (origin
2746 (method url-fetch)
2747 (uri (string-append "https://hackage.haskell.org/package/"
2748 "doctemplates/doctemplates-"
2749 version ".tar.gz"))
2750 (sha256
2751 (base32
2752 "1gyckfg3kgvzhxw14i7iwrw0crygvsp86sy53bbr1yn7bxbgn33b"))))
2753 (build-system haskell-build-system)
2754 (inputs
2755 `(("ghc-aeson" ,ghc-aeson)
2756 ("ghc-blaze-markup" ,ghc-blaze-markup)
2757 ("ghc-blaze-html" ,ghc-blaze-html)
2758 ("ghc-vector" ,ghc-vector)
2759 ("ghc-unordered-containers" ,ghc-unordered-containers)
2760 ("ghc-scientific" ,ghc-scientific)))
2761 (native-inputs
2762 `(("ghc-hspec" ,ghc-hspec)))
2763 (home-page "https://github.com/jgm/doctemplates#readme")
2764 (synopsis "Pandoc-style document templates")
2765 (description
2766 "This package provides a simple text templating system used by pandoc.")
2767 (license license:bsd-3)))
2768
2769(define-public ghc-doctest
2770 (package
2771 (name "ghc-doctest")
19c14a0f 2772 (version "0.16.2")
dddbc90c
RV
2773 (source
2774 (origin
2775 (method url-fetch)
2776 (uri (string-append
2777 "https://hackage.haskell.org/package/doctest/doctest-"
2778 version
2779 ".tar.gz"))
2780 (sha256
2781 (base32
19c14a0f 2782 "0lk4cjfzi5bx2snfzw1zi06li0gvgz3ckfh2kwa98l7nxfdl39ag"))))
dddbc90c
RV
2783 (build-system haskell-build-system)
2784 (arguments `(#:tests? #f)) ; FIXME: missing test framework
2785 (inputs
2786 `(("ghc-syb" ,ghc-syb)
2787 ("ghc-paths" ,ghc-paths)
2788 ("ghc-base-compat" ,ghc-base-compat)
2789 ("ghc-code-page" ,ghc-code-page)
2790 ("ghc-hunit" ,ghc-hunit)
2791 ("ghc-hspec" ,ghc-hspec)
2792 ("ghc-quickcheck" ,ghc-quickcheck)
2793 ("ghc-stringbuilder" ,ghc-stringbuilder)
2794 ("ghc-silently" ,ghc-silently)
2795 ("ghc-setenv" ,ghc-setenv)))
2796 (home-page
2797 "https://github.com/sol/doctest#readme")
2798 (synopsis "Test interactive Haskell examples")
2799 (description "The doctest program checks examples in source code comments.
2800It is modeled after doctest for Python, see
2801@uref{https://docs.python.org/library/doctest.html, the Doctest website}.")
2802 (license license:expat)))
2803
2804(define-public ghc-double-conversion
2805 (package
2806 (name "ghc-double-conversion")
2807 (version "2.0.2.0")
2808 (source
2809 (origin
2810 (method url-fetch)
2811 (uri (string-append "https://hackage.haskell.org/package/"
2812 "double-conversion/double-conversion-"
2813 version ".tar.gz"))
2814 (sha256
2815 (base32
2816 "0sx2kc1gw72mjvd8vph8bbjw5whfxfv92rsdhjg1c0al75rf3ka4"))))
2817 (build-system haskell-build-system)
2818 (native-inputs
2819 `(("ghc-hunit" ,ghc-hunit)
2820 ("ghc-test-framework" ,ghc-test-framework)
2821 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
2822 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2823 (home-page "https://github.com/bos/double-conversion")
2824 (synopsis "Fast conversion between double precision floating point and text")
2825 (description
2826 "This package provides a library that performs fast, accurate conversion
2827between double precision floating point and text.")
2828 (license license:bsd-3)))
2829
2830(define-public ghc-easy-file
2831 (package
2832 (name "ghc-easy-file")
2833 (version "0.2.2")
2834 (source
2835 (origin
2836 (method url-fetch)
2837 (uri (string-append
2838 "https://hackage.haskell.org/package/easy-file/easy-file-"
2839 version
2840 ".tar.gz"))
2841 (sha256
2842 (base32
2843 "0zmlcz723051qpn8l8vi51c5rx1blwrw4094jcshkmj8p9r2xxaj"))))
2844 (build-system haskell-build-system)
2845 (home-page
2846 "https://github.com/kazu-yamamoto/easy-file")
2847 (synopsis "File handling library for Haskell")
2848 (description "This library provides file handling utilities for Haskell.")
2849 (license license:bsd-3)))
2850
2851(define-public ghc-easyplot
2852 (package
2853 (name "ghc-easyplot")
2854 (version "1.0")
2855 (source
2856 (origin
2857 (method url-fetch)
2858 (uri (string-append
2859 "https://hackage.haskell.org/package/easyplot/easyplot-"
2860 version ".tar.gz"))
2861 (sha256
2862 (base32 "18kndgvdj2apjpfga6fp7m16y1gx8zrwp3c5vfj03sx4v6jvciqk"))))
2863 (build-system haskell-build-system)
2864 (propagated-inputs `(("gnuplot" ,gnuplot)))
2865 (arguments
2866 `(#:phases (modify-phases %standard-phases
2867 (add-after 'unpack 'fix-setup-suffix
2868 (lambda _ (rename-file "Setup.lhs" "Setup.hs") #t)))))
2869 (home-page "https://hub.darcs.net/scravy/easyplot")
2870 (synopsis "Haskell plotting library based on gnuplot")
2871 (description "This package provides a plotting library for
2872Haskell, using gnuplot for rendering.")
2873 (license license:expat)))
2874
2875(define-public ghc-echo
2876 (package
2877 (name "ghc-echo")
2878 (version "0.1.3")
2879 (source
2880 (origin
2881 (method url-fetch)
2882 (uri (string-append
2883 "https://hackage.haskell.org/package/echo/echo-"
2884 version ".tar.gz"))
2885 (sha256
2886 (base32
2887 "1vw5ykpwhr39wc0hhcgq3r8dh59zq6ib4zxbz1qd2wl21wqhfkvh"))))
2888 (build-system haskell-build-system)
2889 (arguments
2890 `(#:cabal-revision
2891 ("1" "0br8wfiybcw5hand4imiw0i5hacdmrax1dv8g95f35gazffbx42l")))
2892 (home-page "https://github.com/RyanGlScott/echo")
2893 (synopsis "Echo terminal input portably")
2894 (description "The @code{base} library exposes the @code{hGetEcho} and
2895@code{hSetEcho} functions for querying and setting echo status, but
2896unfortunately, neither function works with MinTTY consoles on Windows.
2897This library provides an alternative interface which works with both
2898MinTTY and other consoles.")
2899 (license license:bsd-3)))
2900
2901(define-public ghc-edisonapi
2902 (package
2903 (name "ghc-edisonapi")
2904 (version "1.3.1")
2905 (source
2906 (origin
2907 (method url-fetch)
2908 (uri (string-append "https://hackage.haskell.org/package/EdisonAPI"
2909 "/EdisonAPI-" version ".tar.gz"))
2910 (sha256
2911 (base32 "0vmmlsj8ggbpwx6fkf5fvb6jp0zpx6iba6b28m80lllr2p8bi8wm"))))
2912 (build-system haskell-build-system)
2913 (home-page "http://rwd.rdockins.name/edison/home/")
2914 (synopsis "Library of efficient, purely-functional data structures (API)")
2915 (description
2916 "Edison is a library of purely functional data structures written by
2917Chris Okasaki. It is named after Thomas Alva Edison and for the mnemonic
2918value EDiSon (Efficient Data Structures). Edison provides several families of
2919abstractions, each with multiple implementations. The main abstractions
2920provided by Edison are: Sequences such as stacks, queues, and dequeues;
2921Collections such as sets, bags and heaps; and Associative Collections such as
2922finite maps and priority queues where the priority and element are distinct.")
2923 (license license:expat)))
2924
2925(define-public ghc-edisoncore
2926 (package
2927 (name "ghc-edisoncore")
2928 (version "1.3.2.1")
2929 (source
2930 (origin
2931 (method url-fetch)
2932 (uri (string-append "https://hackage.haskell.org/package/EdisonCore"
2933 "/EdisonCore-" version ".tar.gz"))
2934 (sha256
2935 (base32 "0fgj5iwiv3v2gdgx7kjcr15dcs4x1kvmjspp3p99wyhh0x6h3ikk"))))
2936 (build-system haskell-build-system)
2937 (inputs
2938 `(("ghc-quickcheck" ,ghc-quickcheck)
2939 ("ghc-edisonapi" ,ghc-edisonapi)))
2940 (home-page "http://rwd.rdockins.name/edison/home/")
2941 (synopsis "Library of efficient, purely-functional data structures")
2942 (description
2943 "This package provides the core Edison data structure implementations,
2944including multiple sequence, set, bag, and finite map concrete implementations
2945with various performance characteristics.")
2946 (license license:expat)))
2947
2948(define-public ghc-edit-distance
2949 (package
2950 (name "ghc-edit-distance")
2951 (version "0.2.2.1")
2952 (source
2953 (origin
2954 (method url-fetch)
2955 (uri (string-append "https://hackage.haskell.org/package/edit-distance"
2956 "/edit-distance-" version ".tar.gz"))
2957 (sha256
2958 (base32 "0jkca97zyv23yyilp3jydcrzxqhyk27swhzh82llvban5zp8b21y"))))
2959 (build-system haskell-build-system)
2960 (arguments
2961 `(#:phases
2962 (modify-phases %standard-phases
2963 (add-before 'configure 'update-constraints
2964 (lambda _
2965 (substitute* "edit-distance.cabal"
2966 (("QuickCheck >= 2\\.4 && <2\\.9")
2967 "QuickCheck >= 2.4 && < 2.12")))))))
2968 (inputs
2969 `(("ghc-random" ,ghc-random)
2970 ("ghc-test-framework" ,ghc-test-framework)
2971 ("ghc-quickcheck" ,ghc-quickcheck)
2972 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2973 (home-page "https://github.com/phadej/edit-distance")
2974 (synopsis "Levenshtein and restricted Damerau-Levenshtein edit distances")
2975 (description
2976 "This package provides optimized functions to determine the edit
2977distances for fuzzy matching, including Levenshtein and restricted
2978Damerau-Levenshtein algorithms.")
2979 (license license:bsd-3)))
2980
2981(define-public ghc-either
2982 (package
2983 (name "ghc-either")
a3fd4dc7 2984 (version "5.0.1.1")
dddbc90c
RV
2985 (source
2986 (origin
2987 (method url-fetch)
2988 (uri (string-append "https://hackage.haskell.org/package/"
2989 "either-" version "/"
2990 "either-" version ".tar.gz"))
2991 (sha256
2992 (base32
a3fd4dc7 2993 "09yzki8ss56xhy9vggdw1rls86b2kf55hjl5wi0vbv02d8fxahq2"))))
dddbc90c
RV
2994 (build-system haskell-build-system)
2995 (inputs `(("ghc-bifunctors" ,ghc-bifunctors)
2996 ("ghc-exceptions" ,ghc-exceptions)
2997 ("ghc-free" ,ghc-free)
2998 ("ghc-monad-control" ,ghc-monad-control)
2999 ("ghc-manodrandom" ,ghc-monadrandom)
3000 ("ghc-mmorph" ,ghc-mmorph)
3001 ("ghc-profunctors" ,ghc-profunctors)
3002 ("ghc-semigroups" ,ghc-semigroups)
3003 ("ghc-semigroupoids" ,ghc-semigroupoids)
3004 ("ghc-transformers-base" ,ghc-transformers-base)))
3005 (native-inputs
3006 `(("ghc-quickcheck" ,ghc-quickcheck)
3007 ("ghc-test-framework" ,ghc-test-framework)
3008 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3009 (home-page "https://github.com/ekmett/either")
3010 (synopsis "Provides an either monad transformer for Haskell")
3011 (description "This Haskell package provides an either monad transformer.")
3012 (license license:bsd-3)))
3013
3014(define-public ghc-email-validate
3015 (package
3016 (name "ghc-email-validate")
a4fe1c64 3017 (version "2.3.2.12")
dddbc90c
RV
3018 (source
3019 (origin
3020 (method url-fetch)
3021 (uri (string-append
3022 "https://hackage.haskell.org/package/"
3023 "email-validate/email-validate-"
3024 version
3025 ".tar.gz"))
3026 (sha256
3027 (base32
a4fe1c64 3028 "0ar3cfjia3x11chb7w60mi7hp5djanms883ddk875l6lifr2lyqf"))))
dddbc90c
RV
3029 (build-system haskell-build-system)
3030 (inputs
3031 `(("ghc-attoparsec" ,ghc-attoparsec)
3032 ("ghc-hspec" ,ghc-hspec)
3033 ("ghc-quickcheck" ,ghc-quickcheck)
3034 ("ghc-doctest" ,ghc-doctest)))
3035 (home-page
3036 "https://github.com/Porges/email-validate-hs")
3037 (synopsis "Email address validator for Haskell")
3038 (description
3039 "This Haskell package provides a validator that can validate an email
3040address string against RFC 5322.")
3041 (license license:bsd-3)))
3042
3043(define-public ghc-enclosed-exceptions
3044 (package
3045 (name "ghc-enclosed-exceptions")
3046 (version "1.0.3")
3047 (source (origin
3048 (method url-fetch)
3049 (uri (string-append "https://hackage.haskell.org/package/"
3050 "enclosed-exceptions/enclosed-exceptions-"
3051 version ".tar.gz"))
3052 (sha256
3053 (base32
3054 "1fghjj7nkiddrf03ks8brjpr5x25yi9fs7xg6adbi4mc2gqr6vdg"))))
3055 (build-system haskell-build-system)
3056 ;; FIXME: one of the tests blocks forever:
3057 ;; "thread blocked indefinitely in an MVar operation"
3058 (arguments '(#:tests? #f))
3059 (inputs
3060 `(("ghc-lifted-base" ,ghc-lifted-base)
3061 ("ghc-monad-control" ,ghc-monad-control)
3062 ("ghc-async" ,ghc-async)
3063 ("ghc-transformers-base" ,ghc-transformers-base)))
3064 (native-inputs
3065 `(("ghc-hspec" ,ghc-hspec)
3066 ("ghc-quickcheck" ,ghc-quickcheck)))
3067 (home-page "https://github.com/jcristovao/enclosed-exceptions")
3068 (synopsis "Catch all exceptions from within an enclosed computation")
3069 (description
3070 "This library implements a technique to catch all exceptions raised
3071within an enclosed computation, while remaining responsive to (external)
3072asynchronous exceptions.")
3073 (license license:expat)))
3074
3075(define-public ghc-equivalence
3076 (package
3077 (name "ghc-equivalence")
3078 (version "0.3.2")
3079 (source
3080 (origin
3081 (method url-fetch)
3082 (uri (string-append "https://hackage.haskell.org/package/equivalence"
3083 "/equivalence-" version ".tar.gz"))
3084 (sha256
3085 (base32 "0a85bdyyvjqs5z4kfhhf758210k9gi9dv42ik66a3jl0z7aix8kx"))))
3086 (build-system haskell-build-system)
3087 (inputs
3088 `(("ghc-stmonadtrans" ,ghc-stmonadtrans)
3089 ("ghc-transformers-compat" ,ghc-transformers-compat)
3090 ("ghc-quickcheck" ,ghc-quickcheck)
3091 ("ghc-test-framework" ,ghc-test-framework)
3092 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3093 (home-page "https://github.com/pa-ba/equivalence")
3094 (synopsis "Maintaining an equivalence relation implemented as union-find")
3095 (description
3096 "This is an implementation of Tarjan's Union-Find algorithm (Robert E.@:
3097Tarjan. \"Efficiency of a Good But Not Linear Set Union Algorithm\",JACM
309822(2), 1975) in order to maintain an equivalence relation. This
3099implementation is a port of the @code{union-find} package using the @code{ST}
3100monad transformer (instead of the IO monad).")
3101 (license license:bsd-3)))
3102
3103(define-public ghc-erf
3104 (package
3105 (name "ghc-erf")
3106 (version "2.0.0.0")
3107 (source
3108 (origin
3109 (method url-fetch)
3110 (uri (string-append "https://hackage.haskell.org/package/"
3111 "erf-" version "/"
3112 "erf-" version ".tar.gz"))
3113 (sha256
3114 (base32
3115 "0dxk2r32ajmmc05vaxcp0yw6vgv4lkbmh8jcshncn98xgsfbgw14"))))
3116 (build-system haskell-build-system)
3117 (home-page "https://hackage.haskell.org/package/erf")
3118 (synopsis "The error function, erf, and related functions for Haskell")
3119 (description "This Haskell library provides a type class for the
3120error function, erf, and related functions. Instances for Float and
3121Double.")
3122 (license license:bsd-3)))
3123
3124(define-public ghc-errorcall-eq-instance
3125 (package
3126 (name "ghc-errorcall-eq-instance")
3127 (version "0.3.0")
3128 (source
3129 (origin
3130 (method url-fetch)
3131 (uri (string-append "https://hackage.haskell.org/package/"
3132 "errorcall-eq-instance/errorcall-eq-instance-"
3133 version ".tar.gz"))
3134 (sha256
3135 (base32
3136 "0hqw82m8bbrxy5vgdwb83bhzdx070ibqrm9rshyja7cb808ahijm"))))
3137 (build-system haskell-build-system)
3138 (inputs
3139 `(("ghc-base-orphans" ,ghc-base-orphans)))
3140 (native-inputs
3141 `(("ghc-quickcheck" ,ghc-quickcheck)
3142 ("ghc-hspec" ,ghc-hspec)
3143 ("hspec-discover" ,hspec-discover)))
3144 (home-page "http://hackage.haskell.org/package/errorcall-eq-instance")
3145 (synopsis "Orphan Eq instance for ErrorCall")
3146 (description
3147 "Prior to @code{base-4.7.0.0} there was no @code{Eq} instance for @code{ErrorCall}.
3148This package provides an orphan instance.")
3149 (license license:expat)))
3150
3151(define-public ghc-errors
3152 (package
3153 (name "ghc-errors")
3154 (version "2.3.0")
3155 (source
3156 (origin
3157 (method url-fetch)
3158 (uri (string-append "https://hackage.haskell.org/package/"
3159 "errors-" version "/"
3160 "errors-" version ".tar.gz"))
3161 (sha256
3162 (base32
3163 "0x8znwn31qcx6kqx99wp7bc86kckfb39ncz3zxvj1s07kxlfawk7"))))
3164 (build-system haskell-build-system)
3165 (inputs
3166 `(("ghc-exceptions" ,ghc-exceptions)
3167 ("ghc-transformers-compat" ,ghc-transformers-compat)
3168 ("ghc-unexceptionalio" ,ghc-unexceptionalio)
3169 ("ghc-safe" ,ghc-safe)))
3170 (home-page "https://github.com/gabriel439/haskell-errors-library")
3171 (synopsis "Error handling library for Haskell")
3172 (description "This library encourages an error-handling style that
3173directly uses the type system, rather than out-of-band exceptions.")
3174 (license license:bsd-3)))
3175
3176(define-public ghc-esqueleto
3177 (let ((version "2.5.3")
3178 (revision "1")
3179 (commit "b81e0d951e510ebffca03c5a58658ad884cc6fbd"))
3180 (package
3181 (name "ghc-esqueleto")
3182 (version (git-version version revision commit))
3183 (source
3184 (origin
3185 (method git-fetch)
3186 (uri (git-reference
3187 (url "https://github.com/bitemyapp/esqueleto")
3188 (commit commit)))
3189 (file-name (git-file-name name version))
3190 (sha256
3191 (base32
3192 "0lz1qxms7cfg5p3j37inlych0r2fwhm8xbarcys3df9m7jy9nixa"))))
3193 (build-system haskell-build-system)
3194 (arguments
3195 `(#:haddock? #f ; Haddock reports an internal error.
3196 #:phases
3197 (modify-phases %standard-phases
3198 ;; This package normally runs tests for the MySQL, PostgreSQL, and
3199 ;; SQLite backends. Since we only have Haskell packages for
3200 ;; SQLite, we remove the other two test suites. FIXME: Add the
3201 ;; other backends and run all three test suites.
3202 (add-before 'configure 'remove-non-sqlite-test-suites
3203 (lambda _
3204 (use-modules (ice-9 rdelim))
3205 (with-atomic-file-replacement "esqueleto.cabal"
3206 (lambda (in out)
3207 (let loop ((line (read-line in 'concat)) (deleting? #f))
3208 (cond
3209 ((eof-object? line) #t)
3210 ((string-every char-set:whitespace line)
3211 (unless deleting? (display line out))
3212 (loop (read-line in 'concat) #f))
3213 ((member line '("test-suite mysql\n"
3214 "test-suite postgresql\n"))
3215 (loop (read-line in 'concat) #t))
3216 (else
3217 (unless deleting? (display line out))
3218 (loop (read-line in 'concat) deleting?)))))))))))
3219 (inputs
3220 `(("ghc-blaze-html" ,ghc-blaze-html)
3221 ("ghc-conduit" ,ghc-conduit)
3222 ("ghc-monad-logger" ,ghc-monad-logger)
3223 ("ghc-persistent" ,ghc-persistent)
3224 ("ghc-resourcet" ,ghc-resourcet)
3225 ("ghc-tagged" ,ghc-tagged)
3226 ("ghc-unliftio" ,ghc-unliftio)
3227 ("ghc-unordered-containers" ,ghc-unordered-containers)))
3228 (native-inputs
3229 `(("ghc-hspec" ,ghc-hspec)
3230 ("ghc-persistent-sqlite" ,ghc-persistent-sqlite)
3231 ("ghc-persistent-template" ,ghc-persistent-template)))
3232 (home-page "https://github.com/bitemyapp/esqueleto")
3233 (synopsis "Type-safe embedded domain specific language for SQL queries")
3234 (description "This library provides a type-safe embedded domain specific
3235language (EDSL) for SQL queries that works with SQL backends as provided by
3236@code{ghc-persistent}. Its language closely resembles SQL, so you don't have
3237to learn new concepts, just new syntax, and it's fairly easy to predict the
3238generated SQL and optimize it for your backend.")
3239 (license license:bsd-3))))
3240
3241(define-public ghc-exactprint
3242 (package
3243 (name "ghc-exactprint")
50614014 3244 (version "0.6.1")
dddbc90c
RV
3245 (source
3246 (origin
3247 (method url-fetch)
3248 (uri (string-append
3249 "https://hackage.haskell.org/package/"
3250 "ghc-exactprint/ghc-exactprint-" version ".tar.gz"))
3251 (sha256
3252 (base32
50614014 3253 "12nqpqmi9c57a3hgpfy8q073zryz66ylmcvf29hyffpj7vmmnvhl"))))
dddbc90c
RV
3254 (build-system haskell-build-system)
3255 (inputs
3256 `(("ghc-paths" ,ghc-paths)
3257 ("ghc-syb" ,ghc-syb)
3258 ("ghc-free" ,ghc-free)))
3259 (native-inputs
3260 `(("ghc-hunit" ,ghc-hunit)
3261 ("ghc-diff" ,ghc-diff)
3262 ("ghc-silently" ,ghc-silently)
3263 ("ghc-filemanip" ,ghc-filemanip)))
3264 (home-page
3265 "http://hackage.haskell.org/package/ghc-exactprint")
3266 (synopsis "ExactPrint for GHC")
3267 (description
3268 "Using the API Annotations available from GHC 7.10.2, this library
3269provides a means to round-trip any code that can be compiled by GHC, currently
3270excluding @file{.lhs} files.")
3271 (license license:bsd-3)))
3272
3273(define-public ghc-exceptions
3274 (package
3275 (name "ghc-exceptions")
46d3e65b 3276 (version "0.10.3")
dddbc90c
RV
3277 (source
3278 (origin
3279 (method url-fetch)
3280 (uri (string-append
3281 "https://hackage.haskell.org/package/exceptions/exceptions-"
3282 version
3283 ".tar.gz"))
3284 (sha256
3285 (base32
46d3e65b 3286 "1w25j4ys5s6v239vbqlbipm9fdwxl1j2ap2lzms7f7rgnik5ir24"))))
dddbc90c
RV
3287 (build-system haskell-build-system)
3288 (native-inputs
3289 `(("ghc-quickcheck" ,ghc-quickcheck)
3290 ("ghc-test-framework" ,ghc-test-framework)
3291 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3292 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3293 (inputs
3294 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
3295 (home-page "https://github.com/ekmett/exceptions/")
3296 (synopsis "Extensible optionally-pure exceptions")
3297 (description "This library provides extensible optionally-pure exceptions
3298for Haskell.")
3299 (license license:bsd-3)))
3300
3301(define-public ghc-executable-path
3302 (package
3303 (name "ghc-executable-path")
3304 (version "0.0.3.1")
3305 (source (origin
3306 (method url-fetch)
3307 (uri (string-append "https://hackage.haskell.org/package/"
3308 "executable-path/executable-path-"
3309 version ".tar.gz"))
3310 (sha256
3311 (base32
3312 "0vxwmnsvx13cawcyhbyljkds0l1vr996ijldycx7nj0asjv45iww"))))
3313 (build-system haskell-build-system)
3314 (home-page "https://hackage.haskell.org/package/executable-path")
3315 (synopsis "Find out the full path of the executable")
3316 (description
3317 "The documentation of @code{System.Environment.getProgName} says that
3318\"However, this is hard-to-impossible to implement on some non-Unix OSes, so
3319instead, for maximum portability, we just return the leafname of the program
3320as invoked.\" This library tries to provide the missing path.")
3321 (license license:public-domain)))
3322
3323(define-public ghc-extensible-exceptions
3324 (package
3325 (name "ghc-extensible-exceptions")
3326 (version "0.1.1.4")
3327 (source
3328 (origin
3329 (method url-fetch)
3330 (uri (string-append "https://hackage.haskell.org/package/"
3331 "extensible-exceptions/extensible-exceptions-"
3332 version ".tar.gz"))
3333 (sha256
3334 (base32 "1273nqws9ij1rp1bsq5jc7k2jxpqa0svawdbim05lf302y0firbc"))))
3335 (build-system haskell-build-system)
3336 (home-page "https://hackage.haskell.org/package/extensible-exceptions")
3337 (synopsis "Extensible exceptions for Haskell")
3338 (description
3339 "This package provides extensible exceptions for both new and old
3340versions of GHC (i.e., < 6.10).")
3341 (license license:bsd-3)))
3342
3343(define-public ghc-extra
3344 (package
3345 (name "ghc-extra")
10650c44 3346 (version "1.6.18")
dddbc90c
RV
3347 (source
3348 (origin
3349 (method url-fetch)
3350 (uri (string-append
3351 "https://hackage.haskell.org/package/extra/extra-"
3352 version
3353 ".tar.gz"))
3354 (sha256
3355 (base32
10650c44 3356 "0jvd4l0hi8pf5899pxc32yc638y0mrc357w0rph99k3hm277i0cy"))))
dddbc90c
RV
3357 (build-system haskell-build-system)
3358 (inputs
3359 `(("ghc-clock" ,ghc-clock)
10650c44 3360 ("ghc-semigroups" ,ghc-semigroups)
dddbc90c
RV
3361 ("ghc-quickcheck" ,ghc-quickcheck)))
3362 (home-page "https://github.com/ndmitchell/extra")
3363 (synopsis "Extra Haskell functions")
3364 (description "This library provides extra functions for the standard
3365Haskell libraries. Most functions are simple additions, filling out missing
3366functionality. A few functions are available in later versions of GHC, but
3367this package makes them available back to GHC 7.2.")
3368 (license license:bsd-3)))
3369
3370(define-public ghc-fail
3371 (package
3372 (name "ghc-fail")
3373 (version "4.9.0.0")
3374 (source
3375 (origin
3376 (method url-fetch)
3377 (uri (string-append "https://hackage.haskell.org/package/fail/fail-"
3378 version ".tar.gz"))
3379 (sha256
3380 (base32 "18nlj6xvnggy61gwbyrpmvbdkq928wv0wx2zcsljb52kbhddnp3d"))))
3381 (build-system haskell-build-system)
3382 (arguments `(#:haddock? #f)) ; Package contains no documentation.
3383 (home-page "https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail")
3384 (synopsis "Forward-compatible MonadFail class")
3385 (description
3386 "This package contains the @code{Control.Monad.Fail} module providing the
3387@uref{https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail, MonadFail}
3388class that became available in
3389@uref{https://hackage.haskell.org/package/base-4.9.0.0, base-4.9.0.0} for
3390older @code{base} package versions. This package turns into an empty package
3391when used with GHC versions which already provide the
3392@code{Control.Monad.Fail} module.")
3393 (license license:bsd-3)))
3394
3395(define-public ghc-fast-logger
3396 (package
3397 (name "ghc-fast-logger")
d443a52a 3398 (version "2.4.17")
dddbc90c
RV
3399 (source
3400 (origin
3401 (method url-fetch)
3402 (uri (string-append
3403 "https://hackage.haskell.org/package/fast-logger/fast-logger-"
3404 version
3405 ".tar.gz"))
3406 (sha256
3407 (base32
d443a52a 3408 "02mxb1ckvx1s2r2m11l5i2l5rdl7232p0f61af6773haykjp0qxk"))))
dddbc90c
RV
3409 (build-system haskell-build-system)
3410 (inputs
3411 `(("ghc-auto-update" ,ghc-auto-update)
3412 ("ghc-easy-file" ,ghc-easy-file)
d443a52a
TS
3413 ("ghc-unix-time" ,ghc-unix-time)
3414 ("ghc-unix-compat" ,ghc-unix-compat)))
dddbc90c
RV
3415 (native-inputs
3416 `(("hspec-discover" ,hspec-discover)
3417 ("ghc-hspec" ,ghc-hspec)))
3418 (home-page "https://hackage.haskell.org/package/fast-logger")
3419 (synopsis "Fast logging system")
3420 (description "This library provides a fast logging system for Haskell.")
3421 (license license:bsd-3)))
3422
3423(define-public ghc-feed
3424 (package
3425 (name "ghc-feed")
3426 (version "1.0.0.0")
3427 (source
3428 (origin
3429 (method url-fetch)
3430 (uri (string-append "https://hackage.haskell.org/package/"
3431 "feed/feed-" version ".tar.gz"))
3432 (sha256
3433 (base32
3434 "05rgg7x1984mgfhkmz792xj8lhwjgznixhygzr8blf517lns2nck"))))
3435 (build-system haskell-build-system)
3436 (arguments
3437 `(#:cabal-revision
3438 ("4" "0baavcavm3ywykcr9cm07aqr7sna98jba2n68lyn3kany8ri214d")))
3439 (inputs
3440 `(("ghc-base-compat" ,ghc-base-compat)
3441 ("ghc-old-locale" ,ghc-old-locale)
3442 ("ghc-old-time" ,ghc-old-time)
3443 ("ghc-safe" ,ghc-safe)
3444 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
3445 ("ghc-utf8-string" ,ghc-utf8-string)
3446 ("ghc-xml-conduit" ,ghc-xml-conduit)
3447 ("ghc-xml-types" ,ghc-xml-types)))
3448 (native-inputs
3449 `(("ghc-hunit" ,ghc-hunit)
3450 ("ghc-test-framework" ,ghc-test-framework)
3451 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
3452 (home-page "https://github.com/bergmark/feed")
3453 (synopsis "Haskell package for handling various syndication formats")
3454 (description "This Haskell package includes tools for generating and
3455consuming feeds in both RSS (Really Simple Syndication) and Atom format.")
3456 (license license:bsd-3)))
3457
3458(define-public ghc-fgl
3459 (package
3460 (name "ghc-fgl")
17482b26 3461 (version "5.7.0.1")
dddbc90c
RV
3462 (outputs '("out" "doc"))
3463 (source
3464 (origin
3465 (method url-fetch)
3466 (uri (string-append
3467 "https://hackage.haskell.org/package/fgl/fgl-"
3468 version
3469 ".tar.gz"))
3470 (sha256
3471 (base32
17482b26 3472 "04793yh778ck3kz1z2svnfdwwls2kisbnky4lzvf4zjfgpv7mkpz"))))
dddbc90c
RV
3473 (build-system haskell-build-system)
3474 (arguments
3475 `(#:phases
3476 (modify-phases %standard-phases
3477 (add-before 'configure 'update-constraints
3478 (lambda _
3479 (substitute* "fgl.cabal"
17482b26
TS
3480 (("QuickCheck >= 2\\.8 && < 2\\.13")
3481 "QuickCheck >= 2.8 && < 2.14")
3482 (("hspec >= 2\\.1 && < 2\\.7")
3483 "hspec >= 2.1 && < 2.8")))))))
dddbc90c
RV
3484 (inputs
3485 `(("ghc-hspec" ,ghc-hspec)
3486 ("ghc-quickcheck" ,ghc-quickcheck)))
3487 (home-page "https://web.engr.oregonstate.edu/~erwig/fgl/haskell")
3488 (synopsis
3489 "Martin Erwig's Functional Graph Library")
3490 (description "The functional graph library, FGL, is a collection of type
3491and function definitions to address graph problems. The basis of the library
3492is an inductive definition of graphs in the style of algebraic data types that
3493encourages inductive, recursive definitions of graph algorithms.")
3494 (license license:bsd-3)))
3495
3496(define-public ghc-fgl-arbitrary
3497 (package
3498 (name "ghc-fgl-arbitrary")
3499 (version "0.2.0.3")
3500 (source
3501 (origin
3502 (method url-fetch)
3503 (uri (string-append
3504 "https://hackage.haskell.org/package/fgl-arbitrary/fgl-arbitrary-"
3505 version ".tar.gz"))
3506 (sha256
3507 (base32
3508 "0ln1szgfy8fa78l3issq4fx3aqnnd54w3cb4wssrfi48vd5rkfjm"))))
3509 (build-system haskell-build-system)
3510 (arguments
3511 `(#:phases
3512 (modify-phases %standard-phases
3513 (add-before 'configure 'update-constraints
3514 (lambda _
3515 (substitute* "fgl-arbitrary.cabal"
3516 (("QuickCheck >= 2\\.3 && < 2\\.10")
4a0ffae5 3517 "QuickCheck >= 2.3 && < 2.14")
dddbc90c 3518 (("hspec >= 2\\.1 && < 2\\.5")
4a0ffae5 3519 "hspec >= 2.1 && < 2.8")))))))
dddbc90c
RV
3520 (inputs
3521 `(("ghc-fgl" ,ghc-fgl)
3522 ("ghc-quickcheck" ,ghc-quickcheck)
3523 ("ghc-hspec" ,ghc-hspec)))
3524 (home-page "https://hackage.haskell.org/package/fgl-arbitrary")
3525 (synopsis "QuickCheck support for fgl")
3526 (description
3527 "Provides Arbitrary instances for fgl graphs to avoid adding a
3528QuickCheck dependency for fgl whilst still making the instances
3529available to others. Also available are non-fgl-specific functions
3530for generating graph-like data structures.")
3531 (license license:bsd-3)))
3532
3533(define-public ghc-file-embed
3534 (package
3535 (name "ghc-file-embed")
b5920d50 3536 (version "0.0.11")
dddbc90c
RV
3537 (source
3538 (origin
3539 (method url-fetch)
3540 (uri (string-append "https://hackage.haskell.org/package/file-embed/"
3541 "file-embed-" version ".tar.gz"))
3542 (sha256
3543 (base32
b5920d50 3544 "0l6dkwccbzzyx8rcav03lya2334dgi3vfwk96h7l93l0fc4x19gf"))))
dddbc90c
RV
3545 (build-system haskell-build-system)
3546 (home-page "https://github.com/snoyberg/file-embed")
3547 (synopsis "Use Template Haskell to embed file contents directly")
3548 (description
3549 "This package allows you to use Template Haskell to read a file or all
3550the files in a directory, and turn them into @code{(path, bytestring)} pairs
3551embedded in your Haskell code.")
3552 (license license:bsd-3)))
3553
3554(define-public ghc-filemanip
3555 (package
3556 (name "ghc-filemanip")
3557 (version "0.3.6.3")
3558 (source (origin
3559 (method url-fetch)
3560 (uri (string-append "https://hackage.haskell.org/package/"
3561 "filemanip/filemanip-" version ".tar.gz"))
3562 (sha256
3563 (base32
3564 "0ilqr8jv41zxcj5qyicg29m8s30b9v70x6f9h2h2rw5ap8bxldl8"))))
3565 (build-system haskell-build-system)
3566 (inputs
3567 `(("ghc-unix-compat" ,ghc-unix-compat)))
3568 (home-page "https://github.com/bos/filemanip")
3569 (synopsis "File and directory manipulation for Haskell")
3570 (description
3571 "This package provides a Haskell library for working with files and
3572directories. It includes code for pattern matching, finding files, modifying
3573file contents, and more.")
3574 (license license:bsd-3)))
3575
3576(define-public ghc-findbin
3577 (package
3578 (name "ghc-findbin")
3579 (version "0.0.5")
3580 (source
3581 (origin
3582 (method url-fetch)
3583 (uri (string-append
3584 "https://hackage.haskell.org/package/FindBin/FindBin-"
3585 version ".tar.gz"))
3586 (sha256
3587 (base32
3588 "197xvn05yysmibm1p5wzxfa256lvpbknr5d1l2ws6g40w1kpk717"))))
3589 (build-system haskell-build-system)
3590 (home-page "https://github.com/audreyt/findbin")
3591 (synopsis "Get the absolute path of the running program")
3592 (description
3593 "This module locates the full directory of the running program, to allow
3594the use of paths relative to it. FindBin supports invocation of Haskell
3595programs via \"ghci\", via \"runhaskell/runghc\", as well as compiled as
3596an executable.")
3597 (license license:bsd-3)))
3598
3599(define-public ghc-fingertree
3600 (package
3601 (name "ghc-fingertree")
aac14fdc 3602 (version "0.1.4.2")
dddbc90c
RV
3603 (source
3604 (origin
3605 (method url-fetch)
3606 (uri (string-append
3607 "https://hackage.haskell.org/package/fingertree/fingertree-"
3608 version ".tar.gz"))
3609 (sha256
3610 (base32
aac14fdc 3611 "0zvandj8fysck7ygpn0dw5bhrhmj1s63i326nalxbfkh2ls4iacm"))))
dddbc90c
RV
3612 (build-system haskell-build-system)
3613 (native-inputs
3614 `(("ghc-hunit" ,ghc-hunit)
3615 ("ghc-quickcheck" ,ghc-quickcheck)
3616 ("ghc-test-framework" ,ghc-test-framework)
3617 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3618 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3619 (home-page "https://hackage.haskell.org/package/fingertree")
3620 (synopsis "Generic finger-tree structure")
3621 (description "This library provides finger trees, a general sequence
3622representation with arbitrary annotations, for use as a base for
3623implementations of various collection types. It includes examples, as
3624described in section 4 of Ralf Hinze and Ross Paterson, \"Finger trees: a
3625simple general-purpose data structure\".")
3626 (license license:bsd-3)))
3627
3628(define-public ghc-fixed
3629 (package
3630 (name "ghc-fixed")
099dda5b 3631 (version "0.3")
dddbc90c
RV
3632 (source
3633 (origin
3634 (method url-fetch)
3635 (uri (string-append "https://hackage.haskell.org/package/fixed/fixed-"
3636 version ".tar.gz"))
3637 (sha256
3638 (base32
099dda5b 3639 "10l2sh179xarb774q92cff2gkb20rsrlilfwp1fk61rzmz9yn64j"))))
dddbc90c
RV
3640 (build-system haskell-build-system)
3641 (home-page "https://github.com/ekmett/fixed")
3642 (synopsis "Signed 15.16 precision fixed point arithmetic")
3643 (description
3644 "This package provides functions for signed 15.16 precision fixed point
3645arithmetic.")
3646 (license license:bsd-3)))
3647
f169f713
JS
3648(define-public ghc-fmlist
3649 (package
3650 (name "ghc-fmlist")
fe9b83a6 3651 (version "0.9.3")
f169f713
JS
3652 (source
3653 (origin
3654 (method url-fetch)
3655 (uri
3656 (string-append
3657 "https://hackage.haskell.org/package/fmlist/fmlist-"
3658 version ".tar.gz"))
3659 (sha256
3660 (base32
fe9b83a6 3661 "1w9nhm2zybdx4c1lalkajwqr8wcs731lfjld2r8gknd7y96x8pwf"))))
f169f713
JS
3662 (build-system haskell-build-system)
3663 (home-page "https://github.com/sjoerdvisscher/fmlist")
3664 (synopsis "FoldMap lists")
3665 (description "FoldMap lists are lists represented by their
3666@code{foldMap} function. FoldMap lists have @math{O(1)} cons, snoc and
3667append, just like DLists, but other operations might have favorable
3668performance characteristics as well. These wild claims are still
3669completely unverified though.")
3670 (license license:bsd-3)))
3671
dddbc90c
RV
3672(define-public ghc-foldl
3673 (package
3674 (name "ghc-foldl")
26c4104f 3675 (version "1.4.5")
dddbc90c
RV
3676 (source
3677 (origin
3678 (method url-fetch)
3679 (uri (string-append "https://hackage.haskell.org/package/"
3680 "foldl-" version "/"
3681 "foldl-" version ".tar.gz"))
3682 (sha256
3683 (base32
26c4104f 3684 "19qjmzc7gaxfwgqbgy0kq4vhbxvh3qjnwsxnc7pzwws2if5bv80b"))))
dddbc90c
RV
3685 (build-system haskell-build-system)
3686 (inputs `(("ghc-mwc-randam" ,ghc-mwc-random)
3687 ("ghc-primitive" ,ghc-primitive)
3688 ("ghc-vector" ,ghc-vector)
3689 ("ghc-unordered-containers" ,ghc-unordered-containers)
3690 ("ghc-hashable" ,ghc-hashable)
3691 ("ghc-contravariant" ,ghc-contravariant)
3692 ("ghc-semigroups" ,ghc-semigroups)
3693 ("ghc-profunctors" ,ghc-profunctors)
3694 ("ghc-semigroupoids" ,ghc-semigroupoids)
3695 ("ghc-comonad" ,ghc-comonad)
3696 ("ghc-vector-builder" ,ghc-vector-builder)))
3697 (home-page "https://github.com/Gabriel439/Haskell-Foldl-Library")
3698 (synopsis "Composable, streaming, and efficient left folds for Haskell")
3699 (description "This Haskell library provides strict left folds that stream
3700in constant memory, and you can combine folds using @code{Applicative} style
3701to derive new folds. Derived folds still traverse the container just once
3702and are often as efficient as hand-written folds.")
3703 (license license:bsd-3)))
3704
3705(define-public ghc-foundation
3706 (package
3707 (name "ghc-foundation")
0a702df9 3708 (version "0.0.25")
dddbc90c
RV
3709 (source
3710 (origin
3711 (method url-fetch)
3712 (uri (string-append "https://hackage.haskell.org/package/"
3713 "foundation/foundation-" version ".tar.gz"))
3714 (sha256
3715 (base32
0a702df9 3716 "0q6kx57ygmznlpf8n499hid4x6mj3180paijx0a8dgi9hh7man61"))))
dddbc90c
RV
3717 (build-system haskell-build-system)
3718 (inputs `(("ghc-basement" ,ghc-basement)))
3719 (home-page "https://github.com/haskell-foundation/foundation")
3720 (synopsis "Alternative prelude with batteries and no dependencies")
3721 (description
3722 "This package provides a custom prelude with no dependencies apart from
3723the base package.
3724
3725Foundation has the following goals:
3726
3727@enumerate
3728@item provide a base like sets of modules that provide a consistent set of
3729 features and bugfixes across multiple versions of GHC (unlike base).
3730@item provide a better and more efficient prelude than base's prelude.
3731@item be self-sufficient: no external dependencies apart from base;
3732@item provide better data-types: packed unicode string by default, arrays;
3733@item Numerical classes that better represent mathematical things (no more
3734 all-in-one @code{Num});
3735@item I/O system with less lazy IO.
3736@end enumerate\n")
3737 (license license:bsd-3)))
3738
3739(define-public ghc-free
3740 (package
3741 (name "ghc-free")
4081565d 3742 (version "5.1.2")
dddbc90c
RV
3743 (source
3744 (origin
3745 (method url-fetch)
3746 (uri (string-append
3747 "https://hackage.haskell.org/package/free/free-"
3748 version
3749 ".tar.gz"))
3750 (sha256
3751 (base32
4081565d 3752 "0vlf3f2ckl3cr7z2zl8c9c8qkdlfgvmh04gxkp2fg0z9dz80nlyb"))))
dddbc90c
RV
3753 (build-system haskell-build-system)
3754 (inputs
3755 `(("ghc-prelude-extras" ,ghc-prelude-extras)
3756 ("ghc-profunctors" ,ghc-profunctors)
3757 ("ghc-exceptions" ,ghc-exceptions)
3758 ("ghc-bifunctors" ,ghc-bifunctors)
3759 ("ghc-comonad" ,ghc-comonad)
3760 ("ghc-distributive" ,ghc-distributive)
3761 ("ghc-semigroupoids" ,ghc-semigroupoids)
3762 ("ghc-semigroups" ,ghc-semigroups)
3763 ("ghc-transformers-base" ,ghc-transformers-base)
3764 ("ghc-transformers-compat" ,ghc-transformers-compat)))
3765 (home-page "https://github.com/ekmett/free/")
3766 (synopsis "Unrestricted monads for Haskell")
3767 (description "This library provides free monads, which are useful for many
3768tree-like structures and domain specific languages. If @code{f} is a
3769@code{Functor} then the free @code{Monad} on @code{f} is the type of trees
3770whose nodes are labeled with the constructors of @code{f}. The word \"free\"
3771is used in the sense of \"unrestricted\" rather than \"zero-cost\": @code{Free
3772f} makes no constraining assumptions beyond those given by @code{f} and the
3773definition of @code{Monad}.")
3774 (license license:bsd-3)))
3775
3776(define-public ghc-fsnotify
3777 (package
3778 (name "ghc-fsnotify")
3779 (version "0.3.0.1")
3780 (source (origin
3781 (method url-fetch)
3782 (uri (string-append
3783 "https://hackage.haskell.org/package/fsnotify/"
3784 "fsnotify-" version ".tar.gz"))
3785 (sha256
3786 (base32
3787 "19bdbz9wb9jvln6yg6qm0hz0w84bypvkxf0wjhgrgd52f9gidlny"))))
3788 (build-system haskell-build-system)
3789 (inputs
3790 `(("ghc-async" ,ghc-async)
3791 ("ghc-unix-compat" ,ghc-unix-compat)
3792 ("ghc-hinotify" ,ghc-hinotify)
3793 ("ghc-tasty" ,ghc-tasty)
3794 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
3795 ("ghc-random" ,ghc-random)
3796 ("ghc-shelly" ,ghc-shelly)
3797 ("ghc-temporary" ,ghc-temporary)))
3798 (home-page "https://github.com/haskell-fswatch/hfsnotify")
3799 (synopsis "Cross platform library for file change notification.")
3800 (description "Cross platform library for file creation, modification, and
3801deletion notification. This library builds upon existing libraries for platform
3802specific Windows, Mac, and Linux file system event notification.")
3803 (license license:bsd-3)))
3804
3805(define-public ghc-generic-deriving
3806 (package
3807 (name "ghc-generic-deriving")
55c1e6be 3808 (version "1.12.4")
dddbc90c
RV
3809 (source
3810 (origin
3811 (method url-fetch)
3812 (uri (string-append
3813 "https://hackage.haskell.org/package/generic-deriving/generic-deriving-"
3814 version
3815 ".tar.gz"))
3816 (sha256
3817 (base32
55c1e6be 3818 "0vdg9qdq35jl3m11a87wk8cq1y71qm4i1g1b2pxki0wk70yw20a4"))))
dddbc90c
RV
3819 (build-system haskell-build-system)
3820 (inputs
3821 `(("ghc-th-abstraction" ,ghc-th-abstraction)))
3822 (native-inputs
3823 `(("ghc-hspec" ,ghc-hspec)
3824 ("hspec-discover" ,hspec-discover)))
3825 (home-page "https://hackage.haskell.org/package/generic-deriving")
3826 (synopsis "Generalise the deriving mechanism to arbitrary classes")
3827 (description "This package provides functionality for generalising the
3828deriving mechanism in Haskell to arbitrary classes.")
3829 (license license:bsd-3)))
3830
3831(define-public ghc-generics-sop
3832 (package
3833 (name "ghc-generics-sop")
3ed40e10 3834 (version "0.4.0.1")
dddbc90c
RV
3835 (source
3836 (origin
3837 (method url-fetch)
3838 (uri (string-append "https://hackage.haskell.org/package/"
3839 "generics-sop-" version "/"
3840 "generics-sop-" version ".tar.gz"))
3841 (sha256
3842 (base32
3ed40e10 3843 "160knr2phnzh2gldfv954lz029jzc7y8kz5xpmbf4z3vb5ngm6fw"))))
dddbc90c 3844 (build-system haskell-build-system)
3ed40e10
TS
3845 (inputs
3846 `(("ghc-sop-core" ,ghc-sop-core)
3847 ("ghc-transformers-compat" ,ghc-transformers-compat)))
dddbc90c
RV
3848 (home-page "https://github.com/well-typed/generics-sop")
3849 (synopsis "Generic Programming using True Sums of Products for Haskell")
3850 (description "This Haskell package supports the definition of generic
3851functions. Datatypes are viewed in a uniform, structured way: the choice
3852between constructors is represented using an n-ary sum, and the arguments of
3853each constructor are represented using an n-ary product.")
3854 (license license:bsd-3)))
3855
3856(define-public ghc-geniplate-mirror
3857 (package
3858 (name "ghc-geniplate-mirror")
3859 (version "0.7.6")
3860 (source
3861 (origin
3862 (method url-fetch)
3863 (uri (string-append "https://hackage.haskell.org/package"
3864 "/geniplate-mirror"
3865 "/geniplate-mirror-" version ".tar.gz"))
3866 (sha256
3867 (base32 "1y0m0bw5zpm1y1y6d9qmxj3swl8j8hlw1shxbr5awycf6k884ssb"))))
3868 (build-system haskell-build-system)
3869 (home-page "https://github.com/danr/geniplate")
3870 (synopsis "Use Template Haskell to generate Uniplate-like functions")
3871 (description
3872 "Use Template Haskell to generate Uniplate-like functions. This is a
3873maintained mirror of the @uref{https://hackage.haskell.org/package/geniplate,
3874geniplate} package, written by Lennart Augustsson.")
3875 (license license:bsd-3)))
3876
3877(define-public ghc-genvalidity
3878 (package
3879 (name "ghc-genvalidity")
920f44a1 3880 (version "0.8.0.0")
dddbc90c
RV
3881 (source
3882 (origin
3883 (method url-fetch)
3884 (uri (string-append
3885 "https://hackage.haskell.org/package/genvalidity/genvalidity-"
3886 version
3887 ".tar.gz"))
3888 (sha256
3889 (base32
920f44a1 3890 "0w38aq9hfyymidncgkrs6yvja7j573d9sap5qfg5rz910fhsij9a"))))
dddbc90c
RV
3891 (build-system haskell-build-system)
3892 (inputs
3893 `(("ghc-quickcheck" ,ghc-quickcheck)
3894 ("ghc-validity" ,ghc-validity)))
3895 (native-inputs
3896 `(("ghc-hspec" ,ghc-hspec)
3897 ("hspec-discover" ,hspec-discover)
3898 ("ghc-hspec-core" ,ghc-hspec-core)))
3899 (home-page
3900 "https://github.com/NorfairKing/validity")
3901 (synopsis
3902 "Testing utilities for the @code{validity} library")
3903 (description
3904 "This package provides testing utilities that are useful in conjunction
3905with the @code{Validity} typeclass.")
3906 (license license:expat)))
3907
3908(define-public ghc-genvalidity-property
3909 (package
3910 (name "ghc-genvalidity-property")
e4ede35b 3911 (version "0.4.0.0")
dddbc90c
RV
3912 (source
3913 (origin
3914 (method url-fetch)
3915 (uri (string-append
3916 "https://hackage.haskell.org/package/"
3917 "genvalidity-property/genvalidity-property-"
3918 version
3919 ".tar.gz"))
3920 (sha256
3921 (base32
e4ede35b 3922 "0zayycx62226w54rvkxwhvqhznsr33dk3ds55yyqrfqbnhvph1s9"))))
dddbc90c
RV
3923 (build-system haskell-build-system)
3924 (inputs
3925 `(("ghc-quickcheck" ,ghc-quickcheck)
3926 ("ghc-genvalidity" ,ghc-genvalidity)
3927 ("ghc-hspec" ,ghc-hspec)
3928 ("hspec-discover" ,hspec-discover)
3929 ("ghc-validity" ,ghc-validity)))
3930 (native-inputs `(("ghc-doctest" ,ghc-doctest)))
3931 (home-page
3932 "https://github.com/NorfairKing/validity")
3933 (synopsis
3934 "Standard properties for functions on @code{Validity} types")
3935 (description
3936 "This package supplements the @code{Validity} typeclass with standard
3937properties for functions operating on them.")
3938 (license license:expat)))
3939
3940(define-public ghc-gitrev
3941 (package
3942 (name "ghc-gitrev")
3943 (version "1.3.1")
3944 (source
3945 (origin
3946 (method url-fetch)
3947 (uri (string-append "https://hackage.haskell.org/package/gitrev/gitrev-"
3948 version ".tar.gz"))
3949 (sha256
3950 (base32 "0cl3lfm6k1h8fxp2vxa6ihfp4v8igkz9h35iwyq2frzm4kdn96d8"))))
3951 (build-system haskell-build-system)
3952 (inputs `(("ghc-base-compat" ,ghc-base-compat)))
3953 (home-page "https://github.com/acfoltzer/gitrev")
3954 (synopsis "Compile git revision info into Haskell projects")
3955 (description
3956 "This package provides some handy Template Haskell splices for including
3957the current git hash and branch in the code of your project. This is useful
3958for including in panic messages, @command{--version} output, or diagnostic
3959info for more informative bug reports.")
3960 (license license:bsd-3)))
3961
3962(define-public ghc-glob
3963 (package
3964 (name "ghc-glob")
b900f486 3965 (version "0.10.0")
dddbc90c
RV
3966 (source
3967 (origin
3968 (method url-fetch)
3969 (uri (string-append "https://hackage.haskell.org/package/"
3970 "Glob-" version "/"
3971 "Glob-" version ".tar.gz"))
3972 (sha256
3973 (base32
b900f486 3974 "0953f91f62ncna402vsrfzdcyxhdpjna3bgdw017kad0dfymacs7"))))
dddbc90c
RV
3975 (build-system haskell-build-system)
3976 (inputs
3977 `(("ghc-dlist" ,ghc-dlist)
3978 ("ghc-semigroups" ,ghc-semigroups)
3979 ("ghc-transformers-compat" ,ghc-transformers-compat)))
3980 (native-inputs
3981 `(("ghc-hunit" ,ghc-hunit)
3982 ("ghc-quickcheck" ,ghc-quickcheck)
3983 ("ghc-test-framework" ,ghc-test-framework)
3984 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3985 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3986 (home-page "http://iki.fi/matti.niemenmaa/glob/")
3987 (synopsis "Haskell library matching glob patterns against file paths")
3988 (description "This package provides a Haskell library for @dfn{globbing}:
3989matching patterns against file paths.")
3990 (license license:bsd-3)))
3991
3992(define-public ghc-gluraw
3993 (package
3994 (name "ghc-gluraw")
3995 (version "2.0.0.4")
3996 (source
3997 (origin
3998 (method url-fetch)
3999 (uri (string-append
4000 "https://hackage.haskell.org/package/GLURaw/GLURaw-"
4001 version
4002 ".tar.gz"))
4003 (sha256
4004 (base32
4005 "1i2xi35n5z0d372px9mh6cyhgg1m0cfaiy3fnspkf6kbn9fgsqxq"))))
4006 (build-system haskell-build-system)
4007 (inputs
4008 `(("ghc-openglraw" ,ghc-openglraw)))
4009 (home-page "https://www.haskell.org/haskellwiki/Opengl")
4010 (synopsis "Raw Haskell bindings GLU")
4011 (description "GLURaw is a raw Haskell binding for the GLU 1.3 OpenGL
4012utility library. It is basically a 1:1 mapping of GLU's C API, intended as a
4013basis for a nicer interface.")
4014 (license license:bsd-3)))
4015
4016(define-public ghc-glut
4017 (package
4018 (name "ghc-glut")
8284bd09 4019 (version "2.7.0.15")
dddbc90c
RV
4020 (source
4021 (origin
4022 (method url-fetch)
4023 (uri (string-append
4024 "https://hackage.haskell.org/package/GLUT/GLUT-"
4025 version
4026 ".tar.gz"))
4027 (sha256
4028 (base32
8284bd09 4029 "0271vnf6wllhxjwy0m348x90kv27aybxcbqkkglmd5w4cpwjg5g9"))))
dddbc90c
RV
4030 (build-system haskell-build-system)
4031 (inputs
4032 `(("ghc-statevar" ,ghc-statevar)
4033 ("ghc-opengl" ,ghc-opengl)
4034 ("ghc-openglraw" ,ghc-openglraw)
4035 ("freeglut" ,freeglut)))
4036 (home-page "https://www.haskell.org/haskellwiki/Opengl")
4037 (synopsis "Haskell bindings for the OpenGL Utility Toolkit")
4038 (description "This library provides Haskell bindings for the OpenGL
4039Utility Toolkit, a window system-independent toolkit for writing OpenGL
4040programs.")
4041 (license license:bsd-3)))
4042
4043(define-public ghc-gnuplot
4044 (package
4045 (name "ghc-gnuplot")
d34860c7 4046 (version "0.5.6")
dddbc90c
RV
4047 (source
4048 (origin
4049 (method url-fetch)
4050 (uri (string-append
4051 "mirror://hackage/package/gnuplot/gnuplot-"
4052 version ".tar.gz"))
4053 (sha256
d34860c7 4054 (base32 "1g6xgnlkh17avivn1rlq7l2nvs26dvrbx4rkfld0bf6kyqaqwrgp"))))
dddbc90c
RV
4055 (build-system haskell-build-system)
4056 (inputs
4057 `(("ghc-temporary" ,ghc-temporary)
4058 ("ghc-utility-ht" ,ghc-utility-ht)
4059 ("ghc-data-accessor-transformers" ,ghc-data-accessor-transformers)
4060 ("ghc-data-accessor" ,ghc-data-accessor)
4061 ("ghc-semigroups" ,ghc-semigroups)
4062 ("gnuplot" ,gnuplot)))
4063 (arguments
4064 `(#:phases
4065 (modify-phases %standard-phases
4066 (add-before 'configure 'fix-path-to-gnuplot
4067 (lambda* (#:key inputs #:allow-other-keys)
4068 (let ((gnuplot (assoc-ref inputs "gnuplot")))
4069 (substitute* "os/generic/Graphics/Gnuplot/Private/OS.hs"
4070 (("(gnuplotName = ).*$" all cmd)
4071 (string-append cmd "\"" gnuplot "/bin/gnuplot\"")))))))))
4072 (home-page "https://www.haskell.org/haskellwiki/Gnuplot")
4073 (synopsis "2D and 3D plots using gnuplot")
4074 (description "This package provides a Haskell module for creating 2D and
40753D plots using gnuplot.")
4076 (license license:bsd-3)))
4077
4078(define-public ghc-graphviz
4079 (package
4080 (name "ghc-graphviz")
c264bd42 4081 (version "2999.20.0.3")
dddbc90c
RV
4082 (source (origin
4083 (method url-fetch)
4084 (uri (string-append "https://hackage.haskell.org/package/"
4085 "graphviz/graphviz-" version ".tar.gz"))
4086 (sha256
4087 (base32
c264bd42 4088 "04k26zw61nfv1pkd00iaq89pgsaiym0sf4cbzkmm2k2fj5xa587g"))))
dddbc90c 4089 (build-system haskell-build-system)
c264bd42
TS
4090 (arguments
4091 `(#:phases
4092 (modify-phases %standard-phases
4093 (add-before 'configure 'update-constraints
4094 (lambda _
4095 (substitute* "graphviz.cabal"
4096 (("QuickCheck >= 2\\.3 && < 2\\.13")
4097 "QuickCheck >= 2.3 && < 2.14")
4098 (("hspec >= 2\\.1 && < 2\\.7")
4099 "hspec >= 2.1 && < 2.8")))))))
dddbc90c
RV
4100 (inputs
4101 `(("ghc-quickcheck" ,ghc-quickcheck)
4102 ("ghc-colour" ,ghc-colour)
4103 ("ghc-dlist" ,ghc-dlist)
4104 ("ghc-fgl" ,ghc-fgl)
4105 ("ghc-fgl-arbitrary" ,ghc-fgl-arbitrary)
4106 ("ghc-polyparse" ,ghc-polyparse)
4107 ("ghc-temporary" ,ghc-temporary)
4108 ("ghc-wl-pprint-text" ,ghc-wl-pprint-text)))
4109 (native-inputs
4110 `(("ghc-hspec" ,ghc-hspec)
4111 ("graphviz" ,graphviz)
4112 ("hspec-discover" ,hspec-discover)))
4113 (home-page "https://hackage.haskell.org/package/graphviz")
4114 (synopsis "Bindings to Graphviz for graph visualisation")
4115 (description
4116 "This library provides bindings for the Dot language used by
4117the @uref{https://graphviz.org/, Graphviz} suite of programs for
4118visualising graphs, as well as functions to call those programs.
4119Main features of the graphviz library include:
4120
4121@enumerate
4122@item Almost complete coverage of all Graphviz attributes and syntax
4123@item Support for specifying clusters
4124@item The ability to use a custom node type
4125@item Functions for running a Graphviz layout tool with all specified output types
4126@item Generate and parse Dot code with two options: strict and liberal
4127@item Functions to convert FGL graphs and other graph-like data structures
4128@item Round-trip support for passing an FGL graph through Graphviz to augment node
4129and edge labels with positional information, etc.
4130@end enumerate\n")
4131 (license license:bsd-3)))
4132
4133(define-public ghc-gtk2hs-buildtools
4134 (package
4135 (name "ghc-gtk2hs-buildtools")
4136 (version "0.13.4.0")
4137 (source
4138 (origin
4139 (method url-fetch)
4140 (uri (string-append "https://hackage.haskell.org/package/"
4141 "gtk2hs-buildtools/gtk2hs-buildtools-"
4142 version ".tar.gz"))
4143 (sha256
4144 (base32
4145 "0yg6xmylgpylmnh5g33qwwn5x9bqckdvvv4czqzd9vrr12lnnghg"))))
4146 (build-system haskell-build-system)
4147 (inputs
4148 `(("ghc-random" ,ghc-random)
4149 ("ghc-hashtables" ,ghc-hashtables)))
4150 (native-inputs
4151 `(("ghc-alex" ,ghc-alex)
4152 ("ghc-happy" ,ghc-happy)))
4153 (home-page "http://projects.haskell.org/gtk2hs/")
4154 (synopsis "Tools to build the Gtk2Hs suite of user interface libraries")
4155 (description
4156 "This package provides a set of helper programs necessary to build the
4157Gtk2Hs suite of libraries. These tools include a modified c2hs binding tool
4158that is used to generate FFI declarations, a tool to build a type hierarchy
4159that mirrors the C type hierarchy of GObjects found in glib, and a generator
4160for signal declarations that are used to call back from C to Haskell. These
4161tools are not needed to actually run Gtk2Hs programs.")
4162 (license license:gpl2)))
4163
4164(define-public ghc-hackage-security
4165 (package
4166 (name "ghc-hackage-security")
4167 (version "0.5.3.0")
4168 (source
4169 (origin
4170 (method url-fetch)
4171 (uri (string-append "https://hackage.haskell.org/package/"
4172 "hackage-security/hackage-security-"
4173 version ".tar.gz"))
4174 (sha256
4175 (base32
4176 "08bwawc7ramgdh54vcly2m9pvfchp0ahhs8117jajni6x4bnx66v"))))
4177 (build-system haskell-build-system)
4178 (arguments
4179 `(#:tests? #f)) ; Tests fail because of framework updates.
4180 (inputs
4181 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)
4182 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
4183 ("ghc-cryptohash-sha256" ,ghc-cryptohash-sha256)
4184 ("ghc-ed25519" ,ghc-ed25519)
4185 ("ghc-network" ,ghc-network)
4186 ("ghc-network-uri" ,ghc-network-uri)
4187 ("ghc-tar" ,ghc-tar)
4188 ("ghc-zlib" ,ghc-zlib)))
4189 (native-inputs
4190 `(("ghc-network-uri" ,ghc-network-uri)
4191 ("ghc-quickcheck" ,ghc-quickcheck)
4192 ("ghc-tar" ,ghc-tar)
4193 ("ghc-tasty" ,ghc-tasty)
4194 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
4195 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
4196 ("ghc-temporary" ,ghc-temporary)
4197 ("ghc-zlib" ,ghc-zlib)))
4198 (home-page "https://github.com/haskell/hackage-security")
4199 (synopsis "Hackage security library")
4200 (description "This Hackage security library provides both server and
4201client utilities for securing @uref{http://hackage.haskell.org/, the
4202Hackage package server}. It is based on
4203@uref{http://theupdateframework.com/, The Update Framework}, a set of
4204recommendations developed by security researchers at various universities
4205in the US as well as developers on the @uref{https://www.torproject.org/,
4206Tor project}.")
4207 (license license:bsd-3)))
4208
4209(define-public ghc-haddock
4210 (package
4211 (name "ghc-haddock")
4212 (version "2.19.0.1")
4213 (source
4214 (origin
4215 (method url-fetch)
4216 (uri (string-append
4217 "https://hackage.haskell.org/package/haddock/haddock-"
4218 version
4219 ".tar.gz"))
4220 (sha256
4221 (base32
4222 "1g1j9j0hf2yhyyh0gwz6bzbvfvliqz9x8a8hnkmwghm7w3xa6sb7"))))
4223 (build-system haskell-build-system)
4224 (arguments
4225 `(#:phases
4226 (modify-phases %standard-phases
4227 ;; There are four test suites that require the ghc-haddock-test
4228 ;; package, which no longer builds with GHC 8.4.3. This phase
4229 ;; removes these four test suites from the Cabal file, so that we
4230 ;; do not need ghc-haddock-test as an input.
4231 (add-before 'configure 'remove-haddock-test-test-suites
4232 (lambda _
4233 (use-modules (ice-9 rdelim))
4234 (with-atomic-file-replacement "haddock.cabal"
4235 (lambda (in out)
4236 (let loop ((line (read-line in 'concat)) (deleting? #f))
4237 (cond
4238 ((eof-object? line) #t)
4239 ((string-every char-set:whitespace line)
4240 (unless deleting? (display line out))
4241 (loop (read-line in 'concat) #f))
4242 ((member line '("test-suite html-test\n"
4243 "test-suite hypsrc-test\n"
4244 "test-suite latex-test\n"
4245 "test-suite hoogle-test\n"))
4246 (loop (read-line in 'concat) #t))
4247 (else
4248 (unless deleting? (display line out))
4249 (loop (read-line in 'concat) deleting?)))))))))))
4250 (inputs `(("ghc-haddock-api" ,ghc-haddock-api)))
4251 (native-inputs
4252 `(("ghc-hspec" ,ghc-hspec)))
4253 (home-page "https://www.haskell.org/haddock/")
4254 (synopsis
4255 "Documentation-generation tool for Haskell libraries")
4256 (description
4257 "Haddock is a documentation-generation tool for Haskell libraries.")
4258 (license license:bsd-3)))
4259
4260(define-public ghc-haddock-api
4261 (package
4262 (name "ghc-haddock-api")
4263 (version "2.19.0.1")
4264 (source
4265 (origin
4266 (method url-fetch)
4267 (uri (string-append
4268 "https://hackage.haskell.org/package/haddock-api/haddock-api-"
4269 version
4270 ".tar.gz"))
4271 (sha256
4272 (base32
4273 "0c6i7sljp7myz25d90gyw68a90i5jcrkajkxcciikp2hjirfaas3"))))
4274 (build-system haskell-build-system)
4275 (arguments
4276 `(#:phases
4277 (modify-phases %standard-phases
4278 (add-before 'configure 'update-constraints
4279 (lambda _
4280 (substitute* "haddock-api.cabal"
4281 (("Cabal \\^>= 2\\.0\\.0")
4282 "Cabal ^>= 2.2.0")
4283 (("hspec \\^>= 2\\.4\\.4")
4284 "hspec >= 2.4.4 && < 2.6")))))))
4285 (inputs
4286 `(("ghc-paths" ,ghc-paths)
4287 ("ghc-haddock-library" ,ghc-haddock-library)))
4288 (native-inputs
4289 `(("ghc-quickcheck" ,ghc-quickcheck)
4290 ("ghc-hspec" ,ghc-hspec)
4291 ("hspec-discover" ,hspec-discover)))
4292 (home-page "https://www.haskell.org/haddock/")
4293 (synopsis "API for documentation-generation tool Haddock")
4294 (description "This package provides an API to Haddock, the
4295documentation-generation tool for Haskell libraries.")
4296 (license license:bsd-3)))
4297
4298(define-public ghc-haddock-library
4299 (package
4300 (name "ghc-haddock-library")
4301 (version "1.5.0.1")
4302 (source
4303 (origin
4304 (method url-fetch)
4305 (uri (string-append
4306 "https://hackage.haskell.org/package/haddock-library/haddock-library-"
4307 version
4308 ".tar.gz"))
4309 (sha256
4310 (base32
4311 "1cmbg8l5xrwpliclwy3l057raypjqy0hsg1h1743ahaj8gq10b7z"))
4312 (patches (search-patches
4313 "ghc-haddock-library-unbundle.patch"))
4314 (modules '((guix build utils)))
4315 (snippet '(begin
4316 (delete-file-recursively "vendor")
4317 #t))))
4318 (build-system haskell-build-system)
4319 (arguments
4320 `(#:phases
4321 (modify-phases %standard-phases
4322 (add-before 'configure 'relax-test-suite-dependencies
4323 (lambda _
4324 (substitute* "haddock-library.cabal"
4325 (("base-compat\\s*\\^>= 0\\.9\\.3") "base-compat")
4326 (("hspec\\s*\\^>= 2\\.4\\.4") "hspec"))))
4327 ;; The release tarball does not contain the "fixtures/examples"
4328 ;; directory, which is required for testing. In the upstream
4329 ;; repository, the directory exists and is populated. Here, we
4330 ;; create an empty directory to placate the tests.
4331 (add-before 'check 'add-examples-directory
4332 (lambda _
4333 (mkdir "fixtures/examples")
4334 #t)))))
4335 (native-inputs
4336 `(("ghc-base-compat" ,ghc-base-compat)
4337 ("ghc-hspec" ,ghc-hspec)
4338 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
4339 ("ghc-quickcheck" ,ghc-quickcheck)
4340 ("ghc-tree-diff" ,ghc-tree-diff)
4341 ("hspec-discover" ,hspec-discover)))
4342 (home-page "https://www.haskell.org/haddock/")
4343 (synopsis "Library exposing some functionality of Haddock")
4344 (description
4345 "Haddock is a documentation-generation tool for Haskell libraries. These
4346modules expose some functionality of it without pulling in the GHC dependency.
4347Please note that the API is likely to change so specify upper bounds in your
4348project if you can't release often. For interacting with Haddock itself, see
4349the ‘haddock’ package.")
4350 (license license:bsd-3)))
4351
4352(define-public ghc-half
4353 (package
4354 (name "ghc-half")
4355 (version "0.3")
4356 (source
4357 (origin
4358 (method url-fetch)
4359 (uri (string-append
4360 "https://hackage.haskell.org/package/half/half-"
4361 version ".tar.gz"))
4362 (sha256
4363 (base32
4364 "14r0nx8hm5fic9gz0ybjjw4kyc758zfgvhhwvzsshpx5caq6zch6"))))
4365 (build-system haskell-build-system)
4366 (native-inputs
4367 `(("ghc-hspec" ,ghc-hspec)
4368 ("ghc-quickcheck" ,ghc-quickcheck)))
4369 (home-page "https://github.com/ekmett/half")
4370 (synopsis "Half-precision floating-point computations")
4371 (description "This library provides a half-precision floating-point
4372computation library for Haskell.")
4373 (license license:bsd-3)))
4374
4375(define-public ghc-happy
4376 (package
4377 (name "ghc-happy")
90e7b0e4 4378 (version "1.19.12")
dddbc90c
RV
4379 (source
4380 (origin
4381 (method url-fetch)
4382 (uri (string-append
4383 "https://hackage.haskell.org/package/happy/happy-"
4384 version
4385 ".tar.gz"))
4386 (sha256
4387 (base32
90e7b0e4 4388 "03xlmq6qmdx4zvzw8bp33kd9g7yvcq5cz4wg50xilw812kj276pv"))))
dddbc90c
RV
4389 (build-system haskell-build-system)
4390 (arguments
4391 `(#:phases
4392 (modify-phases %standard-phases
4393 (add-after 'unpack 'skip-test-issue93
4394 (lambda _
4395 ;; Tests run out of memory on a system with 2GB of available RAM,
4396 ;; in 'issue93.a.hs' and 'issue93.n.hs'.
4397 (substitute* "tests/Makefile"
4398 ((" issue93.y ") " "))
4399 #t)))))
4400 (home-page "https://hackage.haskell.org/package/happy")
4401 (synopsis "Parser generator for Haskell")
4402 (description "Happy is a parser generator for Haskell. Given a grammar
4403specification in BNF, Happy generates Haskell code to parse the grammar.
4404Happy works in a similar way to the yacc tool for C.")
4405 (license license:bsd-3)))
4406
4407(define-public ghc-hashable
4408 (package
4409 (name "ghc-hashable")
4410 (version "1.2.7.0")
4411 (outputs '("out" "doc"))
4412 (source
4413 (origin
4414 (method url-fetch)
4415 (uri (string-append
4416 "https://hackage.haskell.org/package/hashable/hashable-"
4417 version
4418 ".tar.gz"))
4419 (sha256
4420 (base32
4421 "1gra8gq3kb7b2sd845h55yxlrfqx3ii004c6vjhga8v0b30fzdgc"))))
4422 (build-system haskell-build-system)
65a16a45
TS
4423 (arguments
4424 `(#:cabal-revision
4425 ("1" "197063dpl0wn67dp7a06yc2hxp81n24ykk7klbjx0fndm5n87dh3")))
dddbc90c
RV
4426 (inputs
4427 `(("ghc-random" ,ghc-random)))
4428 (native-inputs
4429 `(("ghc-test-framework" ,ghc-test-framework)
4430 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
4431 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
4432 ("ghc-hunit" ,ghc-hunit)
4433 ("ghc-quickcheck" ,ghc-quickcheck)))
4434 (home-page "https://github.com/tibbe/hashable")
4435 (synopsis "Class for types that can be converted to a hash value")
4436 (description
4437 "This package defines a class, @code{Hashable}, for types that can be
4438converted to a hash value. This class exists for the benefit of hashing-based
4439data structures. The package provides instances for basic types and a way to
4440combine hash values.")
4441 (license license:bsd-3)))
4442
4443(define-public ghc-hashable-bootstrap
4444 (package
4445 (inherit ghc-hashable)
4446 (name "ghc-hashable-bootstrap")
65a16a45
TS
4447 (arguments
4448 `(#:tests? #f
4449 ,@(package-arguments ghc-hashable)))
dddbc90c
RV
4450 (native-inputs '())
4451 (properties '((hidden? #t)))))
4452
4453(define-public ghc-hashable-time
4454 (package
4455 (name "ghc-hashable-time")
f5051e31 4456 (version "0.2.0.2")
dddbc90c
RV
4457 (source
4458 (origin
4459 (method url-fetch)
4460 (uri (string-append
4461 "https://hackage.haskell.org/package/hashable-time/hashable-time-"
4462 version
4463 ".tar.gz"))
4464 (sha256
4465 (base32
f5051e31 4466 "1q7y4plqqwy5286hhx2fygn12h8lqk0y047b597sbdckskxzfqgs"))))
dddbc90c
RV
4467 (build-system haskell-build-system)
4468 (arguments
4469 `(#:cabal-revision
f5051e31 4470 ("2" "006phc5y9rrvsshdcmjmhxzxh8dpgs685mpqbkjm9c40xb1ydjbz")))
dddbc90c
RV
4471 (inputs `(("ghc-hashable" ,ghc-hashable)))
4472 (home-page "http://hackage.haskell.org/package/hashable-time")
4473 (synopsis "Hashable instances for Data.Time")
4474 (description
4475 "This package provides @code{Hashable} instances for types in
4476@code{Data.Time}.")
4477 (license license:bsd-3)))
4478
4479(define-public ghc-hashtables
4480 (package
4481 (name "ghc-hashtables")
19edf0d0 4482 (version "1.2.3.4")
dddbc90c
RV
4483 (source
4484 (origin
4485 (method url-fetch)
4486 (uri (string-append
4487 "https://hackage.haskell.org/package/hashtables/hashtables-"
4488 version ".tar.gz"))
4489 (sha256
19edf0d0 4490 (base32 "1rjmxnr30g4hygiywkpz5p9sanh0abs7ap4zc1kgd8zv04kycp0j"))))
dddbc90c
RV
4491 (build-system haskell-build-system)
4492 (inputs
4493 `(("ghc-hashable" ,ghc-hashable)
4494 ("ghc-primitive" ,ghc-primitive)
4495 ("ghc-vector" ,ghc-vector)))
4496 (home-page "https://github.com/gregorycollins/hashtables")
4497 (synopsis "Haskell Mutable hash tables in the ST monad")
4498 (description "This package provides a Haskell library including a
4499couple of different implementations of mutable hash tables in the ST
4500monad, as well as a typeclass abstracting their common operations, and
4501a set of wrappers to use the hash tables in the IO monad.")
4502 (license license:bsd-3)))
4503
4504(define-public ghc-haskell-lexer
4505 (package
4506 (name "ghc-haskell-lexer")
4507 (version "1.0.2")
4508 (source
4509 (origin
4510 (method url-fetch)
4511 (uri (string-append
4512 "https://hackage.haskell.org/package/haskell-lexer/haskell-lexer-"
4513 version ".tar.gz"))
4514 (sha256
4515 (base32 "1wyxd8x33x4v5vxyzkhm610pl86gbkc8y439092fr1735q9g7kfq"))))
4516 (build-system haskell-build-system)
4517 (home-page "http://hackage.haskell.org/package/haskell-lexer")
4518 (synopsis "Fully compliant Haskell 98 lexer")
4519 (description
4520 "This package provides a fully compliant Haskell 98 lexer.")
4521 (license license:bsd-3)))
4522
4523(define-public ghc-haskell-src
4524 (package
4525 (name "ghc-haskell-src")
4526 (version "1.0.3.0")
4527 (source
4528 (origin
4529 (method url-fetch)
4530 (uri (string-append
4531 "https://hackage.haskell.org/package/haskell-src/haskell-src-"
4532 version
4533 ".tar.gz"))
4534 (sha256
4535 (base32
4536 "1g4dj1f0j68bhn4ixfac63wjzy6gsp6kwgxryb1k5nl3i0g99d5l"))))
4537 (build-system haskell-build-system)
4538 (inputs
4539 `(("ghc-happy" ,ghc-happy)
4540 ("ghc-syb" ,ghc-syb)))
4541 (home-page
4542 "https://hackage.haskell.org/package/haskell-src")
4543 (synopsis
4544 "Support for manipulating Haskell source code")
4545 (description
4546 "The @code{haskell-src} package provides support for manipulating Haskell
4547source code. The package provides a lexer, parser and pretty-printer, and a
4548definition of a Haskell abstract syntax tree (AST). Common uses of this
4549package are to parse or generate Haskell 98 code.")
4550 (license license:bsd-3)))
4551
4552(define-public ghc-haskell-src-exts
4553 (package
4554 (name "ghc-haskell-src-exts")
37a05591 4555 (version "1.21.1")
dddbc90c
RV
4556 (source
4557 (origin
4558 (method url-fetch)
4559 (uri (string-append
4560 "https://hackage.haskell.org/package/haskell-src-exts/haskell-src-exts-"
4561 version
4562 ".tar.gz"))
4563 (sha256
4564 (base32
37a05591 4565 "0q1y8n3d82gid9bcx8wxsqqmj9mq11fg3gp5yzpfbw958dhi3j9f"))))
dddbc90c
RV
4566 (build-system haskell-build-system)
4567 (inputs
4568 `(("cpphs" ,cpphs)
4569 ("ghc-happy" ,ghc-happy)
4570 ("ghc-pretty-show" ,ghc-pretty-show)))
4571 (native-inputs
4572 `(("ghc-smallcheck" ,ghc-smallcheck)
4573 ("ghc-tasty" ,ghc-tasty)
4574 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
4575 ("ghc-tasty-golden" ,ghc-tasty-golden)))
4576 (home-page "https://github.com/haskell-suite/haskell-src-exts")
4577 (synopsis "Library for manipulating Haskell source")
4578 (description "Haskell-Source with Extensions (HSE, haskell-src-exts) is an
4579extension of the standard @code{haskell-src} package, and handles most
4580registered syntactic extensions to Haskell. All extensions implemented in GHC
4581are supported. Apart from these standard extensions, it also handles regular
4582patterns as per the HaRP extension as well as HSX-style embedded XML syntax.")
4583 (license license:bsd-3)))
4584
4585(define-public ghc-haskell-src-exts-util
4586 (package
4587 (name "ghc-haskell-src-exts-util")
77355bdf 4588 (version "0.2.5")
dddbc90c
RV
4589 (source
4590 (origin
4591 (method url-fetch)
4592 (uri (string-append "https://hackage.haskell.org/package/"
4593 "haskell-src-exts-util/haskell-src-exts-util-"
4594 version ".tar.gz"))
4595 (sha256
4596 (base32
77355bdf 4597 "0fvqi72m74p7q5sbpy8m2chm8a1lgy10mfrcxcz8wrh59vngj0n8"))))
dddbc90c
RV
4598 (build-system haskell-build-system)
4599 (inputs
4600 `(("ghc-data-default" ,ghc-data-default)
4601 ("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
4602 ("ghc-semigroups" ,ghc-semigroups)
4603 ("ghc-uniplate" ,ghc-uniplate)))
4604 (home-page "https://github.com/pepeiborra/haskell-src-exts-util")
4605 (synopsis "Helper functions for working with haskell-src-exts trees")
4606 (description
4607 "This package provides helper functions for working with
4608@code{haskell-src-exts} trees.")
4609 (license license:bsd-3)))
4610
4611(define-public ghc-haskell-src-meta
4612 (package
4613 (name "ghc-haskell-src-meta")
e94b3c72 4614 (version "0.8.3")
dddbc90c
RV
4615 (source (origin
4616 (method url-fetch)
4617 (uri (string-append "https://hackage.haskell.org/package/"
4618 "haskell-src-meta/haskell-src-meta-"
4619 version ".tar.gz"))
4620 (sha256
4621 (base32
e94b3c72 4622 "17znnaqj2hnnfyc9p9xjzbs97h2jh1h4f4qbw648y3xa14wx5ra9"))))
dddbc90c
RV
4623 (build-system haskell-build-system)
4624 (inputs
4625 `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
4626 ("ghc-syb" ,ghc-syb)
4627 ("ghc-th-orphans" ,ghc-th-orphans)))
4628 (native-inputs
4629 `(("ghc-hunit" ,ghc-hunit)
e94b3c72
TS
4630 ("ghc-tasty" ,ghc-tasty)
4631 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
dddbc90c
RV
4632 (home-page "https://hackage.haskell.org/package/haskell-src-meta")
4633 (synopsis "Parse source to template-haskell abstract syntax")
4634 (description
4635 "This package provides tools to parse Haskell sources to the
4636template-haskell abstract syntax.")
4637 (license license:bsd-3)))
4638
4639(define-public ghc-hasktags
4640 (package
4641 (name "ghc-hasktags")
4642 (version "0.71.2")
4643 (source
4644 (origin
4645 (method url-fetch)
4646 (uri (string-append
4647 "https://hackage.haskell.org/package/hasktags/hasktags-"
4648 version
4649 ".tar.gz"))
4650 (sha256
4651 (base32
4652 "1s2k9qrgy1jily96img2pmn7g35mwnnfiw6si3aw32jfhg5zsh1c"))))
4653 (build-system haskell-build-system)
4654 (inputs
4655 `(("ghc-system-filepath" ,ghc-system-filepath)
4656 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
4657 (native-inputs
4658 `(("ghc-json" ,ghc-json)
4659 ("ghc-utf8-string" ,ghc-utf8-string)
4660 ("ghc-microlens-platform" ,ghc-microlens-platform)
4661 ("ghc-hunit" ,ghc-hunit)))
4662 (home-page "http://github.com/MarcWeber/hasktags")
4663 (synopsis "Make @code{Ctags} and @code{Etags} files for Haskell programs")
4664 (description
4665 "This package provides a means of generating tag files for Emacs and
4666Vim.")
4667 (license license:bsd-3)))
4668
4669(define-public ghc-hex
4670 (package
4671 (name "ghc-hex")
4672 (version "0.1.2")
4673 (source
4674 (origin
4675 (method url-fetch)
4676 (uri (string-append "https://hackage.haskell.org/package/"
4677 "hex-" version "/"
4678 "hex-" version ".tar.gz"))
4679 (sha256
4680 (base32
4681 "1v31xiaivrrn0q2jz8919wvkjplv1kxna5ajhsj701fqxm1i5vhj"))))
4682 (build-system haskell-build-system)
4683 (home-page "https://hackage.haskell.org/package/hex")
4684 (synopsis "Convert strings into hexadecimal and back")
4685 (description "This package provides conversion functions between
4686bytestrings and their hexademical representation.")
4687 (license license:bsd-3)))
4688
4689(define-public ghc-highlighting-kate
4690 (package
4691 (name "ghc-highlighting-kate")
4692 (version "0.6.4")
4693 (source (origin
4694 (method url-fetch)
4695 (uri (string-append "https://hackage.haskell.org/package/"
4696 "highlighting-kate/highlighting-kate-"
4697 version ".tar.gz"))
4698 (sha256
4699 (base32
4700 "1bqv00gfmrsf0jjr4qf3lhshvfkyzmhbi3pjb6mafbnsyn2k7f6q"))))
4701 (build-system haskell-build-system)
4702 (inputs
4703 `(("ghc-diff" ,ghc-diff)
4704 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)))
4705 (native-inputs
4706 `(("ghc-blaze-html" ,ghc-blaze-html)
4707 ("ghc-utf8-string" ,ghc-utf8-string)))
4708 (home-page "https://github.com/jgm/highlighting-kate")
4709 (synopsis "Syntax highlighting library")
4710 (description
4711 "Highlighting-kate is a syntax highlighting library with support for
4712nearly one hundred languages. The syntax parsers are automatically generated
4713from @uref{https://kate-editor.org/, Kate syntax descriptions}, so any syntax
4714supported by Kate can be added. An (optional) command-line program is
4715provided, along with a utility for generating new parsers from Kate XML syntax
4716descriptions.")
4717 (license license:gpl2+)))
4718
4719(define-public ghc-hindent
4720 (package
4721 (name "ghc-hindent")
4722 (version "5.3.0")
4723 (source
4724 (origin
4725 (method url-fetch)
4726 (uri (string-append
4727 "https://hackage.haskell.org/package/hindent/hindent-"
4728 version
4729 ".tar.gz"))
4730 (sha256
4731 (base32
4732 "0wkfik7mvqskk23kyh7ybgnlh3j9j1ym7d3ncahsbli9w654b7xg"))))
4733 (build-system haskell-build-system)
4734 (arguments
4735 `(#:modules ((guix build haskell-build-system)
4736 (guix build utils)
4737 (guix build emacs-utils))
4738 #:imported-modules (,@%haskell-build-system-modules
4739 (guix build emacs-utils))
4740 #:phases
4741 (modify-phases %standard-phases
4742 (add-after 'install 'emacs-install
4743 (lambda* (#:key inputs outputs #:allow-other-keys)
4744 (let* ((out (assoc-ref outputs "out"))
4745 (elisp-file "elisp/hindent.el")
4746 (dest (string-append out "/share/emacs/site-lisp"
4747 "/guix.d/hindent-" ,version))
4748 (emacs (string-append (assoc-ref inputs "emacs")
4749 "/bin/emacs")))
4750 (make-file-writable elisp-file)
4751 (emacs-substitute-variables elisp-file
4752 ("hindent-process-path"
4753 (string-append out "/bin/hindent")))
4754 (install-file elisp-file dest)
4755 (emacs-generate-autoloads "hindent" dest)))))))
4756 (inputs
4757 `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
4758 ("ghc-monad-loops" ,ghc-monad-loops)
4759 ("ghc-utf8-string" ,ghc-utf8-string)
4760 ("ghc-exceptions" ,ghc-exceptions)
4761 ("ghc-yaml" ,ghc-yaml)
4762 ("ghc-unix-compat" ,ghc-unix-compat)
4763 ("ghc-path" ,ghc-path)
4764 ("ghc-path-io" ,ghc-path-io)
4765 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
4766 (native-inputs
4767 `(("ghc-hspec" ,ghc-hspec)
4768 ("ghc-diff" ,ghc-diff)
4769 ("emacs" ,emacs-minimal)))
4770 (home-page
4771 "https://github.com/commercialhaskell/hindent")
4772 (synopsis "Extensible Haskell pretty printer")
4773 (description
4774 "This package provides automatic formatting for Haskell files. Both a
4775library and an executable.")
4776 (license license:bsd-3)))
4777
4778(define-public ghc-hinotify
4779 (package
4780 (name "ghc-hinotify")
c2342abb 4781 (version "0.4")
dddbc90c
RV
4782 (source (origin
4783 (method url-fetch)
4784 (uri (string-append
4785 "https://hackage.haskell.org/package/hinotify/"
4786 "hinotify-" version ".tar.gz"))
4787 (sha256
4788 (base32
c2342abb 4789 "1x1lm685ws2q0z0ibwq6x3l72xh67mj06s36xiga3al48d92q63x"))))
dddbc90c
RV
4790 (build-system haskell-build-system)
4791 (inputs
4792 `(("ghc-async" ,ghc-async)))
4793 (home-page "https://github.com/kolmodin/hinotify.git")
4794 (synopsis "Haskell binding to inotify")
4795 (description "This library provides a wrapper to the Linux kernel's inotify
4796feature, allowing applications to subscribe to notifications when a file is
4797accessed or modified.")
4798 (license license:bsd-3)))
4799
4800(define-public ghc-hmatrix
4801 (package
4802 (name "ghc-hmatrix")
65e29ed1 4803 (version "0.20.0.0")
dddbc90c
RV
4804 (source
4805 (origin
4806 (method url-fetch)
4807 (uri (string-append
4808 "https://hackage.haskell.org/package/hmatrix/hmatrix-"
4809 version ".tar.gz"))
4810 (sha256
65e29ed1 4811 (base32 "1sqy1aci5zfagkb34mz3xdil7cl96z4b4cx28cha54vc5sx1lhpg"))))
dddbc90c
RV
4812 (build-system haskell-build-system)
4813 (inputs
4814 `(("ghc-random" ,ghc-random)
4815 ("ghc-split" ,ghc-split)
4816 ("ghc-storable-complex" ,ghc-storable-complex)
4817 ("ghc-semigroups" ,ghc-semigroups)
4818 ("ghc-vector" ,ghc-vector)
4819 ;;("openblas" ,openblas)
4820 ("lapack" ,lapack)))
4821 ;; Guix's OpenBLAS is built with the flag "NO_LAPACK=1" which
4822 ;; disables inclusion of the LAPACK functions.
4823 ;; (arguments `(#:configure-flags '("--flags=openblas")))
4824 (home-page "https://github.com/albertoruiz/hmatrix")
4825 (synopsis "Haskell numeric linear algebra library")
4826 (description "The HMatrix package provices a Haskell library for
4827dealing with linear systems, matrix decompositions, and other
4828numerical computations based on BLAS and LAPACK.")
4829 (license license:bsd-3)))
4830
4831(define-public ghc-hmatrix-gsl
4832 (package
4833 (name "ghc-hmatrix-gsl")
4834 (version "0.19.0.1")
4835 (source
4836 (origin
4837 (method url-fetch)
4838 (uri (string-append
4839 "https://hackage.haskell.org/package/hmatrix-gsl/hmatrix-gsl-"
4840 version ".tar.gz"))
4841 (sha256
4842 (base32 "0v6dla426x4ywaq59jm89ql1i42n39iw6z0j378xwb676v9kfxhm"))))
4843 (build-system haskell-build-system)
4844 (inputs
4845 `(("ghc-hmatrix" ,ghc-hmatrix)
4846 ("ghc-vector" ,ghc-vector)
4847 ("ghc-random" ,ghc-random)
4848 ("gsl" ,gsl)))
4849 (native-inputs `(("pkg-config" ,pkg-config)))
4850 (home-page "https://github.com/albertoruiz/hmatrix")
4851 (synopsis "Haskell GSL binding")
4852 (description "This Haskell library provides a purely functional
4853interface to selected numerical computations, internally implemented
4854using GSL.")
4855 (license license:gpl3+)))
4856
4857(define-public ghc-hmatrix-gsl-stats
4858 (package
4859 (name "ghc-hmatrix-gsl-stats")
e9b359f5 4860 (version "0.4.1.8")
dddbc90c
RV
4861 (source
4862 (origin
4863 (method url-fetch)
4864 (uri
4865 (string-append
4866 "https://hackage.haskell.org/package/hmatrix-gsl-stats/hmatrix-gsl-stats-"
4867 version ".tar.gz"))
4868 (sha256
e9b359f5 4869 (base32 "1cq049sj3q5r06x7i35hqrkf2jc4p4kfi9zv0jmi2vp7w4644i5q"))))
dddbc90c
RV
4870 (build-system haskell-build-system)
4871 (inputs
4872 `(("ghc-vector" ,ghc-vector)
4873 ("ghc-storable-complex" ,ghc-storable-complex)
4874 ("ghc-hmatrix" ,ghc-hmatrix)
4875 ("gsl" ,gsl)))
4876 (native-inputs `(("pkg-config" ,pkg-config)))
4877 (home-page "http://code.haskell.org/hmatrix-gsl-stats")
4878 (synopsis "GSL Statistics interface for Haskell")
4879 (description "This Haskell library provides a purely functional
4880interface for statistics based on hmatrix and GSL.")
4881 (license license:bsd-3)))
4882
4883(define-public ghc-hmatrix-special
4884 (package
4885 (name "ghc-hmatrix-special")
4886 (version "0.19.0.0")
4887 (source
4888 (origin
4889 (method url-fetch)
4890 (uri
4891 (string-append
4892 "https://hackage.haskell.org/package/hmatrix-special/hmatrix-special-"
4893 version ".tar.gz"))
4894 (sha256
4895 (base32 "1mywr61kr852sbff26n9x95kswx9l4ycbv6s68qsbkh02xzqq7qz"))))
4896 (build-system haskell-build-system)
4897 (inputs
4898 `(("ghc-hmatrix" ,ghc-hmatrix)
4899 ("ghc-hmatrix-gsl" ,ghc-hmatrix-gsl)))
4900 (home-page "https://github.com/albertoruiz/hmatrix")
4901 (synopsis "Haskell interface to GSL special functions")
4902 (description "This library provides an interface to GSL special
4903functions for Haskell.")
4904 (license license:gpl3+)))
4905
4906(define-public ghc-hostname
4907 (package
4908 (name "ghc-hostname")
4909 (version "1.0")
4910 (source
4911 (origin
4912 (method url-fetch)
4913 (uri (string-append "https://hackage.haskell.org/package/hostname/"
4914 "hostname-" version ".tar.gz"))
4915 (sha256
4916 (base32
4917 "0p6gm4328946qxc295zb6vhwhf07l1fma82vd0siylnsnsqxlhwv"))))
4918 (build-system haskell-build-system)
4919 (home-page "https://hackage.haskell.org/package/hostname")
4920 (synopsis "Hostname in Haskell")
4921 (description "Network.HostName is a simple package providing a means to
4922determine the hostname.")
4923 (license license:bsd-3)))
4924
4925(define-public ghc-hourglass
4926 (package
4927 (name "ghc-hourglass")
4928 (version "0.2.12")
4929 (source (origin
4930 (method url-fetch)
4931 (uri (string-append "https://hackage.haskell.org/package/"
4932 "hourglass/hourglass-" version ".tar.gz"))
4933 (sha256
4934 (base32
4935 "0jnay5j13vpz6i1rkaj3j0d9v8jfpri499xn3l7wd01f81f5ncs4"))))
4936 (build-system haskell-build-system)
4937 (inputs
4938 `(("ghc-old-locale" ,ghc-old-locale)))
4939 (native-inputs
4940 `(("ghc-tasty" ,ghc-tasty)
4941 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
4942 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
4943 (home-page "https://github.com/vincenthz/hs-hourglass")
4944 (synopsis "Simple time-related library for Haskell")
4945 (description
4946 "This is a simple time library providing a simple but powerful and
4947performant API. The backbone of the library are the @code{Timeable} and
4948@code{Time} type classes. Each @code{Timeable} instances can be converted to
4949a type that has a @code{Time} instances, and thus are different
4950representations of current time.")
4951 (license license:bsd-3)))
4952
4953(define-public ghc-hpack
4954 (package
4955 (name "ghc-hpack")
4956 (version "0.28.2")
4957 (source
4958 (origin
4959 (method url-fetch)
4960 (uri (string-append "https://hackage.haskell.org/package/hpack/"
4961 "hpack-" version ".tar.gz"))
4962 (sha256
4963 (base32
4964 "18w0h76jdp3mk9vin8da9iz3cwhcxmw787xy8wlh8bxcpcr16q5r"))))
4965 (build-system haskell-build-system)
4966 (inputs
4967 `(("ghc-aeson" ,ghc-aeson)
4968 ("ghc-bifunctors" ,ghc-bifunctors)
4969 ("ghc-cryptonite" ,ghc-cryptonite)
4970 ("ghc-glob" ,ghc-glob)
4971 ("ghc-http-client" ,ghc-http-client)
4972 ("ghc-http-client-tls" ,ghc-http-client-tls)
4973 ("ghc-http-types" ,ghc-http-types)
4974 ("ghc-scientific" ,ghc-scientific)
4975 ("ghc-unordered-containers" ,ghc-unordered-containers)
4976 ("ghc-vector" ,ghc-vector)
4977 ("ghc-yaml" ,ghc-yaml)))
4978 (native-inputs
4979 `(("ghc-hspec" ,ghc-hspec)
4980 ("ghc-hunit" ,ghc-hunit)
4981 ("ghc-interpolate" ,ghc-interpolate)
4982 ("ghc-mockery" ,ghc-mockery)
4983 ("ghc-quickcheck" ,ghc-quickcheck)
4984 ("ghc-temporary" ,ghc-temporary)
4985 ("hspec-discover" ,hspec-discover)))
4986 (home-page "https://github.com/sol/hpack")
4987 (synopsis "Tools for an alternative Haskell package format")
4988 (description
4989 "Hpack is a format for Haskell packages. It is an alternative to the
4990Cabal package format and follows different design principles. Hpack packages
4991are described in a file named @code{package.yaml}. Both @code{cabal2nix} and
4992@code{stack} support @code{package.yaml} natively. For other build tools the
4993@code{hpack} executable can be used to generate a @code{.cabal} file from
4994@code{package.yaml}.")
4995 (license license:expat)))
4996
4997(define-public ghc-hs-bibutils
4998 (package
4999 (name "ghc-hs-bibutils")
ebcb4f23 5000 (version "6.7.0.0")
dddbc90c
RV
5001 (source
5002 (origin
5003 (method url-fetch)
5004 (uri (string-append
5005 "https://hackage.haskell.org/package/hs-bibutils/hs-bibutils-"
5006 version ".tar.gz"))
5007 (sha256
5008 (base32
ebcb4f23 5009 "1qfyssl76lm4g09yxr3y10kmf8cnzls46g5h0ijk0wpk9wlhbln5"))))
dddbc90c
RV
5010 (build-system haskell-build-system)
5011 (inputs `(("ghc-syb" ,ghc-syb)))
5012 (home-page "https://hackage.haskell.org/package/hs-bibutils")
5013 (synopsis "Haskell bindings to bibutils")
5014 (description
5015 "This package provides Haskell bindings to @code{bibutils}, a library
5016that interconverts between various bibliography formats using a common
5017MODS-format XML intermediate.")
5018 (license license:gpl2+)))
5019
5020(define-public ghc-hslogger
5021 (package
5022 (name "ghc-hslogger")
e5ccc5f7 5023 (version "1.2.12")
dddbc90c
RV
5024 (source
5025 (origin
5026 (method url-fetch)
5027 (uri (string-append "https://hackage.haskell.org/package/"
5028 "hslogger-" version "/" "hslogger-"
5029 version ".tar.gz"))
5030 (sha256 (base32
e5ccc5f7 5031 "0ykcsk7wqygvrg60r5kpl6xfinr706al8pfyk5wj67wjs24lqypr"))))
dddbc90c
RV
5032 (build-system haskell-build-system)
5033 (inputs
5034 `(("ghc-network" ,ghc-network)
5035 ("ghc-old-locale" ,ghc-old-locale)))
5036 (native-inputs
5037 `(("ghc-hunit" ,ghc-hunit)))
5038 (home-page "https://software.complete.org/hslogger")
5039 (synopsis "Logging framework for Haskell, similar to Python's logging module")
5040 (description "Hslogger lets each log message have a priority and source be
5041associated with it. The programmer can then define global handlers that route
5042or filter messages based on the priority and source. It also has a syslog
5043handler built in.")
5044 (license license:bsd-3)))
5045
5046(define-public ghc-hslua
5047 (package
5048 (name "ghc-hslua")
cc784d7b 5049 (version "1.0.3.2")
dddbc90c
RV
5050 (source (origin
5051 (method url-fetch)
5052 (uri (string-append "https://hackage.haskell.org/package/"
5053 "hslua/hslua-" version ".tar.gz"))
5054 (sha256
5055 (base32
cc784d7b 5056 "183bgl5jcx5y2r94lviqfw0a5w9089nxjd1z40k8vx9y2h60pm6j"))))
dddbc90c
RV
5057 (build-system haskell-build-system)
5058 (arguments
5059 `(#:configure-flags '("-fsystem-lua")))
5060 (inputs
5061 `(("lua" ,lua)
5062 ("ghc-exceptions" ,ghc-exceptions)
5063 ("ghc-fail" ,ghc-fail)))
5064 (native-inputs
5065 `(("ghc-tasty" ,ghc-tasty)
5066 ("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
5067 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5068 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5069 ("ghc-quickcheck" ,ghc-quickcheck)
5070 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
5071 (home-page "https://hackage.haskell.org/package/hslua")
5072 (synopsis "Lua language interpreter embedding in Haskell")
5073 (description
5074 "The Scripting.Lua module is a wrapper of the Lua language interpreter as
5075described in @url{https://www.lua.org/}.")
5076 (license license:expat)))
5077
5078(define-public ghc-hslua-module-text
5079 (package
5080 (name "ghc-hslua-module-text")
ecaf0b0c 5081 (version "0.2.1")
dddbc90c
RV
5082 (source
5083 (origin
5084 (method url-fetch)
5085 (uri (string-append "https://hackage.haskell.org/package/"
5086 "hslua-module-text/hslua-module-text-"
5087 version ".tar.gz"))
5088 (sha256
5089 (base32
ecaf0b0c 5090 "1ikdwvvxhbd5wmfr85dzs2ccamh9rbbpgy899z7s1vlv5q1dj0hk"))))
dddbc90c 5091 (build-system haskell-build-system)
dddbc90c
RV
5092 (inputs
5093 `(("ghc-hslua" ,ghc-hslua)))
5094 (native-inputs
5095 `(("ghc-tasty" ,ghc-tasty)
5096 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5097 (home-page "https://github.com/hslua/hslua-module-text")
5098 (synopsis "Lua module for text")
5099 (description
5100 "This package provides a UTF-8 aware subset of Lua's @code{string} module
5101for Haskell. The functions provided by this module are @code{upper},
5102@code{lower}, @code{len}, @code{reverse}, and @code{sub}.")
5103 (license license:expat)))
5104
5105(define-public ghc-http-api-data
5106 (package
5107 (name "ghc-http-api-data")
a57236eb 5108 (version "0.4.1")
dddbc90c
RV
5109 (source
5110 (origin
5111 (method url-fetch)
5112 (uri (string-append "https://hackage.haskell.org/package/"
5113 "http-api-data-" version "/"
5114 "http-api-data-" version ".tar.gz"))
5115 (sha256
5116 (base32
a57236eb 5117 "1ps4bvln43gz72dr9mc3c9n1rn38c4rz6m49vxzz9nz6jz1978rv"))))
dddbc90c 5118 (build-system haskell-build-system)
dddbc90c
RV
5119 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
5120 ("ghc-attoparsec-iso8601" ,ghc-attoparsec-iso8601)
a57236eb 5121 ("ghc-cookie" ,ghc-cookie)
dddbc90c
RV
5122 ("ghc-hashable" ,ghc-hashable)
5123 ("ghc-http-types" ,ghc-http-types)
a57236eb 5124 ("ghc-time-compat" ,ghc-time-compat)
dddbc90c 5125 ("ghc-unordered-containers" ,ghc-unordered-containers)
dddbc90c 5126 ("ghc-uuid-types" ,ghc-uuid-types)))
a57236eb
TS
5127 (native-inputs
5128 `(("cabal-doctest" ,cabal-doctest)
5129 ("ghc-nats" ,ghc-nats)
5130 ("ghc-hunit" ,ghc-hunit)
5131 ("ghc-hspec" ,ghc-hspec)
5132 ("ghc-quickcheck" ,ghc-quickcheck)
5133 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
5134 ("ghc-doctest" ,ghc-doctest)
5135 ("hspec-discover" ,hspec-discover)))
dddbc90c
RV
5136 (home-page "https://github.com/fizruk/http-api-data")
5137 (synopsis "Convert to/from HTTP API data like URL pieces, headers and
5138query parameters")
5139 (description "This Haskell package defines typeclasses used for converting
5140Haskell data types to and from HTTP API data.")
5141 (license license:bsd-3)))
5142
5143(define-public ghc-ieee754
5144 (package
5145 (name "ghc-ieee754")
5146 (version "0.8.0")
5147 (source (origin
5148 (method url-fetch)
5149 (uri (string-append
5150 "https://hackage.haskell.org/package/ieee754/"
5151 "ieee754-" version ".tar.gz"))
5152 (sha256
5153 (base32
5154 "1lcs521g9lzy9d7337vg4w7q7s8500rfqy7rcifcz6pm6yfgyb8f"))))
5155 (build-system haskell-build-system)
5156 (home-page "https://github.com/patperry/hs-ieee754")
5157 (synopsis "Utilities for dealing with IEEE floating point numbers")
5158 (description "Utilities for dealing with IEEE floating point numbers,
5159ported from the Tango math library; approximate and exact equality comparisons
5160for general types.")
5161 (license license:bsd-3)))
5162
5163(define-public ghc-ifelse
5164 (package
5165 (name "ghc-ifelse")
5166 (version "0.85")
5167 (source
5168 (origin
5169 (method url-fetch)
5170 (uri (string-append "https://hackage.haskell.org/package/"
5171 "IfElse/IfElse-" version ".tar.gz"))
5172 (sha256
5173 (base32
5174 "1kfx1bwfjczj93a8yqz1n8snqiq5655qgzwv1lrycry8wb1vzlwa"))))
5175 (build-system haskell-build-system)
5176 (home-page "http://hackage.haskell.org/package/IfElse")
5177 (synopsis "Monadic control flow with anaphoric variants")
5178 (description "This library provides functions for control flow inside of
5179monads with anaphoric variants on @code{if} and @code{when} and a C-like
5180@code{switch} function.")
5181 (license license:bsd-3)))
5182
5183(define-public ghc-indents
5184 (package
5185 (name "ghc-indents")
d66473fb 5186 (version "0.5.0.1")
dddbc90c
RV
5187 (source (origin
5188 (method url-fetch)
5189 (uri (string-append
5190 "https://hackage.haskell.org/package/indents/indents-"
5191 version ".tar.gz"))
5192 (sha256
5193 (base32
d66473fb 5194 "0dpcwiz0dwn5aqdsc50plfaawh86adhf7jx5dsmhn5q5nz32qn51"))))
dddbc90c
RV
5195 (build-system haskell-build-system)
5196 ;; This package needs an older version of tasty.
5197 (arguments '(#:tests? #f))
5198 (inputs
5199 `(("ghc-concatenative" ,ghc-concatenative)))
5200 (native-inputs
5201 `(("ghc-tasty" ,ghc-tasty)
5202 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5203 (home-page "http://patch-tag.com/r/salazar/indents")
5204 (synopsis "Indentation sensitive parser-combinators for parsec")
5205 (description
5206 "This library provides functions for use in parsing indentation sensitive
5207contexts. It parses blocks of lines all indented to the same level as well as
5208lines continued at an indented level below.")
5209 (license license:bsd-3)))
5210
1f656b17
TS
5211(define-public ghc-infer-license
5212 (package
5213 (name "ghc-infer-license")
5214 (version "0.2.0")
5215 (source
5216 (origin
5217 (method url-fetch)
5218 (uri (string-append "https://hackage.haskell.org/package/"
5219 "infer-license/infer-license-" version ".tar.gz"))
5220 (sha256
5221 (base32
5222 "0wlfm6bf55kfvm74xar9lmjg5v1103rs9m3grw1rq5bmcmhzxrhj"))))
5223 (build-system haskell-build-system)
5224 (inputs
5225 `(("ghc-text-metrics" ,ghc-text-metrics)))
5226 (native-inputs
5227 `(("ghc-hspec" ,ghc-hspec)
5228 ("hspec-discover" ,hspec-discover)))
5229 (home-page "http://hackage.haskell.org/package/infer-license")
5230 (synopsis "Infer software license from a given license file")
5231 (description "This library provides tools to infer a software
5232license from a given license file.")
5233 (license license:expat)))
5234
dddbc90c
RV
5235(define-public ghc-inline-c
5236 (package
5237 (name "ghc-inline-c")
55ec98f2 5238 (version "0.7.0.1")
dddbc90c
RV
5239 (source
5240 (origin
5241 (method url-fetch)
5242 (uri (string-append "https://hackage.haskell.org/package/inline-c/"
5243 "inline-c-" version ".tar.gz"))
5244 (sha256
5245 (base32
55ec98f2 5246 "19scbviwiv1fbsdcjji3dscjg7w0xa8r97xwkqqrwm7zhvrg5wns"))))
dddbc90c
RV
5247 (build-system haskell-build-system)
5248 (inputs
5249 `(("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
5250 ("ghc-cryptohash" ,ghc-cryptohash)
5251 ("ghc-hashable" ,ghc-hashable)
5252 ("ghc-parsers" ,ghc-parsers)
5253 ("ghc-unordered-containers" ,ghc-unordered-containers)
5254 ("ghc-vector" ,ghc-vector)))
5255 (native-inputs
5256 `(("ghc-quickcheck" ,ghc-quickcheck)
5257 ("ghc-hspec" ,ghc-hspec)
5258 ("ghc-raw-strings-qq" ,ghc-raw-strings-qq)
5259 ("ghc-regex-posix" ,ghc-regex-posix)))
5260 (home-page "http://hackage.haskell.org/package/inline-c")
5261 (synopsis "Write Haskell source files including C code inline")
5262 (description
5263 "inline-c lets you seamlessly call C libraries and embed high-performance
5264inline C code in Haskell modules. Haskell and C can be freely intermixed in
5265the same source file, and data passed to and from code in either language with
5266minimal overhead. No FFI required.")
5267 (license license:expat)))
5268
5269(define-public ghc-inline-c-cpp
5270 (package
5271 (name "ghc-inline-c-cpp")
cae58e56 5272 (version "0.3.0.3")
dddbc90c
RV
5273 (source
5274 (origin
5275 (method url-fetch)
5276 (uri (string-append "https://hackage.haskell.org/package/inline-c-cpp/"
5277 "inline-c-cpp-" version ".tar.gz"))
5278 (sha256
5279 (base32
cae58e56 5280 "1sxwx9dh60qfpa72dymj015zwd6prhb70x5mkabqzi7nhg3aakln"))))
dddbc90c
RV
5281 (build-system haskell-build-system)
5282 (inputs
5283 `(("ghc-inline-c" ,ghc-inline-c)
5284 ("ghc-safe-exceptions" ,ghc-safe-exceptions)))
5285 (native-inputs
5286 `(("ghc-hspec" ,ghc-hspec)))
5287 (home-page "https://hackage.haskell.org/package/inline-c-cpp")
5288 (synopsis "Lets you embed C++ code into Haskell")
5289 (description
5290 "This package provides utilities to inline C++ code into Haskell using
5291@code{inline-c}.")
5292 (license license:expat)))
5293
5294(define-public ghc-integer-logarithms
5295 (package
5296 (name "ghc-integer-logarithms")
86a704db 5297 (version "1.0.3")
dddbc90c
RV
5298 (source
5299 (origin
5300 (method url-fetch)
5301 (uri (string-append "https://hackage.haskell.org/package/"
5302 "integer-logarithms/integer-logarithms-"
5303 version ".tar.gz"))
5304 (sha256
5305 (base32
86a704db 5306 "05pc5hws66csvcvfswlwcr2fplwn1lbssvwifjxkbbwqhq0n5qjs"))))
dddbc90c
RV
5307 (build-system haskell-build-system)
5308 (arguments
5309 `(#:phases
5310 (modify-phases %standard-phases
5311 (add-before 'configure 'update-constraints
5312 (lambda _
5313 (substitute* "integer-logarithms.cabal"
5314 (("tasty >= 0\\.10 && < 1\\.1")
5315 "tasty >= 0.10 && < 1.2")))))))
5316 (native-inputs
5317 `(("ghc-quickcheck" ,ghc-quickcheck)
5318 ("ghc-smallcheck" ,ghc-smallcheck)
5319 ("ghc-tasty" ,ghc-tasty)
5320 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5321 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5322 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)))
5323 (home-page "https://github.com/Bodigrim/integer-logarithms")
5324 (synopsis "Integer logarithms")
5325 (description
5326 "This package provides the following modules:
5327@code{Math.NumberTheory.Logarithms} and
5328@code{Math.NumberTheory.Powers.Integer} from the @code{arithmoi} package,
5329@code{GHC.Integer.Logarithms.Compat} and
5330@code{Math.NumberTheory.Power.Natural}, as well as some additional functions
5331in migrated modules.")
5332 (license license:expat)))
5333
5334(define-public ghc-integer-logarithms-bootstrap
5335 (package
5336 (inherit ghc-integer-logarithms)
5337 (name "ghc-integer-logarithms-bootstrap")
5338 (arguments `(#:tests? #f))
5339 (native-inputs '())
799d8d3c 5340 (properties '((hidden? #t)))))
dddbc90c
RV
5341
5342(define-public ghc-interpolate
5343 (package
5344 (name "ghc-interpolate")
5345 (version "0.2.0")
5346 (source
5347 (origin
5348 (method url-fetch)
5349 (uri (string-append "https://hackage.haskell.org/package/interpolate/"
5350 "interpolate-" version ".tar.gz"))
5351 (sha256
5352 (base32
5353 "1gkaj98yz363v38fv78sqby236mp8yqwqcilx7kr2b9z0w3204bf"))))
5354 (build-system haskell-build-system)
5355 (inputs
5356 `(("ghc-haskell-src-meta" ,ghc-haskell-src-meta)))
5357 (native-inputs
5358 `(("ghc-base-compat" ,ghc-base-compat)
5359 ("ghc-hspec" ,ghc-hspec)
5360 ("ghc-quickcheck" ,ghc-quickcheck)
5361 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
5362 ("hspec-discover" ,hspec-discover)))
5363 (home-page "https://github.com/sol/interpolate")
5364 (synopsis "String interpolation library")
5365 (description "This package provides a string interpolation library for
5366Haskell.")
5367 (license license:expat)))
5368
5369(define-public ghc-intervalmap
5370 (package
5371 (name "ghc-intervalmap")
e4946e32 5372 (version "0.6.1.1")
dddbc90c
RV
5373 (source
5374 (origin
5375 (method url-fetch)
5376 (uri (string-append "https://hackage.haskell.org/package/IntervalMap/"
5377 "IntervalMap-" version ".tar.gz"))
5378 (sha256
5379 (base32
e4946e32 5380 "0vdlvxvhf7vjyv0mfn6jaj2i2gclqv8419ck32s2jxfcmki5m5g8"))))
dddbc90c
RV
5381 (build-system haskell-build-system)
5382 (native-inputs
5383 `(("ghc-quickcheck" ,ghc-quickcheck)))
5384 (home-page "http://www.chr-breitkopf.de/comp/IntervalMap")
5385 (synopsis "Containers for intervals, with efficient search")
5386 (description
5387 "This package provides ordered containers of intervals, with efficient
5388search for all keys containing a point or overlapping an interval. See the
5389example code on the home page for a quick introduction.")
5390 (license license:bsd-3)))
5391
5392(define-public ghc-invariant
5393 (package
5394 (name "ghc-invariant")
d3a0e0b4 5395 (version "0.5.3")
dddbc90c
RV
5396 (source
5397 (origin
5398 (method url-fetch)
5399 (uri (string-append
5400 "https://hackage.haskell.org/package/invariant/invariant-"
5401 version ".tar.gz"))
5402 (sha256
5403 (base32
d3a0e0b4 5404 "03245nhcqxx6b0yw81fzqaqd7cgllmx8awzhvs2xv7ys73pmsgnp"))))
dddbc90c
RV
5405 (build-system haskell-build-system)
5406 (inputs
5407 `(("ghc-bifunctors" ,ghc-bifunctors)
5408 ("ghc-comonad" ,ghc-comonad)
5409 ("ghc-contravariant" ,ghc-contravariant)
5410 ("ghc-profunctors" ,ghc-profunctors)
5411 ("ghc-semigroups" ,ghc-semigroups)
5412 ("ghc-statevar" ,ghc-statevar)
5413 ("ghc-tagged" ,ghc-tagged)
5414 ("ghc-th-abstraction" ,ghc-th-abstraction)
5415 ("ghc-transformers-compat" ,ghc-transformers-compat)
5416 ("ghc-unordered-containers" ,ghc-unordered-containers)))
5417 (native-inputs
5418 `(("ghc-hspec" ,ghc-hspec)
5419 ("ghc-quickcheck" ,ghc-quickcheck)
5420 ("hspec-discover" ,hspec-discover)))
5421 (home-page "https://github.com/nfrisby/invariant-functors")
5422 (synopsis "Haskell98 invariant functors")
5423 (description "Haskell98 invariant functors (also known as exponential
5424functors). For more information, see Edward Kmett's article
5425@uref{http://comonad.com/reader/2008/rotten-bananas/, Rotten Bananas}.")
5426 (license license:bsd-2)))
5427
5428(define-public ghc-io-streams
5429 (package
5430 (name "ghc-io-streams")
59e98d75 5431 (version "1.5.1.0")
dddbc90c
RV
5432 (source
5433 (origin
5434 (method url-fetch)
5435 (uri (string-append "https://hackage.haskell.org/package/"
5436 "io-streams/io-streams-" version ".tar.gz"))
5437 (sha256
5438 (base32
59e98d75 5439 "1c7byr943x41nxpc3bnz152fvfbmakafq2958wyf9qiyp2pz18la"))))
dddbc90c
RV
5440 (build-system haskell-build-system)
5441 (inputs
5442 `(("ghc-attoparsec" ,ghc-attoparsec)
5443 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
5444 ("ghc-network" ,ghc-network)
5445 ("ghc-primitive" ,ghc-primitive)
5446 ("ghc-vector" ,ghc-vector)
5447 ("ghc-zlib-bindings" ,ghc-zlib-bindings)))
5448 (native-inputs
5449 `(("ghc-hunit" ,ghc-hunit)
5450 ("ghc-quickcheck" ,ghc-quickcheck)
5451 ("ghc-test-framework" ,ghc-test-framework)
5452 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
5453 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
5454 ("ghc-zlib" ,ghc-zlib)))
dddbc90c
RV
5455 (home-page "http://hackage.haskell.org/package/io-streams")
5456 (synopsis "Simple and composable stream I/O")
5457 (description "This library contains simple and easy-to-use
5458primitives for I/O using streams.")
5459 (license license:bsd-3)))
5460
5461(define-public ghc-io-streams-haproxy
5462 (package
5463 (name "ghc-io-streams-haproxy")
1a4fbc36 5464 (version "1.0.1.0")
dddbc90c
RV
5465 (source
5466 (origin
5467 (method url-fetch)
5468 (uri (string-append "https://hackage.haskell.org/package/"
5469 "io-streams-haproxy/io-streams-haproxy-"
5470 version ".tar.gz"))
5471 (sha256
5472 (base32
1a4fbc36 5473 "1dcn5hd4fiwyq7m01r6fi93vfvygca5s6mz87c78m0zyj29clkmp"))))
dddbc90c
RV
5474 (build-system haskell-build-system)
5475 (inputs
5476 `(("ghc-attoparsec" ,ghc-attoparsec)
5477 ("ghc-io-streams" ,ghc-io-streams)
5478 ("ghc-network" ,ghc-network)))
5479 (native-inputs
5480 `(("ghc-hunit" ,ghc-hunit)
5481 ("ghc-test-framework" ,ghc-test-framework)
5482 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
dddbc90c
RV
5483 (home-page "http://snapframework.com/")
5484 (synopsis "HAProxy protocol 1.5 support for io-streams")
5485 (description "HAProxy protocol version 1.5 support
5486(see @uref{http://haproxy.1wt.eu/download/1.5/doc/proxy-protocol.txt})
5487for applications using io-streams. The proxy protocol allows information
5488about a networked peer (like remote address and port) to be propagated
5489through a forwarding proxy that is configured to speak this protocol.")
5490 (license license:bsd-3)))
5491
5492(define-public ghc-iproute
5493 (package
5494 (name "ghc-iproute")
ec25d536 5495 (version "1.7.7")
dddbc90c
RV
5496 (source
5497 (origin
5498 (method url-fetch)
5499 (uri (string-append
5500 "https://hackage.haskell.org/package/iproute/iproute-"
5501 version
5502 ".tar.gz"))
5503 (sha256
5504 (base32
ec25d536 5505 "0gab5930nvzrpvisx3x43ydnp2rd4fbmy9cq1zpgqy1adx5gx8z6"))))
dddbc90c
RV
5506 (build-system haskell-build-system)
5507 (arguments `(#:tests? #f)) ; FIXME: Tests cannot find System.ByteOrder,
5508 ; exported by ghc-byteorder. Doctest issue.
5509 (inputs
5510 `(("ghc-appar" ,ghc-appar)
5511 ("ghc-byteorder" ,ghc-byteorder)
5512 ("ghc-network" ,ghc-network)
5513 ("ghc-safe" ,ghc-safe)))
5514 (home-page "https://www.mew.org/~kazu/proj/iproute/")
5515 (synopsis "IP routing table")
5516 (description "IP Routing Table is a tree of IP ranges to search one of
5517them on the longest match base. It is a kind of TRIE with one way branching
5518removed. Both IPv4 and IPv6 are supported.")
5519 (license license:bsd-3)))
5520
5521(define-public ghc-iwlib
5522 (package
5523 (name "ghc-iwlib")
5524 (version "0.1.0")
5525 (source
5526 (origin
5527 (method url-fetch)
5528 (uri (string-append "https://hackage.haskell.org/package/iwlib/iwlib-"
5529 version ".tar.gz"))
5530 (sha256
5531 (base32 "0khmfwql4vwj55idsxmhjhrbqzfir3g9wm5lmpvnf77mm95cfpdz"))))
5532 (build-system haskell-build-system)
5533 (inputs
5534 `(("wireless-tools" ,wireless-tools)))
5535 (home-page "https://github.com/jaor/iwlib")
5536 (synopsis "Haskell binding to the iw wireless networking library")
5537 (description
5538 "IWlib is a thin Haskell binding to the iw C library. It provides
5539information about the current wireless network connections, and adapters on
5540supported systems.")
5541 (license license:bsd-3)))
5542
5543(define-public ghc-json
5544 (package
5545 (name "ghc-json")
0ad3d574 5546 (version "0.9.3")
dddbc90c
RV
5547 (source
5548 (origin
5549 (method url-fetch)
5550 (uri (string-append "https://hackage.haskell.org/package/json/"
5551 "json-" version ".tar.gz"))
5552 (sha256
5553 (base32
0ad3d574 5554 "1z8s3mfg76p2flqqd2wqsi96l5bg8k8w8m58zlv81pw3k7h1vbwb"))))
dddbc90c
RV
5555 (build-system haskell-build-system)
5556 (inputs
5557 `(("ghc-syb" ,ghc-syb)))
5558 (home-page "https://hackage.haskell.org/package/json")
5559 (synopsis "Serializes Haskell data to and from JSON")
5560 (description "This package provides a parser and pretty printer for
5561converting between Haskell values and JSON.
5562JSON (JavaScript Object Notation) is a lightweight data-interchange format.")
5563 (license license:bsd-3)))
5564
5565(define-public ghc-juicypixels
5566 (package
5567 (name "ghc-juicypixels")
b50b6004 5568 (version "3.3.4")
dddbc90c
RV
5569 (source (origin
5570 (method url-fetch)
5571 (uri (string-append "https://hackage.haskell.org/package/"
5572 "JuicyPixels/JuicyPixels-"
5573 version ".tar.gz"))
5574 (sha256
5575 (base32
b50b6004 5576 "0qacrnz2qcykj3f6c4k2p8qd31pa2slpv3ykfblgizrfh3401q6x"))))
dddbc90c
RV
5577 (build-system haskell-build-system)
5578 (inputs
5579 `(("ghc-zlib" ,ghc-zlib)
5580 ("ghc-vector" ,ghc-vector)
5581 ("ghc-primitive" ,ghc-primitive)
5582 ("ghc-mmap" ,ghc-mmap)))
5583 (home-page "https://github.com/Twinside/Juicy.Pixels")
5584 (synopsis "Picture loading and serialization library")
5585 (description
5586 "This library can load and store images in PNG, Bitmap, JPEG, Radiance,
5587TIFF and GIF formats.")
5588 (license license:bsd-3)))
5589
5590(define-public ghc-kan-extensions
5591 (package
5592 (name "ghc-kan-extensions")
5593 (version "5.2")
5594 (source
5595 (origin
5596 (method url-fetch)
5597 (uri (string-append
5598 "https://hackage.haskell.org/package/kan-extensions/kan-extensions-"
5599 version
5600 ".tar.gz"))
5601 (sha256
5602 (base32
5603 "1lyvyiwwh962j2nnnsqzlvp5zq6z8p3spvhmji99cjvldxc7wwkb"))))
5604 (build-system haskell-build-system)
5605 (inputs
5606 `(("ghc-adjunctions" ,ghc-adjunctions)
5607 ("ghc-comonad" ,ghc-comonad)
5608 ("ghc-contravariant" ,ghc-contravariant)
5609 ("ghc-distributive" ,ghc-distributive)
5610 ("ghc-free" ,ghc-free)
5611 ("ghc-invariant" ,ghc-invariant)
5612 ("ghc-semigroupoids" ,ghc-semigroupoids)
5613 ("ghc-tagged" ,ghc-tagged)
5614 ("ghc-transformers-compat" ,ghc-transformers-compat)))
5615 (home-page "https://github.com/ekmett/kan-extensions/")
5616 (synopsis "Kan extensions library")
5617 (description "This library provides Kan extensions, Kan lifts, various
5618forms of the Yoneda lemma, and (co)density (co)monads for Haskell.")
5619 (license license:bsd-3)))
5620
5621(define-public ghc-language-c
5622 (package
5623 (name "ghc-language-c")
4e1cf651 5624 (version "0.8.3")
dddbc90c
RV
5625 (source
5626 (origin
5627 (method url-fetch)
5628 (uri (string-append "https://hackage.haskell.org/package/"
5629 "language-c/language-c-" version ".tar.gz"))
5630 (sha256
5631 (base32
4e1cf651 5632 "0bi02jdirkys8v7flf39vrpla2a74z1z0sdhy9lb9v7cmcc6rmpk"))))
dddbc90c
RV
5633 (build-system haskell-build-system)
5634 (inputs `(("ghc-syb" ,ghc-syb)))
5635 (native-inputs
5636 `(("ghc-happy" ,ghc-happy)
5637 ("ghc-alex" ,ghc-alex)))
5638 (home-page "https://visq.github.io/language-c/")
5639 (synopsis "Analysis and generation of C code")
5640 (description
5641 "Language C is a Haskell library for the analysis and generation of C code.
5642It features a complete, well-tested parser and pretty printer for all of C99
5643and a large set of GNU extensions.")
5644 (license license:bsd-3)))
5645
5646(define-public ghc-language-glsl
5647 (package
5648 (name "ghc-language-glsl")
5649 (version "0.3.0")
5650 (source
5651 (origin
5652 (method url-fetch)
5653 (uri (string-append "https://hackage.haskell.org/package/"
5654 "language-glsl/language-glsl-" version ".tar.gz"))
5655 (sha256
5656 (base32
5657 "0hdg67ainlqpjjghg3qin6fg4p783m0zmjqh4rd5gyizwiplxkp1"))))
5658 (build-system haskell-build-system)
5659 (inputs `(("ghc-prettyclass" ,ghc-prettyclass)))
5660 (arguments
5661 `(#:tests? #f
5662 #:cabal-revision
5663 ("1" "10ac9pk4jy75k03j1ns4b5136l4kw8krr2d2nw2fdmpm5jzyghc5")))
5664 (home-page "http://hackage.haskell.org/package/language-glsl")
5665 (synopsis "GLSL abstract syntax tree, parser, and pretty-printer")
5666 (description "This package is a Haskell library for the
5667representation, parsing, and pretty-printing of GLSL 1.50 code.")
5668 (license license:bsd-3)))
5669
5670(define-public ghc-language-haskell-extract
5671 (package
5672 (name "ghc-language-haskell-extract")
5673 (version "0.2.4")
5674 (source
5675 (origin
5676 (method url-fetch)
5677 (uri (string-append "https://hackage.haskell.org/package/"
5678 "language-haskell-extract-" version "/"
5679 "language-haskell-extract-" version ".tar.gz"))
5680 (sha256
5681 (base32
5682 "1nxcs7g8a1sp91bzpy4cj6s31k5pvc3gvig04cbrggv5cvjidnhl"))))
5683 (build-system haskell-build-system)
5684 (inputs
5685 `(("ghc-regex-posix" ,ghc-regex-posix)))
5686 (home-page "https://github.com/finnsson/template-helper")
5687 (synopsis "Haskell module to automatically extract functions from
5688the local code")
5689 (description "This package contains helper functions on top of
5690Template Haskell.
5691
5692For example, @code{functionExtractor} extracts all functions after a
5693regexp-pattern, which can be useful if you wish to extract all functions
5694beginning with @code{test} (for a test framework) or all functions beginning
5695with @code{wc} (for a web service).")
5696 (license license:bsd-3)))
5697
5698(define-public ghc-lens
5699 (package
5700 (name "ghc-lens")
5701 (version "4.16.1")
5702 (source
5703 (origin
5704 (method url-fetch)
5705 (uri (string-append "https://hackage.haskell.org/package/lens/lens-"
5706 version ".tar.gz"))
5707 (sha256
5708 (base32
5709 "1im4drhbydbawd6i0jsrzpqihnmx4ywpkg7yg94ddwsw3mxwkgpm"))))
5710 (build-system haskell-build-system)
5711 (arguments
5712 `(#:cabal-revision
5713 ("2" "11h83lj5mba4grhz1qx3irz10ysm9c3k7k6i6xv2cr60q8xin3ri")))
5714 (inputs
5715 `(("ghc-base-orphans" ,ghc-base-orphans)
5716 ("ghc-bifunctors" ,ghc-bifunctors)
5717 ("ghc-distributive" ,ghc-distributive)
5718 ("ghc-exceptions" ,ghc-exceptions)
5719 ("ghc-free" ,ghc-free)
5720 ("ghc-kan-extensions" ,ghc-kan-extensions)
5721 ("ghc-parallel" ,ghc-parallel)
5722 ("ghc-reflection" ,ghc-reflection)
5723 ("ghc-semigroupoids" ,ghc-semigroupoids)
5724 ("ghc-vector" ,ghc-vector)
5725 ("ghc-call-stack" ,ghc-call-stack)
5726 ("ghc-comonad" ,ghc-comonad)
5727 ("ghc-contravariant" ,ghc-contravariant)
5728 ("ghc-hashable" ,ghc-hashable)
5729 ("ghc-profunctors" ,ghc-profunctors)
5730 ("ghc-semigroups" ,ghc-semigroups)
5731 ("ghc-tagged" ,ghc-tagged)
5732 ("ghc-transformers-compat" ,ghc-transformers-compat)
5733 ("ghc-unordered-containers" ,ghc-unordered-containers)
5734 ("ghc-void" ,ghc-void)
5735 ("ghc-generic-deriving" ,ghc-generic-deriving)
5736 ("ghc-nats" ,ghc-nats)
5737 ("ghc-simple-reflect" ,ghc-simple-reflect)
5738 ("hlint" ,hlint)))
5739 (native-inputs
5740 `(("cabal-doctest" ,cabal-doctest)
5741 ("ghc-doctest" ,ghc-doctest)
5742 ("ghc-hunit" ,ghc-hunit)
5743 ("ghc-test-framework" ,ghc-test-framework)
5744 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
5745 ("ghc-test-framework-th" ,ghc-test-framework-th)
5746 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
5747 ("ghc-quickcheck" ,ghc-quickcheck)))
5748 (home-page "https://github.com/ekmett/lens/")
5749 (synopsis "Lenses, Folds and Traversals")
5750 (description "This library provides @code{Control.Lens}. The combinators
5751in @code{Control.Lens} provide a highly generic toolbox for composing families
5752of getters, folds, isomorphisms, traversals, setters and lenses and their
5753indexed variants.")
5754 (license license:bsd-3)))
5755
5756(define-public ghc-libffi
5757 (package
5758 (name "ghc-libffi")
5759 (version "0.1")
5760 (source
5761 (origin
5762 (method url-fetch)
5763 (uri (string-append "https://hackage.haskell.org/package/"
5764 "libffi/libffi-" version ".tar.gz"))
5765 (sha256
5766 (base32
5767 "0g7jnhng3j7z5517aaqga0144aamibsbpgm3yynwyfzkq1kp0f28"))))
5768 (build-system haskell-build-system)
5769 (native-inputs `(("pkg-config" ,pkg-config)))
5770 (inputs `(("libffi" ,libffi)))
5771 (home-page "http://hackage.haskell.org/package/libffi")
5772 (synopsis "Haskell binding to libffi")
5773 (description
5774 "A binding to libffi, allowing C functions of types only known at runtime
5775to be called from Haskell.")
5776 (license license:bsd-3)))
5777
5778(define-public ghc-libmpd
5779 (package
5780 (name "ghc-libmpd")
bbf9845f 5781 (version "0.9.0.10")
dddbc90c
RV
5782 (source
5783 (origin
5784 (method url-fetch)
5785 (uri (string-append
5786 "mirror://hackage/package/libmpd/libmpd-"
5787 version
5788 ".tar.gz"))
5789 (sha256
5790 (base32
bbf9845f 5791 "0vy287mn1vk8kvij5i3hc0p02l886cpsq5dds7kl6g520si3abkb"))))
dddbc90c
RV
5792 (build-system haskell-build-system)
5793 ;; Tests fail on i686.
5794 ;; See https://github.com/vimus/libmpd-haskell/issues/112
5795 (arguments `(#:tests? #f))
5796 (inputs
5797 `(("ghc-attoparsec" ,ghc-attoparsec)
5798 ("ghc-old-locale" ,ghc-old-locale)
5799 ("ghc-data-default-class" ,ghc-data-default-class)
5800 ("ghc-network" ,ghc-network)
bbf9845f 5801 ("ghc-safe-exceptions" ,ghc-safe-exceptions)
dddbc90c
RV
5802 ("ghc-utf8-string" ,ghc-utf8-string)))
5803 (native-inputs
5804 `(("ghc-quickcheck" ,ghc-quickcheck)
5805 ("ghc-hspec" ,ghc-hspec)
5806 ("hspec-discover" ,hspec-discover)))
5807 (home-page "https://github.com/vimus/libmpd-haskell")
5808 (synopsis "Haskell client library for the Music Player Daemon")
5809 (description "This package provides a pure Haskell client library for the
5810Music Player Daemon.")
5811 (license license:expat)))
5812
5813(define-public ghc-libxml
5814 (package
5815 (name "ghc-libxml")
5816 (version "0.1.1")
5817 (source
5818 (origin
5819 (method url-fetch)
5820 (uri (string-append "https://hackage.haskell.org/package/libxml/"
5821 "libxml-" version ".tar.gz"))
5822 (sha256
5823 (base32
5824 "01zvk86kg726lf2vnlr7dxiz7g3xwi5a4ak9gcfbwyhynkzjmsfi"))))
5825 (build-system haskell-build-system)
5826 (inputs
5827 `(("libxml2" ,libxml2)))
5828 (arguments
5829 `(#:configure-flags
5830 `(,(string-append "--extra-include-dirs="
5831 (assoc-ref %build-inputs "libxml2")
5832 "/include/libxml2"))))
5833 (home-page "https://hackage.haskell.org/package/libxml")
5834 (synopsis "Haskell bindings to libxml2")
5835 (description
5836 "This library provides minimal Haskell binding to libxml2.")
5837 (license license:bsd-3)))
5838
0c2d6fc2
TS
5839(define-public ghc-libyaml
5840 (package
5841 (name "ghc-libyaml")
5842 (version "0.1.1.0")
5843 (source
5844 (origin
5845 (method url-fetch)
5846 (uri (string-append "https://hackage.haskell.org/package/"
5847 "libyaml/libyaml-" version ".tar.gz"))
5848 (sha256
5849 (base32
5850 "0psznm9c3yjsyj9aj8m2svvv9m2v0x90hnwarcx5sbswyi3l00va"))
5851 (modules '((guix build utils)))
5852 (snippet
5853 ;; Delete bundled LibYAML.
5854 '(begin
5855 (delete-file-recursively "libyaml_src")
5856 #t))))
5857 (build-system haskell-build-system)
5858 (arguments
5859 `(#:configure-flags `("--flags=system-libyaml")))
5860 (inputs
5861 `(("ghc-conduit" ,ghc-conduit)
5862 ("ghc-resourcet" ,ghc-resourcet)
5863 ("libyaml" ,libyaml-2.1)))
5864 (home-page "https://github.com/snoyberg/yaml#readme")
5865 (synopsis "Low-level, streaming YAML interface.")
5866 (description "This package provides a Haskell wrapper over the
5867LibYAML C library.")
5868 (license license:bsd-3)))
5869
dddbc90c
RV
5870(define-public ghc-lifted-async
5871 (package
5872 (name "ghc-lifted-async")
b5b6d7ea 5873 (version "0.10.0.4")
dddbc90c
RV
5874 (source
5875 (origin
5876 (method url-fetch)
5877 (uri (string-append
5878 "https://hackage.haskell.org/package/lifted-async/lifted-async-"
5879 version ".tar.gz"))
5880 (sha256
5881 (base32
b5b6d7ea 5882 "0cwl1d0wjpdk0v1l1qxiqiksmak950c8gx169c1q77cg0z18ijf9"))))
dddbc90c
RV
5883 (build-system haskell-build-system)
5884 (inputs
5885 `(("ghc-async" ,ghc-async)
5886 ("ghc-lifted-base" ,ghc-lifted-base)
5887 ("ghc-transformers-base" ,ghc-transformers-base)
5888 ("ghc-monad-control" ,ghc-monad-control)
5889 ("ghc-constraints" ,ghc-constraints)
5890 ("ghc-hunit" ,ghc-hunit)
5891 ("ghc-tasty" ,ghc-tasty)
5892 ("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
5893 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5894 ("ghc-tasty-th" ,ghc-tasty-th)))
5895 (home-page "https://github.com/maoe/lifted-async")
5896 (synopsis "Run lifted IO operations asynchronously and wait for their results")
5897 (description
5898 "This package provides IO operations from @code{async} package lifted to any
5899instance of @code{MonadBase} or @code{MonadBaseControl}.")
5900 (license license:bsd-3)))
5901
5902(define-public ghc-lifted-base
5903 (package
5904 (name "ghc-lifted-base")
5905 (version "0.2.3.12")
5906 (source
5907 (origin
5908 (method url-fetch)
5909 (uri (string-append
5910 "https://hackage.haskell.org/package/lifted-base/lifted-base-"
5911 version
5912 ".tar.gz"))
5913 (sha256
5914 (base32
5915 "1i8p8d3rkdh21bhgjjh32vd7qqjr7jq7p59qds0aw2kmargsjd61"))))
5916 (build-system haskell-build-system)
5917 (arguments `(#:tests? #f)) ; FIXME: Missing testing libraries.
5918 (inputs
5919 `(("ghc-transformers-base" ,ghc-transformers-base)
5920 ("ghc-monad-control" ,ghc-monad-control)
5921 ("ghc-transformers-compat" ,ghc-transformers-compat)
5922 ("ghc-hunit" ,ghc-hunit)))
5923 (home-page "https://github.com/basvandijk/lifted-base")
5924 (synopsis "Lifted IO operations from the base library")
5925 (description "Lifted-base exports IO operations from the @code{base}
5926library lifted to any instance of @code{MonadBase} or @code{MonadBaseControl}.
5927Note that not all modules from @code{base} are converted yet. The package
5928includes a copy of the @code{monad-peel} test suite written by Anders
5929Kaseorg.")
5930 (license license:bsd-3)))
5931
5932(define-public ghc-linear
5933 (package
5934 (name "ghc-linear")
5935 (version "1.20.8")
5936 (source
5937 (origin
5938 (method url-fetch)
5939 (uri (string-append "https://hackage.haskell.org/package/linear/"
5940 "linear-" version ".tar.gz"))
5941 (sha256
5942 (base32
5943 "046vkvxlb0s286qr55s0c6db0rlwbm1cmlmwhrrkqbkzhfcipgay"))))
5944 (build-system haskell-build-system)
5945 (inputs
5946 `(("ghc-adjunctions" ,ghc-adjunctions)
5947 ("ghc-base-orphans" ,ghc-base-orphans)
5948 ("ghc-bytes" ,ghc-bytes)
5949 ("ghc-cereal" ,ghc-cereal)
5950 ("ghc-distributive" ,ghc-distributive)
5951 ("ghc-hashable" ,ghc-hashable)
5952 ("ghc-lens" ,ghc-lens)
5953 ("ghc-reflection" ,ghc-reflection)
5954 ("ghc-semigroups" ,ghc-semigroups)
5955 ("ghc-semigroupoids" ,ghc-semigroupoids)
5956 ("ghc-tagged" ,ghc-tagged)
5957 ("ghc-transformers-compat" ,ghc-transformers-compat)
5958 ("ghc-unordered-containers" ,ghc-unordered-containers)
5959 ("ghc-vector" ,ghc-vector)
5960 ("ghc-void" ,ghc-void)))
5961 (native-inputs
5962 `(("cabal-doctest" ,cabal-doctest)
5963 ("ghc-doctest" ,ghc-doctest)
5964 ("ghc-simple-reflect" ,ghc-simple-reflect)
5965 ("ghc-test-framework" ,ghc-test-framework)
5966 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
5967 ("ghc-hunit" ,ghc-hunit)))
5968 (home-page "http://github.com/ekmett/linear/")
5969 (synopsis "Linear algebra library for Haskell")
5970 (description
5971 "This package provides types and combinators for linear algebra on free
5972vector spaces.")
5973 (license license:bsd-3)))
1307e4c7
JS
5974
5975(define-public ghc-listlike
5976 (package
5977 (name "ghc-listlike")
5978 (version "4.6.2")
5979 (source
5980 (origin
5981 (method url-fetch)
5982 (uri
5983 (string-append
5984 "https://hackage.haskell.org/package/ListLike/ListLike-"
5985 version ".tar.gz"))
5986 (sha256
5987 (base32
5988 "0m65x8yaq7q50gznln8mga2wrc8cvjx6gw9rim8s7xqcrx6y5zjh"))))
5989 (build-system haskell-build-system)
5990 (inputs
5991 `(("ghc-vector" ,ghc-vector)
5992 ("ghc-dlist" ,ghc-dlist)
5993 ("ghc-fmlist" ,ghc-fmlist)
5994 ("ghc-hunit" ,ghc-hunit)
5995 ("ghc-quickcheck" ,ghc-quickcheck)
5996 ("ghc-random" ,ghc-random)
5997 ("ghc-utf8-string" ,ghc-utf8-string)))
5998 (home-page "https://github.com/JohnLato/listlike")
5999 (synopsis "Generic support for list-like structures")
6000 (description "The ListLike module provides a common interface to the
6001various Haskell types that are list-like. Predefined interfaces include
6002standard Haskell lists, Arrays, ByteStrings, and lazy ByteStrings.
6003Custom types can easily be made ListLike instances as well.
6004
6005ListLike also provides for String-like types, such as String and
6006ByteString, for types that support input and output, and for types that
6007can handle infinite lists.")
6008 (license license:bsd-3)))
dddbc90c
RV
6009
6010(define-public ghc-logging-facade
6011 (package
6012 (name "ghc-logging-facade")
6013 (version "0.3.0")
6014 (source (origin
6015 (method url-fetch)
6016 (uri (string-append "https://hackage.haskell.org/package/"
6017 "logging-facade/logging-facade-"
6018 version ".tar.gz"))
6019 (sha256
6020 (base32
6021 "0d0lwxxgd16is9aw6v3ps4r9prv3dj8xscmm45fvzq3nicjiawcf"))))
6022 (build-system haskell-build-system)
6023 (native-inputs
6024 `(("ghc-hspec" ,ghc-hspec)
6025 ("hspec-discover" ,hspec-discover)))
6026 (home-page "https://hackage.haskell.org/package/logging-facade")
6027 (synopsis "Simple logging abstraction that allows multiple back-ends")
6028 (description
6029 "This package provides a simple logging abstraction that allows multiple
6030back-ends.")
6031 (license license:expat)))
6032
6033(define-public ghc-logict
6034 (package
6035 (name "ghc-logict")
79d9326f 6036 (version "0.7.0.2")
dddbc90c
RV
6037 (source
6038 (origin
6039 (method url-fetch)
6040 (uri (string-append
6041 "https://hackage.haskell.org/package/logict/logict-"
6042 version
6043 ".tar.gz"))
6044 (sha256
6045 (base32
79d9326f 6046 "1xfgdsxg0lp8m0a2cb83rcxrnnc37asfikay2kydi933anh9ihfc"))))
dddbc90c 6047 (build-system haskell-build-system)
79d9326f
TS
6048 (native-inputs
6049 `(("ghc-tasty" ,ghc-tasty)
6050 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
dddbc90c
RV
6051 (home-page "http://code.haskell.org/~dolio/")
6052 (synopsis "Backtracking logic-programming monad")
6053 (description "This library provides a continuation-based, backtracking,
6054logic programming monad. An adaptation of the two-continuation implementation
6055found in the paper \"Backtracking, Interleaving, and Terminating Monad
6056Transformers\" available @uref{http://okmij.org/ftp/papers/LogicT.pdf,
6057online}.")
6058 (license license:bsd-3)))
6059
6060(define-public ghc-lzma
6061 (package
6062 (name "ghc-lzma")
6063 (version "0.0.0.3")
6064 (source
6065 (origin
6066 (method url-fetch)
6067 (uri (string-append "https://hackage.haskell.org/package/lzma/"
6068 "lzma-" version ".tar.gz"))
6069 (sha256
6070 (base32
6071 "0i416gqi8j55nd1pqbkxvf3f6hn6fjys6gq98lkkxphva71j30xg"))))
6072 (build-system haskell-build-system)
6073 (arguments
6074 '(#:tests? #f ; requires older versions of QuickCheck and tasty.
6075 #:cabal-revision
6076 ("3" "1sify6gnsalyp6dakfzi0mdy5jcz2kcp9jsdsgkmxd40nfzgd44m")))
6077 (native-inputs
6078 `(("ghc-hunit" ,ghc-hunit)
6079 ("ghc-quickcheck" ,ghc-quickcheck)
6080 ("ghc-tasty" ,ghc-tasty)
6081 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6082 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
6083 (home-page "https://github.com/hvr/lzma")
6084 (synopsis "LZMA/XZ compression and decompression")
6085 (description
6086 "This package provides a pure interface for compressing and
6087decompressing LZMA streams of data represented as lazy @code{ByteString}s. A
6088monadic incremental interface is provided as well.")
6089 (license license:bsd-3)))
6090
6091(define-public ghc-lzma-conduit
6092 (package
6093 (name "ghc-lzma-conduit")
6094 (version "1.2.1")
6095 (source
6096 (origin
6097 (method url-fetch)
6098 (uri (string-append "https://hackage.haskell.org/package/lzma-conduit/"
6099 "lzma-conduit-" version ".tar.gz"))
6100 (sha256
6101 (base32
6102 "0hm72da7xk9l3zxjh274yg444vf405djxqbkf3q3p2qhicmxlmg9"))))
6103 (build-system haskell-build-system)
6104 (inputs
6105 `(("ghc-conduit" ,ghc-conduit)
6106 ("ghc-lzma" ,ghc-lzma)
6107 ("ghc-resourcet" ,ghc-resourcet)))
6108 (native-inputs
6109 `(("ghc-base-compat" ,ghc-base-compat)
6110 ("ghc-test-framework" ,ghc-test-framework)
6111 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6112 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
6113 ("ghc-hunit" ,ghc-hunit)
6114 ("ghc-quickcheck" ,ghc-quickcheck)))
6115 (home-page "https://github.com/alphaHeavy/lzma-conduit")
6116 (synopsis "Conduit interface for lzma/xz compression")
6117 (description
6118 "This package provides a @code{Conduit} interface for the LZMA
6119compression algorithm used in the @code{.xz} file format.")
6120 (license license:bsd-3)))
6121
e405912c
KM
6122(define-public ghc-magic
6123 (package
6124 (name "ghc-magic")
6125 (version "1.1")
6126 (source
6127 (origin
6128 (method url-fetch)
6129 (uri (string-append
6130 "https://hackage.haskell.org/package/magic/magic-"
6131 version ".tar.gz"))
6132 (sha256
6133 (base32
6134 "10p0gjjjwr1dda7hahwrwn5njbfhl67arq3v3nf1jr3vymlkn75j"))))
6135 (build-system haskell-build-system)
6136 (home-page "http://hackage.haskell.org/package/magic")
6137 (synopsis "Interface to C file/magic library")
6138 (description
6139 "This package provides a full-featured binding to the C libmagic library.
6140With it, you can determine the type of a file by examining its contents rather
6141than its name.")
6142 (license license:bsd-3)))
6143
dddbc90c
RV
6144(define-public ghc-markdown-unlit
6145 (package
6146 (name "ghc-markdown-unlit")
6147 (version "0.5.0")
6148 (source (origin
6149 (method url-fetch)
6150 (uri (string-append
6151 "mirror://hackage/package/markdown-unlit/"
6152 "markdown-unlit-" version ".tar.gz"))
6153 (sha256
6154 (base32
6155 "1gy79vr85vcp13rdjh0hz7zv6daqqffww4j0cqn2lpjjh9xhsbg7"))))
6156 (build-system haskell-build-system)
6157 (inputs
6158 `(("ghc-base-compat" ,ghc-base-compat)
6159 ("ghc-hspec" ,ghc-hspec)
6160 ("ghc-quickcheck" ,ghc-quickcheck)
6161 ("ghc-silently" ,ghc-silently)
6162 ("ghc-stringbuilder" ,ghc-stringbuilder)
6163 ("ghc-temporary" ,ghc-temporary)
6164 ("hspec-discover" ,hspec-discover)))
6165 (home-page "https://github.com/sol/markdown-unlit#readme")
6166 (synopsis "Literate Haskell support for Markdown")
6167 (description "This package allows you to have a README.md that at the
6168same time is a literate Haskell program.")
6169 (license license:expat)))
6170
6171(define-public ghc-math-functions
6172 (package
6173 (name "ghc-math-functions")
b45de2bf 6174 (version "0.3.3.0")
dddbc90c
RV
6175 (source
6176 (origin
6177 (method url-fetch)
6178 (uri (string-append "https://hackage.haskell.org/package/"
6179 "math-functions-" version "/"
6180 "math-functions-" version ".tar.gz"))
6181 (sha256
6182 (base32
b45de2bf 6183 "1s5nbs40sc3r4z08n0j8bw40cy0zkp03fjjn3p27zkd4fvm9kib3"))))
dddbc90c
RV
6184 (build-system haskell-build-system)
6185 (arguments `(#:tests? #f)) ; FIXME: 1 test fails.
6186 (inputs
b45de2bf
TS
6187 `(("ghc-data-default-class" ,ghc-data-default-class)
6188 ("ghc-vector" ,ghc-vector)
dddbc90c
RV
6189 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)))
6190 (native-inputs
6191 `(("ghc-hunit" ,ghc-hunit)
6192 ("ghc-quickcheck" ,ghc-quickcheck)
6193 ("ghc-erf" ,ghc-erf)
6194 ("ghc-test-framework" ,ghc-test-framework)
6195 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6196 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
6197 (home-page "https://github.com/bos/math-functions")
6198 (synopsis "Special functions and Chebyshev polynomials for Haskell")
6199 (description "This Haskell library provides implementations of
6200special mathematical functions and Chebyshev polynomials. These
6201functions are often useful in statistical and numerical computing.")
6202 (license license:bsd-3)))
6203
6204(define-public ghc-megaparsec
6205 (package
6206 (name "ghc-megaparsec")
03b0c92e 6207 (version "7.0.5")
dddbc90c
RV
6208 (source
6209 (origin
6210 (method url-fetch)
6211 (uri (string-append "https://hackage.haskell.org/package/"
6212 "megaparsec/megaparsec-"
6213 version ".tar.gz"))
6214 (sha256
6215 (base32
03b0c92e 6216 "0bqx1icbmk8s7wmbcdzsgnlh607c7kzg8l80cp02dxr5valjxp7j"))))
dddbc90c 6217 (build-system haskell-build-system)
dddbc90c
RV
6218 (inputs
6219 `(("ghc-case-insensitive" ,ghc-case-insensitive)
6220 ("ghc-parser-combinators" ,ghc-parser-combinators)
6221 ("ghc-scientific" ,ghc-scientific)))
6222 (native-inputs
6223 `(("ghc-quickcheck" ,ghc-quickcheck)
6224 ("ghc-hspec" ,ghc-hspec)
6225 ("ghc-hspec-expectations" ,ghc-hspec-expectations)
6226 ("hspec-discover" ,hspec-discover)))
6227 (home-page "https://github.com/mrkkrp/megaparsec")
6228 (synopsis "Monadic parser combinators")
6229 (description
6230 "This is an industrial-strength monadic parser combinator library.
6231Megaparsec is a feature-rich package that strikes a nice balance between
6232speed, flexibility, and quality of parse errors.")
6233 (license license:bsd-2)))
6234
6235(define-public ghc-memory
6236 (package
6237 (name "ghc-memory")
d2c7d336 6238 (version "0.14.18")
dddbc90c
RV
6239 (source (origin
6240 (method url-fetch)
6241 (uri (string-append "https://hackage.haskell.org/package/"
6242 "memory/memory-" version ".tar.gz"))
6243 (sha256
6244 (base32
d2c7d336 6245 "01rmq3vagxzjmm96qnfxk4f0516cn12bp5m8inn8h5r918bqsigm"))))
dddbc90c
RV
6246 (build-system haskell-build-system)
6247 (inputs
6248 `(("ghc-basement" ,ghc-basement)
6249 ("ghc-foundation" ,ghc-foundation)))
6250 (native-inputs
6251 `(("ghc-tasty" ,ghc-tasty)
6252 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
6253 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
6254 (home-page "https://github.com/vincenthz/hs-memory")
6255 (synopsis "Memory abstractions for Haskell")
6256 (description
6257 "This package provides memory abstractions, such as chunk of memory,
6258polymorphic byte array management and manipulation functions. It contains a
6259polymorphic byte array abstraction and functions similar to strict ByteString,
6260different type of byte array abstraction, raw memory IO operations (memory
6261set, memory copy, ..) and more")
6262 (license license:bsd-3)))
6263
6264(define-public ghc-memotrie
6265 (package
6266 (name "ghc-memotrie")
6267 (version "0.6.9")
6268 (source
6269 (origin
6270 (method url-fetch)
6271 (uri (string-append
6272 "https://hackage.haskell.org/package/MemoTrie/MemoTrie-"
6273 version
6274 ".tar.gz"))
6275 (sha256
6276 (base32
6277 "157p0pi6rrq74a35mq6zkkycv4ah7xhkbrcmnkb9xf7pznw4aq0x"))))
6278 (build-system haskell-build-system)
6279 (inputs
6280 `(("ghc-newtype-generics" ,ghc-newtype-generics)))
6281 (home-page "https://github.com/conal/MemoTrie")
6282 (synopsis "Trie-based memo functions")
6283 (description "This package provides a functional library for creating
6284efficient memo functions using tries.")
6285 (license license:bsd-3)))
6286
6287(define-public ghc-microlens
6288 (package
6289 (name "ghc-microlens")
82478c58 6290 (version "0.4.10")
dddbc90c
RV
6291 (source
6292 (origin
6293 (method url-fetch)
6294 (uri (string-append "https://hackage.haskell.org/package/"
6295 "microlens-" version "/"
6296 "microlens-" version ".tar.gz"))
6297 (sha256
6298 (base32
82478c58 6299 "1v277yyy4p9q57xr2lfp6qs24agglfczmcabrapxrzci3jfshmcw"))))
dddbc90c
RV
6300 (build-system haskell-build-system)
6301 (home-page
6302 "https://github.com/aelve/microlens")
6303 (synopsis "Provides a tiny lens Haskell library with no dependencies")
6304 (description "This Haskell package provides a lens library, just like
6305@code{ghc-lens}, but smaller. It provides essential lenses and
6306traversals (like @code{_1} and @code{_Just}), as well as ones which are simply
6307nice to have (like @code{each}, @code{at}, and @code{ix}), and some
6308combinators (like @code{failing} and @code{singular}), but everything else is
6309stripped. As the result, this package has no dependencies.")
6310 (license license:bsd-3)))
6311
6312(define-public ghc-microlens-ghc
6313 (package
6314 (name "ghc-microlens-ghc")
027beb55 6315 (version "0.4.10")
dddbc90c
RV
6316 (source
6317 (origin
6318 (method url-fetch)
6319 (uri (string-append
6320 "https://hackage.haskell.org/package/microlens-ghc/microlens-ghc-"
6321 version
6322 ".tar.gz"))
6323 (sha256
6324 (base32
027beb55 6325 "102dbrdsdadxbbhvx8avv1wbk84767a7lkb8ckp3zxk9g7qlly33"))))
dddbc90c
RV
6326 (build-system haskell-build-system)
6327 (inputs `(("ghc-microlens" ,ghc-microlens)))
6328 (home-page "https://github.com/monadfix/microlens")
6329 (synopsis "Use @code{microlens} with GHC libraries like @code{array}")
6330 (description "This library provides everything that @code{microlens}
6331provides plus instances to make @code{each}, @code{at}, and @code{ix}
6332usable with arrays, @code{ByteString}, and containers. This package is
6333a part of the @uref{http://hackage.haskell.org/package/microlens,
6334microlens} family; see the readme
6335@uref{https://github.com/aelve/microlens#readme, on Github}.")
6336 (license license:bsd-3)))
6337
6338(define-public ghc-microlens-mtl
6339 (package
6340 (name "ghc-microlens-mtl")
6341 (version "0.1.11.1")
6342 (source
6343 (origin
6344 (method url-fetch)
6345 (uri (string-append
6346 "https://hackage.haskell.org/package/microlens-mtl/microlens-mtl-"
6347 version
6348 ".tar.gz"))
6349 (sha256
6350 (base32
6351 "0l6z1gkzwcpv89bxf5vgfrjb6gq2pj7sjjc53nvi5b9alx34zryk"))))
6352 (build-system haskell-build-system)
6353 (inputs
6354 `(("ghc-microlens" ,ghc-microlens)
6355 ("ghc-transformers-compat" ,ghc-transformers-compat)))
6356 (home-page "https://github.com/monadfix/microlens")
6357 (synopsis
6358 "@code{microlens} support for Reader/Writer/State from mtl")
6359 (description
6360 "This package contains functions (like @code{view} or @code{+=}) which
6361work on @code{MonadReader}, @code{MonadWriter}, and @code{MonadState} from the
6362mtl package. This package is a part of the
6363@uref{http://hackage.haskell.org/package/microlens, microlens} family; see the
6364readme @uref{https://github.com/aelve/microlens#readme, on Github}.")
6365 (license license:bsd-3)))
6366
6367(define-public ghc-microlens-platform
6368 (package
6369 (name "ghc-microlens-platform")
85decc1f 6370 (version "0.3.11")
dddbc90c
RV
6371 (source
6372 (origin
6373 (method url-fetch)
6374 (uri (string-append
6375 "https://hackage.haskell.org/package/"
6376 "microlens-platform/microlens-platform-" version ".tar.gz"))
6377 (sha256
6378 (base32
85decc1f 6379 "18950lxgmsg5ksvyyi3zs1smjmb1qf1q73a3p3g44bh21miz0xwb"))))
dddbc90c
RV
6380 (build-system haskell-build-system)
6381 (inputs
6382 `(("ghc-hashable" ,ghc-hashable)
6383 ("ghc-microlens" ,ghc-microlens)
6384 ("ghc-microlens-ghc" ,ghc-microlens-ghc)
6385 ("ghc-microlens-mtl" ,ghc-microlens-mtl)
6386 ("ghc-microlens-th" ,ghc-microlens-th)
6387 ("ghc-unordered-containers" ,ghc-unordered-containers)
6388 ("ghc-vector" ,ghc-vector)))
6389 (home-page "https://github.com/monadfix/microlens")
6390 (synopsis "Feature-complete microlens")
6391 (description
6392 "This package exports a module which is the recommended starting point
6393for using @uref{http://hackage.haskell.org/package/microlens, microlens} if
6394you aren't trying to keep your dependencies minimal. By importing
6395@code{Lens.Micro.Platform} you get all functions and instances from
6396@uref{http://hackage.haskell.org/package/microlens, microlens},
6397@uref{http://hackage.haskell.org/package/microlens-th, microlens-th},
6398@uref{http://hackage.haskell.org/package/microlens-mtl, microlens-mtl},
6399@uref{http://hackage.haskell.org/package/microlens-ghc, microlens-ghc}, as
6400well as instances for @code{Vector}, @code{Text}, and @code{HashMap}. The
6401minor and major versions of @code{microlens-platform} are incremented whenever
6402the minor and major versions of any other @code{microlens} package are
6403incremented, so you can depend on the exact version of
6404@code{microlens-platform} without specifying the version of @code{microlens}
6405you need. This package is a part of the
6406@uref{http://hackage.haskell.org/package/microlens, microlens} family; see the
6407readme @uref{https://github.com/aelve/microlens#readme, on Github}.")
6408 (license license:bsd-3)))
6409
6410(define-public ghc-microlens-th
6411 (package
6412 (name "ghc-microlens-th")
7ae52867 6413 (version "0.4.2.3")
dddbc90c
RV
6414 (source
6415 (origin
6416 (method url-fetch)
6417 (uri (string-append "https://hackage.haskell.org/package/"
6418 "microlens-th-" version "/"
6419 "microlens-th-" version ".tar.gz"))
6420 (sha256
6421 (base32
7ae52867 6422 "13qw0pwcgd6f6i39rwgqwcwk1d4da5x7wv3gna7gdlxaq331h41j"))))
dddbc90c 6423 (build-system haskell-build-system)
7ae52867
TS
6424 (arguments
6425 `(#:cabal-revision
6426 ("1" "167in7b1qhgrspx81bdm2jyg9qji66sk7id282c0s99kmp0d01n6")))
dddbc90c
RV
6427 (inputs `(("ghc-microlens" ,ghc-microlens)
6428 ("ghc-th-abstraction" ,ghc-th-abstraction)))
6429 (home-page
6430 "https://github.com/aelve/microlens")
6431 (synopsis "Automatic generation of record lenses for
6432@code{ghc-microlens}")
6433 (description "This Haskell package lets you automatically generate lenses
6434for data types; code was extracted from the lens package, and therefore
6435generated lenses are fully compatible with ones generated by lens (and can be
6436used both from lens and microlens).")
6437 (license license:bsd-3)))
6438
6439(define-public ghc-missingh
6440 (package
6441 (name "ghc-missingh")
641207cb 6442 (version "1.4.1.0")
dddbc90c
RV
6443 (source
6444 (origin
6445 (method url-fetch)
6446 (uri (string-append "https://hackage.haskell.org/package/MissingH/"
6447 "MissingH-" version ".tar.gz"))
6448 (sha256
6449 (base32
641207cb 6450 "1jp0vk6w9a7fzrbxfhx773105jp2s1n50klq9ak6spfl7bgx5v29"))))
dddbc90c
RV
6451 (build-system haskell-build-system)
6452 ;; Tests require the unmaintained testpack package, which depends on the
6453 ;; outdated QuickCheck version 2.7, which can no longer be built with
6454 ;; recent versions of GHC and Haskell libraries.
6455 (arguments '(#:tests? #f))
6456 (inputs
6457 `(("ghc-network" ,ghc-network)
6458 ("ghc-hunit" ,ghc-hunit)
6459 ("ghc-regex-compat" ,ghc-regex-compat)
6460 ("ghc-hslogger" ,ghc-hslogger)
6461 ("ghc-random" ,ghc-random)
6462 ("ghc-old-time" ,ghc-old-time)
6463 ("ghc-old-locale" ,ghc-old-locale)))
6464 (native-inputs
6465 `(("ghc-errorcall-eq-instance" ,ghc-errorcall-eq-instance)
6466 ("ghc-quickcheck" ,ghc-quickcheck)
6467 ("ghc-hunit" ,ghc-hunit)))
6468 (home-page "http://software.complete.org/missingh")
6469 (synopsis "Large utility library")
6470 (description
6471 "MissingH is a library of all sorts of utility functions for Haskell
6472programmers. It is written in pure Haskell and thus should be extremely
6473portable and easy to use.")
6474 (license license:bsd-3)))
6475
6476(define-public ghc-mmap
6477 (package
6478 (name "ghc-mmap")
6479 (version "0.5.9")
6480 (source (origin
6481 (method url-fetch)
6482 (uri (string-append "https://hackage.haskell.org/package/"
6483 "mmap/mmap-" version ".tar.gz"))
6484 (sha256
6485 (base32
6486 "1y5mk3yf4b8r6rzmlx1xqn4skaigrqnv08sqq0v7r3nbw42bpz2q"))))
6487 (build-system haskell-build-system)
6488 (home-page "https://hackage.haskell.org/package/mmap")
6489 (synopsis "Memory mapped files for Haskell")
6490 (description
6491 "This library provides a wrapper to @code{mmap}, allowing files or
6492devices to be lazily loaded into memory as strict or lazy @code{ByteStrings},
6493@code{ForeignPtrs} or plain @code{Ptrs}, using the virtual memory subsystem to
6494do on-demand loading.")
6495 (license license:bsd-3)))
6496
6497(define-public ghc-mmorph
6498 (package
6499 (name "ghc-mmorph")
e0389704 6500 (version "1.1.3")
dddbc90c
RV
6501 (source
6502 (origin
6503 (method url-fetch)
6504 (uri (string-append
6505 "https://hackage.haskell.org/package/mmorph/mmorph-"
6506 version
6507 ".tar.gz"))
6508 (sha256
6509 (base32
e0389704 6510 "0rfsy9n9mlinpmqi2s17fhc67fzma2ig5fbmh6m5m830canzf8vr"))))
dddbc90c
RV
6511 (build-system haskell-build-system)
6512 (inputs
6513 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
6514 (home-page "https://hackage.haskell.org/package/mmorph")
6515 (synopsis "Monad morphisms")
6516 (description
6517 "This library provides monad morphism utilities, most commonly used for
6518manipulating monad transformer stacks.")
6519 (license license:bsd-3)))
6520
6521(define-public ghc-mockery
6522 (package
6523 (name "ghc-mockery")
6524 (version "0.3.5")
6525 (source (origin
6526 (method url-fetch)
6527 (uri (string-append "https://hackage.haskell.org/package/"
6528 "mockery/mockery-" version ".tar.gz"))
6529 (sha256
6530 (base32
6531 "09ypgm3z69gq8mj6y66ss58kbjnk15r8frwcwbqcfbfksfnfv8dp"))))
6532 (build-system haskell-build-system)
6533 (inputs
6534 `(("ghc-temporary" ,ghc-temporary)
6535 ("ghc-logging-facade" ,ghc-logging-facade)
6536 ("ghc-base-compat" ,ghc-base-compat)))
6537 (native-inputs
6538 `(("ghc-hspec" ,ghc-hspec)
6539 ("hspec-discover" ,hspec-discover)))
6540 (home-page "https://hackage.haskell.org/package/mockery")
6541 (synopsis "Support functions for automated testing")
6542 (description
6543 "The mockery package provides support functions for automated testing.")
6544 (license license:expat)))
6545
6546(define-public ghc-monad-control
6547 (package
6548 (name "ghc-monad-control")
6549 (version "1.0.2.3")
6550 (source
6551 (origin
6552 (method url-fetch)
6553 (uri (string-append
6554 "https://hackage.haskell.org/package/monad-control"
6555 "/monad-control-" version ".tar.gz"))
6556 (sha256
6557 (base32
6558 "1c92833gr6cadidjdp8mlznkpp8lyxl0w3y7d19y8yi3klc3843c"))))
6559 (build-system haskell-build-system)
6560 (inputs
6561 `(("ghc-transformers-base" ,ghc-transformers-base)
6562 ("ghc-transformers-compat" ,ghc-transformers-compat)))
6563 (home-page "https://github.com/basvandijk/monad-control")
6564 (synopsis "Monad transformers to lift control operations like exception
6565catching")
6566 (description "This package defines the type class @code{MonadBaseControl},
6567a subset of @code{MonadBase} into which generic control operations such as
6568@code{catch} can be lifted from @code{IO} or any other base monad.")
6569 (license license:bsd-3)))
6570
6571(define-public ghc-monad-logger
6572 (package
6573 (name "ghc-monad-logger")
26980aae 6574 (version "0.3.30")
dddbc90c
RV
6575 (source
6576 (origin
6577 (method url-fetch)
6578 (uri (string-append "https://hackage.haskell.org/package/"
6579 "monad-logger-" version "/"
6580 "monad-logger-" version ".tar.gz"))
6581 (sha256
6582 (base32
26980aae 6583 "102l0v75hbvkmrypiyg4ybb6rbc7nij5nxs1aihmqfdpg04rkkp7"))))
dddbc90c
RV
6584 (build-system haskell-build-system)
6585 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
6586 ("ghc-stm-chans" ,ghc-stm-chans)
6587 ("ghc-lifted-base" ,ghc-lifted-base)
6588 ("ghc-resourcet" ,ghc-resourcet)
6589 ("ghc-conduit" ,ghc-conduit)
6590 ("ghc-conduit-extra" ,ghc-conduit-extra)
6591 ("ghc-fast-logger" ,ghc-fast-logger)
6592 ("ghc-transformers-base" ,ghc-transformers-base)
6593 ("ghc-monad-control" ,ghc-monad-control)
6594 ("ghc-monad-loops" ,ghc-monad-loops)
6595 ("ghc-blaze-builder" ,ghc-blaze-builder)
6596 ("ghc-exceptions" ,ghc-exceptions)))
6597 (home-page "https://github.com/kazu-yamamoto/logger")
6598 (synopsis "Provides a class of monads which can log messages for Haskell")
6599 (description "This Haskell package uses a monad transformer approach
6600for logging.
6601
6602This package provides Template Haskell functions for determining source
6603code locations of messages.")
6604 (license license:expat)))
6605
6606(define-public ghc-monad-loops
6607 (package
6608 (name "ghc-monad-loops")
6609 (version "0.4.3")
6610 (source
6611 (origin
6612 (method url-fetch)
6613 (uri (string-append "https://hackage.haskell.org/package/"
6614 "monad-loops-" version "/"
6615 "monad-loops-" version ".tar.gz"))
6616 (sha256
6617 (base32
6618 "062c2sn3hc8h50p1mhqkpyv6x8dydz2zh3ridvlfjq9nqimszaky"))))
6619 (build-system haskell-build-system)
6620 (native-inputs `(("ghc-tasty" ,ghc-tasty)
6621 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
6622 (home-page "https://github.com/mokus0/monad-loops")
6623 (synopsis "Monadic loops for Haskell")
6624 (description "This Haskell package provides some useful control
6625operators for looping.")
6626 (license license:public-domain)))
6627
6628(define-public ghc-monad-par
6629 (package
6630 (name "ghc-monad-par")
6631 (version "0.3.4.8")
6632 (source
6633 (origin
6634 (method url-fetch)
6635 (uri (string-append "https://hackage.haskell.org/package/"
6636 "monad-par-" version "/"
6637 "monad-par-" version ".tar.gz"))
faac56f3 6638 (patches (search-patches "ghc-monad-par-fix-tests.patch"))
dddbc90c
RV
6639 (sha256
6640 (base32
6641 "0ldrzqy24fsszvn2a2nr77m2ih7xm0h9bgkjyv1l274aj18xyk7q"))))
6642 (build-system haskell-build-system)
6643 (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
6644 ("ghc-abstract-deque" ,ghc-abstract-deque)
6645 ("ghc-monad-par-extras" ,ghc-monad-par-extras)
6646 ("ghc-mwc-random" ,ghc-mwc-random)
6647 ("ghc-parallel" ,ghc-parallel)))
6648 (native-inputs `(("ghc-quickcheck" ,ghc-quickcheck)
6649 ("ghc-hunit" ,ghc-hunit)
6650 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6651 ("ghc-test-framework-quickcheck2"
6652 ,ghc-test-framework-quickcheck2)
6653 ("ghc-test-framework" ,ghc-test-framework)
6654 ("ghc-test-framework-th" ,ghc-test-framework-th)))
6655 (home-page "https://github.com/simonmar/monad-par")
6656 (synopsis "Haskell library for parallel programming based on a monad")
6657 (description "The @code{Par} monad offers an API for parallel
6658programming. The library works for parallelising both pure and @code{IO}
6659computations, although only the pure version is deterministic. The default
6660implementation provides a work-stealing scheduler and supports forking tasks
6661that are much lighter weight than IO-threads.")
6662 (license license:bsd-3)))
6663
6664(define-public ghc-monad-par-extras
6665 (package
6666 (name "ghc-monad-par-extras")
6667 (version "0.3.3")
6668 (source
6669 (origin
6670 (method url-fetch)
6671 (uri (string-append "https://hackage.haskell.org/package/"
6672 "monad-par-extras-" version "/"
6673 "monad-par-extras-" version ".tar.gz"))
6674 (sha256
6675 (base32
6676 "0bl4bd6jzdc5zm20q1g67ppkfh6j6yn8fwj6msjayj621cck67p2"))))
6677 (build-system haskell-build-system)
6678 (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
6679 ("ghc-cereal" ,ghc-cereal)
6680 ("ghc-random" ,ghc-random)))
6681 (home-page "https://github.com/simonmar/monad-par")
6682 (synopsis "Combinators and extra features for Par monads for Haskell")
6683 (description "This Haskell package provides additional data structures,
6684and other added capabilities layered on top of the @code{Par} monad.")
6685 (license license:bsd-3)))
6686
6687(define-public ghc-monadplus
6688 (package
6689 (name "ghc-monadplus")
6690 (version "1.4.2")
6691 (source
6692 (origin
6693 (method url-fetch)
6694 (uri (string-append "https://hackage.haskell.org/package/monadplus"
6695 "/monadplus-" version ".tar.gz"))
6696 (sha256
6697 (base32 "15b5320wdpmdp5slpphnc1x4rhjch3igw245dp2jxbqyvchdavin"))))
6698 (build-system haskell-build-system)
6699 (home-page "https://hackage.haskell.org/package/monadplus")
6700 (synopsis "Filtering and folding over arbitrary MonadPlus instances")
6701 (description
6702 "This package generalizes many common stream operations such as
6703@code{filter}, @code{catMaybes} etc, enabling filtering and folding over
6704arbitrary @code{MonadPlus} instances.")
6705 (license license:bsd-3)))
6706
6707(define-public ghc-monadrandom
6708 (package
6709 (name "ghc-monadrandom")
6710 (version "0.5.1.1")
6711 (source
6712 (origin
6713 (method url-fetch)
6714 (uri (string-append "https://hackage.haskell.org/package/"
6715 "MonadRandom-" version "/"
6716 "MonadRandom-" version ".tar.gz"))
6717 (sha256
6718 (base32
6719 "0w44jl1n3kqvqaflh82l1wj3xxbhzfs3kf4m8rk7w6fgg8llmnmb"))))
6720 (build-system haskell-build-system)
6721 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
6722 ("ghc-primitive" ,ghc-primitive)
6723 ("ghc-fail" ,ghc-fail)
6724 ("ghc-random" ,ghc-random)))
6725 (home-page "https://github.com/byorgey/MonadRandom")
6726 (synopsis "Random-number generation monad for Haskell")
6727 (description "This Haskell package provides support for computations
6728which consume random values.")
6729 (license license:bsd-3)))
6730
6731(define-public ghc-monads-tf
6732 (package
6733 (name "ghc-monads-tf")
6734 (version "0.1.0.3")
6735 (source
6736 (origin
6737 (method url-fetch)
6738 (uri (string-append
6739 "https://hackage.haskell.org/package/monads-tf/monads-tf-"
6740 version ".tar.gz"))
6741 (sha256
6742 (base32
6743 "1wdhskwa6dw8qljbvwpyxj8ca6y95q2np7z4y4q6bpf4anmd5794"))))
6744 (build-system haskell-build-system)
6745 (home-page "https://hackage.haskell.org/package/monads-tf")
6746 (synopsis "Monad classes, using type families")
6747 (description
6748 "Monad classes using type families, with instances for various monad transformers,
6749inspired by the paper 'Functional Programming with Overloading and Higher-Order
6750Polymorphism', by Mark P Jones. This package is almost a compatible replacement for
6751the @code{mtl-tf} package.")
6752 (license license:bsd-3)))
6753
6754(define-public ghc-mono-traversable
6755 (package
6756 (name "ghc-mono-traversable")
23bb445b 6757 (version "1.0.13.0")
dddbc90c
RV
6758 (source
6759 (origin
6760 (method url-fetch)
6761 (uri (string-append "https://hackage.haskell.org/package/"
6762 "mono-traversable-" version "/"
6763 "mono-traversable-" version ".tar.gz"))
6764 (sha256
6765 (base32
23bb445b 6766 "1bqy982lpdb83lacfy76n8kqw5bvd31avxj25kg8gkgycdh0g0ma"))))
dddbc90c
RV
6767 (build-system haskell-build-system)
6768 (inputs `(("ghc-unordered-containers" ,ghc-unordered-containers)
6769 ("ghc-hashable" ,ghc-hashable)
6770 ("ghc-vector" ,ghc-vector)
6771 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
6772 ("ghc-split" ,ghc-split)))
6773 (native-inputs `(("ghc-hspec" ,ghc-hspec)
6774 ("ghc-hunit" ,ghc-hunit)
6775 ("ghc-quickcheck" ,ghc-quickcheck)
6776 ("ghc-semigroups" ,ghc-semigroups)
6777 ("ghc-foldl" ,ghc-foldl)))
6778 (home-page "https://github.com/snoyberg/mono-traversable")
6779 (synopsis "Haskell classes for mapping, folding, and traversing monomorphic
6780containers")
6781 (description "This Haskell package provides Monomorphic variants of the
6782Functor, Foldable, and Traversable typeclasses. If you understand Haskell's
6783basic typeclasses, you understand mono-traversable. In addition to what
6784you are used to, it adds on an IsSequence typeclass and has code for marking
6785data structures as non-empty.")
6786 (license license:expat)))
6787
6788(define-public ghc-murmur-hash
6789 (package
6790 (name "ghc-murmur-hash")
6791 (version "0.1.0.9")
6792 (source
6793 (origin
6794 (method url-fetch)
6795 (uri (string-append "https://hackage.haskell.org/package/murmur-hash"
6796 "/murmur-hash-" version ".tar.gz"))
6797 (sha256
6798 (base32 "1bb58kfnzvx3mpc0rc0dhqc1fk36nm8prd6gvf20gk6lxaadpfc9"))))
6799 (build-system haskell-build-system)
6800 (home-page "https://github.com/nominolo/murmur-hash")
6801 (synopsis "MurmurHash2 implementation for Haskell")
6802 (description
6803 "This package provides an implementation of MurmurHash2, a good, fast,
6804general-purpose, non-cryptographic hashing function. See
6805@url{https://sites.google.com/site/murmurhash/} for details. This
6806implementation is pure Haskell, so it might be a bit slower than a C FFI
6807binding.")
6808 (license license:bsd-3)))
6809
6810(define-public ghc-mwc-random
6811 (package
6812 (name "ghc-mwc-random")
33268e2c 6813 (version "0.14.0.0")
dddbc90c
RV
6814 (source
6815 (origin
6816 (method url-fetch)
6817 (uri (string-append "https://hackage.haskell.org/package/"
6818 "mwc-random-" version "/"
6819 "mwc-random-" version ".tar.gz"))
6820 (sha256
6821 (base32
33268e2c 6822 "18pg24sw3b79b32cwx8q01q4k0lm34mwr3l6cdkchl8alvd0wdq0"))))
dddbc90c
RV
6823 (build-system haskell-build-system)
6824 (inputs
6825 `(("ghc-primitive" ,ghc-primitive)
6826 ("ghc-vector" ,ghc-vector)
6827 ("ghc-math-functions" ,ghc-math-functions)))
6828 (arguments
6829 `(#:tests? #f)) ; FIXME: Test-Suite `spec` fails.
6830 (native-inputs
6831 `(("ghc-hunit" ,ghc-hunit)
6832 ("ghc-quickcheck" ,ghc-quickcheck)
6833 ("ghc-test-framework" ,ghc-test-framework)
6834 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6835 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
6836 (home-page "https://github.com/bos/mwc-random")
6837 (synopsis "Random number generation library for Haskell")
6838 (description "This Haskell package contains code for generating
6839high quality random numbers that follow either a uniform or normal
6840distribution. The generated numbers are suitable for use in
6841statistical applications.
6842
6843The uniform PRNG uses Marsaglia's MWC256 (also known as MWC8222)
6844multiply-with-carry generator, which has a period of 2^{8222} and
6845fares well in tests of randomness. It is also extremely fast,
6846between 2 and 3 times faster than the Mersenne Twister.")
6847 (license license:bsd-3)))
6848
6849(define-public ghc-nats
6850 (package
6851 (name "ghc-nats")
6852 (version "1.1.2")
6853 (source
6854 (origin
6855 (method url-fetch)
6856 (uri (string-append
6857 "https://hackage.haskell.org/package/nats/nats-"
6858 version
6859 ".tar.gz"))
6860 (sha256
6861 (base32
6862 "1v40drmhixck3pz3mdfghamh73l4rp71mzcviipv1y8jhrfxilmr"))))
6863 (build-system haskell-build-system)
6864 (arguments `(#:haddock? #f))
6865 (inputs
6866 `(("ghc-hashable" ,ghc-hashable)))
6867 (home-page "https://hackage.haskell.org/package/nats")
6868 (synopsis "Natural numbers")
6869 (description "This library provides the natural numbers for Haskell.")
6870 (license license:bsd-3)))
6871
6872(define-public ghc-nats-bootstrap
6873 (package
6874 (inherit ghc-nats)
6875 (name "ghc-nats-bootstrap")
6876 (inputs
6877 `(("ghc-hashable" ,ghc-hashable-bootstrap)))
6878 (properties '((hidden? #t)))))
6879
52915062
EF
6880(define-public ghc-ncurses
6881 (package
6882 (name "ghc-ncurses")
6883 (version "0.2.16")
6884 (source
6885 (origin
6886 (method url-fetch)
6887 (uri (string-append
6888 "https://hackage.haskell.org/package/ncurses/ncurses-"
6889 version ".tar.gz"))
6890 (sha256
6891 (base32
6892 "0gsyyaqyh5r9zc0rhwpj5spyd6i4w2vj61h4nihgmmh0yyqvf3z5"))))
6893 (build-system haskell-build-system)
6894 (arguments
6895 '(#:phases
6896 (modify-phases %standard-phases
6897 (add-before 'build 'fix-includes
6898 (lambda _
6899 (substitute* '("cbits/hsncurses-shim.h"
6900 "lib/UI/NCurses.chs"
6901 "lib/UI/NCurses/Enums.chs"
6902 "lib/UI/NCurses/Panel.chs")
6903 (("<ncursesw/") "<"))
6904 #t)))
6905 #:cabal-revision
6906 ("1"
6907 "1wfdy716s5p1sqp2gsg43x8wch2dxg0vmbbndlb2h3d8c9jzxnca")))
6908 (inputs `(("ncurses" ,ncurses)))
6909 (native-inputs `(("ghc-c2hs" ,ghc-c2hs)))
6910 (home-page "https://john-millikin.com/software/haskell-ncurses/")
6911 (synopsis "Modernised bindings to GNU ncurses")
6912 (description "GNU ncurses is a library for creating command-line application
6913with pseudo-graphical interfaces. This package is a nice, modern binding to GNU
6914ncurses.")
6915 (license license:gpl3)))
6916
dddbc90c
RV
6917(define-public ghc-network
6918 (package
6919 (name "ghc-network")
d4473202 6920 (version "2.8.0.1")
dddbc90c
RV
6921 (outputs '("out" "doc"))
6922 (source
6923 (origin
6924 (method url-fetch)
6925 (uri (string-append
6926 "https://hackage.haskell.org/package/network/network-"
6927 version
6928 ".tar.gz"))
6929 (sha256
6930 (base32
d4473202 6931 "0im8k51rw3ahmr23ny10pshwbz09jfg0fdpam0hzf2hgxnzmvxb1"))))
dddbc90c
RV
6932 (build-system haskell-build-system)
6933 ;; The regression tests depend on an unpublished module.
6934 (arguments `(#:tests? #f))
6935 (native-inputs
6936 `(("ghc-hunit" ,ghc-hunit)
6937 ("ghc-doctest" ,ghc-doctest)
6938 ("ghc-test-framework" ,ghc-test-framework)
6939 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
6940 (home-page "https://github.com/haskell/network")
6941 (synopsis "Low-level networking interface")
6942 (description
6943 "This package provides a low-level networking interface.")
6944 (license license:bsd-3)))
4780db2c 6945
30eebbe6
TS
6946(define-public ghc-network-bsd
6947 (package
6948 (name "ghc-network-bsd")
6949 (version "2.8.0.0")
6950 (source
6951 (origin
6952 (method url-fetch)
6953 (uri (string-append "https://hackage.haskell.org/package/"
6954 "network-bsd/network-bsd-" version ".tar.gz"))
6955 (sha256
6956 (base32
6957 "0dfbwgrr28y6ypw7p1ppqg7v746qf14569q4xazj4ahdjw2xkpi5"))))
6958 (build-system haskell-build-system)
6959 (inputs
6960 `(("ghc-network" ,ghc-network)))
6961 (home-page "https://github.com/haskell/network-bsd")
6962 (synopsis "POSIX network database (<netdb.h>) API")
6963 (description "This package provides Haskell bindings to the the POSIX
6964network database (<netdb.h>) API.")
6965 (license license:bsd-3)))
6966
096781a1
TS
6967(define-public ghc-network-byte-order
6968 (package
6969 (name "ghc-network-byte-order")
6970 (version "0.1.1.1")
6971 (source
6972 (origin
6973 (method url-fetch)
6974 (uri (string-append "https://hackage.haskell.org/package/"
6975 "network-byte-order/network-byte-order-"
6976 version ".tar.gz"))
6977 (sha256
6978 (base32
6979 "19cs6157amcc925vwr92q1azwwzkbam5g0k70i6qi80fhpikh37c"))))
6980 (build-system haskell-build-system)
6981 (native-inputs
6982 `(("ghc-doctest" ,ghc-doctest)))
6983 (home-page "http://hackage.haskell.org/package/network-byte-order")
6984 (synopsis "Network byte order utilities")
6985 (description "This library provides peek and poke functions for network
6986byte order.")
6987 (license license:bsd-3)))
6988
dddbc90c
RV
6989(define-public ghc-network-info
6990 (package
6991 (name "ghc-network-info")
6992 (version "0.2.0.10")
6993 (source
6994 (origin
6995 (method url-fetch)
6996 (uri (string-append "https://hackage.haskell.org/package/"
6997 "network-info-" version "/"
6998 "network-info-" version ".tar.gz"))
6999 (sha256
7000 (base32
7001 "0anmgzcpnz7nw3n6vq0r25m1s9l2svpwi83wza0lzkrlbnbzd02n"))))
7002 (build-system haskell-build-system)
7003 (home-page "https://github.com/jystic/network-info")
7004 (synopsis "Access the local computer's basic network configuration")
7005 (description "This Haskell library provides simple read-only access to the
7006local computer's networking configuration. It is currently capable of
7007getting a list of all the network interfaces and their respective
7008IPv4, IPv6 and MAC addresses.")
7009 (license license:bsd-3)))
7010
7011(define-public ghc-network-uri
7012 (package
7013 (name "ghc-network-uri")
7014 (version "2.6.1.0")
7015 (outputs '("out" "doc"))
7016 (source
7017 (origin
7018 (method url-fetch)
7019 (uri (string-append
7020 "https://hackage.haskell.org/package/network-uri/network-uri-"
7021 version
7022 ".tar.gz"))
7023 (sha256
7024 (base32
7025 "1w27zkvn39kjr9lmw9421y8w43h572ycsfafsb7kyvr3a4ihlgj2"))))
7026 (build-system haskell-build-system)
7027 (arguments
7028 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
7029 (inputs
7030 `(("ghc-network" ,ghc-network)))
7031 (native-inputs
7032 `(("ghc-hunit" ,ghc-hunit)))
7033 (home-page
7034 "https://github.com/haskell/network-uri")
7035 (synopsis "Library for URI manipulation")
7036 (description "This package provides an URI manipulation interface. In
7037@code{network-2.6} the @code{Network.URI} module was split off from the
7038@code{network} package into this package.")
7039 (license license:bsd-3)))
7040
7041(define-public ghc-newtype-generics
7042 (package
7043 (name "ghc-newtype-generics")
c07e16dd 7044 (version "0.5.4")
dddbc90c
RV
7045 (source
7046 (origin
7047 (method url-fetch)
7048 (uri (string-append "https://hackage.haskell.org/package/"
7049 "newtype-generics/newtype-generics-"
7050 version ".tar.gz"))
7051 (sha256
7052 (base32
c07e16dd 7053 "0cprfg4n0z62cnix1qrbc79bfdd4s50b05fj9m9hk6vm1pc3szq0"))))
dddbc90c
RV
7054 (build-system haskell-build-system)
7055 (native-inputs
7056 `(("ghc-hspec" ,ghc-hspec)
7057 ("hspec-discover" ,hspec-discover)))
7058 (home-page "http://github.com/sjakobi/newtype-generics")
7059 (synopsis "Typeclass and set of functions for working with newtypes")
7060 (description "The @code{Newtype} typeclass represents the packing and
7061unpacking of a newtype, and allows you to operate under that newtype with
7062functions such as @code{ala}. Generics support was added in version 0.4,
7063making this package a full replacement for the original newtype package,
7064and an alternative to newtype-th.")
7065 (license license:bsd-3)))
7066
6b652f5a
JS
7067(define-public ghc-non-negative
7068 (package
7069 (name "ghc-non-negative")
7070 (version "0.1.2")
7071 (source
7072 (origin
7073 (method url-fetch)
7074 (uri
7075 (string-append
7076 "https://hackage.haskell.org/package/non-negative/non-negative-"
7077 version ".tar.gz"))
7078 (sha256
7079 (base32
7080 "0f01q916dzkl1i0v15qrw9cviycki5g3fgi6x8gs45iwbzssq52n"))))
7081 (build-system haskell-build-system)
7082 (inputs
7083 `(("ghc-semigroups" ,ghc-semigroups)
7084 ("ghc-utility-ht" ,ghc-utility-ht)
7085 ("ghc-quickcheck" ,ghc-quickcheck)))
7086 (home-page "https://hackage.haskell.org/package/non-negative")
7087 (synopsis "Non-negative numbers class")
7088 (description "This library provides a class for non-negative numbers,
7089a wrapper which can turn any ordered numeric type into a member of that
7090class, and a lazy number type for non-negative numbers (a generalization
7091of Peano numbers).")
7092 (license license:gpl3+)))
7093
dddbc90c
RV
7094(define-public ghc-objectname
7095 (package
7096 (name "ghc-objectname")
7097 (version "1.1.0.1")
7098 (source
7099 (origin
7100 (method url-fetch)
7101 (uri (string-append
7102 "https://hackage.haskell.org/package/ObjectName/ObjectName-"
7103 version
7104 ".tar.gz"))
7105 (sha256
7106 (base32
7107 "046jm94rmm46cicd31pl54vdvfjvhd9ffbfycy2lxzc0fliyznvj"))))
7108 (build-system haskell-build-system)
7109 (home-page "https://hackage.haskell.org/package/ObjectName")
7110 (synopsis "Helper library for Haskell OpenGL")
7111 (description "This tiny package contains the class ObjectName, which
7112corresponds to the general notion of explicitly handled identifiers for API
7113objects, e.g. a texture object name in OpenGL or a buffer object name in
7114OpenAL.")
7115 (license license:bsd-3)))
7116
7117(define-public ghc-old-locale
7118 (package
7119 (name "ghc-old-locale")
7120 (version "1.0.0.7")
7121 (source
7122 (origin
7123 (method url-fetch)
7124 (uri (string-append
7125 "https://hackage.haskell.org/package/old-locale/old-locale-"
7126 version
7127 ".tar.gz"))
7128 (sha256
7129 (base32 "0l3viphiszvz5wqzg7a45zp40grwlab941q5ay29iyw8p3v8pbyv"))))
7130 (build-system haskell-build-system)
7131 (arguments
7132 `(#:cabal-revision
7133 ("2" "04b9vn007hlvsrx4ksd3r8r3kbyaj2kvwxchdrmd4370qzi8p6gs")))
7134 (home-page "https://hackage.haskell.org/package/old-locale")
7135 (synopsis "Adapt to locale conventions")
7136 (description
7137 "This package provides the ability to adapt to locale conventions such as
7138date and time formats.")
7139 (license license:bsd-3)))
7140
7141(define-public ghc-old-time
7142 (package
7143 (name "ghc-old-time")
7144 (version "1.1.0.3")
7145 (source
7146 (origin
7147 (method url-fetch)
7148 (uri (string-append
7149 "https://hackage.haskell.org/package/old-time/old-time-"
7150 version
7151 ".tar.gz"))
7152 (sha256
7153 (base32
7154 "1h9b26s3kfh2k0ih4383w90ibji6n0iwamxp6rfp2lbq1y5ibjqw"))))
7155 (build-system haskell-build-system)
7156 (arguments
7157 `(#:cabal-revision
7158 ("2" "1j6ln1dkvhdvnwl33bp0xf9lhc4sybqk0aw42p8cq81xwwzbn7y9")))
7159 (inputs
7160 `(("ghc-old-locale" ,ghc-old-locale)))
7161 (home-page "https://hackage.haskell.org/package/old-time")
7162 (synopsis "Time compatibility library for Haskell")
7163 (description "Old-time is a package for backwards compatibility with the
7164old @code{time} library. For new projects, the newer
7165@uref{https://hackage.haskell.org/package/time, time library} is recommended.")
7166 (license license:bsd-3)))
7167
7168(define-public ghc-opengl
7169 (package
7170 (name "ghc-opengl")
79a06910 7171 (version "3.0.3.0")
dddbc90c
RV
7172 (source
7173 (origin
7174 (method url-fetch)
7175 (uri (string-append
7176 "https://hackage.haskell.org/package/OpenGL/OpenGL-"
7177 version
7178 ".tar.gz"))
7179 (sha256
7180 (base32
79a06910 7181 "069fg8jcxqq2z9iikynd8vi3jxm2b5y3qywdh4bdviyzab3zy1as"))))
dddbc90c 7182 (build-system haskell-build-system)
79a06910
TS
7183 (arguments
7184 `(#:cabal-revision
7185 ("1" "1748mrb6r9mpf5jbrx436lwbg8w6dadyy8dhxw2dwnrj5z7zf741")))
dddbc90c
RV
7186 (inputs
7187 `(("ghc-objectname" ,ghc-objectname)
7188 ("ghc-gluraw" ,ghc-gluraw)
7189 ("ghc-statevar" ,ghc-statevar)
7190 ("ghc-openglraw" ,ghc-openglraw)))
7191 (home-page "https://www.haskell.org/haskellwiki/Opengl")
7192 (synopsis "Haskell bindings for the OpenGL graphics system")
7193 (description "This package provides Haskell bindings for the OpenGL
7194graphics system (GL, version 4.5) and its accompanying utility library (GLU,
7195version 1.3).")
7196 (license license:bsd-3)))
7197
7198(define-public ghc-openglraw
7199 (package
7200 (name "ghc-openglraw")
15ebc815 7201 (version "3.3.3.0")
dddbc90c
RV
7202 (source
7203 (origin
7204 (method url-fetch)
7205 (uri (string-append
7206 "https://hackage.haskell.org/package/OpenGLRaw/OpenGLRaw-"
7207 version
7208 ".tar.gz"))
7209 (sha256
7210 (base32
15ebc815 7211 "0zgllb4bcash2i2cispa3j565aw3dpxs41ghmhpvyvi4a6xmyldx"))))
dddbc90c
RV
7212 (build-system haskell-build-system)
7213 (inputs
7214 `(("ghc-half" ,ghc-half)
7215 ("ghc-fixed" ,ghc-fixed)
7216 ("glu" ,glu)))
7217 (home-page "https://www.haskell.org/haskellwiki/Opengl")
7218 (synopsis "Raw Haskell bindings for the OpenGL graphics system")
7219 (description "OpenGLRaw is a raw Haskell binding for the OpenGL 4.5
7220graphics system and lots of OpenGL extensions. It is basically a 1:1 mapping
7221of OpenGL's C API, intended as a basis for a nicer interface. OpenGLRaw
7222offers access to all necessary functions, tokens and types plus a general
7223facility for loading extension entries. The module hierarchy closely mirrors
7224the naming structure of the OpenGL extensions, making it easy to find the
7225right module to import. All API entries are loaded dynamically, so no special
7226C header files are needed for building this package. If an API entry is not
7227found at runtime, a userError is thrown.")
7228 (license license:bsd-3)))
7229
7230(define-public ghc-operational
7231 (package
7232 (name "ghc-operational")
7233 (version "0.2.3.5")
7234 (source
7235 (origin
7236 (method url-fetch)
7237 (uri (string-append "https://hackage.haskell.org/package/operational/"
7238 "operational-" version ".tar.gz"))
7239 (sha256
7240 (base32
7241 "1x2abg2q9d26h1vzj40r6k7k3gqgappbs4g9d853vvg77837km4i"))))
7242 (build-system haskell-build-system)
7243 (inputs
7244 `(("ghc-random" ,ghc-random)))
7245 (home-page "http://wiki.haskell.org/Operational")
7246 (synopsis "Implementation of difficult monads made easy with operational semantics")
7247 (description
7248 "This library makes it easy to implement monads with tricky control
7249flow. This is useful for: writing web applications in a sequential style,
7250programming games with a uniform interface for human and AI players and easy
7251replay capababilities, implementing fast parser monads, designing monadic
7252DSLs, etc.")
7253 (license license:bsd-3)))
7254
7255(define-public ghc-options
7256 (package
7257 (name "ghc-options")
7258 (version "1.2.1.1")
7259 (source
7260 (origin
7261 (method url-fetch)
7262 (uri (string-append
7263 "https://hackage.haskell.org/package/options/options-"
7264 version ".tar.gz"))
7265 (sha256
7266 (base32
7267 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
7268 (build-system haskell-build-system)
7269 (inputs
7270 `(("ghc-monads-tf" ,ghc-monads-tf)
7271 ("ghc-chell" ,ghc-chell)
7272 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)))
7273 (home-page "https://john-millikin.com/software/haskell-options/")
7274 (synopsis "Powerful and easy-to-use command-line option parser")
7275 (description
7276 "The @code{options} package lets library and application developers
7277easily work with command-line options.")
7278 (license license:expat)))
7279
7280;; See ghc-system-filepath-bootstrap, chell and chell-quickcheck are required for tests.
7281(define ghc-options-bootstrap
7282 (package
7283 (name "ghc-options-bootstrap")
7284 (version "1.2.1.1")
7285 (source
7286 (origin
7287 (method url-fetch)
7288 (uri (string-append
7289 "https://hackage.haskell.org/package/options/options-"
7290 version ".tar.gz"))
7291 (sha256
7292 (base32
7293 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
7294 (build-system haskell-build-system)
7295 (arguments
7296 `(#:tests? #f))
7297 (inputs
7298 `(("ghc-monads-tf" ,ghc-monads-tf)))
7299 (home-page "https://john-millikin.com/software/haskell-options/")
7300 (synopsis "Powerful and easy-to-use command-line option parser")
7301 (description
7302 "The @code{options} package lets library and application developers
7303easily work with command-line options.")
7304 (license license:expat)))
7305
7306
7307(define-public ghc-optparse-applicative
7308 (package
7309 (name "ghc-optparse-applicative")
74bf6965 7310 (version "0.14.3.0")
dddbc90c
RV
7311 (source
7312 (origin
7313 (method url-fetch)
7314 (uri (string-append
7315 "https://hackage.haskell.org/package/optparse-applicative"
7316 "/optparse-applicative-" version ".tar.gz"))
7317 (sha256
7318 (base32
74bf6965 7319 "0qvn1s7jwrabbpmqmh6d6iafln3v3h9ddmxj2y4m0njmzq166ivj"))))
dddbc90c 7320 (build-system haskell-build-system)
74bf6965
TS
7321 (arguments
7322 `(#:cabal-revision
7323 ("2" "1a08dqjly1xy730f6jf45frr8g8gap0n1vg9b0mpzpydv0kgzmrp")))
dddbc90c
RV
7324 (inputs
7325 `(("ghc-transformers-compat" ,ghc-transformers-compat)
7326 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)))
7327 (native-inputs
7328 `(("ghc-quickcheck" ,ghc-quickcheck)))
7329 (home-page "https://github.com/pcapriotti/optparse-applicative")
7330 (synopsis "Utilities and combinators for parsing command line options")
7331 (description "This package provides utilities and combinators for parsing
7332command line options in Haskell.")
7333 (license license:bsd-3)))
7334
7335(define-public ghc-pandoc
7336 (package
7337 (name "ghc-pandoc")
7338 (version "2.2.1")
7339 (source
7340 (origin
7341 (method url-fetch)
7342 (uri (string-append "https://hackage.haskell.org/package/pandoc/pandoc-"
7343 version ".tar.gz"))
7344 (sha256
7345 (base32
7346 "1dqin92w513l7whg5wdgrngnxsj5mb8gppfvn7kjgyv2pdgpy0zy"))))
7347 (build-system haskell-build-system)
7348 (arguments
7349 `(#:phases
7350 (modify-phases %standard-phases
7351 (add-before 'configure 'update-constraints
7352 (lambda _
7353 (substitute* "pandoc.cabal"
7354 (("tasty >= 0\\.11 && < 1\\.1")
7355 "tasty >= 0.11 && < 1.1.1"))))
7356 (add-before 'configure 'patch-tests
7357 (lambda _
7358 ;; These tests fail benignly and have been adjusted upstream:
7359 ;; <https://github.com/commercialhaskell/stackage/issues/3719>.
7360 (substitute* "test/Tests/Old.hs"
7361 (("lhsWriterTests \"html\"") "[]")))))))
7362 (inputs
7363 `(("ghc-aeson" ,ghc-aeson)
7364 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
7365 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
7366 ("ghc-blaze-html" ,ghc-blaze-html)
7367 ("ghc-blaze-markup" ,ghc-blaze-markup)
7368 ("ghc-cmark-gfm" ,ghc-cmark-gfm)
7369 ("ghc-data-default" ,ghc-data-default)
7370 ("ghc-deepseq-generics" ,ghc-deepseq-generics)
7371 ("ghc-diff" ,ghc-diff)
7372 ("ghc-doctemplates" ,ghc-doctemplates)
7373 ("ghc-executable-path" ,ghc-executable-path)
7374 ("ghc-glob" ,ghc-glob)
7375 ("ghc-haddock-library" ,ghc-haddock-library)
7376 ("ghc-hslua" ,ghc-hslua)
7377 ("ghc-hslua-module-text" ,ghc-hslua-module-text)
7378 ("ghc-http" ,ghc-http)
7379 ("ghc-http-client" ,ghc-http-client)
7380 ("ghc-http-client-tls" ,ghc-http-client-tls)
7381 ("ghc-http-types" ,ghc-http-types)
7382 ("ghc-juicypixels" ,ghc-juicypixels)
7383 ("ghc-network" ,ghc-network)
7384 ("ghc-network-uri" ,ghc-network-uri)
7385 ("ghc-old-locale" ,ghc-old-locale)
7386 ("ghc-pandoc-types" ,ghc-pandoc-types)
7387 ("ghc-random" ,ghc-random)
7388 ("ghc-scientific" ,ghc-scientific)
7389 ("ghc-sha" ,ghc-sha)
7390 ("ghc-skylighting" ,ghc-skylighting)
7391 ("ghc-split" ,ghc-split)
7392 ("ghc-syb" ,ghc-syb)
7393 ("ghc-tagsoup" ,ghc-tagsoup)
7394 ("ghc-temporary" ,ghc-temporary)
7395 ("ghc-texmath" ,ghc-texmath)
7396 ("ghc-unordered-containers" ,ghc-unordered-containers)
7397 ("ghc-vector" ,ghc-vector)
7398 ("ghc-xml" ,ghc-xml)
7399 ("ghc-yaml" ,ghc-yaml)
7400 ("ghc-zip-archive" ,ghc-zip-archive)
7401 ("ghc-zlib" ,ghc-zlib)))
7402 (native-inputs
7403 `(("ghc-tasty" ,ghc-tasty)
7404 ("ghc-tasty-golden" ,ghc-tasty-golden)
7405 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
7406 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
7407 ("ghc-quickcheck" ,ghc-quickcheck)
7408 ("ghc-hunit" ,ghc-hunit)))
7409 (home-page "https://pandoc.org")
7410 (synopsis "Conversion between markup formats")
7411 (description
7412 "Pandoc is a Haskell library for converting from one markup format to
7413another, and a command-line tool that uses this library. It can read and
7414write Markdown and (subsets of) other formats, such as HTML, reStructuredText,
7415LaTeX, DocBook, and many more.
7416
7417Pandoc extends standard Markdown syntax with footnotes, embedded LaTeX,
7418definition lists, tables, and other features. A compatibility mode is
7419provided for those who need a drop-in replacement for Markdown.pl.")
7420 (license license:gpl2+)))
7421
7422(define-public ghc-pandoc-citeproc
7423 (package
7424 (name "ghc-pandoc-citeproc")
7425 (version "0.14.3.1")
7426 (source
7427 (origin
7428 (method url-fetch)
7429 (uri (string-append "https://hackage.haskell.org/package/"
7430 "pandoc-citeproc/pandoc-citeproc-"
7431 version ".tar.gz"))
7432 (sha256
7433 (base32
7434 "0yj6rckwsc9vig40cm15ry0j3d01xpk04qma9n4byhal6v4b5h22"))))
7435 (build-system haskell-build-system)
7436 (arguments
7437 `(#:phases
7438 (modify-phases %standard-phases
7439 ;; Many YAML tests (44) are failing do to changes in ghc-yaml:
7440 ;; <https://github.com/jgm/pandoc-citeproc/issues/342>.
7441 (add-before 'configure 'patch-tests
7442 (lambda _
7443 (substitute* "tests/test-pandoc-citeproc.hs"
7444 (("let allTests = citeprocTests \\+\\+ biblio2yamlTests")
7445 "let allTests = citeprocTests"))))
7446 ;; Tests need to be run after installation.
7447 (delete 'check)
7448 (add-after 'install 'post-install-check
7449 (assoc-ref %standard-phases 'check)))))
7450 (inputs
7451 `(("ghc-pandoc-types" ,ghc-pandoc-types)
7452 ("ghc-pandoc" ,ghc-pandoc)
7453 ("ghc-tagsoup" ,ghc-tagsoup)
7454 ("ghc-aeson" ,ghc-aeson)
7455 ("ghc-vector" ,ghc-vector)
7456 ("ghc-xml-conduit" ,ghc-xml-conduit)
7457 ("ghc-unordered-containers" ,ghc-unordered-containers)
7458 ("ghc-data-default" ,ghc-data-default)
7459 ("ghc-setenv" ,ghc-setenv)
7460 ("ghc-split" ,ghc-split)
7461 ("ghc-yaml" ,ghc-yaml)
7462 ("ghc-hs-bibutils" ,ghc-hs-bibutils)
7463 ("ghc-rfc5051" ,ghc-rfc5051)
7464 ("ghc-syb" ,ghc-syb)
7465 ("ghc-old-locale" ,ghc-old-locale)
7466 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
7467 ("ghc-attoparsec" ,ghc-attoparsec)
7468 ("ghc-temporary" ,ghc-temporary)))
7469 (home-page "https://github.com/jgm/pandoc-citeproc")
7470 (synopsis "Library for using pandoc with citeproc")
7471 (description
7472 "The @code{pandoc-citeproc} library exports functions for using the
7473citeproc system with pandoc. It relies on @code{citeproc-hs}, a library for
7474rendering bibliographic reference citations into a variety of styles using a
7475macro language called @dfn{Citation Style Language} (CSL). This package also
7476contains an executable @code{pandoc-citeproc}, which works as a pandoc filter,
7477and also has a mode for converting bibliographic databases a YAML format
7478suitable for inclusion in pandoc YAML metadata.")
7479 (license license:bsd-3)))
7480
7481(define-public ghc-pandoc-types
7482 (package
7483 (name "ghc-pandoc-types")
0eaa88c8 7484 (version "1.17.6.1")
dddbc90c
RV
7485 (source (origin
7486 (method url-fetch)
7487 (uri (string-append "https://hackage.haskell.org/package/"
7488 "pandoc-types/pandoc-types-"
7489 version ".tar.gz"))
7490 (sha256
7491 (base32
0eaa88c8 7492 "1d6ygq991ddria71l7hg9yd7lq94sjy4m71rdws1v8hq943c4d0q"))))
dddbc90c
RV
7493 (build-system haskell-build-system)
7494 (inputs
7495 `(("ghc-syb" ,ghc-syb)
7496 ("ghc-aeson" ,ghc-aeson)
7497 ("ghc-string-qq" ,ghc-string-qq)))
7498 (native-inputs
7499 `(("ghc-quickcheck" ,ghc-quickcheck)
7500 ("ghc-test-framework" ,ghc-test-framework)
7501 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7502 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
7503 ("ghc-hunit" ,ghc-hunit)))
7504 (home-page "http://johnmacfarlane.net/pandoc")
7505 (synopsis "Types for representing a structured document")
7506 (description
7507 "This module defines the @code{Pandoc} data structure, which is used by
7508pandoc to represent structured documents. It also provides functions for
7509building up, manipulating and serialising @code{Pandoc} structures.")
7510 (license license:bsd-3)))
7511
7512(define-public ghc-parallel
7513 (package
7514 (name "ghc-parallel")
7515 (version "3.2.2.0")
7516 (outputs '("out" "doc"))
7517 (source
7518 (origin
7519 (method url-fetch)
7520 (uri (string-append
7521 "https://hackage.haskell.org/package/parallel/parallel-"
7522 version
7523 ".tar.gz"))
7524 (sha256
7525 (base32
7526 "1xkfi96w6yfpppd0nw1rnszdxmvifwzm699ilv6332ra3akm610p"))))
7527 (build-system haskell-build-system)
7528 (home-page "https://hackage.haskell.org/package/parallel")
7529 (synopsis "Parallel programming library")
7530 (description
7531 "This package provides a library for parallel programming.")
7532 (license license:bsd-3)))
7533
7534(define-public ghc-parsec-numbers
7535 (package
7536 (name "ghc-parsec-numbers")
7537 (version "0.1.0")
7538 (source
7539 (origin
7540 (method url-fetch)
7541 (uri (string-append "https://hackage.haskell.org/package/"
7542 "parsec-numbers/parsec-numbers-" version ".tar.gz"))
7543 (sha256
7544 (base32 "1gzy4v3r02kvdxvgg1nj83mmb6aph2v4ilf9c7y6nbvi2x49l0bp"))))
7545 (build-system haskell-build-system)
7546 (home-page "https://hackage.haskell.org/package/parsec-numbers")
7547 (synopsis "Utilities for parsing numbers from strings")
7548 (description
7549 "This package provides the number parsers without the need to use a large
7550(and unportable) token parser.")
7551 (license license:bsd-3)))
7552
7553(define-public ghc-parser-combinators
7554 (package
7555 (name "ghc-parser-combinators")
2f173160 7556 (version "1.1.0")
dddbc90c
RV
7557 (source
7558 (origin
7559 (method url-fetch)
7560 (uri (string-append "https://hackage.haskell.org/package/"
7561 "parser-combinators/parser-combinators-"
7562 version ".tar.gz"))
7563 (sha256
7564 (base32
2f173160 7565 "149yhbnrrl108h1jinrsxni3rwrldhphpk9bbmbpr90q5fbl4xmc"))))
dddbc90c
RV
7566 (build-system haskell-build-system)
7567 (home-page "https://github.com/mrkkrp/parser-combinators")
7568 (synopsis "Commonly useful parser combinators")
7569 (description
7570 "This is a lightweight package providing commonly useful parser
7571combinators.")
7572 (license license:bsd-3)))
7573
7574(define-public ghc-parsers
7575 (package
7576 (name "ghc-parsers")
6818f970 7577 (version "0.12.10")
dddbc90c
RV
7578 (source
7579 (origin
7580 (method url-fetch)
7581 (uri (string-append
7582 "https://hackage.haskell.org/package/parsers/parsers-"
7583 version
7584 ".tar.gz"))
7585 (sha256
7586 (base32
6818f970 7587 "0v0smxbzk1qpdfkfqqmrzd2dngv3vxba10mkjn9nfm6a309izf8p"))))
dddbc90c
RV
7588 (build-system haskell-build-system)
7589 (arguments `(#:tests? #f)) ; FIXME: Test fails with "cannot satisfy
7590 ; -package attoparsec-0.13.0.1"
7591 (inputs
7592 `(("ghc-base-orphans" ,ghc-base-orphans)
7593 ("ghc-attoparsec" ,ghc-attoparsec)
7594 ("ghc-scientific" ,ghc-scientific)
7595 ("ghc-charset" ,ghc-charset)
7596 ("ghc-unordered-containers" ,ghc-unordered-containers)))
7597 (home-page "https://github.com/ekmett/parsers/")
7598 (synopsis "Parsing combinators")
7599 (description "This library provides convenient combinators for working
7600with and building parsing combinator libraries. Given a few simple instances,
7601you get access to a large number of canned definitions. Instances exist for
7602the parsers provided by @code{parsec}, @code{attoparsec} and @code{base}'s
7603@code{Text.Read}.")
7604 (license license:bsd-3)))
7605
7606(define-public ghc-path
7607 (package
7608 (name "ghc-path")
7609 (version "0.6.1")
7610 (source
7611 (origin
7612 (method url-fetch)
7613 (uri (string-append
7614 "https://hackage.haskell.org/package/path/path-"
7615 version
7616 ".tar.gz"))
7617 (sha256
7618 (base32
7619 "0nayla4k1gb821k8y5b9miflv1bi8f0czf9rqr044nrr2dddi2sb"))))
7620 (build-system haskell-build-system)
7621 (arguments
7622 ;; TODO: There are some Windows-related tests and modules that need to be
7623 ;; danced around.
7624 `(#:tests? #f
7625 #:cabal-revision
7626 ("1" "05b1zwx2a893h4h5wvgpc5g5pyx71hfmx409rqisd8s1bq1hn463")))
7627 (inputs
7628 `(("ghc-aeson" ,ghc-aeson)
7629 ("ghc-exceptions" ,ghc-exceptions)
7630 ("ghc-hashable" ,ghc-hashable)))
7631 (native-inputs
7632 `(("ghc-hspec" ,ghc-hspec)
7633 ("ghc-quickcheck" ,ghc-quickcheck)
7634 ("ghc-genvalidity" ,ghc-genvalidity)
7635 ("ghc-genvalidity-property" ,ghc-genvalidity-property)
7636 ("ghc-hspec" ,ghc-hspec)
7637 ("ghc-validity" ,ghc-validity)))
7638 (home-page
7639 "http://hackage.haskell.org/package/path")
7640 (synopsis "Support for well-typed paths")
7641 (description "This package introduces a type for paths upholding useful
7642invariants.")
7643 (license license:bsd-3)))
7644
7645(define-public ghc-path-io
7646 (package
7647 (name "ghc-path-io")
a06613ea 7648 (version "1.4.2")
dddbc90c
RV
7649 (source
7650 (origin
7651 (method url-fetch)
7652 (uri (string-append
7653 "https://hackage.haskell.org/package/path-io/path-io-"
7654 version
7655 ".tar.gz"))
7656 (sha256
7657 (base32
a06613ea 7658 "0jqx3mi4an4kb3kg78n1p3xrz832yrfrnvj795b0xhkv6h1z5ir3"))))
dddbc90c
RV
7659 (build-system haskell-build-system)
7660 (inputs
7661 `(("ghc-dlist" ,ghc-dlist)
7662 ("ghc-exceptions" ,ghc-exceptions)
7663 ("ghc-path" ,ghc-path)
7664 ("ghc-transformers-base" ,ghc-transformers-base)
7665 ("ghc-unix-compat" ,ghc-unix-compat)
7666 ("ghc-temporary" ,ghc-temporary)))
7667 (native-inputs
7668 `(("ghc-hspec" ,ghc-hspec)))
dddbc90c
RV
7669 (home-page
7670 "https://github.com/mrkkrp/path-io")
7671 (synopsis "Functions for manipulating well-typed paths")
7672 (description "This package provides an interface to the @code{directory}
7673package for users of @code{path}. It also implements some missing stuff like
7674recursive scanning and copying of directories, working with temporary
7675files/directories, and more.")
7676 (license license:bsd-3)))
7677
7678(define-public ghc-paths
7679 (package
7680 (name "ghc-paths")
9a8adeb1 7681 (version "0.1.0.12")
dddbc90c
RV
7682 (outputs '("out" "doc"))
7683 (source
7684 (origin
7685 (method url-fetch)
7686 (uri (string-append
7687 "https://hackage.haskell.org/package/ghc-paths/ghc-paths-"
7688 version
7689 ".tar.gz"))
7690 (sha256
7691 (base32
9a8adeb1 7692 "1164w9pqnf7rjm05mmfjznz7rrn415blrkk1kjc0gjvks1vfdjvf"))))
dddbc90c
RV
7693 (build-system haskell-build-system)
7694 (home-page "https://github.com/simonmar/ghc-paths")
7695 (synopsis
7696 "Knowledge of GHC's installation directories")
7697 (description
7698 "Knowledge of GHC's installation directories.")
7699 (license license:bsd-3)))
7700
7701(define-public ghc-patience
7702 (package
7703 (name "ghc-patience")
484476f3 7704 (version "0.3")
dddbc90c
RV
7705 (source
7706 (origin
7707 (method url-fetch)
7708 (uri (string-append
7709 "https://hackage.haskell.org/package/patience/patience-"
7710 version ".tar.gz"))
7711 (sha256
7712 (base32
484476f3 7713 "1i1b37lgi31c17yrjyf8pdm4nf5lq8vw90z3rri78hf0k66d0p3i"))))
dddbc90c
RV
7714 (build-system haskell-build-system)
7715 (home-page "https://hackage.haskell.org/package/patience")
7716 (synopsis "Patience diff and longest increasing subsequence")
7717 (description
7718 "This library implements the 'patience diff' algorithm, as well as the
7719patience algorithm for the longest increasing subsequence problem.
7720Patience diff computes the difference between two lists, for example the lines
7721of two versions of a source file. It provides a good balance between
7722performance, nice output for humans, and simplicity of implementation.")
7723 (license license:bsd-3)))
7724
7725(define-public ghc-pcre-light
7726 (package
7727 (name "ghc-pcre-light")
7728 (version "0.4.0.4")
7729 (source
7730 (origin
7731 (method url-fetch)
7732 (uri (string-append
7733 "https://hackage.haskell.org/package/pcre-light/pcre-light-"
7734 version
7735 ".tar.gz"))
7736 (sha256
7737 (base32
7738 "0xcyi1fivwg7a92mch5bcqzmrfxzqj42rmb3m8kgs61x4qwpxj82"))))
7739 (build-system haskell-build-system)
7740 (inputs
7741 `(("pcre" ,pcre)))
7742 (native-inputs
7743 `(("pkg-config" ,pkg-config)))
7744 (home-page "https://github.com/Daniel-Diaz/pcre-light")
7745 (synopsis "Haskell library for Perl 5 compatible regular expressions")
7746 (description "This package provides a small, efficient, and portable regex
7747library for Perl 5 compatible regular expressions. The PCRE library is a set
7748of functions that implement regular expression pattern matching using the same
7749syntax and semantics as Perl 5.")
7750 (license license:bsd-3)))
7751
7752(define-public ghc-persistent
7753 (package
7754 (name "ghc-persistent")
7755 (version "2.8.2")
7756 (source
7757 (origin
7758 (method url-fetch)
7759 (uri (string-append "https://hackage.haskell.org/package/"
7760 "persistent-" version "/"
7761 "persistent-" version ".tar.gz"))
7762 (sha256
7763 (base32
7764 "1h0yijbf1yiwl50klyafy4ln99j8bib4kgbzviw7fc4y4mwv4sv9"))))
7765 (build-system haskell-build-system)
7766 (inputs `(("ghc-old-locale" ,ghc-old-locale)
7767 ("ghc-conduit" ,ghc-conduit)
7768 ("ghc-resourcet" ,ghc-resourcet)
7769 ("ghc-exceptions" ,ghc-exceptions)
7770 ("ghc-monad-control" ,ghc-monad-control)
7771 ("ghc-lifted-base" ,ghc-lifted-base)
7772 ("ghc-resource-pool" ,ghc-resource-pool)
7773 ("ghc-path-pieces" ,ghc-path-pieces)
7774 ("ghc-http-api-data" ,ghc-http-api-data)
7775 ("ghc-aeson" ,ghc-aeson)
7776 ("ghc-monad-logger" ,ghc-monad-logger)
7777 ("ghc-transformers-base" ,ghc-transformers-base)
7778 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
7779 ("ghc-unordered-containers" ,ghc-unordered-containers)
7780 ("ghc-vector" ,ghc-vector)
7781 ("ghc-attoparsec" ,ghc-attoparsec)
7782 ("ghc-haskell-src-meta" ,ghc-haskell-src-meta)
7783 ("ghc-blaze-html" ,ghc-blaze-html)
7784 ("ghc-blaze-markup" ,ghc-blaze-markup)
7785 ("ghc-silently" ,ghc-silently)
7786 ("ghc-fast-logger" ,ghc-fast-logger)
7787 ("ghc-scientific" ,ghc-scientific)
7788 ("ghc-tagged" ,ghc-tagged)
7789 ("ghc-void" ,ghc-void)))
7790 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
7791 (home-page "https://www.yesodweb.com/book/persistent")
7792 (synopsis "Type-safe, multi-backend data serialization for Haskell")
7793 (description "This Haskell package allows Haskell programs to access data
7794storage systems like PostgreSQL, SQLite, MySQL and MongoDB in a type-safe
7795way.")
7796 (license license:expat)))
7797
7798(define-public ghc-persistent-sqlite
7799 (package
7800 (name "ghc-persistent-sqlite")
7801 (version "2.8.2")
7802 (source
7803 (origin
7804 (method url-fetch)
7805 (uri (string-append "https://hackage.haskell.org/package/"
7806 "persistent-sqlite-" version "/"
7807 "persistent-sqlite-" version ".tar.gz"))
7808 (sha256
7809 (base32
7810 "1chbmvjz46smhgnzhha3bbkhys3fys6dip1jr4v7xp1jf78zbyp6"))))
7811 (build-system haskell-build-system)
7812 (inputs `(("ghc-persistent" ,ghc-persistent)
7813 ("ghc-unliftio-core" ,ghc-unliftio-core)
7814 ("ghc-aeson" ,ghc-aeson)
7815 ("ghc-conduit" ,ghc-conduit)
7816 ("ghc-monad-logger" ,ghc-monad-logger)
7817 ("ghc-microlens-th" ,ghc-microlens-th)
7818 ("ghc-resourcet" ,ghc-resourcet)
7819 ("ghc-old-locale" ,ghc-old-locale)
7820 ("ghc-resource-pool" ,ghc-resource-pool)
7821 ("ghc-unordered-containers" ,ghc-unordered-containers)))
7822 (native-inputs `(("ghc-hspec" ,ghc-hspec)
7823 ("ghc-persistent-template" ,ghc-persistent-template)
7824 ("ghc-temporary" ,ghc-temporary)))
7825 (home-page
7826 "https://www.yesodweb.com/book/persistent")
7827 (synopsis "Backend for the persistent library using sqlite3")
7828 (description "This Haskell package includes a thin sqlite3 wrapper based
7829on the direct-sqlite package, as well as the entire C library, so there are no
7830system dependencies.")
7831 (license license:expat)))
7832
7833(define-public ghc-persistent-template
7834 (package
7835 (name "ghc-persistent-template")
7836 (version "2.5.4")
7837 (source
7838 (origin
7839 (method url-fetch)
7840 (uri (string-append "https://hackage.haskell.org/package/"
7841 "persistent-template-" version "/"
7842 "persistent-template-" version ".tar.gz"))
7843 (sha256
7844 (base32
7845 "008afcy7zbw7bzp9jww8gdldb51kfm0fg4p0x4xcp61gx4679bjc"))))
7846 (build-system haskell-build-system)
7847 (arguments
7848 `(#:cabal-revision
7849 ("2" "03qgwk32krldph3blw5agiqcpccr3649hajyn8wm9k71zz82dpn6")))
7850 (inputs `(("ghc-persistent" ,ghc-persistent)
7851 ("ghc-monad-control" ,ghc-monad-control)
7852 ("ghc-aeson" ,ghc-aeson)
7853 ("ghc-aeson-compat" ,ghc-aeson-compat)
7854 ("ghc-monad-logger" ,ghc-monad-logger)
7855 ("ghc-unordered-containers" ,ghc-unordered-containers)
7856 ("ghc-tagged" ,ghc-tagged)
7857 ("ghc-path-pieces" ,ghc-path-pieces)
7858 ("ghc-http-api-data" ,ghc-http-api-data)))
7859 (native-inputs `(("ghc-hspec" ,ghc-hspec)
7860 ("ghc-quickcheck" ,ghc-quickcheck)))
7861 (home-page "https://www.yesodweb.com/book/persistent")
7862 (synopsis "Type-safe, non-relational, multi-backend persistence")
7863 (description "This Haskell package provides interfaces and helper
7864functions for the ghc-persistent package.")
7865 (license license:expat)))
7866
7867(define-public ghc-polyparse
7868 (package
7869 (name "ghc-polyparse")
9822b9ca 7870 (version "1.12.1")
dddbc90c
RV
7871 (source
7872 (origin
7873 (method url-fetch)
7874 (uri (string-append
7875 "https://hackage.haskell.org/package/polyparse/polyparse-"
7876 version
7877 ".tar.gz"))
7878 (sha256
7879 (base32
9822b9ca 7880 "19fs18g7fvfdkm9zy28cgighjcxfa6mcpqgyp6whmsjkb3h393fx"))))
dddbc90c
RV
7881 (build-system haskell-build-system)
7882 (home-page
7883 "http://code.haskell.org/~malcolm/polyparse/")
7884 (synopsis
7885 "Alternative parser combinator libraries")
7886 (description
7887 "This package provides a variety of alternative parser combinator
7888libraries, including the original HuttonMeijer set. The Poly sets have
7889features like good error reporting, arbitrary token type, running state, lazy
7890parsing, and so on. Finally, Text.Parse is a proposed replacement for the
7891standard Read class, for better deserialisation of Haskell values from
7892Strings.")
7893 (license license:lgpl2.1)))
7894
7895(define-public ghc-pqueue
7896 (package
7897 (name "ghc-pqueue")
142415b0 7898 (version "1.4.1.2")
dddbc90c
RV
7899 (source
7900 (origin
7901 (method url-fetch)
7902 (uri (string-append "https://hackage.haskell.org/package/"
7903 "pqueue/pqueue-" version ".tar.gz"))
7904 (sha256
7905 (base32
142415b0 7906 "1v4zhv2sc1zsw91hvnarkjhayx2dnf7ccxz6rrhsqpcs0szaranj"))))
dddbc90c
RV
7907 (build-system haskell-build-system)
7908 (native-inputs
7909 `(("ghc-quickcheck" ,ghc-quickcheck)))
7910 (home-page "https://hackage.haskell.org/package/pqueue")
7911 (synopsis "Reliable, persistent, fast priority queues")
7912 (description
7913 "This package provides a fast, reliable priority queue implementation
7914based on a binomial heap.")
7915 (license license:bsd-3)))
7916
7917(define-public ghc-prelude-extras
7918 (package
7919 (name "ghc-prelude-extras")
7920 (version "0.4.0.3")
7921 (source
7922 (origin
7923 (method url-fetch)
7924 (uri (string-append
7925 "https://hackage.haskell.org/package/prelude-extras/prelude-extras-"
7926 version
7927 ".tar.gz"))
7928 (sha256
7929 (base32
7930 "0xzqdf3nl2h0ra4gnslm1m1nsxlsgc0hh6ky3vn578vh11zhifq9"))))
7931 (build-system haskell-build-system)
7932 (home-page "https://github.com/ekmett/prelude-extras")
7933 (synopsis "Higher order versions of Prelude classes")
7934 (description "This library provides higher order versions of
7935@code{Prelude} classes to ease programming with polymorphic recursion and
7936reduce @code{UndecidableInstances}.")
7937 (license license:bsd-3)))
7938
7939(define-public ghc-prettyclass
7940 (package
7941 (name "ghc-prettyclass")
7942 (version "1.0.0.0")
7943 (source
7944 (origin
7945 (method url-fetch)
7946 (uri (string-append "https://hackage.haskell.org/package/"
7947 "prettyclass/prettyclass-" version ".tar.gz"))
7948 (sha256
7949 (base32
7950 "11l9ajci7nh1r547hx8hgxrhq8mh5gdq30pdf845wvilg9p48dz5"))))
7951 (build-system haskell-build-system)
7952 (home-page "http://hackage.haskell.org/package/prettyclass")
7953 (synopsis "Pretty printing class similar to Show")
7954 (description "This package provides a pretty printing class similar
7955to @code{Show}, based on the HughesPJ pretty printing library. It
7956provides the pretty printing class and instances for the Prelude
7957types.")
7958 (license license:bsd-3)))
7959
7960(define-public ghc-pretty-hex
7961 (package
7962 (name "ghc-pretty-hex")
7963 (version "1.0")
7964 (source
7965 (origin
7966 (method url-fetch)
7967 (uri (string-append "https://hackage.haskell.org/package/"
7968 "pretty-hex-" version "/"
7969 "pretty-hex-" version ".tar.gz"))
7970 (sha256
7971 (base32
7972 "0ylwkvvjvmpprha9nx83xb8gkhyanhk5fffc0r7lb96n4ch5z6pz"))))
7973 (build-system haskell-build-system)
7974 (home-page "https://github.com/GaloisInc/hexdump")
7975 (synopsis "Haskell library for hex dumps of ByteStrings")
7976 (description "This Haskell library generates pretty hex dumps of
7977ByteStrings in the style of other common *nix hex dump tools.")
7978 (license license:bsd-3)))
7979
7980(define-public ghc-pretty-show
7981 (package
7982 (name "ghc-pretty-show")
7683a084 7983 (version "1.9.5")
dddbc90c
RV
7984 (source
7985 (origin
7986 (method url-fetch)
7987 (uri (string-append "https://hackage.haskell.org/package/pretty-show/"
7988 "pretty-show-" version ".tar.gz"))
7989 (sha256
7990 (base32
7683a084 7991 "0gs2pabi4qa4b0r5vffpf9b1cf5n9y2939a3lljjw7cmg6xvx5dh"))))
dddbc90c
RV
7992 (build-system haskell-build-system)
7993 (inputs
7994 `(("ghc-haskell-lexer" ,ghc-haskell-lexer)
7995 ("ghc-happy" ,ghc-happy)))
7996 (home-page "http://wiki.github.com/yav/pretty-show")
7997 (synopsis "Tools for working with derived `Show` instances")
7998 (description
7999 "This package provides a library and an executable for working with
8000derived @code{Show} instances. By using the library, derived @code{Show}
8001instances can be parsed into a generic data structure. The @code{ppsh} tool
8002uses the library to produce human-readable versions of @code{Show} instances,
8003which can be quite handy for debugging Haskell programs. We can also render
8004complex generic values into an interactive Html page, for easier
8005examination.")
8006 (license license:expat)))
8007
8008(define-public ghc-primitive
8009 (package
8010 (name "ghc-primitive")
8011 (version "0.6.4.0")
8012 (outputs '("out" "doc"))
8013 (source
8014 (origin
8015 (method url-fetch)
8016 (uri (string-append
8017 "https://hackage.haskell.org/package/primitive/primitive-"
8018 version
8019 ".tar.gz"))
8020 (sha256
8021 (base32
8022 "0r0cda7acvplgwaxy69kviv4jp7kkfi038by68gj4yfx4iwszgjc"))))
8023 (build-system haskell-build-system)
6cf0daa4
TS
8024 (arguments
8025 `(#:cabal-revision
8026 ("1" "18a14k1yiam1m4l29rin9a0y53yp3nxvkz358nysld8aqwy2qsjv")))
dddbc90c
RV
8027 (home-page
8028 "https://github.com/haskell/primitive")
8029 (synopsis "Primitive memory-related operations")
8030 (description
8031 "This package provides various primitive memory-related operations.")
8032 (license license:bsd-3)))
8033
21f5b9a9
JS
8034(define-public ghc-process-extras
8035 (package
8036 (name "ghc-process-extras")
8037 (version "0.7.4")
8038 (source
8039 (origin
8040 (method url-fetch)
8041 (uri
8042 (string-append
8043 "https://hackage.haskell.org/package/process-extras/"
8044 "process-extras-" version ".tar.gz"))
8045 (sha256
8046 (base32
8047 "0klqgr37f1z2z6i0a9b0giapmq0p35l5k9kz1p7f0k1597w7agi9"))))
8048 (build-system haskell-build-system)
8049 (inputs
8050 `(("ghc-data-default" ,ghc-data-default)
8051 ("ghc-generic-deriving" ,ghc-generic-deriving)
8052 ("ghc-hunit" ,ghc-hunit)
8053 ("ghc-listlike" ,ghc-listlike)))
8054 (home-page "https://github.com/seereason/process-extras")
8055 (synopsis "Extra tools for managing processes")
f74b6983 8056 (description "This package extends
21f5b9a9
JS
8057@url{http://hackage.haskell.org/package/process}. It allows you to read
8058process input and output as ByteStrings or Text, or write your own
8059ProcessOutput instance. It also provides lazy process input and output,
8060and a ProcessMaker class for more flexibility in the process creation
8061API.")
8062 (license license:expat)))
8063
dddbc90c
RV
8064(define-public ghc-profunctors
8065 (package
8066 (name "ghc-profunctors")
899b5297 8067 (version "5.3")
dddbc90c
RV
8068 (source
8069 (origin
8070 (method url-fetch)
8071 (uri (string-append
8072 "https://hackage.haskell.org/package/profunctors/profunctors-"
8073 version
8074 ".tar.gz"))
8075 (sha256
8076 (base32
899b5297 8077 "1dx3nkc27yxsrbrhh3iwhq7dl1xn6bj7n62yx6nh8vmpbg62lqvl"))))
dddbc90c 8078 (build-system haskell-build-system)
dddbc90c
RV
8079 (inputs
8080 `(("ghc-base-orphans" ,ghc-base-orphans)
8081 ("ghc-bifunctors" ,ghc-bifunctors)
8082 ("ghc-comonad" ,ghc-comonad)
8083 ("ghc-contravariant" ,ghc-contravariant)
8084 ("ghc-distributive" ,ghc-distributive)
8085 ("ghc-semigroups" ,ghc-semigroups)
8086 ("ghc-tagged" ,ghc-tagged)))
8087 (home-page "https://github.com/ekmett/profunctors/")
8088 (synopsis "Profunctors for Haskell")
8089 (description "This library provides profunctors for Haskell.")
8090 (license license:bsd-3)))
8091
8092(define-public ghc-psqueues
8093 (package
8094 (name "ghc-psqueues")
5d133942 8095 (version "0.2.7.2")
dddbc90c
RV
8096 (source
8097 (origin
8098 (method url-fetch)
8099 (uri (string-append "https://hackage.haskell.org/package/"
8100 "psqueues-" version "/"
8101 "psqueues-" version ".tar.gz"))
8102 (sha256
8103 (base32
5d133942 8104 "1yckx2csqswghiy9nfj03cybmza8104nmnpbpcc9ngwlbmakn9i6"))))
dddbc90c
RV
8105 (build-system haskell-build-system)
8106 (inputs
8107 `(("ghc-hashable" ,ghc-hashable)))
8108 (native-inputs
8109 `(("ghc-hunit" ,ghc-hunit)
8110 ("ghc-quickcheck" ,ghc-quickcheck)
8111 ("ghc-tagged" ,ghc-tagged)
5d133942
TS
8112 ("ghc-tasty" ,ghc-tasty)
8113 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
8114 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
dddbc90c
RV
8115 (home-page "https://github.com/jaspervdj/psqueues")
8116 (synopsis "Pure priority search queues")
8117 (description "The psqueues package provides
8118@uref{https://en.wikipedia.org/wiki/Priority_queue, Priority Search Queues} in
8119three different flavors:
8120
8121@itemize
8122@item @code{OrdPSQ k p v}, which uses the @code{Ord k} instance to provide
8123fast insertion, deletion and lookup. This implementation is based on Ralf
8124Hinze's @uref{http://citeseer.ist.psu.edu/hinze01simple.html, A Simple
8125Implementation Technique for Priority Search Queues}.
8126
8127Hence, it is similar to the @uref{https://hackage.haskell.org/package/PSQueue,
8128PSQueue} library, although it is considerably faster and provides a slightly
8129different API.
8130
8131@item @code{IntPSQ p v} is a far more efficient implementation. It fixes the
8132key type to @code{Int} and uses a
8133@code{https://en.wikipedia.org/wiki/Radix_tree, radix tree} (like @code{IntMap})
8134with an additional min-heap property.
8135
8136@item @code{HashPSQ k p v} is a fairly straightforward extension
8137of @code{IntPSQ}: it simply uses the keys' hashes as indices in the
8138@code{IntPSQ}. If there are any hash collisions, it uses an
8139@code{OrdPSQ} to resolve those. The performance of this implementation
8140is comparable to that of @code{IntPSQ}, but it is more widely
8141applicable since the keys are not restricted to @code{Int},
8142but rather to any @code{Hashable} datatype.
8143@end itemize
8144
8145Each of the three implementations provides the same API, so they can
8146be used interchangeably.
8147
8148Typical applications of Priority Search Queues include:
8149
8150@itemize
8151@item Caches, and more specifically LRU Caches;
8152@item Schedulers;
8153@item Pathfinding algorithms, such as Dijkstra's and A*.
8154@end itemize")
8155 (license license:bsd-3)))
8156
8157(define-public ghc-random
8158 (package
8159 (name "ghc-random")
8160 (version "1.1")
8161 (outputs '("out" "doc"))
8162 (source
8163 (origin
8164 (method url-fetch)
8165 (uri (string-append
8166 "https://hackage.haskell.org/package/random/random-"
8167 version
8168 ".tar.gz"))
8169 (sha256
8170 (base32 "0nis3lbkp8vfx8pkr6v7b7kr5m334bzb0fk9vxqklnp2aw8a865p"))))
8171 (build-system haskell-build-system)
8172 (home-page "https://hackage.haskell.org/package/random")
8173 (synopsis "Random number library")
8174 (description "This package provides a basic random number generation
8175library, including the ability to split random number generators.")
8176 (license license:bsd-3)))
8177
8178(define-public ghc-raw-strings-qq
8179 (package
8180 (name "ghc-raw-strings-qq")
8181 (version "1.1")
8182 (source
8183 (origin
8184 (method url-fetch)
8185 (uri (string-append "https://hackage.haskell.org/package/"
8186 "raw-strings-qq/raw-strings-qq-"
8187 version ".tar.gz"))
8188 (sha256
8189 (base32
8190 "1lxy1wy3awf52968iy5y9r5z4qgnn2sxkdrh7js3m9gadb11w09f"))))
8191 (build-system haskell-build-system)
8192 (native-inputs `(("ghc-hunit" ,ghc-hunit)))
8193 (home-page "https://github.com/23Skidoo/raw-strings-qq")
8194 (synopsis "Raw string literals for Haskell")
8195 (description
8196 "This package provides a quasiquoter for raw string literals, i.e. string
8197literals that don't recognise the standard escape sequences. Basically, they
8198make your code more readable by freeing you from the responsibility to escape
8199backslashes. They are useful when working with regular expressions,
8200DOS/Windows paths and markup languages (such as XML).")
8201 (license license:bsd-3)))
8202
8203(define-public ghc-readable
8204 (package
8205 (name "ghc-readable")
8206 (version "0.3.1")
8207 (source
8208 (origin
8209 (method url-fetch)
8210 (uri (string-append "https://hackage.haskell.org/package/"
8211 "readable/readable-" version ".tar.gz"))
8212 (sha256
8213 (base32
8214 "1ja39cg26wy2fs00gi12x7iq5k8i366pbqi3p916skfa5jnkfc3h"))))
8215 (build-system haskell-build-system)
8216 (home-page "https://github.com/mightybyte/readable")
8217 (synopsis "Type class for reading from Text and ByteString")
8218 (description "This package provides a @code{Readable} type class for
8219reading data types from @code{ByteString} and @code{Text}. It also
8220includes efficient implementations for common data types.")
8221 (license license:bsd-3)))
8222
8223(define-public ghc-rebase
8224 (package
8225 (name "ghc-rebase")
8d2ae3fe 8226 (version "1.3.1.1")
dddbc90c
RV
8227 (source
8228 (origin
8229 (method url-fetch)
8230 (uri (string-append "https://hackage.haskell.org/package/"
8231 "rebase-" version "/"
8232 "rebase-" version ".tar.gz"))
8233 (sha256
8234 (base32
8d2ae3fe 8235 "0q4m2fa7wkgxs0grir8rlqwibasmi3s1x7c107ynndwfm62nzv0a"))))
dddbc90c
RV
8236 (build-system haskell-build-system)
8237 (inputs `(("ghc-hashable" ,ghc-hashable)
8238 ("ghc-vector" ,ghc-vector)
8239 ("ghc-unordered-containers" ,ghc-unordered-containers)
8240 ("ghc-scientific" ,ghc-scientific)
8241 ("ghc-uuid" ,ghc-uuid)
8242 ("ghc-dlist" ,ghc-dlist)
8243 ("ghc-void" ,ghc-void)
8244 ("ghc-bifunctors" ,ghc-bifunctors)
8245 ("ghc-profunctors" ,ghc-profunctors)
8246 ("ghc-contravariant" ,ghc-contravariant)
8247 ("ghc-contravariant-extras" ,ghc-contravariant-extras)
8248 ("ghc-semigroups" ,ghc-semigroups)
8249 ("ghc-either" ,ghc-either)
8250 ("ghc-fail" ,ghc-fail)
8251 ("ghc-base-prelude" ,ghc-base-prelude)))
8252 (home-page "https://github.com/nikita-volkov/rebase")
8253 (synopsis "Progressive alternative to the base package
8254for Haskell")
8255 (description "This Haskell package is intended for those who are
8256tired of keeping long lists of dependencies to the same essential libraries
8257in each package as well as the endless imports of the same APIs all over again.
8258
8259It also supports the modern tendencies in the language.
8260
8261To solve those problems this package does the following:
8262
8263@itemize
8264@item Reexport the original APIs under the @code{Rebase} namespace.
8265
8266@item Export all the possible non-conflicting symbols from the
8267@code{Rebase.Prelude} module.
8268
8269@item Give priority to the modern practices in the conflicting cases.
8270@end itemize
8271
8272The policy behind the package is only to reexport the non-ambiguous and
8273non-controversial APIs, which the community has obviously settled on.
8274The package is intended to rapidly evolve with the contribution from
8275the community, with the missing features being added with pull-requests.")
8276 (license license:expat)))
8277
8278(define-public ghc-reducers
8279 (package
8280 (name "ghc-reducers")
8281 (version "3.12.3")
8282 (source
8283 (origin
8284 (method url-fetch)
8285 (uri (string-append
8286 "https://hackage.haskell.org/package/reducers/reducers-"
8287 version
8288 ".tar.gz"))
8289 (sha256
8290 (base32
8291 "09wf8pl9ycglcv6qj5ba26gkg2s5iy81hsx9xp0q8na0cwvp71ki"))))
8292 (build-system haskell-build-system)
8293 (inputs
8294 `(("ghc-fingertree" ,ghc-fingertree)
8295 ("ghc-hashable" ,ghc-hashable)
8296 ("ghc-unordered-containers" ,ghc-unordered-containers)
8297 ("ghc-semigroupoids" ,ghc-semigroupoids)
8298 ("ghc-semigroups" ,ghc-semigroups)))
8299 (home-page "https://github.com/ekmett/reducers/")
8300 (synopsis "Semigroups, specialized containers and a general map/reduce framework")
8301 (description "This library provides various semigroups, specialized
8302containers and a general map/reduce framework for Haskell.")
8303 (license license:bsd-3)))
8304
8305(define-public ghc-refact
8306 (package
8307 (name "ghc-refact")
8308 (version "0.3.0.2")
8309 (source
8310 (origin
8311 (method url-fetch)
8312 (uri (string-append "https://hackage.haskell.org/package/"
8313 "refact/refact-"
8314 version ".tar.gz"))
8315 (sha256
8316 (base32
8317 "0v0zxcx29b8jxs2kgy9csykqcp8kzhdvyylw2xfwmj4pfxr2kl0a"))))
8318 (build-system haskell-build-system)
8319 (home-page "http://hackage.haskell.org/package/refact")
8320 (synopsis "Specify refactorings to perform with apply-refact")
8321 (description
8322 "This library provides a datatype which can be interpreted by
8323@code{apply-refact}. It exists as a separate library so that applications can
8324specify refactorings without depending on GHC.")
8325 (license license:bsd-3)))
8326
8327(define-public ghc-reflection
8328 (package
8329 (name "ghc-reflection")
d215f1cc 8330 (version "2.1.5")
dddbc90c
RV
8331 (source
8332 (origin
8333 (method url-fetch)
8334 (uri (string-append
8335 "https://hackage.haskell.org/package/reflection/reflection-"
8336 version
8337 ".tar.gz"))
8338 (sha256
8339 (base32
d215f1cc 8340 "0xr947nj1vww5b8fwqmypxm3y3j5sxl4z8wnf834f83jzfzyjbi7"))))
dddbc90c
RV
8341 (build-system haskell-build-system)
8342 (inputs `(("ghc-tagged" ,ghc-tagged)))
d215f1cc
TS
8343 (native-inputs
8344 `(("ghc-hspec" ,ghc-hspec)
8345 ("ghc-quickcheck" ,ghc-quickcheck)
8346 ("hspec-discover" ,hspec-discover)))
dddbc90c
RV
8347 (home-page "https://github.com/ekmett/reflection")
8348 (synopsis "Reify arbitrary terms into types that can be reflected back
8349into terms")
8350 (description "This package addresses the 'configuration problem' which is
8351propagating configurations that are available at run-time, allowing multiple
8352configurations to coexist without resorting to mutable global variables or
8353@code{System.IO.Unsafe.unsafePerformIO}.")
8354 (license license:bsd-3)))
8355
8356(define-public ghc-regex
8357 (package
8358 (name "ghc-regex")
b9a5e634 8359 (version "1.0.2.0")
dddbc90c
RV
8360 (source
8361 (origin
8362 (method url-fetch)
8363 (uri (string-append "https://hackage.haskell.org/package/regex/"
8364 "regex-" version ".tar.gz"))
8365 (sha256
8366 (base32
b9a5e634 8367 "1f2z025hif1fr24b5khq3qxxyvpxrnhyx8xmbms332arw28rpkda"))))
dddbc90c
RV
8368 (build-system haskell-build-system)
8369 (arguments
8370 `(#:phases
8371 (modify-phases %standard-phases
8372 (add-after 'unpack 'relax-dependencies
8373 (lambda _
8374 (substitute* "regex.cabal"
8375 (("base-compat.*>=.*0.6.*")
8376 "base-compat >= 0.6\n")
8377 (("template-haskell.*>=.*2.7.*")
8378 "template-haskell >= 2.7\n"))
8379 #t)))))
8380 (inputs
8381 `(("ghc-base-compat" ,ghc-base-compat)
8382 ("ghc-hashable" ,ghc-hashable)
8383 ("ghc-regex-base" ,ghc-regex-base)
8384 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
8385 ("ghc-regex-tdfa" ,ghc-regex-tdfa)
8386 ("ghc-regex-tdfa-text" ,ghc-regex-tdfa-text)
8387 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
8388 ("ghc-unordered-containers" ,ghc-unordered-containers)
8389 ("ghc-utf8-string" ,ghc-utf8-string)))
8390 (home-page "http://regex.uk")
8391 (synopsis "Toolkit for regex-base")
8392 (description
8393 "This package provides a regular expression toolkit for @code{regex-base}
8394with compile-time checking of regular expression syntax, data types for
8395matches and captures, a text replacement toolkit, portable options, high-level
8396AWK-like tools for building text processing apps, regular expression macros
8397with parsers and test bench, comprehensive documentation, tutorials and
8398copious examples.")
8399 (license license:bsd-3)))
8400
8401(define-public ghc-regex-applicative
8402 (package
8403 (name "ghc-regex-applicative")
30f60e42 8404 (version "0.3.3.1")
dddbc90c
RV
8405 (source
8406 (origin
8407 (method url-fetch)
8408 (uri (string-append
8409 "https://hackage.haskell.org/package/regex-applicative/"
8410 "regex-applicative-" version ".tar.gz"))
8411 (sha256
8412 (base32
30f60e42 8413 "0p0anx5vamrhrdvviwkh2zn6pa3pv2bjb7nfyc7dvz2q7g14y1lg"))))
dddbc90c
RV
8414 (build-system haskell-build-system)
8415 (inputs
8416 `(("ghc-smallcheck" ,ghc-smallcheck)
8417 ("ghc-tasty" ,ghc-tasty)
8418 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
8419 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
8420 (home-page "https://github.com/feuerbach/regex-applicative")
8421 (synopsis "Regex-based parsing with applicative interface")
8422 (description
8423 "@code{regex-applicative} is a Haskell library for parsing using
8424regular expressions. Parsers can be built using Applicative interface.")
8425 (license license:expat)))
8426
8427(define-public ghc-regex-base
8428 (package
8429 (name "ghc-regex-base")
8430 (version "0.93.2")
8431 (source
8432 (origin
8433 (method url-fetch)
8434 (uri (string-append
8435 "https://hackage.haskell.org/package/regex-base/regex-base-"
8436 version
8437 ".tar.gz"))
8438 (sha256
8439 (base32
8440 "0y1j4h2pg12c853nzmczs263di7xkkmlnsq5dlp5wgbgl49mgp10"))))
8441 (build-system haskell-build-system)
8442 (home-page
8443 "https://sourceforge.net/projects/lazy-regex")
8444 (synopsis "Replaces/Enhances Text.Regex")
8445 (description "@code{Text.Regex.Base} provides the interface API for
8446regex-posix, regex-pcre, regex-parsec, regex-tdfa, regex-dfa.")
8447 (license license:bsd-3)))
8448
8449(define-public ghc-regex-compat
8450 (package
8451 (name "ghc-regex-compat")
8452 (version "0.95.1")
8453 (source
8454 (origin
8455 (method url-fetch)
8456 (uri (string-append
8457 "https://hackage.haskell.org/package/regex-compat/regex-compat-"
8458 version
8459 ".tar.gz"))
8460 (sha256
8461 (base32
8462 "0fwmima3f04p9y4h3c23493n1xj629ia2dxaisqm6rynljjv2z6m"))))
8463 (build-system haskell-build-system)
8464 (inputs
8465 `(("ghc-regex-base" ,ghc-regex-base)
8466 ("ghc-regex-posix" ,ghc-regex-posix)))
8467 (home-page "https://sourceforge.net/projects/lazy-regex")
8468 (synopsis "Replaces/Enhances Text.Regex")
8469 (description "This library provides one module layer over
8470@code{regex-posix} to replace @code{Text.Regex}.")
8471 (license license:bsd-3)))
8472
8473(define-public ghc-regex-compat-tdfa
8474 (package
8475 (name "ghc-regex-compat-tdfa")
8476 (version "0.95.1.4")
8477 (source
8478 (origin
8479 (method url-fetch)
8480 (uri (string-append
8481 "https://hackage.haskell.org/package/regex-compat-tdfa/regex-compat-tdfa-"
8482 version ".tar.gz"))
8483 (sha256
8484 (base32
8485 "1p90fn90yhp7fvljjdqjp41cszidcfz4pw7fwvzyx4739b98x8sg"))))
8486 (build-system haskell-build-system)
8487 (inputs
8488 `(("ghc-regex-base" ,ghc-regex-base)
8489 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
8490 (home-page "https://hub.darcs.net/shelarcy/regex-compat-tdfa")
8491 (synopsis "Unicode Support version of Text.Regex, using regex-tdfa")
8492 (description
8493 "One module layer over @code{regex-tdfa} to replace @code{Text.Regex}.
8494@code{regex-compat} can't use Unicode characters correctly because of using regex-posix.
8495This is not good for Unicode users. This modified regex-compat uses regex-tdfa to solve
8496this problem.")
8497 (license license:bsd-3)))
8498
8499(define-public ghc-regex-pcre-builtin
8500 (package
8501 (name "ghc-regex-pcre-builtin")
ee946143 8502 (version "0.94.5.8.8.35")
dddbc90c
RV
8503 (source (origin
8504 (method url-fetch)
8505 (uri (string-append "https://hackage.haskell.org/package/"
8506 "regex-pcre-builtin/regex-pcre-builtin-"
8507 version ".tar.gz"))
8508 (sha256
8509 (base32
ee946143 8510 "1s755qdg1mxrf125sh83bsc5kjkrj8fkq8wf6dg1jan86c7p7gl4"))))
dddbc90c
RV
8511 (build-system haskell-build-system)
8512 (inputs
8513 `(("ghc-regex-base" ,ghc-regex-base)))
8514 (home-page "https://hackage.haskell.org/package/regex-pcre")
8515 (synopsis "Enhancement of the builtin Text.Regex library")
8516 (description
8517 "This package is an enhancement of the @code{Text.Regex} library,
8518providing the PCRE backend to accompany regex-base, with bundled code from
8519@url{https://www.pcre.org}.")
8520 (license license:bsd-3)))
8521
8522(define-public ghc-regex-posix
8523 (package
8524 (name "ghc-regex-posix")
8525 (version "0.95.2")
8526 (source
8527 (origin
8528 (method url-fetch)
8529 (uri (string-append
8530 "https://hackage.haskell.org/package/regex-posix/regex-posix-"
8531 version
8532 ".tar.gz"))
8533 (sha256
8534 (base32
8535 "0gkhzhj8nvfn1ija31c7xnl6p0gadwii9ihyp219ck2arlhrj0an"))))
8536 (build-system haskell-build-system)
8537 (inputs
8538 `(("ghc-regex-base" ,ghc-regex-base)))
8539 (home-page "https://sourceforge.net/projects/lazy-regex")
8540 (synopsis "POSIX regular expressions for Haskell")
8541 (description "This library provides the POSIX regex backend used by the
8542Haskell library @code{regex-base}.")
8543 (license license:bsd-3)))
8544
8545(define-public ghc-regex-tdfa
8546 (package
8547 (name "ghc-regex-tdfa")
ce684db0 8548 (version "1.2.3.2")
dddbc90c
RV
8549 (source
8550 (origin
8551 (method url-fetch)
8552 (uri (string-append
8553 "https://hackage.haskell.org/package/regex-tdfa/regex-tdfa-"
8554 version ".tar.gz"))
8555 (sha256
8556 (base32
ce684db0 8557 "03yhpqrqz977nwlnhnyz9dacnbzw8xb6j18h365rkgmbc05sb3hf"))))
dddbc90c
RV
8558 (build-system haskell-build-system)
8559 (inputs
8560 `(("ghc-regex-base" ,ghc-regex-base)))
8561 (home-page "https://github.com/ChrisKuklewicz/regex-tdfa")
8562 (synopsis "POSIX extended regular expressions in Haskell.")
8563 (description
8564 "Regex-tdfa is a pure Haskell regular expression library implementing POSIX
8565extended regular expressions. It is a \"tagged\" DFA regex engine. It is
8566inspired by libtre.")
8567 (license license:bsd-3)))
8568
8569(define-public ghc-regex-tdfa-text
8570 (package
8571 (name "ghc-regex-tdfa-text")
8572 (version "1.0.0.3")
8573 (source
8574 (origin
8575 (method url-fetch)
8576 (uri (string-append
8577 "https://hackage.haskell.org/package/regex-tdfa-text/"
8578 "regex-tdfa-text-" version ".tar.gz"))
8579 (sha256
8580 (base32
8581 "0090g6lgbdm9lywpqm2d3724nnnh24nx3vnlqr96qc2w486pmmrq"))))
8582 (build-system haskell-build-system)
8583 (inputs
8584 `(("ghc-regex-base" ,ghc-regex-base)
8585 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
8586 (home-page
8587 "http://hackage.haskell.org/package/regex-tdfa-text")
8588 (synopsis "Text interface for regex-tdfa")
8589 (description
8590 "This provides an extra text interface for regex-tdfa.")
8591 (license license:bsd-3)))
8592
8593(define-public ghc-rerebase
8594 (package
8595 (name "ghc-rerebase")
cdec7b8c 8596 (version "1.3.1.1")
dddbc90c
RV
8597 (source
8598 (origin
8599 (method url-fetch)
8600 (uri (string-append
8601 "https://hackage.haskell.org/package/rerebase/rerebase-"
8602 version ".tar.gz"))
8603 (sha256
8604 (base32
cdec7b8c 8605 "1jbqif6k249rkknm2zwk8v8jil3kgi9ar53358v8l4ffx346rm82"))))
dddbc90c
RV
8606 (build-system haskell-build-system)
8607 (inputs
8608 `(("ghc-rebase" ,ghc-rebase)))
8609 (home-page "https://github.com/nikita-volkov/rerebase")
8610 (synopsis "Reexports from ``base'' with many other standard libraries")
8611 (description "A rich drop-in replacement for @code{base}. For details and
8612documentation please visit @uref{https://github.com/nikita-volkov/rerebase,
8613the project's home page}.")
8614 (license license:expat)))
8615
8616(define-public ghc-resolv
8617 (package
8618 (name "ghc-resolv")
8619 (version "0.1.1.1")
8620 (source
8621 (origin
8622 (method url-fetch)
8623 (uri (string-append
8624 "https://hackage.haskell.org/package/resolv/resolv-"
8625 version ".tar.gz"))
8626 (sha256
8627 (base32
8628 "0wh7wj56l3f2bylz563g5g04a4nydj8acv60hpwa7k3mn792xca9"))))
8629 (build-system haskell-build-system)
8630 (arguments
8631 `(#:cabal-revision
8632 ("1" "15ay4n3x8c09cb3h4z1nan84yd3n9zpgvi6h114hk98bq10k8mma")
8633 #:tests? #f)) ; The required test frameworks are too old.
8634 (inputs
8635 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)))
8636 (home-page "https://github.com/haskell/hackage-security")
8637 (synopsis "Domain Name Service (DNS) lookup via @code{libresolv}")
8638 (description "This package implements an API for accessing the
8639@uref{https://tools.ietf.org/html/rfc1035, Domain Name Service (DNS)}
8640resolver service via the standard @code{libresolv} system library (whose
8641API is often available directly via the standard @code{libc} C library) on
8642Unix systems.")
8643 (license license:gpl3)))
8644
8645(define-public ghc-resource-pool
8646 (package
8647 (name "ghc-resource-pool")
8648 (version "0.2.3.2")
8649 (source
8650 (origin
8651 (method url-fetch)
8652 (uri (string-append "https://hackage.haskell.org/package/"
8653 "resource-pool-" version "/"
8654 "resource-pool-" version ".tar.gz"))
8655 (sha256
8656 (base32
8657 "04mw8b9djb14zp4rdi6h7mc3zizh597ffiinfbr4m0m8psifw9w6"))))
8658 (build-system haskell-build-system)
8659 (inputs `(("ghc-hashable" ,ghc-hashable)
8660 ("ghc-monad-control" ,ghc-monad-control)
8661 ("ghc-transformers-base" ,ghc-transformers-base)
8662 ("ghc-vector" ,ghc-vector)))
8663 (home-page "https://github.com/bos/pool")
8664 (synopsis "Striped resource pooling implementation in Haskell")
8665 (description "This Haskell package provides striped pooling abstraction
8666for managing flexibly-sized collections of resources such as database
8667connections.")
8668 (license license:bsd-3)))
8669
8670(define-public ghc-resourcet
8671 (package
8672 (name "ghc-resourcet")
9ac341ac 8673 (version "1.2.2")
dddbc90c
RV
8674 (source
8675 (origin
8676 (method url-fetch)
8677 (uri (string-append "https://hackage.haskell.org/package/resourcet/"
8678 "resourcet-" version ".tar.gz"))
8679 (sha256
8680 (base32
9ac341ac 8681 "1rfbfcv3r1h29y0yqr3x6a1s04lbc3vzm3jqnfg4f9rqp9d448qk"))))
dddbc90c
RV
8682 (build-system haskell-build-system)
8683 (inputs
8684 `(("ghc-transformers-base" ,ghc-transformers-base)
8685 ("ghc-monad-control" ,ghc-monad-control)
8686 ("ghc-transformers-compat" ,ghc-transformers-compat)
8687 ("ghc-mmorph" ,ghc-mmorph)
8688 ("ghc-exceptions" ,ghc-exceptions)
8689 ("ghc-unliftio-core" ,ghc-unliftio-core)))
8690 (native-inputs
8691 `(("ghc-lifted-base" ,ghc-lifted-base)
8692 ("ghc-hspec" ,ghc-hspec)))
8693 (home-page "https://github.com/snoyberg/conduit")
8694 (synopsis "Deterministic allocation and freeing of scarce resources")
8695 (description "ResourceT is a monad transformer which creates a region of
8696code where you can safely allocate resources.")
8697 (license license:bsd-3)))
8698
b9debc37
TS
8699(define-public ghc-retry
8700 (package
8701 (name "ghc-retry")
8702 (version "0.8.1.0")
8703 (source
8704 (origin
8705 (method url-fetch)
8706 (uri (string-append "https://hackage.haskell.org/package/"
8707 "retry/retry-" version ".tar.gz"))
8708 (sha256
8709 (base32
8710 "02k03r86amg1vbrsvb644342ym13d9jwkzki9sk93pdg5l8j35dj"))))
8711 (build-system haskell-build-system)
8712 (inputs
8713 `(("ghc-exceptions" ,ghc-exceptions)
8714 ("ghc-random" ,ghc-random)))
8715 (native-inputs
8716 `(("ghc-hunit" ,ghc-hunit)
8717 ("ghc-tasty" ,ghc-tasty)
8718 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
8719 ("ghc-tasty-hedgehog" ,ghc-tasty-hedgehog)
8720 ("ghc-hedgehog" ,ghc-hedgehog)))
8721 (home-page "http://github.com/Soostone/retry")
8722 (synopsis "Retry combinators for monadic actions that may fail")
8723 (description "This package exposes combinators that can wrap
8724arbitrary monadic actions. They run the action and potentially retry
8725running it with some configurable delay for a configurable number of
8726times. The purpose is to make it easier to work with IO and especially
8727network IO actions that often experience temporary failure and warrant
8728retrying of the original action. For example, a database query may time
8729out for a while, in which case we should hang back for a bit and retry
8730the query instead of simply raising an exception.")
8731 (license license:bsd-3)))
8732
dddbc90c
RV
8733(define-public ghc-rfc5051
8734 (package
8735 (name "ghc-rfc5051")
ec42ab7c 8736 (version "0.1.0.4")
dddbc90c
RV
8737 (source
8738 (origin
8739 (method url-fetch)
8740 (uri (string-append "https://hackage.haskell.org/package/rfc5051/"
8741 "rfc5051-" version ".tar.gz"))
8742 (sha256
8743 (base32
ec42ab7c 8744 "1lxkq414ni986ciml4gbvf463fn55z299knky7pq3ixb1qislpb1"))))
dddbc90c
RV
8745 (build-system haskell-build-system)
8746 (home-page "https://hackage.haskell.org/package/rfc5051")
8747 (synopsis "Simple unicode collation as per RFC5051")
8748 (description
8749 "This library implements @code{unicode-casemap}, the simple, non
8750locale-sensitive unicode collation algorithm described in RFC 5051. Proper
8751unicode collation can be done using @code{text-icu}, but that is a big
8752dependency that depends on a large C library, and @code{rfc5051} might be
8753better for some purposes.")
8754 (license license:bsd-3)))
8755
8756(define-public ghc-rio
8757 (package
8758 (name "ghc-rio")
8bda2fa7 8759 (version "0.1.12.0")
dddbc90c
RV
8760 (source
8761 (origin
8762 (method url-fetch)
8763 (uri (string-append
8764 "https://hackage.haskell.org/package/rio/rio-"
8765 version ".tar.gz"))
8766 (sha256
8767 (base32
8bda2fa7 8768 "0xzjkh6aavynpyskikhs8dmv0zhkiqiwz9zdn80zbd25b2182pif"))))
dddbc90c
RV
8769 (build-system haskell-build-system)
8770 (inputs
8771 `(("ghc-exceptions" ,ghc-exceptions)
8772 ("ghc-hashable" ,ghc-hashable)
8773 ("ghc-microlens" ,ghc-microlens)
8774 ("ghc-primitive" ,ghc-primitive)
8775 ("ghc-typed-process" ,ghc-typed-process)
8776 ("ghc-unliftio" ,ghc-unliftio)
8777 ("ghc-unordered-containers" ,ghc-unordered-containers)
8778 ("ghc-vector" ,ghc-vector)))
8779 (native-inputs
8780 `(("ghc-hspec" ,ghc-hspec)
8781 ("hspec-discover" ,hspec-discover)))
8782 (home-page "https://github.com/commercialhaskell/rio#readme")
8783 (synopsis "A standard library for Haskell")
8784 (description "This package works as a prelude replacement for Haskell,
8785providing more functionality and types out of the box than the standard
8786prelude (such as common data types like @code{ByteString} and
8787@code{Text}), as well as removing common ``gotchas'', like partial
8788functions and lazy I/O. The guiding principle here is:
8789@itemize
8790@item If something is safe to use in general and has no expected naming
8791conflicts, expose it.
8792@item If something should not always be used, or has naming conflicts,
8793expose it from another module in the hierarchy.
8794@end itemize")
8795 (license license:expat)))
8796
8797(define-public ghc-safe
8798 (package
8799 (name "ghc-safe")
8800 (version "0.3.17")
8801 (source
8802 (origin
8803 (method url-fetch)
8804 (uri (string-append
8805 "https://hackage.haskell.org/package/safe/safe-"
8806 version
8807 ".tar.gz"))
8808 (sha256
8809 (base32
8810 "0p3yaf5slvyz1cyy51jq64c5rlp8yzwim8iy2dlnk42if4gc9ibr"))))
8811 (build-system haskell-build-system)
8812 (native-inputs
8813 `(("ghc-quickcheck" ,ghc-quickcheck)))
8814 (home-page "https://github.com/ndmitchell/safe#readme")
8815 (synopsis "Library of safe (exception free) functions")
8816 (description "This library provides wrappers around @code{Prelude} and
8817@code{Data.List} functions, such as @code{head} and @code{!!}, that can throw
8818exceptions.")
8819 (license license:bsd-3)))
8820
8821(define-public ghc-safe-exceptions
8822 (package
8823 (name "ghc-safe-exceptions")
8824 (version "0.1.7.0")
8825 (source
8826 (origin
8827 (method url-fetch)
8828 (uri (string-append "https://hackage.haskell.org/package/"
8829 "safe-exceptions/safe-exceptions-"
8830 version ".tar.gz"))
8831 (sha256
8832 (base32
8833 "0sd0zfsm9pcll5bzzj523rbn45adjrnavdkz52hgmdjjgdcdrk8q"))))
8834 (build-system haskell-build-system)
8835 (arguments
8836 '(#:cabal-revision
8837 ("4" "0fid41gishzsyb47wzxhd5falandfirqcp760hcja81qjpfmqd32")))
8838 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
8839 (native-inputs
8840 `(("ghc-hspec" ,ghc-hspec)
8841 ("ghc-void" ,ghc-void)
8842 ("hspec-discover" ,hspec-discover)))
8843 (home-page "https://github.com/fpco/safe-exceptions")
8844 (synopsis "Safe, consistent, and easy exception handling")
8845 (description "Runtime exceptions - as exposed in @code{base} by the
8846@code{Control.Exception} module - have long been an intimidating part of the
8847Haskell ecosystem. This package is intended to overcome this. It provides a
8848safe and simple API on top of the existing exception handling machinery. The
8849API is equivalent to the underlying implementation in terms of power but
8850encourages best practices to minimize the chances of getting the exception
8851handling wrong.")
8852 (license license:expat)))
8853
8854(define-public ghc-safeio
8855 (package
8856 (name "ghc-safeio")
8857 (version "0.0.5.0")
8858 (source
8859 (origin
8860 (method url-fetch)
8861 (uri (string-append "https://hackage.haskell.org/package/safeio/"
8862 "safeio-" version ".tar.gz"))
8863 (sha256
8864 (base32
8865 "04g3070cbjdqj0h9l9ii6470xcbn40xfv4fr89a8yvnkdim9nyfm"))))
8866 (build-system haskell-build-system)
8867 (inputs
8868 `(("ghc-conduit" ,ghc-conduit)
8869 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
8870 ("ghc-exceptions" ,ghc-exceptions)
8871 ("ghc-resourcet" ,ghc-resourcet)))
8872 (native-inputs
8873 `(("ghc-hunit" ,ghc-hunit)
8874 ("ghc-test-framework" ,ghc-test-framework)
8875 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
8876 ("ghc-test-framework-th" ,ghc-test-framework-th)))
8877 (home-page "https://github.com/luispedro/safeio")
8878 (synopsis "Write output to disk atomically")
8879 (description
8880 "This package implements utilities to perform atomic output so as to
8881avoid the problem of partial intermediate files.")
8882 (license license:expat)))
8883
8884(define-public ghc-safesemaphore
8885 (package
8886 (name "ghc-safesemaphore")
8887 (version "0.10.1")
8888 (source
8889 (origin
8890 (method url-fetch)
8891 (uri (string-append "https://hackage.haskell.org/package/"
8892 "SafeSemaphore/SafeSemaphore-" version ".tar.gz"))
8893 (sha256
8894 (base32
8895 "0rpg9j6fy70i0b9dkrip9d6wim0nac0snp7qzbhykjkqlcvvgr91"))))
8896 (build-system haskell-build-system)
8897 (native-inputs
8898 `(("ghc-hunit" ,ghc-hunit)))
8899 (home-page "https://github.com/ChrisKuklewicz/SafeSemaphore")
8900 (synopsis "Exception safe semaphores")
8901 (description "This library provides exception safe semaphores that can be
8902used in place of @code{QSem}, @code{QSemN}, and @code{SampleVar}, all of which
8903are not exception safe and can be broken by @code{killThread}.")
8904 (license license:bsd-3)))
8905
8906(define-public ghc-sandi
8907 (package
8908 (name "ghc-sandi")
8909 (version "0.4.2")
8910 (source
8911 (origin
8912 (method url-fetch)
8913 (uri (string-append
8914 "https://hackage.haskell.org/package/sandi/sandi-"
8915 version ".tar.gz"))
8916 (sha256
8917 (base32
8918 "0dvkpk91n9kz2ha04rvp231ra9sgd1ilyc1qkzf9l03iir7zrh9b"))))
8919 (build-system haskell-build-system)
8920 (inputs
8921 `(("ghc-stringsearch" ,ghc-stringsearch)
8922 ("ghc-conduit" ,ghc-conduit)
8923 ("ghc-exceptions" ,ghc-exceptions)
8924 ("ghc-hunit" ,ghc-hunit)
8925 ("ghc-tasty" ,ghc-tasty)
8926 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
8927 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
8928 ("ghc-tasty-th" ,ghc-tasty-th)))
8929 (home-page "https://hackage.haskell.org/package/sandi")
8930 (synopsis "Data encoding library")
8931 (description "Reasonably fast data encoding library.")
8932 (license license:bsd-3)))
8933
8934(define-public ghc-scientific
8935 (package
8936 (name "ghc-scientific")
8937 (version "0.3.6.2")
8938 (source
8939 (origin
8940 (method url-fetch)
8941 (uri (string-append
8942 "https://hackage.haskell.org/package/scientific/scientific-"
8943 version
8944 ".tar.gz"))
8945 (sha256
8946 (base32
8947 "03ql2f0ac8bsl524idy9xxa3kxisb2sj3avflzw580j5hzy0m397"))))
8948 (build-system haskell-build-system)
8949 (inputs
8950 `(("ghc-integer-logarithms" ,ghc-integer-logarithms)
8951 ("ghc-hashable" ,ghc-hashable)
8952 ("ghc-primitive" ,ghc-primitive)))
8953 (native-inputs
8954 `(("ghc-tasty" ,ghc-tasty)
8955 ("ghc-tasty-ant-xml" ,ghc-tasty-ant-xml)
8956 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
8957 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
8958 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
8959 ("ghc-smallcheck" ,ghc-smallcheck)
8960 ("ghc-quickcheck" ,ghc-quickcheck)))
8961 (home-page "https://github.com/basvandijk/scientific")
8962 (synopsis "Numbers represented using scientific notation")
8963 (description "This package provides @code{Data.Scientific}, which provides
8964the number type @code{Scientific}. Scientific numbers are arbitrary precision
8965and space efficient. They are represented using
8966@uref{https://en.wikipedia.org/wiki/Scientific_notation, scientific
8967notation}.")
8968 (license license:bsd-3)))
8969
8970(define-public ghc-scientific-bootstrap
8971 (package
8972 (inherit ghc-scientific)
8973 (name "ghc-scientific-bootstrap")
8974 (arguments `(#:tests? #f))
8975 (inputs
8976 `(("ghc-integer-logarithms" ,ghc-integer-logarithms-bootstrap)
8977 ("ghc-hashable" ,ghc-hashable)
8978 ("ghc-primitive" ,ghc-primitive)))
8979 (native-inputs '())
799d8d3c 8980 (properties '((hidden? #t)))))
dddbc90c
RV
8981
8982(define-public ghc-sdl
8983 (package
8984 (name "ghc-sdl")
8985 (version "0.6.7.0")
8986 (source
8987 (origin
8988 (method url-fetch)
8989 (uri (string-append
8990 "https://hackage.haskell.org/package/SDL/SDL-"
8991 version
8992 ".tar.gz"))
8993 (sha256
8994 (base32
8995 "00y67v80a8l09i3k76z09lg25kw72ivl09nag8ckdlk4a0cfnzfq"))))
8996 (build-system haskell-build-system)
8997 (inputs
8998 `(("sdl" ,sdl)))
8999 (home-page "https://hackage.haskell.org/package/SDL")
9000 (synopsis "LibSDL for Haskell")
9001 (description "Simple DirectMedia Layer (libSDL) is a cross-platform
9002multimedia library designed to provide low level access to audio, keyboard,
9003mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer. It is used
9004by MPEG playback software, emulators, and many popular games, including the
9005award winning Linux port of \"Civilization: Call To Power.\"")
9006 (license license:bsd-3)))
9007
1874cdc1
RV
9008(define-public ghc-sdl2
9009 (package
9010 (name "ghc-sdl2")
9011 (version "2.4.1.0")
9012 (source
9013 (origin
9014 (method url-fetch)
9015 (uri (string-append "https://hackage.haskell.org/package/"
9016 "sdl2/sdl2-" version ".tar.gz"))
9017 (sha256
9018 (base32
9019 "0p4b12fmxps0sbnkqdfy0qw19s355yrkw7fgw6xz53wzq706k991"))))
9020 (build-system haskell-build-system)
9021 (arguments '(#:tests? #f)) ; tests require graphical environment
9022 (inputs
9023 `(("ghc-exceptions" ,ghc-exceptions)
9024 ("ghc-linear" ,ghc-linear)
9025 ("ghc-statevar" ,ghc-statevar)
9026 ("ghc-vector" ,ghc-vector)
9027 ("sdl2" ,sdl2)))
9028 (native-inputs
9029 `(("ghc-weigh" ,ghc-weigh)
9030 ("pkg-config" ,pkg-config)))
9031 (home-page "http://hackage.haskell.org/package/sdl2")
9032 (synopsis "High- and low-level bindings to the SDL library")
9033 (description
9034 "This package contains bindings to the SDL 2 library, in both high- and
9035low-level forms. The @code{SDL} namespace contains high-level bindings, where
9036enumerations are split into sum types, and we perform automatic
9037error-checking. The @code{SDL.Raw} namespace contains an almost 1-1
9038translation of the C API into Haskell FFI calls. As such, this does not
9039contain sum types nor error checking. Thus this namespace is suitable for
9040building your own abstraction over SDL, but is not recommended for day-to-day
9041programming.")
9042 (license license:bsd-3)))
9043
9044(define-public ghc-sdl2-image
9045 (package
9046 (name "ghc-sdl2-image")
9047 (version "2.0.0")
9048 (source
9049 (origin
9050 (method url-fetch)
9051 (uri (string-append "https://hackage.haskell.org/package/sdl2-image/"
9052 "sdl2-image-" version ".tar.gz"))
9053 (sha256
9054 (base32
9055 "1pr6dkg73cy9z0w54lrkj9c5bhxj56nl92lxikjy8kz6nyr455rr"))))
9056 (build-system haskell-build-system)
9057 (inputs
9058 `(("ghc-sdl2" ,ghc-sdl2)
9059 ("sdl2-image" ,sdl2-image)))
9060 (native-inputs
9061 `(("pkg-config" ,pkg-config)))
9062 (home-page "http://hackage.haskell.org/package/sdl2-image")
9063 (synopsis "Bindings to SDL2_image")
9064 (description "This package provides Haskell bindings to
9065@code{SDL2_image}.")
9066 (license license:expat)))
9067
9068(define-public ghc-sdl2-mixer
9069 (package
9070 (name "ghc-sdl2-mixer")
9071 (version "1.1.0")
9072 (source
9073 (origin
9074 (method url-fetch)
9075 (uri (string-append "https://hackage.haskell.org/package/sdl2-mixer/"
9076 "sdl2-mixer-" version ".tar.gz"))
9077 (sha256
9078 (base32
9079 "1k8avyccq5l9z7bwxigim312yaancxl1sr3q6a96bcm7pnhiak0g"))))
9080 (build-system haskell-build-system)
9081 (inputs
9082 `(("ghc-data-default-class" ,ghc-data-default-class)
9083 ("ghc-lifted-base" ,ghc-lifted-base)
9084 ("ghc-monad-control" ,ghc-monad-control)
9085 ("ghc-sdl2" ,ghc-sdl2)
9086 ("ghc-vector" ,ghc-vector)
9087 ("sdl2-mixer" ,sdl2-mixer)))
9088 (native-inputs
9089 `(("pkg-config" ,pkg-config)))
9090 (home-page "http://hackage.haskell.org/package/sdl2-mixer")
9091 (synopsis "Bindings to SDL2 mixer")
9092 (description "This package provides Haskell bindings to
9093@code{SDL2_mixer}.")
9094 (license license:bsd-3)))
9095
dddbc90c
RV
9096(define-public ghc-sdl-image
9097 (package
9098 (name "ghc-sdl-image")
9099 (version "0.6.2.0")
9100 (source
9101 (origin
9102 (method url-fetch)
9103 (uri (string-append
9104 "https://hackage.haskell.org/package/SDL-image/SDL-image-"
9105 version
9106 ".tar.gz"))
9107 (sha256
9108 (base32
9109 "1gxwrvswgwjw6g7ym52gik22l9l3ljy592phv97jdmcf3gi6qcg1"))))
9110 (build-system haskell-build-system)
9111 (arguments
9112 `(#:configure-flags
9113 (let* ((sdl-image (assoc-ref %build-inputs "sdl-image"))
9114 (sdl-image-include (string-append sdl-image "/include/SDL")))
9115 (list (string-append "--extra-include-dirs=" sdl-image-include)))))
9116 (inputs
9117 `(("ghc-sdl" ,ghc-sdl)
9118 ("sdl-image" ,sdl-image)))
9119 (home-page "https://hackage.haskell.org/package/SDL-image")
9120 (synopsis "Haskell bindings to libSDL_image")
9121 (description "SDL_image is an image file loading library. It loads images
9122as SDL surfaces, and supports the following formats: BMP, GIF, JPEG, LBM, PCX,
9123PNG, PNM, TGA, TIFF, XCF, XPM, XV.")
9124 (license license:bsd-3)))
9125
9126(define-public ghc-sdl-mixer
9127 (package
9128 (name "ghc-sdl-mixer")
9129 (version "0.6.3.0")
9130 (source
9131 (origin
9132 (method url-fetch)
9133 (uri (string-append
9134 "https://hackage.haskell.org/package/SDL-mixer/SDL-mixer-"
9135 version
9136 ".tar.gz"))
9137 (sha256
9138 (base32
9139 "0k26hqgdh789ka3mv4dsk6rin6x6vwcs6hjmnsqq7j3mnrh1342r"))))
9140 (build-system haskell-build-system)
9141 (arguments
9142 `(#:configure-flags
9143 (let* ((sdl-mixer (assoc-ref %build-inputs "sdl-mixer"))
9144 (sdl-mixer-include (string-append sdl-mixer "/include/SDL")))
9145 (list (string-append "--extra-include-dirs=" sdl-mixer-include)))))
9146 (inputs
9147 `(("ghc-sdl" ,ghc-sdl)
9148 ("sdl-mixer" ,sdl-mixer)))
9149 (home-page "https://hackage.haskell.org/package/SDL-mixer")
9150 (synopsis "Haskell bindings to libSDL_mixer")
9151 (description "SDL_mixer is a sample multi-channel audio mixer library. It
9152supports any number of simultaneously playing channels of 16 bit stereo audio,
9153plus a single channel of music, mixed by the popular MikMod MOD, Timidity
9154MIDI, Ogg Vorbis, and SMPEG MP3 libraries.")
9155 (license license:bsd-3)))
9156
9157(define-public ghc-securemem
9158 (package
9159 (name "ghc-securemem")
9160 (version "0.1.10")
9161 (source
9162 (origin
9163 (method url-fetch)
9164 (uri (string-append "https://hackage.haskell.org/package/"
9165 "securemem-" version "/"
9166 "securemem-" version ".tar.gz"))
9167 (sha256
9168 (base32
9169 "19hnw2cfbsfjynxq1bq9f6djbxhsc1k751ml0y1ab3ah913mm29j"))))
9170 (build-system haskell-build-system)
9171 (inputs `(("ghc-byteable" ,ghc-byteable)
9172 ("ghc-memory" ,ghc-memory)))
9173 (home-page "https://github.com/vincenthz/hs-securemem")
9174 (synopsis "Auto-scrubbing and const-time-eq memory chunk abstraction for
9175Haskell")
9176 (description "SecureMem is similar to ByteString, except that it provides
9177a memory chunk that will be auto-scrubbed after it run out of scope.")
9178 (license license:bsd-3)))
9179
9180(define-public ghc-semigroupoids
9181 (package
9182 (name "ghc-semigroupoids")
a8aaadf2 9183 (version "5.3.3")
dddbc90c
RV
9184 (source
9185 (origin
9186 (method url-fetch)
9187 (uri (string-append
9188 "https://hackage.haskell.org/package/semigroupoids/semigroupoids-"
9189 version
9190 ".tar.gz"))
9191 (sha256
9192 (base32
a8aaadf2 9193 "016hc4imr9l4szs3p7f1aahvxr5wv4clvr3qzrm3nibssg5vrs61"))))
dddbc90c 9194 (build-system haskell-build-system)
dddbc90c
RV
9195 (inputs
9196 `(("ghc-base-orphans" ,ghc-base-orphans)
9197 ("ghc-transformers-compat" ,ghc-transformers-compat)
9198 ("ghc-bifunctors" ,ghc-bifunctors)
9199 ("ghc-comonad" ,ghc-comonad)
9200 ("ghc-contravariant" ,ghc-contravariant)
9201 ("ghc-distributive" ,ghc-distributive)
9202 ("ghc-hashable" ,ghc-hashable)
9203 ("ghc-semigroups" ,ghc-semigroups)
9204 ("ghc-tagged" ,ghc-tagged)
9205 ("ghc-unordered-containers" ,ghc-unordered-containers)))
9206 (native-inputs
9207 `(("cabal-doctest" ,cabal-doctest)
9208 ("ghc-doctest" ,ghc-doctest)))
9209 (home-page "https://github.com/ekmett/semigroupoids")
9210 (synopsis "Semigroupoids operations for Haskell")
9211 (description "This library provides a wide array of (semi)groupoids and
9212operations for working with them. A @code{Semigroupoid} is a @code{Category}
9213without the requirement of identity arrows for every object in the category.
9214A @code{Category} is any @code{Semigroupoid} for which the Yoneda lemma holds.
9215Finally, to work with these weaker structures it is beneficial to have
9216containers that can provide stronger guarantees about their contents, so
9217versions of @code{Traversable} and @code{Foldable} that can be folded with
9218just a @code{Semigroup} are added.")
9219 (license license:bsd-3)))
9220
9221(define-public ghc-semigroups
9222 (package
9223 (name "ghc-semigroups")
9224 (version "0.18.5")
9225 (source
9226 (origin
9227 (method url-fetch)
9228 (uri (string-append
9229 "https://hackage.haskell.org/package/semigroups/semigroups-"
9230 version
9231 ".tar.gz"))
9232 (sha256
9233 (base32
9234 "17g29h62g1k51ghhvzkw72zksjgi6vs6bfipkj81pqw1dsprcamb"))))
9235 (build-system haskell-build-system)
9236 (inputs
9237 `(("ghc-nats" ,ghc-nats)
9238 ("ghc-tagged" ,ghc-tagged)
9239 ("ghc-unordered-containers" ,ghc-unordered-containers)
9240 ("ghc-hashable" ,ghc-hashable)))
9241 (home-page "https://github.com/ekmett/semigroups/")
9242 (synopsis "Semigroup operations for Haskell")
9243 (description "This package provides semigroups for Haskell. In
9244mathematics, a semigroup is an algebraic structure consisting of a set
9245together with an associative binary operation. A semigroup generalizes a
9246monoid in that there might not exist an identity element. It
9247also (originally) generalized a group (a monoid with all inverses) to a type
9248where every element did not have to have an inverse, thus the name
9249semigroup.")
9250 (license license:bsd-3)))
9251
9252(define-public ghc-semigroups-bootstrap
9253 (package
9254 (inherit ghc-semigroups)
9255 (name "ghc-semigroups-bootstrap")
9256 (inputs
9257 `(("ghc-nats" ,ghc-nats-bootstrap)
9258 ("ghc-tagged" ,ghc-tagged)
9259 ("ghc-unordered-containers" ,ghc-unordered-containers-bootstrap)
9260 ("ghc-hashable" ,ghc-hashable-bootstrap)))
799d8d3c 9261 (properties '((hidden? #t)))))
dddbc90c
RV
9262
9263(define-public ghc-setenv
9264 (package
9265 (name "ghc-setenv")
9266 (version "0.1.1.3")
9267 (source
9268 (origin
9269 (method url-fetch)
9270 (uri (string-append
9271 "https://hackage.haskell.org/package/setenv/setenv-"
9272 version
9273 ".tar.gz"))
9274 (sha256
9275 (base32
9276 "0cnbgrvb9byyahb37zlqrj05rj25v190crgcw8wmlgf0mwwxyn73"))))
9277 (build-system haskell-build-system)
9278 (home-page "https://hackage.haskell.org/package/setenv")
9279 (synopsis "Library for setting environment variables")
9280 (description "This package provides a Haskell library for setting
9281environment variables.")
9282 (license license:expat)))
9283
9284(define-public ghc-setlocale
9285 (package
9286 (name "ghc-setlocale")
9d7cfc9b 9287 (version "1.0.0.9")
dddbc90c
RV
9288 (source (origin
9289 (method url-fetch)
9290 (uri (string-append
9291 "https://hackage.haskell.org/package/setlocale-"
9292 version "/setlocale-" version ".tar.gz"))
9293 (sha256
9294 (base32
9d7cfc9b 9295 "18b6xafspzxrmz5m9r9nzy3z053crqi59xc8n8aqd4gw0pvqdcrv"))))
dddbc90c
RV
9296 (build-system haskell-build-system)
9297 (home-page "https://hackage.haskell.org/package/setlocale")
9298 (synopsis "Haskell bindings to setlocale")
9299 (description "This package provides Haskell bindings to the
9300@code{setlocale} C function.")
9301 (license license:bsd-3)))
9302
9303(define-public ghc-shakespeare
9304 (package
9305 (name "ghc-shakespeare")
f680955f 9306 (version "2.0.22")
dddbc90c
RV
9307 (source
9308 (origin
9309 (method url-fetch)
9310 (uri (string-append "https://hackage.haskell.org/package/"
9311 "shakespeare-" version "/"
9312 "shakespeare-" version ".tar.gz"))
9313 (sha256
9314 (base32
f680955f 9315 "1mc1a0vv070gcawwcx6vzpj6gpfh1qnlqrndiyfic3p500y656vh"))))
dddbc90c
RV
9316 (build-system haskell-build-system)
9317 (inputs `(("ghc-aeson" ,ghc-aeson)
9318 ("ghc-blaze-markup" ,ghc-blaze-markup)
9319 ("ghc-blaze-html" ,ghc-blaze-html)
9320 ("ghc-exceptions" ,ghc-exceptions)
9321 ("ghc-vector" ,ghc-vector)
9322 ("ghc-unordered-containers" ,ghc-unordered-containers)
9323 ("ghc-scientific" ,ghc-scientific)))
9324 (native-inputs `(("ghc-hspec" ,ghc-hspec)
9325 ("ghc-hunit" ,ghc-hunit)
9326 ("hspec-discover" ,hspec-discover)))
9327 (home-page "https://www.yesodweb.com/book/shakespearean-templates")
9328 (synopsis "Family of type-safe template languages for Haskell")
9329 (description "This Haskell package provides a family of type-safe
9330templates with simple variable interpolation. Shakespeare templates can
9331be used inline with a quasi-quoter or in an external file and it
9332interpolates variables according to the type being inserted.")
9333 (license license:expat)))
9334
9335(define-public ghc-shelly
9336 (package
9337 (name "ghc-shelly")
9338 (version "1.8.1")
9339 (source
9340 (origin
9341 (method url-fetch)
9342 (uri (string-append
9343 "https://hackage.haskell.org/package/shelly/shelly-"
9344 version ".tar.gz"))
9345 (sha256
9346 (base32
9347 "023fbvbqs5gdwm30j5517gbdcc7fvz0md70dgwgpypkskj3i926y"))))
9348 (build-system haskell-build-system)
9349 (inputs
9350 `(("ghc-unix-compat" ,ghc-unix-compat)
9351 ("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
9352 ("ghc-system-fileio-bootstrap" ,ghc-system-fileio-bootstrap)
9353 ("ghc-monad-control" ,ghc-monad-control)
9354 ("ghc-lifted-base" ,ghc-lifted-base)
9355 ("ghc-lifted-async" ,ghc-lifted-async)
9356 ("ghc-exceptions" ,ghc-exceptions)
9357 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
9358 ("ghc-async" ,ghc-async)
9359 ("ghc-transformers-base" ,ghc-transformers-base)
9360 ("ghc-hunit" ,ghc-hunit)
9361 ("ghc-hspec" ,ghc-hspec)
9362 ("ghc-hspec-contrib" ,ghc-hspec-contrib)))
9363 (home-page "https://github.com/yesodweb/Shelly.hs")
9364 (synopsis "Shell-like (systems) programming in Haskell")
9365 (description
9366 "Shelly provides convenient systems programming in Haskell, similar in
9367spirit to POSIX shells. Shelly is originally forked from the Shellish package.")
9368 (license license:bsd-3)))
9369
9370(define-public ghc-silently
9371 (package
9372 (name "ghc-silently")
544bb369 9373 (version "1.2.5.1")
dddbc90c
RV
9374 (source
9375 (origin
9376 (method url-fetch)
9377 (uri (string-append
9378 "https://hackage.haskell.org/package/silently/silently-"
9379 version
9380 ".tar.gz"))
9381 (sha256
9382 (base32
544bb369 9383 "1lgs1gsr5dp0x21diqn4l03fxgai2kgdmj85gqp0iz3zykvbmjbz"))))
dddbc90c
RV
9384 (build-system haskell-build-system)
9385 (arguments `(#:tests? #f)) ;; circular dependency with nanospec
9386 ;; (inputs
9387 ;; `(("ghc-temporary" ,ghc-temporary)))
9388 (home-page "https://github.com/hspec/silently")
9389 (synopsis "Prevent writing to stdout")
9390 (description "This package provides functions to prevent or capture
9391writing to stdout and other handles.")
9392 (license license:bsd-3)))
9393
9394(define-public ghc-simple-reflect
9395 (package
9396 (name "ghc-simple-reflect")
9397 (version "0.3.3")
9398 (source
9399 (origin
9400 (method url-fetch)
9401 (uri (string-append
9402 "https://hackage.haskell.org/package/simple-reflect/simple-reflect-"
9403 version
9404 ".tar.gz"))
9405 (sha256
9406 (base32
9407 "0ayvrx5cm8n6db21jiyjmk5h93pw7cz1707hih09hlhk9jh5x0h7"))))
9408 (build-system haskell-build-system)
9409 (home-page
9410 "https://twanvl.nl/blog/haskell/simple-reflection-of-expressions")
9411 (synopsis
9412 "Simple reflection of expressions containing variables")
9413 (description
9414 "This package allows simple reflection of expressions containing
9415variables. Reflection here means that a Haskell expression is turned into a
9416string. The primary aim of this package is teaching and understanding; there
9417are no options for manipulating the reflected expressions beyond showing
9418them.")
9419 (license license:bsd-3)))
9420
9421(define-public ghc-simple-sendfile
9422 (package
9423 (name "ghc-simple-sendfile")
9424 (version "0.2.27")
9425 (source
9426 (origin
9427 (method url-fetch)
9428 (uri (string-append "https://hackage.haskell.org/package/"
9429 "simple-sendfile-" version "/"
9430 "simple-sendfile-" version ".tar.gz"))
9431 (sha256
9432 (base32
9433 "1bwwqzcm56m2w4ymsa054sxmpbj76h9pvb0jf8zxp8lr41cp51gn"))))
9434 (build-system haskell-build-system)
9435 (inputs
9436 `(("ghc-conduit" ,ghc-conduit)
9437 ("ghc-conduit-extra" ,ghc-conduit-extra)
9438 ("ghc-network" ,ghc-network)
9439 ("ghc-resourcet" ,ghc-resourcet)))
9440 (native-inputs
9441 `(("ghc-hspec" ,ghc-hspec)
9442 ("hspec-discover" ,hspec-discover)))
9443 (home-page "https://github.com/kazu-yamamoto/simple-sendfile")
9444 (synopsis "Cross platform library for the sendfile system call")
9445 (description "This library tries to call minimum system calls which
9446are the bottleneck of web servers.")
9447 (license license:bsd-3)))
9448
9449(define-public ghc-skylighting-core
9450 (package
9451 (name "ghc-skylighting-core")
1826c2a8 9452 (version "0.8.2.1")
dddbc90c
RV
9453 (source (origin
9454 (method url-fetch)
9455 (uri (string-append "https://hackage.haskell.org/package/"
9456 "skylighting-core/skylighting-core-"
9457 version ".tar.gz"))
9458 (sha256
9459 (base32
1826c2a8 9460 "0hdchivb4af9w7v5v7lrwfwawd3kcwmpzk69m1vkkm3pis8lcr1s"))))
dddbc90c
RV
9461 (build-system haskell-build-system)
9462 (inputs
9463 `(("ghc-aeson" ,ghc-aeson)
9464 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
9465 ("ghc-attoparsec" ,ghc-attoparsec)
9466 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
9467 ("ghc-blaze-html" ,ghc-blaze-html)
9468 ("ghc-case-insensitive" ,ghc-case-insensitive)
9469 ("ghc-colour" ,ghc-colour)
9470 ("ghc-hxt" ,ghc-hxt)
9471 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
9472 ("ghc-safe" ,ghc-safe)
9473 ("ghc-utf8-string" ,ghc-utf8-string)))
9474 (native-inputs
9475 `(("ghc-diff" ,ghc-diff)
9476 ("ghc-hunit" ,ghc-hunit)
9477 ("ghc-pretty-show" ,ghc-pretty-show)
9478 ("ghc-quickcheck" ,ghc-quickcheck)
9479 ("ghc-tasty" ,ghc-tasty)
9480 ("ghc-tasty-golden" ,ghc-tasty-golden)
9481 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9482 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
9483 (home-page "https://github.com/jgm/skylighting")
9484 (synopsis "Syntax highlighting library")
9485 (description "Skylighting is a syntax highlighting library with support
9486for over one hundred languages. It derives its tokenizers from XML syntax
9487definitions used by KDE's @code{KSyntaxHighlighting} framework, so any syntax
9488supported by that framework can be added. An optional command-line program is
9489provided. Skylighting is intended to be the successor to highlighting-kate.")
9490 (license license:gpl2)))
9491
9492(define-public ghc-skylighting
9493 (package
9494 (inherit ghc-skylighting-core)
9495 (name "ghc-skylighting")
36c940cf 9496 (version "0.8.2.1")
dddbc90c
RV
9497 (source (origin
9498 (method url-fetch)
9499 (uri (string-append "https://hackage.haskell.org/package/skylighting-"
9500 version "/skylighting-" version ".tar.gz"))
9501 (sha256
9502 (base32
36c940cf 9503 "1xls8ycad77m55ax4hp55k60h3pi5sm3m32hycbc8baixbgfx5xz"))))
dddbc90c
RV
9504 (inputs
9505 `(("ghc-skylighting-core" ,ghc-skylighting-core)
9506 ,@(package-inputs ghc-skylighting-core)))))
9507
9508(define-public ghc-smallcheck
9509 (package
9510 (name "ghc-smallcheck")
9511 (version "1.1.5")
9512 (source
9513 (origin
9514 (method url-fetch)
9515 (uri (string-append
9516 "https://hackage.haskell.org/package/smallcheck/smallcheck-"
9517 version
9518 ".tar.gz"))
9519 (sha256
9520 (base32
9521 "195fj7w3v03d1y1nm2ylavzrwxjcdbq0lb6zsw1dwyx5jmwfc84h"))))
9522 (build-system haskell-build-system)
9523 (inputs
9524 `(("ghc-logict" ,ghc-logict)))
9525 (home-page
9526 "https://github.com/feuerbach/smallcheck")
9527 (synopsis "Property-based testing library")
9528 (description "SmallCheck is a testing library that allows to verify
9529properties for all test cases up to some depth. The test cases are generated
9530automatically by SmallCheck.")
9531 (license license:bsd-3)))
9532
9533(define-public ghc-socks
9534 (package
9535 (name "ghc-socks")
ab761e9d 9536 (version "0.6.1")
dddbc90c
RV
9537 (source (origin
9538 (method url-fetch)
9539 (uri (string-append "https://hackage.haskell.org/package/"
9540 "socks/socks-" version ".tar.gz"))
9541 (sha256
9542 (base32
ab761e9d 9543 "0wvaxy3dkv97wrncjv1rxrmjr4014hgxz82kixvcwqdhidalfi3k"))))
dddbc90c
RV
9544 (build-system haskell-build-system)
9545 (inputs
9546 `(("ghc-cereal" ,ghc-cereal)
ab761e9d 9547 ("ghc-basement" ,ghc-basement)
dddbc90c
RV
9548 ("ghc-network" ,ghc-network)))
9549 (home-page "https://github.com/vincenthz/hs-socks")
9550 (synopsis "SOCKS proxy (version 5) implementation")
9551 (description
9552 "This library provides a SOCKS proxy (version 5) implementation.")
9553 (license license:bsd-3)))
9554
081d85d6
TS
9555(define-public ghc-sop-core
9556 (package
9557 (name "ghc-sop-core")
9558 (version "0.4.0.0")
9559 (source
9560 (origin
9561 (method url-fetch)
9562 (uri (string-append "https://hackage.haskell.org/package/"
9563 "sop-core/sop-core-" version ".tar.gz"))
9564 (sha256
9565 (base32
9566 "07ci2mh8cbjvipb576rxsj3iyhkj5c5dnsns4xkdppp2p3pv10d3"))))
9567 (build-system haskell-build-system)
9568 (home-page "http://hackage.haskell.org/package/sop-core")
9569 (synopsis "True Sums of Products")
9570 (description "This package provides an implementation of
9571@math{n}-ary sums and @math{n}-ary products. The module @code{Data.SOP}
9572is the main module of this library and contains more detailed
9573documentation. The main use case of this package is to serve as the
9574core of @url{https://hackage.haskell.org/package/generics-sop,
9575generics-sop}.")
9576 (license license:bsd-3)))
9577
dddbc90c
RV
9578(define-public ghc-split
9579 (package
9580 (name "ghc-split")
9581 (version "0.2.3.3")
9582 (outputs '("out" "doc"))
9583 (source
9584 (origin
9585 (method url-fetch)
9586 (uri (string-append
9587 "https://hackage.haskell.org/package/split/split-"
9588 version
9589 ".tar.gz"))
9590 (sha256
9591 (base32
9592 "04qlmkcyklznl03gsjg95b4nzb6i96gdapqg60rny9szgi7ngk8x"))))
9593 (build-system haskell-build-system)
9bbc21a7
TS
9594 (arguments
9595 `(#:cabal-revision
9596 ("2" "1c8bcssxq5rkxkixgms6w6x6lzf4n7cxk6cx6av1dp3lixdy9j34")))
dddbc90c
RV
9597 (native-inputs
9598 `(("ghc-quickcheck" ,ghc-quickcheck)))
9599 (home-page "https://hackage.haskell.org/package/split")
9600 (synopsis "Combinator library for splitting lists")
9601 (description "This package provides a collection of Haskell functions for
9602splitting lists into parts, akin to the @code{split} function found in several
9603mainstream languages.")
9604 (license license:bsd-3)))
9605
7799d17f 9606(define-public ghc-splitmix
49367c92 9607 (package
7799d17f 9608 (name "ghc-splitmix")
49367c92
TS
9609 (version "0.0.3")
9610 (source
9611 (origin
9612 (method url-fetch)
9613 (uri (string-append "https://hackage.haskell.org/package/"
9614 "splitmix/splitmix-" version ".tar.gz"))
9615 (sha256
9616 (base32
9617 "1k0amgkz7rvyz3lnw7m786ilnr1cibwhx9sc4qynq329gxan5r7w"))))
49367c92 9618 (build-system haskell-build-system)
49367c92
TS
9619 (inputs
9620 `(("ghc-random" ,ghc-random)))
7799d17f
TS
9621 (native-inputs
9622 `(("ghc-hunit" ,ghc-hunit)
9623 ("ghc-async" ,ghc-async)
9624 ("ghc-base-compat-batteries" ,ghc-base-compat-batteries)
9625 ("ghc-tf-random" ,ghc-tf-random)
9626 ("ghc-vector" ,ghc-vector)))
49367c92
TS
9627 (home-page "http://hackage.haskell.org/package/splitmix")
9628 (synopsis "Fast and splittable pseudorandom number generator")
9629 (description "This package provides a Pure Haskell implementation of the
9630SplitMix pseudorandom number generator. SplitMix is a \"splittable\"
9631pseudorandom number generator that is quite fast: 9 64-bit
9632arithmetic/logical operations per 64 bits generated. SplitMix is tested
9633with two standard statistical test suites (DieHarder and TestU01, this
9634implementation only using the former) and it appears to be adequate for
9635\"everyday\" use, such as Monte Carlo algorithms and randomized data
9636structures where speed is important. In particular, it @strong{should not
9637be used for cryptographic or security applications}, because generated
9638sequences of pseudorandom values are too predictable (the mixing functions
9639are easily inverted, and two successive outputs suffice to reconstruct the
9640internal state).")
9641 (license license:bsd-3)))
9642
7799d17f
TS
9643(define-public ghc-splitmix-bootstrap
9644 (package
9645 (inherit ghc-splitmix)
9646 (name "ghc-splitmix-bootstrap")
9647 (arguments `(#:tests? #f))
9648 (native-inputs '())
9649 (properties '((hidden? #t)))))
9650
dddbc90c
RV
9651(define-public ghc-statevar
9652 (package
9653 (name "ghc-statevar")
19419709 9654 (version "1.2")
dddbc90c
RV
9655 (source
9656 (origin
9657 (method url-fetch)
9658 (uri (string-append
9659 "https://hackage.haskell.org/package/StateVar/StateVar-"
9660 version
9661 ".tar.gz"))
9662 (sha256
9663 (base32
19419709 9664 "12sz6zkc9j5z3lwrjvljrkfxa5vhwnir5wsarigz2f6d3w13dh5g"))))
dddbc90c
RV
9665 (build-system haskell-build-system)
9666 (home-page "https://hackage.haskell.org/package/StateVar")
9667 (synopsis "State variables for Haskell")
9668 (description "This package provides state variables, which are references
9669in the @code{IO} monad, like @code{IORef}s or parts of the OpenGL state.")
9670 (license license:bsd-3)))
9671
9672(define-public ghc-statistics
9673 (package
9674 (name "ghc-statistics")
60e78e68 9675 (version "0.15.1.1")
dddbc90c
RV
9676 (source
9677 (origin
9678 (method url-fetch)
9679 (uri (string-append "https://hackage.haskell.org/package/"
9680 "statistics-" version "/"
9681 "statistics-" version ".tar.gz"))
9682 (sha256
9683 (base32
60e78e68 9684 "015rn74f1glii26j4b2fh1fc63xvxzrh2xckiancz48kc8jdzabj"))))
dddbc90c
RV
9685 (build-system haskell-build-system)
9686 (arguments
60e78e68 9687 '(;; Two tests fail: "Discrete CDF is OK" and "Quantile is CDF inverse".
dddbc90c
RV
9688 #:tests? #f))
9689 (inputs
9690 `(("ghc-aeson" ,ghc-aeson)
60e78e68 9691 ("ghc-async" ,ghc-async)
dddbc90c 9692 ("ghc-base-orphans" ,ghc-base-orphans)
60e78e68 9693 ("ghc-dense-linear-algebra" ,ghc-dense-linear-algebra)
dddbc90c
RV
9694 ("ghc-math-functions" ,ghc-math-functions)
9695 ("ghc-monad-par" ,ghc-monad-par)
9696 ("ghc-mwc-random" ,ghc-mwc-random)
9697 ("ghc-primitive" ,ghc-primitive)
9698 ("ghc-vector" ,ghc-vector)
9699 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
9700 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)
9701 ("ghc-vector-binary-instances" ,ghc-vector-binary-instances)))
9702 (native-inputs
9703 `(("ghc-hunit" ,ghc-hunit)
9704 ("ghc-quickcheck" ,ghc-quickcheck)
9705 ("ghc-ieee754" ,ghc-ieee754)
9706 ("ghc-test-framework" ,ghc-test-framework)
9707 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
9708 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
9709 (home-page "https://github.com/bos/mwc-random")
9710 (synopsis "Haskell library of statistical types, data, and functions")
9711 (description "This library provides a number of common functions
9712and types useful in statistics. We focus on high performance, numerical
9713robustness, and use of good algorithms. Where possible, we provide references
9714to the statistical literature.
9715
9716The library's facilities can be divided into four broad categories:
9717
9718@itemize
9719@item Working with widely used discrete and continuous probability
9720distributions. (There are dozens of exotic distributions in use; we focus
9721on the most common.)
9722
9723@item Computing with sample data: quantile estimation, kernel density
9724estimation, histograms, bootstrap methods, significance testing,
9725and regression and autocorrelation analysis.
9726
9727@item Random variate generation under several different distributions.
9728
9729@item Common statistical tests for significant differences between samples.
9730@end itemize")
9731 (license license:bsd-2)))
9732
9733(define-public ghc-stm-chans
9734 (package
9735 (name "ghc-stm-chans")
9736 (version "3.0.0.4")
9737 (source
9738 (origin
9739 (method url-fetch)
9740 (uri (string-append "https://hackage.haskell.org/package/"
9741 "stm-chans-" version "/"
9742 "stm-chans-" version ".tar.gz"))
9743 (sha256
9744 (base32
9745 "0f27sp09yha43xk9q55sc185jyjs5h7gq2dhsyx6bm9kz9dzqi13"))))
9746 (build-system haskell-build-system)
9747 (home-page "https://hackage.haskell.org/package/stm-chans")
9748 (synopsis "Additional types of channels for ghc-stm")
9749 (description "This Haskell package offers a collection of channel types,
9750similar to @code{Control.Concurrent.STM.@{TChan,TQueue@}} but with additional
9751features.")
9752 (license license:bsd-3)))
9753
9754(define-public ghc-stm-conduit
9755 (package
9756 (name "ghc-stm-conduit")
9757 (version "4.0.0")
9758 (source
9759 (origin
9760 (method url-fetch)
9761 (uri (string-append "https://hackage.haskell.org/package/stm-conduit/"
9762 "stm-conduit-" version ".tar.gz"))
9763 (sha256
9764 (base32
9765 "0paapljn7nqfzrx889y0n8sszci38mdiaxkgr0bb00ph9246rr7z"))))
9766 (build-system haskell-build-system)
9767 (inputs
9768 `(("ghc-stm-chans" ,ghc-stm-chans)
9769 ("ghc-cereal" ,ghc-cereal)
9770 ("ghc-cereal-conduit" ,ghc-cereal-conduit)
9771 ("ghc-conduit" ,ghc-conduit)
9772 ("ghc-conduit-extra" ,ghc-conduit-extra)
9773 ("ghc-exceptions" ,ghc-exceptions)
9774 ("ghc-resourcet" ,ghc-resourcet)
9775 ("ghc-async" ,ghc-async)
9776 ("ghc-monad-loops" ,ghc-monad-loops)
9777 ("ghc-unliftio" ,ghc-unliftio)))
9778 (native-inputs
9779 `(("ghc-doctest" ,ghc-doctest)
9780 ("ghc-quickcheck" ,ghc-quickcheck)
9781 ("ghc-hunit" ,ghc-hunit)
9782 ("ghc-test-framework" ,ghc-test-framework)
9783 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
9784 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
9785 (home-page "https://github.com/cgaebel/stm-conduit")
9786 (synopsis "Introduces conduits to channels and promotes using conduits concurrently")
9787 (description
9788 "This package provides two simple conduit wrappers around STM channels: a
9789source and a sink.")
9790 (license license:bsd-3)))
9791
9792(define-public ghc-stmonadtrans
9793 (package
9794 (name "ghc-stmonadtrans")
9795 (version "0.4.3")
9796 (source
9797 (origin
9798 (method url-fetch)
9799 (uri (string-append "https://hackage.haskell.org/package/STMonadTrans"
9800 "/STMonadTrans-" version ".tar.gz"))
9801 (sha256
9802 (base32 "1nr26fnmi5fdjc6d00w13kjhmfyvb5b837d0006w4dj0yxndaksp"))))
9803 (build-system haskell-build-system)
9804 (home-page "https://hackage.haskell.org/package/STMonadTrans")
9805 (synopsis "Monad transformer version of the ST monad")
9806 (description
9807 "This package provides a monad transformer version of the @code{ST} monad
9808for strict state threads.")
9809 (license license:bsd-3)))
9810
9811(define-public ghc-storable-complex
9812 (package
9813 (name "ghc-storable-complex")
4a35e3c3 9814 (version "0.2.3.0")
dddbc90c
RV
9815 (source
9816 (origin
9817 (method url-fetch)
9818 (uri (string-append
9819 "https://hackage.haskell.org/package/storable-complex/storable-complex-"
9820 version ".tar.gz"))
9821 (sha256
4a35e3c3 9822 (base32 "0fnwbfmd5vsaaqvf9182qdcjrzcfjd1zhdyvjwzifbwvn6r9kx4s"))))
dddbc90c 9823 (build-system haskell-build-system)
4a35e3c3
TS
9824 (inputs
9825 `(("ghc-base-orphans" ,ghc-base-orphans)))
dddbc90c
RV
9826 (home-page "https://github.com/cartazio/storable-complex")
9827 (synopsis "Haskell Storable instance for Complex")
9828 (description "This package provides a Haskell library including a
9829Storable instance for Complex which is binary compatible with C99, C++
9830and Fortran complex data types.")
9831 (license license:bsd-3)))
9832
ad80074a
JS
9833(define-public ghc-storable-record
9834 (package
9835 (name "ghc-storable-record")
9836 (version "0.0.4")
9837 (source
9838 (origin
9839 (method url-fetch)
9840 (uri
9841 (string-append
9842 "https://hackage.haskell.org/package/storable-record/"
9843 "storable-record-" version ".tar.gz"))
9844 (sha256
9845 (base32
9846 "0hjs1km0fc9ch0i1rbycxia5w3939hk4p4md73ikgg4aipqb5zyf"))))
9847 (build-system haskell-build-system)
9848 (inputs
9849 `(("ghc-semigroups" ,ghc-semigroups)
9850 ("ghc-utility-ht" ,ghc-utility-ht)
9851 ("ghc-storablevector" ,ghc-storablevector)
9852 ("ghc-timeit" ,ghc-timeit)))
9853 (home-page "https://hackage.haskell.org/package/storable-record")
9854 (synopsis "Elegant definition of Storable instances for records")
9855 (description "With this package you can build a Storable instance of
9856a record type from Storable instances of its elements in an elegant way.
9857It does not do any magic, just a bit arithmetic to compute the right
9858offsets, that would be otherwise done manually or by a preprocessor like
9859C2HS. There is no guarantee that the generated memory layout is
9860compatible with that of a corresponding C struct. However, the module
9861generates the smallest layout that is possible with respect to the
9862alignment of the record elements.")
9863 (license license:bsd-3)))
9864
55f4c653
JS
9865(define-public ghc-storable-tuple
9866 (package
9867 (name "ghc-storable-tuple")
9868 (version "0.0.3.3")
9869 (source
9870 (origin
9871 (method url-fetch)
9872 (uri
9873 (string-append
9874 "https://hackage.haskell.org/package/storable-tuple/"
9875 "storable-tuple-" version ".tar.gz"))
9876 (sha256
9877 (base32
9878 "0dfzhxgkn1l6ls7zh6iifhyvhm8l47n40z0ar23c6ibsa94w1ynw"))))
9879 (build-system haskell-build-system)
9880 (inputs
9881 `(("ghc-storable-record" ,ghc-storable-record)
9882 ("ghc-utility-ht" ,ghc-utility-ht)
9883 ("ghc-base-orphans" ,ghc-base-orphans)))
9884 (home-page "https://hackage.haskell.org/package/storable-tuple")
9885 (synopsis "Storable instance for pairs and triples")
9886 (description "This package provides a Storable instance for pairs
9887and triples which should be binary compatible with C99 and C++. The
9888only purpose of this package is to provide a standard location for this
9889instance so that other packages needing this instance can play nicely
9890together.")
9891 (license license:bsd-3)))
9892
bc06ca45
JS
9893(define-public ghc-storablevector
9894 (package
9895 (name "ghc-storablevector")
9896 (version "0.2.13")
9897 (source
9898 (origin
9899 (method url-fetch)
9900 (uri
9901 (string-append
9902 "https://hackage.haskell.org/package/storablevector/storablevector-"
9903 version ".tar.gz"))
9904 (sha256
9905 (base32
9906 "1zmr738vwnhnyxbikayqnaz31ilv2qlmscp6iqgl7adcfbal4dzq"))))
9907 (build-system haskell-build-system)
9908 (inputs
9909 `(("ghc-non-negative" ,ghc-non-negative)
9910 ("ghc-utility-ht" ,ghc-utility-ht)
9911 ("ghc-semigroups" ,ghc-semigroups)
9912 ("ghc-unsafe" ,ghc-unsafe)
9913 ("ghc-quickcheck" ,ghc-quickcheck)
9914 ("ghc-syb" ,ghc-syb)))
9915 (home-page "https://www.haskell.org/haskellwiki/Storable_Vector")
9916 (synopsis "Fast, packed, strict storable arrays with a list interface")
9917 (description "This library provides fast, packed, strict storable
9918arrays with a list interface, a chunky lazy list interface with variable
9919chunk size and an interface for write access via the ST monad. This is
9920much like bytestring and binary but can be used for every
9921@code{Foreign.Storable.Storable} type. See also
9922@url{http://hackage.haskell.org/package/vector}, a library with a
9923similar intention.
9924
9925This library does not do advanced fusion optimization, since especially
9926for lazy vectors this would either be incorrect or not applicable. See
9927@url{http://hackage.haskell.org/package/storablevector-streamfusion} for
9928a library that provides fusion with lazy lists.")
9929 (license license:bsd-3)))
9930
dddbc90c
RV
9931(define-public ghc-streaming-commons
9932 (package
9933 (name "ghc-streaming-commons")
9934 (version "0.2.1.1")
9935 (source
9936 (origin
9937 (method url-fetch)
9938 (uri (string-append "https://hackage.haskell.org/package/"
9939 "streaming-commons/streaming-commons-"
9940 version ".tar.gz"))
9941 (sha256
9942 (base32
9943 "1lmyx3wkjsayhy5yilzvy0kf8qwmycwlk26r1d8f3cxbfhkr7s52"))))
9944 (build-system haskell-build-system)
9945 (inputs
9946 `(("ghc-async" ,ghc-async)
9947 ("ghc-blaze-builder" ,ghc-blaze-builder)
9948 ("ghc-network" ,ghc-network)
9949 ("ghc-random" ,ghc-random)
9950 ("ghc-zlib" ,ghc-zlib)))
9951 (native-inputs
9952 `(("ghc-quickcheck" ,ghc-quickcheck)
9953 ("ghc-hspec" ,ghc-hspec)
9954 ("hspec-discover" ,hspec-discover)))
9955 (home-page "https://hackage.haskell.org/package/streaming-commons")
9956 (synopsis "Conduit and pipes needed by some streaming data libraries")
9957 (description "This package provides low-dependency functionality commonly
9958needed by various Haskell streaming data libraries, such as @code{conduit} and
9959@code{pipe}s.")
9960 (license license:expat)))
9961
9962(define-public ghc-strict
9963 (package
9964 (name "ghc-strict")
9965 (version "0.3.2")
9966 (source
9967 (origin
9968 (method url-fetch)
9969 (uri (string-append "https://hackage.haskell.org/package/strict/strict-"
9970 version ".tar.gz"))
9971 (sha256
9972 (base32 "08cjajqz9h47fkq98mlf3rc8n5ghbmnmgn8pfsl3bdldjdkmmlrc"))))
9973 (build-system haskell-build-system)
9974 (home-page "https://hackage.haskell.org/package/strict")
9975 (synopsis "Strict data types and String IO")
9976 (description
9977 "This package provides strict versions of some standard Haskell data
9978types, such as pairs, @code{Maybe} and @code{Either}. It also contains strict
9979IO operations.")
9980 (license license:bsd-3)))
9981
9982(define-public ghc-stringbuilder
9983 (package
9984 (name "ghc-stringbuilder")
9985 (version "0.5.1")
9986 (source
9987 (origin
9988 (method url-fetch)
9989 (uri (string-append
9990 "https://hackage.haskell.org/package/stringbuilder/stringbuilder-"
9991 version
9992 ".tar.gz"))
9993 (sha256
9994 (base32
9995 "1fh3csx1wcssn8xyvl4ip4aprh9l4qyz2kk8mgjvqvc0vb2bsy6q"))))
9996 (build-system haskell-build-system)
9997 (arguments `(#:tests? #f)) ; FIXME: circular dependencies with tests
9998 ; enabled
9999 (home-page "https://hackage.haskell.org/package/stringbuilder")
10000 (synopsis "Writer monad for multi-line string literals")
10001 (description "This package provides a writer monad for multi-line string
10002literals.")
10003 (license license:expat)))
10004
10005(define-public ghc-string-qq
10006 (package
10007 (name "ghc-string-qq")
4d6fddc3 10008 (version "0.0.4")
dddbc90c
RV
10009 (source
10010 (origin
10011 (method url-fetch)
10012 (uri (string-append
10013 "https://hackage.haskell.org/package/string-qq/string-qq-"
10014 version
10015 ".tar.gz"))
10016 (sha256
10017 (base32
4d6fddc3 10018 "0wfxkw4x6j6jq9nd82k83g2k3hskpsvk1dp4cpkshvjr4wg9qny8"))))
dddbc90c 10019 (build-system haskell-build-system)
4d6fddc3
TS
10020 (native-inputs
10021 `(("ghc-hunit" ,ghc-hunit)))
dddbc90c
RV
10022 (home-page "http://hackage.haskell.org/package/string-qq")
10023 (synopsis
10024 "QuasiQuoter for non-interpolated strings, texts and bytestrings.")
10025 (description
10026 "This package provides a quasiquoter for non-interpolated strings, texts
10027and bytestrings.")
10028 (license license:public-domain)))
10029
10030(define-public ghc-stringsearch
10031 (package
10032 (name "ghc-stringsearch")
10033 (version "0.3.6.6")
10034 (source
10035 (origin
10036 (method url-fetch)
10037 (uri (string-append
10038 "https://hackage.haskell.org/package/stringsearch/stringsearch-"
10039 version
10040 ".tar.gz"))
10041 (sha256
10042 (base32
10043 "0jpy9xjcjdbpi3wk6mg7xwd7wfi2mma70p97v1ij5i8bj9qijpr9"))))
10044 (build-system haskell-build-system)
e2303abb
TS
10045 (arguments
10046 `(#:cabal-revision
10047 ("1" "0z5pz5dccapz9k39r2zmf056m0x2m2lj3jahhnw3mfxlmps07378")))
dddbc90c
RV
10048 (home-page "https://bitbucket.org/dafis/stringsearch")
10049 (synopsis "Fast searching, splitting and replacing of ByteStrings")
10050 (description "This package provides several functions to quickly search
10051for substrings in strict or lazy @code{ByteStrings}. It also provides
10052functions for breaking or splitting on substrings and replacing all
10053occurrences of a substring (the first in case of overlaps) with another.")
10054 (license license:bsd-3)))
10055
10056(define-public ghc-stylish-haskell
10057 (package
10058 (name "ghc-stylish-haskell")
10059 (version "0.9.2.1")
10060 (source
10061 (origin
10062 (method url-fetch)
10063 (uri (string-append
10064 "mirror://hackage/package/stylish-haskell/stylish-haskell-"
10065 version
10066 ".tar.gz"))
10067 (sha256
10068 (base32
10069 "1ls11fdx6snvfx8yykpidz142zzxwi5bazl49hgfqlwx50rqcp7w"))))
10070 (build-system haskell-build-system)
10071 (inputs
10072 `(("ghc-aeson" ,ghc-aeson)
10073 ("ghc-file-embed" ,ghc-file-embed)
10074 ("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
10075 ("ghc-semigroups" ,ghc-semigroups)
10076 ("ghc-syb" ,ghc-syb)
10077 ("ghc-yaml" ,ghc-yaml)
10078 ("ghc-strict" ,ghc-strict)
10079 ("ghc-optparse-applicative"
10080 ,ghc-optparse-applicative)))
10081 (native-inputs
10082 `(("ghc-hunit" ,ghc-hunit)
10083 ("ghc-test-framework" ,ghc-test-framework)
10084 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
10085 (home-page "https://github.com/jaspervdj/stylish-haskell")
10086 (synopsis "Haskell code prettifier")
10087 (description "Stylish-haskell is a Haskell code prettifier. The goal is
10088not to format all of the code in a file, to avoid \"getting in the way\".
10089However, this tool can e.g. clean up import statements and help doing various
10090tasks that get tedious very quickly. It can
10091@itemize
10092@item
10093Align and sort @code{import} statements
10094@item
10095Group and wrap @code{{-# LANGUAGE #-}} pragmas, remove (some) redundant
10096pragmas
10097@item
10098Remove trailing whitespaces
10099@item
10100Align branches in @code{case} and fields in records
10101@item
10102Convert line endings (customisable)
10103@item
10104Replace tabs by four spaces (turned off by default)
10105@item
10106Replace some ASCII sequences by their Unicode equivalent (turned off by
10107default)
10108@end itemize")
10109 (license license:bsd-3)))
10110
10111(define-public ghc-syb
10112 (package
10113 (name "ghc-syb")
07d65eef 10114 (version "0.7.1")
dddbc90c
RV
10115 (outputs '("out" "doc"))
10116 (source
10117 (origin
10118 (method url-fetch)
10119 (uri (string-append
10120 "https://hackage.haskell.org/package/syb/syb-"
10121 version
10122 ".tar.gz"))
10123 (sha256
10124 (base32
07d65eef 10125 "0077vxzyi9ppbphi2ialac3p376k49qly1kskdgf57wdwix9qjp0"))))
dddbc90c
RV
10126 (build-system haskell-build-system)
10127 (inputs
10128 `(("ghc-hunit" ,ghc-hunit)))
10129 (home-page
10130 "http://www.cs.uu.nl/wiki/GenericProgramming/SYB")
10131 (synopsis "Scrap Your Boilerplate")
10132 (description "This package contains the generics system described in the
10133/Scrap Your Boilerplate/ papers (see
10134@uref{http://www.cs.uu.nl/wiki/GenericProgramming/SYB, the website}). It
10135defines the @code{Data} class of types permitting folding and unfolding of
10136constructor applications, instances of this class for primitive types, and a
10137variety of traversals.")
10138 (license license:bsd-3)))
10139
10140(define-public ghc-system-fileio
10141 (package
10142 (name "ghc-system-fileio")
dcfb99d4 10143 (version "0.3.16.4")
dddbc90c
RV
10144 (source
10145 (origin
10146 (method url-fetch)
10147 (uri (string-append
10148 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
10149 version ".tar.gz"))
10150 (sha256
10151 (base32
dcfb99d4 10152 "1iy6g1f35gzyj12g9mdiw4zf75mmxpv1l8cyaldgyscsl648pr9l"))))
dddbc90c 10153 (build-system haskell-build-system)
dcfb99d4
TS
10154 (arguments
10155 `(#:phases
10156 (modify-phases %standard-phases
10157 (add-before 'configure 'update-constraints
10158 (lambda _
10159 (substitute* "system-fileio.cabal"
10160 (("chell >= 0\\.4 && < 0\\.5") "chell >= 0.4"))
10161 #t)))))
dddbc90c
RV
10162 (inputs
10163 `(("ghc-system-filepath" ,ghc-system-filepath)
10164 ("ghc-chell" ,ghc-chell)
10165 ("ghc-temporary" ,ghc-temporary)))
10166 (home-page "https://github.com/fpco/haskell-filesystem")
10167 (synopsis "Consistent file system interaction across GHC versions")
10168 (description
10169 "This is a small wrapper around the directory, unix, and Win32 packages,
10170for use with system-filepath. It provides a consistent API to the various
10171versions of these packages distributed with different versions of GHC.
10172In particular, this library supports working with POSIX files that have paths
10173which can't be decoded in the current locale encoding.")
10174 (license license:expat)))
10175
10176;; See ghc-system-filepath-bootstrap. In addition this package depends on
10177;; ghc-system-filepath.
10178(define ghc-system-fileio-bootstrap
10179 (package
10180 (name "ghc-system-fileio-bootstrap")
10181 (version "0.3.16.3")
10182 (source
10183 (origin
10184 (method url-fetch)
10185 (uri (string-append
10186 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
10187 version ".tar.gz"))
10188 (sha256
10189 (base32
10190 "1484hcl27s2qcby8ws5djj11q9bz68bspcifz9h5gii2ndy70x9i"))))
10191 (build-system haskell-build-system)
10192 (arguments
10193 `(#:tests? #f))
10194 (inputs
10195 `(("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
10196 ("ghc-temporary" ,ghc-temporary)))
10197 (home-page "https://github.com/fpco/haskell-filesystem")
10198 (synopsis "Consistent file system interaction across GHC versions")
10199 (description
10200 "This is a small wrapper around the directory, unix, and Win32 packages,
10201for use with system-filepath. It provides a consistent API to the various
10202versions of these packages distributed with different versions of GHC.
10203In particular, this library supports working with POSIX files that have paths
10204which can't be decoded in the current locale encoding.")
10205 (license license:expat)))
10206
10207
10208(define-public ghc-system-filepath
10209 (package
10210 (name "ghc-system-filepath")
10211 (version "0.4.14")
10212 (source
10213 (origin
10214 (method url-fetch)
10215 (uri (string-append
10216 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
10217 version ".tar.gz"))
10218 (sha256
10219 (base32
10220 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
10221 (build-system haskell-build-system)
10222 ;; FIXME: One of the tests fails:
10223 ;; [ FAIL ] tests.validity.posix
10224 ;; note: seed=7310214548328823169
10225 ;; *** Failed! Falsifiable (after 24 tests):
10226 ;; FilePath "/r2\ENQ52\t ;$/o\US=/okG\146\&6\n<u\DC3/5\182\223a\DELN\EOT#\NUL/`[m/\USEKV\ETX([)b6/\ACK\SOo\245\ETBO/f\128\STX`|\EM\"/*\EMA\USD3/\143\&4/\CAN?\SUBee\CANR/9/B0\187Kx4/Vqr\232'b:/\a\234\DLE.\"\179/\ENQ{J/|/G)@^\237/\219ml/\DC3pd\ESC"
10227 (arguments `(#:tests? #f))
10228 (inputs
10229 `(("ghc-chell" ,ghc-chell)
10230 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)
10231 ("ghc-quickcheck" ,ghc-quickcheck)))
10232 (home-page "https://github.com/fpco/haskell-filesystem")
10233 (synopsis "High-level, byte-based file and directory path manipulations")
10234 (description
10235 "Provides a FilePath datatype and utility functions for operating on it.
10236Unlike the filepath package, this package does not simply reuse String,
10237increasing type safety.")
10238 (license license:expat)))
10239
10240;; Ghc-shelly depends on ghc-system-filepath and ghc-system-fileio, who in turn depend on
10241;; ghc-chell and ghc-chell-quickcheck for the test phase. Ghc-chell depends on ghc-options
10242;; which depends on ghc-chell and ghc-chell-quickcheck.
10243;; Therefore we bootstrap it with tests disabled.
10244(define ghc-system-filepath-bootstrap
10245 (package
10246 (name "ghc-system-filepath-bootstrap")
10247 (version "0.4.14")
10248 (source
10249 (origin
10250 (method url-fetch)
10251 (uri (string-append
10252 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
10253 version ".tar.gz"))
10254 (sha256
10255 (base32
10256 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
10257 (build-system haskell-build-system)
10258 (arguments
10259 `(#:tests? #f))
10260 (inputs
10261 `(("ghc-quickcheck" ,ghc-quickcheck)))
10262 (home-page "https://github.com/fpco/haskell-filesystem")
10263 (synopsis "High-level, byte-based file and directory path manipulations")
10264 (description
10265 "Provides a FilePath datatype and utility functions for operating on it.
10266Unlike the filepath package, this package does not simply reuse String,
10267increasing type safety.")
10268 (license license:expat)))
10269
10270
10271(define-public ghc-tagged
10272 (package
10273 (name "ghc-tagged")
f0f3756a 10274 (version "0.8.6")
dddbc90c
RV
10275 (source
10276 (origin
10277 (method url-fetch)
10278 (uri (string-append
10279 "https://hackage.haskell.org/package/tagged/tagged-"
10280 version
10281 ".tar.gz"))
10282 (sha256
10283 (base32
f0f3756a 10284 "1pciqzxf9ncv954v4r527xkxkn7r5hcr13mfw5dg1xjci3qdw5md"))))
dddbc90c
RV
10285 (build-system haskell-build-system)
10286 (arguments
10287 `(#:cabal-revision
f0f3756a 10288 ("1" "070xwfw7y81hd63il76dmwbdl9ca1rd07c54zynfx6vpr4wyx4vh")))
dddbc90c
RV
10289 (inputs
10290 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
10291 (home-page "https://hackage.haskell.org/package/tagged")
10292 (synopsis "Haskell phantom types to avoid passing dummy arguments")
10293 (description "This library provides phantom types for Haskell 98, to avoid
10294having to unsafely pass dummy arguments.")
10295 (license license:bsd-3)))
10296
10297(define-public ghc-tar
10298 (package
10299 (name "ghc-tar")
ec83929f 10300 (version "0.5.1.1")
dddbc90c
RV
10301 (source
10302 (origin
10303 (method url-fetch)
10304 (uri (string-append
10305 "https://hackage.haskell.org/package/tar/tar-"
10306 version ".tar.gz"))
10307 (sha256
10308 (base32
ec83929f 10309 "1ppim7cgmn7ng8zbdrwkxhhizc30h15h1c9cdlzamc5jcagl915k"))))
dddbc90c
RV
10310 (build-system haskell-build-system)
10311 ;; FIXME: 2/24 tests fail.
10312 (arguments `(#:tests? #f))
10313 (inputs
10314 `(("ghc-bytestring-handle" ,ghc-bytestring-handle)
10315 ("ghc-quickcheck" ,ghc-quickcheck)
10316 ("ghc-tasty" ,ghc-tasty)
10317 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
10318 (home-page "https://hackage.haskell.org/package/tar")
10319 (synopsis "Reading, writing and manipulating \".tar\" archive files")
10320 (description
10321 "This library is for working with \\\"@.tar@\\\" archive files.
10322It can read and write a range of common variations of the tar archive format
10323including V7, POSIX USTAR and GNU formats. It provides support for packing and
10324unpacking portable archives. This makes it suitable for distribution but not
10325backup because details like file ownership and exact permissions are not
10326preserved. It also provides features for random access to archive content using
10327an index.")
10328 (license license:bsd-3)))
10329
10330(define-public ghc-temporary
10331 (package
10332 (name "ghc-temporary")
10333 (version "1.3")
10334 (source
10335 (origin
10336 (method url-fetch)
10337 (uri (string-append
10338 "https://hackage.haskell.org/package/temporary/temporary-"
10339 version
10340 ".tar.gz"))
10341 (sha256
10342 (base32
10343 "144qhwfwg37l3k313raf4ssiz16jbgwlm1nf4flgqpsbd69jji4c"))))
10344 (build-system haskell-build-system)
10345 (inputs
10346 `(("ghc-exceptions" ,ghc-exceptions)
10347 ("ghc-random" ,ghc-random)))
10348 (native-inputs
10349 `(("ghc-base-compat" ,ghc-base-compat)
10350 ("ghc-tasty" ,ghc-tasty)
10351 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
10352 (home-page "https://www.github.com/batterseapower/temporary")
10353 (synopsis "Temporary file and directory support")
10354 (description "The functions for creating temporary files and directories
10355in the Haskelll base library are quite limited. This library just repackages
10356the Cabal implementations of its own temporary file and folder functions so
10357that you can use them without linking against Cabal or depending on it being
10358installed.")
10359 (license license:bsd-3)))
10360
10361(define-public ghc-temporary-rc
10362 (package
10363 (name "ghc-temporary-rc")
10364 (version "1.2.0.3")
10365 (source
10366 (origin
10367 (method url-fetch)
10368 (uri (string-append
10369 "https://hackage.haskell.org/package/temporary-rc/temporary-rc-"
10370 version
10371 ".tar.gz"))
10372 (sha256
10373 (base32
10374 "1nqih0qks439k3pr5kmbbc8rjdw730slrxlflqb27fbxbzb8skqs"))))
10375 (build-system haskell-build-system)
10376 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
10377 (home-page
10378 "https://www.github.com/feuerbach/temporary")
10379 (synopsis
10380 "Portable temporary file and directory support")
10381 (description
10382 "The functions for creating temporary files and directories in the base
10383library are quite limited. The unixutils package contains some good ones, but
10384they aren't portable to Windows. This library just repackages the Cabal
10385implementations of its own temporary file and folder functions so that you can
10386use them without linking against Cabal or depending on it being installed.
10387This is a better maintained fork of the \"temporary\" package.")
10388 (license license:bsd-3)))
10389
10390(define-public ghc-terminal-size
10391 (package
10392 (name "ghc-terminal-size")
10393 (version "0.3.2.1")
10394 (source (origin
10395 (method url-fetch)
10396 (uri (string-append
10397 "https://hackage.haskell.org/package/terminal-size/"
10398 "terminal-size-" version ".tar.gz"))
10399 (sha256
10400 (base32
10401 "0n4nvj3dbj9gxfnprgish45asn9z4dipv9j98s8i7g2n8yb3xhmm"))))
10402 (build-system haskell-build-system)
10403 (home-page "https://hackage.haskell.org/package/terminal-size")
10404 (synopsis "Get terminal window height and width")
10405 (description "Get terminal window height and width without ncurses
10406dependency.")
10407 (license license:bsd-3)))
10408
10409(define-public ghc-texmath
10410 (package
10411 (name "ghc-texmath")
7fec7e66 10412 (version "0.11.3")
dddbc90c
RV
10413 (source (origin
10414 (method url-fetch)
10415 (uri (string-append "https://hackage.haskell.org/package/"
10416 "texmath/texmath-" version ".tar.gz"))
10417 (sha256
10418 (base32
7fec7e66 10419 "03rpxbp43bjs62mmw4hv4785n6f6nbf8kj2y9mma5nzk6i2xs09f"))))
dddbc90c
RV
10420 (build-system haskell-build-system)
10421 (inputs
10422 `(("ghc-syb" ,ghc-syb)
10423 ("ghc-network-uri" ,ghc-network-uri)
10424 ("ghc-split" ,ghc-split)
10425 ("ghc-temporary" ,ghc-temporary)
10426 ("ghc-utf8-string" ,ghc-utf8-string)
10427 ("ghc-xml" ,ghc-xml)
10428 ("ghc-pandoc-types" ,ghc-pandoc-types)))
10429 (home-page "https://github.com/jgm/texmath")
10430 (synopsis "Conversion between formats used to represent mathematics")
10431 (description
10432 "The texmath library provides functions to read and write TeX math,
10433presentation MathML, and OMML (Office Math Markup Language, used in Microsoft
10434Office). Support is also included for converting math formats to pandoc's
10435native format (allowing conversion, via pandoc, to a variety of different
10436markup formats). The TeX reader supports basic LaTeX and AMS extensions, and
10437it can parse and apply LaTeX macros.")
10438 (license license:gpl2+)))
10439
10440(define-public ghc-text-binary
10441 (package
10442 (name "ghc-text-binary")
10443 (version "0.2.1.1")
10444 (source
10445 (origin
10446 (method url-fetch)
10447 (uri (string-append "https://hackage.haskell.org/package/"
10448 "text-binary/text-binary-"
10449 version ".tar.gz"))
10450 (sha256
10451 (base32
10452 "18gl10pwg3qwsk0za3c70j4n6a9129wwf1b7d3a461h816yv55xn"))))
10453 (build-system haskell-build-system)
10454 (home-page "https://github.com/kawu/text-binary")
10455 (synopsis "Binary instances for text types")
10456 (description
10457 "This package provides a compatibility layer providing @code{Binary}
10458instances for strict and lazy text types for versions older than 1.2.1 of the
10459text package.")
10460 (license license:bsd-2)))
10461
bdc877c4
TS
10462(define-public ghc-text-metrics
10463 (package
10464 (name "ghc-text-metrics")
10465 (version "0.3.0")
10466 (source
10467 (origin
10468 (method url-fetch)
10469 (uri (string-append "https://hackage.haskell.org/package/"
10470 "text-metrics/text-metrics-" version ".tar.gz"))
10471 (sha256
10472 (base32
10473 "18mzxwkdvjp31r720ai9bnxr638qq8x3a2v408bz0d8f0rsayx1q"))))
10474 (build-system haskell-build-system)
10475 (inputs
10476 `(("ghc-vector" ,ghc-vector)))
10477 (native-inputs
10478 `(("ghc-quickcheck" ,ghc-quickcheck)
10479 ("ghc-hspec" ,ghc-hspec)))
10480 (arguments
10481 `(#:cabal-revision
10482 ("4" "017drxq9x56b345d8w5m8xdsi1zzs0z16pbdx8j35cd1lsnh3kf1")))
10483 (home-page "https://github.com/mrkkrp/text-metrics")
10484 (synopsis "Calculate various string metrics efficiently")
10485 (description "This library provides tools to calculate various
10486string metrics efficiently.")
10487 (license license:bsd-3)))
10488
dddbc90c
RV
10489(define-public ghc-tf-random
10490 (package
10491 (name "ghc-tf-random")
10492 (version "0.5")
10493 (outputs '("out" "doc"))
10494 (source
10495 (origin
10496 (method url-fetch)
10497 (uri (string-append
10498 "https://hackage.haskell.org/package/tf-random/tf-random-"
10499 version
10500 ".tar.gz"))
10501 (sha256
10502 (base32 "0445r2nns6009fmq0xbfpyv7jpzwv0snccjdg7hwj4xk4z0cwc1f"))))
10503 (build-system haskell-build-system)
10504 (inputs
10505 `(("ghc-primitive" ,ghc-primitive)
10506 ("ghc-random" ,ghc-random)))
10507 (home-page "https://hackage.haskell.org/package/tf-random")
10508 (synopsis "High-quality splittable pseudorandom number generator")
10509 (description "This package contains an implementation of a high-quality
10510splittable pseudorandom number generator. The generator is based on a
10511cryptographic hash function built on top of the ThreeFish block cipher. See
10512the paper \"Splittable Pseudorandom Number Generators Using Cryptographic
10513Hashing\" by Claessen, Pałka for details and the rationale of the design.")
10514 (license license:bsd-3)))
10515
10516(define-public ghc-th-abstraction
10517 (package
10518 (name "ghc-th-abstraction")
1188eabb 10519 (version "0.3.1.0")
dddbc90c
RV
10520 (source
10521 (origin
10522 (method url-fetch)
10523 (uri (string-append "https://hackage.haskell.org/package/"
10524 "th-abstraction/th-abstraction-"
10525 version ".tar.gz"))
10526 (sha256
10527 (base32
1188eabb 10528 "1f81w0gshvc816cf9qz0f19jsrzh6wpzmmy317xrgn63dv61p7jb"))))
dddbc90c
RV
10529 (build-system haskell-build-system)
10530 (home-page "https://github.com/glguy/th-abstraction")
10531 (synopsis "Nicer interface for reified information about data types")
10532 (description
10533 "This package normalizes variations in the interface for inspecting
10534datatype information via Template Haskell so that packages and support a
10535single, easier to use informational datatype while supporting many versions of
10536Template Haskell.")
10537 (license license:isc)))
10538
10539(define-public ghc-th-expand-syns
10540 (package
10541 (name "ghc-th-expand-syns")
8c766600 10542 (version "0.4.5.0")
dddbc90c
RV
10543 (source (origin
10544 (method url-fetch)
10545 (uri (string-append "https://hackage.haskell.org/package/"
10546 "th-expand-syns/th-expand-syns-"
10547 version ".tar.gz"))
10548 (sha256
10549 (base32
8c766600 10550 "1p4wfyycan8zsp9wi7npx36qwbfsbcgdyxi3ii51scf69dkrx42y"))))
dddbc90c
RV
10551 (build-system haskell-build-system)
10552 (inputs
10553 `(("ghc-syb" ,ghc-syb)))
10554 (home-page "https://hackage.haskell.org/package/th-expand-syns")
10555 (synopsis "Expands type synonyms in Template Haskell ASTs")
10556 (description
10557 "This package enables users to expand type synonyms in Template Haskell
10558@dfn{abstract syntax trees} (ASTs).")
10559 (license license:bsd-3)))
10560
10561(define-public ghc-th-lift
10562 (package
10563 (name "ghc-th-lift")
bd76b20a 10564 (version "0.8.0.1")
dddbc90c
RV
10565 (source (origin
10566 (method url-fetch)
10567 (uri (string-append "https://hackage.haskell.org/package/"
10568 "th-lift/th-lift-" version ".tar.gz"))
10569 (sha256
10570 (base32
bd76b20a 10571 "1a6qlbdg15cfr5rvl9g3blgwx4v1p0xic0pzv13zx165xbc36ld0"))))
dddbc90c
RV
10572 (build-system haskell-build-system)
10573 (inputs
10574 `(("ghc-th-abstraction" ,ghc-th-abstraction)))
10575 (home-page "https://github.com/mboes/th-lift")
10576 (synopsis "Derive Template Haskell's Lift class for datatypes")
10577 (description
10578 "This is a Haskell library to derive Template Haskell's Lift class for
10579datatypes.")
10580 (license license:bsd-3)))
10581
10582(define-public ghc-th-lift-instances
10583 (package
10584 (name "ghc-th-lift-instances")
d3db399e 10585 (version "0.1.14")
dddbc90c
RV
10586 (source
10587 (origin
10588 (method url-fetch)
10589 (uri (string-append "https://hackage.haskell.org/package/"
10590 "th-lift-instances/th-lift-instances-"
10591 version ".tar.gz"))
10592 (sha256
10593 (base32
d3db399e 10594 "0r1b4jnvcj64wp4hfccwkl4a70n1p1q7qzyx6ax7cmd8k961jz78"))))
dddbc90c
RV
10595 (build-system haskell-build-system)
10596 (inputs
10597 `(("ghc-th-lift" ,ghc-th-lift)
10598 ("ghc-vector" ,ghc-vector)
10599 ("ghc-quickcheck" ,ghc-quickcheck)))
10600 (home-page "https://github.com/bennofs/th-lift-instances/")
10601 (synopsis "Lift instances for template-haskell for common data types.")
10602 (description "Most data types in the Haskell platform do not have Lift
10603instances. This package provides orphan instances for @code{containers},
10604@code{text}, @code{bytestring} and @code{vector}.")
10605 (license license:bsd-3)))
10606
10607(define-public ghc-th-orphans
10608 (package
10609 (name "ghc-th-orphans")
882b23e2 10610 (version "0.13.9")
dddbc90c
RV
10611 (source (origin
10612 (method url-fetch)
10613 (uri (string-append "https://hackage.haskell.org/package/"
10614 "th-orphans/th-orphans-" version ".tar.gz"))
10615 (sha256
10616 (base32
882b23e2 10617 "1xj1gssv77hdx1r3ndg8k49v3ipj3a6r7crkyvx13jrps3m6ng1z"))))
dddbc90c
RV
10618 (build-system haskell-build-system)
10619 (inputs
10620 `(("ghc-th-lift" ,ghc-th-lift)
10621 ("ghc-th-lift-instances" ,ghc-th-lift-instances)
10622 ("ghc-th-reify-many" ,ghc-th-reify-many)
10623 ("ghc-generic-deriving" ,ghc-generic-deriving)))
10624 (native-inputs
10625 `(("ghc-hspec" ,ghc-hspec)))
10626 (home-page "https://hackage.haskell.org/package/th-orphans")
10627 (synopsis "Orphan instances for TH datatypes")
10628 (description
10629 "This package provides orphan instances for Template Haskell datatypes. In particular,
10630instances for @code{Ord} and @code{Lift}, as well as a few missing @code{Show}
10631and @code{Eq} instances. These instances used to live in the haskell-src-meta
10632package, and that's where the version number started.")
10633 (license license:bsd-3)))
10634
10635(define-public ghc-threads
10636 (package
10637 (name "ghc-threads")
10638 (version "0.5.1.6")
10639 (source
10640 (origin
10641 (method url-fetch)
10642 (uri (string-append "https://hackage.haskell.org/package/"
10643 "threads/threads-" version ".tar.gz"))
10644 (sha256
10645 (base32
10646 "0bjnjhnq3km6xqk0fn1fgyz5xdw4h6lylbwwbcmkkfzwcz0c76hk"))))
10647 (build-system haskell-build-system)
10648 (native-inputs
10649 `(("ghc-concurrent-extra" ,ghc-concurrent-extra)
10650 ("ghc-hunit" ,ghc-hunit)
10651 ("ghc-test-framework" ,ghc-test-framework)
10652 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
10653 (home-page "https://github.com/basvandijk/threads")
10654 (synopsis "Fork threads and wait for their result")
10655 (description "This package provides functions to fork threads and
10656wait for their result, whether it's an exception or a normal value.
10657Besides waiting for the termination of a single thread this package also
10658provides functions to wait for a group of threads to terminate. This
bbf8bf31
RV
10659package is similar to the @code{threadmanager}, @code{async} and
10660@code{spawn} packages. The advantages of this package are:
10661
dddbc90c
RV
10662@itemize
10663@item Simpler API.
10664@item More efficient in both space and time.
10665@item No space-leak when forking a large number of threads.
10666@item Correct handling of asynchronous exceptions.
10667@item GHC specific functionality like @code{forkOn} and
10668@code{forkIOWithUnmask}.
10669@end itemize")
10670 (license license:bsd-3)))
10671
10672(define-public ghc-th-reify-many
10673 (package
10674 (name "ghc-th-reify-many")
32d4a6ae 10675 (version "0.1.9")
dddbc90c
RV
10676 (source (origin
10677 (method url-fetch)
10678 (uri (string-append "https://hackage.haskell.org/package/"
10679 "th-reify-many/th-reify-many-"
10680 version ".tar.gz"))
10681 (sha256
10682 (base32
32d4a6ae 10683 "0hxf56filzqnyrc8q7766vai80y6cgrrbrczx6n93caskl1dv2gq"))))
dddbc90c
RV
10684 (build-system haskell-build-system)
10685 (inputs
10686 `(("ghc-safe" ,ghc-safe)
10687 ("ghc-th-expand-syns" ,ghc-th-expand-syns)))
10688 (home-page "https://github.com/mgsloan/th-reify-many")
10689 (synopsis "Recurseively reify template haskell datatype info")
10690 (description
10691 "th-reify-many provides functions for recursively reifying top level
10692declarations. The main intended use case is for enumerating the names of
10693datatypes reachable from an initial datatype, and passing these names to some
10694function which generates instances.")
10695 (license license:bsd-3)))
10696
75cfc9a2
TS
10697(define-public ghc-time-compat
10698 (package
10699 (name "ghc-time-compat")
10700 (version "1.9.2.2")
10701 (source
10702 (origin
10703 (method url-fetch)
10704 (uri (string-append "https://hackage.haskell.org/package/"
10705 "time-compat/time-compat-" version ".tar.gz"))
10706 (sha256
10707 (base32
10708 "05va0rqs759vbridbcl6hksp967j9anjvys8vx72fnfkhlrn2s52"))))
10709 (build-system haskell-build-system)
10710 (inputs
10711 `(("ghc-base-orphans" ,ghc-base-orphans)))
10712 (native-inputs
10713 `(("ghc-hunit" ,ghc-hunit)
10714 ("ghc-base-compat" ,ghc-base-compat)
10715 ("ghc-quickcheck" ,ghc-quickcheck)
10716 ("ghc-tagged" ,ghc-tagged)
10717 ("ghc-tasty" ,ghc-tasty)
10718 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
10719 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
10720 (arguments
10721 `(#:cabal-revision
10722 ("1" "0k8ph4sydaiqp8dav4if6hpiaq8h1xsr93khmdr7a1mmfwdxr64r")))
10723 (home-page "https://github.com/phadej/time-compat")
10724 (synopsis "Compatibility package for time")
10725 (description "This packages tries to compat as many @code{time}
10726features as possible.")
10727 (license license:bsd-3)))
10728
dddbc90c
RV
10729(define-public ghc-time-locale-compat
10730 (package
10731 (name "ghc-time-locale-compat")
10732 (version "0.1.1.5")
10733 (source
10734 (origin
10735 (method url-fetch)
10736 (uri (string-append "https://hackage.haskell.org/package/"
10737 "time-locale-compat/time-locale-compat-"
10738 version ".tar.gz"))
10739 (sha256
10740 (base32
10741 "0b2hmj8wwrfkndwzgm11qr496ca2ahwdxcj3m0ii91bxvrk1bzq7"))))
10742 (build-system haskell-build-system)
10743 (inputs `(("ghc-old-locale" ,ghc-old-locale)))
10744 (home-page "https://github.com/khibino/haskell-time-locale-compat")
10745 (synopsis "Compatibility of TimeLocale between old-locale and time-1.5")
10746 (description "This package contains a wrapped name module for
10747@code{TimeLocale}.")
10748 (license license:bsd-3)))
10749
7bbfa392
JS
10750(define-public ghc-timeit
10751 (package
10752 (name "ghc-timeit")
10753 (version "2.0")
10754 (source
10755 (origin
10756 (method url-fetch)
10757 (uri
10758 (string-append
10759 "https://hackage.haskell.org/package/timeit/timeit-"
10760 version ".tar.gz"))
10761 (sha256
10762 (base32
10763 "1sliqpvl501rlcj6s0lhmsf5ym24j4h881wzc1f1wdyvg3jz8kd1"))))
10764 (build-system haskell-build-system)
10765 (home-page "https://github.com/merijn/timeit")
10766 (synopsis "Time monadic computations with an IO base")
10767 (description "This package provides a simple wrapper to show the
10768used CPU time of monadic computation with an IO base.")
10769 (license license:bsd-3)))
10770
dddbc90c
RV
10771(define-public ghc-tldr
10772 (package
10773 (name "ghc-tldr")
871ceb31 10774 (version "0.4.0.2")
dddbc90c
RV
10775 (source
10776 (origin
10777 (method url-fetch)
10778 (uri (string-append
10779 "https://hackage.haskell.org/package/tldr/tldr-"
10780 version
10781 ".tar.gz"))
10782 (sha256
10783 (base32
871ceb31 10784 "1zy9yyg7bxiyz1prkvrscggsb9p0f8y0nqxxxzlgzvnh2nmqf8f2"))))
dddbc90c
RV
10785 (build-system haskell-build-system)
10786 (inputs
10787 `(("ghc-cmark" ,ghc-cmark)
10788 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
10789 ("ghc-typed-process" ,ghc-typed-process)
10790 ("ghc-semigroups" ,ghc-semigroups)))
10791 (native-inputs
10792 `(("ghc-tasty" ,ghc-tasty)
10793 ("ghc-tasty-golden" ,ghc-tasty-golden)))
10794 (home-page "https://github.com/psibi/tldr-hs#readme")
10795 (synopsis "Haskell tldr client")
10796 (description "This package provides the @command{tldr} command and a
10797Haskell client library allowing users to update and view @code{tldr} pages
10798from a shell. The @code{tldr} pages are a community effort to simplify the
10799man pages with practical examples.")
10800 (license license:bsd-3)))
10801
10802(define-public ghc-transformers-base
10803 (package
10804 (name "ghc-transformers-base")
10805 (version "0.4.5.2")
10806 (source
10807 (origin
10808 (method url-fetch)
10809 (uri (string-append
10810 "https://hackage.haskell.org/package/transformers-base/transformers-base-"
10811 version
10812 ".tar.gz"))
10813 (sha256
10814 (base32
10815 "1s256bi0yh0x2hp2gwd30f3mg1cv53zz397dv1yhfsnfzmihrj6h"))))
10816 (build-system haskell-build-system)
10817 (inputs
10818 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
10819 (home-page
10820 "https://hackage.haskell.org/package/transformers-compat")
10821 (synopsis
10822 "Backported transformer library")
10823 (description
10824 "Backported versions of types that were added to transformers in
10825transformers 0.3 and 0.4 for users who need strict transformers 0.2 or 0.3
10826compatibility to run on old versions of the platform.")
10827 (license license:bsd-3)))
10828
10829(define-public ghc-transformers-compat
10830 (package
10831 (name "ghc-transformers-compat")
1c9c4d58 10832 (version "0.6.5")
dddbc90c
RV
10833 (source
10834 (origin
10835 (method url-fetch)
10836 (uri (string-append
10837 "https://hackage.haskell.org/package/transformers-compat"
10838 "/transformers-compat-" version ".tar.gz"))
10839 (sha256
10840 (base32
1c9c4d58 10841 "02v2fjbvcrlpvhcsssap8dy8y9pp95jykrlc5arm39sxa48wyrys"))))
dddbc90c
RV
10842 (build-system haskell-build-system)
10843 (home-page "https://github.com/ekmett/transformers-compat/")
10844 (synopsis "Small compatibility shim between transformers 0.3 and 0.4")
10845 (description "This package includes backported versions of types that were
10846added to transformers in transformers 0.3 and 0.4 for users who need strict
10847transformers 0.2 or 0.3 compatibility to run on old versions of the platform,
10848but also need those types.")
10849 (license license:bsd-3)))
10850
10851(define-public ghc-tree-diff
10852 (package
10853 (name "ghc-tree-diff")
10854 (version "0.0.1")
10855 (source
10856 (origin
10857 (method url-fetch)
10858 (uri (string-append
10859 "https://hackage.haskell.org/package/tree-diff/tree-diff-"
10860 version
10861 ".tar.gz"))
10862 (sha256
10863 (base32
10864 "049v44c520jy3icxlnrvbdblh3mjmvd7m6qmkzxbzkf02x63xqmz"))))
10865 (build-system haskell-build-system)
10866 (arguments
10867 `(#:cabal-revision
10868 ("4" "1rqxxyj6hqllahs11693g855cxz8mgnb490s7j1ksd300i5xgjsp")
10869 #:phases
10870 (modify-phases %standard-phases
10871 (add-before 'configure 'update-constraints
10872 (lambda _
10873 (substitute* "tree-diff.cabal"
10874 (("trifecta >=1\\.7\\.1\\.1 && <1\\.8")
10875 "trifecta >=1.7.1.1 && <=2")))))))
10876 (inputs
10877 `(("ghc-aeson" ,ghc-aeson)
10878 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
10879 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
10880 ("ghc-base-compat" ,ghc-base-compat)
10881 ("ghc-generics-sop" ,ghc-generics-sop)
10882 ("ghc-hashable" ,ghc-hashable)
10883 ("ghc-memotrie" ,ghc-memotrie)
10884 ("ghc-parsers" ,ghc-parsers)
10885 ("ghc-quickcheck" ,ghc-quickcheck)
10886 ("ghc-scientific" ,ghc-scientific)
10887 ("ghc-tagged" ,ghc-tagged)
10888 ("ghc-unordered-containers" ,ghc-unordered-containers)
10889 ("ghc-uuid-types" ,ghc-uuid-types)
10890 ("ghc-vector" ,ghc-vector)))
10891 (native-inputs
10892 `(("ghc-base-compat" ,ghc-base-compat)
10893 ("ghc-quickcheck" ,ghc-quickcheck)
10894 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
10895 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
10896 ("ghc-trifecta" ,ghc-trifecta)
10897 ("ghc-tasty" ,ghc-tasty)
10898 ("ghc-tasty-golden" ,ghc-tasty-golden)
10899 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
10900 (home-page "https://github.com/phadej/tree-diff")
10901 (synopsis "Compute difference between (expression) trees")
10902 (description "This Haskell library provides a function for computing
10903the difference between (expression) trees. It also provides a way to
10904compute the difference between arbitrary abstract datatypes (ADTs) using
10905@code{Generics}-derivable helpers.")
10906 (license license:bsd-3)))
10907
10908(define-public ghc-trifecta
10909 (package
10910 (name "ghc-trifecta")
10911 (version "2")
10912 (source (origin
10913 (method url-fetch)
10914 (uri (string-append
10915 "https://hackage.haskell.org/package/trifecta/"
10916 "trifecta-" version ".tar.gz"))
10917 (sha256
10918 (base32
10919 "0hznd8i65s81xy13i2qc7cvipw3lfb2yhkv53apbdsh6sbljz5sk"))))
10920 (build-system haskell-build-system)
10921 (arguments `(#:tests? #f)) ; doctest suite fails to build on i686
10922 (inputs
10923 `(("ghc-reducers" ,ghc-reducers)
10924 ("ghc-semigroups" ,ghc-semigroups)
10925 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
10926 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
10927 ("ghc-blaze-builder" ,ghc-blaze-builder)
10928 ("ghc-blaze-html" ,ghc-blaze-html)
10929 ("ghc-blaze-markup" ,ghc-blaze-markup)
10930 ("ghc-charset" ,ghc-charset)
10931 ("ghc-comonad" ,ghc-comonad)
10932 ("ghc-fingertree" ,ghc-fingertree)
10933 ("ghc-hashable" ,ghc-hashable)
10934 ("ghc-lens" ,ghc-lens)
10935 ("ghc-parsers" ,ghc-parsers)
10936 ("ghc-profunctors" ,ghc-profunctors)
10937 ("ghc-unordered-containers" ,ghc-unordered-containers)
10938 ("ghc-utf8-string" ,ghc-utf8-string)))
10939 (native-inputs
10940 `(("cabal-doctest" ,cabal-doctest)
10941 ("ghc-doctest" ,ghc-doctest)
10942 ("ghc-quickcheck" ,ghc-quickcheck)))
10943 (home-page "https://github.com/ekmett/trifecta/")
10944 (synopsis "Parser combinator library with convenient diagnostics")
10945 (description "Trifecta is a modern parser combinator library for Haskell,
10946with slicing and Clang-style colored diagnostics.")
10947 (license license:bsd-3)))
10948
10949(define-public ghc-tuple-th
10950 (package
10951 (name "ghc-tuple-th")
10952 (version "0.2.5")
10953 (source
10954 (origin
10955 (method url-fetch)
10956 (uri (string-append "https://hackage.haskell.org/package/"
10957 "tuple-th-" version "/"
10958 "tuple-th-" version ".tar.gz"))
10959 (sha256
10960 (base32
10961 "1mrl4vvxmby7sf1paf7hklzidnr6wq55822i73smqyz0xpf3gsjn"))))
10962 (build-system haskell-build-system)
10963 (home-page "https://github.com/DanielSchuessler/tuple-th")
10964 (synopsis "Generate utility functions for tuples of statically known size
10965for Haskell")
10966 (description "This Haskell package contains Template Haskell functions for
10967generating functions similar to those in @code{Data.List} for tuples of
10968statically known size.")
10969 (license license:bsd-3)))
10970
10971(define-public ghc-typed-process
10972 (package
10973 (name "ghc-typed-process")
72fb84a5 10974 (version "0.2.6.0")
dddbc90c
RV
10975 (source
10976 (origin
10977 (method url-fetch)
10978 (uri (string-append "https://hackage.haskell.org/package/"
10979 "typed-process/typed-process-"
10980 version ".tar.gz"))
10981 (sha256
10982 (base32
72fb84a5 10983 "1cf2pfym8zdxvvy7xv72ixj7wy3rjrdss6f57k1ysgs66cgsi8ii"))))
dddbc90c
RV
10984 (build-system haskell-build-system)
10985 (inputs
72fb84a5
TS
10986 `(("ghc-async" ,ghc-async)
10987 ("ghc-unliftio-core" ,ghc-unliftio-core)))
dddbc90c
RV
10988 (native-inputs
10989 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
10990 ("ghc-hspec" ,ghc-hspec)
10991 ("hspec-discover" ,hspec-discover)
10992 ("ghc-temporary" ,ghc-temporary)))
10993 (home-page "https://haskell-lang.org/library/typed-process")
10994 (synopsis "Run external processes with strong typing of streams")
10995 (description
10996 "This library provides the ability to launch and interact with external
10997processes. It wraps around the @code{process} library, and intends to improve
10998upon it.")
10999 (license license:expat)))
11000
d392f803
AG
11001(define-public ghc-unagi-chan
11002 (package
11003 (name "ghc-unagi-chan")
11004 (version "0.4.1.2")
11005 (source
11006 (origin
11007 (method url-fetch)
11008 (uri (string-append "https://hackage.haskell.org/package/unagi-chan"
11009 "/unagi-chan-" version ".tar.gz"))
11010 (sha256
11011 (base32
11012 "1lnl5n4jnjmm4chp461glcwkrrw63rjz3fvprwxcy3lkpbkrqvgn"))))
11013 (build-system haskell-build-system)
11014 (inputs
11015 `(("ghc-atomic-primops" ,ghc-atomic-primops)
11016 ("ghc-primitive" ,ghc-primitive)))
11017 (arguments
11018 `(#:tests? #f ; FIXME: Tests expect primitive 0.7
11019 #:cabal-revision
11020 ("1"
11021 "09pqi867wskwgc5lpn197f895mbn1174ydgllvcppcsmrz2b6yr6")))
11022 (home-page "http://hackage.haskell.org/package/unagi-chan")
11023 (synopsis "Fast concurrent queues with a Chan-like API, and more")
11024 (description
11025 "This library provides implementations of concurrent FIFO queues (for
11026both general boxed and primitive unboxed values) that are fast, perform well
11027under contention, and offer a Chan-like interface. The library may be of
11028limited usefulness outside of x86 architectures where the fetch-and-add
11029instruction is not available.")
11030 (license license:bsd-3)))
11031
dddbc90c
RV
11032(define-public ghc-unbounded-delays
11033 (package
11034 (name "ghc-unbounded-delays")
11035 (version "0.1.1.0")
11036 (source
11037 (origin
11038 (method url-fetch)
11039 (uri (string-append
11040 "https://hackage.haskell.org/package/unbounded-delays/unbounded-delays-"
11041 version
11042 ".tar.gz"))
11043 (sha256
11044 (base32
11045 "1ir9fghbrc214c97bwafk5ck6cacxz1pdnq4i18p604d1b8zg9wa"))))
11046 (build-system haskell-build-system)
11047 (home-page "https://github.com/basvandijk/unbounded-delays")
11048 (synopsis "Unbounded thread delays and timeouts")
11049 (description "The @code{threadDelay} and @code{timeout} functions from the
11050Haskell base library use the bounded @code{Int} type for specifying the delay
11051or timeout period. This package provides alternative functions which use the
11052unbounded @code{Integer} type.")
11053 (license license:bsd-3)))
11054
11055(define-public ghc-unexceptionalio
11056 (package
11057 (name "ghc-unexceptionalio")
11058 (version "0.4.0")
11059 (source
11060 (origin
11061 (method url-fetch)
11062 (uri (string-append "https://hackage.haskell.org/package/"
11063 "unexceptionalio-" version "/" "unexceptionalio-"
11064 version ".tar.gz"))
11065 (sha256 (base32 "09gynk472l7nn5l2w320n4dwigwp0wh0shfp6dyw6r5h2jdxz18p"))))
11066 (build-system haskell-build-system)
11067 (home-page "https://github.com/singpolyma/unexceptionalio")
11068 (synopsis "IO without any non-error, synchronous exceptions")
11069 (description "When you've caught all the exceptions that can be
11070handled safely, this is what you're left with.")
11071 (license license:isc)))
11072
11073(define-public ghc-union-find
11074 (package
11075 (name "ghc-union-find")
11076 (version "0.2")
11077 (source (origin
11078 (method url-fetch)
11079 (uri (string-append
11080 "https://hackage.haskell.org/package/union-find/union-find-"
11081 version ".tar.gz"))
11082 (sha256
11083 (base32
11084 "1v7hj42j9w6jlzi56jg8rh4p58gfs1c5dx30wd1qqvn0p0mnihp6"))))
11085 (build-system haskell-build-system)
11086 (home-page "https://github.com/nominolo/union-find")
11087 (synopsis "Efficient union and equivalence testing of sets")
11088 (description
11089 "The Union/Find algorithm implements these operations in (effectively)
11090constant-time:
11091@enumerate
11092@item Check whether two elements are in the same equivalence class.
11093@item Create a union of two equivalence classes.
11094@item Look up the descriptor of the equivalence class.
11095@end enumerate\n")
11096 (license license:bsd-3)))
11097
11098(define-public ghc-uniplate
11099 (package
11100 (name "ghc-uniplate")
11101 (version "1.6.12")
11102 (source
11103 (origin
11104 (method url-fetch)
11105 (uri (string-append
11106 "https://hackage.haskell.org/package/uniplate/uniplate-"
11107 version
11108 ".tar.gz"))
11109 (sha256
11110 (base32
11111 "1dx8f9aw27fz8kw0ad1nm6355w5rdl7bjvb427v2bsgnng30pipw"))))
11112 (build-system haskell-build-system)
11113 (inputs
11114 `(("ghc-syb" ,ghc-syb)
11115 ("ghc-hashable" ,ghc-hashable)
11116 ("ghc-unordered-containers" ,ghc-unordered-containers)))
11117 (home-page "http://community.haskell.org/~ndm/uniplate/")
11118 (synopsis "Simple, concise and fast generic operations")
11119 (description "Uniplate is a library for writing simple and concise generic
11120operations. Uniplate has similar goals to the original Scrap Your Boilerplate
11121work, but is substantially simpler and faster.")
11122 (license license:bsd-3)))
11123
11124(define-public ghc-unix-compat
11125 (package
11126 (name "ghc-unix-compat")
bc82e9f5 11127 (version "0.5.2")
dddbc90c
RV
11128 (source
11129 (origin
11130 (method url-fetch)
11131 (uri (string-append
11132 "https://hackage.haskell.org/package/unix-compat/unix-compat-"
11133 version
11134 ".tar.gz"))
11135 (sha256
11136 (base32
bc82e9f5 11137 "1a8brv9fax76b1fymslzyghwa6ma8yijiyyhn12msl3i5x24x6k5"))))
dddbc90c
RV
11138 (build-system haskell-build-system)
11139 (home-page
11140 "https://github.com/jystic/unix-compat")
11141 (synopsis "Portable POSIX-compatibility layer")
11142 (description
11143 "This package provides portable implementations of parts of the unix
11144package. This package re-exports the unix package when available. When it
11145isn't available, portable implementations are used.")
11146 (license license:bsd-3)))
11147
11148(define-public ghc-unix-time
11149 (package
11150 (name "ghc-unix-time")
fad9cff2 11151 (version "0.4.7")
dddbc90c
RV
11152 (source
11153 (origin
11154 (method url-fetch)
11155 (uri (string-append
11156 "https://hackage.haskell.org/package/unix-time/unix-time-"
11157 version
11158 ".tar.gz"))
11159 (sha256
11160 (base32
fad9cff2 11161 "02fyh298lm8jsg52i3z0ikazwz477ljqjmhnqr2d88grmn5ky8qr"))))
dddbc90c
RV
11162 (build-system haskell-build-system)
11163 (arguments
11164 `(#:tests? #f)) ; FIXME: Test fails with "System.Time not found". This
11165 ; is weird, that should be provided by GHC 7.10.2.
11166 (inputs
11167 `(("ghc-old-time" ,ghc-old-time)
11168 ("ghc-old-locale" ,ghc-old-locale)))
11169 (home-page "https://hackage.haskell.org/package/unix-time")
11170 (synopsis "Unix time parser/formatter and utilities")
11171 (description "This library provides fast parsing and formatting utilities
11172for Unix time in Haskell.")
11173 (license license:bsd-3)))
11174
11175(define-public ghc-unliftio
11176 (package
11177 (name "ghc-unliftio")
a4084db1 11178 (version "0.2.12")
dddbc90c
RV
11179 (source
11180 (origin
11181 (method url-fetch)
11182 (uri (string-append
11183 "https://hackage.haskell.org/package/unliftio/unliftio-"
11184 version
11185 ".tar.gz"))
11186 (sha256
11187 (base32
a4084db1 11188 "02gy1zrxgzg4xmzm8lafsf1nyr3as1q20r8ld73xg3q7rkag9acg"))))
dddbc90c
RV
11189 (build-system haskell-build-system)
11190 (arguments `(#:tests? #f)) ; FIXME: hspec-discover not in PATH
11191 (inputs
11192 `(("ghc-async" ,ghc-async)
11193 ("ghc-unliftio-core" ,ghc-unliftio-core)))
11194 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
11195 (home-page "https://github.com/fpco/unliftio")
11196 (synopsis "Provides MonadUnliftIO typecplass for unlifting monads to
11197IO (batteries included)")
11198 (description "This Haskell package provides the core @code{MonadUnliftIO}
11199typeclass, a number of common instances, and a collection of common functions
11200working with it.")
11201 (license license:expat)))
11202
11203(define-public ghc-unliftio-core
11204 (package
11205 (name "ghc-unliftio-core")
2ae42618 11206 (version "0.1.2.0")
dddbc90c
RV
11207 (source
11208 (origin
11209 (method url-fetch)
11210 (uri (string-append "https://hackage.haskell.org/package/"
11211 "unliftio-core-" version "/"
11212 "unliftio-core-" version ".tar.gz"))
11213 (sha256
11214 (base32
2ae42618 11215 "0y3siyx3drkw7igs380a87h8qfbbgcyxxlcnshp698hcc4yqphr4"))))
dddbc90c
RV
11216 (build-system haskell-build-system)
11217 (arguments
11218 `(#:cabal-revision
2ae42618 11219 ("2" "0jqrjjbgicx48wzcjxs1xmih48ay79rhmrz6081dldlfxynli6vz")))
dddbc90c
RV
11220 (home-page
11221 "https://github.com/fpco/unliftio/tree/master/unliftio-core#readme")
11222 (synopsis "The MonadUnliftIO typeclass for unlifting monads to IO")
11223 (description "This Haskell package provides the core @code{MonadUnliftIO}
11224typeclass, instances for base and transformers, and basic utility
11225functions.")
11226 (license license:expat)))
11227
11228(define-public ghc-unordered-containers
11229 (package
11230 (name "ghc-unordered-containers")
ca01f8d3 11231 (version "0.2.10.0")
dddbc90c
RV
11232 (outputs '("out" "doc"))
11233 (source
11234 (origin
11235 (method url-fetch)
11236 (uri (string-append
11237 "https://hackage.haskell.org/package/unordered-containers"
11238 "/unordered-containers-" version ".tar.gz"))
11239 (sha256
11240 (base32
ca01f8d3 11241 "0wy5hfrs880hh8hvp648bl07ws777n3kkmczzdszr7papnyigwb5"))))
dddbc90c
RV
11242 (build-system haskell-build-system)
11243 (inputs
11244 `(("ghc-chasingbottoms" ,ghc-chasingbottoms)
11245 ("ghc-hunit" ,ghc-hunit)
11246 ("ghc-quickcheck" ,ghc-quickcheck)
11247 ("ghc-test-framework" ,ghc-test-framework)
11248 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
11249 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
11250 ("ghc-hashable" ,ghc-hashable)))
11251 (home-page
11252 "https://github.com/tibbe/unordered-containers")
11253 (synopsis
11254 "Efficient hashing-based container types")
11255 (description
11256 "Efficient hashing-based container types. The containers have been
11257optimized for performance critical use, both in terms of large data quantities
11258and high speed.")
11259 (license license:bsd-3)))
11260
11261(define-public ghc-unordered-containers-bootstrap
11262 (package
11263 (inherit ghc-unordered-containers)
11264 (name "ghc-unordered-containers-bootstrap")
11265 (arguments `(#:tests? #f))
11266 (inputs
11267 `(("ghc-hashable" ,ghc-hashable-bootstrap)))
799d8d3c 11268 (properties '((hidden? #t)))))
dddbc90c 11269
a52f4c57
JS
11270(define-public ghc-unsafe
11271 (package
11272 (name "ghc-unsafe")
11273 (version "0.0")
11274 (source
11275 (origin
11276 (method url-fetch)
11277 (uri
11278 (string-append
11279 "https://hackage.haskell.org/package/unsafe/unsafe-"
11280 version ".tar.gz"))
11281 (sha256
11282 (base32
11283 "0hc6xr1i3hkz25gdgfx1jqgpsc9mwa05bkfynp0mcfdlyz6782nz"))))
11284 (build-system haskell-build-system)
11285 (home-page "https://hackage.haskell.org/package/unsafe")
11286 (synopsis "Unified interface to unsafe functions")
11287 (description "Safe Haskell introduced the notion of safe and unsafe
11288modules. In order to make as many as possible modules ``safe'', the
11289well-known unsafe functions were moved to distinguished modules. This
11290makes it hard to write packages that work with both old and new versions
11291of GHC. This package provides a single module System.Unsafe that
11292exports the unsafe functions from the base package. It provides them in
11293a style ready for qualification, that is, you should import them by
11294@code{import qualified System.Unsafe as Unsafe}.")
11295 (license license:bsd-3)))
11296
dddbc90c
RV
11297(define-public ghc-uri-bytestring
11298 (package
11299 (name "ghc-uri-bytestring")
d35ffd39 11300 (version "0.3.2.2")
dddbc90c
RV
11301 (source
11302 (origin
11303 (method url-fetch)
11304 (uri (string-append "https://hackage.haskell.org/package/"
11305 "uri-bytestring-" version "/"
11306 "uri-bytestring-" version ".tar.gz"))
11307 (sha256
11308 (base32
d35ffd39 11309 "0spzv3mwlpxiamd7347sxwcy2xri16ak1y7p1v4fisnvq4jprm67"))))
dddbc90c
RV
11310 (build-system haskell-build-system)
11311 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
dddbc90c
RV
11312 ("ghc-blaze-builder" ,ghc-blaze-builder)
11313 ("ghc-th-lift-instances" ,ghc-th-lift-instances)))
d35ffd39 11314 (native-inputs `(("ghc-hunit" ,ghc-hunit)
dddbc90c
RV
11315 ("ghc-tasty" ,ghc-tasty)
11316 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
d35ffd39
TS
11317 ("ghc-hedgehog" ,ghc-hedgehog)
11318 ("ghc-tasty-hedgehog" ,ghc-tasty-hedgehog)
dddbc90c 11319 ("ghc-base-compat" ,ghc-base-compat)
dddbc90c 11320 ("ghc-semigroups" ,ghc-semigroups)
d35ffd39 11321 ("ghc-safe" ,ghc-safe)))
dddbc90c
RV
11322 (home-page "https://github.com/Soostone/uri-bytestring")
11323 (synopsis "Haskell URI parsing as ByteStrings")
11324 (description "This Haskell package aims to be an RFC3986 compliant URI
11325parser that uses ByteStrings for parsing and representing the URI data.")
11326 (license license:bsd-3)))
11327
11328(define-public ghc-utf8-string
11329 (package
11330 (name "ghc-utf8-string")
11331 (version "1.0.1.1")
11332 (source
11333 (origin
11334 (method url-fetch)
11335 (uri (string-append
11336 "https://hackage.haskell.org/package/utf8-string/utf8-string-"
11337 version
11338 ".tar.gz"))
11339 (sha256
11340 (base32 "0h7imvxkahiy8pzr8cpsimifdfvv18lizrb33k6mnq70rcx9w2zv"))))
11341 (build-system haskell-build-system)
11342 (arguments
11343 `(#:cabal-revision
11344 ("3" "02vhj5gykkqa2dyn7s6gn8is1b5fdn9xcqqvlls268g7cpv6rk38")))
11345 (home-page "https://github.com/glguy/utf8-string/")
11346 (synopsis "Support for reading and writing UTF8 Strings")
11347 (description
11348 "A UTF8 layer for Strings. The utf8-string package provides operations
11349for encoding UTF8 strings to Word8 lists and back, and for reading and writing
11350UTF8 without truncation.")
11351 (license license:bsd-3)))
11352
11353(define-public ghc-utility-ht
11354 (package
11355 (name "ghc-utility-ht")
11356 (version "0.0.14")
11357 (home-page "https://hackage.haskell.org/package/utility-ht")
11358 (source
11359 (origin
11360 (method url-fetch)
11361 (uri (string-append home-page "/utility-ht-" version ".tar.gz"))
11362 (sha256
11363 (base32 "1a7bgk7wv7sqbxbiv7kankiimr3wij7zdm7s83zwsf886ghyxhk9"))))
11364 (build-system haskell-build-system)
11365 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
11366 (synopsis "Haskell helper functions for Lists, Maybes, Tuples, Functions")
11367 (description "This package includes Hakell modules providing various
11368helper functions for Lists, Maybes, Tuples, Functions.")
11369 (license license:bsd-3)))
11370
11371(define-public ghc-uuid
11372 (package
11373 (name "ghc-uuid")
11374 (version "1.3.13")
11375 (source
11376 (origin
11377 (method url-fetch)
11378 (uri (string-append "https://hackage.haskell.org/package/"
11379 "uuid-" version "/"
11380 "uuid-" version ".tar.gz"))
11381 (sha256
11382 (base32
11383 "09xhk42yhxvqmka0iqrv3338asncz8cap3j0ic0ps896f2581b6z"))))
11384 (build-system haskell-build-system)
11385 (arguments
11386 `(#:cabal-revision
11387 ("2" "0m185q62jkfb5jsv358nxbnrkv8y8hd0qqvgvh22wvc5g9ipz0r9")
11388 #:phases
11389 (modify-phases %standard-phases
11390 (add-before 'configure 'strip-test-framework-constraints
11391 (lambda _
11392 (substitute* "uuid.cabal"
11393 (("HUnit >= 1\\.2 && < 1\\.4") "HUnit")
11394 (("QuickCheck >= 2\\.4 && < 2\\.10") "QuickCheck")
11395 (("tasty >= 0\\.10 && < 0\\.12") "tasty")
11396 (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
11397 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
11398 (inputs `(("ghc-cryptohash-sha1" ,ghc-cryptohash-sha1)
11399 ("ghc-cryptohash-md5" ,ghc-cryptohash-md5)
11400 ("ghc-entropy" ,ghc-entropy)
11401 ("ghc-network-info" ,ghc-network-info)
11402 ("ghc-random" ,ghc-random)
11403 ("ghc-uuid-types" ,ghc-uuid-types)))
11404 (native-inputs `(("ghc-hunit" ,ghc-hunit)
11405 ("ghc-quickcheck" ,ghc-quickcheck)
11406 ("ghc-tasty" ,ghc-tasty)
11407 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11408 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11409 (home-page "https://github.com/hvr/uuid")
11410 (synopsis "Haskell library to create, compare, parse, and print UUIDs")
11411 (description "This Haskell library provides utilities creating, comparing,
11412parsing and printing @dfn{Universally Unique Identifiers} or UUIDs.")
11413 (license license:bsd-3)))
11414
11415(define-public ghc-uuid-types
11416 (package
11417 (name "ghc-uuid-types")
11418 (version "1.0.3")
11419 (source
11420 (origin
11421 (method url-fetch)
11422 (uri (string-append "https://hackage.haskell.org/package/"
11423 "uuid-types-" version "/"
11424 "uuid-types-" version ".tar.gz"))
11425 (sha256
11426 (base32
11427 "1zdka5jnm1h6k36w3nr647yf3b5lqb336g3fkprhd6san9x52xlj"))))
11428 (build-system haskell-build-system)
11429 (arguments
11430 `(#:phases
11431 (modify-phases %standard-phases
11432 (add-before 'configure 'strip-test-framework-constraints
11433 (lambda _
11434 (substitute* "uuid-types.cabal"
11435 (("HUnit >=1\\.2 && < 1\\.4") "HUnit")
11436 (("QuickCheck >=2\\.4 && < 2\\.9") "QuickCheck")
11437 (("tasty >= 0\\.10 && < 0\\.12") "tasty")
11438 (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
11439 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
11440 (inputs `(("ghc-hashable" ,ghc-hashable)
11441 ("ghc-random" ,ghc-random)))
11442 (native-inputs `(("ghc-hunit" ,ghc-hunit)
11443 ("ghc-quickcheck" ,ghc-quickcheck)
11444 ("ghc-tasty" ,ghc-tasty)
11445 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11446 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11447 (home-page "https://github.com/hvr/uuid")
11448 (synopsis "Haskell type definitions for UUIDs")
11449 (description "This Haskell library contains type definitions for
11450@dfn{Universally Unique Identifiers} or
11451@uref{https://en.wikipedia.org/wiki/UUID, UUIDs}, and basic conversion
11452functions.")
11453 (license license:bsd-3)))
11454
11455(define-public ghc-validation
11456 (package
11457 (name "ghc-validation")
11458 (version "1")
11459 (source
11460 (origin
11461 (method url-fetch)
11462 (uri (string-append
11463 "mirror://hackage/package/validation/validation-"
11464 version
11465 ".tar.gz"))
11466 (sha256
11467 (base32
11468 "08drmdvyzg2frbb26icy1mlz52xv0l6gi3v8gb7xp0vrcci5libh"))))
11469 (build-system haskell-build-system)
11470 (arguments
11471 `(#:cabal-revision
11472 ("1" "1x1g4nannz81j1h64l1m3ancc96zc57d1bjhj1wk7bwn1xxbi5h3")))
11473 (inputs
11474 `(("ghc-semigroups" ,ghc-semigroups)
11475 ("ghc-semigroupoids" ,ghc-semigroupoids)
11476 ("ghc-bifunctors" ,ghc-bifunctors)
11477 ("ghc-lens" ,ghc-lens)))
11478 (native-inputs
11479 `(("ghc-hedgehog" ,ghc-hedgehog)
11480 ("ghc-hunit" ,ghc-hunit)))
11481 (home-page "https://github.com/qfpl/validation")
11482 (synopsis
11483 "Data-type like Either but with an accumulating Applicative")
11484 (description
11485 "A data-type like Either but with differing properties and type-class
11486instances.
11487
11488Library support is provided for this different representation, including
11489@code{lens}-related functions for converting between each and abstracting over
11490their similarities.
11491
11492The @code{Validation} data type is isomorphic to @code{Either}, but has an
11493instance of @code{Applicative} that accumulates on the error side. That is to
11494say, if two (or more) errors are encountered, they are appended using a
11495@{Semigroup} operation.
11496
11497As a consequence of this @code{Applicative} instance, there is no
11498corresponding @code{Bind} or @code{Monad} instance. @code{Validation} is an
11499example of, \"An applicative functor that is not a monad.\"")
11500 (license license:bsd-3)))
11501
11502(define-public ghc-validity
11503 (package
11504 (name "ghc-validity")
3f1ba75d 11505 (version "0.9.0.2")
dddbc90c
RV
11506 (source
11507 (origin
11508 (method url-fetch)
11509 (uri (string-append
11510 "https://hackage.haskell.org/package/validity/validity-"
11511 version
11512 ".tar.gz"))
11513 (sha256
11514 (base32
3f1ba75d 11515 "1aa93lp1pqwv7vhx19nazlig8qhbp3psblbz360s5lii3s5rli2v"))))
dddbc90c
RV
11516 (build-system haskell-build-system)
11517 (native-inputs `(("ghc-hspec" ,ghc-hspec)
11518 ("hspec-discover" ,hspec-discover)))
11519 (home-page
11520 "https://github.com/NorfairKing/validity")
11521 (synopsis "Validity typeclass")
11522 (description
11523 "Values of custom types usually have invariants imposed upon them. This
11524package provides the @code{Validity} type class, which makes these invariants
11525explicit by providing a function to check whether the invariants hold.")
11526 (license license:expat)))
11527
11528(define-public ghc-vault
11529 (package
11530 (name "ghc-vault")
b40a436e 11531 (version "0.3.1.3")
dddbc90c
RV
11532 (source
11533 (origin
11534 (method url-fetch)
11535 (uri (string-append
11536 "https://hackage.haskell.org/package/vault/vault-"
11537 version
11538 ".tar.gz"))
11539 (sha256
11540 (base32
b40a436e 11541 "0vdm472vn734xa27jjm2mjacl37mxiqaaahvm4hzqjgyh4cqq377"))))
dddbc90c
RV
11542 (build-system haskell-build-system)
11543 (inputs
11544 `(("ghc-unordered-containers" ,ghc-unordered-containers)
11545 ("ghc-hashable" ,ghc-hashable)
b40a436e 11546 ("ghc-semigroups" ,ghc-semigroups)))
dddbc90c
RV
11547 (home-page
11548 "https://github.com/HeinrichApfelmus/vault")
11549 (synopsis "Persistent store for arbitrary values")
11550 (description "This package provides vaults for Haskell. A vault is a
11551persistent store for values of arbitrary types. It's like having first-class
11552access to the storage space behind @code{IORefs}. The data structure is
11553analogous to a bank vault, where you can access different bank boxes with
11554different keys; hence the name. Also provided is a @code{locker} type,
11555representing a store for a single element.")
11556 (license license:bsd-3)))
11557
11558(define-public ghc-vector
11559 (package
11560 (name "ghc-vector")
3ad67f6b 11561 (version "0.12.0.3")
dddbc90c
RV
11562 (outputs '("out" "doc"))
11563 (source
11564 (origin
11565 (method url-fetch)
11566 (uri (string-append
11567 "https://hackage.haskell.org/package/vector/vector-"
11568 version
11569 ".tar.gz"))
11570 (sha256
11571 (base32
3ad67f6b 11572 "1a756s4w759ji3als5alfxwlckh5zcmykfg9rll4mlr2knzvz8mq"))))
dddbc90c
RV
11573 (build-system haskell-build-system)
11574 ;; FIXME: To simplify upgrading all Haskell packages, we leave the tests
11575 ;; disabled for now.
11576 (arguments
3ad67f6b 11577 `(#:tests? #f))
dddbc90c
RV
11578 (inputs
11579 `(("ghc-primitive" ,ghc-primitive)
11580 ("ghc-random" ,ghc-random)
11581 ("ghc-quickcheck" ,ghc-quickcheck)
11582 ;; ("ghc-hunit" ,ghc-hunit)
11583 ;; ("ghc-test-framework" ,ghc-test-framework)
11584 ;; ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
11585 ;; ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
11586 ))
11587 (home-page "https://github.com/haskell/vector")
11588 (synopsis "Efficient Arrays")
11589 (description "This library provides an efficient implementation of
11590Int-indexed arrays (both mutable and immutable), with a powerful loop
11591optimisation framework.")
11592 (license license:bsd-3)))
11593
11594(define-public ghc-vector-algorithms
11595 (package
11596 (name "ghc-vector-algorithms")
e71f316f 11597 (version "0.8.0.1")
dddbc90c
RV
11598 (source
11599 (origin
11600 (method url-fetch)
11601 (uri (string-append "https://hackage.haskell.org/package/"
11602 "vector-algorithms-" version "/"
11603 "vector-algorithms-" version ".tar.gz"))
11604 (sha256
11605 (base32
e71f316f 11606 "1zip8r7hh5g12xrjvhbg38z6hfxy7l6h6pl88qcqc0ygdmwdxg0m"))))
dddbc90c
RV
11607 (build-system haskell-build-system)
11608 (inputs
11609 `(("ghc-vector" ,ghc-vector)))
11610 (native-inputs
11611 `(("ghc-quickcheck" ,ghc-quickcheck)))
11612 (home-page "https://github.com/bos/math-functions")
11613 (synopsis "Algorithms for vector arrays in Haskell")
11614 (description "This Haskell library algorithms for vector arrays.")
11615 (license license:bsd-3)))
11616
11617(define-public ghc-vector-binary-instances
11618 (package
11619 (name "ghc-vector-binary-instances")
ca0701ef 11620 (version "0.2.5.1")
dddbc90c
RV
11621 (source
11622 (origin
11623 (method url-fetch)
11624 (uri (string-append
11625 "https://hackage.haskell.org/package/"
11626 "vector-binary-instances/vector-binary-instances-"
11627 version ".tar.gz"))
11628 (sha256
11629 (base32
ca0701ef 11630 "04n5cqm1v95pw1bp68l9drjkxqiy2vswxdq0fy1rqcgxisgvji9r"))))
dddbc90c 11631 (build-system haskell-build-system)
dddbc90c
RV
11632 (inputs
11633 `(("ghc-vector" ,ghc-vector)))
11634 (native-inputs
11635 `(("ghc-tasty" ,ghc-tasty)
11636 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11637 (home-page "https://github.com/bos/vector-binary-instances")
11638 (synopsis "Instances of Data.Binary and Data.Serialize for vector")
11639 (description "This library provides instances of @code{Binary} for the
11640types defined in the @code{vector} package, making it easy to serialize
11641vectors to and from disk. We use the generic interface to vectors, so all
11642vector types are supported. Specific instances are provided for unboxed,
11643boxed and storable vectors.")
11644 (license license:bsd-3)))
11645
11646(define-public ghc-vector-builder
11647 (package
11648 (name "ghc-vector-builder")
1fc05441 11649 (version "0.3.8")
dddbc90c
RV
11650 (source
11651 (origin
11652 (method url-fetch)
11653 (uri (string-append "https://hackage.haskell.org/package/"
11654 "vector-builder-" version "/"
11655 "vector-builder-" version ".tar.gz"))
11656 (sha256
11657 (base32
1fc05441 11658 "0ww0l52p8s6gmh985adnjbvm1vrqpqbm08qdcrvxwhhcqmxgv6m3"))))
dddbc90c
RV
11659 (build-system haskell-build-system)
11660 (inputs `(("ghc-vector" ,ghc-vector)
11661 ("ghc-semigroups" ,ghc-semigroups)
11662 ("ghc-base-prelude" ,ghc-base-prelude)))
11663 (native-inputs `(("ghc-attoparsec" ,ghc-attoparsec)
11664 ("ghc-tasty" ,ghc-tasty)
11665 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11666 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
11667 ("ghc-hunit" ,ghc-hunit)
11668 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
11669 ("ghc-rerebase" ,ghc-rerebase)))
11670 (home-page "https://github.com/nikita-volkov/vector-builder")
11671 (synopsis "Vector builder for Haskell")
11672 (description "This Haskell package provides an API for constructing vectors.
11673It provides the composable @code{Builder} abstraction, which has instances of the
11674@code{Monoid} and @code{Semigroup} classes.
11675
11676You would first use the @code{Builder} abstraction to specify the structure of
11677the vector; then you can execute the builder to actually produce the
11678vector. ")
11679 (license license:expat)))
11680
11681(define-public ghc-vector-th-unbox
11682 (package
11683 (name "ghc-vector-th-unbox")
63056e61 11684 (version "0.2.1.7")
dddbc90c
RV
11685 (source
11686 (origin
11687 (method url-fetch)
11688 (uri (string-append "https://hackage.haskell.org/package/"
11689 "vector-th-unbox-" version "/"
11690 "vector-th-unbox-" version ".tar.gz"))
11691 (sha256
11692 (base32
63056e61 11693 "0q8dqnbv1c2gi7jjdhqj14abj1vik23ki6lq4iz2sz18yc7q69fi"))))
dddbc90c
RV
11694 (build-system haskell-build-system)
11695 (inputs
11696 `(("ghc-vector" ,ghc-vector)
11697 ("ghc-data-default" ,ghc-data-default)))
11698 (home-page "https://github.com/liyang/vector-th-unbox")
11699 (synopsis "Deriver for Data.Vector.Unboxed using Template Haskell")
11700 (description "This Haskell library provides a Template Haskell
11701deriver for unboxed vectors, given a pair of coercion functions to
11702and from some existing type with an Unbox instance.")
11703 (license license:bsd-3)))
11704
11705(define-public ghc-void
11706 (package
11707 (name "ghc-void")
51889121 11708 (version "0.7.3")
dddbc90c
RV
11709 (source
11710 (origin
11711 (method url-fetch)
11712 (uri (string-append
11713 "https://hackage.haskell.org/package/void/void-"
11714 version
11715 ".tar.gz"))
11716 (sha256
11717 (base32
51889121 11718 "05vk3x1r9a2pqnzfji475m5gdih2im1h7rbi2sc67p1pvj6pbbsk"))))
dddbc90c
RV
11719 (build-system haskell-build-system)
11720 (inputs
11721 `(("ghc-semigroups" ,ghc-semigroups)
11722 ("ghc-hashable" ,ghc-hashable)))
11723 (home-page "https://github.com/ekmett/void")
11724 (synopsis
11725 "Logically uninhabited data type")
11726 (description
11727 "A Haskell 98 logically uninhabited data type, used to indicate that a
11728given term should not exist.")
11729 (license license:bsd-3)))
11730
11731(define-public ghc-wave
11732 (package
11733 (name "ghc-wave")
1631a0f7 11734 (version "0.2.0")
dddbc90c
RV
11735 (source (origin
11736 (method url-fetch)
11737 (uri (string-append
11738 "https://hackage.haskell.org/package/wave/wave-"
11739 version
11740 ".tar.gz"))
11741 (sha256
11742 (base32
1631a0f7 11743 "149kgwngq3qxc7gxpkqb16j669j0wpv2f3gnvfwp58yg6m4259ki"))))
dddbc90c
RV
11744 (build-system haskell-build-system)
11745 (arguments
11746 '(#:phases
11747 (modify-phases %standard-phases
11748 (add-before 'configure 'update-constraints
11749 (lambda _
11750 (substitute* "wave.cabal"
11751 (("temporary.* < 1\\.3")
11752 "temporary >= 1.1 && < 1.4")))))))
11753 (inputs
11754 `(("ghc-cereal" ,ghc-cereal)
11755 ("ghc-data-default-class"
11756 ,ghc-data-default-class)
11757 ("ghc-quickcheck" ,ghc-quickcheck)
11758 ("ghc-temporary" ,ghc-temporary)))
11759 (native-inputs
11760 `(("hspec-discover" ,hspec-discover)
11761 ("ghc-hspec" ,ghc-hspec)))
11762 (home-page "https://github.com/mrkkrp/wave")
11763 (synopsis "Work with WAVE and RF64 files in Haskell")
11764 (description "This package allows you to work with WAVE and RF64
11765files in Haskell.")
11766 (license license:bsd-3)))
11767
11768(define-public ghc-wcwidth
11769 (package
11770 (name "ghc-wcwidth")
11771 (version "0.0.2")
11772 (source
11773 (origin
11774 (method url-fetch)
11775 (uri (string-append "https://hackage.haskell.org/package/wcwidth/wcwidth-"
11776 version ".tar.gz"))
11777 (sha256
11778 (base32
11779 "1n1fq7v64b59ajf5g50iqj9sa34wm7s2j3viay0kxpmvlcv8gipz"))))
11780 (build-system haskell-build-system)
11781 (inputs
11782 `(("ghc-setlocale" ,ghc-setlocale)
11783 ("ghc-utf8-string" ,ghc-utf8-string)
11784 ("ghc-attoparsec" ,ghc-attoparsec)))
11785 (home-page "https://github.com/solidsnack/wcwidth/")
11786 (synopsis "Haskell bindings to wcwidth")
11787 (description "This package provides Haskell bindings to your system's
11788native wcwidth and a command line tool to examine the widths assigned by it.
11789The command line tool can compile a width table to Haskell code that assigns
11790widths to the Char type.")
11791 (license license:bsd-3)))
11792
11793(define-public ghc-wcwidth-bootstrap
11794 (package
11795 (inherit ghc-wcwidth)
11796 (name "ghc-wcwidth-bootstrap")
11797 (inputs
11798 `(("ghc-setlocale" ,ghc-setlocale)
11799 ("ghc-utf8-string" ,ghc-utf8-string)
11800 ("ghc-attoparsec" ,ghc-attoparsec-bootstrap)))
799d8d3c 11801 (properties '((hidden? #t)))))
dddbc90c
RV
11802
11803(define-public ghc-weigh
11804 (package
11805 (name "ghc-weigh")
b6d9777f 11806 (version "0.0.14")
dddbc90c
RV
11807 (source
11808 (origin
11809 (method url-fetch)
11810 (uri (string-append "https://hackage.haskell.org/package/weigh/"
11811 "weigh-" version ".tar.gz"))
11812 (sha256
11813 (base32
b6d9777f 11814 "0l85marb5rl9nr1c0id42dnr5i9fk1jciy5h6lywhb34w3hbj61g"))))
dddbc90c
RV
11815 (build-system haskell-build-system)
11816 (inputs
11817 `(("ghc-split" ,ghc-split)
11818 ("ghc-temporary" ,ghc-temporary)))
11819 (home-page "https://github.com/fpco/weigh#readme")
11820 (synopsis "Measure allocations of a Haskell functions/values")
11821 (description "This package provides tools to measure the memory usage of a
11822Haskell value or function.")
11823 (license license:bsd-3)))
11824
11825(define-public ghc-wl-pprint
11826 (package
11827 (name "ghc-wl-pprint")
11828 (version "1.2.1")
11829 (source (origin
11830 (method url-fetch)
11831 (uri (string-append
11832 "https://hackage.haskell.org/package/wl-pprint/wl-pprint-"
11833 version ".tar.gz"))
11834 (sha256
11835 (base32
11836 "0kn7y8pdrv8f87zhd5mifcl8fy3b2zvnzmzwhdqhxxlyzwiq6z0c"))))
11837 (build-system haskell-build-system)
11838 (home-page "https://hackage.haskell.org/package/wl-pprint")
11839 (synopsis "Wadler/Leijen pretty printer")
11840 (description
11841 "This is a pretty printing library based on Wadler's paper @i{A Prettier
11842Printer}. This version allows the library user to declare overlapping
11843instances of the @code{Pretty} class.")
11844 (license license:bsd-3)))
11845
11846(define-public ghc-wl-pprint-annotated
11847 (package
11848 (name "ghc-wl-pprint-annotated")
11849 (version "0.1.0.1")
11850 (source
11851 (origin
11852 (method url-fetch)
11853 (uri (string-append
11854 "mirror://hackage/package/wl-pprint-annotated/wl-pprint-annotated-"
11855 version
11856 ".tar.gz"))
11857 (sha256
11858 (base32
11859 "1br7qyf27iza213inwhf9bm2k6in0zbmfw6w4clqlc9f9cj2nrkb"))))
11860 (build-system haskell-build-system)
11861 (native-inputs
11862 `(("ghc-tasty" ,ghc-tasty)
11863 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
11864 (home-page
11865 "https://github.com/minad/wl-pprint-annotated#readme")
11866 (synopsis
11867 "Wadler/Leijen pretty printer with annotation support")
11868 (description
11869 "Annotations are useful for coloring. This is a limited version of
11870@code{wl-pprint-extras} without support for point effects and without the free
11871monad. Like in @code{annotated-wl-pprint}, only annotations are supported.
11872Compared to @code{annotated-wl-pprint} this library provides a slightly
11873modernized interface.")
11874 (license license:bsd-3)))
11875
11876(define-public ghc-wl-pprint-text
11877 (package
11878 (name "ghc-wl-pprint-text")
11879 (version "1.2.0.0")
11880 (source
11881 (origin
11882 (method url-fetch)
11883 (uri (string-append
11884 "https://hackage.haskell.org/package/wl-pprint-text/wl-pprint-text-"
11885 version ".tar.gz"))
11886 (sha256
11887 (base32
11888 "0g3w92rad6x5appfb22rbzcas2ix2h0hy91sdxhq8a4a5cnlrpa0"))))
11889 (build-system haskell-build-system)
11890 (inputs
11891 `(("ghc-base-compat" ,ghc-base-compat)))
11892 (home-page "https://hackage.haskell.org/package/wl-pprint-text")
11893 (synopsis "Wadler/Leijen Pretty Printer for Text values")
11894 (description
11895 "A clone of wl-pprint for use with the text library.")
11896 (license license:bsd-3)))
11897
11898(define-public ghc-word8
11899 (package
11900 (name "ghc-word8")
11901 (version "0.1.3")
11902 (source
11903 (origin
11904 (method url-fetch)
11905 (uri (string-append
11906 "https://hackage.haskell.org/package/word8/word8-"
11907 version
11908 ".tar.gz"))
11909 (sha256
11910 (base32
11911 "12jx7f13d2h1djq4fh4dyrab61sm49mj1w61j3rzp2vjfm696c16"))))
11912 (build-system haskell-build-system)
11913 (native-inputs
11914 `(("ghc-hspec" ,ghc-hspec)
11915 ("hspec-discover" ,hspec-discover)))
11916 (home-page "https://hackage.haskell.org/package/word8")
11917 (synopsis "Word8 library for Haskell")
11918 (description "Word8 library to be used with @code{Data.ByteString}.")
11919 (license license:bsd-3)))
11920
11921(define-public ghc-x11
11922 (package
11923 (name "ghc-x11")
6c4581a3 11924 (version "1.9.1")
dddbc90c
RV
11925 (source
11926 (origin
11927 (method url-fetch)
11928 (uri (string-append "https://hackage.haskell.org/package/X11/"
11929 "X11-" version ".tar.gz"))
11930 (sha256
6c4581a3 11931 (base32 "0gg6852mrlgl8zng1j84fismz7k81jr5fk92glgkscf8q6ryg0bm"))))
dddbc90c
RV
11932 (build-system haskell-build-system)
11933 (inputs
11934 `(("libx11" ,libx11)
11935 ("libxrandr" ,libxrandr)
11936 ("libxinerama" ,libxinerama)
11937 ("libxscrnsaver" ,libxscrnsaver)
11938 ("ghc-data-default" ,ghc-data-default)))
11939 (home-page "https://github.com/haskell-pkg-janitors/X11")
11940 (synopsis "Bindings to the X11 graphics library")
11941 (description
11942 "This package provides Haskell bindings to the X11 graphics library. The
11943bindings are a direct translation of the C bindings.")
11944 (license license:bsd-3)))
11945
11946(define-public ghc-x11-xft
11947 (package
11948 (name "ghc-x11-xft")
11949 (version "0.3.1")
11950 (source
11951 (origin
11952 (method url-fetch)
11953 (uri (string-append "https://hackage.haskell.org/package/X11-xft/"
11954 "X11-xft-" version ".tar.gz"))
11955 (sha256
11956 (base32 "1lgqb0s2qfwwgbvwxhjbi23rbwamzdi0l0slfr20c3jpcbp3zfjf"))))
11957 (inputs
11958 `(("ghc-x11" ,ghc-x11)
11959 ("ghc-utf8-string" ,ghc-utf8-string)
11960 ("libx11" ,libx11)
11961 ("libxft" ,libxft)
11962 ("xorgproto" ,xorgproto)))
11963 (native-inputs
11964 `(("pkg-config" ,pkg-config)))
11965 (build-system haskell-build-system)
11966 (home-page "https://hackage.haskell.org/package/X11-xft")
11967 (synopsis "Bindings to Xft")
11968 (description
11969 "Bindings to the Xft, X Free Type interface library, and some Xrender
11970parts.")
11971 (license license:lgpl2.1)))
11972
11973(define-public ghc-xdg-basedir
11974 (package
11975 (name "ghc-xdg-basedir")
11976 (version "0.2.2")
11977 (source
11978 (origin
11979 (method url-fetch)
11980 (uri (string-append
11981 "https://hackage.haskell.org/package/xdg-basedir/"
11982 "xdg-basedir-" version ".tar.gz"))
11983 (sha256
11984 (base32
11985 "0azlzaxp2dn4l1nr7shsxah2magk1szf6fx0mv75az00qsjw6qg4"))))
11986 (build-system haskell-build-system)
11987 (home-page "http://github.com/willdonnelly/xdg-basedir")
11988 (synopsis "XDG Base Directory library for Haskell")
11989 (description "This package provides a library implementing the XDG Base Directory spec.")
11990 (license license:bsd-3)))
11991
11992(define-public ghc-xml
11993 (package
11994 (name "ghc-xml")
11995 (version "1.3.14")
11996 (source
11997 (origin
11998 (method url-fetch)
11999 (uri (string-append
12000 "https://hackage.haskell.org/package/xml/xml-"
12001 version
12002 ".tar.gz"))
12003 (sha256
12004 (base32
12005 "0g814lj7vaxvib2g3r734221k80k7ap9czv9hinifn8syals3l9j"))))
12006 (build-system haskell-build-system)
12007 (home-page "http://code.galois.com")
12008 (synopsis "Simple XML library for Haskell")
12009 (description "This package provides a simple XML library for Haskell.")
12010 (license license:bsd-3)))
12011
12012(define-public ghc-xml-conduit
12013 (package
12014 (name "ghc-xml-conduit")
12015 (version "1.8.0.1")
12016 (source
12017 (origin
12018 (method url-fetch)
12019 (uri (string-append "https://hackage.haskell.org/package/xml-conduit/"
12020 "xml-conduit-" version ".tar.gz"))
12021 (sha256
12022 (base32
12023 "177gmyigxql1pn3ncz0r8annwv5cbxnihbgrrg1dhm4gmc9jy2wq"))))
12024 (build-system haskell-build-system)
12025 (inputs
12026 `(("ghc-conduit" ,ghc-conduit)
12027 ("ghc-conduit-extra" ,ghc-conduit-extra)
12028 ("ghc-doctest" ,ghc-doctest)
12029 ("ghc-resourcet" ,ghc-resourcet)
12030 ("ghc-xml-types" ,ghc-xml-types)
12031 ("ghc-attoparsec" ,ghc-attoparsec)
12032 ("ghc-data-default-class" ,ghc-data-default-class)
12033 ("ghc-blaze-markup" ,ghc-blaze-markup)
12034 ("ghc-blaze-html" ,ghc-blaze-html)
12035 ("ghc-monad-control" ,ghc-monad-control)
12036 ("ghc-hspec" ,ghc-hspec)
12037 ("ghc-hunit" ,ghc-hunit)))
12038 (home-page "https://github.com/snoyberg/xml")
12039 (synopsis "Utilities for dealing with XML with the conduit package")
12040 (description
12041 "This package provides pure-Haskell utilities for dealing with XML with
12042the @code{conduit} package.")
12043 (license license:expat)))
12044
12045(define-public ghc-xml-types
12046 (package
12047 (name "ghc-xml-types")
12048 (version "0.3.6")
12049 (source
12050 (origin
12051 (method url-fetch)
12052 (uri (string-append "https://hackage.haskell.org/package/xml-types/"
12053 "xml-types-" version ".tar.gz"))
12054 (sha256
12055 (base32
12056 "1jgqxsa9p2q3h6nymbfmvhldqrqlwrhrzmwadlyc0li50x0d8dwr"))))
12057 (build-system haskell-build-system)
12058 (home-page "https://john-millikin.com/software/haskell-xml/")
12059 (synopsis "Basic types for representing XML")
12060 (description "This package provides basic types for representing XML
12061documents.")
12062 (license license:expat)))
12063
12064(define-public ghc-yaml
12065 (package
12066 (name "ghc-yaml")
b58e5b84 12067 (version "0.11.1.2")
dddbc90c
RV
12068 (source (origin
12069 (method url-fetch)
12070 (uri (string-append "https://hackage.haskell.org/package/"
12071 "yaml/yaml-" version ".tar.gz"))
12072 (sha256
12073 (base32
b58e5b84 12074 "028pz77n92l6kjgjv263h4b6yhw1iibdbf3a3dkn5qnz537xpzhc"))))
dddbc90c 12075 (build-system haskell-build-system)
dddbc90c
RV
12076 (inputs
12077 `(("ghc-conduit" ,ghc-conduit)
12078 ("ghc-resourcet" ,ghc-resourcet)
12079 ("ghc-aeson" ,ghc-aeson)
12080 ("ghc-unordered-containers" ,ghc-unordered-containers)
12081 ("ghc-vector" ,ghc-vector)
12082 ("ghc-attoparsec" ,ghc-attoparsec)
12083 ("ghc-scientific" ,ghc-scientific)
12084 ("ghc-semigroups" ,ghc-semigroups)
12085 ("ghc-temporary" ,ghc-temporary)
12086 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
b58e5b84
TS
12087 ("ghc-base-compat" ,ghc-base-compat)
12088 ("ghc-libyaml" ,ghc-libyaml)))
dddbc90c
RV
12089 (native-inputs
12090 `(("ghc-hspec" ,ghc-hspec)
12091 ("ghc-hunit" ,ghc-hunit)
12092 ("hspec-discover" ,hspec-discover)
b58e5b84
TS
12093 ("ghc-mockery" ,ghc-mockery)
12094 ("ghc-raw-strings-qq" ,ghc-raw-strings-qq)))
dddbc90c
RV
12095 (home-page "https://github.com/snoyberg/yaml/")
12096 (synopsis "Parsing and rendering YAML documents")
12097 (description
12098 "This package provides a library to parse and render YAML documents.")
12099 (license license:bsd-3)))
12100
12101(define-public ghc-zip-archive
12102 (package
12103 (name "ghc-zip-archive")
93c1fdd3 12104 (version "0.4.1")
dddbc90c
RV
12105 (source
12106 (origin
12107 (method url-fetch)
12108 (uri (string-append
12109 "https://hackage.haskell.org/package/zip-archive/zip-archive-"
12110 version
12111 ".tar.gz"))
12112 (sha256
12113 (base32
93c1fdd3 12114 "1cdix5mnxrbs7b2kivhdydhfzgxidd9dqlw71mdw5p21cabwkmf5"))))
dddbc90c 12115 (build-system haskell-build-system)
93c1fdd3
TS
12116 (arguments
12117 `(#:phases
12118 (modify-phases %standard-phases
12119 (add-before 'check 'set-PATH-for-tests
12120 (lambda* (#:key inputs #:allow-other-keys)
12121 (let ((unzip (assoc-ref inputs "unzip"))
12122 (which (assoc-ref inputs "which"))
12123 (path (getenv "PATH")))
12124 (setenv "PATH" (string-append unzip "/bin:" which "/bin:" path))
12125 #t))))))
dddbc90c
RV
12126 (inputs
12127 `(("ghc-digest" ,ghc-digest)
12128 ("ghc-temporary" ,ghc-temporary)
12129 ("ghc-zlib" ,ghc-zlib)))
12130 (native-inputs
12131 `(("ghc-hunit" ,ghc-hunit)
93c1fdd3
TS
12132 ("unzip" ,unzip)
12133 ("which" ,which)))
dddbc90c
RV
12134 (home-page "https://hackage.haskell.org/package/zip-archive")
12135 (synopsis "Zip archive library for Haskell")
12136 (description "The zip-archive library provides functions for creating,
12137modifying, and extracting files from zip archives in Haskell.")
12138 (license license:bsd-3)))
12139
12140(define-public ghc-zlib
12141 (package
12142 (name "ghc-zlib")
bf12089a 12143 (version "0.6.2.1")
dddbc90c
RV
12144 (outputs '("out" "doc"))
12145 (source
12146 (origin
12147 (method url-fetch)
12148 (uri (string-append
12149 "https://hackage.haskell.org/package/zlib/zlib-"
12150 version
12151 ".tar.gz"))
12152 (sha256
12153 (base32
bf12089a 12154 "1l11jraslcrp9d4wnhwfyhwk4fsiq1aq8i6vj81vcq1m2zzi1y7h"))))
dddbc90c
RV
12155 (build-system haskell-build-system)
12156 (arguments
12157 `(#:phases
12158 (modify-phases %standard-phases
12159 (add-before 'configure 'strip-test-framework-constraints
12160 (lambda _
12161 (substitute* "zlib.cabal"
12162 (("tasty >= 0\\.8 && < 0\\.12") "tasty")
12163 (("tasty-hunit >= 0\\.8 && < 0\\.10") "tasty-hunit")
12164 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
12165 (inputs `(("zlib" ,zlib)))
12166 (native-inputs
12167 `(("ghc-quickcheck" ,ghc-quickcheck)
12168 ("ghc-tasty" ,ghc-tasty)
12169 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
12170 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
12171 (home-page "https://hackage.haskell.org/package/zlib")
12172 (synopsis
12173 "Compression and decompression in the gzip and zlib formats")
12174 (description
12175 "This package provides a pure interface for compressing and decompressing
12176streams of data represented as lazy @code{ByteString}s. It uses the zlib C
12177library so it has high performance. It supports the @code{zlib}, @code{gzip}
12178and @code{raw} compression formats. It provides a convenient high level API
12179suitable for most tasks and for the few cases where more control is needed it
12180provides access to the full zlib feature set.")
bbf8bf31 12181 (license license:bsd-3)))
14e41996
RV
12182
12183(define-public ghc-zlib-bindings
12184 (package
12185 (name "ghc-zlib-bindings")
12186 (version "0.1.1.5")
12187 (source
12188 (origin
12189 (method url-fetch)
12190 (uri (string-append "https://hackage.haskell.org/package/"
12191 "zlib-bindings/zlib-bindings-" version ".tar.gz"))
12192 (sha256
12193 (base32
12194 "02ciywlz4wdlymgc3jsnicz9kzvymjw1www2163gxidnz4wb8fy8"))))
12195 (build-system haskell-build-system)
12196 (inputs
12197 `(("ghc-zlib" ,ghc-zlib)))
12198 (native-inputs
12199 `(("ghc-hspec" ,ghc-hspec)
12200 ("ghc-quickcheck" ,ghc-quickcheck)))
12201 (arguments
12202 `(#:cabal-revision
12203 ("2" "0fq49694gqkab8m0vq4i879blswczwd66n7xh4r4gwiahf0ryvqc")))
12204 (home-page "https://github.com/snapframework/zlib-bindings")
12205 (synopsis "Low-level bindings to the @code{zlib} package")
12206 (description "This package provides low-level bindings to the
12207@code{zlib} package.")
12208 (license license:bsd-3)))