gnu: ghc-microlens-aeson: Patch tests for i686-linux.
[jackhill/guix/guix.git] / gnu / packages / haskell-xyz.scm
1 ;;; GNU Guix --- Functional package management for GNU
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>
8 ;;; Copyright © 2016, 2019 Efraim Flashner <efraim@flashner.co.il>
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>
20 ;;; Copyright © 2019 Robert Vollmert <rob@vllmrt.net>
21 ;;; Copyright © 2019 Jacob MacDonald <jaccarmac@gmail.com>
22 ;;; Copyright © 2019 John Soo <jsoo1@asu.edu>
23 ;;; Copyright © 2019 Kyle Meyer <kyle@kyleam.com>
24 ;;; Copyright © 2019 Alex Griffin <a@ajgrf.com>
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)
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)
51 #:use-module (gnu packages haskell-check)
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)
58 #:use-module (gnu packages ncurses)
59 #:use-module (gnu packages pcre)
60 #:use-module (gnu packages pkg-config)
61 #:use-module (gnu packages sdl)
62 #:use-module (gnu packages web)
63 #:use-module (gnu packages xml)
64 #:use-module (gnu packages xorg)
65 #:use-module (guix build-system haskell)
66 #:use-module (guix download)
67 #:use-module (guix git-download)
68 #:use-module (guix utils)
69 #:use-module ((guix licenses) #:prefix license:)
70 #:use-module (guix packages))
71
72 (define-public ghc-abstract-deque
73 (package
74 (name "ghc-abstract-deque")
75 (version "0.3")
76 (source
77 (origin
78 (method url-fetch)
79 (uri (string-append "https://hackage.haskell.org/package/"
80 "abstract-deque-" version "/"
81 "abstract-deque-" version ".tar.gz"))
82 (sha256
83 (base32
84 "18jwswjxwzc9bjiy4ds6hw2a74ki797jmfcifxd2ga4kh7ri1ah9"))))
85 (build-system haskell-build-system)
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
90 highly-parameterizable queues/deques.
91
92 Background: There exists a feature space for queues that extends between:
93
94 @itemize
95 @item Simple, single-ended, non-concurrent, bounded queues
96
97 @item Double-ended, thread-safe, growable queues with important points
98 in between (such as the queues used for work stealing).
99 @end itemize
100
101 This package includes an interface for Deques that allows the programmer
102 to use a single API for all of the above, while using the type system to
103 select an efficient implementation given the requirements (using type families).
104
105 This package also includes a simple reference implementation based on
106 @code{IORef} and @code{Data.Sequence}.")
107 (license license:bsd-3)))
108
109 (define-public ghc-abstract-par
110 (package
111 (name "ghc-abstract-par")
112 (version "0.3.3")
113 (source
114 (origin
115 (method url-fetch)
116 (uri (string-append "https://hackage.haskell.org/package/"
117 "abstract-par-" version "/"
118 "abstract-par-" version ".tar.gz"))
119 (sha256
120 (base32
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
126 only. It provides a number of type clasess, but not an
127 implementation. The type classes separate different levels
128 of @code{Par} functionality. See the @code{Control.Monad.Par.Class}
129 module 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"))))
146 (build-system haskell-build-system)
147 (arguments
148 `(#:cabal-revision
149 ("2" "1yfsjx7dqikg3hvld7i91xfsg5lawmr5980lvfd794sybmgxsf17")))
150 (inputs
151 `(("ghc-profunctors" ,ghc-profunctors)
152 ("ghc-comonad" ,ghc-comonad)
153 ("ghc-contravariant" ,ghc-contravariant)
154 ("ghc-distributive" ,ghc-distributive)
155 ("ghc-free" ,ghc-free)
156 ("ghc-tagged" ,ghc-tagged)
157 ("ghc-semigroupoids" ,ghc-semigroupoids)
158 ("ghc-semigroups" ,ghc-semigroups)
159 ("ghc-transformers-compat" ,ghc-transformers-compat)
160 ("ghc-void" ,ghc-void)))
161 (native-inputs
162 `(("ghc-generic-deriving" ,ghc-generic-deriving)
163 ("ghc-hspec" ,ghc-hspec)
164 ("hspec-discover" ,hspec-discover)))
165 (home-page "https://github.com/ekmett/adjunctions/")
166 (synopsis "Adjunctions and representable functors")
167 (description "This library provides adjunctions and representable functors
168 for Haskell.")
169 (license license:bsd-3)))
170
171 (define-public ghc-aeson-compat
172 (package
173 (name "ghc-aeson-compat")
174 (version "0.3.9")
175 (source
176 (origin
177 (method url-fetch)
178 (uri (string-append "https://hackage.haskell.org/package/"
179 "aeson-compat-" version "/"
180 "aeson-compat-" version ".tar.gz"))
181 (sha256
182 (base32
183 "1j13gykv4ryvmr14w5blz0nnpdb4p0hpa27wahw3mhb1lwdr8hz0"))))
184 (build-system haskell-build-system)
185 (arguments `(#:tests? #f)) ; FIXME: Tests require QuickCheck >= 2.10
186 (inputs `(("ghc-base-compat" ,ghc-base-compat)
187 ("ghc-aeson" ,ghc-aeson)
188 ("ghc-attoparsec" ,ghc-attoparsec)
189 ("ghc-attoparsec" ,ghc-attoparsec-iso8601)
190 ("ghc-exceptions" ,ghc-exceptions)
191 ("ghc-hashable" ,ghc-hashable)
192 ("ghc-scientific" ,ghc-scientific)
193 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
194 ("ghc-unordered-containers" ,ghc-unordered-containers)
195 ("ghc-vector" ,ghc-vector)
196 ("ghc-tagged" ,ghc-tagged)
197 ("ghc-semigroups" ,ghc-semigroups)
198 ("ghc-nats" ,ghc-nats)))
199 (home-page "https://github.com/phadej/aeson-compat")
200 (synopsis "Compatibility layer for ghc-aeson")
201 (description "This Haskell package provides compatibility layer for
202 ghc-aeson.")
203 (license license:bsd-3)))
204
205 (define-public ghc-aeson-diff
206 (package
207 (name "ghc-aeson-diff")
208 (version "1.1.0.7")
209 (source
210 (origin
211 (method url-fetch)
212 (uri (string-append "https://hackage.haskell.org/package/"
213 "aeson-diff/aeson-diff-" version ".tar.gz"))
214 (sha256
215 (base32
216 "01d48pd7d1mb9cd5yxfajln8rmjdjq8ch91s0lav4qw1azv6vp2r"))))
217 (build-system haskell-build-system)
218 (inputs
219 `(("ghc-aeson" ,ghc-aeson)
220 ("ghc-edit-distance-vector" ,ghc-edit-distance-vector)
221 ("ghc-hashable" ,ghc-hashable)
222 ("ghc-scientific" ,ghc-scientific)
223 ("ghc-unordered-containers" ,ghc-unordered-containers)
224 ("ghc-vector" ,ghc-vector)
225 ("ghc-semigroups" ,ghc-semigroups)
226 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
227 (native-inputs
228 `(("ghc-quickcheck" ,ghc-quickcheck)
229 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
230 ("ghc-glob" ,ghc-glob)
231 ("ghc-quickcheck" ,ghc-quickcheck)
232 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
233 ("ghc-quickcheck" ,ghc-quickcheck)
234 ("ghc-doctest" ,ghc-doctest)
235 ("hlint" ,hlint)))
236 (home-page "https://github.com/thsutton/aeson-diff")
237 (synopsis "Extract and apply patches to JSON documents")
238 (description "This is a small library for working with changes to JSON
239 documents. It includes a library and two command-line executables in the
240 style of the @command{diff} and @command{patch} commands available on many
241 systems.")
242 (license license:bsd-3)))
243
244 (define-public ghc-alex
245 (package
246 (name "ghc-alex")
247 (version "3.2.4")
248 (source
249 (origin
250 (method url-fetch)
251 (uri (string-append
252 "https://hackage.haskell.org/package/alex/alex-"
253 version
254 ".tar.gz"))
255 (sha256
256 (base32
257 "0cpjixgsr0b2x4s6hz4aa6gnmjw9i7xd9nlfi8m37zqlidq4v3nm"))))
258 (build-system haskell-build-system)
259 (arguments
260 `(#:phases
261 (modify-phases %standard-phases
262 (add-before 'check 'set-check-variables
263 (lambda _
264 (setenv "PATH" (string-append (getcwd) "/dist/build/alex:"
265 (getenv "PATH")))
266 (setenv "alex_datadir" (string-append (getcwd) "/data"))
267 #t)))))
268 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
269 (native-inputs
270 `(("which" ,which)))
271 (home-page "https://www.haskell.org/alex/")
272 (synopsis
273 "Tool for generating lexical analysers in Haskell")
274 (description
275 "Alex is a tool for generating lexical analysers in Haskell. It takes a
276 description of tokens based on regular expressions and generates a Haskell
277 module containing code for scanning text efficiently. It is similar to the
278 tool lex or flex for C/C++.")
279 (license license:bsd-3)))
280
281 (define-public ghc-alsa-core
282 (package
283 (name "ghc-alsa-core")
284 (version "0.5.0.1")
285 (source
286 (origin
287 (method url-fetch)
288 (uri (string-append
289 "mirror://hackage/package/alsa-core/alsa-core-"
290 version
291 ".tar.gz"))
292 (sha256
293 (base32
294 "1avh4a419h9d2zsslg6j8hm87ppgsgqafz8ll037rk2yy1g4jl7b"))))
295 (build-system haskell-build-system)
296 (inputs
297 `(("ghc-extensible-exceptions" ,ghc-extensible-exceptions)
298 ("alsa-lib" ,alsa-lib)))
299 (native-inputs
300 `(("pkg-config" ,pkg-config)))
301 (home-page "http://www.haskell.org/haskellwiki/ALSA")
302 (synopsis "Binding to the ALSA Library API (Exceptions)")
303 (description "This package provides access to ALSA infrastructure, that is
304 needed by both alsa-seq and alsa-pcm.")
305 (license license:bsd-3)))
306
307 (define-public ghc-annotated-wl-pprint
308 (package
309 (name "ghc-annotated-wl-pprint")
310 (version "0.7.0")
311 (source
312 (origin
313 (method url-fetch)
314 (uri (string-append
315 "https://hackage.haskell.org/package/annotated-wl-pprint"
316 "/annotated-wl-pprint-" version
317 ".tar.gz"))
318 (sha256
319 (base32
320 "061xfz6qany3wf95csl8dcik2pz22cn8iv1qchhm16isw5zjs9hc"))))
321 (build-system haskell-build-system)
322 (home-page
323 "https://github.com/david-christiansen/annotated-wl-pprint")
324 (synopsis
325 "The Wadler/Leijen Pretty Printer, with annotation support")
326 (description "This is a modified version of wl-pprint, which was based on
327 Wadler's paper \"A Prettier Printer\". This version allows the library user
328 to annotate the text with semantic information, which can later be rendered in
329 a variety of ways.")
330 (license license:bsd-3)))
331
332 (define-public ghc-ansi-terminal
333 (package
334 (name "ghc-ansi-terminal")
335 (version "0.9.1")
336 (source
337 (origin
338 (method url-fetch)
339 (uri (string-append
340 "https://hackage.haskell.org/package/ansi-terminal/ansi-terminal-"
341 version
342 ".tar.gz"))
343 (sha256
344 (base32
345 "1yr0ld0kqns3w3j9gl62bdwshvyazidx4dv1qkvq19ivnf08w23l"))))
346 (build-system haskell-build-system)
347 (inputs
348 `(("ghc-colour" ,ghc-colour)))
349 (home-page "https://github.com/feuerbach/ansi-terminal")
350 (synopsis "ANSI terminal support for Haskell")
351 (description "This package provides ANSI terminal support for Haskell. It
352 allows cursor movement, screen clearing, color output showing or hiding the
353 cursor, and changing the title.")
354 (license license:bsd-3)))
355
356 (define-public ghc-ansi-wl-pprint
357 (package
358 (name "ghc-ansi-wl-pprint")
359 (version "0.6.9")
360 (source
361 (origin
362 (method url-fetch)
363 (uri (string-append "https://hackage.haskell.org/package/"
364 "ansi-wl-pprint/ansi-wl-pprint-"
365 version ".tar.gz"))
366 (sha256
367 (base32
368 "1b2fg8px98dzbaqyns10kvs8kn6cl1hdq5wb9saz40izrpkyicm7"))))
369 (build-system haskell-build-system)
370 (inputs
371 `(("ghc-ansi-terminal" ,ghc-ansi-terminal)))
372 (home-page "https://github.com/ekmett/ansi-wl-pprint")
373 (synopsis "Wadler/Leijen Pretty Printer for colored ANSI terminal output")
374 (description "This is a pretty printing library based on Wadler's paper
375 \"A Prettier Printer\". It has been enhanced with support for ANSI terminal
376 colored output using the ansi-terminal package.")
377 (license license:bsd-3)))
378
379 (define-public ghc-appar
380 (package
381 (name "ghc-appar")
382 (version "0.1.8")
383 (source
384 (origin
385 (method url-fetch)
386 (uri (string-append
387 "https://hackage.haskell.org/package/appar/appar-"
388 version
389 ".tar.gz"))
390 (sha256
391 (base32
392 "07v3h766q9mnhphsm53718h1lds147ix7dj15kc5hnsj4vffvkn4"))))
393 (build-system haskell-build-system)
394 (home-page
395 "https://hackage.haskell.org/package/appar")
396 (synopsis "Simple applicative parser")
397 (description "This package provides a simple applicative parser in Parsec
398 style.")
399 (license license:bsd-3)))
400
401 (define-public ghc-async
402 (package
403 (name "ghc-async")
404 (version "2.2.2")
405 (source
406 (origin
407 (method url-fetch)
408 (uri (string-append
409 "https://hackage.haskell.org/package/async/async-"
410 version
411 ".tar.gz"))
412 (sha256
413 (base32
414 "1zxvfcyy4sg8lmzphi5dgnavksj5pav6rbvd5kc48lf4hanb2jjb"))))
415 (build-system haskell-build-system)
416 (inputs
417 `(("ghc-hashable" ,ghc-hashable)
418 ("ghc-hunit" ,ghc-hunit)
419 ("ghc-test-framework" ,ghc-test-framework)
420 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
421 (home-page "https://github.com/simonmar/async")
422 (synopsis "Library to run IO operations asynchronously")
423 (description "Async provides a library to run IO operations
424 asynchronously, and wait for their results. It is a higher-level interface
425 over threads in Haskell, in which @code{Async a} is a concurrent thread that
426 will eventually deliver a value of type @code{a}.")
427 (license license:bsd-3)))
428
429 (define-public ghc-atomic-primops
430 (package
431 (name "ghc-atomic-primops")
432 (version "0.8.2")
433 (source
434 (origin
435 (method url-fetch)
436 (uri (string-append "https://hackage.haskell.org/package/atomic-primops"
437 "/atomic-primops-" version ".tar.gz"))
438 (sha256
439 (base32
440 "0cyr2x6xqz6s233znrz9rnrfj56m9bmnawwnka0lsqqy1hp8gy37"))))
441 (build-system haskell-build-system)
442 (inputs `(("ghc-primitive" ,ghc-primitive)))
443 (home-page "https://github.com/rrnewton/haskell-lockfree/wiki")
444 (synopsis "Safe approach to CAS and other atomic ops")
445 (description
446 "GHC 7.4 introduced a new @code{casMutVar} PrimOp which is difficult to
447 use safely, because pointer equality is a highly unstable property in Haskell.
448 This library provides a safer method based on the concept of @code{Ticket}s.")
449 (license license:bsd-3)))
450
451 (define-public ghc-atomic-write
452 (package
453 (name "ghc-atomic-write")
454 (version "0.2.0.6")
455 (source
456 (origin
457 (method url-fetch)
458 (uri (string-append
459 "https://hackage.haskell.org/package/atomic-write/atomic-write-"
460 version
461 ".tar.gz"))
462 (sha256
463 (base32
464 "1xs3shwnlj8hmnm3q6jc8nv78z0481i5n4hrqqdmbpx8grvlnqyl"))))
465 (build-system haskell-build-system)
466 (inputs
467 `(("ghc-temporary" ,ghc-temporary)
468 ("ghc-unix-compat" ,ghc-unix-compat)))
469 (native-inputs
470 `(("ghc-temporary" ,ghc-temporary)
471 ("ghc-unix-compat" ,ghc-unix-compat)
472 ("ghc-hspec" ,ghc-hspec)
473 ("hspec-discover" ,hspec-discover)))
474 (home-page "https://github.com/stackbuilders/atomic-write")
475 (synopsis "Atomically write to a file")
476 (description
477 "Atomically write to a file on POSIX-compliant systems while preserving
478 permissions. @code{mv} is an atomic operation. This makes it simple to write
479 to a file atomically just by using the @code{mv} operation. However, this
480 will destroy the permissions on the original file. This library preserves
481 permissions while atomically writing to a file.")
482 (license license:expat)))
483
484 (define-public ghc-attoparsec
485 (package
486 (name "ghc-attoparsec")
487 (version "0.13.2.3")
488 (source
489 (origin
490 (method url-fetch)
491 (uri (string-append
492 "https://hackage.haskell.org/package/attoparsec/attoparsec-"
493 version
494 ".tar.gz"))
495 (sha256
496 (base32
497 "1ngjn9h5n0vyki0m2jir4mg85875ysswy9hznpmj1r856mqwc6ix"))))
498 (build-system haskell-build-system)
499 (arguments
500 `(#:phases
501 (modify-phases %standard-phases
502 (add-after 'unpack 'patch-for-newer-quickcheck
503 (lambda _
504 (substitute* "attoparsec.cabal"
505 (("QuickCheck >= 2\\.7 && < 2\\.10")
506 "QuickCheck >= 2.7 && < 2.12"))
507 ;; This test fails because of the newer QuickCheck:
508 ;; <https://github.com/bos/attoparsec/issues/134>.
509 (substitute* "tests/QC/ByteString.hs"
510 ((", testProperty \"satisfyWith\" satisfyWith")
511 "")))))))
512 (inputs
513 `(("ghc-scientific" ,ghc-scientific)))
514 (native-inputs
515 `(("ghc-tasty" ,ghc-tasty)
516 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
517 ("ghc-quickcheck" ,ghc-quickcheck)
518 ("ghc-quickcheck-unicode" ,ghc-quickcheck-unicode)
519 ("ghc-vector" ,ghc-vector)))
520 (home-page "https://github.com/bos/attoparsec")
521 (synopsis "Fast combinator parsing for bytestrings and text")
522 (description "This library provides a fast parser combinator library,
523 aimed particularly at dealing efficiently with network protocols and
524 complicated text/binary file formats.")
525 (license license:bsd-3)))
526
527 (define-public ghc-attoparsec-bootstrap
528 (package
529 (inherit ghc-attoparsec)
530 (name "ghc-attoparsec-bootstrap")
531 (arguments `(#:tests? #f))
532 (inputs
533 `(("ghc-scientific" ,ghc-scientific-bootstrap)))
534 (native-inputs '())
535 (properties '((hidden? #t)))))
536
537 (define-public ghc-attoparsec-iso8601
538 (package
539 (name "ghc-attoparsec-iso8601")
540 (version "1.0.1.0")
541 (source
542 (origin
543 (method url-fetch)
544 (uri (string-append "https://hackage.haskell.org/package/"
545 "attoparsec-iso8601-" version "/"
546 "attoparsec-iso8601-" version ".tar.gz"))
547 (sha256
548 (base32
549 "0hj10w15qp2z5bz2v4xahhmbgzclpyfi5l2sv97wqycysg9gp7s9"))))
550 (build-system haskell-build-system)
551 (arguments
552 `(#:cabal-revision
553 ("1" "1rjhscmczgs1bwyqx7lvkm8py3ylxjd2797mrzgnq60fvm292750")))
554 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
555 ("ghc-base-compat" ,ghc-base-compat)))
556 (home-page "https://github.com/bos/aeson")
557 (synopsis "Parse ISO 8601 dates")
558 (description "Haskell library for parsing of ISO 8601 dates, originally
559 from aeson.")
560 (license license:bsd-3)))
561
562 (define-public ghc-auto-update
563 (package
564 (name "ghc-auto-update")
565 (version "0.1.6")
566 (source
567 (origin
568 (method url-fetch)
569 (uri (string-append
570 "https://hackage.haskell.org/package/auto-update/auto-update-"
571 version
572 ".tar.gz"))
573 (sha256
574 (base32
575 "1i36xc2i34aync8271x3pv515l3zb53i518dybn8ghqkhzf27q7l"))))
576 (build-system haskell-build-system)
577 (native-inputs
578 `(("ghc-hspec" ,ghc-hspec)
579 ("ghc-hunit" ,ghc-hunit)
580 ("ghc-retry" ,ghc-retry)
581 ("hspec-discover" ,hspec-discover)))
582 (home-page "https://github.com/yesodweb/wai")
583 (synopsis "Efficiently run periodic, on-demand actions")
584 (description "This library provides mechanisms to efficiently run
585 periodic, on-demand actions in Haskell.")
586 (license license:expat)))
587
588 (define-public ghc-aws
589 (package
590 (name "ghc-aws")
591 (version "0.20")
592 (source
593 (origin
594 (method url-fetch)
595 (uri (string-append "https://hackage.haskell.org/package/"
596 "aws-" version "/aws-" version ".tar.gz"))
597 (sha256 (base32
598 "0pwpabmypi1w8rni9qfwabgn95jks4h8dyw6889mn8xzsrhdhyf0"))))
599 (build-system haskell-build-system)
600 (arguments `(#:tests? #f)) ; Tests require AWS credentials.
601 (inputs
602 `(("ghc-aeson" ,ghc-aeson)
603 ("ghc-attoparsec" ,ghc-attoparsec)
604 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
605 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
606 ("ghc-blaze-builder" ,ghc-blaze-builder)
607 ("ghc-byteable" ,ghc-byteable)
608 ("ghc-case-insensitive" ,ghc-case-insensitive)
609 ("ghc-cereal" ,ghc-cereal)
610 ("ghc-conduit" ,ghc-conduit)
611 ("ghc-conduit-extra" ,ghc-conduit-extra)
612 ("ghc-cryptonite" ,ghc-cryptonite)
613 ("ghc-data-default" ,ghc-data-default)
614 ("ghc-http-conduit" ,ghc-http-conduit)
615 ("ghc-http-types" ,ghc-http-types)
616 ("ghc-lifted-base" ,ghc-lifted-base)
617 ("ghc-monad-control" ,ghc-monad-control)
618 ("ghc-network" ,ghc-network)
619 ("ghc-old-locale" ,ghc-old-locale)
620 ("ghc-safe" ,ghc-safe)
621 ("ghc-scientific" ,ghc-scientific)
622 ("ghc-tagged" ,ghc-tagged)
623 ("ghc-unordered-containers" ,ghc-unordered-containers)
624 ("ghc-utf8-string" ,ghc-utf8-string)
625 ("ghc-vector" ,ghc-vector)
626 ("ghc-xml-conduit" ,ghc-xml-conduit)))
627 (native-inputs
628 `(("ghc-quickcheck" ,ghc-quickcheck)
629 ("ghc-errors" ,ghc-errors)
630 ("ghc-http-client" ,ghc-http-client)
631 ("ghc-http-client-tls" ,ghc-http-client-tls)
632 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
633 ("ghc-tasty" ,ghc-tasty)
634 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
635 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
636 ("ghc-conduit-combinators" ,ghc-conduit-combinators)))
637 (home-page "https://github.com/aristidb/aws")
638 (synopsis "Amazon Web Services for Haskell")
639 (description "This package attempts to provide support for using
640 Amazon Web Services like S3 (storage), SQS (queuing) and others to
641 Haskell programmers. The ultimate goal is to support all Amazon
642 Web Services.")
643 (license license:bsd-3)))
644
645 (define-public ghc-base16-bytestring
646 (package
647 (name "ghc-base16-bytestring")
648 (version "0.1.1.6")
649 (source
650 (origin
651 (method url-fetch)
652 (uri (string-append
653 "https://hackage.haskell.org/package/base16-bytestring/"
654 "base16-bytestring-" version ".tar.gz"))
655 (sha256
656 (base32
657 "0jf40m3yijqw6wd1rwwvviww46fasphaay9m9rgqyhf5aahnbzjs"))))
658 (build-system haskell-build-system)
659 (home-page "https://github.com/bos/base16-bytestring")
660 (synopsis "Fast base16 (hex) encoding and decoding for ByteStrings")
661 (description
662 "This package provides a Haskell library for working with base16-encoded
663 data quickly and efficiently, using the ByteString type.")
664 (license license:bsd-3)))
665
666 (define-public ghc-base64-bytestring
667 (package
668 (name "ghc-base64-bytestring")
669 (version "1.0.0.2")
670 (source
671 (origin
672 (method url-fetch)
673 (uri (string-append
674 "https://hackage.haskell.org/package/base64-bytestring/base64-bytestring-"
675 version
676 ".tar.gz"))
677 (sha256
678 (base32 "13305brzlac24pifiqd5a2z10c6k6amhpdy9cc0z5ryrkgnm8dhr"))))
679 (build-system haskell-build-system)
680 (arguments `(#:tests? #f)) ; FIXME: testing libraries are missing.
681 (home-page "https://github.com/bos/base64-bytestring")
682 (synopsis "Base64 encoding and decoding for ByteStrings")
683 (description "This library provides fast base64 encoding and decoding for
684 Haskell @code{ByteString}s.")
685 (license license:bsd-3)))
686
687 (define-public ghc-base-compat
688 (package
689 (name "ghc-base-compat")
690 (version "0.10.5")
691 (source
692 (origin
693 (method url-fetch)
694 (uri (string-append
695 "https://hackage.haskell.org/package/base-compat/base-compat-"
696 version
697 ".tar.gz"))
698 (sha256
699 (base32
700 "0hgvlqcr852hfp52jp99snhbj550mvxxpi8qn15d8ml9aqhyl2lr"))))
701 (build-system haskell-build-system)
702 (native-inputs
703 `(("ghc-quickcheck" ,ghc-quickcheck)
704 ("ghc-hspec" ,ghc-hspec)
705 ("hspec-discover" ,hspec-discover)))
706 (home-page "https://hackage.haskell.org/package/base-compat")
707 (synopsis "Haskell compiler compatibility library")
708 (description "This library provides functions available in later versions
709 of base to a wider range of compilers, without requiring the use of CPP
710 pragmas in your code.")
711 (license license:bsd-3)))
712
713 (define-public ghc-base-compat-batteries
714 (package
715 (name "ghc-base-compat-batteries")
716 (version "0.10.5")
717 (source
718 (origin
719 (method url-fetch)
720 (uri (string-append "https://hackage.haskell.org/package/"
721 "base-compat-batteries/base-compat-batteries-"
722 version ".tar.gz"))
723 (sha256
724 (base32
725 "1vkhc639vqiv5p39jn1v312z32i7yk5q2lf0ap4jxl1v8p8wyp8p"))))
726 (build-system haskell-build-system)
727 (inputs
728 `(("ghc-base-compat" ,ghc-base-compat)))
729 (native-inputs
730 `(("ghc-hspec" ,ghc-hspec)
731 ("ghc-quickcheck" ,ghc-quickcheck)
732 ("hspec-discover" ,hspec-discover)))
733 (arguments
734 `(#:cabal-revision
735 ("1" "15sn2qc8k0hxbb2nai341kkrci98hlhzcj2ci087m0zxcg5jcdbp")))
736 (home-page "http://hackage.haskell.org/package/base-compat-batteries")
737 (synopsis "base-compat with extra batteries")
738 (description "This library provides functions available in later
739 versions of @code{base} to a wider range of compilers, without requiring
740 you to use CPP pragmas in your code. This package provides the same API
741 as the @code{base-compat} library, but depends on compatibility
742 packages (such as @code{semigroups}) to offer a wider support window
743 than @code{base-compat}, which has no dependencies.")
744 (license license:expat)))
745
746 (define-public ghc-basement
747 (package
748 (name "ghc-basement")
749 (version "0.0.11")
750 (source
751 (origin
752 (method url-fetch)
753 (uri (string-append "https://hackage.haskell.org/package/"
754 "basement/basement-" version ".tar.gz"))
755 (sha256
756 (base32
757 "0srlws74yiraqaapgcjd9p5d1fwb3zr9swcz74jpjm55fls2nn37"))))
758 (build-system haskell-build-system)
759 (home-page "https://github.com/haskell-foundation/foundation")
760 (synopsis "Basic primitives for Foundation starter pack")
761 (description
762 "This package contains basic primitives for the Foundation set of
763 packages.")
764 (license license:bsd-3)))
765
766 (define-public ghc-base-orphans
767 (package
768 (name "ghc-base-orphans")
769 (version "0.8.1")
770 (source
771 (origin
772 (method url-fetch)
773 (uri (string-append
774 "https://hackage.haskell.org/package/base-orphans/base-orphans-"
775 version
776 ".tar.gz"))
777 (sha256
778 (base32
779 "1nwr9av27i9p72k0sn96mw3ywdczw65dy5gd5wxpabhhxlxdcas4"))))
780 (build-system haskell-build-system)
781 (native-inputs
782 `(("ghc-quickcheck" ,ghc-quickcheck)
783 ("ghc-hspec" ,ghc-hspec)
784 ("hspec-discover" ,hspec-discover)))
785 (home-page "https://hackage.haskell.org/package/base-orphans")
786 (synopsis "Orphan instances for backwards compatibility")
787 (description "This package defines orphan instances that mimic instances
788 available in later versions of base to a wider (older) range of compilers.")
789 (license license:bsd-3)))
790
791 (define-public ghc-base-prelude
792 (package
793 (name "ghc-base-prelude")
794 (version "1.3")
795 (source
796 (origin
797 (method url-fetch)
798 (uri (string-append "https://hackage.haskell.org/package/"
799 "base-prelude-" version "/"
800 "base-prelude-" version ".tar.gz"))
801 (sha256
802 (base32
803 "1zk728sd09hh2r4xwz4lazsrrgg5cshydn64932sm0vckplndk73"))))
804 (build-system haskell-build-system)
805 (home-page "https://github.com/nikita-volkov/base-prelude")
806 (synopsis "The most complete prelude formed solely from the Haskell's base
807 package")
808 (description "This Haskell package aims to reexport all the non-conflicting
809 and most general definitions from the \"base\" package.
810
811 This includes APIs for applicatives, arrows, monoids, foldables, traversables,
812 exceptions, generics, ST, MVars and STM.
813
814 This package will never have any dependencies other than \"base\".
815
816 Versioning policy:
817
818 The versioning policy of this package deviates from PVP in the sense
819 that its exports in part are transitively determined by the version of \"base\".
820 Therefore it's recommended for the users of @code{ghc-base-prelude} to specify
821 the bounds of \"base\" as well.")
822 (license license:expat)))
823
824 (define-public ghc-base-unicode-symbols
825 (package
826 (name "ghc-base-unicode-symbols")
827 (version "0.2.3")
828 (source
829 (origin
830 (method url-fetch)
831 (uri (string-append
832 "mirror://hackage/package/base-unicode-symbols/base-unicode-symbols-"
833 version
834 ".tar.gz"))
835 (sha256
836 (base32
837 "1ia6li7qjg1zkak4gf6mnbshw45mq9bfjr0jch58ds0lscmvwyzf"))))
838 (build-system haskell-build-system)
839 (home-page "http://www.haskell.org/haskellwiki/Unicode-symbols")
840 (synopsis "Unicode alternatives for common functions and operators")
841 (description "This package defines new symbols for a number of functions,
842 operators and types in the base package. All symbols are documented with
843 their actual definition and information regarding their Unicode code point.
844 They should be completely interchangeable with their definitions. For
845 further Unicode goodness you can enable the @code{UnicodeSyntax}
846 @url{https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/glasgow_exs.html#unicode-syntax,
847 language extension}. This extension enables Unicode characters to be used to
848 stand for certain ASCII character sequences, i.e. → instead of @code{->},
849 ∀ instead of @code{forall} and many others.")
850 (license license:bsd-3)))
851
852 (define-public ghc-bifunctors
853 (package
854 (name "ghc-bifunctors")
855 (version "5.5.5")
856 (source
857 (origin
858 (method url-fetch)
859 (uri (string-append
860 "https://hackage.haskell.org/package/bifunctors/bifunctors-"
861 version
862 ".tar.gz"))
863 (sha256
864 (base32
865 "0rn47q8dzv0g1fyams99p4py6q0asxdc50q9k0nj497brk738xcb"))))
866 (build-system haskell-build-system)
867 (inputs
868 `(("ghc-base-orphans" ,ghc-base-orphans)
869 ("ghc-comonad" ,ghc-comonad)
870 ("ghc-th-abstraction" ,ghc-th-abstraction)
871 ("ghc-transformers-compat" ,ghc-transformers-compat)
872 ("ghc-tagged" ,ghc-tagged)
873 ("ghc-semigroups" ,ghc-semigroups)))
874 (native-inputs
875 `(("ghc-hspec" ,ghc-hspec)
876 ("hspec-discover" ,hspec-discover)
877 ("ghc-quickcheck" ,ghc-quickcheck)))
878 (home-page "https://github.com/ekmett/bifunctors/")
879 (synopsis "Bifunctors for Haskell")
880 (description "This package provides bifunctors for Haskell.")
881 (license license:bsd-3)))
882
883 (define-public ghc-bindings-dsl
884 (package
885 (name "ghc-bindings-dsl")
886 (version "1.0.25")
887 (source
888 (origin
889 (method url-fetch)
890 (uri (string-append "https://hackage.haskell.org/package/bindings-DSL/"
891 "bindings-DSL-" version ".tar.gz"))
892 (sha256
893 (base32
894 "0kqrd78nspl3lk4a0fqn47d8dirjg3b24dkvkigcrlb81hw35pk3"))))
895 (build-system haskell-build-system)
896 (home-page "https://github.com/jwiegley/bindings-dsl/wiki")
897 (synopsis "FFI domain specific language, on top of hsc2hs")
898 (description
899 "This is a set of macros to be used when writing Haskell FFI. They were
900 designed to be able to fully describe C interfaces, so that @code{hsc2hs} can
901 extract from them all Haskell code needed to mimic such interfaces. All
902 Haskell names used are automatically derived from C names, structures are
903 mapped to Haskell instances of @code{Storable}, and there are also macros you
904 can use with C code to help write bindings to inline functions or macro
905 functions.")
906 (license license:bsd-3)))
907
908 (define-public ghc-bitarray
909 (package
910 (name "ghc-bitarray")
911 (version "0.0.1.1")
912 (source
913 (origin
914 (method url-fetch)
915 (uri (string-append "https://hackage.haskell.org/package/"
916 "bitarray/bitarray-" version ".tar.gz"))
917 (sha256
918 (base32
919 "00nqd62cbh42qqqvcl6iv1i9kbv0f0mkiygv4j70wfh5cl86yzxj"))))
920 (build-system haskell-build-system)
921 (arguments
922 `(#:cabal-revision
923 ("1" "10fk92v9afjqk43zi621jxl0n8kci0xjj32lz3vqa9xbh67zjz45")))
924 (home-page "https://hackage.haskell.org/package/bitarray")
925 (synopsis "Mutable and immutable bit arrays")
926 (description "The package provides mutable and immutable bit arrays.")
927 (license license:bsd-3)))
928
929 (define-public ghc-blaze-builder
930 (package
931 (name "ghc-blaze-builder")
932 (version "0.4.1.0")
933 (source
934 (origin
935 (method url-fetch)
936 (uri (string-append
937 "https://hackage.haskell.org/package/blaze-builder/blaze-builder-"
938 version
939 ".tar.gz"))
940 (sha256
941 (base32
942 "05681dih2d8s96an945wkbwl05w8ddbcfx8n3r3ck79ydyb8pz4i"))))
943 (build-system haskell-build-system)
944 (arguments `(#:tests? #f)) ; FIXME: Missing test libraries.
945 (inputs
946 `(("ghc-utf8-string" ,ghc-utf8-string)))
947 (home-page "https://github.com/lpsmith/blaze-builder")
948 (synopsis "Efficient buffered output")
949 (description "This library provides an implementation of the older
950 @code{blaze-builder} interface in terms of the new builder that shipped with
951 @code{bytestring-0.10.4.0}. This implementation is mostly intended as a
952 bridge to the new builder, so that code that uses the old interface can
953 interoperate with code that uses the new implementation.")
954 (license license:bsd-3)))
955
956 (define-public ghc-blaze-markup
957 (package
958 (name "ghc-blaze-markup")
959 (version "0.8.2.3")
960 (source
961 (origin
962 (method url-fetch)
963 (uri (string-append "https://hackage.haskell.org/package/"
964 "blaze-markup/blaze-markup-"
965 version ".tar.gz"))
966 (sha256
967 (base32
968 "1g9m7ansj7fdyzhz1wqkbzn5amjm50vjgjdwkbjc5qqhagnv1y3j"))))
969 (build-system haskell-build-system)
970 (arguments
971 `(#:phases
972 (modify-phases %standard-phases
973 (add-before 'configure 'update-constraints
974 (lambda _
975 (substitute* "blaze-markup.cabal"
976 (("tasty >= 1\\.0 && < 1\\.1")
977 "tasty >= 1.0 && < 1.2")))))))
978 (inputs
979 `(("ghc-blaze-builder" ,ghc-blaze-builder)))
980 (native-inputs
981 `(("ghc-hunit" ,ghc-hunit)
982 ("ghc-quickcheck" ,ghc-quickcheck)
983 ("ghc-tasty" ,ghc-tasty)
984 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
985 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
986 (home-page "https://jaspervdj.be/blaze")
987 (synopsis "Fast markup combinator library for Haskell")
988 (description "This library provides core modules of a markup combinator
989 library for Haskell.")
990 (license license:bsd-3)))
991
992 (define-public ghc-bloomfilter
993 (package
994 (name "ghc-bloomfilter")
995 (version "2.0.1.0")
996 (source
997 (origin
998 (method url-fetch)
999 (uri (string-append "https://hackage.haskell.org/package/"
1000 "bloomfilter/bloomfilter-" version ".tar.gz"))
1001 (sha256
1002 (base32
1003 "03vrmncg1c10a2wcg5skq30m1yiknn7nwxz2gblyyfaxglshspkc"))))
1004 (build-system haskell-build-system)
1005 (native-inputs
1006 `(("ghc-quickcheck" ,ghc-quickcheck)
1007 ("ghc-random" ,ghc-random)
1008 ("ghc-test-framework" ,ghc-test-framework)
1009 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
1010 (home-page "https://github.com/bos/bloomfilter")
1011 (synopsis "Pure and impure Bloom filter implementations")
1012 (description "This package provides both mutable and immutable Bloom
1013 filter data types, along with a family of hash functions and an easy-to-use
1014 interface.")
1015 (license license:bsd-3)))
1016
1017 (define-public ghc-boxes
1018 (package
1019 (name "ghc-boxes")
1020 (version "0.1.5")
1021 (source
1022 (origin
1023 (method url-fetch)
1024 (uri (string-append "https://hackage.haskell.org/package/boxes/boxes-"
1025 version ".tar.gz"))
1026 (sha256
1027 (base32 "1hsnmw95i58d4bkpxby3ddsj1cawypw4mdyb18m393s5i8p7iq9q"))))
1028 (build-system haskell-build-system)
1029 (inputs
1030 `(("ghc-split" ,ghc-split)
1031 ("ghc-quickcheck" ,ghc-quickcheck)))
1032 (home-page "https://hackage.haskell.org/package/boxes")
1033 (synopsis "2D text pretty-printing library")
1034 (description
1035 "Boxes is a pretty-printing library for laying out text in two dimensions,
1036 using a simple box model.")
1037 (license license:bsd-3)))
1038
1039 (define-public ghc-byteable
1040 (package
1041 (name "ghc-byteable")
1042 (version "0.1.1")
1043 (source (origin
1044 (method url-fetch)
1045 (uri (string-append "https://hackage.haskell.org/package/"
1046 "byteable/byteable-" version ".tar.gz"))
1047 (sha256
1048 (base32
1049 "1qizg0kxxjqnd3cbrjhhidk5pbbciz0pb3z5kzikjjxnnnhk8fr4"))))
1050 (build-system haskell-build-system)
1051 (home-page "https://github.com/vincenthz/hs-byteable")
1052 (synopsis "Type class for sequence of bytes")
1053 (description
1054 "This package provides an abstract class to manipulate sequence of bytes.
1055 The use case of this class is abstracting manipulation of types that are just
1056 wrapping a bytestring with stronger and more meaniful name.")
1057 (license license:bsd-3)))
1058
1059 (define-public ghc-byteorder
1060 (package
1061 (name "ghc-byteorder")
1062 (version "1.0.4")
1063 (source
1064 (origin
1065 (method url-fetch)
1066 (uri (string-append
1067 "https://hackage.haskell.org/package/byteorder/byteorder-"
1068 version
1069 ".tar.gz"))
1070 (sha256
1071 (base32
1072 "06995paxbxk8lldvarqpb3ygcjbg4v8dk4scib1rjzwlhssvn85x"))))
1073 (build-system haskell-build-system)
1074 (home-page
1075 "http://community.haskell.org/~aslatter/code/byteorder")
1076 (synopsis
1077 "Exposes the native endianness of the system")
1078 (description
1079 "This package is for working with the native byte-ordering of the
1080 system.")
1081 (license license:bsd-3)))
1082
1083 (define-public ghc-bytes
1084 (package
1085 (name "ghc-bytes")
1086 (version "0.15.5")
1087 (source
1088 (origin
1089 (method url-fetch)
1090 (uri
1091 (string-append "https://hackage.haskell.org/package/bytes-"
1092 version "/bytes-"
1093 version ".tar.gz"))
1094 (file-name (string-append name "-" version ".tar.gz"))
1095 (sha256
1096 (base32
1097 "063il2vrn0p88r9gzndh4ijs0mxj37khkc9ym9bqdsv7ngk3b683"))))
1098 (build-system haskell-build-system)
1099 (inputs `(("ghc-cereal" ,ghc-cereal)
1100 ("cabal-doctest" ,cabal-doctest)
1101 ("ghc-doctest" ,ghc-doctest)
1102 ("ghc-scientific" ,ghc-scientific)
1103 ("ghc-transformers-compat" ,ghc-transformers-compat)
1104 ("ghc-unordered-containers" ,ghc-unordered-containers)
1105 ("ghc-void" ,ghc-void)
1106 ("ghc-vector" ,ghc-vector)))
1107 (synopsis "Serialization between @code{binary} and @code{cereal}")
1108 (description "This package provides a simple compatibility shim that lets
1109 you work with both @code{binary} and @code{cereal} with one chunk of
1110 serialization code.")
1111 (home-page "https://hackage.haskell.org/package/bytes")
1112 (license license:bsd-3)))
1113
1114 (define-public ghc-bytestring-builder
1115 (package
1116 (name "ghc-bytestring-builder")
1117 (version "0.10.8.2.0")
1118 (source
1119 (origin
1120 (method url-fetch)
1121 (uri (string-append
1122 "https://hackage.haskell.org/package/bytestring-builder"
1123 "/bytestring-builder-" version ".tar.gz"))
1124 (sha256
1125 (base32
1126 "0grcrgwwwcvwrs9az7l4d3kf0lsqfa9qpmjzf6iyanvwn9nyzyi7"))))
1127 (build-system haskell-build-system)
1128 (arguments `(#:haddock? #f)) ; Package contains no documentation.
1129 (home-page "https://hackage.haskell.org/package/bytestring-builder")
1130 (synopsis "The new bytestring builder, packaged outside of GHC")
1131 (description "This package provides the bytestring builder that is
1132 debuting in bytestring-0.10.4.0, which should be shipping with GHC 7.8.
1133 Compatibility package for older packages.")
1134 (license license:bsd-3)))
1135
1136 (define-public ghc-bytestring-handle
1137 (package
1138 (name "ghc-bytestring-handle")
1139 (version "0.1.0.6")
1140 (source
1141 (origin
1142 (method url-fetch)
1143 (uri (string-append
1144 "https://hackage.haskell.org/package/bytestring-handle/bytestring-handle-"
1145 version ".tar.gz"))
1146 (sha256
1147 (base32
1148 "18f17aja1ivhr3zyg2cccn2m03hdn5jf5410dndkhf12gvgiqs7y"))))
1149 (build-system haskell-build-system)
1150 (arguments
1151 `(#:cabal-revision
1152 ("1" "0x11aj6w1lijh84jcdq1qgyvdnc7i9ivbyq4wf9rxicg57viisz9")
1153 #:phases
1154 (modify-phases %standard-phases
1155 (add-before 'configure 'update-constraints
1156 (lambda _
1157 (substitute* "bytestring-handle.cabal"
1158 (("QuickCheck >= 2\\.1\\.2 && < 2\\.11")
1159 "QuickCheck >= 2.1.2 && < 2.14")))))))
1160 (inputs
1161 `(("ghc-hunit" ,ghc-hunit)
1162 ("ghc-quickcheck" ,ghc-quickcheck)
1163 ("ghc-test-framework" ,ghc-test-framework)
1164 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
1165 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
1166 (home-page "https://hub.darcs.net/ganesh/bytestring-handle")
1167 (synopsis "ByteString-backed Handles")
1168 (description "ByteString-backed Handles") ; There is no description
1169 (license license:bsd-3)))
1170
1171 (define-public ghc-bytestring-lexing
1172 (package
1173 (name "ghc-bytestring-lexing")
1174 (version "0.5.0.2")
1175 (source
1176 (origin
1177 (method url-fetch)
1178 (uri (string-append "https://hackage.haskell.org/package/"
1179 "bytestring-lexing/bytestring-lexing-"
1180 version ".tar.gz"))
1181 (sha256
1182 (base32
1183 "0wrzniawhgpphc6yx1v972gyqxdbv0pizaz9bafahrshyb9svy81"))))
1184 (build-system haskell-build-system)
1185 (home-page "http://code.haskell.org/~wren/")
1186 (synopsis "Parse and produce literals from strict or lazy bytestrings")
1187 (description
1188 "This package provides tools to parse and produce literals efficiently
1189 from strict or lazy bytestrings.")
1190 (license license:bsd-2)))
1191
1192 (define-public ghc-bzlib-conduit
1193 (package
1194 (name "ghc-bzlib-conduit")
1195 (version "0.3.0.2")
1196 (source
1197 (origin
1198 (method url-fetch)
1199 (uri (string-append "https://hackage.haskell.org/package/bzlib-conduit/"
1200 "bzlib-conduit-" version ".tar.gz"))
1201 (sha256
1202 (base32
1203 "0a21zin5plsl37hkxh2jv8cxwyjrbs2fy7n5cyrzgdaa7lmp6b7b"))))
1204 (build-system haskell-build-system)
1205 (inputs
1206 `(("ghc-bindings-dsl" ,ghc-bindings-dsl)
1207 ("ghc-conduit" ,ghc-conduit)
1208 ("ghc-data-default-class" ,ghc-data-default-class)
1209 ("ghc-resourcet" ,ghc-resourcet)))
1210 (native-inputs
1211 `(("ghc-hspec" ,ghc-hspec)
1212 ("ghc-random" ,ghc-random)))
1213 (home-page "https://github.com/snoyberg/bzlib-conduit")
1214 (synopsis "Streaming compression/decompression via conduits")
1215 (description
1216 "This package provides Haskell bindings to bzlib and Conduit support for
1217 streaming compression and decompression.")
1218 (license license:bsd-3)))
1219
1220 (define-public ghc-c2hs
1221 (package
1222 (name "ghc-c2hs")
1223 (version "0.28.6")
1224 (source
1225 (origin
1226 (method url-fetch)
1227 (uri (string-append
1228 "https://hackage.haskell.org/package/c2hs/c2hs-"
1229 version
1230 ".tar.gz"))
1231 (sha256
1232 (base32
1233 "1nplgxfin139x12sb656f5870rpdclrhzi8mq8pry035qld15pci"))))
1234 (build-system haskell-build-system)
1235 (inputs
1236 `(("ghc-language-c" ,ghc-language-c)
1237 ("ghc-dlist" ,ghc-dlist)))
1238 (native-inputs
1239 `(("ghc-test-framework" ,ghc-test-framework)
1240 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
1241 ("ghc-hunit" ,ghc-hunit)
1242 ("ghc-shelly" ,ghc-shelly)
1243 ("gcc" ,gcc)))
1244 (arguments
1245 `(;; XXX: Test failures are induced by a parse error in <bits/floatn.h>
1246 ;; of glibc 2.28.
1247 #:tests? #f
1248
1249 #:phases
1250 (modify-phases %standard-phases
1251 (add-before 'check 'set-cc
1252 ;; add a cc executable in the path, needed for some tests to pass
1253 (lambda* (#:key inputs #:allow-other-keys)
1254 (let ((gcc (assoc-ref inputs "gcc"))
1255 (tmpbin (tmpnam))
1256 (curpath (getenv "PATH")))
1257 (mkdir-p tmpbin)
1258 (symlink (which "gcc") (string-append tmpbin "/cc"))
1259 (setenv "PATH" (string-append tmpbin ":" curpath)))
1260 #t))
1261 (add-after 'check 'remove-cc
1262 ;; clean the tmp dir made in 'set-cc
1263 (lambda _
1264 (let* ((cc-path (which "cc"))
1265 (cc-dir (dirname cc-path)))
1266 (delete-file-recursively cc-dir)
1267 #t))))))
1268 (home-page "https://github.com/haskell/c2hs")
1269 (synopsis "Create Haskell bindings to C libraries")
1270 (description "C->Haskell assists in the development of Haskell bindings to
1271 C libraries. It extracts interface information from C header files and
1272 generates Haskell code with foreign imports and marshaling. Unlike writing
1273 foreign imports by hand (or using hsc2hs), this ensures that C functions are
1274 imported with the correct Haskell types.")
1275 (license license:gpl2)))
1276
1277 (define-public ghc-cairo
1278 (package
1279 (name "ghc-cairo")
1280 (version "0.13.5.0")
1281 (source
1282 (origin
1283 (method url-fetch)
1284 (uri (string-append "https://hackage.haskell.org/package/cairo/"
1285 "cairo-" version ".tar.gz"))
1286 (sha256
1287 (base32
1288 "1wxylv4d8120ri0vgar168ikqa9m6533ipdwi38qlmxmw20ws2j2"))))
1289 (build-system haskell-build-system)
1290 (arguments
1291 `(#:modules ((guix build haskell-build-system)
1292 (guix build utils)
1293 (ice-9 match)
1294 (srfi srfi-26))
1295 #:phases
1296 (modify-phases %standard-phases
1297 ;; FIXME: This is a copy of the standard configure phase with a tiny
1298 ;; difference: this package needs the -package-db flag to be passed
1299 ;; to "runhaskell" in addition to the "configure" action, because it
1300 ;; depends on gtk2hs-buildtools, which provide setup hooks. Without
1301 ;; this option the Setup.hs file cannot be evaluated. The
1302 ;; haskell-build-system should be changed to pass "-package-db" to
1303 ;; "runhaskell" in any case.
1304 (replace 'configure
1305 (lambda* (#:key outputs inputs tests? (configure-flags '())
1306 #:allow-other-keys)
1307 (let* ((out (assoc-ref outputs "out"))
1308 (name-version (strip-store-file-name out))
1309 (input-dirs (match inputs
1310 (((_ . dir) ...)
1311 dir)
1312 (_ '())))
1313 (ghc-path (getenv "GHC_PACKAGE_PATH"))
1314 (params (append `(,(string-append "--prefix=" out))
1315 `(,(string-append "--libdir=" out "/lib"))
1316 `(,(string-append "--bindir=" out "/bin"))
1317 `(,(string-append
1318 "--docdir=" out
1319 "/share/doc/" name-version))
1320 '("--libsubdir=$compiler/$pkg-$version")
1321 '("--package-db=../package.conf.d")
1322 '("--global")
1323 `(,@(map
1324 (cut string-append "--extra-include-dirs=" <>)
1325 (search-path-as-list '("include") input-dirs)))
1326 `(,@(map
1327 (cut string-append "--extra-lib-dirs=" <>)
1328 (search-path-as-list '("lib") input-dirs)))
1329 (if tests?
1330 '("--enable-tests")
1331 '())
1332 configure-flags)))
1333 (unsetenv "GHC_PACKAGE_PATH")
1334 (apply invoke "runhaskell" "-package-db=../package.conf.d"
1335 "Setup.hs" "configure" params)
1336 (setenv "GHC_PACKAGE_PATH" ghc-path)
1337 #t))))))
1338 (inputs
1339 `(("ghc-utf8-string" ,ghc-utf8-string)
1340 ("cairo" ,cairo)))
1341 (native-inputs
1342 `(("ghc-gtk2hs-buildtools" ,ghc-gtk2hs-buildtools)
1343 ("pkg-config" ,pkg-config)))
1344 (home-page "http://projects.haskell.org/gtk2hs/")
1345 (synopsis "Haskell bindings to the Cairo vector graphics library")
1346 (description
1347 "Cairo is a library to render high quality vector graphics. There exist
1348 various backends that allows rendering to Gtk windows, PDF, PS, PNG and SVG
1349 documents, amongst others.")
1350 (license license:bsd-3)))
1351
1352 (define-public ghc-call-stack
1353 (package
1354 (name "ghc-call-stack")
1355 (version "0.1.0")
1356 (source
1357 (origin
1358 (method url-fetch)
1359 (uri (string-append "https://hackage.haskell.org/package/"
1360 "call-stack/call-stack-"
1361 version ".tar.gz"))
1362 (sha256
1363 (base32
1364 "1qmihf5jafmc79sk52l6gpx75f5bnla2lp62kh3p34x3j84mwpzj"))))
1365 (build-system haskell-build-system)
1366 (inputs `(("ghc-nanospec" ,ghc-nanospec)))
1367 (home-page "https://github.com/sol/call-stack#readme")
1368 (synopsis "Use GHC call-stacks in a backward compatible way")
1369 (description "This package provides a compatibility layer for using GHC
1370 call stacks with different versions of the compiler.")
1371 (license license:expat)))
1372
1373 ;; This is used as an input to ghc-hunit. We cannot use ghc-call-stack there,
1374 ;; because it depends on ghc-nanospec, which depends on ghc-hunit.
1375 (define-public ghc-call-stack-boot
1376 (hidden-package
1377 (package
1378 (inherit ghc-call-stack)
1379 (arguments '(#:tests? #f))
1380 (inputs '()))))
1381
1382 (define-public ghc-case-insensitive
1383 (package
1384 (name "ghc-case-insensitive")
1385 (version "1.2.0.11")
1386 (outputs '("out" "doc"))
1387 (source
1388 (origin
1389 (method url-fetch)
1390 (uri (string-append
1391 "https://hackage.haskell.org/package/case-insensitive/case-insensitive-"
1392 version
1393 ".tar.gz"))
1394 (sha256
1395 (base32
1396 "1qrpxfirsxckg7jv28f5ah2qc8lh95hp7rnqkbqs1ahcwlbnvkm7"))))
1397 (build-system haskell-build-system)
1398 ;; these inputs are necessary to use this library
1399 (inputs
1400 `(("ghc-hashable" ,ghc-hashable)))
1401 (arguments
1402 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
1403 (home-page
1404 "https://github.com/basvandijk/case-insensitive")
1405 (synopsis "Case insensitive string comparison")
1406 (description
1407 "The module @code{Data.CaseInsensitive} provides the @code{CI} type
1408 constructor which can be parameterised by a string-like type like:
1409 @code{String}, @code{ByteString}, @code{Text}, etc. Comparisons of values of
1410 the resulting type will be insensitive to cases.")
1411 (license license:bsd-3)))
1412
1413 (define-public ghc-cereal
1414 (package
1415 (name "ghc-cereal")
1416 (version "0.5.8.1")
1417 (source
1418 (origin
1419 (method url-fetch)
1420 (uri (string-append
1421 "https://hackage.haskell.org/package/cereal/cereal-"
1422 version
1423 ".tar.gz"))
1424 (sha256
1425 (base32
1426 "1mqvd1iwzr50az4y24332x3g3wsrzw8j1iwph02vr7jbjfn8i7id"))))
1427 (build-system haskell-build-system)
1428 (native-inputs
1429 `(("ghc-quickcheck" ,ghc-quickcheck)
1430 ("ghc-fail" ,ghc-fail)
1431 ("ghc-test-framework" ,ghc-test-framework)
1432 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
1433 (home-page "https://hackage.haskell.org/package/cereal")
1434 (synopsis "Binary serialization library")
1435 (description "This package provides a binary serialization library,
1436 similar to @code{binary}, that introduces an @code{isolate} primitive for
1437 parser isolation, and labeled blocks for better error messages.")
1438 (license license:bsd-3)))
1439
1440 (define-public ghc-cereal-conduit
1441 (package
1442 (name "ghc-cereal-conduit")
1443 (version "0.8.0")
1444 (source
1445 (origin
1446 (method url-fetch)
1447 (uri (string-append "https://hackage.haskell.org/package/"
1448 "cereal-conduit/cereal-conduit-"
1449 version ".tar.gz"))
1450 (sha256
1451 (base32
1452 "1srr7agvgfw78q5s1npjq5sgynvhjgllpihiv37ylkwqm4c4ap6r"))))
1453 (build-system haskell-build-system)
1454 (inputs
1455 `(("ghc-conduit" ,ghc-conduit)
1456 ("ghc-resourcet" ,ghc-resourcet)
1457 ("ghc-cereal" ,ghc-cereal)))
1458 (native-inputs
1459 `(("ghc-hunit" ,ghc-hunit)))
1460 (home-page "https://github.com/snoyberg/conduit")
1461 (synopsis "Turn Data.Serialize Gets and Puts into Sources, Sinks, and Conduits")
1462 (description
1463 "This package turn @code{Data.Serialize} @code{Gets} and @code{Puts} into
1464 @code{Sources}, @code{Sinks}, and @code{Conduits}.")
1465 (license license:bsd-3)))
1466
1467 (define-public ghc-cgi
1468 (package
1469 (name "ghc-cgi")
1470 (version "3001.4.0.0")
1471 (source
1472 (origin
1473 (method url-fetch)
1474 (uri (string-append
1475 "https://hackage.haskell.org/package/cgi/cgi-"
1476 version
1477 ".tar.gz"))
1478 (sha256
1479 (base32
1480 "1d0nh5ymkqskkp4yn0gfz4mff8i0cxyw1wws8xxp6k1mg1ywa25k"))))
1481 (build-system haskell-build-system)
1482 (inputs
1483 `(("ghc-exceptions" ,ghc-exceptions)
1484 ("ghc-multipart" ,ghc-multipart)
1485 ("ghc-network-uri" ,ghc-network-uri)
1486 ("ghc-network" ,ghc-network)))
1487 (native-inputs
1488 `(("ghc-doctest" ,ghc-doctest)
1489 ("ghc-quickcheck" ,ghc-quickcheck)))
1490 (home-page
1491 "https://github.com/cheecheeo/haskell-cgi")
1492 (synopsis "Library for writing CGI programs")
1493 (description
1494 "This is a Haskell library for writing CGI programs.")
1495 (license license:bsd-3)))
1496
1497 (define-public ghc-charset
1498 (package
1499 (name "ghc-charset")
1500 (version "0.3.7.1")
1501 (source
1502 (origin
1503 (method url-fetch)
1504 (uri (string-append
1505 "https://hackage.haskell.org/package/charset/charset-"
1506 version
1507 ".tar.gz"))
1508 (sha256
1509 (base32
1510 "1gn0m96qpjww8hpp2g1as5yy0wcwy4iq73h3kz6g0yxxhcl5sh9x"))))
1511 (build-system haskell-build-system)
1512 (arguments
1513 `(#:cabal-revision
1514 ("1" "1z6nxw2g9vgsjq0g159sk8mwj68lwzxzi5iv5ynha0h85jcqxszy")))
1515 (inputs
1516 `(("ghc-semigroups" ,ghc-semigroups)
1517 ("ghc-unordered-containers" ,ghc-unordered-containers)))
1518 (home-page "https://github.com/ekmett/charset")
1519 (synopsis "Fast unicode character sets for Haskell")
1520 (description "This package provides fast unicode character sets for
1521 Haskell, based on complemented PATRICIA tries.")
1522 (license license:bsd-3)))
1523
1524 (define-public ghc-chart
1525 (package
1526 (name "ghc-chart")
1527 (version "1.9.1")
1528 (source
1529 (origin
1530 (method url-fetch)
1531 (uri (string-append "https://hackage.haskell.org/package/Chart/"
1532 "Chart-" version ".tar.gz"))
1533 (sha256
1534 (base32
1535 "1pn735k9ifxlb9mdh8xy7wi22cxni8xyr28n8zx9w0j6vprcg89l"))))
1536 (build-system haskell-build-system)
1537 (inputs
1538 `(("ghc-old-locale" ,ghc-old-locale)
1539 ("ghc-lens" ,ghc-lens)
1540 ("ghc-colour" ,ghc-colour)
1541 ("ghc-data-default-class" ,ghc-data-default-class)
1542 ("ghc-operational" ,ghc-operational)
1543 ("ghc-vector" ,ghc-vector)))
1544 (home-page "https://github.com/timbod7/haskell-chart/wiki")
1545 (synopsis "Library for generating 2D charts and plots")
1546 (description
1547 "This package provides a library for generating 2D charts and plots, with
1548 backends provided by the @code{Cairo} and @code{Diagrams} libraries.")
1549 (license license:bsd-3)))
1550
1551 (define-public ghc-chart-cairo
1552 (package
1553 (name "ghc-chart-cairo")
1554 (version "1.9")
1555 (source
1556 (origin
1557 (method url-fetch)
1558 (uri (string-append "https://hackage.haskell.org/package/Chart-cairo/"
1559 "Chart-cairo-" version ".tar.gz"))
1560 (sha256
1561 (base32
1562 "0iany6lfyfb1cw0pxfs5aw5k0a6x41m6ql9ad9w59biwdckbsyqr"))))
1563 (build-system haskell-build-system)
1564 (inputs
1565 `(("ghc-old-locale" ,ghc-old-locale)
1566 ("ghc-cairo" ,ghc-cairo)
1567 ("ghc-colour" ,ghc-colour)
1568 ("ghc-data-default-class" ,ghc-data-default-class)
1569 ("ghc-operational" ,ghc-operational)
1570 ("ghc-lens" ,ghc-lens)
1571 ("ghc-chart" ,ghc-chart)))
1572 (home-page "https://github.com/timbod7/haskell-chart/wiki")
1573 (synopsis "Cairo backend for Charts")
1574 (description "This package provides a Cairo vector graphics rendering
1575 backend for the Charts library.")
1576 (license license:bsd-3)))
1577
1578 (define-public ghc-chasingbottoms
1579 (package
1580 (name "ghc-chasingbottoms")
1581 (version "1.3.1.7")
1582 (source
1583 (origin
1584 (method url-fetch)
1585 (uri (string-append "https://hackage.haskell.org/package/ChasingBottoms/"
1586 "ChasingBottoms-" version ".tar.gz"))
1587 (sha256
1588 (base32
1589 "0ziiqfsvv1ypdra6kd0bhbsl852i0wqn43jkfii38yl879cdacan"))))
1590 (build-system haskell-build-system)
1591 (inputs
1592 `(("ghc-quickcheck" ,ghc-quickcheck)
1593 ("ghc-random" ,ghc-random)
1594 ("ghc-syb" ,ghc-syb)))
1595 (home-page "https://hackage.haskell.org/package/ChasingBottoms")
1596 (synopsis "Testing of partial and infinite values in Haskell")
1597 (description
1598 ;; FIXME: There should be a @comma{} in the uref text, but it is not
1599 ;; rendered properly.
1600 "This is a library for testing code involving bottoms or infinite values.
1601 For the underlying theory and a larger example involving use of QuickCheck,
1602 see the article
1603 @uref{http://www.cse.chalmers.se/~nad/publications/danielsson-jansson-mpc2004.html,
1604 \"Chasing Bottoms A Case Study in Program Verification in the Presence of
1605 Partial and Infinite Values\"}.")
1606 (license license:expat)))
1607
1608 (define-public ghc-cheapskate
1609 (package
1610 (name "ghc-cheapskate")
1611 (version "0.1.1.1")
1612 (source
1613 (origin
1614 (method url-fetch)
1615 (uri (string-append
1616 "https://hackage.haskell.org/package/cheapskate/cheapskate-"
1617 version
1618 ".tar.gz"))
1619 (sha256
1620 (base32
1621 "0qnyd8bni2rby6b02ff4bvfdhm1hwc8vzpmnms84jgrlg1lly3fm"))))
1622 (build-system haskell-build-system)
1623 (inputs
1624 `(("ghc-blaze-html" ,ghc-blaze-html)
1625 ("ghc-xss-sanitize" ,ghc-xss-sanitize)
1626 ("ghc-data-default" ,ghc-data-default)
1627 ("ghc-syb" ,ghc-syb)
1628 ("ghc-uniplate" ,ghc-uniplate)))
1629 (home-page "https://github.com/jgm/cheapskate")
1630 (synopsis "Experimental markdown processor")
1631 (description "Cheapskate is an experimental Markdown processor in pure
1632 Haskell. It aims to process Markdown efficiently and in the most forgiving
1633 possible way. It is designed to deal with any input, including garbage, with
1634 linear performance. Output is sanitized by default for protection against
1635 cross-site scripting (@dfn{XSS}) attacks.")
1636 (license license:bsd-3)))
1637
1638 (define-public ghc-chell
1639 (package
1640 (name "ghc-chell")
1641 (version "0.5")
1642 (source
1643 (origin
1644 (method url-fetch)
1645 (uri (string-append
1646 "https://hackage.haskell.org/package/chell/chell-"
1647 version ".tar.gz"))
1648 (sha256
1649 (base32
1650 "1i845isfbk0yq852am9bqmxfpfkpnlha8nfidffsv4gw2p8gg6fg"))))
1651 (build-system haskell-build-system)
1652 (arguments
1653 `(#:cabal-revision
1654 ("1" "1q93wrw03ix4cmnkz3lzkixcvvizw6i2ia2zifdfak1dvxnblxk0")))
1655 (inputs
1656 `(("ghc-options-bootstrap" ,ghc-options-bootstrap)
1657 ("ghc-patience" ,ghc-patience)
1658 ("ghc-random" ,ghc-random)
1659 ("ghc-ansi-terminal" ,ghc-ansi-terminal)))
1660 (home-page "https://john-millikin.com/software/chell/")
1661 (synopsis "Simple and intuitive library for automated testing")
1662 (description
1663 "Chell is a simple and intuitive library for automated testing.
1664 It natively supports assertion-based testing, and can use companion
1665 libraries such as @code{chell-quickcheck} to support more complex
1666 testing strategies.")
1667 (license license:expat)))
1668
1669 (define-public ghc-chell-quickcheck
1670 (package
1671 (name "ghc-chell-quickcheck")
1672 (version "0.2.5.2")
1673 (source
1674 (origin
1675 (method url-fetch)
1676 (uri (string-append
1677 "https://hackage.haskell.org/package/chell-quickcheck/"
1678 "chell-quickcheck-" version ".tar.gz"))
1679 (sha256
1680 (base32
1681 "0n8c57n88r2bx0bh8nabsz07m42rh23ahs3hgyzf8gr76l08zq03"))))
1682 (build-system haskell-build-system)
1683 (arguments
1684 `(#:phases
1685 (modify-phases %standard-phases
1686 (add-before 'configure 'update-constraints
1687 (lambda _
1688 (substitute* "chell-quickcheck.cabal"
1689 (("QuickCheck >= 2\\.3 && < 2\\.13")
1690 "QuickCheck >= 2.3 && < 2.14")))))))
1691 (inputs
1692 `(("ghc-chell" ,ghc-chell)
1693 ("ghc-chell-quickcheck-bootstrap" ,ghc-chell-quickcheck-bootstrap)
1694 ("ghc-random" ,ghc-random)
1695 ("ghc-quickcheck" ,ghc-quickcheck)))
1696 (home-page "https://john-millikin.com/software/chell/")
1697 (synopsis "QuickCheck support for the Chell testing library")
1698 (description "More complex tests for @code{chell}.")
1699 (license license:expat)))
1700
1701 (define ghc-chell-quickcheck-bootstrap
1702 (package
1703 (name "ghc-chell-quickcheck-bootstrap")
1704 (version "0.2.5.2")
1705 (source
1706 (origin
1707 (method url-fetch)
1708 (uri (string-append
1709 "https://hackage.haskell.org/package/chell-quickcheck/"
1710 "chell-quickcheck-" version ".tar.gz"))
1711 (sha256
1712 (base32
1713 "0n8c57n88r2bx0bh8nabsz07m42rh23ahs3hgyzf8gr76l08zq03"))))
1714 (build-system haskell-build-system)
1715 (inputs
1716 `(("ghc-chell" ,ghc-chell)
1717 ("ghc-random" ,ghc-random)
1718 ("ghc-quickcheck" ,ghc-quickcheck)))
1719 (arguments
1720 `(#:tests? #f
1721 #:phases
1722 (modify-phases %standard-phases
1723 (add-before 'configure 'update-constraints
1724 (lambda _
1725 (substitute* "chell-quickcheck.cabal"
1726 (("QuickCheck >= 2\\.3 && < 2\\.13")
1727 "QuickCheck >= 2.3 && < 2.14")))))))
1728 (home-page "https://john-millikin.com/software/chell/")
1729 (synopsis "QuickCheck support for the Chell testing library")
1730 (description "More complex tests for @code{chell}.")
1731 (license license:expat)))
1732
1733 (define-public ghc-chunked-data
1734 (package
1735 (name "ghc-chunked-data")
1736 (version "0.3.1")
1737 (source
1738 (origin
1739 (method url-fetch)
1740 (uri (string-append "https://hackage.haskell.org/package/"
1741 "chunked-data-" version "/"
1742 "chunked-data-" version ".tar.gz"))
1743 (sha256
1744 (base32
1745 "16m7y7fwrirbjbqqcsfmr4yxa9qvfax6r7pw0zl9ky71ms0wa47p"))))
1746 (build-system haskell-build-system)
1747 (inputs `(("ghc-vector" ,ghc-vector)
1748 ("ghc-semigroups" ,ghc-semigroups)))
1749 (home-page "https://github.com/snoyberg/mono-traversable")
1750 (synopsis "Typeclasses for dealing with various chunked data
1751 representations for Haskell")
1752 (description "This Haskell package was originally present in
1753 classy-prelude.")
1754 (license license:expat)))
1755
1756 (define-public ghc-clock
1757 (package
1758 (name "ghc-clock")
1759 (version "0.8")
1760 (source
1761 (origin
1762 (method url-fetch)
1763 (uri (string-append
1764 "https://hackage.haskell.org/package/"
1765 "clock/"
1766 "clock-" version ".tar.gz"))
1767 (sha256
1768 (base32 "0539w9bjw6xbfv9v6aq9hijszxqdnqhilwpbwpql1400ji95r8q8"))))
1769 (build-system haskell-build-system)
1770 (inputs
1771 `(("ghc-tasty" ,ghc-tasty)
1772 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
1773 (home-page "https://hackage.haskell.org/package/clock")
1774 (synopsis "High-resolution clock for Haskell")
1775 (description "A package for convenient access to high-resolution clock and
1776 timer functions of different operating systems via a unified API.")
1777 (license license:bsd-3)))
1778
1779 ;; This package builds `clock` without tests, since the tests rely on tasty
1780 ;; and tasty-quickcheck, which in turn require clock to build.
1781 (define-public ghc-clock-bootstrap
1782 (package
1783 (inherit ghc-clock)
1784 (name "ghc-clock-bootstrap")
1785 (arguments '(#:tests? #f))
1786 (inputs '())
1787 (properties '((hidden? #t)))))
1788
1789 (define-public ghc-cmark
1790 (package
1791 (name "ghc-cmark")
1792 (version "0.6")
1793 (source (origin
1794 (method url-fetch)
1795 ;; XXX As of version 0.6, this package bundles libcmark 0.28.0.
1796 ;; See cbits/cmark_version.h.
1797 (uri (string-append "https://hackage.haskell.org/package/"
1798 "cmark/cmark-" version ".tar.gz"))
1799 (sha256
1800 (base32
1801 "1p41z6z8dqxk62287lvhhg4ayy9laai9ljh4azsnzb029v6mbv0d"))))
1802 (build-system haskell-build-system)
1803 (native-inputs
1804 `(("ghc-hunit" ,ghc-hunit)))
1805 (home-page "https://github.com/jgm/commonmark-hs")
1806 (synopsis "Fast, accurate CommonMark (Markdown) parser and renderer")
1807 (description
1808 "This package provides Haskell bindings for
1809 @uref{https://github.com/jgm/cmark, libcmark}, the reference parser for
1810 CommonMark, a fully specified variant of Markdown. It includes bundled libcmark
1811 sources, and does not require prior installation of the C library.")
1812 (license license:bsd-3)))
1813
1814 (define-public ghc-cmark-gfm
1815 (package
1816 (name "ghc-cmark-gfm")
1817 (version "0.2.0")
1818 (source
1819 (origin
1820 (method url-fetch)
1821 (uri (string-append "https://hackage.haskell.org/package/"
1822 "cmark-gfm/cmark-gfm-"
1823 version ".tar.gz"))
1824 (sha256
1825 (base32
1826 "03xflrkyw84qv3yjly5iks9311bqv5cmrmsylr763v4ph0fn7rjq"))))
1827 (build-system haskell-build-system)
1828 (native-inputs
1829 `(("ghc-hunit" ,ghc-hunit)))
1830 (home-page "https://github.com/kivikakk/cmark-gfm-hs")
1831 (synopsis
1832 "Fast, accurate GitHub Flavored Markdown parser and renderer")
1833 (description
1834 "This package provides Haskell bindings for libcmark-gfm, the reference
1835 parser for GitHub Flavored Markdown, a fully specified variant of Markdown.
1836 It includes sources for libcmark-gfm and does not require prior installation
1837 of the C library.")
1838 (license license:bsd-3)))
1839
1840 (define-public ghc-cmdargs
1841 (package
1842 (name "ghc-cmdargs")
1843 (version "0.10.20")
1844 (source
1845 (origin
1846 (method url-fetch)
1847 (uri (string-append
1848 "https://hackage.haskell.org/package/cmdargs/cmdargs-"
1849 version ".tar.gz"))
1850 (sha256
1851 (base32
1852 "0cbkmgrcnwgigg6z88y3c09gm7g6dwm7gzbgr53h8k1xik29s9hf"))))
1853 (build-system haskell-build-system)
1854 (home-page
1855 "http://community.haskell.org/~ndm/cmdargs/")
1856 (synopsis "Command line argument processing")
1857 (description
1858 "This library provides an easy way to define command line parsers.")
1859 (license license:bsd-3)))
1860
1861 (define-public ghc-code-page
1862 (package
1863 (name "ghc-code-page")
1864 (version "0.2")
1865 (source
1866 (origin
1867 (method url-fetch)
1868 (uri (string-append
1869 "https://hackage.haskell.org/package/code-page/code-page-"
1870 version ".tar.gz"))
1871 (sha256
1872 (base32
1873 "0i0qbrbhvrwkbikqb7hh7yxaipaavwzvyrw211d0vkz99f62mqxz"))))
1874 (build-system haskell-build-system)
1875 (home-page "https://github.com/RyanGlScott/code-page")
1876 (synopsis "Windows code page library for Haskell")
1877 (description "A cross-platform library with functions for adjusting
1878 code pages on Windows. On all other operating systems, the library does
1879 nothing.")
1880 (license license:bsd-3)))
1881
1882 (define-public ghc-colour
1883 (package
1884 (name "ghc-colour")
1885 (version "2.3.5")
1886 (source
1887 (origin
1888 (method url-fetch)
1889 (uri (string-append
1890 "https://hackage.haskell.org/package/colour/colour-"
1891 version ".tar.gz"))
1892 (sha256
1893 (base32
1894 "1rq4l46jx4lpdppy71wf7m1n7pw2jwy788rm35ycwzb1g4clg39v"))))
1895 (arguments
1896 ;; The tests for this package have the following dependency cycle:
1897 ;; ghc-test-framework -> ghc-ansi-terminal -> ghc-colour.
1898 `(#:tests? #f))
1899 (build-system haskell-build-system)
1900 (home-page "https://www.haskell.org/haskellwiki/Colour")
1901 (synopsis "Model for human colour perception")
1902 (description
1903 "This package provides a data type for colours and transparency.
1904 Colours can be blended and composed. Various colour spaces are
1905 supported. A module of colour names (\"Data.Colour.Names\") is provided.")
1906 (license license:expat)))
1907
1908 (define-public ghc-comonad
1909 (package
1910 (name "ghc-comonad")
1911 (version "5.0.5")
1912 (source
1913 (origin
1914 (method url-fetch)
1915 (uri (string-append
1916 "https://hackage.haskell.org/package/comonad/comonad-"
1917 version
1918 ".tar.gz"))
1919 (sha256
1920 (base32
1921 "1l7snp2mszgnjgd0nc9kzfyd13vla0rlazqi03rwx2akcxk14n3c"))))
1922 (build-system haskell-build-system)
1923 (native-inputs
1924 `(("cabal-doctest" ,cabal-doctest)
1925 ("ghc-doctest" ,ghc-doctest)))
1926 (inputs
1927 `(("ghc-contravariant" ,ghc-contravariant)
1928 ("ghc-distributive" ,ghc-distributive)
1929 ("ghc-semigroups" ,ghc-semigroups)
1930 ("ghc-tagged" ,ghc-tagged)
1931 ("ghc-transformers-compat" ,ghc-transformers-compat)))
1932 (home-page "https://github.com/ekmett/comonad/")
1933 (synopsis "Comonads for Haskell")
1934 (description "This library provides @code{Comonad}s for Haskell.")
1935 (license license:bsd-3)))
1936
1937 (define-public ghc-concatenative
1938 (package
1939 (name "ghc-concatenative")
1940 (version "1.0.1")
1941 (source (origin
1942 (method url-fetch)
1943 (uri (string-append
1944 "https://hackage.haskell.org/package/concatenative/concatenative-"
1945 version ".tar.gz"))
1946 (sha256
1947 (base32
1948 "05xwqvcdnk8bsyj698ab9jxpa1nk23pf3m7wi9mwmw0q8n99fngd"))))
1949 (build-system haskell-build-system)
1950 (home-page
1951 "https://patch-tag.com/r/salazar/concatenative/snapshot/current/content/pretty")
1952 (synopsis "Library for postfix control flow")
1953 (description
1954 "Concatenative gives Haskell Factor-style combinators and arrows for
1955 postfix notation. For more information on stack based languages, see
1956 @uref{https://concatenative.org}.")
1957 (license license:bsd-3)))
1958
1959 (define-public ghc-concurrent-extra
1960 (package
1961 (name "ghc-concurrent-extra")
1962 (version "0.7.0.12")
1963 (source
1964 (origin
1965 (method url-fetch)
1966 (uri (string-append "https://hackage.haskell.org/package/"
1967 "concurrent-extra/concurrent-extra-"
1968 version ".tar.gz"))
1969 (sha256
1970 (base32
1971 "1y8xk460fvnw0idzdiylmm874sjny4q9jxb1js9fjz8lw2wns3h4"))))
1972 (build-system haskell-build-system)
1973 (arguments
1974 ;; XXX: The ReadWriteLock 'stressTest' fails.
1975 `(#:tests? #f))
1976 (inputs
1977 `(("ghc-unbounded-delays" ,ghc-unbounded-delays)))
1978 (native-inputs
1979 `(("ghc-async" ,ghc-async)
1980 ("ghc-hunit" ,ghc-hunit)
1981 ("ghc-random" ,ghc-random)
1982 ("ghc-test-framework" ,ghc-test-framework)
1983 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
1984 (home-page "https://github.com/basvandijk/concurrent-extra")
1985 (synopsis "Extra concurrency primitives")
1986 (description "This Haskell library offers (among other things) the
1987 following selection of synchronisation primitives:
1988
1989 @itemize
1990 @item @code{Broadcast}: Wake multiple threads by broadcasting a value.
1991 @item @code{Event}: Wake multiple threads by signalling an event.
1992 @item @code{Lock}: Enforce exclusive access to a resource. Also known
1993 as a binary semaphore or mutex. The package additionally provides an
1994 alternative that works in the STM monad.
1995 @item @code{RLock}: A lock which can be acquired multiple times by the
1996 same thread. Also known as a reentrant mutex.
1997 @item @code{ReadWriteLock}: Multiple-reader, single-writer locks. Used
1998 to protect shared resources which may be concurrently read, but only
1999 sequentially written.
2000 @item @code{ReadWriteVar}: Concurrent read, sequential write variables.
2001 @end itemize
2002
2003 Please consult the API documentation of the individual modules for more
2004 detailed information.
2005
2006 This package was inspired by the concurrency libraries of Java and
2007 Python.")
2008 (license license:bsd-3)))
2009
2010 (define-public ghc-concurrent-output
2011 (package
2012 (name "ghc-concurrent-output")
2013 (version "1.10.11")
2014 (source
2015 (origin
2016 (method url-fetch)
2017 (uri (string-append
2018 "mirror://hackage/package/concurrent-output/concurrent-output-"
2019 version
2020 ".tar.gz"))
2021 (sha256
2022 (base32
2023 "1d1aaqg5814k59b0iws3fh06p3g2siaj922gkhs75qgncj0my2p3"))))
2024 (build-system haskell-build-system)
2025 (inputs
2026 `(("ghc-async" ,ghc-async)
2027 ("ghc-exceptions" ,ghc-exceptions)
2028 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
2029 ("ghc-terminal-size" ,ghc-terminal-size)))
2030 (home-page
2031 "https://hackage.haskell.org/package/concurrent-output")
2032 (synopsis
2033 "Ungarble output from several threads or commands")
2034 (description
2035 "Lets multiple threads and external processes concurrently output to the
2036 console, without it getting all garbled up.
2037
2038 Built on top of that is a way of defining multiple output regions, which are
2039 automatically laid out on the screen and can be individually updated by
2040 concurrent threads. Can be used for progress displays etc.")
2041 (license license:bsd-2)))
2042
2043 (define-public ghc-conduit
2044 (package
2045 (name "ghc-conduit")
2046 (version "1.3.1.1")
2047 (source (origin
2048 (method url-fetch)
2049 (uri (string-append "https://hackage.haskell.org/package/"
2050 "conduit/conduit-" version ".tar.gz"))
2051 (sha256
2052 (base32
2053 "18izjgff4pmrknc8py06yvg3g6x27nx0rzmlwjxcflwm5v4szpw4"))))
2054 (build-system haskell-build-system)
2055 (inputs
2056 `(("ghc-exceptions" ,ghc-exceptions)
2057 ("ghc-lifted-base" ,ghc-lifted-base)
2058 ("ghc-mono-traversable" ,ghc-mono-traversable)
2059 ("ghc-mmorph" ,ghc-mmorph)
2060 ("ghc-resourcet" ,ghc-resourcet)
2061 ("ghc-silently" ,ghc-silently)
2062 ("ghc-transformers-base" ,ghc-transformers-base)
2063 ("ghc-unliftio" ,ghc-unliftio)
2064 ("ghc-unliftio-core" ,ghc-unliftio-core)
2065 ("ghc-vector" ,ghc-vector)
2066 ("ghc-void" ,ghc-void)))
2067 (native-inputs
2068 `(("ghc-quickcheck" ,ghc-quickcheck)
2069 ("ghc-hspec" ,ghc-hspec)
2070 ("ghc-safe" ,ghc-safe)
2071 ("ghc-split" ,ghc-split)))
2072 (home-page "https://github.com/snoyberg/conduit")
2073 (synopsis "Streaming data library ")
2074 (description
2075 "The conduit package is a solution to the streaming data problem,
2076 allowing for production, transformation, and consumption of streams of data
2077 in constant memory. It is an alternative to lazy I/O which guarantees
2078 deterministic resource handling, and fits in the same general solution
2079 space as enumerator/iteratee and pipes.")
2080 (license license:expat)))
2081
2082 (define-public ghc-conduit-algorithms
2083 (package
2084 (name "ghc-conduit-algorithms")
2085 (version "0.0.11.0")
2086 (source
2087 (origin
2088 (method url-fetch)
2089 (uri (string-append "https://hackage.haskell.org/package/"
2090 "conduit-algorithms/conduit-algorithms-"
2091 version ".tar.gz"))
2092 (sha256
2093 (base32
2094 "0c1jwz30kkvimx7lb61782yk0kyfamrf5bqc3g1h7g51lk8bbv9i"))))
2095 (build-system haskell-build-system)
2096 (inputs
2097 `(("ghc-async" ,ghc-async)
2098 ("ghc-bzlib-conduit" ,ghc-bzlib-conduit)
2099 ("ghc-conduit" ,ghc-conduit)
2100 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
2101 ("ghc-conduit-extra" ,ghc-conduit-extra)
2102 ("ghc-conduit-zstd" ,ghc-conduit-zstd)
2103 ("ghc-exceptions" ,ghc-exceptions)
2104 ("ghc-lzma-conduit" ,ghc-lzma-conduit)
2105 ("ghc-monad-control" ,ghc-monad-control)
2106 ("ghc-pqueue" ,ghc-pqueue)
2107 ("ghc-resourcet" ,ghc-resourcet)
2108 ("ghc-stm-conduit" ,ghc-stm-conduit)
2109 ("ghc-streaming-commons" ,ghc-streaming-commons)
2110 ("ghc-unliftio-core" ,ghc-unliftio-core)
2111 ("ghc-vector" ,ghc-vector)))
2112 (native-inputs
2113 `(("ghc-hunit" ,ghc-hunit)
2114 ("ghc-test-framework" ,ghc-test-framework)
2115 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
2116 ("ghc-test-framework-th" ,ghc-test-framework-th)))
2117 (home-page "https://github.com/luispedro/conduit-algorithms#readme")
2118 (synopsis "Conduit-based algorithms")
2119 (description
2120 "This package provides algorithms on @code{Conduits}, including higher
2121 level asynchronous processing and some other utilities.")
2122 (license license:expat)))
2123
2124 (define-public ghc-conduit-combinators
2125 (package
2126 (name "ghc-conduit-combinators")
2127 (version "1.3.0")
2128 (source
2129 (origin
2130 (method url-fetch)
2131 (uri (string-append "https://hackage.haskell.org/package/"
2132 "conduit-combinators-" version "/"
2133 "conduit-combinators-" version ".tar.gz"))
2134 (sha256
2135 (base32
2136 "1lz70vwp4y4lpsivxl0cshq7aq3968rh48r6rjvpyaj2l0bdj5wp"))))
2137 (build-system haskell-build-system)
2138 (inputs `(("ghc-conduit" ,ghc-conduit)
2139 ("ghc-conduit-extra" ,ghc-conduit-extra)
2140 ("ghc-transformers-base" ,ghc-transformers-base)
2141 ("ghc-primitive" ,ghc-primitive)
2142 ("ghc-vector" ,ghc-vector)
2143 ("ghc-void" ,ghc-void)
2144 ("ghc-mwc-random" ,ghc-mwc-random)
2145 ("ghc-unix-compat" ,ghc-unix-compat)
2146 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
2147 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
2148 ("ghc-resourcet" ,ghc-resourcet)
2149 ("ghc-monad-control" ,ghc-monad-control)
2150 ("ghc-chunked-data" ,ghc-chunked-data)
2151 ("ghc-mono-traversable" ,ghc-mono-traversable)))
2152 (native-inputs `(("ghc-hspec" ,ghc-hspec)
2153 ("ghc-silently" ,ghc-silently)
2154 ("ghc-safe" ,ghc-safe)
2155 ("ghc-quickcheck" ,ghc-quickcheck)))
2156 (home-page "https://github.com/snoyberg/mono-traversable")
2157 (synopsis "Commonly used conduit functions, for both chunked and
2158 unchunked data")
2159 (description "This Haskell package provides a replacement for Data.Conduit.List,
2160 as well as a convenient Conduit module.")
2161 (license license:expat)))
2162
2163 (define-public ghc-conduit-extra
2164 (package
2165 (name "ghc-conduit-extra")
2166 (version "1.3.4")
2167 (source
2168 (origin
2169 (method url-fetch)
2170 (uri (string-append "https://hackage.haskell.org/package/"
2171 "conduit-extra/conduit-extra-"
2172 version ".tar.gz"))
2173 (sha256
2174 (base32
2175 "1d853d39vj5pb8yxfcsnjwdzqzkm34ixzbnba8bslpihb7182wxi"))))
2176 (build-system haskell-build-system)
2177 (inputs
2178 `(("ghc-conduit" ,ghc-conduit)
2179 ("ghc-exceptions" ,ghc-exceptions)
2180 ("ghc-monad-control" ,ghc-monad-control)
2181 ("ghc-transformers-base" ,ghc-transformers-base)
2182 ("ghc-typed-process" ,ghc-typed-process)
2183 ("ghc-async" ,ghc-async)
2184 ("ghc-attoparsec" ,ghc-attoparsec)
2185 ("ghc-blaze-builder" ,ghc-blaze-builder)
2186 ("ghc-network" ,ghc-network)
2187 ("ghc-primitive" ,ghc-primitive)
2188 ("ghc-resourcet" ,ghc-resourcet)
2189 ("ghc-streaming-commons" ,ghc-streaming-commons)
2190 ("ghc-hspec" ,ghc-hspec)
2191 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
2192 ("ghc-quickcheck" ,ghc-quickcheck)))
2193 (native-inputs
2194 `(("hspec-discover" ,hspec-discover)))
2195 (home-page "https://github.com/snoyberg/conduit")
2196 (synopsis "Conduit adapters for common libraries")
2197 (description
2198 "The @code{conduit} package itself maintains relative small dependencies.
2199 The purpose of this package is to collect commonly used utility functions
2200 wrapping other library dependencies, without depending on heavier-weight
2201 dependencies. The basic idea is that this package should only depend on
2202 @code{haskell-platform} packages and @code{conduit}.")
2203 (license license:expat)))
2204
2205 (define-public ghc-conduit-zstd
2206 (package
2207 (name "ghc-conduit-zstd")
2208 (version "0.0.1.1")
2209 (source
2210 (origin
2211 (method url-fetch)
2212 (uri (string-append "https://hackage.haskell.org/package/"
2213 "conduit-zstd/conduit-zstd-" version ".tar.gz"))
2214 (sha256
2215 (base32
2216 "04h7w2903hgw4gjcx2pg29yinnmfapawvc19hd3r57rr12fzb0c6"))))
2217 (build-system haskell-build-system)
2218 (inputs
2219 `(("ghc-conduit" ,ghc-conduit)
2220 ("ghc-zstd" ,ghc-zstd)))
2221 (native-inputs
2222 `(("ghc-hunit" ,ghc-hunit)
2223 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
2224 ("ghc-conduit-extra" ,ghc-conduit-extra)
2225 ("ghc-test-framework" ,ghc-test-framework)
2226 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
2227 ("ghc-test-framework-th" ,ghc-test-framework-th)))
2228 (home-page "https://github.com/luispedro/conduit-zstd#readme")
2229 (synopsis "Conduit-based ZStd Compression")
2230 (description "Zstandard compression packaged as a conduit. This is
2231 a very thin wrapper around the
2232 @url{https://github.com/facebookexperimental/hs-zstd/, official hs-zstd
2233 interface}.")
2234 (license license:expat)))
2235
2236 (define-public ghc-configurator
2237 (package
2238 (name "ghc-configurator")
2239 (version "0.3.0.0")
2240 (source
2241 (origin
2242 (method url-fetch)
2243 (uri (string-append "https://hackage.haskell.org/package/"
2244 "configurator/configurator-"
2245 version ".tar.gz"))
2246 (sha256
2247 (base32
2248 "1d1iq1knwiq6ia5g64rw5hqm6dakz912qj13r89737rfcxmrkfbf"))))
2249 (build-system haskell-build-system)
2250 (inputs
2251 `(("ghc-attoparsec" ,ghc-attoparsec)
2252 ("ghc-hashable" ,ghc-hashable)
2253 ("ghc-unix-compat" ,ghc-unix-compat)
2254 ("ghc-unordered-containers" ,ghc-unordered-containers)))
2255 (native-inputs
2256 `(("ghc-hunit" ,ghc-hunit)
2257 ("ghc-test-framework" ,ghc-test-framework)
2258 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
2259 (home-page "http://github.com/bos/configurator")
2260 (synopsis "Configuration management")
2261 (description
2262 "This package provides a configuration management library for programs
2263 and daemons. The features include:
2264
2265 @enumerate
2266 @item Automatic, dynamic reloading in response to modifications to
2267 configuration files.
2268 @item A simple, but flexible, configuration language, supporting several of
2269 the most commonly needed types of data, along with interpolation of strings
2270 from the configuration or the system environment (e.g. @code{$(HOME)}).
2271 @item Subscription-based notification of changes to configuration properties.
2272 @item An @code{import} directive allows the configuration of a complex
2273 application to be split across several smaller files, or common configuration
2274 data to be shared across several applications.
2275 @end enumerate\n")
2276 (license license:bsd-3)))
2277
2278 (define-public ghc-connection
2279 (package
2280 (name "ghc-connection")
2281 (version "0.3.1")
2282 (source (origin
2283 (method url-fetch)
2284 (uri (string-append "https://hackage.haskell.org/package/"
2285 "connection/connection-"
2286 version ".tar.gz"))
2287 (sha256
2288 (base32
2289 "1nbmafhlg0wy4aa3p7amjddbamdz6avzrxn4py3lvhrjqn4raxax"))))
2290 (build-system haskell-build-system)
2291 (inputs
2292 `(("ghc-byteable" ,ghc-byteable)
2293 ("ghc-data-default-class" ,ghc-data-default-class)
2294 ("ghc-network" ,ghc-network)
2295 ("ghc-tls" ,ghc-tls)
2296 ("ghc-socks" ,ghc-socks)
2297 ("ghc-x509" ,ghc-x509)
2298 ("ghc-x509-store" ,ghc-x509-store)
2299 ("ghc-x509-system" ,ghc-x509-system)
2300 ("ghc-x509-validation" ,ghc-x509-validation)))
2301 (home-page "https://github.com/vincenthz/hs-connection")
2302 (synopsis "Simple and easy network connections API")
2303 (description
2304 "This package provides a simple network library for all your connection
2305 needs. It provides a very simple API to create sockets to a destination with
2306 the choice of SSL/TLS, and SOCKS.")
2307 (license license:bsd-3)))
2308
2309 (define-public ghc-constraints
2310 (package
2311 (name "ghc-constraints")
2312 (version "0.10.1")
2313 (source
2314 (origin
2315 (method url-fetch)
2316 (uri (string-append
2317 "https://hackage.haskell.org/package/constraints/constraints-"
2318 version ".tar.gz"))
2319 (sha256
2320 (base32
2321 "1xy3vv78jxc17hm0z7qqspxjwv7l2jbcbj670yrl2f053qkfr02q"))))
2322 (build-system haskell-build-system)
2323 (inputs
2324 `(("ghc-hashable" ,ghc-hashable)
2325 ("ghc-semigroups" ,ghc-semigroups)
2326 ("ghc-transformers-compat" ,ghc-transformers-compat)))
2327 (native-inputs
2328 `(("ghc-hspec" ,ghc-hspec)
2329 ("hspec-discover" ,hspec-discover)))
2330 (home-page "https://github.com/ekmett/constraints/")
2331 (synopsis "Constraint manipulation")
2332 (description
2333 "GHC 7.4 gave us the ability to talk about @code{ConstraintKinds}.
2334 They stopped crashing the compiler in GHC 7.6. This package provides
2335 a vocabulary for working with them.")
2336 (license license:bsd-3)))
2337
2338 (define-public ghc-contravariant
2339 (package
2340 (name "ghc-contravariant")
2341 (version "1.5.2")
2342 (source
2343 (origin
2344 (method url-fetch)
2345 (uri (string-append
2346 "https://hackage.haskell.org/package/contravariant/contravariant-"
2347 version
2348 ".tar.gz"))
2349 (sha256
2350 (base32
2351 "0366gl62wwwdbl9i6kqy60asf60876k55v91la6bmhnwwcj2q9n4"))))
2352 (build-system haskell-build-system)
2353 (inputs
2354 `(("ghc-void" ,ghc-void)
2355 ("ghc-transformers-compat" ,ghc-transformers-compat)
2356 ("ghc-statevar" ,ghc-statevar)
2357 ("ghc-semigroups" ,ghc-semigroups)))
2358 (home-page
2359 "https://github.com/ekmett/contravariant/")
2360 (synopsis "Contravariant functors")
2361 (description "Contravariant functors for Haskell.")
2362 (license license:bsd-3)))
2363
2364 (define-public ghc-contravariant-extras
2365 (package
2366 (name "ghc-contravariant-extras")
2367 (version "0.3.4")
2368 (source
2369 (origin
2370 (method url-fetch)
2371 (uri (string-append "https://hackage.haskell.org/package/"
2372 "contravariant-extras-" version "/"
2373 "contravariant-extras-" version ".tar.gz"))
2374 (sha256
2375 (base32
2376 "0gg62ccl94kvh7mnvdq09pifqxjx2kgs189si90nmg44bafj7a9n"))))
2377 (build-system haskell-build-system)
2378 (arguments
2379 `(#:cabal-revision
2380 ("1" "1h2955ahga6i4fn7k8v66l03v77p6fhsac6ck8gpabkc08ij60wp")))
2381 (inputs
2382 `(("ghc-tuple-th" ,ghc-tuple-th)
2383 ("ghc-contravariant" ,ghc-contravariant)
2384 ("ghc-base-prelude" ,ghc-base-prelude)
2385 ("ghc-semigroups" ,ghc-semigroups)))
2386 (home-page "https://github.com/nikita-volkov/contravariant-extras")
2387 (synopsis "Extras for the @code{ghc-contravariant} Haskell package")
2388 (description "This Haskell package provides extras for the
2389 @code{ghc-contravariant} package.")
2390 (license license:expat)))
2391
2392 (define-public ghc-convertible
2393 (package
2394 (name "ghc-convertible")
2395 (version "1.1.1.0")
2396 (source
2397 (origin
2398 (method url-fetch)
2399 (uri (string-append "https://hackage.haskell.org/package/convertible/"
2400 "convertible-" version ".tar.gz"))
2401 (sha256
2402 (base32
2403 "0v18ap1mccnndgxmbfgyjdicg8jlss01bd5fq8a576dr0h4sgyg9"))))
2404 (build-system haskell-build-system)
2405 (inputs
2406 `(("ghc-old-time" ,ghc-old-time)
2407 ("ghc-old-locale" ,ghc-old-locale)))
2408 (home-page "https://hackage.haskell.org/package/convertible")
2409 (synopsis "Typeclasses and instances for converting between types")
2410 (description
2411 "This package provides a typeclass with a single function that is
2412 designed to help convert between different types: numeric values, dates and
2413 times, and the like. The conversions perform bounds checking and return a
2414 pure @code{Either} value. This means that you need not remember which specific
2415 function performs the conversion you desire.")
2416 (license license:bsd-3)))
2417
2418 (define-public ghc-data-accessor
2419 (package
2420 (name "ghc-data-accessor")
2421 (version "0.2.2.8")
2422 (source
2423 (origin
2424 (method url-fetch)
2425 (uri (string-append
2426 "mirror://hackage/package/data-accessor/data-accessor-"
2427 version ".tar.gz"))
2428 (sha256
2429 (base32 "1fq4gygxbz0bd0mzgvc1sl3m4gjnsv8nbgpnmdpa29zj5lb9agxc"))))
2430 (build-system haskell-build-system)
2431 (home-page "https://www.haskell.org/haskellwiki/Record_access")
2432 (synopsis
2433 "Haskell utilities for accessing and manipulating fields of records")
2434 (description "This package provides Haskell modules for accessing and
2435 manipulating fields of records.")
2436 (license license:bsd-3)))
2437
2438 (define-public ghc-data-accessor-transformers
2439 (package
2440 (name "ghc-data-accessor-transformers")
2441 (version "0.2.1.7")
2442 (source
2443 (origin
2444 (method url-fetch)
2445 (uri (string-append
2446 "mirror://hackage/package/data-accessor-transformers/"
2447 "data-accessor-transformers-" version ".tar.gz"))
2448 (sha256
2449 (base32 "0yp030vafbpddl27m606aibbbr5ar5j5bsv4bksscz3cq4yq5j10"))))
2450 (build-system haskell-build-system)
2451 (inputs `(("ghc-data-accessor" ,ghc-data-accessor)))
2452 (home-page "https://www.haskell.org/haskellwiki/Record_access")
2453 (synopsis "Use Accessor to access state in transformers State monad")
2454 (description "This package provides Haskell modules to allow use of
2455 Accessor to access state in transformers State monad.")
2456 (license license:bsd-3)))
2457
2458 (define-public ghc-data-default
2459 (package
2460 (name "ghc-data-default")
2461 (version "0.7.1.1")
2462 (source
2463 (origin
2464 (method url-fetch)
2465 (uri (string-append
2466 "https://hackage.haskell.org/package/data-default/data-default-"
2467 version
2468 ".tar.gz"))
2469 (sha256
2470 (base32 "04d5n8ybmcxba9qb6h389w9zfq1lvj81b82jh6maqp6pkhkmvydh"))))
2471 (build-system haskell-build-system)
2472 (inputs
2473 `(("ghc-data-default-class"
2474 ,ghc-data-default-class)
2475 ("ghc-data-default-instances-base"
2476 ,ghc-data-default-instances-base)
2477 ("ghc-data-default-instances-containers"
2478 ,ghc-data-default-instances-containers)
2479 ("ghc-data-default-instances-dlist"
2480 ,ghc-data-default-instances-dlist)
2481 ("ghc-data-default-instances-old-locale"
2482 ,ghc-data-default-instances-old-locale)))
2483 (home-page "https://hackage.haskell.org/package/data-default")
2484 (synopsis "Types with default values")
2485 (description
2486 "This package defines a class for types with a default value, and
2487 provides instances for types from the base, containers, dlist and old-locale
2488 packages.")
2489 (license license:bsd-3)))
2490
2491 (define-public ghc-data-default-class
2492 (package
2493 (name "ghc-data-default-class")
2494 (version "0.1.2.0")
2495 (source
2496 (origin
2497 (method url-fetch)
2498 (uri (string-append
2499 "https://hackage.haskell.org/package/data-default-class/"
2500 "data-default-class-" version ".tar.gz"))
2501 (sha256
2502 (base32 "0miyjz8d4jyvqf2vp60lyfbnflx6cj2k8apmm9ly1hq0y0iv80ag"))))
2503 (build-system haskell-build-system)
2504 (home-page "https://hackage.haskell.org/package/data-default-class")
2505 (synopsis "Types with default values")
2506 (description
2507 "This package defines a class for types with default values.")
2508 (license license:bsd-3)))
2509
2510 (define-public ghc-data-default-instances-base
2511 (package
2512 (name "ghc-data-default-instances-base")
2513 (version "0.1.0.1")
2514 (source
2515 (origin
2516 (method url-fetch)
2517 (uri (string-append
2518 "https://hackage.haskell.org/package/"
2519 "data-default-instances-base/"
2520 "data-default-instances-base-" version ".tar.gz"))
2521 (sha256
2522 (base32 "0ym1sw3ssdzzifxxhh76qlv8kkmb2iclc158incv1dklyr9y8kw4"))))
2523 (build-system haskell-build-system)
2524 (inputs
2525 `(("ghc-data-default-class" ,ghc-data-default-class)))
2526 (home-page "https://hackage.haskell.org/package/data-default-instances-base")
2527 (synopsis "Default instances for types in base")
2528 (description
2529 "This package provides default instances for types from the base
2530 package.")
2531 (license license:bsd-3)))
2532
2533 (define-public ghc-data-default-instances-containers
2534 (package
2535 (name "ghc-data-default-instances-containers")
2536 (version "0.0.1")
2537 (source
2538 (origin
2539 (method url-fetch)
2540 (uri (string-append
2541 "https://hackage.haskell.org/package/"
2542 "data-default-instances-containers/"
2543 "data-default-instances-containers-" version ".tar.gz"))
2544 (sha256
2545 (base32 "06h8xka031w752a7cjlzghvr8adqbl95xj9z5zc1b62w02phfpm5"))))
2546 (build-system haskell-build-system)
2547 (inputs
2548 `(("ghc-data-default-class" ,ghc-data-default-class)))
2549 (home-page "https://hackage.haskell.org/package/data-default-instances-containers")
2550 (synopsis "Default instances for types in containers")
2551 (description "Provides default instances for types from the containers
2552 package.")
2553 (license license:bsd-3)))
2554
2555 (define-public ghc-data-default-instances-dlist
2556 (package
2557 (name "ghc-data-default-instances-dlist")
2558 (version "0.0.1")
2559 (source
2560 (origin
2561 (method url-fetch)
2562 (uri (string-append
2563 "https://hackage.haskell.org/package/"
2564 "data-default-instances-dlist/"
2565 "data-default-instances-dlist-" version ".tar.gz"))
2566 (sha256
2567 (base32 "0narkdqiprhgayjiawrr4390h4rq4pl2pb6mvixbv2phrc8kfs3x"))))
2568 (build-system haskell-build-system)
2569 (inputs
2570 `(("ghc-data-default-class" ,ghc-data-default-class)
2571 ("ghc-dlist" ,ghc-dlist)))
2572 (home-page "https://hackage.haskell.org/package/data-default-instances-dlist")
2573 (synopsis "Default instances for types in dlist")
2574 (description "Provides default instances for types from the dlist
2575 package.")
2576 (license license:bsd-3)))
2577
2578 (define-public ghc-data-default-instances-old-locale
2579 (package
2580 (name "ghc-data-default-instances-old-locale")
2581 (version "0.0.1")
2582 (source
2583 (origin
2584 (method url-fetch)
2585 (uri (string-append
2586 "https://hackage.haskell.org/package/"
2587 "data-default-instances-old-locale/"
2588 "data-default-instances-old-locale-" version ".tar.gz"))
2589 (sha256
2590 (base32 "00h81i5phib741yj517p8mbnc48myvfj8axzsw44k34m48lv1lv0"))))
2591 (build-system haskell-build-system)
2592 (inputs
2593 `(("ghc-data-default-class" ,ghc-data-default-class)
2594 ("ghc-old-locale" ,ghc-old-locale)))
2595 (home-page
2596 "https://hackage.haskell.org/package/data-default-instances-old-locale")
2597 (synopsis "Default instances for types in old-locale")
2598 (description "Provides Default instances for types from the old-locale
2599 package.")
2600 (license license:bsd-3)))
2601
2602 (define-public ghc-data-hash
2603 (package
2604 (name "ghc-data-hash")
2605 (version "0.2.0.1")
2606 (source
2607 (origin
2608 (method url-fetch)
2609 (uri (string-append "https://hackage.haskell.org/package/data-hash"
2610 "/data-hash-" version ".tar.gz"))
2611 (sha256
2612 (base32 "1ghbqvc48gf9p8wiy71hdpaj7by3b9cw6wgwi3qqz8iw054xs5wi"))))
2613 (build-system haskell-build-system)
2614 (inputs
2615 `(("ghc-quickcheck" ,ghc-quickcheck)
2616 ("ghc-test-framework" ,ghc-test-framework)
2617 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2618 (home-page "https://hackage.haskell.org/package/data-hash")
2619 (synopsis "Combinators for building fast hashing functions")
2620 (description
2621 "This package provides combinators for building fast hashing functions.
2622 It includes hashing functions for all basic Haskell98 types.")
2623 (license license:bsd-3)))
2624
2625 (define-public ghc-data-ordlist
2626 (package
2627 (name "ghc-data-ordlist")
2628 (version "0.4.7.0")
2629 (source
2630 (origin
2631 (method url-fetch)
2632 (uri (string-append
2633 "https://hackage.haskell.org/package/data-ordlist/data-ordlist-"
2634 version ".tar.gz"))
2635 (sha256
2636 (base32
2637 "03a9ix1fcx08viwv2jg5ndw1qbkydyyrmjvqr9wasmcik9x1wv3g"))))
2638 (build-system haskell-build-system)
2639 (home-page "https://hackage.haskell.org/package/data-ordlist")
2640 (synopsis "Set and bag operations on ordered lists")
2641 (description
2642 "This module provides set and multiset operations on ordered lists.")
2643 (license license:bsd-3)))
2644
2645 (define-public ghc-deepseq-generics
2646 (package
2647 (name "ghc-deepseq-generics")
2648 (version "0.2.0.0")
2649 (source (origin
2650 (method url-fetch)
2651 (uri (string-append "https://hackage.haskell.org/package/"
2652 "deepseq-generics/deepseq-generics-"
2653 version ".tar.gz"))
2654 (sha256
2655 (base32
2656 "17bwghc15mc9pchfd1w46jh2p3wzc86aj6a537wqwxn08rayzcxh"))))
2657 (build-system haskell-build-system)
2658 (arguments
2659 `(#:cabal-revision
2660 ("4" "0928s2qnbqsjzrm94x88rvmvbigfmhcyp4m73gw6asinp2qg1kii")))
2661 (native-inputs
2662 `(("ghc-hunit" ,ghc-hunit)
2663 ("ghc-test-framework" ,ghc-test-framework)
2664 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
2665 (home-page "https://github.com/hvr/deepseq-generics")
2666 (synopsis "Generic RNF implementation")
2667 (description
2668 "This package provides a @code{GHC.Generics}-based
2669 @code{Control.DeepSeq.Generics.genericRnf} function which can be used for
2670 providing an @code{rnf} implementation.")
2671 (license license:bsd-3)))
2672
2673 (define-public ghc-dense-linear-algebra
2674 (package
2675 (name "ghc-dense-linear-algebra")
2676 (version "0.1.0.0")
2677 (source
2678 (origin
2679 (method url-fetch)
2680 (uri (string-append "https://hackage.haskell.org/package/"
2681 "dense-linear-algebra/dense-linear-algebra-"
2682 version ".tar.gz"))
2683 (sha256
2684 (base32
2685 "1m7jjxahqxj7ilic3r9806mwp5rnnsmn8vvipkmk40xl65wplxzp"))))
2686 (build-system haskell-build-system)
2687 (inputs
2688 `(("ghc-math-functions" ,ghc-math-functions)
2689 ("ghc-primitive" ,ghc-primitive)
2690 ("ghc-vector" ,ghc-vector)
2691 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
2692 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)
2693 ("ghc-vector-binary-instances" ,ghc-vector-binary-instances)))
2694 (native-inputs
2695 `(("ghc-hspec" ,ghc-hspec)
2696 ("ghc-quickcheck" ,ghc-quickcheck)))
2697 (home-page "http://hackage.haskell.org/package/dense-linear-algebra")
2698 (synopsis "Simple and incomplete implementation of linear algebra")
2699 (description "This library is simply a collection of linear-algebra
2700 related modules split from the statistics library.")
2701 (license license:bsd-2)))
2702
2703 (define-public ghc-descriptive
2704 (package
2705 (name "ghc-descriptive")
2706 (version "0.9.5")
2707 (source
2708 (origin
2709 (method url-fetch)
2710 (uri (string-append
2711 "https://hackage.haskell.org/package/descriptive/descriptive-"
2712 version
2713 ".tar.gz"))
2714 (sha256
2715 (base32
2716 "0y5693zm2kvqjilybbmrcv1g6n6x2p6zjgi0k0axjw1sdhh1g237"))))
2717 (build-system haskell-build-system)
2718 (inputs
2719 `(("ghc-aeson" ,ghc-aeson)
2720 ("ghc-bifunctors" ,ghc-bifunctors)
2721 ("ghc-scientific" ,ghc-scientific)
2722 ("ghc-vector" ,ghc-vector)))
2723 (native-inputs
2724 `(("ghc-hunit" ,ghc-hunit)
2725 ("ghc-hspec" ,ghc-hspec)))
2726 (home-page
2727 "https://github.com/chrisdone/descriptive")
2728 (synopsis
2729 "Self-describing consumers/parsers: forms, cmd-line args, JSON, etc.")
2730 (description
2731 "This package provides datatypes and functions for creating consumers
2732 and parsers with useful semantics.")
2733 (license license:bsd-3)))
2734
2735 (define-public ghc-diff
2736 (package
2737 (name "ghc-diff")
2738 (version "0.3.4")
2739 (source (origin
2740 (method url-fetch)
2741 (uri (string-append "https://hackage.haskell.org/package/"
2742 "Diff/Diff-" version ".tar.gz"))
2743 (patches (search-patches "ghc-diff-swap-cover-args.patch"))
2744 (sha256
2745 (base32
2746 "0bqcdvhxx8dmqc3793m6axg813wv9ldz2j37f1wygbbrbbndmdvp"))))
2747 (build-system haskell-build-system)
2748 (native-inputs
2749 `(("ghc-quickcheck" ,ghc-quickcheck)
2750 ("ghc-test-framework" ,ghc-test-framework)
2751 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2752 (home-page "https://hub.darcs.net/sterlingclover/Diff")
2753 (synopsis "O(ND) diff algorithm in Haskell")
2754 (description
2755 "This package provides an implementation of the standard diff algorithm,
2756 and utilities for pretty printing.")
2757 (license license:bsd-3)))
2758
2759 (define-public ghc-disk-free-space
2760 (package
2761 (name "ghc-disk-free-space")
2762 (version "0.1.0.1")
2763 (source
2764 (origin
2765 (method url-fetch)
2766 (uri (string-append "https://hackage.haskell.org/package/"
2767 "disk-free-space/disk-free-space-"
2768 version ".tar.gz"))
2769 (sha256
2770 (base32
2771 "07rqj8k1vh3cykq9yidpjxhgh1f7vgmjs6y1nv5kq2217ff4yypi"))))
2772 (build-system haskell-build-system)
2773 (home-page "https://github.com/redneb/disk-free-space")
2774 (synopsis "Retrieve information about disk space usage")
2775 (description "A cross-platform library for retrieving information about
2776 disk space usage.")
2777 (license license:bsd-3)))
2778
2779 (define-public ghc-distributive
2780 (package
2781 (name "ghc-distributive")
2782 (version "0.6.1")
2783 (source
2784 (origin
2785 (method url-fetch)
2786 (uri (string-append
2787 "https://hackage.haskell.org/package/distributive/distributive-"
2788 version
2789 ".tar.gz"))
2790 (sha256
2791 (base32
2792 "1wnayzzb4vk8rhh9gzhdpd9f64366k4vmbhximavmqqmp3cv2jbp"))))
2793 (build-system haskell-build-system)
2794 (inputs
2795 `(("ghc-tagged" ,ghc-tagged)
2796 ("ghc-base-orphans" ,ghc-base-orphans)
2797 ("ghc-transformers-compat" ,ghc-transformers-compat)
2798 ("ghc-semigroups" ,ghc-semigroups)
2799 ("ghc-generic-deriving" ,ghc-generic-deriving)))
2800 (native-inputs
2801 `(("cabal-doctest" ,cabal-doctest)
2802 ("ghc-doctest" ,ghc-doctest)
2803 ("ghc-hspec" ,ghc-hspec)
2804 ("hspec-discover" ,hspec-discover)))
2805 (home-page "https://github.com/ekmett/distributive/")
2806 (synopsis "Distributive functors for Haskell")
2807 (description "This package provides distributive functors for Haskell.
2808 Dual to @code{Traversable}.")
2809 (license license:bsd-3)))
2810
2811 (define-public ghc-dlist
2812 (package
2813 (name "ghc-dlist")
2814 (version "0.8.0.7")
2815 (source
2816 (origin
2817 (method url-fetch)
2818 (uri (string-append
2819 "https://hackage.haskell.org/package/dlist/dlist-"
2820 version
2821 ".tar.gz"))
2822 (sha256
2823 (base32 "0b5spkzvj2kx8pk86xz0djkxs13j7dryf5fl16dk4mlp1wh6mh53"))))
2824 (build-system haskell-build-system)
2825 (inputs
2826 `(("ghc-quickcheck" ,ghc-quickcheck)))
2827 (home-page "https://github.com/spl/dlist")
2828 (synopsis "Difference lists")
2829 (description
2830 "Difference lists are a list-like type supporting O(1) append. This is
2831 particularly useful for efficient logging and pretty printing (e.g. with the
2832 Writer monad), where list append quickly becomes too expensive.")
2833 (license license:bsd-3)))
2834
2835 (define-public ghc-doctemplates
2836 (package
2837 (name "ghc-doctemplates")
2838 (version "0.2.2.1")
2839 (source
2840 (origin
2841 (method url-fetch)
2842 (uri (string-append "https://hackage.haskell.org/package/"
2843 "doctemplates/doctemplates-"
2844 version ".tar.gz"))
2845 (sha256
2846 (base32
2847 "1gyckfg3kgvzhxw14i7iwrw0crygvsp86sy53bbr1yn7bxbgn33b"))))
2848 (build-system haskell-build-system)
2849 (inputs
2850 `(("ghc-aeson" ,ghc-aeson)
2851 ("ghc-blaze-markup" ,ghc-blaze-markup)
2852 ("ghc-blaze-html" ,ghc-blaze-html)
2853 ("ghc-vector" ,ghc-vector)
2854 ("ghc-unordered-containers" ,ghc-unordered-containers)
2855 ("ghc-scientific" ,ghc-scientific)))
2856 (native-inputs
2857 `(("ghc-hspec" ,ghc-hspec)))
2858 (home-page "https://github.com/jgm/doctemplates#readme")
2859 (synopsis "Pandoc-style document templates")
2860 (description
2861 "This package provides a simple text templating system used by pandoc.")
2862 (license license:bsd-3)))
2863
2864 (define-public ghc-doctest
2865 (package
2866 (name "ghc-doctest")
2867 (version "0.16.2")
2868 (source
2869 (origin
2870 (method url-fetch)
2871 (uri (string-append
2872 "https://hackage.haskell.org/package/doctest/doctest-"
2873 version
2874 ".tar.gz"))
2875 (sha256
2876 (base32
2877 "0lk4cjfzi5bx2snfzw1zi06li0gvgz3ckfh2kwa98l7nxfdl39ag"))))
2878 (build-system haskell-build-system)
2879 (arguments `(#:tests? #f)) ; FIXME: missing test framework
2880 (inputs
2881 `(("ghc-syb" ,ghc-syb)
2882 ("ghc-paths" ,ghc-paths)
2883 ("ghc-base-compat" ,ghc-base-compat)
2884 ("ghc-code-page" ,ghc-code-page)
2885 ("ghc-hunit" ,ghc-hunit)
2886 ("ghc-hspec" ,ghc-hspec)
2887 ("ghc-quickcheck" ,ghc-quickcheck)
2888 ("ghc-stringbuilder" ,ghc-stringbuilder)
2889 ("ghc-silently" ,ghc-silently)
2890 ("ghc-setenv" ,ghc-setenv)))
2891 (home-page
2892 "https://github.com/sol/doctest#readme")
2893 (synopsis "Test interactive Haskell examples")
2894 (description "The doctest program checks examples in source code comments.
2895 It is modeled after doctest for Python, see
2896 @uref{https://docs.python.org/library/doctest.html, the Doctest website}.")
2897 (license license:expat)))
2898
2899 (define-public ghc-double-conversion
2900 (package
2901 (name "ghc-double-conversion")
2902 (version "2.0.2.0")
2903 (source
2904 (origin
2905 (method url-fetch)
2906 (uri (string-append "https://hackage.haskell.org/package/"
2907 "double-conversion/double-conversion-"
2908 version ".tar.gz"))
2909 (sha256
2910 (base32
2911 "0sx2kc1gw72mjvd8vph8bbjw5whfxfv92rsdhjg1c0al75rf3ka4"))))
2912 (build-system haskell-build-system)
2913 (native-inputs
2914 `(("ghc-hunit" ,ghc-hunit)
2915 ("ghc-test-framework" ,ghc-test-framework)
2916 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
2917 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2918 (home-page "https://github.com/bos/double-conversion")
2919 (synopsis "Fast conversion between double precision floating point and text")
2920 (description
2921 "This package provides a library that performs fast, accurate conversion
2922 between double precision floating point and text.")
2923 (license license:bsd-3)))
2924
2925 (define-public ghc-easy-file
2926 (package
2927 (name "ghc-easy-file")
2928 (version "0.2.2")
2929 (source
2930 (origin
2931 (method url-fetch)
2932 (uri (string-append
2933 "https://hackage.haskell.org/package/easy-file/easy-file-"
2934 version
2935 ".tar.gz"))
2936 (sha256
2937 (base32
2938 "0zmlcz723051qpn8l8vi51c5rx1blwrw4094jcshkmj8p9r2xxaj"))))
2939 (build-system haskell-build-system)
2940 (home-page
2941 "https://github.com/kazu-yamamoto/easy-file")
2942 (synopsis "File handling library for Haskell")
2943 (description "This library provides file handling utilities for Haskell.")
2944 (license license:bsd-3)))
2945
2946 (define-public ghc-easyplot
2947 (package
2948 (name "ghc-easyplot")
2949 (version "1.0")
2950 (source
2951 (origin
2952 (method url-fetch)
2953 (uri (string-append
2954 "https://hackage.haskell.org/package/easyplot/easyplot-"
2955 version ".tar.gz"))
2956 (sha256
2957 (base32 "18kndgvdj2apjpfga6fp7m16y1gx8zrwp3c5vfj03sx4v6jvciqk"))))
2958 (build-system haskell-build-system)
2959 (propagated-inputs `(("gnuplot" ,gnuplot)))
2960 (arguments
2961 `(#:phases (modify-phases %standard-phases
2962 (add-after 'unpack 'fix-setup-suffix
2963 (lambda _ (rename-file "Setup.lhs" "Setup.hs") #t)))))
2964 (home-page "https://hub.darcs.net/scravy/easyplot")
2965 (synopsis "Haskell plotting library based on gnuplot")
2966 (description "This package provides a plotting library for
2967 Haskell, using gnuplot for rendering.")
2968 (license license:expat)))
2969
2970 (define-public ghc-echo
2971 (package
2972 (name "ghc-echo")
2973 (version "0.1.3")
2974 (source
2975 (origin
2976 (method url-fetch)
2977 (uri (string-append
2978 "https://hackage.haskell.org/package/echo/echo-"
2979 version ".tar.gz"))
2980 (sha256
2981 (base32
2982 "1vw5ykpwhr39wc0hhcgq3r8dh59zq6ib4zxbz1qd2wl21wqhfkvh"))))
2983 (build-system haskell-build-system)
2984 (arguments
2985 `(#:cabal-revision
2986 ("1" "0br8wfiybcw5hand4imiw0i5hacdmrax1dv8g95f35gazffbx42l")))
2987 (home-page "https://github.com/RyanGlScott/echo")
2988 (synopsis "Echo terminal input portably")
2989 (description "The @code{base} library exposes the @code{hGetEcho} and
2990 @code{hSetEcho} functions for querying and setting echo status, but
2991 unfortunately, neither function works with MinTTY consoles on Windows.
2992 This library provides an alternative interface which works with both
2993 MinTTY and other consoles.")
2994 (license license:bsd-3)))
2995
2996 (define-public ghc-edisonapi
2997 (package
2998 (name "ghc-edisonapi")
2999 (version "1.3.1")
3000 (source
3001 (origin
3002 (method url-fetch)
3003 (uri (string-append "https://hackage.haskell.org/package/EdisonAPI"
3004 "/EdisonAPI-" version ".tar.gz"))
3005 (sha256
3006 (base32 "0vmmlsj8ggbpwx6fkf5fvb6jp0zpx6iba6b28m80lllr2p8bi8wm"))))
3007 (build-system haskell-build-system)
3008 (home-page "http://rwd.rdockins.name/edison/home/")
3009 (synopsis "Library of efficient, purely-functional data structures (API)")
3010 (description
3011 "Edison is a library of purely functional data structures written by
3012 Chris Okasaki. It is named after Thomas Alva Edison and for the mnemonic
3013 value EDiSon (Efficient Data Structures). Edison provides several families of
3014 abstractions, each with multiple implementations. The main abstractions
3015 provided by Edison are: Sequences such as stacks, queues, and dequeues;
3016 Collections such as sets, bags and heaps; and Associative Collections such as
3017 finite maps and priority queues where the priority and element are distinct.")
3018 (license license:expat)))
3019
3020 (define-public ghc-edisoncore
3021 (package
3022 (name "ghc-edisoncore")
3023 (version "1.3.2.1")
3024 (source
3025 (origin
3026 (method url-fetch)
3027 (uri (string-append "https://hackage.haskell.org/package/EdisonCore"
3028 "/EdisonCore-" version ".tar.gz"))
3029 (sha256
3030 (base32 "0fgj5iwiv3v2gdgx7kjcr15dcs4x1kvmjspp3p99wyhh0x6h3ikk"))))
3031 (build-system haskell-build-system)
3032 (inputs
3033 `(("ghc-quickcheck" ,ghc-quickcheck)
3034 ("ghc-edisonapi" ,ghc-edisonapi)))
3035 (home-page "http://rwd.rdockins.name/edison/home/")
3036 (synopsis "Library of efficient, purely-functional data structures")
3037 (description
3038 "This package provides the core Edison data structure implementations,
3039 including multiple sequence, set, bag, and finite map concrete implementations
3040 with various performance characteristics.")
3041 (license license:expat)))
3042
3043 (define-public ghc-edit-distance
3044 (package
3045 (name "ghc-edit-distance")
3046 (version "0.2.2.1")
3047 (source
3048 (origin
3049 (method url-fetch)
3050 (uri (string-append "https://hackage.haskell.org/package/edit-distance"
3051 "/edit-distance-" version ".tar.gz"))
3052 (sha256
3053 (base32 "0jkca97zyv23yyilp3jydcrzxqhyk27swhzh82llvban5zp8b21y"))))
3054 (build-system haskell-build-system)
3055 (arguments
3056 `(#:phases
3057 (modify-phases %standard-phases
3058 (add-before 'configure 'update-constraints
3059 (lambda _
3060 (substitute* "edit-distance.cabal"
3061 (("QuickCheck >= 2\\.4 && <2\\.9")
3062 "QuickCheck >= 2.4 && < 2.14")))))))
3063 (inputs
3064 `(("ghc-random" ,ghc-random)
3065 ("ghc-test-framework" ,ghc-test-framework)
3066 ("ghc-quickcheck" ,ghc-quickcheck)
3067 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3068 (home-page "https://github.com/phadej/edit-distance")
3069 (synopsis "Levenshtein and restricted Damerau-Levenshtein edit distances")
3070 (description
3071 "This package provides optimized functions to determine the edit
3072 distances for fuzzy matching, including Levenshtein and restricted
3073 Damerau-Levenshtein algorithms.")
3074 (license license:bsd-3)))
3075
3076 (define-public ghc-edit-distance-vector
3077 (package
3078 (name "ghc-edit-distance-vector")
3079 (version "1.0.0.4")
3080 (source
3081 (origin
3082 (method url-fetch)
3083 (uri (string-append "https://hackage.haskell.org/package/"
3084 "edit-distance-vector/edit-distance-vector-"
3085 version ".tar.gz"))
3086 (sha256
3087 (base32
3088 "07qgc8dyi9kkzkd3xcd78wdlljy0xwhz65b4r2qg2piidpcdvpxp"))))
3089 (build-system haskell-build-system)
3090 (inputs
3091 `(("ghc-vector" ,ghc-vector)))
3092 (native-inputs
3093 `(("ghc-quickcheck" ,ghc-quickcheck)
3094 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
3095 (home-page "https://github.com/thsutton/edit-distance-vector")
3096 (synopsis "Calculate edit distances and edit scripts between vectors")
3097 (description "This package provides implementation of the
3098 Wagner-Fischer dynamic programming algorithm to find the optimal edit
3099 script and cost between two sequences. The implementation in this
3100 package is specialised to sequences represented with @code{Data.Vector}
3101 but is otherwise agnostic to:
3102 @itemize
3103 @item The type of values in the vectors;
3104 @item The type representing edit operations; and
3105 @item The type representing the cost of operations.
3106 @end itemize")
3107 (license license:bsd-3)) )
3108
3109 (define-public ghc-either
3110 (package
3111 (name "ghc-either")
3112 (version "5.0.1.1")
3113 (source
3114 (origin
3115 (method url-fetch)
3116 (uri (string-append "https://hackage.haskell.org/package/"
3117 "either-" version "/"
3118 "either-" version ".tar.gz"))
3119 (sha256
3120 (base32
3121 "09yzki8ss56xhy9vggdw1rls86b2kf55hjl5wi0vbv02d8fxahq2"))))
3122 (build-system haskell-build-system)
3123 (inputs `(("ghc-bifunctors" ,ghc-bifunctors)
3124 ("ghc-exceptions" ,ghc-exceptions)
3125 ("ghc-free" ,ghc-free)
3126 ("ghc-monad-control" ,ghc-monad-control)
3127 ("ghc-manodrandom" ,ghc-monadrandom)
3128 ("ghc-mmorph" ,ghc-mmorph)
3129 ("ghc-profunctors" ,ghc-profunctors)
3130 ("ghc-semigroups" ,ghc-semigroups)
3131 ("ghc-semigroupoids" ,ghc-semigroupoids)
3132 ("ghc-transformers-base" ,ghc-transformers-base)))
3133 (native-inputs
3134 `(("ghc-quickcheck" ,ghc-quickcheck)
3135 ("ghc-test-framework" ,ghc-test-framework)
3136 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3137 (home-page "https://github.com/ekmett/either")
3138 (synopsis "Provides an either monad transformer for Haskell")
3139 (description "This Haskell package provides an either monad transformer.")
3140 (license license:bsd-3)))
3141
3142 (define-public ghc-email-validate
3143 (package
3144 (name "ghc-email-validate")
3145 (version "2.3.2.12")
3146 (source
3147 (origin
3148 (method url-fetch)
3149 (uri (string-append
3150 "https://hackage.haskell.org/package/"
3151 "email-validate/email-validate-"
3152 version
3153 ".tar.gz"))
3154 (sha256
3155 (base32
3156 "0ar3cfjia3x11chb7w60mi7hp5djanms883ddk875l6lifr2lyqf"))))
3157 (build-system haskell-build-system)
3158 (inputs
3159 `(("ghc-attoparsec" ,ghc-attoparsec)
3160 ("ghc-hspec" ,ghc-hspec)
3161 ("ghc-quickcheck" ,ghc-quickcheck)
3162 ("ghc-doctest" ,ghc-doctest)))
3163 (home-page
3164 "https://github.com/Porges/email-validate-hs")
3165 (synopsis "Email address validator for Haskell")
3166 (description
3167 "This Haskell package provides a validator that can validate an email
3168 address string against RFC 5322.")
3169 (license license:bsd-3)))
3170
3171 (define-public ghc-enclosed-exceptions
3172 (package
3173 (name "ghc-enclosed-exceptions")
3174 (version "1.0.3")
3175 (source (origin
3176 (method url-fetch)
3177 (uri (string-append "https://hackage.haskell.org/package/"
3178 "enclosed-exceptions/enclosed-exceptions-"
3179 version ".tar.gz"))
3180 (sha256
3181 (base32
3182 "1fghjj7nkiddrf03ks8brjpr5x25yi9fs7xg6adbi4mc2gqr6vdg"))))
3183 (build-system haskell-build-system)
3184 ;; FIXME: one of the tests blocks forever:
3185 ;; "thread blocked indefinitely in an MVar operation"
3186 (arguments '(#:tests? #f))
3187 (inputs
3188 `(("ghc-lifted-base" ,ghc-lifted-base)
3189 ("ghc-monad-control" ,ghc-monad-control)
3190 ("ghc-async" ,ghc-async)
3191 ("ghc-transformers-base" ,ghc-transformers-base)))
3192 (native-inputs
3193 `(("ghc-hspec" ,ghc-hspec)
3194 ("ghc-quickcheck" ,ghc-quickcheck)))
3195 (home-page "https://github.com/jcristovao/enclosed-exceptions")
3196 (synopsis "Catch all exceptions from within an enclosed computation")
3197 (description
3198 "This library implements a technique to catch all exceptions raised
3199 within an enclosed computation, while remaining responsive to (external)
3200 asynchronous exceptions.")
3201 (license license:expat)))
3202
3203 (define-public ghc-equivalence
3204 (package
3205 (name "ghc-equivalence")
3206 (version "0.3.2")
3207 (source
3208 (origin
3209 (method url-fetch)
3210 (uri (string-append "https://hackage.haskell.org/package/equivalence"
3211 "/equivalence-" version ".tar.gz"))
3212 (sha256
3213 (base32 "0a85bdyyvjqs5z4kfhhf758210k9gi9dv42ik66a3jl0z7aix8kx"))))
3214 (build-system haskell-build-system)
3215 (inputs
3216 `(("ghc-stmonadtrans" ,ghc-stmonadtrans)
3217 ("ghc-transformers-compat" ,ghc-transformers-compat)
3218 ("ghc-quickcheck" ,ghc-quickcheck)
3219 ("ghc-test-framework" ,ghc-test-framework)
3220 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3221 (home-page "https://github.com/pa-ba/equivalence")
3222 (synopsis "Maintaining an equivalence relation implemented as union-find")
3223 (description
3224 "This is an implementation of Tarjan's Union-Find algorithm (Robert E.@:
3225 Tarjan. \"Efficiency of a Good But Not Linear Set Union Algorithm\",JACM
3226 22(2), 1975) in order to maintain an equivalence relation. This
3227 implementation is a port of the @code{union-find} package using the @code{ST}
3228 monad transformer (instead of the IO monad).")
3229 (license license:bsd-3)))
3230
3231 (define-public ghc-erf
3232 (package
3233 (name "ghc-erf")
3234 (version "2.0.0.0")
3235 (source
3236 (origin
3237 (method url-fetch)
3238 (uri (string-append "https://hackage.haskell.org/package/"
3239 "erf-" version "/"
3240 "erf-" version ".tar.gz"))
3241 (sha256
3242 (base32
3243 "0dxk2r32ajmmc05vaxcp0yw6vgv4lkbmh8jcshncn98xgsfbgw14"))))
3244 (build-system haskell-build-system)
3245 (home-page "https://hackage.haskell.org/package/erf")
3246 (synopsis "The error function, erf, and related functions for Haskell")
3247 (description "This Haskell library provides a type class for the
3248 error function, erf, and related functions. Instances for Float and
3249 Double.")
3250 (license license:bsd-3)))
3251
3252 (define-public ghc-errorcall-eq-instance
3253 (package
3254 (name "ghc-errorcall-eq-instance")
3255 (version "0.3.0")
3256 (source
3257 (origin
3258 (method url-fetch)
3259 (uri (string-append "https://hackage.haskell.org/package/"
3260 "errorcall-eq-instance/errorcall-eq-instance-"
3261 version ".tar.gz"))
3262 (sha256
3263 (base32
3264 "0hqw82m8bbrxy5vgdwb83bhzdx070ibqrm9rshyja7cb808ahijm"))))
3265 (build-system haskell-build-system)
3266 (inputs
3267 `(("ghc-base-orphans" ,ghc-base-orphans)))
3268 (native-inputs
3269 `(("ghc-quickcheck" ,ghc-quickcheck)
3270 ("ghc-hspec" ,ghc-hspec)
3271 ("hspec-discover" ,hspec-discover)))
3272 (home-page "http://hackage.haskell.org/package/errorcall-eq-instance")
3273 (synopsis "Orphan Eq instance for ErrorCall")
3274 (description
3275 "Prior to @code{base-4.7.0.0} there was no @code{Eq} instance for @code{ErrorCall}.
3276 This package provides an orphan instance.")
3277 (license license:expat)))
3278
3279 (define-public ghc-errors
3280 (package
3281 (name "ghc-errors")
3282 (version "2.3.0")
3283 (source
3284 (origin
3285 (method url-fetch)
3286 (uri (string-append "https://hackage.haskell.org/package/"
3287 "errors-" version "/"
3288 "errors-" version ".tar.gz"))
3289 (sha256
3290 (base32
3291 "0x8znwn31qcx6kqx99wp7bc86kckfb39ncz3zxvj1s07kxlfawk7"))))
3292 (build-system haskell-build-system)
3293 (inputs
3294 `(("ghc-exceptions" ,ghc-exceptions)
3295 ("ghc-transformers-compat" ,ghc-transformers-compat)
3296 ("ghc-unexceptionalio" ,ghc-unexceptionalio)
3297 ("ghc-safe" ,ghc-safe)))
3298 (home-page "https://github.com/gabriel439/haskell-errors-library")
3299 (synopsis "Error handling library for Haskell")
3300 (description "This library encourages an error-handling style that
3301 directly uses the type system, rather than out-of-band exceptions.")
3302 (license license:bsd-3)))
3303
3304 (define-public ghc-esqueleto
3305 (package
3306 (name "ghc-esqueleto")
3307 (version "3.0.0")
3308 (source
3309 (origin
3310 (method url-fetch)
3311 (uri (string-append "https://hackage.haskell.org/package/"
3312 "esqueleto/esqueleto-" version ".tar.gz"))
3313 (sha256
3314 (base32
3315 "187c098h2xyf2nhifkdy2bqfl6iap7a93mzwd2kirl5yyicpc9zy"))))
3316 (build-system haskell-build-system)
3317 (arguments
3318 `(#:haddock? #f ; Haddock reports an internal error.
3319 #:phases
3320 (modify-phases %standard-phases
3321 ;; This package normally runs tests for the MySQL, PostgreSQL, and
3322 ;; SQLite backends. Since we only have Haskell packages for
3323 ;; SQLite, we remove the other two test suites. FIXME: Add the
3324 ;; other backends and run all three test suites.
3325 (add-before 'configure 'remove-non-sqlite-test-suites
3326 (lambda _
3327 (use-modules (ice-9 rdelim))
3328 (with-atomic-file-replacement "esqueleto.cabal"
3329 (lambda (in out)
3330 (let loop ((line (read-line in 'concat)) (deleting? #f))
3331 (cond
3332 ((eof-object? line) #t)
3333 ((string-every char-set:whitespace line)
3334 (unless deleting? (display line out))
3335 (loop (read-line in 'concat) #f))
3336 ((member line '("test-suite mysql\n"
3337 "test-suite postgresql\n"))
3338 (loop (read-line in 'concat) #t))
3339 (else
3340 (unless deleting? (display line out))
3341 (loop (read-line in 'concat) deleting?)))))))))))
3342 (inputs
3343 `(("ghc-blaze-html" ,ghc-blaze-html)
3344 ("ghc-conduit" ,ghc-conduit)
3345 ("ghc-monad-logger" ,ghc-monad-logger)
3346 ("ghc-persistent" ,ghc-persistent)
3347 ("ghc-resourcet" ,ghc-resourcet)
3348 ("ghc-tagged" ,ghc-tagged)
3349 ("ghc-unliftio" ,ghc-unliftio)
3350 ("ghc-unordered-containers" ,ghc-unordered-containers)))
3351 (native-inputs
3352 `(("ghc-hspec" ,ghc-hspec)
3353 ("ghc-persistent-sqlite" ,ghc-persistent-sqlite)
3354 ("ghc-persistent-template" ,ghc-persistent-template)))
3355 (home-page "https://github.com/bitemyapp/esqueleto")
3356 (synopsis "Type-safe embedded domain specific language for SQL queries")
3357 (description "This library provides a type-safe embedded domain specific
3358 language (EDSL) for SQL queries that works with SQL backends as provided by
3359 @code{ghc-persistent}. Its language closely resembles SQL, so you don't have
3360 to learn new concepts, just new syntax, and it's fairly easy to predict the
3361 generated SQL and optimize it for your backend.")
3362 (license license:bsd-3)))
3363
3364 (define-public ghc-exactprint
3365 (package
3366 (name "ghc-exactprint")
3367 (version "0.6.1")
3368 (source
3369 (origin
3370 (method url-fetch)
3371 (uri (string-append
3372 "https://hackage.haskell.org/package/"
3373 "ghc-exactprint/ghc-exactprint-" version ".tar.gz"))
3374 (sha256
3375 (base32
3376 "12nqpqmi9c57a3hgpfy8q073zryz66ylmcvf29hyffpj7vmmnvhl"))))
3377 (build-system haskell-build-system)
3378 (inputs
3379 `(("ghc-paths" ,ghc-paths)
3380 ("ghc-syb" ,ghc-syb)
3381 ("ghc-free" ,ghc-free)))
3382 (native-inputs
3383 `(("ghc-hunit" ,ghc-hunit)
3384 ("ghc-diff" ,ghc-diff)
3385 ("ghc-silently" ,ghc-silently)
3386 ("ghc-filemanip" ,ghc-filemanip)))
3387 (home-page
3388 "http://hackage.haskell.org/package/ghc-exactprint")
3389 (synopsis "ExactPrint for GHC")
3390 (description
3391 "Using the API Annotations available from GHC 7.10.2, this library
3392 provides a means to round-trip any code that can be compiled by GHC, currently
3393 excluding @file{.lhs} files.")
3394 (license license:bsd-3)))
3395
3396 (define-public ghc-exceptions
3397 (package
3398 (name "ghc-exceptions")
3399 (version "0.10.3")
3400 (source
3401 (origin
3402 (method url-fetch)
3403 (uri (string-append
3404 "https://hackage.haskell.org/package/exceptions/exceptions-"
3405 version
3406 ".tar.gz"))
3407 (sha256
3408 (base32
3409 "1w25j4ys5s6v239vbqlbipm9fdwxl1j2ap2lzms7f7rgnik5ir24"))))
3410 (build-system haskell-build-system)
3411 (native-inputs
3412 `(("ghc-quickcheck" ,ghc-quickcheck)
3413 ("ghc-test-framework" ,ghc-test-framework)
3414 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3415 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3416 (inputs
3417 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
3418 (home-page "https://github.com/ekmett/exceptions/")
3419 (synopsis "Extensible optionally-pure exceptions")
3420 (description "This library provides extensible optionally-pure exceptions
3421 for Haskell.")
3422 (license license:bsd-3)))
3423
3424 (define-public ghc-executable-path
3425 (package
3426 (name "ghc-executable-path")
3427 (version "0.0.3.1")
3428 (source (origin
3429 (method url-fetch)
3430 (uri (string-append "https://hackage.haskell.org/package/"
3431 "executable-path/executable-path-"
3432 version ".tar.gz"))
3433 (sha256
3434 (base32
3435 "0vxwmnsvx13cawcyhbyljkds0l1vr996ijldycx7nj0asjv45iww"))))
3436 (build-system haskell-build-system)
3437 (home-page "https://hackage.haskell.org/package/executable-path")
3438 (synopsis "Find out the full path of the executable")
3439 (description
3440 "The documentation of @code{System.Environment.getProgName} says that
3441 \"However, this is hard-to-impossible to implement on some non-Unix OSes, so
3442 instead, for maximum portability, we just return the leafname of the program
3443 as invoked.\" This library tries to provide the missing path.")
3444 (license license:public-domain)))
3445
3446 (define-public ghc-extensible-exceptions
3447 (package
3448 (name "ghc-extensible-exceptions")
3449 (version "0.1.1.4")
3450 (source
3451 (origin
3452 (method url-fetch)
3453 (uri (string-append "https://hackage.haskell.org/package/"
3454 "extensible-exceptions/extensible-exceptions-"
3455 version ".tar.gz"))
3456 (sha256
3457 (base32 "1273nqws9ij1rp1bsq5jc7k2jxpqa0svawdbim05lf302y0firbc"))))
3458 (build-system haskell-build-system)
3459 (home-page "https://hackage.haskell.org/package/extensible-exceptions")
3460 (synopsis "Extensible exceptions for Haskell")
3461 (description
3462 "This package provides extensible exceptions for both new and old
3463 versions of GHC (i.e., < 6.10).")
3464 (license license:bsd-3)))
3465
3466 (define-public ghc-extra
3467 (package
3468 (name "ghc-extra")
3469 (version "1.6.18")
3470 (source
3471 (origin
3472 (method url-fetch)
3473 (uri (string-append
3474 "https://hackage.haskell.org/package/extra/extra-"
3475 version
3476 ".tar.gz"))
3477 (sha256
3478 (base32
3479 "0jvd4l0hi8pf5899pxc32yc638y0mrc357w0rph99k3hm277i0cy"))))
3480 (build-system haskell-build-system)
3481 (inputs
3482 `(("ghc-clock" ,ghc-clock)
3483 ("ghc-semigroups" ,ghc-semigroups)
3484 ("ghc-quickcheck" ,ghc-quickcheck)))
3485 (home-page "https://github.com/ndmitchell/extra")
3486 (synopsis "Extra Haskell functions")
3487 (description "This library provides extra functions for the standard
3488 Haskell libraries. Most functions are simple additions, filling out missing
3489 functionality. A few functions are available in later versions of GHC, but
3490 this package makes them available back to GHC 7.2.")
3491 (license license:bsd-3)))
3492
3493 (define-public ghc-fail
3494 (package
3495 (name "ghc-fail")
3496 (version "4.9.0.0")
3497 (source
3498 (origin
3499 (method url-fetch)
3500 (uri (string-append "https://hackage.haskell.org/package/fail/fail-"
3501 version ".tar.gz"))
3502 (sha256
3503 (base32 "18nlj6xvnggy61gwbyrpmvbdkq928wv0wx2zcsljb52kbhddnp3d"))))
3504 (build-system haskell-build-system)
3505 (arguments `(#:haddock? #f)) ; Package contains no documentation.
3506 (home-page "https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail")
3507 (synopsis "Forward-compatible MonadFail class")
3508 (description
3509 "This package contains the @code{Control.Monad.Fail} module providing the
3510 @uref{https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail, MonadFail}
3511 class that became available in
3512 @uref{https://hackage.haskell.org/package/base-4.9.0.0, base-4.9.0.0} for
3513 older @code{base} package versions. This package turns into an empty package
3514 when used with GHC versions which already provide the
3515 @code{Control.Monad.Fail} module.")
3516 (license license:bsd-3)))
3517
3518 (define-public ghc-fast-logger
3519 (package
3520 (name "ghc-fast-logger")
3521 (version "2.4.17")
3522 (source
3523 (origin
3524 (method url-fetch)
3525 (uri (string-append
3526 "https://hackage.haskell.org/package/fast-logger/fast-logger-"
3527 version
3528 ".tar.gz"))
3529 (sha256
3530 (base32
3531 "02mxb1ckvx1s2r2m11l5i2l5rdl7232p0f61af6773haykjp0qxk"))))
3532 (build-system haskell-build-system)
3533 (inputs
3534 `(("ghc-auto-update" ,ghc-auto-update)
3535 ("ghc-easy-file" ,ghc-easy-file)
3536 ("ghc-unix-time" ,ghc-unix-time)
3537 ("ghc-unix-compat" ,ghc-unix-compat)))
3538 (native-inputs
3539 `(("hspec-discover" ,hspec-discover)
3540 ("ghc-hspec" ,ghc-hspec)))
3541 (home-page "https://hackage.haskell.org/package/fast-logger")
3542 (synopsis "Fast logging system")
3543 (description "This library provides a fast logging system for Haskell.")
3544 (license license:bsd-3)))
3545
3546 (define-public ghc-feed
3547 (package
3548 (name "ghc-feed")
3549 (version "1.2.0.1")
3550 (source
3551 (origin
3552 (method url-fetch)
3553 (uri (string-append "https://hackage.haskell.org/package/"
3554 "feed/feed-" version ".tar.gz"))
3555 (sha256
3556 (base32
3557 "004lwdng4slj6yl8mgscr3cgj0zzc8hzkf4450dby2l6cardg4w0"))))
3558 (build-system haskell-build-system)
3559 (inputs
3560 `(("ghc-base-compat" ,ghc-base-compat)
3561 ("ghc-old-locale" ,ghc-old-locale)
3562 ("ghc-old-time" ,ghc-old-time)
3563 ("ghc-safe" ,ghc-safe)
3564 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
3565 ("ghc-utf8-string" ,ghc-utf8-string)
3566 ("ghc-xml-conduit" ,ghc-xml-conduit)
3567 ("ghc-xml-types" ,ghc-xml-types)))
3568 (native-inputs
3569 `(("ghc-hunit" ,ghc-hunit)
3570 ("ghc-markdown-unlit" ,ghc-markdown-unlit)
3571 ("ghc-test-framework" ,ghc-test-framework)
3572 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
3573 (home-page "https://github.com/bergmark/feed")
3574 (synopsis "Haskell package for handling various syndication formats")
3575 (description "This Haskell package includes tools for generating and
3576 consuming feeds in both RSS (Really Simple Syndication) and Atom format.")
3577 (license license:bsd-3)))
3578
3579 (define-public ghc-fgl
3580 (package
3581 (name "ghc-fgl")
3582 (version "5.7.0.1")
3583 (outputs '("out" "doc"))
3584 (source
3585 (origin
3586 (method url-fetch)
3587 (uri (string-append
3588 "https://hackage.haskell.org/package/fgl/fgl-"
3589 version
3590 ".tar.gz"))
3591 (sha256
3592 (base32
3593 "04793yh778ck3kz1z2svnfdwwls2kisbnky4lzvf4zjfgpv7mkpz"))))
3594 (build-system haskell-build-system)
3595 (arguments
3596 `(#:phases
3597 (modify-phases %standard-phases
3598 (add-before 'configure 'update-constraints
3599 (lambda _
3600 (substitute* "fgl.cabal"
3601 (("QuickCheck >= 2\\.8 && < 2\\.13")
3602 "QuickCheck >= 2.8 && < 2.14")
3603 (("hspec >= 2\\.1 && < 2\\.7")
3604 "hspec >= 2.1 && < 2.8")))))))
3605 (inputs
3606 `(("ghc-hspec" ,ghc-hspec)
3607 ("ghc-quickcheck" ,ghc-quickcheck)))
3608 (home-page "https://web.engr.oregonstate.edu/~erwig/fgl/haskell")
3609 (synopsis
3610 "Martin Erwig's Functional Graph Library")
3611 (description "The functional graph library, FGL, is a collection of type
3612 and function definitions to address graph problems. The basis of the library
3613 is an inductive definition of graphs in the style of algebraic data types that
3614 encourages inductive, recursive definitions of graph algorithms.")
3615 (license license:bsd-3)))
3616
3617 (define-public ghc-fgl-arbitrary
3618 (package
3619 (name "ghc-fgl-arbitrary")
3620 (version "0.2.0.3")
3621 (source
3622 (origin
3623 (method url-fetch)
3624 (uri (string-append
3625 "https://hackage.haskell.org/package/fgl-arbitrary/fgl-arbitrary-"
3626 version ".tar.gz"))
3627 (sha256
3628 (base32
3629 "0ln1szgfy8fa78l3issq4fx3aqnnd54w3cb4wssrfi48vd5rkfjm"))))
3630 (build-system haskell-build-system)
3631 (arguments
3632 `(#:phases
3633 (modify-phases %standard-phases
3634 (add-before 'configure 'update-constraints
3635 (lambda _
3636 (substitute* "fgl-arbitrary.cabal"
3637 (("QuickCheck >= 2\\.3 && < 2\\.10")
3638 "QuickCheck >= 2.3 && < 2.14")
3639 (("hspec >= 2\\.1 && < 2\\.5")
3640 "hspec >= 2.1 && < 2.8")))))))
3641 (inputs
3642 `(("ghc-fgl" ,ghc-fgl)
3643 ("ghc-quickcheck" ,ghc-quickcheck)
3644 ("ghc-hspec" ,ghc-hspec)))
3645 (home-page "https://hackage.haskell.org/package/fgl-arbitrary")
3646 (synopsis "QuickCheck support for fgl")
3647 (description
3648 "Provides Arbitrary instances for fgl graphs to avoid adding a
3649 QuickCheck dependency for fgl whilst still making the instances
3650 available to others. Also available are non-fgl-specific functions
3651 for generating graph-like data structures.")
3652 (license license:bsd-3)))
3653
3654 (define-public ghc-file-embed
3655 (package
3656 (name "ghc-file-embed")
3657 (version "0.0.11")
3658 (source
3659 (origin
3660 (method url-fetch)
3661 (uri (string-append "https://hackage.haskell.org/package/file-embed/"
3662 "file-embed-" version ".tar.gz"))
3663 (sha256
3664 (base32
3665 "0l6dkwccbzzyx8rcav03lya2334dgi3vfwk96h7l93l0fc4x19gf"))))
3666 (build-system haskell-build-system)
3667 (home-page "https://github.com/snoyberg/file-embed")
3668 (synopsis "Use Template Haskell to embed file contents directly")
3669 (description
3670 "This package allows you to use Template Haskell to read a file or all
3671 the files in a directory, and turn them into @code{(path, bytestring)} pairs
3672 embedded in your Haskell code.")
3673 (license license:bsd-3)))
3674
3675 (define-public ghc-filemanip
3676 (package
3677 (name "ghc-filemanip")
3678 (version "0.3.6.3")
3679 (source (origin
3680 (method url-fetch)
3681 (uri (string-append "https://hackage.haskell.org/package/"
3682 "filemanip/filemanip-" version ".tar.gz"))
3683 (sha256
3684 (base32
3685 "0ilqr8jv41zxcj5qyicg29m8s30b9v70x6f9h2h2rw5ap8bxldl8"))))
3686 (build-system haskell-build-system)
3687 (inputs
3688 `(("ghc-unix-compat" ,ghc-unix-compat)))
3689 (home-page "https://github.com/bos/filemanip")
3690 (synopsis "File and directory manipulation for Haskell")
3691 (description
3692 "This package provides a Haskell library for working with files and
3693 directories. It includes code for pattern matching, finding files, modifying
3694 file contents, and more.")
3695 (license license:bsd-3)))
3696
3697 (define-public ghc-findbin
3698 (package
3699 (name "ghc-findbin")
3700 (version "0.0.5")
3701 (source
3702 (origin
3703 (method url-fetch)
3704 (uri (string-append
3705 "https://hackage.haskell.org/package/FindBin/FindBin-"
3706 version ".tar.gz"))
3707 (sha256
3708 (base32
3709 "197xvn05yysmibm1p5wzxfa256lvpbknr5d1l2ws6g40w1kpk717"))))
3710 (build-system haskell-build-system)
3711 (home-page "https://github.com/audreyt/findbin")
3712 (synopsis "Get the absolute path of the running program")
3713 (description
3714 "This module locates the full directory of the running program, to allow
3715 the use of paths relative to it. FindBin supports invocation of Haskell
3716 programs via \"ghci\", via \"runhaskell/runghc\", as well as compiled as
3717 an executable.")
3718 (license license:bsd-3)))
3719
3720 (define-public ghc-fingertree
3721 (package
3722 (name "ghc-fingertree")
3723 (version "0.1.4.2")
3724 (source
3725 (origin
3726 (method url-fetch)
3727 (uri (string-append
3728 "https://hackage.haskell.org/package/fingertree/fingertree-"
3729 version ".tar.gz"))
3730 (sha256
3731 (base32
3732 "0zvandj8fysck7ygpn0dw5bhrhmj1s63i326nalxbfkh2ls4iacm"))))
3733 (build-system haskell-build-system)
3734 (native-inputs
3735 `(("ghc-hunit" ,ghc-hunit)
3736 ("ghc-quickcheck" ,ghc-quickcheck)
3737 ("ghc-test-framework" ,ghc-test-framework)
3738 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3739 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3740 (home-page "https://hackage.haskell.org/package/fingertree")
3741 (synopsis "Generic finger-tree structure")
3742 (description "This library provides finger trees, a general sequence
3743 representation with arbitrary annotations, for use as a base for
3744 implementations of various collection types. It includes examples, as
3745 described in section 4 of Ralf Hinze and Ross Paterson, \"Finger trees: a
3746 simple general-purpose data structure\".")
3747 (license license:bsd-3)))
3748
3749 (define-public ghc-fixed
3750 (package
3751 (name "ghc-fixed")
3752 (version "0.3")
3753 (source
3754 (origin
3755 (method url-fetch)
3756 (uri (string-append "https://hackage.haskell.org/package/fixed/fixed-"
3757 version ".tar.gz"))
3758 (sha256
3759 (base32
3760 "10l2sh179xarb774q92cff2gkb20rsrlilfwp1fk61rzmz9yn64j"))))
3761 (build-system haskell-build-system)
3762 (home-page "https://github.com/ekmett/fixed")
3763 (synopsis "Signed 15.16 precision fixed point arithmetic")
3764 (description
3765 "This package provides functions for signed 15.16 precision fixed point
3766 arithmetic.")
3767 (license license:bsd-3)))
3768
3769 (define-public ghc-fmlist
3770 (package
3771 (name "ghc-fmlist")
3772 (version "0.9.3")
3773 (source
3774 (origin
3775 (method url-fetch)
3776 (uri
3777 (string-append
3778 "https://hackage.haskell.org/package/fmlist/fmlist-"
3779 version ".tar.gz"))
3780 (sha256
3781 (base32
3782 "1w9nhm2zybdx4c1lalkajwqr8wcs731lfjld2r8gknd7y96x8pwf"))))
3783 (build-system haskell-build-system)
3784 (home-page "https://github.com/sjoerdvisscher/fmlist")
3785 (synopsis "FoldMap lists")
3786 (description "FoldMap lists are lists represented by their
3787 @code{foldMap} function. FoldMap lists have @math{O(1)} cons, snoc and
3788 append, just like DLists, but other operations might have favorable
3789 performance characteristics as well. These wild claims are still
3790 completely unverified though.")
3791 (license license:bsd-3)))
3792
3793 (define-public ghc-foldl
3794 (package
3795 (name "ghc-foldl")
3796 (version "1.4.5")
3797 (source
3798 (origin
3799 (method url-fetch)
3800 (uri (string-append "https://hackage.haskell.org/package/"
3801 "foldl-" version "/"
3802 "foldl-" version ".tar.gz"))
3803 (sha256
3804 (base32
3805 "19qjmzc7gaxfwgqbgy0kq4vhbxvh3qjnwsxnc7pzwws2if5bv80b"))))
3806 (build-system haskell-build-system)
3807 (inputs `(("ghc-mwc-randam" ,ghc-mwc-random)
3808 ("ghc-primitive" ,ghc-primitive)
3809 ("ghc-vector" ,ghc-vector)
3810 ("ghc-unordered-containers" ,ghc-unordered-containers)
3811 ("ghc-hashable" ,ghc-hashable)
3812 ("ghc-contravariant" ,ghc-contravariant)
3813 ("ghc-semigroups" ,ghc-semigroups)
3814 ("ghc-profunctors" ,ghc-profunctors)
3815 ("ghc-semigroupoids" ,ghc-semigroupoids)
3816 ("ghc-comonad" ,ghc-comonad)
3817 ("ghc-vector-builder" ,ghc-vector-builder)))
3818 (home-page "https://github.com/Gabriel439/Haskell-Foldl-Library")
3819 (synopsis "Composable, streaming, and efficient left folds for Haskell")
3820 (description "This Haskell library provides strict left folds that stream
3821 in constant memory, and you can combine folds using @code{Applicative} style
3822 to derive new folds. Derived folds still traverse the container just once
3823 and are often as efficient as hand-written folds.")
3824 (license license:bsd-3)))
3825
3826 (define-public ghc-foundation
3827 (package
3828 (name "ghc-foundation")
3829 (version "0.0.25")
3830 (source
3831 (origin
3832 (method url-fetch)
3833 (uri (string-append "https://hackage.haskell.org/package/"
3834 "foundation/foundation-" version ".tar.gz"))
3835 (sha256
3836 (base32
3837 "0q6kx57ygmznlpf8n499hid4x6mj3180paijx0a8dgi9hh7man61"))))
3838 (build-system haskell-build-system)
3839 (inputs `(("ghc-basement" ,ghc-basement)))
3840 (home-page "https://github.com/haskell-foundation/foundation")
3841 (synopsis "Alternative prelude with batteries and no dependencies")
3842 (description
3843 "This package provides a custom prelude with no dependencies apart from
3844 the base package.
3845
3846 Foundation has the following goals:
3847
3848 @enumerate
3849 @item provide a base like sets of modules that provide a consistent set of
3850 features and bugfixes across multiple versions of GHC (unlike base).
3851 @item provide a better and more efficient prelude than base's prelude.
3852 @item be self-sufficient: no external dependencies apart from base;
3853 @item provide better data-types: packed unicode string by default, arrays;
3854 @item Numerical classes that better represent mathematical things (no more
3855 all-in-one @code{Num});
3856 @item I/O system with less lazy IO.
3857 @end enumerate\n")
3858 (license license:bsd-3)))
3859
3860 (define-public ghc-free
3861 (package
3862 (name "ghc-free")
3863 (version "5.1.2")
3864 (source
3865 (origin
3866 (method url-fetch)
3867 (uri (string-append
3868 "https://hackage.haskell.org/package/free/free-"
3869 version
3870 ".tar.gz"))
3871 (sha256
3872 (base32
3873 "0vlf3f2ckl3cr7z2zl8c9c8qkdlfgvmh04gxkp2fg0z9dz80nlyb"))))
3874 (build-system haskell-build-system)
3875 (inputs
3876 `(("ghc-prelude-extras" ,ghc-prelude-extras)
3877 ("ghc-profunctors" ,ghc-profunctors)
3878 ("ghc-exceptions" ,ghc-exceptions)
3879 ("ghc-bifunctors" ,ghc-bifunctors)
3880 ("ghc-comonad" ,ghc-comonad)
3881 ("ghc-distributive" ,ghc-distributive)
3882 ("ghc-semigroupoids" ,ghc-semigroupoids)
3883 ("ghc-semigroups" ,ghc-semigroups)
3884 ("ghc-transformers-base" ,ghc-transformers-base)
3885 ("ghc-transformers-compat" ,ghc-transformers-compat)))
3886 (home-page "https://github.com/ekmett/free/")
3887 (synopsis "Unrestricted monads for Haskell")
3888 (description "This library provides free monads, which are useful for many
3889 tree-like structures and domain specific languages. If @code{f} is a
3890 @code{Functor} then the free @code{Monad} on @code{f} is the type of trees
3891 whose nodes are labeled with the constructors of @code{f}. The word \"free\"
3892 is used in the sense of \"unrestricted\" rather than \"zero-cost\": @code{Free
3893 f} makes no constraining assumptions beyond those given by @code{f} and the
3894 definition of @code{Monad}.")
3895 (license license:bsd-3)))
3896
3897 (define-public ghc-fsnotify
3898 (package
3899 (name "ghc-fsnotify")
3900 (version "0.3.0.1")
3901 (source (origin
3902 (method url-fetch)
3903 (uri (string-append
3904 "https://hackage.haskell.org/package/fsnotify/"
3905 "fsnotify-" version ".tar.gz"))
3906 (sha256
3907 (base32
3908 "19bdbz9wb9jvln6yg6qm0hz0w84bypvkxf0wjhgrgd52f9gidlny"))))
3909 (build-system haskell-build-system)
3910 (inputs
3911 `(("ghc-async" ,ghc-async)
3912 ("ghc-unix-compat" ,ghc-unix-compat)
3913 ("ghc-hinotify" ,ghc-hinotify)
3914 ("ghc-tasty" ,ghc-tasty)
3915 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
3916 ("ghc-random" ,ghc-random)
3917 ("ghc-shelly" ,ghc-shelly)
3918 ("ghc-temporary" ,ghc-temporary)))
3919 (home-page "https://github.com/haskell-fswatch/hfsnotify")
3920 (synopsis "Cross platform library for file change notification.")
3921 (description "Cross platform library for file creation, modification, and
3922 deletion notification. This library builds upon existing libraries for platform
3923 specific Windows, Mac, and Linux file system event notification.")
3924 (license license:bsd-3)))
3925
3926 (define-public ghc-generic-deriving
3927 (package
3928 (name "ghc-generic-deriving")
3929 (version "1.12.4")
3930 (source
3931 (origin
3932 (method url-fetch)
3933 (uri (string-append
3934 "https://hackage.haskell.org/package/generic-deriving/generic-deriving-"
3935 version
3936 ".tar.gz"))
3937 (sha256
3938 (base32
3939 "0vdg9qdq35jl3m11a87wk8cq1y71qm4i1g1b2pxki0wk70yw20a4"))))
3940 (build-system haskell-build-system)
3941 (inputs
3942 `(("ghc-th-abstraction" ,ghc-th-abstraction)))
3943 (native-inputs
3944 `(("ghc-hspec" ,ghc-hspec)
3945 ("hspec-discover" ,hspec-discover)))
3946 (home-page "https://hackage.haskell.org/package/generic-deriving")
3947 (synopsis "Generalise the deriving mechanism to arbitrary classes")
3948 (description "This package provides functionality for generalising the
3949 deriving mechanism in Haskell to arbitrary classes.")
3950 (license license:bsd-3)))
3951
3952 (define-public ghc-generics-sop
3953 (package
3954 (name "ghc-generics-sop")
3955 (version "0.4.0.1")
3956 (source
3957 (origin
3958 (method url-fetch)
3959 (uri (string-append "https://hackage.haskell.org/package/"
3960 "generics-sop-" version "/"
3961 "generics-sop-" version ".tar.gz"))
3962 (sha256
3963 (base32
3964 "160knr2phnzh2gldfv954lz029jzc7y8kz5xpmbf4z3vb5ngm6fw"))))
3965 (build-system haskell-build-system)
3966 (inputs
3967 `(("ghc-sop-core" ,ghc-sop-core)
3968 ("ghc-transformers-compat" ,ghc-transformers-compat)))
3969 (home-page "https://github.com/well-typed/generics-sop")
3970 (synopsis "Generic Programming using True Sums of Products for Haskell")
3971 (description "This Haskell package supports the definition of generic
3972 functions. Datatypes are viewed in a uniform, structured way: the choice
3973 between constructors is represented using an n-ary sum, and the arguments of
3974 each constructor are represented using an n-ary product.")
3975 (license license:bsd-3)))
3976
3977 (define-public ghc-geniplate-mirror
3978 (package
3979 (name "ghc-geniplate-mirror")
3980 (version "0.7.6")
3981 (source
3982 (origin
3983 (method url-fetch)
3984 (uri (string-append "https://hackage.haskell.org/package"
3985 "/geniplate-mirror"
3986 "/geniplate-mirror-" version ".tar.gz"))
3987 (sha256
3988 (base32 "1y0m0bw5zpm1y1y6d9qmxj3swl8j8hlw1shxbr5awycf6k884ssb"))))
3989 (build-system haskell-build-system)
3990 (home-page "https://github.com/danr/geniplate")
3991 (synopsis "Use Template Haskell to generate Uniplate-like functions")
3992 (description
3993 "Use Template Haskell to generate Uniplate-like functions. This is a
3994 maintained mirror of the @uref{https://hackage.haskell.org/package/geniplate,
3995 geniplate} package, written by Lennart Augustsson.")
3996 (license license:bsd-3)))
3997
3998 (define-public ghc-genvalidity
3999 (package
4000 (name "ghc-genvalidity")
4001 (version "0.8.0.0")
4002 (source
4003 (origin
4004 (method url-fetch)
4005 (uri (string-append
4006 "https://hackage.haskell.org/package/genvalidity/genvalidity-"
4007 version
4008 ".tar.gz"))
4009 (sha256
4010 (base32
4011 "0w38aq9hfyymidncgkrs6yvja7j573d9sap5qfg5rz910fhsij9a"))))
4012 (build-system haskell-build-system)
4013 (inputs
4014 `(("ghc-quickcheck" ,ghc-quickcheck)
4015 ("ghc-validity" ,ghc-validity)))
4016 (native-inputs
4017 `(("ghc-hspec" ,ghc-hspec)
4018 ("hspec-discover" ,hspec-discover)
4019 ("ghc-hspec-core" ,ghc-hspec-core)))
4020 (home-page
4021 "https://github.com/NorfairKing/validity")
4022 (synopsis
4023 "Testing utilities for the @code{validity} library")
4024 (description
4025 "This package provides testing utilities that are useful in conjunction
4026 with the @code{Validity} typeclass.")
4027 (license license:expat)))
4028
4029 (define-public ghc-genvalidity-property
4030 (package
4031 (name "ghc-genvalidity-property")
4032 (version "0.4.0.0")
4033 (source
4034 (origin
4035 (method url-fetch)
4036 (uri (string-append
4037 "https://hackage.haskell.org/package/"
4038 "genvalidity-property/genvalidity-property-"
4039 version
4040 ".tar.gz"))
4041 (sha256
4042 (base32
4043 "0zayycx62226w54rvkxwhvqhznsr33dk3ds55yyqrfqbnhvph1s9"))))
4044 (build-system haskell-build-system)
4045 (inputs
4046 `(("ghc-quickcheck" ,ghc-quickcheck)
4047 ("ghc-genvalidity" ,ghc-genvalidity)
4048 ("ghc-hspec" ,ghc-hspec)
4049 ("hspec-discover" ,hspec-discover)
4050 ("ghc-validity" ,ghc-validity)))
4051 (native-inputs `(("ghc-doctest" ,ghc-doctest)))
4052 (home-page
4053 "https://github.com/NorfairKing/validity")
4054 (synopsis
4055 "Standard properties for functions on @code{Validity} types")
4056 (description
4057 "This package supplements the @code{Validity} typeclass with standard
4058 properties for functions operating on them.")
4059 (license license:expat)))
4060
4061 (define-public ghc-getopt-generics
4062 (package
4063 (name "ghc-getopt-generics")
4064 (version "0.13.0.4")
4065 (source
4066 (origin
4067 (method url-fetch)
4068 (uri (string-append "https://hackage.haskell.org/package/"
4069 "getopt-generics/getopt-generics-"
4070 version ".tar.gz"))
4071 (sha256
4072 (base32
4073 "1rszkcn1rg38wf35538ljk5bbqjc57y9sb3a0al7qxm82gy8yigr"))))
4074 (build-system haskell-build-system)
4075 (inputs
4076 `(("ghc-base-compat" ,ghc-base-compat)
4077 ("ghc-base-orphans" ,ghc-base-orphans)
4078 ("ghc-generics-sop" ,ghc-generics-sop)
4079 ("ghc-tagged" ,ghc-tagged)))
4080 (native-inputs
4081 `(("ghc-quickcheck" ,ghc-quickcheck)
4082 ("ghc-hspec" ,ghc-hspec)
4083 ("ghc-safe" ,ghc-safe)
4084 ("ghc-silently" ,ghc-silently)
4085 ("hspec-discover" ,hspec-discover)))
4086 (home-page "https://github.com/soenkehahn/getopt-generics")
4087 (synopsis "Create command line interfaces with ease")
4088 (description "This library provides tools to create command line
4089 interfaces with ease.")
4090 (license license:bsd-3)))
4091
4092 (define-public ghc-gitrev
4093 (package
4094 (name "ghc-gitrev")
4095 (version "1.3.1")
4096 (source
4097 (origin
4098 (method url-fetch)
4099 (uri (string-append "https://hackage.haskell.org/package/gitrev/gitrev-"
4100 version ".tar.gz"))
4101 (sha256
4102 (base32 "0cl3lfm6k1h8fxp2vxa6ihfp4v8igkz9h35iwyq2frzm4kdn96d8"))))
4103 (build-system haskell-build-system)
4104 (inputs `(("ghc-base-compat" ,ghc-base-compat)))
4105 (home-page "https://github.com/acfoltzer/gitrev")
4106 (synopsis "Compile git revision info into Haskell projects")
4107 (description
4108 "This package provides some handy Template Haskell splices for including
4109 the current git hash and branch in the code of your project. This is useful
4110 for including in panic messages, @command{--version} output, or diagnostic
4111 info for more informative bug reports.")
4112 (license license:bsd-3)))
4113
4114 (define-public ghc-glob
4115 (package
4116 (name "ghc-glob")
4117 (version "0.10.0")
4118 (source
4119 (origin
4120 (method url-fetch)
4121 (uri (string-append "https://hackage.haskell.org/package/"
4122 "Glob-" version "/"
4123 "Glob-" version ".tar.gz"))
4124 (sha256
4125 (base32
4126 "0953f91f62ncna402vsrfzdcyxhdpjna3bgdw017kad0dfymacs7"))))
4127 (build-system haskell-build-system)
4128 (inputs
4129 `(("ghc-dlist" ,ghc-dlist)
4130 ("ghc-semigroups" ,ghc-semigroups)
4131 ("ghc-transformers-compat" ,ghc-transformers-compat)))
4132 (native-inputs
4133 `(("ghc-hunit" ,ghc-hunit)
4134 ("ghc-quickcheck" ,ghc-quickcheck)
4135 ("ghc-test-framework" ,ghc-test-framework)
4136 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
4137 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
4138 (home-page "http://iki.fi/matti.niemenmaa/glob/")
4139 (synopsis "Haskell library matching glob patterns against file paths")
4140 (description "This package provides a Haskell library for @dfn{globbing}:
4141 matching patterns against file paths.")
4142 (license license:bsd-3)))
4143
4144 (define-public ghc-gluraw
4145 (package
4146 (name "ghc-gluraw")
4147 (version "2.0.0.4")
4148 (source
4149 (origin
4150 (method url-fetch)
4151 (uri (string-append
4152 "https://hackage.haskell.org/package/GLURaw/GLURaw-"
4153 version
4154 ".tar.gz"))
4155 (sha256
4156 (base32
4157 "1i2xi35n5z0d372px9mh6cyhgg1m0cfaiy3fnspkf6kbn9fgsqxq"))))
4158 (build-system haskell-build-system)
4159 (inputs
4160 `(("ghc-openglraw" ,ghc-openglraw)))
4161 (home-page "https://www.haskell.org/haskellwiki/Opengl")
4162 (synopsis "Raw Haskell bindings GLU")
4163 (description "GLURaw is a raw Haskell binding for the GLU 1.3 OpenGL
4164 utility library. It is basically a 1:1 mapping of GLU's C API, intended as a
4165 basis for a nicer interface.")
4166 (license license:bsd-3)))
4167
4168 (define-public ghc-glut
4169 (package
4170 (name "ghc-glut")
4171 (version "2.7.0.15")
4172 (source
4173 (origin
4174 (method url-fetch)
4175 (uri (string-append
4176 "https://hackage.haskell.org/package/GLUT/GLUT-"
4177 version
4178 ".tar.gz"))
4179 (sha256
4180 (base32
4181 "0271vnf6wllhxjwy0m348x90kv27aybxcbqkkglmd5w4cpwjg5g9"))))
4182 (build-system haskell-build-system)
4183 (inputs
4184 `(("ghc-statevar" ,ghc-statevar)
4185 ("ghc-opengl" ,ghc-opengl)
4186 ("ghc-openglraw" ,ghc-openglraw)
4187 ("freeglut" ,freeglut)))
4188 (home-page "https://www.haskell.org/haskellwiki/Opengl")
4189 (synopsis "Haskell bindings for the OpenGL Utility Toolkit")
4190 (description "This library provides Haskell bindings for the OpenGL
4191 Utility Toolkit, a window system-independent toolkit for writing OpenGL
4192 programs.")
4193 (license license:bsd-3)))
4194
4195 (define-public ghc-gnuplot
4196 (package
4197 (name "ghc-gnuplot")
4198 (version "0.5.6")
4199 (source
4200 (origin
4201 (method url-fetch)
4202 (uri (string-append
4203 "mirror://hackage/package/gnuplot/gnuplot-"
4204 version ".tar.gz"))
4205 (sha256
4206 (base32 "1g6xgnlkh17avivn1rlq7l2nvs26dvrbx4rkfld0bf6kyqaqwrgp"))))
4207 (build-system haskell-build-system)
4208 (inputs
4209 `(("ghc-temporary" ,ghc-temporary)
4210 ("ghc-utility-ht" ,ghc-utility-ht)
4211 ("ghc-data-accessor-transformers" ,ghc-data-accessor-transformers)
4212 ("ghc-data-accessor" ,ghc-data-accessor)
4213 ("ghc-semigroups" ,ghc-semigroups)
4214 ("gnuplot" ,gnuplot)))
4215 (arguments
4216 `(#:phases
4217 (modify-phases %standard-phases
4218 (add-before 'configure 'fix-path-to-gnuplot
4219 (lambda* (#:key inputs #:allow-other-keys)
4220 (let ((gnuplot (assoc-ref inputs "gnuplot")))
4221 (substitute* "os/generic/Graphics/Gnuplot/Private/OS.hs"
4222 (("(gnuplotName = ).*$" all cmd)
4223 (string-append cmd "\"" gnuplot "/bin/gnuplot\"")))))))))
4224 (home-page "https://www.haskell.org/haskellwiki/Gnuplot")
4225 (synopsis "2D and 3D plots using gnuplot")
4226 (description "This package provides a Haskell module for creating 2D and
4227 3D plots using gnuplot.")
4228 (license license:bsd-3)))
4229
4230 (define-public ghc-graphviz
4231 (package
4232 (name "ghc-graphviz")
4233 (version "2999.20.0.3")
4234 (source (origin
4235 (method url-fetch)
4236 (uri (string-append "https://hackage.haskell.org/package/"
4237 "graphviz/graphviz-" version ".tar.gz"))
4238 (sha256
4239 (base32
4240 "04k26zw61nfv1pkd00iaq89pgsaiym0sf4cbzkmm2k2fj5xa587g"))))
4241 (build-system haskell-build-system)
4242 (arguments
4243 `(#:phases
4244 (modify-phases %standard-phases
4245 (add-before 'configure 'update-constraints
4246 (lambda _
4247 (substitute* "graphviz.cabal"
4248 (("QuickCheck >= 2\\.3 && < 2\\.13")
4249 "QuickCheck >= 2.3 && < 2.14")
4250 (("hspec >= 2\\.1 && < 2\\.7")
4251 "hspec >= 2.1 && < 2.8")))))))
4252 (inputs
4253 `(("ghc-quickcheck" ,ghc-quickcheck)
4254 ("ghc-colour" ,ghc-colour)
4255 ("ghc-dlist" ,ghc-dlist)
4256 ("ghc-fgl" ,ghc-fgl)
4257 ("ghc-fgl-arbitrary" ,ghc-fgl-arbitrary)
4258 ("ghc-polyparse" ,ghc-polyparse)
4259 ("ghc-temporary" ,ghc-temporary)
4260 ("ghc-wl-pprint-text" ,ghc-wl-pprint-text)))
4261 (native-inputs
4262 `(("ghc-hspec" ,ghc-hspec)
4263 ("graphviz" ,graphviz)
4264 ("hspec-discover" ,hspec-discover)))
4265 (home-page "https://hackage.haskell.org/package/graphviz")
4266 (synopsis "Bindings to Graphviz for graph visualisation")
4267 (description
4268 "This library provides bindings for the Dot language used by
4269 the @uref{https://graphviz.org/, Graphviz} suite of programs for
4270 visualising graphs, as well as functions to call those programs.
4271 Main features of the graphviz library include:
4272
4273 @enumerate
4274 @item Almost complete coverage of all Graphviz attributes and syntax
4275 @item Support for specifying clusters
4276 @item The ability to use a custom node type
4277 @item Functions for running a Graphviz layout tool with all specified output types
4278 @item Generate and parse Dot code with two options: strict and liberal
4279 @item Functions to convert FGL graphs and other graph-like data structures
4280 @item Round-trip support for passing an FGL graph through Graphviz to augment node
4281 and edge labels with positional information, etc.
4282 @end enumerate\n")
4283 (license license:bsd-3)))
4284
4285 (define-public ghc-gtk2hs-buildtools
4286 (package
4287 (name "ghc-gtk2hs-buildtools")
4288 (version "0.13.5.4")
4289 (source
4290 (origin
4291 (method url-fetch)
4292 (uri (string-append "https://hackage.haskell.org/package/"
4293 "gtk2hs-buildtools/gtk2hs-buildtools-"
4294 version ".tar.gz"))
4295 (sha256
4296 (base32
4297 "1flxsacxwmabzzalhn8558kmj95z01c0lmikrn56nxh7p62nxm25"))))
4298 (build-system haskell-build-system)
4299 (inputs
4300 `(("ghc-random" ,ghc-random)
4301 ("ghc-hashtables" ,ghc-hashtables)))
4302 (native-inputs
4303 `(("ghc-alex" ,ghc-alex)
4304 ("ghc-happy" ,ghc-happy)))
4305 (home-page "http://projects.haskell.org/gtk2hs/")
4306 (synopsis "Tools to build the Gtk2Hs suite of user interface libraries")
4307 (description
4308 "This package provides a set of helper programs necessary to build the
4309 Gtk2Hs suite of libraries. These tools include a modified c2hs binding tool
4310 that is used to generate FFI declarations, a tool to build a type hierarchy
4311 that mirrors the C type hierarchy of GObjects found in glib, and a generator
4312 for signal declarations that are used to call back from C to Haskell. These
4313 tools are not needed to actually run Gtk2Hs programs.")
4314 (license license:gpl2)))
4315
4316 (define-public ghc-hackage-security
4317 (package
4318 (name "ghc-hackage-security")
4319 (version "0.5.3.0")
4320 (source
4321 (origin
4322 (method url-fetch)
4323 (uri (string-append "https://hackage.haskell.org/package/"
4324 "hackage-security/hackage-security-"
4325 version ".tar.gz"))
4326 (sha256
4327 (base32
4328 "08bwawc7ramgdh54vcly2m9pvfchp0ahhs8117jajni6x4bnx66v"))))
4329 (build-system haskell-build-system)
4330 (arguments
4331 `(#:cabal-revision
4332 ("6" "1xs2nkzlvkdz8g27yzfxbjdbdadfmgiydnlpn5dm77cg18r495ay")
4333 #:tests? #f)) ; Tests fail because of framework updates.
4334 (inputs
4335 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)
4336 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
4337 ("ghc-cryptohash-sha256" ,ghc-cryptohash-sha256)
4338 ("ghc-ed25519" ,ghc-ed25519)
4339 ("ghc-network" ,ghc-network)
4340 ("ghc-network-uri" ,ghc-network-uri)
4341 ("ghc-tar" ,ghc-tar)
4342 ("ghc-zlib" ,ghc-zlib)))
4343 (native-inputs
4344 `(("ghc-network-uri" ,ghc-network-uri)
4345 ("ghc-quickcheck" ,ghc-quickcheck)
4346 ("ghc-tar" ,ghc-tar)
4347 ("ghc-tasty" ,ghc-tasty)
4348 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
4349 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
4350 ("ghc-temporary" ,ghc-temporary)
4351 ("ghc-zlib" ,ghc-zlib)))
4352 (home-page "https://github.com/haskell/hackage-security")
4353 (synopsis "Hackage security library")
4354 (description "This Hackage security library provides both server and
4355 client utilities for securing @uref{http://hackage.haskell.org/, the
4356 Hackage package server}. It is based on
4357 @uref{http://theupdateframework.com/, The Update Framework}, a set of
4358 recommendations developed by security researchers at various universities
4359 in the US as well as developers on the @uref{https://www.torproject.org/,
4360 Tor project}.")
4361 (license license:bsd-3)))
4362
4363 (define-public ghc-haddock
4364 (package
4365 (name "ghc-haddock")
4366 (version "2.19.0.1")
4367 (source
4368 (origin
4369 (method url-fetch)
4370 (uri (string-append
4371 "https://hackage.haskell.org/package/haddock/haddock-"
4372 version
4373 ".tar.gz"))
4374 (sha256
4375 (base32
4376 "1g1j9j0hf2yhyyh0gwz6bzbvfvliqz9x8a8hnkmwghm7w3xa6sb7"))))
4377 (build-system haskell-build-system)
4378 (arguments
4379 `(#:phases
4380 (modify-phases %standard-phases
4381 ;; There are four test suites that require the ghc-haddock-test
4382 ;; package, which no longer builds with GHC 8.4.3. This phase
4383 ;; removes these four test suites from the Cabal file, so that we
4384 ;; do not need ghc-haddock-test as an input.
4385 (add-before 'configure 'remove-haddock-test-test-suites
4386 (lambda _
4387 (use-modules (ice-9 rdelim))
4388 (with-atomic-file-replacement "haddock.cabal"
4389 (lambda (in out)
4390 (let loop ((line (read-line in 'concat)) (deleting? #f))
4391 (cond
4392 ((eof-object? line) #t)
4393 ((string-every char-set:whitespace line)
4394 (unless deleting? (display line out))
4395 (loop (read-line in 'concat) #f))
4396 ((member line '("test-suite html-test\n"
4397 "test-suite hypsrc-test\n"
4398 "test-suite latex-test\n"
4399 "test-suite hoogle-test\n"))
4400 (loop (read-line in 'concat) #t))
4401 (else
4402 (unless deleting? (display line out))
4403 (loop (read-line in 'concat) deleting?)))))))))))
4404 (inputs `(("ghc-haddock-api" ,ghc-haddock-api)))
4405 (native-inputs
4406 `(("ghc-hspec" ,ghc-hspec)))
4407 (home-page "https://www.haskell.org/haddock/")
4408 (synopsis
4409 "Documentation-generation tool for Haskell libraries")
4410 (description
4411 "Haddock is a documentation-generation tool for Haskell libraries.")
4412 (license license:bsd-3)))
4413
4414 (define-public ghc-haddock-api
4415 (package
4416 (name "ghc-haddock-api")
4417 (version "2.19.0.1")
4418 (source
4419 (origin
4420 (method url-fetch)
4421 (uri (string-append
4422 "https://hackage.haskell.org/package/haddock-api/haddock-api-"
4423 version
4424 ".tar.gz"))
4425 (sha256
4426 (base32
4427 "0c6i7sljp7myz25d90gyw68a90i5jcrkajkxcciikp2hjirfaas3"))))
4428 (build-system haskell-build-system)
4429 (arguments
4430 `(#:phases
4431 (modify-phases %standard-phases
4432 (add-before 'configure 'update-constraints
4433 (lambda _
4434 (substitute* "haddock-api.cabal"
4435 (("Cabal \\^>= 2\\.0\\.0")
4436 "Cabal ^>= 2.2.0")
4437 (("hspec \\^>= 2\\.4\\.4")
4438 "hspec >= 2.4.4 && < 2.6")))))))
4439 (inputs
4440 `(("ghc-paths" ,ghc-paths)
4441 ("ghc-haddock-library" ,ghc-haddock-library)))
4442 (native-inputs
4443 `(("ghc-quickcheck" ,ghc-quickcheck)
4444 ("ghc-hspec" ,ghc-hspec)
4445 ("hspec-discover" ,hspec-discover)))
4446 (home-page "https://www.haskell.org/haddock/")
4447 (synopsis "API for documentation-generation tool Haddock")
4448 (description "This package provides an API to Haddock, the
4449 documentation-generation tool for Haskell libraries.")
4450 (license license:bsd-3)))
4451
4452 (define-public ghc-haddock-library
4453 (package
4454 (name "ghc-haddock-library")
4455 (version "1.7.0")
4456 (source
4457 (origin
4458 (method url-fetch)
4459 (uri (string-append
4460 "https://hackage.haskell.org/package/haddock-library/haddock-library-"
4461 version
4462 ".tar.gz"))
4463 (sha256
4464 (base32
4465 "04fhcjk0pvsaqvsgp2w06cv2qvshq1xs1bwc157q4lmkgr57khp7"))))
4466 (build-system haskell-build-system)
4467 (arguments
4468 `(#:phases
4469 (modify-phases %standard-phases
4470 ;; Since there is no revised Cabal file upstream, we have to
4471 ;; patch it manually.
4472 (add-before 'configure 'relax-test-suite-dependencies
4473 (lambda _
4474 (substitute* "haddock-library.cabal"
4475 (("hspec\\s*>= 2.4.4 && < 2.6") "hspec")
4476 (("QuickCheck\\s*\\^>= 2.11") "QuickCheck"))
4477 #t)))))
4478 (native-inputs
4479 `(("ghc-base-compat" ,ghc-base-compat)
4480 ("ghc-hspec" ,ghc-hspec)
4481 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
4482 ("ghc-quickcheck" ,ghc-quickcheck)
4483 ("ghc-tree-diff" ,ghc-tree-diff)
4484 ("hspec-discover" ,hspec-discover)))
4485 (home-page "https://www.haskell.org/haddock/")
4486 (synopsis "Library exposing some functionality of Haddock")
4487 (description
4488 "Haddock is a documentation-generation tool for Haskell libraries. These
4489 modules expose some functionality of it without pulling in the GHC dependency.
4490 Please note that the API is likely to change so specify upper bounds in your
4491 project if you can't release often. For interacting with Haddock itself, see
4492 the ‘haddock’ package.")
4493 (license license:bsd-3)))
4494
4495 (define-public ghc-half
4496 (package
4497 (name "ghc-half")
4498 (version "0.3")
4499 (source
4500 (origin
4501 (method url-fetch)
4502 (uri (string-append
4503 "https://hackage.haskell.org/package/half/half-"
4504 version ".tar.gz"))
4505 (sha256
4506 (base32
4507 "14r0nx8hm5fic9gz0ybjjw4kyc758zfgvhhwvzsshpx5caq6zch6"))))
4508 (build-system haskell-build-system)
4509 (native-inputs
4510 `(("ghc-hspec" ,ghc-hspec)
4511 ("ghc-quickcheck" ,ghc-quickcheck)))
4512 (home-page "https://github.com/ekmett/half")
4513 (synopsis "Half-precision floating-point computations")
4514 (description "This library provides a half-precision floating-point
4515 computation library for Haskell.")
4516 (license license:bsd-3)))
4517
4518 (define-public ghc-happy
4519 (package
4520 (name "ghc-happy")
4521 (version "1.19.12")
4522 (source
4523 (origin
4524 (method url-fetch)
4525 (uri (string-append
4526 "https://hackage.haskell.org/package/happy/happy-"
4527 version
4528 ".tar.gz"))
4529 (sha256
4530 (base32
4531 "03xlmq6qmdx4zvzw8bp33kd9g7yvcq5cz4wg50xilw812kj276pv"))))
4532 (build-system haskell-build-system)
4533 (arguments
4534 `(#:phases
4535 (modify-phases %standard-phases
4536 (add-after 'unpack 'skip-test-issue93
4537 (lambda _
4538 ;; Tests run out of memory on a system with 2GB of available RAM,
4539 ;; in 'issue93.a.hs' and 'issue93.n.hs'.
4540 (substitute* "tests/Makefile"
4541 ((" issue93.y ") " "))
4542 #t)))))
4543 (home-page "https://hackage.haskell.org/package/happy")
4544 (synopsis "Parser generator for Haskell")
4545 (description "Happy is a parser generator for Haskell. Given a grammar
4546 specification in BNF, Happy generates Haskell code to parse the grammar.
4547 Happy works in a similar way to the yacc tool for C.")
4548 (license license:bsd-3)))
4549
4550 (define-public ghc-hashable
4551 (package
4552 (name "ghc-hashable")
4553 (version "1.2.7.0")
4554 (outputs '("out" "doc"))
4555 (source
4556 (origin
4557 (method url-fetch)
4558 (uri (string-append
4559 "https://hackage.haskell.org/package/hashable/hashable-"
4560 version
4561 ".tar.gz"))
4562 (sha256
4563 (base32
4564 "1gra8gq3kb7b2sd845h55yxlrfqx3ii004c6vjhga8v0b30fzdgc"))))
4565 (build-system haskell-build-system)
4566 (arguments
4567 `(#:cabal-revision
4568 ("1" "197063dpl0wn67dp7a06yc2hxp81n24ykk7klbjx0fndm5n87dh3")))
4569 (inputs
4570 `(("ghc-random" ,ghc-random)))
4571 (native-inputs
4572 `(("ghc-test-framework" ,ghc-test-framework)
4573 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
4574 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
4575 ("ghc-hunit" ,ghc-hunit)
4576 ("ghc-quickcheck" ,ghc-quickcheck)))
4577 (home-page "https://github.com/tibbe/hashable")
4578 (synopsis "Class for types that can be converted to a hash value")
4579 (description
4580 "This package defines a class, @code{Hashable}, for types that can be
4581 converted to a hash value. This class exists for the benefit of hashing-based
4582 data structures. The package provides instances for basic types and a way to
4583 combine hash values.")
4584 (license license:bsd-3)))
4585
4586 (define-public ghc-hashable-bootstrap
4587 (package
4588 (inherit ghc-hashable)
4589 (name "ghc-hashable-bootstrap")
4590 (arguments
4591 `(#:tests? #f
4592 ,@(package-arguments ghc-hashable)))
4593 (native-inputs '())
4594 (properties '((hidden? #t)))))
4595
4596 (define-public ghc-hashable-time
4597 (package
4598 (name "ghc-hashable-time")
4599 (version "0.2.0.2")
4600 (source
4601 (origin
4602 (method url-fetch)
4603 (uri (string-append
4604 "https://hackage.haskell.org/package/hashable-time/hashable-time-"
4605 version
4606 ".tar.gz"))
4607 (sha256
4608 (base32
4609 "1q7y4plqqwy5286hhx2fygn12h8lqk0y047b597sbdckskxzfqgs"))))
4610 (build-system haskell-build-system)
4611 (arguments
4612 `(#:cabal-revision
4613 ("2" "006phc5y9rrvsshdcmjmhxzxh8dpgs685mpqbkjm9c40xb1ydjbz")))
4614 (inputs `(("ghc-hashable" ,ghc-hashable)))
4615 (home-page "http://hackage.haskell.org/package/hashable-time")
4616 (synopsis "Hashable instances for Data.Time")
4617 (description
4618 "This package provides @code{Hashable} instances for types in
4619 @code{Data.Time}.")
4620 (license license:bsd-3)))
4621
4622 (define-public ghc-hashtables
4623 (package
4624 (name "ghc-hashtables")
4625 (version "1.2.3.4")
4626 (source
4627 (origin
4628 (method url-fetch)
4629 (uri (string-append
4630 "https://hackage.haskell.org/package/hashtables/hashtables-"
4631 version ".tar.gz"))
4632 (sha256
4633 (base32 "1rjmxnr30g4hygiywkpz5p9sanh0abs7ap4zc1kgd8zv04kycp0j"))))
4634 (build-system haskell-build-system)
4635 (inputs
4636 `(("ghc-hashable" ,ghc-hashable)
4637 ("ghc-primitive" ,ghc-primitive)
4638 ("ghc-vector" ,ghc-vector)))
4639 (home-page "https://github.com/gregorycollins/hashtables")
4640 (synopsis "Haskell Mutable hash tables in the ST monad")
4641 (description "This package provides a Haskell library including a
4642 couple of different implementations of mutable hash tables in the ST
4643 monad, as well as a typeclass abstracting their common operations, and
4644 a set of wrappers to use the hash tables in the IO monad.")
4645 (license license:bsd-3)))
4646
4647 (define-public ghc-haskell-lexer
4648 (package
4649 (name "ghc-haskell-lexer")
4650 (version "1.0.2")
4651 (source
4652 (origin
4653 (method url-fetch)
4654 (uri (string-append
4655 "https://hackage.haskell.org/package/haskell-lexer/haskell-lexer-"
4656 version ".tar.gz"))
4657 (sha256
4658 (base32 "1wyxd8x33x4v5vxyzkhm610pl86gbkc8y439092fr1735q9g7kfq"))))
4659 (build-system haskell-build-system)
4660 (home-page "http://hackage.haskell.org/package/haskell-lexer")
4661 (synopsis "Fully compliant Haskell 98 lexer")
4662 (description
4663 "This package provides a fully compliant Haskell 98 lexer.")
4664 (license license:bsd-3)))
4665
4666 (define-public ghc-haskell-src
4667 (package
4668 (name "ghc-haskell-src")
4669 (version "1.0.3.0")
4670 (source
4671 (origin
4672 (method url-fetch)
4673 (uri (string-append
4674 "https://hackage.haskell.org/package/haskell-src/haskell-src-"
4675 version
4676 ".tar.gz"))
4677 (sha256
4678 (base32
4679 "1g4dj1f0j68bhn4ixfac63wjzy6gsp6kwgxryb1k5nl3i0g99d5l"))))
4680 (build-system haskell-build-system)
4681 (inputs
4682 `(("ghc-happy" ,ghc-happy)
4683 ("ghc-syb" ,ghc-syb)))
4684 (home-page
4685 "https://hackage.haskell.org/package/haskell-src")
4686 (synopsis
4687 "Support for manipulating Haskell source code")
4688 (description
4689 "The @code{haskell-src} package provides support for manipulating Haskell
4690 source code. The package provides a lexer, parser and pretty-printer, and a
4691 definition of a Haskell abstract syntax tree (AST). Common uses of this
4692 package are to parse or generate Haskell 98 code.")
4693 (license license:bsd-3)))
4694
4695 (define-public ghc-haskell-src-exts
4696 (package
4697 (name "ghc-haskell-src-exts")
4698 (version "1.21.1")
4699 (source
4700 (origin
4701 (method url-fetch)
4702 (uri (string-append
4703 "https://hackage.haskell.org/package/haskell-src-exts/haskell-src-exts-"
4704 version
4705 ".tar.gz"))
4706 (sha256
4707 (base32
4708 "0q1y8n3d82gid9bcx8wxsqqmj9mq11fg3gp5yzpfbw958dhi3j9f"))))
4709 (build-system haskell-build-system)
4710 (inputs
4711 `(("cpphs" ,cpphs)
4712 ("ghc-happy" ,ghc-happy)
4713 ("ghc-pretty-show" ,ghc-pretty-show)))
4714 (native-inputs
4715 `(("ghc-smallcheck" ,ghc-smallcheck)
4716 ("ghc-tasty" ,ghc-tasty)
4717 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
4718 ("ghc-tasty-golden" ,ghc-tasty-golden)))
4719 (home-page "https://github.com/haskell-suite/haskell-src-exts")
4720 (synopsis "Library for manipulating Haskell source")
4721 (description "Haskell-Source with Extensions (HSE, haskell-src-exts) is an
4722 extension of the standard @code{haskell-src} package, and handles most
4723 registered syntactic extensions to Haskell. All extensions implemented in GHC
4724 are supported. Apart from these standard extensions, it also handles regular
4725 patterns as per the HaRP extension as well as HSX-style embedded XML syntax.")
4726 (license license:bsd-3)))
4727
4728 (define-public ghc-haskell-src-exts-util
4729 (package
4730 (name "ghc-haskell-src-exts-util")
4731 (version "0.2.5")
4732 (source
4733 (origin
4734 (method url-fetch)
4735 (uri (string-append "https://hackage.haskell.org/package/"
4736 "haskell-src-exts-util/haskell-src-exts-util-"
4737 version ".tar.gz"))
4738 (sha256
4739 (base32
4740 "0fvqi72m74p7q5sbpy8m2chm8a1lgy10mfrcxcz8wrh59vngj0n8"))))
4741 (build-system haskell-build-system)
4742 (inputs
4743 `(("ghc-data-default" ,ghc-data-default)
4744 ("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
4745 ("ghc-semigroups" ,ghc-semigroups)
4746 ("ghc-uniplate" ,ghc-uniplate)))
4747 (home-page "https://github.com/pepeiborra/haskell-src-exts-util")
4748 (synopsis "Helper functions for working with haskell-src-exts trees")
4749 (description
4750 "This package provides helper functions for working with
4751 @code{haskell-src-exts} trees.")
4752 (license license:bsd-3)))
4753
4754 (define-public ghc-haskell-src-meta
4755 (package
4756 (name "ghc-haskell-src-meta")
4757 (version "0.8.3")
4758 (source (origin
4759 (method url-fetch)
4760 (uri (string-append "https://hackage.haskell.org/package/"
4761 "haskell-src-meta/haskell-src-meta-"
4762 version ".tar.gz"))
4763 (sha256
4764 (base32
4765 "17znnaqj2hnnfyc9p9xjzbs97h2jh1h4f4qbw648y3xa14wx5ra9"))))
4766 (build-system haskell-build-system)
4767 (inputs
4768 `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
4769 ("ghc-syb" ,ghc-syb)
4770 ("ghc-th-orphans" ,ghc-th-orphans)))
4771 (native-inputs
4772 `(("ghc-hunit" ,ghc-hunit)
4773 ("ghc-tasty" ,ghc-tasty)
4774 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
4775 (home-page "https://hackage.haskell.org/package/haskell-src-meta")
4776 (synopsis "Parse source to template-haskell abstract syntax")
4777 (description
4778 "This package provides tools to parse Haskell sources to the
4779 template-haskell abstract syntax.")
4780 (license license:bsd-3)))
4781
4782 (define-public ghc-hasktags
4783 (package
4784 (name "ghc-hasktags")
4785 (version "0.71.2")
4786 (source
4787 (origin
4788 (method url-fetch)
4789 (uri (string-append
4790 "https://hackage.haskell.org/package/hasktags/hasktags-"
4791 version
4792 ".tar.gz"))
4793 (sha256
4794 (base32
4795 "1s2k9qrgy1jily96img2pmn7g35mwnnfiw6si3aw32jfhg5zsh1c"))))
4796 (build-system haskell-build-system)
4797 (inputs
4798 `(("ghc-system-filepath" ,ghc-system-filepath)
4799 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
4800 (native-inputs
4801 `(("ghc-json" ,ghc-json)
4802 ("ghc-utf8-string" ,ghc-utf8-string)
4803 ("ghc-microlens-platform" ,ghc-microlens-platform)
4804 ("ghc-hunit" ,ghc-hunit)))
4805 (home-page "http://github.com/MarcWeber/hasktags")
4806 (synopsis "Make @code{Ctags} and @code{Etags} files for Haskell programs")
4807 (description
4808 "This package provides a means of generating tag files for Emacs and
4809 Vim.")
4810 (license license:bsd-3)))
4811
4812 (define-public ghc-hex
4813 (package
4814 (name "ghc-hex")
4815 (version "0.1.2")
4816 (source
4817 (origin
4818 (method url-fetch)
4819 (uri (string-append "https://hackage.haskell.org/package/"
4820 "hex-" version "/"
4821 "hex-" version ".tar.gz"))
4822 (sha256
4823 (base32
4824 "1v31xiaivrrn0q2jz8919wvkjplv1kxna5ajhsj701fqxm1i5vhj"))))
4825 (build-system haskell-build-system)
4826 (home-page "https://hackage.haskell.org/package/hex")
4827 (synopsis "Convert strings into hexadecimal and back")
4828 (description "This package provides conversion functions between
4829 bytestrings and their hexademical representation.")
4830 (license license:bsd-3)))
4831
4832 (define-public ghc-highlighting-kate
4833 (package
4834 (name "ghc-highlighting-kate")
4835 (version "0.6.4")
4836 (source (origin
4837 (method url-fetch)
4838 (uri (string-append "https://hackage.haskell.org/package/"
4839 "highlighting-kate/highlighting-kate-"
4840 version ".tar.gz"))
4841 (sha256
4842 (base32
4843 "1bqv00gfmrsf0jjr4qf3lhshvfkyzmhbi3pjb6mafbnsyn2k7f6q"))))
4844 (build-system haskell-build-system)
4845 (inputs
4846 `(("ghc-diff" ,ghc-diff)
4847 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)))
4848 (native-inputs
4849 `(("ghc-blaze-html" ,ghc-blaze-html)
4850 ("ghc-utf8-string" ,ghc-utf8-string)))
4851 (home-page "https://github.com/jgm/highlighting-kate")
4852 (synopsis "Syntax highlighting library")
4853 (description
4854 "Highlighting-kate is a syntax highlighting library with support for
4855 nearly one hundred languages. The syntax parsers are automatically generated
4856 from @uref{https://kate-editor.org/, Kate syntax descriptions}, so any syntax
4857 supported by Kate can be added. An (optional) command-line program is
4858 provided, along with a utility for generating new parsers from Kate XML syntax
4859 descriptions.")
4860 (license license:gpl2+)))
4861
4862 (define-public ghc-hindent
4863 (package
4864 (name "ghc-hindent")
4865 (version "5.3.0")
4866 (source
4867 (origin
4868 (method url-fetch)
4869 (uri (string-append
4870 "https://hackage.haskell.org/package/hindent/hindent-"
4871 version
4872 ".tar.gz"))
4873 (sha256
4874 (base32
4875 "0wkfik7mvqskk23kyh7ybgnlh3j9j1ym7d3ncahsbli9w654b7xg"))))
4876 (build-system haskell-build-system)
4877 (arguments
4878 `(#:modules ((guix build haskell-build-system)
4879 (guix build utils)
4880 (guix build emacs-utils))
4881 #:imported-modules (,@%haskell-build-system-modules
4882 (guix build emacs-utils))
4883 #:phases
4884 (modify-phases %standard-phases
4885 (add-after 'install 'emacs-install
4886 (lambda* (#:key inputs outputs #:allow-other-keys)
4887 (let* ((out (assoc-ref outputs "out"))
4888 (elisp-file "elisp/hindent.el")
4889 (dest (string-append out "/share/emacs/site-lisp"
4890 "/guix.d/hindent-" ,version))
4891 (emacs (string-append (assoc-ref inputs "emacs")
4892 "/bin/emacs")))
4893 (make-file-writable elisp-file)
4894 (emacs-substitute-variables elisp-file
4895 ("hindent-process-path"
4896 (string-append out "/bin/hindent")))
4897 (install-file elisp-file dest)
4898 (emacs-generate-autoloads "hindent" dest)))))))
4899 (inputs
4900 `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
4901 ("ghc-monad-loops" ,ghc-monad-loops)
4902 ("ghc-utf8-string" ,ghc-utf8-string)
4903 ("ghc-exceptions" ,ghc-exceptions)
4904 ("ghc-yaml" ,ghc-yaml)
4905 ("ghc-unix-compat" ,ghc-unix-compat)
4906 ("ghc-path" ,ghc-path)
4907 ("ghc-path-io" ,ghc-path-io)
4908 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
4909 (native-inputs
4910 `(("ghc-hspec" ,ghc-hspec)
4911 ("ghc-diff" ,ghc-diff)
4912 ("emacs" ,emacs-minimal)))
4913 (home-page
4914 "https://github.com/commercialhaskell/hindent")
4915 (synopsis "Extensible Haskell pretty printer")
4916 (description
4917 "This package provides automatic formatting for Haskell files. Both a
4918 library and an executable.")
4919 (license license:bsd-3)))
4920
4921 (define-public ghc-hinotify
4922 (package
4923 (name "ghc-hinotify")
4924 (version "0.4")
4925 (source (origin
4926 (method url-fetch)
4927 (uri (string-append
4928 "https://hackage.haskell.org/package/hinotify/"
4929 "hinotify-" version ".tar.gz"))
4930 (sha256
4931 (base32
4932 "1x1lm685ws2q0z0ibwq6x3l72xh67mj06s36xiga3al48d92q63x"))))
4933 (build-system haskell-build-system)
4934 (inputs
4935 `(("ghc-async" ,ghc-async)))
4936 (home-page "https://github.com/kolmodin/hinotify.git")
4937 (synopsis "Haskell binding to inotify")
4938 (description "This library provides a wrapper to the Linux kernel's inotify
4939 feature, allowing applications to subscribe to notifications when a file is
4940 accessed or modified.")
4941 (license license:bsd-3)))
4942
4943 (define-public ghc-hmatrix
4944 (package
4945 (name "ghc-hmatrix")
4946 (version "0.20.0.0")
4947 (source
4948 (origin
4949 (method url-fetch)
4950 (uri (string-append
4951 "https://hackage.haskell.org/package/hmatrix/hmatrix-"
4952 version ".tar.gz"))
4953 (sha256
4954 (base32 "1sqy1aci5zfagkb34mz3xdil7cl96z4b4cx28cha54vc5sx1lhpg"))))
4955 (build-system haskell-build-system)
4956 (inputs
4957 `(("ghc-random" ,ghc-random)
4958 ("ghc-split" ,ghc-split)
4959 ("ghc-storable-complex" ,ghc-storable-complex)
4960 ("ghc-semigroups" ,ghc-semigroups)
4961 ("ghc-vector" ,ghc-vector)
4962 ;;("openblas" ,openblas)
4963 ("lapack" ,lapack)))
4964 ;; Guix's OpenBLAS is built with the flag "NO_LAPACK=1" which
4965 ;; disables inclusion of the LAPACK functions.
4966 ;; (arguments `(#:configure-flags '("--flags=openblas")))
4967 (home-page "https://github.com/albertoruiz/hmatrix")
4968 (synopsis "Haskell numeric linear algebra library")
4969 (description "The HMatrix package provices a Haskell library for
4970 dealing with linear systems, matrix decompositions, and other
4971 numerical computations based on BLAS and LAPACK.")
4972 (license license:bsd-3)))
4973
4974 (define-public ghc-hmatrix-gsl
4975 (package
4976 (name "ghc-hmatrix-gsl")
4977 (version "0.19.0.1")
4978 (source
4979 (origin
4980 (method url-fetch)
4981 (uri (string-append
4982 "https://hackage.haskell.org/package/hmatrix-gsl/hmatrix-gsl-"
4983 version ".tar.gz"))
4984 (sha256
4985 (base32 "0v6dla426x4ywaq59jm89ql1i42n39iw6z0j378xwb676v9kfxhm"))))
4986 (build-system haskell-build-system)
4987 (inputs
4988 `(("ghc-hmatrix" ,ghc-hmatrix)
4989 ("ghc-vector" ,ghc-vector)
4990 ("ghc-random" ,ghc-random)
4991 ("gsl" ,gsl)))
4992 (native-inputs `(("pkg-config" ,pkg-config)))
4993 (home-page "https://github.com/albertoruiz/hmatrix")
4994 (synopsis "Haskell GSL binding")
4995 (description "This Haskell library provides a purely functional
4996 interface to selected numerical computations, internally implemented
4997 using GSL.")
4998 (license license:gpl3+)))
4999
5000 (define-public ghc-hmatrix-gsl-stats
5001 (package
5002 (name "ghc-hmatrix-gsl-stats")
5003 (version "0.4.1.8")
5004 (source
5005 (origin
5006 (method url-fetch)
5007 (uri
5008 (string-append
5009 "https://hackage.haskell.org/package/hmatrix-gsl-stats/hmatrix-gsl-stats-"
5010 version ".tar.gz"))
5011 (sha256
5012 (base32 "1cq049sj3q5r06x7i35hqrkf2jc4p4kfi9zv0jmi2vp7w4644i5q"))))
5013 (build-system haskell-build-system)
5014 (inputs
5015 `(("ghc-vector" ,ghc-vector)
5016 ("ghc-storable-complex" ,ghc-storable-complex)
5017 ("ghc-hmatrix" ,ghc-hmatrix)
5018 ("gsl" ,gsl)))
5019 (native-inputs `(("pkg-config" ,pkg-config)))
5020 (home-page "http://code.haskell.org/hmatrix-gsl-stats")
5021 (synopsis "GSL Statistics interface for Haskell")
5022 (description "This Haskell library provides a purely functional
5023 interface for statistics based on hmatrix and GSL.")
5024 (license license:bsd-3)))
5025
5026 (define-public ghc-hmatrix-special
5027 (package
5028 (name "ghc-hmatrix-special")
5029 (version "0.19.0.0")
5030 (source
5031 (origin
5032 (method url-fetch)
5033 (uri
5034 (string-append
5035 "https://hackage.haskell.org/package/hmatrix-special/hmatrix-special-"
5036 version ".tar.gz"))
5037 (sha256
5038 (base32 "1mywr61kr852sbff26n9x95kswx9l4ycbv6s68qsbkh02xzqq7qz"))))
5039 (build-system haskell-build-system)
5040 (inputs
5041 `(("ghc-hmatrix" ,ghc-hmatrix)
5042 ("ghc-hmatrix-gsl" ,ghc-hmatrix-gsl)))
5043 (home-page "https://github.com/albertoruiz/hmatrix")
5044 (synopsis "Haskell interface to GSL special functions")
5045 (description "This library provides an interface to GSL special
5046 functions for Haskell.")
5047 (license license:gpl3+)))
5048
5049 (define-public ghc-hostname
5050 (package
5051 (name "ghc-hostname")
5052 (version "1.0")
5053 (source
5054 (origin
5055 (method url-fetch)
5056 (uri (string-append "https://hackage.haskell.org/package/hostname/"
5057 "hostname-" version ".tar.gz"))
5058 (sha256
5059 (base32
5060 "0p6gm4328946qxc295zb6vhwhf07l1fma82vd0siylnsnsqxlhwv"))))
5061 (build-system haskell-build-system)
5062 (home-page "https://hackage.haskell.org/package/hostname")
5063 (synopsis "Hostname in Haskell")
5064 (description "Network.HostName is a simple package providing a means to
5065 determine the hostname.")
5066 (license license:bsd-3)))
5067
5068 (define-public ghc-hourglass
5069 (package
5070 (name "ghc-hourglass")
5071 (version "0.2.12")
5072 (source (origin
5073 (method url-fetch)
5074 (uri (string-append "https://hackage.haskell.org/package/"
5075 "hourglass/hourglass-" version ".tar.gz"))
5076 (sha256
5077 (base32
5078 "0jnay5j13vpz6i1rkaj3j0d9v8jfpri499xn3l7wd01f81f5ncs4"))))
5079 (build-system haskell-build-system)
5080 (inputs
5081 `(("ghc-old-locale" ,ghc-old-locale)))
5082 (native-inputs
5083 `(("ghc-tasty" ,ghc-tasty)
5084 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5085 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5086 (home-page "https://github.com/vincenthz/hs-hourglass")
5087 (synopsis "Simple time-related library for Haskell")
5088 (description
5089 "This is a simple time library providing a simple but powerful and
5090 performant API. The backbone of the library are the @code{Timeable} and
5091 @code{Time} type classes. Each @code{Timeable} instances can be converted to
5092 a type that has a @code{Time} instances, and thus are different
5093 representations of current time.")
5094 (license license:bsd-3)))
5095
5096 (define-public ghc-hpack
5097 (package
5098 (name "ghc-hpack")
5099 (version "0.31.2")
5100 (source
5101 (origin
5102 (method url-fetch)
5103 (uri (string-append "https://hackage.haskell.org/package/hpack/"
5104 "hpack-" version ".tar.gz"))
5105 (patches (search-patches "ghc-hpack-fix-tests.patch"))
5106 (sha256
5107 (base32
5108 "1l2d6185lawwhsj70swxkvcacm0hvcn9qsrlx4ph4gs6k578603g"))))
5109 (build-system haskell-build-system)
5110 (inputs
5111 `(("ghc-aeson" ,ghc-aeson)
5112 ("ghc-bifunctors" ,ghc-bifunctors)
5113 ("ghc-cryptonite" ,ghc-cryptonite)
5114 ("ghc-glob" ,ghc-glob)
5115 ("ghc-http-client" ,ghc-http-client)
5116 ("ghc-http-client-tls" ,ghc-http-client-tls)
5117 ("ghc-http-types" ,ghc-http-types)
5118 ("ghc-infer-license" ,ghc-infer-license)
5119 ("ghc-scientific" ,ghc-scientific)
5120 ("ghc-unordered-containers" ,ghc-unordered-containers)
5121 ("ghc-vector" ,ghc-vector)
5122 ("ghc-yaml" ,ghc-yaml)))
5123 (native-inputs
5124 `(("ghc-hspec" ,ghc-hspec)
5125 ("ghc-hunit" ,ghc-hunit)
5126 ("ghc-interpolate" ,ghc-interpolate)
5127 ("ghc-mockery" ,ghc-mockery)
5128 ("ghc-quickcheck" ,ghc-quickcheck)
5129 ("ghc-temporary" ,ghc-temporary)
5130 ("hspec-discover" ,hspec-discover)))
5131 (home-page "https://github.com/sol/hpack")
5132 (synopsis "Tools for an alternative Haskell package format")
5133 (description
5134 "Hpack is a format for Haskell packages. It is an alternative to the
5135 Cabal package format and follows different design principles. Hpack packages
5136 are described in a file named @code{package.yaml}. Both @code{cabal2nix} and
5137 @code{stack} support @code{package.yaml} natively. For other build tools the
5138 @code{hpack} executable can be used to generate a @code{.cabal} file from
5139 @code{package.yaml}.")
5140 (license license:expat)))
5141
5142 (define-public ghc-hs-bibutils
5143 (package
5144 (name "ghc-hs-bibutils")
5145 (version "6.7.0.0")
5146 (source
5147 (origin
5148 (method url-fetch)
5149 (uri (string-append
5150 "https://hackage.haskell.org/package/hs-bibutils/hs-bibutils-"
5151 version ".tar.gz"))
5152 (sha256
5153 (base32
5154 "1qfyssl76lm4g09yxr3y10kmf8cnzls46g5h0ijk0wpk9wlhbln5"))))
5155 (build-system haskell-build-system)
5156 (inputs `(("ghc-syb" ,ghc-syb)))
5157 (home-page "https://hackage.haskell.org/package/hs-bibutils")
5158 (synopsis "Haskell bindings to bibutils")
5159 (description
5160 "This package provides Haskell bindings to @code{bibutils}, a library
5161 that interconverts between various bibliography formats using a common
5162 MODS-format XML intermediate.")
5163 (license license:gpl2+)))
5164
5165 (define-public ghc-hslogger
5166 (package
5167 (name "ghc-hslogger")
5168 (version "1.2.12")
5169 (source
5170 (origin
5171 (method url-fetch)
5172 (uri (string-append "https://hackage.haskell.org/package/"
5173 "hslogger-" version "/" "hslogger-"
5174 version ".tar.gz"))
5175 (sha256 (base32
5176 "0ykcsk7wqygvrg60r5kpl6xfinr706al8pfyk5wj67wjs24lqypr"))))
5177 (build-system haskell-build-system)
5178 (inputs
5179 `(("ghc-network" ,ghc-network)
5180 ("ghc-old-locale" ,ghc-old-locale)))
5181 (native-inputs
5182 `(("ghc-hunit" ,ghc-hunit)))
5183 (home-page "https://software.complete.org/hslogger")
5184 (synopsis "Logging framework for Haskell, similar to Python's logging module")
5185 (description "Hslogger lets each log message have a priority and source be
5186 associated with it. The programmer can then define global handlers that route
5187 or filter messages based on the priority and source. It also has a syslog
5188 handler built in.")
5189 (license license:bsd-3)))
5190
5191 (define-public ghc-hslua
5192 (package
5193 (name "ghc-hslua")
5194 (version "1.0.3.2")
5195 (source (origin
5196 (method url-fetch)
5197 (uri (string-append "https://hackage.haskell.org/package/"
5198 "hslua/hslua-" version ".tar.gz"))
5199 (sha256
5200 (base32
5201 "183bgl5jcx5y2r94lviqfw0a5w9089nxjd1z40k8vx9y2h60pm6j"))))
5202 (build-system haskell-build-system)
5203 (arguments
5204 `(#:configure-flags '("-fsystem-lua")))
5205 (inputs
5206 `(("lua" ,lua)
5207 ("ghc-exceptions" ,ghc-exceptions)
5208 ("ghc-fail" ,ghc-fail)))
5209 (native-inputs
5210 `(("ghc-tasty" ,ghc-tasty)
5211 ("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
5212 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5213 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5214 ("ghc-quickcheck" ,ghc-quickcheck)
5215 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
5216 (home-page "https://hackage.haskell.org/package/hslua")
5217 (synopsis "Lua language interpreter embedding in Haskell")
5218 (description
5219 "The Scripting.Lua module is a wrapper of the Lua language interpreter as
5220 described in @url{https://www.lua.org/}.")
5221 (license license:expat)))
5222
5223 (define-public ghc-hslua-module-system
5224 (package
5225 (name "ghc-hslua-module-system")
5226 (version "0.2.1")
5227 (source
5228 (origin
5229 (method url-fetch)
5230 (uri (string-append "https://hackage.haskell.org/package/"
5231 "hslua-module-system/hslua-module-system-"
5232 version ".tar.gz"))
5233 (sha256
5234 (base32
5235 "1m7wz3g5c34pyizqw5mllzhsy2vziddhlbhjfwdvd7nhd3p4v3hh"))))
5236 (build-system haskell-build-system)
5237 (inputs
5238 `(("ghc-exceptions" ,ghc-exceptions)
5239 ("ghc-hslua" ,ghc-hslua)
5240 ("ghc-temporary" ,ghc-temporary)))
5241 (native-inputs
5242 `(("ghc-tasty" ,ghc-tasty)
5243 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5244 (home-page "https://github.com/hslua/hslua-module-system")
5245 (synopsis "Lua module wrapper around Haskell's System module")
5246 (description "This library provides access to system information and
5247 functionality to Lua scripts via Haskell's @code{System} module. Intended
5248 usage for this package is to preload it by adding the loader function to
5249 @code{package.preload}. Note that the Lua @code{package} library must have
5250 already been loaded before the loader can be added.")
5251 (license license:expat)))
5252
5253 (define-public ghc-hslua-module-text
5254 (package
5255 (name "ghc-hslua-module-text")
5256 (version "0.2.1")
5257 (source
5258 (origin
5259 (method url-fetch)
5260 (uri (string-append "https://hackage.haskell.org/package/"
5261 "hslua-module-text/hslua-module-text-"
5262 version ".tar.gz"))
5263 (sha256
5264 (base32
5265 "1ikdwvvxhbd5wmfr85dzs2ccamh9rbbpgy899z7s1vlv5q1dj0hk"))))
5266 (build-system haskell-build-system)
5267 (inputs
5268 `(("ghc-hslua" ,ghc-hslua)))
5269 (native-inputs
5270 `(("ghc-tasty" ,ghc-tasty)
5271 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5272 (home-page "https://github.com/hslua/hslua-module-text")
5273 (synopsis "Lua module for text")
5274 (description
5275 "This package provides a UTF-8 aware subset of Lua's @code{string} module
5276 for Haskell. The functions provided by this module are @code{upper},
5277 @code{lower}, @code{len}, @code{reverse}, and @code{sub}.")
5278 (license license:expat)))
5279
5280 (define-public ghc-hsyaml
5281 (package
5282 (name "ghc-hsyaml")
5283 (version "0.1.2.0")
5284 (source
5285 (origin
5286 (method url-fetch)
5287 (uri (string-append "https://hackage.haskell.org/package/"
5288 "HsYAML/HsYAML-" version ".tar.gz"))
5289 (sha256
5290 (base32
5291 "1pajfhj16559v64ixm8j7bvxdqmxg6c3c0z3wz7in8ckswgzfp54"))))
5292 (build-system haskell-build-system)
5293 (arguments
5294 `(#:cabal-revision
5295 ("1" "0j6qmmcz5yqh89hs2cq453maix50q61vl2h0ahj5lg02bygn42cf")))
5296 (home-page "https://github.com/haskell-hvr/HsYAML")
5297 (synopsis "Pure Haskell YAML 1.2 parser")
5298 (description "This library provides a
5299 @url{http://yaml.org/spec/1.2/spec.html, YAML 1.2} parser implementation
5300 for Haskell. Its features include:
5301
5302 @itemize
5303 @item Pure Haskell implementation with small dependency footprint and
5304 emphasis on strict compliance with the YAML 1.2 specification.
5305
5306 @item Direct decoding to native Haskell types via (aeson-inspired)
5307 typeclass-based API (see @code{Data.YAML}).
5308
5309 @item Support for constructing custom YAML node graph
5310 representation (including support for cyclic YAML data structures).
5311
5312 @item Support for the standard (untyped) @emph{Failsafe}, (strict)
5313 @emph{JSON}, and (flexible) @emph{Core} ``schemas'' providing implicit
5314 typing rules as defined in the YAML 1.2 specification (including support
5315 for user-defined custom schemas).
5316
5317 @item Event-based API resembling LibYAML's Event-based API (see
5318 @code{Data.YAML.Event}).
5319
5320 @item Low-level API access to lexical token-based scanner (see
5321 @code{Data.YAML.Token}).
5322 @end itemize")
5323 (license license:gpl2+)))
5324
5325 (define-public ghc-http-api-data
5326 (package
5327 (name "ghc-http-api-data")
5328 (version "0.4.1")
5329 (source
5330 (origin
5331 (method url-fetch)
5332 (uri (string-append "https://hackage.haskell.org/package/"
5333 "http-api-data-" version "/"
5334 "http-api-data-" version ".tar.gz"))
5335 (sha256
5336 (base32
5337 "1ps4bvln43gz72dr9mc3c9n1rn38c4rz6m49vxzz9nz6jz1978rv"))))
5338 (build-system haskell-build-system)
5339 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
5340 ("ghc-attoparsec-iso8601" ,ghc-attoparsec-iso8601)
5341 ("ghc-cookie" ,ghc-cookie)
5342 ("ghc-hashable" ,ghc-hashable)
5343 ("ghc-http-types" ,ghc-http-types)
5344 ("ghc-time-compat" ,ghc-time-compat)
5345 ("ghc-unordered-containers" ,ghc-unordered-containers)
5346 ("ghc-uuid-types" ,ghc-uuid-types)))
5347 (native-inputs
5348 `(("cabal-doctest" ,cabal-doctest)
5349 ("ghc-nats" ,ghc-nats)
5350 ("ghc-hunit" ,ghc-hunit)
5351 ("ghc-hspec" ,ghc-hspec)
5352 ("ghc-quickcheck" ,ghc-quickcheck)
5353 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
5354 ("ghc-doctest" ,ghc-doctest)
5355 ("hspec-discover" ,hspec-discover)))
5356 (home-page "https://github.com/fizruk/http-api-data")
5357 (synopsis "Convert to/from HTTP API data like URL pieces, headers and
5358 query parameters")
5359 (description "This Haskell package defines typeclasses used for converting
5360 Haskell data types to and from HTTP API data.")
5361 (license license:bsd-3)))
5362
5363 (define-public ghc-ieee754
5364 (package
5365 (name "ghc-ieee754")
5366 (version "0.8.0")
5367 (source (origin
5368 (method url-fetch)
5369 (uri (string-append
5370 "https://hackage.haskell.org/package/ieee754/"
5371 "ieee754-" version ".tar.gz"))
5372 (sha256
5373 (base32
5374 "1lcs521g9lzy9d7337vg4w7q7s8500rfqy7rcifcz6pm6yfgyb8f"))))
5375 (build-system haskell-build-system)
5376 (home-page "https://github.com/patperry/hs-ieee754")
5377 (synopsis "Utilities for dealing with IEEE floating point numbers")
5378 (description "Utilities for dealing with IEEE floating point numbers,
5379 ported from the Tango math library; approximate and exact equality comparisons
5380 for general types.")
5381 (license license:bsd-3)))
5382
5383 (define-public ghc-ifelse
5384 (package
5385 (name "ghc-ifelse")
5386 (version "0.85")
5387 (source
5388 (origin
5389 (method url-fetch)
5390 (uri (string-append "https://hackage.haskell.org/package/"
5391 "IfElse/IfElse-" version ".tar.gz"))
5392 (sha256
5393 (base32
5394 "1kfx1bwfjczj93a8yqz1n8snqiq5655qgzwv1lrycry8wb1vzlwa"))))
5395 (build-system haskell-build-system)
5396 (home-page "http://hackage.haskell.org/package/IfElse")
5397 (synopsis "Monadic control flow with anaphoric variants")
5398 (description "This library provides functions for control flow inside of
5399 monads with anaphoric variants on @code{if} and @code{when} and a C-like
5400 @code{switch} function.")
5401 (license license:bsd-3)))
5402
5403 (define-public ghc-indents
5404 (package
5405 (name "ghc-indents")
5406 (version "0.5.0.1")
5407 (source (origin
5408 (method url-fetch)
5409 (uri (string-append
5410 "https://hackage.haskell.org/package/indents/indents-"
5411 version ".tar.gz"))
5412 (sha256
5413 (base32
5414 "0dpcwiz0dwn5aqdsc50plfaawh86adhf7jx5dsmhn5q5nz32qn51"))))
5415 (build-system haskell-build-system)
5416 ;; This package needs an older version of tasty.
5417 (arguments '(#:tests? #f))
5418 (inputs
5419 `(("ghc-concatenative" ,ghc-concatenative)))
5420 (native-inputs
5421 `(("ghc-tasty" ,ghc-tasty)
5422 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5423 (home-page "http://patch-tag.com/r/salazar/indents")
5424 (synopsis "Indentation sensitive parser-combinators for parsec")
5425 (description
5426 "This library provides functions for use in parsing indentation sensitive
5427 contexts. It parses blocks of lines all indented to the same level as well as
5428 lines continued at an indented level below.")
5429 (license license:bsd-3)))
5430
5431 (define-public ghc-infer-license
5432 (package
5433 (name "ghc-infer-license")
5434 (version "0.2.0")
5435 (source
5436 (origin
5437 (method url-fetch)
5438 (uri (string-append "https://hackage.haskell.org/package/"
5439 "infer-license/infer-license-" version ".tar.gz"))
5440 (sha256
5441 (base32
5442 "0wlfm6bf55kfvm74xar9lmjg5v1103rs9m3grw1rq5bmcmhzxrhj"))))
5443 (build-system haskell-build-system)
5444 (inputs
5445 `(("ghc-text-metrics" ,ghc-text-metrics)))
5446 (native-inputs
5447 `(("ghc-hspec" ,ghc-hspec)
5448 ("hspec-discover" ,hspec-discover)))
5449 (home-page "http://hackage.haskell.org/package/infer-license")
5450 (synopsis "Infer software license from a given license file")
5451 (description "This library provides tools to infer a software
5452 license from a given license file.")
5453 (license license:expat)))
5454
5455 (define-public ghc-inline-c
5456 (package
5457 (name "ghc-inline-c")
5458 (version "0.7.0.1")
5459 (source
5460 (origin
5461 (method url-fetch)
5462 (uri (string-append "https://hackage.haskell.org/package/inline-c/"
5463 "inline-c-" version ".tar.gz"))
5464 (sha256
5465 (base32
5466 "19scbviwiv1fbsdcjji3dscjg7w0xa8r97xwkqqrwm7zhvrg5wns"))))
5467 (build-system haskell-build-system)
5468 (inputs
5469 `(("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
5470 ("ghc-cryptohash" ,ghc-cryptohash)
5471 ("ghc-hashable" ,ghc-hashable)
5472 ("ghc-parsers" ,ghc-parsers)
5473 ("ghc-unordered-containers" ,ghc-unordered-containers)
5474 ("ghc-vector" ,ghc-vector)))
5475 (native-inputs
5476 `(("ghc-quickcheck" ,ghc-quickcheck)
5477 ("ghc-hspec" ,ghc-hspec)
5478 ("ghc-raw-strings-qq" ,ghc-raw-strings-qq)
5479 ("ghc-regex-posix" ,ghc-regex-posix)))
5480 (home-page "http://hackage.haskell.org/package/inline-c")
5481 (synopsis "Write Haskell source files including C code inline")
5482 (description
5483 "inline-c lets you seamlessly call C libraries and embed high-performance
5484 inline C code in Haskell modules. Haskell and C can be freely intermixed in
5485 the same source file, and data passed to and from code in either language with
5486 minimal overhead. No FFI required.")
5487 (license license:expat)))
5488
5489 (define-public ghc-inline-c-cpp
5490 (package
5491 (name "ghc-inline-c-cpp")
5492 (version "0.3.0.3")
5493 (source
5494 (origin
5495 (method url-fetch)
5496 (uri (string-append "https://hackage.haskell.org/package/inline-c-cpp/"
5497 "inline-c-cpp-" version ".tar.gz"))
5498 (sha256
5499 (base32
5500 "1sxwx9dh60qfpa72dymj015zwd6prhb70x5mkabqzi7nhg3aakln"))))
5501 (build-system haskell-build-system)
5502 (inputs
5503 `(("ghc-inline-c" ,ghc-inline-c)
5504 ("ghc-safe-exceptions" ,ghc-safe-exceptions)))
5505 (native-inputs
5506 `(("ghc-hspec" ,ghc-hspec)))
5507 (home-page "https://hackage.haskell.org/package/inline-c-cpp")
5508 (synopsis "Lets you embed C++ code into Haskell")
5509 (description
5510 "This package provides utilities to inline C++ code into Haskell using
5511 @code{inline-c}.")
5512 (license license:expat)))
5513
5514 (define-public ghc-integer-logarithms
5515 (package
5516 (name "ghc-integer-logarithms")
5517 (version "1.0.3")
5518 (source
5519 (origin
5520 (method url-fetch)
5521 (uri (string-append "https://hackage.haskell.org/package/"
5522 "integer-logarithms/integer-logarithms-"
5523 version ".tar.gz"))
5524 (sha256
5525 (base32
5526 "05pc5hws66csvcvfswlwcr2fplwn1lbssvwifjxkbbwqhq0n5qjs"))))
5527 (build-system haskell-build-system)
5528 (arguments
5529 `(#:phases
5530 (modify-phases %standard-phases
5531 (add-before 'configure 'update-constraints
5532 (lambda _
5533 (substitute* "integer-logarithms.cabal"
5534 (("tasty >= 0\\.10 && < 1\\.1")
5535 "tasty >= 0.10 && < 1.2")))))))
5536 (native-inputs
5537 `(("ghc-quickcheck" ,ghc-quickcheck)
5538 ("ghc-smallcheck" ,ghc-smallcheck)
5539 ("ghc-tasty" ,ghc-tasty)
5540 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5541 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5542 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)))
5543 (home-page "https://github.com/Bodigrim/integer-logarithms")
5544 (synopsis "Integer logarithms")
5545 (description
5546 "This package provides the following modules:
5547 @code{Math.NumberTheory.Logarithms} and
5548 @code{Math.NumberTheory.Powers.Integer} from the @code{arithmoi} package,
5549 @code{GHC.Integer.Logarithms.Compat} and
5550 @code{Math.NumberTheory.Power.Natural}, as well as some additional functions
5551 in migrated modules.")
5552 (license license:expat)))
5553
5554 (define-public ghc-integer-logarithms-bootstrap
5555 (package
5556 (inherit ghc-integer-logarithms)
5557 (name "ghc-integer-logarithms-bootstrap")
5558 (arguments `(#:tests? #f))
5559 (native-inputs '())
5560 (properties '((hidden? #t)))))
5561
5562 (define-public ghc-interpolate
5563 (package
5564 (name "ghc-interpolate")
5565 (version "0.2.0")
5566 (source
5567 (origin
5568 (method url-fetch)
5569 (uri (string-append "https://hackage.haskell.org/package/interpolate/"
5570 "interpolate-" version ".tar.gz"))
5571 (sha256
5572 (base32
5573 "1gkaj98yz363v38fv78sqby236mp8yqwqcilx7kr2b9z0w3204bf"))))
5574 (build-system haskell-build-system)
5575 (inputs
5576 `(("ghc-haskell-src-meta" ,ghc-haskell-src-meta)))
5577 (native-inputs
5578 `(("ghc-base-compat" ,ghc-base-compat)
5579 ("ghc-hspec" ,ghc-hspec)
5580 ("ghc-quickcheck" ,ghc-quickcheck)
5581 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
5582 ("hspec-discover" ,hspec-discover)))
5583 (home-page "https://github.com/sol/interpolate")
5584 (synopsis "String interpolation library")
5585 (description "This package provides a string interpolation library for
5586 Haskell.")
5587 (license license:expat)))
5588
5589 (define-public ghc-intervalmap
5590 (package
5591 (name "ghc-intervalmap")
5592 (version "0.6.1.1")
5593 (source
5594 (origin
5595 (method url-fetch)
5596 (uri (string-append "https://hackage.haskell.org/package/IntervalMap/"
5597 "IntervalMap-" version ".tar.gz"))
5598 (sha256
5599 (base32
5600 "0vdlvxvhf7vjyv0mfn6jaj2i2gclqv8419ck32s2jxfcmki5m5g8"))))
5601 (build-system haskell-build-system)
5602 (native-inputs
5603 `(("ghc-quickcheck" ,ghc-quickcheck)))
5604 (home-page "http://www.chr-breitkopf.de/comp/IntervalMap")
5605 (synopsis "Containers for intervals, with efficient search")
5606 (description
5607 "This package provides ordered containers of intervals, with efficient
5608 search for all keys containing a point or overlapping an interval. See the
5609 example code on the home page for a quick introduction.")
5610 (license license:bsd-3)))
5611
5612 (define-public ghc-invariant
5613 (package
5614 (name "ghc-invariant")
5615 (version "0.5.3")
5616 (source
5617 (origin
5618 (method url-fetch)
5619 (uri (string-append
5620 "https://hackage.haskell.org/package/invariant/invariant-"
5621 version ".tar.gz"))
5622 (sha256
5623 (base32
5624 "03245nhcqxx6b0yw81fzqaqd7cgllmx8awzhvs2xv7ys73pmsgnp"))))
5625 (build-system haskell-build-system)
5626 (inputs
5627 `(("ghc-bifunctors" ,ghc-bifunctors)
5628 ("ghc-comonad" ,ghc-comonad)
5629 ("ghc-contravariant" ,ghc-contravariant)
5630 ("ghc-profunctors" ,ghc-profunctors)
5631 ("ghc-semigroups" ,ghc-semigroups)
5632 ("ghc-statevar" ,ghc-statevar)
5633 ("ghc-tagged" ,ghc-tagged)
5634 ("ghc-th-abstraction" ,ghc-th-abstraction)
5635 ("ghc-transformers-compat" ,ghc-transformers-compat)
5636 ("ghc-unordered-containers" ,ghc-unordered-containers)))
5637 (native-inputs
5638 `(("ghc-hspec" ,ghc-hspec)
5639 ("ghc-quickcheck" ,ghc-quickcheck)
5640 ("hspec-discover" ,hspec-discover)))
5641 (home-page "https://github.com/nfrisby/invariant-functors")
5642 (synopsis "Haskell98 invariant functors")
5643 (description "Haskell98 invariant functors (also known as exponential
5644 functors). For more information, see Edward Kmett's article
5645 @uref{http://comonad.com/reader/2008/rotten-bananas/, Rotten Bananas}.")
5646 (license license:bsd-2)))
5647
5648 (define-public ghc-io-streams
5649 (package
5650 (name "ghc-io-streams")
5651 (version "1.5.1.0")
5652 (source
5653 (origin
5654 (method url-fetch)
5655 (uri (string-append "https://hackage.haskell.org/package/"
5656 "io-streams/io-streams-" version ".tar.gz"))
5657 (sha256
5658 (base32
5659 "1c7byr943x41nxpc3bnz152fvfbmakafq2958wyf9qiyp2pz18la"))))
5660 (build-system haskell-build-system)
5661 (inputs
5662 `(("ghc-attoparsec" ,ghc-attoparsec)
5663 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
5664 ("ghc-network" ,ghc-network)
5665 ("ghc-primitive" ,ghc-primitive)
5666 ("ghc-vector" ,ghc-vector)
5667 ("ghc-zlib-bindings" ,ghc-zlib-bindings)))
5668 (native-inputs
5669 `(("ghc-hunit" ,ghc-hunit)
5670 ("ghc-quickcheck" ,ghc-quickcheck)
5671 ("ghc-test-framework" ,ghc-test-framework)
5672 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
5673 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
5674 ("ghc-zlib" ,ghc-zlib)))
5675 (home-page "http://hackage.haskell.org/package/io-streams")
5676 (synopsis "Simple and composable stream I/O")
5677 (description "This library contains simple and easy-to-use
5678 primitives for I/O using streams.")
5679 (license license:bsd-3)))
5680
5681 (define-public ghc-io-streams-haproxy
5682 (package
5683 (name "ghc-io-streams-haproxy")
5684 (version "1.0.1.0")
5685 (source
5686 (origin
5687 (method url-fetch)
5688 (uri (string-append "https://hackage.haskell.org/package/"
5689 "io-streams-haproxy/io-streams-haproxy-"
5690 version ".tar.gz"))
5691 (sha256
5692 (base32
5693 "1dcn5hd4fiwyq7m01r6fi93vfvygca5s6mz87c78m0zyj29clkmp"))))
5694 (build-system haskell-build-system)
5695 (inputs
5696 `(("ghc-attoparsec" ,ghc-attoparsec)
5697 ("ghc-io-streams" ,ghc-io-streams)
5698 ("ghc-network" ,ghc-network)))
5699 (native-inputs
5700 `(("ghc-hunit" ,ghc-hunit)
5701 ("ghc-test-framework" ,ghc-test-framework)
5702 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
5703 (home-page "http://snapframework.com/")
5704 (synopsis "HAProxy protocol 1.5 support for io-streams")
5705 (description "HAProxy protocol version 1.5 support
5706 (see @uref{http://haproxy.1wt.eu/download/1.5/doc/proxy-protocol.txt})
5707 for applications using io-streams. The proxy protocol allows information
5708 about a networked peer (like remote address and port) to be propagated
5709 through a forwarding proxy that is configured to speak this protocol.")
5710 (license license:bsd-3)))
5711
5712 (define-public ghc-iproute
5713 (package
5714 (name "ghc-iproute")
5715 (version "1.7.7")
5716 (source
5717 (origin
5718 (method url-fetch)
5719 (uri (string-append
5720 "https://hackage.haskell.org/package/iproute/iproute-"
5721 version
5722 ".tar.gz"))
5723 (sha256
5724 (base32
5725 "0gab5930nvzrpvisx3x43ydnp2rd4fbmy9cq1zpgqy1adx5gx8z6"))))
5726 (build-system haskell-build-system)
5727 (arguments `(#:tests? #f)) ; FIXME: Tests cannot find System.ByteOrder,
5728 ; exported by ghc-byteorder. Doctest issue.
5729 (inputs
5730 `(("ghc-appar" ,ghc-appar)
5731 ("ghc-byteorder" ,ghc-byteorder)
5732 ("ghc-network" ,ghc-network)
5733 ("ghc-safe" ,ghc-safe)))
5734 (home-page "https://www.mew.org/~kazu/proj/iproute/")
5735 (synopsis "IP routing table")
5736 (description "IP Routing Table is a tree of IP ranges to search one of
5737 them on the longest match base. It is a kind of TRIE with one way branching
5738 removed. Both IPv4 and IPv6 are supported.")
5739 (license license:bsd-3)))
5740
5741 (define-public ghc-ipynb
5742 (package
5743 (name "ghc-ipynb")
5744 (version "0.1")
5745 (source
5746 (origin
5747 (method url-fetch)
5748 (uri (string-append "https://hackage.haskell.org/package/"
5749 "ipynb/ipynb-" version ".tar.gz"))
5750 (sha256
5751 (base32
5752 "0daadhzil4q573mqb0rpvjzm0vpkzgzqcimw480qpvlh6rhppwj5"))))
5753 (build-system haskell-build-system)
5754 (inputs
5755 `(("ghc-unordered-containers" ,ghc-unordered-containers)
5756 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
5757 ("ghc-aeson" ,ghc-aeson)
5758 ("ghc-semigroups" ,ghc-semigroups)))
5759 (native-inputs
5760 `(("ghc-tasty" ,ghc-tasty)
5761 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5762 ("ghc-aeson-diff" ,ghc-aeson-diff)
5763 ("ghc-microlens-aeson" ,ghc-microlens-aeson)
5764 ("ghc-microlens" ,ghc-microlens)
5765 ("ghc-vector" ,ghc-vector)))
5766 (home-page "https://hackage.haskell.org/package/ipynb")
5767 (synopsis "Data structure for working with Jupyter notebooks")
5768 (description "This library defines a data structure for representing
5769 Jupyter notebooks, along with @code{ToJSON} and @code{FromJSON}
5770 instances for conversion to and from JSON .ipynb files.")
5771 (license license:bsd-3)))
5772
5773 (define-public ghc-iwlib
5774 (package
5775 (name "ghc-iwlib")
5776 (version "0.1.0")
5777 (source
5778 (origin
5779 (method url-fetch)
5780 (uri (string-append "https://hackage.haskell.org/package/iwlib/iwlib-"
5781 version ".tar.gz"))
5782 (sha256
5783 (base32 "0khmfwql4vwj55idsxmhjhrbqzfir3g9wm5lmpvnf77mm95cfpdz"))))
5784 (build-system haskell-build-system)
5785 (inputs
5786 `(("wireless-tools" ,wireless-tools)))
5787 (home-page "https://github.com/jaor/iwlib")
5788 (synopsis "Haskell binding to the iw wireless networking library")
5789 (description
5790 "IWlib is a thin Haskell binding to the iw C library. It provides
5791 information about the current wireless network connections, and adapters on
5792 supported systems.")
5793 (license license:bsd-3)))
5794
5795 (define-public ghc-json
5796 (package
5797 (name "ghc-json")
5798 (version "0.9.3")
5799 (source
5800 (origin
5801 (method url-fetch)
5802 (uri (string-append "https://hackage.haskell.org/package/json/"
5803 "json-" version ".tar.gz"))
5804 (sha256
5805 (base32
5806 "1z8s3mfg76p2flqqd2wqsi96l5bg8k8w8m58zlv81pw3k7h1vbwb"))))
5807 (build-system haskell-build-system)
5808 (inputs
5809 `(("ghc-syb" ,ghc-syb)))
5810 (home-page "https://hackage.haskell.org/package/json")
5811 (synopsis "Serializes Haskell data to and from JSON")
5812 (description "This package provides a parser and pretty printer for
5813 converting between Haskell values and JSON.
5814 JSON (JavaScript Object Notation) is a lightweight data-interchange format.")
5815 (license license:bsd-3)))
5816
5817 (define-public ghc-juicypixels
5818 (package
5819 (name "ghc-juicypixels")
5820 (version "3.3.4")
5821 (source (origin
5822 (method url-fetch)
5823 (uri (string-append "https://hackage.haskell.org/package/"
5824 "JuicyPixels/JuicyPixels-"
5825 version ".tar.gz"))
5826 (sha256
5827 (base32
5828 "0qacrnz2qcykj3f6c4k2p8qd31pa2slpv3ykfblgizrfh3401q6x"))))
5829 (build-system haskell-build-system)
5830 (inputs
5831 `(("ghc-zlib" ,ghc-zlib)
5832 ("ghc-vector" ,ghc-vector)
5833 ("ghc-primitive" ,ghc-primitive)
5834 ("ghc-mmap" ,ghc-mmap)))
5835 (home-page "https://github.com/Twinside/Juicy.Pixels")
5836 (synopsis "Picture loading and serialization library")
5837 (description
5838 "This library can load and store images in PNG, Bitmap, JPEG, Radiance,
5839 TIFF and GIF formats.")
5840 (license license:bsd-3)))
5841
5842 (define-public ghc-kan-extensions
5843 (package
5844 (name "ghc-kan-extensions")
5845 (version "5.2")
5846 (source
5847 (origin
5848 (method url-fetch)
5849 (uri (string-append
5850 "https://hackage.haskell.org/package/kan-extensions/kan-extensions-"
5851 version
5852 ".tar.gz"))
5853 (sha256
5854 (base32
5855 "1lyvyiwwh962j2nnnsqzlvp5zq6z8p3spvhmji99cjvldxc7wwkb"))))
5856 (build-system haskell-build-system)
5857 (inputs
5858 `(("ghc-adjunctions" ,ghc-adjunctions)
5859 ("ghc-comonad" ,ghc-comonad)
5860 ("ghc-contravariant" ,ghc-contravariant)
5861 ("ghc-distributive" ,ghc-distributive)
5862 ("ghc-free" ,ghc-free)
5863 ("ghc-invariant" ,ghc-invariant)
5864 ("ghc-semigroupoids" ,ghc-semigroupoids)
5865 ("ghc-tagged" ,ghc-tagged)
5866 ("ghc-transformers-compat" ,ghc-transformers-compat)))
5867 (home-page "https://github.com/ekmett/kan-extensions/")
5868 (synopsis "Kan extensions library")
5869 (description "This library provides Kan extensions, Kan lifts, various
5870 forms of the Yoneda lemma, and (co)density (co)monads for Haskell.")
5871 (license license:bsd-3)))
5872
5873 (define-public ghc-language-c
5874 (package
5875 (name "ghc-language-c")
5876 (version "0.8.3")
5877 (source
5878 (origin
5879 (method url-fetch)
5880 (uri (string-append "https://hackage.haskell.org/package/"
5881 "language-c/language-c-" version ".tar.gz"))
5882 (sha256
5883 (base32
5884 "0bi02jdirkys8v7flf39vrpla2a74z1z0sdhy9lb9v7cmcc6rmpk"))))
5885 (build-system haskell-build-system)
5886 (inputs `(("ghc-syb" ,ghc-syb)))
5887 (native-inputs
5888 `(("ghc-happy" ,ghc-happy)
5889 ("ghc-alex" ,ghc-alex)))
5890 (home-page "https://visq.github.io/language-c/")
5891 (synopsis "Analysis and generation of C code")
5892 (description
5893 "Language C is a Haskell library for the analysis and generation of C code.
5894 It features a complete, well-tested parser and pretty printer for all of C99
5895 and a large set of GNU extensions.")
5896 (license license:bsd-3)))
5897
5898 (define-public ghc-language-glsl
5899 (package
5900 (name "ghc-language-glsl")
5901 (version "0.3.0")
5902 (source
5903 (origin
5904 (method url-fetch)
5905 (uri (string-append "https://hackage.haskell.org/package/"
5906 "language-glsl/language-glsl-" version ".tar.gz"))
5907 (sha256
5908 (base32
5909 "0hdg67ainlqpjjghg3qin6fg4p783m0zmjqh4rd5gyizwiplxkp1"))))
5910 (build-system haskell-build-system)
5911 (inputs `(("ghc-prettyclass" ,ghc-prettyclass)))
5912 (arguments
5913 `(#:tests? #f
5914 #:cabal-revision
5915 ("1" "10ac9pk4jy75k03j1ns4b5136l4kw8krr2d2nw2fdmpm5jzyghc5")))
5916 (home-page "http://hackage.haskell.org/package/language-glsl")
5917 (synopsis "GLSL abstract syntax tree, parser, and pretty-printer")
5918 (description "This package is a Haskell library for the
5919 representation, parsing, and pretty-printing of GLSL 1.50 code.")
5920 (license license:bsd-3)))
5921
5922 (define-public ghc-language-haskell-extract
5923 (package
5924 (name "ghc-language-haskell-extract")
5925 (version "0.2.4")
5926 (source
5927 (origin
5928 (method url-fetch)
5929 (uri (string-append "https://hackage.haskell.org/package/"
5930 "language-haskell-extract-" version "/"
5931 "language-haskell-extract-" version ".tar.gz"))
5932 (sha256
5933 (base32
5934 "1nxcs7g8a1sp91bzpy4cj6s31k5pvc3gvig04cbrggv5cvjidnhl"))))
5935 (build-system haskell-build-system)
5936 (inputs
5937 `(("ghc-regex-posix" ,ghc-regex-posix)))
5938 (home-page "https://github.com/finnsson/template-helper")
5939 (synopsis "Haskell module to automatically extract functions from
5940 the local code")
5941 (description "This package contains helper functions on top of
5942 Template Haskell.
5943
5944 For example, @code{functionExtractor} extracts all functions after a
5945 regexp-pattern, which can be useful if you wish to extract all functions
5946 beginning with @code{test} (for a test framework) or all functions beginning
5947 with @code{wc} (for a web service).")
5948 (license license:bsd-3)))
5949
5950 (define-public ghc-lens
5951 (package
5952 (name "ghc-lens")
5953 (version "4.17.1")
5954 (source
5955 (origin
5956 (method url-fetch)
5957 (uri (string-append "https://hackage.haskell.org/package/lens/lens-"
5958 version ".tar.gz"))
5959 (sha256
5960 (base32
5961 "1gpkc53l2cggnfrgg5k4ih82rycjbdvpj9pnbi5cq8ms0dbvs4a7"))))
5962 (build-system haskell-build-system)
5963 (inputs
5964 `(("ghc-base-orphans" ,ghc-base-orphans)
5965 ("ghc-bifunctors" ,ghc-bifunctors)
5966 ("ghc-distributive" ,ghc-distributive)
5967 ("ghc-exceptions" ,ghc-exceptions)
5968 ("ghc-free" ,ghc-free)
5969 ("ghc-kan-extensions" ,ghc-kan-extensions)
5970 ("ghc-parallel" ,ghc-parallel)
5971 ("ghc-reflection" ,ghc-reflection)
5972 ("ghc-semigroupoids" ,ghc-semigroupoids)
5973 ("ghc-vector" ,ghc-vector)
5974 ("ghc-call-stack" ,ghc-call-stack)
5975 ("ghc-comonad" ,ghc-comonad)
5976 ("ghc-contravariant" ,ghc-contravariant)
5977 ("ghc-hashable" ,ghc-hashable)
5978 ("ghc-profunctors" ,ghc-profunctors)
5979 ("ghc-semigroups" ,ghc-semigroups)
5980 ("ghc-tagged" ,ghc-tagged)
5981 ("ghc-transformers-compat" ,ghc-transformers-compat)
5982 ("ghc-unordered-containers" ,ghc-unordered-containers)
5983 ("ghc-void" ,ghc-void)
5984 ("ghc-generic-deriving" ,ghc-generic-deriving)
5985 ("ghc-nats" ,ghc-nats)
5986 ("ghc-simple-reflect" ,ghc-simple-reflect)
5987 ("hlint" ,hlint)))
5988 (native-inputs
5989 `(("cabal-doctest" ,cabal-doctest)
5990 ("ghc-doctest" ,ghc-doctest)
5991 ("ghc-hunit" ,ghc-hunit)
5992 ("ghc-test-framework" ,ghc-test-framework)
5993 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
5994 ("ghc-test-framework-th" ,ghc-test-framework-th)
5995 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
5996 ("ghc-quickcheck" ,ghc-quickcheck)))
5997 (home-page "https://github.com/ekmett/lens/")
5998 (synopsis "Lenses, Folds and Traversals")
5999 (description "This library provides @code{Control.Lens}. The combinators
6000 in @code{Control.Lens} provide a highly generic toolbox for composing families
6001 of getters, folds, isomorphisms, traversals, setters and lenses and their
6002 indexed variants.")
6003 (license license:bsd-3)))
6004
6005 (define-public ghc-libffi
6006 (package
6007 (name "ghc-libffi")
6008 (version "0.1")
6009 (source
6010 (origin
6011 (method url-fetch)
6012 (uri (string-append "https://hackage.haskell.org/package/"
6013 "libffi/libffi-" version ".tar.gz"))
6014 (sha256
6015 (base32
6016 "0g7jnhng3j7z5517aaqga0144aamibsbpgm3yynwyfzkq1kp0f28"))))
6017 (build-system haskell-build-system)
6018 (native-inputs `(("pkg-config" ,pkg-config)))
6019 (inputs `(("libffi" ,libffi)))
6020 (home-page "http://hackage.haskell.org/package/libffi")
6021 (synopsis "Haskell binding to libffi")
6022 (description
6023 "A binding to libffi, allowing C functions of types only known at runtime
6024 to be called from Haskell.")
6025 (license license:bsd-3)))
6026
6027 (define-public ghc-libmpd
6028 (package
6029 (name "ghc-libmpd")
6030 (version "0.9.0.10")
6031 (source
6032 (origin
6033 (method url-fetch)
6034 (uri (string-append
6035 "mirror://hackage/package/libmpd/libmpd-"
6036 version
6037 ".tar.gz"))
6038 (sha256
6039 (base32
6040 "0vy287mn1vk8kvij5i3hc0p02l886cpsq5dds7kl6g520si3abkb"))))
6041 (build-system haskell-build-system)
6042 ;; Tests fail on i686.
6043 ;; See https://github.com/vimus/libmpd-haskell/issues/112
6044 (arguments `(#:tests? #f))
6045 (inputs
6046 `(("ghc-attoparsec" ,ghc-attoparsec)
6047 ("ghc-old-locale" ,ghc-old-locale)
6048 ("ghc-data-default-class" ,ghc-data-default-class)
6049 ("ghc-network" ,ghc-network)
6050 ("ghc-safe-exceptions" ,ghc-safe-exceptions)
6051 ("ghc-utf8-string" ,ghc-utf8-string)))
6052 (native-inputs
6053 `(("ghc-quickcheck" ,ghc-quickcheck)
6054 ("ghc-hspec" ,ghc-hspec)
6055 ("hspec-discover" ,hspec-discover)))
6056 (home-page "https://github.com/vimus/libmpd-haskell")
6057 (synopsis "Haskell client library for the Music Player Daemon")
6058 (description "This package provides a pure Haskell client library for the
6059 Music Player Daemon.")
6060 (license license:expat)))
6061
6062 (define-public ghc-lib-parser
6063 (package
6064 (name "ghc-lib-parser")
6065 (version "8.8.0.20190424")
6066 (source
6067 (origin
6068 (method url-fetch)
6069 (uri (string-append "https://hackage.haskell.org/package/"
6070 "ghc-lib-parser/ghc-lib-parser-" version ".tar.gz"))
6071 (sha256
6072 (base32
6073 "12gsh994pr13bsybwlravmi21la66dyw74pk74yfw2pnz682wv10"))))
6074 (build-system haskell-build-system)
6075 (native-inputs
6076 `(("ghc-alex" ,ghc-alex)
6077 ("ghc-happy" ,ghc-happy)))
6078 (home-page "https://github.com/digital-asset/ghc-lib")
6079 (synopsis "The GHC API, decoupled from GHC versions")
6080 (description "This library implements the GHC API. It is like the
6081 compiler-provided @code{ghc} package, but it can be loaded on many
6082 compiler versions.")
6083 (license license:bsd-3)))
6084
6085 (define-public ghc-libxml
6086 (package
6087 (name "ghc-libxml")
6088 (version "0.1.1")
6089 (source
6090 (origin
6091 (method url-fetch)
6092 (uri (string-append "https://hackage.haskell.org/package/libxml/"
6093 "libxml-" version ".tar.gz"))
6094 (sha256
6095 (base32
6096 "01zvk86kg726lf2vnlr7dxiz7g3xwi5a4ak9gcfbwyhynkzjmsfi"))))
6097 (build-system haskell-build-system)
6098 (inputs
6099 `(("libxml2" ,libxml2)))
6100 (arguments
6101 `(#:configure-flags
6102 `(,(string-append "--extra-include-dirs="
6103 (assoc-ref %build-inputs "libxml2")
6104 "/include/libxml2"))))
6105 (home-page "https://hackage.haskell.org/package/libxml")
6106 (synopsis "Haskell bindings to libxml2")
6107 (description
6108 "This library provides minimal Haskell binding to libxml2.")
6109 (license license:bsd-3)))
6110
6111 (define-public ghc-libyaml
6112 (package
6113 (name "ghc-libyaml")
6114 (version "0.1.1.0")
6115 (source
6116 (origin
6117 (method url-fetch)
6118 (uri (string-append "https://hackage.haskell.org/package/"
6119 "libyaml/libyaml-" version ".tar.gz"))
6120 (sha256
6121 (base32
6122 "0psznm9c3yjsyj9aj8m2svvv9m2v0x90hnwarcx5sbswyi3l00va"))
6123 (modules '((guix build utils)))
6124 (snippet
6125 ;; Delete bundled LibYAML.
6126 '(begin
6127 (delete-file-recursively "libyaml_src")
6128 #t))))
6129 (build-system haskell-build-system)
6130 (arguments
6131 `(#:configure-flags `("--flags=system-libyaml")))
6132 (inputs
6133 `(("ghc-conduit" ,ghc-conduit)
6134 ("ghc-resourcet" ,ghc-resourcet)
6135 ("libyaml" ,libyaml-2.1)))
6136 (home-page "https://github.com/snoyberg/yaml#readme")
6137 (synopsis "Low-level, streaming YAML interface.")
6138 (description "This package provides a Haskell wrapper over the
6139 LibYAML C library.")
6140 (license license:bsd-3)))
6141
6142 (define-public ghc-lifted-async
6143 (package
6144 (name "ghc-lifted-async")
6145 (version "0.10.0.4")
6146 (source
6147 (origin
6148 (method url-fetch)
6149 (uri (string-append
6150 "https://hackage.haskell.org/package/lifted-async/lifted-async-"
6151 version ".tar.gz"))
6152 (sha256
6153 (base32
6154 "0cwl1d0wjpdk0v1l1qxiqiksmak950c8gx169c1q77cg0z18ijf9"))))
6155 (build-system haskell-build-system)
6156 (inputs
6157 `(("ghc-async" ,ghc-async)
6158 ("ghc-lifted-base" ,ghc-lifted-base)
6159 ("ghc-transformers-base" ,ghc-transformers-base)
6160 ("ghc-monad-control" ,ghc-monad-control)
6161 ("ghc-constraints" ,ghc-constraints)
6162 ("ghc-hunit" ,ghc-hunit)
6163 ("ghc-tasty" ,ghc-tasty)
6164 ("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
6165 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6166 ("ghc-tasty-th" ,ghc-tasty-th)))
6167 (home-page "https://github.com/maoe/lifted-async")
6168 (synopsis "Run lifted IO operations asynchronously and wait for their results")
6169 (description
6170 "This package provides IO operations from @code{async} package lifted to any
6171 instance of @code{MonadBase} or @code{MonadBaseControl}.")
6172 (license license:bsd-3)))
6173
6174 (define-public ghc-lifted-base
6175 (package
6176 (name "ghc-lifted-base")
6177 (version "0.2.3.12")
6178 (source
6179 (origin
6180 (method url-fetch)
6181 (uri (string-append
6182 "https://hackage.haskell.org/package/lifted-base/lifted-base-"
6183 version
6184 ".tar.gz"))
6185 (sha256
6186 (base32
6187 "1i8p8d3rkdh21bhgjjh32vd7qqjr7jq7p59qds0aw2kmargsjd61"))))
6188 (build-system haskell-build-system)
6189 (arguments `(#:tests? #f)) ; FIXME: Missing testing libraries.
6190 (inputs
6191 `(("ghc-transformers-base" ,ghc-transformers-base)
6192 ("ghc-monad-control" ,ghc-monad-control)
6193 ("ghc-transformers-compat" ,ghc-transformers-compat)
6194 ("ghc-hunit" ,ghc-hunit)))
6195 (home-page "https://github.com/basvandijk/lifted-base")
6196 (synopsis "Lifted IO operations from the base library")
6197 (description "Lifted-base exports IO operations from the @code{base}
6198 library lifted to any instance of @code{MonadBase} or @code{MonadBaseControl}.
6199 Note that not all modules from @code{base} are converted yet. The package
6200 includes a copy of the @code{monad-peel} test suite written by Anders
6201 Kaseorg.")
6202 (license license:bsd-3)))
6203
6204 (define-public ghc-linear
6205 (package
6206 (name "ghc-linear")
6207 (version "1.20.9")
6208 (source
6209 (origin
6210 (method url-fetch)
6211 (uri (string-append "https://hackage.haskell.org/package/linear/"
6212 "linear-" version ".tar.gz"))
6213 (sha256
6214 (base32
6215 "0h7yqigq593n7wsl7nz6a5f137wznm7y679wsii0ph0zsc4v5af5"))))
6216 (build-system haskell-build-system)
6217 (inputs
6218 `(("ghc-adjunctions" ,ghc-adjunctions)
6219 ("ghc-base-orphans" ,ghc-base-orphans)
6220 ("ghc-bytes" ,ghc-bytes)
6221 ("ghc-cereal" ,ghc-cereal)
6222 ("ghc-distributive" ,ghc-distributive)
6223 ("ghc-hashable" ,ghc-hashable)
6224 ("ghc-lens" ,ghc-lens)
6225 ("ghc-reflection" ,ghc-reflection)
6226 ("ghc-semigroups" ,ghc-semigroups)
6227 ("ghc-semigroupoids" ,ghc-semigroupoids)
6228 ("ghc-tagged" ,ghc-tagged)
6229 ("ghc-transformers-compat" ,ghc-transformers-compat)
6230 ("ghc-unordered-containers" ,ghc-unordered-containers)
6231 ("ghc-vector" ,ghc-vector)
6232 ("ghc-void" ,ghc-void)))
6233 (native-inputs
6234 `(("cabal-doctest" ,cabal-doctest)
6235 ("ghc-doctest" ,ghc-doctest)
6236 ("ghc-simple-reflect" ,ghc-simple-reflect)
6237 ("ghc-test-framework" ,ghc-test-framework)
6238 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6239 ("ghc-hunit" ,ghc-hunit)))
6240 (home-page "http://github.com/ekmett/linear/")
6241 (synopsis "Linear algebra library for Haskell")
6242 (description
6243 "This package provides types and combinators for linear algebra on free
6244 vector spaces.")
6245 (license license:bsd-3)))
6246
6247 (define-public ghc-listlike
6248 (package
6249 (name "ghc-listlike")
6250 (version "4.6.2")
6251 (source
6252 (origin
6253 (method url-fetch)
6254 (uri
6255 (string-append
6256 "https://hackage.haskell.org/package/ListLike/ListLike-"
6257 version ".tar.gz"))
6258 (sha256
6259 (base32
6260 "0m65x8yaq7q50gznln8mga2wrc8cvjx6gw9rim8s7xqcrx6y5zjh"))))
6261 (build-system haskell-build-system)
6262 (inputs
6263 `(("ghc-vector" ,ghc-vector)
6264 ("ghc-dlist" ,ghc-dlist)
6265 ("ghc-fmlist" ,ghc-fmlist)
6266 ("ghc-hunit" ,ghc-hunit)
6267 ("ghc-quickcheck" ,ghc-quickcheck)
6268 ("ghc-random" ,ghc-random)
6269 ("ghc-utf8-string" ,ghc-utf8-string)))
6270 (home-page "https://github.com/JohnLato/listlike")
6271 (synopsis "Generic support for list-like structures")
6272 (description "The ListLike module provides a common interface to the
6273 various Haskell types that are list-like. Predefined interfaces include
6274 standard Haskell lists, Arrays, ByteStrings, and lazy ByteStrings.
6275 Custom types can easily be made ListLike instances as well.
6276
6277 ListLike also provides for String-like types, such as String and
6278 ByteString, for types that support input and output, and for types that
6279 can handle infinite lists.")
6280 (license license:bsd-3)))
6281
6282 (define-public ghc-logging-facade
6283 (package
6284 (name "ghc-logging-facade")
6285 (version "0.3.0")
6286 (source (origin
6287 (method url-fetch)
6288 (uri (string-append "https://hackage.haskell.org/package/"
6289 "logging-facade/logging-facade-"
6290 version ".tar.gz"))
6291 (sha256
6292 (base32
6293 "0d0lwxxgd16is9aw6v3ps4r9prv3dj8xscmm45fvzq3nicjiawcf"))))
6294 (build-system haskell-build-system)
6295 (native-inputs
6296 `(("ghc-hspec" ,ghc-hspec)
6297 ("hspec-discover" ,hspec-discover)))
6298 (home-page "https://hackage.haskell.org/package/logging-facade")
6299 (synopsis "Simple logging abstraction that allows multiple back-ends")
6300 (description
6301 "This package provides a simple logging abstraction that allows multiple
6302 back-ends.")
6303 (license license:expat)))
6304
6305 (define-public ghc-logict
6306 (package
6307 (name "ghc-logict")
6308 (version "0.7.0.2")
6309 (source
6310 (origin
6311 (method url-fetch)
6312 (uri (string-append
6313 "https://hackage.haskell.org/package/logict/logict-"
6314 version
6315 ".tar.gz"))
6316 (sha256
6317 (base32
6318 "1xfgdsxg0lp8m0a2cb83rcxrnnc37asfikay2kydi933anh9ihfc"))))
6319 (build-system haskell-build-system)
6320 (native-inputs
6321 `(("ghc-tasty" ,ghc-tasty)
6322 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
6323 (home-page "http://code.haskell.org/~dolio/")
6324 (synopsis "Backtracking logic-programming monad")
6325 (description "This library provides a continuation-based, backtracking,
6326 logic programming monad. An adaptation of the two-continuation implementation
6327 found in the paper \"Backtracking, Interleaving, and Terminating Monad
6328 Transformers\" available @uref{http://okmij.org/ftp/papers/LogicT.pdf,
6329 online}.")
6330 (license license:bsd-3)))
6331
6332 (define-public ghc-lzma
6333 (package
6334 (name "ghc-lzma")
6335 (version "0.0.0.3")
6336 (source
6337 (origin
6338 (method url-fetch)
6339 (uri (string-append "https://hackage.haskell.org/package/lzma/"
6340 "lzma-" version ".tar.gz"))
6341 (sha256
6342 (base32
6343 "0i416gqi8j55nd1pqbkxvf3f6hn6fjys6gq98lkkxphva71j30xg"))))
6344 (build-system haskell-build-system)
6345 (arguments
6346 '(#:tests? #f ; requires older versions of QuickCheck and tasty.
6347 #:cabal-revision
6348 ("3" "1sify6gnsalyp6dakfzi0mdy5jcz2kcp9jsdsgkmxd40nfzgd44m")))
6349 (native-inputs
6350 `(("ghc-hunit" ,ghc-hunit)
6351 ("ghc-quickcheck" ,ghc-quickcheck)
6352 ("ghc-tasty" ,ghc-tasty)
6353 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6354 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
6355 (home-page "https://github.com/hvr/lzma")
6356 (synopsis "LZMA/XZ compression and decompression")
6357 (description
6358 "This package provides a pure interface for compressing and
6359 decompressing LZMA streams of data represented as lazy @code{ByteString}s. A
6360 monadic incremental interface is provided as well.")
6361 (license license:bsd-3)))
6362
6363 (define-public ghc-lzma-conduit
6364 (package
6365 (name "ghc-lzma-conduit")
6366 (version "1.2.1")
6367 (source
6368 (origin
6369 (method url-fetch)
6370 (uri (string-append "https://hackage.haskell.org/package/lzma-conduit/"
6371 "lzma-conduit-" version ".tar.gz"))
6372 (sha256
6373 (base32
6374 "0hm72da7xk9l3zxjh274yg444vf405djxqbkf3q3p2qhicmxlmg9"))))
6375 (build-system haskell-build-system)
6376 (inputs
6377 `(("ghc-conduit" ,ghc-conduit)
6378 ("ghc-lzma" ,ghc-lzma)
6379 ("ghc-resourcet" ,ghc-resourcet)))
6380 (native-inputs
6381 `(("ghc-base-compat" ,ghc-base-compat)
6382 ("ghc-test-framework" ,ghc-test-framework)
6383 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6384 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
6385 ("ghc-hunit" ,ghc-hunit)
6386 ("ghc-quickcheck" ,ghc-quickcheck)))
6387 (home-page "https://github.com/alphaHeavy/lzma-conduit")
6388 (synopsis "Conduit interface for lzma/xz compression")
6389 (description
6390 "This package provides a @code{Conduit} interface for the LZMA
6391 compression algorithm used in the @code{.xz} file format.")
6392 (license license:bsd-3)))
6393
6394 (define-public ghc-magic
6395 (package
6396 (name "ghc-magic")
6397 (version "1.1")
6398 (source
6399 (origin
6400 (method url-fetch)
6401 (uri (string-append
6402 "https://hackage.haskell.org/package/magic/magic-"
6403 version ".tar.gz"))
6404 (sha256
6405 (base32
6406 "10p0gjjjwr1dda7hahwrwn5njbfhl67arq3v3nf1jr3vymlkn75j"))))
6407 (build-system haskell-build-system)
6408 (home-page "http://hackage.haskell.org/package/magic")
6409 (synopsis "Interface to C file/magic library")
6410 (description
6411 "This package provides a full-featured binding to the C libmagic library.
6412 With it, you can determine the type of a file by examining its contents rather
6413 than its name.")
6414 (license license:bsd-3)))
6415
6416 (define-public ghc-markdown-unlit
6417 (package
6418 (name "ghc-markdown-unlit")
6419 (version "0.5.0")
6420 (source (origin
6421 (method url-fetch)
6422 (uri (string-append
6423 "mirror://hackage/package/markdown-unlit/"
6424 "markdown-unlit-" version ".tar.gz"))
6425 (sha256
6426 (base32
6427 "1gy79vr85vcp13rdjh0hz7zv6daqqffww4j0cqn2lpjjh9xhsbg7"))))
6428 (build-system haskell-build-system)
6429 (inputs
6430 `(("ghc-base-compat" ,ghc-base-compat)
6431 ("ghc-hspec" ,ghc-hspec)
6432 ("ghc-quickcheck" ,ghc-quickcheck)
6433 ("ghc-silently" ,ghc-silently)
6434 ("ghc-stringbuilder" ,ghc-stringbuilder)
6435 ("ghc-temporary" ,ghc-temporary)
6436 ("hspec-discover" ,hspec-discover)))
6437 (home-page "https://github.com/sol/markdown-unlit#readme")
6438 (synopsis "Literate Haskell support for Markdown")
6439 (description "This package allows you to have a README.md that at the
6440 same time is a literate Haskell program.")
6441 (license license:expat)))
6442
6443 (define-public ghc-math-functions
6444 (package
6445 (name "ghc-math-functions")
6446 (version "0.3.3.0")
6447 (source
6448 (origin
6449 (method url-fetch)
6450 (uri (string-append "https://hackage.haskell.org/package/"
6451 "math-functions-" version "/"
6452 "math-functions-" version ".tar.gz"))
6453 (sha256
6454 (base32
6455 "1s5nbs40sc3r4z08n0j8bw40cy0zkp03fjjn3p27zkd4fvm9kib3"))))
6456 (build-system haskell-build-system)
6457 (arguments `(#:tests? #f)) ; FIXME: 1 test fails.
6458 (inputs
6459 `(("ghc-data-default-class" ,ghc-data-default-class)
6460 ("ghc-vector" ,ghc-vector)
6461 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)))
6462 (native-inputs
6463 `(("ghc-hunit" ,ghc-hunit)
6464 ("ghc-quickcheck" ,ghc-quickcheck)
6465 ("ghc-erf" ,ghc-erf)
6466 ("ghc-test-framework" ,ghc-test-framework)
6467 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6468 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
6469 (home-page "https://github.com/bos/math-functions")
6470 (synopsis "Special functions and Chebyshev polynomials for Haskell")
6471 (description "This Haskell library provides implementations of
6472 special mathematical functions and Chebyshev polynomials. These
6473 functions are often useful in statistical and numerical computing.")
6474 (license license:bsd-3)))
6475
6476 (define-public ghc-megaparsec
6477 (package
6478 (name "ghc-megaparsec")
6479 (version "7.0.5")
6480 (source
6481 (origin
6482 (method url-fetch)
6483 (uri (string-append "https://hackage.haskell.org/package/"
6484 "megaparsec/megaparsec-"
6485 version ".tar.gz"))
6486 (sha256
6487 (base32
6488 "0bqx1icbmk8s7wmbcdzsgnlh607c7kzg8l80cp02dxr5valjxp7j"))))
6489 (build-system haskell-build-system)
6490 (inputs
6491 `(("ghc-case-insensitive" ,ghc-case-insensitive)
6492 ("ghc-parser-combinators" ,ghc-parser-combinators)
6493 ("ghc-scientific" ,ghc-scientific)))
6494 (native-inputs
6495 `(("ghc-quickcheck" ,ghc-quickcheck)
6496 ("ghc-hspec" ,ghc-hspec)
6497 ("ghc-hspec-expectations" ,ghc-hspec-expectations)
6498 ("hspec-discover" ,hspec-discover)))
6499 (home-page "https://github.com/mrkkrp/megaparsec")
6500 (synopsis "Monadic parser combinators")
6501 (description
6502 "This is an industrial-strength monadic parser combinator library.
6503 Megaparsec is a feature-rich package that strikes a nice balance between
6504 speed, flexibility, and quality of parse errors.")
6505 (license license:bsd-2)))
6506
6507 (define-public ghc-memory
6508 (package
6509 (name "ghc-memory")
6510 (version "0.14.18")
6511 (source (origin
6512 (method url-fetch)
6513 (uri (string-append "https://hackage.haskell.org/package/"
6514 "memory/memory-" version ".tar.gz"))
6515 (sha256
6516 (base32
6517 "01rmq3vagxzjmm96qnfxk4f0516cn12bp5m8inn8h5r918bqsigm"))))
6518 (build-system haskell-build-system)
6519 (inputs
6520 `(("ghc-basement" ,ghc-basement)
6521 ("ghc-foundation" ,ghc-foundation)))
6522 (native-inputs
6523 `(("ghc-tasty" ,ghc-tasty)
6524 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
6525 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
6526 (home-page "https://github.com/vincenthz/hs-memory")
6527 (synopsis "Memory abstractions for Haskell")
6528 (description
6529 "This package provides memory abstractions, such as chunk of memory,
6530 polymorphic byte array management and manipulation functions. It contains a
6531 polymorphic byte array abstraction and functions similar to strict ByteString,
6532 different type of byte array abstraction, raw memory IO operations (memory
6533 set, memory copy, ..) and more")
6534 (license license:bsd-3)))
6535
6536 (define-public ghc-memotrie
6537 (package
6538 (name "ghc-memotrie")
6539 (version "0.6.9")
6540 (source
6541 (origin
6542 (method url-fetch)
6543 (uri (string-append
6544 "https://hackage.haskell.org/package/MemoTrie/MemoTrie-"
6545 version
6546 ".tar.gz"))
6547 (sha256
6548 (base32
6549 "157p0pi6rrq74a35mq6zkkycv4ah7xhkbrcmnkb9xf7pznw4aq0x"))))
6550 (build-system haskell-build-system)
6551 (inputs
6552 `(("ghc-newtype-generics" ,ghc-newtype-generics)))
6553 (home-page "https://github.com/conal/MemoTrie")
6554 (synopsis "Trie-based memo functions")
6555 (description "This package provides a functional library for creating
6556 efficient memo functions using tries.")
6557 (license license:bsd-3)))
6558
6559 (define-public ghc-microlens
6560 (package
6561 (name "ghc-microlens")
6562 (version "0.4.10")
6563 (source
6564 (origin
6565 (method url-fetch)
6566 (uri (string-append "https://hackage.haskell.org/package/"
6567 "microlens-" version "/"
6568 "microlens-" version ".tar.gz"))
6569 (sha256
6570 (base32
6571 "1v277yyy4p9q57xr2lfp6qs24agglfczmcabrapxrzci3jfshmcw"))))
6572 (build-system haskell-build-system)
6573 (home-page
6574 "https://github.com/aelve/microlens")
6575 (synopsis "Provides a tiny lens Haskell library with no dependencies")
6576 (description "This Haskell package provides a lens library, just like
6577 @code{ghc-lens}, but smaller. It provides essential lenses and
6578 traversals (like @code{_1} and @code{_Just}), as well as ones which are simply
6579 nice to have (like @code{each}, @code{at}, and @code{ix}), and some
6580 combinators (like @code{failing} and @code{singular}), but everything else is
6581 stripped. As the result, this package has no dependencies.")
6582 (license license:bsd-3)))
6583
6584 (define-public ghc-microlens-aeson
6585 (package
6586 (name "ghc-microlens-aeson")
6587 (version "2.3.0.4")
6588 (source
6589 (origin
6590 (method url-fetch)
6591 (uri (string-append "https://hackage.haskell.org/package/"
6592 "microlens-aeson/microlens-aeson-"
6593 version ".tar.gz"))
6594 (patches (search-patches "ghc-microlens-aeson-fix-tests.patch"))
6595 (sha256
6596 (base32
6597 "0w630kk5bnily1qh41081gqgbwmslrh5ad21899gwnb2r3jripyw"))))
6598 (build-system haskell-build-system)
6599 (inputs
6600 `(("ghc-aeson" ,ghc-aeson)
6601 ("ghc-attoparsec" ,ghc-attoparsec)
6602 ("ghc-hashable" ,ghc-hashable)
6603 ("ghc-microlens" ,ghc-microlens)
6604 ("ghc-scientific" ,ghc-scientific)
6605 ("ghc-unordered-containers" ,ghc-unordered-containers)
6606 ("ghc-vector" ,ghc-vector)))
6607 (native-inputs
6608 `(("ghc-tasty" ,ghc-tasty)
6609 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
6610 (home-page "https://github.com/fosskers/microlens-aeson")
6611 (synopsis "Law-abiding lenses for Aeson, using microlens")
6612 (description "This library provides law-abiding lenses for Aeson, using
6613 microlens.")
6614 (license license:expat)))
6615
6616 (define-public ghc-microlens-ghc
6617 (package
6618 (name "ghc-microlens-ghc")
6619 (version "0.4.10")
6620 (source
6621 (origin
6622 (method url-fetch)
6623 (uri (string-append
6624 "https://hackage.haskell.org/package/microlens-ghc/microlens-ghc-"
6625 version
6626 ".tar.gz"))
6627 (sha256
6628 (base32
6629 "102dbrdsdadxbbhvx8avv1wbk84767a7lkb8ckp3zxk9g7qlly33"))))
6630 (build-system haskell-build-system)
6631 (inputs `(("ghc-microlens" ,ghc-microlens)))
6632 (home-page "https://github.com/monadfix/microlens")
6633 (synopsis "Use @code{microlens} with GHC libraries like @code{array}")
6634 (description "This library provides everything that @code{microlens}
6635 provides plus instances to make @code{each}, @code{at}, and @code{ix}
6636 usable with arrays, @code{ByteString}, and containers. This package is
6637 a part of the @uref{http://hackage.haskell.org/package/microlens,
6638 microlens} family; see the readme
6639 @uref{https://github.com/aelve/microlens#readme, on Github}.")
6640 (license license:bsd-3)))
6641
6642 (define-public ghc-microlens-mtl
6643 (package
6644 (name "ghc-microlens-mtl")
6645 (version "0.1.11.1")
6646 (source
6647 (origin
6648 (method url-fetch)
6649 (uri (string-append
6650 "https://hackage.haskell.org/package/microlens-mtl/microlens-mtl-"
6651 version
6652 ".tar.gz"))
6653 (sha256
6654 (base32
6655 "0l6z1gkzwcpv89bxf5vgfrjb6gq2pj7sjjc53nvi5b9alx34zryk"))))
6656 (build-system haskell-build-system)
6657 (inputs
6658 `(("ghc-microlens" ,ghc-microlens)
6659 ("ghc-transformers-compat" ,ghc-transformers-compat)))
6660 (home-page "https://github.com/monadfix/microlens")
6661 (synopsis
6662 "@code{microlens} support for Reader/Writer/State from mtl")
6663 (description
6664 "This package contains functions (like @code{view} or @code{+=}) which
6665 work on @code{MonadReader}, @code{MonadWriter}, and @code{MonadState} from the
6666 mtl package. This package is a part of the
6667 @uref{http://hackage.haskell.org/package/microlens, microlens} family; see the
6668 readme @uref{https://github.com/aelve/microlens#readme, on Github}.")
6669 (license license:bsd-3)))
6670
6671 (define-public ghc-microlens-platform
6672 (package
6673 (name "ghc-microlens-platform")
6674 (version "0.3.11")
6675 (source
6676 (origin
6677 (method url-fetch)
6678 (uri (string-append
6679 "https://hackage.haskell.org/package/"
6680 "microlens-platform/microlens-platform-" version ".tar.gz"))
6681 (sha256
6682 (base32
6683 "18950lxgmsg5ksvyyi3zs1smjmb1qf1q73a3p3g44bh21miz0xwb"))))
6684 (build-system haskell-build-system)
6685 (inputs
6686 `(("ghc-hashable" ,ghc-hashable)
6687 ("ghc-microlens" ,ghc-microlens)
6688 ("ghc-microlens-ghc" ,ghc-microlens-ghc)
6689 ("ghc-microlens-mtl" ,ghc-microlens-mtl)
6690 ("ghc-microlens-th" ,ghc-microlens-th)
6691 ("ghc-unordered-containers" ,ghc-unordered-containers)
6692 ("ghc-vector" ,ghc-vector)))
6693 (home-page "https://github.com/monadfix/microlens")
6694 (synopsis "Feature-complete microlens")
6695 (description
6696 "This package exports a module which is the recommended starting point
6697 for using @uref{http://hackage.haskell.org/package/microlens, microlens} if
6698 you aren't trying to keep your dependencies minimal. By importing
6699 @code{Lens.Micro.Platform} you get all functions and instances from
6700 @uref{http://hackage.haskell.org/package/microlens, microlens},
6701 @uref{http://hackage.haskell.org/package/microlens-th, microlens-th},
6702 @uref{http://hackage.haskell.org/package/microlens-mtl, microlens-mtl},
6703 @uref{http://hackage.haskell.org/package/microlens-ghc, microlens-ghc}, as
6704 well as instances for @code{Vector}, @code{Text}, and @code{HashMap}. The
6705 minor and major versions of @code{microlens-platform} are incremented whenever
6706 the minor and major versions of any other @code{microlens} package are
6707 incremented, so you can depend on the exact version of
6708 @code{microlens-platform} without specifying the version of @code{microlens}
6709 you need. This package is a part of the
6710 @uref{http://hackage.haskell.org/package/microlens, microlens} family; see the
6711 readme @uref{https://github.com/aelve/microlens#readme, on Github}.")
6712 (license license:bsd-3)))
6713
6714 (define-public ghc-microlens-th
6715 (package
6716 (name "ghc-microlens-th")
6717 (version "0.4.2.3")
6718 (source
6719 (origin
6720 (method url-fetch)
6721 (uri (string-append "https://hackage.haskell.org/package/"
6722 "microlens-th-" version "/"
6723 "microlens-th-" version ".tar.gz"))
6724 (sha256
6725 (base32
6726 "13qw0pwcgd6f6i39rwgqwcwk1d4da5x7wv3gna7gdlxaq331h41j"))))
6727 (build-system haskell-build-system)
6728 (arguments
6729 `(#:cabal-revision
6730 ("1" "167in7b1qhgrspx81bdm2jyg9qji66sk7id282c0s99kmp0d01n6")))
6731 (inputs `(("ghc-microlens" ,ghc-microlens)
6732 ("ghc-th-abstraction" ,ghc-th-abstraction)))
6733 (home-page
6734 "https://github.com/aelve/microlens")
6735 (synopsis "Automatic generation of record lenses for
6736 @code{ghc-microlens}")
6737 (description "This Haskell package lets you automatically generate lenses
6738 for data types; code was extracted from the lens package, and therefore
6739 generated lenses are fully compatible with ones generated by lens (and can be
6740 used both from lens and microlens).")
6741 (license license:bsd-3)))
6742
6743 (define-public ghc-missingh
6744 (package
6745 (name "ghc-missingh")
6746 (version "1.4.1.0")
6747 (source
6748 (origin
6749 (method url-fetch)
6750 (uri (string-append "https://hackage.haskell.org/package/MissingH/"
6751 "MissingH-" version ".tar.gz"))
6752 (sha256
6753 (base32
6754 "1jp0vk6w9a7fzrbxfhx773105jp2s1n50klq9ak6spfl7bgx5v29"))))
6755 (build-system haskell-build-system)
6756 ;; Tests require the unmaintained testpack package, which depends on the
6757 ;; outdated QuickCheck version 2.7, which can no longer be built with
6758 ;; recent versions of GHC and Haskell libraries.
6759 (arguments '(#:tests? #f))
6760 (inputs
6761 `(("ghc-network" ,ghc-network)
6762 ("ghc-hunit" ,ghc-hunit)
6763 ("ghc-regex-compat" ,ghc-regex-compat)
6764 ("ghc-hslogger" ,ghc-hslogger)
6765 ("ghc-random" ,ghc-random)
6766 ("ghc-old-time" ,ghc-old-time)
6767 ("ghc-old-locale" ,ghc-old-locale)))
6768 (native-inputs
6769 `(("ghc-errorcall-eq-instance" ,ghc-errorcall-eq-instance)
6770 ("ghc-quickcheck" ,ghc-quickcheck)
6771 ("ghc-hunit" ,ghc-hunit)))
6772 (home-page "http://software.complete.org/missingh")
6773 (synopsis "Large utility library")
6774 (description
6775 "MissingH is a library of all sorts of utility functions for Haskell
6776 programmers. It is written in pure Haskell and thus should be extremely
6777 portable and easy to use.")
6778 (license license:bsd-3)))
6779
6780 (define-public ghc-mmap
6781 (package
6782 (name "ghc-mmap")
6783 (version "0.5.9")
6784 (source (origin
6785 (method url-fetch)
6786 (uri (string-append "https://hackage.haskell.org/package/"
6787 "mmap/mmap-" version ".tar.gz"))
6788 (sha256
6789 (base32
6790 "1y5mk3yf4b8r6rzmlx1xqn4skaigrqnv08sqq0v7r3nbw42bpz2q"))))
6791 (build-system haskell-build-system)
6792 (home-page "https://hackage.haskell.org/package/mmap")
6793 (synopsis "Memory mapped files for Haskell")
6794 (description
6795 "This library provides a wrapper to @code{mmap}, allowing files or
6796 devices to be lazily loaded into memory as strict or lazy @code{ByteStrings},
6797 @code{ForeignPtrs} or plain @code{Ptrs}, using the virtual memory subsystem to
6798 do on-demand loading.")
6799 (license license:bsd-3)))
6800
6801 (define-public ghc-mmorph
6802 (package
6803 (name "ghc-mmorph")
6804 (version "1.1.3")
6805 (source
6806 (origin
6807 (method url-fetch)
6808 (uri (string-append
6809 "https://hackage.haskell.org/package/mmorph/mmorph-"
6810 version
6811 ".tar.gz"))
6812 (sha256
6813 (base32
6814 "0rfsy9n9mlinpmqi2s17fhc67fzma2ig5fbmh6m5m830canzf8vr"))))
6815 (build-system haskell-build-system)
6816 (inputs
6817 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
6818 (home-page "https://hackage.haskell.org/package/mmorph")
6819 (synopsis "Monad morphisms")
6820 (description
6821 "This library provides monad morphism utilities, most commonly used for
6822 manipulating monad transformer stacks.")
6823 (license license:bsd-3)))
6824
6825 (define-public ghc-mockery
6826 (package
6827 (name "ghc-mockery")
6828 (version "0.3.5")
6829 (source (origin
6830 (method url-fetch)
6831 (uri (string-append "https://hackage.haskell.org/package/"
6832 "mockery/mockery-" version ".tar.gz"))
6833 (sha256
6834 (base32
6835 "09ypgm3z69gq8mj6y66ss58kbjnk15r8frwcwbqcfbfksfnfv8dp"))))
6836 (build-system haskell-build-system)
6837 (inputs
6838 `(("ghc-temporary" ,ghc-temporary)
6839 ("ghc-logging-facade" ,ghc-logging-facade)
6840 ("ghc-base-compat" ,ghc-base-compat)))
6841 (native-inputs
6842 `(("ghc-hspec" ,ghc-hspec)
6843 ("hspec-discover" ,hspec-discover)))
6844 (home-page "https://hackage.haskell.org/package/mockery")
6845 (synopsis "Support functions for automated testing")
6846 (description
6847 "The mockery package provides support functions for automated testing.")
6848 (license license:expat)))
6849
6850 (define-public ghc-monad-control
6851 (package
6852 (name "ghc-monad-control")
6853 (version "1.0.2.3")
6854 (source
6855 (origin
6856 (method url-fetch)
6857 (uri (string-append
6858 "https://hackage.haskell.org/package/monad-control"
6859 "/monad-control-" version ".tar.gz"))
6860 (sha256
6861 (base32
6862 "1c92833gr6cadidjdp8mlznkpp8lyxl0w3y7d19y8yi3klc3843c"))))
6863 (build-system haskell-build-system)
6864 (inputs
6865 `(("ghc-transformers-base" ,ghc-transformers-base)
6866 ("ghc-transformers-compat" ,ghc-transformers-compat)))
6867 (home-page "https://github.com/basvandijk/monad-control")
6868 (synopsis "Monad transformers to lift control operations like exception
6869 catching")
6870 (description "This package defines the type class @code{MonadBaseControl},
6871 a subset of @code{MonadBase} into which generic control operations such as
6872 @code{catch} can be lifted from @code{IO} or any other base monad.")
6873 (license license:bsd-3)))
6874
6875 (define-public ghc-monad-logger
6876 (package
6877 (name "ghc-monad-logger")
6878 (version "0.3.30")
6879 (source
6880 (origin
6881 (method url-fetch)
6882 (uri (string-append "https://hackage.haskell.org/package/"
6883 "monad-logger-" version "/"
6884 "monad-logger-" version ".tar.gz"))
6885 (sha256
6886 (base32
6887 "102l0v75hbvkmrypiyg4ybb6rbc7nij5nxs1aihmqfdpg04rkkp7"))))
6888 (build-system haskell-build-system)
6889 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
6890 ("ghc-stm-chans" ,ghc-stm-chans)
6891 ("ghc-lifted-base" ,ghc-lifted-base)
6892 ("ghc-resourcet" ,ghc-resourcet)
6893 ("ghc-conduit" ,ghc-conduit)
6894 ("ghc-conduit-extra" ,ghc-conduit-extra)
6895 ("ghc-fast-logger" ,ghc-fast-logger)
6896 ("ghc-transformers-base" ,ghc-transformers-base)
6897 ("ghc-monad-control" ,ghc-monad-control)
6898 ("ghc-monad-loops" ,ghc-monad-loops)
6899 ("ghc-blaze-builder" ,ghc-blaze-builder)
6900 ("ghc-exceptions" ,ghc-exceptions)))
6901 (home-page "https://github.com/kazu-yamamoto/logger")
6902 (synopsis "Provides a class of monads which can log messages for Haskell")
6903 (description "This Haskell package uses a monad transformer approach
6904 for logging.
6905
6906 This package provides Template Haskell functions for determining source
6907 code locations of messages.")
6908 (license license:expat)))
6909
6910 (define-public ghc-monad-loops
6911 (package
6912 (name "ghc-monad-loops")
6913 (version "0.4.3")
6914 (source
6915 (origin
6916 (method url-fetch)
6917 (uri (string-append "https://hackage.haskell.org/package/"
6918 "monad-loops-" version "/"
6919 "monad-loops-" version ".tar.gz"))
6920 (sha256
6921 (base32
6922 "062c2sn3hc8h50p1mhqkpyv6x8dydz2zh3ridvlfjq9nqimszaky"))))
6923 (build-system haskell-build-system)
6924 (native-inputs `(("ghc-tasty" ,ghc-tasty)
6925 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
6926 (home-page "https://github.com/mokus0/monad-loops")
6927 (synopsis "Monadic loops for Haskell")
6928 (description "This Haskell package provides some useful control
6929 operators for looping.")
6930 (license license:public-domain)))
6931
6932 (define-public ghc-monad-par
6933 (package
6934 (name "ghc-monad-par")
6935 (version "0.3.4.8")
6936 (source
6937 (origin
6938 (method url-fetch)
6939 (uri (string-append "https://hackage.haskell.org/package/"
6940 "monad-par-" version "/"
6941 "monad-par-" version ".tar.gz"))
6942 (patches (search-patches "ghc-monad-par-fix-tests.patch"))
6943 (sha256
6944 (base32
6945 "0ldrzqy24fsszvn2a2nr77m2ih7xm0h9bgkjyv1l274aj18xyk7q"))))
6946 (build-system haskell-build-system)
6947 (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
6948 ("ghc-abstract-deque" ,ghc-abstract-deque)
6949 ("ghc-monad-par-extras" ,ghc-monad-par-extras)
6950 ("ghc-mwc-random" ,ghc-mwc-random)
6951 ("ghc-parallel" ,ghc-parallel)))
6952 (native-inputs `(("ghc-quickcheck" ,ghc-quickcheck)
6953 ("ghc-hunit" ,ghc-hunit)
6954 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6955 ("ghc-test-framework-quickcheck2"
6956 ,ghc-test-framework-quickcheck2)
6957 ("ghc-test-framework" ,ghc-test-framework)
6958 ("ghc-test-framework-th" ,ghc-test-framework-th)))
6959 (home-page "https://github.com/simonmar/monad-par")
6960 (synopsis "Haskell library for parallel programming based on a monad")
6961 (description "The @code{Par} monad offers an API for parallel
6962 programming. The library works for parallelising both pure and @code{IO}
6963 computations, although only the pure version is deterministic. The default
6964 implementation provides a work-stealing scheduler and supports forking tasks
6965 that are much lighter weight than IO-threads.")
6966 (license license:bsd-3)))
6967
6968 (define-public ghc-monad-par-extras
6969 (package
6970 (name "ghc-monad-par-extras")
6971 (version "0.3.3")
6972 (source
6973 (origin
6974 (method url-fetch)
6975 (uri (string-append "https://hackage.haskell.org/package/"
6976 "monad-par-extras-" version "/"
6977 "monad-par-extras-" version ".tar.gz"))
6978 (sha256
6979 (base32
6980 "0bl4bd6jzdc5zm20q1g67ppkfh6j6yn8fwj6msjayj621cck67p2"))))
6981 (build-system haskell-build-system)
6982 (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
6983 ("ghc-cereal" ,ghc-cereal)
6984 ("ghc-random" ,ghc-random)))
6985 (home-page "https://github.com/simonmar/monad-par")
6986 (synopsis "Combinators and extra features for Par monads for Haskell")
6987 (description "This Haskell package provides additional data structures,
6988 and other added capabilities layered on top of the @code{Par} monad.")
6989 (license license:bsd-3)))
6990
6991 (define-public ghc-monadplus
6992 (package
6993 (name "ghc-monadplus")
6994 (version "1.4.2")
6995 (source
6996 (origin
6997 (method url-fetch)
6998 (uri (string-append "https://hackage.haskell.org/package/monadplus"
6999 "/monadplus-" version ".tar.gz"))
7000 (sha256
7001 (base32 "15b5320wdpmdp5slpphnc1x4rhjch3igw245dp2jxbqyvchdavin"))))
7002 (build-system haskell-build-system)
7003 (home-page "https://hackage.haskell.org/package/monadplus")
7004 (synopsis "Filtering and folding over arbitrary MonadPlus instances")
7005 (description
7006 "This package generalizes many common stream operations such as
7007 @code{filter}, @code{catMaybes} etc, enabling filtering and folding over
7008 arbitrary @code{MonadPlus} instances.")
7009 (license license:bsd-3)))
7010
7011 (define-public ghc-monadrandom
7012 (package
7013 (name "ghc-monadrandom")
7014 (version "0.5.1.1")
7015 (source
7016 (origin
7017 (method url-fetch)
7018 (uri (string-append "https://hackage.haskell.org/package/"
7019 "MonadRandom-" version "/"
7020 "MonadRandom-" version ".tar.gz"))
7021 (sha256
7022 (base32
7023 "0w44jl1n3kqvqaflh82l1wj3xxbhzfs3kf4m8rk7w6fgg8llmnmb"))))
7024 (build-system haskell-build-system)
7025 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
7026 ("ghc-primitive" ,ghc-primitive)
7027 ("ghc-fail" ,ghc-fail)
7028 ("ghc-random" ,ghc-random)))
7029 (home-page "https://github.com/byorgey/MonadRandom")
7030 (synopsis "Random-number generation monad for Haskell")
7031 (description "This Haskell package provides support for computations
7032 which consume random values.")
7033 (license license:bsd-3)))
7034
7035 (define-public ghc-monads-tf
7036 (package
7037 (name "ghc-monads-tf")
7038 (version "0.1.0.3")
7039 (source
7040 (origin
7041 (method url-fetch)
7042 (uri (string-append
7043 "https://hackage.haskell.org/package/monads-tf/monads-tf-"
7044 version ".tar.gz"))
7045 (sha256
7046 (base32
7047 "1wdhskwa6dw8qljbvwpyxj8ca6y95q2np7z4y4q6bpf4anmd5794"))))
7048 (build-system haskell-build-system)
7049 (home-page "https://hackage.haskell.org/package/monads-tf")
7050 (synopsis "Monad classes, using type families")
7051 (description
7052 "Monad classes using type families, with instances for various monad transformers,
7053 inspired by the paper 'Functional Programming with Overloading and Higher-Order
7054 Polymorphism', by Mark P Jones. This package is almost a compatible replacement for
7055 the @code{mtl-tf} package.")
7056 (license license:bsd-3)))
7057
7058 (define-public ghc-mono-traversable
7059 (package
7060 (name "ghc-mono-traversable")
7061 (version "1.0.13.0")
7062 (source
7063 (origin
7064 (method url-fetch)
7065 (uri (string-append "https://hackage.haskell.org/package/"
7066 "mono-traversable-" version "/"
7067 "mono-traversable-" version ".tar.gz"))
7068 (sha256
7069 (base32
7070 "1bqy982lpdb83lacfy76n8kqw5bvd31avxj25kg8gkgycdh0g0ma"))))
7071 (build-system haskell-build-system)
7072 (inputs `(("ghc-unordered-containers" ,ghc-unordered-containers)
7073 ("ghc-hashable" ,ghc-hashable)
7074 ("ghc-vector" ,ghc-vector)
7075 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
7076 ("ghc-split" ,ghc-split)))
7077 (native-inputs `(("ghc-hspec" ,ghc-hspec)
7078 ("ghc-hunit" ,ghc-hunit)
7079 ("ghc-quickcheck" ,ghc-quickcheck)
7080 ("ghc-semigroups" ,ghc-semigroups)
7081 ("ghc-foldl" ,ghc-foldl)))
7082 (home-page "https://github.com/snoyberg/mono-traversable")
7083 (synopsis "Haskell classes for mapping, folding, and traversing monomorphic
7084 containers")
7085 (description "This Haskell package provides Monomorphic variants of the
7086 Functor, Foldable, and Traversable typeclasses. If you understand Haskell's
7087 basic typeclasses, you understand mono-traversable. In addition to what
7088 you are used to, it adds on an IsSequence typeclass and has code for marking
7089 data structures as non-empty.")
7090 (license license:expat)))
7091
7092 (define-public ghc-murmur-hash
7093 (package
7094 (name "ghc-murmur-hash")
7095 (version "0.1.0.9")
7096 (source
7097 (origin
7098 (method url-fetch)
7099 (uri (string-append "https://hackage.haskell.org/package/murmur-hash"
7100 "/murmur-hash-" version ".tar.gz"))
7101 (sha256
7102 (base32 "1bb58kfnzvx3mpc0rc0dhqc1fk36nm8prd6gvf20gk6lxaadpfc9"))))
7103 (build-system haskell-build-system)
7104 (home-page "https://github.com/nominolo/murmur-hash")
7105 (synopsis "MurmurHash2 implementation for Haskell")
7106 (description
7107 "This package provides an implementation of MurmurHash2, a good, fast,
7108 general-purpose, non-cryptographic hashing function. See
7109 @url{https://sites.google.com/site/murmurhash/} for details. This
7110 implementation is pure Haskell, so it might be a bit slower than a C FFI
7111 binding.")
7112 (license license:bsd-3)))
7113
7114 (define-public ghc-mwc-random
7115 (package
7116 (name "ghc-mwc-random")
7117 (version "0.14.0.0")
7118 (source
7119 (origin
7120 (method url-fetch)
7121 (uri (string-append "https://hackage.haskell.org/package/"
7122 "mwc-random-" version "/"
7123 "mwc-random-" version ".tar.gz"))
7124 (sha256
7125 (base32
7126 "18pg24sw3b79b32cwx8q01q4k0lm34mwr3l6cdkchl8alvd0wdq0"))))
7127 (build-system haskell-build-system)
7128 (inputs
7129 `(("ghc-primitive" ,ghc-primitive)
7130 ("ghc-vector" ,ghc-vector)
7131 ("ghc-math-functions" ,ghc-math-functions)))
7132 (arguments
7133 `(#:tests? #f)) ; FIXME: Test-Suite `spec` fails.
7134 (native-inputs
7135 `(("ghc-hunit" ,ghc-hunit)
7136 ("ghc-quickcheck" ,ghc-quickcheck)
7137 ("ghc-test-framework" ,ghc-test-framework)
7138 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7139 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
7140 (home-page "https://github.com/bos/mwc-random")
7141 (synopsis "Random number generation library for Haskell")
7142 (description "This Haskell package contains code for generating
7143 high quality random numbers that follow either a uniform or normal
7144 distribution. The generated numbers are suitable for use in
7145 statistical applications.
7146
7147 The uniform PRNG uses Marsaglia's MWC256 (also known as MWC8222)
7148 multiply-with-carry generator, which has a period of 2^{8222} and
7149 fares well in tests of randomness. It is also extremely fast,
7150 between 2 and 3 times faster than the Mersenne Twister.")
7151 (license license:bsd-3)))
7152
7153 (define-public ghc-nats
7154 (package
7155 (name "ghc-nats")
7156 (version "1.1.2")
7157 (source
7158 (origin
7159 (method url-fetch)
7160 (uri (string-append
7161 "https://hackage.haskell.org/package/nats/nats-"
7162 version
7163 ".tar.gz"))
7164 (sha256
7165 (base32
7166 "1v40drmhixck3pz3mdfghamh73l4rp71mzcviipv1y8jhrfxilmr"))))
7167 (build-system haskell-build-system)
7168 (arguments `(#:haddock? #f))
7169 (inputs
7170 `(("ghc-hashable" ,ghc-hashable)))
7171 (home-page "https://hackage.haskell.org/package/nats")
7172 (synopsis "Natural numbers")
7173 (description "This library provides the natural numbers for Haskell.")
7174 (license license:bsd-3)))
7175
7176 (define-public ghc-nats-bootstrap
7177 (package
7178 (inherit ghc-nats)
7179 (name "ghc-nats-bootstrap")
7180 (inputs
7181 `(("ghc-hashable" ,ghc-hashable-bootstrap)))
7182 (properties '((hidden? #t)))))
7183
7184 (define-public ghc-ncurses
7185 (package
7186 (name "ghc-ncurses")
7187 (version "0.2.16")
7188 (source
7189 (origin
7190 (method url-fetch)
7191 (uri (string-append
7192 "https://hackage.haskell.org/package/ncurses/ncurses-"
7193 version ".tar.gz"))
7194 (sha256
7195 (base32
7196 "0gsyyaqyh5r9zc0rhwpj5spyd6i4w2vj61h4nihgmmh0yyqvf3z5"))))
7197 (build-system haskell-build-system)
7198 (arguments
7199 '(#:phases
7200 (modify-phases %standard-phases
7201 (add-before 'build 'fix-includes
7202 (lambda _
7203 (substitute* '("cbits/hsncurses-shim.h"
7204 "lib/UI/NCurses.chs"
7205 "lib/UI/NCurses/Enums.chs"
7206 "lib/UI/NCurses/Panel.chs")
7207 (("<ncursesw/") "<"))
7208 #t)))
7209 #:cabal-revision
7210 ("1"
7211 "1wfdy716s5p1sqp2gsg43x8wch2dxg0vmbbndlb2h3d8c9jzxnca")))
7212 (inputs `(("ncurses" ,ncurses)))
7213 (native-inputs `(("ghc-c2hs" ,ghc-c2hs)))
7214 (home-page "https://john-millikin.com/software/haskell-ncurses/")
7215 (synopsis "Modernised bindings to GNU ncurses")
7216 (description "GNU ncurses is a library for creating command-line application
7217 with pseudo-graphical interfaces. This package is a nice, modern binding to GNU
7218 ncurses.")
7219 (license license:gpl3)))
7220
7221 (define-public ghc-network
7222 (package
7223 (name "ghc-network")
7224 (version "2.8.0.1")
7225 (outputs '("out" "doc"))
7226 (source
7227 (origin
7228 (method url-fetch)
7229 (uri (string-append
7230 "https://hackage.haskell.org/package/network/network-"
7231 version
7232 ".tar.gz"))
7233 (sha256
7234 (base32
7235 "0im8k51rw3ahmr23ny10pshwbz09jfg0fdpam0hzf2hgxnzmvxb1"))))
7236 (build-system haskell-build-system)
7237 ;; The regression tests depend on an unpublished module.
7238 (arguments `(#:tests? #f))
7239 (native-inputs
7240 `(("ghc-hunit" ,ghc-hunit)
7241 ("ghc-doctest" ,ghc-doctest)
7242 ("ghc-test-framework" ,ghc-test-framework)
7243 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
7244 (home-page "https://github.com/haskell/network")
7245 (synopsis "Low-level networking interface")
7246 (description
7247 "This package provides a low-level networking interface.")
7248 (license license:bsd-3)))
7249
7250 (define-public ghc-network-bsd
7251 (package
7252 (name "ghc-network-bsd")
7253 (version "2.8.0.0")
7254 (source
7255 (origin
7256 (method url-fetch)
7257 (uri (string-append "https://hackage.haskell.org/package/"
7258 "network-bsd/network-bsd-" version ".tar.gz"))
7259 (sha256
7260 (base32
7261 "0dfbwgrr28y6ypw7p1ppqg7v746qf14569q4xazj4ahdjw2xkpi5"))))
7262 (build-system haskell-build-system)
7263 (inputs
7264 `(("ghc-network" ,ghc-network)))
7265 (home-page "https://github.com/haskell/network-bsd")
7266 (synopsis "POSIX network database (<netdb.h>) API")
7267 (description "This package provides Haskell bindings to the the POSIX
7268 network database (<netdb.h>) API.")
7269 (license license:bsd-3)))
7270
7271 (define-public ghc-network-byte-order
7272 (package
7273 (name "ghc-network-byte-order")
7274 (version "0.1.1.1")
7275 (source
7276 (origin
7277 (method url-fetch)
7278 (uri (string-append "https://hackage.haskell.org/package/"
7279 "network-byte-order/network-byte-order-"
7280 version ".tar.gz"))
7281 (sha256
7282 (base32
7283 "19cs6157amcc925vwr92q1azwwzkbam5g0k70i6qi80fhpikh37c"))))
7284 (build-system haskell-build-system)
7285 (native-inputs
7286 `(("ghc-doctest" ,ghc-doctest)))
7287 (home-page "http://hackage.haskell.org/package/network-byte-order")
7288 (synopsis "Network byte order utilities")
7289 (description "This library provides peek and poke functions for network
7290 byte order.")
7291 (license license:bsd-3)))
7292
7293 (define-public ghc-network-info
7294 (package
7295 (name "ghc-network-info")
7296 (version "0.2.0.10")
7297 (source
7298 (origin
7299 (method url-fetch)
7300 (uri (string-append "https://hackage.haskell.org/package/"
7301 "network-info-" version "/"
7302 "network-info-" version ".tar.gz"))
7303 (sha256
7304 (base32
7305 "0anmgzcpnz7nw3n6vq0r25m1s9l2svpwi83wza0lzkrlbnbzd02n"))))
7306 (build-system haskell-build-system)
7307 (home-page "https://github.com/jystic/network-info")
7308 (synopsis "Access the local computer's basic network configuration")
7309 (description "This Haskell library provides simple read-only access to the
7310 local computer's networking configuration. It is currently capable of
7311 getting a list of all the network interfaces and their respective
7312 IPv4, IPv6 and MAC addresses.")
7313 (license license:bsd-3)))
7314
7315 (define-public ghc-network-uri
7316 (package
7317 (name "ghc-network-uri")
7318 (version "2.6.1.0")
7319 (outputs '("out" "doc"))
7320 (source
7321 (origin
7322 (method url-fetch)
7323 (uri (string-append
7324 "https://hackage.haskell.org/package/network-uri/network-uri-"
7325 version
7326 ".tar.gz"))
7327 (sha256
7328 (base32
7329 "1w27zkvn39kjr9lmw9421y8w43h572ycsfafsb7kyvr3a4ihlgj2"))))
7330 (build-system haskell-build-system)
7331 (arguments
7332 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
7333 (inputs
7334 `(("ghc-network" ,ghc-network)))
7335 (native-inputs
7336 `(("ghc-hunit" ,ghc-hunit)))
7337 (home-page
7338 "https://github.com/haskell/network-uri")
7339 (synopsis "Library for URI manipulation")
7340 (description "This package provides an URI manipulation interface. In
7341 @code{network-2.6} the @code{Network.URI} module was split off from the
7342 @code{network} package into this package.")
7343 (license license:bsd-3)))
7344
7345 (define-public ghc-newtype-generics
7346 (package
7347 (name "ghc-newtype-generics")
7348 (version "0.5.4")
7349 (source
7350 (origin
7351 (method url-fetch)
7352 (uri (string-append "https://hackage.haskell.org/package/"
7353 "newtype-generics/newtype-generics-"
7354 version ".tar.gz"))
7355 (sha256
7356 (base32
7357 "0cprfg4n0z62cnix1qrbc79bfdd4s50b05fj9m9hk6vm1pc3szq0"))))
7358 (build-system haskell-build-system)
7359 (native-inputs
7360 `(("ghc-hspec" ,ghc-hspec)
7361 ("hspec-discover" ,hspec-discover)))
7362 (home-page "http://github.com/sjakobi/newtype-generics")
7363 (synopsis "Typeclass and set of functions for working with newtypes")
7364 (description "The @code{Newtype} typeclass represents the packing and
7365 unpacking of a newtype, and allows you to operate under that newtype with
7366 functions such as @code{ala}. Generics support was added in version 0.4,
7367 making this package a full replacement for the original newtype package,
7368 and an alternative to newtype-th.")
7369 (license license:bsd-3)))
7370
7371 (define-public ghc-non-negative
7372 (package
7373 (name "ghc-non-negative")
7374 (version "0.1.2")
7375 (source
7376 (origin
7377 (method url-fetch)
7378 (uri
7379 (string-append
7380 "https://hackage.haskell.org/package/non-negative/non-negative-"
7381 version ".tar.gz"))
7382 (sha256
7383 (base32
7384 "0f01q916dzkl1i0v15qrw9cviycki5g3fgi6x8gs45iwbzssq52n"))))
7385 (build-system haskell-build-system)
7386 (inputs
7387 `(("ghc-semigroups" ,ghc-semigroups)
7388 ("ghc-utility-ht" ,ghc-utility-ht)
7389 ("ghc-quickcheck" ,ghc-quickcheck)))
7390 (home-page "https://hackage.haskell.org/package/non-negative")
7391 (synopsis "Non-negative numbers class")
7392 (description "This library provides a class for non-negative numbers,
7393 a wrapper which can turn any ordered numeric type into a member of that
7394 class, and a lazy number type for non-negative numbers (a generalization
7395 of Peano numbers).")
7396 (license license:gpl3+)))
7397
7398 (define-public ghc-objectname
7399 (package
7400 (name "ghc-objectname")
7401 (version "1.1.0.1")
7402 (source
7403 (origin
7404 (method url-fetch)
7405 (uri (string-append
7406 "https://hackage.haskell.org/package/ObjectName/ObjectName-"
7407 version
7408 ".tar.gz"))
7409 (sha256
7410 (base32
7411 "046jm94rmm46cicd31pl54vdvfjvhd9ffbfycy2lxzc0fliyznvj"))))
7412 (build-system haskell-build-system)
7413 (home-page "https://hackage.haskell.org/package/ObjectName")
7414 (synopsis "Helper library for Haskell OpenGL")
7415 (description "This tiny package contains the class ObjectName, which
7416 corresponds to the general notion of explicitly handled identifiers for API
7417 objects, e.g. a texture object name in OpenGL or a buffer object name in
7418 OpenAL.")
7419 (license license:bsd-3)))
7420
7421 (define-public ghc-old-locale
7422 (package
7423 (name "ghc-old-locale")
7424 (version "1.0.0.7")
7425 (source
7426 (origin
7427 (method url-fetch)
7428 (uri (string-append
7429 "https://hackage.haskell.org/package/old-locale/old-locale-"
7430 version
7431 ".tar.gz"))
7432 (sha256
7433 (base32 "0l3viphiszvz5wqzg7a45zp40grwlab941q5ay29iyw8p3v8pbyv"))))
7434 (build-system haskell-build-system)
7435 (arguments
7436 `(#:cabal-revision
7437 ("2" "04b9vn007hlvsrx4ksd3r8r3kbyaj2kvwxchdrmd4370qzi8p6gs")))
7438 (home-page "https://hackage.haskell.org/package/old-locale")
7439 (synopsis "Adapt to locale conventions")
7440 (description
7441 "This package provides the ability to adapt to locale conventions such as
7442 date and time formats.")
7443 (license license:bsd-3)))
7444
7445 (define-public ghc-old-time
7446 (package
7447 (name "ghc-old-time")
7448 (version "1.1.0.3")
7449 (source
7450 (origin
7451 (method url-fetch)
7452 (uri (string-append
7453 "https://hackage.haskell.org/package/old-time/old-time-"
7454 version
7455 ".tar.gz"))
7456 (sha256
7457 (base32
7458 "1h9b26s3kfh2k0ih4383w90ibji6n0iwamxp6rfp2lbq1y5ibjqw"))))
7459 (build-system haskell-build-system)
7460 (arguments
7461 `(#:cabal-revision
7462 ("2" "1j6ln1dkvhdvnwl33bp0xf9lhc4sybqk0aw42p8cq81xwwzbn7y9")))
7463 (inputs
7464 `(("ghc-old-locale" ,ghc-old-locale)))
7465 (home-page "https://hackage.haskell.org/package/old-time")
7466 (synopsis "Time compatibility library for Haskell")
7467 (description "Old-time is a package for backwards compatibility with the
7468 old @code{time} library. For new projects, the newer
7469 @uref{https://hackage.haskell.org/package/time, time library} is recommended.")
7470 (license license:bsd-3)))
7471
7472 (define-public ghc-opengl
7473 (package
7474 (name "ghc-opengl")
7475 (version "3.0.3.0")
7476 (source
7477 (origin
7478 (method url-fetch)
7479 (uri (string-append
7480 "https://hackage.haskell.org/package/OpenGL/OpenGL-"
7481 version
7482 ".tar.gz"))
7483 (sha256
7484 (base32
7485 "069fg8jcxqq2z9iikynd8vi3jxm2b5y3qywdh4bdviyzab3zy1as"))))
7486 (build-system haskell-build-system)
7487 (arguments
7488 `(#:cabal-revision
7489 ("1" "1748mrb6r9mpf5jbrx436lwbg8w6dadyy8dhxw2dwnrj5z7zf741")))
7490 (inputs
7491 `(("ghc-objectname" ,ghc-objectname)
7492 ("ghc-gluraw" ,ghc-gluraw)
7493 ("ghc-statevar" ,ghc-statevar)
7494 ("ghc-openglraw" ,ghc-openglraw)))
7495 (home-page "https://www.haskell.org/haskellwiki/Opengl")
7496 (synopsis "Haskell bindings for the OpenGL graphics system")
7497 (description "This package provides Haskell bindings for the OpenGL
7498 graphics system (GL, version 4.5) and its accompanying utility library (GLU,
7499 version 1.3).")
7500 (license license:bsd-3)))
7501
7502 (define-public ghc-openglraw
7503 (package
7504 (name "ghc-openglraw")
7505 (version "3.3.3.0")
7506 (source
7507 (origin
7508 (method url-fetch)
7509 (uri (string-append
7510 "https://hackage.haskell.org/package/OpenGLRaw/OpenGLRaw-"
7511 version
7512 ".tar.gz"))
7513 (sha256
7514 (base32
7515 "0zgllb4bcash2i2cispa3j565aw3dpxs41ghmhpvyvi4a6xmyldx"))))
7516 (build-system haskell-build-system)
7517 (inputs
7518 `(("ghc-half" ,ghc-half)
7519 ("ghc-fixed" ,ghc-fixed)
7520 ("glu" ,glu)))
7521 (home-page "https://www.haskell.org/haskellwiki/Opengl")
7522 (synopsis "Raw Haskell bindings for the OpenGL graphics system")
7523 (description "OpenGLRaw is a raw Haskell binding for the OpenGL 4.5
7524 graphics system and lots of OpenGL extensions. It is basically a 1:1 mapping
7525 of OpenGL's C API, intended as a basis for a nicer interface. OpenGLRaw
7526 offers access to all necessary functions, tokens and types plus a general
7527 facility for loading extension entries. The module hierarchy closely mirrors
7528 the naming structure of the OpenGL extensions, making it easy to find the
7529 right module to import. All API entries are loaded dynamically, so no special
7530 C header files are needed for building this package. If an API entry is not
7531 found at runtime, a userError is thrown.")
7532 (license license:bsd-3)))
7533
7534 (define-public ghc-operational
7535 (package
7536 (name "ghc-operational")
7537 (version "0.2.3.5")
7538 (source
7539 (origin
7540 (method url-fetch)
7541 (uri (string-append "https://hackage.haskell.org/package/operational/"
7542 "operational-" version ".tar.gz"))
7543 (sha256
7544 (base32
7545 "1x2abg2q9d26h1vzj40r6k7k3gqgappbs4g9d853vvg77837km4i"))))
7546 (build-system haskell-build-system)
7547 (inputs
7548 `(("ghc-random" ,ghc-random)))
7549 (home-page "http://wiki.haskell.org/Operational")
7550 (synopsis "Implementation of difficult monads made easy with operational semantics")
7551 (description
7552 "This library makes it easy to implement monads with tricky control
7553 flow. This is useful for: writing web applications in a sequential style,
7554 programming games with a uniform interface for human and AI players and easy
7555 replay capababilities, implementing fast parser monads, designing monadic
7556 DSLs, etc.")
7557 (license license:bsd-3)))
7558
7559 (define-public ghc-options
7560 (package
7561 (name "ghc-options")
7562 (version "1.2.1.1")
7563 (source
7564 (origin
7565 (method url-fetch)
7566 (uri (string-append
7567 "https://hackage.haskell.org/package/options/options-"
7568 version ".tar.gz"))
7569 (sha256
7570 (base32
7571 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
7572 (build-system haskell-build-system)
7573 (inputs
7574 `(("ghc-monads-tf" ,ghc-monads-tf)
7575 ("ghc-chell" ,ghc-chell)
7576 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)))
7577 (home-page "https://john-millikin.com/software/haskell-options/")
7578 (synopsis "Powerful and easy-to-use command-line option parser")
7579 (description
7580 "The @code{options} package lets library and application developers
7581 easily work with command-line options.")
7582 (license license:expat)))
7583
7584 ;; See ghc-system-filepath-bootstrap, chell and chell-quickcheck are required for tests.
7585 (define ghc-options-bootstrap
7586 (package
7587 (name "ghc-options-bootstrap")
7588 (version "1.2.1.1")
7589 (source
7590 (origin
7591 (method url-fetch)
7592 (uri (string-append
7593 "https://hackage.haskell.org/package/options/options-"
7594 version ".tar.gz"))
7595 (sha256
7596 (base32
7597 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
7598 (build-system haskell-build-system)
7599 (arguments
7600 `(#:tests? #f))
7601 (inputs
7602 `(("ghc-monads-tf" ,ghc-monads-tf)))
7603 (home-page "https://john-millikin.com/software/haskell-options/")
7604 (synopsis "Powerful and easy-to-use command-line option parser")
7605 (description
7606 "The @code{options} package lets library and application developers
7607 easily work with command-line options.")
7608 (license license:expat)))
7609
7610
7611 (define-public ghc-optparse-applicative
7612 (package
7613 (name "ghc-optparse-applicative")
7614 (version "0.14.3.0")
7615 (source
7616 (origin
7617 (method url-fetch)
7618 (uri (string-append
7619 "https://hackage.haskell.org/package/optparse-applicative"
7620 "/optparse-applicative-" version ".tar.gz"))
7621 (sha256
7622 (base32
7623 "0qvn1s7jwrabbpmqmh6d6iafln3v3h9ddmxj2y4m0njmzq166ivj"))))
7624 (build-system haskell-build-system)
7625 (arguments
7626 `(#:cabal-revision
7627 ("2" "1a08dqjly1xy730f6jf45frr8g8gap0n1vg9b0mpzpydv0kgzmrp")))
7628 (inputs
7629 `(("ghc-transformers-compat" ,ghc-transformers-compat)
7630 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)))
7631 (native-inputs
7632 `(("ghc-quickcheck" ,ghc-quickcheck)))
7633 (home-page "https://github.com/pcapriotti/optparse-applicative")
7634 (synopsis "Utilities and combinators for parsing command line options")
7635 (description "This package provides utilities and combinators for parsing
7636 command line options in Haskell.")
7637 (license license:bsd-3)))
7638
7639 (define-public ghc-pandoc
7640 (package
7641 (name "ghc-pandoc")
7642 (version "2.7.3")
7643 (source
7644 (origin
7645 (method url-fetch)
7646 (uri (string-append "https://hackage.haskell.org/package/pandoc/pandoc-"
7647 version ".tar.gz"))
7648 (patches (search-patches "ghc-pandoc-fix-html-tests.patch"
7649 "ghc-pandoc-fix-latex-test.patch"))
7650 (sha256
7651 (base32
7652 "0dpjrr40h54cljzhvixyym07z792a9izg6b9dmqpjlgcg4rj0xx8"))))
7653 (build-system haskell-build-system)
7654 (inputs
7655 `(("ghc-aeson" ,ghc-aeson)
7656 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
7657 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
7658 ("ghc-blaze-html" ,ghc-blaze-html)
7659 ("ghc-blaze-markup" ,ghc-blaze-markup)
7660 ("ghc-cmark-gfm" ,ghc-cmark-gfm)
7661 ("ghc-data-default" ,ghc-data-default)
7662 ("ghc-diff" ,ghc-diff)
7663 ("ghc-doctemplates" ,ghc-doctemplates)
7664 ("ghc-executable-path" ,ghc-executable-path)
7665 ("ghc-glob" ,ghc-glob)
7666 ("ghc-haddock-library" ,ghc-haddock-library)
7667 ("ghc-hslua" ,ghc-hslua)
7668 ("ghc-hslua-module-system" ,ghc-hslua-module-system)
7669 ("ghc-hslua-module-text" ,ghc-hslua-module-text)
7670 ("ghc-hsyaml" ,ghc-hsyaml)
7671 ("ghc-http" ,ghc-http)
7672 ("ghc-http-client" ,ghc-http-client)
7673 ("ghc-http-client-tls" ,ghc-http-client-tls)
7674 ("ghc-http-types" ,ghc-http-types)
7675 ("ghc-ipynb" ,ghc-ipynb)
7676 ("ghc-juicypixels" ,ghc-juicypixels)
7677 ("ghc-network" ,ghc-network)
7678 ("ghc-network-uri" ,ghc-network-uri)
7679 ("ghc-pandoc-types" ,ghc-pandoc-types)
7680 ("ghc-random" ,ghc-random)
7681 ("ghc-scientific" ,ghc-scientific)
7682 ("ghc-sha" ,ghc-sha)
7683 ("ghc-skylighting" ,ghc-skylighting)
7684 ("ghc-split" ,ghc-split)
7685 ("ghc-syb" ,ghc-syb)
7686 ("ghc-tagsoup" ,ghc-tagsoup)
7687 ("ghc-temporary" ,ghc-temporary)
7688 ("ghc-texmath" ,ghc-texmath)
7689 ("ghc-unicode-transforms" ,ghc-unicode-transforms)
7690 ("ghc-unordered-containers" ,ghc-unordered-containers)
7691 ("ghc-vector" ,ghc-vector)
7692 ("ghc-xml" ,ghc-xml)
7693 ("ghc-zip-archive" ,ghc-zip-archive)
7694 ("ghc-zlib" ,ghc-zlib)))
7695 (native-inputs
7696 `(("ghc-tasty" ,ghc-tasty)
7697 ("ghc-tasty-golden" ,ghc-tasty-golden)
7698 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
7699 ("ghc-tasty-lua" ,ghc-tasty-lua)
7700 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
7701 ("ghc-quickcheck" ,ghc-quickcheck)
7702 ("ghc-hunit" ,ghc-hunit)))
7703 (home-page "https://pandoc.org")
7704 (synopsis "Conversion between markup formats")
7705 (description
7706 "Pandoc is a Haskell library for converting from one markup format to
7707 another, and a command-line tool that uses this library. It can read and
7708 write Markdown and (subsets of) other formats, such as HTML, reStructuredText,
7709 LaTeX, DocBook, and many more.
7710
7711 Pandoc extends standard Markdown syntax with footnotes, embedded LaTeX,
7712 definition lists, tables, and other features. A compatibility mode is
7713 provided for those who need a drop-in replacement for Markdown.pl.")
7714 (license license:gpl2+)))
7715
7716 (define-public ghc-pandoc-citeproc
7717 (package
7718 (name "ghc-pandoc-citeproc")
7719 (version "0.16.2")
7720 (source
7721 (origin
7722 (method url-fetch)
7723 (uri (string-append "https://hackage.haskell.org/package/"
7724 "pandoc-citeproc/pandoc-citeproc-"
7725 version ".tar.gz"))
7726 (sha256
7727 (base32
7728 "15mm17awgi1b5yazwhr5nh8b59qml1qk6pz6gpyijks70fq2arsv"))))
7729 (build-system haskell-build-system)
7730 (arguments
7731 `(#:phases
7732 (modify-phases %standard-phases
7733 ;; Many YAML tests (44) are failing do to changes in ghc-yaml:
7734 ;; <https://github.com/jgm/pandoc-citeproc/issues/342>.
7735 (add-before 'configure 'patch-tests
7736 (lambda _
7737 (substitute* "tests/test-pandoc-citeproc.hs"
7738 (("let allTests = citeprocTests \\+\\+ biblio2yamlTests")
7739 "let allTests = citeprocTests"))))
7740 ;; Tests need to be run after installation.
7741 (delete 'check)
7742 (add-after 'install 'post-install-check
7743 (assoc-ref %standard-phases 'check)))))
7744 (inputs
7745 `(("ghc-pandoc-types" ,ghc-pandoc-types)
7746 ("ghc-pandoc" ,ghc-pandoc)
7747 ("ghc-tagsoup" ,ghc-tagsoup)
7748 ("ghc-aeson" ,ghc-aeson)
7749 ("ghc-vector" ,ghc-vector)
7750 ("ghc-xml-conduit" ,ghc-xml-conduit)
7751 ("ghc-unordered-containers" ,ghc-unordered-containers)
7752 ("ghc-data-default" ,ghc-data-default)
7753 ("ghc-setenv" ,ghc-setenv)
7754 ("ghc-split" ,ghc-split)
7755 ("ghc-yaml" ,ghc-yaml)
7756 ("ghc-hs-bibutils" ,ghc-hs-bibutils)
7757 ("ghc-rfc5051" ,ghc-rfc5051)
7758 ("ghc-syb" ,ghc-syb)
7759 ("ghc-old-locale" ,ghc-old-locale)
7760 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
7761 ("ghc-attoparsec" ,ghc-attoparsec)
7762 ("ghc-temporary" ,ghc-temporary)))
7763 (home-page "https://github.com/jgm/pandoc-citeproc")
7764 (synopsis "Library for using pandoc with citeproc")
7765 (description
7766 "The @code{pandoc-citeproc} library exports functions for using the
7767 citeproc system with pandoc. It relies on @code{citeproc-hs}, a library for
7768 rendering bibliographic reference citations into a variety of styles using a
7769 macro language called @dfn{Citation Style Language} (CSL). This package also
7770 contains an executable @code{pandoc-citeproc}, which works as a pandoc filter,
7771 and also has a mode for converting bibliographic databases a YAML format
7772 suitable for inclusion in pandoc YAML metadata.")
7773 (license license:bsd-3)))
7774
7775 (define-public ghc-pandoc-types
7776 (package
7777 (name "ghc-pandoc-types")
7778 (version "1.17.6.1")
7779 (source (origin
7780 (method url-fetch)
7781 (uri (string-append "https://hackage.haskell.org/package/"
7782 "pandoc-types/pandoc-types-"
7783 version ".tar.gz"))
7784 (sha256
7785 (base32
7786 "1d6ygq991ddria71l7hg9yd7lq94sjy4m71rdws1v8hq943c4d0q"))))
7787 (build-system haskell-build-system)
7788 (inputs
7789 `(("ghc-syb" ,ghc-syb)
7790 ("ghc-aeson" ,ghc-aeson)
7791 ("ghc-string-qq" ,ghc-string-qq)))
7792 (native-inputs
7793 `(("ghc-quickcheck" ,ghc-quickcheck)
7794 ("ghc-test-framework" ,ghc-test-framework)
7795 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7796 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
7797 ("ghc-hunit" ,ghc-hunit)))
7798 (home-page "http://johnmacfarlane.net/pandoc")
7799 (synopsis "Types for representing a structured document")
7800 (description
7801 "This module defines the @code{Pandoc} data structure, which is used by
7802 pandoc to represent structured documents. It also provides functions for
7803 building up, manipulating and serialising @code{Pandoc} structures.")
7804 (license license:bsd-3)))
7805
7806 (define-public ghc-parallel
7807 (package
7808 (name "ghc-parallel")
7809 (version "3.2.2.0")
7810 (outputs '("out" "doc"))
7811 (source
7812 (origin
7813 (method url-fetch)
7814 (uri (string-append
7815 "https://hackage.haskell.org/package/parallel/parallel-"
7816 version
7817 ".tar.gz"))
7818 (sha256
7819 (base32
7820 "1xkfi96w6yfpppd0nw1rnszdxmvifwzm699ilv6332ra3akm610p"))))
7821 (build-system haskell-build-system)
7822 (home-page "https://hackage.haskell.org/package/parallel")
7823 (synopsis "Parallel programming library")
7824 (description
7825 "This package provides a library for parallel programming.")
7826 (license license:bsd-3)))
7827
7828 (define-public ghc-parsec-numbers
7829 (package
7830 (name "ghc-parsec-numbers")
7831 (version "0.1.0")
7832 (source
7833 (origin
7834 (method url-fetch)
7835 (uri (string-append "https://hackage.haskell.org/package/"
7836 "parsec-numbers/parsec-numbers-" version ".tar.gz"))
7837 (sha256
7838 (base32 "1gzy4v3r02kvdxvgg1nj83mmb6aph2v4ilf9c7y6nbvi2x49l0bp"))))
7839 (build-system haskell-build-system)
7840 (home-page "https://hackage.haskell.org/package/parsec-numbers")
7841 (synopsis "Utilities for parsing numbers from strings")
7842 (description
7843 "This package provides the number parsers without the need to use a large
7844 (and unportable) token parser.")
7845 (license license:bsd-3)))
7846
7847 (define-public ghc-parser-combinators
7848 (package
7849 (name "ghc-parser-combinators")
7850 (version "1.1.0")
7851 (source
7852 (origin
7853 (method url-fetch)
7854 (uri (string-append "https://hackage.haskell.org/package/"
7855 "parser-combinators/parser-combinators-"
7856 version ".tar.gz"))
7857 (sha256
7858 (base32
7859 "149yhbnrrl108h1jinrsxni3rwrldhphpk9bbmbpr90q5fbl4xmc"))))
7860 (build-system haskell-build-system)
7861 (home-page "https://github.com/mrkkrp/parser-combinators")
7862 (synopsis "Commonly useful parser combinators")
7863 (description
7864 "This is a lightweight package providing commonly useful parser
7865 combinators.")
7866 (license license:bsd-3)))
7867
7868 (define-public ghc-parsers
7869 (package
7870 (name "ghc-parsers")
7871 (version "0.12.10")
7872 (source
7873 (origin
7874 (method url-fetch)
7875 (uri (string-append
7876 "https://hackage.haskell.org/package/parsers/parsers-"
7877 version
7878 ".tar.gz"))
7879 (sha256
7880 (base32
7881 "0v0smxbzk1qpdfkfqqmrzd2dngv3vxba10mkjn9nfm6a309izf8p"))))
7882 (build-system haskell-build-system)
7883 (arguments `(#:tests? #f)) ; FIXME: Test fails with "cannot satisfy
7884 ; -package attoparsec-0.13.0.1"
7885 (inputs
7886 `(("ghc-base-orphans" ,ghc-base-orphans)
7887 ("ghc-attoparsec" ,ghc-attoparsec)
7888 ("ghc-scientific" ,ghc-scientific)
7889 ("ghc-charset" ,ghc-charset)
7890 ("ghc-unordered-containers" ,ghc-unordered-containers)))
7891 (home-page "https://github.com/ekmett/parsers/")
7892 (synopsis "Parsing combinators")
7893 (description "This library provides convenient combinators for working
7894 with and building parsing combinator libraries. Given a few simple instances,
7895 you get access to a large number of canned definitions. Instances exist for
7896 the parsers provided by @code{parsec}, @code{attoparsec} and @code{base}'s
7897 @code{Text.Read}.")
7898 (license license:bsd-3)))
7899
7900 (define-public ghc-path
7901 (package
7902 (name "ghc-path")
7903 (version "0.6.1")
7904 (source
7905 (origin
7906 (method url-fetch)
7907 (uri (string-append
7908 "https://hackage.haskell.org/package/path/path-"
7909 version
7910 ".tar.gz"))
7911 (sha256
7912 (base32
7913 "0nayla4k1gb821k8y5b9miflv1bi8f0czf9rqr044nrr2dddi2sb"))))
7914 (build-system haskell-build-system)
7915 (arguments
7916 ;; TODO: There are some Windows-related tests and modules that need to be
7917 ;; danced around.
7918 `(#:tests? #f
7919 #:cabal-revision
7920 ("1" "05b1zwx2a893h4h5wvgpc5g5pyx71hfmx409rqisd8s1bq1hn463")))
7921 (inputs
7922 `(("ghc-aeson" ,ghc-aeson)
7923 ("ghc-exceptions" ,ghc-exceptions)
7924 ("ghc-hashable" ,ghc-hashable)))
7925 (native-inputs
7926 `(("ghc-hspec" ,ghc-hspec)
7927 ("ghc-quickcheck" ,ghc-quickcheck)
7928 ("ghc-genvalidity" ,ghc-genvalidity)
7929 ("ghc-genvalidity-property" ,ghc-genvalidity-property)
7930 ("ghc-hspec" ,ghc-hspec)
7931 ("ghc-validity" ,ghc-validity)))
7932 (home-page
7933 "http://hackage.haskell.org/package/path")
7934 (synopsis "Support for well-typed paths")
7935 (description "This package introduces a type for paths upholding useful
7936 invariants.")
7937 (license license:bsd-3)))
7938
7939 (define-public ghc-path-io
7940 (package
7941 (name "ghc-path-io")
7942 (version "1.4.2")
7943 (source
7944 (origin
7945 (method url-fetch)
7946 (uri (string-append
7947 "https://hackage.haskell.org/package/path-io/path-io-"
7948 version
7949 ".tar.gz"))
7950 (sha256
7951 (base32
7952 "0jqx3mi4an4kb3kg78n1p3xrz832yrfrnvj795b0xhkv6h1z5ir3"))))
7953 (build-system haskell-build-system)
7954 (inputs
7955 `(("ghc-dlist" ,ghc-dlist)
7956 ("ghc-exceptions" ,ghc-exceptions)
7957 ("ghc-path" ,ghc-path)
7958 ("ghc-transformers-base" ,ghc-transformers-base)
7959 ("ghc-unix-compat" ,ghc-unix-compat)
7960 ("ghc-temporary" ,ghc-temporary)))
7961 (native-inputs
7962 `(("ghc-hspec" ,ghc-hspec)))
7963 (home-page
7964 "https://github.com/mrkkrp/path-io")
7965 (synopsis "Functions for manipulating well-typed paths")
7966 (description "This package provides an interface to the @code{directory}
7967 package for users of @code{path}. It also implements some missing stuff like
7968 recursive scanning and copying of directories, working with temporary
7969 files/directories, and more.")
7970 (license license:bsd-3)))
7971
7972 (define-public ghc-paths
7973 (package
7974 (name "ghc-paths")
7975 (version "0.1.0.12")
7976 (outputs '("out" "doc"))
7977 (source
7978 (origin
7979 (method url-fetch)
7980 (uri (string-append
7981 "https://hackage.haskell.org/package/ghc-paths/ghc-paths-"
7982 version
7983 ".tar.gz"))
7984 (sha256
7985 (base32
7986 "1164w9pqnf7rjm05mmfjznz7rrn415blrkk1kjc0gjvks1vfdjvf"))))
7987 (build-system haskell-build-system)
7988 (home-page "https://github.com/simonmar/ghc-paths")
7989 (synopsis
7990 "Knowledge of GHC's installation directories")
7991 (description
7992 "Knowledge of GHC's installation directories.")
7993 (license license:bsd-3)))
7994
7995 (define-public ghc-patience
7996 (package
7997 (name "ghc-patience")
7998 (version "0.3")
7999 (source
8000 (origin
8001 (method url-fetch)
8002 (uri (string-append
8003 "https://hackage.haskell.org/package/patience/patience-"
8004 version ".tar.gz"))
8005 (sha256
8006 (base32
8007 "1i1b37lgi31c17yrjyf8pdm4nf5lq8vw90z3rri78hf0k66d0p3i"))))
8008 (build-system haskell-build-system)
8009 (home-page "https://hackage.haskell.org/package/patience")
8010 (synopsis "Patience diff and longest increasing subsequence")
8011 (description
8012 "This library implements the 'patience diff' algorithm, as well as the
8013 patience algorithm for the longest increasing subsequence problem.
8014 Patience diff computes the difference between two lists, for example the lines
8015 of two versions of a source file. It provides a good balance between
8016 performance, nice output for humans, and simplicity of implementation.")
8017 (license license:bsd-3)))
8018
8019 (define-public ghc-pcre-light
8020 (package
8021 (name "ghc-pcre-light")
8022 (version "0.4.0.4")
8023 (source
8024 (origin
8025 (method url-fetch)
8026 (uri (string-append
8027 "https://hackage.haskell.org/package/pcre-light/pcre-light-"
8028 version
8029 ".tar.gz"))
8030 (sha256
8031 (base32
8032 "0xcyi1fivwg7a92mch5bcqzmrfxzqj42rmb3m8kgs61x4qwpxj82"))))
8033 (build-system haskell-build-system)
8034 (inputs
8035 `(("pcre" ,pcre)))
8036 (native-inputs
8037 `(("pkg-config" ,pkg-config)))
8038 (home-page "https://github.com/Daniel-Diaz/pcre-light")
8039 (synopsis "Haskell library for Perl 5 compatible regular expressions")
8040 (description "This package provides a small, efficient, and portable regex
8041 library for Perl 5 compatible regular expressions. The PCRE library is a set
8042 of functions that implement regular expression pattern matching using the same
8043 syntax and semantics as Perl 5.")
8044 (license license:bsd-3)))
8045
8046 (define-public ghc-persistent
8047 (package
8048 (name "ghc-persistent")
8049 (version "2.9.2")
8050 (source
8051 (origin
8052 (method url-fetch)
8053 (uri (string-append "https://hackage.haskell.org/package/"
8054 "persistent-" version "/"
8055 "persistent-" version ".tar.gz"))
8056 (sha256
8057 (base32
8058 "1wsa3kn427v88a6r0vwr6mz23snik2krbsgc8zqp18xajqn5szj9"))))
8059 (build-system haskell-build-system)
8060 (inputs `(("ghc-old-locale" ,ghc-old-locale)
8061 ("ghc-conduit" ,ghc-conduit)
8062 ("ghc-resourcet" ,ghc-resourcet)
8063 ("ghc-exceptions" ,ghc-exceptions)
8064 ("ghc-monad-control" ,ghc-monad-control)
8065 ("ghc-lifted-base" ,ghc-lifted-base)
8066 ("ghc-resource-pool" ,ghc-resource-pool)
8067 ("ghc-path-pieces" ,ghc-path-pieces)
8068 ("ghc-http-api-data" ,ghc-http-api-data)
8069 ("ghc-aeson" ,ghc-aeson)
8070 ("ghc-monad-logger" ,ghc-monad-logger)
8071 ("ghc-transformers-base" ,ghc-transformers-base)
8072 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
8073 ("ghc-unordered-containers" ,ghc-unordered-containers)
8074 ("ghc-vector" ,ghc-vector)
8075 ("ghc-attoparsec" ,ghc-attoparsec)
8076 ("ghc-haskell-src-meta" ,ghc-haskell-src-meta)
8077 ("ghc-blaze-html" ,ghc-blaze-html)
8078 ("ghc-blaze-markup" ,ghc-blaze-markup)
8079 ("ghc-silently" ,ghc-silently)
8080 ("ghc-fast-logger" ,ghc-fast-logger)
8081 ("ghc-scientific" ,ghc-scientific)
8082 ("ghc-tagged" ,ghc-tagged)
8083 ("ghc-void" ,ghc-void)))
8084 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
8085 (home-page "https://www.yesodweb.com/book/persistent")
8086 (synopsis "Type-safe, multi-backend data serialization for Haskell")
8087 (description "This Haskell package allows Haskell programs to access data
8088 storage systems like PostgreSQL, SQLite, MySQL and MongoDB in a type-safe
8089 way.")
8090 (license license:expat)))
8091
8092 (define-public ghc-persistent-sqlite
8093 (package
8094 (name "ghc-persistent-sqlite")
8095 (version "2.9.3")
8096 (source
8097 (origin
8098 (method url-fetch)
8099 (uri (string-append "https://hackage.haskell.org/package/"
8100 "persistent-sqlite-" version "/"
8101 "persistent-sqlite-" version ".tar.gz"))
8102 (sha256
8103 (base32
8104 "13wbn88ixv4d4dfjl1gabm1q60fbcnygbmixz57pi3z84drrynwq"))))
8105 (build-system haskell-build-system)
8106 (inputs `(("ghc-persistent" ,ghc-persistent)
8107 ("ghc-unliftio-core" ,ghc-unliftio-core)
8108 ("ghc-aeson" ,ghc-aeson)
8109 ("ghc-conduit" ,ghc-conduit)
8110 ("ghc-monad-logger" ,ghc-monad-logger)
8111 ("ghc-microlens-th" ,ghc-microlens-th)
8112 ("ghc-resourcet" ,ghc-resourcet)
8113 ("ghc-old-locale" ,ghc-old-locale)
8114 ("ghc-resource-pool" ,ghc-resource-pool)
8115 ("ghc-unordered-containers" ,ghc-unordered-containers)))
8116 (native-inputs `(("ghc-hspec" ,ghc-hspec)
8117 ("ghc-persistent-template" ,ghc-persistent-template)
8118 ("ghc-temporary" ,ghc-temporary)))
8119 (home-page
8120 "https://www.yesodweb.com/book/persistent")
8121 (synopsis "Backend for the persistent library using sqlite3")
8122 (description "This Haskell package includes a thin sqlite3 wrapper based
8123 on the direct-sqlite package, as well as the entire C library, so there are no
8124 system dependencies.")
8125 (license license:expat)))
8126
8127 (define-public ghc-persistent-template
8128 (package
8129 (name "ghc-persistent-template")
8130 (version "2.6.0")
8131 (source
8132 (origin
8133 (method url-fetch)
8134 (uri (string-append "https://hackage.haskell.org/package/"
8135 "persistent-template-" version "/"
8136 "persistent-template-" version ".tar.gz"))
8137 (sha256
8138 (base32
8139 "0wr1z2nfrl6jv1lprxb0d2jw4izqfcbcwvkdrhryzg95gjz8ryjv"))))
8140 (build-system haskell-build-system)
8141 (inputs `(("ghc-persistent" ,ghc-persistent)
8142 ("ghc-monad-control" ,ghc-monad-control)
8143 ("ghc-aeson" ,ghc-aeson)
8144 ("ghc-aeson-compat" ,ghc-aeson-compat)
8145 ("ghc-monad-logger" ,ghc-monad-logger)
8146 ("ghc-unordered-containers" ,ghc-unordered-containers)
8147 ("ghc-tagged" ,ghc-tagged)
8148 ("ghc-path-pieces" ,ghc-path-pieces)
8149 ("ghc-http-api-data" ,ghc-http-api-data)))
8150 (native-inputs `(("ghc-hspec" ,ghc-hspec)
8151 ("ghc-quickcheck" ,ghc-quickcheck)))
8152 (home-page "https://www.yesodweb.com/book/persistent")
8153 (synopsis "Type-safe, non-relational, multi-backend persistence")
8154 (description "This Haskell package provides interfaces and helper
8155 functions for the ghc-persistent package.")
8156 (license license:expat)))
8157
8158 (define-public ghc-polyparse
8159 (package
8160 (name "ghc-polyparse")
8161 (version "1.12.1")
8162 (source
8163 (origin
8164 (method url-fetch)
8165 (uri (string-append
8166 "https://hackage.haskell.org/package/polyparse/polyparse-"
8167 version
8168 ".tar.gz"))
8169 (sha256
8170 (base32
8171 "19fs18g7fvfdkm9zy28cgighjcxfa6mcpqgyp6whmsjkb3h393fx"))))
8172 (build-system haskell-build-system)
8173 (home-page
8174 "http://code.haskell.org/~malcolm/polyparse/")
8175 (synopsis
8176 "Alternative parser combinator libraries")
8177 (description
8178 "This package provides a variety of alternative parser combinator
8179 libraries, including the original HuttonMeijer set. The Poly sets have
8180 features like good error reporting, arbitrary token type, running state, lazy
8181 parsing, and so on. Finally, Text.Parse is a proposed replacement for the
8182 standard Read class, for better deserialisation of Haskell values from
8183 Strings.")
8184 (license license:lgpl2.1)))
8185
8186 (define-public ghc-pqueue
8187 (package
8188 (name "ghc-pqueue")
8189 (version "1.4.1.2")
8190 (source
8191 (origin
8192 (method url-fetch)
8193 (uri (string-append "https://hackage.haskell.org/package/"
8194 "pqueue/pqueue-" version ".tar.gz"))
8195 (sha256
8196 (base32
8197 "1v4zhv2sc1zsw91hvnarkjhayx2dnf7ccxz6rrhsqpcs0szaranj"))))
8198 (build-system haskell-build-system)
8199 (native-inputs
8200 `(("ghc-quickcheck" ,ghc-quickcheck)))
8201 (home-page "https://hackage.haskell.org/package/pqueue")
8202 (synopsis "Reliable, persistent, fast priority queues")
8203 (description
8204 "This package provides a fast, reliable priority queue implementation
8205 based on a binomial heap.")
8206 (license license:bsd-3)))
8207
8208 (define-public ghc-prelude-extras
8209 (package
8210 (name "ghc-prelude-extras")
8211 (version "0.4.0.3")
8212 (source
8213 (origin
8214 (method url-fetch)
8215 (uri (string-append
8216 "https://hackage.haskell.org/package/prelude-extras/prelude-extras-"
8217 version
8218 ".tar.gz"))
8219 (sha256
8220 (base32
8221 "0xzqdf3nl2h0ra4gnslm1m1nsxlsgc0hh6ky3vn578vh11zhifq9"))))
8222 (build-system haskell-build-system)
8223 (home-page "https://github.com/ekmett/prelude-extras")
8224 (synopsis "Higher order versions of Prelude classes")
8225 (description "This library provides higher order versions of
8226 @code{Prelude} classes to ease programming with polymorphic recursion and
8227 reduce @code{UndecidableInstances}.")
8228 (license license:bsd-3)))
8229
8230 (define-public ghc-prettyclass
8231 (package
8232 (name "ghc-prettyclass")
8233 (version "1.0.0.0")
8234 (source
8235 (origin
8236 (method url-fetch)
8237 (uri (string-append "https://hackage.haskell.org/package/"
8238 "prettyclass/prettyclass-" version ".tar.gz"))
8239 (sha256
8240 (base32
8241 "11l9ajci7nh1r547hx8hgxrhq8mh5gdq30pdf845wvilg9p48dz5"))))
8242 (build-system haskell-build-system)
8243 (home-page "http://hackage.haskell.org/package/prettyclass")
8244 (synopsis "Pretty printing class similar to Show")
8245 (description "This package provides a pretty printing class similar
8246 to @code{Show}, based on the HughesPJ pretty printing library. It
8247 provides the pretty printing class and instances for the Prelude
8248 types.")
8249 (license license:bsd-3)))
8250
8251 (define-public ghc-pretty-hex
8252 (package
8253 (name "ghc-pretty-hex")
8254 (version "1.0")
8255 (source
8256 (origin
8257 (method url-fetch)
8258 (uri (string-append "https://hackage.haskell.org/package/"
8259 "pretty-hex-" version "/"
8260 "pretty-hex-" version ".tar.gz"))
8261 (sha256
8262 (base32
8263 "0ylwkvvjvmpprha9nx83xb8gkhyanhk5fffc0r7lb96n4ch5z6pz"))))
8264 (build-system haskell-build-system)
8265 (home-page "https://github.com/GaloisInc/hexdump")
8266 (synopsis "Haskell library for hex dumps of ByteStrings")
8267 (description "This Haskell library generates pretty hex dumps of
8268 ByteStrings in the style of other common *nix hex dump tools.")
8269 (license license:bsd-3)))
8270
8271 (define-public ghc-pretty-show
8272 (package
8273 (name "ghc-pretty-show")
8274 (version "1.9.5")
8275 (source
8276 (origin
8277 (method url-fetch)
8278 (uri (string-append "https://hackage.haskell.org/package/pretty-show/"
8279 "pretty-show-" version ".tar.gz"))
8280 (sha256
8281 (base32
8282 "0gs2pabi4qa4b0r5vffpf9b1cf5n9y2939a3lljjw7cmg6xvx5dh"))))
8283 (build-system haskell-build-system)
8284 (inputs
8285 `(("ghc-haskell-lexer" ,ghc-haskell-lexer)
8286 ("ghc-happy" ,ghc-happy)))
8287 (home-page "http://wiki.github.com/yav/pretty-show")
8288 (synopsis "Tools for working with derived `Show` instances")
8289 (description
8290 "This package provides a library and an executable for working with
8291 derived @code{Show} instances. By using the library, derived @code{Show}
8292 instances can be parsed into a generic data structure. The @code{ppsh} tool
8293 uses the library to produce human-readable versions of @code{Show} instances,
8294 which can be quite handy for debugging Haskell programs. We can also render
8295 complex generic values into an interactive Html page, for easier
8296 examination.")
8297 (license license:expat)))
8298
8299 (define-public ghc-primitive
8300 (package
8301 (name "ghc-primitive")
8302 (version "0.6.4.0")
8303 (outputs '("out" "doc"))
8304 (source
8305 (origin
8306 (method url-fetch)
8307 (uri (string-append
8308 "https://hackage.haskell.org/package/primitive/primitive-"
8309 version
8310 ".tar.gz"))
8311 (sha256
8312 (base32
8313 "0r0cda7acvplgwaxy69kviv4jp7kkfi038by68gj4yfx4iwszgjc"))))
8314 (build-system haskell-build-system)
8315 (arguments
8316 `(#:cabal-revision
8317 ("1" "18a14k1yiam1m4l29rin9a0y53yp3nxvkz358nysld8aqwy2qsjv")))
8318 (home-page
8319 "https://github.com/haskell/primitive")
8320 (synopsis "Primitive memory-related operations")
8321 (description
8322 "This package provides various primitive memory-related operations.")
8323 (license license:bsd-3)))
8324
8325 (define-public ghc-process-extras
8326 (package
8327 (name "ghc-process-extras")
8328 (version "0.7.4")
8329 (source
8330 (origin
8331 (method url-fetch)
8332 (uri
8333 (string-append
8334 "https://hackage.haskell.org/package/process-extras/"
8335 "process-extras-" version ".tar.gz"))
8336 (sha256
8337 (base32
8338 "0klqgr37f1z2z6i0a9b0giapmq0p35l5k9kz1p7f0k1597w7agi9"))))
8339 (build-system haskell-build-system)
8340 (inputs
8341 `(("ghc-data-default" ,ghc-data-default)
8342 ("ghc-generic-deriving" ,ghc-generic-deriving)
8343 ("ghc-hunit" ,ghc-hunit)
8344 ("ghc-listlike" ,ghc-listlike)))
8345 (home-page "https://github.com/seereason/process-extras")
8346 (synopsis "Extra tools for managing processes")
8347 (description "This package extends
8348 @url{http://hackage.haskell.org/package/process}. It allows you to read
8349 process input and output as ByteStrings or Text, or write your own
8350 ProcessOutput instance. It also provides lazy process input and output,
8351 and a ProcessMaker class for more flexibility in the process creation
8352 API.")
8353 (license license:expat)))
8354
8355 (define-public ghc-profunctors
8356 (package
8357 (name "ghc-profunctors")
8358 (version "5.3")
8359 (source
8360 (origin
8361 (method url-fetch)
8362 (uri (string-append
8363 "https://hackage.haskell.org/package/profunctors/profunctors-"
8364 version
8365 ".tar.gz"))
8366 (sha256
8367 (base32
8368 "1dx3nkc27yxsrbrhh3iwhq7dl1xn6bj7n62yx6nh8vmpbg62lqvl"))))
8369 (build-system haskell-build-system)
8370 (inputs
8371 `(("ghc-base-orphans" ,ghc-base-orphans)
8372 ("ghc-bifunctors" ,ghc-bifunctors)
8373 ("ghc-comonad" ,ghc-comonad)
8374 ("ghc-contravariant" ,ghc-contravariant)
8375 ("ghc-distributive" ,ghc-distributive)
8376 ("ghc-semigroups" ,ghc-semigroups)
8377 ("ghc-tagged" ,ghc-tagged)))
8378 (home-page "https://github.com/ekmett/profunctors/")
8379 (synopsis "Profunctors for Haskell")
8380 (description "This library provides profunctors for Haskell.")
8381 (license license:bsd-3)))
8382
8383 (define-public ghc-psqueues
8384 (package
8385 (name "ghc-psqueues")
8386 (version "0.2.7.2")
8387 (source
8388 (origin
8389 (method url-fetch)
8390 (uri (string-append "https://hackage.haskell.org/package/"
8391 "psqueues-" version "/"
8392 "psqueues-" version ".tar.gz"))
8393 (sha256
8394 (base32
8395 "1yckx2csqswghiy9nfj03cybmza8104nmnpbpcc9ngwlbmakn9i6"))))
8396 (build-system haskell-build-system)
8397 (inputs
8398 `(("ghc-hashable" ,ghc-hashable)))
8399 (native-inputs
8400 `(("ghc-hunit" ,ghc-hunit)
8401 ("ghc-quickcheck" ,ghc-quickcheck)
8402 ("ghc-tagged" ,ghc-tagged)
8403 ("ghc-tasty" ,ghc-tasty)
8404 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
8405 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
8406 (home-page "https://github.com/jaspervdj/psqueues")
8407 (synopsis "Pure priority search queues")
8408 (description "The psqueues package provides
8409 @uref{https://en.wikipedia.org/wiki/Priority_queue, Priority Search Queues} in
8410 three different flavors:
8411
8412 @itemize
8413 @item @code{OrdPSQ k p v}, which uses the @code{Ord k} instance to provide
8414 fast insertion, deletion and lookup. This implementation is based on Ralf
8415 Hinze's @uref{http://citeseer.ist.psu.edu/hinze01simple.html, A Simple
8416 Implementation Technique for Priority Search Queues}.
8417
8418 Hence, it is similar to the @uref{https://hackage.haskell.org/package/PSQueue,
8419 PSQueue} library, although it is considerably faster and provides a slightly
8420 different API.
8421
8422 @item @code{IntPSQ p v} is a far more efficient implementation. It fixes the
8423 key type to @code{Int} and uses a
8424 @code{https://en.wikipedia.org/wiki/Radix_tree, radix tree} (like @code{IntMap})
8425 with an additional min-heap property.
8426
8427 @item @code{HashPSQ k p v} is a fairly straightforward extension
8428 of @code{IntPSQ}: it simply uses the keys' hashes as indices in the
8429 @code{IntPSQ}. If there are any hash collisions, it uses an
8430 @code{OrdPSQ} to resolve those. The performance of this implementation
8431 is comparable to that of @code{IntPSQ}, but it is more widely
8432 applicable since the keys are not restricted to @code{Int},
8433 but rather to any @code{Hashable} datatype.
8434 @end itemize
8435
8436 Each of the three implementations provides the same API, so they can
8437 be used interchangeably.
8438
8439 Typical applications of Priority Search Queues include:
8440
8441 @itemize
8442 @item Caches, and more specifically LRU Caches;
8443 @item Schedulers;
8444 @item Pathfinding algorithms, such as Dijkstra's and A*.
8445 @end itemize")
8446 (license license:bsd-3)))
8447
8448 (define-public ghc-random
8449 (package
8450 (name "ghc-random")
8451 (version "1.1")
8452 (outputs '("out" "doc"))
8453 (source
8454 (origin
8455 (method url-fetch)
8456 (uri (string-append
8457 "https://hackage.haskell.org/package/random/random-"
8458 version
8459 ".tar.gz"))
8460 (sha256
8461 (base32 "0nis3lbkp8vfx8pkr6v7b7kr5m334bzb0fk9vxqklnp2aw8a865p"))))
8462 (build-system haskell-build-system)
8463 (home-page "https://hackage.haskell.org/package/random")
8464 (synopsis "Random number library")
8465 (description "This package provides a basic random number generation
8466 library, including the ability to split random number generators.")
8467 (license license:bsd-3)))
8468
8469 (define-public ghc-raw-strings-qq
8470 (package
8471 (name "ghc-raw-strings-qq")
8472 (version "1.1")
8473 (source
8474 (origin
8475 (method url-fetch)
8476 (uri (string-append "https://hackage.haskell.org/package/"
8477 "raw-strings-qq/raw-strings-qq-"
8478 version ".tar.gz"))
8479 (sha256
8480 (base32
8481 "1lxy1wy3awf52968iy5y9r5z4qgnn2sxkdrh7js3m9gadb11w09f"))))
8482 (build-system haskell-build-system)
8483 (native-inputs `(("ghc-hunit" ,ghc-hunit)))
8484 (home-page "https://github.com/23Skidoo/raw-strings-qq")
8485 (synopsis "Raw string literals for Haskell")
8486 (description
8487 "This package provides a quasiquoter for raw string literals, i.e. string
8488 literals that don't recognise the standard escape sequences. Basically, they
8489 make your code more readable by freeing you from the responsibility to escape
8490 backslashes. They are useful when working with regular expressions,
8491 DOS/Windows paths and markup languages (such as XML).")
8492 (license license:bsd-3)))
8493
8494 (define-public ghc-readable
8495 (package
8496 (name "ghc-readable")
8497 (version "0.3.1")
8498 (source
8499 (origin
8500 (method url-fetch)
8501 (uri (string-append "https://hackage.haskell.org/package/"
8502 "readable/readable-" version ".tar.gz"))
8503 (sha256
8504 (base32
8505 "1ja39cg26wy2fs00gi12x7iq5k8i366pbqi3p916skfa5jnkfc3h"))))
8506 (build-system haskell-build-system)
8507 (home-page "https://github.com/mightybyte/readable")
8508 (synopsis "Type class for reading from Text and ByteString")
8509 (description "This package provides a @code{Readable} type class for
8510 reading data types from @code{ByteString} and @code{Text}. It also
8511 includes efficient implementations for common data types.")
8512 (license license:bsd-3)))
8513
8514 (define-public ghc-rebase
8515 (package
8516 (name "ghc-rebase")
8517 (version "1.3.1.1")
8518 (source
8519 (origin
8520 (method url-fetch)
8521 (uri (string-append "https://hackage.haskell.org/package/"
8522 "rebase-" version "/"
8523 "rebase-" version ".tar.gz"))
8524 (sha256
8525 (base32
8526 "0q4m2fa7wkgxs0grir8rlqwibasmi3s1x7c107ynndwfm62nzv0a"))))
8527 (build-system haskell-build-system)
8528 (inputs `(("ghc-hashable" ,ghc-hashable)
8529 ("ghc-vector" ,ghc-vector)
8530 ("ghc-unordered-containers" ,ghc-unordered-containers)
8531 ("ghc-scientific" ,ghc-scientific)
8532 ("ghc-uuid" ,ghc-uuid)
8533 ("ghc-dlist" ,ghc-dlist)
8534 ("ghc-void" ,ghc-void)
8535 ("ghc-bifunctors" ,ghc-bifunctors)
8536 ("ghc-profunctors" ,ghc-profunctors)
8537 ("ghc-contravariant" ,ghc-contravariant)
8538 ("ghc-contravariant-extras" ,ghc-contravariant-extras)
8539 ("ghc-semigroups" ,ghc-semigroups)
8540 ("ghc-either" ,ghc-either)
8541 ("ghc-fail" ,ghc-fail)
8542 ("ghc-base-prelude" ,ghc-base-prelude)))
8543 (home-page "https://github.com/nikita-volkov/rebase")
8544 (synopsis "Progressive alternative to the base package
8545 for Haskell")
8546 (description "This Haskell package is intended for those who are
8547 tired of keeping long lists of dependencies to the same essential libraries
8548 in each package as well as the endless imports of the same APIs all over again.
8549
8550 It also supports the modern tendencies in the language.
8551
8552 To solve those problems this package does the following:
8553
8554 @itemize
8555 @item Reexport the original APIs under the @code{Rebase} namespace.
8556
8557 @item Export all the possible non-conflicting symbols from the
8558 @code{Rebase.Prelude} module.
8559
8560 @item Give priority to the modern practices in the conflicting cases.
8561 @end itemize
8562
8563 The policy behind the package is only to reexport the non-ambiguous and
8564 non-controversial APIs, which the community has obviously settled on.
8565 The package is intended to rapidly evolve with the contribution from
8566 the community, with the missing features being added with pull-requests.")
8567 (license license:expat)))
8568
8569 (define-public ghc-reducers
8570 (package
8571 (name "ghc-reducers")
8572 (version "3.12.3")
8573 (source
8574 (origin
8575 (method url-fetch)
8576 (uri (string-append
8577 "https://hackage.haskell.org/package/reducers/reducers-"
8578 version
8579 ".tar.gz"))
8580 (sha256
8581 (base32
8582 "09wf8pl9ycglcv6qj5ba26gkg2s5iy81hsx9xp0q8na0cwvp71ki"))))
8583 (build-system haskell-build-system)
8584 (inputs
8585 `(("ghc-fingertree" ,ghc-fingertree)
8586 ("ghc-hashable" ,ghc-hashable)
8587 ("ghc-unordered-containers" ,ghc-unordered-containers)
8588 ("ghc-semigroupoids" ,ghc-semigroupoids)
8589 ("ghc-semigroups" ,ghc-semigroups)))
8590 (home-page "https://github.com/ekmett/reducers/")
8591 (synopsis "Semigroups, specialized containers and a general map/reduce framework")
8592 (description "This library provides various semigroups, specialized
8593 containers and a general map/reduce framework for Haskell.")
8594 (license license:bsd-3)))
8595
8596 (define-public ghc-refact
8597 (package
8598 (name "ghc-refact")
8599 (version "0.3.0.2")
8600 (source
8601 (origin
8602 (method url-fetch)
8603 (uri (string-append "https://hackage.haskell.org/package/"
8604 "refact/refact-"
8605 version ".tar.gz"))
8606 (sha256
8607 (base32
8608 "0v0zxcx29b8jxs2kgy9csykqcp8kzhdvyylw2xfwmj4pfxr2kl0a"))))
8609 (build-system haskell-build-system)
8610 (home-page "http://hackage.haskell.org/package/refact")
8611 (synopsis "Specify refactorings to perform with apply-refact")
8612 (description
8613 "This library provides a datatype which can be interpreted by
8614 @code{apply-refact}. It exists as a separate library so that applications can
8615 specify refactorings without depending on GHC.")
8616 (license license:bsd-3)))
8617
8618 (define-public ghc-reflection
8619 (package
8620 (name "ghc-reflection")
8621 (version "2.1.5")
8622 (source
8623 (origin
8624 (method url-fetch)
8625 (uri (string-append
8626 "https://hackage.haskell.org/package/reflection/reflection-"
8627 version
8628 ".tar.gz"))
8629 (sha256
8630 (base32
8631 "0xr947nj1vww5b8fwqmypxm3y3j5sxl4z8wnf834f83jzfzyjbi7"))))
8632 (build-system haskell-build-system)
8633 (inputs `(("ghc-tagged" ,ghc-tagged)))
8634 (native-inputs
8635 `(("ghc-hspec" ,ghc-hspec)
8636 ("ghc-quickcheck" ,ghc-quickcheck)
8637 ("hspec-discover" ,hspec-discover)))
8638 (home-page "https://github.com/ekmett/reflection")
8639 (synopsis "Reify arbitrary terms into types that can be reflected back
8640 into terms")
8641 (description "This package addresses the 'configuration problem' which is
8642 propagating configurations that are available at run-time, allowing multiple
8643 configurations to coexist without resorting to mutable global variables or
8644 @code{System.IO.Unsafe.unsafePerformIO}.")
8645 (license license:bsd-3)))
8646
8647 (define-public ghc-regex
8648 (package
8649 (name "ghc-regex")
8650 (version "1.0.2.0")
8651 (source
8652 (origin
8653 (method url-fetch)
8654 (uri (string-append "https://hackage.haskell.org/package/regex/"
8655 "regex-" version ".tar.gz"))
8656 (sha256
8657 (base32
8658 "1f2z025hif1fr24b5khq3qxxyvpxrnhyx8xmbms332arw28rpkda"))))
8659 (build-system haskell-build-system)
8660 (arguments
8661 `(#:phases
8662 (modify-phases %standard-phases
8663 (add-after 'unpack 'relax-dependencies
8664 (lambda _
8665 (substitute* "regex.cabal"
8666 (("base-compat.*>=.*0.6.*")
8667 "base-compat >= 0.6\n")
8668 (("template-haskell.*>=.*2.7.*")
8669 "template-haskell >= 2.7\n"))
8670 #t)))))
8671 (inputs
8672 `(("ghc-base-compat" ,ghc-base-compat)
8673 ("ghc-hashable" ,ghc-hashable)
8674 ("ghc-regex-base" ,ghc-regex-base)
8675 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
8676 ("ghc-regex-tdfa" ,ghc-regex-tdfa)
8677 ("ghc-regex-tdfa-text" ,ghc-regex-tdfa-text)
8678 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
8679 ("ghc-unordered-containers" ,ghc-unordered-containers)
8680 ("ghc-utf8-string" ,ghc-utf8-string)))
8681 (home-page "http://regex.uk")
8682 (synopsis "Toolkit for regex-base")
8683 (description
8684 "This package provides a regular expression toolkit for @code{regex-base}
8685 with compile-time checking of regular expression syntax, data types for
8686 matches and captures, a text replacement toolkit, portable options, high-level
8687 AWK-like tools for building text processing apps, regular expression macros
8688 with parsers and test bench, comprehensive documentation, tutorials and
8689 copious examples.")
8690 (license license:bsd-3)))
8691
8692 (define-public ghc-regex-applicative
8693 (package
8694 (name "ghc-regex-applicative")
8695 (version "0.3.3.1")
8696 (source
8697 (origin
8698 (method url-fetch)
8699 (uri (string-append
8700 "https://hackage.haskell.org/package/regex-applicative/"
8701 "regex-applicative-" version ".tar.gz"))
8702 (sha256
8703 (base32
8704 "0p0anx5vamrhrdvviwkh2zn6pa3pv2bjb7nfyc7dvz2q7g14y1lg"))))
8705 (build-system haskell-build-system)
8706 (inputs
8707 `(("ghc-smallcheck" ,ghc-smallcheck)
8708 ("ghc-tasty" ,ghc-tasty)
8709 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
8710 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
8711 (home-page "https://github.com/feuerbach/regex-applicative")
8712 (synopsis "Regex-based parsing with applicative interface")
8713 (description
8714 "@code{regex-applicative} is a Haskell library for parsing using
8715 regular expressions. Parsers can be built using Applicative interface.")
8716 (license license:expat)))
8717
8718 (define-public ghc-regex-base
8719 (package
8720 (name "ghc-regex-base")
8721 (version "0.93.2")
8722 (source
8723 (origin
8724 (method url-fetch)
8725 (uri (string-append
8726 "https://hackage.haskell.org/package/regex-base/regex-base-"
8727 version
8728 ".tar.gz"))
8729 (sha256
8730 (base32
8731 "0y1j4h2pg12c853nzmczs263di7xkkmlnsq5dlp5wgbgl49mgp10"))))
8732 (build-system haskell-build-system)
8733 (home-page
8734 "https://sourceforge.net/projects/lazy-regex")
8735 (synopsis "Replaces/Enhances Text.Regex")
8736 (description "@code{Text.Regex.Base} provides the interface API for
8737 regex-posix, regex-pcre, regex-parsec, regex-tdfa, regex-dfa.")
8738 (license license:bsd-3)))
8739
8740 (define-public ghc-regex-compat
8741 (package
8742 (name "ghc-regex-compat")
8743 (version "0.95.1")
8744 (source
8745 (origin
8746 (method url-fetch)
8747 (uri (string-append
8748 "https://hackage.haskell.org/package/regex-compat/regex-compat-"
8749 version
8750 ".tar.gz"))
8751 (sha256
8752 (base32
8753 "0fwmima3f04p9y4h3c23493n1xj629ia2dxaisqm6rynljjv2z6m"))))
8754 (build-system haskell-build-system)
8755 (inputs
8756 `(("ghc-regex-base" ,ghc-regex-base)
8757 ("ghc-regex-posix" ,ghc-regex-posix)))
8758 (home-page "https://sourceforge.net/projects/lazy-regex")
8759 (synopsis "Replaces/Enhances Text.Regex")
8760 (description "This library provides one module layer over
8761 @code{regex-posix} to replace @code{Text.Regex}.")
8762 (license license:bsd-3)))
8763
8764 (define-public ghc-regex-compat-tdfa
8765 (package
8766 (name "ghc-regex-compat-tdfa")
8767 (version "0.95.1.4")
8768 (source
8769 (origin
8770 (method url-fetch)
8771 (uri (string-append
8772 "https://hackage.haskell.org/package/regex-compat-tdfa/regex-compat-tdfa-"
8773 version ".tar.gz"))
8774 (sha256
8775 (base32
8776 "1p90fn90yhp7fvljjdqjp41cszidcfz4pw7fwvzyx4739b98x8sg"))))
8777 (build-system haskell-build-system)
8778 (inputs
8779 `(("ghc-regex-base" ,ghc-regex-base)
8780 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
8781 (home-page "https://hub.darcs.net/shelarcy/regex-compat-tdfa")
8782 (synopsis "Unicode Support version of Text.Regex, using regex-tdfa")
8783 (description
8784 "One module layer over @code{regex-tdfa} to replace @code{Text.Regex}.
8785 @code{regex-compat} can't use Unicode characters correctly because of using regex-posix.
8786 This is not good for Unicode users. This modified regex-compat uses regex-tdfa to solve
8787 this problem.")
8788 (license license:bsd-3)))
8789
8790 (define-public ghc-regex-pcre-builtin
8791 (package
8792 (name "ghc-regex-pcre-builtin")
8793 (version "0.94.5.8.8.35")
8794 (source (origin
8795 (method url-fetch)
8796 (uri (string-append "https://hackage.haskell.org/package/"
8797 "regex-pcre-builtin/regex-pcre-builtin-"
8798 version ".tar.gz"))
8799 (sha256
8800 (base32
8801 "1s755qdg1mxrf125sh83bsc5kjkrj8fkq8wf6dg1jan86c7p7gl4"))))
8802 (build-system haskell-build-system)
8803 (inputs
8804 `(("ghc-regex-base" ,ghc-regex-base)))
8805 (home-page "https://hackage.haskell.org/package/regex-pcre")
8806 (synopsis "Enhancement of the builtin Text.Regex library")
8807 (description
8808 "This package is an enhancement of the @code{Text.Regex} library,
8809 providing the PCRE backend to accompany regex-base, with bundled code from
8810 @url{https://www.pcre.org}.")
8811 (license license:bsd-3)))
8812
8813 (define-public ghc-regex-posix
8814 (package
8815 (name "ghc-regex-posix")
8816 (version "0.95.2")
8817 (source
8818 (origin
8819 (method url-fetch)
8820 (uri (string-append
8821 "https://hackage.haskell.org/package/regex-posix/regex-posix-"
8822 version
8823 ".tar.gz"))
8824 (sha256
8825 (base32
8826 "0gkhzhj8nvfn1ija31c7xnl6p0gadwii9ihyp219ck2arlhrj0an"))))
8827 (build-system haskell-build-system)
8828 (inputs
8829 `(("ghc-regex-base" ,ghc-regex-base)))
8830 (home-page "https://sourceforge.net/projects/lazy-regex")
8831 (synopsis "POSIX regular expressions for Haskell")
8832 (description "This library provides the POSIX regex backend used by the
8833 Haskell library @code{regex-base}.")
8834 (license license:bsd-3)))
8835
8836 (define-public ghc-regex-tdfa
8837 (package
8838 (name "ghc-regex-tdfa")
8839 (version "1.2.3.2")
8840 (source
8841 (origin
8842 (method url-fetch)
8843 (uri (string-append
8844 "https://hackage.haskell.org/package/regex-tdfa/regex-tdfa-"
8845 version ".tar.gz"))
8846 (sha256
8847 (base32
8848 "03yhpqrqz977nwlnhnyz9dacnbzw8xb6j18h365rkgmbc05sb3hf"))))
8849 (build-system haskell-build-system)
8850 (inputs
8851 `(("ghc-regex-base" ,ghc-regex-base)))
8852 (home-page "https://github.com/ChrisKuklewicz/regex-tdfa")
8853 (synopsis "POSIX extended regular expressions in Haskell.")
8854 (description
8855 "Regex-tdfa is a pure Haskell regular expression library implementing POSIX
8856 extended regular expressions. It is a \"tagged\" DFA regex engine. It is
8857 inspired by libtre.")
8858 (license license:bsd-3)))
8859
8860 (define-public ghc-regex-tdfa-text
8861 (package
8862 (name "ghc-regex-tdfa-text")
8863 (version "1.0.0.3")
8864 (source
8865 (origin
8866 (method url-fetch)
8867 (uri (string-append
8868 "https://hackage.haskell.org/package/regex-tdfa-text/"
8869 "regex-tdfa-text-" version ".tar.gz"))
8870 (sha256
8871 (base32
8872 "0090g6lgbdm9lywpqm2d3724nnnh24nx3vnlqr96qc2w486pmmrq"))))
8873 (build-system haskell-build-system)
8874 (inputs
8875 `(("ghc-regex-base" ,ghc-regex-base)
8876 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
8877 (home-page
8878 "http://hackage.haskell.org/package/regex-tdfa-text")
8879 (synopsis "Text interface for regex-tdfa")
8880 (description
8881 "This provides an extra text interface for regex-tdfa.")
8882 (license license:bsd-3)))
8883
8884 (define-public ghc-rerebase
8885 (package
8886 (name "ghc-rerebase")
8887 (version "1.3.1.1")
8888 (source
8889 (origin
8890 (method url-fetch)
8891 (uri (string-append
8892 "https://hackage.haskell.org/package/rerebase/rerebase-"
8893 version ".tar.gz"))
8894 (sha256
8895 (base32
8896 "1jbqif6k249rkknm2zwk8v8jil3kgi9ar53358v8l4ffx346rm82"))))
8897 (build-system haskell-build-system)
8898 (inputs
8899 `(("ghc-rebase" ,ghc-rebase)))
8900 (home-page "https://github.com/nikita-volkov/rerebase")
8901 (synopsis "Reexports from ``base'' with many other standard libraries")
8902 (description "A rich drop-in replacement for @code{base}. For details and
8903 documentation please visit @uref{https://github.com/nikita-volkov/rerebase,
8904 the project's home page}.")
8905 (license license:expat)))
8906
8907 (define-public ghc-resolv
8908 (package
8909 (name "ghc-resolv")
8910 (version "0.1.1.2")
8911 (source
8912 (origin
8913 (method url-fetch)
8914 (uri (string-append
8915 "https://hackage.haskell.org/package/resolv/resolv-"
8916 version ".tar.gz"))
8917 (sha256
8918 (base32
8919 "0wczdy3vmpfcfwjn1m95bygc5d83m97xxmavhdvy5ayn8c402fp4"))))
8920 (build-system haskell-build-system)
8921 (arguments
8922 `(#:phases
8923 (modify-phases %standard-phases
8924 (add-before 'configure 'update-constraints
8925 (lambda _
8926 (substitute* "resolv.cabal"
8927 (("tasty >= 1\\.1 && < 1\\.2")
8928 "tasty >= 1.1 && < 1.3"))
8929 #t)))))
8930 (inputs
8931 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)))
8932 (native-inputs
8933 `(("ghc-tasty" ,ghc-tasty)
8934 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
8935 (home-page "https://github.com/haskell/hackage-security")
8936 (synopsis "Domain Name Service (DNS) lookup via @code{libresolv}")
8937 (description "This package implements an API for accessing the
8938 @uref{https://tools.ietf.org/html/rfc1035, Domain Name Service (DNS)}
8939 resolver service via the standard @code{libresolv} system library (whose
8940 API is often available directly via the standard @code{libc} C library) on
8941 Unix systems.")
8942 (license license:gpl3)))
8943
8944 (define-public ghc-resource-pool
8945 (package
8946 (name "ghc-resource-pool")
8947 (version "0.2.3.2")
8948 (source
8949 (origin
8950 (method url-fetch)
8951 (uri (string-append "https://hackage.haskell.org/package/"
8952 "resource-pool-" version "/"
8953 "resource-pool-" version ".tar.gz"))
8954 (sha256
8955 (base32
8956 "04mw8b9djb14zp4rdi6h7mc3zizh597ffiinfbr4m0m8psifw9w6"))))
8957 (build-system haskell-build-system)
8958 (inputs `(("ghc-hashable" ,ghc-hashable)
8959 ("ghc-monad-control" ,ghc-monad-control)
8960 ("ghc-transformers-base" ,ghc-transformers-base)
8961 ("ghc-vector" ,ghc-vector)))
8962 (home-page "https://github.com/bos/pool")
8963 (synopsis "Striped resource pooling implementation in Haskell")
8964 (description "This Haskell package provides striped pooling abstraction
8965 for managing flexibly-sized collections of resources such as database
8966 connections.")
8967 (license license:bsd-3)))
8968
8969 (define-public ghc-resourcet
8970 (package
8971 (name "ghc-resourcet")
8972 (version "1.2.2")
8973 (source
8974 (origin
8975 (method url-fetch)
8976 (uri (string-append "https://hackage.haskell.org/package/resourcet/"
8977 "resourcet-" version ".tar.gz"))
8978 (sha256
8979 (base32
8980 "1rfbfcv3r1h29y0yqr3x6a1s04lbc3vzm3jqnfg4f9rqp9d448qk"))))
8981 (build-system haskell-build-system)
8982 (inputs
8983 `(("ghc-transformers-base" ,ghc-transformers-base)
8984 ("ghc-monad-control" ,ghc-monad-control)
8985 ("ghc-transformers-compat" ,ghc-transformers-compat)
8986 ("ghc-mmorph" ,ghc-mmorph)
8987 ("ghc-exceptions" ,ghc-exceptions)
8988 ("ghc-unliftio-core" ,ghc-unliftio-core)))
8989 (native-inputs
8990 `(("ghc-lifted-base" ,ghc-lifted-base)
8991 ("ghc-hspec" ,ghc-hspec)))
8992 (home-page "https://github.com/snoyberg/conduit")
8993 (synopsis "Deterministic allocation and freeing of scarce resources")
8994 (description "ResourceT is a monad transformer which creates a region of
8995 code where you can safely allocate resources.")
8996 (license license:bsd-3)))
8997
8998 (define-public ghc-retry
8999 (package
9000 (name "ghc-retry")
9001 (version "0.8.1.0")
9002 (source
9003 (origin
9004 (method url-fetch)
9005 (uri (string-append "https://hackage.haskell.org/package/"
9006 "retry/retry-" version ".tar.gz"))
9007 (sha256
9008 (base32
9009 "02k03r86amg1vbrsvb644342ym13d9jwkzki9sk93pdg5l8j35dj"))))
9010 (build-system haskell-build-system)
9011 (inputs
9012 `(("ghc-exceptions" ,ghc-exceptions)
9013 ("ghc-random" ,ghc-random)))
9014 (native-inputs
9015 `(("ghc-hunit" ,ghc-hunit)
9016 ("ghc-tasty" ,ghc-tasty)
9017 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9018 ("ghc-tasty-hedgehog" ,ghc-tasty-hedgehog)
9019 ("ghc-hedgehog" ,ghc-hedgehog)))
9020 (home-page "http://github.com/Soostone/retry")
9021 (synopsis "Retry combinators for monadic actions that may fail")
9022 (description "This package exposes combinators that can wrap
9023 arbitrary monadic actions. They run the action and potentially retry
9024 running it with some configurable delay for a configurable number of
9025 times. The purpose is to make it easier to work with IO and especially
9026 network IO actions that often experience temporary failure and warrant
9027 retrying of the original action. For example, a database query may time
9028 out for a while, in which case we should hang back for a bit and retry
9029 the query instead of simply raising an exception.")
9030 (license license:bsd-3)))
9031
9032 (define-public ghc-rfc5051
9033 (package
9034 (name "ghc-rfc5051")
9035 (version "0.1.0.4")
9036 (source
9037 (origin
9038 (method url-fetch)
9039 (uri (string-append "https://hackage.haskell.org/package/rfc5051/"
9040 "rfc5051-" version ".tar.gz"))
9041 (sha256
9042 (base32
9043 "1lxkq414ni986ciml4gbvf463fn55z299knky7pq3ixb1qislpb1"))))
9044 (build-system haskell-build-system)
9045 (home-page "https://hackage.haskell.org/package/rfc5051")
9046 (synopsis "Simple unicode collation as per RFC5051")
9047 (description
9048 "This library implements @code{unicode-casemap}, the simple, non
9049 locale-sensitive unicode collation algorithm described in RFC 5051. Proper
9050 unicode collation can be done using @code{text-icu}, but that is a big
9051 dependency that depends on a large C library, and @code{rfc5051} might be
9052 better for some purposes.")
9053 (license license:bsd-3)))
9054
9055 (define-public ghc-rio
9056 (package
9057 (name "ghc-rio")
9058 (version "0.1.12.0")
9059 (source
9060 (origin
9061 (method url-fetch)
9062 (uri (string-append
9063 "https://hackage.haskell.org/package/rio/rio-"
9064 version ".tar.gz"))
9065 (sha256
9066 (base32
9067 "0xzjkh6aavynpyskikhs8dmv0zhkiqiwz9zdn80zbd25b2182pif"))))
9068 (build-system haskell-build-system)
9069 (inputs
9070 `(("ghc-exceptions" ,ghc-exceptions)
9071 ("ghc-hashable" ,ghc-hashable)
9072 ("ghc-microlens" ,ghc-microlens)
9073 ("ghc-primitive" ,ghc-primitive)
9074 ("ghc-typed-process" ,ghc-typed-process)
9075 ("ghc-unliftio" ,ghc-unliftio)
9076 ("ghc-unordered-containers" ,ghc-unordered-containers)
9077 ("ghc-vector" ,ghc-vector)))
9078 (native-inputs
9079 `(("ghc-hspec" ,ghc-hspec)
9080 ("hspec-discover" ,hspec-discover)))
9081 (home-page "https://github.com/commercialhaskell/rio#readme")
9082 (synopsis "A standard library for Haskell")
9083 (description "This package works as a prelude replacement for Haskell,
9084 providing more functionality and types out of the box than the standard
9085 prelude (such as common data types like @code{ByteString} and
9086 @code{Text}), as well as removing common ``gotchas'', like partial
9087 functions and lazy I/O. The guiding principle here is:
9088 @itemize
9089 @item If something is safe to use in general and has no expected naming
9090 conflicts, expose it.
9091 @item If something should not always be used, or has naming conflicts,
9092 expose it from another module in the hierarchy.
9093 @end itemize")
9094 (license license:expat)))
9095
9096 (define-public ghc-safe
9097 (package
9098 (name "ghc-safe")
9099 (version "0.3.17")
9100 (source
9101 (origin
9102 (method url-fetch)
9103 (uri (string-append
9104 "https://hackage.haskell.org/package/safe/safe-"
9105 version
9106 ".tar.gz"))
9107 (sha256
9108 (base32
9109 "0p3yaf5slvyz1cyy51jq64c5rlp8yzwim8iy2dlnk42if4gc9ibr"))))
9110 (build-system haskell-build-system)
9111 (native-inputs
9112 `(("ghc-quickcheck" ,ghc-quickcheck)))
9113 (home-page "https://github.com/ndmitchell/safe#readme")
9114 (synopsis "Library of safe (exception free) functions")
9115 (description "This library provides wrappers around @code{Prelude} and
9116 @code{Data.List} functions, such as @code{head} and @code{!!}, that can throw
9117 exceptions.")
9118 (license license:bsd-3)))
9119
9120 (define-public ghc-safe-exceptions
9121 (package
9122 (name "ghc-safe-exceptions")
9123 (version "0.1.7.0")
9124 (source
9125 (origin
9126 (method url-fetch)
9127 (uri (string-append "https://hackage.haskell.org/package/"
9128 "safe-exceptions/safe-exceptions-"
9129 version ".tar.gz"))
9130 (sha256
9131 (base32
9132 "0sd0zfsm9pcll5bzzj523rbn45adjrnavdkz52hgmdjjgdcdrk8q"))))
9133 (build-system haskell-build-system)
9134 (arguments
9135 '(#:cabal-revision
9136 ("4" "0fid41gishzsyb47wzxhd5falandfirqcp760hcja81qjpfmqd32")))
9137 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
9138 (native-inputs
9139 `(("ghc-hspec" ,ghc-hspec)
9140 ("ghc-void" ,ghc-void)
9141 ("hspec-discover" ,hspec-discover)))
9142 (home-page "https://github.com/fpco/safe-exceptions")
9143 (synopsis "Safe, consistent, and easy exception handling")
9144 (description "Runtime exceptions - as exposed in @code{base} by the
9145 @code{Control.Exception} module - have long been an intimidating part of the
9146 Haskell ecosystem. This package is intended to overcome this. It provides a
9147 safe and simple API on top of the existing exception handling machinery. The
9148 API is equivalent to the underlying implementation in terms of power but
9149 encourages best practices to minimize the chances of getting the exception
9150 handling wrong.")
9151 (license license:expat)))
9152
9153 (define-public ghc-safeio
9154 (package
9155 (name "ghc-safeio")
9156 (version "0.0.5.0")
9157 (source
9158 (origin
9159 (method url-fetch)
9160 (uri (string-append "https://hackage.haskell.org/package/safeio/"
9161 "safeio-" version ".tar.gz"))
9162 (sha256
9163 (base32
9164 "04g3070cbjdqj0h9l9ii6470xcbn40xfv4fr89a8yvnkdim9nyfm"))))
9165 (build-system haskell-build-system)
9166 (inputs
9167 `(("ghc-conduit" ,ghc-conduit)
9168 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
9169 ("ghc-exceptions" ,ghc-exceptions)
9170 ("ghc-resourcet" ,ghc-resourcet)))
9171 (native-inputs
9172 `(("ghc-hunit" ,ghc-hunit)
9173 ("ghc-test-framework" ,ghc-test-framework)
9174 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
9175 ("ghc-test-framework-th" ,ghc-test-framework-th)))
9176 (home-page "https://github.com/luispedro/safeio")
9177 (synopsis "Write output to disk atomically")
9178 (description
9179 "This package implements utilities to perform atomic output so as to
9180 avoid the problem of partial intermediate files.")
9181 (license license:expat)))
9182
9183 (define-public ghc-safesemaphore
9184 (package
9185 (name "ghc-safesemaphore")
9186 (version "0.10.1")
9187 (source
9188 (origin
9189 (method url-fetch)
9190 (uri (string-append "https://hackage.haskell.org/package/"
9191 "SafeSemaphore/SafeSemaphore-" version ".tar.gz"))
9192 (sha256
9193 (base32
9194 "0rpg9j6fy70i0b9dkrip9d6wim0nac0snp7qzbhykjkqlcvvgr91"))))
9195 (build-system haskell-build-system)
9196 (native-inputs
9197 `(("ghc-hunit" ,ghc-hunit)))
9198 (home-page "https://github.com/ChrisKuklewicz/SafeSemaphore")
9199 (synopsis "Exception safe semaphores")
9200 (description "This library provides exception safe semaphores that can be
9201 used in place of @code{QSem}, @code{QSemN}, and @code{SampleVar}, all of which
9202 are not exception safe and can be broken by @code{killThread}.")
9203 (license license:bsd-3)))
9204
9205 (define-public ghc-sandi
9206 (package
9207 (name "ghc-sandi")
9208 (version "0.5")
9209 (source
9210 (origin
9211 (method url-fetch)
9212 (uri (string-append
9213 "https://hackage.haskell.org/package/sandi/sandi-"
9214 version ".tar.gz"))
9215 (sha256
9216 (base32
9217 "1ndgai8idlxyccvkz5zsgq06v58blc30i6hkky5b1sf5x6gs2h29"))))
9218 (build-system haskell-build-system)
9219 (inputs
9220 `(("ghc-stringsearch" ,ghc-stringsearch)
9221 ("ghc-conduit" ,ghc-conduit)
9222 ("ghc-exceptions" ,ghc-exceptions)
9223 ("ghc-hunit" ,ghc-hunit)
9224 ("ghc-tasty" ,ghc-tasty)
9225 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9226 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
9227 ("ghc-tasty-th" ,ghc-tasty-th)))
9228 (home-page "https://hackage.haskell.org/package/sandi")
9229 (synopsis "Data encoding library")
9230 (description "Reasonably fast data encoding library.")
9231 (license license:bsd-3)))
9232
9233 (define-public ghc-scientific
9234 (package
9235 (name "ghc-scientific")
9236 (version "0.3.6.2")
9237 (source
9238 (origin
9239 (method url-fetch)
9240 (uri (string-append
9241 "https://hackage.haskell.org/package/scientific/scientific-"
9242 version
9243 ".tar.gz"))
9244 (sha256
9245 (base32
9246 "03ql2f0ac8bsl524idy9xxa3kxisb2sj3avflzw580j5hzy0m397"))))
9247 (build-system haskell-build-system)
9248 (inputs
9249 `(("ghc-integer-logarithms" ,ghc-integer-logarithms)
9250 ("ghc-hashable" ,ghc-hashable)
9251 ("ghc-primitive" ,ghc-primitive)))
9252 (native-inputs
9253 `(("ghc-tasty" ,ghc-tasty)
9254 ("ghc-tasty-ant-xml" ,ghc-tasty-ant-xml)
9255 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9256 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
9257 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
9258 ("ghc-smallcheck" ,ghc-smallcheck)
9259 ("ghc-quickcheck" ,ghc-quickcheck)))
9260 (home-page "https://github.com/basvandijk/scientific")
9261 (synopsis "Numbers represented using scientific notation")
9262 (description "This package provides @code{Data.Scientific}, which provides
9263 the number type @code{Scientific}. Scientific numbers are arbitrary precision
9264 and space efficient. They are represented using
9265 @uref{https://en.wikipedia.org/wiki/Scientific_notation, scientific
9266 notation}.")
9267 (license license:bsd-3)))
9268
9269 (define-public ghc-scientific-bootstrap
9270 (package
9271 (inherit ghc-scientific)
9272 (name "ghc-scientific-bootstrap")
9273 (arguments `(#:tests? #f))
9274 (inputs
9275 `(("ghc-integer-logarithms" ,ghc-integer-logarithms-bootstrap)
9276 ("ghc-hashable" ,ghc-hashable)
9277 ("ghc-primitive" ,ghc-primitive)))
9278 (native-inputs '())
9279 (properties '((hidden? #t)))))
9280
9281 (define-public ghc-sdl
9282 (package
9283 (name "ghc-sdl")
9284 (version "0.6.7.0")
9285 (source
9286 (origin
9287 (method url-fetch)
9288 (uri (string-append
9289 "https://hackage.haskell.org/package/SDL/SDL-"
9290 version
9291 ".tar.gz"))
9292 (sha256
9293 (base32
9294 "00y67v80a8l09i3k76z09lg25kw72ivl09nag8ckdlk4a0cfnzfq"))))
9295 (build-system haskell-build-system)
9296 (inputs
9297 `(("sdl" ,sdl)))
9298 (home-page "https://hackage.haskell.org/package/SDL")
9299 (synopsis "LibSDL for Haskell")
9300 (description "Simple DirectMedia Layer (libSDL) is a cross-platform
9301 multimedia library designed to provide low level access to audio, keyboard,
9302 mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer. It is used
9303 by MPEG playback software, emulators, and many popular games, including the
9304 award winning Linux port of \"Civilization: Call To Power.\"")
9305 (license license:bsd-3)))
9306
9307 (define-public ghc-sdl2
9308 (package
9309 (name "ghc-sdl2")
9310 (version "2.5.0.0")
9311 (source
9312 (origin
9313 (method url-fetch)
9314 (uri (string-append "https://hackage.haskell.org/package/"
9315 "sdl2/sdl2-" version ".tar.gz"))
9316 (sha256
9317 (base32
9318 "1x368yhdd55b3cvx8dvj1sj6nzygzigbhrwhssjs4k0rcxlwqfw8"))))
9319 (build-system haskell-build-system)
9320 (arguments '(#:tests? #f)) ; tests require graphical environment
9321 (inputs
9322 `(("ghc-exceptions" ,ghc-exceptions)
9323 ("ghc-linear" ,ghc-linear)
9324 ("ghc-statevar" ,ghc-statevar)
9325 ("ghc-vector" ,ghc-vector)
9326 ("sdl2" ,sdl2)))
9327 (native-inputs
9328 `(("ghc-weigh" ,ghc-weigh)
9329 ("pkg-config" ,pkg-config)))
9330 (home-page "http://hackage.haskell.org/package/sdl2")
9331 (synopsis "High- and low-level bindings to the SDL library")
9332 (description
9333 "This package contains bindings to the SDL 2 library, in both high- and
9334 low-level forms. The @code{SDL} namespace contains high-level bindings, where
9335 enumerations are split into sum types, and we perform automatic
9336 error-checking. The @code{SDL.Raw} namespace contains an almost 1-1
9337 translation of the C API into Haskell FFI calls. As such, this does not
9338 contain sum types nor error checking. Thus this namespace is suitable for
9339 building your own abstraction over SDL, but is not recommended for day-to-day
9340 programming.")
9341 (license license:bsd-3)))
9342
9343 (define-public ghc-sdl2-image
9344 (package
9345 (name "ghc-sdl2-image")
9346 (version "2.0.0")
9347 (source
9348 (origin
9349 (method url-fetch)
9350 (uri (string-append "https://hackage.haskell.org/package/sdl2-image/"
9351 "sdl2-image-" version ".tar.gz"))
9352 (sha256
9353 (base32
9354 "1pr6dkg73cy9z0w54lrkj9c5bhxj56nl92lxikjy8kz6nyr455rr"))))
9355 (build-system haskell-build-system)
9356 (inputs
9357 `(("ghc-sdl2" ,ghc-sdl2)
9358 ("sdl2-image" ,sdl2-image)))
9359 (native-inputs
9360 `(("pkg-config" ,pkg-config)))
9361 (home-page "http://hackage.haskell.org/package/sdl2-image")
9362 (synopsis "Bindings to SDL2_image")
9363 (description "This package provides Haskell bindings to
9364 @code{SDL2_image}.")
9365 (license license:expat)))
9366
9367 (define-public ghc-sdl2-mixer
9368 (package
9369 (name "ghc-sdl2-mixer")
9370 (version "1.1.0")
9371 (source
9372 (origin
9373 (method url-fetch)
9374 (uri (string-append "https://hackage.haskell.org/package/sdl2-mixer/"
9375 "sdl2-mixer-" version ".tar.gz"))
9376 (sha256
9377 (base32
9378 "1k8avyccq5l9z7bwxigim312yaancxl1sr3q6a96bcm7pnhiak0g"))))
9379 (build-system haskell-build-system)
9380 (inputs
9381 `(("ghc-data-default-class" ,ghc-data-default-class)
9382 ("ghc-lifted-base" ,ghc-lifted-base)
9383 ("ghc-monad-control" ,ghc-monad-control)
9384 ("ghc-sdl2" ,ghc-sdl2)
9385 ("ghc-vector" ,ghc-vector)
9386 ("sdl2-mixer" ,sdl2-mixer)))
9387 (native-inputs
9388 `(("pkg-config" ,pkg-config)))
9389 (home-page "http://hackage.haskell.org/package/sdl2-mixer")
9390 (synopsis "Bindings to SDL2 mixer")
9391 (description "This package provides Haskell bindings to
9392 @code{SDL2_mixer}.")
9393 (license license:bsd-3)))
9394
9395 (define-public ghc-sdl-image
9396 (package
9397 (name "ghc-sdl-image")
9398 (version "0.6.2.0")
9399 (source
9400 (origin
9401 (method url-fetch)
9402 (uri (string-append
9403 "https://hackage.haskell.org/package/SDL-image/SDL-image-"
9404 version
9405 ".tar.gz"))
9406 (sha256
9407 (base32
9408 "1gxwrvswgwjw6g7ym52gik22l9l3ljy592phv97jdmcf3gi6qcg1"))))
9409 (build-system haskell-build-system)
9410 (arguments
9411 `(#:configure-flags
9412 (let* ((sdl-image (assoc-ref %build-inputs "sdl-image"))
9413 (sdl-image-include (string-append sdl-image "/include/SDL")))
9414 (list (string-append "--extra-include-dirs=" sdl-image-include)))))
9415 (inputs
9416 `(("ghc-sdl" ,ghc-sdl)
9417 ("sdl-image" ,sdl-image)))
9418 (home-page "https://hackage.haskell.org/package/SDL-image")
9419 (synopsis "Haskell bindings to libSDL_image")
9420 (description "SDL_image is an image file loading library. It loads images
9421 as SDL surfaces, and supports the following formats: BMP, GIF, JPEG, LBM, PCX,
9422 PNG, PNM, TGA, TIFF, XCF, XPM, XV.")
9423 (license license:bsd-3)))
9424
9425 (define-public ghc-sdl-mixer
9426 (package
9427 (name "ghc-sdl-mixer")
9428 (version "0.6.3.0")
9429 (source
9430 (origin
9431 (method url-fetch)
9432 (uri (string-append
9433 "https://hackage.haskell.org/package/SDL-mixer/SDL-mixer-"
9434 version
9435 ".tar.gz"))
9436 (sha256
9437 (base32
9438 "0k26hqgdh789ka3mv4dsk6rin6x6vwcs6hjmnsqq7j3mnrh1342r"))))
9439 (build-system haskell-build-system)
9440 (arguments
9441 `(#:configure-flags
9442 (let* ((sdl-mixer (assoc-ref %build-inputs "sdl-mixer"))
9443 (sdl-mixer-include (string-append sdl-mixer "/include/SDL")))
9444 (list (string-append "--extra-include-dirs=" sdl-mixer-include)))))
9445 (inputs
9446 `(("ghc-sdl" ,ghc-sdl)
9447 ("sdl-mixer" ,sdl-mixer)))
9448 (home-page "https://hackage.haskell.org/package/SDL-mixer")
9449 (synopsis "Haskell bindings to libSDL_mixer")
9450 (description "SDL_mixer is a sample multi-channel audio mixer library. It
9451 supports any number of simultaneously playing channels of 16 bit stereo audio,
9452 plus a single channel of music, mixed by the popular MikMod MOD, Timidity
9453 MIDI, Ogg Vorbis, and SMPEG MP3 libraries.")
9454 (license license:bsd-3)))
9455
9456 (define-public ghc-securemem
9457 (package
9458 (name "ghc-securemem")
9459 (version "0.1.10")
9460 (source
9461 (origin
9462 (method url-fetch)
9463 (uri (string-append "https://hackage.haskell.org/package/"
9464 "securemem-" version "/"
9465 "securemem-" version ".tar.gz"))
9466 (sha256
9467 (base32
9468 "19hnw2cfbsfjynxq1bq9f6djbxhsc1k751ml0y1ab3ah913mm29j"))))
9469 (build-system haskell-build-system)
9470 (inputs `(("ghc-byteable" ,ghc-byteable)
9471 ("ghc-memory" ,ghc-memory)))
9472 (home-page "https://github.com/vincenthz/hs-securemem")
9473 (synopsis "Auto-scrubbing and const-time-eq memory chunk abstraction for
9474 Haskell")
9475 (description "SecureMem is similar to ByteString, except that it provides
9476 a memory chunk that will be auto-scrubbed after it run out of scope.")
9477 (license license:bsd-3)))
9478
9479 (define-public ghc-semigroupoids
9480 (package
9481 (name "ghc-semigroupoids")
9482 (version "5.3.3")
9483 (source
9484 (origin
9485 (method url-fetch)
9486 (uri (string-append
9487 "https://hackage.haskell.org/package/semigroupoids/semigroupoids-"
9488 version
9489 ".tar.gz"))
9490 (sha256
9491 (base32
9492 "016hc4imr9l4szs3p7f1aahvxr5wv4clvr3qzrm3nibssg5vrs61"))))
9493 (build-system haskell-build-system)
9494 (inputs
9495 `(("ghc-base-orphans" ,ghc-base-orphans)
9496 ("ghc-transformers-compat" ,ghc-transformers-compat)
9497 ("ghc-bifunctors" ,ghc-bifunctors)
9498 ("ghc-comonad" ,ghc-comonad)
9499 ("ghc-contravariant" ,ghc-contravariant)
9500 ("ghc-distributive" ,ghc-distributive)
9501 ("ghc-hashable" ,ghc-hashable)
9502 ("ghc-semigroups" ,ghc-semigroups)
9503 ("ghc-tagged" ,ghc-tagged)
9504 ("ghc-unordered-containers" ,ghc-unordered-containers)))
9505 (native-inputs
9506 `(("cabal-doctest" ,cabal-doctest)
9507 ("ghc-doctest" ,ghc-doctest)))
9508 (home-page "https://github.com/ekmett/semigroupoids")
9509 (synopsis "Semigroupoids operations for Haskell")
9510 (description "This library provides a wide array of (semi)groupoids and
9511 operations for working with them. A @code{Semigroupoid} is a @code{Category}
9512 without the requirement of identity arrows for every object in the category.
9513 A @code{Category} is any @code{Semigroupoid} for which the Yoneda lemma holds.
9514 Finally, to work with these weaker structures it is beneficial to have
9515 containers that can provide stronger guarantees about their contents, so
9516 versions of @code{Traversable} and @code{Foldable} that can be folded with
9517 just a @code{Semigroup} are added.")
9518 (license license:bsd-3)))
9519
9520 (define-public ghc-semigroups
9521 (package
9522 (name "ghc-semigroups")
9523 (version "0.18.5")
9524 (source
9525 (origin
9526 (method url-fetch)
9527 (uri (string-append
9528 "https://hackage.haskell.org/package/semigroups/semigroups-"
9529 version
9530 ".tar.gz"))
9531 (sha256
9532 (base32
9533 "17g29h62g1k51ghhvzkw72zksjgi6vs6bfipkj81pqw1dsprcamb"))))
9534 (build-system haskell-build-system)
9535 (inputs
9536 `(("ghc-nats" ,ghc-nats)
9537 ("ghc-tagged" ,ghc-tagged)
9538 ("ghc-unordered-containers" ,ghc-unordered-containers)
9539 ("ghc-hashable" ,ghc-hashable)))
9540 (home-page "https://github.com/ekmett/semigroups/")
9541 (synopsis "Semigroup operations for Haskell")
9542 (description "This package provides semigroups for Haskell. In
9543 mathematics, a semigroup is an algebraic structure consisting of a set
9544 together with an associative binary operation. A semigroup generalizes a
9545 monoid in that there might not exist an identity element. It
9546 also (originally) generalized a group (a monoid with all inverses) to a type
9547 where every element did not have to have an inverse, thus the name
9548 semigroup.")
9549 (license license:bsd-3)))
9550
9551 (define-public ghc-semigroups-bootstrap
9552 (package
9553 (inherit ghc-semigroups)
9554 (name "ghc-semigroups-bootstrap")
9555 (inputs
9556 `(("ghc-nats" ,ghc-nats-bootstrap)
9557 ("ghc-tagged" ,ghc-tagged)
9558 ("ghc-unordered-containers" ,ghc-unordered-containers-bootstrap)
9559 ("ghc-hashable" ,ghc-hashable-bootstrap)))
9560 (properties '((hidden? #t)))))
9561
9562 (define-public ghc-setenv
9563 (package
9564 (name "ghc-setenv")
9565 (version "0.1.1.3")
9566 (source
9567 (origin
9568 (method url-fetch)
9569 (uri (string-append
9570 "https://hackage.haskell.org/package/setenv/setenv-"
9571 version
9572 ".tar.gz"))
9573 (sha256
9574 (base32
9575 "0cnbgrvb9byyahb37zlqrj05rj25v190crgcw8wmlgf0mwwxyn73"))))
9576 (build-system haskell-build-system)
9577 (home-page "https://hackage.haskell.org/package/setenv")
9578 (synopsis "Library for setting environment variables")
9579 (description "This package provides a Haskell library for setting
9580 environment variables.")
9581 (license license:expat)))
9582
9583 (define-public ghc-setlocale
9584 (package
9585 (name "ghc-setlocale")
9586 (version "1.0.0.9")
9587 (source (origin
9588 (method url-fetch)
9589 (uri (string-append
9590 "https://hackage.haskell.org/package/setlocale-"
9591 version "/setlocale-" version ".tar.gz"))
9592 (sha256
9593 (base32
9594 "18b6xafspzxrmz5m9r9nzy3z053crqi59xc8n8aqd4gw0pvqdcrv"))))
9595 (build-system haskell-build-system)
9596 (home-page "https://hackage.haskell.org/package/setlocale")
9597 (synopsis "Haskell bindings to setlocale")
9598 (description "This package provides Haskell bindings to the
9599 @code{setlocale} C function.")
9600 (license license:bsd-3)))
9601
9602 (define-public ghc-shakespeare
9603 (package
9604 (name "ghc-shakespeare")
9605 (version "2.0.22")
9606 (source
9607 (origin
9608 (method url-fetch)
9609 (uri (string-append "https://hackage.haskell.org/package/"
9610 "shakespeare-" version "/"
9611 "shakespeare-" version ".tar.gz"))
9612 (sha256
9613 (base32
9614 "1mc1a0vv070gcawwcx6vzpj6gpfh1qnlqrndiyfic3p500y656vh"))))
9615 (build-system haskell-build-system)
9616 (inputs `(("ghc-aeson" ,ghc-aeson)
9617 ("ghc-blaze-markup" ,ghc-blaze-markup)
9618 ("ghc-blaze-html" ,ghc-blaze-html)
9619 ("ghc-exceptions" ,ghc-exceptions)
9620 ("ghc-vector" ,ghc-vector)
9621 ("ghc-unordered-containers" ,ghc-unordered-containers)
9622 ("ghc-scientific" ,ghc-scientific)))
9623 (native-inputs `(("ghc-hspec" ,ghc-hspec)
9624 ("ghc-hunit" ,ghc-hunit)
9625 ("hspec-discover" ,hspec-discover)))
9626 (home-page "https://www.yesodweb.com/book/shakespearean-templates")
9627 (synopsis "Family of type-safe template languages for Haskell")
9628 (description "This Haskell package provides a family of type-safe
9629 templates with simple variable interpolation. Shakespeare templates can
9630 be used inline with a quasi-quoter or in an external file and it
9631 interpolates variables according to the type being inserted.")
9632 (license license:expat)))
9633
9634 (define-public ghc-shelly
9635 (package
9636 (name "ghc-shelly")
9637 (version "1.8.1")
9638 (source
9639 (origin
9640 (method url-fetch)
9641 (uri (string-append
9642 "https://hackage.haskell.org/package/shelly/shelly-"
9643 version ".tar.gz"))
9644 (sha256
9645 (base32
9646 "023fbvbqs5gdwm30j5517gbdcc7fvz0md70dgwgpypkskj3i926y"))))
9647 (build-system haskell-build-system)
9648 (inputs
9649 `(("ghc-unix-compat" ,ghc-unix-compat)
9650 ("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
9651 ("ghc-system-fileio-bootstrap" ,ghc-system-fileio-bootstrap)
9652 ("ghc-monad-control" ,ghc-monad-control)
9653 ("ghc-lifted-base" ,ghc-lifted-base)
9654 ("ghc-lifted-async" ,ghc-lifted-async)
9655 ("ghc-exceptions" ,ghc-exceptions)
9656 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
9657 ("ghc-async" ,ghc-async)
9658 ("ghc-transformers-base" ,ghc-transformers-base)
9659 ("ghc-hunit" ,ghc-hunit)
9660 ("ghc-hspec" ,ghc-hspec)
9661 ("ghc-hspec-contrib" ,ghc-hspec-contrib)))
9662 (home-page "https://github.com/yesodweb/Shelly.hs")
9663 (synopsis "Shell-like (systems) programming in Haskell")
9664 (description
9665 "Shelly provides convenient systems programming in Haskell, similar in
9666 spirit to POSIX shells. Shelly is originally forked from the Shellish package.")
9667 (license license:bsd-3)))
9668
9669 (define-public ghc-silently
9670 (package
9671 (name "ghc-silently")
9672 (version "1.2.5.1")
9673 (source
9674 (origin
9675 (method url-fetch)
9676 (uri (string-append
9677 "https://hackage.haskell.org/package/silently/silently-"
9678 version
9679 ".tar.gz"))
9680 (sha256
9681 (base32
9682 "1lgs1gsr5dp0x21diqn4l03fxgai2kgdmj85gqp0iz3zykvbmjbz"))))
9683 (build-system haskell-build-system)
9684 (arguments `(#:tests? #f)) ;; circular dependency with nanospec
9685 ;; (inputs
9686 ;; `(("ghc-temporary" ,ghc-temporary)))
9687 (home-page "https://github.com/hspec/silently")
9688 (synopsis "Prevent writing to stdout")
9689 (description "This package provides functions to prevent or capture
9690 writing to stdout and other handles.")
9691 (license license:bsd-3)))
9692
9693 (define-public ghc-simple-reflect
9694 (package
9695 (name "ghc-simple-reflect")
9696 (version "0.3.3")
9697 (source
9698 (origin
9699 (method url-fetch)
9700 (uri (string-append
9701 "https://hackage.haskell.org/package/simple-reflect/simple-reflect-"
9702 version
9703 ".tar.gz"))
9704 (sha256
9705 (base32
9706 "0ayvrx5cm8n6db21jiyjmk5h93pw7cz1707hih09hlhk9jh5x0h7"))))
9707 (build-system haskell-build-system)
9708 (home-page
9709 "https://twanvl.nl/blog/haskell/simple-reflection-of-expressions")
9710 (synopsis
9711 "Simple reflection of expressions containing variables")
9712 (description
9713 "This package allows simple reflection of expressions containing
9714 variables. Reflection here means that a Haskell expression is turned into a
9715 string. The primary aim of this package is teaching and understanding; there
9716 are no options for manipulating the reflected expressions beyond showing
9717 them.")
9718 (license license:bsd-3)))
9719
9720 (define-public ghc-simple-sendfile
9721 (package
9722 (name "ghc-simple-sendfile")
9723 (version "0.2.30")
9724 (source
9725 (origin
9726 (method url-fetch)
9727 (uri (string-append "https://hackage.haskell.org/package/"
9728 "simple-sendfile-" version "/"
9729 "simple-sendfile-" version ".tar.gz"))
9730 (sha256
9731 (base32
9732 "112j0qfsjazf9wg1zywf7hjybgsiywk9wkm27yi8xzv27hmlv1mn"))))
9733 (build-system haskell-build-system)
9734 (inputs
9735 `(("ghc-conduit" ,ghc-conduit)
9736 ("ghc-conduit-extra" ,ghc-conduit-extra)
9737 ("ghc-network" ,ghc-network)
9738 ("ghc-resourcet" ,ghc-resourcet)))
9739 (native-inputs
9740 `(("ghc-hspec" ,ghc-hspec)
9741 ("hspec-discover" ,hspec-discover)))
9742 (home-page "https://github.com/kazu-yamamoto/simple-sendfile")
9743 (synopsis "Cross platform library for the sendfile system call")
9744 (description "This library tries to call minimum system calls which
9745 are the bottleneck of web servers.")
9746 (license license:bsd-3)))
9747
9748 (define-public ghc-skylighting-core
9749 (package
9750 (name "ghc-skylighting-core")
9751 (version "0.8.2.1")
9752 (source (origin
9753 (method url-fetch)
9754 (uri (string-append "https://hackage.haskell.org/package/"
9755 "skylighting-core/skylighting-core-"
9756 version ".tar.gz"))
9757 (sha256
9758 (base32
9759 "0hdchivb4af9w7v5v7lrwfwawd3kcwmpzk69m1vkkm3pis8lcr1s"))))
9760 (build-system haskell-build-system)
9761 (inputs
9762 `(("ghc-aeson" ,ghc-aeson)
9763 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
9764 ("ghc-attoparsec" ,ghc-attoparsec)
9765 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
9766 ("ghc-blaze-html" ,ghc-blaze-html)
9767 ("ghc-case-insensitive" ,ghc-case-insensitive)
9768 ("ghc-colour" ,ghc-colour)
9769 ("ghc-hxt" ,ghc-hxt)
9770 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
9771 ("ghc-safe" ,ghc-safe)
9772 ("ghc-utf8-string" ,ghc-utf8-string)))
9773 (native-inputs
9774 `(("ghc-diff" ,ghc-diff)
9775 ("ghc-hunit" ,ghc-hunit)
9776 ("ghc-pretty-show" ,ghc-pretty-show)
9777 ("ghc-quickcheck" ,ghc-quickcheck)
9778 ("ghc-tasty" ,ghc-tasty)
9779 ("ghc-tasty-golden" ,ghc-tasty-golden)
9780 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9781 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
9782 (home-page "https://github.com/jgm/skylighting")
9783 (synopsis "Syntax highlighting library")
9784 (description "Skylighting is a syntax highlighting library with support
9785 for over one hundred languages. It derives its tokenizers from XML syntax
9786 definitions used by KDE's @code{KSyntaxHighlighting} framework, so any syntax
9787 supported by that framework can be added. An optional command-line program is
9788 provided. Skylighting is intended to be the successor to highlighting-kate.")
9789 (license license:gpl2)))
9790
9791 (define-public ghc-skylighting
9792 (package
9793 (inherit ghc-skylighting-core)
9794 (name "ghc-skylighting")
9795 (version "0.8.2.1")
9796 (source (origin
9797 (method url-fetch)
9798 (uri (string-append "https://hackage.haskell.org/package/skylighting-"
9799 version "/skylighting-" version ".tar.gz"))
9800 (sha256
9801 (base32
9802 "1xls8ycad77m55ax4hp55k60h3pi5sm3m32hycbc8baixbgfx5xz"))))
9803 (inputs
9804 `(("ghc-skylighting-core" ,ghc-skylighting-core)
9805 ,@(package-inputs ghc-skylighting-core)))))
9806
9807 (define-public ghc-smallcheck
9808 (package
9809 (name "ghc-smallcheck")
9810 (version "1.1.5")
9811 (source
9812 (origin
9813 (method url-fetch)
9814 (uri (string-append
9815 "https://hackage.haskell.org/package/smallcheck/smallcheck-"
9816 version
9817 ".tar.gz"))
9818 (sha256
9819 (base32
9820 "195fj7w3v03d1y1nm2ylavzrwxjcdbq0lb6zsw1dwyx5jmwfc84h"))))
9821 (build-system haskell-build-system)
9822 (inputs
9823 `(("ghc-logict" ,ghc-logict)))
9824 (home-page
9825 "https://github.com/feuerbach/smallcheck")
9826 (synopsis "Property-based testing library")
9827 (description "SmallCheck is a testing library that allows to verify
9828 properties for all test cases up to some depth. The test cases are generated
9829 automatically by SmallCheck.")
9830 (license license:bsd-3)))
9831
9832 (define-public ghc-socks
9833 (package
9834 (name "ghc-socks")
9835 (version "0.6.1")
9836 (source (origin
9837 (method url-fetch)
9838 (uri (string-append "https://hackage.haskell.org/package/"
9839 "socks/socks-" version ".tar.gz"))
9840 (sha256
9841 (base32
9842 "0wvaxy3dkv97wrncjv1rxrmjr4014hgxz82kixvcwqdhidalfi3k"))))
9843 (build-system haskell-build-system)
9844 (inputs
9845 `(("ghc-cereal" ,ghc-cereal)
9846 ("ghc-basement" ,ghc-basement)
9847 ("ghc-network" ,ghc-network)))
9848 (home-page "https://github.com/vincenthz/hs-socks")
9849 (synopsis "SOCKS proxy (version 5) implementation")
9850 (description
9851 "This library provides a SOCKS proxy (version 5) implementation.")
9852 (license license:bsd-3)))
9853
9854 (define-public ghc-sop-core
9855 (package
9856 (name "ghc-sop-core")
9857 (version "0.4.0.0")
9858 (source
9859 (origin
9860 (method url-fetch)
9861 (uri (string-append "https://hackage.haskell.org/package/"
9862 "sop-core/sop-core-" version ".tar.gz"))
9863 (sha256
9864 (base32
9865 "07ci2mh8cbjvipb576rxsj3iyhkj5c5dnsns4xkdppp2p3pv10d3"))))
9866 (build-system haskell-build-system)
9867 (home-page "http://hackage.haskell.org/package/sop-core")
9868 (synopsis "True Sums of Products")
9869 (description "This package provides an implementation of
9870 @math{n}-ary sums and @math{n}-ary products. The module @code{Data.SOP}
9871 is the main module of this library and contains more detailed
9872 documentation. The main use case of this package is to serve as the
9873 core of @url{https://hackage.haskell.org/package/generics-sop,
9874 generics-sop}.")
9875 (license license:bsd-3)))
9876
9877 (define-public ghc-split
9878 (package
9879 (name "ghc-split")
9880 (version "0.2.3.3")
9881 (outputs '("out" "doc"))
9882 (source
9883 (origin
9884 (method url-fetch)
9885 (uri (string-append
9886 "https://hackage.haskell.org/package/split/split-"
9887 version
9888 ".tar.gz"))
9889 (sha256
9890 (base32
9891 "04qlmkcyklznl03gsjg95b4nzb6i96gdapqg60rny9szgi7ngk8x"))))
9892 (build-system haskell-build-system)
9893 (arguments
9894 `(#:cabal-revision
9895 ("2" "1c8bcssxq5rkxkixgms6w6x6lzf4n7cxk6cx6av1dp3lixdy9j34")))
9896 (native-inputs
9897 `(("ghc-quickcheck" ,ghc-quickcheck)))
9898 (home-page "https://hackage.haskell.org/package/split")
9899 (synopsis "Combinator library for splitting lists")
9900 (description "This package provides a collection of Haskell functions for
9901 splitting lists into parts, akin to the @code{split} function found in several
9902 mainstream languages.")
9903 (license license:bsd-3)))
9904
9905 (define-public ghc-splitmix
9906 (package
9907 (name "ghc-splitmix")
9908 (version "0.0.3")
9909 (source
9910 (origin
9911 (method url-fetch)
9912 (uri (string-append "https://hackage.haskell.org/package/"
9913 "splitmix/splitmix-" version ".tar.gz"))
9914 (sha256
9915 (base32
9916 "1k0amgkz7rvyz3lnw7m786ilnr1cibwhx9sc4qynq329gxan5r7w"))))
9917 (build-system haskell-build-system)
9918 (inputs
9919 `(("ghc-random" ,ghc-random)))
9920 (native-inputs
9921 `(("ghc-hunit" ,ghc-hunit)
9922 ("ghc-async" ,ghc-async)
9923 ("ghc-base-compat-batteries" ,ghc-base-compat-batteries)
9924 ("ghc-tf-random" ,ghc-tf-random)
9925 ("ghc-vector" ,ghc-vector)))
9926 (home-page "http://hackage.haskell.org/package/splitmix")
9927 (synopsis "Fast and splittable pseudorandom number generator")
9928 (description "This package provides a Pure Haskell implementation of the
9929 SplitMix pseudorandom number generator. SplitMix is a \"splittable\"
9930 pseudorandom number generator that is quite fast: 9 64-bit
9931 arithmetic/logical operations per 64 bits generated. SplitMix is tested
9932 with two standard statistical test suites (DieHarder and TestU01, this
9933 implementation only using the former) and it appears to be adequate for
9934 \"everyday\" use, such as Monte Carlo algorithms and randomized data
9935 structures where speed is important. In particular, it @strong{should not
9936 be used for cryptographic or security applications}, because generated
9937 sequences of pseudorandom values are too predictable (the mixing functions
9938 are easily inverted, and two successive outputs suffice to reconstruct the
9939 internal state).")
9940 (license license:bsd-3)))
9941
9942 (define-public ghc-splitmix-bootstrap
9943 (package
9944 (inherit ghc-splitmix)
9945 (name "ghc-splitmix-bootstrap")
9946 (arguments `(#:tests? #f))
9947 (native-inputs '())
9948 (properties '((hidden? #t)))))
9949
9950 (define-public ghc-statevar
9951 (package
9952 (name "ghc-statevar")
9953 (version "1.2")
9954 (source
9955 (origin
9956 (method url-fetch)
9957 (uri (string-append
9958 "https://hackage.haskell.org/package/StateVar/StateVar-"
9959 version
9960 ".tar.gz"))
9961 (sha256
9962 (base32
9963 "12sz6zkc9j5z3lwrjvljrkfxa5vhwnir5wsarigz2f6d3w13dh5g"))))
9964 (build-system haskell-build-system)
9965 (home-page "https://hackage.haskell.org/package/StateVar")
9966 (synopsis "State variables for Haskell")
9967 (description "This package provides state variables, which are references
9968 in the @code{IO} monad, like @code{IORef}s or parts of the OpenGL state.")
9969 (license license:bsd-3)))
9970
9971 (define-public ghc-statistics
9972 (package
9973 (name "ghc-statistics")
9974 (version "0.15.1.1")
9975 (source
9976 (origin
9977 (method url-fetch)
9978 (uri (string-append "https://hackage.haskell.org/package/"
9979 "statistics-" version "/"
9980 "statistics-" version ".tar.gz"))
9981 (sha256
9982 (base32
9983 "015rn74f1glii26j4b2fh1fc63xvxzrh2xckiancz48kc8jdzabj"))))
9984 (build-system haskell-build-system)
9985 (arguments
9986 '(;; Two tests fail: "Discrete CDF is OK" and "Quantile is CDF inverse".
9987 #:tests? #f))
9988 (inputs
9989 `(("ghc-aeson" ,ghc-aeson)
9990 ("ghc-async" ,ghc-async)
9991 ("ghc-base-orphans" ,ghc-base-orphans)
9992 ("ghc-dense-linear-algebra" ,ghc-dense-linear-algebra)
9993 ("ghc-math-functions" ,ghc-math-functions)
9994 ("ghc-monad-par" ,ghc-monad-par)
9995 ("ghc-mwc-random" ,ghc-mwc-random)
9996 ("ghc-primitive" ,ghc-primitive)
9997 ("ghc-vector" ,ghc-vector)
9998 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
9999 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)
10000 ("ghc-vector-binary-instances" ,ghc-vector-binary-instances)))
10001 (native-inputs
10002 `(("ghc-hunit" ,ghc-hunit)
10003 ("ghc-quickcheck" ,ghc-quickcheck)
10004 ("ghc-ieee754" ,ghc-ieee754)
10005 ("ghc-test-framework" ,ghc-test-framework)
10006 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
10007 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
10008 (home-page "https://github.com/bos/mwc-random")
10009 (synopsis "Haskell library of statistical types, data, and functions")
10010 (description "This library provides a number of common functions
10011 and types useful in statistics. We focus on high performance, numerical
10012 robustness, and use of good algorithms. Where possible, we provide references
10013 to the statistical literature.
10014
10015 The library's facilities can be divided into four broad categories:
10016
10017 @itemize
10018 @item Working with widely used discrete and continuous probability
10019 distributions. (There are dozens of exotic distributions in use; we focus
10020 on the most common.)
10021
10022 @item Computing with sample data: quantile estimation, kernel density
10023 estimation, histograms, bootstrap methods, significance testing,
10024 and regression and autocorrelation analysis.
10025
10026 @item Random variate generation under several different distributions.
10027
10028 @item Common statistical tests for significant differences between samples.
10029 @end itemize")
10030 (license license:bsd-2)))
10031
10032 (define-public ghc-stm-chans
10033 (package
10034 (name "ghc-stm-chans")
10035 (version "3.0.0.4")
10036 (source
10037 (origin
10038 (method url-fetch)
10039 (uri (string-append "https://hackage.haskell.org/package/"
10040 "stm-chans-" version "/"
10041 "stm-chans-" version ".tar.gz"))
10042 (sha256
10043 (base32
10044 "0f27sp09yha43xk9q55sc185jyjs5h7gq2dhsyx6bm9kz9dzqi13"))))
10045 (build-system haskell-build-system)
10046 (home-page "https://hackage.haskell.org/package/stm-chans")
10047 (synopsis "Additional types of channels for ghc-stm")
10048 (description "This Haskell package offers a collection of channel types,
10049 similar to @code{Control.Concurrent.STM.@{TChan,TQueue@}} but with additional
10050 features.")
10051 (license license:bsd-3)))
10052
10053 (define-public ghc-stm-conduit
10054 (package
10055 (name "ghc-stm-conduit")
10056 (version "4.0.1")
10057 (source
10058 (origin
10059 (method url-fetch)
10060 (uri (string-append "https://hackage.haskell.org/package/stm-conduit/"
10061 "stm-conduit-" version ".tar.gz"))
10062 (sha256
10063 (base32
10064 "0hhlxvpp7mah8dcvkknh6skx44jfk3092zz2w52zlr255bkmn3p8"))))
10065 (build-system haskell-build-system)
10066 (inputs
10067 `(("ghc-stm-chans" ,ghc-stm-chans)
10068 ("ghc-cereal" ,ghc-cereal)
10069 ("ghc-cereal-conduit" ,ghc-cereal-conduit)
10070 ("ghc-conduit" ,ghc-conduit)
10071 ("ghc-conduit-extra" ,ghc-conduit-extra)
10072 ("ghc-exceptions" ,ghc-exceptions)
10073 ("ghc-resourcet" ,ghc-resourcet)
10074 ("ghc-async" ,ghc-async)
10075 ("ghc-monad-loops" ,ghc-monad-loops)
10076 ("ghc-unliftio" ,ghc-unliftio)))
10077 (native-inputs
10078 `(("ghc-doctest" ,ghc-doctest)
10079 ("ghc-quickcheck" ,ghc-quickcheck)
10080 ("ghc-hunit" ,ghc-hunit)
10081 ("ghc-test-framework" ,ghc-test-framework)
10082 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
10083 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
10084 (home-page "https://github.com/cgaebel/stm-conduit")
10085 (synopsis "Introduces conduits to channels and promotes using conduits concurrently")
10086 (description
10087 "This package provides two simple conduit wrappers around STM channels: a
10088 source and a sink.")
10089 (license license:bsd-3)))
10090
10091 (define-public ghc-stmonadtrans
10092 (package
10093 (name "ghc-stmonadtrans")
10094 (version "0.4.3")
10095 (source
10096 (origin
10097 (method url-fetch)
10098 (uri (string-append "https://hackage.haskell.org/package/STMonadTrans"
10099 "/STMonadTrans-" version ".tar.gz"))
10100 (sha256
10101 (base32 "1nr26fnmi5fdjc6d00w13kjhmfyvb5b837d0006w4dj0yxndaksp"))))
10102 (build-system haskell-build-system)
10103 (home-page "https://hackage.haskell.org/package/STMonadTrans")
10104 (synopsis "Monad transformer version of the ST monad")
10105 (description
10106 "This package provides a monad transformer version of the @code{ST} monad
10107 for strict state threads.")
10108 (license license:bsd-3)))
10109
10110 (define-public ghc-storable-complex
10111 (package
10112 (name "ghc-storable-complex")
10113 (version "0.2.3.0")
10114 (source
10115 (origin
10116 (method url-fetch)
10117 (uri (string-append
10118 "https://hackage.haskell.org/package/storable-complex/storable-complex-"
10119 version ".tar.gz"))
10120 (sha256
10121 (base32 "0fnwbfmd5vsaaqvf9182qdcjrzcfjd1zhdyvjwzifbwvn6r9kx4s"))))
10122 (build-system haskell-build-system)
10123 (inputs
10124 `(("ghc-base-orphans" ,ghc-base-orphans)))
10125 (home-page "https://github.com/cartazio/storable-complex")
10126 (synopsis "Haskell Storable instance for Complex")
10127 (description "This package provides a Haskell library including a
10128 Storable instance for Complex which is binary compatible with C99, C++
10129 and Fortran complex data types.")
10130 (license license:bsd-3)))
10131
10132 (define-public ghc-storable-record
10133 (package
10134 (name "ghc-storable-record")
10135 (version "0.0.4")
10136 (source
10137 (origin
10138 (method url-fetch)
10139 (uri
10140 (string-append
10141 "https://hackage.haskell.org/package/storable-record/"
10142 "storable-record-" version ".tar.gz"))
10143 (sha256
10144 (base32
10145 "0hjs1km0fc9ch0i1rbycxia5w3939hk4p4md73ikgg4aipqb5zyf"))))
10146 (build-system haskell-build-system)
10147 (inputs
10148 `(("ghc-semigroups" ,ghc-semigroups)
10149 ("ghc-utility-ht" ,ghc-utility-ht)
10150 ("ghc-storablevector" ,ghc-storablevector)
10151 ("ghc-timeit" ,ghc-timeit)))
10152 (home-page "https://hackage.haskell.org/package/storable-record")
10153 (synopsis "Elegant definition of Storable instances for records")
10154 (description "With this package you can build a Storable instance of
10155 a record type from Storable instances of its elements in an elegant way.
10156 It does not do any magic, just a bit arithmetic to compute the right
10157 offsets, that would be otherwise done manually or by a preprocessor like
10158 C2HS. There is no guarantee that the generated memory layout is
10159 compatible with that of a corresponding C struct. However, the module
10160 generates the smallest layout that is possible with respect to the
10161 alignment of the record elements.")
10162 (license license:bsd-3)))
10163
10164 (define-public ghc-storable-tuple
10165 (package
10166 (name "ghc-storable-tuple")
10167 (version "0.0.3.3")
10168 (source
10169 (origin
10170 (method url-fetch)
10171 (uri
10172 (string-append
10173 "https://hackage.haskell.org/package/storable-tuple/"
10174 "storable-tuple-" version ".tar.gz"))
10175 (sha256
10176 (base32
10177 "0dfzhxgkn1l6ls7zh6iifhyvhm8l47n40z0ar23c6ibsa94w1ynw"))))
10178 (build-system haskell-build-system)
10179 (inputs
10180 `(("ghc-storable-record" ,ghc-storable-record)
10181 ("ghc-utility-ht" ,ghc-utility-ht)
10182 ("ghc-base-orphans" ,ghc-base-orphans)))
10183 (home-page "https://hackage.haskell.org/package/storable-tuple")
10184 (synopsis "Storable instance for pairs and triples")
10185 (description "This package provides a Storable instance for pairs
10186 and triples which should be binary compatible with C99 and C++. The
10187 only purpose of this package is to provide a standard location for this
10188 instance so that other packages needing this instance can play nicely
10189 together.")
10190 (license license:bsd-3)))
10191
10192 (define-public ghc-storablevector
10193 (package
10194 (name "ghc-storablevector")
10195 (version "0.2.13")
10196 (source
10197 (origin
10198 (method url-fetch)
10199 (uri
10200 (string-append
10201 "https://hackage.haskell.org/package/storablevector/storablevector-"
10202 version ".tar.gz"))
10203 (sha256
10204 (base32
10205 "1zmr738vwnhnyxbikayqnaz31ilv2qlmscp6iqgl7adcfbal4dzq"))))
10206 (build-system haskell-build-system)
10207 (inputs
10208 `(("ghc-non-negative" ,ghc-non-negative)
10209 ("ghc-utility-ht" ,ghc-utility-ht)
10210 ("ghc-semigroups" ,ghc-semigroups)
10211 ("ghc-unsafe" ,ghc-unsafe)
10212 ("ghc-quickcheck" ,ghc-quickcheck)
10213 ("ghc-syb" ,ghc-syb)))
10214 (home-page "https://www.haskell.org/haskellwiki/Storable_Vector")
10215 (synopsis "Fast, packed, strict storable arrays with a list interface")
10216 (description "This library provides fast, packed, strict storable
10217 arrays with a list interface, a chunky lazy list interface with variable
10218 chunk size and an interface for write access via the ST monad. This is
10219 much like bytestring and binary but can be used for every
10220 @code{Foreign.Storable.Storable} type. See also
10221 @url{http://hackage.haskell.org/package/vector}, a library with a
10222 similar intention.
10223
10224 This library does not do advanced fusion optimization, since especially
10225 for lazy vectors this would either be incorrect or not applicable. See
10226 @url{http://hackage.haskell.org/package/storablevector-streamfusion} for
10227 a library that provides fusion with lazy lists.")
10228 (license license:bsd-3)))
10229
10230 (define-public ghc-streaming-commons
10231 (package
10232 (name "ghc-streaming-commons")
10233 (version "0.2.1.1")
10234 (source
10235 (origin
10236 (method url-fetch)
10237 (uri (string-append "https://hackage.haskell.org/package/"
10238 "streaming-commons/streaming-commons-"
10239 version ".tar.gz"))
10240 (sha256
10241 (base32
10242 "1lmyx3wkjsayhy5yilzvy0kf8qwmycwlk26r1d8f3cxbfhkr7s52"))))
10243 (build-system haskell-build-system)
10244 (inputs
10245 `(("ghc-async" ,ghc-async)
10246 ("ghc-blaze-builder" ,ghc-blaze-builder)
10247 ("ghc-network" ,ghc-network)
10248 ("ghc-random" ,ghc-random)
10249 ("ghc-zlib" ,ghc-zlib)))
10250 (native-inputs
10251 `(("ghc-quickcheck" ,ghc-quickcheck)
10252 ("ghc-hspec" ,ghc-hspec)
10253 ("hspec-discover" ,hspec-discover)))
10254 (home-page "https://hackage.haskell.org/package/streaming-commons")
10255 (synopsis "Conduit and pipes needed by some streaming data libraries")
10256 (description "This package provides low-dependency functionality commonly
10257 needed by various Haskell streaming data libraries, such as @code{conduit} and
10258 @code{pipe}s.")
10259 (license license:expat)))
10260
10261 (define-public ghc-strict
10262 (package
10263 (name "ghc-strict")
10264 (version "0.3.2")
10265 (source
10266 (origin
10267 (method url-fetch)
10268 (uri (string-append "https://hackage.haskell.org/package/strict/strict-"
10269 version ".tar.gz"))
10270 (sha256
10271 (base32 "08cjajqz9h47fkq98mlf3rc8n5ghbmnmgn8pfsl3bdldjdkmmlrc"))))
10272 (build-system haskell-build-system)
10273 (home-page "https://hackage.haskell.org/package/strict")
10274 (synopsis "Strict data types and String IO")
10275 (description
10276 "This package provides strict versions of some standard Haskell data
10277 types, such as pairs, @code{Maybe} and @code{Either}. It also contains strict
10278 IO operations.")
10279 (license license:bsd-3)))
10280
10281 (define-public ghc-stringbuilder
10282 (package
10283 (name "ghc-stringbuilder")
10284 (version "0.5.1")
10285 (source
10286 (origin
10287 (method url-fetch)
10288 (uri (string-append
10289 "https://hackage.haskell.org/package/stringbuilder/stringbuilder-"
10290 version
10291 ".tar.gz"))
10292 (sha256
10293 (base32
10294 "1fh3csx1wcssn8xyvl4ip4aprh9l4qyz2kk8mgjvqvc0vb2bsy6q"))))
10295 (build-system haskell-build-system)
10296 (arguments `(#:tests? #f)) ; FIXME: circular dependencies with tests
10297 ; enabled
10298 (home-page "https://hackage.haskell.org/package/stringbuilder")
10299 (synopsis "Writer monad for multi-line string literals")
10300 (description "This package provides a writer monad for multi-line string
10301 literals.")
10302 (license license:expat)))
10303
10304 (define-public ghc-string-qq
10305 (package
10306 (name "ghc-string-qq")
10307 (version "0.0.4")
10308 (source
10309 (origin
10310 (method url-fetch)
10311 (uri (string-append
10312 "https://hackage.haskell.org/package/string-qq/string-qq-"
10313 version
10314 ".tar.gz"))
10315 (sha256
10316 (base32
10317 "0wfxkw4x6j6jq9nd82k83g2k3hskpsvk1dp4cpkshvjr4wg9qny8"))))
10318 (build-system haskell-build-system)
10319 (native-inputs
10320 `(("ghc-hunit" ,ghc-hunit)))
10321 (home-page "http://hackage.haskell.org/package/string-qq")
10322 (synopsis
10323 "QuasiQuoter for non-interpolated strings, texts and bytestrings.")
10324 (description
10325 "This package provides a quasiquoter for non-interpolated strings, texts
10326 and bytestrings.")
10327 (license license:public-domain)))
10328
10329 (define-public ghc-stringsearch
10330 (package
10331 (name "ghc-stringsearch")
10332 (version "0.3.6.6")
10333 (source
10334 (origin
10335 (method url-fetch)
10336 (uri (string-append
10337 "https://hackage.haskell.org/package/stringsearch/stringsearch-"
10338 version
10339 ".tar.gz"))
10340 (sha256
10341 (base32
10342 "0jpy9xjcjdbpi3wk6mg7xwd7wfi2mma70p97v1ij5i8bj9qijpr9"))))
10343 (build-system haskell-build-system)
10344 (arguments
10345 `(#:cabal-revision
10346 ("1" "0z5pz5dccapz9k39r2zmf056m0x2m2lj3jahhnw3mfxlmps07378")))
10347 (home-page "https://bitbucket.org/dafis/stringsearch")
10348 (synopsis "Fast searching, splitting and replacing of ByteStrings")
10349 (description "This package provides several functions to quickly search
10350 for substrings in strict or lazy @code{ByteStrings}. It also provides
10351 functions for breaking or splitting on substrings and replacing all
10352 occurrences of a substring (the first in case of overlaps) with another.")
10353 (license license:bsd-3)))
10354
10355 (define-public ghc-stylish-haskell
10356 (package
10357 (name "ghc-stylish-haskell")
10358 (version "0.9.2.1")
10359 (source
10360 (origin
10361 (method url-fetch)
10362 (uri (string-append
10363 "mirror://hackage/package/stylish-haskell/stylish-haskell-"
10364 version
10365 ".tar.gz"))
10366 (sha256
10367 (base32
10368 "1ls11fdx6snvfx8yykpidz142zzxwi5bazl49hgfqlwx50rqcp7w"))))
10369 (build-system haskell-build-system)
10370 (inputs
10371 `(("ghc-aeson" ,ghc-aeson)
10372 ("ghc-file-embed" ,ghc-file-embed)
10373 ("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
10374 ("ghc-semigroups" ,ghc-semigroups)
10375 ("ghc-syb" ,ghc-syb)
10376 ("ghc-yaml" ,ghc-yaml)
10377 ("ghc-strict" ,ghc-strict)
10378 ("ghc-optparse-applicative"
10379 ,ghc-optparse-applicative)))
10380 (native-inputs
10381 `(("ghc-hunit" ,ghc-hunit)
10382 ("ghc-test-framework" ,ghc-test-framework)
10383 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
10384 (home-page "https://github.com/jaspervdj/stylish-haskell")
10385 (synopsis "Haskell code prettifier")
10386 (description "Stylish-haskell is a Haskell code prettifier. The goal is
10387 not to format all of the code in a file, to avoid \"getting in the way\".
10388 However, this tool can e.g. clean up import statements and help doing various
10389 tasks that get tedious very quickly. It can
10390 @itemize
10391 @item
10392 Align and sort @code{import} statements
10393 @item
10394 Group and wrap @code{{-# LANGUAGE #-}} pragmas, remove (some) redundant
10395 pragmas
10396 @item
10397 Remove trailing whitespaces
10398 @item
10399 Align branches in @code{case} and fields in records
10400 @item
10401 Convert line endings (customisable)
10402 @item
10403 Replace tabs by four spaces (turned off by default)
10404 @item
10405 Replace some ASCII sequences by their Unicode equivalent (turned off by
10406 default)
10407 @end itemize")
10408 (license license:bsd-3)))
10409
10410 (define-public ghc-syb
10411 (package
10412 (name "ghc-syb")
10413 (version "0.7.1")
10414 (outputs '("out" "doc"))
10415 (source
10416 (origin
10417 (method url-fetch)
10418 (uri (string-append
10419 "https://hackage.haskell.org/package/syb/syb-"
10420 version
10421 ".tar.gz"))
10422 (sha256
10423 (base32
10424 "0077vxzyi9ppbphi2ialac3p376k49qly1kskdgf57wdwix9qjp0"))))
10425 (build-system haskell-build-system)
10426 (inputs
10427 `(("ghc-hunit" ,ghc-hunit)))
10428 (home-page
10429 "http://www.cs.uu.nl/wiki/GenericProgramming/SYB")
10430 (synopsis "Scrap Your Boilerplate")
10431 (description "This package contains the generics system described in the
10432 /Scrap Your Boilerplate/ papers (see
10433 @uref{http://www.cs.uu.nl/wiki/GenericProgramming/SYB, the website}). It
10434 defines the @code{Data} class of types permitting folding and unfolding of
10435 constructor applications, instances of this class for primitive types, and a
10436 variety of traversals.")
10437 (license license:bsd-3)))
10438
10439 (define-public ghc-system-fileio
10440 (package
10441 (name "ghc-system-fileio")
10442 (version "0.3.16.4")
10443 (source
10444 (origin
10445 (method url-fetch)
10446 (uri (string-append
10447 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
10448 version ".tar.gz"))
10449 (sha256
10450 (base32
10451 "1iy6g1f35gzyj12g9mdiw4zf75mmxpv1l8cyaldgyscsl648pr9l"))))
10452 (build-system haskell-build-system)
10453 (arguments
10454 `(#:phases
10455 (modify-phases %standard-phases
10456 (add-before 'configure 'update-constraints
10457 (lambda _
10458 (substitute* "system-fileio.cabal"
10459 (("chell >= 0\\.4 && < 0\\.5") "chell >= 0.4"))
10460 #t)))))
10461 (inputs
10462 `(("ghc-system-filepath" ,ghc-system-filepath)
10463 ("ghc-chell" ,ghc-chell)
10464 ("ghc-temporary" ,ghc-temporary)))
10465 (home-page "https://github.com/fpco/haskell-filesystem")
10466 (synopsis "Consistent file system interaction across GHC versions")
10467 (description
10468 "This is a small wrapper around the directory, unix, and Win32 packages,
10469 for use with system-filepath. It provides a consistent API to the various
10470 versions of these packages distributed with different versions of GHC.
10471 In particular, this library supports working with POSIX files that have paths
10472 which can't be decoded in the current locale encoding.")
10473 (license license:expat)))
10474
10475 ;; See ghc-system-filepath-bootstrap. In addition this package depends on
10476 ;; ghc-system-filepath.
10477 (define ghc-system-fileio-bootstrap
10478 (package
10479 (name "ghc-system-fileio-bootstrap")
10480 (version "0.3.16.3")
10481 (source
10482 (origin
10483 (method url-fetch)
10484 (uri (string-append
10485 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
10486 version ".tar.gz"))
10487 (sha256
10488 (base32
10489 "1484hcl27s2qcby8ws5djj11q9bz68bspcifz9h5gii2ndy70x9i"))))
10490 (build-system haskell-build-system)
10491 (arguments
10492 `(#:tests? #f))
10493 (inputs
10494 `(("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
10495 ("ghc-temporary" ,ghc-temporary)))
10496 (home-page "https://github.com/fpco/haskell-filesystem")
10497 (synopsis "Consistent file system interaction across GHC versions")
10498 (description
10499 "This is a small wrapper around the directory, unix, and Win32 packages,
10500 for use with system-filepath. It provides a consistent API to the various
10501 versions of these packages distributed with different versions of GHC.
10502 In particular, this library supports working with POSIX files that have paths
10503 which can't be decoded in the current locale encoding.")
10504 (license license:expat)))
10505
10506
10507 (define-public ghc-system-filepath
10508 (package
10509 (name "ghc-system-filepath")
10510 (version "0.4.14")
10511 (source
10512 (origin
10513 (method url-fetch)
10514 (uri (string-append
10515 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
10516 version ".tar.gz"))
10517 (sha256
10518 (base32
10519 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
10520 (build-system haskell-build-system)
10521 ;; FIXME: One of the tests fails:
10522 ;; [ FAIL ] tests.validity.posix
10523 ;; note: seed=7310214548328823169
10524 ;; *** Failed! Falsifiable (after 24 tests):
10525 ;; 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"
10526 (arguments `(#:tests? #f))
10527 (inputs
10528 `(("ghc-chell" ,ghc-chell)
10529 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)
10530 ("ghc-quickcheck" ,ghc-quickcheck)))
10531 (home-page "https://github.com/fpco/haskell-filesystem")
10532 (synopsis "High-level, byte-based file and directory path manipulations")
10533 (description
10534 "Provides a FilePath datatype and utility functions for operating on it.
10535 Unlike the filepath package, this package does not simply reuse String,
10536 increasing type safety.")
10537 (license license:expat)))
10538
10539 ;; Ghc-shelly depends on ghc-system-filepath and ghc-system-fileio, who in turn depend on
10540 ;; ghc-chell and ghc-chell-quickcheck for the test phase. Ghc-chell depends on ghc-options
10541 ;; which depends on ghc-chell and ghc-chell-quickcheck.
10542 ;; Therefore we bootstrap it with tests disabled.
10543 (define ghc-system-filepath-bootstrap
10544 (package
10545 (name "ghc-system-filepath-bootstrap")
10546 (version "0.4.14")
10547 (source
10548 (origin
10549 (method url-fetch)
10550 (uri (string-append
10551 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
10552 version ".tar.gz"))
10553 (sha256
10554 (base32
10555 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
10556 (build-system haskell-build-system)
10557 (arguments
10558 `(#:tests? #f))
10559 (inputs
10560 `(("ghc-quickcheck" ,ghc-quickcheck)))
10561 (home-page "https://github.com/fpco/haskell-filesystem")
10562 (synopsis "High-level, byte-based file and directory path manipulations")
10563 (description
10564 "Provides a FilePath datatype and utility functions for operating on it.
10565 Unlike the filepath package, this package does not simply reuse String,
10566 increasing type safety.")
10567 (license license:expat)))
10568
10569
10570 (define-public ghc-tagged
10571 (package
10572 (name "ghc-tagged")
10573 (version "0.8.6")
10574 (source
10575 (origin
10576 (method url-fetch)
10577 (uri (string-append
10578 "https://hackage.haskell.org/package/tagged/tagged-"
10579 version
10580 ".tar.gz"))
10581 (sha256
10582 (base32
10583 "1pciqzxf9ncv954v4r527xkxkn7r5hcr13mfw5dg1xjci3qdw5md"))))
10584 (build-system haskell-build-system)
10585 (arguments
10586 `(#:cabal-revision
10587 ("1" "070xwfw7y81hd63il76dmwbdl9ca1rd07c54zynfx6vpr4wyx4vh")))
10588 (inputs
10589 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
10590 (home-page "https://hackage.haskell.org/package/tagged")
10591 (synopsis "Haskell phantom types to avoid passing dummy arguments")
10592 (description "This library provides phantom types for Haskell 98, to avoid
10593 having to unsafely pass dummy arguments.")
10594 (license license:bsd-3)))
10595
10596 (define-public ghc-tar
10597 (package
10598 (name "ghc-tar")
10599 (version "0.5.1.1")
10600 (source
10601 (origin
10602 (method url-fetch)
10603 (uri (string-append
10604 "https://hackage.haskell.org/package/tar/tar-"
10605 version ".tar.gz"))
10606 (sha256
10607 (base32
10608 "1ppim7cgmn7ng8zbdrwkxhhizc30h15h1c9cdlzamc5jcagl915k"))))
10609 (build-system haskell-build-system)
10610 ;; FIXME: 2/24 tests fail.
10611 (arguments `(#:tests? #f))
10612 (inputs
10613 `(("ghc-bytestring-handle" ,ghc-bytestring-handle)
10614 ("ghc-quickcheck" ,ghc-quickcheck)
10615 ("ghc-tasty" ,ghc-tasty)
10616 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
10617 (home-page "https://hackage.haskell.org/package/tar")
10618 (synopsis "Reading, writing and manipulating \".tar\" archive files")
10619 (description
10620 "This library is for working with \\\"@.tar@\\\" archive files.
10621 It can read and write a range of common variations of the tar archive format
10622 including V7, POSIX USTAR and GNU formats. It provides support for packing and
10623 unpacking portable archives. This makes it suitable for distribution but not
10624 backup because details like file ownership and exact permissions are not
10625 preserved. It also provides features for random access to archive content using
10626 an index.")
10627 (license license:bsd-3)))
10628
10629 (define-public ghc-temporary
10630 (package
10631 (name "ghc-temporary")
10632 (version "1.3")
10633 (source
10634 (origin
10635 (method url-fetch)
10636 (uri (string-append
10637 "https://hackage.haskell.org/package/temporary/temporary-"
10638 version
10639 ".tar.gz"))
10640 (sha256
10641 (base32
10642 "144qhwfwg37l3k313raf4ssiz16jbgwlm1nf4flgqpsbd69jji4c"))))
10643 (build-system haskell-build-system)
10644 (inputs
10645 `(("ghc-exceptions" ,ghc-exceptions)
10646 ("ghc-random" ,ghc-random)))
10647 (native-inputs
10648 `(("ghc-base-compat" ,ghc-base-compat)
10649 ("ghc-tasty" ,ghc-tasty)
10650 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
10651 (home-page "https://www.github.com/batterseapower/temporary")
10652 (synopsis "Temporary file and directory support")
10653 (description "The functions for creating temporary files and directories
10654 in the Haskelll base library are quite limited. This library just repackages
10655 the Cabal implementations of its own temporary file and folder functions so
10656 that you can use them without linking against Cabal or depending on it being
10657 installed.")
10658 (license license:bsd-3)))
10659
10660 (define-public ghc-temporary-rc
10661 (package
10662 (name "ghc-temporary-rc")
10663 (version "1.2.0.3")
10664 (source
10665 (origin
10666 (method url-fetch)
10667 (uri (string-append
10668 "https://hackage.haskell.org/package/temporary-rc/temporary-rc-"
10669 version
10670 ".tar.gz"))
10671 (sha256
10672 (base32
10673 "1nqih0qks439k3pr5kmbbc8rjdw730slrxlflqb27fbxbzb8skqs"))))
10674 (build-system haskell-build-system)
10675 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
10676 (home-page
10677 "https://www.github.com/feuerbach/temporary")
10678 (synopsis
10679 "Portable temporary file and directory support")
10680 (description
10681 "The functions for creating temporary files and directories in the base
10682 library are quite limited. The unixutils package contains some good ones, but
10683 they aren't portable to Windows. This library just repackages the Cabal
10684 implementations of its own temporary file and folder functions so that you can
10685 use them without linking against Cabal or depending on it being installed.
10686 This is a better maintained fork of the \"temporary\" package.")
10687 (license license:bsd-3)))
10688
10689 (define-public ghc-terminal-size
10690 (package
10691 (name "ghc-terminal-size")
10692 (version "0.3.2.1")
10693 (source (origin
10694 (method url-fetch)
10695 (uri (string-append
10696 "https://hackage.haskell.org/package/terminal-size/"
10697 "terminal-size-" version ".tar.gz"))
10698 (sha256
10699 (base32
10700 "0n4nvj3dbj9gxfnprgish45asn9z4dipv9j98s8i7g2n8yb3xhmm"))))
10701 (build-system haskell-build-system)
10702 (home-page "https://hackage.haskell.org/package/terminal-size")
10703 (synopsis "Get terminal window height and width")
10704 (description "Get terminal window height and width without ncurses
10705 dependency.")
10706 (license license:bsd-3)))
10707
10708 (define-public ghc-texmath
10709 (package
10710 (name "ghc-texmath")
10711 (version "0.11.3")
10712 (source (origin
10713 (method url-fetch)
10714 (uri (string-append "https://hackage.haskell.org/package/"
10715 "texmath/texmath-" version ".tar.gz"))
10716 (sha256
10717 (base32
10718 "03rpxbp43bjs62mmw4hv4785n6f6nbf8kj2y9mma5nzk6i2xs09f"))))
10719 (build-system haskell-build-system)
10720 (inputs
10721 `(("ghc-syb" ,ghc-syb)
10722 ("ghc-network-uri" ,ghc-network-uri)
10723 ("ghc-split" ,ghc-split)
10724 ("ghc-temporary" ,ghc-temporary)
10725 ("ghc-utf8-string" ,ghc-utf8-string)
10726 ("ghc-xml" ,ghc-xml)
10727 ("ghc-pandoc-types" ,ghc-pandoc-types)))
10728 (home-page "https://github.com/jgm/texmath")
10729 (synopsis "Conversion between formats used to represent mathematics")
10730 (description
10731 "The texmath library provides functions to read and write TeX math,
10732 presentation MathML, and OMML (Office Math Markup Language, used in Microsoft
10733 Office). Support is also included for converting math formats to pandoc's
10734 native format (allowing conversion, via pandoc, to a variety of different
10735 markup formats). The TeX reader supports basic LaTeX and AMS extensions, and
10736 it can parse and apply LaTeX macros.")
10737 (license license:gpl2+)))
10738
10739 (define-public ghc-text-binary
10740 (package
10741 (name "ghc-text-binary")
10742 (version "0.2.1.1")
10743 (source
10744 (origin
10745 (method url-fetch)
10746 (uri (string-append "https://hackage.haskell.org/package/"
10747 "text-binary/text-binary-"
10748 version ".tar.gz"))
10749 (sha256
10750 (base32
10751 "18gl10pwg3qwsk0za3c70j4n6a9129wwf1b7d3a461h816yv55xn"))))
10752 (build-system haskell-build-system)
10753 (home-page "https://github.com/kawu/text-binary")
10754 (synopsis "Binary instances for text types")
10755 (description
10756 "This package provides a compatibility layer providing @code{Binary}
10757 instances for strict and lazy text types for versions older than 1.2.1 of the
10758 text package.")
10759 (license license:bsd-2)))
10760
10761 (define-public ghc-text-metrics
10762 (package
10763 (name "ghc-text-metrics")
10764 (version "0.3.0")
10765 (source
10766 (origin
10767 (method url-fetch)
10768 (uri (string-append "https://hackage.haskell.org/package/"
10769 "text-metrics/text-metrics-" version ".tar.gz"))
10770 (sha256
10771 (base32
10772 "18mzxwkdvjp31r720ai9bnxr638qq8x3a2v408bz0d8f0rsayx1q"))))
10773 (build-system haskell-build-system)
10774 (inputs
10775 `(("ghc-vector" ,ghc-vector)))
10776 (native-inputs
10777 `(("ghc-quickcheck" ,ghc-quickcheck)
10778 ("ghc-hspec" ,ghc-hspec)))
10779 (arguments
10780 `(#:cabal-revision
10781 ("4" "017drxq9x56b345d8w5m8xdsi1zzs0z16pbdx8j35cd1lsnh3kf1")))
10782 (home-page "https://github.com/mrkkrp/text-metrics")
10783 (synopsis "Calculate various string metrics efficiently")
10784 (description "This library provides tools to calculate various
10785 string metrics efficiently.")
10786 (license license:bsd-3)))
10787
10788 (define-public ghc-tf-random
10789 (package
10790 (name "ghc-tf-random")
10791 (version "0.5")
10792 (outputs '("out" "doc"))
10793 (source
10794 (origin
10795 (method url-fetch)
10796 (uri (string-append
10797 "https://hackage.haskell.org/package/tf-random/tf-random-"
10798 version
10799 ".tar.gz"))
10800 (sha256
10801 (base32 "0445r2nns6009fmq0xbfpyv7jpzwv0snccjdg7hwj4xk4z0cwc1f"))))
10802 (build-system haskell-build-system)
10803 (inputs
10804 `(("ghc-primitive" ,ghc-primitive)
10805 ("ghc-random" ,ghc-random)))
10806 (home-page "https://hackage.haskell.org/package/tf-random")
10807 (synopsis "High-quality splittable pseudorandom number generator")
10808 (description "This package contains an implementation of a high-quality
10809 splittable pseudorandom number generator. The generator is based on a
10810 cryptographic hash function built on top of the ThreeFish block cipher. See
10811 the paper \"Splittable Pseudorandom Number Generators Using Cryptographic
10812 Hashing\" by Claessen, Pałka for details and the rationale of the design.")
10813 (license license:bsd-3)))
10814
10815 (define-public ghc-th-abstraction
10816 (package
10817 (name "ghc-th-abstraction")
10818 (version "0.3.1.0")
10819 (source
10820 (origin
10821 (method url-fetch)
10822 (uri (string-append "https://hackage.haskell.org/package/"
10823 "th-abstraction/th-abstraction-"
10824 version ".tar.gz"))
10825 (sha256
10826 (base32
10827 "1f81w0gshvc816cf9qz0f19jsrzh6wpzmmy317xrgn63dv61p7jb"))))
10828 (build-system haskell-build-system)
10829 (home-page "https://github.com/glguy/th-abstraction")
10830 (synopsis "Nicer interface for reified information about data types")
10831 (description
10832 "This package normalizes variations in the interface for inspecting
10833 datatype information via Template Haskell so that packages and support a
10834 single, easier to use informational datatype while supporting many versions of
10835 Template Haskell.")
10836 (license license:isc)))
10837
10838 (define-public ghc-th-expand-syns
10839 (package
10840 (name "ghc-th-expand-syns")
10841 (version "0.4.5.0")
10842 (source (origin
10843 (method url-fetch)
10844 (uri (string-append "https://hackage.haskell.org/package/"
10845 "th-expand-syns/th-expand-syns-"
10846 version ".tar.gz"))
10847 (sha256
10848 (base32
10849 "1p4wfyycan8zsp9wi7npx36qwbfsbcgdyxi3ii51scf69dkrx42y"))))
10850 (build-system haskell-build-system)
10851 (inputs
10852 `(("ghc-syb" ,ghc-syb)))
10853 (home-page "https://hackage.haskell.org/package/th-expand-syns")
10854 (synopsis "Expands type synonyms in Template Haskell ASTs")
10855 (description
10856 "This package enables users to expand type synonyms in Template Haskell
10857 @dfn{abstract syntax trees} (ASTs).")
10858 (license license:bsd-3)))
10859
10860 (define-public ghc-th-lift
10861 (package
10862 (name "ghc-th-lift")
10863 (version "0.8.0.1")
10864 (source (origin
10865 (method url-fetch)
10866 (uri (string-append "https://hackage.haskell.org/package/"
10867 "th-lift/th-lift-" version ".tar.gz"))
10868 (sha256
10869 (base32
10870 "1a6qlbdg15cfr5rvl9g3blgwx4v1p0xic0pzv13zx165xbc36ld0"))))
10871 (build-system haskell-build-system)
10872 (inputs
10873 `(("ghc-th-abstraction" ,ghc-th-abstraction)))
10874 (home-page "https://github.com/mboes/th-lift")
10875 (synopsis "Derive Template Haskell's Lift class for datatypes")
10876 (description
10877 "This is a Haskell library to derive Template Haskell's Lift class for
10878 datatypes.")
10879 (license license:bsd-3)))
10880
10881 (define-public ghc-th-lift-instances
10882 (package
10883 (name "ghc-th-lift-instances")
10884 (version "0.1.14")
10885 (source
10886 (origin
10887 (method url-fetch)
10888 (uri (string-append "https://hackage.haskell.org/package/"
10889 "th-lift-instances/th-lift-instances-"
10890 version ".tar.gz"))
10891 (sha256
10892 (base32
10893 "0r1b4jnvcj64wp4hfccwkl4a70n1p1q7qzyx6ax7cmd8k961jz78"))))
10894 (build-system haskell-build-system)
10895 (inputs
10896 `(("ghc-th-lift" ,ghc-th-lift)
10897 ("ghc-vector" ,ghc-vector)
10898 ("ghc-quickcheck" ,ghc-quickcheck)))
10899 (home-page "https://github.com/bennofs/th-lift-instances/")
10900 (synopsis "Lift instances for template-haskell for common data types.")
10901 (description "Most data types in the Haskell platform do not have Lift
10902 instances. This package provides orphan instances for @code{containers},
10903 @code{text}, @code{bytestring} and @code{vector}.")
10904 (license license:bsd-3)))
10905
10906 (define-public ghc-th-orphans
10907 (package
10908 (name "ghc-th-orphans")
10909 (version "0.13.9")
10910 (source (origin
10911 (method url-fetch)
10912 (uri (string-append "https://hackage.haskell.org/package/"
10913 "th-orphans/th-orphans-" version ".tar.gz"))
10914 (sha256
10915 (base32
10916 "1xj1gssv77hdx1r3ndg8k49v3ipj3a6r7crkyvx13jrps3m6ng1z"))))
10917 (build-system haskell-build-system)
10918 (inputs
10919 `(("ghc-th-lift" ,ghc-th-lift)
10920 ("ghc-th-lift-instances" ,ghc-th-lift-instances)
10921 ("ghc-th-reify-many" ,ghc-th-reify-many)
10922 ("ghc-generic-deriving" ,ghc-generic-deriving)))
10923 (native-inputs
10924 `(("ghc-hspec" ,ghc-hspec)))
10925 (home-page "https://hackage.haskell.org/package/th-orphans")
10926 (synopsis "Orphan instances for TH datatypes")
10927 (description
10928 "This package provides orphan instances for Template Haskell datatypes. In particular,
10929 instances for @code{Ord} and @code{Lift}, as well as a few missing @code{Show}
10930 and @code{Eq} instances. These instances used to live in the haskell-src-meta
10931 package, and that's where the version number started.")
10932 (license license:bsd-3)))
10933
10934 (define-public ghc-threads
10935 (package
10936 (name "ghc-threads")
10937 (version "0.5.1.6")
10938 (source
10939 (origin
10940 (method url-fetch)
10941 (uri (string-append "https://hackage.haskell.org/package/"
10942 "threads/threads-" version ".tar.gz"))
10943 (sha256
10944 (base32
10945 "0bjnjhnq3km6xqk0fn1fgyz5xdw4h6lylbwwbcmkkfzwcz0c76hk"))))
10946 (build-system haskell-build-system)
10947 (native-inputs
10948 `(("ghc-concurrent-extra" ,ghc-concurrent-extra)
10949 ("ghc-hunit" ,ghc-hunit)
10950 ("ghc-test-framework" ,ghc-test-framework)
10951 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
10952 (home-page "https://github.com/basvandijk/threads")
10953 (synopsis "Fork threads and wait for their result")
10954 (description "This package provides functions to fork threads and
10955 wait for their result, whether it's an exception or a normal value.
10956 Besides waiting for the termination of a single thread this package also
10957 provides functions to wait for a group of threads to terminate. This
10958 package is similar to the @code{threadmanager}, @code{async} and
10959 @code{spawn} packages. The advantages of this package are:
10960
10961 @itemize
10962 @item Simpler API.
10963 @item More efficient in both space and time.
10964 @item No space-leak when forking a large number of threads.
10965 @item Correct handling of asynchronous exceptions.
10966 @item GHC specific functionality like @code{forkOn} and
10967 @code{forkIOWithUnmask}.
10968 @end itemize")
10969 (license license:bsd-3)))
10970
10971 (define-public ghc-th-reify-many
10972 (package
10973 (name "ghc-th-reify-many")
10974 (version "0.1.9")
10975 (source (origin
10976 (method url-fetch)
10977 (uri (string-append "https://hackage.haskell.org/package/"
10978 "th-reify-many/th-reify-many-"
10979 version ".tar.gz"))
10980 (sha256
10981 (base32
10982 "0hxf56filzqnyrc8q7766vai80y6cgrrbrczx6n93caskl1dv2gq"))))
10983 (build-system haskell-build-system)
10984 (inputs
10985 `(("ghc-safe" ,ghc-safe)
10986 ("ghc-th-expand-syns" ,ghc-th-expand-syns)))
10987 (home-page "https://github.com/mgsloan/th-reify-many")
10988 (synopsis "Recurseively reify template haskell datatype info")
10989 (description
10990 "th-reify-many provides functions for recursively reifying top level
10991 declarations. The main intended use case is for enumerating the names of
10992 datatypes reachable from an initial datatype, and passing these names to some
10993 function which generates instances.")
10994 (license license:bsd-3)))
10995
10996 (define-public ghc-time-compat
10997 (package
10998 (name "ghc-time-compat")
10999 (version "1.9.2.2")
11000 (source
11001 (origin
11002 (method url-fetch)
11003 (uri (string-append "https://hackage.haskell.org/package/"
11004 "time-compat/time-compat-" version ".tar.gz"))
11005 (sha256
11006 (base32
11007 "05va0rqs759vbridbcl6hksp967j9anjvys8vx72fnfkhlrn2s52"))))
11008 (build-system haskell-build-system)
11009 (inputs
11010 `(("ghc-base-orphans" ,ghc-base-orphans)))
11011 (native-inputs
11012 `(("ghc-hunit" ,ghc-hunit)
11013 ("ghc-base-compat" ,ghc-base-compat)
11014 ("ghc-quickcheck" ,ghc-quickcheck)
11015 ("ghc-tagged" ,ghc-tagged)
11016 ("ghc-tasty" ,ghc-tasty)
11017 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11018 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11019 (arguments
11020 `(#:cabal-revision
11021 ("1" "0k8ph4sydaiqp8dav4if6hpiaq8h1xsr93khmdr7a1mmfwdxr64r")))
11022 (home-page "https://github.com/phadej/time-compat")
11023 (synopsis "Compatibility package for time")
11024 (description "This packages tries to compat as many @code{time}
11025 features as possible.")
11026 (license license:bsd-3)))
11027
11028 (define-public ghc-time-locale-compat
11029 (package
11030 (name "ghc-time-locale-compat")
11031 (version "0.1.1.5")
11032 (source
11033 (origin
11034 (method url-fetch)
11035 (uri (string-append "https://hackage.haskell.org/package/"
11036 "time-locale-compat/time-locale-compat-"
11037 version ".tar.gz"))
11038 (sha256
11039 (base32
11040 "0b2hmj8wwrfkndwzgm11qr496ca2ahwdxcj3m0ii91bxvrk1bzq7"))))
11041 (build-system haskell-build-system)
11042 (inputs `(("ghc-old-locale" ,ghc-old-locale)))
11043 (home-page "https://github.com/khibino/haskell-time-locale-compat")
11044 (synopsis "Compatibility of TimeLocale between old-locale and time-1.5")
11045 (description "This package contains a wrapped name module for
11046 @code{TimeLocale}.")
11047 (license license:bsd-3)))
11048
11049 (define-public ghc-time-manager
11050 (package
11051 (name "ghc-time-manager")
11052 (version "0.0.0")
11053 (source
11054 (origin
11055 (method url-fetch)
11056 (uri (string-append "https://hackage.haskell.org/package/"
11057 "time-manager/time-manager-" version ".tar.gz"))
11058 (sha256
11059 (base32
11060 "1nzwj0fxz370ks6vr1sylcidx33rnqq45y3q9yv9n4dj43nid9lh"))))
11061 (build-system haskell-build-system)
11062 (inputs
11063 `(("ghc-auto-update" ,ghc-auto-update)))
11064 (home-page "https://github.com/yesodweb/wai")
11065 (synopsis "Scalable timer")
11066 (description "This library contains scalable timer functions provided by a
11067 timer manager.")
11068 (license license:expat)))
11069
11070 (define-public ghc-timeit
11071 (package
11072 (name "ghc-timeit")
11073 (version "2.0")
11074 (source
11075 (origin
11076 (method url-fetch)
11077 (uri
11078 (string-append
11079 "https://hackage.haskell.org/package/timeit/timeit-"
11080 version ".tar.gz"))
11081 (sha256
11082 (base32
11083 "1sliqpvl501rlcj6s0lhmsf5ym24j4h881wzc1f1wdyvg3jz8kd1"))))
11084 (build-system haskell-build-system)
11085 (home-page "https://github.com/merijn/timeit")
11086 (synopsis "Time monadic computations with an IO base")
11087 (description "This package provides a simple wrapper to show the
11088 used CPU time of monadic computation with an IO base.")
11089 (license license:bsd-3)))
11090
11091 (define-public ghc-tldr
11092 (package
11093 (name "ghc-tldr")
11094 (version "0.4.0.2")
11095 (source
11096 (origin
11097 (method url-fetch)
11098 (uri (string-append
11099 "https://hackage.haskell.org/package/tldr/tldr-"
11100 version
11101 ".tar.gz"))
11102 (sha256
11103 (base32
11104 "1zy9yyg7bxiyz1prkvrscggsb9p0f8y0nqxxxzlgzvnh2nmqf8f2"))))
11105 (build-system haskell-build-system)
11106 (inputs
11107 `(("ghc-cmark" ,ghc-cmark)
11108 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
11109 ("ghc-typed-process" ,ghc-typed-process)
11110 ("ghc-semigroups" ,ghc-semigroups)))
11111 (native-inputs
11112 `(("ghc-tasty" ,ghc-tasty)
11113 ("ghc-tasty-golden" ,ghc-tasty-golden)))
11114 (home-page "https://github.com/psibi/tldr-hs#readme")
11115 (synopsis "Haskell tldr client")
11116 (description "This package provides the @command{tldr} command and a
11117 Haskell client library allowing users to update and view @code{tldr} pages
11118 from a shell. The @code{tldr} pages are a community effort to simplify the
11119 man pages with practical examples.")
11120 (license license:bsd-3)))
11121
11122 (define-public ghc-transformers-base
11123 (package
11124 (name "ghc-transformers-base")
11125 (version "0.4.5.2")
11126 (source
11127 (origin
11128 (method url-fetch)
11129 (uri (string-append
11130 "https://hackage.haskell.org/package/transformers-base/transformers-base-"
11131 version
11132 ".tar.gz"))
11133 (sha256
11134 (base32
11135 "1s256bi0yh0x2hp2gwd30f3mg1cv53zz397dv1yhfsnfzmihrj6h"))))
11136 (build-system haskell-build-system)
11137 (inputs
11138 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
11139 (home-page
11140 "https://hackage.haskell.org/package/transformers-compat")
11141 (synopsis
11142 "Backported transformer library")
11143 (description
11144 "Backported versions of types that were added to transformers in
11145 transformers 0.3 and 0.4 for users who need strict transformers 0.2 or 0.3
11146 compatibility to run on old versions of the platform.")
11147 (license license:bsd-3)))
11148
11149 (define-public ghc-transformers-compat
11150 (package
11151 (name "ghc-transformers-compat")
11152 (version "0.6.5")
11153 (source
11154 (origin
11155 (method url-fetch)
11156 (uri (string-append
11157 "https://hackage.haskell.org/package/transformers-compat"
11158 "/transformers-compat-" version ".tar.gz"))
11159 (sha256
11160 (base32
11161 "02v2fjbvcrlpvhcsssap8dy8y9pp95jykrlc5arm39sxa48wyrys"))))
11162 (build-system haskell-build-system)
11163 (home-page "https://github.com/ekmett/transformers-compat/")
11164 (synopsis "Small compatibility shim between transformers 0.3 and 0.4")
11165 (description "This package includes backported versions of types that were
11166 added to transformers in transformers 0.3 and 0.4 for users who need strict
11167 transformers 0.2 or 0.3 compatibility to run on old versions of the platform,
11168 but also need those types.")
11169 (license license:bsd-3)))
11170
11171 (define-public ghc-tree-diff
11172 (package
11173 (name "ghc-tree-diff")
11174 (version "0.1")
11175 (source
11176 (origin
11177 (method url-fetch)
11178 (uri (string-append
11179 "https://hackage.haskell.org/package/tree-diff/tree-diff-"
11180 version
11181 ".tar.gz"))
11182 (sha256
11183 (base32
11184 "1156nbqn0pn9lp4zjsy4vv5g5wmy4zxwmbqdgvq349rydynh3ng3"))))
11185 (build-system haskell-build-system)
11186 (inputs
11187 `(("ghc-aeson" ,ghc-aeson)
11188 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
11189 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
11190 ("ghc-base-compat" ,ghc-base-compat)
11191 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
11192 ("ghc-hashable" ,ghc-hashable)
11193 ("ghc-parsers" ,ghc-parsers)
11194 ("ghc-quickcheck" ,ghc-quickcheck)
11195 ("ghc-scientific" ,ghc-scientific)
11196 ("ghc-tagged" ,ghc-tagged)
11197 ("ghc-unordered-containers" ,ghc-unordered-containers)
11198 ("ghc-uuid-types" ,ghc-uuid-types)
11199 ("ghc-vector" ,ghc-vector)))
11200 (native-inputs
11201 `(("ghc-base-compat" ,ghc-base-compat)
11202 ("ghc-quickcheck" ,ghc-quickcheck)
11203 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
11204 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
11205 ("ghc-trifecta" ,ghc-trifecta)
11206 ("ghc-tasty" ,ghc-tasty)
11207 ("ghc-tasty-golden" ,ghc-tasty-golden)
11208 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11209 (home-page "https://github.com/phadej/tree-diff")
11210 (synopsis "Compute difference between (expression) trees")
11211 (description "This Haskell library provides a function for computing
11212 the difference between (expression) trees. It also provides a way to
11213 compute the difference between arbitrary abstract datatypes (ADTs) using
11214 @code{Generics}-derivable helpers.")
11215 (license license:bsd-3)))
11216
11217 (define-public ghc-trifecta
11218 (package
11219 (name "ghc-trifecta")
11220 (version "2")
11221 (source (origin
11222 (method url-fetch)
11223 (uri (string-append
11224 "https://hackage.haskell.org/package/trifecta/"
11225 "trifecta-" version ".tar.gz"))
11226 (sha256
11227 (base32
11228 "0hznd8i65s81xy13i2qc7cvipw3lfb2yhkv53apbdsh6sbljz5sk"))))
11229 (build-system haskell-build-system)
11230 (arguments
11231 `(#:tests? #f ; doctest suite fails to build on i686
11232 #:cabal-revision
11233 ("4" "0xbwyvwl6f2zylk60f2akwgq03qv49113xil7b1z1s3vlwbn5aj1")))
11234 (inputs
11235 `(("ghc-reducers" ,ghc-reducers)
11236 ("ghc-semigroups" ,ghc-semigroups)
11237 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
11238 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
11239 ("ghc-blaze-builder" ,ghc-blaze-builder)
11240 ("ghc-blaze-html" ,ghc-blaze-html)
11241 ("ghc-blaze-markup" ,ghc-blaze-markup)
11242 ("ghc-charset" ,ghc-charset)
11243 ("ghc-comonad" ,ghc-comonad)
11244 ("ghc-fingertree" ,ghc-fingertree)
11245 ("ghc-hashable" ,ghc-hashable)
11246 ("ghc-lens" ,ghc-lens)
11247 ("ghc-parsers" ,ghc-parsers)
11248 ("ghc-profunctors" ,ghc-profunctors)
11249 ("ghc-unordered-containers" ,ghc-unordered-containers)
11250 ("ghc-utf8-string" ,ghc-utf8-string)))
11251 (native-inputs
11252 `(("cabal-doctest" ,cabal-doctest)
11253 ("ghc-doctest" ,ghc-doctest)
11254 ("ghc-quickcheck" ,ghc-quickcheck)))
11255 (home-page "https://github.com/ekmett/trifecta/")
11256 (synopsis "Parser combinator library with convenient diagnostics")
11257 (description "Trifecta is a modern parser combinator library for Haskell,
11258 with slicing and Clang-style colored diagnostics.")
11259 (license license:bsd-3)))
11260
11261 (define-public ghc-tuple-th
11262 (package
11263 (name "ghc-tuple-th")
11264 (version "0.2.5")
11265 (source
11266 (origin
11267 (method url-fetch)
11268 (uri (string-append "https://hackage.haskell.org/package/"
11269 "tuple-th-" version "/"
11270 "tuple-th-" version ".tar.gz"))
11271 (sha256
11272 (base32
11273 "1mrl4vvxmby7sf1paf7hklzidnr6wq55822i73smqyz0xpf3gsjn"))))
11274 (build-system haskell-build-system)
11275 (home-page "https://github.com/DanielSchuessler/tuple-th")
11276 (synopsis "Generate utility functions for tuples of statically known size
11277 for Haskell")
11278 (description "This Haskell package contains Template Haskell functions for
11279 generating functions similar to those in @code{Data.List} for tuples of
11280 statically known size.")
11281 (license license:bsd-3)))
11282
11283 (define-public ghc-typed-process
11284 (package
11285 (name "ghc-typed-process")
11286 (version "0.2.6.0")
11287 (source
11288 (origin
11289 (method url-fetch)
11290 (uri (string-append "https://hackage.haskell.org/package/"
11291 "typed-process/typed-process-"
11292 version ".tar.gz"))
11293 (sha256
11294 (base32
11295 "1cf2pfym8zdxvvy7xv72ixj7wy3rjrdss6f57k1ysgs66cgsi8ii"))))
11296 (build-system haskell-build-system)
11297 (inputs
11298 `(("ghc-async" ,ghc-async)
11299 ("ghc-unliftio-core" ,ghc-unliftio-core)))
11300 (native-inputs
11301 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
11302 ("ghc-hspec" ,ghc-hspec)
11303 ("hspec-discover" ,hspec-discover)
11304 ("ghc-temporary" ,ghc-temporary)))
11305 (home-page "https://haskell-lang.org/library/typed-process")
11306 (synopsis "Run external processes with strong typing of streams")
11307 (description
11308 "This library provides the ability to launch and interact with external
11309 processes. It wraps around the @code{process} library, and intends to improve
11310 upon it.")
11311 (license license:expat)))
11312
11313 (define-public ghc-unagi-chan
11314 (package
11315 (name "ghc-unagi-chan")
11316 (version "0.4.1.2")
11317 (source
11318 (origin
11319 (method url-fetch)
11320 (uri (string-append "https://hackage.haskell.org/package/unagi-chan"
11321 "/unagi-chan-" version ".tar.gz"))
11322 (sha256
11323 (base32
11324 "1lnl5n4jnjmm4chp461glcwkrrw63rjz3fvprwxcy3lkpbkrqvgn"))))
11325 (build-system haskell-build-system)
11326 (inputs
11327 `(("ghc-atomic-primops" ,ghc-atomic-primops)
11328 ("ghc-primitive" ,ghc-primitive)))
11329 (arguments
11330 `(#:tests? #f ; FIXME: Tests expect primitive 0.7
11331 #:cabal-revision
11332 ("1"
11333 "09pqi867wskwgc5lpn197f895mbn1174ydgllvcppcsmrz2b6yr6")))
11334 (home-page "http://hackage.haskell.org/package/unagi-chan")
11335 (synopsis "Fast concurrent queues with a Chan-like API, and more")
11336 (description
11337 "This library provides implementations of concurrent FIFO queues (for
11338 both general boxed and primitive unboxed values) that are fast, perform well
11339 under contention, and offer a Chan-like interface. The library may be of
11340 limited usefulness outside of x86 architectures where the fetch-and-add
11341 instruction is not available.")
11342 (license license:bsd-3)))
11343
11344 (define-public ghc-unbounded-delays
11345 (package
11346 (name "ghc-unbounded-delays")
11347 (version "0.1.1.0")
11348 (source
11349 (origin
11350 (method url-fetch)
11351 (uri (string-append
11352 "https://hackage.haskell.org/package/unbounded-delays/unbounded-delays-"
11353 version
11354 ".tar.gz"))
11355 (sha256
11356 (base32
11357 "1ir9fghbrc214c97bwafk5ck6cacxz1pdnq4i18p604d1b8zg9wa"))))
11358 (build-system haskell-build-system)
11359 (home-page "https://github.com/basvandijk/unbounded-delays")
11360 (synopsis "Unbounded thread delays and timeouts")
11361 (description "The @code{threadDelay} and @code{timeout} functions from the
11362 Haskell base library use the bounded @code{Int} type for specifying the delay
11363 or timeout period. This package provides alternative functions which use the
11364 unbounded @code{Integer} type.")
11365 (license license:bsd-3)))
11366
11367 (define-public ghc-unexceptionalio
11368 (package
11369 (name "ghc-unexceptionalio")
11370 (version "0.4.0")
11371 (source
11372 (origin
11373 (method url-fetch)
11374 (uri (string-append "https://hackage.haskell.org/package/"
11375 "unexceptionalio-" version "/" "unexceptionalio-"
11376 version ".tar.gz"))
11377 (sha256 (base32 "09gynk472l7nn5l2w320n4dwigwp0wh0shfp6dyw6r5h2jdxz18p"))))
11378 (build-system haskell-build-system)
11379 (home-page "https://github.com/singpolyma/unexceptionalio")
11380 (synopsis "IO without any non-error, synchronous exceptions")
11381 (description "When you've caught all the exceptions that can be
11382 handled safely, this is what you're left with.")
11383 (license license:isc)))
11384
11385 (define-public ghc-unicode-transforms
11386 (package
11387 (name "ghc-unicode-transforms")
11388 (version "0.3.6")
11389 (source
11390 (origin
11391 (method url-fetch)
11392 (uri (string-append "https://hackage.haskell.org/package/"
11393 "unicode-transforms/unicode-transforms-"
11394 version ".tar.gz"))
11395 (sha256
11396 (base32
11397 "1akscvyssif4hki3g6hy0jmjyr8cqly1whzvzj0km2b3qh0x09l3"))))
11398 (build-system haskell-build-system)
11399 (inputs
11400 `(("ghc-bitarray" ,ghc-bitarray)))
11401 (native-inputs
11402 `(("ghc-quickcheck" ,ghc-quickcheck)
11403 ("ghc-getopt-generics" ,ghc-getopt-generics)
11404 ("ghc-split" ,ghc-split)))
11405 (home-page "https://github.com/composewell/unicode-transforms")
11406 (synopsis "Unicode normalization")
11407 (description "This library provides tools for fast Unicode 12.1.0
11408 normalization in Haskell (normalization forms C, KC, D, and KD).")
11409 (license license:bsd-3)))
11410
11411 (define-public ghc-union-find
11412 (package
11413 (name "ghc-union-find")
11414 (version "0.2")
11415 (source (origin
11416 (method url-fetch)
11417 (uri (string-append
11418 "https://hackage.haskell.org/package/union-find/union-find-"
11419 version ".tar.gz"))
11420 (sha256
11421 (base32
11422 "1v7hj42j9w6jlzi56jg8rh4p58gfs1c5dx30wd1qqvn0p0mnihp6"))))
11423 (build-system haskell-build-system)
11424 (home-page "https://github.com/nominolo/union-find")
11425 (synopsis "Efficient union and equivalence testing of sets")
11426 (description
11427 "The Union/Find algorithm implements these operations in (effectively)
11428 constant-time:
11429 @enumerate
11430 @item Check whether two elements are in the same equivalence class.
11431 @item Create a union of two equivalence classes.
11432 @item Look up the descriptor of the equivalence class.
11433 @end enumerate\n")
11434 (license license:bsd-3)))
11435
11436 (define-public ghc-uniplate
11437 (package
11438 (name "ghc-uniplate")
11439 (version "1.6.12")
11440 (source
11441 (origin
11442 (method url-fetch)
11443 (uri (string-append
11444 "https://hackage.haskell.org/package/uniplate/uniplate-"
11445 version
11446 ".tar.gz"))
11447 (sha256
11448 (base32
11449 "1dx8f9aw27fz8kw0ad1nm6355w5rdl7bjvb427v2bsgnng30pipw"))))
11450 (build-system haskell-build-system)
11451 (inputs
11452 `(("ghc-syb" ,ghc-syb)
11453 ("ghc-hashable" ,ghc-hashable)
11454 ("ghc-unordered-containers" ,ghc-unordered-containers)))
11455 (home-page "http://community.haskell.org/~ndm/uniplate/")
11456 (synopsis "Simple, concise and fast generic operations")
11457 (description "Uniplate is a library for writing simple and concise generic
11458 operations. Uniplate has similar goals to the original Scrap Your Boilerplate
11459 work, but is substantially simpler and faster.")
11460 (license license:bsd-3)))
11461
11462 (define-public ghc-unix-compat
11463 (package
11464 (name "ghc-unix-compat")
11465 (version "0.5.2")
11466 (source
11467 (origin
11468 (method url-fetch)
11469 (uri (string-append
11470 "https://hackage.haskell.org/package/unix-compat/unix-compat-"
11471 version
11472 ".tar.gz"))
11473 (sha256
11474 (base32
11475 "1a8brv9fax76b1fymslzyghwa6ma8yijiyyhn12msl3i5x24x6k5"))))
11476 (build-system haskell-build-system)
11477 (home-page
11478 "https://github.com/jystic/unix-compat")
11479 (synopsis "Portable POSIX-compatibility layer")
11480 (description
11481 "This package provides portable implementations of parts of the unix
11482 package. This package re-exports the unix package when available. When it
11483 isn't available, portable implementations are used.")
11484 (license license:bsd-3)))
11485
11486 (define-public ghc-unix-time
11487 (package
11488 (name "ghc-unix-time")
11489 (version "0.4.7")
11490 (source
11491 (origin
11492 (method url-fetch)
11493 (uri (string-append
11494 "https://hackage.haskell.org/package/unix-time/unix-time-"
11495 version
11496 ".tar.gz"))
11497 (sha256
11498 (base32
11499 "02fyh298lm8jsg52i3z0ikazwz477ljqjmhnqr2d88grmn5ky8qr"))))
11500 (build-system haskell-build-system)
11501 (arguments
11502 `(#:tests? #f)) ; FIXME: Test fails with "System.Time not found". This
11503 ; is weird, that should be provided by GHC 7.10.2.
11504 (inputs
11505 `(("ghc-old-time" ,ghc-old-time)
11506 ("ghc-old-locale" ,ghc-old-locale)))
11507 (home-page "https://hackage.haskell.org/package/unix-time")
11508 (synopsis "Unix time parser/formatter and utilities")
11509 (description "This library provides fast parsing and formatting utilities
11510 for Unix time in Haskell.")
11511 (license license:bsd-3)))
11512
11513 (define-public ghc-unliftio
11514 (package
11515 (name "ghc-unliftio")
11516 (version "0.2.12")
11517 (source
11518 (origin
11519 (method url-fetch)
11520 (uri (string-append
11521 "https://hackage.haskell.org/package/unliftio/unliftio-"
11522 version
11523 ".tar.gz"))
11524 (sha256
11525 (base32
11526 "02gy1zrxgzg4xmzm8lafsf1nyr3as1q20r8ld73xg3q7rkag9acg"))))
11527 (build-system haskell-build-system)
11528 (arguments `(#:tests? #f)) ; FIXME: hspec-discover not in PATH
11529 (inputs
11530 `(("ghc-async" ,ghc-async)
11531 ("ghc-unliftio-core" ,ghc-unliftio-core)))
11532 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
11533 (home-page "https://github.com/fpco/unliftio")
11534 (synopsis "Provides MonadUnliftIO typecplass for unlifting monads to
11535 IO (batteries included)")
11536 (description "This Haskell package provides the core @code{MonadUnliftIO}
11537 typeclass, a number of common instances, and a collection of common functions
11538 working with it.")
11539 (license license:expat)))
11540
11541 (define-public ghc-unliftio-core
11542 (package
11543 (name "ghc-unliftio-core")
11544 (version "0.1.2.0")
11545 (source
11546 (origin
11547 (method url-fetch)
11548 (uri (string-append "https://hackage.haskell.org/package/"
11549 "unliftio-core-" version "/"
11550 "unliftio-core-" version ".tar.gz"))
11551 (sha256
11552 (base32
11553 "0y3siyx3drkw7igs380a87h8qfbbgcyxxlcnshp698hcc4yqphr4"))))
11554 (build-system haskell-build-system)
11555 (arguments
11556 `(#:cabal-revision
11557 ("2" "0jqrjjbgicx48wzcjxs1xmih48ay79rhmrz6081dldlfxynli6vz")))
11558 (home-page
11559 "https://github.com/fpco/unliftio/tree/master/unliftio-core#readme")
11560 (synopsis "The MonadUnliftIO typeclass for unlifting monads to IO")
11561 (description "This Haskell package provides the core @code{MonadUnliftIO}
11562 typeclass, instances for base and transformers, and basic utility
11563 functions.")
11564 (license license:expat)))
11565
11566 (define-public ghc-unordered-containers
11567 (package
11568 (name "ghc-unordered-containers")
11569 (version "0.2.10.0")
11570 (outputs '("out" "doc"))
11571 (source
11572 (origin
11573 (method url-fetch)
11574 (uri (string-append
11575 "https://hackage.haskell.org/package/unordered-containers"
11576 "/unordered-containers-" version ".tar.gz"))
11577 (sha256
11578 (base32
11579 "0wy5hfrs880hh8hvp648bl07ws777n3kkmczzdszr7papnyigwb5"))))
11580 (build-system haskell-build-system)
11581 (inputs
11582 `(("ghc-chasingbottoms" ,ghc-chasingbottoms)
11583 ("ghc-hunit" ,ghc-hunit)
11584 ("ghc-quickcheck" ,ghc-quickcheck)
11585 ("ghc-test-framework" ,ghc-test-framework)
11586 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
11587 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
11588 ("ghc-hashable" ,ghc-hashable)))
11589 (home-page
11590 "https://github.com/tibbe/unordered-containers")
11591 (synopsis
11592 "Efficient hashing-based container types")
11593 (description
11594 "Efficient hashing-based container types. The containers have been
11595 optimized for performance critical use, both in terms of large data quantities
11596 and high speed.")
11597 (license license:bsd-3)))
11598
11599 (define-public ghc-unordered-containers-bootstrap
11600 (package
11601 (inherit ghc-unordered-containers)
11602 (name "ghc-unordered-containers-bootstrap")
11603 (arguments `(#:tests? #f))
11604 (inputs
11605 `(("ghc-hashable" ,ghc-hashable-bootstrap)))
11606 (properties '((hidden? #t)))))
11607
11608 (define-public ghc-unsafe
11609 (package
11610 (name "ghc-unsafe")
11611 (version "0.0")
11612 (source
11613 (origin
11614 (method url-fetch)
11615 (uri
11616 (string-append
11617 "https://hackage.haskell.org/package/unsafe/unsafe-"
11618 version ".tar.gz"))
11619 (sha256
11620 (base32
11621 "0hc6xr1i3hkz25gdgfx1jqgpsc9mwa05bkfynp0mcfdlyz6782nz"))))
11622 (build-system haskell-build-system)
11623 (home-page "https://hackage.haskell.org/package/unsafe")
11624 (synopsis "Unified interface to unsafe functions")
11625 (description "Safe Haskell introduced the notion of safe and unsafe
11626 modules. In order to make as many as possible modules ``safe'', the
11627 well-known unsafe functions were moved to distinguished modules. This
11628 makes it hard to write packages that work with both old and new versions
11629 of GHC. This package provides a single module System.Unsafe that
11630 exports the unsafe functions from the base package. It provides them in
11631 a style ready for qualification, that is, you should import them by
11632 @code{import qualified System.Unsafe as Unsafe}.")
11633 (license license:bsd-3)))
11634
11635 (define-public ghc-uri-bytestring
11636 (package
11637 (name "ghc-uri-bytestring")
11638 (version "0.3.2.2")
11639 (source
11640 (origin
11641 (method url-fetch)
11642 (uri (string-append "https://hackage.haskell.org/package/"
11643 "uri-bytestring-" version "/"
11644 "uri-bytestring-" version ".tar.gz"))
11645 (sha256
11646 (base32
11647 "0spzv3mwlpxiamd7347sxwcy2xri16ak1y7p1v4fisnvq4jprm67"))))
11648 (build-system haskell-build-system)
11649 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
11650 ("ghc-blaze-builder" ,ghc-blaze-builder)
11651 ("ghc-th-lift-instances" ,ghc-th-lift-instances)))
11652 (native-inputs `(("ghc-hunit" ,ghc-hunit)
11653 ("ghc-tasty" ,ghc-tasty)
11654 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11655 ("ghc-hedgehog" ,ghc-hedgehog)
11656 ("ghc-tasty-hedgehog" ,ghc-tasty-hedgehog)
11657 ("ghc-base-compat" ,ghc-base-compat)
11658 ("ghc-semigroups" ,ghc-semigroups)
11659 ("ghc-safe" ,ghc-safe)))
11660 (home-page "https://github.com/Soostone/uri-bytestring")
11661 (synopsis "Haskell URI parsing as ByteStrings")
11662 (description "This Haskell package aims to be an RFC3986 compliant URI
11663 parser that uses ByteStrings for parsing and representing the URI data.")
11664 (license license:bsd-3)))
11665
11666 (define-public ghc-utf8-string
11667 (package
11668 (name "ghc-utf8-string")
11669 (version "1.0.1.1")
11670 (source
11671 (origin
11672 (method url-fetch)
11673 (uri (string-append
11674 "https://hackage.haskell.org/package/utf8-string/utf8-string-"
11675 version
11676 ".tar.gz"))
11677 (sha256
11678 (base32 "0h7imvxkahiy8pzr8cpsimifdfvv18lizrb33k6mnq70rcx9w2zv"))))
11679 (build-system haskell-build-system)
11680 (arguments
11681 `(#:cabal-revision
11682 ("3" "02vhj5gykkqa2dyn7s6gn8is1b5fdn9xcqqvlls268g7cpv6rk38")))
11683 (home-page "https://github.com/glguy/utf8-string/")
11684 (synopsis "Support for reading and writing UTF8 Strings")
11685 (description
11686 "A UTF8 layer for Strings. The utf8-string package provides operations
11687 for encoding UTF8 strings to Word8 lists and back, and for reading and writing
11688 UTF8 without truncation.")
11689 (license license:bsd-3)))
11690
11691 (define-public ghc-utility-ht
11692 (package
11693 (name "ghc-utility-ht")
11694 (version "0.0.14")
11695 (home-page "https://hackage.haskell.org/package/utility-ht")
11696 (source
11697 (origin
11698 (method url-fetch)
11699 (uri (string-append home-page "/utility-ht-" version ".tar.gz"))
11700 (sha256
11701 (base32 "1a7bgk7wv7sqbxbiv7kankiimr3wij7zdm7s83zwsf886ghyxhk9"))))
11702 (build-system haskell-build-system)
11703 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
11704 (synopsis "Haskell helper functions for Lists, Maybes, Tuples, Functions")
11705 (description "This package includes Hakell modules providing various
11706 helper functions for Lists, Maybes, Tuples, Functions.")
11707 (license license:bsd-3)))
11708
11709 (define-public ghc-uuid
11710 (package
11711 (name "ghc-uuid")
11712 (version "1.3.13")
11713 (source
11714 (origin
11715 (method url-fetch)
11716 (uri (string-append "https://hackage.haskell.org/package/"
11717 "uuid-" version "/"
11718 "uuid-" version ".tar.gz"))
11719 (sha256
11720 (base32
11721 "09xhk42yhxvqmka0iqrv3338asncz8cap3j0ic0ps896f2581b6z"))))
11722 (build-system haskell-build-system)
11723 (arguments
11724 `(#:cabal-revision
11725 ("2" "0m185q62jkfb5jsv358nxbnrkv8y8hd0qqvgvh22wvc5g9ipz0r9")
11726 #:phases
11727 (modify-phases %standard-phases
11728 (add-before 'configure 'strip-test-framework-constraints
11729 (lambda _
11730 (substitute* "uuid.cabal"
11731 (("HUnit >= 1\\.2 && < 1\\.4") "HUnit")
11732 (("QuickCheck >= 2\\.4 && < 2\\.10") "QuickCheck")
11733 (("tasty >= 0\\.10 && < 0\\.12") "tasty")
11734 (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
11735 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
11736 (inputs `(("ghc-cryptohash-sha1" ,ghc-cryptohash-sha1)
11737 ("ghc-cryptohash-md5" ,ghc-cryptohash-md5)
11738 ("ghc-entropy" ,ghc-entropy)
11739 ("ghc-network-info" ,ghc-network-info)
11740 ("ghc-random" ,ghc-random)
11741 ("ghc-uuid-types" ,ghc-uuid-types)))
11742 (native-inputs `(("ghc-hunit" ,ghc-hunit)
11743 ("ghc-quickcheck" ,ghc-quickcheck)
11744 ("ghc-tasty" ,ghc-tasty)
11745 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11746 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11747 (home-page "https://github.com/hvr/uuid")
11748 (synopsis "Haskell library to create, compare, parse, and print UUIDs")
11749 (description "This Haskell library provides utilities creating, comparing,
11750 parsing and printing @dfn{Universally Unique Identifiers} or UUIDs.")
11751 (license license:bsd-3)))
11752
11753 (define-public ghc-uuid-types
11754 (package
11755 (name "ghc-uuid-types")
11756 (version "1.0.3")
11757 (source
11758 (origin
11759 (method url-fetch)
11760 (uri (string-append "https://hackage.haskell.org/package/"
11761 "uuid-types-" version "/"
11762 "uuid-types-" version ".tar.gz"))
11763 (sha256
11764 (base32
11765 "1zdka5jnm1h6k36w3nr647yf3b5lqb336g3fkprhd6san9x52xlj"))))
11766 (build-system haskell-build-system)
11767 (arguments
11768 `(#:phases
11769 (modify-phases %standard-phases
11770 (add-before 'configure 'strip-test-framework-constraints
11771 (lambda _
11772 (substitute* "uuid-types.cabal"
11773 (("HUnit >=1\\.2 && < 1\\.4") "HUnit")
11774 (("QuickCheck >=2\\.4 && < 2\\.9") "QuickCheck")
11775 (("tasty >= 0\\.10 && < 0\\.12") "tasty")
11776 (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
11777 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
11778 (inputs `(("ghc-hashable" ,ghc-hashable)
11779 ("ghc-random" ,ghc-random)))
11780 (native-inputs `(("ghc-hunit" ,ghc-hunit)
11781 ("ghc-quickcheck" ,ghc-quickcheck)
11782 ("ghc-tasty" ,ghc-tasty)
11783 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11784 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11785 (home-page "https://github.com/hvr/uuid")
11786 (synopsis "Haskell type definitions for UUIDs")
11787 (description "This Haskell library contains type definitions for
11788 @dfn{Universally Unique Identifiers} or
11789 @uref{https://en.wikipedia.org/wiki/UUID, UUIDs}, and basic conversion
11790 functions.")
11791 (license license:bsd-3)))
11792
11793 (define-public ghc-validation
11794 (package
11795 (name "ghc-validation")
11796 (version "1.1")
11797 (source
11798 (origin
11799 (method url-fetch)
11800 (uri (string-append
11801 "mirror://hackage/package/validation/validation-"
11802 version
11803 ".tar.gz"))
11804 (sha256
11805 (base32
11806 "1acj7mh3581ks405xswxw6667z7y1y0slisg6jvp6chc191ji9l5"))))
11807 (build-system haskell-build-system)
11808 (arguments
11809 `(#:cabal-revision
11810 ("1" "1rrjg9z399k6pb55nv85mlr5bkmdqbjwkvl1cy7ydccdx6ks4syp")))
11811 (inputs
11812 `(("ghc-semigroups" ,ghc-semigroups)
11813 ("ghc-semigroupoids" ,ghc-semigroupoids)
11814 ("ghc-bifunctors" ,ghc-bifunctors)
11815 ("ghc-lens" ,ghc-lens)))
11816 (native-inputs
11817 `(("ghc-hedgehog" ,ghc-hedgehog)
11818 ("ghc-hunit" ,ghc-hunit)))
11819 (home-page "https://github.com/qfpl/validation")
11820 (synopsis
11821 "Data-type like Either but with an accumulating Applicative")
11822 (description
11823 "A data-type like Either but with differing properties and type-class
11824 instances.
11825
11826 Library support is provided for this different representation, including
11827 @code{lens}-related functions for converting between each and abstracting over
11828 their similarities.
11829
11830 The @code{Validation} data type is isomorphic to @code{Either}, but has an
11831 instance of @code{Applicative} that accumulates on the error side. That is to
11832 say, if two (or more) errors are encountered, they are appended using a
11833 @{Semigroup} operation.
11834
11835 As a consequence of this @code{Applicative} instance, there is no
11836 corresponding @code{Bind} or @code{Monad} instance. @code{Validation} is an
11837 example of, \"An applicative functor that is not a monad.\"")
11838 (license license:bsd-3)))
11839
11840 (define-public ghc-validity
11841 (package
11842 (name "ghc-validity")
11843 (version "0.9.0.2")
11844 (source
11845 (origin
11846 (method url-fetch)
11847 (uri (string-append
11848 "https://hackage.haskell.org/package/validity/validity-"
11849 version
11850 ".tar.gz"))
11851 (sha256
11852 (base32
11853 "1aa93lp1pqwv7vhx19nazlig8qhbp3psblbz360s5lii3s5rli2v"))))
11854 (build-system haskell-build-system)
11855 (native-inputs `(("ghc-hspec" ,ghc-hspec)
11856 ("hspec-discover" ,hspec-discover)))
11857 (home-page
11858 "https://github.com/NorfairKing/validity")
11859 (synopsis "Validity typeclass")
11860 (description
11861 "Values of custom types usually have invariants imposed upon them. This
11862 package provides the @code{Validity} type class, which makes these invariants
11863 explicit by providing a function to check whether the invariants hold.")
11864 (license license:expat)))
11865
11866 (define-public ghc-vault
11867 (package
11868 (name "ghc-vault")
11869 (version "0.3.1.3")
11870 (source
11871 (origin
11872 (method url-fetch)
11873 (uri (string-append
11874 "https://hackage.haskell.org/package/vault/vault-"
11875 version
11876 ".tar.gz"))
11877 (sha256
11878 (base32
11879 "0vdm472vn734xa27jjm2mjacl37mxiqaaahvm4hzqjgyh4cqq377"))))
11880 (build-system haskell-build-system)
11881 (inputs
11882 `(("ghc-unordered-containers" ,ghc-unordered-containers)
11883 ("ghc-hashable" ,ghc-hashable)
11884 ("ghc-semigroups" ,ghc-semigroups)))
11885 (home-page
11886 "https://github.com/HeinrichApfelmus/vault")
11887 (synopsis "Persistent store for arbitrary values")
11888 (description "This package provides vaults for Haskell. A vault is a
11889 persistent store for values of arbitrary types. It's like having first-class
11890 access to the storage space behind @code{IORefs}. The data structure is
11891 analogous to a bank vault, where you can access different bank boxes with
11892 different keys; hence the name. Also provided is a @code{locker} type,
11893 representing a store for a single element.")
11894 (license license:bsd-3)))
11895
11896 (define-public ghc-vector
11897 (package
11898 (name "ghc-vector")
11899 (version "0.12.0.3")
11900 (outputs '("out" "doc"))
11901 (source
11902 (origin
11903 (method url-fetch)
11904 (uri (string-append
11905 "https://hackage.haskell.org/package/vector/vector-"
11906 version
11907 ".tar.gz"))
11908 (sha256
11909 (base32
11910 "1a756s4w759ji3als5alfxwlckh5zcmykfg9rll4mlr2knzvz8mq"))))
11911 (build-system haskell-build-system)
11912 ;; FIXME: To simplify upgrading all Haskell packages, we leave the tests
11913 ;; disabled for now.
11914 (arguments
11915 `(#:tests? #f))
11916 (inputs
11917 `(("ghc-primitive" ,ghc-primitive)
11918 ("ghc-random" ,ghc-random)
11919 ("ghc-quickcheck" ,ghc-quickcheck)
11920 ;; ("ghc-hunit" ,ghc-hunit)
11921 ;; ("ghc-test-framework" ,ghc-test-framework)
11922 ;; ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
11923 ;; ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
11924 ))
11925 (home-page "https://github.com/haskell/vector")
11926 (synopsis "Efficient Arrays")
11927 (description "This library provides an efficient implementation of
11928 Int-indexed arrays (both mutable and immutable), with a powerful loop
11929 optimisation framework.")
11930 (license license:bsd-3)))
11931
11932 (define-public ghc-vector-algorithms
11933 (package
11934 (name "ghc-vector-algorithms")
11935 (version "0.8.0.1")
11936 (source
11937 (origin
11938 (method url-fetch)
11939 (uri (string-append "https://hackage.haskell.org/package/"
11940 "vector-algorithms-" version "/"
11941 "vector-algorithms-" version ".tar.gz"))
11942 (sha256
11943 (base32
11944 "1zip8r7hh5g12xrjvhbg38z6hfxy7l6h6pl88qcqc0ygdmwdxg0m"))))
11945 (build-system haskell-build-system)
11946 (inputs
11947 `(("ghc-vector" ,ghc-vector)))
11948 (native-inputs
11949 `(("ghc-quickcheck" ,ghc-quickcheck)))
11950 (home-page "https://github.com/bos/math-functions")
11951 (synopsis "Algorithms for vector arrays in Haskell")
11952 (description "This Haskell library algorithms for vector arrays.")
11953 (license license:bsd-3)))
11954
11955 (define-public ghc-vector-binary-instances
11956 (package
11957 (name "ghc-vector-binary-instances")
11958 (version "0.2.5.1")
11959 (source
11960 (origin
11961 (method url-fetch)
11962 (uri (string-append
11963 "https://hackage.haskell.org/package/"
11964 "vector-binary-instances/vector-binary-instances-"
11965 version ".tar.gz"))
11966 (sha256
11967 (base32
11968 "04n5cqm1v95pw1bp68l9drjkxqiy2vswxdq0fy1rqcgxisgvji9r"))))
11969 (build-system haskell-build-system)
11970 (inputs
11971 `(("ghc-vector" ,ghc-vector)))
11972 (native-inputs
11973 `(("ghc-tasty" ,ghc-tasty)
11974 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11975 (home-page "https://github.com/bos/vector-binary-instances")
11976 (synopsis "Instances of Data.Binary and Data.Serialize for vector")
11977 (description "This library provides instances of @code{Binary} for the
11978 types defined in the @code{vector} package, making it easy to serialize
11979 vectors to and from disk. We use the generic interface to vectors, so all
11980 vector types are supported. Specific instances are provided for unboxed,
11981 boxed and storable vectors.")
11982 (license license:bsd-3)))
11983
11984 (define-public ghc-vector-builder
11985 (package
11986 (name "ghc-vector-builder")
11987 (version "0.3.8")
11988 (source
11989 (origin
11990 (method url-fetch)
11991 (uri (string-append "https://hackage.haskell.org/package/"
11992 "vector-builder-" version "/"
11993 "vector-builder-" version ".tar.gz"))
11994 (sha256
11995 (base32
11996 "0ww0l52p8s6gmh985adnjbvm1vrqpqbm08qdcrvxwhhcqmxgv6m3"))))
11997 (build-system haskell-build-system)
11998 (inputs `(("ghc-vector" ,ghc-vector)
11999 ("ghc-semigroups" ,ghc-semigroups)
12000 ("ghc-base-prelude" ,ghc-base-prelude)))
12001 (native-inputs `(("ghc-attoparsec" ,ghc-attoparsec)
12002 ("ghc-tasty" ,ghc-tasty)
12003 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
12004 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
12005 ("ghc-hunit" ,ghc-hunit)
12006 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
12007 ("ghc-rerebase" ,ghc-rerebase)))
12008 (home-page "https://github.com/nikita-volkov/vector-builder")
12009 (synopsis "Vector builder for Haskell")
12010 (description "This Haskell package provides an API for constructing vectors.
12011 It provides the composable @code{Builder} abstraction, which has instances of the
12012 @code{Monoid} and @code{Semigroup} classes.
12013
12014 You would first use the @code{Builder} abstraction to specify the structure of
12015 the vector; then you can execute the builder to actually produce the
12016 vector. ")
12017 (license license:expat)))
12018
12019 (define-public ghc-vector-th-unbox
12020 (package
12021 (name "ghc-vector-th-unbox")
12022 (version "0.2.1.7")
12023 (source
12024 (origin
12025 (method url-fetch)
12026 (uri (string-append "https://hackage.haskell.org/package/"
12027 "vector-th-unbox-" version "/"
12028 "vector-th-unbox-" version ".tar.gz"))
12029 (sha256
12030 (base32
12031 "0q8dqnbv1c2gi7jjdhqj14abj1vik23ki6lq4iz2sz18yc7q69fi"))))
12032 (build-system haskell-build-system)
12033 (inputs
12034 `(("ghc-vector" ,ghc-vector)
12035 ("ghc-data-default" ,ghc-data-default)))
12036 (home-page "https://github.com/liyang/vector-th-unbox")
12037 (synopsis "Deriver for Data.Vector.Unboxed using Template Haskell")
12038 (description "This Haskell library provides a Template Haskell
12039 deriver for unboxed vectors, given a pair of coercion functions to
12040 and from some existing type with an Unbox instance.")
12041 (license license:bsd-3)))
12042
12043 (define-public ghc-void
12044 (package
12045 (name "ghc-void")
12046 (version "0.7.3")
12047 (source
12048 (origin
12049 (method url-fetch)
12050 (uri (string-append
12051 "https://hackage.haskell.org/package/void/void-"
12052 version
12053 ".tar.gz"))
12054 (sha256
12055 (base32
12056 "05vk3x1r9a2pqnzfji475m5gdih2im1h7rbi2sc67p1pvj6pbbsk"))))
12057 (build-system haskell-build-system)
12058 (inputs
12059 `(("ghc-semigroups" ,ghc-semigroups)
12060 ("ghc-hashable" ,ghc-hashable)))
12061 (home-page "https://github.com/ekmett/void")
12062 (synopsis
12063 "Logically uninhabited data type")
12064 (description
12065 "A Haskell 98 logically uninhabited data type, used to indicate that a
12066 given term should not exist.")
12067 (license license:bsd-3)))
12068
12069 (define-public ghc-wave
12070 (package
12071 (name "ghc-wave")
12072 (version "0.2.0")
12073 (source (origin
12074 (method url-fetch)
12075 (uri (string-append
12076 "https://hackage.haskell.org/package/wave/wave-"
12077 version
12078 ".tar.gz"))
12079 (sha256
12080 (base32
12081 "149kgwngq3qxc7gxpkqb16j669j0wpv2f3gnvfwp58yg6m4259ki"))))
12082 (build-system haskell-build-system)
12083 (arguments
12084 '(#:phases
12085 (modify-phases %standard-phases
12086 (add-before 'configure 'update-constraints
12087 (lambda _
12088 (substitute* "wave.cabal"
12089 (("temporary.* < 1\\.3")
12090 "temporary >= 1.1 && < 1.4")))))))
12091 (inputs
12092 `(("ghc-cereal" ,ghc-cereal)
12093 ("ghc-data-default-class"
12094 ,ghc-data-default-class)
12095 ("ghc-quickcheck" ,ghc-quickcheck)
12096 ("ghc-temporary" ,ghc-temporary)))
12097 (native-inputs
12098 `(("hspec-discover" ,hspec-discover)
12099 ("ghc-hspec" ,ghc-hspec)))
12100 (home-page "https://github.com/mrkkrp/wave")
12101 (synopsis "Work with WAVE and RF64 files in Haskell")
12102 (description "This package allows you to work with WAVE and RF64
12103 files in Haskell.")
12104 (license license:bsd-3)))
12105
12106 (define-public ghc-wcwidth
12107 (package
12108 (name "ghc-wcwidth")
12109 (version "0.0.2")
12110 (source
12111 (origin
12112 (method url-fetch)
12113 (uri (string-append "https://hackage.haskell.org/package/wcwidth/wcwidth-"
12114 version ".tar.gz"))
12115 (sha256
12116 (base32
12117 "1n1fq7v64b59ajf5g50iqj9sa34wm7s2j3viay0kxpmvlcv8gipz"))))
12118 (build-system haskell-build-system)
12119 (inputs
12120 `(("ghc-setlocale" ,ghc-setlocale)
12121 ("ghc-utf8-string" ,ghc-utf8-string)
12122 ("ghc-attoparsec" ,ghc-attoparsec)))
12123 (home-page "https://github.com/solidsnack/wcwidth/")
12124 (synopsis "Haskell bindings to wcwidth")
12125 (description "This package provides Haskell bindings to your system's
12126 native wcwidth and a command line tool to examine the widths assigned by it.
12127 The command line tool can compile a width table to Haskell code that assigns
12128 widths to the Char type.")
12129 (license license:bsd-3)))
12130
12131 (define-public ghc-wcwidth-bootstrap
12132 (package
12133 (inherit ghc-wcwidth)
12134 (name "ghc-wcwidth-bootstrap")
12135 (inputs
12136 `(("ghc-setlocale" ,ghc-setlocale)
12137 ("ghc-utf8-string" ,ghc-utf8-string)
12138 ("ghc-attoparsec" ,ghc-attoparsec-bootstrap)))
12139 (properties '((hidden? #t)))))
12140
12141 (define-public ghc-weigh
12142 (package
12143 (name "ghc-weigh")
12144 (version "0.0.14")
12145 (source
12146 (origin
12147 (method url-fetch)
12148 (uri (string-append "https://hackage.haskell.org/package/weigh/"
12149 "weigh-" version ".tar.gz"))
12150 (sha256
12151 (base32
12152 "0l85marb5rl9nr1c0id42dnr5i9fk1jciy5h6lywhb34w3hbj61g"))))
12153 (build-system haskell-build-system)
12154 (inputs
12155 `(("ghc-split" ,ghc-split)
12156 ("ghc-temporary" ,ghc-temporary)))
12157 (home-page "https://github.com/fpco/weigh#readme")
12158 (synopsis "Measure allocations of a Haskell functions/values")
12159 (description "This package provides tools to measure the memory usage of a
12160 Haskell value or function.")
12161 (license license:bsd-3)))
12162
12163 (define-public ghc-wl-pprint
12164 (package
12165 (name "ghc-wl-pprint")
12166 (version "1.2.1")
12167 (source (origin
12168 (method url-fetch)
12169 (uri (string-append
12170 "https://hackage.haskell.org/package/wl-pprint/wl-pprint-"
12171 version ".tar.gz"))
12172 (sha256
12173 (base32
12174 "0kn7y8pdrv8f87zhd5mifcl8fy3b2zvnzmzwhdqhxxlyzwiq6z0c"))))
12175 (build-system haskell-build-system)
12176 (home-page "https://hackage.haskell.org/package/wl-pprint")
12177 (synopsis "Wadler/Leijen pretty printer")
12178 (description
12179 "This is a pretty printing library based on Wadler's paper @i{A Prettier
12180 Printer}. This version allows the library user to declare overlapping
12181 instances of the @code{Pretty} class.")
12182 (license license:bsd-3)))
12183
12184 (define-public ghc-wl-pprint-annotated
12185 (package
12186 (name "ghc-wl-pprint-annotated")
12187 (version "0.1.0.1")
12188 (source
12189 (origin
12190 (method url-fetch)
12191 (uri (string-append
12192 "mirror://hackage/package/wl-pprint-annotated/wl-pprint-annotated-"
12193 version
12194 ".tar.gz"))
12195 (sha256
12196 (base32
12197 "1br7qyf27iza213inwhf9bm2k6in0zbmfw6w4clqlc9f9cj2nrkb"))))
12198 (build-system haskell-build-system)
12199 (native-inputs
12200 `(("ghc-tasty" ,ghc-tasty)
12201 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
12202 (home-page
12203 "https://github.com/minad/wl-pprint-annotated#readme")
12204 (synopsis
12205 "Wadler/Leijen pretty printer with annotation support")
12206 (description
12207 "Annotations are useful for coloring. This is a limited version of
12208 @code{wl-pprint-extras} without support for point effects and without the free
12209 monad. Like in @code{annotated-wl-pprint}, only annotations are supported.
12210 Compared to @code{annotated-wl-pprint} this library provides a slightly
12211 modernized interface.")
12212 (license license:bsd-3)))
12213
12214 (define-public ghc-wl-pprint-text
12215 (package
12216 (name "ghc-wl-pprint-text")
12217 (version "1.2.0.0")
12218 (source
12219 (origin
12220 (method url-fetch)
12221 (uri (string-append
12222 "https://hackage.haskell.org/package/wl-pprint-text/wl-pprint-text-"
12223 version ".tar.gz"))
12224 (sha256
12225 (base32
12226 "0g3w92rad6x5appfb22rbzcas2ix2h0hy91sdxhq8a4a5cnlrpa0"))))
12227 (build-system haskell-build-system)
12228 (inputs
12229 `(("ghc-base-compat" ,ghc-base-compat)))
12230 (home-page "https://hackage.haskell.org/package/wl-pprint-text")
12231 (synopsis "Wadler/Leijen Pretty Printer for Text values")
12232 (description
12233 "A clone of wl-pprint for use with the text library.")
12234 (license license:bsd-3)))
12235
12236 (define-public ghc-word8
12237 (package
12238 (name "ghc-word8")
12239 (version "0.1.3")
12240 (source
12241 (origin
12242 (method url-fetch)
12243 (uri (string-append
12244 "https://hackage.haskell.org/package/word8/word8-"
12245 version
12246 ".tar.gz"))
12247 (sha256
12248 (base32
12249 "12jx7f13d2h1djq4fh4dyrab61sm49mj1w61j3rzp2vjfm696c16"))))
12250 (build-system haskell-build-system)
12251 (native-inputs
12252 `(("ghc-hspec" ,ghc-hspec)
12253 ("hspec-discover" ,hspec-discover)))
12254 (home-page "https://hackage.haskell.org/package/word8")
12255 (synopsis "Word8 library for Haskell")
12256 (description "Word8 library to be used with @code{Data.ByteString}.")
12257 (license license:bsd-3)))
12258
12259 (define-public ghc-x11
12260 (package
12261 (name "ghc-x11")
12262 (version "1.9.1")
12263 (source
12264 (origin
12265 (method url-fetch)
12266 (uri (string-append "https://hackage.haskell.org/package/X11/"
12267 "X11-" version ".tar.gz"))
12268 (sha256
12269 (base32 "0gg6852mrlgl8zng1j84fismz7k81jr5fk92glgkscf8q6ryg0bm"))))
12270 (build-system haskell-build-system)
12271 (inputs
12272 `(("libx11" ,libx11)
12273 ("libxrandr" ,libxrandr)
12274 ("libxinerama" ,libxinerama)
12275 ("libxscrnsaver" ,libxscrnsaver)
12276 ("ghc-data-default" ,ghc-data-default)))
12277 (home-page "https://github.com/haskell-pkg-janitors/X11")
12278 (synopsis "Bindings to the X11 graphics library")
12279 (description
12280 "This package provides Haskell bindings to the X11 graphics library. The
12281 bindings are a direct translation of the C bindings.")
12282 (license license:bsd-3)))
12283
12284 (define-public ghc-x11-xft
12285 (package
12286 (name "ghc-x11-xft")
12287 (version "0.3.1")
12288 (source
12289 (origin
12290 (method url-fetch)
12291 (uri (string-append "https://hackage.haskell.org/package/X11-xft/"
12292 "X11-xft-" version ".tar.gz"))
12293 (sha256
12294 (base32 "1lgqb0s2qfwwgbvwxhjbi23rbwamzdi0l0slfr20c3jpcbp3zfjf"))))
12295 (inputs
12296 `(("ghc-x11" ,ghc-x11)
12297 ("ghc-utf8-string" ,ghc-utf8-string)
12298 ("libx11" ,libx11)
12299 ("libxft" ,libxft)
12300 ("xorgproto" ,xorgproto)))
12301 (native-inputs
12302 `(("pkg-config" ,pkg-config)))
12303 (build-system haskell-build-system)
12304 (home-page "https://hackage.haskell.org/package/X11-xft")
12305 (synopsis "Bindings to Xft")
12306 (description
12307 "Bindings to the Xft, X Free Type interface library, and some Xrender
12308 parts.")
12309 (license license:lgpl2.1)))
12310
12311 (define-public ghc-xdg-basedir
12312 (package
12313 (name "ghc-xdg-basedir")
12314 (version "0.2.2")
12315 (source
12316 (origin
12317 (method url-fetch)
12318 (uri (string-append
12319 "https://hackage.haskell.org/package/xdg-basedir/"
12320 "xdg-basedir-" version ".tar.gz"))
12321 (sha256
12322 (base32
12323 "0azlzaxp2dn4l1nr7shsxah2magk1szf6fx0mv75az00qsjw6qg4"))))
12324 (build-system haskell-build-system)
12325 (home-page "http://github.com/willdonnelly/xdg-basedir")
12326 (synopsis "XDG Base Directory library for Haskell")
12327 (description "This package provides a library implementing the XDG Base Directory spec.")
12328 (license license:bsd-3)))
12329
12330 (define-public ghc-xml
12331 (package
12332 (name "ghc-xml")
12333 (version "1.3.14")
12334 (source
12335 (origin
12336 (method url-fetch)
12337 (uri (string-append
12338 "https://hackage.haskell.org/package/xml/xml-"
12339 version
12340 ".tar.gz"))
12341 (sha256
12342 (base32
12343 "0g814lj7vaxvib2g3r734221k80k7ap9czv9hinifn8syals3l9j"))))
12344 (build-system haskell-build-system)
12345 (home-page "http://code.galois.com")
12346 (synopsis "Simple XML library for Haskell")
12347 (description "This package provides a simple XML library for Haskell.")
12348 (license license:bsd-3)))
12349
12350 (define-public ghc-xml-conduit
12351 (package
12352 (name "ghc-xml-conduit")
12353 (version "1.8.0.1")
12354 (source
12355 (origin
12356 (method url-fetch)
12357 (uri (string-append "https://hackage.haskell.org/package/xml-conduit/"
12358 "xml-conduit-" version ".tar.gz"))
12359 (sha256
12360 (base32
12361 "177gmyigxql1pn3ncz0r8annwv5cbxnihbgrrg1dhm4gmc9jy2wq"))))
12362 (build-system haskell-build-system)
12363 (inputs
12364 `(("ghc-conduit" ,ghc-conduit)
12365 ("ghc-conduit-extra" ,ghc-conduit-extra)
12366 ("ghc-doctest" ,ghc-doctest)
12367 ("ghc-resourcet" ,ghc-resourcet)
12368 ("ghc-xml-types" ,ghc-xml-types)
12369 ("ghc-attoparsec" ,ghc-attoparsec)
12370 ("ghc-data-default-class" ,ghc-data-default-class)
12371 ("ghc-blaze-markup" ,ghc-blaze-markup)
12372 ("ghc-blaze-html" ,ghc-blaze-html)
12373 ("ghc-monad-control" ,ghc-monad-control)
12374 ("ghc-hspec" ,ghc-hspec)
12375 ("ghc-hunit" ,ghc-hunit)))
12376 (home-page "https://github.com/snoyberg/xml")
12377 (synopsis "Utilities for dealing with XML with the conduit package")
12378 (description
12379 "This package provides pure-Haskell utilities for dealing with XML with
12380 the @code{conduit} package.")
12381 (license license:expat)))
12382
12383 (define-public ghc-xml-types
12384 (package
12385 (name "ghc-xml-types")
12386 (version "0.3.6")
12387 (source
12388 (origin
12389 (method url-fetch)
12390 (uri (string-append "https://hackage.haskell.org/package/xml-types/"
12391 "xml-types-" version ".tar.gz"))
12392 (sha256
12393 (base32
12394 "1jgqxsa9p2q3h6nymbfmvhldqrqlwrhrzmwadlyc0li50x0d8dwr"))))
12395 (build-system haskell-build-system)
12396 (home-page "https://john-millikin.com/software/haskell-xml/")
12397 (synopsis "Basic types for representing XML")
12398 (description "This package provides basic types for representing XML
12399 documents.")
12400 (license license:expat)))
12401
12402 (define-public ghc-yaml
12403 (package
12404 (name "ghc-yaml")
12405 (version "0.11.1.2")
12406 (source (origin
12407 (method url-fetch)
12408 (uri (string-append "https://hackage.haskell.org/package/"
12409 "yaml/yaml-" version ".tar.gz"))
12410 (sha256
12411 (base32
12412 "028pz77n92l6kjgjv263h4b6yhw1iibdbf3a3dkn5qnz537xpzhc"))))
12413 (build-system haskell-build-system)
12414 (inputs
12415 `(("ghc-conduit" ,ghc-conduit)
12416 ("ghc-resourcet" ,ghc-resourcet)
12417 ("ghc-aeson" ,ghc-aeson)
12418 ("ghc-unordered-containers" ,ghc-unordered-containers)
12419 ("ghc-vector" ,ghc-vector)
12420 ("ghc-attoparsec" ,ghc-attoparsec)
12421 ("ghc-scientific" ,ghc-scientific)
12422 ("ghc-semigroups" ,ghc-semigroups)
12423 ("ghc-temporary" ,ghc-temporary)
12424 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
12425 ("ghc-base-compat" ,ghc-base-compat)
12426 ("ghc-libyaml" ,ghc-libyaml)))
12427 (native-inputs
12428 `(("ghc-hspec" ,ghc-hspec)
12429 ("ghc-hunit" ,ghc-hunit)
12430 ("hspec-discover" ,hspec-discover)
12431 ("ghc-mockery" ,ghc-mockery)
12432 ("ghc-raw-strings-qq" ,ghc-raw-strings-qq)))
12433 (home-page "https://github.com/snoyberg/yaml/")
12434 (synopsis "Parsing and rendering YAML documents")
12435 (description
12436 "This package provides a library to parse and render YAML documents.")
12437 (license license:bsd-3)))
12438
12439 (define-public ghc-zip-archive
12440 (package
12441 (name "ghc-zip-archive")
12442 (version "0.4.1")
12443 (source
12444 (origin
12445 (method url-fetch)
12446 (uri (string-append
12447 "https://hackage.haskell.org/package/zip-archive/zip-archive-"
12448 version
12449 ".tar.gz"))
12450 (sha256
12451 (base32
12452 "1cdix5mnxrbs7b2kivhdydhfzgxidd9dqlw71mdw5p21cabwkmf5"))))
12453 (build-system haskell-build-system)
12454 (arguments
12455 `(#:phases
12456 (modify-phases %standard-phases
12457 (add-before 'check 'set-PATH-for-tests
12458 (lambda* (#:key inputs #:allow-other-keys)
12459 (let ((unzip (assoc-ref inputs "unzip"))
12460 (which (assoc-ref inputs "which"))
12461 (path (getenv "PATH")))
12462 (setenv "PATH" (string-append unzip "/bin:" which "/bin:" path))
12463 #t))))))
12464 (inputs
12465 `(("ghc-digest" ,ghc-digest)
12466 ("ghc-temporary" ,ghc-temporary)
12467 ("ghc-zlib" ,ghc-zlib)))
12468 (native-inputs
12469 `(("ghc-hunit" ,ghc-hunit)
12470 ("unzip" ,unzip)
12471 ("which" ,which)))
12472 (home-page "https://hackage.haskell.org/package/zip-archive")
12473 (synopsis "Zip archive library for Haskell")
12474 (description "The zip-archive library provides functions for creating,
12475 modifying, and extracting files from zip archives in Haskell.")
12476 (license license:bsd-3)))
12477
12478 (define-public ghc-zlib
12479 (package
12480 (name "ghc-zlib")
12481 (version "0.6.2.1")
12482 (outputs '("out" "doc"))
12483 (source
12484 (origin
12485 (method url-fetch)
12486 (uri (string-append
12487 "https://hackage.haskell.org/package/zlib/zlib-"
12488 version
12489 ".tar.gz"))
12490 (sha256
12491 (base32
12492 "1l11jraslcrp9d4wnhwfyhwk4fsiq1aq8i6vj81vcq1m2zzi1y7h"))))
12493 (build-system haskell-build-system)
12494 (arguments
12495 `(#:phases
12496 (modify-phases %standard-phases
12497 (add-before 'configure 'strip-test-framework-constraints
12498 (lambda _
12499 (substitute* "zlib.cabal"
12500 (("tasty >= 0\\.8 && < 0\\.12") "tasty")
12501 (("tasty-hunit >= 0\\.8 && < 0\\.10") "tasty-hunit")
12502 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
12503 (inputs `(("zlib" ,zlib)))
12504 (native-inputs
12505 `(("ghc-quickcheck" ,ghc-quickcheck)
12506 ("ghc-tasty" ,ghc-tasty)
12507 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
12508 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
12509 (home-page "https://hackage.haskell.org/package/zlib")
12510 (synopsis
12511 "Compression and decompression in the gzip and zlib formats")
12512 (description
12513 "This package provides a pure interface for compressing and decompressing
12514 streams of data represented as lazy @code{ByteString}s. It uses the zlib C
12515 library so it has high performance. It supports the @code{zlib}, @code{gzip}
12516 and @code{raw} compression formats. It provides a convenient high level API
12517 suitable for most tasks and for the few cases where more control is needed it
12518 provides access to the full zlib feature set.")
12519 (license license:bsd-3)))
12520
12521 (define-public ghc-zlib-bindings
12522 (package
12523 (name "ghc-zlib-bindings")
12524 (version "0.1.1.5")
12525 (source
12526 (origin
12527 (method url-fetch)
12528 (uri (string-append "https://hackage.haskell.org/package/"
12529 "zlib-bindings/zlib-bindings-" version ".tar.gz"))
12530 (sha256
12531 (base32
12532 "02ciywlz4wdlymgc3jsnicz9kzvymjw1www2163gxidnz4wb8fy8"))))
12533 (build-system haskell-build-system)
12534 (inputs
12535 `(("ghc-zlib" ,ghc-zlib)))
12536 (native-inputs
12537 `(("ghc-hspec" ,ghc-hspec)
12538 ("ghc-quickcheck" ,ghc-quickcheck)))
12539 (arguments
12540 `(#:cabal-revision
12541 ("2" "0fq49694gqkab8m0vq4i879blswczwd66n7xh4r4gwiahf0ryvqc")))
12542 (home-page "https://github.com/snapframework/zlib-bindings")
12543 (synopsis "Low-level bindings to the @code{zlib} package")
12544 (description "This package provides low-level bindings to the
12545 @code{zlib} package.")
12546 (license license:bsd-3)))
12547
12548 (define-public ghc-zstd
12549 (package
12550 (name "ghc-zstd")
12551 (version "0.1.1.2")
12552 (source
12553 (origin
12554 (method url-fetch)
12555 (uri (string-append "https://hackage.haskell.org/package/"
12556 "zstd/zstd-" version ".tar.gz"))
12557 (sha256
12558 (base32
12559 "147s496zvw13akxqzg65mgfvk3bvhrcilxgf8n786prxg5cm4jz2"))))
12560 (build-system haskell-build-system)
12561 (native-inputs
12562 `(("ghc-quickcheck" ,ghc-quickcheck)
12563 ("ghc-test-framework" ,ghc-test-framework)
12564 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
12565 (home-page "https://github.com/luispedro/hs-zstd")
12566 (synopsis "Haskell bindings to the Zstandard compression algorithm")
12567 (description "This library provides Haskell bindings to the
12568 Zstandard compression algorithm, a fast lossless compression algorithm
12569 targeting real-time compression scenarios at zlib-level and better
12570 compression ratios.")
12571 (license license:bsd-3)))