gnu: ghc-pandoc-types: Use HTTPS home page.
[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 Nikita <nikita@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,2020 John Soo <jsoo1@asu.edu>
23 ;;; Copyright © 2019 Kyle Meyer <kyle@kyleam.com>
24 ;;; Copyright © 2019 Alex Griffin <a@ajgrf.com>
25 ;;; Copyright © 2020 Brett Gilio <brettg@gnu.org>
26 ;;; Copyright © 2020 JoJo <jo@jo.zone>
27 ;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
28 ;;; Copyright © 2020 Alexandru-Sergiu Marton <brown121407@member.fsf.org>
29 ;;;
30 ;;; This file is part of GNU Guix.
31 ;;;
32 ;;; GNU Guix is free software; you can redistribute it and/or modify it
33 ;;; under the terms of the GNU General Public License as published by
34 ;;; the Free Software Foundation; either version 3 of the License, or (at
35 ;;; your option) any later version.
36 ;;;
37 ;;; GNU Guix is distributed in the hope that it will be useful, but
38 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
39 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
40 ;;; GNU General Public License for more details.
41 ;;;
42 ;;; You should have received a copy of the GNU General Public License
43 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
44
45 (define-module (gnu packages haskell-xyz)
46 #:use-module (gnu packages)
47 #:use-module (gnu packages base)
48 #:use-module (gnu packages compression)
49 #:use-module (gnu packages emacs)
50 #:use-module (gnu packages gcc)
51 #:use-module (gnu packages gl)
52 #:use-module (gnu packages graphviz)
53 #:use-module (gnu packages gtk)
54 #:use-module (gnu packages haskell-apps)
55 #:use-module (gnu packages haskell-check)
56 #:use-module (gnu packages haskell-crypto)
57 #:use-module (gnu packages haskell-web)
58 #:use-module (gnu packages libffi)
59 #:use-module (gnu packages linux)
60 #:use-module (gnu packages llvm)
61 #:use-module (gnu packages lua)
62 #:use-module (gnu packages maths)
63 #:use-module (gnu packages ncurses)
64 #:use-module (gnu packages pcre)
65 #:use-module (gnu packages pkg-config)
66 #:use-module (gnu packages sdl)
67 #:use-module (gnu packages web)
68 #:use-module (gnu packages xml)
69 #:use-module (gnu packages xorg)
70 #:use-module (guix build-system haskell)
71 #:use-module (guix download)
72 #:use-module (guix git-download)
73 #:use-module (guix utils)
74 #:use-module ((guix licenses) #:prefix license:)
75 #:use-module (guix packages))
76
77 (define-public ghc-abstract-deque
78 (package
79 (name "ghc-abstract-deque")
80 (version "0.3")
81 (source
82 (origin
83 (method url-fetch)
84 (uri (string-append "https://hackage.haskell.org/package/"
85 "abstract-deque-" version "/"
86 "abstract-deque-" version ".tar.gz"))
87 (sha256
88 (base32
89 "18jwswjxwzc9bjiy4ds6hw2a74ki797jmfcifxd2ga4kh7ri1ah9"))))
90 (build-system haskell-build-system)
91 (inputs `(("ghc-random" ,ghc-random)))
92 (home-page "https://github.com/rrnewton/haskell-lockfree/wiki")
93 (synopsis "Abstract, parameterized interface to mutable Deques for Haskell")
94 (description "This Haskell package provides an abstract interface to
95 highly-parameterizable queues/deques.
96
97 Background: There exists a feature space for queues that extends between:
98
99 @itemize
100 @item Simple, single-ended, non-concurrent, bounded queues
101
102 @item Double-ended, thread-safe, growable queues with important points
103 in between (such as the queues used for work stealing).
104 @end itemize
105
106 This package includes an interface for Deques that allows the programmer
107 to use a single API for all of the above, while using the type system to
108 select an efficient implementation given the requirements (using type families).
109
110 This package also includes a simple reference implementation based on
111 @code{IORef} and @code{Data.Sequence}.")
112 (license license:bsd-3)))
113
114 (define-public ghc-abstract-par
115 (package
116 (name "ghc-abstract-par")
117 (version "0.3.3")
118 (source
119 (origin
120 (method url-fetch)
121 (uri (string-append "https://hackage.haskell.org/package/"
122 "abstract-par-" version "/"
123 "abstract-par-" version ".tar.gz"))
124 (sha256
125 (base32
126 "0q6qsniw4wks2pw6wzncb1p1j3k6al5njnvm2v5n494hplwqg2i4"))))
127 (build-system haskell-build-system)
128 (home-page "https://github.com/simonmar/monad-par")
129 (synopsis "Abstract parallelization interface for Haskell")
130 (description "This Haskell package is an abstract interface
131 only. It provides a number of type clasess, but not an
132 implementation. The type classes separate different levels
133 of @code{Par} functionality. See the @code{Control.Monad.Par.Class}
134 module for more details.")
135 (license license:bsd-3)))
136
137 (define-public ghc-active
138 (package
139 (name "ghc-active")
140 (version "0.2.0.14")
141 (source
142 (origin
143 (method url-fetch)
144 (uri (string-append "https://hackage.haskell.org/package/"
145 "active/active-" version ".tar.gz"))
146 (sha256
147 (base32
148 "0x3b4ln6csa554qls28wbxvclkbdz3yi60i1m0q5ing0cs16fifz"))))
149 (build-system haskell-build-system)
150 (inputs
151 `(("ghc-vector" ,ghc-vector)
152 ("ghc-semigroups" ,ghc-semigroups)
153 ("ghc-semigroupoids" ,ghc-semigroupoids)
154 ("ghc-lens" ,ghc-lens)
155 ("ghc-linear" ,ghc-linear)))
156 (native-inputs
157 `(("ghc-quickcheck" ,ghc-quickcheck)))
158 (home-page "https://hackage.haskell.org/package/active")
159 (synopsis "Abstractions for animation")
160 (description "This package defines an @code{Active} abstraction for
161 time-varying values with finite start and end times. It is used for
162 describing animations within the
163 @url{https://archives.haskell.org/projects.haskell.org/diagrams/,
164 diagrams framework}.")
165 (license license:bsd-3)))
166
167 (define-public ghc-adjunctions
168 (package
169 (name "ghc-adjunctions")
170 (version "4.4")
171 (source
172 (origin
173 (method url-fetch)
174 (uri (string-append
175 "https://hackage.haskell.org/package/adjunctions/adjunctions-"
176 version
177 ".tar.gz"))
178 (sha256
179 (base32
180 "1sbal7cbhm12crfnfhkk322jnzgx7lhw3jzq0p463bipagsjwz2h"))))
181 (build-system haskell-build-system)
182 (arguments
183 `(#:cabal-revision
184 ("2" "1yfsjx7dqikg3hvld7i91xfsg5lawmr5980lvfd794sybmgxsf17")))
185 (inputs
186 `(("ghc-profunctors" ,ghc-profunctors)
187 ("ghc-comonad" ,ghc-comonad)
188 ("ghc-contravariant" ,ghc-contravariant)
189 ("ghc-distributive" ,ghc-distributive)
190 ("ghc-free" ,ghc-free)
191 ("ghc-tagged" ,ghc-tagged)
192 ("ghc-semigroupoids" ,ghc-semigroupoids)
193 ("ghc-semigroups" ,ghc-semigroups)
194 ("ghc-transformers-compat" ,ghc-transformers-compat)
195 ("ghc-void" ,ghc-void)))
196 (native-inputs
197 `(("ghc-generic-deriving" ,ghc-generic-deriving)
198 ("ghc-hspec" ,ghc-hspec)
199 ("hspec-discover" ,hspec-discover)))
200 (home-page "https://github.com/ekmett/adjunctions/")
201 (synopsis "Adjunctions and representable functors")
202 (description "This library provides adjunctions and representable functors
203 for Haskell.")
204 (license license:bsd-3)))
205
206 (define-public ghc-aeson-compat
207 (package
208 (name "ghc-aeson-compat")
209 (version "0.3.9")
210 (source
211 (origin
212 (method url-fetch)
213 (uri (string-append "https://hackage.haskell.org/package/"
214 "aeson-compat-" version "/"
215 "aeson-compat-" version ".tar.gz"))
216 (sha256
217 (base32
218 "1j13gykv4ryvmr14w5blz0nnpdb4p0hpa27wahw3mhb1lwdr8hz0"))))
219 (build-system haskell-build-system)
220 (arguments `(#:tests? #f)) ; FIXME: Tests require QuickCheck >= 2.10
221 (inputs `(("ghc-base-compat" ,ghc-base-compat)
222 ("ghc-aeson" ,ghc-aeson)
223 ("ghc-attoparsec" ,ghc-attoparsec)
224 ("ghc-attoparsec" ,ghc-attoparsec-iso8601)
225 ("ghc-exceptions" ,ghc-exceptions)
226 ("ghc-hashable" ,ghc-hashable)
227 ("ghc-scientific" ,ghc-scientific)
228 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
229 ("ghc-unordered-containers" ,ghc-unordered-containers)
230 ("ghc-vector" ,ghc-vector)
231 ("ghc-tagged" ,ghc-tagged)
232 ("ghc-semigroups" ,ghc-semigroups)
233 ("ghc-nats" ,ghc-nats)))
234 (home-page "https://github.com/phadej/aeson-compat")
235 (synopsis "Compatibility layer for ghc-aeson")
236 (description "This Haskell package provides compatibility layer for
237 ghc-aeson.")
238 (license license:bsd-3)))
239
240 (define-public ghc-aeson-diff
241 (package
242 (name "ghc-aeson-diff")
243 (version "1.1.0.7")
244 (source
245 (origin
246 (method url-fetch)
247 (uri (string-append "https://hackage.haskell.org/package/"
248 "aeson-diff/aeson-diff-" version ".tar.gz"))
249 (sha256
250 (base32
251 "01d48pd7d1mb9cd5yxfajln8rmjdjq8ch91s0lav4qw1azv6vp2r"))))
252 (build-system haskell-build-system)
253 (inputs
254 `(("ghc-aeson" ,ghc-aeson)
255 ("ghc-edit-distance-vector" ,ghc-edit-distance-vector)
256 ("ghc-hashable" ,ghc-hashable)
257 ("ghc-scientific" ,ghc-scientific)
258 ("ghc-unordered-containers" ,ghc-unordered-containers)
259 ("ghc-vector" ,ghc-vector)
260 ("ghc-semigroups" ,ghc-semigroups)
261 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
262 (native-inputs
263 `(("ghc-quickcheck" ,ghc-quickcheck)
264 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
265 ("ghc-glob" ,ghc-glob)
266 ("ghc-quickcheck" ,ghc-quickcheck)
267 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
268 ("ghc-quickcheck" ,ghc-quickcheck)
269 ("ghc-doctest" ,ghc-doctest)
270 ("hlint" ,hlint)))
271 (home-page "https://github.com/thsutton/aeson-diff")
272 (synopsis "Extract and apply patches to JSON documents")
273 (description "This is a small library for working with changes to JSON
274 documents. It includes a library and two command-line executables in the
275 style of the @command{diff} and @command{patch} commands available on many
276 systems.")
277 (license license:bsd-3)))
278
279 (define-public ghc-alex
280 (package
281 (name "ghc-alex")
282 (version "3.2.4")
283 (source
284 (origin
285 (method url-fetch)
286 (uri (string-append
287 "https://hackage.haskell.org/package/alex/alex-"
288 version
289 ".tar.gz"))
290 (sha256
291 (base32
292 "0cpjixgsr0b2x4s6hz4aa6gnmjw9i7xd9nlfi8m37zqlidq4v3nm"))))
293 (build-system haskell-build-system)
294 (arguments
295 `(#:phases
296 (modify-phases %standard-phases
297 (add-before 'check 'set-check-variables
298 (lambda _
299 (setenv "PATH" (string-append (getcwd) "/dist/build/alex:"
300 (getenv "PATH")))
301 (setenv "alex_datadir" (string-append (getcwd) "/data"))
302 #t)))))
303 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
304 (native-inputs
305 `(("which" ,which)))
306 (home-page "https://www.haskell.org/alex/")
307 (synopsis
308 "Tool for generating lexical analysers in Haskell")
309 (description
310 "Alex is a tool for generating lexical analysers in Haskell. It takes a
311 description of tokens based on regular expressions and generates a Haskell
312 module containing code for scanning text efficiently. It is similar to the
313 tool lex or flex for C/C++.")
314 (license license:bsd-3)))
315
316 (define-public ghc-alsa-core
317 (package
318 (name "ghc-alsa-core")
319 (version "0.5.0.1")
320 (source
321 (origin
322 (method url-fetch)
323 (uri (string-append
324 "mirror://hackage/package/alsa-core/alsa-core-"
325 version
326 ".tar.gz"))
327 (sha256
328 (base32
329 "1avh4a419h9d2zsslg6j8hm87ppgsgqafz8ll037rk2yy1g4jl7b"))))
330 (build-system haskell-build-system)
331 (inputs
332 `(("ghc-extensible-exceptions" ,ghc-extensible-exceptions)
333 ("alsa-lib" ,alsa-lib)))
334 (native-inputs
335 `(("pkg-config" ,pkg-config)))
336 (home-page "https://wiki.haskell.org/ALSA")
337 (synopsis "Binding to the ALSA Library API (Exceptions)")
338 (description "This package provides access to ALSA infrastructure, that is
339 needed by both alsa-seq and alsa-pcm.")
340 (license license:bsd-3)))
341
342 (define-public ghc-alsa-mixer
343 (package
344 (name "ghc-alsa-mixer")
345 (version "0.3.0")
346 (source
347 (origin
348 (method url-fetch)
349 (uri
350 (string-append
351 "mirror://hackage/package/alsa-mixer/alsa-mixer-"
352 version ".tar.gz"))
353 (sha256
354 (base32
355 "00ny2p3276jilidjs44npc8zmbhynz3f2lpmlwwl6swwx5yijsnb"))))
356 (build-system haskell-build-system)
357 (inputs `(("ghc-alsa-core" ,ghc-alsa-core)))
358 (native-inputs `(("ghc-c2hs" ,ghc-c2hs)))
359 (home-page "https://github.com/ttuegel/alsa-mixer")
360 (synopsis "Bindings to the ALSA simple mixer API")
361 (description
362 "This package provides bindings to the ALSA simple mixer API.")
363 (license license:bsd-3)))
364
365 (define-public ghc-annotated-wl-pprint
366 (package
367 (name "ghc-annotated-wl-pprint")
368 (version "0.7.0")
369 (source
370 (origin
371 (method url-fetch)
372 (uri (string-append
373 "https://hackage.haskell.org/package/annotated-wl-pprint"
374 "/annotated-wl-pprint-" version
375 ".tar.gz"))
376 (sha256
377 (base32
378 "061xfz6qany3wf95csl8dcik2pz22cn8iv1qchhm16isw5zjs9hc"))))
379 (build-system haskell-build-system)
380 (home-page
381 "https://github.com/david-christiansen/annotated-wl-pprint")
382 (synopsis
383 "The Wadler/Leijen Pretty Printer, with annotation support")
384 (description "This is a modified version of wl-pprint, which was based on
385 Wadler's paper \"A Prettier Printer\". This version allows the library user
386 to annotate the text with semantic information, which can later be rendered in
387 a variety of ways.")
388 (license license:bsd-3)))
389
390 (define-public ghc-ansi-terminal
391 (package
392 (name "ghc-ansi-terminal")
393 (version "0.9.1")
394 (source
395 (origin
396 (method url-fetch)
397 (uri (string-append
398 "https://hackage.haskell.org/package/ansi-terminal/ansi-terminal-"
399 version
400 ".tar.gz"))
401 (sha256
402 (base32
403 "1yr0ld0kqns3w3j9gl62bdwshvyazidx4dv1qkvq19ivnf08w23l"))))
404 (build-system haskell-build-system)
405 (inputs
406 `(("ghc-colour" ,ghc-colour)))
407 (home-page "https://github.com/feuerbach/ansi-terminal")
408 (synopsis "ANSI terminal support for Haskell")
409 (description "This package provides ANSI terminal support for Haskell. It
410 allows cursor movement, screen clearing, color output showing or hiding the
411 cursor, and changing the title.")
412 (license license:bsd-3)))
413
414 (define-public ghc-ansi-wl-pprint
415 (package
416 (name "ghc-ansi-wl-pprint")
417 (version "0.6.9")
418 (source
419 (origin
420 (method url-fetch)
421 (uri (string-append "https://hackage.haskell.org/package/"
422 "ansi-wl-pprint/ansi-wl-pprint-"
423 version ".tar.gz"))
424 (sha256
425 (base32
426 "1b2fg8px98dzbaqyns10kvs8kn6cl1hdq5wb9saz40izrpkyicm7"))))
427 (build-system haskell-build-system)
428 (inputs
429 `(("ghc-ansi-terminal" ,ghc-ansi-terminal)))
430 (home-page "https://github.com/ekmett/ansi-wl-pprint")
431 (synopsis "Wadler/Leijen Pretty Printer for colored ANSI terminal output")
432 (description "This is a pretty printing library based on Wadler's paper
433 \"A Prettier Printer\". It has been enhanced with support for ANSI terminal
434 colored output using the ansi-terminal package.")
435 (license license:bsd-3)))
436
437 (define-public ghc-appar
438 (package
439 (name "ghc-appar")
440 (version "0.1.8")
441 (source
442 (origin
443 (method url-fetch)
444 (uri (string-append
445 "https://hackage.haskell.org/package/appar/appar-"
446 version
447 ".tar.gz"))
448 (sha256
449 (base32
450 "07v3h766q9mnhphsm53718h1lds147ix7dj15kc5hnsj4vffvkn4"))))
451 (build-system haskell-build-system)
452 (home-page
453 "https://hackage.haskell.org/package/appar")
454 (synopsis "Simple applicative parser")
455 (description "This package provides a simple applicative parser in Parsec
456 style.")
457 (license license:bsd-3)))
458
459 (define-public ghc-assoc
460 (package
461 (name "ghc-assoc")
462 (version "1.0.1")
463 (source
464 (origin
465 (method url-fetch)
466 (uri (string-append
467 "https://hackage.haskell.org/package/assoc/assoc-"
468 version
469 ".tar.gz"))
470 (sha256
471 (base32
472 "1m9n4vp190bvn2wcrd4ggfwa9pi93jp0zgx02mdgywn2zfidw020"))))
473 (build-system haskell-build-system)
474 (inputs
475 `(("ghc-bifunctors" ,ghc-bifunctors)
476 ("ghc-tagged" ,ghc-tagged)))
477 (home-page
478 "http://hackage.haskell.org/package/assoc")
479 (synopsis
480 "Swap and assoc: Symmetric and Semigroupy Bifunctors")
481 (description
482 "Provides generalisations of @code{swap :: (a,b) -> (b,a)} and
483 @code{assoc :: ((a,b),c) -> (a,(b,c))} to @code{Bifunctor}s supporting
484 similar operations (e.g. @code{Either}, @code{These}).")
485 (license license:bsd-3)))
486
487 (define-public ghc-async
488 (package
489 (name "ghc-async")
490 (version "2.2.2")
491 (source
492 (origin
493 (method url-fetch)
494 (uri (string-append
495 "https://hackage.haskell.org/package/async/async-"
496 version
497 ".tar.gz"))
498 (sha256
499 (base32
500 "1zxvfcyy4sg8lmzphi5dgnavksj5pav6rbvd5kc48lf4hanb2jjb"))))
501 (build-system haskell-build-system)
502 (inputs
503 `(("ghc-hashable" ,ghc-hashable)
504 ("ghc-hunit" ,ghc-hunit)
505 ("ghc-test-framework" ,ghc-test-framework)
506 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
507 (home-page "https://github.com/simonmar/async")
508 (synopsis "Library to run IO operations asynchronously")
509 (description "Async provides a library to run IO operations
510 asynchronously, and wait for their results. It is a higher-level interface
511 over threads in Haskell, in which @code{Async a} is a concurrent thread that
512 will eventually deliver a value of type @code{a}.")
513 (license license:bsd-3)))
514
515 (define-public ghc-atomic-primops
516 (package
517 (name "ghc-atomic-primops")
518 (version "0.8.3")
519 (source
520 (origin
521 (method url-fetch)
522 (uri (string-append "https://hackage.haskell.org/package/atomic-primops"
523 "/atomic-primops-" version ".tar.gz"))
524 (sha256
525 (base32
526 "03n5dmyplrqgbyf8dr91izkxci7gkl3i3fnp82i5ld869zrgjfh0"))))
527 (build-system haskell-build-system)
528 (inputs `(("ghc-primitive" ,ghc-primitive)))
529 (home-page "https://github.com/rrnewton/haskell-lockfree/wiki")
530 (synopsis "Safe approach to CAS and other atomic ops")
531 (description
532 "GHC 7.4 introduced a new @code{casMutVar} PrimOp which is difficult to
533 use safely, because pointer equality is a highly unstable property in Haskell.
534 This library provides a safer method based on the concept of @code{Ticket}s.")
535 (license license:bsd-3)))
536
537 (define-public ghc-atomic-write
538 (package
539 (name "ghc-atomic-write")
540 (version "0.2.0.6")
541 (source
542 (origin
543 (method url-fetch)
544 (uri (string-append
545 "https://hackage.haskell.org/package/atomic-write/atomic-write-"
546 version
547 ".tar.gz"))
548 (sha256
549 (base32
550 "1xs3shwnlj8hmnm3q6jc8nv78z0481i5n4hrqqdmbpx8grvlnqyl"))))
551 (build-system haskell-build-system)
552 (inputs
553 `(("ghc-temporary" ,ghc-temporary)
554 ("ghc-unix-compat" ,ghc-unix-compat)))
555 (native-inputs
556 `(("ghc-temporary" ,ghc-temporary)
557 ("ghc-unix-compat" ,ghc-unix-compat)
558 ("ghc-hspec" ,ghc-hspec)
559 ("hspec-discover" ,hspec-discover)))
560 (home-page "https://github.com/stackbuilders/atomic-write")
561 (synopsis "Atomically write to a file")
562 (description
563 "Atomically write to a file on POSIX-compliant systems while preserving
564 permissions. @code{mv} is an atomic operation. This makes it simple to write
565 to a file atomically just by using the @code{mv} operation. However, this
566 will destroy the permissions on the original file. This library preserves
567 permissions while atomically writing to a file.")
568 (license license:expat)))
569
570 (define-public ghc-atomic-write-0.2.0.7
571 (package
572 (inherit ghc-atomic-write)
573 (version "0.2.0.7")
574 (source
575 (origin
576 (inherit (package-source ghc-atomic-write))
577 (uri (string-append
578 "https://hackage.haskell.org/package/atomic-write/atomic-write-"
579 version
580 ".tar.gz"))
581 (sha256
582 (base32
583 "03cn3ii74h0w3g4h78xsx9v2sn58r3qsr2dbdwq340xwhiwcgxdm"))))))
584
585 (define-public ghc-attoparsec
586 (package
587 (name "ghc-attoparsec")
588 (version "0.13.2.3")
589 (source
590 (origin
591 (method url-fetch)
592 (uri (string-append
593 "https://hackage.haskell.org/package/attoparsec/attoparsec-"
594 version
595 ".tar.gz"))
596 (sha256
597 (base32
598 "1ngjn9h5n0vyki0m2jir4mg85875ysswy9hznpmj1r856mqwc6ix"))))
599 (build-system haskell-build-system)
600 (arguments
601 `(#:phases
602 (modify-phases %standard-phases
603 (add-after 'unpack 'patch-for-newer-quickcheck
604 (lambda _
605 (substitute* "attoparsec.cabal"
606 (("QuickCheck >= 2\\.7 && < 2\\.10")
607 "QuickCheck >= 2.7 && < 2.12"))
608 ;; This test fails because of the newer QuickCheck:
609 ;; <https://github.com/bos/attoparsec/issues/134>.
610 (substitute* "tests/QC/ByteString.hs"
611 ((", testProperty \"satisfyWith\" satisfyWith")
612 "")))))))
613 (inputs
614 `(("ghc-scientific" ,ghc-scientific)))
615 (native-inputs
616 `(("ghc-tasty" ,ghc-tasty)
617 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
618 ("ghc-quickcheck" ,ghc-quickcheck)
619 ("ghc-quickcheck-unicode" ,ghc-quickcheck-unicode)
620 ("ghc-vector" ,ghc-vector)))
621 (home-page "https://github.com/bos/attoparsec")
622 (synopsis "Fast combinator parsing for bytestrings and text")
623 (description "This library provides a fast parser combinator library,
624 aimed particularly at dealing efficiently with network protocols and
625 complicated text/binary file formats.")
626 (license license:bsd-3)))
627
628 (define-public ghc-attoparsec-bootstrap
629 (package
630 (inherit ghc-attoparsec)
631 (name "ghc-attoparsec-bootstrap")
632 (arguments `(#:tests? #f))
633 (inputs
634 `(("ghc-scientific" ,ghc-scientific-bootstrap)))
635 (native-inputs '())
636 (properties '((hidden? #t)))))
637
638 (define-public ghc-attoparsec-iso8601
639 (package
640 (name "ghc-attoparsec-iso8601")
641 (version "1.0.1.0")
642 (source
643 (origin
644 (method url-fetch)
645 (uri (string-append "https://hackage.haskell.org/package/"
646 "attoparsec-iso8601-" version "/"
647 "attoparsec-iso8601-" version ".tar.gz"))
648 (sha256
649 (base32
650 "0hj10w15qp2z5bz2v4xahhmbgzclpyfi5l2sv97wqycysg9gp7s9"))))
651 (build-system haskell-build-system)
652 (arguments
653 `(#:cabal-revision
654 ("1" "1rjhscmczgs1bwyqx7lvkm8py3ylxjd2797mrzgnq60fvm292750")))
655 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
656 ("ghc-base-compat" ,ghc-base-compat)))
657 (home-page "https://github.com/bos/aeson")
658 (synopsis "Parse ISO 8601 dates")
659 (description "Haskell library for parsing of ISO 8601 dates, originally
660 from aeson.")
661 (license license:bsd-3)))
662
663 (define-public ghc-auto-update
664 (package
665 (name "ghc-auto-update")
666 (version "0.1.6")
667 (source
668 (origin
669 (method url-fetch)
670 (uri (string-append
671 "https://hackage.haskell.org/package/auto-update/auto-update-"
672 version
673 ".tar.gz"))
674 (sha256
675 (base32
676 "1i36xc2i34aync8271x3pv515l3zb53i518dybn8ghqkhzf27q7l"))))
677 (build-system haskell-build-system)
678 (native-inputs
679 `(("ghc-hspec" ,ghc-hspec)
680 ("ghc-hunit" ,ghc-hunit)
681 ("ghc-retry" ,ghc-retry)
682 ("hspec-discover" ,hspec-discover)))
683 (home-page "https://github.com/yesodweb/wai")
684 (synopsis "Efficiently run periodic, on-demand actions")
685 (description "This library provides mechanisms to efficiently run
686 periodic, on-demand actions in Haskell.")
687 (license license:expat)))
688
689 (define-public ghc-aws
690 (package
691 (name "ghc-aws")
692 (version "0.20")
693 (source
694 (origin
695 (method url-fetch)
696 (uri (string-append "https://hackage.haskell.org/package/"
697 "aws-" version "/aws-" version ".tar.gz"))
698 (sha256 (base32
699 "0pwpabmypi1w8rni9qfwabgn95jks4h8dyw6889mn8xzsrhdhyf0"))))
700 (build-system haskell-build-system)
701 (arguments `(#:tests? #f)) ; Tests require AWS credentials.
702 (inputs
703 `(("ghc-aeson" ,ghc-aeson)
704 ("ghc-attoparsec" ,ghc-attoparsec)
705 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
706 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
707 ("ghc-blaze-builder" ,ghc-blaze-builder)
708 ("ghc-byteable" ,ghc-byteable)
709 ("ghc-case-insensitive" ,ghc-case-insensitive)
710 ("ghc-cereal" ,ghc-cereal)
711 ("ghc-conduit" ,ghc-conduit)
712 ("ghc-conduit-extra" ,ghc-conduit-extra)
713 ("ghc-cryptonite" ,ghc-cryptonite)
714 ("ghc-data-default" ,ghc-data-default)
715 ("ghc-http-conduit" ,ghc-http-conduit)
716 ("ghc-http-types" ,ghc-http-types)
717 ("ghc-lifted-base" ,ghc-lifted-base)
718 ("ghc-monad-control" ,ghc-monad-control)
719 ("ghc-network" ,ghc-network)
720 ("ghc-old-locale" ,ghc-old-locale)
721 ("ghc-safe" ,ghc-safe)
722 ("ghc-scientific" ,ghc-scientific)
723 ("ghc-tagged" ,ghc-tagged)
724 ("ghc-unordered-containers" ,ghc-unordered-containers)
725 ("ghc-utf8-string" ,ghc-utf8-string)
726 ("ghc-vector" ,ghc-vector)
727 ("ghc-xml-conduit" ,ghc-xml-conduit)))
728 (native-inputs
729 `(("ghc-quickcheck" ,ghc-quickcheck)
730 ("ghc-errors" ,ghc-errors)
731 ("ghc-http-client" ,ghc-http-client)
732 ("ghc-http-client-tls" ,ghc-http-client-tls)
733 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
734 ("ghc-tasty" ,ghc-tasty)
735 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
736 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
737 ("ghc-conduit-combinators" ,ghc-conduit-combinators)))
738 (home-page "https://github.com/aristidb/aws")
739 (synopsis "Amazon Web Services for Haskell")
740 (description "This package attempts to provide support for using
741 Amazon Web Services like S3 (storage), SQS (queuing) and others to
742 Haskell programmers. The ultimate goal is to support all Amazon
743 Web Services.")
744 (license license:bsd-3)))
745
746 (define-public ghc-base16-bytestring
747 (package
748 (name "ghc-base16-bytestring")
749 (version "0.1.1.6")
750 (source
751 (origin
752 (method url-fetch)
753 (uri (string-append
754 "https://hackage.haskell.org/package/base16-bytestring/"
755 "base16-bytestring-" version ".tar.gz"))
756 (sha256
757 (base32
758 "0jf40m3yijqw6wd1rwwvviww46fasphaay9m9rgqyhf5aahnbzjs"))))
759 (build-system haskell-build-system)
760 (home-page "https://github.com/bos/base16-bytestring")
761 (synopsis "Fast base16 (hex) encoding and decoding for ByteStrings")
762 (description
763 "This package provides a Haskell library for working with base16-encoded
764 data quickly and efficiently, using the ByteString type.")
765 (license license:bsd-3)))
766
767 (define-public ghc-base64-bytestring
768 (package
769 (name "ghc-base64-bytestring")
770 (version "1.0.0.2")
771 (source
772 (origin
773 (method url-fetch)
774 (uri (string-append
775 "https://hackage.haskell.org/package/base64-bytestring/base64-bytestring-"
776 version
777 ".tar.gz"))
778 (sha256
779 (base32 "13305brzlac24pifiqd5a2z10c6k6amhpdy9cc0z5ryrkgnm8dhr"))))
780 (build-system haskell-build-system)
781 (arguments `(#:tests? #f)) ; FIXME: testing libraries are missing.
782 (home-page "https://github.com/bos/base64-bytestring")
783 (synopsis "Base64 encoding and decoding for ByteStrings")
784 (description "This library provides fast base64 encoding and decoding for
785 Haskell @code{ByteString}s.")
786 (license license:bsd-3)))
787
788 (define-public ghc-base-compat
789 (package
790 (name "ghc-base-compat")
791 (version "0.10.5")
792 (source
793 (origin
794 (method url-fetch)
795 (uri (string-append
796 "https://hackage.haskell.org/package/base-compat/base-compat-"
797 version
798 ".tar.gz"))
799 (sha256
800 (base32
801 "0hgvlqcr852hfp52jp99snhbj550mvxxpi8qn15d8ml9aqhyl2lr"))))
802 (build-system haskell-build-system)
803 (native-inputs
804 `(("ghc-quickcheck" ,ghc-quickcheck)
805 ("ghc-hspec" ,ghc-hspec)
806 ("hspec-discover" ,hspec-discover)))
807 (home-page "https://hackage.haskell.org/package/base-compat")
808 (synopsis "Haskell compiler compatibility library")
809 (description "This library provides functions available in later versions
810 of base to a wider range of compilers, without requiring the use of CPP
811 pragmas in your code.")
812 (license license:bsd-3)))
813
814 (define-public ghc-base-compat-batteries
815 (package
816 (name "ghc-base-compat-batteries")
817 (version "0.10.5")
818 (source
819 (origin
820 (method url-fetch)
821 (uri (string-append "https://hackage.haskell.org/package/"
822 "base-compat-batteries/base-compat-batteries-"
823 version ".tar.gz"))
824 (sha256
825 (base32
826 "1vkhc639vqiv5p39jn1v312z32i7yk5q2lf0ap4jxl1v8p8wyp8p"))))
827 (build-system haskell-build-system)
828 (inputs
829 `(("ghc-base-compat" ,ghc-base-compat)))
830 (native-inputs
831 `(("ghc-hspec" ,ghc-hspec)
832 ("ghc-quickcheck" ,ghc-quickcheck)
833 ("hspec-discover" ,hspec-discover)))
834 (arguments
835 `(#:cabal-revision
836 ("1" "15sn2qc8k0hxbb2nai341kkrci98hlhzcj2ci087m0zxcg5jcdbp")))
837 (home-page "https://hackage.haskell.org/package/base-compat-batteries")
838 (synopsis "base-compat with extra batteries")
839 (description "This library provides functions available in later
840 versions of @code{base} to a wider range of compilers, without requiring
841 you to use CPP pragmas in your code. This package provides the same API
842 as the @code{base-compat} library, but depends on compatibility
843 packages (such as @code{semigroups}) to offer a wider support window
844 than @code{base-compat}, which has no dependencies.")
845 (license license:expat)))
846
847 (define-public ghc-basement
848 (package
849 (name "ghc-basement")
850 (version "0.0.11")
851 (source
852 (origin
853 (method url-fetch)
854 (uri (string-append "https://hackage.haskell.org/package/"
855 "basement/basement-" version ".tar.gz"))
856 (sha256
857 (base32
858 "0srlws74yiraqaapgcjd9p5d1fwb3zr9swcz74jpjm55fls2nn37"))))
859 (build-system haskell-build-system)
860 (home-page "https://github.com/haskell-foundation/foundation")
861 (synopsis "Basic primitives for Foundation starter pack")
862 (description
863 "This package contains basic primitives for the Foundation set of
864 packages.")
865 (license license:bsd-3)))
866
867 (define-public ghc-base-orphans
868 (package
869 (name "ghc-base-orphans")
870 (version "0.8.1")
871 (source
872 (origin
873 (method url-fetch)
874 (uri (string-append
875 "https://hackage.haskell.org/package/base-orphans/base-orphans-"
876 version
877 ".tar.gz"))
878 (sha256
879 (base32
880 "1nwr9av27i9p72k0sn96mw3ywdczw65dy5gd5wxpabhhxlxdcas4"))))
881 (build-system haskell-build-system)
882 (native-inputs
883 `(("ghc-quickcheck" ,ghc-quickcheck)
884 ("ghc-hspec" ,ghc-hspec)
885 ("hspec-discover" ,hspec-discover)))
886 (home-page "https://hackage.haskell.org/package/base-orphans")
887 (synopsis "Orphan instances for backwards compatibility")
888 (description "This package defines orphan instances that mimic instances
889 available in later versions of base to a wider (older) range of compilers.")
890 (license license:bsd-3)))
891
892 (define-public ghc-base-prelude
893 (package
894 (name "ghc-base-prelude")
895 (version "1.3")
896 (source
897 (origin
898 (method url-fetch)
899 (uri (string-append "https://hackage.haskell.org/package/"
900 "base-prelude-" version "/"
901 "base-prelude-" version ".tar.gz"))
902 (sha256
903 (base32
904 "1zk728sd09hh2r4xwz4lazsrrgg5cshydn64932sm0vckplndk73"))))
905 (build-system haskell-build-system)
906 (home-page "https://github.com/nikita-volkov/base-prelude")
907 (synopsis "The most complete prelude formed solely from the Haskell's base
908 package")
909 (description "This Haskell package aims to reexport all the non-conflicting
910 and most general definitions from the \"base\" package.
911
912 This includes APIs for applicatives, arrows, monoids, foldables, traversables,
913 exceptions, generics, ST, MVars and STM.
914
915 This package will never have any dependencies other than \"base\".
916
917 Versioning policy:
918
919 The versioning policy of this package deviates from PVP in the sense
920 that its exports in part are transitively determined by the version of \"base\".
921 Therefore it's recommended for the users of @code{ghc-base-prelude} to specify
922 the bounds of \"base\" as well.")
923 (license license:expat)))
924
925 (define-public ghc-base-unicode-symbols
926 (package
927 (name "ghc-base-unicode-symbols")
928 (version "0.2.3")
929 (source
930 (origin
931 (method url-fetch)
932 (uri (string-append
933 "mirror://hackage/package/base-unicode-symbols/base-unicode-symbols-"
934 version
935 ".tar.gz"))
936 (sha256
937 (base32
938 "1ia6li7qjg1zkak4gf6mnbshw45mq9bfjr0jch58ds0lscmvwyzf"))))
939 (build-system haskell-build-system)
940 (home-page "https://wiki.haskell.org/Unicode-symbols")
941 (synopsis "Unicode alternatives for common functions and operators")
942 (description "This package defines new symbols for a number of functions,
943 operators and types in the base package. All symbols are documented with
944 their actual definition and information regarding their Unicode code point.
945 They should be completely interchangeable with their definitions. For
946 further Unicode goodness you can enable the @code{UnicodeSyntax}
947 @url{https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/glasgow_exs.html#unicode-syntax,
948 language extension}. This extension enables Unicode characters to be used to
949 stand for certain ASCII character sequences, i.e. → instead of @code{->},
950 ∀ instead of @code{forall} and many others.")
951 (license license:bsd-3)))
952
953 (define-public ghc-basic-prelude
954 (package
955 (name "ghc-basic-prelude")
956 (version "0.7.0")
957 (source
958 (origin
959 (method url-fetch)
960 (uri (string-append
961 "https://hackage.haskell.org/package/basic-prelude/"
962 "basic-prelude-" version ".tar.gz"))
963 (sha256
964 (base32
965 "0yckmnvm6i4vw0mykj4fzl4ldsf67v8d2h0vp1bakyj84n4myx8h"))))
966 (build-system haskell-build-system)
967 (inputs
968 `(("ghc-hashable" ,ghc-hashable)
969 ("ghc-unordered-containers"
970 ,ghc-unordered-containers)
971 ("ghc-vector" ,ghc-vector)))
972 (home-page "https://github.com/snoyberg/basic-prelude#readme")
973 (synopsis "Enhanced core prelude; a common foundation for alternate preludes")
974 (description
975 "The premise of basic-prelude is that there are a lot of very commonly
976 desired features missing from the standard Prelude, such as commonly used
977 operators (<$> and >=>, for instance) and imports for common datatypes
978 (e.g., ByteString and Vector). At the same time, there are lots of other
979 components which are more debatable, such as providing polymorphic versions
980 of common functions.
981
982 So basic-prelude is intended to give a common foundation for a number of
983 alternate preludes. The package provides two modules: CorePrelude provides
984 the common ground for other preludes to build on top of, while BasicPrelude
985 exports CorePrelude together with commonly used list functions to provide a
986 drop-in replacement for the standard Prelude.
987
988 Users wishing to have an improved Prelude can use BasicPrelude. Developers
989 wishing to create a new prelude should use CorePrelude.")
990 (license license:expat)))
991
992 (define-public ghc-bifunctors
993 (package
994 (name "ghc-bifunctors")
995 (version "5.5.5")
996 (source
997 (origin
998 (method url-fetch)
999 (uri (string-append
1000 "https://hackage.haskell.org/package/bifunctors/bifunctors-"
1001 version
1002 ".tar.gz"))
1003 (sha256
1004 (base32
1005 "0rn47q8dzv0g1fyams99p4py6q0asxdc50q9k0nj497brk738xcb"))))
1006 (build-system haskell-build-system)
1007 (inputs
1008 `(("ghc-base-orphans" ,ghc-base-orphans)
1009 ("ghc-comonad" ,ghc-comonad)
1010 ("ghc-th-abstraction" ,ghc-th-abstraction)
1011 ("ghc-transformers-compat" ,ghc-transformers-compat)
1012 ("ghc-tagged" ,ghc-tagged)
1013 ("ghc-semigroups" ,ghc-semigroups)))
1014 (native-inputs
1015 `(("ghc-hspec" ,ghc-hspec)
1016 ("hspec-discover" ,hspec-discover)
1017 ("ghc-quickcheck" ,ghc-quickcheck)))
1018 (home-page "https://github.com/ekmett/bifunctors/")
1019 (synopsis "Bifunctors for Haskell")
1020 (description "This package provides bifunctors for Haskell.")
1021 (license license:bsd-3)))
1022
1023 (define-public ghc-bindings-dsl
1024 (package
1025 (name "ghc-bindings-dsl")
1026 (version "1.0.25")
1027 (source
1028 (origin
1029 (method url-fetch)
1030 (uri (string-append "https://hackage.haskell.org/package/bindings-DSL/"
1031 "bindings-DSL-" version ".tar.gz"))
1032 (sha256
1033 (base32
1034 "0kqrd78nspl3lk4a0fqn47d8dirjg3b24dkvkigcrlb81hw35pk3"))))
1035 (build-system haskell-build-system)
1036 (home-page "https://github.com/jwiegley/bindings-dsl/wiki")
1037 (synopsis "FFI domain specific language, on top of hsc2hs")
1038 (description
1039 "This is a set of macros to be used when writing Haskell FFI. They were
1040 designed to be able to fully describe C interfaces, so that @code{hsc2hs} can
1041 extract from them all Haskell code needed to mimic such interfaces. All
1042 Haskell names used are automatically derived from C names, structures are
1043 mapped to Haskell instances of @code{Storable}, and there are also macros you
1044 can use with C code to help write bindings to inline functions or macro
1045 functions.")
1046 (license license:bsd-3)))
1047
1048 (define-public ghc-bitarray
1049 (package
1050 (name "ghc-bitarray")
1051 (version "0.0.1.1")
1052 (source
1053 (origin
1054 (method url-fetch)
1055 (uri (string-append "https://hackage.haskell.org/package/"
1056 "bitarray/bitarray-" version ".tar.gz"))
1057 (sha256
1058 (base32
1059 "00nqd62cbh42qqqvcl6iv1i9kbv0f0mkiygv4j70wfh5cl86yzxj"))))
1060 (build-system haskell-build-system)
1061 (arguments
1062 `(#:cabal-revision
1063 ("1" "10fk92v9afjqk43zi621jxl0n8kci0xjj32lz3vqa9xbh67zjz45")))
1064 (home-page "https://hackage.haskell.org/package/bitarray")
1065 (synopsis "Mutable and immutable bit arrays")
1066 (description "The package provides mutable and immutable bit arrays.")
1067 (license license:bsd-3)))
1068
1069 (define-public ghc-blaze-builder
1070 (package
1071 (name "ghc-blaze-builder")
1072 (version "0.4.1.0")
1073 (source
1074 (origin
1075 (method url-fetch)
1076 (uri (string-append
1077 "https://hackage.haskell.org/package/blaze-builder/blaze-builder-"
1078 version
1079 ".tar.gz"))
1080 (sha256
1081 (base32
1082 "05681dih2d8s96an945wkbwl05w8ddbcfx8n3r3ck79ydyb8pz4i"))))
1083 (build-system haskell-build-system)
1084 (arguments `(#:tests? #f)) ; FIXME: Missing test libraries.
1085 (inputs
1086 `(("ghc-utf8-string" ,ghc-utf8-string)))
1087 (home-page "https://github.com/lpsmith/blaze-builder")
1088 (synopsis "Efficient buffered output")
1089 (description "This library provides an implementation of the older
1090 @code{blaze-builder} interface in terms of the new builder that shipped with
1091 @code{bytestring-0.10.4.0}. This implementation is mostly intended as a
1092 bridge to the new builder, so that code that uses the old interface can
1093 interoperate with code that uses the new implementation.")
1094 (license license:bsd-3)))
1095
1096 (define-public ghc-blaze-markup
1097 (package
1098 (name "ghc-blaze-markup")
1099 (version "0.8.2.3")
1100 (source
1101 (origin
1102 (method url-fetch)
1103 (uri (string-append "https://hackage.haskell.org/package/"
1104 "blaze-markup/blaze-markup-"
1105 version ".tar.gz"))
1106 (sha256
1107 (base32
1108 "1g9m7ansj7fdyzhz1wqkbzn5amjm50vjgjdwkbjc5qqhagnv1y3j"))))
1109 (build-system haskell-build-system)
1110 (arguments
1111 `(#:phases
1112 (modify-phases %standard-phases
1113 (add-before 'configure 'update-constraints
1114 (lambda _
1115 (substitute* "blaze-markup.cabal"
1116 (("tasty >= 1\\.0 && < 1\\.1")
1117 "tasty >= 1.0 && < 1.2")))))))
1118 (inputs
1119 `(("ghc-blaze-builder" ,ghc-blaze-builder)))
1120 (native-inputs
1121 `(("ghc-hunit" ,ghc-hunit)
1122 ("ghc-quickcheck" ,ghc-quickcheck)
1123 ("ghc-tasty" ,ghc-tasty)
1124 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
1125 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
1126 (home-page "https://jaspervdj.be/blaze")
1127 (synopsis "Fast markup combinator library for Haskell")
1128 (description "This library provides core modules of a markup combinator
1129 library for Haskell.")
1130 (license license:bsd-3)))
1131
1132 (define-public ghc-bloomfilter
1133 (package
1134 (name "ghc-bloomfilter")
1135 (version "2.0.1.0")
1136 (source
1137 (origin
1138 (method url-fetch)
1139 (uri (string-append "https://hackage.haskell.org/package/"
1140 "bloomfilter/bloomfilter-" version ".tar.gz"))
1141 (sha256
1142 (base32
1143 "03vrmncg1c10a2wcg5skq30m1yiknn7nwxz2gblyyfaxglshspkc"))))
1144 (build-system haskell-build-system)
1145 (native-inputs
1146 `(("ghc-quickcheck" ,ghc-quickcheck)
1147 ("ghc-random" ,ghc-random)
1148 ("ghc-test-framework" ,ghc-test-framework)
1149 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
1150 (home-page "https://github.com/bos/bloomfilter")
1151 (synopsis "Pure and impure Bloom filter implementations")
1152 (description "This package provides both mutable and immutable Bloom
1153 filter data types, along with a family of hash functions and an easy-to-use
1154 interface.")
1155 (license license:bsd-3)))
1156
1157 (define-public ghc-boxes
1158 (package
1159 (name "ghc-boxes")
1160 (version "0.1.5")
1161 (source
1162 (origin
1163 (method url-fetch)
1164 (uri (string-append "https://hackage.haskell.org/package/boxes/boxes-"
1165 version ".tar.gz"))
1166 (sha256
1167 (base32 "1hsnmw95i58d4bkpxby3ddsj1cawypw4mdyb18m393s5i8p7iq9q"))))
1168 (build-system haskell-build-system)
1169 (inputs
1170 `(("ghc-split" ,ghc-split)
1171 ("ghc-quickcheck" ,ghc-quickcheck)))
1172 (home-page "https://hackage.haskell.org/package/boxes")
1173 (synopsis "2D text pretty-printing library")
1174 (description
1175 "Boxes is a pretty-printing library for laying out text in two dimensions,
1176 using a simple box model.")
1177 (license license:bsd-3)))
1178
1179 (define-public ghc-byteable
1180 (package
1181 (name "ghc-byteable")
1182 (version "0.1.1")
1183 (source (origin
1184 (method url-fetch)
1185 (uri (string-append "https://hackage.haskell.org/package/"
1186 "byteable/byteable-" version ".tar.gz"))
1187 (sha256
1188 (base32
1189 "1qizg0kxxjqnd3cbrjhhidk5pbbciz0pb3z5kzikjjxnnnhk8fr4"))))
1190 (build-system haskell-build-system)
1191 (home-page "https://github.com/vincenthz/hs-byteable")
1192 (synopsis "Type class for sequence of bytes")
1193 (description
1194 "This package provides an abstract class to manipulate sequence of bytes.
1195 The use case of this class is abstracting manipulation of types that are just
1196 wrapping a bytestring with stronger and more meaniful name.")
1197 (license license:bsd-3)))
1198
1199 (define-public ghc-byteorder
1200 (package
1201 (name "ghc-byteorder")
1202 (version "1.0.4")
1203 (source
1204 (origin
1205 (method url-fetch)
1206 (uri (string-append
1207 "https://hackage.haskell.org/package/byteorder/byteorder-"
1208 version
1209 ".tar.gz"))
1210 (sha256
1211 (base32
1212 "06995paxbxk8lldvarqpb3ygcjbg4v8dk4scib1rjzwlhssvn85x"))))
1213 (build-system haskell-build-system)
1214 (home-page
1215 "http://community.haskell.org/~aslatter/code/byteorder")
1216 (synopsis
1217 "Exposes the native endianness of the system")
1218 (description
1219 "This package is for working with the native byte-ordering of the
1220 system.")
1221 (license license:bsd-3)))
1222
1223 (define-public ghc-bytes
1224 (package
1225 (name "ghc-bytes")
1226 (version "0.15.5")
1227 (source
1228 (origin
1229 (method url-fetch)
1230 (uri
1231 (string-append "https://hackage.haskell.org/package/bytes-"
1232 version "/bytes-"
1233 version ".tar.gz"))
1234 (file-name (string-append name "-" version ".tar.gz"))
1235 (sha256
1236 (base32
1237 "063il2vrn0p88r9gzndh4ijs0mxj37khkc9ym9bqdsv7ngk3b683"))))
1238 (build-system haskell-build-system)
1239 (inputs `(("ghc-cereal" ,ghc-cereal)
1240 ("cabal-doctest" ,cabal-doctest)
1241 ("ghc-doctest" ,ghc-doctest)
1242 ("ghc-scientific" ,ghc-scientific)
1243 ("ghc-transformers-compat" ,ghc-transformers-compat)
1244 ("ghc-unordered-containers" ,ghc-unordered-containers)
1245 ("ghc-void" ,ghc-void)
1246 ("ghc-vector" ,ghc-vector)))
1247 (synopsis "Serialization between @code{binary} and @code{cereal}")
1248 (description "This package provides a simple compatibility shim that lets
1249 you work with both @code{binary} and @code{cereal} with one chunk of
1250 serialization code.")
1251 (home-page "https://hackage.haskell.org/package/bytes")
1252 (license license:bsd-3)))
1253
1254 (define-public ghc-bytestring-builder
1255 (package
1256 (name "ghc-bytestring-builder")
1257 (version "0.10.8.2.0")
1258 (source
1259 (origin
1260 (method url-fetch)
1261 (uri (string-append
1262 "https://hackage.haskell.org/package/bytestring-builder"
1263 "/bytestring-builder-" version ".tar.gz"))
1264 (sha256
1265 (base32
1266 "0grcrgwwwcvwrs9az7l4d3kf0lsqfa9qpmjzf6iyanvwn9nyzyi7"))))
1267 (build-system haskell-build-system)
1268 (arguments `(#:haddock? #f)) ; Package contains no documentation.
1269 (home-page "https://hackage.haskell.org/package/bytestring-builder")
1270 (synopsis "The new bytestring builder, packaged outside of GHC")
1271 (description "This package provides the bytestring builder that is
1272 debuting in bytestring-0.10.4.0, which should be shipping with GHC 7.8.
1273 Compatibility package for older packages.")
1274 (license license:bsd-3)))
1275
1276 (define-public ghc-bytestring-handle
1277 (package
1278 (name "ghc-bytestring-handle")
1279 (version "0.1.0.6")
1280 (source
1281 (origin
1282 (method url-fetch)
1283 (uri (string-append
1284 "https://hackage.haskell.org/package/bytestring-handle/bytestring-handle-"
1285 version ".tar.gz"))
1286 (sha256
1287 (base32
1288 "18f17aja1ivhr3zyg2cccn2m03hdn5jf5410dndkhf12gvgiqs7y"))))
1289 (build-system haskell-build-system)
1290 (arguments
1291 `(#:cabal-revision
1292 ("1" "0x11aj6w1lijh84jcdq1qgyvdnc7i9ivbyq4wf9rxicg57viisz9")
1293 #:phases
1294 (modify-phases %standard-phases
1295 (add-before 'configure 'update-constraints
1296 (lambda _
1297 (substitute* "bytestring-handle.cabal"
1298 (("QuickCheck >= 2\\.1\\.2 && < 2\\.11")
1299 "QuickCheck >= 2.1.2 && < 2.14")))))))
1300 (inputs
1301 `(("ghc-hunit" ,ghc-hunit)
1302 ("ghc-quickcheck" ,ghc-quickcheck)
1303 ("ghc-test-framework" ,ghc-test-framework)
1304 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
1305 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
1306 (home-page "https://hub.darcs.net/ganesh/bytestring-handle")
1307 (synopsis "ByteString-backed Handles")
1308 (description "ByteString-backed Handles") ; There is no description
1309 (license license:bsd-3)))
1310
1311 (define-public ghc-bytestring-lexing
1312 (package
1313 (name "ghc-bytestring-lexing")
1314 (version "0.5.0.2")
1315 (source
1316 (origin
1317 (method url-fetch)
1318 (uri (string-append "https://hackage.haskell.org/package/"
1319 "bytestring-lexing/bytestring-lexing-"
1320 version ".tar.gz"))
1321 (sha256
1322 (base32
1323 "0wrzniawhgpphc6yx1v972gyqxdbv0pizaz9bafahrshyb9svy81"))))
1324 (build-system haskell-build-system)
1325 (home-page "http://code.haskell.org/~wren/")
1326 (synopsis "Parse and produce literals from strict or lazy bytestrings")
1327 (description
1328 "This package provides tools to parse and produce literals efficiently
1329 from strict or lazy bytestrings.")
1330 (license license:bsd-2)))
1331
1332 (define-public ghc-bzlib-conduit
1333 (package
1334 (name "ghc-bzlib-conduit")
1335 (version "0.3.0.2")
1336 (source
1337 (origin
1338 (method url-fetch)
1339 (uri (string-append "https://hackage.haskell.org/package/bzlib-conduit/"
1340 "bzlib-conduit-" version ".tar.gz"))
1341 (sha256
1342 (base32
1343 "0a21zin5plsl37hkxh2jv8cxwyjrbs2fy7n5cyrzgdaa7lmp6b7b"))))
1344 (build-system haskell-build-system)
1345 (inputs
1346 `(("ghc-bindings-dsl" ,ghc-bindings-dsl)
1347 ("ghc-conduit" ,ghc-conduit)
1348 ("ghc-data-default-class" ,ghc-data-default-class)
1349 ("ghc-resourcet" ,ghc-resourcet)))
1350 (native-inputs
1351 `(("ghc-hspec" ,ghc-hspec)
1352 ("ghc-random" ,ghc-random)))
1353 (home-page "https://github.com/snoyberg/bzlib-conduit")
1354 (synopsis "Streaming compression/decompression via conduits")
1355 (description
1356 "This package provides Haskell bindings to bzlib and Conduit support for
1357 streaming compression and decompression.")
1358 (license license:bsd-3)))
1359
1360 (define-public ghc-c2hs
1361 (package
1362 (name "ghc-c2hs")
1363 (version "0.28.6")
1364 (source
1365 (origin
1366 (method url-fetch)
1367 (uri (string-append
1368 "https://hackage.haskell.org/package/c2hs/c2hs-"
1369 version
1370 ".tar.gz"))
1371 (sha256
1372 (base32
1373 "1nplgxfin139x12sb656f5870rpdclrhzi8mq8pry035qld15pci"))))
1374 (build-system haskell-build-system)
1375 (inputs
1376 `(("ghc-language-c" ,ghc-language-c)
1377 ("ghc-dlist" ,ghc-dlist)))
1378 (native-inputs
1379 `(("ghc-test-framework" ,ghc-test-framework)
1380 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
1381 ("ghc-hunit" ,ghc-hunit)
1382 ("ghc-shelly" ,ghc-shelly)
1383 ("gcc" ,gcc)))
1384 (arguments
1385 `(;; XXX: Test failures are induced by a parse error in <bits/floatn.h>
1386 ;; of glibc 2.28.
1387 #:tests? #f
1388
1389 #:phases
1390 (modify-phases %standard-phases
1391 (add-before 'check 'set-cc
1392 ;; add a cc executable in the path, needed for some tests to pass
1393 (lambda* (#:key inputs #:allow-other-keys)
1394 (let ((gcc (assoc-ref inputs "gcc"))
1395 (tmpbin (tmpnam))
1396 (curpath (getenv "PATH")))
1397 (mkdir-p tmpbin)
1398 (symlink (which "gcc") (string-append tmpbin "/cc"))
1399 (setenv "PATH" (string-append tmpbin ":" curpath)))
1400 #t))
1401 (add-after 'check 'remove-cc
1402 ;; clean the tmp dir made in 'set-cc
1403 (lambda _
1404 (let* ((cc-path (which "cc"))
1405 (cc-dir (dirname cc-path)))
1406 (delete-file-recursively cc-dir)
1407 #t))))))
1408 (home-page "https://github.com/haskell/c2hs")
1409 (synopsis "Create Haskell bindings to C libraries")
1410 (description "C->Haskell assists in the development of Haskell bindings to
1411 C libraries. It extracts interface information from C header files and
1412 generates Haskell code with foreign imports and marshaling. Unlike writing
1413 foreign imports by hand (or using hsc2hs), this ensures that C functions are
1414 imported with the correct Haskell types.")
1415 (license license:gpl2)))
1416
1417 (define-public ghc-cairo
1418 (package
1419 (name "ghc-cairo")
1420 (version "0.13.5.0")
1421 (source
1422 (origin
1423 (method url-fetch)
1424 (uri (string-append "https://hackage.haskell.org/package/cairo/"
1425 "cairo-" version ".tar.gz"))
1426 (sha256
1427 (base32
1428 "1wxylv4d8120ri0vgar168ikqa9m6533ipdwi38qlmxmw20ws2j2"))))
1429 (build-system haskell-build-system)
1430 (arguments
1431 `(#:modules ((guix build haskell-build-system)
1432 (guix build utils)
1433 (ice-9 match)
1434 (srfi srfi-26))
1435 #:phases
1436 (modify-phases %standard-phases
1437 ;; FIXME: This is a copy of the standard configure phase with a tiny
1438 ;; difference: this package needs the -package-db flag to be passed
1439 ;; to "runhaskell" in addition to the "configure" action, because it
1440 ;; depends on gtk2hs-buildtools, which provide setup hooks. Without
1441 ;; this option the Setup.hs file cannot be evaluated. The
1442 ;; haskell-build-system should be changed to pass "-package-db" to
1443 ;; "runhaskell" in any case.
1444 (replace 'configure
1445 (lambda* (#:key outputs inputs tests? (configure-flags '())
1446 #:allow-other-keys)
1447 (let* ((out (assoc-ref outputs "out"))
1448 (name-version (strip-store-file-name out))
1449 (input-dirs (match inputs
1450 (((_ . dir) ...)
1451 dir)
1452 (_ '())))
1453 (ghc-path (getenv "GHC_PACKAGE_PATH"))
1454 (params (append `(,(string-append "--prefix=" out))
1455 `(,(string-append "--libdir=" out "/lib"))
1456 `(,(string-append "--bindir=" out "/bin"))
1457 `(,(string-append
1458 "--docdir=" out
1459 "/share/doc/" name-version))
1460 '("--libsubdir=$compiler/$pkg-$version")
1461 '("--package-db=../package.conf.d")
1462 '("--global")
1463 `(,@(map
1464 (cut string-append "--extra-include-dirs=" <>)
1465 (search-path-as-list '("include") input-dirs)))
1466 `(,@(map
1467 (cut string-append "--extra-lib-dirs=" <>)
1468 (search-path-as-list '("lib") input-dirs)))
1469 (if tests?
1470 '("--enable-tests")
1471 '())
1472 configure-flags)))
1473 (unsetenv "GHC_PACKAGE_PATH")
1474 (apply invoke "runhaskell" "-package-db=../package.conf.d"
1475 "Setup.hs" "configure" params)
1476 (setenv "GHC_PACKAGE_PATH" ghc-path)
1477 #t))))))
1478 (inputs
1479 `(("ghc-utf8-string" ,ghc-utf8-string)
1480 ("cairo" ,cairo)))
1481 (native-inputs
1482 `(("ghc-gtk2hs-buildtools" ,ghc-gtk2hs-buildtools)
1483 ("pkg-config" ,pkg-config)))
1484 (home-page "http://projects.haskell.org/gtk2hs/")
1485 (synopsis "Haskell bindings to the Cairo vector graphics library")
1486 (description
1487 "Cairo is a library to render high quality vector graphics. There exist
1488 various backends that allows rendering to Gtk windows, PDF, PS, PNG and SVG
1489 documents, amongst others.")
1490 (license license:bsd-3)))
1491
1492 (define-public ghc-call-stack
1493 (package
1494 (name "ghc-call-stack")
1495 (version "0.1.0")
1496 (source
1497 (origin
1498 (method url-fetch)
1499 (uri (string-append "https://hackage.haskell.org/package/"
1500 "call-stack/call-stack-"
1501 version ".tar.gz"))
1502 (sha256
1503 (base32
1504 "1qmihf5jafmc79sk52l6gpx75f5bnla2lp62kh3p34x3j84mwpzj"))))
1505 (build-system haskell-build-system)
1506 (inputs `(("ghc-nanospec" ,ghc-nanospec)))
1507 (home-page "https://github.com/sol/call-stack#readme")
1508 (synopsis "Use GHC call-stacks in a backward compatible way")
1509 (description "This package provides a compatibility layer for using GHC
1510 call stacks with different versions of the compiler.")
1511 (license license:expat)))
1512
1513 ;; This is used as an input to ghc-hunit. We cannot use ghc-call-stack there,
1514 ;; because it depends on ghc-nanospec, which depends on ghc-hunit.
1515 (define-public ghc-call-stack-boot
1516 (hidden-package
1517 (package
1518 (inherit ghc-call-stack)
1519 (arguments '(#:tests? #f))
1520 (inputs '()))))
1521
1522 (define-public ghc-case-insensitive
1523 (package
1524 (name "ghc-case-insensitive")
1525 (version "1.2.0.11")
1526 (outputs '("out" "doc"))
1527 (source
1528 (origin
1529 (method url-fetch)
1530 (uri (string-append
1531 "https://hackage.haskell.org/package/case-insensitive/case-insensitive-"
1532 version
1533 ".tar.gz"))
1534 (sha256
1535 (base32
1536 "1qrpxfirsxckg7jv28f5ah2qc8lh95hp7rnqkbqs1ahcwlbnvkm7"))))
1537 (build-system haskell-build-system)
1538 ;; these inputs are necessary to use this library
1539 (inputs
1540 `(("ghc-hashable" ,ghc-hashable)))
1541 (arguments
1542 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
1543 (home-page
1544 "https://github.com/basvandijk/case-insensitive")
1545 (synopsis "Case insensitive string comparison")
1546 (description
1547 "The module @code{Data.CaseInsensitive} provides the @code{CI} type
1548 constructor which can be parameterised by a string-like type like:
1549 @code{String}, @code{ByteString}, @code{Text}, etc. Comparisons of values of
1550 the resulting type will be insensitive to cases.")
1551 (license license:bsd-3)))
1552
1553 (define-public ghc-cborg
1554 (package
1555 (name "ghc-cborg")
1556 (version "0.2.2.0")
1557 (source
1558 (origin
1559 (method url-fetch)
1560 (uri (string-append
1561 "mirror://hackage/package/cborg/cborg-"
1562 version
1563 ".tar.gz"))
1564 (sha256
1565 (base32
1566 "1rdnvy0w17s70ikmbyrnwax5rvqh19l95sh8i7ipgxi23z1r0bp1"))))
1567 (build-system haskell-build-system)
1568 (inputs
1569 `(("ghc-half" ,ghc-half)
1570 ("ghc-primitive" ,ghc-primitive)))
1571 (native-inputs
1572 `(("ghc-aeson" ,ghc-aeson)
1573 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
1574 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
1575 ("ghc-fail" ,ghc-fail)
1576 ("ghc-quickcheck" ,ghc-quickcheck)
1577 ("ghc-scientific" ,ghc-scientific)
1578 ("ghc-tasty" ,ghc-tasty)
1579 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
1580 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
1581 ("ghc-vector" ,ghc-vector)))
1582 (home-page "http://hackage.haskell.org/package/cborg")
1583 (synopsis "Concise Binary Object Representation")
1584 (description
1585 "This package (formerly binary-serialise-cbor) provides an
1586 efficient implementation of the Concise Binary Object
1587 Representation (CBOR), as specified by RFC 7049 at
1588 https://tools.ietf.org/html/rfc7049.
1589
1590 If you are looking for a library for serialisation of Haskell values, have a
1591 look at the @url{https://hackage.haskell.org/package/serialise} package, which
1592 is built upon this library.
1593
1594 An implementation of the standard bijection between CBOR and JSON is provided
1595 by the @url{https://hackage.haskell.org/package/cborg-json} package.
1596
1597 Also see @code{https://hackage.haskell.org/package/cbor-tool} for a convenient
1598 command-line utility for working with CBOR data.")
1599 (license license:bsd-3)))
1600
1601 (define-public ghc-cborg-json
1602 (package
1603 (name "ghc-cborg-json")
1604 (version "0.2.2.0")
1605 (source
1606 (origin
1607 (method url-fetch)
1608 (uri (string-append
1609 "mirror://hackage/package/cborg-json/cborg-json-"
1610 version
1611 ".tar.gz"))
1612 (sha256
1613 (base32 "0ysilz7rrjk94sqr3a61s98hr9qfi1xg13bskmlpc6mpgi2s4s5b"))))
1614 (build-system haskell-build-system)
1615 (inputs
1616 `(("ghc-aeson" ,ghc-aeson)
1617 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
1618 ("ghc-unordered-containers" ,ghc-unordered-containers)
1619 ("ghc-scientific" ,ghc-scientific)
1620 ("ghc-vector" ,ghc-vector)
1621 ("ghc-cborg" ,ghc-cborg)))
1622 (home-page "https://github.com/well-typed/cborg")
1623 (synopsis "A library for encoding JSON as CBOR")
1624 (description
1625 "This package implements the bijection between JSON and CBOR
1626 defined in the CBOR specification, RFC 7049.")
1627 (license license:bsd-3)))
1628
1629 (define-public ghc-cereal
1630 (package
1631 (name "ghc-cereal")
1632 (version "0.5.8.1")
1633 (source
1634 (origin
1635 (method url-fetch)
1636 (uri (string-append
1637 "https://hackage.haskell.org/package/cereal/cereal-"
1638 version
1639 ".tar.gz"))
1640 (sha256
1641 (base32
1642 "1mqvd1iwzr50az4y24332x3g3wsrzw8j1iwph02vr7jbjfn8i7id"))))
1643 (build-system haskell-build-system)
1644 (native-inputs
1645 `(("ghc-quickcheck" ,ghc-quickcheck)
1646 ("ghc-fail" ,ghc-fail)
1647 ("ghc-test-framework" ,ghc-test-framework)
1648 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
1649 (home-page "https://hackage.haskell.org/package/cereal")
1650 (synopsis "Binary serialization library")
1651 (description "This package provides a binary serialization library,
1652 similar to @code{binary}, that introduces an @code{isolate} primitive for
1653 parser isolation, and labeled blocks for better error messages.")
1654 (license license:bsd-3)))
1655
1656 (define-public ghc-cereal-conduit
1657 (package
1658 (name "ghc-cereal-conduit")
1659 (version "0.8.0")
1660 (source
1661 (origin
1662 (method url-fetch)
1663 (uri (string-append "https://hackage.haskell.org/package/"
1664 "cereal-conduit/cereal-conduit-"
1665 version ".tar.gz"))
1666 (sha256
1667 (base32
1668 "1srr7agvgfw78q5s1npjq5sgynvhjgllpihiv37ylkwqm4c4ap6r"))))
1669 (build-system haskell-build-system)
1670 (inputs
1671 `(("ghc-conduit" ,ghc-conduit)
1672 ("ghc-resourcet" ,ghc-resourcet)
1673 ("ghc-cereal" ,ghc-cereal)))
1674 (native-inputs
1675 `(("ghc-hunit" ,ghc-hunit)))
1676 (home-page "https://github.com/snoyberg/conduit")
1677 (synopsis "Turn Data.Serialize Gets and Puts into Sources, Sinks, and Conduits")
1678 (description
1679 "This package turn @code{Data.Serialize} @code{Gets} and @code{Puts} into
1680 @code{Sources}, @code{Sinks}, and @code{Conduits}.")
1681 (license license:bsd-3)))
1682
1683 (define-public ghc-cgi
1684 (package
1685 (name "ghc-cgi")
1686 (version "3001.4.0.0")
1687 (source
1688 (origin
1689 (method url-fetch)
1690 (uri (string-append
1691 "https://hackage.haskell.org/package/cgi/cgi-"
1692 version
1693 ".tar.gz"))
1694 (sha256
1695 (base32
1696 "1d0nh5ymkqskkp4yn0gfz4mff8i0cxyw1wws8xxp6k1mg1ywa25k"))))
1697 (build-system haskell-build-system)
1698 (inputs
1699 `(("ghc-exceptions" ,ghc-exceptions)
1700 ("ghc-multipart" ,ghc-multipart)
1701 ("ghc-network-uri" ,ghc-network-uri)
1702 ("ghc-network" ,ghc-network)))
1703 (native-inputs
1704 `(("ghc-doctest" ,ghc-doctest)
1705 ("ghc-quickcheck" ,ghc-quickcheck)))
1706 (home-page
1707 "https://github.com/cheecheeo/haskell-cgi")
1708 (synopsis "Library for writing CGI programs")
1709 (description
1710 "This is a Haskell library for writing CGI programs.")
1711 (license license:bsd-3)))
1712
1713 (define-public ghc-charset
1714 (package
1715 (name "ghc-charset")
1716 (version "0.3.7.1")
1717 (source
1718 (origin
1719 (method url-fetch)
1720 (uri (string-append
1721 "https://hackage.haskell.org/package/charset/charset-"
1722 version
1723 ".tar.gz"))
1724 (sha256
1725 (base32
1726 "1gn0m96qpjww8hpp2g1as5yy0wcwy4iq73h3kz6g0yxxhcl5sh9x"))))
1727 (build-system haskell-build-system)
1728 (arguments
1729 `(#:cabal-revision
1730 ("1" "1z6nxw2g9vgsjq0g159sk8mwj68lwzxzi5iv5ynha0h85jcqxszy")))
1731 (inputs
1732 `(("ghc-semigroups" ,ghc-semigroups)
1733 ("ghc-unordered-containers" ,ghc-unordered-containers)))
1734 (home-page "https://github.com/ekmett/charset")
1735 (synopsis "Fast unicode character sets for Haskell")
1736 (description "This package provides fast unicode character sets for
1737 Haskell, based on complemented PATRICIA tries.")
1738 (license license:bsd-3)))
1739
1740 (define-public ghc-chart
1741 (package
1742 (name "ghc-chart")
1743 (version "1.9.1")
1744 (source
1745 (origin
1746 (method url-fetch)
1747 (uri (string-append "https://hackage.haskell.org/package/Chart/"
1748 "Chart-" version ".tar.gz"))
1749 (sha256
1750 (base32
1751 "1pn735k9ifxlb9mdh8xy7wi22cxni8xyr28n8zx9w0j6vprcg89l"))))
1752 (build-system haskell-build-system)
1753 (inputs
1754 `(("ghc-old-locale" ,ghc-old-locale)
1755 ("ghc-lens" ,ghc-lens)
1756 ("ghc-colour" ,ghc-colour)
1757 ("ghc-data-default-class" ,ghc-data-default-class)
1758 ("ghc-operational" ,ghc-operational)
1759 ("ghc-vector" ,ghc-vector)))
1760 (home-page "https://github.com/timbod7/haskell-chart/wiki")
1761 (synopsis "Library for generating 2D charts and plots")
1762 (description
1763 "This package provides a library for generating 2D charts and plots, with
1764 backends provided by the @code{Cairo} and @code{Diagrams} libraries.")
1765 (license license:bsd-3)))
1766
1767 (define-public ghc-chart-cairo
1768 (package
1769 (name "ghc-chart-cairo")
1770 (version "1.9.1")
1771 (source
1772 (origin
1773 (method url-fetch)
1774 (uri (string-append "https://hackage.haskell.org/package/Chart-cairo/"
1775 "Chart-cairo-" version ".tar.gz"))
1776 (sha256
1777 (base32
1778 "0hknj4rsjf2m8p5pyq5zff8ai7v80yvmxb5c6n0bkgxs4317nbl9"))))
1779 (build-system haskell-build-system)
1780 (inputs
1781 `(("ghc-old-locale" ,ghc-old-locale)
1782 ("ghc-cairo" ,ghc-cairo)
1783 ("ghc-colour" ,ghc-colour)
1784 ("ghc-data-default-class" ,ghc-data-default-class)
1785 ("ghc-operational" ,ghc-operational)
1786 ("ghc-lens" ,ghc-lens)
1787 ("ghc-chart" ,ghc-chart)))
1788 (home-page "https://github.com/timbod7/haskell-chart/wiki")
1789 (synopsis "Cairo backend for Charts")
1790 (description "This package provides a Cairo vector graphics rendering
1791 backend for the Charts library.")
1792 (license license:bsd-3)))
1793
1794 (define-public ghc-chasingbottoms
1795 (package
1796 (name "ghc-chasingbottoms")
1797 (version "1.3.1.7")
1798 (source
1799 (origin
1800 (method url-fetch)
1801 (uri (string-append "https://hackage.haskell.org/package/ChasingBottoms/"
1802 "ChasingBottoms-" version ".tar.gz"))
1803 (sha256
1804 (base32
1805 "0ziiqfsvv1ypdra6kd0bhbsl852i0wqn43jkfii38yl879cdacan"))))
1806 (build-system haskell-build-system)
1807 (inputs
1808 `(("ghc-quickcheck" ,ghc-quickcheck)
1809 ("ghc-random" ,ghc-random)
1810 ("ghc-syb" ,ghc-syb)))
1811 (home-page "https://hackage.haskell.org/package/ChasingBottoms")
1812 (synopsis "Testing of partial and infinite values in Haskell")
1813 (description
1814 ;; FIXME: There should be a @comma{} in the uref text, but it is not
1815 ;; rendered properly.
1816 "This is a library for testing code involving bottoms or infinite values.
1817 For the underlying theory and a larger example involving use of QuickCheck,
1818 see the article
1819 @uref{http://www.cse.chalmers.se/~nad/publications/danielsson-jansson-mpc2004.html,
1820 \"Chasing Bottoms A Case Study in Program Verification in the Presence of
1821 Partial and Infinite Values\"}.")
1822 (license license:expat)))
1823
1824 (define-public ghc-cheapskate
1825 (package
1826 (name "ghc-cheapskate")
1827 (version "0.1.1.1")
1828 (source
1829 (origin
1830 (method url-fetch)
1831 (uri (string-append
1832 "https://hackage.haskell.org/package/cheapskate/cheapskate-"
1833 version
1834 ".tar.gz"))
1835 (sha256
1836 (base32
1837 "0qnyd8bni2rby6b02ff4bvfdhm1hwc8vzpmnms84jgrlg1lly3fm"))))
1838 (build-system haskell-build-system)
1839 (inputs
1840 `(("ghc-blaze-html" ,ghc-blaze-html)
1841 ("ghc-xss-sanitize" ,ghc-xss-sanitize)
1842 ("ghc-data-default" ,ghc-data-default)
1843 ("ghc-syb" ,ghc-syb)
1844 ("ghc-uniplate" ,ghc-uniplate)))
1845 (home-page "https://github.com/jgm/cheapskate")
1846 (synopsis "Experimental markdown processor")
1847 (description "Cheapskate is an experimental Markdown processor in pure
1848 Haskell. It aims to process Markdown efficiently and in the most forgiving
1849 possible way. It is designed to deal with any input, including garbage, with
1850 linear performance. Output is sanitized by default for protection against
1851 cross-site scripting (@dfn{XSS}) attacks.")
1852 (license license:bsd-3)))
1853
1854 (define-public ghc-chell
1855 (package
1856 (name "ghc-chell")
1857 (version "0.5")
1858 (source
1859 (origin
1860 (method url-fetch)
1861 (uri (string-append
1862 "https://hackage.haskell.org/package/chell/chell-"
1863 version ".tar.gz"))
1864 (sha256
1865 (base32
1866 "1i845isfbk0yq852am9bqmxfpfkpnlha8nfidffsv4gw2p8gg6fg"))))
1867 (build-system haskell-build-system)
1868 (arguments
1869 `(#:cabal-revision
1870 ("1" "1q93wrw03ix4cmnkz3lzkixcvvizw6i2ia2zifdfak1dvxnblxk0")))
1871 (inputs
1872 `(("ghc-options-bootstrap" ,ghc-options-bootstrap)
1873 ("ghc-patience" ,ghc-patience)
1874 ("ghc-random" ,ghc-random)
1875 ("ghc-ansi-terminal" ,ghc-ansi-terminal)))
1876 (home-page "https://john-millikin.com/software/chell/")
1877 (synopsis "Simple and intuitive library for automated testing")
1878 (description
1879 "Chell is a simple and intuitive library for automated testing.
1880 It natively supports assertion-based testing, and can use companion
1881 libraries such as @code{chell-quickcheck} to support more complex
1882 testing strategies.")
1883 (license license:expat)))
1884
1885 (define-public ghc-chell-quickcheck
1886 (package
1887 (name "ghc-chell-quickcheck")
1888 (version "0.2.5.2")
1889 (source
1890 (origin
1891 (method url-fetch)
1892 (uri (string-append
1893 "https://hackage.haskell.org/package/chell-quickcheck/"
1894 "chell-quickcheck-" version ".tar.gz"))
1895 (sha256
1896 (base32
1897 "0n8c57n88r2bx0bh8nabsz07m42rh23ahs3hgyzf8gr76l08zq03"))))
1898 (build-system haskell-build-system)
1899 (arguments
1900 `(#:phases
1901 (modify-phases %standard-phases
1902 (add-before 'configure 'update-constraints
1903 (lambda _
1904 (substitute* "chell-quickcheck.cabal"
1905 (("QuickCheck >= 2\\.3 && < 2\\.13")
1906 "QuickCheck >= 2.3 && < 2.14")))))))
1907 (inputs
1908 `(("ghc-chell" ,ghc-chell)
1909 ("ghc-chell-quickcheck-bootstrap" ,ghc-chell-quickcheck-bootstrap)
1910 ("ghc-random" ,ghc-random)
1911 ("ghc-quickcheck" ,ghc-quickcheck)))
1912 (home-page "https://john-millikin.com/software/chell/")
1913 (synopsis "QuickCheck support for the Chell testing library")
1914 (description "More complex tests for @code{chell}.")
1915 (license license:expat)))
1916
1917 (define ghc-chell-quickcheck-bootstrap
1918 (package
1919 (name "ghc-chell-quickcheck-bootstrap")
1920 (version "0.2.5.2")
1921 (source
1922 (origin
1923 (method url-fetch)
1924 (uri (string-append
1925 "https://hackage.haskell.org/package/chell-quickcheck/"
1926 "chell-quickcheck-" version ".tar.gz"))
1927 (sha256
1928 (base32
1929 "0n8c57n88r2bx0bh8nabsz07m42rh23ahs3hgyzf8gr76l08zq03"))))
1930 (build-system haskell-build-system)
1931 (inputs
1932 `(("ghc-chell" ,ghc-chell)
1933 ("ghc-random" ,ghc-random)
1934 ("ghc-quickcheck" ,ghc-quickcheck)))
1935 (arguments
1936 `(#:tests? #f
1937 #:phases
1938 (modify-phases %standard-phases
1939 (add-before 'configure 'update-constraints
1940 (lambda _
1941 (substitute* "chell-quickcheck.cabal"
1942 (("QuickCheck >= 2\\.3 && < 2\\.13")
1943 "QuickCheck >= 2.3 && < 2.14")))))))
1944 (home-page "https://john-millikin.com/software/chell/")
1945 (synopsis "QuickCheck support for the Chell testing library")
1946 (description "More complex tests for @code{chell}.")
1947 (license license:expat)))
1948
1949 (define-public ghc-chunked-data
1950 (package
1951 (name "ghc-chunked-data")
1952 (version "0.3.1")
1953 (source
1954 (origin
1955 (method url-fetch)
1956 (uri (string-append "https://hackage.haskell.org/package/"
1957 "chunked-data-" version "/"
1958 "chunked-data-" version ".tar.gz"))
1959 (sha256
1960 (base32
1961 "16m7y7fwrirbjbqqcsfmr4yxa9qvfax6r7pw0zl9ky71ms0wa47p"))))
1962 (build-system haskell-build-system)
1963 (inputs `(("ghc-vector" ,ghc-vector)
1964 ("ghc-semigroups" ,ghc-semigroups)))
1965 (home-page "https://github.com/snoyberg/mono-traversable")
1966 (synopsis "Typeclasses for dealing with various chunked data
1967 representations for Haskell")
1968 (description "This Haskell package was originally present in
1969 classy-prelude.")
1970 (license license:expat)))
1971
1972 (define-public ghc-clock
1973 (package
1974 (name "ghc-clock")
1975 (version "0.8")
1976 (source
1977 (origin
1978 (method url-fetch)
1979 (uri (string-append
1980 "https://hackage.haskell.org/package/"
1981 "clock/"
1982 "clock-" version ".tar.gz"))
1983 (sha256
1984 (base32 "0539w9bjw6xbfv9v6aq9hijszxqdnqhilwpbwpql1400ji95r8q8"))))
1985 (build-system haskell-build-system)
1986 (inputs
1987 `(("ghc-tasty" ,ghc-tasty)
1988 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
1989 (home-page "https://hackage.haskell.org/package/clock")
1990 (synopsis "High-resolution clock for Haskell")
1991 (description "A package for convenient access to high-resolution clock and
1992 timer functions of different operating systems via a unified API.")
1993 (license license:bsd-3)))
1994
1995 ;; This package builds `clock` without tests, since the tests rely on tasty
1996 ;; and tasty-quickcheck, which in turn require clock to build.
1997 (define-public ghc-clock-bootstrap
1998 (package
1999 (inherit ghc-clock)
2000 (name "ghc-clock-bootstrap")
2001 (arguments '(#:tests? #f))
2002 (inputs '())
2003 (properties '((hidden? #t)))))
2004
2005 (define-public ghc-cmark
2006 (package
2007 (name "ghc-cmark")
2008 (version "0.6")
2009 (source (origin
2010 (method url-fetch)
2011 ;; XXX As of version 0.6, this package bundles libcmark 0.28.0.
2012 ;; See cbits/cmark_version.h.
2013 (uri (string-append "https://hackage.haskell.org/package/"
2014 "cmark/cmark-" version ".tar.gz"))
2015 (sha256
2016 (base32
2017 "1p41z6z8dqxk62287lvhhg4ayy9laai9ljh4azsnzb029v6mbv0d"))))
2018 (build-system haskell-build-system)
2019 (native-inputs
2020 `(("ghc-hunit" ,ghc-hunit)))
2021 (home-page "https://github.com/jgm/commonmark-hs")
2022 (synopsis "Fast, accurate CommonMark (Markdown) parser and renderer")
2023 (description
2024 "This package provides Haskell bindings for
2025 @uref{https://github.com/jgm/cmark, libcmark}, the reference parser for
2026 CommonMark, a fully specified variant of Markdown. It includes bundled libcmark
2027 sources, and does not require prior installation of the C library.")
2028 (license license:bsd-3)))
2029
2030 (define-public ghc-cmark-gfm
2031 (package
2032 (name "ghc-cmark-gfm")
2033 (version "0.2.0")
2034 (source
2035 (origin
2036 (method url-fetch)
2037 (uri (string-append "https://hackage.haskell.org/package/"
2038 "cmark-gfm/cmark-gfm-"
2039 version ".tar.gz"))
2040 (sha256
2041 (base32
2042 "03xflrkyw84qv3yjly5iks9311bqv5cmrmsylr763v4ph0fn7rjq"))))
2043 (build-system haskell-build-system)
2044 (native-inputs
2045 `(("ghc-hunit" ,ghc-hunit)))
2046 (home-page "https://github.com/kivikakk/cmark-gfm-hs")
2047 (synopsis
2048 "Fast, accurate GitHub Flavored Markdown parser and renderer")
2049 (description
2050 "This package provides Haskell bindings for libcmark-gfm, the reference
2051 parser for GitHub Flavored Markdown, a fully specified variant of Markdown.
2052 It includes sources for libcmark-gfm and does not require prior installation
2053 of the C library.")
2054 (license license:bsd-3)))
2055
2056 (define-public ghc-cmdargs
2057 (package
2058 (name "ghc-cmdargs")
2059 (version "0.10.20")
2060 (source
2061 (origin
2062 (method url-fetch)
2063 (uri (string-append
2064 "https://hackage.haskell.org/package/cmdargs/cmdargs-"
2065 version ".tar.gz"))
2066 (sha256
2067 (base32
2068 "0cbkmgrcnwgigg6z88y3c09gm7g6dwm7gzbgr53h8k1xik29s9hf"))))
2069 (build-system haskell-build-system)
2070 (home-page
2071 "http://community.haskell.org/~ndm/cmdargs/")
2072 (synopsis "Command line argument processing")
2073 (description
2074 "This library provides an easy way to define command line parsers.")
2075 (license license:bsd-3)))
2076
2077 (define-public ghc-code-page
2078 (package
2079 (name "ghc-code-page")
2080 (version "0.2")
2081 (source
2082 (origin
2083 (method url-fetch)
2084 (uri (string-append
2085 "https://hackage.haskell.org/package/code-page/code-page-"
2086 version ".tar.gz"))
2087 (sha256
2088 (base32
2089 "0i0qbrbhvrwkbikqb7hh7yxaipaavwzvyrw211d0vkz99f62mqxz"))))
2090 (build-system haskell-build-system)
2091 (home-page "https://github.com/RyanGlScott/code-page")
2092 (synopsis "Windows code page library for Haskell")
2093 (description "A cross-platform library with functions for adjusting
2094 code pages on Windows. On all other operating systems, the library does
2095 nothing.")
2096 (license license:bsd-3)))
2097
2098 (define-public ghc-colour
2099 (package
2100 (name "ghc-colour")
2101 (version "2.3.5")
2102 (source
2103 (origin
2104 (method url-fetch)
2105 (uri (string-append
2106 "https://hackage.haskell.org/package/colour/colour-"
2107 version ".tar.gz"))
2108 (sha256
2109 (base32
2110 "1rq4l46jx4lpdppy71wf7m1n7pw2jwy788rm35ycwzb1g4clg39v"))))
2111 (arguments
2112 ;; The tests for this package have the following dependency cycle:
2113 ;; ghc-test-framework -> ghc-ansi-terminal -> ghc-colour.
2114 `(#:tests? #f))
2115 (build-system haskell-build-system)
2116 (home-page "https://wiki.haskell.org/Colour")
2117 (synopsis "Model for human colour perception")
2118 (description
2119 "This package provides a data type for colours and transparency.
2120 Colours can be blended and composed. Various colour spaces are
2121 supported. A module of colour names (\"Data.Colour.Names\") is provided.")
2122 (license license:expat)))
2123
2124 (define-public ghc-comonad
2125 (package
2126 (name "ghc-comonad")
2127 (version "5.0.5")
2128 (source
2129 (origin
2130 (method url-fetch)
2131 (uri (string-append
2132 "https://hackage.haskell.org/package/comonad/comonad-"
2133 version
2134 ".tar.gz"))
2135 (sha256
2136 (base32
2137 "1l7snp2mszgnjgd0nc9kzfyd13vla0rlazqi03rwx2akcxk14n3c"))))
2138 (build-system haskell-build-system)
2139 (native-inputs
2140 `(("cabal-doctest" ,cabal-doctest)
2141 ("ghc-doctest" ,ghc-doctest)))
2142 (inputs
2143 `(("ghc-contravariant" ,ghc-contravariant)
2144 ("ghc-distributive" ,ghc-distributive)
2145 ("ghc-semigroups" ,ghc-semigroups)
2146 ("ghc-tagged" ,ghc-tagged)
2147 ("ghc-transformers-compat" ,ghc-transformers-compat)))
2148 (home-page "https://github.com/ekmett/comonad/")
2149 (synopsis "Comonads for Haskell")
2150 (description "This library provides @code{Comonad}s for Haskell.")
2151 (license license:bsd-3)))
2152
2153 (define-public ghc-concatenative
2154 (package
2155 (name "ghc-concatenative")
2156 (version "1.0.1")
2157 (source (origin
2158 (method url-fetch)
2159 (uri (string-append
2160 "https://hackage.haskell.org/package/concatenative/concatenative-"
2161 version ".tar.gz"))
2162 (sha256
2163 (base32
2164 "05xwqvcdnk8bsyj698ab9jxpa1nk23pf3m7wi9mwmw0q8n99fngd"))))
2165 (build-system haskell-build-system)
2166 (home-page
2167 "https://patch-tag.com/r/salazar/concatenative/snapshot/current/content/pretty")
2168 (synopsis "Library for postfix control flow")
2169 (description
2170 "Concatenative gives Haskell Factor-style combinators and arrows for
2171 postfix notation. For more information on stack based languages, see
2172 @uref{https://concatenative.org}.")
2173 (license license:bsd-3)))
2174
2175 (define-public ghc-concurrent-extra
2176 (package
2177 (name "ghc-concurrent-extra")
2178 (version "0.7.0.12")
2179 (source
2180 (origin
2181 (method url-fetch)
2182 (uri (string-append "https://hackage.haskell.org/package/"
2183 "concurrent-extra/concurrent-extra-"
2184 version ".tar.gz"))
2185 (sha256
2186 (base32
2187 "1y8xk460fvnw0idzdiylmm874sjny4q9jxb1js9fjz8lw2wns3h4"))))
2188 (build-system haskell-build-system)
2189 (arguments
2190 ;; XXX: The ReadWriteLock 'stressTest' fails.
2191 `(#:tests? #f))
2192 (inputs
2193 `(("ghc-unbounded-delays" ,ghc-unbounded-delays)))
2194 (native-inputs
2195 `(("ghc-async" ,ghc-async)
2196 ("ghc-hunit" ,ghc-hunit)
2197 ("ghc-random" ,ghc-random)
2198 ("ghc-test-framework" ,ghc-test-framework)
2199 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
2200 (home-page "https://github.com/basvandijk/concurrent-extra")
2201 (synopsis "Extra concurrency primitives")
2202 (description "This Haskell library offers (among other things) the
2203 following selection of synchronisation primitives:
2204
2205 @itemize
2206 @item @code{Broadcast}: Wake multiple threads by broadcasting a value.
2207 @item @code{Event}: Wake multiple threads by signalling an event.
2208 @item @code{Lock}: Enforce exclusive access to a resource. Also known
2209 as a binary semaphore or mutex. The package additionally provides an
2210 alternative that works in the STM monad.
2211 @item @code{RLock}: A lock which can be acquired multiple times by the
2212 same thread. Also known as a reentrant mutex.
2213 @item @code{ReadWriteLock}: Multiple-reader, single-writer locks. Used
2214 to protect shared resources which may be concurrently read, but only
2215 sequentially written.
2216 @item @code{ReadWriteVar}: Concurrent read, sequential write variables.
2217 @end itemize
2218
2219 Please consult the API documentation of the individual modules for more
2220 detailed information.
2221
2222 This package was inspired by the concurrency libraries of Java and
2223 Python.")
2224 (license license:bsd-3)))
2225
2226 (define-public ghc-concurrent-output
2227 (package
2228 (name "ghc-concurrent-output")
2229 (version "1.10.11")
2230 (source
2231 (origin
2232 (method url-fetch)
2233 (uri (string-append
2234 "mirror://hackage/package/concurrent-output/concurrent-output-"
2235 version
2236 ".tar.gz"))
2237 (sha256
2238 (base32
2239 "1d1aaqg5814k59b0iws3fh06p3g2siaj922gkhs75qgncj0my2p3"))))
2240 (build-system haskell-build-system)
2241 (inputs
2242 `(("ghc-async" ,ghc-async)
2243 ("ghc-exceptions" ,ghc-exceptions)
2244 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
2245 ("ghc-terminal-size" ,ghc-terminal-size)))
2246 (home-page
2247 "https://hackage.haskell.org/package/concurrent-output")
2248 (synopsis
2249 "Ungarble output from several threads or commands")
2250 (description
2251 "Lets multiple threads and external processes concurrently output to the
2252 console, without it getting all garbled up.
2253
2254 Built on top of that is a way of defining multiple output regions, which are
2255 automatically laid out on the screen and can be individually updated by
2256 concurrent threads. Can be used for progress displays etc.")
2257 (license license:bsd-2)))
2258
2259 (define-public ghc-conduit
2260 (package
2261 (name "ghc-conduit")
2262 (version "1.3.1.1")
2263 (source (origin
2264 (method url-fetch)
2265 (uri (string-append "https://hackage.haskell.org/package/"
2266 "conduit/conduit-" version ".tar.gz"))
2267 (sha256
2268 (base32
2269 "18izjgff4pmrknc8py06yvg3g6x27nx0rzmlwjxcflwm5v4szpw4"))))
2270 (build-system haskell-build-system)
2271 (inputs
2272 `(("ghc-exceptions" ,ghc-exceptions)
2273 ("ghc-lifted-base" ,ghc-lifted-base)
2274 ("ghc-mono-traversable" ,ghc-mono-traversable)
2275 ("ghc-mmorph" ,ghc-mmorph)
2276 ("ghc-resourcet" ,ghc-resourcet)
2277 ("ghc-silently" ,ghc-silently)
2278 ("ghc-transformers-base" ,ghc-transformers-base)
2279 ("ghc-unliftio" ,ghc-unliftio)
2280 ("ghc-unliftio-core" ,ghc-unliftio-core)
2281 ("ghc-vector" ,ghc-vector)
2282 ("ghc-void" ,ghc-void)))
2283 (native-inputs
2284 `(("ghc-quickcheck" ,ghc-quickcheck)
2285 ("ghc-hspec" ,ghc-hspec)
2286 ("ghc-safe" ,ghc-safe)
2287 ("ghc-split" ,ghc-split)))
2288 (home-page "https://github.com/snoyberg/conduit")
2289 (synopsis "Streaming data library ")
2290 (description
2291 "The conduit package is a solution to the streaming data problem,
2292 allowing for production, transformation, and consumption of streams of data
2293 in constant memory. It is an alternative to lazy I/O which guarantees
2294 deterministic resource handling, and fits in the same general solution
2295 space as enumerator/iteratee and pipes.")
2296 (license license:expat)))
2297
2298 (define-public ghc-conduit-algorithms
2299 (package
2300 (name "ghc-conduit-algorithms")
2301 (version "0.0.11.0")
2302 (source
2303 (origin
2304 (method url-fetch)
2305 (uri (string-append "https://hackage.haskell.org/package/"
2306 "conduit-algorithms/conduit-algorithms-"
2307 version ".tar.gz"))
2308 (sha256
2309 (base32
2310 "0c1jwz30kkvimx7lb61782yk0kyfamrf5bqc3g1h7g51lk8bbv9i"))))
2311 (build-system haskell-build-system)
2312 (inputs
2313 `(("ghc-async" ,ghc-async)
2314 ("ghc-bzlib-conduit" ,ghc-bzlib-conduit)
2315 ("ghc-conduit" ,ghc-conduit)
2316 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
2317 ("ghc-conduit-extra" ,ghc-conduit-extra)
2318 ("ghc-conduit-zstd" ,ghc-conduit-zstd)
2319 ("ghc-exceptions" ,ghc-exceptions)
2320 ("ghc-lzma-conduit" ,ghc-lzma-conduit)
2321 ("ghc-monad-control" ,ghc-monad-control)
2322 ("ghc-pqueue" ,ghc-pqueue)
2323 ("ghc-resourcet" ,ghc-resourcet)
2324 ("ghc-stm-conduit" ,ghc-stm-conduit)
2325 ("ghc-streaming-commons" ,ghc-streaming-commons)
2326 ("ghc-unliftio-core" ,ghc-unliftio-core)
2327 ("ghc-vector" ,ghc-vector)))
2328 (native-inputs
2329 `(("ghc-hunit" ,ghc-hunit)
2330 ("ghc-test-framework" ,ghc-test-framework)
2331 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
2332 ("ghc-test-framework-th" ,ghc-test-framework-th)))
2333 (home-page "https://github.com/luispedro/conduit-algorithms#readme")
2334 (synopsis "Conduit-based algorithms")
2335 (description
2336 "This package provides algorithms on @code{Conduits}, including higher
2337 level asynchronous processing and some other utilities.")
2338 (license license:expat)))
2339
2340 (define-public ghc-conduit-combinators
2341 (package
2342 (name "ghc-conduit-combinators")
2343 (version "1.3.0")
2344 (source
2345 (origin
2346 (method url-fetch)
2347 (uri (string-append "https://hackage.haskell.org/package/"
2348 "conduit-combinators-" version "/"
2349 "conduit-combinators-" version ".tar.gz"))
2350 (sha256
2351 (base32
2352 "1lz70vwp4y4lpsivxl0cshq7aq3968rh48r6rjvpyaj2l0bdj5wp"))))
2353 (build-system haskell-build-system)
2354 (inputs `(("ghc-conduit" ,ghc-conduit)
2355 ("ghc-conduit-extra" ,ghc-conduit-extra)
2356 ("ghc-transformers-base" ,ghc-transformers-base)
2357 ("ghc-primitive" ,ghc-primitive)
2358 ("ghc-vector" ,ghc-vector)
2359 ("ghc-void" ,ghc-void)
2360 ("ghc-mwc-random" ,ghc-mwc-random)
2361 ("ghc-unix-compat" ,ghc-unix-compat)
2362 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
2363 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
2364 ("ghc-resourcet" ,ghc-resourcet)
2365 ("ghc-monad-control" ,ghc-monad-control)
2366 ("ghc-chunked-data" ,ghc-chunked-data)
2367 ("ghc-mono-traversable" ,ghc-mono-traversable)))
2368 (native-inputs `(("ghc-hspec" ,ghc-hspec)
2369 ("ghc-silently" ,ghc-silently)
2370 ("ghc-safe" ,ghc-safe)
2371 ("ghc-quickcheck" ,ghc-quickcheck)))
2372 (home-page "https://github.com/snoyberg/mono-traversable")
2373 (synopsis "Commonly used conduit functions, for both chunked and
2374 unchunked data")
2375 (description "This Haskell package provides a replacement for Data.Conduit.List,
2376 as well as a convenient Conduit module.")
2377 (license license:expat)))
2378
2379 (define-public ghc-conduit-extra
2380 (package
2381 (name "ghc-conduit-extra")
2382 (version "1.3.4")
2383 (source
2384 (origin
2385 (method url-fetch)
2386 (uri (string-append "https://hackage.haskell.org/package/"
2387 "conduit-extra/conduit-extra-"
2388 version ".tar.gz"))
2389 (sha256
2390 (base32
2391 "1d853d39vj5pb8yxfcsnjwdzqzkm34ixzbnba8bslpihb7182wxi"))))
2392 (build-system haskell-build-system)
2393 (inputs
2394 `(("ghc-conduit" ,ghc-conduit)
2395 ("ghc-exceptions" ,ghc-exceptions)
2396 ("ghc-monad-control" ,ghc-monad-control)
2397 ("ghc-transformers-base" ,ghc-transformers-base)
2398 ("ghc-typed-process" ,ghc-typed-process)
2399 ("ghc-async" ,ghc-async)
2400 ("ghc-attoparsec" ,ghc-attoparsec)
2401 ("ghc-blaze-builder" ,ghc-blaze-builder)
2402 ("ghc-network" ,ghc-network)
2403 ("ghc-primitive" ,ghc-primitive)
2404 ("ghc-resourcet" ,ghc-resourcet)
2405 ("ghc-streaming-commons" ,ghc-streaming-commons)
2406 ("ghc-hspec" ,ghc-hspec)
2407 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
2408 ("ghc-quickcheck" ,ghc-quickcheck)))
2409 (native-inputs
2410 `(("hspec-discover" ,hspec-discover)))
2411 (home-page "https://github.com/snoyberg/conduit")
2412 (synopsis "Conduit adapters for common libraries")
2413 (description
2414 "The @code{conduit} package itself maintains relative small dependencies.
2415 The purpose of this package is to collect commonly used utility functions
2416 wrapping other library dependencies, without depending on heavier-weight
2417 dependencies. The basic idea is that this package should only depend on
2418 @code{haskell-platform} packages and @code{conduit}.")
2419 (license license:expat)))
2420
2421 (define-public ghc-conduit-zstd
2422 (package
2423 (name "ghc-conduit-zstd")
2424 (version "0.0.1.1")
2425 (source
2426 (origin
2427 (method url-fetch)
2428 (uri (string-append "https://hackage.haskell.org/package/"
2429 "conduit-zstd/conduit-zstd-" version ".tar.gz"))
2430 (sha256
2431 (base32
2432 "04h7w2903hgw4gjcx2pg29yinnmfapawvc19hd3r57rr12fzb0c6"))))
2433 (build-system haskell-build-system)
2434 (inputs
2435 `(("ghc-conduit" ,ghc-conduit)
2436 ("ghc-zstd" ,ghc-zstd)))
2437 (native-inputs
2438 `(("ghc-hunit" ,ghc-hunit)
2439 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
2440 ("ghc-conduit-extra" ,ghc-conduit-extra)
2441 ("ghc-test-framework" ,ghc-test-framework)
2442 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
2443 ("ghc-test-framework-th" ,ghc-test-framework-th)))
2444 (home-page "https://github.com/luispedro/conduit-zstd#readme")
2445 (synopsis "Conduit-based ZStd Compression")
2446 (description "Zstandard compression packaged as a conduit. This is
2447 a very thin wrapper around the
2448 @url{https://github.com/facebookexperimental/hs-zstd/, official hs-zstd
2449 interface}.")
2450 (license license:expat)))
2451
2452 (define-public ghc-configurator
2453 (package
2454 (name "ghc-configurator")
2455 (version "0.3.0.0")
2456 (source
2457 (origin
2458 (method url-fetch)
2459 (uri (string-append "https://hackage.haskell.org/package/"
2460 "configurator/configurator-"
2461 version ".tar.gz"))
2462 (sha256
2463 (base32
2464 "1d1iq1knwiq6ia5g64rw5hqm6dakz912qj13r89737rfcxmrkfbf"))))
2465 (build-system haskell-build-system)
2466 (inputs
2467 `(("ghc-attoparsec" ,ghc-attoparsec)
2468 ("ghc-hashable" ,ghc-hashable)
2469 ("ghc-unix-compat" ,ghc-unix-compat)
2470 ("ghc-unordered-containers" ,ghc-unordered-containers)))
2471 (native-inputs
2472 `(("ghc-hunit" ,ghc-hunit)
2473 ("ghc-test-framework" ,ghc-test-framework)
2474 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
2475 (home-page "https://github.com/bos/configurator")
2476 (synopsis "Configuration management")
2477 (description
2478 "This package provides a configuration management library for programs
2479 and daemons. The features include:
2480
2481 @enumerate
2482 @item Automatic, dynamic reloading in response to modifications to
2483 configuration files.
2484 @item A simple, but flexible, configuration language, supporting several of
2485 the most commonly needed types of data, along with interpolation of strings
2486 from the configuration or the system environment (e.g. @code{$(HOME)}).
2487 @item Subscription-based notification of changes to configuration properties.
2488 @item An @code{import} directive allows the configuration of a complex
2489 application to be split across several smaller files, or common configuration
2490 data to be shared across several applications.
2491 @end enumerate\n")
2492 (license license:bsd-3)))
2493
2494 (define-public ghc-connection
2495 (package
2496 (name "ghc-connection")
2497 (version "0.3.1")
2498 (source (origin
2499 (method url-fetch)
2500 (uri (string-append "https://hackage.haskell.org/package/"
2501 "connection/connection-"
2502 version ".tar.gz"))
2503 (sha256
2504 (base32
2505 "1nbmafhlg0wy4aa3p7amjddbamdz6avzrxn4py3lvhrjqn4raxax"))))
2506 (build-system haskell-build-system)
2507 (inputs
2508 `(("ghc-byteable" ,ghc-byteable)
2509 ("ghc-data-default-class" ,ghc-data-default-class)
2510 ("ghc-network" ,ghc-network)
2511 ("ghc-tls" ,ghc-tls)
2512 ("ghc-socks" ,ghc-socks)
2513 ("ghc-x509" ,ghc-x509)
2514 ("ghc-x509-store" ,ghc-x509-store)
2515 ("ghc-x509-system" ,ghc-x509-system)
2516 ("ghc-x509-validation" ,ghc-x509-validation)))
2517 (home-page "https://github.com/vincenthz/hs-connection")
2518 (synopsis "Simple and easy network connections API")
2519 (description
2520 "This package provides a simple network library for all your connection
2521 needs. It provides a very simple API to create sockets to a destination with
2522 the choice of SSL/TLS, and SOCKS.")
2523 (license license:bsd-3)))
2524
2525 (define-public ghc-constraints
2526 (package
2527 (name "ghc-constraints")
2528 (version "0.10.1")
2529 (source
2530 (origin
2531 (method url-fetch)
2532 (uri (string-append
2533 "https://hackage.haskell.org/package/constraints/constraints-"
2534 version ".tar.gz"))
2535 (sha256
2536 (base32
2537 "1xy3vv78jxc17hm0z7qqspxjwv7l2jbcbj670yrl2f053qkfr02q"))))
2538 (build-system haskell-build-system)
2539 (inputs
2540 `(("ghc-hashable" ,ghc-hashable)
2541 ("ghc-semigroups" ,ghc-semigroups)
2542 ("ghc-transformers-compat" ,ghc-transformers-compat)))
2543 (native-inputs
2544 `(("ghc-hspec" ,ghc-hspec)
2545 ("hspec-discover" ,hspec-discover)))
2546 (home-page "https://github.com/ekmett/constraints/")
2547 (synopsis "Constraint manipulation")
2548 (description
2549 "GHC 7.4 gave us the ability to talk about @code{ConstraintKinds}.
2550 They stopped crashing the compiler in GHC 7.6. This package provides
2551 a vocabulary for working with them.")
2552 (license license:bsd-3)))
2553
2554 (define-public ghc-contravariant
2555 (package
2556 (name "ghc-contravariant")
2557 (version "1.5.2")
2558 (source
2559 (origin
2560 (method url-fetch)
2561 (uri (string-append
2562 "https://hackage.haskell.org/package/contravariant/contravariant-"
2563 version
2564 ".tar.gz"))
2565 (sha256
2566 (base32
2567 "0366gl62wwwdbl9i6kqy60asf60876k55v91la6bmhnwwcj2q9n4"))))
2568 (build-system haskell-build-system)
2569 (inputs
2570 `(("ghc-void" ,ghc-void)
2571 ("ghc-transformers-compat" ,ghc-transformers-compat)
2572 ("ghc-statevar" ,ghc-statevar)
2573 ("ghc-semigroups" ,ghc-semigroups)))
2574 (home-page
2575 "https://github.com/ekmett/contravariant/")
2576 (synopsis "Contravariant functors")
2577 (description "Contravariant functors for Haskell.")
2578 (license license:bsd-3)))
2579
2580 (define-public ghc-contravariant-extras
2581 (package
2582 (name "ghc-contravariant-extras")
2583 (version "0.3.4")
2584 (source
2585 (origin
2586 (method url-fetch)
2587 (uri (string-append "https://hackage.haskell.org/package/"
2588 "contravariant-extras-" version "/"
2589 "contravariant-extras-" version ".tar.gz"))
2590 (sha256
2591 (base32
2592 "0gg62ccl94kvh7mnvdq09pifqxjx2kgs189si90nmg44bafj7a9n"))))
2593 (build-system haskell-build-system)
2594 (arguments
2595 `(#:cabal-revision
2596 ("1" "1h2955ahga6i4fn7k8v66l03v77p6fhsac6ck8gpabkc08ij60wp")))
2597 (inputs
2598 `(("ghc-tuple-th" ,ghc-tuple-th)
2599 ("ghc-contravariant" ,ghc-contravariant)
2600 ("ghc-base-prelude" ,ghc-base-prelude)
2601 ("ghc-semigroups" ,ghc-semigroups)))
2602 (home-page "https://github.com/nikita-volkov/contravariant-extras")
2603 (synopsis "Extras for the @code{ghc-contravariant} Haskell package")
2604 (description "This Haskell package provides extras for the
2605 @code{ghc-contravariant} package.")
2606 (license license:expat)))
2607
2608 (define-public ghc-convertible
2609 (package
2610 (name "ghc-convertible")
2611 (version "1.1.1.0")
2612 (source
2613 (origin
2614 (method url-fetch)
2615 (uri (string-append "https://hackage.haskell.org/package/convertible/"
2616 "convertible-" version ".tar.gz"))
2617 (sha256
2618 (base32
2619 "0v18ap1mccnndgxmbfgyjdicg8jlss01bd5fq8a576dr0h4sgyg9"))))
2620 (build-system haskell-build-system)
2621 (inputs
2622 `(("ghc-old-time" ,ghc-old-time)
2623 ("ghc-old-locale" ,ghc-old-locale)))
2624 (home-page "https://hackage.haskell.org/package/convertible")
2625 (synopsis "Typeclasses and instances for converting between types")
2626 (description
2627 "This package provides a typeclass with a single function that is
2628 designed to help convert between different types: numeric values, dates and
2629 times, and the like. The conversions perform bounds checking and return a
2630 pure @code{Either} value. This means that you need not remember which specific
2631 function performs the conversion you desire.")
2632 (license license:bsd-3)))
2633
2634 (define-public ghc-data-accessor
2635 (package
2636 (name "ghc-data-accessor")
2637 (version "0.2.2.8")
2638 (source
2639 (origin
2640 (method url-fetch)
2641 (uri (string-append
2642 "mirror://hackage/package/data-accessor/data-accessor-"
2643 version ".tar.gz"))
2644 (sha256
2645 (base32 "1fq4gygxbz0bd0mzgvc1sl3m4gjnsv8nbgpnmdpa29zj5lb9agxc"))))
2646 (build-system haskell-build-system)
2647 (home-page "https://wiki.haskell.org/Record_access")
2648 (synopsis
2649 "Haskell utilities for accessing and manipulating fields of records")
2650 (description "This package provides Haskell modules for accessing and
2651 manipulating fields of records.")
2652 (license license:bsd-3)))
2653
2654 (define-public ghc-data-accessor-transformers
2655 (package
2656 (name "ghc-data-accessor-transformers")
2657 (version "0.2.1.7")
2658 (source
2659 (origin
2660 (method url-fetch)
2661 (uri (string-append
2662 "mirror://hackage/package/data-accessor-transformers/"
2663 "data-accessor-transformers-" version ".tar.gz"))
2664 (sha256
2665 (base32 "0yp030vafbpddl27m606aibbbr5ar5j5bsv4bksscz3cq4yq5j10"))))
2666 (build-system haskell-build-system)
2667 (inputs `(("ghc-data-accessor" ,ghc-data-accessor)))
2668 (home-page "https://wiki.haskell.org/Record_access")
2669 (synopsis "Use Accessor to access state in transformers State monad")
2670 (description "This package provides Haskell modules to allow use of
2671 Accessor to access state in transformers State monad.")
2672 (license license:bsd-3)))
2673
2674 (define-public ghc-data-default
2675 (package
2676 (name "ghc-data-default")
2677 (version "0.7.1.1")
2678 (source
2679 (origin
2680 (method url-fetch)
2681 (uri (string-append
2682 "https://hackage.haskell.org/package/data-default/data-default-"
2683 version
2684 ".tar.gz"))
2685 (sha256
2686 (base32 "04d5n8ybmcxba9qb6h389w9zfq1lvj81b82jh6maqp6pkhkmvydh"))))
2687 (build-system haskell-build-system)
2688 (inputs
2689 `(("ghc-data-default-class"
2690 ,ghc-data-default-class)
2691 ("ghc-data-default-instances-base"
2692 ,ghc-data-default-instances-base)
2693 ("ghc-data-default-instances-containers"
2694 ,ghc-data-default-instances-containers)
2695 ("ghc-data-default-instances-dlist"
2696 ,ghc-data-default-instances-dlist)
2697 ("ghc-data-default-instances-old-locale"
2698 ,ghc-data-default-instances-old-locale)))
2699 (home-page "https://hackage.haskell.org/package/data-default")
2700 (synopsis "Types with default values")
2701 (description
2702 "This package defines a class for types with a default value, and
2703 provides instances for types from the base, containers, dlist and old-locale
2704 packages.")
2705 (license license:bsd-3)))
2706
2707 (define-public ghc-data-default-class
2708 (package
2709 (name "ghc-data-default-class")
2710 (version "0.1.2.0")
2711 (source
2712 (origin
2713 (method url-fetch)
2714 (uri (string-append
2715 "https://hackage.haskell.org/package/data-default-class/"
2716 "data-default-class-" version ".tar.gz"))
2717 (sha256
2718 (base32 "0miyjz8d4jyvqf2vp60lyfbnflx6cj2k8apmm9ly1hq0y0iv80ag"))))
2719 (build-system haskell-build-system)
2720 (home-page "https://hackage.haskell.org/package/data-default-class")
2721 (synopsis "Types with default values")
2722 (description
2723 "This package defines a class for types with default values.")
2724 (license license:bsd-3)))
2725
2726 (define-public ghc-data-default-instances-base
2727 (package
2728 (name "ghc-data-default-instances-base")
2729 (version "0.1.0.1")
2730 (source
2731 (origin
2732 (method url-fetch)
2733 (uri (string-append
2734 "https://hackage.haskell.org/package/"
2735 "data-default-instances-base/"
2736 "data-default-instances-base-" version ".tar.gz"))
2737 (sha256
2738 (base32 "0ym1sw3ssdzzifxxhh76qlv8kkmb2iclc158incv1dklyr9y8kw4"))))
2739 (build-system haskell-build-system)
2740 (inputs
2741 `(("ghc-data-default-class" ,ghc-data-default-class)))
2742 (home-page "https://hackage.haskell.org/package/data-default-instances-base")
2743 (synopsis "Default instances for types in base")
2744 (description
2745 "This package provides default instances for types from the base
2746 package.")
2747 (license license:bsd-3)))
2748
2749 (define-public ghc-data-default-instances-containers
2750 (package
2751 (name "ghc-data-default-instances-containers")
2752 (version "0.0.1")
2753 (source
2754 (origin
2755 (method url-fetch)
2756 (uri (string-append
2757 "https://hackage.haskell.org/package/"
2758 "data-default-instances-containers/"
2759 "data-default-instances-containers-" version ".tar.gz"))
2760 (sha256
2761 (base32 "06h8xka031w752a7cjlzghvr8adqbl95xj9z5zc1b62w02phfpm5"))))
2762 (build-system haskell-build-system)
2763 (inputs
2764 `(("ghc-data-default-class" ,ghc-data-default-class)))
2765 (home-page "https://hackage.haskell.org/package/data-default-instances-containers")
2766 (synopsis "Default instances for types in containers")
2767 (description "Provides default instances for types from the containers
2768 package.")
2769 (license license:bsd-3)))
2770
2771 (define-public ghc-data-default-instances-dlist
2772 (package
2773 (name "ghc-data-default-instances-dlist")
2774 (version "0.0.1")
2775 (source
2776 (origin
2777 (method url-fetch)
2778 (uri (string-append
2779 "https://hackage.haskell.org/package/"
2780 "data-default-instances-dlist/"
2781 "data-default-instances-dlist-" version ".tar.gz"))
2782 (sha256
2783 (base32 "0narkdqiprhgayjiawrr4390h4rq4pl2pb6mvixbv2phrc8kfs3x"))))
2784 (build-system haskell-build-system)
2785 (inputs
2786 `(("ghc-data-default-class" ,ghc-data-default-class)
2787 ("ghc-dlist" ,ghc-dlist)))
2788 (home-page "https://hackage.haskell.org/package/data-default-instances-dlist")
2789 (synopsis "Default instances for types in dlist")
2790 (description "Provides default instances for types from the dlist
2791 package.")
2792 (license license:bsd-3)))
2793
2794 (define-public ghc-data-default-instances-old-locale
2795 (package
2796 (name "ghc-data-default-instances-old-locale")
2797 (version "0.0.1")
2798 (source
2799 (origin
2800 (method url-fetch)
2801 (uri (string-append
2802 "https://hackage.haskell.org/package/"
2803 "data-default-instances-old-locale/"
2804 "data-default-instances-old-locale-" version ".tar.gz"))
2805 (sha256
2806 (base32 "00h81i5phib741yj517p8mbnc48myvfj8axzsw44k34m48lv1lv0"))))
2807 (build-system haskell-build-system)
2808 (inputs
2809 `(("ghc-data-default-class" ,ghc-data-default-class)
2810 ("ghc-old-locale" ,ghc-old-locale)))
2811 (home-page
2812 "https://hackage.haskell.org/package/data-default-instances-old-locale")
2813 (synopsis "Default instances for types in old-locale")
2814 (description "Provides Default instances for types from the old-locale
2815 package.")
2816 (license license:bsd-3)))
2817
2818 (define-public ghc-data-fix
2819 (package
2820 (name "ghc-data-fix")
2821 (version "0.2.0")
2822 (source
2823 (origin
2824 (method url-fetch)
2825 (uri (string-append
2826 "mirror://hackage/package/data-fix/"
2827 "data-fix-" version ".tar.gz"))
2828 (sha256
2829 (base32 "14hk6hq5hdb3l5bhmzhw086jpzlvp9qbw9dzw30wlz5jbh2ihmvy"))))
2830 (build-system haskell-build-system)
2831 (home-page "https://github.com/spell-music/data-fix")
2832 (synopsis "Fixpoint data types")
2833 (description
2834 "Fixpoint types and recursion schemes. If you define your AST as
2835 fixpoint type, you get fold and unfold operations for free.
2836
2837 Thanks for contribution to: Matej Kollar, Herbert Valerio Riedel")
2838 (license license:bsd-3)))
2839
2840 (define-public ghc-data-hash
2841 (package
2842 (name "ghc-data-hash")
2843 (version "0.2.0.1")
2844 (source
2845 (origin
2846 (method url-fetch)
2847 (uri (string-append "https://hackage.haskell.org/package/data-hash"
2848 "/data-hash-" version ".tar.gz"))
2849 (sha256
2850 (base32 "1ghbqvc48gf9p8wiy71hdpaj7by3b9cw6wgwi3qqz8iw054xs5wi"))))
2851 (build-system haskell-build-system)
2852 (inputs
2853 `(("ghc-quickcheck" ,ghc-quickcheck)
2854 ("ghc-test-framework" ,ghc-test-framework)
2855 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2856 (home-page "https://hackage.haskell.org/package/data-hash")
2857 (synopsis "Combinators for building fast hashing functions")
2858 (description
2859 "This package provides combinators for building fast hashing functions.
2860 It includes hashing functions for all basic Haskell98 types.")
2861 (license license:bsd-3)))
2862
2863 (define-public ghc-data-ordlist
2864 (package
2865 (name "ghc-data-ordlist")
2866 (version "0.4.7.0")
2867 (source
2868 (origin
2869 (method url-fetch)
2870 (uri (string-append
2871 "https://hackage.haskell.org/package/data-ordlist/data-ordlist-"
2872 version ".tar.gz"))
2873 (sha256
2874 (base32
2875 "03a9ix1fcx08viwv2jg5ndw1qbkydyyrmjvqr9wasmcik9x1wv3g"))))
2876 (build-system haskell-build-system)
2877 (home-page "https://hackage.haskell.org/package/data-ordlist")
2878 (synopsis "Set and bag operations on ordered lists")
2879 (description
2880 "This module provides set and multiset operations on ordered lists.")
2881 (license license:bsd-3)))
2882
2883 (define-public ghc-dbus
2884 (package
2885 (name "ghc-dbus")
2886 (version "1.2.7")
2887 (source
2888 (origin
2889 (method url-fetch)
2890 (uri
2891 (string-append
2892 "mirror://hackage/package/dbus/dbus-"
2893 version ".tar.gz"))
2894 (sha256
2895 (base32
2896 "0ypkjlw9fn65g7p28kb3p82glk7qs7p7vyffccw7qxa3z57s12w5"))))
2897 (build-system haskell-build-system)
2898 (inputs
2899 `(("ghc-cereal" ,ghc-cereal)
2900 ("ghc-conduit" ,ghc-conduit)
2901 ("ghc-exceptions" ,ghc-exceptions)
2902 ("ghc-lens" ,ghc-lens)
2903 ("ghc-network" ,ghc-network)
2904 ("ghc-random" ,ghc-random)
2905 ("ghc-split" ,ghc-split)
2906 ("ghc-th-lift" ,ghc-th-lift)
2907 ("ghc-vector" ,ghc-vector)
2908 ("ghc-xml-conduit" ,ghc-xml-conduit)
2909 ("ghc-xml-types" ,ghc-xml-types)))
2910 (native-inputs
2911 `(("ghc-extra" ,ghc-extra)
2912 ("ghc-quickcheck" ,ghc-quickcheck)
2913 ("ghc-resourcet" ,ghc-resourcet)
2914 ("ghc-tasty" ,ghc-tasty)
2915 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
2916 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
2917 ;; FIXME - Some tests try to talk to network.
2918 (arguments `(#:tests? #f))
2919 (home-page "https://github.com/rblaze/haskell-dbus")
2920 (synopsis "Client library for the D-Bus IPC system")
2921 (description
2922 "D-Bus is a simple, message-based protocol for inter-process
2923 communication, which allows applications to interact with other parts
2924 of the machine and the user's session using remote procedure
2925 calls. D-Bus is a essential part of the modern Linux desktop, where
2926 it replaces earlier protocols such as CORBA and DCOP. This library
2927 is an implementation of the D-Bus protocol in Haskell. It can be used
2928 to add D-Bus support to Haskell applications, without the awkward
2929 interfaces common to foreign bindings.")
2930 (license license:asl2.0)))
2931
2932 (define-public ghc-deepseq-generics
2933 (package
2934 (name "ghc-deepseq-generics")
2935 (version "0.2.0.0")
2936 (source (origin
2937 (method url-fetch)
2938 (uri (string-append "https://hackage.haskell.org/package/"
2939 "deepseq-generics/deepseq-generics-"
2940 version ".tar.gz"))
2941 (sha256
2942 (base32
2943 "17bwghc15mc9pchfd1w46jh2p3wzc86aj6a537wqwxn08rayzcxh"))))
2944 (build-system haskell-build-system)
2945 (arguments
2946 `(#:cabal-revision
2947 ("4" "0928s2qnbqsjzrm94x88rvmvbigfmhcyp4m73gw6asinp2qg1kii")))
2948 (native-inputs
2949 `(("ghc-hunit" ,ghc-hunit)
2950 ("ghc-test-framework" ,ghc-test-framework)
2951 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
2952 (home-page "https://github.com/hvr/deepseq-generics")
2953 (synopsis "Generic RNF implementation")
2954 (description
2955 "This package provides a @code{GHC.Generics}-based
2956 @code{Control.DeepSeq.Generics.genericRnf} function which can be used for
2957 providing an @code{rnf} implementation.")
2958 (license license:bsd-3)))
2959
2960 (define-public ghc-dense-linear-algebra
2961 (package
2962 (name "ghc-dense-linear-algebra")
2963 (version "0.1.0.0")
2964 (source
2965 (origin
2966 (method url-fetch)
2967 (uri (string-append "https://hackage.haskell.org/package/"
2968 "dense-linear-algebra/dense-linear-algebra-"
2969 version ".tar.gz"))
2970 (sha256
2971 (base32
2972 "1m7jjxahqxj7ilic3r9806mwp5rnnsmn8vvipkmk40xl65wplxzp"))))
2973 (build-system haskell-build-system)
2974 (inputs
2975 `(("ghc-math-functions" ,ghc-math-functions)
2976 ("ghc-primitive" ,ghc-primitive)
2977 ("ghc-vector" ,ghc-vector)
2978 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
2979 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)
2980 ("ghc-vector-binary-instances" ,ghc-vector-binary-instances)))
2981 (native-inputs
2982 `(("ghc-hspec" ,ghc-hspec)
2983 ("ghc-quickcheck" ,ghc-quickcheck)))
2984 (home-page "https://hackage.haskell.org/package/dense-linear-algebra")
2985 (synopsis "Simple and incomplete implementation of linear algebra")
2986 (description "This library is simply a collection of linear-algebra
2987 related modules split from the statistics library.")
2988 (license license:bsd-2)))
2989
2990 (define-public ghc-descriptive
2991 (package
2992 (name "ghc-descriptive")
2993 (version "0.9.5")
2994 (source
2995 (origin
2996 (method url-fetch)
2997 (uri (string-append
2998 "https://hackage.haskell.org/package/descriptive/descriptive-"
2999 version
3000 ".tar.gz"))
3001 (sha256
3002 (base32
3003 "0y5693zm2kvqjilybbmrcv1g6n6x2p6zjgi0k0axjw1sdhh1g237"))))
3004 (build-system haskell-build-system)
3005 (inputs
3006 `(("ghc-aeson" ,ghc-aeson)
3007 ("ghc-bifunctors" ,ghc-bifunctors)
3008 ("ghc-scientific" ,ghc-scientific)
3009 ("ghc-vector" ,ghc-vector)))
3010 (native-inputs
3011 `(("ghc-hunit" ,ghc-hunit)
3012 ("ghc-hspec" ,ghc-hspec)))
3013 (home-page
3014 "https://github.com/chrisdone/descriptive")
3015 (synopsis
3016 "Self-describing consumers/parsers: forms, cmd-line args, JSON, etc.")
3017 (description
3018 "This package provides datatypes and functions for creating consumers
3019 and parsers with useful semantics.")
3020 (license license:bsd-3)))
3021
3022 (define-public ghc-diagrams-core
3023 (package
3024 (name "ghc-diagrams-core")
3025 (version "1.4.2")
3026 (source
3027 (origin
3028 (method url-fetch)
3029 (uri (string-append "https://hackage.haskell.org/package/"
3030 "diagrams-core/diagrams-core-" version ".tar.gz"))
3031 (sha256
3032 (base32
3033 "0qgb43vy23g4fxh3nmxfq6jyp34imqvkhgflaa6rz0iq6d60gl43"))))
3034 (build-system haskell-build-system)
3035 (inputs
3036 `(("ghc-unordered-containers" ,ghc-unordered-containers)
3037 ("ghc-semigroups" ,ghc-semigroups)
3038 ("ghc-monoid-extras" ,ghc-monoid-extras)
3039 ("ghc-dual-tree" ,ghc-dual-tree)
3040 ("ghc-lens" ,ghc-lens)
3041 ("ghc-linear" ,ghc-linear)
3042 ("ghc-adjunctions" ,ghc-adjunctions)
3043 ("ghc-distributive" ,ghc-distributive)
3044 ("ghc-profunctors" ,ghc-profunctors)))
3045 (home-page "https://archives.haskell.org/projects.haskell.org/diagrams/")
3046 (synopsis "Core libraries for diagrams embedded domain-specific language")
3047 (description "This package provides the core modules underlying
3048 diagrams, an embedded domain-specific language for compositional,
3049 declarative drawing.")
3050 (license license:bsd-3)))
3051
3052 (define-public ghc-diagrams-lib
3053 (package
3054 (name "ghc-diagrams-lib")
3055 (version "1.4.2.3")
3056 (source
3057 (origin
3058 (method url-fetch)
3059 (uri (string-append "https://hackage.haskell.org/package/"
3060 "diagrams-lib/diagrams-lib-" version ".tar.gz"))
3061 (sha256
3062 (base32
3063 "175yzi5kw4yd8ykdkpf64q85c7j3p89l90m3h6qcsx9ipv6av9r5"))))
3064 (build-system haskell-build-system)
3065 (inputs
3066 `(("ghc-semigroups" ,ghc-semigroups)
3067 ("ghc-monoid-extras" ,ghc-monoid-extras)
3068 ("ghc-dual-tree" ,ghc-dual-tree)
3069 ("ghc-diagrams-core" ,ghc-diagrams-core)
3070 ("ghc-diagrams-solve" ,ghc-diagrams-solve)
3071 ("ghc-active" ,ghc-active)
3072 ("ghc-colour" ,ghc-colour)
3073 ("ghc-data-default-class" ,ghc-data-default-class)
3074 ("ghc-fingertree" ,ghc-fingertree)
3075 ("ghc-intervals" ,ghc-intervals)
3076 ("ghc-lens" ,ghc-lens)
3077 ("ghc-tagged" ,ghc-tagged)
3078 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
3079 ("ghc-juicypixels" ,ghc-juicypixels)
3080 ("ghc-hashable" ,ghc-hashable)
3081 ("ghc-linear" ,ghc-linear)
3082 ("ghc-adjunctions" ,ghc-adjunctions)
3083 ("ghc-distributive" ,ghc-distributive)
3084 ("ghc-fsnotify" ,ghc-fsnotify)
3085 ("ghc-unordered-containers" ,ghc-unordered-containers)
3086 ("ghc-profunctors" ,ghc-profunctors)
3087 ("ghc-exceptions" ,ghc-exceptions)
3088 ("ghc-cereal" ,ghc-cereal)))
3089 (native-inputs
3090 `(("ghc-tasty" ,ghc-tasty)
3091 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
3092 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
3093 ("ghc-numeric-extras" ,ghc-numeric-extras)))
3094 (arguments
3095 `(#:cabal-revision
3096 ("3" "157y2qdsh0aczs81vzlm377mks976mpv6y3aqnchwsnr7apzp8ai")))
3097 (home-page "https://archives.haskell.org/projects.haskell.org/diagrams/")
3098 (synopsis "Embedded domain-specific language for declarative graphics")
3099 (description "Diagrams is a flexible, extensible embedded
3100 domain-specific language (EDSL) for creating graphics of many types.
3101 Graphics can be created in arbitrary vector spaces and rendered with
3102 multiple backends. This package provides a standard library of
3103 primitives and operations for creating diagrams.")
3104 (license license:bsd-3)))
3105
3106 (define-public ghc-diagrams-solve
3107 (package
3108 (name "ghc-diagrams-solve")
3109 (version "0.1.1")
3110 (source
3111 (origin
3112 (method url-fetch)
3113 (uri (string-append "https://hackage.haskell.org/package/"
3114 "diagrams-solve/diagrams-solve-"
3115 version ".tar.gz"))
3116 (sha256
3117 (base32
3118 "17agchqkmj14b17sw50kzxq4hm056g5d8yy0wnqn5w8h1d0my7x4"))))
3119 (build-system haskell-build-system)
3120 (native-inputs
3121 `(("ghc-tasty" ,ghc-tasty)
3122 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
3123 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
3124 (arguments
3125 `(#:cabal-revision
3126 ("5" "1yl8cs05fzqcz49p601am1ij66m9pa70yamhfxgcvya2pf8nimlf")))
3127 (home-page "https://archives.haskell.org/projects.haskell.org/diagrams/")
3128 (synopsis "Pure Haskell solver routines used by diagrams")
3129 (description "This library provides Pure Haskell solver routines for
3130 use by the
3131 @url{https://archives.haskell.org/projects.haskell.org/diagrams/,
3132 diagrams framework}. It currently includes routines for finding real
3133 roots of low-degree (@math{n < 5}) polynomials, and solving tridiagonal
3134 and cyclic tridiagonal linear systems.")
3135 (license license:bsd-3)))
3136
3137 (define-public ghc-diagrams-svg
3138 (package
3139 (name "ghc-diagrams-svg")
3140 (version "1.4.2")
3141 (source
3142 (origin
3143 (method url-fetch)
3144 (uri (string-append "https://hackage.haskell.org/package/"
3145 "diagrams-svg/diagrams-svg-" version ".tar.gz"))
3146 (sha256
3147 (base32
3148 "1lnyxx45yawqas7hmvvannwaa3ycf1l9g40lsl2m8sl2ja6vcmal"))))
3149 (build-system haskell-build-system)
3150 (inputs
3151 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
3152 ("ghc-colour" ,ghc-colour)
3153 ("ghc-diagrams-core" ,ghc-diagrams-core)
3154 ("ghc-diagrams-lib" ,ghc-diagrams-lib)
3155 ("ghc-monoid-extras" ,ghc-monoid-extras)
3156 ("ghc-svg-builder" ,ghc-svg-builder)
3157 ("ghc-juicypixels" ,ghc-juicypixels)
3158 ("ghc-split" ,ghc-split)
3159 ("ghc-lens" ,ghc-lens)
3160 ("ghc-hashable" ,ghc-hashable)
3161 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
3162 ("ghc-semigroups" ,ghc-semigroups)))
3163 (arguments
3164 `(#:cabal-revision
3165 ("2" "15sn85xaachw4cj56w61bjcwrbf4qmnkfl8mbgdapxi5k0y4f2qv")))
3166 (home-page "https://archives.haskell.org/projects.haskell.org/diagrams/")
3167 (synopsis "Scalable Vector Grpahics backend for the diagrams framework")
3168 (description "This package provides a modular backend for rendering
3169 diagrams created with the diagrams embedded domain-specific
3170 language (EDSL) to Scalable Vector Graphics (SVG) files.")
3171 (license license:bsd-3)))
3172
3173 (define-public ghc-dictionary-sharing
3174 (package
3175 (name "ghc-dictionary-sharing")
3176 (version "0.1.0.0")
3177 (source
3178 (origin
3179 (method url-fetch)
3180 (uri (string-append "https://hackage.haskell.org/package/"
3181 "dictionary-sharing/dictionary-sharing-"
3182 version ".tar.gz"))
3183 (sha256
3184 (base32
3185 "00aspv943qdqhlk39mbk00kb1dsa5r0caj8sslrn81fnsn252fwc"))))
3186 (build-system haskell-build-system)
3187 (arguments
3188 `(#:cabal-revision
3189 ("3" "1mn7jcc7h3b8f1pn9zigqp6mc2n0qb66lms5qnrx4zswdv5w9439")))
3190 (home-page "https://hackage.haskell.org/package/dictionary-sharing")
3191 (synopsis "Sharing/memoization of class members")
3192 (description "This library provides tools for ensuring that class
3193 members are shared.")
3194 (license license:bsd-3)))
3195
3196 (define-public ghc-diff
3197 (package
3198 (name "ghc-diff")
3199 (version "0.3.4")
3200 (source (origin
3201 (method url-fetch)
3202 (uri (string-append "https://hackage.haskell.org/package/"
3203 "Diff/Diff-" version ".tar.gz"))
3204 (patches (search-patches "ghc-diff-swap-cover-args.patch"))
3205 (sha256
3206 (base32
3207 "0bqcdvhxx8dmqc3793m6axg813wv9ldz2j37f1wygbbrbbndmdvp"))))
3208 (build-system haskell-build-system)
3209 (native-inputs
3210 `(("ghc-quickcheck" ,ghc-quickcheck)
3211 ("ghc-test-framework" ,ghc-test-framework)
3212 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3213 (home-page "https://hub.darcs.net/sterlingclover/Diff")
3214 (synopsis "O(ND) diff algorithm in Haskell")
3215 (description
3216 "This package provides an implementation of the standard diff algorithm,
3217 and utilities for pretty printing.")
3218 (license license:bsd-3)))
3219
3220 (define-public ghc-disk-free-space
3221 (package
3222 (name "ghc-disk-free-space")
3223 (version "0.1.0.1")
3224 (source
3225 (origin
3226 (method url-fetch)
3227 (uri (string-append "https://hackage.haskell.org/package/"
3228 "disk-free-space/disk-free-space-"
3229 version ".tar.gz"))
3230 (sha256
3231 (base32
3232 "07rqj8k1vh3cykq9yidpjxhgh1f7vgmjs6y1nv5kq2217ff4yypi"))))
3233 (build-system haskell-build-system)
3234 (home-page "https://github.com/redneb/disk-free-space")
3235 (synopsis "Retrieve information about disk space usage")
3236 (description "A cross-platform library for retrieving information about
3237 disk space usage.")
3238 (license license:bsd-3)))
3239
3240 (define-public ghc-distributive
3241 (package
3242 (name "ghc-distributive")
3243 (version "0.6.1")
3244 (source
3245 (origin
3246 (method url-fetch)
3247 (uri (string-append
3248 "https://hackage.haskell.org/package/distributive/distributive-"
3249 version
3250 ".tar.gz"))
3251 (sha256
3252 (base32
3253 "1wnayzzb4vk8rhh9gzhdpd9f64366k4vmbhximavmqqmp3cv2jbp"))))
3254 (build-system haskell-build-system)
3255 (inputs
3256 `(("ghc-tagged" ,ghc-tagged)
3257 ("ghc-base-orphans" ,ghc-base-orphans)
3258 ("ghc-transformers-compat" ,ghc-transformers-compat)
3259 ("ghc-semigroups" ,ghc-semigroups)
3260 ("ghc-generic-deriving" ,ghc-generic-deriving)))
3261 (native-inputs
3262 `(("cabal-doctest" ,cabal-doctest)
3263 ("ghc-doctest" ,ghc-doctest)
3264 ("ghc-hspec" ,ghc-hspec)
3265 ("hspec-discover" ,hspec-discover)))
3266 (home-page "https://github.com/ekmett/distributive/")
3267 (synopsis "Distributive functors for Haskell")
3268 (description "This package provides distributive functors for Haskell.
3269 Dual to @code{Traversable}.")
3270 (license license:bsd-3)))
3271
3272 (define-public ghc-dlist
3273 (package
3274 (name "ghc-dlist")
3275 (version "0.8.0.7")
3276 (source
3277 (origin
3278 (method url-fetch)
3279 (uri (string-append
3280 "https://hackage.haskell.org/package/dlist/dlist-"
3281 version
3282 ".tar.gz"))
3283 (sha256
3284 (base32 "0b5spkzvj2kx8pk86xz0djkxs13j7dryf5fl16dk4mlp1wh6mh53"))))
3285 (build-system haskell-build-system)
3286 (inputs
3287 `(("ghc-quickcheck" ,ghc-quickcheck)))
3288 (home-page "https://github.com/spl/dlist")
3289 (synopsis "Difference lists")
3290 (description
3291 "Difference lists are a list-like type supporting O(1) append. This is
3292 particularly useful for efficient logging and pretty printing (e.g. with the
3293 Writer monad), where list append quickly becomes too expensive.")
3294 (license license:bsd-3)))
3295
3296 (define-public ghc-doctemplates
3297 (package
3298 (name "ghc-doctemplates")
3299 (version "0.2.2.1")
3300 (source
3301 (origin
3302 (method url-fetch)
3303 (uri (string-append "https://hackage.haskell.org/package/"
3304 "doctemplates/doctemplates-"
3305 version ".tar.gz"))
3306 (sha256
3307 (base32
3308 "1gyckfg3kgvzhxw14i7iwrw0crygvsp86sy53bbr1yn7bxbgn33b"))))
3309 (build-system haskell-build-system)
3310 (inputs
3311 `(("ghc-aeson" ,ghc-aeson)
3312 ("ghc-blaze-markup" ,ghc-blaze-markup)
3313 ("ghc-blaze-html" ,ghc-blaze-html)
3314 ("ghc-vector" ,ghc-vector)
3315 ("ghc-unordered-containers" ,ghc-unordered-containers)
3316 ("ghc-scientific" ,ghc-scientific)))
3317 (native-inputs
3318 `(("ghc-hspec" ,ghc-hspec)))
3319 (home-page "https://github.com/jgm/doctemplates#readme")
3320 (synopsis "Pandoc-style document templates")
3321 (description
3322 "This package provides a simple text templating system used by pandoc.")
3323 (license license:bsd-3)))
3324
3325 (define-public ghc-doctest
3326 (package
3327 (name "ghc-doctest")
3328 (version "0.16.2")
3329 (source
3330 (origin
3331 (method url-fetch)
3332 (uri (string-append
3333 "https://hackage.haskell.org/package/doctest/doctest-"
3334 version
3335 ".tar.gz"))
3336 (sha256
3337 (base32
3338 "0lk4cjfzi5bx2snfzw1zi06li0gvgz3ckfh2kwa98l7nxfdl39ag"))))
3339 (build-system haskell-build-system)
3340 (arguments `(#:tests? #f)) ; FIXME: missing test framework
3341 (inputs
3342 `(("ghc-syb" ,ghc-syb)
3343 ("ghc-paths" ,ghc-paths)
3344 ("ghc-base-compat" ,ghc-base-compat)
3345 ("ghc-code-page" ,ghc-code-page)
3346 ("ghc-hunit" ,ghc-hunit)
3347 ("ghc-hspec" ,ghc-hspec)
3348 ("ghc-quickcheck" ,ghc-quickcheck)
3349 ("ghc-stringbuilder" ,ghc-stringbuilder)
3350 ("ghc-silently" ,ghc-silently)
3351 ("ghc-setenv" ,ghc-setenv)))
3352 (home-page
3353 "https://github.com/sol/doctest#readme")
3354 (synopsis "Test interactive Haskell examples")
3355 (description "The doctest program checks examples in source code comments.
3356 It is modeled after doctest for Python, see
3357 @uref{https://docs.python.org/library/doctest.html, the Doctest website}.")
3358 (license license:expat)))
3359
3360 (define-public ghc-dotgen
3361 (package
3362 (name "ghc-dotgen")
3363 (version "0.4.2")
3364 (source
3365 (origin
3366 (method url-fetch)
3367 (uri (string-append
3368 "mirror://hackage/package/dotgen/dotgen-"
3369 version
3370 ".tar.gz"))
3371 (sha256
3372 (base32
3373 "148q93qsmqgr5pzdwvpjqfd6bdm1pwzcp2rblfwswx2x8c5f43fg"))))
3374 (build-system haskell-build-system)
3375 (home-page "https://github.com/ku-fpg/dotgen")
3376 (synopsis
3377 "Simple interface for building .dot graph files")
3378 (description
3379 "This package provides a simple interface for building .dot graph
3380 files, for input into the dot and graphviz tools. It includes a
3381 monadic interface for building graphs.")
3382 (license license:bsd-3)))
3383
3384 (define-public ghc-double-conversion
3385 (package
3386 (name "ghc-double-conversion")
3387 (version "2.0.2.0")
3388 (source
3389 (origin
3390 (method url-fetch)
3391 (uri (string-append "https://hackage.haskell.org/package/"
3392 "double-conversion/double-conversion-"
3393 version ".tar.gz"))
3394 (sha256
3395 (base32
3396 "0sx2kc1gw72mjvd8vph8bbjw5whfxfv92rsdhjg1c0al75rf3ka4"))))
3397 (build-system haskell-build-system)
3398 (native-inputs
3399 `(("ghc-hunit" ,ghc-hunit)
3400 ("ghc-test-framework" ,ghc-test-framework)
3401 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3402 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3403 (home-page "https://github.com/bos/double-conversion")
3404 (synopsis "Fast conversion between double precision floating point and text")
3405 (description
3406 "This package provides a library that performs fast, accurate conversion
3407 between double precision floating point and text.")
3408 (license license:bsd-3)))
3409
3410 (define-public ghc-dual-tree
3411 (package
3412 (name "ghc-dual-tree")
3413 (version "0.2.2.1")
3414 (source
3415 (origin
3416 (method url-fetch)
3417 (uri (string-append "https://hackage.haskell.org/package/"
3418 "dual-tree/dual-tree-" version ".tar.gz"))
3419 (sha256
3420 (base32
3421 "17kdfnf0df0z5pkiifxrlmyd1xd7hjjaazd2kzyajl0gd00vbszx"))))
3422 (build-system haskell-build-system)
3423 (inputs
3424 `(("ghc-semigroups" ,ghc-semigroups)
3425 ("ghc-newtype-generics" ,ghc-newtype-generics)
3426 ("ghc-monoid-extras" ,ghc-monoid-extras)))
3427 (native-inputs
3428 `(("ghc-quickcheck" ,ghc-quickcheck)
3429 ("ghc-testing-feat" ,ghc-testing-feat)))
3430 (home-page "https://hackage.haskell.org/package/dual-tree")
3431 (synopsis "Rose trees with cached and accumulating monoidal annotations")
3432 (description "Rose (@math{n}-ary) trees with both upwards- (i.e.
3433 cached) and downwards-traveling (i.e. accumulating) monoidal
3434 annotations. This is used as the core data structure underlying the
3435 @url{https://archives.haskell.org/projects.haskell.org/diagrams/,
3436 diagrams framework}, but potentially has other applications as well.")
3437 (license license:bsd-3)))
3438
3439 (define-public ghc-easy-file
3440 (package
3441 (name "ghc-easy-file")
3442 (version "0.2.2")
3443 (source
3444 (origin
3445 (method url-fetch)
3446 (uri (string-append
3447 "https://hackage.haskell.org/package/easy-file/easy-file-"
3448 version
3449 ".tar.gz"))
3450 (sha256
3451 (base32
3452 "0zmlcz723051qpn8l8vi51c5rx1blwrw4094jcshkmj8p9r2xxaj"))))
3453 (build-system haskell-build-system)
3454 (home-page
3455 "https://github.com/kazu-yamamoto/easy-file")
3456 (synopsis "File handling library for Haskell")
3457 (description "This library provides file handling utilities for Haskell.")
3458 (license license:bsd-3)))
3459
3460 (define-public ghc-easyplot
3461 (package
3462 (name "ghc-easyplot")
3463 (version "1.0")
3464 (source
3465 (origin
3466 (method url-fetch)
3467 (uri (string-append
3468 "https://hackage.haskell.org/package/easyplot/easyplot-"
3469 version ".tar.gz"))
3470 (sha256
3471 (base32 "18kndgvdj2apjpfga6fp7m16y1gx8zrwp3c5vfj03sx4v6jvciqk"))))
3472 (build-system haskell-build-system)
3473 (propagated-inputs `(("gnuplot" ,gnuplot)))
3474 (arguments
3475 `(#:phases (modify-phases %standard-phases
3476 (add-after 'unpack 'fix-setup-suffix
3477 (lambda _ (rename-file "Setup.lhs" "Setup.hs") #t)))))
3478 (home-page "https://hub.darcs.net/scravy/easyplot")
3479 (synopsis "Haskell plotting library based on gnuplot")
3480 (description "This package provides a plotting library for
3481 Haskell, using gnuplot for rendering.")
3482 (license license:expat)))
3483
3484 (define-public ghc-echo
3485 (package
3486 (name "ghc-echo")
3487 (version "0.1.3")
3488 (source
3489 (origin
3490 (method url-fetch)
3491 (uri (string-append
3492 "https://hackage.haskell.org/package/echo/echo-"
3493 version ".tar.gz"))
3494 (sha256
3495 (base32
3496 "1vw5ykpwhr39wc0hhcgq3r8dh59zq6ib4zxbz1qd2wl21wqhfkvh"))))
3497 (build-system haskell-build-system)
3498 (arguments
3499 `(#:cabal-revision
3500 ("1" "0br8wfiybcw5hand4imiw0i5hacdmrax1dv8g95f35gazffbx42l")))
3501 (home-page "https://github.com/RyanGlScott/echo")
3502 (synopsis "Echo terminal input portably")
3503 (description "The @code{base} library exposes the @code{hGetEcho} and
3504 @code{hSetEcho} functions for querying and setting echo status, but
3505 unfortunately, neither function works with MinTTY consoles on Windows.
3506 This library provides an alternative interface which works with both
3507 MinTTY and other consoles.")
3508 (license license:bsd-3)))
3509
3510 (define-public ghc-edisonapi
3511 (package
3512 (name "ghc-edisonapi")
3513 (version "1.3.1")
3514 (source
3515 (origin
3516 (method url-fetch)
3517 (uri (string-append "https://hackage.haskell.org/package/EdisonAPI"
3518 "/EdisonAPI-" version ".tar.gz"))
3519 (sha256
3520 (base32 "0vmmlsj8ggbpwx6fkf5fvb6jp0zpx6iba6b28m80lllr2p8bi8wm"))))
3521 (build-system haskell-build-system)
3522 (home-page "http://rwd.rdockins.name/edison/home/")
3523 (synopsis "Library of efficient, purely-functional data structures (API)")
3524 (description
3525 "Edison is a library of purely functional data structures written by
3526 Chris Okasaki. It is named after Thomas Alva Edison and for the mnemonic
3527 value EDiSon (Efficient Data Structures). Edison provides several families of
3528 abstractions, each with multiple implementations. The main abstractions
3529 provided by Edison are: Sequences such as stacks, queues, and dequeues;
3530 Collections such as sets, bags and heaps; and Associative Collections such as
3531 finite maps and priority queues where the priority and element are distinct.")
3532 (license license:expat)))
3533
3534 (define-public ghc-edisoncore
3535 (package
3536 (name "ghc-edisoncore")
3537 (version "1.3.2.1")
3538 (source
3539 (origin
3540 (method url-fetch)
3541 (uri (string-append "https://hackage.haskell.org/package/EdisonCore"
3542 "/EdisonCore-" version ".tar.gz"))
3543 (sha256
3544 (base32 "0fgj5iwiv3v2gdgx7kjcr15dcs4x1kvmjspp3p99wyhh0x6h3ikk"))))
3545 (build-system haskell-build-system)
3546 (inputs
3547 `(("ghc-quickcheck" ,ghc-quickcheck)
3548 ("ghc-edisonapi" ,ghc-edisonapi)))
3549 (home-page "http://rwd.rdockins.name/edison/home/")
3550 (synopsis "Library of efficient, purely-functional data structures")
3551 (description
3552 "This package provides the core Edison data structure implementations,
3553 including multiple sequence, set, bag, and finite map concrete implementations
3554 with various performance characteristics.")
3555 (license license:expat)))
3556
3557 (define-public ghc-edit-distance
3558 (package
3559 (name "ghc-edit-distance")
3560 (version "0.2.2.1")
3561 (source
3562 (origin
3563 (method url-fetch)
3564 (uri (string-append "https://hackage.haskell.org/package/edit-distance"
3565 "/edit-distance-" version ".tar.gz"))
3566 (sha256
3567 (base32 "0jkca97zyv23yyilp3jydcrzxqhyk27swhzh82llvban5zp8b21y"))))
3568 (build-system haskell-build-system)
3569 (arguments
3570 `(#:phases
3571 (modify-phases %standard-phases
3572 (add-before 'configure 'update-constraints
3573 (lambda _
3574 (substitute* "edit-distance.cabal"
3575 (("QuickCheck >= 2\\.4 && <2\\.9")
3576 "QuickCheck >= 2.4 && < 2.14")))))))
3577 (inputs
3578 `(("ghc-random" ,ghc-random)
3579 ("ghc-test-framework" ,ghc-test-framework)
3580 ("ghc-quickcheck" ,ghc-quickcheck)
3581 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3582 (home-page "https://github.com/phadej/edit-distance")
3583 (synopsis "Levenshtein and restricted Damerau-Levenshtein edit distances")
3584 (description
3585 "This package provides optimized functions to determine the edit
3586 distances for fuzzy matching, including Levenshtein and restricted
3587 Damerau-Levenshtein algorithms.")
3588 (license license:bsd-3)))
3589
3590 (define-public ghc-edit-distance-vector
3591 (package
3592 (name "ghc-edit-distance-vector")
3593 (version "1.0.0.4")
3594 (source
3595 (origin
3596 (method url-fetch)
3597 (uri (string-append "https://hackage.haskell.org/package/"
3598 "edit-distance-vector/edit-distance-vector-"
3599 version ".tar.gz"))
3600 (sha256
3601 (base32
3602 "07qgc8dyi9kkzkd3xcd78wdlljy0xwhz65b4r2qg2piidpcdvpxp"))))
3603 (build-system haskell-build-system)
3604 (inputs
3605 `(("ghc-vector" ,ghc-vector)))
3606 (native-inputs
3607 `(("ghc-quickcheck" ,ghc-quickcheck)
3608 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
3609 (home-page "https://github.com/thsutton/edit-distance-vector")
3610 (synopsis "Calculate edit distances and edit scripts between vectors")
3611 (description "This package provides implementation of the
3612 Wagner-Fischer dynamic programming algorithm to find the optimal edit
3613 script and cost between two sequences. The implementation in this
3614 package is specialised to sequences represented with @code{Data.Vector}
3615 but is otherwise agnostic to:
3616 @itemize
3617 @item The type of values in the vectors;
3618 @item The type representing edit operations; and
3619 @item The type representing the cost of operations.
3620 @end itemize")
3621 (license license:bsd-3)) )
3622
3623 (define-public ghc-either
3624 (package
3625 (name "ghc-either")
3626 (version "5.0.1.1")
3627 (source
3628 (origin
3629 (method url-fetch)
3630 (uri (string-append "https://hackage.haskell.org/package/"
3631 "either-" version "/"
3632 "either-" version ".tar.gz"))
3633 (sha256
3634 (base32
3635 "09yzki8ss56xhy9vggdw1rls86b2kf55hjl5wi0vbv02d8fxahq2"))))
3636 (build-system haskell-build-system)
3637 (inputs `(("ghc-bifunctors" ,ghc-bifunctors)
3638 ("ghc-exceptions" ,ghc-exceptions)
3639 ("ghc-free" ,ghc-free)
3640 ("ghc-monad-control" ,ghc-monad-control)
3641 ("ghc-manodrandom" ,ghc-monadrandom)
3642 ("ghc-mmorph" ,ghc-mmorph)
3643 ("ghc-profunctors" ,ghc-profunctors)
3644 ("ghc-semigroups" ,ghc-semigroups)
3645 ("ghc-semigroupoids" ,ghc-semigroupoids)
3646 ("ghc-transformers-base" ,ghc-transformers-base)))
3647 (native-inputs
3648 `(("ghc-quickcheck" ,ghc-quickcheck)
3649 ("ghc-test-framework" ,ghc-test-framework)
3650 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3651 (home-page "https://github.com/ekmett/either")
3652 (synopsis "Provides an either monad transformer for Haskell")
3653 (description "This Haskell package provides an either monad transformer.")
3654 (license license:bsd-3)))
3655
3656 (define-public ghc-email-validate
3657 (package
3658 (name "ghc-email-validate")
3659 (version "2.3.2.12")
3660 (source
3661 (origin
3662 (method url-fetch)
3663 (uri (string-append
3664 "https://hackage.haskell.org/package/"
3665 "email-validate/email-validate-"
3666 version
3667 ".tar.gz"))
3668 (sha256
3669 (base32
3670 "0ar3cfjia3x11chb7w60mi7hp5djanms883ddk875l6lifr2lyqf"))))
3671 (build-system haskell-build-system)
3672 (inputs
3673 `(("ghc-attoparsec" ,ghc-attoparsec)
3674 ("ghc-hspec" ,ghc-hspec)
3675 ("ghc-quickcheck" ,ghc-quickcheck)
3676 ("ghc-doctest" ,ghc-doctest)))
3677 (home-page
3678 "https://github.com/Porges/email-validate-hs")
3679 (synopsis "Email address validator for Haskell")
3680 (description
3681 "This Haskell package provides a validator that can validate an email
3682 address string against RFC 5322.")
3683 (license license:bsd-3)))
3684
3685 (define-public ghc-enclosed-exceptions
3686 (package
3687 (name "ghc-enclosed-exceptions")
3688 (version "1.0.3")
3689 (source (origin
3690 (method url-fetch)
3691 (uri (string-append "https://hackage.haskell.org/package/"
3692 "enclosed-exceptions/enclosed-exceptions-"
3693 version ".tar.gz"))
3694 (sha256
3695 (base32
3696 "1fghjj7nkiddrf03ks8brjpr5x25yi9fs7xg6adbi4mc2gqr6vdg"))))
3697 (build-system haskell-build-system)
3698 ;; FIXME: one of the tests blocks forever:
3699 ;; "thread blocked indefinitely in an MVar operation"
3700 (arguments '(#:tests? #f))
3701 (inputs
3702 `(("ghc-lifted-base" ,ghc-lifted-base)
3703 ("ghc-monad-control" ,ghc-monad-control)
3704 ("ghc-async" ,ghc-async)
3705 ("ghc-transformers-base" ,ghc-transformers-base)))
3706 (native-inputs
3707 `(("ghc-hspec" ,ghc-hspec)
3708 ("ghc-quickcheck" ,ghc-quickcheck)))
3709 (home-page "https://github.com/jcristovao/enclosed-exceptions")
3710 (synopsis "Catch all exceptions from within an enclosed computation")
3711 (description
3712 "This library implements a technique to catch all exceptions raised
3713 within an enclosed computation, while remaining responsive to (external)
3714 asynchronous exceptions.")
3715 (license license:expat)))
3716
3717 (define-public ghc-equivalence
3718 (package
3719 (name "ghc-equivalence")
3720 (version "0.3.5")
3721 (source
3722 (origin
3723 (method url-fetch)
3724 (uri (string-append "https://hackage.haskell.org/package/equivalence"
3725 "/equivalence-" version ".tar.gz"))
3726 (sha256
3727 (base32 "167njzd1cf32aa7br90rjafrxy6hw3fxkk8awifqbxjrcwm5maqp"))))
3728 (build-system haskell-build-system)
3729 (inputs
3730 `(("ghc-stmonadtrans" ,ghc-stmonadtrans)
3731 ("ghc-transformers-compat" ,ghc-transformers-compat)
3732 ("ghc-fail" ,ghc-fail)
3733 ("ghc-quickcheck" ,ghc-quickcheck)))
3734 (home-page "https://github.com/pa-ba/equivalence")
3735 (synopsis "Maintaining an equivalence relation implemented as union-find")
3736 (description
3737 "This is an implementation of Tarjan's Union-Find algorithm (Robert E.@:
3738 Tarjan. \"Efficiency of a Good But Not Linear Set Union Algorithm\",JACM
3739 22(2), 1975) in order to maintain an equivalence relation. This
3740 implementation is a port of the @code{union-find} package using the @code{ST}
3741 monad transformer (instead of the IO monad).")
3742 (license license:bsd-3)))
3743
3744 (define-public ghc-erf
3745 (package
3746 (name "ghc-erf")
3747 (version "2.0.0.0")
3748 (source
3749 (origin
3750 (method url-fetch)
3751 (uri (string-append "https://hackage.haskell.org/package/"
3752 "erf-" version "/"
3753 "erf-" version ".tar.gz"))
3754 (sha256
3755 (base32
3756 "0dxk2r32ajmmc05vaxcp0yw6vgv4lkbmh8jcshncn98xgsfbgw14"))))
3757 (build-system haskell-build-system)
3758 (home-page "https://hackage.haskell.org/package/erf")
3759 (synopsis "The error function, erf, and related functions for Haskell")
3760 (description "This Haskell library provides a type class for the
3761 error function, erf, and related functions. Instances for Float and
3762 Double.")
3763 (license license:bsd-3)))
3764
3765 (define-public ghc-errorcall-eq-instance
3766 (package
3767 (name "ghc-errorcall-eq-instance")
3768 (version "0.3.0")
3769 (source
3770 (origin
3771 (method url-fetch)
3772 (uri (string-append "https://hackage.haskell.org/package/"
3773 "errorcall-eq-instance/errorcall-eq-instance-"
3774 version ".tar.gz"))
3775 (sha256
3776 (base32
3777 "0hqw82m8bbrxy5vgdwb83bhzdx070ibqrm9rshyja7cb808ahijm"))))
3778 (build-system haskell-build-system)
3779 (inputs
3780 `(("ghc-base-orphans" ,ghc-base-orphans)))
3781 (native-inputs
3782 `(("ghc-quickcheck" ,ghc-quickcheck)
3783 ("ghc-hspec" ,ghc-hspec)
3784 ("hspec-discover" ,hspec-discover)))
3785 (home-page "https://hackage.haskell.org/package/errorcall-eq-instance")
3786 (synopsis "Orphan Eq instance for ErrorCall")
3787 (description
3788 "Prior to @code{base-4.7.0.0} there was no @code{Eq} instance for @code{ErrorCall}.
3789 This package provides an orphan instance.")
3790 (license license:expat)))
3791
3792 (define-public ghc-errors
3793 (package
3794 (name "ghc-errors")
3795 (version "2.3.0")
3796 (source
3797 (origin
3798 (method url-fetch)
3799 (uri (string-append "https://hackage.haskell.org/package/"
3800 "errors-" version "/"
3801 "errors-" version ".tar.gz"))
3802 (sha256
3803 (base32
3804 "0x8znwn31qcx6kqx99wp7bc86kckfb39ncz3zxvj1s07kxlfawk7"))))
3805 (build-system haskell-build-system)
3806 (inputs
3807 `(("ghc-exceptions" ,ghc-exceptions)
3808 ("ghc-transformers-compat" ,ghc-transformers-compat)
3809 ("ghc-unexceptionalio" ,ghc-unexceptionalio)
3810 ("ghc-safe" ,ghc-safe)))
3811 (home-page "https://github.com/gabriel439/haskell-errors-library")
3812 (synopsis "Error handling library for Haskell")
3813 (description "This library encourages an error-handling style that
3814 directly uses the type system, rather than out-of-band exceptions.")
3815 (license license:bsd-3)))
3816
3817 (define-public ghc-esqueleto
3818 (package
3819 (name "ghc-esqueleto")
3820 (version "3.3.1.1")
3821 (source
3822 (origin
3823 (method url-fetch)
3824 (uri (string-append "https://hackage.haskell.org/package/"
3825 "esqueleto/esqueleto-" version ".tar.gz"))
3826 (sha256
3827 (base32
3828 "1qi28ma8j5kfygjxnixlazxsyrkdqv8ljz3icwqi5dlscsnj6v3v"))))
3829 (build-system haskell-build-system)
3830 (arguments
3831 `(#:haddock? #f ; Haddock reports an internal error.
3832 #:phases
3833 (modify-phases %standard-phases
3834 ;; This package normally runs tests for the MySQL, PostgreSQL, and
3835 ;; SQLite backends. Since we only have Haskell packages for
3836 ;; SQLite, we remove the other two test suites. FIXME: Add the
3837 ;; other backends and run all three test suites.
3838 (add-before 'configure 'remove-non-sqlite-test-suites
3839 (lambda _
3840 (use-modules (ice-9 rdelim))
3841 (with-atomic-file-replacement "esqueleto.cabal"
3842 (lambda (in out)
3843 (let loop ((line (read-line in 'concat)) (deleting? #f))
3844 (cond
3845 ((eof-object? line) #t)
3846 ((string-every char-set:whitespace line)
3847 (unless deleting? (display line out))
3848 (loop (read-line in 'concat) #f))
3849 ((member line '("test-suite mysql\n"
3850 "test-suite postgresql\n"))
3851 (loop (read-line in 'concat) #t))
3852 (else
3853 (unless deleting? (display line out))
3854 (loop (read-line in 'concat) deleting?)))))))))))
3855 (inputs
3856 `(("ghc-blaze-html" ,ghc-blaze-html)
3857 ("ghc-conduit" ,ghc-conduit)
3858 ("ghc-monad-logger" ,ghc-monad-logger)
3859 ("ghc-persistent" ,ghc-persistent)
3860 ("ghc-resourcet" ,ghc-resourcet)
3861 ("ghc-tagged" ,ghc-tagged)
3862 ("ghc-unliftio" ,ghc-unliftio)
3863 ("ghc-unordered-containers" ,ghc-unordered-containers)))
3864 (native-inputs
3865 `(("ghc-hspec" ,ghc-hspec)
3866 ("ghc-persistent-sqlite" ,ghc-persistent-sqlite)
3867 ("ghc-persistent-template" ,ghc-persistent-template)))
3868 (home-page "https://github.com/bitemyapp/esqueleto")
3869 (synopsis "Type-safe embedded domain specific language for SQL queries")
3870 (description "This library provides a type-safe embedded domain specific
3871 language (EDSL) for SQL queries that works with SQL backends as provided by
3872 @code{ghc-persistent}. Its language closely resembles SQL, so you don't have
3873 to learn new concepts, just new syntax, and it's fairly easy to predict the
3874 generated SQL and optimize it for your backend.")
3875 (license license:bsd-3)))
3876
3877 (define-public ghc-exactprint
3878 (package
3879 (name "ghc-exactprint")
3880 (version "0.6.1")
3881 (source
3882 (origin
3883 (method url-fetch)
3884 (uri (string-append
3885 "https://hackage.haskell.org/package/"
3886 "ghc-exactprint/ghc-exactprint-" version ".tar.gz"))
3887 (sha256
3888 (base32
3889 "12nqpqmi9c57a3hgpfy8q073zryz66ylmcvf29hyffpj7vmmnvhl"))))
3890 (build-system haskell-build-system)
3891 (inputs
3892 `(("ghc-paths" ,ghc-paths)
3893 ("ghc-syb" ,ghc-syb)
3894 ("ghc-free" ,ghc-free)))
3895 (native-inputs
3896 `(("ghc-hunit" ,ghc-hunit)
3897 ("ghc-diff" ,ghc-diff)
3898 ("ghc-silently" ,ghc-silently)
3899 ("ghc-filemanip" ,ghc-filemanip)))
3900 (home-page
3901 "https://hackage.haskell.org/package/ghc-exactprint")
3902 (synopsis "ExactPrint for GHC")
3903 (description
3904 "Using the API Annotations available from GHC 7.10.2, this library
3905 provides a means to round-trip any code that can be compiled by GHC, currently
3906 excluding @file{.lhs} files.")
3907 (license license:bsd-3)))
3908
3909 (define-public ghc-exceptions
3910 (package
3911 (name "ghc-exceptions")
3912 (version "0.10.3")
3913 (source
3914 (origin
3915 (method url-fetch)
3916 (uri (string-append
3917 "https://hackage.haskell.org/package/exceptions/exceptions-"
3918 version
3919 ".tar.gz"))
3920 (sha256
3921 (base32
3922 "1w25j4ys5s6v239vbqlbipm9fdwxl1j2ap2lzms7f7rgnik5ir24"))))
3923 (build-system haskell-build-system)
3924 (native-inputs
3925 `(("ghc-quickcheck" ,ghc-quickcheck)
3926 ("ghc-test-framework" ,ghc-test-framework)
3927 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3928 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3929 (inputs
3930 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
3931 (home-page "https://github.com/ekmett/exceptions/")
3932 (synopsis "Extensible optionally-pure exceptions")
3933 (description "This library provides extensible optionally-pure exceptions
3934 for Haskell.")
3935 (license license:bsd-3)))
3936
3937 (define-public ghc-executable-path
3938 (package
3939 (name "ghc-executable-path")
3940 (version "0.0.3.1")
3941 (source (origin
3942 (method url-fetch)
3943 (uri (string-append "https://hackage.haskell.org/package/"
3944 "executable-path/executable-path-"
3945 version ".tar.gz"))
3946 (sha256
3947 (base32
3948 "0vxwmnsvx13cawcyhbyljkds0l1vr996ijldycx7nj0asjv45iww"))))
3949 (build-system haskell-build-system)
3950 (home-page "https://hackage.haskell.org/package/executable-path")
3951 (synopsis "Find out the full path of the executable")
3952 (description
3953 "The documentation of @code{System.Environment.getProgName} says that
3954 \"However, this is hard-to-impossible to implement on some non-Unix OSes, so
3955 instead, for maximum portability, we just return the leafname of the program
3956 as invoked.\" This library tries to provide the missing path.")
3957 (license license:public-domain)))
3958
3959 (define-public ghc-extensible-exceptions
3960 (package
3961 (name "ghc-extensible-exceptions")
3962 (version "0.1.1.4")
3963 (source
3964 (origin
3965 (method url-fetch)
3966 (uri (string-append "https://hackage.haskell.org/package/"
3967 "extensible-exceptions/extensible-exceptions-"
3968 version ".tar.gz"))
3969 (sha256
3970 (base32 "1273nqws9ij1rp1bsq5jc7k2jxpqa0svawdbim05lf302y0firbc"))))
3971 (build-system haskell-build-system)
3972 (home-page "https://hackage.haskell.org/package/extensible-exceptions")
3973 (synopsis "Extensible exceptions for Haskell")
3974 (description
3975 "This package provides extensible exceptions for both new and old
3976 versions of GHC (i.e., < 6.10).")
3977 (license license:bsd-3)))
3978
3979 (define-public ghc-extra
3980 (package
3981 (name "ghc-extra")
3982 (version "1.6.21")
3983 (source
3984 (origin
3985 (method url-fetch)
3986 (uri (string-append
3987 "https://hackage.haskell.org/package/extra/extra-"
3988 version
3989 ".tar.gz"))
3990 (sha256
3991 (base32
3992 "1gjx98w4w61g043k6rzc8i34cbxpcigi8lb6i7pp1vwp8w8jm5vl"))))
3993 (build-system haskell-build-system)
3994 (inputs
3995 `(("ghc-clock" ,ghc-clock)
3996 ("ghc-semigroups" ,ghc-semigroups)
3997 ("ghc-quickcheck" ,ghc-quickcheck)
3998 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
3999 (home-page "https://github.com/ndmitchell/extra")
4000 (synopsis "Extra Haskell functions")
4001 (description "This library provides extra functions for the standard
4002 Haskell libraries. Most functions are simple additions, filling out missing
4003 functionality. A few functions are available in later versions of GHC, but
4004 this package makes them available back to GHC 7.2.")
4005 (license license:bsd-3)))
4006
4007 (define-public ghc-fail
4008 (package
4009 (name "ghc-fail")
4010 (version "4.9.0.0")
4011 (source
4012 (origin
4013 (method url-fetch)
4014 (uri (string-append "https://hackage.haskell.org/package/fail/fail-"
4015 version ".tar.gz"))
4016 (sha256
4017 (base32 "18nlj6xvnggy61gwbyrpmvbdkq928wv0wx2zcsljb52kbhddnp3d"))))
4018 (build-system haskell-build-system)
4019 (arguments `(#:haddock? #f)) ; Package contains no documentation.
4020 (home-page "https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail")
4021 (synopsis "Forward-compatible MonadFail class")
4022 (description
4023 "This package contains the @code{Control.Monad.Fail} module providing the
4024 @uref{https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail, MonadFail}
4025 class that became available in
4026 @uref{https://hackage.haskell.org/package/base-4.9.0.0, base-4.9.0.0} for
4027 older @code{base} package versions. This package turns into an empty package
4028 when used with GHC versions which already provide the
4029 @code{Control.Monad.Fail} module.")
4030 (license license:bsd-3)))
4031
4032 (define-public ghc-fast-logger
4033 (package
4034 (name "ghc-fast-logger")
4035 (version "2.4.17")
4036 (source
4037 (origin
4038 (method url-fetch)
4039 (uri (string-append
4040 "https://hackage.haskell.org/package/fast-logger/fast-logger-"
4041 version
4042 ".tar.gz"))
4043 (sha256
4044 (base32
4045 "02mxb1ckvx1s2r2m11l5i2l5rdl7232p0f61af6773haykjp0qxk"))))
4046 (build-system haskell-build-system)
4047 (inputs
4048 `(("ghc-auto-update" ,ghc-auto-update)
4049 ("ghc-easy-file" ,ghc-easy-file)
4050 ("ghc-unix-time" ,ghc-unix-time)
4051 ("ghc-unix-compat" ,ghc-unix-compat)))
4052 (native-inputs
4053 `(("hspec-discover" ,hspec-discover)
4054 ("ghc-hspec" ,ghc-hspec)))
4055 (home-page "https://hackage.haskell.org/package/fast-logger")
4056 (synopsis "Fast logging system")
4057 (description "This library provides a fast logging system for Haskell.")
4058 (license license:bsd-3)))
4059
4060 (define-public ghc-feed
4061 (package
4062 (name "ghc-feed")
4063 (version "1.2.0.1")
4064 (source
4065 (origin
4066 (method url-fetch)
4067 (uri (string-append "https://hackage.haskell.org/package/"
4068 "feed/feed-" version ".tar.gz"))
4069 (sha256
4070 (base32
4071 "004lwdng4slj6yl8mgscr3cgj0zzc8hzkf4450dby2l6cardg4w0"))))
4072 (build-system haskell-build-system)
4073 (inputs
4074 `(("ghc-base-compat" ,ghc-base-compat)
4075 ("ghc-old-locale" ,ghc-old-locale)
4076 ("ghc-old-time" ,ghc-old-time)
4077 ("ghc-safe" ,ghc-safe)
4078 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
4079 ("ghc-utf8-string" ,ghc-utf8-string)
4080 ("ghc-xml-conduit" ,ghc-xml-conduit)
4081 ("ghc-xml-types" ,ghc-xml-types)))
4082 (native-inputs
4083 `(("ghc-hunit" ,ghc-hunit)
4084 ("ghc-markdown-unlit" ,ghc-markdown-unlit)
4085 ("ghc-test-framework" ,ghc-test-framework)
4086 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
4087 (home-page "https://github.com/bergmark/feed")
4088 (synopsis "Haskell package for handling various syndication formats")
4089 (description "This Haskell package includes tools for generating and
4090 consuming feeds in both RSS (Really Simple Syndication) and Atom format.")
4091 (license license:bsd-3)))
4092
4093 (define-public ghc-fgl
4094 (package
4095 (name "ghc-fgl")
4096 (version "5.7.0.1")
4097 (outputs '("out" "doc"))
4098 (source
4099 (origin
4100 (method url-fetch)
4101 (uri (string-append
4102 "https://hackage.haskell.org/package/fgl/fgl-"
4103 version
4104 ".tar.gz"))
4105 (sha256
4106 (base32
4107 "04793yh778ck3kz1z2svnfdwwls2kisbnky4lzvf4zjfgpv7mkpz"))))
4108 (build-system haskell-build-system)
4109 (arguments
4110 `(#:phases
4111 (modify-phases %standard-phases
4112 (add-before 'configure 'update-constraints
4113 (lambda _
4114 (substitute* "fgl.cabal"
4115 (("QuickCheck >= 2\\.8 && < 2\\.13")
4116 "QuickCheck >= 2.8 && < 2.14")
4117 (("hspec >= 2\\.1 && < 2\\.7")
4118 "hspec >= 2.1 && < 2.8")))))))
4119 (inputs
4120 `(("ghc-hspec" ,ghc-hspec)
4121 ("ghc-quickcheck" ,ghc-quickcheck)))
4122 (home-page "https://web.engr.oregonstate.edu/~erwig/fgl/haskell")
4123 (synopsis
4124 "Martin Erwig's Functional Graph Library")
4125 (description "The functional graph library, FGL, is a collection of type
4126 and function definitions to address graph problems. The basis of the library
4127 is an inductive definition of graphs in the style of algebraic data types that
4128 encourages inductive, recursive definitions of graph algorithms.")
4129 (license license:bsd-3)))
4130
4131 (define-public ghc-fgl-arbitrary
4132 (package
4133 (name "ghc-fgl-arbitrary")
4134 (version "0.2.0.3")
4135 (source
4136 (origin
4137 (method url-fetch)
4138 (uri (string-append
4139 "https://hackage.haskell.org/package/fgl-arbitrary/fgl-arbitrary-"
4140 version ".tar.gz"))
4141 (sha256
4142 (base32
4143 "0ln1szgfy8fa78l3issq4fx3aqnnd54w3cb4wssrfi48vd5rkfjm"))))
4144 (build-system haskell-build-system)
4145 (arguments
4146 `(#:phases
4147 (modify-phases %standard-phases
4148 (add-before 'configure 'update-constraints
4149 (lambda _
4150 (substitute* "fgl-arbitrary.cabal"
4151 (("QuickCheck >= 2\\.3 && < 2\\.10")
4152 "QuickCheck >= 2.3 && < 2.14")
4153 (("hspec >= 2\\.1 && < 2\\.5")
4154 "hspec >= 2.1 && < 2.8")))))))
4155 (inputs
4156 `(("ghc-fgl" ,ghc-fgl)
4157 ("ghc-quickcheck" ,ghc-quickcheck)
4158 ("ghc-hspec" ,ghc-hspec)))
4159 (home-page "https://hackage.haskell.org/package/fgl-arbitrary")
4160 (synopsis "QuickCheck support for fgl")
4161 (description
4162 "Provides Arbitrary instances for fgl graphs to avoid adding a
4163 QuickCheck dependency for fgl whilst still making the instances
4164 available to others. Also available are non-fgl-specific functions
4165 for generating graph-like data structures.")
4166 (license license:bsd-3)))
4167
4168 (define-public ghc-file-embed
4169 (package
4170 (name "ghc-file-embed")
4171 (version "0.0.11")
4172 (source
4173 (origin
4174 (method url-fetch)
4175 (uri (string-append "https://hackage.haskell.org/package/file-embed/"
4176 "file-embed-" version ".tar.gz"))
4177 (sha256
4178 (base32
4179 "0l6dkwccbzzyx8rcav03lya2334dgi3vfwk96h7l93l0fc4x19gf"))))
4180 (build-system haskell-build-system)
4181 (home-page "https://github.com/snoyberg/file-embed")
4182 (synopsis "Use Template Haskell to embed file contents directly")
4183 (description
4184 "This package allows you to use Template Haskell to read a file or all
4185 the files in a directory, and turn them into @code{(path, bytestring)} pairs
4186 embedded in your Haskell code.")
4187 (license license:bsd-3)))
4188
4189 (define-public ghc-filemanip
4190 (package
4191 (name "ghc-filemanip")
4192 (version "0.3.6.3")
4193 (source (origin
4194 (method url-fetch)
4195 (uri (string-append "https://hackage.haskell.org/package/"
4196 "filemanip/filemanip-" version ".tar.gz"))
4197 (sha256
4198 (base32
4199 "0ilqr8jv41zxcj5qyicg29m8s30b9v70x6f9h2h2rw5ap8bxldl8"))))
4200 (build-system haskell-build-system)
4201 (inputs
4202 `(("ghc-unix-compat" ,ghc-unix-compat)))
4203 (home-page "https://github.com/bos/filemanip")
4204 (synopsis "File and directory manipulation for Haskell")
4205 (description
4206 "This package provides a Haskell library for working with files and
4207 directories. It includes code for pattern matching, finding files, modifying
4208 file contents, and more.")
4209 (license license:bsd-3)))
4210
4211 (define-public ghc-filepath-bytestring
4212 (package
4213 (name "ghc-filepath-bytestring")
4214 (version "1.4.2.1.1")
4215 (source
4216 (origin
4217 (method url-fetch)
4218 (uri (string-append
4219 "https://hackage.haskell.org/package/filepath-bytestring/"
4220 "filepath-bytestring-" version ".tar.gz"))
4221 (sha256
4222 (base32
4223 "06shdskjj391hb9295slm9gg2rbn5fdq5v6fg0mgn3yl5dv8q5dx"))))
4224 (build-system haskell-build-system)
4225 (native-inputs
4226 `(("ghc-quickcheck" ,ghc-quickcheck)))
4227 (home-page "https://hackage.haskell.org/package/filepath-bytestring")
4228 (synopsis "Library for manipulating RawFilePaths in a cross-platform way")
4229 (description "This package provides a drop-in replacement for the standard
4230 @code{filepath} library, operating on @code{RawFilePath} values rather than
4231 @code{FilePath} values to get the speed benefits of using @code{ByteStrings}.")
4232 (license license:bsd-3)))
4233
4234 (define-public ghc-findbin
4235 (package
4236 (name "ghc-findbin")
4237 (version "0.0.5")
4238 (source
4239 (origin
4240 (method url-fetch)
4241 (uri (string-append
4242 "https://hackage.haskell.org/package/FindBin/FindBin-"
4243 version ".tar.gz"))
4244 (sha256
4245 (base32
4246 "197xvn05yysmibm1p5wzxfa256lvpbknr5d1l2ws6g40w1kpk717"))))
4247 (build-system haskell-build-system)
4248 (home-page "https://github.com/audreyt/findbin")
4249 (synopsis "Get the absolute path of the running program")
4250 (description
4251 "This module locates the full directory of the running program, to allow
4252 the use of paths relative to it. FindBin supports invocation of Haskell
4253 programs via \"ghci\", via \"runhaskell/runghc\", as well as compiled as
4254 an executable.")
4255 (license license:bsd-3)))
4256
4257 (define-public ghc-fingertree
4258 (package
4259 (name "ghc-fingertree")
4260 (version "0.1.4.2")
4261 (source
4262 (origin
4263 (method url-fetch)
4264 (uri (string-append
4265 "https://hackage.haskell.org/package/fingertree/fingertree-"
4266 version ".tar.gz"))
4267 (sha256
4268 (base32
4269 "0zvandj8fysck7ygpn0dw5bhrhmj1s63i326nalxbfkh2ls4iacm"))))
4270 (build-system haskell-build-system)
4271 (native-inputs
4272 `(("ghc-hunit" ,ghc-hunit)
4273 ("ghc-quickcheck" ,ghc-quickcheck)
4274 ("ghc-test-framework" ,ghc-test-framework)
4275 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
4276 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
4277 (home-page "https://hackage.haskell.org/package/fingertree")
4278 (synopsis "Generic finger-tree structure")
4279 (description "This library provides finger trees, a general sequence
4280 representation with arbitrary annotations, for use as a base for
4281 implementations of various collection types. It includes examples, as
4282 described in section 4 of Ralf Hinze and Ross Paterson, \"Finger trees: a
4283 simple general-purpose data structure\".")
4284 (license license:bsd-3)))
4285
4286 (define-public ghc-fixed
4287 (package
4288 (name "ghc-fixed")
4289 (version "0.3")
4290 (source
4291 (origin
4292 (method url-fetch)
4293 (uri (string-append "https://hackage.haskell.org/package/fixed/fixed-"
4294 version ".tar.gz"))
4295 (sha256
4296 (base32
4297 "10l2sh179xarb774q92cff2gkb20rsrlilfwp1fk61rzmz9yn64j"))))
4298 (build-system haskell-build-system)
4299 (home-page "https://github.com/ekmett/fixed")
4300 (synopsis "Signed 15.16 precision fixed point arithmetic")
4301 (description
4302 "This package provides functions for signed 15.16 precision fixed point
4303 arithmetic.")
4304 (license license:bsd-3)))
4305
4306 (define-public ghc-fmlist
4307 (package
4308 (name "ghc-fmlist")
4309 (version "0.9.3")
4310 (source
4311 (origin
4312 (method url-fetch)
4313 (uri
4314 (string-append
4315 "https://hackage.haskell.org/package/fmlist/fmlist-"
4316 version ".tar.gz"))
4317 (sha256
4318 (base32
4319 "1w9nhm2zybdx4c1lalkajwqr8wcs731lfjld2r8gknd7y96x8pwf"))))
4320 (build-system haskell-build-system)
4321 (home-page "https://github.com/sjoerdvisscher/fmlist")
4322 (synopsis "FoldMap lists")
4323 (description "FoldMap lists are lists represented by their
4324 @code{foldMap} function. FoldMap lists have @math{O(1)} cons, snoc and
4325 append, just like DLists, but other operations might have favorable
4326 performance characteristics as well. These wild claims are still
4327 completely unverified though.")
4328 (license license:bsd-3)))
4329
4330 (define-public ghc-foldl
4331 (package
4332 (name "ghc-foldl")
4333 (version "1.4.5")
4334 (source
4335 (origin
4336 (method url-fetch)
4337 (uri (string-append "https://hackage.haskell.org/package/"
4338 "foldl-" version "/"
4339 "foldl-" version ".tar.gz"))
4340 (sha256
4341 (base32
4342 "19qjmzc7gaxfwgqbgy0kq4vhbxvh3qjnwsxnc7pzwws2if5bv80b"))))
4343 (build-system haskell-build-system)
4344 (inputs `(("ghc-mwc-randam" ,ghc-mwc-random)
4345 ("ghc-primitive" ,ghc-primitive)
4346 ("ghc-vector" ,ghc-vector)
4347 ("ghc-unordered-containers" ,ghc-unordered-containers)
4348 ("ghc-hashable" ,ghc-hashable)
4349 ("ghc-contravariant" ,ghc-contravariant)
4350 ("ghc-semigroups" ,ghc-semigroups)
4351 ("ghc-profunctors" ,ghc-profunctors)
4352 ("ghc-semigroupoids" ,ghc-semigroupoids)
4353 ("ghc-comonad" ,ghc-comonad)
4354 ("ghc-vector-builder" ,ghc-vector-builder)))
4355 (home-page "https://github.com/Gabriel439/Haskell-Foldl-Library")
4356 (synopsis "Composable, streaming, and efficient left folds for Haskell")
4357 (description "This Haskell library provides strict left folds that stream
4358 in constant memory, and you can combine folds using @code{Applicative} style
4359 to derive new folds. Derived folds still traverse the container just once
4360 and are often as efficient as hand-written folds.")
4361 (license license:bsd-3)))
4362
4363 (define-public ghc-foundation
4364 (package
4365 (name "ghc-foundation")
4366 (version "0.0.25")
4367 (source
4368 (origin
4369 (method url-fetch)
4370 (uri (string-append "https://hackage.haskell.org/package/"
4371 "foundation/foundation-" version ".tar.gz"))
4372 (sha256
4373 (base32
4374 "0q6kx57ygmznlpf8n499hid4x6mj3180paijx0a8dgi9hh7man61"))))
4375 (build-system haskell-build-system)
4376 (arguments
4377 `(#:phases
4378 (modify-phases %standard-phases
4379 ;; This test is broken. For details, see
4380 ;; https://github.com/haskell-foundation/foundation/issues/530
4381 (add-after 'unpack 'patch-tests
4382 (lambda _
4383 (substitute* "tests/Test/Foundation/Number.hs"
4384 ((", testDividible proxy") ""))
4385 #t)))))
4386 (inputs `(("ghc-basement" ,ghc-basement)))
4387 (home-page "https://github.com/haskell-foundation/foundation")
4388 (synopsis "Alternative prelude with batteries and no dependencies")
4389 (description
4390 "This package provides a custom prelude with no dependencies apart from
4391 the base package.
4392
4393 Foundation has the following goals:
4394
4395 @enumerate
4396 @item provide a base like sets of modules that provide a consistent set of
4397 features and bugfixes across multiple versions of GHC (unlike base).
4398 @item provide a better and more efficient prelude than base's prelude.
4399 @item be self-sufficient: no external dependencies apart from base;
4400 @item provide better data-types: packed unicode string by default, arrays;
4401 @item Numerical classes that better represent mathematical things (no more
4402 all-in-one @code{Num});
4403 @item I/O system with less lazy IO.
4404 @end enumerate\n")
4405 (license license:bsd-3)))
4406
4407 (define-public ghc-free
4408 (package
4409 (name "ghc-free")
4410 (version "5.1.2")
4411 (source
4412 (origin
4413 (method url-fetch)
4414 (uri (string-append
4415 "https://hackage.haskell.org/package/free/free-"
4416 version
4417 ".tar.gz"))
4418 (sha256
4419 (base32
4420 "0vlf3f2ckl3cr7z2zl8c9c8qkdlfgvmh04gxkp2fg0z9dz80nlyb"))))
4421 (build-system haskell-build-system)
4422 (inputs
4423 `(("ghc-prelude-extras" ,ghc-prelude-extras)
4424 ("ghc-profunctors" ,ghc-profunctors)
4425 ("ghc-exceptions" ,ghc-exceptions)
4426 ("ghc-bifunctors" ,ghc-bifunctors)
4427 ("ghc-comonad" ,ghc-comonad)
4428 ("ghc-distributive" ,ghc-distributive)
4429 ("ghc-semigroupoids" ,ghc-semigroupoids)
4430 ("ghc-semigroups" ,ghc-semigroups)
4431 ("ghc-transformers-base" ,ghc-transformers-base)
4432 ("ghc-transformers-compat" ,ghc-transformers-compat)))
4433 (home-page "https://github.com/ekmett/free/")
4434 (synopsis "Unrestricted monads for Haskell")
4435 (description "This library provides free monads, which are useful for many
4436 tree-like structures and domain specific languages. If @code{f} is a
4437 @code{Functor} then the free @code{Monad} on @code{f} is the type of trees
4438 whose nodes are labeled with the constructors of @code{f}. The word \"free\"
4439 is used in the sense of \"unrestricted\" rather than \"zero-cost\": @code{Free
4440 f} makes no constraining assumptions beyond those given by @code{f} and the
4441 definition of @code{Monad}.")
4442 (license license:bsd-3)))
4443
4444 (define-public ghc-fsnotify
4445 (package
4446 (name "ghc-fsnotify")
4447 (version "0.3.0.1")
4448 (source (origin
4449 (method url-fetch)
4450 (uri (string-append
4451 "https://hackage.haskell.org/package/fsnotify/"
4452 "fsnotify-" version ".tar.gz"))
4453 (sha256
4454 (base32
4455 "19bdbz9wb9jvln6yg6qm0hz0w84bypvkxf0wjhgrgd52f9gidlny"))))
4456 (build-system haskell-build-system)
4457 (inputs
4458 `(("ghc-async" ,ghc-async)
4459 ("ghc-unix-compat" ,ghc-unix-compat)
4460 ("ghc-hinotify" ,ghc-hinotify)
4461 ("ghc-tasty" ,ghc-tasty)
4462 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
4463 ("ghc-random" ,ghc-random)
4464 ("ghc-shelly" ,ghc-shelly)
4465 ("ghc-temporary" ,ghc-temporary)))
4466 (home-page "https://github.com/haskell-fswatch/hfsnotify")
4467 (synopsis "Cross platform library for file change notification.")
4468 (description "Cross platform library for file creation, modification, and
4469 deletion notification. This library builds upon existing libraries for platform
4470 specific Windows, Mac, and Linux file system event notification.")
4471 (license license:bsd-3)))
4472
4473 (define-public ghc-generic-deriving
4474 (package
4475 (name "ghc-generic-deriving")
4476 (version "1.12.4")
4477 (source
4478 (origin
4479 (method url-fetch)
4480 (uri (string-append
4481 "https://hackage.haskell.org/package/generic-deriving/generic-deriving-"
4482 version
4483 ".tar.gz"))
4484 (sha256
4485 (base32
4486 "0vdg9qdq35jl3m11a87wk8cq1y71qm4i1g1b2pxki0wk70yw20a4"))))
4487 (build-system haskell-build-system)
4488 (inputs
4489 `(("ghc-th-abstraction" ,ghc-th-abstraction)))
4490 (native-inputs
4491 `(("ghc-hspec" ,ghc-hspec)
4492 ("hspec-discover" ,hspec-discover)))
4493 (home-page "https://hackage.haskell.org/package/generic-deriving")
4494 (synopsis "Generalise the deriving mechanism to arbitrary classes")
4495 (description "This package provides functionality for generalising the
4496 deriving mechanism in Haskell to arbitrary classes.")
4497 (license license:bsd-3)))
4498
4499 (define-public ghc-generic-random
4500 (package
4501 (name "ghc-generic-random")
4502 (version "1.2.0.0")
4503 (source
4504 (origin
4505 (method url-fetch)
4506 (uri (string-append
4507 "https://hackage.haskell.org/package/generic-random/"
4508 "generic-random-" version ".tar.gz"))
4509 (sha256
4510 (base32 "130lmblycxnpqbsl7vf6a90zccibnvcb5zaclfajcn3by39007lv"))))
4511 (build-system haskell-build-system)
4512 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
4513 (native-inputs
4514 `(("ghc-inspection-testing" ,ghc-inspection-testing)))
4515 (arguments
4516 `(#:cabal-revision
4517 ("1" "1d0hx41r7yq2a86ydnfh2fv540ah8cz05l071s2z4wxcjw0ymyn4")))
4518 (home-page
4519 "https://github.com/lysxia/generic-random")
4520 (synopsis
4521 "Generic random generators for QuickCheck")
4522 (description
4523 "Derive instances of @code{Arbitrary} for QuickCheck, with various options
4524 to customize implementations.
4525
4526 Automating the arbitrary boilerplate also ensures that when a type changes to
4527 have more or fewer constructors, then the generator either fixes itself to
4528 generate that new case (when using the uniform distribution) or causes a
4529 compilation error so you remember to fix it (when using an explicit
4530 distribution).
4531
4532 This package also offers a simple (optional) strategy to ensure termination
4533 for recursive types: make @code{Test.QuickCheck.Gen}'s size parameter decrease
4534 at every recursive call; when it reaches zero, sample directly from a
4535 trivially terminating generator given explicitly (@code{genericArbitraryRec}
4536 and @code{withBaseCase}) or implicitly (@code{genericArbitrary'}).")
4537 (license license:expat)))
4538
4539 (define-public ghc-generic-random-1.3.0.1
4540 (package
4541 (inherit ghc-generic-random)
4542 (version "1.3.0.1")
4543 (source
4544 (origin
4545 (method url-fetch)
4546 (uri (string-append
4547 "https://hackage.haskell.org/package/generic-random/"
4548 "generic-random-" version ".tar.gz"))
4549 (sha256
4550 (base32 "0d9w7xcmsb31b95fr9d5jwbsajcl1yi4347dlbw4bybil2vjwd7k"))))
4551 (arguments '())))
4552
4553 (define-public ghc-generics-sop
4554 (package
4555 (name "ghc-generics-sop")
4556 (version "0.4.0.1")
4557 (source
4558 (origin
4559 (method url-fetch)
4560 (uri (string-append "https://hackage.haskell.org/package/"
4561 "generics-sop-" version "/"
4562 "generics-sop-" version ".tar.gz"))
4563 (sha256
4564 (base32
4565 "160knr2phnzh2gldfv954lz029jzc7y8kz5xpmbf4z3vb5ngm6fw"))))
4566 (build-system haskell-build-system)
4567 (inputs
4568 `(("ghc-sop-core" ,ghc-sop-core)
4569 ("ghc-transformers-compat" ,ghc-transformers-compat)))
4570 (home-page "https://github.com/well-typed/generics-sop")
4571 (synopsis "Generic Programming using True Sums of Products for Haskell")
4572 (description "This Haskell package supports the definition of generic
4573 functions. Datatypes are viewed in a uniform, structured way: the choice
4574 between constructors is represented using an n-ary sum, and the arguments of
4575 each constructor are represented using an n-ary product.")
4576 (license license:bsd-3)))
4577
4578 (define-public ghc-geniplate-mirror
4579 (package
4580 (name "ghc-geniplate-mirror")
4581 (version "0.7.6")
4582 (source
4583 (origin
4584 (method url-fetch)
4585 (uri (string-append "https://hackage.haskell.org/package"
4586 "/geniplate-mirror"
4587 "/geniplate-mirror-" version ".tar.gz"))
4588 (sha256
4589 (base32 "1y0m0bw5zpm1y1y6d9qmxj3swl8j8hlw1shxbr5awycf6k884ssb"))))
4590 (build-system haskell-build-system)
4591 (arguments
4592 `(#:cabal-revision
4593 ("2" "03fg4vfm1wgq4mylggawdx0bfvbbjmdn700sqx7v3hk1bx0kjfzh")))
4594 (home-page "https://github.com/danr/geniplate")
4595 (synopsis "Use Template Haskell to generate Uniplate-like functions")
4596 (description
4597 "Use Template Haskell to generate Uniplate-like functions. This is a
4598 maintained mirror of the @uref{https://hackage.haskell.org/package/geniplate,
4599 geniplate} package, written by Lennart Augustsson.")
4600 (license license:bsd-3)))
4601
4602 (define-public ghc-genvalidity
4603 (package
4604 (name "ghc-genvalidity")
4605 (version "0.8.0.0")
4606 (source
4607 (origin
4608 (method url-fetch)
4609 (uri (string-append
4610 "https://hackage.haskell.org/package/genvalidity/genvalidity-"
4611 version
4612 ".tar.gz"))
4613 (sha256
4614 (base32
4615 "0w38aq9hfyymidncgkrs6yvja7j573d9sap5qfg5rz910fhsij9a"))))
4616 (build-system haskell-build-system)
4617 (inputs
4618 `(("ghc-quickcheck" ,ghc-quickcheck)
4619 ("ghc-validity" ,ghc-validity)))
4620 (native-inputs
4621 `(("ghc-hspec" ,ghc-hspec)
4622 ("hspec-discover" ,hspec-discover)
4623 ("ghc-hspec-core" ,ghc-hspec-core)))
4624 (home-page
4625 "https://github.com/NorfairKing/validity")
4626 (synopsis
4627 "Testing utilities for the @code{validity} library")
4628 (description
4629 "This package provides testing utilities that are useful in conjunction
4630 with the @code{Validity} typeclass.")
4631 (license license:expat)))
4632
4633 (define-public ghc-genvalidity-property
4634 (package
4635 (name "ghc-genvalidity-property")
4636 (version "0.4.0.0")
4637 (source
4638 (origin
4639 (method url-fetch)
4640 (uri (string-append
4641 "https://hackage.haskell.org/package/"
4642 "genvalidity-property/genvalidity-property-"
4643 version
4644 ".tar.gz"))
4645 (sha256
4646 (base32
4647 "0zayycx62226w54rvkxwhvqhznsr33dk3ds55yyqrfqbnhvph1s9"))))
4648 (build-system haskell-build-system)
4649 (inputs
4650 `(("ghc-quickcheck" ,ghc-quickcheck)
4651 ("ghc-genvalidity" ,ghc-genvalidity)
4652 ("ghc-hspec" ,ghc-hspec)
4653 ("hspec-discover" ,hspec-discover)
4654 ("ghc-validity" ,ghc-validity)))
4655 (native-inputs `(("ghc-doctest" ,ghc-doctest)))
4656 (home-page
4657 "https://github.com/NorfairKing/validity")
4658 (synopsis
4659 "Standard properties for functions on @code{Validity} types")
4660 (description
4661 "This package supplements the @code{Validity} typeclass with standard
4662 properties for functions operating on them.")
4663 (license license:expat)))
4664
4665 (define-public ghc-getopt-generics
4666 (package
4667 (name "ghc-getopt-generics")
4668 (version "0.13.0.4")
4669 (source
4670 (origin
4671 (method url-fetch)
4672 (uri (string-append "https://hackage.haskell.org/package/"
4673 "getopt-generics/getopt-generics-"
4674 version ".tar.gz"))
4675 (sha256
4676 (base32
4677 "1rszkcn1rg38wf35538ljk5bbqjc57y9sb3a0al7qxm82gy8yigr"))))
4678 (build-system haskell-build-system)
4679 (inputs
4680 `(("ghc-base-compat" ,ghc-base-compat)
4681 ("ghc-base-orphans" ,ghc-base-orphans)
4682 ("ghc-generics-sop" ,ghc-generics-sop)
4683 ("ghc-tagged" ,ghc-tagged)))
4684 (native-inputs
4685 `(("ghc-quickcheck" ,ghc-quickcheck)
4686 ("ghc-hspec" ,ghc-hspec)
4687 ("ghc-safe" ,ghc-safe)
4688 ("ghc-silently" ,ghc-silently)
4689 ("hspec-discover" ,hspec-discover)))
4690 (home-page "https://github.com/soenkehahn/getopt-generics")
4691 (synopsis "Create command line interfaces with ease")
4692 (description "This library provides tools to create command line
4693 interfaces with ease.")
4694 (license license:bsd-3)))
4695
4696 (define-public ghc-gitrev
4697 (package
4698 (name "ghc-gitrev")
4699 (version "1.3.1")
4700 (source
4701 (origin
4702 (method url-fetch)
4703 (uri (string-append "https://hackage.haskell.org/package/gitrev/gitrev-"
4704 version ".tar.gz"))
4705 (sha256
4706 (base32 "0cl3lfm6k1h8fxp2vxa6ihfp4v8igkz9h35iwyq2frzm4kdn96d8"))))
4707 (build-system haskell-build-system)
4708 (inputs `(("ghc-base-compat" ,ghc-base-compat)))
4709 (home-page "https://github.com/acfoltzer/gitrev")
4710 (synopsis "Compile git revision info into Haskell projects")
4711 (description
4712 "This package provides some handy Template Haskell splices for including
4713 the current git hash and branch in the code of your project. This is useful
4714 for including in panic messages, @command{--version} output, or diagnostic
4715 info for more informative bug reports.")
4716 (license license:bsd-3)))
4717
4718 (define-public ghc-glob
4719 (package
4720 (name "ghc-glob")
4721 (version "0.10.0")
4722 (source
4723 (origin
4724 (method url-fetch)
4725 (uri (string-append "https://hackage.haskell.org/package/"
4726 "Glob-" version "/"
4727 "Glob-" version ".tar.gz"))
4728 (sha256
4729 (base32
4730 "0953f91f62ncna402vsrfzdcyxhdpjna3bgdw017kad0dfymacs7"))))
4731 (build-system haskell-build-system)
4732 (inputs
4733 `(("ghc-dlist" ,ghc-dlist)
4734 ("ghc-semigroups" ,ghc-semigroups)
4735 ("ghc-transformers-compat" ,ghc-transformers-compat)))
4736 (native-inputs
4737 `(("ghc-hunit" ,ghc-hunit)
4738 ("ghc-quickcheck" ,ghc-quickcheck)
4739 ("ghc-test-framework" ,ghc-test-framework)
4740 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
4741 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
4742 (home-page "http://iki.fi/matti.niemenmaa/glob/")
4743 (synopsis "Haskell library matching glob patterns against file paths")
4744 (description "This package provides a Haskell library for @dfn{globbing}:
4745 matching patterns against file paths.")
4746 (license license:bsd-3)))
4747
4748 (define-public ghc-gluraw
4749 (package
4750 (name "ghc-gluraw")
4751 (version "2.0.0.4")
4752 (source
4753 (origin
4754 (method url-fetch)
4755 (uri (string-append
4756 "https://hackage.haskell.org/package/GLURaw/GLURaw-"
4757 version
4758 ".tar.gz"))
4759 (sha256
4760 (base32
4761 "1i2xi35n5z0d372px9mh6cyhgg1m0cfaiy3fnspkf6kbn9fgsqxq"))))
4762 (build-system haskell-build-system)
4763 (inputs
4764 `(("ghc-openglraw" ,ghc-openglraw)))
4765 (home-page "https://wiki.haskell.org/Opengl")
4766 (synopsis "Raw Haskell bindings GLU")
4767 (description "GLURaw is a raw Haskell binding for the GLU 1.3 OpenGL
4768 utility library. It is basically a 1:1 mapping of GLU's C API, intended as a
4769 basis for a nicer interface.")
4770 (license license:bsd-3)))
4771
4772 (define-public ghc-glut
4773 (package
4774 (name "ghc-glut")
4775 (version "2.7.0.15")
4776 (source
4777 (origin
4778 (method url-fetch)
4779 (uri (string-append
4780 "https://hackage.haskell.org/package/GLUT/GLUT-"
4781 version
4782 ".tar.gz"))
4783 (sha256
4784 (base32
4785 "0271vnf6wllhxjwy0m348x90kv27aybxcbqkkglmd5w4cpwjg5g9"))))
4786 (build-system haskell-build-system)
4787 (inputs
4788 `(("ghc-statevar" ,ghc-statevar)
4789 ("ghc-opengl" ,ghc-opengl)
4790 ("ghc-openglraw" ,ghc-openglraw)
4791 ("freeglut" ,freeglut)))
4792 (home-page "https://wiki.haskell.org/Opengl")
4793 (synopsis "Haskell bindings for the OpenGL Utility Toolkit")
4794 (description "This library provides Haskell bindings for the OpenGL
4795 Utility Toolkit, a window system-independent toolkit for writing OpenGL
4796 programs.")
4797 (license license:bsd-3)))
4798
4799 (define-public ghc-gnuplot
4800 (package
4801 (name "ghc-gnuplot")
4802 (version "0.5.6")
4803 (source
4804 (origin
4805 (method url-fetch)
4806 (uri (string-append
4807 "mirror://hackage/package/gnuplot/gnuplot-"
4808 version ".tar.gz"))
4809 (sha256
4810 (base32 "1g6xgnlkh17avivn1rlq7l2nvs26dvrbx4rkfld0bf6kyqaqwrgp"))))
4811 (build-system haskell-build-system)
4812 (inputs
4813 `(("ghc-temporary" ,ghc-temporary)
4814 ("ghc-utility-ht" ,ghc-utility-ht)
4815 ("ghc-data-accessor-transformers" ,ghc-data-accessor-transformers)
4816 ("ghc-data-accessor" ,ghc-data-accessor)
4817 ("ghc-semigroups" ,ghc-semigroups)
4818 ("gnuplot" ,gnuplot)))
4819 (arguments
4820 `(#:phases
4821 (modify-phases %standard-phases
4822 (add-before 'configure 'fix-path-to-gnuplot
4823 (lambda* (#:key inputs #:allow-other-keys)
4824 (let ((gnuplot (assoc-ref inputs "gnuplot")))
4825 (substitute* "os/generic/Graphics/Gnuplot/Private/OS.hs"
4826 (("(gnuplotName = ).*$" all cmd)
4827 (string-append cmd "\"" gnuplot "/bin/gnuplot\"")))))))))
4828 (home-page "https://wiki.haskell.org/Gnuplot")
4829 (synopsis "2D and 3D plots using gnuplot")
4830 (description "This package provides a Haskell module for creating 2D and
4831 3D plots using gnuplot.")
4832 (license license:bsd-3)))
4833
4834 (define-public ghc-graphviz
4835 (package
4836 (name "ghc-graphviz")
4837 (version "2999.20.0.3")
4838 (source (origin
4839 (method url-fetch)
4840 (uri (string-append "https://hackage.haskell.org/package/"
4841 "graphviz/graphviz-" version ".tar.gz"))
4842 (sha256
4843 (base32
4844 "04k26zw61nfv1pkd00iaq89pgsaiym0sf4cbzkmm2k2fj5xa587g"))))
4845 (build-system haskell-build-system)
4846 (arguments
4847 `(#:phases
4848 (modify-phases %standard-phases
4849 (add-before 'configure 'update-constraints
4850 (lambda _
4851 (substitute* "graphviz.cabal"
4852 (("QuickCheck >= 2\\.3 && < 2\\.13")
4853 "QuickCheck >= 2.3 && < 2.14")
4854 (("hspec >= 2\\.1 && < 2\\.7")
4855 "hspec >= 2.1 && < 2.8")))))))
4856 (inputs
4857 `(("ghc-quickcheck" ,ghc-quickcheck)
4858 ("ghc-colour" ,ghc-colour)
4859 ("ghc-dlist" ,ghc-dlist)
4860 ("ghc-fgl" ,ghc-fgl)
4861 ("ghc-fgl-arbitrary" ,ghc-fgl-arbitrary)
4862 ("ghc-polyparse" ,ghc-polyparse)
4863 ("ghc-temporary" ,ghc-temporary)
4864 ("ghc-wl-pprint-text" ,ghc-wl-pprint-text)))
4865 (native-inputs
4866 `(("ghc-hspec" ,ghc-hspec)
4867 ("graphviz" ,graphviz)
4868 ("hspec-discover" ,hspec-discover)))
4869 (home-page "https://hackage.haskell.org/package/graphviz")
4870 (synopsis "Bindings to Graphviz for graph visualisation")
4871 (description
4872 "This library provides bindings for the Dot language used by
4873 the @uref{https://graphviz.org/, Graphviz} suite of programs for
4874 visualising graphs, as well as functions to call those programs.
4875 Main features of the graphviz library include:
4876
4877 @enumerate
4878 @item Almost complete coverage of all Graphviz attributes and syntax
4879 @item Support for specifying clusters
4880 @item The ability to use a custom node type
4881 @item Functions for running a Graphviz layout tool with all specified output types
4882 @item Generate and parse Dot code with two options: strict and liberal
4883 @item Functions to convert FGL graphs and other graph-like data structures
4884 @item Round-trip support for passing an FGL graph through Graphviz to augment node
4885 and edge labels with positional information, etc.
4886 @end enumerate\n")
4887 (license license:bsd-3)))
4888
4889 (define-public ghc-groups
4890 (package
4891 (name "ghc-groups")
4892 (version "0.4.1.0")
4893 (source
4894 (origin
4895 (method url-fetch)
4896 (uri (string-append "https://hackage.haskell.org/package/"
4897 "groups/groups-" version ".tar.gz"))
4898 (sha256
4899 (base32
4900 "0ggkygkyxw5ga4cza82bjvdraavl294k0h6b62d2px7z3nvqhifx"))))
4901 (build-system haskell-build-system)
4902 (home-page "https://hackage.haskell.org/package/groups")
4903 (synopsis "Haskell 98 groups")
4904 (description "This package provides Haskell 98 groups. A group is a
4905 monoid with invertibility.")
4906 (license license:bsd-3)))
4907
4908 (define-public ghc-gtk2hs-buildtools
4909 (package
4910 (name "ghc-gtk2hs-buildtools")
4911 (version "0.13.5.4")
4912 (source
4913 (origin
4914 (method url-fetch)
4915 (uri (string-append "https://hackage.haskell.org/package/"
4916 "gtk2hs-buildtools/gtk2hs-buildtools-"
4917 version ".tar.gz"))
4918 (sha256
4919 (base32
4920 "1flxsacxwmabzzalhn8558kmj95z01c0lmikrn56nxh7p62nxm25"))))
4921 (build-system haskell-build-system)
4922 (inputs
4923 `(("ghc-random" ,ghc-random)
4924 ("ghc-hashtables" ,ghc-hashtables)))
4925 (native-inputs
4926 `(("ghc-alex" ,ghc-alex)
4927 ("ghc-happy" ,ghc-happy)))
4928 (home-page "http://projects.haskell.org/gtk2hs/")
4929 (synopsis "Tools to build the Gtk2Hs suite of user interface libraries")
4930 (description
4931 "This package provides a set of helper programs necessary to build the
4932 Gtk2Hs suite of libraries. These tools include a modified c2hs binding tool
4933 that is used to generate FFI declarations, a tool to build a type hierarchy
4934 that mirrors the C type hierarchy of GObjects found in glib, and a generator
4935 for signal declarations that are used to call back from C to Haskell. These
4936 tools are not needed to actually run Gtk2Hs programs.")
4937 (license license:gpl2)))
4938
4939 (define-public ghc-hackage-security
4940 (package
4941 (name "ghc-hackage-security")
4942 (version "0.5.3.0")
4943 (source
4944 (origin
4945 (method url-fetch)
4946 (uri (string-append "https://hackage.haskell.org/package/"
4947 "hackage-security/hackage-security-"
4948 version ".tar.gz"))
4949 (sha256
4950 (base32
4951 "08bwawc7ramgdh54vcly2m9pvfchp0ahhs8117jajni6x4bnx66v"))))
4952 (build-system haskell-build-system)
4953 (arguments
4954 `(#:cabal-revision
4955 ("6" "1xs2nkzlvkdz8g27yzfxbjdbdadfmgiydnlpn5dm77cg18r495ay")
4956 #:tests? #f)) ; Tests fail because of framework updates.
4957 (inputs
4958 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)
4959 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
4960 ("ghc-cryptohash-sha256" ,ghc-cryptohash-sha256)
4961 ("ghc-ed25519" ,ghc-ed25519)
4962 ("ghc-network" ,ghc-network)
4963 ("ghc-network-uri" ,ghc-network-uri)
4964 ("ghc-tar" ,ghc-tar)
4965 ("ghc-zlib" ,ghc-zlib)))
4966 (native-inputs
4967 `(("ghc-network-uri" ,ghc-network-uri)
4968 ("ghc-quickcheck" ,ghc-quickcheck)
4969 ("ghc-tar" ,ghc-tar)
4970 ("ghc-tasty" ,ghc-tasty)
4971 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
4972 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
4973 ("ghc-temporary" ,ghc-temporary)
4974 ("ghc-zlib" ,ghc-zlib)))
4975 (home-page "https://github.com/haskell/hackage-security")
4976 (synopsis "Hackage security library")
4977 (description "This Hackage security library provides both server and
4978 client utilities for securing @uref{http://hackage.haskell.org/, the
4979 Hackage package server}. It is based on
4980 @uref{http://theupdateframework.com/, The Update Framework}, a set of
4981 recommendations developed by security researchers at various universities
4982 in the US as well as developers on the @uref{https://www.torproject.org/,
4983 Tor project}.")
4984 (license license:bsd-3)))
4985
4986 (define-public ghc-haddock
4987 (package
4988 (name "ghc-haddock")
4989 (version "2.22.0")
4990 (source
4991 (origin
4992 (method url-fetch)
4993 (uri (string-append
4994 "https://hackage.haskell.org/package/haddock/haddock-"
4995 version
4996 ".tar.gz"))
4997 (sha256
4998 (base32
4999 "1k42z2zh550rl93c8pa9cg2xsanp6wvb031xvan6cmngnplmdib6"))))
5000 (build-system haskell-build-system)
5001 (arguments
5002 `(#:phases
5003 (modify-phases %standard-phases
5004 ;; The release tarball for 2.22.0 is missing the test data for
5005 ;; the Hoogle test, causing it to fail. This is fixed in the
5006 ;; next release, but for now we disable it.
5007 (add-before 'configure 'remove-hoogle-test
5008 (lambda _
5009 (use-modules (ice-9 rdelim))
5010 (with-atomic-file-replacement "haddock.cabal"
5011 (lambda (in out)
5012 (let loop ((line (read-line in 'concat)) (deleting? #f))
5013 (cond
5014 ((eof-object? line) #t)
5015 ((string-every char-set:whitespace line)
5016 (unless deleting? (display line out))
5017 (loop (read-line in 'concat) #f))
5018 ((string=? line "test-suite hoogle-test\n")
5019 (loop (read-line in 'concat) #t))
5020 (else
5021 (unless deleting? (display line out))
5022 (loop (read-line in 'concat) deleting?))))))))
5023 (add-before 'check 'add-haddock-to-path
5024 (lambda _
5025 (setenv "PATH" (string-append (getcwd) "/dist/build/haddock"
5026 ":" (getenv "PATH")))
5027 #t)))))
5028 (inputs `(("ghc-haddock-api" ,ghc-haddock-api)))
5029 (native-inputs
5030 `(("ghc-haddock-test" ,ghc-haddock-test)
5031 ("ghc-hspec" ,ghc-hspec)))
5032 (home-page "https://www.haskell.org/haddock/")
5033 (synopsis
5034 "Documentation-generation tool for Haskell libraries")
5035 (description
5036 "Haddock is a documentation-generation tool for Haskell libraries.")
5037 (license license:bsd-3)))
5038
5039 (define-public ghc-haddock-api
5040 (package
5041 (name "ghc-haddock-api")
5042 (version "2.22.0")
5043 (source
5044 (origin
5045 (method url-fetch)
5046 (uri (string-append
5047 "https://hackage.haskell.org/package/haddock-api/haddock-api-"
5048 version
5049 ".tar.gz"))
5050 (patches (search-patches "ghc-haddock-api-fix-haddock.patch"))
5051 (sha256
5052 (base32
5053 "149q4zlf4m7wcrr4af2n2flh0jxjsypshbc229vsj1m0kmz4z014"))))
5054 (build-system haskell-build-system)
5055 (arguments
5056 `(#:phases
5057 (modify-phases %standard-phases
5058 (add-before 'configure 'update-constraints
5059 (lambda _
5060 (substitute* "haddock-api.cabal"
5061 (("QuickCheck \\^>= 2\\.11")
5062 "QuickCheck ^>= 2.13")
5063 (("hspec >= 2\\.4\\.4 && < 2\\.6")
5064 "hspec >= 2.4.4 && < 2.8")))))))
5065 (inputs
5066 `(("ghc-paths" ,ghc-paths)
5067 ("ghc-haddock-library" ,ghc-haddock-library)))
5068 (native-inputs
5069 `(("ghc-quickcheck" ,ghc-quickcheck)
5070 ("ghc-hspec" ,ghc-hspec)
5071 ("hspec-discover" ,hspec-discover)))
5072 (home-page "https://www.haskell.org/haddock/")
5073 (synopsis "API for documentation-generation tool Haddock")
5074 (description "This package provides an API to Haddock, the
5075 documentation-generation tool for Haskell libraries.")
5076 (license license:bsd-3)))
5077
5078 (define-public ghc-haddock-library
5079 (package
5080 (name "ghc-haddock-library")
5081 (version "1.7.0")
5082 (source
5083 (origin
5084 (method url-fetch)
5085 (uri (string-append
5086 "https://hackage.haskell.org/package/haddock-library/haddock-library-"
5087 version
5088 ".tar.gz"))
5089 (sha256
5090 (base32
5091 "04fhcjk0pvsaqvsgp2w06cv2qvshq1xs1bwc157q4lmkgr57khp7"))))
5092 (build-system haskell-build-system)
5093 (arguments
5094 `(#:phases
5095 (modify-phases %standard-phases
5096 ;; Since there is no revised Cabal file upstream, we have to
5097 ;; patch it manually.
5098 (add-before 'configure 'relax-test-suite-dependencies
5099 (lambda _
5100 (substitute* "haddock-library.cabal"
5101 (("hspec\\s*>= 2.4.4 && < 2.6") "hspec")
5102 (("QuickCheck\\s*\\^>= 2.11") "QuickCheck"))
5103 #t)))))
5104 (native-inputs
5105 `(("ghc-base-compat" ,ghc-base-compat)
5106 ("ghc-hspec" ,ghc-hspec)
5107 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
5108 ("ghc-quickcheck" ,ghc-quickcheck)
5109 ("ghc-tree-diff" ,ghc-tree-diff)
5110 ("hspec-discover" ,hspec-discover)))
5111 (home-page "https://www.haskell.org/haddock/")
5112 (synopsis "Library exposing some functionality of Haddock")
5113 (description
5114 "Haddock is a documentation-generation tool for Haskell libraries. These
5115 modules expose some functionality of it without pulling in the GHC dependency.
5116 Please note that the API is likely to change so specify upper bounds in your
5117 project if you can't release often. For interacting with Haddock itself, see
5118 the ‘haddock’ package.")
5119 (license license:bsd-3)))
5120
5121 ;; This package is needed for testing 'ghc-haddock'. It is no longer
5122 ;; published to Hackage, but it is maintained in the Haddock Git
5123 ;; repository.
5124 (define ghc-haddock-test
5125 (package
5126 (name "ghc-haddock-test")
5127 (version "2.22.0")
5128 (source
5129 (origin
5130 (method git-fetch)
5131 (uri (git-reference
5132 (url "https://github.com/haskell/haddock")
5133 (commit (string-append "haddock-" version "-release"))))
5134 (file-name (git-file-name name version))
5135 (sha256
5136 (base32
5137 "1ywxmqqan10gs0ppybdmdgsmvkzkpw7yirj2rw4qylg3x49a9zca"))))
5138 (build-system haskell-build-system)
5139 (arguments
5140 `(#:phases
5141 (modify-phases %standard-phases
5142 (add-after 'unpack 'change-directory
5143 (lambda _
5144 (chdir "haddock-test"))))))
5145 (inputs
5146 `(("ghc-syb" ,ghc-syb)
5147 ("ghc-xml" ,ghc-xml)))
5148 (home-page "https://www.haskell.org/haddock/")
5149 (synopsis "Test utilities for Haddock")
5150 (description "This package provides test utilities for Haddock.")
5151 (license license:bsd-3)
5152 (properties '((hidden? #t)))))
5153
5154 (define-public ghc-half
5155 (package
5156 (name "ghc-half")
5157 (version "0.3")
5158 (source
5159 (origin
5160 (method url-fetch)
5161 (uri (string-append
5162 "https://hackage.haskell.org/package/half/half-"
5163 version ".tar.gz"))
5164 (sha256
5165 (base32
5166 "14r0nx8hm5fic9gz0ybjjw4kyc758zfgvhhwvzsshpx5caq6zch6"))))
5167 (build-system haskell-build-system)
5168 (native-inputs
5169 `(("ghc-hspec" ,ghc-hspec)
5170 ("ghc-quickcheck" ,ghc-quickcheck)))
5171 (home-page "https://github.com/ekmett/half")
5172 (synopsis "Half-precision floating-point computations")
5173 (description "This library provides a half-precision floating-point
5174 computation library for Haskell.")
5175 (license license:bsd-3)))
5176
5177 (define-public ghc-happy
5178 (package
5179 (name "ghc-happy")
5180 (version "1.19.12")
5181 (source
5182 (origin
5183 (method url-fetch)
5184 (uri (string-append
5185 "https://hackage.haskell.org/package/happy/happy-"
5186 version
5187 ".tar.gz"))
5188 (sha256
5189 (base32
5190 "03xlmq6qmdx4zvzw8bp33kd9g7yvcq5cz4wg50xilw812kj276pv"))))
5191 (build-system haskell-build-system)
5192 (arguments
5193 `(#:phases
5194 (modify-phases %standard-phases
5195 (add-after 'unpack 'skip-test-issue93
5196 (lambda _
5197 ;; Tests run out of memory on a system with 2GB of available RAM,
5198 ;; in 'issue93.a.hs' and 'issue93.n.hs'.
5199 (substitute* "tests/Makefile"
5200 ((" issue93.y ") " "))
5201 #t)))))
5202 (home-page "https://hackage.haskell.org/package/happy")
5203 (synopsis "Parser generator for Haskell")
5204 (description "Happy is a parser generator for Haskell. Given a grammar
5205 specification in BNF, Happy generates Haskell code to parse the grammar.
5206 Happy works in a similar way to the yacc tool for C.")
5207 (license license:bsd-3)))
5208
5209 (define-public ghc-hashable
5210 (package
5211 (name "ghc-hashable")
5212 (version "1.2.7.0")
5213 (outputs '("out" "doc"))
5214 (source
5215 (origin
5216 (method url-fetch)
5217 (uri (string-append
5218 "https://hackage.haskell.org/package/hashable/hashable-"
5219 version
5220 ".tar.gz"))
5221 (sha256
5222 (base32
5223 "1gra8gq3kb7b2sd845h55yxlrfqx3ii004c6vjhga8v0b30fzdgc"))))
5224 (build-system haskell-build-system)
5225 (arguments
5226 `(#:cabal-revision
5227 ("1" "197063dpl0wn67dp7a06yc2hxp81n24ykk7klbjx0fndm5n87dh3")))
5228 (inputs
5229 `(("ghc-random" ,ghc-random)))
5230 (native-inputs
5231 `(("ghc-test-framework" ,ghc-test-framework)
5232 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
5233 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
5234 ("ghc-hunit" ,ghc-hunit)
5235 ("ghc-quickcheck" ,ghc-quickcheck)))
5236 (home-page "https://github.com/tibbe/hashable")
5237 (synopsis "Class for types that can be converted to a hash value")
5238 (description
5239 "This package defines a class, @code{Hashable}, for types that can be
5240 converted to a hash value. This class exists for the benefit of hashing-based
5241 data structures. The package provides instances for basic types and a way to
5242 combine hash values.")
5243 (license license:bsd-3)))
5244
5245 (define-public ghc-hashable-bootstrap
5246 (package
5247 (inherit ghc-hashable)
5248 (name "ghc-hashable-bootstrap")
5249 (arguments
5250 `(#:tests? #f
5251 ,@(package-arguments ghc-hashable)))
5252 (native-inputs '())
5253 (properties '((hidden? #t)))))
5254
5255 (define-public ghc-hashable-time
5256 (package
5257 (name "ghc-hashable-time")
5258 (version "0.2.0.2")
5259 (source
5260 (origin
5261 (method url-fetch)
5262 (uri (string-append
5263 "https://hackage.haskell.org/package/hashable-time/hashable-time-"
5264 version
5265 ".tar.gz"))
5266 (sha256
5267 (base32
5268 "1q7y4plqqwy5286hhx2fygn12h8lqk0y047b597sbdckskxzfqgs"))))
5269 (build-system haskell-build-system)
5270 (arguments
5271 `(#:cabal-revision
5272 ("2" "006phc5y9rrvsshdcmjmhxzxh8dpgs685mpqbkjm9c40xb1ydjbz")))
5273 (inputs `(("ghc-hashable" ,ghc-hashable)))
5274 (home-page "https://hackage.haskell.org/package/hashable-time")
5275 (synopsis "Hashable instances for Data.Time")
5276 (description
5277 "This package provides @code{Hashable} instances for types in
5278 @code{Data.Time}.")
5279 (license license:bsd-3)))
5280
5281 (define-public ghc-hashtables
5282 (package
5283 (name "ghc-hashtables")
5284 (version "1.2.3.4")
5285 (source
5286 (origin
5287 (method url-fetch)
5288 (uri (string-append
5289 "https://hackage.haskell.org/package/hashtables/hashtables-"
5290 version ".tar.gz"))
5291 (sha256
5292 (base32 "1rjmxnr30g4hygiywkpz5p9sanh0abs7ap4zc1kgd8zv04kycp0j"))))
5293 (build-system haskell-build-system)
5294 (inputs
5295 `(("ghc-hashable" ,ghc-hashable)
5296 ("ghc-primitive" ,ghc-primitive)
5297 ("ghc-vector" ,ghc-vector)))
5298 (home-page "https://github.com/gregorycollins/hashtables")
5299 (synopsis "Haskell Mutable hash tables in the ST monad")
5300 (description "This package provides a Haskell library including a
5301 couple of different implementations of mutable hash tables in the ST
5302 monad, as well as a typeclass abstracting their common operations, and
5303 a set of wrappers to use the hash tables in the IO monad.")
5304 (license license:bsd-3)))
5305
5306 (define-public ghc-haskeline-0.8
5307 (package
5308 (name "ghc-haskeline")
5309 (version "0.8.0.0")
5310 (source
5311 (origin
5312 (method url-fetch)
5313 (uri (string-append
5314 "https://hackage.haskell.org/package/haskeline/haskeline-"
5315 version
5316 ".tar.gz"))
5317 (sha256
5318 (base32
5319 "0gqsa5s0drim9m42hv4wrq61mnvcdylxysfxfw3acncwilfrn9pb"))))
5320 (build-system haskell-build-system)
5321 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
5322 (native-inputs `(("ghc-hunit" ,ghc-hunit)))
5323 ;; FIXME: Tests failing
5324 (arguments `(#:tests? #f))
5325 (home-page "https://github.com/judah/haskeline")
5326 (synopsis
5327 "Command-line interface for user input, written in Haskell")
5328 (description
5329 "Haskeline provides a user interface for line input in command-line
5330 programs. This library is similar in purpose to readline, but since it is
5331 written in Haskell it is (hopefully) more easily used in other Haskell
5332 programs.
5333
5334 Haskeline runs both on POSIX-compatible systems and on Windows.")
5335 (license license:bsd-3)))
5336
5337 (define-public ghc-haskell-lexer
5338 (package
5339 (name "ghc-haskell-lexer")
5340 (version "1.0.2")
5341 (source
5342 (origin
5343 (method url-fetch)
5344 (uri (string-append
5345 "https://hackage.haskell.org/package/haskell-lexer/haskell-lexer-"
5346 version ".tar.gz"))
5347 (sha256
5348 (base32 "1wyxd8x33x4v5vxyzkhm610pl86gbkc8y439092fr1735q9g7kfq"))))
5349 (build-system haskell-build-system)
5350 (home-page "https://hackage.haskell.org/package/haskell-lexer")
5351 (synopsis "Fully compliant Haskell 98 lexer")
5352 (description
5353 "This package provides a fully compliant Haskell 98 lexer.")
5354 (license license:bsd-3)))
5355
5356 (define-public ghc-haskell-src
5357 (package
5358 (name "ghc-haskell-src")
5359 (version "1.0.3.0")
5360 (source
5361 (origin
5362 (method url-fetch)
5363 (uri (string-append
5364 "https://hackage.haskell.org/package/haskell-src/haskell-src-"
5365 version
5366 ".tar.gz"))
5367 (sha256
5368 (base32
5369 "1g4dj1f0j68bhn4ixfac63wjzy6gsp6kwgxryb1k5nl3i0g99d5l"))))
5370 (build-system haskell-build-system)
5371 (inputs
5372 `(("ghc-happy" ,ghc-happy)
5373 ("ghc-syb" ,ghc-syb)))
5374 (home-page
5375 "https://hackage.haskell.org/package/haskell-src")
5376 (synopsis
5377 "Support for manipulating Haskell source code")
5378 (description
5379 "The @code{haskell-src} package provides support for manipulating Haskell
5380 source code. The package provides a lexer, parser and pretty-printer, and a
5381 definition of a Haskell abstract syntax tree (AST). Common uses of this
5382 package are to parse or generate Haskell 98 code.")
5383 (license license:bsd-3)))
5384
5385 (define-public ghc-haskell-src-exts
5386 (package
5387 (name "ghc-haskell-src-exts")
5388 (version "1.21.1")
5389 (source
5390 (origin
5391 (method url-fetch)
5392 (uri (string-append
5393 "https://hackage.haskell.org/package/haskell-src-exts/haskell-src-exts-"
5394 version
5395 ".tar.gz"))
5396 (sha256
5397 (base32
5398 "0q1y8n3d82gid9bcx8wxsqqmj9mq11fg3gp5yzpfbw958dhi3j9f"))))
5399 (build-system haskell-build-system)
5400 (inputs
5401 `(("cpphs" ,cpphs)
5402 ("ghc-happy" ,ghc-happy)
5403 ("ghc-pretty-show" ,ghc-pretty-show)))
5404 (native-inputs
5405 `(("ghc-smallcheck" ,ghc-smallcheck)
5406 ("ghc-tasty" ,ghc-tasty)
5407 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
5408 ("ghc-tasty-golden" ,ghc-tasty-golden)))
5409 (home-page "https://github.com/haskell-suite/haskell-src-exts")
5410 (synopsis "Library for manipulating Haskell source")
5411 (description "Haskell-Source with Extensions (HSE, haskell-src-exts) is an
5412 extension of the standard @code{haskell-src} package, and handles most
5413 registered syntactic extensions to Haskell. All extensions implemented in GHC
5414 are supported. Apart from these standard extensions, it also handles regular
5415 patterns as per the HaRP extension as well as HSX-style embedded XML syntax.")
5416 (license license:bsd-3)))
5417
5418 (define-public ghc-haskell-src-exts-util
5419 (package
5420 (name "ghc-haskell-src-exts-util")
5421 (version "0.2.5")
5422 (source
5423 (origin
5424 (method url-fetch)
5425 (uri (string-append "https://hackage.haskell.org/package/"
5426 "haskell-src-exts-util/haskell-src-exts-util-"
5427 version ".tar.gz"))
5428 (sha256
5429 (base32
5430 "0fvqi72m74p7q5sbpy8m2chm8a1lgy10mfrcxcz8wrh59vngj0n8"))))
5431 (build-system haskell-build-system)
5432 (inputs
5433 `(("ghc-data-default" ,ghc-data-default)
5434 ("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
5435 ("ghc-semigroups" ,ghc-semigroups)
5436 ("ghc-uniplate" ,ghc-uniplate)))
5437 (home-page "https://github.com/pepeiborra/haskell-src-exts-util")
5438 (synopsis "Helper functions for working with haskell-src-exts trees")
5439 (description
5440 "This package provides helper functions for working with
5441 @code{haskell-src-exts} trees.")
5442 (license license:bsd-3)))
5443
5444 (define-public ghc-haskell-src-meta
5445 (package
5446 (name "ghc-haskell-src-meta")
5447 (version "0.8.3")
5448 (source (origin
5449 (method url-fetch)
5450 (uri (string-append "https://hackage.haskell.org/package/"
5451 "haskell-src-meta/haskell-src-meta-"
5452 version ".tar.gz"))
5453 (sha256
5454 (base32
5455 "17znnaqj2hnnfyc9p9xjzbs97h2jh1h4f4qbw648y3xa14wx5ra9"))))
5456 (build-system haskell-build-system)
5457 (inputs
5458 `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
5459 ("ghc-syb" ,ghc-syb)
5460 ("ghc-th-orphans" ,ghc-th-orphans)))
5461 (native-inputs
5462 `(("ghc-hunit" ,ghc-hunit)
5463 ("ghc-tasty" ,ghc-tasty)
5464 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5465 (home-page "https://hackage.haskell.org/package/haskell-src-meta")
5466 (synopsis "Parse source to template-haskell abstract syntax")
5467 (description
5468 "This package provides tools to parse Haskell sources to the
5469 template-haskell abstract syntax.")
5470 (license license:bsd-3)))
5471
5472 (define-public ghc-hasktags
5473 (package
5474 (name "ghc-hasktags")
5475 (version "0.71.2")
5476 (source
5477 (origin
5478 (method url-fetch)
5479 (uri (string-append
5480 "https://hackage.haskell.org/package/hasktags/hasktags-"
5481 version
5482 ".tar.gz"))
5483 (sha256
5484 (base32
5485 "1s2k9qrgy1jily96img2pmn7g35mwnnfiw6si3aw32jfhg5zsh1c"))))
5486 (build-system haskell-build-system)
5487 (inputs
5488 `(("ghc-system-filepath" ,ghc-system-filepath)
5489 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
5490 (native-inputs
5491 `(("ghc-json" ,ghc-json)
5492 ("ghc-utf8-string" ,ghc-utf8-string)
5493 ("ghc-microlens-platform" ,ghc-microlens-platform)
5494 ("ghc-hunit" ,ghc-hunit)))
5495 (home-page "https://github.com/MarcWeber/hasktags")
5496 (synopsis "Make @code{Ctags} and @code{Etags} files for Haskell programs")
5497 (description
5498 "This package provides a means of generating tag files for Emacs and
5499 Vim.")
5500 (license license:bsd-3)))
5501
5502 (define-public ghc-hex
5503 (package
5504 (name "ghc-hex")
5505 (version "0.1.2")
5506 (source
5507 (origin
5508 (method url-fetch)
5509 (uri (string-append "https://hackage.haskell.org/package/"
5510 "hex-" version "/"
5511 "hex-" version ".tar.gz"))
5512 (sha256
5513 (base32
5514 "1v31xiaivrrn0q2jz8919wvkjplv1kxna5ajhsj701fqxm1i5vhj"))))
5515 (build-system haskell-build-system)
5516 (home-page "https://hackage.haskell.org/package/hex")
5517 (synopsis "Convert strings into hexadecimal and back")
5518 (description "This package provides conversion functions between
5519 bytestrings and their hexademical representation.")
5520 (license license:bsd-3)))
5521
5522 (define-public ghc-highlighting-kate
5523 (package
5524 (name "ghc-highlighting-kate")
5525 (version "0.6.4")
5526 (source (origin
5527 (method url-fetch)
5528 (uri (string-append "https://hackage.haskell.org/package/"
5529 "highlighting-kate/highlighting-kate-"
5530 version ".tar.gz"))
5531 (sha256
5532 (base32
5533 "1bqv00gfmrsf0jjr4qf3lhshvfkyzmhbi3pjb6mafbnsyn2k7f6q"))))
5534 (build-system haskell-build-system)
5535 (inputs
5536 `(("ghc-diff" ,ghc-diff)
5537 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)))
5538 (native-inputs
5539 `(("ghc-blaze-html" ,ghc-blaze-html)
5540 ("ghc-utf8-string" ,ghc-utf8-string)))
5541 (home-page "https://github.com/jgm/highlighting-kate")
5542 (synopsis "Syntax highlighting library")
5543 (description
5544 "Highlighting-kate is a syntax highlighting library with support for
5545 nearly one hundred languages. The syntax parsers are automatically generated
5546 from @uref{https://kate-editor.org/, Kate syntax descriptions}, so any syntax
5547 supported by Kate can be added. An (optional) command-line program is
5548 provided, along with a utility for generating new parsers from Kate XML syntax
5549 descriptions.")
5550 (license license:gpl2+)))
5551
5552 (define-public ghc-hindent
5553 (package
5554 (name "ghc-hindent")
5555 (version "5.3.1")
5556 (source
5557 (origin
5558 (method url-fetch)
5559 (uri (string-append
5560 "https://hackage.haskell.org/package/hindent/hindent-"
5561 version
5562 ".tar.gz"))
5563 (sha256
5564 (base32
5565 "008s8zm9qs972b7v5kkmr8l3i9kc6zm7yj33mkw6dv69b7h3c01l"))))
5566 (build-system haskell-build-system)
5567 (arguments
5568 `(#:modules ((guix build haskell-build-system)
5569 (guix build utils)
5570 (guix build emacs-utils))
5571 #:imported-modules (,@%haskell-build-system-modules
5572 (guix build emacs-utils))
5573 #:phases
5574 (modify-phases %standard-phases
5575 (add-after 'install 'emacs-install
5576 (lambda* (#:key inputs outputs #:allow-other-keys)
5577 (let* ((out (assoc-ref outputs "out"))
5578 (elisp-file "elisp/hindent.el")
5579 (dest (string-append out "/share/emacs/site-lisp"))
5580 (emacs (string-append (assoc-ref inputs "emacs")
5581 "/bin/emacs")))
5582 (make-file-writable elisp-file)
5583 (emacs-substitute-variables elisp-file
5584 ("hindent-process-path"
5585 (string-append out "/bin/hindent")))
5586 (install-file elisp-file dest)
5587 (emacs-generate-autoloads "hindent" dest)))))))
5588 (inputs
5589 `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
5590 ("ghc-monad-loops" ,ghc-monad-loops)
5591 ("ghc-utf8-string" ,ghc-utf8-string)
5592 ("ghc-exceptions" ,ghc-exceptions)
5593 ("ghc-yaml" ,ghc-yaml)
5594 ("ghc-unix-compat" ,ghc-unix-compat)
5595 ("ghc-path" ,ghc-path)
5596 ("ghc-path-io" ,ghc-path-io)
5597 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
5598 (native-inputs
5599 `(("ghc-hspec" ,ghc-hspec)
5600 ("ghc-diff" ,ghc-diff)
5601 ("emacs" ,emacs-minimal)))
5602 (home-page
5603 "https://github.com/commercialhaskell/hindent")
5604 (synopsis "Extensible Haskell pretty printer")
5605 (description
5606 "This package provides automatic formatting for Haskell files. Both a
5607 library and an executable.")
5608 (license license:bsd-3)))
5609
5610 (define-public ghc-hinotify
5611 (package
5612 (name "ghc-hinotify")
5613 (version "0.4")
5614 (source (origin
5615 (method url-fetch)
5616 (uri (string-append
5617 "https://hackage.haskell.org/package/hinotify/"
5618 "hinotify-" version ".tar.gz"))
5619 (sha256
5620 (base32
5621 "1x1lm685ws2q0z0ibwq6x3l72xh67mj06s36xiga3al48d92q63x"))))
5622 (build-system haskell-build-system)
5623 (inputs
5624 `(("ghc-async" ,ghc-async)))
5625 (home-page "https://github.com/kolmodin/hinotify.git")
5626 (synopsis "Haskell binding to inotify")
5627 (description "This library provides a wrapper to the Linux kernel's inotify
5628 feature, allowing applications to subscribe to notifications when a file is
5629 accessed or modified.")
5630 (license license:bsd-3)))
5631
5632 (define-public ghc-hmatrix
5633 (package
5634 (name "ghc-hmatrix")
5635 (version "0.20.0.0")
5636 (source
5637 (origin
5638 (method url-fetch)
5639 (uri (string-append
5640 "https://hackage.haskell.org/package/hmatrix/hmatrix-"
5641 version ".tar.gz"))
5642 (sha256
5643 (base32 "1sqy1aci5zfagkb34mz3xdil7cl96z4b4cx28cha54vc5sx1lhpg"))))
5644 (build-system haskell-build-system)
5645 (inputs
5646 `(("ghc-random" ,ghc-random)
5647 ("ghc-split" ,ghc-split)
5648 ("ghc-storable-complex" ,ghc-storable-complex)
5649 ("ghc-semigroups" ,ghc-semigroups)
5650 ("ghc-vector" ,ghc-vector)
5651 ;;("openblas" ,openblas)
5652 ("lapack" ,lapack)))
5653 ;; Guix's OpenBLAS is built with the flag "NO_LAPACK=1" which
5654 ;; disables inclusion of the LAPACK functions.
5655 ;; (arguments `(#:configure-flags '("--flags=openblas")))
5656 (home-page "https://github.com/albertoruiz/hmatrix")
5657 (synopsis "Haskell numeric linear algebra library")
5658 (description "The HMatrix package provices a Haskell library for
5659 dealing with linear systems, matrix decompositions, and other
5660 numerical computations based on BLAS and LAPACK.")
5661 (license license:bsd-3)))
5662
5663 (define-public ghc-hmatrix-gsl
5664 (package
5665 (name "ghc-hmatrix-gsl")
5666 (version "0.19.0.1")
5667 (source
5668 (origin
5669 (method url-fetch)
5670 (uri (string-append
5671 "https://hackage.haskell.org/package/hmatrix-gsl/hmatrix-gsl-"
5672 version ".tar.gz"))
5673 (sha256
5674 (base32 "0v6dla426x4ywaq59jm89ql1i42n39iw6z0j378xwb676v9kfxhm"))))
5675 (build-system haskell-build-system)
5676 (inputs
5677 `(("ghc-hmatrix" ,ghc-hmatrix)
5678 ("ghc-vector" ,ghc-vector)
5679 ("ghc-random" ,ghc-random)
5680 ("gsl" ,gsl)))
5681 (native-inputs `(("pkg-config" ,pkg-config)))
5682 (home-page "https://github.com/albertoruiz/hmatrix")
5683 (synopsis "Haskell GSL binding")
5684 (description "This Haskell library provides a purely functional
5685 interface to selected numerical computations, internally implemented
5686 using GSL.")
5687 (license license:gpl3+)))
5688
5689 (define-public ghc-hmatrix-gsl-stats
5690 (package
5691 (name "ghc-hmatrix-gsl-stats")
5692 (version "0.4.1.8")
5693 (source
5694 (origin
5695 (method url-fetch)
5696 (uri
5697 (string-append
5698 "https://hackage.haskell.org/package/hmatrix-gsl-stats/hmatrix-gsl-stats-"
5699 version ".tar.gz"))
5700 (sha256
5701 (base32 "1cq049sj3q5r06x7i35hqrkf2jc4p4kfi9zv0jmi2vp7w4644i5q"))))
5702 (build-system haskell-build-system)
5703 (inputs
5704 `(("ghc-vector" ,ghc-vector)
5705 ("ghc-storable-complex" ,ghc-storable-complex)
5706 ("ghc-hmatrix" ,ghc-hmatrix)
5707 ("gsl" ,gsl)))
5708 (native-inputs `(("pkg-config" ,pkg-config)))
5709 (home-page "http://code.haskell.org/hmatrix-gsl-stats")
5710 (synopsis "GSL Statistics interface for Haskell")
5711 (description "This Haskell library provides a purely functional
5712 interface for statistics based on hmatrix and GSL.")
5713 (license license:bsd-3)))
5714
5715 (define-public ghc-hmatrix-special
5716 (package
5717 (name "ghc-hmatrix-special")
5718 (version "0.19.0.0")
5719 (source
5720 (origin
5721 (method url-fetch)
5722 (uri
5723 (string-append
5724 "https://hackage.haskell.org/package/hmatrix-special/hmatrix-special-"
5725 version ".tar.gz"))
5726 (sha256
5727 (base32 "1mywr61kr852sbff26n9x95kswx9l4ycbv6s68qsbkh02xzqq7qz"))))
5728 (build-system haskell-build-system)
5729 (inputs
5730 `(("ghc-hmatrix" ,ghc-hmatrix)
5731 ("ghc-hmatrix-gsl" ,ghc-hmatrix-gsl)))
5732 (home-page "https://github.com/albertoruiz/hmatrix")
5733 (synopsis "Haskell interface to GSL special functions")
5734 (description "This library provides an interface to GSL special
5735 functions for Haskell.")
5736 (license license:gpl3+)))
5737
5738 (define-public ghc-hostname
5739 (package
5740 (name "ghc-hostname")
5741 (version "1.0")
5742 (source
5743 (origin
5744 (method url-fetch)
5745 (uri (string-append "https://hackage.haskell.org/package/hostname/"
5746 "hostname-" version ".tar.gz"))
5747 (sha256
5748 (base32
5749 "0p6gm4328946qxc295zb6vhwhf07l1fma82vd0siylnsnsqxlhwv"))))
5750 (build-system haskell-build-system)
5751 (home-page "https://hackage.haskell.org/package/hostname")
5752 (synopsis "Hostname in Haskell")
5753 (description "Network.HostName is a simple package providing a means to
5754 determine the hostname.")
5755 (license license:bsd-3)))
5756
5757 (define-public ghc-hourglass
5758 (package
5759 (name "ghc-hourglass")
5760 (version "0.2.12")
5761 (source (origin
5762 (method url-fetch)
5763 (uri (string-append "https://hackage.haskell.org/package/"
5764 "hourglass/hourglass-" version ".tar.gz"))
5765 (sha256
5766 (base32
5767 "0jnay5j13vpz6i1rkaj3j0d9v8jfpri499xn3l7wd01f81f5ncs4"))))
5768 (build-system haskell-build-system)
5769 (inputs
5770 `(("ghc-old-locale" ,ghc-old-locale)))
5771 (native-inputs
5772 `(("ghc-tasty" ,ghc-tasty)
5773 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5774 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5775 (home-page "https://github.com/vincenthz/hs-hourglass")
5776 (synopsis "Simple time-related library for Haskell")
5777 (description
5778 "This is a simple time library providing a simple but powerful and
5779 performant API. The backbone of the library are the @code{Timeable} and
5780 @code{Time} type classes. Each @code{Timeable} instances can be converted to
5781 a type that has a @code{Time} instances, and thus are different
5782 representations of current time.")
5783 (license license:bsd-3)))
5784
5785 (define-public ghc-hpack
5786 (package
5787 (name "ghc-hpack")
5788 (version "0.31.2")
5789 (source
5790 (origin
5791 (method url-fetch)
5792 (uri (string-append "https://hackage.haskell.org/package/hpack/"
5793 "hpack-" version ".tar.gz"))
5794 (patches (search-patches "ghc-hpack-fix-tests.patch"))
5795 (sha256
5796 (base32
5797 "1l2d6185lawwhsj70swxkvcacm0hvcn9qsrlx4ph4gs6k578603g"))))
5798 (build-system haskell-build-system)
5799 (inputs
5800 `(("ghc-aeson" ,ghc-aeson)
5801 ("ghc-bifunctors" ,ghc-bifunctors)
5802 ("ghc-cryptonite" ,ghc-cryptonite)
5803 ("ghc-glob" ,ghc-glob)
5804 ("ghc-http-client" ,ghc-http-client)
5805 ("ghc-http-client-tls" ,ghc-http-client-tls)
5806 ("ghc-http-types" ,ghc-http-types)
5807 ("ghc-infer-license" ,ghc-infer-license)
5808 ("ghc-scientific" ,ghc-scientific)
5809 ("ghc-unordered-containers" ,ghc-unordered-containers)
5810 ("ghc-vector" ,ghc-vector)
5811 ("ghc-yaml" ,ghc-yaml)))
5812 (native-inputs
5813 `(("ghc-hspec" ,ghc-hspec)
5814 ("ghc-hunit" ,ghc-hunit)
5815 ("ghc-interpolate" ,ghc-interpolate)
5816 ("ghc-mockery" ,ghc-mockery)
5817 ("ghc-quickcheck" ,ghc-quickcheck)
5818 ("ghc-temporary" ,ghc-temporary)
5819 ("hspec-discover" ,hspec-discover)))
5820 (home-page "https://github.com/sol/hpack")
5821 (synopsis "Tools for an alternative Haskell package format")
5822 (description
5823 "Hpack is a format for Haskell packages. It is an alternative to the
5824 Cabal package format and follows different design principles. Hpack packages
5825 are described in a file named @code{package.yaml}. Both @code{cabal2nix} and
5826 @code{stack} support @code{package.yaml} natively. For other build tools the
5827 @code{hpack} executable can be used to generate a @code{.cabal} file from
5828 @code{package.yaml}.")
5829 (license license:expat)))
5830
5831 (define-public ghc-hs-bibutils
5832 (package
5833 (name "ghc-hs-bibutils")
5834 (version "6.7.0.0")
5835 (source
5836 (origin
5837 (method url-fetch)
5838 (uri (string-append
5839 "https://hackage.haskell.org/package/hs-bibutils/hs-bibutils-"
5840 version ".tar.gz"))
5841 (sha256
5842 (base32
5843 "1qfyssl76lm4g09yxr3y10kmf8cnzls46g5h0ijk0wpk9wlhbln5"))))
5844 (build-system haskell-build-system)
5845 (inputs `(("ghc-syb" ,ghc-syb)))
5846 (home-page "https://hackage.haskell.org/package/hs-bibutils")
5847 (synopsis "Haskell bindings to bibutils")
5848 (description
5849 "This package provides Haskell bindings to @code{bibutils}, a library
5850 that interconverts between various bibliography formats using a common
5851 MODS-format XML intermediate.")
5852 (license license:gpl2+)))
5853
5854 (define-public ghc-hslogger
5855 (package
5856 (name "ghc-hslogger")
5857 (version "1.2.12")
5858 (source
5859 (origin
5860 (method url-fetch)
5861 (uri (string-append "https://hackage.haskell.org/package/"
5862 "hslogger-" version "/" "hslogger-"
5863 version ".tar.gz"))
5864 (sha256 (base32
5865 "0ykcsk7wqygvrg60r5kpl6xfinr706al8pfyk5wj67wjs24lqypr"))))
5866 (build-system haskell-build-system)
5867 (inputs
5868 `(("ghc-network" ,ghc-network)
5869 ("ghc-old-locale" ,ghc-old-locale)))
5870 (native-inputs
5871 `(("ghc-hunit" ,ghc-hunit)))
5872 (home-page "https://software.complete.org/hslogger")
5873 (synopsis "Logging framework for Haskell, similar to Python's logging module")
5874 (description "Hslogger lets each log message have a priority and source be
5875 associated with it. The programmer can then define global handlers that route
5876 or filter messages based on the priority and source. It also has a syslog
5877 handler built in.")
5878 (license license:bsd-3)))
5879
5880 (define-public ghc-hslua
5881 (package
5882 (name "ghc-hslua")
5883 (version "1.0.3.2")
5884 (source (origin
5885 (method url-fetch)
5886 (uri (string-append "https://hackage.haskell.org/package/"
5887 "hslua/hslua-" version ".tar.gz"))
5888 (sha256
5889 (base32
5890 "183bgl5jcx5y2r94lviqfw0a5w9089nxjd1z40k8vx9y2h60pm6j"))))
5891 (build-system haskell-build-system)
5892 (arguments
5893 `(#:configure-flags '("-fsystem-lua")))
5894 (inputs
5895 `(("lua" ,lua)
5896 ("ghc-exceptions" ,ghc-exceptions)
5897 ("ghc-fail" ,ghc-fail)))
5898 (native-inputs
5899 `(("ghc-tasty" ,ghc-tasty)
5900 ("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
5901 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5902 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5903 ("ghc-quickcheck" ,ghc-quickcheck)
5904 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
5905 (home-page "https://hackage.haskell.org/package/hslua")
5906 (synopsis "Lua language interpreter embedding in Haskell")
5907 (description
5908 "The Scripting.Lua module is a wrapper of the Lua language interpreter as
5909 described in @url{https://www.lua.org/}.")
5910 (license license:expat)))
5911
5912 (define-public ghc-hslua-module-system
5913 (package
5914 (name "ghc-hslua-module-system")
5915 (version "0.2.1")
5916 (source
5917 (origin
5918 (method url-fetch)
5919 (uri (string-append "https://hackage.haskell.org/package/"
5920 "hslua-module-system/hslua-module-system-"
5921 version ".tar.gz"))
5922 (sha256
5923 (base32
5924 "1m7wz3g5c34pyizqw5mllzhsy2vziddhlbhjfwdvd7nhd3p4v3hh"))))
5925 (build-system haskell-build-system)
5926 (inputs
5927 `(("ghc-exceptions" ,ghc-exceptions)
5928 ("ghc-hslua" ,ghc-hslua)
5929 ("ghc-temporary" ,ghc-temporary)))
5930 (native-inputs
5931 `(("ghc-tasty" ,ghc-tasty)
5932 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5933 (home-page "https://github.com/hslua/hslua-module-system")
5934 (synopsis "Lua module wrapper around Haskell's System module")
5935 (description "This library provides access to system information and
5936 functionality to Lua scripts via Haskell's @code{System} module. Intended
5937 usage for this package is to preload it by adding the loader function to
5938 @code{package.preload}. Note that the Lua @code{package} library must have
5939 already been loaded before the loader can be added.")
5940 (license license:expat)))
5941
5942 (define-public ghc-hslua-module-text
5943 (package
5944 (name "ghc-hslua-module-text")
5945 (version "0.2.1")
5946 (source
5947 (origin
5948 (method url-fetch)
5949 (uri (string-append "https://hackage.haskell.org/package/"
5950 "hslua-module-text/hslua-module-text-"
5951 version ".tar.gz"))
5952 (sha256
5953 (base32
5954 "1ikdwvvxhbd5wmfr85dzs2ccamh9rbbpgy899z7s1vlv5q1dj0hk"))))
5955 (build-system haskell-build-system)
5956 (inputs
5957 `(("ghc-hslua" ,ghc-hslua)))
5958 (native-inputs
5959 `(("ghc-tasty" ,ghc-tasty)
5960 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5961 (home-page "https://github.com/hslua/hslua-module-text")
5962 (synopsis "Lua module for text")
5963 (description
5964 "This package provides a UTF-8 aware subset of Lua's @code{string} module
5965 for Haskell. The functions provided by this module are @code{upper},
5966 @code{lower}, @code{len}, @code{reverse}, and @code{sub}.")
5967 (license license:expat)))
5968
5969 (define-public ghc-hsyaml
5970 (package
5971 (name "ghc-hsyaml")
5972 (version "0.1.2.0")
5973 (source
5974 (origin
5975 (method url-fetch)
5976 (uri (string-append "https://hackage.haskell.org/package/"
5977 "HsYAML/HsYAML-" version ".tar.gz"))
5978 (sha256
5979 (base32
5980 "1pajfhj16559v64ixm8j7bvxdqmxg6c3c0z3wz7in8ckswgzfp54"))))
5981 (build-system haskell-build-system)
5982 (arguments
5983 `(#:cabal-revision
5984 ("1" "0j6qmmcz5yqh89hs2cq453maix50q61vl2h0ahj5lg02bygn42cf")))
5985 (home-page "https://github.com/haskell-hvr/HsYAML")
5986 (synopsis "Pure Haskell YAML 1.2 parser")
5987 (description "This library provides a
5988 @url{http://yaml.org/spec/1.2/spec.html, YAML 1.2} parser implementation
5989 for Haskell. Its features include:
5990
5991 @itemize
5992 @item Pure Haskell implementation with small dependency footprint and
5993 emphasis on strict compliance with the YAML 1.2 specification.
5994
5995 @item Direct decoding to native Haskell types via (aeson-inspired)
5996 typeclass-based API (see @code{Data.YAML}).
5997
5998 @item Support for constructing custom YAML node graph
5999 representation (including support for cyclic YAML data structures).
6000
6001 @item Support for the standard (untyped) @emph{Failsafe}, (strict)
6002 @emph{JSON}, and (flexible) @emph{Core} ``schemas'' providing implicit
6003 typing rules as defined in the YAML 1.2 specification (including support
6004 for user-defined custom schemas).
6005
6006 @item Event-based API resembling LibYAML's Event-based API (see
6007 @code{Data.YAML.Event}).
6008
6009 @item Low-level API access to lexical token-based scanner (see
6010 @code{Data.YAML.Token}).
6011 @end itemize")
6012 (license license:gpl2+)))
6013
6014 (define-public ghc-http-api-data
6015 (package
6016 (name "ghc-http-api-data")
6017 (version "0.4.1")
6018 (source
6019 (origin
6020 (method url-fetch)
6021 (uri (string-append "https://hackage.haskell.org/package/"
6022 "http-api-data-" version "/"
6023 "http-api-data-" version ".tar.gz"))
6024 (sha256
6025 (base32
6026 "1ps4bvln43gz72dr9mc3c9n1rn38c4rz6m49vxzz9nz6jz1978rv"))))
6027 (build-system haskell-build-system)
6028 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
6029 ("ghc-attoparsec-iso8601" ,ghc-attoparsec-iso8601)
6030 ("ghc-cookie" ,ghc-cookie)
6031 ("ghc-hashable" ,ghc-hashable)
6032 ("ghc-http-types" ,ghc-http-types)
6033 ("ghc-time-compat" ,ghc-time-compat)
6034 ("ghc-unordered-containers" ,ghc-unordered-containers)
6035 ("ghc-uuid-types" ,ghc-uuid-types)))
6036 (native-inputs
6037 `(("cabal-doctest" ,cabal-doctest)
6038 ("ghc-nats" ,ghc-nats)
6039 ("ghc-hunit" ,ghc-hunit)
6040 ("ghc-hspec" ,ghc-hspec)
6041 ("ghc-quickcheck" ,ghc-quickcheck)
6042 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
6043 ("ghc-doctest" ,ghc-doctest)
6044 ("hspec-discover" ,hspec-discover)))
6045 (home-page "https://github.com/fizruk/http-api-data")
6046 (synopsis "Convert to/from HTTP API data like URL pieces, headers and
6047 query parameters")
6048 (description "This Haskell package defines typeclasses used for converting
6049 Haskell data types to and from HTTP API data.")
6050 (license license:bsd-3)))
6051
6052 (define-public ghc-ieee754
6053 (package
6054 (name "ghc-ieee754")
6055 (version "0.8.0")
6056 (source (origin
6057 (method url-fetch)
6058 (uri (string-append
6059 "https://hackage.haskell.org/package/ieee754/"
6060 "ieee754-" version ".tar.gz"))
6061 (sha256
6062 (base32
6063 "1lcs521g9lzy9d7337vg4w7q7s8500rfqy7rcifcz6pm6yfgyb8f"))))
6064 (build-system haskell-build-system)
6065 (home-page "https://github.com/patperry/hs-ieee754")
6066 (synopsis "Utilities for dealing with IEEE floating point numbers")
6067 (description "Utilities for dealing with IEEE floating point numbers,
6068 ported from the Tango math library; approximate and exact equality comparisons
6069 for general types.")
6070 (license license:bsd-3)))
6071
6072 (define-public ghc-ifelse
6073 (package
6074 (name "ghc-ifelse")
6075 (version "0.85")
6076 (source
6077 (origin
6078 (method url-fetch)
6079 (uri (string-append "https://hackage.haskell.org/package/"
6080 "IfElse/IfElse-" version ".tar.gz"))
6081 (sha256
6082 (base32
6083 "1kfx1bwfjczj93a8yqz1n8snqiq5655qgzwv1lrycry8wb1vzlwa"))))
6084 (build-system haskell-build-system)
6085 (home-page "https://hackage.haskell.org/package/IfElse")
6086 (synopsis "Monadic control flow with anaphoric variants")
6087 (description "This library provides functions for control flow inside of
6088 monads with anaphoric variants on @code{if} and @code{when} and a C-like
6089 @code{switch} function.")
6090 (license license:bsd-3)))
6091
6092 (define-public ghc-indents
6093 (package
6094 (name "ghc-indents")
6095 (version "0.5.0.1")
6096 (source (origin
6097 (method url-fetch)
6098 (uri (string-append
6099 "https://hackage.haskell.org/package/indents/indents-"
6100 version ".tar.gz"))
6101 (sha256
6102 (base32
6103 "0dpcwiz0dwn5aqdsc50plfaawh86adhf7jx5dsmhn5q5nz32qn51"))))
6104 (build-system haskell-build-system)
6105 ;; This package needs an older version of tasty.
6106 (arguments '(#:tests? #f))
6107 (inputs
6108 `(("ghc-concatenative" ,ghc-concatenative)))
6109 (native-inputs
6110 `(("ghc-tasty" ,ghc-tasty)
6111 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
6112 (home-page "http://patch-tag.com/r/salazar/indents")
6113 (synopsis "Indentation sensitive parser-combinators for parsec")
6114 (description
6115 "This library provides functions for use in parsing indentation sensitive
6116 contexts. It parses blocks of lines all indented to the same level as well as
6117 lines continued at an indented level below.")
6118 (license license:bsd-3)))
6119
6120 (define-public ghc-infer-license
6121 (package
6122 (name "ghc-infer-license")
6123 (version "0.2.0")
6124 (source
6125 (origin
6126 (method url-fetch)
6127 (uri (string-append "https://hackage.haskell.org/package/"
6128 "infer-license/infer-license-" version ".tar.gz"))
6129 (sha256
6130 (base32
6131 "0wlfm6bf55kfvm74xar9lmjg5v1103rs9m3grw1rq5bmcmhzxrhj"))))
6132 (build-system haskell-build-system)
6133 (inputs
6134 `(("ghc-text-metrics" ,ghc-text-metrics)))
6135 (native-inputs
6136 `(("ghc-hspec" ,ghc-hspec)
6137 ("hspec-discover" ,hspec-discover)))
6138 (home-page "https://hackage.haskell.org/package/infer-license")
6139 (synopsis "Infer software license from a given license file")
6140 (description "This library provides tools to infer a software
6141 license from a given license file.")
6142 (license license:expat)))
6143
6144 (define-public ghc-inline-c
6145 (package
6146 (name "ghc-inline-c")
6147 (version "0.7.0.1")
6148 (source
6149 (origin
6150 (method url-fetch)
6151 (uri (string-append "https://hackage.haskell.org/package/inline-c/"
6152 "inline-c-" version ".tar.gz"))
6153 (sha256
6154 (base32
6155 "19scbviwiv1fbsdcjji3dscjg7w0xa8r97xwkqqrwm7zhvrg5wns"))))
6156 (build-system haskell-build-system)
6157 (inputs
6158 `(("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
6159 ("ghc-cryptohash" ,ghc-cryptohash)
6160 ("ghc-hashable" ,ghc-hashable)
6161 ("ghc-parsers" ,ghc-parsers)
6162 ("ghc-unordered-containers" ,ghc-unordered-containers)
6163 ("ghc-vector" ,ghc-vector)))
6164 (native-inputs
6165 `(("ghc-quickcheck" ,ghc-quickcheck)
6166 ("ghc-hspec" ,ghc-hspec)
6167 ("ghc-raw-strings-qq" ,ghc-raw-strings-qq)
6168 ("ghc-regex-posix" ,ghc-regex-posix)))
6169 (home-page "https://hackage.haskell.org/package/inline-c")
6170 (synopsis "Write Haskell source files including C code inline")
6171 (description
6172 "inline-c lets you seamlessly call C libraries and embed high-performance
6173 inline C code in Haskell modules. Haskell and C can be freely intermixed in
6174 the same source file, and data passed to and from code in either language with
6175 minimal overhead. No FFI required.")
6176 (license license:expat)))
6177
6178 (define-public ghc-inline-c-cpp
6179 (package
6180 (name "ghc-inline-c-cpp")
6181 (version "0.3.0.3")
6182 (source
6183 (origin
6184 (method url-fetch)
6185 (uri (string-append "https://hackage.haskell.org/package/inline-c-cpp/"
6186 "inline-c-cpp-" version ".tar.gz"))
6187 (sha256
6188 (base32
6189 "1sxwx9dh60qfpa72dymj015zwd6prhb70x5mkabqzi7nhg3aakln"))))
6190 (build-system haskell-build-system)
6191 (inputs
6192 `(("ghc-inline-c" ,ghc-inline-c)
6193 ("ghc-safe-exceptions" ,ghc-safe-exceptions)))
6194 (native-inputs
6195 `(("ghc-hspec" ,ghc-hspec)))
6196 (home-page "https://hackage.haskell.org/package/inline-c-cpp")
6197 (synopsis "Lets you embed C++ code into Haskell")
6198 (description
6199 "This package provides utilities to inline C++ code into Haskell using
6200 @code{inline-c}.")
6201 (license license:expat)))
6202
6203 (define-public ghc-integer-logarithms
6204 (package
6205 (name "ghc-integer-logarithms")
6206 (version "1.0.3")
6207 (source
6208 (origin
6209 (method url-fetch)
6210 (uri (string-append "https://hackage.haskell.org/package/"
6211 "integer-logarithms/integer-logarithms-"
6212 version ".tar.gz"))
6213 (sha256
6214 (base32
6215 "05pc5hws66csvcvfswlwcr2fplwn1lbssvwifjxkbbwqhq0n5qjs"))))
6216 (build-system haskell-build-system)
6217 (arguments
6218 `(#:phases
6219 (modify-phases %standard-phases
6220 (add-before 'configure 'update-constraints
6221 (lambda _
6222 (substitute* "integer-logarithms.cabal"
6223 (("tasty >= 0\\.10 && < 1\\.1")
6224 "tasty >= 0.10 && < 1.2")))))))
6225 (native-inputs
6226 `(("ghc-quickcheck" ,ghc-quickcheck)
6227 ("ghc-smallcheck" ,ghc-smallcheck)
6228 ("ghc-tasty" ,ghc-tasty)
6229 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6230 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
6231 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)))
6232 (home-page "https://github.com/Bodigrim/integer-logarithms")
6233 (synopsis "Integer logarithms")
6234 (description
6235 "This package provides the following modules:
6236 @code{Math.NumberTheory.Logarithms} and
6237 @code{Math.NumberTheory.Powers.Integer} from the @code{arithmoi} package,
6238 @code{GHC.Integer.Logarithms.Compat} and
6239 @code{Math.NumberTheory.Power.Natural}, as well as some additional functions
6240 in migrated modules.")
6241 (license license:expat)))
6242
6243 (define-public ghc-integer-logarithms-bootstrap
6244 (package
6245 (inherit ghc-integer-logarithms)
6246 (name "ghc-integer-logarithms-bootstrap")
6247 (arguments `(#:tests? #f))
6248 (native-inputs '())
6249 (properties '((hidden? #t)))))
6250
6251 (define-public ghc-interpolate
6252 (package
6253 (name "ghc-interpolate")
6254 (version "0.2.0")
6255 (source
6256 (origin
6257 (method url-fetch)
6258 (uri (string-append "https://hackage.haskell.org/package/interpolate/"
6259 "interpolate-" version ".tar.gz"))
6260 (sha256
6261 (base32
6262 "1gkaj98yz363v38fv78sqby236mp8yqwqcilx7kr2b9z0w3204bf"))))
6263 (build-system haskell-build-system)
6264 (inputs
6265 `(("ghc-haskell-src-meta" ,ghc-haskell-src-meta)))
6266 (native-inputs
6267 `(("ghc-base-compat" ,ghc-base-compat)
6268 ("ghc-hspec" ,ghc-hspec)
6269 ("ghc-quickcheck" ,ghc-quickcheck)
6270 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
6271 ("hspec-discover" ,hspec-discover)))
6272 (home-page "https://github.com/sol/interpolate")
6273 (synopsis "String interpolation library")
6274 (description "This package provides a string interpolation library for
6275 Haskell.")
6276 (license license:expat)))
6277
6278 (define-public ghc-intervalmap
6279 (package
6280 (name "ghc-intervalmap")
6281 (version "0.6.1.1")
6282 (source
6283 (origin
6284 (method url-fetch)
6285 (uri (string-append "https://hackage.haskell.org/package/IntervalMap/"
6286 "IntervalMap-" version ".tar.gz"))
6287 (sha256
6288 (base32
6289 "0vdlvxvhf7vjyv0mfn6jaj2i2gclqv8419ck32s2jxfcmki5m5g8"))))
6290 (build-system haskell-build-system)
6291 (native-inputs
6292 `(("ghc-quickcheck" ,ghc-quickcheck)))
6293 (home-page "http://www.chr-breitkopf.de/comp/IntervalMap")
6294 (synopsis "Containers for intervals, with efficient search")
6295 (description
6296 "This package provides ordered containers of intervals, with efficient
6297 search for all keys containing a point or overlapping an interval. See the
6298 example code on the home page for a quick introduction.")
6299 (license license:bsd-3)))
6300
6301 (define-public ghc-intervals
6302 (package
6303 (name "ghc-intervals")
6304 (version "0.8.1")
6305 (source
6306 (origin
6307 (method url-fetch)
6308 (uri (string-append "https://hackage.haskell.org/package/"
6309 "intervals/intervals-" version ".tar.gz"))
6310 (sha256
6311 (base32
6312 "00vyxf3ba9d7aas3npfapr53w71fslgh69fczjb25axr66fvzqww"))))
6313 (build-system haskell-build-system)
6314 (inputs
6315 `(("ghc-distributive" ,ghc-distributive)))
6316 (native-inputs
6317 `(("cabal-doctest" ,cabal-doctest)
6318 ("ghc-doctest" ,ghc-doctest)
6319 ("ghc-quickcheck" ,ghc-quickcheck)))
6320 (arguments
6321 `(#:cabal-revision
6322 ("4" "1qx3q0v13l1zaln9zdk8chxpxhshbz5x0vqm0qda7d1kpv7h6a7r")))
6323 (home-page "https://github.com/ekmett/intervals")
6324 (synopsis "Interval arithmetic")
6325 (description "This library provides
6326 @code{Numeric.Interval.Interval}, which represets a closed, convex set
6327 of floating point values.")
6328 (license license:bsd-3)))
6329
6330 (define-public ghc-invariant
6331 (package
6332 (name "ghc-invariant")
6333 (version "0.5.3")
6334 (source
6335 (origin
6336 (method url-fetch)
6337 (uri (string-append
6338 "https://hackage.haskell.org/package/invariant/invariant-"
6339 version ".tar.gz"))
6340 (sha256
6341 (base32
6342 "03245nhcqxx6b0yw81fzqaqd7cgllmx8awzhvs2xv7ys73pmsgnp"))))
6343 (build-system haskell-build-system)
6344 (inputs
6345 `(("ghc-bifunctors" ,ghc-bifunctors)
6346 ("ghc-comonad" ,ghc-comonad)
6347 ("ghc-contravariant" ,ghc-contravariant)
6348 ("ghc-profunctors" ,ghc-profunctors)
6349 ("ghc-semigroups" ,ghc-semigroups)
6350 ("ghc-statevar" ,ghc-statevar)
6351 ("ghc-tagged" ,ghc-tagged)
6352 ("ghc-th-abstraction" ,ghc-th-abstraction)
6353 ("ghc-transformers-compat" ,ghc-transformers-compat)
6354 ("ghc-unordered-containers" ,ghc-unordered-containers)))
6355 (native-inputs
6356 `(("ghc-hspec" ,ghc-hspec)
6357 ("ghc-quickcheck" ,ghc-quickcheck)
6358 ("hspec-discover" ,hspec-discover)))
6359 (home-page "https://github.com/nfrisby/invariant-functors")
6360 (synopsis "Haskell98 invariant functors")
6361 (description "Haskell98 invariant functors (also known as exponential
6362 functors). For more information, see Edward Kmett's article
6363 @uref{http://comonad.com/reader/2008/rotten-bananas/, Rotten Bananas}.")
6364 (license license:bsd-2)))
6365
6366 (define-public ghc-io-streams
6367 (package
6368 (name "ghc-io-streams")
6369 (version "1.5.1.0")
6370 (source
6371 (origin
6372 (method url-fetch)
6373 (uri (string-append "https://hackage.haskell.org/package/"
6374 "io-streams/io-streams-" version ".tar.gz"))
6375 (sha256
6376 (base32
6377 "1c7byr943x41nxpc3bnz152fvfbmakafq2958wyf9qiyp2pz18la"))))
6378 (build-system haskell-build-system)
6379 (inputs
6380 `(("ghc-attoparsec" ,ghc-attoparsec)
6381 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
6382 ("ghc-network" ,ghc-network)
6383 ("ghc-primitive" ,ghc-primitive)
6384 ("ghc-vector" ,ghc-vector)
6385 ("ghc-zlib-bindings" ,ghc-zlib-bindings)))
6386 (native-inputs
6387 `(("ghc-hunit" ,ghc-hunit)
6388 ("ghc-quickcheck" ,ghc-quickcheck)
6389 ("ghc-test-framework" ,ghc-test-framework)
6390 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6391 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
6392 ("ghc-zlib" ,ghc-zlib)))
6393 (home-page "https://hackage.haskell.org/package/io-streams")
6394 (synopsis "Simple and composable stream I/O")
6395 (description "This library contains simple and easy-to-use
6396 primitives for I/O using streams.")
6397 (license license:bsd-3)))
6398
6399 (define-public ghc-io-streams-haproxy
6400 (package
6401 (name "ghc-io-streams-haproxy")
6402 (version "1.0.1.0")
6403 (source
6404 (origin
6405 (method url-fetch)
6406 (uri (string-append "https://hackage.haskell.org/package/"
6407 "io-streams-haproxy/io-streams-haproxy-"
6408 version ".tar.gz"))
6409 (sha256
6410 (base32
6411 "1dcn5hd4fiwyq7m01r6fi93vfvygca5s6mz87c78m0zyj29clkmp"))))
6412 (build-system haskell-build-system)
6413 (inputs
6414 `(("ghc-attoparsec" ,ghc-attoparsec)
6415 ("ghc-io-streams" ,ghc-io-streams)
6416 ("ghc-network" ,ghc-network)))
6417 (native-inputs
6418 `(("ghc-hunit" ,ghc-hunit)
6419 ("ghc-test-framework" ,ghc-test-framework)
6420 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
6421 (home-page "http://snapframework.com/")
6422 (synopsis "HAProxy protocol 1.5 support for io-streams")
6423 (description "HAProxy protocol version 1.5 support
6424 (see @uref{http://haproxy.1wt.eu/download/1.5/doc/proxy-protocol.txt})
6425 for applications using io-streams. The proxy protocol allows information
6426 about a networked peer (like remote address and port) to be propagated
6427 through a forwarding proxy that is configured to speak this protocol.")
6428 (license license:bsd-3)))
6429
6430 (define-public ghc-iproute
6431 (package
6432 (name "ghc-iproute")
6433 (version "1.7.7")
6434 (source
6435 (origin
6436 (method url-fetch)
6437 (uri (string-append
6438 "https://hackage.haskell.org/package/iproute/iproute-"
6439 version
6440 ".tar.gz"))
6441 (sha256
6442 (base32
6443 "0gab5930nvzrpvisx3x43ydnp2rd4fbmy9cq1zpgqy1adx5gx8z6"))))
6444 (build-system haskell-build-system)
6445 (arguments `(#:tests? #f)) ; FIXME: Tests cannot find System.ByteOrder,
6446 ; exported by ghc-byteorder. Doctest issue.
6447 (inputs
6448 `(("ghc-appar" ,ghc-appar)
6449 ("ghc-byteorder" ,ghc-byteorder)
6450 ("ghc-network" ,ghc-network)
6451 ("ghc-safe" ,ghc-safe)))
6452 (home-page "https://www.mew.org/~kazu/proj/iproute/")
6453 (synopsis "IP routing table")
6454 (description "IP Routing Table is a tree of IP ranges to search one of
6455 them on the longest match base. It is a kind of TRIE with one way branching
6456 removed. Both IPv4 and IPv6 are supported.")
6457 (license license:bsd-3)))
6458
6459 (define-public ghc-ipynb
6460 (package
6461 (name "ghc-ipynb")
6462 (version "0.1")
6463 (source
6464 (origin
6465 (method url-fetch)
6466 (uri (string-append "https://hackage.haskell.org/package/"
6467 "ipynb/ipynb-" version ".tar.gz"))
6468 (sha256
6469 (base32
6470 "0daadhzil4q573mqb0rpvjzm0vpkzgzqcimw480qpvlh6rhppwj5"))))
6471 (build-system haskell-build-system)
6472 (inputs
6473 `(("ghc-unordered-containers" ,ghc-unordered-containers)
6474 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
6475 ("ghc-aeson" ,ghc-aeson)
6476 ("ghc-semigroups" ,ghc-semigroups)))
6477 (native-inputs
6478 `(("ghc-tasty" ,ghc-tasty)
6479 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6480 ("ghc-aeson-diff" ,ghc-aeson-diff)
6481 ("ghc-microlens-aeson" ,ghc-microlens-aeson)
6482 ("ghc-microlens" ,ghc-microlens)
6483 ("ghc-vector" ,ghc-vector)))
6484 (home-page "https://hackage.haskell.org/package/ipynb")
6485 (synopsis "Data structure for working with Jupyter notebooks")
6486 (description "This library defines a data structure for representing
6487 Jupyter notebooks, along with @code{ToJSON} and @code{FromJSON}
6488 instances for conversion to and from JSON .ipynb files.")
6489 (license license:bsd-3)))
6490
6491 (define-public ghc-iwlib
6492 (package
6493 (name "ghc-iwlib")
6494 (version "0.1.0")
6495 (source
6496 (origin
6497 (method url-fetch)
6498 (uri (string-append "https://hackage.haskell.org/package/iwlib/iwlib-"
6499 version ".tar.gz"))
6500 (sha256
6501 (base32 "0khmfwql4vwj55idsxmhjhrbqzfir3g9wm5lmpvnf77mm95cfpdz"))))
6502 (build-system haskell-build-system)
6503 (inputs
6504 `(("wireless-tools" ,wireless-tools)))
6505 (home-page "https://github.com/jaor/iwlib")
6506 (synopsis "Haskell binding to the iw wireless networking library")
6507 (description
6508 "IWlib is a thin Haskell binding to the iw C library. It provides
6509 information about the current wireless network connections, and adapters on
6510 supported systems.")
6511 (license license:bsd-3)))
6512
6513 (define-public ghc-json
6514 (package
6515 (name "ghc-json")
6516 (version "0.9.3")
6517 (source
6518 (origin
6519 (method url-fetch)
6520 (uri (string-append "https://hackage.haskell.org/package/json/"
6521 "json-" version ".tar.gz"))
6522 (sha256
6523 (base32
6524 "1z8s3mfg76p2flqqd2wqsi96l5bg8k8w8m58zlv81pw3k7h1vbwb"))))
6525 (build-system haskell-build-system)
6526 (inputs
6527 `(("ghc-syb" ,ghc-syb)))
6528 (home-page "https://hackage.haskell.org/package/json")
6529 (synopsis "Serializes Haskell data to and from JSON")
6530 (description "This package provides a parser and pretty printer for
6531 converting between Haskell values and JSON.
6532 JSON (JavaScript Object Notation) is a lightweight data-interchange format.")
6533 (license license:bsd-3)))
6534
6535 (define-public ghc-juicypixels
6536 (package
6537 (name "ghc-juicypixels")
6538 (version "3.3.4")
6539 (source (origin
6540 (method url-fetch)
6541 (uri (string-append "https://hackage.haskell.org/package/"
6542 "JuicyPixels/JuicyPixels-"
6543 version ".tar.gz"))
6544 (sha256
6545 (base32
6546 "0qacrnz2qcykj3f6c4k2p8qd31pa2slpv3ykfblgizrfh3401q6x"))))
6547 (build-system haskell-build-system)
6548 (inputs
6549 `(("ghc-zlib" ,ghc-zlib)
6550 ("ghc-vector" ,ghc-vector)
6551 ("ghc-primitive" ,ghc-primitive)
6552 ("ghc-mmap" ,ghc-mmap)))
6553 (home-page "https://github.com/Twinside/Juicy.Pixels")
6554 (synopsis "Picture loading and serialization library")
6555 (description
6556 "This library can load and store images in PNG, Bitmap, JPEG, Radiance,
6557 TIFF and GIF formats.")
6558 (license license:bsd-3)))
6559
6560 (define-public ghc-kan-extensions
6561 (package
6562 (name "ghc-kan-extensions")
6563 (version "5.2")
6564 (source
6565 (origin
6566 (method url-fetch)
6567 (uri (string-append
6568 "https://hackage.haskell.org/package/kan-extensions/kan-extensions-"
6569 version
6570 ".tar.gz"))
6571 (sha256
6572 (base32
6573 "1lyvyiwwh962j2nnnsqzlvp5zq6z8p3spvhmji99cjvldxc7wwkb"))))
6574 (build-system haskell-build-system)
6575 (inputs
6576 `(("ghc-adjunctions" ,ghc-adjunctions)
6577 ("ghc-comonad" ,ghc-comonad)
6578 ("ghc-contravariant" ,ghc-contravariant)
6579 ("ghc-distributive" ,ghc-distributive)
6580 ("ghc-free" ,ghc-free)
6581 ("ghc-invariant" ,ghc-invariant)
6582 ("ghc-semigroupoids" ,ghc-semigroupoids)
6583 ("ghc-tagged" ,ghc-tagged)
6584 ("ghc-transformers-compat" ,ghc-transformers-compat)))
6585 (home-page "https://github.com/ekmett/kan-extensions/")
6586 (synopsis "Kan extensions library")
6587 (description "This library provides Kan extensions, Kan lifts, various
6588 forms of the Yoneda lemma, and (co)density (co)monads for Haskell.")
6589 (license license:bsd-3)))
6590
6591 (define-public ghc-language-c
6592 (package
6593 (name "ghc-language-c")
6594 (version "0.8.3")
6595 (source
6596 (origin
6597 (method url-fetch)
6598 (uri (string-append "https://hackage.haskell.org/package/"
6599 "language-c/language-c-" version ".tar.gz"))
6600 (sha256
6601 (base32
6602 "0bi02jdirkys8v7flf39vrpla2a74z1z0sdhy9lb9v7cmcc6rmpk"))))
6603 (build-system haskell-build-system)
6604 (inputs `(("ghc-syb" ,ghc-syb)))
6605 (native-inputs
6606 `(("ghc-happy" ,ghc-happy)
6607 ("ghc-alex" ,ghc-alex)))
6608 (home-page "https://visq.github.io/language-c/")
6609 (synopsis "Analysis and generation of C code")
6610 (description
6611 "Language C is a Haskell library for the analysis and generation of C code.
6612 It features a complete, well-tested parser and pretty printer for all of C99
6613 and a large set of GNU extensions.")
6614 (license license:bsd-3)))
6615
6616 (define-public ghc-language-glsl
6617 (package
6618 (name "ghc-language-glsl")
6619 (version "0.3.0")
6620 (source
6621 (origin
6622 (method url-fetch)
6623 (uri (string-append "https://hackage.haskell.org/package/"
6624 "language-glsl/language-glsl-" version ".tar.gz"))
6625 (sha256
6626 (base32
6627 "0hdg67ainlqpjjghg3qin6fg4p783m0zmjqh4rd5gyizwiplxkp1"))))
6628 (build-system haskell-build-system)
6629 (inputs `(("ghc-prettyclass" ,ghc-prettyclass)))
6630 (arguments
6631 `(#:tests? #f
6632 #:cabal-revision
6633 ("1" "10ac9pk4jy75k03j1ns4b5136l4kw8krr2d2nw2fdmpm5jzyghc5")))
6634 (home-page "https://hackage.haskell.org/package/language-glsl")
6635 (synopsis "GLSL abstract syntax tree, parser, and pretty-printer")
6636 (description "This package is a Haskell library for the
6637 representation, parsing, and pretty-printing of GLSL 1.50 code.")
6638 (license license:bsd-3)))
6639
6640 (define-public ghc-language-haskell-extract
6641 (package
6642 (name "ghc-language-haskell-extract")
6643 (version "0.2.4")
6644 (source
6645 (origin
6646 (method url-fetch)
6647 (uri (string-append "https://hackage.haskell.org/package/"
6648 "language-haskell-extract-" version "/"
6649 "language-haskell-extract-" version ".tar.gz"))
6650 (sha256
6651 (base32
6652 "1nxcs7g8a1sp91bzpy4cj6s31k5pvc3gvig04cbrggv5cvjidnhl"))))
6653 (build-system haskell-build-system)
6654 (inputs
6655 `(("ghc-regex-posix" ,ghc-regex-posix)))
6656 (home-page "https://github.com/finnsson/template-helper")
6657 (synopsis "Haskell module to automatically extract functions from
6658 the local code")
6659 (description "This package contains helper functions on top of
6660 Template Haskell.
6661
6662 For example, @code{functionExtractor} extracts all functions after a
6663 regexp-pattern, which can be useful if you wish to extract all functions
6664 beginning with @code{test} (for a test framework) or all functions beginning
6665 with @code{wc} (for a web service).")
6666 (license license:bsd-3)))
6667
6668 (define-public ghc-lens
6669 (package
6670 (name "ghc-lens")
6671 (version "4.17.1")
6672 (source
6673 (origin
6674 (method url-fetch)
6675 (uri (string-append "https://hackage.haskell.org/package/lens/lens-"
6676 version ".tar.gz"))
6677 (sha256
6678 (base32
6679 "1gpkc53l2cggnfrgg5k4ih82rycjbdvpj9pnbi5cq8ms0dbvs4a7"))))
6680 (build-system haskell-build-system)
6681 (inputs
6682 `(("ghc-base-orphans" ,ghc-base-orphans)
6683 ("ghc-bifunctors" ,ghc-bifunctors)
6684 ("ghc-distributive" ,ghc-distributive)
6685 ("ghc-exceptions" ,ghc-exceptions)
6686 ("ghc-free" ,ghc-free)
6687 ("ghc-kan-extensions" ,ghc-kan-extensions)
6688 ("ghc-parallel" ,ghc-parallel)
6689 ("ghc-reflection" ,ghc-reflection)
6690 ("ghc-semigroupoids" ,ghc-semigroupoids)
6691 ("ghc-vector" ,ghc-vector)
6692 ("ghc-call-stack" ,ghc-call-stack)
6693 ("ghc-comonad" ,ghc-comonad)
6694 ("ghc-contravariant" ,ghc-contravariant)
6695 ("ghc-hashable" ,ghc-hashable)
6696 ("ghc-profunctors" ,ghc-profunctors)
6697 ("ghc-semigroups" ,ghc-semigroups)
6698 ("ghc-tagged" ,ghc-tagged)
6699 ("ghc-transformers-compat" ,ghc-transformers-compat)
6700 ("ghc-unordered-containers" ,ghc-unordered-containers)
6701 ("ghc-void" ,ghc-void)
6702 ("ghc-generic-deriving" ,ghc-generic-deriving)
6703 ("ghc-nats" ,ghc-nats)
6704 ("ghc-simple-reflect" ,ghc-simple-reflect)
6705 ("hlint" ,hlint)))
6706 (native-inputs
6707 `(("cabal-doctest" ,cabal-doctest)
6708 ("ghc-doctest" ,ghc-doctest)
6709 ("ghc-hunit" ,ghc-hunit)
6710 ("ghc-test-framework" ,ghc-test-framework)
6711 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6712 ("ghc-test-framework-th" ,ghc-test-framework-th)
6713 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
6714 ("ghc-quickcheck" ,ghc-quickcheck)))
6715 (home-page "https://github.com/ekmett/lens/")
6716 (synopsis "Lenses, Folds and Traversals")
6717 (description "This library provides @code{Control.Lens}. The combinators
6718 in @code{Control.Lens} provide a highly generic toolbox for composing families
6719 of getters, folds, isomorphisms, traversals, setters and lenses and their
6720 indexed variants.")
6721 (license license:bsd-3)))
6722
6723 (define-public ghc-lens-family-core
6724 (package
6725 (name "ghc-lens-family-core")
6726 (version "1.2.3")
6727 (source
6728 (origin
6729 (method url-fetch)
6730 (uri (string-append
6731 "mirror://hackage/package/lens-family-core/lens-family-core-"
6732 version
6733 ".tar.gz"))
6734 (sha256
6735 (base32
6736 "009rf10pj1cb50v44cc1pq7qvfrmkkk9dikahs9qmvbvgl3mykwi"))))
6737 (build-system haskell-build-system)
6738 (home-page
6739 "http://hackage.haskell.org/package/lens-family-core")
6740 (synopsis "Haskell 98 Lens Families")
6741 (description
6742 "This package provides first class functional references. In addition to
6743 the usual operations of getting, setting and composition, plus integration
6744 with the state monad, lens families provide some unique features:
6745
6746 @itemize
6747 @item Polymorphic updating
6748 @item Traversals
6749 @item Cast projection functions to read-only lenses
6750 @item Cast @code{toList} functions to read-only traversals
6751 @item Cast semantic editor combinators to modify-only traversals
6752 @end itemize
6753
6754 For optimal first-class support use the lens-family package with rank 2/rank N
6755 polymorphism. @code{Lens.Family.Clone} allows for first-class support of
6756 lenses and traversals for those who require Haskell 98.")
6757 (license license:bsd-3)))
6758
6759 (define-public ghc-libffi
6760 (package
6761 (name "ghc-libffi")
6762 (version "0.1")
6763 (source
6764 (origin
6765 (method url-fetch)
6766 (uri (string-append "https://hackage.haskell.org/package/"
6767 "libffi/libffi-" version ".tar.gz"))
6768 (sha256
6769 (base32
6770 "0g7jnhng3j7z5517aaqga0144aamibsbpgm3yynwyfzkq1kp0f28"))))
6771 (build-system haskell-build-system)
6772 (native-inputs `(("pkg-config" ,pkg-config)))
6773 (inputs `(("libffi" ,libffi)))
6774 (home-page "https://hackage.haskell.org/package/libffi")
6775 (synopsis "Haskell binding to libffi")
6776 (description
6777 "A binding to libffi, allowing C functions of types only known at runtime
6778 to be called from Haskell.")
6779 (license license:bsd-3)))
6780
6781 (define-public ghc-libmpd
6782 (package
6783 (name "ghc-libmpd")
6784 (version "0.9.0.10")
6785 (source
6786 (origin
6787 (method url-fetch)
6788 (uri (string-append
6789 "mirror://hackage/package/libmpd/libmpd-"
6790 version
6791 ".tar.gz"))
6792 (sha256
6793 (base32
6794 "0vy287mn1vk8kvij5i3hc0p02l886cpsq5dds7kl6g520si3abkb"))))
6795 (build-system haskell-build-system)
6796 ;; Tests fail on i686.
6797 ;; See https://github.com/vimus/libmpd-haskell/issues/112
6798 (arguments `(#:tests? #f))
6799 (inputs
6800 `(("ghc-attoparsec" ,ghc-attoparsec)
6801 ("ghc-old-locale" ,ghc-old-locale)
6802 ("ghc-data-default-class" ,ghc-data-default-class)
6803 ("ghc-network" ,ghc-network)
6804 ("ghc-safe-exceptions" ,ghc-safe-exceptions)
6805 ("ghc-utf8-string" ,ghc-utf8-string)))
6806 (native-inputs
6807 `(("ghc-quickcheck" ,ghc-quickcheck)
6808 ("ghc-hspec" ,ghc-hspec)
6809 ("hspec-discover" ,hspec-discover)))
6810 (home-page "https://github.com/vimus/libmpd-haskell")
6811 (synopsis "Haskell client library for the Music Player Daemon")
6812 (description "This package provides a pure Haskell client library for the
6813 Music Player Daemon.")
6814 (license license:expat)))
6815
6816 (define-public ghc-lib-parser
6817 (package
6818 (name "ghc-lib-parser")
6819 (version "8.8.0.20190424")
6820 (source
6821 (origin
6822 (method url-fetch)
6823 (uri (string-append "https://hackage.haskell.org/package/"
6824 "ghc-lib-parser/ghc-lib-parser-" version ".tar.gz"))
6825 (sha256
6826 (base32
6827 "12gsh994pr13bsybwlravmi21la66dyw74pk74yfw2pnz682wv10"))))
6828 (build-system haskell-build-system)
6829 (native-inputs
6830 `(("ghc-alex" ,ghc-alex)
6831 ("ghc-happy" ,ghc-happy)))
6832 (home-page "https://github.com/digital-asset/ghc-lib")
6833 (synopsis "The GHC API, decoupled from GHC versions")
6834 (description "This library implements the GHC API. It is like the
6835 compiler-provided @code{ghc} package, but it can be loaded on many
6836 compiler versions.")
6837 (license license:bsd-3)))
6838
6839 (define-public ghc-libxml
6840 (package
6841 (name "ghc-libxml")
6842 (version "0.1.1")
6843 (source
6844 (origin
6845 (method url-fetch)
6846 (uri (string-append "https://hackage.haskell.org/package/libxml/"
6847 "libxml-" version ".tar.gz"))
6848 (sha256
6849 (base32
6850 "01zvk86kg726lf2vnlr7dxiz7g3xwi5a4ak9gcfbwyhynkzjmsfi"))))
6851 (build-system haskell-build-system)
6852 (inputs
6853 `(("libxml2" ,libxml2)))
6854 (arguments
6855 `(#:configure-flags
6856 `(,(string-append "--extra-include-dirs="
6857 (assoc-ref %build-inputs "libxml2")
6858 "/include/libxml2"))))
6859 (home-page "https://hackage.haskell.org/package/libxml")
6860 (synopsis "Haskell bindings to libxml2")
6861 (description
6862 "This library provides minimal Haskell binding to libxml2.")
6863 (license license:bsd-3)))
6864
6865 (define-public ghc-libyaml
6866 (package
6867 (name "ghc-libyaml")
6868 (version "0.1.1.0")
6869 (source
6870 (origin
6871 (method url-fetch)
6872 (uri (string-append "https://hackage.haskell.org/package/"
6873 "libyaml/libyaml-" version ".tar.gz"))
6874 (sha256
6875 (base32
6876 "0psznm9c3yjsyj9aj8m2svvv9m2v0x90hnwarcx5sbswyi3l00va"))
6877 (modules '((guix build utils)))
6878 (snippet
6879 ;; Delete bundled LibYAML.
6880 '(begin
6881 (delete-file-recursively "libyaml_src")
6882 #t))))
6883 (build-system haskell-build-system)
6884 (arguments
6885 `(#:configure-flags `("--flags=system-libyaml")))
6886 (inputs
6887 `(("ghc-conduit" ,ghc-conduit)
6888 ("ghc-resourcet" ,ghc-resourcet)
6889 ("libyaml" ,libyaml)))
6890 (home-page "https://github.com/snoyberg/yaml#readme")
6891 (synopsis "Low-level, streaming YAML interface.")
6892 (description "This package provides a Haskell wrapper over the
6893 LibYAML C library.")
6894 (license license:bsd-3)))
6895
6896 (define-public ghc-lifted-async
6897 (package
6898 (name "ghc-lifted-async")
6899 (version "0.10.0.4")
6900 (source
6901 (origin
6902 (method url-fetch)
6903 (uri (string-append
6904 "https://hackage.haskell.org/package/lifted-async/lifted-async-"
6905 version ".tar.gz"))
6906 (sha256
6907 (base32
6908 "0cwl1d0wjpdk0v1l1qxiqiksmak950c8gx169c1q77cg0z18ijf9"))))
6909 (build-system haskell-build-system)
6910 (inputs
6911 `(("ghc-async" ,ghc-async)
6912 ("ghc-lifted-base" ,ghc-lifted-base)
6913 ("ghc-transformers-base" ,ghc-transformers-base)
6914 ("ghc-monad-control" ,ghc-monad-control)
6915 ("ghc-constraints" ,ghc-constraints)
6916 ("ghc-hunit" ,ghc-hunit)
6917 ("ghc-tasty" ,ghc-tasty)
6918 ("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
6919 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6920 ("ghc-tasty-th" ,ghc-tasty-th)))
6921 (home-page "https://github.com/maoe/lifted-async")
6922 (synopsis "Run lifted IO operations asynchronously and wait for their results")
6923 (description
6924 "This package provides IO operations from @code{async} package lifted to any
6925 instance of @code{MonadBase} or @code{MonadBaseControl}.")
6926 (license license:bsd-3)))
6927
6928 (define-public ghc-lifted-base
6929 (package
6930 (name "ghc-lifted-base")
6931 (version "0.2.3.12")
6932 (source
6933 (origin
6934 (method url-fetch)
6935 (uri (string-append
6936 "https://hackage.haskell.org/package/lifted-base/lifted-base-"
6937 version
6938 ".tar.gz"))
6939 (sha256
6940 (base32
6941 "1i8p8d3rkdh21bhgjjh32vd7qqjr7jq7p59qds0aw2kmargsjd61"))))
6942 (build-system haskell-build-system)
6943 (arguments `(#:tests? #f)) ; FIXME: Missing testing libraries.
6944 (inputs
6945 `(("ghc-transformers-base" ,ghc-transformers-base)
6946 ("ghc-monad-control" ,ghc-monad-control)
6947 ("ghc-transformers-compat" ,ghc-transformers-compat)
6948 ("ghc-hunit" ,ghc-hunit)))
6949 (home-page "https://github.com/basvandijk/lifted-base")
6950 (synopsis "Lifted IO operations from the base library")
6951 (description "Lifted-base exports IO operations from the @code{base}
6952 library lifted to any instance of @code{MonadBase} or @code{MonadBaseControl}.
6953 Note that not all modules from @code{base} are converted yet. The package
6954 includes a copy of the @code{monad-peel} test suite written by Anders
6955 Kaseorg.")
6956 (license license:bsd-3)))
6957
6958 (define-public ghc-linear
6959 (package
6960 (name "ghc-linear")
6961 (version "1.20.9")
6962 (source
6963 (origin
6964 (method url-fetch)
6965 (uri (string-append "https://hackage.haskell.org/package/linear/"
6966 "linear-" version ".tar.gz"))
6967 (sha256
6968 (base32
6969 "0h7yqigq593n7wsl7nz6a5f137wznm7y679wsii0ph0zsc4v5af5"))))
6970 (build-system haskell-build-system)
6971 (inputs
6972 `(("ghc-adjunctions" ,ghc-adjunctions)
6973 ("ghc-base-orphans" ,ghc-base-orphans)
6974 ("ghc-bytes" ,ghc-bytes)
6975 ("ghc-cereal" ,ghc-cereal)
6976 ("ghc-distributive" ,ghc-distributive)
6977 ("ghc-hashable" ,ghc-hashable)
6978 ("ghc-lens" ,ghc-lens)
6979 ("ghc-reflection" ,ghc-reflection)
6980 ("ghc-semigroups" ,ghc-semigroups)
6981 ("ghc-semigroupoids" ,ghc-semigroupoids)
6982 ("ghc-tagged" ,ghc-tagged)
6983 ("ghc-transformers-compat" ,ghc-transformers-compat)
6984 ("ghc-unordered-containers" ,ghc-unordered-containers)
6985 ("ghc-vector" ,ghc-vector)
6986 ("ghc-void" ,ghc-void)))
6987 (native-inputs
6988 `(("cabal-doctest" ,cabal-doctest)
6989 ("ghc-doctest" ,ghc-doctest)
6990 ("ghc-simple-reflect" ,ghc-simple-reflect)
6991 ("ghc-test-framework" ,ghc-test-framework)
6992 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6993 ("ghc-hunit" ,ghc-hunit)))
6994 (home-page "https://github.com/ekmett/linear/")
6995 (synopsis "Linear algebra library for Haskell")
6996 (description
6997 "This package provides types and combinators for linear algebra on free
6998 vector spaces.")
6999 (license license:bsd-3)))
7000
7001 (define-public ghc-listlike
7002 (package
7003 (name "ghc-listlike")
7004 (version "4.6.2")
7005 (source
7006 (origin
7007 (method url-fetch)
7008 (uri
7009 (string-append
7010 "https://hackage.haskell.org/package/ListLike/ListLike-"
7011 version ".tar.gz"))
7012 (sha256
7013 (base32
7014 "0m65x8yaq7q50gznln8mga2wrc8cvjx6gw9rim8s7xqcrx6y5zjh"))))
7015 (build-system haskell-build-system)
7016 (inputs
7017 `(("ghc-vector" ,ghc-vector)
7018 ("ghc-dlist" ,ghc-dlist)
7019 ("ghc-fmlist" ,ghc-fmlist)
7020 ("ghc-hunit" ,ghc-hunit)
7021 ("ghc-quickcheck" ,ghc-quickcheck)
7022 ("ghc-random" ,ghc-random)
7023 ("ghc-utf8-string" ,ghc-utf8-string)))
7024 (home-page "https://github.com/JohnLato/listlike")
7025 (synopsis "Generic support for list-like structures")
7026 (description "The ListLike module provides a common interface to the
7027 various Haskell types that are list-like. Predefined interfaces include
7028 standard Haskell lists, Arrays, ByteStrings, and lazy ByteStrings.
7029 Custom types can easily be made ListLike instances as well.
7030
7031 ListLike also provides for String-like types, such as String and
7032 ByteString, for types that support input and output, and for types that
7033 can handle infinite lists.")
7034 (license license:bsd-3)))
7035
7036 (define-public ghc-llvm-hs-pure
7037 (package
7038 (name "ghc-llvm-hs-pure")
7039 (version "9.0.0")
7040 (source
7041 (origin
7042 (method url-fetch)
7043 (uri (string-append "https://hackage.haskell.org/package/llvm-hs-pure/"
7044 "llvm-hs-pure-" version ".tar.gz"))
7045 (sha256
7046 (base32
7047 "0pxb5ah8r5pzpz2ibqw3g9g1isigb4z7pbzfrwr8kmcjn74ab3kf"))))
7048 (build-system haskell-build-system)
7049 (inputs
7050 `(("ghc-attoparsec" ,ghc-attoparsec)
7051 ("ghc-fail" ,ghc-fail)
7052 ("ghc-unordered-containers" ,ghc-unordered-containers)))
7053 (native-inputs
7054 `(("ghc-tasty" ,ghc-tasty)
7055 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
7056 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
7057 (home-page "https://github.com/llvm-hs/llvm-hs/")
7058 (synopsis "Pure Haskell LLVM functionality (no FFI)")
7059 (description "llvm-hs-pure is a set of pure Haskell types and functions
7060 for interacting with LLVM. It includes an algebraic datatype (ADT) to represent
7061 LLVM IR. The llvm-hs package builds on this one with FFI bindings to LLVM, but
7062 llvm-hs-pure does not require LLVM to be available.")
7063 (license license:bsd-3)))
7064
7065 (define-public ghc-llvm-hs
7066 (package
7067 (name "ghc-llvm-hs")
7068 (version "9.0.1")
7069 (source
7070 (origin
7071 (method url-fetch)
7072 (uri (string-append "https://hackage.haskell.org/package/llvm-hs/llvm-hs-"
7073 version ".tar.gz"))
7074 (sha256
7075 (base32
7076 "0723xgh45h9cyxmmjsvxnsp8bpn1ljy4qgh7a7vqq3sj9d6wzq00"))))
7077 (build-system haskell-build-system)
7078 (inputs
7079 `(("ghc-attoparsec" ,ghc-attoparsec)
7080 ("ghc-exceptions" ,ghc-exceptions)
7081 ("ghc-utf8-string" ,ghc-utf8-string)
7082 ("ghc-llvm-hs-pure" ,ghc-llvm-hs-pure)
7083 ("llvm" ,llvm-9)))
7084 (native-inputs
7085 `(("ghc-tasty" ,ghc-tasty)
7086 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
7087 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
7088 ("ghc-quickcheck" ,ghc-quickcheck)
7089 ("ghc-temporary" ,ghc-temporary)
7090 ("ghc-pretty-show" ,ghc-pretty-show)
7091 ("ghc-temporary" ,ghc-temporary)))
7092 (home-page "https://github.com/llvm-hs/llvm-hs/")
7093 (synopsis "General purpose LLVM bindings for Haskell")
7094 (description "llvm-hs is a set of Haskell bindings for LLVM. Unlike other
7095 current Haskell bindings, it uses an algebraic datatype (ADT) to represent LLVM
7096 IR, and so offers two advantages: it handles almost all of the stateful
7097 complexities of using the LLVM API to build IR; and it supports moving IR not
7098 only from Haskell into LLVM C++ objects, but the other direction - from LLVM C++
7099 into Haskell.")
7100 (license license:bsd-3)))
7101
7102 (define-public ghc-logging-facade
7103 (package
7104 (name "ghc-logging-facade")
7105 (version "0.3.0")
7106 (source (origin
7107 (method url-fetch)
7108 (uri (string-append "https://hackage.haskell.org/package/"
7109 "logging-facade/logging-facade-"
7110 version ".tar.gz"))
7111 (sha256
7112 (base32
7113 "0d0lwxxgd16is9aw6v3ps4r9prv3dj8xscmm45fvzq3nicjiawcf"))))
7114 (build-system haskell-build-system)
7115 (native-inputs
7116 `(("ghc-hspec" ,ghc-hspec)
7117 ("hspec-discover" ,hspec-discover)))
7118 (home-page "https://hackage.haskell.org/package/logging-facade")
7119 (synopsis "Simple logging abstraction that allows multiple back-ends")
7120 (description
7121 "This package provides a simple logging abstraction that allows multiple
7122 back-ends.")
7123 (license license:expat)))
7124
7125 (define-public ghc-logict
7126 (package
7127 (name "ghc-logict")
7128 (version "0.7.0.2")
7129 (source
7130 (origin
7131 (method url-fetch)
7132 (uri (string-append
7133 "https://hackage.haskell.org/package/logict/logict-"
7134 version
7135 ".tar.gz"))
7136 (sha256
7137 (base32
7138 "1xfgdsxg0lp8m0a2cb83rcxrnnc37asfikay2kydi933anh9ihfc"))))
7139 (build-system haskell-build-system)
7140 (native-inputs
7141 `(("ghc-tasty" ,ghc-tasty)
7142 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
7143 (home-page "http://code.haskell.org/~dolio/")
7144 (synopsis "Backtracking logic-programming monad")
7145 (description "This library provides a continuation-based, backtracking,
7146 logic programming monad. An adaptation of the two-continuation implementation
7147 found in the paper \"Backtracking, Interleaving, and Terminating Monad
7148 Transformers\" available @uref{http://okmij.org/ftp/papers/LogicT.pdf,
7149 online}.")
7150 (license license:bsd-3)))
7151
7152 (define-public ghc-lzma
7153 (package
7154 (name "ghc-lzma")
7155 (version "0.0.0.3")
7156 (source
7157 (origin
7158 (method url-fetch)
7159 (uri (string-append "https://hackage.haskell.org/package/lzma/"
7160 "lzma-" version ".tar.gz"))
7161 (sha256
7162 (base32
7163 "0i416gqi8j55nd1pqbkxvf3f6hn6fjys6gq98lkkxphva71j30xg"))))
7164 (build-system haskell-build-system)
7165 (arguments
7166 '(#:tests? #f ; requires older versions of QuickCheck and tasty.
7167 #:cabal-revision
7168 ("3" "1sify6gnsalyp6dakfzi0mdy5jcz2kcp9jsdsgkmxd40nfzgd44m")))
7169 (native-inputs
7170 `(("ghc-hunit" ,ghc-hunit)
7171 ("ghc-quickcheck" ,ghc-quickcheck)
7172 ("ghc-tasty" ,ghc-tasty)
7173 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
7174 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
7175 (home-page "https://github.com/hvr/lzma")
7176 (synopsis "LZMA/XZ compression and decompression")
7177 (description
7178 "This package provides a pure interface for compressing and
7179 decompressing LZMA streams of data represented as lazy @code{ByteString}s. A
7180 monadic incremental interface is provided as well.")
7181 (license license:bsd-3)))
7182
7183 (define-public ghc-lzma-conduit
7184 (package
7185 (name "ghc-lzma-conduit")
7186 (version "1.2.1")
7187 (source
7188 (origin
7189 (method url-fetch)
7190 (uri (string-append "https://hackage.haskell.org/package/lzma-conduit/"
7191 "lzma-conduit-" version ".tar.gz"))
7192 (sha256
7193 (base32
7194 "0hm72da7xk9l3zxjh274yg444vf405djxqbkf3q3p2qhicmxlmg9"))))
7195 (build-system haskell-build-system)
7196 (inputs
7197 `(("ghc-conduit" ,ghc-conduit)
7198 ("ghc-lzma" ,ghc-lzma)
7199 ("ghc-resourcet" ,ghc-resourcet)))
7200 (native-inputs
7201 `(("ghc-base-compat" ,ghc-base-compat)
7202 ("ghc-test-framework" ,ghc-test-framework)
7203 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7204 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
7205 ("ghc-hunit" ,ghc-hunit)
7206 ("ghc-quickcheck" ,ghc-quickcheck)))
7207 (home-page "https://github.com/alphaHeavy/lzma-conduit")
7208 (synopsis "Conduit interface for lzma/xz compression")
7209 (description
7210 "This package provides a @code{Conduit} interface for the LZMA
7211 compression algorithm used in the @code{.xz} file format.")
7212 (license license:bsd-3)))
7213
7214 (define-public ghc-magic
7215 (package
7216 (name "ghc-magic")
7217 (version "1.1")
7218 (source
7219 (origin
7220 (method url-fetch)
7221 (uri (string-append
7222 "https://hackage.haskell.org/package/magic/magic-"
7223 version ".tar.gz"))
7224 (sha256
7225 (base32
7226 "10p0gjjjwr1dda7hahwrwn5njbfhl67arq3v3nf1jr3vymlkn75j"))))
7227 (build-system haskell-build-system)
7228 (home-page "https://hackage.haskell.org/package/magic")
7229 (synopsis "Interface to C file/magic library")
7230 (description
7231 "This package provides a full-featured binding to the C libmagic library.
7232 With it, you can determine the type of a file by examining its contents rather
7233 than its name.")
7234 (license license:bsd-3)))
7235
7236 (define-public ghc-managed
7237 (package
7238 (name "ghc-managed")
7239 (version "1.0.6")
7240 (source
7241 (origin
7242 (method url-fetch)
7243 (uri (string-append
7244 "mirror://hackage/package/managed/managed-"
7245 version
7246 ".tar.gz"))
7247 (sha256
7248 (base32
7249 "1kbrw99yh5x5blykmx2n88mplbbi4ss1ij5j17b7asw6q0ihm9zi"))))
7250 (build-system haskell-build-system)
7251 (home-page "http://hackage.haskell.org/package/managed")
7252 (synopsis "Monad for managed values")
7253 (description
7254 "In Haskell you very often acquire values using the with... idiom using
7255 functions of type (a -> IO r) -> IO r. This idiom forms a Monad, which is a
7256 special case of the ContT monad (from transformers) or the Codensity
7257 monad (from kan-extensions). The main purpose behind this package is to
7258 provide a restricted form of these monads specialized to this unusually common
7259 case.
7260
7261 The reason this package defines a specialized version of these types
7262 is to:
7263
7264 @itemize
7265 @item be more beginner-friendly,
7266 @item simplify inferred types and error messages, and:
7267 @item provide some additional type class instances that would otherwise be
7268 orphan instances
7269 @end itemize")
7270 (license license:bsd-3)))
7271
7272 (define-public ghc-markdown-unlit
7273 (package
7274 (name "ghc-markdown-unlit")
7275 (version "0.5.0")
7276 (source (origin
7277 (method url-fetch)
7278 (uri (string-append
7279 "mirror://hackage/package/markdown-unlit/"
7280 "markdown-unlit-" version ".tar.gz"))
7281 (sha256
7282 (base32
7283 "1gy79vr85vcp13rdjh0hz7zv6daqqffww4j0cqn2lpjjh9xhsbg7"))))
7284 (build-system haskell-build-system)
7285 (inputs
7286 `(("ghc-base-compat" ,ghc-base-compat)
7287 ("ghc-hspec" ,ghc-hspec)
7288 ("ghc-quickcheck" ,ghc-quickcheck)
7289 ("ghc-silently" ,ghc-silently)
7290 ("ghc-stringbuilder" ,ghc-stringbuilder)
7291 ("ghc-temporary" ,ghc-temporary)
7292 ("hspec-discover" ,hspec-discover)))
7293 (home-page "https://github.com/sol/markdown-unlit#readme")
7294 (synopsis "Literate Haskell support for Markdown")
7295 (description "This package allows you to have a README.md that at the
7296 same time is a literate Haskell program.")
7297 (license license:expat)))
7298
7299 (define-public ghc-math-functions
7300 (package
7301 (name "ghc-math-functions")
7302 (version "0.3.3.0")
7303 (source
7304 (origin
7305 (method url-fetch)
7306 (uri (string-append "https://hackage.haskell.org/package/"
7307 "math-functions-" version "/"
7308 "math-functions-" version ".tar.gz"))
7309 (sha256
7310 (base32
7311 "1s5nbs40sc3r4z08n0j8bw40cy0zkp03fjjn3p27zkd4fvm9kib3"))))
7312 (build-system haskell-build-system)
7313 (arguments `(#:tests? #f)) ; FIXME: 1 test fails.
7314 (inputs
7315 `(("ghc-data-default-class" ,ghc-data-default-class)
7316 ("ghc-vector" ,ghc-vector)
7317 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)))
7318 (native-inputs
7319 `(("ghc-hunit" ,ghc-hunit)
7320 ("ghc-quickcheck" ,ghc-quickcheck)
7321 ("ghc-erf" ,ghc-erf)
7322 ("ghc-test-framework" ,ghc-test-framework)
7323 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7324 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
7325 (home-page "https://github.com/bos/math-functions")
7326 (synopsis "Special functions and Chebyshev polynomials for Haskell")
7327 (description "This Haskell library provides implementations of
7328 special mathematical functions and Chebyshev polynomials. These
7329 functions are often useful in statistical and numerical computing.")
7330 (license license:bsd-3)))
7331
7332 (define-public ghc-megaparsec
7333 (package
7334 (name "ghc-megaparsec")
7335 (version "7.0.5")
7336 (source
7337 (origin
7338 (method url-fetch)
7339 (uri (string-append "https://hackage.haskell.org/package/"
7340 "megaparsec/megaparsec-"
7341 version ".tar.gz"))
7342 (sha256
7343 (base32
7344 "0bqx1icbmk8s7wmbcdzsgnlh607c7kzg8l80cp02dxr5valjxp7j"))))
7345 (build-system haskell-build-system)
7346 (inputs
7347 `(("ghc-case-insensitive" ,ghc-case-insensitive)
7348 ("ghc-parser-combinators" ,ghc-parser-combinators)
7349 ("ghc-scientific" ,ghc-scientific)))
7350 (native-inputs
7351 `(("ghc-quickcheck" ,ghc-quickcheck)
7352 ("ghc-hspec" ,ghc-hspec)
7353 ("ghc-hspec-expectations" ,ghc-hspec-expectations)
7354 ("hspec-discover" ,hspec-discover)))
7355 (home-page "https://github.com/mrkkrp/megaparsec")
7356 (synopsis "Monadic parser combinators")
7357 (description
7358 "This is an industrial-strength monadic parser combinator library.
7359 Megaparsec is a feature-rich package that strikes a nice balance between
7360 speed, flexibility, and quality of parse errors.")
7361 (license license:bsd-2)))
7362
7363 (define-public ghc-memory
7364 (package
7365 (name "ghc-memory")
7366 (version "0.14.18")
7367 (source (origin
7368 (method url-fetch)
7369 (uri (string-append "https://hackage.haskell.org/package/"
7370 "memory/memory-" version ".tar.gz"))
7371 (sha256
7372 (base32
7373 "01rmq3vagxzjmm96qnfxk4f0516cn12bp5m8inn8h5r918bqsigm"))))
7374 (build-system haskell-build-system)
7375 (inputs
7376 `(("ghc-basement" ,ghc-basement)
7377 ("ghc-foundation" ,ghc-foundation)))
7378 (native-inputs
7379 `(("ghc-tasty" ,ghc-tasty)
7380 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
7381 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
7382 (home-page "https://github.com/vincenthz/hs-memory")
7383 (synopsis "Memory abstractions for Haskell")
7384 (description
7385 "This package provides memory abstractions, such as chunk of memory,
7386 polymorphic byte array management and manipulation functions. It contains a
7387 polymorphic byte array abstraction and functions similar to strict ByteString,
7388 different type of byte array abstraction, raw memory IO operations (memory
7389 set, memory copy, ..) and more")
7390 (license license:bsd-3)))
7391
7392 (define-public ghc-memotrie
7393 (package
7394 (name "ghc-memotrie")
7395 (version "0.6.9")
7396 (source
7397 (origin
7398 (method url-fetch)
7399 (uri (string-append
7400 "https://hackage.haskell.org/package/MemoTrie/MemoTrie-"
7401 version
7402 ".tar.gz"))
7403 (sha256
7404 (base32
7405 "157p0pi6rrq74a35mq6zkkycv4ah7xhkbrcmnkb9xf7pznw4aq0x"))))
7406 (build-system haskell-build-system)
7407 (inputs
7408 `(("ghc-newtype-generics" ,ghc-newtype-generics)))
7409 (home-page "https://github.com/conal/MemoTrie")
7410 (synopsis "Trie-based memo functions")
7411 (description "This package provides a functional library for creating
7412 efficient memo functions using tries.")
7413 (license license:bsd-3)))
7414
7415 (define-public ghc-microlens
7416 (package
7417 (name "ghc-microlens")
7418 (version "0.4.10")
7419 (source
7420 (origin
7421 (method url-fetch)
7422 (uri (string-append "https://hackage.haskell.org/package/"
7423 "microlens-" version "/"
7424 "microlens-" version ".tar.gz"))
7425 (sha256
7426 (base32
7427 "1v277yyy4p9q57xr2lfp6qs24agglfczmcabrapxrzci3jfshmcw"))))
7428 (build-system haskell-build-system)
7429 (home-page
7430 "https://github.com/aelve/microlens")
7431 (synopsis "Provides a tiny lens Haskell library with no dependencies")
7432 (description "This Haskell package provides a lens library, just like
7433 @code{ghc-lens}, but smaller. It provides essential lenses and
7434 traversals (like @code{_1} and @code{_Just}), as well as ones which are simply
7435 nice to have (like @code{each}, @code{at}, and @code{ix}), and some
7436 combinators (like @code{failing} and @code{singular}), but everything else is
7437 stripped. As the result, this package has no dependencies.")
7438 (license license:bsd-3)))
7439
7440 (define-public ghc-microlens-aeson
7441 (package
7442 (name "ghc-microlens-aeson")
7443 (version "2.3.0.4")
7444 (source
7445 (origin
7446 (method url-fetch)
7447 (uri (string-append "https://hackage.haskell.org/package/"
7448 "microlens-aeson/microlens-aeson-"
7449 version ".tar.gz"))
7450 (patches (search-patches "ghc-microlens-aeson-fix-tests.patch"))
7451 (sha256
7452 (base32
7453 "0w630kk5bnily1qh41081gqgbwmslrh5ad21899gwnb2r3jripyw"))))
7454 (build-system haskell-build-system)
7455 (inputs
7456 `(("ghc-aeson" ,ghc-aeson)
7457 ("ghc-attoparsec" ,ghc-attoparsec)
7458 ("ghc-hashable" ,ghc-hashable)
7459 ("ghc-microlens" ,ghc-microlens)
7460 ("ghc-scientific" ,ghc-scientific)
7461 ("ghc-unordered-containers" ,ghc-unordered-containers)
7462 ("ghc-vector" ,ghc-vector)))
7463 (native-inputs
7464 `(("ghc-tasty" ,ghc-tasty)
7465 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
7466 (home-page "https://github.com/fosskers/microlens-aeson")
7467 (synopsis "Law-abiding lenses for Aeson, using microlens")
7468 (description "This library provides law-abiding lenses for Aeson, using
7469 microlens.")
7470 (license license:expat)))
7471
7472 (define-public ghc-microlens-ghc
7473 (package
7474 (name "ghc-microlens-ghc")
7475 (version "0.4.10")
7476 (source
7477 (origin
7478 (method url-fetch)
7479 (uri (string-append
7480 "https://hackage.haskell.org/package/microlens-ghc/microlens-ghc-"
7481 version
7482 ".tar.gz"))
7483 (sha256
7484 (base32
7485 "102dbrdsdadxbbhvx8avv1wbk84767a7lkb8ckp3zxk9g7qlly33"))))
7486 (build-system haskell-build-system)
7487 (inputs `(("ghc-microlens" ,ghc-microlens)))
7488 (home-page "https://github.com/monadfix/microlens")
7489 (synopsis "Use @code{microlens} with GHC libraries like @code{array}")
7490 (description "This library provides everything that @code{microlens}
7491 provides plus instances to make @code{each}, @code{at}, and @code{ix}
7492 usable with arrays, @code{ByteString}, and containers. This package is
7493 a part of the @uref{http://hackage.haskell.org/package/microlens,
7494 microlens} family; see the readme
7495 @uref{https://github.com/aelve/microlens#readme, on Github}.")
7496 (license license:bsd-3)))
7497
7498 (define-public ghc-microlens-mtl
7499 (package
7500 (name "ghc-microlens-mtl")
7501 (version "0.1.11.1")
7502 (source
7503 (origin
7504 (method url-fetch)
7505 (uri (string-append
7506 "https://hackage.haskell.org/package/microlens-mtl/microlens-mtl-"
7507 version
7508 ".tar.gz"))
7509 (sha256
7510 (base32
7511 "0l6z1gkzwcpv89bxf5vgfrjb6gq2pj7sjjc53nvi5b9alx34zryk"))))
7512 (build-system haskell-build-system)
7513 (inputs
7514 `(("ghc-microlens" ,ghc-microlens)
7515 ("ghc-transformers-compat" ,ghc-transformers-compat)))
7516 (home-page "https://github.com/monadfix/microlens")
7517 (synopsis
7518 "@code{microlens} support for Reader/Writer/State from mtl")
7519 (description
7520 "This package contains functions (like @code{view} or @code{+=}) which
7521 work on @code{MonadReader}, @code{MonadWriter}, and @code{MonadState} from the
7522 mtl package. This package is a part of the
7523 @uref{http://hackage.haskell.org/package/microlens, microlens} family; see the
7524 readme @uref{https://github.com/aelve/microlens#readme, on Github}.")
7525 (license license:bsd-3)))
7526
7527 (define-public ghc-microlens-platform
7528 (package
7529 (name "ghc-microlens-platform")
7530 (version "0.3.11")
7531 (source
7532 (origin
7533 (method url-fetch)
7534 (uri (string-append
7535 "https://hackage.haskell.org/package/"
7536 "microlens-platform/microlens-platform-" version ".tar.gz"))
7537 (sha256
7538 (base32
7539 "18950lxgmsg5ksvyyi3zs1smjmb1qf1q73a3p3g44bh21miz0xwb"))))
7540 (build-system haskell-build-system)
7541 (inputs
7542 `(("ghc-hashable" ,ghc-hashable)
7543 ("ghc-microlens" ,ghc-microlens)
7544 ("ghc-microlens-ghc" ,ghc-microlens-ghc)
7545 ("ghc-microlens-mtl" ,ghc-microlens-mtl)
7546 ("ghc-microlens-th" ,ghc-microlens-th)
7547 ("ghc-unordered-containers" ,ghc-unordered-containers)
7548 ("ghc-vector" ,ghc-vector)))
7549 (home-page "https://github.com/monadfix/microlens")
7550 (synopsis "Feature-complete microlens")
7551 (description
7552 "This package exports a module which is the recommended starting point
7553 for using @uref{http://hackage.haskell.org/package/microlens, microlens} if
7554 you aren't trying to keep your dependencies minimal. By importing
7555 @code{Lens.Micro.Platform} you get all functions and instances from
7556 @uref{http://hackage.haskell.org/package/microlens, microlens},
7557 @uref{http://hackage.haskell.org/package/microlens-th, microlens-th},
7558 @uref{http://hackage.haskell.org/package/microlens-mtl, microlens-mtl},
7559 @uref{http://hackage.haskell.org/package/microlens-ghc, microlens-ghc}, as
7560 well as instances for @code{Vector}, @code{Text}, and @code{HashMap}. The
7561 minor and major versions of @code{microlens-platform} are incremented whenever
7562 the minor and major versions of any other @code{microlens} package are
7563 incremented, so you can depend on the exact version of
7564 @code{microlens-platform} without specifying the version of @code{microlens}
7565 you need. This package is a part of the
7566 @uref{http://hackage.haskell.org/package/microlens, microlens} family; see the
7567 readme @uref{https://github.com/aelve/microlens#readme, on Github}.")
7568 (license license:bsd-3)))
7569
7570 (define-public ghc-microlens-th
7571 (package
7572 (name "ghc-microlens-th")
7573 (version "0.4.2.3")
7574 (source
7575 (origin
7576 (method url-fetch)
7577 (uri (string-append "https://hackage.haskell.org/package/"
7578 "microlens-th-" version "/"
7579 "microlens-th-" version ".tar.gz"))
7580 (sha256
7581 (base32
7582 "13qw0pwcgd6f6i39rwgqwcwk1d4da5x7wv3gna7gdlxaq331h41j"))))
7583 (build-system haskell-build-system)
7584 (arguments
7585 `(#:cabal-revision
7586 ("1" "167in7b1qhgrspx81bdm2jyg9qji66sk7id282c0s99kmp0d01n6")))
7587 (inputs `(("ghc-microlens" ,ghc-microlens)
7588 ("ghc-th-abstraction" ,ghc-th-abstraction)))
7589 (home-page
7590 "https://github.com/aelve/microlens")
7591 (synopsis "Automatic generation of record lenses for
7592 @code{ghc-microlens}")
7593 (description "This Haskell package lets you automatically generate lenses
7594 for data types; code was extracted from the lens package, and therefore
7595 generated lenses are fully compatible with ones generated by lens (and can be
7596 used both from lens and microlens).")
7597 (license license:bsd-3)))
7598
7599 (define-public ghc-missingh
7600 (package
7601 (name "ghc-missingh")
7602 (version "1.4.1.0")
7603 (source
7604 (origin
7605 (method url-fetch)
7606 (uri (string-append "https://hackage.haskell.org/package/MissingH/"
7607 "MissingH-" version ".tar.gz"))
7608 (sha256
7609 (base32
7610 "1jp0vk6w9a7fzrbxfhx773105jp2s1n50klq9ak6spfl7bgx5v29"))))
7611 (build-system haskell-build-system)
7612 ;; Tests require the unmaintained testpack package, which depends on the
7613 ;; outdated QuickCheck version 2.7, which can no longer be built with
7614 ;; recent versions of GHC and Haskell libraries.
7615 (arguments '(#:tests? #f))
7616 (inputs
7617 `(("ghc-network" ,ghc-network)
7618 ("ghc-hunit" ,ghc-hunit)
7619 ("ghc-regex-compat" ,ghc-regex-compat)
7620 ("ghc-hslogger" ,ghc-hslogger)
7621 ("ghc-random" ,ghc-random)
7622 ("ghc-old-time" ,ghc-old-time)
7623 ("ghc-old-locale" ,ghc-old-locale)))
7624 (native-inputs
7625 `(("ghc-errorcall-eq-instance" ,ghc-errorcall-eq-instance)
7626 ("ghc-quickcheck" ,ghc-quickcheck)
7627 ("ghc-hunit" ,ghc-hunit)))
7628 (home-page "https://software.complete.org/missingh")
7629 (synopsis "Large utility library")
7630 (description
7631 "MissingH is a library of all sorts of utility functions for Haskell
7632 programmers. It is written in pure Haskell and thus should be extremely
7633 portable and easy to use.")
7634 (license license:bsd-3)))
7635
7636 (define-public ghc-mmap
7637 (package
7638 (name "ghc-mmap")
7639 (version "0.5.9")
7640 (source (origin
7641 (method url-fetch)
7642 (uri (string-append "https://hackage.haskell.org/package/"
7643 "mmap/mmap-" version ".tar.gz"))
7644 (sha256
7645 (base32
7646 "1y5mk3yf4b8r6rzmlx1xqn4skaigrqnv08sqq0v7r3nbw42bpz2q"))))
7647 (build-system haskell-build-system)
7648 (home-page "https://hackage.haskell.org/package/mmap")
7649 (synopsis "Memory mapped files for Haskell")
7650 (description
7651 "This library provides a wrapper to @code{mmap}, allowing files or
7652 devices to be lazily loaded into memory as strict or lazy @code{ByteStrings},
7653 @code{ForeignPtrs} or plain @code{Ptrs}, using the virtual memory subsystem to
7654 do on-demand loading.")
7655 (license license:bsd-3)))
7656
7657 (define-public ghc-mmorph
7658 (package
7659 (name "ghc-mmorph")
7660 (version "1.1.3")
7661 (source
7662 (origin
7663 (method url-fetch)
7664 (uri (string-append
7665 "https://hackage.haskell.org/package/mmorph/mmorph-"
7666 version
7667 ".tar.gz"))
7668 (sha256
7669 (base32
7670 "0rfsy9n9mlinpmqi2s17fhc67fzma2ig5fbmh6m5m830canzf8vr"))))
7671 (build-system haskell-build-system)
7672 (inputs
7673 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
7674 (home-page "https://hackage.haskell.org/package/mmorph")
7675 (synopsis "Monad morphisms")
7676 (description
7677 "This library provides monad morphism utilities, most commonly used for
7678 manipulating monad transformer stacks.")
7679 (license license:bsd-3)))
7680
7681 (define-public ghc-mockery
7682 (package
7683 (name "ghc-mockery")
7684 (version "0.3.5")
7685 (source (origin
7686 (method url-fetch)
7687 (uri (string-append "https://hackage.haskell.org/package/"
7688 "mockery/mockery-" version ".tar.gz"))
7689 (sha256
7690 (base32
7691 "09ypgm3z69gq8mj6y66ss58kbjnk15r8frwcwbqcfbfksfnfv8dp"))))
7692 (build-system haskell-build-system)
7693 (inputs
7694 `(("ghc-temporary" ,ghc-temporary)
7695 ("ghc-logging-facade" ,ghc-logging-facade)
7696 ("ghc-base-compat" ,ghc-base-compat)))
7697 (native-inputs
7698 `(("ghc-hspec" ,ghc-hspec)
7699 ("hspec-discover" ,hspec-discover)))
7700 (home-page "https://hackage.haskell.org/package/mockery")
7701 (synopsis "Support functions for automated testing")
7702 (description
7703 "The mockery package provides support functions for automated testing.")
7704 (license license:expat)))
7705
7706 (define-public ghc-monad-control
7707 (package
7708 (name "ghc-monad-control")
7709 (version "1.0.2.3")
7710 (source
7711 (origin
7712 (method url-fetch)
7713 (uri (string-append
7714 "https://hackage.haskell.org/package/monad-control"
7715 "/monad-control-" version ".tar.gz"))
7716 (sha256
7717 (base32
7718 "1c92833gr6cadidjdp8mlznkpp8lyxl0w3y7d19y8yi3klc3843c"))))
7719 (build-system haskell-build-system)
7720 (inputs
7721 `(("ghc-transformers-base" ,ghc-transformers-base)
7722 ("ghc-transformers-compat" ,ghc-transformers-compat)))
7723 (home-page "https://github.com/basvandijk/monad-control")
7724 (synopsis "Monad transformers to lift control operations like exception
7725 catching")
7726 (description "This package defines the type class @code{MonadBaseControl},
7727 a subset of @code{MonadBase} into which generic control operations such as
7728 @code{catch} can be lifted from @code{IO} or any other base monad.")
7729 (license license:bsd-3)))
7730
7731 (define-public ghc-monad-logger
7732 (package
7733 (name "ghc-monad-logger")
7734 (version "0.3.30")
7735 (source
7736 (origin
7737 (method url-fetch)
7738 (uri (string-append "https://hackage.haskell.org/package/"
7739 "monad-logger-" version "/"
7740 "monad-logger-" version ".tar.gz"))
7741 (sha256
7742 (base32
7743 "102l0v75hbvkmrypiyg4ybb6rbc7nij5nxs1aihmqfdpg04rkkp7"))))
7744 (build-system haskell-build-system)
7745 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
7746 ("ghc-stm-chans" ,ghc-stm-chans)
7747 ("ghc-lifted-base" ,ghc-lifted-base)
7748 ("ghc-resourcet" ,ghc-resourcet)
7749 ("ghc-conduit" ,ghc-conduit)
7750 ("ghc-conduit-extra" ,ghc-conduit-extra)
7751 ("ghc-fast-logger" ,ghc-fast-logger)
7752 ("ghc-transformers-base" ,ghc-transformers-base)
7753 ("ghc-monad-control" ,ghc-monad-control)
7754 ("ghc-monad-loops" ,ghc-monad-loops)
7755 ("ghc-blaze-builder" ,ghc-blaze-builder)
7756 ("ghc-exceptions" ,ghc-exceptions)))
7757 (home-page "https://github.com/kazu-yamamoto/logger")
7758 (synopsis "Provides a class of monads which can log messages for Haskell")
7759 (description "This Haskell package uses a monad transformer approach
7760 for logging.
7761
7762 This package provides Template Haskell functions for determining source
7763 code locations of messages.")
7764 (license license:expat)))
7765
7766 (define-public ghc-monad-loops
7767 (package
7768 (name "ghc-monad-loops")
7769 (version "0.4.3")
7770 (source
7771 (origin
7772 (method url-fetch)
7773 (uri (string-append "https://hackage.haskell.org/package/"
7774 "monad-loops-" version "/"
7775 "monad-loops-" version ".tar.gz"))
7776 (sha256
7777 (base32
7778 "062c2sn3hc8h50p1mhqkpyv6x8dydz2zh3ridvlfjq9nqimszaky"))))
7779 (build-system haskell-build-system)
7780 (native-inputs `(("ghc-tasty" ,ghc-tasty)
7781 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
7782 (home-page "https://github.com/mokus0/monad-loops")
7783 (synopsis "Monadic loops for Haskell")
7784 (description "This Haskell package provides some useful control
7785 operators for looping.")
7786 (license license:public-domain)))
7787
7788 (define-public ghc-monad-par
7789 (package
7790 (name "ghc-monad-par")
7791 (version "0.3.4.8")
7792 (source
7793 (origin
7794 (method url-fetch)
7795 (uri (string-append "https://hackage.haskell.org/package/"
7796 "monad-par-" version "/"
7797 "monad-par-" version ".tar.gz"))
7798 (patches (search-patches "ghc-monad-par-fix-tests.patch"))
7799 (sha256
7800 (base32
7801 "0ldrzqy24fsszvn2a2nr77m2ih7xm0h9bgkjyv1l274aj18xyk7q"))))
7802 (build-system haskell-build-system)
7803 (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
7804 ("ghc-abstract-deque" ,ghc-abstract-deque)
7805 ("ghc-monad-par-extras" ,ghc-monad-par-extras)
7806 ("ghc-mwc-random" ,ghc-mwc-random)
7807 ("ghc-parallel" ,ghc-parallel)))
7808 (native-inputs `(("ghc-quickcheck" ,ghc-quickcheck)
7809 ("ghc-hunit" ,ghc-hunit)
7810 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7811 ("ghc-test-framework-quickcheck2"
7812 ,ghc-test-framework-quickcheck2)
7813 ("ghc-test-framework" ,ghc-test-framework)
7814 ("ghc-test-framework-th" ,ghc-test-framework-th)))
7815 (home-page "https://github.com/simonmar/monad-par")
7816 (synopsis "Haskell library for parallel programming based on a monad")
7817 (description "The @code{Par} monad offers an API for parallel
7818 programming. The library works for parallelising both pure and @code{IO}
7819 computations, although only the pure version is deterministic. The default
7820 implementation provides a work-stealing scheduler and supports forking tasks
7821 that are much lighter weight than IO-threads.")
7822 (license license:bsd-3)))
7823
7824 (define-public ghc-monad-par-extras
7825 (package
7826 (name "ghc-monad-par-extras")
7827 (version "0.3.3")
7828 (source
7829 (origin
7830 (method url-fetch)
7831 (uri (string-append "https://hackage.haskell.org/package/"
7832 "monad-par-extras-" version "/"
7833 "monad-par-extras-" version ".tar.gz"))
7834 (sha256
7835 (base32
7836 "0bl4bd6jzdc5zm20q1g67ppkfh6j6yn8fwj6msjayj621cck67p2"))))
7837 (build-system haskell-build-system)
7838 (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
7839 ("ghc-cereal" ,ghc-cereal)
7840 ("ghc-random" ,ghc-random)))
7841 (home-page "https://github.com/simonmar/monad-par")
7842 (synopsis "Combinators and extra features for Par monads for Haskell")
7843 (description "This Haskell package provides additional data structures,
7844 and other added capabilities layered on top of the @code{Par} monad.")
7845 (license license:bsd-3)))
7846
7847 (define-public ghc-monadrandom
7848 (package
7849 (name "ghc-monadrandom")
7850 (version "0.5.1.1")
7851 (source
7852 (origin
7853 (method url-fetch)
7854 (uri (string-append "https://hackage.haskell.org/package/"
7855 "MonadRandom-" version "/"
7856 "MonadRandom-" version ".tar.gz"))
7857 (sha256
7858 (base32
7859 "0w44jl1n3kqvqaflh82l1wj3xxbhzfs3kf4m8rk7w6fgg8llmnmb"))))
7860 (build-system haskell-build-system)
7861 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
7862 ("ghc-primitive" ,ghc-primitive)
7863 ("ghc-fail" ,ghc-fail)
7864 ("ghc-random" ,ghc-random)))
7865 (home-page "https://github.com/byorgey/MonadRandom")
7866 (synopsis "Random-number generation monad for Haskell")
7867 (description "This Haskell package provides support for computations
7868 which consume random values.")
7869 (license license:bsd-3)))
7870
7871 (define-public ghc-monads-tf
7872 (package
7873 (name "ghc-monads-tf")
7874 (version "0.1.0.3")
7875 (source
7876 (origin
7877 (method url-fetch)
7878 (uri (string-append
7879 "https://hackage.haskell.org/package/monads-tf/monads-tf-"
7880 version ".tar.gz"))
7881 (sha256
7882 (base32
7883 "1wdhskwa6dw8qljbvwpyxj8ca6y95q2np7z4y4q6bpf4anmd5794"))))
7884 (build-system haskell-build-system)
7885 (home-page "https://hackage.haskell.org/package/monads-tf")
7886 (synopsis "Monad classes, using type families")
7887 (description
7888 "Monad classes using type families, with instances for various monad transformers,
7889 inspired by the paper 'Functional Programming with Overloading and Higher-Order
7890 Polymorphism', by Mark P Jones. This package is almost a compatible replacement for
7891 the @code{mtl-tf} package.")
7892 (license license:bsd-3)))
7893
7894 (define-public ghc-mono-traversable
7895 (package
7896 (name "ghc-mono-traversable")
7897 (version "1.0.13.0")
7898 (source
7899 (origin
7900 (method url-fetch)
7901 (uri (string-append "https://hackage.haskell.org/package/"
7902 "mono-traversable-" version "/"
7903 "mono-traversable-" version ".tar.gz"))
7904 (sha256
7905 (base32
7906 "1bqy982lpdb83lacfy76n8kqw5bvd31avxj25kg8gkgycdh0g0ma"))))
7907 (build-system haskell-build-system)
7908 (inputs `(("ghc-unordered-containers" ,ghc-unordered-containers)
7909 ("ghc-hashable" ,ghc-hashable)
7910 ("ghc-vector" ,ghc-vector)
7911 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
7912 ("ghc-split" ,ghc-split)))
7913 (native-inputs `(("ghc-hspec" ,ghc-hspec)
7914 ("ghc-hunit" ,ghc-hunit)
7915 ("ghc-quickcheck" ,ghc-quickcheck)
7916 ("ghc-semigroups" ,ghc-semigroups)
7917 ("ghc-foldl" ,ghc-foldl)))
7918 (home-page "https://github.com/snoyberg/mono-traversable")
7919 (synopsis "Haskell classes for mapping, folding, and traversing monomorphic
7920 containers")
7921 (description "This Haskell package provides Monomorphic variants of the
7922 Functor, Foldable, and Traversable typeclasses. If you understand Haskell's
7923 basic typeclasses, you understand mono-traversable. In addition to what
7924 you are used to, it adds on an IsSequence typeclass and has code for marking
7925 data structures as non-empty.")
7926 (license license:expat)))
7927
7928 (define-public ghc-monoid-extras
7929 (package
7930 (name "ghc-monoid-extras")
7931 (version "0.5.1")
7932 (source
7933 (origin
7934 (method url-fetch)
7935 (uri (string-append "https://hackage.haskell.org/package/"
7936 "monoid-extras/monoid-extras-" version ".tar.gz"))
7937 (sha256
7938 (base32
7939 "0xfrkgqn9d31z54l617m3w3kkd5m9vjb4yl247r3zzql3mpb1f37"))))
7940 (build-system haskell-build-system)
7941 (inputs
7942 `(("ghc-groups" ,ghc-groups)
7943 ("ghc-semigroups" ,ghc-semigroups)
7944 ("ghc-semigroupoids" ,ghc-semigroupoids)))
7945 (arguments
7946 `(#:cabal-revision
7947 ("1" "0b8x5d6vh7mpigvjvcd8f38a1nyzn1vfdqypslw7z9fgsr742913")))
7948 (home-page "https://hackage.haskell.org/package/monoid-extras")
7949 (synopsis "Various extra monoid-related definitions and utilities")
7950 (description "This package provides various extra monoid-related
7951 definitions and utilities, such as monoid actions, monoid coproducts,
7952 semi-direct products, \"deletable\" monoids, \"split\" monoids, and
7953 \"cut\" monoids.")
7954 (license license:bsd-3)))
7955
7956 (define-public ghc-mtl-compat
7957 (package
7958 (name "ghc-mtl-compat")
7959 (version "0.2.2")
7960 (source
7961 (origin
7962 (method url-fetch)
7963 (uri (string-append
7964 "mirror://hackage/package/mtl-compat/mtl-compat-"
7965 version
7966 ".tar.gz"))
7967 (sha256
7968 (base32
7969 "17iszr5yb4f17g8mq6i74hsamii8z6m2qfsmgzs78mhiwa7kjm8r"))))
7970 (build-system haskell-build-system)
7971 (home-page
7972 "https://github.com/haskell-compat/mtl-compat")
7973 (synopsis
7974 "Backported Control.Monad.Except module from mtl")
7975 (description
7976 "This package backports the Control.Monad.Except module from mtl (if
7977 using mtl-2.2.0.1 or earlier), which reexports the ExceptT monad transformer
7978 and the MonadError class.
7979
7980 This package should only be used if there is a need to use the
7981 Control.Monad.Except module specifically. If you just want the mtl class
7982 instances for ExceptT, use transformers-compat instead, since mtl-compat does
7983 nothing but reexport the instances from that package.
7984
7985 Note that unlike how mtl-2.2 or later works, the Control.Monad.Except
7986 module defined in this package exports all of ExceptT's monad class instances.
7987 Therefore, you may have to declare @code{import Control.Monad.Except ()} at
7988 the top of your file to get all of the ExceptT instances in scope.")
7989 (license license:bsd-3)))
7990
7991 (define-public ghc-murmur-hash
7992 (package
7993 (name "ghc-murmur-hash")
7994 (version "0.1.0.9")
7995 (source
7996 (origin
7997 (method url-fetch)
7998 (uri (string-append "https://hackage.haskell.org/package/murmur-hash"
7999 "/murmur-hash-" version ".tar.gz"))
8000 (sha256
8001 (base32 "1bb58kfnzvx3mpc0rc0dhqc1fk36nm8prd6gvf20gk6lxaadpfc9"))))
8002 (build-system haskell-build-system)
8003 (home-page "https://github.com/nominolo/murmur-hash")
8004 (synopsis "MurmurHash2 implementation for Haskell")
8005 (description
8006 "This package provides an implementation of MurmurHash2, a good, fast,
8007 general-purpose, non-cryptographic hashing function. See
8008 @url{https://sites.google.com/site/murmurhash/} for details. This
8009 implementation is pure Haskell, so it might be a bit slower than a C FFI
8010 binding.")
8011 (license license:bsd-3)))
8012
8013 (define-public ghc-mwc-random
8014 (package
8015 (name "ghc-mwc-random")
8016 (version "0.14.0.0")
8017 (source
8018 (origin
8019 (method url-fetch)
8020 (uri (string-append "https://hackage.haskell.org/package/"
8021 "mwc-random-" version "/"
8022 "mwc-random-" version ".tar.gz"))
8023 (sha256
8024 (base32
8025 "18pg24sw3b79b32cwx8q01q4k0lm34mwr3l6cdkchl8alvd0wdq0"))))
8026 (build-system haskell-build-system)
8027 (inputs
8028 `(("ghc-primitive" ,ghc-primitive)
8029 ("ghc-vector" ,ghc-vector)
8030 ("ghc-math-functions" ,ghc-math-functions)))
8031 (arguments
8032 `(#:tests? #f)) ; FIXME: Test-Suite `spec` fails.
8033 (native-inputs
8034 `(("ghc-hunit" ,ghc-hunit)
8035 ("ghc-quickcheck" ,ghc-quickcheck)
8036 ("ghc-test-framework" ,ghc-test-framework)
8037 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
8038 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
8039 (home-page "https://github.com/bos/mwc-random")
8040 (synopsis "Random number generation library for Haskell")
8041 (description "This Haskell package contains code for generating
8042 high quality random numbers that follow either a uniform or normal
8043 distribution. The generated numbers are suitable for use in
8044 statistical applications.
8045
8046 The uniform PRNG uses Marsaglia's MWC256 (also known as MWC8222)
8047 multiply-with-carry generator, which has a period of 2^{8222} and
8048 fares well in tests of randomness. It is also extremely fast,
8049 between 2 and 3 times faster than the Mersenne Twister.")
8050 (license license:bsd-3)))
8051
8052 (define-public ghc-nats
8053 (package
8054 (name "ghc-nats")
8055 (version "1.1.2")
8056 (source
8057 (origin
8058 (method url-fetch)
8059 (uri (string-append
8060 "https://hackage.haskell.org/package/nats/nats-"
8061 version
8062 ".tar.gz"))
8063 (sha256
8064 (base32
8065 "1v40drmhixck3pz3mdfghamh73l4rp71mzcviipv1y8jhrfxilmr"))))
8066 (build-system haskell-build-system)
8067 (arguments `(#:haddock? #f))
8068 (inputs
8069 `(("ghc-hashable" ,ghc-hashable)))
8070 (home-page "https://hackage.haskell.org/package/nats")
8071 (synopsis "Natural numbers")
8072 (description "This library provides the natural numbers for Haskell.")
8073 (license license:bsd-3)))
8074
8075 (define-public ghc-nats-bootstrap
8076 (package
8077 (inherit ghc-nats)
8078 (name "ghc-nats-bootstrap")
8079 (inputs
8080 `(("ghc-hashable" ,ghc-hashable-bootstrap)))
8081 (properties '((hidden? #t)))))
8082
8083 (define-public ghc-ncurses
8084 (package
8085 (name "ghc-ncurses")
8086 (version "0.2.16")
8087 (source
8088 (origin
8089 (method url-fetch)
8090 (uri (string-append
8091 "https://hackage.haskell.org/package/ncurses/ncurses-"
8092 version ".tar.gz"))
8093 (sha256
8094 (base32
8095 "0gsyyaqyh5r9zc0rhwpj5spyd6i4w2vj61h4nihgmmh0yyqvf3z5"))))
8096 (build-system haskell-build-system)
8097 (arguments
8098 '(#:phases
8099 (modify-phases %standard-phases
8100 (add-before 'build 'fix-includes
8101 (lambda _
8102 (substitute* '("cbits/hsncurses-shim.h"
8103 "lib/UI/NCurses.chs"
8104 "lib/UI/NCurses/Enums.chs"
8105 "lib/UI/NCurses/Panel.chs")
8106 (("<ncursesw/") "<"))
8107 #t)))
8108 #:cabal-revision
8109 ("1"
8110 "1wfdy716s5p1sqp2gsg43x8wch2dxg0vmbbndlb2h3d8c9jzxnca")))
8111 (inputs `(("ncurses" ,ncurses)))
8112 (native-inputs `(("ghc-c2hs" ,ghc-c2hs)))
8113 (home-page "https://john-millikin.com/software/haskell-ncurses/")
8114 (synopsis "Modernised bindings to GNU ncurses")
8115 (description "GNU ncurses is a library for creating command-line application
8116 with pseudo-graphical interfaces. This package is a nice, modern binding to GNU
8117 ncurses.")
8118 (license license:gpl3)))
8119
8120 (define-public ghc-network
8121 (package
8122 (name "ghc-network")
8123 (version "2.8.0.1")
8124 (outputs '("out" "doc"))
8125 (source
8126 (origin
8127 (method url-fetch)
8128 (uri (string-append
8129 "https://hackage.haskell.org/package/network/network-"
8130 version
8131 ".tar.gz"))
8132 (sha256
8133 (base32
8134 "0im8k51rw3ahmr23ny10pshwbz09jfg0fdpam0hzf2hgxnzmvxb1"))))
8135 (build-system haskell-build-system)
8136 ;; The regression tests depend on an unpublished module.
8137 (arguments `(#:tests? #f))
8138 (native-inputs
8139 `(("ghc-hunit" ,ghc-hunit)
8140 ("ghc-doctest" ,ghc-doctest)
8141 ("ghc-test-framework" ,ghc-test-framework)
8142 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
8143 (home-page "https://github.com/haskell/network")
8144 (synopsis "Low-level networking interface")
8145 (description
8146 "This package provides a low-level networking interface.")
8147 (license license:bsd-3)))
8148
8149 (define-public ghc-network-bsd
8150 (package
8151 (name "ghc-network-bsd")
8152 (version "2.8.0.0")
8153 (source
8154 (origin
8155 (method url-fetch)
8156 (uri (string-append "https://hackage.haskell.org/package/"
8157 "network-bsd/network-bsd-" version ".tar.gz"))
8158 (sha256
8159 (base32
8160 "0dfbwgrr28y6ypw7p1ppqg7v746qf14569q4xazj4ahdjw2xkpi5"))))
8161 (build-system haskell-build-system)
8162 (inputs
8163 `(("ghc-network" ,ghc-network)))
8164 (home-page "https://github.com/haskell/network-bsd")
8165 (synopsis "POSIX network database (<netdb.h>) API")
8166 (description "This package provides Haskell bindings to the the POSIX
8167 network database (<netdb.h>) API.")
8168 (license license:bsd-3)))
8169
8170 (define-public ghc-network-byte-order
8171 (package
8172 (name "ghc-network-byte-order")
8173 (version "0.1.1.1")
8174 (source
8175 (origin
8176 (method url-fetch)
8177 (uri (string-append "https://hackage.haskell.org/package/"
8178 "network-byte-order/network-byte-order-"
8179 version ".tar.gz"))
8180 (sha256
8181 (base32
8182 "19cs6157amcc925vwr92q1azwwzkbam5g0k70i6qi80fhpikh37c"))))
8183 (build-system haskell-build-system)
8184 (native-inputs
8185 `(("ghc-doctest" ,ghc-doctest)))
8186 (home-page "https://hackage.haskell.org/package/network-byte-order")
8187 (synopsis "Network byte order utilities")
8188 (description "This library provides peek and poke functions for network
8189 byte order.")
8190 (license license:bsd-3)))
8191
8192 (define-public ghc-network-info
8193 (package
8194 (name "ghc-network-info")
8195 (version "0.2.0.10")
8196 (source
8197 (origin
8198 (method url-fetch)
8199 (uri (string-append "https://hackage.haskell.org/package/"
8200 "network-info-" version "/"
8201 "network-info-" version ".tar.gz"))
8202 (sha256
8203 (base32
8204 "0anmgzcpnz7nw3n6vq0r25m1s9l2svpwi83wza0lzkrlbnbzd02n"))))
8205 (build-system haskell-build-system)
8206 (home-page "https://github.com/jystic/network-info")
8207 (synopsis "Access the local computer's basic network configuration")
8208 (description "This Haskell library provides simple read-only access to the
8209 local computer's networking configuration. It is currently capable of
8210 getting a list of all the network interfaces and their respective
8211 IPv4, IPv6 and MAC addresses.")
8212 (license license:bsd-3)))
8213
8214 (define-public ghc-network-uri
8215 (package
8216 (name "ghc-network-uri")
8217 (version "2.6.1.0")
8218 (outputs '("out" "doc"))
8219 (source
8220 (origin
8221 (method url-fetch)
8222 (uri (string-append
8223 "https://hackage.haskell.org/package/network-uri/network-uri-"
8224 version
8225 ".tar.gz"))
8226 (sha256
8227 (base32
8228 "1w27zkvn39kjr9lmw9421y8w43h572ycsfafsb7kyvr3a4ihlgj2"))))
8229 (build-system haskell-build-system)
8230 (arguments
8231 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
8232 (inputs
8233 `(("ghc-network" ,ghc-network)))
8234 (native-inputs
8235 `(("ghc-hunit" ,ghc-hunit)))
8236 (home-page
8237 "https://github.com/haskell/network-uri")
8238 (synopsis "Library for URI manipulation")
8239 (description "This package provides an URI manipulation interface. In
8240 @code{network-2.6} the @code{Network.URI} module was split off from the
8241 @code{network} package into this package.")
8242 (license license:bsd-3)))
8243
8244 (define-public ghc-newtype-generics
8245 (package
8246 (name "ghc-newtype-generics")
8247 (version "0.5.4")
8248 (source
8249 (origin
8250 (method url-fetch)
8251 (uri (string-append "https://hackage.haskell.org/package/"
8252 "newtype-generics/newtype-generics-"
8253 version ".tar.gz"))
8254 (sha256
8255 (base32
8256 "0cprfg4n0z62cnix1qrbc79bfdd4s50b05fj9m9hk6vm1pc3szq0"))))
8257 (build-system haskell-build-system)
8258 (native-inputs
8259 `(("ghc-hspec" ,ghc-hspec)
8260 ("hspec-discover" ,hspec-discover)))
8261 (home-page "https://github.com/sjakobi/newtype-generics")
8262 (synopsis "Typeclass and set of functions for working with newtypes")
8263 (description "The @code{Newtype} typeclass represents the packing and
8264 unpacking of a newtype, and allows you to operate under that newtype with
8265 functions such as @code{ala}. Generics support was added in version 0.4,
8266 making this package a full replacement for the original newtype package,
8267 and an alternative to newtype-th.")
8268 (license license:bsd-3)))
8269
8270 (define-public ghc-non-negative
8271 (package
8272 (name "ghc-non-negative")
8273 (version "0.1.2")
8274 (source
8275 (origin
8276 (method url-fetch)
8277 (uri
8278 (string-append
8279 "https://hackage.haskell.org/package/non-negative/non-negative-"
8280 version ".tar.gz"))
8281 (sha256
8282 (base32
8283 "0f01q916dzkl1i0v15qrw9cviycki5g3fgi6x8gs45iwbzssq52n"))))
8284 (build-system haskell-build-system)
8285 (inputs
8286 `(("ghc-semigroups" ,ghc-semigroups)
8287 ("ghc-utility-ht" ,ghc-utility-ht)
8288 ("ghc-quickcheck" ,ghc-quickcheck)))
8289 (home-page "https://hackage.haskell.org/package/non-negative")
8290 (synopsis "Non-negative numbers class")
8291 (description "This library provides a class for non-negative numbers,
8292 a wrapper which can turn any ordered numeric type into a member of that
8293 class, and a lazy number type for non-negative numbers (a generalization
8294 of Peano numbers).")
8295 (license license:gpl3+)))
8296
8297 (define-public ghc-nonce
8298 (package
8299 (name "ghc-nonce")
8300 (version "1.0.7")
8301 (source
8302 (origin
8303 (method url-fetch)
8304 (uri (string-append
8305 "https://hackage.haskell.org/package/nonce/"
8306 "nonce-" version ".tar.gz"))
8307 (sha256
8308 (base32
8309 "1q9ph0aq51mvdvydnriqd12sfin36pfb8f588zgac1ybn8r64ksb"))))
8310 (build-system haskell-build-system)
8311 (inputs
8312 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
8313 ("ghc-entropy" ,ghc-entropy)
8314 ("ghc-unliftio" ,ghc-unliftio)
8315 ("ghc-unliftio-core" ,ghc-unliftio-core)))
8316 (home-page "https://github.com/prowdsponsor/nonce")
8317 (synopsis "Generate cryptographic nonces in Haskell")
8318 (description
8319 "A nonce is an arbitrary number used only once in a cryptographic
8320 communication. This package contain helper functions for generating nonces.
8321 There are many kinds of nonces used in different situations. It's not
8322 guaranteed that by using the nonces from this package you won't have any
8323 security issues. Please make sure that the nonces generated via this
8324 package are usable on your design.")
8325 (license license:bsd-3)))
8326
8327 (define-public ghc-numeric-extras
8328 (package
8329 (name "ghc-numeric-extras")
8330 (version "0.1")
8331 (source
8332 (origin
8333 (method url-fetch)
8334 (uri (string-append "https://hackage.haskell.org/package/"
8335 "numeric-extras/numeric-extras-"
8336 version ".tar.gz"))
8337 (sha256
8338 (base32
8339 "1mk11c0gz1yjy5b8dvq6czfny57pln0bs7x28fz38qyr44872067"))))
8340 (build-system haskell-build-system)
8341 (home-page "https://github.com/ekmett/numeric-extras")
8342 (synopsis "Useful tools from the C standard library")
8343 (description "This library provides some useful tools from the C
8344 standard library.")
8345 (license license:bsd-3)))
8346
8347 (define-public ghc-objectname
8348 (package
8349 (name "ghc-objectname")
8350 (version "1.1.0.1")
8351 (source
8352 (origin
8353 (method url-fetch)
8354 (uri (string-append
8355 "https://hackage.haskell.org/package/ObjectName/ObjectName-"
8356 version
8357 ".tar.gz"))
8358 (sha256
8359 (base32
8360 "046jm94rmm46cicd31pl54vdvfjvhd9ffbfycy2lxzc0fliyznvj"))))
8361 (build-system haskell-build-system)
8362 (home-page "https://hackage.haskell.org/package/ObjectName")
8363 (synopsis "Helper library for Haskell OpenGL")
8364 (description "This tiny package contains the class ObjectName, which
8365 corresponds to the general notion of explicitly handled identifiers for API
8366 objects, e.g. a texture object name in OpenGL or a buffer object name in
8367 OpenAL.")
8368 (license license:bsd-3)))
8369
8370 (define-public ghc-old-locale
8371 (package
8372 (name "ghc-old-locale")
8373 (version "1.0.0.7")
8374 (source
8375 (origin
8376 (method url-fetch)
8377 (uri (string-append
8378 "https://hackage.haskell.org/package/old-locale/old-locale-"
8379 version
8380 ".tar.gz"))
8381 (sha256
8382 (base32 "0l3viphiszvz5wqzg7a45zp40grwlab941q5ay29iyw8p3v8pbyv"))))
8383 (build-system haskell-build-system)
8384 (arguments
8385 `(#:cabal-revision
8386 ("2" "04b9vn007hlvsrx4ksd3r8r3kbyaj2kvwxchdrmd4370qzi8p6gs")))
8387 (home-page "https://hackage.haskell.org/package/old-locale")
8388 (synopsis "Adapt to locale conventions")
8389 (description
8390 "This package provides the ability to adapt to locale conventions such as
8391 date and time formats.")
8392 (license license:bsd-3)))
8393
8394 (define-public ghc-old-time
8395 (package
8396 (name "ghc-old-time")
8397 (version "1.1.0.3")
8398 (source
8399 (origin
8400 (method url-fetch)
8401 (uri (string-append
8402 "https://hackage.haskell.org/package/old-time/old-time-"
8403 version
8404 ".tar.gz"))
8405 (sha256
8406 (base32
8407 "1h9b26s3kfh2k0ih4383w90ibji6n0iwamxp6rfp2lbq1y5ibjqw"))))
8408 (build-system haskell-build-system)
8409 (arguments
8410 `(#:cabal-revision
8411 ("2" "1j6ln1dkvhdvnwl33bp0xf9lhc4sybqk0aw42p8cq81xwwzbn7y9")))
8412 (inputs
8413 `(("ghc-old-locale" ,ghc-old-locale)))
8414 (home-page "https://hackage.haskell.org/package/old-time")
8415 (synopsis "Time compatibility library for Haskell")
8416 (description "Old-time is a package for backwards compatibility with the
8417 old @code{time} library. For new projects, the newer
8418 @uref{https://hackage.haskell.org/package/time, time library} is recommended.")
8419 (license license:bsd-3)))
8420
8421 (define-public ghc-opengl
8422 (package
8423 (name "ghc-opengl")
8424 (version "3.0.3.0")
8425 (source
8426 (origin
8427 (method url-fetch)
8428 (uri (string-append
8429 "https://hackage.haskell.org/package/OpenGL/OpenGL-"
8430 version
8431 ".tar.gz"))
8432 (sha256
8433 (base32
8434 "069fg8jcxqq2z9iikynd8vi3jxm2b5y3qywdh4bdviyzab3zy1as"))))
8435 (build-system haskell-build-system)
8436 (arguments
8437 `(#:cabal-revision
8438 ("1" "1748mrb6r9mpf5jbrx436lwbg8w6dadyy8dhxw2dwnrj5z7zf741")))
8439 (inputs
8440 `(("ghc-objectname" ,ghc-objectname)
8441 ("ghc-gluraw" ,ghc-gluraw)
8442 ("ghc-statevar" ,ghc-statevar)
8443 ("ghc-openglraw" ,ghc-openglraw)))
8444 (home-page "https://wiki.haskell.org/Opengl")
8445 (synopsis "Haskell bindings for the OpenGL graphics system")
8446 (description "This package provides Haskell bindings for the OpenGL
8447 graphics system (GL, version 4.5) and its accompanying utility library (GLU,
8448 version 1.3).")
8449 (license license:bsd-3)))
8450
8451 (define-public ghc-openglraw
8452 (package
8453 (name "ghc-openglraw")
8454 (version "3.3.3.0")
8455 (source
8456 (origin
8457 (method url-fetch)
8458 (uri (string-append
8459 "https://hackage.haskell.org/package/OpenGLRaw/OpenGLRaw-"
8460 version
8461 ".tar.gz"))
8462 (sha256
8463 (base32
8464 "0zgllb4bcash2i2cispa3j565aw3dpxs41ghmhpvyvi4a6xmyldx"))))
8465 (build-system haskell-build-system)
8466 (inputs
8467 `(("ghc-half" ,ghc-half)
8468 ("ghc-fixed" ,ghc-fixed)
8469 ("glu" ,glu)))
8470 (home-page "https://wiki.haskell.org/Opengl")
8471 (synopsis "Raw Haskell bindings for the OpenGL graphics system")
8472 (description "OpenGLRaw is a raw Haskell binding for the OpenGL 4.5
8473 graphics system and lots of OpenGL extensions. It is basically a 1:1 mapping
8474 of OpenGL's C API, intended as a basis for a nicer interface. OpenGLRaw
8475 offers access to all necessary functions, tokens and types plus a general
8476 facility for loading extension entries. The module hierarchy closely mirrors
8477 the naming structure of the OpenGL extensions, making it easy to find the
8478 right module to import. All API entries are loaded dynamically, so no special
8479 C header files are needed for building this package. If an API entry is not
8480 found at runtime, a userError is thrown.")
8481 (license license:bsd-3)))
8482
8483 (define-public ghc-operational
8484 (package
8485 (name "ghc-operational")
8486 (version "0.2.3.5")
8487 (source
8488 (origin
8489 (method url-fetch)
8490 (uri (string-append "https://hackage.haskell.org/package/operational/"
8491 "operational-" version ".tar.gz"))
8492 (sha256
8493 (base32
8494 "1x2abg2q9d26h1vzj40r6k7k3gqgappbs4g9d853vvg77837km4i"))))
8495 (build-system haskell-build-system)
8496 (inputs
8497 `(("ghc-random" ,ghc-random)))
8498 (home-page "http://wiki.haskell.org/Operational")
8499 (synopsis "Implementation of difficult monads made easy with operational semantics")
8500 (description
8501 "This library makes it easy to implement monads with tricky control
8502 flow. This is useful for: writing web applications in a sequential style,
8503 programming games with a uniform interface for human and AI players and easy
8504 replay capababilities, implementing fast parser monads, designing monadic
8505 DSLs, etc.")
8506 (license license:bsd-3)))
8507
8508 (define-public ghc-optional-args
8509 (package
8510 (name "ghc-optional-args")
8511 (version "1.0.2")
8512 (source
8513 (origin
8514 (method url-fetch)
8515 (uri (string-append
8516 "mirror://hackage/package/optional-args/optional-args-"
8517 version
8518 ".tar.gz"))
8519 (sha256
8520 (base32
8521 "1r5hhn6xvc01grggxdyy48daibwzi0aikgidq0ahpa6bfynm8d1f"))))
8522 (build-system haskell-build-system)
8523 (home-page
8524 "http://hackage.haskell.org/package/optional-args")
8525 (synopsis "Optional function arguments")
8526 (description
8527 "This library provides a type for specifying @code{Optional} function
8528 arguments.")
8529 (license license:bsd-3)))
8530
8531 (define-public ghc-options
8532 (package
8533 (name "ghc-options")
8534 (version "1.2.1.1")
8535 (source
8536 (origin
8537 (method url-fetch)
8538 (uri (string-append
8539 "https://hackage.haskell.org/package/options/options-"
8540 version ".tar.gz"))
8541 (sha256
8542 (base32
8543 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
8544 (build-system haskell-build-system)
8545 (arguments
8546 `(#:phases
8547 (modify-phases %standard-phases
8548 (add-before 'configure 'update-constraints
8549 (lambda _
8550 (substitute* "options.cabal"
8551 (("chell >= 0\\.4 && < 0\\.5") "chell >= 0.4 && < 0.6"))
8552 #t)))))
8553 (inputs
8554 `(("ghc-monads-tf" ,ghc-monads-tf)
8555 ("ghc-chell" ,ghc-chell)
8556 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)))
8557 (home-page "https://john-millikin.com/software/haskell-options/")
8558 (synopsis "Powerful and easy-to-use command-line option parser")
8559 (description
8560 "The @code{options} package lets library and application developers
8561 easily work with command-line options.")
8562 (license license:expat)))
8563
8564 ;; See ghc-system-filepath-bootstrap, chell and chell-quickcheck are required for tests.
8565 (define ghc-options-bootstrap
8566 (package
8567 (name "ghc-options-bootstrap")
8568 (version "1.2.1.1")
8569 (source
8570 (origin
8571 (method url-fetch)
8572 (uri (string-append
8573 "https://hackage.haskell.org/package/options/options-"
8574 version ".tar.gz"))
8575 (sha256
8576 (base32
8577 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
8578 (build-system haskell-build-system)
8579 (arguments
8580 `(#:tests? #f))
8581 (inputs
8582 `(("ghc-monads-tf" ,ghc-monads-tf)))
8583 (home-page "https://john-millikin.com/software/haskell-options/")
8584 (synopsis "Powerful and easy-to-use command-line option parser")
8585 (description
8586 "The @code{options} package lets library and application developers
8587 easily work with command-line options.")
8588 (license license:expat)))
8589
8590
8591 (define-public ghc-optparse-applicative
8592 (package
8593 (name "ghc-optparse-applicative")
8594 (version "0.14.3.0")
8595 (source
8596 (origin
8597 (method url-fetch)
8598 (uri (string-append
8599 "https://hackage.haskell.org/package/optparse-applicative"
8600 "/optparse-applicative-" version ".tar.gz"))
8601 (sha256
8602 (base32
8603 "0qvn1s7jwrabbpmqmh6d6iafln3v3h9ddmxj2y4m0njmzq166ivj"))))
8604 (build-system haskell-build-system)
8605 (arguments
8606 `(#:cabal-revision
8607 ("2" "1a08dqjly1xy730f6jf45frr8g8gap0n1vg9b0mpzpydv0kgzmrp")))
8608 (inputs
8609 `(("ghc-transformers-compat" ,ghc-transformers-compat)
8610 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)))
8611 (native-inputs
8612 `(("ghc-quickcheck" ,ghc-quickcheck)))
8613 (home-page "https://github.com/pcapriotti/optparse-applicative")
8614 (synopsis "Utilities and combinators for parsing command line options")
8615 (description "This package provides utilities and combinators for parsing
8616 command line options in Haskell.")
8617 (license license:bsd-3)))
8618
8619 (define-public ghc-jira-wiki-markup
8620 (package
8621 (name "ghc-jira-wiki-markup")
8622 (version "1.0.0")
8623 (source
8624 (origin
8625 (method url-fetch)
8626 (uri (string-append
8627 "https://hackage.haskell.org/package/jira-wiki-markup/"
8628 "jira-wiki-markup-" version ".tar.gz"))
8629 (sha256
8630 (base32 "1sl2jjcsqg61si33mxjwpf8zdn56kbbgcwqqqzbgifx2qbv4wmf8"))))
8631 (build-system haskell-build-system)
8632 (native-inputs
8633 `(("ghc-tasty" ,ghc-tasty)
8634 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
8635 (home-page "https://github.com/tarleb/jira-wiki-markup")
8636 (synopsis "Handle Jira wiki markup")
8637 (description
8638 "Parse jira wiki text into an abstract syntax tree for easy transformation
8639 to other formats.")
8640 (license license:expat)))
8641
8642 (define-public ghc-emojis
8643 (package
8644 (name "ghc-emojis")
8645 (version "0.1")
8646 (source
8647 (origin
8648 (method url-fetch)
8649 (uri (string-append
8650 "https://hackage.haskell.org/package/emojis/"
8651 "emojis-" version ".tar.gz"))
8652 (sha256
8653 (base32 "1c6zkj9gmk1y90gbdrn50hyp7mw1mggzhnr2khqd728ryipw60ss"))))
8654 (build-system haskell-build-system)
8655 (native-inputs
8656 `(("ghc-hunit" ,ghc-hunit)))
8657 (home-page "https://github.com/jgm/emojis#readme")
8658 (synopsis "Conversion between emoji characters and their names.")
8659 (description
8660 "This package provides functions for converting emoji names to emoji
8661 characters and vice versa.
8662
8663 How does it differ from the @code{emoji} package?
8664 @itemize
8665 @item It supports a fuller range of emojis, including all those supported by
8666 GitHub
8667 @item It supports lookup of emoji aliases from emoji
8668 @item It uses Text rather than String
8669 @item It has a lighter dependency footprint: in particular, it does not
8670 require aeson
8671 @item It does not require TemplateHaskell
8672 @end itemize")
8673 (license license:bsd-3)))
8674
8675 (define-public ghc-text-conversions
8676 (package
8677 (name "ghc-text-conversions")
8678 (version "0.3.0")
8679 (source
8680 (origin
8681 (method url-fetch)
8682 (uri (string-append
8683 "https://hackage.haskell.org/package/text-conversions/"
8684 "text-conversions-" version ".tar.gz"))
8685 (sha256
8686 (base32 "089c56vdj9xysqfr1hnvbnrghlg83q6w10xk02gflpsidcpvwmhp"))))
8687 (build-system haskell-build-system)
8688 (inputs
8689 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)
8690 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
8691 ("ghc-errors" ,ghc-errors)))
8692 (native-inputs
8693 `(("ghc-hspec" ,ghc-hspec)
8694 ("hspec-discover" ,hspec-discover)))
8695 (home-page "https://github.com/cjdev/text-conversions#readme")
8696 (synopsis "Safe conversions between textual types")
8697 (description "Safe conversions between textual types")
8698 (license license:isc)))
8699
8700 (define-public ghc-doclayout
8701 (package
8702 (name "ghc-doclayout")
8703 (version "0.3")
8704 (source
8705 (origin
8706 (method url-fetch)
8707 (uri (string-append
8708 "https://hackage.haskell.org/package/doclayout/"
8709 "doclayout-" version ".tar.gz"))
8710 (sha256
8711 (base32 "1wmnwq28jcyd6c80srivsnd5znmyl9sgmwwnlk2crwiiwqadbal7"))))
8712 (build-system haskell-build-system)
8713 (inputs
8714 `(("ghc-safe" ,ghc-safe)))
8715 (native-inputs
8716 `(("ghc-tasty" ,ghc-tasty)
8717 ("ghc-tasty-golden" ,ghc-tasty-golden)
8718 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
8719 (home-page "https://github.com/jgm/doclayout")
8720 (synopsis "Pretty-printing library for laying out text documents")
8721 (description
8722 "doclayout is a pretty-printing library for laying out text documents,
8723 with several features not present in pretty-printing libraries designed for
8724 code. It was designed for use in @code{Pandoc}.")
8725 (license license:bsd-3)))
8726
8727 (define-public ghc-pandoc
8728 (package
8729 (name "ghc-pandoc")
8730 (version "2.7.3")
8731 (source
8732 (origin
8733 (method url-fetch)
8734 (uri (string-append "https://hackage.haskell.org/package/pandoc/pandoc-"
8735 version ".tar.gz"))
8736 (patches (search-patches "ghc-pandoc-fix-html-tests.patch"
8737 "ghc-pandoc-fix-latex-test.patch"))
8738 (sha256
8739 (base32
8740 "0dpjrr40h54cljzhvixyym07z792a9izg6b9dmqpjlgcg4rj0xx8"))))
8741 (build-system haskell-build-system)
8742 (inputs
8743 `(("ghc-aeson" ,ghc-aeson)
8744 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
8745 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
8746 ("ghc-blaze-html" ,ghc-blaze-html)
8747 ("ghc-blaze-markup" ,ghc-blaze-markup)
8748 ("ghc-cmark-gfm" ,ghc-cmark-gfm)
8749 ("ghc-data-default" ,ghc-data-default)
8750 ("ghc-diff" ,ghc-diff)
8751 ("ghc-doctemplates" ,ghc-doctemplates)
8752 ("ghc-executable-path" ,ghc-executable-path)
8753 ("ghc-glob" ,ghc-glob)
8754 ("ghc-haddock-library" ,ghc-haddock-library)
8755 ("ghc-hslua" ,ghc-hslua)
8756 ("ghc-hslua-module-system" ,ghc-hslua-module-system)
8757 ("ghc-hslua-module-text" ,ghc-hslua-module-text)
8758 ("ghc-hsyaml" ,ghc-hsyaml)
8759 ("ghc-http" ,ghc-http)
8760 ("ghc-http-client" ,ghc-http-client)
8761 ("ghc-http-client-tls" ,ghc-http-client-tls)
8762 ("ghc-http-types" ,ghc-http-types)
8763 ("ghc-ipynb" ,ghc-ipynb)
8764 ("ghc-juicypixels" ,ghc-juicypixels)
8765 ("ghc-network" ,ghc-network)
8766 ("ghc-network-uri" ,ghc-network-uri)
8767 ("ghc-pandoc-types" ,ghc-pandoc-types)
8768 ("ghc-random" ,ghc-random)
8769 ("ghc-scientific" ,ghc-scientific)
8770 ("ghc-sha" ,ghc-sha)
8771 ("ghc-skylighting" ,ghc-skylighting)
8772 ("ghc-split" ,ghc-split)
8773 ("ghc-syb" ,ghc-syb)
8774 ("ghc-tagsoup" ,ghc-tagsoup)
8775 ("ghc-temporary" ,ghc-temporary)
8776 ("ghc-texmath" ,ghc-texmath)
8777 ("ghc-unicode-transforms" ,ghc-unicode-transforms)
8778 ("ghc-unordered-containers" ,ghc-unordered-containers)
8779 ("ghc-vector" ,ghc-vector)
8780 ("ghc-xml" ,ghc-xml)
8781 ("ghc-zip-archive" ,ghc-zip-archive)
8782 ("ghc-zlib" ,ghc-zlib)))
8783 (native-inputs
8784 `(("ghc-tasty" ,ghc-tasty)
8785 ("ghc-tasty-golden" ,ghc-tasty-golden)
8786 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
8787 ("ghc-tasty-lua" ,ghc-tasty-lua)
8788 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
8789 ("ghc-quickcheck" ,ghc-quickcheck)
8790 ("ghc-hunit" ,ghc-hunit)))
8791 (home-page "https://pandoc.org")
8792 (synopsis "Conversion between markup formats")
8793 (description
8794 "Pandoc is a Haskell library for converting from one markup format to
8795 another, and a command-line tool that uses this library. It can read and
8796 write Markdown and (subsets of) other formats, such as HTML, reStructuredText,
8797 LaTeX, DocBook, and many more.
8798
8799 Pandoc extends standard Markdown syntax with footnotes, embedded LaTeX,
8800 definition lists, tables, and other features. A compatibility mode is
8801 provided for those who need a drop-in replacement for Markdown.pl.")
8802 (license license:gpl2+)))
8803
8804 (define-public ghc-pandoc-citeproc
8805 (package
8806 (name "ghc-pandoc-citeproc")
8807 (version "0.16.2")
8808 (source
8809 (origin
8810 (method url-fetch)
8811 (uri (string-append "https://hackage.haskell.org/package/"
8812 "pandoc-citeproc/pandoc-citeproc-"
8813 version ".tar.gz"))
8814 (sha256
8815 (base32
8816 "15mm17awgi1b5yazwhr5nh8b59qml1qk6pz6gpyijks70fq2arsv"))))
8817 (build-system haskell-build-system)
8818 (arguments
8819 `(#:phases
8820 (modify-phases %standard-phases
8821 ;; Many YAML tests (44) are failing do to changes in ghc-yaml:
8822 ;; <https://github.com/jgm/pandoc-citeproc/issues/342>.
8823 (add-before 'configure 'patch-tests
8824 (lambda _
8825 (substitute* "tests/test-pandoc-citeproc.hs"
8826 (("let allTests = citeprocTests \\+\\+ biblio2yamlTests")
8827 "let allTests = citeprocTests"))))
8828 ;; Tests need to be run after installation.
8829 (delete 'check)
8830 (add-after 'install 'post-install-check
8831 (assoc-ref %standard-phases 'check)))))
8832 (inputs
8833 `(("ghc-pandoc-types" ,ghc-pandoc-types)
8834 ("ghc-pandoc" ,ghc-pandoc)
8835 ("ghc-tagsoup" ,ghc-tagsoup)
8836 ("ghc-aeson" ,ghc-aeson)
8837 ("ghc-vector" ,ghc-vector)
8838 ("ghc-xml-conduit" ,ghc-xml-conduit)
8839 ("ghc-unordered-containers" ,ghc-unordered-containers)
8840 ("ghc-data-default" ,ghc-data-default)
8841 ("ghc-setenv" ,ghc-setenv)
8842 ("ghc-split" ,ghc-split)
8843 ("ghc-yaml" ,ghc-yaml)
8844 ("ghc-hs-bibutils" ,ghc-hs-bibutils)
8845 ("ghc-rfc5051" ,ghc-rfc5051)
8846 ("ghc-syb" ,ghc-syb)
8847 ("ghc-old-locale" ,ghc-old-locale)
8848 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
8849 ("ghc-attoparsec" ,ghc-attoparsec)
8850 ("ghc-temporary" ,ghc-temporary)))
8851 (home-page "https://github.com/jgm/pandoc-citeproc")
8852 (synopsis "Library for using pandoc with citeproc")
8853 (description
8854 "The @code{pandoc-citeproc} library exports functions for using the
8855 citeproc system with pandoc. It relies on @code{citeproc-hs}, a library for
8856 rendering bibliographic reference citations into a variety of styles using a
8857 macro language called @dfn{Citation Style Language} (CSL). This package also
8858 contains an executable @code{pandoc-citeproc}, which works as a pandoc filter,
8859 and also has a mode for converting bibliographic databases a YAML format
8860 suitable for inclusion in pandoc YAML metadata.")
8861 (license license:bsd-3)))
8862
8863 (define-public ghc-pandoc-types
8864 (package
8865 (name "ghc-pandoc-types")
8866 (version "1.17.6.1")
8867 (source (origin
8868 (method url-fetch)
8869 (uri (string-append "https://hackage.haskell.org/package/"
8870 "pandoc-types/pandoc-types-"
8871 version ".tar.gz"))
8872 (sha256
8873 (base32
8874 "1d6ygq991ddria71l7hg9yd7lq94sjy4m71rdws1v8hq943c4d0q"))))
8875 (build-system haskell-build-system)
8876 (inputs
8877 `(("ghc-syb" ,ghc-syb)
8878 ("ghc-aeson" ,ghc-aeson)
8879 ("ghc-string-qq" ,ghc-string-qq)))
8880 (native-inputs
8881 `(("ghc-quickcheck" ,ghc-quickcheck)
8882 ("ghc-test-framework" ,ghc-test-framework)
8883 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
8884 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
8885 ("ghc-hunit" ,ghc-hunit)))
8886 (home-page "https://johnmacfarlane.net/pandoc")
8887 (synopsis "Types for representing a structured document")
8888 (description
8889 "This module defines the @code{Pandoc} data structure, which is used by
8890 pandoc to represent structured documents. It also provides functions for
8891 building up, manipulating and serialising @code{Pandoc} structures.")
8892 (license license:bsd-3)))
8893
8894 (define-public ghc-parallel
8895 (package
8896 (name "ghc-parallel")
8897 (version "3.2.2.0")
8898 (outputs '("out" "doc"))
8899 (source
8900 (origin
8901 (method url-fetch)
8902 (uri (string-append
8903 "https://hackage.haskell.org/package/parallel/parallel-"
8904 version
8905 ".tar.gz"))
8906 (sha256
8907 (base32
8908 "1xkfi96w6yfpppd0nw1rnszdxmvifwzm699ilv6332ra3akm610p"))))
8909 (build-system haskell-build-system)
8910 (home-page "https://hackage.haskell.org/package/parallel")
8911 (synopsis "Parallel programming library")
8912 (description
8913 "This package provides a library for parallel programming.")
8914 (license license:bsd-3)))
8915
8916 (define-public ghc-parsec-numbers
8917 (package
8918 (name "ghc-parsec-numbers")
8919 (version "0.1.0")
8920 (source
8921 (origin
8922 (method url-fetch)
8923 (uri (string-append "https://hackage.haskell.org/package/"
8924 "parsec-numbers/parsec-numbers-" version ".tar.gz"))
8925 (sha256
8926 (base32 "1gzy4v3r02kvdxvgg1nj83mmb6aph2v4ilf9c7y6nbvi2x49l0bp"))))
8927 (build-system haskell-build-system)
8928 (home-page "https://hackage.haskell.org/package/parsec-numbers")
8929 (synopsis "Utilities for parsing numbers from strings")
8930 (description
8931 "This package provides the number parsers without the need to use a large
8932 (and unportable) token parser.")
8933 (license license:bsd-3)))
8934
8935 (define-public ghc-parser-combinators
8936 (package
8937 (name "ghc-parser-combinators")
8938 (version "1.1.0")
8939 (source
8940 (origin
8941 (method url-fetch)
8942 (uri (string-append "https://hackage.haskell.org/package/"
8943 "parser-combinators/parser-combinators-"
8944 version ".tar.gz"))
8945 (sha256
8946 (base32
8947 "149yhbnrrl108h1jinrsxni3rwrldhphpk9bbmbpr90q5fbl4xmc"))))
8948 (build-system haskell-build-system)
8949 (home-page "https://github.com/mrkkrp/parser-combinators")
8950 (synopsis "Commonly useful parser combinators")
8951 (description
8952 "This is a lightweight package providing commonly useful parser
8953 combinators.")
8954 (license license:bsd-3)))
8955
8956 (define-public ghc-parsers
8957 (package
8958 (name "ghc-parsers")
8959 (version "0.12.10")
8960 (source
8961 (origin
8962 (method url-fetch)
8963 (uri (string-append
8964 "https://hackage.haskell.org/package/parsers/parsers-"
8965 version
8966 ".tar.gz"))
8967 (sha256
8968 (base32
8969 "0v0smxbzk1qpdfkfqqmrzd2dngv3vxba10mkjn9nfm6a309izf8p"))))
8970 (build-system haskell-build-system)
8971 (arguments `(#:tests? #f)) ; FIXME: Test fails with "cannot satisfy
8972 ; -package attoparsec-0.13.0.1"
8973 (inputs
8974 `(("ghc-base-orphans" ,ghc-base-orphans)
8975 ("ghc-attoparsec" ,ghc-attoparsec)
8976 ("ghc-scientific" ,ghc-scientific)
8977 ("ghc-charset" ,ghc-charset)
8978 ("ghc-unordered-containers" ,ghc-unordered-containers)))
8979 (home-page "https://github.com/ekmett/parsers/")
8980 (synopsis "Parsing combinators")
8981 (description "This library provides convenient combinators for working
8982 with and building parsing combinator libraries. Given a few simple instances,
8983 you get access to a large number of canned definitions. Instances exist for
8984 the parsers provided by @code{parsec}, @code{attoparsec} and @code{base}'s
8985 @code{Text.Read}.")
8986 (license license:bsd-3)))
8987
8988 (define-public ghc-path
8989 (package
8990 (name "ghc-path")
8991 (version "0.6.1")
8992 (source
8993 (origin
8994 (method url-fetch)
8995 (uri (string-append
8996 "https://hackage.haskell.org/package/path/path-"
8997 version
8998 ".tar.gz"))
8999 (sha256
9000 (base32
9001 "0nayla4k1gb821k8y5b9miflv1bi8f0czf9rqr044nrr2dddi2sb"))))
9002 (build-system haskell-build-system)
9003 (arguments
9004 ;; TODO: There are some Windows-related tests and modules that need to be
9005 ;; danced around.
9006 `(#:tests? #f
9007 #:cabal-revision
9008 ("1" "05b1zwx2a893h4h5wvgpc5g5pyx71hfmx409rqisd8s1bq1hn463")))
9009 (inputs
9010 `(("ghc-aeson" ,ghc-aeson)
9011 ("ghc-exceptions" ,ghc-exceptions)
9012 ("ghc-hashable" ,ghc-hashable)))
9013 (native-inputs
9014 `(("ghc-hspec" ,ghc-hspec)
9015 ("ghc-quickcheck" ,ghc-quickcheck)
9016 ("ghc-genvalidity" ,ghc-genvalidity)
9017 ("ghc-genvalidity-property" ,ghc-genvalidity-property)
9018 ("ghc-hspec" ,ghc-hspec)
9019 ("ghc-validity" ,ghc-validity)))
9020 (home-page
9021 "https://hackage.haskell.org/package/path")
9022 (synopsis "Support for well-typed paths")
9023 (description "This package introduces a type for paths upholding useful
9024 invariants.")
9025 (license license:bsd-3)))
9026
9027 (define-public ghc-path-io
9028 (package
9029 (name "ghc-path-io")
9030 (version "1.4.2")
9031 (source
9032 (origin
9033 (method url-fetch)
9034 (uri (string-append
9035 "https://hackage.haskell.org/package/path-io/path-io-"
9036 version
9037 ".tar.gz"))
9038 (sha256
9039 (base32
9040 "0jqx3mi4an4kb3kg78n1p3xrz832yrfrnvj795b0xhkv6h1z5ir3"))))
9041 (build-system haskell-build-system)
9042 (inputs
9043 `(("ghc-dlist" ,ghc-dlist)
9044 ("ghc-exceptions" ,ghc-exceptions)
9045 ("ghc-path" ,ghc-path)
9046 ("ghc-transformers-base" ,ghc-transformers-base)
9047 ("ghc-unix-compat" ,ghc-unix-compat)
9048 ("ghc-temporary" ,ghc-temporary)))
9049 (native-inputs
9050 `(("ghc-hspec" ,ghc-hspec)))
9051 (home-page
9052 "https://github.com/mrkkrp/path-io")
9053 (synopsis "Functions for manipulating well-typed paths")
9054 (description "This package provides an interface to the @code{directory}
9055 package for users of @code{path}. It also implements some missing stuff like
9056 recursive scanning and copying of directories, working with temporary
9057 files/directories, and more.")
9058 (license license:bsd-3)))
9059
9060 (define-public ghc-paths
9061 (package
9062 (name "ghc-paths")
9063 (version "0.1.0.12")
9064 (outputs '("out" "doc"))
9065 (source
9066 (origin
9067 (method url-fetch)
9068 (uri (string-append
9069 "https://hackage.haskell.org/package/ghc-paths/ghc-paths-"
9070 version
9071 ".tar.gz"))
9072 (sha256
9073 (base32
9074 "1164w9pqnf7rjm05mmfjznz7rrn415blrkk1kjc0gjvks1vfdjvf"))))
9075 (build-system haskell-build-system)
9076 (home-page "https://github.com/simonmar/ghc-paths")
9077 (synopsis
9078 "Knowledge of GHC's installation directories")
9079 (description
9080 "Knowledge of GHC's installation directories.")
9081 (license license:bsd-3)))
9082
9083 (define-public ghc-patience
9084 (package
9085 (name "ghc-patience")
9086 (version "0.3")
9087 (source
9088 (origin
9089 (method url-fetch)
9090 (uri (string-append
9091 "https://hackage.haskell.org/package/patience/patience-"
9092 version ".tar.gz"))
9093 (sha256
9094 (base32
9095 "1i1b37lgi31c17yrjyf8pdm4nf5lq8vw90z3rri78hf0k66d0p3i"))))
9096 (build-system haskell-build-system)
9097 (home-page "https://hackage.haskell.org/package/patience")
9098 (synopsis "Patience diff and longest increasing subsequence")
9099 (description
9100 "This library implements the 'patience diff' algorithm, as well as the
9101 patience algorithm for the longest increasing subsequence problem.
9102 Patience diff computes the difference between two lists, for example the lines
9103 of two versions of a source file. It provides a good balance between
9104 performance, nice output for humans, and simplicity of implementation.")
9105 (license license:bsd-3)))
9106
9107 (define-public ghc-pattern-arrows
9108 (package
9109 (name "ghc-pattern-arrows")
9110 (version "0.0.2")
9111 (source
9112 (origin
9113 (method url-fetch)
9114 (uri (string-append
9115 "mirror://hackage/package/pattern-arrows/pattern-arrows-"
9116 version
9117 ".tar.gz"))
9118 (sha256
9119 (base32
9120 "13q7bj19hd60rnjfc05wxlyck8llxy11z3mns8kxg197wxrdkhkg"))))
9121 (build-system haskell-build-system)
9122 (home-page
9123 "https://blog.functorial.com/posts/2013-10-27-Pretty-Printing-Arrows.html")
9124 (synopsis "Arrows for Pretty Printing")
9125 (description
9126 "A library for generating concise pretty printers based on precedence
9127 rules.")
9128 (license license:expat)))
9129
9130 (define-public ghc-pcre-light
9131 (package
9132 (name "ghc-pcre-light")
9133 (version "0.4.0.4")
9134 (source
9135 (origin
9136 (method url-fetch)
9137 (uri (string-append
9138 "https://hackage.haskell.org/package/pcre-light/pcre-light-"
9139 version
9140 ".tar.gz"))
9141 (sha256
9142 (base32
9143 "0xcyi1fivwg7a92mch5bcqzmrfxzqj42rmb3m8kgs61x4qwpxj82"))))
9144 (build-system haskell-build-system)
9145 (inputs
9146 `(("pcre" ,pcre)))
9147 (native-inputs
9148 `(("pkg-config" ,pkg-config)))
9149 (home-page "https://github.com/Daniel-Diaz/pcre-light")
9150 (synopsis "Haskell library for Perl 5 compatible regular expressions")
9151 (description "This package provides a small, efficient, and portable regex
9152 library for Perl 5 compatible regular expressions. The PCRE library is a set
9153 of functions that implement regular expression pattern matching using the same
9154 syntax and semantics as Perl 5.")
9155 (license license:bsd-3)))
9156
9157 (define-public ghc-persistent
9158 (package
9159 (name "ghc-persistent")
9160 (version "2.10.4")
9161 (source
9162 (origin
9163 (method url-fetch)
9164 (uri (string-append
9165 "https://hackage.haskell.org/package/persistent/"
9166 "persistent-" version ".tar.gz"))
9167 (sha256
9168 (base32
9169 "1cxswz72sqdg2z1nbpgp1k5qr41djgk8qbf8nz7wfppsrhacyffi"))))
9170 (build-system haskell-build-system)
9171 (inputs
9172 `(("ghc-aeson" ,ghc-aeson)
9173 ("ghc-attoparsec" ,ghc-attoparsec)
9174 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
9175 ("ghc-blaze-html" ,ghc-blaze-html)
9176 ("ghc-conduit" ,ghc-conduit)
9177 ("ghc-fast-logger" ,ghc-fast-logger)
9178 ("ghc-http-api-data" ,ghc-http-api-data)
9179 ("ghc-monad-logger" ,ghc-monad-logger)
9180 ("ghc-path-pieces" ,ghc-path-pieces)
9181 ("ghc-resource-pool" ,ghc-resource-pool)
9182 ("ghc-resourcet" ,ghc-resourcet)
9183 ("ghc-scientific" ,ghc-scientific)
9184 ("ghc-silently" ,ghc-silently)
9185 ("ghc-unliftio-core" ,ghc-unliftio-core)
9186 ("ghc-unliftio" ,ghc-unliftio)
9187 ("ghc-unordered-containers"
9188 ,ghc-unordered-containers)
9189 ("ghc-vector" ,ghc-vector)))
9190 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
9191 (home-page "https://www.yesodweb.com/book/persistent")
9192 (synopsis "Type-safe, multi-backend data serialization for Haskell")
9193 (description "This Haskell package allows Haskell programs to access data
9194 storage systems like PostgreSQL, SQLite, MySQL and MongoDB in a type-safe
9195 way.")
9196 (license license:expat)))
9197
9198 (define-public ghc-persistent-sqlite
9199 (package
9200 (name "ghc-persistent-sqlite")
9201 (version "2.10.5.2")
9202 (source
9203 (origin
9204 (method url-fetch)
9205 (uri (string-append
9206 "https://hackage.haskell.org/package/persistent-sqlite/"
9207 "persistent-sqlite-" version ".tar.gz"))
9208 (sha256
9209 (base32
9210 "0agag3cgivl6mk38pqzr0qw5lxps9p2bgdwvi5658l46hs7bixxn"))))
9211 (build-system haskell-build-system)
9212 (inputs
9213 `(("ghc-persistent" ,ghc-persistent)
9214 ("ghc-aeson" ,ghc-aeson)
9215 ("ghc-conduit" ,ghc-conduit)
9216 ("ghc-microlens-th" ,ghc-microlens-th)
9217 ("ghc-monad-logger" ,ghc-monad-logger)
9218 ("ghc-resource-pool" ,ghc-resource-pool)
9219 ("ghc-resourcet" ,ghc-resourcet)
9220 ("ghc-unliftio-core" ,ghc-unliftio-core)
9221 ("ghc-unordered-containers"
9222 ,ghc-unordered-containers)))
9223 (native-inputs
9224 `(("ghc-persistent-template"
9225 ,ghc-persistent-template)
9226 ("ghc-persistent-test" ,ghc-persistent-test)
9227 ("ghc-exceptions" ,ghc-exceptions)
9228 ("ghc-fast-logger" ,ghc-fast-logger)
9229 ("ghc-hspec" ,ghc-hspec)
9230 ("ghc-hunit" ,ghc-hunit)
9231 ("ghc-quickcheck" ,ghc-quickcheck)
9232 ("ghc-system-fileio" ,ghc-system-fileio)
9233 ("ghc-system-filepath" ,ghc-system-filepath)
9234 ("ghc-temporary" ,ghc-temporary)))
9235 (home-page
9236 "https://www.yesodweb.com/book/persistent")
9237 (synopsis "Backend for the persistent library using sqlite3")
9238 (description "This Haskell package includes a thin sqlite3 wrapper based
9239 on the direct-sqlite package, as well as the entire C library, so there are no
9240 system dependencies.")
9241 (license license:expat)))
9242
9243 (define-public ghc-persistent-template
9244 (package
9245 (name "ghc-persistent-template")
9246 (version "2.8.0")
9247 (source
9248 (origin
9249 (method url-fetch)
9250 (uri (string-append
9251 "https://hackage.haskell.org/package/persistent-template/"
9252 "persistent-template-" version ".tar.gz"))
9253 (sha256
9254 (base32
9255 "16yjrl0gh4jbs4skr7iv6a55lny59bqhd6hjmvch1cl9j5d0c0g3"))))
9256 (build-system haskell-build-system)
9257 (inputs
9258 `(("ghc-persistent" ,ghc-persistent)
9259 ("ghc-aeson" ,ghc-aeson)
9260 ("ghc-http-api-data" ,ghc-http-api-data)
9261 ("ghc-monad-control" ,ghc-monad-control)
9262 ("ghc-monad-logger" ,ghc-monad-logger)
9263 ("ghc-path-pieces" ,ghc-path-pieces)
9264 ("ghc-th-lift-instances" ,ghc-th-lift-instances)
9265 ("ghc-unordered-containers"
9266 ,ghc-unordered-containers)))
9267 (native-inputs
9268 `(("ghc-hspec" ,ghc-hspec)
9269 ("ghc-quickcheck" ,ghc-quickcheck)))
9270 (home-page "https://www.yesodweb.com/book/persistent")
9271 (synopsis "Type-safe, non-relational, multi-backend persistence")
9272 (description "This Haskell package provides interfaces and helper
9273 functions for the ghc-persistent package.")
9274 (license license:expat)))
9275
9276 (define-public ghc-persistent-test
9277 (package
9278 (name "ghc-persistent-test")
9279 (version "2.0.3.1")
9280 (source
9281 (origin
9282 (method url-fetch)
9283 (uri (string-append
9284 "https://hackage.haskell.org/package/persistent-test/"
9285 "persistent-test-" version ".tar.gz"))
9286 (sha256
9287 (base32
9288 "11aq5cy0n43jamf6mg4sr4300bc2zdbjxsczzxwjkb4hzs0ijsdv"))))
9289 (build-system haskell-build-system)
9290 (inputs
9291 `(("ghc-aeson" ,ghc-aeson)
9292 ("ghc-blaze-html" ,ghc-blaze-html)
9293 ("ghc-conduit" ,ghc-conduit)
9294 ("ghc-monad-control" ,ghc-monad-control)
9295 ("ghc-monad-logger" ,ghc-monad-logger)
9296 ("ghc-path-pieces" ,ghc-path-pieces)
9297 ("ghc-persistent" ,ghc-persistent)
9298 ("ghc-persistent-template" ,ghc-persistent-template)
9299 ("ghc-random" ,ghc-random)
9300 ("ghc-resourcet" ,ghc-resourcet)
9301 ("ghc-transformers-base" ,ghc-transformers-base)
9302 ("ghc-unliftio" ,ghc-unliftio)
9303 ("ghc-unliftio-core" ,ghc-unliftio-core)
9304 ("ghc-unordered-containers" ,ghc-unordered-containers)))
9305 (native-inputs
9306 `(("ghc-quickcheck" ,ghc-quickcheck)
9307 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
9308 ("ghc-hspec" ,ghc-hspec)
9309 ("ghc-hspec-expectations" ,ghc-hspec-expectations)
9310 ("ghc-hunit" ,ghc-hunit)))
9311 (home-page "https://www.yesodweb.com/book/persistent")
9312 (synopsis "Tests for the Persistent database library")
9313 (description
9314 "This is only for use in developing libraries that should conform to
9315 the persistent interface, not for users of the persistent suite of database
9316 libraries.")
9317 (license license:expat)))
9318
9319 (define-public ghc-pgp-wordlist
9320 (package
9321 (name "ghc-pgp-wordlist")
9322 (version "0.1.0.3")
9323 (source
9324 (origin
9325 (method url-fetch)
9326 (uri (string-append
9327 "mirror://hackage/package/pgp-wordlist/pgp-wordlist-"
9328 version
9329 ".tar.gz"))
9330 (sha256
9331 (base32
9332 "15g6qh0fb7kjj3l0w8cama7cxgnhnhybw760md9yy7cqfq15cfzg"))))
9333 (build-system haskell-build-system)
9334 (inputs
9335 `(("ghc-vector" ,ghc-vector)))
9336 (native-inputs
9337 `(("ghc-hunit" ,ghc-hunit)
9338 ("ghc-tasty" ,ghc-tasty)
9339 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9340 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
9341 ("ghc-doctest" ,ghc-doctest)))
9342 (home-page
9343 "https://github.com/quchen/pgp-wordlist")
9344 (synopsis
9345 "Translate between binary data and a human-readable collection of words")
9346 (description
9347 "The PGP Word List consists of two phonetic alphabets, each with one word
9348 per possible byte value. A string of bytes is translated with these
9349 alphabets, alternating between them at each byte.
9350
9351 The PGP words corresponding to the bytes 5B 1D CA 6E are \"erase breakaway
9352 spellbind headwaters\", for example.
9353
9354 For further information, see
9355 @url{http://en.wikipedia.org/wiki/PGP_word_list}.")
9356 (license license:bsd-3)))
9357
9358 (define-public ghc-pipes
9359 (package
9360 (name "ghc-pipes")
9361 (version "4.3.13")
9362 (source
9363 (origin
9364 (method url-fetch)
9365 (uri (string-append
9366 "https://hackage.haskell.org/package/pipes/"
9367 "pipes-" version ".tar.gz"))
9368 (sha256
9369 (base32
9370 "1ch3xr5f5if0psd3lsyrpkwrgh36synnzqcpimghprys68l4zfkn"))))
9371 (build-system haskell-build-system)
9372 (inputs
9373 `(("ghc-exceptions" ,ghc-exceptions)
9374 ("ghc-mmorph" ,ghc-mmorph)
9375 ("ghc-void" ,ghc-void)
9376 ("ghc-semigroups" ,ghc-semigroups)))
9377 (native-inputs
9378 `(("ghc-quickcheck" ,ghc-quickcheck)
9379 ("ghc-test-framework" ,ghc-test-framework)
9380 ("ghc-test-framework-quickcheck2"
9381 ,ghc-test-framework-quickcheck2)))
9382 (home-page
9383 "https://hackage.haskell.org/package/pipes")
9384 (synopsis "Compositional pipelines")
9385 (description
9386 "A clean and powerful stream processing library that lets you build
9387 and connect reusable streaming components. Advantages over traditional streaming
9388 libraries:
9389 @itemize
9390 @item Concise API: Use simple commands like @code{for}, (@code{>->}), @code{await},
9391 and @code{yield}
9392 @item Blazing fast: Implementation tuned for speed, including shortcut fusion
9393 @item Lightweight Dependency: pipes is small and compiles very rapidly, including
9394 dependencies
9395 @item Elegant semantics: Use practical category theory
9396 @item ListT: Correct implementation of @code{ListT} that interconverts with pipes
9397 @item Bidirectionality: Implement duplex channels
9398 @end itemize")
9399 (license license:bsd-3)))
9400
9401 (define-public ghc-pointedlist
9402 (package
9403 (name "ghc-pointedlist")
9404 (version "0.6.1")
9405 (source
9406 (origin
9407 (method url-fetch)
9408 (uri (string-append
9409 "https://hackage.haskell.org/package/pointedlist/"
9410 "pointedlist-" version ".tar.gz"))
9411 (sha256
9412 (base32
9413 "16xsrzqql7i4z6a3xy07sqnbyqdmcar1jiacla58y4mvkkwb0g3l"))))
9414 (build-system haskell-build-system)
9415 (home-page
9416 "https://hackage.haskell.org/package/pointedlist")
9417 (synopsis
9418 "Zipper-like comonad which works as a list, tracking a position")
9419 (description
9420 "A PointedList tracks the position in a non-empty list which works
9421 similarly to a zipper. A current item is always required, and therefore
9422 the list may never be empty. A circular PointedList wraps around to the
9423 other end when progressing past the actual edge.")
9424 (license license:bsd-3)))
9425
9426 (define-public ghc-polyparse
9427 (package
9428 (name "ghc-polyparse")
9429 (version "1.12.1")
9430 (source
9431 (origin
9432 (method url-fetch)
9433 (uri (string-append
9434 "https://hackage.haskell.org/package/polyparse/polyparse-"
9435 version
9436 ".tar.gz"))
9437 (sha256
9438 (base32
9439 "19fs18g7fvfdkm9zy28cgighjcxfa6mcpqgyp6whmsjkb3h393fx"))))
9440 (build-system haskell-build-system)
9441 (home-page
9442 "http://code.haskell.org/~malcolm/polyparse/")
9443 (synopsis
9444 "Alternative parser combinator libraries")
9445 (description
9446 "This package provides a variety of alternative parser combinator
9447 libraries, including the original HuttonMeijer set. The Poly sets have
9448 features like good error reporting, arbitrary token type, running state, lazy
9449 parsing, and so on. Finally, Text.Parse is a proposed replacement for the
9450 standard Read class, for better deserialisation of Haskell values from
9451 Strings.")
9452 (license license:lgpl2.1)))
9453
9454 (define-public ghc-pqueue
9455 (package
9456 (name "ghc-pqueue")
9457 (version "1.4.1.2")
9458 (source
9459 (origin
9460 (method url-fetch)
9461 (uri (string-append "https://hackage.haskell.org/package/"
9462 "pqueue/pqueue-" version ".tar.gz"))
9463 (sha256
9464 (base32
9465 "1v4zhv2sc1zsw91hvnarkjhayx2dnf7ccxz6rrhsqpcs0szaranj"))))
9466 (build-system haskell-build-system)
9467 (native-inputs
9468 `(("ghc-quickcheck" ,ghc-quickcheck)))
9469 (home-page "https://hackage.haskell.org/package/pqueue")
9470 (synopsis "Reliable, persistent, fast priority queues")
9471 (description
9472 "This package provides a fast, reliable priority queue implementation
9473 based on a binomial heap.")
9474 (license license:bsd-3)))
9475
9476 (define-public ghc-prelude-extras
9477 (package
9478 (name "ghc-prelude-extras")
9479 (version "0.4.0.3")
9480 (source
9481 (origin
9482 (method url-fetch)
9483 (uri (string-append
9484 "https://hackage.haskell.org/package/prelude-extras/prelude-extras-"
9485 version
9486 ".tar.gz"))
9487 (sha256
9488 (base32
9489 "0xzqdf3nl2h0ra4gnslm1m1nsxlsgc0hh6ky3vn578vh11zhifq9"))))
9490 (build-system haskell-build-system)
9491 (home-page "https://github.com/ekmett/prelude-extras")
9492 (synopsis "Higher order versions of Prelude classes")
9493 (description "This library provides higher order versions of
9494 @code{Prelude} classes to ease programming with polymorphic recursion and
9495 reduce @code{UndecidableInstances}.")
9496 (license license:bsd-3)))
9497
9498 (define-public ghc-prettyclass
9499 (package
9500 (name "ghc-prettyclass")
9501 (version "1.0.0.0")
9502 (source
9503 (origin
9504 (method url-fetch)
9505 (uri (string-append "https://hackage.haskell.org/package/"
9506 "prettyclass/prettyclass-" version ".tar.gz"))
9507 (sha256
9508 (base32
9509 "11l9ajci7nh1r547hx8hgxrhq8mh5gdq30pdf845wvilg9p48dz5"))))
9510 (build-system haskell-build-system)
9511 (home-page "https://hackage.haskell.org/package/prettyclass")
9512 (synopsis "Pretty printing class similar to Show")
9513 (description "This package provides a pretty printing class similar
9514 to @code{Show}, based on the HughesPJ pretty printing library. It
9515 provides the pretty printing class and instances for the Prelude
9516 types.")
9517 (license license:bsd-3)))
9518
9519 (define-public ghc-prettyprinter
9520 (package
9521 (name "ghc-prettyprinter")
9522 (version "1.2.1.1")
9523 (source
9524 (origin
9525 (method url-fetch)
9526 (uri (string-append
9527 "mirror://hackage/package/prettyprinter/prettyprinter-"
9528 version
9529 ".tar.gz"))
9530 (sha256
9531 (base32 "1p9c3q55hba4c0zyxc624g5df7wgsclpsmd8wqpdnmib882q9d1v"))))
9532 (build-system haskell-build-system)
9533 (native-inputs
9534 `(("ghc-doctest" ,ghc-doctest)
9535 ("ghc-pgp-wordlist" ,ghc-pgp-wordlist)
9536 ("ghc-tasty" ,ghc-tasty)
9537 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9538 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
9539 (home-page "https://github.com/quchen/prettyprinter")
9540 (synopsis
9541 "Modern, easy to use, well-documented, extensible pretty-printer")
9542 (description
9543 "A prettyprinter/text rendering engine. Easy to use, well-documented,
9544 ANSI terminal backend exists, HTML backend is trivial to implement, no name
9545 clashes, @code{Text}-based, extensible.")
9546 (license license:bsd-2)))
9547
9548 (define-public ghc-prettyprinter-1.6
9549 (package
9550 (inherit ghc-prettyprinter)
9551 (version "1.6.1")
9552 (source
9553 (origin
9554 (method url-fetch)
9555 (uri (string-append
9556 "mirror://hackage/package/prettyprinter/prettyprinter-"
9557 version
9558 ".tar.gz"))
9559 (sha256
9560 (base32 "10fphxh8lvdaw7i8jyllwmj87w02db92mf99zfw5vddp9mv6b5rz"))))
9561 (inputs
9562 `(("ghc-quickckeck-instances" , ghc-quickcheck-instances)
9563 ,@(package-inputs ghc-prettyprinter)))))
9564
9565 (define-public ghc-prettyprinter-ansi-terminal
9566 (package
9567 (name "ghc-prettyprinter-ansi-terminal")
9568 (version "1.1.1.2")
9569 (source
9570 (origin
9571 (method url-fetch)
9572 (uri (string-append
9573 "mirror://hackage/package/prettyprinter-ansi-terminal/"
9574 "prettyprinter-ansi-terminal-" version ".tar.gz"))
9575 (sha256
9576 (base32 "0ha6vz707qzb5ky7kdsnw2zgphg2dnxrpbrxy8gaw119vwhb9q6k"))))
9577 (build-system haskell-build-system)
9578 (inputs
9579 `(("ghc-ansi-terminal" ,ghc-ansi-terminal)
9580 ("ghc-prettyprinter" ,ghc-prettyprinter-1.6)))
9581 (native-inputs `(("ghc-doctest" ,ghc-doctest)))
9582 (home-page
9583 "https://github.com/quchen/prettyprinter")
9584 (synopsis
9585 "ANSI terminal backend for the prettyprinter package")
9586 (description "ANSI terminal backend for the prettyprinter package.")
9587 (license license:bsd-2)))
9588
9589 (define-public ghc-pretty-hex
9590 (package
9591 (name "ghc-pretty-hex")
9592 (version "1.0")
9593 (source
9594 (origin
9595 (method url-fetch)
9596 (uri (string-append "https://hackage.haskell.org/package/"
9597 "pretty-hex-" version "/"
9598 "pretty-hex-" version ".tar.gz"))
9599 (sha256
9600 (base32
9601 "0ylwkvvjvmpprha9nx83xb8gkhyanhk5fffc0r7lb96n4ch5z6pz"))))
9602 (build-system haskell-build-system)
9603 (home-page "https://github.com/GaloisInc/hexdump")
9604 (synopsis "Haskell library for hex dumps of ByteStrings")
9605 (description "This Haskell library generates pretty hex dumps of
9606 ByteStrings in the style of other common *nix hex dump tools.")
9607 (license license:bsd-3)))
9608
9609 (define-public ghc-pretty-show
9610 (package
9611 (name "ghc-pretty-show")
9612 (version "1.9.5")
9613 (source
9614 (origin
9615 (method url-fetch)
9616 (uri (string-append "https://hackage.haskell.org/package/pretty-show/"
9617 "pretty-show-" version ".tar.gz"))
9618 (sha256
9619 (base32
9620 "0gs2pabi4qa4b0r5vffpf9b1cf5n9y2939a3lljjw7cmg6xvx5dh"))))
9621 (build-system haskell-build-system)
9622 (inputs
9623 `(("ghc-haskell-lexer" ,ghc-haskell-lexer)
9624 ("ghc-happy" ,ghc-happy)))
9625 (home-page "https://wiki.github.com/yav/pretty-show")
9626 (synopsis "Tools for working with derived `Show` instances")
9627 (description
9628 "This package provides a library and an executable for working with
9629 derived @code{Show} instances. By using the library, derived @code{Show}
9630 instances can be parsed into a generic data structure. The @code{ppsh} tool
9631 uses the library to produce human-readable versions of @code{Show} instances,
9632 which can be quite handy for debugging Haskell programs. We can also render
9633 complex generic values into an interactive Html page, for easier
9634 examination.")
9635 (license license:expat)))
9636
9637 (define-public ghc-pretty-simple
9638 (package
9639 (name "ghc-pretty-simple")
9640 (version "2.2.0.1")
9641 (source
9642 (origin
9643 (method url-fetch)
9644 (uri (string-append
9645 "mirror://hackage/package/pretty-simple/"
9646 "pretty-simple-" version ".tar.gz"))
9647 (sha256
9648 (base32 "0wsi9235ihm15s145lxi7325vv2k4bhighc5m88kn1lk0pl81aqq"))))
9649 (build-system haskell-build-system)
9650 (inputs
9651 `(("ghc-ansi-terminal" ,ghc-ansi-terminal)
9652 ("ghc-glob" ,ghc-glob)
9653 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
9654 ("ghc-aeson" ,ghc-aeson)))
9655 (native-inputs
9656 `(("ghc-doctest" ,ghc-doctest)))
9657 (home-page "https://github.com/cdepillabout/pretty-simple")
9658 (synopsis "Pretty printer for data types with a 'Show' instance")
9659 (description
9660 "Pretty-simple is a pretty printer for Haskell data types that have a
9661 Show instance.")
9662 (license license:bsd-3)))
9663
9664 (define-public ghc-primitive
9665 (package
9666 (name "ghc-primitive")
9667 (version "0.6.4.0")
9668 (outputs '("out" "doc"))
9669 (source
9670 (origin
9671 (method url-fetch)
9672 (uri (string-append
9673 "https://hackage.haskell.org/package/primitive/primitive-"
9674 version
9675 ".tar.gz"))
9676 (sha256
9677 (base32
9678 "0r0cda7acvplgwaxy69kviv4jp7kkfi038by68gj4yfx4iwszgjc"))))
9679 (build-system haskell-build-system)
9680 (arguments
9681 `(#:cabal-revision
9682 ("1" "18a14k1yiam1m4l29rin9a0y53yp3nxvkz358nysld8aqwy2qsjv")))
9683 (home-page
9684 "https://github.com/haskell/primitive")
9685 (synopsis "Primitive memory-related operations")
9686 (description
9687 "This package provides various primitive memory-related operations.")
9688 (license license:bsd-3)))
9689
9690 (define-public ghc-process-extras
9691 (package
9692 (name "ghc-process-extras")
9693 (version "0.7.4")
9694 (source
9695 (origin
9696 (method url-fetch)
9697 (uri
9698 (string-append
9699 "https://hackage.haskell.org/package/process-extras/"
9700 "process-extras-" version ".tar.gz"))
9701 (sha256
9702 (base32
9703 "0klqgr37f1z2z6i0a9b0giapmq0p35l5k9kz1p7f0k1597w7agi9"))))
9704 (build-system haskell-build-system)
9705 (inputs
9706 `(("ghc-data-default" ,ghc-data-default)
9707 ("ghc-generic-deriving" ,ghc-generic-deriving)
9708 ("ghc-hunit" ,ghc-hunit)
9709 ("ghc-listlike" ,ghc-listlike)))
9710 (home-page "https://github.com/seereason/process-extras")
9711 (synopsis "Extra tools for managing processes")
9712 (description "This package extends
9713 @url{http://hackage.haskell.org/package/process}. It allows you to read
9714 process input and output as ByteStrings or Text, or write your own
9715 ProcessOutput instance. It also provides lazy process input and output,
9716 and a ProcessMaker class for more flexibility in the process creation
9717 API.")
9718 (license license:expat)))
9719
9720 (define-public ghc-profunctors
9721 (package
9722 (name "ghc-profunctors")
9723 (version "5.3")
9724 (source
9725 (origin
9726 (method url-fetch)
9727 (uri (string-append
9728 "https://hackage.haskell.org/package/profunctors/profunctors-"
9729 version
9730 ".tar.gz"))
9731 (sha256
9732 (base32
9733 "1dx3nkc27yxsrbrhh3iwhq7dl1xn6bj7n62yx6nh8vmpbg62lqvl"))))
9734 (build-system haskell-build-system)
9735 (inputs
9736 `(("ghc-base-orphans" ,ghc-base-orphans)
9737 ("ghc-bifunctors" ,ghc-bifunctors)
9738 ("ghc-comonad" ,ghc-comonad)
9739 ("ghc-contravariant" ,ghc-contravariant)
9740 ("ghc-distributive" ,ghc-distributive)
9741 ("ghc-semigroups" ,ghc-semigroups)
9742 ("ghc-tagged" ,ghc-tagged)))
9743 (home-page "https://github.com/ekmett/profunctors/")
9744 (synopsis "Profunctors for Haskell")
9745 (description "This library provides profunctors for Haskell.")
9746 (license license:bsd-3)))
9747
9748 (define-public ghc-project-template
9749 (package
9750 (name "ghc-project-template")
9751 (version "0.2.0.1")
9752 (source
9753 (origin
9754 (method url-fetch)
9755 (uri (string-append
9756 "https://hackage.haskell.org/package/project-template/project-template-"
9757 version ".tar.gz"))
9758 (sha256
9759 (base32
9760 "1p69ww4rhah2qxragl615wl4a6mk4x9w09am8knmz3s4lxpljlpb"))))
9761 (build-system haskell-build-system)
9762 (inputs
9763 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
9764 ("ghc-conduit" ,ghc-conduit)
9765 ("ghc-conduit-extra" ,ghc-conduit-extra)
9766 ("ghc-resourcet" ,ghc-resourcet)))
9767 (native-inputs
9768 `(("ghc-hspec" ,ghc-hspec)
9769 ("hspec-discover" ,hspec-discover)
9770 ("ghc-quickcheck" ,ghc-quickcheck)))
9771 (arguments
9772 `(#:cabal-revision
9773 ("1"
9774 "0lq3sqnq0nr0gbvgzp0lqdl3j3mqdmdlf8xsw0j3pjh581xj3k0a")))
9775 (home-page "https://github.com/fpco/haskell-ide")
9776 (synopsis "Specify Haskell project templates and generate files")
9777 (description
9778 "Haskell library for both generating and consuming project templates.
9779
9780 ost IDEs provide the concept of a project template: instead of writing all
9781 of the code for a project from scratch, you select a template, answer a few
9782 questions, and a bunch of files are automatically generated.
9783
9784 project-template tries to provide a canonical Haskell library for implementing
9785 the ideal templating system.")
9786 (license license:bsd-3)))
9787
9788 (define-public ghc-protolude
9789 (package
9790 (name "ghc-protolude")
9791 (version "0.2.3")
9792 (source
9793 (origin
9794 (method url-fetch)
9795 (uri (string-append
9796 "mirror://hackage/package/protolude/protolude-"
9797 version
9798 ".tar.gz"))
9799 (sha256
9800 (base32
9801 "0zzkyxz0vmcbncpid7gp72fpjj0fla3gqhlfkij5c5lg12skjgfj"))))
9802 (build-system haskell-build-system)
9803 (inputs
9804 `(("ghc-async" ,ghc-async)
9805 ("ghc-hashable" ,ghc-hashable)
9806 ("ghc-mtl-compat" ,ghc-mtl-compat)
9807 ("ghc-transformers-compat" ,ghc-transformers-compat)))
9808 (home-page "https://github.com/protolude/protolude")
9809 (synopsis "Sensible set of defaults for writing custom Preludes")
9810 (description
9811 "Protolude gives you sensible defaults for writing custom Preludes to
9812 replace the standard one provided by GHC.")
9813 (license license:expat)))
9814
9815 (define-public ghc-psqueue
9816 (package
9817 (name "ghc-psqueue")
9818 (version "1.1.0.1")
9819 (source (origin
9820 (method url-fetch)
9821 (uri (string-append "mirror://hackage/package/PSQueue-"
9822 version "/PSQueue-" version ".tar.gz"))
9823 (sha256
9824 (base32
9825 "1cik7sw10sacsijmfhghzy54gm1qcyxw14shlp86lx8z89kcnkza"))))
9826 (build-system haskell-build-system)
9827 (home-page "https://hackage.haskell.org/package/PSQueue")
9828 (synopsis "Priority search queue")
9829 (description
9830 "A @dfn{priority search queue} efficiently supports the operations of
9831 both a search tree and a priority queue. A @code{Binding} is a product of
9832 a key and a priority. Bindings can be inserted, deleted, modified and queried
9833 in logarithmic time, and the binding with the least priority can be retrieved
9834 in constant time. A queue can be built from a list of bindings, sorted by
9835 keys, in linear time.")
9836 (license license:bsd-3)))
9837
9838 (define-public ghc-psqueues
9839 (package
9840 (name "ghc-psqueues")
9841 (version "0.2.7.2")
9842 (source
9843 (origin
9844 (method url-fetch)
9845 (uri (string-append "https://hackage.haskell.org/package/"
9846 "psqueues-" version "/"
9847 "psqueues-" version ".tar.gz"))
9848 (sha256
9849 (base32
9850 "1yckx2csqswghiy9nfj03cybmza8104nmnpbpcc9ngwlbmakn9i6"))))
9851 (build-system haskell-build-system)
9852 (inputs
9853 `(("ghc-hashable" ,ghc-hashable)))
9854 (native-inputs
9855 `(("ghc-hunit" ,ghc-hunit)
9856 ("ghc-quickcheck" ,ghc-quickcheck)
9857 ("ghc-tagged" ,ghc-tagged)
9858 ("ghc-tasty" ,ghc-tasty)
9859 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9860 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
9861 (home-page "https://github.com/jaspervdj/psqueues")
9862 (synopsis "Pure priority search queues")
9863 (description "The psqueues package provides
9864 @uref{https://en.wikipedia.org/wiki/Priority_queue, Priority Search Queues} in
9865 three different flavors:
9866
9867 @itemize
9868 @item @code{OrdPSQ k p v}, which uses the @code{Ord k} instance to provide
9869 fast insertion, deletion and lookup. This implementation is based on Ralf
9870 Hinze's @uref{http://citeseer.ist.psu.edu/hinze01simple.html, A Simple
9871 Implementation Technique for Priority Search Queues}.
9872
9873 Hence, it is similar to the @uref{https://hackage.haskell.org/package/PSQueue,
9874 PSQueue} library, although it is considerably faster and provides a slightly
9875 different API.
9876
9877 @item @code{IntPSQ p v} is a far more efficient implementation. It fixes the
9878 key type to @code{Int} and uses a
9879 @code{https://en.wikipedia.org/wiki/Radix_tree, radix tree} (like @code{IntMap})
9880 with an additional min-heap property.
9881
9882 @item @code{HashPSQ k p v} is a fairly straightforward extension
9883 of @code{IntPSQ}: it simply uses the keys' hashes as indices in the
9884 @code{IntPSQ}. If there are any hash collisions, it uses an
9885 @code{OrdPSQ} to resolve those. The performance of this implementation
9886 is comparable to that of @code{IntPSQ}, but it is more widely
9887 applicable since the keys are not restricted to @code{Int},
9888 but rather to any @code{Hashable} datatype.
9889 @end itemize
9890
9891 Each of the three implementations provides the same API, so they can
9892 be used interchangeably.
9893
9894 Typical applications of Priority Search Queues include:
9895
9896 @itemize
9897 @item Caches, and more specifically LRU Caches;
9898 @item Schedulers;
9899 @item Pathfinding algorithms, such as Dijkstra's and A*.
9900 @end itemize")
9901 (license license:bsd-3)))
9902
9903 (define-public ghc-pwstore-fast
9904 (package
9905 (name "ghc-pwstore-fast")
9906 (version "2.4.4")
9907 (source
9908 (origin
9909 (method url-fetch)
9910 (uri (string-append
9911 "https://hackage.haskell.org/package/pwstore-fast/"
9912 "pwstore-fast-" version ".tar.gz"))
9913 (sha256
9914 (base32
9915 "1cpvlwzg3qznhygrr78f75p65mnljd9v5cvnagfxjqppnrkay6bj"))))
9916 (build-system haskell-build-system)
9917 (inputs
9918 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
9919 ("ghc-cryptohash" ,ghc-cryptohash)
9920 ("ghc-random" ,ghc-random)
9921 ("ghc-byteable" ,ghc-byteable)))
9922 (home-page "https://github.com/PeterScott/pwstore")
9923 (synopsis "Secure password storage")
9924 (description
9925 "To store passwords securely, they should be salted, then hashed with
9926 a slow hash function. This library uses PBKDF1-SHA256, and handles all the
9927 details. It uses the cryptohash package for speed; if you need a pure
9928 Haskell library, pwstore-purehaskell has the exact same API, but uses only
9929 pure Haskell. It is about 25 times slower than this package, but still quite
9930 usable.")
9931 (license license:bsd-3)))
9932
9933 (define-public ghc-random
9934 (package
9935 (name "ghc-random")
9936 (version "1.1")
9937 (outputs '("out" "doc"))
9938 (source
9939 (origin
9940 (method url-fetch)
9941 (uri (string-append
9942 "https://hackage.haskell.org/package/random/random-"
9943 version
9944 ".tar.gz"))
9945 (sha256
9946 (base32 "0nis3lbkp8vfx8pkr6v7b7kr5m334bzb0fk9vxqklnp2aw8a865p"))))
9947 (build-system haskell-build-system)
9948 (home-page "https://hackage.haskell.org/package/random")
9949 (synopsis "Random number library")
9950 (description "This package provides a basic random number generation
9951 library, including the ability to split random number generators.")
9952 (license license:bsd-3)))
9953
9954 (define-public ghc-raw-strings-qq
9955 (package
9956 (name "ghc-raw-strings-qq")
9957 (version "1.1")
9958 (source
9959 (origin
9960 (method url-fetch)
9961 (uri (string-append "https://hackage.haskell.org/package/"
9962 "raw-strings-qq/raw-strings-qq-"
9963 version ".tar.gz"))
9964 (sha256
9965 (base32
9966 "1lxy1wy3awf52968iy5y9r5z4qgnn2sxkdrh7js3m9gadb11w09f"))))
9967 (build-system haskell-build-system)
9968 (native-inputs `(("ghc-hunit" ,ghc-hunit)))
9969 (home-page "https://github.com/23Skidoo/raw-strings-qq")
9970 (synopsis "Raw string literals for Haskell")
9971 (description
9972 "This package provides a quasiquoter for raw string literals, i.e. string
9973 literals that don't recognise the standard escape sequences. Basically, they
9974 make your code more readable by freeing you from the responsibility to escape
9975 backslashes. They are useful when working with regular expressions,
9976 DOS/Windows paths and markup languages (such as XML).")
9977 (license license:bsd-3)))
9978
9979 (define-public ghc-readable
9980 (package
9981 (name "ghc-readable")
9982 (version "0.3.1")
9983 (source
9984 (origin
9985 (method url-fetch)
9986 (uri (string-append "https://hackage.haskell.org/package/"
9987 "readable/readable-" version ".tar.gz"))
9988 (sha256
9989 (base32
9990 "1ja39cg26wy2fs00gi12x7iq5k8i366pbqi3p916skfa5jnkfc3h"))))
9991 (build-system haskell-build-system)
9992 (home-page "https://github.com/mightybyte/readable")
9993 (synopsis "Type class for reading from Text and ByteString")
9994 (description "This package provides a @code{Readable} type class for
9995 reading data types from @code{ByteString} and @code{Text}. It also
9996 includes efficient implementations for common data types.")
9997 (license license:bsd-3)))
9998
9999 (define-public ghc-rebase
10000 (package
10001 (name "ghc-rebase")
10002 (version "1.3.1.1")
10003 (source
10004 (origin
10005 (method url-fetch)
10006 (uri (string-append "https://hackage.haskell.org/package/"
10007 "rebase-" version "/"
10008 "rebase-" version ".tar.gz"))
10009 (sha256
10010 (base32
10011 "0q4m2fa7wkgxs0grir8rlqwibasmi3s1x7c107ynndwfm62nzv0a"))))
10012 (build-system haskell-build-system)
10013 (inputs `(("ghc-hashable" ,ghc-hashable)
10014 ("ghc-vector" ,ghc-vector)
10015 ("ghc-unordered-containers" ,ghc-unordered-containers)
10016 ("ghc-scientific" ,ghc-scientific)
10017 ("ghc-uuid" ,ghc-uuid)
10018 ("ghc-dlist" ,ghc-dlist)
10019 ("ghc-void" ,ghc-void)
10020 ("ghc-bifunctors" ,ghc-bifunctors)
10021 ("ghc-profunctors" ,ghc-profunctors)
10022 ("ghc-contravariant" ,ghc-contravariant)
10023 ("ghc-contravariant-extras" ,ghc-contravariant-extras)
10024 ("ghc-semigroups" ,ghc-semigroups)
10025 ("ghc-either" ,ghc-either)
10026 ("ghc-fail" ,ghc-fail)
10027 ("ghc-base-prelude" ,ghc-base-prelude)))
10028 (home-page "https://github.com/nikita-volkov/rebase")
10029 (synopsis "Progressive alternative to the base package
10030 for Haskell")
10031 (description "This Haskell package is intended for those who are
10032 tired of keeping long lists of dependencies to the same essential libraries
10033 in each package as well as the endless imports of the same APIs all over again.
10034
10035 It also supports the modern tendencies in the language.
10036
10037 To solve those problems this package does the following:
10038
10039 @itemize
10040 @item Reexport the original APIs under the @code{Rebase} namespace.
10041
10042 @item Export all the possible non-conflicting symbols from the
10043 @code{Rebase.Prelude} module.
10044
10045 @item Give priority to the modern practices in the conflicting cases.
10046 @end itemize
10047
10048 The policy behind the package is only to reexport the non-ambiguous and
10049 non-controversial APIs, which the community has obviously settled on.
10050 The package is intended to rapidly evolve with the contribution from
10051 the community, with the missing features being added with pull-requests.")
10052 (license license:expat)))
10053
10054 (define-public ghc-reducers
10055 (package
10056 (name "ghc-reducers")
10057 (version "3.12.3")
10058 (source
10059 (origin
10060 (method url-fetch)
10061 (uri (string-append
10062 "https://hackage.haskell.org/package/reducers/reducers-"
10063 version
10064 ".tar.gz"))
10065 (sha256
10066 (base32
10067 "09wf8pl9ycglcv6qj5ba26gkg2s5iy81hsx9xp0q8na0cwvp71ki"))))
10068 (build-system haskell-build-system)
10069 (inputs
10070 `(("ghc-fingertree" ,ghc-fingertree)
10071 ("ghc-hashable" ,ghc-hashable)
10072 ("ghc-unordered-containers" ,ghc-unordered-containers)
10073 ("ghc-semigroupoids" ,ghc-semigroupoids)
10074 ("ghc-semigroups" ,ghc-semigroups)))
10075 (home-page "https://github.com/ekmett/reducers/")
10076 (synopsis "Semigroups, specialized containers and a general map/reduce framework")
10077 (description "This library provides various semigroups, specialized
10078 containers and a general map/reduce framework for Haskell.")
10079 (license license:bsd-3)))
10080
10081 (define-public ghc-refact
10082 (package
10083 (name "ghc-refact")
10084 (version "0.3.0.2")
10085 (source
10086 (origin
10087 (method url-fetch)
10088 (uri (string-append "https://hackage.haskell.org/package/"
10089 "refact/refact-"
10090 version ".tar.gz"))
10091 (sha256
10092 (base32
10093 "0v0zxcx29b8jxs2kgy9csykqcp8kzhdvyylw2xfwmj4pfxr2kl0a"))))
10094 (build-system haskell-build-system)
10095 (home-page "https://hackage.haskell.org/package/refact")
10096 (synopsis "Specify refactorings to perform with apply-refact")
10097 (description
10098 "This library provides a datatype which can be interpreted by
10099 @code{apply-refact}. It exists as a separate library so that applications can
10100 specify refactorings without depending on GHC.")
10101 (license license:bsd-3)))
10102
10103 (define-public ghc-reflection
10104 (package
10105 (name "ghc-reflection")
10106 (version "2.1.5")
10107 (source
10108 (origin
10109 (method url-fetch)
10110 (uri (string-append
10111 "https://hackage.haskell.org/package/reflection/reflection-"
10112 version
10113 ".tar.gz"))
10114 (sha256
10115 (base32
10116 "0xr947nj1vww5b8fwqmypxm3y3j5sxl4z8wnf834f83jzfzyjbi7"))))
10117 (build-system haskell-build-system)
10118 (inputs `(("ghc-tagged" ,ghc-tagged)))
10119 (native-inputs
10120 `(("ghc-hspec" ,ghc-hspec)
10121 ("ghc-quickcheck" ,ghc-quickcheck)
10122 ("hspec-discover" ,hspec-discover)))
10123 (home-page "https://github.com/ekmett/reflection")
10124 (synopsis "Reify arbitrary terms into types that can be reflected back
10125 into terms")
10126 (description "This package addresses the 'configuration problem' which is
10127 propagating configurations that are available at run-time, allowing multiple
10128 configurations to coexist without resorting to mutable global variables or
10129 @code{System.IO.Unsafe.unsafePerformIO}.")
10130 (license license:bsd-3)))
10131
10132 (define-public ghc-regex
10133 (package
10134 (name "ghc-regex")
10135 (version "1.0.2.0")
10136 (source
10137 (origin
10138 (method url-fetch)
10139 (uri (string-append "https://hackage.haskell.org/package/regex/"
10140 "regex-" version ".tar.gz"))
10141 (sha256
10142 (base32
10143 "1f2z025hif1fr24b5khq3qxxyvpxrnhyx8xmbms332arw28rpkda"))))
10144 (build-system haskell-build-system)
10145 (arguments
10146 `(#:phases
10147 (modify-phases %standard-phases
10148 (add-after 'unpack 'relax-dependencies
10149 (lambda _
10150 (substitute* "regex.cabal"
10151 (("base-compat.*>=.*0.6.*")
10152 "base-compat >= 0.6\n")
10153 (("template-haskell.*>=.*2.7.*")
10154 "template-haskell >= 2.7\n"))
10155 #t)))))
10156 (inputs
10157 `(("ghc-base-compat" ,ghc-base-compat)
10158 ("ghc-hashable" ,ghc-hashable)
10159 ("ghc-regex-base" ,ghc-regex-base)
10160 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
10161 ("ghc-regex-tdfa" ,ghc-regex-tdfa)
10162 ("ghc-regex-tdfa-text" ,ghc-regex-tdfa-text)
10163 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
10164 ("ghc-unordered-containers" ,ghc-unordered-containers)
10165 ("ghc-utf8-string" ,ghc-utf8-string)))
10166 (home-page "http://regex.uk")
10167 (synopsis "Toolkit for regex-base")
10168 (description
10169 "This package provides a regular expression toolkit for @code{regex-base}
10170 with compile-time checking of regular expression syntax, data types for
10171 matches and captures, a text replacement toolkit, portable options, high-level
10172 AWK-like tools for building text processing apps, regular expression macros
10173 with parsers and test bench, comprehensive documentation, tutorials and
10174 copious examples.")
10175 (license license:bsd-3)))
10176
10177 (define-public ghc-regex-applicative
10178 (package
10179 (name "ghc-regex-applicative")
10180 (version "0.3.3.1")
10181 (source
10182 (origin
10183 (method url-fetch)
10184 (uri (string-append
10185 "https://hackage.haskell.org/package/regex-applicative/"
10186 "regex-applicative-" version ".tar.gz"))
10187 (sha256
10188 (base32
10189 "0p0anx5vamrhrdvviwkh2zn6pa3pv2bjb7nfyc7dvz2q7g14y1lg"))))
10190 (build-system haskell-build-system)
10191 (inputs
10192 `(("ghc-smallcheck" ,ghc-smallcheck)
10193 ("ghc-tasty" ,ghc-tasty)
10194 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
10195 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
10196 (home-page "https://github.com/feuerbach/regex-applicative")
10197 (synopsis "Regex-based parsing with applicative interface")
10198 (description
10199 "@code{regex-applicative} is a Haskell library for parsing using
10200 regular expressions. Parsers can be built using Applicative interface.")
10201 (license license:expat)))
10202
10203 (define-public ghc-regex-base
10204 (package
10205 (name "ghc-regex-base")
10206 (version "0.93.2")
10207 (source
10208 (origin
10209 (method url-fetch)
10210 (uri (string-append
10211 "https://hackage.haskell.org/package/regex-base/regex-base-"
10212 version
10213 ".tar.gz"))
10214 (sha256
10215 (base32
10216 "0y1j4h2pg12c853nzmczs263di7xkkmlnsq5dlp5wgbgl49mgp10"))))
10217 (build-system haskell-build-system)
10218 (home-page
10219 "https://sourceforge.net/projects/lazy-regex")
10220 (synopsis "Replaces/Enhances Text.Regex")
10221 (description "@code{Text.Regex.Base} provides the interface API for
10222 regex-posix, regex-pcre, regex-parsec, regex-tdfa, regex-dfa.")
10223 (license license:bsd-3)))
10224
10225 (define-public ghc-regex-compat
10226 (package
10227 (name "ghc-regex-compat")
10228 (version "0.95.1")
10229 (source
10230 (origin
10231 (method url-fetch)
10232 (uri (string-append
10233 "https://hackage.haskell.org/package/regex-compat/regex-compat-"
10234 version
10235 ".tar.gz"))
10236 (sha256
10237 (base32
10238 "0fwmima3f04p9y4h3c23493n1xj629ia2dxaisqm6rynljjv2z6m"))))
10239 (build-system haskell-build-system)
10240 (inputs
10241 `(("ghc-regex-base" ,ghc-regex-base)
10242 ("ghc-regex-posix" ,ghc-regex-posix)))
10243 (home-page "https://sourceforge.net/projects/lazy-regex")
10244 (synopsis "Replaces/Enhances Text.Regex")
10245 (description "This library provides one module layer over
10246 @code{regex-posix} to replace @code{Text.Regex}.")
10247 (license license:bsd-3)))
10248
10249 (define-public ghc-regex-compat-tdfa
10250 (package
10251 (name "ghc-regex-compat-tdfa")
10252 (version "0.95.1.4")
10253 (source
10254 (origin
10255 (method url-fetch)
10256 (uri (string-append
10257 "https://hackage.haskell.org/package/regex-compat-tdfa/regex-compat-tdfa-"
10258 version ".tar.gz"))
10259 (sha256
10260 (base32
10261 "1p90fn90yhp7fvljjdqjp41cszidcfz4pw7fwvzyx4739b98x8sg"))))
10262 (build-system haskell-build-system)
10263 (inputs
10264 `(("ghc-regex-base" ,ghc-regex-base)
10265 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
10266 (home-page "https://hub.darcs.net/shelarcy/regex-compat-tdfa")
10267 (synopsis "Unicode Support version of Text.Regex, using regex-tdfa")
10268 (description
10269 "One module layer over @code{regex-tdfa} to replace @code{Text.Regex}.
10270 @code{regex-compat} can't use Unicode characters correctly because of using regex-posix.
10271 This is not good for Unicode users. This modified regex-compat uses regex-tdfa to solve
10272 this problem.")
10273 (license license:bsd-3)))
10274
10275 (define-public ghc-regex-pcre
10276 (package
10277 (name "ghc-regex-pcre")
10278 (version "0.94.4")
10279 (source (origin
10280 (method url-fetch)
10281 (uri (string-append "https://hackage.haskell.org/package/"
10282 "regex-pcre/regex-pcre-" version ".tar.gz"))
10283 (sha256
10284 (base32
10285 "1h16w994g9s62iwkdqa7bar2n9cfixmkzz2rm8svm960qr57valf"))))
10286 (build-system haskell-build-system)
10287 (inputs
10288 `(("ghc-regex-base" ,ghc-regex-base)
10289 ("pcre" ,pcre)))
10290 (home-page "https://hackage.haskell.org/package/regex-pcre")
10291 (synopsis "Enhancement of the builtin Text.Regex library")
10292 (description
10293 "This package is an enhancement of the @code{Text.Regex} library.
10294 It wraps the @code{PCRE} C library providing Perl-compatible regular
10295 expressions.")
10296 (license license:bsd-3)))
10297
10298 (define-public ghc-regex-pcre-builtin
10299 (package
10300 (name "ghc-regex-pcre-builtin")
10301 (version "0.94.5.8.8.35")
10302 (source (origin
10303 (method url-fetch)
10304 (uri (string-append "https://hackage.haskell.org/package/"
10305 "regex-pcre-builtin/regex-pcre-builtin-"
10306 version ".tar.gz"))
10307 (sha256
10308 (base32
10309 "1s755qdg1mxrf125sh83bsc5kjkrj8fkq8wf6dg1jan86c7p7gl4"))))
10310 (build-system haskell-build-system)
10311 (inputs
10312 `(("ghc-regex-base" ,ghc-regex-base)))
10313 (home-page "https://hackage.haskell.org/package/regex-pcre-builtin")
10314 (synopsis "Enhancement of the builtin Text.Regex library")
10315 (description
10316 "This package is an enhancement of the @code{Text.Regex} library,
10317 providing the PCRE backend to accompany regex-base, with bundled code from
10318 @url{https://www.pcre.org}.")
10319 (license license:bsd-3)))
10320
10321 (define-public ghc-regex-posix
10322 (package
10323 (name "ghc-regex-posix")
10324 (version "0.95.2")
10325 (source
10326 (origin
10327 (method url-fetch)
10328 (uri (string-append
10329 "https://hackage.haskell.org/package/regex-posix/regex-posix-"
10330 version
10331 ".tar.gz"))
10332 (sha256
10333 (base32
10334 "0gkhzhj8nvfn1ija31c7xnl6p0gadwii9ihyp219ck2arlhrj0an"))))
10335 (build-system haskell-build-system)
10336 (inputs
10337 `(("ghc-regex-base" ,ghc-regex-base)))
10338 (home-page "https://sourceforge.net/projects/lazy-regex")
10339 (synopsis "POSIX regular expressions for Haskell")
10340 (description "This library provides the POSIX regex backend used by the
10341 Haskell library @code{regex-base}.")
10342 (license license:bsd-3)))
10343
10344 (define-public ghc-regex-tdfa
10345 (package
10346 (name "ghc-regex-tdfa")
10347 (version "1.2.3.2")
10348 (source
10349 (origin
10350 (method url-fetch)
10351 (uri (string-append
10352 "https://hackage.haskell.org/package/regex-tdfa/regex-tdfa-"
10353 version ".tar.gz"))
10354 (sha256
10355 (base32
10356 "03yhpqrqz977nwlnhnyz9dacnbzw8xb6j18h365rkgmbc05sb3hf"))))
10357 (build-system haskell-build-system)
10358 (inputs
10359 `(("ghc-regex-base" ,ghc-regex-base)))
10360 (home-page "https://github.com/haskell-hvr/regex-tdfa")
10361 (synopsis "POSIX extended regular expressions in Haskell.")
10362 (description
10363 "Regex-tdfa is a pure Haskell regular expression library implementing POSIX
10364 extended regular expressions. It is a \"tagged\" DFA regex engine. It is
10365 inspired by libtre.")
10366 (license license:bsd-3)))
10367
10368 (define-public ghc-regex-tdfa-text
10369 (package
10370 (name "ghc-regex-tdfa-text")
10371 (version "1.0.0.3")
10372 (source
10373 (origin
10374 (method url-fetch)
10375 (uri (string-append
10376 "https://hackage.haskell.org/package/regex-tdfa-text/"
10377 "regex-tdfa-text-" version ".tar.gz"))
10378 (sha256
10379 (base32
10380 "0090g6lgbdm9lywpqm2d3724nnnh24nx3vnlqr96qc2w486pmmrq"))))
10381 (build-system haskell-build-system)
10382 (inputs
10383 `(("ghc-regex-base" ,ghc-regex-base)
10384 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
10385 (home-page
10386 "https://hackage.haskell.org/package/regex-tdfa-text")
10387 (synopsis "Text interface for regex-tdfa")
10388 (description
10389 "This provides an extra text interface for regex-tdfa.")
10390 (license license:bsd-3)))
10391
10392 (define-public ghc-repline
10393 (package
10394 (name "ghc-repline")
10395 (version "0.2.0.0")
10396 (source
10397 (origin
10398 (method url-fetch)
10399 (uri (string-append
10400 "mirror://hackage/package/repline/repline-"
10401 version
10402 ".tar.gz"))
10403 (sha256
10404 (base32
10405 "1ph21kbbanlcs8n5lwk16g9vqkb98mkbz5mzwrp8j2rls2921izc"))))
10406 (build-system haskell-build-system)
10407 (home-page "https://github.com/sdiehl/repline")
10408 (synopsis "Haskeline wrapper for GHCi-like REPL interfaces")
10409 (description
10410 "Haskeline wrapper for GHCi-like REPL interfaces. Composable with
10411 normal mtl transformers.")
10412 (license license:expat)))
10413
10414 (define-public ghc-repline-0.3
10415 (package
10416 (inherit ghc-repline)
10417 (version "0.3.0.0")
10418 (source
10419 (origin
10420 (method url-fetch)
10421 (uri (string-append
10422 "mirror://hackage/package/repline/repline-"
10423 version
10424 ".tar.gz"))
10425 (sha256
10426 (base32
10427 "0niihfyggg2qisadg7w49cr5k5qyyynia93iip0ng2bbmzwi88g8"))))
10428 (inputs
10429 `(("ghc-exceptions" ,ghc-exceptions)
10430 ("ghc-haskeline" ,ghc-haskeline-0.8)))))
10431
10432 (define-public ghc-rerebase
10433 (package
10434 (name "ghc-rerebase")
10435 (version "1.3.1.1")
10436 (source
10437 (origin
10438 (method url-fetch)
10439 (uri (string-append
10440 "https://hackage.haskell.org/package/rerebase/rerebase-"
10441 version ".tar.gz"))
10442 (sha256
10443 (base32
10444 "1jbqif6k249rkknm2zwk8v8jil3kgi9ar53358v8l4ffx346rm82"))))
10445 (build-system haskell-build-system)
10446 (inputs
10447 `(("ghc-rebase" ,ghc-rebase)))
10448 (home-page "https://github.com/nikita-volkov/rerebase")
10449 (synopsis "Reexports from ``base'' with many other standard libraries")
10450 (description "A rich drop-in replacement for @code{base}. For details and
10451 documentation please visit @uref{https://github.com/nikita-volkov/rerebase,
10452 the project's home page}.")
10453 (license license:expat)))
10454
10455 (define-public ghc-resolv
10456 (package
10457 (name "ghc-resolv")
10458 (version "0.1.1.2")
10459 (source
10460 (origin
10461 (method url-fetch)
10462 (uri (string-append
10463 "https://hackage.haskell.org/package/resolv/resolv-"
10464 version ".tar.gz"))
10465 (sha256
10466 (base32
10467 "0wczdy3vmpfcfwjn1m95bygc5d83m97xxmavhdvy5ayn8c402fp4"))))
10468 (build-system haskell-build-system)
10469 (arguments
10470 `(#:phases
10471 (modify-phases %standard-phases
10472 (add-before 'configure 'update-constraints
10473 (lambda _
10474 (substitute* "resolv.cabal"
10475 (("tasty >= 1\\.1 && < 1\\.2")
10476 "tasty >= 1.1 && < 1.3"))
10477 #t)))))
10478 (inputs
10479 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)))
10480 (native-inputs
10481 `(("ghc-tasty" ,ghc-tasty)
10482 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
10483 (home-page "https://github.com/haskell/hackage-security")
10484 (synopsis "Domain Name Service (DNS) lookup via @code{libresolv}")
10485 (description "This package implements an API for accessing the
10486 @uref{https://tools.ietf.org/html/rfc1035, Domain Name Service (DNS)}
10487 resolver service via the standard @code{libresolv} system library (whose
10488 API is often available directly via the standard @code{libc} C library) on
10489 Unix systems.")
10490 (license license:gpl3)))
10491
10492 (define-public ghc-resource-pool
10493 (package
10494 (name "ghc-resource-pool")
10495 (version "0.2.3.2")
10496 (source
10497 (origin
10498 (method url-fetch)
10499 (uri (string-append "https://hackage.haskell.org/package/"
10500 "resource-pool-" version "/"
10501 "resource-pool-" version ".tar.gz"))
10502 (sha256
10503 (base32
10504 "04mw8b9djb14zp4rdi6h7mc3zizh597ffiinfbr4m0m8psifw9w6"))))
10505 (build-system haskell-build-system)
10506 (inputs `(("ghc-hashable" ,ghc-hashable)
10507 ("ghc-monad-control" ,ghc-monad-control)
10508 ("ghc-transformers-base" ,ghc-transformers-base)
10509 ("ghc-vector" ,ghc-vector)))
10510 (home-page "https://github.com/bos/pool")
10511 (synopsis "Striped resource pooling implementation in Haskell")
10512 (description "This Haskell package provides striped pooling abstraction
10513 for managing flexibly-sized collections of resources such as database
10514 connections.")
10515 (license license:bsd-3)))
10516
10517 (define-public ghc-resourcet
10518 (package
10519 (name "ghc-resourcet")
10520 (version "1.2.2")
10521 (source
10522 (origin
10523 (method url-fetch)
10524 (uri (string-append "https://hackage.haskell.org/package/resourcet/"
10525 "resourcet-" version ".tar.gz"))
10526 (sha256
10527 (base32
10528 "1rfbfcv3r1h29y0yqr3x6a1s04lbc3vzm3jqnfg4f9rqp9d448qk"))))
10529 (build-system haskell-build-system)
10530 (inputs
10531 `(("ghc-transformers-base" ,ghc-transformers-base)
10532 ("ghc-monad-control" ,ghc-monad-control)
10533 ("ghc-transformers-compat" ,ghc-transformers-compat)
10534 ("ghc-mmorph" ,ghc-mmorph)
10535 ("ghc-exceptions" ,ghc-exceptions)
10536 ("ghc-unliftio-core" ,ghc-unliftio-core)))
10537 (native-inputs
10538 `(("ghc-lifted-base" ,ghc-lifted-base)
10539 ("ghc-hspec" ,ghc-hspec)))
10540 (home-page "https://github.com/snoyberg/conduit")
10541 (synopsis "Deterministic allocation and freeing of scarce resources")
10542 (description "ResourceT is a monad transformer which creates a region of
10543 code where you can safely allocate resources.")
10544 (license license:bsd-3)))
10545
10546 (define-public ghc-retry
10547 (package
10548 (name "ghc-retry")
10549 (version "0.8.1.0")
10550 (source
10551 (origin
10552 (method url-fetch)
10553 (uri (string-append "https://hackage.haskell.org/package/"
10554 "retry/retry-" version ".tar.gz"))
10555 (sha256
10556 (base32
10557 "02k03r86amg1vbrsvb644342ym13d9jwkzki9sk93pdg5l8j35dj"))))
10558 (build-system haskell-build-system)
10559 (inputs
10560 `(("ghc-exceptions" ,ghc-exceptions)
10561 ("ghc-random" ,ghc-random)))
10562 (native-inputs
10563 `(("ghc-hunit" ,ghc-hunit)
10564 ("ghc-tasty" ,ghc-tasty)
10565 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
10566 ("ghc-tasty-hedgehog" ,ghc-tasty-hedgehog)
10567 ("ghc-hedgehog" ,ghc-hedgehog)))
10568 (home-page "https://github.com/Soostone/retry")
10569 (synopsis "Retry combinators for monadic actions that may fail")
10570 (description "This package exposes combinators that can wrap
10571 arbitrary monadic actions. They run the action and potentially retry
10572 running it with some configurable delay for a configurable number of
10573 times. The purpose is to make it easier to work with IO and especially
10574 network IO actions that often experience temporary failure and warrant
10575 retrying of the original action. For example, a database query may time
10576 out for a while, in which case we should hang back for a bit and retry
10577 the query instead of simply raising an exception.")
10578 (license license:bsd-3)))
10579
10580 (define-public ghc-rfc5051
10581 (package
10582 (name "ghc-rfc5051")
10583 (version "0.1.0.4")
10584 (source
10585 (origin
10586 (method url-fetch)
10587 (uri (string-append "https://hackage.haskell.org/package/rfc5051/"
10588 "rfc5051-" version ".tar.gz"))
10589 (sha256
10590 (base32
10591 "1lxkq414ni986ciml4gbvf463fn55z299knky7pq3ixb1qislpb1"))))
10592 (build-system haskell-build-system)
10593 (home-page "https://hackage.haskell.org/package/rfc5051")
10594 (synopsis "Simple unicode collation as per RFC5051")
10595 (description
10596 "This library implements @code{unicode-casemap}, the simple, non
10597 locale-sensitive unicode collation algorithm described in RFC 5051. Proper
10598 unicode collation can be done using @code{text-icu}, but that is a big
10599 dependency that depends on a large C library, and @code{rfc5051} might be
10600 better for some purposes.")
10601 (license license:bsd-3)))
10602
10603 (define-public ghc-rio
10604 (package
10605 (name "ghc-rio")
10606 (version "0.1.12.0")
10607 (source
10608 (origin
10609 (method url-fetch)
10610 (uri (string-append
10611 "https://hackage.haskell.org/package/rio/rio-"
10612 version ".tar.gz"))
10613 (sha256
10614 (base32
10615 "0xzjkh6aavynpyskikhs8dmv0zhkiqiwz9zdn80zbd25b2182pif"))))
10616 (build-system haskell-build-system)
10617 (inputs
10618 `(("ghc-exceptions" ,ghc-exceptions)
10619 ("ghc-hashable" ,ghc-hashable)
10620 ("ghc-microlens" ,ghc-microlens)
10621 ("ghc-primitive" ,ghc-primitive)
10622 ("ghc-typed-process" ,ghc-typed-process)
10623 ("ghc-unliftio" ,ghc-unliftio)
10624 ("ghc-unordered-containers" ,ghc-unordered-containers)
10625 ("ghc-vector" ,ghc-vector)))
10626 (native-inputs
10627 `(("ghc-hspec" ,ghc-hspec)
10628 ("hspec-discover" ,hspec-discover)))
10629 (home-page "https://github.com/commercialhaskell/rio#readme")
10630 (synopsis "A standard library for Haskell")
10631 (description "This package works as a prelude replacement for Haskell,
10632 providing more functionality and types out of the box than the standard
10633 prelude (such as common data types like @code{ByteString} and
10634 @code{Text}), as well as removing common ``gotchas'', like partial
10635 functions and lazy I/O. The guiding principle here is:
10636 @itemize
10637 @item If something is safe to use in general and has no expected naming
10638 conflicts, expose it.
10639 @item If something should not always be used, or has naming conflicts,
10640 expose it from another module in the hierarchy.
10641 @end itemize")
10642 (license license:expat)))
10643
10644 (define-public ghc-safe
10645 (package
10646 (name "ghc-safe")
10647 (version "0.3.17")
10648 (source
10649 (origin
10650 (method url-fetch)
10651 (uri (string-append
10652 "https://hackage.haskell.org/package/safe/safe-"
10653 version
10654 ".tar.gz"))
10655 (sha256
10656 (base32
10657 "0p3yaf5slvyz1cyy51jq64c5rlp8yzwim8iy2dlnk42if4gc9ibr"))))
10658 (build-system haskell-build-system)
10659 (native-inputs
10660 `(("ghc-quickcheck" ,ghc-quickcheck)))
10661 (home-page "https://github.com/ndmitchell/safe#readme")
10662 (synopsis "Library of safe (exception free) functions")
10663 (description "This library provides wrappers around @code{Prelude} and
10664 @code{Data.List} functions, such as @code{head} and @code{!!}, that can throw
10665 exceptions.")
10666 (license license:bsd-3)))
10667
10668 (define-public ghc-safe-exceptions
10669 (package
10670 (name "ghc-safe-exceptions")
10671 (version "0.1.7.0")
10672 (source
10673 (origin
10674 (method url-fetch)
10675 (uri (string-append "https://hackage.haskell.org/package/"
10676 "safe-exceptions/safe-exceptions-"
10677 version ".tar.gz"))
10678 (sha256
10679 (base32
10680 "0sd0zfsm9pcll5bzzj523rbn45adjrnavdkz52hgmdjjgdcdrk8q"))))
10681 (build-system haskell-build-system)
10682 (arguments
10683 '(#:cabal-revision
10684 ("4" "0fid41gishzsyb47wzxhd5falandfirqcp760hcja81qjpfmqd32")))
10685 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
10686 (native-inputs
10687 `(("ghc-hspec" ,ghc-hspec)
10688 ("ghc-void" ,ghc-void)
10689 ("hspec-discover" ,hspec-discover)))
10690 (home-page "https://github.com/fpco/safe-exceptions")
10691 (synopsis "Safe, consistent, and easy exception handling")
10692 (description "Runtime exceptions - as exposed in @code{base} by the
10693 @code{Control.Exception} module - have long been an intimidating part of the
10694 Haskell ecosystem. This package is intended to overcome this. It provides a
10695 safe and simple API on top of the existing exception handling machinery. The
10696 API is equivalent to the underlying implementation in terms of power but
10697 encourages best practices to minimize the chances of getting the exception
10698 handling wrong.")
10699 (license license:expat)))
10700
10701 (define-public ghc-safeio
10702 (package
10703 (name "ghc-safeio")
10704 (version "0.0.5.0")
10705 (source
10706 (origin
10707 (method url-fetch)
10708 (uri (string-append "https://hackage.haskell.org/package/safeio/"
10709 "safeio-" version ".tar.gz"))
10710 (sha256
10711 (base32
10712 "04g3070cbjdqj0h9l9ii6470xcbn40xfv4fr89a8yvnkdim9nyfm"))))
10713 (build-system haskell-build-system)
10714 (inputs
10715 `(("ghc-conduit" ,ghc-conduit)
10716 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
10717 ("ghc-exceptions" ,ghc-exceptions)
10718 ("ghc-resourcet" ,ghc-resourcet)))
10719 (native-inputs
10720 `(("ghc-hunit" ,ghc-hunit)
10721 ("ghc-test-framework" ,ghc-test-framework)
10722 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
10723 ("ghc-test-framework-th" ,ghc-test-framework-th)))
10724 (home-page "https://github.com/luispedro/safeio")
10725 (synopsis "Write output to disk atomically")
10726 (description
10727 "This package implements utilities to perform atomic output so as to
10728 avoid the problem of partial intermediate files.")
10729 (license license:expat)))
10730
10731 (define-public ghc-safesemaphore
10732 (package
10733 (name "ghc-safesemaphore")
10734 (version "0.10.1")
10735 (source
10736 (origin
10737 (method url-fetch)
10738 (uri (string-append "https://hackage.haskell.org/package/"
10739 "SafeSemaphore/SafeSemaphore-" version ".tar.gz"))
10740 (sha256
10741 (base32
10742 "0rpg9j6fy70i0b9dkrip9d6wim0nac0snp7qzbhykjkqlcvvgr91"))))
10743 (build-system haskell-build-system)
10744 (native-inputs
10745 `(("ghc-hunit" ,ghc-hunit)))
10746 (home-page "https://github.com/ChrisKuklewicz/SafeSemaphore")
10747 (synopsis "Exception safe semaphores")
10748 (description "This library provides exception safe semaphores that can be
10749 used in place of @code{QSem}, @code{QSemN}, and @code{SampleVar}, all of which
10750 are not exception safe and can be broken by @code{killThread}.")
10751 (license license:bsd-3)))
10752
10753 (define-public ghc-sandi
10754 (package
10755 (name "ghc-sandi")
10756 (version "0.5")
10757 (source
10758 (origin
10759 (method url-fetch)
10760 (uri (string-append
10761 "https://hackage.haskell.org/package/sandi/sandi-"
10762 version ".tar.gz"))
10763 (sha256
10764 (base32
10765 "1ndgai8idlxyccvkz5zsgq06v58blc30i6hkky5b1sf5x6gs2h29"))))
10766 (build-system haskell-build-system)
10767 (inputs
10768 `(("ghc-stringsearch" ,ghc-stringsearch)
10769 ("ghc-conduit" ,ghc-conduit)
10770 ("ghc-exceptions" ,ghc-exceptions)
10771 ("ghc-hunit" ,ghc-hunit)
10772 ("ghc-tasty" ,ghc-tasty)
10773 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
10774 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
10775 ("ghc-tasty-th" ,ghc-tasty-th)))
10776 (home-page "https://hackage.haskell.org/package/sandi")
10777 (synopsis "Data encoding library")
10778 (description "Reasonably fast data encoding library.")
10779 (license license:bsd-3)))
10780
10781 (define-public ghc-say
10782 (package
10783 (name "ghc-say")
10784 (version "0.1.0.1")
10785 (source
10786 (origin
10787 (method url-fetch)
10788 (uri (string-append
10789 "https://hackage.haskell.org/package/say/say-"
10790 version
10791 ".tar.gz"))
10792 (sha256
10793 (base32
10794 "1r5kffjfwpas45g74sip8glrj1m9nygrnxjm7xgw898rq9pnafgn"))))
10795 (build-system haskell-build-system)
10796 (native-inputs
10797 `(("ghc-hspec" ,ghc-hspec)
10798 ("hspec-discover" ,hspec-discover)
10799 ("ghc-unliftio" ,ghc-unliftio)))
10800 (home-page "https://github.com/fpco/say")
10801 (synopsis
10802 "Send textual messages to a Handle in a thread-friendly way")
10803 (description
10804 "A thread safe API to write a line of textual data to a Handle, such
10805 as sending some messages to the terminal - that has the following properties:
10806 @itemize
10807 @item Properly handle character encoding settings on the Handle
10808 @item For reasonably sized messages, ensure that the entire message is written
10809 in one chunk to avoid interleaving data with other threads
10810 @item Avoid unnecessary memory allocations and copies
10811 @item Minimize locking.
10812 @end itemize")
10813 (license license:expat)))
10814
10815 (define-public ghc-scientific
10816 (package
10817 (name "ghc-scientific")
10818 (version "0.3.6.2")
10819 (source
10820 (origin
10821 (method url-fetch)
10822 (uri (string-append
10823 "https://hackage.haskell.org/package/scientific/scientific-"
10824 version
10825 ".tar.gz"))
10826 (sha256
10827 (base32
10828 "03ql2f0ac8bsl524idy9xxa3kxisb2sj3avflzw580j5hzy0m397"))))
10829 (build-system haskell-build-system)
10830 (inputs
10831 `(("ghc-integer-logarithms" ,ghc-integer-logarithms)
10832 ("ghc-hashable" ,ghc-hashable)
10833 ("ghc-primitive" ,ghc-primitive)))
10834 (native-inputs
10835 `(("ghc-tasty" ,ghc-tasty)
10836 ("ghc-tasty-ant-xml" ,ghc-tasty-ant-xml)
10837 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
10838 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
10839 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
10840 ("ghc-smallcheck" ,ghc-smallcheck)
10841 ("ghc-quickcheck" ,ghc-quickcheck)))
10842 (home-page "https://github.com/basvandijk/scientific")
10843 (synopsis "Numbers represented using scientific notation")
10844 (description "This package provides @code{Data.Scientific}, which provides
10845 the number type @code{Scientific}. Scientific numbers are arbitrary precision
10846 and space efficient. They are represented using
10847 @uref{https://en.wikipedia.org/wiki/Scientific_notation, scientific
10848 notation}.")
10849 (license license:bsd-3)))
10850
10851 (define-public ghc-scientific-bootstrap
10852 (package
10853 (inherit ghc-scientific)
10854 (name "ghc-scientific-bootstrap")
10855 (arguments `(#:tests? #f))
10856 (inputs
10857 `(("ghc-integer-logarithms" ,ghc-integer-logarithms-bootstrap)
10858 ("ghc-hashable" ,ghc-hashable)
10859 ("ghc-primitive" ,ghc-primitive)))
10860 (native-inputs '())
10861 (properties '((hidden? #t)))))
10862
10863 (define-public ghc-sdl
10864 (package
10865 (name "ghc-sdl")
10866 (version "0.6.7.0")
10867 (source
10868 (origin
10869 (method url-fetch)
10870 (uri (string-append
10871 "https://hackage.haskell.org/package/SDL/SDL-"
10872 version
10873 ".tar.gz"))
10874 (sha256
10875 (base32
10876 "00y67v80a8l09i3k76z09lg25kw72ivl09nag8ckdlk4a0cfnzfq"))))
10877 (build-system haskell-build-system)
10878 (inputs
10879 `(("sdl" ,sdl)))
10880 (home-page "https://hackage.haskell.org/package/SDL")
10881 (synopsis "LibSDL for Haskell")
10882 (description "Simple DirectMedia Layer (libSDL) is a cross-platform
10883 multimedia library designed to provide low level access to audio, keyboard,
10884 mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer. It is used
10885 by MPEG playback software, emulators, and many popular games, including the
10886 award winning Linux port of \"Civilization: Call To Power.\"")
10887 (license license:bsd-3)))
10888
10889 (define-public ghc-sdl2
10890 (package
10891 (name "ghc-sdl2")
10892 (version "2.5.0.0")
10893 (source
10894 (origin
10895 (method url-fetch)
10896 (uri (string-append "https://hackage.haskell.org/package/"
10897 "sdl2/sdl2-" version ".tar.gz"))
10898 (sha256
10899 (base32
10900 "1x368yhdd55b3cvx8dvj1sj6nzygzigbhrwhssjs4k0rcxlwqfw8"))))
10901 (build-system haskell-build-system)
10902 (arguments '(#:tests? #f)) ; tests require graphical environment
10903 (inputs
10904 `(("ghc-exceptions" ,ghc-exceptions)
10905 ("ghc-linear" ,ghc-linear)
10906 ("ghc-statevar" ,ghc-statevar)
10907 ("ghc-vector" ,ghc-vector)
10908 ("sdl2" ,sdl2)))
10909 (native-inputs
10910 `(("ghc-weigh" ,ghc-weigh)
10911 ("pkg-config" ,pkg-config)))
10912 (home-page "https://hackage.haskell.org/package/sdl2")
10913 (synopsis "High- and low-level bindings to the SDL library")
10914 (description
10915 "This package contains bindings to the SDL 2 library, in both high- and
10916 low-level forms. The @code{SDL} namespace contains high-level bindings, where
10917 enumerations are split into sum types, and we perform automatic
10918 error-checking. The @code{SDL.Raw} namespace contains an almost 1-1
10919 translation of the C API into Haskell FFI calls. As such, this does not
10920 contain sum types nor error checking. Thus this namespace is suitable for
10921 building your own abstraction over SDL, but is not recommended for day-to-day
10922 programming.")
10923 (license license:bsd-3)))
10924
10925 (define-public ghc-sdl2-image
10926 (package
10927 (name "ghc-sdl2-image")
10928 (version "2.0.0")
10929 (source
10930 (origin
10931 (method url-fetch)
10932 (uri (string-append "https://hackage.haskell.org/package/sdl2-image/"
10933 "sdl2-image-" version ".tar.gz"))
10934 (sha256
10935 (base32
10936 "1pr6dkg73cy9z0w54lrkj9c5bhxj56nl92lxikjy8kz6nyr455rr"))))
10937 (build-system haskell-build-system)
10938 (inputs
10939 `(("ghc-sdl2" ,ghc-sdl2)
10940 ("sdl2-image" ,sdl2-image)))
10941 (native-inputs
10942 `(("pkg-config" ,pkg-config)))
10943 (home-page "https://hackage.haskell.org/package/sdl2-image")
10944 (synopsis "Bindings to SDL2_image")
10945 (description "This package provides Haskell bindings to
10946 @code{SDL2_image}.")
10947 (license license:expat)))
10948
10949 (define-public ghc-sdl2-mixer
10950 (package
10951 (name "ghc-sdl2-mixer")
10952 (version "1.1.0")
10953 (source
10954 (origin
10955 (method url-fetch)
10956 (uri (string-append "https://hackage.haskell.org/package/sdl2-mixer/"
10957 "sdl2-mixer-" version ".tar.gz"))
10958 (sha256
10959 (base32
10960 "1k8avyccq5l9z7bwxigim312yaancxl1sr3q6a96bcm7pnhiak0g"))))
10961 (build-system haskell-build-system)
10962 (inputs
10963 `(("ghc-data-default-class" ,ghc-data-default-class)
10964 ("ghc-lifted-base" ,ghc-lifted-base)
10965 ("ghc-monad-control" ,ghc-monad-control)
10966 ("ghc-sdl2" ,ghc-sdl2)
10967 ("ghc-vector" ,ghc-vector)
10968 ("sdl2-mixer" ,sdl2-mixer)))
10969 (native-inputs
10970 `(("pkg-config" ,pkg-config)))
10971 (home-page "https://hackage.haskell.org/package/sdl2-mixer")
10972 (synopsis "Bindings to SDL2 mixer")
10973 (description "This package provides Haskell bindings to
10974 @code{SDL2_mixer}.")
10975 (license license:bsd-3)))
10976
10977 (define-public ghc-sdl-image
10978 (package
10979 (name "ghc-sdl-image")
10980 (version "0.6.2.0")
10981 (source
10982 (origin
10983 (method url-fetch)
10984 (uri (string-append
10985 "https://hackage.haskell.org/package/SDL-image/SDL-image-"
10986 version
10987 ".tar.gz"))
10988 (sha256
10989 (base32
10990 "1gxwrvswgwjw6g7ym52gik22l9l3ljy592phv97jdmcf3gi6qcg1"))))
10991 (build-system haskell-build-system)
10992 (arguments
10993 `(#:configure-flags
10994 (let* ((sdl-image (assoc-ref %build-inputs "sdl-image"))
10995 (sdl-image-include (string-append sdl-image "/include/SDL")))
10996 (list (string-append "--extra-include-dirs=" sdl-image-include)))))
10997 (inputs
10998 `(("ghc-sdl" ,ghc-sdl)
10999 ("sdl-image" ,sdl-image)))
11000 (home-page "https://hackage.haskell.org/package/SDL-image")
11001 (synopsis "Haskell bindings to libSDL_image")
11002 (description "SDL_image is an image file loading library. It loads images
11003 as SDL surfaces, and supports the following formats: BMP, GIF, JPEG, LBM, PCX,
11004 PNG, PNM, TGA, TIFF, XCF, XPM, XV.")
11005 (license license:bsd-3)))
11006
11007 (define-public ghc-sdl-mixer
11008 (package
11009 (name "ghc-sdl-mixer")
11010 (version "0.6.3.0")
11011 (source
11012 (origin
11013 (method url-fetch)
11014 (uri (string-append
11015 "https://hackage.haskell.org/package/SDL-mixer/SDL-mixer-"
11016 version
11017 ".tar.gz"))
11018 (sha256
11019 (base32
11020 "0k26hqgdh789ka3mv4dsk6rin6x6vwcs6hjmnsqq7j3mnrh1342r"))))
11021 (build-system haskell-build-system)
11022 (arguments
11023 `(#:configure-flags
11024 (let* ((sdl-mixer (assoc-ref %build-inputs "sdl-mixer"))
11025 (sdl-mixer-include (string-append sdl-mixer "/include/SDL")))
11026 (list (string-append "--extra-include-dirs=" sdl-mixer-include)))))
11027 (inputs
11028 `(("ghc-sdl" ,ghc-sdl)
11029 ("sdl-mixer" ,sdl-mixer)))
11030 (home-page "https://hackage.haskell.org/package/SDL-mixer")
11031 (synopsis "Haskell bindings to libSDL_mixer")
11032 (description "SDL_mixer is a sample multi-channel audio mixer library. It
11033 supports any number of simultaneously playing channels of 16 bit stereo audio,
11034 plus a single channel of music, mixed by the popular MikMod MOD, Timidity
11035 MIDI, Ogg Vorbis, and SMPEG MP3 libraries.")
11036 (license license:bsd-3)))
11037
11038 (define-public ghc-securemem
11039 (package
11040 (name "ghc-securemem")
11041 (version "0.1.10")
11042 (source
11043 (origin
11044 (method url-fetch)
11045 (uri (string-append "https://hackage.haskell.org/package/"
11046 "securemem-" version "/"
11047 "securemem-" version ".tar.gz"))
11048 (sha256
11049 (base32
11050 "19hnw2cfbsfjynxq1bq9f6djbxhsc1k751ml0y1ab3ah913mm29j"))))
11051 (build-system haskell-build-system)
11052 (inputs `(("ghc-byteable" ,ghc-byteable)
11053 ("ghc-memory" ,ghc-memory)))
11054 (home-page "https://github.com/vincenthz/hs-securemem")
11055 (synopsis "Auto-scrubbing and const-time-eq memory chunk abstraction for
11056 Haskell")
11057 (description "SecureMem is similar to ByteString, except that it provides
11058 a memory chunk that will be auto-scrubbed after it run out of scope.")
11059 (license license:bsd-3)))
11060
11061 (define-public ghc-semialign
11062 (package
11063 (name "ghc-semialign")
11064 (version "1")
11065 (source
11066 (origin
11067 (method url-fetch)
11068 (uri (string-append
11069 "https://hackage.haskell.org/package/semialign/semialign-"
11070 version
11071 ".tar.gz"))
11072 (sha256
11073 (base32
11074 "004x0a80sqqdgvsyk4z0nasxpi6z3g1d8kgwj804bj9ka8dlc75m"))))
11075 (build-system haskell-build-system)
11076 (inputs
11077 `(("ghc-these" ,ghc-these)
11078 ("ghc-base-compat" ,ghc-base-compat)
11079 ("ghc-hashable" ,ghc-hashable)
11080 ("ghc-tagged" ,ghc-tagged)
11081 ("ghc-unordered-containers" ,ghc-unordered-containers)
11082 ("ghc-vector" ,ghc-vector)
11083 ("ghc-semigroupoids" ,ghc-semigroupoids)))
11084 (arguments
11085 `(#:cabal-revision
11086 ("1"
11087 "0qnqnyfng4kwy2h2anrcy5id2ijnawava3zcc5h5b8ri1y6ks6zi")))
11088 (home-page
11089 "https://github.com/isomorphism/these")
11090 (synopsis
11091 "Align and Zip type-classes from the common Semialign ancestor ")
11092 (description
11093 "The major use of @code{These} of this is provided by the
11094 @code{align} member of @code{Semialign} class, representing a
11095 generalized notion of \"zipping with padding\" that combines
11096 structures without truncating to the size of the smaller input. It
11097 turns out that @code{zip} operation fits well the @code{Semialign}
11098 class, forming lattice-like structure.")
11099 (license license:bsd-3)))
11100
11101 (define-public ghc-semigroupoids
11102 (package
11103 (name "ghc-semigroupoids")
11104 (version "5.3.3")
11105 (source
11106 (origin
11107 (method url-fetch)
11108 (uri (string-append
11109 "https://hackage.haskell.org/package/semigroupoids/semigroupoids-"
11110 version
11111 ".tar.gz"))
11112 (sha256
11113 (base32
11114 "016hc4imr9l4szs3p7f1aahvxr5wv4clvr3qzrm3nibssg5vrs61"))))
11115 (build-system haskell-build-system)
11116 (inputs
11117 `(("ghc-base-orphans" ,ghc-base-orphans)
11118 ("ghc-transformers-compat" ,ghc-transformers-compat)
11119 ("ghc-bifunctors" ,ghc-bifunctors)
11120 ("ghc-comonad" ,ghc-comonad)
11121 ("ghc-contravariant" ,ghc-contravariant)
11122 ("ghc-distributive" ,ghc-distributive)
11123 ("ghc-hashable" ,ghc-hashable)
11124 ("ghc-semigroups" ,ghc-semigroups)
11125 ("ghc-tagged" ,ghc-tagged)
11126 ("ghc-unordered-containers" ,ghc-unordered-containers)))
11127 (native-inputs
11128 `(("cabal-doctest" ,cabal-doctest)
11129 ("ghc-doctest" ,ghc-doctest)))
11130 (home-page "https://github.com/ekmett/semigroupoids")
11131 (synopsis "Semigroupoids operations for Haskell")
11132 (description "This library provides a wide array of (semi)groupoids and
11133 operations for working with them. A @code{Semigroupoid} is a @code{Category}
11134 without the requirement of identity arrows for every object in the category.
11135 A @code{Category} is any @code{Semigroupoid} for which the Yoneda lemma holds.
11136 Finally, to work with these weaker structures it is beneficial to have
11137 containers that can provide stronger guarantees about their contents, so
11138 versions of @code{Traversable} and @code{Foldable} that can be folded with
11139 just a @code{Semigroup} are added.")
11140 (license license:bsd-3)))
11141
11142 (define-public ghc-semigroups
11143 (package
11144 (name "ghc-semigroups")
11145 (version "0.18.5")
11146 (source
11147 (origin
11148 (method url-fetch)
11149 (uri (string-append
11150 "https://hackage.haskell.org/package/semigroups/semigroups-"
11151 version
11152 ".tar.gz"))
11153 (sha256
11154 (base32
11155 "17g29h62g1k51ghhvzkw72zksjgi6vs6bfipkj81pqw1dsprcamb"))))
11156 (build-system haskell-build-system)
11157 (inputs
11158 `(("ghc-nats" ,ghc-nats)
11159 ("ghc-tagged" ,ghc-tagged)
11160 ("ghc-unordered-containers" ,ghc-unordered-containers)
11161 ("ghc-hashable" ,ghc-hashable)))
11162 (home-page "https://github.com/ekmett/semigroups/")
11163 (synopsis "Semigroup operations for Haskell")
11164 (description "This package provides semigroups for Haskell. In
11165 mathematics, a semigroup is an algebraic structure consisting of a set
11166 together with an associative binary operation. A semigroup generalizes a
11167 monoid in that there might not exist an identity element. It
11168 also (originally) generalized a group (a monoid with all inverses) to a type
11169 where every element did not have to have an inverse, thus the name
11170 semigroup.")
11171 (license license:bsd-3)))
11172
11173 (define-public ghc-semigroups-bootstrap
11174 (package
11175 (inherit ghc-semigroups)
11176 (name "ghc-semigroups-bootstrap")
11177 (inputs
11178 `(("ghc-nats" ,ghc-nats-bootstrap)
11179 ("ghc-tagged" ,ghc-tagged)
11180 ("ghc-unordered-containers" ,ghc-unordered-containers-bootstrap)
11181 ("ghc-hashable" ,ghc-hashable-bootstrap)))
11182 (properties '((hidden? #t)))))
11183
11184 (define-public ghc-serialise
11185 (package
11186 (name "ghc-serialise")
11187 (version "0.2.1.0")
11188 (source
11189 (origin
11190 (method url-fetch)
11191 (uri (string-append
11192 "mirror://hackage/package/serialise/serialise-"
11193 version
11194 ".tar.gz"))
11195 (sha256
11196 (base32
11197 "19ary6ivzk8z7wcxhm860qmh7pwqj0qjqzav1h42y85l608zqgh4"))))
11198 (build-system haskell-build-system)
11199 (inputs
11200 `(("ghc-cborg" ,ghc-cborg)
11201 ("ghc-half" ,ghc-half)
11202 ("ghc-hashable" ,ghc-hashable)
11203 ("ghc-primitive" ,ghc-primitive)
11204 ("ghc-unordered-containers" ,ghc-unordered-containers)
11205 ("ghc-vector" ,ghc-vector)))
11206 (native-inputs
11207 `(("ghc-quickcheck" ,ghc-quickcheck)
11208 ("ghc-tasty" ,ghc-tasty)
11209 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11210 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
11211 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
11212 (arguments
11213 `(#:cabal-revision
11214 ("1" "1rknhad1i8bpknsnphmcmb6dnb48c2p2c13ia2qqch3hkhsvfpr6")))
11215 (home-page "https://github.com/well-typed/cborg")
11216 (synopsis "Binary serialisation library for Haskell values")
11217 (description
11218 "This package (formerly binary-serialise-cbor) provides pure,
11219 efficient serialization of Haskell values directly into ByteStrings for
11220 storage or transmission purposes. By providing a set of type class instances,
11221 you can also serialise any custom data type you have as well.
11222
11223 The underlying binary format used is the 'Concise Binary Object
11224 Representation', or CBOR, specified in RFC 7049. As a result, serialised
11225 Haskell values have implicit structure outside of the Haskell program itself,
11226 meaning they can be inspected or analyzed without custom tools.
11227
11228 An implementation of the standard bijection between CBOR and JSON is
11229 provided by the https://hackage.haskell.org/package/cborg-json
11230 package. Also see https://hackage.haskell.org/package/cbor-tool for a
11231 convenient command-line utility for working with CBOR data.")
11232 (license license:bsd-3)))
11233
11234 (define-public ghc-setenv
11235 (package
11236 (name "ghc-setenv")
11237 (version "0.1.1.3")
11238 (source
11239 (origin
11240 (method url-fetch)
11241 (uri (string-append
11242 "https://hackage.haskell.org/package/setenv/setenv-"
11243 version
11244 ".tar.gz"))
11245 (sha256
11246 (base32
11247 "0cnbgrvb9byyahb37zlqrj05rj25v190crgcw8wmlgf0mwwxyn73"))))
11248 (build-system haskell-build-system)
11249 (home-page "https://hackage.haskell.org/package/setenv")
11250 (synopsis "Library for setting environment variables")
11251 (description "This package provides a Haskell library for setting
11252 environment variables.")
11253 (license license:expat)))
11254
11255 (define-public ghc-setlocale
11256 (package
11257 (name "ghc-setlocale")
11258 (version "1.0.0.9")
11259 (source (origin
11260 (method url-fetch)
11261 (uri (string-append
11262 "https://hackage.haskell.org/package/setlocale-"
11263 version "/setlocale-" version ".tar.gz"))
11264 (sha256
11265 (base32
11266 "18b6xafspzxrmz5m9r9nzy3z053crqi59xc8n8aqd4gw0pvqdcrv"))))
11267 (build-system haskell-build-system)
11268 (home-page "https://hackage.haskell.org/package/setlocale")
11269 (synopsis "Haskell bindings to setlocale")
11270 (description "This package provides Haskell bindings to the
11271 @code{setlocale} C function.")
11272 (license license:bsd-3)))
11273
11274 (define-public ghc-shakespeare
11275 (package
11276 (name "ghc-shakespeare")
11277 (version "2.0.22")
11278 (source
11279 (origin
11280 (method url-fetch)
11281 (uri (string-append "https://hackage.haskell.org/package/"
11282 "shakespeare-" version "/"
11283 "shakespeare-" version ".tar.gz"))
11284 (sha256
11285 (base32
11286 "1mc1a0vv070gcawwcx6vzpj6gpfh1qnlqrndiyfic3p500y656vh"))))
11287 (build-system haskell-build-system)
11288 (inputs `(("ghc-aeson" ,ghc-aeson)
11289 ("ghc-blaze-markup" ,ghc-blaze-markup)
11290 ("ghc-blaze-html" ,ghc-blaze-html)
11291 ("ghc-exceptions" ,ghc-exceptions)
11292 ("ghc-vector" ,ghc-vector)
11293 ("ghc-unordered-containers" ,ghc-unordered-containers)
11294 ("ghc-scientific" ,ghc-scientific)))
11295 (native-inputs `(("ghc-hspec" ,ghc-hspec)
11296 ("ghc-hunit" ,ghc-hunit)
11297 ("hspec-discover" ,hspec-discover)))
11298 (home-page "https://www.yesodweb.com/book/shakespearean-templates")
11299 (synopsis "Family of type-safe template languages for Haskell")
11300 (description "This Haskell package provides a family of type-safe
11301 templates with simple variable interpolation. Shakespeare templates can
11302 be used inline with a quasi-quoter or in an external file and it
11303 interpolates variables according to the type being inserted.")
11304 (license license:expat)))
11305
11306 (define-public ghc-shelly
11307 (package
11308 (name "ghc-shelly")
11309 (version "1.8.1")
11310 (source
11311 (origin
11312 (method url-fetch)
11313 (uri (string-append
11314 "https://hackage.haskell.org/package/shelly/shelly-"
11315 version ".tar.gz"))
11316 (sha256
11317 (base32
11318 "023fbvbqs5gdwm30j5517gbdcc7fvz0md70dgwgpypkskj3i926y"))))
11319 (build-system haskell-build-system)
11320 (inputs
11321 `(("ghc-unix-compat" ,ghc-unix-compat)
11322 ("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
11323 ("ghc-system-fileio-bootstrap" ,ghc-system-fileio-bootstrap)
11324 ("ghc-monad-control" ,ghc-monad-control)
11325 ("ghc-lifted-base" ,ghc-lifted-base)
11326 ("ghc-lifted-async" ,ghc-lifted-async)
11327 ("ghc-exceptions" ,ghc-exceptions)
11328 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
11329 ("ghc-async" ,ghc-async)
11330 ("ghc-transformers-base" ,ghc-transformers-base)
11331 ("ghc-hunit" ,ghc-hunit)
11332 ("ghc-hspec" ,ghc-hspec)
11333 ("ghc-hspec-contrib" ,ghc-hspec-contrib)))
11334 (home-page "https://github.com/yesodweb/Shelly.hs")
11335 (synopsis "Shell-like (systems) programming in Haskell")
11336 (description
11337 "Shelly provides convenient systems programming in Haskell, similar in
11338 spirit to POSIX shells. Shelly is originally forked from the Shellish package.")
11339 (license license:bsd-3)))
11340
11341 (define-public ghc-silently
11342 (package
11343 (name "ghc-silently")
11344 (version "1.2.5.1")
11345 (source
11346 (origin
11347 (method url-fetch)
11348 (uri (string-append
11349 "https://hackage.haskell.org/package/silently/silently-"
11350 version
11351 ".tar.gz"))
11352 (sha256
11353 (base32
11354 "1lgs1gsr5dp0x21diqn4l03fxgai2kgdmj85gqp0iz3zykvbmjbz"))))
11355 (build-system haskell-build-system)
11356 (arguments `(#:tests? #f)) ;; circular dependency with nanospec
11357 ;; (inputs
11358 ;; `(("ghc-temporary" ,ghc-temporary)))
11359 (home-page "https://github.com/hspec/silently")
11360 (synopsis "Prevent writing to stdout")
11361 (description "This package provides functions to prevent or capture
11362 writing to stdout and other handles.")
11363 (license license:bsd-3)))
11364
11365 (define-public ghc-simple-reflect
11366 (package
11367 (name "ghc-simple-reflect")
11368 (version "0.3.3")
11369 (source
11370 (origin
11371 (method url-fetch)
11372 (uri (string-append
11373 "https://hackage.haskell.org/package/simple-reflect/simple-reflect-"
11374 version
11375 ".tar.gz"))
11376 (sha256
11377 (base32
11378 "0ayvrx5cm8n6db21jiyjmk5h93pw7cz1707hih09hlhk9jh5x0h7"))))
11379 (build-system haskell-build-system)
11380 (home-page
11381 "https://twanvl.nl/blog/haskell/simple-reflection-of-expressions")
11382 (synopsis
11383 "Simple reflection of expressions containing variables")
11384 (description
11385 "This package allows simple reflection of expressions containing
11386 variables. Reflection here means that a Haskell expression is turned into a
11387 string. The primary aim of this package is teaching and understanding; there
11388 are no options for manipulating the reflected expressions beyond showing
11389 them.")
11390 (license license:bsd-3)))
11391
11392 (define-public ghc-simple-sendfile
11393 (package
11394 (name "ghc-simple-sendfile")
11395 (version "0.2.30")
11396 (source
11397 (origin
11398 (method url-fetch)
11399 (uri (string-append "https://hackage.haskell.org/package/"
11400 "simple-sendfile-" version "/"
11401 "simple-sendfile-" version ".tar.gz"))
11402 (sha256
11403 (base32
11404 "112j0qfsjazf9wg1zywf7hjybgsiywk9wkm27yi8xzv27hmlv1mn"))))
11405 (build-system haskell-build-system)
11406 (inputs
11407 `(("ghc-conduit" ,ghc-conduit)
11408 ("ghc-conduit-extra" ,ghc-conduit-extra)
11409 ("ghc-network" ,ghc-network)
11410 ("ghc-resourcet" ,ghc-resourcet)))
11411 (native-inputs
11412 `(("ghc-hspec" ,ghc-hspec)
11413 ("hspec-discover" ,hspec-discover)))
11414 (home-page "https://github.com/kazu-yamamoto/simple-sendfile")
11415 (synopsis "Cross platform library for the sendfile system call")
11416 (description "This library tries to call minimum system calls which
11417 are the bottleneck of web servers.")
11418 (license license:bsd-3)))
11419
11420 (define-public ghc-size-based
11421 (package
11422 (name "ghc-size-based")
11423 (version "0.1.2.0")
11424 (source
11425 (origin
11426 (method url-fetch)
11427 (uri (string-append "https://hackage.haskell.org/package/"
11428 "size-based/size-based-" version ".tar.gz"))
11429 (sha256
11430 (base32
11431 "06hmlic0n73ncwlkpx49xlv09bzsrr27ncnp5byhzlknak2gd7vp"))))
11432 (build-system haskell-build-system)
11433 (inputs
11434 `(("ghc-dictionary-sharing" ,ghc-dictionary-sharing)
11435 ("ghc-testing-type-modifiers" ,ghc-testing-type-modifiers)
11436 ("ghc-semigroups" ,ghc-semigroups)))
11437 (arguments
11438 `(#:cabal-revision
11439 ("1" "0kax1ypjyglkn6iff1x4yz12y7f2n249m95xvdhrc63hsa4xlcqv")))
11440 (home-page "https://hackage.haskell.org/package/size-based")
11441 (synopsis "Sized functors for size-based enumerations")
11442 (description "This library provides a framework for size-based
11443 enumerations.")
11444 (license license:bsd-3)))
11445
11446 (define-public ghc-skylighting-core
11447 (package
11448 (name "ghc-skylighting-core")
11449 (version "0.8.2.1")
11450 (source (origin
11451 (method url-fetch)
11452 (uri (string-append "https://hackage.haskell.org/package/"
11453 "skylighting-core/skylighting-core-"
11454 version ".tar.gz"))
11455 (sha256
11456 (base32
11457 "0hdchivb4af9w7v5v7lrwfwawd3kcwmpzk69m1vkkm3pis8lcr1s"))))
11458 (build-system haskell-build-system)
11459 (inputs
11460 `(("ghc-aeson" ,ghc-aeson)
11461 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
11462 ("ghc-attoparsec" ,ghc-attoparsec)
11463 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
11464 ("ghc-blaze-html" ,ghc-blaze-html)
11465 ("ghc-case-insensitive" ,ghc-case-insensitive)
11466 ("ghc-colour" ,ghc-colour)
11467 ("ghc-hxt" ,ghc-hxt)
11468 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
11469 ("ghc-safe" ,ghc-safe)
11470 ("ghc-utf8-string" ,ghc-utf8-string)))
11471 (native-inputs
11472 `(("ghc-diff" ,ghc-diff)
11473 ("ghc-hunit" ,ghc-hunit)
11474 ("ghc-pretty-show" ,ghc-pretty-show)
11475 ("ghc-quickcheck" ,ghc-quickcheck)
11476 ("ghc-tasty" ,ghc-tasty)
11477 ("ghc-tasty-golden" ,ghc-tasty-golden)
11478 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11479 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11480 (home-page "https://github.com/jgm/skylighting")
11481 (synopsis "Syntax highlighting library")
11482 (description "Skylighting is a syntax highlighting library with support
11483 for over one hundred languages. It derives its tokenizers from XML syntax
11484 definitions used by KDE's @code{KSyntaxHighlighting} framework, so any syntax
11485 supported by that framework can be added. An optional command-line program is
11486 provided. Skylighting is intended to be the successor to highlighting-kate.")
11487 (license license:gpl2)))
11488
11489 (define-public ghc-skylighting
11490 (package
11491 (inherit ghc-skylighting-core)
11492 (name "ghc-skylighting")
11493 (version "0.8.2.1")
11494 (source (origin
11495 (method url-fetch)
11496 (uri (string-append "https://hackage.haskell.org/package/skylighting-"
11497 version "/skylighting-" version ".tar.gz"))
11498 (sha256
11499 (base32
11500 "1xls8ycad77m55ax4hp55k60h3pi5sm3m32hycbc8baixbgfx5xz"))))
11501 (inputs
11502 `(("ghc-skylighting-core" ,ghc-skylighting-core)
11503 ,@(package-inputs ghc-skylighting-core)))))
11504
11505 (define-public ghc-smallcheck
11506 (package
11507 (name "ghc-smallcheck")
11508 (version "1.1.5")
11509 (source
11510 (origin
11511 (method url-fetch)
11512 (uri (string-append
11513 "https://hackage.haskell.org/package/smallcheck/smallcheck-"
11514 version
11515 ".tar.gz"))
11516 (sha256
11517 (base32
11518 "195fj7w3v03d1y1nm2ylavzrwxjcdbq0lb6zsw1dwyx5jmwfc84h"))))
11519 (build-system haskell-build-system)
11520 (inputs
11521 `(("ghc-logict" ,ghc-logict)))
11522 (home-page
11523 "https://github.com/feuerbach/smallcheck")
11524 (synopsis "Property-based testing library")
11525 (description "SmallCheck is a testing library that verifies
11526 properties for all test cases up to some depth. The test cases are generated
11527 automatically by SmallCheck.")
11528 (license license:bsd-3)))
11529
11530 (define-public ghc-socks
11531 (package
11532 (name "ghc-socks")
11533 (version "0.6.1")
11534 (source (origin
11535 (method url-fetch)
11536 (uri (string-append "https://hackage.haskell.org/package/"
11537 "socks/socks-" version ".tar.gz"))
11538 (sha256
11539 (base32
11540 "0wvaxy3dkv97wrncjv1rxrmjr4014hgxz82kixvcwqdhidalfi3k"))))
11541 (build-system haskell-build-system)
11542 (inputs
11543 `(("ghc-cereal" ,ghc-cereal)
11544 ("ghc-basement" ,ghc-basement)
11545 ("ghc-network" ,ghc-network)))
11546 (home-page "https://github.com/vincenthz/hs-socks")
11547 (synopsis "SOCKS proxy (version 5) implementation")
11548 (description
11549 "This library provides a SOCKS proxy (version 5) implementation.")
11550 (license license:bsd-3)))
11551
11552 (define-public ghc-sop-core
11553 (package
11554 (name "ghc-sop-core")
11555 (version "0.4.0.0")
11556 (source
11557 (origin
11558 (method url-fetch)
11559 (uri (string-append "https://hackage.haskell.org/package/"
11560 "sop-core/sop-core-" version ".tar.gz"))
11561 (sha256
11562 (base32
11563 "07ci2mh8cbjvipb576rxsj3iyhkj5c5dnsns4xkdppp2p3pv10d3"))))
11564 (build-system haskell-build-system)
11565 (home-page "https://hackage.haskell.org/package/sop-core")
11566 (synopsis "True Sums of Products")
11567 (description "This package provides an implementation of
11568 @math{n}-ary sums and @math{n}-ary products. The module @code{Data.SOP}
11569 is the main module of this library and contains more detailed
11570 documentation. The main use case of this package is to serve as the
11571 core of @url{https://hackage.haskell.org/package/generics-sop,
11572 generics-sop}.")
11573 (license license:bsd-3)))
11574
11575 (define-public ghc-special-values
11576 (package
11577 (name "ghc-special-values")
11578 (version "0.1.0.0")
11579 (source
11580 (origin
11581 (method url-fetch)
11582 (uri (string-append
11583 "https://hackage.haskell.org/package/special-values/"
11584 "special-values-" version ".tar.gz"))
11585 (sha256
11586 (base32
11587 "1kkdw2c4d2hha99v9f89ahmifjxp7fxmxyfwq9a8xk6s0h9xs51w"))))
11588 (build-system haskell-build-system)
11589 (inputs
11590 `(("ghc-scientific" ,ghc-scientific)
11591 ("ghc-ieee754" ,ghc-ieee754)
11592 ("ghc-nats" ,ghc-nats)))
11593 (home-page
11594 "https://github.com/minad/special-values#readme")
11595 (synopsis "Typeclass providing special values")
11596 (description
11597 "Special values are provided by a SpecialValues typeclass. Those can be
11598 used for example by QuickCheck, see quickcheck-special." )
11599 (license license:expat)))
11600
11601 (define-public ghc-split
11602 (package
11603 (name "ghc-split")
11604 (version "0.2.3.3")
11605 (outputs '("out" "doc"))
11606 (source
11607 (origin
11608 (method url-fetch)
11609 (uri (string-append
11610 "https://hackage.haskell.org/package/split/split-"
11611 version
11612 ".tar.gz"))
11613 (sha256
11614 (base32
11615 "04qlmkcyklznl03gsjg95b4nzb6i96gdapqg60rny9szgi7ngk8x"))))
11616 (build-system haskell-build-system)
11617 (arguments
11618 `(#:cabal-revision
11619 ("2" "1c8bcssxq5rkxkixgms6w6x6lzf4n7cxk6cx6av1dp3lixdy9j34")))
11620 (native-inputs
11621 `(("ghc-quickcheck" ,ghc-quickcheck)))
11622 (home-page "https://hackage.haskell.org/package/split")
11623 (synopsis "Combinator library for splitting lists")
11624 (description "This package provides a collection of Haskell functions for
11625 splitting lists into parts, akin to the @code{split} function found in several
11626 mainstream languages.")
11627 (license license:bsd-3)))
11628
11629 (define-public ghc-splitmix
11630 (package
11631 (name "ghc-splitmix")
11632 (version "0.0.3")
11633 (source
11634 (origin
11635 (method url-fetch)
11636 (uri (string-append "https://hackage.haskell.org/package/"
11637 "splitmix/splitmix-" version ".tar.gz"))
11638 (sha256
11639 (base32
11640 "1k0amgkz7rvyz3lnw7m786ilnr1cibwhx9sc4qynq329gxan5r7w"))))
11641 (build-system haskell-build-system)
11642 (inputs
11643 `(("ghc-random" ,ghc-random)))
11644 (native-inputs
11645 `(("ghc-hunit" ,ghc-hunit)
11646 ("ghc-async" ,ghc-async)
11647 ("ghc-base-compat-batteries" ,ghc-base-compat-batteries)
11648 ("ghc-tf-random" ,ghc-tf-random)
11649 ("ghc-vector" ,ghc-vector)))
11650 (home-page "https://hackage.haskell.org/package/splitmix")
11651 (synopsis "Fast and splittable pseudorandom number generator")
11652 (description "This package provides a Pure Haskell implementation of the
11653 SplitMix pseudorandom number generator. SplitMix is a \"splittable\"
11654 pseudorandom number generator that is quite fast: 9 64-bit
11655 arithmetic/logical operations per 64 bits generated. SplitMix is tested
11656 with two standard statistical test suites (DieHarder and TestU01, this
11657 implementation only using the former) and it appears to be adequate for
11658 \"everyday\" use, such as Monte Carlo algorithms and randomized data
11659 structures where speed is important. In particular, it @strong{should not
11660 be used for cryptographic or security applications}, because generated
11661 sequences of pseudorandom values are too predictable (the mixing functions
11662 are easily inverted, and two successive outputs suffice to reconstruct the
11663 internal state).")
11664 (license license:bsd-3)))
11665
11666 (define-public ghc-splitmix-bootstrap
11667 (package
11668 (inherit ghc-splitmix)
11669 (name "ghc-splitmix-bootstrap")
11670 (arguments `(#:tests? #f))
11671 (native-inputs '())
11672 (properties '((hidden? #t)))))
11673
11674 (define-public ghc-spoon
11675 (package
11676 (name "ghc-spoon")
11677 (version "0.3.1")
11678 (source
11679 (origin
11680 (method url-fetch)
11681 (uri (string-append
11682 "https://hackage.haskell.org/package/spoon/spoon-"
11683 version
11684 ".tar.gz"))
11685 (sha256
11686 (base32
11687 "1m41k0mfy6fpfrv2ym4m5jsjaj9xdfl2iqpppd3c4d0fffv51cxr"))))
11688 (build-system haskell-build-system)
11689 (arguments
11690 `(#:cabal-revision
11691 ("1"
11692 "09s5jjcsg4g4qxchq9g2l4i9d5zh3rixpkbiysqcgl69kj8mwv74")))
11693 (home-page
11694 "http://hackage.haskell.org/package/spoon")
11695 (synopsis
11696 "Catch errors thrown from pure computations")
11697 (description
11698 "Takes an error-throwing expression and puts it back in the Maybe it
11699 belongs in.
11700
11701 Note that this suffers from the
11702 @url{https://ghc.haskell.org/trac/ghc/ticket/5902}. Buyer beware.")
11703 (license license:bsd-3)))
11704
11705 (define-public ghc-statevar
11706 (package
11707 (name "ghc-statevar")
11708 (version "1.2")
11709 (source
11710 (origin
11711 (method url-fetch)
11712 (uri (string-append
11713 "https://hackage.haskell.org/package/StateVar/StateVar-"
11714 version
11715 ".tar.gz"))
11716 (sha256
11717 (base32
11718 "12sz6zkc9j5z3lwrjvljrkfxa5vhwnir5wsarigz2f6d3w13dh5g"))))
11719 (build-system haskell-build-system)
11720 (home-page "https://hackage.haskell.org/package/StateVar")
11721 (synopsis "State variables for Haskell")
11722 (description "This package provides state variables, which are references
11723 in the @code{IO} monad, like @code{IORef}s or parts of the OpenGL state.")
11724 (license license:bsd-3)))
11725
11726 (define-public ghc-statistics
11727 (package
11728 (name "ghc-statistics")
11729 (version "0.15.1.1")
11730 (source
11731 (origin
11732 (method url-fetch)
11733 (uri (string-append "https://hackage.haskell.org/package/"
11734 "statistics-" version "/"
11735 "statistics-" version ".tar.gz"))
11736 (sha256
11737 (base32
11738 "015rn74f1glii26j4b2fh1fc63xvxzrh2xckiancz48kc8jdzabj"))))
11739 (build-system haskell-build-system)
11740 (arguments
11741 '(;; Two tests fail: "Discrete CDF is OK" and "Quantile is CDF inverse".
11742 #:tests? #f))
11743 (inputs
11744 `(("ghc-aeson" ,ghc-aeson)
11745 ("ghc-async" ,ghc-async)
11746 ("ghc-base-orphans" ,ghc-base-orphans)
11747 ("ghc-dense-linear-algebra" ,ghc-dense-linear-algebra)
11748 ("ghc-math-functions" ,ghc-math-functions)
11749 ("ghc-monad-par" ,ghc-monad-par)
11750 ("ghc-mwc-random" ,ghc-mwc-random)
11751 ("ghc-primitive" ,ghc-primitive)
11752 ("ghc-vector" ,ghc-vector)
11753 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
11754 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)
11755 ("ghc-vector-binary-instances" ,ghc-vector-binary-instances)))
11756 (native-inputs
11757 `(("ghc-hunit" ,ghc-hunit)
11758 ("ghc-quickcheck" ,ghc-quickcheck)
11759 ("ghc-ieee754" ,ghc-ieee754)
11760 ("ghc-test-framework" ,ghc-test-framework)
11761 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
11762 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
11763 (home-page "https://github.com/bos/mwc-random")
11764 (synopsis "Haskell library of statistical types, data, and functions")
11765 (description "This library provides a number of common functions
11766 and types useful in statistics. We focus on high performance, numerical
11767 robustness, and use of good algorithms. Where possible, we provide references
11768 to the statistical literature.
11769
11770 The library's facilities can be divided into four broad categories:
11771
11772 @itemize
11773 @item Working with widely used discrete and continuous probability
11774 distributions. (There are dozens of exotic distributions in use; we focus
11775 on the most common.)
11776
11777 @item Computing with sample data: quantile estimation, kernel density
11778 estimation, histograms, bootstrap methods, significance testing,
11779 and regression and autocorrelation analysis.
11780
11781 @item Random variate generation under several different distributions.
11782
11783 @item Common statistical tests for significant differences between samples.
11784 @end itemize")
11785 (license license:bsd-2)))
11786
11787 (define-public ghc-stm-chans
11788 (package
11789 (name "ghc-stm-chans")
11790 (version "3.0.0.4")
11791 (source
11792 (origin
11793 (method url-fetch)
11794 (uri (string-append "https://hackage.haskell.org/package/"
11795 "stm-chans-" version "/"
11796 "stm-chans-" version ".tar.gz"))
11797 (sha256
11798 (base32
11799 "0f27sp09yha43xk9q55sc185jyjs5h7gq2dhsyx6bm9kz9dzqi13"))))
11800 (build-system haskell-build-system)
11801 (home-page "https://hackage.haskell.org/package/stm-chans")
11802 (synopsis "Additional types of channels for ghc-stm")
11803 (description "This Haskell package offers a collection of channel types,
11804 similar to @code{Control.Concurrent.STM.@{TChan,TQueue@}} but with additional
11805 features.")
11806 (license license:bsd-3)))
11807
11808 (define-public ghc-stm-conduit
11809 (package
11810 (name "ghc-stm-conduit")
11811 (version "4.0.1")
11812 (source
11813 (origin
11814 (method url-fetch)
11815 (uri (string-append "https://hackage.haskell.org/package/stm-conduit/"
11816 "stm-conduit-" version ".tar.gz"))
11817 (sha256
11818 (base32
11819 "0hhlxvpp7mah8dcvkknh6skx44jfk3092zz2w52zlr255bkmn3p8"))))
11820 (build-system haskell-build-system)
11821 (inputs
11822 `(("ghc-stm-chans" ,ghc-stm-chans)
11823 ("ghc-cereal" ,ghc-cereal)
11824 ("ghc-cereal-conduit" ,ghc-cereal-conduit)
11825 ("ghc-conduit" ,ghc-conduit)
11826 ("ghc-conduit-extra" ,ghc-conduit-extra)
11827 ("ghc-exceptions" ,ghc-exceptions)
11828 ("ghc-resourcet" ,ghc-resourcet)
11829 ("ghc-async" ,ghc-async)
11830 ("ghc-monad-loops" ,ghc-monad-loops)
11831 ("ghc-unliftio" ,ghc-unliftio)))
11832 (native-inputs
11833 `(("ghc-doctest" ,ghc-doctest)
11834 ("ghc-quickcheck" ,ghc-quickcheck)
11835 ("ghc-hunit" ,ghc-hunit)
11836 ("ghc-test-framework" ,ghc-test-framework)
11837 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
11838 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
11839 (home-page "https://github.com/cgaebel/stm-conduit")
11840 (synopsis "Introduces conduits to channels and promotes using conduits concurrently")
11841 (description
11842 "This package provides two simple conduit wrappers around STM channels: a
11843 source and a sink.")
11844 (license license:bsd-3)))
11845
11846 (define-public ghc-stmonadtrans
11847 (package
11848 (name "ghc-stmonadtrans")
11849 (version "0.4.3")
11850 (source
11851 (origin
11852 (method url-fetch)
11853 (uri (string-append "https://hackage.haskell.org/package/STMonadTrans"
11854 "/STMonadTrans-" version ".tar.gz"))
11855 (sha256
11856 (base32 "1nr26fnmi5fdjc6d00w13kjhmfyvb5b837d0006w4dj0yxndaksp"))))
11857 (build-system haskell-build-system)
11858 (home-page "https://hackage.haskell.org/package/STMonadTrans")
11859 (synopsis "Monad transformer version of the ST monad")
11860 (description
11861 "This package provides a monad transformer version of the @code{ST} monad
11862 for strict state threads.")
11863 (license license:bsd-3)))
11864
11865 (define-public ghc-storable-complex
11866 (package
11867 (name "ghc-storable-complex")
11868 (version "0.2.3.0")
11869 (source
11870 (origin
11871 (method url-fetch)
11872 (uri (string-append
11873 "https://hackage.haskell.org/package/storable-complex/storable-complex-"
11874 version ".tar.gz"))
11875 (sha256
11876 (base32 "0fnwbfmd5vsaaqvf9182qdcjrzcfjd1zhdyvjwzifbwvn6r9kx4s"))))
11877 (build-system haskell-build-system)
11878 (inputs
11879 `(("ghc-base-orphans" ,ghc-base-orphans)))
11880 (home-page "https://github.com/cartazio/storable-complex")
11881 (synopsis "Haskell Storable instance for Complex")
11882 (description "This package provides a Haskell library including a
11883 Storable instance for Complex which is binary compatible with C99, C++
11884 and Fortran complex data types.")
11885 (license license:bsd-3)))
11886
11887 (define-public ghc-storable-record
11888 (package
11889 (name "ghc-storable-record")
11890 (version "0.0.4")
11891 (source
11892 (origin
11893 (method url-fetch)
11894 (uri
11895 (string-append
11896 "https://hackage.haskell.org/package/storable-record/"
11897 "storable-record-" version ".tar.gz"))
11898 (sha256
11899 (base32
11900 "0hjs1km0fc9ch0i1rbycxia5w3939hk4p4md73ikgg4aipqb5zyf"))))
11901 (build-system haskell-build-system)
11902 (inputs
11903 `(("ghc-semigroups" ,ghc-semigroups)
11904 ("ghc-utility-ht" ,ghc-utility-ht)
11905 ("ghc-storablevector" ,ghc-storablevector)
11906 ("ghc-timeit" ,ghc-timeit)))
11907 (home-page "https://hackage.haskell.org/package/storable-record")
11908 (synopsis "Elegant definition of Storable instances for records")
11909 (description "With this package you can build a Storable instance of
11910 a record type from Storable instances of its elements in an elegant way.
11911 It does not do any magic, just a bit arithmetic to compute the right
11912 offsets, that would be otherwise done manually or by a preprocessor like
11913 C2HS. There is no guarantee that the generated memory layout is
11914 compatible with that of a corresponding C struct. However, the module
11915 generates the smallest layout that is possible with respect to the
11916 alignment of the record elements.")
11917 (license license:bsd-3)))
11918
11919 (define-public ghc-storable-tuple
11920 (package
11921 (name "ghc-storable-tuple")
11922 (version "0.0.3.3")
11923 (source
11924 (origin
11925 (method url-fetch)
11926 (uri
11927 (string-append
11928 "https://hackage.haskell.org/package/storable-tuple/"
11929 "storable-tuple-" version ".tar.gz"))
11930 (sha256
11931 (base32
11932 "0dfzhxgkn1l6ls7zh6iifhyvhm8l47n40z0ar23c6ibsa94w1ynw"))))
11933 (build-system haskell-build-system)
11934 (inputs
11935 `(("ghc-storable-record" ,ghc-storable-record)
11936 ("ghc-utility-ht" ,ghc-utility-ht)
11937 ("ghc-base-orphans" ,ghc-base-orphans)))
11938 (home-page "https://hackage.haskell.org/package/storable-tuple")
11939 (synopsis "Storable instance for pairs and triples")
11940 (description "This package provides a Storable instance for pairs
11941 and triples which should be binary compatible with C99 and C++. The
11942 only purpose of this package is to provide a standard location for this
11943 instance so that other packages needing this instance can play nicely
11944 together.")
11945 (license license:bsd-3)))
11946
11947 (define-public ghc-storablevector
11948 (package
11949 (name "ghc-storablevector")
11950 (version "0.2.13")
11951 (source
11952 (origin
11953 (method url-fetch)
11954 (uri
11955 (string-append
11956 "https://hackage.haskell.org/package/storablevector/storablevector-"
11957 version ".tar.gz"))
11958 (sha256
11959 (base32
11960 "1zmr738vwnhnyxbikayqnaz31ilv2qlmscp6iqgl7adcfbal4dzq"))))
11961 (build-system haskell-build-system)
11962 (inputs
11963 `(("ghc-non-negative" ,ghc-non-negative)
11964 ("ghc-utility-ht" ,ghc-utility-ht)
11965 ("ghc-semigroups" ,ghc-semigroups)
11966 ("ghc-unsafe" ,ghc-unsafe)
11967 ("ghc-quickcheck" ,ghc-quickcheck)
11968 ("ghc-syb" ,ghc-syb)))
11969 (home-page "https://wiki.haskell.org/Storable_Vector")
11970 (synopsis "Fast, packed, strict storable arrays with a list interface")
11971 (description "This library provides fast, packed, strict storable
11972 arrays with a list interface, a chunky lazy list interface with variable
11973 chunk size and an interface for write access via the ST monad. This is
11974 much like bytestring and binary but can be used for every
11975 @code{Foreign.Storable.Storable} type. See also
11976 @url{http://hackage.haskell.org/package/vector}, a library with a
11977 similar intention.
11978
11979 This library does not do advanced fusion optimization, since especially
11980 for lazy vectors this would either be incorrect or not applicable. See
11981 @url{http://hackage.haskell.org/package/storablevector-streamfusion} for
11982 a library that provides fusion with lazy lists.")
11983 (license license:bsd-3)))
11984
11985 (define-public ghc-streaming-commons
11986 (package
11987 (name "ghc-streaming-commons")
11988 (version "0.2.1.1")
11989 (source
11990 (origin
11991 (method url-fetch)
11992 (uri (string-append "https://hackage.haskell.org/package/"
11993 "streaming-commons/streaming-commons-"
11994 version ".tar.gz"))
11995 (sha256
11996 (base32
11997 "1lmyx3wkjsayhy5yilzvy0kf8qwmycwlk26r1d8f3cxbfhkr7s52"))))
11998 (build-system haskell-build-system)
11999 (inputs
12000 `(("ghc-async" ,ghc-async)
12001 ("ghc-blaze-builder" ,ghc-blaze-builder)
12002 ("ghc-network" ,ghc-network)
12003 ("ghc-random" ,ghc-random)
12004 ("ghc-zlib" ,ghc-zlib)))
12005 (native-inputs
12006 `(("ghc-quickcheck" ,ghc-quickcheck)
12007 ("ghc-hspec" ,ghc-hspec)
12008 ("hspec-discover" ,hspec-discover)))
12009 (home-page "https://hackage.haskell.org/package/streaming-commons")
12010 (synopsis "Conduit and pipes needed by some streaming data libraries")
12011 (description "This package provides low-dependency functionality commonly
12012 needed by various Haskell streaming data libraries, such as @code{conduit} and
12013 @code{pipe}s.")
12014 (license license:expat)))
12015
12016 (define-public ghc-strict
12017 (package
12018 (name "ghc-strict")
12019 (version "0.3.2")
12020 (source
12021 (origin
12022 (method url-fetch)
12023 (uri (string-append "https://hackage.haskell.org/package/strict/strict-"
12024 version ".tar.gz"))
12025 (sha256
12026 (base32 "08cjajqz9h47fkq98mlf3rc8n5ghbmnmgn8pfsl3bdldjdkmmlrc"))))
12027 (build-system haskell-build-system)
12028 (home-page "https://hackage.haskell.org/package/strict")
12029 (synopsis "Strict data types and String IO")
12030 (description
12031 "This package provides strict versions of some standard Haskell data
12032 types, such as pairs, @code{Maybe} and @code{Either}. It also contains strict
12033 IO operations.")
12034 (license license:bsd-3)))
12035
12036 (define-public ghc-stringbuilder
12037 (package
12038 (name "ghc-stringbuilder")
12039 (version "0.5.1")
12040 (source
12041 (origin
12042 (method url-fetch)
12043 (uri (string-append
12044 "https://hackage.haskell.org/package/stringbuilder/stringbuilder-"
12045 version
12046 ".tar.gz"))
12047 (sha256
12048 (base32
12049 "1fh3csx1wcssn8xyvl4ip4aprh9l4qyz2kk8mgjvqvc0vb2bsy6q"))))
12050 (build-system haskell-build-system)
12051 (arguments `(#:tests? #f)) ; FIXME: circular dependencies with tests
12052 ; enabled
12053 (home-page "https://hackage.haskell.org/package/stringbuilder")
12054 (synopsis "Writer monad for multi-line string literals")
12055 (description "This package provides a writer monad for multi-line string
12056 literals.")
12057 (license license:expat)))
12058
12059 (define-public ghc-string-qq
12060 (package
12061 (name "ghc-string-qq")
12062 (version "0.0.4")
12063 (source
12064 (origin
12065 (method url-fetch)
12066 (uri (string-append
12067 "https://hackage.haskell.org/package/string-qq/string-qq-"
12068 version
12069 ".tar.gz"))
12070 (sha256
12071 (base32
12072 "0wfxkw4x6j6jq9nd82k83g2k3hskpsvk1dp4cpkshvjr4wg9qny8"))))
12073 (build-system haskell-build-system)
12074 (native-inputs
12075 `(("ghc-hunit" ,ghc-hunit)))
12076 (home-page "https://hackage.haskell.org/package/string-qq")
12077 (synopsis
12078 "QuasiQuoter for non-interpolated strings, texts and bytestrings.")
12079 (description
12080 "This package provides a quasiquoter for non-interpolated strings, texts
12081 and bytestrings.")
12082 (license license:public-domain)))
12083
12084 (define-public ghc-stringsearch
12085 (package
12086 (name "ghc-stringsearch")
12087 (version "0.3.6.6")
12088 (source
12089 (origin
12090 (method url-fetch)
12091 (uri (string-append
12092 "https://hackage.haskell.org/package/stringsearch/stringsearch-"
12093 version
12094 ".tar.gz"))
12095 (sha256
12096 (base32
12097 "0jpy9xjcjdbpi3wk6mg7xwd7wfi2mma70p97v1ij5i8bj9qijpr9"))))
12098 (build-system haskell-build-system)
12099 (arguments
12100 `(#:cabal-revision
12101 ("1" "0z5pz5dccapz9k39r2zmf056m0x2m2lj3jahhnw3mfxlmps07378")))
12102 (home-page "https://bitbucket.org/dafis/stringsearch")
12103 (synopsis "Fast searching, splitting and replacing of ByteStrings")
12104 (description "This package provides several functions to quickly search
12105 for substrings in strict or lazy @code{ByteStrings}. It also provides
12106 functions for breaking or splitting on substrings and replacing all
12107 occurrences of a substring (the first in case of overlaps) with another.")
12108 (license license:bsd-3)))
12109
12110 (define-public ghc-svg-builder
12111 (package
12112 (name "ghc-svg-builder")
12113 (version "0.1.1")
12114 (source
12115 (origin
12116 (method url-fetch)
12117 (uri (string-append "https://hackage.haskell.org/package/"
12118 "svg-builder/svg-builder-" version ".tar.gz"))
12119 (sha256
12120 (base32
12121 "1k420f497lzkymmxin88ql6ib8dziic43avykv31yq65rgrf7l2g"))))
12122 (build-system haskell-build-system)
12123 (inputs
12124 `(("ghc-blaze-builder" ,ghc-blaze-builder)
12125 ("ghc-hashable" ,ghc-hashable)
12126 ("ghc-unordered-containers" ,ghc-unordered-containers)))
12127 (arguments
12128 `(#:cabal-revision
12129 ("1" "1bhp9gvid2iis411k1vvyj5krzc4ahxcqcd9cwx9h37jxg180xw1")))
12130 (home-page "https://github.com/diagrams/svg-builder.git")
12131 (synopsis "Domain-specific language for building Scalable Vector Graphics")
12132 (description "Easy-to-write domain-specific language (DSL) for
12133 building Scalable Vector Graphics (SVG).")
12134 (license license:bsd-3)))
12135
12136 (define-public ghc-syb
12137 (package
12138 (name "ghc-syb")
12139 (version "0.7.1")
12140 (outputs '("out" "doc"))
12141 (source
12142 (origin
12143 (method url-fetch)
12144 (uri (string-append
12145 "https://hackage.haskell.org/package/syb/syb-"
12146 version
12147 ".tar.gz"))
12148 (sha256
12149 (base32
12150 "0077vxzyi9ppbphi2ialac3p376k49qly1kskdgf57wdwix9qjp0"))))
12151 (build-system haskell-build-system)
12152 (inputs
12153 `(("ghc-hunit" ,ghc-hunit)))
12154 (home-page
12155 "http://www.cs.uu.nl/wiki/GenericProgramming/SYB")
12156 (synopsis "Scrap Your Boilerplate")
12157 (description "This package contains the generics system described in the
12158 /Scrap Your Boilerplate/ papers (see
12159 @uref{http://www.cs.uu.nl/wiki/GenericProgramming/SYB, the website}). It
12160 defines the @code{Data} class of types permitting folding and unfolding of
12161 constructor applications, instances of this class for primitive types, and a
12162 variety of traversals.")
12163 (license license:bsd-3)))
12164
12165 (define-public ghc-system-fileio
12166 (package
12167 (name "ghc-system-fileio")
12168 (version "0.3.16.4")
12169 (source
12170 (origin
12171 (method url-fetch)
12172 (uri (string-append
12173 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
12174 version ".tar.gz"))
12175 (sha256
12176 (base32
12177 "1iy6g1f35gzyj12g9mdiw4zf75mmxpv1l8cyaldgyscsl648pr9l"))))
12178 (build-system haskell-build-system)
12179 (arguments
12180 `(#:phases
12181 (modify-phases %standard-phases
12182 (add-before 'configure 'update-constraints
12183 (lambda _
12184 (substitute* "system-fileio.cabal"
12185 (("chell >= 0\\.4 && < 0\\.5") "chell >= 0.4"))
12186 #t)))))
12187 (inputs
12188 `(("ghc-system-filepath" ,ghc-system-filepath)
12189 ("ghc-chell" ,ghc-chell)
12190 ("ghc-temporary" ,ghc-temporary)))
12191 (home-page "https://github.com/fpco/haskell-filesystem")
12192 (synopsis "Consistent file system interaction across GHC versions")
12193 (description
12194 "This is a small wrapper around the directory, unix, and Win32 packages,
12195 for use with system-filepath. It provides a consistent API to the various
12196 versions of these packages distributed with different versions of GHC.
12197 In particular, this library supports working with POSIX files that have paths
12198 which can't be decoded in the current locale encoding.")
12199 (license license:expat)))
12200
12201 ;; See ghc-system-filepath-bootstrap. In addition this package depends on
12202 ;; ghc-system-filepath.
12203 (define ghc-system-fileio-bootstrap
12204 (package
12205 (name "ghc-system-fileio-bootstrap")
12206 (version "0.3.16.3")
12207 (source
12208 (origin
12209 (method url-fetch)
12210 (uri (string-append
12211 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
12212 version ".tar.gz"))
12213 (sha256
12214 (base32
12215 "1484hcl27s2qcby8ws5djj11q9bz68bspcifz9h5gii2ndy70x9i"))))
12216 (build-system haskell-build-system)
12217 (arguments
12218 `(#:tests? #f))
12219 (inputs
12220 `(("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
12221 ("ghc-temporary" ,ghc-temporary)))
12222 (home-page "https://github.com/fpco/haskell-filesystem")
12223 (synopsis "Consistent file system interaction across GHC versions")
12224 (description
12225 "This is a small wrapper around the directory, unix, and Win32 packages,
12226 for use with system-filepath. It provides a consistent API to the various
12227 versions of these packages distributed with different versions of GHC.
12228 In particular, this library supports working with POSIX files that have paths
12229 which can't be decoded in the current locale encoding.")
12230 (license license:expat)))
12231
12232
12233 (define-public ghc-system-filepath
12234 (package
12235 (name "ghc-system-filepath")
12236 (version "0.4.14")
12237 (source
12238 (origin
12239 (method url-fetch)
12240 (uri (string-append
12241 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
12242 version ".tar.gz"))
12243 (sha256
12244 (base32
12245 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
12246 (build-system haskell-build-system)
12247 ;; FIXME: One of the tests fails:
12248 ;; [ FAIL ] tests.validity.posix
12249 ;; note: seed=7310214548328823169
12250 ;; *** Failed! Falsifiable (after 24 tests):
12251 ;; 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"
12252 (arguments `(#:tests? #f))
12253 (inputs
12254 `(("ghc-chell" ,ghc-chell)
12255 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)
12256 ("ghc-quickcheck" ,ghc-quickcheck)))
12257 (home-page "https://github.com/fpco/haskell-filesystem")
12258 (synopsis "High-level, byte-based file and directory path manipulations")
12259 (description
12260 "Provides a FilePath datatype and utility functions for operating on it.
12261 Unlike the filepath package, this package does not simply reuse String,
12262 increasing type safety.")
12263 (license license:expat)))
12264
12265 ;; Ghc-shelly depends on ghc-system-filepath and ghc-system-fileio, who in turn depend on
12266 ;; ghc-chell and ghc-chell-quickcheck for the test phase. Ghc-chell depends on ghc-options
12267 ;; which depends on ghc-chell and ghc-chell-quickcheck.
12268 ;; Therefore we bootstrap it with tests disabled.
12269 (define ghc-system-filepath-bootstrap
12270 (package
12271 (name "ghc-system-filepath-bootstrap")
12272 (version "0.4.14")
12273 (source
12274 (origin
12275 (method url-fetch)
12276 (uri (string-append
12277 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
12278 version ".tar.gz"))
12279 (sha256
12280 (base32
12281 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
12282 (build-system haskell-build-system)
12283 (arguments
12284 `(#:tests? #f))
12285 (inputs
12286 `(("ghc-quickcheck" ,ghc-quickcheck)))
12287 (home-page "https://github.com/fpco/haskell-filesystem")
12288 (synopsis "High-level, byte-based file and directory path manipulations")
12289 (description
12290 "Provides a FilePath datatype and utility functions for operating on it.
12291 Unlike the filepath package, this package does not simply reuse String,
12292 increasing type safety.")
12293 (license license:expat)))
12294
12295
12296 (define-public ghc-tagged
12297 (package
12298 (name "ghc-tagged")
12299 (version "0.8.6")
12300 (source
12301 (origin
12302 (method url-fetch)
12303 (uri (string-append
12304 "https://hackage.haskell.org/package/tagged/tagged-"
12305 version
12306 ".tar.gz"))
12307 (sha256
12308 (base32
12309 "1pciqzxf9ncv954v4r527xkxkn7r5hcr13mfw5dg1xjci3qdw5md"))))
12310 (build-system haskell-build-system)
12311 (arguments
12312 `(#:cabal-revision
12313 ("1" "070xwfw7y81hd63il76dmwbdl9ca1rd07c54zynfx6vpr4wyx4vh")))
12314 (inputs
12315 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
12316 (home-page "https://hackage.haskell.org/package/tagged")
12317 (synopsis "Haskell phantom types to avoid passing dummy arguments")
12318 (description "This library provides phantom types for Haskell 98, to avoid
12319 having to unsafely pass dummy arguments.")
12320 (license license:bsd-3)))
12321
12322 (define-public ghc-tar
12323 (package
12324 (name "ghc-tar")
12325 (version "0.5.1.1")
12326 (source
12327 (origin
12328 (method url-fetch)
12329 (uri (string-append
12330 "https://hackage.haskell.org/package/tar/tar-"
12331 version ".tar.gz"))
12332 (sha256
12333 (base32
12334 "1ppim7cgmn7ng8zbdrwkxhhizc30h15h1c9cdlzamc5jcagl915k"))))
12335 (build-system haskell-build-system)
12336 ;; FIXME: 2/24 tests fail.
12337 (arguments `(#:tests? #f))
12338 (inputs
12339 `(("ghc-bytestring-handle" ,ghc-bytestring-handle)
12340 ("ghc-quickcheck" ,ghc-quickcheck)
12341 ("ghc-tasty" ,ghc-tasty)
12342 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
12343 (home-page "https://hackage.haskell.org/package/tar")
12344 (synopsis "Reading, writing and manipulating \".tar\" archive files")
12345 (description
12346 "This library is for working with \\\"@.tar@\\\" archive files.
12347 It can read and write a range of common variations of the tar archive format
12348 including V7, POSIX USTAR and GNU formats. It provides support for packing and
12349 unpacking portable archives. This makes it suitable for distribution but not
12350 backup because details like file ownership and exact permissions are not
12351 preserved. It also provides features for random access to archive content using
12352 an index.")
12353 (license license:bsd-3)))
12354
12355 (define-public ghc-tar-conduit
12356 (package
12357 (name "ghc-tar-conduit")
12358 (version "0.3.2")
12359 (source
12360 (origin
12361 (method url-fetch)
12362 (uri (string-append "https://hackage.haskell.org/package/"
12363 "tar-conduit/tar-conduit-" version ".tar.gz"))
12364 (sha256
12365 (base32
12366 "0bgn3hyf20g1gfnzy8f41s7nj54kfcyjk2izw99svrw8f3dphi80"))))
12367 (build-system haskell-build-system)
12368 (inputs
12369 `(("ghc-conduit" ,ghc-conduit)
12370 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
12371 ("ghc-safe-exceptions" ,ghc-safe-exceptions)))
12372 (native-inputs
12373 `(("ghc-quickcheck" ,ghc-quickcheck)
12374 ("ghc-conduit-extra" ,ghc-conduit-extra)
12375 ("ghc-hspec" ,ghc-hspec)
12376 ("ghc-hspec" ,ghc-hspec)
12377 ("ghc-weigh" ,ghc-weigh)))
12378 (home-page "https://github.com/snoyberg/tar-conduit#readme")
12379 (synopsis "Extract and create tar files using conduit for streaming")
12380 (description "This library provides a conduit-based, streaming
12381 interface for extracting and creating tar files.")
12382 (license license:expat)))
12383
12384 (define-public ghc-temporary
12385 (package
12386 (name "ghc-temporary")
12387 (version "1.3")
12388 (source
12389 (origin
12390 (method url-fetch)
12391 (uri (string-append
12392 "https://hackage.haskell.org/package/temporary/temporary-"
12393 version
12394 ".tar.gz"))
12395 (sha256
12396 (base32
12397 "144qhwfwg37l3k313raf4ssiz16jbgwlm1nf4flgqpsbd69jji4c"))))
12398 (build-system haskell-build-system)
12399 (inputs
12400 `(("ghc-exceptions" ,ghc-exceptions)
12401 ("ghc-random" ,ghc-random)))
12402 (native-inputs
12403 `(("ghc-base-compat" ,ghc-base-compat)
12404 ("ghc-tasty" ,ghc-tasty)
12405 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
12406 (home-page "https://www.github.com/batterseapower/temporary")
12407 (synopsis "Temporary file and directory support")
12408 (description "The functions for creating temporary files and directories
12409 in the Haskelll base library are quite limited. This library just repackages
12410 the Cabal implementations of its own temporary file and folder functions so
12411 that you can use them without linking against Cabal or depending on it being
12412 installed.")
12413 (license license:bsd-3)))
12414
12415 (define-public ghc-temporary-rc
12416 (package
12417 (name "ghc-temporary-rc")
12418 (version "1.2.0.3")
12419 (source
12420 (origin
12421 (method url-fetch)
12422 (uri (string-append
12423 "https://hackage.haskell.org/package/temporary-rc/temporary-rc-"
12424 version
12425 ".tar.gz"))
12426 (sha256
12427 (base32
12428 "1nqih0qks439k3pr5kmbbc8rjdw730slrxlflqb27fbxbzb8skqs"))))
12429 (build-system haskell-build-system)
12430 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
12431 (home-page
12432 "https://www.github.com/feuerbach/temporary")
12433 (synopsis
12434 "Portable temporary file and directory support")
12435 (description
12436 "The functions for creating temporary files and directories in the base
12437 library are quite limited. The unixutils package contains some good ones, but
12438 they aren't portable to Windows. This library just repackages the Cabal
12439 implementations of its own temporary file and folder functions so that you can
12440 use them without linking against Cabal or depending on it being installed.
12441 This is a better maintained fork of the \"temporary\" package.")
12442 (license license:bsd-3)))
12443
12444 (define-public ghc-terminal-size
12445 (package
12446 (name "ghc-terminal-size")
12447 (version "0.3.2.1")
12448 (source (origin
12449 (method url-fetch)
12450 (uri (string-append
12451 "https://hackage.haskell.org/package/terminal-size/"
12452 "terminal-size-" version ".tar.gz"))
12453 (sha256
12454 (base32
12455 "0n4nvj3dbj9gxfnprgish45asn9z4dipv9j98s8i7g2n8yb3xhmm"))))
12456 (build-system haskell-build-system)
12457 (home-page "https://hackage.haskell.org/package/terminal-size")
12458 (synopsis "Get terminal window height and width")
12459 (description "Get terminal window height and width without ncurses
12460 dependency.")
12461 (license license:bsd-3)))
12462
12463 (define-public ghc-texmath
12464 (package
12465 (name "ghc-texmath")
12466 (version "0.11.3")
12467 (source (origin
12468 (method url-fetch)
12469 (uri (string-append "https://hackage.haskell.org/package/"
12470 "texmath/texmath-" version ".tar.gz"))
12471 (sha256
12472 (base32
12473 "03rpxbp43bjs62mmw4hv4785n6f6nbf8kj2y9mma5nzk6i2xs09f"))))
12474 (build-system haskell-build-system)
12475 (inputs
12476 `(("ghc-syb" ,ghc-syb)
12477 ("ghc-network-uri" ,ghc-network-uri)
12478 ("ghc-split" ,ghc-split)
12479 ("ghc-temporary" ,ghc-temporary)
12480 ("ghc-utf8-string" ,ghc-utf8-string)
12481 ("ghc-xml" ,ghc-xml)
12482 ("ghc-pandoc-types" ,ghc-pandoc-types)))
12483 (home-page "https://github.com/jgm/texmath")
12484 (synopsis "Conversion between formats used to represent mathematics")
12485 (description
12486 "The texmath library provides functions to read and write TeX math,
12487 presentation MathML, and OMML (Office Math Markup Language, used in Microsoft
12488 Office). Support is also included for converting math formats to pandoc's
12489 native format (allowing conversion, via pandoc, to a variety of different
12490 markup formats). The TeX reader supports basic LaTeX and AMS extensions, and
12491 it can parse and apply LaTeX macros.")
12492 (license license:gpl2+)))
12493
12494 (define-public ghc-text-binary
12495 (package
12496 (name "ghc-text-binary")
12497 (version "0.2.1.1")
12498 (source
12499 (origin
12500 (method url-fetch)
12501 (uri (string-append "https://hackage.haskell.org/package/"
12502 "text-binary/text-binary-"
12503 version ".tar.gz"))
12504 (sha256
12505 (base32
12506 "18gl10pwg3qwsk0za3c70j4n6a9129wwf1b7d3a461h816yv55xn"))))
12507 (build-system haskell-build-system)
12508 (home-page "https://github.com/kawu/text-binary")
12509 (synopsis "Binary instances for text types")
12510 (description
12511 "This package provides a compatibility layer providing @code{Binary}
12512 instances for strict and lazy text types for versions older than 1.2.1 of the
12513 text package.")
12514 (license license:bsd-2)))
12515
12516 (define-public ghc-text-manipulate
12517 (package
12518 (name "ghc-text-manipulate")
12519 (version "0.2.0.1")
12520 (source
12521 (origin
12522 (method url-fetch)
12523 (uri (string-append
12524 "https://hackage.haskell.org/package/text-manipulate"
12525 "/text-manipulate-"
12526 version
12527 ".tar.gz"))
12528 (sha256
12529 (base32
12530 "0bwxyjj3ll45srxhsp2ihikgqglvjc6m02ixr8xpvyqwkcfwgsg0"))))
12531 (build-system haskell-build-system)
12532 (native-inputs
12533 `(("ghc-tasty" ,ghc-tasty)
12534 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
12535 (home-page
12536 "https://github.com/brendanhay/text-manipulate")
12537 (synopsis
12538 "Case conversion, word boundary manipulation, and textual subjugation")
12539 (description
12540 "Manipulate identifiers and structurally non-complex pieces of text by
12541 delimiting word boundaries via a combination of whitespace,
12542 control-characters, and case-sensitivity.
12543
12544 Has support for common idioms like casing of programmatic variable names,
12545 taking, dropping, and splitting by word, and modifying the first character of
12546 a piece of text.
12547
12548 Caution: this library makes heavy use of the text library's internal loop
12549 optimisation framework. Since internal modules are not guaranteed to have a
12550 stable API there is potential for build breakage when the text dependency is
12551 upgraded. Consider yourself warned!")
12552 (license license:mpl2.0)))
12553
12554 (define-public ghc-text-metrics
12555 (package
12556 (name "ghc-text-metrics")
12557 (version "0.3.0")
12558 (source
12559 (origin
12560 (method url-fetch)
12561 (uri (string-append "https://hackage.haskell.org/package/"
12562 "text-metrics/text-metrics-" version ".tar.gz"))
12563 (sha256
12564 (base32
12565 "18mzxwkdvjp31r720ai9bnxr638qq8x3a2v408bz0d8f0rsayx1q"))))
12566 (build-system haskell-build-system)
12567 (inputs
12568 `(("ghc-vector" ,ghc-vector)))
12569 (native-inputs
12570 `(("ghc-quickcheck" ,ghc-quickcheck)
12571 ("ghc-hspec" ,ghc-hspec)))
12572 (arguments
12573 `(#:cabal-revision
12574 ("4" "017drxq9x56b345d8w5m8xdsi1zzs0z16pbdx8j35cd1lsnh3kf1")))
12575 (home-page "https://github.com/mrkkrp/text-metrics")
12576 (synopsis "Calculate various string metrics efficiently")
12577 (description "This library provides tools to calculate various
12578 string metrics efficiently.")
12579 (license license:bsd-3)))
12580
12581 (define-public ghc-tf-random
12582 (package
12583 (name "ghc-tf-random")
12584 (version "0.5")
12585 (outputs '("out" "doc"))
12586 (source
12587 (origin
12588 (method url-fetch)
12589 (uri (string-append
12590 "https://hackage.haskell.org/package/tf-random/tf-random-"
12591 version
12592 ".tar.gz"))
12593 (sha256
12594 (base32 "0445r2nns6009fmq0xbfpyv7jpzwv0snccjdg7hwj4xk4z0cwc1f"))))
12595 (build-system haskell-build-system)
12596 (inputs
12597 `(("ghc-primitive" ,ghc-primitive)
12598 ("ghc-random" ,ghc-random)))
12599 (home-page "https://hackage.haskell.org/package/tf-random")
12600 (synopsis "High-quality splittable pseudorandom number generator")
12601 (description "This package contains an implementation of a high-quality
12602 splittable pseudorandom number generator. The generator is based on a
12603 cryptographic hash function built on top of the ThreeFish block cipher. See
12604 the paper \"Splittable Pseudorandom Number Generators Using Cryptographic
12605 Hashing\" by Claessen, Pałka for details and the rationale of the design.")
12606 (license license:bsd-3)))
12607
12608 (define-public ghc-th-abstraction
12609 (package
12610 (name "ghc-th-abstraction")
12611 (version "0.3.1.0")
12612 (source
12613 (origin
12614 (method url-fetch)
12615 (uri (string-append "https://hackage.haskell.org/package/"
12616 "th-abstraction/th-abstraction-"
12617 version ".tar.gz"))
12618 (sha256
12619 (base32
12620 "1f81w0gshvc816cf9qz0f19jsrzh6wpzmmy317xrgn63dv61p7jb"))))
12621 (build-system haskell-build-system)
12622 (home-page "https://github.com/glguy/th-abstraction")
12623 (synopsis "Nicer interface for reified information about data types")
12624 (description
12625 "This package normalizes variations in the interface for inspecting
12626 datatype information via Template Haskell so that packages and support a
12627 single, easier to use informational datatype while supporting many versions of
12628 Template Haskell.")
12629 (license license:isc)))
12630
12631 (define-public ghc-th-expand-syns
12632 (package
12633 (name "ghc-th-expand-syns")
12634 (version "0.4.5.0")
12635 (source (origin
12636 (method url-fetch)
12637 (uri (string-append "https://hackage.haskell.org/package/"
12638 "th-expand-syns/th-expand-syns-"
12639 version ".tar.gz"))
12640 (sha256
12641 (base32
12642 "1p4wfyycan8zsp9wi7npx36qwbfsbcgdyxi3ii51scf69dkrx42y"))))
12643 (build-system haskell-build-system)
12644 (inputs
12645 `(("ghc-syb" ,ghc-syb)))
12646 (home-page "https://hackage.haskell.org/package/th-expand-syns")
12647 (synopsis "Expands type synonyms in Template Haskell ASTs")
12648 (description
12649 "This package enables users to expand type synonyms in Template Haskell
12650 @dfn{abstract syntax trees} (ASTs).")
12651 (license license:bsd-3)))
12652
12653 (define-public ghc-th-lift
12654 (package
12655 (name "ghc-th-lift")
12656 (version "0.8.0.1")
12657 (source (origin
12658 (method url-fetch)
12659 (uri (string-append "https://hackage.haskell.org/package/"
12660 "th-lift/th-lift-" version ".tar.gz"))
12661 (sha256
12662 (base32
12663 "1a6qlbdg15cfr5rvl9g3blgwx4v1p0xic0pzv13zx165xbc36ld0"))))
12664 (build-system haskell-build-system)
12665 (inputs
12666 `(("ghc-th-abstraction" ,ghc-th-abstraction)))
12667 (home-page "https://github.com/mboes/th-lift")
12668 (synopsis "Derive Template Haskell's Lift class for datatypes")
12669 (description
12670 "This is a Haskell library to derive Template Haskell's Lift class for
12671 datatypes.")
12672 (license license:bsd-3)))
12673
12674 (define-public ghc-th-lift-instances
12675 (package
12676 (name "ghc-th-lift-instances")
12677 (version "0.1.14")
12678 (source
12679 (origin
12680 (method url-fetch)
12681 (uri (string-append "https://hackage.haskell.org/package/"
12682 "th-lift-instances/th-lift-instances-"
12683 version ".tar.gz"))
12684 (sha256
12685 (base32
12686 "0r1b4jnvcj64wp4hfccwkl4a70n1p1q7qzyx6ax7cmd8k961jz78"))))
12687 (build-system haskell-build-system)
12688 (inputs
12689 `(("ghc-th-lift" ,ghc-th-lift)
12690 ("ghc-vector" ,ghc-vector)
12691 ("ghc-quickcheck" ,ghc-quickcheck)))
12692 (home-page "https://github.com/bennofs/th-lift-instances/")
12693 (synopsis "Lift instances for template-haskell for common data types.")
12694 (description "Most data types in the Haskell platform do not have Lift
12695 instances. This package provides orphan instances for @code{containers},
12696 @code{text}, @code{bytestring} and @code{vector}.")
12697 (license license:bsd-3)))
12698
12699 (define-public ghc-th-orphans
12700 (package
12701 (name "ghc-th-orphans")
12702 (version "0.13.9")
12703 (source (origin
12704 (method url-fetch)
12705 (uri (string-append "https://hackage.haskell.org/package/"
12706 "th-orphans/th-orphans-" version ".tar.gz"))
12707 (sha256
12708 (base32
12709 "1xj1gssv77hdx1r3ndg8k49v3ipj3a6r7crkyvx13jrps3m6ng1z"))))
12710 (build-system haskell-build-system)
12711 (inputs
12712 `(("ghc-th-lift" ,ghc-th-lift)
12713 ("ghc-th-lift-instances" ,ghc-th-lift-instances)
12714 ("ghc-th-reify-many" ,ghc-th-reify-many)
12715 ("ghc-generic-deriving" ,ghc-generic-deriving)))
12716 (native-inputs
12717 `(("ghc-hspec" ,ghc-hspec)))
12718 (home-page "https://hackage.haskell.org/package/th-orphans")
12719 (synopsis "Orphan instances for TH datatypes")
12720 (description
12721 "This package provides orphan instances for Template Haskell datatypes. In particular,
12722 instances for @code{Ord} and @code{Lift}, as well as a few missing @code{Show}
12723 and @code{Eq} instances. These instances used to live in the haskell-src-meta
12724 package, and that's where the version number started.")
12725 (license license:bsd-3)))
12726
12727 (define-public ghc-these
12728 (package
12729 (name "ghc-these")
12730 (version "1.0.1")
12731 (source
12732 (origin
12733 (method url-fetch)
12734 (uri (string-append
12735 "https://hackage.haskell.org/package/these/these-"
12736 version
12737 ".tar.gz"))
12738 (sha256
12739 (base32
12740 "1k0pi65g7cm9hzdw6my6bzz2zvddkmj1qs45ymqmi316bpiixk3r"))))
12741 (build-system haskell-build-system)
12742 (inputs
12743 `(("ghc-base-compat" ,ghc-base-compat)
12744 ("ghc-hashable" ,ghc-hashable)
12745 ("ghc-aeson" ,ghc-aeson)
12746 ("ghc-unordered-containers" ,ghc-unordered-containers)
12747 ("ghc-assoc" ,ghc-assoc)
12748 ("ghc-semigroupoids" ,ghc-semigroupoids)
12749 ("ghc-quickcheck" ,ghc-quickcheck)))
12750 (arguments
12751 `(#:cabal-revision
12752 ("1"
12753 "0923r86fnmgpx0msm68aszirh2n19nn5bccgjxfh2146jw4z7w3z")))
12754 (home-page
12755 "https://github.com/isomorphism/these")
12756 (synopsis "Either-or-both data type")
12757 (description
12758 "This package provides a data type @code{These a b} which can
12759 hold a value of either type or values of each type. This is usually
12760 thought of as an \"inclusive or\" type (contrasting @code{Either a b} as
12761 \"exclusive or\") or as an \"outer join\" type (contrasting @code{(a, b)}
12762 as \"inner join\").
12763
12764 @code{data These a b = This a | That b | These a b}
12765
12766 Since version 1, this package was split into parts:
12767
12768 @itemize
12769 @item
12770 https://hackage.haskell.org/package/semialign For @code{Align} and
12771 @code{Zip} type-classes.
12772 @item
12773 https://hackage.haskell.org/package/semialign-indexed For
12774 @code{SemialignWithIndex} class, providing @code{ialignWith} and
12775 @code{izipWith}
12776 @item
12777 https://hackage.haskell.org/package/these-lens For lens combinators.
12778 @item
12779 http://hackage.haskell.org/package/monad-chronicle For transformers
12780 variant of @code{These}.
12781 @end itemize")
12782 (license license:bsd-3)))
12783
12784 (define-public ghc-threads
12785 (package
12786 (name "ghc-threads")
12787 (version "0.5.1.6")
12788 (source
12789 (origin
12790 (method url-fetch)
12791 (uri (string-append "https://hackage.haskell.org/package/"
12792 "threads/threads-" version ".tar.gz"))
12793 (sha256
12794 (base32
12795 "0bjnjhnq3km6xqk0fn1fgyz5xdw4h6lylbwwbcmkkfzwcz0c76hk"))))
12796 (build-system haskell-build-system)
12797 (native-inputs
12798 `(("ghc-concurrent-extra" ,ghc-concurrent-extra)
12799 ("ghc-hunit" ,ghc-hunit)
12800 ("ghc-test-framework" ,ghc-test-framework)
12801 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
12802 (home-page "https://github.com/basvandijk/threads")
12803 (synopsis "Fork threads and wait for their result")
12804 (description "This package provides functions to fork threads and
12805 wait for their result, whether it's an exception or a normal value.
12806 Besides waiting for the termination of a single thread this package also
12807 provides functions to wait for a group of threads to terminate. This
12808 package is similar to the @code{threadmanager}, @code{async} and
12809 @code{spawn} packages. The advantages of this package are:
12810
12811 @itemize
12812 @item Simpler API.
12813 @item More efficient in both space and time.
12814 @item No space-leak when forking a large number of threads.
12815 @item Correct handling of asynchronous exceptions.
12816 @item GHC specific functionality like @code{forkOn} and
12817 @code{forkIOWithUnmask}.
12818 @end itemize")
12819 (license license:bsd-3)))
12820
12821 (define-public ghc-th-reify-many
12822 (package
12823 (name "ghc-th-reify-many")
12824 (version "0.1.9")
12825 (source (origin
12826 (method url-fetch)
12827 (uri (string-append "https://hackage.haskell.org/package/"
12828 "th-reify-many/th-reify-many-"
12829 version ".tar.gz"))
12830 (sha256
12831 (base32
12832 "0hxf56filzqnyrc8q7766vai80y6cgrrbrczx6n93caskl1dv2gq"))))
12833 (build-system haskell-build-system)
12834 (inputs
12835 `(("ghc-safe" ,ghc-safe)
12836 ("ghc-th-expand-syns" ,ghc-th-expand-syns)))
12837 (home-page "https://github.com/mgsloan/th-reify-many")
12838 (synopsis "Recurseively reify template haskell datatype info")
12839 (description
12840 "th-reify-many provides functions for recursively reifying top level
12841 declarations. The main intended use case is for enumerating the names of
12842 datatypes reachable from an initial datatype, and passing these names to some
12843 function which generates instances.")
12844 (license license:bsd-3)))
12845
12846 (define-public ghc-time-compat
12847 (package
12848 (name "ghc-time-compat")
12849 (version "1.9.2.2")
12850 (source
12851 (origin
12852 (method url-fetch)
12853 (uri (string-append "https://hackage.haskell.org/package/"
12854 "time-compat/time-compat-" version ".tar.gz"))
12855 (sha256
12856 (base32
12857 "05va0rqs759vbridbcl6hksp967j9anjvys8vx72fnfkhlrn2s52"))))
12858 (build-system haskell-build-system)
12859 (inputs
12860 `(("ghc-base-orphans" ,ghc-base-orphans)))
12861 (native-inputs
12862 `(("ghc-hunit" ,ghc-hunit)
12863 ("ghc-base-compat" ,ghc-base-compat)
12864 ("ghc-quickcheck" ,ghc-quickcheck)
12865 ("ghc-tagged" ,ghc-tagged)
12866 ("ghc-tasty" ,ghc-tasty)
12867 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
12868 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
12869 (arguments
12870 `(#:cabal-revision
12871 ("1" "0k8ph4sydaiqp8dav4if6hpiaq8h1xsr93khmdr7a1mmfwdxr64r")))
12872 (home-page "https://github.com/phadej/time-compat")
12873 (synopsis "Compatibility package for time")
12874 (description "This package tries to compat as many @code{time}
12875 features as possible.")
12876 (license license:bsd-3)))
12877
12878 (define-public ghc-time-locale-compat
12879 (package
12880 (name "ghc-time-locale-compat")
12881 (version "0.1.1.5")
12882 (source
12883 (origin
12884 (method url-fetch)
12885 (uri (string-append "https://hackage.haskell.org/package/"
12886 "time-locale-compat/time-locale-compat-"
12887 version ".tar.gz"))
12888 (sha256
12889 (base32
12890 "0b2hmj8wwrfkndwzgm11qr496ca2ahwdxcj3m0ii91bxvrk1bzq7"))))
12891 (build-system haskell-build-system)
12892 (inputs `(("ghc-old-locale" ,ghc-old-locale)))
12893 (home-page "https://github.com/khibino/haskell-time-locale-compat")
12894 (synopsis "Compatibility of TimeLocale between old-locale and time-1.5")
12895 (description "This package contains a wrapped name module for
12896 @code{TimeLocale}.")
12897 (license license:bsd-3)))
12898
12899 (define-public ghc-time-manager
12900 (package
12901 (name "ghc-time-manager")
12902 (version "0.0.0")
12903 (source
12904 (origin
12905 (method url-fetch)
12906 (uri (string-append "https://hackage.haskell.org/package/"
12907 "time-manager/time-manager-" version ".tar.gz"))
12908 (sha256
12909 (base32
12910 "1nzwj0fxz370ks6vr1sylcidx33rnqq45y3q9yv9n4dj43nid9lh"))))
12911 (build-system haskell-build-system)
12912 (inputs
12913 `(("ghc-auto-update" ,ghc-auto-update)))
12914 (home-page "https://github.com/yesodweb/wai")
12915 (synopsis "Scalable timer")
12916 (description "This library contains scalable timer functions provided by a
12917 timer manager.")
12918 (license license:expat)))
12919
12920 (define-public ghc-timeit
12921 (package
12922 (name "ghc-timeit")
12923 (version "2.0")
12924 (source
12925 (origin
12926 (method url-fetch)
12927 (uri
12928 (string-append
12929 "https://hackage.haskell.org/package/timeit/timeit-"
12930 version ".tar.gz"))
12931 (sha256
12932 (base32
12933 "1sliqpvl501rlcj6s0lhmsf5ym24j4h881wzc1f1wdyvg3jz8kd1"))))
12934 (build-system haskell-build-system)
12935 (home-page "https://github.com/merijn/timeit")
12936 (synopsis "Time monadic computations with an IO base")
12937 (description "This package provides a simple wrapper to show the
12938 used CPU time of monadic computation with an IO base.")
12939 (license license:bsd-3)))
12940
12941 (define-public ghc-timezone-series
12942 (package
12943 (name "ghc-timezone-series")
12944 (version "0.1.9")
12945 (source
12946 (origin
12947 (method url-fetch)
12948 (uri
12949 (string-append
12950 "mirror://hackage/package/timezone-series/timezone-series-"
12951 version ".tar.gz"))
12952 (sha256
12953 (base32
12954 "1blwgnyzqn917rgqkl4dncv9whv3xmk0lav040qq0214vksmvlz5"))))
12955 (build-system haskell-build-system)
12956 (home-page "https://archives.haskell.org/projects.haskell.org/time-ng/")
12957 (synopsis "Enhanced timezone handling for Time")
12958 (description
12959 "This package endows @code{Data.Time}, from the time package, with several
12960 data types and functions for enhanced processing of timezones. For one way to
12961 create timezone series, see the ghc-timezone-olson package.")
12962 (license license:bsd-3)))
12963
12964 (define-public ghc-timezone-olson
12965 (package
12966 (name "ghc-timezone-olson")
12967 (version "0.1.9")
12968 (source
12969 (origin
12970 (method url-fetch)
12971 (uri
12972 (string-append
12973 "mirror://hackage/package/timezone-olson/timezone-olson-"
12974 version ".tar.gz"))
12975 (sha256
12976 (base32
12977 "05abywx1nrcaz0nqzfy4zw62bc5qd7pdfnjvv4drxkwv084ha8rj"))))
12978 (build-system haskell-build-system)
12979 (inputs
12980 `(("ghc-timezone-series" ,ghc-timezone-series)
12981 ("ghc-extensible-exceptions" ,ghc-extensible-exceptions)))
12982 (home-page "https://archives.haskell.org/projects.haskell.org/time-ng/")
12983 (synopsis "Parser and renderer for binary Olson timezone files")
12984 (description
12985 "A parser and renderer for binary Olson timezone files whose format
12986 is specified by the tzfile(5) man page on Unix-like systems. For more
12987 information about this format, see
12988 @url{http://www.iana.org/time-zones/repository/tz-link.html}. Functions
12989 are provided for converting the parsed data into @code{TimeZoneSeries}
12990 objects from the timezone-series package.")
12991 (license license:bsd-3)))
12992
12993 (define-public ghc-tldr
12994 (package
12995 (name "ghc-tldr")
12996 (version "0.4.0.2")
12997 (source
12998 (origin
12999 (method url-fetch)
13000 (uri (string-append
13001 "https://hackage.haskell.org/package/tldr/tldr-"
13002 version
13003 ".tar.gz"))
13004 (sha256
13005 (base32
13006 "1zy9yyg7bxiyz1prkvrscggsb9p0f8y0nqxxxzlgzvnh2nmqf8f2"))))
13007 (build-system haskell-build-system)
13008 (inputs
13009 `(("ghc-cmark" ,ghc-cmark)
13010 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
13011 ("ghc-typed-process" ,ghc-typed-process)
13012 ("ghc-semigroups" ,ghc-semigroups)))
13013 (native-inputs
13014 `(("ghc-tasty" ,ghc-tasty)
13015 ("ghc-tasty-golden" ,ghc-tasty-golden)))
13016 (home-page "https://github.com/psibi/tldr-hs#readme")
13017 (synopsis "Haskell tldr client")
13018 (description "This package provides the @command{tldr} command and a
13019 Haskell client library allowing users to update and view @code{tldr} pages
13020 from a shell. The @code{tldr} pages are a community effort to simplify the
13021 man pages with practical examples.")
13022 (license license:bsd-3)))
13023
13024 (define-public ghc-transformers
13025 (package
13026 (name "ghc-transformers")
13027 (version "0.5.6.2")
13028 (source
13029 (origin
13030 (method url-fetch)
13031 (uri (string-append
13032 "mirror://hackage/package/transformers/transformers-"
13033 version
13034 ".tar.gz"))
13035 (sha256
13036 (base32
13037 "0v66j5k0xqk51pmca55wq192qyw2p43s2mgxlz4f95q2c1fpjs5n"))))
13038 (build-system haskell-build-system)
13039 (home-page
13040 "http://hackage.haskell.org/package/transformers")
13041 (synopsis "Concrete functor and monad transformers")
13042 (description
13043 "Transformers provides functor and monad transformers, inspired by the
13044 paper \"Functional Programming with Overloading and Higher-Order
13045 Polymorphism\", by Mark P Jones, in Advanced School of Functional Programming,
13046 1995 @url{http://web.cecs.pdx.edu/~mpj/pubs/springschool.html}.
13047
13048 This package contains:
13049 @itemize
13050 @item the monad transformer class (in @code{Control.Monad.Trans.Class})
13051 @item concrete functor and monad transformers, each with associated operations
13052 and functions to lift operations associated with other transformers.
13053 @end itemize
13054
13055 This package can be used on its own in portable Haskell code, in which case
13056 operations need to be manually lifted through transformer stacks (see
13057 @code{Control.Monad.Trans.Class} for some examples). Alternatively, it can be
13058 used with the non-portable monad classes in the mtl or monads-tf packages,
13059 which automatically lift operations introduced by monad transformers through
13060 other transformers.")
13061 (license license:bsd-3)))
13062
13063 (define-public ghc-transformers-base
13064 (package
13065 (name "ghc-transformers-base")
13066 (version "0.4.5.2")
13067 (source
13068 (origin
13069 (method url-fetch)
13070 (uri (string-append
13071 "https://hackage.haskell.org/package/transformers-base/transformers-base-"
13072 version
13073 ".tar.gz"))
13074 (sha256
13075 (base32
13076 "1s256bi0yh0x2hp2gwd30f3mg1cv53zz397dv1yhfsnfzmihrj6h"))))
13077 (build-system haskell-build-system)
13078 (inputs
13079 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
13080 (home-page
13081 "https://hackage.haskell.org/package/transformers-compat")
13082 (synopsis
13083 "Backported transformer library")
13084 (description
13085 "Backported versions of types that were added to transformers in
13086 transformers 0.3 and 0.4 for users who need strict transformers 0.2 or 0.3
13087 compatibility to run on old versions of the platform.")
13088 (license license:bsd-3)))
13089
13090 (define-public ghc-transformers-compat
13091 (package
13092 (name "ghc-transformers-compat")
13093 (version "0.6.5")
13094 (source
13095 (origin
13096 (method url-fetch)
13097 (uri (string-append
13098 "https://hackage.haskell.org/package/transformers-compat"
13099 "/transformers-compat-" version ".tar.gz"))
13100 (sha256
13101 (base32
13102 "02v2fjbvcrlpvhcsssap8dy8y9pp95jykrlc5arm39sxa48wyrys"))))
13103 (build-system haskell-build-system)
13104 (home-page "https://github.com/ekmett/transformers-compat/")
13105 (synopsis "Small compatibility shim between transformers 0.3 and 0.4")
13106 (description "This package includes backported versions of types that were
13107 added to transformers in transformers 0.3 and 0.4 for users who need strict
13108 transformers 0.2 or 0.3 compatibility to run on old versions of the platform,
13109 but also need those types.")
13110 (license license:bsd-3)))
13111
13112 (define-public ghc-tree-diff
13113 (package
13114 (name "ghc-tree-diff")
13115 (version "0.1")
13116 (source
13117 (origin
13118 (method url-fetch)
13119 (uri (string-append
13120 "https://hackage.haskell.org/package/tree-diff/tree-diff-"
13121 version
13122 ".tar.gz"))
13123 (sha256
13124 (base32
13125 "1156nbqn0pn9lp4zjsy4vv5g5wmy4zxwmbqdgvq349rydynh3ng3"))))
13126 (build-system haskell-build-system)
13127 (inputs
13128 `(("ghc-aeson" ,ghc-aeson)
13129 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
13130 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
13131 ("ghc-base-compat" ,ghc-base-compat)
13132 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
13133 ("ghc-hashable" ,ghc-hashable)
13134 ("ghc-parsers" ,ghc-parsers)
13135 ("ghc-quickcheck" ,ghc-quickcheck)
13136 ("ghc-scientific" ,ghc-scientific)
13137 ("ghc-tagged" ,ghc-tagged)
13138 ("ghc-unordered-containers" ,ghc-unordered-containers)
13139 ("ghc-uuid-types" ,ghc-uuid-types)
13140 ("ghc-vector" ,ghc-vector)))
13141 (native-inputs
13142 `(("ghc-base-compat" ,ghc-base-compat)
13143 ("ghc-quickcheck" ,ghc-quickcheck)
13144 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
13145 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
13146 ("ghc-trifecta" ,ghc-trifecta)
13147 ("ghc-tasty" ,ghc-tasty)
13148 ("ghc-tasty-golden" ,ghc-tasty-golden)
13149 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
13150 (home-page "https://github.com/phadej/tree-diff")
13151 (synopsis "Compute difference between (expression) trees")
13152 (description "This Haskell library provides a function for computing
13153 the difference between (expression) trees. It also provides a way to
13154 compute the difference between arbitrary abstract datatypes (ADTs) using
13155 @code{Generics}-derivable helpers.")
13156 (license license:bsd-3)))
13157
13158 (define-public ghc-trifecta
13159 (package
13160 (name "ghc-trifecta")
13161 (version "2")
13162 (source (origin
13163 (method url-fetch)
13164 (uri (string-append
13165 "https://hackage.haskell.org/package/trifecta/"
13166 "trifecta-" version ".tar.gz"))
13167 (sha256
13168 (base32
13169 "0hznd8i65s81xy13i2qc7cvipw3lfb2yhkv53apbdsh6sbljz5sk"))))
13170 (build-system haskell-build-system)
13171 (arguments
13172 `(#:tests? #f ; doctest suite fails to build on i686
13173 #:cabal-revision
13174 ("4" "0xbwyvwl6f2zylk60f2akwgq03qv49113xil7b1z1s3vlwbn5aj1")))
13175 (inputs
13176 `(("ghc-reducers" ,ghc-reducers)
13177 ("ghc-semigroups" ,ghc-semigroups)
13178 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
13179 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
13180 ("ghc-blaze-builder" ,ghc-blaze-builder)
13181 ("ghc-blaze-html" ,ghc-blaze-html)
13182 ("ghc-blaze-markup" ,ghc-blaze-markup)
13183 ("ghc-charset" ,ghc-charset)
13184 ("ghc-comonad" ,ghc-comonad)
13185 ("ghc-fingertree" ,ghc-fingertree)
13186 ("ghc-hashable" ,ghc-hashable)
13187 ("ghc-lens" ,ghc-lens)
13188 ("ghc-parsers" ,ghc-parsers)
13189 ("ghc-profunctors" ,ghc-profunctors)
13190 ("ghc-unordered-containers" ,ghc-unordered-containers)
13191 ("ghc-utf8-string" ,ghc-utf8-string)))
13192 (native-inputs
13193 `(("cabal-doctest" ,cabal-doctest)
13194 ("ghc-doctest" ,ghc-doctest)
13195 ("ghc-quickcheck" ,ghc-quickcheck)))
13196 (home-page "https://github.com/ekmett/trifecta/")
13197 (synopsis "Parser combinator library with convenient diagnostics")
13198 (description "Trifecta is a modern parser combinator library for Haskell,
13199 with slicing and Clang-style colored diagnostics.")
13200 (license license:bsd-3)))
13201
13202 (define-public ghc-tuple-th
13203 (package
13204 (name "ghc-tuple-th")
13205 (version "0.2.5")
13206 (source
13207 (origin
13208 (method url-fetch)
13209 (uri (string-append "https://hackage.haskell.org/package/"
13210 "tuple-th-" version "/"
13211 "tuple-th-" version ".tar.gz"))
13212 (sha256
13213 (base32
13214 "1mrl4vvxmby7sf1paf7hklzidnr6wq55822i73smqyz0xpf3gsjn"))))
13215 (build-system haskell-build-system)
13216 (home-page "https://github.com/DanielSchuessler/tuple-th")
13217 (synopsis "Generate utility functions for tuples of statically known size
13218 for Haskell")
13219 (description "This Haskell package contains Template Haskell functions for
13220 generating functions similar to those in @code{Data.List} for tuples of
13221 statically known size.")
13222 (license license:bsd-3)))
13223
13224 (define-public ghc-turtle
13225 (package
13226 (name "ghc-turtle")
13227 (version "1.5.15")
13228 (source
13229 (origin
13230 (method url-fetch)
13231 (uri (string-append
13232 "mirror://hackage/package/turtle/turtle-"
13233 version
13234 ".tar.gz"))
13235 (sha256
13236 (base32
13237 "0yckgsc2a4g5x867gni80ldp226bsnhncfbil4ql6v2zwm4r8p7f"))))
13238 (build-system haskell-build-system)
13239 (inputs
13240 `(("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
13241 ("ghc-async" ,ghc-async)
13242 ("ghc-clock" ,ghc-clock)
13243 ("ghc-exceptions" ,ghc-exceptions)
13244 ("ghc-foldl" ,ghc-foldl)
13245 ("ghc-hostname" ,ghc-hostname)
13246 ("ghc-managed" ,ghc-managed)
13247 ("ghc-semigroups" ,ghc-semigroups)
13248 ("ghc-system-filepath" ,ghc-system-filepath)
13249 ("ghc-system-fileio" ,ghc-system-fileio)
13250 ("ghc-streaming-commons" ,ghc-streaming-commons)
13251 ("ghc-temporary" ,ghc-temporary)
13252 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
13253 ("ghc-optional-args" ,ghc-optional-args)
13254 ("ghc-unix-compat" ,ghc-unix-compat)))
13255 (native-inputs
13256 `(("ghc-doctest" ,ghc-doctest)
13257 ("ghc-fail" ,ghc-fail)))
13258 (arguments
13259 `(#:cabal-revision
13260 ("1" "02q1rv7zx31xz9wnmcqwd4w3iw7623p07iyi21zr0cqlignic5pg")))
13261 (home-page
13262 "http://hackage.haskell.org/package/turtle")
13263 (synopsis "Shell programming, Haskell-style")
13264 (description
13265 "Turtle is a reimplementation of the Unix command line environment in
13266 Haskell so that you can use Haskell as both a shell and a scripting
13267 language. Features include:
13268
13269 @itemize
13270 @item Batteries included: Command an extended suite of predefined utilities.
13271 @item Interoperability: You can still run external shell commands.
13272 @item Portability: Works on Windows, OS X, and Linux.
13273 @item Exception safety: Safely acquire and release resources.
13274 @item Streaming: Transform or fold command output in constant space.
13275 @item Patterns: Use typed regular expressions that can parse structured values.
13276 @item Formatting: Type-safe printf-style text formatting.
13277 @item Modern: Supports text and system-filepath.
13278 @end itemize
13279
13280 Read \"Turtle.Tutorial\" for a detailed tutorial or \"Turtle.Prelude\" for a
13281 quick-start guide. Turtle is designed to be beginner-friendly, but as a
13282 result lacks certain features, like tracing commands. If you feel comfortable
13283 using turtle then you should also check out the Shelly library which provides
13284 similar functionality.")
13285 (license license:bsd-3)))
13286
13287 (define-public ghc-typed-process
13288 (package
13289 (name "ghc-typed-process")
13290 (version "0.2.6.0")
13291 (source
13292 (origin
13293 (method url-fetch)
13294 (uri (string-append "https://hackage.haskell.org/package/"
13295 "typed-process/typed-process-"
13296 version ".tar.gz"))
13297 (sha256
13298 (base32
13299 "1cf2pfym8zdxvvy7xv72ixj7wy3rjrdss6f57k1ysgs66cgsi8ii"))))
13300 (build-system haskell-build-system)
13301 (inputs
13302 `(("ghc-async" ,ghc-async)
13303 ("ghc-unliftio-core" ,ghc-unliftio-core)))
13304 (native-inputs
13305 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
13306 ("ghc-hspec" ,ghc-hspec)
13307 ("hspec-discover" ,hspec-discover)
13308 ("ghc-temporary" ,ghc-temporary)))
13309 (home-page "https://haskell-lang.org/library/typed-process")
13310 (synopsis "Run external processes with strong typing of streams")
13311 (description
13312 "This library provides the ability to launch and interact with external
13313 processes. It wraps around the @code{process} library, and intends to improve
13314 upon it.")
13315 (license license:expat)))
13316
13317 (define-public ghc-unagi-chan
13318 (package
13319 (name "ghc-unagi-chan")
13320 (version "0.4.1.2")
13321 (source
13322 (origin
13323 (method url-fetch)
13324 (uri (string-append "https://hackage.haskell.org/package/unagi-chan"
13325 "/unagi-chan-" version ".tar.gz"))
13326 (sha256
13327 (base32
13328 "1lnl5n4jnjmm4chp461glcwkrrw63rjz3fvprwxcy3lkpbkrqvgn"))))
13329 (build-system haskell-build-system)
13330 (inputs
13331 `(("ghc-atomic-primops" ,ghc-atomic-primops)
13332 ("ghc-primitive" ,ghc-primitive)))
13333 (arguments
13334 `(#:tests? #f ; FIXME: Tests expect primitive 0.7
13335 #:cabal-revision
13336 ("1"
13337 "09pqi867wskwgc5lpn197f895mbn1174ydgllvcppcsmrz2b6yr6")))
13338 (home-page "https://hackage.haskell.org/package/unagi-chan")
13339 (synopsis "Fast concurrent queues with a Chan-like API, and more")
13340 (description
13341 "This library provides implementations of concurrent FIFO queues (for
13342 both general boxed and primitive unboxed values) that are fast, perform well
13343 under contention, and offer a Chan-like interface. The library may be of
13344 limited usefulness outside of x86 architectures where the fetch-and-add
13345 instruction is not available.")
13346 (license license:bsd-3)))
13347
13348 (define-public ghc-unbounded-delays
13349 (package
13350 (name "ghc-unbounded-delays")
13351 (version "0.1.1.0")
13352 (source
13353 (origin
13354 (method url-fetch)
13355 (uri (string-append
13356 "https://hackage.haskell.org/package/unbounded-delays/unbounded-delays-"
13357 version
13358 ".tar.gz"))
13359 (sha256
13360 (base32
13361 "1ir9fghbrc214c97bwafk5ck6cacxz1pdnq4i18p604d1b8zg9wa"))))
13362 (build-system haskell-build-system)
13363 (home-page "https://github.com/basvandijk/unbounded-delays")
13364 (synopsis "Unbounded thread delays and timeouts")
13365 (description "The @code{threadDelay} and @code{timeout} functions from the
13366 Haskell base library use the bounded @code{Int} type for specifying the delay
13367 or timeout period. This package provides alternative functions which use the
13368 unbounded @code{Integer} type.")
13369 (license license:bsd-3)))
13370
13371 (define-public ghc-unexceptionalio
13372 (package
13373 (name "ghc-unexceptionalio")
13374 (version "0.4.0")
13375 (source
13376 (origin
13377 (method url-fetch)
13378 (uri (string-append "https://hackage.haskell.org/package/"
13379 "unexceptionalio-" version "/" "unexceptionalio-"
13380 version ".tar.gz"))
13381 (sha256 (base32 "09gynk472l7nn5l2w320n4dwigwp0wh0shfp6dyw6r5h2jdxz18p"))))
13382 (build-system haskell-build-system)
13383 (home-page "https://github.com/singpolyma/unexceptionalio")
13384 (synopsis "IO without any non-error, synchronous exceptions")
13385 (description "When you've caught all the exceptions that can be
13386 handled safely, this is what you're left with.")
13387 (license license:isc)))
13388
13389 (define-public ghc-unicode-transforms
13390 (package
13391 (name "ghc-unicode-transforms")
13392 (version "0.3.6")
13393 (source
13394 (origin
13395 (method url-fetch)
13396 (uri (string-append "https://hackage.haskell.org/package/"
13397 "unicode-transforms/unicode-transforms-"
13398 version ".tar.gz"))
13399 (sha256
13400 (base32
13401 "1akscvyssif4hki3g6hy0jmjyr8cqly1whzvzj0km2b3qh0x09l3"))))
13402 (build-system haskell-build-system)
13403 (inputs
13404 `(("ghc-bitarray" ,ghc-bitarray)))
13405 (native-inputs
13406 `(("ghc-quickcheck" ,ghc-quickcheck)
13407 ("ghc-getopt-generics" ,ghc-getopt-generics)
13408 ("ghc-split" ,ghc-split)))
13409 (home-page "https://github.com/composewell/unicode-transforms")
13410 (synopsis "Unicode normalization")
13411 (description "This library provides tools for fast Unicode 12.1.0
13412 normalization in Haskell (normalization forms C, KC, D, and KD).")
13413 (license license:bsd-3)))
13414
13415 (define-public ghc-union-find
13416 (package
13417 (name "ghc-union-find")
13418 (version "0.2")
13419 (source (origin
13420 (method url-fetch)
13421 (uri (string-append
13422 "https://hackage.haskell.org/package/union-find/union-find-"
13423 version ".tar.gz"))
13424 (sha256
13425 (base32
13426 "1v7hj42j9w6jlzi56jg8rh4p58gfs1c5dx30wd1qqvn0p0mnihp6"))))
13427 (build-system haskell-build-system)
13428 (home-page "https://github.com/nominolo/union-find")
13429 (synopsis "Efficient union and equivalence testing of sets")
13430 (description
13431 "The Union/Find algorithm implements these operations in (effectively)
13432 constant-time:
13433 @enumerate
13434 @item Check whether two elements are in the same equivalence class.
13435 @item Create a union of two equivalence classes.
13436 @item Look up the descriptor of the equivalence class.
13437 @end enumerate\n")
13438 (license license:bsd-3)))
13439
13440 (define-public ghc-uniplate
13441 (package
13442 (name "ghc-uniplate")
13443 (version "1.6.12")
13444 (source
13445 (origin
13446 (method url-fetch)
13447 (uri (string-append
13448 "https://hackage.haskell.org/package/uniplate/uniplate-"
13449 version
13450 ".tar.gz"))
13451 (sha256
13452 (base32
13453 "1dx8f9aw27fz8kw0ad1nm6355w5rdl7bjvb427v2bsgnng30pipw"))))
13454 (build-system haskell-build-system)
13455 (inputs
13456 `(("ghc-syb" ,ghc-syb)
13457 ("ghc-hashable" ,ghc-hashable)
13458 ("ghc-unordered-containers" ,ghc-unordered-containers)))
13459 (home-page "http://community.haskell.org/~ndm/uniplate/")
13460 (synopsis "Simple, concise and fast generic operations")
13461 (description "Uniplate is a library for writing simple and concise generic
13462 operations. Uniplate has similar goals to the original Scrap Your Boilerplate
13463 work, but is substantially simpler and faster.")
13464 (license license:bsd-3)))
13465
13466 (define-public ghc-unix-compat
13467 (package
13468 (name "ghc-unix-compat")
13469 (version "0.5.2")
13470 (source
13471 (origin
13472 (method url-fetch)
13473 (uri (string-append
13474 "https://hackage.haskell.org/package/unix-compat/unix-compat-"
13475 version
13476 ".tar.gz"))
13477 (sha256
13478 (base32
13479 "1a8brv9fax76b1fymslzyghwa6ma8yijiyyhn12msl3i5x24x6k5"))))
13480 (build-system haskell-build-system)
13481 (home-page
13482 "https://github.com/jystic/unix-compat")
13483 (synopsis "Portable POSIX-compatibility layer")
13484 (description
13485 "This package provides portable implementations of parts of the unix
13486 package. This package re-exports the unix package when available. When it
13487 isn't available, portable implementations are used.")
13488 (license license:bsd-3)))
13489
13490 (define-public ghc-unix-time
13491 (package
13492 (name "ghc-unix-time")
13493 (version "0.4.7")
13494 (source
13495 (origin
13496 (method url-fetch)
13497 (uri (string-append
13498 "https://hackage.haskell.org/package/unix-time/unix-time-"
13499 version
13500 ".tar.gz"))
13501 (sha256
13502 (base32
13503 "02fyh298lm8jsg52i3z0ikazwz477ljqjmhnqr2d88grmn5ky8qr"))))
13504 (build-system haskell-build-system)
13505 (arguments
13506 `(#:tests? #f)) ; FIXME: Test fails with "System.Time not found". This
13507 ; is weird, that should be provided by GHC 7.10.2.
13508 (inputs
13509 `(("ghc-old-time" ,ghc-old-time)
13510 ("ghc-old-locale" ,ghc-old-locale)))
13511 (home-page "https://hackage.haskell.org/package/unix-time")
13512 (synopsis "Unix time parser/formatter and utilities")
13513 (description "This library provides fast parsing and formatting utilities
13514 for Unix time in Haskell.")
13515 (license license:bsd-3)))
13516
13517 (define-public ghc-unliftio
13518 (package
13519 (name "ghc-unliftio")
13520 (version "0.2.12")
13521 (source
13522 (origin
13523 (method url-fetch)
13524 (uri (string-append
13525 "https://hackage.haskell.org/package/unliftio/unliftio-"
13526 version
13527 ".tar.gz"))
13528 (sha256
13529 (base32
13530 "02gy1zrxgzg4xmzm8lafsf1nyr3as1q20r8ld73xg3q7rkag9acg"))))
13531 (build-system haskell-build-system)
13532 (arguments `(#:tests? #f)) ; FIXME: hspec-discover not in PATH
13533 (inputs
13534 `(("ghc-async" ,ghc-async)
13535 ("ghc-unliftio-core" ,ghc-unliftio-core)))
13536 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
13537 (home-page "https://github.com/fpco/unliftio")
13538 (synopsis "Provides MonadUnliftIO typecplass for unlifting monads to
13539 IO (batteries included)")
13540 (description "This Haskell package provides the core @code{MonadUnliftIO}
13541 typeclass, a number of common instances, and a collection of common functions
13542 working with it.")
13543 (license license:expat)))
13544
13545 (define-public ghc-unliftio-core
13546 (package
13547 (name "ghc-unliftio-core")
13548 (version "0.1.2.0")
13549 (source
13550 (origin
13551 (method url-fetch)
13552 (uri (string-append "https://hackage.haskell.org/package/"
13553 "unliftio-core-" version "/"
13554 "unliftio-core-" version ".tar.gz"))
13555 (sha256
13556 (base32
13557 "0y3siyx3drkw7igs380a87h8qfbbgcyxxlcnshp698hcc4yqphr4"))))
13558 (build-system haskell-build-system)
13559 (arguments
13560 `(#:cabal-revision
13561 ("2" "0jqrjjbgicx48wzcjxs1xmih48ay79rhmrz6081dldlfxynli6vz")))
13562 (home-page
13563 "https://github.com/fpco/unliftio/tree/master/unliftio-core#readme")
13564 (synopsis "The MonadUnliftIO typeclass for unlifting monads to IO")
13565 (description "This Haskell package provides the core @code{MonadUnliftIO}
13566 typeclass, instances for base and transformers, and basic utility
13567 functions.")
13568 (license license:expat)))
13569
13570 (define-public ghc-unordered-containers
13571 (package
13572 (name "ghc-unordered-containers")
13573 (version "0.2.10.0")
13574 (outputs '("out" "doc"))
13575 (source
13576 (origin
13577 (method url-fetch)
13578 (uri (string-append
13579 "https://hackage.haskell.org/package/unordered-containers"
13580 "/unordered-containers-" version ".tar.gz"))
13581 (sha256
13582 (base32
13583 "0wy5hfrs880hh8hvp648bl07ws777n3kkmczzdszr7papnyigwb5"))))
13584 (build-system haskell-build-system)
13585 (inputs
13586 `(("ghc-chasingbottoms" ,ghc-chasingbottoms)
13587 ("ghc-hunit" ,ghc-hunit)
13588 ("ghc-quickcheck" ,ghc-quickcheck)
13589 ("ghc-test-framework" ,ghc-test-framework)
13590 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
13591 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
13592 ("ghc-hashable" ,ghc-hashable)))
13593 (home-page
13594 "https://github.com/tibbe/unordered-containers")
13595 (synopsis
13596 "Efficient hashing-based container types")
13597 (description
13598 "Efficient hashing-based container types. The containers have been
13599 optimized for performance critical use, both in terms of large data quantities
13600 and high speed.")
13601 (license license:bsd-3)))
13602
13603 (define-public ghc-unordered-containers-bootstrap
13604 (package
13605 (inherit ghc-unordered-containers)
13606 (name "ghc-unordered-containers-bootstrap")
13607 (arguments `(#:tests? #f))
13608 (inputs
13609 `(("ghc-hashable" ,ghc-hashable-bootstrap)))
13610 (properties '((hidden? #t)))))
13611
13612 (define-public ghc-unsafe
13613 (package
13614 (name "ghc-unsafe")
13615 (version "0.0")
13616 (source
13617 (origin
13618 (method url-fetch)
13619 (uri
13620 (string-append
13621 "https://hackage.haskell.org/package/unsafe/unsafe-"
13622 version ".tar.gz"))
13623 (sha256
13624 (base32
13625 "0hc6xr1i3hkz25gdgfx1jqgpsc9mwa05bkfynp0mcfdlyz6782nz"))))
13626 (build-system haskell-build-system)
13627 (home-page "https://hackage.haskell.org/package/unsafe")
13628 (synopsis "Unified interface to unsafe functions")
13629 (description "Safe Haskell introduced the notion of safe and unsafe
13630 modules. In order to make as many as possible modules ``safe'', the
13631 well-known unsafe functions were moved to distinguished modules. This
13632 makes it hard to write packages that work with both old and new versions
13633 of GHC. This package provides a single module System.Unsafe that
13634 exports the unsafe functions from the base package. It provides them in
13635 a style ready for qualification, that is, you should import them by
13636 @code{import qualified System.Unsafe as Unsafe}.")
13637 (license license:bsd-3)))
13638
13639 (define-public ghc-uri-bytestring
13640 (package
13641 (name "ghc-uri-bytestring")
13642 (version "0.3.2.2")
13643 (source
13644 (origin
13645 (method url-fetch)
13646 (uri (string-append "https://hackage.haskell.org/package/"
13647 "uri-bytestring-" version "/"
13648 "uri-bytestring-" version ".tar.gz"))
13649 (sha256
13650 (base32
13651 "0spzv3mwlpxiamd7347sxwcy2xri16ak1y7p1v4fisnvq4jprm67"))))
13652 (build-system haskell-build-system)
13653 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
13654 ("ghc-blaze-builder" ,ghc-blaze-builder)
13655 ("ghc-th-lift-instances" ,ghc-th-lift-instances)))
13656 (native-inputs `(("ghc-hunit" ,ghc-hunit)
13657 ("ghc-tasty" ,ghc-tasty)
13658 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
13659 ("ghc-hedgehog" ,ghc-hedgehog)
13660 ("ghc-tasty-hedgehog" ,ghc-tasty-hedgehog)
13661 ("ghc-base-compat" ,ghc-base-compat)
13662 ("ghc-semigroups" ,ghc-semigroups)
13663 ("ghc-safe" ,ghc-safe)))
13664 (home-page "https://github.com/Soostone/uri-bytestring")
13665 (synopsis "Haskell URI parsing as ByteStrings")
13666 (description "This Haskell package aims to be an RFC3986 compliant URI
13667 parser that uses ByteStrings for parsing and representing the URI data.")
13668 (license license:bsd-3)))
13669
13670 (define-public ghc-utf8-light
13671 (package
13672 (name "ghc-utf8-light")
13673 (version "0.4.2")
13674 (source
13675 (origin
13676 (method url-fetch)
13677 (uri (string-append
13678 "mirror://hackage/package/utf8-light/utf8-light-"
13679 version
13680 ".tar.gz"))
13681 (sha256
13682 (base32
13683 "0rwyc5z331yfnm4hpx0sph6i1zvkd1z10vvglhnp0vc9wy644k0q"))))
13684 (build-system haskell-build-system)
13685 (home-page
13686 "http://hackage.haskell.org/package/utf8-light")
13687 (synopsis "Lightweight unicode support for Haskell")
13688 (description
13689 "This package profides a class for encoding and decoding UTF8 strings
13690 with instances for several common types. It also includes several functions
13691 for working with UTF8. It aims to be lightweight, depending only on Base and
13692 including only one module.")
13693 (license license:bsd-3)))
13694
13695 (define-public ghc-utf8-string
13696 (package
13697 (name "ghc-utf8-string")
13698 (version "1.0.1.1")
13699 (source
13700 (origin
13701 (method url-fetch)
13702 (uri (string-append
13703 "https://hackage.haskell.org/package/utf8-string/utf8-string-"
13704 version
13705 ".tar.gz"))
13706 (sha256
13707 (base32 "0h7imvxkahiy8pzr8cpsimifdfvv18lizrb33k6mnq70rcx9w2zv"))))
13708 (build-system haskell-build-system)
13709 (arguments
13710 `(#:cabal-revision
13711 ("3" "02vhj5gykkqa2dyn7s6gn8is1b5fdn9xcqqvlls268g7cpv6rk38")))
13712 (home-page "https://github.com/glguy/utf8-string/")
13713 (synopsis "Support for reading and writing UTF8 Strings")
13714 (description
13715 "A UTF8 layer for Strings. The utf8-string package provides operations
13716 for encoding UTF8 strings to Word8 lists and back, and for reading and writing
13717 UTF8 without truncation.")
13718 (license license:bsd-3)))
13719
13720 (define-public ghc-utility-ht
13721 (package
13722 (name "ghc-utility-ht")
13723 (version "0.0.14")
13724 (home-page "https://hackage.haskell.org/package/utility-ht")
13725 (source
13726 (origin
13727 (method url-fetch)
13728 (uri (string-append home-page "/utility-ht-" version ".tar.gz"))
13729 (sha256
13730 (base32 "1a7bgk7wv7sqbxbiv7kankiimr3wij7zdm7s83zwsf886ghyxhk9"))))
13731 (build-system haskell-build-system)
13732 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
13733 (synopsis "Haskell helper functions for Lists, Maybes, Tuples, Functions")
13734 (description "This package includes Hakell modules providing various
13735 helper functions for Lists, Maybes, Tuples, Functions.")
13736 (license license:bsd-3)))
13737
13738 (define-public ghc-uuid
13739 (package
13740 (name "ghc-uuid")
13741 (version "1.3.13")
13742 (source
13743 (origin
13744 (method url-fetch)
13745 (uri (string-append "https://hackage.haskell.org/package/"
13746 "uuid-" version "/"
13747 "uuid-" version ".tar.gz"))
13748 (sha256
13749 (base32
13750 "09xhk42yhxvqmka0iqrv3338asncz8cap3j0ic0ps896f2581b6z"))))
13751 (build-system haskell-build-system)
13752 (arguments
13753 `(#:cabal-revision
13754 ("2" "0m185q62jkfb5jsv358nxbnrkv8y8hd0qqvgvh22wvc5g9ipz0r9")
13755 #:phases
13756 (modify-phases %standard-phases
13757 (add-before 'configure 'strip-test-framework-constraints
13758 (lambda _
13759 (substitute* "uuid.cabal"
13760 (("HUnit >= 1\\.2 && < 1\\.4") "HUnit")
13761 (("QuickCheck >= 2\\.4 && < 2\\.10") "QuickCheck")
13762 (("tasty >= 0\\.10 && < 0\\.12") "tasty")
13763 (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
13764 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
13765 (inputs `(("ghc-cryptohash-sha1" ,ghc-cryptohash-sha1)
13766 ("ghc-cryptohash-md5" ,ghc-cryptohash-md5)
13767 ("ghc-entropy" ,ghc-entropy)
13768 ("ghc-network-info" ,ghc-network-info)
13769 ("ghc-random" ,ghc-random)
13770 ("ghc-uuid-types" ,ghc-uuid-types)))
13771 (native-inputs `(("ghc-hunit" ,ghc-hunit)
13772 ("ghc-quickcheck" ,ghc-quickcheck)
13773 ("ghc-tasty" ,ghc-tasty)
13774 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
13775 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
13776 (home-page "https://github.com/hvr/uuid")
13777 (synopsis "Haskell library to create, compare, parse, and print UUIDs")
13778 (description "This Haskell library provides utilities creating, comparing,
13779 parsing and printing @dfn{Universally Unique Identifiers} or UUIDs.")
13780 (license license:bsd-3)))
13781
13782 (define-public ghc-uuid-types
13783 (package
13784 (name "ghc-uuid-types")
13785 (version "1.0.3")
13786 (source
13787 (origin
13788 (method url-fetch)
13789 (uri (string-append "https://hackage.haskell.org/package/"
13790 "uuid-types-" version "/"
13791 "uuid-types-" version ".tar.gz"))
13792 (sha256
13793 (base32
13794 "1zdka5jnm1h6k36w3nr647yf3b5lqb336g3fkprhd6san9x52xlj"))))
13795 (build-system haskell-build-system)
13796 (arguments
13797 `(#:phases
13798 (modify-phases %standard-phases
13799 (add-before 'configure 'strip-test-framework-constraints
13800 (lambda _
13801 (substitute* "uuid-types.cabal"
13802 (("HUnit >=1\\.2 && < 1\\.4") "HUnit")
13803 (("QuickCheck >=2\\.4 && < 2\\.9") "QuickCheck")
13804 (("tasty >= 0\\.10 && < 0\\.12") "tasty")
13805 (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
13806 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
13807 (inputs `(("ghc-hashable" ,ghc-hashable)
13808 ("ghc-random" ,ghc-random)))
13809 (native-inputs `(("ghc-hunit" ,ghc-hunit)
13810 ("ghc-quickcheck" ,ghc-quickcheck)
13811 ("ghc-tasty" ,ghc-tasty)
13812 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
13813 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
13814 (home-page "https://github.com/hvr/uuid")
13815 (synopsis "Haskell type definitions for UUIDs")
13816 (description "This Haskell library contains type definitions for
13817 @dfn{Universally Unique Identifiers} or
13818 @uref{https://en.wikipedia.org/wiki/UUID, UUIDs}, and basic conversion
13819 functions.")
13820 (license license:bsd-3)))
13821
13822 (define-public ghc-validation
13823 (package
13824 (name "ghc-validation")
13825 (version "1.1")
13826 (source
13827 (origin
13828 (method url-fetch)
13829 (uri (string-append
13830 "mirror://hackage/package/validation/validation-"
13831 version
13832 ".tar.gz"))
13833 (sha256
13834 (base32
13835 "1acj7mh3581ks405xswxw6667z7y1y0slisg6jvp6chc191ji9l5"))))
13836 (build-system haskell-build-system)
13837 (arguments
13838 `(#:cabal-revision
13839 ("1" "1rrjg9z399k6pb55nv85mlr5bkmdqbjwkvl1cy7ydccdx6ks4syp")))
13840 (inputs
13841 `(("ghc-semigroups" ,ghc-semigroups)
13842 ("ghc-semigroupoids" ,ghc-semigroupoids)
13843 ("ghc-bifunctors" ,ghc-bifunctors)
13844 ("ghc-lens" ,ghc-lens)))
13845 (native-inputs
13846 `(("ghc-hedgehog" ,ghc-hedgehog)
13847 ("ghc-hunit" ,ghc-hunit)))
13848 (home-page "https://github.com/qfpl/validation")
13849 (synopsis
13850 "Data-type like Either but with an accumulating Applicative")
13851 (description
13852 "A data-type like Either but with differing properties and type-class
13853 instances.
13854
13855 Library support is provided for this different representation, including
13856 @code{lens}-related functions for converting between each and abstracting over
13857 their similarities.
13858
13859 The @code{Validation} data type is isomorphic to @code{Either}, but has an
13860 instance of @code{Applicative} that accumulates on the error side. That is to
13861 say, if two (or more) errors are encountered, they are appended using a
13862 @{Semigroup} operation.
13863
13864 As a consequence of this @code{Applicative} instance, there is no
13865 corresponding @code{Bind} or @code{Monad} instance. @code{Validation} is an
13866 example of, \"An applicative functor that is not a monad.\"")
13867 (license license:bsd-3)))
13868
13869 (define-public ghc-validity
13870 (package
13871 (name "ghc-validity")
13872 (version "0.9.0.2")
13873 (source
13874 (origin
13875 (method url-fetch)
13876 (uri (string-append
13877 "https://hackage.haskell.org/package/validity/validity-"
13878 version
13879 ".tar.gz"))
13880 (sha256
13881 (base32
13882 "1aa93lp1pqwv7vhx19nazlig8qhbp3psblbz360s5lii3s5rli2v"))))
13883 (build-system haskell-build-system)
13884 (native-inputs `(("ghc-hspec" ,ghc-hspec)
13885 ("hspec-discover" ,hspec-discover)))
13886 (home-page
13887 "https://github.com/NorfairKing/validity")
13888 (synopsis "Validity typeclass")
13889 (description
13890 "Values of custom types usually have invariants imposed upon them. This
13891 package provides the @code{Validity} type class, which makes these invariants
13892 explicit by providing a function to check whether the invariants hold.")
13893 (license license:expat)))
13894
13895 (define-public ghc-vault
13896 (package
13897 (name "ghc-vault")
13898 (version "0.3.1.3")
13899 (source
13900 (origin
13901 (method url-fetch)
13902 (uri (string-append
13903 "https://hackage.haskell.org/package/vault/vault-"
13904 version
13905 ".tar.gz"))
13906 (sha256
13907 (base32
13908 "0vdm472vn734xa27jjm2mjacl37mxiqaaahvm4hzqjgyh4cqq377"))))
13909 (build-system haskell-build-system)
13910 (inputs
13911 `(("ghc-unordered-containers" ,ghc-unordered-containers)
13912 ("ghc-hashable" ,ghc-hashable)
13913 ("ghc-semigroups" ,ghc-semigroups)))
13914 (home-page
13915 "https://github.com/HeinrichApfelmus/vault")
13916 (synopsis "Persistent store for arbitrary values")
13917 (description "This package provides vaults for Haskell. A vault is a
13918 persistent store for values of arbitrary types. It's like having first-class
13919 access to the storage space behind @code{IORefs}. The data structure is
13920 analogous to a bank vault, where you can access different bank boxes with
13921 different keys; hence the name. Also provided is a @code{locker} type,
13922 representing a store for a single element.")
13923 (license license:bsd-3)))
13924
13925 (define-public ghc-vector
13926 (package
13927 (name "ghc-vector")
13928 (version "0.12.0.3")
13929 (outputs '("out" "doc"))
13930 (source
13931 (origin
13932 (method url-fetch)
13933 (uri (string-append
13934 "https://hackage.haskell.org/package/vector/vector-"
13935 version
13936 ".tar.gz"))
13937 (sha256
13938 (base32
13939 "1a756s4w759ji3als5alfxwlckh5zcmykfg9rll4mlr2knzvz8mq"))))
13940 (build-system haskell-build-system)
13941 ;; FIXME: To simplify upgrading all Haskell packages, we leave the tests
13942 ;; disabled for now.
13943 (arguments
13944 `(#:tests? #f))
13945 (inputs
13946 `(("ghc-primitive" ,ghc-primitive)
13947 ("ghc-random" ,ghc-random)
13948 ("ghc-quickcheck" ,ghc-quickcheck)
13949 ;; ("ghc-hunit" ,ghc-hunit)
13950 ;; ("ghc-test-framework" ,ghc-test-framework)
13951 ;; ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
13952 ;; ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
13953 ))
13954 (home-page "https://github.com/haskell/vector")
13955 (synopsis "Efficient Arrays")
13956 (description "This library provides an efficient implementation of
13957 Int-indexed arrays (both mutable and immutable), with a powerful loop
13958 optimisation framework.")
13959 (license license:bsd-3)))
13960
13961 (define-public ghc-vector-algorithms
13962 (package
13963 (name "ghc-vector-algorithms")
13964 (version "0.8.0.1")
13965 (source
13966 (origin
13967 (method url-fetch)
13968 (uri (string-append "https://hackage.haskell.org/package/"
13969 "vector-algorithms-" version "/"
13970 "vector-algorithms-" version ".tar.gz"))
13971 (sha256
13972 (base32
13973 "1zip8r7hh5g12xrjvhbg38z6hfxy7l6h6pl88qcqc0ygdmwdxg0m"))))
13974 (build-system haskell-build-system)
13975 (inputs
13976 `(("ghc-vector" ,ghc-vector)))
13977 (native-inputs
13978 `(("ghc-quickcheck" ,ghc-quickcheck)))
13979 (home-page "https://github.com/bos/math-functions")
13980 (synopsis "Algorithms for vector arrays in Haskell")
13981 (description "This Haskell library algorithms for vector arrays.")
13982 (license license:bsd-3)))
13983
13984 (define-public ghc-vector-binary-instances
13985 (package
13986 (name "ghc-vector-binary-instances")
13987 (version "0.2.5.1")
13988 (source
13989 (origin
13990 (method url-fetch)
13991 (uri (string-append
13992 "https://hackage.haskell.org/package/"
13993 "vector-binary-instances/vector-binary-instances-"
13994 version ".tar.gz"))
13995 (sha256
13996 (base32
13997 "04n5cqm1v95pw1bp68l9drjkxqiy2vswxdq0fy1rqcgxisgvji9r"))))
13998 (build-system haskell-build-system)
13999 (inputs
14000 `(("ghc-vector" ,ghc-vector)))
14001 (native-inputs
14002 `(("ghc-tasty" ,ghc-tasty)
14003 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
14004 (home-page "https://github.com/bos/vector-binary-instances")
14005 (synopsis "Instances of Data.Binary and Data.Serialize for vector")
14006 (description "This library provides instances of @code{Binary} for the
14007 types defined in the @code{vector} package, making it easy to serialize
14008 vectors to and from disk. We use the generic interface to vectors, so all
14009 vector types are supported. Specific instances are provided for unboxed,
14010 boxed and storable vectors.")
14011 (license license:bsd-3)))
14012
14013 (define-public ghc-vector-builder
14014 (package
14015 (name "ghc-vector-builder")
14016 (version "0.3.8")
14017 (source
14018 (origin
14019 (method url-fetch)
14020 (uri (string-append "https://hackage.haskell.org/package/"
14021 "vector-builder-" version "/"
14022 "vector-builder-" version ".tar.gz"))
14023 (sha256
14024 (base32
14025 "0ww0l52p8s6gmh985adnjbvm1vrqpqbm08qdcrvxwhhcqmxgv6m3"))))
14026 (build-system haskell-build-system)
14027 (inputs `(("ghc-vector" ,ghc-vector)
14028 ("ghc-semigroups" ,ghc-semigroups)
14029 ("ghc-base-prelude" ,ghc-base-prelude)))
14030 (native-inputs `(("ghc-attoparsec" ,ghc-attoparsec)
14031 ("ghc-tasty" ,ghc-tasty)
14032 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
14033 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
14034 ("ghc-hunit" ,ghc-hunit)
14035 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
14036 ("ghc-rerebase" ,ghc-rerebase)))
14037 (home-page "https://github.com/nikita-volkov/vector-builder")
14038 (synopsis "Vector builder for Haskell")
14039 (description "This Haskell package provides an API for constructing vectors.
14040 It provides the composable @code{Builder} abstraction, which has instances of the
14041 @code{Monoid} and @code{Semigroup} classes.
14042
14043 You would first use the @code{Builder} abstraction to specify the structure of
14044 the vector; then you can execute the builder to actually produce the
14045 vector. ")
14046 (license license:expat)))
14047
14048 (define-public ghc-vector-th-unbox
14049 (package
14050 (name "ghc-vector-th-unbox")
14051 (version "0.2.1.7")
14052 (source
14053 (origin
14054 (method url-fetch)
14055 (uri (string-append "https://hackage.haskell.org/package/"
14056 "vector-th-unbox-" version "/"
14057 "vector-th-unbox-" version ".tar.gz"))
14058 (sha256
14059 (base32
14060 "0q8dqnbv1c2gi7jjdhqj14abj1vik23ki6lq4iz2sz18yc7q69fi"))))
14061 (build-system haskell-build-system)
14062 (inputs
14063 `(("ghc-vector" ,ghc-vector)
14064 ("ghc-data-default" ,ghc-data-default)))
14065 (home-page "https://github.com/liyang/vector-th-unbox")
14066 (synopsis "Deriver for Data.Vector.Unboxed using Template Haskell")
14067 (description "This Haskell library provides a Template Haskell
14068 deriver for unboxed vectors, given a pair of coercion functions to
14069 and from some existing type with an Unbox instance.")
14070 (license license:bsd-3)))
14071
14072 (define-public ghc-void
14073 (package
14074 (name "ghc-void")
14075 (version "0.7.3")
14076 (source
14077 (origin
14078 (method url-fetch)
14079 (uri (string-append
14080 "https://hackage.haskell.org/package/void/void-"
14081 version
14082 ".tar.gz"))
14083 (sha256
14084 (base32
14085 "05vk3x1r9a2pqnzfji475m5gdih2im1h7rbi2sc67p1pvj6pbbsk"))))
14086 (build-system haskell-build-system)
14087 (inputs
14088 `(("ghc-semigroups" ,ghc-semigroups)
14089 ("ghc-hashable" ,ghc-hashable)))
14090 (home-page "https://github.com/ekmett/void")
14091 (synopsis
14092 "Logically uninhabited data type")
14093 (description
14094 "A Haskell 98 logically uninhabited data type, used to indicate that a
14095 given term should not exist.")
14096 (license license:bsd-3)))
14097
14098 (define-public ghc-wave
14099 (package
14100 (name "ghc-wave")
14101 (version "0.2.0")
14102 (source (origin
14103 (method url-fetch)
14104 (uri (string-append
14105 "https://hackage.haskell.org/package/wave/wave-"
14106 version
14107 ".tar.gz"))
14108 (sha256
14109 (base32
14110 "149kgwngq3qxc7gxpkqb16j669j0wpv2f3gnvfwp58yg6m4259ki"))))
14111 (build-system haskell-build-system)
14112 (arguments
14113 '(#:phases
14114 (modify-phases %standard-phases
14115 (add-before 'configure 'update-constraints
14116 (lambda _
14117 (substitute* "wave.cabal"
14118 (("temporary.* < 1\\.3")
14119 "temporary >= 1.1 && < 1.4")))))))
14120 (inputs
14121 `(("ghc-cereal" ,ghc-cereal)
14122 ("ghc-data-default-class"
14123 ,ghc-data-default-class)
14124 ("ghc-quickcheck" ,ghc-quickcheck)
14125 ("ghc-temporary" ,ghc-temporary)))
14126 (native-inputs
14127 `(("hspec-discover" ,hspec-discover)
14128 ("ghc-hspec" ,ghc-hspec)))
14129 (home-page "https://github.com/mrkkrp/wave")
14130 (synopsis "Work with WAVE and RF64 files in Haskell")
14131 (description "This package allows you to work with WAVE and RF64
14132 files in Haskell.")
14133 (license license:bsd-3)))
14134
14135 (define-public ghc-wcwidth
14136 (package
14137 (name "ghc-wcwidth")
14138 (version "0.0.2")
14139 (source
14140 (origin
14141 (method url-fetch)
14142 (uri (string-append "https://hackage.haskell.org/package/wcwidth/wcwidth-"
14143 version ".tar.gz"))
14144 (sha256
14145 (base32
14146 "1n1fq7v64b59ajf5g50iqj9sa34wm7s2j3viay0kxpmvlcv8gipz"))))
14147 (build-system haskell-build-system)
14148 (inputs
14149 `(("ghc-setlocale" ,ghc-setlocale)
14150 ("ghc-utf8-string" ,ghc-utf8-string)
14151 ("ghc-attoparsec" ,ghc-attoparsec)))
14152 (home-page "https://github.com/solidsnack/wcwidth/")
14153 (synopsis "Haskell bindings to wcwidth")
14154 (description "This package provides Haskell bindings to your system's
14155 native wcwidth and a command line tool to examine the widths assigned by it.
14156 The command line tool can compile a width table to Haskell code that assigns
14157 widths to the Char type.")
14158 (license license:bsd-3)))
14159
14160 (define-public ghc-wcwidth-bootstrap
14161 (package
14162 (inherit ghc-wcwidth)
14163 (name "ghc-wcwidth-bootstrap")
14164 (inputs
14165 `(("ghc-setlocale" ,ghc-setlocale)
14166 ("ghc-utf8-string" ,ghc-utf8-string)
14167 ("ghc-attoparsec" ,ghc-attoparsec-bootstrap)))
14168 (properties '((hidden? #t)))))
14169
14170 (define-public ghc-weigh
14171 (package
14172 (name "ghc-weigh")
14173 (version "0.0.14")
14174 (source
14175 (origin
14176 (method url-fetch)
14177 (uri (string-append "https://hackage.haskell.org/package/weigh/"
14178 "weigh-" version ".tar.gz"))
14179 (sha256
14180 (base32
14181 "0l85marb5rl9nr1c0id42dnr5i9fk1jciy5h6lywhb34w3hbj61g"))))
14182 (build-system haskell-build-system)
14183 (inputs
14184 `(("ghc-split" ,ghc-split)
14185 ("ghc-temporary" ,ghc-temporary)))
14186 (home-page "https://github.com/fpco/weigh#readme")
14187 (synopsis "Measure allocations of a Haskell functions/values")
14188 (description "This package provides tools to measure the memory usage of a
14189 Haskell value or function.")
14190 (license license:bsd-3)))
14191
14192 (define-public ghc-wl-pprint
14193 (package
14194 (name "ghc-wl-pprint")
14195 (version "1.2.1")
14196 (source (origin
14197 (method url-fetch)
14198 (uri (string-append
14199 "https://hackage.haskell.org/package/wl-pprint/wl-pprint-"
14200 version ".tar.gz"))
14201 (sha256
14202 (base32
14203 "0kn7y8pdrv8f87zhd5mifcl8fy3b2zvnzmzwhdqhxxlyzwiq6z0c"))))
14204 (build-system haskell-build-system)
14205 (home-page "https://hackage.haskell.org/package/wl-pprint")
14206 (synopsis "Wadler/Leijen pretty printer")
14207 (description
14208 "This is a pretty printing library based on Wadler's paper @i{A Prettier
14209 Printer}. This version allows the library user to declare overlapping
14210 instances of the @code{Pretty} class.")
14211 (license license:bsd-3)))
14212
14213 (define-public ghc-wl-pprint-annotated
14214 (package
14215 (name "ghc-wl-pprint-annotated")
14216 (version "0.1.0.1")
14217 (source
14218 (origin
14219 (method url-fetch)
14220 (uri (string-append
14221 "mirror://hackage/package/wl-pprint-annotated/wl-pprint-annotated-"
14222 version
14223 ".tar.gz"))
14224 (sha256
14225 (base32
14226 "1br7qyf27iza213inwhf9bm2k6in0zbmfw6w4clqlc9f9cj2nrkb"))))
14227 (build-system haskell-build-system)
14228 (native-inputs
14229 `(("ghc-tasty" ,ghc-tasty)
14230 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
14231 (home-page
14232 "https://github.com/minad/wl-pprint-annotated#readme")
14233 (synopsis
14234 "Wadler/Leijen pretty printer with annotation support")
14235 (description
14236 "Annotations are useful for coloring. This is a limited version of
14237 @code{wl-pprint-extras} without support for point effects and without the free
14238 monad. Like in @code{annotated-wl-pprint}, only annotations are supported.
14239 Compared to @code{annotated-wl-pprint} this library provides a slightly
14240 modernized interface.")
14241 (license license:bsd-3)))
14242
14243 (define-public ghc-wl-pprint-text
14244 (package
14245 (name "ghc-wl-pprint-text")
14246 (version "1.2.0.0")
14247 (source
14248 (origin
14249 (method url-fetch)
14250 (uri (string-append
14251 "https://hackage.haskell.org/package/wl-pprint-text/wl-pprint-text-"
14252 version ".tar.gz"))
14253 (sha256
14254 (base32
14255 "0g3w92rad6x5appfb22rbzcas2ix2h0hy91sdxhq8a4a5cnlrpa0"))))
14256 (build-system haskell-build-system)
14257 (inputs
14258 `(("ghc-base-compat" ,ghc-base-compat)))
14259 (home-page "https://hackage.haskell.org/package/wl-pprint-text")
14260 (synopsis "Wadler/Leijen Pretty Printer for Text values")
14261 (description
14262 "A clone of wl-pprint for use with the text library.")
14263 (license license:bsd-3)))
14264
14265 (define-public ghc-word8
14266 (package
14267 (name "ghc-word8")
14268 (version "0.1.3")
14269 (source
14270 (origin
14271 (method url-fetch)
14272 (uri (string-append
14273 "https://hackage.haskell.org/package/word8/word8-"
14274 version
14275 ".tar.gz"))
14276 (sha256
14277 (base32
14278 "12jx7f13d2h1djq4fh4dyrab61sm49mj1w61j3rzp2vjfm696c16"))))
14279 (build-system haskell-build-system)
14280 (native-inputs
14281 `(("ghc-hspec" ,ghc-hspec)
14282 ("hspec-discover" ,hspec-discover)))
14283 (home-page "https://hackage.haskell.org/package/word8")
14284 (synopsis "Word8 library for Haskell")
14285 (description "Word8 library to be used with @code{Data.ByteString}.")
14286 (license license:bsd-3)))
14287
14288 (define-public ghc-x11
14289 (package
14290 (name "ghc-x11")
14291 (version "1.9.1")
14292 (source
14293 (origin
14294 (method url-fetch)
14295 (uri (string-append "https://hackage.haskell.org/package/X11/"
14296 "X11-" version ".tar.gz"))
14297 (sha256
14298 (base32 "0gg6852mrlgl8zng1j84fismz7k81jr5fk92glgkscf8q6ryg0bm"))))
14299 (build-system haskell-build-system)
14300 (inputs
14301 `(("libx11" ,libx11)
14302 ("libxrandr" ,libxrandr)
14303 ("libxinerama" ,libxinerama)
14304 ("libxscrnsaver" ,libxscrnsaver)
14305 ("ghc-data-default" ,ghc-data-default)))
14306 (home-page "https://github.com/haskell-pkg-janitors/X11")
14307 (synopsis "Bindings to the X11 graphics library")
14308 (description
14309 "This package provides Haskell bindings to the X11 graphics library. The
14310 bindings are a direct translation of the C bindings.")
14311 (license license:bsd-3)))
14312
14313 (define-public ghc-x11-xft
14314 (package
14315 (name "ghc-x11-xft")
14316 (version "0.3.1")
14317 (source
14318 (origin
14319 (method url-fetch)
14320 (uri (string-append "https://hackage.haskell.org/package/X11-xft/"
14321 "X11-xft-" version ".tar.gz"))
14322 (sha256
14323 (base32 "1lgqb0s2qfwwgbvwxhjbi23rbwamzdi0l0slfr20c3jpcbp3zfjf"))))
14324 (inputs
14325 `(("ghc-x11" ,ghc-x11)
14326 ("ghc-utf8-string" ,ghc-utf8-string)
14327 ("libx11" ,libx11)
14328 ("libxft" ,libxft)
14329 ("xorgproto" ,xorgproto)))
14330 (native-inputs
14331 `(("pkg-config" ,pkg-config)))
14332 (build-system haskell-build-system)
14333 (home-page "https://hackage.haskell.org/package/X11-xft")
14334 (synopsis "Bindings to Xft")
14335 (description
14336 "Bindings to the Xft, X Free Type interface library, and some Xrender
14337 parts.")
14338 (license license:lgpl2.1)))
14339
14340 (define-public ghc-xdg-basedir
14341 (package
14342 (name "ghc-xdg-basedir")
14343 (version "0.2.2")
14344 (source
14345 (origin
14346 (method url-fetch)
14347 (uri (string-append
14348 "https://hackage.haskell.org/package/xdg-basedir/"
14349 "xdg-basedir-" version ".tar.gz"))
14350 (sha256
14351 (base32
14352 "0azlzaxp2dn4l1nr7shsxah2magk1szf6fx0mv75az00qsjw6qg4"))))
14353 (build-system haskell-build-system)
14354 (home-page "https://github.com/willdonnelly/xdg-basedir")
14355 (synopsis "XDG Base Directory library for Haskell")
14356 (description "This package provides a library implementing the XDG Base Directory spec.")
14357 (license license:bsd-3)))
14358
14359 (define-public ghc-xml
14360 (package
14361 (name "ghc-xml")
14362 (version "1.3.14")
14363 (source
14364 (origin
14365 (method url-fetch)
14366 (uri (string-append
14367 "https://hackage.haskell.org/package/xml/xml-"
14368 version
14369 ".tar.gz"))
14370 (sha256
14371 (base32
14372 "0g814lj7vaxvib2g3r734221k80k7ap9czv9hinifn8syals3l9j"))))
14373 (build-system haskell-build-system)
14374 (home-page "https://github.com/GaloisInc/xml")
14375 (synopsis "Simple XML library for Haskell")
14376 (description "This package provides a simple XML library for Haskell.")
14377 (license license:bsd-3)))
14378
14379 (define-public ghc-xml-conduit
14380 (package
14381 (name "ghc-xml-conduit")
14382 (version "1.8.0.1")
14383 (source
14384 (origin
14385 (method url-fetch)
14386 (uri (string-append "https://hackage.haskell.org/package/xml-conduit/"
14387 "xml-conduit-" version ".tar.gz"))
14388 (sha256
14389 (base32
14390 "177gmyigxql1pn3ncz0r8annwv5cbxnihbgrrg1dhm4gmc9jy2wq"))))
14391 (build-system haskell-build-system)
14392 (inputs
14393 `(("ghc-conduit" ,ghc-conduit)
14394 ("ghc-conduit-extra" ,ghc-conduit-extra)
14395 ("ghc-doctest" ,ghc-doctest)
14396 ("ghc-resourcet" ,ghc-resourcet)
14397 ("ghc-xml-types" ,ghc-xml-types)
14398 ("ghc-attoparsec" ,ghc-attoparsec)
14399 ("ghc-data-default-class" ,ghc-data-default-class)
14400 ("ghc-blaze-markup" ,ghc-blaze-markup)
14401 ("ghc-blaze-html" ,ghc-blaze-html)
14402 ("ghc-monad-control" ,ghc-monad-control)
14403 ("ghc-hspec" ,ghc-hspec)
14404 ("ghc-hunit" ,ghc-hunit)))
14405 (home-page "https://github.com/snoyberg/xml")
14406 (synopsis "Utilities for dealing with XML with the conduit package")
14407 (description
14408 "This package provides pure-Haskell utilities for dealing with XML with
14409 the @code{conduit} package.")
14410 (license license:expat)))
14411
14412 (define-public ghc-xml-types
14413 (package
14414 (name "ghc-xml-types")
14415 (version "0.3.6")
14416 (source
14417 (origin
14418 (method url-fetch)
14419 (uri (string-append "https://hackage.haskell.org/package/xml-types/"
14420 "xml-types-" version ".tar.gz"))
14421 (sha256
14422 (base32
14423 "1jgqxsa9p2q3h6nymbfmvhldqrqlwrhrzmwadlyc0li50x0d8dwr"))))
14424 (build-system haskell-build-system)
14425 (home-page "https://john-millikin.com/software/haskell-xml/")
14426 (synopsis "Basic types for representing XML")
14427 (description "This package provides basic types for representing XML
14428 documents.")
14429 (license license:expat)))
14430
14431 (define-public ghc-yaml
14432 (package
14433 (name "ghc-yaml")
14434 (version "0.11.1.2")
14435 (source (origin
14436 (method url-fetch)
14437 (uri (string-append "https://hackage.haskell.org/package/"
14438 "yaml/yaml-" version ".tar.gz"))
14439 (sha256
14440 (base32
14441 "028pz77n92l6kjgjv263h4b6yhw1iibdbf3a3dkn5qnz537xpzhc"))))
14442 (build-system haskell-build-system)
14443 (inputs
14444 `(("ghc-conduit" ,ghc-conduit)
14445 ("ghc-resourcet" ,ghc-resourcet)
14446 ("ghc-aeson" ,ghc-aeson)
14447 ("ghc-unordered-containers" ,ghc-unordered-containers)
14448 ("ghc-vector" ,ghc-vector)
14449 ("ghc-attoparsec" ,ghc-attoparsec)
14450 ("ghc-scientific" ,ghc-scientific)
14451 ("ghc-semigroups" ,ghc-semigroups)
14452 ("ghc-temporary" ,ghc-temporary)
14453 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
14454 ("ghc-base-compat" ,ghc-base-compat)
14455 ("ghc-libyaml" ,ghc-libyaml)))
14456 (native-inputs
14457 `(("ghc-hspec" ,ghc-hspec)
14458 ("ghc-hunit" ,ghc-hunit)
14459 ("hspec-discover" ,hspec-discover)
14460 ("ghc-mockery" ,ghc-mockery)
14461 ("ghc-raw-strings-qq" ,ghc-raw-strings-qq)))
14462 (home-page "https://github.com/snoyberg/yaml/")
14463 (synopsis "Parsing and rendering YAML documents")
14464 (description
14465 "This package provides a library to parse and render YAML documents.")
14466 (license license:bsd-3)))
14467
14468 (define-public ghc-zip-archive
14469 (package
14470 (name "ghc-zip-archive")
14471 (version "0.4.1")
14472 (source
14473 (origin
14474 (method url-fetch)
14475 (uri (string-append
14476 "https://hackage.haskell.org/package/zip-archive/zip-archive-"
14477 version
14478 ".tar.gz"))
14479 (sha256
14480 (base32
14481 "1cdix5mnxrbs7b2kivhdydhfzgxidd9dqlw71mdw5p21cabwkmf5"))))
14482 (build-system haskell-build-system)
14483 (arguments
14484 `(#:phases
14485 (modify-phases %standard-phases
14486 (add-before 'check 'set-PATH-for-tests
14487 (lambda* (#:key inputs #:allow-other-keys)
14488 (let ((unzip (assoc-ref inputs "unzip"))
14489 (which (assoc-ref inputs "which"))
14490 (path (getenv "PATH")))
14491 (setenv "PATH" (string-append unzip "/bin:" which "/bin:" path))
14492 #t))))))
14493 (inputs
14494 `(("ghc-digest" ,ghc-digest)
14495 ("ghc-temporary" ,ghc-temporary)
14496 ("ghc-zlib" ,ghc-zlib)))
14497 (native-inputs
14498 `(("ghc-hunit" ,ghc-hunit)
14499 ("unzip" ,unzip)
14500 ("which" ,which)))
14501 (home-page "https://hackage.haskell.org/package/zip-archive")
14502 (synopsis "Zip archive library for Haskell")
14503 (description "The zip-archive library provides functions for creating,
14504 modifying, and extracting files from zip archives in Haskell.")
14505 (license license:bsd-3)))
14506
14507 (define-public ghc-zlib
14508 (package
14509 (name "ghc-zlib")
14510 (version "0.6.2.1")
14511 (outputs '("out" "doc"))
14512 (source
14513 (origin
14514 (method url-fetch)
14515 (uri (string-append
14516 "https://hackage.haskell.org/package/zlib/zlib-"
14517 version
14518 ".tar.gz"))
14519 (sha256
14520 (base32
14521 "1l11jraslcrp9d4wnhwfyhwk4fsiq1aq8i6vj81vcq1m2zzi1y7h"))))
14522 (build-system haskell-build-system)
14523 (arguments
14524 `(#:phases
14525 (modify-phases %standard-phases
14526 (add-before 'configure 'strip-test-framework-constraints
14527 (lambda _
14528 (substitute* "zlib.cabal"
14529 (("tasty >= 0\\.8 && < 0\\.12") "tasty")
14530 (("tasty-hunit >= 0\\.8 && < 0\\.10") "tasty-hunit")
14531 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
14532 (inputs `(("zlib" ,zlib)))
14533 (native-inputs
14534 `(("ghc-quickcheck" ,ghc-quickcheck)
14535 ("ghc-tasty" ,ghc-tasty)
14536 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
14537 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
14538 (home-page "https://hackage.haskell.org/package/zlib")
14539 (synopsis
14540 "Compression and decompression in the gzip and zlib formats")
14541 (description
14542 "This package provides a pure interface for compressing and decompressing
14543 streams of data represented as lazy @code{ByteString}s. It uses the zlib C
14544 library so it has high performance. It supports the @code{zlib}, @code{gzip}
14545 and @code{raw} compression formats. It provides a convenient high level API
14546 suitable for most tasks and for the few cases where more control is needed it
14547 provides access to the full zlib feature set.")
14548 (license license:bsd-3)))
14549
14550 (define-public ghc-zlib-bindings
14551 (package
14552 (name "ghc-zlib-bindings")
14553 (version "0.1.1.5")
14554 (source
14555 (origin
14556 (method url-fetch)
14557 (uri (string-append "https://hackage.haskell.org/package/"
14558 "zlib-bindings/zlib-bindings-" version ".tar.gz"))
14559 (sha256
14560 (base32
14561 "02ciywlz4wdlymgc3jsnicz9kzvymjw1www2163gxidnz4wb8fy8"))))
14562 (build-system haskell-build-system)
14563 (inputs
14564 `(("ghc-zlib" ,ghc-zlib)))
14565 (native-inputs
14566 `(("ghc-hspec" ,ghc-hspec)
14567 ("ghc-quickcheck" ,ghc-quickcheck)))
14568 (arguments
14569 `(#:cabal-revision
14570 ("2" "0fq49694gqkab8m0vq4i879blswczwd66n7xh4r4gwiahf0ryvqc")))
14571 (home-page "https://github.com/snapframework/zlib-bindings")
14572 (synopsis "Low-level bindings to the @code{zlib} package")
14573 (description "This package provides low-level bindings to the
14574 @code{zlib} package.")
14575 (license license:bsd-3)))
14576
14577 (define-public ghc-zstd
14578 (package
14579 (name "ghc-zstd")
14580 (version "0.1.1.2")
14581 (source
14582 (origin
14583 (method url-fetch)
14584 (uri (string-append "https://hackage.haskell.org/package/"
14585 "zstd/zstd-" version ".tar.gz"))
14586 (sha256
14587 (base32
14588 "147s496zvw13akxqzg65mgfvk3bvhrcilxgf8n786prxg5cm4jz2"))))
14589 (build-system haskell-build-system)
14590 (native-inputs
14591 `(("ghc-quickcheck" ,ghc-quickcheck)
14592 ("ghc-test-framework" ,ghc-test-framework)
14593 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
14594 (home-page "https://github.com/luispedro/hs-zstd")
14595 (synopsis "Haskell bindings to the Zstandard compression algorithm")
14596 (description "This library provides Haskell bindings to the
14597 Zstandard compression algorithm, a fast lossless compression algorithm
14598 targeting real-time compression scenarios at zlib-level and better
14599 compression ratios.")
14600 (license license:bsd-3)))