gnu: coq-coquelicot: Update to 3.0.3.
[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-active
133 (package
134 (name "ghc-active")
135 (version "0.2.0.14")
136 (source
137 (origin
138 (method url-fetch)
139 (uri (string-append "https://hackage.haskell.org/package/"
140 "active/active-" version ".tar.gz"))
141 (sha256
142 (base32
143 "0x3b4ln6csa554qls28wbxvclkbdz3yi60i1m0q5ing0cs16fifz"))))
144 (build-system haskell-build-system)
145 (inputs
146 `(("ghc-vector" ,ghc-vector)
147 ("ghc-semigroups" ,ghc-semigroups)
148 ("ghc-semigroupoids" ,ghc-semigroupoids)
149 ("ghc-lens" ,ghc-lens)
150 ("ghc-linear" ,ghc-linear)))
151 (native-inputs
152 `(("ghc-quickcheck" ,ghc-quickcheck)))
153 (home-page "https://hackage.haskell.org/package/active")
154 (synopsis "Abstractions for animation")
155 (description "This package defines an @code{Active} abstraction for
156 time-varying values with finite start and end times. It is used for
157 describing animations within the
158 @url{https://archives.haskell.org/projects.haskell.org/diagrams/,
159 diagrams framework}.")
160 (license license:bsd-3)))
161
162 (define-public ghc-adjunctions
163 (package
164 (name "ghc-adjunctions")
165 (version "4.4")
166 (source
167 (origin
168 (method url-fetch)
169 (uri (string-append
170 "https://hackage.haskell.org/package/adjunctions/adjunctions-"
171 version
172 ".tar.gz"))
173 (sha256
174 (base32
175 "1sbal7cbhm12crfnfhkk322jnzgx7lhw3jzq0p463bipagsjwz2h"))))
176 (build-system haskell-build-system)
177 (arguments
178 `(#:cabal-revision
179 ("2" "1yfsjx7dqikg3hvld7i91xfsg5lawmr5980lvfd794sybmgxsf17")))
180 (inputs
181 `(("ghc-profunctors" ,ghc-profunctors)
182 ("ghc-comonad" ,ghc-comonad)
183 ("ghc-contravariant" ,ghc-contravariant)
184 ("ghc-distributive" ,ghc-distributive)
185 ("ghc-free" ,ghc-free)
186 ("ghc-tagged" ,ghc-tagged)
187 ("ghc-semigroupoids" ,ghc-semigroupoids)
188 ("ghc-semigroups" ,ghc-semigroups)
189 ("ghc-transformers-compat" ,ghc-transformers-compat)
190 ("ghc-void" ,ghc-void)))
191 (native-inputs
192 `(("ghc-generic-deriving" ,ghc-generic-deriving)
193 ("ghc-hspec" ,ghc-hspec)
194 ("hspec-discover" ,hspec-discover)))
195 (home-page "https://github.com/ekmett/adjunctions/")
196 (synopsis "Adjunctions and representable functors")
197 (description "This library provides adjunctions and representable functors
198 for Haskell.")
199 (license license:bsd-3)))
200
201 (define-public ghc-aeson-compat
202 (package
203 (name "ghc-aeson-compat")
204 (version "0.3.9")
205 (source
206 (origin
207 (method url-fetch)
208 (uri (string-append "https://hackage.haskell.org/package/"
209 "aeson-compat-" version "/"
210 "aeson-compat-" version ".tar.gz"))
211 (sha256
212 (base32
213 "1j13gykv4ryvmr14w5blz0nnpdb4p0hpa27wahw3mhb1lwdr8hz0"))))
214 (build-system haskell-build-system)
215 (arguments `(#:tests? #f)) ; FIXME: Tests require QuickCheck >= 2.10
216 (inputs `(("ghc-base-compat" ,ghc-base-compat)
217 ("ghc-aeson" ,ghc-aeson)
218 ("ghc-attoparsec" ,ghc-attoparsec)
219 ("ghc-attoparsec" ,ghc-attoparsec-iso8601)
220 ("ghc-exceptions" ,ghc-exceptions)
221 ("ghc-hashable" ,ghc-hashable)
222 ("ghc-scientific" ,ghc-scientific)
223 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
224 ("ghc-unordered-containers" ,ghc-unordered-containers)
225 ("ghc-vector" ,ghc-vector)
226 ("ghc-tagged" ,ghc-tagged)
227 ("ghc-semigroups" ,ghc-semigroups)
228 ("ghc-nats" ,ghc-nats)))
229 (home-page "https://github.com/phadej/aeson-compat")
230 (synopsis "Compatibility layer for ghc-aeson")
231 (description "This Haskell package provides compatibility layer for
232 ghc-aeson.")
233 (license license:bsd-3)))
234
235 (define-public ghc-aeson-diff
236 (package
237 (name "ghc-aeson-diff")
238 (version "1.1.0.7")
239 (source
240 (origin
241 (method url-fetch)
242 (uri (string-append "https://hackage.haskell.org/package/"
243 "aeson-diff/aeson-diff-" version ".tar.gz"))
244 (sha256
245 (base32
246 "01d48pd7d1mb9cd5yxfajln8rmjdjq8ch91s0lav4qw1azv6vp2r"))))
247 (build-system haskell-build-system)
248 (inputs
249 `(("ghc-aeson" ,ghc-aeson)
250 ("ghc-edit-distance-vector" ,ghc-edit-distance-vector)
251 ("ghc-hashable" ,ghc-hashable)
252 ("ghc-scientific" ,ghc-scientific)
253 ("ghc-unordered-containers" ,ghc-unordered-containers)
254 ("ghc-vector" ,ghc-vector)
255 ("ghc-semigroups" ,ghc-semigroups)
256 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
257 (native-inputs
258 `(("ghc-quickcheck" ,ghc-quickcheck)
259 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
260 ("ghc-glob" ,ghc-glob)
261 ("ghc-quickcheck" ,ghc-quickcheck)
262 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
263 ("ghc-quickcheck" ,ghc-quickcheck)
264 ("ghc-doctest" ,ghc-doctest)
265 ("hlint" ,hlint)))
266 (home-page "https://github.com/thsutton/aeson-diff")
267 (synopsis "Extract and apply patches to JSON documents")
268 (description "This is a small library for working with changes to JSON
269 documents. It includes a library and two command-line executables in the
270 style of the @command{diff} and @command{patch} commands available on many
271 systems.")
272 (license license:bsd-3)))
273
274 (define-public ghc-alex
275 (package
276 (name "ghc-alex")
277 (version "3.2.4")
278 (source
279 (origin
280 (method url-fetch)
281 (uri (string-append
282 "https://hackage.haskell.org/package/alex/alex-"
283 version
284 ".tar.gz"))
285 (sha256
286 (base32
287 "0cpjixgsr0b2x4s6hz4aa6gnmjw9i7xd9nlfi8m37zqlidq4v3nm"))))
288 (build-system haskell-build-system)
289 (arguments
290 `(#:phases
291 (modify-phases %standard-phases
292 (add-before 'check 'set-check-variables
293 (lambda _
294 (setenv "PATH" (string-append (getcwd) "/dist/build/alex:"
295 (getenv "PATH")))
296 (setenv "alex_datadir" (string-append (getcwd) "/data"))
297 #t)))))
298 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
299 (native-inputs
300 `(("which" ,which)))
301 (home-page "https://www.haskell.org/alex/")
302 (synopsis
303 "Tool for generating lexical analysers in Haskell")
304 (description
305 "Alex is a tool for generating lexical analysers in Haskell. It takes a
306 description of tokens based on regular expressions and generates a Haskell
307 module containing code for scanning text efficiently. It is similar to the
308 tool lex or flex for C/C++.")
309 (license license:bsd-3)))
310
311 (define-public ghc-alsa-core
312 (package
313 (name "ghc-alsa-core")
314 (version "0.5.0.1")
315 (source
316 (origin
317 (method url-fetch)
318 (uri (string-append
319 "mirror://hackage/package/alsa-core/alsa-core-"
320 version
321 ".tar.gz"))
322 (sha256
323 (base32
324 "1avh4a419h9d2zsslg6j8hm87ppgsgqafz8ll037rk2yy1g4jl7b"))))
325 (build-system haskell-build-system)
326 (inputs
327 `(("ghc-extensible-exceptions" ,ghc-extensible-exceptions)
328 ("alsa-lib" ,alsa-lib)))
329 (native-inputs
330 `(("pkg-config" ,pkg-config)))
331 (home-page "http://www.haskell.org/haskellwiki/ALSA")
332 (synopsis "Binding to the ALSA Library API (Exceptions)")
333 (description "This package provides access to ALSA infrastructure, that is
334 needed by both alsa-seq and alsa-pcm.")
335 (license license:bsd-3)))
336
337 (define-public ghc-alsa-mixer
338 (package
339 (name "ghc-alsa-mixer")
340 (version "0.3.0")
341 (source
342 (origin
343 (method url-fetch)
344 (uri
345 (string-append
346 "mirror://hackage/package/alsa-mixer/alsa-mixer-"
347 version ".tar.gz"))
348 (sha256
349 (base32
350 "00ny2p3276jilidjs44npc8zmbhynz3f2lpmlwwl6swwx5yijsnb"))))
351 (build-system haskell-build-system)
352 (inputs `(("ghc-alsa-core" ,ghc-alsa-core)))
353 (native-inputs `(("ghc-c2hs" ,ghc-c2hs)))
354 (home-page "https://github.com/ttuegel/alsa-mixer")
355 (synopsis "Bindings to the ALSA simple mixer API")
356 (description
357 "This package provides bindings to the ALSA simple mixer API.")
358 (license license:bsd-3)))
359
360 (define-public ghc-annotated-wl-pprint
361 (package
362 (name "ghc-annotated-wl-pprint")
363 (version "0.7.0")
364 (source
365 (origin
366 (method url-fetch)
367 (uri (string-append
368 "https://hackage.haskell.org/package/annotated-wl-pprint"
369 "/annotated-wl-pprint-" version
370 ".tar.gz"))
371 (sha256
372 (base32
373 "061xfz6qany3wf95csl8dcik2pz22cn8iv1qchhm16isw5zjs9hc"))))
374 (build-system haskell-build-system)
375 (home-page
376 "https://github.com/david-christiansen/annotated-wl-pprint")
377 (synopsis
378 "The Wadler/Leijen Pretty Printer, with annotation support")
379 (description "This is a modified version of wl-pprint, which was based on
380 Wadler's paper \"A Prettier Printer\". This version allows the library user
381 to annotate the text with semantic information, which can later be rendered in
382 a variety of ways.")
383 (license license:bsd-3)))
384
385 (define-public ghc-ansi-terminal
386 (package
387 (name "ghc-ansi-terminal")
388 (version "0.9.1")
389 (source
390 (origin
391 (method url-fetch)
392 (uri (string-append
393 "https://hackage.haskell.org/package/ansi-terminal/ansi-terminal-"
394 version
395 ".tar.gz"))
396 (sha256
397 (base32
398 "1yr0ld0kqns3w3j9gl62bdwshvyazidx4dv1qkvq19ivnf08w23l"))))
399 (build-system haskell-build-system)
400 (inputs
401 `(("ghc-colour" ,ghc-colour)))
402 (home-page "https://github.com/feuerbach/ansi-terminal")
403 (synopsis "ANSI terminal support for Haskell")
404 (description "This package provides ANSI terminal support for Haskell. It
405 allows cursor movement, screen clearing, color output showing or hiding the
406 cursor, and changing the title.")
407 (license license:bsd-3)))
408
409 (define-public ghc-ansi-wl-pprint
410 (package
411 (name "ghc-ansi-wl-pprint")
412 (version "0.6.9")
413 (source
414 (origin
415 (method url-fetch)
416 (uri (string-append "https://hackage.haskell.org/package/"
417 "ansi-wl-pprint/ansi-wl-pprint-"
418 version ".tar.gz"))
419 (sha256
420 (base32
421 "1b2fg8px98dzbaqyns10kvs8kn6cl1hdq5wb9saz40izrpkyicm7"))))
422 (build-system haskell-build-system)
423 (inputs
424 `(("ghc-ansi-terminal" ,ghc-ansi-terminal)))
425 (home-page "https://github.com/ekmett/ansi-wl-pprint")
426 (synopsis "Wadler/Leijen Pretty Printer for colored ANSI terminal output")
427 (description "This is a pretty printing library based on Wadler's paper
428 \"A Prettier Printer\". It has been enhanced with support for ANSI terminal
429 colored output using the ansi-terminal package.")
430 (license license:bsd-3)))
431
432 (define-public ghc-appar
433 (package
434 (name "ghc-appar")
435 (version "0.1.8")
436 (source
437 (origin
438 (method url-fetch)
439 (uri (string-append
440 "https://hackage.haskell.org/package/appar/appar-"
441 version
442 ".tar.gz"))
443 (sha256
444 (base32
445 "07v3h766q9mnhphsm53718h1lds147ix7dj15kc5hnsj4vffvkn4"))))
446 (build-system haskell-build-system)
447 (home-page
448 "https://hackage.haskell.org/package/appar")
449 (synopsis "Simple applicative parser")
450 (description "This package provides a simple applicative parser in Parsec
451 style.")
452 (license license:bsd-3)))
453
454 (define-public ghc-async
455 (package
456 (name "ghc-async")
457 (version "2.2.2")
458 (source
459 (origin
460 (method url-fetch)
461 (uri (string-append
462 "https://hackage.haskell.org/package/async/async-"
463 version
464 ".tar.gz"))
465 (sha256
466 (base32
467 "1zxvfcyy4sg8lmzphi5dgnavksj5pav6rbvd5kc48lf4hanb2jjb"))))
468 (build-system haskell-build-system)
469 (inputs
470 `(("ghc-hashable" ,ghc-hashable)
471 ("ghc-hunit" ,ghc-hunit)
472 ("ghc-test-framework" ,ghc-test-framework)
473 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
474 (home-page "https://github.com/simonmar/async")
475 (synopsis "Library to run IO operations asynchronously")
476 (description "Async provides a library to run IO operations
477 asynchronously, and wait for their results. It is a higher-level interface
478 over threads in Haskell, in which @code{Async a} is a concurrent thread that
479 will eventually deliver a value of type @code{a}.")
480 (license license:bsd-3)))
481
482 (define-public ghc-atomic-primops
483 (package
484 (name "ghc-atomic-primops")
485 (version "0.8.3")
486 (source
487 (origin
488 (method url-fetch)
489 (uri (string-append "https://hackage.haskell.org/package/atomic-primops"
490 "/atomic-primops-" version ".tar.gz"))
491 (sha256
492 (base32
493 "03n5dmyplrqgbyf8dr91izkxci7gkl3i3fnp82i5ld869zrgjfh0"))))
494 (build-system haskell-build-system)
495 (inputs `(("ghc-primitive" ,ghc-primitive)))
496 (home-page "https://github.com/rrnewton/haskell-lockfree/wiki")
497 (synopsis "Safe approach to CAS and other atomic ops")
498 (description
499 "GHC 7.4 introduced a new @code{casMutVar} PrimOp which is difficult to
500 use safely, because pointer equality is a highly unstable property in Haskell.
501 This library provides a safer method based on the concept of @code{Ticket}s.")
502 (license license:bsd-3)))
503
504 (define-public ghc-atomic-write
505 (package
506 (name "ghc-atomic-write")
507 (version "0.2.0.6")
508 (source
509 (origin
510 (method url-fetch)
511 (uri (string-append
512 "https://hackage.haskell.org/package/atomic-write/atomic-write-"
513 version
514 ".tar.gz"))
515 (sha256
516 (base32
517 "1xs3shwnlj8hmnm3q6jc8nv78z0481i5n4hrqqdmbpx8grvlnqyl"))))
518 (build-system haskell-build-system)
519 (inputs
520 `(("ghc-temporary" ,ghc-temporary)
521 ("ghc-unix-compat" ,ghc-unix-compat)))
522 (native-inputs
523 `(("ghc-temporary" ,ghc-temporary)
524 ("ghc-unix-compat" ,ghc-unix-compat)
525 ("ghc-hspec" ,ghc-hspec)
526 ("hspec-discover" ,hspec-discover)))
527 (home-page "https://github.com/stackbuilders/atomic-write")
528 (synopsis "Atomically write to a file")
529 (description
530 "Atomically write to a file on POSIX-compliant systems while preserving
531 permissions. @code{mv} is an atomic operation. This makes it simple to write
532 to a file atomically just by using the @code{mv} operation. However, this
533 will destroy the permissions on the original file. This library preserves
534 permissions while atomically writing to a file.")
535 (license license:expat)))
536
537 (define-public ghc-attoparsec
538 (package
539 (name "ghc-attoparsec")
540 (version "0.13.2.3")
541 (source
542 (origin
543 (method url-fetch)
544 (uri (string-append
545 "https://hackage.haskell.org/package/attoparsec/attoparsec-"
546 version
547 ".tar.gz"))
548 (sha256
549 (base32
550 "1ngjn9h5n0vyki0m2jir4mg85875ysswy9hznpmj1r856mqwc6ix"))))
551 (build-system haskell-build-system)
552 (arguments
553 `(#:phases
554 (modify-phases %standard-phases
555 (add-after 'unpack 'patch-for-newer-quickcheck
556 (lambda _
557 (substitute* "attoparsec.cabal"
558 (("QuickCheck >= 2\\.7 && < 2\\.10")
559 "QuickCheck >= 2.7 && < 2.12"))
560 ;; This test fails because of the newer QuickCheck:
561 ;; <https://github.com/bos/attoparsec/issues/134>.
562 (substitute* "tests/QC/ByteString.hs"
563 ((", testProperty \"satisfyWith\" satisfyWith")
564 "")))))))
565 (inputs
566 `(("ghc-scientific" ,ghc-scientific)))
567 (native-inputs
568 `(("ghc-tasty" ,ghc-tasty)
569 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
570 ("ghc-quickcheck" ,ghc-quickcheck)
571 ("ghc-quickcheck-unicode" ,ghc-quickcheck-unicode)
572 ("ghc-vector" ,ghc-vector)))
573 (home-page "https://github.com/bos/attoparsec")
574 (synopsis "Fast combinator parsing for bytestrings and text")
575 (description "This library provides a fast parser combinator library,
576 aimed particularly at dealing efficiently with network protocols and
577 complicated text/binary file formats.")
578 (license license:bsd-3)))
579
580 (define-public ghc-attoparsec-bootstrap
581 (package
582 (inherit ghc-attoparsec)
583 (name "ghc-attoparsec-bootstrap")
584 (arguments `(#:tests? #f))
585 (inputs
586 `(("ghc-scientific" ,ghc-scientific-bootstrap)))
587 (native-inputs '())
588 (properties '((hidden? #t)))))
589
590 (define-public ghc-attoparsec-iso8601
591 (package
592 (name "ghc-attoparsec-iso8601")
593 (version "1.0.1.0")
594 (source
595 (origin
596 (method url-fetch)
597 (uri (string-append "https://hackage.haskell.org/package/"
598 "attoparsec-iso8601-" version "/"
599 "attoparsec-iso8601-" version ".tar.gz"))
600 (sha256
601 (base32
602 "0hj10w15qp2z5bz2v4xahhmbgzclpyfi5l2sv97wqycysg9gp7s9"))))
603 (build-system haskell-build-system)
604 (arguments
605 `(#:cabal-revision
606 ("1" "1rjhscmczgs1bwyqx7lvkm8py3ylxjd2797mrzgnq60fvm292750")))
607 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
608 ("ghc-base-compat" ,ghc-base-compat)))
609 (home-page "https://github.com/bos/aeson")
610 (synopsis "Parse ISO 8601 dates")
611 (description "Haskell library for parsing of ISO 8601 dates, originally
612 from aeson.")
613 (license license:bsd-3)))
614
615 (define-public ghc-auto-update
616 (package
617 (name "ghc-auto-update")
618 (version "0.1.6")
619 (source
620 (origin
621 (method url-fetch)
622 (uri (string-append
623 "https://hackage.haskell.org/package/auto-update/auto-update-"
624 version
625 ".tar.gz"))
626 (sha256
627 (base32
628 "1i36xc2i34aync8271x3pv515l3zb53i518dybn8ghqkhzf27q7l"))))
629 (build-system haskell-build-system)
630 (native-inputs
631 `(("ghc-hspec" ,ghc-hspec)
632 ("ghc-hunit" ,ghc-hunit)
633 ("ghc-retry" ,ghc-retry)
634 ("hspec-discover" ,hspec-discover)))
635 (home-page "https://github.com/yesodweb/wai")
636 (synopsis "Efficiently run periodic, on-demand actions")
637 (description "This library provides mechanisms to efficiently run
638 periodic, on-demand actions in Haskell.")
639 (license license:expat)))
640
641 (define-public ghc-aws
642 (package
643 (name "ghc-aws")
644 (version "0.20")
645 (source
646 (origin
647 (method url-fetch)
648 (uri (string-append "https://hackage.haskell.org/package/"
649 "aws-" version "/aws-" version ".tar.gz"))
650 (sha256 (base32
651 "0pwpabmypi1w8rni9qfwabgn95jks4h8dyw6889mn8xzsrhdhyf0"))))
652 (build-system haskell-build-system)
653 (arguments `(#:tests? #f)) ; Tests require AWS credentials.
654 (inputs
655 `(("ghc-aeson" ,ghc-aeson)
656 ("ghc-attoparsec" ,ghc-attoparsec)
657 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
658 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
659 ("ghc-blaze-builder" ,ghc-blaze-builder)
660 ("ghc-byteable" ,ghc-byteable)
661 ("ghc-case-insensitive" ,ghc-case-insensitive)
662 ("ghc-cereal" ,ghc-cereal)
663 ("ghc-conduit" ,ghc-conduit)
664 ("ghc-conduit-extra" ,ghc-conduit-extra)
665 ("ghc-cryptonite" ,ghc-cryptonite)
666 ("ghc-data-default" ,ghc-data-default)
667 ("ghc-http-conduit" ,ghc-http-conduit)
668 ("ghc-http-types" ,ghc-http-types)
669 ("ghc-lifted-base" ,ghc-lifted-base)
670 ("ghc-monad-control" ,ghc-monad-control)
671 ("ghc-network" ,ghc-network)
672 ("ghc-old-locale" ,ghc-old-locale)
673 ("ghc-safe" ,ghc-safe)
674 ("ghc-scientific" ,ghc-scientific)
675 ("ghc-tagged" ,ghc-tagged)
676 ("ghc-unordered-containers" ,ghc-unordered-containers)
677 ("ghc-utf8-string" ,ghc-utf8-string)
678 ("ghc-vector" ,ghc-vector)
679 ("ghc-xml-conduit" ,ghc-xml-conduit)))
680 (native-inputs
681 `(("ghc-quickcheck" ,ghc-quickcheck)
682 ("ghc-errors" ,ghc-errors)
683 ("ghc-http-client" ,ghc-http-client)
684 ("ghc-http-client-tls" ,ghc-http-client-tls)
685 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
686 ("ghc-tasty" ,ghc-tasty)
687 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
688 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
689 ("ghc-conduit-combinators" ,ghc-conduit-combinators)))
690 (home-page "https://github.com/aristidb/aws")
691 (synopsis "Amazon Web Services for Haskell")
692 (description "This package attempts to provide support for using
693 Amazon Web Services like S3 (storage), SQS (queuing) and others to
694 Haskell programmers. The ultimate goal is to support all Amazon
695 Web Services.")
696 (license license:bsd-3)))
697
698 (define-public ghc-base16-bytestring
699 (package
700 (name "ghc-base16-bytestring")
701 (version "0.1.1.6")
702 (source
703 (origin
704 (method url-fetch)
705 (uri (string-append
706 "https://hackage.haskell.org/package/base16-bytestring/"
707 "base16-bytestring-" version ".tar.gz"))
708 (sha256
709 (base32
710 "0jf40m3yijqw6wd1rwwvviww46fasphaay9m9rgqyhf5aahnbzjs"))))
711 (build-system haskell-build-system)
712 (home-page "https://github.com/bos/base16-bytestring")
713 (synopsis "Fast base16 (hex) encoding and decoding for ByteStrings")
714 (description
715 "This package provides a Haskell library for working with base16-encoded
716 data quickly and efficiently, using the ByteString type.")
717 (license license:bsd-3)))
718
719 (define-public ghc-base64-bytestring
720 (package
721 (name "ghc-base64-bytestring")
722 (version "1.0.0.2")
723 (source
724 (origin
725 (method url-fetch)
726 (uri (string-append
727 "https://hackage.haskell.org/package/base64-bytestring/base64-bytestring-"
728 version
729 ".tar.gz"))
730 (sha256
731 (base32 "13305brzlac24pifiqd5a2z10c6k6amhpdy9cc0z5ryrkgnm8dhr"))))
732 (build-system haskell-build-system)
733 (arguments `(#:tests? #f)) ; FIXME: testing libraries are missing.
734 (home-page "https://github.com/bos/base64-bytestring")
735 (synopsis "Base64 encoding and decoding for ByteStrings")
736 (description "This library provides fast base64 encoding and decoding for
737 Haskell @code{ByteString}s.")
738 (license license:bsd-3)))
739
740 (define-public ghc-base-compat
741 (package
742 (name "ghc-base-compat")
743 (version "0.10.5")
744 (source
745 (origin
746 (method url-fetch)
747 (uri (string-append
748 "https://hackage.haskell.org/package/base-compat/base-compat-"
749 version
750 ".tar.gz"))
751 (sha256
752 (base32
753 "0hgvlqcr852hfp52jp99snhbj550mvxxpi8qn15d8ml9aqhyl2lr"))))
754 (build-system haskell-build-system)
755 (native-inputs
756 `(("ghc-quickcheck" ,ghc-quickcheck)
757 ("ghc-hspec" ,ghc-hspec)
758 ("hspec-discover" ,hspec-discover)))
759 (home-page "https://hackage.haskell.org/package/base-compat")
760 (synopsis "Haskell compiler compatibility library")
761 (description "This library provides functions available in later versions
762 of base to a wider range of compilers, without requiring the use of CPP
763 pragmas in your code.")
764 (license license:bsd-3)))
765
766 (define-public ghc-base-compat-batteries
767 (package
768 (name "ghc-base-compat-batteries")
769 (version "0.10.5")
770 (source
771 (origin
772 (method url-fetch)
773 (uri (string-append "https://hackage.haskell.org/package/"
774 "base-compat-batteries/base-compat-batteries-"
775 version ".tar.gz"))
776 (sha256
777 (base32
778 "1vkhc639vqiv5p39jn1v312z32i7yk5q2lf0ap4jxl1v8p8wyp8p"))))
779 (build-system haskell-build-system)
780 (inputs
781 `(("ghc-base-compat" ,ghc-base-compat)))
782 (native-inputs
783 `(("ghc-hspec" ,ghc-hspec)
784 ("ghc-quickcheck" ,ghc-quickcheck)
785 ("hspec-discover" ,hspec-discover)))
786 (arguments
787 `(#:cabal-revision
788 ("1" "15sn2qc8k0hxbb2nai341kkrci98hlhzcj2ci087m0zxcg5jcdbp")))
789 (home-page "http://hackage.haskell.org/package/base-compat-batteries")
790 (synopsis "base-compat with extra batteries")
791 (description "This library provides functions available in later
792 versions of @code{base} to a wider range of compilers, without requiring
793 you to use CPP pragmas in your code. This package provides the same API
794 as the @code{base-compat} library, but depends on compatibility
795 packages (such as @code{semigroups}) to offer a wider support window
796 than @code{base-compat}, which has no dependencies.")
797 (license license:expat)))
798
799 (define-public ghc-basement
800 (package
801 (name "ghc-basement")
802 (version "0.0.11")
803 (source
804 (origin
805 (method url-fetch)
806 (uri (string-append "https://hackage.haskell.org/package/"
807 "basement/basement-" version ".tar.gz"))
808 (sha256
809 (base32
810 "0srlws74yiraqaapgcjd9p5d1fwb3zr9swcz74jpjm55fls2nn37"))))
811 (build-system haskell-build-system)
812 (home-page "https://github.com/haskell-foundation/foundation")
813 (synopsis "Basic primitives for Foundation starter pack")
814 (description
815 "This package contains basic primitives for the Foundation set of
816 packages.")
817 (license license:bsd-3)))
818
819 (define-public ghc-base-orphans
820 (package
821 (name "ghc-base-orphans")
822 (version "0.8.1")
823 (source
824 (origin
825 (method url-fetch)
826 (uri (string-append
827 "https://hackage.haskell.org/package/base-orphans/base-orphans-"
828 version
829 ".tar.gz"))
830 (sha256
831 (base32
832 "1nwr9av27i9p72k0sn96mw3ywdczw65dy5gd5wxpabhhxlxdcas4"))))
833 (build-system haskell-build-system)
834 (native-inputs
835 `(("ghc-quickcheck" ,ghc-quickcheck)
836 ("ghc-hspec" ,ghc-hspec)
837 ("hspec-discover" ,hspec-discover)))
838 (home-page "https://hackage.haskell.org/package/base-orphans")
839 (synopsis "Orphan instances for backwards compatibility")
840 (description "This package defines orphan instances that mimic instances
841 available in later versions of base to a wider (older) range of compilers.")
842 (license license:bsd-3)))
843
844 (define-public ghc-base-prelude
845 (package
846 (name "ghc-base-prelude")
847 (version "1.3")
848 (source
849 (origin
850 (method url-fetch)
851 (uri (string-append "https://hackage.haskell.org/package/"
852 "base-prelude-" version "/"
853 "base-prelude-" version ".tar.gz"))
854 (sha256
855 (base32
856 "1zk728sd09hh2r4xwz4lazsrrgg5cshydn64932sm0vckplndk73"))))
857 (build-system haskell-build-system)
858 (home-page "https://github.com/nikita-volkov/base-prelude")
859 (synopsis "The most complete prelude formed solely from the Haskell's base
860 package")
861 (description "This Haskell package aims to reexport all the non-conflicting
862 and most general definitions from the \"base\" package.
863
864 This includes APIs for applicatives, arrows, monoids, foldables, traversables,
865 exceptions, generics, ST, MVars and STM.
866
867 This package will never have any dependencies other than \"base\".
868
869 Versioning policy:
870
871 The versioning policy of this package deviates from PVP in the sense
872 that its exports in part are transitively determined by the version of \"base\".
873 Therefore it's recommended for the users of @code{ghc-base-prelude} to specify
874 the bounds of \"base\" as well.")
875 (license license:expat)))
876
877 (define-public ghc-base-unicode-symbols
878 (package
879 (name "ghc-base-unicode-symbols")
880 (version "0.2.3")
881 (source
882 (origin
883 (method url-fetch)
884 (uri (string-append
885 "mirror://hackage/package/base-unicode-symbols/base-unicode-symbols-"
886 version
887 ".tar.gz"))
888 (sha256
889 (base32
890 "1ia6li7qjg1zkak4gf6mnbshw45mq9bfjr0jch58ds0lscmvwyzf"))))
891 (build-system haskell-build-system)
892 (home-page "http://www.haskell.org/haskellwiki/Unicode-symbols")
893 (synopsis "Unicode alternatives for common functions and operators")
894 (description "This package defines new symbols for a number of functions,
895 operators and types in the base package. All symbols are documented with
896 their actual definition and information regarding their Unicode code point.
897 They should be completely interchangeable with their definitions. For
898 further Unicode goodness you can enable the @code{UnicodeSyntax}
899 @url{https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/glasgow_exs.html#unicode-syntax,
900 language extension}. This extension enables Unicode characters to be used to
901 stand for certain ASCII character sequences, i.e. → instead of @code{->},
902 ∀ instead of @code{forall} and many others.")
903 (license license:bsd-3)))
904
905 (define-public ghc-bifunctors
906 (package
907 (name "ghc-bifunctors")
908 (version "5.5.5")
909 (source
910 (origin
911 (method url-fetch)
912 (uri (string-append
913 "https://hackage.haskell.org/package/bifunctors/bifunctors-"
914 version
915 ".tar.gz"))
916 (sha256
917 (base32
918 "0rn47q8dzv0g1fyams99p4py6q0asxdc50q9k0nj497brk738xcb"))))
919 (build-system haskell-build-system)
920 (inputs
921 `(("ghc-base-orphans" ,ghc-base-orphans)
922 ("ghc-comonad" ,ghc-comonad)
923 ("ghc-th-abstraction" ,ghc-th-abstraction)
924 ("ghc-transformers-compat" ,ghc-transformers-compat)
925 ("ghc-tagged" ,ghc-tagged)
926 ("ghc-semigroups" ,ghc-semigroups)))
927 (native-inputs
928 `(("ghc-hspec" ,ghc-hspec)
929 ("hspec-discover" ,hspec-discover)
930 ("ghc-quickcheck" ,ghc-quickcheck)))
931 (home-page "https://github.com/ekmett/bifunctors/")
932 (synopsis "Bifunctors for Haskell")
933 (description "This package provides bifunctors for Haskell.")
934 (license license:bsd-3)))
935
936 (define-public ghc-bindings-dsl
937 (package
938 (name "ghc-bindings-dsl")
939 (version "1.0.25")
940 (source
941 (origin
942 (method url-fetch)
943 (uri (string-append "https://hackage.haskell.org/package/bindings-DSL/"
944 "bindings-DSL-" version ".tar.gz"))
945 (sha256
946 (base32
947 "0kqrd78nspl3lk4a0fqn47d8dirjg3b24dkvkigcrlb81hw35pk3"))))
948 (build-system haskell-build-system)
949 (home-page "https://github.com/jwiegley/bindings-dsl/wiki")
950 (synopsis "FFI domain specific language, on top of hsc2hs")
951 (description
952 "This is a set of macros to be used when writing Haskell FFI. They were
953 designed to be able to fully describe C interfaces, so that @code{hsc2hs} can
954 extract from them all Haskell code needed to mimic such interfaces. All
955 Haskell names used are automatically derived from C names, structures are
956 mapped to Haskell instances of @code{Storable}, and there are also macros you
957 can use with C code to help write bindings to inline functions or macro
958 functions.")
959 (license license:bsd-3)))
960
961 (define-public ghc-bitarray
962 (package
963 (name "ghc-bitarray")
964 (version "0.0.1.1")
965 (source
966 (origin
967 (method url-fetch)
968 (uri (string-append "https://hackage.haskell.org/package/"
969 "bitarray/bitarray-" version ".tar.gz"))
970 (sha256
971 (base32
972 "00nqd62cbh42qqqvcl6iv1i9kbv0f0mkiygv4j70wfh5cl86yzxj"))))
973 (build-system haskell-build-system)
974 (arguments
975 `(#:cabal-revision
976 ("1" "10fk92v9afjqk43zi621jxl0n8kci0xjj32lz3vqa9xbh67zjz45")))
977 (home-page "https://hackage.haskell.org/package/bitarray")
978 (synopsis "Mutable and immutable bit arrays")
979 (description "The package provides mutable and immutable bit arrays.")
980 (license license:bsd-3)))
981
982 (define-public ghc-blaze-builder
983 (package
984 (name "ghc-blaze-builder")
985 (version "0.4.1.0")
986 (source
987 (origin
988 (method url-fetch)
989 (uri (string-append
990 "https://hackage.haskell.org/package/blaze-builder/blaze-builder-"
991 version
992 ".tar.gz"))
993 (sha256
994 (base32
995 "05681dih2d8s96an945wkbwl05w8ddbcfx8n3r3ck79ydyb8pz4i"))))
996 (build-system haskell-build-system)
997 (arguments `(#:tests? #f)) ; FIXME: Missing test libraries.
998 (inputs
999 `(("ghc-utf8-string" ,ghc-utf8-string)))
1000 (home-page "https://github.com/lpsmith/blaze-builder")
1001 (synopsis "Efficient buffered output")
1002 (description "This library provides an implementation of the older
1003 @code{blaze-builder} interface in terms of the new builder that shipped with
1004 @code{bytestring-0.10.4.0}. This implementation is mostly intended as a
1005 bridge to the new builder, so that code that uses the old interface can
1006 interoperate with code that uses the new implementation.")
1007 (license license:bsd-3)))
1008
1009 (define-public ghc-blaze-markup
1010 (package
1011 (name "ghc-blaze-markup")
1012 (version "0.8.2.3")
1013 (source
1014 (origin
1015 (method url-fetch)
1016 (uri (string-append "https://hackage.haskell.org/package/"
1017 "blaze-markup/blaze-markup-"
1018 version ".tar.gz"))
1019 (sha256
1020 (base32
1021 "1g9m7ansj7fdyzhz1wqkbzn5amjm50vjgjdwkbjc5qqhagnv1y3j"))))
1022 (build-system haskell-build-system)
1023 (arguments
1024 `(#:phases
1025 (modify-phases %standard-phases
1026 (add-before 'configure 'update-constraints
1027 (lambda _
1028 (substitute* "blaze-markup.cabal"
1029 (("tasty >= 1\\.0 && < 1\\.1")
1030 "tasty >= 1.0 && < 1.2")))))))
1031 (inputs
1032 `(("ghc-blaze-builder" ,ghc-blaze-builder)))
1033 (native-inputs
1034 `(("ghc-hunit" ,ghc-hunit)
1035 ("ghc-quickcheck" ,ghc-quickcheck)
1036 ("ghc-tasty" ,ghc-tasty)
1037 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
1038 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
1039 (home-page "https://jaspervdj.be/blaze")
1040 (synopsis "Fast markup combinator library for Haskell")
1041 (description "This library provides core modules of a markup combinator
1042 library for Haskell.")
1043 (license license:bsd-3)))
1044
1045 (define-public ghc-bloomfilter
1046 (package
1047 (name "ghc-bloomfilter")
1048 (version "2.0.1.0")
1049 (source
1050 (origin
1051 (method url-fetch)
1052 (uri (string-append "https://hackage.haskell.org/package/"
1053 "bloomfilter/bloomfilter-" version ".tar.gz"))
1054 (sha256
1055 (base32
1056 "03vrmncg1c10a2wcg5skq30m1yiknn7nwxz2gblyyfaxglshspkc"))))
1057 (build-system haskell-build-system)
1058 (native-inputs
1059 `(("ghc-quickcheck" ,ghc-quickcheck)
1060 ("ghc-random" ,ghc-random)
1061 ("ghc-test-framework" ,ghc-test-framework)
1062 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
1063 (home-page "https://github.com/bos/bloomfilter")
1064 (synopsis "Pure and impure Bloom filter implementations")
1065 (description "This package provides both mutable and immutable Bloom
1066 filter data types, along with a family of hash functions and an easy-to-use
1067 interface.")
1068 (license license:bsd-3)))
1069
1070 (define-public ghc-boxes
1071 (package
1072 (name "ghc-boxes")
1073 (version "0.1.5")
1074 (source
1075 (origin
1076 (method url-fetch)
1077 (uri (string-append "https://hackage.haskell.org/package/boxes/boxes-"
1078 version ".tar.gz"))
1079 (sha256
1080 (base32 "1hsnmw95i58d4bkpxby3ddsj1cawypw4mdyb18m393s5i8p7iq9q"))))
1081 (build-system haskell-build-system)
1082 (inputs
1083 `(("ghc-split" ,ghc-split)
1084 ("ghc-quickcheck" ,ghc-quickcheck)))
1085 (home-page "https://hackage.haskell.org/package/boxes")
1086 (synopsis "2D text pretty-printing library")
1087 (description
1088 "Boxes is a pretty-printing library for laying out text in two dimensions,
1089 using a simple box model.")
1090 (license license:bsd-3)))
1091
1092 (define-public ghc-byteable
1093 (package
1094 (name "ghc-byteable")
1095 (version "0.1.1")
1096 (source (origin
1097 (method url-fetch)
1098 (uri (string-append "https://hackage.haskell.org/package/"
1099 "byteable/byteable-" version ".tar.gz"))
1100 (sha256
1101 (base32
1102 "1qizg0kxxjqnd3cbrjhhidk5pbbciz0pb3z5kzikjjxnnnhk8fr4"))))
1103 (build-system haskell-build-system)
1104 (home-page "https://github.com/vincenthz/hs-byteable")
1105 (synopsis "Type class for sequence of bytes")
1106 (description
1107 "This package provides an abstract class to manipulate sequence of bytes.
1108 The use case of this class is abstracting manipulation of types that are just
1109 wrapping a bytestring with stronger and more meaniful name.")
1110 (license license:bsd-3)))
1111
1112 (define-public ghc-byteorder
1113 (package
1114 (name "ghc-byteorder")
1115 (version "1.0.4")
1116 (source
1117 (origin
1118 (method url-fetch)
1119 (uri (string-append
1120 "https://hackage.haskell.org/package/byteorder/byteorder-"
1121 version
1122 ".tar.gz"))
1123 (sha256
1124 (base32
1125 "06995paxbxk8lldvarqpb3ygcjbg4v8dk4scib1rjzwlhssvn85x"))))
1126 (build-system haskell-build-system)
1127 (home-page
1128 "http://community.haskell.org/~aslatter/code/byteorder")
1129 (synopsis
1130 "Exposes the native endianness of the system")
1131 (description
1132 "This package is for working with the native byte-ordering of the
1133 system.")
1134 (license license:bsd-3)))
1135
1136 (define-public ghc-bytes
1137 (package
1138 (name "ghc-bytes")
1139 (version "0.15.5")
1140 (source
1141 (origin
1142 (method url-fetch)
1143 (uri
1144 (string-append "https://hackage.haskell.org/package/bytes-"
1145 version "/bytes-"
1146 version ".tar.gz"))
1147 (file-name (string-append name "-" version ".tar.gz"))
1148 (sha256
1149 (base32
1150 "063il2vrn0p88r9gzndh4ijs0mxj37khkc9ym9bqdsv7ngk3b683"))))
1151 (build-system haskell-build-system)
1152 (inputs `(("ghc-cereal" ,ghc-cereal)
1153 ("cabal-doctest" ,cabal-doctest)
1154 ("ghc-doctest" ,ghc-doctest)
1155 ("ghc-scientific" ,ghc-scientific)
1156 ("ghc-transformers-compat" ,ghc-transformers-compat)
1157 ("ghc-unordered-containers" ,ghc-unordered-containers)
1158 ("ghc-void" ,ghc-void)
1159 ("ghc-vector" ,ghc-vector)))
1160 (synopsis "Serialization between @code{binary} and @code{cereal}")
1161 (description "This package provides a simple compatibility shim that lets
1162 you work with both @code{binary} and @code{cereal} with one chunk of
1163 serialization code.")
1164 (home-page "https://hackage.haskell.org/package/bytes")
1165 (license license:bsd-3)))
1166
1167 (define-public ghc-bytestring-builder
1168 (package
1169 (name "ghc-bytestring-builder")
1170 (version "0.10.8.2.0")
1171 (source
1172 (origin
1173 (method url-fetch)
1174 (uri (string-append
1175 "https://hackage.haskell.org/package/bytestring-builder"
1176 "/bytestring-builder-" version ".tar.gz"))
1177 (sha256
1178 (base32
1179 "0grcrgwwwcvwrs9az7l4d3kf0lsqfa9qpmjzf6iyanvwn9nyzyi7"))))
1180 (build-system haskell-build-system)
1181 (arguments `(#:haddock? #f)) ; Package contains no documentation.
1182 (home-page "https://hackage.haskell.org/package/bytestring-builder")
1183 (synopsis "The new bytestring builder, packaged outside of GHC")
1184 (description "This package provides the bytestring builder that is
1185 debuting in bytestring-0.10.4.0, which should be shipping with GHC 7.8.
1186 Compatibility package for older packages.")
1187 (license license:bsd-3)))
1188
1189 (define-public ghc-bytestring-handle
1190 (package
1191 (name "ghc-bytestring-handle")
1192 (version "0.1.0.6")
1193 (source
1194 (origin
1195 (method url-fetch)
1196 (uri (string-append
1197 "https://hackage.haskell.org/package/bytestring-handle/bytestring-handle-"
1198 version ".tar.gz"))
1199 (sha256
1200 (base32
1201 "18f17aja1ivhr3zyg2cccn2m03hdn5jf5410dndkhf12gvgiqs7y"))))
1202 (build-system haskell-build-system)
1203 (arguments
1204 `(#:cabal-revision
1205 ("1" "0x11aj6w1lijh84jcdq1qgyvdnc7i9ivbyq4wf9rxicg57viisz9")
1206 #:phases
1207 (modify-phases %standard-phases
1208 (add-before 'configure 'update-constraints
1209 (lambda _
1210 (substitute* "bytestring-handle.cabal"
1211 (("QuickCheck >= 2\\.1\\.2 && < 2\\.11")
1212 "QuickCheck >= 2.1.2 && < 2.14")))))))
1213 (inputs
1214 `(("ghc-hunit" ,ghc-hunit)
1215 ("ghc-quickcheck" ,ghc-quickcheck)
1216 ("ghc-test-framework" ,ghc-test-framework)
1217 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
1218 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
1219 (home-page "https://hub.darcs.net/ganesh/bytestring-handle")
1220 (synopsis "ByteString-backed Handles")
1221 (description "ByteString-backed Handles") ; There is no description
1222 (license license:bsd-3)))
1223
1224 (define-public ghc-bytestring-lexing
1225 (package
1226 (name "ghc-bytestring-lexing")
1227 (version "0.5.0.2")
1228 (source
1229 (origin
1230 (method url-fetch)
1231 (uri (string-append "https://hackage.haskell.org/package/"
1232 "bytestring-lexing/bytestring-lexing-"
1233 version ".tar.gz"))
1234 (sha256
1235 (base32
1236 "0wrzniawhgpphc6yx1v972gyqxdbv0pizaz9bafahrshyb9svy81"))))
1237 (build-system haskell-build-system)
1238 (home-page "http://code.haskell.org/~wren/")
1239 (synopsis "Parse and produce literals from strict or lazy bytestrings")
1240 (description
1241 "This package provides tools to parse and produce literals efficiently
1242 from strict or lazy bytestrings.")
1243 (license license:bsd-2)))
1244
1245 (define-public ghc-bzlib-conduit
1246 (package
1247 (name "ghc-bzlib-conduit")
1248 (version "0.3.0.2")
1249 (source
1250 (origin
1251 (method url-fetch)
1252 (uri (string-append "https://hackage.haskell.org/package/bzlib-conduit/"
1253 "bzlib-conduit-" version ".tar.gz"))
1254 (sha256
1255 (base32
1256 "0a21zin5plsl37hkxh2jv8cxwyjrbs2fy7n5cyrzgdaa7lmp6b7b"))))
1257 (build-system haskell-build-system)
1258 (inputs
1259 `(("ghc-bindings-dsl" ,ghc-bindings-dsl)
1260 ("ghc-conduit" ,ghc-conduit)
1261 ("ghc-data-default-class" ,ghc-data-default-class)
1262 ("ghc-resourcet" ,ghc-resourcet)))
1263 (native-inputs
1264 `(("ghc-hspec" ,ghc-hspec)
1265 ("ghc-random" ,ghc-random)))
1266 (home-page "https://github.com/snoyberg/bzlib-conduit")
1267 (synopsis "Streaming compression/decompression via conduits")
1268 (description
1269 "This package provides Haskell bindings to bzlib and Conduit support for
1270 streaming compression and decompression.")
1271 (license license:bsd-3)))
1272
1273 (define-public ghc-c2hs
1274 (package
1275 (name "ghc-c2hs")
1276 (version "0.28.6")
1277 (source
1278 (origin
1279 (method url-fetch)
1280 (uri (string-append
1281 "https://hackage.haskell.org/package/c2hs/c2hs-"
1282 version
1283 ".tar.gz"))
1284 (sha256
1285 (base32
1286 "1nplgxfin139x12sb656f5870rpdclrhzi8mq8pry035qld15pci"))))
1287 (build-system haskell-build-system)
1288 (inputs
1289 `(("ghc-language-c" ,ghc-language-c)
1290 ("ghc-dlist" ,ghc-dlist)))
1291 (native-inputs
1292 `(("ghc-test-framework" ,ghc-test-framework)
1293 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
1294 ("ghc-hunit" ,ghc-hunit)
1295 ("ghc-shelly" ,ghc-shelly)
1296 ("gcc" ,gcc)))
1297 (arguments
1298 `(;; XXX: Test failures are induced by a parse error in <bits/floatn.h>
1299 ;; of glibc 2.28.
1300 #:tests? #f
1301
1302 #:phases
1303 (modify-phases %standard-phases
1304 (add-before 'check 'set-cc
1305 ;; add a cc executable in the path, needed for some tests to pass
1306 (lambda* (#:key inputs #:allow-other-keys)
1307 (let ((gcc (assoc-ref inputs "gcc"))
1308 (tmpbin (tmpnam))
1309 (curpath (getenv "PATH")))
1310 (mkdir-p tmpbin)
1311 (symlink (which "gcc") (string-append tmpbin "/cc"))
1312 (setenv "PATH" (string-append tmpbin ":" curpath)))
1313 #t))
1314 (add-after 'check 'remove-cc
1315 ;; clean the tmp dir made in 'set-cc
1316 (lambda _
1317 (let* ((cc-path (which "cc"))
1318 (cc-dir (dirname cc-path)))
1319 (delete-file-recursively cc-dir)
1320 #t))))))
1321 (home-page "https://github.com/haskell/c2hs")
1322 (synopsis "Create Haskell bindings to C libraries")
1323 (description "C->Haskell assists in the development of Haskell bindings to
1324 C libraries. It extracts interface information from C header files and
1325 generates Haskell code with foreign imports and marshaling. Unlike writing
1326 foreign imports by hand (or using hsc2hs), this ensures that C functions are
1327 imported with the correct Haskell types.")
1328 (license license:gpl2)))
1329
1330 (define-public ghc-cairo
1331 (package
1332 (name "ghc-cairo")
1333 (version "0.13.5.0")
1334 (source
1335 (origin
1336 (method url-fetch)
1337 (uri (string-append "https://hackage.haskell.org/package/cairo/"
1338 "cairo-" version ".tar.gz"))
1339 (sha256
1340 (base32
1341 "1wxylv4d8120ri0vgar168ikqa9m6533ipdwi38qlmxmw20ws2j2"))))
1342 (build-system haskell-build-system)
1343 (arguments
1344 `(#:modules ((guix build haskell-build-system)
1345 (guix build utils)
1346 (ice-9 match)
1347 (srfi srfi-26))
1348 #:phases
1349 (modify-phases %standard-phases
1350 ;; FIXME: This is a copy of the standard configure phase with a tiny
1351 ;; difference: this package needs the -package-db flag to be passed
1352 ;; to "runhaskell" in addition to the "configure" action, because it
1353 ;; depends on gtk2hs-buildtools, which provide setup hooks. Without
1354 ;; this option the Setup.hs file cannot be evaluated. The
1355 ;; haskell-build-system should be changed to pass "-package-db" to
1356 ;; "runhaskell" in any case.
1357 (replace 'configure
1358 (lambda* (#:key outputs inputs tests? (configure-flags '())
1359 #:allow-other-keys)
1360 (let* ((out (assoc-ref outputs "out"))
1361 (name-version (strip-store-file-name out))
1362 (input-dirs (match inputs
1363 (((_ . dir) ...)
1364 dir)
1365 (_ '())))
1366 (ghc-path (getenv "GHC_PACKAGE_PATH"))
1367 (params (append `(,(string-append "--prefix=" out))
1368 `(,(string-append "--libdir=" out "/lib"))
1369 `(,(string-append "--bindir=" out "/bin"))
1370 `(,(string-append
1371 "--docdir=" out
1372 "/share/doc/" name-version))
1373 '("--libsubdir=$compiler/$pkg-$version")
1374 '("--package-db=../package.conf.d")
1375 '("--global")
1376 `(,@(map
1377 (cut string-append "--extra-include-dirs=" <>)
1378 (search-path-as-list '("include") input-dirs)))
1379 `(,@(map
1380 (cut string-append "--extra-lib-dirs=" <>)
1381 (search-path-as-list '("lib") input-dirs)))
1382 (if tests?
1383 '("--enable-tests")
1384 '())
1385 configure-flags)))
1386 (unsetenv "GHC_PACKAGE_PATH")
1387 (apply invoke "runhaskell" "-package-db=../package.conf.d"
1388 "Setup.hs" "configure" params)
1389 (setenv "GHC_PACKAGE_PATH" ghc-path)
1390 #t))))))
1391 (inputs
1392 `(("ghc-utf8-string" ,ghc-utf8-string)
1393 ("cairo" ,cairo)))
1394 (native-inputs
1395 `(("ghc-gtk2hs-buildtools" ,ghc-gtk2hs-buildtools)
1396 ("pkg-config" ,pkg-config)))
1397 (home-page "http://projects.haskell.org/gtk2hs/")
1398 (synopsis "Haskell bindings to the Cairo vector graphics library")
1399 (description
1400 "Cairo is a library to render high quality vector graphics. There exist
1401 various backends that allows rendering to Gtk windows, PDF, PS, PNG and SVG
1402 documents, amongst others.")
1403 (license license:bsd-3)))
1404
1405 (define-public ghc-call-stack
1406 (package
1407 (name "ghc-call-stack")
1408 (version "0.1.0")
1409 (source
1410 (origin
1411 (method url-fetch)
1412 (uri (string-append "https://hackage.haskell.org/package/"
1413 "call-stack/call-stack-"
1414 version ".tar.gz"))
1415 (sha256
1416 (base32
1417 "1qmihf5jafmc79sk52l6gpx75f5bnla2lp62kh3p34x3j84mwpzj"))))
1418 (build-system haskell-build-system)
1419 (inputs `(("ghc-nanospec" ,ghc-nanospec)))
1420 (home-page "https://github.com/sol/call-stack#readme")
1421 (synopsis "Use GHC call-stacks in a backward compatible way")
1422 (description "This package provides a compatibility layer for using GHC
1423 call stacks with different versions of the compiler.")
1424 (license license:expat)))
1425
1426 ;; This is used as an input to ghc-hunit. We cannot use ghc-call-stack there,
1427 ;; because it depends on ghc-nanospec, which depends on ghc-hunit.
1428 (define-public ghc-call-stack-boot
1429 (hidden-package
1430 (package
1431 (inherit ghc-call-stack)
1432 (arguments '(#:tests? #f))
1433 (inputs '()))))
1434
1435 (define-public ghc-case-insensitive
1436 (package
1437 (name "ghc-case-insensitive")
1438 (version "1.2.0.11")
1439 (outputs '("out" "doc"))
1440 (source
1441 (origin
1442 (method url-fetch)
1443 (uri (string-append
1444 "https://hackage.haskell.org/package/case-insensitive/case-insensitive-"
1445 version
1446 ".tar.gz"))
1447 (sha256
1448 (base32
1449 "1qrpxfirsxckg7jv28f5ah2qc8lh95hp7rnqkbqs1ahcwlbnvkm7"))))
1450 (build-system haskell-build-system)
1451 ;; these inputs are necessary to use this library
1452 (inputs
1453 `(("ghc-hashable" ,ghc-hashable)))
1454 (arguments
1455 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
1456 (home-page
1457 "https://github.com/basvandijk/case-insensitive")
1458 (synopsis "Case insensitive string comparison")
1459 (description
1460 "The module @code{Data.CaseInsensitive} provides the @code{CI} type
1461 constructor which can be parameterised by a string-like type like:
1462 @code{String}, @code{ByteString}, @code{Text}, etc. Comparisons of values of
1463 the resulting type will be insensitive to cases.")
1464 (license license:bsd-3)))
1465
1466 (define-public ghc-cereal
1467 (package
1468 (name "ghc-cereal")
1469 (version "0.5.8.1")
1470 (source
1471 (origin
1472 (method url-fetch)
1473 (uri (string-append
1474 "https://hackage.haskell.org/package/cereal/cereal-"
1475 version
1476 ".tar.gz"))
1477 (sha256
1478 (base32
1479 "1mqvd1iwzr50az4y24332x3g3wsrzw8j1iwph02vr7jbjfn8i7id"))))
1480 (build-system haskell-build-system)
1481 (native-inputs
1482 `(("ghc-quickcheck" ,ghc-quickcheck)
1483 ("ghc-fail" ,ghc-fail)
1484 ("ghc-test-framework" ,ghc-test-framework)
1485 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
1486 (home-page "https://hackage.haskell.org/package/cereal")
1487 (synopsis "Binary serialization library")
1488 (description "This package provides a binary serialization library,
1489 similar to @code{binary}, that introduces an @code{isolate} primitive for
1490 parser isolation, and labeled blocks for better error messages.")
1491 (license license:bsd-3)))
1492
1493 (define-public ghc-cereal-conduit
1494 (package
1495 (name "ghc-cereal-conduit")
1496 (version "0.8.0")
1497 (source
1498 (origin
1499 (method url-fetch)
1500 (uri (string-append "https://hackage.haskell.org/package/"
1501 "cereal-conduit/cereal-conduit-"
1502 version ".tar.gz"))
1503 (sha256
1504 (base32
1505 "1srr7agvgfw78q5s1npjq5sgynvhjgllpihiv37ylkwqm4c4ap6r"))))
1506 (build-system haskell-build-system)
1507 (inputs
1508 `(("ghc-conduit" ,ghc-conduit)
1509 ("ghc-resourcet" ,ghc-resourcet)
1510 ("ghc-cereal" ,ghc-cereal)))
1511 (native-inputs
1512 `(("ghc-hunit" ,ghc-hunit)))
1513 (home-page "https://github.com/snoyberg/conduit")
1514 (synopsis "Turn Data.Serialize Gets and Puts into Sources, Sinks, and Conduits")
1515 (description
1516 "This package turn @code{Data.Serialize} @code{Gets} and @code{Puts} into
1517 @code{Sources}, @code{Sinks}, and @code{Conduits}.")
1518 (license license:bsd-3)))
1519
1520 (define-public ghc-cgi
1521 (package
1522 (name "ghc-cgi")
1523 (version "3001.4.0.0")
1524 (source
1525 (origin
1526 (method url-fetch)
1527 (uri (string-append
1528 "https://hackage.haskell.org/package/cgi/cgi-"
1529 version
1530 ".tar.gz"))
1531 (sha256
1532 (base32
1533 "1d0nh5ymkqskkp4yn0gfz4mff8i0cxyw1wws8xxp6k1mg1ywa25k"))))
1534 (build-system haskell-build-system)
1535 (inputs
1536 `(("ghc-exceptions" ,ghc-exceptions)
1537 ("ghc-multipart" ,ghc-multipart)
1538 ("ghc-network-uri" ,ghc-network-uri)
1539 ("ghc-network" ,ghc-network)))
1540 (native-inputs
1541 `(("ghc-doctest" ,ghc-doctest)
1542 ("ghc-quickcheck" ,ghc-quickcheck)))
1543 (home-page
1544 "https://github.com/cheecheeo/haskell-cgi")
1545 (synopsis "Library for writing CGI programs")
1546 (description
1547 "This is a Haskell library for writing CGI programs.")
1548 (license license:bsd-3)))
1549
1550 (define-public ghc-charset
1551 (package
1552 (name "ghc-charset")
1553 (version "0.3.7.1")
1554 (source
1555 (origin
1556 (method url-fetch)
1557 (uri (string-append
1558 "https://hackage.haskell.org/package/charset/charset-"
1559 version
1560 ".tar.gz"))
1561 (sha256
1562 (base32
1563 "1gn0m96qpjww8hpp2g1as5yy0wcwy4iq73h3kz6g0yxxhcl5sh9x"))))
1564 (build-system haskell-build-system)
1565 (arguments
1566 `(#:cabal-revision
1567 ("1" "1z6nxw2g9vgsjq0g159sk8mwj68lwzxzi5iv5ynha0h85jcqxszy")))
1568 (inputs
1569 `(("ghc-semigroups" ,ghc-semigroups)
1570 ("ghc-unordered-containers" ,ghc-unordered-containers)))
1571 (home-page "https://github.com/ekmett/charset")
1572 (synopsis "Fast unicode character sets for Haskell")
1573 (description "This package provides fast unicode character sets for
1574 Haskell, based on complemented PATRICIA tries.")
1575 (license license:bsd-3)))
1576
1577 (define-public ghc-chart
1578 (package
1579 (name "ghc-chart")
1580 (version "1.9.1")
1581 (source
1582 (origin
1583 (method url-fetch)
1584 (uri (string-append "https://hackage.haskell.org/package/Chart/"
1585 "Chart-" version ".tar.gz"))
1586 (sha256
1587 (base32
1588 "1pn735k9ifxlb9mdh8xy7wi22cxni8xyr28n8zx9w0j6vprcg89l"))))
1589 (build-system haskell-build-system)
1590 (inputs
1591 `(("ghc-old-locale" ,ghc-old-locale)
1592 ("ghc-lens" ,ghc-lens)
1593 ("ghc-colour" ,ghc-colour)
1594 ("ghc-data-default-class" ,ghc-data-default-class)
1595 ("ghc-operational" ,ghc-operational)
1596 ("ghc-vector" ,ghc-vector)))
1597 (home-page "https://github.com/timbod7/haskell-chart/wiki")
1598 (synopsis "Library for generating 2D charts and plots")
1599 (description
1600 "This package provides a library for generating 2D charts and plots, with
1601 backends provided by the @code{Cairo} and @code{Diagrams} libraries.")
1602 (license license:bsd-3)))
1603
1604 (define-public ghc-chart-cairo
1605 (package
1606 (name "ghc-chart-cairo")
1607 (version "1.9.1")
1608 (source
1609 (origin
1610 (method url-fetch)
1611 (uri (string-append "https://hackage.haskell.org/package/Chart-cairo/"
1612 "Chart-cairo-" version ".tar.gz"))
1613 (sha256
1614 (base32
1615 "0hknj4rsjf2m8p5pyq5zff8ai7v80yvmxb5c6n0bkgxs4317nbl9"))))
1616 (build-system haskell-build-system)
1617 (inputs
1618 `(("ghc-old-locale" ,ghc-old-locale)
1619 ("ghc-cairo" ,ghc-cairo)
1620 ("ghc-colour" ,ghc-colour)
1621 ("ghc-data-default-class" ,ghc-data-default-class)
1622 ("ghc-operational" ,ghc-operational)
1623 ("ghc-lens" ,ghc-lens)
1624 ("ghc-chart" ,ghc-chart)))
1625 (home-page "https://github.com/timbod7/haskell-chart/wiki")
1626 (synopsis "Cairo backend for Charts")
1627 (description "This package provides a Cairo vector graphics rendering
1628 backend for the Charts library.")
1629 (license license:bsd-3)))
1630
1631 (define-public ghc-chasingbottoms
1632 (package
1633 (name "ghc-chasingbottoms")
1634 (version "1.3.1.7")
1635 (source
1636 (origin
1637 (method url-fetch)
1638 (uri (string-append "https://hackage.haskell.org/package/ChasingBottoms/"
1639 "ChasingBottoms-" version ".tar.gz"))
1640 (sha256
1641 (base32
1642 "0ziiqfsvv1ypdra6kd0bhbsl852i0wqn43jkfii38yl879cdacan"))))
1643 (build-system haskell-build-system)
1644 (inputs
1645 `(("ghc-quickcheck" ,ghc-quickcheck)
1646 ("ghc-random" ,ghc-random)
1647 ("ghc-syb" ,ghc-syb)))
1648 (home-page "https://hackage.haskell.org/package/ChasingBottoms")
1649 (synopsis "Testing of partial and infinite values in Haskell")
1650 (description
1651 ;; FIXME: There should be a @comma{} in the uref text, but it is not
1652 ;; rendered properly.
1653 "This is a library for testing code involving bottoms or infinite values.
1654 For the underlying theory and a larger example involving use of QuickCheck,
1655 see the article
1656 @uref{http://www.cse.chalmers.se/~nad/publications/danielsson-jansson-mpc2004.html,
1657 \"Chasing Bottoms A Case Study in Program Verification in the Presence of
1658 Partial and Infinite Values\"}.")
1659 (license license:expat)))
1660
1661 (define-public ghc-cheapskate
1662 (package
1663 (name "ghc-cheapskate")
1664 (version "0.1.1.1")
1665 (source
1666 (origin
1667 (method url-fetch)
1668 (uri (string-append
1669 "https://hackage.haskell.org/package/cheapskate/cheapskate-"
1670 version
1671 ".tar.gz"))
1672 (sha256
1673 (base32
1674 "0qnyd8bni2rby6b02ff4bvfdhm1hwc8vzpmnms84jgrlg1lly3fm"))))
1675 (build-system haskell-build-system)
1676 (inputs
1677 `(("ghc-blaze-html" ,ghc-blaze-html)
1678 ("ghc-xss-sanitize" ,ghc-xss-sanitize)
1679 ("ghc-data-default" ,ghc-data-default)
1680 ("ghc-syb" ,ghc-syb)
1681 ("ghc-uniplate" ,ghc-uniplate)))
1682 (home-page "https://github.com/jgm/cheapskate")
1683 (synopsis "Experimental markdown processor")
1684 (description "Cheapskate is an experimental Markdown processor in pure
1685 Haskell. It aims to process Markdown efficiently and in the most forgiving
1686 possible way. It is designed to deal with any input, including garbage, with
1687 linear performance. Output is sanitized by default for protection against
1688 cross-site scripting (@dfn{XSS}) attacks.")
1689 (license license:bsd-3)))
1690
1691 (define-public ghc-chell
1692 (package
1693 (name "ghc-chell")
1694 (version "0.5")
1695 (source
1696 (origin
1697 (method url-fetch)
1698 (uri (string-append
1699 "https://hackage.haskell.org/package/chell/chell-"
1700 version ".tar.gz"))
1701 (sha256
1702 (base32
1703 "1i845isfbk0yq852am9bqmxfpfkpnlha8nfidffsv4gw2p8gg6fg"))))
1704 (build-system haskell-build-system)
1705 (arguments
1706 `(#:cabal-revision
1707 ("1" "1q93wrw03ix4cmnkz3lzkixcvvizw6i2ia2zifdfak1dvxnblxk0")))
1708 (inputs
1709 `(("ghc-options-bootstrap" ,ghc-options-bootstrap)
1710 ("ghc-patience" ,ghc-patience)
1711 ("ghc-random" ,ghc-random)
1712 ("ghc-ansi-terminal" ,ghc-ansi-terminal)))
1713 (home-page "https://john-millikin.com/software/chell/")
1714 (synopsis "Simple and intuitive library for automated testing")
1715 (description
1716 "Chell is a simple and intuitive library for automated testing.
1717 It natively supports assertion-based testing, and can use companion
1718 libraries such as @code{chell-quickcheck} to support more complex
1719 testing strategies.")
1720 (license license:expat)))
1721
1722 (define-public ghc-chell-quickcheck
1723 (package
1724 (name "ghc-chell-quickcheck")
1725 (version "0.2.5.2")
1726 (source
1727 (origin
1728 (method url-fetch)
1729 (uri (string-append
1730 "https://hackage.haskell.org/package/chell-quickcheck/"
1731 "chell-quickcheck-" version ".tar.gz"))
1732 (sha256
1733 (base32
1734 "0n8c57n88r2bx0bh8nabsz07m42rh23ahs3hgyzf8gr76l08zq03"))))
1735 (build-system haskell-build-system)
1736 (arguments
1737 `(#:phases
1738 (modify-phases %standard-phases
1739 (add-before 'configure 'update-constraints
1740 (lambda _
1741 (substitute* "chell-quickcheck.cabal"
1742 (("QuickCheck >= 2\\.3 && < 2\\.13")
1743 "QuickCheck >= 2.3 && < 2.14")))))))
1744 (inputs
1745 `(("ghc-chell" ,ghc-chell)
1746 ("ghc-chell-quickcheck-bootstrap" ,ghc-chell-quickcheck-bootstrap)
1747 ("ghc-random" ,ghc-random)
1748 ("ghc-quickcheck" ,ghc-quickcheck)))
1749 (home-page "https://john-millikin.com/software/chell/")
1750 (synopsis "QuickCheck support for the Chell testing library")
1751 (description "More complex tests for @code{chell}.")
1752 (license license:expat)))
1753
1754 (define ghc-chell-quickcheck-bootstrap
1755 (package
1756 (name "ghc-chell-quickcheck-bootstrap")
1757 (version "0.2.5.2")
1758 (source
1759 (origin
1760 (method url-fetch)
1761 (uri (string-append
1762 "https://hackage.haskell.org/package/chell-quickcheck/"
1763 "chell-quickcheck-" version ".tar.gz"))
1764 (sha256
1765 (base32
1766 "0n8c57n88r2bx0bh8nabsz07m42rh23ahs3hgyzf8gr76l08zq03"))))
1767 (build-system haskell-build-system)
1768 (inputs
1769 `(("ghc-chell" ,ghc-chell)
1770 ("ghc-random" ,ghc-random)
1771 ("ghc-quickcheck" ,ghc-quickcheck)))
1772 (arguments
1773 `(#:tests? #f
1774 #:phases
1775 (modify-phases %standard-phases
1776 (add-before 'configure 'update-constraints
1777 (lambda _
1778 (substitute* "chell-quickcheck.cabal"
1779 (("QuickCheck >= 2\\.3 && < 2\\.13")
1780 "QuickCheck >= 2.3 && < 2.14")))))))
1781 (home-page "https://john-millikin.com/software/chell/")
1782 (synopsis "QuickCheck support for the Chell testing library")
1783 (description "More complex tests for @code{chell}.")
1784 (license license:expat)))
1785
1786 (define-public ghc-chunked-data
1787 (package
1788 (name "ghc-chunked-data")
1789 (version "0.3.1")
1790 (source
1791 (origin
1792 (method url-fetch)
1793 (uri (string-append "https://hackage.haskell.org/package/"
1794 "chunked-data-" version "/"
1795 "chunked-data-" version ".tar.gz"))
1796 (sha256
1797 (base32
1798 "16m7y7fwrirbjbqqcsfmr4yxa9qvfax6r7pw0zl9ky71ms0wa47p"))))
1799 (build-system haskell-build-system)
1800 (inputs `(("ghc-vector" ,ghc-vector)
1801 ("ghc-semigroups" ,ghc-semigroups)))
1802 (home-page "https://github.com/snoyberg/mono-traversable")
1803 (synopsis "Typeclasses for dealing with various chunked data
1804 representations for Haskell")
1805 (description "This Haskell package was originally present in
1806 classy-prelude.")
1807 (license license:expat)))
1808
1809 (define-public ghc-clock
1810 (package
1811 (name "ghc-clock")
1812 (version "0.8")
1813 (source
1814 (origin
1815 (method url-fetch)
1816 (uri (string-append
1817 "https://hackage.haskell.org/package/"
1818 "clock/"
1819 "clock-" version ".tar.gz"))
1820 (sha256
1821 (base32 "0539w9bjw6xbfv9v6aq9hijszxqdnqhilwpbwpql1400ji95r8q8"))))
1822 (build-system haskell-build-system)
1823 (inputs
1824 `(("ghc-tasty" ,ghc-tasty)
1825 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
1826 (home-page "https://hackage.haskell.org/package/clock")
1827 (synopsis "High-resolution clock for Haskell")
1828 (description "A package for convenient access to high-resolution clock and
1829 timer functions of different operating systems via a unified API.")
1830 (license license:bsd-3)))
1831
1832 ;; This package builds `clock` without tests, since the tests rely on tasty
1833 ;; and tasty-quickcheck, which in turn require clock to build.
1834 (define-public ghc-clock-bootstrap
1835 (package
1836 (inherit ghc-clock)
1837 (name "ghc-clock-bootstrap")
1838 (arguments '(#:tests? #f))
1839 (inputs '())
1840 (properties '((hidden? #t)))))
1841
1842 (define-public ghc-cmark
1843 (package
1844 (name "ghc-cmark")
1845 (version "0.6")
1846 (source (origin
1847 (method url-fetch)
1848 ;; XXX As of version 0.6, this package bundles libcmark 0.28.0.
1849 ;; See cbits/cmark_version.h.
1850 (uri (string-append "https://hackage.haskell.org/package/"
1851 "cmark/cmark-" version ".tar.gz"))
1852 (sha256
1853 (base32
1854 "1p41z6z8dqxk62287lvhhg4ayy9laai9ljh4azsnzb029v6mbv0d"))))
1855 (build-system haskell-build-system)
1856 (native-inputs
1857 `(("ghc-hunit" ,ghc-hunit)))
1858 (home-page "https://github.com/jgm/commonmark-hs")
1859 (synopsis "Fast, accurate CommonMark (Markdown) parser and renderer")
1860 (description
1861 "This package provides Haskell bindings for
1862 @uref{https://github.com/jgm/cmark, libcmark}, the reference parser for
1863 CommonMark, a fully specified variant of Markdown. It includes bundled libcmark
1864 sources, and does not require prior installation of the C library.")
1865 (license license:bsd-3)))
1866
1867 (define-public ghc-cmark-gfm
1868 (package
1869 (name "ghc-cmark-gfm")
1870 (version "0.2.0")
1871 (source
1872 (origin
1873 (method url-fetch)
1874 (uri (string-append "https://hackage.haskell.org/package/"
1875 "cmark-gfm/cmark-gfm-"
1876 version ".tar.gz"))
1877 (sha256
1878 (base32
1879 "03xflrkyw84qv3yjly5iks9311bqv5cmrmsylr763v4ph0fn7rjq"))))
1880 (build-system haskell-build-system)
1881 (native-inputs
1882 `(("ghc-hunit" ,ghc-hunit)))
1883 (home-page "https://github.com/kivikakk/cmark-gfm-hs")
1884 (synopsis
1885 "Fast, accurate GitHub Flavored Markdown parser and renderer")
1886 (description
1887 "This package provides Haskell bindings for libcmark-gfm, the reference
1888 parser for GitHub Flavored Markdown, a fully specified variant of Markdown.
1889 It includes sources for libcmark-gfm and does not require prior installation
1890 of the C library.")
1891 (license license:bsd-3)))
1892
1893 (define-public ghc-cmdargs
1894 (package
1895 (name "ghc-cmdargs")
1896 (version "0.10.20")
1897 (source
1898 (origin
1899 (method url-fetch)
1900 (uri (string-append
1901 "https://hackage.haskell.org/package/cmdargs/cmdargs-"
1902 version ".tar.gz"))
1903 (sha256
1904 (base32
1905 "0cbkmgrcnwgigg6z88y3c09gm7g6dwm7gzbgr53h8k1xik29s9hf"))))
1906 (build-system haskell-build-system)
1907 (home-page
1908 "http://community.haskell.org/~ndm/cmdargs/")
1909 (synopsis "Command line argument processing")
1910 (description
1911 "This library provides an easy way to define command line parsers.")
1912 (license license:bsd-3)))
1913
1914 (define-public ghc-code-page
1915 (package
1916 (name "ghc-code-page")
1917 (version "0.2")
1918 (source
1919 (origin
1920 (method url-fetch)
1921 (uri (string-append
1922 "https://hackage.haskell.org/package/code-page/code-page-"
1923 version ".tar.gz"))
1924 (sha256
1925 (base32
1926 "0i0qbrbhvrwkbikqb7hh7yxaipaavwzvyrw211d0vkz99f62mqxz"))))
1927 (build-system haskell-build-system)
1928 (home-page "https://github.com/RyanGlScott/code-page")
1929 (synopsis "Windows code page library for Haskell")
1930 (description "A cross-platform library with functions for adjusting
1931 code pages on Windows. On all other operating systems, the library does
1932 nothing.")
1933 (license license:bsd-3)))
1934
1935 (define-public ghc-colour
1936 (package
1937 (name "ghc-colour")
1938 (version "2.3.5")
1939 (source
1940 (origin
1941 (method url-fetch)
1942 (uri (string-append
1943 "https://hackage.haskell.org/package/colour/colour-"
1944 version ".tar.gz"))
1945 (sha256
1946 (base32
1947 "1rq4l46jx4lpdppy71wf7m1n7pw2jwy788rm35ycwzb1g4clg39v"))))
1948 (arguments
1949 ;; The tests for this package have the following dependency cycle:
1950 ;; ghc-test-framework -> ghc-ansi-terminal -> ghc-colour.
1951 `(#:tests? #f))
1952 (build-system haskell-build-system)
1953 (home-page "https://www.haskell.org/haskellwiki/Colour")
1954 (synopsis "Model for human colour perception")
1955 (description
1956 "This package provides a data type for colours and transparency.
1957 Colours can be blended and composed. Various colour spaces are
1958 supported. A module of colour names (\"Data.Colour.Names\") is provided.")
1959 (license license:expat)))
1960
1961 (define-public ghc-comonad
1962 (package
1963 (name "ghc-comonad")
1964 (version "5.0.5")
1965 (source
1966 (origin
1967 (method url-fetch)
1968 (uri (string-append
1969 "https://hackage.haskell.org/package/comonad/comonad-"
1970 version
1971 ".tar.gz"))
1972 (sha256
1973 (base32
1974 "1l7snp2mszgnjgd0nc9kzfyd13vla0rlazqi03rwx2akcxk14n3c"))))
1975 (build-system haskell-build-system)
1976 (native-inputs
1977 `(("cabal-doctest" ,cabal-doctest)
1978 ("ghc-doctest" ,ghc-doctest)))
1979 (inputs
1980 `(("ghc-contravariant" ,ghc-contravariant)
1981 ("ghc-distributive" ,ghc-distributive)
1982 ("ghc-semigroups" ,ghc-semigroups)
1983 ("ghc-tagged" ,ghc-tagged)
1984 ("ghc-transformers-compat" ,ghc-transformers-compat)))
1985 (home-page "https://github.com/ekmett/comonad/")
1986 (synopsis "Comonads for Haskell")
1987 (description "This library provides @code{Comonad}s for Haskell.")
1988 (license license:bsd-3)))
1989
1990 (define-public ghc-concatenative
1991 (package
1992 (name "ghc-concatenative")
1993 (version "1.0.1")
1994 (source (origin
1995 (method url-fetch)
1996 (uri (string-append
1997 "https://hackage.haskell.org/package/concatenative/concatenative-"
1998 version ".tar.gz"))
1999 (sha256
2000 (base32
2001 "05xwqvcdnk8bsyj698ab9jxpa1nk23pf3m7wi9mwmw0q8n99fngd"))))
2002 (build-system haskell-build-system)
2003 (home-page
2004 "https://patch-tag.com/r/salazar/concatenative/snapshot/current/content/pretty")
2005 (synopsis "Library for postfix control flow")
2006 (description
2007 "Concatenative gives Haskell Factor-style combinators and arrows for
2008 postfix notation. For more information on stack based languages, see
2009 @uref{https://concatenative.org}.")
2010 (license license:bsd-3)))
2011
2012 (define-public ghc-concurrent-extra
2013 (package
2014 (name "ghc-concurrent-extra")
2015 (version "0.7.0.12")
2016 (source
2017 (origin
2018 (method url-fetch)
2019 (uri (string-append "https://hackage.haskell.org/package/"
2020 "concurrent-extra/concurrent-extra-"
2021 version ".tar.gz"))
2022 (sha256
2023 (base32
2024 "1y8xk460fvnw0idzdiylmm874sjny4q9jxb1js9fjz8lw2wns3h4"))))
2025 (build-system haskell-build-system)
2026 (arguments
2027 ;; XXX: The ReadWriteLock 'stressTest' fails.
2028 `(#:tests? #f))
2029 (inputs
2030 `(("ghc-unbounded-delays" ,ghc-unbounded-delays)))
2031 (native-inputs
2032 `(("ghc-async" ,ghc-async)
2033 ("ghc-hunit" ,ghc-hunit)
2034 ("ghc-random" ,ghc-random)
2035 ("ghc-test-framework" ,ghc-test-framework)
2036 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
2037 (home-page "https://github.com/basvandijk/concurrent-extra")
2038 (synopsis "Extra concurrency primitives")
2039 (description "This Haskell library offers (among other things) the
2040 following selection of synchronisation primitives:
2041
2042 @itemize
2043 @item @code{Broadcast}: Wake multiple threads by broadcasting a value.
2044 @item @code{Event}: Wake multiple threads by signalling an event.
2045 @item @code{Lock}: Enforce exclusive access to a resource. Also known
2046 as a binary semaphore or mutex. The package additionally provides an
2047 alternative that works in the STM monad.
2048 @item @code{RLock}: A lock which can be acquired multiple times by the
2049 same thread. Also known as a reentrant mutex.
2050 @item @code{ReadWriteLock}: Multiple-reader, single-writer locks. Used
2051 to protect shared resources which may be concurrently read, but only
2052 sequentially written.
2053 @item @code{ReadWriteVar}: Concurrent read, sequential write variables.
2054 @end itemize
2055
2056 Please consult the API documentation of the individual modules for more
2057 detailed information.
2058
2059 This package was inspired by the concurrency libraries of Java and
2060 Python.")
2061 (license license:bsd-3)))
2062
2063 (define-public ghc-concurrent-output
2064 (package
2065 (name "ghc-concurrent-output")
2066 (version "1.10.11")
2067 (source
2068 (origin
2069 (method url-fetch)
2070 (uri (string-append
2071 "mirror://hackage/package/concurrent-output/concurrent-output-"
2072 version
2073 ".tar.gz"))
2074 (sha256
2075 (base32
2076 "1d1aaqg5814k59b0iws3fh06p3g2siaj922gkhs75qgncj0my2p3"))))
2077 (build-system haskell-build-system)
2078 (inputs
2079 `(("ghc-async" ,ghc-async)
2080 ("ghc-exceptions" ,ghc-exceptions)
2081 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
2082 ("ghc-terminal-size" ,ghc-terminal-size)))
2083 (home-page
2084 "https://hackage.haskell.org/package/concurrent-output")
2085 (synopsis
2086 "Ungarble output from several threads or commands")
2087 (description
2088 "Lets multiple threads and external processes concurrently output to the
2089 console, without it getting all garbled up.
2090
2091 Built on top of that is a way of defining multiple output regions, which are
2092 automatically laid out on the screen and can be individually updated by
2093 concurrent threads. Can be used for progress displays etc.")
2094 (license license:bsd-2)))
2095
2096 (define-public ghc-conduit
2097 (package
2098 (name "ghc-conduit")
2099 (version "1.3.1.1")
2100 (source (origin
2101 (method url-fetch)
2102 (uri (string-append "https://hackage.haskell.org/package/"
2103 "conduit/conduit-" version ".tar.gz"))
2104 (sha256
2105 (base32
2106 "18izjgff4pmrknc8py06yvg3g6x27nx0rzmlwjxcflwm5v4szpw4"))))
2107 (build-system haskell-build-system)
2108 (inputs
2109 `(("ghc-exceptions" ,ghc-exceptions)
2110 ("ghc-lifted-base" ,ghc-lifted-base)
2111 ("ghc-mono-traversable" ,ghc-mono-traversable)
2112 ("ghc-mmorph" ,ghc-mmorph)
2113 ("ghc-resourcet" ,ghc-resourcet)
2114 ("ghc-silently" ,ghc-silently)
2115 ("ghc-transformers-base" ,ghc-transformers-base)
2116 ("ghc-unliftio" ,ghc-unliftio)
2117 ("ghc-unliftio-core" ,ghc-unliftio-core)
2118 ("ghc-vector" ,ghc-vector)
2119 ("ghc-void" ,ghc-void)))
2120 (native-inputs
2121 `(("ghc-quickcheck" ,ghc-quickcheck)
2122 ("ghc-hspec" ,ghc-hspec)
2123 ("ghc-safe" ,ghc-safe)
2124 ("ghc-split" ,ghc-split)))
2125 (home-page "https://github.com/snoyberg/conduit")
2126 (synopsis "Streaming data library ")
2127 (description
2128 "The conduit package is a solution to the streaming data problem,
2129 allowing for production, transformation, and consumption of streams of data
2130 in constant memory. It is an alternative to lazy I/O which guarantees
2131 deterministic resource handling, and fits in the same general solution
2132 space as enumerator/iteratee and pipes.")
2133 (license license:expat)))
2134
2135 (define-public ghc-conduit-algorithms
2136 (package
2137 (name "ghc-conduit-algorithms")
2138 (version "0.0.11.0")
2139 (source
2140 (origin
2141 (method url-fetch)
2142 (uri (string-append "https://hackage.haskell.org/package/"
2143 "conduit-algorithms/conduit-algorithms-"
2144 version ".tar.gz"))
2145 (sha256
2146 (base32
2147 "0c1jwz30kkvimx7lb61782yk0kyfamrf5bqc3g1h7g51lk8bbv9i"))))
2148 (build-system haskell-build-system)
2149 (inputs
2150 `(("ghc-async" ,ghc-async)
2151 ("ghc-bzlib-conduit" ,ghc-bzlib-conduit)
2152 ("ghc-conduit" ,ghc-conduit)
2153 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
2154 ("ghc-conduit-extra" ,ghc-conduit-extra)
2155 ("ghc-conduit-zstd" ,ghc-conduit-zstd)
2156 ("ghc-exceptions" ,ghc-exceptions)
2157 ("ghc-lzma-conduit" ,ghc-lzma-conduit)
2158 ("ghc-monad-control" ,ghc-monad-control)
2159 ("ghc-pqueue" ,ghc-pqueue)
2160 ("ghc-resourcet" ,ghc-resourcet)
2161 ("ghc-stm-conduit" ,ghc-stm-conduit)
2162 ("ghc-streaming-commons" ,ghc-streaming-commons)
2163 ("ghc-unliftio-core" ,ghc-unliftio-core)
2164 ("ghc-vector" ,ghc-vector)))
2165 (native-inputs
2166 `(("ghc-hunit" ,ghc-hunit)
2167 ("ghc-test-framework" ,ghc-test-framework)
2168 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
2169 ("ghc-test-framework-th" ,ghc-test-framework-th)))
2170 (home-page "https://github.com/luispedro/conduit-algorithms#readme")
2171 (synopsis "Conduit-based algorithms")
2172 (description
2173 "This package provides algorithms on @code{Conduits}, including higher
2174 level asynchronous processing and some other utilities.")
2175 (license license:expat)))
2176
2177 (define-public ghc-conduit-combinators
2178 (package
2179 (name "ghc-conduit-combinators")
2180 (version "1.3.0")
2181 (source
2182 (origin
2183 (method url-fetch)
2184 (uri (string-append "https://hackage.haskell.org/package/"
2185 "conduit-combinators-" version "/"
2186 "conduit-combinators-" version ".tar.gz"))
2187 (sha256
2188 (base32
2189 "1lz70vwp4y4lpsivxl0cshq7aq3968rh48r6rjvpyaj2l0bdj5wp"))))
2190 (build-system haskell-build-system)
2191 (inputs `(("ghc-conduit" ,ghc-conduit)
2192 ("ghc-conduit-extra" ,ghc-conduit-extra)
2193 ("ghc-transformers-base" ,ghc-transformers-base)
2194 ("ghc-primitive" ,ghc-primitive)
2195 ("ghc-vector" ,ghc-vector)
2196 ("ghc-void" ,ghc-void)
2197 ("ghc-mwc-random" ,ghc-mwc-random)
2198 ("ghc-unix-compat" ,ghc-unix-compat)
2199 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
2200 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
2201 ("ghc-resourcet" ,ghc-resourcet)
2202 ("ghc-monad-control" ,ghc-monad-control)
2203 ("ghc-chunked-data" ,ghc-chunked-data)
2204 ("ghc-mono-traversable" ,ghc-mono-traversable)))
2205 (native-inputs `(("ghc-hspec" ,ghc-hspec)
2206 ("ghc-silently" ,ghc-silently)
2207 ("ghc-safe" ,ghc-safe)
2208 ("ghc-quickcheck" ,ghc-quickcheck)))
2209 (home-page "https://github.com/snoyberg/mono-traversable")
2210 (synopsis "Commonly used conduit functions, for both chunked and
2211 unchunked data")
2212 (description "This Haskell package provides a replacement for Data.Conduit.List,
2213 as well as a convenient Conduit module.")
2214 (license license:expat)))
2215
2216 (define-public ghc-conduit-extra
2217 (package
2218 (name "ghc-conduit-extra")
2219 (version "1.3.4")
2220 (source
2221 (origin
2222 (method url-fetch)
2223 (uri (string-append "https://hackage.haskell.org/package/"
2224 "conduit-extra/conduit-extra-"
2225 version ".tar.gz"))
2226 (sha256
2227 (base32
2228 "1d853d39vj5pb8yxfcsnjwdzqzkm34ixzbnba8bslpihb7182wxi"))))
2229 (build-system haskell-build-system)
2230 (inputs
2231 `(("ghc-conduit" ,ghc-conduit)
2232 ("ghc-exceptions" ,ghc-exceptions)
2233 ("ghc-monad-control" ,ghc-monad-control)
2234 ("ghc-transformers-base" ,ghc-transformers-base)
2235 ("ghc-typed-process" ,ghc-typed-process)
2236 ("ghc-async" ,ghc-async)
2237 ("ghc-attoparsec" ,ghc-attoparsec)
2238 ("ghc-blaze-builder" ,ghc-blaze-builder)
2239 ("ghc-network" ,ghc-network)
2240 ("ghc-primitive" ,ghc-primitive)
2241 ("ghc-resourcet" ,ghc-resourcet)
2242 ("ghc-streaming-commons" ,ghc-streaming-commons)
2243 ("ghc-hspec" ,ghc-hspec)
2244 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
2245 ("ghc-quickcheck" ,ghc-quickcheck)))
2246 (native-inputs
2247 `(("hspec-discover" ,hspec-discover)))
2248 (home-page "https://github.com/snoyberg/conduit")
2249 (synopsis "Conduit adapters for common libraries")
2250 (description
2251 "The @code{conduit} package itself maintains relative small dependencies.
2252 The purpose of this package is to collect commonly used utility functions
2253 wrapping other library dependencies, without depending on heavier-weight
2254 dependencies. The basic idea is that this package should only depend on
2255 @code{haskell-platform} packages and @code{conduit}.")
2256 (license license:expat)))
2257
2258 (define-public ghc-conduit-zstd
2259 (package
2260 (name "ghc-conduit-zstd")
2261 (version "0.0.1.1")
2262 (source
2263 (origin
2264 (method url-fetch)
2265 (uri (string-append "https://hackage.haskell.org/package/"
2266 "conduit-zstd/conduit-zstd-" version ".tar.gz"))
2267 (sha256
2268 (base32
2269 "04h7w2903hgw4gjcx2pg29yinnmfapawvc19hd3r57rr12fzb0c6"))))
2270 (build-system haskell-build-system)
2271 (inputs
2272 `(("ghc-conduit" ,ghc-conduit)
2273 ("ghc-zstd" ,ghc-zstd)))
2274 (native-inputs
2275 `(("ghc-hunit" ,ghc-hunit)
2276 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
2277 ("ghc-conduit-extra" ,ghc-conduit-extra)
2278 ("ghc-test-framework" ,ghc-test-framework)
2279 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
2280 ("ghc-test-framework-th" ,ghc-test-framework-th)))
2281 (home-page "https://github.com/luispedro/conduit-zstd#readme")
2282 (synopsis "Conduit-based ZStd Compression")
2283 (description "Zstandard compression packaged as a conduit. This is
2284 a very thin wrapper around the
2285 @url{https://github.com/facebookexperimental/hs-zstd/, official hs-zstd
2286 interface}.")
2287 (license license:expat)))
2288
2289 (define-public ghc-configurator
2290 (package
2291 (name "ghc-configurator")
2292 (version "0.3.0.0")
2293 (source
2294 (origin
2295 (method url-fetch)
2296 (uri (string-append "https://hackage.haskell.org/package/"
2297 "configurator/configurator-"
2298 version ".tar.gz"))
2299 (sha256
2300 (base32
2301 "1d1iq1knwiq6ia5g64rw5hqm6dakz912qj13r89737rfcxmrkfbf"))))
2302 (build-system haskell-build-system)
2303 (inputs
2304 `(("ghc-attoparsec" ,ghc-attoparsec)
2305 ("ghc-hashable" ,ghc-hashable)
2306 ("ghc-unix-compat" ,ghc-unix-compat)
2307 ("ghc-unordered-containers" ,ghc-unordered-containers)))
2308 (native-inputs
2309 `(("ghc-hunit" ,ghc-hunit)
2310 ("ghc-test-framework" ,ghc-test-framework)
2311 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
2312 (home-page "http://github.com/bos/configurator")
2313 (synopsis "Configuration management")
2314 (description
2315 "This package provides a configuration management library for programs
2316 and daemons. The features include:
2317
2318 @enumerate
2319 @item Automatic, dynamic reloading in response to modifications to
2320 configuration files.
2321 @item A simple, but flexible, configuration language, supporting several of
2322 the most commonly needed types of data, along with interpolation of strings
2323 from the configuration or the system environment (e.g. @code{$(HOME)}).
2324 @item Subscription-based notification of changes to configuration properties.
2325 @item An @code{import} directive allows the configuration of a complex
2326 application to be split across several smaller files, or common configuration
2327 data to be shared across several applications.
2328 @end enumerate\n")
2329 (license license:bsd-3)))
2330
2331 (define-public ghc-connection
2332 (package
2333 (name "ghc-connection")
2334 (version "0.3.1")
2335 (source (origin
2336 (method url-fetch)
2337 (uri (string-append "https://hackage.haskell.org/package/"
2338 "connection/connection-"
2339 version ".tar.gz"))
2340 (sha256
2341 (base32
2342 "1nbmafhlg0wy4aa3p7amjddbamdz6avzrxn4py3lvhrjqn4raxax"))))
2343 (build-system haskell-build-system)
2344 (inputs
2345 `(("ghc-byteable" ,ghc-byteable)
2346 ("ghc-data-default-class" ,ghc-data-default-class)
2347 ("ghc-network" ,ghc-network)
2348 ("ghc-tls" ,ghc-tls)
2349 ("ghc-socks" ,ghc-socks)
2350 ("ghc-x509" ,ghc-x509)
2351 ("ghc-x509-store" ,ghc-x509-store)
2352 ("ghc-x509-system" ,ghc-x509-system)
2353 ("ghc-x509-validation" ,ghc-x509-validation)))
2354 (home-page "https://github.com/vincenthz/hs-connection")
2355 (synopsis "Simple and easy network connections API")
2356 (description
2357 "This package provides a simple network library for all your connection
2358 needs. It provides a very simple API to create sockets to a destination with
2359 the choice of SSL/TLS, and SOCKS.")
2360 (license license:bsd-3)))
2361
2362 (define-public ghc-constraints
2363 (package
2364 (name "ghc-constraints")
2365 (version "0.10.1")
2366 (source
2367 (origin
2368 (method url-fetch)
2369 (uri (string-append
2370 "https://hackage.haskell.org/package/constraints/constraints-"
2371 version ".tar.gz"))
2372 (sha256
2373 (base32
2374 "1xy3vv78jxc17hm0z7qqspxjwv7l2jbcbj670yrl2f053qkfr02q"))))
2375 (build-system haskell-build-system)
2376 (inputs
2377 `(("ghc-hashable" ,ghc-hashable)
2378 ("ghc-semigroups" ,ghc-semigroups)
2379 ("ghc-transformers-compat" ,ghc-transformers-compat)))
2380 (native-inputs
2381 `(("ghc-hspec" ,ghc-hspec)
2382 ("hspec-discover" ,hspec-discover)))
2383 (home-page "https://github.com/ekmett/constraints/")
2384 (synopsis "Constraint manipulation")
2385 (description
2386 "GHC 7.4 gave us the ability to talk about @code{ConstraintKinds}.
2387 They stopped crashing the compiler in GHC 7.6. This package provides
2388 a vocabulary for working with them.")
2389 (license license:bsd-3)))
2390
2391 (define-public ghc-contravariant
2392 (package
2393 (name "ghc-contravariant")
2394 (version "1.5.2")
2395 (source
2396 (origin
2397 (method url-fetch)
2398 (uri (string-append
2399 "https://hackage.haskell.org/package/contravariant/contravariant-"
2400 version
2401 ".tar.gz"))
2402 (sha256
2403 (base32
2404 "0366gl62wwwdbl9i6kqy60asf60876k55v91la6bmhnwwcj2q9n4"))))
2405 (build-system haskell-build-system)
2406 (inputs
2407 `(("ghc-void" ,ghc-void)
2408 ("ghc-transformers-compat" ,ghc-transformers-compat)
2409 ("ghc-statevar" ,ghc-statevar)
2410 ("ghc-semigroups" ,ghc-semigroups)))
2411 (home-page
2412 "https://github.com/ekmett/contravariant/")
2413 (synopsis "Contravariant functors")
2414 (description "Contravariant functors for Haskell.")
2415 (license license:bsd-3)))
2416
2417 (define-public ghc-contravariant-extras
2418 (package
2419 (name "ghc-contravariant-extras")
2420 (version "0.3.4")
2421 (source
2422 (origin
2423 (method url-fetch)
2424 (uri (string-append "https://hackage.haskell.org/package/"
2425 "contravariant-extras-" version "/"
2426 "contravariant-extras-" version ".tar.gz"))
2427 (sha256
2428 (base32
2429 "0gg62ccl94kvh7mnvdq09pifqxjx2kgs189si90nmg44bafj7a9n"))))
2430 (build-system haskell-build-system)
2431 (arguments
2432 `(#:cabal-revision
2433 ("1" "1h2955ahga6i4fn7k8v66l03v77p6fhsac6ck8gpabkc08ij60wp")))
2434 (inputs
2435 `(("ghc-tuple-th" ,ghc-tuple-th)
2436 ("ghc-contravariant" ,ghc-contravariant)
2437 ("ghc-base-prelude" ,ghc-base-prelude)
2438 ("ghc-semigroups" ,ghc-semigroups)))
2439 (home-page "https://github.com/nikita-volkov/contravariant-extras")
2440 (synopsis "Extras for the @code{ghc-contravariant} Haskell package")
2441 (description "This Haskell package provides extras for the
2442 @code{ghc-contravariant} package.")
2443 (license license:expat)))
2444
2445 (define-public ghc-convertible
2446 (package
2447 (name "ghc-convertible")
2448 (version "1.1.1.0")
2449 (source
2450 (origin
2451 (method url-fetch)
2452 (uri (string-append "https://hackage.haskell.org/package/convertible/"
2453 "convertible-" version ".tar.gz"))
2454 (sha256
2455 (base32
2456 "0v18ap1mccnndgxmbfgyjdicg8jlss01bd5fq8a576dr0h4sgyg9"))))
2457 (build-system haskell-build-system)
2458 (inputs
2459 `(("ghc-old-time" ,ghc-old-time)
2460 ("ghc-old-locale" ,ghc-old-locale)))
2461 (home-page "https://hackage.haskell.org/package/convertible")
2462 (synopsis "Typeclasses and instances for converting between types")
2463 (description
2464 "This package provides a typeclass with a single function that is
2465 designed to help convert between different types: numeric values, dates and
2466 times, and the like. The conversions perform bounds checking and return a
2467 pure @code{Either} value. This means that you need not remember which specific
2468 function performs the conversion you desire.")
2469 (license license:bsd-3)))
2470
2471 (define-public ghc-data-accessor
2472 (package
2473 (name "ghc-data-accessor")
2474 (version "0.2.2.8")
2475 (source
2476 (origin
2477 (method url-fetch)
2478 (uri (string-append
2479 "mirror://hackage/package/data-accessor/data-accessor-"
2480 version ".tar.gz"))
2481 (sha256
2482 (base32 "1fq4gygxbz0bd0mzgvc1sl3m4gjnsv8nbgpnmdpa29zj5lb9agxc"))))
2483 (build-system haskell-build-system)
2484 (home-page "https://www.haskell.org/haskellwiki/Record_access")
2485 (synopsis
2486 "Haskell utilities for accessing and manipulating fields of records")
2487 (description "This package provides Haskell modules for accessing and
2488 manipulating fields of records.")
2489 (license license:bsd-3)))
2490
2491 (define-public ghc-data-accessor-transformers
2492 (package
2493 (name "ghc-data-accessor-transformers")
2494 (version "0.2.1.7")
2495 (source
2496 (origin
2497 (method url-fetch)
2498 (uri (string-append
2499 "mirror://hackage/package/data-accessor-transformers/"
2500 "data-accessor-transformers-" version ".tar.gz"))
2501 (sha256
2502 (base32 "0yp030vafbpddl27m606aibbbr5ar5j5bsv4bksscz3cq4yq5j10"))))
2503 (build-system haskell-build-system)
2504 (inputs `(("ghc-data-accessor" ,ghc-data-accessor)))
2505 (home-page "https://www.haskell.org/haskellwiki/Record_access")
2506 (synopsis "Use Accessor to access state in transformers State monad")
2507 (description "This package provides Haskell modules to allow use of
2508 Accessor to access state in transformers State monad.")
2509 (license license:bsd-3)))
2510
2511 (define-public ghc-data-default
2512 (package
2513 (name "ghc-data-default")
2514 (version "0.7.1.1")
2515 (source
2516 (origin
2517 (method url-fetch)
2518 (uri (string-append
2519 "https://hackage.haskell.org/package/data-default/data-default-"
2520 version
2521 ".tar.gz"))
2522 (sha256
2523 (base32 "04d5n8ybmcxba9qb6h389w9zfq1lvj81b82jh6maqp6pkhkmvydh"))))
2524 (build-system haskell-build-system)
2525 (inputs
2526 `(("ghc-data-default-class"
2527 ,ghc-data-default-class)
2528 ("ghc-data-default-instances-base"
2529 ,ghc-data-default-instances-base)
2530 ("ghc-data-default-instances-containers"
2531 ,ghc-data-default-instances-containers)
2532 ("ghc-data-default-instances-dlist"
2533 ,ghc-data-default-instances-dlist)
2534 ("ghc-data-default-instances-old-locale"
2535 ,ghc-data-default-instances-old-locale)))
2536 (home-page "https://hackage.haskell.org/package/data-default")
2537 (synopsis "Types with default values")
2538 (description
2539 "This package defines a class for types with a default value, and
2540 provides instances for types from the base, containers, dlist and old-locale
2541 packages.")
2542 (license license:bsd-3)))
2543
2544 (define-public ghc-data-default-class
2545 (package
2546 (name "ghc-data-default-class")
2547 (version "0.1.2.0")
2548 (source
2549 (origin
2550 (method url-fetch)
2551 (uri (string-append
2552 "https://hackage.haskell.org/package/data-default-class/"
2553 "data-default-class-" version ".tar.gz"))
2554 (sha256
2555 (base32 "0miyjz8d4jyvqf2vp60lyfbnflx6cj2k8apmm9ly1hq0y0iv80ag"))))
2556 (build-system haskell-build-system)
2557 (home-page "https://hackage.haskell.org/package/data-default-class")
2558 (synopsis "Types with default values")
2559 (description
2560 "This package defines a class for types with default values.")
2561 (license license:bsd-3)))
2562
2563 (define-public ghc-data-default-instances-base
2564 (package
2565 (name "ghc-data-default-instances-base")
2566 (version "0.1.0.1")
2567 (source
2568 (origin
2569 (method url-fetch)
2570 (uri (string-append
2571 "https://hackage.haskell.org/package/"
2572 "data-default-instances-base/"
2573 "data-default-instances-base-" version ".tar.gz"))
2574 (sha256
2575 (base32 "0ym1sw3ssdzzifxxhh76qlv8kkmb2iclc158incv1dklyr9y8kw4"))))
2576 (build-system haskell-build-system)
2577 (inputs
2578 `(("ghc-data-default-class" ,ghc-data-default-class)))
2579 (home-page "https://hackage.haskell.org/package/data-default-instances-base")
2580 (synopsis "Default instances for types in base")
2581 (description
2582 "This package provides default instances for types from the base
2583 package.")
2584 (license license:bsd-3)))
2585
2586 (define-public ghc-data-default-instances-containers
2587 (package
2588 (name "ghc-data-default-instances-containers")
2589 (version "0.0.1")
2590 (source
2591 (origin
2592 (method url-fetch)
2593 (uri (string-append
2594 "https://hackage.haskell.org/package/"
2595 "data-default-instances-containers/"
2596 "data-default-instances-containers-" version ".tar.gz"))
2597 (sha256
2598 (base32 "06h8xka031w752a7cjlzghvr8adqbl95xj9z5zc1b62w02phfpm5"))))
2599 (build-system haskell-build-system)
2600 (inputs
2601 `(("ghc-data-default-class" ,ghc-data-default-class)))
2602 (home-page "https://hackage.haskell.org/package/data-default-instances-containers")
2603 (synopsis "Default instances for types in containers")
2604 (description "Provides default instances for types from the containers
2605 package.")
2606 (license license:bsd-3)))
2607
2608 (define-public ghc-data-default-instances-dlist
2609 (package
2610 (name "ghc-data-default-instances-dlist")
2611 (version "0.0.1")
2612 (source
2613 (origin
2614 (method url-fetch)
2615 (uri (string-append
2616 "https://hackage.haskell.org/package/"
2617 "data-default-instances-dlist/"
2618 "data-default-instances-dlist-" version ".tar.gz"))
2619 (sha256
2620 (base32 "0narkdqiprhgayjiawrr4390h4rq4pl2pb6mvixbv2phrc8kfs3x"))))
2621 (build-system haskell-build-system)
2622 (inputs
2623 `(("ghc-data-default-class" ,ghc-data-default-class)
2624 ("ghc-dlist" ,ghc-dlist)))
2625 (home-page "https://hackage.haskell.org/package/data-default-instances-dlist")
2626 (synopsis "Default instances for types in dlist")
2627 (description "Provides default instances for types from the dlist
2628 package.")
2629 (license license:bsd-3)))
2630
2631 (define-public ghc-data-default-instances-old-locale
2632 (package
2633 (name "ghc-data-default-instances-old-locale")
2634 (version "0.0.1")
2635 (source
2636 (origin
2637 (method url-fetch)
2638 (uri (string-append
2639 "https://hackage.haskell.org/package/"
2640 "data-default-instances-old-locale/"
2641 "data-default-instances-old-locale-" version ".tar.gz"))
2642 (sha256
2643 (base32 "00h81i5phib741yj517p8mbnc48myvfj8axzsw44k34m48lv1lv0"))))
2644 (build-system haskell-build-system)
2645 (inputs
2646 `(("ghc-data-default-class" ,ghc-data-default-class)
2647 ("ghc-old-locale" ,ghc-old-locale)))
2648 (home-page
2649 "https://hackage.haskell.org/package/data-default-instances-old-locale")
2650 (synopsis "Default instances for types in old-locale")
2651 (description "Provides Default instances for types from the old-locale
2652 package.")
2653 (license license:bsd-3)))
2654
2655 (define-public ghc-data-hash
2656 (package
2657 (name "ghc-data-hash")
2658 (version "0.2.0.1")
2659 (source
2660 (origin
2661 (method url-fetch)
2662 (uri (string-append "https://hackage.haskell.org/package/data-hash"
2663 "/data-hash-" version ".tar.gz"))
2664 (sha256
2665 (base32 "1ghbqvc48gf9p8wiy71hdpaj7by3b9cw6wgwi3qqz8iw054xs5wi"))))
2666 (build-system haskell-build-system)
2667 (inputs
2668 `(("ghc-quickcheck" ,ghc-quickcheck)
2669 ("ghc-test-framework" ,ghc-test-framework)
2670 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2671 (home-page "https://hackage.haskell.org/package/data-hash")
2672 (synopsis "Combinators for building fast hashing functions")
2673 (description
2674 "This package provides combinators for building fast hashing functions.
2675 It includes hashing functions for all basic Haskell98 types.")
2676 (license license:bsd-3)))
2677
2678 (define-public ghc-data-ordlist
2679 (package
2680 (name "ghc-data-ordlist")
2681 (version "0.4.7.0")
2682 (source
2683 (origin
2684 (method url-fetch)
2685 (uri (string-append
2686 "https://hackage.haskell.org/package/data-ordlist/data-ordlist-"
2687 version ".tar.gz"))
2688 (sha256
2689 (base32
2690 "03a9ix1fcx08viwv2jg5ndw1qbkydyyrmjvqr9wasmcik9x1wv3g"))))
2691 (build-system haskell-build-system)
2692 (home-page "https://hackage.haskell.org/package/data-ordlist")
2693 (synopsis "Set and bag operations on ordered lists")
2694 (description
2695 "This module provides set and multiset operations on ordered lists.")
2696 (license license:bsd-3)))
2697
2698 (define-public ghc-dbus
2699 (package
2700 (name "ghc-dbus")
2701 (version "1.2.7")
2702 (source
2703 (origin
2704 (method url-fetch)
2705 (uri
2706 (string-append
2707 "mirror://hackage/package/dbus/dbus-"
2708 version ".tar.gz"))
2709 (sha256
2710 (base32
2711 "0ypkjlw9fn65g7p28kb3p82glk7qs7p7vyffccw7qxa3z57s12w5"))))
2712 (build-system haskell-build-system)
2713 (inputs
2714 `(("ghc-cereal" ,ghc-cereal)
2715 ("ghc-conduit" ,ghc-conduit)
2716 ("ghc-exceptions" ,ghc-exceptions)
2717 ("ghc-lens" ,ghc-lens)
2718 ("ghc-network" ,ghc-network)
2719 ("ghc-random" ,ghc-random)
2720 ("ghc-split" ,ghc-split)
2721 ("ghc-th-lift" ,ghc-th-lift)
2722 ("ghc-vector" ,ghc-vector)
2723 ("ghc-xml-conduit" ,ghc-xml-conduit)
2724 ("ghc-xml-types" ,ghc-xml-types)))
2725 (native-inputs
2726 `(("ghc-extra" ,ghc-extra)
2727 ("ghc-quickcheck" ,ghc-quickcheck)
2728 ("ghc-resourcet" ,ghc-resourcet)
2729 ("ghc-tasty" ,ghc-tasty)
2730 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
2731 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
2732 ;; FIXME - Some tests try to talk to network.
2733 (arguments `(#:tests? #f))
2734 (home-page "https://github.com/rblaze/haskell-dbus")
2735 (synopsis "Client library for the D-Bus IPC system")
2736 (description
2737 "D-Bus is a simple, message-based protocol for inter-process
2738 communication, which allows applications to interact with other parts
2739 of the machine and the user's session using remote procedure
2740 calls. D-Bus is a essential part of the modern Linux desktop, where
2741 it replaces earlier protocols such as CORBA and DCOP. This library
2742 is an implementation of the D-Bus protocol in Haskell. It can be used
2743 to add D-Bus support to Haskell applications, without the awkward
2744 interfaces common to foreign bindings.")
2745 (license license:asl2.0)))
2746
2747 (define-public ghc-deepseq-generics
2748 (package
2749 (name "ghc-deepseq-generics")
2750 (version "0.2.0.0")
2751 (source (origin
2752 (method url-fetch)
2753 (uri (string-append "https://hackage.haskell.org/package/"
2754 "deepseq-generics/deepseq-generics-"
2755 version ".tar.gz"))
2756 (sha256
2757 (base32
2758 "17bwghc15mc9pchfd1w46jh2p3wzc86aj6a537wqwxn08rayzcxh"))))
2759 (build-system haskell-build-system)
2760 (arguments
2761 `(#:cabal-revision
2762 ("4" "0928s2qnbqsjzrm94x88rvmvbigfmhcyp4m73gw6asinp2qg1kii")))
2763 (native-inputs
2764 `(("ghc-hunit" ,ghc-hunit)
2765 ("ghc-test-framework" ,ghc-test-framework)
2766 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
2767 (home-page "https://github.com/hvr/deepseq-generics")
2768 (synopsis "Generic RNF implementation")
2769 (description
2770 "This package provides a @code{GHC.Generics}-based
2771 @code{Control.DeepSeq.Generics.genericRnf} function which can be used for
2772 providing an @code{rnf} implementation.")
2773 (license license:bsd-3)))
2774
2775 (define-public ghc-dense-linear-algebra
2776 (package
2777 (name "ghc-dense-linear-algebra")
2778 (version "0.1.0.0")
2779 (source
2780 (origin
2781 (method url-fetch)
2782 (uri (string-append "https://hackage.haskell.org/package/"
2783 "dense-linear-algebra/dense-linear-algebra-"
2784 version ".tar.gz"))
2785 (sha256
2786 (base32
2787 "1m7jjxahqxj7ilic3r9806mwp5rnnsmn8vvipkmk40xl65wplxzp"))))
2788 (build-system haskell-build-system)
2789 (inputs
2790 `(("ghc-math-functions" ,ghc-math-functions)
2791 ("ghc-primitive" ,ghc-primitive)
2792 ("ghc-vector" ,ghc-vector)
2793 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
2794 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)
2795 ("ghc-vector-binary-instances" ,ghc-vector-binary-instances)))
2796 (native-inputs
2797 `(("ghc-hspec" ,ghc-hspec)
2798 ("ghc-quickcheck" ,ghc-quickcheck)))
2799 (home-page "http://hackage.haskell.org/package/dense-linear-algebra")
2800 (synopsis "Simple and incomplete implementation of linear algebra")
2801 (description "This library is simply a collection of linear-algebra
2802 related modules split from the statistics library.")
2803 (license license:bsd-2)))
2804
2805 (define-public ghc-descriptive
2806 (package
2807 (name "ghc-descriptive")
2808 (version "0.9.5")
2809 (source
2810 (origin
2811 (method url-fetch)
2812 (uri (string-append
2813 "https://hackage.haskell.org/package/descriptive/descriptive-"
2814 version
2815 ".tar.gz"))
2816 (sha256
2817 (base32
2818 "0y5693zm2kvqjilybbmrcv1g6n6x2p6zjgi0k0axjw1sdhh1g237"))))
2819 (build-system haskell-build-system)
2820 (inputs
2821 `(("ghc-aeson" ,ghc-aeson)
2822 ("ghc-bifunctors" ,ghc-bifunctors)
2823 ("ghc-scientific" ,ghc-scientific)
2824 ("ghc-vector" ,ghc-vector)))
2825 (native-inputs
2826 `(("ghc-hunit" ,ghc-hunit)
2827 ("ghc-hspec" ,ghc-hspec)))
2828 (home-page
2829 "https://github.com/chrisdone/descriptive")
2830 (synopsis
2831 "Self-describing consumers/parsers: forms, cmd-line args, JSON, etc.")
2832 (description
2833 "This package provides datatypes and functions for creating consumers
2834 and parsers with useful semantics.")
2835 (license license:bsd-3)))
2836
2837 (define-public ghc-diagrams-core
2838 (package
2839 (name "ghc-diagrams-core")
2840 (version "1.4.2")
2841 (source
2842 (origin
2843 (method url-fetch)
2844 (uri (string-append "https://hackage.haskell.org/package/"
2845 "diagrams-core/diagrams-core-" version ".tar.gz"))
2846 (sha256
2847 (base32
2848 "0qgb43vy23g4fxh3nmxfq6jyp34imqvkhgflaa6rz0iq6d60gl43"))))
2849 (build-system haskell-build-system)
2850 (inputs
2851 `(("ghc-unordered-containers" ,ghc-unordered-containers)
2852 ("ghc-semigroups" ,ghc-semigroups)
2853 ("ghc-monoid-extras" ,ghc-monoid-extras)
2854 ("ghc-dual-tree" ,ghc-dual-tree)
2855 ("ghc-lens" ,ghc-lens)
2856 ("ghc-linear" ,ghc-linear)
2857 ("ghc-adjunctions" ,ghc-adjunctions)
2858 ("ghc-distributive" ,ghc-distributive)
2859 ("ghc-profunctors" ,ghc-profunctors)))
2860 (home-page "https://archives.haskell.org/projects.haskell.org/diagrams/")
2861 (synopsis "Core libraries for diagrams embedded domain-specific language")
2862 (description "This package provides the core modules underlying
2863 diagrams, an embedded domain-specific language for compositional,
2864 declarative drawing.")
2865 (license license:bsd-3)))
2866
2867 (define-public ghc-diagrams-lib
2868 (package
2869 (name "ghc-diagrams-lib")
2870 (version "1.4.2.3")
2871 (source
2872 (origin
2873 (method url-fetch)
2874 (uri (string-append "https://hackage.haskell.org/package/"
2875 "diagrams-lib/diagrams-lib-" version ".tar.gz"))
2876 (sha256
2877 (base32
2878 "175yzi5kw4yd8ykdkpf64q85c7j3p89l90m3h6qcsx9ipv6av9r5"))))
2879 (build-system haskell-build-system)
2880 (inputs
2881 `(("ghc-semigroups" ,ghc-semigroups)
2882 ("ghc-monoid-extras" ,ghc-monoid-extras)
2883 ("ghc-dual-tree" ,ghc-dual-tree)
2884 ("ghc-diagrams-core" ,ghc-diagrams-core)
2885 ("ghc-diagrams-solve" ,ghc-diagrams-solve)
2886 ("ghc-active" ,ghc-active)
2887 ("ghc-colour" ,ghc-colour)
2888 ("ghc-data-default-class" ,ghc-data-default-class)
2889 ("ghc-fingertree" ,ghc-fingertree)
2890 ("ghc-intervals" ,ghc-intervals)
2891 ("ghc-lens" ,ghc-lens)
2892 ("ghc-tagged" ,ghc-tagged)
2893 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
2894 ("ghc-juicypixels" ,ghc-juicypixels)
2895 ("ghc-hashable" ,ghc-hashable)
2896 ("ghc-linear" ,ghc-linear)
2897 ("ghc-adjunctions" ,ghc-adjunctions)
2898 ("ghc-distributive" ,ghc-distributive)
2899 ("ghc-fsnotify" ,ghc-fsnotify)
2900 ("ghc-unordered-containers" ,ghc-unordered-containers)
2901 ("ghc-profunctors" ,ghc-profunctors)
2902 ("ghc-exceptions" ,ghc-exceptions)
2903 ("ghc-cereal" ,ghc-cereal)))
2904 (native-inputs
2905 `(("ghc-tasty" ,ghc-tasty)
2906 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
2907 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
2908 ("ghc-numeric-extras" ,ghc-numeric-extras)))
2909 (arguments
2910 `(#:cabal-revision
2911 ("3" "157y2qdsh0aczs81vzlm377mks976mpv6y3aqnchwsnr7apzp8ai")))
2912 (home-page "https://archives.haskell.org/projects.haskell.org/diagrams/")
2913 (synopsis "Embedded domain-specific language for declarative graphics")
2914 (description "Diagrams is a flexible, extensible embedded
2915 domain-specific language (EDSL) for creating graphics of many types.
2916 Graphics can be created in arbitrary vector spaces and rendered with
2917 multiple backends. This package provides a standard library of
2918 primitives and operations for creating diagrams.")
2919 (license license:bsd-3)))
2920
2921 (define-public ghc-diagrams-solve
2922 (package
2923 (name "ghc-diagrams-solve")
2924 (version "0.1.1")
2925 (source
2926 (origin
2927 (method url-fetch)
2928 (uri (string-append "https://hackage.haskell.org/package/"
2929 "diagrams-solve/diagrams-solve-"
2930 version ".tar.gz"))
2931 (sha256
2932 (base32
2933 "17agchqkmj14b17sw50kzxq4hm056g5d8yy0wnqn5w8h1d0my7x4"))))
2934 (build-system haskell-build-system)
2935 (native-inputs
2936 `(("ghc-tasty" ,ghc-tasty)
2937 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
2938 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
2939 (arguments
2940 `(#:cabal-revision
2941 ("5" "1yl8cs05fzqcz49p601am1ij66m9pa70yamhfxgcvya2pf8nimlf")))
2942 (home-page "https://archives.haskell.org/projects.haskell.org/diagrams/")
2943 (synopsis "Pure Haskell solver routines used by diagrams")
2944 (description "This library provides Pure Haskell solver routines for
2945 use by the
2946 @url{https://archives.haskell.org/projects.haskell.org/diagrams/,
2947 diagrams framework}. It currently includes routines for finding real
2948 roots of low-degree (@math{n < 5}) polynomials, and solving tridiagonal
2949 and cyclic tridiagonal linear systems.")
2950 (license license:bsd-3)))
2951
2952 (define-public ghc-diagrams-svg
2953 (package
2954 (name "ghc-diagrams-svg")
2955 (version "1.4.2")
2956 (source
2957 (origin
2958 (method url-fetch)
2959 (uri (string-append "https://hackage.haskell.org/package/"
2960 "diagrams-svg/diagrams-svg-" version ".tar.gz"))
2961 (sha256
2962 (base32
2963 "1lnyxx45yawqas7hmvvannwaa3ycf1l9g40lsl2m8sl2ja6vcmal"))))
2964 (build-system haskell-build-system)
2965 (inputs
2966 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
2967 ("ghc-colour" ,ghc-colour)
2968 ("ghc-diagrams-core" ,ghc-diagrams-core)
2969 ("ghc-diagrams-lib" ,ghc-diagrams-lib)
2970 ("ghc-monoid-extras" ,ghc-monoid-extras)
2971 ("ghc-svg-builder" ,ghc-svg-builder)
2972 ("ghc-juicypixels" ,ghc-juicypixels)
2973 ("ghc-split" ,ghc-split)
2974 ("ghc-lens" ,ghc-lens)
2975 ("ghc-hashable" ,ghc-hashable)
2976 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
2977 ("ghc-semigroups" ,ghc-semigroups)))
2978 (arguments
2979 `(#:cabal-revision
2980 ("2" "15sn85xaachw4cj56w61bjcwrbf4qmnkfl8mbgdapxi5k0y4f2qv")))
2981 (home-page "https://archives.haskell.org/projects.haskell.org/diagrams/")
2982 (synopsis "Scalable Vector Grpahics backend for the diagrams framework")
2983 (description "This package provides a modular backend for rendering
2984 diagrams created with the diagrams embedded domain-specific
2985 language (EDSL) to Scalable Vector Graphics (SVG) files.")
2986 (license license:bsd-3)))
2987
2988 (define-public ghc-dictionary-sharing
2989 (package
2990 (name "ghc-dictionary-sharing")
2991 (version "0.1.0.0")
2992 (source
2993 (origin
2994 (method url-fetch)
2995 (uri (string-append "https://hackage.haskell.org/package/"
2996 "dictionary-sharing/dictionary-sharing-"
2997 version ".tar.gz"))
2998 (sha256
2999 (base32
3000 "00aspv943qdqhlk39mbk00kb1dsa5r0caj8sslrn81fnsn252fwc"))))
3001 (build-system haskell-build-system)
3002 (arguments
3003 `(#:cabal-revision
3004 ("3" "1mn7jcc7h3b8f1pn9zigqp6mc2n0qb66lms5qnrx4zswdv5w9439")))
3005 (home-page "https://hackage.haskell.org/package/dictionary-sharing")
3006 (synopsis "Sharing/memoization of class members")
3007 (description "This library provides tools for ensuring that class
3008 members are shared.")
3009 (license license:bsd-3)))
3010
3011 (define-public ghc-diff
3012 (package
3013 (name "ghc-diff")
3014 (version "0.3.4")
3015 (source (origin
3016 (method url-fetch)
3017 (uri (string-append "https://hackage.haskell.org/package/"
3018 "Diff/Diff-" version ".tar.gz"))
3019 (patches (search-patches "ghc-diff-swap-cover-args.patch"))
3020 (sha256
3021 (base32
3022 "0bqcdvhxx8dmqc3793m6axg813wv9ldz2j37f1wygbbrbbndmdvp"))))
3023 (build-system haskell-build-system)
3024 (native-inputs
3025 `(("ghc-quickcheck" ,ghc-quickcheck)
3026 ("ghc-test-framework" ,ghc-test-framework)
3027 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3028 (home-page "https://hub.darcs.net/sterlingclover/Diff")
3029 (synopsis "O(ND) diff algorithm in Haskell")
3030 (description
3031 "This package provides an implementation of the standard diff algorithm,
3032 and utilities for pretty printing.")
3033 (license license:bsd-3)))
3034
3035 (define-public ghc-disk-free-space
3036 (package
3037 (name "ghc-disk-free-space")
3038 (version "0.1.0.1")
3039 (source
3040 (origin
3041 (method url-fetch)
3042 (uri (string-append "https://hackage.haskell.org/package/"
3043 "disk-free-space/disk-free-space-"
3044 version ".tar.gz"))
3045 (sha256
3046 (base32
3047 "07rqj8k1vh3cykq9yidpjxhgh1f7vgmjs6y1nv5kq2217ff4yypi"))))
3048 (build-system haskell-build-system)
3049 (home-page "https://github.com/redneb/disk-free-space")
3050 (synopsis "Retrieve information about disk space usage")
3051 (description "A cross-platform library for retrieving information about
3052 disk space usage.")
3053 (license license:bsd-3)))
3054
3055 (define-public ghc-distributive
3056 (package
3057 (name "ghc-distributive")
3058 (version "0.6.1")
3059 (source
3060 (origin
3061 (method url-fetch)
3062 (uri (string-append
3063 "https://hackage.haskell.org/package/distributive/distributive-"
3064 version
3065 ".tar.gz"))
3066 (sha256
3067 (base32
3068 "1wnayzzb4vk8rhh9gzhdpd9f64366k4vmbhximavmqqmp3cv2jbp"))))
3069 (build-system haskell-build-system)
3070 (inputs
3071 `(("ghc-tagged" ,ghc-tagged)
3072 ("ghc-base-orphans" ,ghc-base-orphans)
3073 ("ghc-transformers-compat" ,ghc-transformers-compat)
3074 ("ghc-semigroups" ,ghc-semigroups)
3075 ("ghc-generic-deriving" ,ghc-generic-deriving)))
3076 (native-inputs
3077 `(("cabal-doctest" ,cabal-doctest)
3078 ("ghc-doctest" ,ghc-doctest)
3079 ("ghc-hspec" ,ghc-hspec)
3080 ("hspec-discover" ,hspec-discover)))
3081 (home-page "https://github.com/ekmett/distributive/")
3082 (synopsis "Distributive functors for Haskell")
3083 (description "This package provides distributive functors for Haskell.
3084 Dual to @code{Traversable}.")
3085 (license license:bsd-3)))
3086
3087 (define-public ghc-dlist
3088 (package
3089 (name "ghc-dlist")
3090 (version "0.8.0.7")
3091 (source
3092 (origin
3093 (method url-fetch)
3094 (uri (string-append
3095 "https://hackage.haskell.org/package/dlist/dlist-"
3096 version
3097 ".tar.gz"))
3098 (sha256
3099 (base32 "0b5spkzvj2kx8pk86xz0djkxs13j7dryf5fl16dk4mlp1wh6mh53"))))
3100 (build-system haskell-build-system)
3101 (inputs
3102 `(("ghc-quickcheck" ,ghc-quickcheck)))
3103 (home-page "https://github.com/spl/dlist")
3104 (synopsis "Difference lists")
3105 (description
3106 "Difference lists are a list-like type supporting O(1) append. This is
3107 particularly useful for efficient logging and pretty printing (e.g. with the
3108 Writer monad), where list append quickly becomes too expensive.")
3109 (license license:bsd-3)))
3110
3111 (define-public ghc-doctemplates
3112 (package
3113 (name "ghc-doctemplates")
3114 (version "0.2.2.1")
3115 (source
3116 (origin
3117 (method url-fetch)
3118 (uri (string-append "https://hackage.haskell.org/package/"
3119 "doctemplates/doctemplates-"
3120 version ".tar.gz"))
3121 (sha256
3122 (base32
3123 "1gyckfg3kgvzhxw14i7iwrw0crygvsp86sy53bbr1yn7bxbgn33b"))))
3124 (build-system haskell-build-system)
3125 (inputs
3126 `(("ghc-aeson" ,ghc-aeson)
3127 ("ghc-blaze-markup" ,ghc-blaze-markup)
3128 ("ghc-blaze-html" ,ghc-blaze-html)
3129 ("ghc-vector" ,ghc-vector)
3130 ("ghc-unordered-containers" ,ghc-unordered-containers)
3131 ("ghc-scientific" ,ghc-scientific)))
3132 (native-inputs
3133 `(("ghc-hspec" ,ghc-hspec)))
3134 (home-page "https://github.com/jgm/doctemplates#readme")
3135 (synopsis "Pandoc-style document templates")
3136 (description
3137 "This package provides a simple text templating system used by pandoc.")
3138 (license license:bsd-3)))
3139
3140 (define-public ghc-doctest
3141 (package
3142 (name "ghc-doctest")
3143 (version "0.16.2")
3144 (source
3145 (origin
3146 (method url-fetch)
3147 (uri (string-append
3148 "https://hackage.haskell.org/package/doctest/doctest-"
3149 version
3150 ".tar.gz"))
3151 (sha256
3152 (base32
3153 "0lk4cjfzi5bx2snfzw1zi06li0gvgz3ckfh2kwa98l7nxfdl39ag"))))
3154 (build-system haskell-build-system)
3155 (arguments `(#:tests? #f)) ; FIXME: missing test framework
3156 (inputs
3157 `(("ghc-syb" ,ghc-syb)
3158 ("ghc-paths" ,ghc-paths)
3159 ("ghc-base-compat" ,ghc-base-compat)
3160 ("ghc-code-page" ,ghc-code-page)
3161 ("ghc-hunit" ,ghc-hunit)
3162 ("ghc-hspec" ,ghc-hspec)
3163 ("ghc-quickcheck" ,ghc-quickcheck)
3164 ("ghc-stringbuilder" ,ghc-stringbuilder)
3165 ("ghc-silently" ,ghc-silently)
3166 ("ghc-setenv" ,ghc-setenv)))
3167 (home-page
3168 "https://github.com/sol/doctest#readme")
3169 (synopsis "Test interactive Haskell examples")
3170 (description "The doctest program checks examples in source code comments.
3171 It is modeled after doctest for Python, see
3172 @uref{https://docs.python.org/library/doctest.html, the Doctest website}.")
3173 (license license:expat)))
3174
3175 (define-public ghc-double-conversion
3176 (package
3177 (name "ghc-double-conversion")
3178 (version "2.0.2.0")
3179 (source
3180 (origin
3181 (method url-fetch)
3182 (uri (string-append "https://hackage.haskell.org/package/"
3183 "double-conversion/double-conversion-"
3184 version ".tar.gz"))
3185 (sha256
3186 (base32
3187 "0sx2kc1gw72mjvd8vph8bbjw5whfxfv92rsdhjg1c0al75rf3ka4"))))
3188 (build-system haskell-build-system)
3189 (native-inputs
3190 `(("ghc-hunit" ,ghc-hunit)
3191 ("ghc-test-framework" ,ghc-test-framework)
3192 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3193 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3194 (home-page "https://github.com/bos/double-conversion")
3195 (synopsis "Fast conversion between double precision floating point and text")
3196 (description
3197 "This package provides a library that performs fast, accurate conversion
3198 between double precision floating point and text.")
3199 (license license:bsd-3)))
3200
3201 (define-public ghc-dual-tree
3202 (package
3203 (name "ghc-dual-tree")
3204 (version "0.2.2.1")
3205 (source
3206 (origin
3207 (method url-fetch)
3208 (uri (string-append "https://hackage.haskell.org/package/"
3209 "dual-tree/dual-tree-" version ".tar.gz"))
3210 (sha256
3211 (base32
3212 "17kdfnf0df0z5pkiifxrlmyd1xd7hjjaazd2kzyajl0gd00vbszx"))))
3213 (build-system haskell-build-system)
3214 (inputs
3215 `(("ghc-semigroups" ,ghc-semigroups)
3216 ("ghc-newtype-generics" ,ghc-newtype-generics)
3217 ("ghc-monoid-extras" ,ghc-monoid-extras)))
3218 (native-inputs
3219 `(("ghc-quickcheck" ,ghc-quickcheck)
3220 ("ghc-testing-feat" ,ghc-testing-feat)))
3221 (home-page "https://hackage.haskell.org/package/dual-tree")
3222 (synopsis "Rose trees with cached and accumulating monoidal annotations")
3223 (description "Rose (@math{n}-ary) trees with both upwards- (i.e.
3224 cached) and downwards-traveling (i.e. accumulating) monoidal
3225 annotations. This is used as the core data structure underlying the
3226 @url{https://archives.haskell.org/projects.haskell.org/diagrams/,
3227 diagrams framework}, but potentially has other applications as well.")
3228 (license license:bsd-3)))
3229
3230 (define-public ghc-easy-file
3231 (package
3232 (name "ghc-easy-file")
3233 (version "0.2.2")
3234 (source
3235 (origin
3236 (method url-fetch)
3237 (uri (string-append
3238 "https://hackage.haskell.org/package/easy-file/easy-file-"
3239 version
3240 ".tar.gz"))
3241 (sha256
3242 (base32
3243 "0zmlcz723051qpn8l8vi51c5rx1blwrw4094jcshkmj8p9r2xxaj"))))
3244 (build-system haskell-build-system)
3245 (home-page
3246 "https://github.com/kazu-yamamoto/easy-file")
3247 (synopsis "File handling library for Haskell")
3248 (description "This library provides file handling utilities for Haskell.")
3249 (license license:bsd-3)))
3250
3251 (define-public ghc-easyplot
3252 (package
3253 (name "ghc-easyplot")
3254 (version "1.0")
3255 (source
3256 (origin
3257 (method url-fetch)
3258 (uri (string-append
3259 "https://hackage.haskell.org/package/easyplot/easyplot-"
3260 version ".tar.gz"))
3261 (sha256
3262 (base32 "18kndgvdj2apjpfga6fp7m16y1gx8zrwp3c5vfj03sx4v6jvciqk"))))
3263 (build-system haskell-build-system)
3264 (propagated-inputs `(("gnuplot" ,gnuplot)))
3265 (arguments
3266 `(#:phases (modify-phases %standard-phases
3267 (add-after 'unpack 'fix-setup-suffix
3268 (lambda _ (rename-file "Setup.lhs" "Setup.hs") #t)))))
3269 (home-page "https://hub.darcs.net/scravy/easyplot")
3270 (synopsis "Haskell plotting library based on gnuplot")
3271 (description "This package provides a plotting library for
3272 Haskell, using gnuplot for rendering.")
3273 (license license:expat)))
3274
3275 (define-public ghc-echo
3276 (package
3277 (name "ghc-echo")
3278 (version "0.1.3")
3279 (source
3280 (origin
3281 (method url-fetch)
3282 (uri (string-append
3283 "https://hackage.haskell.org/package/echo/echo-"
3284 version ".tar.gz"))
3285 (sha256
3286 (base32
3287 "1vw5ykpwhr39wc0hhcgq3r8dh59zq6ib4zxbz1qd2wl21wqhfkvh"))))
3288 (build-system haskell-build-system)
3289 (arguments
3290 `(#:cabal-revision
3291 ("1" "0br8wfiybcw5hand4imiw0i5hacdmrax1dv8g95f35gazffbx42l")))
3292 (home-page "https://github.com/RyanGlScott/echo")
3293 (synopsis "Echo terminal input portably")
3294 (description "The @code{base} library exposes the @code{hGetEcho} and
3295 @code{hSetEcho} functions for querying and setting echo status, but
3296 unfortunately, neither function works with MinTTY consoles on Windows.
3297 This library provides an alternative interface which works with both
3298 MinTTY and other consoles.")
3299 (license license:bsd-3)))
3300
3301 (define-public ghc-edisonapi
3302 (package
3303 (name "ghc-edisonapi")
3304 (version "1.3.1")
3305 (source
3306 (origin
3307 (method url-fetch)
3308 (uri (string-append "https://hackage.haskell.org/package/EdisonAPI"
3309 "/EdisonAPI-" version ".tar.gz"))
3310 (sha256
3311 (base32 "0vmmlsj8ggbpwx6fkf5fvb6jp0zpx6iba6b28m80lllr2p8bi8wm"))))
3312 (build-system haskell-build-system)
3313 (home-page "http://rwd.rdockins.name/edison/home/")
3314 (synopsis "Library of efficient, purely-functional data structures (API)")
3315 (description
3316 "Edison is a library of purely functional data structures written by
3317 Chris Okasaki. It is named after Thomas Alva Edison and for the mnemonic
3318 value EDiSon (Efficient Data Structures). Edison provides several families of
3319 abstractions, each with multiple implementations. The main abstractions
3320 provided by Edison are: Sequences such as stacks, queues, and dequeues;
3321 Collections such as sets, bags and heaps; and Associative Collections such as
3322 finite maps and priority queues where the priority and element are distinct.")
3323 (license license:expat)))
3324
3325 (define-public ghc-edisoncore
3326 (package
3327 (name "ghc-edisoncore")
3328 (version "1.3.2.1")
3329 (source
3330 (origin
3331 (method url-fetch)
3332 (uri (string-append "https://hackage.haskell.org/package/EdisonCore"
3333 "/EdisonCore-" version ".tar.gz"))
3334 (sha256
3335 (base32 "0fgj5iwiv3v2gdgx7kjcr15dcs4x1kvmjspp3p99wyhh0x6h3ikk"))))
3336 (build-system haskell-build-system)
3337 (inputs
3338 `(("ghc-quickcheck" ,ghc-quickcheck)
3339 ("ghc-edisonapi" ,ghc-edisonapi)))
3340 (home-page "http://rwd.rdockins.name/edison/home/")
3341 (synopsis "Library of efficient, purely-functional data structures")
3342 (description
3343 "This package provides the core Edison data structure implementations,
3344 including multiple sequence, set, bag, and finite map concrete implementations
3345 with various performance characteristics.")
3346 (license license:expat)))
3347
3348 (define-public ghc-edit-distance
3349 (package
3350 (name "ghc-edit-distance")
3351 (version "0.2.2.1")
3352 (source
3353 (origin
3354 (method url-fetch)
3355 (uri (string-append "https://hackage.haskell.org/package/edit-distance"
3356 "/edit-distance-" version ".tar.gz"))
3357 (sha256
3358 (base32 "0jkca97zyv23yyilp3jydcrzxqhyk27swhzh82llvban5zp8b21y"))))
3359 (build-system haskell-build-system)
3360 (arguments
3361 `(#:phases
3362 (modify-phases %standard-phases
3363 (add-before 'configure 'update-constraints
3364 (lambda _
3365 (substitute* "edit-distance.cabal"
3366 (("QuickCheck >= 2\\.4 && <2\\.9")
3367 "QuickCheck >= 2.4 && < 2.14")))))))
3368 (inputs
3369 `(("ghc-random" ,ghc-random)
3370 ("ghc-test-framework" ,ghc-test-framework)
3371 ("ghc-quickcheck" ,ghc-quickcheck)
3372 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3373 (home-page "https://github.com/phadej/edit-distance")
3374 (synopsis "Levenshtein and restricted Damerau-Levenshtein edit distances")
3375 (description
3376 "This package provides optimized functions to determine the edit
3377 distances for fuzzy matching, including Levenshtein and restricted
3378 Damerau-Levenshtein algorithms.")
3379 (license license:bsd-3)))
3380
3381 (define-public ghc-edit-distance-vector
3382 (package
3383 (name "ghc-edit-distance-vector")
3384 (version "1.0.0.4")
3385 (source
3386 (origin
3387 (method url-fetch)
3388 (uri (string-append "https://hackage.haskell.org/package/"
3389 "edit-distance-vector/edit-distance-vector-"
3390 version ".tar.gz"))
3391 (sha256
3392 (base32
3393 "07qgc8dyi9kkzkd3xcd78wdlljy0xwhz65b4r2qg2piidpcdvpxp"))))
3394 (build-system haskell-build-system)
3395 (inputs
3396 `(("ghc-vector" ,ghc-vector)))
3397 (native-inputs
3398 `(("ghc-quickcheck" ,ghc-quickcheck)
3399 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
3400 (home-page "https://github.com/thsutton/edit-distance-vector")
3401 (synopsis "Calculate edit distances and edit scripts between vectors")
3402 (description "This package provides implementation of the
3403 Wagner-Fischer dynamic programming algorithm to find the optimal edit
3404 script and cost between two sequences. The implementation in this
3405 package is specialised to sequences represented with @code{Data.Vector}
3406 but is otherwise agnostic to:
3407 @itemize
3408 @item The type of values in the vectors;
3409 @item The type representing edit operations; and
3410 @item The type representing the cost of operations.
3411 @end itemize")
3412 (license license:bsd-3)) )
3413
3414 (define-public ghc-either
3415 (package
3416 (name "ghc-either")
3417 (version "5.0.1.1")
3418 (source
3419 (origin
3420 (method url-fetch)
3421 (uri (string-append "https://hackage.haskell.org/package/"
3422 "either-" version "/"
3423 "either-" version ".tar.gz"))
3424 (sha256
3425 (base32
3426 "09yzki8ss56xhy9vggdw1rls86b2kf55hjl5wi0vbv02d8fxahq2"))))
3427 (build-system haskell-build-system)
3428 (inputs `(("ghc-bifunctors" ,ghc-bifunctors)
3429 ("ghc-exceptions" ,ghc-exceptions)
3430 ("ghc-free" ,ghc-free)
3431 ("ghc-monad-control" ,ghc-monad-control)
3432 ("ghc-manodrandom" ,ghc-monadrandom)
3433 ("ghc-mmorph" ,ghc-mmorph)
3434 ("ghc-profunctors" ,ghc-profunctors)
3435 ("ghc-semigroups" ,ghc-semigroups)
3436 ("ghc-semigroupoids" ,ghc-semigroupoids)
3437 ("ghc-transformers-base" ,ghc-transformers-base)))
3438 (native-inputs
3439 `(("ghc-quickcheck" ,ghc-quickcheck)
3440 ("ghc-test-framework" ,ghc-test-framework)
3441 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3442 (home-page "https://github.com/ekmett/either")
3443 (synopsis "Provides an either monad transformer for Haskell")
3444 (description "This Haskell package provides an either monad transformer.")
3445 (license license:bsd-3)))
3446
3447 (define-public ghc-email-validate
3448 (package
3449 (name "ghc-email-validate")
3450 (version "2.3.2.12")
3451 (source
3452 (origin
3453 (method url-fetch)
3454 (uri (string-append
3455 "https://hackage.haskell.org/package/"
3456 "email-validate/email-validate-"
3457 version
3458 ".tar.gz"))
3459 (sha256
3460 (base32
3461 "0ar3cfjia3x11chb7w60mi7hp5djanms883ddk875l6lifr2lyqf"))))
3462 (build-system haskell-build-system)
3463 (inputs
3464 `(("ghc-attoparsec" ,ghc-attoparsec)
3465 ("ghc-hspec" ,ghc-hspec)
3466 ("ghc-quickcheck" ,ghc-quickcheck)
3467 ("ghc-doctest" ,ghc-doctest)))
3468 (home-page
3469 "https://github.com/Porges/email-validate-hs")
3470 (synopsis "Email address validator for Haskell")
3471 (description
3472 "This Haskell package provides a validator that can validate an email
3473 address string against RFC 5322.")
3474 (license license:bsd-3)))
3475
3476 (define-public ghc-enclosed-exceptions
3477 (package
3478 (name "ghc-enclosed-exceptions")
3479 (version "1.0.3")
3480 (source (origin
3481 (method url-fetch)
3482 (uri (string-append "https://hackage.haskell.org/package/"
3483 "enclosed-exceptions/enclosed-exceptions-"
3484 version ".tar.gz"))
3485 (sha256
3486 (base32
3487 "1fghjj7nkiddrf03ks8brjpr5x25yi9fs7xg6adbi4mc2gqr6vdg"))))
3488 (build-system haskell-build-system)
3489 ;; FIXME: one of the tests blocks forever:
3490 ;; "thread blocked indefinitely in an MVar operation"
3491 (arguments '(#:tests? #f))
3492 (inputs
3493 `(("ghc-lifted-base" ,ghc-lifted-base)
3494 ("ghc-monad-control" ,ghc-monad-control)
3495 ("ghc-async" ,ghc-async)
3496 ("ghc-transformers-base" ,ghc-transformers-base)))
3497 (native-inputs
3498 `(("ghc-hspec" ,ghc-hspec)
3499 ("ghc-quickcheck" ,ghc-quickcheck)))
3500 (home-page "https://github.com/jcristovao/enclosed-exceptions")
3501 (synopsis "Catch all exceptions from within an enclosed computation")
3502 (description
3503 "This library implements a technique to catch all exceptions raised
3504 within an enclosed computation, while remaining responsive to (external)
3505 asynchronous exceptions.")
3506 (license license:expat)))
3507
3508 (define-public ghc-equivalence
3509 (package
3510 (name "ghc-equivalence")
3511 (version "0.3.5")
3512 (source
3513 (origin
3514 (method url-fetch)
3515 (uri (string-append "https://hackage.haskell.org/package/equivalence"
3516 "/equivalence-" version ".tar.gz"))
3517 (sha256
3518 (base32 "167njzd1cf32aa7br90rjafrxy6hw3fxkk8awifqbxjrcwm5maqp"))))
3519 (build-system haskell-build-system)
3520 (inputs
3521 `(("ghc-stmonadtrans" ,ghc-stmonadtrans)
3522 ("ghc-transformers-compat" ,ghc-transformers-compat)
3523 ("ghc-fail" ,ghc-fail)
3524 ("ghc-quickcheck" ,ghc-quickcheck)))
3525 (home-page "https://github.com/pa-ba/equivalence")
3526 (synopsis "Maintaining an equivalence relation implemented as union-find")
3527 (description
3528 "This is an implementation of Tarjan's Union-Find algorithm (Robert E.@:
3529 Tarjan. \"Efficiency of a Good But Not Linear Set Union Algorithm\",JACM
3530 22(2), 1975) in order to maintain an equivalence relation. This
3531 implementation is a port of the @code{union-find} package using the @code{ST}
3532 monad transformer (instead of the IO monad).")
3533 (license license:bsd-3)))
3534
3535 (define-public ghc-erf
3536 (package
3537 (name "ghc-erf")
3538 (version "2.0.0.0")
3539 (source
3540 (origin
3541 (method url-fetch)
3542 (uri (string-append "https://hackage.haskell.org/package/"
3543 "erf-" version "/"
3544 "erf-" version ".tar.gz"))
3545 (sha256
3546 (base32
3547 "0dxk2r32ajmmc05vaxcp0yw6vgv4lkbmh8jcshncn98xgsfbgw14"))))
3548 (build-system haskell-build-system)
3549 (home-page "https://hackage.haskell.org/package/erf")
3550 (synopsis "The error function, erf, and related functions for Haskell")
3551 (description "This Haskell library provides a type class for the
3552 error function, erf, and related functions. Instances for Float and
3553 Double.")
3554 (license license:bsd-3)))
3555
3556 (define-public ghc-errorcall-eq-instance
3557 (package
3558 (name "ghc-errorcall-eq-instance")
3559 (version "0.3.0")
3560 (source
3561 (origin
3562 (method url-fetch)
3563 (uri (string-append "https://hackage.haskell.org/package/"
3564 "errorcall-eq-instance/errorcall-eq-instance-"
3565 version ".tar.gz"))
3566 (sha256
3567 (base32
3568 "0hqw82m8bbrxy5vgdwb83bhzdx070ibqrm9rshyja7cb808ahijm"))))
3569 (build-system haskell-build-system)
3570 (inputs
3571 `(("ghc-base-orphans" ,ghc-base-orphans)))
3572 (native-inputs
3573 `(("ghc-quickcheck" ,ghc-quickcheck)
3574 ("ghc-hspec" ,ghc-hspec)
3575 ("hspec-discover" ,hspec-discover)))
3576 (home-page "http://hackage.haskell.org/package/errorcall-eq-instance")
3577 (synopsis "Orphan Eq instance for ErrorCall")
3578 (description
3579 "Prior to @code{base-4.7.0.0} there was no @code{Eq} instance for @code{ErrorCall}.
3580 This package provides an orphan instance.")
3581 (license license:expat)))
3582
3583 (define-public ghc-errors
3584 (package
3585 (name "ghc-errors")
3586 (version "2.3.0")
3587 (source
3588 (origin
3589 (method url-fetch)
3590 (uri (string-append "https://hackage.haskell.org/package/"
3591 "errors-" version "/"
3592 "errors-" version ".tar.gz"))
3593 (sha256
3594 (base32
3595 "0x8znwn31qcx6kqx99wp7bc86kckfb39ncz3zxvj1s07kxlfawk7"))))
3596 (build-system haskell-build-system)
3597 (inputs
3598 `(("ghc-exceptions" ,ghc-exceptions)
3599 ("ghc-transformers-compat" ,ghc-transformers-compat)
3600 ("ghc-unexceptionalio" ,ghc-unexceptionalio)
3601 ("ghc-safe" ,ghc-safe)))
3602 (home-page "https://github.com/gabriel439/haskell-errors-library")
3603 (synopsis "Error handling library for Haskell")
3604 (description "This library encourages an error-handling style that
3605 directly uses the type system, rather than out-of-band exceptions.")
3606 (license license:bsd-3)))
3607
3608 (define-public ghc-esqueleto
3609 (package
3610 (name "ghc-esqueleto")
3611 (version "3.0.0")
3612 (source
3613 (origin
3614 (method url-fetch)
3615 (uri (string-append "https://hackage.haskell.org/package/"
3616 "esqueleto/esqueleto-" version ".tar.gz"))
3617 (sha256
3618 (base32
3619 "187c098h2xyf2nhifkdy2bqfl6iap7a93mzwd2kirl5yyicpc9zy"))))
3620 (build-system haskell-build-system)
3621 (arguments
3622 `(#:haddock? #f ; Haddock reports an internal error.
3623 #:phases
3624 (modify-phases %standard-phases
3625 ;; This package normally runs tests for the MySQL, PostgreSQL, and
3626 ;; SQLite backends. Since we only have Haskell packages for
3627 ;; SQLite, we remove the other two test suites. FIXME: Add the
3628 ;; other backends and run all three test suites.
3629 (add-before 'configure 'remove-non-sqlite-test-suites
3630 (lambda _
3631 (use-modules (ice-9 rdelim))
3632 (with-atomic-file-replacement "esqueleto.cabal"
3633 (lambda (in out)
3634 (let loop ((line (read-line in 'concat)) (deleting? #f))
3635 (cond
3636 ((eof-object? line) #t)
3637 ((string-every char-set:whitespace line)
3638 (unless deleting? (display line out))
3639 (loop (read-line in 'concat) #f))
3640 ((member line '("test-suite mysql\n"
3641 "test-suite postgresql\n"))
3642 (loop (read-line in 'concat) #t))
3643 (else
3644 (unless deleting? (display line out))
3645 (loop (read-line in 'concat) deleting?)))))))))))
3646 (inputs
3647 `(("ghc-blaze-html" ,ghc-blaze-html)
3648 ("ghc-conduit" ,ghc-conduit)
3649 ("ghc-monad-logger" ,ghc-monad-logger)
3650 ("ghc-persistent" ,ghc-persistent)
3651 ("ghc-resourcet" ,ghc-resourcet)
3652 ("ghc-tagged" ,ghc-tagged)
3653 ("ghc-unliftio" ,ghc-unliftio)
3654 ("ghc-unordered-containers" ,ghc-unordered-containers)))
3655 (native-inputs
3656 `(("ghc-hspec" ,ghc-hspec)
3657 ("ghc-persistent-sqlite" ,ghc-persistent-sqlite)
3658 ("ghc-persistent-template" ,ghc-persistent-template)))
3659 (home-page "https://github.com/bitemyapp/esqueleto")
3660 (synopsis "Type-safe embedded domain specific language for SQL queries")
3661 (description "This library provides a type-safe embedded domain specific
3662 language (EDSL) for SQL queries that works with SQL backends as provided by
3663 @code{ghc-persistent}. Its language closely resembles SQL, so you don't have
3664 to learn new concepts, just new syntax, and it's fairly easy to predict the
3665 generated SQL and optimize it for your backend.")
3666 (license license:bsd-3)))
3667
3668 (define-public ghc-exactprint
3669 (package
3670 (name "ghc-exactprint")
3671 (version "0.6.1")
3672 (source
3673 (origin
3674 (method url-fetch)
3675 (uri (string-append
3676 "https://hackage.haskell.org/package/"
3677 "ghc-exactprint/ghc-exactprint-" version ".tar.gz"))
3678 (sha256
3679 (base32
3680 "12nqpqmi9c57a3hgpfy8q073zryz66ylmcvf29hyffpj7vmmnvhl"))))
3681 (build-system haskell-build-system)
3682 (inputs
3683 `(("ghc-paths" ,ghc-paths)
3684 ("ghc-syb" ,ghc-syb)
3685 ("ghc-free" ,ghc-free)))
3686 (native-inputs
3687 `(("ghc-hunit" ,ghc-hunit)
3688 ("ghc-diff" ,ghc-diff)
3689 ("ghc-silently" ,ghc-silently)
3690 ("ghc-filemanip" ,ghc-filemanip)))
3691 (home-page
3692 "http://hackage.haskell.org/package/ghc-exactprint")
3693 (synopsis "ExactPrint for GHC")
3694 (description
3695 "Using the API Annotations available from GHC 7.10.2, this library
3696 provides a means to round-trip any code that can be compiled by GHC, currently
3697 excluding @file{.lhs} files.")
3698 (license license:bsd-3)))
3699
3700 (define-public ghc-exceptions
3701 (package
3702 (name "ghc-exceptions")
3703 (version "0.10.3")
3704 (source
3705 (origin
3706 (method url-fetch)
3707 (uri (string-append
3708 "https://hackage.haskell.org/package/exceptions/exceptions-"
3709 version
3710 ".tar.gz"))
3711 (sha256
3712 (base32
3713 "1w25j4ys5s6v239vbqlbipm9fdwxl1j2ap2lzms7f7rgnik5ir24"))))
3714 (build-system haskell-build-system)
3715 (native-inputs
3716 `(("ghc-quickcheck" ,ghc-quickcheck)
3717 ("ghc-test-framework" ,ghc-test-framework)
3718 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3719 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3720 (inputs
3721 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
3722 (home-page "https://github.com/ekmett/exceptions/")
3723 (synopsis "Extensible optionally-pure exceptions")
3724 (description "This library provides extensible optionally-pure exceptions
3725 for Haskell.")
3726 (license license:bsd-3)))
3727
3728 (define-public ghc-executable-path
3729 (package
3730 (name "ghc-executable-path")
3731 (version "0.0.3.1")
3732 (source (origin
3733 (method url-fetch)
3734 (uri (string-append "https://hackage.haskell.org/package/"
3735 "executable-path/executable-path-"
3736 version ".tar.gz"))
3737 (sha256
3738 (base32
3739 "0vxwmnsvx13cawcyhbyljkds0l1vr996ijldycx7nj0asjv45iww"))))
3740 (build-system haskell-build-system)
3741 (home-page "https://hackage.haskell.org/package/executable-path")
3742 (synopsis "Find out the full path of the executable")
3743 (description
3744 "The documentation of @code{System.Environment.getProgName} says that
3745 \"However, this is hard-to-impossible to implement on some non-Unix OSes, so
3746 instead, for maximum portability, we just return the leafname of the program
3747 as invoked.\" This library tries to provide the missing path.")
3748 (license license:public-domain)))
3749
3750 (define-public ghc-extensible-exceptions
3751 (package
3752 (name "ghc-extensible-exceptions")
3753 (version "0.1.1.4")
3754 (source
3755 (origin
3756 (method url-fetch)
3757 (uri (string-append "https://hackage.haskell.org/package/"
3758 "extensible-exceptions/extensible-exceptions-"
3759 version ".tar.gz"))
3760 (sha256
3761 (base32 "1273nqws9ij1rp1bsq5jc7k2jxpqa0svawdbim05lf302y0firbc"))))
3762 (build-system haskell-build-system)
3763 (home-page "https://hackage.haskell.org/package/extensible-exceptions")
3764 (synopsis "Extensible exceptions for Haskell")
3765 (description
3766 "This package provides extensible exceptions for both new and old
3767 versions of GHC (i.e., < 6.10).")
3768 (license license:bsd-3)))
3769
3770 (define-public ghc-extra
3771 (package
3772 (name "ghc-extra")
3773 (version "1.6.18")
3774 (source
3775 (origin
3776 (method url-fetch)
3777 (uri (string-append
3778 "https://hackage.haskell.org/package/extra/extra-"
3779 version
3780 ".tar.gz"))
3781 (sha256
3782 (base32
3783 "0jvd4l0hi8pf5899pxc32yc638y0mrc357w0rph99k3hm277i0cy"))))
3784 (build-system haskell-build-system)
3785 (inputs
3786 `(("ghc-clock" ,ghc-clock)
3787 ("ghc-semigroups" ,ghc-semigroups)
3788 ("ghc-quickcheck" ,ghc-quickcheck)))
3789 (home-page "https://github.com/ndmitchell/extra")
3790 (synopsis "Extra Haskell functions")
3791 (description "This library provides extra functions for the standard
3792 Haskell libraries. Most functions are simple additions, filling out missing
3793 functionality. A few functions are available in later versions of GHC, but
3794 this package makes them available back to GHC 7.2.")
3795 (license license:bsd-3)))
3796
3797 (define-public ghc-fail
3798 (package
3799 (name "ghc-fail")
3800 (version "4.9.0.0")
3801 (source
3802 (origin
3803 (method url-fetch)
3804 (uri (string-append "https://hackage.haskell.org/package/fail/fail-"
3805 version ".tar.gz"))
3806 (sha256
3807 (base32 "18nlj6xvnggy61gwbyrpmvbdkq928wv0wx2zcsljb52kbhddnp3d"))))
3808 (build-system haskell-build-system)
3809 (arguments `(#:haddock? #f)) ; Package contains no documentation.
3810 (home-page "https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail")
3811 (synopsis "Forward-compatible MonadFail class")
3812 (description
3813 "This package contains the @code{Control.Monad.Fail} module providing the
3814 @uref{https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail, MonadFail}
3815 class that became available in
3816 @uref{https://hackage.haskell.org/package/base-4.9.0.0, base-4.9.0.0} for
3817 older @code{base} package versions. This package turns into an empty package
3818 when used with GHC versions which already provide the
3819 @code{Control.Monad.Fail} module.")
3820 (license license:bsd-3)))
3821
3822 (define-public ghc-fast-logger
3823 (package
3824 (name "ghc-fast-logger")
3825 (version "2.4.17")
3826 (source
3827 (origin
3828 (method url-fetch)
3829 (uri (string-append
3830 "https://hackage.haskell.org/package/fast-logger/fast-logger-"
3831 version
3832 ".tar.gz"))
3833 (sha256
3834 (base32
3835 "02mxb1ckvx1s2r2m11l5i2l5rdl7232p0f61af6773haykjp0qxk"))))
3836 (build-system haskell-build-system)
3837 (inputs
3838 `(("ghc-auto-update" ,ghc-auto-update)
3839 ("ghc-easy-file" ,ghc-easy-file)
3840 ("ghc-unix-time" ,ghc-unix-time)
3841 ("ghc-unix-compat" ,ghc-unix-compat)))
3842 (native-inputs
3843 `(("hspec-discover" ,hspec-discover)
3844 ("ghc-hspec" ,ghc-hspec)))
3845 (home-page "https://hackage.haskell.org/package/fast-logger")
3846 (synopsis "Fast logging system")
3847 (description "This library provides a fast logging system for Haskell.")
3848 (license license:bsd-3)))
3849
3850 (define-public ghc-feed
3851 (package
3852 (name "ghc-feed")
3853 (version "1.2.0.1")
3854 (source
3855 (origin
3856 (method url-fetch)
3857 (uri (string-append "https://hackage.haskell.org/package/"
3858 "feed/feed-" version ".tar.gz"))
3859 (sha256
3860 (base32
3861 "004lwdng4slj6yl8mgscr3cgj0zzc8hzkf4450dby2l6cardg4w0"))))
3862 (build-system haskell-build-system)
3863 (inputs
3864 `(("ghc-base-compat" ,ghc-base-compat)
3865 ("ghc-old-locale" ,ghc-old-locale)
3866 ("ghc-old-time" ,ghc-old-time)
3867 ("ghc-safe" ,ghc-safe)
3868 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
3869 ("ghc-utf8-string" ,ghc-utf8-string)
3870 ("ghc-xml-conduit" ,ghc-xml-conduit)
3871 ("ghc-xml-types" ,ghc-xml-types)))
3872 (native-inputs
3873 `(("ghc-hunit" ,ghc-hunit)
3874 ("ghc-markdown-unlit" ,ghc-markdown-unlit)
3875 ("ghc-test-framework" ,ghc-test-framework)
3876 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
3877 (home-page "https://github.com/bergmark/feed")
3878 (synopsis "Haskell package for handling various syndication formats")
3879 (description "This Haskell package includes tools for generating and
3880 consuming feeds in both RSS (Really Simple Syndication) and Atom format.")
3881 (license license:bsd-3)))
3882
3883 (define-public ghc-fgl
3884 (package
3885 (name "ghc-fgl")
3886 (version "5.7.0.1")
3887 (outputs '("out" "doc"))
3888 (source
3889 (origin
3890 (method url-fetch)
3891 (uri (string-append
3892 "https://hackage.haskell.org/package/fgl/fgl-"
3893 version
3894 ".tar.gz"))
3895 (sha256
3896 (base32
3897 "04793yh778ck3kz1z2svnfdwwls2kisbnky4lzvf4zjfgpv7mkpz"))))
3898 (build-system haskell-build-system)
3899 (arguments
3900 `(#:phases
3901 (modify-phases %standard-phases
3902 (add-before 'configure 'update-constraints
3903 (lambda _
3904 (substitute* "fgl.cabal"
3905 (("QuickCheck >= 2\\.8 && < 2\\.13")
3906 "QuickCheck >= 2.8 && < 2.14")
3907 (("hspec >= 2\\.1 && < 2\\.7")
3908 "hspec >= 2.1 && < 2.8")))))))
3909 (inputs
3910 `(("ghc-hspec" ,ghc-hspec)
3911 ("ghc-quickcheck" ,ghc-quickcheck)))
3912 (home-page "https://web.engr.oregonstate.edu/~erwig/fgl/haskell")
3913 (synopsis
3914 "Martin Erwig's Functional Graph Library")
3915 (description "The functional graph library, FGL, is a collection of type
3916 and function definitions to address graph problems. The basis of the library
3917 is an inductive definition of graphs in the style of algebraic data types that
3918 encourages inductive, recursive definitions of graph algorithms.")
3919 (license license:bsd-3)))
3920
3921 (define-public ghc-fgl-arbitrary
3922 (package
3923 (name "ghc-fgl-arbitrary")
3924 (version "0.2.0.3")
3925 (source
3926 (origin
3927 (method url-fetch)
3928 (uri (string-append
3929 "https://hackage.haskell.org/package/fgl-arbitrary/fgl-arbitrary-"
3930 version ".tar.gz"))
3931 (sha256
3932 (base32
3933 "0ln1szgfy8fa78l3issq4fx3aqnnd54w3cb4wssrfi48vd5rkfjm"))))
3934 (build-system haskell-build-system)
3935 (arguments
3936 `(#:phases
3937 (modify-phases %standard-phases
3938 (add-before 'configure 'update-constraints
3939 (lambda _
3940 (substitute* "fgl-arbitrary.cabal"
3941 (("QuickCheck >= 2\\.3 && < 2\\.10")
3942 "QuickCheck >= 2.3 && < 2.14")
3943 (("hspec >= 2\\.1 && < 2\\.5")
3944 "hspec >= 2.1 && < 2.8")))))))
3945 (inputs
3946 `(("ghc-fgl" ,ghc-fgl)
3947 ("ghc-quickcheck" ,ghc-quickcheck)
3948 ("ghc-hspec" ,ghc-hspec)))
3949 (home-page "https://hackage.haskell.org/package/fgl-arbitrary")
3950 (synopsis "QuickCheck support for fgl")
3951 (description
3952 "Provides Arbitrary instances for fgl graphs to avoid adding a
3953 QuickCheck dependency for fgl whilst still making the instances
3954 available to others. Also available are non-fgl-specific functions
3955 for generating graph-like data structures.")
3956 (license license:bsd-3)))
3957
3958 (define-public ghc-file-embed
3959 (package
3960 (name "ghc-file-embed")
3961 (version "0.0.11")
3962 (source
3963 (origin
3964 (method url-fetch)
3965 (uri (string-append "https://hackage.haskell.org/package/file-embed/"
3966 "file-embed-" version ".tar.gz"))
3967 (sha256
3968 (base32
3969 "0l6dkwccbzzyx8rcav03lya2334dgi3vfwk96h7l93l0fc4x19gf"))))
3970 (build-system haskell-build-system)
3971 (home-page "https://github.com/snoyberg/file-embed")
3972 (synopsis "Use Template Haskell to embed file contents directly")
3973 (description
3974 "This package allows you to use Template Haskell to read a file or all
3975 the files in a directory, and turn them into @code{(path, bytestring)} pairs
3976 embedded in your Haskell code.")
3977 (license license:bsd-3)))
3978
3979 (define-public ghc-filemanip
3980 (package
3981 (name "ghc-filemanip")
3982 (version "0.3.6.3")
3983 (source (origin
3984 (method url-fetch)
3985 (uri (string-append "https://hackage.haskell.org/package/"
3986 "filemanip/filemanip-" version ".tar.gz"))
3987 (sha256
3988 (base32
3989 "0ilqr8jv41zxcj5qyicg29m8s30b9v70x6f9h2h2rw5ap8bxldl8"))))
3990 (build-system haskell-build-system)
3991 (inputs
3992 `(("ghc-unix-compat" ,ghc-unix-compat)))
3993 (home-page "https://github.com/bos/filemanip")
3994 (synopsis "File and directory manipulation for Haskell")
3995 (description
3996 "This package provides a Haskell library for working with files and
3997 directories. It includes code for pattern matching, finding files, modifying
3998 file contents, and more.")
3999 (license license:bsd-3)))
4000
4001 (define-public ghc-filepath-bytestring
4002 (package
4003 (name "ghc-filepath-bytestring")
4004 (version "1.4.2.1.1")
4005 (source
4006 (origin
4007 (method url-fetch)
4008 (uri (string-append
4009 "https://hackage.haskell.org/package/filepath-bytestring/"
4010 "filepath-bytestring-" version ".tar.gz"))
4011 (sha256
4012 (base32
4013 "06shdskjj391hb9295slm9gg2rbn5fdq5v6fg0mgn3yl5dv8q5dx"))))
4014 (build-system haskell-build-system)
4015 (native-inputs
4016 `(("ghc-quickcheck" ,ghc-quickcheck)))
4017 (home-page "http://hackage.haskell.org/package/filepath-bytestring")
4018 (synopsis "Library for manipulating RawFilePaths in a cross-platform way")
4019 (description "This package provides a drop-in replacement for the standard
4020 @code{filepath} library, operating on @code{RawFilePath} values rather than
4021 @code{FilePath} values to get the speed benefits of using @code{ByteStrings}.")
4022 (license license:bsd-3)))
4023
4024 (define-public ghc-findbin
4025 (package
4026 (name "ghc-findbin")
4027 (version "0.0.5")
4028 (source
4029 (origin
4030 (method url-fetch)
4031 (uri (string-append
4032 "https://hackage.haskell.org/package/FindBin/FindBin-"
4033 version ".tar.gz"))
4034 (sha256
4035 (base32
4036 "197xvn05yysmibm1p5wzxfa256lvpbknr5d1l2ws6g40w1kpk717"))))
4037 (build-system haskell-build-system)
4038 (home-page "https://github.com/audreyt/findbin")
4039 (synopsis "Get the absolute path of the running program")
4040 (description
4041 "This module locates the full directory of the running program, to allow
4042 the use of paths relative to it. FindBin supports invocation of Haskell
4043 programs via \"ghci\", via \"runhaskell/runghc\", as well as compiled as
4044 an executable.")
4045 (license license:bsd-3)))
4046
4047 (define-public ghc-fingertree
4048 (package
4049 (name "ghc-fingertree")
4050 (version "0.1.4.2")
4051 (source
4052 (origin
4053 (method url-fetch)
4054 (uri (string-append
4055 "https://hackage.haskell.org/package/fingertree/fingertree-"
4056 version ".tar.gz"))
4057 (sha256
4058 (base32
4059 "0zvandj8fysck7ygpn0dw5bhrhmj1s63i326nalxbfkh2ls4iacm"))))
4060 (build-system haskell-build-system)
4061 (native-inputs
4062 `(("ghc-hunit" ,ghc-hunit)
4063 ("ghc-quickcheck" ,ghc-quickcheck)
4064 ("ghc-test-framework" ,ghc-test-framework)
4065 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
4066 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
4067 (home-page "https://hackage.haskell.org/package/fingertree")
4068 (synopsis "Generic finger-tree structure")
4069 (description "This library provides finger trees, a general sequence
4070 representation with arbitrary annotations, for use as a base for
4071 implementations of various collection types. It includes examples, as
4072 described in section 4 of Ralf Hinze and Ross Paterson, \"Finger trees: a
4073 simple general-purpose data structure\".")
4074 (license license:bsd-3)))
4075
4076 (define-public ghc-fixed
4077 (package
4078 (name "ghc-fixed")
4079 (version "0.3")
4080 (source
4081 (origin
4082 (method url-fetch)
4083 (uri (string-append "https://hackage.haskell.org/package/fixed/fixed-"
4084 version ".tar.gz"))
4085 (sha256
4086 (base32
4087 "10l2sh179xarb774q92cff2gkb20rsrlilfwp1fk61rzmz9yn64j"))))
4088 (build-system haskell-build-system)
4089 (home-page "https://github.com/ekmett/fixed")
4090 (synopsis "Signed 15.16 precision fixed point arithmetic")
4091 (description
4092 "This package provides functions for signed 15.16 precision fixed point
4093 arithmetic.")
4094 (license license:bsd-3)))
4095
4096 (define-public ghc-fmlist
4097 (package
4098 (name "ghc-fmlist")
4099 (version "0.9.3")
4100 (source
4101 (origin
4102 (method url-fetch)
4103 (uri
4104 (string-append
4105 "https://hackage.haskell.org/package/fmlist/fmlist-"
4106 version ".tar.gz"))
4107 (sha256
4108 (base32
4109 "1w9nhm2zybdx4c1lalkajwqr8wcs731lfjld2r8gknd7y96x8pwf"))))
4110 (build-system haskell-build-system)
4111 (home-page "https://github.com/sjoerdvisscher/fmlist")
4112 (synopsis "FoldMap lists")
4113 (description "FoldMap lists are lists represented by their
4114 @code{foldMap} function. FoldMap lists have @math{O(1)} cons, snoc and
4115 append, just like DLists, but other operations might have favorable
4116 performance characteristics as well. These wild claims are still
4117 completely unverified though.")
4118 (license license:bsd-3)))
4119
4120 (define-public ghc-foldl
4121 (package
4122 (name "ghc-foldl")
4123 (version "1.4.5")
4124 (source
4125 (origin
4126 (method url-fetch)
4127 (uri (string-append "https://hackage.haskell.org/package/"
4128 "foldl-" version "/"
4129 "foldl-" version ".tar.gz"))
4130 (sha256
4131 (base32
4132 "19qjmzc7gaxfwgqbgy0kq4vhbxvh3qjnwsxnc7pzwws2if5bv80b"))))
4133 (build-system haskell-build-system)
4134 (inputs `(("ghc-mwc-randam" ,ghc-mwc-random)
4135 ("ghc-primitive" ,ghc-primitive)
4136 ("ghc-vector" ,ghc-vector)
4137 ("ghc-unordered-containers" ,ghc-unordered-containers)
4138 ("ghc-hashable" ,ghc-hashable)
4139 ("ghc-contravariant" ,ghc-contravariant)
4140 ("ghc-semigroups" ,ghc-semigroups)
4141 ("ghc-profunctors" ,ghc-profunctors)
4142 ("ghc-semigroupoids" ,ghc-semigroupoids)
4143 ("ghc-comonad" ,ghc-comonad)
4144 ("ghc-vector-builder" ,ghc-vector-builder)))
4145 (home-page "https://github.com/Gabriel439/Haskell-Foldl-Library")
4146 (synopsis "Composable, streaming, and efficient left folds for Haskell")
4147 (description "This Haskell library provides strict left folds that stream
4148 in constant memory, and you can combine folds using @code{Applicative} style
4149 to derive new folds. Derived folds still traverse the container just once
4150 and are often as efficient as hand-written folds.")
4151 (license license:bsd-3)))
4152
4153 (define-public ghc-foundation
4154 (package
4155 (name "ghc-foundation")
4156 (version "0.0.25")
4157 (source
4158 (origin
4159 (method url-fetch)
4160 (uri (string-append "https://hackage.haskell.org/package/"
4161 "foundation/foundation-" version ".tar.gz"))
4162 (sha256
4163 (base32
4164 "0q6kx57ygmznlpf8n499hid4x6mj3180paijx0a8dgi9hh7man61"))))
4165 (build-system haskell-build-system)
4166 (arguments
4167 `(#:phases
4168 (modify-phases %standard-phases
4169 ;; This test is broken. For details, see
4170 ;; https://github.com/haskell-foundation/foundation/issues/530
4171 (add-after 'unpack 'patch-tests
4172 (lambda _
4173 (substitute* "tests/Test/Foundation/Number.hs"
4174 ((", testDividible proxy") ""))
4175 #t)))))
4176 (inputs `(("ghc-basement" ,ghc-basement)))
4177 (home-page "https://github.com/haskell-foundation/foundation")
4178 (synopsis "Alternative prelude with batteries and no dependencies")
4179 (description
4180 "This package provides a custom prelude with no dependencies apart from
4181 the base package.
4182
4183 Foundation has the following goals:
4184
4185 @enumerate
4186 @item provide a base like sets of modules that provide a consistent set of
4187 features and bugfixes across multiple versions of GHC (unlike base).
4188 @item provide a better and more efficient prelude than base's prelude.
4189 @item be self-sufficient: no external dependencies apart from base;
4190 @item provide better data-types: packed unicode string by default, arrays;
4191 @item Numerical classes that better represent mathematical things (no more
4192 all-in-one @code{Num});
4193 @item I/O system with less lazy IO.
4194 @end enumerate\n")
4195 (license license:bsd-3)))
4196
4197 (define-public ghc-free
4198 (package
4199 (name "ghc-free")
4200 (version "5.1.2")
4201 (source
4202 (origin
4203 (method url-fetch)
4204 (uri (string-append
4205 "https://hackage.haskell.org/package/free/free-"
4206 version
4207 ".tar.gz"))
4208 (sha256
4209 (base32
4210 "0vlf3f2ckl3cr7z2zl8c9c8qkdlfgvmh04gxkp2fg0z9dz80nlyb"))))
4211 (build-system haskell-build-system)
4212 (inputs
4213 `(("ghc-prelude-extras" ,ghc-prelude-extras)
4214 ("ghc-profunctors" ,ghc-profunctors)
4215 ("ghc-exceptions" ,ghc-exceptions)
4216 ("ghc-bifunctors" ,ghc-bifunctors)
4217 ("ghc-comonad" ,ghc-comonad)
4218 ("ghc-distributive" ,ghc-distributive)
4219 ("ghc-semigroupoids" ,ghc-semigroupoids)
4220 ("ghc-semigroups" ,ghc-semigroups)
4221 ("ghc-transformers-base" ,ghc-transformers-base)
4222 ("ghc-transformers-compat" ,ghc-transformers-compat)))
4223 (home-page "https://github.com/ekmett/free/")
4224 (synopsis "Unrestricted monads for Haskell")
4225 (description "This library provides free monads, which are useful for many
4226 tree-like structures and domain specific languages. If @code{f} is a
4227 @code{Functor} then the free @code{Monad} on @code{f} is the type of trees
4228 whose nodes are labeled with the constructors of @code{f}. The word \"free\"
4229 is used in the sense of \"unrestricted\" rather than \"zero-cost\": @code{Free
4230 f} makes no constraining assumptions beyond those given by @code{f} and the
4231 definition of @code{Monad}.")
4232 (license license:bsd-3)))
4233
4234 (define-public ghc-fsnotify
4235 (package
4236 (name "ghc-fsnotify")
4237 (version "0.3.0.1")
4238 (source (origin
4239 (method url-fetch)
4240 (uri (string-append
4241 "https://hackage.haskell.org/package/fsnotify/"
4242 "fsnotify-" version ".tar.gz"))
4243 (sha256
4244 (base32
4245 "19bdbz9wb9jvln6yg6qm0hz0w84bypvkxf0wjhgrgd52f9gidlny"))))
4246 (build-system haskell-build-system)
4247 (inputs
4248 `(("ghc-async" ,ghc-async)
4249 ("ghc-unix-compat" ,ghc-unix-compat)
4250 ("ghc-hinotify" ,ghc-hinotify)
4251 ("ghc-tasty" ,ghc-tasty)
4252 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
4253 ("ghc-random" ,ghc-random)
4254 ("ghc-shelly" ,ghc-shelly)
4255 ("ghc-temporary" ,ghc-temporary)))
4256 (home-page "https://github.com/haskell-fswatch/hfsnotify")
4257 (synopsis "Cross platform library for file change notification.")
4258 (description "Cross platform library for file creation, modification, and
4259 deletion notification. This library builds upon existing libraries for platform
4260 specific Windows, Mac, and Linux file system event notification.")
4261 (license license:bsd-3)))
4262
4263 (define-public ghc-generic-deriving
4264 (package
4265 (name "ghc-generic-deriving")
4266 (version "1.12.4")
4267 (source
4268 (origin
4269 (method url-fetch)
4270 (uri (string-append
4271 "https://hackage.haskell.org/package/generic-deriving/generic-deriving-"
4272 version
4273 ".tar.gz"))
4274 (sha256
4275 (base32
4276 "0vdg9qdq35jl3m11a87wk8cq1y71qm4i1g1b2pxki0wk70yw20a4"))))
4277 (build-system haskell-build-system)
4278 (inputs
4279 `(("ghc-th-abstraction" ,ghc-th-abstraction)))
4280 (native-inputs
4281 `(("ghc-hspec" ,ghc-hspec)
4282 ("hspec-discover" ,hspec-discover)))
4283 (home-page "https://hackage.haskell.org/package/generic-deriving")
4284 (synopsis "Generalise the deriving mechanism to arbitrary classes")
4285 (description "This package provides functionality for generalising the
4286 deriving mechanism in Haskell to arbitrary classes.")
4287 (license license:bsd-3)))
4288
4289 (define-public ghc-generics-sop
4290 (package
4291 (name "ghc-generics-sop")
4292 (version "0.4.0.1")
4293 (source
4294 (origin
4295 (method url-fetch)
4296 (uri (string-append "https://hackage.haskell.org/package/"
4297 "generics-sop-" version "/"
4298 "generics-sop-" version ".tar.gz"))
4299 (sha256
4300 (base32
4301 "160knr2phnzh2gldfv954lz029jzc7y8kz5xpmbf4z3vb5ngm6fw"))))
4302 (build-system haskell-build-system)
4303 (inputs
4304 `(("ghc-sop-core" ,ghc-sop-core)
4305 ("ghc-transformers-compat" ,ghc-transformers-compat)))
4306 (home-page "https://github.com/well-typed/generics-sop")
4307 (synopsis "Generic Programming using True Sums of Products for Haskell")
4308 (description "This Haskell package supports the definition of generic
4309 functions. Datatypes are viewed in a uniform, structured way: the choice
4310 between constructors is represented using an n-ary sum, and the arguments of
4311 each constructor are represented using an n-ary product.")
4312 (license license:bsd-3)))
4313
4314 (define-public ghc-geniplate-mirror
4315 (package
4316 (name "ghc-geniplate-mirror")
4317 (version "0.7.6")
4318 (source
4319 (origin
4320 (method url-fetch)
4321 (uri (string-append "https://hackage.haskell.org/package"
4322 "/geniplate-mirror"
4323 "/geniplate-mirror-" version ".tar.gz"))
4324 (sha256
4325 (base32 "1y0m0bw5zpm1y1y6d9qmxj3swl8j8hlw1shxbr5awycf6k884ssb"))))
4326 (build-system haskell-build-system)
4327 (arguments
4328 `(#:cabal-revision
4329 ("2" "03fg4vfm1wgq4mylggawdx0bfvbbjmdn700sqx7v3hk1bx0kjfzh")))
4330 (home-page "https://github.com/danr/geniplate")
4331 (synopsis "Use Template Haskell to generate Uniplate-like functions")
4332 (description
4333 "Use Template Haskell to generate Uniplate-like functions. This is a
4334 maintained mirror of the @uref{https://hackage.haskell.org/package/geniplate,
4335 geniplate} package, written by Lennart Augustsson.")
4336 (license license:bsd-3)))
4337
4338 (define-public ghc-genvalidity
4339 (package
4340 (name "ghc-genvalidity")
4341 (version "0.8.0.0")
4342 (source
4343 (origin
4344 (method url-fetch)
4345 (uri (string-append
4346 "https://hackage.haskell.org/package/genvalidity/genvalidity-"
4347 version
4348 ".tar.gz"))
4349 (sha256
4350 (base32
4351 "0w38aq9hfyymidncgkrs6yvja7j573d9sap5qfg5rz910fhsij9a"))))
4352 (build-system haskell-build-system)
4353 (inputs
4354 `(("ghc-quickcheck" ,ghc-quickcheck)
4355 ("ghc-validity" ,ghc-validity)))
4356 (native-inputs
4357 `(("ghc-hspec" ,ghc-hspec)
4358 ("hspec-discover" ,hspec-discover)
4359 ("ghc-hspec-core" ,ghc-hspec-core)))
4360 (home-page
4361 "https://github.com/NorfairKing/validity")
4362 (synopsis
4363 "Testing utilities for the @code{validity} library")
4364 (description
4365 "This package provides testing utilities that are useful in conjunction
4366 with the @code{Validity} typeclass.")
4367 (license license:expat)))
4368
4369 (define-public ghc-genvalidity-property
4370 (package
4371 (name "ghc-genvalidity-property")
4372 (version "0.4.0.0")
4373 (source
4374 (origin
4375 (method url-fetch)
4376 (uri (string-append
4377 "https://hackage.haskell.org/package/"
4378 "genvalidity-property/genvalidity-property-"
4379 version
4380 ".tar.gz"))
4381 (sha256
4382 (base32
4383 "0zayycx62226w54rvkxwhvqhznsr33dk3ds55yyqrfqbnhvph1s9"))))
4384 (build-system haskell-build-system)
4385 (inputs
4386 `(("ghc-quickcheck" ,ghc-quickcheck)
4387 ("ghc-genvalidity" ,ghc-genvalidity)
4388 ("ghc-hspec" ,ghc-hspec)
4389 ("hspec-discover" ,hspec-discover)
4390 ("ghc-validity" ,ghc-validity)))
4391 (native-inputs `(("ghc-doctest" ,ghc-doctest)))
4392 (home-page
4393 "https://github.com/NorfairKing/validity")
4394 (synopsis
4395 "Standard properties for functions on @code{Validity} types")
4396 (description
4397 "This package supplements the @code{Validity} typeclass with standard
4398 properties for functions operating on them.")
4399 (license license:expat)))
4400
4401 (define-public ghc-getopt-generics
4402 (package
4403 (name "ghc-getopt-generics")
4404 (version "0.13.0.4")
4405 (source
4406 (origin
4407 (method url-fetch)
4408 (uri (string-append "https://hackage.haskell.org/package/"
4409 "getopt-generics/getopt-generics-"
4410 version ".tar.gz"))
4411 (sha256
4412 (base32
4413 "1rszkcn1rg38wf35538ljk5bbqjc57y9sb3a0al7qxm82gy8yigr"))))
4414 (build-system haskell-build-system)
4415 (inputs
4416 `(("ghc-base-compat" ,ghc-base-compat)
4417 ("ghc-base-orphans" ,ghc-base-orphans)
4418 ("ghc-generics-sop" ,ghc-generics-sop)
4419 ("ghc-tagged" ,ghc-tagged)))
4420 (native-inputs
4421 `(("ghc-quickcheck" ,ghc-quickcheck)
4422 ("ghc-hspec" ,ghc-hspec)
4423 ("ghc-safe" ,ghc-safe)
4424 ("ghc-silently" ,ghc-silently)
4425 ("hspec-discover" ,hspec-discover)))
4426 (home-page "https://github.com/soenkehahn/getopt-generics")
4427 (synopsis "Create command line interfaces with ease")
4428 (description "This library provides tools to create command line
4429 interfaces with ease.")
4430 (license license:bsd-3)))
4431
4432 (define-public ghc-gitrev
4433 (package
4434 (name "ghc-gitrev")
4435 (version "1.3.1")
4436 (source
4437 (origin
4438 (method url-fetch)
4439 (uri (string-append "https://hackage.haskell.org/package/gitrev/gitrev-"
4440 version ".tar.gz"))
4441 (sha256
4442 (base32 "0cl3lfm6k1h8fxp2vxa6ihfp4v8igkz9h35iwyq2frzm4kdn96d8"))))
4443 (build-system haskell-build-system)
4444 (inputs `(("ghc-base-compat" ,ghc-base-compat)))
4445 (home-page "https://github.com/acfoltzer/gitrev")
4446 (synopsis "Compile git revision info into Haskell projects")
4447 (description
4448 "This package provides some handy Template Haskell splices for including
4449 the current git hash and branch in the code of your project. This is useful
4450 for including in panic messages, @command{--version} output, or diagnostic
4451 info for more informative bug reports.")
4452 (license license:bsd-3)))
4453
4454 (define-public ghc-glob
4455 (package
4456 (name "ghc-glob")
4457 (version "0.10.0")
4458 (source
4459 (origin
4460 (method url-fetch)
4461 (uri (string-append "https://hackage.haskell.org/package/"
4462 "Glob-" version "/"
4463 "Glob-" version ".tar.gz"))
4464 (sha256
4465 (base32
4466 "0953f91f62ncna402vsrfzdcyxhdpjna3bgdw017kad0dfymacs7"))))
4467 (build-system haskell-build-system)
4468 (inputs
4469 `(("ghc-dlist" ,ghc-dlist)
4470 ("ghc-semigroups" ,ghc-semigroups)
4471 ("ghc-transformers-compat" ,ghc-transformers-compat)))
4472 (native-inputs
4473 `(("ghc-hunit" ,ghc-hunit)
4474 ("ghc-quickcheck" ,ghc-quickcheck)
4475 ("ghc-test-framework" ,ghc-test-framework)
4476 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
4477 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
4478 (home-page "http://iki.fi/matti.niemenmaa/glob/")
4479 (synopsis "Haskell library matching glob patterns against file paths")
4480 (description "This package provides a Haskell library for @dfn{globbing}:
4481 matching patterns against file paths.")
4482 (license license:bsd-3)))
4483
4484 (define-public ghc-gluraw
4485 (package
4486 (name "ghc-gluraw")
4487 (version "2.0.0.4")
4488 (source
4489 (origin
4490 (method url-fetch)
4491 (uri (string-append
4492 "https://hackage.haskell.org/package/GLURaw/GLURaw-"
4493 version
4494 ".tar.gz"))
4495 (sha256
4496 (base32
4497 "1i2xi35n5z0d372px9mh6cyhgg1m0cfaiy3fnspkf6kbn9fgsqxq"))))
4498 (build-system haskell-build-system)
4499 (inputs
4500 `(("ghc-openglraw" ,ghc-openglraw)))
4501 (home-page "https://www.haskell.org/haskellwiki/Opengl")
4502 (synopsis "Raw Haskell bindings GLU")
4503 (description "GLURaw is a raw Haskell binding for the GLU 1.3 OpenGL
4504 utility library. It is basically a 1:1 mapping of GLU's C API, intended as a
4505 basis for a nicer interface.")
4506 (license license:bsd-3)))
4507
4508 (define-public ghc-glut
4509 (package
4510 (name "ghc-glut")
4511 (version "2.7.0.15")
4512 (source
4513 (origin
4514 (method url-fetch)
4515 (uri (string-append
4516 "https://hackage.haskell.org/package/GLUT/GLUT-"
4517 version
4518 ".tar.gz"))
4519 (sha256
4520 (base32
4521 "0271vnf6wllhxjwy0m348x90kv27aybxcbqkkglmd5w4cpwjg5g9"))))
4522 (build-system haskell-build-system)
4523 (inputs
4524 `(("ghc-statevar" ,ghc-statevar)
4525 ("ghc-opengl" ,ghc-opengl)
4526 ("ghc-openglraw" ,ghc-openglraw)
4527 ("freeglut" ,freeglut)))
4528 (home-page "https://www.haskell.org/haskellwiki/Opengl")
4529 (synopsis "Haskell bindings for the OpenGL Utility Toolkit")
4530 (description "This library provides Haskell bindings for the OpenGL
4531 Utility Toolkit, a window system-independent toolkit for writing OpenGL
4532 programs.")
4533 (license license:bsd-3)))
4534
4535 (define-public ghc-gnuplot
4536 (package
4537 (name "ghc-gnuplot")
4538 (version "0.5.6")
4539 (source
4540 (origin
4541 (method url-fetch)
4542 (uri (string-append
4543 "mirror://hackage/package/gnuplot/gnuplot-"
4544 version ".tar.gz"))
4545 (sha256
4546 (base32 "1g6xgnlkh17avivn1rlq7l2nvs26dvrbx4rkfld0bf6kyqaqwrgp"))))
4547 (build-system haskell-build-system)
4548 (inputs
4549 `(("ghc-temporary" ,ghc-temporary)
4550 ("ghc-utility-ht" ,ghc-utility-ht)
4551 ("ghc-data-accessor-transformers" ,ghc-data-accessor-transformers)
4552 ("ghc-data-accessor" ,ghc-data-accessor)
4553 ("ghc-semigroups" ,ghc-semigroups)
4554 ("gnuplot" ,gnuplot)))
4555 (arguments
4556 `(#:phases
4557 (modify-phases %standard-phases
4558 (add-before 'configure 'fix-path-to-gnuplot
4559 (lambda* (#:key inputs #:allow-other-keys)
4560 (let ((gnuplot (assoc-ref inputs "gnuplot")))
4561 (substitute* "os/generic/Graphics/Gnuplot/Private/OS.hs"
4562 (("(gnuplotName = ).*$" all cmd)
4563 (string-append cmd "\"" gnuplot "/bin/gnuplot\"")))))))))
4564 (home-page "https://www.haskell.org/haskellwiki/Gnuplot")
4565 (synopsis "2D and 3D plots using gnuplot")
4566 (description "This package provides a Haskell module for creating 2D and
4567 3D plots using gnuplot.")
4568 (license license:bsd-3)))
4569
4570 (define-public ghc-graphviz
4571 (package
4572 (name "ghc-graphviz")
4573 (version "2999.20.0.3")
4574 (source (origin
4575 (method url-fetch)
4576 (uri (string-append "https://hackage.haskell.org/package/"
4577 "graphviz/graphviz-" version ".tar.gz"))
4578 (sha256
4579 (base32
4580 "04k26zw61nfv1pkd00iaq89pgsaiym0sf4cbzkmm2k2fj5xa587g"))))
4581 (build-system haskell-build-system)
4582 (arguments
4583 `(#:phases
4584 (modify-phases %standard-phases
4585 (add-before 'configure 'update-constraints
4586 (lambda _
4587 (substitute* "graphviz.cabal"
4588 (("QuickCheck >= 2\\.3 && < 2\\.13")
4589 "QuickCheck >= 2.3 && < 2.14")
4590 (("hspec >= 2\\.1 && < 2\\.7")
4591 "hspec >= 2.1 && < 2.8")))))))
4592 (inputs
4593 `(("ghc-quickcheck" ,ghc-quickcheck)
4594 ("ghc-colour" ,ghc-colour)
4595 ("ghc-dlist" ,ghc-dlist)
4596 ("ghc-fgl" ,ghc-fgl)
4597 ("ghc-fgl-arbitrary" ,ghc-fgl-arbitrary)
4598 ("ghc-polyparse" ,ghc-polyparse)
4599 ("ghc-temporary" ,ghc-temporary)
4600 ("ghc-wl-pprint-text" ,ghc-wl-pprint-text)))
4601 (native-inputs
4602 `(("ghc-hspec" ,ghc-hspec)
4603 ("graphviz" ,graphviz)
4604 ("hspec-discover" ,hspec-discover)))
4605 (home-page "https://hackage.haskell.org/package/graphviz")
4606 (synopsis "Bindings to Graphviz for graph visualisation")
4607 (description
4608 "This library provides bindings for the Dot language used by
4609 the @uref{https://graphviz.org/, Graphviz} suite of programs for
4610 visualising graphs, as well as functions to call those programs.
4611 Main features of the graphviz library include:
4612
4613 @enumerate
4614 @item Almost complete coverage of all Graphviz attributes and syntax
4615 @item Support for specifying clusters
4616 @item The ability to use a custom node type
4617 @item Functions for running a Graphviz layout tool with all specified output types
4618 @item Generate and parse Dot code with two options: strict and liberal
4619 @item Functions to convert FGL graphs and other graph-like data structures
4620 @item Round-trip support for passing an FGL graph through Graphviz to augment node
4621 and edge labels with positional information, etc.
4622 @end enumerate\n")
4623 (license license:bsd-3)))
4624
4625 (define-public ghc-groups
4626 (package
4627 (name "ghc-groups")
4628 (version "0.4.1.0")
4629 (source
4630 (origin
4631 (method url-fetch)
4632 (uri (string-append "https://hackage.haskell.org/package/"
4633 "groups/groups-" version ".tar.gz"))
4634 (sha256
4635 (base32
4636 "0ggkygkyxw5ga4cza82bjvdraavl294k0h6b62d2px7z3nvqhifx"))))
4637 (build-system haskell-build-system)
4638 (home-page "https://hackage.haskell.org/package/groups")
4639 (synopsis "Haskell 98 groups")
4640 (description "This package provides Haskell 98 groups. A group is a
4641 monoid with invertibility.")
4642 (license license:bsd-3)))
4643
4644 (define-public ghc-gtk2hs-buildtools
4645 (package
4646 (name "ghc-gtk2hs-buildtools")
4647 (version "0.13.5.4")
4648 (source
4649 (origin
4650 (method url-fetch)
4651 (uri (string-append "https://hackage.haskell.org/package/"
4652 "gtk2hs-buildtools/gtk2hs-buildtools-"
4653 version ".tar.gz"))
4654 (sha256
4655 (base32
4656 "1flxsacxwmabzzalhn8558kmj95z01c0lmikrn56nxh7p62nxm25"))))
4657 (build-system haskell-build-system)
4658 (inputs
4659 `(("ghc-random" ,ghc-random)
4660 ("ghc-hashtables" ,ghc-hashtables)))
4661 (native-inputs
4662 `(("ghc-alex" ,ghc-alex)
4663 ("ghc-happy" ,ghc-happy)))
4664 (home-page "http://projects.haskell.org/gtk2hs/")
4665 (synopsis "Tools to build the Gtk2Hs suite of user interface libraries")
4666 (description
4667 "This package provides a set of helper programs necessary to build the
4668 Gtk2Hs suite of libraries. These tools include a modified c2hs binding tool
4669 that is used to generate FFI declarations, a tool to build a type hierarchy
4670 that mirrors the C type hierarchy of GObjects found in glib, and a generator
4671 for signal declarations that are used to call back from C to Haskell. These
4672 tools are not needed to actually run Gtk2Hs programs.")
4673 (license license:gpl2)))
4674
4675 (define-public ghc-hackage-security
4676 (package
4677 (name "ghc-hackage-security")
4678 (version "0.5.3.0")
4679 (source
4680 (origin
4681 (method url-fetch)
4682 (uri (string-append "https://hackage.haskell.org/package/"
4683 "hackage-security/hackage-security-"
4684 version ".tar.gz"))
4685 (sha256
4686 (base32
4687 "08bwawc7ramgdh54vcly2m9pvfchp0ahhs8117jajni6x4bnx66v"))))
4688 (build-system haskell-build-system)
4689 (arguments
4690 `(#:cabal-revision
4691 ("6" "1xs2nkzlvkdz8g27yzfxbjdbdadfmgiydnlpn5dm77cg18r495ay")
4692 #:tests? #f)) ; Tests fail because of framework updates.
4693 (inputs
4694 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)
4695 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
4696 ("ghc-cryptohash-sha256" ,ghc-cryptohash-sha256)
4697 ("ghc-ed25519" ,ghc-ed25519)
4698 ("ghc-network" ,ghc-network)
4699 ("ghc-network-uri" ,ghc-network-uri)
4700 ("ghc-tar" ,ghc-tar)
4701 ("ghc-zlib" ,ghc-zlib)))
4702 (native-inputs
4703 `(("ghc-network-uri" ,ghc-network-uri)
4704 ("ghc-quickcheck" ,ghc-quickcheck)
4705 ("ghc-tar" ,ghc-tar)
4706 ("ghc-tasty" ,ghc-tasty)
4707 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
4708 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
4709 ("ghc-temporary" ,ghc-temporary)
4710 ("ghc-zlib" ,ghc-zlib)))
4711 (home-page "https://github.com/haskell/hackage-security")
4712 (synopsis "Hackage security library")
4713 (description "This Hackage security library provides both server and
4714 client utilities for securing @uref{http://hackage.haskell.org/, the
4715 Hackage package server}. It is based on
4716 @uref{http://theupdateframework.com/, The Update Framework}, a set of
4717 recommendations developed by security researchers at various universities
4718 in the US as well as developers on the @uref{https://www.torproject.org/,
4719 Tor project}.")
4720 (license license:bsd-3)))
4721
4722 (define-public ghc-haddock
4723 (package
4724 (name "ghc-haddock")
4725 (version "2.22.0")
4726 (source
4727 (origin
4728 (method url-fetch)
4729 (uri (string-append
4730 "https://hackage.haskell.org/package/haddock/haddock-"
4731 version
4732 ".tar.gz"))
4733 (sha256
4734 (base32
4735 "1k42z2zh550rl93c8pa9cg2xsanp6wvb031xvan6cmngnplmdib6"))))
4736 (build-system haskell-build-system)
4737 (arguments
4738 `(#:phases
4739 (modify-phases %standard-phases
4740 ;; The release tarball for 2.22.0 is missing the test data for
4741 ;; the Hoogle test, causing it to fail. This is fixed in the
4742 ;; next release, but for now we disable it.
4743 (add-before 'configure 'remove-hoogle-test
4744 (lambda _
4745 (use-modules (ice-9 rdelim))
4746 (with-atomic-file-replacement "haddock.cabal"
4747 (lambda (in out)
4748 (let loop ((line (read-line in 'concat)) (deleting? #f))
4749 (cond
4750 ((eof-object? line) #t)
4751 ((string-every char-set:whitespace line)
4752 (unless deleting? (display line out))
4753 (loop (read-line in 'concat) #f))
4754 ((string=? line "test-suite hoogle-test\n")
4755 (loop (read-line in 'concat) #t))
4756 (else
4757 (unless deleting? (display line out))
4758 (loop (read-line in 'concat) deleting?))))))))
4759 (add-before 'check 'add-haddock-to-path
4760 (lambda _
4761 (setenv "PATH" (string-append (getcwd) "/dist/build/haddock"
4762 ":" (getenv "PATH")))
4763 #t)))))
4764 (inputs `(("ghc-haddock-api" ,ghc-haddock-api)))
4765 (native-inputs
4766 `(("ghc-haddock-test" ,ghc-haddock-test)
4767 ("ghc-hspec" ,ghc-hspec)))
4768 (home-page "https://www.haskell.org/haddock/")
4769 (synopsis
4770 "Documentation-generation tool for Haskell libraries")
4771 (description
4772 "Haddock is a documentation-generation tool for Haskell libraries.")
4773 (license license:bsd-3)))
4774
4775 (define-public ghc-haddock-api
4776 (package
4777 (name "ghc-haddock-api")
4778 (version "2.22.0")
4779 (source
4780 (origin
4781 (method url-fetch)
4782 (uri (string-append
4783 "https://hackage.haskell.org/package/haddock-api/haddock-api-"
4784 version
4785 ".tar.gz"))
4786 (patches (search-patches "ghc-haddock-api-fix-haddock.patch"))
4787 (sha256
4788 (base32
4789 "149q4zlf4m7wcrr4af2n2flh0jxjsypshbc229vsj1m0kmz4z014"))))
4790 (build-system haskell-build-system)
4791 (arguments
4792 `(#:phases
4793 (modify-phases %standard-phases
4794 (add-before 'configure 'update-constraints
4795 (lambda _
4796 (substitute* "haddock-api.cabal"
4797 (("QuickCheck \\^>= 2\\.11")
4798 "QuickCheck ^>= 2.13")
4799 (("hspec >= 2\\.4\\.4 && < 2\\.6")
4800 "hspec >= 2.4.4 && < 2.8")))))))
4801 (inputs
4802 `(("ghc-paths" ,ghc-paths)
4803 ("ghc-haddock-library" ,ghc-haddock-library)))
4804 (native-inputs
4805 `(("ghc-quickcheck" ,ghc-quickcheck)
4806 ("ghc-hspec" ,ghc-hspec)
4807 ("hspec-discover" ,hspec-discover)))
4808 (home-page "https://www.haskell.org/haddock/")
4809 (synopsis "API for documentation-generation tool Haddock")
4810 (description "This package provides an API to Haddock, the
4811 documentation-generation tool for Haskell libraries.")
4812 (license license:bsd-3)))
4813
4814 (define-public ghc-haddock-library
4815 (package
4816 (name "ghc-haddock-library")
4817 (version "1.7.0")
4818 (source
4819 (origin
4820 (method url-fetch)
4821 (uri (string-append
4822 "https://hackage.haskell.org/package/haddock-library/haddock-library-"
4823 version
4824 ".tar.gz"))
4825 (sha256
4826 (base32
4827 "04fhcjk0pvsaqvsgp2w06cv2qvshq1xs1bwc157q4lmkgr57khp7"))))
4828 (build-system haskell-build-system)
4829 (arguments
4830 `(#:phases
4831 (modify-phases %standard-phases
4832 ;; Since there is no revised Cabal file upstream, we have to
4833 ;; patch it manually.
4834 (add-before 'configure 'relax-test-suite-dependencies
4835 (lambda _
4836 (substitute* "haddock-library.cabal"
4837 (("hspec\\s*>= 2.4.4 && < 2.6") "hspec")
4838 (("QuickCheck\\s*\\^>= 2.11") "QuickCheck"))
4839 #t)))))
4840 (native-inputs
4841 `(("ghc-base-compat" ,ghc-base-compat)
4842 ("ghc-hspec" ,ghc-hspec)
4843 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
4844 ("ghc-quickcheck" ,ghc-quickcheck)
4845 ("ghc-tree-diff" ,ghc-tree-diff)
4846 ("hspec-discover" ,hspec-discover)))
4847 (home-page "https://www.haskell.org/haddock/")
4848 (synopsis "Library exposing some functionality of Haddock")
4849 (description
4850 "Haddock is a documentation-generation tool for Haskell libraries. These
4851 modules expose some functionality of it without pulling in the GHC dependency.
4852 Please note that the API is likely to change so specify upper bounds in your
4853 project if you can't release often. For interacting with Haddock itself, see
4854 the ‘haddock’ package.")
4855 (license license:bsd-3)))
4856
4857 ;; This package is needed for testing 'ghc-haddock'. It is no longer
4858 ;; published to Hackage, but it is maintained in the Haddock Git
4859 ;; repository.
4860 (define ghc-haddock-test
4861 (package
4862 (name "ghc-haddock-test")
4863 (version "2.22.0")
4864 (source
4865 (origin
4866 (method git-fetch)
4867 (uri (git-reference
4868 (url "https://github.com/haskell/haddock.git")
4869 (commit (string-append "haddock-" version "-release"))))
4870 (file-name (git-file-name name version))
4871 (sha256
4872 (base32
4873 "1ywxmqqan10gs0ppybdmdgsmvkzkpw7yirj2rw4qylg3x49a9zca"))))
4874 (build-system haskell-build-system)
4875 (arguments
4876 `(#:phases
4877 (modify-phases %standard-phases
4878 (add-after 'unpack 'change-directory
4879 (lambda _
4880 (chdir "haddock-test"))))))
4881 (inputs
4882 `(("ghc-syb" ,ghc-syb)
4883 ("ghc-xml" ,ghc-xml)))
4884 (home-page "http://www.haskell.org/haddock/")
4885 (synopsis "Test utilities for Haddock")
4886 (description "This package provides test utilities for Haddock.")
4887 (license license:bsd-3)
4888 (properties '((hidden? #t)))))
4889
4890 (define-public ghc-half
4891 (package
4892 (name "ghc-half")
4893 (version "0.3")
4894 (source
4895 (origin
4896 (method url-fetch)
4897 (uri (string-append
4898 "https://hackage.haskell.org/package/half/half-"
4899 version ".tar.gz"))
4900 (sha256
4901 (base32
4902 "14r0nx8hm5fic9gz0ybjjw4kyc758zfgvhhwvzsshpx5caq6zch6"))))
4903 (build-system haskell-build-system)
4904 (native-inputs
4905 `(("ghc-hspec" ,ghc-hspec)
4906 ("ghc-quickcheck" ,ghc-quickcheck)))
4907 (home-page "https://github.com/ekmett/half")
4908 (synopsis "Half-precision floating-point computations")
4909 (description "This library provides a half-precision floating-point
4910 computation library for Haskell.")
4911 (license license:bsd-3)))
4912
4913 (define-public ghc-happy
4914 (package
4915 (name "ghc-happy")
4916 (version "1.19.12")
4917 (source
4918 (origin
4919 (method url-fetch)
4920 (uri (string-append
4921 "https://hackage.haskell.org/package/happy/happy-"
4922 version
4923 ".tar.gz"))
4924 (sha256
4925 (base32
4926 "03xlmq6qmdx4zvzw8bp33kd9g7yvcq5cz4wg50xilw812kj276pv"))))
4927 (build-system haskell-build-system)
4928 (arguments
4929 `(#:phases
4930 (modify-phases %standard-phases
4931 (add-after 'unpack 'skip-test-issue93
4932 (lambda _
4933 ;; Tests run out of memory on a system with 2GB of available RAM,
4934 ;; in 'issue93.a.hs' and 'issue93.n.hs'.
4935 (substitute* "tests/Makefile"
4936 ((" issue93.y ") " "))
4937 #t)))))
4938 (home-page "https://hackage.haskell.org/package/happy")
4939 (synopsis "Parser generator for Haskell")
4940 (description "Happy is a parser generator for Haskell. Given a grammar
4941 specification in BNF, Happy generates Haskell code to parse the grammar.
4942 Happy works in a similar way to the yacc tool for C.")
4943 (license license:bsd-3)))
4944
4945 (define-public ghc-hashable
4946 (package
4947 (name "ghc-hashable")
4948 (version "1.2.7.0")
4949 (outputs '("out" "doc"))
4950 (source
4951 (origin
4952 (method url-fetch)
4953 (uri (string-append
4954 "https://hackage.haskell.org/package/hashable/hashable-"
4955 version
4956 ".tar.gz"))
4957 (sha256
4958 (base32
4959 "1gra8gq3kb7b2sd845h55yxlrfqx3ii004c6vjhga8v0b30fzdgc"))))
4960 (build-system haskell-build-system)
4961 (arguments
4962 `(#:cabal-revision
4963 ("1" "197063dpl0wn67dp7a06yc2hxp81n24ykk7klbjx0fndm5n87dh3")))
4964 (inputs
4965 `(("ghc-random" ,ghc-random)))
4966 (native-inputs
4967 `(("ghc-test-framework" ,ghc-test-framework)
4968 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
4969 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
4970 ("ghc-hunit" ,ghc-hunit)
4971 ("ghc-quickcheck" ,ghc-quickcheck)))
4972 (home-page "https://github.com/tibbe/hashable")
4973 (synopsis "Class for types that can be converted to a hash value")
4974 (description
4975 "This package defines a class, @code{Hashable}, for types that can be
4976 converted to a hash value. This class exists for the benefit of hashing-based
4977 data structures. The package provides instances for basic types and a way to
4978 combine hash values.")
4979 (license license:bsd-3)))
4980
4981 (define-public ghc-hashable-bootstrap
4982 (package
4983 (inherit ghc-hashable)
4984 (name "ghc-hashable-bootstrap")
4985 (arguments
4986 `(#:tests? #f
4987 ,@(package-arguments ghc-hashable)))
4988 (native-inputs '())
4989 (properties '((hidden? #t)))))
4990
4991 (define-public ghc-hashable-time
4992 (package
4993 (name "ghc-hashable-time")
4994 (version "0.2.0.2")
4995 (source
4996 (origin
4997 (method url-fetch)
4998 (uri (string-append
4999 "https://hackage.haskell.org/package/hashable-time/hashable-time-"
5000 version
5001 ".tar.gz"))
5002 (sha256
5003 (base32
5004 "1q7y4plqqwy5286hhx2fygn12h8lqk0y047b597sbdckskxzfqgs"))))
5005 (build-system haskell-build-system)
5006 (arguments
5007 `(#:cabal-revision
5008 ("2" "006phc5y9rrvsshdcmjmhxzxh8dpgs685mpqbkjm9c40xb1ydjbz")))
5009 (inputs `(("ghc-hashable" ,ghc-hashable)))
5010 (home-page "http://hackage.haskell.org/package/hashable-time")
5011 (synopsis "Hashable instances for Data.Time")
5012 (description
5013 "This package provides @code{Hashable} instances for types in
5014 @code{Data.Time}.")
5015 (license license:bsd-3)))
5016
5017 (define-public ghc-hashtables
5018 (package
5019 (name "ghc-hashtables")
5020 (version "1.2.3.4")
5021 (source
5022 (origin
5023 (method url-fetch)
5024 (uri (string-append
5025 "https://hackage.haskell.org/package/hashtables/hashtables-"
5026 version ".tar.gz"))
5027 (sha256
5028 (base32 "1rjmxnr30g4hygiywkpz5p9sanh0abs7ap4zc1kgd8zv04kycp0j"))))
5029 (build-system haskell-build-system)
5030 (inputs
5031 `(("ghc-hashable" ,ghc-hashable)
5032 ("ghc-primitive" ,ghc-primitive)
5033 ("ghc-vector" ,ghc-vector)))
5034 (home-page "https://github.com/gregorycollins/hashtables")
5035 (synopsis "Haskell Mutable hash tables in the ST monad")
5036 (description "This package provides a Haskell library including a
5037 couple of different implementations of mutable hash tables in the ST
5038 monad, as well as a typeclass abstracting their common operations, and
5039 a set of wrappers to use the hash tables in the IO monad.")
5040 (license license:bsd-3)))
5041
5042 (define-public ghc-haskell-lexer
5043 (package
5044 (name "ghc-haskell-lexer")
5045 (version "1.0.2")
5046 (source
5047 (origin
5048 (method url-fetch)
5049 (uri (string-append
5050 "https://hackage.haskell.org/package/haskell-lexer/haskell-lexer-"
5051 version ".tar.gz"))
5052 (sha256
5053 (base32 "1wyxd8x33x4v5vxyzkhm610pl86gbkc8y439092fr1735q9g7kfq"))))
5054 (build-system haskell-build-system)
5055 (home-page "http://hackage.haskell.org/package/haskell-lexer")
5056 (synopsis "Fully compliant Haskell 98 lexer")
5057 (description
5058 "This package provides a fully compliant Haskell 98 lexer.")
5059 (license license:bsd-3)))
5060
5061 (define-public ghc-haskell-src
5062 (package
5063 (name "ghc-haskell-src")
5064 (version "1.0.3.0")
5065 (source
5066 (origin
5067 (method url-fetch)
5068 (uri (string-append
5069 "https://hackage.haskell.org/package/haskell-src/haskell-src-"
5070 version
5071 ".tar.gz"))
5072 (sha256
5073 (base32
5074 "1g4dj1f0j68bhn4ixfac63wjzy6gsp6kwgxryb1k5nl3i0g99d5l"))))
5075 (build-system haskell-build-system)
5076 (inputs
5077 `(("ghc-happy" ,ghc-happy)
5078 ("ghc-syb" ,ghc-syb)))
5079 (home-page
5080 "https://hackage.haskell.org/package/haskell-src")
5081 (synopsis
5082 "Support for manipulating Haskell source code")
5083 (description
5084 "The @code{haskell-src} package provides support for manipulating Haskell
5085 source code. The package provides a lexer, parser and pretty-printer, and a
5086 definition of a Haskell abstract syntax tree (AST). Common uses of this
5087 package are to parse or generate Haskell 98 code.")
5088 (license license:bsd-3)))
5089
5090 (define-public ghc-haskell-src-exts
5091 (package
5092 (name "ghc-haskell-src-exts")
5093 (version "1.21.1")
5094 (source
5095 (origin
5096 (method url-fetch)
5097 (uri (string-append
5098 "https://hackage.haskell.org/package/haskell-src-exts/haskell-src-exts-"
5099 version
5100 ".tar.gz"))
5101 (sha256
5102 (base32
5103 "0q1y8n3d82gid9bcx8wxsqqmj9mq11fg3gp5yzpfbw958dhi3j9f"))))
5104 (build-system haskell-build-system)
5105 (inputs
5106 `(("cpphs" ,cpphs)
5107 ("ghc-happy" ,ghc-happy)
5108 ("ghc-pretty-show" ,ghc-pretty-show)))
5109 (native-inputs
5110 `(("ghc-smallcheck" ,ghc-smallcheck)
5111 ("ghc-tasty" ,ghc-tasty)
5112 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
5113 ("ghc-tasty-golden" ,ghc-tasty-golden)))
5114 (home-page "https://github.com/haskell-suite/haskell-src-exts")
5115 (synopsis "Library for manipulating Haskell source")
5116 (description "Haskell-Source with Extensions (HSE, haskell-src-exts) is an
5117 extension of the standard @code{haskell-src} package, and handles most
5118 registered syntactic extensions to Haskell. All extensions implemented in GHC
5119 are supported. Apart from these standard extensions, it also handles regular
5120 patterns as per the HaRP extension as well as HSX-style embedded XML syntax.")
5121 (license license:bsd-3)))
5122
5123 (define-public ghc-haskell-src-exts-util
5124 (package
5125 (name "ghc-haskell-src-exts-util")
5126 (version "0.2.5")
5127 (source
5128 (origin
5129 (method url-fetch)
5130 (uri (string-append "https://hackage.haskell.org/package/"
5131 "haskell-src-exts-util/haskell-src-exts-util-"
5132 version ".tar.gz"))
5133 (sha256
5134 (base32
5135 "0fvqi72m74p7q5sbpy8m2chm8a1lgy10mfrcxcz8wrh59vngj0n8"))))
5136 (build-system haskell-build-system)
5137 (inputs
5138 `(("ghc-data-default" ,ghc-data-default)
5139 ("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
5140 ("ghc-semigroups" ,ghc-semigroups)
5141 ("ghc-uniplate" ,ghc-uniplate)))
5142 (home-page "https://github.com/pepeiborra/haskell-src-exts-util")
5143 (synopsis "Helper functions for working with haskell-src-exts trees")
5144 (description
5145 "This package provides helper functions for working with
5146 @code{haskell-src-exts} trees.")
5147 (license license:bsd-3)))
5148
5149 (define-public ghc-haskell-src-meta
5150 (package
5151 (name "ghc-haskell-src-meta")
5152 (version "0.8.3")
5153 (source (origin
5154 (method url-fetch)
5155 (uri (string-append "https://hackage.haskell.org/package/"
5156 "haskell-src-meta/haskell-src-meta-"
5157 version ".tar.gz"))
5158 (sha256
5159 (base32
5160 "17znnaqj2hnnfyc9p9xjzbs97h2jh1h4f4qbw648y3xa14wx5ra9"))))
5161 (build-system haskell-build-system)
5162 (inputs
5163 `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
5164 ("ghc-syb" ,ghc-syb)
5165 ("ghc-th-orphans" ,ghc-th-orphans)))
5166 (native-inputs
5167 `(("ghc-hunit" ,ghc-hunit)
5168 ("ghc-tasty" ,ghc-tasty)
5169 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5170 (home-page "https://hackage.haskell.org/package/haskell-src-meta")
5171 (synopsis "Parse source to template-haskell abstract syntax")
5172 (description
5173 "This package provides tools to parse Haskell sources to the
5174 template-haskell abstract syntax.")
5175 (license license:bsd-3)))
5176
5177 (define-public ghc-hasktags
5178 (package
5179 (name "ghc-hasktags")
5180 (version "0.71.2")
5181 (source
5182 (origin
5183 (method url-fetch)
5184 (uri (string-append
5185 "https://hackage.haskell.org/package/hasktags/hasktags-"
5186 version
5187 ".tar.gz"))
5188 (sha256
5189 (base32
5190 "1s2k9qrgy1jily96img2pmn7g35mwnnfiw6si3aw32jfhg5zsh1c"))))
5191 (build-system haskell-build-system)
5192 (inputs
5193 `(("ghc-system-filepath" ,ghc-system-filepath)
5194 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
5195 (native-inputs
5196 `(("ghc-json" ,ghc-json)
5197 ("ghc-utf8-string" ,ghc-utf8-string)
5198 ("ghc-microlens-platform" ,ghc-microlens-platform)
5199 ("ghc-hunit" ,ghc-hunit)))
5200 (home-page "http://github.com/MarcWeber/hasktags")
5201 (synopsis "Make @code{Ctags} and @code{Etags} files for Haskell programs")
5202 (description
5203 "This package provides a means of generating tag files for Emacs and
5204 Vim.")
5205 (license license:bsd-3)))
5206
5207 (define-public ghc-hex
5208 (package
5209 (name "ghc-hex")
5210 (version "0.1.2")
5211 (source
5212 (origin
5213 (method url-fetch)
5214 (uri (string-append "https://hackage.haskell.org/package/"
5215 "hex-" version "/"
5216 "hex-" version ".tar.gz"))
5217 (sha256
5218 (base32
5219 "1v31xiaivrrn0q2jz8919wvkjplv1kxna5ajhsj701fqxm1i5vhj"))))
5220 (build-system haskell-build-system)
5221 (home-page "https://hackage.haskell.org/package/hex")
5222 (synopsis "Convert strings into hexadecimal and back")
5223 (description "This package provides conversion functions between
5224 bytestrings and their hexademical representation.")
5225 (license license:bsd-3)))
5226
5227 (define-public ghc-highlighting-kate
5228 (package
5229 (name "ghc-highlighting-kate")
5230 (version "0.6.4")
5231 (source (origin
5232 (method url-fetch)
5233 (uri (string-append "https://hackage.haskell.org/package/"
5234 "highlighting-kate/highlighting-kate-"
5235 version ".tar.gz"))
5236 (sha256
5237 (base32
5238 "1bqv00gfmrsf0jjr4qf3lhshvfkyzmhbi3pjb6mafbnsyn2k7f6q"))))
5239 (build-system haskell-build-system)
5240 (inputs
5241 `(("ghc-diff" ,ghc-diff)
5242 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)))
5243 (native-inputs
5244 `(("ghc-blaze-html" ,ghc-blaze-html)
5245 ("ghc-utf8-string" ,ghc-utf8-string)))
5246 (home-page "https://github.com/jgm/highlighting-kate")
5247 (synopsis "Syntax highlighting library")
5248 (description
5249 "Highlighting-kate is a syntax highlighting library with support for
5250 nearly one hundred languages. The syntax parsers are automatically generated
5251 from @uref{https://kate-editor.org/, Kate syntax descriptions}, so any syntax
5252 supported by Kate can be added. An (optional) command-line program is
5253 provided, along with a utility for generating new parsers from Kate XML syntax
5254 descriptions.")
5255 (license license:gpl2+)))
5256
5257 (define-public ghc-hindent
5258 (package
5259 (name "ghc-hindent")
5260 (version "5.3.1")
5261 (source
5262 (origin
5263 (method url-fetch)
5264 (uri (string-append
5265 "https://hackage.haskell.org/package/hindent/hindent-"
5266 version
5267 ".tar.gz"))
5268 (sha256
5269 (base32
5270 "008s8zm9qs972b7v5kkmr8l3i9kc6zm7yj33mkw6dv69b7h3c01l"))))
5271 (build-system haskell-build-system)
5272 (arguments
5273 `(#:modules ((guix build haskell-build-system)
5274 (guix build utils)
5275 (guix build emacs-utils))
5276 #:imported-modules (,@%haskell-build-system-modules
5277 (guix build emacs-utils))
5278 #:phases
5279 (modify-phases %standard-phases
5280 (add-after 'install 'emacs-install
5281 (lambda* (#:key inputs outputs #:allow-other-keys)
5282 (let* ((out (assoc-ref outputs "out"))
5283 (elisp-file "elisp/hindent.el")
5284 (dest (string-append out "/share/emacs/site-lisp"
5285 "/guix.d/hindent-" ,version))
5286 (emacs (string-append (assoc-ref inputs "emacs")
5287 "/bin/emacs")))
5288 (make-file-writable elisp-file)
5289 (emacs-substitute-variables elisp-file
5290 ("hindent-process-path"
5291 (string-append out "/bin/hindent")))
5292 (install-file elisp-file dest)
5293 (emacs-generate-autoloads "hindent" dest)))))))
5294 (inputs
5295 `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
5296 ("ghc-monad-loops" ,ghc-monad-loops)
5297 ("ghc-utf8-string" ,ghc-utf8-string)
5298 ("ghc-exceptions" ,ghc-exceptions)
5299 ("ghc-yaml" ,ghc-yaml)
5300 ("ghc-unix-compat" ,ghc-unix-compat)
5301 ("ghc-path" ,ghc-path)
5302 ("ghc-path-io" ,ghc-path-io)
5303 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
5304 (native-inputs
5305 `(("ghc-hspec" ,ghc-hspec)
5306 ("ghc-diff" ,ghc-diff)
5307 ("emacs" ,emacs-minimal)))
5308 (home-page
5309 "https://github.com/commercialhaskell/hindent")
5310 (synopsis "Extensible Haskell pretty printer")
5311 (description
5312 "This package provides automatic formatting for Haskell files. Both a
5313 library and an executable.")
5314 (license license:bsd-3)))
5315
5316 (define-public ghc-hinotify
5317 (package
5318 (name "ghc-hinotify")
5319 (version "0.4")
5320 (source (origin
5321 (method url-fetch)
5322 (uri (string-append
5323 "https://hackage.haskell.org/package/hinotify/"
5324 "hinotify-" version ".tar.gz"))
5325 (sha256
5326 (base32
5327 "1x1lm685ws2q0z0ibwq6x3l72xh67mj06s36xiga3al48d92q63x"))))
5328 (build-system haskell-build-system)
5329 (inputs
5330 `(("ghc-async" ,ghc-async)))
5331 (home-page "https://github.com/kolmodin/hinotify.git")
5332 (synopsis "Haskell binding to inotify")
5333 (description "This library provides a wrapper to the Linux kernel's inotify
5334 feature, allowing applications to subscribe to notifications when a file is
5335 accessed or modified.")
5336 (license license:bsd-3)))
5337
5338 (define-public ghc-hmatrix
5339 (package
5340 (name "ghc-hmatrix")
5341 (version "0.20.0.0")
5342 (source
5343 (origin
5344 (method url-fetch)
5345 (uri (string-append
5346 "https://hackage.haskell.org/package/hmatrix/hmatrix-"
5347 version ".tar.gz"))
5348 (sha256
5349 (base32 "1sqy1aci5zfagkb34mz3xdil7cl96z4b4cx28cha54vc5sx1lhpg"))))
5350 (build-system haskell-build-system)
5351 (inputs
5352 `(("ghc-random" ,ghc-random)
5353 ("ghc-split" ,ghc-split)
5354 ("ghc-storable-complex" ,ghc-storable-complex)
5355 ("ghc-semigroups" ,ghc-semigroups)
5356 ("ghc-vector" ,ghc-vector)
5357 ;;("openblas" ,openblas)
5358 ("lapack" ,lapack)))
5359 ;; Guix's OpenBLAS is built with the flag "NO_LAPACK=1" which
5360 ;; disables inclusion of the LAPACK functions.
5361 ;; (arguments `(#:configure-flags '("--flags=openblas")))
5362 (home-page "https://github.com/albertoruiz/hmatrix")
5363 (synopsis "Haskell numeric linear algebra library")
5364 (description "The HMatrix package provices a Haskell library for
5365 dealing with linear systems, matrix decompositions, and other
5366 numerical computations based on BLAS and LAPACK.")
5367 (license license:bsd-3)))
5368
5369 (define-public ghc-hmatrix-gsl
5370 (package
5371 (name "ghc-hmatrix-gsl")
5372 (version "0.19.0.1")
5373 (source
5374 (origin
5375 (method url-fetch)
5376 (uri (string-append
5377 "https://hackage.haskell.org/package/hmatrix-gsl/hmatrix-gsl-"
5378 version ".tar.gz"))
5379 (sha256
5380 (base32 "0v6dla426x4ywaq59jm89ql1i42n39iw6z0j378xwb676v9kfxhm"))))
5381 (build-system haskell-build-system)
5382 (inputs
5383 `(("ghc-hmatrix" ,ghc-hmatrix)
5384 ("ghc-vector" ,ghc-vector)
5385 ("ghc-random" ,ghc-random)
5386 ("gsl" ,gsl)))
5387 (native-inputs `(("pkg-config" ,pkg-config)))
5388 (home-page "https://github.com/albertoruiz/hmatrix")
5389 (synopsis "Haskell GSL binding")
5390 (description "This Haskell library provides a purely functional
5391 interface to selected numerical computations, internally implemented
5392 using GSL.")
5393 (license license:gpl3+)))
5394
5395 (define-public ghc-hmatrix-gsl-stats
5396 (package
5397 (name "ghc-hmatrix-gsl-stats")
5398 (version "0.4.1.8")
5399 (source
5400 (origin
5401 (method url-fetch)
5402 (uri
5403 (string-append
5404 "https://hackage.haskell.org/package/hmatrix-gsl-stats/hmatrix-gsl-stats-"
5405 version ".tar.gz"))
5406 (sha256
5407 (base32 "1cq049sj3q5r06x7i35hqrkf2jc4p4kfi9zv0jmi2vp7w4644i5q"))))
5408 (build-system haskell-build-system)
5409 (inputs
5410 `(("ghc-vector" ,ghc-vector)
5411 ("ghc-storable-complex" ,ghc-storable-complex)
5412 ("ghc-hmatrix" ,ghc-hmatrix)
5413 ("gsl" ,gsl)))
5414 (native-inputs `(("pkg-config" ,pkg-config)))
5415 (home-page "http://code.haskell.org/hmatrix-gsl-stats")
5416 (synopsis "GSL Statistics interface for Haskell")
5417 (description "This Haskell library provides a purely functional
5418 interface for statistics based on hmatrix and GSL.")
5419 (license license:bsd-3)))
5420
5421 (define-public ghc-hmatrix-special
5422 (package
5423 (name "ghc-hmatrix-special")
5424 (version "0.19.0.0")
5425 (source
5426 (origin
5427 (method url-fetch)
5428 (uri
5429 (string-append
5430 "https://hackage.haskell.org/package/hmatrix-special/hmatrix-special-"
5431 version ".tar.gz"))
5432 (sha256
5433 (base32 "1mywr61kr852sbff26n9x95kswx9l4ycbv6s68qsbkh02xzqq7qz"))))
5434 (build-system haskell-build-system)
5435 (inputs
5436 `(("ghc-hmatrix" ,ghc-hmatrix)
5437 ("ghc-hmatrix-gsl" ,ghc-hmatrix-gsl)))
5438 (home-page "https://github.com/albertoruiz/hmatrix")
5439 (synopsis "Haskell interface to GSL special functions")
5440 (description "This library provides an interface to GSL special
5441 functions for Haskell.")
5442 (license license:gpl3+)))
5443
5444 (define-public ghc-hostname
5445 (package
5446 (name "ghc-hostname")
5447 (version "1.0")
5448 (source
5449 (origin
5450 (method url-fetch)
5451 (uri (string-append "https://hackage.haskell.org/package/hostname/"
5452 "hostname-" version ".tar.gz"))
5453 (sha256
5454 (base32
5455 "0p6gm4328946qxc295zb6vhwhf07l1fma82vd0siylnsnsqxlhwv"))))
5456 (build-system haskell-build-system)
5457 (home-page "https://hackage.haskell.org/package/hostname")
5458 (synopsis "Hostname in Haskell")
5459 (description "Network.HostName is a simple package providing a means to
5460 determine the hostname.")
5461 (license license:bsd-3)))
5462
5463 (define-public ghc-hourglass
5464 (package
5465 (name "ghc-hourglass")
5466 (version "0.2.12")
5467 (source (origin
5468 (method url-fetch)
5469 (uri (string-append "https://hackage.haskell.org/package/"
5470 "hourglass/hourglass-" version ".tar.gz"))
5471 (sha256
5472 (base32
5473 "0jnay5j13vpz6i1rkaj3j0d9v8jfpri499xn3l7wd01f81f5ncs4"))))
5474 (build-system haskell-build-system)
5475 (inputs
5476 `(("ghc-old-locale" ,ghc-old-locale)))
5477 (native-inputs
5478 `(("ghc-tasty" ,ghc-tasty)
5479 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5480 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5481 (home-page "https://github.com/vincenthz/hs-hourglass")
5482 (synopsis "Simple time-related library for Haskell")
5483 (description
5484 "This is a simple time library providing a simple but powerful and
5485 performant API. The backbone of the library are the @code{Timeable} and
5486 @code{Time} type classes. Each @code{Timeable} instances can be converted to
5487 a type that has a @code{Time} instances, and thus are different
5488 representations of current time.")
5489 (license license:bsd-3)))
5490
5491 (define-public ghc-hpack
5492 (package
5493 (name "ghc-hpack")
5494 (version "0.31.2")
5495 (source
5496 (origin
5497 (method url-fetch)
5498 (uri (string-append "https://hackage.haskell.org/package/hpack/"
5499 "hpack-" version ".tar.gz"))
5500 (patches (search-patches "ghc-hpack-fix-tests.patch"))
5501 (sha256
5502 (base32
5503 "1l2d6185lawwhsj70swxkvcacm0hvcn9qsrlx4ph4gs6k578603g"))))
5504 (build-system haskell-build-system)
5505 (inputs
5506 `(("ghc-aeson" ,ghc-aeson)
5507 ("ghc-bifunctors" ,ghc-bifunctors)
5508 ("ghc-cryptonite" ,ghc-cryptonite)
5509 ("ghc-glob" ,ghc-glob)
5510 ("ghc-http-client" ,ghc-http-client)
5511 ("ghc-http-client-tls" ,ghc-http-client-tls)
5512 ("ghc-http-types" ,ghc-http-types)
5513 ("ghc-infer-license" ,ghc-infer-license)
5514 ("ghc-scientific" ,ghc-scientific)
5515 ("ghc-unordered-containers" ,ghc-unordered-containers)
5516 ("ghc-vector" ,ghc-vector)
5517 ("ghc-yaml" ,ghc-yaml)))
5518 (native-inputs
5519 `(("ghc-hspec" ,ghc-hspec)
5520 ("ghc-hunit" ,ghc-hunit)
5521 ("ghc-interpolate" ,ghc-interpolate)
5522 ("ghc-mockery" ,ghc-mockery)
5523 ("ghc-quickcheck" ,ghc-quickcheck)
5524 ("ghc-temporary" ,ghc-temporary)
5525 ("hspec-discover" ,hspec-discover)))
5526 (home-page "https://github.com/sol/hpack")
5527 (synopsis "Tools for an alternative Haskell package format")
5528 (description
5529 "Hpack is a format for Haskell packages. It is an alternative to the
5530 Cabal package format and follows different design principles. Hpack packages
5531 are described in a file named @code{package.yaml}. Both @code{cabal2nix} and
5532 @code{stack} support @code{package.yaml} natively. For other build tools the
5533 @code{hpack} executable can be used to generate a @code{.cabal} file from
5534 @code{package.yaml}.")
5535 (license license:expat)))
5536
5537 (define-public ghc-hs-bibutils
5538 (package
5539 (name "ghc-hs-bibutils")
5540 (version "6.7.0.0")
5541 (source
5542 (origin
5543 (method url-fetch)
5544 (uri (string-append
5545 "https://hackage.haskell.org/package/hs-bibutils/hs-bibutils-"
5546 version ".tar.gz"))
5547 (sha256
5548 (base32
5549 "1qfyssl76lm4g09yxr3y10kmf8cnzls46g5h0ijk0wpk9wlhbln5"))))
5550 (build-system haskell-build-system)
5551 (inputs `(("ghc-syb" ,ghc-syb)))
5552 (home-page "https://hackage.haskell.org/package/hs-bibutils")
5553 (synopsis "Haskell bindings to bibutils")
5554 (description
5555 "This package provides Haskell bindings to @code{bibutils}, a library
5556 that interconverts between various bibliography formats using a common
5557 MODS-format XML intermediate.")
5558 (license license:gpl2+)))
5559
5560 (define-public ghc-hslogger
5561 (package
5562 (name "ghc-hslogger")
5563 (version "1.2.12")
5564 (source
5565 (origin
5566 (method url-fetch)
5567 (uri (string-append "https://hackage.haskell.org/package/"
5568 "hslogger-" version "/" "hslogger-"
5569 version ".tar.gz"))
5570 (sha256 (base32
5571 "0ykcsk7wqygvrg60r5kpl6xfinr706al8pfyk5wj67wjs24lqypr"))))
5572 (build-system haskell-build-system)
5573 (inputs
5574 `(("ghc-network" ,ghc-network)
5575 ("ghc-old-locale" ,ghc-old-locale)))
5576 (native-inputs
5577 `(("ghc-hunit" ,ghc-hunit)))
5578 (home-page "https://software.complete.org/hslogger")
5579 (synopsis "Logging framework for Haskell, similar to Python's logging module")
5580 (description "Hslogger lets each log message have a priority and source be
5581 associated with it. The programmer can then define global handlers that route
5582 or filter messages based on the priority and source. It also has a syslog
5583 handler built in.")
5584 (license license:bsd-3)))
5585
5586 (define-public ghc-hslua
5587 (package
5588 (name "ghc-hslua")
5589 (version "1.0.3.2")
5590 (source (origin
5591 (method url-fetch)
5592 (uri (string-append "https://hackage.haskell.org/package/"
5593 "hslua/hslua-" version ".tar.gz"))
5594 (sha256
5595 (base32
5596 "183bgl5jcx5y2r94lviqfw0a5w9089nxjd1z40k8vx9y2h60pm6j"))))
5597 (build-system haskell-build-system)
5598 (arguments
5599 `(#:configure-flags '("-fsystem-lua")))
5600 (inputs
5601 `(("lua" ,lua)
5602 ("ghc-exceptions" ,ghc-exceptions)
5603 ("ghc-fail" ,ghc-fail)))
5604 (native-inputs
5605 `(("ghc-tasty" ,ghc-tasty)
5606 ("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
5607 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5608 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5609 ("ghc-quickcheck" ,ghc-quickcheck)
5610 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
5611 (home-page "https://hackage.haskell.org/package/hslua")
5612 (synopsis "Lua language interpreter embedding in Haskell")
5613 (description
5614 "The Scripting.Lua module is a wrapper of the Lua language interpreter as
5615 described in @url{https://www.lua.org/}.")
5616 (license license:expat)))
5617
5618 (define-public ghc-hslua-module-system
5619 (package
5620 (name "ghc-hslua-module-system")
5621 (version "0.2.1")
5622 (source
5623 (origin
5624 (method url-fetch)
5625 (uri (string-append "https://hackage.haskell.org/package/"
5626 "hslua-module-system/hslua-module-system-"
5627 version ".tar.gz"))
5628 (sha256
5629 (base32
5630 "1m7wz3g5c34pyizqw5mllzhsy2vziddhlbhjfwdvd7nhd3p4v3hh"))))
5631 (build-system haskell-build-system)
5632 (inputs
5633 `(("ghc-exceptions" ,ghc-exceptions)
5634 ("ghc-hslua" ,ghc-hslua)
5635 ("ghc-temporary" ,ghc-temporary)))
5636 (native-inputs
5637 `(("ghc-tasty" ,ghc-tasty)
5638 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5639 (home-page "https://github.com/hslua/hslua-module-system")
5640 (synopsis "Lua module wrapper around Haskell's System module")
5641 (description "This library provides access to system information and
5642 functionality to Lua scripts via Haskell's @code{System} module. Intended
5643 usage for this package is to preload it by adding the loader function to
5644 @code{package.preload}. Note that the Lua @code{package} library must have
5645 already been loaded before the loader can be added.")
5646 (license license:expat)))
5647
5648 (define-public ghc-hslua-module-text
5649 (package
5650 (name "ghc-hslua-module-text")
5651 (version "0.2.1")
5652 (source
5653 (origin
5654 (method url-fetch)
5655 (uri (string-append "https://hackage.haskell.org/package/"
5656 "hslua-module-text/hslua-module-text-"
5657 version ".tar.gz"))
5658 (sha256
5659 (base32
5660 "1ikdwvvxhbd5wmfr85dzs2ccamh9rbbpgy899z7s1vlv5q1dj0hk"))))
5661 (build-system haskell-build-system)
5662 (inputs
5663 `(("ghc-hslua" ,ghc-hslua)))
5664 (native-inputs
5665 `(("ghc-tasty" ,ghc-tasty)
5666 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5667 (home-page "https://github.com/hslua/hslua-module-text")
5668 (synopsis "Lua module for text")
5669 (description
5670 "This package provides a UTF-8 aware subset of Lua's @code{string} module
5671 for Haskell. The functions provided by this module are @code{upper},
5672 @code{lower}, @code{len}, @code{reverse}, and @code{sub}.")
5673 (license license:expat)))
5674
5675 (define-public ghc-hsyaml
5676 (package
5677 (name "ghc-hsyaml")
5678 (version "0.1.2.0")
5679 (source
5680 (origin
5681 (method url-fetch)
5682 (uri (string-append "https://hackage.haskell.org/package/"
5683 "HsYAML/HsYAML-" version ".tar.gz"))
5684 (sha256
5685 (base32
5686 "1pajfhj16559v64ixm8j7bvxdqmxg6c3c0z3wz7in8ckswgzfp54"))))
5687 (build-system haskell-build-system)
5688 (arguments
5689 `(#:cabal-revision
5690 ("1" "0j6qmmcz5yqh89hs2cq453maix50q61vl2h0ahj5lg02bygn42cf")))
5691 (home-page "https://github.com/haskell-hvr/HsYAML")
5692 (synopsis "Pure Haskell YAML 1.2 parser")
5693 (description "This library provides a
5694 @url{http://yaml.org/spec/1.2/spec.html, YAML 1.2} parser implementation
5695 for Haskell. Its features include:
5696
5697 @itemize
5698 @item Pure Haskell implementation with small dependency footprint and
5699 emphasis on strict compliance with the YAML 1.2 specification.
5700
5701 @item Direct decoding to native Haskell types via (aeson-inspired)
5702 typeclass-based API (see @code{Data.YAML}).
5703
5704 @item Support for constructing custom YAML node graph
5705 representation (including support for cyclic YAML data structures).
5706
5707 @item Support for the standard (untyped) @emph{Failsafe}, (strict)
5708 @emph{JSON}, and (flexible) @emph{Core} ``schemas'' providing implicit
5709 typing rules as defined in the YAML 1.2 specification (including support
5710 for user-defined custom schemas).
5711
5712 @item Event-based API resembling LibYAML's Event-based API (see
5713 @code{Data.YAML.Event}).
5714
5715 @item Low-level API access to lexical token-based scanner (see
5716 @code{Data.YAML.Token}).
5717 @end itemize")
5718 (license license:gpl2+)))
5719
5720 (define-public ghc-http-api-data
5721 (package
5722 (name "ghc-http-api-data")
5723 (version "0.4.1")
5724 (source
5725 (origin
5726 (method url-fetch)
5727 (uri (string-append "https://hackage.haskell.org/package/"
5728 "http-api-data-" version "/"
5729 "http-api-data-" version ".tar.gz"))
5730 (sha256
5731 (base32
5732 "1ps4bvln43gz72dr9mc3c9n1rn38c4rz6m49vxzz9nz6jz1978rv"))))
5733 (build-system haskell-build-system)
5734 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
5735 ("ghc-attoparsec-iso8601" ,ghc-attoparsec-iso8601)
5736 ("ghc-cookie" ,ghc-cookie)
5737 ("ghc-hashable" ,ghc-hashable)
5738 ("ghc-http-types" ,ghc-http-types)
5739 ("ghc-time-compat" ,ghc-time-compat)
5740 ("ghc-unordered-containers" ,ghc-unordered-containers)
5741 ("ghc-uuid-types" ,ghc-uuid-types)))
5742 (native-inputs
5743 `(("cabal-doctest" ,cabal-doctest)
5744 ("ghc-nats" ,ghc-nats)
5745 ("ghc-hunit" ,ghc-hunit)
5746 ("ghc-hspec" ,ghc-hspec)
5747 ("ghc-quickcheck" ,ghc-quickcheck)
5748 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
5749 ("ghc-doctest" ,ghc-doctest)
5750 ("hspec-discover" ,hspec-discover)))
5751 (home-page "https://github.com/fizruk/http-api-data")
5752 (synopsis "Convert to/from HTTP API data like URL pieces, headers and
5753 query parameters")
5754 (description "This Haskell package defines typeclasses used for converting
5755 Haskell data types to and from HTTP API data.")
5756 (license license:bsd-3)))
5757
5758 (define-public ghc-ieee754
5759 (package
5760 (name "ghc-ieee754")
5761 (version "0.8.0")
5762 (source (origin
5763 (method url-fetch)
5764 (uri (string-append
5765 "https://hackage.haskell.org/package/ieee754/"
5766 "ieee754-" version ".tar.gz"))
5767 (sha256
5768 (base32
5769 "1lcs521g9lzy9d7337vg4w7q7s8500rfqy7rcifcz6pm6yfgyb8f"))))
5770 (build-system haskell-build-system)
5771 (home-page "https://github.com/patperry/hs-ieee754")
5772 (synopsis "Utilities for dealing with IEEE floating point numbers")
5773 (description "Utilities for dealing with IEEE floating point numbers,
5774 ported from the Tango math library; approximate and exact equality comparisons
5775 for general types.")
5776 (license license:bsd-3)))
5777
5778 (define-public ghc-ifelse
5779 (package
5780 (name "ghc-ifelse")
5781 (version "0.85")
5782 (source
5783 (origin
5784 (method url-fetch)
5785 (uri (string-append "https://hackage.haskell.org/package/"
5786 "IfElse/IfElse-" version ".tar.gz"))
5787 (sha256
5788 (base32
5789 "1kfx1bwfjczj93a8yqz1n8snqiq5655qgzwv1lrycry8wb1vzlwa"))))
5790 (build-system haskell-build-system)
5791 (home-page "http://hackage.haskell.org/package/IfElse")
5792 (synopsis "Monadic control flow with anaphoric variants")
5793 (description "This library provides functions for control flow inside of
5794 monads with anaphoric variants on @code{if} and @code{when} and a C-like
5795 @code{switch} function.")
5796 (license license:bsd-3)))
5797
5798 (define-public ghc-indents
5799 (package
5800 (name "ghc-indents")
5801 (version "0.5.0.1")
5802 (source (origin
5803 (method url-fetch)
5804 (uri (string-append
5805 "https://hackage.haskell.org/package/indents/indents-"
5806 version ".tar.gz"))
5807 (sha256
5808 (base32
5809 "0dpcwiz0dwn5aqdsc50plfaawh86adhf7jx5dsmhn5q5nz32qn51"))))
5810 (build-system haskell-build-system)
5811 ;; This package needs an older version of tasty.
5812 (arguments '(#:tests? #f))
5813 (inputs
5814 `(("ghc-concatenative" ,ghc-concatenative)))
5815 (native-inputs
5816 `(("ghc-tasty" ,ghc-tasty)
5817 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5818 (home-page "http://patch-tag.com/r/salazar/indents")
5819 (synopsis "Indentation sensitive parser-combinators for parsec")
5820 (description
5821 "This library provides functions for use in parsing indentation sensitive
5822 contexts. It parses blocks of lines all indented to the same level as well as
5823 lines continued at an indented level below.")
5824 (license license:bsd-3)))
5825
5826 (define-public ghc-infer-license
5827 (package
5828 (name "ghc-infer-license")
5829 (version "0.2.0")
5830 (source
5831 (origin
5832 (method url-fetch)
5833 (uri (string-append "https://hackage.haskell.org/package/"
5834 "infer-license/infer-license-" version ".tar.gz"))
5835 (sha256
5836 (base32
5837 "0wlfm6bf55kfvm74xar9lmjg5v1103rs9m3grw1rq5bmcmhzxrhj"))))
5838 (build-system haskell-build-system)
5839 (inputs
5840 `(("ghc-text-metrics" ,ghc-text-metrics)))
5841 (native-inputs
5842 `(("ghc-hspec" ,ghc-hspec)
5843 ("hspec-discover" ,hspec-discover)))
5844 (home-page "http://hackage.haskell.org/package/infer-license")
5845 (synopsis "Infer software license from a given license file")
5846 (description "This library provides tools to infer a software
5847 license from a given license file.")
5848 (license license:expat)))
5849
5850 (define-public ghc-inline-c
5851 (package
5852 (name "ghc-inline-c")
5853 (version "0.7.0.1")
5854 (source
5855 (origin
5856 (method url-fetch)
5857 (uri (string-append "https://hackage.haskell.org/package/inline-c/"
5858 "inline-c-" version ".tar.gz"))
5859 (sha256
5860 (base32
5861 "19scbviwiv1fbsdcjji3dscjg7w0xa8r97xwkqqrwm7zhvrg5wns"))))
5862 (build-system haskell-build-system)
5863 (inputs
5864 `(("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
5865 ("ghc-cryptohash" ,ghc-cryptohash)
5866 ("ghc-hashable" ,ghc-hashable)
5867 ("ghc-parsers" ,ghc-parsers)
5868 ("ghc-unordered-containers" ,ghc-unordered-containers)
5869 ("ghc-vector" ,ghc-vector)))
5870 (native-inputs
5871 `(("ghc-quickcheck" ,ghc-quickcheck)
5872 ("ghc-hspec" ,ghc-hspec)
5873 ("ghc-raw-strings-qq" ,ghc-raw-strings-qq)
5874 ("ghc-regex-posix" ,ghc-regex-posix)))
5875 (home-page "http://hackage.haskell.org/package/inline-c")
5876 (synopsis "Write Haskell source files including C code inline")
5877 (description
5878 "inline-c lets you seamlessly call C libraries and embed high-performance
5879 inline C code in Haskell modules. Haskell and C can be freely intermixed in
5880 the same source file, and data passed to and from code in either language with
5881 minimal overhead. No FFI required.")
5882 (license license:expat)))
5883
5884 (define-public ghc-inline-c-cpp
5885 (package
5886 (name "ghc-inline-c-cpp")
5887 (version "0.3.0.3")
5888 (source
5889 (origin
5890 (method url-fetch)
5891 (uri (string-append "https://hackage.haskell.org/package/inline-c-cpp/"
5892 "inline-c-cpp-" version ".tar.gz"))
5893 (sha256
5894 (base32
5895 "1sxwx9dh60qfpa72dymj015zwd6prhb70x5mkabqzi7nhg3aakln"))))
5896 (build-system haskell-build-system)
5897 (inputs
5898 `(("ghc-inline-c" ,ghc-inline-c)
5899 ("ghc-safe-exceptions" ,ghc-safe-exceptions)))
5900 (native-inputs
5901 `(("ghc-hspec" ,ghc-hspec)))
5902 (home-page "https://hackage.haskell.org/package/inline-c-cpp")
5903 (synopsis "Lets you embed C++ code into Haskell")
5904 (description
5905 "This package provides utilities to inline C++ code into Haskell using
5906 @code{inline-c}.")
5907 (license license:expat)))
5908
5909 (define-public ghc-integer-logarithms
5910 (package
5911 (name "ghc-integer-logarithms")
5912 (version "1.0.3")
5913 (source
5914 (origin
5915 (method url-fetch)
5916 (uri (string-append "https://hackage.haskell.org/package/"
5917 "integer-logarithms/integer-logarithms-"
5918 version ".tar.gz"))
5919 (sha256
5920 (base32
5921 "05pc5hws66csvcvfswlwcr2fplwn1lbssvwifjxkbbwqhq0n5qjs"))))
5922 (build-system haskell-build-system)
5923 (arguments
5924 `(#:phases
5925 (modify-phases %standard-phases
5926 (add-before 'configure 'update-constraints
5927 (lambda _
5928 (substitute* "integer-logarithms.cabal"
5929 (("tasty >= 0\\.10 && < 1\\.1")
5930 "tasty >= 0.10 && < 1.2")))))))
5931 (native-inputs
5932 `(("ghc-quickcheck" ,ghc-quickcheck)
5933 ("ghc-smallcheck" ,ghc-smallcheck)
5934 ("ghc-tasty" ,ghc-tasty)
5935 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5936 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5937 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)))
5938 (home-page "https://github.com/Bodigrim/integer-logarithms")
5939 (synopsis "Integer logarithms")
5940 (description
5941 "This package provides the following modules:
5942 @code{Math.NumberTheory.Logarithms} and
5943 @code{Math.NumberTheory.Powers.Integer} from the @code{arithmoi} package,
5944 @code{GHC.Integer.Logarithms.Compat} and
5945 @code{Math.NumberTheory.Power.Natural}, as well as some additional functions
5946 in migrated modules.")
5947 (license license:expat)))
5948
5949 (define-public ghc-integer-logarithms-bootstrap
5950 (package
5951 (inherit ghc-integer-logarithms)
5952 (name "ghc-integer-logarithms-bootstrap")
5953 (arguments `(#:tests? #f))
5954 (native-inputs '())
5955 (properties '((hidden? #t)))))
5956
5957 (define-public ghc-interpolate
5958 (package
5959 (name "ghc-interpolate")
5960 (version "0.2.0")
5961 (source
5962 (origin
5963 (method url-fetch)
5964 (uri (string-append "https://hackage.haskell.org/package/interpolate/"
5965 "interpolate-" version ".tar.gz"))
5966 (sha256
5967 (base32
5968 "1gkaj98yz363v38fv78sqby236mp8yqwqcilx7kr2b9z0w3204bf"))))
5969 (build-system haskell-build-system)
5970 (inputs
5971 `(("ghc-haskell-src-meta" ,ghc-haskell-src-meta)))
5972 (native-inputs
5973 `(("ghc-base-compat" ,ghc-base-compat)
5974 ("ghc-hspec" ,ghc-hspec)
5975 ("ghc-quickcheck" ,ghc-quickcheck)
5976 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
5977 ("hspec-discover" ,hspec-discover)))
5978 (home-page "https://github.com/sol/interpolate")
5979 (synopsis "String interpolation library")
5980 (description "This package provides a string interpolation library for
5981 Haskell.")
5982 (license license:expat)))
5983
5984 (define-public ghc-intervalmap
5985 (package
5986 (name "ghc-intervalmap")
5987 (version "0.6.1.1")
5988 (source
5989 (origin
5990 (method url-fetch)
5991 (uri (string-append "https://hackage.haskell.org/package/IntervalMap/"
5992 "IntervalMap-" version ".tar.gz"))
5993 (sha256
5994 (base32
5995 "0vdlvxvhf7vjyv0mfn6jaj2i2gclqv8419ck32s2jxfcmki5m5g8"))))
5996 (build-system haskell-build-system)
5997 (native-inputs
5998 `(("ghc-quickcheck" ,ghc-quickcheck)))
5999 (home-page "http://www.chr-breitkopf.de/comp/IntervalMap")
6000 (synopsis "Containers for intervals, with efficient search")
6001 (description
6002 "This package provides ordered containers of intervals, with efficient
6003 search for all keys containing a point or overlapping an interval. See the
6004 example code on the home page for a quick introduction.")
6005 (license license:bsd-3)))
6006
6007 (define-public ghc-intervals
6008 (package
6009 (name "ghc-intervals")
6010 (version "0.8.1")
6011 (source
6012 (origin
6013 (method url-fetch)
6014 (uri (string-append "https://hackage.haskell.org/package/"
6015 "intervals/intervals-" version ".tar.gz"))
6016 (sha256
6017 (base32
6018 "00vyxf3ba9d7aas3npfapr53w71fslgh69fczjb25axr66fvzqww"))))
6019 (build-system haskell-build-system)
6020 (inputs
6021 `(("ghc-distributive" ,ghc-distributive)))
6022 (native-inputs
6023 `(("cabal-doctest" ,cabal-doctest)
6024 ("ghc-doctest" ,ghc-doctest)
6025 ("ghc-quickcheck" ,ghc-quickcheck)))
6026 (arguments
6027 `(#:cabal-revision
6028 ("4" "1qx3q0v13l1zaln9zdk8chxpxhshbz5x0vqm0qda7d1kpv7h6a7r")))
6029 (home-page "https://github.com/ekmett/intervals")
6030 (synopsis "Interval arithmetic")
6031 (description "This library provides
6032 @code{Numeric.Interval.Interval}, which represets a closed, convex set
6033 of floating point values.")
6034 (license license:bsd-3)))
6035
6036 (define-public ghc-invariant
6037 (package
6038 (name "ghc-invariant")
6039 (version "0.5.3")
6040 (source
6041 (origin
6042 (method url-fetch)
6043 (uri (string-append
6044 "https://hackage.haskell.org/package/invariant/invariant-"
6045 version ".tar.gz"))
6046 (sha256
6047 (base32
6048 "03245nhcqxx6b0yw81fzqaqd7cgllmx8awzhvs2xv7ys73pmsgnp"))))
6049 (build-system haskell-build-system)
6050 (inputs
6051 `(("ghc-bifunctors" ,ghc-bifunctors)
6052 ("ghc-comonad" ,ghc-comonad)
6053 ("ghc-contravariant" ,ghc-contravariant)
6054 ("ghc-profunctors" ,ghc-profunctors)
6055 ("ghc-semigroups" ,ghc-semigroups)
6056 ("ghc-statevar" ,ghc-statevar)
6057 ("ghc-tagged" ,ghc-tagged)
6058 ("ghc-th-abstraction" ,ghc-th-abstraction)
6059 ("ghc-transformers-compat" ,ghc-transformers-compat)
6060 ("ghc-unordered-containers" ,ghc-unordered-containers)))
6061 (native-inputs
6062 `(("ghc-hspec" ,ghc-hspec)
6063 ("ghc-quickcheck" ,ghc-quickcheck)
6064 ("hspec-discover" ,hspec-discover)))
6065 (home-page "https://github.com/nfrisby/invariant-functors")
6066 (synopsis "Haskell98 invariant functors")
6067 (description "Haskell98 invariant functors (also known as exponential
6068 functors). For more information, see Edward Kmett's article
6069 @uref{http://comonad.com/reader/2008/rotten-bananas/, Rotten Bananas}.")
6070 (license license:bsd-2)))
6071
6072 (define-public ghc-io-streams
6073 (package
6074 (name "ghc-io-streams")
6075 (version "1.5.1.0")
6076 (source
6077 (origin
6078 (method url-fetch)
6079 (uri (string-append "https://hackage.haskell.org/package/"
6080 "io-streams/io-streams-" version ".tar.gz"))
6081 (sha256
6082 (base32
6083 "1c7byr943x41nxpc3bnz152fvfbmakafq2958wyf9qiyp2pz18la"))))
6084 (build-system haskell-build-system)
6085 (inputs
6086 `(("ghc-attoparsec" ,ghc-attoparsec)
6087 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
6088 ("ghc-network" ,ghc-network)
6089 ("ghc-primitive" ,ghc-primitive)
6090 ("ghc-vector" ,ghc-vector)
6091 ("ghc-zlib-bindings" ,ghc-zlib-bindings)))
6092 (native-inputs
6093 `(("ghc-hunit" ,ghc-hunit)
6094 ("ghc-quickcheck" ,ghc-quickcheck)
6095 ("ghc-test-framework" ,ghc-test-framework)
6096 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6097 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
6098 ("ghc-zlib" ,ghc-zlib)))
6099 (home-page "http://hackage.haskell.org/package/io-streams")
6100 (synopsis "Simple and composable stream I/O")
6101 (description "This library contains simple and easy-to-use
6102 primitives for I/O using streams.")
6103 (license license:bsd-3)))
6104
6105 (define-public ghc-io-streams-haproxy
6106 (package
6107 (name "ghc-io-streams-haproxy")
6108 (version "1.0.1.0")
6109 (source
6110 (origin
6111 (method url-fetch)
6112 (uri (string-append "https://hackage.haskell.org/package/"
6113 "io-streams-haproxy/io-streams-haproxy-"
6114 version ".tar.gz"))
6115 (sha256
6116 (base32
6117 "1dcn5hd4fiwyq7m01r6fi93vfvygca5s6mz87c78m0zyj29clkmp"))))
6118 (build-system haskell-build-system)
6119 (inputs
6120 `(("ghc-attoparsec" ,ghc-attoparsec)
6121 ("ghc-io-streams" ,ghc-io-streams)
6122 ("ghc-network" ,ghc-network)))
6123 (native-inputs
6124 `(("ghc-hunit" ,ghc-hunit)
6125 ("ghc-test-framework" ,ghc-test-framework)
6126 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
6127 (home-page "http://snapframework.com/")
6128 (synopsis "HAProxy protocol 1.5 support for io-streams")
6129 (description "HAProxy protocol version 1.5 support
6130 (see @uref{http://haproxy.1wt.eu/download/1.5/doc/proxy-protocol.txt})
6131 for applications using io-streams. The proxy protocol allows information
6132 about a networked peer (like remote address and port) to be propagated
6133 through a forwarding proxy that is configured to speak this protocol.")
6134 (license license:bsd-3)))
6135
6136 (define-public ghc-iproute
6137 (package
6138 (name "ghc-iproute")
6139 (version "1.7.7")
6140 (source
6141 (origin
6142 (method url-fetch)
6143 (uri (string-append
6144 "https://hackage.haskell.org/package/iproute/iproute-"
6145 version
6146 ".tar.gz"))
6147 (sha256
6148 (base32
6149 "0gab5930nvzrpvisx3x43ydnp2rd4fbmy9cq1zpgqy1adx5gx8z6"))))
6150 (build-system haskell-build-system)
6151 (arguments `(#:tests? #f)) ; FIXME: Tests cannot find System.ByteOrder,
6152 ; exported by ghc-byteorder. Doctest issue.
6153 (inputs
6154 `(("ghc-appar" ,ghc-appar)
6155 ("ghc-byteorder" ,ghc-byteorder)
6156 ("ghc-network" ,ghc-network)
6157 ("ghc-safe" ,ghc-safe)))
6158 (home-page "https://www.mew.org/~kazu/proj/iproute/")
6159 (synopsis "IP routing table")
6160 (description "IP Routing Table is a tree of IP ranges to search one of
6161 them on the longest match base. It is a kind of TRIE with one way branching
6162 removed. Both IPv4 and IPv6 are supported.")
6163 (license license:bsd-3)))
6164
6165 (define-public ghc-ipynb
6166 (package
6167 (name "ghc-ipynb")
6168 (version "0.1")
6169 (source
6170 (origin
6171 (method url-fetch)
6172 (uri (string-append "https://hackage.haskell.org/package/"
6173 "ipynb/ipynb-" version ".tar.gz"))
6174 (sha256
6175 (base32
6176 "0daadhzil4q573mqb0rpvjzm0vpkzgzqcimw480qpvlh6rhppwj5"))))
6177 (build-system haskell-build-system)
6178 (inputs
6179 `(("ghc-unordered-containers" ,ghc-unordered-containers)
6180 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
6181 ("ghc-aeson" ,ghc-aeson)
6182 ("ghc-semigroups" ,ghc-semigroups)))
6183 (native-inputs
6184 `(("ghc-tasty" ,ghc-tasty)
6185 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6186 ("ghc-aeson-diff" ,ghc-aeson-diff)
6187 ("ghc-microlens-aeson" ,ghc-microlens-aeson)
6188 ("ghc-microlens" ,ghc-microlens)
6189 ("ghc-vector" ,ghc-vector)))
6190 (home-page "https://hackage.haskell.org/package/ipynb")
6191 (synopsis "Data structure for working with Jupyter notebooks")
6192 (description "This library defines a data structure for representing
6193 Jupyter notebooks, along with @code{ToJSON} and @code{FromJSON}
6194 instances for conversion to and from JSON .ipynb files.")
6195 (license license:bsd-3)))
6196
6197 (define-public ghc-iwlib
6198 (package
6199 (name "ghc-iwlib")
6200 (version "0.1.0")
6201 (source
6202 (origin
6203 (method url-fetch)
6204 (uri (string-append "https://hackage.haskell.org/package/iwlib/iwlib-"
6205 version ".tar.gz"))
6206 (sha256
6207 (base32 "0khmfwql4vwj55idsxmhjhrbqzfir3g9wm5lmpvnf77mm95cfpdz"))))
6208 (build-system haskell-build-system)
6209 (inputs
6210 `(("wireless-tools" ,wireless-tools)))
6211 (home-page "https://github.com/jaor/iwlib")
6212 (synopsis "Haskell binding to the iw wireless networking library")
6213 (description
6214 "IWlib is a thin Haskell binding to the iw C library. It provides
6215 information about the current wireless network connections, and adapters on
6216 supported systems.")
6217 (license license:bsd-3)))
6218
6219 (define-public ghc-json
6220 (package
6221 (name "ghc-json")
6222 (version "0.9.3")
6223 (source
6224 (origin
6225 (method url-fetch)
6226 (uri (string-append "https://hackage.haskell.org/package/json/"
6227 "json-" version ".tar.gz"))
6228 (sha256
6229 (base32
6230 "1z8s3mfg76p2flqqd2wqsi96l5bg8k8w8m58zlv81pw3k7h1vbwb"))))
6231 (build-system haskell-build-system)
6232 (inputs
6233 `(("ghc-syb" ,ghc-syb)))
6234 (home-page "https://hackage.haskell.org/package/json")
6235 (synopsis "Serializes Haskell data to and from JSON")
6236 (description "This package provides a parser and pretty printer for
6237 converting between Haskell values and JSON.
6238 JSON (JavaScript Object Notation) is a lightweight data-interchange format.")
6239 (license license:bsd-3)))
6240
6241 (define-public ghc-juicypixels
6242 (package
6243 (name "ghc-juicypixels")
6244 (version "3.3.4")
6245 (source (origin
6246 (method url-fetch)
6247 (uri (string-append "https://hackage.haskell.org/package/"
6248 "JuicyPixels/JuicyPixels-"
6249 version ".tar.gz"))
6250 (sha256
6251 (base32
6252 "0qacrnz2qcykj3f6c4k2p8qd31pa2slpv3ykfblgizrfh3401q6x"))))
6253 (build-system haskell-build-system)
6254 (inputs
6255 `(("ghc-zlib" ,ghc-zlib)
6256 ("ghc-vector" ,ghc-vector)
6257 ("ghc-primitive" ,ghc-primitive)
6258 ("ghc-mmap" ,ghc-mmap)))
6259 (home-page "https://github.com/Twinside/Juicy.Pixels")
6260 (synopsis "Picture loading and serialization library")
6261 (description
6262 "This library can load and store images in PNG, Bitmap, JPEG, Radiance,
6263 TIFF and GIF formats.")
6264 (license license:bsd-3)))
6265
6266 (define-public ghc-kan-extensions
6267 (package
6268 (name "ghc-kan-extensions")
6269 (version "5.2")
6270 (source
6271 (origin
6272 (method url-fetch)
6273 (uri (string-append
6274 "https://hackage.haskell.org/package/kan-extensions/kan-extensions-"
6275 version
6276 ".tar.gz"))
6277 (sha256
6278 (base32
6279 "1lyvyiwwh962j2nnnsqzlvp5zq6z8p3spvhmji99cjvldxc7wwkb"))))
6280 (build-system haskell-build-system)
6281 (inputs
6282 `(("ghc-adjunctions" ,ghc-adjunctions)
6283 ("ghc-comonad" ,ghc-comonad)
6284 ("ghc-contravariant" ,ghc-contravariant)
6285 ("ghc-distributive" ,ghc-distributive)
6286 ("ghc-free" ,ghc-free)
6287 ("ghc-invariant" ,ghc-invariant)
6288 ("ghc-semigroupoids" ,ghc-semigroupoids)
6289 ("ghc-tagged" ,ghc-tagged)
6290 ("ghc-transformers-compat" ,ghc-transformers-compat)))
6291 (home-page "https://github.com/ekmett/kan-extensions/")
6292 (synopsis "Kan extensions library")
6293 (description "This library provides Kan extensions, Kan lifts, various
6294 forms of the Yoneda lemma, and (co)density (co)monads for Haskell.")
6295 (license license:bsd-3)))
6296
6297 (define-public ghc-language-c
6298 (package
6299 (name "ghc-language-c")
6300 (version "0.8.3")
6301 (source
6302 (origin
6303 (method url-fetch)
6304 (uri (string-append "https://hackage.haskell.org/package/"
6305 "language-c/language-c-" version ".tar.gz"))
6306 (sha256
6307 (base32
6308 "0bi02jdirkys8v7flf39vrpla2a74z1z0sdhy9lb9v7cmcc6rmpk"))))
6309 (build-system haskell-build-system)
6310 (inputs `(("ghc-syb" ,ghc-syb)))
6311 (native-inputs
6312 `(("ghc-happy" ,ghc-happy)
6313 ("ghc-alex" ,ghc-alex)))
6314 (home-page "https://visq.github.io/language-c/")
6315 (synopsis "Analysis and generation of C code")
6316 (description
6317 "Language C is a Haskell library for the analysis and generation of C code.
6318 It features a complete, well-tested parser and pretty printer for all of C99
6319 and a large set of GNU extensions.")
6320 (license license:bsd-3)))
6321
6322 (define-public ghc-language-glsl
6323 (package
6324 (name "ghc-language-glsl")
6325 (version "0.3.0")
6326 (source
6327 (origin
6328 (method url-fetch)
6329 (uri (string-append "https://hackage.haskell.org/package/"
6330 "language-glsl/language-glsl-" version ".tar.gz"))
6331 (sha256
6332 (base32
6333 "0hdg67ainlqpjjghg3qin6fg4p783m0zmjqh4rd5gyizwiplxkp1"))))
6334 (build-system haskell-build-system)
6335 (inputs `(("ghc-prettyclass" ,ghc-prettyclass)))
6336 (arguments
6337 `(#:tests? #f
6338 #:cabal-revision
6339 ("1" "10ac9pk4jy75k03j1ns4b5136l4kw8krr2d2nw2fdmpm5jzyghc5")))
6340 (home-page "http://hackage.haskell.org/package/language-glsl")
6341 (synopsis "GLSL abstract syntax tree, parser, and pretty-printer")
6342 (description "This package is a Haskell library for the
6343 representation, parsing, and pretty-printing of GLSL 1.50 code.")
6344 (license license:bsd-3)))
6345
6346 (define-public ghc-language-haskell-extract
6347 (package
6348 (name "ghc-language-haskell-extract")
6349 (version "0.2.4")
6350 (source
6351 (origin
6352 (method url-fetch)
6353 (uri (string-append "https://hackage.haskell.org/package/"
6354 "language-haskell-extract-" version "/"
6355 "language-haskell-extract-" version ".tar.gz"))
6356 (sha256
6357 (base32
6358 "1nxcs7g8a1sp91bzpy4cj6s31k5pvc3gvig04cbrggv5cvjidnhl"))))
6359 (build-system haskell-build-system)
6360 (inputs
6361 `(("ghc-regex-posix" ,ghc-regex-posix)))
6362 (home-page "https://github.com/finnsson/template-helper")
6363 (synopsis "Haskell module to automatically extract functions from
6364 the local code")
6365 (description "This package contains helper functions on top of
6366 Template Haskell.
6367
6368 For example, @code{functionExtractor} extracts all functions after a
6369 regexp-pattern, which can be useful if you wish to extract all functions
6370 beginning with @code{test} (for a test framework) or all functions beginning
6371 with @code{wc} (for a web service).")
6372 (license license:bsd-3)))
6373
6374 (define-public ghc-lens
6375 (package
6376 (name "ghc-lens")
6377 (version "4.17.1")
6378 (source
6379 (origin
6380 (method url-fetch)
6381 (uri (string-append "https://hackage.haskell.org/package/lens/lens-"
6382 version ".tar.gz"))
6383 (sha256
6384 (base32
6385 "1gpkc53l2cggnfrgg5k4ih82rycjbdvpj9pnbi5cq8ms0dbvs4a7"))))
6386 (build-system haskell-build-system)
6387 (inputs
6388 `(("ghc-base-orphans" ,ghc-base-orphans)
6389 ("ghc-bifunctors" ,ghc-bifunctors)
6390 ("ghc-distributive" ,ghc-distributive)
6391 ("ghc-exceptions" ,ghc-exceptions)
6392 ("ghc-free" ,ghc-free)
6393 ("ghc-kan-extensions" ,ghc-kan-extensions)
6394 ("ghc-parallel" ,ghc-parallel)
6395 ("ghc-reflection" ,ghc-reflection)
6396 ("ghc-semigroupoids" ,ghc-semigroupoids)
6397 ("ghc-vector" ,ghc-vector)
6398 ("ghc-call-stack" ,ghc-call-stack)
6399 ("ghc-comonad" ,ghc-comonad)
6400 ("ghc-contravariant" ,ghc-contravariant)
6401 ("ghc-hashable" ,ghc-hashable)
6402 ("ghc-profunctors" ,ghc-profunctors)
6403 ("ghc-semigroups" ,ghc-semigroups)
6404 ("ghc-tagged" ,ghc-tagged)
6405 ("ghc-transformers-compat" ,ghc-transformers-compat)
6406 ("ghc-unordered-containers" ,ghc-unordered-containers)
6407 ("ghc-void" ,ghc-void)
6408 ("ghc-generic-deriving" ,ghc-generic-deriving)
6409 ("ghc-nats" ,ghc-nats)
6410 ("ghc-simple-reflect" ,ghc-simple-reflect)
6411 ("hlint" ,hlint)))
6412 (native-inputs
6413 `(("cabal-doctest" ,cabal-doctest)
6414 ("ghc-doctest" ,ghc-doctest)
6415 ("ghc-hunit" ,ghc-hunit)
6416 ("ghc-test-framework" ,ghc-test-framework)
6417 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6418 ("ghc-test-framework-th" ,ghc-test-framework-th)
6419 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
6420 ("ghc-quickcheck" ,ghc-quickcheck)))
6421 (home-page "https://github.com/ekmett/lens/")
6422 (synopsis "Lenses, Folds and Traversals")
6423 (description "This library provides @code{Control.Lens}. The combinators
6424 in @code{Control.Lens} provide a highly generic toolbox for composing families
6425 of getters, folds, isomorphisms, traversals, setters and lenses and their
6426 indexed variants.")
6427 (license license:bsd-3)))
6428
6429 (define-public ghc-libffi
6430 (package
6431 (name "ghc-libffi")
6432 (version "0.1")
6433 (source
6434 (origin
6435 (method url-fetch)
6436 (uri (string-append "https://hackage.haskell.org/package/"
6437 "libffi/libffi-" version ".tar.gz"))
6438 (sha256
6439 (base32
6440 "0g7jnhng3j7z5517aaqga0144aamibsbpgm3yynwyfzkq1kp0f28"))))
6441 (build-system haskell-build-system)
6442 (native-inputs `(("pkg-config" ,pkg-config)))
6443 (inputs `(("libffi" ,libffi)))
6444 (home-page "http://hackage.haskell.org/package/libffi")
6445 (synopsis "Haskell binding to libffi")
6446 (description
6447 "A binding to libffi, allowing C functions of types only known at runtime
6448 to be called from Haskell.")
6449 (license license:bsd-3)))
6450
6451 (define-public ghc-libmpd
6452 (package
6453 (name "ghc-libmpd")
6454 (version "0.9.0.10")
6455 (source
6456 (origin
6457 (method url-fetch)
6458 (uri (string-append
6459 "mirror://hackage/package/libmpd/libmpd-"
6460 version
6461 ".tar.gz"))
6462 (sha256
6463 (base32
6464 "0vy287mn1vk8kvij5i3hc0p02l886cpsq5dds7kl6g520si3abkb"))))
6465 (build-system haskell-build-system)
6466 ;; Tests fail on i686.
6467 ;; See https://github.com/vimus/libmpd-haskell/issues/112
6468 (arguments `(#:tests? #f))
6469 (inputs
6470 `(("ghc-attoparsec" ,ghc-attoparsec)
6471 ("ghc-old-locale" ,ghc-old-locale)
6472 ("ghc-data-default-class" ,ghc-data-default-class)
6473 ("ghc-network" ,ghc-network)
6474 ("ghc-safe-exceptions" ,ghc-safe-exceptions)
6475 ("ghc-utf8-string" ,ghc-utf8-string)))
6476 (native-inputs
6477 `(("ghc-quickcheck" ,ghc-quickcheck)
6478 ("ghc-hspec" ,ghc-hspec)
6479 ("hspec-discover" ,hspec-discover)))
6480 (home-page "https://github.com/vimus/libmpd-haskell")
6481 (synopsis "Haskell client library for the Music Player Daemon")
6482 (description "This package provides a pure Haskell client library for the
6483 Music Player Daemon.")
6484 (license license:expat)))
6485
6486 (define-public ghc-lib-parser
6487 (package
6488 (name "ghc-lib-parser")
6489 (version "8.8.0.20190424")
6490 (source
6491 (origin
6492 (method url-fetch)
6493 (uri (string-append "https://hackage.haskell.org/package/"
6494 "ghc-lib-parser/ghc-lib-parser-" version ".tar.gz"))
6495 (sha256
6496 (base32
6497 "12gsh994pr13bsybwlravmi21la66dyw74pk74yfw2pnz682wv10"))))
6498 (build-system haskell-build-system)
6499 (native-inputs
6500 `(("ghc-alex" ,ghc-alex)
6501 ("ghc-happy" ,ghc-happy)))
6502 (home-page "https://github.com/digital-asset/ghc-lib")
6503 (synopsis "The GHC API, decoupled from GHC versions")
6504 (description "This library implements the GHC API. It is like the
6505 compiler-provided @code{ghc} package, but it can be loaded on many
6506 compiler versions.")
6507 (license license:bsd-3)))
6508
6509 (define-public ghc-libxml
6510 (package
6511 (name "ghc-libxml")
6512 (version "0.1.1")
6513 (source
6514 (origin
6515 (method url-fetch)
6516 (uri (string-append "https://hackage.haskell.org/package/libxml/"
6517 "libxml-" version ".tar.gz"))
6518 (sha256
6519 (base32
6520 "01zvk86kg726lf2vnlr7dxiz7g3xwi5a4ak9gcfbwyhynkzjmsfi"))))
6521 (build-system haskell-build-system)
6522 (inputs
6523 `(("libxml2" ,libxml2)))
6524 (arguments
6525 `(#:configure-flags
6526 `(,(string-append "--extra-include-dirs="
6527 (assoc-ref %build-inputs "libxml2")
6528 "/include/libxml2"))))
6529 (home-page "https://hackage.haskell.org/package/libxml")
6530 (synopsis "Haskell bindings to libxml2")
6531 (description
6532 "This library provides minimal Haskell binding to libxml2.")
6533 (license license:bsd-3)))
6534
6535 (define-public ghc-libyaml
6536 (package
6537 (name "ghc-libyaml")
6538 (version "0.1.1.0")
6539 (source
6540 (origin
6541 (method url-fetch)
6542 (uri (string-append "https://hackage.haskell.org/package/"
6543 "libyaml/libyaml-" version ".tar.gz"))
6544 (sha256
6545 (base32
6546 "0psznm9c3yjsyj9aj8m2svvv9m2v0x90hnwarcx5sbswyi3l00va"))
6547 (modules '((guix build utils)))
6548 (snippet
6549 ;; Delete bundled LibYAML.
6550 '(begin
6551 (delete-file-recursively "libyaml_src")
6552 #t))))
6553 (build-system haskell-build-system)
6554 (arguments
6555 `(#:configure-flags `("--flags=system-libyaml")))
6556 (inputs
6557 `(("ghc-conduit" ,ghc-conduit)
6558 ("ghc-resourcet" ,ghc-resourcet)
6559 ("libyaml" ,libyaml-2.1)))
6560 (home-page "https://github.com/snoyberg/yaml#readme")
6561 (synopsis "Low-level, streaming YAML interface.")
6562 (description "This package provides a Haskell wrapper over the
6563 LibYAML C library.")
6564 (license license:bsd-3)))
6565
6566 (define-public ghc-lifted-async
6567 (package
6568 (name "ghc-lifted-async")
6569 (version "0.10.0.4")
6570 (source
6571 (origin
6572 (method url-fetch)
6573 (uri (string-append
6574 "https://hackage.haskell.org/package/lifted-async/lifted-async-"
6575 version ".tar.gz"))
6576 (sha256
6577 (base32
6578 "0cwl1d0wjpdk0v1l1qxiqiksmak950c8gx169c1q77cg0z18ijf9"))))
6579 (build-system haskell-build-system)
6580 (inputs
6581 `(("ghc-async" ,ghc-async)
6582 ("ghc-lifted-base" ,ghc-lifted-base)
6583 ("ghc-transformers-base" ,ghc-transformers-base)
6584 ("ghc-monad-control" ,ghc-monad-control)
6585 ("ghc-constraints" ,ghc-constraints)
6586 ("ghc-hunit" ,ghc-hunit)
6587 ("ghc-tasty" ,ghc-tasty)
6588 ("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
6589 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6590 ("ghc-tasty-th" ,ghc-tasty-th)))
6591 (home-page "https://github.com/maoe/lifted-async")
6592 (synopsis "Run lifted IO operations asynchronously and wait for their results")
6593 (description
6594 "This package provides IO operations from @code{async} package lifted to any
6595 instance of @code{MonadBase} or @code{MonadBaseControl}.")
6596 (license license:bsd-3)))
6597
6598 (define-public ghc-lifted-base
6599 (package
6600 (name "ghc-lifted-base")
6601 (version "0.2.3.12")
6602 (source
6603 (origin
6604 (method url-fetch)
6605 (uri (string-append
6606 "https://hackage.haskell.org/package/lifted-base/lifted-base-"
6607 version
6608 ".tar.gz"))
6609 (sha256
6610 (base32
6611 "1i8p8d3rkdh21bhgjjh32vd7qqjr7jq7p59qds0aw2kmargsjd61"))))
6612 (build-system haskell-build-system)
6613 (arguments `(#:tests? #f)) ; FIXME: Missing testing libraries.
6614 (inputs
6615 `(("ghc-transformers-base" ,ghc-transformers-base)
6616 ("ghc-monad-control" ,ghc-monad-control)
6617 ("ghc-transformers-compat" ,ghc-transformers-compat)
6618 ("ghc-hunit" ,ghc-hunit)))
6619 (home-page "https://github.com/basvandijk/lifted-base")
6620 (synopsis "Lifted IO operations from the base library")
6621 (description "Lifted-base exports IO operations from the @code{base}
6622 library lifted to any instance of @code{MonadBase} or @code{MonadBaseControl}.
6623 Note that not all modules from @code{base} are converted yet. The package
6624 includes a copy of the @code{monad-peel} test suite written by Anders
6625 Kaseorg.")
6626 (license license:bsd-3)))
6627
6628 (define-public ghc-linear
6629 (package
6630 (name "ghc-linear")
6631 (version "1.20.9")
6632 (source
6633 (origin
6634 (method url-fetch)
6635 (uri (string-append "https://hackage.haskell.org/package/linear/"
6636 "linear-" version ".tar.gz"))
6637 (sha256
6638 (base32
6639 "0h7yqigq593n7wsl7nz6a5f137wznm7y679wsii0ph0zsc4v5af5"))))
6640 (build-system haskell-build-system)
6641 (inputs
6642 `(("ghc-adjunctions" ,ghc-adjunctions)
6643 ("ghc-base-orphans" ,ghc-base-orphans)
6644 ("ghc-bytes" ,ghc-bytes)
6645 ("ghc-cereal" ,ghc-cereal)
6646 ("ghc-distributive" ,ghc-distributive)
6647 ("ghc-hashable" ,ghc-hashable)
6648 ("ghc-lens" ,ghc-lens)
6649 ("ghc-reflection" ,ghc-reflection)
6650 ("ghc-semigroups" ,ghc-semigroups)
6651 ("ghc-semigroupoids" ,ghc-semigroupoids)
6652 ("ghc-tagged" ,ghc-tagged)
6653 ("ghc-transformers-compat" ,ghc-transformers-compat)
6654 ("ghc-unordered-containers" ,ghc-unordered-containers)
6655 ("ghc-vector" ,ghc-vector)
6656 ("ghc-void" ,ghc-void)))
6657 (native-inputs
6658 `(("cabal-doctest" ,cabal-doctest)
6659 ("ghc-doctest" ,ghc-doctest)
6660 ("ghc-simple-reflect" ,ghc-simple-reflect)
6661 ("ghc-test-framework" ,ghc-test-framework)
6662 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6663 ("ghc-hunit" ,ghc-hunit)))
6664 (home-page "http://github.com/ekmett/linear/")
6665 (synopsis "Linear algebra library for Haskell")
6666 (description
6667 "This package provides types and combinators for linear algebra on free
6668 vector spaces.")
6669 (license license:bsd-3)))
6670
6671 (define-public ghc-listlike
6672 (package
6673 (name "ghc-listlike")
6674 (version "4.6.2")
6675 (source
6676 (origin
6677 (method url-fetch)
6678 (uri
6679 (string-append
6680 "https://hackage.haskell.org/package/ListLike/ListLike-"
6681 version ".tar.gz"))
6682 (sha256
6683 (base32
6684 "0m65x8yaq7q50gznln8mga2wrc8cvjx6gw9rim8s7xqcrx6y5zjh"))))
6685 (build-system haskell-build-system)
6686 (inputs
6687 `(("ghc-vector" ,ghc-vector)
6688 ("ghc-dlist" ,ghc-dlist)
6689 ("ghc-fmlist" ,ghc-fmlist)
6690 ("ghc-hunit" ,ghc-hunit)
6691 ("ghc-quickcheck" ,ghc-quickcheck)
6692 ("ghc-random" ,ghc-random)
6693 ("ghc-utf8-string" ,ghc-utf8-string)))
6694 (home-page "https://github.com/JohnLato/listlike")
6695 (synopsis "Generic support for list-like structures")
6696 (description "The ListLike module provides a common interface to the
6697 various Haskell types that are list-like. Predefined interfaces include
6698 standard Haskell lists, Arrays, ByteStrings, and lazy ByteStrings.
6699 Custom types can easily be made ListLike instances as well.
6700
6701 ListLike also provides for String-like types, such as String and
6702 ByteString, for types that support input and output, and for types that
6703 can handle infinite lists.")
6704 (license license:bsd-3)))
6705
6706 (define-public ghc-logging-facade
6707 (package
6708 (name "ghc-logging-facade")
6709 (version "0.3.0")
6710 (source (origin
6711 (method url-fetch)
6712 (uri (string-append "https://hackage.haskell.org/package/"
6713 "logging-facade/logging-facade-"
6714 version ".tar.gz"))
6715 (sha256
6716 (base32
6717 "0d0lwxxgd16is9aw6v3ps4r9prv3dj8xscmm45fvzq3nicjiawcf"))))
6718 (build-system haskell-build-system)
6719 (native-inputs
6720 `(("ghc-hspec" ,ghc-hspec)
6721 ("hspec-discover" ,hspec-discover)))
6722 (home-page "https://hackage.haskell.org/package/logging-facade")
6723 (synopsis "Simple logging abstraction that allows multiple back-ends")
6724 (description
6725 "This package provides a simple logging abstraction that allows multiple
6726 back-ends.")
6727 (license license:expat)))
6728
6729 (define-public ghc-logict
6730 (package
6731 (name "ghc-logict")
6732 (version "0.7.0.2")
6733 (source
6734 (origin
6735 (method url-fetch)
6736 (uri (string-append
6737 "https://hackage.haskell.org/package/logict/logict-"
6738 version
6739 ".tar.gz"))
6740 (sha256
6741 (base32
6742 "1xfgdsxg0lp8m0a2cb83rcxrnnc37asfikay2kydi933anh9ihfc"))))
6743 (build-system haskell-build-system)
6744 (native-inputs
6745 `(("ghc-tasty" ,ghc-tasty)
6746 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
6747 (home-page "http://code.haskell.org/~dolio/")
6748 (synopsis "Backtracking logic-programming monad")
6749 (description "This library provides a continuation-based, backtracking,
6750 logic programming monad. An adaptation of the two-continuation implementation
6751 found in the paper \"Backtracking, Interleaving, and Terminating Monad
6752 Transformers\" available @uref{http://okmij.org/ftp/papers/LogicT.pdf,
6753 online}.")
6754 (license license:bsd-3)))
6755
6756 (define-public ghc-lzma
6757 (package
6758 (name "ghc-lzma")
6759 (version "0.0.0.3")
6760 (source
6761 (origin
6762 (method url-fetch)
6763 (uri (string-append "https://hackage.haskell.org/package/lzma/"
6764 "lzma-" version ".tar.gz"))
6765 (sha256
6766 (base32
6767 "0i416gqi8j55nd1pqbkxvf3f6hn6fjys6gq98lkkxphva71j30xg"))))
6768 (build-system haskell-build-system)
6769 (arguments
6770 '(#:tests? #f ; requires older versions of QuickCheck and tasty.
6771 #:cabal-revision
6772 ("3" "1sify6gnsalyp6dakfzi0mdy5jcz2kcp9jsdsgkmxd40nfzgd44m")))
6773 (native-inputs
6774 `(("ghc-hunit" ,ghc-hunit)
6775 ("ghc-quickcheck" ,ghc-quickcheck)
6776 ("ghc-tasty" ,ghc-tasty)
6777 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6778 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
6779 (home-page "https://github.com/hvr/lzma")
6780 (synopsis "LZMA/XZ compression and decompression")
6781 (description
6782 "This package provides a pure interface for compressing and
6783 decompressing LZMA streams of data represented as lazy @code{ByteString}s. A
6784 monadic incremental interface is provided as well.")
6785 (license license:bsd-3)))
6786
6787 (define-public ghc-lzma-conduit
6788 (package
6789 (name "ghc-lzma-conduit")
6790 (version "1.2.1")
6791 (source
6792 (origin
6793 (method url-fetch)
6794 (uri (string-append "https://hackage.haskell.org/package/lzma-conduit/"
6795 "lzma-conduit-" version ".tar.gz"))
6796 (sha256
6797 (base32
6798 "0hm72da7xk9l3zxjh274yg444vf405djxqbkf3q3p2qhicmxlmg9"))))
6799 (build-system haskell-build-system)
6800 (inputs
6801 `(("ghc-conduit" ,ghc-conduit)
6802 ("ghc-lzma" ,ghc-lzma)
6803 ("ghc-resourcet" ,ghc-resourcet)))
6804 (native-inputs
6805 `(("ghc-base-compat" ,ghc-base-compat)
6806 ("ghc-test-framework" ,ghc-test-framework)
6807 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6808 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
6809 ("ghc-hunit" ,ghc-hunit)
6810 ("ghc-quickcheck" ,ghc-quickcheck)))
6811 (home-page "https://github.com/alphaHeavy/lzma-conduit")
6812 (synopsis "Conduit interface for lzma/xz compression")
6813 (description
6814 "This package provides a @code{Conduit} interface for the LZMA
6815 compression algorithm used in the @code{.xz} file format.")
6816 (license license:bsd-3)))
6817
6818 (define-public ghc-magic
6819 (package
6820 (name "ghc-magic")
6821 (version "1.1")
6822 (source
6823 (origin
6824 (method url-fetch)
6825 (uri (string-append
6826 "https://hackage.haskell.org/package/magic/magic-"
6827 version ".tar.gz"))
6828 (sha256
6829 (base32
6830 "10p0gjjjwr1dda7hahwrwn5njbfhl67arq3v3nf1jr3vymlkn75j"))))
6831 (build-system haskell-build-system)
6832 (home-page "http://hackage.haskell.org/package/magic")
6833 (synopsis "Interface to C file/magic library")
6834 (description
6835 "This package provides a full-featured binding to the C libmagic library.
6836 With it, you can determine the type of a file by examining its contents rather
6837 than its name.")
6838 (license license:bsd-3)))
6839
6840 (define-public ghc-markdown-unlit
6841 (package
6842 (name "ghc-markdown-unlit")
6843 (version "0.5.0")
6844 (source (origin
6845 (method url-fetch)
6846 (uri (string-append
6847 "mirror://hackage/package/markdown-unlit/"
6848 "markdown-unlit-" version ".tar.gz"))
6849 (sha256
6850 (base32
6851 "1gy79vr85vcp13rdjh0hz7zv6daqqffww4j0cqn2lpjjh9xhsbg7"))))
6852 (build-system haskell-build-system)
6853 (inputs
6854 `(("ghc-base-compat" ,ghc-base-compat)
6855 ("ghc-hspec" ,ghc-hspec)
6856 ("ghc-quickcheck" ,ghc-quickcheck)
6857 ("ghc-silently" ,ghc-silently)
6858 ("ghc-stringbuilder" ,ghc-stringbuilder)
6859 ("ghc-temporary" ,ghc-temporary)
6860 ("hspec-discover" ,hspec-discover)))
6861 (home-page "https://github.com/sol/markdown-unlit#readme")
6862 (synopsis "Literate Haskell support for Markdown")
6863 (description "This package allows you to have a README.md that at the
6864 same time is a literate Haskell program.")
6865 (license license:expat)))
6866
6867 (define-public ghc-math-functions
6868 (package
6869 (name "ghc-math-functions")
6870 (version "0.3.3.0")
6871 (source
6872 (origin
6873 (method url-fetch)
6874 (uri (string-append "https://hackage.haskell.org/package/"
6875 "math-functions-" version "/"
6876 "math-functions-" version ".tar.gz"))
6877 (sha256
6878 (base32
6879 "1s5nbs40sc3r4z08n0j8bw40cy0zkp03fjjn3p27zkd4fvm9kib3"))))
6880 (build-system haskell-build-system)
6881 (arguments `(#:tests? #f)) ; FIXME: 1 test fails.
6882 (inputs
6883 `(("ghc-data-default-class" ,ghc-data-default-class)
6884 ("ghc-vector" ,ghc-vector)
6885 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)))
6886 (native-inputs
6887 `(("ghc-hunit" ,ghc-hunit)
6888 ("ghc-quickcheck" ,ghc-quickcheck)
6889 ("ghc-erf" ,ghc-erf)
6890 ("ghc-test-framework" ,ghc-test-framework)
6891 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6892 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
6893 (home-page "https://github.com/bos/math-functions")
6894 (synopsis "Special functions and Chebyshev polynomials for Haskell")
6895 (description "This Haskell library provides implementations of
6896 special mathematical functions and Chebyshev polynomials. These
6897 functions are often useful in statistical and numerical computing.")
6898 (license license:bsd-3)))
6899
6900 (define-public ghc-megaparsec
6901 (package
6902 (name "ghc-megaparsec")
6903 (version "7.0.5")
6904 (source
6905 (origin
6906 (method url-fetch)
6907 (uri (string-append "https://hackage.haskell.org/package/"
6908 "megaparsec/megaparsec-"
6909 version ".tar.gz"))
6910 (sha256
6911 (base32
6912 "0bqx1icbmk8s7wmbcdzsgnlh607c7kzg8l80cp02dxr5valjxp7j"))))
6913 (build-system haskell-build-system)
6914 (inputs
6915 `(("ghc-case-insensitive" ,ghc-case-insensitive)
6916 ("ghc-parser-combinators" ,ghc-parser-combinators)
6917 ("ghc-scientific" ,ghc-scientific)))
6918 (native-inputs
6919 `(("ghc-quickcheck" ,ghc-quickcheck)
6920 ("ghc-hspec" ,ghc-hspec)
6921 ("ghc-hspec-expectations" ,ghc-hspec-expectations)
6922 ("hspec-discover" ,hspec-discover)))
6923 (home-page "https://github.com/mrkkrp/megaparsec")
6924 (synopsis "Monadic parser combinators")
6925 (description
6926 "This is an industrial-strength monadic parser combinator library.
6927 Megaparsec is a feature-rich package that strikes a nice balance between
6928 speed, flexibility, and quality of parse errors.")
6929 (license license:bsd-2)))
6930
6931 (define-public ghc-memory
6932 (package
6933 (name "ghc-memory")
6934 (version "0.14.18")
6935 (source (origin
6936 (method url-fetch)
6937 (uri (string-append "https://hackage.haskell.org/package/"
6938 "memory/memory-" version ".tar.gz"))
6939 (sha256
6940 (base32
6941 "01rmq3vagxzjmm96qnfxk4f0516cn12bp5m8inn8h5r918bqsigm"))))
6942 (build-system haskell-build-system)
6943 (inputs
6944 `(("ghc-basement" ,ghc-basement)
6945 ("ghc-foundation" ,ghc-foundation)))
6946 (native-inputs
6947 `(("ghc-tasty" ,ghc-tasty)
6948 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
6949 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
6950 (home-page "https://github.com/vincenthz/hs-memory")
6951 (synopsis "Memory abstractions for Haskell")
6952 (description
6953 "This package provides memory abstractions, such as chunk of memory,
6954 polymorphic byte array management and manipulation functions. It contains a
6955 polymorphic byte array abstraction and functions similar to strict ByteString,
6956 different type of byte array abstraction, raw memory IO operations (memory
6957 set, memory copy, ..) and more")
6958 (license license:bsd-3)))
6959
6960 (define-public ghc-memotrie
6961 (package
6962 (name "ghc-memotrie")
6963 (version "0.6.9")
6964 (source
6965 (origin
6966 (method url-fetch)
6967 (uri (string-append
6968 "https://hackage.haskell.org/package/MemoTrie/MemoTrie-"
6969 version
6970 ".tar.gz"))
6971 (sha256
6972 (base32
6973 "157p0pi6rrq74a35mq6zkkycv4ah7xhkbrcmnkb9xf7pznw4aq0x"))))
6974 (build-system haskell-build-system)
6975 (inputs
6976 `(("ghc-newtype-generics" ,ghc-newtype-generics)))
6977 (home-page "https://github.com/conal/MemoTrie")
6978 (synopsis "Trie-based memo functions")
6979 (description "This package provides a functional library for creating
6980 efficient memo functions using tries.")
6981 (license license:bsd-3)))
6982
6983 (define-public ghc-microlens
6984 (package
6985 (name "ghc-microlens")
6986 (version "0.4.10")
6987 (source
6988 (origin
6989 (method url-fetch)
6990 (uri (string-append "https://hackage.haskell.org/package/"
6991 "microlens-" version "/"
6992 "microlens-" version ".tar.gz"))
6993 (sha256
6994 (base32
6995 "1v277yyy4p9q57xr2lfp6qs24agglfczmcabrapxrzci3jfshmcw"))))
6996 (build-system haskell-build-system)
6997 (home-page
6998 "https://github.com/aelve/microlens")
6999 (synopsis "Provides a tiny lens Haskell library with no dependencies")
7000 (description "This Haskell package provides a lens library, just like
7001 @code{ghc-lens}, but smaller. It provides essential lenses and
7002 traversals (like @code{_1} and @code{_Just}), as well as ones which are simply
7003 nice to have (like @code{each}, @code{at}, and @code{ix}), and some
7004 combinators (like @code{failing} and @code{singular}), but everything else is
7005 stripped. As the result, this package has no dependencies.")
7006 (license license:bsd-3)))
7007
7008 (define-public ghc-microlens-aeson
7009 (package
7010 (name "ghc-microlens-aeson")
7011 (version "2.3.0.4")
7012 (source
7013 (origin
7014 (method url-fetch)
7015 (uri (string-append "https://hackage.haskell.org/package/"
7016 "microlens-aeson/microlens-aeson-"
7017 version ".tar.gz"))
7018 (patches (search-patches "ghc-microlens-aeson-fix-tests.patch"))
7019 (sha256
7020 (base32
7021 "0w630kk5bnily1qh41081gqgbwmslrh5ad21899gwnb2r3jripyw"))))
7022 (build-system haskell-build-system)
7023 (inputs
7024 `(("ghc-aeson" ,ghc-aeson)
7025 ("ghc-attoparsec" ,ghc-attoparsec)
7026 ("ghc-hashable" ,ghc-hashable)
7027 ("ghc-microlens" ,ghc-microlens)
7028 ("ghc-scientific" ,ghc-scientific)
7029 ("ghc-unordered-containers" ,ghc-unordered-containers)
7030 ("ghc-vector" ,ghc-vector)))
7031 (native-inputs
7032 `(("ghc-tasty" ,ghc-tasty)
7033 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
7034 (home-page "https://github.com/fosskers/microlens-aeson")
7035 (synopsis "Law-abiding lenses for Aeson, using microlens")
7036 (description "This library provides law-abiding lenses for Aeson, using
7037 microlens.")
7038 (license license:expat)))
7039
7040 (define-public ghc-microlens-ghc
7041 (package
7042 (name "ghc-microlens-ghc")
7043 (version "0.4.10")
7044 (source
7045 (origin
7046 (method url-fetch)
7047 (uri (string-append
7048 "https://hackage.haskell.org/package/microlens-ghc/microlens-ghc-"
7049 version
7050 ".tar.gz"))
7051 (sha256
7052 (base32
7053 "102dbrdsdadxbbhvx8avv1wbk84767a7lkb8ckp3zxk9g7qlly33"))))
7054 (build-system haskell-build-system)
7055 (inputs `(("ghc-microlens" ,ghc-microlens)))
7056 (home-page "https://github.com/monadfix/microlens")
7057 (synopsis "Use @code{microlens} with GHC libraries like @code{array}")
7058 (description "This library provides everything that @code{microlens}
7059 provides plus instances to make @code{each}, @code{at}, and @code{ix}
7060 usable with arrays, @code{ByteString}, and containers. This package is
7061 a part of the @uref{http://hackage.haskell.org/package/microlens,
7062 microlens} family; see the readme
7063 @uref{https://github.com/aelve/microlens#readme, on Github}.")
7064 (license license:bsd-3)))
7065
7066 (define-public ghc-microlens-mtl
7067 (package
7068 (name "ghc-microlens-mtl")
7069 (version "0.1.11.1")
7070 (source
7071 (origin
7072 (method url-fetch)
7073 (uri (string-append
7074 "https://hackage.haskell.org/package/microlens-mtl/microlens-mtl-"
7075 version
7076 ".tar.gz"))
7077 (sha256
7078 (base32
7079 "0l6z1gkzwcpv89bxf5vgfrjb6gq2pj7sjjc53nvi5b9alx34zryk"))))
7080 (build-system haskell-build-system)
7081 (inputs
7082 `(("ghc-microlens" ,ghc-microlens)
7083 ("ghc-transformers-compat" ,ghc-transformers-compat)))
7084 (home-page "https://github.com/monadfix/microlens")
7085 (synopsis
7086 "@code{microlens} support for Reader/Writer/State from mtl")
7087 (description
7088 "This package contains functions (like @code{view} or @code{+=}) which
7089 work on @code{MonadReader}, @code{MonadWriter}, and @code{MonadState} from the
7090 mtl package. This package is a part of the
7091 @uref{http://hackage.haskell.org/package/microlens, microlens} family; see the
7092 readme @uref{https://github.com/aelve/microlens#readme, on Github}.")
7093 (license license:bsd-3)))
7094
7095 (define-public ghc-microlens-platform
7096 (package
7097 (name "ghc-microlens-platform")
7098 (version "0.3.11")
7099 (source
7100 (origin
7101 (method url-fetch)
7102 (uri (string-append
7103 "https://hackage.haskell.org/package/"
7104 "microlens-platform/microlens-platform-" version ".tar.gz"))
7105 (sha256
7106 (base32
7107 "18950lxgmsg5ksvyyi3zs1smjmb1qf1q73a3p3g44bh21miz0xwb"))))
7108 (build-system haskell-build-system)
7109 (inputs
7110 `(("ghc-hashable" ,ghc-hashable)
7111 ("ghc-microlens" ,ghc-microlens)
7112 ("ghc-microlens-ghc" ,ghc-microlens-ghc)
7113 ("ghc-microlens-mtl" ,ghc-microlens-mtl)
7114 ("ghc-microlens-th" ,ghc-microlens-th)
7115 ("ghc-unordered-containers" ,ghc-unordered-containers)
7116 ("ghc-vector" ,ghc-vector)))
7117 (home-page "https://github.com/monadfix/microlens")
7118 (synopsis "Feature-complete microlens")
7119 (description
7120 "This package exports a module which is the recommended starting point
7121 for using @uref{http://hackage.haskell.org/package/microlens, microlens} if
7122 you aren't trying to keep your dependencies minimal. By importing
7123 @code{Lens.Micro.Platform} you get all functions and instances from
7124 @uref{http://hackage.haskell.org/package/microlens, microlens},
7125 @uref{http://hackage.haskell.org/package/microlens-th, microlens-th},
7126 @uref{http://hackage.haskell.org/package/microlens-mtl, microlens-mtl},
7127 @uref{http://hackage.haskell.org/package/microlens-ghc, microlens-ghc}, as
7128 well as instances for @code{Vector}, @code{Text}, and @code{HashMap}. The
7129 minor and major versions of @code{microlens-platform} are incremented whenever
7130 the minor and major versions of any other @code{microlens} package are
7131 incremented, so you can depend on the exact version of
7132 @code{microlens-platform} without specifying the version of @code{microlens}
7133 you need. This package is a part of the
7134 @uref{http://hackage.haskell.org/package/microlens, microlens} family; see the
7135 readme @uref{https://github.com/aelve/microlens#readme, on Github}.")
7136 (license license:bsd-3)))
7137
7138 (define-public ghc-microlens-th
7139 (package
7140 (name "ghc-microlens-th")
7141 (version "0.4.2.3")
7142 (source
7143 (origin
7144 (method url-fetch)
7145 (uri (string-append "https://hackage.haskell.org/package/"
7146 "microlens-th-" version "/"
7147 "microlens-th-" version ".tar.gz"))
7148 (sha256
7149 (base32
7150 "13qw0pwcgd6f6i39rwgqwcwk1d4da5x7wv3gna7gdlxaq331h41j"))))
7151 (build-system haskell-build-system)
7152 (arguments
7153 `(#:cabal-revision
7154 ("1" "167in7b1qhgrspx81bdm2jyg9qji66sk7id282c0s99kmp0d01n6")))
7155 (inputs `(("ghc-microlens" ,ghc-microlens)
7156 ("ghc-th-abstraction" ,ghc-th-abstraction)))
7157 (home-page
7158 "https://github.com/aelve/microlens")
7159 (synopsis "Automatic generation of record lenses for
7160 @code{ghc-microlens}")
7161 (description "This Haskell package lets you automatically generate lenses
7162 for data types; code was extracted from the lens package, and therefore
7163 generated lenses are fully compatible with ones generated by lens (and can be
7164 used both from lens and microlens).")
7165 (license license:bsd-3)))
7166
7167 (define-public ghc-missingh
7168 (package
7169 (name "ghc-missingh")
7170 (version "1.4.1.0")
7171 (source
7172 (origin
7173 (method url-fetch)
7174 (uri (string-append "https://hackage.haskell.org/package/MissingH/"
7175 "MissingH-" version ".tar.gz"))
7176 (sha256
7177 (base32
7178 "1jp0vk6w9a7fzrbxfhx773105jp2s1n50klq9ak6spfl7bgx5v29"))))
7179 (build-system haskell-build-system)
7180 ;; Tests require the unmaintained testpack package, which depends on the
7181 ;; outdated QuickCheck version 2.7, which can no longer be built with
7182 ;; recent versions of GHC and Haskell libraries.
7183 (arguments '(#:tests? #f))
7184 (inputs
7185 `(("ghc-network" ,ghc-network)
7186 ("ghc-hunit" ,ghc-hunit)
7187 ("ghc-regex-compat" ,ghc-regex-compat)
7188 ("ghc-hslogger" ,ghc-hslogger)
7189 ("ghc-random" ,ghc-random)
7190 ("ghc-old-time" ,ghc-old-time)
7191 ("ghc-old-locale" ,ghc-old-locale)))
7192 (native-inputs
7193 `(("ghc-errorcall-eq-instance" ,ghc-errorcall-eq-instance)
7194 ("ghc-quickcheck" ,ghc-quickcheck)
7195 ("ghc-hunit" ,ghc-hunit)))
7196 (home-page "http://software.complete.org/missingh")
7197 (synopsis "Large utility library")
7198 (description
7199 "MissingH is a library of all sorts of utility functions for Haskell
7200 programmers. It is written in pure Haskell and thus should be extremely
7201 portable and easy to use.")
7202 (license license:bsd-3)))
7203
7204 (define-public ghc-mmap
7205 (package
7206 (name "ghc-mmap")
7207 (version "0.5.9")
7208 (source (origin
7209 (method url-fetch)
7210 (uri (string-append "https://hackage.haskell.org/package/"
7211 "mmap/mmap-" version ".tar.gz"))
7212 (sha256
7213 (base32
7214 "1y5mk3yf4b8r6rzmlx1xqn4skaigrqnv08sqq0v7r3nbw42bpz2q"))))
7215 (build-system haskell-build-system)
7216 (home-page "https://hackage.haskell.org/package/mmap")
7217 (synopsis "Memory mapped files for Haskell")
7218 (description
7219 "This library provides a wrapper to @code{mmap}, allowing files or
7220 devices to be lazily loaded into memory as strict or lazy @code{ByteStrings},
7221 @code{ForeignPtrs} or plain @code{Ptrs}, using the virtual memory subsystem to
7222 do on-demand loading.")
7223 (license license:bsd-3)))
7224
7225 (define-public ghc-mmorph
7226 (package
7227 (name "ghc-mmorph")
7228 (version "1.1.3")
7229 (source
7230 (origin
7231 (method url-fetch)
7232 (uri (string-append
7233 "https://hackage.haskell.org/package/mmorph/mmorph-"
7234 version
7235 ".tar.gz"))
7236 (sha256
7237 (base32
7238 "0rfsy9n9mlinpmqi2s17fhc67fzma2ig5fbmh6m5m830canzf8vr"))))
7239 (build-system haskell-build-system)
7240 (inputs
7241 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
7242 (home-page "https://hackage.haskell.org/package/mmorph")
7243 (synopsis "Monad morphisms")
7244 (description
7245 "This library provides monad morphism utilities, most commonly used for
7246 manipulating monad transformer stacks.")
7247 (license license:bsd-3)))
7248
7249 (define-public ghc-mockery
7250 (package
7251 (name "ghc-mockery")
7252 (version "0.3.5")
7253 (source (origin
7254 (method url-fetch)
7255 (uri (string-append "https://hackage.haskell.org/package/"
7256 "mockery/mockery-" version ".tar.gz"))
7257 (sha256
7258 (base32
7259 "09ypgm3z69gq8mj6y66ss58kbjnk15r8frwcwbqcfbfksfnfv8dp"))))
7260 (build-system haskell-build-system)
7261 (inputs
7262 `(("ghc-temporary" ,ghc-temporary)
7263 ("ghc-logging-facade" ,ghc-logging-facade)
7264 ("ghc-base-compat" ,ghc-base-compat)))
7265 (native-inputs
7266 `(("ghc-hspec" ,ghc-hspec)
7267 ("hspec-discover" ,hspec-discover)))
7268 (home-page "https://hackage.haskell.org/package/mockery")
7269 (synopsis "Support functions for automated testing")
7270 (description
7271 "The mockery package provides support functions for automated testing.")
7272 (license license:expat)))
7273
7274 (define-public ghc-monad-control
7275 (package
7276 (name "ghc-monad-control")
7277 (version "1.0.2.3")
7278 (source
7279 (origin
7280 (method url-fetch)
7281 (uri (string-append
7282 "https://hackage.haskell.org/package/monad-control"
7283 "/monad-control-" version ".tar.gz"))
7284 (sha256
7285 (base32
7286 "1c92833gr6cadidjdp8mlznkpp8lyxl0w3y7d19y8yi3klc3843c"))))
7287 (build-system haskell-build-system)
7288 (inputs
7289 `(("ghc-transformers-base" ,ghc-transformers-base)
7290 ("ghc-transformers-compat" ,ghc-transformers-compat)))
7291 (home-page "https://github.com/basvandijk/monad-control")
7292 (synopsis "Monad transformers to lift control operations like exception
7293 catching")
7294 (description "This package defines the type class @code{MonadBaseControl},
7295 a subset of @code{MonadBase} into which generic control operations such as
7296 @code{catch} can be lifted from @code{IO} or any other base monad.")
7297 (license license:bsd-3)))
7298
7299 (define-public ghc-monad-logger
7300 (package
7301 (name "ghc-monad-logger")
7302 (version "0.3.30")
7303 (source
7304 (origin
7305 (method url-fetch)
7306 (uri (string-append "https://hackage.haskell.org/package/"
7307 "monad-logger-" version "/"
7308 "monad-logger-" version ".tar.gz"))
7309 (sha256
7310 (base32
7311 "102l0v75hbvkmrypiyg4ybb6rbc7nij5nxs1aihmqfdpg04rkkp7"))))
7312 (build-system haskell-build-system)
7313 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
7314 ("ghc-stm-chans" ,ghc-stm-chans)
7315 ("ghc-lifted-base" ,ghc-lifted-base)
7316 ("ghc-resourcet" ,ghc-resourcet)
7317 ("ghc-conduit" ,ghc-conduit)
7318 ("ghc-conduit-extra" ,ghc-conduit-extra)
7319 ("ghc-fast-logger" ,ghc-fast-logger)
7320 ("ghc-transformers-base" ,ghc-transformers-base)
7321 ("ghc-monad-control" ,ghc-monad-control)
7322 ("ghc-monad-loops" ,ghc-monad-loops)
7323 ("ghc-blaze-builder" ,ghc-blaze-builder)
7324 ("ghc-exceptions" ,ghc-exceptions)))
7325 (home-page "https://github.com/kazu-yamamoto/logger")
7326 (synopsis "Provides a class of monads which can log messages for Haskell")
7327 (description "This Haskell package uses a monad transformer approach
7328 for logging.
7329
7330 This package provides Template Haskell functions for determining source
7331 code locations of messages.")
7332 (license license:expat)))
7333
7334 (define-public ghc-monad-loops
7335 (package
7336 (name "ghc-monad-loops")
7337 (version "0.4.3")
7338 (source
7339 (origin
7340 (method url-fetch)
7341 (uri (string-append "https://hackage.haskell.org/package/"
7342 "monad-loops-" version "/"
7343 "monad-loops-" version ".tar.gz"))
7344 (sha256
7345 (base32
7346 "062c2sn3hc8h50p1mhqkpyv6x8dydz2zh3ridvlfjq9nqimszaky"))))
7347 (build-system haskell-build-system)
7348 (native-inputs `(("ghc-tasty" ,ghc-tasty)
7349 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
7350 (home-page "https://github.com/mokus0/monad-loops")
7351 (synopsis "Monadic loops for Haskell")
7352 (description "This Haskell package provides some useful control
7353 operators for looping.")
7354 (license license:public-domain)))
7355
7356 (define-public ghc-monad-par
7357 (package
7358 (name "ghc-monad-par")
7359 (version "0.3.4.8")
7360 (source
7361 (origin
7362 (method url-fetch)
7363 (uri (string-append "https://hackage.haskell.org/package/"
7364 "monad-par-" version "/"
7365 "monad-par-" version ".tar.gz"))
7366 (patches (search-patches "ghc-monad-par-fix-tests.patch"))
7367 (sha256
7368 (base32
7369 "0ldrzqy24fsszvn2a2nr77m2ih7xm0h9bgkjyv1l274aj18xyk7q"))))
7370 (build-system haskell-build-system)
7371 (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
7372 ("ghc-abstract-deque" ,ghc-abstract-deque)
7373 ("ghc-monad-par-extras" ,ghc-monad-par-extras)
7374 ("ghc-mwc-random" ,ghc-mwc-random)
7375 ("ghc-parallel" ,ghc-parallel)))
7376 (native-inputs `(("ghc-quickcheck" ,ghc-quickcheck)
7377 ("ghc-hunit" ,ghc-hunit)
7378 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7379 ("ghc-test-framework-quickcheck2"
7380 ,ghc-test-framework-quickcheck2)
7381 ("ghc-test-framework" ,ghc-test-framework)
7382 ("ghc-test-framework-th" ,ghc-test-framework-th)))
7383 (home-page "https://github.com/simonmar/monad-par")
7384 (synopsis "Haskell library for parallel programming based on a monad")
7385 (description "The @code{Par} monad offers an API for parallel
7386 programming. The library works for parallelising both pure and @code{IO}
7387 computations, although only the pure version is deterministic. The default
7388 implementation provides a work-stealing scheduler and supports forking tasks
7389 that are much lighter weight than IO-threads.")
7390 (license license:bsd-3)))
7391
7392 (define-public ghc-monad-par-extras
7393 (package
7394 (name "ghc-monad-par-extras")
7395 (version "0.3.3")
7396 (source
7397 (origin
7398 (method url-fetch)
7399 (uri (string-append "https://hackage.haskell.org/package/"
7400 "monad-par-extras-" version "/"
7401 "monad-par-extras-" version ".tar.gz"))
7402 (sha256
7403 (base32
7404 "0bl4bd6jzdc5zm20q1g67ppkfh6j6yn8fwj6msjayj621cck67p2"))))
7405 (build-system haskell-build-system)
7406 (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
7407 ("ghc-cereal" ,ghc-cereal)
7408 ("ghc-random" ,ghc-random)))
7409 (home-page "https://github.com/simonmar/monad-par")
7410 (synopsis "Combinators and extra features for Par monads for Haskell")
7411 (description "This Haskell package provides additional data structures,
7412 and other added capabilities layered on top of the @code{Par} monad.")
7413 (license license:bsd-3)))
7414
7415 (define-public ghc-monadrandom
7416 (package
7417 (name "ghc-monadrandom")
7418 (version "0.5.1.1")
7419 (source
7420 (origin
7421 (method url-fetch)
7422 (uri (string-append "https://hackage.haskell.org/package/"
7423 "MonadRandom-" version "/"
7424 "MonadRandom-" version ".tar.gz"))
7425 (sha256
7426 (base32
7427 "0w44jl1n3kqvqaflh82l1wj3xxbhzfs3kf4m8rk7w6fgg8llmnmb"))))
7428 (build-system haskell-build-system)
7429 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
7430 ("ghc-primitive" ,ghc-primitive)
7431 ("ghc-fail" ,ghc-fail)
7432 ("ghc-random" ,ghc-random)))
7433 (home-page "https://github.com/byorgey/MonadRandom")
7434 (synopsis "Random-number generation monad for Haskell")
7435 (description "This Haskell package provides support for computations
7436 which consume random values.")
7437 (license license:bsd-3)))
7438
7439 (define-public ghc-monads-tf
7440 (package
7441 (name "ghc-monads-tf")
7442 (version "0.1.0.3")
7443 (source
7444 (origin
7445 (method url-fetch)
7446 (uri (string-append
7447 "https://hackage.haskell.org/package/monads-tf/monads-tf-"
7448 version ".tar.gz"))
7449 (sha256
7450 (base32
7451 "1wdhskwa6dw8qljbvwpyxj8ca6y95q2np7z4y4q6bpf4anmd5794"))))
7452 (build-system haskell-build-system)
7453 (home-page "https://hackage.haskell.org/package/monads-tf")
7454 (synopsis "Monad classes, using type families")
7455 (description
7456 "Monad classes using type families, with instances for various monad transformers,
7457 inspired by the paper 'Functional Programming with Overloading and Higher-Order
7458 Polymorphism', by Mark P Jones. This package is almost a compatible replacement for
7459 the @code{mtl-tf} package.")
7460 (license license:bsd-3)))
7461
7462 (define-public ghc-mono-traversable
7463 (package
7464 (name "ghc-mono-traversable")
7465 (version "1.0.13.0")
7466 (source
7467 (origin
7468 (method url-fetch)
7469 (uri (string-append "https://hackage.haskell.org/package/"
7470 "mono-traversable-" version "/"
7471 "mono-traversable-" version ".tar.gz"))
7472 (sha256
7473 (base32
7474 "1bqy982lpdb83lacfy76n8kqw5bvd31avxj25kg8gkgycdh0g0ma"))))
7475 (build-system haskell-build-system)
7476 (inputs `(("ghc-unordered-containers" ,ghc-unordered-containers)
7477 ("ghc-hashable" ,ghc-hashable)
7478 ("ghc-vector" ,ghc-vector)
7479 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
7480 ("ghc-split" ,ghc-split)))
7481 (native-inputs `(("ghc-hspec" ,ghc-hspec)
7482 ("ghc-hunit" ,ghc-hunit)
7483 ("ghc-quickcheck" ,ghc-quickcheck)
7484 ("ghc-semigroups" ,ghc-semigroups)
7485 ("ghc-foldl" ,ghc-foldl)))
7486 (home-page "https://github.com/snoyberg/mono-traversable")
7487 (synopsis "Haskell classes for mapping, folding, and traversing monomorphic
7488 containers")
7489 (description "This Haskell package provides Monomorphic variants of the
7490 Functor, Foldable, and Traversable typeclasses. If you understand Haskell's
7491 basic typeclasses, you understand mono-traversable. In addition to what
7492 you are used to, it adds on an IsSequence typeclass and has code for marking
7493 data structures as non-empty.")
7494 (license license:expat)))
7495
7496 (define-public ghc-monoid-extras
7497 (package
7498 (name "ghc-monoid-extras")
7499 (version "0.5.1")
7500 (source
7501 (origin
7502 (method url-fetch)
7503 (uri (string-append "https://hackage.haskell.org/package/"
7504 "monoid-extras/monoid-extras-" version ".tar.gz"))
7505 (sha256
7506 (base32
7507 "0xfrkgqn9d31z54l617m3w3kkd5m9vjb4yl247r3zzql3mpb1f37"))))
7508 (build-system haskell-build-system)
7509 (inputs
7510 `(("ghc-groups" ,ghc-groups)
7511 ("ghc-semigroups" ,ghc-semigroups)
7512 ("ghc-semigroupoids" ,ghc-semigroupoids)))
7513 (arguments
7514 `(#:cabal-revision
7515 ("1" "0b8x5d6vh7mpigvjvcd8f38a1nyzn1vfdqypslw7z9fgsr742913")))
7516 (home-page "https://hackage.haskell.org/package/monoid-extras")
7517 (synopsis "Various extra monoid-related definitions and utilities")
7518 (description "This package provides various extra monoid-related
7519 definitions and utilities, such as monoid actions, monoid coproducts,
7520 semi-direct products, \"deletable\" monoids, \"split\" monoids, and
7521 \"cut\" monoids.")
7522 (license license:bsd-3)))
7523
7524 (define-public ghc-murmur-hash
7525 (package
7526 (name "ghc-murmur-hash")
7527 (version "0.1.0.9")
7528 (source
7529 (origin
7530 (method url-fetch)
7531 (uri (string-append "https://hackage.haskell.org/package/murmur-hash"
7532 "/murmur-hash-" version ".tar.gz"))
7533 (sha256
7534 (base32 "1bb58kfnzvx3mpc0rc0dhqc1fk36nm8prd6gvf20gk6lxaadpfc9"))))
7535 (build-system haskell-build-system)
7536 (home-page "https://github.com/nominolo/murmur-hash")
7537 (synopsis "MurmurHash2 implementation for Haskell")
7538 (description
7539 "This package provides an implementation of MurmurHash2, a good, fast,
7540 general-purpose, non-cryptographic hashing function. See
7541 @url{https://sites.google.com/site/murmurhash/} for details. This
7542 implementation is pure Haskell, so it might be a bit slower than a C FFI
7543 binding.")
7544 (license license:bsd-3)))
7545
7546 (define-public ghc-mwc-random
7547 (package
7548 (name "ghc-mwc-random")
7549 (version "0.14.0.0")
7550 (source
7551 (origin
7552 (method url-fetch)
7553 (uri (string-append "https://hackage.haskell.org/package/"
7554 "mwc-random-" version "/"
7555 "mwc-random-" version ".tar.gz"))
7556 (sha256
7557 (base32
7558 "18pg24sw3b79b32cwx8q01q4k0lm34mwr3l6cdkchl8alvd0wdq0"))))
7559 (build-system haskell-build-system)
7560 (inputs
7561 `(("ghc-primitive" ,ghc-primitive)
7562 ("ghc-vector" ,ghc-vector)
7563 ("ghc-math-functions" ,ghc-math-functions)))
7564 (arguments
7565 `(#:tests? #f)) ; FIXME: Test-Suite `spec` fails.
7566 (native-inputs
7567 `(("ghc-hunit" ,ghc-hunit)
7568 ("ghc-quickcheck" ,ghc-quickcheck)
7569 ("ghc-test-framework" ,ghc-test-framework)
7570 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7571 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
7572 (home-page "https://github.com/bos/mwc-random")
7573 (synopsis "Random number generation library for Haskell")
7574 (description "This Haskell package contains code for generating
7575 high quality random numbers that follow either a uniform or normal
7576 distribution. The generated numbers are suitable for use in
7577 statistical applications.
7578
7579 The uniform PRNG uses Marsaglia's MWC256 (also known as MWC8222)
7580 multiply-with-carry generator, which has a period of 2^{8222} and
7581 fares well in tests of randomness. It is also extremely fast,
7582 between 2 and 3 times faster than the Mersenne Twister.")
7583 (license license:bsd-3)))
7584
7585 (define-public ghc-nats
7586 (package
7587 (name "ghc-nats")
7588 (version "1.1.2")
7589 (source
7590 (origin
7591 (method url-fetch)
7592 (uri (string-append
7593 "https://hackage.haskell.org/package/nats/nats-"
7594 version
7595 ".tar.gz"))
7596 (sha256
7597 (base32
7598 "1v40drmhixck3pz3mdfghamh73l4rp71mzcviipv1y8jhrfxilmr"))))
7599 (build-system haskell-build-system)
7600 (arguments `(#:haddock? #f))
7601 (inputs
7602 `(("ghc-hashable" ,ghc-hashable)))
7603 (home-page "https://hackage.haskell.org/package/nats")
7604 (synopsis "Natural numbers")
7605 (description "This library provides the natural numbers for Haskell.")
7606 (license license:bsd-3)))
7607
7608 (define-public ghc-nats-bootstrap
7609 (package
7610 (inherit ghc-nats)
7611 (name "ghc-nats-bootstrap")
7612 (inputs
7613 `(("ghc-hashable" ,ghc-hashable-bootstrap)))
7614 (properties '((hidden? #t)))))
7615
7616 (define-public ghc-ncurses
7617 (package
7618 (name "ghc-ncurses")
7619 (version "0.2.16")
7620 (source
7621 (origin
7622 (method url-fetch)
7623 (uri (string-append
7624 "https://hackage.haskell.org/package/ncurses/ncurses-"
7625 version ".tar.gz"))
7626 (sha256
7627 (base32
7628 "0gsyyaqyh5r9zc0rhwpj5spyd6i4w2vj61h4nihgmmh0yyqvf3z5"))))
7629 (build-system haskell-build-system)
7630 (arguments
7631 '(#:phases
7632 (modify-phases %standard-phases
7633 (add-before 'build 'fix-includes
7634 (lambda _
7635 (substitute* '("cbits/hsncurses-shim.h"
7636 "lib/UI/NCurses.chs"
7637 "lib/UI/NCurses/Enums.chs"
7638 "lib/UI/NCurses/Panel.chs")
7639 (("<ncursesw/") "<"))
7640 #t)))
7641 #:cabal-revision
7642 ("1"
7643 "1wfdy716s5p1sqp2gsg43x8wch2dxg0vmbbndlb2h3d8c9jzxnca")))
7644 (inputs `(("ncurses" ,ncurses)))
7645 (native-inputs `(("ghc-c2hs" ,ghc-c2hs)))
7646 (home-page "https://john-millikin.com/software/haskell-ncurses/")
7647 (synopsis "Modernised bindings to GNU ncurses")
7648 (description "GNU ncurses is a library for creating command-line application
7649 with pseudo-graphical interfaces. This package is a nice, modern binding to GNU
7650 ncurses.")
7651 (license license:gpl3)))
7652
7653 (define-public ghc-network
7654 (package
7655 (name "ghc-network")
7656 (version "2.8.0.1")
7657 (outputs '("out" "doc"))
7658 (source
7659 (origin
7660 (method url-fetch)
7661 (uri (string-append
7662 "https://hackage.haskell.org/package/network/network-"
7663 version
7664 ".tar.gz"))
7665 (sha256
7666 (base32
7667 "0im8k51rw3ahmr23ny10pshwbz09jfg0fdpam0hzf2hgxnzmvxb1"))))
7668 (build-system haskell-build-system)
7669 ;; The regression tests depend on an unpublished module.
7670 (arguments `(#:tests? #f))
7671 (native-inputs
7672 `(("ghc-hunit" ,ghc-hunit)
7673 ("ghc-doctest" ,ghc-doctest)
7674 ("ghc-test-framework" ,ghc-test-framework)
7675 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
7676 (home-page "https://github.com/haskell/network")
7677 (synopsis "Low-level networking interface")
7678 (description
7679 "This package provides a low-level networking interface.")
7680 (license license:bsd-3)))
7681
7682 (define-public ghc-network-bsd
7683 (package
7684 (name "ghc-network-bsd")
7685 (version "2.8.0.0")
7686 (source
7687 (origin
7688 (method url-fetch)
7689 (uri (string-append "https://hackage.haskell.org/package/"
7690 "network-bsd/network-bsd-" version ".tar.gz"))
7691 (sha256
7692 (base32
7693 "0dfbwgrr28y6ypw7p1ppqg7v746qf14569q4xazj4ahdjw2xkpi5"))))
7694 (build-system haskell-build-system)
7695 (inputs
7696 `(("ghc-network" ,ghc-network)))
7697 (home-page "https://github.com/haskell/network-bsd")
7698 (synopsis "POSIX network database (<netdb.h>) API")
7699 (description "This package provides Haskell bindings to the the POSIX
7700 network database (<netdb.h>) API.")
7701 (license license:bsd-3)))
7702
7703 (define-public ghc-network-byte-order
7704 (package
7705 (name "ghc-network-byte-order")
7706 (version "0.1.1.1")
7707 (source
7708 (origin
7709 (method url-fetch)
7710 (uri (string-append "https://hackage.haskell.org/package/"
7711 "network-byte-order/network-byte-order-"
7712 version ".tar.gz"))
7713 (sha256
7714 (base32
7715 "19cs6157amcc925vwr92q1azwwzkbam5g0k70i6qi80fhpikh37c"))))
7716 (build-system haskell-build-system)
7717 (native-inputs
7718 `(("ghc-doctest" ,ghc-doctest)))
7719 (home-page "http://hackage.haskell.org/package/network-byte-order")
7720 (synopsis "Network byte order utilities")
7721 (description "This library provides peek and poke functions for network
7722 byte order.")
7723 (license license:bsd-3)))
7724
7725 (define-public ghc-network-info
7726 (package
7727 (name "ghc-network-info")
7728 (version "0.2.0.10")
7729 (source
7730 (origin
7731 (method url-fetch)
7732 (uri (string-append "https://hackage.haskell.org/package/"
7733 "network-info-" version "/"
7734 "network-info-" version ".tar.gz"))
7735 (sha256
7736 (base32
7737 "0anmgzcpnz7nw3n6vq0r25m1s9l2svpwi83wza0lzkrlbnbzd02n"))))
7738 (build-system haskell-build-system)
7739 (home-page "https://github.com/jystic/network-info")
7740 (synopsis "Access the local computer's basic network configuration")
7741 (description "This Haskell library provides simple read-only access to the
7742 local computer's networking configuration. It is currently capable of
7743 getting a list of all the network interfaces and their respective
7744 IPv4, IPv6 and MAC addresses.")
7745 (license license:bsd-3)))
7746
7747 (define-public ghc-network-uri
7748 (package
7749 (name "ghc-network-uri")
7750 (version "2.6.1.0")
7751 (outputs '("out" "doc"))
7752 (source
7753 (origin
7754 (method url-fetch)
7755 (uri (string-append
7756 "https://hackage.haskell.org/package/network-uri/network-uri-"
7757 version
7758 ".tar.gz"))
7759 (sha256
7760 (base32
7761 "1w27zkvn39kjr9lmw9421y8w43h572ycsfafsb7kyvr3a4ihlgj2"))))
7762 (build-system haskell-build-system)
7763 (arguments
7764 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
7765 (inputs
7766 `(("ghc-network" ,ghc-network)))
7767 (native-inputs
7768 `(("ghc-hunit" ,ghc-hunit)))
7769 (home-page
7770 "https://github.com/haskell/network-uri")
7771 (synopsis "Library for URI manipulation")
7772 (description "This package provides an URI manipulation interface. In
7773 @code{network-2.6} the @code{Network.URI} module was split off from the
7774 @code{network} package into this package.")
7775 (license license:bsd-3)))
7776
7777 (define-public ghc-newtype-generics
7778 (package
7779 (name "ghc-newtype-generics")
7780 (version "0.5.4")
7781 (source
7782 (origin
7783 (method url-fetch)
7784 (uri (string-append "https://hackage.haskell.org/package/"
7785 "newtype-generics/newtype-generics-"
7786 version ".tar.gz"))
7787 (sha256
7788 (base32
7789 "0cprfg4n0z62cnix1qrbc79bfdd4s50b05fj9m9hk6vm1pc3szq0"))))
7790 (build-system haskell-build-system)
7791 (native-inputs
7792 `(("ghc-hspec" ,ghc-hspec)
7793 ("hspec-discover" ,hspec-discover)))
7794 (home-page "http://github.com/sjakobi/newtype-generics")
7795 (synopsis "Typeclass and set of functions for working with newtypes")
7796 (description "The @code{Newtype} typeclass represents the packing and
7797 unpacking of a newtype, and allows you to operate under that newtype with
7798 functions such as @code{ala}. Generics support was added in version 0.4,
7799 making this package a full replacement for the original newtype package,
7800 and an alternative to newtype-th.")
7801 (license license:bsd-3)))
7802
7803 (define-public ghc-non-negative
7804 (package
7805 (name "ghc-non-negative")
7806 (version "0.1.2")
7807 (source
7808 (origin
7809 (method url-fetch)
7810 (uri
7811 (string-append
7812 "https://hackage.haskell.org/package/non-negative/non-negative-"
7813 version ".tar.gz"))
7814 (sha256
7815 (base32
7816 "0f01q916dzkl1i0v15qrw9cviycki5g3fgi6x8gs45iwbzssq52n"))))
7817 (build-system haskell-build-system)
7818 (inputs
7819 `(("ghc-semigroups" ,ghc-semigroups)
7820 ("ghc-utility-ht" ,ghc-utility-ht)
7821 ("ghc-quickcheck" ,ghc-quickcheck)))
7822 (home-page "https://hackage.haskell.org/package/non-negative")
7823 (synopsis "Non-negative numbers class")
7824 (description "This library provides a class for non-negative numbers,
7825 a wrapper which can turn any ordered numeric type into a member of that
7826 class, and a lazy number type for non-negative numbers (a generalization
7827 of Peano numbers).")
7828 (license license:gpl3+)))
7829
7830 (define-public ghc-numeric-extras
7831 (package
7832 (name "ghc-numeric-extras")
7833 (version "0.1")
7834 (source
7835 (origin
7836 (method url-fetch)
7837 (uri (string-append "https://hackage.haskell.org/package/"
7838 "numeric-extras/numeric-extras-"
7839 version ".tar.gz"))
7840 (sha256
7841 (base32
7842 "1mk11c0gz1yjy5b8dvq6czfny57pln0bs7x28fz38qyr44872067"))))
7843 (build-system haskell-build-system)
7844 (home-page "https://github.com/ekmett/numeric-extras")
7845 (synopsis "Useful tools from the C standard library")
7846 (description "This library provides some useful tools from the C
7847 standard library.")
7848 (license license:bsd-3)))
7849
7850 (define-public ghc-objectname
7851 (package
7852 (name "ghc-objectname")
7853 (version "1.1.0.1")
7854 (source
7855 (origin
7856 (method url-fetch)
7857 (uri (string-append
7858 "https://hackage.haskell.org/package/ObjectName/ObjectName-"
7859 version
7860 ".tar.gz"))
7861 (sha256
7862 (base32
7863 "046jm94rmm46cicd31pl54vdvfjvhd9ffbfycy2lxzc0fliyznvj"))))
7864 (build-system haskell-build-system)
7865 (home-page "https://hackage.haskell.org/package/ObjectName")
7866 (synopsis "Helper library for Haskell OpenGL")
7867 (description "This tiny package contains the class ObjectName, which
7868 corresponds to the general notion of explicitly handled identifiers for API
7869 objects, e.g. a texture object name in OpenGL or a buffer object name in
7870 OpenAL.")
7871 (license license:bsd-3)))
7872
7873 (define-public ghc-old-locale
7874 (package
7875 (name "ghc-old-locale")
7876 (version "1.0.0.7")
7877 (source
7878 (origin
7879 (method url-fetch)
7880 (uri (string-append
7881 "https://hackage.haskell.org/package/old-locale/old-locale-"
7882 version
7883 ".tar.gz"))
7884 (sha256
7885 (base32 "0l3viphiszvz5wqzg7a45zp40grwlab941q5ay29iyw8p3v8pbyv"))))
7886 (build-system haskell-build-system)
7887 (arguments
7888 `(#:cabal-revision
7889 ("2" "04b9vn007hlvsrx4ksd3r8r3kbyaj2kvwxchdrmd4370qzi8p6gs")))
7890 (home-page "https://hackage.haskell.org/package/old-locale")
7891 (synopsis "Adapt to locale conventions")
7892 (description
7893 "This package provides the ability to adapt to locale conventions such as
7894 date and time formats.")
7895 (license license:bsd-3)))
7896
7897 (define-public ghc-old-time
7898 (package
7899 (name "ghc-old-time")
7900 (version "1.1.0.3")
7901 (source
7902 (origin
7903 (method url-fetch)
7904 (uri (string-append
7905 "https://hackage.haskell.org/package/old-time/old-time-"
7906 version
7907 ".tar.gz"))
7908 (sha256
7909 (base32
7910 "1h9b26s3kfh2k0ih4383w90ibji6n0iwamxp6rfp2lbq1y5ibjqw"))))
7911 (build-system haskell-build-system)
7912 (arguments
7913 `(#:cabal-revision
7914 ("2" "1j6ln1dkvhdvnwl33bp0xf9lhc4sybqk0aw42p8cq81xwwzbn7y9")))
7915 (inputs
7916 `(("ghc-old-locale" ,ghc-old-locale)))
7917 (home-page "https://hackage.haskell.org/package/old-time")
7918 (synopsis "Time compatibility library for Haskell")
7919 (description "Old-time is a package for backwards compatibility with the
7920 old @code{time} library. For new projects, the newer
7921 @uref{https://hackage.haskell.org/package/time, time library} is recommended.")
7922 (license license:bsd-3)))
7923
7924 (define-public ghc-opengl
7925 (package
7926 (name "ghc-opengl")
7927 (version "3.0.3.0")
7928 (source
7929 (origin
7930 (method url-fetch)
7931 (uri (string-append
7932 "https://hackage.haskell.org/package/OpenGL/OpenGL-"
7933 version
7934 ".tar.gz"))
7935 (sha256
7936 (base32
7937 "069fg8jcxqq2z9iikynd8vi3jxm2b5y3qywdh4bdviyzab3zy1as"))))
7938 (build-system haskell-build-system)
7939 (arguments
7940 `(#:cabal-revision
7941 ("1" "1748mrb6r9mpf5jbrx436lwbg8w6dadyy8dhxw2dwnrj5z7zf741")))
7942 (inputs
7943 `(("ghc-objectname" ,ghc-objectname)
7944 ("ghc-gluraw" ,ghc-gluraw)
7945 ("ghc-statevar" ,ghc-statevar)
7946 ("ghc-openglraw" ,ghc-openglraw)))
7947 (home-page "https://www.haskell.org/haskellwiki/Opengl")
7948 (synopsis "Haskell bindings for the OpenGL graphics system")
7949 (description "This package provides Haskell bindings for the OpenGL
7950 graphics system (GL, version 4.5) and its accompanying utility library (GLU,
7951 version 1.3).")
7952 (license license:bsd-3)))
7953
7954 (define-public ghc-openglraw
7955 (package
7956 (name "ghc-openglraw")
7957 (version "3.3.3.0")
7958 (source
7959 (origin
7960 (method url-fetch)
7961 (uri (string-append
7962 "https://hackage.haskell.org/package/OpenGLRaw/OpenGLRaw-"
7963 version
7964 ".tar.gz"))
7965 (sha256
7966 (base32
7967 "0zgllb4bcash2i2cispa3j565aw3dpxs41ghmhpvyvi4a6xmyldx"))))
7968 (build-system haskell-build-system)
7969 (inputs
7970 `(("ghc-half" ,ghc-half)
7971 ("ghc-fixed" ,ghc-fixed)
7972 ("glu" ,glu)))
7973 (home-page "https://www.haskell.org/haskellwiki/Opengl")
7974 (synopsis "Raw Haskell bindings for the OpenGL graphics system")
7975 (description "OpenGLRaw is a raw Haskell binding for the OpenGL 4.5
7976 graphics system and lots of OpenGL extensions. It is basically a 1:1 mapping
7977 of OpenGL's C API, intended as a basis for a nicer interface. OpenGLRaw
7978 offers access to all necessary functions, tokens and types plus a general
7979 facility for loading extension entries. The module hierarchy closely mirrors
7980 the naming structure of the OpenGL extensions, making it easy to find the
7981 right module to import. All API entries are loaded dynamically, so no special
7982 C header files are needed for building this package. If an API entry is not
7983 found at runtime, a userError is thrown.")
7984 (license license:bsd-3)))
7985
7986 (define-public ghc-operational
7987 (package
7988 (name "ghc-operational")
7989 (version "0.2.3.5")
7990 (source
7991 (origin
7992 (method url-fetch)
7993 (uri (string-append "https://hackage.haskell.org/package/operational/"
7994 "operational-" version ".tar.gz"))
7995 (sha256
7996 (base32
7997 "1x2abg2q9d26h1vzj40r6k7k3gqgappbs4g9d853vvg77837km4i"))))
7998 (build-system haskell-build-system)
7999 (inputs
8000 `(("ghc-random" ,ghc-random)))
8001 (home-page "http://wiki.haskell.org/Operational")
8002 (synopsis "Implementation of difficult monads made easy with operational semantics")
8003 (description
8004 "This library makes it easy to implement monads with tricky control
8005 flow. This is useful for: writing web applications in a sequential style,
8006 programming games with a uniform interface for human and AI players and easy
8007 replay capababilities, implementing fast parser monads, designing monadic
8008 DSLs, etc.")
8009 (license license:bsd-3)))
8010
8011 (define-public ghc-options
8012 (package
8013 (name "ghc-options")
8014 (version "1.2.1.1")
8015 (source
8016 (origin
8017 (method url-fetch)
8018 (uri (string-append
8019 "https://hackage.haskell.org/package/options/options-"
8020 version ".tar.gz"))
8021 (sha256
8022 (base32
8023 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
8024 (build-system haskell-build-system)
8025 (arguments
8026 `(#:phases
8027 (modify-phases %standard-phases
8028 (add-before 'configure 'update-constraints
8029 (lambda _
8030 (substitute* "options.cabal"
8031 (("chell >= 0\\.4 && < 0\\.5") "chell >= 0.4 && < 0.6"))
8032 #t)))))
8033 (inputs
8034 `(("ghc-monads-tf" ,ghc-monads-tf)
8035 ("ghc-chell" ,ghc-chell)
8036 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)))
8037 (home-page "https://john-millikin.com/software/haskell-options/")
8038 (synopsis "Powerful and easy-to-use command-line option parser")
8039 (description
8040 "The @code{options} package lets library and application developers
8041 easily work with command-line options.")
8042 (license license:expat)))
8043
8044 ;; See ghc-system-filepath-bootstrap, chell and chell-quickcheck are required for tests.
8045 (define ghc-options-bootstrap
8046 (package
8047 (name "ghc-options-bootstrap")
8048 (version "1.2.1.1")
8049 (source
8050 (origin
8051 (method url-fetch)
8052 (uri (string-append
8053 "https://hackage.haskell.org/package/options/options-"
8054 version ".tar.gz"))
8055 (sha256
8056 (base32
8057 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
8058 (build-system haskell-build-system)
8059 (arguments
8060 `(#:tests? #f))
8061 (inputs
8062 `(("ghc-monads-tf" ,ghc-monads-tf)))
8063 (home-page "https://john-millikin.com/software/haskell-options/")
8064 (synopsis "Powerful and easy-to-use command-line option parser")
8065 (description
8066 "The @code{options} package lets library and application developers
8067 easily work with command-line options.")
8068 (license license:expat)))
8069
8070
8071 (define-public ghc-optparse-applicative
8072 (package
8073 (name "ghc-optparse-applicative")
8074 (version "0.14.3.0")
8075 (source
8076 (origin
8077 (method url-fetch)
8078 (uri (string-append
8079 "https://hackage.haskell.org/package/optparse-applicative"
8080 "/optparse-applicative-" version ".tar.gz"))
8081 (sha256
8082 (base32
8083 "0qvn1s7jwrabbpmqmh6d6iafln3v3h9ddmxj2y4m0njmzq166ivj"))))
8084 (build-system haskell-build-system)
8085 (arguments
8086 `(#:cabal-revision
8087 ("2" "1a08dqjly1xy730f6jf45frr8g8gap0n1vg9b0mpzpydv0kgzmrp")))
8088 (inputs
8089 `(("ghc-transformers-compat" ,ghc-transformers-compat)
8090 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)))
8091 (native-inputs
8092 `(("ghc-quickcheck" ,ghc-quickcheck)))
8093 (home-page "https://github.com/pcapriotti/optparse-applicative")
8094 (synopsis "Utilities and combinators for parsing command line options")
8095 (description "This package provides utilities and combinators for parsing
8096 command line options in Haskell.")
8097 (license license:bsd-3)))
8098
8099 (define-public ghc-pandoc
8100 (package
8101 (name "ghc-pandoc")
8102 (version "2.7.3")
8103 (source
8104 (origin
8105 (method url-fetch)
8106 (uri (string-append "https://hackage.haskell.org/package/pandoc/pandoc-"
8107 version ".tar.gz"))
8108 (patches (search-patches "ghc-pandoc-fix-html-tests.patch"
8109 "ghc-pandoc-fix-latex-test.patch"))
8110 (sha256
8111 (base32
8112 "0dpjrr40h54cljzhvixyym07z792a9izg6b9dmqpjlgcg4rj0xx8"))))
8113 (build-system haskell-build-system)
8114 (inputs
8115 `(("ghc-aeson" ,ghc-aeson)
8116 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
8117 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
8118 ("ghc-blaze-html" ,ghc-blaze-html)
8119 ("ghc-blaze-markup" ,ghc-blaze-markup)
8120 ("ghc-cmark-gfm" ,ghc-cmark-gfm)
8121 ("ghc-data-default" ,ghc-data-default)
8122 ("ghc-diff" ,ghc-diff)
8123 ("ghc-doctemplates" ,ghc-doctemplates)
8124 ("ghc-executable-path" ,ghc-executable-path)
8125 ("ghc-glob" ,ghc-glob)
8126 ("ghc-haddock-library" ,ghc-haddock-library)
8127 ("ghc-hslua" ,ghc-hslua)
8128 ("ghc-hslua-module-system" ,ghc-hslua-module-system)
8129 ("ghc-hslua-module-text" ,ghc-hslua-module-text)
8130 ("ghc-hsyaml" ,ghc-hsyaml)
8131 ("ghc-http" ,ghc-http)
8132 ("ghc-http-client" ,ghc-http-client)
8133 ("ghc-http-client-tls" ,ghc-http-client-tls)
8134 ("ghc-http-types" ,ghc-http-types)
8135 ("ghc-ipynb" ,ghc-ipynb)
8136 ("ghc-juicypixels" ,ghc-juicypixels)
8137 ("ghc-network" ,ghc-network)
8138 ("ghc-network-uri" ,ghc-network-uri)
8139 ("ghc-pandoc-types" ,ghc-pandoc-types)
8140 ("ghc-random" ,ghc-random)
8141 ("ghc-scientific" ,ghc-scientific)
8142 ("ghc-sha" ,ghc-sha)
8143 ("ghc-skylighting" ,ghc-skylighting)
8144 ("ghc-split" ,ghc-split)
8145 ("ghc-syb" ,ghc-syb)
8146 ("ghc-tagsoup" ,ghc-tagsoup)
8147 ("ghc-temporary" ,ghc-temporary)
8148 ("ghc-texmath" ,ghc-texmath)
8149 ("ghc-unicode-transforms" ,ghc-unicode-transforms)
8150 ("ghc-unordered-containers" ,ghc-unordered-containers)
8151 ("ghc-vector" ,ghc-vector)
8152 ("ghc-xml" ,ghc-xml)
8153 ("ghc-zip-archive" ,ghc-zip-archive)
8154 ("ghc-zlib" ,ghc-zlib)))
8155 (native-inputs
8156 `(("ghc-tasty" ,ghc-tasty)
8157 ("ghc-tasty-golden" ,ghc-tasty-golden)
8158 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
8159 ("ghc-tasty-lua" ,ghc-tasty-lua)
8160 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
8161 ("ghc-quickcheck" ,ghc-quickcheck)
8162 ("ghc-hunit" ,ghc-hunit)))
8163 (home-page "https://pandoc.org")
8164 (synopsis "Conversion between markup formats")
8165 (description
8166 "Pandoc is a Haskell library for converting from one markup format to
8167 another, and a command-line tool that uses this library. It can read and
8168 write Markdown and (subsets of) other formats, such as HTML, reStructuredText,
8169 LaTeX, DocBook, and many more.
8170
8171 Pandoc extends standard Markdown syntax with footnotes, embedded LaTeX,
8172 definition lists, tables, and other features. A compatibility mode is
8173 provided for those who need a drop-in replacement for Markdown.pl.")
8174 (license license:gpl2+)))
8175
8176 (define-public ghc-pandoc-citeproc
8177 (package
8178 (name "ghc-pandoc-citeproc")
8179 (version "0.16.2")
8180 (source
8181 (origin
8182 (method url-fetch)
8183 (uri (string-append "https://hackage.haskell.org/package/"
8184 "pandoc-citeproc/pandoc-citeproc-"
8185 version ".tar.gz"))
8186 (sha256
8187 (base32
8188 "15mm17awgi1b5yazwhr5nh8b59qml1qk6pz6gpyijks70fq2arsv"))))
8189 (build-system haskell-build-system)
8190 (arguments
8191 `(#:phases
8192 (modify-phases %standard-phases
8193 ;; Many YAML tests (44) are failing do to changes in ghc-yaml:
8194 ;; <https://github.com/jgm/pandoc-citeproc/issues/342>.
8195 (add-before 'configure 'patch-tests
8196 (lambda _
8197 (substitute* "tests/test-pandoc-citeproc.hs"
8198 (("let allTests = citeprocTests \\+\\+ biblio2yamlTests")
8199 "let allTests = citeprocTests"))))
8200 ;; Tests need to be run after installation.
8201 (delete 'check)
8202 (add-after 'install 'post-install-check
8203 (assoc-ref %standard-phases 'check)))))
8204 (inputs
8205 `(("ghc-pandoc-types" ,ghc-pandoc-types)
8206 ("ghc-pandoc" ,ghc-pandoc)
8207 ("ghc-tagsoup" ,ghc-tagsoup)
8208 ("ghc-aeson" ,ghc-aeson)
8209 ("ghc-vector" ,ghc-vector)
8210 ("ghc-xml-conduit" ,ghc-xml-conduit)
8211 ("ghc-unordered-containers" ,ghc-unordered-containers)
8212 ("ghc-data-default" ,ghc-data-default)
8213 ("ghc-setenv" ,ghc-setenv)
8214 ("ghc-split" ,ghc-split)
8215 ("ghc-yaml" ,ghc-yaml)
8216 ("ghc-hs-bibutils" ,ghc-hs-bibutils)
8217 ("ghc-rfc5051" ,ghc-rfc5051)
8218 ("ghc-syb" ,ghc-syb)
8219 ("ghc-old-locale" ,ghc-old-locale)
8220 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
8221 ("ghc-attoparsec" ,ghc-attoparsec)
8222 ("ghc-temporary" ,ghc-temporary)))
8223 (home-page "https://github.com/jgm/pandoc-citeproc")
8224 (synopsis "Library for using pandoc with citeproc")
8225 (description
8226 "The @code{pandoc-citeproc} library exports functions for using the
8227 citeproc system with pandoc. It relies on @code{citeproc-hs}, a library for
8228 rendering bibliographic reference citations into a variety of styles using a
8229 macro language called @dfn{Citation Style Language} (CSL). This package also
8230 contains an executable @code{pandoc-citeproc}, which works as a pandoc filter,
8231 and also has a mode for converting bibliographic databases a YAML format
8232 suitable for inclusion in pandoc YAML metadata.")
8233 (license license:bsd-3)))
8234
8235 (define-public ghc-pandoc-types
8236 (package
8237 (name "ghc-pandoc-types")
8238 (version "1.17.6.1")
8239 (source (origin
8240 (method url-fetch)
8241 (uri (string-append "https://hackage.haskell.org/package/"
8242 "pandoc-types/pandoc-types-"
8243 version ".tar.gz"))
8244 (sha256
8245 (base32
8246 "1d6ygq991ddria71l7hg9yd7lq94sjy4m71rdws1v8hq943c4d0q"))))
8247 (build-system haskell-build-system)
8248 (inputs
8249 `(("ghc-syb" ,ghc-syb)
8250 ("ghc-aeson" ,ghc-aeson)
8251 ("ghc-string-qq" ,ghc-string-qq)))
8252 (native-inputs
8253 `(("ghc-quickcheck" ,ghc-quickcheck)
8254 ("ghc-test-framework" ,ghc-test-framework)
8255 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
8256 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
8257 ("ghc-hunit" ,ghc-hunit)))
8258 (home-page "http://johnmacfarlane.net/pandoc")
8259 (synopsis "Types for representing a structured document")
8260 (description
8261 "This module defines the @code{Pandoc} data structure, which is used by
8262 pandoc to represent structured documents. It also provides functions for
8263 building up, manipulating and serialising @code{Pandoc} structures.")
8264 (license license:bsd-3)))
8265
8266 (define-public ghc-parallel
8267 (package
8268 (name "ghc-parallel")
8269 (version "3.2.2.0")
8270 (outputs '("out" "doc"))
8271 (source
8272 (origin
8273 (method url-fetch)
8274 (uri (string-append
8275 "https://hackage.haskell.org/package/parallel/parallel-"
8276 version
8277 ".tar.gz"))
8278 (sha256
8279 (base32
8280 "1xkfi96w6yfpppd0nw1rnszdxmvifwzm699ilv6332ra3akm610p"))))
8281 (build-system haskell-build-system)
8282 (home-page "https://hackage.haskell.org/package/parallel")
8283 (synopsis "Parallel programming library")
8284 (description
8285 "This package provides a library for parallel programming.")
8286 (license license:bsd-3)))
8287
8288 (define-public ghc-parsec-numbers
8289 (package
8290 (name "ghc-parsec-numbers")
8291 (version "0.1.0")
8292 (source
8293 (origin
8294 (method url-fetch)
8295 (uri (string-append "https://hackage.haskell.org/package/"
8296 "parsec-numbers/parsec-numbers-" version ".tar.gz"))
8297 (sha256
8298 (base32 "1gzy4v3r02kvdxvgg1nj83mmb6aph2v4ilf9c7y6nbvi2x49l0bp"))))
8299 (build-system haskell-build-system)
8300 (home-page "https://hackage.haskell.org/package/parsec-numbers")
8301 (synopsis "Utilities for parsing numbers from strings")
8302 (description
8303 "This package provides the number parsers without the need to use a large
8304 (and unportable) token parser.")
8305 (license license:bsd-3)))
8306
8307 (define-public ghc-parser-combinators
8308 (package
8309 (name "ghc-parser-combinators")
8310 (version "1.1.0")
8311 (source
8312 (origin
8313 (method url-fetch)
8314 (uri (string-append "https://hackage.haskell.org/package/"
8315 "parser-combinators/parser-combinators-"
8316 version ".tar.gz"))
8317 (sha256
8318 (base32
8319 "149yhbnrrl108h1jinrsxni3rwrldhphpk9bbmbpr90q5fbl4xmc"))))
8320 (build-system haskell-build-system)
8321 (home-page "https://github.com/mrkkrp/parser-combinators")
8322 (synopsis "Commonly useful parser combinators")
8323 (description
8324 "This is a lightweight package providing commonly useful parser
8325 combinators.")
8326 (license license:bsd-3)))
8327
8328 (define-public ghc-parsers
8329 (package
8330 (name "ghc-parsers")
8331 (version "0.12.10")
8332 (source
8333 (origin
8334 (method url-fetch)
8335 (uri (string-append
8336 "https://hackage.haskell.org/package/parsers/parsers-"
8337 version
8338 ".tar.gz"))
8339 (sha256
8340 (base32
8341 "0v0smxbzk1qpdfkfqqmrzd2dngv3vxba10mkjn9nfm6a309izf8p"))))
8342 (build-system haskell-build-system)
8343 (arguments `(#:tests? #f)) ; FIXME: Test fails with "cannot satisfy
8344 ; -package attoparsec-0.13.0.1"
8345 (inputs
8346 `(("ghc-base-orphans" ,ghc-base-orphans)
8347 ("ghc-attoparsec" ,ghc-attoparsec)
8348 ("ghc-scientific" ,ghc-scientific)
8349 ("ghc-charset" ,ghc-charset)
8350 ("ghc-unordered-containers" ,ghc-unordered-containers)))
8351 (home-page "https://github.com/ekmett/parsers/")
8352 (synopsis "Parsing combinators")
8353 (description "This library provides convenient combinators for working
8354 with and building parsing combinator libraries. Given a few simple instances,
8355 you get access to a large number of canned definitions. Instances exist for
8356 the parsers provided by @code{parsec}, @code{attoparsec} and @code{base}'s
8357 @code{Text.Read}.")
8358 (license license:bsd-3)))
8359
8360 (define-public ghc-path
8361 (package
8362 (name "ghc-path")
8363 (version "0.6.1")
8364 (source
8365 (origin
8366 (method url-fetch)
8367 (uri (string-append
8368 "https://hackage.haskell.org/package/path/path-"
8369 version
8370 ".tar.gz"))
8371 (sha256
8372 (base32
8373 "0nayla4k1gb821k8y5b9miflv1bi8f0czf9rqr044nrr2dddi2sb"))))
8374 (build-system haskell-build-system)
8375 (arguments
8376 ;; TODO: There are some Windows-related tests and modules that need to be
8377 ;; danced around.
8378 `(#:tests? #f
8379 #:cabal-revision
8380 ("1" "05b1zwx2a893h4h5wvgpc5g5pyx71hfmx409rqisd8s1bq1hn463")))
8381 (inputs
8382 `(("ghc-aeson" ,ghc-aeson)
8383 ("ghc-exceptions" ,ghc-exceptions)
8384 ("ghc-hashable" ,ghc-hashable)))
8385 (native-inputs
8386 `(("ghc-hspec" ,ghc-hspec)
8387 ("ghc-quickcheck" ,ghc-quickcheck)
8388 ("ghc-genvalidity" ,ghc-genvalidity)
8389 ("ghc-genvalidity-property" ,ghc-genvalidity-property)
8390 ("ghc-hspec" ,ghc-hspec)
8391 ("ghc-validity" ,ghc-validity)))
8392 (home-page
8393 "http://hackage.haskell.org/package/path")
8394 (synopsis "Support for well-typed paths")
8395 (description "This package introduces a type for paths upholding useful
8396 invariants.")
8397 (license license:bsd-3)))
8398
8399 (define-public ghc-path-io
8400 (package
8401 (name "ghc-path-io")
8402 (version "1.4.2")
8403 (source
8404 (origin
8405 (method url-fetch)
8406 (uri (string-append
8407 "https://hackage.haskell.org/package/path-io/path-io-"
8408 version
8409 ".tar.gz"))
8410 (sha256
8411 (base32
8412 "0jqx3mi4an4kb3kg78n1p3xrz832yrfrnvj795b0xhkv6h1z5ir3"))))
8413 (build-system haskell-build-system)
8414 (inputs
8415 `(("ghc-dlist" ,ghc-dlist)
8416 ("ghc-exceptions" ,ghc-exceptions)
8417 ("ghc-path" ,ghc-path)
8418 ("ghc-transformers-base" ,ghc-transformers-base)
8419 ("ghc-unix-compat" ,ghc-unix-compat)
8420 ("ghc-temporary" ,ghc-temporary)))
8421 (native-inputs
8422 `(("ghc-hspec" ,ghc-hspec)))
8423 (home-page
8424 "https://github.com/mrkkrp/path-io")
8425 (synopsis "Functions for manipulating well-typed paths")
8426 (description "This package provides an interface to the @code{directory}
8427 package for users of @code{path}. It also implements some missing stuff like
8428 recursive scanning and copying of directories, working with temporary
8429 files/directories, and more.")
8430 (license license:bsd-3)))
8431
8432 (define-public ghc-paths
8433 (package
8434 (name "ghc-paths")
8435 (version "0.1.0.12")
8436 (outputs '("out" "doc"))
8437 (source
8438 (origin
8439 (method url-fetch)
8440 (uri (string-append
8441 "https://hackage.haskell.org/package/ghc-paths/ghc-paths-"
8442 version
8443 ".tar.gz"))
8444 (sha256
8445 (base32
8446 "1164w9pqnf7rjm05mmfjznz7rrn415blrkk1kjc0gjvks1vfdjvf"))))
8447 (build-system haskell-build-system)
8448 (home-page "https://github.com/simonmar/ghc-paths")
8449 (synopsis
8450 "Knowledge of GHC's installation directories")
8451 (description
8452 "Knowledge of GHC's installation directories.")
8453 (license license:bsd-3)))
8454
8455 (define-public ghc-patience
8456 (package
8457 (name "ghc-patience")
8458 (version "0.3")
8459 (source
8460 (origin
8461 (method url-fetch)
8462 (uri (string-append
8463 "https://hackage.haskell.org/package/patience/patience-"
8464 version ".tar.gz"))
8465 (sha256
8466 (base32
8467 "1i1b37lgi31c17yrjyf8pdm4nf5lq8vw90z3rri78hf0k66d0p3i"))))
8468 (build-system haskell-build-system)
8469 (home-page "https://hackage.haskell.org/package/patience")
8470 (synopsis "Patience diff and longest increasing subsequence")
8471 (description
8472 "This library implements the 'patience diff' algorithm, as well as the
8473 patience algorithm for the longest increasing subsequence problem.
8474 Patience diff computes the difference between two lists, for example the lines
8475 of two versions of a source file. It provides a good balance between
8476 performance, nice output for humans, and simplicity of implementation.")
8477 (license license:bsd-3)))
8478
8479 (define-public ghc-pcre-light
8480 (package
8481 (name "ghc-pcre-light")
8482 (version "0.4.0.4")
8483 (source
8484 (origin
8485 (method url-fetch)
8486 (uri (string-append
8487 "https://hackage.haskell.org/package/pcre-light/pcre-light-"
8488 version
8489 ".tar.gz"))
8490 (sha256
8491 (base32
8492 "0xcyi1fivwg7a92mch5bcqzmrfxzqj42rmb3m8kgs61x4qwpxj82"))))
8493 (build-system haskell-build-system)
8494 (inputs
8495 `(("pcre" ,pcre)))
8496 (native-inputs
8497 `(("pkg-config" ,pkg-config)))
8498 (home-page "https://github.com/Daniel-Diaz/pcre-light")
8499 (synopsis "Haskell library for Perl 5 compatible regular expressions")
8500 (description "This package provides a small, efficient, and portable regex
8501 library for Perl 5 compatible regular expressions. The PCRE library is a set
8502 of functions that implement regular expression pattern matching using the same
8503 syntax and semantics as Perl 5.")
8504 (license license:bsd-3)))
8505
8506 (define-public ghc-persistent
8507 (package
8508 (name "ghc-persistent")
8509 (version "2.9.2")
8510 (source
8511 (origin
8512 (method url-fetch)
8513 (uri (string-append "https://hackage.haskell.org/package/"
8514 "persistent-" version "/"
8515 "persistent-" version ".tar.gz"))
8516 (sha256
8517 (base32
8518 "1wsa3kn427v88a6r0vwr6mz23snik2krbsgc8zqp18xajqn5szj9"))))
8519 (build-system haskell-build-system)
8520 (inputs `(("ghc-old-locale" ,ghc-old-locale)
8521 ("ghc-conduit" ,ghc-conduit)
8522 ("ghc-resourcet" ,ghc-resourcet)
8523 ("ghc-exceptions" ,ghc-exceptions)
8524 ("ghc-monad-control" ,ghc-monad-control)
8525 ("ghc-lifted-base" ,ghc-lifted-base)
8526 ("ghc-resource-pool" ,ghc-resource-pool)
8527 ("ghc-path-pieces" ,ghc-path-pieces)
8528 ("ghc-http-api-data" ,ghc-http-api-data)
8529 ("ghc-aeson" ,ghc-aeson)
8530 ("ghc-monad-logger" ,ghc-monad-logger)
8531 ("ghc-transformers-base" ,ghc-transformers-base)
8532 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
8533 ("ghc-unordered-containers" ,ghc-unordered-containers)
8534 ("ghc-vector" ,ghc-vector)
8535 ("ghc-attoparsec" ,ghc-attoparsec)
8536 ("ghc-haskell-src-meta" ,ghc-haskell-src-meta)
8537 ("ghc-blaze-html" ,ghc-blaze-html)
8538 ("ghc-blaze-markup" ,ghc-blaze-markup)
8539 ("ghc-silently" ,ghc-silently)
8540 ("ghc-fast-logger" ,ghc-fast-logger)
8541 ("ghc-scientific" ,ghc-scientific)
8542 ("ghc-tagged" ,ghc-tagged)
8543 ("ghc-void" ,ghc-void)))
8544 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
8545 (home-page "https://www.yesodweb.com/book/persistent")
8546 (synopsis "Type-safe, multi-backend data serialization for Haskell")
8547 (description "This Haskell package allows Haskell programs to access data
8548 storage systems like PostgreSQL, SQLite, MySQL and MongoDB in a type-safe
8549 way.")
8550 (license license:expat)))
8551
8552 (define-public ghc-persistent-sqlite
8553 (package
8554 (name "ghc-persistent-sqlite")
8555 (version "2.9.3")
8556 (source
8557 (origin
8558 (method url-fetch)
8559 (uri (string-append "https://hackage.haskell.org/package/"
8560 "persistent-sqlite-" version "/"
8561 "persistent-sqlite-" version ".tar.gz"))
8562 (sha256
8563 (base32
8564 "13wbn88ixv4d4dfjl1gabm1q60fbcnygbmixz57pi3z84drrynwq"))))
8565 (build-system haskell-build-system)
8566 (inputs `(("ghc-persistent" ,ghc-persistent)
8567 ("ghc-unliftio-core" ,ghc-unliftio-core)
8568 ("ghc-aeson" ,ghc-aeson)
8569 ("ghc-conduit" ,ghc-conduit)
8570 ("ghc-monad-logger" ,ghc-monad-logger)
8571 ("ghc-microlens-th" ,ghc-microlens-th)
8572 ("ghc-resourcet" ,ghc-resourcet)
8573 ("ghc-old-locale" ,ghc-old-locale)
8574 ("ghc-resource-pool" ,ghc-resource-pool)
8575 ("ghc-unordered-containers" ,ghc-unordered-containers)))
8576 (native-inputs `(("ghc-hspec" ,ghc-hspec)
8577 ("ghc-persistent-template" ,ghc-persistent-template)
8578 ("ghc-temporary" ,ghc-temporary)))
8579 (home-page
8580 "https://www.yesodweb.com/book/persistent")
8581 (synopsis "Backend for the persistent library using sqlite3")
8582 (description "This Haskell package includes a thin sqlite3 wrapper based
8583 on the direct-sqlite package, as well as the entire C library, so there are no
8584 system dependencies.")
8585 (license license:expat)))
8586
8587 (define-public ghc-persistent-template
8588 (package
8589 (name "ghc-persistent-template")
8590 (version "2.6.0")
8591 (source
8592 (origin
8593 (method url-fetch)
8594 (uri (string-append "https://hackage.haskell.org/package/"
8595 "persistent-template-" version "/"
8596 "persistent-template-" version ".tar.gz"))
8597 (sha256
8598 (base32
8599 "0wr1z2nfrl6jv1lprxb0d2jw4izqfcbcwvkdrhryzg95gjz8ryjv"))))
8600 (build-system haskell-build-system)
8601 (inputs `(("ghc-persistent" ,ghc-persistent)
8602 ("ghc-monad-control" ,ghc-monad-control)
8603 ("ghc-aeson" ,ghc-aeson)
8604 ("ghc-aeson-compat" ,ghc-aeson-compat)
8605 ("ghc-monad-logger" ,ghc-monad-logger)
8606 ("ghc-unordered-containers" ,ghc-unordered-containers)
8607 ("ghc-tagged" ,ghc-tagged)
8608 ("ghc-path-pieces" ,ghc-path-pieces)
8609 ("ghc-http-api-data" ,ghc-http-api-data)))
8610 (native-inputs `(("ghc-hspec" ,ghc-hspec)
8611 ("ghc-quickcheck" ,ghc-quickcheck)))
8612 (home-page "https://www.yesodweb.com/book/persistent")
8613 (synopsis "Type-safe, non-relational, multi-backend persistence")
8614 (description "This Haskell package provides interfaces and helper
8615 functions for the ghc-persistent package.")
8616 (license license:expat)))
8617
8618 (define-public ghc-polyparse
8619 (package
8620 (name "ghc-polyparse")
8621 (version "1.12.1")
8622 (source
8623 (origin
8624 (method url-fetch)
8625 (uri (string-append
8626 "https://hackage.haskell.org/package/polyparse/polyparse-"
8627 version
8628 ".tar.gz"))
8629 (sha256
8630 (base32
8631 "19fs18g7fvfdkm9zy28cgighjcxfa6mcpqgyp6whmsjkb3h393fx"))))
8632 (build-system haskell-build-system)
8633 (home-page
8634 "http://code.haskell.org/~malcolm/polyparse/")
8635 (synopsis
8636 "Alternative parser combinator libraries")
8637 (description
8638 "This package provides a variety of alternative parser combinator
8639 libraries, including the original HuttonMeijer set. The Poly sets have
8640 features like good error reporting, arbitrary token type, running state, lazy
8641 parsing, and so on. Finally, Text.Parse is a proposed replacement for the
8642 standard Read class, for better deserialisation of Haskell values from
8643 Strings.")
8644 (license license:lgpl2.1)))
8645
8646 (define-public ghc-pqueue
8647 (package
8648 (name "ghc-pqueue")
8649 (version "1.4.1.2")
8650 (source
8651 (origin
8652 (method url-fetch)
8653 (uri (string-append "https://hackage.haskell.org/package/"
8654 "pqueue/pqueue-" version ".tar.gz"))
8655 (sha256
8656 (base32
8657 "1v4zhv2sc1zsw91hvnarkjhayx2dnf7ccxz6rrhsqpcs0szaranj"))))
8658 (build-system haskell-build-system)
8659 (native-inputs
8660 `(("ghc-quickcheck" ,ghc-quickcheck)))
8661 (home-page "https://hackage.haskell.org/package/pqueue")
8662 (synopsis "Reliable, persistent, fast priority queues")
8663 (description
8664 "This package provides a fast, reliable priority queue implementation
8665 based on a binomial heap.")
8666 (license license:bsd-3)))
8667
8668 (define-public ghc-prelude-extras
8669 (package
8670 (name "ghc-prelude-extras")
8671 (version "0.4.0.3")
8672 (source
8673 (origin
8674 (method url-fetch)
8675 (uri (string-append
8676 "https://hackage.haskell.org/package/prelude-extras/prelude-extras-"
8677 version
8678 ".tar.gz"))
8679 (sha256
8680 (base32
8681 "0xzqdf3nl2h0ra4gnslm1m1nsxlsgc0hh6ky3vn578vh11zhifq9"))))
8682 (build-system haskell-build-system)
8683 (home-page "https://github.com/ekmett/prelude-extras")
8684 (synopsis "Higher order versions of Prelude classes")
8685 (description "This library provides higher order versions of
8686 @code{Prelude} classes to ease programming with polymorphic recursion and
8687 reduce @code{UndecidableInstances}.")
8688 (license license:bsd-3)))
8689
8690 (define-public ghc-prettyclass
8691 (package
8692 (name "ghc-prettyclass")
8693 (version "1.0.0.0")
8694 (source
8695 (origin
8696 (method url-fetch)
8697 (uri (string-append "https://hackage.haskell.org/package/"
8698 "prettyclass/prettyclass-" version ".tar.gz"))
8699 (sha256
8700 (base32
8701 "11l9ajci7nh1r547hx8hgxrhq8mh5gdq30pdf845wvilg9p48dz5"))))
8702 (build-system haskell-build-system)
8703 (home-page "http://hackage.haskell.org/package/prettyclass")
8704 (synopsis "Pretty printing class similar to Show")
8705 (description "This package provides a pretty printing class similar
8706 to @code{Show}, based on the HughesPJ pretty printing library. It
8707 provides the pretty printing class and instances for the Prelude
8708 types.")
8709 (license license:bsd-3)))
8710
8711 (define-public ghc-pretty-hex
8712 (package
8713 (name "ghc-pretty-hex")
8714 (version "1.0")
8715 (source
8716 (origin
8717 (method url-fetch)
8718 (uri (string-append "https://hackage.haskell.org/package/"
8719 "pretty-hex-" version "/"
8720 "pretty-hex-" version ".tar.gz"))
8721 (sha256
8722 (base32
8723 "0ylwkvvjvmpprha9nx83xb8gkhyanhk5fffc0r7lb96n4ch5z6pz"))))
8724 (build-system haskell-build-system)
8725 (home-page "https://github.com/GaloisInc/hexdump")
8726 (synopsis "Haskell library for hex dumps of ByteStrings")
8727 (description "This Haskell library generates pretty hex dumps of
8728 ByteStrings in the style of other common *nix hex dump tools.")
8729 (license license:bsd-3)))
8730
8731 (define-public ghc-pretty-show
8732 (package
8733 (name "ghc-pretty-show")
8734 (version "1.9.5")
8735 (source
8736 (origin
8737 (method url-fetch)
8738 (uri (string-append "https://hackage.haskell.org/package/pretty-show/"
8739 "pretty-show-" version ".tar.gz"))
8740 (sha256
8741 (base32
8742 "0gs2pabi4qa4b0r5vffpf9b1cf5n9y2939a3lljjw7cmg6xvx5dh"))))
8743 (build-system haskell-build-system)
8744 (inputs
8745 `(("ghc-haskell-lexer" ,ghc-haskell-lexer)
8746 ("ghc-happy" ,ghc-happy)))
8747 (home-page "http://wiki.github.com/yav/pretty-show")
8748 (synopsis "Tools for working with derived `Show` instances")
8749 (description
8750 "This package provides a library and an executable for working with
8751 derived @code{Show} instances. By using the library, derived @code{Show}
8752 instances can be parsed into a generic data structure. The @code{ppsh} tool
8753 uses the library to produce human-readable versions of @code{Show} instances,
8754 which can be quite handy for debugging Haskell programs. We can also render
8755 complex generic values into an interactive Html page, for easier
8756 examination.")
8757 (license license:expat)))
8758
8759 (define-public ghc-primitive
8760 (package
8761 (name "ghc-primitive")
8762 (version "0.6.4.0")
8763 (outputs '("out" "doc"))
8764 (source
8765 (origin
8766 (method url-fetch)
8767 (uri (string-append
8768 "https://hackage.haskell.org/package/primitive/primitive-"
8769 version
8770 ".tar.gz"))
8771 (sha256
8772 (base32
8773 "0r0cda7acvplgwaxy69kviv4jp7kkfi038by68gj4yfx4iwszgjc"))))
8774 (build-system haskell-build-system)
8775 (arguments
8776 `(#:cabal-revision
8777 ("1" "18a14k1yiam1m4l29rin9a0y53yp3nxvkz358nysld8aqwy2qsjv")))
8778 (home-page
8779 "https://github.com/haskell/primitive")
8780 (synopsis "Primitive memory-related operations")
8781 (description
8782 "This package provides various primitive memory-related operations.")
8783 (license license:bsd-3)))
8784
8785 (define-public ghc-process-extras
8786 (package
8787 (name "ghc-process-extras")
8788 (version "0.7.4")
8789 (source
8790 (origin
8791 (method url-fetch)
8792 (uri
8793 (string-append
8794 "https://hackage.haskell.org/package/process-extras/"
8795 "process-extras-" version ".tar.gz"))
8796 (sha256
8797 (base32
8798 "0klqgr37f1z2z6i0a9b0giapmq0p35l5k9kz1p7f0k1597w7agi9"))))
8799 (build-system haskell-build-system)
8800 (inputs
8801 `(("ghc-data-default" ,ghc-data-default)
8802 ("ghc-generic-deriving" ,ghc-generic-deriving)
8803 ("ghc-hunit" ,ghc-hunit)
8804 ("ghc-listlike" ,ghc-listlike)))
8805 (home-page "https://github.com/seereason/process-extras")
8806 (synopsis "Extra tools for managing processes")
8807 (description "This package extends
8808 @url{http://hackage.haskell.org/package/process}. It allows you to read
8809 process input and output as ByteStrings or Text, or write your own
8810 ProcessOutput instance. It also provides lazy process input and output,
8811 and a ProcessMaker class for more flexibility in the process creation
8812 API.")
8813 (license license:expat)))
8814
8815 (define-public ghc-profunctors
8816 (package
8817 (name "ghc-profunctors")
8818 (version "5.3")
8819 (source
8820 (origin
8821 (method url-fetch)
8822 (uri (string-append
8823 "https://hackage.haskell.org/package/profunctors/profunctors-"
8824 version
8825 ".tar.gz"))
8826 (sha256
8827 (base32
8828 "1dx3nkc27yxsrbrhh3iwhq7dl1xn6bj7n62yx6nh8vmpbg62lqvl"))))
8829 (build-system haskell-build-system)
8830 (inputs
8831 `(("ghc-base-orphans" ,ghc-base-orphans)
8832 ("ghc-bifunctors" ,ghc-bifunctors)
8833 ("ghc-comonad" ,ghc-comonad)
8834 ("ghc-contravariant" ,ghc-contravariant)
8835 ("ghc-distributive" ,ghc-distributive)
8836 ("ghc-semigroups" ,ghc-semigroups)
8837 ("ghc-tagged" ,ghc-tagged)))
8838 (home-page "https://github.com/ekmett/profunctors/")
8839 (synopsis "Profunctors for Haskell")
8840 (description "This library provides profunctors for Haskell.")
8841 (license license:bsd-3)))
8842
8843 (define-public ghc-psqueues
8844 (package
8845 (name "ghc-psqueues")
8846 (version "0.2.7.2")
8847 (source
8848 (origin
8849 (method url-fetch)
8850 (uri (string-append "https://hackage.haskell.org/package/"
8851 "psqueues-" version "/"
8852 "psqueues-" version ".tar.gz"))
8853 (sha256
8854 (base32
8855 "1yckx2csqswghiy9nfj03cybmza8104nmnpbpcc9ngwlbmakn9i6"))))
8856 (build-system haskell-build-system)
8857 (inputs
8858 `(("ghc-hashable" ,ghc-hashable)))
8859 (native-inputs
8860 `(("ghc-hunit" ,ghc-hunit)
8861 ("ghc-quickcheck" ,ghc-quickcheck)
8862 ("ghc-tagged" ,ghc-tagged)
8863 ("ghc-tasty" ,ghc-tasty)
8864 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
8865 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
8866 (home-page "https://github.com/jaspervdj/psqueues")
8867 (synopsis "Pure priority search queues")
8868 (description "The psqueues package provides
8869 @uref{https://en.wikipedia.org/wiki/Priority_queue, Priority Search Queues} in
8870 three different flavors:
8871
8872 @itemize
8873 @item @code{OrdPSQ k p v}, which uses the @code{Ord k} instance to provide
8874 fast insertion, deletion and lookup. This implementation is based on Ralf
8875 Hinze's @uref{http://citeseer.ist.psu.edu/hinze01simple.html, A Simple
8876 Implementation Technique for Priority Search Queues}.
8877
8878 Hence, it is similar to the @uref{https://hackage.haskell.org/package/PSQueue,
8879 PSQueue} library, although it is considerably faster and provides a slightly
8880 different API.
8881
8882 @item @code{IntPSQ p v} is a far more efficient implementation. It fixes the
8883 key type to @code{Int} and uses a
8884 @code{https://en.wikipedia.org/wiki/Radix_tree, radix tree} (like @code{IntMap})
8885 with an additional min-heap property.
8886
8887 @item @code{HashPSQ k p v} is a fairly straightforward extension
8888 of @code{IntPSQ}: it simply uses the keys' hashes as indices in the
8889 @code{IntPSQ}. If there are any hash collisions, it uses an
8890 @code{OrdPSQ} to resolve those. The performance of this implementation
8891 is comparable to that of @code{IntPSQ}, but it is more widely
8892 applicable since the keys are not restricted to @code{Int},
8893 but rather to any @code{Hashable} datatype.
8894 @end itemize
8895
8896 Each of the three implementations provides the same API, so they can
8897 be used interchangeably.
8898
8899 Typical applications of Priority Search Queues include:
8900
8901 @itemize
8902 @item Caches, and more specifically LRU Caches;
8903 @item Schedulers;
8904 @item Pathfinding algorithms, such as Dijkstra's and A*.
8905 @end itemize")
8906 (license license:bsd-3)))
8907
8908 (define-public ghc-random
8909 (package
8910 (name "ghc-random")
8911 (version "1.1")
8912 (outputs '("out" "doc"))
8913 (source
8914 (origin
8915 (method url-fetch)
8916 (uri (string-append
8917 "https://hackage.haskell.org/package/random/random-"
8918 version
8919 ".tar.gz"))
8920 (sha256
8921 (base32 "0nis3lbkp8vfx8pkr6v7b7kr5m334bzb0fk9vxqklnp2aw8a865p"))))
8922 (build-system haskell-build-system)
8923 (home-page "https://hackage.haskell.org/package/random")
8924 (synopsis "Random number library")
8925 (description "This package provides a basic random number generation
8926 library, including the ability to split random number generators.")
8927 (license license:bsd-3)))
8928
8929 (define-public ghc-raw-strings-qq
8930 (package
8931 (name "ghc-raw-strings-qq")
8932 (version "1.1")
8933 (source
8934 (origin
8935 (method url-fetch)
8936 (uri (string-append "https://hackage.haskell.org/package/"
8937 "raw-strings-qq/raw-strings-qq-"
8938 version ".tar.gz"))
8939 (sha256
8940 (base32
8941 "1lxy1wy3awf52968iy5y9r5z4qgnn2sxkdrh7js3m9gadb11w09f"))))
8942 (build-system haskell-build-system)
8943 (native-inputs `(("ghc-hunit" ,ghc-hunit)))
8944 (home-page "https://github.com/23Skidoo/raw-strings-qq")
8945 (synopsis "Raw string literals for Haskell")
8946 (description
8947 "This package provides a quasiquoter for raw string literals, i.e. string
8948 literals that don't recognise the standard escape sequences. Basically, they
8949 make your code more readable by freeing you from the responsibility to escape
8950 backslashes. They are useful when working with regular expressions,
8951 DOS/Windows paths and markup languages (such as XML).")
8952 (license license:bsd-3)))
8953
8954 (define-public ghc-readable
8955 (package
8956 (name "ghc-readable")
8957 (version "0.3.1")
8958 (source
8959 (origin
8960 (method url-fetch)
8961 (uri (string-append "https://hackage.haskell.org/package/"
8962 "readable/readable-" version ".tar.gz"))
8963 (sha256
8964 (base32
8965 "1ja39cg26wy2fs00gi12x7iq5k8i366pbqi3p916skfa5jnkfc3h"))))
8966 (build-system haskell-build-system)
8967 (home-page "https://github.com/mightybyte/readable")
8968 (synopsis "Type class for reading from Text and ByteString")
8969 (description "This package provides a @code{Readable} type class for
8970 reading data types from @code{ByteString} and @code{Text}. It also
8971 includes efficient implementations for common data types.")
8972 (license license:bsd-3)))
8973
8974 (define-public ghc-rebase
8975 (package
8976 (name "ghc-rebase")
8977 (version "1.3.1.1")
8978 (source
8979 (origin
8980 (method url-fetch)
8981 (uri (string-append "https://hackage.haskell.org/package/"
8982 "rebase-" version "/"
8983 "rebase-" version ".tar.gz"))
8984 (sha256
8985 (base32
8986 "0q4m2fa7wkgxs0grir8rlqwibasmi3s1x7c107ynndwfm62nzv0a"))))
8987 (build-system haskell-build-system)
8988 (inputs `(("ghc-hashable" ,ghc-hashable)
8989 ("ghc-vector" ,ghc-vector)
8990 ("ghc-unordered-containers" ,ghc-unordered-containers)
8991 ("ghc-scientific" ,ghc-scientific)
8992 ("ghc-uuid" ,ghc-uuid)
8993 ("ghc-dlist" ,ghc-dlist)
8994 ("ghc-void" ,ghc-void)
8995 ("ghc-bifunctors" ,ghc-bifunctors)
8996 ("ghc-profunctors" ,ghc-profunctors)
8997 ("ghc-contravariant" ,ghc-contravariant)
8998 ("ghc-contravariant-extras" ,ghc-contravariant-extras)
8999 ("ghc-semigroups" ,ghc-semigroups)
9000 ("ghc-either" ,ghc-either)
9001 ("ghc-fail" ,ghc-fail)
9002 ("ghc-base-prelude" ,ghc-base-prelude)))
9003 (home-page "https://github.com/nikita-volkov/rebase")
9004 (synopsis "Progressive alternative to the base package
9005 for Haskell")
9006 (description "This Haskell package is intended for those who are
9007 tired of keeping long lists of dependencies to the same essential libraries
9008 in each package as well as the endless imports of the same APIs all over again.
9009
9010 It also supports the modern tendencies in the language.
9011
9012 To solve those problems this package does the following:
9013
9014 @itemize
9015 @item Reexport the original APIs under the @code{Rebase} namespace.
9016
9017 @item Export all the possible non-conflicting symbols from the
9018 @code{Rebase.Prelude} module.
9019
9020 @item Give priority to the modern practices in the conflicting cases.
9021 @end itemize
9022
9023 The policy behind the package is only to reexport the non-ambiguous and
9024 non-controversial APIs, which the community has obviously settled on.
9025 The package is intended to rapidly evolve with the contribution from
9026 the community, with the missing features being added with pull-requests.")
9027 (license license:expat)))
9028
9029 (define-public ghc-reducers
9030 (package
9031 (name "ghc-reducers")
9032 (version "3.12.3")
9033 (source
9034 (origin
9035 (method url-fetch)
9036 (uri (string-append
9037 "https://hackage.haskell.org/package/reducers/reducers-"
9038 version
9039 ".tar.gz"))
9040 (sha256
9041 (base32
9042 "09wf8pl9ycglcv6qj5ba26gkg2s5iy81hsx9xp0q8na0cwvp71ki"))))
9043 (build-system haskell-build-system)
9044 (inputs
9045 `(("ghc-fingertree" ,ghc-fingertree)
9046 ("ghc-hashable" ,ghc-hashable)
9047 ("ghc-unordered-containers" ,ghc-unordered-containers)
9048 ("ghc-semigroupoids" ,ghc-semigroupoids)
9049 ("ghc-semigroups" ,ghc-semigroups)))
9050 (home-page "https://github.com/ekmett/reducers/")
9051 (synopsis "Semigroups, specialized containers and a general map/reduce framework")
9052 (description "This library provides various semigroups, specialized
9053 containers and a general map/reduce framework for Haskell.")
9054 (license license:bsd-3)))
9055
9056 (define-public ghc-refact
9057 (package
9058 (name "ghc-refact")
9059 (version "0.3.0.2")
9060 (source
9061 (origin
9062 (method url-fetch)
9063 (uri (string-append "https://hackage.haskell.org/package/"
9064 "refact/refact-"
9065 version ".tar.gz"))
9066 (sha256
9067 (base32
9068 "0v0zxcx29b8jxs2kgy9csykqcp8kzhdvyylw2xfwmj4pfxr2kl0a"))))
9069 (build-system haskell-build-system)
9070 (home-page "http://hackage.haskell.org/package/refact")
9071 (synopsis "Specify refactorings to perform with apply-refact")
9072 (description
9073 "This library provides a datatype which can be interpreted by
9074 @code{apply-refact}. It exists as a separate library so that applications can
9075 specify refactorings without depending on GHC.")
9076 (license license:bsd-3)))
9077
9078 (define-public ghc-reflection
9079 (package
9080 (name "ghc-reflection")
9081 (version "2.1.5")
9082 (source
9083 (origin
9084 (method url-fetch)
9085 (uri (string-append
9086 "https://hackage.haskell.org/package/reflection/reflection-"
9087 version
9088 ".tar.gz"))
9089 (sha256
9090 (base32
9091 "0xr947nj1vww5b8fwqmypxm3y3j5sxl4z8wnf834f83jzfzyjbi7"))))
9092 (build-system haskell-build-system)
9093 (inputs `(("ghc-tagged" ,ghc-tagged)))
9094 (native-inputs
9095 `(("ghc-hspec" ,ghc-hspec)
9096 ("ghc-quickcheck" ,ghc-quickcheck)
9097 ("hspec-discover" ,hspec-discover)))
9098 (home-page "https://github.com/ekmett/reflection")
9099 (synopsis "Reify arbitrary terms into types that can be reflected back
9100 into terms")
9101 (description "This package addresses the 'configuration problem' which is
9102 propagating configurations that are available at run-time, allowing multiple
9103 configurations to coexist without resorting to mutable global variables or
9104 @code{System.IO.Unsafe.unsafePerformIO}.")
9105 (license license:bsd-3)))
9106
9107 (define-public ghc-regex
9108 (package
9109 (name "ghc-regex")
9110 (version "1.0.2.0")
9111 (source
9112 (origin
9113 (method url-fetch)
9114 (uri (string-append "https://hackage.haskell.org/package/regex/"
9115 "regex-" version ".tar.gz"))
9116 (sha256
9117 (base32
9118 "1f2z025hif1fr24b5khq3qxxyvpxrnhyx8xmbms332arw28rpkda"))))
9119 (build-system haskell-build-system)
9120 (arguments
9121 `(#:phases
9122 (modify-phases %standard-phases
9123 (add-after 'unpack 'relax-dependencies
9124 (lambda _
9125 (substitute* "regex.cabal"
9126 (("base-compat.*>=.*0.6.*")
9127 "base-compat >= 0.6\n")
9128 (("template-haskell.*>=.*2.7.*")
9129 "template-haskell >= 2.7\n"))
9130 #t)))))
9131 (inputs
9132 `(("ghc-base-compat" ,ghc-base-compat)
9133 ("ghc-hashable" ,ghc-hashable)
9134 ("ghc-regex-base" ,ghc-regex-base)
9135 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
9136 ("ghc-regex-tdfa" ,ghc-regex-tdfa)
9137 ("ghc-regex-tdfa-text" ,ghc-regex-tdfa-text)
9138 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
9139 ("ghc-unordered-containers" ,ghc-unordered-containers)
9140 ("ghc-utf8-string" ,ghc-utf8-string)))
9141 (home-page "http://regex.uk")
9142 (synopsis "Toolkit for regex-base")
9143 (description
9144 "This package provides a regular expression toolkit for @code{regex-base}
9145 with compile-time checking of regular expression syntax, data types for
9146 matches and captures, a text replacement toolkit, portable options, high-level
9147 AWK-like tools for building text processing apps, regular expression macros
9148 with parsers and test bench, comprehensive documentation, tutorials and
9149 copious examples.")
9150 (license license:bsd-3)))
9151
9152 (define-public ghc-regex-applicative
9153 (package
9154 (name "ghc-regex-applicative")
9155 (version "0.3.3.1")
9156 (source
9157 (origin
9158 (method url-fetch)
9159 (uri (string-append
9160 "https://hackage.haskell.org/package/regex-applicative/"
9161 "regex-applicative-" version ".tar.gz"))
9162 (sha256
9163 (base32
9164 "0p0anx5vamrhrdvviwkh2zn6pa3pv2bjb7nfyc7dvz2q7g14y1lg"))))
9165 (build-system haskell-build-system)
9166 (inputs
9167 `(("ghc-smallcheck" ,ghc-smallcheck)
9168 ("ghc-tasty" ,ghc-tasty)
9169 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
9170 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
9171 (home-page "https://github.com/feuerbach/regex-applicative")
9172 (synopsis "Regex-based parsing with applicative interface")
9173 (description
9174 "@code{regex-applicative} is a Haskell library for parsing using
9175 regular expressions. Parsers can be built using Applicative interface.")
9176 (license license:expat)))
9177
9178 (define-public ghc-regex-base
9179 (package
9180 (name "ghc-regex-base")
9181 (version "0.93.2")
9182 (source
9183 (origin
9184 (method url-fetch)
9185 (uri (string-append
9186 "https://hackage.haskell.org/package/regex-base/regex-base-"
9187 version
9188 ".tar.gz"))
9189 (sha256
9190 (base32
9191 "0y1j4h2pg12c853nzmczs263di7xkkmlnsq5dlp5wgbgl49mgp10"))))
9192 (build-system haskell-build-system)
9193 (home-page
9194 "https://sourceforge.net/projects/lazy-regex")
9195 (synopsis "Replaces/Enhances Text.Regex")
9196 (description "@code{Text.Regex.Base} provides the interface API for
9197 regex-posix, regex-pcre, regex-parsec, regex-tdfa, regex-dfa.")
9198 (license license:bsd-3)))
9199
9200 (define-public ghc-regex-compat
9201 (package
9202 (name "ghc-regex-compat")
9203 (version "0.95.1")
9204 (source
9205 (origin
9206 (method url-fetch)
9207 (uri (string-append
9208 "https://hackage.haskell.org/package/regex-compat/regex-compat-"
9209 version
9210 ".tar.gz"))
9211 (sha256
9212 (base32
9213 "0fwmima3f04p9y4h3c23493n1xj629ia2dxaisqm6rynljjv2z6m"))))
9214 (build-system haskell-build-system)
9215 (inputs
9216 `(("ghc-regex-base" ,ghc-regex-base)
9217 ("ghc-regex-posix" ,ghc-regex-posix)))
9218 (home-page "https://sourceforge.net/projects/lazy-regex")
9219 (synopsis "Replaces/Enhances Text.Regex")
9220 (description "This library provides one module layer over
9221 @code{regex-posix} to replace @code{Text.Regex}.")
9222 (license license:bsd-3)))
9223
9224 (define-public ghc-regex-compat-tdfa
9225 (package
9226 (name "ghc-regex-compat-tdfa")
9227 (version "0.95.1.4")
9228 (source
9229 (origin
9230 (method url-fetch)
9231 (uri (string-append
9232 "https://hackage.haskell.org/package/regex-compat-tdfa/regex-compat-tdfa-"
9233 version ".tar.gz"))
9234 (sha256
9235 (base32
9236 "1p90fn90yhp7fvljjdqjp41cszidcfz4pw7fwvzyx4739b98x8sg"))))
9237 (build-system haskell-build-system)
9238 (inputs
9239 `(("ghc-regex-base" ,ghc-regex-base)
9240 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
9241 (home-page "https://hub.darcs.net/shelarcy/regex-compat-tdfa")
9242 (synopsis "Unicode Support version of Text.Regex, using regex-tdfa")
9243 (description
9244 "One module layer over @code{regex-tdfa} to replace @code{Text.Regex}.
9245 @code{regex-compat} can't use Unicode characters correctly because of using regex-posix.
9246 This is not good for Unicode users. This modified regex-compat uses regex-tdfa to solve
9247 this problem.")
9248 (license license:bsd-3)))
9249
9250 (define-public ghc-regex-pcre-builtin
9251 (package
9252 (name "ghc-regex-pcre-builtin")
9253 (version "0.94.5.8.8.35")
9254 (source (origin
9255 (method url-fetch)
9256 (uri (string-append "https://hackage.haskell.org/package/"
9257 "regex-pcre-builtin/regex-pcre-builtin-"
9258 version ".tar.gz"))
9259 (sha256
9260 (base32
9261 "1s755qdg1mxrf125sh83bsc5kjkrj8fkq8wf6dg1jan86c7p7gl4"))))
9262 (build-system haskell-build-system)
9263 (inputs
9264 `(("ghc-regex-base" ,ghc-regex-base)))
9265 (home-page "https://hackage.haskell.org/package/regex-pcre")
9266 (synopsis "Enhancement of the builtin Text.Regex library")
9267 (description
9268 "This package is an enhancement of the @code{Text.Regex} library,
9269 providing the PCRE backend to accompany regex-base, with bundled code from
9270 @url{https://www.pcre.org}.")
9271 (license license:bsd-3)))
9272
9273 (define-public ghc-regex-posix
9274 (package
9275 (name "ghc-regex-posix")
9276 (version "0.95.2")
9277 (source
9278 (origin
9279 (method url-fetch)
9280 (uri (string-append
9281 "https://hackage.haskell.org/package/regex-posix/regex-posix-"
9282 version
9283 ".tar.gz"))
9284 (sha256
9285 (base32
9286 "0gkhzhj8nvfn1ija31c7xnl6p0gadwii9ihyp219ck2arlhrj0an"))))
9287 (build-system haskell-build-system)
9288 (inputs
9289 `(("ghc-regex-base" ,ghc-regex-base)))
9290 (home-page "https://sourceforge.net/projects/lazy-regex")
9291 (synopsis "POSIX regular expressions for Haskell")
9292 (description "This library provides the POSIX regex backend used by the
9293 Haskell library @code{regex-base}.")
9294 (license license:bsd-3)))
9295
9296 (define-public ghc-regex-tdfa
9297 (package
9298 (name "ghc-regex-tdfa")
9299 (version "1.2.3.2")
9300 (source
9301 (origin
9302 (method url-fetch)
9303 (uri (string-append
9304 "https://hackage.haskell.org/package/regex-tdfa/regex-tdfa-"
9305 version ".tar.gz"))
9306 (sha256
9307 (base32
9308 "03yhpqrqz977nwlnhnyz9dacnbzw8xb6j18h365rkgmbc05sb3hf"))))
9309 (build-system haskell-build-system)
9310 (inputs
9311 `(("ghc-regex-base" ,ghc-regex-base)))
9312 (home-page "https://github.com/ChrisKuklewicz/regex-tdfa")
9313 (synopsis "POSIX extended regular expressions in Haskell.")
9314 (description
9315 "Regex-tdfa is a pure Haskell regular expression library implementing POSIX
9316 extended regular expressions. It is a \"tagged\" DFA regex engine. It is
9317 inspired by libtre.")
9318 (license license:bsd-3)))
9319
9320 (define-public ghc-regex-tdfa-text
9321 (package
9322 (name "ghc-regex-tdfa-text")
9323 (version "1.0.0.3")
9324 (source
9325 (origin
9326 (method url-fetch)
9327 (uri (string-append
9328 "https://hackage.haskell.org/package/regex-tdfa-text/"
9329 "regex-tdfa-text-" version ".tar.gz"))
9330 (sha256
9331 (base32
9332 "0090g6lgbdm9lywpqm2d3724nnnh24nx3vnlqr96qc2w486pmmrq"))))
9333 (build-system haskell-build-system)
9334 (inputs
9335 `(("ghc-regex-base" ,ghc-regex-base)
9336 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
9337 (home-page
9338 "http://hackage.haskell.org/package/regex-tdfa-text")
9339 (synopsis "Text interface for regex-tdfa")
9340 (description
9341 "This provides an extra text interface for regex-tdfa.")
9342 (license license:bsd-3)))
9343
9344 (define-public ghc-rerebase
9345 (package
9346 (name "ghc-rerebase")
9347 (version "1.3.1.1")
9348 (source
9349 (origin
9350 (method url-fetch)
9351 (uri (string-append
9352 "https://hackage.haskell.org/package/rerebase/rerebase-"
9353 version ".tar.gz"))
9354 (sha256
9355 (base32
9356 "1jbqif6k249rkknm2zwk8v8jil3kgi9ar53358v8l4ffx346rm82"))))
9357 (build-system haskell-build-system)
9358 (inputs
9359 `(("ghc-rebase" ,ghc-rebase)))
9360 (home-page "https://github.com/nikita-volkov/rerebase")
9361 (synopsis "Reexports from ``base'' with many other standard libraries")
9362 (description "A rich drop-in replacement for @code{base}. For details and
9363 documentation please visit @uref{https://github.com/nikita-volkov/rerebase,
9364 the project's home page}.")
9365 (license license:expat)))
9366
9367 (define-public ghc-resolv
9368 (package
9369 (name "ghc-resolv")
9370 (version "0.1.1.2")
9371 (source
9372 (origin
9373 (method url-fetch)
9374 (uri (string-append
9375 "https://hackage.haskell.org/package/resolv/resolv-"
9376 version ".tar.gz"))
9377 (sha256
9378 (base32
9379 "0wczdy3vmpfcfwjn1m95bygc5d83m97xxmavhdvy5ayn8c402fp4"))))
9380 (build-system haskell-build-system)
9381 (arguments
9382 `(#:phases
9383 (modify-phases %standard-phases
9384 (add-before 'configure 'update-constraints
9385 (lambda _
9386 (substitute* "resolv.cabal"
9387 (("tasty >= 1\\.1 && < 1\\.2")
9388 "tasty >= 1.1 && < 1.3"))
9389 #t)))))
9390 (inputs
9391 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)))
9392 (native-inputs
9393 `(("ghc-tasty" ,ghc-tasty)
9394 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
9395 (home-page "https://github.com/haskell/hackage-security")
9396 (synopsis "Domain Name Service (DNS) lookup via @code{libresolv}")
9397 (description "This package implements an API for accessing the
9398 @uref{https://tools.ietf.org/html/rfc1035, Domain Name Service (DNS)}
9399 resolver service via the standard @code{libresolv} system library (whose
9400 API is often available directly via the standard @code{libc} C library) on
9401 Unix systems.")
9402 (license license:gpl3)))
9403
9404 (define-public ghc-resource-pool
9405 (package
9406 (name "ghc-resource-pool")
9407 (version "0.2.3.2")
9408 (source
9409 (origin
9410 (method url-fetch)
9411 (uri (string-append "https://hackage.haskell.org/package/"
9412 "resource-pool-" version "/"
9413 "resource-pool-" version ".tar.gz"))
9414 (sha256
9415 (base32
9416 "04mw8b9djb14zp4rdi6h7mc3zizh597ffiinfbr4m0m8psifw9w6"))))
9417 (build-system haskell-build-system)
9418 (inputs `(("ghc-hashable" ,ghc-hashable)
9419 ("ghc-monad-control" ,ghc-monad-control)
9420 ("ghc-transformers-base" ,ghc-transformers-base)
9421 ("ghc-vector" ,ghc-vector)))
9422 (home-page "https://github.com/bos/pool")
9423 (synopsis "Striped resource pooling implementation in Haskell")
9424 (description "This Haskell package provides striped pooling abstraction
9425 for managing flexibly-sized collections of resources such as database
9426 connections.")
9427 (license license:bsd-3)))
9428
9429 (define-public ghc-resourcet
9430 (package
9431 (name "ghc-resourcet")
9432 (version "1.2.2")
9433 (source
9434 (origin
9435 (method url-fetch)
9436 (uri (string-append "https://hackage.haskell.org/package/resourcet/"
9437 "resourcet-" version ".tar.gz"))
9438 (sha256
9439 (base32
9440 "1rfbfcv3r1h29y0yqr3x6a1s04lbc3vzm3jqnfg4f9rqp9d448qk"))))
9441 (build-system haskell-build-system)
9442 (inputs
9443 `(("ghc-transformers-base" ,ghc-transformers-base)
9444 ("ghc-monad-control" ,ghc-monad-control)
9445 ("ghc-transformers-compat" ,ghc-transformers-compat)
9446 ("ghc-mmorph" ,ghc-mmorph)
9447 ("ghc-exceptions" ,ghc-exceptions)
9448 ("ghc-unliftio-core" ,ghc-unliftio-core)))
9449 (native-inputs
9450 `(("ghc-lifted-base" ,ghc-lifted-base)
9451 ("ghc-hspec" ,ghc-hspec)))
9452 (home-page "https://github.com/snoyberg/conduit")
9453 (synopsis "Deterministic allocation and freeing of scarce resources")
9454 (description "ResourceT is a monad transformer which creates a region of
9455 code where you can safely allocate resources.")
9456 (license license:bsd-3)))
9457
9458 (define-public ghc-retry
9459 (package
9460 (name "ghc-retry")
9461 (version "0.8.1.0")
9462 (source
9463 (origin
9464 (method url-fetch)
9465 (uri (string-append "https://hackage.haskell.org/package/"
9466 "retry/retry-" version ".tar.gz"))
9467 (sha256
9468 (base32
9469 "02k03r86amg1vbrsvb644342ym13d9jwkzki9sk93pdg5l8j35dj"))))
9470 (build-system haskell-build-system)
9471 (inputs
9472 `(("ghc-exceptions" ,ghc-exceptions)
9473 ("ghc-random" ,ghc-random)))
9474 (native-inputs
9475 `(("ghc-hunit" ,ghc-hunit)
9476 ("ghc-tasty" ,ghc-tasty)
9477 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9478 ("ghc-tasty-hedgehog" ,ghc-tasty-hedgehog)
9479 ("ghc-hedgehog" ,ghc-hedgehog)))
9480 (home-page "http://github.com/Soostone/retry")
9481 (synopsis "Retry combinators for monadic actions that may fail")
9482 (description "This package exposes combinators that can wrap
9483 arbitrary monadic actions. They run the action and potentially retry
9484 running it with some configurable delay for a configurable number of
9485 times. The purpose is to make it easier to work with IO and especially
9486 network IO actions that often experience temporary failure and warrant
9487 retrying of the original action. For example, a database query may time
9488 out for a while, in which case we should hang back for a bit and retry
9489 the query instead of simply raising an exception.")
9490 (license license:bsd-3)))
9491
9492 (define-public ghc-rfc5051
9493 (package
9494 (name "ghc-rfc5051")
9495 (version "0.1.0.4")
9496 (source
9497 (origin
9498 (method url-fetch)
9499 (uri (string-append "https://hackage.haskell.org/package/rfc5051/"
9500 "rfc5051-" version ".tar.gz"))
9501 (sha256
9502 (base32
9503 "1lxkq414ni986ciml4gbvf463fn55z299knky7pq3ixb1qislpb1"))))
9504 (build-system haskell-build-system)
9505 (home-page "https://hackage.haskell.org/package/rfc5051")
9506 (synopsis "Simple unicode collation as per RFC5051")
9507 (description
9508 "This library implements @code{unicode-casemap}, the simple, non
9509 locale-sensitive unicode collation algorithm described in RFC 5051. Proper
9510 unicode collation can be done using @code{text-icu}, but that is a big
9511 dependency that depends on a large C library, and @code{rfc5051} might be
9512 better for some purposes.")
9513 (license license:bsd-3)))
9514
9515 (define-public ghc-rio
9516 (package
9517 (name "ghc-rio")
9518 (version "0.1.12.0")
9519 (source
9520 (origin
9521 (method url-fetch)
9522 (uri (string-append
9523 "https://hackage.haskell.org/package/rio/rio-"
9524 version ".tar.gz"))
9525 (sha256
9526 (base32
9527 "0xzjkh6aavynpyskikhs8dmv0zhkiqiwz9zdn80zbd25b2182pif"))))
9528 (build-system haskell-build-system)
9529 (inputs
9530 `(("ghc-exceptions" ,ghc-exceptions)
9531 ("ghc-hashable" ,ghc-hashable)
9532 ("ghc-microlens" ,ghc-microlens)
9533 ("ghc-primitive" ,ghc-primitive)
9534 ("ghc-typed-process" ,ghc-typed-process)
9535 ("ghc-unliftio" ,ghc-unliftio)
9536 ("ghc-unordered-containers" ,ghc-unordered-containers)
9537 ("ghc-vector" ,ghc-vector)))
9538 (native-inputs
9539 `(("ghc-hspec" ,ghc-hspec)
9540 ("hspec-discover" ,hspec-discover)))
9541 (home-page "https://github.com/commercialhaskell/rio#readme")
9542 (synopsis "A standard library for Haskell")
9543 (description "This package works as a prelude replacement for Haskell,
9544 providing more functionality and types out of the box than the standard
9545 prelude (such as common data types like @code{ByteString} and
9546 @code{Text}), as well as removing common ``gotchas'', like partial
9547 functions and lazy I/O. The guiding principle here is:
9548 @itemize
9549 @item If something is safe to use in general and has no expected naming
9550 conflicts, expose it.
9551 @item If something should not always be used, or has naming conflicts,
9552 expose it from another module in the hierarchy.
9553 @end itemize")
9554 (license license:expat)))
9555
9556 (define-public ghc-safe
9557 (package
9558 (name "ghc-safe")
9559 (version "0.3.17")
9560 (source
9561 (origin
9562 (method url-fetch)
9563 (uri (string-append
9564 "https://hackage.haskell.org/package/safe/safe-"
9565 version
9566 ".tar.gz"))
9567 (sha256
9568 (base32
9569 "0p3yaf5slvyz1cyy51jq64c5rlp8yzwim8iy2dlnk42if4gc9ibr"))))
9570 (build-system haskell-build-system)
9571 (native-inputs
9572 `(("ghc-quickcheck" ,ghc-quickcheck)))
9573 (home-page "https://github.com/ndmitchell/safe#readme")
9574 (synopsis "Library of safe (exception free) functions")
9575 (description "This library provides wrappers around @code{Prelude} and
9576 @code{Data.List} functions, such as @code{head} and @code{!!}, that can throw
9577 exceptions.")
9578 (license license:bsd-3)))
9579
9580 (define-public ghc-safe-exceptions
9581 (package
9582 (name "ghc-safe-exceptions")
9583 (version "0.1.7.0")
9584 (source
9585 (origin
9586 (method url-fetch)
9587 (uri (string-append "https://hackage.haskell.org/package/"
9588 "safe-exceptions/safe-exceptions-"
9589 version ".tar.gz"))
9590 (sha256
9591 (base32
9592 "0sd0zfsm9pcll5bzzj523rbn45adjrnavdkz52hgmdjjgdcdrk8q"))))
9593 (build-system haskell-build-system)
9594 (arguments
9595 '(#:cabal-revision
9596 ("4" "0fid41gishzsyb47wzxhd5falandfirqcp760hcja81qjpfmqd32")))
9597 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
9598 (native-inputs
9599 `(("ghc-hspec" ,ghc-hspec)
9600 ("ghc-void" ,ghc-void)
9601 ("hspec-discover" ,hspec-discover)))
9602 (home-page "https://github.com/fpco/safe-exceptions")
9603 (synopsis "Safe, consistent, and easy exception handling")
9604 (description "Runtime exceptions - as exposed in @code{base} by the
9605 @code{Control.Exception} module - have long been an intimidating part of the
9606 Haskell ecosystem. This package is intended to overcome this. It provides a
9607 safe and simple API on top of the existing exception handling machinery. The
9608 API is equivalent to the underlying implementation in terms of power but
9609 encourages best practices to minimize the chances of getting the exception
9610 handling wrong.")
9611 (license license:expat)))
9612
9613 (define-public ghc-safeio
9614 (package
9615 (name "ghc-safeio")
9616 (version "0.0.5.0")
9617 (source
9618 (origin
9619 (method url-fetch)
9620 (uri (string-append "https://hackage.haskell.org/package/safeio/"
9621 "safeio-" version ".tar.gz"))
9622 (sha256
9623 (base32
9624 "04g3070cbjdqj0h9l9ii6470xcbn40xfv4fr89a8yvnkdim9nyfm"))))
9625 (build-system haskell-build-system)
9626 (inputs
9627 `(("ghc-conduit" ,ghc-conduit)
9628 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
9629 ("ghc-exceptions" ,ghc-exceptions)
9630 ("ghc-resourcet" ,ghc-resourcet)))
9631 (native-inputs
9632 `(("ghc-hunit" ,ghc-hunit)
9633 ("ghc-test-framework" ,ghc-test-framework)
9634 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
9635 ("ghc-test-framework-th" ,ghc-test-framework-th)))
9636 (home-page "https://github.com/luispedro/safeio")
9637 (synopsis "Write output to disk atomically")
9638 (description
9639 "This package implements utilities to perform atomic output so as to
9640 avoid the problem of partial intermediate files.")
9641 (license license:expat)))
9642
9643 (define-public ghc-safesemaphore
9644 (package
9645 (name "ghc-safesemaphore")
9646 (version "0.10.1")
9647 (source
9648 (origin
9649 (method url-fetch)
9650 (uri (string-append "https://hackage.haskell.org/package/"
9651 "SafeSemaphore/SafeSemaphore-" version ".tar.gz"))
9652 (sha256
9653 (base32
9654 "0rpg9j6fy70i0b9dkrip9d6wim0nac0snp7qzbhykjkqlcvvgr91"))))
9655 (build-system haskell-build-system)
9656 (native-inputs
9657 `(("ghc-hunit" ,ghc-hunit)))
9658 (home-page "https://github.com/ChrisKuklewicz/SafeSemaphore")
9659 (synopsis "Exception safe semaphores")
9660 (description "This library provides exception safe semaphores that can be
9661 used in place of @code{QSem}, @code{QSemN}, and @code{SampleVar}, all of which
9662 are not exception safe and can be broken by @code{killThread}.")
9663 (license license:bsd-3)))
9664
9665 (define-public ghc-sandi
9666 (package
9667 (name "ghc-sandi")
9668 (version "0.5")
9669 (source
9670 (origin
9671 (method url-fetch)
9672 (uri (string-append
9673 "https://hackage.haskell.org/package/sandi/sandi-"
9674 version ".tar.gz"))
9675 (sha256
9676 (base32
9677 "1ndgai8idlxyccvkz5zsgq06v58blc30i6hkky5b1sf5x6gs2h29"))))
9678 (build-system haskell-build-system)
9679 (inputs
9680 `(("ghc-stringsearch" ,ghc-stringsearch)
9681 ("ghc-conduit" ,ghc-conduit)
9682 ("ghc-exceptions" ,ghc-exceptions)
9683 ("ghc-hunit" ,ghc-hunit)
9684 ("ghc-tasty" ,ghc-tasty)
9685 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9686 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
9687 ("ghc-tasty-th" ,ghc-tasty-th)))
9688 (home-page "https://hackage.haskell.org/package/sandi")
9689 (synopsis "Data encoding library")
9690 (description "Reasonably fast data encoding library.")
9691 (license license:bsd-3)))
9692
9693 (define-public ghc-say
9694 (package
9695 (name "ghc-say")
9696 (version "0.1.0.1")
9697 (source
9698 (origin
9699 (method url-fetch)
9700 (uri (string-append
9701 "https://hackage.haskell.org/package/say/say-"
9702 version
9703 ".tar.gz"))
9704 (sha256
9705 (base32
9706 "1r5kffjfwpas45g74sip8glrj1m9nygrnxjm7xgw898rq9pnafgn"))))
9707 (build-system haskell-build-system)
9708 (native-inputs
9709 `(("ghc-hspec" ,ghc-hspec)
9710 ("hspec-discover" ,hspec-discover)
9711 ("ghc-unliftio" ,ghc-unliftio)))
9712 (home-page "https://github.com/fpco/say")
9713 (synopsis
9714 "Send textual messages to a Handle in a thread-friendly way")
9715 (description
9716 "A thread safe API to write a line of textual data to a Handle, such
9717 as sending some messages to the terminal - that has the following properties:
9718 @itemize
9719 @item Properly handle character encoding settings on the Handle
9720 @item For reasonably sized messages, ensure that the entire message is written
9721 in one chunk to avoid interleaving data with other threads
9722 @item Avoid unnecessary memory allocations and copies
9723 @item Minimize locking.
9724 @end itemize")
9725 (license license:expat)))
9726
9727 (define-public ghc-scientific
9728 (package
9729 (name "ghc-scientific")
9730 (version "0.3.6.2")
9731 (source
9732 (origin
9733 (method url-fetch)
9734 (uri (string-append
9735 "https://hackage.haskell.org/package/scientific/scientific-"
9736 version
9737 ".tar.gz"))
9738 (sha256
9739 (base32
9740 "03ql2f0ac8bsl524idy9xxa3kxisb2sj3avflzw580j5hzy0m397"))))
9741 (build-system haskell-build-system)
9742 (inputs
9743 `(("ghc-integer-logarithms" ,ghc-integer-logarithms)
9744 ("ghc-hashable" ,ghc-hashable)
9745 ("ghc-primitive" ,ghc-primitive)))
9746 (native-inputs
9747 `(("ghc-tasty" ,ghc-tasty)
9748 ("ghc-tasty-ant-xml" ,ghc-tasty-ant-xml)
9749 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9750 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
9751 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
9752 ("ghc-smallcheck" ,ghc-smallcheck)
9753 ("ghc-quickcheck" ,ghc-quickcheck)))
9754 (home-page "https://github.com/basvandijk/scientific")
9755 (synopsis "Numbers represented using scientific notation")
9756 (description "This package provides @code{Data.Scientific}, which provides
9757 the number type @code{Scientific}. Scientific numbers are arbitrary precision
9758 and space efficient. They are represented using
9759 @uref{https://en.wikipedia.org/wiki/Scientific_notation, scientific
9760 notation}.")
9761 (license license:bsd-3)))
9762
9763 (define-public ghc-scientific-bootstrap
9764 (package
9765 (inherit ghc-scientific)
9766 (name "ghc-scientific-bootstrap")
9767 (arguments `(#:tests? #f))
9768 (inputs
9769 `(("ghc-integer-logarithms" ,ghc-integer-logarithms-bootstrap)
9770 ("ghc-hashable" ,ghc-hashable)
9771 ("ghc-primitive" ,ghc-primitive)))
9772 (native-inputs '())
9773 (properties '((hidden? #t)))))
9774
9775 (define-public ghc-sdl
9776 (package
9777 (name "ghc-sdl")
9778 (version "0.6.7.0")
9779 (source
9780 (origin
9781 (method url-fetch)
9782 (uri (string-append
9783 "https://hackage.haskell.org/package/SDL/SDL-"
9784 version
9785 ".tar.gz"))
9786 (sha256
9787 (base32
9788 "00y67v80a8l09i3k76z09lg25kw72ivl09nag8ckdlk4a0cfnzfq"))))
9789 (build-system haskell-build-system)
9790 (inputs
9791 `(("sdl" ,sdl)))
9792 (home-page "https://hackage.haskell.org/package/SDL")
9793 (synopsis "LibSDL for Haskell")
9794 (description "Simple DirectMedia Layer (libSDL) is a cross-platform
9795 multimedia library designed to provide low level access to audio, keyboard,
9796 mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer. It is used
9797 by MPEG playback software, emulators, and many popular games, including the
9798 award winning Linux port of \"Civilization: Call To Power.\"")
9799 (license license:bsd-3)))
9800
9801 (define-public ghc-sdl2
9802 (package
9803 (name "ghc-sdl2")
9804 (version "2.5.0.0")
9805 (source
9806 (origin
9807 (method url-fetch)
9808 (uri (string-append "https://hackage.haskell.org/package/"
9809 "sdl2/sdl2-" version ".tar.gz"))
9810 (sha256
9811 (base32
9812 "1x368yhdd55b3cvx8dvj1sj6nzygzigbhrwhssjs4k0rcxlwqfw8"))))
9813 (build-system haskell-build-system)
9814 (arguments '(#:tests? #f)) ; tests require graphical environment
9815 (inputs
9816 `(("ghc-exceptions" ,ghc-exceptions)
9817 ("ghc-linear" ,ghc-linear)
9818 ("ghc-statevar" ,ghc-statevar)
9819 ("ghc-vector" ,ghc-vector)
9820 ("sdl2" ,sdl2)))
9821 (native-inputs
9822 `(("ghc-weigh" ,ghc-weigh)
9823 ("pkg-config" ,pkg-config)))
9824 (home-page "http://hackage.haskell.org/package/sdl2")
9825 (synopsis "High- and low-level bindings to the SDL library")
9826 (description
9827 "This package contains bindings to the SDL 2 library, in both high- and
9828 low-level forms. The @code{SDL} namespace contains high-level bindings, where
9829 enumerations are split into sum types, and we perform automatic
9830 error-checking. The @code{SDL.Raw} namespace contains an almost 1-1
9831 translation of the C API into Haskell FFI calls. As such, this does not
9832 contain sum types nor error checking. Thus this namespace is suitable for
9833 building your own abstraction over SDL, but is not recommended for day-to-day
9834 programming.")
9835 (license license:bsd-3)))
9836
9837 (define-public ghc-sdl2-image
9838 (package
9839 (name "ghc-sdl2-image")
9840 (version "2.0.0")
9841 (source
9842 (origin
9843 (method url-fetch)
9844 (uri (string-append "https://hackage.haskell.org/package/sdl2-image/"
9845 "sdl2-image-" version ".tar.gz"))
9846 (sha256
9847 (base32
9848 "1pr6dkg73cy9z0w54lrkj9c5bhxj56nl92lxikjy8kz6nyr455rr"))))
9849 (build-system haskell-build-system)
9850 (inputs
9851 `(("ghc-sdl2" ,ghc-sdl2)
9852 ("sdl2-image" ,sdl2-image)))
9853 (native-inputs
9854 `(("pkg-config" ,pkg-config)))
9855 (home-page "http://hackage.haskell.org/package/sdl2-image")
9856 (synopsis "Bindings to SDL2_image")
9857 (description "This package provides Haskell bindings to
9858 @code{SDL2_image}.")
9859 (license license:expat)))
9860
9861 (define-public ghc-sdl2-mixer
9862 (package
9863 (name "ghc-sdl2-mixer")
9864 (version "1.1.0")
9865 (source
9866 (origin
9867 (method url-fetch)
9868 (uri (string-append "https://hackage.haskell.org/package/sdl2-mixer/"
9869 "sdl2-mixer-" version ".tar.gz"))
9870 (sha256
9871 (base32
9872 "1k8avyccq5l9z7bwxigim312yaancxl1sr3q6a96bcm7pnhiak0g"))))
9873 (build-system haskell-build-system)
9874 (inputs
9875 `(("ghc-data-default-class" ,ghc-data-default-class)
9876 ("ghc-lifted-base" ,ghc-lifted-base)
9877 ("ghc-monad-control" ,ghc-monad-control)
9878 ("ghc-sdl2" ,ghc-sdl2)
9879 ("ghc-vector" ,ghc-vector)
9880 ("sdl2-mixer" ,sdl2-mixer)))
9881 (native-inputs
9882 `(("pkg-config" ,pkg-config)))
9883 (home-page "http://hackage.haskell.org/package/sdl2-mixer")
9884 (synopsis "Bindings to SDL2 mixer")
9885 (description "This package provides Haskell bindings to
9886 @code{SDL2_mixer}.")
9887 (license license:bsd-3)))
9888
9889 (define-public ghc-sdl-image
9890 (package
9891 (name "ghc-sdl-image")
9892 (version "0.6.2.0")
9893 (source
9894 (origin
9895 (method url-fetch)
9896 (uri (string-append
9897 "https://hackage.haskell.org/package/SDL-image/SDL-image-"
9898 version
9899 ".tar.gz"))
9900 (sha256
9901 (base32
9902 "1gxwrvswgwjw6g7ym52gik22l9l3ljy592phv97jdmcf3gi6qcg1"))))
9903 (build-system haskell-build-system)
9904 (arguments
9905 `(#:configure-flags
9906 (let* ((sdl-image (assoc-ref %build-inputs "sdl-image"))
9907 (sdl-image-include (string-append sdl-image "/include/SDL")))
9908 (list (string-append "--extra-include-dirs=" sdl-image-include)))))
9909 (inputs
9910 `(("ghc-sdl" ,ghc-sdl)
9911 ("sdl-image" ,sdl-image)))
9912 (home-page "https://hackage.haskell.org/package/SDL-image")
9913 (synopsis "Haskell bindings to libSDL_image")
9914 (description "SDL_image is an image file loading library. It loads images
9915 as SDL surfaces, and supports the following formats: BMP, GIF, JPEG, LBM, PCX,
9916 PNG, PNM, TGA, TIFF, XCF, XPM, XV.")
9917 (license license:bsd-3)))
9918
9919 (define-public ghc-sdl-mixer
9920 (package
9921 (name "ghc-sdl-mixer")
9922 (version "0.6.3.0")
9923 (source
9924 (origin
9925 (method url-fetch)
9926 (uri (string-append
9927 "https://hackage.haskell.org/package/SDL-mixer/SDL-mixer-"
9928 version
9929 ".tar.gz"))
9930 (sha256
9931 (base32
9932 "0k26hqgdh789ka3mv4dsk6rin6x6vwcs6hjmnsqq7j3mnrh1342r"))))
9933 (build-system haskell-build-system)
9934 (arguments
9935 `(#:configure-flags
9936 (let* ((sdl-mixer (assoc-ref %build-inputs "sdl-mixer"))
9937 (sdl-mixer-include (string-append sdl-mixer "/include/SDL")))
9938 (list (string-append "--extra-include-dirs=" sdl-mixer-include)))))
9939 (inputs
9940 `(("ghc-sdl" ,ghc-sdl)
9941 ("sdl-mixer" ,sdl-mixer)))
9942 (home-page "https://hackage.haskell.org/package/SDL-mixer")
9943 (synopsis "Haskell bindings to libSDL_mixer")
9944 (description "SDL_mixer is a sample multi-channel audio mixer library. It
9945 supports any number of simultaneously playing channels of 16 bit stereo audio,
9946 plus a single channel of music, mixed by the popular MikMod MOD, Timidity
9947 MIDI, Ogg Vorbis, and SMPEG MP3 libraries.")
9948 (license license:bsd-3)))
9949
9950 (define-public ghc-securemem
9951 (package
9952 (name "ghc-securemem")
9953 (version "0.1.10")
9954 (source
9955 (origin
9956 (method url-fetch)
9957 (uri (string-append "https://hackage.haskell.org/package/"
9958 "securemem-" version "/"
9959 "securemem-" version ".tar.gz"))
9960 (sha256
9961 (base32
9962 "19hnw2cfbsfjynxq1bq9f6djbxhsc1k751ml0y1ab3ah913mm29j"))))
9963 (build-system haskell-build-system)
9964 (inputs `(("ghc-byteable" ,ghc-byteable)
9965 ("ghc-memory" ,ghc-memory)))
9966 (home-page "https://github.com/vincenthz/hs-securemem")
9967 (synopsis "Auto-scrubbing and const-time-eq memory chunk abstraction for
9968 Haskell")
9969 (description "SecureMem is similar to ByteString, except that it provides
9970 a memory chunk that will be auto-scrubbed after it run out of scope.")
9971 (license license:bsd-3)))
9972
9973 (define-public ghc-semigroupoids
9974 (package
9975 (name "ghc-semigroupoids")
9976 (version "5.3.3")
9977 (source
9978 (origin
9979 (method url-fetch)
9980 (uri (string-append
9981 "https://hackage.haskell.org/package/semigroupoids/semigroupoids-"
9982 version
9983 ".tar.gz"))
9984 (sha256
9985 (base32
9986 "016hc4imr9l4szs3p7f1aahvxr5wv4clvr3qzrm3nibssg5vrs61"))))
9987 (build-system haskell-build-system)
9988 (inputs
9989 `(("ghc-base-orphans" ,ghc-base-orphans)
9990 ("ghc-transformers-compat" ,ghc-transformers-compat)
9991 ("ghc-bifunctors" ,ghc-bifunctors)
9992 ("ghc-comonad" ,ghc-comonad)
9993 ("ghc-contravariant" ,ghc-contravariant)
9994 ("ghc-distributive" ,ghc-distributive)
9995 ("ghc-hashable" ,ghc-hashable)
9996 ("ghc-semigroups" ,ghc-semigroups)
9997 ("ghc-tagged" ,ghc-tagged)
9998 ("ghc-unordered-containers" ,ghc-unordered-containers)))
9999 (native-inputs
10000 `(("cabal-doctest" ,cabal-doctest)
10001 ("ghc-doctest" ,ghc-doctest)))
10002 (home-page "https://github.com/ekmett/semigroupoids")
10003 (synopsis "Semigroupoids operations for Haskell")
10004 (description "This library provides a wide array of (semi)groupoids and
10005 operations for working with them. A @code{Semigroupoid} is a @code{Category}
10006 without the requirement of identity arrows for every object in the category.
10007 A @code{Category} is any @code{Semigroupoid} for which the Yoneda lemma holds.
10008 Finally, to work with these weaker structures it is beneficial to have
10009 containers that can provide stronger guarantees about their contents, so
10010 versions of @code{Traversable} and @code{Foldable} that can be folded with
10011 just a @code{Semigroup} are added.")
10012 (license license:bsd-3)))
10013
10014 (define-public ghc-semigroups
10015 (package
10016 (name "ghc-semigroups")
10017 (version "0.18.5")
10018 (source
10019 (origin
10020 (method url-fetch)
10021 (uri (string-append
10022 "https://hackage.haskell.org/package/semigroups/semigroups-"
10023 version
10024 ".tar.gz"))
10025 (sha256
10026 (base32
10027 "17g29h62g1k51ghhvzkw72zksjgi6vs6bfipkj81pqw1dsprcamb"))))
10028 (build-system haskell-build-system)
10029 (inputs
10030 `(("ghc-nats" ,ghc-nats)
10031 ("ghc-tagged" ,ghc-tagged)
10032 ("ghc-unordered-containers" ,ghc-unordered-containers)
10033 ("ghc-hashable" ,ghc-hashable)))
10034 (home-page "https://github.com/ekmett/semigroups/")
10035 (synopsis "Semigroup operations for Haskell")
10036 (description "This package provides semigroups for Haskell. In
10037 mathematics, a semigroup is an algebraic structure consisting of a set
10038 together with an associative binary operation. A semigroup generalizes a
10039 monoid in that there might not exist an identity element. It
10040 also (originally) generalized a group (a monoid with all inverses) to a type
10041 where every element did not have to have an inverse, thus the name
10042 semigroup.")
10043 (license license:bsd-3)))
10044
10045 (define-public ghc-semigroups-bootstrap
10046 (package
10047 (inherit ghc-semigroups)
10048 (name "ghc-semigroups-bootstrap")
10049 (inputs
10050 `(("ghc-nats" ,ghc-nats-bootstrap)
10051 ("ghc-tagged" ,ghc-tagged)
10052 ("ghc-unordered-containers" ,ghc-unordered-containers-bootstrap)
10053 ("ghc-hashable" ,ghc-hashable-bootstrap)))
10054 (properties '((hidden? #t)))))
10055
10056 (define-public ghc-setenv
10057 (package
10058 (name "ghc-setenv")
10059 (version "0.1.1.3")
10060 (source
10061 (origin
10062 (method url-fetch)
10063 (uri (string-append
10064 "https://hackage.haskell.org/package/setenv/setenv-"
10065 version
10066 ".tar.gz"))
10067 (sha256
10068 (base32
10069 "0cnbgrvb9byyahb37zlqrj05rj25v190crgcw8wmlgf0mwwxyn73"))))
10070 (build-system haskell-build-system)
10071 (home-page "https://hackage.haskell.org/package/setenv")
10072 (synopsis "Library for setting environment variables")
10073 (description "This package provides a Haskell library for setting
10074 environment variables.")
10075 (license license:expat)))
10076
10077 (define-public ghc-setlocale
10078 (package
10079 (name "ghc-setlocale")
10080 (version "1.0.0.9")
10081 (source (origin
10082 (method url-fetch)
10083 (uri (string-append
10084 "https://hackage.haskell.org/package/setlocale-"
10085 version "/setlocale-" version ".tar.gz"))
10086 (sha256
10087 (base32
10088 "18b6xafspzxrmz5m9r9nzy3z053crqi59xc8n8aqd4gw0pvqdcrv"))))
10089 (build-system haskell-build-system)
10090 (home-page "https://hackage.haskell.org/package/setlocale")
10091 (synopsis "Haskell bindings to setlocale")
10092 (description "This package provides Haskell bindings to the
10093 @code{setlocale} C function.")
10094 (license license:bsd-3)))
10095
10096 (define-public ghc-shakespeare
10097 (package
10098 (name "ghc-shakespeare")
10099 (version "2.0.22")
10100 (source
10101 (origin
10102 (method url-fetch)
10103 (uri (string-append "https://hackage.haskell.org/package/"
10104 "shakespeare-" version "/"
10105 "shakespeare-" version ".tar.gz"))
10106 (sha256
10107 (base32
10108 "1mc1a0vv070gcawwcx6vzpj6gpfh1qnlqrndiyfic3p500y656vh"))))
10109 (build-system haskell-build-system)
10110 (inputs `(("ghc-aeson" ,ghc-aeson)
10111 ("ghc-blaze-markup" ,ghc-blaze-markup)
10112 ("ghc-blaze-html" ,ghc-blaze-html)
10113 ("ghc-exceptions" ,ghc-exceptions)
10114 ("ghc-vector" ,ghc-vector)
10115 ("ghc-unordered-containers" ,ghc-unordered-containers)
10116 ("ghc-scientific" ,ghc-scientific)))
10117 (native-inputs `(("ghc-hspec" ,ghc-hspec)
10118 ("ghc-hunit" ,ghc-hunit)
10119 ("hspec-discover" ,hspec-discover)))
10120 (home-page "https://www.yesodweb.com/book/shakespearean-templates")
10121 (synopsis "Family of type-safe template languages for Haskell")
10122 (description "This Haskell package provides a family of type-safe
10123 templates with simple variable interpolation. Shakespeare templates can
10124 be used inline with a quasi-quoter or in an external file and it
10125 interpolates variables according to the type being inserted.")
10126 (license license:expat)))
10127
10128 (define-public ghc-shelly
10129 (package
10130 (name "ghc-shelly")
10131 (version "1.8.1")
10132 (source
10133 (origin
10134 (method url-fetch)
10135 (uri (string-append
10136 "https://hackage.haskell.org/package/shelly/shelly-"
10137 version ".tar.gz"))
10138 (sha256
10139 (base32
10140 "023fbvbqs5gdwm30j5517gbdcc7fvz0md70dgwgpypkskj3i926y"))))
10141 (build-system haskell-build-system)
10142 (inputs
10143 `(("ghc-unix-compat" ,ghc-unix-compat)
10144 ("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
10145 ("ghc-system-fileio-bootstrap" ,ghc-system-fileio-bootstrap)
10146 ("ghc-monad-control" ,ghc-monad-control)
10147 ("ghc-lifted-base" ,ghc-lifted-base)
10148 ("ghc-lifted-async" ,ghc-lifted-async)
10149 ("ghc-exceptions" ,ghc-exceptions)
10150 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
10151 ("ghc-async" ,ghc-async)
10152 ("ghc-transformers-base" ,ghc-transformers-base)
10153 ("ghc-hunit" ,ghc-hunit)
10154 ("ghc-hspec" ,ghc-hspec)
10155 ("ghc-hspec-contrib" ,ghc-hspec-contrib)))
10156 (home-page "https://github.com/yesodweb/Shelly.hs")
10157 (synopsis "Shell-like (systems) programming in Haskell")
10158 (description
10159 "Shelly provides convenient systems programming in Haskell, similar in
10160 spirit to POSIX shells. Shelly is originally forked from the Shellish package.")
10161 (license license:bsd-3)))
10162
10163 (define-public ghc-silently
10164 (package
10165 (name "ghc-silently")
10166 (version "1.2.5.1")
10167 (source
10168 (origin
10169 (method url-fetch)
10170 (uri (string-append
10171 "https://hackage.haskell.org/package/silently/silently-"
10172 version
10173 ".tar.gz"))
10174 (sha256
10175 (base32
10176 "1lgs1gsr5dp0x21diqn4l03fxgai2kgdmj85gqp0iz3zykvbmjbz"))))
10177 (build-system haskell-build-system)
10178 (arguments `(#:tests? #f)) ;; circular dependency with nanospec
10179 ;; (inputs
10180 ;; `(("ghc-temporary" ,ghc-temporary)))
10181 (home-page "https://github.com/hspec/silently")
10182 (synopsis "Prevent writing to stdout")
10183 (description "This package provides functions to prevent or capture
10184 writing to stdout and other handles.")
10185 (license license:bsd-3)))
10186
10187 (define-public ghc-simple-reflect
10188 (package
10189 (name "ghc-simple-reflect")
10190 (version "0.3.3")
10191 (source
10192 (origin
10193 (method url-fetch)
10194 (uri (string-append
10195 "https://hackage.haskell.org/package/simple-reflect/simple-reflect-"
10196 version
10197 ".tar.gz"))
10198 (sha256
10199 (base32
10200 "0ayvrx5cm8n6db21jiyjmk5h93pw7cz1707hih09hlhk9jh5x0h7"))))
10201 (build-system haskell-build-system)
10202 (home-page
10203 "https://twanvl.nl/blog/haskell/simple-reflection-of-expressions")
10204 (synopsis
10205 "Simple reflection of expressions containing variables")
10206 (description
10207 "This package allows simple reflection of expressions containing
10208 variables. Reflection here means that a Haskell expression is turned into a
10209 string. The primary aim of this package is teaching and understanding; there
10210 are no options for manipulating the reflected expressions beyond showing
10211 them.")
10212 (license license:bsd-3)))
10213
10214 (define-public ghc-simple-sendfile
10215 (package
10216 (name "ghc-simple-sendfile")
10217 (version "0.2.30")
10218 (source
10219 (origin
10220 (method url-fetch)
10221 (uri (string-append "https://hackage.haskell.org/package/"
10222 "simple-sendfile-" version "/"
10223 "simple-sendfile-" version ".tar.gz"))
10224 (sha256
10225 (base32
10226 "112j0qfsjazf9wg1zywf7hjybgsiywk9wkm27yi8xzv27hmlv1mn"))))
10227 (build-system haskell-build-system)
10228 (inputs
10229 `(("ghc-conduit" ,ghc-conduit)
10230 ("ghc-conduit-extra" ,ghc-conduit-extra)
10231 ("ghc-network" ,ghc-network)
10232 ("ghc-resourcet" ,ghc-resourcet)))
10233 (native-inputs
10234 `(("ghc-hspec" ,ghc-hspec)
10235 ("hspec-discover" ,hspec-discover)))
10236 (home-page "https://github.com/kazu-yamamoto/simple-sendfile")
10237 (synopsis "Cross platform library for the sendfile system call")
10238 (description "This library tries to call minimum system calls which
10239 are the bottleneck of web servers.")
10240 (license license:bsd-3)))
10241
10242 (define-public ghc-size-based
10243 (package
10244 (name "ghc-size-based")
10245 (version "0.1.2.0")
10246 (source
10247 (origin
10248 (method url-fetch)
10249 (uri (string-append "https://hackage.haskell.org/package/"
10250 "size-based/size-based-" version ".tar.gz"))
10251 (sha256
10252 (base32
10253 "06hmlic0n73ncwlkpx49xlv09bzsrr27ncnp5byhzlknak2gd7vp"))))
10254 (build-system haskell-build-system)
10255 (inputs
10256 `(("ghc-dictionary-sharing" ,ghc-dictionary-sharing)
10257 ("ghc-testing-type-modifiers" ,ghc-testing-type-modifiers)
10258 ("ghc-semigroups" ,ghc-semigroups)))
10259 (arguments
10260 `(#:cabal-revision
10261 ("1" "0kax1ypjyglkn6iff1x4yz12y7f2n249m95xvdhrc63hsa4xlcqv")))
10262 (home-page "https://hackage.haskell.org/package/size-based")
10263 (synopsis "Sized functors for size-based enumerations")
10264 (description "This library provides a framework for size-based
10265 enumerations.")
10266 (license license:bsd-3)))
10267
10268 (define-public ghc-skylighting-core
10269 (package
10270 (name "ghc-skylighting-core")
10271 (version "0.8.2.1")
10272 (source (origin
10273 (method url-fetch)
10274 (uri (string-append "https://hackage.haskell.org/package/"
10275 "skylighting-core/skylighting-core-"
10276 version ".tar.gz"))
10277 (sha256
10278 (base32
10279 "0hdchivb4af9w7v5v7lrwfwawd3kcwmpzk69m1vkkm3pis8lcr1s"))))
10280 (build-system haskell-build-system)
10281 (inputs
10282 `(("ghc-aeson" ,ghc-aeson)
10283 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
10284 ("ghc-attoparsec" ,ghc-attoparsec)
10285 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
10286 ("ghc-blaze-html" ,ghc-blaze-html)
10287 ("ghc-case-insensitive" ,ghc-case-insensitive)
10288 ("ghc-colour" ,ghc-colour)
10289 ("ghc-hxt" ,ghc-hxt)
10290 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
10291 ("ghc-safe" ,ghc-safe)
10292 ("ghc-utf8-string" ,ghc-utf8-string)))
10293 (native-inputs
10294 `(("ghc-diff" ,ghc-diff)
10295 ("ghc-hunit" ,ghc-hunit)
10296 ("ghc-pretty-show" ,ghc-pretty-show)
10297 ("ghc-quickcheck" ,ghc-quickcheck)
10298 ("ghc-tasty" ,ghc-tasty)
10299 ("ghc-tasty-golden" ,ghc-tasty-golden)
10300 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
10301 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
10302 (home-page "https://github.com/jgm/skylighting")
10303 (synopsis "Syntax highlighting library")
10304 (description "Skylighting is a syntax highlighting library with support
10305 for over one hundred languages. It derives its tokenizers from XML syntax
10306 definitions used by KDE's @code{KSyntaxHighlighting} framework, so any syntax
10307 supported by that framework can be added. An optional command-line program is
10308 provided. Skylighting is intended to be the successor to highlighting-kate.")
10309 (license license:gpl2)))
10310
10311 (define-public ghc-skylighting
10312 (package
10313 (inherit ghc-skylighting-core)
10314 (name "ghc-skylighting")
10315 (version "0.8.2.1")
10316 (source (origin
10317 (method url-fetch)
10318 (uri (string-append "https://hackage.haskell.org/package/skylighting-"
10319 version "/skylighting-" version ".tar.gz"))
10320 (sha256
10321 (base32
10322 "1xls8ycad77m55ax4hp55k60h3pi5sm3m32hycbc8baixbgfx5xz"))))
10323 (inputs
10324 `(("ghc-skylighting-core" ,ghc-skylighting-core)
10325 ,@(package-inputs ghc-skylighting-core)))))
10326
10327 (define-public ghc-smallcheck
10328 (package
10329 (name "ghc-smallcheck")
10330 (version "1.1.5")
10331 (source
10332 (origin
10333 (method url-fetch)
10334 (uri (string-append
10335 "https://hackage.haskell.org/package/smallcheck/smallcheck-"
10336 version
10337 ".tar.gz"))
10338 (sha256
10339 (base32
10340 "195fj7w3v03d1y1nm2ylavzrwxjcdbq0lb6zsw1dwyx5jmwfc84h"))))
10341 (build-system haskell-build-system)
10342 (inputs
10343 `(("ghc-logict" ,ghc-logict)))
10344 (home-page
10345 "https://github.com/feuerbach/smallcheck")
10346 (synopsis "Property-based testing library")
10347 (description "SmallCheck is a testing library that allows to verify
10348 properties for all test cases up to some depth. The test cases are generated
10349 automatically by SmallCheck.")
10350 (license license:bsd-3)))
10351
10352 (define-public ghc-socks
10353 (package
10354 (name "ghc-socks")
10355 (version "0.6.1")
10356 (source (origin
10357 (method url-fetch)
10358 (uri (string-append "https://hackage.haskell.org/package/"
10359 "socks/socks-" version ".tar.gz"))
10360 (sha256
10361 (base32
10362 "0wvaxy3dkv97wrncjv1rxrmjr4014hgxz82kixvcwqdhidalfi3k"))))
10363 (build-system haskell-build-system)
10364 (inputs
10365 `(("ghc-cereal" ,ghc-cereal)
10366 ("ghc-basement" ,ghc-basement)
10367 ("ghc-network" ,ghc-network)))
10368 (home-page "https://github.com/vincenthz/hs-socks")
10369 (synopsis "SOCKS proxy (version 5) implementation")
10370 (description
10371 "This library provides a SOCKS proxy (version 5) implementation.")
10372 (license license:bsd-3)))
10373
10374 (define-public ghc-sop-core
10375 (package
10376 (name "ghc-sop-core")
10377 (version "0.4.0.0")
10378 (source
10379 (origin
10380 (method url-fetch)
10381 (uri (string-append "https://hackage.haskell.org/package/"
10382 "sop-core/sop-core-" version ".tar.gz"))
10383 (sha256
10384 (base32
10385 "07ci2mh8cbjvipb576rxsj3iyhkj5c5dnsns4xkdppp2p3pv10d3"))))
10386 (build-system haskell-build-system)
10387 (home-page "http://hackage.haskell.org/package/sop-core")
10388 (synopsis "True Sums of Products")
10389 (description "This package provides an implementation of
10390 @math{n}-ary sums and @math{n}-ary products. The module @code{Data.SOP}
10391 is the main module of this library and contains more detailed
10392 documentation. The main use case of this package is to serve as the
10393 core of @url{https://hackage.haskell.org/package/generics-sop,
10394 generics-sop}.")
10395 (license license:bsd-3)))
10396
10397 (define-public ghc-split
10398 (package
10399 (name "ghc-split")
10400 (version "0.2.3.3")
10401 (outputs '("out" "doc"))
10402 (source
10403 (origin
10404 (method url-fetch)
10405 (uri (string-append
10406 "https://hackage.haskell.org/package/split/split-"
10407 version
10408 ".tar.gz"))
10409 (sha256
10410 (base32
10411 "04qlmkcyklznl03gsjg95b4nzb6i96gdapqg60rny9szgi7ngk8x"))))
10412 (build-system haskell-build-system)
10413 (arguments
10414 `(#:cabal-revision
10415 ("2" "1c8bcssxq5rkxkixgms6w6x6lzf4n7cxk6cx6av1dp3lixdy9j34")))
10416 (native-inputs
10417 `(("ghc-quickcheck" ,ghc-quickcheck)))
10418 (home-page "https://hackage.haskell.org/package/split")
10419 (synopsis "Combinator library for splitting lists")
10420 (description "This package provides a collection of Haskell functions for
10421 splitting lists into parts, akin to the @code{split} function found in several
10422 mainstream languages.")
10423 (license license:bsd-3)))
10424
10425 (define-public ghc-splitmix
10426 (package
10427 (name "ghc-splitmix")
10428 (version "0.0.3")
10429 (source
10430 (origin
10431 (method url-fetch)
10432 (uri (string-append "https://hackage.haskell.org/package/"
10433 "splitmix/splitmix-" version ".tar.gz"))
10434 (sha256
10435 (base32
10436 "1k0amgkz7rvyz3lnw7m786ilnr1cibwhx9sc4qynq329gxan5r7w"))))
10437 (build-system haskell-build-system)
10438 (inputs
10439 `(("ghc-random" ,ghc-random)))
10440 (native-inputs
10441 `(("ghc-hunit" ,ghc-hunit)
10442 ("ghc-async" ,ghc-async)
10443 ("ghc-base-compat-batteries" ,ghc-base-compat-batteries)
10444 ("ghc-tf-random" ,ghc-tf-random)
10445 ("ghc-vector" ,ghc-vector)))
10446 (home-page "http://hackage.haskell.org/package/splitmix")
10447 (synopsis "Fast and splittable pseudorandom number generator")
10448 (description "This package provides a Pure Haskell implementation of the
10449 SplitMix pseudorandom number generator. SplitMix is a \"splittable\"
10450 pseudorandom number generator that is quite fast: 9 64-bit
10451 arithmetic/logical operations per 64 bits generated. SplitMix is tested
10452 with two standard statistical test suites (DieHarder and TestU01, this
10453 implementation only using the former) and it appears to be adequate for
10454 \"everyday\" use, such as Monte Carlo algorithms and randomized data
10455 structures where speed is important. In particular, it @strong{should not
10456 be used for cryptographic or security applications}, because generated
10457 sequences of pseudorandom values are too predictable (the mixing functions
10458 are easily inverted, and two successive outputs suffice to reconstruct the
10459 internal state).")
10460 (license license:bsd-3)))
10461
10462 (define-public ghc-splitmix-bootstrap
10463 (package
10464 (inherit ghc-splitmix)
10465 (name "ghc-splitmix-bootstrap")
10466 (arguments `(#:tests? #f))
10467 (native-inputs '())
10468 (properties '((hidden? #t)))))
10469
10470 (define-public ghc-statevar
10471 (package
10472 (name "ghc-statevar")
10473 (version "1.2")
10474 (source
10475 (origin
10476 (method url-fetch)
10477 (uri (string-append
10478 "https://hackage.haskell.org/package/StateVar/StateVar-"
10479 version
10480 ".tar.gz"))
10481 (sha256
10482 (base32
10483 "12sz6zkc9j5z3lwrjvljrkfxa5vhwnir5wsarigz2f6d3w13dh5g"))))
10484 (build-system haskell-build-system)
10485 (home-page "https://hackage.haskell.org/package/StateVar")
10486 (synopsis "State variables for Haskell")
10487 (description "This package provides state variables, which are references
10488 in the @code{IO} monad, like @code{IORef}s or parts of the OpenGL state.")
10489 (license license:bsd-3)))
10490
10491 (define-public ghc-statistics
10492 (package
10493 (name "ghc-statistics")
10494 (version "0.15.1.1")
10495 (source
10496 (origin
10497 (method url-fetch)
10498 (uri (string-append "https://hackage.haskell.org/package/"
10499 "statistics-" version "/"
10500 "statistics-" version ".tar.gz"))
10501 (sha256
10502 (base32
10503 "015rn74f1glii26j4b2fh1fc63xvxzrh2xckiancz48kc8jdzabj"))))
10504 (build-system haskell-build-system)
10505 (arguments
10506 '(;; Two tests fail: "Discrete CDF is OK" and "Quantile is CDF inverse".
10507 #:tests? #f))
10508 (inputs
10509 `(("ghc-aeson" ,ghc-aeson)
10510 ("ghc-async" ,ghc-async)
10511 ("ghc-base-orphans" ,ghc-base-orphans)
10512 ("ghc-dense-linear-algebra" ,ghc-dense-linear-algebra)
10513 ("ghc-math-functions" ,ghc-math-functions)
10514 ("ghc-monad-par" ,ghc-monad-par)
10515 ("ghc-mwc-random" ,ghc-mwc-random)
10516 ("ghc-primitive" ,ghc-primitive)
10517 ("ghc-vector" ,ghc-vector)
10518 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
10519 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)
10520 ("ghc-vector-binary-instances" ,ghc-vector-binary-instances)))
10521 (native-inputs
10522 `(("ghc-hunit" ,ghc-hunit)
10523 ("ghc-quickcheck" ,ghc-quickcheck)
10524 ("ghc-ieee754" ,ghc-ieee754)
10525 ("ghc-test-framework" ,ghc-test-framework)
10526 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
10527 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
10528 (home-page "https://github.com/bos/mwc-random")
10529 (synopsis "Haskell library of statistical types, data, and functions")
10530 (description "This library provides a number of common functions
10531 and types useful in statistics. We focus on high performance, numerical
10532 robustness, and use of good algorithms. Where possible, we provide references
10533 to the statistical literature.
10534
10535 The library's facilities can be divided into four broad categories:
10536
10537 @itemize
10538 @item Working with widely used discrete and continuous probability
10539 distributions. (There are dozens of exotic distributions in use; we focus
10540 on the most common.)
10541
10542 @item Computing with sample data: quantile estimation, kernel density
10543 estimation, histograms, bootstrap methods, significance testing,
10544 and regression and autocorrelation analysis.
10545
10546 @item Random variate generation under several different distributions.
10547
10548 @item Common statistical tests for significant differences between samples.
10549 @end itemize")
10550 (license license:bsd-2)))
10551
10552 (define-public ghc-stm-chans
10553 (package
10554 (name "ghc-stm-chans")
10555 (version "3.0.0.4")
10556 (source
10557 (origin
10558 (method url-fetch)
10559 (uri (string-append "https://hackage.haskell.org/package/"
10560 "stm-chans-" version "/"
10561 "stm-chans-" version ".tar.gz"))
10562 (sha256
10563 (base32
10564 "0f27sp09yha43xk9q55sc185jyjs5h7gq2dhsyx6bm9kz9dzqi13"))))
10565 (build-system haskell-build-system)
10566 (home-page "https://hackage.haskell.org/package/stm-chans")
10567 (synopsis "Additional types of channels for ghc-stm")
10568 (description "This Haskell package offers a collection of channel types,
10569 similar to @code{Control.Concurrent.STM.@{TChan,TQueue@}} but with additional
10570 features.")
10571 (license license:bsd-3)))
10572
10573 (define-public ghc-stm-conduit
10574 (package
10575 (name "ghc-stm-conduit")
10576 (version "4.0.1")
10577 (source
10578 (origin
10579 (method url-fetch)
10580 (uri (string-append "https://hackage.haskell.org/package/stm-conduit/"
10581 "stm-conduit-" version ".tar.gz"))
10582 (sha256
10583 (base32
10584 "0hhlxvpp7mah8dcvkknh6skx44jfk3092zz2w52zlr255bkmn3p8"))))
10585 (build-system haskell-build-system)
10586 (inputs
10587 `(("ghc-stm-chans" ,ghc-stm-chans)
10588 ("ghc-cereal" ,ghc-cereal)
10589 ("ghc-cereal-conduit" ,ghc-cereal-conduit)
10590 ("ghc-conduit" ,ghc-conduit)
10591 ("ghc-conduit-extra" ,ghc-conduit-extra)
10592 ("ghc-exceptions" ,ghc-exceptions)
10593 ("ghc-resourcet" ,ghc-resourcet)
10594 ("ghc-async" ,ghc-async)
10595 ("ghc-monad-loops" ,ghc-monad-loops)
10596 ("ghc-unliftio" ,ghc-unliftio)))
10597 (native-inputs
10598 `(("ghc-doctest" ,ghc-doctest)
10599 ("ghc-quickcheck" ,ghc-quickcheck)
10600 ("ghc-hunit" ,ghc-hunit)
10601 ("ghc-test-framework" ,ghc-test-framework)
10602 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
10603 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
10604 (home-page "https://github.com/cgaebel/stm-conduit")
10605 (synopsis "Introduces conduits to channels and promotes using conduits concurrently")
10606 (description
10607 "This package provides two simple conduit wrappers around STM channels: a
10608 source and a sink.")
10609 (license license:bsd-3)))
10610
10611 (define-public ghc-stmonadtrans
10612 (package
10613 (name "ghc-stmonadtrans")
10614 (version "0.4.3")
10615 (source
10616 (origin
10617 (method url-fetch)
10618 (uri (string-append "https://hackage.haskell.org/package/STMonadTrans"
10619 "/STMonadTrans-" version ".tar.gz"))
10620 (sha256
10621 (base32 "1nr26fnmi5fdjc6d00w13kjhmfyvb5b837d0006w4dj0yxndaksp"))))
10622 (build-system haskell-build-system)
10623 (home-page "https://hackage.haskell.org/package/STMonadTrans")
10624 (synopsis "Monad transformer version of the ST monad")
10625 (description
10626 "This package provides a monad transformer version of the @code{ST} monad
10627 for strict state threads.")
10628 (license license:bsd-3)))
10629
10630 (define-public ghc-storable-complex
10631 (package
10632 (name "ghc-storable-complex")
10633 (version "0.2.3.0")
10634 (source
10635 (origin
10636 (method url-fetch)
10637 (uri (string-append
10638 "https://hackage.haskell.org/package/storable-complex/storable-complex-"
10639 version ".tar.gz"))
10640 (sha256
10641 (base32 "0fnwbfmd5vsaaqvf9182qdcjrzcfjd1zhdyvjwzifbwvn6r9kx4s"))))
10642 (build-system haskell-build-system)
10643 (inputs
10644 `(("ghc-base-orphans" ,ghc-base-orphans)))
10645 (home-page "https://github.com/cartazio/storable-complex")
10646 (synopsis "Haskell Storable instance for Complex")
10647 (description "This package provides a Haskell library including a
10648 Storable instance for Complex which is binary compatible with C99, C++
10649 and Fortran complex data types.")
10650 (license license:bsd-3)))
10651
10652 (define-public ghc-storable-record
10653 (package
10654 (name "ghc-storable-record")
10655 (version "0.0.4")
10656 (source
10657 (origin
10658 (method url-fetch)
10659 (uri
10660 (string-append
10661 "https://hackage.haskell.org/package/storable-record/"
10662 "storable-record-" version ".tar.gz"))
10663 (sha256
10664 (base32
10665 "0hjs1km0fc9ch0i1rbycxia5w3939hk4p4md73ikgg4aipqb5zyf"))))
10666 (build-system haskell-build-system)
10667 (inputs
10668 `(("ghc-semigroups" ,ghc-semigroups)
10669 ("ghc-utility-ht" ,ghc-utility-ht)
10670 ("ghc-storablevector" ,ghc-storablevector)
10671 ("ghc-timeit" ,ghc-timeit)))
10672 (home-page "https://hackage.haskell.org/package/storable-record")
10673 (synopsis "Elegant definition of Storable instances for records")
10674 (description "With this package you can build a Storable instance of
10675 a record type from Storable instances of its elements in an elegant way.
10676 It does not do any magic, just a bit arithmetic to compute the right
10677 offsets, that would be otherwise done manually or by a preprocessor like
10678 C2HS. There is no guarantee that the generated memory layout is
10679 compatible with that of a corresponding C struct. However, the module
10680 generates the smallest layout that is possible with respect to the
10681 alignment of the record elements.")
10682 (license license:bsd-3)))
10683
10684 (define-public ghc-storable-tuple
10685 (package
10686 (name "ghc-storable-tuple")
10687 (version "0.0.3.3")
10688 (source
10689 (origin
10690 (method url-fetch)
10691 (uri
10692 (string-append
10693 "https://hackage.haskell.org/package/storable-tuple/"
10694 "storable-tuple-" version ".tar.gz"))
10695 (sha256
10696 (base32
10697 "0dfzhxgkn1l6ls7zh6iifhyvhm8l47n40z0ar23c6ibsa94w1ynw"))))
10698 (build-system haskell-build-system)
10699 (inputs
10700 `(("ghc-storable-record" ,ghc-storable-record)
10701 ("ghc-utility-ht" ,ghc-utility-ht)
10702 ("ghc-base-orphans" ,ghc-base-orphans)))
10703 (home-page "https://hackage.haskell.org/package/storable-tuple")
10704 (synopsis "Storable instance for pairs and triples")
10705 (description "This package provides a Storable instance for pairs
10706 and triples which should be binary compatible with C99 and C++. The
10707 only purpose of this package is to provide a standard location for this
10708 instance so that other packages needing this instance can play nicely
10709 together.")
10710 (license license:bsd-3)))
10711
10712 (define-public ghc-storablevector
10713 (package
10714 (name "ghc-storablevector")
10715 (version "0.2.13")
10716 (source
10717 (origin
10718 (method url-fetch)
10719 (uri
10720 (string-append
10721 "https://hackage.haskell.org/package/storablevector/storablevector-"
10722 version ".tar.gz"))
10723 (sha256
10724 (base32
10725 "1zmr738vwnhnyxbikayqnaz31ilv2qlmscp6iqgl7adcfbal4dzq"))))
10726 (build-system haskell-build-system)
10727 (inputs
10728 `(("ghc-non-negative" ,ghc-non-negative)
10729 ("ghc-utility-ht" ,ghc-utility-ht)
10730 ("ghc-semigroups" ,ghc-semigroups)
10731 ("ghc-unsafe" ,ghc-unsafe)
10732 ("ghc-quickcheck" ,ghc-quickcheck)
10733 ("ghc-syb" ,ghc-syb)))
10734 (home-page "https://www.haskell.org/haskellwiki/Storable_Vector")
10735 (synopsis "Fast, packed, strict storable arrays with a list interface")
10736 (description "This library provides fast, packed, strict storable
10737 arrays with a list interface, a chunky lazy list interface with variable
10738 chunk size and an interface for write access via the ST monad. This is
10739 much like bytestring and binary but can be used for every
10740 @code{Foreign.Storable.Storable} type. See also
10741 @url{http://hackage.haskell.org/package/vector}, a library with a
10742 similar intention.
10743
10744 This library does not do advanced fusion optimization, since especially
10745 for lazy vectors this would either be incorrect or not applicable. See
10746 @url{http://hackage.haskell.org/package/storablevector-streamfusion} for
10747 a library that provides fusion with lazy lists.")
10748 (license license:bsd-3)))
10749
10750 (define-public ghc-streaming-commons
10751 (package
10752 (name "ghc-streaming-commons")
10753 (version "0.2.1.1")
10754 (source
10755 (origin
10756 (method url-fetch)
10757 (uri (string-append "https://hackage.haskell.org/package/"
10758 "streaming-commons/streaming-commons-"
10759 version ".tar.gz"))
10760 (sha256
10761 (base32
10762 "1lmyx3wkjsayhy5yilzvy0kf8qwmycwlk26r1d8f3cxbfhkr7s52"))))
10763 (build-system haskell-build-system)
10764 (inputs
10765 `(("ghc-async" ,ghc-async)
10766 ("ghc-blaze-builder" ,ghc-blaze-builder)
10767 ("ghc-network" ,ghc-network)
10768 ("ghc-random" ,ghc-random)
10769 ("ghc-zlib" ,ghc-zlib)))
10770 (native-inputs
10771 `(("ghc-quickcheck" ,ghc-quickcheck)
10772 ("ghc-hspec" ,ghc-hspec)
10773 ("hspec-discover" ,hspec-discover)))
10774 (home-page "https://hackage.haskell.org/package/streaming-commons")
10775 (synopsis "Conduit and pipes needed by some streaming data libraries")
10776 (description "This package provides low-dependency functionality commonly
10777 needed by various Haskell streaming data libraries, such as @code{conduit} and
10778 @code{pipe}s.")
10779 (license license:expat)))
10780
10781 (define-public ghc-strict
10782 (package
10783 (name "ghc-strict")
10784 (version "0.3.2")
10785 (source
10786 (origin
10787 (method url-fetch)
10788 (uri (string-append "https://hackage.haskell.org/package/strict/strict-"
10789 version ".tar.gz"))
10790 (sha256
10791 (base32 "08cjajqz9h47fkq98mlf3rc8n5ghbmnmgn8pfsl3bdldjdkmmlrc"))))
10792 (build-system haskell-build-system)
10793 (home-page "https://hackage.haskell.org/package/strict")
10794 (synopsis "Strict data types and String IO")
10795 (description
10796 "This package provides strict versions of some standard Haskell data
10797 types, such as pairs, @code{Maybe} and @code{Either}. It also contains strict
10798 IO operations.")
10799 (license license:bsd-3)))
10800
10801 (define-public ghc-stringbuilder
10802 (package
10803 (name "ghc-stringbuilder")
10804 (version "0.5.1")
10805 (source
10806 (origin
10807 (method url-fetch)
10808 (uri (string-append
10809 "https://hackage.haskell.org/package/stringbuilder/stringbuilder-"
10810 version
10811 ".tar.gz"))
10812 (sha256
10813 (base32
10814 "1fh3csx1wcssn8xyvl4ip4aprh9l4qyz2kk8mgjvqvc0vb2bsy6q"))))
10815 (build-system haskell-build-system)
10816 (arguments `(#:tests? #f)) ; FIXME: circular dependencies with tests
10817 ; enabled
10818 (home-page "https://hackage.haskell.org/package/stringbuilder")
10819 (synopsis "Writer monad for multi-line string literals")
10820 (description "This package provides a writer monad for multi-line string
10821 literals.")
10822 (license license:expat)))
10823
10824 (define-public ghc-string-qq
10825 (package
10826 (name "ghc-string-qq")
10827 (version "0.0.4")
10828 (source
10829 (origin
10830 (method url-fetch)
10831 (uri (string-append
10832 "https://hackage.haskell.org/package/string-qq/string-qq-"
10833 version
10834 ".tar.gz"))
10835 (sha256
10836 (base32
10837 "0wfxkw4x6j6jq9nd82k83g2k3hskpsvk1dp4cpkshvjr4wg9qny8"))))
10838 (build-system haskell-build-system)
10839 (native-inputs
10840 `(("ghc-hunit" ,ghc-hunit)))
10841 (home-page "http://hackage.haskell.org/package/string-qq")
10842 (synopsis
10843 "QuasiQuoter for non-interpolated strings, texts and bytestrings.")
10844 (description
10845 "This package provides a quasiquoter for non-interpolated strings, texts
10846 and bytestrings.")
10847 (license license:public-domain)))
10848
10849 (define-public ghc-stringsearch
10850 (package
10851 (name "ghc-stringsearch")
10852 (version "0.3.6.6")
10853 (source
10854 (origin
10855 (method url-fetch)
10856 (uri (string-append
10857 "https://hackage.haskell.org/package/stringsearch/stringsearch-"
10858 version
10859 ".tar.gz"))
10860 (sha256
10861 (base32
10862 "0jpy9xjcjdbpi3wk6mg7xwd7wfi2mma70p97v1ij5i8bj9qijpr9"))))
10863 (build-system haskell-build-system)
10864 (arguments
10865 `(#:cabal-revision
10866 ("1" "0z5pz5dccapz9k39r2zmf056m0x2m2lj3jahhnw3mfxlmps07378")))
10867 (home-page "https://bitbucket.org/dafis/stringsearch")
10868 (synopsis "Fast searching, splitting and replacing of ByteStrings")
10869 (description "This package provides several functions to quickly search
10870 for substrings in strict or lazy @code{ByteStrings}. It also provides
10871 functions for breaking or splitting on substrings and replacing all
10872 occurrences of a substring (the first in case of overlaps) with another.")
10873 (license license:bsd-3)))
10874
10875 (define-public ghc-stylish-haskell
10876 (package
10877 (name "ghc-stylish-haskell")
10878 (version "0.9.2.1")
10879 (source
10880 (origin
10881 (method url-fetch)
10882 (uri (string-append
10883 "mirror://hackage/package/stylish-haskell/stylish-haskell-"
10884 version
10885 ".tar.gz"))
10886 (sha256
10887 (base32
10888 "1ls11fdx6snvfx8yykpidz142zzxwi5bazl49hgfqlwx50rqcp7w"))))
10889 (build-system haskell-build-system)
10890 (arguments
10891 `(#:phases
10892 (modify-phases %standard-phases
10893 (add-before 'configure 'update-constraints
10894 (lambda _
10895 (substitute* "stylish-haskell.cabal"
10896 (("haskell-src-exts >= 1\\.18 && < 1\\.21,")
10897 "haskell-src-exts >= 1.18 && < 1.22,"))
10898 #t)))))
10899 (inputs
10900 `(("ghc-aeson" ,ghc-aeson)
10901 ("ghc-file-embed" ,ghc-file-embed)
10902 ("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
10903 ("ghc-semigroups" ,ghc-semigroups)
10904 ("ghc-syb" ,ghc-syb)
10905 ("ghc-yaml" ,ghc-yaml)
10906 ("ghc-strict" ,ghc-strict)
10907 ("ghc-optparse-applicative"
10908 ,ghc-optparse-applicative)))
10909 (native-inputs
10910 `(("ghc-hunit" ,ghc-hunit)
10911 ("ghc-test-framework" ,ghc-test-framework)
10912 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
10913 (home-page "https://github.com/jaspervdj/stylish-haskell")
10914 (synopsis "Haskell code prettifier")
10915 (description "Stylish-haskell is a Haskell code prettifier. The goal is
10916 not to format all of the code in a file, to avoid \"getting in the way\".
10917 However, this tool can e.g. clean up import statements and help doing various
10918 tasks that get tedious very quickly. It can
10919 @itemize
10920 @item
10921 Align and sort @code{import} statements
10922 @item
10923 Group and wrap @code{{-# LANGUAGE #-}} pragmas, remove (some) redundant
10924 pragmas
10925 @item
10926 Remove trailing whitespaces
10927 @item
10928 Align branches in @code{case} and fields in records
10929 @item
10930 Convert line endings (customisable)
10931 @item
10932 Replace tabs by four spaces (turned off by default)
10933 @item
10934 Replace some ASCII sequences by their Unicode equivalent (turned off by
10935 default)
10936 @end itemize")
10937 (license license:bsd-3)))
10938
10939 (define-public ghc-svg-builder
10940 (package
10941 (name "ghc-svg-builder")
10942 (version "0.1.1")
10943 (source
10944 (origin
10945 (method url-fetch)
10946 (uri (string-append "https://hackage.haskell.org/package/"
10947 "svg-builder/svg-builder-" version ".tar.gz"))
10948 (sha256
10949 (base32
10950 "1k420f497lzkymmxin88ql6ib8dziic43avykv31yq65rgrf7l2g"))))
10951 (build-system haskell-build-system)
10952 (inputs
10953 `(("ghc-blaze-builder" ,ghc-blaze-builder)
10954 ("ghc-hashable" ,ghc-hashable)
10955 ("ghc-unordered-containers" ,ghc-unordered-containers)))
10956 (arguments
10957 `(#:cabal-revision
10958 ("1" "1bhp9gvid2iis411k1vvyj5krzc4ahxcqcd9cwx9h37jxg180xw1")))
10959 (home-page "https://github.com/diagrams/svg-builder.git")
10960 (synopsis "Domain-specific language for building Scalable Vector Graphics")
10961 (description "Easy-to-write domain-specific language (DSL) for
10962 building Scalable Vector Graphics (SVG).")
10963 (license license:bsd-3)))
10964
10965 (define-public ghc-syb
10966 (package
10967 (name "ghc-syb")
10968 (version "0.7.1")
10969 (outputs '("out" "doc"))
10970 (source
10971 (origin
10972 (method url-fetch)
10973 (uri (string-append
10974 "https://hackage.haskell.org/package/syb/syb-"
10975 version
10976 ".tar.gz"))
10977 (sha256
10978 (base32
10979 "0077vxzyi9ppbphi2ialac3p376k49qly1kskdgf57wdwix9qjp0"))))
10980 (build-system haskell-build-system)
10981 (inputs
10982 `(("ghc-hunit" ,ghc-hunit)))
10983 (home-page
10984 "http://www.cs.uu.nl/wiki/GenericProgramming/SYB")
10985 (synopsis "Scrap Your Boilerplate")
10986 (description "This package contains the generics system described in the
10987 /Scrap Your Boilerplate/ papers (see
10988 @uref{http://www.cs.uu.nl/wiki/GenericProgramming/SYB, the website}). It
10989 defines the @code{Data} class of types permitting folding and unfolding of
10990 constructor applications, instances of this class for primitive types, and a
10991 variety of traversals.")
10992 (license license:bsd-3)))
10993
10994 (define-public ghc-system-fileio
10995 (package
10996 (name "ghc-system-fileio")
10997 (version "0.3.16.4")
10998 (source
10999 (origin
11000 (method url-fetch)
11001 (uri (string-append
11002 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
11003 version ".tar.gz"))
11004 (sha256
11005 (base32
11006 "1iy6g1f35gzyj12g9mdiw4zf75mmxpv1l8cyaldgyscsl648pr9l"))))
11007 (build-system haskell-build-system)
11008 (arguments
11009 `(#:phases
11010 (modify-phases %standard-phases
11011 (add-before 'configure 'update-constraints
11012 (lambda _
11013 (substitute* "system-fileio.cabal"
11014 (("chell >= 0\\.4 && < 0\\.5") "chell >= 0.4"))
11015 #t)))))
11016 (inputs
11017 `(("ghc-system-filepath" ,ghc-system-filepath)
11018 ("ghc-chell" ,ghc-chell)
11019 ("ghc-temporary" ,ghc-temporary)))
11020 (home-page "https://github.com/fpco/haskell-filesystem")
11021 (synopsis "Consistent file system interaction across GHC versions")
11022 (description
11023 "This is a small wrapper around the directory, unix, and Win32 packages,
11024 for use with system-filepath. It provides a consistent API to the various
11025 versions of these packages distributed with different versions of GHC.
11026 In particular, this library supports working with POSIX files that have paths
11027 which can't be decoded in the current locale encoding.")
11028 (license license:expat)))
11029
11030 ;; See ghc-system-filepath-bootstrap. In addition this package depends on
11031 ;; ghc-system-filepath.
11032 (define ghc-system-fileio-bootstrap
11033 (package
11034 (name "ghc-system-fileio-bootstrap")
11035 (version "0.3.16.3")
11036 (source
11037 (origin
11038 (method url-fetch)
11039 (uri (string-append
11040 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
11041 version ".tar.gz"))
11042 (sha256
11043 (base32
11044 "1484hcl27s2qcby8ws5djj11q9bz68bspcifz9h5gii2ndy70x9i"))))
11045 (build-system haskell-build-system)
11046 (arguments
11047 `(#:tests? #f))
11048 (inputs
11049 `(("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
11050 ("ghc-temporary" ,ghc-temporary)))
11051 (home-page "https://github.com/fpco/haskell-filesystem")
11052 (synopsis "Consistent file system interaction across GHC versions")
11053 (description
11054 "This is a small wrapper around the directory, unix, and Win32 packages,
11055 for use with system-filepath. It provides a consistent API to the various
11056 versions of these packages distributed with different versions of GHC.
11057 In particular, this library supports working with POSIX files that have paths
11058 which can't be decoded in the current locale encoding.")
11059 (license license:expat)))
11060
11061
11062 (define-public ghc-system-filepath
11063 (package
11064 (name "ghc-system-filepath")
11065 (version "0.4.14")
11066 (source
11067 (origin
11068 (method url-fetch)
11069 (uri (string-append
11070 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
11071 version ".tar.gz"))
11072 (sha256
11073 (base32
11074 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
11075 (build-system haskell-build-system)
11076 ;; FIXME: One of the tests fails:
11077 ;; [ FAIL ] tests.validity.posix
11078 ;; note: seed=7310214548328823169
11079 ;; *** Failed! Falsifiable (after 24 tests):
11080 ;; 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"
11081 (arguments `(#:tests? #f))
11082 (inputs
11083 `(("ghc-chell" ,ghc-chell)
11084 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)
11085 ("ghc-quickcheck" ,ghc-quickcheck)))
11086 (home-page "https://github.com/fpco/haskell-filesystem")
11087 (synopsis "High-level, byte-based file and directory path manipulations")
11088 (description
11089 "Provides a FilePath datatype and utility functions for operating on it.
11090 Unlike the filepath package, this package does not simply reuse String,
11091 increasing type safety.")
11092 (license license:expat)))
11093
11094 ;; Ghc-shelly depends on ghc-system-filepath and ghc-system-fileio, who in turn depend on
11095 ;; ghc-chell and ghc-chell-quickcheck for the test phase. Ghc-chell depends on ghc-options
11096 ;; which depends on ghc-chell and ghc-chell-quickcheck.
11097 ;; Therefore we bootstrap it with tests disabled.
11098 (define ghc-system-filepath-bootstrap
11099 (package
11100 (name "ghc-system-filepath-bootstrap")
11101 (version "0.4.14")
11102 (source
11103 (origin
11104 (method url-fetch)
11105 (uri (string-append
11106 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
11107 version ".tar.gz"))
11108 (sha256
11109 (base32
11110 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
11111 (build-system haskell-build-system)
11112 (arguments
11113 `(#:tests? #f))
11114 (inputs
11115 `(("ghc-quickcheck" ,ghc-quickcheck)))
11116 (home-page "https://github.com/fpco/haskell-filesystem")
11117 (synopsis "High-level, byte-based file and directory path manipulations")
11118 (description
11119 "Provides a FilePath datatype and utility functions for operating on it.
11120 Unlike the filepath package, this package does not simply reuse String,
11121 increasing type safety.")
11122 (license license:expat)))
11123
11124
11125 (define-public ghc-tagged
11126 (package
11127 (name "ghc-tagged")
11128 (version "0.8.6")
11129 (source
11130 (origin
11131 (method url-fetch)
11132 (uri (string-append
11133 "https://hackage.haskell.org/package/tagged/tagged-"
11134 version
11135 ".tar.gz"))
11136 (sha256
11137 (base32
11138 "1pciqzxf9ncv954v4r527xkxkn7r5hcr13mfw5dg1xjci3qdw5md"))))
11139 (build-system haskell-build-system)
11140 (arguments
11141 `(#:cabal-revision
11142 ("1" "070xwfw7y81hd63il76dmwbdl9ca1rd07c54zynfx6vpr4wyx4vh")))
11143 (inputs
11144 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
11145 (home-page "https://hackage.haskell.org/package/tagged")
11146 (synopsis "Haskell phantom types to avoid passing dummy arguments")
11147 (description "This library provides phantom types for Haskell 98, to avoid
11148 having to unsafely pass dummy arguments.")
11149 (license license:bsd-3)))
11150
11151 (define-public ghc-tar
11152 (package
11153 (name "ghc-tar")
11154 (version "0.5.1.1")
11155 (source
11156 (origin
11157 (method url-fetch)
11158 (uri (string-append
11159 "https://hackage.haskell.org/package/tar/tar-"
11160 version ".tar.gz"))
11161 (sha256
11162 (base32
11163 "1ppim7cgmn7ng8zbdrwkxhhizc30h15h1c9cdlzamc5jcagl915k"))))
11164 (build-system haskell-build-system)
11165 ;; FIXME: 2/24 tests fail.
11166 (arguments `(#:tests? #f))
11167 (inputs
11168 `(("ghc-bytestring-handle" ,ghc-bytestring-handle)
11169 ("ghc-quickcheck" ,ghc-quickcheck)
11170 ("ghc-tasty" ,ghc-tasty)
11171 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11172 (home-page "https://hackage.haskell.org/package/tar")
11173 (synopsis "Reading, writing and manipulating \".tar\" archive files")
11174 (description
11175 "This library is for working with \\\"@.tar@\\\" archive files.
11176 It can read and write a range of common variations of the tar archive format
11177 including V7, POSIX USTAR and GNU formats. It provides support for packing and
11178 unpacking portable archives. This makes it suitable for distribution but not
11179 backup because details like file ownership and exact permissions are not
11180 preserved. It also provides features for random access to archive content using
11181 an index.")
11182 (license license:bsd-3)))
11183
11184 (define-public ghc-tar-conduit
11185 (package
11186 (name "ghc-tar-conduit")
11187 (version "0.3.2")
11188 (source
11189 (origin
11190 (method url-fetch)
11191 (uri (string-append "https://hackage.haskell.org/package/"
11192 "tar-conduit/tar-conduit-" version ".tar.gz"))
11193 (sha256
11194 (base32
11195 "0bgn3hyf20g1gfnzy8f41s7nj54kfcyjk2izw99svrw8f3dphi80"))))
11196 (build-system haskell-build-system)
11197 (inputs
11198 `(("ghc-conduit" ,ghc-conduit)
11199 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
11200 ("ghc-safe-exceptions" ,ghc-safe-exceptions)))
11201 (native-inputs
11202 `(("ghc-quickcheck" ,ghc-quickcheck)
11203 ("ghc-conduit-extra" ,ghc-conduit-extra)
11204 ("ghc-hspec" ,ghc-hspec)
11205 ("ghc-hspec" ,ghc-hspec)
11206 ("ghc-weigh" ,ghc-weigh)))
11207 (home-page "https://github.com/snoyberg/tar-conduit#readme")
11208 (synopsis "Extract and create tar files using conduit for streaming")
11209 (description "This library provides a conduit-based, streaming
11210 interface for extracting and creating tar files.")
11211 (license license:expat)))
11212
11213 (define-public ghc-temporary
11214 (package
11215 (name "ghc-temporary")
11216 (version "1.3")
11217 (source
11218 (origin
11219 (method url-fetch)
11220 (uri (string-append
11221 "https://hackage.haskell.org/package/temporary/temporary-"
11222 version
11223 ".tar.gz"))
11224 (sha256
11225 (base32
11226 "144qhwfwg37l3k313raf4ssiz16jbgwlm1nf4flgqpsbd69jji4c"))))
11227 (build-system haskell-build-system)
11228 (inputs
11229 `(("ghc-exceptions" ,ghc-exceptions)
11230 ("ghc-random" ,ghc-random)))
11231 (native-inputs
11232 `(("ghc-base-compat" ,ghc-base-compat)
11233 ("ghc-tasty" ,ghc-tasty)
11234 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
11235 (home-page "https://www.github.com/batterseapower/temporary")
11236 (synopsis "Temporary file and directory support")
11237 (description "The functions for creating temporary files and directories
11238 in the Haskelll base library are quite limited. This library just repackages
11239 the Cabal implementations of its own temporary file and folder functions so
11240 that you can use them without linking against Cabal or depending on it being
11241 installed.")
11242 (license license:bsd-3)))
11243
11244 (define-public ghc-temporary-rc
11245 (package
11246 (name "ghc-temporary-rc")
11247 (version "1.2.0.3")
11248 (source
11249 (origin
11250 (method url-fetch)
11251 (uri (string-append
11252 "https://hackage.haskell.org/package/temporary-rc/temporary-rc-"
11253 version
11254 ".tar.gz"))
11255 (sha256
11256 (base32
11257 "1nqih0qks439k3pr5kmbbc8rjdw730slrxlflqb27fbxbzb8skqs"))))
11258 (build-system haskell-build-system)
11259 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
11260 (home-page
11261 "https://www.github.com/feuerbach/temporary")
11262 (synopsis
11263 "Portable temporary file and directory support")
11264 (description
11265 "The functions for creating temporary files and directories in the base
11266 library are quite limited. The unixutils package contains some good ones, but
11267 they aren't portable to Windows. This library just repackages the Cabal
11268 implementations of its own temporary file and folder functions so that you can
11269 use them without linking against Cabal or depending on it being installed.
11270 This is a better maintained fork of the \"temporary\" package.")
11271 (license license:bsd-3)))
11272
11273 (define-public ghc-terminal-size
11274 (package
11275 (name "ghc-terminal-size")
11276 (version "0.3.2.1")
11277 (source (origin
11278 (method url-fetch)
11279 (uri (string-append
11280 "https://hackage.haskell.org/package/terminal-size/"
11281 "terminal-size-" version ".tar.gz"))
11282 (sha256
11283 (base32
11284 "0n4nvj3dbj9gxfnprgish45asn9z4dipv9j98s8i7g2n8yb3xhmm"))))
11285 (build-system haskell-build-system)
11286 (home-page "https://hackage.haskell.org/package/terminal-size")
11287 (synopsis "Get terminal window height and width")
11288 (description "Get terminal window height and width without ncurses
11289 dependency.")
11290 (license license:bsd-3)))
11291
11292 (define-public ghc-texmath
11293 (package
11294 (name "ghc-texmath")
11295 (version "0.11.3")
11296 (source (origin
11297 (method url-fetch)
11298 (uri (string-append "https://hackage.haskell.org/package/"
11299 "texmath/texmath-" version ".tar.gz"))
11300 (sha256
11301 (base32
11302 "03rpxbp43bjs62mmw4hv4785n6f6nbf8kj2y9mma5nzk6i2xs09f"))))
11303 (build-system haskell-build-system)
11304 (inputs
11305 `(("ghc-syb" ,ghc-syb)
11306 ("ghc-network-uri" ,ghc-network-uri)
11307 ("ghc-split" ,ghc-split)
11308 ("ghc-temporary" ,ghc-temporary)
11309 ("ghc-utf8-string" ,ghc-utf8-string)
11310 ("ghc-xml" ,ghc-xml)
11311 ("ghc-pandoc-types" ,ghc-pandoc-types)))
11312 (home-page "https://github.com/jgm/texmath")
11313 (synopsis "Conversion between formats used to represent mathematics")
11314 (description
11315 "The texmath library provides functions to read and write TeX math,
11316 presentation MathML, and OMML (Office Math Markup Language, used in Microsoft
11317 Office). Support is also included for converting math formats to pandoc's
11318 native format (allowing conversion, via pandoc, to a variety of different
11319 markup formats). The TeX reader supports basic LaTeX and AMS extensions, and
11320 it can parse and apply LaTeX macros.")
11321 (license license:gpl2+)))
11322
11323 (define-public ghc-text-binary
11324 (package
11325 (name "ghc-text-binary")
11326 (version "0.2.1.1")
11327 (source
11328 (origin
11329 (method url-fetch)
11330 (uri (string-append "https://hackage.haskell.org/package/"
11331 "text-binary/text-binary-"
11332 version ".tar.gz"))
11333 (sha256
11334 (base32
11335 "18gl10pwg3qwsk0za3c70j4n6a9129wwf1b7d3a461h816yv55xn"))))
11336 (build-system haskell-build-system)
11337 (home-page "https://github.com/kawu/text-binary")
11338 (synopsis "Binary instances for text types")
11339 (description
11340 "This package provides a compatibility layer providing @code{Binary}
11341 instances for strict and lazy text types for versions older than 1.2.1 of the
11342 text package.")
11343 (license license:bsd-2)))
11344
11345 (define-public ghc-text-metrics
11346 (package
11347 (name "ghc-text-metrics")
11348 (version "0.3.0")
11349 (source
11350 (origin
11351 (method url-fetch)
11352 (uri (string-append "https://hackage.haskell.org/package/"
11353 "text-metrics/text-metrics-" version ".tar.gz"))
11354 (sha256
11355 (base32
11356 "18mzxwkdvjp31r720ai9bnxr638qq8x3a2v408bz0d8f0rsayx1q"))))
11357 (build-system haskell-build-system)
11358 (inputs
11359 `(("ghc-vector" ,ghc-vector)))
11360 (native-inputs
11361 `(("ghc-quickcheck" ,ghc-quickcheck)
11362 ("ghc-hspec" ,ghc-hspec)))
11363 (arguments
11364 `(#:cabal-revision
11365 ("4" "017drxq9x56b345d8w5m8xdsi1zzs0z16pbdx8j35cd1lsnh3kf1")))
11366 (home-page "https://github.com/mrkkrp/text-metrics")
11367 (synopsis "Calculate various string metrics efficiently")
11368 (description "This library provides tools to calculate various
11369 string metrics efficiently.")
11370 (license license:bsd-3)))
11371
11372 (define-public ghc-tf-random
11373 (package
11374 (name "ghc-tf-random")
11375 (version "0.5")
11376 (outputs '("out" "doc"))
11377 (source
11378 (origin
11379 (method url-fetch)
11380 (uri (string-append
11381 "https://hackage.haskell.org/package/tf-random/tf-random-"
11382 version
11383 ".tar.gz"))
11384 (sha256
11385 (base32 "0445r2nns6009fmq0xbfpyv7jpzwv0snccjdg7hwj4xk4z0cwc1f"))))
11386 (build-system haskell-build-system)
11387 (inputs
11388 `(("ghc-primitive" ,ghc-primitive)
11389 ("ghc-random" ,ghc-random)))
11390 (home-page "https://hackage.haskell.org/package/tf-random")
11391 (synopsis "High-quality splittable pseudorandom number generator")
11392 (description "This package contains an implementation of a high-quality
11393 splittable pseudorandom number generator. The generator is based on a
11394 cryptographic hash function built on top of the ThreeFish block cipher. See
11395 the paper \"Splittable Pseudorandom Number Generators Using Cryptographic
11396 Hashing\" by Claessen, Pałka for details and the rationale of the design.")
11397 (license license:bsd-3)))
11398
11399 (define-public ghc-th-abstraction
11400 (package
11401 (name "ghc-th-abstraction")
11402 (version "0.3.1.0")
11403 (source
11404 (origin
11405 (method url-fetch)
11406 (uri (string-append "https://hackage.haskell.org/package/"
11407 "th-abstraction/th-abstraction-"
11408 version ".tar.gz"))
11409 (sha256
11410 (base32
11411 "1f81w0gshvc816cf9qz0f19jsrzh6wpzmmy317xrgn63dv61p7jb"))))
11412 (build-system haskell-build-system)
11413 (home-page "https://github.com/glguy/th-abstraction")
11414 (synopsis "Nicer interface for reified information about data types")
11415 (description
11416 "This package normalizes variations in the interface for inspecting
11417 datatype information via Template Haskell so that packages and support a
11418 single, easier to use informational datatype while supporting many versions of
11419 Template Haskell.")
11420 (license license:isc)))
11421
11422 (define-public ghc-th-expand-syns
11423 (package
11424 (name "ghc-th-expand-syns")
11425 (version "0.4.5.0")
11426 (source (origin
11427 (method url-fetch)
11428 (uri (string-append "https://hackage.haskell.org/package/"
11429 "th-expand-syns/th-expand-syns-"
11430 version ".tar.gz"))
11431 (sha256
11432 (base32
11433 "1p4wfyycan8zsp9wi7npx36qwbfsbcgdyxi3ii51scf69dkrx42y"))))
11434 (build-system haskell-build-system)
11435 (inputs
11436 `(("ghc-syb" ,ghc-syb)))
11437 (home-page "https://hackage.haskell.org/package/th-expand-syns")
11438 (synopsis "Expands type synonyms in Template Haskell ASTs")
11439 (description
11440 "This package enables users to expand type synonyms in Template Haskell
11441 @dfn{abstract syntax trees} (ASTs).")
11442 (license license:bsd-3)))
11443
11444 (define-public ghc-th-lift
11445 (package
11446 (name "ghc-th-lift")
11447 (version "0.8.0.1")
11448 (source (origin
11449 (method url-fetch)
11450 (uri (string-append "https://hackage.haskell.org/package/"
11451 "th-lift/th-lift-" version ".tar.gz"))
11452 (sha256
11453 (base32
11454 "1a6qlbdg15cfr5rvl9g3blgwx4v1p0xic0pzv13zx165xbc36ld0"))))
11455 (build-system haskell-build-system)
11456 (inputs
11457 `(("ghc-th-abstraction" ,ghc-th-abstraction)))
11458 (home-page "https://github.com/mboes/th-lift")
11459 (synopsis "Derive Template Haskell's Lift class for datatypes")
11460 (description
11461 "This is a Haskell library to derive Template Haskell's Lift class for
11462 datatypes.")
11463 (license license:bsd-3)))
11464
11465 (define-public ghc-th-lift-instances
11466 (package
11467 (name "ghc-th-lift-instances")
11468 (version "0.1.14")
11469 (source
11470 (origin
11471 (method url-fetch)
11472 (uri (string-append "https://hackage.haskell.org/package/"
11473 "th-lift-instances/th-lift-instances-"
11474 version ".tar.gz"))
11475 (sha256
11476 (base32
11477 "0r1b4jnvcj64wp4hfccwkl4a70n1p1q7qzyx6ax7cmd8k961jz78"))))
11478 (build-system haskell-build-system)
11479 (inputs
11480 `(("ghc-th-lift" ,ghc-th-lift)
11481 ("ghc-vector" ,ghc-vector)
11482 ("ghc-quickcheck" ,ghc-quickcheck)))
11483 (home-page "https://github.com/bennofs/th-lift-instances/")
11484 (synopsis "Lift instances for template-haskell for common data types.")
11485 (description "Most data types in the Haskell platform do not have Lift
11486 instances. This package provides orphan instances for @code{containers},
11487 @code{text}, @code{bytestring} and @code{vector}.")
11488 (license license:bsd-3)))
11489
11490 (define-public ghc-th-orphans
11491 (package
11492 (name "ghc-th-orphans")
11493 (version "0.13.9")
11494 (source (origin
11495 (method url-fetch)
11496 (uri (string-append "https://hackage.haskell.org/package/"
11497 "th-orphans/th-orphans-" version ".tar.gz"))
11498 (sha256
11499 (base32
11500 "1xj1gssv77hdx1r3ndg8k49v3ipj3a6r7crkyvx13jrps3m6ng1z"))))
11501 (build-system haskell-build-system)
11502 (inputs
11503 `(("ghc-th-lift" ,ghc-th-lift)
11504 ("ghc-th-lift-instances" ,ghc-th-lift-instances)
11505 ("ghc-th-reify-many" ,ghc-th-reify-many)
11506 ("ghc-generic-deriving" ,ghc-generic-deriving)))
11507 (native-inputs
11508 `(("ghc-hspec" ,ghc-hspec)))
11509 (home-page "https://hackage.haskell.org/package/th-orphans")
11510 (synopsis "Orphan instances for TH datatypes")
11511 (description
11512 "This package provides orphan instances for Template Haskell datatypes. In particular,
11513 instances for @code{Ord} and @code{Lift}, as well as a few missing @code{Show}
11514 and @code{Eq} instances. These instances used to live in the haskell-src-meta
11515 package, and that's where the version number started.")
11516 (license license:bsd-3)))
11517
11518 (define-public ghc-threads
11519 (package
11520 (name "ghc-threads")
11521 (version "0.5.1.6")
11522 (source
11523 (origin
11524 (method url-fetch)
11525 (uri (string-append "https://hackage.haskell.org/package/"
11526 "threads/threads-" version ".tar.gz"))
11527 (sha256
11528 (base32
11529 "0bjnjhnq3km6xqk0fn1fgyz5xdw4h6lylbwwbcmkkfzwcz0c76hk"))))
11530 (build-system haskell-build-system)
11531 (native-inputs
11532 `(("ghc-concurrent-extra" ,ghc-concurrent-extra)
11533 ("ghc-hunit" ,ghc-hunit)
11534 ("ghc-test-framework" ,ghc-test-framework)
11535 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
11536 (home-page "https://github.com/basvandijk/threads")
11537 (synopsis "Fork threads and wait for their result")
11538 (description "This package provides functions to fork threads and
11539 wait for their result, whether it's an exception or a normal value.
11540 Besides waiting for the termination of a single thread this package also
11541 provides functions to wait for a group of threads to terminate. This
11542 package is similar to the @code{threadmanager}, @code{async} and
11543 @code{spawn} packages. The advantages of this package are:
11544
11545 @itemize
11546 @item Simpler API.
11547 @item More efficient in both space and time.
11548 @item No space-leak when forking a large number of threads.
11549 @item Correct handling of asynchronous exceptions.
11550 @item GHC specific functionality like @code{forkOn} and
11551 @code{forkIOWithUnmask}.
11552 @end itemize")
11553 (license license:bsd-3)))
11554
11555 (define-public ghc-th-reify-many
11556 (package
11557 (name "ghc-th-reify-many")
11558 (version "0.1.9")
11559 (source (origin
11560 (method url-fetch)
11561 (uri (string-append "https://hackage.haskell.org/package/"
11562 "th-reify-many/th-reify-many-"
11563 version ".tar.gz"))
11564 (sha256
11565 (base32
11566 "0hxf56filzqnyrc8q7766vai80y6cgrrbrczx6n93caskl1dv2gq"))))
11567 (build-system haskell-build-system)
11568 (inputs
11569 `(("ghc-safe" ,ghc-safe)
11570 ("ghc-th-expand-syns" ,ghc-th-expand-syns)))
11571 (home-page "https://github.com/mgsloan/th-reify-many")
11572 (synopsis "Recurseively reify template haskell datatype info")
11573 (description
11574 "th-reify-many provides functions for recursively reifying top level
11575 declarations. The main intended use case is for enumerating the names of
11576 datatypes reachable from an initial datatype, and passing these names to some
11577 function which generates instances.")
11578 (license license:bsd-3)))
11579
11580 (define-public ghc-time-compat
11581 (package
11582 (name "ghc-time-compat")
11583 (version "1.9.2.2")
11584 (source
11585 (origin
11586 (method url-fetch)
11587 (uri (string-append "https://hackage.haskell.org/package/"
11588 "time-compat/time-compat-" version ".tar.gz"))
11589 (sha256
11590 (base32
11591 "05va0rqs759vbridbcl6hksp967j9anjvys8vx72fnfkhlrn2s52"))))
11592 (build-system haskell-build-system)
11593 (inputs
11594 `(("ghc-base-orphans" ,ghc-base-orphans)))
11595 (native-inputs
11596 `(("ghc-hunit" ,ghc-hunit)
11597 ("ghc-base-compat" ,ghc-base-compat)
11598 ("ghc-quickcheck" ,ghc-quickcheck)
11599 ("ghc-tagged" ,ghc-tagged)
11600 ("ghc-tasty" ,ghc-tasty)
11601 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11602 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11603 (arguments
11604 `(#:cabal-revision
11605 ("1" "0k8ph4sydaiqp8dav4if6hpiaq8h1xsr93khmdr7a1mmfwdxr64r")))
11606 (home-page "https://github.com/phadej/time-compat")
11607 (synopsis "Compatibility package for time")
11608 (description "This packages tries to compat as many @code{time}
11609 features as possible.")
11610 (license license:bsd-3)))
11611
11612 (define-public ghc-time-locale-compat
11613 (package
11614 (name "ghc-time-locale-compat")
11615 (version "0.1.1.5")
11616 (source
11617 (origin
11618 (method url-fetch)
11619 (uri (string-append "https://hackage.haskell.org/package/"
11620 "time-locale-compat/time-locale-compat-"
11621 version ".tar.gz"))
11622 (sha256
11623 (base32
11624 "0b2hmj8wwrfkndwzgm11qr496ca2ahwdxcj3m0ii91bxvrk1bzq7"))))
11625 (build-system haskell-build-system)
11626 (inputs `(("ghc-old-locale" ,ghc-old-locale)))
11627 (home-page "https://github.com/khibino/haskell-time-locale-compat")
11628 (synopsis "Compatibility of TimeLocale between old-locale and time-1.5")
11629 (description "This package contains a wrapped name module for
11630 @code{TimeLocale}.")
11631 (license license:bsd-3)))
11632
11633 (define-public ghc-time-manager
11634 (package
11635 (name "ghc-time-manager")
11636 (version "0.0.0")
11637 (source
11638 (origin
11639 (method url-fetch)
11640 (uri (string-append "https://hackage.haskell.org/package/"
11641 "time-manager/time-manager-" version ".tar.gz"))
11642 (sha256
11643 (base32
11644 "1nzwj0fxz370ks6vr1sylcidx33rnqq45y3q9yv9n4dj43nid9lh"))))
11645 (build-system haskell-build-system)
11646 (inputs
11647 `(("ghc-auto-update" ,ghc-auto-update)))
11648 (home-page "https://github.com/yesodweb/wai")
11649 (synopsis "Scalable timer")
11650 (description "This library contains scalable timer functions provided by a
11651 timer manager.")
11652 (license license:expat)))
11653
11654 (define-public ghc-timeit
11655 (package
11656 (name "ghc-timeit")
11657 (version "2.0")
11658 (source
11659 (origin
11660 (method url-fetch)
11661 (uri
11662 (string-append
11663 "https://hackage.haskell.org/package/timeit/timeit-"
11664 version ".tar.gz"))
11665 (sha256
11666 (base32
11667 "1sliqpvl501rlcj6s0lhmsf5ym24j4h881wzc1f1wdyvg3jz8kd1"))))
11668 (build-system haskell-build-system)
11669 (home-page "https://github.com/merijn/timeit")
11670 (synopsis "Time monadic computations with an IO base")
11671 (description "This package provides a simple wrapper to show the
11672 used CPU time of monadic computation with an IO base.")
11673 (license license:bsd-3)))
11674
11675 (define-public ghc-timezone-series
11676 (package
11677 (name "ghc-timezone-series")
11678 (version "0.1.9")
11679 (source
11680 (origin
11681 (method url-fetch)
11682 (uri
11683 (string-append
11684 "mirror://hackage/package/timezone-series/timezone-series-"
11685 version ".tar.gz"))
11686 (sha256
11687 (base32
11688 "1blwgnyzqn917rgqkl4dncv9whv3xmk0lav040qq0214vksmvlz5"))))
11689 (build-system haskell-build-system)
11690 (home-page "https://archives.haskell.org/projects.haskell.org/time-ng/")
11691 (synopsis "Enhanced timezone handling for Time")
11692 (description
11693 "This package endows @code{Data.Time}, from the time package, with several
11694 data types and functions for enhanced processing of timezones. For one way to
11695 create timezone series, see the ghc-timezone-olson package.")
11696 (license license:bsd-3)))
11697
11698 (define-public ghc-timezone-olson
11699 (package
11700 (name "ghc-timezone-olson")
11701 (version "0.1.9")
11702 (source
11703 (origin
11704 (method url-fetch)
11705 (uri
11706 (string-append
11707 "mirror://hackage/package/timezone-olson/timezone-olson-"
11708 version ".tar.gz"))
11709 (sha256
11710 (base32
11711 "05abywx1nrcaz0nqzfy4zw62bc5qd7pdfnjvv4drxkwv084ha8rj"))))
11712 (build-system haskell-build-system)
11713 (inputs
11714 `(("ghc-timezone-series" ,ghc-timezone-series)
11715 ("ghc-extensible-exceptions" ,ghc-extensible-exceptions)))
11716 (home-page "https://archives.haskell.org/projects.haskell.org/time-ng/")
11717 (synopsis "Parser and renderer for binary Olson timezone files")
11718 (description
11719 "A parser and renderer for binary Olson timezone files whose format
11720 is specified by the tzfile(5) man page on Unix-like systems. For more
11721 information about this format, see
11722 @url{http://www.iana.org/time-zones/repository/tz-link.html}. Functions
11723 are provided for converting the parsed data into @code{TimeZoneSeries}
11724 objects from the timezone-series package.")
11725 (license license:bsd-3)))
11726
11727 (define-public ghc-tldr
11728 (package
11729 (name "ghc-tldr")
11730 (version "0.4.0.2")
11731 (source
11732 (origin
11733 (method url-fetch)
11734 (uri (string-append
11735 "https://hackage.haskell.org/package/tldr/tldr-"
11736 version
11737 ".tar.gz"))
11738 (sha256
11739 (base32
11740 "1zy9yyg7bxiyz1prkvrscggsb9p0f8y0nqxxxzlgzvnh2nmqf8f2"))))
11741 (build-system haskell-build-system)
11742 (inputs
11743 `(("ghc-cmark" ,ghc-cmark)
11744 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
11745 ("ghc-typed-process" ,ghc-typed-process)
11746 ("ghc-semigroups" ,ghc-semigroups)))
11747 (native-inputs
11748 `(("ghc-tasty" ,ghc-tasty)
11749 ("ghc-tasty-golden" ,ghc-tasty-golden)))
11750 (home-page "https://github.com/psibi/tldr-hs#readme")
11751 (synopsis "Haskell tldr client")
11752 (description "This package provides the @command{tldr} command and a
11753 Haskell client library allowing users to update and view @code{tldr} pages
11754 from a shell. The @code{tldr} pages are a community effort to simplify the
11755 man pages with practical examples.")
11756 (license license:bsd-3)))
11757
11758 (define-public ghc-transformers-base
11759 (package
11760 (name "ghc-transformers-base")
11761 (version "0.4.5.2")
11762 (source
11763 (origin
11764 (method url-fetch)
11765 (uri (string-append
11766 "https://hackage.haskell.org/package/transformers-base/transformers-base-"
11767 version
11768 ".tar.gz"))
11769 (sha256
11770 (base32
11771 "1s256bi0yh0x2hp2gwd30f3mg1cv53zz397dv1yhfsnfzmihrj6h"))))
11772 (build-system haskell-build-system)
11773 (inputs
11774 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
11775 (home-page
11776 "https://hackage.haskell.org/package/transformers-compat")
11777 (synopsis
11778 "Backported transformer library")
11779 (description
11780 "Backported versions of types that were added to transformers in
11781 transformers 0.3 and 0.4 for users who need strict transformers 0.2 or 0.3
11782 compatibility to run on old versions of the platform.")
11783 (license license:bsd-3)))
11784
11785 (define-public ghc-transformers-compat
11786 (package
11787 (name "ghc-transformers-compat")
11788 (version "0.6.5")
11789 (source
11790 (origin
11791 (method url-fetch)
11792 (uri (string-append
11793 "https://hackage.haskell.org/package/transformers-compat"
11794 "/transformers-compat-" version ".tar.gz"))
11795 (sha256
11796 (base32
11797 "02v2fjbvcrlpvhcsssap8dy8y9pp95jykrlc5arm39sxa48wyrys"))))
11798 (build-system haskell-build-system)
11799 (home-page "https://github.com/ekmett/transformers-compat/")
11800 (synopsis "Small compatibility shim between transformers 0.3 and 0.4")
11801 (description "This package includes backported versions of types that were
11802 added to transformers in transformers 0.3 and 0.4 for users who need strict
11803 transformers 0.2 or 0.3 compatibility to run on old versions of the platform,
11804 but also need those types.")
11805 (license license:bsd-3)))
11806
11807 (define-public ghc-tree-diff
11808 (package
11809 (name "ghc-tree-diff")
11810 (version "0.1")
11811 (source
11812 (origin
11813 (method url-fetch)
11814 (uri (string-append
11815 "https://hackage.haskell.org/package/tree-diff/tree-diff-"
11816 version
11817 ".tar.gz"))
11818 (sha256
11819 (base32
11820 "1156nbqn0pn9lp4zjsy4vv5g5wmy4zxwmbqdgvq349rydynh3ng3"))))
11821 (build-system haskell-build-system)
11822 (inputs
11823 `(("ghc-aeson" ,ghc-aeson)
11824 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
11825 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
11826 ("ghc-base-compat" ,ghc-base-compat)
11827 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
11828 ("ghc-hashable" ,ghc-hashable)
11829 ("ghc-parsers" ,ghc-parsers)
11830 ("ghc-quickcheck" ,ghc-quickcheck)
11831 ("ghc-scientific" ,ghc-scientific)
11832 ("ghc-tagged" ,ghc-tagged)
11833 ("ghc-unordered-containers" ,ghc-unordered-containers)
11834 ("ghc-uuid-types" ,ghc-uuid-types)
11835 ("ghc-vector" ,ghc-vector)))
11836 (native-inputs
11837 `(("ghc-base-compat" ,ghc-base-compat)
11838 ("ghc-quickcheck" ,ghc-quickcheck)
11839 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
11840 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
11841 ("ghc-trifecta" ,ghc-trifecta)
11842 ("ghc-tasty" ,ghc-tasty)
11843 ("ghc-tasty-golden" ,ghc-tasty-golden)
11844 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11845 (home-page "https://github.com/phadej/tree-diff")
11846 (synopsis "Compute difference between (expression) trees")
11847 (description "This Haskell library provides a function for computing
11848 the difference between (expression) trees. It also provides a way to
11849 compute the difference between arbitrary abstract datatypes (ADTs) using
11850 @code{Generics}-derivable helpers.")
11851 (license license:bsd-3)))
11852
11853 (define-public ghc-trifecta
11854 (package
11855 (name "ghc-trifecta")
11856 (version "2")
11857 (source (origin
11858 (method url-fetch)
11859 (uri (string-append
11860 "https://hackage.haskell.org/package/trifecta/"
11861 "trifecta-" version ".tar.gz"))
11862 (sha256
11863 (base32
11864 "0hznd8i65s81xy13i2qc7cvipw3lfb2yhkv53apbdsh6sbljz5sk"))))
11865 (build-system haskell-build-system)
11866 (arguments
11867 `(#:tests? #f ; doctest suite fails to build on i686
11868 #:cabal-revision
11869 ("4" "0xbwyvwl6f2zylk60f2akwgq03qv49113xil7b1z1s3vlwbn5aj1")))
11870 (inputs
11871 `(("ghc-reducers" ,ghc-reducers)
11872 ("ghc-semigroups" ,ghc-semigroups)
11873 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
11874 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
11875 ("ghc-blaze-builder" ,ghc-blaze-builder)
11876 ("ghc-blaze-html" ,ghc-blaze-html)
11877 ("ghc-blaze-markup" ,ghc-blaze-markup)
11878 ("ghc-charset" ,ghc-charset)
11879 ("ghc-comonad" ,ghc-comonad)
11880 ("ghc-fingertree" ,ghc-fingertree)
11881 ("ghc-hashable" ,ghc-hashable)
11882 ("ghc-lens" ,ghc-lens)
11883 ("ghc-parsers" ,ghc-parsers)
11884 ("ghc-profunctors" ,ghc-profunctors)
11885 ("ghc-unordered-containers" ,ghc-unordered-containers)
11886 ("ghc-utf8-string" ,ghc-utf8-string)))
11887 (native-inputs
11888 `(("cabal-doctest" ,cabal-doctest)
11889 ("ghc-doctest" ,ghc-doctest)
11890 ("ghc-quickcheck" ,ghc-quickcheck)))
11891 (home-page "https://github.com/ekmett/trifecta/")
11892 (synopsis "Parser combinator library with convenient diagnostics")
11893 (description "Trifecta is a modern parser combinator library for Haskell,
11894 with slicing and Clang-style colored diagnostics.")
11895 (license license:bsd-3)))
11896
11897 (define-public ghc-tuple-th
11898 (package
11899 (name "ghc-tuple-th")
11900 (version "0.2.5")
11901 (source
11902 (origin
11903 (method url-fetch)
11904 (uri (string-append "https://hackage.haskell.org/package/"
11905 "tuple-th-" version "/"
11906 "tuple-th-" version ".tar.gz"))
11907 (sha256
11908 (base32
11909 "1mrl4vvxmby7sf1paf7hklzidnr6wq55822i73smqyz0xpf3gsjn"))))
11910 (build-system haskell-build-system)
11911 (home-page "https://github.com/DanielSchuessler/tuple-th")
11912 (synopsis "Generate utility functions for tuples of statically known size
11913 for Haskell")
11914 (description "This Haskell package contains Template Haskell functions for
11915 generating functions similar to those in @code{Data.List} for tuples of
11916 statically known size.")
11917 (license license:bsd-3)))
11918
11919 (define-public ghc-typed-process
11920 (package
11921 (name "ghc-typed-process")
11922 (version "0.2.6.0")
11923 (source
11924 (origin
11925 (method url-fetch)
11926 (uri (string-append "https://hackage.haskell.org/package/"
11927 "typed-process/typed-process-"
11928 version ".tar.gz"))
11929 (sha256
11930 (base32
11931 "1cf2pfym8zdxvvy7xv72ixj7wy3rjrdss6f57k1ysgs66cgsi8ii"))))
11932 (build-system haskell-build-system)
11933 (inputs
11934 `(("ghc-async" ,ghc-async)
11935 ("ghc-unliftio-core" ,ghc-unliftio-core)))
11936 (native-inputs
11937 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
11938 ("ghc-hspec" ,ghc-hspec)
11939 ("hspec-discover" ,hspec-discover)
11940 ("ghc-temporary" ,ghc-temporary)))
11941 (home-page "https://haskell-lang.org/library/typed-process")
11942 (synopsis "Run external processes with strong typing of streams")
11943 (description
11944 "This library provides the ability to launch and interact with external
11945 processes. It wraps around the @code{process} library, and intends to improve
11946 upon it.")
11947 (license license:expat)))
11948
11949 (define-public ghc-unagi-chan
11950 (package
11951 (name "ghc-unagi-chan")
11952 (version "0.4.1.2")
11953 (source
11954 (origin
11955 (method url-fetch)
11956 (uri (string-append "https://hackage.haskell.org/package/unagi-chan"
11957 "/unagi-chan-" version ".tar.gz"))
11958 (sha256
11959 (base32
11960 "1lnl5n4jnjmm4chp461glcwkrrw63rjz3fvprwxcy3lkpbkrqvgn"))))
11961 (build-system haskell-build-system)
11962 (inputs
11963 `(("ghc-atomic-primops" ,ghc-atomic-primops)
11964 ("ghc-primitive" ,ghc-primitive)))
11965 (arguments
11966 `(#:tests? #f ; FIXME: Tests expect primitive 0.7
11967 #:cabal-revision
11968 ("1"
11969 "09pqi867wskwgc5lpn197f895mbn1174ydgllvcppcsmrz2b6yr6")))
11970 (home-page "http://hackage.haskell.org/package/unagi-chan")
11971 (synopsis "Fast concurrent queues with a Chan-like API, and more")
11972 (description
11973 "This library provides implementations of concurrent FIFO queues (for
11974 both general boxed and primitive unboxed values) that are fast, perform well
11975 under contention, and offer a Chan-like interface. The library may be of
11976 limited usefulness outside of x86 architectures where the fetch-and-add
11977 instruction is not available.")
11978 (license license:bsd-3)))
11979
11980 (define-public ghc-unbounded-delays
11981 (package
11982 (name "ghc-unbounded-delays")
11983 (version "0.1.1.0")
11984 (source
11985 (origin
11986 (method url-fetch)
11987 (uri (string-append
11988 "https://hackage.haskell.org/package/unbounded-delays/unbounded-delays-"
11989 version
11990 ".tar.gz"))
11991 (sha256
11992 (base32
11993 "1ir9fghbrc214c97bwafk5ck6cacxz1pdnq4i18p604d1b8zg9wa"))))
11994 (build-system haskell-build-system)
11995 (home-page "https://github.com/basvandijk/unbounded-delays")
11996 (synopsis "Unbounded thread delays and timeouts")
11997 (description "The @code{threadDelay} and @code{timeout} functions from the
11998 Haskell base library use the bounded @code{Int} type for specifying the delay
11999 or timeout period. This package provides alternative functions which use the
12000 unbounded @code{Integer} type.")
12001 (license license:bsd-3)))
12002
12003 (define-public ghc-unexceptionalio
12004 (package
12005 (name "ghc-unexceptionalio")
12006 (version "0.4.0")
12007 (source
12008 (origin
12009 (method url-fetch)
12010 (uri (string-append "https://hackage.haskell.org/package/"
12011 "unexceptionalio-" version "/" "unexceptionalio-"
12012 version ".tar.gz"))
12013 (sha256 (base32 "09gynk472l7nn5l2w320n4dwigwp0wh0shfp6dyw6r5h2jdxz18p"))))
12014 (build-system haskell-build-system)
12015 (home-page "https://github.com/singpolyma/unexceptionalio")
12016 (synopsis "IO without any non-error, synchronous exceptions")
12017 (description "When you've caught all the exceptions that can be
12018 handled safely, this is what you're left with.")
12019 (license license:isc)))
12020
12021 (define-public ghc-unicode-transforms
12022 (package
12023 (name "ghc-unicode-transforms")
12024 (version "0.3.6")
12025 (source
12026 (origin
12027 (method url-fetch)
12028 (uri (string-append "https://hackage.haskell.org/package/"
12029 "unicode-transforms/unicode-transforms-"
12030 version ".tar.gz"))
12031 (sha256
12032 (base32
12033 "1akscvyssif4hki3g6hy0jmjyr8cqly1whzvzj0km2b3qh0x09l3"))))
12034 (build-system haskell-build-system)
12035 (inputs
12036 `(("ghc-bitarray" ,ghc-bitarray)))
12037 (native-inputs
12038 `(("ghc-quickcheck" ,ghc-quickcheck)
12039 ("ghc-getopt-generics" ,ghc-getopt-generics)
12040 ("ghc-split" ,ghc-split)))
12041 (home-page "https://github.com/composewell/unicode-transforms")
12042 (synopsis "Unicode normalization")
12043 (description "This library provides tools for fast Unicode 12.1.0
12044 normalization in Haskell (normalization forms C, KC, D, and KD).")
12045 (license license:bsd-3)))
12046
12047 (define-public ghc-union-find
12048 (package
12049 (name "ghc-union-find")
12050 (version "0.2")
12051 (source (origin
12052 (method url-fetch)
12053 (uri (string-append
12054 "https://hackage.haskell.org/package/union-find/union-find-"
12055 version ".tar.gz"))
12056 (sha256
12057 (base32
12058 "1v7hj42j9w6jlzi56jg8rh4p58gfs1c5dx30wd1qqvn0p0mnihp6"))))
12059 (build-system haskell-build-system)
12060 (home-page "https://github.com/nominolo/union-find")
12061 (synopsis "Efficient union and equivalence testing of sets")
12062 (description
12063 "The Union/Find algorithm implements these operations in (effectively)
12064 constant-time:
12065 @enumerate
12066 @item Check whether two elements are in the same equivalence class.
12067 @item Create a union of two equivalence classes.
12068 @item Look up the descriptor of the equivalence class.
12069 @end enumerate\n")
12070 (license license:bsd-3)))
12071
12072 (define-public ghc-uniplate
12073 (package
12074 (name "ghc-uniplate")
12075 (version "1.6.12")
12076 (source
12077 (origin
12078 (method url-fetch)
12079 (uri (string-append
12080 "https://hackage.haskell.org/package/uniplate/uniplate-"
12081 version
12082 ".tar.gz"))
12083 (sha256
12084 (base32
12085 "1dx8f9aw27fz8kw0ad1nm6355w5rdl7bjvb427v2bsgnng30pipw"))))
12086 (build-system haskell-build-system)
12087 (inputs
12088 `(("ghc-syb" ,ghc-syb)
12089 ("ghc-hashable" ,ghc-hashable)
12090 ("ghc-unordered-containers" ,ghc-unordered-containers)))
12091 (home-page "http://community.haskell.org/~ndm/uniplate/")
12092 (synopsis "Simple, concise and fast generic operations")
12093 (description "Uniplate is a library for writing simple and concise generic
12094 operations. Uniplate has similar goals to the original Scrap Your Boilerplate
12095 work, but is substantially simpler and faster.")
12096 (license license:bsd-3)))
12097
12098 (define-public ghc-unix-compat
12099 (package
12100 (name "ghc-unix-compat")
12101 (version "0.5.2")
12102 (source
12103 (origin
12104 (method url-fetch)
12105 (uri (string-append
12106 "https://hackage.haskell.org/package/unix-compat/unix-compat-"
12107 version
12108 ".tar.gz"))
12109 (sha256
12110 (base32
12111 "1a8brv9fax76b1fymslzyghwa6ma8yijiyyhn12msl3i5x24x6k5"))))
12112 (build-system haskell-build-system)
12113 (home-page
12114 "https://github.com/jystic/unix-compat")
12115 (synopsis "Portable POSIX-compatibility layer")
12116 (description
12117 "This package provides portable implementations of parts of the unix
12118 package. This package re-exports the unix package when available. When it
12119 isn't available, portable implementations are used.")
12120 (license license:bsd-3)))
12121
12122 (define-public ghc-unix-time
12123 (package
12124 (name "ghc-unix-time")
12125 (version "0.4.7")
12126 (source
12127 (origin
12128 (method url-fetch)
12129 (uri (string-append
12130 "https://hackage.haskell.org/package/unix-time/unix-time-"
12131 version
12132 ".tar.gz"))
12133 (sha256
12134 (base32
12135 "02fyh298lm8jsg52i3z0ikazwz477ljqjmhnqr2d88grmn5ky8qr"))))
12136 (build-system haskell-build-system)
12137 (arguments
12138 `(#:tests? #f)) ; FIXME: Test fails with "System.Time not found". This
12139 ; is weird, that should be provided by GHC 7.10.2.
12140 (inputs
12141 `(("ghc-old-time" ,ghc-old-time)
12142 ("ghc-old-locale" ,ghc-old-locale)))
12143 (home-page "https://hackage.haskell.org/package/unix-time")
12144 (synopsis "Unix time parser/formatter and utilities")
12145 (description "This library provides fast parsing and formatting utilities
12146 for Unix time in Haskell.")
12147 (license license:bsd-3)))
12148
12149 (define-public ghc-unliftio
12150 (package
12151 (name "ghc-unliftio")
12152 (version "0.2.12")
12153 (source
12154 (origin
12155 (method url-fetch)
12156 (uri (string-append
12157 "https://hackage.haskell.org/package/unliftio/unliftio-"
12158 version
12159 ".tar.gz"))
12160 (sha256
12161 (base32
12162 "02gy1zrxgzg4xmzm8lafsf1nyr3as1q20r8ld73xg3q7rkag9acg"))))
12163 (build-system haskell-build-system)
12164 (arguments `(#:tests? #f)) ; FIXME: hspec-discover not in PATH
12165 (inputs
12166 `(("ghc-async" ,ghc-async)
12167 ("ghc-unliftio-core" ,ghc-unliftio-core)))
12168 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
12169 (home-page "https://github.com/fpco/unliftio")
12170 (synopsis "Provides MonadUnliftIO typecplass for unlifting monads to
12171 IO (batteries included)")
12172 (description "This Haskell package provides the core @code{MonadUnliftIO}
12173 typeclass, a number of common instances, and a collection of common functions
12174 working with it.")
12175 (license license:expat)))
12176
12177 (define-public ghc-unliftio-core
12178 (package
12179 (name "ghc-unliftio-core")
12180 (version "0.1.2.0")
12181 (source
12182 (origin
12183 (method url-fetch)
12184 (uri (string-append "https://hackage.haskell.org/package/"
12185 "unliftio-core-" version "/"
12186 "unliftio-core-" version ".tar.gz"))
12187 (sha256
12188 (base32
12189 "0y3siyx3drkw7igs380a87h8qfbbgcyxxlcnshp698hcc4yqphr4"))))
12190 (build-system haskell-build-system)
12191 (arguments
12192 `(#:cabal-revision
12193 ("2" "0jqrjjbgicx48wzcjxs1xmih48ay79rhmrz6081dldlfxynli6vz")))
12194 (home-page
12195 "https://github.com/fpco/unliftio/tree/master/unliftio-core#readme")
12196 (synopsis "The MonadUnliftIO typeclass for unlifting monads to IO")
12197 (description "This Haskell package provides the core @code{MonadUnliftIO}
12198 typeclass, instances for base and transformers, and basic utility
12199 functions.")
12200 (license license:expat)))
12201
12202 (define-public ghc-unordered-containers
12203 (package
12204 (name "ghc-unordered-containers")
12205 (version "0.2.10.0")
12206 (outputs '("out" "doc"))
12207 (source
12208 (origin
12209 (method url-fetch)
12210 (uri (string-append
12211 "https://hackage.haskell.org/package/unordered-containers"
12212 "/unordered-containers-" version ".tar.gz"))
12213 (sha256
12214 (base32
12215 "0wy5hfrs880hh8hvp648bl07ws777n3kkmczzdszr7papnyigwb5"))))
12216 (build-system haskell-build-system)
12217 (inputs
12218 `(("ghc-chasingbottoms" ,ghc-chasingbottoms)
12219 ("ghc-hunit" ,ghc-hunit)
12220 ("ghc-quickcheck" ,ghc-quickcheck)
12221 ("ghc-test-framework" ,ghc-test-framework)
12222 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
12223 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
12224 ("ghc-hashable" ,ghc-hashable)))
12225 (home-page
12226 "https://github.com/tibbe/unordered-containers")
12227 (synopsis
12228 "Efficient hashing-based container types")
12229 (description
12230 "Efficient hashing-based container types. The containers have been
12231 optimized for performance critical use, both in terms of large data quantities
12232 and high speed.")
12233 (license license:bsd-3)))
12234
12235 (define-public ghc-unordered-containers-bootstrap
12236 (package
12237 (inherit ghc-unordered-containers)
12238 (name "ghc-unordered-containers-bootstrap")
12239 (arguments `(#:tests? #f))
12240 (inputs
12241 `(("ghc-hashable" ,ghc-hashable-bootstrap)))
12242 (properties '((hidden? #t)))))
12243
12244 (define-public ghc-unsafe
12245 (package
12246 (name "ghc-unsafe")
12247 (version "0.0")
12248 (source
12249 (origin
12250 (method url-fetch)
12251 (uri
12252 (string-append
12253 "https://hackage.haskell.org/package/unsafe/unsafe-"
12254 version ".tar.gz"))
12255 (sha256
12256 (base32
12257 "0hc6xr1i3hkz25gdgfx1jqgpsc9mwa05bkfynp0mcfdlyz6782nz"))))
12258 (build-system haskell-build-system)
12259 (home-page "https://hackage.haskell.org/package/unsafe")
12260 (synopsis "Unified interface to unsafe functions")
12261 (description "Safe Haskell introduced the notion of safe and unsafe
12262 modules. In order to make as many as possible modules ``safe'', the
12263 well-known unsafe functions were moved to distinguished modules. This
12264 makes it hard to write packages that work with both old and new versions
12265 of GHC. This package provides a single module System.Unsafe that
12266 exports the unsafe functions from the base package. It provides them in
12267 a style ready for qualification, that is, you should import them by
12268 @code{import qualified System.Unsafe as Unsafe}.")
12269 (license license:bsd-3)))
12270
12271 (define-public ghc-uri-bytestring
12272 (package
12273 (name "ghc-uri-bytestring")
12274 (version "0.3.2.2")
12275 (source
12276 (origin
12277 (method url-fetch)
12278 (uri (string-append "https://hackage.haskell.org/package/"
12279 "uri-bytestring-" version "/"
12280 "uri-bytestring-" version ".tar.gz"))
12281 (sha256
12282 (base32
12283 "0spzv3mwlpxiamd7347sxwcy2xri16ak1y7p1v4fisnvq4jprm67"))))
12284 (build-system haskell-build-system)
12285 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
12286 ("ghc-blaze-builder" ,ghc-blaze-builder)
12287 ("ghc-th-lift-instances" ,ghc-th-lift-instances)))
12288 (native-inputs `(("ghc-hunit" ,ghc-hunit)
12289 ("ghc-tasty" ,ghc-tasty)
12290 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
12291 ("ghc-hedgehog" ,ghc-hedgehog)
12292 ("ghc-tasty-hedgehog" ,ghc-tasty-hedgehog)
12293 ("ghc-base-compat" ,ghc-base-compat)
12294 ("ghc-semigroups" ,ghc-semigroups)
12295 ("ghc-safe" ,ghc-safe)))
12296 (home-page "https://github.com/Soostone/uri-bytestring")
12297 (synopsis "Haskell URI parsing as ByteStrings")
12298 (description "This Haskell package aims to be an RFC3986 compliant URI
12299 parser that uses ByteStrings for parsing and representing the URI data.")
12300 (license license:bsd-3)))
12301
12302 (define-public ghc-utf8-string
12303 (package
12304 (name "ghc-utf8-string")
12305 (version "1.0.1.1")
12306 (source
12307 (origin
12308 (method url-fetch)
12309 (uri (string-append
12310 "https://hackage.haskell.org/package/utf8-string/utf8-string-"
12311 version
12312 ".tar.gz"))
12313 (sha256
12314 (base32 "0h7imvxkahiy8pzr8cpsimifdfvv18lizrb33k6mnq70rcx9w2zv"))))
12315 (build-system haskell-build-system)
12316 (arguments
12317 `(#:cabal-revision
12318 ("3" "02vhj5gykkqa2dyn7s6gn8is1b5fdn9xcqqvlls268g7cpv6rk38")))
12319 (home-page "https://github.com/glguy/utf8-string/")
12320 (synopsis "Support for reading and writing UTF8 Strings")
12321 (description
12322 "A UTF8 layer for Strings. The utf8-string package provides operations
12323 for encoding UTF8 strings to Word8 lists and back, and for reading and writing
12324 UTF8 without truncation.")
12325 (license license:bsd-3)))
12326
12327 (define-public ghc-utility-ht
12328 (package
12329 (name "ghc-utility-ht")
12330 (version "0.0.14")
12331 (home-page "https://hackage.haskell.org/package/utility-ht")
12332 (source
12333 (origin
12334 (method url-fetch)
12335 (uri (string-append home-page "/utility-ht-" version ".tar.gz"))
12336 (sha256
12337 (base32 "1a7bgk7wv7sqbxbiv7kankiimr3wij7zdm7s83zwsf886ghyxhk9"))))
12338 (build-system haskell-build-system)
12339 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
12340 (synopsis "Haskell helper functions for Lists, Maybes, Tuples, Functions")
12341 (description "This package includes Hakell modules providing various
12342 helper functions for Lists, Maybes, Tuples, Functions.")
12343 (license license:bsd-3)))
12344
12345 (define-public ghc-uuid
12346 (package
12347 (name "ghc-uuid")
12348 (version "1.3.13")
12349 (source
12350 (origin
12351 (method url-fetch)
12352 (uri (string-append "https://hackage.haskell.org/package/"
12353 "uuid-" version "/"
12354 "uuid-" version ".tar.gz"))
12355 (sha256
12356 (base32
12357 "09xhk42yhxvqmka0iqrv3338asncz8cap3j0ic0ps896f2581b6z"))))
12358 (build-system haskell-build-system)
12359 (arguments
12360 `(#:cabal-revision
12361 ("2" "0m185q62jkfb5jsv358nxbnrkv8y8hd0qqvgvh22wvc5g9ipz0r9")
12362 #:phases
12363 (modify-phases %standard-phases
12364 (add-before 'configure 'strip-test-framework-constraints
12365 (lambda _
12366 (substitute* "uuid.cabal"
12367 (("HUnit >= 1\\.2 && < 1\\.4") "HUnit")
12368 (("QuickCheck >= 2\\.4 && < 2\\.10") "QuickCheck")
12369 (("tasty >= 0\\.10 && < 0\\.12") "tasty")
12370 (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
12371 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
12372 (inputs `(("ghc-cryptohash-sha1" ,ghc-cryptohash-sha1)
12373 ("ghc-cryptohash-md5" ,ghc-cryptohash-md5)
12374 ("ghc-entropy" ,ghc-entropy)
12375 ("ghc-network-info" ,ghc-network-info)
12376 ("ghc-random" ,ghc-random)
12377 ("ghc-uuid-types" ,ghc-uuid-types)))
12378 (native-inputs `(("ghc-hunit" ,ghc-hunit)
12379 ("ghc-quickcheck" ,ghc-quickcheck)
12380 ("ghc-tasty" ,ghc-tasty)
12381 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
12382 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
12383 (home-page "https://github.com/hvr/uuid")
12384 (synopsis "Haskell library to create, compare, parse, and print UUIDs")
12385 (description "This Haskell library provides utilities creating, comparing,
12386 parsing and printing @dfn{Universally Unique Identifiers} or UUIDs.")
12387 (license license:bsd-3)))
12388
12389 (define-public ghc-uuid-types
12390 (package
12391 (name "ghc-uuid-types")
12392 (version "1.0.3")
12393 (source
12394 (origin
12395 (method url-fetch)
12396 (uri (string-append "https://hackage.haskell.org/package/"
12397 "uuid-types-" version "/"
12398 "uuid-types-" version ".tar.gz"))
12399 (sha256
12400 (base32
12401 "1zdka5jnm1h6k36w3nr647yf3b5lqb336g3fkprhd6san9x52xlj"))))
12402 (build-system haskell-build-system)
12403 (arguments
12404 `(#:phases
12405 (modify-phases %standard-phases
12406 (add-before 'configure 'strip-test-framework-constraints
12407 (lambda _
12408 (substitute* "uuid-types.cabal"
12409 (("HUnit >=1\\.2 && < 1\\.4") "HUnit")
12410 (("QuickCheck >=2\\.4 && < 2\\.9") "QuickCheck")
12411 (("tasty >= 0\\.10 && < 0\\.12") "tasty")
12412 (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
12413 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
12414 (inputs `(("ghc-hashable" ,ghc-hashable)
12415 ("ghc-random" ,ghc-random)))
12416 (native-inputs `(("ghc-hunit" ,ghc-hunit)
12417 ("ghc-quickcheck" ,ghc-quickcheck)
12418 ("ghc-tasty" ,ghc-tasty)
12419 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
12420 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
12421 (home-page "https://github.com/hvr/uuid")
12422 (synopsis "Haskell type definitions for UUIDs")
12423 (description "This Haskell library contains type definitions for
12424 @dfn{Universally Unique Identifiers} or
12425 @uref{https://en.wikipedia.org/wiki/UUID, UUIDs}, and basic conversion
12426 functions.")
12427 (license license:bsd-3)))
12428
12429 (define-public ghc-validation
12430 (package
12431 (name "ghc-validation")
12432 (version "1.1")
12433 (source
12434 (origin
12435 (method url-fetch)
12436 (uri (string-append
12437 "mirror://hackage/package/validation/validation-"
12438 version
12439 ".tar.gz"))
12440 (sha256
12441 (base32
12442 "1acj7mh3581ks405xswxw6667z7y1y0slisg6jvp6chc191ji9l5"))))
12443 (build-system haskell-build-system)
12444 (arguments
12445 `(#:cabal-revision
12446 ("1" "1rrjg9z399k6pb55nv85mlr5bkmdqbjwkvl1cy7ydccdx6ks4syp")))
12447 (inputs
12448 `(("ghc-semigroups" ,ghc-semigroups)
12449 ("ghc-semigroupoids" ,ghc-semigroupoids)
12450 ("ghc-bifunctors" ,ghc-bifunctors)
12451 ("ghc-lens" ,ghc-lens)))
12452 (native-inputs
12453 `(("ghc-hedgehog" ,ghc-hedgehog)
12454 ("ghc-hunit" ,ghc-hunit)))
12455 (home-page "https://github.com/qfpl/validation")
12456 (synopsis
12457 "Data-type like Either but with an accumulating Applicative")
12458 (description
12459 "A data-type like Either but with differing properties and type-class
12460 instances.
12461
12462 Library support is provided for this different representation, including
12463 @code{lens}-related functions for converting between each and abstracting over
12464 their similarities.
12465
12466 The @code{Validation} data type is isomorphic to @code{Either}, but has an
12467 instance of @code{Applicative} that accumulates on the error side. That is to
12468 say, if two (or more) errors are encountered, they are appended using a
12469 @{Semigroup} operation.
12470
12471 As a consequence of this @code{Applicative} instance, there is no
12472 corresponding @code{Bind} or @code{Monad} instance. @code{Validation} is an
12473 example of, \"An applicative functor that is not a monad.\"")
12474 (license license:bsd-3)))
12475
12476 (define-public ghc-validity
12477 (package
12478 (name "ghc-validity")
12479 (version "0.9.0.2")
12480 (source
12481 (origin
12482 (method url-fetch)
12483 (uri (string-append
12484 "https://hackage.haskell.org/package/validity/validity-"
12485 version
12486 ".tar.gz"))
12487 (sha256
12488 (base32
12489 "1aa93lp1pqwv7vhx19nazlig8qhbp3psblbz360s5lii3s5rli2v"))))
12490 (build-system haskell-build-system)
12491 (native-inputs `(("ghc-hspec" ,ghc-hspec)
12492 ("hspec-discover" ,hspec-discover)))
12493 (home-page
12494 "https://github.com/NorfairKing/validity")
12495 (synopsis "Validity typeclass")
12496 (description
12497 "Values of custom types usually have invariants imposed upon them. This
12498 package provides the @code{Validity} type class, which makes these invariants
12499 explicit by providing a function to check whether the invariants hold.")
12500 (license license:expat)))
12501
12502 (define-public ghc-vault
12503 (package
12504 (name "ghc-vault")
12505 (version "0.3.1.3")
12506 (source
12507 (origin
12508 (method url-fetch)
12509 (uri (string-append
12510 "https://hackage.haskell.org/package/vault/vault-"
12511 version
12512 ".tar.gz"))
12513 (sha256
12514 (base32
12515 "0vdm472vn734xa27jjm2mjacl37mxiqaaahvm4hzqjgyh4cqq377"))))
12516 (build-system haskell-build-system)
12517 (inputs
12518 `(("ghc-unordered-containers" ,ghc-unordered-containers)
12519 ("ghc-hashable" ,ghc-hashable)
12520 ("ghc-semigroups" ,ghc-semigroups)))
12521 (home-page
12522 "https://github.com/HeinrichApfelmus/vault")
12523 (synopsis "Persistent store for arbitrary values")
12524 (description "This package provides vaults for Haskell. A vault is a
12525 persistent store for values of arbitrary types. It's like having first-class
12526 access to the storage space behind @code{IORefs}. The data structure is
12527 analogous to a bank vault, where you can access different bank boxes with
12528 different keys; hence the name. Also provided is a @code{locker} type,
12529 representing a store for a single element.")
12530 (license license:bsd-3)))
12531
12532 (define-public ghc-vector
12533 (package
12534 (name "ghc-vector")
12535 (version "0.12.0.3")
12536 (outputs '("out" "doc"))
12537 (source
12538 (origin
12539 (method url-fetch)
12540 (uri (string-append
12541 "https://hackage.haskell.org/package/vector/vector-"
12542 version
12543 ".tar.gz"))
12544 (sha256
12545 (base32
12546 "1a756s4w759ji3als5alfxwlckh5zcmykfg9rll4mlr2knzvz8mq"))))
12547 (build-system haskell-build-system)
12548 ;; FIXME: To simplify upgrading all Haskell packages, we leave the tests
12549 ;; disabled for now.
12550 (arguments
12551 `(#:tests? #f))
12552 (inputs
12553 `(("ghc-primitive" ,ghc-primitive)
12554 ("ghc-random" ,ghc-random)
12555 ("ghc-quickcheck" ,ghc-quickcheck)
12556 ;; ("ghc-hunit" ,ghc-hunit)
12557 ;; ("ghc-test-framework" ,ghc-test-framework)
12558 ;; ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
12559 ;; ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
12560 ))
12561 (home-page "https://github.com/haskell/vector")
12562 (synopsis "Efficient Arrays")
12563 (description "This library provides an efficient implementation of
12564 Int-indexed arrays (both mutable and immutable), with a powerful loop
12565 optimisation framework.")
12566 (license license:bsd-3)))
12567
12568 (define-public ghc-vector-algorithms
12569 (package
12570 (name "ghc-vector-algorithms")
12571 (version "0.8.0.1")
12572 (source
12573 (origin
12574 (method url-fetch)
12575 (uri (string-append "https://hackage.haskell.org/package/"
12576 "vector-algorithms-" version "/"
12577 "vector-algorithms-" version ".tar.gz"))
12578 (sha256
12579 (base32
12580 "1zip8r7hh5g12xrjvhbg38z6hfxy7l6h6pl88qcqc0ygdmwdxg0m"))))
12581 (build-system haskell-build-system)
12582 (inputs
12583 `(("ghc-vector" ,ghc-vector)))
12584 (native-inputs
12585 `(("ghc-quickcheck" ,ghc-quickcheck)))
12586 (home-page "https://github.com/bos/math-functions")
12587 (synopsis "Algorithms for vector arrays in Haskell")
12588 (description "This Haskell library algorithms for vector arrays.")
12589 (license license:bsd-3)))
12590
12591 (define-public ghc-vector-binary-instances
12592 (package
12593 (name "ghc-vector-binary-instances")
12594 (version "0.2.5.1")
12595 (source
12596 (origin
12597 (method url-fetch)
12598 (uri (string-append
12599 "https://hackage.haskell.org/package/"
12600 "vector-binary-instances/vector-binary-instances-"
12601 version ".tar.gz"))
12602 (sha256
12603 (base32
12604 "04n5cqm1v95pw1bp68l9drjkxqiy2vswxdq0fy1rqcgxisgvji9r"))))
12605 (build-system haskell-build-system)
12606 (inputs
12607 `(("ghc-vector" ,ghc-vector)))
12608 (native-inputs
12609 `(("ghc-tasty" ,ghc-tasty)
12610 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
12611 (home-page "https://github.com/bos/vector-binary-instances")
12612 (synopsis "Instances of Data.Binary and Data.Serialize for vector")
12613 (description "This library provides instances of @code{Binary} for the
12614 types defined in the @code{vector} package, making it easy to serialize
12615 vectors to and from disk. We use the generic interface to vectors, so all
12616 vector types are supported. Specific instances are provided for unboxed,
12617 boxed and storable vectors.")
12618 (license license:bsd-3)))
12619
12620 (define-public ghc-vector-builder
12621 (package
12622 (name "ghc-vector-builder")
12623 (version "0.3.8")
12624 (source
12625 (origin
12626 (method url-fetch)
12627 (uri (string-append "https://hackage.haskell.org/package/"
12628 "vector-builder-" version "/"
12629 "vector-builder-" version ".tar.gz"))
12630 (sha256
12631 (base32
12632 "0ww0l52p8s6gmh985adnjbvm1vrqpqbm08qdcrvxwhhcqmxgv6m3"))))
12633 (build-system haskell-build-system)
12634 (inputs `(("ghc-vector" ,ghc-vector)
12635 ("ghc-semigroups" ,ghc-semigroups)
12636 ("ghc-base-prelude" ,ghc-base-prelude)))
12637 (native-inputs `(("ghc-attoparsec" ,ghc-attoparsec)
12638 ("ghc-tasty" ,ghc-tasty)
12639 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
12640 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
12641 ("ghc-hunit" ,ghc-hunit)
12642 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
12643 ("ghc-rerebase" ,ghc-rerebase)))
12644 (home-page "https://github.com/nikita-volkov/vector-builder")
12645 (synopsis "Vector builder for Haskell")
12646 (description "This Haskell package provides an API for constructing vectors.
12647 It provides the composable @code{Builder} abstraction, which has instances of the
12648 @code{Monoid} and @code{Semigroup} classes.
12649
12650 You would first use the @code{Builder} abstraction to specify the structure of
12651 the vector; then you can execute the builder to actually produce the
12652 vector. ")
12653 (license license:expat)))
12654
12655 (define-public ghc-vector-th-unbox
12656 (package
12657 (name "ghc-vector-th-unbox")
12658 (version "0.2.1.7")
12659 (source
12660 (origin
12661 (method url-fetch)
12662 (uri (string-append "https://hackage.haskell.org/package/"
12663 "vector-th-unbox-" version "/"
12664 "vector-th-unbox-" version ".tar.gz"))
12665 (sha256
12666 (base32
12667 "0q8dqnbv1c2gi7jjdhqj14abj1vik23ki6lq4iz2sz18yc7q69fi"))))
12668 (build-system haskell-build-system)
12669 (inputs
12670 `(("ghc-vector" ,ghc-vector)
12671 ("ghc-data-default" ,ghc-data-default)))
12672 (home-page "https://github.com/liyang/vector-th-unbox")
12673 (synopsis "Deriver for Data.Vector.Unboxed using Template Haskell")
12674 (description "This Haskell library provides a Template Haskell
12675 deriver for unboxed vectors, given a pair of coercion functions to
12676 and from some existing type with an Unbox instance.")
12677 (license license:bsd-3)))
12678
12679 (define-public ghc-void
12680 (package
12681 (name "ghc-void")
12682 (version "0.7.3")
12683 (source
12684 (origin
12685 (method url-fetch)
12686 (uri (string-append
12687 "https://hackage.haskell.org/package/void/void-"
12688 version
12689 ".tar.gz"))
12690 (sha256
12691 (base32
12692 "05vk3x1r9a2pqnzfji475m5gdih2im1h7rbi2sc67p1pvj6pbbsk"))))
12693 (build-system haskell-build-system)
12694 (inputs
12695 `(("ghc-semigroups" ,ghc-semigroups)
12696 ("ghc-hashable" ,ghc-hashable)))
12697 (home-page "https://github.com/ekmett/void")
12698 (synopsis
12699 "Logically uninhabited data type")
12700 (description
12701 "A Haskell 98 logically uninhabited data type, used to indicate that a
12702 given term should not exist.")
12703 (license license:bsd-3)))
12704
12705 (define-public ghc-wave
12706 (package
12707 (name "ghc-wave")
12708 (version "0.2.0")
12709 (source (origin
12710 (method url-fetch)
12711 (uri (string-append
12712 "https://hackage.haskell.org/package/wave/wave-"
12713 version
12714 ".tar.gz"))
12715 (sha256
12716 (base32
12717 "149kgwngq3qxc7gxpkqb16j669j0wpv2f3gnvfwp58yg6m4259ki"))))
12718 (build-system haskell-build-system)
12719 (arguments
12720 '(#:phases
12721 (modify-phases %standard-phases
12722 (add-before 'configure 'update-constraints
12723 (lambda _
12724 (substitute* "wave.cabal"
12725 (("temporary.* < 1\\.3")
12726 "temporary >= 1.1 && < 1.4")))))))
12727 (inputs
12728 `(("ghc-cereal" ,ghc-cereal)
12729 ("ghc-data-default-class"
12730 ,ghc-data-default-class)
12731 ("ghc-quickcheck" ,ghc-quickcheck)
12732 ("ghc-temporary" ,ghc-temporary)))
12733 (native-inputs
12734 `(("hspec-discover" ,hspec-discover)
12735 ("ghc-hspec" ,ghc-hspec)))
12736 (home-page "https://github.com/mrkkrp/wave")
12737 (synopsis "Work with WAVE and RF64 files in Haskell")
12738 (description "This package allows you to work with WAVE and RF64
12739 files in Haskell.")
12740 (license license:bsd-3)))
12741
12742 (define-public ghc-wcwidth
12743 (package
12744 (name "ghc-wcwidth")
12745 (version "0.0.2")
12746 (source
12747 (origin
12748 (method url-fetch)
12749 (uri (string-append "https://hackage.haskell.org/package/wcwidth/wcwidth-"
12750 version ".tar.gz"))
12751 (sha256
12752 (base32
12753 "1n1fq7v64b59ajf5g50iqj9sa34wm7s2j3viay0kxpmvlcv8gipz"))))
12754 (build-system haskell-build-system)
12755 (inputs
12756 `(("ghc-setlocale" ,ghc-setlocale)
12757 ("ghc-utf8-string" ,ghc-utf8-string)
12758 ("ghc-attoparsec" ,ghc-attoparsec)))
12759 (home-page "https://github.com/solidsnack/wcwidth/")
12760 (synopsis "Haskell bindings to wcwidth")
12761 (description "This package provides Haskell bindings to your system's
12762 native wcwidth and a command line tool to examine the widths assigned by it.
12763 The command line tool can compile a width table to Haskell code that assigns
12764 widths to the Char type.")
12765 (license license:bsd-3)))
12766
12767 (define-public ghc-wcwidth-bootstrap
12768 (package
12769 (inherit ghc-wcwidth)
12770 (name "ghc-wcwidth-bootstrap")
12771 (inputs
12772 `(("ghc-setlocale" ,ghc-setlocale)
12773 ("ghc-utf8-string" ,ghc-utf8-string)
12774 ("ghc-attoparsec" ,ghc-attoparsec-bootstrap)))
12775 (properties '((hidden? #t)))))
12776
12777 (define-public ghc-weigh
12778 (package
12779 (name "ghc-weigh")
12780 (version "0.0.14")
12781 (source
12782 (origin
12783 (method url-fetch)
12784 (uri (string-append "https://hackage.haskell.org/package/weigh/"
12785 "weigh-" version ".tar.gz"))
12786 (sha256
12787 (base32
12788 "0l85marb5rl9nr1c0id42dnr5i9fk1jciy5h6lywhb34w3hbj61g"))))
12789 (build-system haskell-build-system)
12790 (inputs
12791 `(("ghc-split" ,ghc-split)
12792 ("ghc-temporary" ,ghc-temporary)))
12793 (home-page "https://github.com/fpco/weigh#readme")
12794 (synopsis "Measure allocations of a Haskell functions/values")
12795 (description "This package provides tools to measure the memory usage of a
12796 Haskell value or function.")
12797 (license license:bsd-3)))
12798
12799 (define-public ghc-wl-pprint
12800 (package
12801 (name "ghc-wl-pprint")
12802 (version "1.2.1")
12803 (source (origin
12804 (method url-fetch)
12805 (uri (string-append
12806 "https://hackage.haskell.org/package/wl-pprint/wl-pprint-"
12807 version ".tar.gz"))
12808 (sha256
12809 (base32
12810 "0kn7y8pdrv8f87zhd5mifcl8fy3b2zvnzmzwhdqhxxlyzwiq6z0c"))))
12811 (build-system haskell-build-system)
12812 (home-page "https://hackage.haskell.org/package/wl-pprint")
12813 (synopsis "Wadler/Leijen pretty printer")
12814 (description
12815 "This is a pretty printing library based on Wadler's paper @i{A Prettier
12816 Printer}. This version allows the library user to declare overlapping
12817 instances of the @code{Pretty} class.")
12818 (license license:bsd-3)))
12819
12820 (define-public ghc-wl-pprint-annotated
12821 (package
12822 (name "ghc-wl-pprint-annotated")
12823 (version "0.1.0.1")
12824 (source
12825 (origin
12826 (method url-fetch)
12827 (uri (string-append
12828 "mirror://hackage/package/wl-pprint-annotated/wl-pprint-annotated-"
12829 version
12830 ".tar.gz"))
12831 (sha256
12832 (base32
12833 "1br7qyf27iza213inwhf9bm2k6in0zbmfw6w4clqlc9f9cj2nrkb"))))
12834 (build-system haskell-build-system)
12835 (native-inputs
12836 `(("ghc-tasty" ,ghc-tasty)
12837 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
12838 (home-page
12839 "https://github.com/minad/wl-pprint-annotated#readme")
12840 (synopsis
12841 "Wadler/Leijen pretty printer with annotation support")
12842 (description
12843 "Annotations are useful for coloring. This is a limited version of
12844 @code{wl-pprint-extras} without support for point effects and without the free
12845 monad. Like in @code{annotated-wl-pprint}, only annotations are supported.
12846 Compared to @code{annotated-wl-pprint} this library provides a slightly
12847 modernized interface.")
12848 (license license:bsd-3)))
12849
12850 (define-public ghc-wl-pprint-text
12851 (package
12852 (name "ghc-wl-pprint-text")
12853 (version "1.2.0.0")
12854 (source
12855 (origin
12856 (method url-fetch)
12857 (uri (string-append
12858 "https://hackage.haskell.org/package/wl-pprint-text/wl-pprint-text-"
12859 version ".tar.gz"))
12860 (sha256
12861 (base32
12862 "0g3w92rad6x5appfb22rbzcas2ix2h0hy91sdxhq8a4a5cnlrpa0"))))
12863 (build-system haskell-build-system)
12864 (inputs
12865 `(("ghc-base-compat" ,ghc-base-compat)))
12866 (home-page "https://hackage.haskell.org/package/wl-pprint-text")
12867 (synopsis "Wadler/Leijen Pretty Printer for Text values")
12868 (description
12869 "A clone of wl-pprint for use with the text library.")
12870 (license license:bsd-3)))
12871
12872 (define-public ghc-word8
12873 (package
12874 (name "ghc-word8")
12875 (version "0.1.3")
12876 (source
12877 (origin
12878 (method url-fetch)
12879 (uri (string-append
12880 "https://hackage.haskell.org/package/word8/word8-"
12881 version
12882 ".tar.gz"))
12883 (sha256
12884 (base32
12885 "12jx7f13d2h1djq4fh4dyrab61sm49mj1w61j3rzp2vjfm696c16"))))
12886 (build-system haskell-build-system)
12887 (native-inputs
12888 `(("ghc-hspec" ,ghc-hspec)
12889 ("hspec-discover" ,hspec-discover)))
12890 (home-page "https://hackage.haskell.org/package/word8")
12891 (synopsis "Word8 library for Haskell")
12892 (description "Word8 library to be used with @code{Data.ByteString}.")
12893 (license license:bsd-3)))
12894
12895 (define-public ghc-x11
12896 (package
12897 (name "ghc-x11")
12898 (version "1.9.1")
12899 (source
12900 (origin
12901 (method url-fetch)
12902 (uri (string-append "https://hackage.haskell.org/package/X11/"
12903 "X11-" version ".tar.gz"))
12904 (sha256
12905 (base32 "0gg6852mrlgl8zng1j84fismz7k81jr5fk92glgkscf8q6ryg0bm"))))
12906 (build-system haskell-build-system)
12907 (inputs
12908 `(("libx11" ,libx11)
12909 ("libxrandr" ,libxrandr)
12910 ("libxinerama" ,libxinerama)
12911 ("libxscrnsaver" ,libxscrnsaver)
12912 ("ghc-data-default" ,ghc-data-default)))
12913 (home-page "https://github.com/haskell-pkg-janitors/X11")
12914 (synopsis "Bindings to the X11 graphics library")
12915 (description
12916 "This package provides Haskell bindings to the X11 graphics library. The
12917 bindings are a direct translation of the C bindings.")
12918 (license license:bsd-3)))
12919
12920 (define-public ghc-x11-xft
12921 (package
12922 (name "ghc-x11-xft")
12923 (version "0.3.1")
12924 (source
12925 (origin
12926 (method url-fetch)
12927 (uri (string-append "https://hackage.haskell.org/package/X11-xft/"
12928 "X11-xft-" version ".tar.gz"))
12929 (sha256
12930 (base32 "1lgqb0s2qfwwgbvwxhjbi23rbwamzdi0l0slfr20c3jpcbp3zfjf"))))
12931 (inputs
12932 `(("ghc-x11" ,ghc-x11)
12933 ("ghc-utf8-string" ,ghc-utf8-string)
12934 ("libx11" ,libx11)
12935 ("libxft" ,libxft)
12936 ("xorgproto" ,xorgproto)))
12937 (native-inputs
12938 `(("pkg-config" ,pkg-config)))
12939 (build-system haskell-build-system)
12940 (home-page "https://hackage.haskell.org/package/X11-xft")
12941 (synopsis "Bindings to Xft")
12942 (description
12943 "Bindings to the Xft, X Free Type interface library, and some Xrender
12944 parts.")
12945 (license license:lgpl2.1)))
12946
12947 (define-public ghc-xdg-basedir
12948 (package
12949 (name "ghc-xdg-basedir")
12950 (version "0.2.2")
12951 (source
12952 (origin
12953 (method url-fetch)
12954 (uri (string-append
12955 "https://hackage.haskell.org/package/xdg-basedir/"
12956 "xdg-basedir-" version ".tar.gz"))
12957 (sha256
12958 (base32
12959 "0azlzaxp2dn4l1nr7shsxah2magk1szf6fx0mv75az00qsjw6qg4"))))
12960 (build-system haskell-build-system)
12961 (home-page "http://github.com/willdonnelly/xdg-basedir")
12962 (synopsis "XDG Base Directory library for Haskell")
12963 (description "This package provides a library implementing the XDG Base Directory spec.")
12964 (license license:bsd-3)))
12965
12966 (define-public ghc-xml
12967 (package
12968 (name "ghc-xml")
12969 (version "1.3.14")
12970 (source
12971 (origin
12972 (method url-fetch)
12973 (uri (string-append
12974 "https://hackage.haskell.org/package/xml/xml-"
12975 version
12976 ".tar.gz"))
12977 (sha256
12978 (base32
12979 "0g814lj7vaxvib2g3r734221k80k7ap9czv9hinifn8syals3l9j"))))
12980 (build-system haskell-build-system)
12981 (home-page "http://code.galois.com")
12982 (synopsis "Simple XML library for Haskell")
12983 (description "This package provides a simple XML library for Haskell.")
12984 (license license:bsd-3)))
12985
12986 (define-public ghc-xml-conduit
12987 (package
12988 (name "ghc-xml-conduit")
12989 (version "1.8.0.1")
12990 (source
12991 (origin
12992 (method url-fetch)
12993 (uri (string-append "https://hackage.haskell.org/package/xml-conduit/"
12994 "xml-conduit-" version ".tar.gz"))
12995 (sha256
12996 (base32
12997 "177gmyigxql1pn3ncz0r8annwv5cbxnihbgrrg1dhm4gmc9jy2wq"))))
12998 (build-system haskell-build-system)
12999 (inputs
13000 `(("ghc-conduit" ,ghc-conduit)
13001 ("ghc-conduit-extra" ,ghc-conduit-extra)
13002 ("ghc-doctest" ,ghc-doctest)
13003 ("ghc-resourcet" ,ghc-resourcet)
13004 ("ghc-xml-types" ,ghc-xml-types)
13005 ("ghc-attoparsec" ,ghc-attoparsec)
13006 ("ghc-data-default-class" ,ghc-data-default-class)
13007 ("ghc-blaze-markup" ,ghc-blaze-markup)
13008 ("ghc-blaze-html" ,ghc-blaze-html)
13009 ("ghc-monad-control" ,ghc-monad-control)
13010 ("ghc-hspec" ,ghc-hspec)
13011 ("ghc-hunit" ,ghc-hunit)))
13012 (home-page "https://github.com/snoyberg/xml")
13013 (synopsis "Utilities for dealing with XML with the conduit package")
13014 (description
13015 "This package provides pure-Haskell utilities for dealing with XML with
13016 the @code{conduit} package.")
13017 (license license:expat)))
13018
13019 (define-public ghc-xml-types
13020 (package
13021 (name "ghc-xml-types")
13022 (version "0.3.6")
13023 (source
13024 (origin
13025 (method url-fetch)
13026 (uri (string-append "https://hackage.haskell.org/package/xml-types/"
13027 "xml-types-" version ".tar.gz"))
13028 (sha256
13029 (base32
13030 "1jgqxsa9p2q3h6nymbfmvhldqrqlwrhrzmwadlyc0li50x0d8dwr"))))
13031 (build-system haskell-build-system)
13032 (home-page "https://john-millikin.com/software/haskell-xml/")
13033 (synopsis "Basic types for representing XML")
13034 (description "This package provides basic types for representing XML
13035 documents.")
13036 (license license:expat)))
13037
13038 (define-public ghc-yaml
13039 (package
13040 (name "ghc-yaml")
13041 (version "0.11.1.2")
13042 (source (origin
13043 (method url-fetch)
13044 (uri (string-append "https://hackage.haskell.org/package/"
13045 "yaml/yaml-" version ".tar.gz"))
13046 (sha256
13047 (base32
13048 "028pz77n92l6kjgjv263h4b6yhw1iibdbf3a3dkn5qnz537xpzhc"))))
13049 (build-system haskell-build-system)
13050 (inputs
13051 `(("ghc-conduit" ,ghc-conduit)
13052 ("ghc-resourcet" ,ghc-resourcet)
13053 ("ghc-aeson" ,ghc-aeson)
13054 ("ghc-unordered-containers" ,ghc-unordered-containers)
13055 ("ghc-vector" ,ghc-vector)
13056 ("ghc-attoparsec" ,ghc-attoparsec)
13057 ("ghc-scientific" ,ghc-scientific)
13058 ("ghc-semigroups" ,ghc-semigroups)
13059 ("ghc-temporary" ,ghc-temporary)
13060 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
13061 ("ghc-base-compat" ,ghc-base-compat)
13062 ("ghc-libyaml" ,ghc-libyaml)))
13063 (native-inputs
13064 `(("ghc-hspec" ,ghc-hspec)
13065 ("ghc-hunit" ,ghc-hunit)
13066 ("hspec-discover" ,hspec-discover)
13067 ("ghc-mockery" ,ghc-mockery)
13068 ("ghc-raw-strings-qq" ,ghc-raw-strings-qq)))
13069 (home-page "https://github.com/snoyberg/yaml/")
13070 (synopsis "Parsing and rendering YAML documents")
13071 (description
13072 "This package provides a library to parse and render YAML documents.")
13073 (license license:bsd-3)))
13074
13075 (define-public ghc-zip-archive
13076 (package
13077 (name "ghc-zip-archive")
13078 (version "0.4.1")
13079 (source
13080 (origin
13081 (method url-fetch)
13082 (uri (string-append
13083 "https://hackage.haskell.org/package/zip-archive/zip-archive-"
13084 version
13085 ".tar.gz"))
13086 (sha256
13087 (base32
13088 "1cdix5mnxrbs7b2kivhdydhfzgxidd9dqlw71mdw5p21cabwkmf5"))))
13089 (build-system haskell-build-system)
13090 (arguments
13091 `(#:phases
13092 (modify-phases %standard-phases
13093 (add-before 'check 'set-PATH-for-tests
13094 (lambda* (#:key inputs #:allow-other-keys)
13095 (let ((unzip (assoc-ref inputs "unzip"))
13096 (which (assoc-ref inputs "which"))
13097 (path (getenv "PATH")))
13098 (setenv "PATH" (string-append unzip "/bin:" which "/bin:" path))
13099 #t))))))
13100 (inputs
13101 `(("ghc-digest" ,ghc-digest)
13102 ("ghc-temporary" ,ghc-temporary)
13103 ("ghc-zlib" ,ghc-zlib)))
13104 (native-inputs
13105 `(("ghc-hunit" ,ghc-hunit)
13106 ("unzip" ,unzip)
13107 ("which" ,which)))
13108 (home-page "https://hackage.haskell.org/package/zip-archive")
13109 (synopsis "Zip archive library for Haskell")
13110 (description "The zip-archive library provides functions for creating,
13111 modifying, and extracting files from zip archives in Haskell.")
13112 (license license:bsd-3)))
13113
13114 (define-public ghc-zlib
13115 (package
13116 (name "ghc-zlib")
13117 (version "0.6.2.1")
13118 (outputs '("out" "doc"))
13119 (source
13120 (origin
13121 (method url-fetch)
13122 (uri (string-append
13123 "https://hackage.haskell.org/package/zlib/zlib-"
13124 version
13125 ".tar.gz"))
13126 (sha256
13127 (base32
13128 "1l11jraslcrp9d4wnhwfyhwk4fsiq1aq8i6vj81vcq1m2zzi1y7h"))))
13129 (build-system haskell-build-system)
13130 (arguments
13131 `(#:phases
13132 (modify-phases %standard-phases
13133 (add-before 'configure 'strip-test-framework-constraints
13134 (lambda _
13135 (substitute* "zlib.cabal"
13136 (("tasty >= 0\\.8 && < 0\\.12") "tasty")
13137 (("tasty-hunit >= 0\\.8 && < 0\\.10") "tasty-hunit")
13138 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
13139 (inputs `(("zlib" ,zlib)))
13140 (native-inputs
13141 `(("ghc-quickcheck" ,ghc-quickcheck)
13142 ("ghc-tasty" ,ghc-tasty)
13143 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
13144 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
13145 (home-page "https://hackage.haskell.org/package/zlib")
13146 (synopsis
13147 "Compression and decompression in the gzip and zlib formats")
13148 (description
13149 "This package provides a pure interface for compressing and decompressing
13150 streams of data represented as lazy @code{ByteString}s. It uses the zlib C
13151 library so it has high performance. It supports the @code{zlib}, @code{gzip}
13152 and @code{raw} compression formats. It provides a convenient high level API
13153 suitable for most tasks and for the few cases where more control is needed it
13154 provides access to the full zlib feature set.")
13155 (license license:bsd-3)))
13156
13157 (define-public ghc-zlib-bindings
13158 (package
13159 (name "ghc-zlib-bindings")
13160 (version "0.1.1.5")
13161 (source
13162 (origin
13163 (method url-fetch)
13164 (uri (string-append "https://hackage.haskell.org/package/"
13165 "zlib-bindings/zlib-bindings-" version ".tar.gz"))
13166 (sha256
13167 (base32
13168 "02ciywlz4wdlymgc3jsnicz9kzvymjw1www2163gxidnz4wb8fy8"))))
13169 (build-system haskell-build-system)
13170 (inputs
13171 `(("ghc-zlib" ,ghc-zlib)))
13172 (native-inputs
13173 `(("ghc-hspec" ,ghc-hspec)
13174 ("ghc-quickcheck" ,ghc-quickcheck)))
13175 (arguments
13176 `(#:cabal-revision
13177 ("2" "0fq49694gqkab8m0vq4i879blswczwd66n7xh4r4gwiahf0ryvqc")))
13178 (home-page "https://github.com/snapframework/zlib-bindings")
13179 (synopsis "Low-level bindings to the @code{zlib} package")
13180 (description "This package provides low-level bindings to the
13181 @code{zlib} package.")
13182 (license license:bsd-3)))
13183
13184 (define-public ghc-zstd
13185 (package
13186 (name "ghc-zstd")
13187 (version "0.1.1.2")
13188 (source
13189 (origin
13190 (method url-fetch)
13191 (uri (string-append "https://hackage.haskell.org/package/"
13192 "zstd/zstd-" version ".tar.gz"))
13193 (sha256
13194 (base32
13195 "147s496zvw13akxqzg65mgfvk3bvhrcilxgf8n786prxg5cm4jz2"))))
13196 (build-system haskell-build-system)
13197 (native-inputs
13198 `(("ghc-quickcheck" ,ghc-quickcheck)
13199 ("ghc-test-framework" ,ghc-test-framework)
13200 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
13201 (home-page "https://github.com/luispedro/hs-zstd")
13202 (synopsis "Haskell bindings to the Zstandard compression algorithm")
13203 (description "This library provides Haskell bindings to the
13204 Zstandard compression algorithm, a fast lossless compression algorithm
13205 targeting real-time compression scenarios at zlib-level and better
13206 compression ratios.")
13207 (license license:bsd-3)))